単一のコマンドを使用してディスクイメージを解凍し、SDカードに追加するには?

単一のコマンドを使用してディスクイメージを解凍し、SDカードに追加するには?

次の制限が適用されます。

  • .zipマイコンピュータにファイルを含む1.0 GBのファイルがあります。つまりraspbian、解凍後のファイルサイズは3.2GBで、名前は2015-11-21-raspbian-jessie.img
  • zipファイルをダウンロードした後、コンピュータの保存容量が1.0 GB未満で、画像をコンピュータに抽出するのに十分なスペースがありません。
  • ファイルを解凍し、既存の一般的な.txtファイルを使用してSDカードに書き込む必要がありますdd

これらの制限に従ってSDカードに画像を書き込むことはできますか?

tarデータをパイプしてからそのデータを別の場所に転送できることを知っていますが、これはまだzipファイル形式に適用されますか、それともファイルにアクセスする前にアーカイブ全体を解凍する必要がありますか?

答え1

使用unzip -p:

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

-pファイルを標準出力に抽出

答え2

以前の解決策で困難を経験した後:

 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

答え3

便宜上、通常unzip -p 2015-11-21-raspbian-jessie.zip >/dev/sdborを使用します。zcat 2015-11-21-raspbian-jessie.gz >/dev/sdbこれは、ビッグデータ転送を実行すると、オペレーティングシステムが最適なパフォーマンスを得るためにブロックサイズ(ソースブロックサイズ、ターゲットブロックサイズ、メモリの可用性などに基づいて)を自動的に調整することを期待し、それより速く動作することが示されたためです。ですdd if= of= bs=。可能なすべてのブロックサイズを選択しようとしなかったので、無差別代入を試みませんでしたdd。)^_^

関連情報