升级版本 - 使用后备选项,或虚拟进行

升级版本 - 使用后备选项,或虚拟进行

然后 13.04 版本就发布了。不幸的是,我只在早期升级时遇到过问题,并且总是以失败告终,最终不得不重新安装整个系统。这次我想避免这种情况。

我有一个装有 Ubuntu 12.10 32 位的盒子,运行 Gnome 3 classic + 各种服务,如 BIND9、MySQL、Postfix、Apache 等。

经过反复考虑,我决定创建当前系统的克隆。如果系统崩溃,我可以恢复。

问题是如何最好地做到这一点。我可以使用 克隆分区dd,但猜测升级也意味着对 GRUB 和 MBR 进行一些更改。

目前的布局大致如下:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 931.5G  0 disk 
├─sda1   8:1    0   7.6G  0 part [SWAP]
├─sda2   8:2    0  93.5G  0 part /mnt/old_ubu_11.04
├─sda3   8:3    0  93.5G  0 part /
├─sda4   8:4    0     1K  0 part 
└─sda5   8:5    0   737G  0 part /mnt/storage
sdb      8:16   0   1.8T  0 disk 
└─sdb1   8:17   0   1.8T  0 part /mnt/develop
sdc      8:32   0   1.8T  0 disk 
...

系统和主页位于sda3

首先想到的可能是这样的:

dd if=/dev/sda3 of=/mnt/storage/ubuntu_12.10.img
dd if=/dev/sda bs=512 count=1 of=/mnt/storage/MBR.img
dd if=/dev/sda bs=512 skip=1 count=3 of=/mnt/storage/POST_MBR.img

我猜,这种方法的问题在于伪文件系统,如/sys/proc(所以我应该从实时 CD/USB 执行此操作)。将这些图像写回去会不会有问题?

克隆或者类似的东西更好?(从未使用过)。


另外,我真正想做的是使用虚拟系统。猜测它将有 80% 左右的相似度(由于硬件层等)。然后do-release-upgrade通过 VirtualBox 等在其中运行。这是一个可行的选择吗?

变更说明

我添加这一点是因为这是我的问题的部分内容——并且可能对其他人有帮助。我还想知道它是否准确地描述了将要更新的内容。如果能确认这一点就更好了。


不!

apt-get --simulate dist-upgrade,不会模拟从一个版本到另一个版本的升级。例如正如这里解释的那样

apt-get dist-upgrade

和上面一样(apt-get upgrade 原文如此。),除了添加“智能升级”复选框。它告诉 APT 使用“智能”冲突解决系统,并且它将尝试升级最重要的软件包,而如果有必要,则牺牲不太重要的软件包。

“apt-get dist-upgrade” 不执行分发升级。

(查看网络上的许多注释和“答案”,它们都将此作为一种选择。)


经过一番折腾之后,我得出了以下结论:

cd /etc/apt/
sudo cp sources.list sources.list_bak
sudo vi sources.list

# in vim:
:%s/quantal/raring/gc 
# Yes, I can do sed -i 's/...' but like to have bit more control.
:wq

# make log
sudo apt-get update
cd /tmp
apt-get --simulate dist-upgrade > quantal-2-raring.log 2>&1

# and better to be safe then sorry so at once:
su -c 'cp sources.list sources.raring && mv sources.list_bak sources.list && apt-get update'

给我此列表的變化。


附注:

美国/etc/apt/sources.list

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.

该文件已经过时,可能(也)应该链接到此

答案1

/sys /dev 等。temp 和 memdisk fs 将不会出现在您的备份中,因为 dd 只会从磁盘进行原始读取的转储。将发生变化的是 /var/run 等的临时文件,这些文件将保留在您的转储中。是的,磁盘或 usb 启动可以帮助覆盖此问题。

相关内容