Discos e montagem
Esta aula aborda o gerenciamento de discos e sistemas de arquivos no Linux, com foco em comandos essenciais como mount, umount, lsblk e df. Você aprenderá a visualizar, montar e desmontar dispositivos de armazenamento, além de entender conceitos básicos de sistemas de arquivos.
Nesta aula, vamos explorar o gerenciamento de discos e sistemas de arquivos no Linux, um tema fundamental para qualquer administrador de sistemas ou usuário avançado. Dominar esses conceitos permite que você controle como os dispositivos de armazenamento são acessados, montados e utilizados pelo sistema operacional.
Vamos começar com uma visão geral dos sistemas de arquivos, depois mergulhar em comandos práticos como lsblk, df, mount e umount. Ao final, você terá uma base sólida para gerenciar discos em ambientes Linux.
mount e umount
O comando mount é utilizado para anexar um sistema de arquivos (como uma partição de disco, um pendrive ou uma imagem ISO) a um diretório específico, chamado de ponto de montagem. Isso torna o conteúdo do dispositivo acessível dentro da árvore de diretórios do sistema. O comando umount (ou unmount) faz o oposto: desanexa o sistema de arquivos do ponto de montagem, tornando o dispositivo novamente inacessível e podendo ser removido com segurança.
Para montar um dispositivo, você precisa de privilégios de superusuário (root) ou permissões adequadas. A sintaxe básica é mount [opções] dispositivo ponto_de_montagem. Por exemplo, para montar uma partição /dev/sdb1 em /mnt/dados:
sudo mount /dev/sdb1 /mnt/dadosO comando umount pode ser usado com o ponto de montagem ou com o dispositivo: sudo umount /mnt/dados ou sudo umount /dev/sdb1. É importante desmontar antes de remover dispositivos físicos para evitar perda de dados.
Existem opções úteis, como -t para especificar o tipo de sistema de arquivos (ex.: ext4, ntfs), -o para opções de montagem (ex.: ro para somente leitura, noexec para impedir execução de binários). Um exemplo com opções:
sudo mount -t ext4 -o ro /dev/sdb1 /mnt/dadosPara ver todas as montagens atuais, basta executar mount sem argumentos, ou usar findmnt para uma saída mais legível.
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 suas partições. Ele apresenta uma visão em árvore que mostra a hierarquia dos dispositivos, incluindo relações de dependência (por exemplo, quais partições pertencem a qual disco).
A saída padrão de lsblk inclui colunas como NAME (nome do dispositivo), MAJ:MIN (números major/minor), RM (removível), SIZE (tamanho), RO (somente leitura), TYPE (tipo do dispositivo, como disk ou part) e MOUNTPOINT (ponto de montagem, se houver). Exemplo:
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 50G 0 part /
├─sda2 8:2 0 1K 0 part
└─sda5 8:5 0 50G 0 part /home
sdb 8:16 1 32G 0 disk
└─sdb1 8:17 1 32G 0 part /mnt/usbCom lsblk, você pode identificar rapidamente os dispositivos disponíveis e onde estão montados, o que é essencial antes de montar ou desmontar algo. Opções úteis incluem -f para mostrar o sistema de arquivos e o UUID, e -t para exibir informações adicionais como o tipo de sistema de arquivos.
df
O comando df (disk free) mostra o espaço em disco utilizado e disponível nos sistemas de arquivos montados. É uma ferramenta essencial para monitorar o uso de armazenamento. A saída típica de df -h (modo legível para humanos) exibe o tamanho total, o espaço usado, o espaço disponível, a porcentagem de uso e o ponto de montagem.
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 50G 20G 28G 42% /
/dev/sda5 50G 15G 33G 32% /home
/dev/sdb1 32G 10G 20G 34% /mnt/usbO comando df é útil para verificar se um disco está cheio, identificar partições que precisam de limpeza ou dimensionamento, e para relatar o uso de espaço em scripts. Opções comuns incluem -h (humano), -T (mostrar tipo de sistema de arquivos), -i (mostrar inodes em vez de blocos).
Sistemas de arquivos (visão geral)
Um sistema de arquivos (filesystem) é a estrutura lógica que organiza e armazena arquivos em um dispositivo de armazenamento. Ele define como os dados são nomeados, armazenados, recuperados e gerenciados. No Linux, existem vários sistemas de arquivos, cada um com suas características, vantagens e desvantagens.
Os mais comuns são:
- ext4: o sistema de arquivos padrão para muitas distribuições Linux. Oferece robustez, suporte a journaling (recuperação de falhas) e suporta arquivos grandes.
- XFS: excelente para alto desempenho e grandes volumes de dados, muito usado em servidores.
- Btrfs: moderno, com recursos avançados como snapshots, compressão e subvolumes.
- NTFS: usado pelo Windows, suportado pelo Linux (principalmente para leitura/escrita via drivers como ntfs-3g).
- FAT32/exFAT: sistemas de arquivos simples e compatíveis com muitos dispositivos (pendrives, câmeras), mas com limitações de tamanho de arquivo (FAT32) ou menos recursos.
Para criar um sistema de arquivos em uma partição, usa-se o comando mkfs (por exemplo, mkfs.ext4 /dev/sdb1). Isso apagará todos os dados existentes na partição, portanto, deve ser usado com cuidado. A escolha do sistema de arquivos depende do uso: para sistemas críticos, ext4 é uma escolha segura; para grandes volumes com muitos dados, XFS pode ser melhor; para necessidades avançadas, Btrfs oferece funcionalidades extras.
Boas práticas
- Sempre desmonte um dispositivo antes de removê-lo fisicamente (use
umount). - Verifique se o dispositivo está montado antes de tentar desmontar com
lsblkoumount. - Use
df -hregularmente para monitorar o espaço em disco e evitar surpresas. - Prefira usar UUIDs em vez de nomes de dispositivo (ex.:
/dev/sdb1) em arquivos como/etc/fstabpara montagens automáticas, pois os nomes de dispositivo podem mudar. - Cuidado com o comando
mkfs: ele destrói dados irreversivelmente. Sempre faça backup.
Exercícios
Qual é a diferença entre
mounteumount? Dê um exemplo de uso de cada um.✓ Resposta:mountanexa um sistema de arquivos a um diretório (ponto de montagem), tornando-o acessível.umountdesanexa-o. Exemplo:sudo mount /dev/sdb1 /mnt/dadosesudo umount /mnt/dados.Use
lsblkpara listar os dispositivos de bloco e identifique o ponto de montagem da raiz (/). Qual é o dispositivo?✓ Resposta: A resposta depende do sistema, mas geralmente é algo como/dev/sda1ou/dev/nvme0n1p2. Para verificar, rodelsblke observe a coluna MOUNTPOINT com o valor/.O que o comando
df -hexibe? Explique cada coluna principal.✓ Resposta:df -hmostra o espaço em disco de sistemas de arquivos montados. Colunas: Filesystem (dispositivo), Size (tamanho total), Used (espaço usado), Avail (espaço disponível), Use% (percentual usado), Mounted on (ponto de montagem).Cite três sistemas de arquivos suportados pelo Linux e uma característica de cada um.
✓ Resposta: Exemplos: ext4 (robusto, journaling), XFS (desempenho para grandes volumes), Btrfs (snapshots e compressão).Escreva um comando para montar uma partição
/dev/sdc1(sistema de arquivos ext4) no diretório/mnt/backupem modo somente leitura.✓ Resposta:sudo mount -t ext4 -o ro /dev/sdc1 /mnt/backup