前情

飞牛 OS 是部署在 PVE 上的一个虚拟机。前一段时间,当系统版本为 0.9.9 时,就出现了 Web 端更新失败的问题,尝试查询多种方法均无法解决。官方论坛上针对同一问题给出的方案也未能奏效。

由于该 飞牛 OS 仅作为体验系统使用,并未挂载硬盘或安装重要服务,当时选择了重装系统。然而重装完成后,更新失败的问题依然存在。一气之下,就气了一下,只能暂时装作看不到。

今天早晨再次登录系统,看到更新提醒,实在无法继续忽略,只好进一步排查问题所在。


问题根源

通过论坛和网络搜索,多数提到该情况通常因手动执行 apt 命令更新依赖导致版本不一致而引起。主要有两种解决方法:

  • 通过脚本更新,解决错误
  • 手动卸载、重新安装更新

尝试一:通过脚本更新

首先尝试执行官方提供的修复脚本:

root@Fn0S-yvbp4:/# curl https://download.liveupdate.fnnas.com/x86_64/sh/fixlib.sh | bash

PixPin_2025-08-11_11-42-29
显示更新完成,软件依赖版本已安装至最新。但返回 Web 端尝试更新,仍然失败。


尝试二:手动安装指定版本软件包

更新软件包列表

转而尝试手动安装 Web 端显示的指定版本软件包:

# 先更新软件包列表
root@Fn0s-yvbp4:/# apt update
# 安装指定版本的软件包
root@Fn0S-yvbp4:/# apt install libgnutls30=3.7.9-2+deb12u4 -y

PixPin_2025-08-11_11-43-00
PixPin_2025-08-11_11-43-20 安装失败,提示存在可卸载的软件包依赖。


清理依赖包

使用自动卸载冗余包:

root@Fnos-yvbp4:/# apt autoremove

PixPin_2025-08-11_11-44-03
未发现需要卸载的软件包,转而手动卸载提示中列出的包:

root@Fn0s-yvbp4:/# apt remove exim4-base exim4-config libjson-glib-1.0-0 libjson-glib-1.0-common liblockfile1

PixPin_2025-08-11_11-44-22
再次尝试安装,依然提示存在需卸载的依赖。继续逐一卸载提示中的软件包。


手动安装更新所需依赖包

最终通过手动成功安装更新所需依赖包:

root@Fn0S-yvbp4:/# apt install libgnutls30=3.7.9-2+deb12u4 -y

安装完成后,返回 Web 端尝试更新,问题解决。

最后几张图片忘记截图了。总之,按照官方论坛上的问题原由,大部分都是自己手动执行 apt update 导致软件版本不一致而无法更新。使用 apt update 更新软件,会导致软件版本号更新,而 WEB 端需求的版本较低。只需卸载高版本软件,重新安装需求的版本即可。