gconfとdconfの違いは何ですか?


57

新しいUbuntu構成ツールに関する多くの議論を読みました。gconfはdconfに置き換えられました。

なぜこの変更が行われているのですか?なぜこれほど多くの議論があるのですか?gconf2dconf移行ツールを作成するのは難しいですか?

回答:


65

gconf通常、XMLバックエンドをdconf使用し、独自のバイナリBLOB を使用します。その変更だけから、いくつかのポイントを作成できます。

  • バイナリ読み取りアクセスはXMLの解析よりもはるかに高速です
  • dconfの設計セクションによると、Gnomeログインは数千の読み取り操作とわずかな書き込みで構成されています。それにgconfは数千の統計、数千の読み取り、数千の解析があります。dconfのバイナリBLOBは、数千のIOPでシステムを動かさずにそれらを突破します。
  • XMLはよりポータブルです
  • XMLは、主に人間が読み取りおよび編集できます。
  • ファイルベースのシステムは、手間をかけずに分離して分割できます
  • モノリスバイナリファイルの破損は、全体が死ぬことを意味します。単一ファイルの破損は、そのセグメントのみを傷つけますgconf

多くの引数は、Windowsレジストリに対して賛成および反対です。

私が理解しているように、この設定のバックエンドへのインターフェースは次のものと同じgconfです:〜GSettings。これにより、ディストリビューションとユーザーはいずれかを選択し、必要に応じて切り替えることができます。


1
非常に明確な答え。あなたの答えを読んで(特に最後の3ポイント)私は遅いとはいえgconfが良いと思います。
nkint11年

21
もう1つの大きな違いは、dconfからの設定の読み取りはすべて処理中に行われ、書き込みと変更通知に対してのみIPCが発生することです。対照的に、ほとんどすべてのGConf操作にはIPCが含まれます。また、XMLを使用したGConfの利点も誇張している可能性があります。GConfデータベースにアクセスする唯一のサポートされている方法はGConf API経由であり、gconfdの実行中にXMLファイルを直接編集すると予期しない結果になる場合があります。
ジェームズヘンストリッジ

2
テキストベースのものを使用する主な利点は、ファイルが部分的に破損したときにテキストエディターでその一部をレスキューできることだと思います(しかし、理論的には、バイナリブロブの一部もレスキューできるツールを書くことができると思います?)。
JanC

3
救助する最善の方法は〜/ .configをバージョン管理下に置くことだと思います。これにより、何か問題が発生した場合に単純にロールバックできます。これは、予期しない副作用を伴う意図的な構成変更も修正します。
ジョエルレンシンスタッド

1
@ Jo-ErlendSchinstad何か問題が発生すると、常にVCSの制御ファイルを台無しにする機会があります。
ルスラン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.