Guia do Linux/Iniciante+Intermediário/Discos e Partições/Partição EXT2 (Linux Native)

Origem: Wikilivros, livros abertos por um mundo aberto.

Partição EXT2 (Linux Native)[editar | editar código-fonte]

A 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[editar | editar código-fonte]

O 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 | editar código-fonte]

É 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:

  1. 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
  1. 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.

  1. 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 comando mount para usar os recursos de loop do kernel para montar o sistema de arquivos.
  1. 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.