Pesquisa de site

Como reparar e desfragmentar partições e diretórios do sistema Linux


As pessoas que usam Linux muitas vezes pensam que não requer desfragmentação. Este é um mal-entendido comum entre usuários do Linux. Na verdade, o sistema operacional Linux suporta desfragmentação. O objetivo da desfragmentação é melhorar as operações de E/S, como permitir que vídeos locais carreguem mais rápido ou extrair arquivos significativamente mais rápido.

Os sistemas de arquivos ext2, ext3 e ext4 do Linux não precisam de muita atenção, mas com o tempo, depois de executar muitas leituras/gravações, o sistema de arquivos pode exigir otimização. Caso contrário, o disco rígido poderá ficar mais lento e afetar todo o sistema.

Neste tutorial vou mostrar algumas técnicas diferentes para realizar a desfragmentação de arquivos. Antes de começarmos, devemos mencionar o que sistemas de arquivos comuns como ext2,3,4 fazem para evitar a fragmentação. Esses sistemas de arquivos incluem técnicas para evitar o efeito. Por exemplo, os sistemas de arquivos reservam grupos de blocos livres no disco rígido para armazenar arquivos crescentes completamente.

Infelizmente o problema nem sempre é resolvido com tal mecanismo. Embora outros sistemas operacionais possam exigir software adicional caro para resolver esses problemas, o Linux tem algumas ferramentas fáceis de instalar que podem ajudá-lo a resolver esses problemas.

Como verificar se um sistema de arquivos requer desfragmentação?

Antes de começarmos, gostaria de salientar que as operações abaixo só devem ser executadas em HDDs e não em SSD. Desfragmentar sua unidade SSD apenas aumentará sua contagem de leitura/gravação e, portanto, reduzirá sua vida útil. Em vez disso, se estiver usando SSD, você deve usar a função TRIM, que não é abordada neste tutorial.

vamos testar se o sistema realmente requer desfragmentação. Podemos verificar isso facilmente com uma ferramenta como e2fsck. Antes de usar esta ferramenta em uma partição do seu sistema, é recomendável desmontar essa partição com. Isso não é totalmente necessário, mas é o caminho seguro a seguir:

sudo umount <device file>

No meu caso eu tenho /dev/sda1 montado em /tmp:

Lembre-se de que no seu caso, a tabela de partições pode ser diferente. Portanto, certifique-se de desmontar a partição correta. Para desmontar essa partição você pode usar:

sudo umount /dev/sda1

Agora vamos verificar se esta partição requer desfragmentação, com e2fsck. Você precisará executar o seguinte comando:

sudo e2fsck -fn /dev/sda1

O comando acima realizará uma verificação do sistema de arquivos. A opção -f força a verificação, mesmo que o sistema pareça limpo. A opção -n é usada para abrir o sistema de arquivos em modo somente leitura e assumir a resposta "não" para todas as perguntas que possam aparecer.

Esta opção basicamente permite usar e2fsck de forma não interativa. Se tudo estiver OK, você deverá ver um resultado semelhante ao mostrado na imagem abaixo:

Aqui está outro exemplo que mostra erros em um sistema:

Como reparar o sistema de arquivos Linux usando e2fsck

Se aparecerem erros, você pode tentar reparar o sistema de arquivos com e2fsck com a opção “-p”. Observe que para executar o comando abaixo, a partição precisará ser desmontada:

sudo e2fsck -p <device file>

As opções “-p” tentam reparar automaticamente no sistema de arquivos problemas que podem ser corrigidos com segurança sem intervenção humana. Se for descoberto um problema que possa exigir que o administrador do sistema tome medidas corretivas adicionais, o e2fsck imprimirá uma descrição do problema e sairá com o código 4, que significa “Erros do sistema de arquivos não corrigidos”. Dependendo do problema encontrado, ações diferentes podem ser necessárias.

Se o problema aparecer em uma partição que não pode ser desmontada, você poderá usar outra ferramenta chamada e4defrag. Ele vem pré-instalado em muitas distros Linux, mas se você não o tiver na sua, poderá instalá-lo com:

sudo apt-get install e2fsprogs         [On Debian and Derivatives]
yum install e2fsprogs                  [On CentOS based systems]
dnf install e2fsprogs                  [On Fedora 22+ versions] 

Como desfragmentar partições Linux

Agora é hora de desfragmentar as partições Linux usando o seguinte comando.

sudo e4defrag <location>
or
sudo e4defrag <device>

Como desfragmentar o diretório Linux

Por exemplo, se desejar desfragmentar um único diretório ou dispositivo, você pode usar:


sudo e4defrag /home/user/directory/
sudo e4defrag /dev/sda5

Como desfragmentar todas as partições Linux

Se você preferir desfragmentar todo o seu sistema, a maneira segura de fazer isso é:

sudo e4defrag /

Lembre-se de que esse processo pode levar algum tempo para ser concluído.

Conclusão

Desfragmentação é uma operação que você raramente precisará executar no Linux. Destina-se a usuários avançados que sabem exatamente o que estão fazendo e não é recomendado para iniciantes em Linux. O objetivo de toda a ação é otimizar seu sistema de arquivos para que novas operações de leitura/gravação sejam executadas com mais eficiência.