# Guia do Linux/Iniciante+Intermediário/Discos e Partições/Sistema de arquivos reiserfs
## Sistema de arquivos reiserfs

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

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

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 do reiserfs.
** 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.
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 comando mount 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].
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.

### Nomeando uma partição de disco

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

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

Mostra detalhes sobre uma partição Linux. dumpe2fs [opções] [partição] Onde:

#### partição

    Identificação da partição que será usada.

#### -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?

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 documento Loopback-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).
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.