システムの最小イメージを作成する [複製]

システムの最小イメージを作成する [複製]

Linuxシステムのイメージを作りたいです。 64GBのSDカードがあり、システムは11GBのみを占めます。 ddコマンド、Win32DiskManagerなどは、すべて11GBよりもはるかに大きい64GBのrawイメージを生成します。

Filesystem      Size  Used Avail Use% Mounted on
/dev/root        59G   11G   46G  20% /
devtmpfs        430M     0  430M   0% /dev
tmpfs           462M  4.0K  462M   1% /dev/shm
tmpfs           462M   13M  450M   3% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           462M     0  462M   0% /sys/fs/cgroup
/dev/mmcblk0p1   43M   25M   18M  59% /boot
tmpfs            93M  4.0K   93M   1% /run/user/1000

16GBのSDカードがもう1つありますが、システム全体を16GBのSDカードに転送したいと思います。後で16GBのSDカードに書き込むために11GBのimgファイルを作成することをお勧めします。

ベストアンサー1

64GBデバイスの画像を16GBカードに書き込めません。これは「イメージ」の意味と正面に矛盾する。

しかし、それはまったく問題ではありません。 Linuxはファイルシステム上のファイルにのみ興味があるので、次のようにしてください。

sudo mksquashfs /path/where/you/mounted/your/sdcard sdcard.squashfs -comp zstd

すべての属性を含む、すべてのファイル、ディレクトリ、シンボリックリンク、デバイスファイルなどの圧縮アーカイブを作成します。

後でアーカイブをインストールしたりudisksctl loop-setup -f sdcard.squashfssudo mount -o loop sdcard.squashfs /mnt内部を調べたり、そこからファイルをインポートしたりできます。

インストールと使用により、新しくフォーマットされた(ext4、F2FSなど)SDカードにすべてのファイルを復元することもできます。

sudo cp -ar /mnt/* /mount/point/of/sdcard

または単に実行する

sudo unsquashfs -d /mount/point/of/sdcard sdcard.squashfs

おすすめ記事