LINUX.ORG.RU

[dd] Как упаковывать снимаемый образ на лету?

 


0

1

Нужно снять образ с раздела диска (используя dd) и упаковать его на лету в файл.

Хочу разобраться, как это можно сделать - то есть не снимать образ в файл, а потом запускать упаковку, а сразу упаковать на лету. Чем-нибудь вроде ZIP, ведь ZIP - потоковый алгоритм.

Я посмотрел доку на gzip, zip, tar, и нигде не нашел как можно брать исходные данные из стандартного потока (искал по подстроке stdin).

Вопрос: каким архиватором и какой командой упаковать данные, поступающие из стандартного потока?

Я посмотрел доку на gzip, zip, tar, и нигде не нашел как можно брать исходные данные из стандартного потока (искал по подстроке stdin).

Поиск посторить, «stdin» заменить на «standard input».

botkin
()
Ответ на: комментарий от fork_you

помимо сбора статистики для разных bs, я имею в виду.

fork_you
()
Ответ на: комментарий от fork_you

Провести тесты чтения с накопителя. Подобный тест проводит gparted перед переносом раздела. Пробует некоторый объём данных разными размерами блоков считывать. у меня сколько помню на разных размерах буфера получалось 64k максимум.

adriano32 ★★★
()
Ответ на: комментарий от adriano32

> dd if=/dev/sda1 bs=64k conv=sync,noerror | gzip -c > part.img.gz

Угу, нашел:

Если файлы не указаны или в качестве имени файла указан дефис (-), содержимое стандартного входного потока сжимается и направляется в стандартный выходной поток.

Работает просто с тире "-".

webhamster
() автор топика
Ответ на: комментарий от adriano32

хех, спасибо. правда я об этом догадывался, думал может кто подскажет умозрительный способ определения исходя из настроек системы и конфигурации железа.

вот тут еще хороший совет по сбросу кешей во время проведения эксперимента

fork_you
()

Ну как-бы:

dd if=$something bs=$needed_bs conv=sync,noerror | gzip -cv9 >> image.img.gz
Или для распаковки:
gzip -cdv image.img.gz | dd..
conv= применять по желанию

nexfwall ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.