Na verdade, apt-get --reinstall install package
deve funcionar, com arquivos pelo menos:
➜ ~ ls -l /usr/share/lintian/checks/version-substvars.desc
-rw-r--r-- 1 root root 2441 Jun 22 14:19 /usr/share/lintian/checks/version-substvars.desc
➜ ~ sudo chmod +x /usr/share/lintian/checks/version-substvars.desc
➜ ~ ls -l /usr/share/lintian/checks/version-substvars.desc
-rwxr-xr-x 1 root root 2441 Jun 22 14:19 /usr/share/lintian/checks/version-substvars.desc
➜ ~ sudo apt-get --reinstall install lintian
(Reading database ... 291736 files and directories currently installed.)
Preparing to unpack .../lintian_2.5.27_all.deb ...
Unpacking lintian (2.5.27) over (2.5.27) ...
Processing triggers for man-db (2.6.7.1-1) ...
Setting up lintian (2.5.27) ...
➜ ~ ls -l /usr/share/lintian/checks/version-substvars.desc
-rw-r--r-- 1 root root 2441 Jun 22 14:19 /usr/share/lintian/checks/version-substvars.desc
Agora, você provavelmente não obteve todos os pacotes que possuem arquivos no diretório /var
, então é melhor encontrar todos eles :
➜ ~ find /var -exec dpkg -S {} + 2> /dev/null | grep -v "no path found" | wc -l
460
No meu caso, ele é responsável por 460 caminhos que possuem um pacote, isso é realmente menor se você considerar que o mesmo pacote pode ter vários caminhos, que com alguns pós-processamento podemos descobrir que são ~ 122:
➜ ~ find /var -exec dpkg -S {} + 2> /dev/null | grep -v "no path found" | cut -d : -f 1 | sort | uniq | wc -l
122
Isso, claro, conta vários pacotes que têm o mesmo caminho, como wamerican, aspell-en, ispanish, wspanish, aspell-es, myspell-es
. Isso é facilmente corrigível:
➜ ~ find /var -exec dpkg -S {} + 2> /dev/null | grep -v "no path found" | cut -d : -f 1 | sed 's/, /\n/g' | sort | uniq | wc -l
107
Portanto, tenho 107 pacotes que possuem qualquer tipo de arquivo em /var
ou subdiretórios. Você pode reinstalá-los usando:
sudo apt-get --reinstall install $(find /var -exec dpkg -S {} + 2> /dev/null | grep -v "no path found" | cut -d : -f 1 | sed 's/, /\n/g')
Isso deve corrigir as permissões.
Agora, há outra opção, encontrar uma boa instalação e copiar as permissões do arquivo na sua instalação:
chmod --recursive --reference good/var bad/var