いろいろインストールしすぎたせいか、それとも自動アップデートのバグなのか、あるいはそれ以外の原因なのか、さっぱりわからないのだけれど、しばらく前からプリンタで印刷ができなくなっていた。これはプリンタを管理するCUPSというプログラムが動いていないせいらしい。そこでいろいろと試してみたが改善しない。少なくとも2週間ほど前には間違いなく稼働していたので、以前の状態にシステムを戻せばいいのだけれど、UbuntuにはWindowsのように「システムの復元」というツールが用意されていない。同じようなことはSynapticパッケージマネージャで手動でできなくはないのだけれど、かなり面倒な作業になる上、依存関係なんかが絡めば素人では対処できなくなる。もっといい方法があるのかもしれないが、それは知らない。
ということで、「再インストールかなあ」と思っていたのだが、再インストール→まずはバックアップという思考の流れの中で、1ヶ月か2ヶ月前にかなり大規模なバックアップをとったことを思い出した。確か、ディスク全体のバックアップをしたはず。そう、バッテリ問題でVistaをインストールしたときだったと、記憶が甦った。ということは、あのバックアップを使えば、システムの復元ができるかもしれない。
話は単純で、ディスク(というかパーティション)全体のバックアップをとってあるので、これを書き戻すだけ。そうすれば全てはバックアップをとった時点に戻る。ただ自分の作成したデータは失いたくないので、Home以下のディレクトリはいじらいない。それ以外の部分を書き戻すことになる。バックアップはGrsyncを使ったから、同じ手段でやればいい。
ここで問題になるのは、Grsyncは動作中のシステムからでは、そのシステムの完全なコピーをとれないということ。別ドライブもしくは別パーティションから起動して作業しなければならない。けれど、先のVisita再インストールで、別パーティションにインストールしてあったUbuntu 8.04 lpiaは消えている。
この別パーティションの内容もバックアップをとってあるので、まずはここから作業。Grsyncを管理者権限で立ち上げて、マウントした別パーティションに外付けのバックアップデータを書き込み。いろいろオプションがあるのをほとんどオンにしての作業。けっこう時間がかかる(2時間ぐらい)が、他の作業をしながらだから気にならない。
データが完全に復旧できたところで、Grubの再設定。これは KGRUBEditorを使う。ただ、Grubの設定の方法はすっかり忘れているし、以前のファイルとはパーティションの設定やUUIDが変わっている。このあたり、古いファイルを見たり、新たに設定をしなおしたりと、けっこう手間取ってしまうが、ともかく最終的には起動できた。Grubの設定だけで、システムそのものは完全に復旧できていたわけだ。
次に、この別パーティションからの起動で、いよいよシステムの復元(その以前にデータのバックアップはしときました。もちろん)。/homeのパーティションを分けておけば手間はなかったのだけれど、分けていなかったので、/home以外のディレクトリをいちいち選んでGrsyncで復旧。この際、余分なファイルを削除するため、「コピー先のファイルを削除」にチェックを入れる。
作業終了後、再起動。さて、どうなったかと思ったら、Xの設定がうまくいかないとかいうエラーでログインできない。端末でのログインはなんとかできるのでここから修復しようとするが、ふと気がついて別の方法をやってみることにした。
というのは、さっきのGrsyncでのコピーの際、「存在するファイルは無視する」にチェックを入れていたからだ。同じファイルに上書きするのは時間を食うだけだと思ったからなのだが、このチェックを外して再度コピー。すると、難なく立ち上がった。
つまり、完全なコピーを作るには、「コピー先のファイルを削除」にチェックをいれ、「存在するファイルは無視する」にはチェックを入れないことが大切だということのようだ。なるほど、ファイル名が同じでも内容が違う場合があるということなんだろうか。
ともかくも、これで5月半ば過ぎの状態にシステムは戻った。もちろん、プリンタもちゃんと機能する。時間はかなりかかったけれど、再インストールと違っていつもの環境で作業しながらバックグラウンドで復元するので、大きな負担にはならない。もちろんGrubの設定とか、エラーでつぶれた時間はあったので、最終的にどっちがよかったのかはわからないのだけれど。
たぶん、システムの復元をするようなツールは、もっと別のものがある。AppleのタイムマシンのようなソフトもUbuntuのリポジトリにはあるそうだから、そういうのを最初から使っておけばよかったのかもしれない。なんにしても、バックアップは重要というのが今回の教訓。
そうそう、起動後にこの1ヶ月半でたまったアップデートを実行したら、CUPSがらみのものがあった。このアップデートが関係するかどうかはわからないのだけれど、念のため、これらはバージョンを固定しておいた。セキュリティ上はあまりよろしくないかもしれないが、しばらく使って安定したころにバージョンアップすることにしよう。