当我手动安装 .deb 文件时,dkpg 会删除其他软件

当我手动安装 .deb 文件时,dkpg 会删除其他软件

我注意到,每当我手动安装 deb 包时,dpkg 都会删除一些软件(NixNote2、playonlinux 和 ukuu 等等)。你知道为什么会发生这种情况吗?有没有办法避免这种情况?

顺便说一下,我正在运行 Kubuntu。

谢谢。

答案1

每个 .deb 文件都有必须满足的依赖项或要求。

featherpad我将使用当前系统上的 Lubuntu 文本编辑器作为示例。您可以使用以下方式在线查看

https://packages.ubuntu.com/focal/featherpad

或通过命令

guiverc@d960-ubu2:/de2900/lubuntu_64$   dpkg -s featherpad
Package: featherpad
Status: install ok installed
Priority: optional
Section: universe/editors
Installed-Size: 1382
Maintainer: Ubuntu Developers <[email protected]>
Architecture: amd64
Version: 0.12.1-1
Depends: libc6 (>= 2.14), libgcc1 (>= 1:3.0), libhunspell-1.7-0, libqt5core5a (>= 5.12.2), libqt5gui5 (>= 5.12.2) | libqt5gui5-gles (>= 5.12.2), libqt5network5 (>= 5.0.2), libqt5printsupport5 (>= 5.0.2), libqt5svg5 (>= 5.6.0~beta), libqt5widgets5 (>= 5.11.0~rc1), libqt5x11extras5 (>= 5.6.0), libstdc++6 (>= 5.2), libx11-6
Recommends: featherpad-l10n, libglib2.0-bin
Description: Lightweight Qt5 plain-text editor
 FeatherPad is a lightweight Qt5 plain-text editor for Linux. It is independent
 of any desktop environment and comes with all features one would expect in a
 modern editor.
 .
 This package contains the application files.
Original-Maintainer: LXQt Packaging Team <[email protected]>
Homepage: https://github.com/tsujan/featherpad

这里最重要的一点是必须满足要求(依赖)规则,即。

Depends: libc6 (>= 2.14), libgcc1 (>= 1:3.0), libhunspell-1.7-0, libqt5core5a (>= 5.12.2), libqt5gui5 (>= 5.12.2) | libqt5gui5-gles (>= 5.12.2), libqt5network5 (>= 5.0.2), libqt5printsupport5 (>= 5.0.2), libqt5svg5 (>= 5.6.0~beta), libqt5widgets5 (>= 5.11.0~rc1), libqt5x11extras5 (>= 5.6.0), libstdc++6 (>= 5.2), libx11-6

Ubuntu(Canonical 和社区)花费了大量精力确保软件包不会发生软件包冲突;脚本几乎可以解决所有问题,但不可能在实际运行的系统上验证每个软件包。自 2019 年 10 月以来,我一直在使用 20.04 和许多其他版本,因此系统用户在发布时将拥有一个稳定的系统,但最终用户使用系统的方式仍与我们测试人员不同。

但更大的问题是第三方(测试的责任在于你,或创建软件包的第三方),或者用户在另一个版本(例如我的 20.04 系统)中使用为一个版本(例如 19.04)打包的软件包。

另外,第三方通常会减少工作量,只为 Debian(涵盖许多版本)、Ubuntu(涵盖许多版本)、Mint 和其他版本打包一次,因此通常无法与任何一个系统完美配对,更不用说未来了。发布升级时间。他们通过将其传递给这些软件包的用户,节省了一些工作。

最后警告:避免使用“-y”(是)响应来安装或删除包命令。除非您 100% 确定您知道会询问您什么,否则您可能会授予您不想要的权限。

避免依赖问题

  • 仅使用适合您的版本的软件包
  • 永远不要使用“-y”选项,除非你 100% 确定这是你想要的
  • 使用第三方软件包做功课;毫无疑问,他们通过将其转交给您来减轻他们的工作量,这意味着所有检查都由您负责。如果同一个软件包在多个发行版或版本上运行良好,那么出现问题也是意料之中的事。有些软件包比其他软件包更谨慎、更值得信赖。

仅供参考:我的命令前面有多余的空格dpkg -s,因此命令不会存储在我的命令中history

相关内容