Me gustaría instalar Ubuntu para casi 120 usuarios. Pero es muy difícil usar USB y unidades.
¿Alguna sugerencia?
Me gustaría instalar Ubuntu para casi 120 usuarios. Pero es muy difícil usar USB y unidades.
¿Alguna sugerencia?
Respuestas:
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
(anteriormentenetkit-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 usaropenbsd-inetd
en 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-hpa
archivo 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-hpa
se llama ainetd
. Las opciones pasadas atftpd-hpa
cuando comienza se encuentran en/etc/inetd.conf
Los valores predeterminados están bien para nosotros,
/etc/inetd.conf
debe 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
udp
conudp4
, comotftpd-hpa
parece 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-kickstart
que 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.cfg
consystem-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/default
y agregueks=http://<installserver>/ks.cfg
a 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
--bind
opció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.cfg
directorio 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, unpxelinux.cfg
directorio en~/pxelinux.cfg
podrí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.cfg
porquepxelinux.cfg
es 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".
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
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
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í.
Debe estar en una red con 3 nodos:
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.
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)
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 grep
anterior muestra una ruta diferente, ajuste los valores en los comandos enumerados en este y en el siguiente paso en consecuencia.
Instale, configure y ejecute bootp , también en el host de origen :
Nota: reemplace los $TARGET_MAC
valores de etc. con los valores apropiados recopilados en el paso 2 anterior. La $TARGET_MAC
dirección debe ser con dos puntos, por ejemplo: 00:00:39:2B:54:B5
y con $SUBNET_MASK
puntos, 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
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.
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!
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.