Створення папки з обмеженим об'ємом в будь-якій файловій системі

Потрібно було якось зробити папку, з певним лімітом по об'єму, і розшарити її близьким людям, ну і однією безсонною ніченькою я дістав всякі ШІ, і з 3-х один відповів, тому дякую творцям чату гопоти:) за допомогу.

Сенс нижче написаних дій в тому, що створюється образ, який забивається нулями, а потім монтується як папка

  • створюємо папку з своєю назвою
    mkdir -p folder_name
  • створюємо файл образу, і задаємо розмір в Мб
    dd if=/dev/zero of="file_name" bs=1M count="size_in_Mb" status=progress
  • форматуємо образ як файлову систему
    mkfs.ext4 -q file_name
  • монтуємо образ в створену папку
    mount -o loop file_name folder_name
  • відкриваємо текстовий редактор, та додаємо запис в /etc/fstab
    file_name folder_name ext4 loop 0 0

Або просто качаємо готовий скрипт від чату гопоти ТУТочки

Створення файлової системи з можливістю обмежувати об'єм каталогів

Прийшов нарешті мій ссд на 1 Тб, тому звісно було вирішено не відставати від цивілізованого світу, тому прогресивний варіант нижче ги-ги-->

  • df -hT --> шукаємо де наш диск або
    lsblk
  • sudo fdisk /dev/sdБУКВА_ДИСКА --> створюємо нову розмітку (дефолтно немає)
    n-- new patricion
    p -- create primary
    enter enter enter
    w -- save
  • sudo apt install btrfs-progs -y --> втановлюємо тулзу яка створює і управляє цією файловою системою
  • sudo mkfs.btrfs /dev/sdБУКВА_ДИСКАНОМЕР_ДИСКА --> форматуємо фс в на необхідному нам диску
  • sudo btrfs subvolume create /path_to_folder/folder_limit_5Gb --> створюємо папку, для якої будемо встановлювати обмеження
  • sudo btrfs quota enable /path_to_mount_disk/ --> вмикаємо квоти для диску
  • sudo btrfs qgroup create 0/НОМЕР_КВОТИ /path_to_folder/folder_limit_5Gb --> створюємо квоту, і привязуємо її до папки на яку накладатимуться обмеження
  • sudo btrfs qgroup limit ЯКЕ_ОБМЕЖЕННЯ_НАПИРИКЛАД_5G_АБО_3500М_ /path_to_folder/folder_limit_5Gb --> створюємо обмеження для папки
  • sudo btrfs qgroup show -re ./ --> перевіряємо наявні квоти, та їх ліміти
    sudo btrfs subvolume list -u ./ --> перевіряємо до яких папок привязані квоти



Налаштуємо, щоб диск автоматично монтувався при перезавантаженні
  • sudo blkid /dev/sdБУКВА_ДИСКУНОМЕР_ДИСКУ --> знаходимо UUID нашого диску
  • sudo vim /etc/fstab --> відкриваємо файл для редагування
  • UUID=НОМЕР_UUID_НАШОГО_ДИСКУ /path_to_folder/КУДИ_МОНТУЄТЬСЯ btrfs defaults 0 0 --> додаємо в кінець файлу