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