A adb backup fájlt használom Android okostelefonom biztonsági mentéséhez; és amint azt számos bejegyzés megjegyezte, például https://stackoverflow.com/questions/18533567/how-to-extract-or-unpack-an-ab-file-android-backup-file – megpróbáltam konvertálni .gz-be; például:

 $ 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  

A linkelt SO bejegyzés egyik megjegyzése megemlíti:

Valószínűleg panaszkodik, mert a backup.ab nem rendelkezik a megfelelő gzip fájl lábléccel, CRC-32 ellenőrző összeggel és hosszúsággal

Tehát a kérdésem a következő: adott egy a fentihez hasonló mybackup.gz-t, amelynek helyes .gz fájlfejléce van, de helytelen fájllábléc van – hogyan tudnám létrehozni, kiegészíteni vagy helyettesíteni a láblécet ez a sima shell / Bash fájlban is végrehajtható, de nem vennék egy másik nyelvi megoldást), így mybackup.gz -ből mybackup_fixed.gz , amely minden rendelkezésre álló adatot tartalmazna, de nem okozna unexpected end of file t, ha azt mondjuk tar tzvf?

Megjegyzések

  • Ez a mágikus parancs nem úgy néz ki, mint ', mint az SO kérdésre adott válaszban. A tail parancs teljesen eltér a tail -c +25 mybackup.ab parancstól.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük