yumのgroupinstallでオプションパッケージもinstallする

前回の記事で、
CentOSインストール時点で全パッケージを入れましょう的なことを書いたんですが、
これはいちいち全グループをチェックしたうえで、
「オプションパッケージ」欄を一つずつチェックしていくのでめんどくさいことになります。

これを一気にコマンドでやることはできないかと後になって探してみたらなんとかなりそうなので記録しておきます。
そして案外この手の情報はググっても少なかったので。

yum groupinstall

そもそもyumには関連パッケージをグループ単位で操作する機能があります。

$ yum grouplist
$ yum groupinfo
$ yum groupinstall

この辺のコマンドがそれです。
ここでyum grouplistと打つと、インストール済みのgroup、
利用可能なgroupが出てきます。

Installed Groups:
   Additional Development
   Base
   Compatibility libraries
   Console internet tools
   Development tools
   Directory Client
   E-mail server
(中略)
Installed Language Groups:
   Japanese Support [ja]
Available Groups:
   Backup Client
   Backup Server
   CIFS file server
   Client management tools
   Debugging Tools
   Desktop
(中略)

こんな感じです。
ロケールを日本語にしておけば日本語表示されるでしょう。

そして、yum groupinstallを使えば一気にこれらをグループ単位でインストールできるので、
楽々フルパッケージインストール・・・かと思いきや、一つ罠がありました。

yum group系のデフォルト動作

知ってしまえば何のことはないのですが、
yumのデフォルト動作では、group系のコマンドを打った時に
「オプションパッケージ」が対象にならない】

ということです。

この動作はyum.confのパラメータデフォルトで決められていました。
詳しくはman yum.confを参照。
group_package_typesパラメータの項に、
groupinstallが呼ばれた時にはデフォルトパッケージ及び必須パッケージが対象になる、と書いてあります。

yum groupinstallでオプションパッケージもinstallする。

で、本題。

つまりはこのオプションを変えて、「optional」にして動作させればよいということです。

全体の動作を変えるなら/etc/yum.confに「group_package_types=optional」と記述しておけばよいですし、
そのコマンド単独で効かせるなら以下の様に--setoptを使えばいいでしょう。

# 下記の例はBaseグループのinstall。
$ yum --setopt=group_package_types=optional groupinstall Base

これで一気にオプションパッケージも入ります。
フルパッケージインストールも楽に行くことでしょう。





また、クラウド上のサーバを使うときにはデフォルトだとminimalであることが多いので、
そんな時Baseのオプションパッケージや開発ツール、
ライブラリ系のgroupを一気にinstallするというケースでも使えそうです。

ただ、当たり前ですがパッケージ数が相当多いので、本当に必要な時か
私のように検証機なんぞめんどくさいエラーに引っかかるたびライブラリ追加すんのやってらんねーよという
適当な人間である場合だけに限りましょうね。