克隆 Windows 系统时,众所周知,应该在创建映像之前运行 sysprep。这样,当机器启动时,它将重新配置自身以适应新环境:重新生成机器 SID、安装适当的驱动程序、创建初始用户帐户等。
我对 Linux 机器的经验较少,所以我想问:克隆 Linux 机器时应该采取什么样的克隆前或克隆后操作?我在网上没有找到任何关于这方面的信息,是因为我找的不够仔细,还是因为这根本不是 Linux 机器的必要步骤?我对 Ubuntu Server 和 Desktop 特别感兴趣,因为这些都是我正在研究的,但我不知道发行版对这个问题有多重要。
显然,我想更改主机名,并且我不希望获得可能需要以某种方式重新配置的每个软件的完整列表,但是在映像时是否存在需要重新配置的常见系统设置或软件包?
答案1
对于 Linux,这取决于所使用的克隆软件和操作系统(您的情况是 Ubuntu),但任何与网络接口相关的静态设置都是一个大问题。如果是静态寻址,IP 和(有时)硬件地址将存储在文本文件中,您必须更改这些地址。
在基于 Red Hat 的发行版中,有一个名为的工具sys-unconfig
可以撤消这些类型的设置以准备重新配置,尽管我不知道 Ubuntu 是否有类似的工具。Linux 环境中实际上没有“SID”,因此实际上不需要 sysprep 工具。最接近 SID 的东西存储在SAMBA 文件下的/etc
远程管理连接,您可以对其进行修改。同样,如果您创建了任何 SSH 密钥,则需要重新生成它们。
答案2
我确实应该将其添加到约翰的帖子中,但由于我没有要点可以到处评论......
/etc/cups/cupsd.conf
对于网络打印机,VNC 的密码文件也很重要。
话虽如此,准备步骤主要是 MS Windows 问题。
除非以非常邪恶的方式编写,否则应用程序应该并且必须以干净的方式将数据(配置)和代码(二进制可执行文件)分开。
完全不推荐,但有一次我遇到需要
dd if=/dev/$disk |nc X.X.X.X Y
在nc -lp Y > /dev/$disk
不同的硬件上(尽管是相同的 CPU 架构)进行克隆的情况,它仍然有效。
配置文件的分离是一件重要的事情。
对于大规模部署,您可能会得到克隆运行良好。 传统的 PXE 启动安装同样有效。
系统成像器有符合职位描述的文章
如何使用 SystemImager 备份 ubuntu 8.10 系统
克隆系统
全自动安装
最后Ubuntu 安装帮助
基本上,其中大多数都会以某种方式自动化地完成您的大部分工作,例如网络配置、DNS解析器、同步时间等等......
我最近遇到的怪事与防火墙配置文件有关。别忘了它们。
答案3
12 年后,我还发现可能需要更改机器 ID。在我这样做之前,克隆的机器(Mint Mate 20.3)在空闲时不断断开其 wifi 连接。
此链接涵盖以下步骤:http://ichimusai.org/after-cloning-a-ubuntu-22-04-server/
简而言之:
sudo rm /etc/machine-id
sudo systemd-machine-id-setup