Je gère un paquet Debian, qui comprend certains fichiers de configuration installés sous /etc/
. Est-il possible de faire en sorte que le paquet soit toujours automatiquement --purge
lui-même chaque fois qu'un utilisateur effectue un apt-get remove mypackage
normal?
La raison en est que certains de mes fichiers de configuration dans/etc doivent vraiment être supprimés lorsque les fichiers binaires sont supprimés, sinon cela peut entraîner un comportement étrange. Cependant, je veux toujours les traiter comme des fichiers de configuration, c’est-à-dire s’assurer qu’apt ne les efface pas à chaque mise à jour du paquet. Mais ils doivent être supprimés lors de la désinstallation du paquet.
Actuellement, je supprime manuellement les fichiers/etc conf de mon script postrm. Cependant, je viens de découvrir que cela a un effet secondaire malheureux: si l'utilisateur désinstalle puis réinstalle ultérieurement le paquet, les fichiers de configuration ne seront pas réinstallés, car apt pense qu'ils sont toujours là. Donc, y a-t-il un moyen de déclencher manuellement une "purge" complète dans mon post-scriptum, de telle sorte qu'apt puisse savoir que les fichiers de configuration ont disparu?
La politique de Debian vous interdit de manipuler des fichiers appartenant à d'autres packages et/ou modifications du système. (ou du moins je le pense)
Vous pouvez demander aux utilisateurs d'utiliser purge
à la place de remove
:
Sudo apt-get purge mypackage
Si vous devez écraser les fichiers de configuration, debian peut demander à l'utilisateur d'installer les fichiers de configuration du responsable: http://www.debian.org/doc/manuals/maint-guide/dother.en.html#conffiles
Une des choses les plus ennuyeuses au sujet des logiciels est lorsque vous passez beaucoup de temps et d’effort à personnaliser un programme, mais que les modifications sont accompagnées d’une mise à niveau. Debian résout ce problème en marquant ces fichiers de configuration comme des conffiles. [55] Lorsque vous mettez à jour un paquet, , il vous sera demandé si vous souhaitez conserver vos anciens fichiers de configuration ou non.
Vous pouvez le faire automatiquement lors de la mise à niveau:
apt-get -o Dpkg::Options::="--force-confnew" dist-upgrade
Sources: http://raphaelhertzog.com/2010/09/21/debian-conffile-configuration-file-managed-by-dpkg/ et https://askubuntu.com/ a/104912/5538
Je ne suis pas sûr de cela, mais je pense que vous pouvez totalement purger et remplacer une ancienne version de package par une nouvelle version.
Lire ici: http://www.debian.org/doc/debian-policy/ch-relationships.html#s-replaces
ouvrez le terminal et tapez cette commande.
alias remove='apt-get remove --purge
Il créera un alias appelé remove et le définira pour inclure remove --purge
Je lance de temps en temps aptitude purge '~c'
qui purge tout ce qui n'a pas encore été purgé. Encouragez les gens à le faire.