西藏自治区网站建设_网站建设公司_原型设计_seo优化
2026/1/17 7:47:12 网站建设 项目流程

零基础也能搞定:树莓派更新失败?一文教你彻底解决

你有没有遇到过这种情况:刚给树莓派接上电源,SSH 连进去想先sudo apt update更新一下系统,结果命令卡了半天,最后蹦出一行红字:

Err:1 http://archive.raspbian.org/raspbian bullseye InRelease Could not connect to archive.raspbian.org:80 (93.93.253.167). Connection timed out

或者更糟的:

E: Failed to fetch http://archive.raspberrypi.org/debian/pool/ui/m/minecraft-pi/minecraft-pi_0.6.1~buster_armhf.deb Hash Sum mismatch

别急——这根本不是你的错。绝大多数“树莓派更新失败”的问题,其实和用户操作无关,而是默认源在国外、网络不通、SD卡老化这些“环境因素”在作祟。

这篇文章就是为零基础新手量身打造的实战手册。我们不讲空话套话,只告诉你:
👉为什么更新会失败?
👉怎么一步步排查并修复?
👉如何让以后再也不踩同样的坑?

全程手把手教学,连命令都给你写好了,复制粘贴就能用。


一、先搞清楚:你到底卡在哪一步?

很多人一看到报错就慌了,其实apt updateapt upgrade是两个独立阶段,出问题的地方完全不同。

  • sudo apt update:是“刷新软件列表”,就像手机App Store点“刷新”一样,它不去下载软件,只是看看有哪些新版本。
  • sudo apt upgrade:才是“真正安装更新”,这时候才开始下载.deb包并替换旧文件。

所以你要先判断:
❌ 是update就失败? → 基本是网络或源的问题
⚠️update成功但upgrade失败? → 可能是磁盘空间不足或SD卡损坏

下面我们一个一个来攻破。


二、第一步救命招:换国内镜像源(90%的问题都能解决)

为什么必须换?

树莓派官方源在英国,服务器地址是archive.raspbian.orgarchive.raspberrypi.org。对于国内用户来说,访问它们就像是从北京打电话到伦敦——延迟高、容易断线、速度慢得像蜗牛。

而清华、中科大、阿里云等机构提供了完全同步官方源的国内镜像站,速度快十几倍不说,还稳定得多。

📌 实测数据:原本apt update要 3 分钟甚至超时,换成清华源后只要15 秒完成


手把手教你换源(以清华大学TUNA为例)

✅ 第一步:备份原始配置(防止改坏还能回来)
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo cp /etc/apt/sources.list.d/raspi.list /etc/apt/sources.list.d/raspi.list.bak

⚠️ 千万别跳过这步!出了问题可以靠它恢复。


✅ 第二步:修改主软件源

编辑主源文件:

sudo nano /etc/apt/sources.list

把里面所有内容清空,替换成以下内容:

# 清华大学镜像源 - 主仓库 deb https://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ bullseye main non-free contrib deb-src https://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ bullseye main non-free contrib

📌注意
- 如果你用的是较新的Bookworm 系统(Debian 12),请把bullseye改成bookworm
- 不确定版本?运行这条命令查看:

cat /etc/os-release | grep VERSION_CODENAME

✅ 第三步:修改官方固件源(重要!否则内核不更新)

很多用户只改了上面那个文件,却忘了这个关键步骤!

Raspberry Pi 官方的摄像头驱动、GPU 固件、内核补丁都在另一个源里,路径是:

sudo nano /etc/apt/sources.list.d/raspi.list

同样,清空原内容,改为:

# 清华大学镜像源 - 官方扩展库 deb https://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ bullseye main

📌 同样记得根据系统版本调整bullseyebookworm


✅ 第四步:清理缓存 + 重新拉取索引
sudo apt clean # 清除旧的下载缓存 sudo apt update # 再次尝试更新软件列表

✅ 如果你现在看到一堆绿色的HitGet,说明成功了!


三、如果换了源还是不行?继续往下查

有时候即使换了源,依然报错。这时候就要深入排查了。

❌ 情况1:提示 “Could not resolve hostname”

错误示例:

Temporary failure resolving 'mirrors.tuna.tsinghua.edu.cn'

这是典型的DNS 解析失败,也就是树莓派不知道这个域名对应哪个IP地址。

解决方法:手动设置可靠 DNS

编辑网络配置文件:

sudo nano /etc/dhcpcd.conf

在文件末尾添加一行:

static domain_name_servers=223.5.5.5 8.8.8.8

保存后重启网络服务:

sudo systemctl restart dhcpcd

再测试是否能解析:

nslookup mirrors.tuna.tsinghua.edu.cn

如果返回了IP地址,说明DNS已通。


❌ 情况2:提示 “Hash Sum mismatch” 或 “Corrupted download”

这种错误通常是因为中途网络中断导致文件没下全,但APT以为完整,校验时发现不对。

解决方法:清除缓存重试
sudo apt clean sudo rm -rf /var/lib/apt/lists/* sudo apt update

💡 原理:apt clean删除已下载的包,rm -rf lists强制删除索引缓存,相当于“强制刷新”。


❌ 情况3:提示 “Unable to write to /var/cache/apt/” 或 I/O 错误

典型表现是:

E: Could not open file /var/cache/apt/pkgcache.bin - open (30: Read-only file system)

或者终端里频繁出现:

[ 123.456789] EXT4-fs error (device mmcblk0p2): ...

这说明你的SD卡已经损坏或进入只读模式

怎么办?

先检查磁盘使用情况:

df -h

如果根分区/使用率接近 100%,也可能导致写入失败。你可以临时清理日志:

sudo journalctl --vacuum-time=7d # 删除7天前的日志 sudo apt autoremove # 卸载无用依赖

但如果反复出现 I/O 错误,建议立即执行文件系统检查:

sudo fsck /dev/mmcblk0p2

⚠️ 注意:这个命令最好在未挂载状态下运行。如果你不确定,可以用树莓派官方镜像卡启动,在PC上挂载后扫描。

📌终极建议
不要再用廉价 SD 卡了!推荐使用:
- SanDisk Extreme Pro
- Samsung EVO Plus
- 或直接升级到USB 3.0 SSD 启动,寿命和性能提升十倍不止。


❌ 情况4:GPG签名错误(NO_PUBKEY)

错误信息类似:

W: GPG error: https://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian bullseye InRelease: The following signatures couldn't be verified: NO_PUBKEY 9165938D90FDDD2E

说明系统缺少验证软件包的公钥。

解决方案(适用于 Debian 11 及以下):
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 9165938D90FDDD2E

📌 但注意:从 Debian 12(Bookworm)开始,apt-key已被弃用!

正确做法是手动下载并安装密钥:

# 下载公钥(以Raspberry Pi基金会为例) sudo curl -fsSL https://archive.raspberrypi.org/debian/archive.key -o /etc/apt/trusted.gpg.d/raspberrypi.gpg

然后再次运行sudo apt update


四、进阶技巧:让你的树莓派更稳定

解决了眼前问题还不够,我们要做到“防患于未然”。

🔧 技巧1:启用自动安全更新(适合长期运行设备)

安装自动升级工具:

sudo apt install unattended-upgrades

启用配置:

sudo dpkg-reconfigure unattended-upgrades

选择Yes,系统就会定期自动下载并安装安全补丁。


🔧 技巧2:减少SD卡写入次数(延长寿命)

频繁写日志会加速SD卡老化。推荐安装log2ram,把日志写入内存:

sudo wget https://raw.githubusercontent.com/azlux/log2ram/master/install.sh | sudo bash

重启后,日常日志将不再写入SD卡,而是暂存在RAM中,每天定时同步一次。


🔧 技巧3:使用静态IP + SSH密钥登录

每次找IP太麻烦?设个静态IP吧!

编辑:

sudo nano /etc/dhcpcd.conf

在底部加:

interface wlan0 static ip_address=192.168.1.100/24 static routers=192.168.1.1 static domain_name_servers=223.5.5.5

(如果是有线网卡,把wlan0改成eth0

再配合 SSH 密钥免密登录,以后维护方便多了。


五、总结:一张表帮你快速定位问题

报错关键词可能原因解决办法
Connection timed out/Failed to connect网络不通、源太远换清华/中科大镜像源
Could not resolveDNS 解析失败设置223.5.5.58.8.8.8
Hash Sum mismatch下载中断apt clean && rm -rf /var/lib/apt/lists/*
Read-only file systemSD卡损坏检查dmesg日志,考虑更换
NO_PUBKEY缺少GPG公钥手动导入或下载.gpg文件
No space left on device磁盘满了清理日志、卸载不用软件

最后一点真心话

树莓派本身没有那么难用,难的是没人告诉你“原来这个问题只需要改两行配置就能解决”。

你看,今天你学会的不只是“怎么换源”,更是一套完整的故障排查思维
1. 先看错误发生在哪一步;
2. 对照常见模式匹配原因;
3. 逐层排除底层依赖(网络→DNS→存储);
4. 最后加上预防措施,一劳永逸。

下次再遇到更新失败,别再百度“树莓派 update 出错”了。
打开这篇笔记,按图索骥,十分钟内一定搞定。

如果你觉得有用,欢迎分享给身边正在被树莓派折磨的朋友。
也欢迎在评论区留言你遇到的具体报错,我们一起解决。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询