LINUX.ORG.RU
решено ФорумTalks

Про размонтирование флешек


1

2

Наблюдая в очередной раз, как знакомые вендузятники просто выдергивают флешки из компов, мне подумалось: а нафига я годами парюсь с этим всем sudo umount или гуй-аналогами? У людей вроде вон, годами флешки работают, и ничего. Зачем вообще нужно размонтирование? Ну кроме очевидной очистки моунт-пойнта, чтобы фс видела, что директория снова пустая. Правда ли, что если выдергивать флешку не размонтировав ее, она умрет быстрее? Если да, то что именно и почему откажет? И есть ли разница между выдергиванием не размонтированной флешки/ssd и hdd?

★★★

Просто данные пофигачишь.

Я когда последний раз флешку вынимал, после окончания записи файла на 12 ГБ, ждал этак минуты две наверно.

Флешка exFAT, драйвер ядерный.

fornlr ★★★★★
()

винда при записи на флешку применяет отличающуюся от дисков политику кеширования. В каких-то случаях из-за этого медленнее работает, но возможноо в среднем на практике этой удобней.

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

Ну вот я и хочу понять,как и почему они могут пофигачиться. Ты имеешь ввиду, umount долго отрабатывала? Да,бывает такое тоже.

Dog ★★★
() автор топика

Видимо, на винде, если прогресс-бар копирования исчез, то всё сделано — файлы реально скопированы, кеши сброшены.

greenman ★★★★★
()
Последнее исправление: greenman (всего исправлений: 2)
Ответ на: комментарий от greenman

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

Dog ★★★
() автор топика

Да, данные могут потеряться. Прочитай про механизм отложенный записи, которые кретины придумали, не иначе... :(

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

период времени когда ланные уже находятся в кеше, но ещё не на диске - в винде сильно меньше.

И выдёргивая в моменты когда нет очевидной активной записи - скорее всего попадёшь в момент времени, когда состяние ФС консистентно.

GPFault ★★
()

всегда перед отмонтированием делаю синк, а так, по идее, ей пофиг, когда её вынимают, что при записи/чтении, что в простое, данные только можно потерять

IvanR ★★★
()

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

и только функция безопасного извлечения устройства уже отключает питание на usb порте, до следующего переподключения. кстати так в линуксах через udev тоже можно делать. я планировал использовать этот механизм для booty во время загрузки дистрибутива в tmpfs. т.е. система загружается в память с флешки, а затем подаёт сигнал чтобы флешку отключить, таким образом из загруженной операционной системы нельзя будет навредить вставленному usb-накопителю с системой.

Spoofing ★★★★★
()

Правда ли, что если выдергивать флешку не размонтировав ее, она умрет быстрее?

Неправда. Она не умрёт, но несвоевременное выдёргивание - файловую систему может обрушить запросто. FAT32 конечно вряд-ли, но NTFS, ext4, BTRFS, к подобному «выдёргиванию» могут быть весьма чувствительны. В смысле - невозможности прочитать на предполагаемом устройстве. Пишет буквально - заблокировано. И всё чисто из-за того, что кто-то выдернул флешку, не дождавшись конца операции.

cadaber ★★
()

Свали-ка ты к себе в Яндекс.Дзен.

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

А как это влияет на последствия выдергивания без рамонтирования?

Винда использует флешку, а может и все накопители вообще с жёстким sync и flushoncommit, а вот linux использует кеш записи.

И по этому да, виндузятники могут дёргать флешку, а ты нет.
К тому же если выдёргивать без отмонтирования то у тебя до перезагрузки на вечно останется занятым мажор и минор под которым эта флешка была смонтирована.

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

> Винда использует флешку, а может и все накопители вообще с жёстким sync и flushoncommit, а вот linux использует кеш записи.

Да бросте вы фигнёй-то страдать. При подключении устройства, особенно внешнего, особенно USB, винда получает маркер. Например, «внт в ожидании». И блокирует его нафик! Ну, если честно, сподобным поведением винтов - я не сталкивался. Зато с флешками - постоянно. «dd if=/dev/zero of=/dev/sdb count=2046» обычно решает все проблемы. Если нашли другие - пишите в почту.

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

отключает питание на usb порте

Не надо распространять дезинформацию. Флешке посылается сигнал suspend, флешка гасит светодиод. Всё.

до следующего переподключения

Сам подумай — допустим, на порту нет питания, ты вытащил флешку, вставил другую. Как об этом узнать?

Прочти на досуге:

можно ли программными средствами (написав например какой-то код) выключить подачу электричества на USB

greenman ★★★★★
()
Последнее исправление: greenman (всего исправлений: 2)

Данные могут похериться и в линухе, и в винде в равной степени. Нельзя выдергивать пока идет запись. Когда запись завершена - хоть обвыдергивайся, никаких проблем не будет.

Разница в том, что пропадание бара в винде означает завершение записи, а в линухе - не фааакт. Пользуясь случаем, хочу передать пламенный привет Кедам.

Самый оптимальный вариант - флешка с лампочкой. Если лампочка мигает - не выдергивай. Перестала мигать - все будет норм.

Я лично никогда не размонтирую.

qtm ★★★
()
Последнее исправление: qtm (всего исправлений: 1)

Про файловый кэш уже сказали. Решением для безопасного извлечения может быть:

  • монтировать с указанием не использовать файловый кэш (см. pmount -s,
  • если не монтируешь, а пишешь из dd, то добавить опцию oflag=direct (см. man dd)
apt_install_lrzsz ★★★
()

Они могут так делать, потому что в Windows 10 есть механизмы, что предотвращают потерю данных при просто выдергивании (ФС синкуются в фоне и т.п.). Всё для удобства людей.

Vsevolod-linuxoid ★★★★★
()

Флешка может сдохнуть только если ты ее выдернешь в процессе записи. Даже не сама флешка, а фс на ней. Ну то есть есть риск потери данных.

Если с нее просто что-то копировалось или уже давно она просто торчит, то можно и выдернуть, ничего страшного.

Zhbert ★★★★★
()

Ты действительно не знаешь, что такое кеш записи? Или ты троллишь?

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

Ты их сам рисуешь что-ли? Сможешь нарисовать белую единорожку в чёрной кожанке или в футболке с какой-нить надписью и бело-синих кроссах. Ну или без кроссов, чтобы она гламурной получилась.
Девчонке одной хочу подарить, она с детства любит единорожек.
Если сможешь, то сколько это будет стоить?

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

Если монтировали руками, то руками и размонтируете. Отвечая на вопрос «зачем?» Шобы смонтированный каталог не мешался.

anc ★★★★★
()

Если нет журнала, то можно сломать ФС. Если есть журнал, то можно потерять недавние изменения. На срок службы флешки влиять не должно.

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

Винда использует флешку, а может и все накопители вообще с жёстким sync и flushoncommit

Точно нет. Случаи когда жмякаешь «извлечение устройства» и флэшка ещё долго моргает вполне присутствуют.

anc ★★★★★
()

Кто-то, может, и компьютер из розетки выдёргивает просто. Неужели так сложно одну кнопку нажать, чтобы не надеяться на «авось ФС не сломается в этот раз»?

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

Более того, эта политика была всегда по умолчанию и с windows 7/8. Не нужны эти телодвижения.

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

ЧОТЫЗНАЕШЬЧОТЫЗНАЕШЬЧОТЫЗНАЕШЬЧОТЫЗНАЕШЬЧОТЫЗНАЕШЬЧОТЫЗНАЕШЬЧОТЫЗНАЕШЬЧОТЫЗНАЕШЬЧОТЫЗНАЕШЬ

SYNC(1) User Commands SYNC(1)

NAME
sync - Synchronize cached writes to persistent storage

SYNOPSIS
sync [OPTION] [FILE]...

DESCRIPTION
Synchronize cached writes to persistent storage

If one or more files are specified, sync only them, or their containing file systems.

darkenshvein ★★★★★
()

ты поехавший, серъёзно

следующий раз, когда при тебе кто-то скажет про дорожную яму, с «умным» видом скажи, что такое «каток-асфальтоукладчик» и прочитай про него лекцию.

fornlr ★★★★★
()
Последнее исправление: fornlr (всего исправлений: 2)
Ответ на: комментарий от torvn77

а может и все накопители вообще с жёстким sync и flushoncommit, а вот linux использует кеш записи.

Опять болезный вылез со своим ценным мнением

vasya_pupkin ★★★★★
()

мне подумалось: а нафига я годами парюсь с этим всем sudo umount или гуй-аналогами?

А что, linux уже научилось назначать политики использования стационарных носителей и отсоединяемых носителей, как это делает Windows? По умолчанию — нет, linux такого не делает. Нужно специально указывать в настройках инструментария монтирования для подсоединяемых носителей опцию «sync» и тогда можно в теории безопасно выдёргивать флэшку без явного отмонтирования и боязни потери последних изменяемых файлов.

iZEN ★★★★★
()
Последнее исправление: iZEN (всего исправлений: 1)

Всю жизнь рывком выдергиваю и флешки, и usb-диски. Всю жизнь слышу, что так я непременно потеряю данные. Не терял ни разу.

Про то, что так флешка быстрее умирает не слышал ни разу, добавляю в копилку.

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

как это делает Windows?

Виндоус так не делает. По крайней мере, до 10й, я её буквально пару раз видел.

опцию «sync»

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

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

Всю жизнь рывком выдергиваю

Не терял ни разу

Слабо дёргаешь. Я так однажды вместе с флешкой выдрал материнку компа прямо сквозь корпус да ещё и локтем пробил стену сильно ударился.

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

вранье! давеча помогал вендудоизу какие-то файлы на флешечке перенести.

флешка была старая, на ней светоидиод моргал в момент активности. так вот он моргал еще секунд 30, после пропадания всех диалогов.

суть в том, что даже после отмонтирования, пока на флешке есть питание, она может заниматься всякой херной (типа trim, расчистки свободных сбоков и прочего что поидее не должно ломать данные, но всякая херня по прежнему может случчиться). именно поэтому пока она торчит в порту, она по-прежнему нагревается.

n_play
()
Последнее исправление: n_play (всего исправлений: 2)

Зачем вообще нужно размонтирование?

Если у тебя hdparm -W 0 то не нужно. У вендузятников так. А ты что думал?

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

Кстати, ещё вспомнил. На какой-то версии оффтопика SD карты без кеша записывались, а CF - как жёсткие диски, и их надо было отмонтировать. Но это к более опытным фотографам.

Shadow ★★★★★
()
Последнее исправление: Shadow (всего исправлений: 1)
Ответ на: комментарий от fornlr

данная функция включена по умолчанию в Windows 10 (версия 1809) и Windows 10 (версия 1903).
повысит риски потери данных при внезапном извлечении носителя.

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

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

FAT32 конечно вряд-ли, но NTFS, ext4, BTRFS, к подобному «выдёргиванию» могут быть весьма чувствительны.

Как раз-таки fat32 наименее стабильна, потому что в ней нет журнала. У меня когда-то был бракованный жесткий диск. На fat32 данные писались до конца, но не читались после перезагрузки. На ntfs запись шла в несколько этапов. Когда данные переставали читаться, был слышен стук головок, а потом система перезагружалась. Не было кучи фантомных нечитаемых файлов, как в fat32. Считаю, что лучше как в ntfs. Не знаю, что там с «заблокированными» файлами на флешке, никогда не сталкивался. Может быть потому, что сначала отмонтирую по-человечески, а не жестко выдергиваю.

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

Как раз-таки fat32 наименее стабильна, потому что в ней нет журнала.

Здрасте! Как нет, если там в начале раздела две копии? А NTFS более продвинутая, там копии ФС постоянно валяются.

При жестком выдёргивании флешек, эабудь нахрен про файловую систему, и что потом не примонтируется. Данные, бля, переписываемые, важнее, типо. Ну и нефик выдёргивать раньше чем записалось.

cadaber ★★
()

А потом эти же люди приходят и плакаюццо, что куда-то все файлы пропали на флешке. Знаем, проходили. Так что демонтировать обязательно.

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