FreeBSD13.2: OSを更新したら、awffull が消えた

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レポートが出来上がった。復旧完了。

コメントを残す