단일 명령으로 디스크 이미지를 SD 카드에 압축 해제하고 dd하는 방법은 무엇입니까?


15

다음과 같은 제한 사항이 있습니다.

  • .zip컴퓨터에 디스크 이미지 1 개가 포함 된 1.0GB 파일이 있습니다 raspbian. 압축되지 않은 경우이 파일의 크기는 3.2GB이며 이름은 2015-11-21-raspbian-jessie.img입니다.
  • zip 파일을 다운로드 한 후 컴퓨터에 이미지를 추출 할 공간이 부족하여 컴퓨터에 1.0GB 미만의 저장 공간이 있습니다.
  • 이 파일은 압축을 풀고 일반 낡은 파일을 사용하여 SD 카드에 기록해야합니다 dd.

이러한 제한 사항에 따라 이미지를 SD 카드에 쓸 수 있습니까?

데이터를 파이프 tar한 다음 다른 곳에서 데이터를 파이프하는 것이 가능하다는 것을 알고 있지만 여전히 zip파일 형식으로 작동 합니까? 또는 파일에 액세스하기 전에 전체 아카이브를 압축 해제해야합니까?


zip 파일을 외장 플래시 드라이브로 추출 할 수 있다는 것을 알고 있지만 더 재미 있습니다. 나는 그것의 도전과 학습 경험을 위해 이것을 꺼내고 싶다!
IQAndreas 5

3
SD 카드가 장치 /dev/sdh인 경우 실행하십시오 unzip -p file.zip >/dev/sdh. (나는 dd전통적인 사용을 알고 있지만 필요하지는 않다.)
John1024

허. 그없이 작동 dd합니까? Block Size 매개 변수가 필요하다고 생각했습니다.
CRThaze

2
예,없이 작동합니다 dd. 과거에는 테이프에 쓸 때 블록 크기가 매우 중요했습니다. 디스크의 경우 중요하지 않습니다.
John1024

1
@TheCzar을 제외하고 테이프에서, 블록 크기 매개 변수 dd수있는 유일한 잃게 데이터 또는 느린 것을 아래로 (약간 위 또는 드문 경우 속도 일에, 충분히 큰 경우). 에 대해 잊어 버리십시오 dd. 매우 유용하지 않습니다.
Gilles 'SO- 악마 그만해'

답변:


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 'SO- 악마 그만해'

1
단점 외에 @Gilles은 dd때로는 유용하다 sudo:unzip -p ... | sudo dd of=/dev/sdb bs=1M
야에

5
@ yaegashi unzip -p … | sudo 'cat >/dev/sdb'그러나 나는 sudo chown $USER /dev/sdb올바른 장치에 쓰고 있는지 확인할 수있는 추가 기회를 제공 하는 것을 선호 합니다.
Gilles 'SO- 악마 그만해'

아름답게 작동했습니다! 누군가가 명령을 복사하여 붙여 넣기를 원하는 경우를 대비하여 정확한 파일 이름으로 편집해도 될까요?
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.