Je comprends qu'un package a deux composants: configet des datafichiers. Pendant la mise à niveau du package (c'est-à-dire la mise à niveau de sécurité), les datafichiers peuvent être remplacés, mais les configfichiers doivent toujours rester les mêmes. De plus, les configfichiers sont généralement entrés /etcet datasortis /usr. Parfois, cependant, la distinction est floue.
Dans mon cas, j'ai modifié le fichier icône pour Icedove(Thunderbird):
/usr/share/applications/icedove.desktop
Maintenant, chaque fois qu'il y a une Icedovemise à jour (Thunderbird), mes modifications sont remplacées par le fichier par défaut (même s'il n'a pas changé entre les mises à jour).
Existe-t-il un moyen d'empêcher ce fichier particulier d'être écrasé?
Le paramétrer sur immuable avec chattr +i icedove.desktopn'est pas une bonne idée, car cela produit une erreur lors de la mise à niveau du package.
$XDG_DATA_HOME/applications/icedove.desktop, bien que ce soit par défaut le chemin de recherche que vous mentionnez. La spécification de répertoire de base XDG fournit également un chemin de recherche$XDG_DATA_DIRSpour les remplacements à l'échelle du système. Une explication plus détaillée de la façon dont les répertoires de base XDG s'appliquent dans ce cas se trouve dans ma réponse .