O que é o arquivo fstab do Linux e como ele funciona?

Publicados: 2022-01-29

Se você estiver executando o Linux, é provável que precise alterar algumas opções para seus sistemas de arquivos. Familiarizar-se com o fstab pode tornar todo o processo muito mais fácil, e é muito mais fácil do que você pensa.

O que é Fstab?

Fstab é a tabela do sistema de arquivos do seu sistema operacional. Se você quiser uma revisão dos sistemas de arquivos, não deixe de conferir nosso outro artigo, HTG Explains: Qual sistema de arquivos Linux você deve escolher? Antigamente, era a principal maneira de o sistema montar arquivos automaticamente. Hoje em dia, você pode conectar uma unidade USB de qualquer tipo e ela aparecerá no Nautilus como no Windows e no Mac OS, mas antigamente você precisava montar manualmente esses discos em uma pasta específica usando o “ montar” comando. Isso vale para DVDs, CDs e até disquetes (lembra deles?).

Naquela época, sua única alternativa era dizer ao computador que sempre que um dispositivo específico fosse conectado, ele deveria ser montado automaticamente em um local específico. Foi aí que o fstab entrou, e foi incrível. Suponha que você trocou discos rígidos em seu controlador IDE ou SCSI. O computador pode carregar os sistemas de arquivos em uma ordem diferente, potencialmente atrapalhando as coisas. O Fstab está configurado para procurar sistemas de arquivos específicos e montá-los automaticamente da maneira desejada a cada vez, evitando a ocorrência de uma infinidade de desastres.

Seu arquivo Fstab

O arquivo fstab está localizado em:

/etc/fstab

Vamos dar uma olhada no meu arquivo fstab, certo?

arquivo fstab

Você definitivamente verá diferenças, mas se quiser acompanhar seu próprio fstab, basta inserir este comando em um terminal:

comando sem sudo

Propaganda

Você também pode usar o gedit se não se sentir confortável com o nano.

As opções óbvias

Você notará que todas as entradas começam com UUIDs. Você pode se lembrar de ver isso em um de nossos artigos anteriores, Como escolher um esquema de partição para seu PC Linux, mas explicaremos novamente de qualquer maneira. Cada sistema de arquivos, durante a formatação, recebe um Identificador Único Universal, que leva para o túmulo. Como não pode ser alterado, esta é a maneira ideal de selecionar sistemas de arquivos para montagem, especialmente para os importantes. Digamos que sua partição /home esteja em um segundo disco rígido e você acabe movendo-a para um disco rígido externo; O fstab ainda encontrará essa partição e a montará corretamente, evitando uma inicialização com falha. Se você mudar para (ou estiver preso usando) o método antigo de usar identificadores de dispositivo para selecionar partições (ou seja, /dev/sda1), essa vantagem desaparece porque discos rígidos e partições são contados por seus controladores e, portanto, podem mudar.

Editar: Usar UUIDs em seu arquivo fstab, embora conveniente para a maioria dos usuários domésticos, tem algumas grandes ressalvas. Isso não funciona ao usar dispositivos como "montados" ou "baseados em rede". Se você é um usuário mais avançado ou planeja usar coisas como RAID de software no futuro, é melhor não usar UUIDs.

A próxima seção do fstab, como todas as subsequentes, é separada por um espaço ou uma tabulação, ou uma combinação deles. Aqui, você encontrará o ponto de montagem. Como você pode ver, eu tenho um ponto de montagem raiz (/), uma troca e dois que adicionei manualmente para minhas unidades de armazenamento de rede compartilhadas. Se você estiver adicionando uma entrada ao fstab, precisará criar manualmente o ponto de montagem antes de reiniciar o computador (e as alterações entrarão em vigor).

A seguir está a seção que identifica o tipo de sistema de arquivos na partição. Muitos, como ext2/3/4, ReiserFS, jFS, etc. são lidos nativamente pelo Linux. Seu sistema em particular pode ainda precisar ter determinados pacotes instalados para poder ler e gravar neles. Os exemplos perfeitos são minhas partições NTFS; você pode ver que estou usando o driver ntfs-3g para acessá-los.

As coisas mais assustadoras

As próximas seções são o que geralmente assustam os recém-chegados, mas na verdade não são tão complicadas. Há um grande conjunto de opções disponíveis, mas há um punhado de opções muito comuns. Vamos dar uma olhada neles. (A opção padrão é a primeira, seguida por alternativas, mas como as distribuições do Linux podem ser muito diferentes, sua milhagem pode variar.)

  • auto/noauto: Especifique se a partição deve ser montada automaticamente na inicialização. Você pode bloquear a montagem de partições específicas na inicialização usando “noauto”.
  • exec/noexec: especifica se a partição pode executar binários. Se você tiver uma partição de rascunho na qual você compila, isso seria útil, ou talvez se você tiver /home em um sistema de arquivos separado. Se você estiver preocupado com a segurança, altere para “noexec”.
  • ro/rw: “ro” é somente leitura e “rw” é leitura-gravação. Se você quiser escrever em um sistema de arquivos como usuário e não como root, precisará especificar “rw”.
  • sync/async: Este é interessante. “sync” força a gravação a ocorrer imediatamente na execução do comando, o que é ideal para disquetes (você é um geek?) e drives USB, mas não é totalmente necessário para discos rígidos internos. O que “async” faz é permitir que o comando seja executado durante um período de tempo decorrido, talvez quando a atividade do usuário for interrompida e coisas do gênero. Você já recebeu uma mensagem perguntando “aguarde enquanto as alterações estão sendo gravadas na unidade?” Geralmente é por isso.
  • nouser/user: Isso permite que o usuário tenha privilégios de montagem e desmontagem. Uma observação importante é que “usuário” implica automaticamente “noexec”, portanto, se você precisar executar binários e ainda montar como usuário, certifique-se de usar explicitamente “exec” como uma opção.
Propaganda

Essas opções são separadas por vírgula e sem espaços, e podem ser colocadas em qualquer ordem. Se você não tiver certeza sobre os padrões, não há problema em declarar explicitamente suas opções. Coisas que são montadas a partir de locais temporários (como USB) não seguirão esse padrão básico, a menos que você tenha criado entradas para elas (por UUID) em fstab. É conveniente quando você deseja que um disco rígido externo seja sempre montado de uma maneira específica, porque os pen drives normais e similares não serão afetados.

Você pode ver que minhas duas unidades de armazenamento têm privilégios de montagem do usuário ativados, acesso de leitura e gravação ativado e a montagem automática está ativada. Não compilo muito software, mas quando o faço, adiciono a opção “exec” no final da lista.

Dumping e Fscking

A próxima opção é um valor binário (“0” para falso e “1” para verdadeiro) para “dumping”. Este é um método de backup bastante desatualizado para casos em que o sistema caiu. Você deve deixar isso como "0".

A última opção é um valor numérico para “passar”. Isso informa ao sistema a ordem em que o fsck (pronunciar isso como quiser) ou executar uma verificação do sistema de arquivos. Se um disco tiver a opção “0”, ele será ignorado, como minhas unidades de armazenamento formatadas em NTFS. O sistema de arquivos raiz deve sempre ser “1” e outros sistemas de arquivos podem ir depois. Isso funciona melhor para sistemas de arquivos de journaling como ext3/4 e ReiserFS. Sistemas de arquivos mais antigos, como FAT16/32 e ext2, podem demorar um pouco, então é melhor desativar o fscking e fazer isso periodicamente.


Agora que você sabe o que está fazendo, pode enlouquecer com a montagem automática e similares. É muito conveniente quando você tem muitas partições que precisam ser gerenciadas. Lembre-se sempre de fazer um backup caso algo dê errado, mas divirta-se, e não deixe de deixar suas experiências nos comentários!

RELACIONADO: Melhores laptops Linux para desenvolvedores e entusiastas