共计 3000 个字符,预计需要花费 8 分钟才能阅读完成。
导读 | 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,查询一个已经安装的文件属于哪个软件包,?
[root@feiyu ~]# rpm -qf `which nmon`
nmon-14i-8.el6.x86_64
4,查询已安装软件包都安装到何处?
[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,怎样查询一个已安装软件包的信息?
[root@feiyu ~]# rpm -qi nmon
6,查看一下已安装软件的配置文件
[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,查看一个已经安装软件的文档安装位置:
[root@feiyu ~]# rpm -qd nmon
/usr/share/doc/nmon-14i/Documentation.txt
/usr/share/man/man1/nmon.1.gz
8,查看一下已安装软件所依赖的软件包及文件;
[root@feiyu ~]# rpm -qR nmon
查询已安装软件的总结:对于一个软件包已经安装,我们可以把一系列的参数组合起来用;比如 rpm -qil;比如
[root@feiyu ~]# rpm -qil nmon
9,对于未安装的软件包的查看:
查看一个软件包的用途、版本等信息;
[root@feiyu ~]# rpm -qpi glibc-2.15-60.el6.x86_64.rpm
10,查看一件软件包所包含的文件;
[root@feiyu ~]# rpm -qpl glibc-2.15-60.el6.x86_64.rpm
11,查看软件包的文档所在的位置;
[root@feiyu ~]# rpm -qpd glibc-2.15-60.el6.x86_64.rpm
12,查看一个软件包的配置文件;
[root@feiyu ~]# rpm -qpc glibc-2.15-60.el6.x86_64.rpm
13,查看一个软件包的依赖关系 这个是对于没有安装的 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 包的内容信息
正文完
星哥说事-微信公众号
![post-qrcode](https://www.xgss.net/wp-content/uploads/2023/07/二维码-微信公众号256x256.jpg)