将 Debian 10 系统缩减至最小环境

  • By v2ray节点

  • 2023-11-13 13:10:44

  • 评论

下面的文章将快速指导您通过安全地删除非必需的软件包来减少 Debian/Ubuntu 安装大小。这在可用磁盘空间有限(大约 2GB 或更小)的 VPS 实例中可能很有用。

步骤 1:更新操作系统
正如您可能知道的,安装任何操作系统后的第一步是更新其所有软件包和依赖项,您可以通过执行以下命令来完成:

apt update && apt upgrade -y && apt dist-upgrade -y && apt autoremove -y

注意:我已经以 root 身份登录,如果您无权访问 root 帐户,则必须在每个命令之前使用“ sudo ”,即: sudo apt update && sudo apt update -y &&…


第 2 步:识别必需项包

您可以通过执行以下命令来识别必需的、重要的、标准的、可选的和额外的包:

dpkg-query -Wf '${Package;-40}${Priority}\n' | sort -b -k2,2 -k1,1

不应删除所有必需的重要软件包,但这可能会造成混乱,因为需要某些软件包(例如 openssh-server)才能通过 SSH 访问服务器。经过多次测试,我得出的结论是,要在 Debian 10 下设置最小环境,这些软件包是必不可少的:

base-files base-passwd bash bsdutils coreutils dash debianutils diffutils dpkg findutils grep gzip hostname ifupdown init-system-helpers libc-bin login ncurses-base ncurses-bin perl-base sed sysvinit-utils openssh-server tar util-linux wget zip sudo wide-dhcpv6-client htop initramfs-tools iptables locales net-tools resolvconf sudo systemd-sysv

您可能需要安装其他软件包,例如:python,以防您需要使用它,但因为我不需要,我不会安装它。


步骤 3:安装 Debfoster

这是 Debian/Ubuntu 本机存储库中提供的一个有用工具,根据其描述:“ debfoster 是 apt 和 dpkg 的包装程序。第一次运行时,它会询问您要保留哪些已安装的软件包。
您可以通过执行以下命令来安装 Debfoster:

apt install debfoster -y

现在您需要列出必要的软件包(请参阅步骤 2),Debfoster 将删除列表中未包含的每个软件包及其依赖项。您可以通过执行以下命令来生成列表:

打开VZ:

echo -e 'base-files\nbase-passwd\nbash\nbsdutils\ncoreutils\ndash\ndebianutils\ndiffutils\ndpkg\nfindutils\ngrep\ngzip\nhostname\nifupdown\ninit-system-helpers\nlibc-bin\nlogin\nncurses-base\nncurses-bin\nperl-base\nsed\nsysvinit-utils\nopenssh-server\ntar\nutil-linux\nwget\nzip\nsudo\nwide-dhcpv6-client\nhtop\ninitramfs-tools\niptables\nlocales\nnet-tools\nopenssh-server\nresolvconf\nsudo\nsystemd-sysv' > /root/essentials

键盘虚拟机:

echo -e 'base-files\nbase-passwd\nbash\nbsdutils\ncoreutils\ndash\ndebianutils\ndiffutils\ndpkg\nfindutils\ngrep\ngzip\nhostname\nifupdown\ninit-system-helpers\nlibc-bin\nlogin\nncurses-base\nncurses-bin\nperl-base\nsed\nsysvinit-utils\nopenssh-server\ntar\nutil-linux\nwget\nzip\nsudo\nwide-dhcpv6-client\nhtop\ninitramfs-tools\niptables\nlocales\nnet-tools\nopenssh-server\nresolvconf\nsudo\nsystemd-sysv\nlinux-image-amd64' > /root/essentials

现在 Debfoster 将删除该列表中未包含的所有内容,请执行以下操作:

debfoster -fk /root/essentials

您将看到 Debfoster 将删除的软件包列表,按 Y。

注意:在基于 KVM 的实例上,不要删除内核和 Grub 相关数据,在 Debfoster 删除过程中将会询问您。另外,如果您在 apt update/install 期间收到“无法获取”错误,您可能需要重新创建 resolv.conf 文件,请执行以下操作:

echo -e "nameserver 8.8.8.8\nnameserver 8.8.4.4" > /etc/resolv.conf; systemctl restart systemd-resolved; cat /etc/resolv.conf

步骤4 :删除操作系统缓存文件

最后一步,您可以通过执行以下命令删除所有缓存和日志目录以及不必要的区域设置文件:

rm -rf /var/cache/* /var/lib/apt/lists/* /usr/share/locale/* /usr/share/man/* /usr/share/X11/locale/* /root/.cache/* /var/log/* /usr/share/man/?? /usr/share/man/??_*

或者,您可以通过压缩 initramfs 来节省大约 10 MB 的磁盘空间,执行以下操作即可:

echo 'COMPRESS=xz' > /etc/initramfs-tools/conf.d/compress

系统并通过执行以下命令检查磁盘空间使用情况:

df- h

结论:
就是这样,我已将 805 MB Debian 10 安装减少到 278 MB 磁盘空间,如果这对您来说还不够,请尝试DietPi。我希望这篇文章能够指导您在 Debian/Ubuntu 安装下创建最小环境。

v2ray节点购买