LinuxForum.Fans
Тема

Как сделать сжатый образ диска?

Автор: user160 62 сообщений 2289 просмотров
17.11.2017 22:15 #426483

Народ, имеется хотелка: сделать сжатый образ диска.

Имеется машинка: Raspberry Pi https://www.raspberrypi.org/products/raspberry-pi-3-model-b/
Ось: Raspbian Stretch.

Ось установлена на внутренней флэшке. Надо сделать сжатый образ. Поясню, что это. Мне этот Raspbian принесли в виде файла сжатого образа диска в файле <имя>.img размером 4,6 гига.
Сливал этот образ на флэшку, посредством Win32DiskImager безо всяких "танцев с бубном". Т.е. "скормил" файл образа программе и получил занятым ~20 гиг на флэшке (диске).
Каким образом этот человек сделал сжатый образ, он не объяснил, и сейчас он не доступен.

В моём случае целевым диском будет еще одна флэшка подключенная по USB.
Кстати, образ был донесён до меня на флэшке с NTFS, т.к. 4,6 гига не влезают в FAT32 флэшку в виде одного файла.

Вопрос в том, какой командой в Линуксе можно сделать сжатый образ диска?

С уважением USER160.

17.11.2017 22:21 #426484
"user160" написал:
4,6 ==> ~20 гиг
А не с пропуском ли нулевых блоков оно было записано???
20 гиг на флешке физических даных, или разделов на 20 гиг??
Что сейчас говорит [console=inline]# df[/console] на малинке??

PS
Если верить описанию Win32DiskImager - видимо я угадал

This program is designed to write a raw disk image to a removable device
17.11.2017 22:46 · отредактировано #426485
"DiabloPC" написал:
Что сейчас говорит # df на малинке??

Там "много букв" использовано 19% от /

Всего 32 гига. Было занято 20 гиг в свойствах флэшки из Windows.
Когда я снова снимал образ той же Win32DiskImager, то файл получился как раз 32 гига

17.11.2017 22:47 #426486

"user160" написал:
Там "много букв"
А можно все скопировать?? (и да, команду от рута выполнять)
17.11.2017 22:59 · отредактировано #426487

Вот так выглядит. Я там пока сам root

Показать

[console]Файловая система 1K-блоков Использовано Доступно Использовано% Cмонтировано в
/dev/root 30574396 5325208 23944340 19% /
devtmpfs 470180 0 470180 0% /dev
tmpfs 474788 0 474788 0% /dev/shm
tmpfs 474788 12304 462484 3% /run
tmpfs 5120 4 5116 1% /run/lock
tmpfs 474788 0 474788 0% /sys/fs/cgroup
/dev/mmcblk0p1 42137 21329 20808 51% /boot
tmpfs 94956 0 94956 0% /run/user/1000[/console]

17.11.2017 22:59 #426488

"user160" написал:
Когда я снова снимал образ той же Win32DiskImager, то файл получился как раз 32 гига
Что такое Win32DiskImager - понятия не имею :D

Сделай по другому: [console=inline]# ddrescue --sparse /dev/sdX /path/to/file.img[/console]
Где sdX имя устройства флешки. При использовании SD имя устройства скорее всего будет mmcblk0
17.11.2017 23:02 #426489

Выше скопировал итоги df

"DiabloPC" написал:
Сделай по другому:

Тут еще наверное флэшка NTFS нужна?
Ведь не влезет одним файлом

17.11.2017 23:07 #426490

"user160" написал:
Тут еще наверное флэшка NTFS нужна?
Ведь не влезет одним файлом
1) делай это НЕ на малине
2) Делай это на любой другой машине где флешка с малины будет внешним носителем
3) Делай это ессно в linux
4) Образ ложи не на "флешку с нтфс", а куда-то на жесткий диск.
5) До того как снимать флешку с малины - почистить /var/log; /var/cache и т.д.
17.11.2017 23:14 #426491
"DiabloPC" написал:
1) делай это НЕ на малине
2) Делай это на любой другой машине где флешка с малины будет внешним носителем
3) Делай это ессно в linux

У меня сейчас нет другого "живого" Линукса.
Завтра "подниму" другой комп попробую.

Спасибо за подсказки. *DRINK* Завтра сделаю, отпишусь.

17.11.2017 23:30 #426495
"DiabloPC" написал:
А не с пропуском ли нулевых блоков оно было записано???

А это случаем имеется виду не "Разрежённый файл"

17.11.2017 23:32 #426497

"lone_wolf" написал:
А это случаем имеется виду не "Разрежённый файл"
Он самый ;)
17.11.2017 23:40 #426499

DiabloPC написал:
[quote="lone_wolf"]А это случаем имеется виду не "Разрежённый файл"
Он самый ;)[/quote]
Фуф понял, спасибо.
17.11.2017 23:54 #426502

У меня Orange Pi Plus2, писал из-под Линукса образы. Пишет нормально - сколько образ занимает, столько и на флешке. Только одно "но" - остальное место становится неиспользуемым, я в GParted правлю потом.

18.11.2017 08:53 #426507
"DiabloPC" написал:
Win32DiskImager

Это типа GUI к dd что ли?

18.11.2017 11:31 #426510
"DiabloPC" написал:

Что такое Win32DiskImager - понятия не имею ag

Это виндовая программа

"DiabloPC" написал:
Сделай по другому: # ddrescue --sparse /dev/sdX /path/to/file.img

Сделал:

Показать

[console]

root@dbhp:/home/files# fdisk -l
.....
Disk /dev/sdb: 31.9 GB, 31914983424 bytes
64 heads, 32 sectors/track, 30436 cylinders, total 62333952 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x103a489d

Device Boot Start End Blocks Id System
/dev/sdb1 8192 93814 42811+ c W95 FAT32 (LBA)
/dev/sdb2 94208 62333951 31119872 83 Linux

root@dbhp:/home/files# ddrescue --sparse /dev/sdb /home/files/raspbery.img

[/console]

получил:

Показать

[console]
root@dbhp:/home/files#
bash: ddrescue: команда не найдена
[/console]

Видимо я что-то не так делаю :(

18.11.2017 13:59 #426513

user160, ну так установите с репозитория ddrescue *DONT_KNOW*

18.11.2017 17:32 #426514

"yars" написал:
Это типа GUI к dd что ли?
Это был вопрос или, все-же, утверждение? *SCRATCH*
18.11.2017 19:44 · отредактировано #426518
lone_wolf написал:
user160, ну так установите с репозитория ddrescue *DONT_KNOW*

Установил.
Процесс всё еще идёт, но похоже получится теже 32 гига.
Те цифры, которые "бегут" в консоли в процессе создания, примерно соответствуют созданному файлу. Его размер постоянно увеличивается.

Народ, команда правильная?
[console]# ddrescue --sparse /dev/sdb /home/files/raspbery.img[/console]

18.11.2017 19:49 #426519
"user160" написал:
Народ, команда правильная?
Консоль
# ddrescue --sparse /dev/sdb /home/files/raspbery.img

Мудрость песков рунета гласит что да правильная

18.11.2017 19:49 #426520

"user160" написал:
Народ, команда правильная?
Правильная

"user160" написал:
примерно соответствуют созданному файлу
Реальный размер файла смотреть не в его свойствах, а командой du /home/files/raspbery.img

Как пример:
[console][root@diablopc docs]# ls -l openSUSE_Current_partition.img
-rw-r----- 1 root root 34355544064 Jan 9 2015 openSUSE_Current_partition.img
[root@diablopc docs]# du openSUSE_Current_partition.img
7,4G openSUSE_Current_partition.img
[/console]
Войдите или зарегистрируйтесь, чтобы ответить.