一、RPM包管理工具简介
RedHat软件包管理工具(RedHat Package Manager,RPM)
RPM软件包工具常用于软件包的安装、查询、更新升级、校验、卸载以及生成.rpm格式的软件包等操作。
RPM软件包工具只能管理后缀是.rpm的软件包。软件包的命名格式:
软件名称-版本号(包括主版本号和次版本号).软件运行的硬件平台.rpm
例:telnet-server-0.17-59.el7.x86_64.rpm。
二、RPM工具的使用
1.查询
软件包的查询功能主要由-q选项完成,为了实现特殊的查询功能要配合其它的选项使用。
〖例1〗查询系统中已经安装的所有RPM 软件包。
〖例2〗在已经安装的软件包中查询包含lib关键字的软件包的名称,实现命令如下。
〖例3〗查询openssh-server软件包是否已经安装。
〖例4〗查询openssh-server和telnet-server两个软件是否已经安装。
〖例5〗查询已安装的openssh-server软件包的信息。
〖例6〗查询openssh-server软件包中有哪些文件,以及这些文件安装在系统的位置。
〖例7〗查询/var/empty/sshd目录是安装哪一个软件包而创建的。
〖例8〗查询待安装vsftpd-2.0.5-16.e15_4.1.i386.rpm软件包的文件列表。
2.安装
命令格式: rpm -ivh 软件包名称
选项说明:
-i : 表示安装软件包。
-v : 表示在安装过程中显示详细信息。
-h :表示在安装过程中将显示一系列的“#”来表示安装进度。
〖例9〗安装telnet-server-0.17-59.el7.x86_64.rpm软件包
3.升级
升级功能首先将低版本的软件包卸载,再安装高版本的软件包。需要使用-U选项,为了详细地显示安装过程,通常结合v和h选项使用。
命令格式:rpm -Uvh 软件包名称
〖例10〗升级telnet软件为telnet-server-0.17-59.el7.x86_64.rpm软件包。
#rpm -Uvh telnet-server-0.17-59.el7.x86_64.rpm
4.刷新
刷新软件包时,系统会比较选项指定的软件包的版本和目前系统中所安装的软件包的版本。如果选项指定的软件包的版本更高,就会升级到高版本软件包。如果系统中未安装过该软件包,则刷新选项不会安装软件包,这一点与软件升级功能不同。
由选项-F实现,通常结合v和h选项使用。
命令格式: rpm -Fvh 软件包名称
〖例11〗刷新telnet-server-0.17-59.el7.x86_64.rpm软件包
5.卸载
卸载命令可以从系统中将已安装的软件包清除。
命令格式:rpm -e 软件名称
〖例12〗将telnet-server软件从系统中卸载。
#rpm -e telnet-server
三、常见问题分析
1.在执行#rpm -qa命令时,如果输出信息过多,不易查找指定信息。
2.在查询软件包信息或文件时,想保存执行结果。
3.“软件名称”和“软件包名称”。
4.软件包依赖问题
5.RPM数据库损坏
6.软件安装的时间问题
项目一:使用RPM管理telnet-server软件包
操作过程:
#rpm -q telnet-server
#rpm -qpl telnet-server-0.17-59.el7.x86_64.rpm
#rpm -ivh telnet-server-0.17-59.el7.x86_64.rpm
#rpm -q telnet-server
# systemctl enable telnet.socket
# systemctl start telnet.socket
#systemctl restart xinetd.service
#telnet 192.168.137.22