Linux - Sistema de arquivos
O Linux suporta diferentes sistemas de arquivos, cada um com suas vantagens, desvantagens e características. Neste artigo irei descrever como manipular os principais sistemas de arquivos por ele suportado.
Sistemas de arquivos suportados pelo Linux
A lista de sistemas de arquivos suportados pelo Linux é muito grande mas, neste artigo, discutirei somente os mais comuns.
Atualmente, uma importante característica dos atuais sistemas de arquivos é o "journaling". Sistemas de arquivos que possuem essa característica são preferidos em detrimento aos que não possuem.
Journaling é um recurso que permite recuperar um sistema após um desastre no disco (ex.: quando um disco está sujo) em uma velocidade muito maior que nos sistemas de arquivos sem journaling.
Segue abaixo uma breve descrição sobre os sistemas de arquivos mais comuns disponíveis para o Linux:
O sistema de arquivos ext2 é conhecido como "Second Extended FileSystem". Foi desenvolvido para ser mais "eficiente" que o sistema de arquivos "Minix", seu antecessor.
O Minix era muito utilizado nas primeiras versões do Linux, e foi utilizado por muitos anos.
O sistema de arquivos ext2 não possui journaling e foi substituído pelo ext3.
O sistema de arquivos ext3 é uma versão do ext2 com suporte a journaling. Portanto, o ext3 tem as mesmas características do ext2, mas com suporte journaling.
Essa característica foi uma evolução e tornou o ext3 um sistema de arquivos muito estável e robusto.
Como no ext3 só foi adicionado o suporte a journaling, podemos converter um sistema de arquivos ext2 para ext3, adicionado suporte a journaling, e também podemos converter um sistema de arquivos ext3 para ext2, removendo o suporte a journaling.
O sistema de arquivos ReiserFS foi criado recentemente. Mas atualmente quase todas as distribuições Linux o suportam.
Sua performance é muito boa, principalmente para um número muito grande de arquivos pequenos.
ReiserFS também possui suporte a journaling.
O sistema de arquivos XFS também possui suporte a journaling. Foi desenvolvido originalmente pela Silicon Graphics e posteriormente disponibilizado o código fonte. O XFS é considerado um dos melhores sistemas de arquivos para banco de dados, pois é muito rápido na gravação.
XFS utiliza muitos recursos de cache com memória RAM, e para utilizar XFS é recomendado utilizar sistemas que possuem redundância de energia.
SWAP é um espaço reservado para troca de dados com a memória RAM.
Em alguns lugares ele não é mencionado como um Sistema de Arquivos, mas resolvi descrever aqui pois faz parte deste artigo.
O sistema de arquivos VFAT é também conhecido como FAT32 (M$ Windows).
O sistema de arquivos VFAT não possui suporte a journaling. É utilizado normalmente para transferir dados entre sistemas M$ Windows e o Linux instalados no mesmo disco, pois pode ser lido e escrito por ambos os sistemas operacionais.
O sistema de arquivos VFAT está longe de ser um sistema de arquivos utilizado para Sistemas Linux, exceto para compartilhamento/compatibilidade entre o M$ Windows e Linux.
Se você utilizar VFAT no Linux, esteja certo de perder alguns atributos, tais como: permissão de execução, links simbólicos, entre outras coisas.
Ambos os sistemas de arquivos ext3 e ReiserFS são maduros o bastante para serem utilizados como padrão no Linux. Esses dois são os mais utilizados pelas distribuições Linux.
Atualmente, uma importante característica dos atuais sistemas de arquivos é o "journaling". Sistemas de arquivos que possuem essa característica são preferidos em detrimento aos que não possuem.
Journaling é um recurso que permite recuperar um sistema após um desastre no disco (ex.: quando um disco está sujo) em uma velocidade muito maior que nos sistemas de arquivos sem journaling.
Segue abaixo uma breve descrição sobre os sistemas de arquivos mais comuns disponíveis para o Linux:
Ext2
O sistema de arquivos ext2 é conhecido como "Second Extended FileSystem". Foi desenvolvido para ser mais "eficiente" que o sistema de arquivos "Minix", seu antecessor.
O Minix era muito utilizado nas primeiras versões do Linux, e foi utilizado por muitos anos.
O sistema de arquivos ext2 não possui journaling e foi substituído pelo ext3.
Ext3
O sistema de arquivos ext3 é uma versão do ext2 com suporte a journaling. Portanto, o ext3 tem as mesmas características do ext2, mas com suporte journaling.
Essa característica foi uma evolução e tornou o ext3 um sistema de arquivos muito estável e robusto.
Como no ext3 só foi adicionado o suporte a journaling, podemos converter um sistema de arquivos ext2 para ext3, adicionado suporte a journaling, e também podemos converter um sistema de arquivos ext3 para ext2, removendo o suporte a journaling.
ReiserFS
O sistema de arquivos ReiserFS foi criado recentemente. Mas atualmente quase todas as distribuições Linux o suportam.
Sua performance é muito boa, principalmente para um número muito grande de arquivos pequenos.
ReiserFS também possui suporte a journaling.
XFS
O sistema de arquivos XFS também possui suporte a journaling. Foi desenvolvido originalmente pela Silicon Graphics e posteriormente disponibilizado o código fonte. O XFS é considerado um dos melhores sistemas de arquivos para banco de dados, pois é muito rápido na gravação.
XFS utiliza muitos recursos de cache com memória RAM, e para utilizar XFS é recomendado utilizar sistemas que possuem redundância de energia.
SWAP
SWAP é um espaço reservado para troca de dados com a memória RAM.
Em alguns lugares ele não é mencionado como um Sistema de Arquivos, mas resolvi descrever aqui pois faz parte deste artigo.
VFAT
O sistema de arquivos VFAT é também conhecido como FAT32 (M$ Windows).
O sistema de arquivos VFAT não possui suporte a journaling. É utilizado normalmente para transferir dados entre sistemas M$ Windows e o Linux instalados no mesmo disco, pois pode ser lido e escrito por ambos os sistemas operacionais.
O sistema de arquivos VFAT está longe de ser um sistema de arquivos utilizado para Sistemas Linux, exceto para compartilhamento/compatibilidade entre o M$ Windows e Linux.
Se você utilizar VFAT no Linux, esteja certo de perder alguns atributos, tais como: permissão de execução, links simbólicos, entre outras coisas.
Ambos os sistemas de arquivos ext3 e ReiserFS são maduros o bastante para serem utilizados como padrão no Linux. Esses dois são os mais utilizados pelas distribuições Linux.
Uma parte muito interessante é a montagem de um sistema de arquivos em um arquivo, esse exemplo mostra-nos como um linux pode se tornar mais seguro ainda do que já é: - Imaginem podermos esconder informações pessoais em um sistema de arquivo que está localizado dentro de um arquivo?
Isso nos faz pensar em muitas possibilidades na segurança da informação; dados que não devem ser acessados ou cair em mão erradas. Técnicas como esta, e em conjunto com outras, são de grande valia hoje em dia.
Parabéns pelo artigo. Continue assim nos presenteando com artigos deste nível. Mais uma vez, Parabéns.