如何使用终端安全地远程移除 Debian 中的 USB 硬盘

如何使用终端安全地远程移除 Debian 中的 USB 硬盘

我通过 ssh 连接到 Debian 计算机。我需要做的是安全地移除外部 USB 存储设备。

我已经发现回答类似问题。建议之一是通过执行 弹出或卸载sudo eject /dev/sda。现在我的问题是我没有 /dev/sd*。所以下一个建议的解决方案是通过 echo

'offline' > /sys/block/sdb/device/state
echo '1' > /sys/block/sdb/device/delete

现在我的问题又来了。我怎么知道我的 USB 硬盘是 sdb 而不是 sda、sdc 或 sdd?

lsusb `just shows me` Bus 002 Device 008: ID 1058:25a2 Western Digital Technologies, Inc. Elements 25A2

你有什么想法吗?提前致谢

答案1

你做的事情太复杂了。;-)

通常执行以下操作即可:

  1. umount已安装的媒体(如果设备有多个分区,则对所有分区执行此操作)。
  2. 执行eject /dev/sdN(或任何/dev/disk/by-id/...对您更有用的操作;或来自 下另一个层次结构的设备/dev/disk)。

您可能会在这两者之间穿插一个调用sync,但我认为这是真正偏执的人的专利,因为它eject应该负责强制内核将所有缓冲数据推送到设备。请参阅eject(1)

答案2

这些适用于我的 debian11 系统:

卸载:

udisksctl 卸载 --块设备 /dev/sdb1

要关闭(即安全移除)设备:

udisksctl 关闭电源 --块设备 /dev/sdb

相关内容