Как временно извлечь флешку или жесткий диск в Linux?

Предположим, я установил диск таким образом:

mount /dev/sdb /mnt/tmp 

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

Если бы я думал о временном отсоединении заранее, я бы использовал устройство отображения устройства:

 # ls -lh /dev/sdb brw-rw---- 1 root floppy 8, 16 Sep 12 17:38 /dev/sdb # blockdev --getsize /dev/sdb 2211840 # dmsetup create sdb_detachable --table '0 2211840 linear 8:16 0' # mount /dev/mapper/sdb_detachable /mnt/tmp (start working with the filesystem) (suddenly need to detach the device) # dmsetup suspend sdb_detachable # dmsetup load sdb_detachable --table '0 2211840 error' # blockdev --flushbufs /dev/sdb (eject the device) (maybe even use the cached part of the filesystem) (reattach the device, now it appears as /dev/sdc) # ls -lh /dev/sdc && blockdev --getsize /dev/sdc brw-rw---- 1 root floppy 8, 32 Sep 12 17:51 /dev/sdc 2211840 # dmsetup load sdb_detachable --table '0 2211840 linear 8:32 0' # dmsetup resume sdb_detachable (filesystem is usable again) (finished using it, now need to clean up) # umount /mnt/tmp/ # dmsetup remove sdb_detachable # eject /dev/sdc 

Как это можно сделать, если устройство установлено напрямую? Могу ли я «украсть» его в устройство отображения устройства?

One Solution collect form web for “Как временно извлечь флешку или жесткий диск в Linux?”

Хм, это круто. Я не знал, что dmsetup может это сделать. 🙂

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

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

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

Интересная проблема. 🙂

  • Инструмент для сброса суперблока Linux VFS
  • Докер в Крютоне - VFS, потребляющий астрономические объемы пространства
  • Откуда берется размер файла, т. Е. Как ls и cp знают размер файла?
  • Interesting Posts

    scp -3 больше не работает

    Добавление других прав rw для файла

    RHEL6 + Ошибка: сжатие xz недоступно

    Есть ли способ подавать звуковой сигнал, когда tail -F перестает получать новые результаты?

    Служба CentOS – cron умирает каждые несколько дней

    ZFS – «Добавить. Sense: Неисправленная ошибка чтения – auto reallocate failed "в syslog, но данные SMART выглядят нормально

    удаление строки из файла с помощью grep или sed, но количество строк все равно одинаково

    Вам нужно установить Java для работы в студии Android?

    Почему я не могу отправить почту на удаленный почтовый ящик?

    Могу ли я сделать так, чтобы все новые пользователи, созданные в будущем, по умолчанию имели истекший пароль?

    мониторинг изменений файлов + доступ к файлам

    Emacs простая арифметика в запросе заменить

    Текст эха, предложенный подсказкой в ​​bash

    Как изменить размер страниц PDF?

    Ubuntu Mint 17.2, USB-мышь и клавиатура иногда работают только в безопасном режиме

    Linux и Unix - лучшая ОС в мире.