Di recente mi sono imbattuto in un problema in cui un filesystem SSHFS montato si rifiutava di smontare.
Ho provato a smontarlo dall’interno di Nautilus facendo clic con il tasto destro sul supporto e selezionando Smonta, ma questo è fallito con un messaggio di errore. L’errore mi diceva che non poteva smontare il dispositivo e dava una ragione di “mount disagrees with the fstab”.
Ho quindi modificato l’fstab (sudo vi /etc/fstab
) e commentato la voce per il dispositivo. Ho provato a smontare di nuovo in Nautilus, ma questa volta mi ha detto che non potevo smontare il dispositivo perché non ero root e il dispositivo non era elencato in fstab. Ho quindi decommentato la linea precedentemente commentata e salvato il file di nuovo.
Tempo di sporcarsi. Ho provato ad eseguire manualmente umount
, ma ha fallito:
$ 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))$
Questo stava diventando personale ora, poiché i messaggi precedenti non dicevano nulla sul fatto che il dispositivo fosse in uso. Ho chiuso tutte le applicazioni e ho riprovato. Stesso messaggio di errore.
Ho seguito le istruzioni e ho eseguito man lsof
seguito da man fuser
per scoprire di più su quei comandi raccomandati. fuser era il vincitore.
fuser ti permette di trovare informazioni dettagliate sui processi che stanno usando specifici file o socket. Oltre a ottenere informazioni, ti permette di uccidere i processi che accedono al file o al socket. Questo era esattamente ciò che stavo cercando.
Dopo aver letto la sintassi di fuser, ho eseguito quanto segue:
$ sudo fuser -km /mnt/share/mnt/share/: 9004c$
Questo comando si traduce fondamentalmente in “trova ogni processo che sta accedendo al punto di montaggio /mnt/share e uccidilo”. Poiché non ero sicuro della proprietà dei processi che sarebbero stati uccisi, l’ho eseguito con sudo per assicurarmi che ogni processo potesse essere ucciso.
La risposta /mnt/share/: 9004c
significa che un processo con un ID di 9004 è stato terminato.
Di nuovo, ho eseguito:
$ sudo umount /mnt/share$
Questo comando ha risposto allegramente con niente, che è un buon segno perché significa che il comando umount è riuscito.
Finalmente, il supporto è smontato. Ora se solo potessi ricordare cosa stavo cercando di fare quando è successo questo problema…
Ti ho aiutato?
- Inviami un suggerimento tramite Paypal.
- Aiutami con l’hosting di questo sito con il mio codice di riferimento Linode.