LINUX.ORG.RU

Знаете ли вы команду dd?

 


0

0

Команда dd практически ровесник ОС Unix, однако ее синтаксис кардинально отличается от синтаксиса большинства остальных команд этой ОС. В статье Алексея Дмитриева "dd: Команда, которая не похожа на другие" даны практические рекомендации по использованию команды dd.

>>> Подробности

★★★

Проверено: maxcom ()
Ответ на: комментарий от AVL2

> Для восстановления линукса интереснее простой tar.

Еще раз. tar умеет сохранять ACL и все такое? Посему предлагаю star, чтобы развернуть данные именно в том состоянии, в котором они у нас были.

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

>> указание bs=4096M или даже больше сильно укоряет выполнение операции.

> Зато чем больше буфер, тем быстрее пишет

Не не не, Дэвид Блейн. Он тебе этот bs в 4Gb будет сначала в память помещать, а уже потом скидывать на диск. Может у вас и 8Gb памяти, большая часть которой пустует, но я предпочту bs=10M count=$((1024*N/10))

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

> Правда у нас нужно было восстанавливать сразу пару десятков машин и 100 мбит сетка сильно проседала, так что проще было подрубить усб диск с образом и запустить восстановление с ливсд. А еще быстрее было поставить в соседний раздел линукс в минимальной комплектации и записать образ прямо туда. Тогда быстренько пробежал, загрузил в линукс и выбрал восстановление и через 10-20 минут все готово. Весь класс, как муха не сидела, ломайте, господа ученики.

Зря все IBM робота ругают. Он тут не так давно про LVM снапшоты рассказывал. Есть какая-то конфигурация. Поработали студенты, скинули свои проекты в svn репозитарий, за время работы ну не более 2Gb наизменяли. Потом откатились назад и все.

Получаем: и система как была до пары и студенты свои проекты в svn хранят и на флешках не теряют.

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

> Знаем, это же аналог Акронис.

Есть, есть в этих словах доля истины, хотя правильнее, конечно же, сказать, что Акронис - аналог dd.

Я как раз сейчас задумываюсь над быстрым переносом N разделов со старого винта на новый (увеличенного размера). Пока видится такая схема:

1) fdisk - создаём разделы такого же размера, как и на старом;

2) dd - переносим загрузчик;

3) тупо копируем разделы - тут даже, м.б. не то, что dd, а простого cp должно хватить.

Указания на грабли приветствуются...

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

>Получаем: и система как была до пары и студенты свои проекты в svn >хранят и на флешках не теряют. >skwish * (*) (03.12.2008 0:25:08)

Ага, он первый кто открыл Америку, давайте молится на него. Читать надо, интересоваться технологиями, а не розовый шар в кармане гонять!

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

>>> Рецепт клонирования 20 винтов с оффтопиком в студию!

>> Вот над этим не задумывался.

> А призрак Нортона задумался и решил задачу. ;)

Стиль Нортона - не Ъ. оффтопик надо пускать в Xen domU, у них своя Volume Group. И те же средства резервирования данных. Только еще периодически снимки самих вирт машин делать. И, если что подозрительное - сразу же откатывать. Переставлять скорее всего тоже придется - но это неизбежно. Тем не менее пока ставится новый оффтопик, пользователи могут работать со старым.

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

>1)создаём разделы такого же размера, как и на старом
можно и другого размера - главное, чтоб из фстаб потом все разделы нашлись и примонтировались куда надо. Может быть,это не труЪ, но я пользуюсь cfdisk.

>2) dd - переносим загрузчик;

угу

3) "cp -xp" или tar

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

сам не юзал, но, вроде Нортон умеет разливать образ по сетке мультикастом. Вот это бы очень хорошо для большого количества компов

visla_vi
()

Лучший способ рипать диски cat /dev/acd0 > ~/bla-bla-bla.iso

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

а что вы скажите про "грабить караваны" ?

а по теме: dd хорошо, но есть ли полный аналог (или частичный) Акроникса? сжатие образа, авто восстановление, работа по сети, дифф бекапы и прочее

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

>Еще раз. tar умеет сохранять ACL и все такое? Посему предлагаю star, чтобы развернуть данные именно в том состоянии, в котором они у нас были.

вы используете в инсталляции (не в пользовательских данных) ACL и все такое?

>Посему предлагаю star

запросто. Если нужны acl, то придется попотеть и собрать star.

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

>тупо копируем разделы - тут даже, м.б. не то, что dd, а простого cp должно хватить.

в тупой операции копирования разделов есть своя специфика.

1) Это всегда долго. Значит было бы здорово иметь возможность прерывания и продолжения рвботы. Другое следствие из этого - часто бывает, что пока копиировали, в источнике что-то уже поменялось. Так что еще нужно дополнительно иметь возможность быстренько сделать дельту синхронизировать только ее.

2) Копировать можно по разному. Где то нужна посекторная копия, где то файлики копировать, а где сохранить все атрибуты, а где-то еще и аклы перенести. Так что нужны настройки копирования.

3) Это ответственно. Так что программа должна работать акуенно надежно и понятно. То есть просто и с четким ответом, получилось копирование или нет. и если нет, то с расшифровкой, с логом, что там не вышло.

Так что cp отставить, rsync пригласить. rsync и локально и по сети прекрасно работает, копирует только разницу в данных и надежен.

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

>Не не не, Дэвид Блейн. Он тебе этот bs в 4Gb будет сначала в память помещать, а уже потом скидывать на диск. Может у вас и 8Gb памяти, большая часть которой пустует, но я предпочту bs=10M count=$((1024*N/10))

А, увидел, что я уже в гигабайты ушел. Да, я, собственно, имел в виду буфер 4М. По 512 байт переносить можно убиться.

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

>Есть какая-то конфигурация. Поработали студенты, скинули свои проекты в svn репозитарий, за время работы ну не более 2Gb наизменяли. Потом откатились назад и все.

>Получаем: и система как была до пары и студенты свои проекты в svn хранят и на флешках не теряют.

Это хорошо, но на уроках под вендой не работает.

Еще вариант - qemu с опцией незаписи на диск или снепшот в virtualbox или vmware. Но не всегда подходит скорость виртуальной машины.

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

> tar умеет сохранять ACL и все такое?
getfacl -R --skip-base работает быстрее стара и обычно меньше по объёму.
и не надо стар руками собирать.
к тому же у стара свои закидоны.

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

>Я как раз сейчас задумываюсь над быстрым переносом N разделов со старого винта на новый (увеличенного размера).

Рискну предположить, что старый винт забит под завязку ;) Если так то cp использовать нет смысла, dd будет быстрее. Логика простая - cp не просто переносит данные, она каждый раз будет лезть в каталог и модифицировать его и буферизация тут мало чем поможет. Да и разделы пересоздавать наверное не стоит, скорее всего тупого копирования всего винта целиком должно хватить, хотя сей факт лично я не проверял.

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

>Рискну предположить, что старый винт забит под завязку ;) Если так то cp использовать нет смысла, dd будет быстрее.

А как с помощью dd переносить данные на партицию бОльшего размера?

Теоретически понятно, что можно перенести раздел один к одному и расширить его до физического средствами утилит данной фс. Но это будет работать далеко не на всех ФС.

Кроме того, в файловой системе могут быть ошибки в логической структуре. При копировании они либо исправятся либо об этом будет сказано. А так, все молча. А бедблоки? Тоже копирнем?

А дефрагментация? При копировании она будет снова на нуле, а dd оставит как есть.

Так что в идеале dd может помочь, но в реальности копирование (там где оно применимо) с помощью dd не заменить.

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

> вы используете в инсталляции (не в пользовательских данных) ACL и все такое?

Нет, я предлагал бекапить только пользовательские данные.

>> Посему предлагаю star

> запросто. Если нужны acl, то придется попотеть и собрать star.

Ну или просто из официального репозитария поставить.

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

Заработает. Только надо в диспетчере устройств перед клонированием удалить драйвера проца, материнки в общем случае.

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

>Нет, я предлагал бекапить только пользовательские данные.

каждому свое. Имхо настроенную систему тоже имеет смысл бэкапить. Кроме того, в большинстве случаев пользовательские данные достаточно хорошо укладываются в формулу umask=022 и никаких аклов.

>Ну или просто из официального репозитария поставить.

star некошерен ибо его автор - повернутый на соляре педик...

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

Склеивать файлы, вообще-то, надо командой cat. Для того и предназначена :)

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от kto_tama

> с помощью dd можно склеивать файлы ?

Конечно, но есть и cat.

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