Alle IPSW-bestanden van Apple-servers weergeven met behulp van de opdrachtregel
Inhoudsopgave:
Veel geavanceerde gebruikers geven er de voorkeur aan firmwarebestanden te gebruiken bij het updaten van hun iOS-apparaten naar de nieuwste versie, en elke keer dat er een iOS-update uitkomt, plaatsen we directe downloadlinks voor de nieuwste versies. Af en toe krijgen we vragen van gebruikers die zich afvragen hoe we die bestandskoppelingen vinden, aangezien ze weggestopt zijn op de downloadservers van Apple, schijnbaar verborgen voor het publiek.Welnu, hier is geen magie aan verbonden en het is eenvoudig te doen via de opdrachtregel met een simpele truc die een volledige lijst met IPSW-bestanden opha alt die rechtstreeks bij Apple beschikbaar zijn. In zijn meest basale vorm vermeldt het letterlijk alles, maar met enkele kleine wijzigingen in de opdrachtsyntaxis kunt u sorteren op specifieke iOS-versies of op bestanden die overeenkomen met een specifiek stuk hardware.
Dit zal waarschijnlijk niet voor iedereen nuttig zijn, maar voor gebruikers die graag met IPSW werken, of voor systeembeheerders die een heleboel verschillende firmwarebestanden moeten downloaden om bulkupdates uit te voeren op een heleboel hardware , dit zou nuttig moeten zijn. Voor alle anderen kan het een les zijn om verder te bewijzen dat we bij osxdaily nerds zijn die te veel tijd besteden aan het nadenken over dit soort dingen.
Als je deze zelf gaat proberen, kopieer dan het volledige syntaxisblok en plak het in de opdrachtregel. De commando's zien er op internet kapot uit, maar ze zouden prima in de commandoregel moeten worden geplakt als een enkele commandoreeks op een enkele regel.
Krijg een lijst met alle IPSW-bestanden voor alle iOS-apparaten van Apple
De volgende opdrachtreeks retourneert een redelijk schone lijst van vrij letterlijk elk afzonderlijk IPSW-bestand voor elk iOS-apparaat, iPad, iPhone, iPod, noem maar op, gehost door de servers van Apple:
krul http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientCheck/versie | grep ipsw | sorteer -u | sed 's///g' | sed 's///g' | grep -v beschermd
Om de syntaxis te doorlopen: curl heeft toegang tot de "versie"-lijst vanaf de server-URL van Apple (dit is trouwens dezelfde URL die iTunes aanraakt wanneer het detecteert dat er een update beschikbaar is). Die lijst wordt vervolgens doorgegeven via de opdracht grep om overeen te komen met "ipsw", maar korting 'beschermd', sort -u zorgt ervoor dat de geretourneerde lijstitems uniek zijn en ten slotte worden de resultaten doorgegeven via 'sed' om wat nutteloze XML op te ruimen uit de resultaten.Door die opdracht uit te voeren, wordt alles gewoon naar de opdrachtregel gedumpt, je kunt het doorgeven via 'meer' om het leesbaarder te maken, of misschien heeft het voor sommige gebruikers de voorkeur om het om te leiden naar een tekstbestand, zoals:
krul http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientCheck/versie | grep ipsw | sorteer -u | sed 's///g' | sed 's///g'| grep -v beschermd > ~/Desktop/ipswlist.txt
Dat dumpt alles in een tekstbestand met de naam 'ipswlist.txt' op het bureaublad.
Krijg een lijst van alle iPhone IPSW-bestanden vanaf de opdrachtregel
Geef je niet om de andere iOS-bestanden en wil je gewoon een lijst met iPhone IPSW? Gebruik grep voor iPhone en de rest van het commando blijft hetzelfde:
krul http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientCheck/versie | grep ipsw | grep iPhone | sorteer -u | sed 's///g' | sed 's///g' | grep -v beschermd
Voeg "> ~/Desktop/iPhoneIPSW.txt" toe aan het einde om de resultaten naar een tekstbestand op het bureaublad te sturen.
Een lijst ophalen van alle iPad IPSW die beschikbaar is op de servers van Apple
Net als bij het gebruik van grep om naar iPhone te zoeken, zal het specificeren van 'iPad' alleen iPad-firmwarebestanden retourneren:
krul http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientCheck/versie | grep ipsw | grep iPad | sorteer -u | sed 's///g' | sed 's///g' | grep -v beschermd
Zoals eerder kun je dat desgewenst naar een tekstbestand sturen door "> ~/path/to/text.txt" aan het einde toe te voegen.
Ontvang een lijst met alleen een specifieke iOS-versie van Apple
Net als bij het zoeken naar specifieke iOS-hardware, kunt u desgewenst ook specifieke iOS-versies retourneren. De volgende syntaxis retourneert bijvoorbeeld alleen alle IPSW-resultaten die overeenkomen met iOS 7.0.4, vermeld door die versietekenreeks in de tweede grep:
krul http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientCheck/versie | grep ipsw | grep 7.0.4 | sorteer -u | sed 's///g' | sed 's///g' | grep -v beveiligd | awk '{$1=$1}1'
Apple is snel met het uitbrengen van updates en vanwege het Over-the-Air-mechanisme merken de meeste mensen nieuwe updates vrijwel meteen op wanneer ze beschikbaar komen. Desalniettemin gebruiken sommige gebruikers een variatie op de bovenstaande truc om te controleren op nieuwe iOS-releases door periodiek te zoeken naar verschillende versiereeksen die nog niet bestaan op de servers van Apple. Dat v alt echter een beetje buiten het bestek van dit artikel.
Er kunnen schonere en/of betere manieren zijn om dit te doen, laat de reacties weten als je een andere oplossing hebt.