web-dev-qa-db-fra.com

toujours purger sur retirer dans le paquet

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?

6
Jeroen

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)

Enseigner à vos utilisateurs

Vous pouvez demander aux utilisateurs d'utiliser purge à la place de remove:

Sudo apt-get purge mypackage

Écrasement automatique

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.

Forcer les nouveaux fichiers de configuration par défaut

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

Fournit/Conflits/Remplace

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

5
Savvas Radevic

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

1
Suhaib

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.

1
tumbleweed