Как да поправя грешка при демонтиране в Linux?
Всеки знае, че преди да извадите флаш устройството от USB конектора, трябва да изпълните командата за демонтиране (или да щракнете върху иконата). Тази команда не винаги завършва успешно и в отговор може да получите съобщение като:
1 | Грешка при демонтиране на блоково устройство 8:17: GDBus.Error:org.freedesktop.UDisks2.Error.DeviceBusy: Грешка при демонтиране на /dev/sdb1: целта е заета |
Пише, че някакво приложение все още използва /dev/sdb1. За да идентифицирате това приложение, трябва да намерите къде е монтиран /dev/sdb1:
1 | $ mount grep /dev/sdb1 |
След това изпълнете следната команда:
1 | $ lsof +D /path_to_mounting_point |
Или този:
1 | $ fuser -m /path_to_mounting_point |
Остава само да затворите програмата, в краен случай, да убиете процеса и спокойно да демонтирате носителя. С помощта на фюзер това може да стане, което се нарича, на място:
1 | $ fuser -k -m /path_to_mount_point |
В най-крайния случай можете да не убиете приложението, но да демонтирате FS принудително:
1 | $ sudo umount -f -l /path_to_mounting_point |