9.3. パッケージグループでの作業

パッケージグループは、たとえば システムツールサウンドとビデオ などの共通の目的でサービスを行うパッケージの集合です。パッケージグループをインストールすると、依存パッケージもプルされるので時間が大幅に短縮できます。yum groups コマンドは、yum 内のパッケージグループに作用するすべての操作をカバーするトップレベルのコマンドです。

9.3.1. パッケージグループの一覧表示

summary オプションを使用すると、インストール済みのグループ数、利用可能なグループ数、利用可能な環境グループ数、インストール済みの言語グループ数、利用可能な言語グループ数が表示されます。
yum groups summary

例9.14 yum groups 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
このコマンドで使用できるオプションには、たとえば以下のようなものがあります。hidden はユーザー表示可能とマークされていないグループも一覧表示し、ids はグループ ID を表示します。また、languageenvironmentinstalledavailable などのオプションを追加して、出力を特定のグループタイプに制限することもできます。
特定のグループに含まれている必須およびオプションパッケージを一覧表示するには、以下のコマンドを使用します。
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 upgrade または yum group upgrade でインストールされます。
  • " = ": パッケージはインストールされており、パッケージグループの一部としてインストールされました。
  • 記号なし: パッケージはインストールされていますが、パッケージグループとしてはインストールされませんでした。このため、yum group remove ではこのパッケージを削除できません。
この区別は、group_command 設定パラメーターがデフォルト設定の objects になっている場合にのみ発生します。グループの一部として、または個別にパッケージをインストールしたかを yum で追跡したくない場合は、このパラメーターを異なる値に設定します。すると、"記号なし" パッケージと "=" パッケージが同じ意味になります。
yum group mark コマンドを使用する上記のパッケージの状態を変更することもできます。たとえば、yum group mark packages は、特定のインストール済みパッケージを指定されたグループのメンバーとしてマークします。グループ更新で新たなパッケージのインストールをしないようにするには、yum group mark blacklist を使用します。yum group mark の詳細な機能は man ページの yum(8) を参照してください。

注記

@^ 接頭辞を使用すると環境グループが特定でき、パッケージグループには @ のマークが付きます。yum group listinfoinstall、または remove を使用する際は、@group_name を渡すとパッケージグループ、または @^group_name を渡すと環境グループが指定され、そして group_name を渡すとこれら両方を含めることができます。

9.3.2. パッケージグループのインストール

パッケージグループにはそれぞれ、名前とグループ ID (groupid) があります。パッケージグループの名前とグループ ID (括弧内に表示される) を一覧表示するには、以下のコマンドを入力します。
yum group list ids 

例9.16 パッケージグループの名前と groupid の表示

パッケージグループ (例: KDE デスクトップ環境に関連するグループ) の名前または ID を検索するには、以下のコマンドを入力します。
~]$ yum group list ids kde\*
Available environment groups:
   KDE Plasma Workspaces (kde-desktop-environment)
Done
一部のグループは、設定されたリポジトリーの設定により非表示になっています。たとえば、サーバーで hidden コマンドオプションを使用すると、非表示グループを一覧表示できます。
~]$ yum group list hidden ids kde\*
Loaded plugins: product-id, subscription-manager
Available Groups:
   KDE (kde-desktop)
Done
パッケージグループをインストールするには、group install にグループ名全体 (groupid を含めない) を渡します。root で以下のコマンドを入力します。
yum group install "group name"
groupid でインストールすることもできます。root で以下のコマンドを実行します。
yum group install groupid
groupid または引用符で囲んだグループ名を@ 記号の後に指定して、install コマンドに渡すことができます。これにより、group install を実行することが yum に通知されます。root で以下のコマンドを入力します。
yum install @group
group を groupid または引用符で囲んだグループ名で置き換えます。同じ論理が環境グループにも適用できます。
yum install @^group

例9.17 KDE Desktop グループをインストールする 4 つの方法

上記で説明したように、パッケージグループをインストールする方法は 4 つあります。KDE Desktop の場合、コマンドは以下のようになります。
~]# yum group install "KDE Desktop"
~]# yum group install kde-desktop
~]# yum install @"KDE Desktop"
~]# yum install @kde-desktop

9.3.3. パッケージグループの削除

パッケージグループ名またはその ID を使用して、install 構文に類似した構文でパッケージグループを削除できます。root で以下のコマンドを入力します。
yum group remove group_name
yum group remove groupid
また、groupid または引用符で囲んだグループ名を@ マークに続けて、remove コマンドに渡すことも可能です。これにより、yum コマンドに、group remove の実行を認識させます。root で以下を入力します。
yum remove @group
group を groupid または引用符で囲んだグループ名で置き換えます。同様に、環境グループに置き換えることもできます。
yum remove @^group

例9.18 KDE Desktop グループを削除する 4 つの方法

インストールする場合と同様に、パッケージグループを削除する方法は 4 つあります。KDE Desktop の場合、コマンドは以下のようになります。
~]# yum group remove "KDE Desktop"
~]# yum group remove kde-desktop
~]# yum remove @"KDE Desktop"
~]# yum remove @kde-desktop