Я создаю систему, которая дает пользователям определенное количество дискового пространства. Я делаю это так:
Я не хочу использовать систему квот Linux, так как не хочу, чтобы пользователи были пользователями локальной системы.
Вышеупомянутое работает нормально, но тратит впустую пространство, поскольку пользователи не используют все свои квоты, но вся квота уже выделена.
Есть ли команда, которая может делать то же самое, что и dd, но не выделять весь файл сразу? Итак, я мог бы создать файл размером 20 ГБ, и когда он был установлен, он сообщал бы о 20 ГБ места, но физически занимал бы только то, что в него было записано?
Вы можете использовать seek
параметр dd
создать разреженный файл:
dd if=/dev/zero of=filesystem.img bs=1k seek=1024M count=1
создаст файл размером до 1 ГБ, но будет занимать только необходимое пространство.
Посмотри на разреженный файлс.
dd if=/dev/zero of=file.img bs=1 count=0 seek=1024M
создает разреженный файл размером 1024 Мб, который можно отформатировать и смонтировать как файловую систему. Дополнительная информация о разреженных файлах и их использовании Вот.
В CentOS вы можете использовать инструменты qemu, как показано ниже;
qemu-img create -f raw the_filename 5G