FreeBSD 10.0もBETA1がリリースされた。
ウホッとばかり突撃して、pkg_*の無いのに仰け反り、それなのにpkgではインストールのしようが無い現状に絶望した日本のFreeBSDユーザの方(絶対に少ねえ)に捧げます。
改めて背景を。
10.0からは、従来のパッケージ管理システムであるpkg_*に代わり、pkgngが登場する。
しかし。
2013/10/15現在、いまだ公式のpkgng向けPACKAGESITEが用意されていないのである。
なぜ、というのはここでも触れたとおり。
となれば、現時点ではportsからしか各種ソフトウェアをインストール出来ない。
うわ面倒くせえ。
PACKAGESITEは、さすがに10.0-RELEASEのときまでには準備がなされるはずであるが、現時点で外部のミラーサイトを参照せずにpkgngを使う方法を示す。
(追記:2013/11/7)
公式のpkgngが公開されている。詳しくは以下を。
../../../?p=2357
(追記ここまで)
その名もpkg-test.freebsd.org。しかし。
実は、ゆくゆくオフィシャルなPACKAGESITEになる予定のサーバはもうある。
それがpkg-test.freebsd.orgである。
じゃ、これをPACKAGESITEに指定すればいいじゃないか。
しかしですね、ブラウザでpkg-test.freebsd.orgに繋ごうとすると分かるが、No address recordとなるわけですよ。
というのも、pkg-test.freebsd.orgはDNS上、AレコードではなくSRVレコードだそうであり、かつRFCに沿ってないからだという、もうほんといい加減にせえよ…。
詳細は下記を。
Where is pkg repository for 9.2-RELEASE (amd64)?
よろしい。ではIPアドレス直打ちでどうだということで、まっさらのFreeBSD 10.0-BETA1でpkgngを使う方法を示す。
さいしょの一歩(pkgコマンドのインストール)
何はともあれ、まずはpkgコマンドそのものをインストールしなければならない。
pkgと叩けばいいのだが、さっそくこれですよ。
# pkg
The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]: y
Bootstrapping pkg please wait
pkg: Error fetching http://pkg.FreeBSD.org/freebsd:10:x86:64/latest/Latest/pkg.txz: No address record
A pre-built version of pkg could not be found for your system.
Consider changing PACKAGESITE or installing it from ports: 'ports-mgmt/pkg'.
そこで、環境変数PACKAGESITEに以下のアドレスを与えてpkgコマンドを実行。
下記の例ではhttp://96.47.72.120/pkg-test-freebsd:10:x86:64/latestである。
96.47.72.120はpkg-test.freebsd.orgのIPアドレス。
i386だったら、http://96.47.72.120/pkg-test-freebsd:10:x86:32/latestにしてね。
もちろん、pkg-test.freebsd.orgが参照しているpkg1.nyi.freebsd.orgでもOK。
# sh
# PACKAGESITE="http://96.47.72.120/pkg-test-freebsd:10:x86:64/latest" pkg
The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]: y
Bootstrapping pkg please wait
Installing pkg-1.1.4_6... done
If you are upgrading from the old package format, first run:
(中略)
Commands provided by plugins:
For more information on the different commands see 'pkg help <command>'.
#
これでpkgコマンドがインストールされた。
つぎはpkgコマンドの設定。
pkgの設定
/usr/local/etc/pkg.confというファイルが出来ているはず。
ここのPACKAGESITEを確認。
ちなみに書式はYAML。
以下のようになっているはず。
packagesite: http://96.47.72.120/pkg-test-freebsd:10:x86:64/latest
今後のことを考えて、以下のように書き換えておきましょう。
PACKAGESITE : http://96.47.72.120/pkg-test-${ABI}/latest
オフィシャルのPACKAGESITE(きっとpkg.freebsd.orgになるはず)が準備出来たら、ここはすぐに書き換えること。
なお、/etc/make.confへのWITH_PKGNG= yesは要りません。
必要なのはFreeBSD 10.0より前のバージョン。
FreeBSD HandBookより
To ensure that the FreeBSD Ports Collection registers new software with pkgng, and not the traditional packages format, FreeBSD versions earlier than 10.X require this line in /etc/make.conf
そうしたらpkg updateしておしまい。
pkg updateとpkgのインストール
# pkg update
Updating repository catalogue
digests.txz 100% 955KB 238.7KB/s 214.8KB/s 00:04
packagesite.txz 100% 5209KB 274.1KB/s 418.6KB/s 00:19
Incremental update completed, 0 packages processed:
0 packages updated, 0 removed and 21607 added.
2013/10/15の時点で約21000のパッケージがあるようですな。
念のためpkg upgrade。
# pkg upgrade
Updating repository catalogue
Nothing to do
#
まあ何もないよね。
試しにいくつかパッケージをインストールしてみましょう。
# pkg install bash tmux sudo portaudit
Updating repository catalogue
The following 6 packages will be installed:
Installing gettext: 0.18.3
Installing libevent: 1.4.14b_2
Installing sudo: 1.8.7_1
Installing portaudit: 0.6.1
Installing bash: 4.2.45
Installing tmux: 1.8_1
The installation will require 18 MB more space
4 MB to be downloaded
Proceed with installing packages [y/N]: y
gettext-0.18.3.txz 100% 2086KB 231.8KB/s 285.9KB/s 00:09
libevent-1.4.14b_2.txz 100% 125KB 124.5KB/s 124.5KB/s 00:01
sudo-1.8.7_1.txz 100% 652KB 217.4KB/s 392.2KB/s 00:03
portaudit-0.6.1.txz 100% 10KB 10.1KB/s 10.1KB/s 00:00
bash-4.2.45.txz 100% 890KB 222.6KB/s 360.2KB/s 00:04
tmux-1.8_1.txz 100% 203KB 203.3KB/s 193.3KB/s 00:01
Checking integrity... done
[1/6] Installing gettext-0.18.3... done
[2/6] Installing libevent-1.4.14b_2... done
[3/6] Installing sudo-1.8.7_1... done
[4/6] Installing portaudit-0.6.1...
===> To check your installed ports for known vulnerabilities now, do:
/usr/local/sbin/portaudit -Fda
done
[5/6] Installing bash-4.2.45... done
[6/6] Installing tmux-1.8_1... done
パッケージも新しく、pkg auditで確認しても脆弱性の報告はない。
# pkg audit -F
auditfile.tbz 100% 90KB 90.0KB/s 90.0KB/s 00:01
0 problem(s) in your installed packages found.
#
というわけで、いろいろ問題はあるけれど、pkg-test.freebsd.orgは現時点で十分使えるということでございます。