必须配置本地YUM源;通过挂载ISO镜像或解压其Packages与repodata目录,使yum命令可离线解析依赖并安装.rpm包,含临时挂载、解压目录、永久fstab挂载、HTTP共享及reposync同步五种实测方法。

在银河麒麟服务器版无网络连接的环境中安装软件或更新系统,必须配置本地YUM源才能让yum命令正常解析依赖并安装.rpm包,否则执行yum install等操作时会提示“无法连接到仓库”或“no more mirrors to try”。
挂载ISO镜像并启用本地源
第一步:将Kylin-Server-V10-SP3-2403-Release-20240426-x86_64.iso上传至服务器的/usr/local/目录(不建议放在/home或临时目录,避免权限或路径不可靠)。
第二步:创建挂载点并挂载镜像:mkdir -p /mnt/kylin-iso && mount -o loop /usr/local/Kylin-Server-V10-SP3-2403-Release-20240426-x86_64.iso /mnt/kylin-iso。
第三步:验证挂载内容是否完整——执行ls /mnt/kylin-iso/Packages | head -n 2应输出类似kernel-5.10.0-13.ky10.x86_64.rpm的包名;执行ls /mnt/kylin-iso/repodata/必须包含primary.xml.gz和filelists.xml.gz,缺一不可,否则yum无法构建元数据缓存。
第四步:备份原有源配置:mkdir -p /etc/yum.repos.d/bak && mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak/。
第五步:新建/etc/yum.repos.d/kylin-local.repo,写入以下内容:
[kylin-local]
name=Kylin Local ISO Source
baseurl=file:///mnt/kylin-iso/
enabled=1
gpgcheck=0
【gpgcheck=0不可省略,否则因缺少本地GPG密钥导致yum list失败】
解压ISO后配置文件源(规避挂载限制)
当目标服务器内核禁用loop模块、SELinux策略阻止挂载,或普通用户无权执行mount时,此方法可绕过所有挂载依赖。
方法一:在另一台Linux主机上解压ISO(需先安装p7zip):yum install -y p7zip && 7z x Kylin-Server-V10-SP3-2403-Release-20240426-x86_64.iso -o/data/kylin-repo。
方法二:将整个/data/kylin-repo目录(含Packages、repodata、isolinux)拷贝至麒麟服务器的/data/kylin-repo路径,并执行chmod -R 755 /data/kylin-repo确保所有子目录可读。
方法三:直接生成repo文件:echo -e "[kylin-unpacked]\nname=Kylin Unpacked Repo\nbaseurl=file:///data/kylin-repo/\nenabled=1\ngpgcheck=0" > /etc/yum.repos.d/kylin-unpacked.repo。
配置永久挂载(重启不失效)
临时挂载在服务器重启后自动失效,需写入/etc/fstab实现开机自动挂载。
① 确认ISO文件已存放于固定路径,例如/media/Kylin-Server-V10-SP3-2403-Release-20240426-x86_64.iso;
② 创建挂载点:mkdir -p /media/cdrom;
③ 编辑/etc/fstab,追加一行:/media/Kylin-Server-V10-SP3-2403-Release-20240426-x86_64.iso /media/cdrom iso9660 defaults,ro,loop 0 0;
④ 执行mount -a触发fstab挂载,若无报错即生效;【必须执行mount -a验证,否则可能因路径错误或权限问题导致后续yum命令找不到源】
⑤ 验证挂载结果:df -Th | grep cdrom应显示/dev/loop0挂载在/media/cdrom且类型为iso9660。
启用并验证本地源
执行yum clean all彻底清空旧缓存,避免残留远程源干扰。
执行yum makecache生成新缓存——这一步耗时约30~90秒,取决于ISO中repodata大小,期间终端无任何输出属正常现象。
执行yum list vim-enhanced,若返回Available Packages及版本号,说明本地源已就绪。
执行yum install -y wget,观察下载地址是否为file:///mnt/kylin-iso/或对应baseurl路径,确认走的是本地源而非网络源。

















