『运维备忘录』之 Yum 命令详解

运维人员不仅要熟悉操作系统、服务器、网络等只是,甚至对于开发相关的也要有所了解。很多运维工作者可能一时半会记不住那么多命令、代码、方法、原理或者用法等等。这里我将结合自身工作,持续给大家更新运维工作所需要接触到的知识点,希望大家喜欢。

今天我们要讲的是 Yum


一、简介

YUM 是 Yellow dog Updater, Modified 的简称,是杜克大学为了提高 RPM 软件包安装性而开发的一种软件包管理器。它是基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。YUM 的宗旨是自动化地升级,安装/移除RPM包,收集 RPM 包的相关信息,检查依赖性并自动提示用户解决。YUM  的关键之处是要有可靠的软件仓库,它可以是 http 或 ftp 站点,也可以是本地软件池,但必须包含 RPM 的header,header 包括了RPM 包的各种信息,包括描述,功能,提供的文件,依赖性等。 

基本语法:

$ yum [options] [command] [package ...]

二、YUM 源

对于 YUM 来说最重要的就是YUM源,查看配置目录后,你会发现/etc/yum.repos.d目录下有非常多以.repo结尾的源文件,每个源文件都代表着一份设置,你可以编辑/etc/yum.repos.d/目录下所有的.repo文件,同时一个源文件里面可以填写多个源地址。一般官方的源文件CentOS-Base.repo下有[base], [updates], [extras]三个源。

YUM源配置字段说明:

  • [base] #仓库名称
  • name= #仓库描述
  • mirrorlist= #仓库镜像路径
  • baseurl= #仓库url路径
  • enabled= #仓库是否启用,1表示启用,0表示关闭
  • gpgcheck=1 #密钥检测,1表示开启,0表示关闭
  • gpgkey= #检查key的地址,如果上面不检查,这个可以不写

下面介绍几种常用的源和设置办法。

2.1. 官方源

这个就不多说了,以CentOS为例,如果安装了CentOS的发行版,那么自带的源应该就是官方的,但源是国外的,一般不推荐使用。

[BaseOS]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=BaseOS&infra=$infra
#baseurl=http://mirror.centos.org/$contentdir/$releasever/BaseOS/$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial

2.2. 阿里云源

阿里云是比较推荐的,云服务业务比较大,源镜像比较稳定可靠,推荐使用。

配置方法:

# 1. 备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup# 2. 下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo# 3. 清除缓存
yum clean all# 4. 生成缓存
yum makecache# 5. 查看生效后的源地址
yum repolist

2.3. 腾讯云源

 配置步骤与阿里云源一样:

# 1. 备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup# 2. 下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/
centos6:
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.cloud.tencent.com/repo/centos6_base.repo
centos7:
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.tencent.com/repo/centos7_base.repo# 3. 清除并生成缓存
yum clean all && yum makecache# 4. 查看生效后的源地址
yum repolist

2.4. 其他源

其他国内还有华为云、清华大学、网易等等优质YUM源,配置方法均一致。

华为云:wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo
清华大学:https://mirrors.tuna.tsinghua.edu.cn/help/centos/
网易:wget http://mirrors.163.com/.help/CentOS6-Base-163.repo

注意:/etc/yum.repos.d/目录下文件名后缀为.repo的文件都是源文件,里面对应的源都需要设置,但最好不要添加太多源,把暂时不用的源通过enabled=0关闭,只留下一个EPEL第三方源,这样可以减少软件的冲突和软件搜索的速度。

三、管理 YUM 存储库

$ yum repolist                     # 显示启用的软件存储库
$ yum repoinfo rhel-7-server-rpms  # 显示有关启用的 yum 存储库的信息
$ yum repo-pkgs my-rpms list       # 列出来自 my-rpms 存储库的软件包
$ yum repo-pkgs my-rpms install    # 从 my-rpms repo 安装所有软件包
$ yum repo-pkgs my-rpms remove     # 从 my-rpms 存储库中删除所有软件包
$ yum makecache                    # 下载 yum 存储库数据到缓存

四、使用 YUM 管理语言包

$ yum langavailable    # 列出已安装的语言
$ yum langinfo es      # 列出与西班牙语相关的软件包
$ yum langinstall es   # 安装与西班牙语相关的软件包
$ yum langlist         # 列出已安装的语言
$ yum langremove es    # 删除与西班牙语相关的软件包

五、使用 YUM 管理软件包

5.1. 列出存储库中的包名称

# 列出存储库中的包名称
yum list available
# 列出所有可用的包
yum list installed
# 列出所有已安装的包
yum list all
# 列出已安装和可用的软件包
yum list kernel

5.2. 列出已安装和可用的内核包

# 列出有关 `vsftpd` 软件包的信息
$ yum info vsftpd

5.3. 显示包的依赖项

# 显示包的依赖项
$ yum deplist nfs-utils
# 查找提供查询文件的包
$ yum provides “*bin/top”
# 显示包含 README.top 文件的包
$ yum provides “*/README.top”

5.4. 查找包

# 查找名称或描述中带有 samba 的软件包
$ yum search samba
# 获取有关可用软件包更新的信息
$ yum updateinfo security

5.5. 使用 YUM 安装、删除和升级软件包

# 安装 vsftpd 包
$ yum install vsftpd# 使用可用更新更新所有软件包
$ yum update
# 更新 httpd 包(如果可用)
$ yum update httpd
# 应用与安全相关的包更新
$ yum update --security# 更新包考虑过时,只升级所有包,不升级软件和系统内核
$ yum -y upgrade# 从本地文件、http 或 ftp 安装包
$ yum localinstall abc-1-1.i686.rpm
# 从本地目录安装 abc 包
$ yum localinstall http://myrepo/abc-1-1.i686.rpm# 将 abc 包降级到早期版本
$ yum downgrade abc# 重新安装 util-linux(以替换任何已删除的文件)
$ yum reinstall util-linux# 删除 ftp 包并安装 lftp 包
$ yum swap ftp lftp# 删除 vsftpd 包和依赖
$ yum remove vsftpd# 删除 httpd 和其他不需要的包
$ yum autoremove httpd# 安装 Web 服务器包
$ yum groupinstall "Web server"

5.6. 从 repo 下载一个包到当前目录

# 使用本地源离线安装 net-tools 工具包
$ yumdownloader net-tools.x86_64
# 使用 –destdir 参数设置下载的目标目录
$ yumdownloader net-tools.x86_64 --destdir=/usr/local/bin/
# 使用 –resolve 参数解决依赖关系并下载所需的安装包
$ yumdownloader net-tools.x86_64 --resolve --destdir=/usr/local/bin/

六、YUM 故障排除和维护

# 检查本地 RPM 数据库是否有问题(运行了很长时间)
$ yum check# 列出所有 yum 安装、更新和清理操作
$ yum history list
# 显示 yum info 3 的详细信息
$ yum history info 3
# 撤消事务 3 中的 yum 操作
$ yum history undo 3
# 重做事务 3 中撤消的 yum 操作
$ yum history redo 3# 删除缓存中保存的包
$ yum clean packages
# 从缓存中清除所有包和元数据
$ yum clean all# 列出启用的文件系统过滤器
$ yum fs filters
# 过滤所有正在安装的文档(小心!)
$ yum fs documentation

官方网站:http://yum.baseurl.org/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/671018.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Droppy教程 | 轻量文件共享

文件共享成为了日常工作的重要组成部分。特别是对于那些需要快速、高效分享大文件的人来说,拥有一个简单可靠,且易于管理的平台至关重要。 项目地址:https://github.com/droppyjs/droppy 一、测试环境 uname -i # x86_64 docker -v # Docke…

年底个人总结

年底个人总结 前言:又到了年底,在游戏行业工作了接近10年,想想也应该把自己做过的东西做一个总结。 从14年在北京毕业,懵懂的我在机缘巧合下遇到了陈g,我行业的领路人,在他的带领下我进入到了游戏行业。 当…

[office] 在往Excel中录入数据时 #微信#学习方法#职场发展

在往Excel中录入数据时 在往Excel中录入数据时,有时会遇到大量的重复数据,比如有这么一个工作表,第一列显示任务名,第二列显示任务执行者,第三列显示执行者的性别,其中任务执行者为固定的几个人交替执行&am…

Bootstrap5 导航组件和面包屑

Bootstrap5 导航组件和面包屑 Bootstrap5 提供了一种简单快捷的方法来创建基本导航,它提供了非常灵活和优雅的选项卡和Pills等组件。 Bootstrap5 的所有导航组件,包括选项卡和Pills,都通过基本的 .nav 类共享相同的基本标记和样式。 使用 B…

深入探究:JSONCPP库的使用与原理解析

君子不器 🚀JsonCPP开源项目直达链接 文章目录 简介Json示例小结 JsoncppJson::Value序列化Json::Writer 类Json::FastWriter 类Json::StyledWriter 类Json::StreamWriter 类Json::StreamWriterBuilder 类示例 反序列化Json::Reader 类Json::CharReader 类Json::Ch…

【计算机二级考试C语言】C可变参数

C 可变参数 有时,您可能会碰到这样的情况,您希望函数带有可变数量的参数,而不是预定义数量的参数。 C 语言为这种情况提供了一个解决方案,它允许您定义一个函数,能根据具体的需求接受可变数量的参数。 声明方式为: int func_name(int arg1, ...); 其中,省略号 ... …

linux一键换源

使用方法 - LinuxMirrors 使用方法 一键执行命令# 中国大陆&#xff08;默认&#xff09; 海外地区 bash <(curl -sSL https://linuxmirrors.cn/main.sh)-----------------------------------| ⡇ ⠄ ⣀⡀ ⡀⢀ ⡀⢀ ⡷⢾ ⠄ ⡀⣀ ⡀⣀ ⢀⡀ ⡀⣀ ⢀⣀ || ⠧⠤ ⠇ ⠇⠸ …

2024年考PMP还有什么用?

PMP 是项目管理专业人士资格认证的意思&#xff0c;也是项目管理领域通用的证书&#xff0c; 做项目的基本都会去考。 要说 PMP 有啥作用&#xff1f; 个人感觉 PMP 证书更多的是跳槽、转行的敲门砖的作用&#xff0c;因为现在很多公司都要 PMP 证书&#xff0c;有了可以加分…

containerd中文翻译系列(五)客户端选项

containerd 客户端的构建是为了方便用户进行扩展。 我们的目标是&#xff0c;调用的执行流程在不同的实现中保持不变&#xff0c;同时编写 Opts 来扩展功能。 为了实现这一目标&#xff0c;我们依赖于 Go 中的 Opts 模式。 方法调用 对于客户端软件包中的许多函数和方法&…

工厂方法模式(Factory Method Pattern)

原文地址:https://jaune162.blog/design-pattern/factory-method-pattern/ 概述 工厂方法模式(Factory Method Pattern)是一个对象创建型模式。 定义一个用于创建对象的接口,让子类决定实例化哪一个类。 Factory Method使一个类的实例化延迟到其子类。 – 《设计模式:可复…

SpringBoot 拦截器Intercepto的创建与基本使用

介绍 拦截器和过滤器的功能都差不多&#xff0c;拦截器是SpringBoot的&#xff0c;而且过滤器是Servlet的 SpringBoot过滤器 拦截器-过滤器 执行顺序 发起请求-》过滤器-》拦截器-》接口 创建拦截器 实现HandlerInterceptor 的接口&#xff0c;并且实现他都三个方法 preHan…

Leetcode21:合并两个有序链表

一、题目描述 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例&#xff1a; 输入&#xff1a;l1 [1,2,4], l2 [1,3,4] 输出&#xff1a;[1,1,2,3,4,4]输入&#xff1a;l1 [], l2 [] 输出&#xff1a;[]输入&#…

【芯片设计- RTL 数字逻辑设计入门 8 -- 四选一多路器】

文章目录 四选一多路输出器verilog case 语句verilog 代码testbench 代码仿真波形 问题小结 四选一多路输出器 制作一个四选一的多路选择器&#xff0c;要求输出定义上为线网类型 状态转换&#xff1a; d0 00 d1 01 d2 10 d3 11verilog case 语句 case(express…

亚马逊认证考试系列 - 知识点 - 安全组介绍

第一部分&#xff1a;AWS简介 Amazon Web Services&#xff08;AWS&#xff09;是全球领先的云计算服务提供商&#xff0c;为个人、企业和政府机构提供广泛的云服务解决方案。AWS的服务包括计算、存储、数据库、分析、机器学习、人工智能、物联网、安全和企业应用等领域。AW…

每日一题 力扣LCP30.魔塔游戏

题目描述&#xff1a; 小扣当前位于魔塔游戏第一层&#xff0c;共有 N 个房间&#xff0c;编号为 0 ~ N-1。每个房间的补血道具/怪物对于血量影响记于数组 nums&#xff0c;其中正数表示道具补血数值&#xff0c;即血量增加对应数值&#xff1b;负数表示怪物造成伤害值&#x…

【Java 数据结构】反射

反射 1 定义2 用途(了解)3 反射基本信息4 反射相关的类&#xff08;重要&#xff09;4.1 Class类(反射机制的起源 )4.1.1 Class类中的相关方法(方法的使用方法在后边的示例当中) 4.2 反射示例4.2.1 获得Class对象的三种方式4.2.2 反射的使用 5、反射优点和缺点 1 定义 Java的反…

【openwrt】MT7981 5G WiFi MAC地址不生效问题分析及解决方案

问题描述 MT7981 默认sdk 5G MAC地址根据2.4G MAC地址随机生成,我们写到Factory区域的值不生效 问题分析 查看EEPROM MAC位置 查看MTK EEPROM文档MT7981_EEPROM_Content_Introduction_V10_20211207.pdf可以看到EEPROM里面有两个位置可以存放MAC,0x04~0x09 和0x0a~0x0f 查看…

工具类中获取Bean的实例

一般情况下&#xff0c;我们直接在Component标注的类&#xff08;Bean&#xff09;下就能直接通过Autowired、Resource直接实现自动注入获取到Bean的实例&#xff0c;如下&#xff1a; Service Transactional(readOnly true) public class MyReadServiceImpl {Resourceprivat…

Simulink|光伏阵列模拟多类故障(开路/短路/阴影遮挡/老化)

目录 主要内容 模型研究 1.正常模型 2.断路故障 3.短路故障 4.阴影遮挡 5.老化模型 结果一览 1.U-I曲线 2.P-V曲线 下载链接 主要内容 该模型为光伏阵列模拟故障情况simulink模型&#xff0c;程序实现了多种故障方式下的光伏阵列输出功率-电压-电流关系特…

类型化数组

数字存储前置知识 计算机必须使用固定的位数来存储数字&#xff0c;无论存储的数字是大是小&#xff0c;在内存中占用的空间是固定的n位的无符号整数能表示的个数是2^n个 取值范围是0~2^n-1 举例&#xff1a;000 001 111 表示[0-8]n位的有符号整数能表示的个数是2^n个 取值范围…