まぁ、表題の通りなのだけれど、portsnapの中で使ってる
phttpgetがPROXYの古いキャッシュをみてしまうのが原因のようなのだけれど、
この辺で出てる通り、古くから直ってない問題なので、phttpgetをwgetに置き換えて安心安心。
と思っていたら、やっぱり失敗する。
具体的には、/var/db/portsnap/filelist の中身が古く、古いファイルを取りに行こうとして
HTTPの404を貰ってくるような動作をしている。
portsnapのスクリプトは古いファイルがあると思って処理を継続して、
いざ処理をする時にファイルが無くて失敗。
で、こういう時は /var/db/portsnap/ 配下を全削除、 しかる後、portsnap を実行。
ということをしていたのだけど、毎回やるのはうざったく、元々遅いアクセス帯域で
毎回60MB超のファイルを落とすのは非効率。
portsnap事態はシェルスクリプトなのでソースを見ると、どうもphttpgetしてる箇所と、
fetchコマンドでファイルを取ってくる場所があり、fetch が悪さしてる模様。
マニュアル検索で、fetchのオプションをチェックしてみるも、
PROXYのキャッシュを許可しない設定はできない模様。
なので、portsnapを書き換えてしまうことにした。
を
こんな感じでfetchを使ってる箇所を置き換え。
${QUIETFLAG}の中身は -q でfetchとwgetで同じなので書き換える必要なし。
${QUIETREDIR} はどうせエラー出力なので気にしない。
一回試しで実行してみてとりあえず動くことを確認。
これで様子をみることにする。
コメントを残す