我有一台安装了 Ubuntu 的 Linode。这台机器用于网站和 Minecraft 之类的东西。
我想创建服务器的完整“离线”副本,以测试一些新软件包和现有软件包的升级。我想将此副本放入 VirtualBox VM 中。
数据不太重要(例如用户文件、网站、Minecraft 世界等),但我非常希望能够复制配置(网站配置、安装的包等)。
这可能吗?我觉得可能有一种简单的方法可以在两个系统上安装相同的软件包(获取已安装软件包的列表并将其输入到安装系统中),但获取配置文件(例如在 /etc 中找到的内容)可能更困难 - 也许困难是错误的,也许更多的手册是更好的描述。
答案1
要安装相同的软件包,您可以将 /etc/apt/sources.list 内容复制到新服务器,然后发出命令dpkg -l | awk -F" " '{print $2,$3}' | tr " " "=" | tr "\n" " "
,这将为您安装所有软件包(通过 dpkg、apt-get、aptitude 等)。
您可以重定向到一个文件,然后使用apt-get install < file.txt
它安装所有相同版本的相同软件包。
由于您运行的是相同的发行版、相同的内核(升级后可能有所不同)和相同的软件包版本,因此只需复制 /etc 文件夹就可以了。
答案2
Linode 有一个“重复的磁盘映像”您可以使用该功能来复制虚拟机磁盘。
这不允许 VirtualBox 安装,但允许在克隆后拥有测试环境。
答案3
一种方法是使用以下方法对系统进行成像克隆兹拉。然后创建一个新的虚拟机,在其中启动 Clonezilla 的 Live CD,并将映像放在虚拟硬盘上。
答案4
你可能想尝试 Devstructure 的蓝图。它会对系统进行清点,并生成 chef、puppet 或 bash 脚本来重新生成它。