Le postinst des paquets s'éxécute totalement à chaque fois
Nature du problème
Le fichier postinst des paquets s'éxécute à chaque fois, et en particulier dans le cas des fichiers de configuration (comme par exemple le /etc/security/pam_mount.conf.xml), il va écraser le contenu à chaque mise à jour du paquet Si des modifications locales sont faites (pour rajouter par exemple le montage d'un disque réseau supplémentaire propre à l'établissement), elles seront écrasées et ramenée à la primo-installation
Résolution possible du problème
Dans un paquet debian, le fichier postinst est appelé avec deux arguments :
- la commande d'installation
- la version de l'ancien paquet installé si ce n'est pas une primo installation
Le wiki debian, dans sa section sur les scripts de mainteneur, indique clairement comment se fait le processus. Et on peut s'en servir pour exécuter des commandes :
- qui ne s'exécutent qu'à l'installation, mais pas à la mise à jour
- qui s'exécutent à chaque montée de version
- qui s'exécutent uniquement à certaines montées de version
Par exemple :
if [ -z "$2" ]; then
commande_installation()
else
commande_mise_a_jour()
fi
Les commandes du postinst qui créent la conf de base pour pam ne devraient pas être exécutées à chaque mise à jour mais seulement à l'installation.