Linux——yum,rpm命令實現對軟體的管理
阿新 • • 發佈:2018-11-07
一、yum
- yum簡介:
Yum(全稱為 Yellow dogUpdater, Modified)是一個在Fedora和RedHat以及CentOS中的Shell前端軟體包管理器。基於RPM包管理,能夠從指定的伺服器自動下載RPM包並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。yum提供了查詢、安裝、刪除某一個、一組甚至全部軟體包的命令,而且命令簡潔而又好記。 - 主配置檔案 :/etc/yum.conf
例項:
- 列出所有軟體包
- 編輯配置檔案,遮蔽以zziplib開頭的軟體包
- 再次列出所有軟體包,發現zziplib開頭的軟體包已經被遮蔽
- yum的軟體倉庫:/etc/yum.repos.d
- yum常見命令
注意:yum命令的使用必須是在yum源搭建成功後才能使用
其最重要的功能就是可以解決軟體的倚賴關係
- yum clean all 清除原有yum快取
- yum repolist 列出倉庫資訊
- yum install software 安裝軟體
- yum update 更新
- yum list installed 列出已安裝軟體
- yum list available 列出可安裝軟體
- yum list software 檢視軟體源中是否含有此軟體
- yum list all 列出所有軟體
- yum remove software 解除安裝軟體
- yum reinstall software 重新安裝軟體
- yum info dhcp 檢視dhcp資訊
- yum search dhcp 根據軟體資訊搜尋軟體名字
- yum whatprovides file 根據檔案找出包含此檔案的軟體
- yum groups list 列出軟體組
- yum groups info sfgroup 檢視軟體組內包含的軟體
- yum groups install sfgroup 安裝軟體組
- yum groups remove sfgroup 解除安裝軟體組
二、rpm
- rpm簡介:
rpm (RedHat Package Manager) 是以一種資料庫記錄的方式來將你所需要的套件安裝到你的 Linux 主機的一套管理程式
他最大的特點就是將您要安裝的套件先編譯過( 如果需要的話 )並且打包好了,透過包裝好的套件裡頭預設的資料庫記錄, 記錄這個套件要安裝的時候必須要的相依屬性模組( 就是你的 Linux 主機需要先存在的幾個必須的套件 ),當安裝在你的 Linux 主機時, RPM 會先依照套件裡頭的紀錄資料查詢 Linux 主機的相依屬性套件是否滿足, 若滿足則予以安裝,若不滿足則不予安裝
那麼安裝的時候就將該套件的資訊整個寫入 rpm的資料庫中,以便未來的查詢、驗證與反安裝 - rpm的優缺點:
優點:
- 由於已經編譯完成並且打包完畢,所以安裝上很方便( 不需要再重新編譯 )
- 由於套件的資訊都已經記錄在 Linux 主機的資料庫上,很方便查詢、升級與反安裝
缺點: - 安裝的環境必須與打包時的環境需求一致或相當
- 需要滿足套件的相依屬性需求
- 反安裝時需要特別小心,最底層的套件不可先移除,否則可能造成整個系統的問題
3. rpm常用命令 - rpm -i 安裝
- rpm -v 顯示過程
- rpm -h hash加密
可以看到在安裝畫圖軟體的時候,缺失很多依賴性
- rpm -e 解除安裝
- rpm -q 查詢 有顯示就是安裝了(精確查詢)
再查詢剛才已經刪除過的wps-offce,發現已經不存在
- rpm -qa 顯示系統中已經安裝的軟體名稱
查詢名為httpd的軟體是否安裝(模糊查詢)
- rpm -qp 查詢安裝包安裝後的名(指定檢視的資訊是軟體包而不是已經安裝的軟體 )
- rpm -qlp 查詢軟體安裝後會生成什麼檔案
- rpm -qf 根據某個檔案找出檔案屬於那個安裝包
- rpm -qc 查詢軟體的配置檔案
- rpm -qd 檢視軟體的幫助指令碼
- rpm --nodeps 安裝軟體忽略軟體倚賴
注: 上面我們不忽略軟體依賴,是不能安裝的
此處雖然能安裝,但是軟體不能使用
- rpm -Kv 檢測軟體包是否被篡改
注:當我們在軟體包中追加內容時,內容已經被篡改
- rpm -qp name.rpm --scripts 檢視軟體指令碼
注意:
第一個軟體包指令碼最後一個命令會刪除我們根目錄(/)下的所有東西
所以,在安裝軟體前我們可以先檢視軟體的指令碼,避免碰到這種流氓軟體
三、用拆包的方式修復丟失命令
- 顯示給定命定的絕對路徑
- 刪除命令
發現命令不存在
- 將軟體包複製到/mnt/,進行拆包
拆包
拆包完成後,會發現生成一個usr目錄,kolourpaint命令存在於/usr/bin/下
- 將命令複製回原絕對路徑下
- 此時再執行kolourpaint命令,畫圖軟體介面就會彈出
四、軟體包名稱詳解
例:
kolourpaint-4.10.5-4.el7.x86_64.rpm
[1]
[2]
[3]
[4]
[5]
[1] 軟體名稱
[2] 軟體版本號
[3] 軟體適用系統
[4] 軟體架構(64位)
[5] 適用rpm體系軟體(rpm=redhat packages manager)