在云服务器环境中,Ubuntu 官方 Cloud Image 往往为了“通用性”而内置了大量面向物理机、桌面或开发环境的组件。这些组件在 VPS 上不仅没有意义,还会带来磁盘浪费、升级风险以及依赖混乱。

本文记录了一次真实的 Ubuntu 24.04(noble)云主机修复与极简化过程,从发现磁盘异常、定位无用组件,到修复 APT 依赖与源混乱,最终将系统恢复为一个干净、稳定、适合长期运行网络服务的 VPS 系统


一、问题的起点:异常臃肿的 /usr/lib

通过分析 /usr/lib 目录发现系统体积远大于典型 VPS:

du -h --max-depth=1 /usr/lib

其中包含大量不应出现在 VPS 上的组件:

  • 固件(firmware)
  • 编译器与 LLVM
  • Python 云 SDK
  • X11、键盘、字体
  • 多套内核模块

这些都是典型“桌面 / 物理机 / 开发环境”遗留物。


二、发现根因:APT 源跨区域导致版本漂移

进一步排查发现系统使用了:

  • 主仓库:德国镜像
  • 安全仓库:全球默认镜像

在 Ubuntu 24.04 的 .sources 格式下,这种跨站点组合极易导致:

  • 同一包在不同仓库中版本不同
  • APT 依赖树无法解算
  • systemd、init 等基础包出现“假性冲突”

表现为:

init : PreDepends: systemd-sysv but it is not going to be installed

这是典型的仓库不一致导致的依赖破坏


三、正确做法:统一为日本官方仓库

Ubuntu 24.04 采用 /etc/apt/sources.list.d/ubuntu.sources,必须修改该文件,而不是传统 sources.list

统一切换到日本官方镜像(JAIST):

Types: deb
URIs: http://ftp.jaist.ac.jp/pub/Linux/ubuntu/
Suites: noble noble-updates noble-backports noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

然后清空索引并重建:

sudo apt clean
sudo rm -rf /var/lib/apt/lists/*
sudo apt update
sudo dpkg --configure -a
sudo apt -f install
sudo apt --fix-broken install

验证 systemd 依赖已恢复:

apt-cache policy systemd-sysv

显示 Installed 与 Candidate 一致,说明系统处于可维护状态。


四、为什么此时应停止激进删除

在源被修复后,系统已经恢复为:

  • 日本官方 Ubuntu
  • 无 broken 包
  • 无 held 包
  • systemd / init 依赖正确

此时再继续用 dpkg 或强制 purge 删除大量底层库,收益开始小于风险。


五、最终成果

磁盘状态:

df -h

结果:

/dev/vda1   4.9G   1.5G   3.2G   32%   /

也就是说:

一个完整 Ubuntu 24.04 VPS 系统,仅占用约 1.5GB

这已经远小于默认 Cloud Image(通常 2.5–3.5GB),接近“服务器极简化”的合理下限。


六、这次操作真正的价值

这次工作不仅是“删文件”,而是完成了更重要的一件事:

把一台“源错位、依赖潜在损坏的云镜像”
修复为“日本官方、可升级、可长期运行的干净 VPS”

这种状态下的系统:

  • apt upgrade 安全
  • 快照与迁移可靠
  • 服务部署稳定
  • 故障恢复可控

对长期运行 FRP、代理、中继、容器等服务来说,这比再省 200–300MB 磁盘更重要。


七、结论

在云服务器环境中,真正的优化顺序是:

  1. 源一致性
  2. 依赖完整性
  3. 系统角色匹配
  4. 才是体积优化

只有先修复仓库与依赖,瘦身才是安全的。
这次实践证明:一个干净、可维护的 Ubuntu VPS,完全可以在 1.5GB 以内稳定运行多年。

Leave a Reply

Your email address will not be published. Required fields are marked *