10 votes

Impossible de désinstaller un paquet RPM

J'ai essayé d'installer et de désinstaller postgres 9.3. Après avoir effectué une diverses étapes, j'ai découvert que j'avais supprimé quelque chose manuellement et j'ai maintenant et je ne peux plus continuer.

Ce que j'essaie de faire ici, c'est de supprimer toutes les traces de postgres . Je ne parviens pas à supprimer postgresql93-server-9.3.6-1PGDG.rhel5 paquete.

Je reçois l'erreur suivante :

[root(at)ZetaSearch01 ~]# rpm -qa | grep postg
postgresql93-server-9.3.6-1PGDG.rhel5
[root(at)ZetaSearch01 ~]# yum remove postgresql93-server-9.3.6-1PGDG.rhel5
Loaded plugins: rhnplugin, security
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package postgresql93-server.x86_64 0:9.3.6-1PGDG.rhel5 set to be erased
--> Finished Dependency Resolution

Dependencies Resolved

========================================================================================================================================================================
 Package
Arch
Version
Repository                           Size
========================================================================================================================================================================
Removing:
 postgresql93-server
x86_64
9.3.6-1PGDG.rhel5
installed                            15 M

Transaction Summary
========================================================================================================================================================================
Install      0 Package(s)
Update       0 Package(s)
Remove       1 Package(s)

Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
error reading information on service postgresql-9.3: No such file or
directory

Removed: postgresql93-server.x86_64 0:9.3.6-1PGDG.rhel5
Complete!
[root(at)ZetaSearch01 ~]# rpm -qa | grep postg
postgresql93-server-9.3.6-1PGDG.rhel5
[root(at)ZetaSearch01 ~]#

Comment résoudre cette erreur ?

Toute aide serait appréciée car je suis totalement novice en matière de postgres et c'est première fois, j'essaie de faire quelque chose sur postgres.

25voto

chutz Points 7404

Ce type d'erreur est probablement causé par un scriptlet. Lors de la suppression d'un paquet, RPM exécute "preuninstall" avant de supprimer un paquet, et "postuninstall" après l'avoir supprimé. Si la "preuninstall" échoue, le paquet ne sera pas supprimé.

Vous pouvez vérifier les scriptlets de votre paquet avec rpm -q --scripts postgresql93-server . Par exemple, le postgresql92-server sur ma machine contient ceci (version abrégée pour ne montrer que la pré-installation)

$ rpm -q postgresql92-server --scripts  | sed -ne /^preuninstall/,/scriptlet/p
preuninstall scriptlet (using /bin/sh):
if [ $1 = 0 ] ; then
    /sbin/service postgresql-9.2 condstop >/dev/null 2>&1
    chkconfig --del postgresql-9.2
fi
postuninstall scriptlet (using /bin/sh):

Je suppose que votre RPM postgresql93-server a quelque chose de similaire, et la dernière commande (la commande chkconfig --del ) échoue, ce qui empêche la suppression du paquet.

Je peux vous proposer deux options.

1) supprimer le paquet sans exécuter les scripts :

rpm -e --noscripts postgresql93-server

2) réinstaller le paquet pour espérer réparer ce qui a été cassé, parce qu'alors le "preuninstall" sera passé à 1 comme argument et le code défaillant ne s'exécutera pas.

yum reinstall postgresql93-server
yum remove postgresql93-server

8voto

Ricardo Points 711

Pourquoi ne pas utiliser la commande rpm à la place ?

rpm {-e|--erase} [--allmatches] [--nodeps]  [--noscripts]  [--notriggers]  [--test]  PACK-AGE_NAME ...

Vous pouvez l'essayer d'abord directement, puis avec l'argument --nodeps comme ceci :

rpm -ev postgresql93-server-9.3.6-1PGDG.rhel5

Tous les détails de la commande sont disponibles à l'adresse suivante Commande d'effacement RPM

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X