일반적인 시스템 설명에 하이퍼 텍스트적인 기능이 추가된 메뉴얼

사용법 : info [옵션] 항목 
--directory 경로이름 : 경로이름을 추가하여 info 문서를 찾을 수 있는 디렉토리 경로가 추가 된다. 기본값은 /usr/info 혹은 /usr/local/info 디렉토리이다. 
-f file, --file file : 지정한 file으로 info 파일을 보여준다. 
-n node, --node node : 지정한 node로 노드의 파일을 보여준다. 
-o file, --output file : 화면으로 결과를 보여주지 않고, 지정한 file으로 결과를 복사한다. 
--help : 도움말을 보여준다. 
--version : 버전정보를 보여준다. 

info 는 운영 시스템 및 연관된 프로그램에 대한 문서를 제공한다. 여기 info 파일은 대부분 /usr/local/info 혹은 /usr/info 디랙토리에 포함되어 있다. 또 하나 대표적인 것으로 man 명령어로 메뉴얼 페이지를 참조하는 명령어가 있다.
info가 실행되면 다음과 같은 명령을 사용할 수 있다.

h - info에 대한 이용법을 호출한다.
? - info에 대한 명령어 요약을 보여준다.
Ctrl-g - 작업 진행 중지, 명령 취소.
Ctrl-l - 화면을 새롭게 생긴한다.

다른 노드로 이동하기
n - 다음 노드로 (next)
p - 이전 노드로 (previous)
u - 위 노드로 (up)
m - 특정 노드를 지정하여 지정한 노드로 이동한다. 이 때 정확한 노드 이름을 입력할 필요는 없다.
f - 상호 참조 사용. 이 글쇠를 누르면 상호 참조할 이름을 물어본다.
이때 m 글쇠 사용법과 같이 사용하면 된다.
l - 마지막 노드로 이동한다.

노드 안에서의 이동하기
Space - 한 화면 아래로(다음으로, 앞으로) 이동.
DEL - 한 화면 위로(이전으로, 뒤로) 이동.
b - 노드의 처음으로

고급 명령
q - info를 종료한다.
1 - 노드 안에 있는 차림표의 첫 번째 항목으로 이동한다. 숫자를 지정하게 되면 지정한 항목으로 이동하게 된다.
g - 지정한 특정 노드로 이동한다.
s - 문자열을 찾기 위해 하단에 문자열 입력 창을 띄운다. 현재 노드에서 지정한 문자열을 찾아 발견되면, 그곳으로 커서를 이동한다.

아직은 man에 비해 잘 사용되지 않는 명령이지만, 그 편리함으로 점검 사용 저변을 넓혀가고 있다.
2005/06/20 20:26 2005/06/20 20:26
부팅시 실행 레벨에 따라 여러 프로세스를 호출하여 시작한다.

사용법 : /sbin/init [-t sec] [0123456SsQq] 
0,1,2,3,4,5,6 : 각각의 런 레벨로 다시 시작한다. 각 레벨은 /etc/inittab에서 확인할 수 있다. 
Q or q : /sbin/init가 /etc/inittab 파일을 다시 읽는다. 
S or s : /sbin/init에게 단일 사용자 모드로 전환한다. 
-t sec : 지정한 sec 초만큼 init가 TERM 시그날을 보내고 나서 몇 초를 기다린 후, KILL signal를 보낸다. 초기값은 5초다. 

커널이 메모리에 적재되면 뒤이어 init 명령이 실행된다.
init는 자신을 fork하여 여러 프로세스를 시작하고, 프로세스를 시작하는 스크립트를 호출한다. 우선적으로 /etc/inittab을 읽어 시스템의 실행 레벨을 결정하고 로긴을 위한 getty 프로그램을 실행시키며, 여러 가지 데몬을 뛰운다.
실행 레벨은 아래와 같이 리눅스 계열마다 다를 수 있지만, 레드햇 기준으로 아래와 같다. initdefault로 실행레벨을 5로 지정하였는데, 5는 X11로 실행하면 된다. 만일 콘솔 모드로 부팅하고 싶다면 id:5:initdefault를 id:3:initdefault로 변경하면 된다.
#Run gettys in standard runlevels 주석 아래의 mingetty는 로그인을 관리하는 getty류 명령어이다. 런 레벨 5로 부팅 후, ctrl+alt+F1부터 F6키를 입력하게 되면 각각의 콘솔 로그인 화면을 볼 수 있는 것은 이런 의미이다. 만일 콘솔화면을 중이고 싶다면, 원하는 숫자만 남겨두고, 나머지는 모두 삭제하거나 앞줄에 주석(#)처리한다.
inittab 파일을 수정 후에는 init-q 명령으로 수정된 내용을 적용할 수 있다.
inittab 파일의 맨 마지막 줄의 x:5:respawn:/etc/X11/prefdm -nodaemon은 실행 레벨 5에서의 X윈도우 로그인 프로그램을 실행하는 것이다.

# cat /etc/inittab 
# Default runlevel. The runlevels used by RHS are: 
#   0 - halt (Do NOT set initdefault to this) 
#   1 - Single user mode 
#   2 - Multiuser, without NFS (The same as 3, if you do not have networking) 
#   3 - Full multiuser mode 
#   4 - unused 
#   5 - X11 
#   6 - reboot (Do NOT set initdefault to this) 
# 
id:3:initdefault: 

# System initialization. 
si::sysinit:/etc/rc.d/rc.sysinit 

l0:0:wait:/etc/rc.d/rc 0 
l1:1:wait:/etc/rc.d/rc 1 
l2:2:wait:/etc/rc.d/rc 2 
l3:3:wait:/etc/rc.d/rc 3 
l4:4:wait:/etc/rc.d/rc 4 
l5:5:wait:/etc/rc.d/rc 5 
l6:6:wait:/etc/rc.d/rc 6 

# Trap CTRL-ALT-DELETE 
ca::ctrlaltdel:/sbin/shutdown -t3 -r now 

# When our UPS tells us power has failed, assume we have a few minutes 
# of power left.  Schedule a shutdown for 2 minutes from now. 
# This does, of course, assume you have powerd installed and your 
# UPS connected and working correctly.  
pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down" 

# If power was restored before the shutdown kicked in, cancel it. 
pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled" 


# Run gettys in standard runlevels 
1:2345:respawn:/sbin/mingetty tty1 
2:2345:respawn:/sbin/mingetty tty2 
3:2345:respawn:/sbin/mingetty tty3 
4:2345:respawn:/sbin/mingetty tty4 
5:2345:respawn:/sbin/mingetty tty5 
6:2345:respawn:/sbin/mingetty tty6 

# Run xdm in runlevel 5 
x:5:respawn:/etc/X11/prefdm -nodaemon 

#SV:123456:respawn:/command/svscanboot 
 
2005/06/20 20:25 2005/06/20 20:25
사용할 수 있는 커널 모듈을 적재(load)하여 동작하게 하는 명령어

사용법 : insmod [옵션] 모듈파일 [symbol=value] 
-f : 커널버전이 다르더라도 강제로 모듈을 로드한다. 
-h : 사용법을 보여준다. 
-k : 모듈을 자동으로 삭제가 가능하도록 한다. 
-L : 동일한 모듈을 동시에 로드되지 못하게 한다. 
-m : 로드맵을 생성한다. 
-n : 모듈을 로드하지 않고, 보여주기만 한다. 
-p : 모듈이 커널과 매치가 되는지 확인한다. 
-s : 터미널 대신 syslog에 에러를 출력한다. 
-v : 에러를 상세히 보여준다. 
-V : 버전을 보여준다. 
-o NAME : 모듈을 지정한 NAME으로 설정한다. 
-p prefix : 커널이나 모듈을 prefix한다. 

insmod 명령은 커널의 모듈을 적재할 때 사용하는 명령어이다. insmod와 함께, 좀더 지능적인 modprobe 명령이 있다. 모듈을 적재할 수 있는 모듈 리스트는 레드햇 기준으로 모듈 디렉토리는 /lib/modules/커널버전/kernel/에 있다.
각 커널버전에 따라 /lib/modules 디렉토리 다음의 디렉토리는 커널 버전을 따른다. 각 하위 디렉토리에서 .o로 끝나는 모듈 파일을 살펴 볼 수 있을 것이다.

# cd /lib/modules/2.4.13-1hl/kernel/ 
# ls 
arch      drivers     fs    net 

lsmod 명령어로 현재 메모리에 적재된 모듈들을 살펴 볼 수 있다. ip_tables 모듈, 이더넷 카드 모듈, ext3모듈 등이 있다.

# lsmod 
Module                  Size  Used by    Not tainted 
loop                   12472   0 
iptable_filter          2444   0  (autoclean) (unused) 
ip_tables              15776   1  [iptable_filter] 
e100                   56100   1 
ext3                   71300   2 
jbd                    52084   2  [ext3] 
cpqarray               24324   3 
sd_mod                 13708   0  (unused) 
scsi_mod              108104   1  [sd_mod] 

위의 모듈 중, ip_tables모듈을 rmmod명령으로 메모리에서 제거해 보자. 제거된 ip_tables 모듈은 modprove 명령이나 insmod 명령으로 다시 적재할 수 있다.

# rmmod ip_tables 

# insmod ip_tables 
Using /lib/modules/2.4.13-1hl/kernel/net/ipv4/netfilter/ip_tables.o 

이렇게 insmod과 rmmod 그리고, lsmod 명령으로 자유롭게 모듈들을 관리할 수 있다.

[관련 명령어]
depmod 로드할 커널 모듈의 의존성을 다루는 명령어
modprobe 커널 모듈을 로드하는 명령어
2005/06/20 20:24 2005/06/20 20:24