久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Linux系統(tǒng)啟動與服務(wù)管理的方法是什么

166次閱讀
沒有評論

共計 3692 個字符,預(yù)計需要花費(fèi) 10 分鐘才能閱讀完成。

今天丸趣 TV 小編給大家分享一下 Linux 系統(tǒng)啟動與服務(wù)管理的方法是什么的相關(guān)知識點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

1. 前言

??服務(wù)器在正常的運(yùn)行過程中,一般很少重啟,但是如果發(fā)生了未知故障或者遇到了人為誤操作的情況,可能就會出現(xiàn)啟動異常的狀況。雖然 Linux 系統(tǒng)啟動流程是比較底層的知識了,但是為了加深對 Linux 系統(tǒng)的理解,總結(jié)了這篇文章。

2. Linux 系統(tǒng)啟動過程

2.1 開機(jī)自檢

??服務(wù)器主機(jī)開機(jī)以后,將根據(jù)主板 BIOS 中的設(shè)置對 CPU、內(nèi)存、顯卡、硬盤等設(shè)備進(jìn)行初步檢測,檢測成功后根據(jù)預(yù)設(shè)的啟動順序移交系統(tǒng)控制權(quán),大多時候會移交給本機(jī)硬盤。

2.2 MBR 引導(dǎo)

??當(dāng)從本機(jī)硬盤中啟動系統(tǒng)時,首先根據(jù)硬盤第一個扇區(qū)中 MBR (主引導(dǎo)記錄)的設(shè)置,將系統(tǒng)控制權(quán)傳遞給包含操作系統(tǒng)引導(dǎo)文件的分區(qū);或者直接根據(jù) MBR 記錄中的引導(dǎo)信息調(diào)用啟動菜單(如 GRUB)。

2.3 GRUB 菜單

??對于 Linux 操作系統(tǒng)來說,GRUB (統(tǒng)一啟動加載器)是使用最為廣泛的多系統(tǒng)引導(dǎo)器程序。系統(tǒng)控制權(quán)傳遞給 GRUB 以后,將會顯示啟動菜單給用戶選擇,并根據(jù)所選項(或采用默認(rèn)值)加載 Linux 內(nèi)核文件,然后將系統(tǒng)控制權(quán)轉(zhuǎn)交給內(nèi)核。需要注意的是,Centos7 采用的是 GRUB2 啟動引導(dǎo)器。

2.4 加載 Linux 內(nèi)核

??Linux 內(nèi)核是一個預(yù)先編譯好的特殊二進(jìn)制文件,介于各種硬件資源與系統(tǒng)程序之間,負(fù)責(zé)資源分配與調(diào)度。內(nèi)核接過系統(tǒng)控制權(quán)以后,將完全掌控整個 Linux 操作系統(tǒng)的運(yùn)行過程。
在 CentoS 系統(tǒng)中,默認(rèn)的內(nèi)核文件位于 /boot/vmlinuz-3.10.0-514.el7.x86_64。

2.5 init 進(jìn)程初始化

??為了完成進(jìn)一步的系統(tǒng)引導(dǎo)過程,Linux 內(nèi)核首先將系統(tǒng)中的“/sbin/init”程序加載到內(nèi)存中運(yùn)行,init 進(jìn)程負(fù)責(zé)完成一系列的系統(tǒng)初始化過程,最后等待用戶進(jìn)行登錄。

2.6 系統(tǒng)啟動過程總結(jié)

檢測出第一個能夠引導(dǎo)系統(tǒng)的設(shè)備比如硬盤或光驅(qū)

運(yùn)行放在 MBR 扇區(qū)里的啟動 GRUB 引導(dǎo)程序

GRUB 引導(dǎo)程序通過讀取 GRUB 配置文件 /boot/grub2/grub.cfg 來獲取內(nèi)核和鏡像文件系統(tǒng)的設(shè)置以及路徑位置

把內(nèi)核和鏡像文件系統(tǒng)加載到內(nèi)存中

加載硬件驅(qū)動程序,內(nèi)核把 init 進(jìn)程加載到內(nèi)存中運(yùn)行

3. init 進(jìn)程與 systemd3.1 init 進(jìn)程

由 Linux 內(nèi)核加載運(yùn)行 /sbin/init 程序

init 進(jìn)程是系統(tǒng)中第一個進(jìn)程

init 進(jìn)程的 PID 號永遠(yuǎn)為 1

[root@c7-1 ~]#ll /sbin/initlrwxrwxrwx. 1 root root 22 8 月  13 21:44 /sbin/init -  ../lib/systemd/systemd

3.2 Centos5/6/7 init 進(jìn)程對比

3.3 systemd

systemd 是 Linux 操作系統(tǒng)的一種 init 軟件

CentOS7 中采用全新的 systemd 啟動方式,取代傳統(tǒng)的 SysVinit

CentOS7 中運(yùn)行的第一個 init 進(jìn)程是 /lib/systemd/systemd

[root@c7-1 ~]#ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 8 月 15 ? 00:00:31 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root 2 0 0 8 月 15 ? 00:00:00 [kthreadd]
root 4 2 0 8 月 15 ? 00:00:00 [kworker/0:0H]
root 6 2 0 8 月 15 ? 00:00:00 [ksoftirqd/0]
root 7 2 0 8 月 15 ? 00:00:00 [migration/0]
......

3.4 systemd 單元類型單元類型擴(kuò)展名說明 Service.service 描述一個系統(tǒng)服務(wù) Socket.socket 描述一個進(jìn)程間通信的套接字 Device.device 描述一個內(nèi)核識別的設(shè)備文件 Mount.mount 描述一個文件系統(tǒng)的掛載點(diǎn) Automount.automount 描述一個文件系統(tǒng)的自動掛載點(diǎn) Swap.swap 描述一個內(nèi)存交換設(shè)備或交換文件 Path.path 描述一個文件系統(tǒng)中文件或目錄 Timer.timer 描述一個定時器(用于實(shí)現(xiàn)類似 cron 的調(diào)度任務(wù))Snapshot.snapshot 用于保存一個 systemd 的狀態(tài) Scope.scope 使用 systemd 的總線接口以編程的方式創(chuàng)建外部進(jìn)程 Slice.slice 描述居于 Cgroup 的一組通過層次組織的管理系統(tǒng)進(jìn)程 Target.target 描述一組 systemd 的單元 3.5 運(yùn)行級別對應(yīng)的 systemd 目標(biāo)運(yùn)行級別 systemd 的 target 說明 0target 關(guān)機(jī)狀態(tài),使用該級別時將會關(guān)閉主機(jī) 1rescue.target 單用戶模式,不需要密碼驗(yàn)證即可登錄系統(tǒng),多用于系統(tǒng)維護(hù) 2multi-user.target 用戶定義 / 域特定運(yùn)行級別。默認(rèn)等同于 33multi-user.target 字符界面的完整多用戶模式,大多數(shù)服務(wù)器主機(jī)運(yùn)行在此級別 4multi-user.target 用戶定義 / 域特定運(yùn)行級別。默認(rèn)等同于 35graphical.target 圖形界面的多用戶模式,提供了圖形桌面操作環(huán)境 6reboot.target 重新啟動,使用該級別時將會重啟主機(jī) 3.6 systemd 管理命令 systemctl

格式:

systemctl COMMAND name.service #.service  也可以省略 

Sysvinit 和 Systemd 命令對比

Sysvinit 命令 Systemd 命令含義 service name startsystemctl start name 啟動服務(wù) service name stopsystemctl stop name 關(guān)閉服務(wù) service name restartsystemctl restart name 重啟服務(wù)不管當(dāng)前是啟動還是關(guān)閉狀態(tài) service name reloadsystemctl reload name 重新載入服務(wù)配置信息而不中斷服務(wù) service name condrestartsystemctl condrestart name 運(yùn)行狀態(tài)的服務(wù)可以重啟,不在運(yùn)行狀態(tài)無法重啟 service name statussystemctl status name 查看服務(wù)的運(yùn)行狀態(tài) chkconfig name onsystemctl enable name 設(shè)置服務(wù)為開機(jī)自啟動 chkconfig name offsystemctl disable name 設(shè)置服務(wù)為開機(jī)關(guān)閉 chkconfig namesystemctl is-enabled name 檢查服務(wù)是否開機(jī)自啟 chkconfig name –addsystemctl daemon-reload 創(chuàng)建一個新服務(wù)文件,或者變更配置的時候使用

示例:

# 啟動  httpd  服務(wù)
systemctl start httpd 
#停止  httpd  服務(wù)
systemctl stop httpd
#重啟  httpd  服務(wù)
systemctl restart httpd
#查看  httpd  服務(wù)狀態(tài)
systemctl status httpd
#禁止自動和手動啟動服務(wù) (可以關(guān)閉運(yùn)行的服務(wù))
systemctl mask name.service 
#取消禁止
systemctl unmask name.service
#查看某服務(wù)當(dāng)前是否正在運(yùn)行
systemctl is-active name.service
#查看所有服務(wù)
systemctl list-unit-files --type=service
#查看所有已經(jīng)激活的服務(wù)
systemctl list-unit-files --type=service | grep enabled
#列出啟動失敗的服務(wù)
systemctl --failed --type=service
systemctl list-units --state failed
systemctl list-unit-files --state=failed
#開啟  httpd  服務(wù)并設(shè)置開機(jī)自啟
systemctl enable --now httpd.service
#關(guān)閉  httpd  服務(wù)并關(guān)閉開機(jī)自啟
systemctl disable --now httpd.service
#查看服務(wù)的依賴關(guān)系
systemctl list-dependencies name.service
#殺掉進(jìn)程
systemctl kill unitname

以上就是“Linux 系統(tǒng)啟動與服務(wù)管理的方法是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,丸趣 TV 小編每天都會為大家更新不同的知識,如果還想學(xué)習(xí)更多的知識,請關(guān)注丸趣 TV 行業(yè)資訊頻道。

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-08-03發(fā)表,共計3692字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 历史| 合水县| 涿州市| 安远县| 葫芦岛市| 华安县| 孝昌县| 定远县| 嘉兴市| 天镇县| 同仁县| 正宁县| 高唐县| 铁力市| 精河县| 祁阳县| 灵川县| 正蓝旗| 鄄城县| 曲松县| 枣阳市| 江口县| 通州区| 武冈市| 双柏县| 鞍山市| 上思县| 青州市| 盈江县| 读书| 云浮市| 灌南县| 固镇县| 平乐县| 青岛市| 肥乡县| 林芝县| 衡南县| 漾濞| 海丰县| 嵊泗县|