Guia do Linux/Iniciante+Intermediário/Discos e Partições/Partição EXT2 (Linux Native)
Partição EXT2 (Linux Native)
editarA partição EXT2 é o tipo usado para criar o sistema de arquivos Linux Native
usado para armazenar o sistema de arquivos EXT2 (após a formatação) e permitir o armazenamento de dados. Para detalhes de como criar uma partição EXT2 veja [#s-disc-ext2-criando-p Criando um sistema de arquivos EXT2 em uma partição, Seção 5.3.1].
Este tipo de partição é normalmente identificado pelo código 83 nos programas de particionamento de disco. Note que também é possível criar um sistema de arquivos EXT2 em um arquivo (ao invés de uma partição) que poderá ser montado e acessado normalmente pelo sistema de arquivos (veja [#s-disc-ext2-criando-a Criando um sistema de arquivos EXT2 em um arquivo, Seção 5.3.2].
Logo que foi inventado, o GNU/Linux
utilizava o sistema de arquivos Minix (e consequentemente uma partição Minix) para o armazenamento de arquivos. Com a evolução do desenvolvimento, foi criado o padrão EXT (Extended Filesystem) e logo evoluiu para o EXT2 (Second Extended Filesystem) que é o usado hoje em dia.
Você deve escolher este tipo de partição para armazenar seus arquivos, é o padrão atualmente, é o mais rápido, não se fragmenta tão facilmente pois permite a localização do melhor lugar onde o arquivo se encaixa no disco, etc. Isto é útil para grandes ambientes multiusuário onde várias pessoas gravam/apagam arquivos o tempo todo.
Criando um sistema de arquivos EXT2 em uma partição
editarO utilitário usado para formatar uma partição EXT2 é o mkfs.ext2
. Após terminar este passo, seu sistema de arquivos EXT2 estará pronto para ser usado.
Após particionar seu disco rígido e criar uma (ou várias) partições EXT2, use o comando:
mkfs.ext2 /dev/hda?
Onde a "?" em hda? significa o número da partição que será formatada. A identificação da partição é mostrada durante o particionamento do disco, anote se for o caso. hda é o primeiro disco rígido IDE, hdb é o segundo disco rígido IDE. Discos SCSI são identificados por sda?, sdb?, etc. Para detalhes sobre a identificação de discos, veja [#s-disc-id Identificação de discos e partições em sistemas Linux, Seção 5.12].
Algumas opções são úteis ao mkfs.ext2
:
- -c Procura blocos danificados na partição antes de criar o sistema de arquivos.
- -L NOME Coloca um nome (label) no sistema de arquivos.
- -b NUM Define o tamanho do bloco, em bytes.
- -m NUM Define a porcentagem de espaço em disco reservada para manutenção (por padrão reservado para o root, mas isto é alterável).
Agora para acessar a partição deverá ser usado o comando: mount /dev/hda? /mnt -t ext2
Para mais detalhes veja [#s-disc-montagem Montando (acessando) uma partição de disco, Seção 5.13].
Note que é possível criar um sistema de arquivos no disco rígido sem criar uma partição usando /dev/hda
, /dev/hdb
, etc. EVITE FAZER ISSO! Como não estará criando uma partição, o disco estará divido de maneira incorreta, você não poderá apagar o sistema de arquivos completamente do disco caso precise (lembre-se que você não criou uma partição), e a partição possui uma assinatura apropriada que identifica o sistema de arquivos.
O espaço padrão reservado na partição para o usuário root é de 5%. Em sistemas com partições maiores que 3Gb, isso pode representar uma grande quantidade de espaço em disco não utilizada por outros usuários. Veja a opção -m sobre como fazer esta modificação. Caso já tenha criado a partição, isto pode ser feito no tune2fs
com a opção -m.
Criando um sistema de arquivos EXT2 em um arquivo
editarÉ possível criar um sistema de arquivos EXT2 em um arquivo que poderá ser montado e acessado normalmente como se fosse uma partição normal. Isto é possível por causa do recurso loop oferecido pelo kernel do GNU/Linux
. Os dispositivos de loop estão disponíveis no diretório /dev
com o nome loop?
(normalmente estão disponíveis 8 dispositivos de loop).
Isto é possível usando o comando dd
e o mkfs.ext2
. Veja passo a passo como criar o sistema de arquivos EXT2 em um arquivo:
- Use o comando dd if=/dev/zero of=/tmp/arquivo-ext2 bs=1024 count=10000 para criar um arquivo
arquivo-ext2
vazio de 10Mb de tamanho em/tmp
. Você pode modificar os parâmetros de of para escolher onde o arquivo será criado, o tamanho do arquivo poderá ser modificado através de count
- Formate o arquivo com mkfs.ext2 /tmp/arquivo-ext2. Ele primeiro dirá que o arquivo
arquivo-ext2
não é um dispositivo de bloco especial (uma partição de disco) e perguntará se deve continuar, responda com y.
O sistema de arquivos EXT2 será criado em /tmp/arquivo-ext2
e estará pronto para ser usado.
- Monte o arquivo
arquivo-ext2
com o comando: mount /tmp/arquivo-ext2 /mnt -o loop=/dev/loop1. Note que foi usado o parâmetro -o loop para dizer ao comandomount
para usar os recursos de loop do kernel para montar o sistema de arquivos.
- Confira se o sistema de arquivos EXT2 em
arquivo-ext2
foi realmente montado no sistema de arquivos digitando df -T. Para detalhes, veja [ch-cmdv.html#s-cmdv-df df, Seção 10.3].
Pronto! o que você gravar para /mnt
será gravado dentro do arquivo /tmp/arquivo-ext2
. Como foi criado um sistema de arquivos EXT2 em arquivo-ext2
, você poderá usar todos os recursos da partição EXT2 normal, como permissões de arquivos e diretórios, links simbólicos, etc.
O uso da opção loop=/dev/loop1 permite que o dispositivo /dev/loop1
seja associado ao arquivo /arquivo-ext2
e assim permitir sua montagem e uso no sistema.
- Você poderá usar apenas -o loop com o comando
mount
, assim o kernel gerenciará automaticamente os dispositivos de loop. - Caso faça isto manualmente, lembre-se de usar dispositivos /dev/loop? diferentes para cada arquivo que montar no sistema. Pois cada um faz referência a um único arquivo.