¿Es posible instalar Ubuntu a través de la red?

Respuestas:

11

Puede instalar un sistema Ubuntu (generalmente un sistema Ubuntu Server, pero no tiene que ser así), y luego usarlo como servidor para arrancar PXE e instalar los otros. Los BIOS en los clientes (donde desea instalar Ubuntu) deben ser compatibles con PXE (es decir, arranque de red ) para que esto funcione. Pero la mayoría de las BIOS lo hacen, en estos días.

También debería poder hacerlo con un sistema que no sea Ubuntu como host, si ya tiene esa configuración y sabe cómo configurar los servidores necesarios en su sistema que no es Ubuntu.


El artículo wiki de la ayuda de Ubuntu PXEInstallServer explica cómo configurar un sistema Ubuntu como su servidor PXE, y cómo instalar Ubuntu en otros sistemas desde él. Sería difícil resumir los puntos principales: los detalles son muy importantes. Así que aquí está todo (con pequeños cambios de formato y puntuación):

Introducción

Esto lo guiará a través de la ejecución de un servidor Ubuntu como servidor de instalación PXE. Deberá ejecutar un servidor DHCP en su red, no necesariamente este servidor, pero sí necesita uno.

Instalar paquetes necesarios

Deberá instalar los siguientes paquetes: inetutils-inetd (anteriormente netkit-inetd), tftpd-hpa(consulte Instalación de software ).

  • Para Ubuntu 10.04, hay un error con inetutils-inetd. Solo escucha en IPv6, y no en IPv4. Como solución rápida, puede usar openbsd-inetden su lugar.

Si este también va a ser su servidor DHCP, instale el servidor dhcp contenido en el siguiente paquete: dhcp3-server(consulte Instalación del software ).

Configurar tftpd-hpa

Tendrá que decirle a tftpd-hpa que inicie su demonio (que no lo hace de manera predeterminada). Para hacer esto, edite el /etc/default/tftpd-hpaarchivo y asegúrese de que se vea así:

#Defaults for tftpd-hpa
RUN_DAEMON="yes"
OPTIONS="-l -s /var/lib/tftpboot"

Luego, ejecute el script de inicio para iniciar realmente el demonio:

/etc/init.d/tftpd-hpa restart

Configurar dhcpd

Si su servidor pxe también es su servidor dhcp, necesitará algo como esto en /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";
}

Si tiene un servidor dhcp existente, debe apuntarlo a su servidor pxe haciendo algo como lo siguiente:

subnet 192.168.0.0 netmask 255.255.255.0 {
    <other config here>
    filename "pxelinux.0";
    next-server <pxe host>;
}

Asegúrese de reiniciar su servidor dhcp para que los cambios surtan efecto:

sudo /etc/init.d/dhcp3-server restart

Configurar tftpd-hpa

tftpd-hpase llama a inetd. Las opciones pasadas a tftpd-hpa cuando comienza se encuentran en/etc/inetd.conf

Los valores predeterminados están bien para nosotros, /etc/inetd.confdebe tener una entrada como esta:

tftp    dgram   udp    wait    root    /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot

(Aunque es posible que tenga que editar este archivo y reemplazar udpcon udp4, como tftpd-hpaparece esperar una dirección IPv6 ahora).

Ahora copiaremos los archivos necesarios del CD de Ubuntu:

sudo cp -r /media/cdrom/install/netboot/* /var/lib/tftpboot/

Si su servidor dhcp emite información de red correcta y sus clientes pxe tendrán acceso a la red, entonces en este punto podrá hacer una instalación de Ubuntu utilizando repositorios de internet.

Sin embargo, quiero ir un poco más allá e instalar todo desde el servidor de instalación, así como personalizar algunos de los paquetes para instalar.

Instalar apache

Actualmente, las instalaciones nfs no son compatibles (corríjame si me equivoco), por lo que instalaremos a través de http. Para eso también necesitamos un servidor web en nuestro servidor de instalación: instale el siguiente paquete: apache(consulte Instalación de software ).

Copiar archivos de Ubuntu

Cree un directorio de ubuntu debajo de la raíz del documento de apache recién instalado y copie todo el contenido del CD alternativo de Ubuntu en ese directorio:

mkdir /var/www/ubuntu
cp -r /media/cdrom/* /var/www/ubuntu/

Personalizando la instalación

Hay un paquete llamado system-config-kickstartque es una interfaz gráfica de usuario para crear archivos kickstart. El archivo kickstart le dice al instalador de dónde obtener sus paquetes, qué instalar y una serie de otras configuraciones útiles. Vea KickstartCompatibility para más información.

Este paquete no tiene que instalarse en su servidor de instalación, puede estar en un conveniente escritorio de Ubuntu en algún lugar.

Cree una costumbre ks.cfgcon system-config-kickstart, asegúrese de especificar HTTP en "Método de instalación". Proporcione la IP de su servidor de instalación y cree el Directorio HTTP /ubuntu/. Guarde el archivo y cópielo en su servidor de instalación en /var/www/html/.

Un archivo `ks.cfg muy minimalista que solo usa los archivos de instalación en el servidor de instalación y hace todas las demás preguntas podría verse así:

install
url --url http://192.168.0.1/ubuntu/

Usa tu ks.cfg

Para que la instalación de Ubuntu de su red use su archivo kickstart, debe decirle dónde encontrarlo. Edite /var/lib/tftpboot/pxelinux.cfg/defaulty agregue ks=http://<installserver>/ks.cfga la línea de adición . Entonces debería verse más o menos así (tenga en cuenta que la línea de agregar es una línea):

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

raíz = / dev / rd / 0 rw -

En Jaunty [y presumiblemente versiones posteriores, incluida cualquier versión que probablemente esté usando] 1, el archivo predeterminado se ha dividido en incluye. La línea anexa se puede encontrar en /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

Arrancar e instalar

Ahora debería poder arrancar otra PC en el LAN a través de la red y hacer que instale Ubuntu automáticamente. :) Puede variar los puntos de instalación tftp y http para tener múltiples versiones de Ubuntu disponibles para instalar en su red.

Usando el CD (o .iso) directamente

También puede lograr lo anterior sin copiar los archivos en ningún lugar. Puede montar el CD (o el .iso) y luego hacer montajes adicionales con la --bindopción. La ventaja es que puede actualizar el CD (o el .iso) sin necesidad de actualizar los archivos del servidor de instalación.

Por ejemplo, después de montar el CD (o el .iso) en /media/cdrom/, puede montar los archivos de ubuntu en el directorio web:

mount --bind /media/cdrom/ /var/www/ubuntu/

Del mismo modo, puede hacer lo mismo con tftproot:

mount --bind /media/cdrom/install/netboot/ /var/lib/tftpboot/

Si fuera a crear un pxelinux.cfgdirectorio con un archivo predeterminado apropiado, puede montarlo sobre la parte superior del CD montado, para que el servidor tftp entregue su archivo pxelinux.cfg / default. Por ejemplo, un pxelinux.cfgdirectorio en ~/pxelinux.cfgpodría montarse así:

mount --bind ~/pxelinux.cfg /var/lib/tftpboot/pxelinux.cfg

(Tenga en cuenta que en el ejemplo anterior, el punto de montaje real del directorio terminaría como /var/lib/tftpboot/ubuntu-installer/i386/pxelinux.cfgporque pxelinux.cfges un enlace simbólico en el CD (o .iso)).

- PXEInstallServer , con ligeros cambios de formato, puntuación y mayúsculas, principalmente para acomodar el formato Ask Ubuntu.

Ese artículo es del wiki de documentación de Ubuntu . Fue escrito por "Colaboradores de la wiki de documentación de Ubuntu" y está licenciado bajo CC-BY-SA 3.0 , lo que permite su inclusión aquí, con la atribución adecuada.

1 [Texto en cursiva entre corchetes] no es del original; Es mi comentario.


Tenga en cuenta la diferencia entre este método y el método sugerido por Mitch . Ese método implica arrancar desde un CD / DVD o unidad flash USB, que luego instala el sistema a través de una red. Por defecto, esta red es Internet; para que ese método sea razonable para instalar en cientos de máquinas en una red, es probable que desee crear y alojar un repositorio de Ubuntu en su red, y dirigir sus instalaciones a eso.

El esfuerzo y la infraestructura necesarios para hacer eso es comparable a lo que sería necesario para que PXE arranque las máquinas como se describió anteriormente. Por lo tanto, si bien de esa manera podría satisfacer sus necesidades, le recomiendo que considere el arranque PXE si realmente necesita instalar sin "medios físicos".

Eliah Kagan
fuente
¿Necesitaría cambiar alguna configuración en mi enrutador?
Enkouyami el
4

Puede hacerlo utilizando el método de instalación de red comenzando una instalación de Ubuntu a través de la red. descrito en Netboot Install

Instalador de red

El instalador de red le permite instalar Ubuntu a través de la red. Esto es útil, por ejemplo, si tiene una máquina antigua con un CD-ROM no arrancable o una computadora que no puede ejecutar el instalador basado en interfaz gráfica, ya sea porque no cumplen con los requisitos mínimos para el CD en vivo / DVD o porque requieren una configuración adicional antes de poder usar el escritorio gráfico, o si desea instalar Ubuntu en una gran cantidad de computadoras a la vez. Ubuntu

Descargue el instalador de red para 12.04 LTS

Descargue el instalador de red para 13.04

Mitch
fuente
4

Hay muchas maneras de lograr esto.

1 - Netboot

Debe modificar los nombres de host y las direcciones IP en este CÓMO para su propia configuración. Los principios descritos aquí son aplicables a otros servidores DHCP y TFTP que no se describen a continuación; el uso de software de servidor alternativo se deja como ejercicio para el lector

Para obtener instrucciones sobre cómo usar una computadora con Windows como servidor TFTP y DHCP, diríjase a Instalación / WindowsServerNetboot.

Este CÓMO lo llevará a ejecutar el instalador; Si desea realizar instalaciones automatizadas o desatendidas de Ubuntu, consulte Instalación / LocalNet.

2 - LocalNet

Este método de instalación utiliza DHCP / BOOTP, TFTP y FTP / HTTP para obtener las fuentes de instalación. El instalador en sí está compuesto por un kernel de Linux y un initrd. Estos archivos se transfieren a través del proceso de arranque DHCP / TFTP.

El resto de las fuentes de instalación se pueden transferir a través de FTP o HTTP. Si la máquina de destino tiene acceso a Internet, estas fuentes podrían extraerse directamente de un espejo de Ubuntu. Alternativamente, puede descargar uno de los ISO de instalación, montarlos en bucle y servirlos con un servidor HTTP / FTP local.

3 - NetworkConsole

Arrancar desde un CD (podría ser TFTP o similar también) e instalar el sistema sobre SSH.

4 - Instalación rápida sobre SSH

Una guía rápida para instalar Hardy Ubuntu 12.04 en un servidor dedicado a través de ssh.

Eche un vistazo a la documentación completa de las instalaciones de servidor y red

Achu
fuente
1

Lo que funcionó para mí al instalar Ubuntu 18.04 LTS se basó en una guía de Isabel Castello , que parece estar basada en la guía LocalNet del wiki de Ubuntu , pero fue mucho más legible y comprensible para mí.

Prerrequisitos

Debe estar en una red con 3 nodos:

  1. Un enrutador DHCP básico .
  2. El servidor de destino , donde desea instalar Ubuntu. Debe estar conectado al enrutador con un cable (no WiFi). Y obviamente tiene soporte para arranque de red en BIOS.
  3. Un servidor de origen , que servirá servicios y archivos de instalación inicial. Esta guía asume que también es Ubuntu; seguramente otros sistemas operativos también son posibles, pero los comandos obviamente serían diferentes.

Pasos

  1. Asegúrese de habilitar Network Boot en el BIOS del objetivo .

    El ingreso al BIOS a menudo se realiza presionando o manteniendo presionado Delo F2cuando la máquina arranca. Alternativamente, presionar a F12menudo permite alterar la secuencia de arranque de alguna manera específica del proveedor, lo que puede ayudar.

  2. Descubra los siguientes valores:

    (Es posible que desee explorar / cambiar la configuración de DHCP en el enrutador para descubrir algunos de ellos. Además, si logra ingresar a la etapa de arranque de red al arrancar la máquina de destino , probablemente mostrará al menos la dirección MAC , por lo que puede anotarlo)

    • la dirección MAC del objetivo - propiedad de su tarjeta de red,
    • la dirección IP del objetivo, asignada por el enrutador ,
    • la IP de la puerta de enlace ; en otras palabras, la IP del enrutador,
    • la máscara de subred / red : generalmente se encuentra en la configuración de red de la fuente y / o del enrutador .
  3. Instale y configure tftp en el host de origen :

    $ sudo apt-get install tftpd-hpa
    $ grep TFTP_DIRECTORY /etc/default/tftpd-hpa 
    TFTP_DIRECTORY="/var/lib/tftpboot"
    $ wget http://archive.ubuntu.com/ubuntu/dists/bionic-updates/main/installer-amd64/current/images/netboot/netboot.tar.gz
    $ sudo tar xzvf netboot.tar.gz -C /var/lib/tftpboot/
    $ rm netboot.tar.gz
    

    Si lo grepanterior muestra una ruta diferente, ajuste los valores en los comandos enumerados en este y en el siguiente paso en consecuencia.

  4. Instale, configure y ejecute bootp , también en el host de origen :

    Nota: reemplace los $TARGET_MACvalores de etc. con los valores apropiados recopilados en el paso 2 anterior. La $TARGET_MACdirección debe ser con dos puntos, por ejemplo: 00:00:39:2B:54:B5y con $SUBNET_MASKpuntos, por ejemplo 255.255.255.0.

    $ sudo apt-get install bootp
    $ vim ./bootptab
    client: ha="$TARGET_MAC": ip=$TARGET_IP: gw=$GATEWAY_IP: sm=$SUBNET_MASK: td=/: hd=/: bf=pxelinux.0
    $ sudo bootpd -d 4 -c /var/lib/tftpboot -s $PWD/bootptab
    
  5. Reinicie la máquina de destino , mientras se asegura de que la función Network Boot esté habilitada (presione F12si es necesario, o nada, o cualquier otra cosa que requiera su BIOS).

    Un instalador interactivo basado en texto de Ubuntu 18.04 debería comenzar ahora en la máquina de destino. Continúe como si instalara Ubuntu normalmente.

  6. Extra: por seguridad, después de finalizar la instalación, debe asegurarse de volver a desactivar la función de arranque de red en el BIOS del objetivo.

¡Espero que esto ayude!

akavel
fuente
0

Cobbler es un servidor de instalación de Linux que permite la configuración rápida de entornos de instalación de red. Se pega y automatiza muchas tareas asociadas de Linux para que no tenga que saltar entre muchos comandos y aplicaciones diferentes al implementar nuevos sistemas y, en algunos casos, cambiar los existentes. Cobbler puede ayudar con el aprovisionamiento, la administración de DNS y DHCP, las actualizaciones de paquetes, la administración de energía, la organización de la administración de la configuración y mucho más.

rayo azul
fuente