RPM安装工具的使用
RPM包管理工具介绍
RedHat 软件包管理工具(RedHat Package Manager,RPM)
RPM 软件包工具常用于软件包的安装、查询、更新升级、校验、卸载以及生成.rpm 格式 的软件包等操作。
RPM 软件包工具只能管理后缀是.rpm 的软件包。软件包的命名格式:
软件名称-版本号(包括主版本号和次版本号).软件运行的硬件平台.rpm
例:telnet-server-0.17-59.el7.x86_64.rpm。
RPM工具的使用
查询
软件包的查询功能主要由-q选项完成,为了实现特殊的查询功能要配合其它的选项使用。
【举例 1】查询系统中已经安装的所有 RPM 软件包。
#rpm -qa
【举例 2】在已经安装的软件包中查询包含 lib 关键字的软件包的名称。
#rpm -qa | grep lib
【举例 3】查询 openssh-server 软件包是否已经安装。
#rpm -q openssh-server
【举例 4】查询 openssh-server 和 telnet-server 两个软件是否已经安装。
#rpm -q openssh-server telnet-server
【举例 5】查询已安装的 openssh-server 软件包的信息。
# rpm -qi openssh-server
【举例 6】查询 openssh-server 软件包中有哪些文件,以及这些文件安装在系统的位置。
#rpm -ql openssh-server
【举例 7】查询/var/empty/sshd 目录是安装哪一个软件包而创建的
#rpm -qf /var/empty/sshd
安装
安装:rpm -ivh 软件包名称
【举例 1】安装 telnet-server-0.17-59.el7.x86_64.rpm 软件包
#rpm -ivh telnet-server-0.17-59.el7.x86_64.rpm
升级
升级是先将低版本的软件包卸载,再安装高版本的软件包。
【举例 1】升级 telnet 软件为 telnet-server-0.17-59.el7.x86_64.rpm 软件包。
#rpm -Uvh telnet-server-0.17-59.el7.x86_64.rpm
刷新
刷新,如果选项指定软件包的版本更高,会升级安装。如果未安装该软件包,刷新选 项不会安装软件包。
【举例 1】刷新 telnet-server-0.17-59.el7.x86_64.rpm 软件包
#rpm -Fvh telnet-server-0.17-59.el7.x86_64.rpm
卸载
【举例 1】将 telnet-server 软件从系统中卸载。
#rpm -e telnet-server
常见问题分析
·在执行#rpm -qa 命令时,如果输出信息过多,不易查找指定信息。
解决办法:
使用 rpm -qa | grep
·在查询软件包信息或文件时,想保存执行结果。
解决办法:
使用输出重定向
·“软件名称”和“软件包名称”。
解决办法:
安装软件时使用软件包名称,查询与卸载时使用软件名称
·软件包依赖问题
解决办法:
可以使用 --nodeps 选项忽略,但安装时建议不用
·RPM 数据库损坏
解决办法:
rpm 数据库存放在/var/lib/rpm 目录下,使用 rpm -rebuilddb 修复
·软件安装的时间问题
解决办法:
安装软件时如果系统提示“warning:clock skew detected”
使用 date -s “2019-5-9” 14:00 修改系统时间
使用 hwclick -w 将更新时间写入 CMOS