Linux基礎之引導過程和服務控制

2021-10-18 11:48:38 字數 4407 閱讀 5861

系統初始化程序

排除啟動類故障

grub引導故障

修復grub 引導故障

遺忘 root 使用者密碼

重設root 使用者的密碼

系統服務控制

linux系統的執行級別

優化啟動過程

系統服務的啟動和控制

1.開機自檢

2.mbr 引導

3.grub 選單

4.載入 linux 核心

5.init 程序初始化init程序

systemd

傳統sysvinit和systemd的比較

systemd單元型別

單元型別

副檔名說明

service

.service

描述乙個系統服務

socket

.socket

描述乙個程序間通訊的套接字(ip埠)

device

.device

描述乙個核心識別的裝置檔案

mount

.mount

描述乙個檔案系統的掛載點

automount

.automount

描述乙個檔案系統的自動掛載點

swap

.swap

描述乙個記憶體交換裝置或交換檔案

path

.path

描述乙個檔案系統中檔案或目錄

timer

.timer

描述乙個定時器(用於實現類似cron的排程任務)

snapshot

.snapshot

用於儲存乙個systemd的狀態

scope

.scope

使用systemd的匯流排介面以程式設計的方式建立外部程序

slice

.slice

描述居於cgroup的一組通過層次組織的管理系統程序

targe

.target

描述一組systemd的單元

執行級別所對應的systemd目標

init執行級別

systemd的target說明0

target

關機狀態,使用該級別時會關閉主機

1rescue.target

單使用者模式,不需要密碼驗證即可登入系統,多用於系統維護

2multi-user.target

使用者定義/域特定執行級別,預設等同於3,相對於3,沒有網路

3multi-user.target

字元介面的完整使用者模式,大多數伺服器主機執行在此級別

4multi-user.target

使用者定義/域特定執行級別,在centos6中預設不使用,做保留,到centos7中等同於3

5graphical.target

圖形介面的多使用者模式,提供了圖形桌面操作環境

6reboot.target

重新啟動,使用該級別時將會正常關閉並重啟主機

修復mbr扇區故障

故障原因:

故障現象:

解決思路:

模擬mbr扇區故障並修復

1、備份mbr 扇區資料到其它磁碟(/dev/sdb1)

mkdir /backup

mount /dev/sdb1 /backup

dd if=/dev/sda of=/backup/mbr.bak bs=512 count=1

2、模擬破壞mbr引導扇區
dd if=/dev/zero of=/dev/sda bs=512 count=1
3、引導介面進入急救模式,從備份檔案中恢復mbr 扇區資料

先載入好光碟映象,重啟作業系統,

當出現安裝嚮導介面時,選擇「troubleshooting」選項,

再選擇「rescue a centos linux system」選項,進入急救模式

選擇「1」選擇 continue並按 enter 鍵繼續

再次按 enter 鍵後將進入帶「sh-4.2#」提示符的 bash shell 環境

sh-4.2# mkdir /backupdir

sh-4.2# mount /dev/sdb1 /backupdir #掛載帶有備份檔案的分割槽

sh-4.2# dd if=/backupdir/mbr.bak of=/dev/sda #恢復備份資料

sh-4.2# exit #執行exit命令退出臨時shell 環境,系統將會自動重啟

grub引導故障

故障原因

故障現象

解決思路

修復grub 引導故障

/boot/grub/目錄下的包是用於啟動選單的背景及樣式

/boot/grub2/grub.cfg #grub配置檔案

方法一:手動輸入引導命令(笨拙繁瑣,不建議使用)
grub> insmod xfs					#載入指定的模組到核心

grub> linux16 /vmlinuz-3.10.0-693.el7.x86_64 root=uuid=8fd74986-ae66-4ffd-b7d8-a19f2eca7b6f ro rhgb quiet lang=zh_cn.utf-8 #核心的名字及位置等資訊

grub> initrd16 /initramfs-3.10.0-693.el7.x86_64.img #映象系統檔案

grub> boot #引導boot

方法二:進入急救模式,恢復grub引導程式

方法三:引導介面進入急救模式,重建grub選單配置檔案

遺忘 root 使用者密碼

故障原因

重設root 使用者的密碼

sh-4.2# chroot /mnt/sysimage     #進入急救模式,載入系統映象,切換到系統根環境

bash-4.1# passwd root #重設 root 使用者密碼

系統服務控制
systemctl 控制型別 服務名稱
控制型別
start:啟動

stop:停止

restart:重新啟動

status:檢視服務狀態

檢視執行級別

臨時切換執行級別

執行級別對應的命令

init 0	systemctl isolate poweroff.target	systemctl poweroff	shutdown -h now

init 1 systemctl isolate rescue.target

init 3 systemctl isolate multi-user.target

init 5 systemctl isolate graphical.target

init 6 systemctl isolate reboot.target systemctl reboot shutdown -r now

設定永久執行級別
ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target      #設定永久執行級別

或systemctl set-default multi-user.target #設定永久執行級別

systemctl get-default #檢視系統預設的執行級別

ntsysv工具

systemct工具ntsysv系統服務管理工具

ntsysv

ntsysv --level 級別列表

系統服務的啟動和控制

Linux 引導過程和服務控制

開機自檢 mbr引導 grub選單 載入linux核心 init程序初始化 由linux核心載入執行 sbin init程式 是系統中第乙個程序 pid 程序標記 號永遠為1 0 關機狀態,使用該級別時將會關閉主機,對應systemd中的target 1 單使用者模式,不需要密碼驗證即可登入系統,多...

Linux 引導過程和服務控制

linux開機過程 開機引導順序 bios開機自檢 mbr引導 grub選單 載入核心 負責資源調配 執行init初始化程式 程式編號為1 init程式相關檔案 etc inittab id 執行級別 該檔案中的內容可以進行修改,修改完成後要使用init q重新讀取該檔案中的內容。id 每一行配置的...

Linux程序和服務(1)

1 使用ps檢視程序狀態 程序就類似windows中的程序。1 pid 程序的id,每乙個新程序都有唯一的pid。2 ppid 父程序的id。3 任何乙個程序都可以建立乙個子程序。4 在redhat 7以上版本中,所有程序的父程序叫systemd。在redhat 7以下的版本中,所有程序的父程序叫i...