升级和回滚树莓派系统

系统更新及升级

让你的树莓派保持最新状态很重要。第一个也是最重要的原因是安全性。运行Raspberry Pi OS的设备包含数百万行代码。随着时间的推移,这些数百万行代码将暴露众所周知的漏洞,这些漏洞记录在公开可用的数据库中,这就意味着它们很容易被利用。作为Raspberry Pi OS的用户,预防这些漏洞的唯一方法是让您的软件保持最新,因为上游存储库会密切跟踪CVE并尝试快速缓解它们。

与第一个原因相关的第二个原因是,您在设备上运行的软件肯定包含错误。一些错误被记录在CVE中(CVE 的英文全称是“Common Vulnerabilities & Exposures”通用漏洞披露),但还有一些bug仅影响所需的功能,与安全无关。通过使您的软件保持最新,您可以降低遇到这些错误的机会。

APT

管理安装、升级和删除软件的最简单方法是使用Debian的APT(高级打包工具)。要更新Raspberry Pi OS中的软件,您可以从终端窗口使用apt工具。

树莓派系统将apt的软件源列表保存在/etc/apt/sources.list文件中。在安装软件之前,您应该使用apt update更新软件包列表。继续,打开终端窗口并键入:

sudo apt update

接下来,使用以下命令将所有已安装的软件包升级到最新版本:

sudo apt full-upgrade

注意:在树莓派中内核以及固件均被做成deb安装包安装在系统内,运行此命令将同时会将内核版本和固件升级到最新版本。

请注意,full-upgrade优先于upgrade,因为它还会拉取可能已进行的任何依赖项更改。
在树莓派deb安装包中会拥有一些依赖包,这些依赖包在使用 full-upgrade 命令时也会一起更新。

一般来说,定期执行此操作将使您的安装保持最新,以适应您正在使用的特定主要Raspberry Pi OS版本(例如Buster)。它不会从一个主要版本更新到另一个版本,例如,Stretch to Buster或Buster to Bullseye。
Buster对应debian10,Bullseye对应debian11

然而,Raspberry Pi OS映像中偶尔会出现需要手动干预的更改,例如新推出的软件包。这些软件包不随升级一起安装,因为此命令仅更新您已安装的软件包。

内核和固件作为Debian包安装,因此在使用上述过程时也会得到更新。这些软件包在经过大量测试后很少更新。

如果将现有SD卡移动到新的Raspberry Pi型号(例如Raspberrry Pi Zero 2 W),您可能还需要首先使用上述说明更新内核和固件。

空间不足

当运行sudo apt full-upgrade时,它将显示将下载多少数据以及将占用SD卡上的空间。值得用df -h检查您是否有足够的可用磁盘空间,apt不会在安装前检查空间是否足够。此外,下载的包文件(.deb文件)保存在/var/cache/apt/archives中。您可以使用sudo apt clean(在apt的旧版本中,sudo apt-get clean)删除这些以释放空间。

建议就用一个大一些的内存卡,防止出现这些奇奇怪怪的错误。

从以前的操作系统版本升级

树莓派支持从以前的镜像升级,但不能保证在任何情况下都能正常工作,这么做有风险。如果确实希望升级操作系统版本,建议首先进行备份 — 树莓派对于更新失败导致的数据丢失,不承担任何责任。

提示:做危险操作的时候就先备份一份系统

树莓派OS的最新版本基于Debian Bullseye。以前的版本基于Buster。如果您想执行从Buster到Bullseye的系统升级(并且您意识到风险),请参阅论坛中的说明

查找软件

通过关键字查找包,这个功能还比较常用,当你想找某些功能的安装包又不知道叫什么名字的时候有奇效。

apt-cache search locomotive
sl - Correct you if you type `sl' by mistake

使用apt-cache show可以在安装软件包之前查看有关该软件包的更多信息:

apt-cache show sl
Package: sl
Version: 3.03-17
Architecture: armhf
Maintainer: Hiroyuki Yamamoto <yama1066@gmail.com>
Installed-Size: 114
Depends: libc6 (>= 2.4), libncurses5 (>= 5.5-5~), libtinfo5
Homepage: http://www.tkl.iis.u-tokyo.ac.jp/~toyoda/index_e.html
Priority: optional
Section: games
Filename: pool/main/s/sl/sl_3.03-17_armhf.deb
Size: 26246
SHA256: 42dea9d7c618af8fe9f3c810b3d551102832bf217a5bcdba310f119f62117dfb
SHA1: b08039acccecd721fc3e6faf264fe59e56118e74
MD5sum: 450b21cc998dc9026313f72b4bd9807b
Description: Correct you if you type `sl' by mistake
 Sl is a program that can display animations aimed to correct you
 if you type 'sl' by mistake.
 SL stands for Steam Locomotive.

APT安装软件包

sudo apt install tree

键入此命令应通知用户软件包将占用多少磁盘空间,并要求确认软件包的安装。输入Y(或按Enter键,因为是默认操作)将允许安装。这可以通过在命令中添加-y标志来绕过:

sudo apt install tree -y

安装此软件包后,用户可以使用tree命令。

APT卸载软件包

使用apt remove卸载软件包。

sudo apt remove tree

系统会提示用户确认删除。同样,-y标志将自动确认。
您还可以选择使用apt purge完全删除包及其关联的配置文件:

sudo apt purge tree

rpi-update

rpi-update是一个命令行应用程序,它会将Raspberry Pi OS内核和VideoCore固件更新到最新的预发布版本

软件的预发布版本不能保证正常工作。除非别无他法,否则不应在任何系统上使用rpi-update。它可能会使系统不可靠,甚至完全崩溃。它不应作为任何定期更新过程的一部分

简单点就是没事别用这个命令升级。

rpi更新脚本最初由Hexxeh编写,但现在由树莓派工程师支持。脚本源码位于rpi-update存储库中。

此命令运行后做了哪些工作

rpi-update将下载最新的预发布版本的linux内核、其匹配模块、设备树文件以及最新版本的VideoCore固件。然后,它会将这些文件安装到SD卡上的相关位置,覆盖所有以前的版本。

rpi-update使用的所有源数据都来自rpi-update存储库。该存储库只是官方固件存储库数据的一个子集,因为不需要来自该存储库的所有数据。

提示:这个命令执行时会拉取GitHub仓库,在国内使用效果并不好,如果非要使用则需要一些魔法。

运行rpi-update

如果您确定需要使用rpi-update,建议先备份当前系统,因为运行此命令可能会导致系统无法启动。

rpi-update需要以root身份运行。更新完成后,需要重新启动设备。

sudo rpi-update
sudo reboot

它有许多选项记录在rpi-update存储库中。

回退升级

如果你是既没备份,又成功升级的同时又遇见了系统异常(不包括无法启动系统)的小倒霉蛋,这里还给出了一个可以安全恢复的后悔药。

sudo apt-get update
sudo apt install --reinstall libraspberrypi0 libraspberrypi-{bin,dev,doc} raspberrypi-bootloader raspberrypi-kernel
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于ISP系统和IAP系统升级,虽然它们是不同的概念,但可以采取类似的方法和步骤。以下是一些一般性的考虑事项: 1. 目标和需求:明确升级的目标和需求。确定您希望通过升级系统实现什么目标,例如提高性能、改进用户体验、增加新功能等。 2. 系统评估:评估当前系统的架构、技术栈、性能指标等。分析系统的瓶颈和问题,以便在升级过程中有针对性地解决它们。 3. 升级计划:制定详细的升级计划,包括所需技术、资源、时间安排等。确保计划合理,并考虑到对用户和业务的最小化影响。 4. 测试和验证:在实施升级之前,进行充分的测试和验证。这样可以发现潜在的问题,并确保升级系统的稳定性和功能性。 5. 逐步升级:根据计划,逐步实施系统升级。考虑到系统的复杂性和规模,可能需要分阶段进行升级,以降低风险。 6. 监测和回滚计划:在升级过程中,确保有一套有效的监测机制,以便及时发现并解决问题。同时,制定回滚计划,以防升级失败或出现严重问题。 7. 文档和培训:在升级完成后,更新相关文档并提供培训,以确保团队和用户能够顺利使用新系统。 需要注意的是,ISP系统和IAP系统升级可能涉及不同的技术和特定的业务需求。因此,在实施升级前,确保充分了解系统的特点和要求,并根据实际情况进行相应的调整和规划。 希望以上信息对您有所帮助!如果还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值