วิธีแสดงรายการไฟล์ IPSW ทั้งหมดจากเซิร์ฟเวอร์ Apple โดยใช้บรรทัดคำสั่ง
สารบัญ:
ผู้ใช้ขั้นสูงหลายคนชอบใช้ไฟล์เฟิร์มแวร์เมื่ออัปเดตอุปกรณ์ 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 | เรียง -u | sed 's///g' | sed 's///g' | grep -v ป้องกัน
หากต้องการคำแนะนำเกี่ยวกับไวยากรณ์ curl กำลังเข้าถึงรายการ "เวอร์ชัน" จาก URL เซิร์ฟเวอร์ของ Apple (ซึ่งเป็น URL เดียวกับที่ iTunes ตรวจพบเมื่อพบว่ามีการอัปเดต) รายการนั้นจะถูกส่งผ่านคำสั่ง grep เพื่อจับคู่กับ "ipsw" แต่ส่วนลด 'ป้องกัน' sort -u ทำให้แน่ใจว่ารายการที่ส่งคืนนั้นไม่ซ้ำกัน และสุดท้าย ผลลัพธ์จะถูกส่งผ่าน 'sed' เพื่อล้าง XML ที่ไม่มีประโยชน์ จากผลลัพธ์การดำเนินการคำสั่งนั้นเพียงแค่ทิ้งทุกอย่างลงในบรรทัดคำสั่ง คุณสามารถส่งต่อผ่าน 'เพิ่มเติม' เพื่อให้อ่านได้ง่ายขึ้น หรือบางทีอาจดีกว่าสำหรับผู้ใช้บางคนคือการเปลี่ยนเส้นทางไปยังไฟล์ข้อความ เช่น:
curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientCheck/เวอร์ชั่น | grep ipsw | เรียง -u | sed 's///g' | sed 's///g'| grep -v ป้องกัน > ~/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 | เกรป iPhone | เรียง -u | sed 's///g' | sed 's///g' | grep -v ป้องกัน
เพิ่ม “> ~/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 | เกรป iPad | เรียง -u | sed 's///g' | sed 's///g' | grep -v ป้องกัน
เช่นเดิม คุณสามารถส่งเป็นไฟล์ข้อความหากต้องการโดยเพิ่ม “> ~/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 | เรียง -u | sed 's///g' | sed 's///g' | grep -v ป้องกัน | awk '{$1=$1}1'
Apple รวดเร็วในการผลักดันการอัปเดต และเนื่องจากกลไกแบบ Over-the-Air คนส่วนใหญ่จึงสังเกตเห็นการอัปเดตใหม่เกือบจะทันทีที่มีให้บริการ อย่างไรก็ตาม ผู้ใช้บางรายใช้กลอุบายรูปแบบต่างๆ ข้างต้นเพื่อตรวจสอบ iOS รุ่นใหม่โดยการสอบถามสตริงเวอร์ชันต่างๆ ที่ยังไม่มีในเซิร์ฟเวอร์ของ Apple เป็นระยะๆ นั่นอยู่นอกเหนือขอบเขตของบทความนี้เล็กน้อย
อาจมีวิธีที่สะอาดกว่าและ/หรือดีกว่าในการทำเช่นนี้ แสดงความคิดเห็นหากคุณมีวิธีแก้ปัญหาอื่น