Não é possível desinstalar o pacote RPM

2

Eu estava tentando instalar e desinstalar o postgres 9.3. Depois de executar um variedade de passos, descobri que eu deletei algo manualmente e agora eu não fui capaz de prosseguir.

O que estou tentando alcançar aqui é remover todos os vestígios de postgres . Não consigo remover o postgresql93-server-9.3.6-1PGDG.rhel5 package.

Estou recebendo o seguinte erro:

[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 ~]#

Como resolver esse erro?

Qualquer ajuda seria apreciada, já que eu sou totalmente novato em postgres e é minha primeira vez, estou tentando fazer algo no postgres.

    
por Vivekanand Joshi 06.02.2015 / 21:05

2 respostas

4

Que tal usar o comando rpm?

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

Você pode tentar primeiro diretamente e depois com o argumento --nodeps assim:

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

Detalhes completos do comando em: Comando para apagar o RPM

    
por 06.02.2015 / 21:18
6

Esse tipo de erro provavelmente é causado por um scriptlet. Ao remover um pacote, o RPM executaria o "preuninstall" antes de remover um pacote e o "postuninstall" após removê-lo. Se o "preuninstall" falhar, o pacote não será removido.

Você pode verificar os scriptlets do seu pacote com rpm -q --scripts postgresql93-server . Por exemplo, o pacote postgresql92-server em minha máquina contém isso (versão abreviada para mostrar apenas a pré-instalação)

$ 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):

Eu acho que o seu RPM postgresql93-server tem algo semelhante, e o último comando (a parte chkconfig --del ) está falhando, fazendo com que o pacote não seja removido.

Duas opções que posso sugerir.

1) remova o pacote sem executar os scripts:

rpm -e --noscripts postgresql93-server

2) Reinstale o pacote para consertar o que quer que tenha sido quebrado, porque então o "preuninstall" será passado 1 como um argumento e o código com falha não será executado.

yum reinstall postgresql93-server
yum remove postgresql93-server
    
por 07.02.2015 / 09:07

Tags