Ik kwam onlangs een probleem tegen waarbij een aangekoppeld SSHFS bestandssysteem weigerde te unmounten.
Ik probeerde het vanuit Nautilus te unmounten door rechts te klikken op de koppeling en Unmount te selecteren, maar dit mislukte met een foutmelding. De foutmelding vertelde me dat het apparaat niet kon worden ontkoppeld en gaf als reden “mount disagrees with the fstab”.
Ik heb toen de fstab bewerkt (sudo vi /etc/fstab
) en de entry voor het apparaat uitgecommentarieerd. Ik probeerde opnieuw te unmounten in Nautilus, maar deze keer vertelde het me dat ik het apparaat niet kon unmounten omdat ik geen root was en het apparaat niet in de lijst van fstab stond. Ik heb toen de eerder becommentarieerde regel uitgecommentarieerd en het bestand opnieuw opgeslagen.
Tijd om vies te worden. Ik probeerde umount
handmatig uit te voeren, maar het mislukte:
$ sudo umount /mnt/shareumount: /mnt/share: device is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1))$
Dit werd nu persoonlijk omdat de vorige berichten niets zeiden over het apparaat dat in gebruik was. Ik sloot elke toepassing af en probeerde het opnieuw. Dezelfde foutmelding.
Ik volgde de instructies en draaide man lsof
gevolgd door man fuser
om meer te weten te komen over die aanbevolen commando’s. fuser was de winnaar.
fuser stelt je in staat om gedetailleerde informatie te achterhalen over processen die specifieke bestanden of sockets gebruiken. Naast het verkrijgen van informatie, kun je er ook processen mee doden die het bestand of de socket benaderen. Dit was precies waar ik naar op zoek was.
Na me te hebben ingelezen over de fuser syntaxis, voerde ik het volgende uit:
$ sudo fuser -km /mnt/share/mnt/share/: 9004c$
Dit commando vertaalt zich in “vind ieder proces dat toegang heeft tot het /mnt/share mount punt en dood het”. Omdat ik niet zeker was van het eigendom van de processen die gedood zouden worden, heb ik het met sudo uitgevoerd om er zeker van te zijn dat alle processen gedood konden worden.
Het /mnt/share/: 9004c
antwoord betekent dat een proces met een ID van 9004 werd beëindigd.
Terug, ik rende:
$ sudo umount /mnt/share$
Dit commando antwoordde vrolijk met niets, wat een goed teken is omdat het betekent dat het umount commando geslaagd is.
Eindelijk, de mount is unmounted. Als ik me nu maar kon herinneren wat ik probeerde te doen toen dit probleem zich voordeed…
Heb ik je geholpen?
- Stuur me een fooi via Paypal.
- Help met de hosting van deze site met mijn Linode verwijscode.