5.2. Anaconda アーキテクチャー


Anaconda は Python モジュールおよびスクリプトのセットです。また、外部パッケージおよびライブラリーも使用します。このツールセットの主要コンポーネントには、以下のパッケージが含まれます。

  • pykickstart - キックスタートファイルを解析し、検証します。また、インストールを動作させる値を保存するデータ構造も提供します。
  • yum: パッケージをインストールして依存関係を解決するパッケージマネージャー
  • blivet: ストレージ管理に関連するすべてのアクティビティーを処理します。
  • pyanaconda - キーボードおよびタイムゾーンの選択、ネットワーク設定、ユーザー作成など、Anaconda のユーザーインターフェイスおよびモジュールが含まれます。システム指向の機能を実行するためのさまざまなユーティリティーも提供します。
  • python-meh - クラッシュ発生時に追加のシステム情報を収集して保存する例外ハンドラーを含みます。また、この情報を libreport ライブラリーに渡します。それ自体は ABRT プロジェクト に含まれます。
  • dasbus - D-Bus ライブラリーと、anaconda のモジュールと外部コンポーネントとの通信を有効にします。
  • python-simpleline - Anaconda テキストモードでユーザーの対話を管理するテキスト UI フレームワークライブラリー
  • gtk - GUI を作成および管理する Gnome ツールキットライブラリー

前述したパッケージへの分割以外に、Anaconda は内部的にユーザーインターフェイスと、別個のプロセスとして実行され、D-Bus ライブラリーを使用して通信するモジュールセットに分けられています。これらのモジュールは以下のとおりです。

  • Boss - 内部モジュール検出、ライフサイクル、およびコーディネーションを管理します。
  • Localization - ロケールを管理します。
  • Network - ネットワークを処理します。
  • Payloads - rpmostreetar などの異なる形式でインストール用のデータを処理します。ペイロードはインストール用のデータのソースを管理します。ソースは CD-ROM、HDD、NFS、URL などの形式によって異なる可能性があります。
  • Security - セキュリティー関連機能を管理します。
  • Service - サービスを処理します。
  • Storage - blivet を使用してストレージを管理します。
  • Subscription - subscription-manager ツールと Insights を処理します。
  • Timezone - 時間、日付、ゾーン、および時刻の同期を処理します。
  • Users - ユーザーおよびグループを作成します。

各モジュールは、処理するキックスタート部分を宣言し、キックスタートから設定を適用してインストール環境とインストール済みシステムに適用します。

Anaconda の Python コード部分 (pyanaconda) は、ユーザーインターフェイスを所有する “メイン” プロセスとして起動します。指定のキックスタートデータはすべて pykickstart モジュールと Boss モジュールを使用して解析され、その他のすべてのモジュールを検出し、起動します。その後、メインプロセスは宣言された機能に応じてキックスタートデータをモジュールに送信します。モジュールはデータを処理し、インストール環境に設定を適用し、必要な選択がすべて行われているかどうかを UI が検証します。インストールされていない場合は、対話式インストールモードでデータを指定する必要があります。必要な選択がすべて行われると、インストールを開始できます。モジュールは、インストール済みシステムにデータを書き込むことができます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.