Jeg bruker adb backup for å sikkerhetskopiere Android-smarttelefonen min; og som nevnt i mange innlegg, som https://stackoverflow.com/questions/18533567/how-to-extract-or-unpack-an-ab-file-android-backup-file – Jeg har prøvd å konvertere den til .gz; for eksempel:

 $ adb backup -apk -shared -all -f mybackup.ab Now unlock your device and confirm the backup operation... $ (printf "\x1f\x8b\x08\x00\x00\x00\x00\x00" ; tail -n +5 mybackup.ab) > mybackup.gz $ tar tzvf mybackup.gz ... gzip: stdin: unexpected end of file drwxrwx--- 0/9997 0 2020-02-22 10:23 shared/0/Notifications drwxrwx--- 0/9997 0 2020-02-22 10:23 shared/0/Ringtones drwxrwx--- 0/9997 0 2020-02-22 10:23 shared/0/Podcasts tar: Child returned status 1 tar: Error is not recoverable: exiting now  

En kommentar i det lenkede SO-innlegget nevner:

Det klager sannsynligvis fordi backup.ab ikke har riktig gzip-bunntekst med CRC-32 kontrollsum og lengde

Så spørsmålet mitt er: gitt en mybackup.gz som ovenfor, som har en riktig .gz filhode, men feil filfot – hvordan kan jeg generere og legge til eller erstatte bunnteksten (forhåpentligvis dette er mulig i vanlig skall / Bash, men jeg har ikke noe imot en annen språkløsning), slik at jeg fra mybackup.gz får mybackup_fixed.gz , som ville inneholde alle tilgjengelige data, men ikke ville forårsake en unexpected end of file når den inspiseres med, si, tar tzvf?

Kommentarer

  • Den magiske kommandoen ser ikke ' ikke ut som i svaret på SO-spørsmålet. tail -kommandoen din er ganske forskjellig fra tail -c +25 mybackup.ab.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *