No Debian, como recuperar / usr / share / doc?

1

Em um laptop antigo rodando o debian Jessie, eu estava fazendo um upgrade

sudo apt-get upgrade

Mas durante o processo, verifiquei o espaço livre com df e viu que em breve, menos de 20 segundos, não haverá mais espaço. Então eu fiz

sudo rm -rf /usr/share/doc

O espaço liberado foi suficiente para finalizar corretamente o processo de atualização.

Agora, quero instalar novamente toda a documentação perdida. Como posso listar todos os pacotes instalados com arquivos em /usr/share/doc e repará-los?

    
por Ortomala Lokni 27.06.2015 / 16:09

2 respostas

2

Você pode usar apt-get --reinstall install … para reinstalar todos os arquivos em vários pacotes. Para obter a lista de pacotes que contêm um arquivo específico, use dpkg -S . dpkg -S /usr/share/doc procura por substrings de nomes de arquivos, portanto, ele localizará todos os arquivos cujo caminho contiver /usr/share/doc , incluindo um /usr/lib/foo/usr/share/doc/ hipotético, mas isso não importa aqui.

dpkg -S /usr/share/doc | sed 's/:.*//' | sort -u |
xargs sudo apt-get --reinstall install
    
por 27.06.2015 / 16:17
1

Cada pacote no Debian envia pelo menos um link simbólico em /usr/share/doc , para fornecer o arquivo copyright que detalha a licença do pacote. Então você praticamente precisará reinstalar tudo!

Os arquivos de um pacote estão listados em /var/lib/dpkg/info/package.list (substituindo package conforme apropriado); o seguinte irá reinstalar os pacotes afetados:

grep -l /usr/share/doc /var/lib/dpkg/info/*.list |
sed 'sX.*/XXg;s/\.list$//g' |
sudo xargs apt-get --reinstall install
    
por 27.06.2015 / 16:23