在一些离线环境中无法使用在线的yum repo,只能使用本地的yum仓库
搭建的方式有如下几种:
- 使用本地meida
- 使用本地media搭建远程服务器
- 自建repo mirror(施工中)
1、使用本地Centos7 everything iso文件
首先需要将CentOS-7-x86_64-Everything-2003Centos7-everythin.iso文件拷贝到repo服务器上,服务器需要安装nginx或者httpd服务
mkdir /data/repo
mount -t iso9660 -o loop /CentOS-7-x86_64-Everything-2003.iso /data/repo
# 配置自动挂载
vim /etc/fstab
/CentOS-7-x86_64-Everything-2003.iso /data/repo iso9660 defaults 0 0
# 测试是否能够正常挂载
mount -a
vim /etc/yum.repos.d/Centos.repo
[centos7-media]
name=centos7-media
baseurl=file:///data/repo
# 不做gpg验证
gpgcheck=0
# 移除默认的仓库
mv /etc/yum.repos.d/Centos-Base.repo /etc/yum.repos.d/Centos-Base.repo.bak
# 重新生成cache
yum makecache
# 试着更新或者安装软件
yum update
2、使用本地Centos7 everything iso文件搭建远程服务器
服务端配置:
mkdir /data/repo
mount -t iso9660 -o loop /CentOS-7-x86_64-Everything-2003.iso /data/repo
# 配置自动挂载
vim /etc/fstab
/CentOS-7-x86_64-Everything-2003.iso /data/repo iso9660 defaults 0 0
# 测试是否能够正常挂载
mount -a
vim /etc/yum.repos.d/centos7-media.repo
配置nginx 或者httpd网站根目录为/data/repo,这里不做示例。建议配置访问路径为 /centos7。
客户端配置:
vim /etc/yum.repos.d/centos7-http.repo
[centos7-http]
name=centos7-http
baseurl=http://<server-ip>/centos7
# 不做gpg验证
gpgcheck=0
3、自建Centos Repo(通过镜像其他网站)
这种方式只适合同步部分文件,最好不要整个的镜像其他网站,除非你有一个非常庞大的Centos基础设施。
非常建议使用这种方式更新 Openssh、Openssl、Docker、Linux Kernel等一些业务有关、安全有关的各种组件。
如果你的离线基础设施需要大量的安全更新,可以使用这种方式拷贝必要的rpm包到离线环境中部署repo,以更新这个区域所有机器的软件包。