Come elencare tutti i file IPSW dai server Apple utilizzando la riga di comando
Sommario:
Molti utenti esperti preferiscono utilizzare i file del firmware quando aggiornano i loro dispositivi iOS all'ultima versione e ogni volta che esce un aggiornamento iOS pubblichiamo link per il download diretto per le versioni più recenti. Di tanto in tanto riceviamo domande da utenti che si chiedono come troviamo quei collegamenti ai file, dal momento che sono nascosti sui server di download di Apple, apparentemente nascosti alla vista del pubblico.Bene, non c'è alcuna magia in questo ed è facilmente eseguibile tramite la riga di comando con un semplice trucco che estrae un elenco completo di file IPSW disponibili direttamente da Apple. Nella sua forma più elementare elenca letteralmente tutto, ma con alcune piccole modifiche alla sintassi dei comandi puoi ordinare per specifiche versioni di iOS o per file che corrispondono a un componente hardware specifico.
Questo probabilmente non sarà utile a tutti, ma per gli utenti a cui piace lavorare con IPSW o per gli amministratori di sistema che devono scaricare una serie di file firmware diversi per eseguire aggiornamenti di massa su una serie di hardware , questo dovrebbe essere utile. Per tutti gli altri, può essere una lezione per dimostrare ulteriormente che noi di osxdaily siamo nerd che passano troppo tempo a pensare a queste cose.
Se hai intenzione di provarli tu stesso, copia il blocco di sintassi completo e incollalo nella riga di comando. I comandi sembrano frammentati sul Web, ma dovrebbero essere incollati bene nella riga di comando come una singola stringa di comando su un'unica riga.
Ottieni un elenco di tutti i file IPSW per tutti i dispositivi iOS da Apple
La seguente stringa di comando restituisce un elenco abbastanza pulito di letteralmente ogni singolo file IPSW per ogni dispositivo iOS, iPad, iPhone, iPod, lo chiami tu, ospitato dai server Apple:
curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientCheck/versione | grep ipsw | ordina -u | sed 's///g' | sed 's///g' | grep -v protetto
Per esaminare la sintassi, curl sta accedendo all'elenco delle "versioni" dall'URL del server Apple (questo è lo stesso URL che viene colpito da iTunes quando rileva che è disponibile un aggiornamento, tra l' altro). Tale elenco viene quindi passato attraverso il comando grep per trovare la corrispondenza con "ipsw" ma discount 'protected', sort -u si assicura che gli elementi dell'elenco restituiti siano univoci e, infine, i risultati vengono passati attraverso 'sed' per ripulire alcuni XML inutili dai risultati.L'esecuzione di quel comando scarica semplicemente tutto sulla riga di comando, puoi passarlo attraverso "more" per renderlo più leggibile, o forse è preferibile per alcuni utenti reindirizzarlo in un file di testo in questo modo:
curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientCheck/versione | grep ipsw | ordina -u | sed 's///g' | sed 's///g'| grep -v protected > ~/Desktop/ipswlist.txt
Questo scaricherà tutto in un file di testo chiamato "ipswlist.txt" sul desktop.
Ottieni un elenco di tutti i file IPSW di iPhone dalla riga di comando
Non ti interessano gli altri file iOS e vuoi solo un elenco di iPhone IPSW? Usa grep per iPhone e il resto del comando rimane lo stesso:
curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientCheck/versione | grep ipsw | grep iPhone | ordina -u | sed 's///g' | sed 's///g' | grep -v protetto
Aggiungi "> ~/Desktop/iPhoneIPSW.txt" alla fine per inviare i risultati a un file di testo sul desktop.
Recupera un elenco di tutti gli iPad IPSW disponibili sui server Apple
Simile all'utilizzo di grep per cercare iPhone, specificando "iPad" verranno invece restituiti solo i file del firmware dell'iPad:
curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientCheck/versione | grep ipsw | grep iPad | ordina -u | sed 's///g' | sed 's///g' | grep -v protetto
Come prima, puoi inviarlo in un file di testo se lo desideri aggiungendo "> ~/path/to/text.txt" alla fine.
Ottieni un elenco solo di una specifica versione di iOS da Apple
Analogamente alla ricerca di hardware iOS specifico, puoi anche restituire versioni iOS specifiche se lo desideri. Ad esempio, la seguente sintassi restituirà solo tutti i risultati IPSW che corrispondono a iOS 7.0.4, annotati da quella stringa di versione nel secondo grep:
curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientCheck/versione | grep ipsw | grep 7.0.4 | ordina -u | sed 's///g' | sed 's///g' | grep -v protetto | awk '{$1=$1}1'
Apple è veloce nel distribuire gli aggiornamenti e, grazie al meccanismo Over-the-Air, la maggior parte delle persone nota quasi subito i nuovi aggiornamenti quando diventano disponibili. Tuttavia, alcuni utenti utilizzano una variazione del trucco sopra per monitorare le nuove versioni di iOS interrogando periodicamente varie stringhe di versione che non esistono ancora sui server Apple. Questo però va un po' oltre lo scopo di questo articolo.
Potrebbero esserci modi più puliti e/o migliori per farlo, segnalate nei commenti se avete un' altra soluzione.