Назад | Перейти на главную страницу

Почему я не могу создавать файлы размером более 2 ГБ в Linux?

Я хотел поделиться некоторыми знаниями, которые я приобрел, когда у меня возникли проблемы с использованием libpcap и snort для прослушивания сетевого канала большой емкости (1 ГБ полнодуплексного; 2 ГБ макс. Совокупного). Приложения успешно прослушивали весь трафик, но вылетали из строя, когда размер файла достигал 2 ГБ.

Если у вас возникли проблемы с созданием файлов размером 2 ГБ, даже если у вас есть файловая система, которая поддерживает это, и / или вы знаете, что ядро ​​поддерживает это, это для вас.

Поддержка больших файлов (> 2 ГБ) для Linux должна быть решена в трех разных местах, чтобы не допустить превышения максимального размера файла 2 ГБ:

  1. В ядре включена поддержка больших файлов

  2. Файловая система, которая поддерживает файлы большого размера (многие файловые системы на базе Linux поддерживают (ext3, reiserfs> = 3.6 и т. Д.))

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

Ядро поддерживает большие файлы примерно с версии 2.4.0-test7; если вы используете собственное ядро, убедитесь, что вы включили большие параметры файла.

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

Наконец, библиотеки (например, libpcap) и приложения должны быть скомпилированы с параметрами gcc -D _LARGEFILE64_SOURCE -D _FILE_OFFSET_BITS = 64. Убедитесь, что используемые вами пакеты либо предварительно скомпилированы с этими параметрами, либо имеют свои собственные.

Видеть Вот Больше подробностей.

Похоже, это проблема с libpcap ... Как сказано в первом ответе.

Перекомпилируйте libpcap или найдите другую версию.