Shell | yum和rpm的使用

本文总结 rpmyum 的使用方法。

Updated: 2022 / 9 / 19


Shell | yum和rpm的使用


yum

参考这里 1

  • 安装
命令作用
yum install package用来安装线上仓库中的 rpm 包的命令。

使用远程软件包仓库中的地址查找相应的软件并执行安装。仓库中的软件都是解决了依赖关系的。安装某个版本的软件包时,需要配置指定的 yum 仓库地址,否则可能查找不到对应的软件包。但是,可以指定一个软件包的 url 地址,安装该远程地址的软件包;并且也可以指定一个本地的 rpm 包全名,即安装本地包,此时安装基本和 localinstall 没有区别。
yum localinstall用来安装本地 rpm 包的命令。

首先 rpm 包要先下载到本地,在本地目录执行 yum localinstall *.rpmyum 会安装本地已经存在的 rpm 包,并自动联网搜寻本地 rpm 包可能存在的依赖关系并安装。但是如果仓库无法找到依赖包,也无法完成安装。

rmp -i *.rpm 不会自行解决依赖关系,缺少依赖就会报错
yum groupinstall group安装某个组件的全部软件包

yum installyum localinstall 相同的地方有如下三点 2

  1. yum installyum localinstall 都可以安装本地 rpm 包:
    可以看到在没有更新时,install 提示不需要任何操作时,会有 Error 的错误。
$ yum localinstall mysql-community-server-8.0.26-1.el7.x86_64.rpm
Loaded plugins: fastestmirror, langpacks
Examining mysql-community-server-8.0.26-1.el7.x86_64.rpm: mysql-community-server-8.0.26-1.el7.x86_64
mysql-community-server-8.0.26-1.el7.x86_64.rpm: does not update installed package.
Nothing to do

$ yum install mysql-community-server-8.0.26-1.el7.x86_64.rpm
Loaded plugins: fastestmirror, langpacks
Examining mysql-community-server-8.0.26-1.el7.x86_64.rpm: mysql-community-server-8.0.26-1.el7.x86_64
mysql-community-server-8.0.26-1.el7.x86_64.rpm: does not update installed package.
Error: Nothing to do
  1. 也都可以指定一个远程 urlrpm 包;
  2. 两者都会从远程仓库安装相关依赖;

yum installyum localinstall 不同的地方有 2

  1. yum localinstall 后跟的包名必须是 .rpm 结尾,即必须是一个指定的 rpm 全包名。即 yum localinstall 不能指定一个具体位置不存在软件包,因为它不会从远程仓库查找包名。
$ yum localinstall mysql-community-server
Loaded plugins: fastestmirror, langpacks
Skipping: mysql-community-server, filename does not end in .rpm.
Nothing to do

$ yum install mysql-community-server                     
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Package mysql-community-server-8.0.26-1.el7.x86_64 already installed and latest version
Nothing to do
  1. yum install 可以跟不是 .rpm 结尾的包,即可以跟非全包名的软件包,这时将会从远程仓库中查找该软件包,并下载安装。
    在指定具体全包名的软件包时,信息提示 install 会显示 Error,而 localinstall 则不会。

  • 更新
命令作用
yum update package
yum check-update列出所有可更新的软件包
yum list updates mysql*查找mysql的更新
yum update更新所有可更新的软件包
yum update mysql*更新所有 mysql 的软件包
yum groupupdate group更新某个组件的所有软件包
yum list列出所有已安装和仓库中可用的软件包
yum list available列出仓库中所有可用的软件包
yum list updates列出仓库中比当前系统更新的软件包,或者说,可以更新的软件包
yum list installed列出已安装的软件包
yum list recent列出新加入仓库的软件包
yum info查询软件包信息

  • 删除
命令作用
yum remove package删除软件包
yum groupremove group删除某个组件的全部软件包
yum clean packages清除软件包
yum clean metadata清除遗留在缓存里的包文件
yum clean headers清除遗留在缓存里的元数据
yum clean all清除包文件,元数据,头文件
  • 检索
命令作用
yum search package搜索软件包
yum info package查找一个软件包的信息
yum list package列出包含指定信息的软件包
yum list installed列出已安装的软件包
yum list extras列出不是通过软件仓库安装的软件包
yum list *ttp*列出标题包含 *ttp* 的软件包
yum list updates列出可以更新的软件包
yum whatprovides filename查找特定文件是由什么软件包提供的
  • 特殊选项
命令作用
–disalberepo=lib禁用某个软件仓库
举例,yum –disalberepo=livna
–enalberepo=lib启用某个软件仓库
举例,yum –disalberepo=livna
-C禁用使用本机缓存的元数据
举例,yum -C info httpd

rpm

  • 安装
命令作用
rpm -i <package_name_locate>安装本地的 rpm 包,通常使用 rpm -ivh xxx 显示安装过程。如果包存在必须安装的依赖,则无法解决,将会安装失败。rpm 命令不会涉及远程仓库。但是,rpm 后面的软件包,也可以是一个 ur l软件地址。
  • 更新
命令作用
rpm -Uvh --oldpackage [downloaded_lower_version_package]如何使用 rpm 命令将 CentOS/RHEL 6 系统中的 rpm 包降级到较低版本 3 ?不建议使用 rpm 命令来降级 rpm 包。应该使用 yum 命令。
确保我们已下载较低版本的所有软件包及其依赖项。

比如,将 systemd 软件包从 systemd-219-67.0.1.el7_7.2 降级到 systemd-219-62.0.4.el7_6.9.,使用 rpm -Uvh --oldpackage *.rpm

安装好后记得执行 ldconfig 4

参考链接


  1. linux yum install和yum localinstall、rpm -ivh的区别 ↩︎

  2. linux极简小知识:9、yum install和localinstall、rpm -i的区别是什么?带你厘清yum install和localinstall ↩︎ ↩︎

  3. 如何将 rpm 包版本降级 ↩︎

  4. rpm降级版本安装 ↩︎

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值