メタパッケージとパッケージグループ
メタパッケージ と パッケージグループ は、関連するパッケージ一式を表すために、パッケージャー によって定義されています。 どちらも、メタパッケージまたはグループ名をパッケージ名の代わりに使用することで、パッケージ一式を同時にインストールまたはアンインストールすることができます。グループはパッケージではありませんが、パッケージと同じようにインストールすることができます。pacman#パッケージグループのインストール と PKGBUILD#groups を参照してください。
メタパッケージとパッケージグループの違い
メタパッケージと普通のパッケージの違いは、メタパッケージは依存パッケージによって関連したパッケージを結び付けるためだけに存在し、それ自身は空っぽなことです。 メタパッケージ は多くの場合"-meta"サフィックスが付けられており、複数の関連したパッケージを同時にインストールまたはアンインストールできるようにするという点で似た機能を提供します。
それぞれ長所と短所を持ち合せています:
メタパッケージ:
- メタパッケージは、他のパッケージと全く同じようにしてインストールすることができます。(pacman#特定のパッケージのインストール を参照)
- メタパッケージは、他のパッケージと全く同じようにしてアンインストールすることができます。(pacman#パッケージの削除 を参照)
- メタパッケージに新しい依存パッケージが追加された際、それらも追加されます。
- ユーザーは依存パッケージのうちどれをインストールするかを選択することができません。
- ユーザーは、メタパッケージそれ自体をアンインストールすることなくその依存パッケージをアンインストールすることはできません。
パッケージグループ:
- パッケージグループは、そのグループの中のどのパッケージをインストールするかをユーザーに選択させます。(pacman#パッケージグループのインストール を参照)
- パッケージグループはパッケージ群をインストールするため、パッケージグループ自体をアンインストールすることはできません。その代わりに、
pacman -R groupname
はそのパッケージグループの全てのパッケージをアンインストールしようとします。 - パッケージグループに新しいメンバーが追加されても、自動的にインストールされません。
- ユーザーはグループメンバーのうちどれをインストールするかを選択することができます。
- ユーザーはグループ全体を削除することなくグループメンバーをアンインストールすることができます。
メタパッケージ
一番重要なメタパッケージは base です。これは Arch Linux のインスールに必要な最低限のパッケージを含んでいます。ここには、以下のようなものが含まれています:
- glibc や bash といった basics、
- pacman や systemd といった、ディストリビューション関連のもの
- core utilities 、プロセス、ファイルやファイル圧縮ユーティリティなどの POSIX ツール群
- iproute2 のようなネットワーク周りのツール
カーネル は選択式の依存パッケージです。それが導入された際のアナウンス や base がメタパッケージである理由 を参考にしてください。
グループ
The most important package group is base-devel. It contains tools required to build many packages like GCC and make. See also makepkg#Usage.