Назад | Перейти на главную страницу

Программа NewSid для linux?

я читал этот вопрос Как переименовать машины после установки образа и мне было интересно, что вы делаете для Linux-машины. Я работаю с Windows и ничего не знаю о Linux. Если у меня есть образ Linux или виртуальная машина, есть ли программа NewSid или SysPrep, которую мне нужно запустить, если я восстановлю образ на новом компьютере?

Я спрашиваю больше о программе NewSid, а не о SysPrep, я хочу создать образ уже установленной машины, мне не нужен sysPrp для установки за меня.

Современные дистрибутивы Linux запоминают MAC-адрес карты, на которую они были впервые установлены. Их загрузка на любой другой машине может привести к тому, что ваш eth0 станет eth1, когда вы меньше всего этого ожидаете.

Решение состоит в том, чтобы удалить файл, который поддерживает постоянное сопоставление между вашим MAC-адресом и интерфейсом Ethernet, который (по крайней мере, в Debian / Ubuntu; это одна из областей, очень специфичных для дистрибутива) / etc / udev / 75-persistent- net-generator.rules.

Это зависит от дистрибутива Linux, но обычно это означает настройку нескольких файлов в /etc для имени хоста и деталей IP. В дистрибутивах со вкусом RedHat вам придется изменить:

  • /etc/hosts: имя хоста и IP-адреса
  • /etc/sysconfig/network: имя хоста
  • /etc/sysconfig/network-scripts/ifcfg-eth*: конфигурация сети

grep -r image_hostname /etc и grep -r image.ip.add.ress /etc найдет все, что вам нужно отредактировать. Изменение файлов не приведет к немедленному применению изменений - вам придется либо перезагрузить компьютер, либо применить их вручную, обновив имя хоста (используя hostname команда) и перезапуск сети с помощью service network restart.

Этот ответ не отвечает на ваш вопрос, а скорее добавляет другое решение проблемы визуализации.

Альтернативой использованию образа системы является использование чего-то вроде предварительной загрузки для Debian / Ubuntu или кикстарта для CentOS / Redhat / Fedora для установки базовой системы, а затем использования чего-то вроде Puppet, CFEngine2 или Chef для настройки остальной системы. Это дает вам возможность изменять настройки и может использоваться для сохранения конфигурации в синхронизации после того, как вы установили исходную систему. Это не займет много времени, чтобы установить систему, и сократит время создания ваших изображений.

On Debian, modify:
/etc/hostname
/etc/hosts
/etc/mailname
/etc/resolv.conf
/etc/postfix/main.cf
/etc/exim4/update-exim4.conf.conf
/etc/udev/rules.d/z25_persistent-net.rules

And run:
/etc/init.d/hostname.sh
rm -f /etc/ssh/ssh_host*
dpkg-reconfigure openssh-server

В настоящее время я использую следующий сценарий при клонировании виртуальных машин. Я использую ту же технику с середины 90-х, когда я регулярно клонировал ящики debian, чтобы они работали в качестве шлюзов / брандмауэров для школ.

#! /bin/bash

# change hostname of virtual machine from "$1" to "$2"

error() {
  echo "Usage: $0 OldName NewName" >&2
  exit 1
}

OLD="$1"
NEW="$2"

[ -z "$OLD" -o -z "$NEW" ] && error

find /etc -type f -print0 | \
        xargs -0r grep -l "\b$OLD\b" | \
        egrep -v 'ssh|\.db' | \
        xargs -d "\n" -r sed -i -e "s/$OLD/$NEW/g"

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

  1. если клонированная машина имеет жестко заданные IP-адреса, а не DHCP, я редактирую / etc / network / interfaces.

  2. отредактируйте /etc/udev/rules.d/70-persistent-net.rules, чтобы имена интерфейсов (eth0 и eth1) были назначены правильным MAC-адресам (в противном случае они получат eth2 и eth3, потому что eth0 и eth1 уже определены ).

  3. удалить и восстановить ssh-ключ хоста.