Linux命令總結--rpm命令


1.rpm命令介紹

 

Linux rpm 命令用於管理套件。

 

rpm(redhat package manager) 原本是 Red Hat Linux 發行版專門用來管理 Linux 各項套件的程序,由於它遵循 GPL 規則且功能強大方便,因而廣受歡迎。逐漸受到其他發行版的采用。RPM 套件管理方式的出現,讓 Linux 易於安裝,升級,間接提升了 Linux 的適用度。

2.參數介紹

  • -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<功能特性>  查詢該套件對指定的功能特性所需要的兼容度。2. rpm參數詳解
    (1) 安裝命令
    命令格式:# rpm -i(or --install) [options] file1.rpm ... fileN.rpm
    參數列表:file1.rpm ... fileN.rpm(將要安裝的RPM包的文件名)
    詳細選項:
    -h (或 --hash) 安裝時輸出hash記號 (``#'')
    --test 只對安裝進行測試,並不實際安裝。
    --percent 以百分比的形式輸出安裝的進度。
    --excludedocs 不安裝軟件包中的文檔文件
    --includedocs 安裝文檔
    --replacepkgs 強制重新安裝已經安裝的軟件包
    --replacefiles 替換屬於其它軟件包的文件
    --force 忽略軟件包及文件的沖突
    --noscripts 不運行預安裝和后安裝腳本
    --prefix 將軟件包安裝到由 指定的路徑下
    --ignorearch 不校驗軟件包的結構
    --ignoreos 不檢查軟件包運行的操作系統
    --nodeps 不檢查依賴性關系
    --ftpproxy 用 作為 FTP代理
    --ftpport 指定FTP的端口號為
    通用選項:
    -v 顯示附加信息
    -vv 顯示調試信息
    --root 讓RPM將指定的路徑做為“根目錄”,這樣預安裝程序和后安裝程序都會安裝到這個目錄下
    --rcfile 設置rpmrc文件為
    --dbpath 設置RPM 資料庫存所在的路徑為
     
    (2)  刪除命令
    命令格式:# rpm -e(or --erase) [options] pkg1 ... pkgN
    參數列表:pkg1 ... pkgN (要刪除的軟件包)
    詳細選項:
    --test 只執行刪除的測試
    --noscripts 不運行預安裝和后安裝腳本程序
    --nodeps 不檢查依賴性
    通用選項:
    -vv 顯示調試信息
    --root 讓RPM將指定的路徑做為"根目錄",這樣預安裝程序和后安裝程序都會安裝到這個目錄下
    --rcfile 設置rpmrc文件為
    --dbpath 設置RPM 資料庫存所在的路徑為
     
    (3) 升級命令
    命令格式:# rpm -U(or --upgrade) [options] file1.rpm ... fileN.rpm
    參數列表:file1.rpm ... fileN.rpm (軟件包的名字)
    詳細選項:
    -h (or --hash) 安裝時輸出hash記號 (``#'')
    --oldpackage 允許"升級"到一個老版本
    --test 只進行升級測試
    --excludedocs 不安裝軟件包中的文檔文件
    --includedocs 安裝文檔
    --replacepkgs 強制重新安裝已經安裝的軟件包
    --replacefiles 替換屬於其它軟件包的文件
    --force 忽略軟件包及文件的沖突
    --percent 以百分比的形式輸出安裝的進度
    --noscripts 不運行預安裝和后安裝腳本
    --prefix 將軟件包安裝到由 指定的路徑下
    --ignorearch 不校驗軟件包的結構
    --ignoreos 不檢查軟件包運行的操作系統
    --nodeps 不檢查依賴性關系
    --ftpproxy 用 作為 FTP代理
    --ftpport 指定FTP的端口號為
    通用選項:
    -v 顯示附加信息
    -vv 顯示調試信息
    --root 讓RPM將指定的路徑做為"根目錄",這樣預安裝程序和后安裝程序都會安裝到這個目錄下
    --rcfile 設置rpmrc文件為
    --dbpath 設置RPM 資料庫存所在的路徑為
     
    (4) 查詢命令
    命令格式:# rpm -q(or --query) [options]
    參數列表:pkg1 ... pkgN (查詢已安裝的軟件包)
    詳細選項:
    -p (or ``-'') 查詢軟件包的文件
    -f 查詢屬於哪個軟件包
    -a 查詢所有安裝的軟件包
    -g 查詢屬於組的軟件包
    --whatprovides 查詢提供了 功能的軟件包
    --whatrequires 查詢所有需要 功能的軟件包
    信息選項:
    顯示軟件包的全部標識
    -i 顯示軟件包的概要信息
    -l 顯示軟件包中的文件列表
    -c 顯示配置文件列表
    -d 顯示文檔文件列表
    -s 顯示軟件包中文件列表並顯示每個文件的狀態
    --scripts 顯示安裝、卸載、校驗腳本
    --queryformat (or --qf) 以用戶指定的方式顯示查詢信息
    --dump 顯示每個文件的所有已校驗信息
    --provides 顯示軟件包提供的功能
    --requires (or -R) 顯示軟件包所需的功能
    通用選項:
    -v 顯示附加信息
    -vv 顯示調試信息
    --root 讓RPM將指定的路徑做為"根目錄",這樣預安裝程序和后安裝程序都會安裝到這個目錄下
    --rcfile 設置rpmrc文件為
    --dbpath 設置RPM 資料庫存所在的路徑為
     
    (5) 校驗已安裝的軟件包
    命令格式: # rpm -V(or --verify, or -y) [options]
    參數列表:pkg1 ... pkgN (將要校驗的軟件包名)
    軟件包選項:
    -p 校驗包文件
    -f 校驗所屬的軟件包
    -a 校驗所有的軟件包
    -g 校驗所有屬於組 的軟件包
    詳細選項:
    --noscripts 不運行校驗腳本
    --nodeps 不校驗依賴性
    --nofiles 不校驗文件屬性
    通用選項:
    -v 顯示附加信息
    -vv 顯示調試信息
    --root 讓RPM將指定的路徑做為"根目錄",這樣預安裝程序和后安裝程序都會安裝到這個目錄下
    --rcfile 設置rpmrc文件為
    --dbpath 設置RPM 資料庫存所在的路徑為
     
    (6) 校驗軟件包中的文件
    語法:# rpm -K(or --checksig) [options] file1.rpm ... fileN.rpm
    參數:file1.rpm ... fileN.rpm (軟件包的文件名)
    詳細選項:
    --nopgp 不校驗PGP簽名
    通用選項:
    -v 顯示附加信息
    -vv 顯示調試信息
    --rcfile 設置rpmrc文件為
     
    (7) 其它參數選項
    --rebuilddb 重建RPM資料庫
    --initdb 創建一個新的RPM資料庫
    --quiet 盡可能的減少輸出
    --help 顯示幫助文件
    --version 顯示RPM的當前版本

3.功能

1、初始化rpm 數據庫功能;

通過rpm 命令查詢一個rpm 包是否安裝了,也是要通過rpm 數據庫來完成的;所以我們要經常用下面的兩個命令來初始化rpm 數據庫;

[root@localhost beinan]# rpm --initdb
[root@localhost beinan]# rpm --rebuilddb 注:這個要花好長時間;
注:以上兩個參數是極為有用,有時rpm 系統出了問題,不能安裝和查詢,大多是這里出了問題;

[root@localhost beinan]# updatedb

[root@localhost beinan]# locate 軟件名或文件名

提示:通過updatedb,我們可以用 locate來查詢一些軟件安裝到哪里了;系統初次安裝時要執行updatedb ,每隔一段時間也要執行一次;以保持已安裝軟件庫最新;updatedb 是slocate軟件包所有;如果您沒有這個命令,就得安裝slocate ;
 

2、RPM軟件包管理功能

1)查詢功能:

rpm {-q|--query} [select-options] [query-options]

使用實例

1)查詢一個已經安裝的文件屬於哪個軟件包

rpm -qf 文件名

2)查詢已安裝軟件包都安裝到何處

rpm -ql 軟件名

rpm rpmquery -ql 軟件名

3)查看一下已安裝軟件的配置文件

rpm -qc 軟件名

4)查看一個已經安裝軟件的文檔安裝位置

rpm -qd 軟件名

5)查看一下已安裝軟件所依賴的軟件包及文件

rpm -qR 軟件名

6)查看一件軟件包所包含的文件

rpm -qpl 文件名

 

2)軟件包的安裝、升級、刪除

1)常規包安裝

-ivh:安裝顯示安裝進度--install--verbose--hash
-Uvh:升級軟件包--Update;
-Va:校驗所有的RPM軟件包,查找丟失的文件[View Lost];
-e:刪除包

2)源碼包安裝

rpm --recompile vim-4.6-4.src.rpm  #這個命令會把源代碼解包並編譯、安裝它,如果用戶使用命令:

rpm --rebuild vim-4.6-4.src.rpm   #在安裝完成后,還會把編譯生成的可執行文件重新包裝成i386.rpm的RPM軟件包。
 
詳細用法請參考:http://ftp.tsingpost.com/index.php/archives/379/

 

3)網絡包安裝

# rpm -qpi http://mirrors.kernel.org/Fedora/core/4/i386/os/ Fedora/RPMS/gaim-1.3.0-1.fc4.i386.rpm
# rpm -ivh http://mirrors.kernel.org/fedora/core/4/i386/os/ Fedora/RPMS/gaim-1.3.0-1.fc4.i386.rpm

4)指定安裝目錄:要加 -relocate 參數

rpm -ivh --relocate /=/opt/gaim gaim-1.3.0-1.fc4.i386.rpm  #gaim-1.3.0-1.fc4.i386.rpm指定安裝在目錄: /opt/gaim 中

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM