標籤:linux rpm包安裝管理
rpm包管理:安裝、升級、卸載、查詢、檢驗
安裝:
rpm {-i|--install} [install-options] PACKAGE_FILE1...
-h: hash,以#來表示安裝進度;
-v, --verbose:顯示安裝過程中的詳細資料;
安裝時常用的組合: -ivh
--test:不執行真正的安裝過程,而僅報告依賴關係及衝突資訊等;
程式包之間存在依賴關係:
我們要安裝程式包A,程式包A必需依賴程式包B,才能運行。這就是依賴關係。
依賴可能是多層次的,A 依賴 B ,B 依賴 D, D 依賴 H 。我們在安裝的時候就必需先從H依次往上安裝,才能順利安裝成功
依賴關係是可以忽略:
忽略能安裝成功,但未必能成功運行;
--nodeps
覆蓋安裝:重新安裝並覆蓋原有的檔案
--replacepkgs
強制安裝:
--force
升級:
rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...
-U: 升級或安裝
rpm {-F|--freshen} [install-options] PACKAGE_FILE ...
-F:升級
組合:-Uvh, -Fvh
--test
--nodeps
--force
--oldpackage:降級到舊版本;
升級與安裝雷同
注意:如果程式包的設定檔安裝後曾被修改,升級時,新版本的檔案不會覆蓋老版本的設定檔,而把新版本的設定檔重新命名(加尾碼.rpmnew)後儲存;
卸載:
移除已經安裝的程式包
rpm {-e|--erase} [--allmatches] [--nodeps] [--test] PACKAGE_NAME ...
簡單用法:rpm -e PACKAGE_NAME...
--nodeps:忽略依賴關係;
--test: 測試卸載;dry-run模式;
--allmatches: 如果一個程式包同時安裝多個版本,則此選項一次全部卸載之;
多操作幾次,就會熟練的,加油額。
注意:如果程式包的設定檔安裝後曾被修改,卸載時,此檔案通常不會被刪除,而是被重新命名(加尾碼.rpmsave)後留存;
查詢:
查詢某包是否已經安裝,以及檢查安裝的所有包;還可以查看某包的詳細資料;
rpm {-q|--query} [select-options] [query-options]
[select-options]:
1、查詢某包或某些包是否安裝:
rpm -q PACKAGE_NAME...
2、查詢已經安裝的所有包:
rpm -qa
3、查詢某檔案是由哪個包安裝產生:
rpm -qf /PATH/TO/SOMEFILE
4、查詢尚未安裝的包檔案的相關資訊
-p
# rpm -qpi PACKAGE_FILE
[query-options]:
1、查詢某包的簡要說明資訊:
rpm -qi PACKAGE_NAME
2、查詢某包安裝產生的檔案清單:
rpm -ql PACKAGE_NAME
3、查詢某包安裝完成後產生的所有設定檔:
rpm -qc PACKAGE_NAME
4、查詢某包安裝完成後產生的所有協助檔案:
rpm -qd PACKAGE_NAME
5、查看某包製作時隨版本變化的changelog資訊:
rpm -q --changelog PACKAGE_NAME
6、查詢某包提供的capabilities:
rpm -q --provides PACKAGE_NAME
7、查詢某包所依賴的capabilities:
rpm -q --requires PACKAGE_NAME
8、查詢某包安裝或卸載時執行指令碼:
rpm -q --scripts PACKAGE_NAME
校正:
查詢包安裝之後產生的檔案是否發生了改變
rpm {-V|--verify} [select-options] [verify-options]
常見用法:rpm -V PACKAGE_NAME
S file Size differs
M Mode differs (includes permissions and file type)
5 digest (formerly MD5 sum) differs
D Device major/minor number mismatch
L readLink(2) path mismatch
U User ownership differs
G Group ownership differs
T mTime differs
P caPabilities differ
程式包的合法性驗正:
來源合法:
由我們信任的製作者提供
依賴於:製作者的數位簽章;簽名是作者使用自己的私密金鑰加密程式包的特性碼進行的;
內容合法:
包未被二次修改;完整性校正成功
依賴於:製作者提供的程式特徵碼;
驗正方式:安裝者用同樣的特徵碼提取演算法提取程式包的特徵碼,並與原作者提供的相比較;
驗正其光碟片中程式包的來源及完整性:
rpm --import /path/to/RPM-GPG-KEY-FILE
例如:# rpm --import RPM-GPG-KEY-CentOS-6
驗正:rpm {-K|--checksig} PACKAGE_FILE
--nosignature: 不檢查來源合法性
--nodigest: 不檢查完整性
rpm管理器資料庫:/var/lib/rpm
重建資料庫:
rpm {--initdb|--rebuilddb} [-v] [--dbpath DIRECTORY]
--initdb: 初始化資料庫,即資料庫完全不存時,可建立之;
--rebuilddb: 無論當前資料存在與否,都會直接重建此庫;
大菜鳥Linux
本文出自 “大菜鳥Linux” 部落格,請務必保留此出處http://58dream.blog.51cto.com/10078511/1631981
Linux centos6.6 rpm安裝與管理