50MB 安装 Linux 系统后余下 20MB 的探索
一台普通的 Ubuntu 或 Fedora 系统在安装完成后,其磁盘空间占用率就可能轻易达到 15GB。即使以精简著称的 Alpine Linux,使用后的空间也要几百 MB。然而有些人设定了比较小的目标,仅用 50MB 成功运行起一个包含桌面环境、终端以及若干基本功能的系统。这个系统通过使用 TinyCore OS 实现。与其说是去掉不必要的组件,不如说是只安装所需的部分,最终安装完成后,磁盘上竟然还留有 20MB 的空间。
TinyCore 具备三种不同版本,最小的仅需 20MB:Core 版本提供纯命令行界面,仅需 20MB;TinyCore 版本则在 Core 的基础上增加了桌面环境;而 CorePlus 版本则进一步增添了 Wi-Fi 支持和多种布局选项。这几个版本都拥有一个共同的关键特性:系统的运行依托于内存,而不是从硬盘读取数据,因而使其运行速度异常迅速,即使是在使用机械硬盘的情况下。此外,TinyCore 还配有自身的软件库,但其工作方式与常见的 Linux 发行版有所不同,更像是在启动时直接挂载文件。
在 50MB 的分区上进行安装时,首先需要下载 TinyCore 的 ISO 文件,并借助虚拟机或旧款笔记本来进行安装。如果选择 Proxmox,虚拟硬盘的设置需为 IDE 或 SATA,而非 VirtIO。启动 ISO 后,在命令行输入 tce-load -wi tc-install 以加载安装扩展。tce-load 是 TinyCore 提供的安装软件的方法,虽然功能与 APT 或 DNF 类似,但底层原理却差异颇大。
接下来,需要以 sudo 权限运行 tc-install.sh 开展安装流程。他选择了 frugal 模式,力求将安装包的体积压缩至最小。整个 50MB 的分区格式化为 ext4 文件系统。需要注意的是,frugal 安装默认没有图形界面,用户需手动添加,他选择了最轻的基础组合,并通过一条命令完成安装:tce-load -wi Xvesa flwm_topside wbar aterm。运行 startx 后,桌面环境便启动了。
在这个配置中,最大限制是空间,因此在安装任意应用之前,都必须了解它们的大小。TinyCore 提供了 tce-size 命令来查询。例如,他计划在每台 Linux 机器上安装的 htop,使用 tce-size htop 查询得知整个包仅占用 320KB。随后,运行命令 tce-load -wi htop 便可完成安装并将其加入启动列表。
他还安装了另外几款轻量级应用:Dillo(约 1MB 的简约浏览器)、Screen(0.5MB,用于维持 SSH 会话)、fluff(超轻量文件管理器,大小仅为 100KB)以及 Dropbear(OpenSSH 的小型替代品,200KB)。这些应用覆盖了基本功能,安装后空间仍然剩下足足 20MB。如果有防火墙的需求,可以考虑 iptables 或 nftables 等工具。
需要注意的是,TinyCore 的所有组件都运行于内存之上,这是其能够在较旧设备上顺畅运行的重要原因。然而,这也意味着所有操作数据临时存放在易失性内存中,重启后会丢失。为了保存文件或设置,必须先运行 filetool.sh -b,否则一旦重启之前的更改将全部失效。
缺点亦是显而易见:在只有 50MB 可用空间的环境下,硬件支持和软件生态都会受到限制。首次在笔记本上尝试时,Wi-Fi 固件的体积显得异常庞大,因此最好使用有线连接。至于高阶显卡驱动,几乎可以忽略不计,因为它们往往占用 GB 級别的空间。TinyCore 的可用软件数量较少,更新也显得迟缓,包括安全性更新。此外,常见的 systemd 组件同样未被包含。
尽管 TinyCore 较小容易让人低估其价值,然而它在紧急情况下实际上是非常有效的。你可以将其设置为一款轻巧的恢复工具,存储在 U 盘上,完全可以胜任。如果坚持使用命令行版本,50MB 中可以放入大量修复工具。若想要利用一台老旧电脑的潜力,甚至可以用 TinyCore 打造一台小型 Linux 服务器,在局域网中托管一些服务。虽然这会超出 50MB 的设限,但这仅仅是个实验,往大多数老旧笔记本而言,有 4GB 内存也对轻量级服务提供了宽敞的空间。
星期日-星期五||8:00-7:00
13594780498