首頁  >  文章  >  系統教程  >  rpm你不知道的事

rpm你不知道的事

WBOY
WBOY轉載
2024-01-11 18:27:04832瀏覽
導讀 RPM是Linux系統centos系列的套件管理系統,透過rpm可以快速的安裝軟體,在學習和工作常用到的套件管理系統之一。下面我們就來詳細了解下rpm的使用-rpm你不知道的事。
1,如何使用 rpm 初始化資料庫?

透過rpm 指令查詢一個rpm 套件是否安裝了,也是要透過rpm 資料庫來完成的;所以我們要常用下面的兩個指令來初始化rpm 資料庫;

[root@feiyu ~]# rpm --initdb
[root@feiyu ~]# rpm --rebuilddb    注:这个要花好长时间;

註:這兩個參數是極為有用,有時rpm 系統出了問題,不能安裝和查詢,大多是這裡出了問題。

2,查詢系統已安裝的軟體?
[root@feiyu ~]# rpm -qa |more
3,查詢一個已經安裝的檔案屬於哪個軟體包,?

語法: rpm -qf 軟體名稱

[root@feiyu ~]# rpm -qf `which nmon`
nmon-14i-8.el6.x86_64
4,查詢已安裝軟體套件都安裝到何處?

語法:rpm -ql 軟體名稱

[root@feiyu ~]# rpm -ql nmon
/usr/bin/nmon
/usr/share/doc/nmon-14i
/usr/share/doc/nmon-14i/Documentation.txt
/usr/share/man/man1/nmon.1.gz
5,怎麼查詢一個已安裝軟體包的資訊?

語法格式: rpm -qi 軟體名稱

[root@feiyu ~]# rpm -qi nmon
6,查看已安裝軟體的設定檔

語法格式:rpm -qc 軟體名稱

[root@feiyu ~]# rpm  -qc vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf
7,檢視一個已經安裝軟體的文件安裝位置:

語法格式: rpm -qd 軟體名稱

[root@feiyu ~]# rpm  -qd nmon
/usr/share/doc/nmon-14i/Documentation.txt
/usr/share/man/man1/nmon.1.gz
8,檢視一下已安裝軟體所依賴的軟體套件及檔案;

語法格式: rpm -qR 軟體名稱

[root@feiyu ~]# rpm  -qR  nmon

查詢已安裝軟體的總結:對於一個軟體包已經安裝,我們可以把一系列的參數組合起來用;例如 rpm -qil ;例如

[root@feiyu ~]# rpm  -qil  nmon
9,對於未安裝的軟體包的檢視:

查看一個軟體包的用途、版本等資訊;

語法: rpm -qpi file.rpm

[root@feiyu ~]# rpm -qpi glibc-2.15-60.el6.x86_64.rpm 
10,查看一件軟體包所包含的檔案;

語法: rpm -qpl file.rpm

[root@feiyu ~]# rpm -qpl glibc-2.15-60.el6.x86_64.rpm 
11,查看軟體包的文檔所在的位置;

語法: rpm -qpd file.rpm

[root@feiyu ~]# rpm -qpd glibc-2.15-60.el6.x86_64.rpm 
12,查看一個軟體包的設定檔;

語法: rpm -qpc file.rpm

[root@feiyu ~]# rpm -qpc glibc-2.15-60.el6.x86_64.rpm 
13,查看一個軟體包的依賴關係 這個是對於沒有安裝的rpm的最實用的命令
语法: rpm -qpR file.rpm
[root@feiyu ~]# rpm -qpR glibc-2.15-60.el6.x86_64.rpm
14,對於src.rpm套件 的安裝處理方法: 第一種:編譯為rpm套件.
1,[root@feiyu ~]# rpm  -i vsftpd-2.2.2-11.el6_3.1.src.rpm
 
2,[root@feiyu ~]# cd  rpmbuild/SPECS/
     [root@feiyu SPECS]# ls -l
     total 24
     -rw-r--r--. 1 root root 21472 Feb 13  2013 vsftpd.spec
 
3,[root@feiyu SPECS]# rpmbuild -bb vsftpd.spec

這時,在 ../RPMS/(根據具體包的不同) 在這個目錄下,有​​一個新的rpm包,這個是編譯好的二進位。執行:rpm -i new-package.rpm即可安裝完成。

第二種:編譯成原始碼包
1. [root@feiyu ~]# rpm  -i vsftpd-2.2.2-11.el6_3.1.src.rpm
 
2. [root@feiyu ~]# cd  rpmbuild/SPECS/
 
3. [root@feiyu SPECS]# rpmbuild -bp vsftpd.spec 
 
4. [root@feiyu SPECS]# cd ../BUILD/vsftpd-2.2.2/ 
 
5. [root@feiyu vsftpd-2.2.2]# ./configure   这一步和编译普通的源码软件一样,可以加上参数
 
6. [root@feiyu vsftpd-2.2.2]# make
 
7. [root@feiyu vsftpd-2.2.2]# make install
附:RPM指令常用參數
--initdb:初始化数据库
 
--rebuilddb:从已安装包的头信息中重建数据库的反转列表
 
-q:在系统中查询软件或查询指定rpm包的内容信息
 
-i:在系统中安装软件
 
-U:在系统中升级软件
 
-e:在系统中卸载软件
 
-h:用#(hash)符显示rpm安装过程
 
-v:详述安装过程
 
-c:列出所有配置文件
 
-d :列出所有文档文件
 
-l:列出包内的所有文件
 
-ivh:安装显示安装进度--install--verbose--hash
 
-Uvh:升级软件包--Update;
 
-qf:查找指定文件属于哪个RPM软件包[Query File];
 
-p:表明对RPM包进行查询,通常和其它参数同时使用,如:
 
-qlp:查询某个RPM包中的所有文件列表
 
-qip:查询某个RPM包的内容信息

以上是rpm你不知道的事的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:linuxprobe.com。如有侵權,請聯絡admin@php.cn刪除