Meta package and package group (简体中文)

From ArchWiki
翻译状态:本文是 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

参阅