2015-04-23 23 views
25

Come posso eseguire questo comando in OSX?Errore: 'zlib' è un comando non valido

dd if=mybackup.ab bs=24 skip=1|openssl zlib -d > mybackup.tar

Quando eseguo questo ottengo i seguenti errori

$ dd if=mybackup.ab bs=24 skip=1|openssl zlib -d > mybackup.tar 
dd: mybackup.ab: No such file or directory 
openssl:Error: 'zlib' is an invalid command. 

Standard commands 
asn1parse  ca    ciphers  crl   crl2pkcs7  
dgst   dh    dhparam  dsa   dsaparam  
ec    ecparam  enc   engine   errstr   
gendh   gendsa   genrsa   nseq   ocsp   
passwd   pkcs12   pkcs7   pkcs8   prime   
rand   req   rsa   rsautl   s_client  
s_server  s_time   sess_id  smime   speed   
spkac   verify   version  x509   

Message Digest commands (see the `dgst' command for more details) 
md2   md4   md5   mdc2   rmd160   
sha   sha1   

Cipher commands (see the `enc' command for more details) 
aes-128-cbc aes-128-ecb aes-192-cbc aes-192-ecb aes-256-cbc  
aes-256-ecb base64   bf    bf-cbc   bf-cfb   
bf-ecb   bf-ofb   cast   cast-cbc  cast5-cbc  
cast5-cfb  cast5-ecb  cast5-ofb  des   des-cbc   
des-cfb  des-ecb  des-ede  des-ede-cbc des-ede-cfb  
des-ede-ofb des-ede3  des-ede3-cbc des-ede3-cfb des-ede3-ofb 
des-ofb  des3   desx   rc2   rc2-40-cbc  
rc2-64-cbc  rc2-cbc  rc2-cfb  rc2-ecb  rc2-ofb   
rc4   rc4-40   rc5   rc5-cbc  rc5-cfb   
rc5-ecb  rc5-ofb  seed   seed-cbc  seed-cfb  
seed-ecb  seed-ofb  
+1

Stack Overflow è un sito per questioni di programmazione e sviluppo. Questa domanda sembra essere fuori tema perché non riguarda la programmazione o lo sviluppo. Vedi [Quali argomenti posso chiedere qui] (http://stackoverflow.com/help/on-topic) nel Centro assistenza. Forse [Super User] (http://superuser.com/) o [Apple Stack Exchange] (http://apple.stackexchange.com/) sarebbe un posto migliore dove chiedere. – jww

risposta

34

OpenSSL su Mac viene compilato senza il supporto zlib. metodo alternativo descritto nel this article lavori sul mio Yosemite:

dd if=backup.ab bs=1 skip=24 | python -c "import zlib,sys;sys.stdout.write(zlib.decompress(sys.stdin.read()))" | tar -xvf - 

modo opzionale, se si desidera solo per convertirlo in archivio tar:

dd if=backup.ab bs=1 skip=24 | python -c "import zlib,sys;sys.stdout.write(zlib.decompress(sys.stdin.read()))" > backup.tar 

salta primi 24 byte di intestazione Android e poi decomprime i dati zlib .

+2

Apparentemente non è così semplice, l'ordine dei file nell'archivio tar è importante ad esempio, leggi http://nelenkov.blogspot.com/2012/06/unpacking-android-backups.html – baf

+1

capito "..make sure si specificano i file da includere nell'ordine corretto creando un elenco di file di backup e passando a tar con l'opzione -T. " –

5

Basta fissarlo

ultima versione da OpenSSL Official Repo.

$ wget https://www.openssl.org/source/openssl-1.1.0e.tar.gz 
$ tar -zxvf openssl-1.1.0e.tar.gz 
$ cd openssl-1.1.0e 

Configurare OpenSSL con il supporto zlib

$ ./config zlib 
$ make 
$ sudo make install 

Happy days

$ which openssl 
/usr/local/bin/openssl 
Problemi correlati