[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:06821] Re: Warning: glibc 2.0.7r-3* bug in preload handling



磯部です。

=== 『"ukai" == <ukai@debian.or.jp>』 さん(以降敬称略)が
=== 『Sun, 5 Jul 1998 03:25:50 +0900』 頃に書いた
=== 『[debian-users:06817] Warning: glibc 2.0.7r-3* bug in preload handling』 について

ukai> glibc 2.0.7r-3 がでてたんで glibc 2.0.7r-3.wcsmbs.4 つくったんですが
ukai> この glibc 2.0.7r-3 には LD_PRELOAD(/etc/ld.so.preload)の処理に
ukai> バグがあって、preload していると segmentation fault してしまいます。
ukai> preload している人は upgrade しないでください(_o_)

これと関係あるのか分からないのですが、upgrade してシステムを
壊してしまいました。
元に戻す(動くシステムにする)方法はあるでしょうか?
あと、preload しているかどうかって、何を見れば分かりますか?

ちょっと長いのですが、以下状況です。

hamm 環境で libc6_2.0.7r-2.wcsmbs.3 がインストールされている
状態で dselect を使いました。
libc6_2.0.7r-3.wcsmbs.4 がまた ftp サイトに存在しない状態で
dselect の SELECT を行ったところ libc6_2.0.7r-3 が選択されま
した。
それに気付かずに INSTALL をしたところ、libc6 のインストール
が失敗し、それ以降選択されているパッケージはほとんど(全部か
どうかは確かめてない)エラーで INSTALL に失敗しました。
libc6 のインストールに失敗したので、dpkg を含めたコマンドの
ほとんど(ls や cat や)が使えなくなってしまいました。
リブートしてみたところ、root ファイルシステムをマウントした
ところでそれ以降に進まなくなってしまいました。
何かの方法でブートして、libc6 を以前の版に戻せば何とかなるの
ではと思い、ブートフロッピーでブートしましたが、同じところで
止まってしまいます。
resc ディスクでブートしましたが、resc では dpkg が使えません。
仕方なく、空いているディスク領域に OS をインストールして、壊
れた libc6 の入っているパーティションをマウントして dpkg の 
--root=xxx (xxx は壊れた OS の root をマウントした位置)でイ
ンストール出来ないかと試したのですが、
# dpkg -i --root=xxx libc6_2.0.7r-3.deb
すると、
dpkg(subprocess): unable to execute new pre-installation
script : No such file or directory
のようなエラーが出て、pre-installation script が error で 
status 2 を返したよというメッセージが出、post-installation
script も error で status 2 を返したよと言われてエラー終了し
てしまいます。
そこで、
# dpkg -i --root=xxx libc6_2.0.7r-3.wcsmbs.4.deb
をしたところ(この時はこの版が存在していた)、pre-installation 
script がエラーだよというメッセージが返ってきて終了してしま
いました。
# dpkg -s --root=xxx libc6
したところ、
Status: install ok unpacked
でした。
unpack まで出来ているならと
# dpkg --configure --root=xxx libc6
しましたが、
post-installation script: No such file or directory
でエラーになってしまいます。
そのときは
Status: install ok half-configured
になっています。
libc6_2.0.7r-3.deb を展開して postinst の中を見たところ、
ldconfig しているだけだったので、手で
# chroot xxx /sbin/ldconfig
してみてリブートしてみましたが、やっぱり同じところで止まって
しまいブート出来ません。

やっぱりシステムを入れ直すしかないのでしょうか...

一番の原因は libc6_2.0.7r-3.deb の postinst が core を吐いて
落ちたのだと思うのです。
/var/lib/dpkg の下(の方)に core がありました。
システムを入れ直しても、また core を吐いて止まったら同じになっ
てしまうので、いろいろな設定ファイルを消さないで済まないかと
思っていろいろと試してみたのですが...

様々なパッケージの設定ファイル(xxx.conf のようなもの)一覧の
ようなものを dpkg が管理していてコマンドひとつでそのリストが
取れて、それを元に普段バックアップ出来る、なんてことになると
便利じゃないかなぁ、と思う...

# いちにち潰れてしまった...
-----
磯部則和 (^^ゞ
mailto:isobe@xxxxxxxxxxxxx