가장 "효율적인" 아카이브 변환

가장 "효율적인" 아카이브 변환

당신이 나와 같다면 다양한 형식(zip, tar, rar, tgz, tar.bz2 등)의 아카이브가 많이 있을 것입니다. 내 물건을 정리하는 동안 나는 기본적으로 내 아카이브를 그대로 두기로 결정했습니다(콘텐츠는 일반적으로 archivemount 또는 avfs를 통해 액세스됩니다). 그런데 대부분의 경우 저는 이 아카이브에 글을 쓰지 않지만 때로는 저나 응용 프로그램이 구성 파일/인덱스 파일/설명 파일/스트레이 파일 등을 이 아카이브에 쓸 수도 있습니다.

그러나 나는 이러한 아카이브를 정리할 때 변환할 수 있는 기본 형식을 갖고 싶습니다. 이 아카이브 형식에 대한 몇 가지 요소는 분명합니다. 다른 형식을 이 형식으로 쉽게 변환할 수 있어야 하며, 바람직하게는 직접적으로 아카이브에 있는 파일에 액세스할 때 상당한 오버헤드가 없어야 하며 크기가 고려 사항이지만 주요 요소는 아닙니다. 아카이브가 추출 시 동일한 파일 크기의 두 배가 되지 않는 한.

이제 저는 사람들이 "가장 좋은 아카이브 형식은..."이라고 대답할 것이라고 순진하게 기대하는 것이 아니라, 이 상황에서 사용할 수 있는 다양한 아카이브 형식의 장단점을 이해하고 싶습니다.

답변1

이는 Unix 세계에서 tar사실상의 아카이브 형식입니다 . 물론 읽고 쓸 수 있는 다른 형식도 있지만 이는 tar파일을 묶을 때 선호되는 형식입니다.

실제 문제는 사용할 압축 시스템인 것 같습니다. 압축은 항상 속도와 압축 비율 간의 균형입니다. 또한 속도가 영향을 받는 부분에 차이가 있을 수 있습니다. 일부 압축 해제는 효율적이지만 압축하는 데 시간이 더 오래 걸리고 그 반대도 마찬가지입니다.

자신에게 가장 적합한 방법을 사용해야 합니다. 압축이 전혀 없다는 것은 아카이브에 쉽게 액세스하고 업데이트할 수 있다는 것을 의미합니다. 이는 또한 버전 제어 및 백업 시스템이 rsync데이터를 더욱 심층적으로 확인하고 보다 효율적인 증분 백업을 수행할 수 있음을 의미합니다. 반면에 압축을 심하게 하면 크기가 줄어들 수 있습니다. gzip및 와 같은 형식은 bzip2가장 일반적으로 사용되는 무손실 압축 형식이지만 다른 형식 lzma도 존재합니다. 7z이러한 도구 중 다수에는 동일한 알고리즘을 사용하는 다양한 압축 비율에 대한 옵션도 포함되어 있습니다.

답변2

때에 따라 다르지.

  • 저장소 권한이 필요하지 않다면 7z를 선택하세요. 개별 파일에 대한 빠른 액세스(100GB tar에서 파일을 추출해 본 적이 있습니까?)와 우수한 압축 기능을 제공합니다. 나는 find와 sed를 사용하여 권한 복구 스크립트 생성기 스크립트를 작성한 적이 있는데, 관심이 있으시면 찾아보도록 하겠습니다.

  • 작은(최대 몇 GB) 아카이브의 경우 압축된 tar를 사용합니다. 속도가 중요하다면 더 큰 아카이브에는 사용하지 않을 것입니다. xz는 gzip보다 나은 bzip2보다 낫습니다. 일부 라이브/구조 CD에는 xz가 없지만 bzip2가 없는 시스템은 아직 본 적이 없습니다.

  • 더 큰 파일의 경우 압축되지 않은 tar가 좋은 선택입니다. 대부분의 경우 속도는 허용됩니다. 아카이브의 내용에 따라 압축하는 것이 의미가 없을 수도 있습니다. 오디오 및 비디오 파일은 이미 압축되어 있으므로 무손실 알고리즘을 사용하여 더 이상 압축할 수 없습니다.

  • Star는 tar가 할 수 있는 모든 작업을 수행할 수 있으며 희소 파일 지원도 제공합니다. 불행히도 널리 사용되지는 않습니다.

답변3

zip압축이 허용되는 동안 아카이브에 있는 모든 파일에 효과적으로 액세스하기 때문에 선택하겠습니다 . 사용 시 .tar.*z먼저 아카이브의 압축을 푼 다음 읽어야 합니다(그 tar자체로는 나쁘지 않지만 모든 것을 압축/압축 해제하는 경우). 최상의 결과를 얻으려면 한 번만 수행하세요).

관련 정보