红帽秘笈,第二十三章用rpm管理软件

本章主要介绍使用rpm对软件包进行管理。
使用rpm查询软件的信息
使用rpm安装及卸载软件
使用rpm对软件进行更新
使用rpm对软件进行验证
rpm 全称是redhat package manager,后来改成rpm package manager,这是根据源
码包编译出来的包。先从光盘中拷贝一个包,并看它是如何命名的。
先挂载光盘,然后拷贝 vsftpd这个包,命令如下。

 

 

vsftpd:包的名称。
(2)3.0.3:版本,即 version。
(3)33.el8:小版本号,即release,其中el8 指的是此包适用于RHEL8系统。
(4) x86_64:指的是架构,到底是32位还是64位的包,x86_64表示是64位的。rpm的安
装命令是“rpm -ivh 安装包”。安装rpm,命令如下。

 

 

 

这样就把vsftpd-3.0.3-33.el8.x86_64.rpm 安装好了。如果是第一次接触 Linux 会感觉到
奇怪,怎么不像 Windows一样让我们通过浏览来指定路径,那么这个包安装到哪里了呢?
相信大家在Windows中都安装过 Chrome浏览器,基本上是秒安装,也没有指定路径,因
为这个安装包中已经定义好安装路径了。同理,rpm 安装时也已经指定了安装路径,把这个 rpm打开,先拷贝到/opt目录中,命令如下。

 解压此包,命令如下。

 

 可以看到,生成了3个目录etc、usr、var,看一下它们的结构,如下所示。

如果要查询已经安装过的软件包的信息, rpm的第一个选项需要使用-q,表示查询的意
思。查询系统安装的所有软件包用 rpm-qa命令,命令如下。

 

但是这种用法,在写包名时多一个或少一个字符都查询不出来,如下所示。

 

所以,更建议用管道和grep进行过滤,如下所示。

 

 

查询安装某软件包之后所生成的文件用“rpm -ql 包名”命令,这里q后面是字母1。例
如,要查询vsftpd所生成的文件,命令如下。

 

这样就可以看到 vsftpd安装到哪里了。
查看软件包生成的配置文件用“rpm -qc包名”命令,命令如下

 查看包的信息用“rpm-qi包名”命令,命令如下。

 

当我们安装软件包时会产生许多文件,反过来想查询某个文件是由哪个软件包安装出来的
用rpm -qf /path/file命令,命令如下。

 可以看到,/etc/vsfipd/vsfipd.conf是由 vsftpd这个包产生的。

 

可以看到,/etc/passwd是由setup这个包生成的。
以上这些都是针对已经安装了的软件包进行查询,如果要查询安装包,则需要加上p选
项,命令如下。

 

前面已经介绍了用“rpm -ivh 安装包”命令安装软件,且 vsftpd已经安装完成,如下所
示。
卸载软件包的命令是“rpm -e 软件包”,现在要把vsftpd卸载掉,命令如下。
[root@localhost ~]# rpm -e vsftpd
[root@localhost ~]# rpm -qa | grep vdfatpd

 可以看到,现在vsftpd已经不存在了,再次把这个包安装上去。

 

这里提示包已经安装过了,无法再次安装。此时加上--force选项强制安装即可。
一般情况下,用于某个文件丢失了,想通过强制重新安装来找回此文件,命令如下。
[root@localhost ~]# rm -rf /etc/vsftpd/vsftpd.conf
[root@localhost ~]# ls /etc/vsftpd/
所谓更新,就是卸载旧版本的软件包,然后安装新版本的软件包。假设原来系统已经安装
了1.0版本的软件包,现在要安装2.0版本的软件包,如果两个版本的包安装路径不一样,则
可以共存;如果两个版本的包安装路径一样,则会产生冲突。 先卸载已经安装了的vsftpd,命令如下。
[root@localhost ~]# rpm -e vsftpd 

 然后从RHEL8.0的系统上烤贝一个版本稍低的 vsftpd的安装包,命令如下。

 

 

当我们安装了一个软件包之后会产生许多文件,要是想判断这些文件是否被修改过,可以
用rpm -V(大写字母V)命令,例如,我们刚刚安装了vsftpd,并没有修改任何配置文件。
[root@localhost ~]# rpm -V vsftpd

 这样就可以看到哪些文件被修改过了。只修改时间,命令如下。

[root@localhost ~]# touch /etc/vsftpd/ftpusers

[root@localhost ~]# rpm -V vsftpd 

 

可以看到,/etc/vsftpd/ftpusers的时间发生了改变。
红帽发行的每一个数据包都对它做了数据签名,以证明这个包是红帽官方的。需要在本机
用红帽的公钥来进行验证。首先验证机器上是否安装了红帽的公钥,命令如下。
[root@localhost ~]# rpm -qa | grep pubkey

 没有任何输出,说明没有导人红帽的公钥。使用如下命令导入公钥,命令如下。

 或者导入存储在光盘中的公钥。

[root@localhost ~]# rpm --import /mnt/RPM-GPG-KEY-redhat-release

 再次检查公钥的信息,命令如下。

 可以看到,已经成功导入了。下面验证如下两个vsftpd包,命令如下。

 这个包是一开始从光盘中拷贝过来的,可以看到验证通过。

 这个包也是从光盘中拷贝过来的,只是其他版本的光盘,所以可以看到也是验证通过的。

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值