Hur man listar alla IPSW-filer från Apple-servrar med hjälp av kommandoraden
Innehållsförteckning:
Många avancerade användare föredrar att använda firmware-filer när de uppdaterar sina iOS-enheter till den senaste versionen, och varje gång en iOS-uppdatering kommer ut lägger vi upp direkta nedladdningslänkar för de senaste versionerna. Då och då får vi frågor från användare som undrar hur vi hittar dessa fillänkar, eftersom de är undangömt på Apples nedladdningsservrar, till synes dolda för allmänheten.Tja, det finns ingen magi i detta och det görs enkelt via kommandoraden med ett enkelt trick som drar en fullständig lista över IPSW-filer som är tillgängliga direkt från Apple. I sin mest grundläggande form listar den bokstavligen allt, men med några mindre ändringar i kommandosyntaxen kan du sortera efter specifika iOS-versioner eller för filer som matchar en specifik hårdvara.
Detta kommer sannolikt inte att vara användbart för alla, men för användare som gillar att arbeta med IPSW, eller för systemadministratörer som behöver ladda ner en massa olika firmware-filer för att utföra massuppdateringar av en massa hårdvara , detta borde vara till hjälp. För alla andra kan det vara en läxa att ytterligare bevisa att vi på osxdaily är nördar som lägger för mycket tid på att tänka på det här.
Om du ska prova dessa själv, kopiera hela syntaxblocket och klistra in det på kommandoraden. Kommandona ser splittrade ut på webben, men de bör klistra in fint på kommandoraden som en enda kommandosträng på en enda rad.
Hämta en lista över alla IPSW-filer för alla iOS-enheter från Apple
Följande kommandosträng returnerar en ganska ren lista med bokstavligen varenda IPSW-fil för varje iOS-enhet, iPad, iPhone, iPod, you name it, värd för Apples servrar:
curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientCheck/version | grep ipsw | sortera -u | sed 's///g' | sed 's///g' | grep -v protected
För att gå igenom syntaxen, kommer curl åt "versionslistan" från Apples server-URL (detta är förresten samma URL som träffas av iTunes när den upptäcker att en uppdatering är tillgänglig). Den listan skickas sedan genom grep-kommandot för att matcha för "ipsw" men rabatt "skyddad", sort -u ser till att de returnerade listobjekten är unika, och slutligen skickas resultaten genom "sed" för att rensa upp lite värdelös XML från resultaten.Att köra det kommandot dumpar bara allt till kommandoraden, du kan skicka det genom "mer" för att göra det mer läsbart, eller kanske att föredra för vissa användare är att omdirigera det till en textfil som så:
curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientCheck/version | grep ipsw | sortera -u | sed 's///g' | sed 's///g'| grep -v protected > ~/Desktop/ipswlist.txt
Det dumpar allt i en textfil med namnet 'ipswlist.txt' på skrivbordet.
Få en lista över alla iPhone IPSW-filer från kommandoraden
Bryr du inte om de andra iOS-filerna och vill bara ha en lista över iPhone IPSW? Använd grep för iPhone och resten av kommandot förblir detsamma:
curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientCheck/version | grep ipsw | grep iPhone | sortera -u | sed 's///g' | sed 's///g' | grep -v protected
Lägg till "> ~/Desktop/iPhoneIPSW.txt" i slutet för att skicka resultaten till en textfil på skrivbordet.
Hämta en lista över alla iPad IPSW som är tillgängliga på Apples servrar
…curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientCheck/version | grep ipsw | grep iPad | sortera -u | sed 's///g' | sed 's///g' | grep -v protected
Som tidigare kan du skicka det till en textfil om så önskas genom att lägga till "> ~/path/to/text.txt" till slutet.
Få en lista över endast en specifik iOS-version från Apple
I likhet med att söka efter specifik iOS-hårdvara kan du även returnera specifika iOS-versioner om så önskas. Till exempel kommer följande syntax endast att returnera alla IPSW-resultat som matchar iOS 7.0.4, noterat av den versionssträngen i den andra grep:
curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientCheck/version | grep ipsw | grep 7.0.4 | sortera -u | sed 's///g' | sed 's///g' | grep -v skyddad | awk '{$1=$1}1'
Apple är snabb med att trycka ut uppdateringar och på grund av Over-the-Air-mekanismen märker de flesta nya uppdateringar nästan direkt när de blir tillgängliga. Icke desto mindre använder vissa användare en variant av ovanstående trick för att övervaka nya iOS-utgåvor genom att regelbundet söka efter olika versionssträngar som ännu inte finns på Apples servrar. Det är dock lite utanför ramen för den här artikeln.
Det kan finnas renare och/eller bättre sätt att göra detta, skriv kommentarerna om du har en annan lösning.