linux 常用命令RPM

來源:互聯網
上載者:User

英文原義:Redhat Package Manager  中文釋義:RPM軟體包管理器。

雖然打上了RedHat的標誌,但是其原始設計理念是開放式的,現在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分發版本都有採用,可以算是公認的行業標準了。

RPM的常用參數還包括:

-vh:顯示安裝進度;

-U:升級軟體包;

-qpl:列出RPM軟體包內的檔案資訊;

-qpi:列出RPM軟體包的描述資訊;

-qf:尋找指定檔案屬於哪個RPM軟體包;

-Va:校正所有的RPM軟體包,尋找丟失的檔案;

1.什麼是rpm ?

rpm 即RedHat Package Management,是RedHat的發明之一 

2.為什麼需要rpm ?

在一個作業系統下,需要安裝實現各種功能的軟體包。這些軟體包一般都有各自的程式,但是同時也有錯綜複雜的依賴關係。同時還需要 解決軟體包的版本,以及安裝,配置,卸載的自動化問題。為瞭解決 這些問題,RedHat針對自己的系統提出了一個較好的辦法來管理成千 上百的軟體。這就是RPM管理系統。在系統中安裝了rpm管理系統以後, 只要是符合rpm檔案標準的打包程式都可以方便地安裝、升級、卸載。

3.是不是所有的linux都使用rpm ?

任何系統都需要包管理系統,因此很多linux都使用rpm系統。 rpm系統是Redhat Linux和Fedora Core的軟體包管理器,但是Mandriva、SuSE等Linux發行版也都使用rpm。由於rpm的來源程式可以在別的系統上進行編譯,所以有可能在別的系統上也使用rpm。除了rpm,其他一些系統也有自己的軟體包管理程式, 例如 debian的deb包。 

4.rpm包的檔案名稱為什麼那麼長 ?

rpm包的檔案名稱中包含了這個軟體包的版本資訊,作業系統資訊,硬體要求等等。比如mypackage-1.1-2RH.i386.rpm,其中mypackage是在系統中登記的軟體包的名字1.1是軟體的版本號碼,2是發行號,RH表示用於RH作業系統。i386表示用於intel x86平台。 

5.軟體包檔案名稱中的i386,i686是什麼意思

rpm軟體包的檔案名稱中,不僅包含了軟體名稱,版本資訊,還包括了適用的硬體架構的資訊。 i386指這個軟體包適用於intel 80386以上的x86架構的電腦(AI32) i686指這個軟體包適用於intel 80686以上(奔騰pro以上)的x86架構的電腦(IA32) noarch指這個軟體包與硬體架構無關,可以通用。 i686軟體包通常針對CPU進行了最佳化,現在通常配置的機器都可以使用i686軟體包。 

6.不同作業系統發行的rpm包可否混用?

對於已經編譯成二進位的rpm包,由於作業系統環境不同,一般不能混用。 對於以src.rpm發行的軟體包,由於需要安裝時進行本地編譯,所以通常可以在不同系統下安裝。 

二、RPM包管理的用途

1、可以安裝、刪除、升級和管理以rpm包形式發布的軟體;2、可以查詢某個rpm包中包含哪些檔案,以及某個指定檔案屬於哪個rpm包;3、可以在查詢系統中的某個rpm包是否已安裝以及其版本;4、作為開發人員可以把自己開發的軟體打成rpm包發布;5、依賴性的檢查,查詢安裝某個rpm包時,需要哪些其它的rpm包。 註:RPM軟體的安裝、刪除、更新只有root許可權才能使用;    對於查詢功能任何使用者都可以操作。

三、rpm 的一點簡單用法

rpm的一般格式:

 rpm [選項] [rpm軟體包]

1、初始化rpm 資料庫(可以省略)

rpm --initdbrpm --rebuilddb  % 註:這個要花好長時間%註:有時rpm 系統出了問題,不能安裝和查詢,大多是這裡出了問題。

2、RPM軟體包管理的查詢功能:

rpm -q [select-options] [query-options]

RPM的查詢功能是極為強大,是極為重要的功能之一;這裡舉幾個常用的例子,更為詳細的具體的,請參考 man rpm

對系統中已安裝軟體的查詢

1)查詢系統已安裝的軟體文法:rpm -q 軟體名例:rpm -q mplayer% -q就是 --query,此選項表示詢問系統是不是安裝了gaim軟體包;% 如果已安裝會有資訊輸出;如果沒有安裝,會輸出gaim 沒有安裝的資訊;%查看系統中所有已經安裝的包,要加 -a 參數rpm -qa% 如果分頁查看,再加一個管道 |和more命令rpm -qa |more% 如果要尋找某個軟體包,可以用 grep 抽取出來rpm -qa |grep mplayer
2)查詢一個已經安裝的檔案屬於哪個軟體包;文法: rpm -qf 檔案名稱註:檔案名稱所在的絕對路徑要指出例:rpm -qf /usr/lib/libacl.la
3)查詢已安裝軟體包都安裝到何處;文法:rpm -ql 軟體包名 例:rpm -ql mplayer
4)查詢一個已安裝軟體包的資訊 文法: rpm -qi 軟體包名例:rpm -qi mplayer
5)查看一下已安裝軟體的設定檔;文法格式:rpm -qc 軟體名例:rpm -qc mplayer
6)查看一個已經安裝軟體的文檔安裝位置:文法格式: rpm -qd 軟體名例:rpm -qd mplayer
7)查看一下已安裝軟體所依賴的軟體包及檔案;文法格式: rpm -qR 軟體名例:rpm -qR mplayer:可以把幾個參數組合起來用,如 rpm -qil mplayer

對於未安裝的軟體包的查看 :查看的前提是目前的目錄下已存在一個.rpm檔案。

1)查看一個軟體包的用途、版本等資訊;文法: rpm -qpi file.rpm例:rpm -qpi mplayer-1.0pre7try2-2.i386.rpm
2)查看一件軟體包所包含的檔案;文法: rpm -qpl file.rpm例:rpm -qpl mplayer-1.0pre7try2-2.i386.rpm
3)查看軟體包的文檔所在的位置;文法: rpm -qpd file.rpm例:rpm -qpd mplayer-1.0pre7try2-2.i386.rpm
4)查看一個軟體包的設定檔;文法: rpm -qpc file.rpm例:rpm -qpc mplayer-1.0pre7try2-2.i386.rpm
5)查看一個軟體包的依賴關係文法: rpm -qpR file.rpm例:rpm -qpR mplayer-1.0pre7try2-2.i386.rpm

3、軟體包的安裝、升級、刪除等; 安裝和升級一個rpm 包

文法:   rpm -ivh file.rpm   % 這個是用來安裝一個新的rpm 包  rpm -Uvh file.rpm   % 這是用來升級一個rpm 包% 如果有依賴關係的,需解決依賴關係。% 如果找不到依賴關係的包,可以用下面的命令強制安裝:  rpm -ivh --nodeps --force file.rpm   rpm -Uvh --nodeps --force file.rpm例:rpm -ivh --test mplayer-1.0pre7try2-2.i386.rpm% --test表示測試,並不真正安裝。rpm -ivh --relocate /=/usr/local/mplayer mplayer-1.0pre7try2-2.i386.rpm% 為軟體包指定安裝目錄:要加 --relocate 參數% 安裝在指定目錄中的程式如何調用呢?% 通常可執行程式都放在安裝目錄下的bin或者sbin目錄中。

刪除一個rpm 包

首先查出需要刪除的rpm包,然後用下面的命令來卸載:rpm -e 軟體包名 例:rpm -e mplayer   % 卸載mplayer% 如果有其它的rpm依賴於該rpm包,系統會出現警告。% 如果一定要卸載,可以用選項 --nodeps 忽略依賴關係。但最好不要這麼做。

四、RPM管理組件管理器支援網路安裝和查詢

rpm  [選項]  rpm包的http或者ftp的地址比如我們想通過 Fedora Core 4.0 的一個鏡像查詢、安裝軟體包。rpm -qpi http://mirrors.kernel.org/.../RPMS/rsh-0.17-29.rpm% 查詢rpm -ivh http://mirrors.kernel.org/.../RPMS/rsh-0.17-29.rpm% 安裝

五、對已安裝rpm包查詢的一點補充

可以用 locate來查詢一些軟體的安裝位置,可能需要先運行updatedb來更新已安裝軟體庫

六、從rpm軟體包抽取檔案

rpm2cpio xxx.rpm | cpio -idmv% i 表示提取檔案,v 表示指示執行進程% d 表示根據包中檔案原來的路徑建立目錄 % m 表示保持檔案的更新時間
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.