为什么我不能在Linux上创建大于2 GB的文件?

Modified on: Fri, 20 Sep 2019 14:20:02 +0800

我想分享一些我在使用libpcap和snort来嗅到高容量(1 GB全双工; 2 GB最大聚合)网络链接时遇到的麻烦。应用程序将成功嗅探所有流量,但是当文件大小达到2 GB时会崩溃。

如果你在创建2 GB文件时遇到问题,即使你有一个支持它的文件系统,和/或你知道内核支持它,这也适合你。

作者:romandas

最佳答案

Linux的大文件支持(> 2GB)需要在三个不同的位置进行处理,以确保您不会遇到2 GB的最大文件大小限制:

  1. 内核中启用了大文件支持

  2. 支持大文件大小的文件系统(许多基于Linux的文件系统(ext3,reiserfs> = 3.6等))

  3. 使用的库或应用程序中的大文件支持

  4. 醇>

    自2.4.0-test7以来,对大文件的内核支持已经存在;如果您使用自定义内核,请确保已包含大文件选项。

    大多数Linux文件系统都支持大文件,但使用网络文件系统时可能会遇到问题。

    最后,库(即libpcap)和应用程序需要使用gcc选项-D _LARGEFILE64_SOURCE -D _FILE_OFFSET_BITS = 64进行编译。检查以确保您使用的软件包预编译了这些选项或自行滚动。

    有关详细信息,请参见此处

作者:,romandas

相关问答

添加新评论