Product SiteDocumentation Site

5.3. PackageKit アーキテクチャー

Fedora は、システムと互換性のあるパッケージおよびパッケージグループを表示、更新、インストールおよびアンインストールするためのアプリケーションである PackageKit スイートを提供します。アーキテクチャーとして、PackageKitpackagekitd デーモンのバックエンドと通信するグラフィカルなフロントエンドいくつかから構成されます。これは、いパッケージのインストールや削除などのような、実際のトランザクションを実行するために Yum を利用する、パッケージマネージャー固有のバックエンドと通信します。
表5.1「PackageKit GUI ウィンドウ、メニュー位置、およびシェルプロンプトコマンド」は、GUI ウィンドウの名前、GNOME デスクトップまたはソフトウェアの追加/削除ウィンドウからウィンドウを起動する方法、およびウィンドウを開くコマンドラインアプリケーションの名前を示しています。
表5.1 PackageKit GUI ウィンドウ、メニュー位置、およびシェルプロンプトコマンド
ウィンドウタイトル 機能 開き方 シェルコマンド
ソフトウェアの追加/削除 パッケージ情報のインストール、削除、または表示
GNOME パネルから: システム管理ソフトウェアの追加/削除
gpk-application
ソフトウェアの更新 パッケージの更新の実行
GNOME パネルから: システム管理ソフトウェアの更新
gpk-update-viewer
ソフトウェア提供元 Yum リポジトリーの有効化および無効化
ソフトウェアの追加/削除から: システムソフトウェアリポジトリ
gpk-repo
ソフトウェア更新履歴ビューアー トランザクションログの表示
ソフトウェアの追加/削除から: システムソフトウェアログ
gpk-log
ソフトウェアの更新の設定 PackageKit の設定 gpk-prefs
(通知エリアの警告) 更新が利用可能なときに警告する
GNOME パネルから: システム設定スタートアップアプリケーション, スタートアッププログラム タブ
gpk-update-icon

packagekitd デーモンは、ユーザーセッションの外で実行され、さまざまなグラフィカルフロントウィンドウと通信します。packagekitd デーモン[1] DBus システムメッセージバス経由で他のバックエンドを通信します。これは、システムに問い合わせを実行したり、変更を加えるために Yum の Python API を利用します。Red Hat Enterprise Linux と Fedora 以外の Linux システムにおいて、packagekitd は、そのシステム固有のパッケージマネージャーを使用できる他のバックエンドと通信できます。このモジュール型アーキテクチャーは、同じ種類のパッケージ管理タスクを基本的に実行できるよう、多くの異なるパッケージマネージャーとともに機能するために必要なグラフィカルインターフェースの抽象化を提供します。PackageKit フロントエンドをどのように使用するかを学ぶことは、Yum 以外のディストリビューション固有のパッケージマネージャーを利用するときさえ、多くの異なる Linux ディストリビューションにわたり同じようなグラフィカルインターフェースを使用できることを意味します。
さらに、PackageKit の関心の分離により、GUI ウィンドウ—またはユーザーの X Window セッション—のどれかのクラッシュに信頼性を与えます。これは、ユーザーセッションの外側で実行する packagekitd デーモンにより管理されるあらゆるパッケージ管理タスクに影響しません。
本章で説明されるフロントエンドのグラフィカルアプリケーションはすべて PackageKit とその依存パッケージの代わりに gnome-packagekit パッケージにより提供されます。KDE 環境を利用しているユーザーは、PackageKit の KDE インターフェースを提供する kpackagekit パッケージをインストールしたいかもしれません。
最後に、PackageKitpkcon というコンソールベースのフロントエンドからも利用できます。


[1] システムデーモンは一般的に、ユーザーや他のプログラムにサービスを提供し、しばしば起動時に開始される、長時間実行されるプロセスです。デーモンは systemctl コマンドに応答し、systemctl enable または systemctl disable コマンドを使用することにより永続的に無効化または有効化できます。一般的に packagekitd デーモンのように d を付け加えることにより認識できます。システムサービスに関する詳細は7章サービスおよびデーモンを参照してください。