文档首页/ 镜像服务 IMS/ 最佳实践/ 利用ISO为镜像配置本地源
更新时间:2024-03-15 GMT+08:00

利用ISO为镜像配置本地源

背景

在Linux云服务器上安装软件的时候经常会遇到网络不通或者网络源失效的情况,如果这时候有系统对应的ISO文件,就可以比较方便地使用ISO入源。

包管理器

配置本地源需要先确认使用的是哪种包管理器,一般常用的包管理器有三种:yum、apt、zypper。

  • 使用yum一般是RHEL-based系统:rhel、centos、euler、fedora
  • 使用apt一般是debian、ubuntu
  • 使用zypper一般是suse、opensuse

配置本地源

请根据操作系统类型分别参考yum的配置流程apt的配置流程或者zypper的配置流程

  • yum的配置流程
    1. 将ISO文件上传到云服务器内部,并挂载至“/mnt”路径。

      mount XXX.iso /mnt

    2. 进入yum配置文件所在路径“/etc/yum.repo.d”,将其他后缀名为“.repo”的文件进行备份,并且新建一个配置文件,例如“local.repo”。在“local.repo”中添加如下内容:
      [rhel-local]
      name=local
      baseurl=file:///mnt
      enabled=1
      gpgcheck=0

      配置文件中指定的“/mnt”要和ISO挂载路径一致。

    3. 清理yum。

      yum clean all

    4. 重新生成缓存。

      yum makecache

  • apt的配置流程
    1. 将ISO文件上传至云服务器内部,并挂载至“/mnt”路径。

      mount XXX.iso /mnt

    2. 添加apt cdrom源。

      apt-cdrom -m -d /mnt/ add

    3. 在配置文件中查看添加的源。

      cat /etc/apt/sources.list

    4. 更新源。

      apt-get update

  • zypper的配置流程
    1. 将ISO文件上传至云服务器内部。
    2. ISO入源。

      sudo zypper addrepo iso:/?iso=/media/SOFTWARE/openSUSE-11.4-DVD-i586.iso DVDISO

      其中,

      • “/media/SOFTWARE/openSUSE-11.4-DVD-i586.iso”为ISO文件所在位置。
      • “DVDISO”是这个源的别名。
    3. 查看源是否添加成功。

      zypper repos

    4. 刷新源。

      zypper refresh

示例

配置本地源中的步骤一般为通用步骤,操作系统实际的发行版略有差别,但是基本步骤都是要将源添加进去,并刷新。以下内容以Debian 10.1.0和CentOS 8.0为例,介绍添加本地源的方法。

  • Debian 10.1.0

    执行cat /etc/apt/sources.list查看“sources.list”配置文件中有一条默认配置的cdrom源:

    图1 查看源

    这条源指向的源路径就是光驱设备“/dev/cdrom”,Debian 10.1.0做了一个软链接,将光驱设备链接到了“/media/cdrom”路径。

    图2 查看media目录

    因此将ISO挂载到“/media/cdrom”,就可以正常使用ISO源了。

  • CentOS 8.0
    1. 将ISO挂载到“/mnt”路径。
    2. 将“/etc/yum.repo.d”路径的源文件,除了“CentOS-Media.repo”以外,全部重命名成后缀为“.bak”的文件,或者移动到别的目录。
    3. 修改“CentOS-Media.repo”文件。
      图3 修改“CentOS-Media.repo”文件

      包含红框中的六处修改点:

      • baseurl:配置为“file:///mnt/BaseOS”和“file:///mnt/AppStream”,“mnt”为ISO挂载目录,注意删除默认配置的多余的无效路径,否则会导致checksum失败。
      • gpgcheck改为0,即不检查。
      • enabled改为1,使生效。
    4. 清理yum,并重新生成缓存。

      yum clean all && yum makecache