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