Discos e montagem
Esta aula aborda o gerenciamento de discos e montagem de sistemas de arquivos no Linux, cobrindo comandos essenciais como mount, umount, lsblk e df, além de uma visão geral dos sistemas de arquivos mais comuns. O conteúdo é prático e progressivo, com exemplos e exercícios para fixação.
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 2Para 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:
lsblkA 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 -fIsso 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
dfA 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 -iMonitorar 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
/mntou/mediapara dispositivos temporários. - Configure
/etc/fstabcom cuidado, pois erros podem impedir a inicialização do sistema. - Monitore regularmente o espaço em disco com
dfedu. - Faça backup de dados importantes antes de modificar partições.
Referências
- mount(8) - Linux manual page
- umount(8) - Linux manual page
- lsblk(8) - Linux manual page
- df(1) - Linux manual page
- Ext4 - Linux Kernel Documentation
- File systems - ArchWiki
- Filesystems - Linux Kernel Documentation
Exercícios
- 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 / - Explique a diferença entre montar um sistema de arquivos com o comando
mounte configurá-lo no arquivo/etc/fstab. Dê um exemplo de linha no fstab para montar um dispositivo automaticamente.✓ Resposta: O comandomountmonta manualmente, e a configuração no fstab permite montagem automática na inicialização. Exemplo de linha no fstab:
O fstab especifica o dispositivo, ponto de montagem, sistema de arquivos, opções, dump e fsck./dev/sdb1 /mnt/dados ext4 defaults 0 2 - 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 -hpara exibir o espaço em disco em formato legível (ex.: 20G, 500M). - Descreva o que acontece ao executar o comando
sudo umount /mnt/dadose 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. - 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).