1,如何使用 rpm 初始化数据库?
通过rpm 命令查询一个rpm 包是否安装了,也是要通过rpm 数据库来完成的;所以我们要经常用下面的两个命令来初始化rpm 数据库;
<code> [root@feiyu ~]# rpm --initdb [root@feiyu ~]# rpm --rebuilddb 注:这个要花好长时间; </code>
注:这两个参数是极为有用,有时rpm 系统出了问题,不能安装和查询,大多是这里出了问题。
2,查询系统已安装的软件?
<code> [root@feiyu ~]# rpm -qa |more </code>
3,查询一个已经安装的文件属于哪个软件包,?
<code> 语法: rpm -qf 软件名 [root@feiyu ~]# rpm -qf `which nmon` nmon-14i-8.el6.x86_64 </code>
4,查询已安装软件包都安装到何处?
<code> 语法: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 </code>
5,怎样查询一个已安装软件包的信息?
<code> 语法格式: rpm -qi 软件名 [root@feiyu ~]# rpm -qi nmon </code>
6,查看一下已安装软件的配置文件
<code> 语法格式: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 </code>
7,查看一个已经安装软件的文档安装位置:
<code> 语法格式: rpm -qd 软件名 [root@feiyu ~]# rpm -qd nmon /usr/share/doc/nmon-14i/Documentation.txt /usr/share/man/man1/nmon.1.gz </code>
8,查看一下已安装软件所依赖的软件包及文件;
<code> 语法格式: rpm -qR 软件名 , [root@feiyu ~]# rpm -qR nmon </code>
查询已安装软件的总结:对于一个软件包已经安装,我们可以把一系列的参数组合起来用;比如 rpm -qil ;比如
<code> [root@feiyu ~]# rpm -qil nmon </code>
9,对于未安装的软件包的查看:
查看一个软件包的用途、版本等信息;
<code> 语法: rpm -qpi file.rpm [root@feiyu ~]# rpm -qpi glibc-2.15-60.el6.x86_64.rpm </code>
10,查看一件软件包所包含的文件;
<code> 语法: rpm -qpl file.rpm [root@feiyu ~]# rpm -qpl glibc-2.15-60.el6.x86_64.rpm </code>
11,查看软件包的文档所在的位置;
<code> 语法: rpm -qpd file.rpm [root@feiyu ~]# rpm -qpd glibc-2.15-60.el6.x86_64.rpm </code>
12,查看一个软件包的配置文件;
<code> 语法: rpm -qpc file.rpm [root@feiyu ~]# rpm -qpc glibc-2.15-60.el6.x86_64.rpm </code>
13,查看一个软件包的依赖关系 这个是对于没有安装的rpm的最实用的命令
<code> 语法: rpm -qpR file.rpm [root@feiyu ~]# rpm -qpR glibc-2.15-60.el6.x86_64.rpm </code>
14,对于src.rpm包 的安装处理方法:
第一种 :编译为rpm包 .
<code> 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 </code>
这时,在 ../RPMS/(根据具体包的不同) 在这个目录下,有一个新的rpm包,这个是编译好的二进制文件。执行:rpm -i new-package.rpm即可安装完成。
第二种 : 编译成源码包
<code> 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 </code>
RPM命令常用参数
<code> --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包的内容信息 </code>