如何使用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
  • l隱藏 diff 輸出

答案1

我確信這在某個地方有記錄,例如dispatch-conf(1),但我會嘗試快速描述它。免責聲明:我必須檢查線上幫助頁tl

在有提示的初始(第二個)畫面中,操作的作用如下:

  • q退出dispatch-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
  • l顯示 ebuild 提供的檔案版本與您使用 建置的版本之間的差異m

當您按 時m,將進入互動式合併模式。您可以?按其中的命令來了解什麼做。在 中m,您可以執行以下操作:

  • r2使用右側(這是 ebuild 在沒有進行自訂的情況下新安裝的新檔案)。
  • l1使用左側(這是舊的/原始的/當前的文件)。
  • ere2使用右側,然後開啟編輯器進行編輯。
  • ele1編輯左側
  • eb編輯兩者
  • ed編輯兩者,每個都用標題裝飾
  • e丟棄兩者

在合併模式下,一旦您通過了所有不同的區塊,它將返回到主選單。您使用合併建立的版本將被視為新檔案(取代 ebuild 安裝的版本)。因此,它將再次向您顯示差異,您可以重新合併它或z(zap)或u(使用)它。

相關內容