На машине с Ubuntu папка postgresql была удалена вручную - невозможно установить или удалить пакеты

У меня есть машина, где пользователь удалил свою папку postgresql из командной строки в попытке удалить postgres. теперь, когда мы пытаемся установить любые другие пакеты, даже не связанные с ними, мы продолжаем получать сообщения об ошибках postgresql-common.

Я пытался удалить все, что связано с postgresql-9.3 и postgresql-9.4, вручную из командной строки, но это не работает.

Вот что происходит, когда я пытаюсь:

jj@testdev:~/Documents/svc_core_design/svc_core_git/svc-core-docs/net-svc$ sudo apt-get purge postgresql-client-9.3
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package 'postgresql-client-9.3' is not installed, so not removed
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 postgresql-9.3 : Depends: postgresql-client-9.3 but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
jj@testdev:~/Documents/svc_core_design/svc_core_git/svc-core-docs/net-svc$ 

Чтобы увидеть, какие компоненты postgresql у него еще есть, я выполнил следующую команду:

sudo dpkg --get-selections | grep -v deinstall

postgresql-9.3                                  purge
postgresql-client-9.4                           install
postgresql-client-common                        install
postgresql-common                               install

Я хотел бы либо удалите все связанные с postgresql элементы, если это возможно, либо переустановите, чтобы он работал правильно (не нужно обеих версий, если мы переустановим. Просто 9.4 будет хорошо.) Можете ли вы сказать мне, как я могу сделать это через командную строку ?

РЕДАКТИРОВАТЬ 1

Вот результаты попытки запустить «sudo apt-get -f install» без имени пакета:

jj@testdev:/var/lib/postgresql$ sudo apt-get -f install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libjs-underscore linux-image-3.16.0-25-generic linux-image-3.16.0-33-generic linux-image-extra-3.16.0-25-generic linux-image-extra-3.16.0-33-generic
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 8 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up postgresql-common (166.pgdg14.10+1) ...
insserv: warning: script 'mongod' missing LSB tags and overrides
insserv: Default-Start undefined, assuming empty start runlevel(s) for script `mongod'
insserv: Default-Stop  undefined, assuming empty stop  runlevel(s) for script `mongod'
 * Starting PostgreSQL 9.3 database server                                                                                                                                                                                                 * Error: /var/lib/postgresql/9.3/main is not accessible or does not exist
                                                                                                                                                                                                                                   [fail]
 * Starting PostgreSQL 9.4 database server                                                                                                                                                                                                 * Error: /var/lib/postgresql/9.4/main is not accessible or does not exist
                                                                                                                                                                                                                                   [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
Errors were encountered while processing:
 postgresql-common
E: Sub-process /usr/bin/dpkg returned an error code (1)
jj@testdev:/var/lib/postgresql$ sudo 

Я также позаботился о том, чтобы владельцем папки / var / lib / postgresql был postgres, если это поможет. Возможно, мне следует вручную создать структуру папок, на которую она жалуется?

  /var/lib/postgresql/9.3/main

Есть другие предложения?

РЕДАКТИРОВАТЬ 2

Я установил aptitude и попытался удалить postgresql 9.3 и 9.4. Сбой:

jj@testdev:/var/lib/postgresql$ sudo aptitude purge postgresql-9.3
The following packages will be REMOVED:  
  postgresql-9.3{p} 
The following partially installed packages will be configured:
  postgresql-common 
0 packages upgraded, 0 newly installed, 1 to remove and 5 not upgraded.
Need to get 0 B of archives. After unpacking 17.6 MB will be freed.
Do you want to continue? [Y/n/?] Y
(Reading database ... 339475 files and directories currently installed.)
Removing postgresql-9.3 (9.3.5-2.pgdg14.10+1) ...
 * Stopping PostgreSQL 9.3 database server                                                                                                                                                                                     * Error: /var/lib/postgresql/9.3/main is not accessible or does not exist
                                                                                                                                                                                                                       [fail]
invoke-rc.d: initscript postgresql, action "stop" failed.
dpkg: error processing package postgresql-9.3 (--purge):
 subprocess installed pre-removal script returned error exit status 1
Errors were encountered while processing:
 postgresql-9.3
E: Sub-process /usr/bin/dpkg returned an error code (1)
Failed to perform requested operation on package.  Trying to recover:
Setting up postgresql-common (166.pgdg14.10+1) ...
 * Starting PostgreSQL 9.3 database server                                                                                                                                                                                     * Error: /var/lib/postgresql/9.3/main is not accessible or does not exist
                                                                                                                                                                                                                       [fail]
 * Starting PostgreSQL 9.4 database server                                                                                                                                                                                     * Error: /var/lib/postgresql/9.4/main is not accessible or does not exist
                                                                                                                                                                                                                       [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
Errors were encountered while processing:
 postgresql-common

jj@testdev:/var/lib/postgresql$ 

РЕДАКТИРОВАТЬ 3:

Вот результаты выполнения команды «sudo apt-get purge postgresql-client-9.4 postgresql-client-common postgresql-common»

Removing postgresql-common (166.pgdg14.10+1) ...
 * Stopping PostgreSQL 9.3 database server                                                                                                                                                                                     * Error: /var/lib/postgresql/9.3/main is not accessible or does not exist
                                                                                                                                                                                                                       [fail]
 * Stopping PostgreSQL 9.4 database server                                                                                                                                                                                     * Error: /var/lib/postgresql/9.4/main is not accessible or does not exist
                                                                                                                                                                                                                       [fail]
invoke-rc.d: initscript postgresql, action "stop" failed.
dpkg: error processing package postgresql-common (--purge):
 subprocess installed pre-removal script returned error exit status 1
 * Starting PostgreSQL 9.3 database server                                                                                                                                                                                     * Error: /var/lib/postgresql/9.3/main is not accessible or does not exist
                                                                                                                                                                                                                       [fail]
 * Starting PostgreSQL 9.4 database server                                                                                                                                                                                     * Error: /var/lib/postgresql/9.4/main is not accessible or does not exist
                                                                                                                                                                                                                       [fail]
invoke-rc.d: initscript postgresql, action "start" failed.
dpkg: error while cleaning up:
 subprocess installed post-installation script returned error exit status 1

и когда я проверяю что установлено:

jj@testdev:/var/lib/postgresql$ sudo dpkg --get-selections | grep -v deinstall | grep post
libreoffice-sdbc-postgresql         install
postgresql-9.3                  purge
postgresql-9.4                  purge
postgresql-common               purge
printer-driver-postscript-hp            install
jj@testdev:/var/lib/postgresql$ 
3
задан 17 April 2015 в 17:05

3 ответа

В изобилии попыток удалить способность использования и также склонный - добираются, удаляют / чистка, я получал сообщение, что это не могло удалить postgresql-9.3, потому что каталоги,/var/lib/postgresql и/var/log/postgresql, не были пусты.

, Таким образом, я сдул их и затем сделал sudo Кв. - получают чистку... который вид обработанных. И затем я сделал чистку способности, и она работала. Теперь мы можем установить пакеты снова на этом поле без ошибок.

2
ответ дан 17 April 2015 в 17:05

Вы попытались просто произвести чистку пакетов, оставленных от неудавшейся попытки удаления вручную?

sudo apt-get purge postgresql-client-9.4 postgresql-client-common postgresql-common

Затем:

sudo apt-get update install postgresql

удаление, очевидно, перестало работать, потому что postgresql не установлен, но переустановка могла бы перестать работать, потому что что-то неправильно с тем, что оставили от предыдущей установки.

2
ответ дан 17 April 2015 в 17:05

Я столкнулся с этой проблемой путем поиска всех postgresql папок с помощью whereis postgresql и затем вручную удалив их. Но затем когда я должен был переустановить postgresql использование apt-get install postrgesql-10 или сделать простое apt-get upgrade, я добирался ниже как часть ошибки:

не Может открыть/usr/share/postgresql-common/maintscripts-functions

, Что я сделал был то, что я скопировал фактический файл с их Github repo здесь и поместил его в том местоположении. Затем я сделал следующие шаги:

  • dpkg -l | grep postgresql - для списка пакетов, которые были установлены. Это покажет Вам результат как этот снимок экрана .

  • Использование имена пакета от вышеупомянутого результата и удалит их - sudo apt-get remove <PACKAGE>

  • , Затем, удаляют все оставшиеся пакеты с sudo apt-get autoremove

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

0
ответ дан 17 November 2019 в 20:21

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

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