Creación de una imagen de Linux para arrancar a través de la red. Instalación de Ubuntu a través de la red a través de PXE

Durante bastante tiempo, escribí un artículo sobre la instalación de Ubuntu en una red, en una red local, sin usar varios medios, solo arrancando a través de PXE y eso es todo. Esta vez decidí actualizar el artículo y acercarlo a las realidades modernas y, lo más importante, ampliar la funcionalidad. ¡Todo se hará usando Ubuntu 14.04 como ejemplo!

Bajo diferentes requisitos, debe haber diferentes soluciones, el principal inconveniente es que a menudo no necesitamos un sistema operativo, sino varios. Así que decidí escribir un artículo sobre este tema. El artículo anterior se puede encontrar en el enlace,.
La idea principal es que tendremos la oportunidad de elegir qué sistema operativo instalaremos, así como su profundidad de bits, de hecho, tendremos un menú de arranque después de arrancar el sistema a través de la red local.
Implementaremos todo esto, usando el ejemplo del recién lanzado Ubuntu 14.04

Para quien no lo entienda, todo se inicia para tener la oportunidad de elegir qué sistema operativo instalar, así como su profundidad de bits, es decir. Deberá aparecer un menú donde se presentarán todos los sistemas operativos disponibles para instalar a través de la red, el cual se verá así:

Ubuntu_14.04x86
Ubuntu_14.04amd64
Para el trabajo necesitamos:
¡Necesariamente!
1) Una puerta de enlace configurada, por ejemplo, use el artículo:
2) Servidor DHCP, por ejemplo, puede usar el artículo:
3) Un servidor TFTP configurado que carga un cargador de arranque PXE, use el artículo:

¡Opcional!
3) Un punto adicional, pero no obligatorio, puede ser un servidor DNS configurado, un ejemplo está en el artículo

Se supone que ha configurado una puerta de enlace, DHCP, un servidor TFTP y que también ha agregado un menú de inicio PXE. No me detendré en este punto.

Pasemos a configurar el sistema instalado.
Para empezar, crearemos un punto de instalación para Ubuntu 14.04x86, para lo cual necesitaremos un disco de instalación del bitness adecuado. Necesitamos descargarlo y montarlo para extraer los archivos del gestor de arranque del instalador del sistema.
Porque tenemos el archivo del cargador de red en el directorio directorio /var/lib/tftpboot/ desde donde son extraídos por el servidor TFTP, entonces necesitamos crear un directorio de Ubuntu en él para colocar archivos de los discos de instalación en él, hagamos esto:
mkdir /var/lib/tftpboot/ubuntu
En el directorio Uubntu, creamos directorios adicionales para los archivos del gestor de arranque del instalador del sistema operativo para sistemas x86 bits y ADM64, respectivamente.
mkdir /var/lib/tftpboot/ubuntu/x86 mkdir /var/lib/tftpboot/ubuntu/amd64

Ahora necesitamos descargar el disco de instalación, puede verlo aquí mirror.yandex.ru/ubuntu-releases/14.04/
Descargaremos la versión x86 para el servidor. ella pesa menos
wget http://mirror.yandex.ru/ubuntu-releases/14.04/ubuntu-14.04-server-i386.iso
Una vez completada la descarga de la imagen ISO, debemos montarla para poder extraer los archivos que necesitamos, y para ello, en el directorio /medios de comunicación vamos a crear un directorio Yo asi, vamos a hacer eso:

Mkdir /medios/iso
Monte la imagen del disco en este directorio:
sudo su
montar ubuntu-14.04-servidor-i386.iso /media/iso/
El sistema mostrará que el disco está montado en modo de lectura:

mount: advertencia: /media/iso/ parece estar montado como de solo lectura.
Vamos a recoger el gestor de arranque y el núcleo del instalador:
cd /media/iso/install/netboot/ubuntu-installer/i386/

Estamos interesados ​​en 2 archivos linux Y initrd.gz, que necesitamos recoger y mover al directorio /var/lib/tftpboot/ubuntu/x86
vamos a copiarlos:
cp linux /var/lib/tftpboot/ubuntu/x86 cp initrd.gz /var/lib/tftpboot/ubuntu/x86

Eso es todo, ya no necesitamos la imagen de instalación, primero la desmontamos del directorio iso:
desmontar /medios/iso/

Después de eso, la imagen ISO se puede eliminar.
Realizamos acciones similares para la imagen del disco de instalación con una profundidad de bits x64, no describiré qué y dónde, solo daré una lista de comandos, las acciones son las mismas, solo las rutas son ligeramente diferentes, está escrito allá amd64

Wget http://mirror.yandex.ru/ubuntu-releases/14.04/ubuntu-14.04-server-amd64.iso

Monte ubuntu-14.04-server-amd64.iso /media/iso/

cd /media/iso/install/netboot/ubuntu-installer/amd64/

cp linux /var/lib/tftpboot/ubuntu/amd64 cp initrd.gz /var/lib/tftpboot/ubuntu/amd64

Desmontar /media/iso/

Hemos terminado con los archivos de instalación, ahora vamos a configurar el menú de arranque de PXE.

Personalización del menú de arranque de PXE
Primero, agreguemos un elemento de menú con el nombre Instalación de Linux, para ello necesitamos editar el archivo:
nano /var/lib/tftpboot/pxelinux.cfg/default

Agregue una entrada al final del archivo:
ETIQUETA Instalación de Linux MENÚ ETIQUETA ^Instalación de Linux KERNEL vesamenu.c32 ANEXO pxelinux.cfg/linux.menu

Como puede ver en la publicación, tendremos otra página con una selección de distribuciones para la instalación, creémosla:

Nano /var/lib/tftpboot/pxelinux.cfg/linux.menu

Agreguemos los nombres de los elementos para descargar con la capacidad de seleccionar el sistema operativo para la instalación, mientras que Ubuntu 14.04 x86 Y amd64 arquitecturas:
ETIQUETA Instalar Ubuntu 14.04x86 MENÚ etiqueta ^Ubuntu 14.04x86 NÚCLEO ubuntu/x86/linux ANEXO initrd=ubuntu/x86/initrd.gz =ubuntu/amd64 /initrd.gz

Esto completa la configuración, puede conectar la máquina cliente e intentar arrancar a través de PXE, como resultado, después de arrancar el sistema a través de la red, tendremos un menú como este:

Elegimos lo que queremos instalar, la instalación comenzará automáticamente y luego solo siga las instrucciones del instalador del sistema.
Otros sistemas operativos se agregan de manera similar.
Con eso, lo terminaré por hoy.
Bueno, como siempre, si tienes alguna duda, por favor en los comentarios, si encuentras un error, escribe en un personal o correo electrónico.

En las salas de servidores, cada vez aparecen más servidores sin unidades de CD/DVD. De vez en cuando, necesita instalar un sistema operativo en ellos, y la instalación de la red puede ser de gran ayuda con esto. Simplemente encienda el servidor y comience la instalación. La tarjeta de red debe ser compatible con la tecnología PXE. PXE (Pre-Boot Execution Environment) le permite iniciar a través de la red.

Pero PXE no es suficiente para la felicidad completa, una tecnología que le permitirá automatizar completamente la instalación es kickstart (desarrollada por Red Hat). Su esencia es simple: compilamos previamente un archivo que contiene los valores de todas las opciones que pueden ser necesarias durante la instalación. Además, podemos ejecutar nuestros scripts antes y después de la instalación, configurando así la configuración para el sistema operativo futuro.

La instalación de un kit típico de Linux usando kickstart toma de 5 a 7 minutos.

El servidor de instalación requiere 3 servicios y 1 paquete.


  • DHCP proporciona credenciales de red a los clientes

  • TFTP es una manera fácil de compartir archivos a través de la red

  • Syslinux contiene el cargador pxelinux.0 y algunos otros archivos

  • NFS proporciona acceso al sistema de archivos a través de la red
El proceso de instalación se puede dividir en pasos:

  1. pxe: el firmware pxe comienza a funcionar cuando configuramos la instalación de red en BIOS, o cuando no se encuentra MBR en HDD.

  2. DHCP fase 1: el cliente recibe los detalles de la red y la dirección del servidor tftp, así como el nombre del archivo del cargador (pxelinux.0). De forma predeterminada, el servidor TFTP es un servidor DHCP.

  3. TFTP: el cargador de arranque pxelinux.0 accede al servidor TFTP y le solicita initrd.img (disco RAM inicial, sistema de archivos temporales), el kernel de Linux.

  4. Kernel: transferir el control al kernel de Linux.

  5. DHCP fase 2: el kernel de Linux realiza una solicitud al servidor DHCP para obtener las credenciales de red y, posteriormente, la dirección del servidor NFS.

  6. NFS: la etapa en la que se monta la partición NFS

  7. init - /sbin/init se inicia y se le transfiere el control. Init es el proceso principal en el sistema, otros procesos son procesos secundarios de init.
En presentación libre:

El servidor DHCP escucha las solicitudes de arranque en su red; después de recibir una solicitud, mira la dirección MAC de origen y, si tiene una entrada correspondiente para dicha dirección MAC, comienza a trabajar con ella. El servidor DHCP proporciona los detalles de la red del cliente (dirección IP, puerta de enlace, servidores DNS, ...) y envía la imagen de arranque pxelinux.0 utilizando el protocolo TFTP utilizando el servidor TFTP. Esta imagen es suficiente para mostrar el menú de selección del sistema operativo.

Después de seleccionar el sistema operativo, comenzamos a cargar el kernel y comenzamos la instalación, eligiendo en el proceso la fuente de instalación: el servidor NFS. Debe cargar el contenido preparado del futuro sistema operativo al servidor NFS y asegurarse de que se exporten los directorios correspondientes.

DHCP

Instale DHCPD y agréguelo al inicio:
# yum -y instalar dhcp
# chkconfig dhcpd encendido

Hacemos el archivo /etc/dhcpd.conf así:

ddns-actualización-estilo interino;
ignorar las actualizaciones del cliente;
subred 192.168.146.0 máscara de red 255.255.255.0 (
enrutadores opcionales 192.168.146.1;
opción máscara de subred 255.255.255.0;
opción nombre-dominio "dominio.local";
opción servidores de nombres de dominio 192.168.146.1;
tiempo de arrendamiento predeterminado 21600;
tiempo máximo de arrendamiento 43200;
Permitir arranque;
permitir el arranque;
anfitrión unixbox(
hardware ethernet 00:0c:29:77:9c:9c;
dirección fija 192.168.146.128;
nombre de archivo "pxelinux.0";
opción nombre de host "unixbox";
próximo servidor 192.168.146.1;
}
}

Inicie DHCPD o reinicie si se inició:
# reinicio del servicio dhcpd

Deshabilite el firewall, que está habilitado de forma predeterminada (de lo contrario, en la computadora de destino, aparecerá el error "Destino ICMP inalcanzable (host prohibido administrativamente)" en el arranque):
# parada de iptables de servicio
# chkconfig iptables apagado

TFTP

Instale el paquete tftp-server desde el repositorio:
# yum -y instalar servidor tftp

Ahora necesitas habilitar tftp en la configuración de xinetd, para ello, en el archivo /etc/xinetd.d/tftp, cambia “disable=yes” por “disable=no” y habilita xinetd:
# inicio del servicio xinetd

Verifique que el puerto del servidor tftp esté escuchando (tftp se está ejecutando en el puerto 69):
# netstat-nlp | grep:69
udp 0 0 0.0.0.0:69 0.0.0.0:* 3105/xinetd

syslinux

El paquete contiene un conjunto de archivos para descargar a través de la red. Necesitamos pxelinux.0, que daremos como imagen de arranque vía DHCP, y menu.c32, con el que se dibujará un menú de usuario más atractivo. (Para CentOS 4, el syslinux actualizado con dependencias se puede descargar desde rpmfind.net).

# cp $(rpm -ql syslinux | menú grep.c32) /tftpboot/
# cp $(rpm -ql syslinux | grep pxelinux.0) /tftpboot/

NFS

De manera predeterminada, lo más probable es que el sistema tenga NFS; si no, instálelo usando yum.
# chkconfig nfs activado

Agregue una entrada al archivo /etc/exports:
echo "/var/install-server/ *(ro,no_root_squash)" >> /etc/exportaciones

Inicie el servidor nfs:
# inicio del servicio nfs

Compruebe que el directorio se ha exportado:
# exportfs
/var/instalar-servidor

Creamos la estructura del servidor tftp, agregamos contenido al servidor:
# mkdir -p /tftpboot/(pxelinux.cfg,centos5_x86)
# mkdir -p /var/instalar-servidor/centos5_x86

Montamos nuestro DVD con CentOS 5 y subimos el contenido a /var/install-server/centos5_x86:
# montar /dev/cdrom /mnt/
# cp -r /mnt/* /var/install-server/centos5_x86/
# cp /var/install-server/centos5_x86/images/p xeboot/* /tftpboot/centos5_x86/

En el directorio /tftpboot/pxelinux.cfg, cree un archivo predeterminado y complételo como se muestra a continuación:
menú predeterminado.c32

aviso 0
tiempo de espera 100

núcleo /centos5_x86/vmlinuz
agregar initrd=/centos52_x86/initrd.img
etiqueta Salir
arranque local 0

Instalar el sistema operativo a través de la red

Después de todas las manipulaciones descritas anteriormente, podemos proceder a instalar el sistema operativo. Iniciamos nuestra máquina con la dirección MAC 00:0c:29:77:9c:9c al habilitar el arranque de red en el BIOS. Cuando comienza la instalación, hacemos todo de la manera estándar, excepto que en la lista donde instalar el sistema operativo, debe seleccionar NFS y luego, cuando se le solicite, indique:
Nombre del servidor NFS: 192.168.146.1
Directorio de CentOS: /var/install-server/centos5_x86

Automatización de la instalación con Kickstart

Para automatizar, debe crear un archivo que contenga toda la información necesaria que pueda requerirse durante el proceso de instalación. Dicho archivo es creado por el programa system-config-kickstart (herramienta GUI) en cualquier CentOS con X Window:
# yum -y install sistema-config-kickstart
# sistema-config-kickstart

Una vez que hayamos creado el archivo usando system-config-kickstart, debemos transferirlo al servidor de instalación y hacerlo disponible a través de uno de los protocolos HTTP, NFS o FTP. Dado que NFS se usa activamente en el trabajo del servidor de instalación, lo usaremos.

En mi caso, el archivo kickstart está en /var/install-server/centos5_x86/centos5_ x86_ks.cfg.

Todo lo que necesita hacer en /tftpboot/pxelinux.cfg/default es agregar una directiva ks con la ubicación del archivo kickstart. Ejemplo con archivo kickstart:
menú predeterminado.c32
título del menú Servidor de instalación de Linux. Elija el sistema operativo para instalar.
aviso 0
tiempo de espera 100
etiqueta CentOS 5 x86 Instalación personalizada
núcleo /centos5_x86/vmlinuz
agregar initrd=/centos5_x86/initrd.img
etiqueta CentOS 5 x86 Kickstart Instalación
núcleo /centos52_x86/vmlinuz
agregue initrd=/centos5_x86/initrd.img ks=nfs:192.168.146.1:/var/install-server/c entos5_x86/centos5_x86_ks.cfg
etiqueta Salir
arranque local 0

Ahora, habiendo seleccionado "CentOS 5 x86 Kickstart Install" en el menú de selección de SO, solo tendremos que esperar al servidor con el SO instalado.

A continuación se muestra un ejemplo de mi archivo Kickstart. Quería que el sistema operativo instalado tuviera la opción "PermitRootLogin sí" en la configuración de sshd. Kickstart-file permite no solo establecer los parámetros de instalación del sistema operativo, sino también ejecutar scripts antes de la instalación (%pre) y después (%post). Por lo tanto, puede escribir muchos scripts de ajuste y obtener un sistema operativo completamente terminado en 5-10 minutos de instalación.

#plataforma=x86, AMD64 o Intel EM64T
# Información de autorización del sistema
autenticación --useshadow --enablemd5
# Configuración del gestor de arranque del sistema
cargador de arranque --ubicación=mbr
# Borrar el registro de arranque maestro
zerombr
# Información de limpieza de partición
clearpart --todos --initlabel
# Usar instalación en modo texto
texto
# Configuración del cortafuegos
cortafuegos --deshabilitado
# Ejecute el Agente de configuración en el primer arranque
primer arranque --deshabilitar
# Teclado del sistema
teclado nosotros
# Lenguaje del sistema
lang es_ES
# Nivel de registro de instalación
registro --nivel=info
# Usar medios de instalación NFS
nfs --server=192.168.146.1 --dir=/var/install-server/centos5_x86
# información de la red
red --bootproto=dhcp --device=eth0 --onboot=on
#contraseña raíz
rootpw --iscrypted $1$Bz09jb2I$hfzh2vApqMjG0sEPsAwNr/
# configuración de SELinux
selinux --deshabilitado
# No configurar el Sistema X Window
saltar
# Zona horaria del sistema
huso horario Europa/Moscú
# Instale el sistema operativo en lugar de actualizar
instalar
# Información de particionamiento del disco
intercambio de partes --bytes-per-inode=4096 --fstype=”swap” --size=512
parte / --bytes-per-inode=4096 --fstype="ext3" --crecer --size=1

%post --interp/bin/bash
PATH=/alguna obra
/bin/mkdir $RUTA
/bin/sed -e ‘s/#PermitRootLogin yes/PermitRootLogin yes/g’ /etc/ssh/sshd_config > $PATH/sshd_config_edited
/bin/cp $RUTA/sshd_config_editado /etc/ssh/sshd_config
/bin/rm -rf $RUTA

Este artículo cubrirá la instalación de Ubuntu Linux desde un repositorio de arranque de red.

Entonces, instalaremos Ubuntu 10.04 en las computadoras cliente desde el servidor 192.168.0.3, que alberga el servidor de arranque de red y dhcpd. Para la instalación, el repositorio debe contener el directorio dists/lucid/main/debian-installer. Si agrega directorios similares para otros repositorios (multiverso, universo, restringido), entonces en la etapa "Seleccionar e instalar software" la lista de software será más grande. En esta guía, consideraré esta opción. Si creó un espejo debmirror, lo más probable es que no tenga estos directorios en absoluto. Puede descargarlos, por ejemplo, desde ftp://mirror.yandex.ru. Además, durante la instalación, el instalador, independientemente del repositorio seleccionado, suele acceder a security.ubuntu.com.

Paso 1: Instalación del servidor

Instalación de aplicaciones requeridas:

apt-get install tftpd-hpa openbsd-inetd

Descargue y descomprima la imagen para una instalación de red:

tar -xvzf netboot.tar.gz -C /var/lib/tftpboot/

chown -R nadie: ningún grupo /var/lib/tftpboot

Para el inicio de red, debe pasar 2 parámetros al cliente: el nombre del archivo de inicio y el servidor del archivo de inicio (en dhcpd, estos son el nombre del archivo y los parámetros del servidor siguiente):

próximo servidor 192.168.0.3;
nombre de archivo "pxelinux.0";

El servidor está instalado, puede instalar el sistema.

Paso 2: Instalación del sistema

Para instalar el sistema desde un servidor en la red, debe habilitar el inicio de red (PXE) en el BIOS. Si su BIOS es compatible con el menú de inicio, entonces es mejor usarlo para seleccionar el dispositivo de inicio, de modo que no haya problemas si olvida cambiar el orden de inicio.

Si todo está bien, verá la pantalla de bienvenida del instalador:

  • Servidor básico de Ubuntu
  • Servidor de nombres (DNS)
  • servidor edubuntu
  • servidor LÁMPARA
  • Servidor de correo
  • servidor openSSH
  • Base de datos PostgreSQL
  • Servidor de impresión
  • servidor de archivos samba
  • Nube empresarial de Ubuntu
  • Anfitrión de máquina virtual
  • Suite de creación y edición 2D/3D
  • Paquete de creación y edición de audio
  • edubuntu escritorio KDE
  • escritorio edubuntu
  • Escritorio Kubuntu
  • netbook kubuntu
  • Complementos de audio LADSPA y DSSI
  • Gran selección de paquetes de fuentes
  • Funciones adicionales de Mythbuntu
  • Interfaz de Mythbuntu
  • Backend maestro de Mythbuntu
  • Backend esclavo de Mythbuntu
  • Ubuntu Netbook
  • Escritorio Ubuntu
  • Paquete de creación y edición de video
  • escritorio ubuntu
  • Selección manual de paquetes

En la actualidad, cada vez se automatizan más tareas y la virtualización se usa cada vez más para maximizar el rendimiento del servidor. Pero aún tiene que instalar sistemas operativos. Cada uno lo hace a su manera: alguien tiene los bolsillos llenos de varias imágenes para todas las ocasiones, alguien a la antigua lleva consigo un “bolso” con discos, o incluso dos. Por regla general, los administradores hacen este trabajo con poco placer. Veamos cómo reducir el tiempo para tareas triviales, cómo enseñar a las computadoras a instalar sistemas por sí mismas, sin la participación de un administrador, usando solo una red local.

Entonces, hoy aprenderemos cómo: instalar Windows y Linux a través de la red, cargar imágenes ISO pequeñas, software útil (todo tipo de Kaspersky, Acronis, WinPE, memtests), implementar clientes ligeros y administrarlos. Para que, por ejemplo, una contadora que trabaja con 1C vía RDP no te dé una paliza porque se le cayó el Windows, y el informe lo tuvo que hacer ayer... O un jefe tacaño que no quiere actualizar su computadora admiraba tu profesionalismo cuando verá cómo vuela Windows 8 en computadoras viejas ... Para lograr nuestros objetivos insidiosos, un servidor que proporcione arranque a través de la red (PXE) nos ayudará.

Cualquier administrador de sistemas tiene una unidad USB universal en su escondite para la reanimación informática de emergencia. De acuerdo, sería mucho mejor tener la misma funcionalidad usando solo una tarjeta de red. Al mismo tiempo, es imposible no notar la posibilidad de trabajar simultáneamente con varios nodos a la vez. Entonces, según nuestras necesidades, tenemos dos soluciones: usar PXE o LTSP.

LTSP no es muy adecuado para nosotros: está diseñado para cargar el sistema operativo instalado en el propio servidor a través de la red, lo que permite el uso de aplicaciones de servidor LTSP. Esto no es exactamente lo que necesitamos. PXE es una herramienta para iniciar una computadora a través de una red sin usar medios de almacenamiento local, al igual que LTSP. PXE le permite organizar un menú de arranque de arranque múltiple, similar al "resucitador USB" universal.


¿Qué implementaremos?

Todo comenzó con la necesidad de tener una herramienta para la instalación remota de Ubuntu/Debian Server a través de la red, con la capacidad de arrancar un Live CD de un sistema pequeño, como SliTaz o Kolibri OS.
Como dicen, el apetito viene con la comida: no lograron darse cuenta de lo que estaba planeado, y se agregaron una serie de "Listas de deseos" al plan. Como resultado, la lista resultó ser bastante impresionante.

  1. Clientes ligeros basados ​​en Thinstation Linux.
  2. Sección Linux.
    1. Instalación de Ubuntu 14.04 x86.
    2. Instalación de Ubuntu 14.04 x64.
    3. Instalación de Ubuntu 12.04 x86.
    4. Instalación de Ubuntu 12.04 x64.
  3. Sección de ventanas.
    1. Instalación de Windows 2012.
    2. Instalación de Windows 7.
  4. Acronis.
    1. Windows PE con un paquete de software útil.
    2. Imagen verdadera de Acronis.
      1. BIOS retrocompatible.
      2. UEFI.
    3. Administrador de discos de Acronis.
      1. BIOS retrocompatible.
      2. UEFI.
  5. Rescate Kaspersky versión 10.
  6. ERD Commander 5 a 8 vía imagen ISO.
  7. prueba de memoria

Recogemos todo en un montón y despegamos.

Como kit de distribución para el servidor, la elección recayó en Ubuntu Server 14.04.2 LTS. Puede detenerse en cualquier otro sistema operativo, la diferencia estará solo en la sintaxis. Entonces empecemos. Necesitamos TFTP, DHCP (instalado opcionalmente en el mismo servidor, un enrutador puede actuar como un servidor DHCP), un servicio para organizar un sistema de archivos de red NFS. Consideraremos solo aquellos ajustes que nos interesen en el marco del tema. En primer lugar, instale todo lo que necesita, habiendo realizado previamente todas las actualizaciones:

Continúa disponible solo para miembros

Opción 1. Únase a la comunidad del "sitio" para leer todos los materiales en el sitio

¡La membresía en la comunidad durante el período especificado le dará acceso a TODOS los materiales de Hacker, aumentará su descuento acumulativo personal y le permitirá acumular una calificación profesional de Xakep Score!

Todos los que al menos ocasionalmente se dedican a la administración al menos una vez necesitaban instalar un sistema operativo en una computadora. Y a menudo todo sucede así: la imagen se descarga, se escribe en un disco o unidad flash, se carga e instala. Pero puede resultar que no haya una unidad flash o un disco a mano, y la instalación debe realizarse ayer ... Luego, puede iniciar a través de la red y no hay problemas particulares con Linux a este respecto. Una configuración típica es un montón DHCP, TFTP Y NFS. Pero no tenía un juego a mano. NFS, pero fue Samba. Así que tuve que descubrir cómo usar Samba en lugar de NFS.

Parece que no es nada de eso, cambié la configuración y listo, pero algo no funcionó al principio, tuve que chamanear...

Pero voy a empezar desde el principio aquí. Entonces, primero debe obtener un kit de distribución. Desde que ponemos Menta de Linux, buscando una imagen fresca . Descargamos el kit de distribución que nos conviene (yo instalé el que tiene COMPAÑERO, pero obviamente en realidad no importa). Después de descargar la imagen, debe acceder a los archivos de imagen. Algunas guías recomiendan desempaquetar la imagen, pero no veo el sentido de hacerlo, así que apoyo la opinión de que es para montar la imagen como bucle. Para no interferir con el orden existente, simplemente creamos un nuevo directorio, donde montamos la imagen:

# mkdir /mnt/menta
# mount -o loop /home/user/download/linuxmint-17-mate-64bit-v2.iso /mnt/mint

El siguiente paso es hacer que los archivos estén disponibles en la red para que el instalador los lea. Como dije anteriormente, tengo para este propósito Samba. Por lo tanto, abra el archivo de configuración y agregue un nuevo recurso compartido agregando la siguiente sección:


camino = /mnt/menta
disponible = si
navegable = sí
publico = si
escribible = no

Debería funcionar sobre la configuración predeterminada Samba. Si no funciona, lo más probable es que haya cambiado algo usted mismo, lo que significa que encontrará la forma de resolver el problema. Así que agregamos una pelota menta, a través del cual puede obtener archivos para la instalación desde la red. No olvides reiniciar Samba para aceptar la nueva configuración.

Para archlinux:

# systemctl reiniciar smbd
# systemctl reiniciar nmbd

Para Gentoo:

# /etc/init.d/samba reiniciar

A continuación, debe preparar el cargador de red. Este programa nos ayudará tftp-hpa. EN archlinux y en Gentoo el paquete se llama así. Debe colocar los archivos del cargador de arranque en el directorio de trabajo del servidor ftp (en arch /srv/tftp). Copie el kernel e initrd de la imagen montada allí:

# cp /mnt/mint/casper/(vmlinux,initrd.lz) /srv/http

# cp /usr/lib/syslinux/bios/(pxelinux.0,menu.c32,ldlinux.c32,libutil.c32) /srv/http

menú PREDETERMINADO.c32
ETIQUETA Linux Mint
NÚCLEO vmlinuz
ANEXO showmounts toram root=/dev/cifs boot=casper netboot=cifs nfsroot=//192.168.0.1/mint NFSOPTS=-oguest,ro initrd=initrd.lz nosplash

Dónde 192.168.0.1 - nuestra dirección IP relativa a la máquina en la que apostaremos. Ah, sí, y nfs allí - esto no es un error tipográfico, en el modo de operación con cifs, necesita pasar opciones de tipo como para nfs, No puedo decir por qué. Se debe prestar especial atención a la opción toram, porque sin ella todo se cae a la mitad y no podemos arrancar (tal vez esta sea una característica de samba). Pero con esta opción, debe recordar que la máquina de destino debe tener suficiente RAM para copiar el instalador allí. El servidor TFTP debe iniciarse. Para archlinux:

# systemctl tftpd.socket inicio

Para Gentoo:

# /etc/init.d/in.tftpd inicio

Ahora necesita decirle de alguna manera a la BIOS de la máquina de destino desde donde se carga. esto nos ayudara dnsmasq(aunque no necesariamente, puede usar otro servidor DHCP, aquí describo lo que tenía a la mano). Configurar la distribución de IP (opción gama dhcp) a su discreción, bajo su "red" entre máquinas. Para la instalación, solo necesitamos tres opciones:

dhcp-boot=/pxelinux.0
dhcp-option=proveedor:PXEClient,6,2b
pxe-service=x86PC, "Instalar Linux", pxelinux

Deben agregarse a la configuración. dnsmasq, y por supuesto ejecutarlo (o reiniciar).

Para archlinux:

# systemctl iniciar dnsmasq

Para Gentoo:

# /etc/init.d/dnsmasq inicio

Recuerde, para que todo funcione, es necesario que los puertos en DHCP(UDP 67,68), TFTP(UDP 69) Samba(UDP 137,138, TCP 139,445) debe estar abierto, asegúrese de tener esto en cuenta en la configuración de su firewall. Si no hay un firewall o la interfaz está completamente abierta, bueno, está bien, debería funcionar.

Nota: debido al hecho de que los sistemas se actualizan constantemente, las rutas de archivo dadas pueden no ser válidas, es decir, diferentes a las de su sistema. Por lo tanto, mire cuidadosamente la estructura del paquete de su sistema.