先确认并删除损坏ppa源文件,再清除对应gpg密钥,最后清理缓存并验证:执行ls /etc/apt/sources.list.d/定位xxx-ppa.list,sudo rm删除;用apt-key list筛选可疑密钥后sudo apt-key del指纹;再sudo apt clean && sudo apt autoclean,sudo apt update --allow-insecure-repositories --fix-missing,确保末尾显示reading package lists... done且无w:/e:错误。

确认损坏PPA源的具体位置
先执行 ls /etc/apt/sources.list.d/ 查看所有第三方源文件,常见命名如 deadsnakes-ppa.list、ubuntukylin-members-ubuntukylin.list 或带 ppa 字样的文件。注意不要误删 kylin-*.list 这类官方扩展源。
删除PPA源配置文件
找到对应文件后,用 sudo rm /etc/apt/sources.list.d/xxx-ppa.list 直接删除。例如删除 deadsnakes 源:sudo rm /etc/apt/sources.list.d/deadsnakes-ppa.list。
这一步必须执行,否则 apt update 仍会尝试连接已失效的服务器并报 GPG 错误或 404。
清除残留GPG密钥
方法一:列出所有第三方密钥
执行 apt-key list | grep -A1 "pub.*2048R\|pub.*4096R",观察输出中带有可疑注释(如“deadsnakes”“Ubuntu Kylin”“Launchpad”)或过期时间早于2024年的条目。
方法二:精准删除指定密钥
若已知密钥指纹(如 deadsnakes 的 1E963D5B),运行:sudo apt-key del 1E963D5B。
【不建议直接执行 apt-key del --all】,该命令会清空全部密钥,包括系统级可信源(如麒麟官方、清华源),导致后续 apt update 大量报 GPG error。
清理APT缓存并验证
第一步:清空本地包索引缓存sudo apt clean && sudo apt autoclean。
第二步:强制刷新源列表,跳过已删除源的校验sudo apt update --allow-insecure-repositories --fix-missing。
第三步:检查输出末尾是否出现 Reading package lists... Done 且无红色 W: 或 E: 开头的警告行。若仍有 Failed to fetch,说明还有残留源未删净,需返回第一步重新排查 /etc/apt/sources.list.d/ 目录。











