Як отримати список усіх файлів IPSW із серверів Apple за допомогою командного рядка

Зміст:

Anonim

Багато досвідчених користувачів воліють використовувати файли прошивки під час оновлення своїх пристроїв iOS до останньої версії, і щоразу, коли виходить оновлення iOS, ми публікуємо прямі посилання для завантаження останніх версій. Час від часу ми отримуємо запитання від користувачів, які цікавляться, як ми знаходимо ці посилання на файли, оскільки вони сховані на серверах завантажень Apple, здавалося б, приховані від загального огляду.Що ж, у цьому немає ніякої магії, і це легко зробити через командний рядок за допомогою простого трюку, який витягує повний список файлів IPSW, доступних безпосередньо від Apple. У найпростішій формі він перераховує буквально все, але з деякими незначними змінами в синтаксисі команди можна сортувати для певних версій iOS або для файлів, які відповідають певній частині обладнання.

Це, ймовірно, буде корисним не для всіх, але для користувачів, які люблять працювати з IPSW, або для системних адміністраторів, яким потрібно завантажити купу різних файлів прошивки для масового оновлення групи апаратного забезпечення , це має бути корисним. Для всіх інших це може стати уроком, щоб ще раз довести, що ми в osxdaily — ботаніки, які витрачають надто багато часу на роздуми про це.

Якщо ви збираєтеся спробувати це самостійно, скопіюйте повний синтаксичний блок і вставте його в командний рядок. Команди виглядають розбитими в Інтернеті, але їх слід добре вставити в командний рядок як один командний рядок в одному рядку.

Отримайте список усіх файлів IPSW для всіх пристроїв iOS від Apple

Наведений нижче командний рядок повертає досить чіткий список буквально кожного окремого файлу IPSW для кожного пристрою iOS, iPad, iPhone, iPod, будь-якого іншого, розміщеного на серверах Apple:

curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientCheck/версія | grep ipsw | sort -u | sed 's///g' | sed 's///g' | grep -v protected

Щоб ознайомитися з синтаксисом, curl отримує доступ до списку «версій» із URL-адреси сервера Apple (до речі, це та сама URL-адреса, на яку потрапляє iTunes, коли виявляє доступне оновлення). Потім цей список передається через команду grep для відповідності «ipsw», але знижка «захищена», sort -u гарантує, що повернуті елементи списку унікальні, і, нарешті, результати передаються через «sed», щоб очистити непотрібний XML від результатів.Виконання цієї команди просто скидає все в командний рядок, ви можете передати його через «more», щоб зробити його більш читабельним, або, можливо, для деяких користувачів краще переспрямувати його в текстовий файл, наприклад:

curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientCheck/версія | grep ipsw | sort -u | sed 's///g' | sed 's///g'| grep -v protected > ~/Desktop/ipswlist.txt

Це скине все в текстовий файл під назвою «ipswlist.txt» на робочому столі.

Отримати список усіх файлів iPhone IPSW з командного рядка

Не дбаєте про інші файли iOS і просто хочете отримати список iPhone IPSW? Використовуйте grep для iPhone, а решта команди залишиться незмінною:

curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientCheck/версія | grep ipsw | grep iPhone | sort -u | sed 's///g' | sed 's///g' | grep -v protected

Додайте «> ~/Desktop/iPhoneIPSW.txt» у кінець, щоб надіслати результати в текстовий файл на робочому столі.

Отримати список усіх iPad IPSW, доступних на серверах Apple

Подібно до використання grep для пошуку iPhone, вказівка ​​«iPad» натомість повертатиме лише файли прошивки iPad:

curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientCheck/версія | grep ipsw | grep iPad | sort -u | sed 's///g' | sed 's///g' | grep -v protected

Як і раніше, за бажанням ви можете надіслати це в текстовий файл, додавши в кінець «> ~/path/to/text.txt».

Отримати список лише певної версії iOS від Apple

Подібно до пошуку певного апаратного забезпечення iOS, за бажанням ви також можете повернути певні версії iOS. Наприклад, наведений нижче синтаксис поверне лише всі результати IPSW, які відповідають iOS 7.0.4, зазначені цим рядком версії у другому grep:

curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientCheck/версія | grep ipsw | grep 7.0.4 | sort -u | sed 's///g' | sed 's///g' | grep -v захищений | awk '{$1=$1}1'

Apple швидко надсилає оновлення, і завдяки механізму Over-the-Air більшість людей помічають нові оновлення майже одразу, коли вони стають доступними. Незважаючи на це, деякі користувачі використовують різновиди вищезазначеного трюку, щоб стежити за новими випусками iOS, періодично запитуючи різні рядки версій, яких ще немає на серверах Apple. Хоча це трохи виходить за рамки цієї статті.

Можливо, є більш чисті та/або кращі способи зробити це, пишіть у коментарях, якщо у вас є інше рішення.

Як отримати список усіх файлів IPSW із серверів Apple за допомогою командного рядка