yum groupinstall "<package group name>" が RHEL 7 で失敗し、エラーメッセージ「There is no installed groups file」を表示する

Solution Unverified - Updated -

Environment

  • Red Hat Enterprise Linux 7.0
  • yum

Issue

  • yum groupinstall "Office Suite and Productivity" が Red Hat Enterprise Linux 7 で失敗し、エラーメッセージ「There is no installed groups file」を表示します。

  • yum groupinstall "Office Suite and Productivity"

Loaded plugins: langpacks, product-id, subscription-manager
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Warning: Group office-suite does not have any packages to install.
Maybe run: yum groups mark install (see man yum)
No packages in any requested group available to install or update
  • yum groupinstall "Graphical Administration Tools"
Loaded plugins: langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Warning: Group graphical-admin-tools does not have any packages to install.
Group graphical-admin-tools does have 1 conditional packages, which may get installed.
Maybe run: yum groups mark install (see man yum)
No packages in any requested group available to install or update
  • yum groupinstall "System Administration Tools"
Loaded plugins: langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Warning: Group system-admin-tools does not have any packages to install.
Maybe run: yum groups mark install (see man yum)
No packages in any requested group available to install or update
  • yum group install "kde-desktop" が失敗し、エラーメッセージ「No packages in any requested group available to install or update」を表示します。

Resolution

  • yum は Red Hat Enterprise Linux 7 で変更されました。パッケージグループ「Office Suite and Productivity」には、デフォルトではインストールされないオプションパッケージのみがあります。したがって、オプションパッケージもインストールするオプションを渡す必要があります。

  • 上記のパッケージグループをインストールするには、以下のコマンドを実行してください。

# yum groupinstall "Office Suite and Productivity" --setopt=group_package_types=mandatory,default,optional

Root Cause

  • yum は Red Hat Enterprise Linux 7 で変更されました。パッケージグループ「Office Suite and Productivity」には、デフォルトではインストールされないオプションパッケージのみがあります。したがって、オプションパッケージもインストールするオプションを渡す必要があります。
  • すべての必須パッケージがシステムにインストールされている場合は、現在の動作は設計上は正常です。 以前はグループの存在がそれぞれのパッケージの存在によって定義されていましたが、RHEL-7 では、オブジェクト (追加パッケージのようなもの) として処理されるパッケージグループという新しい概念が導入されました。

  • 以下の 2 つのシナリオで、わかりやすく説明することができます。
    A) 「開発」グループの一部であるパッケージがすべてインストールされている場合で (yum group install など)、開発グループの将来の更新も使用する必要があることから (パッケージの追加など)、グループをインストール済みとしてマークする必要があります (yum group install を使用してパッケージをインストールした場合はデフォルト)。

    B) 同じパッケージのセットを誤ってインストールしたが、(直接インストールしなかったため) 開発グループに特に関心がない可能性があり、したがって、最新の状態に維持したくない場合 (個々のパッケージの更新を除く)。この場合、グループはインストール済みとしてマークされるべきではありません。
    状況は B) だが、A) へ切り替えたい場合。そのためには、
    yum groups mark install "Development Tools" を実行し、
    そのグループが存在する必要があることを yum に知らせなければなりません。

別の方法として、システムのプロビジョニング方法を調整して、個々のパッケージ (シナリオ B) をインストールする代わりに、パッケージグループ (シナリオ A) をインストールすることもできます。

また、すべての必須パッケージがすでに存在する場合に、「yum group install Group」の後にグループが自動的にインストール済みとマークされるように、RFE の実装を検討することもできます。

Diagnostic Steps

  • すべてのパッケージがシステムのプロビジョニング中に既に存在するか、手動でインストールされている場合は、グループがまだインストール済みとしてリストされていないことがわかります。これは想定内です。
# yum grouplist
Loaded plugins: product-id, search-disabled-repos, subscription-manager
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Available Environment Groups:
   Minimal Install
   Infrastructure Server
   File and Print Server
   Basic Web Server
   Virtualization Host
   Server with GUI
Available Groups:
   Compatibility Libraries
   Console Internet Tools
   Development Tools
   Graphical Administration Tools
   Legacy UNIX Compatibility
   Scientific Support
   Security Tools
   Smart Card Support
   System Administration Tools
   System Management
Done
  • しかし、詳細な出力では、グループのすべてのパッケージがインストールされていることがわかります (パッケージ名の前の追加スペースは、パッケージがインストールされているが、グループインストールの一部としてインストールされたのではないことを示しています。man yum を参照してください)。
# yum group info 'Development Tools'
Loaded plugins: product-id, search-disabled-repos, subscription-manager
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)

Group: Development Tools
 Group-Id: development
 Description: A basic development environment.
 Mandatory Packages:
    autoconf
    automake
    binutils
    bison
    flex
    gcc
    gcc-c++
    gettext
    libtool
    make
    patch
    pkgconfig
    redhat-rpm-config
    rpm-build
    rpm-sign
 Default Packages:
    byacc
    cscope
    ctags
    diffstat
    doxygen
    elfutils
    gcc-gfortran
    git
    indent
    intltool
    patchutils
    rcs
    subversion
    swig
    systemtap
 Optional Packages:
   ElectricFence
   ant
   babel
   bzr
   chrpath
   cmake
   compat-gcc-44
   compat-gcc-44-c++
   compat-gcc-44-g77
   cvs
   dejagnu
   expect
   gcc-gnat
   gcc-objc
   gcc-objc++
   imake
   javapackages-tools
   ksc
   libstdc++-docs
   mercurial
   mod_dav_svn
   nasm
   perltidy
   python-docs
   rpmdevtools
   rpmlint
   systemtap-sdt-devel
   systemtap-server

これでようやく、グループを手動でインストール済みとしてマークできるようになりました。

# yum groups mark install "Development Tools"
# yum group list
Loaded plugins: product-id, search-disabled-repos, subscription-manager
Available Environment Groups:
   Minimal Install
   Infrastructure Server
   File and Print Server
   Basic Web Server
   Virtualization Host
   Server with GUI
Installed Groups:
   Development Tools
Available Groups:
   Compatibility Libraries
   Console Internet Tools
   Graphical Administration Tools
   Legacy UNIX Compatibility
   Scientific Support
   Security Tools
   Smart Card Support
   System Administration Tools
   System Management
Done
  • インストールされたパッケージの前には、追加スペースが 1 つあります (ユーザーフレンドリーな方法ではありません)
  • Component
  • yum

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.