Debian 中默认安装了哪些软件包?该集合有术语吗?为什么其中一些软件包是“自动安装”而另一些则不是?

Debian 中默认安装了哪些软件包?该集合有术语吗?为什么其中一些软件包是“自动安装”而另一些则不是?

是否有一个术语来指代 Debian 发行版自动安装的软件包子集?

我认为这与包裹有关优先事项,但似乎并非如此,因为默认安装的包中存在所有优先级的包。

此外,初始子集的一些包具有automatically installed标志,例如wireless-tools。因此,如果手动删除初始子集的软件包(取决于它们),它们将被自动删除。我想知道,安装工具是否只保留被视为手动安装的软件包列表并自动安装其依赖项?

回答前两个问题: 安装核心 Debian 实用程序后,Debian 安装程序似乎会调用tasksel来执行安装“任务”。典型的任务包括“标准”任务和“笔记本电脑”任务。来自塔塞瑟尔页:

“标准”任务

标准任务是 Debian 安装程序使用的特殊任务。它实际上依赖于包的优先级。 “标准体系”任务包括哪些内容?

tasksel --task-packages standard

这是一个 aptitude 搜索字符串,相当于

aptitude search ~pstandard ~prequired ~pimportant -F%p

所以tasksel安装standard,requiredimportant软件包。

“笔记本电脑”任务

笔记本电脑任务是 Debian 安装程序使用的特殊任务,用于提取在笔记本电脑上有用的软件包:

  • 无线工具
  • ACPI 支持
  • cpu频率工具
  • 交流接口
  • wpa请求者
  • 动力顶
  • APMD
  • PCMCIA实用程序
  • pm-utils
  • 纳克朗
  • avahi-autoipd
  • 蓝牙

桌面

https://wiki.debian.org/DebianDesktop/Tasks

答案1

描述base systemDebian 政策required与所有具有或优先级的包一样important

您可以使用以下命令搜索附加了required和优先级的软件包importantaptitude公用事业。

aptitude search ~prequired -F"%p"
aptitude search ~pimportant -F"%p"

debootstrap在安装过程中安装这些软件包。
tasksel然后将安装您在顶部选择的任何其他角色,通常standard是使用的默认选择。

除了基本系统中列出的内容之外,您还将获得

  • 一个内核(谢天谢地)
  • 输入/区域设置/字典包。
  • 硬件包。 (ACPI、USB、PCI、虚拟机上的虚拟来宾添加)
  • 然后是一些依赖库来支持上面的。

这相当于我的 VirtualBox VM 上大约有 60 个程序包(没有添加大量依赖项的 VBox 来宾添加项)。

Expert Install如果有机会,请运行(选择“高级选项 > 专家”)。它可以让您更好地了解逐步安装过程以及何时apt在基本安装之外运行。

答案2

另外,这些软件包的自动安装状态如何?他们并不总能得到这面旗帜,对吗?

仅因为另一个已安装的软件包依赖于它们而安装的所有软件包都应该具有此标志。包管理器使用此标志来查找未使用/孤立的包,即尽管不再安装依赖于这些包的另一个包但已安装的包。此类孤立包将被自动删除。

例如,假设您安装了软件包exim4-daemon-light。该软件包依赖于exim4-base,因此软件包管理器必须在您的系统上安装这两个软件包。然后标志设置如下:

  • exim4-daemon-light:不是自动安装,因为您明确告诉包管理器安装它
  • exim4-base:自动安装;您没有明确告诉包管理器安装它,但它必须自动安装这个包,因为exim4-daemon-light依赖于它

当您现在告诉包管理器删除 时exim4-daemon-light,它会使用 的“自动安装”标志exim4-base来确定该包也可以被删除。它会查看依赖于 的已安装软件包列表exim4-base,如果没有,它将删除exim4-base

这种机制本质上确保您的系统不会保留不必要的包。

aptitude您可以使用命令markauto和修改该标志unmarkauto。这将产生以下效果:

  • aptitude markauto:一旦不再安装任何依赖于此软件包的软件包,它将被自动删除。如果当前没有安装任何依赖于该软件包的软件包,它将立即被删除。
  • aptitude unmarkauto:即使没有安装依赖于该软件包的软件包,该软件包也永远不会被自动删除。

相关内容