A közelmúltban belefutottam egy olyan problémába, amikor egy csatlakoztatott SSHFS fájlrendszer nem volt hajlandó leválasztani.
Megpróbáltam leválasztani a Nautiluson belülről a jobb gombbal a csatlakoztatásra kattintva és az Unmount kiválasztásával, de ez egy hibaüzenettel nem sikerült. A hiba közölte, hogy az eszközt nem lehet leválasztani, és a következő okot adta meg: “mount disagrees with the fstab”.
Ezután megszerkesztettem az fstab-ot (sudo vi /etc/fstab
), és kikommentáltam az eszközre vonatkozó bejegyzést. Megpróbáltam újra lecsatolni a Nautilusban, de ezúttal azt mondta, hogy nem tudom lecsatolni az eszközt, mert nem vagyok root, és az eszköz nem szerepel az fstab-ban. Ezután kikommenteltem a korábban kommentált sort, és újra elmentettem a fájlt.
Az idő mocskolódik. Megpróbáltam manuálisan futtatni a umount
, de nem sikerült:
$ 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))$
Ez most már kezdett személyessé válni, mivel az előző üzenetek nem mondtak semmit arról, hogy az eszköz használatban van. Bezártam minden alkalmazást és újra próbálkoztam. Ugyanaz a hibaüzenet.
Követtem az utasításokat és lefuttattam a man lsof
majd a man fuser
parancsot, hogy többet tudjak meg ezekről az ajánlott parancsokról. a fuser volt a nyerő.
a fuser lehetővé teszi, hogy részletes információkat tudjunk meg azokról a folyamatokról, amelyek bizonyos fájlokat vagy foglalatokat használnak. Az információszerzés mellett lehetővé teszi a fájlhoz vagy foglalathoz hozzáférő folyamatok megállítását is. Pontosan ez volt az, amit kerestem.
A fuser szintaxisának elolvasása után a következőt futtattam:
$ sudo fuser -km /mnt/share/mnt/share/: 9004c$
Ez a parancs lényegében azt jelenti, hogy “keress meg minden folyamatot, amelyik hozzáfér a /mnt/share csatolási ponthoz, és öld meg”. Mivel nem voltam biztos a megölendő folyamatok tulajdonjogában, sudo-val futtattam, hogy megbizonyosodjak arról, hogy minden folyamat megölhető.
A /mnt/share/: 9004c
válasz azt jelenti, hogy egy 9004-es azonosítójú folyamat meg lett szüntetve.
Még egyszer lefuttattam:
$ sudo umount /mnt/share$
Ez a parancs vidáman semmit sem válaszolt, ami jó jel, hiszen ez azt jelenti, hogy az umount parancs sikeres volt.
Végre a mount lecsatolása megtörtént. Most már csak arra kellene emlékeznem, hogy mit akartam csinálni, amikor ez a probléma történt…
Segítettem?
- Küldjön nekem egy tippet Paypalon keresztül.
- Segítsen az oldal tárhelyén a Linode referral kódommal.