LINUX.ORG.RU

Неработоспособный пакет


0

0

Здравствуйте. У меня Debian Squeeze. Установлен пакет postgresql-8.4 Пакет является неработоспособным (о чем заявляет apt-get при попытке удаления). Соответственно не удаляется, не переустанавливается никакими известными мне средствами (dpkg --remove --pending, dpkg --purge postgresql-8.4, и т.д.) Из-за этого пакета есть проблемы с установкой других. Как мне его удалить?

★★★

Ответ на: комментарий от AITap

...точнее, /var/lib/dpkg/status. info/ как раз лучше не трогать.

AITap ★★★★★
()

Скорее всего он не удаляется или не ставится из-за того, что один из скриптов - preinst, postrm итд - отрабатывает не полностью. Посмотри, на какой именно фазе он спотыкается, посмотри, что в скрипте и либо исправь проблему, либо сунь туда exit 0. Ну или руками всё вычищать (лично мне такой способ не нравится).

Laz ★★★★★
()
Ответ на: комментарий от Laz

Забыл сказать, что скрипты эти лежат в /var/lib/dpkg/info/postgresql-8.4.<тип скрипта>

Laz ★★★★★
()
Ответ на: комментарий от Laz

Кстати, если удаляться должно штатно, и руками никуда не лазили, то такие ошибки в postint или других таких скриптах — это повод для reportbug(1).

undertaker ★★
()
Ответ на: комментарий от Laz

Стопорится тут: «Stopping PostgreSQL 8.4 database server: mainInsecure directory in $ENV{PATH} while running with -T switch at /usr/bin/pg_ctlcluster line 63. ... failed! failed!» а также «dpkg: ошибка при очистке - подпроцесс установлен сценарий post-installation возвратил код ошибки 9 » Как остановить вручную тоже не удается.

otto ★★★
() автор топика
Ответ на: комментарий от otto

По логам видно, что при удалении пакета он пытается остановить постгрес. И это ему не удаётся. Как мы видим из сообщения

while running with -T switch at /usr/bin/pg_ctlcluster line 63

ошибка в скрипте /usr/bin/pg_ctlcluster в строке 63. Если есть желание разобраться в проблеме - текстовый редактор в зубы и вперёд. Если же ковыряться не хочется, то можно просто поправить файл /var/lib/dpkg/info/postgresql-8.4.postrm , закоментировав строку с остановкой постгреса или просто написав в его начале exit 0.

Laz ★★★★★
()
Ответ на: комментарий от undertaker

>Кстати, если удаляться должно штатно, и руками никуда не лазили, то такие ошибки в postint или других таких скриптах — это повод для reportbug(1).
Согласен, однако сперва нужно разобраться, в чём именно проблема. Это может быть баг в самом постгресе, а может и в кривых руках :)

Laz ★★★★★
()
Ответ на: комментарий от Xellos

Нет, не работает. Но проблему решил. Это был баг в postinst скрипте.

otto ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.