用debootstrap安装的最小的Debian/sid?

用debootstrap安装的最小的Debian/sid?

在过去的几年里我用过反引导程序安装我的桌面 Debian(日常使用),我打算再次使用它,但到目前为止我只是使用反引导程序默认选项,这次我想安装一个最小的系统。

我做了一些搜索,但到目前为止没有发现任何我不知道的东西,大多数文章都说最低限度但随后他们也只使用默认选项,相反,我想知道是否有exclude选项可以对其进行精简并仍然获得工作系统。

我打算调查一下反引导程序但之前想在这里问一下,也许有人已经做过或知道,可能会节省我一些时间。

编辑

required一个最小的 Debian 由具有优先级和优先级的软件包组成important

dpkg-query -f '${binary:Package} ${Priority}\n' -W \
   | grep -w 'required\|important'

minbase选项仍然安装一些extra,,,,但很少,最终其中一些和一些可以删除(或者根本不安装,我认为应该可以工作optional,但尚未检查)standardimportant--exclude

shell deboostrap 的子脚本sid/usr/share/debootstrap/scripts/sid,易于(备份和)定制。

安装后,下载的文件会占用大量磁盘空间.debapt-get clean应该apt-get autoclean释放一些空间。

一些空间是从语言环境、文档、手册页中占用的,dpkg-reconfigure locales该包localepurge应该会有所帮助。

答案1

我使用的选项--variant=minbase似乎相当小(大约 150MB)。没有文本编辑器,但有必要的 GNU 工具、包管理器和 iproute2 的网络功能。

答案2

由于容器镜像如今已广泛使用,因此可以通过容器镜像实现最小化安装。例如,aarch64 debianstretch docker容器安装仅57.3M。这比 debootstrap minbase 变体要小得多。

详细信息如下。

在 PC 上运行以下命令,以在 tar 目录中获取 debianstretch 容器映像。

docker pull arm64v8/debian:stretch-2020-0130-slim
docker save -o stretch-root.tar arm64v8/debian:stretch-2020-0130-slim

解压stretch-root.tar,安装目录位于名为 的文件中layer.tar。将此文件中的内容放置到 aarch64 目标上,a 返回的目录树大小du -sh57.3M

使用 root 启动此容器映像目录的挂载和 pid 命名空间。或者在此图像目录上运行 chroot,这应该可以工作,但我还没有尝试过。

不过我有一个小问题。在命名空间中,apt-get update将继续等待标头。不知何故,可以通过将沙箱用户 root 添加到命令中来解决这个问题,这样命令就会变成apt-get -o APT::Sandbox::User=root update. Stretch aarch64 版本没有抱怨这个问题,但 Stretch Arm32v5 版本却抱怨了这个问题,所以很容易在互联网上找到答案。

在容器内安装 debootstrap 包。运行以下命令来安装两个 Debian Buster:

debootstrap --include=apt,bash,dpkg buster /root/buster-root-1/
debootstrap --variant=minbase buster /root/buster-root-2/

du -sh两个安装上的 a 返回的大小分别是266.4M308.1M

相关内容