FreeBSDのportsはaptとかyumとは少し趣が違って、ソースを落として自分でコンパイルする仕組み(だといいなぁ)。
FreeBSDを導入時によく使うのでメモ程度に。
portsシステムにおけるソフトウェアの一覧。
日本語環境でハンガリー語とかベトナム語は使わないから最初に削っておく。
# echo "REFUSE arabic chinese french german hebrew hungarian" >> /etc/portsnap.conf # echo "REFUSE korean polish portuguese russian ukrainian vietnamese" >> /etc/portsnap.conf
初回はportsツリーが無いので一から作成。
# portsnap fetch extract
2回目以降は差分だけアップデート
# portsnap fetch update
例:openssh-portable
# whereis openssh-portable openssh-portable: /usr/ports/security/openssh-portable # cd /usr/ports/security/openssh-portable # make install clean
基本的にディレクトリを探しているだけなので、Linuxでは確かこんな名前だったなぁ。
とか言いながら探した後にwhereisしてもいいと(俺は)思う。
この辺はapt-cacheを使うのと似てる。(原始的という意見もある。)
例:squidの場合
# ls /usr/ports/* | grep squid squid3.1 squidclamav lightsquid squid squid30 squid31 squid_radius_auth squidguard squidpurge squidstats squidview # whereis squid31 squid31: /usr/ports/www/squid31 # cd /usr/ports/www/squid31 # make install clean
例えば、以下のようなメッセージが出力された場合
# pkg_replace openssh-portable ---> Replacing 'openssh-portable-5.2.p1_3,1' with 'openssh-portable-5.8.p2,1' ---> Building '/usr/ports/security/openssh-portable' ===> openssh-portable-5.8.p2,1 is marked as broken: latest upstream sftp file control public key patch is not up to date for OpenSSH 5.8p2. *** Error code 1
make configを行い、(broken)と付いたパッチのチェックを外して([X] → [ ])、再度makeしてみること。