tar, 특정 파일 형식의 압축을 피하면서

tar, 특정 파일 형식의 압축을 피하면서

.tarCR2JPG

tar아카이브 자체에서 이러한 유형의 파일을 제외하기 위해 해당 옵션을 사용하는 것을 본 적이 있지만 --exclude이는 내가 원하는 작업이 아닙니다. 대신, 이미 압축된 파일을 포함하고 싶지만 rsyncs의 압축 과 유사하게 압축을 건너뜁니다 --skip-compress.

가능합니까? 그렇다면 어떻게 해야 할까요?

답변1

tar기본적으로 이러한 기능은 없으며 두 개의 별도 tar 파일(하나는 압축된 파일, 다른 하나는 압축되지 않은 파일)을 갖도록 필터링할 수만 있습니다. 이는 tar언급한 제외 옵션을 사용하거나 를 사용하여 달성 할 수 있습니다 find.

대안을 수락하려는 경우 dar(디스크 아카이브)를 사용하여 각 파일을 개별적으로 압축할지 여부를 결정할 수 있습니다( -Z, --exclude-compression <mask>옵션). 또한 전체 파일의 압축을 풀지 않고(파일을 찾을 때까지) 아카이브 내의 개별 파일을 복구할 수도 있습니다 tar.

대부분의 사람들은 이 문제를 완전히 무시하고 모든 파일을 압축합니다. 빠른 압축 알고리즘을 사용하면 큰 차이가 없습니다. 강력한 압축에는 훨씬 더 많은 CPU 시간이 필요하지만 크기 감소는 무시할 수 있습니다(ymmv, 데이터에 크게 의존함). 여러 번 다운로드할 아카이브라면 강력한 압축이 그만한 가치가 있을 수 있지만, 그렇지 않으면 가치가 없을 수도 있습니다.

답변2

GNU를 사용해도 이 작업을 수행할 수 있는 방법이 없습니다 tar.

tar파일을 수집한 다음 결과 스트림을 압축합니다. 이는 tar ... | gzip > somefile.tgz개별 파일을 모르고 압축을 적용하는 것과 사실상 동일합니다.

관련 정보