Потеря данных, когда монтирование цикла файл на съемном устройстве хранения данных USB

Опыт в значительной степени идентичен. Ваша проблема состоит в том, что (стабильный) Debian не является ультрасовременным дистрибутивом, это стабильно. Это означает, что будет иметь более старые версии пакетов в его репозиториях (это могла бы быть хорошая идея упомянуть имя пакета между прочим). Ваш сравнивают его с новой версией OSX, который имеет более новые версии существенных библиотек как libc.

Установка .deb пакеты, которые были упакованы для версии Debian, который Вы выполняете, являются очень легкими и безболезненными. Верьте мне, я раньше устанавливал большинство вещей из источника. Когда Вы работаете aptitude install foo.4.2.3.deb Вы говорите, "дают мне пакет по имени Foo, версия 4.2.3" и сделали все остальное для Вас. Если это не находится в repos, потому что Вы используете старую версию, которая не является отказом диспетчера пакетов.

Так, я рекомендовал бы отправить новый вопрос и спросить, как можно установить определенный пакет, который Вы пытаетесь получить. Примите во внимание, это, если это требует более новой версии libc вероятно, легче обновить Вашу всю систему до testing или experimental репозитории. В то время как возможно только обновить libc, это не легко и не просто, посмотрите здесь.

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

Эта команда распечатает список пакетов, которые зависят от libc.

apt-cache rdepends libc6

На моем Debian тот список содержит 16 056 различных пакетов. Если Вы обновляете libc потому что пакет foo зависит от более новой версии, как диспетчер пакетов должен иметь дело с тем, что 16 056 пакетов зависят от установленной версии? Как это может знать, будут ли они также совместимы с более новой версией?

3
23.09.2016, 14:12
2 ответа

Когда Linux обнаруживает съемный диск, он достаточно умен, чтобы знать, что он должен часто очищать данные. При установке шлейфа неизвестно, является ли устройство резервирования файлом, который может быть удален в любое время.

Вы можете заставить систему не кэшировать записи с помощью:

mount -o loop,sync /media/your-usb/test.bin m

Это приведет к снижению производительности, а также отметить это предупреждение об износе со страницы man mount :

   sync   All  I/O to the filesystem should be done synchronously. In case
          of media with limited number of write cycles  (e.g.  some  flash
          drives) "sync" may cause life-cycle shortening.

Альтернативой было бы, по крайней мере, запустить sync перед удалением устройства, если вы не хотите umount по какой-либо причине.

3
27.01.2020, 21:19

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

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

Другие распространенные метасинтаксы включают круглые скобки для группировки и | для обозначения «или». В данном случае круглые скобки и вертикальная полоса являются частью синтаксиса, в то время как квадратные скобки являются частью метасинтакса.

Хорошие руководства наберите метасинтакс шрифтом, отличным от синтаксиса. Ни читаемая веб-страница, ни руководство bash , которое оно выполняет, не делают этого в описании команды case . Bash manual набирает курсивом слова word , образцов и command-list ; это также метасинтакс, указывающий на то, что эти слова являются описанием того, что идет в этой позиции, а не слова, которые должны быть набраны буквально как case , в и esac .

случай слово в [[ (] шаблон [ | шаблон ]... ) список команд ; ]... esac

-121--118393-

После настройки ip-адреса выполните следующие команды

service NetworkManager stop
chkconfig NetworkManager off

Он сохранит предоставленный ip даже после загрузки.

-121--48455-

Если я подключаю USB, изменяю файлы и отключаю их, данные не теряются.

Исправление: вы еще не потеряли данные . Что вы заметили.

Предположительно, Вы, Ваш дистрибутив или сопровождающий используемой Вами программы автомонтирования настроили съемные USB места хранения устройства для установки с опцией sync , что приводит к немедленной записи данных. Параметр sync имеет то преимущество, что он записывает все данные так, чтобы они не были потеряны, если носитель места хранения был внезапно извлечен или система потерпела сбой, но имеет много недостатков:

  • места хранения типа Flash будут изнашиваться раньше, потому что данные записываются по несколько байт за раз, но место хранения может обновляться только путем записи достаточно больших блоков каждый раз, поэтому каждый блок в конечном итоге перезаписывается много раз. Это может быстро убить основные USB-накопители.
  • Несмонтированная файловая система будет помечена как грязная. Невозможно отличить файловую систему, помеченную как «грязная», но содержащую непротиворечивые данные, от файловой системы, извлеченной в середине записи и содержащей противоречивые данные. Это не относится к таким файловым системам, как FAT, у которых нет «грязного» индикатора.
  • Это медленнее - потенциально намного медленнее.

Не использовать sync . Отключите устройства перед их отключением.

1
27.01.2020, 21:19

Теги

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