【问题标题】:How can I increase the MAX_PATH_LENGTH in a freeBSD system?如何在 freeBSD 系统中增加 MAX_PATH_LENGTH?
【发布时间】:2023-03-28 10:01:01
【问题描述】:

我正在编写一个类似于“查找”的实用程序来搜索基于 freebsd 的系统中的某些特定文件。 freeBSD 9 中的 stat() 调用可以接受长度为 1024 个字符的路径,尽管 linux 支持最多 4K 字符路径。

系统本身有一个非 freeBSD 的文件系统(它是一个商业操作系统),并且该文件系统对 MAX_PATH_LENGTH 有非常高的限制。

如果某个用户在 linux 上挂载了一个卷并创建了一个路径长度大于 1K 的目录层次结构,那么尽管文件系统将支持它,但 freeBSD lstat/stat 调用将失败。

有没有办法,或者我可以通过某种方式提高这个限制?

【问题讨论】:

    标签: linux filesystems freebsd system-calls


    【解决方案1】:

    您应该能够通过提高 PATH_MAX in /usr/src/sys/sys/syslimits.h 的值并完全重建整个系统(内核、库和任何使用 PATH_MAX、MAXPATHLEN 或 MAXINTERP 的已安装软件)来执行此操作。只要确保keep it under 64k

    如果你确实走这条路,请避免使用二进制包(如通过 pkg、portmaster 或 portupgrade)。坚持从 /usr/ports 编译和安装,你会没事的。

    【讨论】:

      猜你喜欢
      • 2016-06-02
      • 1970-01-01
      • 2020-06-30
      • 2016-05-31
      • 2021-04-04
      • 2015-07-12
      • 2020-05-03
      • 2011-01-14
      • 2018-11-30
      相关资源
      最近更新 更多