linux 의 init 0, 1, 2, 3, 4, 5, 6 지식 소개

7652 단어 Linux
자신 이 최근 에 블 로 그 를 쓰기 시 작 했 기 때문에 자신 감 을 가지 기 위해 가장 쉬 운 것 부터 시작 합 니 다.
이 지식 에 대해 자신 은 이전에 줄곧 이해 하지 못 했 는데, 오늘 특별히 총 결 하여 자신의 학습 기록 으로 삼 았 다.
1. init 는 Linux 시스템 운영 에 없어 서 는 안 될 프로그램 중 하나 입 니 다.init 프로 세 스 란 커 널 에서 시 작 된 사용자 급 프로 세 스 입 니 다.커 널 자체 시작 (메모리 에 불 러 와 실행 을 시 작 했 고 모든 장치 드라이버 와 데이터 구조 등 을 초기 화 했 습 니 다) 후 사용자 급 프로그램 init 를 시작 하 는 방식 으로 안내 프로 세 스 를 완성 합 니 다.그래서 init 는 항상 첫 번 째 프로 세 스 입 니 다.커 널 은 과거 에 init 를 사 용 했 던 몇 곳 에서 찾 을 수 있 습 니 다. 정확 한 위치 (Linux 시스템 에 있어) 는 / sbin / init 입 니 다.커 널 에서 init 를 찾 지 못 하면 / bin / sh 를 실행 하려 고 시도 합 니 다. 실행 에 실패 하면 시스템 시작 도 실패 합 니 다.
2. init 는 모두 7 개의 등급 으로 나 뉘 는데 이 7 개의 등급 이 대표 하 는 의 미 는 다음 과 같다.
0: 정지 또는 꺼 짐 (initdefault 을 0 으로 설정 하면 안 됩 니 다)
1: 단일 사용자 모드, 루트 사용자 만 유지 보수
2: 다 중 사용자 모드, NFS (Net File System) 사용 불가
3: 완전 다 중 사용자 모드 (표준 실행 단계)
4: 안전 모드
5: 도형 화 (즉 도형 인터페이스)
6: 다시 시작 (initdefault 을 6 으로 설정 하지 마 십시오)
사실, / etc / rc. d / 의 rc * d 파일 을 보고 비교 하여 이해 할 수 있 습 니 다.
init 0, 대응 하 는 시스템 이 실 행 됩 니 다. / etc / rc. d / rc0. d 에서 지정 한 프로그램 입 니 다.이름 좀 봅 시다.
[root@localhost  ~]# ls /etc/rc.d/rc0.d 
K01dnsmasq    K15ksmtuned  K35nmb         K60crond       K74lm_sensors  K83portreserve     K85rpcgssd    K88iscsi     K90network       S00killall
K10cups       K16ksm       K35smb         K66gpsd        K75netfs       K84NetworkManager  K85rpcidmapd  K88rsyslog   K92ip6tables     S01halt
K10saslauthd  K20nfs       K36mysqld      K69rpcsvcgssd  K75udev-post   K84wpa_supplicant  K86nfslock    K89iscsid    K92iptables
K10xfs        K25sshd      K50haldaemon   K70vboxdrv     K76open     K85mdmonitor       K87alsasound  K89netplugd  K98qemu
K15gpm        K30sendmail  K50netconsole  K74acpid       K83bluetooth   K85messagebus      K87rpcbind    K89rdisc     K99lvm2-monitor

상기 빨간색 글꼴 에 따 르 면, 켜 면 실행 되 는 두 프로 세 스 는 killall 과 halt 입 니 다. 이 두 프로 세 스 는 모두 종료 프로 세 스 를 표시 합 니 다.그러므로 init 0 은 전원 을 끄 는 것 을 나타 내 는 데 쓰 인 다.
init 1, 대응 하 는 시스템 이 실 행 됩 니 다. / etc / rc. d / rc1. d 에서 지정 한 프로그램 입 니 다.
[root@localhost ~] # ls /etc/rc.d/rc1.d
K01dnsmasq    K15ksmtuned  K35nmb         K60crond       K74lm_sensors   K84NetworkManager  K85rpcidmapd  K88rsyslog   K92ip6tables     S99single
K10cups       K16ksm       K35smb         K66gpsd        K75netfs        K84wpa_supplicant  K86nfslock    K89iscsid    K92iptables
K10saslauthd  K20nfs       K36mysqld      K69rpcsvcgssd  K76open      K85mdmonitor       K87alsasound  K89netplugd  K98qemu
K10xfs        K25sshd      K50haldaemon   K70vboxdrv     K83bluetooth    K85messagebus      K87rpcbind    K89rdisc     S02lvm2-monitor
K15gpm        K30sendmail  K50netconsole  K74acpid       K83portreserve  K85rpcgssd         K88iscsi      K90network   S26udev-post

이 단계 에서 시 작 된 서 비 스 는 세 가지 가 있 습 니 다. udev, lvm 와 관련 된 single (단일 사용자 모드 의 서비스) 입 니 다.따라서 이 단 계 는 단일 사용자 모드 로 루트 만 사용 할 수 있 고 다른 사용 자 는 지원 되 지 않 습 니 다.
init 2, 대응 하 는 시스템 이 실 행 됩 니 다. / etc / rc. d / rc2. d 에서 지정 한 프로그램 입 니 다.
[root@localhost ~ ]# ls /etc/rc.d/rc2.d/
K01dnsmasq    K20nfs       K36mysqld      K74lm_sensors      K85rpcgssd    K89netplugd      S08iptables    S23NetworkManager  S30vboxdrv    S99local
K10saslauthd  K25sshd      K50haldaemon   K75netfs           K85rpcidmapd  K89rdisc         S12rsyslog     S24portreserve     S35qemu
K10xfs        K30sendmail  K50netconsole  K76open         K86nfslock    K90network       S13rpcbind     S25cups            S85gpm
K15ksmtuned   K35nmb       K66gpsd        K83bluetooth       K88iscsi      S02lvm2-monitor  S15mdmonitor   S26acpid           S90crond
K16ksm        K35smb       K69rpcsvcgssd  K84wpa_supplicant  K89iscsid     S08ip6tables     S22messagebus  S26udev-post       S99alsasound

이 단계 에서 시작 하 는 서비스 가 많아 졌 습 니 다. NetworkManager / iptables / acpid / alsa 가 모두 열 렸 지만 nfs, smb, open 관련 서비스 가 열 리 지 않 았 습 니 다. 이 단 계 는 nfs 를 지원 하지 않 습 니 다.
init 3, 대응 하 는 시스템 실행 / etc / rc. d / rc3. d
[root@localhost ~] # ls /etc/rc.d/rc3.d/
K01dnsmasq    K30sendmail    K74lm_sensors      K89rdisc         S08iptables  S18rpcidmapd       S25cups       S35qemu       S85ksmtuned   S99local
K10saslauthd  K36mysqld      K76open         K90network       S12rsyslog   S19rpcgssd         S25netfs      S50bluetooth  S90crond
K10xfs        K50netconsole  K84wpa_supplicant  K99lvm2-monitor  S13iscsi     S22messagebus      S26acpid      S50haldaemon  S91nmb
K20nfs        K66gpsd        K85mdmonitor       S07iscsid        S13rpcbind   S23NetworkManager  S26udev-post  S84ksm        S91smb
K25sshd       K69rpcsvcgssd  K89netplugd        S08ip6tables     S14nfslock   S24portreserve     S30vboxdrv    S85gpm        S99alsasound

이 단계 nfs 서 비 스 는 완전히 다 중 사용자 모드 가 되 었 습 니 다.
init 4
[root@localhost ~ ]# ls /etc/rc.d/rc4.d/
K01dnsmasq    K30sendmail    K66gpsd            K85mdmonitor     S07iscsid     S13rpcbind     S23NetworkManager  S26udev-post  S84ksm        S99local
K10saslauthd  K35nmb         K69rpcsvcgssd      K89netplugd      S08ip6tables  S14nfslock     S24portreserve     S30vboxdrv    S85gpm
K10xfs        K35smb         K74lm_sensors      K89rdisc         S08iptables   S18rpcidmapd   S25cups            S35qemu       S85ksmtuned
K20nfs        K36mysqld      K76open         K90network       S12rsyslog    S19rpcgssd     S25netfs           S50bluetooth  S90crond
K25sshd       K50netconsole  K84wpa_supplicant  K99lvm2-monitor  S13iscsi      S22messagebus  S26acpid           S50haldaemon  S99alsasound

이 모드 는 보안 모드 라 고 불 린 다.
init 5
[root@localhost ~ ]# ls /etc/rc.d/rc5.d/
K01dnsmasq    K25sshd        K66gpsd         K84wpa_supplicant  K87rpcbind   K90network       S22messagebus      S26udev-post  S84ksm        S99local
K10saslauthd  K30sendmail    K69rpcsvcgssd   K85mdmonitor       K88iscsi     K99lvm2-monitor  S23NetworkManager  S30vboxdrv    S85ksmtuned
K10xfs        K36mysqld      K74lm_sensors   K85rpcgssd         K89iscsid    S08ip6tables     S25cups            S35qemu       S91nmb
K15gpm        K50netconsole  K76open      K85rpcidmapd       K89netplugd  S08iptables      S25netfs           S50bluetooth  S91smb
K20nfs        K60crond       K83portreserve  K86nfslock         K89rdisc     S12rsyslog       S26acpid           S50haldaemon  S99alsasound

완전한 그래 픽 인터페이스 모드
 init 6
[root@localhost ~ ]# ls /etc/rc.d/rc6.d/
K01dnsmasq    K15ksmtuned  K35nmb         K60crond       K74lm_sensors  K83portreserve     K85rpcgssd    K88iscsi     K90network       S00killall
K10cups       K16ksm       K35smb         K66gpsd        K75netfs       K84NetworkManager  K85rpcidmapd  K88rsyslog   K92ip6tables     S01reboot
K10saslauthd  K20nfs       K36mysqld      K69rpcsvcgssd  K75udev-post   K84wpa_supplicant  K86nfslock    K89iscsid    K92iptables
K10xfs        K25sshd      K50haldaemon   K70vboxdrv     K76open     K85mdmonitor       K87alsasound  K89netplugd  K98qemu
K15gpm        K30sendmail  K50netconsole  K74acpid       K83bluetooth   K85messagebus      K87rpcbind    K89rdisc     K99lvm2-monitor

이 단계 에 서 는 두 개의 서비스 만 있 습 니 다. 하 나 는 killall 이 고 하 나 는 reboot 입 니 다. 즉, 현재 시스템 을 닫 고 다시 시작 하 는 것 입 니 다.따라서 이 단 계 는 재 부팅 입 니 다.
서로 다른 시스템 버 전 은 안에 있 는 파일 이 다 를 수 있 습 니 다. 보 려 면 ll 을 통 해 볼 수 있 습 니 다. 사실은 모두 소프트 연결 입 니 다.

좋은 웹페이지 즐겨찾기