Meta package and package group (简体中文)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
翻译状态:本文是 Meta package and package group翻译。上次翻译日期:2020-09-18。如果英文版本有所更改,则您可以帮助同步翻译。

软件打包者可以将一组相关的软件包定义为 元软件包软件包组。通过安装一个元软件包或软件包组,可以同时安装一系列的软件包。虽然软件包组不是一个软件包,但安装操作和一个真正的软件包相同。请参考 pacman#Installing package groupsPKGBUILD#groups.

软件包组是一组软件包,由打包者定义。按组安装/删除时, 通过组名可以替代组中的所有软件包。安装方法参考Pacman#Installing package groups和PKGBUILD#groups.

和软件包组相比,元软件包的优点是。而如果有新软件包加入一个组,这个软件包不会在更新时自动被安装。元软件包的缺点是不如软件包组灵活。使用软件包组时,可以只删除组中的某几个软件,其它软件保持不变。而使用元软件包时,只有删除元软件包之后,才能自由删除其中的单个包。

区别

元软件包是空的,通过依赖关系安装软件包。元软件包,通常以 -meta 结尾,和软件包组提供的功能类似,可以同时安装一系列软件,

没一个方式都有其优缺点:

元软件包:

  • 安装方法和其它软件包一样 (pacman#Installing specific packages).
  • 删除方法和其他软件包一样 (pacman#Removing packages).
  • 所有后续加入的软件包都会在更新时被自动安装。
  • 用户无法选择仅安装元软件包依赖的部分软件。
  • 只有删除了元软件包之后,才能删除其以来的其它软件包。

软件包组:

  • 安装软件包组时会让用户选择安装哪些软件包(pacman#Installing package groups).
  • 软件包组仅是一个列表,所以用户无法删除一个软件包组, pacman -R groupname 会尝试删除软件包组中的所有软件.
  • 新加入软件包组的软件不会在更新时自动安装.
  • 用户可以选择安装组中的部分软件.
  • 用户可以选择仅删除软件包组中的部分软件.

元软件包

最终要的元软件包是 base. 包含了 Arch Linux 安装时需要的最小软件集,包含:

kernel 是可选以来,请参考发布说明为什么 base 是元软件包

软件包组

重要的软件包组是 base-devel. 包含编译软件需要的主要工具, 例如 GCCmake 等。请参阅 makepkg#Usage

参阅