Shell: .RPM文件安装方法

RPM 包的安装

最简单的安装 RPM 的命令格式为:

shell > rpm -ivh 包全名

此命令中各选项参数的含义为:

  • -i:安装(install);
  • -v:显示更详细的信息(verbose);
  • -h:打印 #,显示安装进度(hash);

例如,使用此命令安装 apache 软件包,如下所示:

[root@localhost ~]# rpm -ivh \  
/mnt/cdrom/Packages/httpd-2.2.15-15.el6.centos.1.i686.rpm  
Preparing...  
####################  
[100%]  
1:httpd  
####################  
[100%]

直到出现两个 100% 才是真正的安装成功,第一个 100% 仅表示完成了安装准备工作。

此命令还可以一次性安装多个软件包,仅需将包全名用空格分开即可,如下所示:

[root@localhost ~]# rpm -ivh a.rpm b.rpm c.rpm

RPM包的卸载

RPM 软件包的卸载最简单命令:

[root@localhost ~]# rpm -e 包名

RPM 软件包的卸载要考虑包之间的依赖性。例如,我们先安装的 httpd 软件包,后安装 httpd 的功能模块 mod_ssl 包,那么在卸载时,就必须先卸载 mod_ssl,然后卸载 httpd,否则会报错。

软件包卸载和拆除大楼是一样的,本来先盖的 2 楼,后盖的 3 楼,那么拆楼时一定要先拆除 3 楼。

如果卸载 RPM 软件不考虑依赖性,执行卸载命令会包依赖性错误,例如:

[root@localhost ~]# rpm -e httpd  
error: Failed dependencies:  
httpd-mmn = 20051115 is needed by (installed) mod_wsgi-3.2-1.el6.i686  
httpd-mmn = 20051115 is needed by (installed) php-5.3.3-3.el6_2.8.i686  
httpd-mmn = 20051115 is needed by (installed) mod_ssl-1:2.2.15-15.el6.  
centos.1.i686  
httpd-mmn = 20051115 is needed by (installed) mod_perl-2.0.4-10.el6.i686  
httpd = 2.2.15-15.el6.centos.1 is needed by (installed) httpd-manual-2.2.  
15-15.el6.centos.1 .noarch  
httpd is needed by (installed) webalizer-2.21_02-3.3.el6.i686  
httpd is needed by (installed) mod_ssl-1:2.2.15-15.el6.centos.1.i686  
httpd=0:2.2.15-15.el6.centos.1 is needed by(installed)mod_ssl-1:2.2.15-15.el6.centos.1.i686

-e 选项表示卸载,也就是 erase 的首字母。

RPM 软件包的卸载命令支持使用“-nocteps”选项,即可以不检测依赖性直接卸载,但此方式不推荐大家使用,因为此操作很可能导致其他软件也无法征程使用。

RPM包默认安装路径

通常情况下,RPM 包采用系统默认的安装路径,所有安装文件会按照类别分散安装到表 1 所示的目录中。

表 1 RPM 包默认安装路径

安装路径 含 义
/etc/ 配置文件安装目录
/usr/bin/ 可执行的命令安装目录
/usr/lib/ 程序所使用的函数库保存位置
/usr/share/doc/ 基本的软件使用手册保存位置
/usr/share/man/ 帮助文件保存位置

RPM 包的默认安装路径是可以通过命令查询的。

除此之外,RPM 包也支持手动指定安装路径,但此方式并不推荐。因为一旦手动指定安装路径,所有的安装文件会集中安装到指定位置,且系统中用来查询安装路径的命令也无法使用(需要进行手工配置才能被系统识别),得不偿失。

与 RPM 包不同,源码包的安装通常采用手动指定安装路径(习惯安装到 /usr/local/ 中)的方式。既然安装路径不同,同一 apache 程序的源码包和 RPM 包就可以安装到一台 Linux 服务器上(但同一时间只能开启一个,因为它们需要占用同一个 80 端口)。

实际情况中,一台服务器几乎不会同时包含两个 apache 程序,管理员不好管理,还会占用过多的服务器磁盘空间。


Shell: .RPM文件安装方法
https://qiil.github.io/2021/05/19/Shell-RPM文件安装方法/
作者
QSY
发布于
2021年5月19日
许可协议