디렉토리를 압축된 형태로 저장하고 사용할 수 있나요?

디렉토리를 압축된 형태로 저장하고 사용할 수 있나요?

나는 tarball로 전송된 많은 대형 디렉토리를 처리해야 합니다. 그러나 실제로 작업을 수행하려면 이러한 타르볼을 디렉터리로 추출하여 수행해야 합니다. 대부분의 작업에는 파이프라인의 coreutils 또는 기본 Linux 명령이 포함됩니다. 이 디렉토리를 사용하여 압축할 수 있습니까?

답변1

크리스토퍼가 제안한 것처럼 archivemount이는 달성될 수 있습니다. 파일 쓰기가 허용되며 제거 시 .tar.gz 파일이 자동으로 업데이트되어 변경 사항을 반영합니다.

# ls -lh download.tar.gz
-rw-rw-r--. 1 steve steve 3.1M Feb 16  2010 download.tar.gz
# archivemount download.tar.gz /mnt
# cd /mnt
# find . -ls|head
     1 3127 drwxr-xr-x   0 root     root      3201043 Dec 31  1969 .
     2    0 drwxr-xr-x   0 steve    steve           0 Aug 30  2006 ./kojoney
     3    0 drwxr-xr-x   0 steve    steve           0 Aug 30  2006 ./kojoney/reports
     4    0 drwxr-xr-x   0 steve    steve           0 Aug 30  2006 ./kojoney/reports/ip_country
     5    9 -rwxr-xr-x   0 steve    steve        9067 Dec 29  2006 ./kojoney/reports/ip_country/Geography-Countries-1.4.tar.gz
     6  160 -rw-r--r--   0 steve    steve      162827 Apr  6  2006 ./kojoney/reports/ip_country/IP-Country-2.21.tar.gz
#

# rpm -qi archivemount
Name        : archivemount
Version     : 0.8.1
Release     : 2.fc20
Architecture: x86_64
Install Date: Tue 21 Jul 2015 11:29:16 AM PDT
Group       : System Environment/Libraries
Size        : 75342
License     : LGPLv2+
Signature   : RSA/SHA256, Sun 13 Oct 2013 11:44:05 AM PDT, Key ID 2eb161fa246110c1
Source RPM  : archivemount-0.8.1-2.fc20.src.rpm
Build Date  : Sun 13 Oct 2013 10:34:48 AM PDT
Build Host  : buildvm-10.phx2.fedoraproject.org
Relocations : (not relocatable)
Packager    : Fedora Project
Vendor      : Fedora Project
URL         : http://www.cybernoia.de/software/archivemount/
Summary     : FUSE based filesystem for mounting compressed archives
Description :
Archivemount is a piece of glue code between libarchive and FUSE. It can be
used to mount a (possibly compressed) archive (as in .tar.gz or .tar.bz2)
and use it like an ordinary filesystem.
#

답변2

응 고마워퓨즈, 사용자 모드 프로그램으로 파일 시스템을 구현할 수 있습니다. 기존 파일 시스템의 대체 보기, 원격 시스템의 파일, 아카이브의 파일 등을 포함하여 디스크의 섹터가 아닌 다른 것으로 파일 저장을 구현하는 FUSE 파일 시스템이 많이 있습니다.

당신은 그것을 사용할 수 있습니다아카이브 마운트특정 아카이브를 디렉터리에 설치합니다. 파일을 수정할 수 있습니다.

mkdir foo
archivemount foo.tar.gz foo
ls foo
echo hello >foo/new-file
fusermount -u foo
rmdir foo
tar tf foo.tar.gz

당신은 그것을 사용할 수 있습니다AVFS각 아카이브에 대해 특정 작업을 수행하지 않고도 모든 아카이브에 액세스할 수 있습니다. Avfs는 각 아카이브에 ~/.avfs파일 내용이 포함된 것으로 보이는 동반 디렉터리가 있는 전체 디렉터리 트리 보기를 만듭니다 . ARCHIVE-FILE#아카이브 콘텐츠는 읽기 전용입니다.

mountavfs
ls ~/.avfs$PWD/foo.tar.gz\#

관련 정보