ckolivas / lrzip

Long Range Zip

Home Page:http://lrzip.kolivas.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Unable to compress with unlimited mode

demhademha opened this issue · comments

I am trying to tar a folder, and using the following code:

lrztar -Uzp 1 -L 9 ./Documents

however it says unable to use unlimited and stdin at the same time.
I am not using stdin.
Is this a bug?
Regards stdin

lrztar pipes tar output to lrzip. You can't use STDIN and -U.

from lrztar tar c "$s" | lrzip "${p[@]}"

-L9 should be enough. Or you can try

tar --use-compress-program "lrzip [options]" -cf file.tar.lrz

Why are you using only one thread?

lrztar pipes tar output to lrzip. You can't use STDIN and -U.

from lrztar tar c "$s" | lrzip "${p[@]}"

-L9 should be enough. Or you can try

tar --use-compress-program "lrzip [options]" -cf file.tar.lrz
Thanks, this worked

Why are you using only one thread?

As per the FAQs in the README:
Q: I want the absolute maximum compression I can possibly get, what do I do?
A: Try the command line options "-Uzp 1 -L 9". This uses all available ram and ZPAQ compression, and even uses a compression window larger than you have ram. The -p 1 option disables multithreading which improves compression but at the expense of speed. Expect it to take many times longer.

Well, that part of the README is around 13 years ago. It's true that by using one thread, a chunk is not broken up into smaller pieces each of which is passed to the backend for separate compression. Some compressors use their own multi-threading. Using -U will bog down your system and all users on it. Time vs. Compression. This table may help.

New Benchmarks

lrztar is a convenience wrapper that uses stdin on lrzip, so it's not a bug, and is a correct warning. You need to use lrzip directly to unlock its full functionality.

Hi, although I was able to get this to work earlier,
tar --use-compress-program "lrzip -Uzp 1 -L 9" -cf offsets14.tar.lrz offsets14
I get the error: unlimited mode disabled - any way to fix this would be appreciated
Thanks

Unlimited mode cannot work on piped data. It has to be used on a standalone file.

Unlimited mode cannot work on piped data. It has to be used on a standalone file.
using my example, is there a way to pipe it through lrzip?

Not with unlimited mode; it simply cannot work on STDIO. You have to do it in two steps - create a solid tar, then lrzip it.