日記ブログ、または雑多なメモ
2007年6月30日

久々にシステムをぶっこわす@X31 ch...





30日(土) 久々にシステムをぶっこわす@X31

 checkinstallを使ってpangoをいつものごとくパッケージ化しているときに、なぜか/lib/libc.soと/lib/libc.so.6が見事にさくっと消えた。 libcというのはlinuxのシステムに入っているプログラムの、ほぼ全部がダイナミックリンクしているCライブラリである。 libcが消えるとどうなるかというと、消えたその瞬間からlinuxはほぼ操作不能になる。 まさにぶっこわれ。
 一応、/toolsにスタティックビルド(静的ビルド。 libcがなくても動く)のツールが置いてあったが、開発ツールは入れてなかったのでどうにもならず。 おまけにlibc-2.6にしてからはバックアップもしてないし、互換性のあるlibc-2.6(主流は2.4〜2.5)をうまく拾ってこれそうもないので簡単コピーなんちゃって復活もできず。 しかたないので、

・usb-keyのR.I.P.から起動
・plamo-4.2のglibc-2.4、gcc-4.1、gcc-lib、binutils-2.16のパッケージを手動でインストール
・本チャンのシステム(plamoのlibc-2.4)で起動
・glibc-2.6をビルド
・binutils-2.17.50.0.17をビルド
・gcc-4.1.2をビルド
・glibcを再ビルド
・binutilsを再ビルド
・gccを再ビルド
・glibcを再再ビルド
……(以下略)……

 で、復活。 ディペンデンシーが訳分からんので後半は再ビルドしまくりである。 ちなみにbinutils-2.17.50.0.16は腐っている模様。


 やっと治ったわい……と一息ついたところで、ntfsフォーマットのusb-keyがKDE上でオートマウントできなくなっているのを思い出し、ついでに直す。 要はntfs-3g系が死亡しているのだが、とりあえずkdebaseのntfs-3g用locale パッチはkde-3.5.7でも必要なのに気づき、gccのビルドオプションを変えたこともあってqtとkde-3.5.7をまるごと再ビルドしなおすはめに。 でもってfuseとntfs-3gの整合性がとれていないようなのでfuse(stable)とntfs-3g(1.6.16)も再ビルド。 ついでにudev-113にntfs-3gパッチを当ててこれも再ビルド。 udev-ntfs-3gパッチは以下のとおり。

udev-xxx/extras/volume_id/lib/ntfs.c の行末あたり
- id->type = "ntfs";
id->type = "ntfs-3g";

/pre>
 その他、kernel-headersを整備しようとして/usr/include/linux/*を消すつもりが/usr/include/*を消しかけたりと色々大ボケをかます。 b*辺りまで消えたところではっと気づいて止めた。 アブナイ。 削除の遅いJFSで良かった。 b*までというとlibcのヘッダ群くらいなので、libcを再インストールして事なきを得る。


 何はともあれ、checkinstall使用時は要注意である。



bootchart

 なんやかんやで、起動時間1分9秒台にまで短縮。 これ以上はXとKDEが大改革されでもしないかぎり縮まらなそげ。 4500回転2.5インチHDDでこの速さということは、3.5インチHDDのシステムなら40秒くらいで起動してそうな感じではある。

../../diary/pic/bootchart.png



コメント欄
(投稿なし)

コメントなどありましたらこちらからどうぞ
名前
内容
 ※名前、内容ともに入力必須です
- C'sGallery Blogっぽく見えるシステム3.2 -
小武 (管理人) eta2@tim.hi-ho.ne.jp