把整套 Linux 桌面打包带走:用 Penguin’s Eggs 做成可启动镜像

重装一次 Linux 桌面往往需要大半天:克隆仓库、安装软件包、恢复配置文件、跑初始化脚本,把数月里积攒的每一项偏好重新拼回来。与其每次从零搭建,不如把正在使用的整套环境直接打包成可启动镜像,装到另一台机器上就能原样复活。实现这一点的工具是 Penguin’s Eggs。
什么是 Penguin’s Eggs
Penguin’s Eggs 的设计目标,是把一台正在运行的 Linux 安装「重新加工」(remaster)成一个可启动的混合 ISO 镜像。它支持主流发行版,基本原理是:抓取当前操作系统,为重新加工准备好文件系统,生成一个经过压缩的 SquashFS 镜像,再围绕它构建出可启动的 ISO。
这套工具并非新近出现,内部已经过多次演进。它的命令行入口是 eggs,而 coa 是一个基于 Go 语言编写的编排器,也作为可互换的命令别名使用。
配置:决定镜像里装什么
正式重新加工之前,先进入配置界面:
sudo coa config
当前配置界面允许修改多项设置,包括实时用户密码、压缩算法、压缩级别、ISO 文件名前缀,以及应当从 SquashFS 镜像中排除的文件清单。这些设置保存在 /etc/penguins-eggs.d/ 目录下。
这一步的意义在于,默认配置不必决定每一个 ISO 的产出方式。例如想把某个目录排除在镜像之外,只需把它加入自定义排除列表,而不必手动删掉源系统里的目录。
配置时还要做一个关键选择:是要一个干净的实时系统,还是一个包含用户数据的克隆。普通重新加工会生成一个不含 /home 完整内容的实时系统;而克隆模式(clone)则专门用于保留用户与 /home。
生成可启动 ISO
系统和配置就绪后,用下面的命令生成镜像:
sudo coa remaster
生成的 ISO 默认写入 Penguin’s Eggs 的工作目录 /home/eggs。如果希望镜像包含自己的用户环境,则使用克隆模式:
sudo eggs remaster clone
clone 选项会告诉 Penguin’s Eggs 在生成的镜像中保留用户与 /home。
重新加工过程中,工具会构建实时文件系统并打包成可启动的混合 ISO。它同时支持 BIOS 与 UEFI 启动,因此镜像既可以在虚拟机里测试,也能写入 U 盘实机启动。耗时主要取决于需要压缩的数据量:家目录庞大、安装软件众多的系统,自然比最小化桌面安装耗时更久。
测试与安装
生成后先用虚拟机验证更为稳妥。用 QEMU 启动该 ISO,检查桌面环境、应用程序、配置文件和脚本是否如预期出现,能在写入 U 盘前先发现问题。
实时系统(开发团队给它起了个有趣的昵称「企鹅幼鸟」)高度还原了被捕获的环境:桌面配置、应用程序、克隆模式下包含的文件都一应俱全。接下来测试安装流程,安装器通过 sysinstall 暴露,Penguin’s Eggs 同时支持图形化的 Calamares 与终端式的 Krill。图形安装命令为:
sudo coa sysinstall calamares
终端界面则为:
sudo coa sysinstall krill
Krill 是 Penguin’s Eggs 的默认安装器,在没有图形环境、只能用命令行的机器上尤其有用。在虚拟机里完成一次全新安装、重启之后,得到的系统比常规全新安装更接近原始环境。真正的考验是把它搬到另一台机器:从 ISO 启动、跑安装器,虽然仍需选择目标磁盘、配置安装等常规步骤,但环境本身早已准备就绪。
局限与适用场景
克隆正在使用的工作站存在一个明显限制:一套围绕特定显卡、特定存储布局或特定网卡配置的 Linux 安装,搬到另一台电脑后表现可能不同。这种方法最适合「源系统保持较高硬件无关性」的场景。
理解这一限制之后,收益就很实在了。最大的优势是重装工作站时省下的时间——不必再回忆数月里累积的每一个软件包、每一项桌面偏好、每一处细微配置。Linux 环境由此变成一种可以捕获、测试、存储、再次部署的产物,这比单纯在 Git 上收集一堆点配置文件更具实用价值。
来源:How-To Geek(作者 Umair Khurshid,2026 年 8 月 16 日)







