linux 啟動管理

1、Linux系統啟動流程:POST 加電自檢 — BIOS(Boot Sequence)–>MBR(bootloader,446)(加載前512字節后的驅動程序,進入/boot目錄,加載內核)–>Kernel–>initrd–>(系統根路徑 /)(ROOTFS)/sbin/init(/etc/inittab)
2、init程序的類型:

SysV: init, CentOS 5 配置文件:/etc/inittab

Upstart: init,CentOS6 配置文件:/etc/inittab, /etc/init/*.conf

Systemd:systemd, CentOS 7 配置文件:/usr/lib/systemd/system;/etc/systemd/system

init讀取其初始化文件:/etc/inittab

初始運行級別(RUN LEVEL)

0:halt 關機

1: single user mode, 直接以管理員身份切入 修改root密碼

2:multi user mode, no NFS

3: multi user mode, text mode

4:reserved 保留

5: multi user mode, graphic mode

6: reboot

系統初始化腳本:/etc/rc.d/rc.sysinit

激活udev和selinux;

根據/etc/sysctl.conf文件,來設定內核參數;

設定時鐘時鐘;

裝載鍵盤映射;

啟用交換分區;

設置主機名;

根文件系統檢測,并以讀寫方式重新掛載;

激活RAID和LVM設備;

啟用磁盤配額;

根據/etc/fstab,檢查并掛載其它文件系統;

清理過期的鎖和PID文件;

對應運行級別的腳本目錄

捕獲某個關鍵字順序

定義UPS電源終端/恢復腳本

在虛擬控制臺生成getty

在運行級別5初始化X11

    切換runlevel:init #

    查看運行級別:runlevel: who -r

總結:/sbin/init–> (/etc/inittab) –> 設置默認運行級別–> 運行系統初始腳本、完成系統初始化–> (關閉對應下需要關閉的服務)啟動需要啟動服務–> 設置登錄終端
在CentOS 6 init程序為: upstart, 其配置文件:/etc/inittab, /etc/init/*.conf,配置文件的語法遵循upstart配置文件語法格式
3、系統引導grub.conf

default=0  # 設定默認啟動的title的編號,從0開始

timeout=5  # 等待用戶選擇的超時時長,單位是秒

splashimage= # grub的背景圖片

hiddenmenu # 隱藏菜單

password xxxxxx / password –md5 編輯加密

title      # 內核標題,或操作系統名稱,字符串,可自由修改

root (hd0,0)  # 內核文件所在的設備;對grub而言,所有類型硬盤一律hd,格式為(hd#,N);hd#,

         #表示第幾個磁盤;最后的N表示對應磁盤的分區;

kernel        # 內核文件路徑,及傳遞給內核的參數

initrd      # ramdisk文件路徑

4、安裝grub :(可修復破壞磁盤前446字節的情況)

# grub

grub> root (hd0,0)

grub> set (hd0)

安裝grub第二種方式:(修復1.5階段)

# grub-install –root-directory=/path/to/boot’s_parent_dir  /PATH/TO/DEVICE

5、Kernel初始化的過程:

設備探測

驅動初始化(可能會從initrd(initramfs)文件中裝載驅動模塊)

以只讀掛載根文件系統;

裝載第一個進程init(PID:1)

/sbin/init:(讀取/etc/inittab)upstart:  systemd:  

id:runlevels:action:process

id: 標識符

runlevels: 在哪個級別運行此行;

action: 在什么情況下執行此行;

process: 要運行程序; 

id:3:initdefault:

si::sysinit:/etc/rc.d/rc.sysinit

ACTION:

initdefault: 設定默認運行級別

sysinit: 系統初始化

wait: 等待級別切換至此級別時執行

respawn: 一旦程序終止,會重新啟動

/etc/rc.d/rc.sysinit:

##: 關閉或啟動的優先次序,數據越小越優先被選定

先關閉以K開頭的服務,后啟動以S開頭的服務;

6、chkconfig 

# chkconfig: runlevels SS KK  當chkconfig命令來為此腳本在rc#.d目錄創建鏈接時,runlevels表示默認創建為S*開頭的鏈接,-表示沒有級別默認為S*開頭的鏈接;除此之外的級別默認創建為K*開頭的鏈接;

S后面的啟動優先級為SS所表示的數字;K后面關閉優先次序為KK所表示的數字;

# description: 用于說明此腳本的簡單功能; \, 續行

chkconfig –list: 查看所有獨立守護服務的啟動設定;獨立守護進程!

chkconfig –list SERVICE_NAME

chkconfig –add SERVICE_NAME

chkconfig –del SERVICE_NAME

chkconfig [–level RUNLEVELS] SERVICE_NAME {on|off}

如果省略級別指定,默認為2345級別

原創文章,作者:cui,如若轉載,請注明出處:http://www.www58058.com/86151

(0)
cuicui
上一篇 2017-09-03 20:29
下一篇 2017-09-03 22:24

相關推薦

  • Linux find命令使用詳則

    find命令 find命令用來在指定目錄下查找文件。任何位于參數之前的字符串都將被視為欲查找的目錄名。如果使用該命令時,不設置任何參數,則find命令將在當前目錄下查找子目錄欲文件。并且將查找到的子目錄和文件全部進行顯示。 語法 find(選項)(參數) 選項 -amin<分鐘>:查找在指定時間曾被存取過的文件或者目錄,單位以分鐘計算; -ane…

    2017-08-03
  • ifcfg, ip, ss,配置文件 (Blog 7)

    Linux主機接入網絡:
    IP/MASK
    GATEWAY
    DNS

    Linux干貨 2017-11-27
  • Linux學習 Grep詳則。

    grep 功能說明:查找文件里符合條件的字符串。 語  法:grep [-abcEFGhHilLnqrsvVwxy][-A<顯示列數>][-B<顯示列數>][-C<顯示列數>][-d<進行動作>][-e<范本樣式>][-f<范本文件>][–help][范本樣式][文件或目錄&…

    Linux干貨 2017-07-24
  • 常見的文本處理工具及正則表達式的相關知識

    1.cat命令使用詳解 cat [option]… [file]… -A equivalent=vET -b 非空行編號 -E 行為顯示$ -n 顯示所有行的行號 -s 行號并壓縮連續空行為一行 -T 顯示tab為^M 實例:顯示a文件的行號及所有控制符 2.(1)head使用詳解 head -n x 顯示前x行 head -c x …

    Linux干貨 2016-08-07
  • 基于heartbeat v2 crm實現基于nfs的mysql高可用集群

    前言 因heartbeat v1內置的資源管理器haresource功能比較簡單,且不支持圖形化管理,所以heartbeat v2不再支持haresource,轉而使用更加強大的資源管理器crm進行集群管理。本文將講解如何基于heartbeat v2 crm實現基于nfs的mysql高可用集群。 高可用實現 實驗拓撲 實驗環境 node1:172.16.10…

    Linux干貨 2015-06-11
  • 邏輯卷實例

    1、創建一個至少有兩個PV組成的大小為20G的名為testvg的VG;要求PE大小為16MB, 而后在卷組中創建大小為5G的邏輯卷testlv;掛載至/users目錄 2、新建用戶archlinux,要求其家目錄為/users/archlinux,而后su切換至archlinux用戶,復制/etc/pam.d目錄至自己的家目錄 3、擴展testlv至7G,要…

    Linux干貨 2016-09-01
欧美性久久久久