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

装完CentOS最小化系统,第一件事就是装工具,结果yum install提示“没有可用软件包”,网络还偏偏抽风。手边没有U盘,只有下载好的DVD ISO,怎么办?直接把ISO文件挂成本地源,三分钟搞定依赖,后面装GCC、VIM、甚至图形桌面都一路绿灯。下面这套流程,我帮上百台内网机子重复过,稳得离谱。
先确认你手里ISO到底对不对
很多人下成Live ISO,结果里面缺包。打开文件管理器,看见repodata文件夹才算数;如果只有LiveOS,重新拉DVD镜像,别省这点流量。把ISO放到/data或/opt这类永久目录,别扔/tmp,重启就没了。
一条命令创建挂载点,永久生效
习惯在/mnt下随手建目录的人,下次重启容易找不到。我直接写死路径:
mkdir -p /iso/centos
然后把挂载写进/etc/fstab,开机自动挂,省得每次手动敲:
echo '/root/CentOS-7-x86_64-DVD.iso /iso/centos iso9660 loop,ro 0 0' >> /etc/fstab立即生效:
mount -a如果没报错,ls /iso/centos能看到Packages和repodata,说明底层已经认路。
写Repo文件,让Yum找得到新仓库

系统自带一堆网络源,先备份再禁用,省得超时拖速度:
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/bashISO=/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。掌握后,装系统、补依赖、做内网镜像,全都游刃有余。下次再遇到“无法联网”的尴尬,直接翻出这篇文章,三分钟搭好仓库,剩下的就是安心装软件。
