Monthly Archives: September 2013

Dica do dia: erro “A copy of the C library was found in an unexpected directory: libc-2.15.so not found”

Olá pessoal!

Mais um cenário REAL aconteceu comigo esses dias e pesquisando na Internet sobre o problema vi que muitos fóruns reportam o problema, mas a maioria deles não aponta para uma solução rápida. Eu também não encontrei uma forma de resolver facilmente.

Erro:

A copy of the C library was found in an unexpected directory:
‘/lib/i386-linux-gnu/libc-2.15.so’
It is not safe to upgrade the C library in this situation;
please remove that copy of the C library or get it out of
‘/lib/i386-linux-gnu’ and try again.

O problema aconteceu após a atualização de uma máquina do Ubuntu 12,04 para o Ubuntu 12,10 e que foi mal sucedida. O x não subiu mais, deixando a máquina sem interface gráfica.

Tentei executar os comandos padrão:

sudo apt-get install -f
sudo dpkg --configure -a
sudo apt-get upgrade

Não resolveu.

Fiz o que o erro indicava, ou seja, removi (no caso, por precaução apenas movi pra outro lugar) a lib. Sem sucesso. Quando isso foi feito, nem os comandos cp, mv e derivados funcionaram mais. Copiar a lib de um LiveCD e sobrescrever, não adiantou também.

A solução:

Reinstalar o Ubuntu usando um CD da versão 13.10 e solicitando ao instalador que apenas corrigisse o sistema. Resolveu o problema e os arquivos foram mantidos embora alguns aplicativos deixaram de funcionar e tiveram de ser reinstalados.

;)

Dica do dia: como resolver The package ‘postgresql-contrib-8.2′ is marked for removal but it is in the removal blacklist.

Algumas pessoas têm me escrito para questionar sobre uma série de problemas encontrados no momento da atualização da distribuição Ubuntu, causados por pacotes do PostgreSQL quebrados (movidos, desatualizados etc.)

Os erros são:

The package ‘postgresql-contrib-8.2′ is marked for removal but it is
in the removal blacklist.

The package ‘postgresql-8.2′ is marked for removal but it is in the
removal blacklist.

The package ‘postgresql-server-dev-8.2′ is marked for removal but it is in the
removal blacklist.

Tais problemas com a versão 8.2 do PostgreSQL provavelmente foram causadas por conta de o pacote original ter sido movido de local, uma fonte não oficial foi adicionada no arquivo sources.list etc. Vários problemas podem ser acontecido, que impedem que os arquivos do PostgreSQL sejam localizados.

A solução:

Meu cenário foi real, uma das minhas máquinas usando Ubuntu 12.04 encontrava-se com o mesmo problema. Sendo assim, talvez a minha saga para encontrar a solução ajude os incautos (embora minha solução seja meio que uma força bruta..rs).

Em primeiro lugar, faça o purge dos aplicativos problemáticos (isso irá desinstalar o PostgreSQL do sistema, sendo assim, se você o utiliza, faça um backup dos seus bancos de dados antes!)

dpkg --purge postgresql-contrib-8.2
dpkg --purge postgresql-common
dpkg --purge postgresql-client-common
dpkg --purge postgresql-server-dev-8.2
dpkg --purge postgresql-8.2

No momento de remover o pacote principal (postgresql-8.2), obtive o seguinte erro:

root@venus:/home/flaviajobs# dpkg –purge postgresql-8.2
(Reading database … 409322 files and directories currently installed.)
Removing postgresql-8.2 …
/var/lib/dpkg/info/postgresql-8.2.prerm: 17: .: Can’t open /usr/share/postgresql-common/maintscripts-functions
dpkg: error processing postgresql-8.2 (–purge):
subprocess installed pre-removal script returned error exit status 2
update-rc.d: warning: postgresql-8.2 stop runlevel arguments (0 1 6) do not match LSB Default-Stop values (S 0 1 6)
Errors were encountered while processing:
postgresql-8.2

Tentei então com o apt-get:
sudo apt-get --purge remove postgresql-8.2

Mas obtive o erro sub-process /usr/bin/dpkg returned an error code (1).

Preferi então partir para o hard-mode do que ficar me matando pra entender o motivo disso (não tenho paciência vai…rs): fui até o diretório /var/lib/dpkg/info e deletei todo seu conteúdo, afinal esse diretório armazena somente informações sobre os aplicativos instalados com o comando dpkg.

Executei o comando para remoção do postgresql-8.2 novamente e obtive a mensagem:

root@venus:/var/lib/dpkg/info# dpkg –purge postgresql-8.2
dpkg: warning: there’s no installed package matching postgresql-8.2

Isso é um sinal de que o aplicativo fantasma nem mesmo estava instalado…rs

Executei novamente a solicitação de instalação do novo release (eu faço isso pela linha de comando):

do-release-upgrade -d

E chegamos ao resultado:

Do you want to start the upgrade?

27 packages are going to be removed. 306 new packages are going to be
installed. 1813 packages are going to be upgraded.

You have to download a total of 2291 M. This download will take about
16 minutes with your connection.

Installing the upgrade can take several hours. Once the download has
finished, the process cannot be canceled.

Continue [yN] Details [d]

Whoohoo! :)

Espero que funcione para você também e qualquer coisa, me mande um email: fjobsATlinuxmagazine.com.br