.tar.xz
로그 파일이 포함된 대용량 압축 파일이 있습니다. 압축률은 매우 좋지만 압축하는 데 시간이 오래 걸리고 로그 파일을 추가하려면 압축을 풀고 새 파일을 추가한 다음 다시 압축해야 합니다. 디스크 공간이 많습니다.
견고한 압축의 이점을 유지하면서 기존 아카이브에 새 파일을 효율적으로 추가할 수 있는 아카이브/압축 방법이 있습니까? (즉, 파일을 개별적으로 압축하지 않기 때문에 압축됩니다 .zip
).
답변1
솔리드 압축된 파일은 업데이트하거나 삭제할 수 없습니다. 견고한 압축에서 후속 데이터의 압축은 이전 데이터의 통계 분석에 따라 달라지므로(일반적으로 압축 미세 조정 입력에 대한 더 나은 통계 분석으로 이어짐), 파일을 삭제하려면 파일이 포함된 전체 아카이브의 압축을 풀고 다시 압축해야 합니다.
디스크/대역폭을 절약하고 싶지만 압축 또는 압축 해제에 필요한 추가 시간과 업데이트 또는 편집 유연성의 손실을 염두에 두지 않을 때 일반적으로 견고한 압축이 사용된다는 점을 이해하는 것도 중요합니다. 기존 아카이브 업데이트를 포함하여 빠르게 압축/압축 해제하는 기능을 제공하지만 솔리드 압축과는 다른 압축 속도를 제공하는 다른 도구가 있습니다.
당신이 언급하는 "tar.xz" 솔리드 압축은 "에뮬레이트된" 솔리드 압축입니다.
컴퓨팅에서 솔리드 압축은 압축되지 않은 모든 파일을 연결하여 단일 데이터 블록으로 처리하는 여러 파일에 대한 데이터 압축 방법을 나타냅니다. 이러한 파일을 엔터티 파일이라고 합니다. 기본적으로 7z [1] 및 RAR [2] 형식에서 사용되며 .tar.gz 및 .tar.bz2와 같은 tar 기반 형식에서 간접적으로 사용됩니다. 대조적으로, ZIP 형식은 별도의 압축 파일을 저장한다는 점에서 고정되어 있지 않습니다(단, 파일을 압축되지 않은 zip 아카이브로 병합한 다음 zip 아카이브를 두 번째 압축된 zip 파일로 압축하여 작은 크기를 시뮬레이션할 수 있음). 아카이브).
먼저 현재 사용하고 있는 tar.xz 메서드가 어떻게 작동하는지 설명하겠습니다.
tar
컴퓨팅에서 tar는 많은 파일을 단일 아카이브 파일(종종 tarball이라고 함)로 수집하는 데 사용되는 컴퓨터 소프트웨어 유틸리티입니다.
따라서 Tar는 기본적으로 아카이브입니다.
xz
xz는 LZMA/LZMA2 압축 알고리즘을 포함하는 무손실 데이터 압축 프로그램 및 파일 형식입니다. 압축률은 높지만 압축 및 압축 해제 시간은 더 느립니다.
따라서 두 파일을 결합할 때 먼저 여러 파일을 아카이브(tar)한 다음 해당 단일 파일을 압축(xz)합니다.
이제 문제는 새 콘텐츠를 추가하거나 기존 zip 파일을 업데이트하는 방법입니다.
tar.xz를 사용하는 경우 tar.xz의 압축을 풀어야 tar 파일이 남고 다음 명령을 사용하여 아카이브를 연결할 수 있습니다.
tar --append --file=archive.tar file_or_dir_to_add
그런 다음 다시 압축해 보세요.
xz archive.tar
또는 ZIP을 사용할 수 있습니다.
zip -g archive.zip folder/file
ZIP은 무손실 데이터 압축을 지원하는 아카이브 파일 형식입니다. .ZIP 파일에는 하나 이상의 압축 파일이나 디렉터리가 포함될 수 있습니다. .ZIP 파일 형식은 다양한 압축 알고리즘을 허용하지만 DEFLATE가 가장 일반적입니다.
답변2
예, 압축 파일에 데이터를 추가하고 제거하는 것이 가능합니다. 다음 예를 참조하세요.
fuse-zip
더 나은 방법을 찾을 수 없다면 다음 방법을 따르세요. 폴더 내용은 파일 내용을 사용합니다 .zip
.
예를 들어 원하는 폴더를 만듭니다./home/user/my_folder
sudo mkdir -v /home/user/my_folder
마운트 /home/user/my_folder/zipArchive
(파일이 없으면 생성됨)
fuse-zip foobar.zip /home/user/my_folder/zipArchive
그걸 써.
원하시면 제거해 주세요
fusermount -u /home/user/my_folder/zipArchive
자세한 내용은 다음을 참조하세요.
https://linux.die.net/man/1/fuse-zip
파일에 pe 압축 파일 시스템을 사용할 수 있습니다.
귀하의 경우에 사용할 수 있는 더 많은 예는 다음에서 찾을 수 있습니다.Debian, Ubuntu 및 Linux Mint에서 폴더를 투명하게 압축하는 방법은 무엇입니까?