HCRM博客

CentOS ISO文件本地挂载,打造无需U盘的Yum源仓库

不用U盘也能秒变本地仓库:把CentOS ISO文件原地挂载成Yum源

不用U盘也能秒变本地仓库:把CentOS ISO文件原地挂载成Yum源

CentOS ISO文件本地挂载,打造无需U盘的Yum源仓库-图1

装完CentOS最小化系统,第一件事就是装工具,结果yum install提示“没有可用软件包”,网络还偏偏抽风。手边没有U盘,只有下载好的DVD ISO,怎么办?直接把ISO文件挂成本地源,三分钟搞定依赖,后面装GCC、VIM、甚至图形桌面都一路绿灯。下面这套流程,我帮上百台内网机子重复过,稳得离谱。

先确认你手里ISO到底对不对

很多人下成Live ISO,结果里面缺包。打开文件管理器,看见repodata文件夹才算数;如果只有LiveOS,重新拉DVD镜像,别省这点流量。把ISO放到/data/opt这类永久目录,别扔/tmp,重启就没了。

一条命令创建挂载点,永久生效

习惯在/mnt下随手建目录的人,下次重启容易找不到。我直接写死路径:

mkdir -p /iso/centos

CentOS ISO文件本地挂载,打造无需U盘的Yum源仓库-图2

然后把挂载写进/etc/fstab,开机自动挂,省得每次手动敲:

echo '/root/CentOS-7-x86_64-DVD.iso /iso/centos iso9660 loop,ro 0 0' >> /etc/fstab

立即生效:

mount -a

如果没报错,ls /iso/centos能看到Packagesrepodata,说明底层已经认路。

写Repo文件,让Yum找得到新仓库

CentOS ISO文件本地挂载,打造无需U盘的Yum源仓库-图3

系统自带一堆网络源,先备份再禁用,省得超时拖速度:

mkdir /etc/yum.repos.d/bak && mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak/

新建/etc/yum.repos.d/iso.repo,内容就五行:

[iso]

name=CentOS Local ISO

baseurl=file:///iso/centos

gpgcheck=0

enabled=1

注意三处斜杠file://协议后面必须跟绝对路径,少一个都识别不到。保存后执行:

yum clean all && yum makecache

看到“元数据缓存已建立”,就证明本地源上线成功。

验证:装个大点的包测试速度

vim-enhanced做靶子,网络源通常十秒起步,本地ISO瞬间完成:

time yum install -y vim-enhanced

终端刷刷刷,读完进度条不到两秒。再跑yum groupinstall "development Tools",一百多个依赖一口气拉完,内网机器也能享受飞一般的感觉。

多ISO场景合并成单一源

CentOS官方镜像太大,有人拆成DVD1、DVD2。此时把两个ISO都挂到同级目录,再建个合并文件夹:

mkdir /iso/centos_all

cp -a /iso/centos1/* /iso/centos_all/

cp -a /iso/centos2/Packages/* /iso/centos_all/Packages/

重新生成repodata

yum install -y createrepo

createrepo -g /iso/centosall/repodata/comps.xml /iso/centosall

baseurl指到/iso/centos_all,就能一次性使用两张盘里的所有包,不用来回切换。

常见坑排雷清单

1. 挂载后权限只读:正常现象,ISO本身就是只读文件系统,别尝试改里面内容。

2. yum makecache卡住:九成是路径写错,复制粘贴时多了空格,仔细核对。

3. 开机没自动挂:检查/etc/fstab里ISO路径是否被移动;建议写绝对路径,别用~

4. 版本升级想换ISO:先umount,替换文件,再mount -a,最后重新makecache即可,无需重启。

懒人一键脚本

把下面内容保存成localiso.sh,给执行权限,改第一行的ISO变量,直接跑:

#!/bin/bash

ISO=/root/CentOS-7-x86_64-DVD.iso

MOUNT=/iso/centos

REPO=/etc/yum.repos.d/iso.repo

mkdir -p $MOUNT

echo "$ISO $MOUNT iso9660 loop,ro 0 0" >> /etc/fstab

mount -a

cat > $REPO <

[iso]

name=CentOS Local ISO

baseurl=file://$MOUNT

gpgcheck=0

enabled=1

EOF

yum clean all && yum makecache

跑完脚本,yum install随便试,内网环境也能秒装软件,再也不用跟网管申请外网权限。

本地ISO文件挂载为CentOS本地源(无U盘)这招,本质上就是把“光盘”塞进硬盘,让系统以为自己插了张永不掉线的DVD。掌握后,装系统、补依赖、做内网镜像,全都游刃有余。下次再遇到“无法联网”的尴尬,直接翻出这篇文章,三分钟搭好仓库,剩下的就是安心装软件。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/42016.html

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
请登录后评论...
游客游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~