Debian默认安装了哪些软件包?该集有术语吗?为什么有些软件包是“自动安装”的,而有些却没有?


17

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

尽管它与软件包优先级有关,但事实并非如此,因为默认安装的软件包中有所有优先级的软件包。

而且,某些初始子集的程序包中的某些程序具有automatically installed标志,例如wireless-tools。因此,如果手动删除了初始子集的软件包(取决于它们),它们将被自动删除。我想知道,安装工具是否仅保留要考虑手动安装的软件包列表,并自动安装其依赖项?

回答前两个问题: 安装了核心的Debian实用程序后,Debian安装程序似乎会调用tasksel执行安装“任务”。其中典型的任务是“标准”任务和“笔记本电脑”任务。从 tasksel页面:

“标准”任务

标准任务是Debian Installer使用的特殊任务。实际上,它取决于软件包的优先级。“标准系统”任务包括什么?

tasksel --task-packages standard

这是一个智能搜索字符串,等于

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

所以,tasksel安装standardrequiredimportant包。

“笔记本电脑”任务

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

  • 无线工具
  • acpi支持
  • 豆蔻
  • pi
  • 申请人
  • Powertop
  • 轻松的
  • apmd
  • pcmciautils
  • pm-utils
  • 蟒蛇
  • 可用自动
  • 蓝牙

桌面

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


2
我称它为香草安装。
Marios Zindilis 2013年

在很大程度上取决于您的硬件,不同的模块等。
terdon

@terdon好的,但是安装程序是如何决定的,在特定情况下安装哪些软件包,而不是什么?
鲍里斯·伯科夫

好吧,如果您有触摸板,它将安装一个突触驱动程序,如果没有,则不会。我明白了您的意思,但您应该尝试将问题缩小到与硬件无关的软件包。
terdon

@terdon是的,但是安装程序的哪个部分负责?我没有在文档中找到关于此的任何字眼。
鲍里斯·伯科夫

Answers:


22

base systemDebian政策中,会将其描述为具有requiredimportant优先级的所有软件包。

您可以搜索该实用程序附加了requiredimportant优先级的软件包aptitude

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

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

在基本系统中列出的内容之上,您将获得

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

我的VirtualBox VM上大约有60个软件包(没有添加VBox来宾会带来很多依赖性)。

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


啊哈,这tasksel是关键!谢谢!默认情况下,它运行“标准”任务,通常运行“笔记本电脑”任务:wiki.debian.org/tasksel
Boris Burkov 2013年

tasksel根据安装任务的“任务:”属性以及您选择安装的任务,在安装结束时安装多套额外的软件包。所需的重要软件包在第一阶段通过安装debootstrap。所需的软件包是手动拆包的,它们代表能够运行dpkg以安装重要软件包并配置所需和重要软件包的最低要求。
psusi

还有多少?会有一些诸如内核,语言环境,grub之类的东西。最大的除了杆基座安装我选择的作用是,它拿起作为一个VirtualBox的客人,为客人增加一些扶养蠕变之前看到了英寸
马太福音

@psusi是的,我刚刚读了这篇文章,因为我的安装似乎在taskel 之前又迈出了一步,将其发布到网络上并获取。我正在猜测pkg更新和一些硬件检测,但试图确认这一点
Matt

@psusi伙计们,我刚刚开始研究“笔记本电脑”任务包,发现它acpid被标记为手动安装,而被标记为自动安装wireless-tools。您了解这些决定背后的逻辑吗?
鲍里斯·伯科夫

3

另外,那些软件包的自动安装状态如何?他们并不总是得到这个标志,对吗?

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

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

  • exim4-daemon-light不会自动安装,因为您明确要求软件包管理器进行安装
  • exim4-base:自动安装;您没有明确告诉软件包管理器安装它,但是它必须自动安装此软件包,因为exim4-daemon-light依赖于它

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

这种机制从根本上确保了系统不会保留不必要的软件包。

您可以修改国旗的aptitude命令markautounmarkauto。这将具有以下效果:

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

-1

Debian默认安装了哪些软件包?

根据您安装的环境(Cinnamon,GNOME,KDE,LXDE,MATE,Standard或XFCE),有一个对应的“ iso.packages”文件,其中包含将与该iso一起安装的软件包的列表。

该集有术语吗?

Debian标准

为什么有些软件包“自动安装”而有些却没有?

自动安装的标准软件包允许您使用所选软件包构建桌面环境。例如,如果您安装GNOME环境,将会有很多您可能不需要的软件包(如游戏,实用程序等),并且无法通过破坏性依赖项进行卸载(卸载“ gnome-nibbles”),这将卸载gnome-桌面)。

例如,您可以仅使用所需的一组软件包(在标准之上)构建gnome环境,而我最近做了。


2
-1为错误信息。正如Matt的回答所述,“基本系统”是优先级为“必需”或“重要”的所有软件包的集合。它不依赖于其他安装内容(例如桌面环境),也不被称为“ Debian Standard”,也不是允许用户安装桌面环境的机制(在没有桌面环境的情况下安装Debian很常见)。此外,卸载gnome-nibbles不会卸载gnome-desktop,尽管卸载桌面也可能会删除需要该游戏的游戏。
本杰明·斯塔顿
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.