服务器本地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]