必须先挂载iso为只读文件系统才能访问packages和repodata目录,操作包括确认iso位置与权限、创建挂载点/mnt/kylin、执行sudo mount -o loop命令挂载,再通过mount | grep kylin和ls验证挂载成功及内容完整性。

在银河麒麟服务器版中,需通过命令行将ISO镜像挂载为只读文件系统,才能访问其中的Packages、repodata等目录,这是配置本地YUM源或提取安装包的前提步骤。
确认ISO文件位置与权限
先用ls命令确认ISO文件已上传到目标路径,例如:ls -lh /home/iso/Kylin-Server-V10-SP3-2403-Release-x86_64.iso。若提示“No such file or directory”,说明文件未就位,需先用scp或rsync传入;若显示权限为-rw-------且属主不是当前用户,后续mount会失败,此时应执行sudo chown $USER:$USER /home/iso/*.iso修正归属。
这一步不能跳过,【ISO文件必须对执行mount命令的用户可读,否则loop设备无法加载】。
创建挂载点目录
运行sudo mkdir -p /mnt/kylin。-p参数会自动创建父目录,避免因/mnt不存在而报错。
不要复用已有内容的目录(如/mnt/iso下已有其他挂载),否则ls时会看到混合内容,干扰验证。
执行挂载操作
方法一:基础挂载(推荐新手)
直接执行sudo mount -o loop /home/iso/Kylin-Server-V10-SP3-2403-Release-x86_64.iso /mnt/kylin。该命令隐式指定-t iso9660类型,适用于所有标准麒麟ISO。
方法二:显式指定文件系统类型(排错用)
当遇到“wrong fs type”错误时,改用sudo mount -t iso9660 -o loop /home/iso/*.iso /mnt/kylin。此写法强制内核按ISO 9660规范解析,绕过自动识别失败场景。
挂载成功后终端会静默返回,不输出任何信息——这是正常现象。若出现“mount: /mnt/kylin: WARNING: source write-protected, mounted read-only”,无需处理,ISO本就是只读介质。
验证挂载结果
第一步:检查挂载记录
运行mount | grep kylin,应看到类似/home/iso/Kylin-Server-V10-SP3-2403-Release-x86_64.iso on /mnt/kylin type iso9660 (ro,relatime)的输出,其中ro表示只读挂载成功。
第二步:浏览内容
执行ls /mnt/kylin/Packages/ | head -n 2,应列出两个.rpm包名(如kernel-*.rpm、glibc-*.rpm);再运行ls /mnt/kylin/repodata/ | grep primary.xml.gz,必须返回该文件名——缺少repodata会导致后续YUM源配置失效。
第三步:测试读取权限
用sudo -u nobody ls /mnt/kylin/repodata/模拟非特权用户访问,若报“Permission denied”,说明目录权限不足,需补sudo chmod 755 /mnt/kylin。
卸载ISO镜像
当不再需要访问镜像内容时,执行sudo umount /mnt/kylin。注意是umount,不是unmount——拼错会导致命令未找到。
若提示“device is busy”,说明有终端正位于/mnt/kylin内,或有进程在读取该路径。先执行lsof +D /mnt/kylin查占用进程,kill掉后再卸载。











