linux命令详解之-rpm软件包管理

Posted 爱草坪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux命令详解之-rpm软件包管理相关的知识,希望对你有一定的参考价值。

一、查询软件信息                 

 查询已经安装的软件

]# rpm  -qa    #当前系统中所有已安装的软件包

]# rpm  -qa  |  grep  firefox     

]# rpm  -q   firefox    #查看firefox是否安装

firefox-52.7.0-1.el7.centos.x86_64

]# rpm  -q   httpd   

未安装软件包

]# rpm  -q   bash

bash-4.2.46-30.el7.x86_64

]# rpm  -qi   firefox       #查询软件信息

]# rpm  -ql   firefox       #查询软件安装了哪些内容(安装清单)

]# rpm  -ql    firefox   |   less

   查询某个目录/文件是哪个RPM包带来的

–    格式:rpm  -qf  [文件路径]…

–    即使目标文件被删除,也可以查询

[root@localhost ~]# which  vim   #查询命令对应的程序文件

/usr/bin/vim

[root@localhost ~]# rpm -qf  /usr/bin/vim

vim-enhanced-7.4.160-4.el7.x86_64

[root@localhost ~]# rpm -q vim-enhanced

vim-enhanced-7.4.160-4.el7.x86_64

[root@localhost ~]# rpm -qf   /etc/passwd

[root@localhost ~]# rpm -qf  /usr/bin/firefox

 查询未安装软件包

]# rpm  -q   vsftpd     #查询vsftpd软件是否安装

未安装软件包

]# ls /mnt/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm

查询软件包的安装清单:  

]# rpm -qpl  /mnt/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm

查询软件包信息

]# rpm -qpi /mnt/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm

导入红帽签名信息(了解)

]# rpm  --import    /mnt/RPM-GPG-KEY-CentOS-7

查询软件包信息

]# rpm -qpi  /mnt/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm

二、安装RPM软件

–    格式:rpm   -i   RPM包文件...

•      辅助选项

–     -v:显示细节信息

–     -h:以#号显示安装进度

–     --force:强制安装、覆盖安装

–     --test:测试安装,不做真实安装动作

]# rpm  -q   vsftpd        #查询当前的系统是否安装了该软件

未安装软件包

]# rpm  -ivh  /mnt/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm

]# rpm  -q  vsftpd    #查询当前的系统是否安装了该软件

vsftpd-3.0.2-22.el7.x86_64

]# rpm -e vsftpd            #卸载软件

]# rpm -q vsftpd            #查询当前的系统是否安装了该软件

未安装软件包

--force:强制安装、覆盖安装

]# which   hostname

/usr/bin/hostname

]# rm   -rf   /usr/bin/hostname

]# hostname

bash: hostname: 未找到命令...

]# rpm -qf   /usr/bin/hostname     #查看由哪个软件包产生

hostname-3.13-3.el7.x86_64

]# rpm  -ivh   --force   /mnt/Packages/hostname-3.13-3.el7.x86_64.rpm

yum的强制安装、覆盖安装

]# which   hostname

/usr/bin/hostname

]# rm   -rf   /usr/bin/hostname

]# hostname

bash: hostname: 未找到命令...

]# yum  provides  /usr/bin/hostname

]# yum -y  reinstall  hostname     #重新安装hostname软件

]# ls  /usr/bin/hostname

]# hostname

解决依赖关系

–    先安装/卸载要求的包

–    如果RPM包齐全但比较多,可以用通配符

•      忽略依赖关系(不推荐)

–    可能会导致软件运行异常

–    辅助选项 --nodeps

常见依赖关系的报错:

[root@localhost ~]# rpm -ivh /mnt/Packages/bind-chroot-9.9.4-61.el7.x86_64.rpm

错误:依赖检测失败:

    bind = 32:9.9.4-61.el7 被 bind-chroot-32:9.9.4-61.el7.x86_64 需要​

以上是关于linux命令详解之-rpm软件包管理的主要内容,如果未能解决你的问题,请参考以下文章

Linux系列教程——Linux软件包管理之yum在线管理

使用RPM软件包管理命令详解

Linux系列教程——Linux软件包管理之RPM命令

Linux rpm命令详解

Linux rpm命令详解

16Linux软件管理工具rpm详解