Не может извлечь Карту памяти без sudo?

Я пытаюсь извлечь Карту памяти в командной строке с eject /dev/sdg1 но я получаю следующую ошибку:

eject: unable to open `/dev/sdg'

Команда размонтировала диск, но не извлекает его. Однако выполнение с sudo работает просто великолепно. Действительно ли это - ошибка или ожидаемое поведение? Я пытаюсь включить это в приложение Python, таким образом, sudo не является действительно опцией. Отметьте это umount работает просто великолепно без sudo.

Это - карта флэш-памяти с интерфейсом USB. Я думаю, что существует только единственный раздел на нем

0
задан 15 February 2019 в 12:23

2 ответа

Нет никакого механизма для извлечения USB-устройства. Размонтируйте его с (в Вашем случае umount /dev/sdg1 и вручную удалите его. (Принимающий/dev/sdg1 единственный смонтированный раздел на/dev/sdg). Можно проверить то, как что разделы смонтированы на устройстве с командами lsblk и mount | grep sdX где sdX соответствует Вашему устройству (в Вашем случае ЦУР).

eject специально для removeable медиа такой как Оптический, Гибкий, лента, ZIP, диски JAZ и не поддерживается флеш-накопителями вообще.

Источники:

man eject

4
ответ дан 26 October 2019 в 06:16

Я думаю, что «извлечение» в случае USB-накопителей означает размонтирование и отключение питания, как это реализовано некоторыми инструментами графического интерфейса (с символом извлечения).

Вы можете посмотреть 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' это / dev / sdg1

  power-off
Обеспечивает безопасное снятие и выключение привода. На ОС
сторона это включает в себя обеспечение того, чтобы ни один процесс не использовал диск, затем
запрашивая, чтобы буферы и кеши на лету были переведены в стабильное состояние
место хранения. Точные действия по отключению привода зависят от
сам привод и используемое межблочное соединение. Для приводов, подключенных через
USB, в результате конфигурация USB-устройства будет отключена, а затем
отключение восходящего порта концентратора, к которому он подключен.

Обратите внимание, что, поскольку некоторые физические устройства содержат несколько дисков (например,
Устройство чтения карт памяти 4-в-1 USB) отключение одного диска может повлиять на
другие диски. Таким образом, гарантий, связанных с
выполнение этого действия. Обычно эффект таков, что диск пропадает.
как если бы он был отключен от сети.
4
ответ дан 15 February 2019 в 19:55

Другие вопросы по тегам:

Похожие вопросы: