在CentOS 7环境中,配置离线Yum源并进行离线安装包的过程涉及以下步骤:

一、准备离线Yum源

1. 获取ISO镜像或本地镜像文件

获取CentOS 7的官方或第三方镜像,如DVD ISO或网络安装源的完整副本。这些通常包含大量的软件包供离线环境使用。可以从以下来源获取:

  • 官方镜像站点:如http://mirror.centos.org/centos/7/isos/x86_64/
  • 第三方镜像站点:如阿里云、USTC等镜像源提供的ISO下载链接。
2. 挂载ISO镜像或解压本地镜像

挂载ISO镜像到本地目录,例如:

mkdir -p /mnt/centos7_iso
mount -o loop CentOS-7-x86_64-DVD-*.iso /mnt/centos7_iso

如果使用的是已解压的本地镜像文件,确保其路径正确,并可直接访问。

3. 创建本地Yum仓库

创建一个新的Yum仓库目录,复制所需的软件包到该目录,并生成仓库元数据:

mkdir -p /path/to/offline_repo/{os,updates,extras,optional,...}
cp -rp /mnt/centos7_iso/Packages/* /path/to/offline_repo/os/
# 如果有其他子目录(如updates、extras等),也需相应复制

cd /path/to/offline_repo
createrepo -v .

这将为 /path/to/offline_repo 中的所有RPM包生成必要的元数据,使Yum能够识别和解析这些软件包。

二、配置Yum源

编辑或创建一个新的Yum配置文件,如 /etc/yum.repos.d/offline.repo,内容如下:

[offline]
name=CentOS 7 Offline Repository
baseurl=file:///path/to/offline_repo
enabled=1
gpgcheck=0 # 如果没有GPG公钥或不验证签名,设置为0;否则需提供公钥并设置为1

保存并关闭文件。这样,Yum就会知道有一个名为“offline”的本地仓库可用。

三、离线安装包

现在可以使用Yum在离线环境下安装软件包了:

yum --disablerepo=\* --enablerepo=offline install <package_name>

这里的 --disablerepo=\* 是为了避免Yum尝试访问在线源,--enablerepo=offline 指定仅使用刚刚配置的离线源。替换 <package_name> 为实际要安装的软件包名称。

四、注意事项

  • 确保离线Yum源包含了所有依赖包。如果安装过程中出现依赖缺失,可能需要从另一个ISO或网络源中获取缺失的包,并添加到本地仓库中。
  • 如果使用的是官方ISO,记得定期更新离线源以获取安全补丁和软件更新。重复上述步骤,但仅复制新增或更新的软件包到本地仓库,并重新运行 createrepo 更新元数据。
  • 如果需要管理多个版本或架构的软件包,建议为每个版本或架构创建独立的仓库目录,并在Yum配置文件中分别定义。

通过以上步骤,您可以在CentOS 7系统中成功配置离线Yum源,并进行离线安装包的操作。