[Comm] Клонирование HDD
Michael A. Kangin
=?iso-8859-1?q?mak_=CE=C1_rsmu=2Eru?=
Сб Ноя 8 11:11:01 MSK 2008
On Saturday 08 November 2008 09:06:04 Olga Sorokina wrote:
> Школа закупила 11 компьютеров для нового компьютерного класса. Нужно
> быстро и качественно установить на них Windows + ALT Linux (Junior).
> Поискала в Интернете. Нашла простой вариант клонирования:
> на клиенте # nc -l -p 9000| dd of=/dev/sda
> на эталоне # dd if=/dev/sda | nc <ip-адрес> 9000
Минусы использования dd(cat) - должны быть идентичны винчестеры (или
копировать с меньшего на больший) и очень долго - оно копирует и все
неиспользуемые участки диска.
Я пользовался таким алгоритмом
- на эталонной машине перед установкой операционных систем забиваем диск
нулями;
- устанавливаем/настраиваем ОС;
- загружаем эталонную машину с live и усылаем сжатый образ диска на сервер:
cat /dev/hda | gzip -c |ssh my-server "cat > /home/ethalon.img"
- загружаем каждую из клон-машин с live-системы и разжимаем образ с сервера на
диск:
ssh my-server "cat /home/ethalon.img" |gunzip -dc >/dev/hda
- перезагружаем клон-машину (желательно с отключенной сетью) и кастомизируем
её (у Виндуса возможно придётся UID'ы менять, google:/sysprep)
Если диски очень большие, и ждать нету сил, целесообразнее воспользоваться
Акронисом.
> Порядок действий видится таким:
> 1. Установить две ОС+приложения на эталонный компьютер.
>
> 2. На клиентском ПК:
> а) загрузиться с liveCD;
> б) назначить IP-адрес (ifconfig?);
> в) # nc -l -p 9000| dd of=/dev/sda.
>
> 3. На эталонном ПК: # dd if=/dev/sda | nc <IP-адрес> 9000
Эталонный лучше тоже загрузить с live.
>
> Сразу возникли вопросы.
> 1. При загрузке с liveCD вход в root не требует пароля. Это полноценный
> режим работы под root'ом, или нужно ещё что-то сделать?
Полноценный.
>
> 2. Чтобы назначить IP-адрес, достаточно # ifconfig eth0 192.168.1.2?
Да, если машина сама не получает адреса с помощью DHCP. Возможно, придётся
озаботиться еще резолвингом.
И в современных дистрибутивах лучше использовать /sbin/ip вместо ifconfig.
> 3. Порепетировала с netcat на установленном Junior'e. Получила:
> # rpm -qa|grep netcat
> netcat-4.0.20061122-alt1
>
> # nc -l -p 9000| dd of=dev/sda
> -bash: nc: command not found
which netcat
> dd: opening `dev/sda': No such file or directory
"/dev/sda".
Кстати, не стоит на установленной системе делать "of=ваш жесткий диск". Можете
систему погубить. Очень рекомендую сначала прочесть man на все используемые
команды, чтобы понимать, что вы делаете. И озаботиться резервной копией.
> # netcat -l -p 9000|dd of=/dev/sda
> usage: netcat [-46DdhklnrStUuvz] [-e cmd] [-i interval] [-p source_port]
> [-s source_ip_address] [-w timeout] [-X proxy_version]
> [-x proxy_address[:port]] [hostname] [port[s]]
> 0+0 records in
> 0+0 records out
> 0 bytes (0 B) copied, 2.348e-05 seconds, 0.0 kB/s
>
> Как я поняла, утилита netcat установлена. Почему "-bash: nc: command not
> found"? Что можете посоветовать? В чем я ошибаюсь?
Потому что оно netcat, а не nc. :)
--
wbr, Michael A. Kangin
Подробная информация о списке рассылки community