忍者ブログ
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

nginxのアクセスログをscribedに出力する必要に迫られ調べてみたが、これといった解決法が見つからなかった。
唯一期待したscriced アドオンは、組み込んでコンパイルしたら既存の設定ファイルでエラーが出るようになり起動しなかった。

【起動時のメッセージ】
 nginx: [emerg] unknown directive "http" in /etc/nginx/nginx.conf:14

しょうがないので、rsyslog経由でscribedに出力することにしてみた。
パッチはここ

で見たところ、syslogパッチのバージョンは1.0.6とある。
nginxアドオンの紹介ページでは、0.8.54以上はこれを使え、みたいな記述があるので大丈夫なんだろうけど、ちょっと心配。なので、ソースコードをあたって、大丈夫という確証をとることにした。
結果を先にいうと、適用しても大丈夫。
patchコマンドは優秀で、パッチファイル中の行番号に少々齟齬があっても正しく適用できるらしい。(manによると)

【man patch(1)より抜粋】
コンテキスト diff やノーマル diff ( ノーマル diff の場合の適用範囲はやや狭い ) の場合、 patch はパッチ中の行番号の誤りを検出することができ、パッチのそれぞれの塊 (hunk) について、正しい位置を見つけようとする。最初は、hunk に書かれた行番号に直前の hunk を適用した際の オフ セットを加減した位置ではないかと推測する。もしそれが正しい位置ではない場合、 patch は hunk 中のコンテキストに一致する行が前後にないかを探す。


検証内容についてはまた今度。
PR
Copyright (C) 2024 技ブロ All Rights Reserved.
Photo by 戦場に猫 Template Design by kaie
忍者ブログ [PR]