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

@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

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.

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.

@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.

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: