树莓派OS
介绍
Raspberry Pi OS 是基于 Debian 的免费操作系统,针对 Raspberry Pi 硬件进行了优化。Raspberry Pi OS 支持超过 35,000 个 Debian 软件包。我们建议大多数 Raspberry Pi 使用 Raspberry Pi OS。
由于 Raspberry Pi OS 源自 Debian,它遵循 Debian发布周期 的交错版本。大约每两年发布一次。
最新版本的 Raspberry Pi OS 基于 Debian Bookworm。之前的版本基于 Debian Bullseye。
您可以在 树莓派操作系统下载 上找到 Raspberry Pi 操作系统的映像。
升级软件
始终将 Raspberry Pi 上运行的软件更新到最新版本。这将确保您的设备安全,避免 漏洞,并确保您获得最新的错误修复。
使用 APT 管理软件包
高级软件包工具(APT) 是在 Raspberry Pi 操作系统中安装、更新和删除软件的推荐方法。您可以通过 apt
CLI 访问 APT 。
安装更新
apt
会在 /etc/apt/sources.list
文件中存储软件源列表。安装软件前,请运行以下命令,使用 /etc/apt/sources.list
更新*本地软件包列表:
sudo apt update
运行以下命令将所有已安装的软件包升级到最新版本:
sudo apt full-upgrade
与 Debian 不同,Raspberry Pi OS 正在持续开发中。因此,软件包依赖关系有时会发生变化,所以你应该始终使用 full-upgrade
而不是标准的 upgrade
。
定期运行这些命令以保持软件最新。使用 apt
保持 Raspberry Pi OS 的最新版本,也能保持 Linux 内核和固件的最新版本,因为 Raspberry Pi 将它们作为 Debian 软件包发布。
当 Raspberry Pi 发布新的 Raspberry Pi OS 主版本时,上述命令不会将你的操作系统升级到新的主版本。要升级到新的主版本,请遵循我们的 操作系统升级说明。
搜索软件
要在归档文件中搜索软件包,请向 apt-cache search
传递搜索关键字:
apt-cache search <关键字
例如,请看下面对关键字 "raspi "的搜索:
$ apt-cache search raspi
raspi3-firmware - Raspberry Pi 2 and 3 GPU firmware and bootloaders
libcamera-apps - libcamera-apps
libcamera-apps-lite - libcamera-apps-lite
python-picamera - Pure Python interface to the Raspberry Pi's camera module.
python-picamera-docs - Documentation for the Python interface to the RPi's camera module.
python3-picamera - Pure Python interface to the Raspberry Pi's camera module.
raspi-config - Raspberry Pi configuration tool
raspi-gpio - Dump the state of the BCM270x GPIOs
raspi-gpio-dbgsym - debug symbols for raspi-gpio
raspinfo - Dump information about the Pi
rc-gui - raspi-config GUI
raspi-copies-and-fills - ARM-accelerated versions of selected functions from string.h
raspi-copies-and-fills-dbgsym - debug symbols for raspi-copies-and-fills
搜索返回了多个名称或描述包含关键字的软件包。
使用以下命令查看软件包的详细信息:
apt-cache show <package-name>
例如,下面是对 raspi-config
软件包的查询:
$ apt-cache show raspi-config
Package: raspi-config
Version: 20210212
Architecture: all
Maintainer: Serge Schneider <serge@raspberrypi.org>
Installed-Size: 121
Depends: whiptail, parted, lua5.1, alsa-utils, psmisc, initramfs-tools
Recommends: triggerhappy, iw
Priority: optional
Section: utils
Filename: pool/main/r/raspi-config/raspi-config_20210212_all.deb
Size: 27976
SHA256: 772d4fd3c6d8c9da47ac56012b74e7828b53c8521ff1c47266bb38ec71750c10
SHA1: 08254c976a8260bde914c2df72f92ffb9317fef6
MD5sum: 80aaac13be6a9b455c822edb91cf8ea2
Description: Raspberry Pi configuration tool
A simple configuration tool for common Raspberry Pi administrative tasks
Description-md5: 19630c04463bfe7193152448b53d85a0
使用此命令验证软件包的维护者、版本和大小是否符合您的期望。
安装软件包
要在 Raspberry Pi 上安装软件包,请将软件包的名称传递给以下命令:
sudo apt install <package-name>
apt
将显示软件包将占用的磁盘空间。输入 Y,然后按 Enter 确认安装软件包。在上述命令中添加 -y
标志,即可跳过确认步骤。
卸载软件包
要从 Raspberry Pi 上卸载软件包,请将软件包名称传入以下命令:
sudo apt remove <package-name>
要完全删除软件包的所有痕迹,包括配置文件,请使用 purge
而不是 remove
。
apt
将显示删除软件包将释放的磁盘空间。
输入 Y,然后按 Enter 确认删除软件包。在上述命令中添加 -y
标志可跳过这一确认步骤。
管理 apt 磁盘使用情况
在 运行之前,sudo apt full-upgrade
会显示为完成升级而需要下载并存储在磁盘上的数据量。要检查是否有足够的可用磁盘空间,请运行以下命令:
df -h
apt
将下载的软件包 (.deb
) 文件存储在 /var/cache/apt/archives
中。在安装过程中,apt
会下载这些软件包,然后将软件包中的文件复制到正确的安装位置。根据所安装软件的不同,软件包文件可能会占用大量空间。要删除任何残留的软件包文件,请运行以下命令:
sudo apt clean
将操作系统升级到新的主版本
在尝试主版本升级之前,请做好备份。
要将 Raspberry Pi 上的操作系统升级到新的主版本,请将新版本映像到第二张 SD 卡上。使用 USB SD 读卡器或网络存储设备将当前安装的文件和配置复制到新的 SD 卡上 。然后,将新的 SD 卡插入 Raspberry Pi 的插槽,启动。
升级固件
在尝试固件升级之前,请做好备份。
预发布版本的软件不能保证正常工作。除非 Raspberry Pi 工程师建议,否则不要在任何系统上使用 rpi-update
。这会导致系统不可靠或损坏。请勿将 rpi-update
用作任何定期更新过程的一部分。
要将 Raspberry Pi 上的固件更新到最新版本,请使用 rpi-update
。
rpi-update
会下载最新预发布版本的 Linux 内核、其匹配模块、设备树文件和最新版本的 VideoCore 固件。然后将这些文件安装到现有的 Raspberry Pi OS 安装中。
rpi-update
使用的所有源数据都来自 rpi-firmware
资源库。该版本库包含 官方固件版本库中数据的子集。
以根用户身份运行 rpi-update
启动更新。更新完成后,重启 Raspberry Pi 以使更改生效:
sudo rpi-update
sudo reboot
本白皮书记录了如何更新 Raspberry Pi OS 映像中的 VideoCore 固件。
将固件降级到最新的稳定版本
如果您将固件更新到最新版本并遇到问题,请使用以下命令返回到上一个稳定固件版本:
sudo apt update
sudo apt install --reinstall raspi-firmware
如果你仍在运行 Raspberry Pi OS Bullseye,则必须使用以下命令重新安装 raspberrypi-kernel
:
sudo apt install --reinstall libraspberrypi0 libraspberrypi-{bin,dev,doc} raspberrypi-{kernel,bootloader}。
使用 sudo reboot
重启 Raspberry Pi,使这些更改生效。
播放音频和视频
Raspberry Pi OS 预装了 VLC 媒体播放器 。您可以使用 VLC 播放视频和音频文件。VLC 在 Raspberry Pi OS 中使用硬件加速,支持许多流行的音频和视频文件格式。
VLC 媒体播放器
VLC 界面
要从 Raspberry Pi Desktop 播放音频或视频文件,请在文件管理器中双击文件。这会自动启动 VLC 播放该文件。或者,从 声音和视频 菜单,启动 VLC 媒体播放器。然后,从 媒体 菜单中选择 打开文件... ,并导航到要播放的文件。
默认情况下,Raspberry Pi OS 通过 HDMI 将音频发送到显示器。要将音频输出到耳机插孔或 USB 扬声器等不同接口,请右键单击系统托盘中的扬声器图标并选择一个选项。
vlc 命令行
您也可以通过命令行启动 VLC。在下面的示例中,我们使用了 Big Buck Bunny 的一个短片。要从 Raspberry Pi 下载该短片,请运行以下命令:
wget --trust-server-names http://rptl.io/big-buck-bunny
要在 VLC 中通过命令行播放片段,请运行以下命令:
vlc big-buck-bunny-1080p.mp4
如需要VLC GUI在文件播放完毕后自动关闭窗口,添加--play-and-exit
标志:
vlc --play-and-exit big-buck-bunny-1080p.mp4
要以全屏模式播放视频(在某些情况下播放会更流畅),请添加 --fullscreen
标记:
vlc --play-and-exit --fullscreen big-buck-bunny-1080p.mp4
使用 cvlc
在无图形界面的情况下播放媒体
如果您使用cvlc
代替vlc
命令,则不会显示 VLC GUI:
cvlc --play-and-exit big-buck-bunny-1080p.mp4
在 Raspberry Pi OS Lite 上播放音频和视频
与完整版的 Raspberry Pi OS 不同,Raspberry Pi OS Lite 没有预装 VLC。要在 Raspberry Pi OS Lite 上使用 VLC 播放视频和音频,请安装所需的软件包,以便在没有桌面的情况下播放:
sudo apt install --no-install-recommends vlc-bin vlc-plugin-base
在下面的示例中,我们使用了一段简短的音频片段。要从 Raspberry Pi 下载该片段,请运行以下命令:
wget --trust-server-names http://rptl.io/startup-music
要在 VLC 中通过命令行播放该视频,请运行以下命令:
cvlc --play-and-exit computer-startup-music.mp3
指定音频输出设备
要强制将音频输出到特定设备,可将 alsa
值传递给 -A
选项以使用 https://www.alsa-project.org/wiki/Main_Page[ALSA] 音频输出,并传递 --alsa-audio-device
选项以指定音频输出设备:
cvlc --play-and-exit -A alsa --alsa-audio-device <alsa-device> computer-startup-music.mp3
用以下选项之一替换<alsa-device>
占位符:
ALSA设备 | 描述 |
---|---|
sysdefault:CARD=Headphones | 耳机插孔 |
sysdefault:CARD=vc4hdmi | 带有单 HDMI 端口的设备上的 HDMI 输出(Zero 型号、CM4S、CM4 之前的计算模块和 Raspberry Pi 4 之前的旗舰型号) |
sysdefault:CARD=vc4hdmi0 | 自 Raspberry Pi 4B 开始的旗舰机型、自 CM4 开始的计算模块以及键盘机型上的 HDMI0 输出端 |
sysdefault:CARD=vc4hdmi1 | 自 Raspberry Pi 4B 开始的旗舰机型、自 CM4 开始的计算模块以及键盘机型上的 HDMI1 输出端 |
使用以下命令获取 Raspberry Pi 上所有 ALSA 设备的列表:
aplay -L | grep sysdefault
指定视频输出设备
要强制将视频输出到特定设备,请使用 --drm-vout-display
选项指定视频输出设备:
cvlc --play-and-exit --drm-vout-display <drm-device> big-buck-bunny-1080p.mp4
用以下选项之一替换 <drm-device>
占位符:
DRM设备 | 描述 |
---|---|
HDMI-A-1 | Raspberry Pi Zero 或 Raspberry Pi Model 1、2 或 3 上的 HDMI 输出;或 Raspberry Pi 4、5 或 400 上的 HDMI0 输出 |
HDMI-A-2 | 自 Raspberry Pi 4B 开始的旗舰机型、自 CM4 开始的计算模块(包括 CM4S)以及键盘机型上的 HDMI1 输出端 |
DSI-1 | 树莓派触摸显示屏或树莓派触摸显示屏 2 |
DSI-2 | 对于具有多个 DSI 端口的机型(Raspberry Pi 5 之后的旗舰机型和 CM5 之后的计算模块机型)的第二个 DSI 输出口 |
使用以下命令获取 Raspberry Pi 上所有 DRM 设备的列表:
kmsprint | grep Connector
同时指定音频和视频输出设备
你可以将音频和视频输出选项结合起来。例如,要将视频输出引向触摸屏,将音频输出引向耳机插孔,请使 用上述命令的以下组合:
cvlc --play-and-exit --fullscreen --drm-vout-display DSI-1 -A alsa --alsa-audio-device sysdefault:CARD=Headphones your_video.mp4
提高流媒体播放性能
如果你有一个原始的 H.264 数据流,比如从 Raspberry Pi 摄像头模块捕获的数据流,你可以通过将数据流封装在 MP4 等容器格式中来提高 VLC 的播放性能。你可以使用 ffmpeg
将流内容转换为容器文件。例如,下面的命令将名为 video.h264
的数据流以 30fps 的速度转换为名为 video.mp4
的 MP4 容器:
ffmpeg -r 30 -i video.h264 -c:v copy video.mp4
工具集
树莓派OS中预装了几个有用的命令行实用程序。
kmsprint
kmsprint
工具可用于列出树莓派所连接的显示器支持的显示模式。使用kmsprint
查看连接到树莓派的显示器的详细信息,kmsprint -m
查看每个显示器支持的所有显示模式的列表。您可以在Github上找到kmsprint
的源代码。
vclog
vclog
可从 Arm 上运行的 Linux 中显示来自 VideoCore GPU 的日志信息。它需要以 root 用户身份运行。
sudo vclog --msg
会打印信息日志,而 sudo vclog --assert
则会打印断言日志。
vcgencmd
vcgencmd
工具用于输出树莓派上的VideoCore GPU信息。您可以在GitHub上找到vcgencmd
的源代码。
要获取vcgencmd
所支持的所有命令的列表,请使用vcgencmd commands
。下面列出了一些有用的命令及其所需的参数。
vcos
vcos
命令有两个有用的子命令:
version
显示VideoCore上固件的构建日期和版本log status
显示各个VideoCore固件区域的错误日志状态