NewSid programa para linux?

3

eu estava lendo esta questão Como renomear máquinas após a instalação da imagem e eu queria saber o que você faz para uma máquina linux. Eu sou um cara do windows e sou clueless sobre linux. Se eu tenho uma imagem linux ou VM, existe um programa NewSid ou SysPrep que eu tenho que executar se eu restaurar a imagem para uma nova máquina?

Estou perguntando mais sobre um programa NewSid em vez do SysPrep, quero fazer uma imagem de uma máquina já instalada, não preciso que o sysPrp faça a instalação para mim.

    
por BLAKE 07.09.2009 / 21:00

5 respostas

3

Depende da distribuição do Linux, mas geralmente significa ajustar alguns arquivos em /etc para o nome do host e detalhes do IP. Em distros com sabor RedHat você teria que mudar:

  • /etc/hosts : nome do host e endereços IP
  • /etc/sysconfig/network : hostname
  • /etc/sysconfig/network-scripts/ifcfg-eth* : configuração de rede

grep -r image_hostname /etc e grep -r image.ip.add.ress /etc encontrariam tudo o que você precisa editar. Alterar os arquivos não fará com que as alterações sejam feitas imediatamente - você precisará reinicializar ou aplicá-las manualmente atualizando o nome do host (usando o comando hostname ) e reiniciando a rede com service network restart .

    
por 07.09.2009 / 21:12
3

As distribuições Linux modernas lembrarão o endereço MAC do cartão em que foram instaladas pela primeira vez. Inicializá-los em qualquer outra máquina pode fazer com que sua eth0 se torne eth1 quando você menos espera.

A solução é remover o arquivo que mantém o mapeamento persistente entre seu endereço MAC e a interface ethernet, que (pelo menos em Debian / Ubuntu, esta é uma área muito específica à distribuição) é / etc / udev / 75 -persistent-net-generator.rules.

    
por 07.09.2009 / 21:18
2

Esta resposta não responde à sua pergunta, mas é mais para adicionar uma solução diferente para o problema de imagem.

A alternativa para usar uma imagem do sistema é usar algo como preseeding para Debian / Ubuntu ou kickstart para CentOS / Redhat / Fedora para instalar um sistema básico e então usar algo como Puppet, CFEngine2 ou Chef para configurar o resto do sistema. . Isso lhe dá a flexibilidade de alterar sua configuração e pode ser usado para manter a configuração em sincronia após a instalação do sistema inicial. Isso não levará muito mais tempo para instalar o sistema e reduzirá o tempo para produzir suas imagens.

    
por 07.09.2009 / 22:06
2
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
    
por 07.09.2009 / 22:22
1

Atualmente, uso o script a seguir quando clonei máquinas virtuais. Eu tenho usado a mesma técnica desde meados dos anos 90, quando eu estava regularmente clonando caixas de debian para atuar como máquinas de gateway / firewall para escolas.

#! /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"

Existem algumas mudanças manuais que eu ainda não consegui automatizar, principalmente porque eu não faço isso o suficiente para valer a pena gastar tempo para descobrir.

  1. se a máquina clonada tiver endereços IP codificados em vez de DHCP, edite / etc / network / interfaces.

  2. edite /etc/udev/rules.d/70-persistent-net.rules para que os nomes de interface (eth0 & eth1) sejam atribuídos aos endereços MAC corretos (caso contrário, eles obterão eth2 & eth3 porque eth0 e eth1 já estão definidos).

  3. exclua e regenere a chave ssh do host.

por 08.09.2009 / 00:06