![创建当前系统的映像副本以安装在其他计算机上](https://linux22.com/image/1000356/%E5%88%9B%E5%BB%BA%E5%BD%93%E5%89%8D%E7%B3%BB%E7%BB%9F%E7%9A%84%E6%98%A0%E5%83%8F%E5%89%AF%E6%9C%AC%E4%BB%A5%E5%AE%89%E8%A3%85%E5%9C%A8%E5%85%B6%E4%BB%96%E8%AE%A1%E7%AE%97%E6%9C%BA%E4%B8%8A.png)
我知道这个问题以前曾以各种形式被问过,但我从未真正找到一个确切的答案,也许我并没有真正仔细研究过。
我有一个全新安装的 Ubuntu 14.04,并且安装了几个软件包,比如 node、git、vscode、chrome 等。我想复制当前系统并安装所有这些新软件包和配置,以便其他人可以安装它,而不必从头开始安装所有内容。
有人知道这是否可行吗?如果可行,是否有任何好的文档或教程可供我查看?
我能想到的一些潜在问题是用户名和密码。这些会被延续吗?如果会,最好的处理方法是什么?我尝试过 SystemBack 之类的东西,但它似乎并没有真正实现我想要的效果。
答案1
我在安装 Ubuntu 的新电脑时也遇到了类似的问题,并且讨厌再次进行所有特定设置。如果你只查看已安装的软件,一种解决方案是编写一个简短的脚本,该脚本基本上包含所有安装步骤
#!/bin/sh
echo "Installing software"
sudo apt install -y gparted
sudo apt install -y clonezilla
它对我不起作用,因为更多的工作是程序的配置。通过脚本来修改设置实在是太麻烦了。因此,对我来说,方法是使用 Clonezilla。我只需将 ubuntu 分区克隆到 USB 驱动器即可。为此,我使用由 clonezilla ISO 制作的启动 CD(您可以从 clonezilla.org 下载)。CD 自动启动,导航非常简单。我选择“初学者模式”和“保存分区”来保存 Ubuntu 分区。您可能希望在此之前使用 gparted 来记下正确的分区名称,例如 /dev/sda2。您可以忽略交换分区。最棒的是它包含所有内容,包括用户名和帐户。网络设置也是一样的。
在新电脑上,我只需运行安装 CD,选择“试用 Ubuntu”并启动 gparted(可在 Live CD 上使用)。然后我创建一个新的交换分区和一个比复制的分区稍大的 Ubuntu 分区。然后我用 Clonezilla CD 重新启动电脑,并选择“初学者模式”和“恢复分区”。我选择 USB 磁盘和保存的分区,并选择新创建的分区作为目标。剩下唯一要做的事情就是确保系统能够启动到新分区。然后我退出 clonezilla 到命令行并输入
sudo upgrade-grub
sudo grub-install /dev/sda
这将在您的硬盘上安装 grub 启动管理器。如果您有多个硬盘,您可能需要选择除 /dev/sda 之外的其他名称。您也可以从实时 CD 的终端窗口执行此操作。然后系统应该会启动到 gub 菜单。然后您需要选择正确的磁盘并启动到新映像。
登录并修改网络设置或根据需要创建另一个用户。重新启动之前,再次运行上述 grub 命令,以清除 clonezilla 或 live CD 中的任何残留内容。
这听起来很复杂,但经过几次之后,它就非常快并且比重新安装更容易。