コンテンツにスキップ

Pkgsrc

出典: フリー教科書『ウィキブックス(Wikibooks)』

はじめに

[編集]

pkgsrcは、Unix系システム向けのパッケージ管理システムで、特にNetBSDでの利用が広く、他の多くのUnix系オペレーティングシステムでもサポートされています。このシステムは、ソフトウェアパッケージをソースからビルドし、依存関係を管理します。pkgsrcは、ポータブルなパッケージ管理を提供し、多くのOSプラットフォームで使用することができます。

pkgsrcのインストール

[編集]

pkgsrcを利用するには、まずpkgsrcのソースツリーを取得する必要があります。これには、次の手順を実行します。

まず、pkgsrcのリポジトリをクローンまたはダウンロードします。次のコマンドで最新のpkgsrcツリーを取得できます。

cd /usr
git clone https://github.com/NetBSD/pkgsrc.git pkgsrc

次に、pkgsrcディレクトリに移動し、必要な設定を行います。

cd /usr/pkgsrc
make update

これでpkgsrcの基本的なインストールが完了します。

パッケージのインストール

[編集]

pkgsrcでは、パッケージをビルドしてインストールする手順は比較的簡単です。インストールするソフトウェアのパッケージが決まったら、次のコマンドを使ってインストールできます。

例えば、vimをインストールする場合、次の手順を実行します。

cd /usr/pkgsrc/editors/vim
make install clean

このコマンドは、vimのソースコードをビルドし、インストールします。make install cleanは、インストール後にビルドしたファイルをクリーンアップします。

パッケージの検索

[編集]

pkgsrcでは、パッケージを検索するためにpkginを使用します。pkginは、pkgsrcパッケージ管理システム用のフロントエンドツールです。パッケージを検索するには、次のように入力します。

pkgin search vim

これにより、vimに関連するパッケージが表示されます。

パッケージのアップグレード

[編集]

pkgsrcでは、インストール済みのパッケージをアップグレードするために次のコマンドを使います。

pkgin upgrade

これにより、システムにインストールされているすべてのパッケージが最新のバージョンにアップグレードされます。

パッケージの削除

[編集]

インストール済みのパッケージを削除するには、次のコマンドを使用します。

pkgin remove vim

これにより、vimがシステムから削除されます。

ソースからのビルド

[編集]

ソースコードからパッケージをビルドする際は、次の手順を実行します。

まず、対象のパッケージディレクトリに移動します。

cd /usr/pkgsrc/www/firefox

次に、makeコマンドを使用してビルドを開始します。

make

ビルドが完了したら、インストールを行います。

make install

ビルド中に依存関係が解決され、必要なパッケージが自動的にインストールされます。

pkgsrcの設定

[編集]

pkgsrcでは、パッケージのビルドオプションを設定することができます。設定は、mk.confファイルを編集することで行います。

例えば、/etc/mk.confファイルに次の設定を追加することで、特定のオプションを変更できます。

PKG_DEFAULT_OPTIONS+=   -python

この設定により、Python関連のパッケージが無効化されます。

パッケージの依存関係

[編集]

pkgsrcは、パッケージの依存関係を自動的に管理します。パッケージが他のパッケージを必要とする場合、pkgsrcは自動的にそれらをインストールし、ビルドします。依存関係を確認するには、次のコマンドを使用します。

pkg_info -R package-name

これにより、指定したパッケージの依存関係が表示されます。

パッケージのクリーンアップ

[編集]

パッケージを削除した後でも、キャッシュや不要なファイルが残ることがあります。これらをクリーンアップするには、pkg_adminを使用します。

pkg_admin rebuild

これにより、不要なファイルが削除され、パッケージデータベースが再構築されます。

まとめ

[編集]

pkgsrcは、強力で柔軟なパッケージ管理システムであり、多くのUnix系システムで使用できます。パッケージのインストール、管理、削除など、基本的な操作は簡単に行うことができます。依存関係の管理やビルドオプションのカスタマイズも可能で、ユーザーのニーズに応じたシステム構築が可能です。