银河麒麟系统下载软件包报错需逐层排查:先确认系统版本(如v10.1/sp2)与镜像源适配性,再核对架构(aarch64/amd64),接着导入对应gpg密钥(推荐keyring方式),然后清理并重建apt缓存,最后可通过图形界面或离线iso构建本地源。

银河麒麟系统从清华、阿里云等第三方镜像站下载软件包时出现“404 Not Found”“Signature verification failed”“Failed to fetch”或“Hash Sum mismatch”,说明源地址配置与当前系统版本、架构或签名机制不匹配,必须逐层验证并修正。
确认系统版本与镜像源适配性
第一步:打开终端,执行以下命令查看准确版本号:cat /etc/os-release | grep -E "(VERSION|VERSION_ID|VARIANT_ID)"
第二步:核对输出中VERSION_ID="10.1"或VARIANT_ID="SP2"等字段——【清华源仅适配V10 SP1/SP2,阿里云源支持V10.1但需额外启用kylin-10.1仓库】;若显示V10.1且未在源中显式声明该版本,直接使用V10源会导致全部包路径404。
第三步:检查架构是否一致,运行uname -m;输出为aarch64却用了amd64源,所有deb包将无法解析。
修复签名验证失败(Signature verification failed)
方法一:导入镜像站官方GPG密钥
清华镜像需执行:wget -qO - https://mirrors.tuna.tsinghua.edu.cn/kylin-appstore/kylin/public.key | sudo apt-key add -
阿里云镜像需执行:curl -fsSL http://mirrors.aliyun.com/kylin/kylin/public.key | sudo apt-key add -
方法二:改用现代keyring方式(推荐,避免apt-key弃用警告)
先创建密钥目录:sudo mkdir -p /usr/share/keyrings
再下载并安装密钥:sudo wget -O /usr/share/keyrings/kylin-tuna-archive-keyring.gpg https://mirrors.tuna.tsinghua.edu.cn/kylin-appstore/kylin/public.key
最后在sources.list中将源行改为:deb [arch=amd64 signed-by=/usr/share/keyrings/kylin-tuna-archive-keyring.gpg] https://mirrors.tuna.tsinghua.edu.cn/kylin-appstore/kylin v10 main
注意:旧版apt-key添加的密钥可能残留冲突,执行sudo apt-key list | grep -A1 kylin确认无重复条目,有则用sudo apt-key del KEYID删除。
解决Hash Sum mismatch与元数据损坏
这一步必须做,否则后续所有update都会反复报错:sudo rm -rf /var/lib/apt/lists/*
然后强制刷新并忽略临时校验错误:sudo apt update --fix-missing
如果仍提示“Hash Sum mismatch”,说明本地缓存与远程索引严重不一致——此时不能跳过清理,【必须删除整个lists目录,否则apt会持续复用损坏的Packages文件】。
执行完后立即验证:apt list --upgradable,若返回正常列表而非错误,则修复成功。
图形界面一键切换源(免命令行)
点击【开始菜单】→【控制中心】→【软件和更新】→【下载自】→点击下拉框
选择“中国科学技术大学”或“阿里云”(清华源未内置在图形界面选项中)
点击【关闭】→弹窗提示“是否重新载入软件包信息?”→选【重新载入】
这一步会自动完成源地址替换、密钥导入与索引重建,适合不熟悉终端的用户;但若此前手动修改过sources.list,图形界面操作会覆盖全部内容,【请确保已备份原文件】。
离线环境挂载ISO构建本地源
适用于涉密内网或断网测试机:sudo mkdir -p /mnt/kylin-local
sudo mount -o loop ~/Kylin-Desktop-V10-SP2-2506-Release-20260618-x86_64.iso /mnt/kylin-local
编辑源文件:sudo nano /etc/apt/sources.list,清空后写入:deb file:///mnt/kylin-local kylin main non-free contrib
保存退出后执行:sudo apt update











