Mon collègue a un ordinateur de bureau avec /home
partagé sur notre serveur de fichiers. J'ai développé un script Perl pour sshfs
monter un certain répertoire sur un autre hôte SSH qui fonctionne bien sur mon ordinateur portable.
Sur son ordinateur, le script ne parvient pas à démonter le sshfs
à la fin et laisse le point de montage impur. Je n'ai trouvé aucun moyen de récupérer le point de montage autre que le redémarrage. Après quelques tests, j'ai constaté que la différence entre nos configurations est que la sienne /home
est sur NFS. Dans le sien, /tmp
cela fonctionne parfaitement.
Après le montage, pendant l'opération de script, tout va bien. Mais lorsque vous tuez le sshfs
processus, il est répertorié <defunc>
par ps
jusqu'à ce que le processus parent (le script Perl) se termine. Lors de l'exécution d'une sshfs
commande brute sur le shell, le problème se produit toujours.
Une ls -dl
sortie pour le point de montage ressemble à ceci (comme on s'en souvient - je n'ai pas de copie réelle de la sortie du shell à portée de main):
? 1 ? ? 4096 Feb 9 15:37 file_archive/
(uniquement des points d'interrogation pour la plupart des informations, au moins tous les détails de l'autorisation)
Le montage sshfs est toujours répertorié par mount
mais une opération de démontage échoue avec l' autorisation d' erreur refusée même en faisant comme root
.
J'ai cherché sur Google, mais je n'ai trouvé que de nombreuses comparaisons entre sshfs et NFS pour exécuter des systèmes de fichiers réseau. Comment puis-je faire un montage / démontage sshfs dans le répertoire NFS en toute sécurité?
umount
doit échouer lorsqu'il est exécuté en tant qu'utilisateur non root.root_squash
option. Ainsi, root n'a aucune autorité dans son répertoire d'origine. Vous pouvez désactiver,root_squash
mais il est probablement plus sûr de simplement monter ailleurs.umount
ou nefusermount -u
fonctionne pas, lorsque le répertoire est utilisé quelque part. Donc,cd
hors du répertoire avant d'utiliserfusermount -u
ou d'utiliserlsof /my/local/mountpoint
Il suffit de tuer le processus à l'aide de pkill et de démonter le chemin du dossier monté.
la source
Il semble que cette commande fonctionne sous OS X.
la source