====== ports ======
FreeBSDのportsはaptとかyumとは少し趣が違って、ソースを落として自分でコンパイルする仕組み(だといいなぁ)。\\
FreeBSDを導入時によく使うのでメモ程度に。
===== portsツリー =====
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
===== 普段の使い方 =====
- 目的のportsを探す。
- ディレクトリ移動
- make install clean
* make config-recursiveを先に使用することで、依存関係先のmakeコンフィグも一括で先に設定できる。お茶でも飲もう。
例: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
===== パッチがbrokenになったとき =====
例えば、以下のようなメッセージが出力された場合
# 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してみること。
{{tag>freebsd ports}}