トップ «前の日記(2012-05-21(Mon)) 最新 次の日記(2012-05-28(Mon))» 編集

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2012-05-24(Thu) なんとなく曇ってる、みたい

dump/restore

DebianとUbuntuで、システムをまるごと別機器(仮想マシン)に移動させてみる。
ファイルシステムは ext3 か ext4(移行前後で違っていても構わないかも)。

何か別のシステムで起動。Ubuntu-12.04 のLive CD を使ってみた。 i686及びamd64 で試している。
Live CD にはdump/restore はインストールされてなかったので、 sourceforge からソースを戴き、ビルドに必要なパッケージを入れる。
gcc や make などは既に入っている。ビルドエラーを見ながら試行錯誤 した結果、

$ sudo apt-get install  -y \
  libncurses5-dev  \
  libreadline-gplv2-dev \
  e2fslibs-dev 
 
dump-0.4b44 $ ./configure --enable-transselinux=NO &&
make && sudo make install

でインストールできた。これらは再起動すると当然消える。
ダンプ先はUSB HDD を使った。

$ sudo dump -0 -f DUMPIMAGE /path/MOUNTOPINT

で取れたイメージを、移行先機器(パーティションを切って、ファイルシステムを 作成しておく)のマウントポイントで

$ sudo restore -r -f DUMPIMAGE 

十ギガバイトあるかないかのデータなら、十数分でできる。
再起動する前に、各種設定ファイルの書き変えと、grubのインストール が必要になる。
/etc/fstab : UUID を書き換える。UUIDは tune2fs -l で確認できる
/boot/grub/grub.cfg UUID やパーティション(msdos#NUM)、デフォルト値 などを書き換える(#NUM は1から数えるらしい)
/etc/udev/rules.d/70-persistent-net.rules eth0 などのエントリを消す
/etc/hosts, /etc/hostname : ホストネームを変える場合
で、grub のインストール。

$ sudo grub-install /dev/DEV --boot-directory /path/MOUNTPOINT/boot

あたりだろうか。今ひとつしっくりいかない場合もあったが、ともかく システム一式を別機器、というか別環境にそっくり移動できた。
/home/USER 以下を暗号化していたが、無事に復号マウントできているようだ。


リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。