У меня есть каталог в моей системе, которая используется по определенной причине приложениями и пользователями, но я не хочу, чтобы ее размер был позволен превысить 2 ГБ, есть ли способ настроить своего рода предел, который просто не позволяет размеру файла превышать это или какую-либо другую сумму, которую я решаю установить для него в будущем?
Когда предел размера превышен, он должен отменить последнее изменение (хотя должна быть опция иметь его так, чтобы он просто остановил операцию и не заботился, была ли половина файла скопирована и уехала там), и затем отобразите предупреждение пользователю.
Я выполняю Ubuntu GNOME 16.10 с GNOME 3.22.
Обычная квота файловой системы на 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
используется для списка использования файловой системы.