一)初始化rpm 數據庫;
通過rpm 命令查詢一個rpm 包是否安裝了,也是要通過rpm 數據庫來完成的;所以我們要經常用下面的兩個命令來初始化rpm 數據庫;
[root@localhost beinan]# rpm --initdb
[root@localhost beinan]# rpm --rebuilddb ;
二)RPM軟件包管理的查詢功能:
命令格式
rpm {-q|--query} [select-options] [query-options]
RPM的查詢功能是極爲強大,是極爲重要的功能之一;舉幾個常用的例子,更爲詳細的具體的,請參考#man rpm
1、對系統中已安裝軟件的查詢;
1)查詢系統已安裝的軟件;
語法:rpm -q 軟件名
舉例:
[root@localhost beinan]# rpm -q gaim
gaim-1.3.0-1.fc4
-q就是 --query ,中文意思是“問”,此命令表示的是,是不是系統安裝了gaim ;如果已安裝會有信息輸出;如果沒有安裝,會輸出gaim 沒有安裝的信息;
補充知識:
首先我們觀察一下 rpm 文件名的特點.一個 rpm 包文件名通常由 5 段組成:
%{name}-%{version}-%{release}.ix86.rpm
cutedict-1.1-1mgc.i686.rpm
這裏 %{name}=cutedict,%{version}=1.1,%{release}=1mgc
注:如果你不知道軟件包的完整名字(我這裏所說的完整名字是不包含版本號這類信息的),那用 rpm -q或者來查詢是查不出來,只能通過 rmp -qa|grep 部分軟件名 來進行模糊查詢。像上面cutedict-1.1-1mgc.i686.rpm這個軟件包,這個軟件包的名字就是cutedict,如果你想搜索這個軟件包是否安裝,你直接用:
rpm -q cutedict就可以了,但如果你只記得該軟件包的一部分名字,比如cut,那你就必須得用rmp -qa|grep cut來進行搜索了
查看系統中所有已經安裝的包,要加 -a 參數 ;
[root@localhost ~]# rpm -qa
如果分頁查看,再加一個管道 |和more命令;
[root@localhost ~]# rpm -qa |more
在所有已經安裝的軟件包中查找某個軟件,比如說 gaim ;可以用 grep 抽取出來;
[root@localhost ~]# rpm -qa |grep gaim
2)查詢一個已經安裝的文件屬於哪個軟件包;
語法 rpm -qf 文件名
注:文件名所在的絕對路徑要指出
舉例:
[root@localhost ~]# rpm -qf /usr/lib/libacl.la
libacl-devel-2.2.23-8
3)查詢已安裝軟件包都安裝到何處;
語法:rpm -ql 軟件名 或 rpm rpmquery -ql 軟件名
舉例:
[root@localhost ~]# rpm -ql lynx
[root@localhost ~]# rpmquery -ql lynx
4)查詢一個已安裝軟件包的信息
語法格式: rpm -qi 軟件名
舉例:
[root@localhost ~]# rpm -qi lynx
5)查看一下已安裝軟件的配置文件;
語法格式:rpm -qc 軟件名
舉例:
[root@localhost ~]# rpm -qc lynx
6)查看一個已經安裝軟件的文檔安裝位置:
語法格式: rpm -qd 軟件名
舉例:
[root@localhost ~]# rpm -qd firefox
7)查看一下已安裝軟件所依賴的軟件包及文件;
語法格式: rpm -qR 軟件名
舉例:
[root@localhost ~]# rpm -qR firefox
查詢已安裝軟件的總結:對於一個軟件包已經安裝,我們可以把一系列的參數組合起來用;比如 rpm -qil ;比如:
[root@localhost ~]# rpm -qil lynx
2、對於未安裝的軟件包的查看:
查看的前提是您有一個.rpm 的文件,也就是說對既有軟件file.rpm的查看等;
1)查看一個軟件包的用途、版本等信息;
語法: rpm -qpi file.rpm
舉例:
[root@localhost ~]# rpm -qpi lynx-2.8.5-23.i386.rpm
2)查看一件軟件包所包含的文件;
語法: rpm -qpl file.rpm
舉例:
[root@localhost ~]# rpm -qpl lynx-2.8.5-23.i386.rpm
3)查看軟件包的文檔所在的位置;
語法: rpm -qpd file.rpm
舉例:
[root@localhost ~]# rpm -qpd lynx-2.8.5-23.i386.rpm
5)查看一個軟件包的配置文件;
語法: rpm -qpc file.rpm
舉例:
[root@localhost ~]# rpm -qpc lynx-2.8.5-23.i386.rpm
4)查看一個軟件包的依賴關係
語法: rpm -qpR file.rpm
舉例:
[root@localhost ~]# rpm -qpR yumex_0.42-3.0.fc4_noarch.rpm