CentOS Yum 服务器
CentOS Yum 服务器简介
1. Yum 包管理器
Yum(Yellowdog Updater, Modified)是一个基于 RPM(Red Hat Package Manager)的软件包管理器,能够自动解决依赖关系并安装软件包,它主要用于在 CentOS 和 RedHat 系列的 Linux 发行版中管理软件包。
2. 本地 Yum 源的优势
使用本地 Yum 源可以显著提高软件包的下载速度,减少对外部网络的依赖,并且可以在内网环境中提供稳定的软件包服务,本地 Yum 源还可以避免外部源不可用时导致的软件安装失败问题。
3. CentOS 版本支持
本文介绍的配置方法适用于多个版本的 CentOS,包括 CentOS 6、CentOS 7、CentOS 8 以及最新的 CentOS Stream。
搭建 CentOS Yum 服务器步骤
1. 准备工作
1.1 系统环境说明
两台测试主机:一台用作 Yum 源服务器(能连接互联网),另一台用作客户端。
系统版本:CentOS 7.9。
1.2 备份现有 Yum 源配置文件
为了防止配置错误导致系统无法更新,首先备份现有的 Yum 源配置文件:
mkdir /etc/yum.repos.d/backup mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/
2. 添加阿里云 Yum 源
2.1 下载并添加阿里云 Yum 源
curl o /etc/yum.repos.d/CentOSBase.repo http://mirrors.aliyun.com/repo/Centos7.repo curl o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel7.repo
2.2 清理缓存并生成新的缓存
yum makecache yum repolist
3. 安装相关软件
3.1 安装必要的软件包
yum install y wget make cmake gcc gccc++ pcredevel zlibdevel openssl openssldevel httpd yumutils createrepo
yumutils
: Yum 的工具包集合,包含reposync
等工具。
createrepo
: 用于创建 RPM 文件索引的工具。
httpd
: 提供 Web 服务的软件包。
4. 同步阿里云 Yum 源到本地服务器
4.1 创建存放软件包的目录
mkdir p /mirror chown R apache:apache /mirror chmod R 755 /mirror
4.2 同步软件包
reposync n repoid=extras repoid=updates repoid=base repoid=epel p /mirror
此命令会将指定的软件包从阿里云源同步到本地的/mirror
目录。
5. 创建仓库索引
5.1 为各个存储库创建索引
createrepo po /mirror/base/ /mirror/base/ createrepo po /mirror/extras/ /mirror/extras/ createrepo po /mirror/updates/ /mirror/updates/ createrepo po /mirror/epel/ /mirror/epel/
5.2 更新索引
createrepo update /mirror/base/ createrepo update /mirror/extras/ createrepo update /mirror/updates/ createrepo update /mirror/epel/
6. 配置并启动 Apache HTTP 服务
6.1 启动并使能 HTTP 服务
systemctl start httpd systemctl enable httpd systemctl status httpd
6.2 配置防火墙放行 80 端口
firewallcmd permanent zone=public addport=80/tcp firewallcmd reload
6.3 关闭 SELinux
编辑/etc/selinux/config
文件,将SELINUX=enforcing
修改为SELINUX=disabled
,然后重启系统或执行以下命令立即生效:
setenforce 0
6.4 配置httpd.conf
文件
找到并修改DocumentRoot
为/mirror
,并确保以下配置正确:
<Directory "/mirror"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all Require all granted </Directory>
6.5 修改默认首页index.html
复制以下内容到/usr/share/httpd/noindex/index.html
:
<!doctype html> <html lang="en"> <head> <meta charset="utf8"> <title>CentOS 7 镜像</title> </head> <body> <h1>Welcome to the CentOS 7 Mirror!</h1> </body> </html>
FAQs常见问题解答
Q1: 为什么需要搭建本地 Yum 源服务器?
A1: 本地 Yum 源服务器可以提高软件包的下载速度,减少对外部网络的依赖,特别适用于内网环境和外部网络不稳定的情况,它还可以避免由于外部源不可用而导致的软件安装失败问题。
Q2: 如何更改 Yum 源配置文件中的 baseurl?
A2: 根据不同的 CentOS 版本,baseurl 的修改方式略有不同,以 CentOS 7 为例,可以使用以下命令下载并替换官方的 Yum 源配置文件:
curl o /etc/yum.repos.d/CentOSBase.repo http://mirrors.aliyun.com/repo/Centos7.repo curl o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel7.repo