Linux

如果 U 盤已解除安裝,如何輕鬆移除它?

  • September 17, 2016

有時我拔掉我的 USB 驅動器只是發現文件沒有寫入它。

我想確保將文件寫入其中的唯一方法是右鍵點擊桌面上的 USB 驅動器,然後選擇“解除安裝”,但有時我會忘記。

確保文件立即寫入 USB 驅動器的最佳方法是什麼?這樣,當我注意到 USB 驅動器上的 LED 燈停止閃爍時,我就可以移除 USB 驅動器。

作業系統:CentOS 6

通常情況下,大容量儲存設備(例如 USB 拇指驅動器)是使用命令安裝的,mount. 需要使用此命令的補充來顯式解除安裝它們umount(這不是錯字)。有一些工具可以檢測硬體級別的事件,例如剛剛插入的 USB 設備。這些“服務”將自動為您進行安裝。這就是您使用 GNOME 桌面時發生的情況,您通常會看到 USB 驅動器顯示為已安裝在文件瀏覽器 Nautilus 中。

知道設備何時不再被寫入稍微有點棘手。您必須為此編寫自己的處理程序,使用 Udev 和 DBUS 消息來了解每次何時完成對設備的寫入,然後明確地將其保持在“未安裝”狀態。

如果沒有更深入地集成到 Linux 中的各種子系統中,我看不到任何其他方法可以做到這一點,據我所知,目前還不存在。

MAC OSX

我的猜測是,在 OSX 上,他們正在執行sync命令並讓設備“掛載”,這可能被認為是一件危險的事情,但對操作員來說卻很方便。

如果您sync在可移動驅動器上使用掛載選項,所有寫入都會立即寫入磁碟,因此您不會失去尚未寫入的文件中的數據。這是一個壞主意,但它可以滿足您的要求。

請注意,sync這並不保證您不會失去數據。解除安裝可移動驅動器還可以確保沒有應用程序打開文件。如果您在拔出之前不解除安裝,您將不會注意到是否有未保存的數據,直到為時已晚。在文件打開時解除安裝也增加了損壞的機會,無論是在文件系統級別(作業系統可能已將一些操作排隊直到文件關閉)和應用程序級別(例如,如果應用程序放置一個鎖定文件,它就不會’ t 被刪除)。

此外,sync對設備的使用壽命不利。如果沒有該sync選項,核心將重新排序寫入並分批寫入。使用該sync選項,核心按照應用程序請求的順序寫入每個扇區。在不重新分配扇區的廉價快閃記憶體介質上(意味著幾乎所有較舊的 USB 記憶棒,我不知道最近的 USB 記憶棒是否仍然如此),重複寫入 (V)FAT 上的文件分配表或日誌在典型的現代文件系統上可以很快殺死棒

因此我不推薦使用syncmount 選項。

在 FAT 文件系統上,您可以使用**flushmount 選項**。這是介於async(預設)和sync:之間的中間flush選項,一旦驅動器空閒,核心就會刷新所有寫入,但它不保留寫入順序(因此例如合併所有對 FAT 的寫入)。

引用自:https://unix.stackexchange.com/questions/90137