fstab (Português)

Status de tradução:
Esse artigo é uma tradução de
fstab
. Data da última tradução: 2021-02-03. Você pode ajudar a sincronizar a tradução, se houver
alterações
na versão em inglês.
Artigos relacionados
Nomeação persistente de dispositivo de bloco
Sistemas de arquivos
tmpfs
swap
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:
/etc/fstab
# <device>                                <dir> <type> <options> <dump> <fsck>
UUID=0a3407de-014b-458b-b5c1-848e92a327a3 /     ext4   defaults  0      1
UUID=f9fe0b69-a280-415d-a03a-a32752370dee none  swap   defaults  0      0
UUID=b411dc99-f0a0-4c87-9e05-184977be8539 /home ext4   defaults  0      2
<device>
, dispositivo, descreve o dispositivo de bloco especial ou sistema de arquivos remoto a ser montado; veja
#Identificando sistemas de arquivos
.
<dir>
, diretório, descreve o ponto de
montagem
.
<type>
, o tipo do
sistema de arquivos
.
<options>
, as opções de montagem associadas; veja
mount(8) § FILESYSTEM-INDEPENDENT_MOUNT_OPTIONS
e
ext4(5) § MOUNT_OPTIONS
.
<dump>
é verificado pelo utilitário
dump(8)
. Este campo é normalmente definido para
0
, que desabilita a verificação.
<fsck>
define a ordem de execução do fsck do sistema de arquivos na iniciliazação; veja
fsck(8)
. Para o dispositivo raiz isto deve ser
1
. Para outras partições deve ser
2
, ou
0
para desabilitar a verificação.
Dica
O tipo
auto
deixa o comando de montagem supor que tipo de sistema de arquivos é usado. Isto é útil para
mídias óticas
(CD/DVD/Blu-ray).
Se o sistema de arquivos raiz é
btrfs
ou
XFS (Português)
, a ordem do fsck deve ser definida para
0
ao invês de
1
. veja
fsck.btrfs(8)
e
fsck.xfs(8)
.
Todos os dispositivos especificados dentro do
/etc/fstab
serão automaticamente montados na inicialização e quando o parâmetro
-a
é usado com
mount(8)
a menos que a opção
noauto
é especificada. Dispositivos que são listados e não estão presentes resultarão em um erro a menos que a opção
nofail
é usada.
Veja
fstab(5) § DESCRIPTION
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
lsblk -f
e
blkid
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
/dev/sd
xy
na primeira coluna.
Descritores de nomes do kernel
Execute
lsblk -f
para listar as partições e prefixar os valores na coluna
NAME
com
/dev/
.
/etc/fstab
# <device>        <dir>        <type>        <options>        <dump> <fsck>
/dev/sda1         /boot        vfat          defaults         0      2
/dev/sda2         /            ext4          defaults         0      1
/dev/sda3         /home        ext4          defaults         0      2
/dev/sda4         none         swap          defaults         0      0
Atenção
Descritores de nomes do kernel não são
persistentes
e podem mudar a cada inicialização, eles não devem ser usados em arquivos de configuração.
Rótulos do sistema de arquivos
Execute
lsblk -f
para listar as partições, e prefixe os valore na coluna
LABEL
(rótulo em português) com
LABEL=
ou alternativamente execute
blkid
e use os valores LABEL sem aspas:
/etc/fstab
# <device>        <dir>        <type>        <options>        <dump> <fsck>
LABEL=ESP         /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
Nota
Se qualquer um dos seus campos conter espaços, veja
#Espaços no caminho do arquivo
.
UUIDs do sistema de arquivos
Execute
lsblk -f
para listar as partições, e prefixe os valores na coluna
UUID
com
UUID=
ou alternativamente execute
blkid
e use os valores UUID sem as aspas:
/etc/fstab
# <device>                                <dir> <type> <options> <dump> <fsck>
UUID=CBB6-24F2                            /boot vfat   defaults  0      2
UUID=0a3407de-014b-458b-b5c1-848e92a327a3 /     ext4   defaults  0      1
UUID=b411dc99-f0a0-4c87-9e05-184977be8539 /home ext4   defaults  0      2
UUID=f9fe0b69-a280-415d-a03a-a32752370dee none  swap   defaults  0      0
Rótulos de partição GPT
Execute
blkid
para listar as partições, e use os valores
PARTLABEL
sem as aspas:
/etc/fstab
# <device>                           <dir> <type> <options> <dump> <fsck>
PARTLABEL=EFI\040SYSTEM\040PARTITION /boot vfat   defaults  0      2
PARTLABEL=GNU/LINUX                  /     ext4   defaults  0      1
PARTLABEL=HOME                       /home ext4   defaults  0      2
PARTLABEL=SWAP                       none  swap   defaults  0      0
Nota
Se qualquer dos campos contém espaços, veja
#Espaços no caminho do arquivo
.
UUIDs de partição GPT
Execute
blkid
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
systemd.mount(5)
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
fstab
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
/home
significantemente grande.
Nota
Isto vai fazer o tipo de sistema de arquivo
autofs
que é ignorado pelo
locate
por padrão.
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
noauto,x-systemd.automount
. Adicionalmente, você pode usar a opção
x-systemd.mount-timeout=
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
noauto
para a entrada correspondente no
/etc/crypttab
.
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:
/etc/crypttab
data /dev/md0 /root/key noauto
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
nofail
. Isto previne erros sendo reportados na inicialização. Por exemplo:
/etc/fstab
/dev/sdg1        /media/backup    jfs    nofail,x-systemd.device-timeout=1ms    0  2
A opção
nofail
é melhor combinada com a opção
x-systemd.device-timeout
. Devido ao tempo máximo de espera padrão de um dispositivo ser 90 segundos, então um dispositivo externo desconectado com somente
nofail
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
fstab
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
040
:
/etc/fstab
UUID=47FA-4071     /home/usuario/Fotos
\040
da
\040
camera       vfat  defaults      0  0
/dev/sda7          /media/100
\040
GB
\040
(Armazenamento)       ext4  defaults,user 0  2
Opções atime
Abaixo opções atime que podem ter impacto no desempenho do dispositivo de armazenamento.
A opção
strictatime
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
strictatime
é 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
noatime
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
nodiratime
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.
Nota
noatime
implica
nodiratime
.
Você não precisa especificar ambos
.
relatime
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
,
atime
(que significa que o kernel vai usar o padrão, que é
relatime
; veja
mount(8)
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
noatime
não deve ser usada; usar a opção
relatime
é aceitável e ainda oferece uma melhora de desempenho.
Desde o kernel 4.0 existe outra opção relacionada:
lazytime
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.
Atenção
Caso ocorra uma falha de sistema, o tempo de acesso e modificação no disco podem estar desatualizadas em até 24 horas.
Note que a opção
lazytime
funciona
em conjunto
com as opção
*atime
acima mencionadas, não como uma alternativa. Que é
relatime
por padrão, mas pode ser até mesmo
strictatime
com o mesmo ou menor custo da escrita no disco como a opção
relatime
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
/
,
/home
,
/srv
e swap do
/etc/fstab
ao particionar de acordo com a
Discoverable Partitions Specification
. Veja
systemd#Montagem automática de partição GPT
.
Veja também
Full device listing including block device
Filesystem Hierarchy Standard
30x Faster Cache and Site Speed with TMPFS