Linux安装光盘中的软件安装包是以.rpm为后缀的文件,简称rpm包。rpm包也是Redhat发行的Linux中大多数软件安装包的打包格式,安装这些软件包可以使用rpm命令来实现。以dhcp软件的安装为例,安装管理软件的命令如下。
①mount /dev/sr0 /media:挂载光盘。
②cd /media/Packages:进入安装包存放路径。
③ls | grep dhcp:查看抓取指定的包是否存在。
④rpm -ivh dhcp-4.2.5-XXX.rpm:安装指定软件包,这里使用XXX替代包名中的中间字符。其中,-i表示安装,-v表示查错,查看该软件是否已安装过及指定的包是否可用,-h表示以“#”显示安装进度,功能类似进度条,相关操作如下所示:
[root@linux ~]# mount /dev/sr0 /media mount: /dev/sr0 写保护,将以只读方式挂载 [root@linux ~]# cd /media/Packages/ [root@linux Packages]# ls | grep dhcp dhcp-4.2.5-82.el7.centos.x86_64.rpm dhcp-common-4.2.5-82.el7.centos.x86_64.rpm dhcp-libs-4.2.5-82.el7.centos.x86_64.rpm [root@linux Packages]# rpm -ivh dhcp-4.2.5-82.el7.centos.x86_64.rpm 准备中... ################################# [100%] 软件包 dhcp-12:4.2.5-82.el7.centos.x86_64 已经安装 [root@linux Packages]# |
在安装之前,可以使用rpm -q dhcp命令查询指定包是否已安装过。安装完毕后,可以使用rpm -ql dhcp命令查看软件包所有文件的安装位置。相关操作如下所示:
[root@linux Packages]# rpm -q php 未安装软件包 php [root@linux Packages]# rpm -q dhcp dhcp-4.2.5-82.el7.centos.x86_64 [root@linux Packages]# rpm -ql dhcp /etc/NetworkManager /etc/NetworkManager/dispatcher.d /etc/NetworkManager/dispatcher.d/12-dhcpd /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd6.conf /etc/dhcp/scripts /etc/dhcp/scripts/README.scripts /etc/openldap/schema/dhcp.schema /etc/sysconfig/dhcpd /usr/bin/omshell ...... |
由以上操作可知,已安装过的包会显示版本号,未安装过的包会显示未安装。
还可以使用rpm -qa命令显示本机已安装过的所有软件包。例如,命令rpm -qa | grep dhcp表示显示抓取指定包是否安装过。这种格式适合在软件名较长或拼写单词较长时使用。参见如下操作:
[root@linux Packages]# rpm -qa|grep dhcp dhcp-common-4.2.5-82.el7.centos.x86_64 dhcp-4.2.5-82.el7.centos.x86_64 dhcp-libs-4.2.5-82.el7.centos.x86_64 |
⑤rpm -qf /etc/dhcp/dhcpd.conf:查看指定文件被哪个软件所使用。参见如下操作:
[root@linux Packages]# rpm -qf /etc/dhcp/dhcpd.conf dhcp-4.2.5-82.el7.centos.x86_64 [root@linux Packages]# |
⑥rpm -e dhcp:卸载软件。参见如下操作:
[root@linux Packages]# rpm -e dhcp [root@linux Packages]# rpm -q dhcp 未安装软件包 dhcp [root@linux Packages]# |
软件包的命名规范:软件名-版本号-发行号.硬件平台.rpm。
例如,安装包的完整名称为dhcp-4.2.5-82.el7.centos.x86_64.rpm,其中,dhcp为软件名,4.2.5为版本号,82.el7.centos为发行号, x86_64为所适用的硬件平台,.rpm为文件后缀,表示CentOS企业Linux 7版本的第82次发行,该软件包适用于PC机硬件平台。
软件包的使用规范:只有在安装时才需要指定安装包名,在查询、卸载等非安装类操作时,只需要指定软件名即可。
rpm的参数-Uvh和-Fvh都具备升级软件的功能,区别在于系统是否已安装了低版本的相同软件。若已安装,则-Uvh和-Fvh都能将软件升级为新版;若未安装,则-Uvh会直接安装该软件,-Fvh不会安装。