Fedora15

これまでと同じ方法で、yumコマンドを使ってFedoraを14から15にアップグレードしました。

まず、fedora-release-15-1.noarch.rpmを入れるのですが、fedora-release-rawhide-15-1.noarchと依存関係があると言われるので、そちらも同時に入れました。
あとは今まで通りです。

# rpm -Uvh http://download.fedora.redhat.com/pub/fedora/linux/releases/15/Fedora/i386/os/Packages/fedora-release-15-1.noarch.rpm http://download.fedora.redhat.com/pub/fedora/linux/releases/15/Fedora/i386/os/Packages/fedora-release-rawhide-15-1.noarch.rpm
# rpm -Uvh http://download.fedora.redhat.com/pub/fedora/linux/releases/15/Fedora/i386/os/Packages/fedora-release-notes-15.0.0-1.fc15.noarch.rpm
# yum clean all
# yum -y upgrade

ここでエラーが出まくったので、エラーが出たプログラムを片っ端から削除。
特に普段使ってるようなものはなかったので……。そろそろ初めからインストールし直した方がいいのかなとも思いますが、面倒くさい。

再度yum -y upgradeを実行して、再起動……起動しない?!
ログインの手前で起動処理が止まってしまいました。

とりあえずデーモン達は動いているようで、HTTP、Samba、SSHなどは繋がり、ほっと一安心。
MySQLはエラーで起動していなかったのですが、/etc/my.conf に書いてある default-character-set=utf8 の書式が変わったのが原因みたいで、character-set-server=utf8 に書き直したらあっさり直りました。

前回アップグレードしたときもそうだったのですが、Perlのバージョンが上がったことで、CGIが動かなくなってしまっていました。
これはCPANでモジュールのアップデートを行えばだいたい直ります。

# cpan
cpan> upgrade

しかし今回はそれでもMySQLへのアクセスが上手くいかない。PHPは素直に動いてくれるのに……。

エラーログを見るとこんな感じ。

[Wed Jun 08 05:57:51 2011] [error] [client 192.168.0.2] install_driver(mysql) failed: Can't load '/usr/local/lib/perl5/auto/DBD/mysql/mysql.so' for module DBD::mysql: libmysqlclient.so.16: cannot open shared object file: No such file or directory at /usr/lib/perl5/DynaLoader.pm line 200.

ググってみるとこれは、libmysqlclient.so.16 が見付からないために mysql.so が読み込めないということのようなのですが、/usr/lib/mysql を見ると、あるのは libmysqlclient.so.18 で数字が16から18になってる。

これを読み込むように指定している場所は、/etc/ld.so.conf なようで、中を見てみると ld.so.conf.d/*.conf をインクルードしている。
そこで /etc/ld.so.conf.d/ 以下を見ると mysql-i386.conf というのがあったので開いてみると、/usr/lib/mysql と書かれていた。
特に間違いはないように思える。
16という数字はどこから出てきたのだろう?

mysql-server や perl-DBD-MySQL をyumで削除して入れ直してみても状況は変わらず。

ホントにOSからインストールし直そうかなあ……。

■ 追記

どこに libmysqlclient.so.16 と書かれているのか探していたら、以下の場所にあったので、DBD::mysqlをインストールし直したらCGIは表示されるようになりました。

# find /usr/local/ -type f -print | xargs grep libmysqlclient.so.16
バイナリファイル /usr/local/lib/perl5/auto/DBD/mysql/mysql.so に一致しました
# cpan
cpan[1]> get DBD::mysql
cpan[2]> q
# cd ~/.cpan/build/DBD-mysql-4.019-r12r_n/
# ./Makefile.PL
# make
# make install

(cpanコマンドでmakeとinstallできるみたいだけど)

起動されない問題の方は、SSHでログインして startx すれば起動することがわかりました。
/var/log/boot.log を見ても何が原因で止まってるのかよくわからない。

■ 追記

起動時に途中で止まってGUIが起動しない理由がわかりました。
依存関係で適当に削除したときに、ログイン画面を表示するための gdm を削除してしまっていたようです。
これをインストールし直したらログイン画面が出るようになり、デスクトップが使えるようになりました。

コメントを残す