在我写这篇文章时,debian stable 上的 lxqt 软件包目前已损坏,并apt dist-upgrade
已将其删除,因为它们与升级后的 qt5 不兼容。这意味着我失去了唯一的桌面环境,并且机器启动到 sddm,没有会话类型的选择。
短期修复(使用debian 快照恢复我的系统)是用于apt-mark hold lxqt
阻止 dist-upgrade 对 lxqt 包进行任何更改。
我希望有一个永久的修复——最终 lxqt debian 维护人员将更新他们的软件包,并且会有一个与可用的 libqt5core5t64 兼容的新 lxqt,但是因为我已经使用了apt-mark hold
,所以 dist-upgrade 将不会升级到它。
我怎样才能让 apt 被视为lxqt
“系统关键”(就像它对 libc 之类的东西所做的那样),这样它就会继续允许升级,但不允许它被 dist-upgrade 卸载?
“系统关键”包是指标记为必需的包以及它们所依赖的任何包(后者称为过渡必需包)。要使其
apt
成为lxqt
系统关键包,您可以创建一个依赖包并将其设为必需包。为此,请安装
equivs
包并运行然后编辑
essential-lxqt.control
:Package:
行改为Package: essential-lxqt
Package:
添加Priority: required
Essential:yes
Depends:
行并将其更改为Depends: lxqt
要构建包,请运行
并安装生成的包。
为了将来的参考,您可能希望运行
apt upgrade
而不是apt dist-upgrade
;这将根据需要升级和安装新软件包,而无需删除任何软件包。仅当表示无法升级一个或多个软件包apt dist-upgrade
时才是必要的;在这种情况下,无论如何都要运行(升级它可以升级的内容),然后,但在让其处理之前检查后者将要做什么(所以不要运行)。apt upgrade
apt upgrade
apt dist-upgrade
apt -y dist-upgrade