Linux操作系统如何使用ISO镜像文件来搭建本地镜像源?

目录

一、部署本地源

1.1.部署本地源的原因

1.2.部署流程

方式一(将ISO内容解压至本地目录(通用)):

1.2.1.配置步骤

1.2.2.创建本地源配置文件

1.2.3.验证配置有效性

[方式二(通过 file:// 协议直接引用ISO文件需系统支持):](#方式二(通过 file:// 协议直接引用ISO文件需系统支持):)

2.2.1.上传系统ISO镜像源文件

2.2.2.备份原有的镜像配置文件

2.2.3.创建repo文件

2.2.4.配置repo文件内容

2.2.4.启用本地源


一、部署本地源

1.1.部署本地源的原因

在实际的生产中,很多单位并不能直接将服务器接入互联网中来进行使用 ,这就使得我们不能直接接通互联网配置镜像源来直接进行软件包的下载、更新 ,这个时候如果需要**避免接通外网,但是又有对离线环境安装软件包的需求。**就可以使用镜像来作为本地源来进行管理。

原因:在实际生产的过程中,为避免安装很多无关不必要的软件,以及减少软件漏洞 ,很多时候投入生产的操作系统,安装方式都是最小化安装 ,这就使得其实ISO中自带的很多安装包并没有得到安装。

1.2.部署流程

在Linux系统中,若要将ISO作为本地源,其核心思路有两种,一种是将ISO隐式挂载在操作系统上,这种通过隐式挂载的方式可以直接访问ISO文件内的文件系统内容;或则将ISO内容提前解压至本地目录,再通过文件路径指向源文件。

核心原理

ISO镜像本质是一个文件系统快照(通常为iso9660格式),包含本地源所需的repodata(元数据)和Packages(软件包)等目录。不挂载时,需通过以下两种方式让包管理器(如yum/dnf、apt)识别ISO内的文件。

方式一(将ISO内容解压至本地目录(通用)):

部分Linux发行版的包管理器(如yum/dnf)支持通过循环设备(loop device)隐式挂载ISO,直接在配置文件中指定ISO文件路径,无需手动执行mount命令。系统会自动处理ISO的读取和解码。

例如:

1.2.1.配置步骤

1.上传iso文件

  1. 创建临时挂载点和目标目录

mkdir -p /tmp/iso-mount /mnt/local-repo

  1. 临时挂载ISO(只读模式,不影响原文件)

注意:

为什么不是显式挂载还是隐式的临时挂载?

无论是显式还是隐式挂载,基于iso文件的特殊性,都只能以"只读访问"的方式下来进行访问,一旦涉及到"需要写入操作"或"依赖长期稳定挂载"的场景下无法直接使用。

mount -o loop,ro /iso/CentOS-7-x86_64-DVD-2009.iso /tmp/iso-mount

  1. 复制ISO内所有文件至目标目录(保留目录结构)

cp -r /tmp/iso-mount/* /mnt/local-repo/

进入到Packages包里边就能看到该目录下有很多软件安装包

  1. 卸载临时挂载点(此时ISO已无用,可删除)

umount /tmp/iso-mount

rmdir /tmp/iso-mount

**1.2.2.**创建本地源配置文件

在/etc/yum.repos.d/目录下新建.repo文件(如localyum.repo):

localyum

name=Local ISO Repository

baseurl=file:///mnt/local-repo # 若直接使用ISO挂载路径,此处为file:///mnt

enabled=1 # 启用该源

gpgcheck=0 # 若ISO未签名,关闭GPG校验(或配置gpgkey指向ISO内的公钥)

注意:

在yum配置文件中,注释是不被允许的。如果您需要注释掉某一行配置,可以使用其他方式来实现,比如将该行配置前面加上井号(#)来表示注释。但是请注意,这种方式可能会导致yum无法正确解析配置文件,从而引发错误。

1.2.3.验证配置有效性

刷新包管理器缓存,确认ISO内的源被识别:

yum clean all && yum makecache

验证:

测试安装WireShark软件

方式二(通过 file:// 协议直接引用ISO文件需系统支持):

2.2.1.上传系统ISO镜像源文件

这里以我本地环境进行示例:

2.2.2.备份原有的镜像配置文件

2.2.3.创建repo文件

在/etc/yum.repos.d/目录下创建local.repo文件,用于配置本地源信息。

2.2.4.配置repo文件内容

在local.repo文件中设置baseurl=file://iso文件位置,指定本地源的路径(需绝对路径 );设置gpgcheck=0,关闭GPG检查。

localyum

name=Local ISO Repository

baseurl=file:///iso/CentOS-7-x86_64-DVD.iso

enabled=1

gpgcheck=0

2.2.4.启用本地源

系统不支持!!!!

若提示"无法读取文件",可能是系统不支持直接引用ISO文件(如apt不支持此方式),需改用方式一。

相关推荐
Johny_Zhao16 小时前
OpenClaw安装部署教程
linux·人工智能·ai·云计算·系统运维·openclaw
chlk1232 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑2 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件2 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
碳基沙盒2 天前
OpenClaw 多 Agent 配置实战指南
运维
xy123062 天前
OpenStack Train 部署实战(三)控制节点--keystone服务
centos·openstack
深紫色的三北六号3 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash3 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI3 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行4 天前
Linux和window共享文件夹
linux