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 の詳細な機能については、yum(8) man ページを参照してください。

注記

@^ 接頭辞を使うと環境グループが特定でき、パッケージグループには @ のマークが付きます。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 コマンドに渡すことも可能です。これで group remove を実行したいというメッセージが yum に伝わります。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