yum包管理器常见用法

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

多线程下载插件

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

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

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

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包管理器常用命令

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


RHEL8的yum

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

在这里插入图片描述


yum软件仓库管理yum repolist

# 列出已经配置的所有可用仓库
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查看源中的软件版本

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

# 查询yum源中提供的kubeadm版本
yum list kubeadm --showduplicates

在这里插入图片描述


检查软件更新

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

安装yum install

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

# 本地安装
yum localinstall 本地包名.rpm -y

查看包安装了哪些文件

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

在这里插入图片描述


安装指定版本的包

在这里插入图片描述

# 查看源中提供哪些包版本
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 updateyum 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 histroy

# 查看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异常处理–清理未完成事务

# 清理未完成事务
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.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

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

保留yum安装过的包

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

# 1保存下载的rpm | 0不保存下载的rpm
keepcache=1
  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
好的,我将一一回答你的问题。 1. Linux 解压 rpm 文件怎么安装软件? RPM(The Red Hat Package Manager)是一种基于管理器格式,类似于 Windows 中的 .exe 文件。要安装 RPM 软件,可以使用以下命令: ``` sudo rpm -ivh package-name.rpm ``` 其中,“-i”表示安装,“-v”表示详细输出,而“-h”则表示安装过程中显示进度条。需要注意的是,该命令会安装 RPM 软件及其依赖项,但如果存在冲突,则会安装失败。 2. 安装软件的三种方法 在 Linux 中,安装软件的方式有三种: 1. 从源代码编译并安装 2. 使用管理器安装 3. 使用二进制文件安装 其中,使用管理器安装是最常见的方法,因为它可以自动解决依赖关系,并且可以方便地升级或卸载软件。使用源代码编译并安装通常需要一些技术知识和时间,但可以更好地控制软件的配置和编译选项。使用二进制文件安装通常是最简单的方法,因为它不需要任何编译或配置,并且可以快速地安装软件。 3. RPM 介绍、RPM 工具的用法 RPM 是一种基于管理器的软件格式,用于在 Linux 系统上分发软件。RPM 软件通常含二进制文件、库、配置文件以及其他资源,可以轻松地在多个系统上安装和升级。RPM 管理器提供了一组工具,可以管理 RPM 软件的安装、升级和卸载。 以下是一些常用的 RPM 工具: 1. rpm -ivh package-name.rpm:安装 RPM 软件 2. rpm -Uvh package-name.rpm:升级 RPM 软件 3. rpm -e package-name.rpm:卸载 RPM 软件 4. rpm -qa:列出所有已安装的 RPM 软件 5. rpm -qi package-name:显示 RPM 软件的详细信息 6. rpm -ql package-name:列出 RPM 软件的文件列表 4. Yum 工具用法、源码安装 Yum(Yellowdog Updater Modified)是一个基于 RPM 管理器的软件管理器,用于在 Red Hat 和 CentOS 等 Linux 发行版上安装、升级和卸载软件。与 RPM 相比,Yum 可以自动解决依赖关系,并且可以从多个软件源中获取软件。 以下是一些常用的 Yum 命令: 1. yum install package-name:安装软件 2. yum update package-name:升级软件 3. yum remove package-name:卸载软件 4. yum list installed:列出所有已安装的软件 5. yum search keyword:搜索软件 6. yum info package-name:显示软件的详细信息 7. yum clean all:清除 Yum 缓存 源码安装通常需要一些技术知识和时间,但可以更好地控制软件的配置和编译选项。要安装源码,可以按照以下步骤进行: 1. 下载源代码 2. 解压源代码 3. 进入源代码目录 4. 运行 ./configure 命令进行配置 5. 运行 make 命令进行编译 6. 运行 make install 命令进行安装 需要注意的是,源码通常需要依赖一些库和工具,因此在安装之前需要先安装这些依赖项。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

识途老码

赞赏是第一生产力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值