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種類の原因が考えられます。
- 依存関係にあるパッケージの設定がなされずにインストールされた場合。
依存関係にあるパッケージがビルドされインストールされてしまった場合には、一旦、同時にインストールされたパッケージをアンインストールしてやり直す必要があります。
ログを見ながら、該当パッケージのディレクトリにてアンインストール作業を行ないます。
この際、PREFIXも指定しているなら同じように指定してアンインストールを行ないます。make PREFIX=/usr deinstall
その後、依存関係にあるパッケージをpkg_addでインストールを行なうか、CUI設定を行なった後、再度ビルドしてインストールを行ないます。また、PREFIXを指定していない状態での再ビルドには次のコマンドで関係するパッケージの設定を同時にできるようにする事も可能です。
make config-recursive
逆に依存関係にあるパッケージのCUI設定を全て削除するには、次のコマンドを使用します。
make rmconfig-recursive
- CUIによる設定ミスがある場合。
再度CUIによる設定を行なうには、次のコマンドを使用した後にビルドします。make config
CUIによる設定を削除するには次のコマンドを使用します。
make rmconfig
まとめ
FreeBSDのPorts Collectionは凄く便利ですが、インストールを間違ってしまうと凄く大変でした。
一つ一つコマンドと出力結果を確認して行きながら確実に実行していってください。
以上です。
サーバーを構築するならVPSがおすすめです。
エンジニアのオンライン学習
ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。
おすすめオンライン教材 | |
自宅で学習ができるオンラインスクール | |
ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。
コメントを残す