Saltar al contenido

¿Cómo creo una instalación completamente desatendida de Ubuntu Desktop 16.04.1 LTS?

Solución:

Respondiendo

Le di algo de tiempo desde que hice mi pregunta originalmente para ver si había otras soluciones, pero parece que la solución que se me ocurrió mientras esperaba es la única solución viable que he visto hasta ahora.

Idea equivocada

Dado que esta fue la fuente de mucha confusión, intentaré aclararla. Parece que algunas de las respuestas intentaron utilizar el Servidor Ubuntu 16 image cuando intentaba específicamente crear una instalación de imagen de escritorio de Ubuntu 16 desatendida. El problema surge debido a las diferencias de implementación de di (debian installer) y ubicuidad. Dado que la imagen del servidor prestará atención y utilizará todos los comandos di en el archivo de preconfiguración, la mayoría de las preguntas que hice son irrelevantes para la imagen del servidor. Sin embargo, debido a la implementación de ubicuidad como instalador de la imagen del escritorio, se ignoran muchos comandos di y usted es muy limitado y falta mucha documentación.

Enlaces de documentación encontrados

  • Aquí está el enlace para Ubiquity ignorando el preseed / late_command (creo que también ignora el preseed / early_command)
  • Aquí está la documentación de Ubiquity, habla sobre qué componentes del instalador no se usarán en Ubiquity, pero como notará incluso en esta documentación, dice preseed / early_command, pero lo probaría a fondo para verificarlo, ya que no parecía funcionar para yo (admito que no probé el early_command rigurosamente, así que puedo estar equivocado).

Proceso exitoso

Este es mi proceso para crear con éxito un Ubuntu Desktop 16.04 LTS desatendido Yo asi.

Monte Ubuntu ISO

Deberá montar los archivos ISO para poder editar los archivos pertinentes.

mkdir -p /mnt/iso
mount -o loop ~/Downloads/ubuntu-16.04.1-desktop-amd64.iso /mnt/iso

Copiar archivos ISO

Necesitaremos copiar los archivos en ISO montado a un directorio diferente para poder editarlos. Siéntase libre de usar cualquier directorio que desee, elegí el directorio / opt debido a otro procedimiento, pero / tmp podría usarse con la misma facilidad.

mkdir -p /opt/ubuntuiso
cp -rT /mnt/iso /opt/ubuntuiso

Edite el archivo txt.cfg

Aquí editaremos el archivo /opt/ubuntuiso/isolinux/txt.cfg y personalizaremos nuestros parámetros de arranque para obtener una instalación completamente desatendida que incluirá un archivo preconfigurado. Utilice cualquier editor de su elección:

#default live
#label live
#  menu label ^Try Ubuntu without installing
#  kernel /casper/vmlinuz.efi
#  append  file=/cdrom/preseed/ubuntu.seed boot=casper initrd=/casper/initrd.lz quiet splash ---
#label live-install
#  menu label ^Install Ubuntu
#  kernel /casper/vmlinuz.efi
#  append  file=/cdrom/preseed/ubuntu.seed boot=casper only-ubiquity initrd=/casper/initrd.lz quiet splash ---
#label check
#  menu label ^Check disc for defects
#  kernel /casper/vmlinuz.efi
#  append  boot=casper integrity-check initrd=/casper/initrd.lz quiet splash ---
#label memtest
#  menu label Test ^memory
#  kernel /install/mt86plus
#label hd 
#  menu label ^Boot from first hard disk
#  localboot 0x80

default live-install
label live-install
  menu label ^Install Ubuntu
  kernel /casper/vmlinuz.efi
  append  file=/cdrom/ks.preseed auto=true priority=critical debian-installer/locale=en_US keyboard-configuration/layoutcode=us ubiquity/reboot=true languagechooser/language-name=English countrychooser/shortlist=US localechooser/supported-locales=en_US.UTF-8 boot=casper automatic-ubiquity initrd=/casper/initrd.lz quiet splash noprompt noshell ---

Por favor, tome nota de algunas cosas:

  • Comenté todo el texto original del archivo.
  • Agregué todo el texto después e incluyendo “instalación en vivo predeterminada” en la parte inferior
  • Llamé al archivo de preselección “ks.preseed” y estará en el directorio de nivel superior de la ISO (/ opt / ubuntuiso)

Usar o crear un archivo preempaquetado

¡Utilice un archivo preconfigurado ya existente con precaución! No he encontrado ninguno que simplemente funcione. Esto no quiere decir que no existan, simplemente no encontré ninguno con bastante búsqueda. Hay muchas formas de configurar un archivo preconfigurado, pero encontré muchas opciones para ignorar, descritas en la Documentación de Ubiquity que vinculé arriba y en el enlace para preseed / late_command vs ubiquity / success_command. Incluyo mi archivo de preajuste de trabajo simple que funciona con el archivo txt.cfg anterior.

Para netcfg / get_hostname cadena y netcfg / get_domain cadena puedes poner lo que quieras que sea. Utilicé unassigned-hostname y unassigned-domain ya que lo cambiaré más tarde mediante un proceso de scripting.

Para cualquier comando personalizado que desee ejecutar después de la instalación, debe usar:

ubiquity ubiquity/success_command string

Seguido de cualquier comando que desee ejecutar. Preste atención a continuar las cadenas con “; “
y usando el “/objetivo” para cambiar cualquier cosa relacionada con el nuevo sistema instalado.

# Partitioning
# Old style using d-i command
#d-i partman-auto/disk string /dev/sda
#d-i partman-auto/method string regular
#d-i partman-lvm/device_remove_lvm boolean true
#d-i partman-md/device_remove_md boolean true
#d-i partman-auto/choose_recipe select atomic

# Newer ubiquity command
ubiquity partman-auto/disk string /dev/sda
ubiquity partman-auto/method string regular
ubiquity partman-lvm/device_remove_lvm boolean true
ubiquity partman-md/device_remove_md boolean true
ubiquity partman-auto/choose_recipe select atomic

# This makes partman automatically partition without confirmation
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true

# Locale
d-i debian-installer/locale string en_US
d-i console-setup/ask_detect boolean false
d-i console-setup/layoutcode string us

# Network
d-i netcfg/get_hostname string unassigned-hostname
d-i netcfg/get_domain string unassigned-domain
d-i netcfg/choose_interface select auto

# Clock
d-i clock-setup/utc-auto boolean true
d-i clock-setup/utc boolean true
d-i time/zone string US/Pacific
d-i clock-setup/ntp boolean true

# Packages, Mirrors, Image
d-i mirror/country string US
d-i apt-setup/multiverse boolean true
d-i apt-setup/restricted boolean true
d-i apt-setup/universe boolean true

# Users
d-i passwd/user-fullname string User
d-i passwd/username string user
d-i passwd/user-password-crypted password yourEncryptedPasswd
d-i passwd/user-default-groups string adm audio cdrom dip lpadmin sudo plugdev sambashare video
d-i passwd/root-login boolean true
d-i passwd/root-password-crypted password rootEncryptedPasswd
d-i user-setup/allow-password-weak boolean true

# Grub
d-i grub-installer/grub2_instead_of_grub_legacy boolean true
d-i grub-installer/only_debian boolean true
d-i finish-install/reboot_in_progress note

# Custom Commands
ubiquity ubiquity/success_command string 
  sed -i -e 's/dns=dnsmasq/#dns=dnsmasq/' /target/etc/NetworkManager/NetworkManager.conf ;
  cp -a /cdrom/scripts/ /target/root/ ;
  cp -a /cdrom/salt/ /target/root/

Tenga en cuenta estas cosas como las dejé con fines ilustrativos y es probable que sean diferentes en su comando de preselección.

  • Usted debe agregar la contraseña de usuario / root. Aquí está el enlace que le muestra 3 formas diferentes de crear una contraseña de Crypt 3.
  • Es posible que desee cambiar los grupos a los que está asignado su usuario.
  • Definitivamente querrá cambiar el success_command. Lo dejé para mostrar cómo se puede formatear y cómo usar el /objetivo medio ambiente.

Crear nueva ISO

Cree la ISO para que pueda probar su archivo preconfigurado. Si usa uno o hace el suyo propio, deberá probarlo, ya que esto PROBABLE sea ​​el lugar donde su proceso fallará. Escribí un script para pruebas rápidas, pero podría apuntar el archivo de preselección a un archivo de preselección alojado en http: // y probar muy rápidamente de esa manera.

mkisofs -D -r -V "UNATTENDED_UBUNTU" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o /tmp/ubuntu16-desktop-unattended-install.iso /opt/ubuntuiso

No dude en cambiar el nombre de la salida y el directorio en el que la guardará.

Grabar ISO

Sugeriría probar en virtualbox o similar y, una vez que lo tenga funcionando, lo grabe en un DVD. Ahora debería tener un DVD de instalación de Ubuntu Desktop 16.04 LTS sin supervisión que funcione.

Comentarios, correcciones, errores

Escribí todo esto de una vez y puede haber errores, errores tipográficos o cosas que se estropearon en el camino. Si alguien intenta esto, avíseme si encuentra un error en el proceso. Y recuerde que si crea su propio archivo preconfigurado, probablemente no podré responder por qué su instalación desatendida está rota y no funciona, ya que a la ubicuidad le gusta ignorar y no hacer ciertas cosas en el archivo preconfigurado. Espero que esto sea de ayuda para alguien.

Eche un vistazo a: https://github.com/core-process/linux-unattended-installation

Este proyecto proporciona todo lo que necesita para crear una instalación desatendida de una configuración mínima de Linux, mientras que mínima se traduce en la configuración más ligera, incluido un servicio OpenSSH y Python, que puede obtener del instalador estándar de una distribución de Linux. La idea es que usted hará todo el despliegue de sus configuraciones y servicios con la ayuda de Ansible o herramientas similares una vez que haya completado la configuración mínima.

Buen trabajo Brandon Authier por tu publicación e instrucciones, me ayudaste mucho.

Sin embargo, tuve un problema con su método: descubrí que después de que finaliza la instalación y la PC se reinicia, GRUB se cuelga.

Así que agregué al ks.preseed lo siguiente:

# Due notably to potential USB sticks, the location of the MBR can not be
# determined safely in general, so this needs to be specified:

d-i grub-installer/bootdev  string /dev/sda

# To install to the first device (assuming it is not a USB stick):
#d-i grub-installer/bootdev  string default

Esto evita que se bloquee la instalación de grub si no retira la memoria USB. Obtuve esto de https://www.debian.org/releases/stable/example-preseed.txt

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *