Quel est l'équivalent de Fedora pour 'apt-get purge'?

45

Dans Debian, il existe au moins deux façons de supprimer un paquet:

  • apt-get remove pkgname
  • apt-get purge pkgname

Le premier conserve les fichiers de configuration du système (c'est-à-dire ceux présents dans " / etc "), contrairement au second.

Quel est l'équivalent de Fedora de la deuxième forme purge? Ou peut-être devrais-je plutôt demander si les yum remove pkgnamefichiers de configuration sont préservés.

Tshepang
la source

Réponses:

27

yum remove il n'est pas garanti de conserver les fichiers de configuration.

Comme indiqué dans le yum HOWTO :

Dans tous les cas, la syntaxe de commande pour la suppression du paquet est la suivante:

# yum remove package1 [package2 package3...]

Comme indiqué ci-dessus, il supprime package1 et tous les packages de l'arbre de dépendance qui dépendent de package1, éventuellement de manière irréversible en ce qui concerne les données de configuration .

Mise à jour

Comme James le fait remarquer, vous pouvez utiliser la rpm -ecommande pour effacer un package, mais enregistrez des copies de sauvegarde de tous les fichiers de configuration modifiés.

Pour plus d'informations, voir Utilisation de RPM pour effacer des packages . En particulier:

Il vérifie si l'un des fichiers de configuration du paquet a été modifié. Si c'est le cas, il en sauvegarde des copies.

Justin Ethier
la source
4
Ce n'est pas vraiment vrai, "rpm -e" supprimera les fichiers de configuration s'ils n'ont pas changé. S'ils ont été modifiés, ils sont déplacés vers <nom_fichier> .rpmsave et non supprimés.
James Antill
9

J'ai trouvé cette réponse à une question dupliquée sur ServerFault intitulée: yum équivalent de "apt-get purge" qui fournit la seule méthode que je connaisse qui puisse faire ce qui se apt-get purge <pkg>passe sous Ubuntu / Debian.

for package in package1 package2 package3
do
  echo "removing config files for $package"
  for file in $(rpm -q --configfiles $package)
  do
    echo "  removing $file"
    rm -f $file
  done
  rpm -e $package
done

La seule autre méthode que je puisse concevoir ici consiste à analyser la sortie yum remove <pkg>puis à supprimer manuellement tous les fichiers éventuellement modifiés. Par exemple, lorsque j'ai récemment installé le RPM d'ElasticSearch pour la version 2.3, j'ai modifié plusieurs fichiers associés à ce RPM. Lorsque je l'ai supprimé avec YUM, vous obtiendrez des messages dans le résultat, comme suit:

warning: /etc/sysconfig/elasticsearch saved as /etc/sysconfig/elasticsearch.rpmsave
warning: /etc/elasticsearch/logging.yml saved as /etc/elasticsearch/logging.yml.rpmsave
warning: /etc/elasticsearch/elasticsearch.yml saved as /etc/elasticsearch/elasticsearch.yml.rpmsave

Ceux-ci peuvent être supprimés après élimination à l'aide de YUM, soit par script, soit manuellement.

Référence

slm
la source
Cela pourrait être un plugin intéressant pour dnf ....
mattdm
@mattdm - ce problème a été soulevé de temps en temps, ce serait bien si nous pouvions le faire dans le monde "RPM".
slm
1

Il n'y a pas d'équivalent pour "purger", il suffit d'utiliser yum remove package.

Vous pouvez aussi utiliser yum reinstall packagequand vous voulez réinstaller un paquet ...


la source
1
En réalité, comme expliqué dans la réponse de Justin Ethier , cela yum removeéquivaut à apt-get purge.
Gilles 'SO- arrête d'être méchant'
6
@ Gilles Justin Ethier dit qu'il yum removen'est " pas garanti de préserver les fichiers de configuration". Ce n'est pas la même chose que de dire qu'il est garanti de ne pas conserver les fichiers de configuration (ce qui voudrait dire que cela équivaut à apt-get purge). Faites-vous cette revendication (beaucoup) plus forte?
Eliah Kagan
@ EliahKagan C'est ainsi que je comprends le yum howto cité par Justin. Je ne suis pas sûr que ce soit vrai, le CentOS semble dire le contraire.
Gilles, arrête de faire le mal
1
Je pense que c'est un comportement indéfini. Vous pouvez ou non conserver les fichiers de configuration.
M0j0
-2

Si vous souhaitez nettoyer les fichiers de configuration d'un programme que vous avez récemment supprimé via un système RPM, il vous suffit de saisir: yum clean all

Jared
la source
2
Ceci est une erreur. "Yum clean all" nettoie simplement les métadonnées en cache, les listes de miroirs, etc. utilisées par yum. Il ne fait rien pour les fichiers de configuration.
M0j0