Обычная квота файловой системы на ext4 - для каждого пользователя / группы, а не для каждого каталога. ZFS может сортировать квоту каталога, создавая файловую систему фиксированного размера на томе ZFS. Однако простой трюк - создать файл объемом 2 ГБ, создать на нем файловую систему и смонтировать его в нужную папку:
$ touch 2gbarea
$ truncate -s 2G 2gbarea
$ mke2fs -t ext4 -F 2gbarea
mke2fs 1.43.3 (04-Sep-2016)
Discarding device blocks: done
Creating filesystem with 524288 4k blocks and 131072 inodes
Filesystem UUID: bf1b2ee8-a7df-4a57-9d05-a8b60323e2bf
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done
$ sudo mount 2gbarea up
$ df -h up
Filesystem Size Used Avail Use% Mounted on
/dev/loop0 2.0G 6.0M 1.8G 1% /home/muru/up
В любом случае, квоты файловой системы (или подобные методы) не так удобны для пользователя, как вы хотите. Этот метод является односторонним и гибким, так как вы можете увеличить размер онлайн , но уменьшить его будет сложно.
Команды:
touch
: touch 2gbarea
создает пустой файл с именем 2gbarea
.
truncate
: truncate
используется для изменения размера файлов (в этом случае я изменяю размер текущего пустого 2gbarea
файла до 2 ГБ, используя -s 2G
).
mke2fs
: mke2fs
создает файловые системы ext2 / 3/4 (в данном случае ext4).
mount
монтирует файловую систему в указанном каталоге.
df
используется для отображения списка использования файловой системы