12.04 Para reparar o gerenciador de pacotes do apt-get

0

Eu estava instalando o PostgreSQL 9.4 e pgAdmin no meu Ubuntu 12.04 e depois disso eu precisei instalar a extensão do Postgis para o Postgres também. Antes do passo de Postgis tudo estava bem. Lá eu tentei compilar o código fonte, bem como com dpkg -i .deb método para instalar e ambos deram um erro sobre um arquivo ausente - libpq-fe.h . Descobri que está em um pacote libpq-dev , assim como sudo apt-get install libpq-dev . Isso me retornou que este pacote já está instalado. Embora uma pasta na qual o arquivo libpq-fe.h (e outros) deva estar esteja vazia. Então, meu palpite foi remover o libpq-dev e instalá-lo novamente. Eu tentei ambos com sudo apt-get remove ... e sudo apt-get remove --purge ... .

A partir daqui o gerenciador de pacotes quebrou e agora mesmo qualquer tentativa de instalar um pacote (abaixo do Wine, apenas por exemplo) ou fazer um sudo apt-get upgrade retornos:

adambo@adam-pc:~/Downloads/postgis-2.2.2$ sudo apt-get install wine
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 libpq-dev : Depends: libpq5 (= 9.1.20-0ubuntu0.12.04) but 9.5.3-1.pgdg12.4+1 is to be installed
 postgresql-server-dev-9.4 : Depends: libpq-dev (>= 9.4~) but 9.1.20-0ubuntu0.12.04 is to be installed
 wine : Depends: wine1.4 but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

O que eu tentei:

  • sudo apt-get update
  • sudo apt-get upgrade
  • sudo apt-get clean
  • sudo apt-get remove
  • sudo apt-get autoremove
  • sudo apt-get install -f

Alguns retornaram resultados regulares (ou nada), mas alguns retornaram como em code acima.

Eu também tentei remover os pacotes libpq-dev e libpq5, mas qualquer tentativa resultou no code acima novamente.

Mas sudo apt-get install -f me dá:

adambo@adam-pc:~/Downloads/postgis-2.2.2$ sudo apt-get install -f
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following extra packages will be installed:
  libpq-dev
Suggested packages:
  postgresql-doc-9.5
The following packages will be upgraded:
  libpq-dev
1 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
1 not fully installed or removed.
Need to get 0 B/228 kB of archives.
After this operation, 141 kB disk space will be freed.
Do you want to continue  [Y/n]? Y
dpkg: dependency problems prevent configuration of libpq-dev:
 libpq-dev depends on libpq5 (= 9.1.20-0ubuntu0.12.04); however:
  Version of libpq5 on system is 9.5.3-1.pgdg12.4+1.
dpkg: error processing libpq-dev (--configure):
 dependency problems - leaving unconfigured
No apport report written because MaxReports is reached already
                                                              Errors were encountered while processing:
 libpq-dev
E: Sub-process /usr/bin/dpkg returned an error code (1)


O que eu poderia fazer para, pelo menos, restaurar a funcionalidade do apt-get?

    
por adamczi 26.07.2016 / 22:14

2 respostas

0

Depois de tentar e falhar, tentei com Aptitude (felizmente já instalado) e pressione g para instalar / remover / reparar pacotes. Lá segui o que propus para remover e ... Erro desapareceu. libpq-dev foi removido. Embora alguns dos outros pacotes que eu realmente precisei foram removidos também.

Por isso, recomendo a pessoas que possam restaurar e reinstalar facilmente pacotes ausentes.

    
por adamczi 27.07.2016 / 09:53
0

Ao descobrir que arquivos de libpq-dev estão faltando, o comando a ser executado é:

sudo apt-get install --reinstall libpq-dev

Este comando deixa em paz os pacotes dependentes, ao contrário de apt-get remove , que o arrastou para uma confusão de dependências.

    
por Daniel Vérité 06.08.2016 / 15:44