linux中rpm命令的妙用
CentOS系統上使用rpm命令管理程序包: 安裝、卸載、升級、查詢、校驗、數據庫維護
安裝:
rpm {-i|–install} [install-options] PACKAGE_FILE…
-v: verbose
-vv:
-h: 以#顯示程序包管理執行進度 rpm -ivh PACKAGE_FILE …
–test: 測試安裝,但不真正執行安裝;dry run模式
–nodeps:忽略依賴關系 –replacepkgs | replacefiles
–nosignature: 不檢查來源合法性
–nodigest:不檢查包完整性
–noscipts:不執行程序包腳本片斷
%pre: 安裝前腳本;–nopre
%post: 安裝后腳本;–nopost
%preun: 卸載前腳本;–nopreun
%postun: 卸載后腳本; –nopostun
rpm包升級
? 升級: ?rpm {-U|–upgrade} [install-options] PACKAGE_FILE… ?
rpm {-F|–freshen} [install-options] PACKAGE_FILE…
upgrade:安裝有舊版程序包,則“升級” 如果不存在舊版程序包,則“安裝”
freshen:安裝有舊版程序包,則“升級” 如果不存在舊版程序包,則不執行升級操作
rpm -Uvh PACKAGE_FILE …
rpm -Fvh PACKAGE_FILE …
–oldpackage:降級
–force: 強行升級
包查詢
? rpm {-q|–query} [select-options] [query-options] ?[select-options]
-a: 所有包
-f: 查看指定的文件由哪個程序包安裝生成
-p rpmfile:針對尚未安裝的程序包文件做查詢操作;
–whatprovides CAPABILITY:查詢指定的CAPABILITY 由哪個包所提供
–whatrequires CAPABILITY:查詢指定的CAPABILITY被 哪個包所依賴 ?
rpm2cpio 包文件|cpio –itv 預覽包內文件 ?
rpm2cpio 包文件|cpio –id “*.conf” 釋放包內文件
–changelog:查詢rpm包的changelog
-c: 查詢程序的配置文件
-d: 查詢程序的文檔
-i: information
-l: 查看指定的程序包安裝后生成的所有文件;
–scripts:程序包自帶的腳本片斷
-R: 查詢指定的程序包所依賴的CAPABILITY;
–provides: 列出指定程序包所提供的CAPABILITY
查詢用法:
-qi PACKAGE, -qf FILE, -qc PACKAGE, -ql PACKAGE, -qd PACKAGE
-qpi PACKAGE_FILE, -qpl PACKAGE_FILE, …
-qa
卸載:
rpm {-e|–erase} [–allmatches] [–nodeps] [-noscripts] [–notriggers] [–test] PACKAGE_NAME …
包校驗
? rpm {-V|–verify} [select-options] [verify-options]
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數據庫
? 數據庫重建:
/var/lib/rpm ?
rpm {–initdb|–rebuilddb}
initdb: 初始化
如果事先不存在數據庫,則新建之
否則,不執行任何操作
rebuilddb:重建
無論當前存在與否,直接重新創建數據庫
參數說明:
-
-a 查詢所有套件。
-
-b<完成階段><套件檔>+或-t <完成階段><套件檔>+ 設置包裝套件的完成階段,并指定套件檔的文件名稱。
-
-c 只列出組態配置文件,本參數需配合"-l"參數使用。
-
-d 只列出文本文件,本參數需配合"-l"參數使用。
-
-e<套件檔>或–erase<套件檔> 刪除指定的套件。
-
-f<文件>+ 查詢擁有指定文件的套件。
-
-h或–hash 套件安裝時列出標記。
-
-i 顯示套件的相關信息。
-
-i<套件檔>或–install<套件檔> 安裝指定的套件檔。
-
-l 顯示套件的文件列表。
-
-p<套件檔>+ 查詢指定的RPM套件檔。
-
-q 使用詢問模式,當遇到任何問題時,rpm指令會先詢問用戶。
-
-R 顯示套件的關聯性信息。
-
-s 顯示文件狀態,本參數需配合"-l"參數使用。
-
-U<套件檔>或–upgrade<套件檔> 升級指定的套件檔。
-
-v 顯示指令執行過程。
-
-vv 詳細顯示指令執行過程,便于排錯。
-
-addsign<套件檔>+ 在指定的套件里加上新的簽名認證。
-
–allfiles 安裝所有文件。
-
–allmatches 刪除符合指定的套件所包含的文件。
-
–badreloc 發生錯誤時,重新配置文件。
-
–buildroot<根目錄> 設置產生套件時,欲當作根目錄的目錄。
-
–changelog 顯示套件的更改記錄。
-
–checksig<套件檔>+ 檢驗該套件的簽名認證。
-
–clean 完成套件的包裝后,刪除包裝過程中所建立的目錄。
-
–dbpath<數據庫目錄> 設置欲存放RPM數據庫的目錄。
-
–dump 顯示每個文件的驗證信息。本參數需配合"-l"參數使用。
-
–excludedocs 安裝套件時,不要安裝文件。
-
–excludepath<排除目錄> 忽略在指定目錄里的所有文件。
-
–force 強行置換套件或文件。
-
–ftpproxy<主機名稱或IP地址> 指定FTP代理服務器。
-
–ftpport<通信端口> 設置FTP服務器或代理服務器使用的通信端口。
-
–help 在線幫助。
-
–httpproxy<主機名稱或IP地址> 指定HTTP代理服務器。
-
–httpport<通信端口> 設置HTTP服務器或代理服務器使用的通信端口。
-
–ignorearch 不驗證套件檔的結構正確性。
-
–ignoreos 不驗證套件檔的結構正確性。
-
–ignoresize 安裝前不檢查磁盤空間是否足夠。
-
–includedocs 安裝套件時,一并安裝文件。
-
–initdb 確認有正確的數據庫可以使用。
-
–justdb 更新數據庫,當不變動任何文件。
-
–nobulid 不執行任何完成階段。
-
–nodeps 不驗證套件檔的相互關聯性。
-
–nofiles 不驗證文件的屬性。
-
–nogpg 略過所有GPG的簽名認證。
-
–nomd5 不使用MD5編碼演算確認文件的大小與正確性。
-
–nopgp 略過所有PGP的簽名認證。
-
–noorder 不重新編排套件的安裝順序,以便滿足其彼此間的關聯性。
-
–noscripts 不執行任何安裝Script文件。
-
–notriggers 不執行該套件包裝內的任何Script文件。
-
–oldpackage 升級成舊版本的套件。
-
–percent 安裝套件時顯示完成度百分比。
-
–pipe<執行指令> 建立管道,把輸出結果轉為該執行指令的輸入數據。
-
–prefix<目的目錄> 若重新配置文件,就把文件放到指定的目錄下。
-
–provides 查詢該套件所提供的兼容度。
-
–queryformat<檔頭格式> 設置檔頭的表示方式。
-
–querytags 列出可用于檔頭格式的標簽。
-
–rcfile<配置文件> 使用指定的配置文件。
-
–rebulid<套件檔> 安裝原始代碼套件,重新產生二進制文件的套件。
-
–rebuliddb 以現有的數據庫為主,重建一份數據庫。
-
–recompile<套件檔> 此參數的效果和指定"–rebulid"參數類似,當不產生套件檔。
-
–relocate<原目錄>=<新目錄> 把本來會放到原目錄下的文件改放到新目錄。
-
–replacefiles 強行置換文件。
-
–replacepkgs 強行置換套件。
-
–requires 查詢該套件所需要的兼容度。
-
–resing<套件檔>+ 刪除現有認證,重新產生簽名認證。
-
–rmsource 完成套件的包裝后,刪除原始代碼。
-
–rmsource<文件> 刪除原始代碼和指定的文件。
-
–root<根目錄> 設置欲當作根目錄的目錄。
-
–scripts 列出安裝套件的Script的變量。
-
–setperms 設置文件的權限。
-
–setugids 設置文件的擁有者和所屬群組。
-
–short-circuit 直接略過指定完成階段的步驟。
-
–sign 產生PGP或GPG的簽名認證。
-
–target=<安裝平臺>+ 設置產生的套件的安裝平臺。
-
–test 僅作測試,并不真的安裝套件。
-
–timecheck<檢查秒數> 設置檢查時間的計時秒數。
-
–triggeredby<套件檔> 查詢該套件的包裝者。
-
–triggers 展示套件檔內的包裝Script。
-
–verify 此參數的效果和指定"-q"參數相同。
-
–version 顯示版本信息。
-
–whatprovides<功能特性> 查詢該套件對指定的功能特性所提供的兼容度。
-
–whatrequires<功能特性> 查詢該套件對指定的功能特性所需要的兼容度。
原創文章,作者:xiaoqiang512,如若轉載,請注明出處:http://www.www58058.com/39240