sistemas de arquivos

Partições

Podemos dividir um disco rígido em várias partes ou partições, onde cada partição é independente das outras, ou seja, cada partição pode ter o seu próprio sistema de arquivo. Isto significa que uma partição do disco não interfere nas outras partições. Podemos, por exemplo, instalar o Linux em uma partição e o Windows em outra partição.

Um disco pode ser dividido em até 4 partições. Uma partição pode ser primária ou estendida. Sendo que, no máximo, apenas uma partição pode ser do tipo estendida. Isto significa que você pode ter 4 partições primárias ou 3 partições primárias e uma partição estendida. É possível dividir uma partição estendida em partições menores chamadas de partições lógicas (a partição estendida não armazena dados e sim, outras partições lógicas). Não é possível, entretanto, dividir uma partição primária.

A tabela onde são armazenadas as informações sobre as partições fica no primeiro setor do disco e chama-se MBR (Master Boot Record). Por questões históricas, esta tabela possui apenas 4 entradas onde cada entrada descreve uma única partição.

Deve-se colocar o Windows em uma partição primária, pois este sistema operacional não consegue inicializar numa partição lógica, enquanto o Linux não possui nenhuma restrição. Por outro lado, o Linux requer na sua instalação a criação de pelo menos duas partições, uma para instalar o próprio Linux (partição Linux nativo) e a outra para servir de memória auxiliar para o Linux (partição de swap ou troca). A partição Linux nativo é conhecida por diretório raiz do Linux e é representada por /.

O programa mais comumente usado no Linux para particionar discos é o fdisk. O problema com este aplicativo é que ele destrói os dados armazenados ao particionar o disco.

Sistemas de arquivos

  • Um sistema de arquivos é um conjunto de estruturas lógicas que permite o sistema operacional controlar o acesso a um dispositivo de armazenamento como disco rígido, pen drive, cd-room, etc. Diferentes sistemas operacionais podem usar diferentes sistemas de arquivos.
  • Atualmente, o NTFS (New Technology File System) é o sistema de arquivos padrão do Windows, enquanto o ext4 é o do Linux.
  • Para verificar quais os sistemas de arquivos que o seu Linux suporta, basta verificar o conteúdo do arquivo /proc/filesystems.
  • O suporte para diferentes sistemas de arquivos pode ser obtido através de módulos de kernel carregáveis no diretório /lib/modules/XXX/kernel/fs, onde XXX é a versão atual do Linux.
  • Para ver as partições do seu sistema, veja o arquivo /etc/fstab.

Linux

No Linux, um diretório (corresponde ao conceito de pasta do Windows) pode ter outros diretórios ou arquivos. Dizemos que um diretório é filho de outro diretório quando ele está logo abaixo do diretório em questão. O diretório que está um nível acima é chamado de diretório pai.

O diretório raiz do Linux (ou diretório /) é o diretório com maior hierarquia entre todos os diretórios do sistema. Isto significa que todos os diretórios do Linux ficam abaixo deste diretório. A seguir são apresentados exemplos de diretórios que normalmente ficam abaixo do diretório raiz.

  • bin – diretório com os comandos disponíveis para os usuários comuns (não privilegiados).
  • boot – diretório com os arquivos estáticos do boot de inicialização.
  • dev – diretório com as definições dos dispositivos de entrada/saída.
  • etc – diretório com os arquivos de configuração do sistema.
  • home – diretório que armazena os diretórios dos usuários do sistema.
  • lib – diretório com as bibliotecas e módulos (carregáveis) do sistema.
  • lost+found – é usado pelo fsck para armazenar arquivos/diretórios/devices corrompidos.
  • media – ponto de montagem temporário para mídias removíveis.
  • mnt – ponto de montagem temporário para sistemas de arquivos.
  • opt – softwares adicionados pelos usuários.
  • proc – diretório com informações sobre os processos do sistema.
  • root – diretório home do root.
  • run – armazena arquivos temporários da inicialização do sistema.
  • sbin – diretório com os aplicativos usados na administração do sistema.
  • snap – diretório com pacotes snaps (podem ser executados em diferentes distribuições Linux).
  • srv – dados para serviços providos pelo sistema.
  • sys – contém informações sobre  devices, drivers e características do kernel.
  • tmp – diretório com arquivos temporários.
  • usr – diretório com aplicativos e arquivos utilizados pelos usuários como, por exemplo, o sistema de janelas X, jogos, bibliotecas compartilhadas, programas de usuários e de administração, etc.
  • var – diretório com arquivos de dados variáveis (spool, logs, etc).

Para ver os diretórios e arquivos que ficam abaixo do diretório /, basta usar o comando ls.

ls /

Convém também observar que é possível colocar os subdiretórios do diretório raiz em partições separadas. O objetivo é facilitar a manutenção do sistema e aumentar a segurança dos dados. Portanto, a distribuição do diretório raiz em várias partições é uma escolha pessoal do administrador do sistema. Normalmente, é sugerido que os seguintes diretórios possuam uma partição própria: /home, /opt, /tmp, /usr e /usr/local.

Tipos de Sistemas de Arquivos

A escolha do sistema de arquivos depende do sistema operacional utilizado. Abaixo, alguns exemplos de sistemas de arquivos suportados por determinados sistemas operacionais.

Sistema operacional sistema de arquivos suportados
Linux EXT3, EXT4, XFS, JFS
MacOS HFS
Windows FAT, HPFS, NTFS
FreeBSD, OpenBSD UFS
Sun Solaris UFS
IBM AIX JFS

 

  • EXT3 (third extended filesystem) – foi adotado como padrão Linux a partir de 2001. Introduziu o registro (journal) que melhora a confiabilidade e permite recuperar o sistema em caso de desligamento não programado. EXT3 suporta 16TB (1 terabyte corresponde a 240 bytes) de tamanho máximo no sistema de arquivos, e 2TB de tamanho máximo de um arquivo. Um diretório pode ter, no máximo, 32.000 subdiretórios.
  • EXT4 (fourth extended filesystem) – passou a ser o padrão Linux a partir de 2008. EXT4 suporta 1EB (1 exabyte corresponde a 260 bytes) de tamanho máximo de sistema de arquivos e 16TB de tamanho máximo de arquivos. É possível ter um número ilimitado de subdiretórios
  • XFS (Extended Filesystem) – usado como padrão por algumas distribuição Linux desde 2014. XFS é um sistema de arquivos desenvolvido em 64 bits, compatível com sistemas de 32 bits. Ele suporta até 16 EB de tamanho total do sistema de arquivos e até 8 EB de tamanho máximo para um arquivo individual. É considerado um sistema de arquivos de alto desempenho.
  • JFS (Journaled File System) – é um sistema de arquivos de 64 bits com journaling desenvolvido pela IBM.
  • HFS (Hierarchical File System) – é um sistema de arquivos proprietário da Apple.
  • FAT (File Allocation Table) – é um sistema desenvolvido para o MS-DOS e usado em versões do Microsoft Windows até o Windows 95. É suportado praticamente por todos os sistemas operacionais existentes. Existem 3 versões do sistema: FAT (12 bits, usado pelos disquetes), FAT16 (para OS 16 bits ou 32 bits) e FAT32 (só para SO a 32 bits)
  • NTFS (New Technology File System) é o sistema de arquivos padrão do sistema operacional Microsoft Windows. São algumas características deste tipo de sistema: aceita volumes de até 2 TB; o tamanho do arquivo é limitado apenas pelo tamanho do volume; é um sistema de arquivos muito mais seguro que o FAT; NTFS podem se recuperar de um erro mais facilmente.
  • HPFS –  é o sistema de arquivos utilizado pelo OS/2 da IBM, com recursos que se aproximam muito dos permitidos pelo NTFS.
  • UFS (Unix File System) – é um sistema de arquivos usado por muitos sistemas operacionais Unix e assemelhados.

 

Sumário      |      Topo