Technical Anshu 主页 › 教程 › 修复 apt-get 更新
🐧 Ubuntu apt 修复

修复 apt-get update 不工作的问题

sudo apt update 在 Ubuntu 上失败?输出的最后几行指出了真正的原因 - 时钟错误、存储库报废、PPA 损坏、GPG 密钥丢失或锁。本指南展示了如何读取错误并仅修复有罪的来源。

✍️ Technical Anshu🐧 Ubuntu / Linux🎧 Multi-Language Audio
修复 apt-get update 不工作的问题
🎧 多语言音频: 在视频播放器中,点击 [设置] (⚙️) ➔ [音频轨道] 选择您的首选语言。

📑章节

  • 运行 sudo apt update 并阅读最后几行 - 它们指出了真正的原因
  • 时钟错误 - “发布文件尚未生效”错误
  • 网络和 DNS - 这台电脑能否访问 archive.ubuntu.com?
  • 在编辑任何内容之前备份源文件
  • 生命周期终止存储库 - 已离开主存档的版本
  • PPA 损坏 - 一个不良的第三方源停止了整个更新
  • 缺少 GPG 密钥 - NO_PUBKEY 错误
  • 锁 - 另一个包进程已在运行
  • 📋 概述和分步指南

    1

    运行更新并阅读最后几行

    首先运行更新并正确读取输出 - 从底部开始。大多数行都是好消息:Hit 表示源回答良好,Get 表示下载了新的软件包列表。只有两种行很重要:中间的 Err 行,以及最后以 E: 或 W: 开头的摘要行。最后两三行用简单的语言指出了一个损坏的源及其原因。

    __完整代码块0__
    2

    检查时钟

    两次 30 秒检查中的第一次。每个 Ubuntu 存储库都会发布一个签名的 Release 文件,上面印有创建时间和有效日期,并且 apt 会根据您的 PC 时钟检查该标记。如果时钟错误 - CMOS 电池没电和双启动机器经常这样做 - apt 会拒绝该文件,并显示发布文件尚未生效,甚至会倒计时要等待的时间。运行date并与您的手机进行比较;错误的年份、月份甚至几个小时都算在内。

    __完整代码块1__
    3

    检查网络和 DNS

    第二次 30 秒检查:这台电脑是否可以访问 Ubuntu 存档?如果此命令打印 IP 地址,则名称解析有效并且网络路径处于活动状态。如果它没有打印任何内容,则故障在于网络或 DNS - 没有一个存储库有问题,并且在连接修复之前编辑源文件将无济于事。

    __完整代码块2__
    4

    在编辑任何内容之前备份源文件

    剩下的修复可能涉及告诉 apt 从哪里下载的文件:/etc/apt/sources.list 以及 /etc/apt/sources.list.d/ 中的每个源文件。在任一位置更改一行之前,请将原始文件的副本保存在安全的地方,这样错误的编辑始终可以通过放回副本来撤消。

    ⚠️ 仔细编辑 - 错误的编辑会进一步破坏更新。每一行都带有一个特定 Ubuntu 版本的版本代号。如果一行指向的版本与已安装的版本不同,则 apt 会混合两个版本并且错误会成倍增加;删除条目会删除您仍然需要的源。仅更改或禁用错误命名的一个有罪条目 - 没有其他。
    5

    修复生命周期结束的存储库

    如果错误表明存储库没有发布文件 - 通常带有 404 - 对于一个 Ubuntu 版本的每一行,该版本已达到其生命周期的终点,并且其软件包已从主存档中移出。 apt 正在报告真相:该地址不再有任何内容。

    诚实的修复有两个。真正的方法是将机器升级到受支持的 Ubuntu 版本。保留选项是仅将旧版本的行指向 Ubuntu 的旧版本存档 (old-releases.ubuntu.com),这会保持旧版本可用 - 对于再次更新 PC 很有用,而不是永远保持不受支持的系统安全的方法。切勿用从互联网上复制的随机文件替换整个源文件;它将带有错误的代号和错误的来源。

    6

    修复损坏的 PPA 或丢失的 GPG 密钥

    PPA 是您之前添加的第三方源或教程,并且一个已失效的 PPA(其所有者停止为您的版本发布,或者 PPA 已被删除)会导致整个运行失败,即使每个 Ubuntu 源都正常。该错误指出了 PPA 的地址。仅禁用或删除该 PPA 条目(/etc/apt/sources.list.d/ 中其自己的文件,或“其他软件”下“软件和更新”中的条目),并保持其他所有内容不变。

    另一个签名问题读取 NO_PUBKEY 后跟密钥 ID:存储库很好,但您的 PC 尚不信任其签名密钥。解决方法是添加该存储库的密钥,该密钥仅取自存储库自己的官方页面 - 签名密钥决定您的 PC 信任的内容,因此切勿从随机下载站点导入密钥。

    📌 对于某些错误,apt 建议使用 --allow-insecure-repositories 运行。最多将其视为临时诊断,而不是修复:它会关闭保护您的签名检查,因此真正的修复始终是密钥或存储库本身。
    7

    锁 - 等待其他进程

    无法获取锁定表示软件包系统正忙,但没有损坏。一次只有一个程序可以写入程序包数据库,消息本身会命名持有锁的进程 - 在经常进行无人值守升级(自动安全更新程序执行其计划运行)的普通桌面上、打开的软件更新程序窗口或另一个终端上。等待几分钟,让它完成,然后再次运行 sudo apt update ;大多数锁定错误会自行清除。

    ⚠️ 当包进程可能仍在运行时,切勿删除锁定文件(例如在 /var/lib/dpkg/ 或 /var/lib/apt/lists/ 下)。锁文件不是问题——它们是队列票。删除它们可以让两个写入者同时进入数据库,这就是无害的消息如何变成真正的包系统损坏的原因。

    无论哪种原因导致您的错误,都以相同的方式完成:仅修复一件事,再次运行 sudo apt update ,并确认它完成且末尾没有 E: 行。

    🏷️Topic Search Variables & Keywords

    🔍 Ubuntu 🔍 AptUpdate 🔍 Linux 🔍 TechnicalAnshu 🔍 ITAdmin 🔍 Troubleshooting 🔍 sudo apt update 🔍 apt-get update not working 🔍 sources.list 🔍 NO_PUBKEY 🔍 PPA Error 🔍 Release file not valid yet 🔍 Ubuntu Update Failed
    🎙️ 完整文字记录 — 点击展开

    分步故障排除指南和解决方案 - 不起作用?试试这个。技术安叔屏幕演示。

    sudo apt update 在 Ubuntu 上失败?输出的最后几行指出了真正的原因 - 时钟错误、存储库报废、PPA 损坏、GPG 密钥丢失或锁。本指南展示了如何读取错误并仅修复有罪的来源。

    (源页面上的文字记录到此结束 - 观看上面的视频以了解完整的演练。)

    ❓ 常见问题(英文)

    本教程 100% 免费学习吗?

    是的!技术安数演示的所有指南和方法均使用免费、合法的教育资源。

    初学者可以遵循本指南吗?

    绝对是!每个步骤都在屏幕上演示并附有详细说明,以便任何人都可以轻松遵循。

    如果遇到困难我可以在哪里提问?

    直接在 YouTube 视频上发表评论,我们的社区和技术安树将为您提供帮助。

    🚀 在 YouTube 上观看完整教程

    🚀 在 YouTube 上观看完整的分步视频教程:https://www.youtube.com/watch?v=rAWEvloS-Bw

    订阅技术安数以获取 IT 支持、Windows 故障排除和服务器管理。

    ▶️ 观看完整视频
    本教程基于技术安叔的修复apt-get更新不工作视频 • 卡在任何步骤上?在视频评论中提问——你会在那里得到帮助🙏