Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: dd. Копия диска в сжатый файл.  (Прочитано 9566 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн thunderamur

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6846
    • Просмотр профиля
dd. Копия диска в сжатый файл.
« : 07 Апреля 2014, 10:51:46 »
dd if=/dev/sdX of /file.img conv=noerror,syncСоздаст образ диска в файл не обращая внимания на ошибки, заменяя отсутствующие и поврежденные данные на нули.
Но, если диск 1 ТБ, а занято там всего 10 ГБ, то мы получим нехилый файлик в 1 ТБ. Мб есть возможность сделать копию только фактических данных или хотя бы на лету жать данные в архив?

По поводу фактических данных, наверное возможен такой трюк:

1. Дефрагментация ФС на разделах, которая помещает данные в начало раздела.
2. dd if=/dev/sdX of /file.img conv=noerror,sync bs=10M count=XГде X - рассчетная величина, равная (объем разделов, кроме последнего + объем занятого места на последнем разделе + зазор) / 10.

Чисто теоритически это возможно ведь?

Пользователь решил продолжить мысль 07 Апреля 2014, 11:00:23:
Нашел, что сжатие на лету можно сделать конвеером:
dd if=/dev/sdX conv=noerror,sync | gzip > file.img.gz
Но возникает вопрос как в последствии такой образ-архив скормить dd, так:
gzip -d file.img.gz | dd of=/dev/sdXпроканает?

Вопрос с созданием неполной копии, с обрезанием конца, остается открытым.
« Последнее редактирование: 07 Апреля 2014, 11:00:23 от thunderamur »

Оффлайн Tokuan

  • Старожил
  • *
  • Сообщений: 1250
    • Просмотр профиля
    • В поисках здравого смысла
Re: dd. Копия диска в сжатый файл.
« Ответ #1 : 07 Апреля 2014, 11:47:22 »
dd не знает где у вас фактические данные, а где нет.
Для этого делают файл и заполняют его нулями, пока место не закончится, а потом его удаляют.
Такой образ можно сжимать.
"— Милая, - сказал он, - у вас в голове пять тысяч маркетологов срали десять лет, а вы хотите, чтобы я там убрал за пять минут…"
Пелевин В.О "Empire V"

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: dd. Копия диска в сжатый файл.
« Ответ #2 : 07 Апреля 2014, 14:32:18 »
Встречный вопрос: зачем делать физическое копирование, когда можно брать сами данные?
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн hon

  • Старожил
  • *
  • Сообщений: 1044
  • Ubuntu 12.04 LTS
    • Просмотр профиля
Re: dd. Копия диска в сжатый файл.
« Ответ #3 : 07 Апреля 2014, 14:45:05 »
Допустим, архивируемый раздел /dev/sdXY примонтирован в /mnt/. Забьем все свободное пространство нулями, они ведь хорошо сжимаются! (файла tempfile на разделе быть не должно!):
cd /mnt/
dd if=/dev/zero of=tempfile
rm tempfile
После этого отмонтируйте раздел и заархивируйте его.

Если вы хотите архивировать не раздел, а весь жесткий диск, то такую операцию необходимо выполнить со всеми разделами (предполагаю, что у вас нет неразмеченного пространства).

Оффлайн thunderamur

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6846
    • Просмотр профиля
Re: dd. Копия диска в сжатый файл.
« Ответ #4 : 07 Апреля 2014, 16:33:38 »
Tokuan,
Я это понимаю, от того и описал в посте финт ушами.

Azure,
Ну да, данные можно, но я таким образом хочу Win бекапить, там NTFS, которая поддерживается как получилось и то хорошо.

hon,
Да про нули то все ясно и что оно сжимается. ЕМНИП conv=sync, это и делает.
Я же спрашиваю про то, что ЗАЧЕМ ГОНЯТЬ 1 ТБ, когда нужно всего 10 ГБ! И пытаюсь узнать как это сделать. В общем, надо будет на каком-нить компе проверить свою теорию да и все.

Оффлайн hon

  • Старожил
  • *
  • Сообщений: 1044
  • Ubuntu 12.04 LTS
    • Просмотр профиля
Re: dd. Копия диска в сжатый файл.
« Ответ #5 : 07 Апреля 2014, 16:49:06 »
Чтобы не читать 1 ТиБ, можно скопировать сами данные через cp или tar.

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: dd. Копия диска в сжатый файл.
« Ответ #6 : 07 Апреля 2014, 16:50:57 »
WIN "расшвыривает" данные по всему диску… :( так что диск копировать весь в данном случае…
1. Есть куча утилить которые делают икрементальный бэкап — то есть только изменения от первоначального.
2. Если чем-то сможете "ужать" данные на ntfs к началу раздела (сомневаюсь), то почему бы Вашему способу не работать…
« Последнее редактирование: 07 Апреля 2014, 16:54:22 от Azure »
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн hon

  • Старожил
  • *
  • Сообщений: 1044
  • Ubuntu 12.04 LTS
    • Просмотр профиля
Re: dd. Копия диска в сжатый файл.
« Ответ #7 : 07 Апреля 2014, 16:53:09 »
Перекиньте куда-нибуть эти 10 ГиБ, отформатируйте диск в ext4, переместите обратно. Если нужно, чтобы Windows читала, делайте cp или tar.

Ужимть NTFS может и Gparted.

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: dd. Копия диска в сжатый файл.
« Ответ #8 : 07 Апреля 2014, 17:24:10 »
В составе clonezilla есть утилитки (не вспомнить на вскидку название) которые берут в образ только используемые ФС блоки памяти. NTFS они (утилиты) - знают.

Думаю в эту сторону копать надо... та за одно и сжатие есть.... Помню так раскатывали образ винды на новые ноуты - очень шустро получалось (~10 минут на восстановление образа и настройку пользователя) т.к. не смотря на большие HDD сама Windows+офис (свежепоставленные!) съедают не так и много места.
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

adawdp

  • Гость
Re: dd. Копия диска в сжатый файл.
« Ответ #9 : 08 Апреля 2014, 05:12:41 »
— Жду рецепта :) , больно уж идея привлекательна! А пока очень неостро́ решил воспользоваться в похожей ситуации Clonezilla :( там фантазию вообще применять не нужно…
« Последнее редактирование: 08 Апреля 2014, 05:14:45 от adawdp »

Оффлайн thunderamur

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6846
    • Просмотр профиля
Re: dd. Копия диска в сжатый файл.
« Ответ #10 : 08 Апреля 2014, 05:18:28 »
Чтобы не читать 1 ТиБ, можно скопировать сами данные через cp или tar.
Ты можешь гарантировать, что созданный в линуксе раздел NTFS, скорпированные на него файлы, в том числе ОС, будут нормально работать?

Перекиньте куда-нибуть эти 10 ГиБ, отформатируйте диск в ext4, переместите обратно. Если нужно, чтобы Windows читала, делайте cp или tar.

Ужимть NTFS может и Gparted.
Я не могу понять, причем тут ext4 вообще?

Я хочу из живой сессии сделать копию диска с виндой малым размером.

Пользователь решил продолжить мысль 08 Апреля 2014, 05:19:43:
В составе clonezilla есть утилитки (не вспомнить на вскидку название) которые берут в образ только используемые ФС блоки памяти. NTFS они (утилиты) - знают.
О! Ежели так, то зачем городить, надо попробовать. Как попробую, отпишусь.

adawdp

  • Гость
Re: dd. Копия диска в сжатый файл.
« Ответ #11 : 08 Апреля 2014, 06:48:28 »
— Clonezilla безусловно хорошая программа, но во-первых, она делает не один единый файл а папку с несколькими файлами (только что попробовал) :(
— Естественно просмотреть содержимое скопированного раздела (я раздел диска сохранял, не весь диск) нельзя, во всяком случае я не знаю как. Может есть какая спец. программа.
— На флешку копировал предварительно создавал архив просто .tar не захотел возиться с доступами, Clonezilla делает директорию и файлы root.
— Вот если бы чем-то делать копию в файл содержимое которого можно было бы просматривать как архив было бы здорово!
— Есть у меня восьмой Акронис, покупал когда-то, но он пишут с Linux'ом не дружит, по моему там можно было просматривать создаваемый файл.

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: dd. Копия диска в сжатый файл.
« Ответ #12 : 08 Апреля 2014, 10:58:41 »
adawdp, так clonezilla - сборная салянка:
Цитировать
Based on Partclone (default), Partimage (optional), ntfsclone (optional), or dd to image or clone a partition. However, Clonezilla, containing some other programs, can save and restore not only partitions, but also a whole disk.

Не нравится как там заточили - возьмите Partclone/Partimage и юзайте их как вам захочется (и то и другое в репах Ubuntu). Маны у них вполне юзабельные. 


Я хочу из живой сессии сделать копию диска с виндой малым размером.
Тогда clonezilla - самое то.
« Последнее редактирование: 08 Апреля 2014, 11:03:18 от Sly_tom_cat »
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

adawdp

  • Гость
Re: dd. Копия диска в сжатый файл.
« Ответ #13 : 08 Апреля 2014, 20:06:19 »
Sly_tom_cat, спасибо, конечно больше понравилась partimage :) c псевдографическим интерфейсом, похожим на  clonezilla однако не поддерживает ext4 :( .
— Но partclone не слишком сложная там всё действительно хорошо описано в manual'e и примеры есть.


Оффлайн Alessias

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: dd. Копия диска в сжатый файл.
« Ответ #14 : 29 Декабря 2014, 12:54:02 »
Уже 100 лет пользуюсь 2-мя командами для копирования-восстановления

dd if=dev/sda1 | gzip - | dd of=/path_to_backups/fs.img.gzdd if=fs.img.gz | gunzip - | dd of=/dev/sda1
gzip -  без параметров с дефисом сжимает поток со стандартного ввода и передаёт на стандартый вывод
gunzip - аналогично


Пользователь решил продолжить мысль 29 Декабря 2014, 13:02:48:
PS: плюс в том, что это работает на самой голой и минимальной системе, не нужны сторонние утилиты.
PSS:кстати, такой способ корректно сжимает большие разделы, на которых мало полезных данных -  с рут-раздела на 20 Гб,  на котором было 2 Гб занято, размер образа был 1Гб +-; это работает на ext3 и ReiserFS, на других не пробовал.
« Последнее редактирование: 29 Декабря 2014, 13:02:48 от Alessias »

 

Страница сгенерирована за 0.059 секунд. Запросов: 25.