Linux下RPM软件包的安装及卸载
在 Linux 操作系統下,幾乎所有的軟件均通過RPM 進行安裝、卸載及管理等操作。RPM 的全稱為Redhat Package Manager ,是由Redhat 公司提出的,用于管理Linux 下軟件包的軟件。Linux 安裝時,除了幾個核心模塊以外,其余幾乎所有的模塊均通過RPM 完成安裝。RPM 有五種操作模式,分別為:安裝、卸載、升級、查詢和驗證。
RPM 安裝操作
命令:
rpm -i 需要安裝的包文件名
舉例如下:
rpm -i example.rpm 安裝 example.rpm 包;
rpm -iv example.rpm 安裝 example.rpm 包并在安裝過程中顯示正在安裝的文件信息;
rpm -ivh example.rpm 安裝 example.rpm 包并在安裝過程中顯示正在安裝的文件信息及安裝進度;
RPM 查詢操作
命令:
rpm -q …
附加查詢命令:
a 查詢所有已經安裝的包以下兩個附加命令用于查詢安裝包的信息;
i 顯示安裝包的信息;
l 顯示安裝包中的所有文件被安裝到哪些目錄下;
s 顯示安裝版中的所有文件狀態及被安裝到哪些目錄下;以下兩個附加命令用于指定需要查詢的是安裝包還是已安裝后的文件;
p 查詢的是安裝包的信息;
f 查詢的是已安裝的某文件信息;
舉例如下:
rpm -qa | grep tomcat4 查看 tomcat4 是否被安裝;
rpm -qip example.rpm 查看 example.rpm 安裝包的信息;
rpm -qif /bin/df 查看/bin/df 文件所在安裝包的信息;
rpm -qlf /bin/df 查看/bin/df 文件所在安裝包中的各個文件分別被安裝到哪個目錄下;
RPM 卸載操作
命令:
rpm -e 需要卸載的安裝包
在卸載之前,通常需要使用rpm -q …命令查出需要卸載的安裝包名稱。
舉例如下:
rpm -e tomcat4 卸載 tomcat4 軟件包
RPM 升級操作
命令:
rpm -U 需要升級的包
舉例如下:
rpm -Uvh example.rpm 升級 example.rpm 軟件包
RPM 驗證操作
命令:
rpm -V 需要驗證的包
舉例如下:
rpm -Vf /etc/tomcat4/tomcat4.conf
輸出信息類似如下:
S.5....T c /etc/tomcat4/tomcat4.conf
其中,S 表示文件大小修改過,T 表示文件日期修改過。限于篇幅,更多的驗證信息請您參考rpm 幫助文件:man rpm
RPM 的其他附加命令
--force 強制操作 如強制安裝刪除等;
--requires 顯示該包的依賴關系;
--nodeps 忽略依賴關系并繼續操作;
來源:Linux下RPM軟件包的安裝及卸載
RPM包安裝/升級/查詢/卸載
一個RPM包包含了已壓縮的軟件文件集以及該軟件的內容信息(在頭文件中保存),通常表現為以.rpm擴展名結尾的文件,例如package.rpm。對其操作,需要使用rpm命令。下面介紹rpm工具的參數和使用方法,并以IBMLotusNotes在RHEL5.2安裝為例做具體說明。
RPM命令常用參數
RPM的常規使用方法為rpm-?package.rpm,其中-?為操作參數(更多信息,請查閱幫助$manrpm):
-q在系統中查詢軟件或查詢指定rpm包的內容信息
-i在系統中安裝軟件
-U在系統中升級軟件
-e在系統中卸載軟件
-h用#(hash)符顯示rpm安裝過程
-v詳述安裝過程
-p表明對RPM包進行查詢,通常和其它參數同時使用,如:
-qlp查詢某個RPM包中的所有文件列表
-qip查詢某個RPM包的內容信息
RPM命令參數使用方法
以上參數有些需要組合使用,比如說rpm-hpackage.rpm是沒有意義的,但rpm-ihpackage.rpm即表示安裝package并用#符顯示安裝進度。
安裝RPM包
#rpm-ivhpackage.rpm
升級RPM包命令
#rpm-Uvhpackage.rpm
卸載RPM包命令
#rpm-evpackage
查詢RPM包中包含的文件列表命令
#rpm-qlppackage
查詢RPM包中包含的文件列表命令
#rpm-qlppackage
查詢RPM包中包含的內容信息命令
#rpm-qippackage
查詢系統中所有已安裝RPM包
#rpm-qa
RPM包管理示例
以下步驟描述了一個普通用戶安裝IBMLotusNotesV85(以下簡稱Notes)的典型操作過程。Notes的RPM包名為ibm_lotus_notes-8.5.i586.rpm。
首先查詢是否該軟件是否已經在系統中存在
#rpm-qa|grepibm_lotus_notes
如果返回信息為空那么說明該軟件還未被安裝。
查詢Notes軟件包內容:
#rpm-qipibm_lotus_notes-8.5.i586.rpm Name:ibm_lotus_notesRelocations:/opt/ibm/lotus/notes Version:8.5Vendor:IBM Release:20081211.1925BuildDate:Sat13Dec200809:38:55AMCST InstallDate:(notinstalled)BuildHost:dithers.notesdev.ibm.com Group:Applications/Office SourceRPM:ibm_lotus_notes-8.5-20081211.1925.src.rpm Size:603779427License:Commercial Signature:DSA/SHA1,Sat13Dec200809:43:02AMCST,KeyID314c8c6534f9ae75 Summary:IBMLotusNotes Description: IBMLotusNotessoftwareprovidesarobust...
安裝Notes:
#rpm-ivhibm_lotus_notes-8.5.i586.rpm
返回信息:
Preparing...###########################################[100%] 1:ibm_lotus_notes###########################################[100%]
升級Notes:
若今后需要基于該版本升級至更高版本的Notes(縫.0-ibm_lotus_notes-9.0.i586.rpm),則使用-U參數:
#rpm-Uvhibm_lotus_notes-8.5.i586.rpm
在該步驟中如果使用-i則系統通常會報文件沖突錯誤,無法正常安裝。
卸載Notes
注意卸載軟件使用軟件名稱,而不是包文件名:
#rpm-evibm_lotus_notes 以上就是RPM包安裝/升級/查詢/卸載。
linux下制作安裝rpm包
一、制作rpm包
以rp-pppoe-3.10為列進行制作過程。
1.下載rp-pppoe-3.10.tar.gz
[root@localhost home]# pwd
/home
[root@localhost home]#
2.解壓
# tar zxvf rp-pppoe-3.10.tar.gz
3.
# cp /home/rp-pppoe-3.10/rp-pppoe.spec /usr/src/redhat/SOURCES/
# cp /home/rp-pppoe-3.10.tar.gz /usr/src/redhat/SOURCES/
3.制作rpm包
# cd /usr/src/redhat/SOURCES/
# rpmbuild -bb rp-pppoe.spec <==僅編譯成 RPM 檔案
# rpmbuild -ba rp-pppoe.spec <==編譯并同時產生 RPM 與 SRPM 檔案
如果編譯成功,就已經制作好rp-pppoe的rpm包了,查看一下
[root@localhost i386]# pwd
/usr/src/redhat/RPMS/i386
[root@localhost i386]# ll
total 420
-rw-r--r-- 1 root root 186322 01-06 11:09 rp-pppoe-3.10-1.i386.rpm
-rw-r--r-- 1 root root 150356 01-06 11:09 rp-pppoe-debuginfo-3.10-1.i386.rpm
-rw-r--r-- 1 root root 63319 01-06 11:09 rp-pppoe-gui-3.10-1.i386.rpm
[root@localhost i386]#
二、安裝rpm包
1.查看系統有五安裝過rp-pppoe。
[root@localhost i386]# rpm -qa rp-pppoe
rp-pppoe-3.5-1
2.刪除系統已經安裝過的rpm包
[root@localhost i386]# rpm -e rp-pppoe
[root@localhost i386]# rpm -qa rp-pppoe
3.安裝剛才制作好的rpm包
[root@localhost i386]# ls
rp-pppoe-3.10-1.i386.rpm rp-pppoe-gui-3.10-1.i386.rpm
rp-pppoe-debuginfo-3.10-1.i386.rpm
[root@localhost i386]# rpm -ivh rp-pppoe-3.10-1.i386.rpm
Preparing... ########################################### [100%]
1:rp-pppoe ########################################### [100%]
[root@localhost i386]# rpm -qa rp-pppoe
rp-pppoe-3.10-1
[root@localhost i386]# ls /etc/ppp/pppoe-server-options
/etc/ppp/pppoe-server-options
以上信息說明安裝成功了哦。
三、錯誤處理
在制作rpm(1.3步)的時候出現錯:
RPM build errors:
Installed (but unpackaged) file(s) found:
解決辦法:
將/usr/lib/rpm/macros 中
%__check_files /usr/lib/rpm/check-files %{buildroot} 注釋掉
來源:linux下RPM制作
總結
以上是生活随笔為你收集整理的Linux下RPM软件包的安装及卸载的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为SAP UI5正名 - 它也支持双向绑
- 下一篇: Linux 时间及时区设置