银河麒麟系统“APT源被锁定”报错本质是文件不可变属性(+i)与kylin-sources-manager服务自动还原共同导致,需依次解除chattr锁、停用并禁用该服务、切换匹配版本的mirrors.kylinos.cn源、清理缓存及修复dpkg状态。

银河麒麟系统执行更新时弹出“APT源被锁定”“无法修改sources.list”“错误代码0006/0115”“Failed to download metadata”等报错,本质是软件源配置、系统防护机制或依赖状态异常所致,不是单纯网络问题。直接跳过诊断盲目重试,可能让状态进一步恶化。
解除/etc/apt/sources.list不可变属性
银河麒麟V10默认用chattr +i给sources.list加锁,防止恶意篡改——但这也拦住了你手动修复错误源的权限。
第一步:检查是否真被锁住:sudo lsattr /etc/apt/sources.list
若输出含字符(如----i---------e-----),说明文件已被设为不可修改,必须先解除才能编辑。
执行解除命令:sudo chattr -i /etc/apt/sources.list
注意:【/etc/apt/sources.list.d/目录下所有.list文件也需同步解除】,否则改完主文件,新源仍被覆盖——运行:sudo chattr -i /etc/apt/sources.list.d/*.list
验证是否生效:再次运行sudo lsattr /etc/apt/sources.list,确认i标志已消失。
停掉kylin-sources-manager自动还原服务
即使你成功改了sources.list,后台的kylin-sources-manager服务也会在几秒内检测到变更,并强行还原成原始配置——这是用户反复修改失败却找不到原因的关键。
方法一:临时停止服务
sudo systemctl stop kylin-sources-manager
方法二:永久禁用开机自启(推荐)
sudo systemctl disable kylin-sources-manager
验证服务是否真正退出:systemctl is-active kylin-sources-manager,返回inactive才算生效。
切换至可用镜像源并刷新索引
旧源archive.kylinos.cn部分路径已下线,当前有效主镜像为mirrors.kylinos.cn,且必须匹配你的系统版本(如V10 SP1/SP2)和架构(x86_64/arm64)。
备份原配置:sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
写入SP1 2403版本官方源(x86_64):
echo "deb https://mirrors.kylinos.cn/kylin/V10-SPT2/main/x86_64/ main universe multiverse restricted" | sudo tee /etc/apt/sources.list
清空旧缓存并强制重拉元数据:sudo rm -rf /var/lib/apt/lists/* && sudo apt clean && sudo apt update
这一步会暴露真实问题:若仍报Hash Sum mismatch或Failed to fetch,说明源地址与当前系统版本不匹配,需核对V10-SPT2是否对应你的SP版本号。
修复损坏依赖与中断包状态
更新中断会在dpkg数据库里留下half-configured、triggers-awaited等残缺状态,不清理就无法继续任何apt操作。
强制重配所有未完成安装的包:sudo dpkg --configure -a
修复破损依赖:sudo apt --fix-broken install -y
解除被锁定的包(常见于升级中途强制退出):sudo apt-mark unhold $(apt-mark showholds 2>/dev/null || echo "")
最后执行一次完整刷新:sudo apt update && sudo apt upgrade

















