Slik viser du alle IPSW-filer fra Apple-servere ved hjelp av kommandolinjen

Innholdsfortegnelse:

Anonim

Mange avanserte brukere foretrekker å bruke fastvarefiler når de oppdaterer iOS-enhetene sine til den nyeste versjonen, og hver gang en iOS-oppdatering kommer ut legger vi ut direkte nedlastingslenker for de nyeste versjonene. En gang i blant får vi spørsmål fra brukere som lurer på hvordan vi finner disse filkoblingene, siden de er gjemt bort på Apples nedlastingsservere, tilsynelatende skjult for offentligheten.Vel, det er ingen magi i dette, og det gjøres enkelt gjennom kommandolinjen med et enkelt triks som trekker en fullstendig liste over IPSW-filer som er tilgjengelige direkte fra Apple. I sin mest grunnleggende form viser den bokstavelig t alt alt, men med noen mindre endringer i kommandosyntaksen kan du sortere etter spesifikke iOS-versjoner eller for filer som samsvarer med en bestemt maskinvare.

Dette vil sannsynligvis ikke være nyttig for alle, men for brukere som liker å jobbe med IPSW, eller for systemadministratorer som trenger å laste ned en haug med forskjellige fastvarefiler for å utføre masseoppdateringer på en haug med maskinvare , bør dette være nyttig. For alle andre kan det være en leksjon å bevise ytterligere at vi i osxdaily er nerder som bruker for mye tid på å tenke på dette.

Hvis du skal prøve disse selv, kopier hele syntaksblokken og lim den inn i kommandolinjen. Kommandoene ser splittede ut på nettet, men de bør limes fint inn i kommandolinjen som en enkelt kommandostreng på en enkelt linje.

Få en liste over alle IPSW-filer for alle iOS-enheter fra Apple

Følgende kommandostreng returnerer en ganske ren liste over bokstavelig t alt hver eneste IPSW-fil for hver iOS-enhet, iPad, iPhone, iPod, you name it, hostet av Apples servere:

curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientCheck/versjon | grep ipsw | sorter -u | sed 's///g' | sed 's///g' | grep -v protected

For å gå gjennom syntaksen, får curl tilgang til "versjonslisten" fra Apples server-URL (dette er den samme URL-adressen som blir truffet av iTunes når den oppdager at en oppdatering er tilgjengelig, forresten). Den listen sendes deretter gjennom grep-kommandoen for å matche for "ipsw", men rabatt "beskyttet", sort -u sørger for at de returnerte listeelementene er unike, og til slutt sendes resultatene gjennom "sed" for å rydde opp i ubrukelig XML fra resultatene.Å utføre den kommandoen dumper bare alt til kommandolinjen, du kan sende den gjennom "mer" for å gjøre den mer lesbar, eller kanskje å foretrekke for noen brukere er å omdirigere den til en tekstfil slik:

curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientCheck/versjon | grep ipsw | sorter -u | sed 's///g' | sed 's///g'| grep -v protected > ~/Desktop/ipswlist.txt

Det vil dumpe alt inn i en tekstfil med navnet 'ipswlist.txt' på skrivebordet.

Få en liste over alle iPhone IPSW-filer fra kommandolinjen

Bror du ikke om de andre iOS-filene og vil bare ha en liste over iPhone IPSW? Bruk grep for iPhone og resten av kommandoen forblir den samme:

curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientCheck/versjon | grep ipsw | grep iPhone | sorter -u | sed 's///g' | sed 's///g' | grep -v protected

Legg til «> ~/Desktop/iPhoneIPSW.txt» til slutten for å sende resultatene til en tekstfil på skrivebordet.

Hent en liste over alle iPad IPSW tilgjengelig på Apples servere

I likhet med bruk av grep for å søke etter iPhone, vil spesifikasjoner «iPad» bare returnere iPad-fastvarefiler i stedet:

curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientCheck/versjon | grep ipsw | grep iPad | sorter -u | sed 's///g' | sed 's///g' | grep -v protected

Som før kan du sende det til en tekstfil om ønskelig ved å legge til "> ~/path/to/text.txt" til slutten.

Få en liste over bare en spesifikk iOS-versjon fra Apple

I likhet med å søke etter spesifikk iOS-maskinvare, kan du også returnere spesifikke iOS-versjoner om ønskelig. For eksempel vil følgende syntaks bare returnere alle IPSW-resultater som samsvarer med iOS 7.0.4, notert av den versjonsstrengen i den andre grep:

curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientCheck/versjon | grep ipsw | grep 7.0.4 | sorter -u | sed 's///g' | sed 's///g' | grep -v beskyttet | awk '{$1=$1}1'

Apple er rask med å presse ut oppdateringer, og på grunn av Over-the-Air-mekanismen legger de fleste merke til nye oppdateringer nesten umiddelbart når de blir tilgjengelige. Ikke desto mindre bruker noen brukere en variant av trikset ovenfor for å overvåke etter nye iOS-utgivelser ved med jevne mellomrom å spørre etter forskjellige versjonsstrenger som ennå ikke eksisterer på Apples servere. Det er imidlertid litt utenfor rammen av denne artikkelen.

Det kan finnes renere og/eller bedre måter å gjøre dette på, ring kommentarene hvis du har en annen løsning.

Slik viser du alle IPSW-filer fra Apple-servere ved hjelp av kommandolinjen