Mam smartfon Samsung Galaxy S2 GT-I9100 z LineageOS i TWRP. Co tydzień tworzę kopię zapasową za pomocą następującego polecenia:
adb backup -f twrp-20170322.ab --twrp boot data system
Opcjonalnie mogę również użyć tej --compress
opcji.
Czy istnieje sposób na wyodrębnienie twrp-20170322.ab
pliku kopii zapasowej za pomocą narzędzi wiersza polecenia stardard GNU / Linux? W razie potrzeby rozważę także zainstalowanie dodatkowego oprogramowania, ale musi ono być bezpłatne (jak na wolności).
Spinki do mankietów:
--compress
podczas tworzenia kopii zapasowej, tworzy nieskompresowane kopie zapasowe? W tym drugim przypadku spróbuj pominąćzlib
parametr (lub zrób to na odwrót i określ--compress
podczas tworzenia kopii zapasowej;).openssl
). Ale kiedy próbuję wyświetlić zawartość archiwum tar za pomocą tar -tf twrp-20170320.tar, otrzymuję: tar: To nie wygląda jak archiwum tar; tar: przejście do następnego nagłówka; tar: Wyjście ze statusem niepowodzenia z powodu poprzednich błędów--compress
opcjiadb
: kompresuje się znacznie mniej wydajnie niżxz
. Wolę oszczędzać jak najwięcej miejsca. Ale to nie ma związku z moim początkowym problemem.--compress
). Z twojego oświadczenia (adb backup …
) przyjąłem ten sam format. Jeśli używasz tylko innej kompresji, musisz to rozważyć.openssl
jest potrzebne do odszyfrowania kopii zapasowej - bez tego nie otrzymasz ważnego.tar
. Na podstawie twoich ostatnich komentarzy zakładam, że powinieneś zastąpićzlib
odpowiednią częścią dlaxz
. Poza tym nie mam pomysłów, przepraszam.Odkryłem, że
.ab
pliki generowane przez TWRP różnią się od zwykłychadb backup
plików, więc przesunięcie różni się od zwykłych.ab
plików. Byłem w stanie sprawdzić i wyodrębnić pliki za pomocą (na przykład w celu sprawdzenia) następującego polecenia:Najwyraźniej nagłówek może być dłuższy, ale powinien być wyrównany do granic 512-bajtowych, więc po prostu zwiększ
skip=
parametr, jeśli początkowo go nie znajdzie.Zauważ, że format pliku jest zdefiniowany w twadbstream.h , jeśli chcesz zagłębić się w to.
źródło
Problem z naiwnym podejściem opartym na dd polega na tym, że w pliku tak często występują metadane. Powoduje to uszkodzenie plików o dowolnej znacznej długości.
Napisałem narzędzie do wyodrębniania wykorzystujące twadbstream.h (dzięki @anarcat), którego użyłem do skutecznego odzyskiwania dużych (~ 10 GB) kopii zapasowych TWRP ADB dla wielu systemów plików. twrpabx
źródło