1. 程式人生 > >CentOS 軟體和服務管理

CentOS 軟體和服務管理

CentOS 軟體和服務管理

Yum 軟體倉庫是為了進一步降低軟體安裝難度和複雜度而設計的技術。

Yum 軟體倉庫可以根據使用者的要求分析出所需軟體包及其相關的依賴關係,然後自動從伺服器下載軟體包並安裝到系統。

常見的Yum 命令

命令 作用
yum repolist all 列出所有倉庫
yum list all 列出倉庫中所有軟體包
yum info 軟體包名稱 檢視軟體包資訊
yum install 軟體包名稱 安裝軟體包
yum reinstall 軟體包名稱 重新安裝軟體包
yum update 軟體包名稱 升級軟體包
yum remove 軟體包名稱 移除軟體包
yum clean all 清除所有倉庫快取
yum check-update 檢查可更新的軟體包
yum grouplist 檢視系統中已經安裝的軟體包組
yum groupinstall 軟體包組 安裝指定的軟體包組
yum groupremove 軟體包組 移除指定的軟體包組
yum groupinfo 軟體包組 查詢指定的軟體包組資訊

systemd初始化程序

Linux 作業系統的開機過程是這樣的,即從BIOS開始,然後進入Boot Loader,再載入系統核心,然後核心進行初始化,最後啟動初始化程序。

初始化程序作為Linux系統的第一個程序,它需要完成Linux系統中相關的初始化工作,為使用者提供合適的工作環境。

CentOS7 系統已經替換掉了熟悉的初始化程序服務 System V init,正式採用全新的systemd 初始化程序服務採用了併發啟動機制,開機速度得到了不小的提升。

CentOS7 系統選擇systemd 初始化程序服務已經沒有了“執行級別”的概念,Linux系統在啟動時要進行大量的初始化工作,比如掛載檔案系統和交換分割槽、啟動各類程序服務等,這些都可以看作是一個一個的單元(Unit),systemd 用目標(target)代替了 System V init 中執行級別的概念。

systemd 與 System V init 的區別以及作用

System V init執行級別 systemd 目標名稱 作用
0 runleve10.target,poweroff.target 關機
1 runleve11.target,rescue.target 單使用者模式
2 runleve12.target,multi-user.target 等同於級別3
3 runleve13.target,multi-user.target 多使用者的文字介面
4 runleve14.target,multi-user.target 等同於級別3
5 runleve15.target,graphical.target 多使用者的圖形介面
6 runleve16.target,reboot.target 重啟
emergency emergency.target 緊急Shell

如果想要將系統預設的執行目標修改為“多使用者,無圖形”模式,可直接用 ln 命令把多使用者模式目標檔案連線到 /etc/systemd/system/ 目錄:

ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target

CentOS 6 使用 service、 chkconfig 等命令來管理系統服務。

CentOS 7 使用 systemctl 命令來管理服務。

systemctl 管理服務的啟動、重啟、過載、檢視狀態等命令

System V init命令(CentOS6) systemctl 命令(CentOS7) 作用
service foo start systemctl start foo.service 啟動服務
service foo restart systemctl restart foo.service 重啟服務
service foo stop systemctl stop foo.service 停止服務
service foo reload systemctl reload foo.service 重新載入配置檔案(不終止服務)
service foo status systemctl status foo.service 檢視服務狀態

systemctl設定服務開機啟動、不啟動、檢視各級別下服務啟動狀態等常用命令

System V init命令(CentOS6) systemctl 命令(CentOS7) 作用
chkconfig foo on systemctl enable foo.service 開機自動啟動
chkconfig foo off systemctl disable foo.service 開機不自動啟動
chkconfig foo systemctl is-enabled foo.service 檢視服務是否為開機啟動
chkconfig foo --list systemctl list-unit-files --type=service 檢視各級別下服務啟動與禁用情況