Entiendo que un paquete tiene dos componentes: configy dataarchivos. Durante la actualización del paquete (es decir, la actualización de seguridad), los dataarchivos se pueden sobrescribir, pero los configarchivos siempre deben permanecer igual. También los configarchivos suelen estar adentro /etcy dataadentro /usr. A veces, sin embargo, la distinción es borrosa.
En mi caso, he modificado el archivo de icono para Icedove(Thunderbird):
/usr/share/applications/icedove.desktop
Ahora, cada vez que hay una Icedoveactualización (Thunderbird), mis cambios se sobrescriben con el archivo predeterminado (incluso si no ha cambiado entre actualizaciones).
¿Hay alguna manera de evitar que este archivo en particular se sobrescriba?
Establecerlo como inmutable chattr +i icedove.desktopno es una buena idea, ya que produce un error durante la actualización del paquete.
fuente

$XDG_DATA_HOME/applications/icedove.desktop, aunque esto generalmente es la ruta de búsqueda que mencionas. La especificación del directorio base de XDG también proporciona una ruta de búsqueda$XDG_DATA_DIRSpara anulaciones de todo el sistema. Una explicación más detallada de cómo se aplican los directorios base XDG en este caso está en mi respuesta .Respuestas:
Si bien la respuesta de wurtel responde la pregunta como está redactada, teniendo en cuenta los antecedentes de la pregunta, revela que este es otro caso más de un problema XY .
En este caso particular,
/usr/share/applications/icedove.desktopno debe modificarse en primer lugar, pero un archivo de configuración local que anula la configuración predeterminada debe colocarse en una ubicación adecuada. Los sistemas que cumplen con freedesktop.org cumplen con la Especificación de Directorio Base de XDG , cuyo propósito es precisamente eliminar la necesidad de modificar los archivos de configuraciones que se sobrescriben durante las actualizaciones de paquetes.Si la configuración se pretende que sea en todo el sistema, lo local
icedove.desktopse deben colocar en elapplicationssubdirectorio para una ruta de búsqueda anterior/usr/shareen$XDG_DATA_DIRS. El valor de esta variable de entorno está predeterminado/usr/local/share/:/usr/share/, pero el valor real varía entre distribuciones. Debido a que en este caso la configuración está destinada a ser local, la ubicación correcta es/usr/local/share/applications/icedove.desktop, aunque tenga en cuenta que pueden ser reemplazos de distribución específicos en el lugar que podrían tener preferencia sobre las configuraciones que se encuentran debajousr/local/share.Por otro lado, si la configuración tiene sangría para ser específica del usuario, el local
icedove.desktopdebe colocarse debajoapplicationsen la ubicación indicada por$XDG_DATA_HOME. Por lo general, el valor predeterminado$HOME/.local/sharees, es decir, la ubicación del archivo de configuración debe ser$HOME/.local/share/applications/icedove.desktop.fuente
Quieres la
dpkg-divertutilidad.fuente