У меня есть задача клонировать всю систему Ubuntu на множество новых компьютеров; включая RVM, Rails, ..., все бинарные файлы, библиотеки, пакеты в существующей системе Ubuntu должны быть перенесены на новые ПК.

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

Есть ли в Ubuntu что-то похожее на Time Machine для Mac OS?

Другой вопрос заключается в том, что в последние годы все мои компьютеры основаны на продуктах Intel.

Такие, как Ivy Bridge, Sandy Bridge, Haswell, ..., варьируется от I3 до I7.

Могу ли я по-прежнему использовать Clonezilla, потому что я думал, что наиболее хлопотными задачами являются установка и компиляция всех установленных пакетов.

заранее спасибо

1 ответ1

1

Если ваши машины идентичны / очень похожи, может подойти очень простое решение (и мы много раз использовали его для управления нашим более чем 100 компьютерами). Если ваши машины изменяются, это все еще может работать довольно хорошо с Ubuntu; Единственная критическая вещь, о которой я могу подумать, это архитектура процессора - вы просто не сможете загрузить несовместимую арку, как бы вы ни старались. Любая вариация машины может потребовать некоторой настройки после установки.

Загрузите оригинальную систему из livecd и просто tar содержимое вашего диска и распакуйте его во вновь созданные разделы. Вам нужно только следить за тремя вещами:

  • /etc/fstab
  • порядок разбиения
  • загрузчик

Подробно это выглядит примерно так (на livecd, на root)

mkdir /mnt/orig
mount /dev/${original_system_partition} /mnt/orig
cd /mnt/orig

Теперь отредактируйте etc/fstab чтобы использовать /dev/sd${something} вместо UUID.

tar cpvf /media/Pendrive/image.tar .

Теперь просто не забудьте правильно размонтировать pendrive (или любой съемный диск) (это может занять некоторое время).


Теперь загрузите целевую систему с livecd и (с правами root):

  • Создать разделы
mkdir /mnt/target
mount /dev/${target_root_partition} /mnt/target
cd /mnt/target
tar xvf /media/Pendrive/image.tar
mount -o bind /dev/ /mnt/target/dev
mount -t proc none  /mnt/target
mount -t sys  none  /mnt/sys
chroot . /bin/bash
update-grub2        (inside chroot environment)
exit

Теперь все готово.

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

Вы также можете попробовать скопировать весь диск или разделы, используя dd . Я не пробовал этого раньше, но это кажется разумным. Таким образом, вы можете избежать перезаписи mbr на каждой машине.

Если вы хотите более надежное решение, есть Clonezilla, которая делает что-то очень похожее на AFAIK.

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

Кроме того, вместо клонирования вы можете создать скрипт для настройки каждого компьютера. Этот подход имеет ряд преимуществ. Наиболее заметно:

  • Для простых задач это намного проще и / или быстрее.
  • Ваши машины могут сильно отличаться, и вы можете справиться с этим.
  • Это очень ясно, что было сделано, глядя на сценарий.
  • Если вам нужно несколько систем, вы можете использовать разные сценарии с общей базой для минимизации работы.
  • Он может работать с программным обеспечением, которое ломается от простого копирования.
  • Легче поддерживать чистоту вашей системы с помощью скрипта даже после серьезных изменений.
  • Вы можете контролировать версию скрипта.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .