Linux 本地yum源搭建
本地 YUM 源配置指南
本文将介绍如何在 CentOS 7 系统上配置本地 YUM 源,包括挂载 ISO 镜像和搭建局域网 YUM 源的两种方式。
注意:系统的版本要和iso镜像版本对应上!
方式一:挂载 ISO 镜像作为 YUM 源
将 ISO 镜像挂载为 YUM 源的步骤如下:
-
挂载 ISO 镜像
首先,创建挂载点并挂载 ISO 镜像:
mkdir /mnt/iso mount /root/CentOS-7-x86_64-DVD-1810-7.6.iso /mnt/iso -
配置 YUM 源
创建 YUM 源repo配置文件:
vi /etc/yum.repos.d/iso.repo在文件中添加以下内容:
[iso] name=ISO Mount baseurl=file:///mnt/iso enabled=1 gpgcheck=0
创建 YUM 源epel配置文件:
vi /etc/yum.repos.d/epel.repo
在文件中添加以下内容:
[epel]
name=ISO Mount
baseurl=file:///mnt/iso
enabled=1
gpgcheck=0
-
清理缓存并生成缓存
运行以下命令以清理 YUM 缓存并生成新的缓存:
yum clean all yum makecache
方式二:搭建局域网 YUM 源
如果 YUM 服务器没有网络,可以从其他地方拷贝依赖文件并创建元数据。以下是搭建局域网 YUM 源的步骤:
1. 安装必要的工具并替换为阿里源
首先,安装 Nginx 和创建 YUM 仓库所需的工具:
yum install -y createrepo yum-utils nginx
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
2. 创建本地仓库目录和配置文件
创建用于存放 YUM 依赖文件的目录:
mkdir -p /usr/share/nginx/html/repos/centos7/base
mkdir -p /usr/share/nginx/html/repos/centos7/epel
创建 YUM 源配置文件:
cat <<EOF > /usr/share/nginx/html/CentOS-Base.repo
[base]
name=CentOS-7 - Base
baseurl=http://<yum服务器IP>/repos/centos7/base/
gpgcheck=0
enabled=1
EOF
cat <<EOF > /usr/share/nginx/html/epel.repo
[epel]
name=Extra Packages for Enterprise Linux 7 - \$basearch
baseurl=http://<yum服务器IP>/repos/centos7/epel/
gpgcheck=0
enabled=1
EOF
3. 下载并同步 YUM 仓库
使用 reposync 工具同步 YUM 仓库:
reposync -r base -p /usr/share/nginx/html/repos/centos7/base
reposync -r epel -p /usr/share/nginx/html/repos/centos7/epel
4. 创建 YUM 仓库元数据
使用 createrepo 生成 YUM 仓库的元数据:
createrepo /usr/share/nginx/html/repos/centos7/base
createrepo /usr/share/nginx/html/repos/centos7/epel
5. 配置 Nginx
编辑 Nginx 的配置文件,以便提供 YUM 仓库服务:
vi /etc/nginx/conf.d/yum_repos.conf
在文件中添加以下内容:
server {
listen 80;
server_name your_server_ip;
# 用于提供 yum 配置文件
location / {
root /usr/share/nginx/html;
autoindex on;
}
# 用于提供 yum 源
location /repos/centos7/ {
root /usr/share/nginx/html;
autoindex on;
}
}
注意: 确保将
your_server_ip替换为实际的 YUM 服务器 IP 地址。
6. 启动并配置 Nginx 服务
使 Nginx 服务在系统启动时自动启动,并立即启动它:
systemctl enable nginx
systemctl start nginx
3. 在客户端服务器上配置 YUM 使用 YUM 服务器的源
1. 备份并修改 YUM 配置
备份原有的 YUM 配置文件:
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
2. 获取 YUM 配置文件
使用以下命令获取新的 YUM 配置文件:
curl -o /etc/yum.repos.d/epel.repo http://<yum服务器IP>/epel.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo http://<yum服务器IP>/CentOS-Base.repo && yum clean all && yum makecache
4. 测试客户端服务器上的 YUM 源
尝试安装软件包以验证 YUM 源是否配置成功:
yum install -y tree
注意事项
- IP 地址和密码: 请确保在实际配置中替换
<yum服务器IP>为真实的 YUM 服务器 IP 地址,并妥善管理密码。 - 安全性: 在生产环境中,建议启用 GPG 检查以确保软件包的完整性和来源的可信性。
通过以上步骤,您可以成功搭建本地 YUM 源,提升软件包管理的效率。