ฉันกำลังดาวน์โหลด Mountain Lion ฉันรู้ว่าฉันสามารถตรวจสอบความคืบหน้าการดาวน์โหลดผ่านหน้าจอการซื้อ Mac App Store ได้ แต่ฉันต้องการทราบว่าฉันสามารถติดตามความคืบหน้าผ่าน Terminal.app ได้หรือไม่โดยใช้คำสั่งเชลล์
ฉันกำลังดาวน์โหลด Mountain Lion ฉันรู้ว่าฉันสามารถตรวจสอบความคืบหน้าการดาวน์โหลดผ่านหน้าจอการซื้อ Mac App Store ได้ แต่ฉันต้องการทราบว่าฉันสามารถติดตามความคืบหน้าผ่าน Terminal.app ได้หรือไม่โดยใช้คำสั่งเชลล์
คำตอบ:
แน่นอนว่า storeagent ใช้โฟลเดอร์ที่อยู่ลึกเข้าไปใน / private / var / folders เพื่อเก็บความคืบหน้าการดาวน์โหลด
ใน Mac ของฉันมันกำลังดาวน์โหลดไปยังโฟลเดอร์นี้ด้านล่าง - คุณอาจเปลี่ยนแปลงได้ แต่คุณควรจะสามารถค้นหา com.apple.appstore ที่ใช้mdfind
และใช้du
หรือls
ดูขนาดไฟล์ที่เพิ่มขึ้น
/private/var/folders/tv/xyw2rpln7hq4gw2m0prg_src0000gn/C/com.apple.appstore/497799835
App Store มี wrapper ที่ดีกว่าเกี่ยวกับความคืบหน้าด้วยการประมาณเวลา แต่ด้วยbc
และเครื่องมืออื่น ๆ คุณสามารถทำแบบเดียวกันในแบบฝึกหัดเชลล์สคริปต์สั้น ๆ
หากคุณไม่พบโฟลเดอร์ของคุณfind
คำสั่งนี้อาจใช้เพื่อ จำกัด การค้นหาของคุณให้แคบลง ....
sudo find /var/folders -type d -name com.apple.appstore -print
find
คำสั่งที่เหมาะกับฉัน ...
du -h /private/var/folders/*/*/C/com.apple.appstore/*/*.pkg
จะพิมพ์ขนาดของการดาวน์โหลดในรูปแบบที่มนุษย์อ่านได้ ขนาดทั้งหมดของเวอร์ชันที่ฉันกำลังดาวน์โหลดแสดงเป็น 4.3 GB ใน App Store
ฉันตัดสินใจว่าวิธีที่ดีที่สุดในการระบุไฟล์ที่กำลังดาวน์โหลดคือการเขียนสคริปต์เล็ก ๆ storeagen
ที่เรียกไฟล์ที่จัดขึ้นโดยเปิดโปรแกรม
#!/bin/bash
appstore_pid=$(ps -ef|grep storeagen|grep -v grep|awk '{print $2}')
lsof -p $appstore_pid|grep private|awk '{print $7 "\t" $9}'
ฉันตั้งค่าappstore_pid
ตัวแปรเป็น PID ของstoreagen
โดยแยกจากps
คำสั่งโดยใช้grep
และawk
จากนั้นฉันlsof
จะใช้รายการไฟล์ที่เปิดโดย PID storeagen
และพิมพ์ขนาดของไฟล์และเส้นทางของไฟล์ หากคุณทำเช่นนี้หลายครั้งติดต่อกันคุณจะเห็นไฟล์ที่กำลังเติบโตและคาดเดาได้ดีว่าขนาดนั้นเป็นการดาวน์โหลดระบบปฏิบัติการ
grep
pkg เป็นวินาทีเพราะฉันได้เห็นรายการlsof
สี่รายการขึ้นไปใน / private / var / ...
ฉันใช้เครื่องมือตรวจสอบกิจกรรมและดูว่ามีการถ่ายโอนข้อมูลเท่าไร ... และตรวจสอบให้แน่ใจว่าไม่มีการรับส่งข้อมูลอื่น ๆ ในเวลาที่ดาวน์โหลด มันไม่สมบูรณ์แบบ แต่ให้ความคิดทั่วไปบางสิ่งที่เกิดขึ้น