玄箱 を
etch
へアップデートをかけてみた ところ、以下のような問題が発生しました。
- usbmgr のインストールが完了しない
- squid で
エラーが発生して動作しない
- プリントアウトできなくなった
usbmgr の方は、一度アンインストールして、
入れ直すとうまくインストールされました。
次に
squid ですが、
以下のようなログが syslog に残っていました。
Apr 21 12:43:05 server squid[580]: Squid Parent: child process 643 started
Apr 21 12:43:05 server (squid): comm_select_init: epoll_create(): (38) Function not implemented
Apr 21 12:43:05 server squid[580]: Squid Parent: child process 643 exited due to signal 6
どうも epoll_create と言う実装されていない関数の呼び出しで失敗しているようです。
これをキーワードに調べてみると、
squid 2.6 から
epoll() と言う関数を使うらしいのですが、これが Linux Kernel 2.6 からの機能で、
玄箱 のカーネルは 2.4 系ですから、
これでは動くはずもありません。
と言うわけで、以下の手順で
squid 2.5 系の
パッケージをインストールし直しました。
cd /tmp
apt-get remove squid
apt-get remove squid-common
cp /etc/squid/squid.conf .
dpkg -P squid
dpkg -P squid-common
wget http://security.debian.org/debian-security/pool/updates/main/s/squid/squid-common_2.5.9-10sarge2_all.deb
wget http://security.debian.org/debian-security/pool/updates/main/s/squid/squid_2.5.9-10sarge2_powerpc.deb
dpkg -i squid-common_2.5.9-10sarge2_all.deb squid_2.5.9-10sarge2_powerpc.deb
cp squid.conf /etc/squid/
しかし、このままでは apt でアップデートを行うたびに
squid の
最新版がインストールされてしまいます。
そこで /etc/apt/preferences として以下の内容のファイルを作成しておけば、
これを回避することができます。
Package: squid
Pin: version 2.5*
Pin-Priority: 989
Package: squid-common
Pin: version 2.5*
Pin-Priority: 989
これで
squid の
問題は解決。次は
CUPS を
何とかしなければ…