赞
踩
让你的树莓派保持最新状态很重要。第一个也是最重要的原因是安全性。运行Raspberry Pi OS的设备包含数百万行代码。随着时间的推移,这些数百万行代码将暴露众所周知的漏洞,这些漏洞记录在公开可用的数据库中,这就意味着它们很容易被利用。作为Raspberry Pi OS的用户,预防这些漏洞的唯一方法是让您的软件保持最新,因为上游存储库会密切跟踪CVE并尝试快速缓解它们。
与第一个原因相关的第二个原因是,您在设备上运行的软件肯定包含错误。一些错误被记录在CVE中(CVE 的英文全称是“Common Vulnerabilities & Exposures”通用漏洞披露)
,但还有一些bug仅影响所需的功能,与安全无关。通过使您的软件保持最新,您可以降低遇到这些错误的机会。
管理安装、升级和删除软件的最简单方法是使用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.
sudo apt install tree
键入此命令应通知用户软件包将占用多少磁盘空间,并要求确认软件包的安装。输入Y(或按Enter键,因为是默认操作)将允许安装。这可以通过在命令中添加-y标志来绕过:
sudo apt install tree -y
安装此软件包后,用户可以使用tree
命令。
使用apt remove
卸载软件包。
sudo apt remove tree
系统会提示用户确认删除。同样,-y标志将自动确认。
您还可以选择使用apt purge
完全删除包及其关联的配置文件:
sudo apt purge tree
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
需要以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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。