web-dev-qa-db-ja.com

Mac(OSX 10.12.x)でtar出力を圧縮するためにLZMAを使用する呼び出しは何ですか?

LZMA圧縮されたtarballを作成するために、OEMtarを何度か呼び出してみました。より具体的には、私は試しました:

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

私の努力により、ファイル名--lzmaのアーカイブが作成され、tarはWindows 7.vmwarevm.tar.lzmaCannot stat: No such file or directoryについて不平を言いました。おそらく同じ理由で、--lzmaがアーカイブのファイル名として使用されました。作成されたため、実際に意図されたアーカイブ名は、アーカイブに含める引数のリストの最初のものと見なされました。

いくつか検索した結果、MacOSは提供されたオプションに含まれていないと思い、GNU tarを最初から作成し、/usr/local/binに別の名前で保存しました。しかし、使用する努力は名前が変更され、新しくビルドされたtarを使用した上記の呼び出しでも、同じ効果がありました。--lzmaでアーカイブをビルドしていました。

私のコンピュータは一見動作しているようです/usr/local/bin/lzma

どの呼び出しを使用する必要がありますか?おそらくtarlzmaにパイプし、おそらくスクリプトで「tar czf foo.tgz foo」の作業を実行しますが、圧縮にはlzmaの代わりにgzipを使用しますか?

1

tarを使用する場合、 -fの後の最初の単語が出力ファイル名です 。あなたの場合、オプションの順序を切り替えるだけで十分かもしれません:

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

私はdrewbennに同意します、

次の場合にも機能する可能性があります

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

これは、並列コンプレッサーを使用して処理を高速化する場合にも機能する可能性があります。

0
djdomi