LINUX.ORG.RU

Безопасное извлечение устройств в Linux

 


0

1

Помнится в винде был сабж. Что это по сути и с чем едят? Я правильно понимаю, что это просто правильное прекращение операций ввода-вывода? То есть никаких сгоревщих флешек быть не может, максимум побитая фс?

И какая альтернатива в онтопике? umount? Необходимо ли мне это делать, если у меня pcmanfm монтирует устройства с флагами

rw,nosuid,nodev,relatime,uid=1000,gid=100,fmask=0022,dmask=0077,codepage=437,iocharset=iso8859-1,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2

не вижу sync, без нее есть риск при выдергивании без отмонтирования

leave ★★★★★ ()
Ответ на: комментарий от leave

а вообще как-нибудь можно задать максимальный интервал времени, после которого флешка гарантировано синхронизируется?

teod0r ★★★★★ ()

Я правильно понимаю, что это просто правильное прекращение операций ввода-вывода

Неправильно.
Давно это не делал, но лет 5 назад в винде при подобном отмонтировании потухал индикатор на флешке, а в линупсе нет.
Я конечно не физик-ядерщик, но прозреваю, что раз индикатор горит, то выдёргивание всё ещё чревато (у меня примерно так одна флешка и умерла)

zolden ★★★★★ ()
Ответ на: комментарий от zolden

Я конечно не физик-ядерщик, но прозреваю, что раз индикатор горит, то выдёргивание всё ещё чревато

Альтернатива безопасного извлечения

udisks --unmount /dev/sdb1 && udisks --detach /dev/sdb
правда, в udisks2 в генте это изменили. Вот, раскопал, что убунте оно таки работает:
http://ubuntuforums.org/showthread.php?t=1821645

iVS ★★★★★ ()

Помнится в винде был сабж. Что это по сути и с чем едят? Я правильно понимаю, что это просто правильное прекращение операций ввода-вывода? То есть никаких сгоревщих флешек быть не может, максимум побитая фс?

именно так. Сброс всех кешей на диск и отключение. USB рассчитан на горячее включение.

И какая альтернатива в онтопике? umount?

да. Хотя я мышкой тыкаю как в маздае. Ибо лениво. Есть простое правило: чем монтировал, тем и размонтируй.

Необходимо ли мне это делать

да. Если так не делать, некоторый файлы не полностью пишутся. Или вообще не пишутся. ФС вряд ли убьёшь, но можешь в теории. USB-HDD лучше размонтировать, в теории можно испортить интерфейс без отключения (на практике это говно само раньше умрёт).

drBatty ★★ ()
Ответ на: комментарий от leave

не вижу sync

правильно не видишь. Риск есть и с ней. С ней просто медленнее.

drBatty ★★ ()
Ответ на: комментарий от teod0r

а вообще как-нибудь можно задать максимальный интервал времени, после которого флешка гарантировано синхронизируется?

не нужно.

drBatty ★★ ()
Ответ на: комментарий от iVS

Оп-паньки:

The «safe remove» functionality was removed from udisks2, and it's not planned to bring it back. It caused too much trouble with e. g. devices which are internally wired to an USB port, and you could never use them again until after a reboot. Also, having two options was a constant source of confusion.

iVS ★★★★★ ()
Ответ на: комментарий от zolden

Я конечно не физик-ядерщик, но прозреваю, что раз индикатор горит, то выдёргивание всё ещё чревато (у меня примерно так одна флешка и умерла)

флешка умерла не из-за этого. А вот USB-HDD - в принципе может. (в теории).

drBatty ★★ ()
Ответ на: комментарий от iVS

The «safe remove» functionality was removed from udisks2, and it's not planned to bring it back

а оно и в венде через задницу работало (если работало). в линуксе точно также. Проблема в девайсах, которые неполностью соответствуют стандартам (точнее, производитель не обязан реализовывать эту фичу, а в флешках она точно не нужна. ИМХО в HDD тоже)

drBatty ★★ ()
Ответ на: комментарий от drBatty

а с флагом flush я правильно понимаю, что все скидывается прямо во время передачи? То есть если cp мне сказал что запись завершена, значит она завершена? Есля я уверен в том что все комманды закончили запись я могу споконо вытаскивать?

actics ()
Ответ на: комментарий от actics

а с флагом flush я правильно понимаю, что все скидывается прямо во время передачи?

нет.

flush If set, the filesystem will try to flush to disk more early than normal. Not set by default.

скидывается с sync. а с flush оно видимо скидывается во время простоя(команда всё «записала», однако НЕ завершилась).

То есть если cp мне сказал что запись завершена, значит она завершена? Есля я уверен в том что все комманды закончили запись я могу споконо вытаскивать?

как я понял - да. cp будет ждать, пока всё запишется.

Лично я монтирую флешки без этих опций. И потом размонтирую. Если идёт запись, флешка не размонтируется. Ибо с sync долго очень, а с flush - нет гарантий, что другое копирование не идёт.

drBatty ★★ ()
Ответ на: комментарий от zolden

Что касается индикаторов, то на разных компьютерах они ведут себя по разному. Должно быть ещё от железа зависит.

Programmist11180 ★★★ ()

Данным вопросом как-то не страдал, просто понимая, как это работает. Соответственно, флешку вынимал только после отмонтирования. То, что повредится ФС - это не факт, но что имеешь риск получить половину записываемого файла - вот это факт.

cadaber ()
Ответ на: комментарий от drBatty

не нужно.

так ты знаешь как это сделать или нет?

teod0r ★★★★★ ()
Ответ на: комментарий от teod0r

а вообще как-нибудь можно задать максимальный интервал времени, после которого флешка гарантировано синхронизируется?

так ты знаешь как это сделать или нет?

знаю. патч сделать. только я не думаю, что это кому-то кроме тебя нужно. потому патч тоже тебе делать.

ЗЫЖ а зачем тебе это?

drBatty ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.