Knoppix 6.2 には dump / restore がない!

2010/10/22 (金)

HDDが不調なため、交換することに。

こういうときのために、日々バックアップしているし、
レスキュー用にKnoppixがあるから安心。

と思ってたら、大いにはまってしまった。

なんと、Knoppix 6.2にはdump / restoreが入っていない!

伝統的にみて、こんなに重要なコマンドがはいっていないとは一体どういうことだ!?

しょうがないので、インストールして難を逃れた。
が、インストールできるまでに色々あったので、まとめておく。

ついでに、リストアの手順も備忘録的に。

rootコンソールを起動

Knoppixでいつも分かりにくいものの一つが、rootで動かせるコンソール。
基本的に、suはできないので、rootで動くコンソールを立ち上げる。

こいつも、バージョンが変わるたびに起動させ方(在処)が変わってる気がする。

6.2だと、

アクセサリ/システムターミナル・スーパーユーザーモード

ってのがそれ。

キー配列をASCIIに

Knoppixって、以前はASCII配列が標準だったけど、
いつの間にかJIS配列が標準に改悪されている。

ということで、まずは、キー配列を直す。

これも以前のバージョンではタスクバーから簡単に変更できたような記憶があるが、
6.2ではそれがなくなっている。

設定/KDEシステム設定

で、「個人」の中にある「国と言語」を開くと「キーボード配列」ってのがある。
これを開くと

  • Generic 105-key (Intl) PC
  • USA

てな具合に一見期待通りの値になってそうな気がするけど、
現実にはJIS配列で認識されてるので、
一旦他の値にして、元に戻すか、
「Generic 101-key PC」あたりを選択する。
そうすると、「適用」ボタンが有効になるので、すかさず設定。

これで、無事、ASCII配列で使える。

さらに、「詳細」タブを開いて、中程にある、「Ctrl key position」で
「Swap Ctrl and CapsLock」を選んで「適用」をクリックすると幸せ。

ネットワーク周りの設定

IPアドレスやルートの設定をして、外に出られるように。

DHCPサーバが動いてれば自動的に設定されてるけど、
DHCPサーバ自体のレストアでは手動で設定するしかない。

# ifconfig eth0 192.168.1.123 netmask 255.255.255.0 broadcast 192.168.1.255 up
# route add -net default gw 192.168.1.1
# echo "nameserver 202.224.32.1" > /etc/resolv.conf

なお、「202.224.32.1」はASAHIネットのDNSサーバのIPアドレス。

dump / restoreのインストール

さて、肝心の dump / restore のインストール。
まずは、データベースの更新。

# apt-get update

ところが、これがエラーになる。

E: Dynamic MMap ran out of room. Please increase the size of APT::Cache Limit. Current value : 25165824. (man 5 apt.conf)

しょうがないからググッてみると、apt.confでAPT::Cache-Limitを増やせとか出てくる。
ところが、それをやっても効果なし。同じメッセージのエラー。

結局たどり着いたのが、/etc/apt/sources.list の記述を減らすってこと。

viで /etc/apt/sources.list を開いて、じっと眺めて、
testing, unstable, experimental は要らんだろうと考え、
それらの行を削除(コメントアウト)。
再び、

# apt-get update

したら、今後は無事通過。

ということで、ようやく dump / restore のインストール。

# apt-get install dump

restoreはdumpパッケージに入っている。

新しいハードディスクのフォーマット

まずは、fdiskで適切にパーティションを切る。
スワップ領域はタイプの変更を忘れないように。

もう一つ、アクティブパーティションの設定も(必要なら)忘れないように。

続いて、ファイルシステムの設定。

# mke2fs -j -m 3 /dev/sda1
# mkswap /dev/sda2

てな感じて、新たに作ったパーティションすべてをフォーマットする。

データのリストア

バックアップしたデータが、/dev/sdb1 の backup というディレクトリにあるとする。
まずは、これをマウントして読めるようにする。

# mkdir /mnt/sdb1
# mount /dev/sdb1 /mnt/sdb1

もちろん、マウントするディレクトリ名は他でも良い。
バックアップデータは、sda1.0.gz というファイル名とする。

# mkdir /mnt/sda1
# mount /dev/sda1 /mnt/sda1
# cd /mnt/sdb1/backup
# zcat sda1.0.gz | (cd /mnt/sda1; restore -rf - )

基本は以上。

インクリメンタルダンプしていれば、必要に応じて、

# zcat sda1.1.gz | (cd /mnt/sda1; restore -rf - )

のように続ける。

restoresymtable というファイルができるが、不要なので削除。

他のパーティションも同様にしてリストアする。

GRUBのインストール

ブートローダのGRUBをインストールする。

# grub-install --root-directory=/mnt/sda1 /dev/sda

リブート

最後に、伝統にのっとり、syncを三回実行して、
祈りながらリブートすれば立ち上がるはず。

# sync
# sync
# sync
# shutdown -r now