Linux rpm命令
Linux rpm 命令用於管理套件。
rpm(redhat package manager) 原本是 Red Hat Linux 發行版專門用來管理 Linux 各項套件的程式,由於它遵循 GPL 規則且功能強大方便,因而廣受歡迎。逐漸受到其他發行版的採用。RPM 套件管理方式的出現,讓 Linux 易於安裝,升級,間接提升了 Linux 的適用度。
語法
rpm [-acdhilqRsv][-b<完成階段><套間檔>+][-e<套件擋>][-f<檔>+][-i<套件檔>][-p<套件檔>+][-U<套件檔>][-vv][--addsign<套件檔>+][--allfiles][--allmatches][--badreloc][--buildroot<根目錄>][--changelog][--checksig<套件檔>+][--clean][--dbpath<資料庫目錄>][--dump][--excludedocs][--excludepath<排除目錄>][--force][--ftpproxy<主機名稱或IP地址>][--ftpport<通信端口>][--help][--httpproxy<主機名稱或IP地址>][--httpport<通信端口>][--ignorearch][--ignoreos][--ignoresize][--includedocs][--initdb][justdb][--nobulid][--nodeps][--nofiles][--nogpg][--nomd5][--nopgp][--noorder][--noscripts][--notriggers][--oldpackage][--percent][--pipe<執行指令>][--prefix<目的目錄>][--provides][--queryformat<檔頭格式>][--querytags][--rcfile<配置檔>][--rebulid<套件檔>][--rebuliddb][--recompile<套件檔>][--relocate<原目錄>=<新目錄>][--replacefiles][--replacepkgs][--requires][--resign<套件檔>+][--rmsource][--rmsource<檔>][--root<根目錄>][--scripts][--setperms][--setugids][--short-circuit][--sign][--target=<安裝平臺>+][--test][--timecheck<檢查秒數>][--triggeredby<套件檔>][--triggers][--verify][--version][--whatprovides<功能特性>][--whatrequires<功能特性>]
參數說明:
- -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<功能特性> 查詢該套件對指定的功能特性所需要的相容度。
實例
安裝軟體
# rpm -hvi dejagnu-1.4.2-10.noarch.rpm 警告:dejagnu-1.4.2-10.noarch.rpm: V3 DSA 簽名:NOKEY, key ID db42a60e 準備... ########################################### [100%]
顯示軟體安裝資訊
# rpm -qi dejagnu-1.4.2-10.noarch.rpm 【第1次更新 教學、類似命令關聯】