Portageは、Gentoo
Linuxにおいて中心的な役割を担うパッケージ管理システムです。その設計は、FreeBSDやOpenBSDなどのBSD系OSで利用されるportsシステムに触発されたもので、多くの共通点が見られます。しかし、portsがMakefileベースであるのに対し、Portageは
Pythonで記述されており、より柔軟かつ強力な機能を提供します。また、Gentoo
Linux以外にも
Solarisへの移植版が存在しますが、そちらでは標準のパッケージ管理システムとしては利用されていません。
Portageの核となるのは、ebuildと呼ばれるファイル群です。ebuildには、各ソフトウェアパッケージの依存関係、ライセンス情報、そして具体的な構築手順が記述されています。これらの情報をもとに、ユーザーは`emerge`コマンドなどのツールを用いて、システムを構成するソフトウェアやアプリケーションをインストール、アップグレード、削除などの操作を行います。インストールは基本的に
ソースコードからのコンパイルとなるため、システムに合わせて最適化されたソフトウェアを利用できるという利点があります。`emerge`コマンドに様々なオプションを与えることで、パッケージのインストールや更新の詳細な制御が可能です。
例えば、`emerge -pvuDN @world`というコマンドは、システム全体を対象に、更新が必要なパッケージのリストを表示します。各オプションの意味は以下の通りです。
`-p`オプション: 実際には処理を実行せず、実行内容のプレビューを表示します。
`-v`オプション: コンパイルの過程など、詳細な情報を出力します。
`-u`オプション: アップグレードを実施します。
`-D`オプション: 依存関係のあるパッケージも考慮して処理を行います。
`-N`オプション: 新しく設定されたUSEフラグを検知し、それに基づいてパッケージを再構築します。
`@world`: ユーザーが明示的にインストールしたパッケージを指します。
このコマンドを実行すると、システム全体で変更や更新が必要なパッケージの一覧が詳細に表示されます。`-p`オプションを取り除くことで、実際に更新作業が実行されます。
Portageは、ソフトウェアのインストールからシステム全体の設定まで、幅広い操作を可能にする強力なパッケージ管理システムです。その柔軟性とカスタマイズ性は、Gentoo
Linuxの大きな特徴の一つであり、ユーザーはシステムの詳細な制御をすることができます。関連ツールとしてgentoolkitがあります。
関連項目:
APT
Gentoo
Linux
ebuild
外部リンク:
公式ウェブサイト