Yum仓库配置的核心要点
Yum仓库的配置主要通过主配置文件(/etc/yum.conf)和仓库配置文件(/etc/yum.repos.d/*.repo)实现。其中,/etc/yum.conf包含全局设置(如缓存目录、日志路径、插件启用状态),而/etc/yum.repos.d/目录下的.repo文件(如CentOS-Base.repo)则定义了具体仓库的参数。每个.repo文件可包含多个仓库段(以[repo_name]开头),便于管理多个软件源。
每个.repo文件中的仓库段需包含以下核心参数:
[repo_name]:仓库的唯一标识(如[base]、[myrepo]),用于Yum命令中引用;name:仓库的描述性名称(如name=CentOS-7 - Base),在Yum输出中显示;baseurl:仓库的基础URL(如http://mirror.centos.org/centos/7/os/x86_64/),指向软件包和元数据的存储位置;也可使用mirrorlist(镜像列表URL),让Yum自动选择最优镜像;enabled:是否启用仓库(1=启用,0=禁用),禁用后Yum不会访问该仓库;gpgcheck:是否启用GPG签名验证(1=启用,0=禁用),启用后可确保软件包未被篡改;gpgkey:GPG公钥的URL(如http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7),用于验证软件包签名的合法性。通过修改.repo文件中的enabled参数可控制仓库的开关:
enabled=0改为enabled=1(如sudo sed -i 's/enabled=0/enabled=1/' /etc/yum.repos.d/myrepo.repo);enabled=1改为enabled=0。yum-config-manager工具(需安装yum-utils)快速操作:yum-config-manager --enable <repo_name>(启用)、yum-config-manager --disable <repo_name>(禁用)。yum clean all命令清除旧缓存(包括下载的软件包和元数据),解决缓存导致的安装问题;yum makecache命令下载并缓存仓库的最新元数据(如软件包列表、依赖关系),提升后续操作的响应速度;yum makecache(如通过cron任务每天凌晨更新),确保元数据与仓库同步。gpgcheck=1并配置gpgkey参数,确保软件包来自可信来源且未被篡改。例如,CentOS官方仓库的gpgkey指向官方公钥URL;baseurl改为HTTPS协议(如https://mirror.centos.org/centos/7/os/x86_64/),并通过配置SSL证书加密数据传输,防止中间人攻击。mirrorlist参数指定多个镜像源(如CentOS的官方镜像列表),Yum会自动选择最快的镜像;或使用yum-plugin-fastestmirror插件(sudo yum install yum-plugin-fastestmirror),进一步提升下载速度;/etc/yum.conf中配置代理:proxy=http://proxy.example.com:3128(无认证)或proxy=http://username:password@proxy.example.com:3128(需认证),确保Yum能访问外部仓库。当系统中配置了多个仓库时,可通过priority参数设置仓库优先级(数值越小,优先级越高),控制Yum解决依赖关系时的软件包来源。需先安装yum-plugin-priorities插件(sudo yum install yum-plugin-priorities),然后在仓库配置文件中添加priority=N(如priority=1表示最高优先级)。
对于内部软件部署,可搭建本地Yum仓库:
/opt/local-repo);createrepo命令生成仓库元数据(createrepo /opt/local-repo);.repo文件(如/etc/yum.repos.d/localrepo.repo),配置baseurl=file:///opt/local-repo(本地路径)和enabled=1。