Linux yum-config-manager命令教程:轻松管理YUM软件源(附实例详解和注意事项)

Linux yum-config-manager命令介绍

yum-config-manager 是一个用来管理 YUM 软件源的工具,它允许用户启用、禁用、添加或删除软件源。这个命令对于 Linux 系统管理员来说非常重要,因为它可以帮助他们控制软件包的来源,确保系统安装的软件是最新的,或者从特定的软件源获取特定版本的软件包。

Linux yum-config-manager命令适用的Linux版本

yum-config-manager 命令适用于使用 YUM 包管理器的 Linux 发行版,如 RedHat/CentOS、Fedora。对于其他发行版,可能需要使用不同的命令或工具来管理软件源。

安装 YUM 工具

在 CentOS 7 上,你可以使用以下命令安装 YUM 工具:

bash 复制代码
sudo yum install yum-utils

在 CentOS 8 上,你可以使用以下命令安装 YUM 工具:

bash 复制代码
sudo dnf install yum-utils

Linux yum-config-manager 命令的基本语法

bash 复制代码
yum-config-manager [options] [repository]

Linux yum-config-manager命令的基本语法

bash 复制代码
yum-config-manager [options] [enable|disable|list] [repo-id]

Linux yum-config-manager命令的常用选项或参数说明

选项 说明
--enable 启用指定的软件源
--disable 禁用指定的软件源
--list 列出所有已配置的软件源
--add 添加一个新的软件源配置文件
--remove 删除指定的软件源配置
--setopt 设置软件源的选项
--save 将当前软件源配置保存为默认配置

Linux yum-config-manager命令实例详解

实例1:启用软件源

bash 复制代码
[linux@bashcommandnotfound.cn ~]$ yum-config-manager --enable repo-id

启用指定的软件源 repo-id

实例2:禁用软件源

bash 复制代码
[linux@bashcommandnotfound.cn ~]$ yum-config-manager --disable repo-id

禁用指定的软件源 repo-id

实例3:列出所有软件源

bash 复制代码
[linux@bashcommandnotfound.cn ~]$ yum-config-manager --list

列出系统中所有已配置的软件源。

实例4:添加新的软件源

bash 复制代码
[linux@bashcommandnotfound.cn ~]$ yum-config-manager --add /path/to/new.repo

添加一个新的软件源配置文件 new.repo

实例5:删除软件源

bash 复制代码
[linux@bashcommandnotfound.cn ~]$ yum-config-manager --remove repo-id

删除指定的软件源配置。

实例6:设置软件源选项

bash 复制代码
[linux@bashcommandnotfound.cn ~]$ yum-config-manager --setopt=repo-id:enabled=1

设置软件源 repo-id 为启用状态。

实例7:保存当前配置为默认

bash 复制代码
[linux@bashcommandnotfound.cn ~]$ yum-config-manager --save

将当前的软件源配置保存为系统的默认配置。

实例8:启用CentOS 7的额外库源

bash 复制代码
[linux@bashcommandnotfound.cn ~]$ sudo yum-config-manager --enable base

在 CentOS 7 中启用基本库源。

实例9:禁用CentOS 7的更新库源

bash 复制代码
[linux@bashcommandnotfound.cn ~]$ sudo yum-config-manager --disable updates

在 CentOS 7 中禁用更新库源,以防止自动更新。

实例10:列出所有可用的软件源

bash 复制代码
[linux@bashcommandnotfound.cn ~]$ yum-config-manager --list all

列出系统中所有可用的软件源,包括已启用和已禁用的。

实例11:添加自定义软件源

bash 复制代码
[linux@bashcommandnotfound.cn ~]$ echo -e "[custom-repo]\nname=Custom Repository\nbaseurl=http://example.com/custom-repo/\ngpgcheck=0\nenabled=1" | sudo tee /etc/yum.repos.d/custom-repo.repo

添加一个自定义的软件源,并启用它。

实例12:设置软件源的优先级

bash 复制代码
[linux@bashcommandnotfound.cn ~]$ yum-config-manager --setopt="base.priority=10"

设置基本软件源的优先级为 10,以确保在安装软件包时优先从该源获取。

实例13:禁用所有第三方软件源

bash 复制代码
[linux@bashcommandnotfound.cn ~]$ yum-config-manager --disable \* --enable base --enable updates

禁用所有第三方软件源,只保留基本库源和更新库源。

实例14:启用特定的第三方软件源

bash 复制代码
[linux@bashcommandnotfound.cn ~]$ yum-config-manager --enable epel

启用 EPEL(Extra Packages for Enterprise Linux)软件源,以获取额外的软件包。

实例15:检查特定软件源的状态

bash 复制代码
[linux@bashcommandnotfound.cn ~]$ yum-config-manager --list epel | grep enabled

检查 EPEL 软件源是否已启用。

实例16:删除特定的软件源配置文件

bash 复制代码
[linux@bashcommandnotfound.cn ~]$ sudo rm /etc/yum.repos.d/epel.repo

如果 yum-config-manager --remove 命令不起作用,可以直接删除软件源的配置文件。

实例17:清除YUM缓存并刷新软件源

bash 复制代码
[linux@bashcommandnotfound.cn ~]$ sudo yum clean all
[linux@bashcommandnotfound.cn ~]$ sudo yum makecache

清除 YUM 缓存并重新生成缓存,确保软件源列表是最新的。

实例18:检查软件源的更新

bash 复制代码
[linux@bashcommandnotfound.cn ~]$ sudo yum check-update

检查系统中的软件包是否有可用的更新。

实例19:配置YUM在离线模式下工作

bash 复制代码
[linux@bashcommandnotfound.cn ~]$ echo "yum clean all" > /etc/yum/yum-offline.conf

创建一个配置文件,使 YUM 在离线模式下工作,不从网络获取软件包信息。

实例20:使用YUM的代理设置

bash 复制代码
[linux@bashcommandnotfound.cn ~]$ yum-config-manager --setopt="proxy=http://proxy.example.com:8080"

为 YUM 设置代理服务器,以便在网络受限的环境中使用。

通过这些实例,用户可以学会如何使用 yum-config-manager 命令来管理他们的软件源,从而更好地控制他们的 Linux 系统。

Linux yum-config-manager命令的注意事项

  • 使用 yum-config-manager 命令时,请确保你有足够的权限(可能需要使用 sudo)。
  • 在添加或删除软件源时,请确保你了解该操作的后果,错误的配置可能会导致系统无法更新。
  • 如果遇到 bash: yum-config-manager: command not found 的错误,可能需要安装或更新 YUM 工具。

Linux yum-config-manager相关命令

在 Linux 系统中,除了 yum-config-manager 命令外,还有许多其他命令与软件包管理相关。以下是一些额外的相关命令,它们各自具有独特的功能和用途:

相关推荐
qq_4336184437 分钟前
shell 编程(五)
linux·运维·服务器
VVVVWeiYee1 小时前
项目2路由交换
运维·服务器·网络·网络协议·信息与通信
lifeng43212 小时前
Jenkins集成部署(图文教程、超级详细)
运维·jenkins
白手小弟3 小时前
python wxauto库实现微信自动化发送信息、回复、添加好友等
运维·自动化
ii_best3 小时前
ios按键精灵自动化的脚本教程:自动点赞功能的实现
运维·ios·自动化
3DVisionary3 小时前
数字图像相关DIC技术用于机械臂自动化焊接全场变形测量
运维·数码相机·自动化·焊接变形实验·数字图像相关dic技术·自动化焊接全场变形测量·非接触高精度环境适应性全场测量
小伍_Five3 小时前
透视网络世界:计算机网络习题的深度解析与总结【前3章】
服务器·网络·计算机网络
芷栀夏3 小时前
如何在任何地方随时使用本地Jupyter Notebook无需公网IP
服务器·ide·tcp/ip·jupyter·ip
G鲲鹏展翅Y3 小时前
jupyter-lab与实验室服务器远程链接
服务器·jupyter
IT机器猫4 小时前
Docker完整技术汇总
运维·docker·容器