元软件包与软件包组
(重定向自 Base meta package)
元软件包和软件包组可以由打包者定义,以表示一组相关的软件包。两者都允许通过使用元软件包或组名称代替每个单独的软件包名称来同时安装或卸载这组软件包。虽然组不是软件包,但它可以用类似于软件包的方式安装,请参阅pacman#安装软件包组和PKGBUILD#groups。
元软件包与软件包组的区别
元软件包与常规软件包的区别在于,元软件包是空的,其存在纯粹是为了通过依赖关系将相关软件包链接在一起。元软件包,通常(但不总是)以“-meta”后缀命名,提供与软件包组类似的功能,因为它允许同时安装或卸载多个相关软件包。
每种解决方案都有其优点和缺点
元软件包:
- 元软件包可以像任何其他软件包一样安装(参见pacman#安装特定软件包)。
- 元软件包可以像任何其他软件包一样移除(参见pacman#移除软件包)。
- 当元软件包本身使用一组新的依赖项更新时,任何新的成员软件包都将被安装。
- 用户无法选择他们希望安装哪些元软件包依赖项。
- 用户无法移除元软件包依赖项,而无需卸载元软件包本身。
组:
- 软件包组将提示用户从他们希望安装的组中选择软件包(参见pacman#安装软件包组)。
- 用户无法卸载组,因为他们安装的是软件包列表。相反,
pacman -R groupname
尝试移除组的所有成员。 - 新的组员不会自动安装。相反,可以运行命令
comm -23 <(pacman -Sg package_group | awk '{print $2}' | sort) <(pacman -Qq | sort)
来显示package_group
中哪些成员未安装在系统上。 - 用户可以选择他们希望安装哪些组成员。
- 用户可以卸载组成员,而无需移除整个组。
元软件包
最重要的元软件包是base。它包含定义基本 Arch Linux 安装的最小软件包集。它包括
- 诸如 glibc 和 bash 等基础组件,
- 诸如 pacman 和 systemd 等发行版相关内容
- 诸如 core utilities、进程、文件和文件压缩实用程序等 POSIX 工具
- 诸如 iproute2 等网络工具
内核是一个可选依赖项。请参阅引入时的公告,以及base 成为元软件包的原因。
另一个常见的元软件包是 base-devel。它包含 makepkg 的完整构建环境。请参阅它成为元软件包的原因。
组
软件包组通常用于方便安装桌面环境。请参阅桌面环境#桌面环境列表。
另一个例子是 pro-audio 组,用于 专业音频 软件,可在官方仓库中获得。
请参阅所有软件包组的列表。