Portsに驚く

 Red Hatを使っていたころ、あるアプリを使いたいな〜と思い rpm -i XXX.rpm(だったっけ?)を使うとyyyが必要ですと言われて、yyyがどのrpmに含まれているか調べて、探してのLoopに陥ったりしているとき、Debianのaptの凄さにノックアウトされ当社の少ない顧客のマシンも全てDebianへ変更しました(Trend MicroのInterscan Viruswallだけは動作保障欲しさにRed Hat)。

 
 ですので、FreeBSDでどうやってパッケージ管理してるのか興味津々でしたが、第4章 アプリケーションのインストール - packages と portsによると、packageはコンパイル済みのバイナリファイルのインストールportsはソース取って来て自前コンパイルと言うことらしい。


で、早速


#cd /usr/ports
/usr/ports : No such file or directory

だって....portsはminimalではインストールされていないらしい。

4.5. Ports Collection の利用を読んで、CDからportsをインストールし、portsツリー(Debianで言えばPakagesか?)を最新にしてくれるCVSupをportsを使ってインストールすることにする。ハンドブックの通りにやるとportsは簡単にインストール出来た。


CVSupはhttp://www.jp.freebsd.org/www.FreeBSD.org/doc/ja_JP.eucJP/books/handbook/cvsup.html#CVSUP-INSTALLを見てcvsup-without-guiをインストールする。


#cd /usr/ports/net/cvsup-without-gui
#make install clean
で、依存するものまで含んだ最新のソースをInternet経由で取って来て、FreeBSDのパッチ充てて、コンパイルする前にconfigureのオプションを選択出来て、その後インストールしてくれる。なんと言うすごいパッケージ管理システムなんや〜。minimalではCVSupを使うのにいろいろ足らないものがあるようで、次々とダウンロードしてはコンパイルしている。


 Debianのaptも凄いと思ったが、どんなオプションでコンパイルされているのか判らんやんかと(私が知らんだけ?)不満な点があったが、それをも解消したシステムだ。すげ〜。


 無事CVSupのインストールが済んだので早速最新のツリーに更新しようかと思ったがCVSupでググっているうちに

fastest_cvsup のインストール
fastest_cvsup は FreeBSD の cvsup サーバの中から応答速度の速いサーバを選定します。

を見つけたので、インストールしてみる。


#cd /usr/ports/sysutils/fastest_cvsup
#make install clean

 またもや簡単にインストール出来てしまった。ports恐るべし。


#/usr/local/bin/fastest_cvsup -c ca
#>> Speed Daemons;
- 1st:cvsup.ca.freebsd.org

と、出たので/usr/share/examples/cvsup/ports-supfileを/etc/cvsup/へコピーして、defaultのhostをcvsup.ca.freebsd.orgへ変更。

#/usr/local/bin/cvsup -g -L 2 /etc/cvsup/ports-supfile
--snip--
Funished successfully

 これをcronで動かしたいとこだけど、VMwareを常時起動しているわけでもないのでここまで。