Я пытаюсь извлечь Карту памяти в командной строке с eject /dev/sdg1
но я получаю следующую ошибку:
eject: unable to open `/dev/sdg'
Команда размонтировала диск, но не извлекает его. Однако выполнение с sudo работает просто великолепно. Действительно ли это - ошибка или ожидаемое поведение? Я пытаюсь включить это в приложение Python, таким образом, sudo не является действительно опцией. Отметьте это umount
работает просто великолепно без sudo.
Это - карта флэш-памяти с интерфейсом USB. Я думаю, что существует только единственный раздел на нем
Нет никакого механизма для извлечения USB-устройства. Размонтируйте его с (в Вашем случае umount /dev/sdg1
и вручную удалите его. (Принимающий/dev/sdg1 единственный смонтированный раздел на/dev/sdg). Можно проверить то, как что разделы смонтированы на устройстве с командами lsblk
и mount | grep sdX
где sdX соответствует Вашему устройству (в Вашем случае ЦУР).
eject
специально для removeable медиа такой как Оптический, Гибкий, лента, ZIP, диски JAZ и не поддерживается флеш-накопителями вообще.
Источники:
man eject
Я думаю, что «извлечение» в случае 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) отключение одного диска может повлиять на другие диски. Таким образом, гарантий, связанных с выполнение этого действия. Обычно эффект таков, что диск пропадает. как если бы он был отключен от сети.