文章節選自:http://www.linuxsir.org/main/?q=node/50
RPM軟件包管理的查詢功能
命令格式
rpm {-q|--query} [select-options] [query-options]
1、對系統中已安裝軟件的查詢;
1)查詢系統已安裝的軟件;
語法:rpm -q 軟件名
[root@localhost beinan]# rpm -q gaim
gaim-1.3.0-1.fc4
gaim-1.3.0-1.fc4
查看系統中所有已經安裝的包,要加 -a 參數 ;
[root@localhost RPMS]# rpm -qa
如果分頁查看,再加一個管道 |和more命令;
[root@localhost RPMS]# rpm -qa |more
[root@localhost RPMS]# rpm -qa |grep gaim
2)查詢一個已經安裝的文件屬於哪個軟件包;
rpm -qf 文件名
注:文件名所在的絕對路徑要指出 舉例:
[root@localhost RPMS]# rpm -qf /usr/lib/libacl.la
libacl-devel-2.2.23-8
語法:rpm -ql 軟件名 或 rpm rpmquery -ql 軟件名
[root@localhost RPMS]# rpm -ql lynx
[root@localhost RPMS]# rpmquery -ql lynx
語法格式: rpm -qi 軟件名
[root@localhost RPMS]# rpm -qi lynx
語法格式:rpm -qc 軟件名
[root@localhost RPMS]# rpm -qc lynx
語法格式: rpm -qd 軟件名
[root@localhost RPMS]# rpm -qd lynx
語法格式: rpm -qR 軟件名
[root@localhost beinan]# rpm -qR rpm-python
[root@localhost RPMS]# rpm -qil lynx
2、對於未安裝的軟件包的查看:
查看的前提是您有一個.rpm 的文件,也就是說對既有軟件file.rpm的查看等; 1)查看一個軟件包的用途、版本等信息;
語法: rpm -qpi file.rpm
[root@localhost RPMS]# rpm -qpi lynx-2.8.5-23.i386.rpm
語法: rpm -qpl file.rpm
[root@localhost RPMS]# rpm -qpl lynx-2.8.5-23.i386.rpm
語法: rpm -qpd file.rpm
[root@localhost RPMS]# rpm -qpd lynx-2.8.5-23.i386.rpm
語法: rpm -qpc file.rpm
[root@localhost RPMS]# rpm -qpc lynx-2.8.5-23.i386.rpm
語法: rpm -qpR file.rpm
[root@localhost archives]# rpm -qpR yumex_0.42-3.0.fc4_noarch.rpm
/bin/bash
/usr/bin/python
config(yumex) = 0.42-3.0.fc4
pygtk2
pygtk2-libglade
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
usermode
yum >= 2.3.2
軟件包的安裝、升級、刪除等
1、安裝和升級一個rpm 包;
[root@localhost beinan]#rpm -vih file.rpm 注:這個是用來安裝一個新的rpm 包;
[root@localhost beinan]#rpm -Uvh file.rpm 注:這是用來升級一個rpm 包;
[root@localhost beinan]# rpm -ivh file.rpm --nodeps --force
[root@localhost beinan]# rpm -Uvh file.rpm --nodeps --force
[root@localhost RPMS]# rpm -ivh lynx-2.8.5-23.i386.rpm
Preparing... ##################### [100%]
1:lynx ##################### [100%]
[root@localhost RPMS]# rpm -ivh --replacepkgs lynx-2.8.5-23.i386.rpm
Preparing... ##################### [100%]
1:lynx ##################### [100%]
[root@localhost RPMS]# rpm -ivh --test gaim-1.3.0-1.fc4.i386.rpm
Preparing... ################# [100%]
[root@localhost RPMS]# rpm -qa gaim
gaim-1.5.0-1.fc4
[root@localhost RPMS]# rpm -Uvh --oldpackage gaim-1.3.0-1.fc4.i386.rpm
Preparing... ######################### [100%]
1:gaim ######################### [100%]
[root@localhost RPMS]# rpm -qa gaim
gaim-1.3.0-1.fc4
[root@localhost RPMS]# rpm -ivh --relocate /=/opt/gaim gaim-1.3.0-1.fc4.i386.rpm
Preparing... ############################ [100%]
1:gaim ############################ [100%]
[root@localhost RPMS]# ls /opt/
gaim
[root@localhost RPMS]# rpm -ivh --relocate /=/opt/lynx --badreloc lynx-2.8.5-23.i386.rpm
Preparing... ####################### [100%]
1:lynx ####################### [100%]
Preparing... ####################### [100%]
1:lynx ####################### [100%]
我們安裝在指定目錄中的程序如何調用呢?一般執行程序,都放在安裝目錄的bin或者sbin目錄中;看下面的例子;如果有錯誤輸出,就做相應的鏈接,用 ln -s ;
[root@localhost RPMS]# /opt/lynx/usr/bin/lynx
Configuration file /etc/lynx.cfg is not available.
[root@localhost RPMS]# ln -s /opt/lynx/etc/lynx.cfg /etc/lynx.cfg
[root@localhost RPMS]# /opt/lynx/usr/bin/lynx www.linuxsir.org
首先您要學會查詢rpm 包 ;請看前面的說明; [root@localhost beinan]#rpm -e 軟件包名 舉例:我想移除lynx 包,完整的操作應該是:
[root@localhost RPMS]# rpm -e lynx
[root@localhost beinan]# rpm -e lynx --nodeps