5. インストーラーアドオンの開発
5.1. Anaconda とアドオンについて
5.1.1. Anaconda の概要
Anaconda: Fedora、Red Hat Enterprise Linux、およびその他の派生製品に使用されるオペレーティングシステムインストーラーです。これは Python モジュールとスクリプトのセットで、
Gtk
ウィジェット (C で作成)、systemd
ユニット、および dracut
ライブラリーといったファイルも含まれています。これらが一体となることで、このツールを使用するとターゲットとなるシステムのパラメーターを設定でき、そのシステムをマシンにセットアップします。インストールプロセスには、主に 4 つのステップがあります。
- インストール先の準備 (通常はディスクのパーティション設定)
- パッケージおよびデータのインストール
- ブートローダーのインストールと設定
- 新規にインストールされたシステムの設定
インストーラーを制御し、インストールオプションを指定する方法は 3 つあります。最も一般的なアプローチは グラフィカルユーザーインターフェイス (GUI) を使う方法です。これを使用するとインストール前の設定がほとんどまたは全く要らずにシステムを対話式にインストールできます。複雑なパーティションレイアウトの設定なども含めたすべての一般的なユースケースをカバーしています。
グラフィカルインターフェイスでは
VNC
を使ったリモートアクセスもサポートしており、これを使用するとグラフィックスカードやモニターのないシステムでも GUI の使用が可能になります。ただし、この方法が望ましくない場合もあり、また対話式インストールを希望する場合もあるでしょう。そのようなケースでは、テキストモード (TUI) が使用できます。TUI はモノクロのラインプリンターのように動作し、カーソルやカラー、他の高度な機能に対応していないシリアルコンソールでも機能します。テキストモードは、ネットワーク設定や言語オプション、インストール (パッケージ) ソースなどの非常に一般的なオプションしかカスタマイズできないという制限があります。手動によるパーティション設定といったような高度な機能はこのインターフェイスでは利用できません。
Anaconda を使用した 3 つ目のインストール方法では、Kickstart ファイルを使用します。キックスタートファイルを使用すると、インストールを部分的または完全に自動化できます。インストールを完全に自動化するには、すべての必須のエリアを設定する特定のセットのコマンドが必要となります。必要なコマンドが 1 つ以上欠けていると、インストールに対話が必要となります。すべての必須コマンドが揃っていれば、対話せずにインストールが完全に自動で実行されます。
Kickstart では最大限のオプションが提供され、TUI や GUI では不十分となるユースケースをカバーします。Anaconda の機能はすべて、Kickstart でサポートされる必要があります。他のインターフェイスは利用可能な全オプションのサブセットに従うだけで、これにより他のインターフェイスがクリアに保たれます。
5.1.2. 初回起動と初期設定
新規にインストールされたシステムの初回起動は、従来はインストールプロセスの一部とみなされていました。以前は、Firstboot ツール がこの目的で使用されていたため、新たにインストーラー Red Hat Enterprise Linux システムを登録したり、Kdump を設定したりしていました。ただし、Firstboot は
Gtk2
や pygtk2
などのメンテナーンスされていないツールに依存しています。[1] このため、Initial Setup と呼ばれる新しいツールが開発され、Anaconda のコードを再利用します。これにより、Anaconda 向けに開発されたアドオンを Initial Setup で簡単に再利用できます。このトピックについては、「Anaconda アドオンの作成」 .
5.1.3. Anaconda と初期設定アドオン
新規オペレーティングシステムのインストールは非常に複雑なユースケースで、ユーザーはそれぞれ微妙に異なることを望みます。多様な望みすべてに合うようにインストーラーを設計すると、稀にしか使用しない機能が散りばめられることになります。このため、インストーラーを現在の形式に書き換えた際に、アドオンに対応するようになりました。
Anaconda のアドオンを使うと、特定のユースケースによっては、グラフィカルおよびテキストベースのユーザーインターフェイスに新たな設定画面と独自の Kickstart コマンドおよびオプションを追加できます。各アドオンは Kickstart に対応している必要があります。GUI と TUI はオプションですが、利用できると非常に便利です。
Red Hat Enterprise Linux (7.1 以降) および Fedora の現在のリリース [2] (21 およびそれ以降) では、Kdump アドオンがデフォルトで含まれます。これは、インストール中のカーネルクラッシュダンピングの設定のサポートを追加します。このアドオンには、Kickstart (%addon com_redhat_kdump コマンドおよびそのオプション) のフルサポートがあり、テキストベースのインターフェイスとグラフィカルインターフェイスの追加画面として完全に統合されています。本ガイドで詳述している手順を使用すると、他のアドオンも同様に開発して、デフォルトのインストーラーに追加できます。
5.1.4. 追加情報
Anaconda および 初期設定 についての追加情報は、以下のリンクからアクセスできます。
- Fedora Project Wiki の Anaconda ページ にはインストーラーについての詳細情報があります。
- Anaconda の、現行バージョンへの開発に関する情報は、Anaconda/NewInstaller の Wiki ページ にあります。
- 『Red Hat Enterprise Linux 7 インストールガイド』のキックスタートを使ったインストールの章では、対応しているコマンドとオプションの一覧など、キックスタートの全ドキュメントを紹介します。
- 『Red Hat Enterprise Linux 7 インストールガイド』のAnaconda を使用したインストールの章では、グラフィカルユーザーインターフェイスのインストールプロセスが説明されています。
- インストール後の設定に使用するツールの情報は、初期設定を参照してください。