当原始包被删除时,包管理器是否会删除依赖项?

当原始包被删除时,包管理器是否会删除依赖项?

我是 xubunutu 和 linux 的新手,我的问题是当我们卸载导致它们安装的包时,如何从系统中删除依赖项。

因此考虑这种情况,我安装了一个名为 test 的包。

 apt-get install test

但是这通常会显示一条消息,说还将安装以下新软件包。假设它安装了 50 个其他软件包作为依赖项,然后继续接受并安装它们。

现在我稍后也会安装其他包,假设新安装的包使用了之前安装的 10 个依赖项。

我想知道何时使用命令删除主包(测试)

apt-get remove test

它会自动处理 50 - 10 个包并将其删除吗?

或者它不会删除这 50 个包中的任何一个?

或者它会删除与测试包一起安装的所有 50 个包吗?

谢谢,

答案1

我认为这取决于软件包。显然,一些依赖项也是其他软件包的依赖项,因此这些依赖项将保持安装状态。

但是,如果你运行sudo apt-get remove testsudo apt-get purge test,它会让你知道,有一堆依赖项可以删除(尽管可以通过 手动删除sudo apt-get autoremove),如果有任何依赖项仅有的该包所依赖的。

现在,我目前没有非常可靠的来源(没有 Debian 或 Ubuntu 文档)(正在搜索)。但是,当我尝试删除包(shutter)时,我在终端中得到的结果是我所拥有的:

在此处输入图片描述

显然,还会有一堆剩余的依赖项需要手动删除。

来自apt-get 的手册页

自动移除

autoremove 用于删除那些为了满足其他包的依赖关系而自动安装但现在不再需要的包。

希望这有帮助!我会寻找更可靠的来源来补充我的答案。

答案2

要从系统中删除包测试,您可以运行:

sudo apt-get remove test

要从系统中删除包测试及其配置文件,您可以运行:

sudo apt-get remove --purge remove test

或者你可以使用突触包管理器相同

相关内容