Guia do Linux/Iniciante+Intermediário/Discos e Partições/Sistema de arquivos reiserfs
Sistema de arquivos reiserfs
[editar | editar código-fonte]Este é um sistema de arquivos alternativo ao ext2/3 que também possui suporte a journaling. Entre suas principais características, estão que ele possui tamanho de blocos variáveis, suporte a arquivos maiores que 2 Gigabytes (esta é uma das limitações do ext3) e o acesso mhash a árvore de diretórios é um pouco mais rápida que o ext3.
Para utilizar reiserfs
, tenha certeza que seu kernel possui o suporta habilitado (na seção File Systems) e instale o pacote reiserfsprogs
que contém utilitários para formatar, verificar este tipo de partição.
Criando um sistema de arquivos reiserfs em uma partição
[editar | editar código-fonte]Para criar uma partição reiserfs, primeiro instale o pacote reiserfsprogs
(apt-get install reiserfsprogs).
Para criar uma partição reiserfs, primeiro crie uma partição ext2 normal, e então use o comando:
mkreiserfs /dev/hda?
Onde a "?" em hda? significa o número da partição que será formatada com o sistema de arquivos reiserfs. 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 mkreiserfs
:
- -s [num] - Especifica o tamanho do arquivo de journal em blocos. O valor mínimo é 513 e o máximo 32749. O valor padrão é 8193.
- -l [NOME] - Coloca um nome (label) no sistema de arquivos.
- -f - Força a execução do
mkreiserfs
. - -d - Ativa a depuração durante a execução do
mkreiserfs
.
Agora para acessar a partição deverá ser usado o comando: mount /dev/hda? /mnt -t reiserfs
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. usando a opção -f 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.
Criando um sistema de arquivos reiserfs em um arquivo
[editar | editar código-fonte]O sistema de arquivos reiserfs
também poderá ser criado em um arquivo, usando os mesmos benefícios descritos em [#s-disc-ext2-criando-a Criando um sistema de arquivos EXT2 em um arquivo, Seção 5.3.2]. Para fazer isso execute os seguintes passos em sequência:
- Use o comando dd if=/dev/zero of=/tmp/arquivo-reiserfs bs=1024 count=33000 para criar um arquivo
arquivo-reiserfs
vazio de 33Mb 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. Note que o tamanho mínimo do arquivo deve ser de 32Mb, devido aos requerimentos doreiserfs
. - Formate o arquivo com mkreiserfs -f /tmp/arquivo-reiserfs. Ele primeiro dirá que o arquivo
arquivo-reiserfs
não é um dispositivo de bloco especial (uma partição de disco) e perguntará se deve continuar, responda com y.
- Use o comando dd if=/dev/zero of=/tmp/arquivo-reiserfs bs=1024 count=33000 para criar um arquivo
O sistema de arquivos ReiserFS será criado em /tmp/arquivo-reiserfs
e estará pronto para ser usado.
- Monte o arquivo
arquivo-reiserfs
com o comando: mount /tmp/arquivo-reiserfs /mnt -t reiserfs -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. O parâmetro -t reiserfs poderá ser omitido, se desejar. - Confira se o sistema de arquivos ReiserFS em
arquivo-reiserfs
foi realmente montado no sistema de arquivos digitando df -T. Para detalhes, veja [ch-cmdv.html#s-cmdv-df df, Seção 10.3].
- Monte o arquivo
Pronto! o que você gravar para /mnt
será gravado dentro do arquivo /tmp/arquivo-reiserfs
. Você poderá usar todos os recursos de um sistema de arquivos reiserfs 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-reiserfs
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.
- Você poderá usar apenas -o loop com o comando
Nomeando uma partição de disco
[editar | editar código-fonte]O comando e2label
é usado para esta função.
e2label [dispositivo] [nome]
Onde:
- dispositivo
- Partição que terá o nome modificado
- nome
- Nome que será dado a partição (máximo de 16 caracteres). Caso seja usado um nome de volume com espaços, ele deverá ser colocado entre "aspas".
Se não for especificado um nome, o nome atual da partição será mostrado. O nome da partição também pode ser visualizado através do comando dumpe2fs
(veja [#s-disc-dumpe2fs dumpe2fs, Seção 5.7.5]).
Exemplo: e2label /dev/sda1 FocaLinux, e2label /dev/sda1 "Foca Linux"
Criando o diretório especial lost found
[editar | editar código-fonte]O utilitário mklost found
cria o diretório especial lost found
no diretório atual. O diretório lost found
é criado automaticamente após a formatação da partição com o mkfs.ext2
, a função deste diretório é pré-alocar os blocos de arquivos/diretório durante a execução do programa fsck.ext2
na recuperação de um sistema de arquivos (veja [ch-manut.html#s-manut-checagem Checagem dos sistemas de arquivos, Seção 26.1]). Isto garante que os blocos de disco não precisarão ser diretamente alocados durante a checagem.
mklost found
OBS: Este comando só funciona em sistemas de arquivos ext2
Exemplo: cd /tmp;mklost found;ls -a
dumpe2fs
[editar | editar código-fonte]Mostra detalhes sobre uma partição Linux
.
dumpe2fs [opções] [partição]
Onde:
- partição
- Identificação da partição que será usada.
- opções
- -b
- Mostra somente os blocos marcado como defeituosos no sistema de arquivos especificado.
Este comando lista diversas opções úteis do sistema de arquivos como o tipo do sistema de arquivos, características especiais, número de inodos, blocos livres, tamanho do bloco, intervalo entre checagens automáticas, etc. Exemplo: dumpe2fs /dev/sda1, dumpe2fs -b /dev/sda1
Partição EXT2 ou Arquivo?
[editar | editar código-fonte]Criar uma partição EXT2 ou um arquivo usando o loop? Abaixo estão algumas considerações:
- A partição EXT2 é o método recomendado para a instalação do
GNU/Linux
. - O desempenho da partição EXT2 é bem melhor se comparado ao arquivo porque é acessada diretamente pelo Kernel (SO).
- O arquivo EXT2 é útil para guardarmos dados confidenciais em disquetes ou em qualquer outro lugar no sistema. Você pode perfeitamente gravar seus arquivos confidenciais em um arquivo chamado
libBlaBlaBla-2.0
no diretório/lib
e ninguém nunca suspeitará deste arquivo (acho que não...). Também é possível criptografa-lo para que mesmo alguém descobrindo que aquilo não é uma lib, não poder abri-lo a não ser que tenha a senha (isto é coberto no documentoLoopback-encripted-filesystem.HOWTO
). - O uso do arquivo EXT2 é útil quando você está perdendo espaço na sua partição EXT2 e não quer re-particionar seu disco pois teria que ser feita uma re-instalação completa e tem muito espaço em um partição de outro SO (como o Windows).
- A partição EXT2 é o método recomendado para a instalação do
Você poderia facilmente copiar o conteúdo de /var
, por exemplo, para o arquivo EXT2 ext2-l
criado no diretório Raíz do Windows, apagar o conteúdo de /var
(liberando muito espaço em disco) e então montar ext2-l
como /var
. A partir de agora, tudo o que for gravado em /var
será na realidade gravado no arquivo ext2-l
.
Para o sistema acessar o arquivo, deve passar pelo sistema de arquivos loop e FAT32, isto causa um desempenho menor.