|
|
服务器本地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
- [local-base]
- name=Local Base Repository
- baseurl=file:///local_repo/base
- enabled=1
- gpgcheck=0
- [local-updates]
- 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
- [http-local]
- 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
复制代码
三、离线环境维护建议
- 定期更新本地仓库:
- 在联网环境中定期同步仓库
- 使用更新本地仓库内容
- 重新生成仓库元数据:
- createrepo --update /path/to/repo
复制代码 - 多版本管理:
- 为不同系统版本创建单独的仓库目录
- 例如:/localrepo/centos7, /localrepo/centos8
- 依赖管理:
- 使用下载包及其所有依赖
- 考虑使用插件
- 自动化脚本:
- #!/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方式提供仓库,而非直接文件访问
- 定期验证本地仓库的完整性
通过以上方案,您可以在离线环境中高效地管理软件包安装和更新。 |
|