Cota usual do sistema de arquivos no ext4 é por usuário / grupo, não por diretório. O ZFS pode definir uma cota de diretório, criando um sistema de arquivos de tamanho fixo fora do volume do ZFS. Um truque simples, no entanto, é criar um arquivo de 2GB, criar um sistema de arquivos e montá-lo na pasta desejada:
$ 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
Em qualquer caso, as cotas do sistema de arquivos (ou métodos como este) não são tão amigáveis quanto você deseja. Esse método é de mão única flexível, pois você pode aumentar o tamanho on-line , mas diminuí-lo seria difícil.
Os comandos:
-
touch
:touch 2gbarea
cria um arquivo vazio chamado2gbarea
. -
truncate
:truncate
é usado para redimensionar arquivos (nesse caso, redimensiono o arquivo2gbarea
atualmente vazio para 2 GB usando-s 2G
). -
mke2fs
:mke2fs
cria sistemas de arquivos ext2 / 3/4 (neste caso, ext4). -
mount
monta o sistema de arquivos no diretório especificado. -
df
é usado para listar o uso do sistema de arquivos.