我如何获取在 VPS 上运行的 ubuntu 映像,然后使其在本地计算机上运行?我可以通过 ssh 以 root 用户身份访问我的 VPS。
拍摄它的图像并使其在本地机器上运行将帮助我创建暂存/生产服务器副本。
我的机器上已经安装了几个应用程序,手动复制它们对我来说很困难。
答案1
有可能的,
尝试设置另一台具有大量磁盘空间的机器(至少足以容纳您的 VPS 和主机操作系统的大小)。完成此操作后,您应该执行以下操作:
dd if=/dev/hda | ssh username@placetobackup "dd of=/directory_of_backups_on_ssh_server/backupfile.img"
从服务器下载备份映像后,将其放在(外部)硬盘上。接下来启动 Ubuntu 实时磁盘。在要放置系统的硬盘上创建一个新分区。它的大小应与您的 VPS 所使用的大小相同。
假设这个磁盘叫做/dev/sda
假设我们的备份镜像的外部磁盘名为/dev/sdb
parted /dev/sda mklabel msdos
用于cfdisk
对驱动器进行分区/dev/sda
接下来将硬盘安装到你的实时环境中
mount /dev/sda /mnt
接下来安装sdb
mkdir /oldImage; mount /dev/sdb /oldImage
cd /oldImage
接下来我们将所有内容连同所有权利复制到新图像中
find . -xdev | cpio -pm /mnt
接下来挂载一些文件夹:
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
将你自己 chroot :
chroot /mnt
安装内核并设置 grub:
apt-get install linux-image-2.6-amd64 grub
grub-install /dev/vda
update-grub
确保 fstab 中的所有内容正确
vim /etc/fstab
接下来关闭系统,从我们复制所有内容的硬盘启动。
答案2
我会做什么(尽管从未做过):
- 使用 dd 创建分区的映像(您可能需要另一个分区来存储该映像):dd if=/dev/sda1 of=/dev/sdb1/imagename.img
- 下载该图片
- 创建本地分区并将映像解压到该分区上(这里有一个例子)
- 通过虚拟化使用该分区
这些步骤看起来非常合乎逻辑,但恐怕我没有详细的流程;)