rpm 包的管理
介绍
rpm 用于互联网下载包的打包及安装工具,它包含在某些 Linux 分发版中。它生成具有.RPM 扩展名的文件。RPM 是 RedHat Package Manager(RedHat 软件包管理工具)的缩写,类似 windows 的 setup.exe,这一文件格式名称虽然打上了 RedHat 的标志,但理念是通用的。
Linux 的分发版本都有采用(suse,redhat, centos 等等),可以算是公认的行业标准了。
rpm 包的简单查询指令
查询已安装的 rpm 列表 rpm –qa|grep xx
举例: 看看当前系统,是否安装了 firefox
指 令 : rpm -qa | grep firefox
rpm 包名基本格式
一个 rpm 包名: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 表示通用
rpm 包的其它查询指令
rpm -qa :查询所安装的所有 rpm 软件包
案例:rpm -qa | more
案例:rpm -qa | grep X [rpm -qa | grep firefox ]
rpm -q 软件包名 :查询软件包是否安装
案例:rpm -q firefox
rpm -qi 软件包名 :查询软件包信息
案例: rpm -qi firefox
rpm -ql 软件包名 :查询软件包中的文件
案例: rpm -ql firefox
rpm -qf 文件全路径名 查询文件所属的软件包
案例:rpm -qf /etc/passwd
案例:rpm -qf /root/install.log
卸载rpm 包
基本语法
rpm -e RPM包的名称 //erase擦除#举例 删除 firefox 软件包rpm -e firefox
细节讨论
(1)如果其它软件包依赖于您要卸载的软件包,卸载时则会产生错误信息。
如: $ rpm -e foo
removing these packages would break dependencies:foo is needed by bar-1.0-1
(2)如果我们就是要删除 foo 这个 rpm 包,可以增加参数 —nodeps ,就可以强制删除,但是一般不推荐这样做,因为依赖于该软件包的程序可能无法运行
如:$ rpm -e —nodeps foo
安装rpm包
基本语法
rpm -ivh RPM 包全路径名称# 参数说明i=install 安装v=verbose 提示h=hash 进度条
应用实例
演示卸载和安装 firefox 浏览器
卸载:rpm -e firefox
安装:rpm -ivh firefox
yum
介绍
Yum 是一个 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包
yum 的基本指令
查询 yum 服务器是否有需要安装的软件
举例:yum list|grep xxx
安装指定的yum 包
举例 :yum install xxx
yum 应用实例
使用 yum 的方式来安装 firefox
卸载:rpm -e firefox
查询:yum list | grep firefox
下载安装:yum install firefox
[root@localhost 下载]# yum list | grep firefoxRepodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fastfirefox.i686 91.3.0-1.el7.centos updatesfirefox.x86_64 91.3.0-1.el7.centos updates[root@localhost 下载]# yum install firefox.x86_64已加载插件:fastestmirror, langpacksLoading mirror speeds from cached hostfile* base: mirrors.dgut.edu.cn* extras: mirrors.bfsu.edu.cn* updates: mirrors.163.combase | 3.6 kB 00:00:00extras | 2.9 kB 00:00:00updates | 2.9 kB 00:00:00updates/7/x86_64/primary_db | 13 MB 00:00:06正在解决依赖关系--> 正在检查事务---> 软件包 firefox.x86_64.0.91.5.0-1.el7.centos 将被 安装--> 正在处理依赖关系 nss >= 3.67,它被软件包 firefox-91.5.0-1.el7.centos.x86_64 需要--> 正在处理依赖关系 nspr >= 4.32,它被软件包 firefox-91.5.0-1.el7.centos.x86_64 需要--> 正在处理依赖关系 libnss3.so(NSS_3.58)(64bit),它被软件包 firefox-91.5.0-1.el7.centos.x86_64 需要--> 正在处理依赖关系 libnss3.so(NSS_3.55)(64bit),它被软件包 firefox-91.5.0-1.el7.centos.x86_64 需要--> 正在处理依赖关系 libnss3.so(NSS_3.52)(64bit),它被软件包 firefox-91.5.0-1.el7.centos.x86_64 需要--> 正在处理依赖关系 libnss3.so(NSS_3.47)(64bit),它被软件包 firefox-91.5.0-1.el7.centos.x86_64 需要--> 正在处理依赖关系 libnss3.so(NSS_3.45)(64bit),它被软件包 firefox-91.5.0-1.el7.centos.x86_64 需要--> 正在处理依赖关系 libnss3.so(NSS_3.44)(64bit),它被软件包 firefox-91.5.0-1.el7.centos.x86_64 需要--> 正在检查事务---> 软件包 nspr.x86_64.0.4.19.0-1.el7_5 将被 升级---> 软件包 nspr.x86_64.0.4.32.0-1.el7_9 将被 更新---> 软件包 nss.x86_64.0.3.36.0-7.el7_5 将被 升级--> 正在处理依赖关系 nss = 3.36.0-7.el7_5,它被软件包 nss-sysinit-3.36.0-7.el7_5.x86_64 需要--> 正在处理依赖关系 nss(x86-64) = 3.36.0-7.el7_5,它被软件包 nss-tools-3.36.0-7.el7_5.x86_64 需要---> 软件包 nss.x86_64.0.3.67.0-4.el7_9 将被 更新--> 正在处理依赖关系 nss-util >= 3.67.0-1,它被软件包 nss-3.67.0-4.el7_9.x86_64 需要--> 正在处理依赖关系 nss-softokn(x86-64) >= 3.67.0-1,它被软件包 nss-3.67.0-4.el7_9.x86_64 需要--> 正在处理依赖关系 libnssutil3.so(NSSUTIL_3.59)(64bit),它被软件包 nss-3.67.0-4.el7_9.x86_64 需要--> 正在处理依赖关系 libnssutil3.so(NSSUTIL_3.39)(64bit),它被软件包 nss-3.67.0-4.el7_9.x86_64 需要--> 正在处理依赖关系 libnssutil3.so(NSSUTIL_3.38)(64bit),它被软件包 nss-3.67.0-4.el7_9.x86_64 需要--> 正在检查事务---> 软件包 nss-softokn.x86_64.0.3.36.0-5.el7_5 将被 升级---> 软件包 nss-softokn.x86_64.0.3.67.0-3.el7_9 将被 更新--> 正在处理依赖关系 nss-softokn-freebl(x86-64) >= 3.67.0-3.el7_9,它被软件包 nss-softokn-3.67.0-3.el7_9.x86_64 需要---> 软件包 nss-sysinit.x86_64.0.3.36.0-7.el7_5 将被 升级---> 软件包 nss-sysinit.x86_64.0.3.67.0-4.el7_9 将被 更新---> 软件包 nss-tools.x86_64.0.3.36.0-7.el7_5 将被 升级---> 软件包 nss-tools.x86_64.0.3.67.0-4.el7_9 将被 更新---> 软件包 nss-util.x86_64.0.3.36.0-1.el7_5 将被 升级---> 软件包 nss-util.x86_64.0.3.67.0-1.el7_9 将被 更新--> 正在检查事务---> 软件包 nss-softokn-freebl.x86_64.0.3.36.0-5.el7_5 将被 升级---> 软件包 nss-softokn-freebl.x86_64.0.3.67.0-3.el7_9 将被 更新--> 解决依赖关系完成依赖关系解决=======================================================================================================================Package 架构 版本 源 大小=======================================================================================================================正在安装:firefox x86_64 91.5.0-1.el7.centos updates 106 M为依赖而更新:nspr x86_64 4.32.0-1.el7_9 updates 127 knss x86_64 3.67.0-4.el7_9 updates 882 knss-softokn x86_64 3.67.0-3.el7_9 updates 358 knss-softokn-freebl x86_64 3.67.0-3.el7_9 updates 337 knss-sysinit x86_64 3.67.0-4.el7_9 updates 66 knss-tools x86_64 3.67.0-4.el7_9 updates 549 knss-util x86_64 3.67.0-1.el7_9 updates 79 k事务概要=======================================================================================================================安装 1 软件包升级 ( 7 依赖软件包)总计:109 M总下载量:108 MIs this ok [y/d/N]: yDownloading packages:No Presto metadata available for updates警告:/var/cache/yum/x86_64/7/updates/packages/nss-sysinit-3.67.0-4.el7_9.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEYnss-sysinit-3.67.0-4.el7_9.x86_64.rpm 的公钥尚未安装(1/4): nss-sysinit-3.67.0-4.el7_9.x86_64.rpm | 66 kB 00:00:00(2/4): nss-3.67.0-4.el7_9.x86_64.rpm | 882 kB 00:00:00(3/4): nss-tools-3.67.0-4.el7_9.x86_64.rpm | 549 kB 00:00:01(4/4): firefox-91.5.0-1.el7.centos.x86_64.rpm | 106 MB 00:02:31-----------------------------------------------------------------------------------------------------------------------总计 728 kB/s | 108 MB 00:02:31从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 检索密钥导入 GPG key 0xF4A80EB5:用户ID : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"指纹 : 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5软件包 : centos-release-7-6.1810.2.el7.centos.x86_64 (@anaconda)来自 : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7是否继续?[y/N]:yRunning transaction checkRunning transaction testTransaction test succeededRunning transaction警告:RPM 数据库已被非 yum 程序修改。正在更新 : nspr-4.32.0-1.el7_9.x86_64 1/15正在更新 : nss-util-3.67.0-1.el7_9.x86_64 2/15正在更新 : nss-softokn-freebl-3.67.0-3.el7_9.x86_64 3/15正在更新 : nss-softokn-3.67.0-3.el7_9.x86_64 4/15正在更新 : nss-sysinit-3.67.0-4.el7_9.x86_64 5/15正在更新 : nss-3.67.0-4.el7_9.x86_64 6/15正在安装 : firefox-91.5.0-1.el7.centos.x86_64 7/15正在更新 : nss-tools-3.67.0-4.el7_9.x86_64 8/15清理 : nss-tools-3.36.0-7.el7_5.x86_64 9/15清理 : nss-3.36.0-7.el7_5.x86_64 10/15清理 : nss-sysinit-3.36.0-7.el7_5.x86_64 11/15清理 : nss-softokn-3.36.0-5.el7_5.x86_64 12/15清理 : nss-softokn-freebl-3.36.0-5.el7_5.x86_64 13/15清理 : nss-util-3.36.0-1.el7_5.x86_64 14/15清理 : nspr-4.19.0-1.el7_5.x86_64 15/15验证中 : nss-softokn-freebl-3.67.0-3.el7_9.x86_64 1/15验证中 : nss-sysinit-3.67.0-4.el7_9.x86_64 2/15验证中 : firefox-91.5.0-1.el7.centos.x86_64 3/15验证中 : nss-softokn-3.67.0-3.el7_9.x86_64 4/15验证中 : nss-3.67.0-4.el7_9.x86_64 5/15验证中 : nss-util-3.67.0-1.el7_9.x86_64 6/15验证中 : nspr-4.32.0-1.el7_9.x86_64 7/15验证中 : nss-tools-3.67.0-4.el7_9.x86_64 8/15验证中 : nss-sysinit-3.36.0-7.el7_5.x86_64 9/15验证中 : nss-util-3.36.0-1.el7_5.x86_64 10/15验证中 : nspr-4.19.0-1.el7_5.x86_64 11/15验证中 : nss-tools-3.36.0-7.el7_5.x86_64 12/15验证中 : nss-3.36.0-7.el7_5.x86_64 13/15验证中 : nss-softokn-3.36.0-5.el7_5.x86_64 14/15验证中 : nss-softokn-freebl-3.36.0-5.el7_5.x86_64 15/15已安装:firefox.x86_64 0:91.5.0-1.el7.centos作为依赖被升级:nspr.x86_64 0:4.32.0-1.el7_9 nss.x86_64 0:3.67.0-4.el7_9 nss-softokn.x86_64 0:3.67.0-3.el7_9nss-softokn-freebl.x86_64 0:3.67.0-3.el7_9 nss-sysinit.x86_64 0:3.67.0-4.el7_9 nss-tools.x86_64 0:3.67.0-4.el7_9nss-util.x86_64 0:3.67.0-1.el7_9完毕![root@localhost 下载]# rpm -q firefoxfirefox-91.5.0-1.el7.centos.x86_64
