Sådan vises alle IPSW-filer fra Apple-servere ved hjælp af kommandolinjen
Indholdsfortegnelse:
Mange avancerede brugere foretrækker at bruge firmwarefiler, når de opdaterer deres iOS-enheder til den nyeste version, og hver gang der kommer en iOS-opdatering ud, sender vi direkte downloadlinks til de nyeste versioner. En gang imellem får vi spørgsmål fra brugere, der undrer sig over, hvordan vi finder disse fillinks, da de er gemt væk på Apples downloadservere, tilsyneladende skjult for offentligheden.Nå, der er ingen magi i dette, og det gøres nemt gennem kommandolinjen med et simpelt trick, der trækker en komplet liste over IPSW-filer, der er tilgængelige direkte fra Apple. I sin mest basale form viser den bogstaveligt t alt alt, men med nogle mindre ændringer i kommandosyntaksen kan du sortere efter specifikke iOS-versioner eller efter filer, der matcher et bestemt stykke hardware.
Dette vil sandsynligvis ikke være nyttigt for alle, men for brugere, der kan lide at arbejde med IPSW, eller for systemadministratorer, der har brug for at downloade en masse forskellige firmwarefiler for at udføre masseopdateringer på en masse hardware , dette burde være nyttigt. For alle andre kan det være en lærestreg yderligere at bevise, at vi hos osxdaily er nørder, der bruger for meget tid på at tænke over det her.
Hvis du selv vil prøve disse, skal du kopiere hele syntaksblokken og indsætte den i kommandolinjen. Kommandoerne ser brudt ud på nettet, men de bør indsættes fint i kommandolinjen som en enkelt kommandostreng på en enkelt linje.
Få en liste over alle IPSW-filer til alle iOS-enheder fra Apple
Den følgende kommandostreng returnerer en ret ren liste over bogstaveligt t alt hver eneste IPSW-fil for hver iOS-enhed, iPad, iPhone, iPod, you name it, hostet af Apples servere:
curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientCheck/version | grep ipsw | sortere -u | sed 's///g' | sed 's///g' | grep -v protected
For at gennemgå syntaksen, får curl adgang til "versionslisten" fra Apples server-URL (dette er i øvrigt den samme URL, som bliver ramt af iTunes, når den registrerer, at en opdatering er tilgængelig). Denne liste sendes derefter gennem grep-kommandoen for at matche "ipsw", men rabat 'beskyttet', sort -u sørger for, at de returnerede listeelementer er unikke, og til sidst sendes resultaterne gennem 'sed' for at rydde op i noget ubrugelig XML fra resultaterne.Udførelse af denne kommando dumper bare alt til kommandolinjen, du kan sende det gennem 'mere' for at gøre det mere læsbart, eller måske foretrækkes det for nogle brugere at omdirigere det til en tekstfil som sådan:
curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientCheck/version | grep ipsw | sortere -u | sed 's///g' | sed 's///g'| grep -v protected > ~/Desktop/ipswlist.txt
Det vil dumpe alt i en tekstfil med navnet 'ipswlist.txt' på skrivebordet.
Få en liste over alle iPhone IPSW-filer fra kommandolinjen
Er du ligeglad med de andre iOS-filer og vil bare have en liste over iPhone IPSW? Brug grep til iPhone, og resten af kommandoen forbliver den samme:
curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientCheck/version | grep ipsw | grep iPhone | sortere -u | sed 's///g' | sed 's///g' | grep -v protected
Tilføj "> ~/Desktop/iPhoneIPSW.txt" til slutningen for at sende resultaterne til en tekstfil på skrivebordet.
Hent en liste over alle iPad IPSW tilgængelige på Apples servere
I lighed med at bruge grep til at søge efter iPhone, vil angivelse af 'iPad' kun returnere iPad-firmwarefiler i stedet:
curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientCheck/version | grep ipsw | grep iPad | sortere -u | sed 's///g' | sed 's///g' | grep -v protected
Som før kan du sende det til en tekstfil, hvis det ønskes ved at tilføje "> ~/path/to/text.txt" til slutningen.
Få en liste over kun en specifik iOS-version fra Apple
I lighed med at søge efter specifik iOS-hardware kan du også returnere specifikke iOS-versioner, hvis det ønskes. For eksempel vil følgende syntaks kun returnere alle IPSW-resultater, der matcher iOS 7.0.4, noteret af den versionsstreng i den anden 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 | sortere -u | sed 's///g' | sed 's///g' | grep -v beskyttet | awk '{$1=$1}1'
Apple er hurtig med at skubbe opdateringer ud, og på grund af Over-the-Air-mekanismen bemærker de fleste nye opdateringer næsten med det samme, når de bliver tilgængelige. Ikke desto mindre bruger nogle brugere en variation af ovenstående trick til at overvåge for nye iOS-udgivelser ved med jævne mellemrum at forespørge efter forskellige versionsstrenge, der endnu ikke findes på Apples servere. Det er dog lidt uden for denne artikels rammer.
Der kan være renere og/eller bedre måder at gøre dette på. Ring i kommentarerne, hvis du har en anden løsning.