Arquivo corrompido, como faço para reinstalar pacotes no Debian?

3

Após um desligamento impuro, o fsck relatou corrupção em várias partes do sistema de arquivos, aparentemente afetando os pacotes instalados (por sorte, nenhum dado do usuário foi afetado).

Existe uma maneira fácil de reinstalar esses pacotes do zero? diga ao apt ou dpkg para instalar o mesmo pacote novamente, sem alterar seus flags (especialmente preservando o flag auto-instalado)?

Eu tenho uma lista dos arquivos afetados e, com algum esforço, consegui descobrir quais pacotes eu precisaria reinstalar. A alternativa é reinstalar tudo instalado no sistema.

    
por user149408 01.09.2017 / 21:27

1 resposta

8

Para cada arquivo corrompido, o pacote que instalou o arquivo pode ser obtido com:

dpkg -S /full/path/of/the/corrupted/file

Você pode reinstalá-lo com o comando:

apt-get --reinstall install package

Se todos os seus arquivos corrompidos estiverem em um único arquivo list.txt , você poderá obter todos os pacotes associados com:

dpkg -S $(cat list.txt) | cut -d: -f1 | sort -u

E, claro, instale todos os pacotes com esse único comando:

apt-get --reinstall install $(dpkg -S $(cat list.txt) | cut -d: -f1 | sort -u)
    
por 02.09.2017 / 00:19