terça-feira, 20 de março de 2012

Sistema de Arquivos Linux



Oque é um sistema de Arquivos ?
Sistema de arquivos é maneira como os dados são organizados no meio de armazenamento. O sistema de arquivos é uma forma de criar uma estrutura lógica de acesso aos dados numa partição. Não sendo possível ter dois ou mais tipos de sistema na mesma partição.


O Linux suporta arquivos regulares, arquivos de diretório, arquivos especiais de caracteres e arquivos especiais blocados.
  • Arquivos regulares: São aqueles que contem informações dos usuários. Ex: tipo ASCII.
  • Arquivos de diretório: Arquivos usados na manutenção do sistema de arquivos.
  • Arquivos especiais de caracteres:  Diretamente ligado a entrada/saída, tais como terminais, impressoras e rede.
  • Arquivos especiais blocados: Usados para modelar dispositivos.


SISTEMA DE ARQUIVOS NO LINUX
O sistema de arquivos do Linux é a estrutura de organização de arquivos em formato de árvore, que permite:
  • Hierarquia(de diretórios e arquivos)
  • Proteção das informações
  • compartilhamento de arquivos
O Linux suporta diversos sistemas de arquivos. Atualmente os sistemas de arquivos que possuem "journaling" são preferíveis aos que não tem.

Journaling característica que dá permissão ao sistema operacional de manter um log (journal), de todas as mudanças no sistema de arquivos antes de escrever os dados no disco e assim permitindo recuperar o disco após um desastre em uma velocidade maior comparando ao sistemas que não tem.

Sistemas de arquivos mais usados:
  • Ext2 :  Conhecido como " Second Extend FileSystem". Projetado para substituir e corrigir as deficiências do EXT e promover um sistema que respeita-se a semântica do UNIX. O sistema de arquivos Ext2 não possui journaling e foi substituído pelo Ext3
  • Ext3: é uma versão do ext2 que suporta journaling, tornando o ext3 muito estável e robusto.
  • ReiserFS: Mantêm um log das transações efetuadas no disco, este log é gravado em disco e quando há quedas de energia o log sempre nos fornece uma posição consistente do disco. Possui suporte a Journaling e tem uma excelente performance. 
  • XFS: Considerado um dos melhores sistemas de arquivos para banco de dados. Possui Journaling.
  • SWAP: espaço reservado para a troca de dados com a memória RAM (alguns não consideram Sistema de arquivo)
  • VFAT: Também conhecido como FAT32, não possui journaling. É usado normalmente para transferir dados entre windows e linux instalado no mesmo disco.
Para criar sistema de arquivos utiliza-se o comando: MKFS.
sintaxe é : # mkfs [opção] dispositivo [blocos]


Opções :
  •  -c             = Verifica a existência de bad blocks no dispositivo.
  • -L nome     = Configura o nome para o dispositivo.
  • -n nome     = Configura o nome do dispositivo para formato msdos.
  • -q              = Faz com que o mkfs trabalhe com o minimo de saída no video
  • -v              = Faz com que o mkfs trabalhe com o máximo de saída do video
  • -t              = especifica o tipo de sistema de arquivos a ser criado

Dispositivos: o arquivo especial correspondente ao dispositivo

Blocos: quantidade de blocos a ser utilizada pelo sistema de arquivos.

Exemplo : usuario: #mkfs -t ext3 -L discoPrincipal /dev/hda1
Nesse exemplo estou atribuindo o tipo sistema de arquivos para "ext3" dando o nome do disco de "disco Principal" e informando em qual disco do computador é para realizar a ação.


DIRETÓRIOS 
No Linux todos os arquivos estão arranjados em uma única árvore hierárquica onde o usuário não precisa se preocupar com discos específicos como C; D; etc...

Navegando no sistema de arquivos
A partir do comando "ls -p" partindo da raiz ("/") sera listada as pastas do sistema.

bin/   dev/  home/    lib/         misc/  opt/   root/  tmp/  var/
boot/  etc/  initrd/  lost+found/  mnt/   proc/  sbin/  usr/

/sbin: Diretório onde esta os arquivos vitais para o sistema Linux, referente a administração e manutenção de hardware e software. Exemplo de arquivo é o "ifconfig" responsável pela configuração de de enderaçamento IP.

/bin: Armazena comandos de shell como bash e csh e comandos bastante utilizados como cp, mv, rm, cat, etc..

/usr/sbin: Contem arquivos binários utilizado pelo administrador do sistema, arquivos que apenas o administrador tem acesso.

/usr/bin: Contem arquivos binários referente aos usuários do sistema. Estes binários não são essenciais ao usuário se comparados com a pasta /bin

/boot: Este diretório contem o arquivo system.map e o kernel do Linux. Os bootloaders (LILO e GRUB) colocam o backup do setor de boot neste diretório

/dev: Nele estão contidos os arquivos que representam partições, devices, dentre outros dispositivos. Aqui encontramos arquivos como hda1, hda2, cdrom, etc. E cada arquivo representa um dispositivo
reconhecido e instalado

/etc: Neste diretório ficam todos os arquivos de configuração de seu sistema Linux. Encontra-se arquivos para configurar resolução de DNS (resolv.conf) e Lilo (lilo.conf) entre outros.

/home:  Onde fica as pastas de arquivos de cada usuário (home directory)

/lib:Contem todas as libraries que devem ser comuns a todo o sistema. Este diretório pode ser comparado ao diretório System32 do windons, utilizado para armazenar e compartilhar as DLLs

/lost+found: Sempre que um arquivo for corrompido ele poderá ser encontrado nesse diretório.

/mnt: Diretório chamado de "mount point" (ponto de montagem), onde serão colocados todas as montagens do sistema.

/opt: Contem todos os softwares e pacotes de add-on que não fazem parte da instalação padrão do seu linux.

/proc: podemos dizer que é um pseudo-diretório, que faz track de processos ativos na máquina, status do sistema, dentre outras informações.

/root: É o home directory do usuário root.

/tmp: Armazena os arquivos que são utilizados por curto periodos de tempo. Este diretório é limpo durante o boot e shutdown de seu sistema.

/usr: Neste diretório estão armazenados arquivos binarios dos usuários, programas como telnet, ftp, dentre outros.

/var: Diretório padrão dos logs do sistema também, caso você não tenha mudado de lugar. Um arquivo importante de log é o /var/messages, que armazena logs do sistema, regras de iptables, etc.


Fontes:
Fonte 01
Fonte 02
Fonte 03
Fonte 04
Fonte 05 

Nenhum comentário:

Postar um comentário