元软件包和软件包组 - Arch Linux 中文维基

跳转到内容

# 元软件包和软件包组

来自 Arch Linux 中文维基
翻译状态：

- 本文（或部分内容）译自 Meta package and package group，最近一次同步于 2026-02-28，若英文版本有所更改，则您可以帮助同步与翻译更改的内容。
- 您可以在 ArchWiki 的对应页面找到本文翻译的原始修订历史。
- 本文可能与英文原文存在出入。

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

## 区别

元包和普通包的区别在于元包是空的，存在元包纯粹是为了通过依赖关系将相关包链接在一起。元包通常（但不总是）以“-meta”结尾，提供与包组类似的功能，因为它可以同时安装或卸载多个相关包。

每个方式都有其优缺点:

元软件包：

- 安装方法和其它软件包一样（pacman#安装指定的包）。
- 删除方法和其他软件包一样（pacman#删除软件包）。
- 所有后续加入的软件包都会在更新时自动安装。
- 无法选择仅安装元软件包依赖的部分软件。
- 只有删除了元软件包之后，才能删除其依赖的软件包。

软件包组：

- 安装软件包组时会可以选择安装哪些软件包（Pacman#安装包组）。
- 软件包组仅是一个列表，所以无法删除一个软件包组，`pacman -R groupname` 会尝试删除软件包组中的所有软件。
- 新加入软件包组的软件不会在更新时自动安装，但可以通过 `comm -23 <(pacman -Sg 软件包组名 | awk '{print $2}' | sort) <(pacman -Qq | sort)` 查看 `软件包组名` 中的哪些软件还没有被安装。
- 可以选择安装组中的部分软件。
- 可以选择仅删除软件包组中的部分软件，而无需删除整个包组。

## 元软件包

最重要的元软件包是 base包，它包含了 Arch Linux 安装时需要的最小软件集，其中有：

- 基本的软件包，如 glibc包 和 bash
- 发行版相关工具，如 pacman 和 systemd
- POSIX 工具，例如核心工具、进程、文件、压缩工具等
- 网络工具，如 iproute2包

内核是可选依赖，请参考发布说明和为什么 base 是元软件包。

另一个元软件包是 base-devel包，它包含了完整的 makepkg 编译环境。这里记录了将其从软件包组转换为元软件包的原因。

## 软件包组

软件包组常用来简化桌面环境的安装，请参考桌面环境#桌面环境列表。

另外一个软件包组是 pro-audio包组，其提供了官方仓库中与专业音频相关的软件。

请参考软件包组列表。

分类：​

- 包管理

元软件包和软件包组
添加话题