dispatch-conf でファイルをマージするにはどうすればよいですか?

dispatch-conf でファイルをマージするにはどうすればよいですか?

こんな簡単な質問で申し訳ないのですが、どうしてもわかりません。DISPATCH-CONF(1)もwiki.gentoo.org/wiki/Dispatch-conf指示を提供します。


実行中の場合dispatch-conf

  1. 出力はdiff次のようになります。
--- /etc/systemd/resolved.conf  2021-06-09 19:50:06.087987199 +0200
+++ /etc/systemd/._cfg0000_resolved.conf        2021-06-11 18:55:30.403772359 +0200
@@ -22,7 +22,7 @@
 #DNS=
 #FallbackDNS=1.1.1.1 8.8.8.8 1.0.0.1 8.8.4.4 2606:4700:4700::1111 2001:4860:4860::8888 2606:4700:4700::1001 2001:4860:4860::8844
 #Domains=
-#DNSSEC=false
+#DNSSEC=allow-downgrade
 #DNSOverTLS=no
 #MulticastDNS=yes
 #LLMNR=yes
  1. プロンプトが表示されます:
>> (1 of 1) -- /etc/systemd/resolved.conf
>> q quit, h help, n next, e edit-new, z zap-new, u use-new
   m merge, t toggle-merge, l look-merge:
  • 押すとm次の内容が表示されます:
#DNSSEC=false                                                 | #DNSSEC=allow-downgrade
%

いずれかを選択するのですか? その場合、どのように選択すればよいですか? またはと入力し1ても2機能しません。

  • 押すととtが切り替わります._cfg0000_resolved.conf._mrg0000_resolved.conf
  • 押すとldiff出力が非表示になります

答え1

これはどこかに文書化されているはずです。例えば、dispatch-conf(1)ですが、簡単に説明してみたいと思います。免責事項:私はmanページをチェックする必要がありましtl

プロンプトが表示された最初の (2 番目の) 画面では、アクションによって次のことが実行されます。

  • qdispatch-merge何もせずに終了します。これは常に安全です。dispatch-mergeいつでも実行して後で再開できます。
  • hより長いヘルプを表示
  • n現在のファイルをスキップします (後で実行すると再び表示されますdispatch-merge)。
  • e新しいバージョンのファイルで開きます${EDITOR}。エディターは、最後にインストールされた ebuild によって提供される新しいバージョンのファイルの一時コピーを参照します。構成ファイルに加えた変更を再度行う場合は、エディターで、参照用に現在アクティブなバージョンの構成ファイルを開くことができます。成功したファイルを保存してからエディターを閉じると、差分が再表示されたプロンプトdispatch-confに戻ります。dispatch-conf
  • zzap new は、新しくインストールされたパッケージから取得した設定ファイルのバージョンを削除し、古いバージョンを引き続き使用することを意味します。設定ファイルの形式が変更されておらず、大きな変更が加えられており、ebuild からの新しい変更がタイプミス/コメント/重要でないことがわかっている場合に、これを使用します。このアクションは、dispatch-conf次のファイルが表示される直前にコミットされます。
  • uuse-new は、変更を加えた現在のバージョンのファイルを削除し、パッケージによって提供される新しいファイルを使用することを意味します。永続的にするつもりのない一時的な変更を加えた場合に、この操作が必要になることがあります。または、この操作を行ってから後で戻ってファイルを再度カスタマイズすることもあります (この戦略を使用する場合は、独自の TODO リストをどこかに作成します)。このアクションは、dispatch-conf次のファイルが表示される直前にコミットされます。
  • m以下に簡単に説明するマージ インターフェイスを開きます。
  • tは、ebuild によって提供されるバージョンと を使用してビルドしたバージョンの間で、ファイルの「インストールされる」バージョンを交換しますm
  • lebuild によって提供されるファイルのバージョンと を使用してビルドしたバージョンの違いを表示しますm

を押すとm、インタラクティブマージモードになります。?そこでコマンドとして を押すと、それではm、次のようなことができます。

  • rまたは、2右側を使用します (これは、カスタマイズなしで ebuild によって新しくインストールされた新しいファイルです)。
  • lまたは、1左側(古い/元の/現在のファイル)を使用します。
  • erまたは、e2右側を使用してからエディターを開いて編集します。
  • elまたはe1左に編集
  • eb両方編集
  • ed両方を編集し、それぞれヘッダーで装飾する
  • e両方破棄する

マージ モードでは、すべての異なるチャンクを通過すると、メイン メニューに戻ります。マージを使用して作成したバージョンは、新しいファイルとして扱われます (ebuild がインストールしたものを置き換えます)。そのため、差分が再度表示され、それを再マージしたりz(zap) またはu(use) することができます。

関連情報