Uma maneira inteligente de desfragmentar um sistema de arquivos FAT?

10

Qual é a melhor maneira de desfragmentar um sistema de arquivos FAT ao executar o Linux / Unix (no pendrive, por exemplo)?

Marc MAURICE
fonte
4
Eu escolheria sua primeira opção se o espaço não fosse um problema. Eu criaria um sistema de arquivos limpo em um arquivo grande montado em loop. Dessa forma, você tem a oportunidade de verificar o resultado antes de substituir o stick.
jippie
A sugestão de @ jippie também oferece um backup. Caso contrário, eu optaria por um utilitário de desfragmentação, mas verifique cuidadosamente primeiro se é confiável e faça um backup antecipado se tiver algum anexo aos dados.
vonbrand
@ippie: você quer dizer criar um arquivo de loop do mesmo tamanho da partição gorda inicial, copiar tudo para ele, verificar e depois gravar no dispositivo original? Você precisará de espaço extra, e não vejo como é melhor simplesmente copiar o arquivo temporariamente para o sistema de arquivos ext local. Ou estou sentindo falta de algo.
Marc MAURICE
1
Você pode verificar o resultado antes de alterar o conteúdo da unidade flash.
jippie

Respostas:

7

Você pode verificar se um arquivo está fragmentado ou não usando o filefragutilitário.

Dessa forma, você pode filtrar os arquivos que não estão fragmentados e fazer a cópia / cópia apenas para arquivos já fragmentados. Isso deve poupar algum tempo. No entanto, esteja ciente de que não há garantia de que o novo layout do arquivo será melhor que o antigo.

A melhor maneira é ignorar completamente a fragmentação de arquivos. Especialmente em um pendrive, isso pouco importa, apenas desperdiça ciclos de gravação e, ao contrário dos HDDs, não há partes móveis e, portanto, não é uma penalidade devido à fragmentação.

A desfragmentação só deve ser necessária se acontecer algo engraçado que cause a fragmentação dos arquivos de uma maneira muito extrema. Por exemplo, clientes de torrent que baixam o conteúdo do arquivo em ordem aleatória sem pré-alocar. Mas, a menos que o FAT comece a oferecer suporte a arquivos esparsos em algum momento, isso não é um problema, pois a pré-alocação é obrigatória em um FS.

frostschutz
fonte
1
Obrigado pela sua resposta. Na verdade, eu preciso de uma maneira de desfragmentar completamente o sistema de arquivos FAT porque estou usando o Easy2boot , e todos os arquivos iso não devem ser fragmentados.
Marc MAURICE
Parece um método ultrapassado para mim. O isoloop do GRUB2 é muito popular, então muitas distros suportam a montagem em loop de um iso de qualquer lugar já. Aqueles que não funcionam, pode ser que funcione diretamente de uma partição, mas também pode falhar. Depende totalmente da própria ISO.
frostschutz
2
A desvantagem do GRUB2 isoloop é que ele carregará diretamente um kernel Linux na ISO. Você precisa conhecer o caminho do kernel / initrd para carregar e perderá o menu ISOLINUX, oferecendo opções personalizadas de inicialização.
Marc Maurice
Encontrar o caminho não é difícil, e o resto depende de quanto esforço você deseja fazer para converter os itens de menu do isolinux em um submenu grub2 ... mas sim, todas as soluções têm suas desvantagens. Acabei de testar minha partição ISO - NENHUM dos arquivos está desagregado. E eles foram copiados um por um. Corrigir isso seria uma grande dor para mim, então prefiro renunciar a ISOs que não suportam montagem isoloop.
Frostschutz
Eu nunca usei o easy2boot, mas como essa solução envolve a criação de uma partição, você não poderia fazer isso em primeiro lugar - uma partição por ISO e dd. Nenhuma fragmentação é possível dessa maneira. Ou, alternativamente, se isso é possível de todo, um sistema de arquivos livre de fragmentação (ISO dentro ISO?)
frostschutz
0

Vejamos isso de um ângulo diferente, porque você deu um exemplo "no pendrive, por exemplo"

MAU EXEMPLO

Um pendrive USB é a memória FLASH, e há duas coisas a considerar: 1) Como a memória FLASH não possui partes móveis, não há um ganho perceptível de desempenho ao ser desfragmentado. Os defrgs servem para limpar o sistema de arquivos ou reorganizar os blocos de arquivos para aproximá-los - reduzir os movimentos físicos do braço (busca) e o tempo de espera do disco girando (latência). O Flash não possui isso. 2) Escrever e escrever e escrever na memória flash desgasta-a. Agora, para resistência de gravação de 100K, talvez o seu pendrive durasse de 10 a 10 anos, mas o número de vezes que você pode escrever é um número "finito". A desfragmentação constante do pendrive corroe a vida útil devido à limitação de resistência.

E este não é apenas o seu pendrive, cartões SD, Compact FLASH e até unidades SSD.

Meu ponto de vista, não desfragmentar apenas por um inferno, saiba qual é a tecnologia subjacente no sistema de arquivos e as implicações, e mesmo que seja magnética e não eletrônica, desfragmentar em excesso pode eventualmente corromper seu sistema de arquivos e você perde seus arquivos.

Robert Shullich
fonte