温馨提示×

怎样优化 Ubuntu From Scratch

小樊
43
2026-07-01 05:20:45
栏目: 智能运维

优化 Ubuntu From Scratch(UFS) 本质上是在最小化、从零构建的 Ubuntu 系统基础上,提高性能、稳定性、可维护性和安全性。下面我从系统层级、构建过程、运行效率、安全与维护四个方面,给出一套实用优化建议(偏进阶,但结构清晰)。


一、系统构建阶段的优化(最关键)

1. 精简软件包选择

  • 只安装真正需要的包
    • 使用 debootstrap --variant=minbase
    • 避免直接装 ubuntu-desktopbuild-essential
  • 常见最小集:
base-files
base-passwd
bash
coreutils
dpkg
libc
login
passwd
systemd

✅ 好处:

  • 减少攻击面
  • 降低升级复杂度
  • 提升启动速度

2. 使用轻量级 init / 服务管理

  • 推荐方案
    • systemd(官方,但较重)
    • OpenRC / runit(轻量,适合高级用户)
  • 若用 systemd:
systemctl disable bluetooth cups avahi

3. 定制内核(强烈推荐)

UFS 允许你完全控制内核:

make localmodconfig
make menuconfig

优化点

  • 关闭:
    • 不需要的文件系统
    • 无用的驱动
    • 调试选项
  • 开启:
    • PREEMPT
    • NO_HZ_FULL
    • CPU_FREQ

✅ 结果:

  • 内核体积小
  • 启动快
  • 内存占用更少

二、系统运行性能优化

4. 文件系统的选择

场景 推荐
桌面 / 通用 ext4
高性能 / 服务器 XFS
极端 I/O F2FS / Btrfs(需调优)

ext4 优化挂载参数

defaults,noatime,commit=60

5. 服务与启动优化

systemd-analyze blame
systemd-analyze critical-chain
  • 禁用:
    • snapd(如不用)
    • cloud-init(物理机)
apt purge snapd cloud-init

6. 内存与缓存优化

  • 禁用 swap(内存充足时):
swapoff -a
  • 限制 journal 日志大小:
journalctl --vacuum-size=50M

三、安全与维护优化

7. 用户与权限

  • 禁用 root SSH
  • 使用 sudo
  • 设置 /etc/sudoers
Defaults secure_path
Defaults use_pty

8. 日志与审计

  • 使用 auditd
  • 限制日志轮转:
/etc/logrotate.conf

9. 自动化维护

  • 使用:
    • apt-cacher-ng(构建机缓存)
    • cron-apt / unattended-upgrades

四、构建流程本身的优化

10. 使用构建脚本

不要手动一步步敲命令,推荐:

ufsbuilder.sh
  • 易复现
  • 易版本化
  • 易 CI 化(GitHub Actions)

11. 复用 debootstrap 缓存

debootstrap --cache-dir=/var/cache/debootstrap

五、适合不同场景的优化建议

场景 建议
服务器 无 GUI、最小 systemd、定制内核
嵌入式 busybox + musl + 最小结构
桌面 启用 GPU 驱动、音频、Wayland
安全系统 AppArmor + 只读根目录

六、进阶建议(可选)

  • Immutable Rootfs
  • OverlayFS
  • Flatpak / Container 化应用
  • Debian Policy 合规化

总结一句话

Ubuntu From Scratch 的优化核心在于:在“你真正需要的最小系统”上做极致精简、控制和自动化。

如果你愿意,我可以:

  • ✅ 给你一个 可用的 UFS 构建脚本
  • ✅ 针对 服务器 / 桌面 / 容器 / 嵌入式 分别优化
  • ✅ 帮你 从零设计一个 50MB 级 Ubuntu 系统

你现在是打算用于哪一类场景?

0