月別アーカイブ: 2014年1月

FreeBSD 10 へのアップグレード

FreeBSD 10.0のリリースが近いようです。既存の9.x系からアップグレードする時には以下のことに気をつける必要があります。

1. bindの削除

ベースシステムからbindが削除されました。それに伴いunboundが新たにインストールされます。このunbound用にuidとgidが新たに設けられていますため、/etc/passwd /etc/master.passwd /etc/group にunboundエントリが必要になります。ソースコードをビルドしてアップグレードする場合、mergemaster -p を適切に実行しないとインストールに失敗しますので、/usr/src/Makefileに書かれた手順を良く読んでから実行するとよいです。ちなみにnslookup、digといったコマンドもbind由来のため、10.0からはベースシステムに含まれません。

2. pkgコマンドへの移行

パッケージ管理のコマンドがpkg(1)に統一されました。pkg_install、pkg_add、pkg_infoなどの古いコマンド類はインストールされません。既存のports&packagesでインストールされた環境を引き継ぐ場合にはpkg2ng(1)コマンドでpkg用のデータベースを作成する必要があります。pkg2ngを実行すれば、portmasterなどのコマンドも既にpkgに対応しているため利用可能になります。

3. libiconvの統合

今までportsで提供されていたlibiconvがlibcに取り込まれました。古いバイナリをそのまま利用し続けることも可能ですが、新たなバイナリをリンクする場合、競合する可能性があります。移行を考えるなら、libiconvを使用している全てのports&packagesを再コンパイルする必要がありますが、そのためには既存のlibiconvを削除した上で再コンパイルしないといけませんので、portsの依存関係によっては一筋縄では行かないこともありえます。必要なデータのバックアップを取ってクリーンインストールするのも検討する価値はあると思います。