Terkadang ketika saya ingin umount suatu perangkat, mis
sudo umount /dev/loop0
Saya akan menerima pesannya
umount: /mnt: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
Saya biasanya mengatasi masalah ini dengan menutup jendela konsol (dalam kasus saya xfce4-terminal) dan kemudian umount
.
Apa artinya masalah ini? Apakah ada solusi yang lebih cerdas?
Jawaban:
Ini berarti bahwa beberapa proses memiliki direktori yang berfungsi atau file terbuka menangani di bawah titik mount. Hal terbaik yang harus dilakukan adalah mengakhiri proses yang menyinggung, mengubah direktori kerjanya atau menutup pegangan file sebelum melepas.
Ada alternatif di Linux. Menggunakan
umount -l
panggilan "malas" tidak terpasang. Sistem file masih akan di-mount tetapi Anda tidak akan dapat melihat atau menggunakannya, kecuali untuk proses yang sudah menggunakannya. Ketika program yang mengganggu keluar (melalui cara apa pun) sistem akan "menyelesaikan" melepas sistem file.sumber
lsof
mungkin merupakan cara terbaik.lsof | grep loop0
?Anda juga dapat menggunakan
fuser
untuk membunuh semua proses menggunakan sistem file yang terpasang.Pilihan:
Periksalah diri Anda di tempat menjelaskan .
sumber
Mengingat "solusi biasa" Anda, itu berarti bahwa shell yang Anda jalankan di jendela konsol Anda memiliki direktori dalam sistem file pada perangkat itu sebagai direktori kerjanya saat ini.
Linux, dan Unix secara umum, sangat menginginkan agar sistem file tetap terpasang jika suatu proses memiliki direktori kerja saat ini dalam sistem file tersebut.
Anda bisa menggunakan
cd
di jendela konsol untuk keluar dari direktori di dalam atau di bawah/mnt
daripada membunuh jendela konsol, dan shell berjalan di dalamnya.sumber
Saya menemukan situasi yang dapat mengganggu pelepasan perangkat yang akan saya bagikan sebagai jawaban meskipun pertanyaan ini sudah sangat lama.
Jika Anda memiliki saham NFS yang di-host di mesin, dan salah satu saham NFS tersebut didukung oleh perangkat yang Anda coba lepas, Anda harus berhenti membagikannya (paling baik dilakukan dengan menghentikan layanan NFS, misalnya
sudo service nfs-kernel-server stop
pada versi terbaru dari Ubuntu ). Server NFS mungkin tidak muncul di lsof atau fuser, yang dapat membuat masalah sulit untuk diidentifikasi.sumber