Linux의 파일 내의 압축 파일 시스템

Linux의 파일 내의 압축 파일 시스템

FAT32로 포맷된 플래시 드라이브가 있습니다. Linux 파일 시스템을 드라이브의 파일에 저장하고 싶습니다. 파일을 만들고 ext3(또는 다른 파일 시스템)으로 포맷한 다음 -o 루프 옵션을 사용하여 마운트하면 이 작업을 수행할 수 있다는 것을 알고 있습니다. 내가 원하는 것은 위의 파일 시스템을 압축하는 것입니다. 읽기 및 쓰기에 있어 기본적으로 squashfs와 유사합니다.

제가 사용할 수 있는 것이 있나요? 파일을 스파스로 저장할 수 있으면 추가 이점이 있습니다. 즉, 데이터를 쓰거나 삭제할 때 파일 크기가 조정됩니다.

답변1

쓰기 .7z또는 .tgz기타 .zip압축된 아카이브 파일.

보너스: 어디서나 읽을 수 있습니다.

단점: 파일이 많을 경우 속도가 느려질 수 있습니다.

사용AVFS아카이브 내의 파일에 투명하게 액세스합니다.

mountavfs
mount /dev/my_flash_drive /media/flash0
rsync -au mydata/foo/ ~/.avfs/media/flash0/archive.tgz\#/foo/
umount /media/flash0

답변2

BTRFS에는 압축 모드가 내장되어 있지만 올바른 설치 옵션이 있습니다. 그리고 파일은 최종 크기여야 합니다. BTRFS는 즉시 파티션 크기를 조정할 수 있으므로할 수 있다파일 크기를 늘리기 위해 무언가를 해킹하는 것은 가능하지만 저는 한 번도 시도한 적이 없고 앞으로도 시도하지 않을 것입니다.

그러나 가장 좋은 방법은 더 큰 플래시 드라이브를 구입하고 압축 문제를 해결하지 않는 것입니다.

관련 정보