Nesta aula, vamos explorar os fundamentos do gerenciamento de discos e montagem de sistemas de arquivos no Linux. Você aprenderá a visualizar a estrutura de discos, verificar o uso de espaço, montar e desmontar dispositivos e entender os sistemas de arquivos mais utilizados. Essas habilidades são essenciais para qualquer administrador de sistemas ou usuário avançado que precise gerenciar armazenamento de forma eficiente e segura.

Dominar esses comandos permite que você controle o acesso a dispositivos de armazenamento, realize manutenção, configure novos discos e resolva problemas de espaço. Além disso, entender como o Linux organiza e monta sistemas de arquivos é fundamental para o gerenciamento de servidores, ambientes de desenvolvimento e até mesmo para o uso diário do seu computador pessoal.

mount e umount

O comando mount é usado para montar sistemas de arquivos, ou seja, tornar um dispositivo de armazenamento (como uma partição de disco, um pendrive ou uma imagem ISO) acessível dentro da árvore de diretórios do Linux. Quando você monta um dispositivo, ele é associado a um diretório específico (o ponto de montagem), e a partir desse diretório você pode acessar os arquivos contidos no dispositivo.

O comando umount (ou unmount) faz o oposto: desmonta o sistema de arquivos, liberando o dispositivo para ser removido com segurança ou para que a partição possa ser desativada. É importante sempre desmontar corretamente antes de remover um dispositivo físico para evitar corrupção de dados.

Vejamos alguns exemplos práticos:

# Montar um dispositivo /dev/sdb1 no diretório /mnt/dados
sudo mount /dev/sdb1 /mnt/dados

# Verificar todos os sistemas de arquivos montados
mount

# Montar com opções específicas (por exemplo, somente leitura)
sudo mount -o ro /dev/sdb1 /mnt/dados

# Desmontar o dispositivo
sudo umount /mnt/dados

# Desmontar pelo dispositivo
sudo umount /dev/sdb1

É possível também usar o arquivo /etc/fstab para configurar montagens automáticas na inicialização do sistema. Esse arquivo define quais dispositivos devem ser montados, onde e com quais opções. Exemplo de linha no fstab:

/dev/sdb1  /mnt/dados  ext4  defaults  0  2

Para montar todos os dispositivos listados no fstab, use mount -a. Sempre verifique se o ponto de montagem existe antes de montar; caso contrário, crie-o com mkdir.

lsblk

O comando lsblk (list block devices) exibe informações sobre todos os dispositivos de bloco disponíveis no sistema, como discos rígidos, SSDs, pendrives e partições. Ele apresenta uma árvore hierárquica mostrando a relação entre discos físicos e suas partições, além de informações como tamanho, tipo, ponto de montagem e sistema de arquivos.

Esse comando é muito útil para identificar rapidamente quais dispositivos estão conectados e como estão particionados, sem precisar ler arquivos como /proc/partitions ou usar ferramentas mais complexas.

Exemplo de uso:

lsblk

A saída típica inclui colunas como:

  • NAME: nome do dispositivo (ex.: sda, sdb1).
  • MAJ:MIN: números de dispositivo principal e secundário.
  • RM: se é removível (1) ou não (0).
  • SIZE: tamanho total do dispositivo.
  • RO: somente leitura (1) ou leitura/gravação (0).
  • TYPE: tipo (disk, part, rom, etc.).
  • MOUNTPOINTS: ponto de montagem atual (se estiver montado).

Para uma visualização mais detalhada, use opções como -f para mostrar o sistema de arquivos, -t para exibir informações adicionais e -o para selecionar colunas específicas. Exemplo:

lsblk -f

Isso mostrará o tipo de sistema de arquivos e o UUID de cada partição, informações úteis para configuração no fstab.

df

O comando df (disk free) é usado para exibir o uso de espaço em disco dos sistemas de arquivos montados. Ele mostra o total, o usado, o disponível e a porcentagem de uso de cada partição, além do ponto de montagem.

É uma ferramenta essencial para monitorar o espaço em disco e identificar quando é necessário limpar arquivos ou expandir partições.

Exemplos:

# Uso básico
df

# Exibir em formato legível (com unidades como KB, MB, GB)
df -h

# Exibir apenas sistemas de arquivos do tipo ext4
df -t ext4

# Exibir informações em blocos de 1K
 df

A saída do df inclui colunas como Filesystem (dispositivo), Size, Used, Avail, Use% e Mounted on. A opção -h é a mais comum para facilitar a leitura.

Outra opção útil é -i para mostrar o uso de inodes, que pode ser relevante quando há muitos arquivos pequenos.

df -i

Monitorar o uso de disco com df é uma prática recomendada para evitar que partições fiquem cheias, o que pode causar falhas no sistema.

Sistemas de arquivos (visão geral)

Um sistema de arquivos é a estrutura lógica que o sistema operacional usa para organizar e armazenar dados em um dispositivo de armazenamento. O Linux suporta diversos sistemas de arquivos, cada um com suas características, vantagens e desvantagens.

Os mais comuns incluem:

  • ext4: é o sistema de arquivos padrão para a maioria das distribuições Linux. Oferece boa performance, suporte a journaling (recuperação de falhas) e tamanhos de arquivo/partição grandes.
  • XFS: excelente para grandes arquivos e alto desempenho, especialmente em servidores. Também possui journaling.
  • Btrfs: mais moderno, com suporte a snapshots, compressão e volumes lógicos. É ideal para sistemas que precisam de recursos avançados.
  • ZFS: embora não seja nativo, é muito usado em servidores por sua confiabilidade e recursos de gerenciamento de armazenamento.
  • FAT32 e exFAT: sistemas de arquivos da Microsoft, compatíveis com muitos dispositivos (pendrives, câmeras). O exFAT é melhor para arquivos grandes.
  • NTFS: sistema de arquivos do Windows, que pode ser lido/gravado no Linux com drivers como ntfs-3g.
  • Swap: não é um sistema de arquivos tradicional, mas uma área de troca para memória virtual.

Para criar um sistema de arquivos, usa-se o comando mkfs, por exemplo:

# Criar um sistema de arquivos ext4 em /dev/sdb1
sudo mkfs.ext4 /dev/sdb1

É importante escolher o sistema de arquivos adequado ao caso de uso: para pendrives e compatibilidade, FAT32 ou exFAT; para partições do sistema, ext4 ou XFS; para dados críticos, Btrfs ou ZFS.

Você pode verificar o sistema de arquivos de um dispositivo com lsblk -f ou blkid.

Boas práticas

Ao trabalhar com discos e montagem, siga estas recomendações:

  • Sempre desmonte um dispositivo antes de removê-lo fisicamente.
  • Use pontos de montagem padrão como /mnt ou /media para dispositivos temporários.
  • Configure /etc/fstab com cuidado, pois erros podem impedir a inicialização do sistema.
  • Monitore regularmente o espaço em disco com df e du.
  • Faça backup de dados importantes antes de modificar partições.

Referências

Exercícios

  1. Qual comando você usaria para listar todos os dispositivos de bloco no sistema, mostrando também o sistema de arquivos e o UUID? Escreva o comando e explique a saída esperada.

    ✓ Resposta: O comando é lsblk -f. Ele exibe uma árvore com cada dispositivo, suas partições, o sistema de arquivos (FSTYPE) e o UUID. Exemplo de saída:
    NAME   FSTYPE UUID                                 MOUNTPOINT
    sda
    └─sda1 ext4   123e4567-e89b-12d3-a456-426614174000 /
  2. Explique a diferença entre montar um sistema de arquivos com o comando mount e configurá-lo no arquivo /etc/fstab. Dê um exemplo de linha no fstab para montar um dispositivo automaticamente.

    ✓ Resposta: O comando mount monta manualmente, e a configuração no fstab permite montagem automática na inicialização. Exemplo de linha no fstab:
    /dev/sdb1  /mnt/dados  ext4  defaults  0  2
    O fstab especifica o dispositivo, ponto de montagem, sistema de arquivos, opções, dump e fsck.
  3. Como você verificaria o espaço em disco de todas as partições montadas em formato legível (com unidades humanas)? Qual comando e opção usaria?

    ✓ Resposta: Use df -h para exibir o espaço em disco em formato legível (ex.: 20G, 500M).
  4. Descreva o que acontece ao executar o comando sudo umount /mnt/dados e por que é importante desmontar antes de remover um dispositivo físico.

    ✓ Resposta: O comando desmonta o dispositivo, garantindo que todos os dados pendentes sejam gravados e que o sistema de arquivos seja fechado corretamente. Isso evita corrupção de dados e danos ao dispositivo.
  5. Cite três sistemas de arquivos suportados pelo Linux e indique uma situação em que cada um seria mais adequado.

    ✓ Resposta: Exemplos: ext4 (sistema padrão para instalação Linux), XFS (para grandes arquivos em servidores), Btrfs (para snapshots e compressão). FAT32/exFAT (para compatibilidade com dispositivos externos).