postgres не удается удалить

postgres не удается удалить

при попытке удалить 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
The following packages were automatically installed and are no longer required:
  account-plugin-windows-live libupstart1
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 17 not upgraded.
2 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up postgresql-common (154ubuntu1) ...
 * Starting PostgreSQL 9.3 database server                                                                                                       * The PostgreSQL server failed to start. Please check the log output:
2015-07-08 11:16:50 PDT 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 package postgresql-common (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of postgresql-9.3:
 postgresql-9.3 depends on postgresql-common (>= 142~); however:
  Package postgresql-common is not configured yet.

dpkg: error processing package postgresql-9.3 (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
                                                                                                          Errors were encountered while processing:
 postgresql-common
 postgresql-9.3
E: Sub-process /usr/bin/dpkg returned an error code (1)

то же самое происходит, когда я пытаюсь очистить postgres, что здесь происходит и как мне правильно удалить postgres?

решение1

Твоя проблема

invoke-rc.d: initscript postgresql, action "start" failed.
dpkg: error processing package postgresql-common (--configure):
 subprocess installed post-installation script returned error exit status 1

Мое решение

the Короткий путь

sudo rm /etc/init.d/postgresql
sudo rm /etc/init/postgresql.conf
sudo apt-get remove postgresql

илиДолгий путь

  • Открыть файл/var/lib/dpkg/info/postgresql-common.postinst

    sudo nano /var/lib/dpkg/info/postgresql-common.postinst
    
  • Найдите строку с командой start:

    if [ -x "/etc/init.d/postgresql" ] || [ -e "/etc/init/postgresql.conf" ]; then
            invoke-rc.d postgresql start || exit $?
    fi
    
  • закомментируйте блок

    # if [ -x "/etc/init.d/postgresql" ] || [ -e "/etc/init/postgresql.conf" ]; then
    #        invoke-rc.d postgresql start || exit $?
    # fi
    
  • Снова снимите упаковку.

    sudo apt-get remove postgresql
    

Объяснение

Во время удаления вызывается postgresqlскрипт postgresql-common.postinst. Скрипт пытается запустить службу postgresqlи терпит неудачу invoke-rc.d postgresql start(не спрашивайте почему).

Это необходимо предотвратить. Либо изменив условия выполнения кода. Либо удалив сам код.

Связанный контент