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软件包管理的主要内容,如果未能解决你的问题,请参考以下文章