Jak ustawić limit rozmiaru pliku dla katalogu?

8

Mam katalog w moim systemie, który jest używany z konkretnego powodu przez aplikacje i użytkowników, ale nie chcę, aby jego rozmiar przekraczał 2 GB, czy istnieje sposób na ustawienie pewnego limitu, który po prostu nie pozwolić, aby rozmiar pliku przekroczył tę lub inną kwotę, którą postanowię dla niego ustawić w przyszłości?

Gdy limit rozmiaru zostanie przekroczony, należy cofnąć ostatnią zmianę (chociaż powinna istnieć opcja, aby po prostu zatrzymać operację i nie przejmować się, czy połowa pliku została skopiowana i tam pozostawiona), a następnie wyświetlić ostrzeżenie, aby użytkownik.

Używam Ubuntu GNOME 16.10 z GNOME 3.22.


źródło
@JacobVlijm: Na razie zaakceptuję odpowiedź Muru, ale jeśli możesz podać lepszą, chętnie ją przyjmę.

Odpowiedzi:

19

Zwykle przydział systemu plików na ext4 to na użytkownika / grupę, a nie na katalog. ZFS może sortować przydział katalogu, tworząc system plików o stałym rozmiarze z woluminu ZFS. Prostą sztuczką jest jednak utworzenie pliku 2 GB, utworzenie na nim systemu plików i zamontowanie go w wybranym folderze:

$ 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

W każdym razie kwoty systemu plików (lub takie metody) nie są tak przyjazne dla użytkownika, jak chcesz. Ta metoda jest jednokierunkowa elastyczna, ponieważ można zwiększyć rozmiar online , ale jego zmniejszenie byłoby trudne.

Polecenia:

  • touch: touch 2gbareatworzy pusty plik o nazwie 2gbarea.
  • truncate: truncatesłuży do zmiany rozmiaru plików (w tym przypadku zmieniam rozmiar aktualnie pustego 2gbareapliku do 2 GB za pomocą -s 2G).
  • mke2fs: mke2fstworzy systemy plików ext2 / 3/4 (w tym przypadku ext4).
  • mount montuje system plików w danym katalogu.
  • df służy do wyświetlania użycia systemu plików.
muru
źródło
1
Nowa osoba może się pomylić z poleceniami. Czy należy wyjaśnić / powiązać ich cel?
Rohitt Vashishtha
@RohittVashishtha lepiej?
muru
Czy istnieje jakiś sposób, aby uruchomić komunikat ostrzegawczy, gdy limit zostanie osiągnięty?
@ParanoidPanda „to” jest? Myślę, że przeglądarka plików narzeka, gdy nie ma już miejsca.
muru
@muru: Głównie nie sądzę, że to przeglądarka plików będzie zapisywać w tej lokalizacji, bardziej prawdopodobne, że będą to inne określone aplikacje. Czy nie ma możliwości „obejrzenia” tego folderu, aby po osiągnięciu jego pojemności pojawiło się graficzne ostrzeżenie, aby ostrzec użytkownika?