udevd-event[2395]: run-program: '/lib/udev/vol-id' abnormal exit
先日Ubuntu(Hardy)のパッケージをアップグレードしたら、aptがエラーを吐いて異常終了するようになってしまった。原因を調べるために/var/log/apt/term.logを眺め、libc6_2.7-9ubuntu1_i386が怪しいと踏んで、apt-getが動作しないので旧バージョンのlibc6をダウンロードしようとSwiftweasel(Firefoxの野良ビルド)を起動しようとしたら起動できない。GNOMEターミナルで新たなタブを開こうとしてもすぐに閉じてしまう。それならとmltermを開こうとするとこちらも落ちる。万事休すかと思ったが、幸運な事にw3mが起動してくれた!w3mで理研のftpサーバを彷徨いながら、libc6_2.7-5ubuntu2_i386.deb、libc6-amd64_2.7-5ubuntu2_i386.deb、libc6-dev_2.7-5ubuntu2_i386.deb、libc6-i686_2.7-5ubuntu2_i386.debをダウンロードし(場所が分からない物はpackages.ubuntu.comで検索して確認)、dpkg -iでインストールするとエラーは収まり(2回dpkg -iする必要があったが)、aptやGNOMEターミナルも正常に動作するようになった。
そこで安心してUbuntuを再起動すると、起動時に以下のようなメッセージが表示されて起動できなくなってしまった。
[]udevd-event[2395]: run-program: '/lib/udev/vol-id' abnormal exit[]
...以下似たようなメッセージが続く...。
これはおそらく旧バージョンのlibc6をインストールしたあとupdate-initramfsしていなかったことが原因ではないかと考え、起動しないのでやむなくhardy-alternate-i386.isoをhttp://cdimage.ubuntu.com/releases/hardy/alpha-6/からダウンロードしてCD-RWに焼き、このCDからrescueモードで
# mount /dev/sda3 /boot ←ここは各自の環境に合わせて # update-initramfs -u -k 2.6.24-12-generic
したところ、正常に起動できるようになった。
最後に危険なバージョンのlibc6をインストールしないように、AptGet - Debian GNU/Linux スレッドテンプレにしたがって、以下のような内容の/etc/apt/preferanceというファイルを作った。
Package: libc6
Pin: version 2.7-5ubuntu2_i386
Pin-Priority: 1001
その後libc6_2.7-9ubuntu2で修正された模様。よって、/etc/apt/preferanceは削除した。