Я понимаю, что пакет состоит из двух компонентов: configи dataфайлов. Во время обновления пакета (т.е. обновления безопасности) dataфайлы могут быть перезаписаны, но configфайлы всегда должны оставаться прежними. Также configфайлы обычно в /etcи dataв /usr. Иногда, однако, различие размыто.
В моем случае я изменил файл значков для Icedove(Thunderbird):
/usr/share/applications/icedove.desktop
Теперь каждый раз, когда есть Icedove обновлении (Thunderbird) мои изменения перезаписываются файлом по умолчанию (даже если он не менялся между обновлениями).
Есть ли способ предотвратить перезапись этого файла?
Установка его в значение immutable с помощью chattr +i icedove.desktopне является хорошей идеей, так как это приводит к ошибке во время обновления пакета.
$XDG_DATA_HOME/applications/icedove.desktop, хотя обычно это путь поиска, который вы упоминаете. Спецификация Справочника Базы XDG также предоставляет путь поиска в$XDG_DATA_DIRSдля общесистемных переопределений. Более подробное объяснение того, как в этом случае применяются базовые каталоги XDG, содержится в моем ответе .