pkgngが復活したと言ったな。(proxy越しの奴にとって)あれは嘘だ。(SRVレコードの罠)

Pocket

pkgngの公式サイトがやっと復活した。
http://lists.freebsd.org/pipermail/freebsd-current/2013-October/046055.html

したのだが、proxy越しだと動かない事があって、俺含む一部のユーザはとてもガッカリしている。

原因ははっきりしていて、DNS上、SRVレコードを使っているからだ。
SRVレコードにしたのはしかし理由があってのものなので、単にAレコードに追加すればよいという話でもない。
公式MLでもえらく議論が続いているが、SRVレコードを使うというのは変わりそうにないようだ(2013/11/3現在)。

(2013/12/19追記)
pkg-1.2.3で問題が解消された
(2013/12/19追記ここまで)

というわけで、公式に沿ったpkgサイトの設定のしかたと、proxy越し等で公式pkgサイトのアドレス解決が出来ない場合の回避方法を示す。

公式の設定方法

 

事前準備

pkg-1.1.4_8にする。
インストール済みの場合、公式などはpkg -vで確認しろというが、pkg -vで表示されるのは以下の通りで1.1.4_8かどうかはわからない。

なので、pkg infoで調べよう。

インストールしていなければ以下のように。
※freebsd:10:x86:64はOSに合わせて変更する。

何らかの理由でpkgが死んでてpkgそのものが使えない場合。
pkg.txzをダウンロードして、手動で展開する。
ルート(/)にゴミが残るから後で掃除しとけ。

 

設定ファイルの書き換え

/usr/local/etc/pkg.confは捨てて/usr/local/etc/pkg/reposの下に設定ファイルを入れることになる。

/usr/local/etc/pkg.confは捨てるかリネームする。
ディレクトリ/usr/local/etc/pkg/reposを作る。
そこにFreeBSD.confというファイルを作る。
ただ末尾が.confであれば名前はなんでもよい。

以下がファイル例。
コメント部分は、まあお好きに。

準備完了

実行

問題なければ、pkg update, pkg upgradeでファイルを取得できるはず。

下記の通りであれば、毎週末~月曜くらいにpkg repositoryが更新されるようだ。

(水曜01:00(UTC)にportsのスナップショットから”a few days”かけてパッケージ作成)
Packages are built weekly from a snapshot of the Ports Collection every
Wednesday morning 01:00 UTC. They typically will be available in the
repository after a few days.

 

“Service Unavailable”

さて。
以下のようになったら、あなたのproxyサーバかDNSはSRVレコードに対応していないということ。

 

対策(mirrorサイトを直接指定)

対策っても大したことはなくて、mirrorサイトを直接指定するだけ。
これで問題なく動くが、もちろん制限はある。
mirrorサイトがダウンしたときには、手動で接続先を変える必要がある。
今のところmirrorサイトは米国東西海岸、欧にしかない。
ゆくゆくは日本にもmirrorサーバが立つといいな。

さて手順。
以下に沿う。
ただ間違いがあって、そのままコピペすると失敗するので注意。
http://lists.freebsd.org/pipermail/freebsd-current/2013-November/046122.html

流れとしては、最初に作ったFreeBSD.confを無効にし、mirrorサイトを直接指定する設定ファイルを作る。

/usr/local/etc/pkg/repos/FreeBSD.confをリネームする。
(消してもいいけど、将来使うかもしれないし。)

以下からmirrorサイトを選ぶ。
日本からだったらUS Westですかね。

 

設定ファイルを作る。
例によって名前はなんでもよい。末尾が.confであれば。

 

ファイルの例。
コメントはまあ適当に。

 

あとはpkg update, pkg upgradeでよいでしょう。

No tags for this post.

2 comments

  1. ピンバック: [報告]pkg-1.2.3でproxy越しのレポジトリ接続が可能に | Nobwak's Lair
  2. ピンバック: [報告]pkg-1.2.3でproxy越しのレポジトリ接続が可能に | Nobwak's Lair

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください