Система квот позволяет ограничить размер дискового пространства, выделенного пользователю или группе пользователей. При желании использовать её, вы должны вначале убедиться, что имеете ядро с поддержкой квот (то есть ядро должно быть скомпилировано с опцией CONFIG_QUOTA
) — как это реализовано в ядрах, собранных для дистибутивов Debian. Программное обеспечение для управления квотами находится в Debian пакете quota.
Для активирования квоты в файловой системе, вам надо в явной форме указать опции usrquota
и grpquota
в файле /etc/fstab
, применив их к тем пользователям и группам, которым вы хотите установить квоты, соответственно. Во время перезагрузки компьютера, при отсутствии активности жёсткого диска, будет выполнено обновление квот (это необходимое условия для правильного учёта уже использованного дискового пространства).
команда edquota пользователь
(или edquota -g группа
) позволяет изменить лимиты, проверив текущее использование дискового пространства.
Система квот позволяет задать четыре лимита:
два лимита (называемые «мягким» и «жёстким») соответствуют числу используемых блоков. Если файловая система создана с размером блока 1 кибибайт, блок содержит фрагмент файла длиной 1024 байта. Незаполненные блоки поэтому приводят к потере дискового пространства. Квота в 100 блоков, теоретически позволяющая хранить 102.400 байтов, будет исчерпана всего 100 файлами размером по 500 байтов каждый, что составляет в сумме всего 50.000 байтов.
два лимита (мягкий и жёсткий) соответствуют числу использованных записей inode. Каждый файл занимает как минимум один inode для хранения информации о себе (разрешения, владелец, временная метка последнего доступа и т. д.). Поэтому фактически это лимит на число файлов пользователя.
«Мягкий» лимит может быть временно превышен; пользователь просто получит предупреждение о превышении квоты от команды warnquota
, обычно вызываемой cron
. «Жёсткий» лимит никогда не может быть превышен: система отклонит любую операцию, приводящую к превышению жёсткой квоты.
С помощью команды edquota -t
можно определить максимально дозволенный «кредитный период», в течение которого может быть превышен мягкий лимит. По истечении этого периода мягкий лимит будет обрабатываться как жёсткий, и пользователю нужно будет уменьшить использование дискового пространства в соответствии с этим лимитом, чтобы получить возможность записи чего бы то ни было на жёсткий диск.