एडीबी के साथ किए गए TWRP बैकअप निकालें


10

मेरे पास एक सैमसंग गैलेक्सी एस 2 जीटी- I9100 स्मार्टफोन है जिसमें वंश और TWRP हैं। हर हफ्ते मैं निम्नलिखित कमांड के साथ एक बैकअप बनाता हूं:

adb backup -f twrp-20170322.ab --twrp boot data system

मैं वैकल्पिक रूप से --compressभी विकल्प का उपयोग कर सकता हूं ।

क्या twrp-20170322.abस्टार्डर्ड GNU / Linux कमांड लाइन टूल्स के साथ बैकअप फाइल निकालने का कोई तरीका है ? मैं जरूरत पड़ने पर अतिरिक्त सॉफ्टवेयर स्थापित करने पर भी विचार करूंगा, लेकिन यह स्वतंत्र होना चाहिए (जैसा कि स्वतंत्रता में)।

लिंक:

जवाबों:


1

बशर्ते आपने इसे पासवर्ड से सुरक्षित न किया हो:

dd if=$1 bs=24 skip=1 | openssl zlib -d >${1%%.ab}.tar
  • dd"डिस्क डुप्लिकेटर" (जिसे आप अपने पैरामीटर ans स्विच ifऔर of;) को भ्रमित करने के मामले में "डिस्क विध्वंसक" के रूप में भी जाना जाता है ;
  • bs=23 यह 24 बाइट के ब्लॉक आकार का उपयोग करने की सलाह देता है, जिसे हमें…
  • skip=1 24 बाइट के 1 ब्लॉक को छोड़ें ("बैकअप हेडर")
  • उत्पादन opensslप्रक्रिया और इसे अनपैक करने के लिए पाइप हो जाता है
  • ... और उस से उत्पादन एक टारबॉल को पुनर्निर्देशित किया जाता है

वहां से, आपको अपना रास्ता पता होना चाहिए: बस "अनटार" (अर्क) जो आप चाहते हैं।

इसका उपयोग क्यों करता है $1? ठीक है, मैंने इस लाइन की प्रतिलिपि बनाई ab2tar, जिसमें मेरे छोटे उपकरण आदिबर के साथ शामिल है जिसे आप में भी रुचि हो सकती है: एक अच्छा उपकरण प्रलेखन, बैकअप स्क्रिप्ट और अधिक बनाता है, सभी एडीबी के माध्यम से कुछ भी नहीं का उपयोग करके लेकिन बैश put तो उस लाइन को एक छोटे से में डाल दिया थोड़ा शेल स्क्रिप्ट, और इसे कॉल करें:

ab2tar twrp-20170322.ab

फिर एक twrp-20170322.tarपरिणाम के रूप में खोजें । बेशक, यह opensslआपके लिनक्स मशीन पर स्थापित करने की आवश्यकता है।


मुझे निम्न त्रुटि संदेश मिलता है: 140376894071512: त्रुटि: 29065064: lib (41): BIO_ZLIB_READ: zlib त्रुटि त्रुटि: c_zlib.c: 548: zlb त्रुटि: डेटा त्रुटि
फ्रांसेस्को Turco

ऐसा कभी नहीं देखा। यह हो सकता है TWRP मानक एडीबी की तुलना में एक अलग संपीड़न विधि का उपयोग करता है (मुझे उस पर विवरण नहीं मिला)? या, जैसा कि आपने --compressबैकअप बनाते समय निर्दिष्ट नहीं किया था , असम्पीडित बैकअप बनाता है? बाद के मामले में, zlibपैरामीटर को छोड़ने की कोशिश करें (या इसे दूसरे तरीके से चारों ओर करें और --compressबैकअप बनाते समय निर्दिष्ट करें ;)।
इज़ी

मैंने इसके साथ प्रयास किया: dd if = twrp-20170320.ab bs = 24 स्किप = 1> twrp-20170320.tar (सम्मिलित किए बिना openssl)। लेकिन जब मैं tar -tf twrp-20170320.tar के साथ टार आर्काइव की सामग्री को सूचीबद्ध करने की कोशिश करता हूं, तो मुझे यह मिलता है: tar: यह एक टार संग्रह की तरह नहीं दिखता है; टार: अगले हैडर के लिए लंघन; टार: पिछली त्रुटियों के कारण विफलता की स्थिति से बाहर निकलना
फ्रांसेस्को तुर्को

इसके --compressसाथ विकल्प का उपयोग न करने का एक कारण है adb: यह तुलना में कम कुशलता से संपीड़ित करता है xz। मैं ज्यादा से ज्यादा जगह बचाना पसंद करता हूं। लेकिन यह मेरी प्रारंभिक समस्या से संबंधित नहीं है।
फ्रांसेस्को तुर्को

ऊपर वर्णित मैंने "सामान्य" एडीबी बैकअप के लिए ठीक काम करता है (मैं इसे उन लोगों के लिए अक्सर उपयोग करता हूं, और मैं --compressवहां भी उपयोग नहीं करता हूं )। आपके कथन ( adb backup …) से मैंने उसी प्रारूप को ग्रहण किया। यदि आप एक अलग संपीड़न का उपयोग कर रहे हैं, तो आपको उस पर विचार करना चाहिए। opensslबैकअप को डिक्रिप्ट करने की आवश्यकता है - इसलिए इसके बिना, आपको एक वैध नहीं मिलता है .tar। आपकी पिछली टिप्पणियों से, मुझे लगता है कि आपको इसके लिए zlibइसी भाग से प्रतिस्थापित करना चाहिए xz। इसके अलावा, मैं विचारों से बाहर हूं, क्षमा करें।
इज़ी

1

मैंने पाया है कि TWRP- जनरेट की गई .abफाइलें सामान्य adb backupफाइलों से अलग होती हैं , इसलिए ऑफसेट सामान्य .abफाइलों से अलग होते हैं । मैं निम्नलिखित कमांड का उपयोग करके फ़ाइलों का निरीक्षण और निकालने में सक्षम था (उदाहरण के लिए निरीक्षण करने के लिए)

dd if=backup.ab bs=512 skip=1 | tar ft -

जाहिर है, हेडर लंबा हो सकता है, लेकिन इसे 512-बाइट सीमाओं के साथ संरेखित किया जाना चाहिए, इसलिए skip=यदि यह पहली बार में नहीं मिल रहा है तो बस पैरामीटर को टक्कर दें ।

ध्यान दें कि फ़ाइल स्वरूप को twadbstream.h में परिभाषित किया गया है , अगर आपको इसे आगे खोदने की आवश्यकता है।


0

भोले-भाले dd- आधारित दृष्टिकोण के साथ समस्या यह है कि फ़ाइल में हर बार मेटाडेटा होता है। इससे किसी भी महत्वपूर्ण लंबाई की फ़ाइलों के लिए भ्रष्टाचार होता है।

मैंने Twadbstream.h (धन्यवाद @anarcat) का उपयोग करते हुए एक निष्कर्षण उपकरण लिखा है जो मैंने बड़े (~ 10GB) मल्टी-फाइलसिस्टम TWRP ADB बैकअप को सफलतापूर्वक पुनर्प्राप्त करने के लिए उपयोग किया है। twrpabx

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.