Linux RPM包安装、卸载、升级命令讲解

一个 RPM 包包含了已压缩的软件文件集以及该软件的内容信息,通常表现为以 .rpm 扩展名结尾的文件,例如 samba.rpm 。如果需要对RPM包进行操作则需要使用rpm命令。

一、RPM包的来源

所有RPM包都在系统光盘的Packages目录中,那么我们如何获取包源呢?需提前做好设备的挂载工作。首先我们需要把我们的安装系统的ISO镜像文件加载到虚拟光驱中:

image

我们的光盘文件是在 /dev/cdrom中,我们需要在系统中新建一个目录,将光盘文件挂着进来,一般建议放到 /mnt目录,比如我是挂着在/mnt/cdrom目录:

$ mount /dev/cdrom /mnt/cdrom

image

挂着成功之后,我们进入到/mnt/cdrom,RPM包源都在AppStream\Packages目录,不同版本的系统目录稍有不同:

image

我们先在/mnt/cdrom/AppStream/Packages目录执行一下ls命令看下:

image

我们可以看到,目录里面有N多的RPM包,如果我们要找到自己想要安装的RPM包,一个个去看肯定是不现实的,可以执行以下命令来查找是否有我们所需的包:

ls | grep samba

其中samba是包名,如果有我们所需的包,会列出相关包的全名,如果没有则什么都不显示:

image

二、RPM包命名规则

软件名称-软件版本-发行号-适合的Linux平台-适合的硬件平台-包扩展名

httpd-2.2.15-15.el6.centsos.1.i686.rpm

  • httpd:软件名称
  • 2.2.15: 软件版本
  • 15 发布的次数
  • el6.centos 适合的Linux平台
  • i686适应的硬件平台
  • rpm 包扩展名

三、RPM包安装命令

安装 RPM 的命令格式为:

$ rpm -ivh 全包名.rmp

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

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

四、RPM包的默认安装路径

一般情况下RPM包采用系统默认的安装路径,最好不要手动指定安装路径,所有安装文件会按照不同类型分散到下表的路径中:

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

由上面的安装路径中可以看出,RPM包安装的服务可以使用系统服务管理命令(service)来管理,因此不建议手动指定安装路径。

五、RPM包的卸载

RPM包的卸载的命令格式为:

$ rpm -e 软件名称

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

RPM 软件包的卸载要考虑包之间的依赖性。例如,我们先安装的 httpd 软件包,后安装 httpd 的功能模块 mod_ssl 包,那么在卸载时,就必须先卸载 mod_ssl,然后卸载 httpd,否则会报错。如果想要强制卸载,可以加上--nodeps强行卸载。但此方式不推荐大家使用,因为此操作很可能导致其他软件也无法正常使用。

$ rpm -e --nodeps 包名

六、RPM包升级

RPM 包的升级命令:

rpm -Uvh 包全名

  • U(大写):如果该软件没安装过则直接安装;若没安装则升级至最新版本

rpm -Fvh 包全名

  • F(大写):如果该软件没有安装,则不会安装,必须安装有较低版本才能升级

本章主要为大家介绍了RPM的安装、卸载、升级,下一章将继续为大家讲解RPM包的相关查询命令以及RPM包的验证。

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!