admin 发表于 2026-8-11 05:53:45

服务器本地yum源搭建与离线安装方案

服务器本地YUM源搭建与离线安装方案

一、本地YUM源搭建方案

1. 准备工作

[*]准备一台已连接互联网的服务器(用于下载RPM包)
[*]准备目标离线服务器(需要安装软件)
[*]足够存储空间的磁盘或U盘/移动硬盘


2. 搭建步骤

方案1:使用本地目录作为YUM源
# 1. 创建本地仓库目录
mkdir -p /local_repo/{base,updates,extras}

# 2. 从网络源同步RPM包(在联网机器上执行)
# 示例:同步base仓库
reposync -p /local_repo/base -r base# 需要安装yum-utils

# 3. 创建仓库元数据
createrepo /local_repo/base
# 对其他仓库重复上述操作

# 4. 配置本地YUM源
cd /etc/yum.repos.d/
mkdir bak
mv *.repo bak/# 备份原有源

# 创建本地源配置文件
cat > /etc/yum.repos.d/local.repo <<EOF

name=Local Base Repository
baseurl=file:///local_repo/base
enabled=1
gpgcheck=0


name=Local Updates Repository
baseurl=file:///local_repo/updates
enabled=1
gpgcheck=0
EOF

# 5. 清理并重建YUM缓存
yum clean all
yum makecache

方案2:使用HTTP服务共享本地仓库
# 1. 安装HTTP服务器
yum install httpd -y

# 2. 将仓库目录放到HTTP服务目录下
mv /local_repo /var/www/html/

# 3. 配置HTTP仓库(客户端配置)
cat > /etc/yum.repos.d/http_local.repo <<EOF

name=HTTP Local Repository
baseurl=http://<服务器IP>/local_repo# 根据实际目录调整
enabled=1
gpgcheck=0
EOF

# 4. 启动HTTP服务
systemctl start httpd
systemctl enable httpd

二、离线安装方案

1. 手动RPM包安装
# 1. 从联网机器下载所需RPM包及其依赖
yum install --downloadonly --downloaddir=/path/to/save/rpm package_name

# 2. 将下载的RPM包复制到离线服务器
# 3. 使用rpm命令安装
cd /path/to/rpm/files
rpm -Uvh *.rpm# 或指定具体包名

2. 使用yum的本地安装功能
# 1. 创建本地仓库目录结构(同上)
# 2. 使用yum本地安装命令
yum --disablerepo=* --enablerepo=local-base install package_name
# 或者直接指定本地路径
yum localinstall /path/to/package.rpm

3. 使用createrepo创建本地仓库后安装
# 1. 确保已创建本地仓库并配置了.repo文件
# 2. 正常使用yum安装
yum install package_name

三、离线环境维护建议

[*]定期更新本地仓库:
[*]在联网环境中定期同步仓库
[*]使用reposync更新本地仓库内容
[*]重新生成仓库元数据:createrepo --update /path/to/repo
[*]多版本管理:
[*]为不同系统版本创建单独的仓库目录
[*]例如:/localrepo/centos7, /localrepo/centos8
[*]依赖管理:
[*]使用yumdownloader下载包及其所有依赖
[*]考虑使用yum-plugin-downloadonly插件
[*]自动化脚本:

   #!/bin/bash
   # 同步指定仓库到本地
   REPO_NAME=$1
   TARGET_DIR="/local_repo/$REPO_NAME"
   
   mkdir -p $TARGET_DIR
   reposync -p $TARGET_DIR -r $REPO_NAME
   createrepo $TARGET_DIR

四、注意事项

[*]确保本地仓库的GPG检查已禁用或配置了正确的GPG密钥
[*]考虑仓库大小,确保有足够的存储空间
[*]对于生产环境,建议使用HTTP/HTTPS方式提供仓库,而非直接文件访问
[*]定期验证本地仓库的完整性


通过以上方案,您可以在离线环境中高效地管理软件包安装和更新。
页: [1]
查看完整版本: 服务器本地yum源搭建与离线安装方案