必须配置本地YUM源以实现麒麟系统离线安装与更新,方法包括:一、挂载ISO镜像;二、解压ISO内容;三、搭建HTTP共享源;四、统一验证启用。

如果您需要在无网络连接的环境中为麒麟操作系统安装软件或更新系统,则必须配置本地YUM源。本地YUM源通过挂载系统ISO镜像并指向其内部的软件包与元数据目录来实现离线依赖解析与安装。以下是多种可行的操作方法:
一、使用ISO镜像挂载方式配置本地YUM源
该方法适用于已获取对应版本麒麟OS安装镜像(如Kylin-Server-V10-SP3-X86_64.iso)的场景,通过loop设备挂载镜像,使YUM能直接读取其中的Packages和repodata目录。
1、将ISO镜像文件上传至服务器指定目录,例如:/home/iso/Kylin-Server-V10-SP3-General-Release-2303-X86_64.iso。
2、创建挂载点目录:mkdir -p /mnt/kylin。
3、执行挂载命令:mount -o loop /home/iso/Kylin-Server-V10-SP3-General-Release-2303-X86_64.iso /mnt/kylin。
4、验证挂载是否成功:ls /mnt/kylin/Packages/ | head -n 3,应可见.rpm包列表;ls /mnt/kylin/repodata/,应存在filelists.xml.gz等元数据文件。
5、备份原有YUM源配置:mkdir /etc/yum.repos.d/bak && mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak/。
6、新建本地源配置文件:vi /etc/yum.repos.d/kylin-local.repo,写入以下内容:
[kylin-local]
name=Kylin Local ISO Source
baseurl=file:///mnt/kylin/
enabled=1
gpgcheck=0
二、使用已解压ISO内容配置本地YUM源
当ISO无法直接挂载(如内核不支持loop或权限受限),可先提取ISO内容至本地目录,再基于该目录构建YUM源。此方式规避了挂载限制,且便于后续同步或定制化修改。
1、安装ISO解压工具:yum install -y genisoimage(若已有网络且仅需临时解压,否则跳过此步,改用其他主机解压后拷贝)。
2、在有图形界面或另一台Linux机器上解压ISO:7z x Kylin-Server-V10-SP3-General-Release-2303-X86_64.iso -o/mnt/kylin-extracted(需安装p7zip)。
3、将解压后完整目录(含Packages、repodata、isolinux等)拷贝至目标麒麟服务器的/data/kylin-repo路径。
4、设置目录权限确保可读:chmod -R 755 /data/kylin-repo。
5、创建新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。
三、基于HTTP服务搭建可复用本地YUM源
该方法适用于多台麒麟客户端共享同一本地源的内网环境,通过在一台服务器部署HTTP服务提供YUM仓库访问,避免每台机器重复挂载ISO,提升管理效率与一致性。
1、确认已安装并启用httpd服务:yum install -y httpd && systemctl enable httpd && systemctl start httpd。
2、将ISO挂载或解压后的内容复制至Web根目录:cp -r /mnt/kylin/* /var/www/html/kylin-sp3/。
3、调整SELinux上下文(如启用):chcon -R -t httpd_sys_content_t /var/www/html/kylin-sp3/。
4、测试HTTP访问:curl -I http://localhost/kylin-sp3/repodata/repomd.xml,返回200表示就绪。
5、在客户端创建HTTP源配置:echo -e "[kylin-http]\nname=Kylin HTTP Local Repo\nbaseurl=http://
四、验证与启用本地YUM源
无论采用上述哪种方式,均需执行统一清理与缓存重建步骤,确保YUM识别新源并正确加载元数据。
1、清除全部旧缓存:yum clean all。
2、生成新缓存索引:yum makecache。
3、列出可用软件包以确认生效:yum list available | head -n 10,应显示大量麒麟系统原生包名(如kernel、glibc、systemd等)。
4、执行一次离线安装测试:yum install -y vim-enhanced --disablerepo="*" --enablerepo="kylin-local"(根据实际repo ID替换kylin-local)。










