Una soluzione semplice potrebbe essere quella di utilizzare semplicemente "/usr/bin/split". Rompe solo i file in pezzi. È possibile utilizzare "-" come nome del file di input per leggere dallo standard input. La cosa bella di split è che è semplice, non influisce in alcun modo sulla toolchain e puoi "unire" i file semplicemente usando "cat" per rimetterli insieme (o reindirizzarli a un'altra app).
Probabilmente vorrai prendere in considerazione l'utilizzo di tar
, come dice KPWINC, ma per rispondere direttamente alla tua domanda, devi usare dd
l'opzione "salta".
Se il tuo primo comando, come detto, è:
sudo dd if=/dev/sdf1 bs=4096 count=150GB | gzip > img1.gz
Allora il tuo secondo sarebbe:
sudo dd if=/dev/sdf1 bs=4096 skip=150GB count=40GB | gzip > img2.gz
e terzo:
sudo dd if=/dev/sdf1 bs=4096 skip=190GB count=120GB | gzip > img3.gz
Detto questo, non sono sicuro che il suffisso "GB" faccia quello che intendi. Penso che faccia solo matematica grezza sul numero radice che segue, non capire come ottenere così tanti gigabyte dalla dimensione del blocco che hai dato. Farei qualcosa del genere:
dd if=/dev/sdf1 bs=`expr 10 * 1024 * 1024` count=`expr 15 * 1024 * 1024 * 1024`
solo per essere sicuri della matematica.
Oh, e assicurati che il tuo dispositivo non cambi sotto di te mentre lo copi. Sarebbe un male.
È la mia riga di comando:
dd if=/dev/sda bs=4M | gzip -c | split -b 2G - /mnt/backup_sda.img.gz
Creerà file da 2 GB in questo modo:
backup_sda.img.gz.aa
backup_sda.img.gz.ab
backup_sda.img.gz.ac
Ripristina:
cat /mnt/UDISK1T/backup_sda.img.gz.* | gzip -dc | dd of=/dev/sda bs=4M
Spero ti sia d'aiuto.