Назад | Перейти на главную страницу

Не удается удалить пакет RPM

Я пытался установить и удалить postgres 9.3. Выполнив несколько шагов, я обнаружил, что что-то удалил вручную и теперь не могу продолжить.

Я пытаюсь здесь удалить все следы postgres. Я не могу удалить postgresql93-server-9.3.6-1PGDG.rhel5 пакет.

Я получаю следующую ошибку:

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

Как решить эту ошибку?

Любая помощь будет принята с благодарностью, так как я новичок в postgres, и это мой первый раз, я пытаюсь что-то сделать на postgres.

Этот вид ошибки, скорее всего, вызван скриптлетом. При удалении пакета RPM будет запускать «предварительную установку» перед удалением пакета и «постунисталляцию» после его удаления. Если предварительная установка завершится неудачно, пакет не будет удален.

Вы можете проверить скриптлеты вашего пакета с помощью rpm -q --scripts postgresql93-server. Например, postgresql92-server пакет на моем компьютере содержит это (сокращенная версия, чтобы показать только предварительную установку)

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

Я предполагаю, что ваш RPM postgresql93-server имеет нечто подобное, и последняя команда ( chkconfig --del part) не работает, из-за чего пакет не удаляется.

Могу предложить два варианта.

1) удалить пакет без запуска скриптов:

rpm -e --noscripts postgresql93-server

2) переустановите пакет, чтобы, надеюсь, исправить все, что было сломано, потому что тогда «preuninstall» будет передан 1 в качестве аргумента, и код ошибки не запустится.

yum reinstall postgresql93-server
yum remove postgresql93-server

Как насчет использования вместо этого команды rpm:

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

Вы можете попробовать это сначала напрямую, а затем с аргументом --nodeps следующим образом:

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

Полная информация о команде: Команда стирания RPM