如何找出最小系统中不需要的包?

如何找出最小系统中不需要的包?

我想要实现的目标:

  • 为 Debian、Ubuntu 和 CentOS 生成最小操作系统安装
  • 保留足够的软件包,或者能够为 Docker 安装此类软件包

如何知道 - 除了盲目尝试和错误之外 - 最大程度地卸载软件包集但仍然拥有最小的工作系统?

答案1

对于 Debian 和 Ubuntu 来说这很容易,因为它们有基本软件包的概念。如果没有这些软件包,系统将无法运行,并且假定它们存在于所有系统中;因此,不需要依赖它们。

必需软件包可能依赖于非必需软件包,因为共享库可能不是必需的。因此,您必须自己解决依赖关系,或者确保将它们拉入。

请注意,您可能发现仅包含基本软件包的系统不太有用:它不包含apt从 Internet 安装更多软件包,也不包含内核,因为并非所有环境都需要内核。但是,只要您可以将软件安装到系统上,就可以安装其他软件包。

Red Hat 和 CentOS 没有记录哪些软件包是必需的最小安装,因此您只能在那里反复试验。您可能会发现与 Debian 相同的软件包集(不包括 Perl)可能是一个很好的起点。您还可能会发现此 CentOS 论坛主题有趣的。

答案2

从完整系统到精简系统将是漫长而痛苦的。

我建议采用另一种方式:从最小的 Linux 发行版开始,并向其中添加您需要的附加软件包及其依赖项。

可以在文章中找到带有评论的小型 Linux 发行版列表
8 个最小的 Linux 发行版,轻量且几乎不占用空间

你会发现基于 Debian 和 Ubuntu 的小型发行版。我还没能找到基于 CentOS 的发行版。

相关内容