Как установить предел размера файла для каталога?

У меня есть каталог в моей системе, которая используется по определенной причине приложениями и пользователями, но я не хочу, чтобы ее размер был позволен превысить 2 ГБ, есть ли способ настроить своего рода предел, который просто не позволяет размеру файла превышать это или какую-либо другую сумму, которую я решаю установить для него в будущем?

Когда предел размера превышен, он должен отменить последнее изменение (хотя должна быть опция иметь его так, чтобы он просто остановил операцию и не заботился, была ли половина файла скопирована и уехала там), и затем отобразите предупреждение пользователю.

Я выполняю Ubuntu GNOME 16.10 с GNOME 3.22.

8
задан 24 October 2016 в 08:25

1 ответ

Обычная квота файловой системы на 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 используется для списка использования файловой системы.
16
ответ дан 23 November 2019 в 05:27

Другие вопросы по тегам:

Похожие вопросы: