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不支持此方式),需改用方式一。

相关推荐
www.0240 分钟前
linux服务器升级显卡驱动(笔记)
linux·运维·服务器·笔记·ubuntu·服务器环境
Yeats_Liao1 小时前
Go Web 编程快速入门 13 - 部署与运维:Docker容器化、Kubernetes编排与CI/CD
运维·前端·后端·golang
wdfk_prog1 小时前
[Linux]学习笔记系列 -- [kernel][time]hrtimer
linux·笔记·学习
摇滚侠1 小时前
Spring Boot3零基础教程,把 Java 程序打包为 Linux 可执行文件,笔记91
java·linux·笔记
xuhe21 小时前
🛠️ 深度解析我的 Overleaf 私有化部署:一份稳定、高兼容性的 `docker-compose.yaml`
linux·docker·科研·overleaf
技术小白爱FPGA1 小时前
zynq7000- linux平台 PS读写PL测试
linux·fpga开发
BD_Marathon2 小时前
【Linux】awk命令
linux·运维·服务器
前端世界2 小时前
Linux 防火墙实战:用 firewalld 配置 External/Internal 区域,实现 NAT 内网共享上网
linux·服务器·网络
陌路203 小时前
操作系统(6)虚拟内存-缓存工具-页表(2)
linux
林一百二十八3 小时前
Win11配置VMware-workstation以及Ubuntu环境
linux·运维·ubuntu