赞
踩
yum仓库中配置的baseurl指向的位置并不是rpm包的位置,
指向的是yum源中的repodata索引的软件包元数据的位置
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
# yum多线程下载插件
yum install -y yum-axelget
RHEL8
目前没有这个插件
# 安装yum-fastestmirror
yum install yum-fastestmirror -y
配置文件
# 配置文件(一般不用动):
/etc/yum/pluginconf.d/fastestmirror.conf
# yum镜像的速度测试记录文件:
/var/cache/yum/timedhosts.txt
配置示例文件:
# 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
参考: https://blog.csdn.net/A___LEi/article/details/118340579
yum索引缓存目录/var/cache/yum/
# 查看软件仓库,同时生成缓存
yum repolist
# 清空yum缓存 && 生成缓存
yum clean all && yum makecache
# 快速生成缓存
yum makecache fast
yum
常用选项参考 https://www.cnblogs.com/st-jun/p/7736929.html
# RHel8的yum程序实际是做了一个dnf-3 的软链接
ls -l /bin/yum
# 列出已经配置的所有可用仓库
yum repolist -v
# 列出所有源,包括禁用的源
yum repolist all
# 快速生成缓存
yum makecache fast
# 清除暂存中旧的rpm头文件和包文件 && 重新生成缓存
yum clean all && yum makecache
yum list
# 之前所有可安装的软件清单命令:
yum list
# 从软件安装列表中过滤结果
yum list | grep 软件包名
# 在缓存中查找包,速度更快
yum -C list nginx
# 列出资源库中所有可以更新的rpm包
yum list updates
rpm
包# 列出已经安装的所有的rpm包
yum list installed
# 列出已经安装的但是不包含在官方资源库中的rpm包,例如安装了epel源的rpm包会列出来
yum list extras
yum info pkg
# 查看wget软件包详情
yum info wget
yum deplist
# 查看软件包的依赖关系
yum deplist 包名
yum search
# 查找软件包命令(支持模糊查找):
yum search 包名
yum whatprovides
yum whatprovides 要查询的命令
yum provides
yum provides 要查询的文件名
[rhel8 root ~]# yum provides /usr/bin/rm
# 查询yum源中提供的docker-ce版本,并按照版本号排序
yum list docker-ce --showduplicates | sort -r
# 查询yum源中提供的kubeadm版本
yum list kubeadm --showduplicates
# 检查软件更新,相当于apt upate
yum check-update
# 安装
## 更新内核
yum install kernel -y
# 本地安装
yum localinstall 本地包名.rpm -y
# 查看包安装了哪些文件
rpm -ql 包名
# 查看源中提供哪些包版本
yum list 包名 --showduplicates
# 安装指定版本的kubeadm
yum install -y kubeadm-1.23.0-0
#查看软件组列表 yum group list #安装指定的组 yum groupinstall "Chinese Support" #安装了的组成员软件包更新 yum groupupdate "Chinese Support" #安装了的组和可以安装的组一览显示 yum grouplist #删除指定的组 yum groupremove "Chinese Support" #指定组所包含的软件包显示 yum groupinfo "Chinese Support"
# 从epel源安装nginx包
yum install nginx --enablerepo=epel
# 重新安装指定包
yum -y reinstall 包名
示例:
# 把rm命令删除
rm /usr/bin/rm
[rhel8 root ~]# rm
-bash: /usr/bin/rm: 没有那个文件或目录
# 查询rm命令在哪个包中
yum provides rm
# 重新安装回rm命令
yum reinstall coreutils -y
# rm命令又回来了
which rm
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 update
和yum upgrade
的功能都是一样的,都是将需要更新的package更新到源中的最新版。唯一不同的是,yum upgrade
会删除旧版本
的package,而yum update
则会保留
(obsoletes=0)。
生产环境中建议使用yum update
,防止因为替换,导致旧的软件包依赖出现问题。
将软件包到最新版本
,但保留
旧版本和配置。
# 更新指定软件
yum update 包名 -y
# 更新所有软件命令:
yum update
upgrade会删除旧的软件包
,并重新安装新的软件包。
# 所有可更新的软件清单命令:
yum check-update
# 大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级
yum upgrade
# 更新软件包,自动解决依赖关系
yum upgrade --obsoletes -y
# 只卸载指定的包
yum remove 包名
# 卸载指定包并自动移除依赖包
yum autoremove 包名
# 删除软件包,以及软件包数据和配置文件
## 类似于Ubuntu的 apt autoremove --purge 包名
yum erase 包名
参考: https://blog.j3l11234.com/2016/11/23/yum-remove-with-exclude/
# 忽略依赖关系强制删除
yum remove XXX --nodepes
# 修复依赖关系--再把依赖包装回去
yum check
# 查看yum执行记录
yum history
# 查看命令记录详情
# yum history info 编号
yum history info 1
# 撤销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]:
# 清理未完成事务
yum-complete-transaction
# 或
yum-complete-transaction –cleanup-only
常用参数:
-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
生产环境下,想要阻止yum自动更新内核
。
# 安装yum-versionlock
yum install yum-plugin-versionlock -y
# 锁定软件包版本
yum versionlock 包名1 包名2
## 锁定内核更新
### add参数可以忽略
yum versionlock add kernel*
# 查看锁定软件列表
yum versionlock list
# 取消锁定更新
yum versionlock delete 包名
# 取消所有锁定
yum versionlock clear
# 在/etc/yum.conf中配置阻止yum自动更新内核
vim /etc/yum.conf
## 指定不更新的包名
exclude=kernel*
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
参考: 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
# 编辑yum配置文件
vim /etc/yum.conf
# 1保存下载的rpm | 0不保存下载的rpm
keepcache=1
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。