Como configurar automount usando fstab?

Gostaria de ajuda com as configurações do fstab
Eu utilizo o fstab para fazer a montagem do meu NAS, e poder acessar os arquivos pelo gerenciador de arquivos,
mas por algum motivo, não está mais funcionando a montagem automática, tenho que ir no terminal e digitar:
sudo mount -a
Para poder montar.

A linha que eu adicionei no fstab foi essa:
192.168.XXX.XXX:/mnt/XXXX/XXXX /media/xxxxx nfs defaults 0 0

tentei adicionar o comando: _netdev ao lado do defaults, pois pesquisei que ele faria a montagem só quando tivesse internet, mas continua sem ocorrer a montagem quando inicializa o sistema.

Alguém sabe como resolver?

O gnome-disk-utility é uma interface gráfica muito útil: – Você marca as partições que deseja montar, e ele gera as linhas corretas no fstab.

Atualmente, edito manualmente pelo nano e uso Label – no final do fstab original:

UUID=7A0B-66EE                            /boot/efi      vfat    defaults,noatime 0 2
UUID=fc576ba0-2fd4-483b-b090-55d295f1dccf /              ext4    defaults,noatime,discard 0 1
tmpfs                                     /tmp           tmpfs   defaults,noatime,mode=1777 0 0
LABEL=Storage    /media/Storage     ext4        defaults,user    0   0
LABEL=Depot1     /media/Depot1      ext4        defaults,user    0   0
LABEL=Sites      /media/Sites       ext4        defaults,user    0   0
LABEL=Works      /media/Works       ext4        defaults,user    0   0
2 curtidas

@frc_kde , Eu não achei nesse utilitário a opção de adicionar um disco da rede pra eu poder realizar as montagens.

Só explicando, esse NAS fica em um servidor a parte, que tá na mesma rede local

1 curtida

Bom dia @brunot

O que eu sugeri na resposta anterior, é o que sei “por experiência pessoal”. – O que vou sugerir agora, são apenas palpites, pois nunca usei NAS. Na verdade, nunca usei “rede” local, pois tenho só 1 PC desktop.

Desde ontem, meu “palpite” era de que talvez sua rede só seja ativada muito depois de o SO tentar montar as partições indicadas no fstab. – Neste caso, a partição NAS / rede só é detectada tarde demais: – O SO não volta a tentar a montagem, e por isso você precisa fazê-lo manualmente.

Para verificar essa hipótese, reiniciei o computador e carreguei meu Debian – única distro em que ainda uso fstab para a montagem automática de partições adicionais – cujos rótulos são Sites, Works, Warehouse, Linux1 a Linux13, Home 1 a Home12:

Por sorte, é uma das distros que tenho com SystemD; e eu já tinha anotado vários comandos (para não esquecê-los), com os resultados obtidos na época.

Este comando aqui parece confirmar minha hipótese: – As últimas partições foram montadas pelo fstab aos 425 ms e aos 475 ms (Linux1 e Home1, do openSUSE) – enquanto o Network Manager ainda estava esperando conexão aos 5.449 ms:

# systemd-analyze blame
5.449s NetworkManager-wait-online.service
1.684s ifupdown-pre.service
 760ms systemd-logind.service
 512ms dev-sda4.device
 501ms systemd-fsck@dev-disk-by\x2duuid-1eb92b4b\x2df8d8\x2d4620\x2d8aaf\x2ddf815197143a.service
 475ms user@1000.service
 475ms media-Home1.mount
 434ms udisks2.service
 425ms media-Linux1.mount
 422ms upower.service
 395ms media-Home6.mount
 392ms media-Depot1.mount
 389ms systemd-fsck@dev-disk-by\x2duuid-7A0B\x2d66EE.service
 388ms media-Home10.mount
 358ms media-Home12.mount
 351ms media-Linux9.mount
 327ms media-Home9.mount
 291ms media-Linux10.mount
 276ms media-Home11.mount
 242ms systemd-timesyncd.service
 226ms systemd-journald.service
 225ms media-Home4.mount
 223ms boot-efi.mount
(.......)

É claro que se trata de uma conexão externa (provedor de internet). – Não tenho como verificar se uma rede local seria conectada ainda em tempo de sua partição ser montada pelo fstab. – Isso, você terá de verificar, usando esse comando, ou algum outro comando que seja mais útil.

3 curtidas

vamos seguir os passos que vc fez, com um exemplo parecido.

Montando automaticamente um compartilhamento NFS no fstab. Você deseja montar o diretório /mnt/meu_nfs do servidor NFS (192.168.0.1) em um ponto de montagem específico no cliente Linux (192.168.0.2) ao iniciar o sistema.

Para isso, você precisa editar o arquivo /etc/fstab do cliente. Estrutura da linha no fstab:

<host>:<caminho_remoto> <caminho_local> <tipo_filesystem> <opções> <dump> <pass>

  • <host>: Endereço IP do servidor NFS.
  • <caminho_remoto>: Caminho completo do diretório compartilhado no servidor.
  • <caminho_local>: Ponto de montagem no cliente.
  • <tipo_filesystem>: Tipo de sistema de arquivos (neste caso, nfs).
  • <opções>: Opções de montagem (ex: defaults, rw, ro, etc.).
  • <dump>: Usado para backups.
  • <pass>: Ordem em que os arquivos de sistema são verificados e reparados.

Exemplo para o seu caso:

192.168.0.1:/mnt/meu_nfs /mnt/meu_nfs_local nfs defaults 0 0

Explicando cada parte:

  • 192.168.0.1:/mnt/meu_nfs: Endereço IP do servidor e o caminho do diretório compartilhado.
  • /mnt/meu_nfs_local: Ponto de montagem no cliente. Você pode escolher qualquer diretório que desejar.
  • nfs: Indica que é um sistema de arquivos NFS.
  • defaults: Opções padrão de montagem. Isso inclui rw (leitura e escrita), soft (montagem não bloqueante), timeo=600 (tempo limite de 10 minutos para as operações), e outras.
  • 0 0: Geralmente usado para partições não envolvidas em backups e verificações de consistência do sistema de arquivos.

Adicione o exemplo acima no final do fstab.

Após reiniciar o sistema, o compartilhamento NFS deve ser montado automaticamente no ponto de montagem especificado. Você pode verificar se a montagem ocorreu com o comando: df -h.

veja se o firewall está permitindo a conexão.

1 curtida

@acvsilva isso, eu já havia feito exatamente isso. Mas ele não monta sozinho no boot do sistema, preciso abrir o terminal e dar o comando:
sudo mount -a

abriu as portas do firewall? libere as portas 2049 tcp e udp.

outra coisa: no fstab, bote “auto,users,exec,defaults” onde só tem “defaults” na linha de montagem do nfs.

dê retorno.

@acvsilva não funcionou, continua o mesmo problema. Firewall está com as portas abertas, acredito que se estivessem fechadas, eu não conseguiria montar elas manualmente.

1 curtida

vc pode colocar a montagem automaticamente com o cron

dá uma revisada nas configurações do nfs do servidor. fuçei tudo aqui e não consegui visualizar mais nada para te ajudar.

Tava pensando nisso…

Infelizmente, o OP não postou a resposta ao comando systemd-analyze blame — mas vamos supor um máximo de 1 minuto — exagerando muito:

@reboot sleep 60; mount -a

Mas nunca tentei usar crontab como root, então nunca procurei saber como colocar isso em algum /etc/cron.xxxx.

@frc_kde acabei me esquecendo, quando li seu post estava pelo celular:

5ms sys-fs-fuse-connections.mount
7ms proc-sys-fs-binfmt_misc.mount
11ms systemd-remount-fs.service
20ms tmp.mount
30ms boot-efi.mount
46ms sys-kernel-tracing.mount
47ms dev-mqueue.mount
47ms dev-hugepages.mount
47ms sys-kernel-debug.mount
63ms boot.mount
60ms home.mount
69ms var-lib-nfs-rpc_pipefs.mount
4.839s sys-module-fuse.device  
5.099s NetworkManager-wait-online.service

Seria isso aqui? Tentei pegar só o que tinha a palavra mount ou NetworkManager.

Sobre montar automáticamente como cron, não sei nem o que seria isso. Eu criaria um arquivo com esse código, e ele rodaria automaticamente no startup do sistema?

Valeu, @brunot

Até hoje, só mexi com o crontab como usuário comum.

Isso aqui lista as tarefas que criei como usuário:

$ crontab -l
@reboot echo ' ' > done.txt
@reboot sleep 300; bash RAM.sh
@reboot sleep 360; bash VERSIONS.sh
@reboot sleep 420; find ~/.cache/ -type f -atime +365 -delete

Os tempos do sleep são dados em segundos – ou seja, o comando seguinte é executado aos 5 minutos uptime (300 segundos); o segundo comando é executado aos 6 minutos; e o último é executado aos 7 minutos.

Para criar esses agendamentos, escolhi o nano (editor) e executei este comando como usuário comum, para Editar – e colei lá os comandos que eu queria:

crontab -e

No nano, aparece assim – e ao salvar ele indica a pasta e o nome do arquivo:

Nunca consegui encontrar esse arquivo, mesmo usando o mc como root. – Deve estar muito bem escondido. – Mas não preciso encontrá-lo, pois o comando crontab -e sabe como editá-lo:

Acontece que esse crontab “comum” não tem muitas permissões, por motivos de segurança.

Pra usar o cron como root, deve-se colocar os comandos em algum lugar na pasta /etc – mas como disse, nunca precisei, então nunca aprendi essa manha: