Linux RPM包统一命名规则
RPM 二进制包的命名需要遵守统一的命名规则,用户通过名称就可以直接获取这类包的版本,适用平台等信息。
RPM 二进制包命名的一般格式如下:
报名-版本号-发布次数-发行商-Linux平台-适合的硬件平台-包扩展名
mysql-community-release-el7-5.noarch.rpm
例如,RPM 包的名称是httpd-2.2.15-15.el6.centos.1.i686.rpm ,其中:
-
httped:软件包名。这里需要注意,httped 是包名,而 httpd-2.2.15-15.el6.centos.1.i686.rpm 通常称为包全名,包名和包全名是不同的,在某些 Linux 命令中,有些命令(如包的安装和升级)使用的是包全名,而有些命令(包的查询和卸载)使用的是包名,一不小心就会弄错。 -
2.2.15:包的版本号,版本号的格式通常为主版本号.次版本号.修正号 。 -
15:二进制包发布的次数,表示此 RPM 包是第几次编程生成的。 -
el*:软件发行商,el6 表示此包是由 Red Hat 公司发布,适合在 RHEL 6.x (Red Hat Enterprise Unux) 和 CentOS 6.x 上使用。 -
centos:表示此包适用于 CentOS 系统。 -
i686:表示此包使用的硬件平台,目前的 RPM 包支持的平台如表 1 所示:
平台名称 | 适用平台信息 |
---|
i386 | 386 以上的计算机都可以安装 | i586 | 686 以上的计算机都可以安装 | i686 | 奔腾 II 以上的计算机都可以安装,目前所有的 CPU 是奔腾 II 以上的,所以这个软件版本居多 | x86_64 | 64 位 CPU 可以安装 | noarch | 没有硬件限制 |
- rpm:RPM 包的扩展名,表明这是编译好的二进制包,可以使用 rpm 命令直接安装。此外,还有以 src.rpm 作为扩展名的 RPM 包,这表明是源代码包,需要安装生成源码,然后对其编译并生成 rpm 格式的包,最后才能使用 rpm 命令进行安装。
有读者可能会问,Linux 系统不靠扩展名分区文件类型,那为什么包全名中要包含 .rpm 扩展名呢?其实,这里的扩展名是为系统管理员准备的,如果我们不对 RPM 包标注扩展名,管理员很难知道这是一个 RPM 包,当然也就无法正确使用。
RPM包默认安装路径
通常情况下,RPM 包采用系统默认的安装路径,所有安装文件会按照类别分散安装到表 1 所示的目录中。
安装路径 | 含 义 |
---|
/etc/ | 配置文件安装目录 | /usr/bin/ | 可执行的命令安装目录 | /usr/lib/ | 程序所使用的函数库保存位置 | /usr/share/doc/ | 基本的软件使用手册保存位置 | /usr/share/man/ | 帮助文件保存位置 |
RPM 包的默认安装路径是可以通过命令查询的。
除此之外,RPM 包也支持手动指定安装路径,但此方式并不推荐。因为一旦手动指定安装路径,所有的安装文件会集中安装到指定位置,且系统中用来查询安装路径的命令也无法使用(需要进行手工配置才能被系统识别),得不偿失。
与 RPM 包不同,源码包的安装通常采用手动指定安装路径(习惯安装到 /usr/local/ 中)的方式。既然安装路径不同,同一 apache 程序的源码包和 RPM 包就可以安装到一台 Linux 服务器上(但同一时间只能开启一个,因为它们需要占用同一个 80 端口)。
实际情况中,一台服务器几乎不会同时包含两个 apache 程序,管理员不好管理,还会占用过多的服务器磁盘空间。
|