Você pode instalar um sistema Ubuntu (normalmente um sistema Ubuntu Server, mas não precisa ser), e depois usá-lo como um servidor para inicializar o PXE e instalar os outros. As BIOS nos clientes (onde você deseja instalar o Ubuntu) devem suportar o PXE (isto é, inicialização da rede ) para que isso funcione. Mas a maioria dos BIOS hoje em dia.
Você deve ser capaz de fazê-lo com um sistema não-Ubuntu como o host, também, se você já tem essa configuração e sabe como configurar os servidores necessários em seu sistema não-Ubuntu.
O artigo da wiki de ajuda do Ubuntu PXEInstallServer explica como configurar um sistema Ubuntu como seu servidor PXE e como instalar Ubuntu em outros sistemas a partir dele. Seria difícil resumir os pontos principais - os detalhes são muito importantes. Então aqui está a coisa toda (com pequenas alterações de formatação e pontuação):
Introdução
Isto irá guiá-lo através da execução de um servidor Ubuntu como instalação PXE servidor. Você precisará executar um servidor DHCP em sua rede, não necessariamente este servidor, mas você precisa de um.
Instalando os pacotes necessários
Você precisará instalar os seguintes pacotes:
inetutils-inetd
(anteriormentenetkit-inetd
),tftpd-hpa
(ver InstallingSoftware ).
- Para o Ubuntu 10.04, há um erro com
inetutils-inetd
. Apenas escuta no IPv6 e não no IPv4. Como solução rápida, você pode usaropenbsd-inetd
em vez disso.Se este também for o seu servidor DHCP, instale o servidor dhcp contido no pacote follwing:
dhcp3-server
(ver InstallingSoftware ).Configurar o tftpd-hpa
Você precisará dizer ao tftpd-hpa para iniciar seu daemon (o que não é feito por padrão). Para fazer isso, edite o arquivo
/etc/default/tftpd-hpa
e faça Certifique-se de que algo parecido com isto:#Defaults for tftpd-hpa RUN_DAEMON="yes" OPTIONS="-l -s /var/lib/tftpboot"
Em seguida, execute o script de inicialização para iniciar o daemon:
/etc/init.d/tftpd-hpa restart
Configurar o dhcpd
Se o seu servidor pxe também for seu servidor dhcp, você precisará de algo assim em
/etc/dhcp3/dhcpd.conf
:subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.100 192.168.0.200; filename "pxelinux.0"; }
Se você tiver um servidor dhcp existente, deverá apontá-lo para o seu pxe servidor fazendo algo como o seguinte:
subnet 192.168.0.0 netmask 255.255.255.0 { <other config here> filename "pxelinux.0"; next-server <pxe host>; }
Lembre-se de reiniciar seu servidor dhcp para que as alterações entrem em vigor:
sudo /etc/init.d/dhcp3-server restart
Configurar o tftpd-hpa
tftpd-hpa
é chamado deinetd
. As opções passadas paratftpd-hpa
quando ele inicia são encontrados em/etc/inetd.conf
Os padrões são bons para nós, seu
/etc/inetd.conf
deve ter um entrada como esta:tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot
(Embora você possa precisar editar este arquivo e substituir
udp
porudp4
, já quetftpd-hpa
parece esperar um endereço IPv6 agora.)Agora vamos copiar os arquivos necessários do CD do Ubuntu:
sudo cp -r /media/cdrom/install/netboot/* /var/lib/tftpboot/
Se o seu servidor dhcp emitir informações de rede corretas e seus clientes pxe vai ter acesso à rede, então neste momento você será capaz de fazer um O Ubuntu instala usando repositórios da Internet.
Eu quero ir um pouco mais além e instalar tudo do instalar o servidor, bem como personalizar alguns dos pacotes para instalar.
Instalar o apache
Atualmente, as instalações do nfs não são bem suportadas (corrija-me se estiver errado), então vamos instalar em http. Para isso precisamos de um servidor web em nosso instalar servidor também: instale o seguinte pacote:
apache
(veja InstallingSoftware ).Copiando arquivos do Ubuntu
Crie um diretório do Ubuntu no seu Apache recém-instalado documentar root e copiar todo o conteúdo do CD Alternativo do Ubuntu para esse diretório:
mkdir /var/www/ubuntu cp -r /media/cdrom/* /var/www/ubuntu/
Personalizando a instalação
Existe um pacote chamado
system-config-kickstart
, que é uma GUI frontend para criar arquivos de kickstart. O arquivo de kickstart informa ao instalador de onde obter seus pacotes, o que instalar e um número de outras configurações úteis. Veja KickstartCompatibility para mais info.Este pacote não precisa ser instalado em seu servidor de instalação, pode estar em uma área de trabalho conveniente do Ubuntu em algum lugar.
Crie um
ks.cfg
personalizado comsystem-config-kickstart
, certifique-se de especifique HTTP em "Método de Instalação". Forneça o IP de você instalar o servidor e tornar o Diretório HTTP/ubuntu/
. Salve o arquivo e copie-o para o seu servidor de instalação em/var/www/html/
.Um arquivo ks.cfg muito minimalista que usa apenas os arquivos de instalação no servidor de instalação e pede todas as outras perguntas pode parecer isso:
install url --url http://192.168.0.1/ubuntu/
Use seu ks.cfg
Para que a sua rede Ubuntu instale o seu arquivo de kickstart, você tem que dizer onde encontrá-lo. Editar
/var/lib/tftpboot/pxelinux.cfg/default
e adicionarks=http://<installserver>/ks.cfg
para a linha anexa.Deve então algo parecido com isto (note que a linha anexa é uma linha):label linux kernel ubuntu-installer/i386/linux append ks=http://192.168.0.1/ks.cfg vga=normal initrd=ubuntu-installer/i386/initrd.gz ramdisk_size=16432
root = / dev / rd / 0 rw -
Em Jaunty [e presumivelmente versões posteriores, incluindo qualquer lançamento você provavelmente está usando] 1 o arquivo padrão foi quebrado em inclusões. A linha anexa pode ser encontrada em
/ubuntu-installer/i386/boot-screens/text.cfg
:label install menu label ^Install (from my http server) menu default kernel ubuntu-installer/i386/linux append ks=http://192.168.0.1/ks.cfg vga=normal initrd=ubuntu-installer/i386/initrd.gz -- quiet
Inicialize e instale
Agora você deve conseguir inicializar outro PC na rede pela rede e instalar o Ubuntu automaticamente. :) Você pode variar o tftp e pontos de instalação http para ter várias versões do Ubuntu disponíveis para instalar na sua rede.
Usando o CD (ou .iso) diretamente
Você também pode obter o que foi mencionado acima sem realmente copiar nenhum arquivo qualquer lugar. Você pode montar o CD (ou o .iso) e depois fazer montagens com a opção
--bind
. A vantagem é que você pode atualizar o CD (ou o .iso) sem precisar atualizar o servidor de instalação arquivos.Por exemplo, após montar o CD (ou o .iso) em
/media/cdrom/
, você pode montar os arquivos do ubuntu no diretório web:mount --bind /media/cdrom/ /var/www/ubuntu/
Da mesma forma, você pode fazer o mesmo com o
tftproot
:mount --bind /media/cdrom/install/netboot/ /var/lib/tftpboot/
Se você fosse criar um diretório
pxelinux.cfg
com um arquivo padrão, você pode montá-lo na parte superior do CD montado, que o servidor tftp forneça seu arquivo pxelinux.cfg / default. Para Por exemplo, um diretóriopxelinux.cfg
em~/pxelinux.cfg
poderia ser montado assim:mount --bind ~/pxelinux.cfg /var/lib/tftpboot/pxelinux.cfg
(Observe que no exemplo acima, o ponto de montagem real do diretório acabaria como
/var/lib/tftpboot/ubuntu-installer/i386/pxelinux.cfg
porque opxelinux.cfg
é um link simbólico no CD (ou .iso)).
- PXEInstallServer , com pequenas alterações de formatação, pontuação e letras maiúsculas, principalmente para acomodar o formato Ask Ubuntu.
Esse artigo é do wiki da documentação do Ubuntu . Ele foi escrito por "Colaboradores para a wiki de documentação do Ubuntu" e é licenciado em CC-BY-SA 3.0 , que permite a inclusão aqui, com a devida atribuição.
1 [Texto em itálico entre colchetes] não é do original; é meu comentário.
Observe a diferença entre esse método e o método sugerido pelo Mitch . Esse método envolve a inicialização de um CD / DVD ou unidade flash USB, que instala o sistema em uma rede. Por padrão, esta rede é a Internet; Para que esse método seja razoável para instalação em centenas de máquinas em uma rede, você provavelmente desejaria criar e hospedar um repositório do Ubuntu em sua rede e apontar suas instalações para isso.
O esforço e a infraestrutura necessários para fazer isso são comparáveis ao que seria necessário para o PXE inicializar as máquinas conforme descrito acima. Portanto, embora esse caminho possa atender às suas necessidades, eu o aconselharia a considerar a inicialização via PXE se você realmente precisar instalar sem a "mídia física".