163 votes

Comment forcer une connexion CIFS à se démonter ?

J'ai un partage CIFS monté sur une machine Linux. Le serveur CIFS est en panne, ou la connexion Internet est en panne, et tout ce qui touche le montage CIFS prend plusieurs minutes pour se terminer, et est impossible à tuer pendant que vous attendez. Je ne peux même pas exécuter ls dans mon répertoire personnel parce qu'il y a un lien symbolique qui pointe à l'intérieur du montage CIFS et ls essaie de le suivre pour décider de sa couleur. Si j'essaie de le monter (même avec -fl), le processus de montage se bloque comme le fait ls. Même sudo kill -9 ne peut le tuer. Comment puis-je forcer le noyau à démonter ?

0 votes

199voto

disq Points 855

J'utilise le démontage paresseux : umount -l (c'est une minuscule L )

Démontage paresseux. Détache le système de fichiers de la hiérarchie du système de fichiers maintenant, et nettoie toutes les références au système de fichiers dès qu'il ne sera plus occupé plus. (Nécessite le noyau 2.4.11 ou une version plus récent).

47 votes

Cela n'a pas fonctionné pour moi au début. Après avoir expérimenté un certain temps (dans un nouveau terminal virtuel à chaque fois), j'ai trouvé ceci : sudo umount -a -t cifs -l . Soit cela a fonctionné, soit le premier umount a pris un certain temps (120s ? 300s ?) pour se terminer. J'ai reçu de nombreux avertissements concernant le blocage de l'umount pendant plus de 120 secondes.

2 votes

Et ensuite j'ai dû tuer tous les umounts suspendus avant de pouvoir remonter.

16 votes

J'avais aussi besoin sudo umount -a -t cifs -l pour le faire fonctionner.

81voto

user2489809 Points 21

umount -a -t cifs -l

a fonctionné comme un charme pour moi sur CentOS 6.3. Cela m'a évité un redémarrage du serveur.

9 votes

Pourriez-vous développer ce que -a et -l sont et comment ils aident ?

12 votes

-a et -t cifs démontent tous les systèmes de fichiers cifs. Il est préférable de spécifier celui que vous voulez démonter.

2 votes

C'est parfait si vous avez monté via un navigateur de fichiers et que vous ne pouvez pas localiser le point de montage en question - à condition que cela ne vous dérange pas qu'il démonte tout !

14voto

Phil Johnson Points 1

Cela fonctionne pour moi (Ordinateur de bureau Ubuntu 13.10 vers un serveur Ubuntu 14.04) :-.

 sudo umount -f /mnt/my_share

Monté avec

 sudo mount -t cifs -o username=me,password=mine //192.168.0.111/serv_share /mnt/my_share

où serv_share est celui qui est configuré et pointé dans le fichier smb.conf.

6voto

jnice Points 67

J'ai eu ce problème pendant un jour jusqu'à ce que je trouve la vraie résolution. Au lieu d'essayer de démonter de force un partage smb qui est bloqué, montez le partage avec l'option "soft". Si un processus tente de se connecter à un partage qui n'est pas disponible, il arrêtera d'essayer après un certain temps.

soft Rend la monture souple. Échoue les appels au système de fichiers après un certain nombre de secondes.

mount -t smbfs -o soft //username@server/share /users/username/smb/share

stat /users/username/smb/share/file
stat: /users/username/smb/share/file: stat: Operation timed out

Ce n'est peut-être pas une vraie réponse à votre question, mais c'est une solution au problème.

22 votes

Si vous regardez man mount.cifs vous remarquerez que soft est en fait la valeur par défaut.

1voto

disq Points 855

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X