sexta-feira, 4 de junho de 2010

Verificar e recuperar os pacotes no Ubuntu

funciona tanto com o ubuntu como as distribuições similares ao Debian.


As vezes ao fazer migrações ou utilizar de maneira errada o comando "rm" acontece apagamentos acidentais de programas no sistema operacional.

Não entrarei no mérito de ensinar a recuperação geral, como documentos, apresentações, imagens ou outros tipos de arquivo.

No caso, serão arquivos do próprio sistema operacional, quando ocorre de programas começarem a falhar para iniciar ou espetam pedindo libs que antes não eram pedidas antes.

Passos:

instale pelo "central de programas", o pacote chamado debsums. Este programa serve para verificar a integridade dos pacotes instalados.

rode da seguinte maneira:

debsums -as

o sub-comando "-a" é para analisar todos os pacotes, e o "-s" avisa somente dos arquivos de pacotes que contenham alguma irregularidade ou alteração.

root@machinename:~# debsums -as
debsums: missing file /opt/Adobe/Reader9/Reader/intellinux/lib/libldap.so (from acroread package)
debsums: changed file /opt/Adobe/Reader9/Browser/HowTo/ENU/Browser_Plugin_HowTo.tx (from acroread package)
debsums: changed file /etc/apache2/sites-available/default (from apache2.2-common package)
debsums: missing file /usr/share/doc/apache2.2-common/README.backtrace (from apache2.2-common package)




no exemplo acima, o pacote o pacote acroread possui registro de uma lib chamada libldap.so porém o debsums reclamou que o programa não existe mais.
Na próxima linha existe um comentário sobre uma alteração no arquivo default do webserver apache2.2-common .

Sobre os exemplo acima, o arquivo libldap.so não esta mais onde deveria estar, o arquivo default sofreu alterações desde a instalação bem como o arquivo Browser_Plugin_HowTo.txt .

Para esse caso, vamos restaurar os arquivos do acroread.
Execute o comando:

apt-get --reinstall install acroread

Para verificar se o pacote foi restaurado, execute:

root@machinename:~# debsums -as acroread

debsums: missing file /opt/Adobe/Reader9/Reader/intellinux/lib/libldap.so (from acroread package)
debsums: missing file /opt/Adobe/Reader9/Reader/intellinux/lib/liblber.so (from acroread package)


No caso o arquivo Browser_Plugin_HowTo.txt foi restaurado, mas os arquivos libldap.so e liblber.so não foram. Porque?
Simples, especialmente o pacote acroread (da Adobe) realmente não possui esses arquivos no pacote, mas mesmo assim tem referência para eles. É um pequeno "bug", ou esquecimento, provavelmente porque em algum tempo atrás esses arquivos existiam, e agora não existem mais.
Eu, particularmente, só encontrei esse caso até agora.

Portanto a regra é a seguinte:

Use o debsums para verificar os arquivos, e o apt-get --reinstall para recupera-los.
Postar um comentário