[出来事] ファイルシステム破壊
やってしまいました.GNU Parted 1.7.1 + libreiserfs (progsreiserfs 0.3.0) でパーティションのサイズを変更しようとして... 以下のような今日の小咄 2003年12月分の記述と同様のエラーが発生してしまいました.具体的な残り時間や node 番号は失念したため,ここでは xxxx で示しています.
shrinking... 12% (time left xxx:xx) Error: Invalid node detected (xxxxxx). Unkonwn type.
ファイルシステムは破壊され,マウントできなくなってしまいました.reiserfsck --fix-fixable もダメもとで試しましたが,やはりダメでした.仕方なく最終手段の reiserfsck --rebuild-tree を実行することに.
実行後,居場所を失ったファイルやディレクトリが lost+found ディレクトリに大量移動してきました.その総容量,約 576MBytes.本当に消えて困るデータは別マシンにバックアップしていたのでいいのですが,Gentoo Linux の再インストールを今やるのは大変です.
幸い,/etc, /usr, /bin, /var は難を逃れたようです(もちろん完全に逃れたとは思えませんが...).そこで,これらも別なマシンにバックアップし,バックアップが完了し次第,パーティションを切り直してファイルシステムを再構築後,ファイルを元に戻し,システムを復帰させることにします.
新ルートパーティションに退避したデータをコピーして,GRUB の設定や /etc/fstab の書き換えを行った後,マシンを再起動すると... 問題なくGDM のログイン画面まで到達しました.
いざログインしようとすると,KDE が起動しません.
% kdeinit kdeinit: symbol lookup error: /usr/kde/3.5/lib/libkdecore.so.4: undefined symbol: (xx) %
(xx) で書いたところは文字化けして読めませんでした.シンボル名が文字化けしてるということは... 一見,難を逃れたように見えるファイルはやはりダメージを受けているということになります.
KDE 関連は怪しいので,kdebase と kdelibs を入れ直してみようとするも,今度は Perl のファイルが見つからない(lost+found へ行ってしまったのでしょう)とのことで,Automake が起動しません.よって perl も再インストールします.
perl が入ったので,次は kdelibs をインストールしようとすると... 途中でコンパイルがコケました.
/usr/include/X11/Xlib.h:3772: error: 'XConnectionWatchProc' has not been declared
嫌な予感がします./usr/include/X11/ の下で grep -R XConnectionWatchProc を実行しても,その定義が見当たりません.X も再インストールです.
こうなってくると,もう最初から入れ直した方が早いんじゃないだろうかと思うのですが,とりあえず作業を続行することにします.
私が作業を手抜きしようとしたがために得た今回の教訓は,「GNU Parted で ReiserFS のリサイズをするより,全てをバックアップしてパーティションを切り直した方が安全」です.
トラックバック
トラックバック URI: https://www.pakunet.jp/hoge/trackback/2006122301
トラックバックはありません.