パッケージには、ファイルconfig
とdata
ファイルの2つのコンポーネントがあることがわかります。パッケージのアップグレード中(たとえば、セキュリティアップグレード)中にdata
ファイルを上書きできますが、config
ファイルは常に変更されていないままにしてください。ファイルは通常、およびにconfig
あります。しかし、時にはこれらの区別があいまいになることがあります。/etc
data
/usr
Icedove
私の場合は、(Thunderbird)アイコンファイルを修正しました。
/usr/share/applications/icedove.desktop
(Thunderbird)が更新されるたびに、Icedove
私の変更はデフォルトのファイルで上書きされます(アップデート間で変更されていない場合でも同様です)。
この特定のファイルを上書きするのを防ぐ方法はありますか?
これを不変にすることはchattr +i icedove.desktop
パッケージのアップグレード中にエラーを生成するので、良い考えではありません。
答え1
あなたはユーティリティが欲しいですdpkg-divert
。
dpkg-divert --divert /usr/share/applications/icedove.desktop.packaged --rename /usr/share/applications/icedove.desktop
答え2
しかし、ウーターの答え質問の文脈により、これが別のケースであることを示唆している場合は、質問に対する回答の表現XYの問題。
この特別な場合は、/usr/share/applications/icedove.desktop
デフォルト構成をオーバーライドするローカル構成ファイルを最初から変更しないでください。適切な場所に配置する必要があります。 freedesktop.org に準拠するシステムは、以下に準拠しています。XDGの基本ディレクトリ仕様、その目的は、パッケージのアップグレード中に上書きされた構成ファイルを変更する必要をなくすことです。
システム全体を構成するには、前の検索パスのサブディレクトリにicedove.desktop
ローカル構成を配置する必要があります。この環境変数の値はデフォルトでに設定されていますが、実際の値はディストリビューションによって異なります。この場合、構成はローカルである必要があるため、正しい場所はです。ただし、配布固有のオーバーライドである可能性があり、以下の構成よりも優先されることに注意してください。applications
/usr/share
$XDG_DATA_DIRS
/usr/local/share/:/usr/share/
/usr/local/share/applications/icedove.desktop
usr/local/share
一方、設定インデントがユーザーごとに指定されている場合、ローカルは表示された場所の下にicedove.desktop
配置する必要があります。通常、デフォルトはです。ここに設定ファイルが必要です。applications
$XDG_DATA_HOME
$HOME/.local/share
$HOME/.local/share/applications/icedove.desktop