Не удается удалить пакет 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 noob и огромные postgres noob, которые так несут меня, но случайным образом запуская сервер, пока я пытаюсь удалить, это кажется случайным.

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

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

4 ответа

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

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

1
ответ дан 24 May 2018 в 15:38

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

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

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

sudo aptitude

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

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

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

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

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

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

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

Нажмите кнопку? ключ для помощи on-line.

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

1
ответ дан 24 May 2018 в 15:38
  • 1
    Хотя ваш ответ на 100% правильный, он также на 100% бесполезен для начинающего пользователя, который не знает разницы между терминалом и графическим интерфейсом. :-( Поэтому, пожалуйста, отредактируйте свой ответ и добавьте необходимые шаги в свой ответ, тем самым гарантируя, что ваш ответ будет полезен для 100% наших пользователей. – Fabby 26 February 2015 в 01:23
  • 2
    Конечно, ты прав. Теперь он обновлен. – bitcraft 27 February 2015 в 02:44
  • 3
    Фантастический ответ прямо сейчас! (и upvote!) ;-) – Fabby 27 February 2015 в 15:37

Вероятно, ваша установка или удаление были прерваны в последнее время, оставив систему пакетов в неопределенном состоянии.

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

sudo apt-get -f install

sudo dpkg --configure -a

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

0
ответ дан 24 May 2018 в 15:38
  • 1
    sudo apt-get clean && sudo apt-get autoremove приводит к той же ошибке. Чтобы запустить сервер, не удается запустить сервер, потому что у меня нет разрешения, хотя это команда sudo. Действительно странно и раздражает – Starkers 6 November 2013 в 02:54
  • 2
    попробуйте только "sudo apt-get -f install " то, и дайте мне знать, что он возвращает – thom 6 November 2013 в 02:58

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

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

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

0
ответ дан 24 May 2018 в 15:38

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

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