Fundamentos de Mount e fstab - Como Anexar Sistemas de Arquivos no Linux
O Que Voce Vai Aprender
- O que significa "montar" no Linux e como funciona
- Como montar manualmente um pen drive USB ou disco adicional
- Como ler e escrever
/etc/fstabpara montagens persistentes - Por que UUID e mais seguro que nomes de dispositivo como
/dev/sdb1 - Como desmontar um dispositivo com seguranca
Resumo Rapido
- Mount = anexar um dispositivo a um diretorio (ponto de montagem) para acessar seus arquivos
- Montagem manual:
sudo mount /dev/sdX /mnt/point - Montagem persistente: escreva em
/etc/fstab-> montado automaticamente em cada boot - Sempre use UUID no fstab -- nomes de dispositivo como
/dev/sdbmudam entre reinicializacoes
Pre-requisitos
- Sistema baseado em Ubuntu / Debian (comandos tambem funcionam em RHEL/CentOS)
mount,umounte edicoes no fstab requerem root (sudo)
O Que E Montagem?
No Linux, voce nao pode acessar um dispositivo de armazenamento ate que ele seja montado. A montagem anexa o dispositivo a um diretorio na arvore do sistema de arquivos, tornando seu conteudo acessivel naquele caminho.
/ <- sistema de arquivos raiz (montado em /) ├── home/ <- particao separada montada em /home ├── mnt/ │ └── usb/ <- pen drive USB montado aqui se torna navegavel └── var/
Diferente das letras de unidade do Windows (C:, D:), o Linux integra todos os dispositivos em uma unica arvore de diretorios. O diretorio onde um dispositivo e anexado e chamado de ponto de montagem.
Como Verificar o Que Esta Atualmente Montado
Use findmnt para uma visualizacao em arvore limpa, ou mount para a listagem tradicional.
$ findmnt
TARGET SOURCE FSTYPE OPTIONS / /dev/sda1 ext4 rw,relatime ├─/sys sysfs sysfs rw,nosuid,nodev,noexec ├─/proc proc proc rw,nosuid,nodev,noexec ├─/dev udev devtmpfs rw,nosuid ├─/run tmpfs tmpfs rw,nosuid,nodev └─/home /dev/sda2 ext4 rw,relatime
Verificar um ponto de montagem especifico:
$ findmnt /home TARGET SOURCE FSTYPE OPTIONS /home /dev/sda2 ext4 rw,relatime
Como Encontrar Nomes de Dispositivo e UUIDs
Antes de montar, identifique o dispositivo alvo.
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 20G 0 disk ├─sda1 8:1 0 19G 0 part / └─sda2 8:2 0 1G 0 part /home sdb 8:16 1 8G 0 disk └─sdb1 8:17 1 8G 0 part
sdb1 nao tem entrada em MOUNTPOINTS -- ainda nao esta montado.
Obter o UUID de um dispositivo:
$ sudo blkid
/dev/sda1: UUID="a1b2c3d4-1111-2222-3333-444455556666" TYPE="ext4" /dev/sda2: UUID="b2c3d4e5-2222-3333-4444-555566667777" TYPE="ext4" /dev/sdb1: UUID="c3d4e5f6-3333-4444-5555-666677778888" TYPE="vfat"
Para um unico dispositivo:
$ sudo blkid /dev/sdb1 /dev/sdb1: UUID="c3d4e5f6-3333-4444-5555-666677778888" TYPE="vfat"
Como Montar um Dispositivo Manualmente
Crie um diretorio de ponto de montagem primeiro, depois execute mount.
# Criar o ponto de montagem $ sudo mkdir -p /mnt/usb # Montar (tipo de sistema de arquivos detectado automaticamente) $ sudo mount /dev/sdb1 /mnt/usb # Verificar $ findmnt /mnt/usb TARGET SOURCE FSTYPE OPTIONS /mnt/usb /dev/sdb1 vfat rw,relatime
Especificar o sistema de arquivos explicitamente com -t:
$ sudo mount -t ext4 /dev/sdb1 /mnt/data $ sudo mount -t vfat /dev/sdb1 /mnt/usb $ sudo mount -t ntfs /dev/sdb1 /mnt/win
Omitir -t permite que mount detecte automaticamente o sistema de arquivos. Funciona de forma confiavel para ext4, vfat, ntfs e a maioria dos tipos comuns.
Opcoes comuns de montagem (-o):
| Opcao | Significado |
|---|---|
ro |
Somente leitura |
rw |
Leitura-escrita (padrao) |
noexec |
Impedir execucao de binarios |
nosuid |
Desabilitar bits SUID |
remount |
Alterar opcoes em um sistema de arquivos ja montado |
# Montar como somente leitura $ sudo mount -o ro /dev/sdb1 /mnt/usb # Mudar para leitura-escrita sem desmontar $ sudo mount -o remount,rw /mnt/usb
Como Desmontar um Dispositivo
Sempre desmonte antes de remover fisicamente um dispositivo. Isso descarrega os buffers de escrita e previne corrupcao de dados.
$ sudo umount /mnt/usb # Ou especificar o dispositivo $ sudo umount /dev/sdb1
Se voce ver "target is busy"
# Encontrar qual processo esta usando a montagem $ lsof /mnt/usb
Identifique e pare o processo, ou saia do diretorio primeiro com cd. Depois tente umount novamente.
O Que E o /etc/fstab?
/etc/fstab (tabela de sistemas de arquivos) define quais dispositivos montar automaticamente no boot. Cada entrada neste arquivo e processada durante a inicializacao.
$ cat /etc/fstab
# <file system> <mount point> <type> <options> <dump> <pass> UUID=a1b2c3d4-... / ext4 defaults 0 1 UUID=b2c3d4e5-... /home ext4 defaults 0 2 UUID=f9g0h1i2-... none swap sw 0 0
Um fstab incorreto pode tornar seu sistema incapaz de inicializar. Sempre teste as alteracoes com sudo mount -a antes de reiniciar.
Como Escrever uma Entrada no fstab
Cada linha tem seis campos separados por espaco:
| Campo | Descricao |
|---|---|
<file system> |
Dispositivo a montar -- UUID recomendado, /dev/sdX tambem funciona |
<mount point> |
Diretorio para montar (none para swap) |
<type> |
Tipo de sistema de arquivos: ext4, vfat, ntfs, swap, etc. |
<options> |
Opcoes de montagem (defaults = rw,suid,exec,auto,nouser,async) |
<dump> |
Flag de backup dump (0 = desabilitado, 1 = habilitado). Use 0. |
<pass> |
Ordem do fsck no boot (0 = pular, 1 = raiz primeiro, 2 = outros) |
Exemplo de entrada para uma particao de dados ext4:
UUID=c3d4e5f6-3333-4444-5555-666677778888 /mnt/data ext4 defaults 0 2
Por Que Usar UUID em Vez de Nomes de Dispositivo?
Nomes de dispositivo como /dev/sdb dependem da ordem em que o kernel detecta os drives. Apos adicionar, remover ou reordenar discos, o mesmo drive fisico pode receber um nome diferente. O UUID nunca muda.
# Arriscado -- nome de dispositivo pode mudar apos reinicializacao /dev/sdb1 /mnt/data ext4 defaults 0 2 # Seguro -- UUID e permanente UUID=c3d4e5f6-3333-4444-5555-666677778888 /mnt/data ext4 defaults 0 2
Como Tornar uma Montagem Persistente com fstab
Passo a passo: adicionar um segundo disco ou pen drive USB para que monte automaticamente em cada boot.
# 1. Obter o UUID $ sudo blkid /dev/sdb1 /dev/sdb1: UUID="c3d4e5f6-3333-4444-5555-666677778888" TYPE="ext4" # 2. Criar o ponto de montagem $ sudo mkdir -p /mnt/data # 3. Editar o fstab $ sudo nano /etc/fstab
Adicione esta linha:
UUID=c3d4e5f6-3333-4444-5555-666677778888 /mnt/data ext4 defaults 0 2
# 4. Testar sem reiniciar $ sudo mount -a # 5. Verificar $ findmnt /mnt/data TARGET SOURCE FSTYPE OPTIONS /mnt/data /dev/sdb1 ext4 rw,relatime
sudo mount -a aplica todas as entradas do fstab imediatamente. Se sair sem erros, seu fstab esta correto. Sempre execute isso antes de reiniciar apos qualquer alteracao no fstab.