lunes, 28 de junio de 2010

Kickstart, creación de un servidor de instalación automatizada en Fedora 13

ACTUALIZACIÓN 29 Junio 2010: El procemiento funciona completamente. El problema con el instalador de Fedora 13 era debido al uso de virtualbox 3.2.4.
http://yoadminsis.blogspot.com/2010/06/virtual-box-326-actualizacion.html
Usando la versión 3.2.6 no hay problema.
ACTUALIZACIÓN 01 Julio 2010:He añadido a la sección de creación del fichero kickstart una imagen con la pantalla de un script de post instalación que automatiza la creación de un usuario. Todo el procedimiento está comprobado.

Vamos a ver como crear un servidor de instalación automatizada en Fedora 13 Goddard para que se instalen automáticamente nuevas máquinas solo conectándose a la red. Es algo extenso debido a que he detallado lo máximo posible.

Para ello necesitamos un servidor que tendrá:

  • Servidor DHCP: Servirá direcciones IP a las máquinas clientes y, además, les servirá las rutas donde se encuentran los ficheros necesarios para iniciar la instalación automatizada.
  • Servidor NFS: Compartirá los ficheros kickstart y el árbol de directorios de la imagen iso del sistema Fedora 13 Goddard.
  • Servidor tftp: Servidor de archivos ligero que contiene los ficheros que arrancan la instalación de forma automática.
Los clientes deben tener una tarjeta de red que pueda iniciar el proceso de instalación mediante la red (protocolo PXE).

Instalación del Servidor de Instalación

Lo primero que debemos hacer es instalar un sistema Fedora 13 y actualizarlo con yum update. Yo he elegido la configuración mínima y he creado una partición a parte de / y swap llamada /export para que contenga los ficheros necesarios de la instalación automatizada. Vamos a usar el DVD de Fedora como imagen iso, por tanto, un mínimo de 7-10GB es necesario para esta partición ya que contendrá el iso y el árbol de ficheros de instalación. Si vamos a tener más imágenes pues habrá que dar más espacio. La ip es 192.168.2.50/24 (la configuro como estática al elegir los repositorios de fedora13 y fedora13 updates en la instalación) Estoy usando VirtualBox 3.2.4 (da muchos problemas la instalación de Fedora 13, nota2).

Una vez instalado y actualizado completamente, añadimos un usuario para conectarnos por ssh desde el anfitrión, instalamos el servidor DHCP, el servidor NFS y kickstart. También levantamos la interfaz eth0.

[root@fedsrvins ~]# useradd -m -d /home/fjbejarano -s /bin/bash -c "Fran" fjbejarano
[root@fedsrvins ~]# passwd fjbejarano
Nueva contraseña:
[root@fedsrvins ~]# ifup eth0
[root@fedsrvins ~]# yum install nfs-utils system-config-kickstart dhcp tftp-server xinetd vim man tree nmap wget
[root@fedsrvins ~]# yum groupinstall 'Fuentes' 'Sistema de Ventanas X'
[root@fedsrvins ~]# init 6

Si os da algún error ver Nota1 al final. Esto nos instalará un montón de dependencias. Instalamos el servidor xorg para poder usar system-config-kickstart u otras aplicaciones gráficas mediante ssh. Al reiniciar, os saldrá una ventana para configurar la autenticación, red, teclado... configurad lo que necesitéis y salid. Para ver los grupos de instalación disponibles podéis usar yum grouplist.

Desde el ordenador anfitrión que ejecuta las máquinas virtuales (u otro ordenador remoto) nos conectamos a fedsrvins mediante ssh. Usamos -X para que cuando ejecutemos system-config-kickstart & nos salga la pantalla de configuración directamente en nuestro sistema anfitrión. Yo uso de anfitrión Kubuntu 10.04 LTS, como sabéis.

$ ssh -X fjbejarano@192.168.2.50
The authenticity of host '192.168.2.50 (192.168.2.50)' can't be established.
RSA key fingerprint is d8:23:c1:67:ff:90:f3:03:80:3a:4d:1a:0f:50:22:46.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.2.50' (RSA) to the list of known hosts.
fjbejarano@192.168.2.50's password: 
Last login: Mon Jun 21 13:53:06 2010 from 192.168.1.35
/usr/bin/xauth:  creating new authority file /home/fjbejarano/.Xauthority
[fjbejarano@fedsrvins ~]$ su - root
Contraseña: 
[root@fedsrvins ~]# 

A partir de ahora configuro el servidor de instalación a través de ssh, no directamente en la máquina virtual.

Configurar el servidor NFS en el Servidor de Instalación

Para una instalación por red usando NFS debemos copiar el ISO DVD de Fedora en el directorio que vamos a compartir. Podemos descargarlo de aquí http://fedoraproject.org/es/get-fedora-options#formats En el siguiente procedimiento uso wget para descargarlo pero si lo tenéis y lo copiáis mejor ya que son 3.1G. Compartimos /export para la red 192.168.2.0/24 en modo solo lectura.

[root@fedsrvins ~]# mkdir -p /export/Fed13
[root@fedsrvins ~]# chmod 777 /export/Fed13
[root@fedsrvins ~]# vim /etc/exports

/export            192.168.2.0/24(ro,sync)

[root@fedsrvins ~]# cd /export/Fed13/
[root@fedsrvins Fed13]# wget http://download.fedoraproject.org/pub/fedora/linux/releases/13/Fedora/i386/iso/Fedora-13-i386-DVD.iso
...
[root@fedsrvins Fed13]# ls -lah
total 3,1G
drwxrwxrwx. 2 root root 4,0K jun 22 13:17 .
drwxr-xr-x. 4 root root 4,0K jun 21 15:28 ..
-rw-r--r--. 1 root root 3,1G jun 22 13:09 Fedora-13-i386-DVD.iso

Configuramos el archivo /etc/sysconfig/nfs para descomentar los puertos necesarios que tenemos que abrir en el firewall iptables. Hay que descomentar las siguientes lineas del fichero.

[root@fedsrvins ~]# vim /etc/sysconfig/nfs

# TCP port rpc.lockd should listen on.
LOCKD_TCPPORT=32803
# UDP port rpc.lockd should listen on.
LOCKD_UDPPORT=32769

# Port rpc.mountd should listen on.
MOUNTD_PORT=892

# Port rpc.statd should listen on.
STATD_PORT=662

En la sección del firewall abriremos estos puertos y otros. Su usáis cuotas en nfs también deberéis descomentar el puerto necesario en este fichero y después añadir la regla al firewall.

Con esto hemos instalado el servidor NFS y hemos exportado el directorio /export para los clientes de la red 192.168.2.0/24 en modo solo lectura. Para comprobarlo hacemos lo siguiente y si todo ha ido bien lo habilitamos para que cargue al inicio con chkconfig.

[root@fedsrvins ~]# service nfs start
Inicio de los servicios NFS:                               [  OK  ]
Inicialización del demonio NFS:                            [  OK  ]
Inicialización de NFS mountd:                              [  OK  ]
[root@fedsrvins ~]# exportfs -rav
exporting 192.168.2.0/24:/export
[root@fedsrvins ~]# exportfs -v
/export         192.168.2.0/24(ro,wdelay,root_squash,no_subtree_check)
[root@fedsrvins ~]# chkconfig nfs on

Por último copiamos los archivos necesarios del ISO de Fedora 13 Goddard para usarlos como árbol de directorios en la instalación automatizada. Para ello debemos montar el ISO previamente.

[root@fedsrvins ~]# mount -o loop /export/Fed13/Fedora-13-i386-DVD.iso /mnt
[root@fedsrvins ~]# cp -Rp /mnt/* /export/Fed13/
[root@fedsrvins ~]# ls /export/Fed13/
GPL       media.repo  RPM-GPG-KEY-fedora             RPM-GPG-KEY-fedora-i386     RPM-GPG-KEY-fedora-x86_64
EFI                            images    Packages    RPM-GPG-KEY-fedora-13-primary  RPM-GPG-KEY-fedora-sparc    TRANS.TBL
Fedora-13-i386-DVD.iso         isolinux  repodata    RPM-GPG-KEY-fedora-13-SPARC    RPM-GPG-KEY-fedora-sparc64
[root@fedsrvins ~]# umount /mnt

Después de haber copiado y desmontado el ISO, podemos eliminarlo para liberar los 3.1 GB de espacio. Yo lo dejo ya que dispongo de 10G en /export.

Configurar el archivo Kickstart

Si hemos seguido los pasos anteriores y hemos conectado con ssh -X al servidor de instalación Fedora13, al ejecutar system-config-kickstart nos debería salir la ventana de configuración en nuestro escritorio (kubuntu en mi caso) Esta ventana sale en nuestro escritorio pero todo lo que se ejecuta y vemos es sobre el servidor de instalación.

[root@fedsrvins ~]# system-config-kickstart &

En la ventana que se abre pulsamos Archivo--> Abrir Archivo y seleccionamos el fichero anaconda-ks.cfg. Este fichero es el que usó el instalador anaconda de Fedora cuando instalamos el sistema fedsrvins. Cuando instalamos un sistema, anaconda siempre crea un fichero kickstart de la instalación en /root. Al cargar los datos que usamos en la instalación del servidor de instalación, ya tendremos algunas opciones puestas y será más sencillo.

Configuración Básica: Ponemos nuestro idioma, zona horaria, etc. Encriptamos la contraseña de root para que no se vea en el fichero resultante kickstart. Cambiamos la contraseña de root para que no sea la misma que la del servidor de instalación y ponemos reiniciar el sistema cuando acabe la instalación. Esto último es importante para que el sistema no se quede en espera cuando acabe. Podemos hacer click en las imágenes para verlas más grandes.


Método de Instalación: Aquí usaremos el servidor NFS que instalamos anteriormente. Pondremos la IP (o nombre de host) y el directorio NFS donde tenemos la imagen ISO que se usará. Cuidado con acabar el directorio con /, no lo acabéis con una barra u os dará error.



Opciones del Gestor de Arranque: Aquí elegimos las opciones del grub. Lo ponemos como está en la imagen o cambiamos lo que queramos.



Información de las Particiones: Como vamos a usar este fichero para instalar máquinas virtuales de escritorio de Fedora 13 nuevas, vamos a poner que borre la MBR, las particiones e inicialice los discos. Así tendremos un disco nuevo para crear las particiones como queramos. Yo uso discos de expansión dinámicos de 20GB (en virtualbox 3.2.4) y RAM de 512 MB. Vosotros podéis adecuar las particiones al tamaño de los discos que tengáis y la swap a la RAM que tengáis en vuestro ordenador físico o máquina virtual. Yo uso una partición primaria / de 8Gb, la swap la pongo en tamaño recommended y también primaria y luego pongo la partición /home primaria y de tamaño "Rellenar todo el espacio del disco" así usa hasta el final del disco (aunque ponga 1 de tamaño). El sistema de ficheros es ext4. Esto lo elegimos para cada partición con el boton Añadir, dejándolo así en mi caso:


Configuración de red: Aquí modificamos eth0 para que use DHCP. Nos saldrá la ip estática de fedsrvins ya que abrimos el fichero anaconda-ks.cfg, si queremos usar una ip estática en eth0 debemos dar a modificar y cambiar la ip para que no sea la misma que la de fedsrvins.


Autenticación: Aquí no cambiamos nada en mi caso (si usáis servidores de autenticación podeis adecuarlo). Yo lo dejo como se creó en la instalación estándar de Fedora 13 en fedsrvins (anaconda-ks.cfg)


Configuración del cortafuegos: Yo deshabilito SELinux y dejo habilitado el cortafuegos permitiendo ssh (para poder gestionarla remotamente) y www (puerto 80) porque suelo usarlos. Vosotros podéis modificarlo como mejor os convenga según vuestra seguridad.


Configuración de Pantalla: Aquí configuramos si queremos entorno gráfico. En mi caso si que lo quiero pero si fuera a instalar servidores en vez de escritorios, convendría deseleccionar el sistema X window. El agente es el asistente que sale cuando se reinicia el sistema por primera vez y nos permite añadir nuestro usuario y algunas cosas más. Yo lo he deshabilitado.


Selección de paquetes: Aquí seleccionaremos los paquetes que queramos que se instalen en nuestro sistema nuevo. Cada uno los que quiera. Yo en principio he seleccionado el entorno gnome, algunos de productividad como openoffice, gimp, etc. Incluso Puppet :-). Cuando seleccionamos un conjunto de paquetes podemos seleccionar paquetes adicionales dando al boton de abajo a la derecha "Paquetes Opcionales".


Por último, podemos configurar scripts de pre y post instalación. Por ejemplo, podemos crear un directorio con mkdir, montarlo un directorio remoto nfs, samba, etc. en ese directorio, ejecutar un script que tengamos guardado en ese servidor remoto (crear usuarios por ejemplo), desmontarlo y borrar el directorio. (No se han de poner el %pre o %post en la ventana donde escribimos el script, lo hace system-config-kickstart automáticamente) En este caso he creado un post script que crea un usuario (linea 1), le pone una contraseña "password" automáticamente (linea 2) y la hace expirar (linea 3) Con esto, cuando reinicie el sistema después de la instalación, en el login gráfico podremos iniciar con el usuario que queramos. Al introducir la contraseña "password" nos dirá que ha expirado y que cambiemos la contraseña por una nueva y, una vez cambiada por el usuario, entrara al escritorio con ese usuario y contraseña nuevas. Creo que es bastante útil para la automatización.



Y con esto hemos acabado la configuración del archivo kickstart. Le damos a Archivo-->Guardar y lo guardamos en la carpeta /export/Fed13 con el nombre que elijamos.


Por último, añadimos los repositorios al archivo y le damos un nombre de host. Abrimos con vim el archivo y añadimos SOLO las lineas u opciones en negrita si no están. Las lineas con letra normal ya están en el fichero, las pongo para que se vea la ubicación. El nombre de host se lo da por DHCP pero tampoco está mal ponerlo aquí.

...
# Use NFS installation media
nfs --server=192.168.2.50 --dir=/export/Fed13
repo --name="Fedora 13 - i386" --baseurl=http://ftp.udc.es/fedora/linux/releases/13/Everything/i386/os/
repo --name="Fedora 13 - i386 - Updates"  --baseurl=http://ftp.udc.es/fedora/linux/updates/13/i386/
# Root password
...
# Network information
network  --bootproto=dhcp --device=eth0 --hostname=feddesk01 --onboot=on

Este paso de los repositorios podéis saltarlo si queréis que se instale la versión del DVD sin actualizaciones. Si queréis que se instale actualizado hacedlo. Al final pondré el archivo kickstart completo.

Configuración de tftp

Tftp junto con DHCP son necesarios para poder arrancar el sistema por PXE (Pre-boot eXecution Enviroment) Tftpd se gestiona a través de xinetd. Podemos configurar el tftpd en el archivo siguiente

# cat /etc/xinetd.d/tftp
 
# default: off
# description: The tftp server serves files using the trivial file transfer \
#       protocol.  The tftp protocol is often used to boot diskless \
#       workstations, download configuration files to network-aware printers, \
#       and to start the installation process for some operating systems.
service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot
        disable              = no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

Inicialmente, el directorio donde se sirven los ficheros está definido con server_args, la opción -s. Nosotros vamos a dejarlo como está, en /var/lib/tftpboot.

Necesitamos crear unos directorios y copiar algunos archivos del árbol de directorios y de syslinux en el directorio del servidor tftpd.

[root@fedsrvins ~]# mkdir /var/lib/tftpboot/linux-install
[root@fedsrvins ~]# mkdir /var/lib/tftpboot/linux-install/msgs
[root@fedsrvins ~]# mkdir /var/lib/tftpboot/linux-install/Fed13
[root@fedsrvins ~]# mkdir /var/lib/tftpboot/linux-install/pxelinux.cfg
[root@fedsrvins ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/linux-install/
[root@fedsrvins ~]# cp /export/Fed13/isolinux/*.msg /var/lib/tftpboot/linux-install/msgs/
[root@fedsrvins ~]# cp /export/Fed13/images/pxeboot/initrd.img /var/lib/tftpboot/linux-install/Fed13/
[root@fedsrvins ~]# cp /export/Fed13/images/pxeboot/vmlinuz /var/lib/tftpboot/linux-install/Fed13/

En este momento he creado 1 máquina virtual llamada feddesk01 en virtualbox 3.2.4 para obtener la mac, ya que en el directorio /var/lib/tftpboot/linux-install/pxelinux.cfg crearemos ficheros llamados como la mac. Pongo las imágenes relevantes de virtualbox. En ella se muestra la mac. Si es un ordenador físico, usad la mac de la tarjeta de red. El orden de arranque, puesto que se reiniciará el sistema al acabar, debería tener primero el disco duro y después la red para que cuando reinicie no vuelva a reinstalarse desde la red.



Por cada máquina virtual u ordenador físico hay que crear un fichero de configuración en pxelinux.cfg llamado como la mac o como la dirección ip en hexadecimal... (aunque parece que no es necesario en Fedora13). Creamos el fichero default con el siguiente contenido

[root@fedsrvins ~]#vim /var/lib/tftpboot/pxelinux.cfg/default

default installpxei386
timeout 300
prompt 1

display msgs/boot.msg

label installpxei386
        kernel Fed13/vmlinuz
        append initrd=Fed13/initrd.img ip=dhcp ks=nfs:192.168.2.50:/export/Fed13/desktops_i386_fedora13-ks.cfg

Si no se encuentra un fichero llamado como la mac, cogerá el fichero default.

[root@fedsrvins /]# cp /var/lib/tftpboot/linux-install/pxelinux.cfg/default /var/lib/tftpboot/linux-install/pxelinux.cfg/08-00-27-40-ef-22

[root@fedsrvins /]# tree /var/lib/tftpboot/
/var/lib/tftpboot/
└── linux-install
    ├── Fed13
    │   ├── initrd.img
    │   └── vmlinuz
    ├── msgs
    │   └── boot.msg
    ├── pxelinux.0
    └── pxelinux.cfg
        ├── 08-00-27-40-ef-22
        └── default

4 directories, 6 files

Configuración de DHCP

Por último, nos queda configurar el servidor DHCP que servirá las direcciones de las carpetas donde están los ficheros kickstart y las imágenes iso. Además proporcionará una IP al sistema dentro de la red 192.168.2.0/24. Esto se hará cuando el cliente contacte con el servidor DHCP mediante la mac en el momento del arranque con PXE. VirtualBox 3.2.4 soporta este modo de arranque.

Podemos ver las opciones de dhcp en /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample o man dhcpd.conf.

[root@fedsrvins ~]# vim /etc/dhcp/dhcpd.conf

#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.sample
#   see 'man 5 dhcpd.conf'

deny unknown-clients;
authoritative;

allow bootp;
allow booting;


## Subred que gestiona el servidor DHCP y opciones de red.

subnet 192.168.2.0 netmask 255.255.255.0 {

        option domain-name              "midominio.com";
        option domain-name-servers      80.58.61.250; # podemos poner los DNS de nuestra red si tenemos separados por comas.
        option broadcast-address        192.168.2.255;
        option routers                  192.168.2.120; # los routers

}

group {
        next-server 192.168.2.50;               # IMPORTANTE: Nombre o IP del servidor tftp
        filename "linux-install/pxelinux.0";    # IMPORTANTE: Nombre del programa que inicia el arranque

        # Habrá que añadir un conjunto de sentencias host por cada host en el que
        # vayamos a ejecutar el arranque automatizado. Ponemos la mac y le asignamos
        # una IP fija.
        host  feddesk01 {
                option host-name feddesk01;
                hardware ethernet 08:00:27:40:EF:22;
                fixed-address 192.168.2.71;
        }

        #host  feddesk02 {
                #option host-name feddesk02.midominio.com;
                #hardware ethernet 08:00:27:1D:9F:87;
                #fixed-address 192.168.2.72;
        #}
}

Por último añadimos el servicio al inicio e iniciamos dhcp. Habrá que añadir los puertos al firewall.

[root@fedsrvins ~]# chkconfig dhcpd on
[root@fedsrvins ~]# service dhcpd start
Iniciando dhcpd:                                           [  OK  ]

Configuración del Firewall IPtables

Añadimos las reglas a iptables para abrir los puertos necesarios. No he puesto restricciones de direcciones ip de destino o ip de inicio para que sea menos complejo. Añado las regas comentadas con # Para. Este fichero se genera al usar system-config-firewall y este borrará todo lo que hemos añadido manualmente así que si lo instalamos y usamos (que no es mi caso) borrará esto y, por tanto, debereis añadir los puertos mediante la herramienta gráfica.

[root@fedsrvins ~]# vim /etc/sysconfig/iptables

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT

# Para NFS
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2049 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 2049 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 111 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 111 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 662 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 662 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 892 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 892 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 32803 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 32769 -j ACCEPT

# Para dhcp
-A INPUT -m state --state NEW -m udp -p udp --dport 67 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 68 -j ACCEPT

# Para tftp
-A INPUT -m state --state NEW -m udp -p udp --dport 69 -j ACCEPT

# Para ssh, ya estaba añadido desde la instalación
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

Por último reiniciamos el firewall

[root@fedsrvins ~]# service iptables restart
iptables: Guardando las reglas del cortafuegos:            [  OK  ]
iptables: Poniendo las cadenas de la política ACCEPT: filte[  OK  ]
iptables: Descargando módulos:                             [  OK  ]
iptables: Aplicando reglas del cortafuegos:                [  OK  ]

Instalación del Cliente

Lo único que nos queda es iniciar el cliente para que se instale automáticamente. En mi caso inicio la máquina virtual feddesk01. En un ordenador físico debéis activar el arranque por red, seguramente en la BIOS. Si os da el error de kernel corrupto o inválido, vais al directorio /var/lib/tftpboot/linux-install/Fed13 del servidor de instalación y volvéis a descargar vmlinuz e initrd.img así. Es que se han copiado mal los ficheros.

[root@fedsrvins Fed13]# wget http://download.fedora.redhat.com/pub/fedora/linux/releases/13/Fedora/i386/os/images/pxeboot/initrd.img
[root@fedsrvins Fed13]# wget http://download.fedora.redhat.com/pub/fedora/linux/releases/13/Fedora/i386/os/images/pxeboot/vmlinuz

Y por último, todo debería funcionar e instalarse el sistema automáticamente.

Apéndice: Fichero Kickstart completo usado "desktops_i386_fedora13-ks.cfg"

[root@fedsrvins ~]# cat /export/Fed13/desktops_i386_fedora13-ks.cfg
 
#platform=x86, AMD64 o Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --enabled --http --ssh --service=http,ssh,http,ssh,ssh
# Install OS instead of upgrade
install
# Use NFS installation media
nfs --server=192.168.2.50 --dir=/export/Fed13
repo --name="Fedora 13 - i386" --baseurl=http://ftp.udc.es/fedora/linux/releases/13/Everything/i386/os/
repo --name="Fedora 13 - i386 - Updates" --baseurl=http://ftp.udc.es/fedora/linux/updates/13/i386/
# Root password
rootpw --iscrypted $1$P6DSsLYK$O5CJS.dob/pz/q/MF1G2w/
# Network information
network  --bootproto=dhcp --device=eth0 --onboot=on
# System authorization information
auth  --useshadow  --passalgo=sha512 --enablefingerprint
# Use graphical install
graphical
firstboot --disable
# System keyboard
keyboard es
# System language
lang es_ES
# SELinux configuration
selinux --disabled
# Installation logging level
logging --level=info
# Reboot after installation
reboot
# System timezone
timezone --isUtc Europe/Madrid
# System bootloader configuration
bootloader --append="rhgb quiet" --location=mbr --driveorder="sda"
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel 
# Disk partitioning information
part / --fstype="ext4" --size=8000
part swap --fstype="swap" --recommended
part /home --fstype="ext4" --grow --size=1

%post
useradd -m -d /home/fjbejarano -s /bin/bash -c "Administrador del Sistema" fjbejarano
echo password | passwd --stdin fjbejarano
chage -d 0 fjbejarano
%end

%packages
@admin-tools
@authoring-and-publishing
@base
@base-x
@books
@core
@editors
@engineering-and-scientific
@font-design
@fonts
@gnome-desktop
@graphical-internet
@graphics
@hardware-support
@input-methods
@java
@office
@online-docs
@printing
@sound-and-video
@spanish-support
@system-tools
PackageKit-command-not-found
gdm
gok
inkscape
man-pages-es-extra
puppet
system-config-network
-ibus-pinyin-open-phrase

%end


NOTA1: Si os da el siguiente error error: rpmdbNextIterator: omitiendo h# 18 CabeceraV3 RSA/SHA256 Signature, ID de clave e8e40fde: BAD podemos solucionarlo con lo siguiente y despúes ejecutar el yum install y yum groupinstall que queramos hacer para que instale bien.
[root@fedsrvins ~]# rpmdb --rebuilddb
error: rpmdbNextIterator: omitiendo h#      18 CabeceraV3 RSA/SHA256 Signature, ID de clave e8e40fde: BAD
[root@fedsrvins ~]# yum clean all
Limpiando todo
[root@fedsrvins ~]# rpmdb --rebuilddb

Si os da algún error Segment Fault al ejecutar system-config-kickstart, reinstalar gtk2.

NOTA2: Es increible la cantidad de problemas que da Fedora al instalarse en virtualbox. Cada instalación un problema diferente. No se si es problema de drivers o que pero es desesperante. Unas veces se instala con los reposiorios mal, otras veces sin los módulos del kernel cargados, otras se queda bloqueado, otras no funciona xorg y siempre la misma instalación idéntica... en fin. Nunca me han gustado Fedora/Redhat, si Debian/Ubuntu y derivados por estos temas. Siempre falla alguna chorradita que te hace perder el tiempo... como en Solaris 10, te tiras más tiempo configurando el teclado o la pantalla que haciendo cosas... ya me he desahogado jeje. Me desahogo porque me he tirado más tiempo con las instalaciones del servidor de instalación que escribiendo el tutorial.
Related Posts with Thumbnails