디렉토리의 파일 크기 제한을 설정하는 방법은 무엇입니까?


8

시스템에 응용 프로그램과 사용자가 특정 이유로 사용하는 디렉토리가 있지만 크기가 2GB를 초과하지 않기를 원합니다. 제한되지 않는 일종의 제한을 설정하는 방법이 있습니까? 파일 크기가 나중에 설정하기로 결정한 다른 양을 초과하도록 허용합니까?

크기 제한을 초과하면 마지막 변경 사항을 취소해야합니다 (단, 작업을 중지하고 파일의 절반을 복사하여 남겨 두 었는지 상관하지 않도록하는 옵션이 있어야 함). 사용자.

그놈 3.22와 함께 우분투 그놈 16.10을 실행하고 있습니다.



@JacobVlijm : 지금은 muru의 답변을 수락 할 것이지만, 더 나은 답변을 제공 할 수 있다면 대신이 답변을 받아 드리겠습니다.

답변:


19

ext4의 일반적인 파일 시스템 할당량은 디렉토리가 아닌 사용자 / 그룹입니다. ZFS는 ZFS 볼륨에서 고정 크기의 파일 시스템을 만들어 디렉토리 할당량을 정렬 할 수 있습니다. 그러나 간단한 트릭은 2GB 파일을 작성하고 파일 시스템을 작성하여 원하는 폴더에 마운트하는 것입니다.

$ 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파일의 크기 를 2GB로 조정합니다 -s 2G).
  • mke2fs: mke2fsext2 / 3 / 4 파일 시스템 (이 경우 ext4)을 만듭니다.
  • mount 주어진 디렉토리에 파일 시스템을 마운트합니다.
  • df 파일 시스템 사용을 나열하는 데 사용됩니다.

1
새로운 사람이 명령과 혼동 될 수 있습니다. 그들의 목적을 설명 / 연결해야합니까?
Rohitt Vashishtha

더 잘 할게요?
muru

할당량에 도달했을 때 작은 팝업 경고 메시지를 표시하는 방법이 있습니까?

@ParanoidPanda "it"되고 있습니까? 남은 공간이 없으면 파일 브라우저가 불평한다고 생각합니다.
muru

@muru : 주로이 위치에 쓰는 파일 브라우저가 아니라고 생각합니다. 다른 특정 응용 프로그램 일 가능성이 큽니다. 해당 폴더를 "감시"하여 용량에 도달하면 사용자에게 경고하는 그래픽 경고가 표시됩니까?
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.