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は削除した。