'Linux'에 해당되는 글 3건

  1. 2007.09.27 getty의 man페이지
  2. 2007.09.27 init의 man페이지
  3. 2007.09.27 inittab 의 man페이지
getty(1M)               System Administration Commands               getty(1M)



NAME

       getty - set terminal type, modes, speed, and line discipline

SYNOPSIS

       /usr/lib/saf/ttymon [-h] [-t timeout] line [ speed [ type [linedisc]]]

/usr/lib/saf/ttymon -c file

DESCRIPTION

       getty sets terminal type, modes, speed, and line discipline. getty is a
symbolic link to /usr/lib/saf/ttymon. It is included for compatibility
with previous releases for the few applications that still call getty
directly.

getty can only be executed by the super-user, (a process with the user
ID root). Initially getty prints the login prompt, waits for the user’s
login name, and then invokes the login command. getty attempts to adapt
the system to the terminal speed by using the options and arguments
specified on the command line.

Without optional arguments, getty specifies the following: The speed
of the interface is set to 300 baud, either parity is allowed, NEWLINE
characters are converted to carriage return-line feed, and tab expan‐
sion is performed on the standard output. getty types the login prompt
before reading the user’s name a character at a time. If a null charac‐
ter (or framing error) is received, it is assumed to be the result of
the user pressing the BREAK key. This will cause getty to attempt the
next speed in the series. The series that getty tries is determined by
what it finds in /etc/ttydefs .

OPTIONS

       The following options are supported:

-h If the -h flag is not set, a hangup will be forced by setting the
speed to zero before setting the speed to the default or a speci‐
fied speed.

-t timeout
Specifies that getty should exit if the open on the line succeeds
and no one types anything in timeout seconds.

-c file
The -c option is no longer supported. Instead use
/usr/sbin/sttydefs -l to list the contents of the /etc/ttydefs
file and perform a validity check on the file.

OPERANDS

       The following operands are supported:

line The name of a TTY line in /dev to which getty is to attach
itself. getty uses this string as the name of a file in the /dev
directory to open for reading and writing.

speed The speed argument is a label to a speed and TTY definition in
the file /etc/ttydefs. This definition tells getty at what speed
to run initially, what the initial TTY settings are, and what
speed to try next, (should the user press the BREAK key to indi‐
cate that the speed is inappropriate). The default speed is 300
baud.

type and linedisc
These options are obsolete and will be ignored.

FILES

       /etc/ttydefs


ATTRIBUTES

       See attributes(5) for descriptions of the following attributes:


+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWcsr |
+-----------------------------+-----------------------------+

SEE ALSO

       ct(1C), login(1), sttydefs(1M),  ttymon(1M),  ioctl(2),  attributes(5),
tty(7D)
Posted by 블루아레나
INIT(8)               Linux System Administrator's Manual              INIT(8)



NAME

       init, telinit - 초기프로세스 제어

SYNOPSIS

       /sbin/init [ -t sec ] [ 0123456SsQq ]
/sbin/telinit [ -t sec ] [ 0123456sSQqabc ]

DESCRIPTION

   Init
Init 프로세스는 모든 프로세스의 아버지다. 이것은 /etc/inittab
파일(inittab(5) 참조)을 찾아, 지정한 스크립트를 실행한다. 이 파일에는
사용자가 접속할 수 있도록 getty 처리를 하는데, 이때 init가 사용된다.
또한 이 파일은 특정 시스템에 필요한, 자동으로 실행되어야 하는
프로세스들을 제어한다.

runlevel이란 존재하는 프로세스의 선택된 그룹만을 허락하는 시스템의
소프트웨어 환경이다. 각각의 runlevelinit에 의해 생성되는
프로세스들은 /etc/inittab 파일에정의된다. Initrunlevel이 0부터 6,
S 또는 s인 여덟 종류 중 하나에 존재 할 수 있다. runlevel 값은 시스템
관리자가 /sbin/telinit를 실행해 바뀐다. telinit는 runlevel을
바꾸어라는 신호를 init에게 알린다.

커널 부팅이 끝나면, 마지막으로 init가 실행되는데, 이때 /etc/inittab
파일을 찾아 그 안에 정의된 initdefault (inittab(5) 참조) 부분을 읽는다.
그리고 그곳에 정의된 runlevel을 현재 level로 하여 나머지 작업을
계속한다. 이때, /etc/inittab 파일이 없거나, initdefault 정의가 없으면,
콘솔에직접 runlevel을 입력해야 한다.

runlevelSs이면, 단일 사용자 모드가 진행되면, 이때는 /etc/initttab
파일이 필요없다. 단일 사용자 모드에섦/dev/console에 의해 /bin/sh
호출된다.

단일 사용자 모드가 되면, init는 /etc/ioctl.save에 지정한 콘솔의
ioctl(2)을 읽는다. 이때, 이 파일이 없으면, init는 라인을 9600 baud,
CLOCAL로 초기한다. 단일 사용자 모드를 떠나면, init는 현재 콘솔의
ioctl 설정을 /etc/ioctl.save 파일에 저장하고, 다음 단일 사용자 모드에 다시 사용한다.

다중 사용자 모드로 들어가게 되면, init는 먼저 사용자가 로그인 할 수
있는 마운트된 파일 시스템의 사용을 위해 boot, bootwait 부분을 처리하고,
다음, 나머지 부분들을 처리한다. (inittab에정의되고 있음)

한 새로운 프로세스를 시작할 때는 먼저 /etc/initscript 파일이 있는지
확인을 하고, 있다면, 그 스크립트에 따라 프로세스를 시작한다.

각 하위 프로세스들이 끝날 때, init는 /var/run/utmp, /var/log/wtmp
파일있다면, 그 파일에 그 프로세스들의 마침 정보들(언제 끝났고, 왜
끝났고... 이런 정보)을 기록한다.

지정한 그 프로세스를 모두 실행 한 뒤, init는 그 프로세스를 마칠
의존적인 프로세스 중 하나나,powerfail 시그날이나, 시스템의 runleve
바꾸는 /sbin/telinit에 보내는 시그날을 기다린다. 이 셋 중 하나가
발생했을 때, init/etc/inittab 파일을 다시 읽는다. 이 파일에는
언제든지 새로운 항목이 추가 될 수 있다. 하지만 그 효과는 위에언급한
그 세가지 경우가 되어 init가 그 파일을 읽을 때 나타낫 이런 상황이
아닌데도 /etc/inittab 파일을 읽어야 할 경우에는 Qq 명령을 사용한다.

만약 단일 사용자 모드가 아닌데, powerfail 시그날이 발생하면, init
/etc/inittab 파일에특별하게 지정된
powerfail 부분을 실행한다.

runlevel이 바뀌었을 때, 그 새로운 runlevel에 대해특별히 대처하지 않게
지정된 모든 프로세스에게 init는 경고 시스날인 SIGTERM을 보낸다. 그리고
나 5초동안 기다리고는 종료 시그날인 SIGKILL 을 그 프로세스들에게
보낸다. 이때, init는 그 프로세스들을 위해 원래 만들어진. 같은
프로세스 그룹 안에 남아 있다고 가정한다는 것을 주의하라. 만약 어떤
프로세스가 자신의 프로세스 그룹을 바꾸었다면, 이 프로세스는 위에 언급한 시그날들을 받지 못한다. 이런 프로세스들은 사용자가 직접
종료해야한다.

telinit
/sbin/telinit/sbin/init에 링크되어 있는 명령이다. 이것은 한 문자의
명령행 인자와 적당한 작업을 수행할 signals init를 가진다. 여기사용할
수 있는 한 문자 명령행 인자는 다음과 같다. /sbin/telinit:

0,1,2,3,4,5,6
/sbin/init에게 runlevel이 바뀌었음을 알린다.

a,b,c /etc/inittab 파일에지정한 a,b,c runlevel 부분을 처리하라고
init에게 알린다.

Q or q /sbin/init/etc/inittab 파일을 다시 읽도록 지시한다.

S or s /sbin/init에게 단일 사용자 모드로 전환하라고 알린다.

또한 init가 TERM 시그날을 보내고 나몇 초를 기다린 후, KILL 시그날을
프로세스들에게 보낼지를 지정할 수 있다. 초기값은 5초다. 이 것은 -t sec
옵션으로 지정한다.

/sbin/telinit 명령은 단지 시스템 관지자에 의해섯호출 될 수 있다.

RUNLEVELS

       init와  관계되는  runlevel은 0, 1, 6이다. 0은 시스템 종료에, 6은 시스템
재시동(reboot)에, 1은 단일 사용자 모드에 사용된다. runlevel S는 바로
처리 되지 않고, runlevel 1로 바뀌었을 때 처리 되는 부분에처리된다.
자세한 이야기는 shutdown(1), inittab(5) 매뉴얼 페이지를 참조한다.

runlevel 7-9도 사용할 수 있지만, 이 문셀【는 다루지 않는다. 이것은
"전통적인" Unix 환경에섦사용되지 않는 값들이기 때문이다. 일반적으로
runlevel Ss 값이 runlevel 7-9와 같은 역활을 한다. 이것은 단지 하나의
별칭으로 사용된다. 이 풀그림 제작자가 sysvinit를 만들때 사용한
시스템에이 값들을 사용하기 때문에 남겨두었을 뿐이다.

FILES

       /etc/inittab
/etc/initscript
/dev/console
/etc/ioctl.save
/var/run/utmp
/var/log/wtmp
/dev/initctl

ENVIRONMENT

       init에섦다음과 같은 환경 변수를 사용한다.

PATH 초기값: /bin:/usr/bin:

INIT_VERSION
init의 버전 정보. 이것은 init 스크립트 작성에요용하게 쓰인다.

RUNLEVEL
시스템의 현재 runlevel.

PREVLEVEL
이전 runlevel.(runlevel 전환 때에 요용하게 쓰인다.)

BOOTFLAGS

       부트  관리자(예,  LILO)에 다음 인자들을 사용할 수도 있고, 생략할 수도
있다.

S, single
단일 사용자 모드로 부팅한다. 이 모드에섦 /etc/inittab 파일을
검사하고, 단일 사용자 모드의 쉘이 시작되기 전에, rc 스크립트가
일반적으로 실행된다.


1-5 지정한 runlevel로 부팅한다.


-b, emergency
다른 어떠한 시작 스크립트 없이 바로 단일 사용자 모드로 부팅한다.


CONFORMING TO

       Init는 System V init와 호환이 된다.  이것은  /etc/init.d,  /etc/rc{run-
level}.d 경로안에 있는 스크립트들을 실행한다. 자신의 시스템에
적용하려면, 먼저 /etc/init.d 경로 안에 있는 스크립트들이 어떻게 작동할
것인지에 대해이야기하고 있는 README 파일을 읽어 보라.

WARNINGS

       init는  어떤  프로세스가  실행될 당시에 소속되어 있는 프로세스 그룹안에
계속 있다고 가정한다. 그렇기 때문에, 만약 그 프로세스가 그 그룹에 더
이상 소속되지 않는다면, runlevel이 바뀌었어 그 프로세스를 마쳐야 할때,
제대로 마칠수 없게 된다.

DIAGNOSTICS

       만약 2분 동안 10번 이상 init가 계속 해호출 된다면, init는 이런 상태를
오류로 가정한다. 그리고는 시스템 콘솔에 오류 메시지를 보여준다. 그리고,
5분간 프로세스 생성을 중지하고, 발생되는 시그날을 받는다. 이것은 시스템
리소스의 낭비를 막기 위한 조치이다.

AUTHOR

       Miquel  van  Smoorenburg  (miquels [AT] cistron.nl),  initial manual page by
Michael Haardt (u31b3hs [AT] pool.de).

SEE ALSO

       getty(1), login(1), sh(1), who(1),  shutdown(1),  kill(2),  inittab(5),
initscript(5), utmp(5)
Posted by 블루아레나

INITTAB(5)     Linux System Administrator's Manual     INITTAB(5)

          NAME
                 inittab - 시스템 운영 시작에서 사용되는 init 프로세스의 처
                 리 방법을지정하고 있는 파일.

          DESCRIPTION
                inittab 파일은 시스템이 가동될 때 일반적인 운영 방법의  처
                 리에대한 것을 설명하고 있는 파일이다. (예를 들면, /etc/rc,
                 gettys.. 등의처리). init 프로세스는 다양한 runlevels을  구
                 별해서사용한다. 이 runlevels은 시스템의 부팅과 종료등에 사
                 용된다.  runlevels 값은06이며,ondemand 위해A,B,
                 쓰 인다. inittab 파일의 내용은 다음과 같은 형식을 취한다.

                        id:runlevels:action:process

                 `#'로 시작하는 문장은 주석으로 처리된다.

                 id     inittab 안에서의 각 항목들에 대한 식별자. 최대 4 자
                        리.  (libc의 버전이 5.2.18보다 낮은 버전이나, a.out
                        라이브러리로컴파일 했다면, 사용할 수 있는 최대 문자
                        갯수는 2개다.

                        주 의: getty나 다른 로그인 프로세스의 사용에서는 id
                        필드에는그 프로세스에서 사용하는 tty의 끝자리 숫 자
                        가 와야한다.  예를 들면,tty11. 그렇지 않으면 바
                        르게 작동되지않을 수도 있다.

                 runlevels
                        진행할 runlevel 지정.

                 action action 지정

                 process
                        실행할 프로세스 지정. 이 필드에 `+' 문자가 제일  앞
                        에   오면, init는 그 처리과정에서 utmp, wtmp 처리를
                        하지 않게 한다.  이것은 gettys에서 스스로 utmp/wtmp
                        를  처리할 경우 필요하다.  사용하는 gettys를 확인하
                        기 바란다.

                 action에서 사용할 수 있는 값은 다음과 같다.

                 respawn
                        그 프로세스가 종료되면 항상 다시 시작하게 한다.(예,
                        getty)

                wait   지정한 runlevel이 되면 그 프로세스가 실행되고, init
                        는 그 프로세스가 종료되기를 기다린다.

                once   지정한 runlevel이 되면 한번만 그 프로세스를 실행 한
                        다.

                boot    시 스 템  부팅 때에 그 프로세스를 실행한다. 이때는
                        runlevel 값이무시된다.

                 bootwait
                        시스템 부팅 때에 그 프로세스가 실행되는 데,   이 때
                        init 는 그   프 로 세 스가 종료되기를 기다린다.(예,
                        /etc/rc).  이때는 runlevel 값이 무시된다.

                off    아무것도 아니다. 단지 id만 존재하는 것뿐.

                 ondemand
                        지정한 ondemand runlevel이 호출 될 때마다 그 프로세
                        스를 실행한다.  하지만 runlevel 값은 바뀌지 않는다.
                        ondemand runlevel 값은 'a', 'b', 'c' 이다.)

                 initdefault
                        시스템 부팅 뒤에 실행될 runlevel을 지정한다.  만 약
                        이 부분이 없으면, 어떤 runlevel로 실행할 것이지, 콘
                        솔에서 물어본다. process 필드는 무시된다.

                 sysinit
                        시스템 부팅을 할 때에 그 프로세스가 실행된다.  이것
                        은boot, bootwait로 지정된 프로세스보다먼저 실행된
                        다. process 필드는 무시된다.

                 powerwait
                       init가 SIGPWR 시그날을 받았을 때 그 프로세스가 실행
                        된다.  SIGPWR은 전원 공급에 문제가 생겼을 때 발생하
                        는 시그날이다. Init는 그 프로세스 작업이 끝날 때까
                        지 아무 작업도 하지 않는다.

                 powerfail
                       powerwait 와 같지만, init는 그 프로세스 작업이 끝나
                        기를기다리지 않는다.

                 powerokwait
                       init가 SIGPWR 시그날을 받았을 때 그 프로세스가 실행
                        된다.  OK라는 단어를 포함하고 있는 /etc/powerstatus
                        파일이 SIGPWR 시그날을 제공한다.

                 ctrlaltdel
                       init가 SIGINT 시그날을 받았을 때 그 프로세스가 실행
                        된 다.   SIGINT 는   시 스 템   콘 솔 에서 누군가가
                       CTRL-ALT-DEL 글쇠를눌렀을 때 발생하는 시스날 이 다.
                        이것은 전형적으로컴퓨터를 리부팅하거나, 단일 사용자
                        모드를 사용하기 위해서사용된다.

                 kbrequest
                        콘솔 글쇠판에서 특별하게 지정된 글쇠가 눌려졌을 때,
                        발 생하는 한 시그날을 init가 받았을 때, 그 프로세스
                        를 실행한다.
                        이 부분에 대한 이야기는 아직 여기서 자세히 다루지는
                        못 한다.  좀더 자세한 정보를 원하면 kbd-x.xx 팻키지
                        의 문서들을참고한다. (이 문서는 kbd-0.91 팻키 지 를
                        바 탕 으로 쓰여졌다.)  보통, 글쇠지정은 "Spawn_Con-
                        sole" action으로 한다.  예를 들어, Alt-윗화살표글쇠
                        를  지정하고 싶으면, 글쇠지정파일(keymap)에 다음 내
                        용을 추가한다.

                        alt keycode 103 = Spawn_Console

                 하나의 프로세스가 각각 다른 runlevel에서도 같이 실행 되 게
                 하 려 면, runlevel 필드에는 다른 runlevel 들을 함께 지정할
                 수 있다.  예,123.ondemand 값으로 지정한는A,B,C도 마찬
                 가 지다. action 값이sysinit,boot,bootwait로 지정되어 있
                 으면 그 runlevel 값은 무시된다.

                 runleve 값이 바뀌었을 때, 그 새로 바뀐 runlevel에 대한  처
                 리   과정을따로 지정하지않았다면, SIGTERM, SIGKILL과 함께,
                 그 프로세스는 종료된다.

          EXAMPLES
                 이것은 옛날 linux에서 사용하던 inittab 파일이다.

                        # inittab for linux
                        id:1:initdefault:
                        rc::bootwait:/etc/rc
                        1:1:respawn:/etc/getty 9600 tty1
                        2:1:respawn:/etc/getty 9600 tty2
                        3:1:respawn:/etc/getty 9600 tty3
                        4:1:respawn:/etc/getty 9600 tty4

                 이 파일은 시스템이 부팅되는 동안/etc/rc 파일을 실행하 고,
                 tty1-tty4에서 getty를 실행한다.

                 다 음 부분은 다른 runlevel에서의 각 설정들을 지정한다(주석
                 부분을 참고).

                        # 2 단계 정의
                        id:2:initdefault:

                        # 최우선으로 시스템 초기화
                        si::sysinit:/etc/rc.d/bcheckrc

                        # runlevel 0,6은 각각 halt와 reboot, 1은 단일 사용자 모드
                        l0:0:wait:/etc/rc.d/rc.halt
                        l1:1:wait:/etc/rc.d/rc.single
                        l2:2345:wait:/etc/rc.d/rc.multi
                        l6:6:wait:/etc/rc.d/rc.reboot

                        # "3 finger salute"에서 어떻게....
                        ca::ctrlaltdel:/sbin/shutdown -t5 -rf now

                        # runlevel 2&3: 콘솔 getty, level 3: 모뎀 getty
                        1:23:respawn:/sbin/getty tty1 VC linux
                        2:23:respawn:/sbin/getty tty2 VC linux
                        3:23:respawn:/sbin/getty tty3 VC linux
                        4:23:respawn:/sbin/getty tty4 VC linux
                        S2:3:respawn:/sbin/uugetty ttyS2 M19200

          FILES
                 /etc/inittab

          AUTHOR
                 Init   was   written    by    Miquel    van    Smoorenburg
                 (miquels@cistron.nl),  the  manual  page  was  written  by
                 Sebastian    Lederer     (lederer@francium.informatik.uni-
                 bonn.de)     and     modified     by     Michael    Haardt
                 (u31b3hs@pool.informatik.rwth-aachen.de).

          SEE ALSO
                 init(8), telinit(8)

Posted by 블루아레나