Fundamentos de Mount e fstab - Como Anexar Sistemas de Arquivos no Linux

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/fstab para 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/sdb mudam entre reinicializacoes

Pre-requisitos

  • Sistema baseado em Ubuntu / Debian (comandos tambem funcionam em RHEL/CentOS)
  • mount, umount e 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.

Proximas Leituras