Como listar arquivos e pastas que não são mantidos por nenhum pacote DEB

12

Estou no processo de mover meus arquivos de uma máquina Debian para outra, para que eu possa usar a máquina antiga para uma finalidade diferente. Eu não quero perder nenhum arquivo porque eu vou formatar irrecuperavelmente o disco rígido da máquina antiga.

Pensando nisso mais, percebi que todos os arquivos e pastas que eu preciso copiar são os que não são mantidos por nenhum pacote Debian instalado. Existe uma maneira simples de listar esses arquivos e pastas?

    
por Daniel Trebbien 04.08.2011 / 14:38

2 respostas

16

cruft é uma ferramenta útil exatamente para este propósito: faz uma comparação entre um sistema de arquivos e o banco de dados de pacotes Debian instalados. Além de listar arquivos desconhecidos, ele também lista os arquivos que estão faltando, mas que devem estar lá.

Eu o uso rotineiramente junto com debsums quando eu preciso iniciar a administração do sistema ou atualizar o trabalho na máquina que eu não cuidei anteriormente. Isso permite que eu localize quaisquer modificações e instalações locais e planeje para elas, em vez de o cliente dizer a mim depois de uma atualização que seu software não funciona mais.

Instalar:

apt-get install cruft

Listar todos os "cruft", mas ignorar os diretórios nomeados:

cruft --ignore "/dev /proc /sys /root /home /tmp"

Mais informações:

man cruft
zless /usr/share/doc/cruft/README.gz
    
por 04.08.2011 / 19:42
4

Se você não fez nada incomum, a resposta é que tudo em /bin , /boot , /lib* , /sbin e /usr vem de pacotes Debian, exceto que /usr/local é seu ; o resto do sistema é seu. Os locais típicos dos quais você precisaria fazer backup são /home e /etc (sempre), /var (a maior parte; por exemplo, /var/cache não precisa ser armazenado em backup), /srv (se você use-o) e /usr/local e possivelmente /opt .

Para listar os arquivos regulares no sistema de arquivos / que não vêm dos pacotes da Debian:

find / -xdev -type f | sort >/tmp/root.list
sort /var/lib/dpkg/info/*.list >/tmp/dpkg.list
comm -23 /tmp/root.list /tmp/dpkg.list

Se você tiver um sistema de arquivos separado para /usr , inclua-o no comando find . Se você tiver um sistema de arquivos separado para /home ou /var ou outro local personalizado, inclua-o em seu backup.

    
por 04.08.2011 / 19:26