8 votes

Forcer le démontage d'un périphérique, comment faire ?

J'ai monté un périphérique de bloc (disque dur interne) pour dire ~/HD et j'essaie,

~# umount ~/HD

Il répond,

umount: device is busy.

Maintenant, je tue tous les processus manuellement en examinant

~# fuser -m ~/HD

Je m'assure également qu'aucun processus n'accède à la base de données. ~/HD chemin

~# lsof | grep HD

Toujours umount ~/HD dit device is busy même avec -f opción.

PS : Je ne veux pas utiliser la fonction -l option de umount puisque le périphérique monté est en fait un périphérique de mappage crypté, qui ne sera pas démonté à moins que le périphérique de mappage ne soit clairement démonté.

Donc, en gros, ma question est de savoir comment vraiment force umount pour démonter un périphérique OU Comment un périphérique peut-il encore être marqué en tant que occupé tant qu'aucun processus n'y accède (ou du moins fuser y lsof ne le signalent pas) et ce que je peux faire à ce sujet ?

Je suis sur Ubuntu 9.10 x64.

6voto

IvanGoneKrazy Points 261

Assurez-vous que votre répertoire de travail actuel (exécutez 'pwd') n'est pas sous ~/hd. Si vous êtes actuellement dans ce répertoire, umount refusera de démonter.

3voto

dequin Points 113

Commande lsof vous indiquera le(s) processus qui maintiennent un fichier ouvert.

3voto

WingManEXE Points 611

Vous verrez ce comportement si vous avez monté quelque chose d'autre sur un sous-répertoire de ~/hd. Dans ce cas, ni fuser ni lsof ne montreront quoi que ce soit. Si vous n'avez rien monté sous ~/hd ('mount' répondra à cette question), alors je ne suis pas sûr de ce qu'il faut vérifier.

2voto

Daniel Peirano Points 111

Pour localiser les processus/utilisateurs actifs exécutés :

fuser -u /path/to/mount

puis exécutez ce qui suit pour les supprimer :

fuser -k /path/to/mount

enfin umount l'appareil incriminé.

1voto

Pete Points 11

Larsks a écrit : "Vous verrez ce comportement si vous avez monté quelque chose d'autre sur un sous-répertoire de ~/hd. Dans ce cas, ni fuser ni lsof ne montreront quoi que ce soit."

L'utilisation de lsof avec grep montrera l'utilisation des sous-répertoires - par exemple "lsof |grep HD".

J'ai eu le même problème que le poster original et j'ai trouvé la cause en utilisant la commande ci-dessus.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X