« 経済のこと よくわからないまま社会人になってしまった人へ - 池上 彰 | メイン | Googleを支える技術 - 西田 圭介 »

2008年4月23日

debian の tar を使ったロールバックの方法

?u?b?N?}?[?N???B???

前にも書いたとおり、最近Thinkpadにdebianを入れて楽しんでいるのですが、いろいろ入れているとたまにうまくインストールできないソフトがあります。そういう時には、その新しくインストールしたソフトを削除したりしてみるのですが、必要なものまで削除されてたり、必要ないものが残ってたりとなかなかうまくいきません。今まではそのたびにシステムの再インストールをしてました。

ただ、このThinkpadにはCDやDVDのドライブが付いていないため、いちいち外付けドライブをくっつけてインストールしていたのですが、いい加減面倒になってきました。なので、いちいち外からとりこまないでもロールバックできる方法を探して見ました。結論としては、普通のバックアップ&リストアの方法と同じことをすればよいのですね。真剣にバックアップをするならば、dumpやddといった方法もあるのですが、ここでは手軽に行いたいので tar を使ってやります。なお、以下の方法はパーティション単位になります。パーティションの構成は、sda1がシステム全般、sda3が/homeになっています。

前準備

まずは前準備です。外からつながないで、中だけでバックアップ&リストアを完結できるようにします。

そのためにメインのOSとは別のバックアップ復旧用のOSをインストールします。僕は面倒だったので、そのままdebianをもうひとつインストール。設定は最小構成で十分です。容量的にも1Gあればどうにかなると思いますが、念のため3Gぐらい確保しておきます。

バックアップ

今回は「確実に動く特定の時点」にロールバックすることが目的なので、その時点のスナップショット代わりに tar によるバックアップを取っておきます。念のためシングルユーザモードで。
# mount -t ext3 /mnt /dev/sda1
# tar zcvf /home/share/backup.tar.gz /mnt

ロールバック (リストア)

さて、ここからが本題のロールバックの方法です。まず試したのはシングルユーザモードで入って、tarファイルの解凍です。
# tar zxvf /home/share/backup.tar.gz
ただ、この方法だと、システムの状態は元に戻るのですが、新しくインストールした分のファイルなどはそのままで残ってしまいます。つまりごみファイルが大量に残ります。さすがにこれは、と思ったので別の方法を探します。とりあえず、システムファイルを一度全部消してしまえばいいのです。ただ、システムを消すと動かなくなってしまいます。そこで前準備でやったバックアップ復旧用のOSです。あらかじめ別のOSがインストールしてあるならば、そのOSに入って、復旧したいパーティションを初期化してから展開すればいいのです。
# mke2fs -j /dev/sda1
# mount -t ext3 /dev/sda1 /mnt
# mount -t ext3 /dev/sda3 /mnt2
# tar zxvf /mnt2/share/backup.tar.gz
これで復旧完了です。準備が面倒ですが、準備してしまえばあとは簡単にできます。

  1. iPod touch の Jailbreak
  2. iPod touch (var 1.1.4) の Jailbreak
  3. Thinkpad x41 に Debian sid をインストール
  4. Thinkpad x41 の debian sid の無線 LAN 設定
  5. debian sid でのイーモバイル D02HW の設定



トラックバック

このエントリーのトラックバックURL:
http://webcrawl.s288.xrea.com/mt/mt-tb.cgi/505

コメントを投稿

サイト内検索

Google
 

2008年8月

          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            
アーカイブ

Author Info.

mypic mkataigi
Webエンジニア
mail:makoto@wcrawl.com