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命令