ジェントゥーリナックス支援するためのツールセットがあります合併パッケージをアップグレードすると、conf ファイルが変更されます。たとえば、conf-update
ツールまたはdispatch-conf
ツールです。
しかし、Ubuntu でパッケージをアップグレードすると、(1) 新しい conf ファイルを使用する、(2) 古い conf ファイルを使用する、(3) シェルを起動する、というオプションしか表示されません。
Ubuntu には または に類似したツールはありませんconf-update
かdispatch-conf
?
詳しい説明:
設定ファイルが であるサービスがあるとします/etc/something.conf
。パッケージをインストールすると、something
すべてのオプションがコメント化された「デフォルト」設定が提供されます。その後、必要に応じてオプションを変更します。
その後、アップデートが行われ、アップデートによって新しい「デフォルト」構成がインストールされます。一部のオプションが廃止されたり、新しいオプションが追加されたり、既存のオプションの説明が修正されたりする場合があります。
この「デフォルト」構成は、すでに編集された/etc/something.conf
ファイルと明らかに競合します。
でジェントゥーリナックス、新しい設定は一意の名前で保存され、「変更/更新された設定ファイル」を知らせる警告が表示されます。次に、conf-update
影響を受ける設定ファイルに対して双方向のマージを実行するのに役立つ を実行します。各変更に対して、(1) 自分のバージョンを保持する、(2) パッケージのバージョンを使用する、(3) 手動で編集する、のいずれかを選択できます。通常、コメントの変更には (2)、特定の変更を保持するには (1)、デフォルトから大幅に逸脱している場合は (3) を選択します。
可能であれば、Ubuntu でも同様の制御/操作を実現したいと思います。
答え1
経由でアップグレードする場合apt-get
、通常、構成ファイルで何を行うか (新しいバージョンをインストールする、古いバージョンを保持する、など) を尋ねるプロンプトが表示されます。
現在のバージョンを保持することを選択した場合、新しい構成ファイルは拡張子 (.dpkg-dist) 付きで保存されます。
新しいファイルを一覧表示するには、次のコマンドを使用できます。
find /etc -type f -name "*.dpkg-dist"
これらの設定ファイルに対してアクションを実行するには、提供されているユーシーエフツールです。構文は次のとおりです。
ucf <new-file> <old-file>
例えば、
ucf /etc/sysctl.conf.dpkg-dist /etc/sysctl.conf
以下も参照。
https://raphaelhertzog.com/2010/09/21/debian-conffile-configuration-file-managed-by-dpkg/