我在使用 apt 将软件更新应用到我的 Raspberry Pi 系统时遇到了很多麻烦。它们中的大多数都运行 Ubuntu 22.04.1 LTS 的 ARM 版本,而 Pi-Zero 系统则使用最新的“Bullseye”版本的“Pi OS”。
通常,当我尝试执行“apt 升级”时,它会锁定下载软件包文件。我的网络和本地 Wi-Fi 非常可靠,下载速度很快,即使 apt 挂起,本地网络中的 ssh 会话也非常稳定。大多数 Pi 系统都通过 Wi-Fi 连接,但其中一个直接通过 CAT-5 硬连线。(我还知道互联网连接也运行正常,因为房子里的其他所有设备都在运行视频流和其他应用程序)。在这些情况下,apt 的下载会飞速进行,然后突然停止下载,有时是在单个软件包下载的中间。下载永远不会恢复。apt 尝试处理的更新软件包越多,它就越有可能像这样锁定。
几个月前,我不得不完全重建两个 Pi-4 Ubuntu 系统(4GB 和 8GB 型号,文件系统使用 64GB SD 卡),因为其中一个标准 apt 更新在 2022 年 12 月从系统配置中删除了我的物理显示器。(我将它们用于安全摄像头显示器,因此不再有显示器是一个大问题)。从那时起,我不得不完全停止尝试在这些系统上安装任何 apt 升级,因为我不知道哪个更新破坏了显示器或该怎么做。Snap 仍然可用于升级 Firefox。即使我冒险尝试再次运行完整的“apt 升级”,考虑到这种挂起行为肯定会在超过 200 个缺失更新的情况下发生——它实际上不可能起作用。
我曾尝试通过在每个升级包上手动运行“apt install”来升级 Pi-Zero 上的单个包(只有 1GB 内存,但仍有一个 64GB SD 卡用于文件系统),但即使这样,很多时候也会挂起并陷入困境。
我也发现同样的问题出现在 GUI 软件更新实用程序中,所以它不仅限于命令行 apt 命令。
令我困惑的是,apt 似乎没有注意到它的 I/O 完全挂起,却没有采取任何措施来恢复。事实上,它会在挂起状态下停留数小时,直到我通常必须进行硬电源重置以重新启动系统才能恢复。
多年来,我在其他系统上使用过 rpm 和 yum,从未见过这种“兔子撞墙”的问题。我不知道如何进一步诊断这些问题,尤其是考虑到这显然不是我的本地网络或其与互联网的连接的问题。通常,apt 下载的镜像存储库由离我相当近的一所大学校托管,下载速度相当快,达到 5 到 15MB/秒,直到 I/O 挂起。
欢迎任何想法、建议或可以尝试的替代维护工具!谢谢!