fstab (Português)
O arquivo fstab(5) pode ser usado para definir como partições do disco, vários outros dispositivos de bloco, ou sistemas de arquivos remotos devem ser montados no sistema.
Cada sistema de arquivos é descrito em uma linha separada. Estas definições serão convertidas dinamicamente em units de montagem do systemd durante a inicialização, e quando a configuração do gerenciador do sistema é recarregada. A configuração padrão vai automaticamente executar fsck e montar os sistemas de arquivos antes de iniciar serviços que precisam deles montados. Por exemplo, systemd automaticamente garante que a montagem de sistemas de arquivos remotos como NFS ou Samba é somente realizada depois da rede estar configurada. Portanto, a montagem de sistemas de arquivos locais e remotos especificados no /etc/fstab
deve funcionar normalmente. Veja {{man|5|systemd.mount} para detalhes.
O comando mount
usará o fstab, se somente o diretório ou dispositivo é dado, para preencher o valor do outro parâmetro. Ao fazer isso, as opções de montagem que estão listadas no fstab também serão usadas.
Uso
Um simples /etc/fstab
, usando UUIDs do sistema de arquivos:
- , dispositivo, descreve o dispositivo de bloco especial ou sistema de arquivos remoto a ser montado; veja #Identificando sistemas de arquivos.
- , diretório, descreve o ponto de montagem.
<type>
, o tipo do sistema de arquivos.<options>
, as opções de montagem associadas; veja e .- é verificado pelo utilitário . Este campo é normalmente definido para , que desabilita a verificação.
- define a ordem de execução do fsck do sistema de arquivos na iniciliazação; veja . Para o dispositivo raiz isto deve ser . Para outras partições deve ser
2
, ou para desabilitar a verificação.
Todos os dispositivos especificados dentro do /etc/fstab
serão automaticamente montados na inicialização e quando o parâmetro -a
é usado com a menos que a opção é especificada. Dispositivos que são listados e não estão presentes resultarão em um erro a menos que a opção é usada.
Veja para detalhes.
Identificando sistemas de arquivos
Existem diferentes maneiras de identificar sistemas de arquivos que serão montados no /etc/fstab
: o descritor de nomes do kernel, rótulo e UUID do sistema de arquivos, e rótulo e UUID da partição GPT. UUID ou PARTUUID devem ser preferidos sobre o descritor de nomes do kernel e rótulos. Veja nomeação persistente de dispositivo de bloco para mais explicações. É recomendado a leitura dele antes de continuar lendo este.
Neste seção, será descrito como montar sistemas de arquivos usando todos os métodos de montagem disponíveis por meio de exemplos. A saída dos comandos e usados nos seguintes exemplos estão disponíveis no artigo Nomeação persistente de dispositivo de bloco.
Para usar descritores de nomes do kernel, use na primeira coluna.
Descritores de nomes do kernel
Execute para listar as partições e prefixar os valores na coluna NAME com /dev/
.
Rótulos do sistema de arquivos
Execute para listar as partições, e prefixe os valore na coluna LABEL (rótulo em português) com ou alternativamente execute e use os valores LABEL sem aspas:
/etc/fstab
# <device> <dir> <type> <options> <dump> <fsck> LABEL=EFI /boot vfat defaults 0 2 LABEL=SYSTEM / ext4 defaults 0 1 LABEL=DATA /home ext4 defaults 0 2 LABEL=SWAP none swap defaults 0 0
UUIDs do sistema de arquivos
Execute para listar as partições, e prefixe os valores na coluna UUID com ou alternativamente execute e use os valores UUID sem as aspas:
Rótulos de partição GPT
Execute para listar as partições, e use os valores PARTLABEL sem as aspas:
UUIDs de partição GPT
Execute para listar as partições, e use os valores PARTUUID sem as aspas:
/etc/fstab
# <device> <dir> <type> <options> <dump> <fsck> PARTUUID=d0d0d110-0a71-4ed6-936a-304969ea36af /boot vfat defaults 0 2 PARTUUID=98a81274-10f7-40db-872a-03df048df366 / ext4 defaults 0 1 PARTUUID=7280201c-fc5d-40f2-a9b2-466611d3d49e /home ext4 defaults 0 2 PARTUUID=039b6c1c-7553-4455-9537-1befbc9fbc5b none swap defaults 0 0
Dicas e truques
Automontagem com systemd
Veja para todas as opções de montagem.
Partição local
No caso de uma grande partição, pode ser mais eficiente permitir serviços que não dependem dela para iniciar enquanto o fsck é executado nela. Para fazer isso adicione as seguintes opções na entrada do da partição:
noauto,x-systemd.automount
Assim o fsck e a montagem vão ser somente executados quando ela é primeiro acessada, e o kernel colocará no buffer todo o acesso a arquivos dela até que esteja pronta. Este método pode ser relevante se ter, por exemplo, uma partição significantemente grande.
Sistema de arquivos remoto
O mesmo se aplica para a montagem de sistema de arquivos remoto. Se você quer que eles sejam montados somente no acesso, você precisa usar os parâmetros . Adicionalmente, você pode usar a opção para especificar quanto o systemd deve esperar para o comando de montagem terminar. Também, a opção _netdev
garante que o systemd entende que a montagem depende da rede e que faça ela depois que a rede está conectada.
noauto,x-systemd.automount,x-systemd.mount-timeout=30,_netdev
Sistema de arquivos criptografado
Se você tem sistemas de arquivos criptografados com keyfiles, você pode também adicionar o parâmetro para a entrada correspondente no . systemd não irá então abrir o dispositivo criptografado na inicialização, ao invês disso vai esperar até que ele seja acessado e então automaticamente abrí-lo com a keyfile especificada antes de montar. Isto pode salvar alguns segundos na inicialização se você está usando um dispositivo RAID criptografado por exemplo, porquê o systemd não precisa esperar pelo dispositivo se tornar disponível. Por exemplo:
Desmontar automaticamente
Você pode também especificar um periodo máximo de ociosidade para um dispositivo montado com o parâmetro x-systemd.idle-timeout
. Por exemplo:
noauto,x-systemd.automount,x-systemd.idle-timeout=1min
Isto vai fazer o systemd desmontar o dispositivo depois dele ficar ocioso por 1 minuto.
Dispositivos externos
Dispositivos externos que são montados quando presentes mas ignorados quando não, podem precisar da opção . Isto previne erros sendo reportados na inicialização. Por exemplo:
A opção é melhor combinada com a opção . Devido ao tempo máximo de espera padrão de um dispositivo ser 90 segundos, então um dispositivo externo desconectado com somente vai fazer sua inicialização 90 segundos mais longa, a menos que você reconfigure o tempo máximo de espera como mostrado. Tenha a certeza de não definí-lo como 0, já que isto é traduzido para o infinito.
Espaços no caminho do arquivo
Desde que espaços são usados no para delimitar campos, se qualquer campo (PARTLABEL, LABEL ou o ponto de montagem) contém espaços, estes espaços devem ser trocados pelo caractere seguido pelo código octal de 3 dígitos :
Opções atime
Abaixo opções atime que podem ter impacto no desempenho do dispositivo de armazenamento.
- A opção atualiza o tempo de acesso dos arquivos toda vez que eles são acessados. Isto é útil quando o Linux é usado para servidores; não tem muito valor para usuários comuns. A desvantagem da opção é que até mesmo ler de um arquivo do page cache (ler da memória ao invês do dispositivo de armazenamento) vai resultar em uma escrita.
- A opção totalmente desabilita a escrita do tempo de acesso do arquivo para o dispositivo de armazenamento toda vez que ele é acessado. Funciona bem para quase todos as aplicações, exceto as que precisam saber se um arquivo foi lido desde a última vez que foi modificado. A informação do tempo de escrita do arquivo continuará a ser atualizada em qualquer momento que o arquivo é modificado com esta opção habilitada.
- A opção desabilita a escrita do tempo de acesso de um arquivo somente para diretórios enquanto outros arquivos vão ainda ter seu tempo de acesso escrito.
- atualiza o tempo de acesso somente se o tempo de acesso anterior for anterior ao tempo atual de modificação ou alteração. Adicionalmente, desde o Linux 2.6.30, o tempo de acesso é sempre atualizado se desde a última modificação tiver passado mais de 24 horas. Esta opção é usada quando a opção
defaults
, (que significa que o kernel vai usar o padrão, que é ; veja e wikipedia:Stat (system call)#Criticism of atime) ou nenhuma opção é especificada.
Quando usar Mutt ou outra aplicação que precisa saber se um arquivo foi lido desde a última vez que foi modificado, a opção não deve ser usada; usar a opção é aceitável e ainda oferece uma melhora de desempenho.
Desde o kernel 4.0 existe outra opção relacionada:
- reduz escrita para o disco ao manter as mudanças no timestamp do nó-i (tempo de acesso, modificação e criação) somente em memória. Os timestamps no disco são atualizados somente quando (1) o nó-i do arquivo precisa ser atualizado por alguma mudança não relacionada ao timestamp do arquivo, (2) uma sincronização para o disco ocorre, (3) um nó-i não deletado é expulso da memória ou (4) se mais que 24 horas passaram desde a última vez que a cópia em memória foi escrita no disco.
Note que a opção funciona em conjunto com as opção acima mencionadas, não como uma alternativa. Que é por padrão, mas pode ser até mesmo com o mesmo ou menor custo da escrita no disco como a opção sozinha.
Remontar a partição raiz
Se por alguma razão a partição raiz foi inapropriadamente montada como somente leitura, remontar a partição raiz com acesso a leitura-escrita pode ser feito com o seguinte comando:
# mount -o remount,rw /
Automontagem de partição GPT
Em um disco particionado com GPT é possível omitir as partições , , e swap do /etc/fstab
ao particionar de acordo com a Discoverable Partitions Specification. Veja systemd#Montagem automática de partição GPT.