Я нахожусь под следующими ограничениями:
- У меня есть 1,0 ГБ
.zip
файл на моем компьютере, который содержит один файл, образ дискаraspbian
. В несжатом виде этот файл имеет размер 3,2 ГБ и имеет имя2015-11-21-raspbian-jessie.img
. - После загрузки zip-файла на моем компьютере осталось менее 1,0 ГБ свободного места, и на диске недостаточно места для извлечения изображения.
- Этот файл должен быть распакован и записан на SD-карту, используя старый файл
dd
.
Можно ли мне записать образ на SD-карту при этих ограничениях?
Я знаю, что можно передавать данные по tar
каналу, а затем передавать эти данные в другое место, однако будет ли это работать для zip
формата файла, или необходимо распаковать весь архив, прежде чем какие-либо файлы станут доступны?
/dev/sdh
, запуститеunzip -p file.zip >/dev/sdh
. (Я знаю, что использованиеdd
является традиционным, но это не обязательно.)dd
? Я полагал, что параметр размера блока будет необходим.dd
. В прошлом размер блока был очень важен при записи на ленты. Для дисков это не имеет значения.dd
может только потерять данные или замедлить работу (или, в редких случаях, немного ускорить процесс, если он будет достаточно большим). Забудьтеdd
, это очень редко полезно.Ответы:
Используйте
unzip -p
:источник
unzip -p … >/dev/sdb
.dd
иногда полезенsudo
:unzip -p ... | sudo dd of=/dev/sdb bs=1M
unzip -p … | sudo 'cat >/dev/sdb'
Но я предпочитаю,sudo chown $USER /dev/sdb
что дает мне дополнительную возможность проверить, что я пишу на нужное устройство.После небольшой борьбы с прежним решением:
или, если вы хотите увидеть прогресс и вы установили
pv
:источник