9.3. PackageKit Architecture
Red Hat は、お使いのシステムと互換性のあるパッケージおよびパッケージグループを表示、更新、インストール、およびアンインストールするアプリケーションの PackageKit スイートを提供します。アーキテクチャーの観点的には、Packagekit d デーモンバックエンドと通信する複数のグラフィカルフロントエンドで構成されます。これは、Yum を使用してパッケージのインストールや削除などの実際のトランザクションを実行するパッケージマネージャー固有のバックエンドと通信します。
表9.1「PackageKit GUI ウィンドウ、メニューの場所、およびシェルプロンプトコマンド」 GUI ウィンドウの名前、GNOME デスクトップからウィンドウを開始する方法、または ソフトウェアの追加/削除 ウィンドウからウィンドウを開始する方法と、そのウィンドウを開くコマンドラインアプリケーションの名前を表示します。
ウィンドウタイトル | 関数 | 開く方法 | shell コマンド |
---|---|---|---|
ソフトウェアの追加/削除 | パッケージ情報をインストール、削除、または表示します。 |
GNOME パネルの使用:
| gpk-application |
ソフトウェアの更新 | パッケージの更新の実行 |
GNOME パネルの使用:
| gpk-update-viewer |
ソフトウェアソース | Yum リポジトリーの有効化および無効化 |
ソフトウェアの 追加/削除:
| gpk-repo |
Software Log Viewer | トランザクションログの表示 |
ソフトウェアの 追加/削除: 削除
| gpk-log |
ソフトウェア更新の設定 | PackageKit 設定の設定 | gpk-prefs | |
(通知エリアアラート) | 更新が利用可能になるとのアラート |
GNOME パネルから -
| gpk-update-icon |
packagekitd デーモンは、ユーザーセッションの外部で実行され、さまざまなグラフィカルフロントエンドと通信します。packagekitd デーモン[2] Yum の Python API を使用してクエリーを実行し、システムに変更を加えている別のバックエンドで DBus システムメッセージバスを介して通信します。Red Hat Enterprise Linux や Fedora 以外の Linux システムでは、packagekitd は、そのシステムにネイティブパッケージマネージャーを使用できる他のバックエンドと通信できます。このモジュラーアーキテクチャーは、グラフィカルインターフェースと多くの異なるパッケージマネージャーが動作するために必要な抽象化を提供し、基本的に同じタイプのパッケージ管理タスクを実行します。PackageKit フロントエンドの使用方法を理解すると、Yum 以外のネイティブパッケージマネージャーを使用する場合でも、多くの異なる Linux ディストリビューションで同じグラフィカルインターフェースを使用できます。
さらに、PackageKit は、GUI ウィンドウの 1 つをクラッシュさせる、またはユーザーの X Window セッションもクラッシュさせることで、ユーザーセッション外で実行される packagekitd デーモンによって監視されているパッケージ管理タスクに影響を与えないという信頼性を提供します。
本章で説明するフロントエンドのグラフィカルアプリケーションはすべて、PackageKit およびその依存関係ではなく、gnome-packagekit パッケージで提供されます。
最後に、PackageKit には pkcon と呼ばれるコンソールベースのフロントエンドが同梱されます。
[2]
システムデーモンは通常、ユーザーまたは他のプログラムにサービスを提供する長時間実行されるプロセスであり、多くの場合は、特別な初期化スクリプト( init スクリプトに短縮)により起動時に起動されます。デーモンは サービス コマンドに応答し、chkconfig on コマンドまたは chkconfig off コマンドを使用して永続的にオンまたはオフにすることができます。通常、これらは packagekit 「d」 デーモンなど、d に追加される名前で認識できます。システムサービスに関する情報は、12章サービスおよびデーモン を参照してください。