引言
rpm 是一种用于互联网下载的打包及安装工具,它包含在某些 Linux 发行版中,生成具有 .rpm 扩展名的文件。rpm 是 redhat package manager(RedHat 软件包管理器)的缩写,类似 Windows 下的 setup.exe 文件。这一文件格式虽然打上了 RedHat 的标志,但是理念是通用的。
Yum (全称:Yellow dog Updater Modified )是一个在 Fedora 和 RedHat 以及 CentOS 中的 Shell 前端软件包管理器。基于 rpm 包管理,能够从指定的服务器自动下载 rpm 包并安装,且可以自动处理依赖关系,一次安装所有依赖的软件包,无需繁琐的一次次下载、安装。
一、RPM包的管理
查询命令,查询已安装的 rpm 列表:
rpm -qa | grep xx
1.1 rpm 包名基本格式
firefox-52.8.0-1.el6.centos.x86_64.rpm
名称:firefox
版本号:52.8.0-1
适用操作系统:el6.centos.x86_64,表示 centos 6.x 的64 位操作系统。如果是 i686 、i386 表示32位操作系统,noarch 表示通用。
1.2 rpm 包的其他查询指令
1、rpm -qa :查询所有安装的rpm 软件包
rpm -qa | more
rpm -qa | grep xx
2、rpm -q xxx : 查询软件包是否安装
3、rpm -qi xxx : 查询软件包信息
4、rpm -ql xxx : 查询软件包中的文件安装到了哪里
5、rpm -qf 文件全路径 : 查询文件所属的软件包
1.3 卸载 rpm 包
基本语法:
rpm -e xxx
案例:删除 firefox 软件包
注意,如果 rpm 包是独立的,即不被其他软件包所依赖,那么删除的过程中不会出现任何提示信息,如果将要被删除的软件包被其他软件包所依赖,那么仅仅使用 -e 参数是不够的,需要加上 --nodeps 强制删除,但一般不推荐强制删除。
rpm -e --nodeps xxx
1.4 安装 rpm 包
基本语法:
rpm 参数 xxx
可选参数:
i : install 安装
v : verbose 提示
h : hash 进度条,Print 50 hash marks as the package archive is unpacked. Use with -v |--verbose for a nicer display.
案例:找到 firefox 的rpm 包,进行安装。(在 安装 CentOS 的 iso 文件中,/media 目录下有对应的 rpm):
首先在虚拟机设置中按照如上图所示进行设置,如果不出意外,打开时基本都是设置好的,只有“已连接”复选框需要手动勾选。
然后虚拟机不需要重启,回到CentOS 中,cd 到 /media 目录,查看:
可以看到设置前后不同的变化。当出现 CentOS 文件夹之后,在其中找到对应的 rpm 文件:
找到 firefox 对应的 rpm 后将其拷贝出来(一般不在 iso 文件中操作安装)
然后执行安装操作:
至此,rpm 安装操作就完成了,这是一种比较原始的 rpm 安装操作,也是离线情况下如何进行 rpm 包安装的基本操作。
二、YUM 包的管理
在引言中也已经简单介绍,yum 是基于 rpm 的 Shell 前端软件包管理器,能够通过联网的方式自动从指定的服务器上下载 rpm 包并安装,而且可以自动处理依赖关系,一次性安装所有依赖的软件包。注意,yum 是通过网络进行操作的,因此必须联网。
查询 yum 服务器是否有需要安装的软件:
yum list | grep xxx
yum search xxx
下载安装指定的 yum 包:
yum install xxx
当提示已安装后,通过 rpm 查询 firefox 包,就可以看到列表中出现了已安装的软件包,说明安装全都自动完成了。
综上,就是关于在 Linux 环境下如何安装和查询 RPM 软件包的相关知识总结,欢迎文末留言。