如何最小化 Linux 服务器?

如何最小化 Linux 服务器?

我正在构建基于 Ubuntu 的最小 Linux 启动映像。

我首先使用 debootstrap,然后安装我绝对需要的东西。

我可以采取什么通用方法将这个 3GB+ Linux 安装减少到适合 pxe 启动的更小的体积?

debootstrap 安装了哪些我可以查看并删除的东西?

例如,/usr/share 中似乎有很多东西我可以安全地删除什么?

答案1

请参阅此文档减少磁盘占用

它包括有关如何禁用 apt 缓存、让任何软件包安装跳过安装不适用于您系统的文档或语言环境的说明。它建议您如何修改日志轮换设置以最大限度地减少日志存储。

我的小型存储系统的 dpkg 配置文件如下所示 /etc/dpkg/dpkg.cfg.d/01_smalldisk

# block documentation
path-exclude /usr/share/doc/*
# keep copyright files for legal reasons
path-include /usr/share/doc/*/copyright
path-exclude /usr/share/man/*
path-exclude /usr/share/groff/*
path-exclude /usr/share/info/*
# lintian stuff is small, but really unnecessary
path-exclude /usr/share/lintian/*
path-exclude /usr/share/linda/*
# block non-us locales
path-exclude /usr/share/locale/*
path-include /usr/share/locale/en*

显然,你需要非常小心地选择软件包。避免使用那些包含大量垃圾的大型元软件包。你可能需要考虑使用当量在某些情况下,如果设置了依赖项,但不需要依赖项所实现的功能,则创建空包。

答案2

就总体而言,Ubuntu 有点臃肿。如果可以,请获取 Debian 并安装,无需选择任何软件包,然后添加所需的软件包。

您应该能够仅从内核 + initrd 映像快速进行 PXE 启动。让 initrd 挂载您的远程文件系统并从那里开始。您只会为实际正在使用的文件传递网络流量,因此即使您安装了 100 GB,如果启动仅触及 10 MB 的文件,您也只会移动 10 MB 的流量。

答案3

好吧,理想情况下你不应该手动删除任何东西。首先使用 Ubuntu Server 安装,不安装任何软件包;这样就很简单了。

但是对于 PXE 启动,您最好编译自己的内核并使用 busybox 执行大多数命令。

如果您坚决使用 Ubuntu,请在 Ask Ubuntu 上询问更多信息。

答案4

相关内容