make mrproper
커널 파일을 처음 가져 왔을 때 기존에 설정되어 있던 의존성을 수세미처럼 깨끗이 제거한다.


make menuconfig
메뉴 형식으로 커널의 환경 설정을 한다.
파일 시스템을 어떤 것으로 할 것인가?
언어 설정은 어떻게 할 것인가?
네트워크 디바이스는 어떤 것을 사용하는가?
등을 설정할 수 있다.


make dep
위에서 설정한 대로 다시 의존성 설정 작업을 한다.


make clean
컴파일 하기 위해 이전 컴파일 작업 파일(.o)등을 깨끗이 삭제한다.


make bzImage
커널 컴파일(arch/i386/boot/bzImage라는 파일로 생성된다. 이를 /boot에 복사하면 된다.)


make modules
커널에서 사용할 모듈을 컴파일
※ 커널 2.6에서는 bzImage와 modules가 make로 통합되었다.(개별 수행 가능)


make modules_install
컴파일된 모듈을 설치한다.(/lib/modules/ 이하에 저장된다.)

티스토리가 파이어 폭스에서도 잘돌아가고 꽤 괜찮다길래 한본 보고서 마음에 팍 하고 feel 이 꽃혀서
이쪽으로 왔는데 막상 파이어폭스로 글을 적으려고 하니 일부 기능이 돌아가지 않거나 이지웍 글쓰기
모드는 제목만 써지고 안돌아 가는게 아니겠는가!

검색을 해보니 원격 블로깅으로 하는 방법이 있었지만 이건 내 취향이 아닐뿐더러 프로그램에
비밀번호같은걸 적어두느니 방법을 찾아내겠다고 눈 땡그랗게 뜨고 여기 저기 찾아본결과
못찾아서 ies4linux 라는 wine 을 이용한 익스플로러와 vmware 에서 쓰는걸 이용하다가
ies4linux의 반짝임 안구공격과 vmware 의 귀차니즘 정신공격으로 인해 다시 한번 검색을하였고

드디어 방법을 찾아내게 되었다. 무척이나 간단한 방법으로 아래에 적어두도록 하겠다.
이 방법을 알려주신 작은상자님께 감사의 말씀을!

부디 다른 리눅스 유저들도 나와같은 상황이 었다면 그 문제로 부터 해방되길 바란다.

----------------

파이어 폭스의 주소창에서

about:config

를 치면 정말열래? 하는 창이 뜰건데 과감히 응! 이라고 눌러준다. 그럼 파이어 폭스의 설정창이 뜨는데
한 중간 쯤 쭉 내려가면

general.useragent.extra.firefox

라는 값이 있을것이다.  아마 설치한 리눅스 버전에 따라 우측에 각기 파이어 폭스의 이름이 적혀있을
것이다. 본인의 경우 아치리눅스를 사용하는데 파라다이스 뭐시기 였다. 데비안이면 아마 아이스 위즐
일것이고...  아무튼 이부분을 버전부분은 수정할 필요 없고

Firefox/3.0.x

이런식으로 버전만 놔두고 앞에 이름을 수정한다음 창을 닫아주면된다.

그 이후부터는 아무런 문제없이 사용이 가능할 것이다. 이 문제는 아마 브라우저의 제목창의 이름값으로
사용하는 브라우저의 종류를 구분하고 거기에 맞추어 모드를 구현하면서 발생하는 문제인것 같다.

윈도우의 경우 파이어 폭스라는 이름으로 고정되어 있으니 문제가 없었으나 리눅스의 경우 이름에 관련된
저작권 문제로 각자 이름이 다르게 되면서 이와 같은 문제가 발생한 것같다. 개발자들에게 이것도
고쳐달라고 하고 싶긴 한데 그럼 너무 미안해질거 같은 느낌이.. ㅎㅎ

출처 : http://ranoking.tistory.com/4

sudo apt-get install manpages-dev glibc-doc
맨페이지 설치

http://linux.die.net/man/
영문 manpage 사이트
SRCS    = $(wildcard *.c)
CC        = gcc

.SUFFIXES : .o
% : %.o
    $(CC) -o $@ $^

all : $(SRCS:.c=)
clean :
    rm -rf $(SRCS:.c=)

현재 폴더에 있는 *.c파일들을 확장자 앞의 각 파일이름으로 된 실행파일로 컴파일해서 만들어준다.



find

    : 지정된 경로로 주어진 조건에 따라 파일을 찾고, 그 경로를 보여줌

      root에서 접근 권한을 제한한 파일이나 디렉토리에 관해서는 " 허가 거부됨" 이라는

      메세지가 뜨고 찾지를 못함 (경로를 지정하지 않으면 현재 디렉토리부터임)

   1. 사용법

       find [경로] options expression!

    2. 옵션들

        -name : 이름을 기준으로 ...

        -perm : 퍼미션을 기준으로...

        -gruop: 해당그룹 소유의  파일이나 디렉토리를 찾을때

        -user : 해당 소유자의 파일이나 디렉토리를 찾을때

        -atime n  : n일 이전에 엑세스한 파일을 찾을때

        -ctime n : n일 이전에 변경된 파일을 찾을때

        -mtime n : n일 이전에 수정된 파일을 찾을때

        -exec : 찾아진 파일등과 연계하여 명령을 내리게 하는 옵션

                    사용하기위해 마지막에  " \; "를 입력해야함.

         -type : 찾고자 하는 파일이나, 디렉토리의 유형을 지정해 줄때

                1)  -type d : 디렉토리를 찾는다

                2)  -type f : 일반파일을 찾는다

                3)  -type l :  링크된 것을 찾는다.

                4)  -type b : 블록 파일을 찾는다.

                5)  -type c : 문자 파일( usb, serial port)을 찾는다.

                6)  -type p : 파이프인 특수 파일을 찾는다      

                7)  -type s : 소켓파일을 찾는다. 

         -ok : -exec와 유사

         -print : 출력을 화면으로...(생략가능)

                   뒤에 2>/dev/null 를 쓰면 접근 권한이 없는 파일이나 디렉토리에 접근시 나오는

                    리스트는 화면에 출력하지 않는다.

          -ls : 상세히 출력

         -size n : n블록 길이의 파일을 찾는다. +n은 n블록보다 큰파일, -n은 n블록도다 작은파일

                       nc는 n문자 길이의 파일..

         -inum n : inode번호가 n인 파일을 찾을때


 데비안 5.04를 사용중... 처음에 플래시 플레이어로 swfdec 이라는 프로그램이 설치되어 있었다. 이 프로그램은 아이스위즐(모질라)에서 제대로 플래시들을 표현해 주지 못했다. 그래서 기존의 swfdec 프로그램을 삭제하고 새로이 adobe 홈페이지에서 flash player를 다운받아서 설치하였다.

1. 일단 기존의 swfdec 프로그램을 삭제한다.

# apt-get --purge remove swfdec-mozilla

2. adobe 홈페이지 http://www.adobe.com/kr 에 가서 abobe flash player를 다운받는다.

install_flash_player_10_linux.tar.gz 파일을 다운받았다.

3. 플러그인을 설치하기 위해 디렉터리를 생성한다.

$ mkdir -p ~/.mozilla/plugins/

4. 다운 받은 파일을 압축해제 해서 위에서 생성한 디렉터리로 복사한다.

$ tar xvzf install_flash_player_10_linux.tar.gz
(압축해제를 하면 다음과 같은 파일이 나온다... libflashplayer.so)
$ cp libflashplayer.so ~/.mozilla/plugins/

5. 이제 새로 아이스위즐(모질라)를 실행해 보면 adobe 사의 flash player 로 바뀌어 있을 것이다....

GDB 기본 명령어

 

l(list)

소스 보기

b

브레이크 포인트

info breakpoints

브레이크 포인트 정보(info b)

cl

브레이크 포인트 삭제

r(run)

프로그램 수행

s(step)

프로그램을 한 행씩 실행(함수 호출 시 내부로 들어감)

n(next)

프로그램을 한 행씩 실행(함수 호출 시 내부로 들어가지 않음)

c(continue)

브레이크 포인트를 만날 때까지 실행

u

현재 루프를 빠져 나감

finsh

현재 함수를 수행하고 빠져나감

return

현재 함수를 수행하지 않고 빠져나감

si

인스트럭션 단위로 s동작 실행

ni

인스트럭션 단위로 n동작 실행

watch

변수 값이 변할 때마다 알려줌

info locals

현재 상태에서 지역 변수들을 보여줌

info variable

현재 상태에서 전역 변수들을 보여줌

p(print)

해당 변수나 함수 값을 보여준다(밑에 표 참조)

p 변수=설정값

변수 값 설정

display

변수 값을 계속 보여줌(밑에 표 참조)

info frame

현재 함수의 스택 프레임을 보여줌

x

메모리 상태 검사(x/[범위][출력 형식] [범위의 단위])

disas

어셈블리 코드 보기

call

함수를 임의대로 호출 할 수 있다

signal

프로세스에게 시그널을 보낸다

set

메모리 특정 영역에 값을 설정(set {타입}[주소] = [])

 


P(
출력) 명령 사용법

 

p [변수명]

변수 값을 출력

p [함수명]

함수의 주소를 출력

p/[출력 형식] [변수명]

변수 값을 출력 형식으로 출력

p ‘[파일명]’::[변수명]

파일명에 있는 전역 변수의 값을 출력

p [함수명]::[변수명]

함수에 있는 변수 값을 출력

p [변수명]@[배열 크기]

변수의 내용을 변수 배열의 크기 형태로 출력

 

 

display 명령 사용법

 

display [변수명]

변수 값을 매번 화면에 디스플레이 한다

display/[출력 형식] [변수명]

변수 값을 출력 형식으로 디스플레이 한다

undisplay [디스플레이 번호]

디스플레이 설정을 없앤다

disable display [디스플레이 번호]

디스플레이를 일시 중단한다

enable display [디스플레이 번호]

디스플레이를 다시 활성화한다

 

 

출력 형식

 

t

2진수로 출력

o

8진수로 출력

d

부호가 있는 10진수로 출력(int)

u

부호가 없는 10진수로 출력(unsigned int)

x

16진수로 출력

c

최소 1바이트 값을 문자형으로 출력

f

부동 소수점 값 형식으로 출력

a

가장 가까운 심볼의 오프셋을 출력


 리눅스용 무료 웹하드인 shade webhard를 설치해 보겠다...
APM를 구성 해놓았다고 가정하고 설명하며, 일단 shade webhard 소스와 shade_webhard.sql를 다운받아야 한다. 아래 링크에서 다운 받자.


 전체적인 설치 과정은 간단하게 2부분으로 나눌 수 있다. 첫째 DB 셋팅, 둘째 shade_webhard에서의 설정정도다.

1. DB로 MySQL을 이용한다. 일단 web hard에서 사용할 DB를 생성한다.

   mysql -u root -p
   Enter password:                 (root계정으로 로그인한다.)

   >CREATE DATABASE webhard;             (데이터베이스를 생성한다)
   >show databases;                                (데이터베이스가 생성 되었는지 확인한다)

2. 데이터베이스가 생성 되었으면, 두번째 shade_webhard.sql를 적용 시키자.
 먼저 vi를 이용하여 shade_webhard.sql 파일을 열어서 관리자 계정 아이디와 패스워드를 수정하자.

INSERT INTO webhard_backoffice_user VALUES ('', 'admin', '', password('shade'), '관리자', '', '', '', '');
부분이 보일 것이다... 'admin' 부분이 관리자 아이디이며, 'shade'부분에 패스워드를 입력하면 된다.

   mysql -u root -p webhard < shade_webhard.sql        (shade_webhard.sql를 적용시킨다)

mysql에 root로 접속해서 적용이 제대로 되었는지 확인해보자.
   mysql -u root -p
   use webhard;
   show tables;

3. shade_webhard 소스를 압축해제한 뒤, 홈페이지 루트폴더에 복사한다.
 먼저 include 폴더안에 있는 dbconnect.php 파일을 연다. DB에 접속할 계정에 대한 셋팅을 한다.
shade_webhard/include/dbconnect.php
$db_host = "localhost"; // mysql host
$db_user = "root"; // mysql username
$db_pass = "패스워드"; // mysql password
$db_name = "webhard"; // mysql db name
* 여기서 굳이 root를 이용할 필요는 없다. 따로 사용자 계정을 만들어서 사용해도 된다

 include 폴더안에 있는 config.php 파일을 연다.
shade_webhard/include/config.php
$Conf[web_url]    = "http://(ip주소 또는 도메인)/shade_webhard"; //웹하드의 HTTP URL 전체
$Conf[web_path] = "/shade_webhard"; // 웹하드의 HTTP URL에서 도메인을 뺀 나머지
$Conf[dir_doc]    = "/var/www/html/shade_webhard"; // 서버상에서 웹하드가 위치한 절대경로
$Conf[dir_home] = "/public_webhard"; //사용자별 계정이 위치한 절대경로


4. 이제 웹하드가 잘 작동하는지 테스트 해보자

http://(URL주소)/shade_webhard/backoffice
-> 관리자 계정으로 로그인이 가능하다.
-> 환경설정 및 사용자 계정 관리가 가능하다.
http://(URL주소)/shade_webhard
-> 사용자 계정으로 로그인이 가능하다.
-> 웹하드 사용이 가능하다.

데비안에서 adduser나 useradd를 이용하여 사용자 계정을 생성할 때,

생성 되는 사용자 홈 디렉토리의 디폴트 퍼미션값을 설정 하려면 다음과 같이 하면 된다.

 

1. useradd로 사용자를 생성할 경우 : /etc/login.defs에서 UMASK 값으로 사용자의 홈 디렉토리의 퍼미션이 결정된다.

   ex) UMASK = 022     : 사용자 홈 디렉토리가 755퍼미션으로 생성 된다.

 

2. adduser로 사용자를 생성할 경우 : /etc/adduser.conf에서 DIR_MODE=퍼미션 으로 사용자의 홈 디렉토리의 퍼미션이 결정된다.
   ex) DIR_MODE=755     : 사용자 홈 디렉토리가 755퍼미션으로 생성 된다.


ntpdate는 시스템시간을 타임서버와 동기화 시켜주는 툴이다.

 

사용법 : ntpdate 시간서버

ex) ntpdate time.kriss.re.kr  => 한국표준시간으로 시스템시간이 셋팅된다

 

/etc/default/ntpdate 라는 파일에 NTPSERVERS="시간서버"로 셋팅해주면

매부팅때마다 ntpdate의 init 스크립트에 의해 자동으로 시간이 설정됩니다.^^

ex) NTPSERVERS="time.kriss.re.kr"


+ Recent posts