r4 - 13 Sep 2011 - 10:29:54 - AlvaroFernandezYou are here: TWiki >  Informatica Web  >  InfInt > LinuxNew > UbuntuEvaluation > PreseedIfic

Preseed como metodo de instalación Ubuntu en el Ific

Voy a intentar poner lo básico y de modo resumido

Instalación Ubuntu

Hay varios modos de instalación de Ubuntu, básicamente:

* Versión Desktop, el más común. Es un live CD con un instalador graifico basado en python (Ubiquity). También tiene un programa instalador para Windows (wubi)

* Versión Servidor, y Alternate: pensado para instalaciones a mayor escala, con instalador texto basado en d-i (Debian installer). Es el método fiable para hacer netboots

Más info: https://wiki.ubuntu.com/Installer/FAQ

Modos Instalación en IFIC

Preseed soporta varios modos, no todos de ellos son iguales lo que veo más facil para el IFIC

* Instalación desde CD o USB: hay que modificar las imágenes incluyendo la información de preseed. También se podría hacer un netboot cd/usb y que lea la info de preseed de un servidor

* Instalación automatizada en red: toda la información particula del IFIC de instalación/configuración reside en el servidor.

Utilizamos el basado en d-i, probando con la versión Alternate.

A realizar:

1) Configuración de paquetes automatizada. Se ha realizado correctamente en Prueba1 y Prueba2, probado un sistema base con afs. El método de Prueba2 es más versatil y puede configurar más cosas, incluso podemos crear scripts específicos

1.1) Productir una imagen CD: HECHO https://help.ubuntu.com/community/InstallCDCustomization

1.2) Incluir respositorio con paquetes customizados en la imagen CD: HECHO Notas con respecto al proceso: https://help.ubuntu.com/community/InstallCDCustomization#Modify_pool_structure_to_include_more_packages * Obviamente cambiar las referencias a la version ( en vez de "hardy" poner "lucid")

* En el punto "Create an "Extras" component", el directorio debe ser creado en el pool ( no en "dists/hardy/extras/binary-i386/pool/extras/")

cd /opt/cd-image
mkdir -p pool/extras

* En el punto "Building the repository with apt-ftparchive": deben seguirse todos los pasos aunque no se modifique main ( ya que realmente se incluye el paquete ubuntu keyring). Si no se hace así El proceso fallará y aparecerá en syslog el mensaje "ubuntu-keyring bad md5 sum

* El resto del proceso es igual

1.3) Productir una imagen USB:

2) Explorar Utilizar un repositorio extras del ific donde poner todos los paquetes a instalar comunes https://help.ubuntu.com/community/InstallCDCustomization#Modify%20pool%20structure%20to%20include%20more%20packages

3) Explorar el crear paquetes de configuración específicos: http://wiki.debian.org/ConfigPackages

Prueba 1: Instalación en red, versión Alternate, 1 fichero preseed

Probado instalando ubuntu en los guest de prueba cg01, cg02

En el servidor isn04 añadido la estructura de directorios necesaria /osinstall/preseed

Ventajas - Instalación probada correcta sistema base Ubuntu 10.04.2 con paquetes afs y celda ific

- toda la configuración reside en un fichero, modificacion del mismo fácil y centralizada

Limitación: - no se puede hacer modular, aunque se pueden cargar otros ficheros los parámetros se sobreescriben

Fichero PXE Al hacerse la instalación por red, el fichero preseed no está disponible hasta que no se ha configurado la misma. Por lo tanto hay que poner algunos parámetros ( locales, layoutcode) en la linea de comandos que se necesitan antes de configurar la red.

/osinstall/nbp/pxelinux.cfg/ubuntu_10.04.1_alternate_i386.cfg:

prompt 1
timeout 60
default localboot

LABEL localboot
        LOCALBOOT 0

label install
        kernel ubuntu_10.04.1_alternate_i386/ubuntu-installer/i386/linux
        append auto=true priority=critical preseed/url=http://147.156.116.165/preseed/example-preseed-ific.txt locale=es_ES.UTF-8 console-setup/layoutcode=es debian-installer/keymap=es netcfg/get_hostname= initrd=ubuntu_10.04.1_alternate_i386/ubuntu-installer/i386/initrd.gz -- quiet 

Fichero preseed Configuración de los parámetros a mano. Se puede obtener una idea

/osinstall/preseed/example-preseed-ific.txt

# Locale sets language and country.
#d-i debian-installer/locale string en_US
d-i     debian-installer/locale string  es_ES.UTF-8

# Escoja un país, territorio o área:
# Choices: Argentina, Bolivia, Chile, Colombia, Costa Rica, Ecuador, El Salvador, España, Estados Unidos, Guatemala, Honduras, México, Nicaragua, Panamá, Paraguay, Perú, Puerto Rico, República Dominicana, Uruguay, Venezuela, otro
d-i     localechooser/shortlist select  ES

...

* Método para obtener respuestas a las preguntas de configuración: Una vez instalado se pueden ejecutar los siguientes comandos para ver las respuestas a las preguntas del proceso de instalación. Utilizar este fichero de respuestas directamente no funciona, pero una vez instalado se puede utilizar como base para ver las respuestas a otros paquetes instalados. Es lo que he hecho con el fichero preseed-afs.

# Depending on what software you choose to install, or if things go wrong
# during the installation process, it's possible that other questions may
# be asked. You can preseed those too, of course. To get a list of every
# possible question that could be asked during an install, do an
# installation, and then run these commands:
#   debconf-get-selections --installer > file
#   debconf-get-selections >> file

Prueba 2: Instalación en red, versión Alternate, estructura ficheros preseed

Esta prueba intenta evitar la limitación de no poder hacer una configuración modular y poder instalar un tipo de paquetes u otros. Una primera aproximación es usar como base la estructura de ficheros preseed de un ejemplo de debian y modificala: http://www.hands.com/d-i/

Ventajas - Instalación probada correcta sistema base Ubuntu 10.04.2 con paquetes afs y celda ific - más modular, puede hacerse selecciones dependiendo de ejemplos

Limitación / Desventajas - ficheros preseed bastante más complicados

Fichero PXE Igual que el anterior, una prequeña diferencia es que el parámetro preseed/url contiene un "." para indicar desde donde tiene que tener en cuenta las rutas relativas, ya que si no hace referencia al raiz del servidor http

/osinstall/nbp/pxelinux.cfg/ubuntu_10.04.1_alternate_i386.cfg:

label handsoff
        kernel ubuntu_10.04.1_alternate_i386/ubuntu-installer/i386/linux
        append auto=true priority=critical dbg/flags=all-x dbg/pauses=all preseed/url=http://147.156.116.165/preseed/source/lucid/./preseed.cfg locale=es_ES.UTF-8 console-setup/layoutcode=es debian-installer/keymap=es netcfg/get_hostname= initrd=ubuntu_10.04.1_alternate_i386/ubuntu-installer/i386/initrd.gz -- quiet DEBCONF_DEBUG=5 

Ficheros preseed Como los parámetros preseed no permiten añadir y solo sobreescriben, internamente son scripts y actuan tambien sobre la "base de datos" del instalador.

hay toda una estructura en /osinstall/preseed/source ( la base en la bajada desde http://www.hands.com/d-i/ ) - Sobre esta hay un link de la version que estamos usando ( Ubuntu Lucid ) que toma como referencia la ubuntu squeeze: lucid -> squeeze/ Modificaciones:

- El fichero checksigs.sh ahora carga la configuracion particular del IFIC: # Should be adding a checksum from a signed checksum file here db_set preseed/include start.cfg example-preseed-ific.txt

- Las configuraciones base son las mismas que en el anterior ejemplo 1, es un link al mismo fichero: lrwxrwxrwx 1 root root 30 Jul 13 16:03 /osinstall/preseed/source/lucid/example-preseed-ific.txt -> ../../example-preseed-ific.txt

- Hay una estructura de clases modular, a la que he incluido: /osinstall/preseed/source/lucid/classes/ific /osinstall/preseed/source/lucid/classes/ific/afs/

/osinstall/preseed/source/lucid/classes/ific/afs/late_script

#!/bin/sh
set -e

echo 'debug: Running afs client installation...'

apt-install krb5-user openafs-krb5 openafs-client

echo "debug: afs client instllation completed successfully"

/osinstall/preseed/source/lucid/classes/ific/afs/preseed:

# alferca incluimos paquetes necesarios
#d-i pkgsel/include string krb5-user openafs-krb5 openafs-client
# ¿Desea ejecutar ahora el cliente Openafs y en el arranque?
openafs-client  openafs-client/run-client       boolean true
# for internal use
krb5-config     krb5-config/add_servers_realm   string  IFIC.UV.ES
# For internal use only
krb5-config     krb5-config/read_conf   boolean true
# ¿Desea crear dinámicamente los contenidos de «/afs»?
openafs-client  openafs-client/dynroot  boolean true
# ¿Desea cifrar el tráfico de autenticación con el servidor de archivos AFS?
openafs-client  openafs-client/crypt    boolean true
# La celda AFS de esta máquina pertenece a:
openafs-client  openafs-client/thiscell string  ific.uv.es
# Servidores de Kerberos para su reino:
krb5-config     krb5-config/kerberos_servers    string alpha.ific.uv.es
# Reino predeterminado de la versión 5 de Kerberos:
krb5-config     krb5-config/default_realm       string  IFIC.UV.ES
# Tamaño de la cache de AFS en kB:
openafs-client  openafs-client/cachesize        string  50000
# ¿Desea utilizar «fakestat» para evitar que se bloquee al listar «/afs»?
openafs-client  openafs-client/fakestat boolean true
# Escriba para la celda de «home» los nombres de los servidores de la base de datos:
openafs-client  openafs-client/cell-info        string
# ¿Desea buscar las celdas AFS en el DNS?
openafs-client  openafs-client/afsdb    boolean true
# ¿Desea añadir ubicaciones de los servidores predeterminados de Kerberos al archivo «/etc/krb5.conf»?
krb5-config     krb5-config/add_servers boolean true
# Servidor administrativo para su reino de Kerberos:
krb5-config     krb5-config/admin_server        string  alpha.ific.uv.es

-- AlvaroFernandez - 01 Aug 2011

Edit | WYSIWYG | Attach | PDF | Raw View | Backlinks: Web, All Webs | History: r4 < r3 < r2 < r1 | More topic actions
 
Powered by TWiki
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback