O Ubuntu / Linux usa um sistema de arquivos de registro no diário , mas há ferramentas de desfragmentação do espaço do usuário , como Shake e desfragmentação para ext3.
Shake
Funciona alocando espaço para o arquivo inteiro como uma operação, o que geralmente fará com que o alocador encontre espaço em disco contíguo. Se houver arquivos que são usados ao mesmo tempo, o Shake tentará escrevê-los um ao lado do outro.
Defrag
Funciona copiando cada arquivo sobre si mesmo (então, tecnicamente, ele não está desfragmentando ...). No entanto, essa estratégia funciona somente se o sistema de arquivos tiver espaço livre suficiente. Uma verdadeira ferramenta de desfragmentação não existe para o ext3.
No entanto, os sistemas de arquivos Linux modernos mantêm a fragmentação no mínimo, mantendo todos os blocos em um arquivo juntos, mesmo que não possam ser armazenados em setores consecutivos. Alguns sistemas de arquivos, como ext3 e ext4, alocam efetivamente o bloco livre mais próximo de outros blocos em um arquivo. Portanto, não é necessário se preocupar com a fragmentação em um sistema Linux.
ext4: extensão
O ext4 usa a extensão, de modo que tem um novo programa e4defrag
como parte do o código%. Portanto, é possível desfragmentar o ext4. Mas se você está pensando que vai acelerar o seu sistema, você está errado.
Uma extensão é uma área contígua de armazenamento em um sistema de arquivos de computador, reservada para um arquivo. Quando um processo cria um arquivo, o software de gerenciamento do sistema de arquivos aloca toda uma extensão. Ao gravar no arquivo novamente, possivelmente após executar outras operações de gravação, os dados continuam onde a gravação anterior foi interrompida. Isso reduz ou elimina a fragmentação de arquivos e, possivelmente, a dispersão de arquivos também.
Um sistema de arquivos baseado em extensão (ou seja, um que aborde o armazenamento através de extensões em vez de blocos únicos) não precisa exigir a limitação de cada arquivo em uma extensão única e contígua.
Mais informações em kernel.org