Linux 下的init 0,1,2,3,4,5,6知識介紹

對於這個知識點,本身之前一直不瞭解,今天特地總結下,做爲本身的一個學習記錄mysql


一. init是Linux系統操做中不可缺乏的程序之一。sql


所謂的init進程,它是一個由內核啓動的用戶級進程。

安全

內核自行啓動(已經被載入內存,開始運行,並已初始化全部的設備驅動程序和數據結構等)以後,就經過啓動一個用戶級程序init的方式,完成引導進程。數據結構


因此,init始終是第一個進程(其進程編號始終爲1)。

app

內核會在過去曾使用過init的幾個地方查找它,它的正確位置(對Linux系統來講)是/sbin/init。ssh


若是內核找不到init,它就會試着運行/bin/sh,若是運行失敗,系統的啓動也會失敗。

ide

二. init一共分爲7個級別,這7個級別的所表明的含義以下post


  • 0:停機或者關機(千萬不能將initdefault設置爲0)學習

  • 1:單用戶模式,只root用戶進行維護spa

  • 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       S00killallK10cups       K16ksm       K35smb         K66gpsd        K75netfs       K84NetworkManager  K85rpcidmapd  K88rsyslog   K92ip6tables     S01haltK10saslauthd  K20nfs       K36mysqld      K69rpcsvcgssd  K75udev-post   K84wpa_supplicant  K86nfslock    K89iscsid    K92iptablesK10xfs        K25sshd      K50haldaemon   K70vboxdrv     K76open***     K85mdmonitor       K87alsasound  K89netplugd  K98qemuK15gpm        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.dK01dnsmasq    K15ksmtuned  K35nmb         K60crond       K74lm_sensors   K84NetworkManager  K85rpcidmapd  K88rsyslog   K92ip6tables     S99singleK10cups       K16ksm       K35smb         K66gpsd        K75netfs        K84wpa_supplicant  K86nfslock    K89iscsid    K92iptablesK10saslauthd  K20nfs       K36mysqld      K69rpcsvcgssd  K76open***      K85mdmonitor       K87alsasound  K89netplugd  K98qemuK10xfs        K25sshd      K50haldaemon   K70vboxdrv     K83bluetooth    K85messagebus      K87rpcbind    K89rdisc     S02lvm2-monitorK15gpm        K30sendmail  K50netconsole  K74acpid       K83portreserve  K85rpcgssd         K88iscsi      K90network   S26udev-post

這個級別啓動的服務有三個,udev、lvm相關的和single(單用戶模式的服務)。


故此級別是單用戶模式,只有root能用,不支持其餘用戶。


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    S99localK10saslauthd  K25sshd      K50haldaemon   K75netfs           K85rpcidmapd  K89rdisc         S12rsyslog     S24portreserve     S35qemuK10xfs        K30sendmail  K50netconsole  K76open***         K86nfslock    K90network       S13rpcbind     S25cups            S85gpmK15ksmtuned   K35nmb       K66gpsd        K83bluetooth       K88iscsi      S02lvm2-monitor  S15mdmonitor   S26acpid           S90crondK16ksm        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   S99localK10saslauthd  K36mysqld      K76open***         K90network       S12rsyslog   S19rpcgssd         S25netfs      S50bluetooth  S90crondK10xfs        K50netconsole  K84wpa_supplicant  K99lvm2-monitor  S13iscsi     S22messagebus      S26acpid      S50haldaemon  S91nmbK20nfs        K66gpsd        K85mdmonitor       S07iscsid        S13rpcbind   S23NetworkManager  S26udev-post  S84ksm        S91smbK25sshd       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        S99localK10saslauthd  K35nmb         K69rpcsvcgssd      K89netplugd      S08ip6tables  S14nfslock     S24portreserve     S30vboxdrv    S85gpmK10xfs        K35smb         K74lm_sensors      K89rdisc         S08iptables   S18rpcidmapd   S25cups            S35qemu       S85ksmtunedK20nfs        K36mysqld      K76open***         K90network       S12rsyslog    S19rpcgssd     S25netfs           S50bluetooth  S90crondK25sshd       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        S99localK10saslauthd  K30sendmail    K69rpcsvcgssd   K85mdmonitor       K88iscsi     K99lvm2-monitor  S23NetworkManager  S30vboxdrv    S85ksmtunedK10xfs        K36mysqld      K74lm_sensors   K85rpcgssd         K89iscsid    S08ip6tables     S25cups            S35qemu       S91nmbK15gpm        K50netconsole  K76open***      K85rpcidmapd       K89netplugd  S08iptables      S25netfs           S50bluetooth  S91smbK20nfs        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       S00killallK10cups       K16ksm       K35smb         K66gpsd        K75netfs       K84NetworkManager  K85rpcidmapd  K88rsyslog   K92ip6tables     S01rebootK10saslauthd  K20nfs       K36mysqld      K69rpcsvcgssd  K75udev-post   K84wpa_supplicant  K86nfslock    K89iscsid    K92iptablesK10xfs        K25sshd      K50haldaemon   K70vboxdrv     K76open***     K85mdmonitor       K87alsasound  K89netplugd  K98qemuK15gpm        K30sendmail  K50netconsole  K74acpid       K83bluetooth   K85messagebus      K87rpcbind    K89rdisc     K99lvm2-monitor


這個級別裏,只有兩個服務,一個爲killall,一個是reboot,即,關閉如今的系統,重啓。故此級別是重啓。


不一樣的系統版本,可能裏面的文件會不一樣,若是要查看,能夠經過ll來看,其實他們都是軟鏈接。

相關文章
相關標籤/搜索