在Linux中,可以限制分区的大小,例如限制配额。 但是是否存在限制目录大小的方法? 例如,我有一个目录,让/mnt/foo/bar ,这不是一个分区(例如不在df结果)。 可能吗? 这个目录没有可能的mkfs 。
不是直接的,你可以创build一个你想限制目录的大小的文件,然后使用循环挂载将其挂载到树中。
fallocate -l 100M disk.img (这不总是与底层的FS兼容) dd if=/dev/zero of=disk.img count=512k mkfs disk.img mount -o loop disk.img /path/to/mount/point (也可以启用配额) 你所要求的将是一个很好的function,但我不知道有这样的function的任何文件系统。 不添加更多文件系统的最佳近似将是使用限制每个用户(或组)的存储空间的配额。
每个目录的一个问题是,一旦考虑到文件可能被硬链接的可能性,语义不会很明显。
考虑以下一系列事件:
user1运行一个程序,在〜user1中创build一个日志文件 user2在〜user2中创build一个硬链接 user2将〜900MB的其他文件添加到〜user2 user1将900MB的数据附加到日志文件中 user1从user1删除日志文件 上述操作中没有任何一项是由于配额限制而导致的。 然而结果是用户2最终超过了配额。