rpm&yum常用的命令以及systemd初始化程序
阿新 • • 發佈:2020-11-14
RPM(紅帽軟體包管理器)
常用的RPM軟體包命令如下:
安裝軟體的命令格式 rpm -ivh filename.rpm 升級軟體的命令格式 rpm -Uvh filename.rpm 解除安裝軟體的命令格式 rpm -e filename.rpm 查詢軟體描述資訊的命令格式 rpm -qpi filename.rpm 列出軟體檔案資訊的命令格式 rpm -qpl filename.rpm 查詢檔案屬於哪個RPM的命令格式 rpm -qf filename.rpm
注意:這裡的filename.rpm為要進行安裝的紅帽軟體包
其中使用rpm安裝nfs-utils包的命令如下:
rpm -ivh nfs-utils-2.3.3-14.el8.x86_64.rpm
命令的執行結果為:
warning: nfs-utils-2.3.3-14.el8.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Verifying... ################################# [100%]
Preparing... ################################# [100%]
package nfs-utils-1:2.3.3-14.el8.x86_64 is already installed
其他的命令就不多在此進行演示了,上面的命令只是rpm中的部分命令,如果想要檢視rpm中可執行的命令,請用如下的命令來進行檢視:
man rpm 或 rpm --help
YUM軟體倉庫(重點)
為什麼要出現YUM技術?
由於RPM可以幫助使用者查詢軟體相關的依賴關係,並且也能夠協助使用者完成日常的軟體安裝的工作。但是有一些大型的軟體可能與數十個程式都有著依賴的關係。而我們此時再用RPM來一個一個安裝相關的依賴包就顯得有些繁瑣了。因此,為了解決這個問題,YUM技術應運而生。
注意:由於本人做實驗的系統為RedHat 8 版本的系統,在原先的7版本系統中,YUM軟體倉庫使用的是yum v3 版本,其中所使用的命令為:yum。而現在的8版本系統中,YUM軟體倉庫使用的是yum v4 版本,其中所使用的命令為:dnf(yum)。
YUM軟體倉庫的技術拓撲圖如下:
! [] ("https://www.linuxprobe.com/wp-content/uploads/2015/01/yum.png")
其中,客戶端主機需要配置repo檔案,在本地設定好伺服器端配置的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 軟體包組 查詢指定的軟體包組資訊
其中使用yum安裝/刪除/檢視資訊vsftpd的命令如下
yum install vsftpd
yum remove vsftpd
yum info vsftpd
其中安裝時的顯示資訊如下:
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Last metadata expiration check: 0:03:31 ago on Sat 14 Nov 2020 02:12:20 AM EST.
Dependencies resolved.
============================================================================================================================================================================================================================================
Package Arch Version Repository Size
============================================================================================================================================================================================================================================
Installing:
vsftpd x86_64 3.0.3-28.el8 AppStream 180 k
Transaction Summary
============================================================================================================================================================================================================================================
Install 1 Package
Total size: 180 k
Installed size: 356 k
Is this ok [y/N]: y --代表是否進行安裝? y為是,n為否
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : vsftpd-3.0.3-28.el8.x86_64 1/1
Running scriptlet: vsftpd-3.0.3-28.el8.x86_64 1/1
Verifying : vsftpd-3.0.3-28.el8.x86_64 1/1
Installed products updated.
Installed:
vsftpd-3.0.3-28.el8.x86_64
Complete!
至於其他命令的資訊,在這裡就不過多進行展示。
注意: yum命令並不只是上面所說的幾種。同樣,如果要想獲取更多的命令,請通過man命令或--help長引數來進行檢視(-h短引數進行檢視也可以)
systemd初始化程序( systemd 執行目標)
systemd初始化程序指的是什麼意思?
當linux系統進行開機時,首先先從BIOS開始,然後進行Boot Loader,在後來去載入系統的核心,然後核心進行初始化,最後啟動初始化的程序。那麼,初始化程序作為Linux系統第一個程序,他需要完成Linux系統中相關的初始化操作,最終為使用者提供合適的工作環境。
通俗一點來講就是,當linux系統進行開機時,它會去載入設定好的初始化程序,根據初始化程序的不同,它就會為使用者提供不同的工作環境。
systemd初始化程序的種類如下:
System V init執行級別 systemd目標名稱 systemd 目標作用
0 poweroff.target 關機
1 rescue.target 單使用者模式
2 multi-user.target 多使用者的文字介面
3 multi-user.target 多使用者的文字介面
4 multi-user.target 多使用者的文字介面
5 graphical.target 多使用者的圖形介面
6 reboot.target 重啟
emergency emergency.target 救援模式
其中,linux系統(如果剛開始選擇安裝linux系統時選擇的模式為:Server with GUI 模式的話,那麼此係統預設的初始化程序為: graphical.target 執行級別為5
那麼,問題來了,我們可不可以把系統預設的執行目標(初始化程序)修改為多使用者,無圖形模式呢? 命令如下:
ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
其中:multi-user.target 為多使用者的文字介面模式 default.target 為系統預設的執行模式
那麼,這條命令執行之後,當你重新啟動Linux系統時,你就會發現你就進不去圖形介面了。只能在文字介面進行操作。
同樣,如果你將reboot.target設定成了系統預設的執行模式的話,那麼當你重新啟動Linux系統時,你就會發現系統一直處於重啟狀態,什麼都進不去。
RHEL8系統常用的systemctl管理服務命令
當我們在RHEL系統配置服務後,如何進行服務的啟動,停止,重啟等操作呢?這時,我們就可以用到systemctl管理服務命令了。
systemctl管理服務命令的命令格式如下:
表1-4 服務的啟動、重啟、停止、過載、檢視狀態等常用命令
老系統命令(RHEL6版本之前) 新系統命令(RHEL7版本之後) 作用
service foo start systemctl start httpd 啟動服務
service foo restart systemctl restart httpd 重啟服務
service foo stop systemctl stop httpd 停止服務
service foo reload systemctl reload httpd 重新載入配置檔案(不終止服務)
service foo status systemctl status httpd 檢視服務狀態
表1-5 服務開機啟動、不啟動、檢視各級別下服務啟動狀態等常用命令
老系統命令 新系統命令 作用
chkconfig foo on systemctl enable httpd 開機自動啟動
chkconfig foo off systemctl disable httpd 開機不自動啟動
chkconfig foo systemctl is-enabled httpd 檢視特定服務是否為開機自啟動
chkconfig --list systemctl list-unit-files --type=httpd 檢視各個級別下服務的啟動與禁用情況