完整的Ubuntu系统副本

我有一个安装了Ubuntu的Linode。 该机器用于网站和“我的世界”之类的东西。

我想创build一个完整的“离线”服务器副本来testing一些新的软件包和当前软件包的升级。 我想将这个副本放入一个VirtualBox虚拟机。

数据不那么重要(例如用户文件,网站,Minecraft世界等),但我非常希望能够复制configuration(网站configuration,软件包安装等)。

这可能吗? 我觉得可能有一种简单的方法来获得跨两个系统安装的相同的软件包(获取已安装软件包的列表并将其提供给安装系统),但也许可能更难以获得configuration文件(在/例如) – 也许很难是错误的,也许更多的手册是一个更好的描述。

要安装相同的软件包,您可以将/etc/apt/sources.list内容复制到新服务器,然后发出dpkg -l | awk -F" " '{print $2,$3}' | tr " " "=" | tr "\n" " " dpkg -l | awk -F" " '{print $2,$3}' | tr " " "=" | tr "\n" " " dpkg -l | awk -F" " '{print $2,$3}' | tr " " "=" | tr "\n" " "这将给你所有安装的软件包(通过dpkg,apt-get,aptitude等)。

您可以redirect到一个文件,然后使用apt-get install < file.txt安装所有相同版本的包。

由于您运行的是相同的发行版,相同的内核(可能在升级后不同)和相同的软件包版本,因此您只需复制/ etc文件夹即可。

Linode具有“复制磁盘映像”function,可用于复制VM磁盘。

这不允许一个VirtualBox安装,但它确实允许克隆后有一个testing环境。

一种方法是使用Clonezilla对系统进行映像。 然后创build一个新的虚拟机,在那里启动Clonezilla的Live CD,并在虚拟硬盘上拍摄图像。

我build议你采用两种不同的方法:1.把当前的磁盘加到一个文件中,然后退回到你的VM磁盘; 或者2.在你的VM上安装一个新的linode副本,并将你想要/需要的所有文件放入它。

rsync命令将来自linode VM,如下所示:

 rsync -avzgroupP --excude=/proc --exclude=/dev --exclude=/sys --exclude=/lost+found --exclude=/var/log -e ssh [email protected]:/ / 

要从主机运行命令,只需将[email protected]:/ /切换到/ root@vm

你可能想尝试Devstructure的蓝图 。 它存储系统,并将生成厨师,木偶或bash脚本来重新生成它。