当前位置:   article > 正文

yum包管理器常见用法_yum repolist

yum repolist

yum源数据结构

yum仓库中配置的baseurl指向的位置并不是rpm包的位置,
指向的是yum源中的repodata索引的软件包元数据的位置

在这里插入图片描述


yum源配置


yum-config-manager快速添加yum

参考: https://www.linuxcool.com/yum-config-manager

# 安装依赖包yum-utils
yum install yum-utils -y

# 添加清华源
yum-config-manager --add-repo=源url地址
yum-config-manager --add-repo https://mirrors.aliyun.com/repo/Centos-7.repo

# 查看源列表
yum repolist
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

多线程下载插件

# yum多线程下载插件
yum install -y yum-axelget
  • 1
  • 2

自动寻找最快的yum源–仅支持Centos7

RHEL8目前没有这个插件

# 安装yum-fastestmirror
yum install yum-fastestmirror -y
  • 1
  • 2

配置文件

# 配置文件(一般不用动):
/etc/yum/pluginconf.d/fastestmirror.conf

# yum镜像的速度测试记录文件:
/var/cache/yum/timedhosts.txt
  • 1
  • 2
  • 3
  • 4
  • 5

配置示例文件:

# cat /etc/yum/pluginconf.d/fastestmirror.conf
[main]
enabled=1
verbose=0
# 每次运行 yum 命令时打印出选择的最快镜像
always_print_best_host = true
# 连接超时
socket_timeout=3
#  Relative paths are relative to the cachedir (and so works for users as well
# as root).
# 存储镜像服务器响应时间的文件名
hostfilepath=timedhosts.txt
# 测试记录保存天数10天
maxhostfileage=10
# 测速最大线程数
maxthreads=15
# 排除的顶级域名
#exclude=.gov, facebook
# 仅包含某些特定顶级域名
#include_only=.nl,.de,.uk,.ie
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

yum生成缓存

参考: https://blog.csdn.net/A___LEi/article/details/118340579
yum索引缓存目录/var/cache/yum/

# 查看软件仓库,同时生成缓存
yum repolist

# 清空yum缓存 && 生成缓存
yum clean all && yum makecache

# 快速生成缓存
yum makecache fast
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

yum包管理器常用命令

yum常用选项参考 https://www.cnblogs.com/st-jun/p/7736929.html
在这里插入图片描述


RHEL8的yum

# RHel8的yum程序实际是做了一个dnf-3 的软链接
ls -l /bin/yum
  • 1
  • 2

在这里插入图片描述


yum软件仓库管理yum repolist

# 列出已经配置的所有可用仓库
yum repolist -v

# 列出所有源,包括禁用的源
yum repolist all

# 快速生成缓存
yum makecache fast

# 清除暂存中旧的rpm头文件和包文件 && 重新生成缓存
yum clean all && yum makecache
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

查看所有已安装软件包yum list

# 之前所有可安装的软件清单命令:
yum list

# 从软件安装列表中过滤结果
yum list | grep 软件包名

# 在缓存中查找包,速度更快
yum -C list nginx 

# 列出资源库中所有可以更新的rpm包
yum list updates
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

列出已安装的rpm

# 列出已经安装的所有的rpm包  
yum list installed

# 列出已经安装的但是不包含在官方资源库中的rpm包,例如安装了epel源的rpm包会列出来
yum list extras
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述


查看软件包详情yum info pkg

# 查看wget软件包详情
yum info wget
  • 1
  • 2

在这里插入图片描述


查看一个软件包的依赖关系yum deplist

# 查看软件包的依赖关系
yum deplist 包名
  • 1
  • 2

在这里插入图片描述


查找软件包yum search

# 查找软件包命令(支持模糊查找):
yum search 包名
  • 1
  • 2

查询命令由哪个包提供

查看文件由哪个包提供


反查询命令在什么包中yum whatprovides

yum whatprovides 要查询的命令
  • 1

在这里插入图片描述


反查询文件在什么包中yum provides

yum provides 要查询的文件名

[rhel8 root ~]# yum provides /usr/bin/rm
  • 1
  • 2
  • 3

在这里插入图片描述


yum查看源中的软件版本

# 查询yum源中提供的docker-ce版本,并按照版本号排序
yum list docker-ce --showduplicates | sort -r

# 查询yum源中提供的kubeadm版本
yum list kubeadm --showduplicates
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述


检查软件更新

# 检查软件更新,相当于apt upate
yum check-update
  • 1
  • 2

安装yum install

# 安装
## 更新内核
yum install kernel -y

# 本地安装
yum localinstall 本地包名.rpm -y
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

查看包安装了哪些文件

# 查看包安装了哪些文件
rpm -ql 包名
  • 1
  • 2

在这里插入图片描述


安装指定版本的包

在这里插入图片描述

# 查看源中提供哪些包版本
yum list 包名 --showduplicates

# 安装指定版本的kubeadm
yum install -y kubeadm-1.23.0-0
  • 1
  • 2
  • 3
  • 4
  • 5

组安装yum groupinstall

#查看软件组列表
yum group list

#安装指定的组
yum groupinstall "Chinese Support"

#安装了的组成员软件包更新  
yum groupupdate "Chinese Support"  

#安装了的组和可以安装的组一览显示
yum grouplist  

#删除指定的组
yum groupremove "Chinese Support" 

#指定组所包含的软件包显示 
yum groupinfo "Chinese Support"  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

从指定源安装软件

# 从epel源安装nginx包
yum install nginx --enablerepo=epel
  • 1
  • 2

重新安装指定包yum reinstall

# 重新安装指定包
yum -y reinstall 包名
  • 1
  • 2

示例:

# 把rm命令删除
rm /usr/bin/rm

[rhel8 root ~]# rm
-bash: /usr/bin/rm: 没有那个文件或目录

# 查询rm命令在哪个包中
yum provides rm

# 重新安装回rm命令
yum reinstall coreutils -y

# rm命令又回来了
which rm
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

yum更新软件包

https://cloud.tencent.com/developer/article/1604418
https://unix.stackexchange.com/questions/55777/in-centos-what-is-the-difference-between-yum-update-and-yum-upgrade

yum updateyum upgrade的功能都是一样的,都是将需要更新的package更新到源中的最新版。唯一不同的是,yum upgrade删除旧版本的package,而yum update会保留(obsoletes=0)。

生产环境中建议使用yum update,防止因为替换,导致旧的软件包依赖出现问题。


更新包yum update

将软件包到最新版本,但保留旧版本和配置。

# 更新指定软件
yum update 包名 -y

# 更新所有软件命令:
yum update
  • 1
  • 2
  • 3
  • 4
  • 5

升级系统yum upgrade

upgrade会删除旧的软件包,并重新安装新的软件包。

# 所有可更新的软件清单命令:
yum check-update

# 大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级
yum upgrade  

# 更新软件包,自动解决依赖关系
yum upgrade --obsoletes -y
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

卸载yum remove

# 只卸载指定的包
yum remove 包名

# 卸载指定包并自动移除依赖包
yum autoremove 包名


# 删除软件包,以及软件包数据和配置文件
## 类似于Ubuntu的 apt autoremove --purge 包名
yum erase 包名
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

不卸载依赖包

参考: https://blog.j3l11234.com/2016/11/23/yum-remove-with-exclude/

# 忽略依赖关系强制删除
yum remove XXX --nodepes
  • 1
  • 2

修复依赖关系

# 修复依赖关系--再把依赖包装回去
yum check
  • 1
  • 2

查看yum命令执行记录yum histroy

# 查看yum执行记录
yum history
  • 1
  • 2

在这里插入图片描述

# 查看命令记录详情
# yum history info 编号
yum history info 1
  • 1
  • 2
  • 3

在这里插入图片描述


# 撤销yum执行记录--其实就是卸载
[rhel8 root ~]# yum history undo 12
上次元数据过期检查:2:32:40 前,执行于 2021年10月05日 星期二 17时48分17秒。
依赖关系解决。
========================================================================================================================
 软件包                   架构                       版本                               仓库                       大小
========================================================================================================================
移除:
 htop                     x86_64                     3.0.5-1.el8                        @epel                     326 k

事务概要
========================================================================================================================
移除  1 软件包

将会释放空间:326 k
确定吗?[y/N]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

yum异常处理–清理未完成事务

# 清理未完成事务
yum-complete-transaction
# 或
yum-complete-transaction –cleanup-only
  • 1
  • 2
  • 3
  • 4

package-cleanup命令------清理本地安装的RPM软件包

常用参数:

-c使用备用配置文件(默认为/etc/yum.conf)
-y同意任何要求
–leaves列出与其他RPM没有依赖关系的软件包
–orphans列出当前软件仓库中不再提供支持的本地已安装的软件包
–oldkernels删除旧内核文件(kernel, kernel-devel)
–problems列出有依赖问题的软件包
–dupes扫描重复安装的RPM软件包
–cleandupes扫描重复安装的软件包,并删除老版本的软件包
# 依赖yum-utils
yum install -y yum-utils

# 列出重复的rpm包 
package-cleanup --dupes

# 去除重复的rpm包
package-cleanup –cleandupes 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

yum-versionlock锁定软件包版本

生产环境下,想要阻止yum自动更新内核

# 安装yum-versionlock
yum install yum-plugin-versionlock -y

# 锁定软件包版本
yum versionlock 包名1 包名2
## 锁定内核更新
### add参数可以忽略
yum versionlock add kernel*

# 查看锁定软件列表
yum versionlock list
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

在这里插入图片描述

# 取消锁定更新
yum versionlock delete 包名

# 取消所有锁定
yum versionlock clear
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述


示例:阻止yum自动更新内核

# 在/etc/yum.conf中配置阻止yum自动更新内核
vim /etc/yum.conf

## 指定不更新的包名
exclude=kernel*
  • 1
  • 2
  • 3
  • 4
  • 5

校验rpm包是否被篡改

https://blog.csdn.net/omaidb/article/details/126594122


yum.conf主配置文件

yum.conf可以配置yum代理,提高下载速度

参考 https://help.eset.com/era_deploy_va/65/zh-CN/how-to-enable-yum-command-unde.html

# centos8的yum.conf 配置文件也是一个dnf.conf的软链接
[root@c8 ~]# ls -l /etc/yum.conf
lrwxrwxrwx. 1 root root 12 Mar 12  2021 /etc/yum.conf -> dnf/dnf.conf
  • 1
  • 2
  • 3

yum配置代理

参考: https://blog.k4nz.com/3ed39274676b830f2451613ddfd9b037/

编辑/etc/yum.conf文件

# 配置socks5代理,提高yum下载速度
proxy=socks5://192.168.0.130:1080
proxy_username=username
proxy_password=password

# 配置http代理
## 必须使用完整地址,包含端口号
proxy=http://proxysvr.yourdom.com:3128
## 指定用户名密码
proxy_username=YourProxyUsername
proxy_password=YourProxyPassword
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

保留yum安装过的包

# 编辑yum配置文件
vim /etc/yum.conf

# 1保存下载的rpm | 0不保存下载的rpm
keepcache=1
  • 1
  • 2
  • 3
  • 4
  • 5
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/511092
推荐阅读
相关标签
  

闽ICP备14008679号