軟體的安裝及管理、yum命令與rpm命令
阿新 • • 發佈:2018-11-08
安裝軟體
yum命令與rpm命令的區別:
rpm是由紅帽公司開發的軟體包管理方式,使用rpm我們可以方便的進行軟體的安裝、查詢、解除安裝、升級等工作。 但是rpm軟體包之間的依賴性問題往往會很繁瑣,尤其是軟體由多個rpm包組成時。但rpm可以解決死迴圈依賴性,這是yum解決不了的 Yum(全稱為 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE中的Shell前端軟體包管理器。 基於RPM包管理,能夠從指定的伺服器自動下載RPM包並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。但當yum倉庫裡沒有相應的依賴包時,它將無法解決依賴性就會報錯
軟體包名稱詳解:
wps-office-10.1.0.5672-1.a21.x86_64.rpm
[1] [2] [3] [4] [5]
[1] 軟體名稱
[2] 軟體版本
[3] 適用系統
[4] 適用架構
[5] 適用rpm體系軟體
注意:做此實驗時,真機已經搭建好了yum源和yum源的共享
(1)yum命令
yum install 軟體名(softwarename) #安裝某個軟體 yum reinstall 軟體名 #重新安裝某個軟體 yum repolist #列出設定yum源資訊 yum remove 軟體名 #解除安裝某個軟體 yum list 軟體名 #檢視軟體源中是否有此軟體 yim list all #列出所有的軟體名 yum list installed #列出已安裝好的軟體名 yum list available #列出未安裝但可以用yum安裝的軟體名 yum search 軟體資訊 #根據軟體資訊搜尋軟體名稱 yum whatprovides 檔名/命令 #在yum源中查詢包含filename檔案的軟體包 yum clean all #清空yum快取 yum history #檢視系統軟體改變歷史(比如install,remove等重要操 作) yum update #更新軟體 yum info 軟體名 #檢視軟體資訊 yum groups list #檢視軟體組資訊 yum groups info 軟體組名(softwaregroup) #檢視軟體組中包含的軟體 yum groups install 軟體組 #安裝元件 yum groups remove 軟體組名 #解除安裝元件
實驗:
##列出yum源中所有的軟體名
[[email protected] ~]# yum list
##列出系統中已安裝好的軟體名
[[email protected] ~]# yum list installed
##列出未安裝但可以用yum安裝的軟體名
[[email protected] ~]# yum list available
##檢視軟體源(yum源)中是否有dhcp
[[email protected] ~]# yum list dhcp
[[email protected] ~]# yum list available | wc -l
3166
[ [email protected] ~]# yum list installed | wc -l
1227
@@如果刪除dhcp服務的配置檔案,只能是重新安裝dhcp服務,才能恢復
[[email protected] ~]# yum list dhcp
[[email protected] ~]# ll /etc/dhcp
[[email protected] ~]# rm -rf /etc/dhcp
[[email protected] ~]# ll /etc/dhcp
[[email protected] ~]# yum install dhcp
##重新安裝; -y表示直接安裝不提示
[[email protected] ~]# yum reinstall -y dhcp
[[email protected] ~]# ll /etc/dhcp
##解除安裝dhcp
[[email protected] ~]# yum remove dhcp -y
##安裝dhcp
[[email protected] ~]# yum install dhcp -y
##檢視dhcp軟體資訊
[[email protected] ~]# yum info dhcp
##根據軟體資訊搜尋軟體名
[[email protected] ~]# yum search dhcp
##搜尋瀏覽器
[[email protected] ~]# yum search web
@@如果丟失了軟體所包含的檔案,想要根據檔名搜尋軟體名只能用whatprovides
[[email protected] ~]# rm -rf /etc/dhcp
[[email protected] ~]# yum search /etc/dhcp
##在yum源中查詢包含某個檔案(目錄)或者命令(二進位制檔案)的軟體名
[[email protected] ~]# yum whatprovides /etc/dhcp
@@groups 表示軟體組:多個軟體
##檢視軟體組資訊
[[email protected] ~]# yum groups list
#可用tabble鍵可補齊
[[email protected] ~]# yum groups info
##檢視GNOME軟體組中包含的軟體
[[email protected] ~]# yum groups info GNOME
#可用tabble鍵可補齊
[[email protected] ~]# yum groups install
##安裝Additional Development元件
[[email protected] ~]# yum groups install Additional Development
##解除安裝元件
[[email protected] ~]# yum groups remove Additional Development
2.如何安裝帶有依賴性的軟體
(1).安裝wps
yum 源可以忽略部分依賴性 ;實際上安裝wps時,安裝了兩個軟體,一個是它的依賴性,由於yum倉庫中有這個包的依賴性。所以就直接解決了依賴性
@1.下載wps
[[email protected] ~]# ls
wps-office-9.1.0.4961-1.a18p1.x86_64.rpm
@2.安裝wps
[[email protected]~ ]# yum install -y wps-office-10.1.0.5672-1.a21.x86_64.rpm
(2).安裝畫圖軟體
有依賴性並且這些依賴性構成死迴圈(a需要b,b又需要a),此時使用yum源無法解決
方法1:逐步解決依賴性
@1.下載畫圖軟體包(libs為它的依賴包)
[[email protected] ~]# ls
kolourpaint-4.10.5-4.el7.x86_64.rpm
kolourpaint-libs-4.10.5-4.el7.x86_64.rpm
##直接安裝失敗
[[email protected] ~]# yum install -y kolourpaint-4.10.5-4.el7.x86_64.rpm
[[email protected]~ ]# yum install -y kolourpaint-libs-4.10.5-4.el7.x86_64.rpm
此時需要用rpm命令來解決它的依賴性
@2.解決依賴性
[[email protected] ~]# rpm -ivh kolourpaint-4.10.5-4.el7.x86_64.rpm
[[email protected] ~]# yum list kde-runtime
[[email protected] ~]# yum install -y kde-runtime.x86_64
## --nodeps 表示忽略依賴性
[[email protected] ~ ]# rpm -ivh kolourpaint-libs-4.10.5-4.el7.x86_64.rpm --nodeps
##此時依舊有依賴性
[[email protected] ~]# rpm -ivh kolourpaint-4.10.5-4.el7.x86_64.rpm
##用search無法搜尋到相關的軟體包;因為libqimageblitz.so.4是一個檔案
[[email protected] ~]# yum search libqimageblitz.so.4
##此時可以用whatprovides搜尋軟體名
[[email protected] ~]# yum whatprovides */libqimageblitz.so.4
[[email protected] ~]# yum install -y qimageblitz-0.0.6-7.el7.x86_64
@3.重新安裝,成功!
[[email protected] ~]# rpm -ivh kolourpaint-4.10.5-4.el7.x86_64.rpm
@3測試:
##開啟畫圖軟體報錯,因為連線虛擬機器時未開啟圖形
[[email protected] ~]# kolourpaint
[[email protected] ~]# exit
##以圖形方式連線虛擬機器
[[email protected] ~]# ssh [email protected] -X
##再次開啟畫圖軟體,成功!
[[email protected] ~]# kolourpaint
方法2:下載好軟體包和依賴包後直接一起安裝即可!
##先強制解除安裝 kolourpain
[[email protected] ~]# rpm -e kolourpaint --nodeps
[[email protected] ~]# ls
kolourpaint-4.10.5-4.el7.x86_64.rpm
kolourpaint-libs-4.10.5-4.el7.x86_64.rpm
[[email protected] ~]# yum install -y kolourpaint-libs-4.10.5-4.el7.x86_64.rpm kolourpaint-4.10.5-4.el7.x86_64.rpm
[[email protected] ~]# kolourpaint
3.rpm命令
rpm -ivh name.rpm # -i安裝,-v顯示過程 -h指定加密方式為hash加密
rpm -ivh name.rpm --force #強制安裝,但不能忽略依賴性
rpm -ivh name.rpm --nodeps --force #強制安裝並且忽略依賴性
rpm -e name #解除安裝
rpm -ql name #查詢軟體生成檔案
rpm -qc name #查詢軟體的配置檔名稱
rpm -qd name #查詢軟體的說明檔名稱
rpm -qlp name.rpm #查詢軟體安裝後會生成什麼檔案
rpm -qa #查詢系統中安裝的所有軟體名稱
rpm -qa |grep name #查詢軟體是否安裝
rpm -q name #查詢軟體是否安裝
rpm -qp name.rpm #查詢軟體安裝包安裝後的名字(p #pack 安裝包)
rpm -qf filename #檢視filename屬於那個安裝包
rpm -qi name #檢視軟體資訊
rpm -Kv name.rpm #檢測軟體包是否被篡改
rpm -qp name.rpm --scripts #檢測軟體在安裝或者解除安裝過程中執行的動作
注意:name.rpm #安裝包的名稱
name #軟體的名稱
-qa |grep 後邊跟的名字是模糊指定
-q 後邊跟的名字是精確指定的
解決依賴性的方法:(1)先下載所需軟體依賴的軟體,再下載所需軟體
(2)--nodeps 它的主要作用是解決依賴性的死迴圈
補充:xml是可擴充套件語言,用於資料封裝
實驗:
[[email protected] ~]# ls
kolourpaint-4.10.5-4.el7.x86_64.rpm wps-office-10.1.0.5672-1.a21.x86_64.rpm
kolourpaint-libs-4.10.5-4.el7.x86_64.rpm
##解除安裝wps軟體
[[email protected] ~]# yum remove -y wps-office
##-h表示指定加密方式為hash加密
[[email protected] ~]# rpm -ih wps-office-10.1.0.5672-1.a21.x86_64.rpm
##-e表示解除安裝
[[email protected] ~]# rpm -e wps-office
####-v表示顯示安裝過程的詳細資訊
[[email protected] ~]# rpm -ivh wps-office-10.1.0.5672-1.a21.x86_64.rpm
[[email protected] ~]# rpm -e wps-office
##無法解除安裝,因為有依賴性
[[email protected] ~]# rpm -e kolourpaint
##--nodeps表示忽略依賴性,此時便可以解除安裝掉
[[email protected] ~]# rpm -e kolourpaint --nodeps
##-q表示該軟體是否安裝
[[email protected] ~]# rpm -q kolourpaint
package kolourpaint is not installed
[[email protected] ~]# rpm -q httpd
httpd-2.4.6-40.el7.x86_64
[[email protected] ~]# rpm -q wps-office
package wps-office is not installed
##查詢系統中是否安裝了httpd
[[email protected] ~]# rpm -qa | grep httpd
##安裝wps
[[email protected] ~]# rpm -ivh wps-office-9.1.0.4961-1.a18p1.x86_64.rpm
##-qp表示查詢軟體安裝包安裝後的名字(p 表是pack安裝包)
[[email protected] ~]# rpm -qp httpd
error: open of httpd failed: No such file or directory
##必須是以.rpm結尾的安裝包
[[email protected] ~]# rpm -qp wps-office-9.1.0.4961-1.a18p1.x86_64.rpm
wps-office-9.1.0.4961-1.a18p1.x86_64
[[email protected] ~]# rpm -qp kolourpaint-libs-4.10.5-4.el7.x86_64.rpm
##查詢軟體生成的檔案
[[email protected] ~]# rpm -ql httpd
##-ql後邊跟的軟體名而不是軟體包
[[email protected] ~]# rpm -ql wps-office-10.1.0.5672-1.a21.x86_64.rpm
[[email protected] ~]# rpm -ql wps-office
##查詢軟體的配置檔名稱
[[email protected] ~]# rpm -qc httpd
[[email protected] ~]# rpm -qc chrony
[[email protected] ~]# rpm -qc openssh-server
##檢視軟體資訊
[[email protected] ~]# rpm -qi httpd
##查詢軟體的說明檔名稱
[[email protected] ~]# rpm -qd dhcp
##檢視某個檔案屬於哪個安裝包
[[email protected] ~]# rpm -qf /etc/httpd/
[[email protected] ~]# rm -rf /bin/ls
[[email protected] ~]# ls
-bash: /usr/bin/ls: No such file or directory
[[email protected] ~]# rpm -qf /bin/ls
[[email protected] ~]# yum reinstall -y coreutils-8.22-11.el7.x86_64
[[email protected] ~]# ls
kolourpaint-4.10.5-4.el7.x86_64.rpm
kolourpaint-libs-4.10.5-4.el7.x86_64.rpm
wps-office-9.1.0.4961-1.a18p1.x86_64.rpm
##安裝畫圖軟體
[[email protected] ~]# yum install -y kolourpaint-4.10.5-4.el7.x86_64.rpm kolourpaint-libs-4.10.5-4.el7.x86_64.rpm
##解除安裝,發現有依賴性
[[email protected] ~]# rpm -e kolourpaint
## --force表示強制安裝,但不能忽略依賴性
[[email protected] ~]# rpm -e kolourpaint --force
rpm: only installation and upgrading may be forced
## --nodeps表示忽略依賴性
[[email protected] ~]# rpm -e kolourpaint --nodeps
[[email protected] ~]# rpm -q kolourpaint
package kolourpaint is not installed
[[email protected] ~]# ls
kolourpaint-4.10.5-4.el7.x86_64.rpm
kolourpaint-libs-4.10.5-4.el7.x86_64.rpm
wps-office-9.1.0.4961-1.a18p1.x86_64.rpm
##備份
[[email protected] ~]# cp kolourpaint-4.10.5-4.el7.x86_64.rpm kolourpaint-4.10.5-4.el7.x86_6411.rpm
[[email protected] ~]# rpm -Kv kolourpaint-4.10.5-4.el7.x86_6411.rpm
##模擬篡改軟體資訊
[[email protected] ~]# echo hello >> kolourpaint-4.10.5-4.el7.x86_6411.rpm
##檢測軟體包是否被篡改
[[email protected] ~]# rpm -Kv kolourpaint-4.10.5-4.el7.x86_6411.rpm
[[email protected] ~]# rm -rf kolourpaint-4.10.5-4.el7.x86_6411.rpm
@@在網站上下載好的軟體包,並非直接安裝。在安裝之前需要注意檢視軟體是否被惡意竄改,或者是否在安裝或者解除安裝過程中會執行破壞性動作
##這是我下載的兩個軟體包
[[email protected] ~]# ls
FluffyMcAwesome-A-6.4.0-11.r19335.x86_64.rpm
FluffyMcAwesome-B-6.4.0-11.r19335.x86_64.rpm
@1.檢測軟體包是否被篡改;發現兩個軟體包都沒有被篡改過
[[email protected] ~]# rpm -Kv FluffyMcAwesome-A-6.4.0-11.r19335.x86_64.rpm
[[email protected] ~]# rpm -Kv FluffyMcAwesome-B-6.4.0-11.r19335.x86_64.rpm
@2.檢測軟體在安裝或者解除安裝過程中執行的動作
[[email protected] ~]# rpm -qp FluffyMcAwesome-A-6.4.0-11.r19335.x86_64.rpm --scripts
[[email protected] ~]# rpm -qp FluffyMcAwesome-B-6.4.0-11.r19335.x86_64.rpm --scripts