为什么 Linux 内核包优先级设置为可选?

为什么 Linux 内核包优先级设置为可选?

为什么linux-image内核包中的优先级设置为apt/而不是或?dpkgoptionalimportantrequired

$ apt show linux-image-5.4.0-26-generic
Package: linux-image-5.4.0-26-generic
Version: 5.4.0-26.30
Built-Using: linux (= 5.4.0-26.30)
Priority: optional
Section: kernel
root@luoyaoming:~# apt showsrc linux                    
Package: linux
Format: 1.0
Binary: *
Architecture: all amd64 armhf arm64 ppc64el s390x i386
Version: 5.4.0-26.30
Priority: optional
Section: devel
Maintainer: Ubuntu Kernel Team <[email protected]>

答案1

我认为这是因为任何单个内核包(或线内核包的数量)不是必需的 — — 因为您可以从许多不同的内核包中进行选择来满足您的需要。

以 Ubuntu 22.04 为例,你可以自由选择以下内容线内核软件包:

需要注意的是,以上都是元包,但包含的内核imageheadersmodules都共享optional优先级。

除此之外,还有针对各种云平台优化的不同内核映像 - 可能还有许多其他风格。

这些特定的内核映像都不是必需的- 但为了使系统正常运行,您至少需要选择其中之一您想要运行的

另一种可能性是您已经编译了自己的内核 - 在这种情况下,根本不需要安装内核包。

有关优先级的更多信息,请参阅Debian 打包文档

7.7. 什么是基本包、必需包、重要包、标准包、可选包或额外包?

为了帮助软件包管理系统,每个 Debian 软件包都由发行版维护者指定一个优先级。优先级如下:

  • 必需的:系统正常运行所必需的软件包。

    这包括修复系统缺陷所需的所有工具。您不能删除这些软件包,否则您的系统可能会完全崩溃,甚至可能无法使用 dpkg 来恢复。仅包含必需软件包的系统可能无法使用,但它们确实具有足够的功能,允许系统管理员启动和安装更多软件。

  • 重要的在任何类 Unix 系统上都应该可以找到该软件包。

    系统如果没有其他软件包就无法正常运行或无法使用。这不包括 Emacs、X、TeX 或任何其他大型应用程序。这些软件包仅构成裸露的基础设施。

  • 标准软件包是任何 Linux 系统的标准配置,包括相当小但功能不太受限的字符模式系统。其中包含发送电子邮件(使用 mutt)和从存档服务器下载文件的工具。

    如果用户不选择其他任何内容,则将默认安装此程序。它不包含许多大型应用程序,但包含 Python 解释器和一些服务器软件,如 OpenSSH(用于远程管理)和 Exim(用于邮件传递,尽管可以将其配置为仅用于本地传递)。它还包括一些大多数用户会发现有用的通用文档。

  • 选修的软件包包括所有那些如果您不知道它们是什么或者没有特殊要求的话您可能想要安装的软件包。

    这包括 X、完整的 TeX 发行版以及许多应用程序。

  • 额外的:这些包要么与其他优先级更高的包相冲突,要么只有当您已经知道它们是什么时才有可能有用,要么有特殊要求导致它们不适合“可选”。

如果你使用默认的 Debian 安装,则所有优先级的软件包 标准或更高版本将安装在您的系统中。如果您选择预定义任务,您也会获得优先级较低的软件包。

此外,有些软件包被标记为基本的因为它们对于系统的正常运行是绝对必要的。包管理工具将拒绝删除它们。

apt据我所知,如果软件包的优先级为 或 ,其功能optional不会standard有任何差异important。最后,不属于核心 Linux 系统的软件包几乎总是optionalextra

如果有人对此有任何合格的评论或意见,请在评论部分告诉我。

答案2

Ubuntu 可以在虚拟机中运行,其中内核由主机在启动时提供。或者它可以在 chroot、LXC 或 Docker 等容器中运行,在这种情况下,它使用主机的内核,而不需要自己的内核

相关内容