I am using Ubuntu's Archive Manager (file-roller) to compress (tar.gz) some large files and directories.
Often this takes a long time, because this program uses just one of my eight CPU cores.
Is there a way to force Archive Manager to use all my CPU cores?
I've been trying to find an answer to this question myself, and I can report a partial success: p7zip, while not maxing out all cores, seems to make quite a bit of use of more than one, at least while compressing. On my dual-core system, it just about maxes out both cores, and on a family member's quad-core, it maxes out one core and runs the other three at about half load, varying between 30% and 80% or so. Extraction seems not to be multi-threaded at all, though, as it maxes out one core and the rest idle along.
I've tried installing various of the multi-core capable compressors and creating links to them from /usr/bin, but file roller ignored them. All I could find in my research is a hint on some german forum (if the goog's translation is accurate) that there are apparently hard-coded paths in the file-roller source, so it was suggested to replace the original binaries in /bin with links to the (theoretically command-line-compatible) multi-core replacements like pigz, but I haven't felt daring enough to try that yet myself.
The forum thread from 2012, which was mentioned by MoTLD tells the fallowing solution:
Create some softlinks in
/usr/override
to usepigz
andlbzip2
instead of the normal common binarys. This could look like this:Thus programs like
tar -cz
are using multiple cores. Neverthelessfile-roller
seems not to use these symbolic links, but you can usexarchiver
, which then uses multiple cores, too.