rpm命令详解

1.rpm命令

#####什么是rpm#####

之前我们介绍了yum命令,那什么又是rpm命令呢??
RPM的全程为Red-Hat Package Manager,又称RPM软件包管理器,之前我们都知道使用yum命令去安装软件包,但是使用yum需要指向指定的服务器,如果是从第三方下载的.rpm的软件包并不能直接使用yum来安装,这时就需要使用我们的rpm命令来安装软件包。。

####rpm命令的详细用法####
rpm -i              ##安装 
rpm -v              ##显示过程
rpm -h              ##hash加密
rpm -e             ## 卸载
rpm -q             ##查看
rpm -a             ##所有
rpm -p             ##软件包
rpm -ql            ##查看软件在系统中的安装文件路径
rpm -qlp           ##查看未安装的软件包在系统中如果安装后产生文件的路径
rpm -qf          ##根据某个文件找出此文件属于哪个安装包
rpm -qc          ##查看软件的配置文件名称
rpm -qd          ##查看软件的帮助文件
rpm --scripts         ##  查看脚本
rpm --nodeps            ##安装软件忽略软件依赖
rpm --force           ## 强行安装软件
rpm -Kv               ##检测软件包是否被篡改
#####补充#####

需要注意的是:
1.在使用rpm安装软件时,只能安装单个rpm包,并且rpm命令并不能自动解决软件包的依赖性问题。
2.在使用rpm命令时可以暂时忽略软件的依赖性安装,但是仅限于解决相互之间依赖,最终还是要安装完成全部的依赖性文件,该软件才可以正常使用。

2.软件包的拆解

我们知道linux下一切皆文件,所以我们日常在使用类似于rm,ls这样的命令时,其实是在调用/bin/下的文件

在这里插入图片描述
如果我们不小心把/bin/下的这些文件删除的话,那我们应该如何装回这些文件呢?
1.首先我们先删除/bin/rm这个文件

rm -fr /bin/rm                     ##删除/bin目录下的rm文件

2.然后我们查看这个文件是由哪个安装包提供的

yum whatprovides rm     ##用yum命令查看rm文件由哪个文件包含

我们发现tm文件是由coreutils-8.22-18.el7.x86_64这个包提供

在这里插入图片描述
3.接下来我们可以用两种方法安装rm文件
<1>直接使用yum命令安装提供rm文件的安装包

yum reinstall coreutils   

这样会安装这个包中的所有文件,包含在这个软件包中rm文件也会被重新安装。

在这里插入图片描述
<2>拆解软件包,安装需要的文件
首先我们在yum的库中找到这个软件包,这个软件包在镜像挂载目录下的Packages目录下,名为coreutils-8.22-18.el7.x86_64.rpm

cd /westos/Packages

因为 /westos/Packages这个目录没有执行权限,所以我们把coreutils-8.22-18.el7.x86_64.rpm拷贝出来

cp /westos/Packages/coreutils-8.22-18.el7.x86_64.rpm /mnt/   ##将该软件包拷贝到/mnt/下

然后执行:

rpm2cpio coreutils-8.22-18.el7.x86_64.rpm | cpio -id

我们发现会在/mnt/下生成名为usr的目录
在这里插入图片描述
进入这个目录,再进入这个目录下的bin目录,在这个目录中我们可以找到rm文件
在这里插入图片描述
接着我们只需要把这个目录下的rm文件拷贝到/bin/中

cp -p rm /bin/

在这里插入图片描述
再次成功使用rm命令

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值