quinta-feira, 24 de outubro de 2019

Criando pastas com tamanho definido no linux, alternativa para cotas


Imagem relacionada


A 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 em um volume ZFS. Um truque simples, porém, é criar um arquivo de 2 GB, criar um sistema de arquivos e montá-lo na pasta desejada:

$ touch 2gbpasta
$ truncate -s 2G 2gbpasta
$ mke2fs -t ext4 -F 2gpasta
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 2gbpasta pastacota    
$ df -h up
Filesystem      Size  Used Avail Use% Mounted on
/dev/loop0      2.0G  6.0M  1.8G   1% /home/user/pastacota
De qualquer forma, 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 é flexível unidirecional, pois você pode aumentar o tamanho on-line, mas diminuí-lo seria difícil. Explicando os comandos:

  • touchtouch 2gbpasta cria um arquivo vazio chamado 2gbpasta.
  • truncatetruncate é usado para redimensionar arquivos (nesse caso, redimensiono o arquivo 2gbpasta atualmente vazio para 2 GB usando -s 2G).
  • mke2fsmke2fs cria sistema de arquivos ext2/3/4  (neste caso, ext4).
  • mount monta o sistema de arquivos no diretório especificado.
  • df serve para listar os sistemas de arquivos usados.
 

bobox

Blogger news