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

相关推荐
Black蜡笔小新3 小时前
破解工地防盗难题:如何利用EasyCVR实现视频监控统一管理?
运维·音视频
Cx330❀3 小时前
《Linux基础入门指令》:从零开始理解Linux系统
linux·运维·服务器·经验分享
HaSaKing_7213 小时前
二三级等保检测对比项
linux·服务器·网络
error:(4 小时前
【Linux命令从入门到精通系列指南】export 命令详解:环境变量管理的核心利器
linux·运维·服务器
Yeats_Liao4 小时前
遗留系统微服务改造(四):从单体到微服务的演进之路
运维·微服务·架构
勇往直前plus4 小时前
CentOS 7 环境下 RabbitMQ 的部署与 Web 管理界面基本使用指南
前端·docker·centos·rabbitmq
2301_793167995 小时前
网络管理部分
linux·运维·服务器·网络·php
序属秋秋秋5 小时前
《Linux系统编程之入门基础》【Linux的前世今生】
linux·运维·服务器·开源·unix·gnu
qiuiuiu4135 小时前
正点原子RK3568学习日记-GIT
linux·c语言·开发语言·单片机