วิธีการแตกไฟล์ดิสก์อิมเมจไปยังการ์ด SD ด้วยคำสั่งเดียว?


15

ฉันอยู่ภายใต้ข้อ จำกัด ดังต่อไปนี้:

  • ฉันมี GB 1.0 ไฟล์ในคอมพิวเตอร์ของฉันที่มีหนึ่งแฟ้มภาพดิสก์.zip raspbianเมื่อไม่มีการบีบอัดไฟล์นี้คือ 3.2 GB 2015-11-21-raspbian-jessie.imgขนาดใหญ่และการตั้งชื่อ
  • หลังจากดาวน์โหลดไฟล์ zip ฉันมีพื้นที่เก็บข้อมูลน้อยกว่า 1.0 GB ในคอมพิวเตอร์ของฉันมีพื้นที่ไม่เพียงพอที่จะดึงรูปภาพไปยังคอมพิวเตอร์ของฉัน
  • นี้ความต้องการไฟล์จะถูกบีบอัดและเขียนไปยังการ์ด SD ddโดยใช้ธรรมดาเก่า

เป็นไปได้หรือไม่ที่ฉันจะเขียนภาพไปยังการ์ด SD ภายใต้ข้อ จำกัด เหล่านี้?

ฉันรู้ว่ามันเป็นไปได้ที่จะไพพ์ข้อมูลผ่านtarและจากนั้นไพพ์ข้อมูลนั้นที่อื่น แต่จะยังคงใช้งานได้กับzipรูปแบบไฟล์หรือว่าไฟล์เก็บถาวรทั้งหมดต้องไม่ถูกบีบอัดก่อนที่จะสามารถเข้าถึงไฟล์ใด ๆ ได้บ้าง


ฉันรู้ว่าฉันสามารถแยกไฟล์ zip ไปยังแฟลชไดรฟ์ภายนอกได้ แต่มันสนุกกว่า ฉันต้องการดึงสิ่งนี้ออกสำหรับความท้าทาย (และประสบการณ์การเรียนรู้) ของมัน!
IQAndreas

3
หาก SD card ของคุณเป็นอุปกรณ์แล้วเรียกใช้/dev/sdh unzip -p file.zip >/dev/sdh(ฉันรู้ว่าการใช้งานddเป็นแบบดั้งเดิม แต่ไม่จำเป็น)
John1024

ฮะ. จะทำงานโดยไม่ได้ddหรือไม่ ฉันคิดว่าพารามิเตอร์ขนาดบล็อกจะต้อง
CRThaze

2
ddใช่มันทำงานโดยไม่ต้อง ในอดีตขนาดบล็อกมีความสำคัญมากเมื่อเขียนไปยังเทป สำหรับดิสก์มันไม่สำคัญ
John1024

1
@TheCzar นอกเหนือจากเทปพารามิเตอร์ขนาดบล็อกที่ddสามารถสูญเสียข้อมูลหรือทำให้ช้าลง (หรือในบางกรณีความเร็วจะเพิ่มขึ้นเล็กน้อยหากมีขนาดใหญ่พอ) ลืมddไปเลยมันมีประโยชน์น้อยมาก
Gilles 'หยุดชั่วร้าย'

คำตอบ:


24

การใช้unzip -p:

unzip -p 2015-11-21-raspbian-jessie.zip 2015-11-21-raspbian-jessie.img | dd of=/dev/sdb bs=1M

รหัสกำลังทำงานอยู่และพื้นที่ฮาร์ดไดรฟ์หรือ RAM ของฉันไม่ทำงาน ดีมากจนถึงตอนนี้
IQAndreas

5
unzip -p … >/dev/sdbหรือเพียงแค่
Gilles 'หยุดชั่วร้าย'

1
@Gilles นอกเหนือจากข้อเสียddบางครั้งมีประโยชน์กับsudo:unzip -p ... | sudo dd of=/dev/sdb bs=1M
yaegashi

5
@ yegashi unzip -p … | sudo 'cat >/dev/sdb'แต่ฉันชอบsudo chown $USER /dev/sdbที่ให้โอกาสพิเศษแก่ฉันในการตรวจสอบว่าฉันเขียนไปยังอุปกรณ์ที่เหมาะสม
Gilles 'หยุดชั่วร้าย'

มันทำงานได้อย่างสวยงาม! หากฉันแก้ไขด้วยชื่อไฟล์ที่ถูกต้องในกรณีที่ใครก็ตามที่ต้องการคัดลอกและวางคำสั่ง?
IQAndreas

0

หลังจากที่ต้องดิ้นรนกับทางออกในอดีต:

 unzip -p ~/Downloads/2020-02-05-raspbian-buster-lite.zip | sudo dd of=/dev/disk2 bs=1m

หรือถ้าคุณต้องการเห็นความคืบหน้าและคุณได้ติดตั้งpv:

 unzip -p ~/Downloads/2020-02-05-raspbian-buster-lite.zip | pv | sudo dd of=/dev/disk2 bs=1m
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.