一个 RPM 包包含了已压缩的软件文件集以及该软件的内容信息,通常表现为以 .rpm 扩展名结尾的文件,例如 samba.rpm 。如果需要对RPM包进行操作则需要使用rpm命令。
一、RPM包的来源
所有RPM包都在系统光盘的Packages目录中,那么我们如何获取包源呢?需提前做好设备的挂载工作。首先我们需要把我们的安装系统的ISO镜像文件加载到虚拟光驱中:
我们的光盘文件是在 /dev/cdrom
中,我们需要在系统中新建一个目录,将光盘文件挂着进来,一般建议放到 /mnt
目录,比如我是挂着在/mnt/cdrom
目录:
$ mount /dev/cdrom /mnt/cdrom
挂着成功之后,我们进入到/mnt/cdrom
,RPM包源都在AppStreamPackages
目录,不同版本的系统目录稍有不同:
我们先在/mnt/cdrom/AppStream/Packages
目录执行一下ls
命令看下:
我们可以看到,目录里面有N多的RPM包,如果我们要找到自己想要安装的RPM包,一个个去看肯定是不现实的,可以执行以下命令来查找是否有我们所需的包:
ls | grep samba
其中samba
是包名,如果有我们所需的包,会列出相关包的全名,如果没有则什么都不显示:
二、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包的验证。