yum包管理器常见用法
yum包管理器常见用法
- yum包管理器常用命令
- yum源数据结构
- 自动寻找最快的yum源--仅支持Centos7
- yum源配置
- 保留yum安装过的包
- `yum-config-manager`快速添加`yum`源
- yum生成缓存
- `yum.conf`主配置文件--配置代理
- RHEL8的yum
- 查看所有已安装软件包`yum list`
- 列出已安装的`rpm`包
- 查看一个软件包的依赖关系`yum deplist`
- 查看软件包详情`yum info pkg`
- 查找软件包`yum search`
- 查询命令由哪个包提供
- 反查询命令在什么包中`yum whatprovides`
- 反查询文件在什么包中`yum provides`
- yum查看源中的软件版本
- yum安装卸载更新升级
- 检查软件更新
- 安装yum install
- 安装指定版本的包
- 组安装yum groupinstall
- 从指定源安装软件
- 重新安装指定包yum reinstall
- yum更新软件包
- 更新包yum update
- 升级系统yum upgrade
- 卸载yum remove
- 不卸载依赖包
- 修复依赖关系
- yum软件仓库管理yum repolist
- 查看yum命令执行记录yum histroy
- yum异常处理--清理未完成事务
- package-cleanup命令------清理本地安装的RPM软件包
- yum-versionlock锁定软件包版本
- 示例:阻止yum自动更新内核
- 校验rpm包是否被篡改
- yum配置代理
yum包管理器常用命令
yum
常用选项参考 https://www.cnblogs.com/st-jun/p/7736929.html
yum源数据结构
yum仓库中配置的baseurl指向的位置并不是rpm包的位置,
指向的是yum源中的repodata索引的软件包元数据的位置
自动寻找最快的yum源–仅支持Centos7
Rhel8目前没有这个插件
# 安装yum-fastestmirror
yum install yum-fastestmirror -y# 配置文件(一般不用动):
/etc/yum/pluginconf.d/fastestmirror.conf# yum镜像的速度测试记录文件:
/var/cache/yum/timedhosts.txt
yum源配置
保留yum安装过的包
# 编辑yum配置文件
vim /etc/yum.conf# 1保存 |0不保存
keepcache=1
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生成缓存
参考: 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.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# 配置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
RHEL8的yum
# RHel8的yum程序实际是做了一个dnf-3 的软链接
[root@c8 ~]# ls -l /bin/yum
lrwxrwxrwx. 1 root root 5 Mar 12 2021 /bin/yum -> dnf-3
查看所有已安装软件包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 deplist
# 查看软件包的依赖关系
yum deplist 包名
查看软件包详情yum info pkg
# 查看wget软件包详情
yum info wget
查找软件包yum search
# 查找软件包命令(支持模糊查找):
yum search 包名
查询命令由哪个包提供
查看文件由哪个包提供
反查询命令在什么包中yum whatprovides
yum whatprovides 要查询的命令
反查询文件在什么包中yum provides
yum provides 要查询的文件名[rhel8 root ~]# yum provides /usr/bin/rm
yum查看源中的软件版本
# 查询yum源中提供的docker-ce版本,并按照版本号排序
yum list docker-ce --showduplicates | sort -r# 查询yum源中提供的kubeadm版本
yum list kubeadm --showduplicates
yum安装卸载更新升级
检查软件更新
# 检查软件更新,相当于apt upate
yum check-update
安装yum install
# 安装
## 更新内核
yum install kernel -y# 本地安装
yum localinstall 本地包名.rpm -y
安装指定版本的包
# 查看源中提供哪些包版本
yum list 包名 --showduplicates# 安装指定版本的kubeadm
yum install -y kubeadm-1.23.0-0
组安装yum groupinstall
#查看软件组列表
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 reinstall
# 重新安装指定包
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
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 update
和yum upgrade
的功能都是一样的,都是将需要更新的package更新到源中的最新版。唯一不同的是,yum upgrade
会删除旧版本
的package,而yum update
则会保留
(obsoletes=0)。
生产环境中建议使用yum update
,防止因为替换,导致旧的软件包依赖出现问题。
更新包yum update
将软件包到最新版本
,但保留
旧版本和配置。
# 更新指定软件
yum update 包名 -y# 更新所有软件命令:
yum update
升级系统yum upgrade
upgrade会删除旧的软件包
,并重新安装新的软件包。
# 所有可更新的软件清单命令:
yum check-update# 大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级
yum upgrade # 更新软件包,自动解决依赖关系
yum upgrade --obsoletes -y
卸载yum remove
# 只卸载指定的包
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 repolist
# 列出已经配置的所有可用仓库
yum repolist -v# 列出所有源,包括禁用的源
yum repolist all# 快速生成缓存
yum makecache fast# 清除暂存中旧的rpm头文件和包文件 && 重新生成缓存
yum clean all && yum makecache
查看yum命令执行记录yum histroy
# 查看yum执行记录
[rhel8 root ~]# yum history
ID | 命令行 | 日期和时间 | 操作 | 更改
------------------------------------------------------------------------------------------------------------------------12 | install htop -y | 2021-10-05 20:20 | Install | 111 | groupinstall fonts -y | 2021-10-04 11:40 | Install | 4110 | -y install xorg-x11-xauth | 2021-10-03 22:26 | Install | 2# 查看命令记录详情
# 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异常处理–清理未完成事务
# 清理未完成事务
yum-complete-transaction
# 或
yum-complete-transaction –cleanup-only
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
yum-versionlock锁定软件包版本
生产环境下,想要阻止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
示例:阻止yum自动更新内核
# 在/etc/yum.conf中配置阻止yum自动更新内核
vim /etc/yum.conf## 指定不更新的包名
exclude=kernel*
校验rpm包是否被篡改
https://blog.csdn.net/omaidb/article/details/126594122
yum配置代理
参考: https://blog.k4nz.com/3ed39274676b830f2451613ddfd9b037/
编辑/etc/yum.conf
文件
# 配置socks5代理
proxy=socks5://192.168.0.130:1080# 配置http代理
## 必须使用完整地址,包含端口号
proxy=http://ip:port
## 指定用户名密码
proxy_username=your username
proxy_password=your password
yum包管理器常见用法相关推荐
- rpm包管理器常见用法
rpm包管理器常见用法 rpm包安装过程 安装包rpm -ivh 安装相互依赖的rpm 更新包rpm -Uvh 卸载包rpm -evh 卸载软件但不卸载依赖包 查询包 查询文件属于哪个包rpm -qf ...
- dnf包管理器常见用法
dnf包管理器常见用法 DNF包管理器简介 从指定软件仓安装指定软件 更新软件包到最新的稳定发行版 dnf distro-sync 回滚某个特定软件的版本dnf downgrade DNF包管理器简介 ...
- Linux安装Yum包管理器
一般Fedora/RedHat/Centos是安装了yum包管理器的,但是有些时候,比如RedHat或其他商业Linux的yum可能没有Fedora的更新或更多,或者要首先服务费用,这时候,可以把yu ...
- 【Linux】yum 包管理器 与 vim 编辑器
Linux 1. 软件包管理器yum 1.1 罗列软件包 1.2 查找软件包 1.3 安装软件 1.4 删除软件 2. 文件传输 2.1 rzsz 2.2 Xftp 3. vim - 编辑器 3.1 ...
- Linux 软件包管理器的目的是什么,Linux软件包的管理--RPM包管理器
在Linux中如何安装.升级.卸载软件,是我们日常运维中重要的组成部分.接下来一CentOS6系统为例,讲解如何使用 RPM 包管理器,yum包管理器以及源码的方式来管理我们的软件包. 一.相关的背景 ...
- Linux包管理器及包安装工具基础知识
部分内容摘入出处:yum与apt的区别:原创文章,转载请注明出处. 文章目录 一.概述 处理器架构 发行版概念 二.两大主流发行版 RedHat发行系列 Debian发行系列 三.命令与包格式区别 各 ...
- centos 7 通过yum安装dnf 包管理器
First From long story 众所周知,dnf包管理方式是Fedora18及其以后代替,yum包管理方式的替代品,并且在性能上,得到了很大的优化,此外,Fedora 的自我生态系统–&g ...
- Windows中使用包管理器(类似于apt/yum的) - Chocolatey
Windows中使用包管理器 - Chocolatey简介 李俊才 的 CSDN 博客 邮箱 :291148484@163.com CSDN 主页:https://blog.csdn.net/qq_2 ...
- 以rpm为后端及以yum为前端工具的程序包管理器在Linux发行版系统centos中的使用...
程序包管理: 应用程序的安装,实际上是解压缩并复制程序包中的文件到指定目录的过程: 程序包管理器: 方便终端用户进行程序的安装.卸载.升级.安装信息查询及校验等工作: 不同的Linux的发行版本中,有 ...
最新文章
- 2020-11-05 关于前端‘古董‘dojo的树结构如何默认展开根节点
- 互联网医疗的前世今生与未来
- 语言速算24点的小窍门_期末备考:小学数学期末常考题型汇总+速算解题思路分析...
- 用python画长方形_Python+opencv:绘制矩形,编写文本,PythonOpenCV,画,矩形框
- 【解释】对用户透明=对用户隐蔽:关系模型的存取路径对用户透明
- python获取小程序手机号并绑定
- 第四届组织医学与再生医学国际学术研讨会(CTERM-BT 2019)
- 万恶的 eval() ?
- 计算机课说话检查200字,上课说话检讨书200字(精选10篇)
- 瞰见 | 美股新贵Confluent背后的卡夫卡,不是那个魔幻小说家
- opengl绘制卡通人物哆啦A梦
- 云和恩墨入选《数据安全产品与服务图谱1.0》
- vue : 无法加载文件 C:\Users\xxx\AppData\Roaming\npm\vue.ps1,因为在此系统上禁止运行脚本
- python版FlappyBird代码解析
- Batch 批处理脚本
- Python_小林的爬取QQ空间相册图片链接程序
- TCP协议三次握手与三次挥手
- 【Linux网络编程】UDP 套接字编程
- 如何做英文SEO、如何做英文外链
- 警惕诈骗:在俄罗斯000Pay声称支持…
热门文章
- 数实融合大时代已至,且看腾讯云的落子与布局
- 锤子的“中年危机” | 一点财经
- uni-app动态设置页面导航
- 质量不同的球java编程_Java 实现小球碰撞GUI
- 开发使用air还是pro_新款iPad Air首发评测:比“Pro”更轻量的无负担体验
- 华为荣耀20和x10比较_华为畅享20和荣耀x10区别:功能与体验大大不同
- 安卓 c 语言开发环境搭建,用C++语言开发Android程序 配置开发环境
- 小米10至尊纪念版和华为mate40哪个好
- 自然语言处理——word2vec项目实战—— NLP理论基础
- JavaScript判断是否为空对象的几种方法