「メタパッケージとパッケージグループ」の版間の差分
Kusanaginoturugi (トーク | 投稿記録) (英語版より転載) |
Kusanaginoturugi (トーク | 投稿記録) (章タイトルのみ和訳) |
||
6行目: | 6行目: | ||
A '''meta package''' and a '''package group''' can be defined by the [[packager]] to denote a set of related packages. Both can allow to install or uninstall this set of packages simultaneously by using the meta package or the group name as a substitute for each individual package name. While a group is not a package, it can be installed in a similar fashion to a package, see [[pacman#Installing package groups]] and [[PKGBUILD#groups]]. |
A '''meta package''' and a '''package group''' can be defined by the [[packager]] to denote a set of related packages. Both can allow to install or uninstall this set of packages simultaneously by using the meta package or the group name as a substitute for each individual package name. While a group is not a package, it can be installed in a similar fashion to a package, see [[pacman#Installing package groups]] and [[PKGBUILD#groups]]. |
||
+ | == メタパッケージとパッケージグループの違い == |
||
− | == Difference between meta package and package group == |
||
The difference between a meta package and a regular package is that a meta package is empty and exists purely to link related packages together via dependencies. A ''meta package'', often (though not always) titled with the "-meta" suffix, provides similar functionality to a package group in that it enables multiple related packages to be installed or uninstalled simultaneously. |
The difference between a meta package and a regular package is that a meta package is empty and exists purely to link related packages together via dependencies. A ''meta package'', often (though not always) titled with the "-meta" suffix, provides similar functionality to a package group in that it enables multiple related packages to be installed or uninstalled simultaneously. |
||
28行目: | 28行目: | ||
* Users can uninstall group members without having to remove the entire group. |
* Users can uninstall group members without having to remove the entire group. |
||
− | == |
+ | == メタパッケージ == |
The most important meta package is {{Pkg|base}}. It contains a minimal package set that defines a basic Arch Linux installation. It includes: |
The most important meta package is {{Pkg|base}}. It contains a minimal package set that defines a basic Arch Linux installation. It includes: |
||
39行目: | 39行目: | ||
The [[kernel]] is an optional dependency. See [https://www.archlinux.org/news/base-group-replaced-by-mandatory-base-package-manual-intervention-required/ the announcement when it was introduced], and [https://lists.archlinux.org/pipermail/arch-dev-public/2019-January/029435.html reasoning why base is a meta package]. |
The [[kernel]] is an optional dependency. See [https://www.archlinux.org/news/base-group-replaced-by-mandatory-base-package-manual-intervention-required/ the announcement when it was introduced], and [https://lists.archlinux.org/pipermail/arch-dev-public/2019-January/029435.html reasoning why base is a meta package]. |
||
− | == |
+ | == グループ == |
The most important package group is {{Grp|base-devel}}. It contains tools required to build many packages like [[GCC]] and [[GNU make|make]]. See also [[makepkg#Usage]]. |
The most important package group is {{Grp|base-devel}}. It contains tools required to build many packages like [[GCC]] and [[GNU make|make]]. See also [[makepkg#Usage]]. |
||
− | == |
+ | == 参照 == |
* [https://www.archlinux.org/groups/ List of all package groups] |
* [https://www.archlinux.org/groups/ List of all package groups] |
||
− | * |
+ | * 例: |
** [[GNOME#Installation]] |
** [[GNOME#Installation]] |
||
** [[KDE#Installation]] |
** [[KDE#Installation]] |
2020年7月31日 (金) 18:02時点における版
A meta package and a package group can be defined by the packager to denote a set of related packages. Both can allow to install or uninstall this set of packages simultaneously by using the meta package or the group name as a substitute for each individual package name. While a group is not a package, it can be installed in a similar fashion to a package, see pacman#Installing package groups and PKGBUILD#groups.
メタパッケージとパッケージグループの違い
The difference between a meta package and a regular package is that a meta package is empty and exists purely to link related packages together via dependencies. A meta package, often (though not always) titled with the "-meta" suffix, provides similar functionality to a package group in that it enables multiple related packages to be installed or uninstalled simultaneously.
Each solution has advantages and disadvantages:
meta package:
- Meta packages can be installed just like any other package (see pacman#Installing specific packages).
- Meta packages can be removed like any other package (see pacman#Removing packages).
- Any new member packages will be installed when the meta package itself is updated with a new set of dependencies.
- Users cannot choose which meta package dependencies they wish to install.
- Users cannot remove meta package dependencies without having to uninstall the meta package itself.
group:
- Package groups will prompt users to select the packages from the group that they wish to install (see pacman#Installing package groups).
- Users cannot uninstall a group, because they installed a list of packages. Instead,
pacman -R groupname
tries to remove all members of the group. - New group members will not be automatically installed.
- Users can choose which group members they wish to install.
- Users can uninstall group members without having to remove the entire group.
メタパッケージ
The most important meta package is base. It contains a minimal package set that defines a basic Arch Linux installation. It includes:
- basics such as glibc and bash,
- distribution related things such as pacman and systemd
- POSIX tools such as core utilities, process, file and file compression utilities
- networking tools such as iproute2
The kernel is an optional dependency. See the announcement when it was introduced, and reasoning why base is a meta package.
グループ
The most important package group is base-devel. It contains tools required to build many packages like GCC and make. See also makepkg#Usage.