十三、linux 之 RPM与YUM
一、rpm 包的管理
1.1 介绍
rpm 用于互联网下载包的打包及安装工具,它包含在某些 Linux 发行版中。它生成具有.RPM 扩展名的文件。RPM 是 RedHat Package Manager(RedHat 软件包管理工具)的缩写,类似 windows 的 setup.exe,这一文件格式名称虽然打上 了 RedHat 的标志,但理念是通用的。
Linux 的发行版本都有采用(suse,redhat, centos 等等),可以算是公认的行业标准了
firefox-60.2.2-1.el7.centos.x86_64
名称: firefox
版本号:60.2.2-1
适用操作系统: el7.centos.x86_64
表示 centos7.x 的 64 位系统
如果是 i686、i386 表示 32 位系统,noarch 表示通用
# 1. rpm –qa 查询已安装的 rpm 列表 rpm –qa | grep xx # 举例: 看看当前系统,是否安装了 firefox [root@WANFYONG ~]# rpm -qa | grep firefox firefox-60.2.2-1.el7.centos.x86_64 [root@WANFYONG ~]#
# 2. rpm -qi 软件包名 :查询软件包信息 [root@WANFYONG ~]# rpm -qi firefox Name : firefox Version : 60.2.2 Release : 1.el7.centos Architecture: x86_64 Install Date: 2022年05月03日 星期二 18时30分42秒 Group : Unspecified Size : 216144933 License : MPLv1.1 or GPLv2+ or LGPLv2+ Signature : RSA/SHA256, 2018年10月09日 星期二 20时51分59秒, Key ID 24c6a8a7f4a80eb5 Source RPM : firefox-60.2.2-1.el7.centos.src.rpm Build Date : 2018年10月09日 星期二 08时33分46秒 Build Host : x86-01.bsys.centos.org Relocations : (not relocatable) Packager : CentOS BuildSystem <http://bugs.centos.org> Vendor : CentOS URL : https://www.mozilla.org/firefox/ Summary : Mozilla Firefox Web browser Description : Mozilla Firefox is an open-source web browser, designed for standards compliance, performance and portability. [root@WANFYONG ~]#
# 3. rpm -ql 软件包名 :查询软件包中的文件 [root@WANFYONG ~]# rpm -ql firefox /etc/firefox /etc/firefox/pref /usr/bin/firefox /usr/lib64/firefox /usr/lib64/firefox/LICENSE /usr/lib64/firefox/application.ini /usr/lib64/firefox/browser/blocklist.xml /usr/lib64/firefox/browser/chrome
# 4. rpm -qf 文件全路径名 查询文件所属的软件包 [root@WANFYONG ~]# rpm -qf /etc/passwd setup-2.8.71-10.el7.noarch [root@WANFYONG ~]#
# rpm -e RPM 包的名称 rpm -e firefox注意:
1) 如果其它软件包依赖于您要卸载的软件包,卸载时则会产生错误信息。
如: $ rpm -e foo
removing these packages would break dependencies:foo is needed by bar-1.0-12) 如果我们就是要删除 foo 这个 rpm 包,可以增加参数 --nodeps ,就可以强制删除,但是一般不推荐这样做,因为依赖于该软件包的程序可能无法运行
如:$ rpm -e --nodeps foo
# rpm -ivh RPM 包全路径名称, 所以安装的时候一定要有 包的存在 # i=install 安装 # v=verbose 提示 # h=hash 进度条# 卸载和安装火狐 rpm -e firefox rpm -ivh firefox
二、yum
2.1 介绍
Yum 是一个 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动 下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。
# 查询 yum 服务器是否有需要安装的软件 # yum list | grep xx 软件列表 # yum install xxx 下载安装 # 请使用 yum 的方式来安装 firefox [root@WANFYONG ~]#rpm -e firefox ... [root@WANFYONG ~]#yum list | grep firefox ... [root@WANFYONG ~]#yum install firefox