pkg in FreeBSD

このエントリブックマークコメント

言いたいことはわかる気がするけど、ただひたすら軽いというだけでアピールするのかな。Windowsはもちろん、OS Xと比べてもパッケージ管理がぐちゃぐちゃにならず、開発環境の整備と維持が楽になる点が重要。

と書きました。私の意図は、Linuxを使うことの利点が軽いという点以外にもあるのでは?ということでした。それに対して、id:miyakawa_taku さんに、

ことArch Linuxについては、「パッケージ管理がぐちゃぐちゃにならず」とは言いづらいです。ぐちゃぐちゃにならないように日々注意を怠らず、時と場合によってはためらわず腕力をふるう必要があります。

とコメントをいただきました。ありがとうございます。

Arch Linuxについては詳しくありません。使ってみたいと思ってるのですが。また私はFreeBSDを使っていて、LinuxUbuntuに触っている程度です。というわけで、あまり詳しくないのにもかかわらず、FreeBSDをArch Linuxに置き換えても同じことが言えるんじゃね?的なノリでコメントしたことについては、反省しています。

このblogはFreeBSDを利用する上での私のメモなのですが、パッケージ管理は主要なテーマのひとつです。

FreeBSDには、Debian系のapt-getに類似したpkgコマンドがあります。リポジトリは実質的にFreeBSDの公式のものしかありませんが、portsコレクションに入っているソフトウェアがバイナリで提供されています。

これを使って一気にインストールするために、ファイルからパッケージのリストを読んで順次インストールするシェルスクリプトを使っています。ここにあるpkgInstaller.shがそれです。ports_list.txtはパッケージのリストです。

FreeBSDをインストールした直後に、その後にこのスクリプトを走らせて必要なパッケージを一気にインストールします。それ以外の作業(FreeBSD自体のアップデートと設定ファイルの書き換えなど)もまとめたのが上記リンクのfreebsdPostInstall.shです。アップデートの際は、パッケージを(X.orgなども含めて)すべて削除して、再度pkgInstaller.shを走らせます。pkgを使ってアップデートもできますが、1〜2時間の作業ですので、複雑な依存関係の変化に頭を悩ますくらいなら、入れなおしたほうが良いように思っています。数週間に一度アップデートすると最新のChromiumが使えて幸せです。

このような方法でパッケージ管理のぐちゃぐちゃから解放されています。私の中では、FreeBSDを使っていてよかったなと思う瞬間です。たぶんLinuxでも同じことができるのでは?と思います。Arch Linuxはそれを試してみたいと思うディストロです。

シェルスクリプトひとつでパッケージ管理を楽にできるという点を主張してみました。元のエントリに書いてあることについて異論を差し挟むつもりはありません。Arch Linuxについての感想を寄せていただいたmiyakawa_takuさんにも感謝いたします。

FreeBSD update memo