HCRM博客

如何搭建并配置CentOS Yum服务器?

CentOS Yum 服务器

CentOS Yum 服务器简介

1. Yum 包管理器

如何搭建并配置CentOS Yum服务器?-图1
(图片来源网络,侵权删除)

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. 准备工作

如何搭建并配置CentOS Yum服务器?-图2
(图片来源网络,侵权删除)

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 源

如何搭建并配置CentOS Yum服务器?-图3
(图片来源网络,侵权删除)

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
分享:
扫描分享到社交APP
上一篇
下一篇