Sistemas de arquivos - Conceitos básicos

Este artigo explica os seguintes conceitos básicos: sistemas de arquivos, área de troca (SWAP), diretório temporário (/tmp), sistemas de arquivos virtuais (/proc, /sys, /dev) e os sistemas de arquivos temporários em RAM (/run). Baseado na estrutura do Debian Jessie (Sid).

[ Hits: 25.605 ]

Por: Perfil removido em 19/05/2014


Sistema de arquivos



Em inglês, sistema de arquivos é escrito como "filesystem" ou "file system". No GNU/Linux, o nome filesystem serve para identificar dois conceitos distintos:

1. Chamamos de sistema de arquivos, a estrutura lógica da árvore de diretórios. Essa estrutura é formada pela raiz do sistema, representada pelo diretório barra (/), e pelos subdiretórios abaixo dessa raiz.

A localização dos diretórios e de alguns arquivos essenciais, é definida no documento Filesystem Hierarchy Standard (FHS). O sistema de arquivos FHS é específico das distribuições GNU/Linux que seguem o padrão LSB - Linux Standard Base.
Linux: Sistemas de arquivos - Conceitos básicos
2. A expressão "sistema de arquivos", também se refere ao tipo de filesystem que utilizamos para formatar uma partição. Assim, são sistemas de arquivos no Linux:
  • ext3;
  • ext4;
  • XFS;
  • JFS;
  • ISO9660;
  • UDF;
  • VFAT;
  • SWAP e vários outros.

Para que um sistema de arquivos funcione no Linux, ele DEVE ser compilado junto ao KERNEL e isso pode ser feito de dois modos distintos:
  1. Compilação estática :: O código do filesystem é compilado junto ao código do kernel e não pode ser removido (descarregado) da memória RAM. Para atualizar esse código, é preciso recompilar o kernel todo.
  2. Compilação dinâmica :: O código do filesystem é compilado como um módulo do kernel, sendo carregado no momento do boot (initrd) ou a qualquer tempo, quando for necessário para efetuar a montagem de uma partição formatada com esse sistema de arquivo. Para atualizar o código do sistema de arquivos, basta recompilar o módulo. Obs.: um módulo só pode ser removido da memória se não estiver em uso!

Para saber quais sistemas de arquivos estão compilados como módulo no seu kernel, faça:

# ls /lib/modules/$(uname -r)/kernel/fs
9p    befs      cifs   efivarfs freevxfs isofs mbcache.ko nilfs2 qnx4   sysv
adfs   bfs       coda   efs    fscache  jbd2  minix    nls   qnx6   ubifs
affs   binfmt_misc.ko configfs exofs   fuse   jffs2 ncpfs    ntfs  quota   udf
afs   btrfs      cramfs  ext4   gfs2   jfs  nfs     ocfs2  reiserfs ufs
aufs   cachefiles   dlm    f2fs   hfs    lockd nfs_common omfs  romfs   xfs
autofs4 ceph      ecryptfs fat    hfsplus  logfs nfsd    pstore squashfs


A lista a seguir, mostra os sistemas de arquivo EM USO (carregados na memória RAM):

# cat /proc/filesystems
nodev  sysfs
nodev  rootfs
nodev  ramfs
nodev  bdev
nodev  proc
nodev  cgroup
nodev  cpuset
nodev  tmpfs
nodev  devtmpfs
nodev  debugfs
nodev  securityfs
nodev  sockfs
nodev  pipefs
nodev  anon_inodefs
nodev  devpts
nodev  hugetlbfs
nodev  pstore
nodev  mqueue
          ext3
          ext2
          ext4
          vfat


Sistemas de arquivos marcados como nodev, são virtuais e NÃO podem ser associados a um dispositivo de bloco.

Um dispositivo de bloco é (tipicamente) um disco rígido ou outro dispositivo, que se comporta como um disco rígido por emulação como: CD, DVD, pendrive ou /dev/loop. Dispositivos de bloco normalmente são montados (mount) para serem utilizados.

Na verdade, alguns dos sistemas listados anteriormente, não são sistemas de arquivos verdadeiros, mas subsistemas do kernel implementados na forma de sistemas de arquivos.

Os sistemas procfs e sysfs são exemplos de sistemas de arquivos virtuais, que veremos adiante.

    Próxima página

Páginas do artigo
   1. Sistema de arquivos
   2. Área de troca ou SWAP
   3. O diretório temporário ou /tmp
   4. Sistemas de arquivos virtuais
   5. Sistemas de arquivos temporários em memória RAM
Outros artigos deste autor

Importando e-mails do MS Outlook para o Evolution ou Kmail

Criando uma aplicação que mostra os processos em execução

Configurando servidor Samba como Workgroup no Slackware

wpa_supplicant.conf - Configuração para WPA2-PSK

Introduzindo prazerosamente aos poucos... o shell script

Leitura recomendada

Sistemas de arquivos para GNU/Linux

Acessando disquetes no Linux

Owncloud com autenticação no Active Directory

Dificuldade para instalar o Ubuntu em uma placa mãe com UEFI?

Desvendando os filesystems

  
Comentários
[1] Comentário enviado por JFurio em 19/05/2014 - 09:05h

Parabéns pelo artigo, ficou muito bom, esclareceu muito com relação ao SWAP!

[2] Comentário enviado por jwolff em 19/05/2014 - 17:17h

Favoritado!

[3] Comentário enviado por izaias em 19/05/2014 - 17:26h

Sempre aprendo muito com esse cara!

Houve um tempo que tinha desistido da SWAP.

Nessa nova instalação fiz tudo certo, agora tenho tenho área de troca do tamanho de minha RAM, para todo e qualquer sistema que precisar.


Ótimo e muito útil esse artigo!

[4] Comentário enviado por mcnd2 em 20/05/2014 - 19:42h

10!...

Sempre é bom aprender de como o sistema realmente funciona com seus arquivos de configurações.

Favoritado.

[5] Comentário enviado por albfneto em 21/05/2014 - 07:18h

Muito bom esse Artigo.
Artigos de Teoria Linux, são sempre interessantes e benvindos.
Favoritado e 10.

[6] Comentário enviado por saint-zeppelin em 28/08/2014 - 11:32h

Cara, desculpa o nível da pergunta hahaha mas quando você diz "sistema de produção" a qual tipo de sistema, exatamente, você está se referindo?

No mais parabéns pelo artigo! MUITO esclarecedor (:

[7] Comentário enviado por alysonpires em 31/08/2014 - 19:35h

Cara, o material é tão bom que não dá pra considerar como "conceitos BÁSICOS". Isso é mais que básico! Material muito bom! Parabéns :D

[8] Comentário enviado por darkoverde em 21/11/2014 - 12:00h

Excelente artigo.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts