在 Ubuntu 22.04 桌面发行版中,当用户未启用通过网络更新软件包,那么安装 libudev1 会导致大量关键软件包被删除,并使系统基本上无法使用。
如上图所示,这样一条简单的 apt 安装命令就会导致系统损坏。
根据 Ubuntu 的 bug 记录,问题大致可总结为:“apt 会试图满足安装最新的 libudev1 的要求,而不升级其他软件包,但由于这与其他非必要的软件包有冲突,因此它将删除这些软件包。" 对于它所删除的软件包,里面可能包括 ubuntu-desktop 和用户其他的关键软件包......
此问题由用户在 5 月份反馈给 Ubuntu,两个月后,修复问题的补丁正在积极合并到上游的 APT 和最终移植到 Ubuntu 22.04。这一改变将会在升级依赖后破坏"Depends"时,升级已安装的反向依赖。对于 Ubuntu/Debian 的未来版本,看起来这个针对 APT 的合并正在被继续执行,当升级/安装其中一个源码包时,会升级所有其他二进制文件。