Handbook:Parts/Portage/Tools/ja

dispatch-conf
は ファイルのマージに役立つツールです. ファイルは Portage が CONFIG_PROTECT 変数でプロテクトされているディレクトリーのファイルを上書きしたい時に生成されます.

を使うと、ユーザーはすべての変更を追跡しつつ設定ファイルへの更新をマージできます. は設定ファイル間の差分をパッチとして、または RCS リビジョン管理システムを使用して保管します. これはつまり、誰かが設定ファイルの更新中にミスをしたとしても、管理者はいつでもそのファイルを以前のバージョンに差し戻せるということです.

を使用すると、ユーザーは設定ファイルをそのままにしておくか、新しい設定ファイルを使うか、現在のものを編集するか、または変更箇所を対話的にマージするか尋ねられます. また、 にはいくつかの素晴らしい追加機能もあります:


 * コメントの更新のみを含む設定ファイルの更新を自動的にマージする.
 * スペースの数のみが異なる設定ファイルを自動的にマージする.

まず を編集してから archive-dir 変数で参照されているディレクトリーを作成します. それから を実行します:

を実行すると、変更された各設定ファイルが一つずつ検討されます. 現在の設定ファイルを新しいもので更新(置き換え)して次のファイルに進むには を押します. 新しい設定ファイルを消去(削除)して次のファイルに進むには を押します. キーは に次のファイルにスキップするよう指示します. これを使ってマージを未来に延期することもできます. すべての設定ファイルが済むと は終了します. 同様に、いつでも でアプリケーションを終了させることができます.

詳細については dispatch-conf の man ページを調べてください. 現在の設定ファイルと新しい設定ファイルを対話的にマージしたり、新しい設定ファイルを編集したり、ファイル間の差分を検査する方法などが説明されています.

etc-update
設定ファイルをマージするためのもう一つのツールが です. 使い方は ほどシンプルではなく機能も豊富ではありませんが、対話的な設定マージ機能は提供されていますし、些細な変更を自動マージすることもできます.

しかしながら、 とは異なり、 は設定ファイルの旧バージョンを保持しません. ひとたびファイルが更新されれば古いバージョンは永久に失われます. 気を付けてください、古い設定ファイルを維持する場合には を使用している時の方が  を使用するよりもかなり安全性が低くなります.

直接的な変更をマージした後に、プロテクトされている更新待ちファイルの一覧が提供されます. その下に選択可能なオプションが表示されます:

を入力すると は終了しそれ以上の変更は行われません. や  ではリストされた設定ファイルがすべて新しいバージョンで上書きされます. ですから、まず最初に自動的に更新されるべきでない設定ファイルを選択することが大事です. これは設定ファイルの左に表示されている番号を単に入力するだけです.

例として、 を選択してみます:

2つのファイルの差異が表示されます. 更新された設定ファイルが問題なく使えるなら を入力してください. 更新された設定ファイルが不要、または新しかったり有用であったりする情報を何も提供していない場合には を入力してください. 現在の設定ファイルを対話的に更新する必要がある場合には を入力してください.

対話的マージについてはここでさらに詳述しても意味はありません. 完全を期するために、ここでは2つのファイルをマージする間に利用できるコマンドの候補を挙げます. ユーザーには2つの文章(元々のものと新しく提案されているもの)と、以下のコマンドの中の1つを入力できるプロンプトが表示されます:

重要な設定ファイルの更新を終えたら、他のすべての設定ファイルを自動的に更新することができます. それ以上更新できる設定ファイルがなくなると は終了します.

quickpkg
を使うと、既にシステムにマージされたパッケージのアーカイブを作ることができます. それらのアーカイブはビルド済みパッケージとして利用できます. の実行は簡単です: アーカイブするパッケージの名前を付け加えるだけです.

たとえば curl、orage、そして procps をアーカイブするには:

ビルド済みパッケージは $PKGDIR (デフォルトでは ) に保管されます. これらのパッケージは に配置されています.