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