Formas de pagamento Abuse

Desfragmentar um disco no Linux

23.10.2022, 02:33

Todos os utilizadores do Windows estão familiarizados com o facto de existir uma desfragmentação do disco. É necessário que o disco rígido funcione rapidamente, e é necessário desfragmentar o disco no qual o sistema operativo está instalado. O sistema de ficheiros Ext4 do Linux não é propenso à fragmentação. Mas, na prática, sabe-se que em caso de trabalho prolongado no sistema, acumula-se alguma fragmentação. A seguir, vamos falar em pormenor sobre como desfragmentar corretamente um disco em Linux. Para isso, vamos analisar o exemplo do sistema de ficheiros Ext4.

Desfragmentação - o que é? Em palavras simples sobre coisas complicadas

O que é a fragmentação? Vejamos a teoria: um disco rígido é composto por um grande número de pequenos sectores, cada um armazenando um pequeno pedaço de dados. Os ficheiros grandes são divididos em vários fragmentos mais pequenos.

Mas o Ext4 não se fragmenta como outros sistemas de ficheiros porque atribui espaço após o ficheiro escrito. E mesmo que ocorra fragmentação, ele tenta mover o arquivo para o espaço livre. A fragmentação ocorre quando o sistema de ficheiros está cheio, mas raramente é esse o caso.

Os discos SSD não precisam de desfragmentação. Não existem peças móveis.

Quando um utilizador escreve um ficheiro num sistema FAT ou NTFS, é atribuída uma determinada quantidade de recursos para esta operação e, em seguida, são escritos os ficheiros seguintes. Se for necessário atualizar o ficheiro e acrescentar-lhe informações, serão utilizados outros sectores noutra parte do disco.

Quando existe um grande número de ficheiros deste tipo, o ficheiro pode ser distribuído por todo o disco, o que significa que, no caso de uma operação como a leitura, será necessário deslocar a cabeça de leitura, o que diminuirá o desempenho. É disto que se trata a fragmentação.

Como funciona a desfragmentação no Linux

Utilize o utilitário fsck para avaliar o grau de fragmentação do disco. Passe a opção -f. Use a opção -n para evitar grandes alterações no sistema de ficheiros:

$ sudo fsck -fn /dev/sdb1

Desfragmentar um disco no Linux

/dev/sdb1 é a partição de verificação. Não execute a verificação num sistema montado, pois irá encontrar falsos erros; se não forem executadas quaisquer acções no sistema de ficheiros, não haverá danos. O utilitário e4defrag irá ajudá-lo a efetuar a desfragmentação, está localizado na pasta e2fsprogs.

Se ainda não tiver este conjunto de utilitários instalado, instale-o com o comando:

$ sudo apt install e2fsprogs

De seguida, está disponível a desfragmentação da partição pretendida. O mesmo /dev/sdb1. Vamos montar a partição antes da desfragmentação:

$ sudo mount /dev/sdb1 /mnt

Desfragmentar um disco no Linux

De seguida, desfragmentação Ext4:

$ sudo e4defrag /dev/sdb1

Desfragmentar um disco no Linux

De seguida, pode verificar novamente a fragmentação. Antes disso, desmontar a partição. Fragmentação 0%:

$ sudo fsck -fn /dev/sdb1

É isso. Não perca seu tempo desfragmentando apenas unidades SSD. Elas não precisam disso.