rpm基本命令參考

水可載舟,亦可覆舟!node


 

一、 介紹

  在Linux操做系統中,經常使用的軟件有RPM包軟件包,src.rpm格式的軟件包(源碼),以源代碼發佈的軟件包以及.bin格式軟件包和綠色軟件。若是採用.rpm格式的軟件,同一軟件針對不一樣的Linux發行版有不一樣的RPM包,相互依賴關係會常常出現不可預料的錯誤,但安裝過程很簡單,源碼軟件包不依賴具體的發行版本和操做系統內核,但安裝此軟件的主機上應有對應的開發工具(GCC)和內核代碼程序支持,並且安裝過程要稍微複雜一些,.bin格式文件能夠直接運行安裝,綠色軟件包則能夠直接使用。架構

二、  內容

.rpmide

  Linux發行版本都使用某中形式的軟件包管理安裝,更新和卸載軟件,這種方法與直接從源代碼安裝相比,具備如下優勢。工具

A    軟件包易於安裝和卸載開發工具

B    易於更新已安裝的軟件包。測試

C    易於保護配置文件ui

D    易於跟蹤已安裝文件編碼

rpm 包根據不一樣的操做系統內核和處理器架構編譯過的,所以,不一樣的操做系統內核版本和處理器架構都須要本身獨立的RPM包spa

  rpm 全稱Red Hat Package Manager(Red Hat包管理器)。其本質上就是一個包,包含能夠當即在特定處理器架構和操做系統內核上安裝和運行的Linux軟件,大多數Linux RPM軟件包的命名有必定的規律,其命名規則以下所示:操作系統

名稱-版本-修正版-類型

Software-1.2.1-i386.rpm

.src.rpm

.deb

.tar.gz     .tar.Z     .tar.bz2             .tarz

.bin

安裝系統軟件包(講解圖形界面的安裝)

redhat-config-packages

RPM軟件包管理

安裝RPM軟件包

命令格式:

rpm -i ( or --install) options file1.rpm ... fileN.rpm

參數:

file1.rpm ... fileN.rpm   將要安裝的RPM包的文件名

詳細選項:

-h (or --hash) 安裝時輸出hash記號 (``#'')  
--test          只對安裝進行測試,並不實際安裝。
--percent       以百分比的形式輸出安裝的進度。
--excludedocs   不安裝軟件包中的文檔文件
--includedocs   安裝文檔
--replacepkgs   強制從新安裝已經安裝的軟件包
--replacefiles 替換屬於其它軟件包的文件
--force         忽略軟件包及文件的衝突
--noscripts     不運行預安裝和後安裝腳本
--prefix <path> 將軟件包安裝到由 <path> 指定的路徑下   #制定安裝目錄,有些腳本不準制定位置
--ignorearch     不校驗軟件包的結構
--ignoreos       不檢查軟件包運行的操做系統
--nodeps         不檢查依賴性關係
--ftpproxy <host>    用 <host> 做爲 FTP代理  
--ftpport <port>     指定FTP的端口號爲 <port

通用選項

-v   顯示附加信息
-vv 顯示調試信息
--root <path> 讓RPM將<path>指定的路徑作爲"根目錄",這樣預安裝程序和後安裝程序都會安裝到這個目錄下
--rcfile <rcfile> 設置rpmrc文件爲 <rcfile>  
--dbpath <path>    設置RPM 資料庫存所在的路徑爲 <path>

2、刪除

命令格式:

rpm -e ( or --erase) options pkg1 ... pkgN

參數

pkg1 ... pkgN :要刪除的軟件包

詳細選項

--test       只執行刪除的測試
--noscripts 不運行預安裝和後安裝腳本程序
--nodeps     不檢查依賴性

通用選項

-vv            顯示調試信息
--root <path> 讓RPM將<path>指定的路徑作爲"根目錄",這樣預安裝程序和後安裝程序都會安裝到這個目錄下
--rcfile <rcfile> 設置rpmrc文件爲 <rcfile>
--dbpath <path>    設置RPM 資料庫存所在的路徑爲 <path>

3、升級

命令格式

rpm -U ( or --upgrade) options file1.rpm ... fileN.rpm

4、查詢

命令格式:

rpm -q ( or --query) options

參數:

pkg1 ... pkgN :查詢已安裝的軟件包

詳細選項

-p <file>(or ``-'') 查詢軟件包的文件
-f <file>            查詢<file>屬於哪一個軟件包
-a                   查詢全部安裝的軟件包
--whatprovides <x>   查詢提供了 <x>功能的軟件包  
-g <group>           查詢屬於<group> 組的軟件包
--whatrequires <x> 查詢全部須要 <x> 功能的軟件包

信息選項

<null> 顯示軟件包的所有標識
-i 顯示軟件包的概要信息
-l 顯示軟件包中的文件列表
-c 顯示配置文件列表
-d 顯示文檔文件列表
-s 顯示軟件包中文件列表並顯示每一個文件的狀態
--scripts 顯示安裝、卸載、校驗腳本
--queryformat (or --qf) 以用戶指定的方式顯示查詢信息
--dump 顯示每一個文件的全部已校驗信息  
--provides 顯示軟件包提供的功能
--requires (or -R) 顯示軟件包所需的功能

 

5、校驗已安裝的軟件包

命令格式:

rpm -V ( or --verify, or -y) options

參數

pkg1 ... pkgN 將要校驗的軟件包名

軟件包選項

-p <file> Verify against package file <file>  
-f <file> 校驗<file>所屬的軟件包
-a Verify 校驗全部的軟件包
-g <group> 校驗全部屬於組 <group>   的軟件包

詳細選項

--noscripts 不運行校驗腳本  
--nodeps     不校驗依賴性
--nofiles    不校驗文件屬性

6、校驗軟件包中的文件

語法:

rpm -K ( or --checksig) options file1.rpm ... fileN.rpm

參數:

file1.rpm ... fileN.rpm 軟件包的文件名

Checksig--詳細選項

--nopgp 不校驗PGP簽名   

通用選項

-v   顯示附加信息
-vv 顯示調試信息
--rcfile <rcfile> 設置rpmrc文件爲 <rcfile>  

7、其它RPM選項

--rebuilddb 重建RPM資料庫
--initdb     建立一個新的RPM資料庫
--quiet      儘量的減小輸出
--help       顯示幫助文件
--version    顯示RPM的當前版本

三、實例演示

rpm –ivh mysoftware-1.2-i386.rpm   

//安裝 rpm軟件包  -i install   安裝軟件  -v verify 檢測套件是否正確安裝    

//-h hash 安裝時在屏幕依次打印標識(即#符號)顯示安裝進步

rpm –qpi mysoftware-1.2-i386.rpm

//查詢某一個rpm文件的信息命令

rpm –Uvh mysoftware-1.2-i386.rpm 

//須要更新的軟件

rpm –e mysoftware   

//卸載軟件名

單獨刪除一個rpm時系統可能會提示錯誤,尤爲是系統上有相關的程序依賴於它時。

這時能夠用—force選項從新安裝。

rpm –ivh –force mysoftware-1.2-i386.rpm

 

查詢軟件包安裝狀況

rpm –qa            //查詢當前系統全部安裝的rpm包

rpm –qa | grep softwarename      //查詢當前系統是否安裝了某軟件包

rpm –qa | grep telnet              //查詢當前系統是否安裝了telnet

rpm –qal mysoftware-1.2-i386.rpm    //查看rpm包在系統中安裝的文件的詳細信息,可使用-l參數

 

  目前rpm有兩種模式,一種是已通過編碼的(i386.rpm).這種軟件包只能用於對應平臺(如i386.rpm軟件包起處理器只能是i386的);

一種是末通過編碼的(src.rpm),這種軟件包沒有固定的應用平臺限制,並且操做方便,用戶能夠根據內核和Linux開發工具從新編譯,用戶必須在當前系統中安裝Linux內核和開發工具).對於.src.rpm 安裝過程以下所示:]

rpm –ivh Filename.src.rpm                    //解壓軟件包系統自動解壓到/usr/src/redhat/SPECS文件夾

cd /usr/src/redhat/SPECS

rpmbuild –bb filename. Spec               //編譯軟件包,解壓到/usr/src/redhat/RPMS/i386  自動

cd /usr/src/redhat/RPMS/i386         

rpm –ivh /usr/src/regflag/RPMS/i386/filename.rpm

 

使用源代碼安裝:

tar文件    tar xf xxx.tar

gz文件     tar zxvf xxx.tar.gz

bz2文件    tar xjvf xxx.tar.bz2

源碼編譯安裝

./configure          //配置

make   // 調用make ,編譯程序

make install  //安裝源代碼

make clean   //刪除安裝時產生的臨時文件

make uninstall      //卸載軟件

文件的安裝xxx.bin

chmod +x xxx.bin  && ./bin

相關文章
相關標籤/搜索