news 2026/4/3 0:44:59

零基础也能懂:树莓派更新指令出错的解决方法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
零基础也能懂:树莓派更新指令出错的解决方法

树莓派更新失败?别慌!手把手教你从零排查,连小白都能搞定

你有没有试过在树莓派上敲下那句熟悉的命令:

sudo apt update

结果等来的不是“正在获取索引”,而是一堆红字错误提示?

“Could not resolve host”
“404 Not Found”
“NO_PUBKEY XXXXXXXX”

别急——这不是你的操作错了,也不是树莓派“坏了”。这是每个用过树莓派的人都踩过的坑。好消息是:这些问题99%都可以自己解决,而且一旦学会,以后再也不怕。

今天我们就来彻底拆解这个看似复杂的问题。不讲术语堆砌,不甩文档复制,只说人话、干实事。哪怕你是第一次接触Linux,也能跟着一步步修好它。


一、先搞清楚:为什么apt update会失败?

我们每天都在用手机App自动更新,为什么树莓派的“软件升级”就这么容易出错?

其实,apt update背后远比你想象中复杂。它不是简单地“联网下载新版本”,而是要完成以下几步:

  1. 确认网络通畅
  2. 把域名变成IP地址(DNS解析)
  3. 连接到正确的软件仓库服务器
  4. 验证对方身份是否可信(GPG签名)
  5. 下载最新的软件列表并缓存

只要其中任何一步卡住,终端就会报错。但关键问题是:错误信息往往很模糊,比如“无法获取文件”或“主机名无法解析”,根本看不出到底是网没连上,还是源写错了。

所以我们的策略很明确:按流程逐项排查,像医生问诊一样一步一步排除病因


二、第一步:检查网络能不能通?这是最基础也最容易被忽略的!

先做个快速自检

打开终端,输入:

ping -c 4 8.8.8.8

如果看到类似这样的输出:

64 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=32ms ... --- 8.8.8.8 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss

✅ 恭喜!说明你的树莓派已经接入互联网,物理连接正常。

但如果显示:

connect: Network is unreachable

或者全是超时(timeout),那就得回头看看是不是:

  • 网线没插紧?
  • Wi-Fi密码输错了?
  • 路由器断了?

🛠️ 小技巧:如果你用的是桌面版系统,可以直接点击右上角网络图标查看当前连接状态;如果是纯命令行模式,可以用:

bash ip a

查看是否有分配到 IP 地址(通常以inet 192.168.x.x开头)。


三、第二步:能上网 ≠ 能解析域名!DNS才是隐形杀手

有时候你能ping 8.8.8.8成功,但apt update还是失败。这时候问题很可能出在DNS 解析上。

举个例子:

你想访问mirrors.tuna.tsinghua.edu.cn,但系统不知道它对应哪个IP。这就需要 DNS 服务器帮忙翻译。如果这个“翻译官”失灵了,哪怕你网速飞快,也打不开任何一个网站。

怎么判断是不是 DNS 的锅?

运行这条命令:

nslookup mirrors.tuna.tsinghua.edu.cn

如果返回了具体的 IP 地址(比如101.6.8.193),那没问题。

但如果出现:

Server: 192.168.1.1 Address: 192.168.1.1#53 ** server can't find mirrors.tuna.tsinghua.edu.cn: NXDOMAIN

说明 DNS 解析失败。

解决方法:换一个靠谱的 DNS

编辑 DNS 配置文件:

sudo nano /etc/resolv.conf

在里面加上这两行:

nameserver 8.8.8.8 nameserver 114.114.114.114

保存退出(Ctrl+O → 回车 → Ctrl+X)。

现在再试一次nslookup,应该就能成功解析了。

💡 提示:这两个是公共 DNS:
-8.8.8.8是 Google 提供的
-114.114.114.114是国内用户常用的干净 DNS

改完之后建议重启网络服务:

sudo systemctl restart dhcpcd

然后再试试apt update—— 很可能你会发现,之前卡住的地方竟然通过了!


四、第三步:源地址写错?版本对不上?这才是最常见的“404”元凶

当你看到这样的错误:

Failed to fetch http://raspbian.raspberrypi.org/raspbian/dists/bookworm/InRelease 404 Not Found

别怀疑人生,这几乎可以肯定是:你用的操作系统版本和软件源代号不匹配

树莓派OS有多个版本,千万别混用!

现在的主流系统是Bookworm(代号 bookworm),之前的叫 Bullseye、Buster……

它们的软件包结构完全不同,不能互相替代。如果你的系统是 Bookworm,却用了 Buster 的源,自然会报 404。

如何查清自己系统的版本?

运行:

cat /etc/os-release

重点看这两行:

VERSION_CODENAME=bookworm PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"

记住这里的bookworm,接下来配源必须一致。


推荐方案:换成国内镜像源,速度快还稳定!

默认的国外源经常抽风,尤其在国内访问特别慢,甚至直接连不上。强烈建议换成清华大学或中科大的镜像站。

✅ 清华大学 TUNA 镜像源配置(适用于 Bookworm)

备份原配置(重要!防止改坏):

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

清空并重写主源文件:

sudo tee /etc/apt/sources.list << 'EOF' deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ bookworm main contrib non-free deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ bookworm main contrib non-free EOF

同时修改官方硬件支持源(用于GPIO驱动等):

sudo tee /etc/apt/sources.list.d/raspi.list << 'EOF' deb http://archive.raspberrypi.com/debian/ bookworm main EOF

⚠️ 注意:这里两处都写了bookworm,一定要和你自己系统的版本一致!


五、第四步:GPG密钥缺失?别怕,一键导入就搞定

换了源之后,执行apt update可能还会报错:

NO_PUBKEY B16K5324F1E1D901

意思是:“我不知道这个软件源是不是真的,不敢信。”

这就是 GPG 密钥验证机制在起作用——它是安全防护的一道门卫。虽然烦人,但非常必要。

怎么补上这个“通行证”?

以前的做法是用apt-key add,但现在这种方式已经被淘汰了,因为不够安全。

✅ 正确做法(符合现代标准):
curl -fsSL https://archive.raspberrypi.com/debian/archive.key | sudo gpg --dearmor -o /usr/share/keyrings/raspberrypi-archive-keyring.gpg

这条命令做了三件事:

  1. 从官网下载签名密钥
  2. 用 GPG 工具加密处理成系统可识别格式
  3. 存入信任目录

这样 APT 就知道:“哦,这个源是官方认证的,可以信任。”


六、最后一步:清理缓存,重新同步

前面改了源、换了DNS、加了密钥,现在需要让系统“刷新记忆”。

执行:

sudo apt clean sudo apt update

如果一切顺利,你会看到满屏绿色的“Hit”和“Get”,最后跳出:

All packages are up to date.

🎉 成功了!你可以放心进行下一步升级:

sudo apt upgrade

七、常见错误对照表:对号入座,快速修复

错误现象原因分析解决办法
Temporary failure resolving 'xxx'DNS 解析失败/etc/resolv.conf,添加 8.8.8.8
404 Not Found源地址或版本代号错误检查 OS 版本,更换正确镜像源
NO_PUBKEY ABCDEF1234567890缺少 GPG 公钥使用curl \| gpg --dearmor导入
Hash Sum mismatch下载数据损坏执行apt clean,换网络环境或镜像
Unable to locate package xxx包名拼错 or 源里没有apt search xxx查找,确认组件包含

八、几个实用建议,让你少走弯路

  1. 永远先备份再修改
    sources.list前一定要备份:
    bash sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

  2. 优先选择国内镜像
    推荐使用:
    - 清华大学:https://mirrors.tuna.tsinghua.edu.cn
    - 中科大:https://mirrors.ustc.edu.cn
    - 阿里云:https://mirrors.aliyun.com

  3. 不要混用不同版本的源
    比如不要在一个配置里同时写busterbookworm,会导致依赖混乱。

  4. 保持时间准确
    GPG 验证依赖时间戳。如果系统时间差太多,也会失败。可用以下命令同步时间:
    bash sudo timedatectl set-ntp true

  5. 新手也可以图形化操作
    如果实在不想碰命令行,可以在“开始菜单 → Preferences → Add/Remove Software”中点击“Refresh”来间接触发更新。


写在最后:每一次报错,都是成长的机会

刚开始玩树莓派时,我也被这些红字吓得不敢动。后来才明白,Linux 最强大的地方就在于透明:它不会偷偷崩溃,而是告诉你哪里出了问题。

apt update出错不可怕,可怕的是不去理解背后的原因。当你掌握了网络、DNS、软件源、密钥这四个核心概念,你就不再是一个只会照抄命令的新手,而是一名真正能独立解决问题的开发者。

下次再遇到更新失败,请深呼吸,然后问自己四个问题:

  1. 网络通吗?
  2. DNS 能解析吗?
  3. 源地址写对了吗?
  4. 密钥导入了吗?

按顺序走一遍,99%的问题都会迎刃而解。

如果你在实操中遇到了本文没覆盖的情况,欢迎留言讨论。我们一起把这条路走得更稳、更远。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/1 2:38:40

多文件编译如何生成单一可执行文件:实例说明

从零开始理解多文件编译&#xff1a;如何用多个.c文件生成一个可执行程序&#xff1f;你有没有过这样的疑问&#xff1a;为什么我的项目里有十几个.c文件&#xff0c;最后却只生成了一个app可执行文件&#xff1f;这些文件是怎么“拼”在一起的&#xff1f;如果某个函数在另一个…

作者头像 李华
网站建设 2026/3/23 6:58:58

EPUBCheck:终极EPUB电子书质量检测工具完整指南

EPUBCheck&#xff1a;终极EPUB电子书质量检测工具完整指南 【免费下载链接】epubcheck The conformance checker for EPUB publications 项目地址: https://gitcode.com/gh_mirrors/ep/epubcheck EPUBCheck是由W3C维护的开源项目&#xff0c;专门用于验证EPUB电子书文件…

作者头像 李华
网站建设 2026/4/2 23:24:42

PCSX2模拟器终极配置指南:轻松搞定PS2游戏畅玩体验 [特殊字符]

PCSX2模拟器终极配置指南&#xff1a;轻松搞定PS2游戏畅玩体验 &#x1f3ae; 【免费下载链接】pcsx2 PCSX2 - The Playstation 2 Emulator 项目地址: https://gitcode.com/GitHub_Trending/pc/pcsx2 还在为复杂的PS2模拟器配置而头疼吗&#xff1f;想要重温《战神》、《…

作者头像 李华
网站建设 2026/4/1 21:16:15

新手教程:认识Arduino Uno硬件最小系统构成

从零理解 Arduino Uno&#xff1a;一块开发板背后的硬件真相你有没有想过&#xff0c;为什么插上 USB 线&#xff0c;Arduino Uno 就能“活”起来&#xff1f;为什么写几行setup()和loop()的代码&#xff0c;就能控制 LED、读取传感器、驱动电机&#xff1f;大多数人只关心“怎…

作者头像 李华
网站建设 2026/3/26 10:50:43

MICRONE微盟 ME6206B18XG SOT-23 线性稳压器(LDO)

特性最大输出电流&#xff1a;250mA&#xff08;VIN 4.3V&#xff0c;VOUT 3.3V&#xff09;压差&#xff1a;100mA时为0.2V&#xff0c;200mA时为0.4V&#xff08;VOUT 3.3V&#xff09;输入电压范围&#xff1a;最高5.5V高精度&#xff1a;2%低功耗&#xff1a;7uA&#x…

作者头像 李华
网站建设 2026/3/29 1:35:54

探索Yaade:5个理由让你爱上这款自主托管的API开发环境

探索Yaade&#xff1a;5个理由让你爱上这款自主托管的API开发环境 【免费下载链接】yaade Yaade is an open-source, self-hosted, collaborative API development environment. 项目地址: https://gitcode.com/gh_mirrors/ya/yaade 在当今数字化时代&#xff0c;API开发…

作者头像 李华