linux最小化安装的核心是“按需安装”,即安装时选择最小化选项、禁用冗余服务、卸载非必要软件包,并通过配置限制日志和依赖,以实现稳定、快速、低攻击面的轻量系统。

Linux 最小化安装的核心是“按需安装”,不装默认桌面、图形 工具、冗余服务和预置软件包,只保留能启动、联网、管理的基础组件。关键不是删东西,而是从安装源头就控制范围。
安装时选最小化模式
主流发行版都提供明确的最小化选项:
- RHEL/centos stream/AlmaLinux:安装界面选择“Minimal Install”或“Server with GUI”→ 取消勾选所有附加环境组
- ubuntu Server:下载官方 Server ISO(非 Desktop),安装过程默认不装 GUI,全程命令行;最后一步取消勾选“Install third-party software”和“Openssh server”以外的所有可选项(如 LXD、docker等)
- debian:使用 netinst ISO,进入安装后,在“Software selection”步骤 只勾选 SSH server,其余全部取消
装完立刻禁用无用服务
即使最小化安装,部分服务仍可能默认启用(如 avahi-daemon、bluetooth、cups)。用以下命令快速清理:
- 查看开机自启服务:
systemctl list-unit-files --type=service --state=enabled - 停用并禁用典型冗余项:
sudo systemctl disable --now avahi-daemon bluetooth ModemManager cups - 精简日志保留(可选):
sudo mkdir -p /etc/systemd/journald.conf.d && echo -e "[Journal]nSystemMaxUse=50MnMaxRetentionSec=7d" | sudo tee /etc/systemd/journald.conf.d/minimal.conf && sudo systemctl restart systemd-journald
卸载默认附带但不用的包
不同发行版预装略有差异,常见可安全移除的包包括:
- RHEL 系:
sudo dnf remove firewalld NetworkManager-wifi iwl*firmware(若用有线 +systemd-networkd) - Ubuntu/Debian:
sudo apt purge snapd whoopsie apport fwupd modemmanager,再执行sudo apt autoremove --purge - 统一建议:不卸载内核、glibc、systemd、bash、coreutils、iproute2、openssh-server——这些是运行基石
后续维护保持轻量
最小化系统不是一劳永逸,日常操作要注意:
- 安装新软件时用
--no-install-recommends(Debian/Ubuntu)或--setopt=install_weak_deps=False(RHEL 系),避免拉入推荐依赖 - 定期检查大包:
dpkg-query -Wf '${Installed-Size}t${Package}n' | sort -n | tail -10(Debian)或rpm -qa --queryformat '%{size} %{name}n' | sort -n | tail -10(RHEL) - 禁用包管理器自动更新(除非必要):
sudo systemctl disable --now unattended-upgrades或关闭dnf-automatic
最小化不是越少越好,而是去掉所有不影响你当前用途的组件。目标是系统稳定、启动快、攻击面小、资源占用低——不是为了追求数字上的“最轻”。