Не удается извлечь USB-накопитель без sudo?
Я пытаюсь извлечь USB-диск в командной строке с eject /dev/sdg1
но я получаю следующую ошибку:
eject: unable to open `/dev/sdg'
Команда размонтирует диск, но не извлекает его. Тем не менее, запуск с sudo работает просто отлично. Это ошибка или ожидаемое поведение? Я пытаюсь включить это в приложение Python, поэтому sudo на самом деле не вариант. Обратите внимание, что umount
работает просто отлично без sudo.
Это флешка. Я думаю, что есть только один раздел на нем
2 ответа
Нет механизма извлечения USB-устройства. Размонтировать его с помощью (в вашем случае umount /dev/sdg1
и вручную удалить его. (Предполагается, что / dev / sdg1 является единственным подключенным разделом в / dev / sdg). Вы можете проверить, какие разделы смонтированы на устройстве, с помощью команд, таких как lsblk
а также mount | grep sdX
где sdX соответствует вашему устройству (в вашем случае sdg).
eject
предназначен специально для съемных носителей, таких как оптические, флоппи-диски, магнитные ленты, ZIP, JAZ и не поддерживается флешками вообще.
Источники:
man eject
Я думаю, что "извлечение" в случае USB-накопителей означает отключение и отключение питания, как это реализовано некоторыми инструментами GUI (с символом извлечения).
Вы можете посмотреть в udisks
и инструмент udisksctl
,
Читать руководства
man udisks
man udisksctl
Например, вы найдете команды
udisksctl mount {--object-path OBJECT | --block-device DEVICE}
[--filesystem-type TYPE] [--options OPTIONS...]
[--no-user-interaction]
udisksctl unmount {--object-path OBJECT | --block-device DEVICE} [--force]
[--no-user-interaction]
udisksctl power-off {--object-path OBJECT | --block-device DEVICE}
[--no-user-interaction]
я думаю
udisksctl unmount --block-device <device> && \
udisksctl power-off --block-device <device>
Команды могут делать то, что вы хотите. В этом случае с одним разделом в 'SDG' <device>
является /dev/sdg1
power-off Arranges for the drive to be safely removed and powered off. On the OS side this includes ensuring that no process is using the drive, then requesting that in-flight buffers and caches are committed to stable storage. The exact steps for powering off the drive depends on the drive itself and the interconnect used. For drives connected through USB, the effect is that the USB device will be deconfigured followed by disabling the upstream hub port it is connected to. Note that as some physical devices contain multiple drives (for example 4-in-1 flash card reader USB devices) powering off one drive may affect other drives. As such there are not a lot of guarantees associated with performing this action. Usually the effect is that the drive disappears as if it was unplugged.