내 Mac(OSX 10.12.x)에서 LZMA를 사용하여 tar 출력을 압축하는 호출은 무엇입니까?

내 Mac(OSX 10.12.x)에서 LZMA를 사용하여 tar 출력을 압축하는 호출은 무엇입니까?

LZMA 압축 tarball을 생성하기 위해 OEM tar를 여러 번 호출해 보았습니다. 보다 구체적으로 다음을 시도했습니다.

tar -c -f --lzma Windows\ 7.vmwarevm.tar.lzma Windows\ 7.vmwarevm

내 노력으로 파일 이름이 있는 아카이브를 만들었고 --lzmatar가 : 에 대해 불평했습니다 Windows 7.vmwarevm.tar.lzma. Cannot stat: No such file or directory아마도 같은 이유 때문일 것입니다. --lzma생성할 아카이브의 파일 이름으로 처리되므로 실제 예상되는 아카이브 이름이 아카이브에 포함된 인수 목록에서 첫 번째로 처리되었습니다.

몇 번 검색한 결과 MacOS에서는 제공된 옵션에 이를 포함하지 않는다는 것을 알았으므로 GNU tar를 처음부터 빌드하고 다른 이름으로 저장했습니다 /usr/local/bin. 그러나 rename 및 new와 함께 위의 호출을 사용했습니다. 노력은 tar동일한 효과를 가져왔습니다. 나는 --lzma.

내 컴퓨터가 잘 작동하는 것 같아요 /usr/local/bin/lzma.

tar어떤 호출을 사용해야 합니까? 스크립트로 파이프하거나 lzma스크립트에서 "tar czf foo.tgz foo" 작업을 수행하지만 lzma대신 gzip압축에 사용해야 합니까?

답변1

그것을 사용할 때tar ,뒤의 첫 번째 단어 -f는 출력 파일 이름입니다.. 귀하의 경우 옵션 전환 순서로 충분할 수 있습니다.

tar -c --lzma -f foo.tar.lzma sourcefile(s)

답변2

나는 Druben의 의견에 동의합니다.

다음에도 적용될 수 있습니다.

tar c files folders/ | lzma --options-here > foo.tar.lzma

속도를 높이기 위해 병렬 압축기를 사용하려는 경우에도 작동할 수 있습니다.

관련 정보