Linux - Qualquer maneira de limitar o uso de disco em um nível por diretório?

2

Eu sei que posso usar quota para limitar a quantidade de espaço em disco por usuário. No entanto eu estou querendo saber se há alguma maneira no Linux para limitar o uso do disco de um diretório? Idealmente eu gostaria de algo como

limit_space -n 100M ./path/to/directory

E qualquer tentativa de criar um arquivo ou gravar em um arquivo que faria mais de 100 MB falharia com um erro semelhante, como se você tentasse gravar em um disco inteiro.

Eu sei que fica complicado por causa de links simbólicos e hardlinks e tamanhos de blocos e outras coisas.

O motivo pelo qual estou perguntando é que tenho um programa que baixa arquivos para um diretório temporário e quero testar se ele faz a coisa certa se não puder gravar o arquivo. Simular um disco inteiro seria uma das formas. Se houver uma frase simples como essa, posso testar isso facilmente.

    
por Rory 10.12.2009 / 17:39

3 respostas

6

Se isso é apenas para fins de teste, sugiro que você crie um pequeno sistema de arquivos de loopback e montá-lo no local em que deseja testar discos completos.

    
por 10.12.2009 / 18:20
3

Você pode criar uma partição separada para este diretório. Se você não quiser reparticionar seu disco rígido, pode criar uma partição virtual com um dispositivo de loop ( link ).

// edit: este tópico pode lhe interessar: link )

    
por 10.12.2009 / 18:41
2

Você já pensou em usar o lvm para ter flexibilidade em ter vários volumes virtuais (com a vantagem adicional de backups quentes, etc.)?

(sistemas de arquivos de loopback são limitados em número)

    
por 10.12.2009 / 18:45