n2s アーカイブス

「 【えぬ】〜Theme of えぬ〜 にまつわるはてダ」のアーカイブです。気が向いたら復活するかもしれません。

アップグレード顛末記

(1)testingの恐怖

「testingにはこれまでひどい目にあったことはない。不気味だw」などと余裕ぶっこいてたらmysql-server-5.0(ほとんど使ってないけど)のアップグレードでなにやら問題が。
mysqldプロセスが立ち上がってるのにmysqld.sockもmysqld.pidも作成されないという意味不明の状態に。
そのためmysqldをkill -9でしか止められなくなってアップグレードに失敗…
ちなみにカーネルが2.4.33.3のときにこの現象が発生。2.6.20.6(詳細は後述)では発生しませんでした。

  • ↓その際挙動を調べようとしてmysqld_safeを実行したときのログ。この後、mysqldは終了せず生き残ってました。
# mysqld_safe --log-error=./mysql.log
Starting mysqld daemon with databases from /var/lib/mysql
mysqld_safe[2651]: started
(Ctrl-C)
/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket
'/var/run/mysqld/mysqld.sock' (2)'
Check that mysqld is running and that the socket:
'/var/run/mysqld/mysqld.sock' exists!
STOPPING server from pid file /var/run/mysqld/mysqld.pid
mysqld_safe[2663]: ended
  • etchなら問題なかったので、/etc/apt/preferencesに以下のエントリーを追加してmysqldだけetchでのバージョンに戻しました。(どんな副作用が起きるかわからんので責任は負いません…)
Package: mysql-server
Pin: release a=stable
Pin-Priority: 1001

Package: mysql-server-5.0
Pin: release a=stable
Pin-Priority: 1001

参考:http://debian.fam.cx/index.php?AptGet

  • 最後にバグレポート。

#416841 - mysql postinst hangs on kernel 2.4 systems? - Debian Bug report logs

(2)カーネル2.6の恐怖・序章?

上記(1)の問題解決の過程でカーネル2.6.20.6をソースからmake-kpkgしたところ、ブート後にdaemontools(ソースからコンパイルして導入)が立ち上がらなくなりました。

svscan: relocation error: svscan: symbol errno, version GLIBC_2.0 not
defined in file libc.so.6 with link time reference

対策として、以下の環境変数を設定すると無事起動する模様です。

LD_ASSUME_KERNEL=2.4.33.3

2.6に移行したらこういうことが他のソフトでも起こるんでしょうか…
コンパイル時に事前に上記の現象を防ぐ方法はないものか?
ちなみに、debから入れたものは問題ないのでは、と推測しています。確証はないですが。