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

Sistema de arquivos reiserfs

editar

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

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

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:

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

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

editar

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

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

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

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.