Bedankt voor je antwoord, maar dit is niet helemaal wat ik bedoel. Ik wil eigenlijk een kopie maken van de gehele harde schijf en deze kopiëren naar de externe harde schijf. Wordt het commando niet gewoon als volgt (wil p7zip wel gebruiken):
dd if=sda conv=sync,noerror bs=64k | 7zr a -si > /blabla/sda.img.7z
Maar maak je hiermee niet eerst gewoon een gecomprimeerde image van de harde schijf die je ook ergens op die harde schijf neerzet? Dan moet je die image /blabla/sda.img.7z dus nog over zetten naar de externe harde schijf?
De instructie is correct. Als je alleen maar wil gebruiken wat lokaal aanwezig is, dan is 7zr er meestal nooit. Je kunt natuurlijk altijd
sudo aptitude install p7zip
doen voordat je begint.
Je vervangt de '/blabla/' vooraan het imagearchief door de verwijzing naar je usb-schijf. De harde schijf die je kopieert mag niet gemount zijn: als dat wel zo is, unmount die dan eerst. De usb-schijf moet wel gemount zijn vermits je naar een bestand kopieert.
Bij Ubuntu zijn gemounte usb-schijven te vinden onder /media. Als de gemounte partitie een volumelabel heeft, wordt dat als koppelpuntnaam gebruikt. Als de gemounte usb-schijfpartitie geen label heeft, gebruikt Ubuntu het seriële nummer van het volume als koppelpunt naam. Stel dat je usb-hardeschijf als koppelpuntnaam /media/usbschijf heeft, dan wordt het bevel:
dd if=sda conv=sync,noerror bs=64k | 7zr a -si > /media/usbschijf/sda.img.7z
Dit werkt zonder iets te tonen. Als je graag een progressie wil zien, moet je eerst het programma pv installeren:
sudo aptitude install pv
Daarna kun je dit doen:
dd if=sda conv=sync,noerror bs=64k | pv -p | 7zr a -si > /media/usbschijf/sda.img.7z
Daarnaast weet je waarvoor notrunc en sync staan.
Dat zijn zogenaamde conversie-opties. Notrunc wil zeggen dat hij niets mag afkappen en sync wil zeggen dat hij overblijvende ruimte in een blok altijd moet opvullen met nulbytes. En noerror wil zeggen dat hij leesfouten moet negeren.
En weet je ook waarom je opeens in blokken van 64k moet gaan schrijven op het moment dat je gaat comprimeren. En als je een 1 op 1 kopie maakt in blokken van 4096?
Bij de één-op-éénkopie tussen twee harde schijven werk je best met een veelvoud van de standaard blokgrootte van de harde schijf. Als je dat te groot neemt, dan kan de schijf waarop je schrijft het mogelijk niet meer volgen en creeër je een flessehals waardoor alles juist trager gaat. Als je naar een bestand kopieert (dus een image maakt) dan is er geen beperking vermits file systems juist wel grote blokken data tegelijk kunnen verwerken. Vandaar de blokgrootte van 64K.
Overigens is het ook perfect mogelijk een gecomprimeerd image te maken van harde-schijfpartities via het internet.