FreeBSD 12.4 から 13.2 に更新した後に気づいた不都合、第二弾。
Webログ解析ツールの awffull が消えた。
13.2 限定の話ではありませんが、更新に起因するトラブル。Webサーバーのアクセスログを見ようとしたら、ログが二日前から更新されていないことに気づきました。調べた結果、解析ツールの awffull が無くなってた。
awffull は portsコレクションからバイナリーインストールしたもので、最近サポートが終了して、ports から消えたことを知っていましたが、このまま使い続ければいいかと思っていました。こういう重要コマンドは、間違って消さないように pkg lock を掛けておくべきですが、忘れてた。。。。。
freebsd-update でOSを上げた後、12.4対応パッケージを 13.2 対応に上げるため pkg upgrade を発行してしまったのがまずかった。現役パッケージは古いものを抜いて新しいものに上げる作業が行われましたが、サポート切れパッケージは削除のみが行われ、消滅。が~ん。
さて、どうしたものか。
Webalizer は現役なので、月次レポートは awffull とほぼ同じ内容を取れますが、webalizer は 単年サマリー。ここがイマイチでawffull を使っていたんですが、失敗したな~。
その後:
Webサーバーを運用している身としては、awffull が使えないというのは大変困るので、ソースからビルドすることを試してみました。pkg コマンドを利用する前は、ソースからアプリケーションをビルドするのが普通だったんですけどね。最近は行っていませんでした。
次々に見つかるセキュリティーホールに対応するためには、自分でセキュリティーレポートを追跡して、パッチを当ててゆかないといけないので、自分でチューンしたアプリを管理するよりも、標準的なビルドでもOS側のツールに任せる方が楽ってことで、約10年ぶりにソースからのビルドを試すことにします。
- awffull を検索してみると、Linux版はまだ存在するようで、Debian 用 awffull サイトを見つけました。
- https://salsa.debian.org/debian/awffull/-/archive/master/awffull-master.tar.gz からソースをダウンロードして、ワークディレクトリで展開。
- ./configure で進むかと思ったけど、Linux 用なので、ライブラリ名が異なって、Makefile 生成手前で止まる。停止したところをメモしたのが以下。要するに必要なライブラリ等が見つからないってこと。
checking for main in -lpng… no
Missing PNG Library
checking for main in -lGeoIP… no
Missing GeoIP Library
checking for pcre/pcre.h… no
Missing pcre.h - lpng は PNGライブラリーだと思って、FreeBSD用のPNGライブラリをインストールしてみるものの、configure が通らない。configure スクリプトファイルを開いて見てみると、ライブラリやヘッダーファイルを直接指定するオプションがあり、これを使ってみることに。
- 結論を書くと、GeoIP ライブラリは無くても問題ないので、残りの二つをコマンドラインで指定すると Makefile は出来上がりました。
./configure –with-pnglib=/usr/local/lib –with-pcre=/usr/local/include
lpng に関してはライブラリ、pcre に関してはインクルードでした。 - make すると大量にメッセージが表示されたものの、オブジェクトは生成されたので、まあいいかってことで、root にて make install を実行。FreeBSD用 awffull が元あった場所、/usr/local/bin にインストールされました。
数日ぶりに awffull コマンドを動かしてみると、とりあえずWebレポートが出来上がった。復旧完了。