Eu tenho uma entrada em /etc/fstab
para montar um compartilhamento do Windows
//192.168.178.4/files /media/share/d cifs credentials=/home/arnold/.credentials,rw,dir_mode=0777,file_mode=0777 0 0
que não está montado durante o boot / login. Quando eu faço o login, vejo que o compartilhamento não está montado, depois de um sudo mount -a
é. Nos fóruns da hortelã, foi sugerido que a rede não estava funcionando. Criar um script em /etc/network/if-up.d/fstab
(ou outro nome) resolveria o problema. Na verdade, esse diretório é destinado a scripts como este. Uma excelente sugestão. Eu criei o script, mas infelizmente não funcionou. Eu adicionei algumas declarações de log e o script é assim:
#!/bin/sh
date +"%m/%d/%Y %H:%M:%S $HOSTNAME fstab before mounting" >>/var/log/fstab.log
#mount -av >>/var/log/fstab.log
date +"%m/%d/%Y %H:%M:%S $HOSTNAME fstab mount executed" >>/var/log/fstab.log
echo " " >>/var/log/fstab.log
O script é executável e o proprietário é raiz. Quando executo o script após o login, o compartilhamento é montado corretamente. Certifiquei-me de que o arquivo de log estava vazio e copiei diretamente após o login, onde se lê:
01/03/2017 09:55:45 before mounting
/ : ignored
/data : already mounted
/home : already mounted
none : ignored
01/03/2017 09:55:45 mount executed
01/03/2017 09:55:45 before mounting
/ : ignored
/data : already mounted
/home : already mounted
none : ignored
01/03/2017 09:55:45 mount executed
01/03/2017 09:55:51 before mounting
/ : ignored
/data : already mounted
/home : already mounted
none : ignored
01/03/2017 09:55:51 mount executed
É executado três vezes (uma vez para cada interface de rede?). Quando próximo eu corro sudo mount -av
eu recebo:
/ : ignored
/data : already mounted
/home : already mounted
none : ignored
/media/share/d : successfully mounted
Como você pode ver comparando esses dois logs, nenhuma tentativa (visível) é feita pela montagem para montar o compartilhamento de rede durante a inicialização.
Eu obtive muitas sugestões excelentes para soluções alternativas nos fóruns do Linux, mas nenhum deles respondeu a pergunta porque o script no if-up.d
se comporta de maneira estranha e eu não tenho nenhuma solução que me dê um compartilhamento montado a partir do terminal acessível através do navegador de arquivos embora). Eu tenho as seguintes perguntas:
- é
if-up.d
o lugar para montar um compartilhamento de arquivo?
- em caso afirmativo, qual poderia ser a razão pela qual isso não funciona no meu sistema (o que estou fazendo errado?)
- se não, qual é o local regular para essas montarias?
Eu sou um novato no Linux e vejo esse problema como um curso intensivo no Linux :-), mas fique por perto se eu não entender uma sugestão de uma vez.
Usando o mint 18.1 com mate, o servidor é um QNAP NAS que possui o firmware mais recente.
Editar Eu estava procurando pontos nos logs que mencionaram algo sobre a montagem desse compartilhamento e encontrei algumas entradas em /var/log/syslog
:
Jan 3 09:19:53 lassus systemd[1]: Started Network Manager Wait Online.
Jan 3 09:19:53 lassus systemd[1]: Reached target Network is Online.
Jan 3 09:19:53 lassus systemd[1]: Mounting /media/share/d...
Jan 3 09:19:53 lassus systemd[1]: Starting /etc/rc.local Compatibility...
Jan 3 09:19:53 lassus mount[1301]: error 2 (No such file or directory) opening credential file /home/arnold/.credentials
Jan 3 09:19:53 lassus systemd[1]: media-share-d.mount: Mount process exited, code=exited status=2
Jan 3 09:19:53 lassus systemd[1]: Failed to mount /media/share/d.
Jan 3 09:19:53 lassus systemd[1]: Dependency failed for Remote File Systems.
Jan 3 09:19:53 lassus systemd[1]: remote-fs.target: Job remote-fs.target/start failed with result 'dependency'.
Jan 3 09:19:53 lassus systemd[1]: media-share-d.mount: Unit entered failed state.
O arquivo de credenciais existe absolutamente. Eu mudei o dono de mim mesmo para a raiz, mas isso também não ajudou.