mirror of
https://github.com/QubesOS/qubes-doc.git
synced 2025-02-02 17:44:43 -05:00
Emergency restore v4: Don't store decrypted chunks as files
Instead of storing the verified+decrypted chunks as intermediate files on disk, pipe them straight into decompression+extraction. This saves a lot of disk space and typing.
This commit is contained in:
parent
2de76f9553
commit
ef940956ed
@ -145,35 +145,30 @@ Emergency Recovery Instructions
|
|||||||
|
|
||||||
[user@restore ~]$ backup_id=20161020T123455-1234
|
[user@restore ~]$ backup_id=20161020T123455-1234
|
||||||
|
|
||||||
6. Verify the integrity of and decrypt the `private.img` file that houses your
|
6. Verify the integrity of your data, decrypt, decompress, and extract `private.img`:
|
||||||
data.
|
|
||||||
|
|
||||||
[user@restore ~]$ find vm1 -name 'private.img.*.enc' | sort -V | while read f_enc; do \
|
[user@restore ~]$ find vm1 -name 'private.img.*.enc' | sort -V | while read f_enc; do \
|
||||||
f_dec=${f_enc%.enc}; \
|
f_dec=${f_enc%.enc}; \
|
||||||
echo "$backup_id!$f_dec!$backup_pass" | scrypt dec -P $f_enc $f_dec || break; \
|
echo "$backup_id!$f_dec!$backup_pass" | scrypt dec -P $f_enc || break; \
|
||||||
done
|
done | gzip -d | tar -xv
|
||||||
|
|
||||||
**Note:** If this command fails, it is likely that the backup is corrupted
|
|
||||||
or has been tampered with.
|
|
||||||
|
|
||||||
7. Decompress and untar the decrypted `private.img` file.
|
|
||||||
|
|
||||||
[user@restore ~]$ find vm1 -name 'private.img.*[0-9]' | sort -V | xargs cat | gzip -d | tar -xv
|
|
||||||
vm1/private.img
|
vm1/private.img
|
||||||
|
|
||||||
|
If this pipeline fails, it is likely that the backup is corrupted or has
|
||||||
|
been tampered with.
|
||||||
|
|
||||||
**Note:** If your backup was compressed with a program other than `gzip`,
|
**Note:** If your backup was compressed with a program other than `gzip`,
|
||||||
you must substitute the correct compression program. This information is
|
you must substitute the correct compression program. This information is
|
||||||
contained in `backup-header` (see step 4).
|
contained in `backup-header` (see step 4).
|
||||||
|
|
||||||
8. Mount `private.img` and access your data.
|
7. Mount `private.img` and access your data.
|
||||||
|
|
||||||
[user@restore vm1]$ sudo mkdir /mnt/img
|
[user@restore vm1]$ sudo mkdir /mnt/img
|
||||||
[user@restore vm1]$ sudo mount -o loop vm1/private.img /mnt/img/
|
[user@restore vm1]$ sudo mount -o loop vm1/private.img /mnt/img/
|
||||||
[user@restore vm1]$ cat /mnt/img/home/user/your_data.txt
|
[user@restore vm1]$ cat /mnt/img/home/user/your_data.txt
|
||||||
This data has been successfully recovered!
|
This data has been successfully recovered!
|
||||||
|
|
||||||
9. Success! If you wish to recover data from more than one VM in your backup,
|
8. Success! If you wish to recover data from more than one VM in your backup,
|
||||||
simply repeat steps 6--8 for each additional VM.
|
simply repeat steps 6 and 7 for each additional VM.
|
||||||
|
|
||||||
**Note:** You may wish to store a copy of these instructions with your
|
**Note:** You may wish to store a copy of these instructions with your
|
||||||
Qubes backups in the event that you fail to recall the above procedure
|
Qubes backups in the event that you fail to recall the above procedure
|
||||||
|
Loading…
x
Reference in New Issue
Block a user