Не удается удалить пакет postgresql из-за невозможности запустить службу?

Я просто не понимаю, что происходит.

sudo apt-get remove postgresql

приводит к:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package 'postgresql' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 35 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up postgresql-9.1 (9.1.10-0ubuntu13.04) ...
 * Starting PostgreSQL 9.1 database server                                                                                                                                                            * The PostgreSQL server failed to start. Please check the log output:
2013-11-05 12:40:58 PST FATAL:  could not create lock file "/var/run/postgresql/.s.PGSQL.5432.lock": Permission denied
                                                                                                                                                                                              [fail]
invoke-rc.d: initscript postgresql, action "start" failed.
dpkg: error processing postgresql-9.1 (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 postgresql-9.1
E: Sub-process /usr/bin/dpkg returned an error code (1)

Я имею в виду, почему он пытается запустить сервер. Да, я немного юник из Unix и огромный постгрес, так что терпите меня, но случайный запуск сервера, когда я пытаюсь удалить его, кажется случайным. Просто не понимаю.

Как я могу полностью и полностью удалить postgresql?

5
задан 30 April 2015 в 00:23

5 ответов

Ваша первая установка оставалась неопределенной, это уничтожит ее:

sudo dpkg --purge postgresql-9.1

Теперь вы можете переустановить пакет:

sudo apt-get -f install
sudo apt-get install postgresql-9.1
0
ответ дан 30 April 2015 в 00:23

Мне удалось очистить postgres (apt-get purge), сначала очистив 2 других пакета: пакет contrib и пакет postgresql (кажется, небольшой «виртуальный» пакет). По крайней мере, я так думаю ...

Тогда я мог бы очистить пакет postgresql-9.1 (около 11 МБ)

0
ответ дан 30 April 2015 в 00:23

У меня была похожая проблема, и я решил ее с помощью aptitude, чтобы полностью удалить предыдущую установку (apt-get не удалил все зависимости).

Далее я доказываю, как это сделать в терминале оболочки (GUI выходит за рамки этого ответа).

Начните с запуска интерактивного менеджера пакетов:

sudo aptitude

Откроется дружественный текстовый пользовательский интерфейс. Вы можете использовать клавиатуру «Вверх» и «Вниз» для навигации и «Ввод» для открытия элементов. Мышь также может быть использована для навигации.

Вы увидите главное меню (Действия / Отменить / ...), из которого вы можете настроить aptitude. Без мыши нажмите CTRL + T, чтобы открыть меню. В меню также показаны сочетания клавиш, которые вы можете использовать.

Если вы знаете, что удалить, перейдите в Установленные пакеты и перейдите к пакету. Например, чтобы удалить PostgreSQL, перейдите по ссылке Установленные пакеты \ main и вы увидите пакеты postgresql *. Установленные пакеты имеют букву i с левой стороны. Используйте, например, клавишу «Вниз», чтобы выделить первый пакет, и нажмите клавишу «-», чтобы пометить его для удаления. Вы можете отменить действие с помощью меню отмены или нажатием клавиши +.

Обратите внимание, что при нажатии клавиши «+» в неустановленном пакете он будет помечен для установки.

Когда все пакеты, которые вы хотите удалить, помечены для удаления, перейдите в меню «Действия» и выберите команду «Установить / удалить пакеты». Это покажет предварительный просмотр того, что будет сделано. Разбитые и неиспользованные пакеты также будут выбраны автоматически. Используйте кнопки + и - для добавления / сохранения или удаления пакетов. Обратите внимание на изменение цвета в зависимости от действия (magenta = удалить пакет, зеленый = установить пакет).

Когда вы будете довольны выбором, снова перейдите в меню «Действия» и выберите команду «Установить / удалить пакеты» для выполнения действия.

После завершения нажмите Enter, чтобы вернуться к пользовательскому интерфейсу. Вы можете искать пакеты (см. Меню поиска, где также отображаются сочетания клавиш).

Нажмите? ключ для интерактивной справки.

Нажмите q, чтобы выйти.

0
ответ дан 30 April 2015 в 00:23

Возможно, ваша установка или деинсталляция была недавно прервана, в результате чего пакетная система находилась в неопределенном состоянии.

sudo apt-get clean && sudo apt-get autoremove 

sudo apt-get -f install

sudo dpkg --configure -a

это должно исправить

0
ответ дан 30 April 2015 в 00:23

У меня была та же проблема, и это оказалось проблемой с разрешениями /var/run/postgresql. Он принадлежал root, но должен был принадлежать postgres

sudo chown -R postgres:postgres /var/run/postgresql решил его, а затем sudo service postgresql restart

Благодаря https: // stackoverflow .com / а / 23645981/648176

0
ответ дан 30 April 2015 в 00:23

Другие вопросы по тегам:

Похожие вопросы: