深入淺出:linux的啟動流程刨析(二)

來源:互聯網
上載者:User

2. 關於etc/rc.d/rc.sysyinit 和 /etc/rc.d/rc.Nd

在inittab檔案中,我們瞭解到rc.sysinit是系統啟動並執行第一個指令碼,那麼它的作用都有哪些呢?如果有shell指令碼基礎的話可以用vim開啟這個檔案來看看,它有900多行...是linux裡最牛的指令碼,總結下它的作用,有如下幾點:(一定要牢記,必要時我們要重寫它!

1. 啟用udev和selinux

2. 通過讀取/etc/sysct1.conf來設定核心參數

3. 設定系統時鐘

4. 設定鍵盤對應

5. 啟動交換分區。

6. 設定主機名稱

7. 檢查跟檔案系統,並且如果沒有錯誤,以讀寫的方式來重新掛載檔案系統 (重要)

8. 啟用raid和lvm裝置

9. 啟動磁碟限額

10 掛載其他/etc/fstab裡定義的尚未被掛載的裝置

11. 清理過時的檔案鎖和PID檔案

12. 啟動服務/etc/rc.d/rcN.d


/etc/rc.d/rcN.d 是一個存放了系統啟動是載入的服務的檔案夾,通過inittab,我們知道了,它的編號對應相應的啟動運行層級。

需要說明的是,它裡面的檔案,以我的為例 以K開頭的代表stop,以S開頭的代表啟動start,數字越小,有限層級越高

[root@server69 rc.d]# cd rc3.d[root@server69 rc3.d]# lsK01dnsmasq         K74nscd             S08ip6tables    S25bluetooth   S85gpmK02avahi-dnsconfd  K85mdmpd            S08iptables     S25netfs       S90crondK02NetworkManager  K87multipathd       S08mcstrans     S25pcscd       S90xfsK05conman          K88wpa_supplicant   S10network      S26acpid       S95anacronK05saslauthd       K89dund             S11auditd       S26apmd        S95atdK10psacct          K89netplugd         S12restorecond  S26haldaemon   S97rhnsdK20nfs             K89pand             S12syslog       S26hidd        S97yum-updatesdK24irda            K89rdisc            S13irqbalance   S28autofs      S98avahi-daemonK35vncserver       K99readahead_later  S13portmap      S50hplip       S99firstbootK35winbind         S00microcode_ctl    S14nfslock      S55sshd        S99localK50ibmasm          S02lvm2-monitor     S15mdmonitor    S56cups        S99smartdK50netconsole      S04readahead_early  S18rpcidmapd    S56rawdevicesK69rpcsvcgssd      S05kudzu            S19rpcgssd      S58ntpdK73ypbind          S06cpuspeed         S22messagebus   S80sendmail


3./etc/fstab檔案

它定義了系統初始化掛載的裝置,對系統的啟動至關重要,rc.sysinit通過讀取它來實現系統磁碟分割的掛載

它的內容如何呢?我們一起來看下

要掛載的裝置 掛載點 檔案系統類型 掛載選項 轉儲頻率 檔案自檢次序

/dev/sda2               /                       ext3    defaults        0 0/dev/sda1               /boot                   ext3    defaults        0 0sysfs                   /sys                    sysfs   defaults        0 0proc                    /proc                   proc    defaults        0 0

我截取了4個系統啟動時必須掛載的裝置

/ 根檔案目錄,由它你才可以進入linux的世界,它在/dev/sda2裡

/boot 啟動目錄,在/下,裡面有grub,initrd和系統核心,它在/dev/sda1

sysfs 一個虛擬檔案系統,產生包含所有硬體層次視圖,和/proc類似

proc 這是一個虛擬目錄,它映射記憶體裡的資訊對應進程資訊,也就是說它對應的是記憶體而不是硬碟

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.