Что 'барьер' монтирует флаг, средний в Linux?

Необходимо поместить PKG_CONFIG_PATH переменная перед ./configure также я не уверен, настраивают ли хранилища то значение где-нибудь. Мой пищеварительный тракт говорит мне нет. PKG_CONFGURE_PATH переменная среды и должна быть установлена, всегда. Таким образом, Вы должны export это до запуска процесса сборки. Кроме того, PKG_CONFIG_PATH должен указать, где .pc файлы. Это - корректные каталоги? Я думаю, что это должно скорее быть /path/to/glib/install/dir/lib/pkgconfig. Необходимо всегда использовать полные пути!

Вы - probaly все еще в проблеме. Вам нужно что-то позвонившее каталог "подготовки", где Вы устанавливаете весь свой материал. Калека не связывает библиотеки как бойкий статически. Это означает при запуске самосозданного калеки, это должно найти libglib.so в самосозданной версии. Это означает путь к (например), libglib.so потребности быть в LD_LIBRARY_PATH или упомянул в /etc/ld.so.conf. Имеет место это в Вашей текущей установке?

21
21.07.2014, 17:02
2 ответа

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

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

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

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

15
27.01.2020, 19:43

Из этой статьи LWN:

The filesystem code must, before writing the [journaling] commit record, be absolutely sure that all of the transaction's information has made it to the journal. Just doing the writes in the proper order is insufficient; contemporary drives maintain large internal caches and will reorder operations for better performance. So the filesystem must explicitly instruct the disk to get all of the journal data onto the media before writing the commit record; if the commit record gets written first, the journal may be corrupted. The kernel's block I/O subsystem makes this capability available through the use of barriers; in essence, a barrier forbids the writing of any blocks after the barrier until all blocks written before the barrier are committed to the media. By using barriers, filesystems can make sure that their on-disk structures remain consistent at all times.

4
27.01.2020, 19:43

Теги

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