FreeBSDのportsで使われる/usr/bin/fetchについて、自分用メモ。
ここ最近、/usr/ports/x11-fonts/liberation-fonts-ttf/ のportupgradeが失敗していて、なぜなんだろう?と思って調べて見た。
ソースファイルを、こんなコマンドで、ダウンロードしようとしているようだ。
/usr/bin/fetch -AFpr -S 1326750 https://fedorahosted.org/releases/l/i/liberation-fonts/liberation-fonts-ttf-1.07.0.tar.gz
で、ダウンロードできなかった。たまたまこの環境にはファイアウォールがあり、インターネットには直接つながっていなくて、かならずproxyサーバを使わなくてはならなくなっている。
なので、環境変数http_proxy、https_proxy、HTTP_PROXYなどは設定してある。
でも、/usr/bin/fetchはproxyサーバを使ってくれない。どうもURLがhttps://~になっているときは、proxyサーバを使ってくれないような雰囲気。
fetch、libfetchのマニュアルを見たけど、https用のproxyサーバの指定方法は書いてない。
ソースコードは、たぶんlibfetchのこのあたりか、と思ったけど、1~2分見た限りではよくわからなかった。httpsかどうかで挙動を変えているくらいはわかったけど。
http://svnweb.freebsd.org/base/release/9.1.0/lib/libfetch/http.c?view=log
・・・またfetchか。出来が悪すぎるコマンドだ。
ちなみにwgetだと、こんな感じでproxyサーバ経由でダウンロードできる。
env https_proxy=http://localhost:8080/ wget --no-check-certificate https://fedorahosted.org/releases/l/i/liberation-fonts/liberation-fonts-ttf-1.07.0.tar.gz
「--no-check-certificate」というオプションをつけているのは
エラー: fedorahosted.org の証明書(発行者: `/C=US/O=GeoTrust, Inc./CN=GeoTrust SSL CA')の検証に失敗しました:
発行者の権限を検証できませんでした。
fedorahosted.org に安全の確認をしないで接続するには、`--no-check-certificate' を使ってください。
と言われてしまったから。どっかでwgetに認証局の証明書を教えてやればいいんだろうけど、めんどくさくてまだ調べてない。
■ 過去記事
- (FreeBSD) portsnapで、Latest snapshot on server is older than what we already have!
- (FreeBSD) portauditとperiodic securityとfetchの合わせ技で、file system full...やれやれ
0 件のコメント:
コメントを投稿