Linux下RPM 命令用法

2021-05-27 12:11:51 字數 4615 閱讀 8304

一、rpm介紹

1.什麼是rpm ?

rpm 即redhat package management,是redhat的發明之一

2.為什麼需要rpm ?

在乙個作業系統下,需要安裝實現各種功能的軟體包。這些軟體包一般都有各自的程式,

但是同時也有錯綜複雜的依賴關係。同時還需要 解決軟體包的版本,以及安裝,配置,

解除安裝的自動化問題。為了解決 這些問題,redhat針對自己的系統提出了乙個較好的辦法

來管理成千 上百的軟體。這就是rpm管理系統。在系統中安裝了rpm管理系統以後,

只要是符合rpm檔案標準的打包程式都可以方便地安裝、公升級、解除安裝。

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

任何系統都需要包管理系統,因此很多

linux都使用rpm系統。 rpm系統是redhatlinux

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 --initdb

rpm --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

% 查詢

rpm -ivh

% 安裝

五、對已安裝linuxrpm

包查詢的一點補充

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

六、從rpm軟體包抽取檔案

rpm2cpio ***.rpm | cpio -idmv

% i 表示提取檔案,v 表示指示執行程序

% d 表示根據包中檔案原來的路徑建立目錄

% m 表示保持檔案的更新時間

Linux中rpm命令用法

rpm ivh 軟體包名 安裝軟體包並顯示安裝進度。這個是用得最多的了。查詢已經安裝哪些軟體包。rpm q 軟體包名 查詢指定軟體包是否已經安裝。rpm uvh 軟體包名 公升級乙個軟體包。rpm e 軟體包名 刪除指定軟體包。end以 src.rpm結尾的檔案由軟體源 檔案組成,要安裝此種 rpm...

rpm命令用法

rpm好像不能指定安裝路徑!1.安裝乙個包 rpm ivh 2.公升級乙個包 rpm uvh 3.移走乙個包 rpm e 4.安裝引數 force 即使覆蓋屬於其它包的檔案也強迫安裝 nodeps 如果該rpm包的安裝依賴其它包,即使其它包沒裝,也強迫 安裝。5.查詢乙個包是否被安裝 rpm q r...

Linux 下rpm命令引數詳解

一 安裝 命令格式 rpm i or install options file1.rpm filen.rpm 引數 file1.rpm n 將要安裝的rpm包的檔名 詳細選項 h or hash 安裝時輸出hash記號 test 只對安裝進行測試,並不實際安裝。percent 以百分比的形式輸出安裝...