Cách liệt kê tất cả tệp IPSW từ máy chủ Apple bằng dòng lệnh
Mục lục:
Nhiều người dùng nâng cao thích sử dụng tệp chương trình cơ sở khi cập nhật thiết bị iOS của họ lên phiên bản mới nhất và mỗi khi có bản cập nhật iOS, chúng tôi đều đăng liên kết tải xuống trực tiếp cho các phiên bản mới nhất. Thỉnh thoảng, chúng tôi nhận được câu hỏi từ những người dùng thắc mắc làm thế nào chúng tôi tìm thấy các liên kết tệp đó, vì chúng được giấu kín trên các máy chủ tải xuống của Apple, dường như bị ẩn khỏi chế độ xem công khai.Chà, không có bất kỳ phép thuật nào đối với điều này và nó có thể dễ dàng thực hiện thông qua dòng lệnh bằng một thủ thuật đơn giản để lấy danh sách đầy đủ các tệp IPSW có sẵn trực tiếp từ Apple. Ở dạng cơ bản nhất, nó liệt kê mọi thứ theo nghĩa đen, nhưng với một số thay đổi nhỏ đối với cú pháp lệnh, bạn có thể sắp xếp cho các phiên bản iOS cụ thể hoặc cho các tệp khớp với một phần cứng cụ thể.
Điều này có thể không hữu ích với tất cả mọi người, nhưng với người dùng thích làm việc với IPSW hoặc quản trị viên hệ thống cần tải xuống nhiều tệp chương trình cơ sở khác nhau để thực hiện cập nhật hàng loạt trên nhiều phần cứng , điều này sẽ hữu ích. Đối với những người khác, đây có thể là một bài học để chứng minh thêm rằng chúng tôi tại osxdaily là những người lập dị dành quá nhiều thời gian để suy nghĩ về những thứ này.
Nếu bạn định tự mình thử những cách này, hãy sao chép toàn bộ khối cú pháp và dán vào dòng lệnh. Các lệnh trông có vẻ tách rời nhau trên web, nhưng chúng nên dán tốt vào dòng lệnh dưới dạng một chuỗi lệnh duy nhất trên một dòng.
Lấy danh sách tất cả tệp IPSW cho tất cả thiết bị iOS từ Apple
Chuỗi lệnh sau trả về một danh sách khá rõ ràng về mọi tệp IPSW đơn lẻ cho mọi thiết bị iOS, iPad, iPhone, iPod, bạn đặt tên cho nó, được lưu trữ bởi các máy chủ của Apple:
curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientKiểm tra/phiên bản | grep ipsw | sắp xếp -u | sed 's///g' | sed 's///g' | grep -v protected
Để hướng dẫn cú pháp, curl đang truy cập danh sách “phiên bản” từ URL máy chủ của Apple (nhân tiện, đây cũng chính là URL mà iTunes truy cập khi phát hiện có bản cập nhật). Danh sách đó sau đó được chuyển qua lệnh grep để khớp với “ipsw” nhưng chiết khấu 'được bảo vệ', sắp xếp -u đảm bảo các mục trong danh sách được trả về là duy nhất và cuối cùng, kết quả được chuyển qua 'sed' để dọn sạch một số XML vô dụng từ kết quả.Việc thực thi lệnh đó chỉ đưa mọi thứ vào dòng lệnh, bạn có thể chuyển nó qua 'thêm' để dễ đọc hơn hoặc có lẽ tốt hơn đối với một số người dùng là chuyển hướng nó vào một tệp văn bản như vậy:
curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientKiểm tra/phiên bản | grep ipsw | sắp xếp -u | sed 's///g' | sed 's///g'| grep -v protected > ~/Desktop/ipswlist.txt
Điều đó sẽ kết xuất mọi thứ vào một tệp văn bản có tên ‘ipswlist.txt’ trên màn hình nền.
Lấy danh sách tất cả các tệp IPSW của iPhone từ dòng lệnh
Không quan tâm đến các tệp iOS khác và chỉ muốn có danh sách IPSW của iPhone? Sử dụng grep cho iPhone và phần còn lại của lệnh vẫn giữ nguyên:
curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientKiểm tra/phiên bản | grep ipsw | iPhone | sắp xếp -u | sed 's///g' | sed 's///g' | grep -v protected
Thêm “> ~/Desktop/iPhoneIPSW.txt” vào cuối để gửi kết quả tới một tệp văn bản trên màn hình.
Truy xuất danh sách tất cả iPad IPSW có sẵn trên Máy chủ của Apple
Tương tự như sử dụng grep để tìm kiếm iPhone, việc chỉ định 'iPad' sẽ chỉ trả về các tệp chương trình cơ sở của iPad:
curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientKiểm tra/phiên bản | grep ipsw | iPad | sắp xếp -u | sed 's///g' | sed 's///g' | grep -v protected
Như trước đây, bạn có thể gửi tệp đó vào tệp văn bản nếu muốn bằng cách thêm “> ~/path/to/text.txt” vào cuối.
Nhận danh sách chỉ một phiên bản iOS cụ thể từ Apple
Tương tự như tìm kiếm phần cứng iOS cụ thể, bạn cũng có thể trả về các phiên bản iOS cụ thể nếu muốn. Ví dụ: cú pháp sau sẽ chỉ trả về tất cả các kết quả IPSW phù hợp với iOS 7.0.4, được ghi chú bởi chuỗi phiên bản đó trong grep thứ hai:
curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientKiểm tra/phiên bản | grep ipsw | grep 7.0.4 | sắp xếp -u | sed 's///g' | sed 's///g' | grep -v được bảo vệ | awk '{$1=$1}1'
Apple nhanh chóng đưa ra các bản cập nhật và do cơ chế Qua mạng, hầu hết mọi người nhận thấy các bản cập nhật mới gần như ngay lập tức khi chúng có sẵn. Tuy nhiên, một số người dùng sử dụng một biến thể của thủ thuật trên để theo dõi các bản phát hành iOS mới bằng cách truy vấn định kỳ các chuỗi phiên bản khác nhau chưa tồn tại trên máy chủ của Apple. Tuy nhiên, điều đó hơi vượt quá phạm vi của bài viết này.
Có thể có nhiều cách sạch hơn và/hoặc tốt hơn để thực hiện việc này, hãy tham gia nhận xét nếu bạn có giải pháp khác.