ネットワークエンジニア系ブログ。エンターテイメント、おすすめ映画、本、キッズ系などお役立ち情報を紹介!

GOISBLOG

サーバー技術

FreeBSD Ports Collectionでインストール超便利機能!

投稿日:2014年2月27日 更新日:

FreeBSDでPortsCollectionを使用したインストール方法をメモします。
FreeBSDってわからないことが多いですが、このPortsCollectionは初期のインストール時にかなり役に立つと思います。

最新のパッケージはPorts Collectionで

基本的には、パッケージ利用が望ましいが、セキュリティ上の観点から最新のバージョンを利用する必要もあります。
その場合は、Ports Collectionを利用します。

スポンサーリンク


パッケージの検索

パッケージ名がわかっている場合には、次のコマンドでportsの場所を見つける事ができます。

whereis  \*パッケージ名 \*

or

find /usr/ports -type d -name \*パッケージ名\*

見つけられない場合には、ワイルドカードをパッケージ名の前後に入れる事で見つけやすくなります。

find /usr/ports -type d -name \*パッケージ名\*

また、コマンド等のファイル名がわかる場合には、次の様にすると発見する手掛かりとなります。

find /usr/ports/ -name pkg-plist -exec grep -H /<コマンド名>$ {}\;

パッケージが見つかった場合には、該当ディレクトリに移動し、ビルドを行なうのだが、この時、同時に依存するパッケージもビルドされてしまいます。
特に、PREFIXを変更する場合には、依存するパッケージのPREFIXも変わってしまう為、先に依存するパッケージをインストールしておく必要があります

依存するパッケージ

依存するパッケージの一覧は次の様にして見つける事ができます。

make all-depends-list | cut -d/ -f5

これらを先にpkg_addした後に、ビルドを行ないます。

パッケージのビルドおよびインストール

パッケージをビルドするには、そのパッケージのディレクトリにおいてmakeを行ないます。
また、インストール先の変更がある場合は、同時に指定する。その際、CUIにて設定を聞かれる事があるので必要に応じて設定を行ないます。

portsを利用する際の基本的なコマンド列は次の通り

make config
make all-depends-list | cut -d/ -f5
pkg_add -r ......
make PREFIX=/usr
(make test)
make install
make clean

ビルド失敗時

ビルドが失敗した場合は大きく2種類の原因が考えられます。

  1. 依存関係にあるパッケージの設定がなされずにインストールされた場合。

    依存関係にあるパッケージがビルドされインストールされてしまった場合には、一旦、同時にインストールされたパッケージをアンインストールしてやり直す必要があります。

    ログを見ながら、該当パッケージのディレクトリにてアンインストール作業を行ないます。
    この際、PREFIXも指定しているなら同じように指定してアンインストールを行ないます。

    make PREFIX=/usr deinstall

    その後、依存関係にあるパッケージをpkg_addでインストールを行なうか、CUI設定を行なった後、再度ビルドしてインストールを行ないます。また、PREFIXを指定していない状態での再ビルドには次のコマンドで関係するパッケージの設定を同時にできるようにする事も可能です。

    make config-recursive

    逆に依存関係にあるパッケージのCUI設定を全て削除するには、次のコマンドを使用します。

    make rmconfig-recursive
  2. CUIによる設定ミスがある場合。
    再度CUIによる設定を行なうには、次のコマンドを使用した後にビルドします。

    make config

    CUIによる設定を削除するには次のコマンドを使用します。

    make rmconfig

まとめ

FreeBSDのPorts Collectionは凄く便利ですが、インストールを間違ってしまうと凄く大変でした。
一つ一つコマンドと出力結果を確認して行きながら確実に実行していってください。

FreeBSDビギナーズバイブル (MYCOM UNIX Books)
後藤 大地
毎日コミュニケーションズ
売り上げランキング: 565,942

この記事が気に入ったら
いいね!しよう

Twitter で
スポンサーリンク

-サーバー技術
-,

Copyright© GOISBLOG , 2016 AllRights Reserved.