软件打包者可以将一组相关的软件包定义为元软件包或软件包组。通过安装一个元软件包或软件包组,可以同时安装一系列的软件包。虽然软件包组不是一个软件包,但安装操作和一个真正的软件包相同。请参考 pacman (简体中文)#安装包组和 PKGBUILD (简体中文)#groups。
区别
元包和普通包的区别在于元包是空的,存在元包纯粹是为了通过依赖关系将相关包链接在一起。元包,通常(但不总是)以“-meta”结尾,提供与包组类似的功能,因为它可以同时安装或卸载多个相关包。
每个方式都有其优缺点:
元软件包:
- 安装方法和其它软件包一样(pacman (简体中文)#安装指定的包)。
- 删除方法和其他软件包一样(pacman (简体中文)#删除软件包)。
- 所有后续加入的软件包都会在更新时自动安装。
- 无法选择仅安装元软件包依赖的部分软件。
- 只有删除了元软件包之后,才能删除其依赖的软件包。
软件包组:
- 安装软件包组时会可以选择安装哪些软件包(Pacman (简体中文)#安装包组)。
- 软件包组仅是一个列表,所以无法删除一个软件包组,
pacman -R groupname
会尝试删除软件包组中的所有软件。 - 新加入软件包组的软件不会在更新时自动安装。
- 可以选择安装组中的部分软件。
- 可以选择仅删除软件包组中的部分软件。
元软件包
最重要的元软件包是 base。包含了 Arch Linux 安装时需要的最小软件集,包含:
内核是可选依赖,请参考发布说明和为什么 base 是元软件包。
软件包组
重要的软件包组是 base-devel。包含编译软件需要的主要工具,例如 GCC 和 make 等。请参阅makepkg (简体中文)#使用[损坏的链接:无效的章节]。