天天看點

init初始化

1.15 學習劄記 系統初始化

系統初始化

    指令補充  uname  (/etc/redhat-release)

                   -r --kernel-realease   -v  --kernel-version

                   -a --all  -s --kernel-name -m --machine

   引導順序概述

       bios初始化

       引導裝載程式

       核心初始化

       執行以下操作,啟動init,并進入預期的運作級别

         /etc/rc.d/rc.sysinit

         /etc/rc.d/rc和/etc/rc/d/rc?.d

         /etc/rc.d/rc.local

         在适當的情況下使用x顯示管理器

   引導裝載程式元件

      引導裝載程式

           1 容量小,位于mbr或引導部分(mbr 512位元組 0扇區0磁道 ipl不大于446位元組,

64 磁盤分區資訊,2 magiccode)

           2 從引導分區裝載

   grub和grub.conf

     grub "the grand unified bootloader"

        引導提示時可以使用指令行界面

        可從/ext2/ext3 resierfs、jfs、fat、minix、ffx檔案系統引導

        支援md5密碼保護

     /boot/grub/grub.conf

    default=0 //預設從下面系統清單的第一個啟動

    timeout=5 //預設啟動等待時間是5秒鐘

    splashp_w_picpath=(hd0,0)/grub/splash.xpm.gz //系統選擇菜單背景所在的位置

     hiddenmenu //隐藏菜單

     password  --md5  

     title red hat enterprise linux as (2.6.9-648_el) //在grub界面所顯示的系統名

稱 (可以任意該動)

     root (hd0,0) //啟動時從ide接口的第一塊硬碟第一個分區啟動

     kernel /vmlinuz-2.6.9-648.el ro root=/dev/volgroup00/logvo100 rhgb quiet //

啟動的核心版本,可以在後面添加核心參數

     initrd /initrd-2.6.9-648.el.img

   可用 grub-md5-crypt 建立md5密碼

   如果某些原因mbr損壞,重裝mbr時,可以使用指令

    1  grub-install boot-device

    2  手工設定

         grub >

         grub > root(hd0,0)

         grub > setup(hd0,0)

         grub > quit

   3     grub >

         grub > find /<tab>

         grub > kernel

         grub > initrd

         grub > boot

     開始引導過程:grub

      映像選擇

          使用空格鍵選擇,然後使用上下鍵在引導閃屏移動

      傳遞參數

          在菜單編輯模式修改現有段落

          使用grub指令行互動釋出指令

    核心初始化 (檢視日志/var/log/dmesg  指令dmesg直接檢視)

         裝置自檢

         裝置驅動程式初始化

         以隻讀方式挂載根檔案系統

         載入初始化程序(init)

    init初始化  /etc/inittab

          初始化運作級别

          系統初始化腳本

          對應運作級别的腳本目錄

          設定ctrl+alt+del組合鍵

          定義ups電源中斷/恢複腳本

          在虛拟控制台生成getty

          在運作級别5初始化x

         12 : 2 : wait : / etc / init.d / rc 2

  第一個字段是一個任意指定的标簽;

  第二個字段表示這一行适用于運作那個級别(這裡是2);

  第三個字 段表示進入運作級别時,init應該運作第四個字段内的指令一次,而且init應

該等待該指令結束。/etc/init.d/rc指令運作啟動和終止輸入以便進入運作級别2時所需的任

何指令。

  第四個字段中的指令執行設定運作級别時的一切“雜活”。它啟動已經沒有運作的服務

,終止不應該再在新運作級别内運作的服務。根據linux版本的不同,采用的具體指令也不同

,而且運作級别的配置也是有差别的。

  init啟動時,它會在/etc/inittab内查找一個代碼行,這一行指定了預設的運作級别:

  id : 2 : initdefault :

  你可以要求init在啟動時,進入非預設運作級别,這是通過為核心指定一個“single”

或“emergency” 指令行參數來實作的。比如說,核心指令行參數的指定可通過lilo來執行

。這樣一來,你就可以選擇單使用者模式了(即運作級别1)。

  系統正在運作時,telinit指令可更改運作級别。運作級别發生變化時, init 就會

從/etc/inittab運作相應的指令。

  /etc/inittab中,有幾個特殊的特性,允許init重新激活特殊事件。這些特殊特性都是

用第三個字段中的特殊關鍵字标記出來的。比如:

  1. powerwait

  允許init在電源被切斷時,關閉系統。其前提是具有u p s和監視u p s并通知init電源

已被切斷的軟體。

  2. ctrlaltdel

  允許init在使用者于控制台鍵盤上按下c t r l + a l t + d e l組合鍵時,重新啟動系統

。注意,如果該系統放在一個公共場所,系統管理者可将c t r l + a l t + d e l組合鍵配

置為别的行為,比如忽略等。

     運作級别

      init定義運作級别 0-6 單人模式  緊急模式

       顯示目前和上個運作級别

                 /sbin/runlevel

        調整運作級别  init new_runlevel

   0 停止 ;1 單使用者模式;2 不帶nfs的多使用者模式;3 完全多使用者模式,用于伺服器

   4 無官方定義 ;5 圖形登入;6 重新開機

   s /s /single 備用單使用者模式

   emergency  繞過rc.sysinit sulogin

    /etc/rc.d/rc.sysinit

       主要任務

         激活udev和selinux

         在/etc/sysctl.conf中設定核心參數

         設定系統時鐘

         裝載按鍵設定

         啟用交換分區

         設定主機名

         檢查并重新挂載根檔案系統

         激活raid和lvm裝置

         啟用磁盤配額

         檢查并挂載其他檔案系統

         清理過時的鎖和pid檔案

    系統v運作級别

       每個運作級别都有對應的目錄

           /etc/rc.d/rcx.d

       系統v init腳本位于

               /etc/rc.d/init.d

       /etc/rc.d/rc/local 系統v初始化的最後階段 ,使用者可以自定義的腳本

   控制服務

        工具  system-config-services

              ntsysv

              chkconfig  ——list | --level  on | off

              service   named start|stop|status|restart     

繼續閱讀