9.3. 使用软件包组
软件包组是满足共同用途的软件包集合,用于实例系统工具或 Sound 和 Video。安装软件包组会拉取一组依赖软件包,从而节省大量时间。yum groups
命令是顶级命令,涵盖在 yum 中对包组执行的所有操作。
9.3.1. 列出软件包组
Summary 选项
用于查看已安装组、可用组、可用环境组的数量,以及已安装和可用的语言组:
yum groups
summary
例 9.14. yum group summary 的输出示例
~]$yum
groups
summary
Loaded plugins: langpacks, product-id, subscription-manager Available Environment Groups: 12 Installed Groups: 10 Available Groups: 12
要列出 yum 存储库中的所有软件包组,请添加 list
选项。您可以根据组名称过滤命令输出。
yum group list glob_expression…
可以将几个可选参数传递给此命令,包括 隐藏
列出未标记为用户可见的组,以及用于列出组 ID 的 id
。您可以添加 语言
、环境
、已安装
或 可用的
选项,将命令输出减少到特定组类型。
要列出特定组中的强制和可选软件包,请使用以下命令:
yum group info glob_expression…
例 9.15. 查看 LibreOffice 软件包组的信息
~]$ yum group info LibreOffice
Loaded plugins: langpacks, product-id, subscription-manager
Group: LibreOffice
Group-Id: libreoffice
Description: LibreOffice Productivity Suite
Mandatory Packages:
=libreoffice-calc
libreoffice-draw
-libreoffice-emailmerge
libreoffice-graphicfilter
=libreoffice-impress
=libreoffice-math
=libreoffice-writer
+libreoffice-xsltfilter
Optional Packages:
libreoffice-base
libreoffice-pyuno
如上例中所示,软件包组中的软件包可以具有使用以下符号标记的不同状态:
-
"
-
" - 未安装包,不会将其作为包组的一部分安装。 -
"
+
" - 包未安装,但将在下一次yum 升级或 yum
组升级时安装。
-
"
=
" - 包已安装并且作为包组的一部分安装. -
无符号 - 软件包已安装,但安装在软件包组之外。这意味着
yum group remove
不会删除这些软件包。
这些区别仅在 group_command
配置参数设置为 对象
时才会进行,这是默认设置。如果您不希望 yum跟踪软件包是否作为组的一部分安装或单独安装,则将此参数设置为不同的值,这将"无符号"包,等同于 "=" 软件包。
您可以使用 yum group mark
命令更改上述软件包状态。例如,yum group 将任何给定安装的包标记为
指定组的成员。要避免在组更新时安装新软件包,请使用 yum group mark blacklist
。有关 yum
group mark 功能的更多信息,请参阅 yum
(8)man page。
您可以使用 @^ 前缀识别环境组,软件包组则可标记为 @。使用 yum
group
list
、info
、install
或 remove
时,传递 @group_name 以指定软件包组、@^group_name 指定环境组,或者包含它们的 group_name。
9.3.2. 安装软件包组
每个软件包组都有一个名称和组 ID(groupid)。要列出所有软件包组的名称,及其组 ID(以括号中显示),请输入:
yum group list ids
例 9.16. 查找软件包组的名称和 groupid
要查找软件包组的名称或 ID,例如与 KDE 桌面环境相关的组,请输入:
~]$ yum group list ids kde\* Available environment groups: KDE Plasma Workspaces (kde-desktop-environment) Done
某些组由配置的仓库中的设置隐藏。例如,在服务器上,使用 隐藏
命令选项同时列出隐藏组:
~]$ yum group list hidden ids kde\* Loaded plugins: product-id, subscription-manager Available Groups: KDE (kde-desktop) Done
您可以将其完整组名(不带 groupid 部分)传递到 group install
命令,以此安装软件包组。以 root
用户身份键入:
yum
group install
"group name"
您还可以按 groupid 安装。以 root
用户身份执行以下命令:
yum
group install
groupid
如果您使用 @ 符号附加 groupid 或带引号的组名称,您可以将 groupid 或 quoted 组名传递给 install
命令,该符号告知 yum
想要执行 组安装
。以 root
用户身份键入:
yum
install
@group
使用 groupid 或带引号的组名称替换 group。相同的逻辑适用于环境组:
yum install @^group
例 9.17. 安装 KDE 桌面组的四种等效方法
如前文所述,您可以使用四种替代方案,但使用等效的方式来安装软件包组。对于 KDE Desktop,命令如下所示:
~]# yum group install "KDE Desktop" ~]# yum group install kde-desktop ~]# yum install @"KDE Desktop" ~]# yum install @kde-desktop
9.3.3. 删除软件包组
您可以使用类似于 安装
语法的语法删除软件包组,并使用软件包组的名称或其 id。以 root
用户身份键入:
yum group remove group_name
yum
group remove
groupid
此外,如果您在 remove
命令前面添加 @-symbol(告知 yum 想要执行组删除),则您也可以将 groupid 或带引号的名称传递给 remove
命令。以 root
用户身份键入:
yum
remove
@group
使用 groupid 或带引号的组名称替换 group。同样,您可以替换环境组:
yum remove @^group
例 9.18. 删除 KDE 桌面
组的四种等效方法
与安装类似,您可以使用四种替代方案,但使用等效的方法删除软件包组:对于 KDE Desktop,命令如下所示:
~]# yum group remove "KDE Desktop" ~]# yum group remove kde-desktop ~]# yum remove @"KDE Desktop" ~]# yum remove @kde-desktop