Linux · 17 5 月, 2021 0

无网络使用CentOS安装镜像作为本地yum源

故事背景

前一阵子小组接到任务,要给实验用的服务器安装BIND以便配置DNS后继续安装vCenter。结果实验用服务器不让接外网,熟知的yum install xxx不起作用,一时间组里鬼哭狼嚎,哀鸿遍野。到了傍晚跟布置任务的大佬S桑汇报说因为连不上外网所以摸了一天鱼……S桑对于我们这些菜鸡居然没有一个人知道可以用CentOS的安装ISO作为本地yum源一事表达了震惊。

那咋整

CentOS7.2配置本地yum源
https://www.cnblogs.com/yybrhr/p/9914392.html

  1. 挂载CentOS安装CD。如果是虚拟机直接挂载的光驱,则执行挂载命令:
mount /dev/cdrom /home/iso/    # 这里假设/home/iso目录已经事先建立了

如果是把ISO文件上传到服务器,则执行挂载命令:

mount -o loop <ISO文件路径> /home/iso/
  1. 配置本地yum源
mv /etc/yum.repos.d /etc/yum.repos.d.bak    # 原有的源全部封存不用
mkdir /etc/yum.repos.d
vi /etc/yum.repos.d/CentOS-Local.repo

CentOS-Local.repo中添加内容:

# 本源的名字(唯一)
[base-local]
name=CentOS7.2-Local
# 步骤2中挂载镜像创建的目录
baseurl=file:///home/iso
# 启动yum源:1-启用;0-不启用
enabled=1
# 安全检测:1-开启;0-不开启
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
# ^^ 如果使用中的系统为CentOS 7以外的版本则该文件不存在。这时将上述路径改为
# file:///home/iso/RPM-GPG-KEY-CentOS-7 即可
  1. 更新yum源
    执行:
yum clean all
yum makecache

测试配置:

yum list

出现软件包列表则表示配置成功。之后使用yum install xxx会直接调用ISO里的安装包。ISO和当前操作系统版本不同可能导致缺少依赖(挺普遍的,不过在CentOS 8上用7的ISO安装dnsmasq亲测可行)。