Como configurar discos e partições no Linux usando FSTAB
Sistemas operacionaisTutoriais

Como configurar discos e partições no Linux usando FSTAB

Quando estava aprendendo Linux, lembro de ter lido em algum lugar algo que dizia: “No Linux tudo são arquivos”. Querendo ou não, de fato, toda a configuração do sistema, de forma geral, é feita por “simples” arquivos de textos, configurados para fazer tudo o que você vê na sua tela, funcionar como se deve. Um desses arquivos é o FSTAB (File Systems Table).

Mesmo que você nunca sequer tenha pensando nisso, a sua distribuição Linux faz, toda a vez que você liga o seu computador e dá boot no sistema operacional, a montagem das partições do seu disco, do seu SWAP e de onde fica cada coisa. Esse é um processo automático que ocorre baseado nas informações contidas em um arquivo que fica no diretório /etc/fstab.

Configurando o FSTAB

O que faz com que muitas pessoas tenham receio do FSTAB é que ele é um arquivo aparentemente complexo, especialmente se comparado com outros que existem por aí, que possuem várias linhas comentários informando como trabalhar com as informações contidas neles mesmos.

O conselho mais básico é: Encare o FSTAB como o que ele é: uma tabela. O nome TAB (de Table) não está ali à toa. Ao abri-lo, para facilitar, tente visualizar as colunas e linhas, isso vai ajudar bastante.

Você pode abrir ele com qualquer editor de textos que quiser, como o gedit, xed, pluma, entre outros, mas que tal brincarmos no terminal um pouco? 😄

Você pode fazer uma leitura rápida do que está contido no seu FSTAB com esse comando:

cat /etc/fstab

Isso deve te trazer informações semelhantes a essa:

Como configurar discos e partições no Linux usando FSTAB 1

O FSTAB é responsável pela montagem do seu próprio sistema, por isso, ele é um arquivo bem “sensível”, caso você esteja apenas estudando, é recomendado fazê-lo em uma máquina virtual

Outra possibilidade é fazer backup do arquivo antes de começar a editá-lo, por exemplo:

sudo cp /etc/fstab /etc/fstab-bkp

Se precisar usar esse arquivo de backup, coloque ele de volta no lugar com o comando:

sudo cp /etc/fstab-bkp /etc/fstab

Vamos usar um editor de textos simples e disponível para todas as distros Linux para editar o FSTAB, o Nano. Para abrir o arquivo com propriedades adequadas para modificação, use:

sudo nano /etc/fstab

Ou rode o comando como Root, caso a sua distro não possua o seu usuário dentro do sudoers.

Como configurar discos e partições no Linux usando FSTAB 2

Entendendo o FSTAB

Como já dissemos, o FSTAB nada mais é do que uma tabela, mesmo que não tenha muito essa cara inicialmente, cada coluna suporta algumas informações diferentes. São elas:

File SystemMount PointTypeOptionsDumpPass
UUID=04b60adc-ccc2-406e-9cbb-fb80f9c4e5fb/mnt/dadosext4defaults02
/dev/sda1/ext4rw,relatime11
/dev/sdb1/media/backupntfs-3gauto,user00
/dev/sdc1/mnt/arquivosbtrfsnoatime,compress=zstd02
UUID=1234-ABCD/mnt/pendrivevfatnoauto,user,rw00

Colocamos em uma tabela esse exemplo para ficar um pouco mais claro, mas vale uma observação, muitas vezes no lugar de “/dev/sda1” do exemplo, pode haver a UUID do dispositivo, de uma forma semelhante a essa: UUID=04b60adc-ccc2-406e-9cbb-fb80f9c4e5fb. No fim, é isso que bagunça um pouco as coisas, mas você pode montar os seus discos e partições apenas sabendo o nome deles, usando o comando:

lsblk
Como configurar discos e partições no Linux usando FSTAB 5

Repare nos nomes abaixo da coluna “NAME” e ao lado você consegue ver o tamanho (size) e o tipo, se é “apenas leitura” (RO) e se já está montado em algum lugar em “MOUNTPOINT”.

Antes de prosseguirmos, é importante conhecer alguma das opções envolvendo as colunas do FSTAB:

File System: 

Pode conter a UUID do dispositivo ou o endereço dele. Dispositivos como partições e discos ficam sempre em /dev no mundo Linux, então uma partição (como esta de 931,5 G na imagem acima) poderia ser encontrada em /dev/sdc1.

Para verificar o UUID de uma partição para usar no lugar do endereço, use o comando:

blkid
Como configurar discos e partições no Linux usando FSTAB 6

Mount Point: 

É simplesmente o local onde a partição ou disco está montado. Ela pode apontar para qualquer lugar do sistema a partir da raiz (/). Geralmente os dispositivos montados automaticamente pelo sistema, como pen drives, HDs Externos, etc. são montados em /media, porém, quando isso é feito manualmente é comum usar o diretório /mnt, mas você pode montar em qualquer lugar que quiser.

Type: 

Nessa coluna você deve colocar o tipo do sistema de arquivos de cada disco, você pode ver qual o sistema de arquivos a sua partição usa com o comando:

sudo file -s /dev/sdc1
Como configurar discos e partições no Linux usando FSTAB 7

A parte sublinhada do comando acima deve ser trocada pelo caminho da unidade que você quer observar. Para saber qual o nome das unidades é possível usar o comando que mostramos antes, o lsblk. Esse comando “file -s” ainda pode ser útil para você descobrir a UUID do disco, além de permitir que você veja em qual sistema de arquivos o seu disco está formatado.

Alguns comuns seriam:

  • ext4
  • swap
  • ntfs-3g- vfat
  • btrfs
  • ntfs
  • auto

Se por algum motivo você não sabe ou não conseguiu descobrir qual o  filesystem do disco, você pode tentar usar a opção “auto“, que tenta adivinhar o formato na hora da montagem.

Options: 

Nessa coluna do FSTAB, você vai adicionar as opções de montagem que existem. Existem diversas opções diferentes, listaremos algumas das mais comuns aqui. Várias opções podem ser usadas em uma mesma linha, bastando adicionar uma virgula entre cada uma, sem a necessidade de espaço.

  • auto/noauto: essa opção permite que o dispositivo seja montado automaticamente durante o boot do sistema, sendo que “auto” é a opção padrão, se você não quer que o disco seja montado durante o boot, é necessário dizer explicitamente que você não quer isso colocando a opção “noauto“;
  • dev/nodev: indica se o disco ou partição deve, ou não ser considerado um dispositivo que contém um sistema de arquivos “especial”. Geralmente a opção “nodev” é usada em sistemas que tem acesso público e tal opção impede que qualquer usuário possa fazer certas alterações, como criar um “device file“;
  • exec/noexec: como podemos ver, as opções até que são simples de entender, uma permite algo, a outra nega. Nesse caso você pode permitir ou negar que os binários nessa partição ou disco sejam executados;
  • rw/ro: Se você associar aos seus significados fica fácil de ententer, rw (read and write/leitura e escrita) e ro (read only/apenas leitura);
  • user/users/nouser: nessa sessão podemos ter três opções. A opção “user” permite que qualquer usuário monte esse sistema de arquivos, o que automaticamente ativa outras funções como noexec, nosuid e nodev, a menos que você informe o contrário. Se a opção “nouser” for especificada, apenas o root poderá montar esse sistema de arquivos, já se a opção “users” for a selecionada, qualquer usuário no grupo users conseguirá montar o dispositivo;
  • defaults: como o nome sugere, essa opção usa os padrões da distro. A configuração padrão é definida conforme o sistema de arquivo. Geralmente isso quer dizer que as opções serão equivalentes a rw,suid,dev,exec,auto,nouser,async;
  • owner: Permite que apenas o dono do dispositivo o monte, ou seja, quem criou o sistema de arquivos.

Existem muitas outras opções disponíveis, e uma leitura bacana para se fazer sobre isso pode ser na documentação do Ubuntu, do Arch Linux ou do Debian, mas provavelmente você deve encontrar algo sobre isso na documentação da distro que você utiliza, caso não seja nenhuma dessas.

Dump: 

Nessa coluna você pode indicar por meio de um (1) ou zero (0) se a unidade que está sendo montada deve receber um backup do programa dump. Colocar Zero indica que esse sistema de arquivos nunca será “backupeado” automaticamente dessa forma, em alguns casos, é preciso ver se o dump está instalado na distro.

Pass: 

O número que for adicionado nessa linha indica a ordem na qual o fsck vai fazer a checagem do disco por erros na hora do boot.

1 – Verifique essa partição primeiro.

2 – Verifique após verificar o primeiro.

0 – Não verifique.

Montando um disco e adicionando no FSTAB

Retrocedamos para a parte onde mostramos o comando “lsblk“. Digamos que queiramos montar a partição “sdc1” de através do FSTAB na inicialização do sistema.

Primeiro vamos criar o ambiente ideal para fazer montagem. Faremos nossa montagem dentro de /mnt, então criaremos uma pasta dentro desse diretório para montar o disco, assim fica tudo organizado. Esse disco é um HD de backup, então vamos chamar a pasta de “dados“.

sudo mkdir /mnt/dados

O comando acima cria uma pasta, ou diretório, dentro da pasta /mnt com o nome “dados”,  então agora vamos indicar esse ponto de montagem no fstab, vamos editá-lo usando o editor nano.

sudo nano /etc/fstab
Como configurar discos e partições no Linux usando FSTAB 9
Será que você consegue ver a ideia da tabela em ação agora? 🙂

No nano você deve navegar usando as setas do seu teclado até a última linha e digitar os dados da partição que você quer montar, no exemplo:

/dev/sdc1 /mnt/dados ext4 defaults 0 0

Indicando, em ordem, o disco que queremos montar (/dev/sdc1), onde queremosque seja montado (/mnt/dados), qual o sistema de arquivos do disco (ext4), configurações padrões (defaults) e configuranção de dump e pass setadas para zero (0).

Você pode também fazer comentários adicionar um # e depois escrever o que quiser. Tudo o que ficar nessa linha será ignorado na leitura do fstab pelo sistema, esses comentários servem apenas para interação humana e melhor compreensão.

No nano você geralmente usa a tecla Ctrl (Control) combinada com alguma outra tecla para executar uma função, porém, você pode, aqui, para sair e salvar, pressionando “Ctrl+X”, o editor vai te perguntar se você quer salvar o arquivo, pressione o “S” (de SIM) e sobrescreva o seu fstab dando “enter“.

Tome cuidado para não alterar o nome do arquivo, ele deve continuar se chamando fstab!

Agora se você reiniciar o seu computador a sua partição ou disco será montada no diretório indicado, porém, você pode fazer isso manualmente para montar o dispositivo agora mesmo usando esse comando:

sudo mount -O /dev/sdc1 /mnt/dados

Lembrando que “/dev/sdc1” deve ser alterado para a nomenclatura que corresponde ao seu disco e “/mnt/dados” deve ser alterado pelo caminho e nome da pasta onde você quer fazer a montagem. 

Com isso você já tem todas as informações essenciais para fazer a montagem das partições do seu servidor, ou até mesmo na sua distro de desktop, se você for “mais raiz”.

Fazendo montagens pela interface gráfica

Fazer tudo pelo terminal nem sempre é jeito é o mais fácil. Claro, se é um servidor, se você é um profissional ou um estudante de Linux é outra história, mas se você tem uma interface e só quer montar o seu disco e nada mais, pode ser a melhor opção.

Existe um utilitário do GNOME que vem com a maioria das distros chamado “GNOME Disks”, caso já não esteja instalado você o encontra no repositório de qualquer distro. Quando o sistema está traduzido para português, geralmente você o encontra no menu do sistema procurando por “Discos“.

Como configurar discos e partições no Linux usando FSTAB 11

Ele é um software muito legal, tem vários recursos para você se informar sobre os seus discos. Você pode ver os desenhos das partições, tamanhos, formatos, sistemas de arquivos, tipos, fazer benchmarks, fazer testes de saúde dos discos, entre muitas outras coisas.

Umas das funcionalidades dele é controlar a montagem de discos, fazendo com que tudo que fizemos “na unha” antes possa ser feito por uma simples, mas poderosa, interface.

Para seguir o mesmo exemplo, digamos que queremos montar o meu HD TB automaticamente com o sistema. Basta clicar no disco na esquerda, depois clicar no ícone da engrenagem, ir até opções de montagem, onde tem várias opções de configurações, muitas delas relacionadas ao que aprendemos ao longo do post, e clicar em Montar ao inicializar o sistema.

Como configurar discos e partições no Linux usando FSTAB 13

É interessante ver a evolução do Linux, o nível personalização para fazer o que você bem entender com o sistema apenas configurando arquivos é sensacional. Também é curioso pensar que há algumas décadas a única forma de fazer certas coisas era via terminal e esses arquivos de configuração. Atualmente tudo pode ser mais simples e bonito, mas o poder da linha de comando continua lá para quem quiser tomá-lo.

Se você quer aprender mais sobre terminal, e até mesmo shell script, confira nossos cursos exclusivos para membros Diolinux Play e seja membro!

Diolinux Ofertas - Aproveite os melhores descontos em diversos produtos!
2696 postagens

Sobre o autor
Criador do blog e canal Diolinux, alguém que acredita em liberdade de escolha e é apaixonado por música e tecnologia.
Artigos