Ik gebruik adb backup om een back-up te maken van mijn Android-smartphone; en zoals opgemerkt in veel berichten, zoals https://stackoverflow.com/questions/18533567/how-to-extract-or-unpack-an-ab-file-android-backup-file – ik heb geprobeerd het om te zetten naar .gz; bijvoorbeeld:

 $ 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  

Een opmerking in het gekoppelde SO-bericht vermeldt:

Het klaagt waarschijnlijk omdat de backup.ab “niet de juiste gzip-bestandsvoettekst heeft met CRC-32 checksum en lengte

Dus mijn vraag is: gegeven een mybackup.gz zoals hierboven, die een correcte .gz-bestandsheader heeft maar een onjuiste bestandsvoettekst – hoe kan ik de footer genereren en toevoegen of vervangen (hopelijk dit is te doen in gewone shell / Bash, maar ik zou “geen bezwaar maken tegen een andere taaloplossing), zodat ik van mybackup.gz mybackup_fixed.gz verkrijg , die alle beschikbare gegevens zou bevatten, maar geen unexpected end of file zou veroorzaken bij inspectie met bijvoorbeeld tar tzvf?

Opmerkingen

  • Dat magische commando ziet er niet ' niet hetzelfde uit als in het antwoord op de SO-vraag. Uw tail commando verschilt behoorlijk van tail -c +25 mybackup.ab.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *