Universidad Central “Marta Abreu” de Las Villas
Facultad de Ingeniería Eléctrica
Departamento de Telecomunicaciones y Electrónica
TRABAJO DE DIPLOMA
“Instalación y configuración desatendida de sistemas
operativos utilizando herramientas basadas en
software libre”
Autor: Richard Paul Chao Núñez
Tutores: MSc. Miriel Martín Mesa
MSc. Arelys Ramos Fleites
Santa Clara
2012
"Año 54 de la Revolución"
Universidad Central “Marta Abreu” de Las Villas
Facultad de Ingeniería Eléctrica
Departamento de Telecomunicaciones y Electrónica
TRABAJO DE DIPLOMA
“Instalación y configuración desatendida de sistemas
operativos utilizando herramientas basadas en
software libre”
Autor: Richard Paul Chao Núñez
Tutores: MSc. Miriel Martín Mesa
MSc. Arelys Ramos Fleites
Santa Clara
2012
"Año 54 de la Revolución"
Hago constar que el presente trabajo de diploma fue realizado en la Universidad
Central “Marta Abreu” de Las Villas como parte de la culminación de estudios de la
especialidad de Ingeniería en Telecomunicaciones y Electrónica, autorizando a
que el mismo sea utilizado por la Institución, para los fines que estime
conveniente, tanto de forma parcial como total y que además no podrá ser
presentado en eventos, ni publicados sin autorización de la Universidad.
Firma del Autor
Los abajo firmantes certificamos que el presente trabajo ha sido realizado según
acuerdo de la dirección de nuestro centro y el mismo cumple con los requisitos
que debe tener un trabajo de esta envergadura referido a la temática señalada.
Firma del Autor
Firma del Jefe de
Departamento donde se
defiende el trabajo
Firma del Responsable de
Información Científico-Técnica
i
PENSAMIENTO
"La ignorancia afirma o niega rotundamente; la ciencia duda".
Voltaire
ii
DEDICATORIA
A mis padres por creer en mí siempre.
A mis hermanos por su aporte sin medida.
A mi tío por su apoyo incondicional.
A mis amigos por estar ahí sin desesperarse.
iii
AGRADECIMIENTOS
Quiero agradecer a todos aquellos que confiaron en mí y que se mantuvieron a
mi lado aun en los momentos más difíciles.
A mis tutores por comprenderme y ayudarme, sin ellos hubiera
sido imposible lograr este trabajo.
A todas ellas que dejaron una huella profunda en mí.
A mis compañeros de Aula con los que compartí estos años.
A Roca y Bustillo por estar siempre disponibles.
Y un agradecimiento especial para:
Mis padres por tanta consagración.
Mis amigos Adiam, Adonys, Reinaldo, Vladimir, Víctor que
fueron cómplices de momentos inolvidables.
Y para ti mi complemento, por entenderme.
iv
TAREA TÉCNICA
Para la confección de este trabajo se realizaron las siguientes tareas:
• Una búsqueda minuciosa en Internet y la consulta de distintas formas de
bibliografía especializada sobre diferentes aplicaciones desarrolladas y los
métodos empleados hasta la actualidad.
• Implementación de algoritmos de instalación basados en la plataforma
GNU\Linux.
• Creación y montaje de uno o varios servidores capaces de gestionar las
instalaciones desatendidas y las configuraciones automatizadas de los sistemas
operativos y sus aplicaciones.
• Análisis de los resultados obtenidos y elaboración del informe final.
Firma del Autor Firma del Tutor
v
RESUMEN
En el mundo actual donde cada día es más difícil tener acceso a tecnologías
básicas para el buen desempeño de un sistema académico en el que las
necesidades son irremediablemente cambiantes mientras que los recursos
disponibles permanecen estables, resulta necesario encontrar una solución que
permita gestionar de forma automática y desatendida un gran número de
servidores, computadoras, sus redes, sus servicios y sus usuarios mediante la
implementación y configuración de un servidor utilizando una tecnología basada
en software libre. Este proyecto pretende demostrar su viabilidad mediante la
aplicación en la Universidad Central “Marta Abreu” de las Villas.
vi
TABLA DE CONTENIDOS
Contenido
PENSAMIENTO ....................................................................................................... i
DEDICATORIA ....................................................................................................... ii
AGRADECIMIENTOS ............................................................................................ iii
TAREA TÉCNICA .................................................................................................. iv
RESUMEN .............................................................................................................. v
TABLA DE CONTENIDOS .................................................................................... vi
INTRODUCCIÓN .................................................................................................... 1
CAPÍTULO I ............................................................................................................ 3
1.1 Introducción .............................................................................................................. 3
1.2 Protocolos utilizados en instalaciones desatendidas .............................. 4
1.3 Variantes en la instalación de computadoras ............................................. 7
1.4 Instalación no atendida ..................................................................................... 8
1.5 GNU/Linux ........................................................................................................... 10
1.5.1 RedHat Linux ............................................................................................... 10
1.5.1 Kickstart .......................................................................................................... 11
1.5.2 SYSLINUX ....................................................................................................... 12
1.5.3 GRUB ................................................................................................................ 13
1.5.4 Partimage y Clonezilla ................................................................................. 13
1.5.6 Puppet .............................................................................................................. 14
1.5.7 Samba ............................................................................................................... 15
vii
1.6 Microsoft ................................................................................................................. 16
1.6.1 Herramienta AutoIt ....................................................................................... 16
1.6.2 Herramienta Setup Manager Wizard ........................................................ 18
1.6.3 Herramienta Symantec Ghost ................................................................... 18
1.6.4 Herramienta nLite ........................................................................................ 20
1.7 Problemas de rápida solución con la instalación no atendida ............... 21
1.8 Observaciones y soluciones para la implementación de un sistema
automatizado ................................................................................................................. 22
1.9 Conclusiones ........................................................................................................ 24
CAPITULO II ......................................................................................................... 25
2.1 Introducción .......................................................................................................... 25
2.2 Requisitos para realizar la instalación desatendida mediante software
libre ……………………………………………………………………………………25
2.3 Estado inicial (Requisitos mínimos del ordenador) ................................ 26
2.4 El servidor de instalaciones .............................................................................. 27
2.4.1 Debian y Ubuntu ............................................................................................ 28
2.4.2 Servidor DHCP ............................................................................................... 29
2.4.3 Servidor TFTP ................................................................................................ 30
2.4.4 Gestión de arranque de red (Syslinux) ................................................... 31
2.4.5 Puppetmaster ................................................................................................. 34
2.4.6 Windows .......................................................................................................... 35
2.4.7 Samba .............................................................................................................. 36
2.5 Servicio al usuario ............................................................................................... 36
2.6 Conclusiones ........................................................................................................ 37
CAPITULO III ........................................................................................................ 39
viii
3.1 Introducción........................................................................................................ 39
3.2 Problemática Universidad Central “Marta Abreu” de las Villas .............. 39
3.2.1 Tiempo de instalaciones .......................................................................... 41
3.3 Caso Universidad .............................................................................................. 42
3.4 Conclusiones...................................................................................................... 49
CONCLUSIONES Y RECOMENDACIONES ........................................................ 50
Conclusiones ................................................................................................................ 50
Recomendaciones ....................................................................................................... 52
REFERENCIAS BIBLIOGRÁFICAS ..................................................................... 53
ANEXOS ............................................................................................................... 55
Anexo I ............................................................................................................................ 55
Anexo II ........................................................................................................................... 56
Anexo III .......................................................................................................................... 56
Anexo IV ......................................................................................................................... 57
Anexo V .......................................................................................................................... 57
Anexo VI ......................................................................................................................... 58
INTRODUCCIÓN 1
INTRODUCCIÓN
Con los avances tecnológicos logrados en los últimos años, las computadoras
modernas han evolucionado vertiginosamente, uno de estos logros es la
incorporación de una tarjeta de red inteligente que permite despertarlas y
gestionar sus múltiples aplicaciones a distancia. Utilizando este dispositivo se
puede lograr una gestión desatendida y automatizada ahorrándose recursos y
tiempo en el trabajo diario de una red, aspectos necesarios para garantizar la
calidad y confiabilidad del trabajo de un administrador de redes.
El objetivo de este proyecto es la implementación de un sistema centralizado que
sea capaz de realizar el mantenimiento automático de los sistemas operativos de
un gran número de ordenadores, tanto de servidores de red como de máquinas de
usuario, utilizando funciones que incorporan estas tarjetas modernas, como PXE y
combinándolas con programas para sistemas operativos basados en GNU\Linux,
logrando crear una herramienta con funciones centralizadas de instalaciones
desatendidas o automatizadas para los sistemas operativos Microsoft Windows
XP, Ubuntu y Debian, eliminando el método actual de instalaciones manuales, tan
lento y engorroso.
Con este fin, se realiza el estudio y análisis de diferentes aplicaciones que se han
desarrollado utilizando software libre para la simplificación de las tareas de
administración con el objetivo de lograr un mayor aprovechamiento de los recursos
disponibles.
Este informe está conformado por tres capítulos:
INTRODUCCIÓN 2
Capítulo I: Se hace mención a las diferentes herramientas existentes para
la configuración de un servidor capaz de realizar por sí mismo diferentes
tipos de instalaciones. Se habla de la importancia de este tipo de servicio,
así como de su utilidad en múltiples lugares.
Capitulo II: Se explican cada uno de los pasos a realizar en el
procedimiento de la instalación no atendida y automatizada y los tipos de
dispositivos que se pueden utilizar para realizar este proceso, destacando
sus ventajas y desventajas.
Capítulo III: Se describe la implementación de un servidor maestro para
realizar instalaciones desatendidas y automatizadas usando software libre.
Conclusiones.
Recomendaciones para mejorar los resultados obtenidos.
Bibliografía.
Anexos.
CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 3
CAPÍTULO I
1.1 Introducción
Los sistemas operativos y las computadoras constituyen un elemento básico en el
desempeño diario del hombre moderno, tanto así que no existe un aspecto de la
sociedad actual donde directa o indirectamente no estén presentes.
La mayor parte de los ordenadores que existen están diseñados de forma que
puedan ejecutar diversas tareas o programas, estos programas pueden ir desde
un procesador de textos hasta la animación de gráficos tridimensionales o la
creación de distintos tipos de juegos, además para su correcto funcionamiento
deben ser capaces de acceder a los recursos del ordenador, como por ejemplo
escribir o leer datos en un disco duro, mostrar un gráfico por pantalla, etc. Es
evidente que si cada programa actuase de una forma independiente existirían
graves problemas y conflictos, puesto que, por ejemplo, tendrían libertad para
escribir sus datos sobre los de otro o intervenir y errar el significado de una orden.
Para solucionar este tipo de problemas se desarrollaron los sistemas operativos,
los cuales aportan mecanismos y reglas básicas de funcionamiento, de forma que
los programas puedan acceder a los recursos del ordenador de una forma
adecuada. Aunque ésta fue la funcionalidad inicial de los sistemas operativos, con
el tiempo se han añadido otras muchas, como el control de la memoria del
ordenador, la creación de interfaces gráficas de usuario y el requerimiento de más
espacio para almacenamiento.
Desde el surgimiento del primer ordenador personal ha existido la necesidad de
interconectar varios de estos equipos con vistas al intercambio de información
dada la necesidad de comunicación existente. En los inicios la centralización de
los equipos más costosos y poderosos era una obligación. Estos casi siempre se
usaban para dar servicio a otros que se denominaban terminales.
El arranque remoto era muy utilizado en la década de los 80 en ordenadores con
sistema operativo UNIX, sin embargo, en el mundo de la computadora personal,
esta técnica era relativamente desconocida hasta la década de los 90. En esta
época comenzaron a surgir los primeros proyectos que permitían a una PC
CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 4
(Personal Computer) arrancar desde un sistema que proveía el servicio a través
de la red valiéndose del programa almacenado en una pequeña memoria
EEPROM (Electrically-Erasable Programmable Read-Only Memory) que se
alojaba en su adaptador de red. Esto permitió que los sistemas que utilizaran este
tipo de facilidades dispusieran de un entorno repetible y mucho más flexible de lo
habitual. Pero esta configuración estaba limitada a un único sistema operativo, que
por aquellas fechas era de los pocos disponibles para PCs: el MS-DOS.
Para realizar la configuración del dispositivo de red se habían desarrollado dos
protocolos: RARP (Reverse Adresses Resolution Protocol) y BOOTP (Bootstrap
Protocol)(Croft, 1985), mientras que para realizar las transferencias de programas
se utilizaba muy comúnmente TFTP (Trivial File Transfer Protocol) que era un
subconjunto del protocolo FTP (File Transfer Protocol) y funcionaba sobre UDP
(User Datagram Protocol) e IP (Internet Protocol).
1.2 Protocolos utilizados en instalaciones desatendidas
Protocolo BOOTP
BOOTP es un protocolo que se transporta sobre UDP, utilizado por los clientes de
red para obtener su dirección IP automáticamente. Normalmente se realiza en el
proceso de arranque de los ordenadores o del sistema operativo, donde los
servidores BOOTP asignan una dirección IP de un conjunto disponible a cada
cliente, con un tiempo de uso.
Históricamente ha sido utilizado por las estaciones de trabajo sin disco basadas en
UNIX (las cuales también obtenían la localización de su imagen de arranque
mediante este protocolo) y también por empresas para introducir una instalación
pre-configurada de Windows en computadoras personales recién compradas,
típicamente en un entorno de red Windows.
CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 5
Originalmente se requería el uso de un disquete de arranque para establecer las
conexiones de red iniciales, pero el protocolo se integró en la BIOS (Basic Input-
Output System) de algunas tarjetas de red y en muchas motherboards (placas
base) modernas para permitir el arranque directo desde la red.
A mediados de los 90, los sistemas operativos comenzaron a ofrecer utilidades
basadas en el procesador local, a crear entornos gráficos para el usuario y a
requerir más espacio de almacenamiento, tanto de forma permanente como
temporal. Esto hizo que las utilidades y aplicaciones que hasta entonces
proporcionaban la posibilidad de efectuar el arranque del sistema operativo desde
la red dejaran de ser útiles, surgiendo así otros proyectos que pretendían resolver
estas necesidades de forma muy similar a como se había hecho hasta entonces,
utilizando los mismos protocolos, pero ampliando sus capacidades basándose en
el código proporcionado por los fabricantes para el uso de los adaptadores de red
que había disponibles en los sistemas operativos de propósito general, como eran
MS-DOS o Free-BSD. En esta misma década surgieron nuevas especificaciones
que cambiaron totalmente la definición de los protocolos e interfaces utilizados
para el acceso a la red y de los recursos locales y remotos de los ordenadores que
pretendían iniciar sus sistemas operativos desde la red. Así surgieron los
protocolos PXE (Preboot eXecution Environment) y DHCP (Dynamic Host
Configuration Protocol)(Comer, 1996) una evolución del BOOTP, que
combinándolos y utilizando las ventajas que ofrece el protocolo TFTP, conforman
una potente herramienta para realizar la administración de una red.
Protocolo DHCP
El protocolo de configuración de estaciones dinámico (DHCP por sus siglas en
inglés) es un protocolo de red en el que, un servidor provee los parámetros de
configuración a las computadoras conectadas a la red informática que lo requieran
(máscara, puerta de enlace, servidores DNS (Domain Name Service), servidores
CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 6
WINS (Windows Internet Naming Service) y que incluye un mecanismo de
asignación de direcciones IP(Davie, 2003).
Sin DHCP, las direcciones IP deben configurarse manualmente en cada ordenador
y si el ordenador se mueve a otro lugar u otra subred, se configura otra dirección
IP diferente. Este protocolo le permite al administrador supervisar y distribuir de
forma centralizada las direcciones IP necesarias y automáticamente asignar y
enviar un nuevo IP si el ordenador es movido a una locación diferente.
Protocolo TFTP
Es un protocolo de transferencia muy simple semejante a una versión básica de
FTP. Es comúnmente utilizado para transferir pequeños archivos entre
ordenadores conectados en red, similar a como lo hace un terminal o un cliente
ligero en el proceso de inicialización.
TFTP tiene las siguientes características(Utard, 2008):
Utiliza UDP (en el puerto 69) como protocolo de transporte (a diferencia de
FTP que utiliza el puerto 21 TCP).
No puede listar el contenido de los directorios.
No existen mecanismos de autenticación o cifrado.
Se utiliza para leer o escribir archivos de un servidor remoto.
Protocolo PXE
El protocolo PXE consiste en una combinación de los protocolos DHCP y TFTP
con pequeñas modificaciones en ambos. DHCP es utilizado para localizar el
servidor de arranque apropiado y con TFTP se descarga el programa inicial de
arranque y los archivos adicionales. Este protocolo actualmente viene agregado a
la interfaz de red de las computadoras y su opción de configuración está en el
CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 7
BIOS, donde puede encontrarse con el nombre de Network Boot o Boot Services.
Es muy utilizado para gestionar varios aspectos de una PC desde la distancia.
1.3 Variantes en la instalación de computadoras
Se pueden señalar varios tipos de instalaciones de ordenadores según las
necesidades y los recursos disponibles. Estas son:
Instalación por imagen: este proceso utiliza un pequeño sistema operativo y
herramientas para la clonación o regeneración.
Instalación a través de la red: procedimiento óptimo cuando se requieren
administrar varias computadoras a la vez por su rapidez.
Instalación por CD: el método estándar utilizado por la mayoría de los usuarios
de Windows en el mundo, pero posee el inconveniente ser el más lento.
Las computadoras se catalogan de dos formas según su función en la red:
1. Las que se denominan servidores, que tienen una o varias funciones concretas
para proporcionar servicios que necesitan otros ordenadores y que proveen
generalmente a través de protocolos específicos de red.
2. Los clientes, que son aquellas utilizadas principalmente por los usuarios para
acceder a los servicios telemáticos que los servidores ofrecen a través de la
red, así como para realizar tareas en el entorno loca(LLORENTE, 2003)l.
Las dos funciones requieren un tratamiento diferente desde el punto de vista de la
administración del sistema. En el caso del ordenador de tipo cliente, el
procedimiento tradicional de gestión del ordenador comienza con la instalación
manual de un sistema operativo, continúa con la instalación de las aplicaciones y
finaliza cuando el ordenador finalmente es conectado a su red de acceso y
comienza a ser utilizado por el usuario final. Esta instalación del sistema completo
es uno de los procedimientos que el sistema de gestión automatizada pretende
resolver.
El ordenador de tipo servidor, al tener otras máquinas que dependen de sus
servicios y se conectan a él a través de la red, tiene un perfil diferente y más
CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 8
complicado, dado que la instalación y administración de servidores requiere
mucho más tiempo y esfuerzo que la instalación de ordenadores de tipo cliente.
Cuando tenemos grandes redes de computadoras de tipo servidor, la mayor parte
del sistema operativo suele ser común entre ellos, diferenciándose entre sí solo en
los servicios que ofrecen a la red. El que tengan una gran parte común, permite
racionalizar el esfuerzo para la instalación del sistema operativo mediante la
utilización de sistemas de instalación automática que se suelen proporcionar a
nivel de fabricante, pero aún queda la parte de configuración de los servicios que
un servidor concreto es capaz de implementar y que suele ser la que más tiempo
de administración consume. Aunque la configuración del mismo servicio en
servidores diferentes suele tener una parte común muy importante, esta parte
común es dependiente de parámetros generales de una red y del servicio
brindado.
1.4 Instalación no atendida
Se denomina procedimientos desatendidos a aquellos que permiten la gestión de
un ordenador sin ninguna intervención del usuario. El objetivo de las instalaciones
no atendidas, en pocas palabras, viene a ser la implementación de un sistema
centralizado que sea capaz de realizar el mantenimiento automático de los
sistemas operativos de un gran número de ordenadores, tanto de servidores de
red como de máquinas de usuario o máquinas cliente, para ello, se deben usar
diferentes estilos de herramientas que si bien tienen una alta utilidad, con ninguna
de ellas se es posible llevar a cabo este procedimiento completo(LLORENTE,
2003).
Aunque las aplicaciones que se han puesto a disposición de los distintos sistemas
operativos (GNU/Linux y Microsoft Windows XP Professional), simplifican las
tareas de administración de éstos y aunque la mayoría tienen mucha utilidad en su
área de aplicación, ni tienen un entorno común de gestión ni proveen todas las
facilidades requeridas.
En la actualidad existen una gran cantidad de sistemas operativos dependiendo
del tipo de ordenador en el que se va a ejecutar. Por ejemplo para las
CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 9
computadoras uno de los sistemas operativos más difundidos es Microsoft
Windows, en versiones como Windows XP, Windows Vista o Windows 7(Windows,
2012), aunque se utilizan otros como Solaris, BeOS, OS/2, o uno de los más
poderosos y en rápida expansión, Ubuntu. En este proyecto se atenderán a las
necesidades de la Universidad Central “Marta Abreu” de Las Villas, con un
porcentaje alto en la utilización de Windows en sus laboratorios pero a su vez con
la necesidad de migrar paulatinamente hacia técnicas de software libre
(GNU/Linux), por lo que las necesidades se han circunscrito a la implementación
de las facilidades necesarias para los sistemas basados en Microsoft Windows y
en GNU/Linux.
GNU\Linux es una plataforma gratuita y de libre distribución inspirada en el
sistema UNIX y diseñada en parte por Linus Torvalds con la ayuda de miles de
programadores en Internet. El sistema UNIX no fue pensado para ser fácil de
emplear, sino para ser sumamente flexible, al contrario que otros sistemas
operativos, como por ejemplo MacOS, el sistema operativo de la Apple
Macintosh(Apple, 2012). Por tanto Linux no es tan sencillo de utilizar como otros
sistemas operativos aunque, se están realizando grandes esfuerzos para facilitar
su uso. Debido a la enorme flexibilidad de Linux, su gran estabilidad y el bajo
coste, se ha hecho de este una opción muy a tener en cuenta por aquellos
usuarios que se dediquen a la programación o como recurso indispensable
cuando se habla de administración de redes dado el alto grado de seguridad que
brinda en este aspecto.
Dentro de los entornos Windows se ha dado soporte a diferentes sistemas (desde
el Windows 98 al Windows Server 2003), sin embargo, en este documento sólo se
mencionarán las tareas realizadas para la automatización del sistema operativo,
Microsoft Windows XP Profesional con ServicePack 1 o 2 (proceso de instalación
que solo varia en aspectos insignificantes, por lo que durante todo el trabajo se les
mencionará como Windows) y para los sistemas operativos Ubuntu 10.04 (Lucid) y
Debian 6.
CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 10
1.5 GNU/Linux
Si se desea realizar un sistema de administración centralizada utilizando cualquier
sistema basado en tecnología GNU/Linux, estará bien comenzar a analizar las
utilidades disponibles para la gestión de ordenadores. Dada su naturaleza abierta,
cabe decir que las propias características de esta plataforma crean un conjunto de
soluciones que ha resultado ser muy prósperas en los últimos años. También cabe
comentar que esta misma característica ha promovido el desarrollo de diversas y
muy diferentes distribuciones de GNU/Linux, cada una de ellas con sus propias
ventajas e inconvenientes pero con un denominador común: todas usan Linux
como núcleo del sistema y todas aprovechan en mayor o menor medida la gran
cantidad de herramientas proporcionadas por el proyecto GNU. Utilizando
herramientas como Kickstart de RedHat o el archivo Pressed(Pet, 2010) de
Syslinux podremos trabajar los sistemas desatendidos y a través de Puppet se
garantizará la automatización de las configuraciones de estos sistemas.
1.5.1 RedHat Linux
RedHat Linux es una distribución creada por RedHat, la cual es una de las más
populares en los entornos de usuarios domésticos. RedHat es instalado con un
ambiente gráfico llamado Anaconda, diseñado para su fácil uso por novatos. En
general se asume que el trabajo que realizan las distribuciones Linux es
simplemente tomar los paquetes fuente (generalmente los archivos que publican
los propios desarrolladores) y empaquetarlos de forma que cumplan ciertos
criterios (tanto técnicos como organizativos). El producto de este proceso es una
distribución, una serie de paquetes convenientemente organizados que posibilitan
al usuario instalarlos, desinstalarlos y actualizarlos. Originalmente RedHat Linux
fue desarrollado exclusivamente dentro de RedHat, con la sola realimentación de
informes de usuarios que se recuperaban de fallos y con las contribuciones
desarrolladas para los paquetes de software incluidos. Esto cambió en el 2003
cuando RedHat Linux se fusionó con el Proyecto Fedora orientado a la
CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 11
comunidad de usuarios. El nuevo plan es extraer el código base de Fedora para
crear nuevas distribuciones de RedHat Enterprise Linux.
RedHat Linux fue vendido principalmente como un sistema operativo para
servidores, es muy popular entre compañías que utilizan "granjas" de ordenadores
al igual que su herramienta de instalación incorporada, Kickstart, la cual facilita la
configuración e instalación del hardware estandarizado(Landmann, 2011).
1.5.1 Kickstart
El método de instalación Kickstart de RedHat es usado principalmente (pero no de
forma exclusiva) por el sistema operativo RedHat Enterprise Linux para realizar la
instalación desatendida y la configuración del sistema operativo de forma
automática. Un fichero Kickstart puede incluir scripts personalizados para ser
ejecutados antes o después de la instalación.
Los ficheros de configuración de Kickstart pueden ser construidos de tres formas:
Manual.
Usando la herramienta con interfaz gráfica system-config-kickstart.
Usando Anaconda, el programa de instalación estándar de RedHat.
Anaconda producirá el fichero de configuración anaconda-ks.cfg al final de
cualquier instalación manual. Este fichero puede ser usado para reproducir
automáticamente la misma instalación o editarlo (manualmente o con system-
config-kickstart).
Mediante la funcionalidad de la herramienta Kickstart podemos realizar la
instalación del sistema operativo, también es posible elegir las aplicaciones que se
deseen y realizar una configuración básica de los dispositivos hardware
basándonos en la cantidad de memoria, tipo de CPU, pantalla, teclado, disco duro
o tarjeta de red. Kickstart es una herramienta muy potente si se combina con la
alternativa Syslinux, garantizado un producto mejor desarrollado y con mayor
aplicación(Alinas, 2002).
CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 12
1.5.2 SYSLINUX
El proyecto Syslinux abarca un conjunto de gestores de arranque ligeros, para
iniciar ordenadores utilizando GNU\Linux, es un cargador estándar para sistemas
de archivos MS-DOS FAT y está diseñado para arrancar mediante el uso de
diferentes dispositivos. Cuando se inicia una PC, un cargador es el que se
asegura de que una computadora sepa dónde encontrar el sistema operativo.
Isolinux, usado para arrancar desde sistemas de archivos ISO 9660 CD-ROM.
Extlinux, diseñado para arrancar desde los sistemas de archivos de Linux ext2,
ext3 y ext4.
Memdisk, utilizado para arrancar sistemas operativos más antiguos como MS-
DOS desde memoria.
Pxelinux, creado para arrancar desde un servidor de red con el sistema
entorno de ejecución de pre-arranque (PXE).
Este último sistema, Pxelinux, tiene la ventaja, frente a sus competidores en la
gestión del arranque por red, de que no necesita tener un programa específico de
gestión del dispositivo concreto que tenga instalado el PC, sino que es capaz de
adaptarse a la especificación de PXE y utilizar el driver contenido en la pequeña
ROM de la propia interfaz de red.
Típicamente, Pxelinux se usa para instalaciones de Linux desde un servidor de red
central o para arrancar estaciones de trabajo sin disco. Esta característica da una
flexibilidad enorme a la hora del arranque de red, ya que permite gestionar
cualquier ordenador moderno que sea compatible con el estándar PXE.
Estos sistemas son capaces de presentar las opciones de arranque en forma de
menú, de manera tal que sea el propio usuario el que elija la opción de inicio más
adecuada para su ordenador en cada momento, o en su defecto se elija una de
forma automática al pasar un cierto tiempo. Esta última característica resulta muy
interesante para la realización de tareas de gestión automáticas sin intervención
del usuario.
CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 13
1.5.3 GRUB
A pesar de ser una herramienta que cedió su lugar ante el avance de otras con
más facilidades y de mayor utilidad como Syslinux, aún es utilizada por algunos
administradores para gestionar múltiples ordenadores debido a su fiabilidad;
estamos hablando de GRUB (Grand Unified Bootloader) que es un gestor de
arranque múltiple, desarrollado por el proyecto GNU que se usa comúnmente para
iniciar uno, dos o más sistemas operativos instalados en un mismo equipo(Ubuntu,
2012). Técnicamente, un gestor de arranque múltiple es aquel que puede cargar
cualquier fichero ejecutable y que contiene un archivo de cabecera en los primeros
8 KB. Una de las características más interesantes de este tipo de gestor es que no
es necesario instalar una partición nueva o un núcleo nuevo, pudiendo cambiar
todos los parámetros en el arranque mediante el sistema de órdenes de consola
de GRUB, además permite gestionar el arranque del núcleo de Linux tanto desde
un CD-ROM como desde un disco duro previamente compartido, siendo capaz de
cargar su configuración a través de la misma red utilizando una imagen
configurable y compatible con PXE.
La versión más utilizada de GRUB se denomina GRUB Legacy. En esta versión es
donde se solucionan los errores, pero no se añaden nuevas características. Los
desarrolladores de GRUB han cambiado su enfoque hacia GRUB 2, una completa
reescritura del gestor original, cuyos objetivos incluyen el desarrollo de un GNU
GRUB más limpio, robusto, seguro y potente. Desde febrero del año 2008, GRUB
2 todavía sigue en desarrollo, aunque está siendo usado en las más recientes
versiones de distribuciones de GNU/Linux.
1.5.4 Partimage y Clonezilla
Hay que mencionar también las herramientas Partimage y Clonezilla para realizar
clonaciones, con la aplicación PartImage incluida en el CD de Knoppix (y de otros
muchos) puede realizarse y restaurarse copias de seguridad de particiones
CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 14
completas, ya sean estas Linux o Windows. También sirve pare crear imágenes de
particiones que puede ser exportadas hacia varios equipos(Barberán, 2012).
Las imágenes creadas pueden ser almacenadas en otra partición o, a través de la
red, en otro equipo. Knoppix incluye mediante partimaged, un servidor que
quedará a la escucha para recibir la imagen generada en el ordenador del que se
está realizando la copia de seguridad.
Clonezilla es una consola que utiliza un software de partición o de clonado del
disco parecido a Symantec Ghost Corporate. Está basada en Partimage y
ntfsclone. Esta herramienta solo salva y restaura las unidades usadas del disco
duro permitiendo a los usuario realizar copias de respaldo tipo “bare metal” y de
recuperación. La recuperación “bare metal” es el proceso de reincorporación de la
computadora después de un fallo catastrófico(Linux, 2012).
1.5.6 Puppet
Actualmente, administrar un servidor o un cliente es un proceso relativamente
sencillo, solo se modifican algunos archivos de configuración, se ejecutan algunos
comandos y está listo, en el caso que sean dos se complica un poco debido a que
los archivos de configuración difieren en dependencia del servicio que ofrezca el
servidor y además se tienen que ejecutar los comandos en ambos servidores.
Pero el problema real comienza cuando en lugar de uno o dos servidores se
administran diez o más y si se agrega virtualización en cada uno de ellos,
seguramente se volvería una labor muy demandante, repetitiva y aburrida,
mantener actualizadas y sincronizadas las configuraciones en dichos equipos.
Afortunadamente, para este tipo de tareas contamos con herramientas de
automatización y control de configuraciones, que nos permiten mantener
centralizada la configuración de los equipos, facilitando la administración de uno,
dos o más servidores, este es el caso de Puppet(Turnbull, 2011).
Puppet nació para automatizar tareas repetitivas y darles a los administradores de
sistema un armazón flexible en el que fundamentarse, está escrito en Ruby y
CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 15
cuenta con un lenguaje declarativo que sirve para expresar la configuración del
sistema, un esquema cliente-servidor para la distribución, y una librería para
ejecutar dicha configuración.
Con Puppet se pueden controlar:
• Servicios
• Archivos
• Usuarios
• Grupos
• Mount (puntos de montajes)
1.5.7 Samba
Samba es una implementación libre del protocolo de archivos compartidos de
Microsoft Windows para sistemas de tipo UNIX. De esta forma, es posible que
ordenadores con GNU/Linux o Mac OS X se vean como servidores o actúen como
clientes en redes de Windows. Samba también permite validar usuarios haciendo
de Controlador Principal de Dominio (PDC), como miembro de dominio e incluso
como un dominio Active Directory para redes basadas en Windows; aparte de ser
capaz de servir colas de impresión, directorios compartidos y autentificar con sus
propios archivos de usuarios(Technet, 2012).
Samba configura directorios Unix y GNU/Linux (incluyendo subdirectorios) como
recursos para compartir a través de la red. Para los usuarios de Microsoft
Windows, estos recursos aparecen como carpetas normales de red(Vidyadhar,
2010). Los usuarios de GNU/Linux pueden montar en sus sistemas de archivos
estas unidades de red como si fueran dispositivos locales, o utilizar el comando
smbclient para conectarse a ellas muy al estilo del cliente de un FTP. Cada
directorio puede tener diferentes permisos de acceso sobrepuestos a las
protecciones del sistema de archivos que se esté usando en GNU/Linux. Por
ejemplo, las carpetas home pueden tener permisos de lectura y escritura para
CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 16
cada usuario, permitiendo que cada uno acceda a sus propios recursos; sin
embargo, deberemos cambiar los permisos de los archivos localmente para dejar
al resto ver nuestros recursos, ya que con dar permisos de escritura no será
suficiente.
1.6 Microsoft
En relación con las herramientas de instalación en Windows, aunque hay ciertas
facilidades de red que permiten realizar la configuración automática de los
dispositivos soportados por el sistema operativo, no hay tantas facilidades
disponibles para el administrador, pues el soporte para gestionar la instalación a
través de la red no es abundante, obligando a que el administrador posea los
drivers de configuración de los dispositivos de red para el sistema operativo
utilizado durante la instalación que es de tipo MS-DOS.
Además, después del proceso de instalación del sistema operativo, y aunque la
instalación se haga de forma desatendida mediante la configuración del programa
Sysprep(Microsoft, 2005), hay que realizar el re-arranque del sistema varias
veces. Este programa, aparte de permitir la instalación de red sin requerir la
presencia del administrador, se encarga de la introducción de los datos de licencia
del producto y la generación automática del identificador único de sistema, lo que
es fundamental para compartir datos a través de la red en entornos Windows.
La gestión es más complicada si se desea que la gestión de las cuentas de
usuario sea realizada también a través de la red, operación que se conoce como
“unirse al dominio”. Esto es necesario porque la mayor parte de las aplicaciones
no vienen integradas en el mismo soporte y formato que el sistema operativo por
lo que hay que realizar procesos que permitan automatizar la instalación y
desinstalación de las mismas, como por ejemplo con la herramienta AutoIt.
1.6.1 Herramienta AutoIt
CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 17
AutoIt es un lenguaje de programación similar a Visual Basic, diseñado para
automatizar en Windows GUI (Graphical User Interface). Este usa una
combinación de teclas simuladas, movimientos de mouse y manipulación de
ventana para automatizar tareas de una manera no legible con otros lenguajes,
como por ejemplo VBScript y SendKeys(Autoit, 1999).
Esta aplicación inicialmente fue diseñada para situaciones donde se necesite
configurar cientos de computadoras. La versión 3, es la más confortable para
realizar tareas de automatización caseras y de escritura de procesos repetitivos.
Además es la más pequeña existente (~80Kb) y pose un ejecutable (stand-alone)
sin librerías DLL externas o entradas de registro requeridas. Los scripts pueden
ser compilados como ejecutables.
AutoIt puede:
• Ejecutar aplicaciones de Windows y DOS.
• Simular teclas (soporta la mayoría de tipos teclados).
• Simular movimientos de mouse y clicks.
• Mover, reajustar y manipular ventanas.
• Interactuar directamente con los controles en una ventana (fijar/obtener texto,
mover, desactivar, etc.)
• Trabajar con el portapapeles (clipboard) para cortar/pegar textos y con el registro
El uso de recursos de red en Windows no está optimizado, dado que la mayoría
de las aplicaciones requieren estar instaladas en el disco duro del ordenador en
lugar de estar en sistemas remotos que permitan el acceso, a través de la red, al
código de las aplicaciones.
Es necesario que mencionemos otras herramientas de Microsoft que permiten
automatizar la instalación del sistema operativo de forma desatendida, tal y como
es el Setup Manager Wizard (Microsoft, 2004), o que permiten la clonación de las
instalaciones, como viene a ser el Symantec Ghost (Symantec, 1995).
CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 18
1.6.2 Herramienta Setup Manager Wizard
El Setup Manager Wizard ayuda a los administradores a crear los archivos de
respuesta que el programa de instalación de Windows utiliza para realizar
actualizaciones o instalaciones desatendidas de Windows. Los archivos de
respuesta responden a las preguntas que el programa de instalación haría
normalmente al usuario cuando se instala o actualiza un sistema operativo. Por
ejemplo, usualmente el programa de instalación pedirá al usuario que indique un
nombre para el equipo, pero si especifica el nombre del equipo en el archivo de
respuesta, este no se lo preguntará al usuario final.
Cuando se utiliza esta herramienta para crear un archivo de respuesta, se solicita
la información requerida en las páginas que aparecen al realizar una instalación
atendida. En una instalación completamente desatendida, este programa de
instalación no solicita ninguna información del usuario y es necesario suministrarle
todos los datos requeridos al archivo de respuesta. En este caso, el administrador
de la configuración obliga a especificar un valor para todas las opciones
necesarias. Cuando se utiliza cualquiera de los demás modos desatendidos
incluidos, el Setup Manager Wizard permite dejar algunos datos sin indicar. Si no
desea concretar una opción determinada en el archivo de respuesta, se deja el
campo correspondiente en blanco o, en algunos casos, se selecciona "No
especificar esta configuración". Esta herramienta como paso final crea un recurso
compartido a través de la red donde se almacenará la instalación del sistema
operativo, las herramientas de particionado y los archivos de respuestas utilizados
en la instalación(Microsoft, 2004).
1.6.3 Herramienta Symantec Ghost
Para realizar imágenes de disco capaces de iniciar el ordenador hay muchas
aplicaciones que permiten automatizar la creación de las mismas y gestionarlas a
través de la red. La más destacada entre ellas es Symantec Ghost por las
siguientes características:
CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 19
Symantec Ghost reduce los costos y gastos generales asociados con la
instalación de aplicaciones de software y sistemas operativos. Esta herramienta
hace más fáciles y rentables los problemas de administración e implementación en
equipos. Puede hacerse respaldos completos de discos duros y particiones,
además de copiar archivos del sistema, lo cual la hace una herramienta útil para
operaciones de recuperación en caso de desastre.
Algunas de las funciones que permite utilizar el Symantec Ghost son:
Respaldar y restaurar los equipos
Clonar equipos: se puede clonar directamente de disco a disco, de partición a
partición o a través de la red para crear una copia exacta en un disco o
partición.
Manejar equipos: maneja directamente todos los equipos clientes desde una
consola central y ejecuta tareas en los equipos clientes desde la consola o
desde el cliente.
Ghostcasting: transfiere eficientemente los archivos y con un impacto mínimo
en el tráfico de la red.
AutoInstall: crea ejecutables que instalarán los paquetes de software o
transferirán archivos a los equipos cliente de la consola.
Área de establecimiento del cliente: utiliza directorios en un equipo cliente
como depósito para los archivos de imagen de Symantec Ghost, los paquetes
de aplicación, los perfiles del usuario u otros archivos y mantiene los
contenidos de un directorio seleccionado durante una restauración, creando un
archivo de imagen de respaldo y restauración local.
Soporte de los recursos locales: ejecuta tareas de consola utilizando imágenes,
archivos y paquetes que se almacenan localmente en un equipo cliente;
restaura un disco o partición con una imagen Ghost almacenada en el mismo
disco, partición o en un servidor remoto.
Transferencia de archivos por multicasting: transfiere todos los archivos,
incluyendo los paquetes de instalación, utilizando la funcionalidad de
multicasting desde la consola; reduciendo el tráfico de la red al enviar un
CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 20
archivo individual a varios destinatarios simultáneamente y además la
transferencia flexible de archivos le permite especificar la dirección de la
transferencia que se realizará.
Algo que debe tenerse en cuenta antes de poder recuperar las imágenes o instalar
el sistema es utilizar alguna aplicación de gestión de particiones de forma
automática para el sistema que se desea iniciar. Para ello se puede disponer del
Norton Partition Magic(Symantec, 2006) para Windows y el Aefdisk(Aefdisk, 2003)
para MS-DOS.
1.6.4 Herramienta nLite
nLite es un programa gratis y muy pequeño, de tan sólo 2,6 Megabytes que
actualmente se encuentra actualizado hasta la versión 1.4.8(nLite, 2012). Con la
herramienta nLite se puede crear un CD con un sistema operativo Windows al que
se le puede eliminar todo aquello que no se use y que normalmente se desecha
después de instalar.
El programa es muy fácil de usar, con un menú donde escoger varias opciones
mediante un asistente que servirá de guía durante el proceso, tanto para la
integración de actualizaciones como para quitar permanentemente componentes
de Windows, de forma que, cuando se instale Windows, se dispondrá de un
sistema operativo personalizado(Danae, 2006).
El programa viene con una opción para crear una imagen de tipo ISO, que se
utilizará para iniciar, a la cual se le pueden agregar controladores e integrar en el
mismo DVD las aplicaciones que se necesiten (se especifica DVD porque
lógicamente en un CD ya no sería posible por el tamaño) esto posibilita instalar un
Windows según los requerimientos del propósito con que se desee utilizar y
además permite poder aplicarlo en máquinas poco potentes, aunque la ventaja
más visible de esta herramienta es que la instalación dura bastante menos que la
realizada normalmente mediante un disco.
CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 21
1.7 Problemas de rápida solución con la instalación no atendida
Por lo general, el Administrador de Redes de las compañías o centros
educacionales es el encargado de proveer de ciertas herramientas a los usuarios.
Estas herramientas son: la conectividad electrónica entre las distintas facultades e
Internet y la gestión de los recursos que la hacen posible; la compra de
ordenadores y material para la realización de las tareas docentes y la adquisición
de productos software de uso general, como pueden ser sistemas operativos o
aplicaciones de prevención y limpieza de virus informáticos. Además en conjunto
con los especialistas al frente de cada laboratorio, deben administrar (gestionar,
instalar, actualizar, etc.) los equipos informáticos.
Una de las facilidades que brinda la generación de un sistema de administración
centralizada es el tipo de soporte que se necesita brindar a los usuarios
(entendiendo por soporte las tareas que el personal asignado estaría dispuesto a
realizar con el fin de resolver cada problema concreto del ordenador utilizado en el
lugar de trabajo), además de ofrecer soluciones para:
El operador inexperto: resolver el problema que plantean los usuarios sin
conocimientos de administración, que no está capacitado para realizar la
instalación de sus propios ordenadores, necesitando que alguien le
proporcione este servicio.
Los fallos de estabilidad de los sistemas operativos: problemas causados por la
incompatibilidad entre programas instalados, los usuarios que los padecen no
suelen ser capaces de describirlos adecuadamente, lo que impide la ayuda
remota y requiere la presencia física del administrador en el ordenador
afectado y por lo general conduce a la reinstalación del ordenador.
La actualización del sistema operativo: las políticas de seguridad requieren la
actualización diaria de los ordenadores que están expuestos a los ataques
desde Internet. Esta tarea no suele ser sencilla pues debe realizarse por
especialistas y consume gran cantidad de tiempo.
Las redes corporativas (laboratorios, centros de trabajo): Es el caso de grandes
organizaciones de carácter profesional que disponen de conjuntos de
CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 22
ordenadores interconectados en red que se utilizan para dar servicio al usuario
en entornos ofimáticos, de acceso a Internet, de juegos o de aplicaciones
específicas, en las que la falta de disponibilidad puede costar no sólo retrasos,
sino también fallos de servicio y pérdidas de dinero.
Los conjuntos de servidores: en los que se pretende tener una cantidad tan
grande de ordenadores interconectados entre sí, que sólo la gestión
automática de sus servicios e interconexiones permite utilizarlos con la
estabilidad y fiabilidad necesarias.
1.8 Observaciones y soluciones para la implementación de un sistema
automatizado
Analizando las cuestiones más importantes a tener en cuenta para mejorar el
proceso de instalación de una PC, lo cual conlleva en sí al mejoramiento de las
condiciones de trabajo de un administrador y a la satisfacción del usuario final, se
determinó que es necesario realizar varias tareas como:
El sistema de administración automatizada tiene una ventaja crucial que resulta
de la división del trabajo: de esta forma, el que regenera o reinstala de forma
automática y desatendida ya no tiene por qué ser quien crea los procesos de
reinstalación o está especializado en la resolución de los problemas que
pueden surgir después de aplicar los procesos de administración, logrando que
la parte monótona y rutinaria de las tareas del administrador se vea
ampliamente recortada, permitiéndole a éste invertir más tiempo en la mejora
del sistema de gestión centralizada. Esto se cumple en tal proporción que sería
posible que el propio usuario del ordenador realizase las tareas de
regeneración o reinstalación por sí mismo sin depender de nadie más.
Especialización de los recursos humanos: Después de la implantación de este
sistema, habrá dos tipos de personal: administrador y operador. La diferencia
entre ellos consiste en que si el administrador es quien ha diseñado el sistema
y resuelve sus problemas, el operador es quien lo manipula, quien utiliza las
CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 23
herramientas que éste le proporciona y quien detecta los problemas (aparte del
administrador).
No se necesitará nada instalado previamente en el ordenador, salvo la propia
conexión de red. Los parámetros de configuración de un ordenador específico
estarán almacenados en el propio sistema de administración centralizada.
El sistema debe ser totalmente independiente, de tal forma que los cambios en
los sistemas operativos o en las aplicaciones no obliguen a replantearse el
diseño del mismo. Para ello hay que pensar en una gran diversidad de
posibilidades y hay que conseguir una arquitectura modular que haga uso de
las diferentes herramientas que se tienen al alcance y que se podrían
actualizar, modificar o sustituir por otras cuando se estime necesario. Además,
desde otro punto de vista, los sistemas administrados deben ser
independientes entre sí y funcionar tal y como lo haría un sistema administrado
manualmente.
Se diseñarán los procesos con un perfil amplio, de forma que sea posible
utilizarlos para gestionar más sistemas operativos y aplicaciones. Y lo que es
más importante, adaptarse a los cambios de entorno producidos por las
actualizaciones del software al que se pretende dar soporte.
Este sistema debe permitir la reinstalación de todos los ordenadores
administrados en caso de problemas generalizados (como sería por ejemplo un
ataque masivo por virus), evitando que los servicios estuvieran inactivos más
tiempo del necesario y aumentando así de forma drástica su capacidad de
auto-regeneración.
El proceso ha de funcionar perfectamente de tal forma que asegure que
siempre que se realiza la instalación o regeneración de un sistema el estado
final es exactamente el mismo, independientemente de que el hardware
disponible sea ligeramente diferente.
Dado que el sistema completo podría ser regenerado en cualquier momento,
es necesario contemplar procesos que permitan regenerar el sistema sin
perder los datos de los usuarios, para ello se pueden utilizar diversas técnicas
CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 24
(backups incrementales, espacio de usuario en red, marcas de fichero, bases
de datos, etc).
El sistema ha de ser suficientemente ágil como para que sea sustancialmente
más rápido que la instalación manual del mismo. De esta forma no sólo se
ahorra trabajo rutinario, sino también tiempo. En un entorno de trabajo con un
gran número de ordenadores iguales, debería ser posible la regeneración o
reinstalación de la gran mayoría de ellos en paralelo, partiendo de los mismos
datos iniciales de regeneración y utilizando para la regeneración de todos el
mismo tiempo que se emplearía para la regeneración de uno.
La reinstalación del sistema debe tardar menos del tiempo que se tardaría en
realizar la instalación de forma manual, ya que invertir más tiempo en el
proceso comenzaría a dejar de ser una ventaja competitiva con respecto a
otras soluciones.
1.9 Conclusiones
Hasta este punto se ha pretendido dar una panorámica de varias herramientas
que existen para la instalación no atendida y automatizada, estas herramientas en
conjunto logran un trabajo efectivo en la administración de grandes redes,
ahorrando tiempo, recursos y personal; la elección correcta para el uso de las
mismas así como el método de trabajo con las opciones que poseen se
describirán en el próximo capítulo.
CAPÍTULO 2 25
CAPITULO II
2.1 Introducción
Desde un punto de vista tecnológico, se pueden entrever muchas posibilidades
diferentes a la hora de plantear la solución técnica de las necesidades de este
proyecto. En este apartado se pretende realizar una breve discusión de las
mismas apuntando sus ventajas e inconvenientes más importantes. Se explicarán
los procesos de instalación plenamente funcional de los sistemas operativos.
Tanto los procesos de regeneración como los de instalación pueden ser de tipo
manual o de tipo automático, dependiendo de si es necesario que una persona
interactúe directamente o no con el procedimiento respondiendo a las preguntas
de configuración que sea necesario. Se ha llamado procedimientos desatendidos
a aquellos que permiten la gestión de un ordenador sin ninguna intervención del
usuario. La distinción entre desatendido y automático viene a ser que mientras que
para un procedimiento desatendido no hace falta nadie delante del ordenador,
para un proceso automático se necesita al menos alguien que decida qué tarea es
la que se debe realizar y que además esté ahí para llevarla a cabo.
2.2 Requisitos para realizar la instalación desatendida mediante software
libre
Para realizar la instalación de un entorno basado en GNU\Linux de forma
automática y desatendida se necesita una PC en óptimas condiciones, capaz de
soportar las condiciones de trabajo necesarias para ser utilizada como servidor y
una red Fast-Ethernet (100BaseT) o Gigabit-Ethernet (1000BaseT) porque de lo
CAPÍTULO 2 26
contrario sería demasiado lento el proceso, además de ordenadores que posean
tarjetas de red (NICs) compatibles con PXE. Con el fin de lograr tales objetivos el
proceso de instalación se divide en varias etapas.
1. Se instala el servidor de red correspondiente.
2. Se instalan las aplicaciones extras para el sistema operativo del servidor.
3. Se configuran los aspectos necesarios para la instalación desatendida y
automatizada.
4. Se configuran los ordenadores que se beneficiarán con este servicio.
2.3 Estado inicial (Requisitos mínimos del ordenador)
La mayoría de los servidores convencionales necesita una PC que cumpla los
requisitos mínimos para garantizarle el servicio a un número considerable de
ordenadores, de acorde al entorno y a las facilidades económicas de que se
disponga, requisitos que se pueden concretar como:
Gran cantidad de memoria RAM, para no tener que realizar consultas al disco
duro con demasiada frecuencia
Buena conexión de red, Full-duplex y un ancho de banda igual o superior a 100
Mbps.
Procesador suficientemente rápido, ya que esto agiliza mucho la gestión de
disco y la transmisión de archivos.
Discos duros de gran ancho de banda, con memoria caché (cuanta más,
mejor) y de bajo tiempo medio de acceso.
Fuentes de alimentación de gran calidad, para permitir un rendimiento más
estable del servidor.
Con lo antes descrito se conformaría el servidor ideal para cualquier prestación de
servicio, pero para crear un servidor de instalaciones desatendidas y
automatizadas utilizando un sistema operativo basado en software libre, no son
necesarias máquinas tan potentes ni con cualidades excepcionales, solo un
CAPÍTULO 2 27
ordenador con requisitos mínimos como una PC Pentium 4, con 512 de RAM y un
procesador Intel de un solo núcleo, facilidad esta que permitirá utilizar cualquiera
computadora con un hardware sencillo para habilitarla como servidor si no se
disponen de recursos para invertir en uno.
2.4 El servidor de instalaciones
La instalación del servidor utilizando un entorno GNU\Linux, el cual será
denominado como servidor maestro, será el único paso que deberá ser realizado
manual en su entera totalidad, pues se necesitará disponer de un servidor en
óptimas condiciones que sea capaz de brindar un excelente servicio al usuario
final. Para realizar esto se debe disponer de un disco (CD-ROM) con una de las
dos variantes mejor desarrolladas y más utilizadas dentro del entorno de software
libre, Ubuntu o Debian.
Los sistemas operativos basados en GNU\Linux se instalan de la misma forma
que cualquiera de las versiones de Windows conocida con la diferencia de que no
se instalan las aplicaciones o programas directamente como en Windows sino que
se necesita de un repositorio o respaldo para esto, este repositorio debe ser lo
más actualizado y completo posible para tener a disposición del usuario una
variedad de software considerable y satisfacer cualquier demanda de este y debe
encontrarse en un servidor destinado a brindar este servicio. Por lo general en
Internet se pueden encontrar estos servidores, o se puede crear uno como es el
caso del existente en la Universidad Central “Marta Abreu” de Las Villas, ubicado
en la dirección http://softlib.uclv.edu.cu/debian para Debian y
http://ubuntu.ibp.co.cu /ubuntu/ para Ubuntu.
Disponiendo del sistema operativo y del respaldo se procede a instalar el servidor
maestro que se encargará de atender el servicio de instalaciones desatendidas o
automatizadas. Los servidores utilizados en la mayor parte de las instituciones
actuales usan software libre por ser más seguros, confiables y tener la ventaja de
que no se necesita poseer licencia para el uso del mismo ni de sus aplicaciones.
Por regla general los servidores se instalan sin ambiente gráfico, es decir solo se
dispone de la consola para trabajar, con el objetivo de aprovechar sus
CAPÍTULO 2 28
capacidades a plenitud en caso de ser usado en una red muy amplia y que
disponga de poco ancho de banda.
Instalado el sistema operativo y configurado de forma que puede acceder sin
problemas al respaldo se realiza la descarga e instalan las aplicaciones que se
necesiten para garantizar la inclusión de esta máquina en el dominio de la red en
la que se encuentra.
Un servidor de instalaciones es un sistema que posibilita la instalación de sistemas
operativos a través de red. Normalmente, lo deseable es que esta instalación se
realice de la forma más desatendida y automatizada posible(Lázaro, 2012). Para
poder crear un servidor de este tipo, se necesitarán algunas aplicaciones
específicas como:
1. Sistema operativo
2. Sevidor TFTP (TFTPd-HPA)
3. Servidor DHCP
4. Gestión de arranque de red (Syslinux)
5. Puppet
6. Samba (para el trabajo con Window XP)
7. Herramienta nLite
2.4.1 Debian y Ubuntu
Debian es un sistema operativo libre, desarrollado por más de mil voluntarios
alrededor del mundo, que colaboran a través de Internet. Es un sistema
compuesto por un estimado de 29000 paquetes de software pre-compilados, en su
mayoría software libre y de código abierto, bajo la Licencia Pública General GPL
que incluye a Linux como principal núcleo del sistema(McCarty, 1999). La
dedicación de Debian al software libre, su base de voluntarios, su naturaleza no
comercial y su modelo de desarrollo abierto la distingue ampliamente de otras
distribuciones.
CAPÍTULO 2 29
Ubuntu es un sistema operativo mantenido por Canonical y la comunidad de
desarrolladores. Utiliza un núcleo Linux, y su origen está basado en Debian.
Ubuntu está orientado al usuario novel y promedio, con un fuerte enfoque en la
facilidad de uso y mejorar la experiencia de usuario. Está compuesto por múltiples
software y es normalmente distribuido bajo una licencia libre o de código abierto.
Cada seis meses se publica una nueva versión de Ubuntu, la cual recibe soporte
de Canonical durante dieciocho meses por medio de actualizaciones de seguridad,
parches y actualizaciones menores de programas. Las versiones LTS (Long Term
Support), que se liberan cada dos años, reciben soporte durante cinco años.
El principio de funcionamiento para crear un servidor de instalaciones
desatendidas y automatizada basadas en uno de estos sistemas operativos, es el
mismo, solo varían en dependencia del tipo de archivo de Syslinux que se
utilizará, algunos administradores modifican y aplican, para el caso de Ubuntu, el
fichero Kickstart que viene incluido dentro de la herramienta RedHat, pero
normalmente la mayoría de los administradores de red usan el archivo preseed de
Debian debido a que puede utilizarse en ambos sistemas operativos.
2.4.2 Servidor DHCP
El protocolo DHCP ofrece un ambiente para pasar la información de configuración
a las estaciones sobre una red IP, tal como se establece en la RFC 2131. Es
basado en un protocolo denominado BOOT (Bootstrap Protocol, RFC 951), con la
ventaja de que añade la capacidad de localización automática de direcciones de
red reutilizables y las opciones de configuración adicional en un solo mensaje y no
en dos como lo hacía BOOT(Paliza, 2012).
DHCP está construido en base a un modelo Cliente-Servidor, donde el servidor
localiza direcciones de red y entrega los parámetros de configuración a las
estaciones configuradas dinámicamente (a las que no se les asignó dirección IP).
DHCP soporta tres mecanismos para adjudicar las direcciones IP:
CAPÍTULO 2 30
1. Adjudicación automática, DHCP asigna una dirección IP permanente a un
cliente.
2. Adjudicación dinámica, DHCP asigna una dirección IP a un cliente por un
período de tiempo (o hasta que el cliente de forma explícita abandone la
dirección.
3. Adjudicación manual, para un cliente cuya dirección IP es asignada por el
administrador y DHCP es utilizado simplemente para comunicar la dirección
asignada al cliente.
Una red en particular utilizará uno o más de estos mecanismos, dependiendo de
las políticas trazadas por el administrador. La adjudicación dinámica es el único
mecanismo que permite reutilizar las direcciones no necesarias para un cliente.
Este paso es opcional, no será necesario ejecutarlo si la red en la que se trabaje
ya dispone de un servidor DHCP (DHCP Server) funcional.
Con la inclusión de este protocolo en el servidor maestro se garantizará el
reconocimiento y la conexión con el ordenador que, al ser despertado por el
usuario, requiera ser instalado. Mediante la gestión de red, el ordenador solicita
una dirección IP para su acceso y desempeño a través de la red.
Se instala el Internet Software Consortium's DHCP a través del comando “sudo
apt-get -y install dhcp3-server” y se modifica el fichero “/etc/dhcp3/dhcpd.conf ”
ajustándolo a las especificaciones de la red o sub-red en la que se trabaje.
2.4.3 Servidor TFTP
Debido a que TFTP utiliza UDP, no hay una definición formal de sesión cliente o
servidor, aunque se considera servidor a aquel que abre el puerto 69 en modo
UDP, y cliente a quien se conecta.
Sin embargo, cada archivo transferido vía TFTP constituye un intercambio
independiente de paquetes, y existe una relación cliente-servidor informal entre la
máquina que inicia la comunicación y la que responde(Comer, 1996).
CAPÍTULO 2 31
La máquina 1, que inicia la comunicación, envía un paquete RRQ (read
request/petición de lectura) o WRQ (write request/petición de escritura) a la
máquina 2, conteniendo el nombre del archivo y el modo de transferencia.
2 responde con un paquete ACK (acknowledgement/confirmación), que
también sirve para informar a 1 del puerto de la máquina 2 al que tendrá que
enviar los paquetes restantes.
La máquina origen envía paquetes de datos numerados a la máquina destino,
todos excepto el último conteniendo 512 bytes de datos. La máquina destino
responde con paquetes ACK numerados para todos los paquetes de datos.
En GNU\Linux se instala a través del comando “sudo apt-get install tftpd-hpa” y se
modifica el archivo “/etc/default/tftpd-hpa” especificando nombre de usuario y
dirección entre otros. Dentro del directorio /etc/default/tftpd-hpa se encontrarán los
archivos de los sistemas operativos que se instalarán utilizando este servicio y que
deberán ser configurados.
Una vez que el cliente obtiene una respuesta y ya posee identificación mediante el
IP otorgado, utiliza el servidor maestro para descargar mediante el protocolo TFTP
un fichero que permita gestionar el inicio de la máquina local a través de un menú
previamente configurado, garantizando al usuario poder seleccionar la operación
que desee realizar.
2.4.4 Gestión de arranque de red (Syslinux)
Aunque se pueden utilizar otras distribuciones, con el proyecto Syslinux y la
utilización de su herramienta Pxelinux se garantiza que el proceso de instalación
automática y desatendida sea rápido y seguro. Las razones principales para esta
elección son la estabilidad y las facilidades de instalación y configuración que
presenta, además de ser una potente herramienta que, comparada con sus
rivales, resulta ser la que mejor utiliza las ventajas del protocolo PXE.
CAPÍTULO 2 32
El sistema de arranque de red se debe configurar manualmente la primera vez que
se pone en funcionamiento el ordenador para que al despertar la máquina realice
el arranque a través de la red (PXE). Una vez que la computadora ha pasado la
fase de inicialización hardware de la BIOS, comienza la fase de arranque. Si se ha
configurado adecuadamente, se accederá al programa almacenado en la ROM de
la tarjeta de red para realizar a través de ésta una petición de tipo PXE, para que
esto funcione así, la tarjeta de red ha de estar conectada a un equipo repetidor de
red (router o switch en caso de ethernet) y tener el LED de enlace activado,
indicando que puede enviar y recibir tramas por esa interfaz.
El programa de la ROM de la tarjeta de red realizará primeramente una petición de
tipo PXE (que debería ser respondida por un servidor de PXE). Si esta petición no
es respondida después de un cierto tiempo, se realiza una petición DHCP (que
puede responder tanto un servidor de DHCP como uno de BOOTP ya que los
protocolos si bien son distintos, son compatibles entre sí). Sólo si esta petición no
es respondida adecuadamente, se continúa el inicio a través del siguiente
dispositivo de arranque configurado, ya sea éste el disquete, lector de CD-ROM o
el disco duro. En caso de no haber ningún otro dispositivo configurado para
continuar el arranque, se reiniciaría el proceso de arranque desde la ROM auxiliar
del sistema. Si el proceso de arranque de red falla un número determinado de
veces, el ordenador finalmente cesa en el intento y queda a la espera de un
reinicio físico o un comando manual.
La imagen de inicio que el ordenador cliente descarga por TFTP, para la
configuración que se necesite, puede ser la proveniente de dos sistemas software
de arranque de los que se ha comentado algo previamente: GRUB o Pxelinux. Si
bien GRUB ha sido uno de los pioneros en gestionar el arranque a través de la red
de ordenadores basándose en el estándar PXE, se debe decir que tiene un
problema importante, sólo permite gestionar imágenes PXE para las tarjetas
específicas que es capaz de soportar y cuyos drivers hereda de otro proyecto. Por
eso se recomienda utilizar Pxelinux, debido a que sus características son más
potentes pues permite gestionar la tarjeta de red gracias a la utilización del driver
CAPÍTULO 2 33
de la misma que incluye el fabricante (en la propia ROM) para utilizarse en estos
casos. El driver contenido en la ROM ha de implementar una interfaz común,
llamada UNDI (siglas de Universal Network Driver Interface) capaz de facilitar la
comunicación. Con Pxelinux es posible descargar un menú (aunque quizá más
difícil de configurar que el de GRUB) que permite mostrar al usuario las opciones
de arranque de una forma clara y sencilla.
Para configurar el arranque por PXE, debe existir la carpeta
/var/tftpboot/pxelinux.cfg y dentro, una serie de archivos que contienen los
parámetros de arranque (básicamente kernel y initrd) y cuyos nombres se
corresponden con los IP de cada una de las máquinas a instalar, expresados en
hexadecimal. Para convertir un IP desde el formato normal al formato hexadecimal
puede recurrirse a la utilidad online ipconverter. Por ejemplo, el IP 100.100.173.10
se expresa en hexadecimal como 5415AD0A. Estos archivos contienen los
parámetros de arranque (kernel, initrd, ...) asociados a cada perfil de instalación.
Será necesario contar con un kernel e initrd adecuados al sistema de instalación
usado. Aunque pueden generarse initrd a medida para el sistema que se escoja;
existen kernels e initrds específicos para cada distribución que utilice el instalador
oficial correspondiente. A su vez, estos programas de instalación pueden poseer
mecanismos propios para lograr instalaciones desatendidas.
En el caso de los sistemas tipo Debian, el archivo que se debe configurar y que
contiene el instalador propio de Debian y la información necesaria para arrancar
por re, puede encontrarse en la página de Debian-installer.
El fichero utilizado en las instalaciones desatendidas para el instalador oficial de
Debian como se mencionaba antes, se denomina preseed, pero hay que estar
atento a usar el kernel, initrd y formato de archivo preseed correspondiente a la
versión de Debian que se desee instalar(Pet, 2010) .
Para el caso de las versiones de Ubuntu, el fichero que se utiliza denominado
Kickstart es el que dispone del kernel e initrd adecuados para arrancar por red y
suele encontrarse en el primer CD de instalación, en la carpeta images/pxeboot/ o
CAPÍTULO 2 34
se puede usar un fichero configurado a través de una aplicación Kickstart en línea,
aunque es posible utilizar un fichero preseed previamente configurado para este
sistema(Viklund, 2010).
2.4.5 Puppetmaster
Hay que dejar claro que Puppet no es una herramienta para la instalación
desatendida del sistema operativo sino para el despliegue de nuevos paquetes o
la configuración del sistema una vez este ha sido instalado, así como para llevar a
cabo estas tareas de una forma centralizada, consistente y escalable, es decir,
poder desplegar la misma configuración y el mismo software en múltiples
máquinas aunque estas sean heterogéneas (también levanta los servicios
desplegados si estos no se encuentran en funcionamiento).
Con Puppet, se crea y configura un servidor dentro del servidor maestro llamado
Puppetmaster, el software cliente es luego instalado en los equipos (llamados
puppets o nodos) que deseamos administrar(John, 2009). La configuración es
definida en el Puppetmaster, compilada, y luego enviada a los clientes de Puppet
cuando estos se conectan. Las sesiones de puppet son encriptadas y autenticadas
mediante el uso de certificados auto-firmados. Cada cliente de puppet, genera un
certificado auto-firmado, que es validado y autorizado por el Puppetmaster. Luego,
cada cliente se conecta al Puppetmaster para confirmar que su configuración se
encuentra al día, si la misma ha cambiado, se recompilará y se aplicarán los
cambios al cliente de puppet(Loope, 2011).
Al crearse el Puppetmaster se logra una ventaja importante debido a que con
este servicio se automatiza el procedimiento de instalar las aplicaciones que
necesita tener en su ordenador el usuario sin necesidad de que este se encuentre
frente al mismo, dado que si se configura correctamente, al instalarse el sistema
operativo que se desee mediante la utilización del servicio brindado por el servidor
maestro, cuando se inicie dicho sistema operativo por primera vez, ya estará listo
para ser utilizado a plenitud, pues ya tendrá funcionando y en óptimas condiciones
los programas y aplicaciones que fueron instalados a través de Puppet. (Ver
Anexo 1)
CAPÍTULO 2 35
2.4.6 Windows
El servicio de instalar el sistema operativo Windows es algo más complicado que
un sistema basado en software libre, debido en parte a que la compañía Microsoft
y los creadores y usuarios de GNU\Linux tienen diferentes filosofías de trabajo.
Realizando una comparación entre el método de realizar imágenes o clonaciones
con la herramienta Symantec Ghost y la utilización de la herramienta nLite para
crear un Windows personalizado se determinó que:
Con Symantec Ghost, posee un inconveniente que la descarta para su utilización
en las instalaciones desatendidas y automatizadas y es que si se necesita
administrar una red compuesta por ordenadores de diferentes tipos de fabricantes,
con esta herramienta sería muy difícil realizar el proceso de instalación de dichas
máquinas pues Symantec Ghost funciona clonando el sistema operativo de
computadoras previamente instaladas y guardando la imagen para después
descomprimirla en la PC que se requiera instalar, pero como se comprenderá, al
existir más de un tipo de ordenador, se necesitará también más de un paquete de
drivers pues cada fabricante posee los suyos propios, obligando esto a realizar
varias clonaciones o a gestionar los drivers manualmente, en lo cual se invertiría
demasiado tiempo y recursos.
nLite es una herramienta fácil de utilizar con la cual se toma un disco de
instalación de Windows (solo funciona con Windows 2000 o Windows XP) y se le
realiza una imagen, la cual será utilizada posteriormente para instalar este sistema
operativo. Además dicha imagen se puede modificar con esta aplicación de forma
tal que se le pueden agregar o quitar programas e incluir tantos drivers como se
desee, garantizando que cada PC a la que se le realice la instalación utilizando la
imagen antes creada, tome por sí misma únicamente los drivers que necesite.
Esto es una ventaja importante pues se garantizará que al instalarse un sistema
operativo Windows, esté completamente operacional la primera vez que se inicie,
con todos los programas (agregados a la imagen previamente) que necesite el
usuario y con los controladores ya instalados en menos tiempo de lo que
requeriría una instalación convencional utilizando un CD.
CAPÍTULO 2 36
Debido a lo antes expuesto es mejor utilizar la aplicación nLite para garantizar la
creación de una imagen utilizable que a su vez sea compatible con GNU\Linux y
garantice que se pueda realizar prestaciones de servicios a ordenadores de
diferentes fabricantes.
2.4.7 Samba
La configuración del servidor samba se realiza en el archivo /etc/samba/smb.conf
donde se varían diferentes aspectos en la línea de códigos para:
Compartir una carpeta
Modificar el grupo de trabajo
Compartir la Unidad de CD-ROM
Compartir impresoras
El servidor Samba será utilizado para compartir la carpeta que contendrá la
imagen de la instalación pues Windows necesita poder encontrar dicha carpeta
para que se lleve a cabo esta operación a través de la red, que no es el caso de
GNU\Linux el cual adquiere las cosas a través de una página http(Alanoll, 2011).
2.5 Servicio al usuario
Con la existencia de un servidor previamente configurado y en pleno
funcionamiento ya se tendría resuelta la mitad del procedimiento de realizar un
sistema centralizado, completamente automatizado y desatendido, solo quedaría
configurar el arranque mediante PXE de los ordenadores a los que se les facilitará
el servicio y garantizar una conexión estable con los mismos. Este paso deberá
hacerse manual y llevará algo de tiempo la primera vez que se realice, pero con la
implementación de este servicio se le garantizan algunas ventajas importantes al
administrador de red encargado de una vasta cantidad de ordenadores. Aunque
no se puede dejar de mencionar algunos inconvenientes que presenta el mismo.
Ventajas de la instalación desatendida y automatizada:
a) No se requiere inversión en la compra de hardware extra.
CAPÍTULO 2 37
b) Garantiza la reinstalación de entorno GNU/Linux o Windows desde la red en
escasos minutos, un tiempo extremadamente breve en comparación con el de
la instalación manual.
c) Controlar el funcionamiento y la configuración de los servicios de forma
centralizada, lo que permitirá controlar y garantizar que el software que se
instale quede con calidad.
d) Mejorar drásticamente los costes de mantenimiento pues con este sistema,
cuesta lo mismo instalar una máquina que instalar veinte iguales a ella. El
coste de mantenimiento permanece constante e independiente del número de
ordenadores
Desventajas de la instalación desatendida y automatizada:
a) Cuando se gestionan redes de área local o de área extensa con una gran
cantidad de ordenadores, el espacio requerido para el almacenamiento de
imágenes se hace muy grande y resulta necesario utilizar técnicas de
compresión de datos y de firmado de archivos, lo que ralentizará el proceso de
regeneración.
b) Dependencia del sistema con el fabricante del hardware (sobre todo si no está
de acuerdo con el fabricante del software que queremos instalar). Esto
representa una de las principales limitaciones de los sistemas basados en
GNU/Linux, y es que la mayor parte del código utilizado para gestionar los
diferentes dispositivos de la PC no ha sido diseñado o reconocido por el
fabricante del hardware, con lo que muchas facilidades no se implementarían.
2.6 Conclusiones
En este capítulo se ha dado una descripción de las combinaciones que se deben
realizar utilizando diferentes opciones y aplicaciones para crear un dispositivo
capaz de realizar una instalación desatendida y automatizada utilizando software
CAPÍTULO 2 38
libre. Se mostró detalladamente la secuencia de pasos que deben seguirse en
cada caso así como las ventajas y desventajas del método utilizado.
Es importante resaltar que no hay una solución única, ni existe la mejor de las
soluciones. Cada situación práctica puede requerir de una solución diferente, o en
algunos casos, de una combinación de soluciones.
CAPÍTULO 3 39
CAPITULO III
3.1 Introducción
En este capítulo se pretende analizar las facilidades que traería consigo la
creación de un servidor capaz de realizar instalaciones automatizadas y
desatendidas, así como su funcionamiento y utilización para resolver los
problemas específicos en áreas de la Universidad Central “Marta Abreu” de Las
Villas.
3.2 Problemática Universidad Central “Marta Abreu” de las Villas
En la Universidad Central “Marta Abreu” de Las Villas (UCLV), siempre ha existido
un gran interés en la creación de facilidades y procedimientos que permitan
realizar un mantenimiento automático de los puestos de laboratorio en los cuales
los alumnos realizan sus prácticas. La ampliación de las redes de ordenadores ha
ocurrido aceleradamente en los últimos años, permitiendo crear salas de
computadores mucho más amplias y con ello, de manera indefectible, ha surgido
la necesidad de realizar las gestiones de las mismas lo más automáticamente
posible. En el marco de este proyecto, sólo se ha atendido a las necesidades de
utilización e implementación de las facilidades necesarias para los sistemas
operativos basados en la utilización de software libre en la UCLV.
Actualmente en la universidad, gracias a un proyecto de colaboración con algunas
universidades flamencas de Bélgica, se ha podido perfeccionar la tecnología y
hacer compras de equipamiento nuevo, actualizando de esta forma, la red y el
servicio que se brinda. La UCLV cuenta con un aproximado de 3000
computadoras las cuales están distribuidas en laboratorios de estudiantes,
profesores y en otros departamentos. Cada laboratorio cuenta con un técnico, este
es el encargado de darle mantenimiento periódicamente a las computadoras y
CAPÍTULO 3 40
reinstalarlas en caso de ser necesario. Este proyecto ofrecerá una alternativa para
facilitar este trabajo y así brindar un servicio de mayor calidad.
En los laboratorios de estudiantes de las facultades existentes en la universidad
se reinstalan las computadoras utilizando dos variantes, mediante los CD de
instalación tradicionales o a través de una imagen almacenada la computadora
del técnico que atiende el laboratorio.
El primer proceso dura aproximadamente 45 minutos, esto sin contar el tiempo
que se invierte en instalar y actualizar los programas que se requieran y que varía
en dependencia de la cantidad, de esta forma si se decidiera instalar de forma
manual un laboratorio promedio con alrededor de 10 computadoras, la demora
sería de aproximadamente 7 horas con 30 minutos. Esto hace el proceso agotador
y poco práctico. Cuando se necesitan instalar varias computadoras el tiempo
invertido se multiplica, impidiendo así que las computadoras estén al servicio del
usuario en un tiempo relativamente corto.
El segundo método es mucho más ágil pues con la utilización del Symantec
GhostCast Server para transmitir la imagen compartida a través de la red el
proceso demora entre 10 y 15 minutos. La comparación se muestra gráficamente
en la Figura 1.
Fig. 1: Comparación gráfica en cuanto al tiempo de demora de la instalación
de una PC en la red de la UCLV
CAPÍTULO 3 41
Esto es lo concerniente a la instalación utilizando Windows como plataforma, los
sistemas operativos a base de GNU\Linux son mucho más fáciles de instalar,
estos emplean el mismo tiempo aproximadamente para realizar el proceso de
instalación tanto por CD como a través de la red, aunque poseen una marcada
diferencia respecto a la forma de realizar el proceso de instalación a través de la
red, pues la instalación de un sistema operativo basado en Linux se realiza
mediante una página Web (Http o Https) a diferencia de Windows que necesita,
para realizar esta operación, disponer del instalador en una carpeta compartida
previamente.
3.2.1 Tiempo de instalaciones
Para determinar la idoneidad del método analizado en este trabajo se realizó una
comparación entre la instalación de sistemas operativos por imagen y la utilización
de un servidor de instalaciones desatendidas y automatizadas determinándose
que:
Una clonación realizada con Symantec Ghost de una computadora previamente
instalada con Windows, utilizando la herramienta Autoit para instalarle programas
necesarios, tales como Microsoft Office XP, WinAmp, WinRar, Codecs K-lite,
Kaspersky Anti-virus 6.0 Windows Workstations, Adobe Reader X, Enciclopedia
Encarta 2006 y actualizaciones del sistema operativo pudiera ser regenerada en
otra PC en un tiempo estimado de 10 a 15 minutos en dependencia del volumen
de la imagen. Este tiempo resulta aproximadamente igual al realizarle también una
clonación a un ordenador instalado con el paquete convencional de Ubuntu
utilizando Partimage o Clonezilla y después regenerar este en otras máquinas.
Pero este método tiene un inconveniente, mientras más aplicaciones tenga
instalada la máquina que se clonará, más grande será la imagen que se obtendrá
y por tanto mayor será el espacio que se requerirá para almacenarla,
necesitándose un servidor con amplia capacidad de disco duro y además para
Windows sería un problema pues si se administra una red con máquinas
diferentes la instalación de los drivers complicaría el proceso.
CAPÍTULO 3 42
Por tanto el método óptimo es el que se plantea en este proyecto que consiste en
instalaciones desatendidas y automatizadas mediante un servidor maestro, la
instalación de un sistema operativo GNU/Linux en una PC tardaría alrededor de 10
minutos, mientras que el proceso de reconfiguración posterior demoraría otros 10
minutos en función de la cantidad de aplicaciones que el servidor maestro le tenga
que distribuir, la instalación de un ordenador con Windows demora alrededor de
40 minutos pero con la ventaja de que ya se dispondrán de aplicaciones y drivers
cuando se inicialice el sistema, permitiendo que con la automatización del proceso
no sea necesario que el técnico al frente del laboratorio esté delante de la
computadora durante el procedimiento, sino que incluso se puede configurar de tal
forma que el propio usuario de un ordenador decida cuándo y con qué sistema
operativo reinstalar esa computadora y no tener que intervenir o responder a
alguna pregunta durante el proceso.
3.3 Caso Universidad
Con la necesidad de migrar a software libre debido a que los sistemas operativos y
las aplicaciones que utilizan esta tecnología son más económicos gracias a que su
licencia es gratuita o se cobra únicamente el costo de distribución, se trabajó en el
diseño y creación de un servidor maestro en la UCLV, capaz de brindar un servicio
de instalaciones desatendidas y automatizadas utilizando esta tecnología, pero
que además permita ofrecer también soporte a Windows para aquellos usuarios
que de una forma u otra aún necesiten utilizar este sistema operativo.
Dicho servidor maestro no requirió la creación de un DHCP Server pues se utilizó
el existente en la Universidad, pero sí se necesitó modificar el Routers, de la
subred en la que se encuentra, para que incluyera en su tabla de direcciones, la
dirección del servidor y poder garantizar así que lleguen a él las solicitudes de
conexión.
CAPÍTULO 3 43
Se creó un servidor TFTP y se instaló el proyecto Syslynux generándose el
directorio /var/lib/tftpboot/pxelinux.cfg y configurándose para que los parámetros
de arranque (básicamente kernel e initrd), cuyos nombres se corresponden con los
IP de cada una de las máquinas a instalar (Ver Anexo II), sean expresados en
hexadecimal y además para crear el menú de acceso como se muestra:
create dhcp poli="RED3" lease=60480
add dhcp poli="RED3" subn=255.255.255.0
add dhcp poli="RED3" rou=10.12.3.254
add dhcp poli="RED3" dnss=10.12.1.50,10.12.1.51
add dhcp poli="RED3" do="uclv.edu.cu"
add dhcp poli="RED3" nbna=10.12.1.50,10.12.1.51
add dhcp poli="RED3" server=10.12.3.41
add dhcp poli="RED3" fi="pxelinux.0"
create dhcp ran="RED3" poli="RED3" ip=10.12.3.100 num=100
DEFAULT vesamenu.c32
TIMEOUT 600
ONTIMEOUT BootLocal
PROMPT 0
MENU INCLUDE pxelinux.cfg/pxe.cfg
NOESCAPE 1
LABEL BootLocal
localboot 0
TEXT HELP
Boot to local hard disk
ENDTEXT
label debian
menu label ^Automated install 32 bits
kernel gru/debian/linux
append auto=true priority=critical url=http://10.12.1.96/pxe-web/dc/debian/squeeze.cfg vga=788 initrd=gru/debian/initrd32.gz -- quiet
CAPÍTULO 3 44
TIMEOUT 600- El sistema espera 600 segundos antes de que se produzca una
acción predeterminada si el usuario no toma ninguna de las opciones mostradas
en el menú.
ONTIMEOUT- Indica que acción debe ser tomada cuando expire el TIMEOUT. En
este caso se agregó al menú la opción BootLocal, permitiendo que pasado el
tiempo predefinido, si el usuario no toma una de las opciones mostradas en el
menú, el sistema intentará iniciar desde un disco local.
MENU INCLUDE pxelinux.cfg/pxe.conf- Carga opciones de configuración
adicional desde otro archivo (como el color usado en el menú o el número de
opciones desplegadas, etc).
NOESCAPE 1 - No permite que el usuario salga fuera del sistema de menú.
LABEL – Es la forma de referirse al menú mediante una etiqueta.
Además la línea resaltada señala la dirección del fichero que contiene el instalador
propio del sistema operativo, en este caso se utiliza un fichero preseed de Debian
el cual debe ser modificado manualmente. Para realizar esto se debe disponer de
un instalador Debian previamente configurado como se muestra:
Para el caso de Ubuntu se realiza aproximadamente igual la operación antes
descrita, solo varía la dirección desde donde se obtendrá el instalador (que se
copia dentro del mismo directorio var/lib/tftpboot/) y que este sistema utiliza para
cd /tmp
wget http://ftp.de.debian.org/debian/dists/squeeze/main/installer-i386/current/images/netboot/netboot.tar.gz
tar –xzvf netboot.tar.gz
mkdir –p /var/lib/tftpboot/debian/
cp /tmp/debian-installer/i386/initrd.gz /var/lib/tftpboot/debian/
cp /tmp/debian-installer/i386/linux /var/lib/tftpboot/debian/
cp /tmp/debian-installer/i386/pxelinux.0 /var/lib/tftpboot/debian/
CAPÍTULO 3 45
instalar desatendidamente un fichero kickstart, aunque también se pudiera
configurar un fichero preseed para Ubuntu, aunque el kickstart es más fácil de
modificar porque todo se realiza desde una interfaz.
La instalación de Windows es un poco más difícil de desarrollar pues éste no
utiliza la misma filosofía de trabajo que GNU\Linux, el primero debe obtener los
recursos que necesita a través de una carpeta compartida y el segundo por lo
general lo realiza a través de una página Web.
Para que el servidor maestro dispusiera de la opción de instalar Windows se
necesita un ISO con el instalador de este sistema operativo copiado en el
directorio var/lib/tftpboot/winxp. La imagen se crea previamente con la herramienta
nLite (Ver Anexos III, IV y V), se le eliminan las aplicaciones innecesarias y se le
incluyó un paquete de programas y drivers atendiendo a las necesidades de las
computadoras que se desean instalar.
Además se necesita configurar el archivo smb.conf que se encuentra en la
dirección /etc/samba/smb.conf perteneciente al servidor Samba para que pueda
ser compartido (shared) el directorio que contiene el instalador.
mkdir /mnt/iso
mount xpsp3.iso /mnt/iso
mkdir –p /var/lib/tftpboot/winxp/i386/
cd /mnt/iso/i386
cp -av * /var/lib/tftpboot/winxp/i386/
label kubuntu
menu label Automated install ^kubuntu
kernel ubuntu/linux
append vga=normal ks=http://10.12.1.96/ks-kubuntu.cfg initrd=ubuntu/initrd.gz -- quiet
CAPÍTULO 3 46
También se necesita generar y configurar un archivo de respuesta
/var/lib/tftpboot/winxp/winxp.sif para garantizar que el proceso de instalación sea
desatendido.
Por último se crea y configura el servidor Puppet (Puppetmaster) para el
despliegue de nuevos paquetes o la configuración de la distribución Linux que se
encuentre instalada. Puppet se instala en /etc/default/puppet y por defecto el
/etc/samba/smb.conf
[Global]
workgroup = WORKGROUP
[ris]
path = /var/lib/tftpboot/winxp
browsable = true
read only = yes
writable = no
guest ok = yes
[Data]
AutoPartition=1
MsDosInitiated="0"
AutomaticUpdates=yes
UnattendedInstall="Yes"
floppyless="1"
[UserData]
;Put here your product key ProductKey=XXXXX-XXXXX-XXXXX-XXXXX-XXXXX FullName="ICT" OrgName="University" ComputerName=* [Display]
CAPÍTULO 3 47
fichero que genera está diseñado de forma que no permite el arranque hasta tanto
no sea modificado.
Para que el Puppetmaster funcione es necesario configurarle la opción del
arranque, como se muestra en esta sección perteneciente a un archivo de
configuración Kickstart.
/etc/default/puppet
# Defaults for puppet - sourced by /etc/init.d/puppet
# Start puppet on boot?
START=no
# Startup options
DAEMON_OPTS=""
#Network information network --bootproto=bootp --device=eth0 #Firewall configuration firewall --disabled #X Window System configuration information skipx #Package install information %packages @ openssh-server @ ubuntu-desktop build-essential thunderbird pidgin @system-tools puppet %post sed -i's/no/yes/' /etc/default/puppet /etc/init.d/puppet start
CAPÍTULO 3 48
Después que el Puppetmaster se reinicie se procede a crear las configuraciones
que se necesitan en dependencia de la subred a la que se le brindará servicio.
Estas configuraciones serán las que descarguen los clientes de puppet para
actualizar sus sistemas. Lo que se muestra a continuación son dos
configuraciones creadas, la primera es una aplicación para realizar la
administración del sistema (sudo) donde se instale y la segundo se utiliza para los
tiempos de sincronismo (ntp) del cliente :
class sudo {
package {sudo:
ensure => present,
}
file { "/etc/sudoers":
owner => "root",
group => "root",
mode => 0440,
source => "puppet://puppet.uclv.edu.cu/modules/sudo/sudoers",
require => Package["sudo"],
}
class ntp::config {
file { "/etc/ntp.conf":
owner => "root",
group => "root",
mode => 0440,
source => "puppet://puppet.uclv.edu.cu/modules/ntp/ntp.conf",
require =>Class["ntp::install"],
notify => Class["ntp::service"],
}
CAPÍTULO 3 49
Actualmente está en funcionamiento en la Universidad este servidor maestro, pero
solo se está utilizando para dar soporte a Debian o Ubuntu, específicamente al
nuevo Datacenter y a los servidores centrales ubicados en la Puerta, los cuales
utilizan estos sistemas operativos (Ver Anexos VI y VII).
3.4 Conclusiones
En este capítulo se ha demostrado la utilidad que posee un servidor especializado
en instalaciones desatendidas, su aplicabilidad y funcionalidad debido a que este
sistema ahorra tiempo no sólo al personal responsable del servicio, sino también
el propio usuario al que le proporciona un entorno más fiable y seguro, permitiendo
que pueda ser usado incluso por personas con poca experiencia.
CONCLUSIONES Y RECOMENDACIONES 50
CONCLUSIONES Y RECOMENDACIONES
Conclusiones
En este proyecto se abordó la problemática que existe a la hora de instalar
múltiples estaciones. El sistema diseñado ha permitido realizar la reinstalación
desatendida y automatizada de varios equipos.
Aunque resulta difícil medir el grado de eficiencia que ha introducido el sistema de
instalación desatendida y automatizada, podría decirse que supera con creces las
variantes utilizadas hasta el momento debido a que permite la ampliación de los
servicios en una red dada sin necesidad de variar el hardware del servidor
maestro, pues a consecuencia del abaratamiento de costes ha ocurrido un
aumento vertiginoso del número de computadoras (tanto portátiles como de
oficina) en los últimos años y además no requerirá más personal cualificado
cuando aumente el número de ordenadores administrados, ya que normalmente el
personal técnico asignado a un determinado servicio está limitado por razones de
presupuesto. Además este método ha significado un ahorro en tiempo notable
La gestión centralizada ha permitido la instalación de GNU/Linux desde la red en
un tiempo extremadamente breve en comparación con el tiempo de instalación
que se deriva de otras formas. La instalación de Windows para un cliente del
laboratorio también es mucho más breve que su instalación manual, aunque
debido a las limitaciones del propio sistema operativo, es algo más complicado la
configuración del servidor de instalaciones desatendidas y automatizadas para
que realice este proceso.
CONCLUSIONES Y RECOMENDACIONES 51
Con este método no se necesita utilizar una torre de CD, ventaja muy importante
para la Universidad Central “Marta Abreu” de Las Villas pues muchas de las
máquinas que se encuentran en los laboratorios no disponen de dichas torres o no
le funcionan.
Como limitación fundamental de este sistema se debe resaltar la diversidad de
hardware existente en el mercado, lo que hace que exista una cantidad enorme de
drivers para estos dispositivos que requeriría cambiar la imagen de la instalación
de Windows cada vez que se necesite dar soporte a una computadora con un
hardware nuevo.
CONCLUSIONES Y RECOMENDACIONES 52
Recomendaciones
Hay varios objetivos que se han planteado para realizar en un futuro y ampliar la
capacidad, gestión e inteligencia del sistema de administración desatendida y
automatizada. A continuación se mencionan especificando algunos aspectos de su
implementación.
Mantener un estudio constante para estar actualizados con las nuevas
versiones de las herramientas utilizadas y así lograr un sistema más estable,
rápido y seguro.
Implementación en redes de datos de tipo IPv6. Para ello habrá que utilizar
servidores que soporten este protocolo. Las diferencias de funcionalidad son
mínimas, pero la capacidad de la red en cuanto a número de dispositivos
direccionables se amplían considerablemente y por lo tanto la calidad del
servicio se mejora en el tiempo final de instalación.
Impartir cursos de superación sobre el tema a los administradores y técnicos
de laboratorio, con el objetivo de optimizar las labores de administración.
Lograr que el sistema de administración centralizada llegue a ser lo más
autónomo posible, de tal forma que integre todos los servicios necesarios en la
administración, permitiendo así que no dependa de otros sistemas ajenos a él
mismo para realizar sus tareas.
Extender el servicio a todas las subredes de la Universidad Central “Marta
Abreu” de Las Villas para facilitar el trabajo de los administradores de red de
cada área.
REFERENCIAS BIBLIOGRÁFICAS 53
REFERENCIAS BIBLIOGRÁFICAS
AEFDISK. 2003. Available: http://www.aefdisk.com/.
ALANOLL. 2011. Winnt.sif reference. Available:
http://unattended.msfn.org/unattended.xp/view/web/19/#data.
ALINAS. 2002. Automated Remote Installs of Ubuntu using Kickstart. Available:
http://www.linuxquestions.org/questions/linux-newbie-8/automated-remote-installs-
of-ubuntu-using-kickstart-802660/.
APPLE. 2012. MacOS. Available: www.apple.com/es/macosx/.
AUTOIT. 1999. Available: http://www.autoitscript.com/autoit3/index.php.
BARBERÁN, V. A. 2012. Partimage. Creación de copias de seguridad de particiones.
COMER, D. E. 1996. Redes Globales de información con Internet y TCP/IP. Principios
básicos, protocolos y arquitectura. In: CEDEÑO, L. G. (ed.).
CROFT, B. 1985. Bootstrap Protocol (BOOTP). Available:
http://www.ietf.org/rfc/rfc951.txt.
DANAE. 2006. Available: http://www.daboweb.com/.
DAVIE, L. L. P. B. S. 2003. Computer Networks. In: PUBLISHERS, M. K. (ed.) A
Systems Approach. 3 ed.
JOHN. 2009. Puppet Tutorial for Linux:Powering up with Puppet [Online]. Available:
http://bitfieldconsulting.com/puppet-tutorial-2.
LANDMANN, R. 2011. Red Hat Enterprise Linux 6. Guia de Instalación.
LÁZARO, R. D. 2012. Servidor de Instalaciones. Available: http://rdlazaro.info/compu-
sistemas-servidor_instalacones.html.
LINUX. 2012. Clonezilla. Available: http:\\www.linuxlinks.com\Disk-Cloning\Clonezilla.
LOOPE, J. 2011. Managing Infrastructure with Puppet. In: O’REILLY MEDIA, I. (ed.).
LLORENTE, O. A. W. 2003. Implementación de un Sistema de Gestión para
Laboratorios Docentes. Universidad Politécnica de Madrid.
MCCARTY, B. 1999. Learning Debian GNU\Linux. In: O’REILLY AND ASSOCIATES,
I. (ed.) 1ra Edición ed.
MICROSOFT. 2004. How To Use Setup Manager to Create an Answer File in Windows.
Available: http://support.microsoft.com/?kbid=308662.
MICROSOFT. 2005. How to use the Sysprep tool to automate successful deployment of
Windows. Available: http://support.microsoft.com.
NLITE. 2012. Available: http://www.nliteos.com/.
REFERENCIAS BIBLIOGRÁFICAS 54
PALIZA, F. A. 2012. Protocolos del nivel de aplicacion DNS-DHCP (2da parte).
PET, R. V. 2010. Curso Avanzado deGNU\Linux
Métodos de instalacion avanzados. Santiago de Compostela.
SYMANTEC. 2006. Key Features [Online]. Available:
http://www.symantec.com/home_homeoffice/products/features.jsp?pcid=sp&pvid=
pm80.
TECHNET. 2012. Automating and Customizing Installations [Online]. Available:
http://technet.microsoft.com/es-es/library/bb457100%28en-us%29.aspx.
TURNBULL, J. 2011. Pro Puppet. In: MEDIA, S. S. B. (ed.).
UBUNTU. 2012. GRUB [Online]. Available: http://www.guia-
ubuntu.org/index.php?title=GRUB.
UTARD, M. 2008. Maestría en Ingeniería en Telecomunicaciones. Universidad de Buenos
Aires.
VIDYADHAR. 2010. PXE booting Windows XP Installation [Online]. Available:
http://www.techienote.com/2010/06/pxe-booting-windows-xp-installation.html.
VIKLUND, A. 2010. how to unattended ubuntu network install preseed [Online].
Available: http://www.debuntu.org/how-to-unattended-ubuntu-preseed-install.
WINDOWS. 2012. Available: http://windows.microsoft.com/es-ES/windows/downloads.
ANEXOS 55
ANEXOS
Anexo I
ANEXOS 56
Anexo II
Anexo III
.
ANEXOS 57
Anexo IV
Anexo V
ANEXOS 58
Anexo VI
Anexo VII