RPM 安装方式
RPM是Red Hat Package Manager的缩写,是红帽开发的软件包管理工具,具备强大的查询功能,并支持安全验证。这种工具是一种通用型的Linux软件包管理工具,因其便捷的管理方式,逐渐被其他Linux发行版采用,现已成为Linux平台下通用的软件包管理方式。RPM包管理方式的优点包括安装简便、无需指定安装位置、便于升级和卸载。由于软件包已经编译和打包完成,安装过程只是验证环境和解压的步骤。然而,RPM包管理方式的缺点是大多数RPM安装包需要解决依赖关系。
1.RPM 包命名规则
RPM包的命名需遵守统一的命名规则,使用户能够通过名称直接获取包的版本、适用平台等信息,便于使用。RPM包的命名格式如下:包名-版本号-发布次数-发行商-Linux平台-适用硬件平台-包扩展名。
例如,RPM包的名称是mrkj-3.2.15-15.el6.centos.1.i686.rpm,其中:
①mrkj:是软件包名,而 mrkj-3.2.15-15.el6.centos.1.i686.rpm 是包全名。
②3.2.15:是包的版本号,版本号的格式通常为“主版本号,次版本号,修正号”。
③15:是二进制包发布的次数,表示此 RPM 包是第几次编译生成的。
④el6:指软件发行商,el6 表示此包是由 RedHat 公司发布的,适合在RHEL6.x(Red Hat EnterpriseUnux)和 CentOS 6.x上使用。
⑤centos:表示此包适用于CentOs 系统。
⑥i686:表示此包使用的硬件平台,目前的RPM 包支持的平台包括i386、i586、i686、x86_64。
⑦rpm:包的扩展名,表明这是编译好的二进制包,可以使用rpm 命令直接安装。此外,还有以src.pm 作为扩展名的RPM 包,这表明是源代码包,需要先安装生成源码,然后对其编译并生成 rpm 格式的包,最后才能使用 rpm 命令进行安装。
2.RPM 包的四个操作
下面以实例介绍RPM包的四个操作。
①安装软件包
安装软件包的命令语法如下:rpm [选项] file1.rpm ... fileN.rpm
选项常用参数如表5.1所示,RPM包的默认安装路径如表所示:
选项 | 说明 |
-i | 安装软件,也可使用“--install” |
-h | 安装时输出标记# |
--text | 只对安装进行测试,并不实际安装 |
--percent | 以百分比的形式输出安装的进度 |
--excludedocs | 不安装软件包中的文档文件 |
--includedocs | 安装文档 |
--replacepkgs | 强制重新安装已经安装的软件包 |
--replacefiles | 替换属于其他软件包的文件 |
--force | 忽略软件包及文件的冲突 |
--noscripts | 不运行预安装和后安装脚本 |
--prefix | 将软件包安装到由“--prefix”指定的路径下 |
--ignorearch | 不校验软件包的结构 |
--ignoreos | 不检查软件包运行的操作系统 |
--nodeps | 不检查依赖性关系 |
-v | 显示附加信息 |
-vv | 显示调试信息 |
安装路径 | 说明 |
/etc/ | 配置文件安装目录 |
/usr/bin/ | 可执行的命令文件安装目录 |
/usr/lib/ | 程序所使用的函数库保存位置 |
/usr/share/doc/ | 基本的软件使用手册保存位置 |
/usr/share/man | 帮助文件保存位置 |
安装无依赖的 tree 命令。tree命令可以在Linux系统中以树的结构形式显示当前目录和文件,并且可以统计目录数与文件数。这个命令的安装无须安装依赖包即可完成安装。tree的RPM 包具体下载地址http://mirror.centos.orgcentos/7/os/x866_64/Packages/tree-1.6.0-10.el7.x8664.mpm,下载完成后通过 rpm 命令进行安装即可,具体实操如图所示:
安装有依赖的sysstat工具包。sysstat工具包是Linux系统下用于性能监控的工具,可以查看CPU使用率、硬盘和网络吞吐数据等信息。预安装sysstat工具包首先要从官网下载,然后进行安装。在浏览器输入官网下载地址:http://sebastien,godard,pagesperso-orange.fr/download.html,复制下载地址,在Linux系统中下载这个RPM包,如图所示:
通过wget命令将sysstat的RPM包下载到/usr/local/soft目录下,如果soft目录不存在,则新建一个soft目录,具体操作如图所示:
在当前目录通过执行 rpm 命令对 sysstat 工具包进行安装,在安装的过程中系统会报缺失依赖的相关错误信息,不同的操作系统显示的缺失依赖文件可能会不同,具体实操如图5.4所示。
如何正确处理这些依赖文件的安装?这里的依赖文件并不是RPM包,无法直接安装,这些文件有可能是 RPM 包中的一个文件,只有找到这些文件对应的RPM 包并安装,系统才能正确安装sysstat 工具包。如何找到依赖文件对应的RPM包?这里提供一个査询 RPM 包的网址htp://www.rpmfind.net,在这个网站上可以査询依赖文件对应的 RPM 包,具体实操如图所示:
当找到所需依赖文件对应的RPM包后,下一步是在Linux系统的镜像文件中查找该包名。如果系统尚未挂载光驱系统镜像文件,首先使用mount命令进行挂载,然后进入系统镜像文件的Packages目录查找该包,具体操作如图所示:
在当前目录通过rpm命令安装glibc时,可能会产生新的依赖,形成依赖嵌套。这时需要继续查找并安装相应的RPM包,直至所有依赖都安装完毕才能安装主文件。这是RPM包管理方式的主要缺点。因此,sysstat工具包不适合使用RPM包方式安装。
②查询软件包
【查询软件包是否已安装】
使用rpm命令的“-q”参数查询tree和httpd软件包是否已安装,具体操作如图所示:
【查询所有已软件包已安装】
使用rpm命令的“-qa”参数查询所有已安装的软件包,具体操作如图所示:
【查询系统文件属于哪个RPM包】
使用rpm命令的“-ql”参数查看软件包的文件列表,具体操作如图所示:
【查看软件包的文件列表】
使用rpm命令的“-qf”参数查询系统文件属于哪个RPM包,具体操作如图所示: