Table of Contents

Συμπίεση

gzip

Παράλληλη συμπίεση

Μία καλή επιλογή εάν έχουμε ΗΥ με πολλούς πυρήνες είναι η χρήση του pigz (παράλληλο gzip). Με την χρήση του pv έχουμε progress bar. Χρησιμοποιούμε 1,2 πυρήνες λιγότερους από όσους διαθέτουμε και συμπίεση -5 που έχει καλή σχέση χρόνου συμπίεσης και ποσοστού συμπίεσης.

Για συμπίεση ενός φακέλου

folder=myfolder
tar -c $folder | pv --size $(du -b $folder | tail -n 1 | cut -f1) | pigz -p 5 -5 > $folder.tar.gz

ή χωρίς progress bar

folder=myfolder
tar -c $folder | pigz -p 5 -5 > $folder.tar.gz

Για backup sd κάρτας, που έστω ότι αναγνωρίστηκε ως /dev/sdb

dd if=/dev/sdb | pv | pigz -p 5 -5 > sdbackup.img.gz 

Παράλληλη αποσυμπίεση

Για αποσυμπίεση μέχρι 2 πυρήνες μπορούν να χρησιμοποιηθούν

pv folder.tar.gz | unpigz -p 2 | tar xvf -

ή χωρίς progress bar

unpigz -p 2 < folder.tar.gz | tar xvf -

Αποσυμπίεση και εγγραφή σε κάρτα sd

unpigz -p 2 -c sdcard.img.gz | dd of=/dev/sdd bs=1M

Δεν είναι πάντα η πιο γρήγορη, να γίνεται δοκιμή και με 1 διεργασία

gzip -dc sdcard.img.gz | dd of=/dev/sdd bs=1M

Για να δούμε progress, εκτελούμε σε ένα άλλο τερματικό

watch -n 10 'killall -USR1 dd'

xz

Αποσυμπίεση

pixz -d -c sdcard.img.xz | dd of=/dev/sdd bs=1M

Πηγές