/etc/yum.repos.d/
目录下的repo文件。配置YUM源是Linux系统管理中的一个重要环节,它关系到软件包的安装、更新和管理,本文将详细介绍如何配置YUM源,包括本地YUM源、网络YUM源和局域网共享YUM源的配置方法,并提供相关FAQs解答常见问题。
一、什么是YUM源?
YUM(全称为Yellow dog Updater, Modified)是一个在Fedora、CentOS、RedHat以及它们的衍生发行版中的Shell前端软件包管理器,基于RPM包管理,能够从指定的服务器自动下载RPM包并安装,同时自动处理依赖性关系,确保所有依赖的软件包都能被安装。
二、为什么要搭建内网YUM源?
在生产和工作中,出于安全性考虑,很多服务器并不能直接访问公网,当使用rpm安装包安装一些软件时,经常出现缺少依赖而不能安装的情况,此时我们需要配置本地YUM源,以便在内网环境下也能顺利安装和管理软件包。
三、配置YUM源的步骤
1. 观察YUM核心配置文件
YUM的配置文件位于/etc/yum.repos.d/
目录下,其中有多个配置文件,每一个配置文件中都可以配置一个或多个repository,但最终会被合并为一个交给系统,所以多个文件只是为了方便管理。
2. 备份官方YUM源配置文件
在进行任何修改之前,建议先备份官方YUM源的配置文件,以便后续恢复,可以使用以下命令进行备份:
mkdir -p /etc/yum.repos.d/repo.bak cp -r /etc/yum.repos.d/*.repo /etc/yum.repos.d/repo.bak/
3. 编辑本地YUM源配置文件
在/etc/yum.repos.d/
目录下创建或编辑本地YUM源的配置文件,例如local.repo
:
[local] name=local baseurl=file:///mnt enabled=1 gpgcheck=0
[local]
:代表源的名字,中括号要存在,里面的名字可以随便取,但不能有两个相同的YUM源名称。
name
:只是说明一下这个YUM源的意义而已,重要性不高。
baseurl
:最重要,后面接的是YUM源的实际地址,这里代表文件目录为/mnt
。
enabled
:设置为1表示启用这个YUM源,如果不想启用可以使用enabled=0
。
gpgcheck
:设置为0表示不查看RPM文件内的数字签名,如果设置为1则代表需要查看RPM的数字签名。
4. 挂载镜像文件并清理YUM缓存
将YUM源的ISO镜像文件上传到服务器,并挂载到指定目录(如/mnt
):
mount /path/to/iso/CentOS-7-x86_64-DVD-2009.iso /mnt
然后清除YUM缓存并更新:
yum clean all yum makecache
5. 测试本地YUM源
使用YUM命令测试本地YUM源是否配置成功:
yum install tree
如果能够成功安装软件包,则说明本地YUM源配置成功。
四、配置网络YUM源
对于能够访问外网的服务器,可以选择配置网络YUM源,以华为云为例,首先查看本地操作系统版本:
cat /etc/redhat-release
然后打开华为云开源镜像站,找到对应的操作系统版本的YUM源配置文件(如CentOS-Base.repo
),下载后上传到服务器的/etc/yum.repos.d/
目录,或者执行以下命令直接添加:
cd /etc/yum.repos.d/ vi local.repo 按i输入下列内容 [base] name=CentOS7 baseurl=https://repo.huaweicloud.com/centos/$releasever/os/$basearch/ gpgcheck=0 [updates] name=CentOS-$releasever Updates repo.huaweicloud.com baseurl=https://repo.huaweicloud.com/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=https://repo.huaweicloud.com/centos/RPM-GPG-KEY-CentOS-7
保存并退出后,清理YUM缓存并更新:
yum clean all yum makecache
最后测试网络YUM源是否可用:
yum install tree
五、配置局域网共享YUM源
对于需要在局域网内多台机器上配置YUM源的场景,可以配置局域网共享YUM源,首先在一台服务器上安装并配置httpd服务:
yum install httpd -y systemctl start httpd systemctl enable httpd
然后将YUM源的ISO镜像文件挂载到/var/www/html/repo/
目录下,并配置防火墙允许HTTP访问:
firewall-cmd --permanent --add-service=http firewall-cmd --reload
在客户端机器上添加服务器的YUM源地址到/etc/yum.repos.d/
目录下的配置文件中:
[shared] name=shared baseurl=http://server_ip/repo/ enabled=1 gpgcheck=0
保存并退出后,清理YUM缓存并更新:
yum clean all yum makecache
测试局域网共享YUM源是否可用:
yum install tree
六、FAQs
Q1: YUM源配置文件中的baseurl
应该如何填写?
A1:baseurl
应该填写YUM源的实际地址,对于本地YUM源,可以是文件路径(如file:///mnt
);对于网络YUM源,可以是HTTP或FTP地址(如http://mirrors.aliyun.com/repo/Centos-7.repo
)。
Q2: 如何更改YUM源的优先级?
A2: YUM源的优先级可以通过配置文件中的priority
参数来设置,数值越小优先级越高,如果没有指定priority
参数,则默认优先级为100,可以在[yum]
全局配置段中添加priorities=true
来启用优先级功能。