Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año...

121
Autorizada la entrega del proyecto de alumno: FRANCISCO MOLINERO SANZ ____________________________ El Directores del proyecto: MARIO CASTRO PONCE Fdo: , a 12 de Septiembre de 2008 RAFAEL VIDA DELGADO Fdo: , a 12 de Septiembre de 2008 Vº Bº del Coordinador del proyecto: DAVID CONTRERAS BÁRCENA Fdo: , a 12 de Septiembre de 2008

Transcript of Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año...

Page 1: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Autorizada la entrega del proyecto de alumno:

FRANCISCO MOLINERO SANZ ____________________________

El Directores del proyecto:

MARIO CASTRO PONCE

Fdo: , a 12 de Septiembre de 2008

RAFAEL VIDA DELGADO

Fdo: , a 12 de Septiembre de 2008

Vº Bº del Coordinador del proyecto:

DAVID CONTRERAS BÁRCENA

Fdo: , a 12 de Septiembre de 2008

Page 2: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

UNIVERSIDAD PONTIFICIA DE COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO SUPERIOR INFORMÁTICO

PROYECTO FIN DE CARRERA

Entorno web para la creación de distribuciones

KNOPPIX personalizadas

AUTOR: Francisco Molinero Sanz

MADRID, Septiembre 2008

Page 3: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

A mis padres por la educación y el apoyo incondicional recibidos. A mis abuelos cuya

ilusión por la finalización de mis estudios supera la mía propia. A Leticia que sin su

comprensión y ánimo hubiera sido imposible sacar adelante este proyecto.

Francisco Molinero Sanz, Septiembre 2008

Page 4: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

“Entorno web para la creación de distribuciones

KNOPPIX personalizadas”

Resumen

Page 5: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

II

RESUMEN

El software libre está experimentando una época de gran auge y popularidad

en nuestros días, lo cual se refleja en el gran aumento del número de usuarios y

aplicaciones.

Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF

(Free Software Foundation) basado en una idea muy simple: la creación de un sistema

operativo funcional, libre y gratuito que comenzó llamándose proyecto GNU (GNU´s

not UNIX).

El concepto de software libre hace referencia a cuatro libertades principales de

los usuarios:

1. Libertad de usar los programas, con cualquier propósito.

2. Libertad de estudiar el funcionamiento de los programas y adaptarlos a

las propias necesidades.

3. Libertad de distribuir copias.

4. Libertad de actualizar los programas y hacer públicas las mejoras.

Knoppix es una distribución de GNU/Linux basada en Debian muy conocida.

Esta popularidad se debe principalmente a ser la primera distribución Linux-Live, es

decir, permite iniciar Knoppix en un PC sin necesidad de instalar nada, simplemente a

partir de un CD o un DVD de arranque. Además, gracias al desarrollo de un sistema de

compresión (cloop), se consigue sobrepasar los 650-700MB de capacidad del CD por lo

que se consigue introducir hasta 2 GB de datos.

Esto ha supuesto un claro intento de acercamiento de GNU/Linux a usuarios

menos avanzados o con menos experiencia, poniendo al alcance de todo el mundo una

distribución gratuita, diferente y sin dificultades para ejecutar o instalar en una máquina.

Page 6: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

III

De aquí surge la motivación de este proyecto, que tiene como objetivo el

desarrollo de un entorno web ameno y de fácil navegación a través del cual hacer más

accesibles las nuevas tecnologías del software libre a los usuarios. Principalmente

ofrece la posibilidad de adquirir distribuciones personalizadas o bien predeterminadas

basadas en la distribución Linux-Live por excelencia: Knoppix. También contará con

acceso a noticias relacionadas, guías, manuales, encuestas, enlaces y un foro dedicado

con el fin de ofrecer el mayor apoyo y las mayores facilidades a la comunidad de

usuarios.

La distribución Knoppix estándar puede no ajustarse a las necesidades de un

usuario, bien porque existan paquetes innecesarios en la misma o por la carencia de

otros fundamentales en otras situaciones. Un grave problema de las distribuciones

Live-CD es que pueden no tener total compatibilidad con el hardware de un

determinado usuario. Puede ser que los controladores de algún hardware de la máquina

de un usuario no estén configurados o instalados perfectamente para su pleno

rendimiento. Este proyecto soluciona este problema en cierta medida, permitiendo al

usuario crearse un Live-CD con los paquetes que específicamente necesita. La base de

la creación de distribuciones Knoppix personalizadas reside en la posibilidad de

modificar la gama de paquetes del CD, borrando los indeseados e instalando a la carta,

todo ello dentro del margen de tamaño del CD (Puede ser sobrepasado y grabado en un

DVD).

Otra posibilidad que ofrece la re-masterización es la de cambiar parte de la

configuración, donde el usuario puede establecer su propio fondo de escritorio, textos de

bienvenida, sonidos de entrada y salida del sistema y varias configuraciones más

avanzadas para crear una distribución aparentemente diferente pero con las mismas

bases que la original.

Page 7: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

“Web environment for creating custom KNOPPIX´s

distributions”

Abstract

Page 8: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

v

ABSTRACT

Free software is experiencing an era of boom and popularity today, which is

reflected in the large increase in the number of users and applications.

The project was born in 1984 created by Richard Stallman and the FSF (Free

Software Foundation) based on a very simple idea: the creation of a functional and free

operating system, which began called GNU (GNU's not Unix ).

The concept of free software refers to four main freedoms of users:

1. Freedom of using the programs for any purpose.

2. Freedom to study the programs and adapt them to their own needs.

3. Freedom to distribute copies.

4. Freedom of updating programs and make public the improvements.

Knoppix is a GNU/Linux’s distribution based in Debian and well known. This

popularity is due mainly to be the first Linux distribution Live, this means it allows start

Knoppix on a PC without installing anything, simply from a CD or DVD boot. Also,

thanks to the development of a compression system (cloop), it has accomplished to

surpass the 650-700MB capacity of the CD and it manages to install over 2 GB of data.

This was a clear attempt at rapprochement GNU / Linux users with less

sophisticated or less experience, putting in the hands of everyone around the world a

free, different distribution, and smoothly to execute or install on a machine. Here comes

the motivation for this project, which aims at developing a web environment fun and

easy to navigate through which to bring new technologies to free software users. Mainly

offers the possibility of acquiring customized distributions or predetermined based on

the Linux distribution-Live par excellence: Knoppix. Apart from this, users will have

access to related news, guides, manuals, surveys, links and a forum dedicated to

providing the widest possible support and better facilities to the user community.

Page 9: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

vi

The Knoppix standard distribution can not meet clients' needs, either because

there are unnecessary packages installed on it or the lack of other vital in other

situations. A serious problem with Live-CD distributions is that they can not have full

compatibility with the hardware of a particular user. Maybe some hardware controllers

of the user’s machine is not fully installed or configured for its full capacity. This

project solves this problem to some extent, allowing the user to create a Live-CD

distribution with packages that he specifically requires. The basis for creating custom

Knoppix distributions lies in the possibility of modifying the range of packages installed

on the CD, removing unwanted and installing to fit needs, all within the margin size of

the CD (may be exceeded and recorded on a DVD) .

Another possibility offered by the re-mastering is to change the user’s

configuration, where the user can establish its own background image, welcoming texts,

beginning and ending sounds … and endless configurations to create a more advanced

distribution apparently different but with the same engine as the original.

Page 10: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

“Entorno web para la creación de distribuciones

KNOPPIX personalizadas”

Índice

Page 11: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

viii

ÍNDICE

Capítulo 1 – INTRODUCCIÓN ........................................................................... 1

1.1 OBJETIVOS DEL PROYECTO...................................................................... 2

1.2 ALCANCE DEL PROYECTO ........................................................................ 4

1.3 METODOLOGÍA DE TRABAJO ................................................................... 5

Capítulo 2 – KNOPPIX ........................................................................................... 7

2.1 HISTORIA ....................................................................................................... 8

2.2 POSIBILIDADES .......................................................................................... 10

2.3 LIVE-CD ........................................................................................................ 11

2.4 CARACTERÍSTICAS Y CONFIGURACIÓN ESTÁNDAR ....................... 15

2.5 RE-MASTERIZACIÓN................................................................................. 16

2.5.1 REQUERIMIENTOS MÍNIMOS............................................................ 16

2.5.2 FASES DEL PROCESO......................................................................... 17

Capítulo 3 – DESARROLLO DEL PROYECTO ..................................................... 28

3.1 PRÓLOGO ..................................................................................................... 29

3.2 ENTORNO DE DESARROLLO ................................................................... 30

3.2.1 JOOMLA GESTOR DE CONTENIDOS........................................................ 32

3.2.1.1 Introducción....................................................................................... 32

3.2.1.2 Usuarios............................................................................................. 33

3.2.1.3 Extensiones......................................................................................... 34

3.2.2 APACHE SERVER.................................................................................. 41

3.2.3 PHP........................................................................................................ 42

3.2.4 MySQL.................................................................................................... 43

3.3 ANÁLISIS DEL PROBLEMA ...................................................................... 44

3.3.1 DIAGRAMA CONCEPTUAL....................................................................... 44

3.3.2 MODELO DE CASOS DE USO................................................................... 45

Page 12: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

ix

3.3.2.1 Descripción de los casos de uso............................................................. 46

3.4 IMPLEMENTACIÓN ....................................................................................51

3.4.1 INTRODUCCIÓN.......................................................................................... 51

3.4.2 PROCESO DE RE-MASTERIZACIÓN......................................................... 51

3.4.3 ENTORNO WEB............................................................................................ 76

Capítulo 4 – PLANIFICACIÓN ........................................................................ 81

4.1 INTRODUCCIÓN.......................................................................................... 82

4.2 DIAGRAMA EDT ......................................................................................... 83

4.3 PLANIFICACIÓN ......................................................................................... 84

4.4 VALORACIÓN ECONÓMICA..................................................................... 85

4.4.1 PERFILES DE TRABAJO............................................................................. 85

4.4.2 COSTES......................................................................................................... 86

Capítulo 5 – CONCLUSIONES......................................................................... 87

5.1 CONCLUSIONES DEL PROYECTO........................................................... 88

5.2 TRABAJOS FUTUROS................................................................................. 91

Capítulo 6 – BIBLIOGRAFÍA ............................................................................ 92

ANEXO A – Paquetes de la distribución Knoppix 5.1.1........................... 97

Page 13: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Capítulo 1

INTRODUCCIÓN

1

Page 14: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

2

CAPÍTULO 1 – INTRODUCCIÓN

1.1 OBJETIVOS DEL PROYECTO

El proyecto fin de carrera “Desarrollo de un entorno web para la creación de

distribuciones KNOPPIX a Medida” pretende conseguir los siguientes objetivos:

1. Desarrollo de un entorno web

Desarrollo de un entorno web de navegación fácil e intuitiva cuya principal

funcionalidad sea la creación de distribuciones KNOPPIX personalizadas.

• Desarrollo de un apartado de gestión de noticias relacionadas con el

software libre.

• Desarrollo de un apartado de encuestas en las que el usuario participa de

forma interactiva.

• Desarrollo de una sección de descargas con archivos relacionados con la

personalización de distribuciones KNOPPIX:

i. Fondos de escritorio.

ii. Imágenes Ksplash

iii. Distribuciones ya personalizadas en distintos ámbitos enfocadas a

los usuarios con menos experiencia.

• Gestión de usuarios. Registro y acceso con permisos.

• Gestión de la ayuda y soporte a través de un foro dedicado.

Page 15: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

3

2. Estudio detallado del proceso de re-masterización de KNOPPIX

El proceso de re-masterización es el pilar principal en el cual se basa este

proyecto fin de carrera. Este es un proceso complejo que se puede resumir

brevemente como adaptar una distribución KNOPPIX (en nuestro caso 5.1) a

nuestras necesidades. Se puede personalizar tanto el aspecto externo (cambiar

fondo de escritorio, imagen de arranque, sonidos de inicio y salida del

sistema…) como la configuración de paquetes, es decir, borrar paquetes de la

distribución inicial que no sean adecuados a nuestras necesidades e instalar otros

que por el contrario se necesitan o desean tener y no están instalados en la

distribución inicial. En principio, es la parte más importante y notable del

proyecto, puesto que supone una manera fácil y guiada mediante formularios

HTML de conseguir una distribución KNOPPIX personalizada.

Page 16: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

4

1.2 ALCANCE DEL PROYECTO

El proyecto que nos ocupa consiste en el desarrollo de un entorno web en el que

un usuario previamente registrado en la base de datos de la aplicación pueda crearse una

distribución GNU/Linux personalizada basada en la Knoppix 5.1. La aplicación estará

basada en formularios a través de los cuales el usuario configura paso a paso su

distribución para luego poder descargarla del sitio web.

Las principales características serán:

1. Gestión de usuarios: Registro de nuevos usuarios y petición de

login para acceder al menú de usuario en el que se encuentra la

opción de creación de la distribución Knoppix personalizada con

el fin de evitar el uso indebido de los recursos del servidor web

por parte de usuarios malintencionados.

2. Re-masterización de Knoppix: El sistema ofrecerá la posibilidad

de crear la distribución a medida de una forma guiada, sencilla y

automática para facilitar la tarea a usuarios inexpertos y

amenizarla para usuarios más experimentados. Se recopilará toda

la información requerida en el proceso de re-masterización

mediante formularios interactivos. Con esta información se creará

un script ejecutable en consola (shell script) que se almacenará en

el servidor para su posterior ejecución en tareas batch del

servidor.

3. Descarga de distribuciones: Las descargas de las distribuciones

creadas por los usuarios se efectuarán vía FTP a través de la web,

con un tiempo de vida finito en el servidor. Para facilitar dicha

tarea se avisará al usuario cuando su distribución este disponible

para descarga a través de un correo electrónico.

Page 17: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

5

1.3 METODOLOGÍA DE TRABAJO

La metodología empleada en el desarrollo del Proyecto Fin de Carrera

“Desarrollo de un entorno web para la creación de distribuciones KNOPPIX a medida”

puede describirse en las siguientes fases:

� Estudio del entorno de desarrollo

En primer lugar, se realiza una primera toma de contacto con las tecnologías

existentes enfocadas al desarrollo web:

� Estudio del ciclo de vida de aplicaciones web y funcionamiento básico

del protocol HTTP (Hypertext Transfer Protocol) en el cual se basa la

transferencia de datos (páginas web) entre un cliente (navegador web) y

un servidor.

� Estudio del manejo de lenguajes de programación en entornos web PHP

y Javascript.

� Configuración básica del servidor web y del gestor de bases de datos

asociado a él.

Nuestra poca experiencia con estas tecnologías ha supuesto un mayor esfuerzo

y dedicación durante esta fase.

� Fase de análisis

La identificación de necesidades y la adquisición del conocimiento conforman la

parte más importante del desarrollo software. Identificar las especificaciones del cliente

y adquirir el conocimiento necesario son tareas fundamentales para obtener una buena

base a partir de la cual comenzar el desarrollo del proyecto.

Page 18: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

6

� Fase de diseño y programación

En esta fase se busca el diseño lógico óptimo de la aplicación a desarrollar y su

posterior programación modular. Parte por parte se busca la mejor solución de

programación para cada una de las utilidades descritas en la fase anterior. Después de la

fase de estudio del entorno de desarrollo ésta es la fase más laboriosa y que más tiempo

requiere.

� Fase de pruebas y mejoras

Fase importante en donde se solventan los posibles errores de ejecución y se

mejora la interfaz. Un primer prototipo en funcionamiento incita a mejorar la aplicación

módulo por módulo para acercar más el proyecto a sus objetivos principales o incluso

añadir nuevos objetivos con el fin de mejorar el funcionamiento o la interfaz de la

aplicación.

� Documentación

Es la fase que está presente en casi la totalidad del desarrollo del proyecto,

puesto que durante todo el estudio y desarrollo de la aplicación se ha de documentar y

especificar por escrito todas las fases, tecnologías, herramientas y recursos empleados.

Page 19: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Capítulo 2

KNOPPIX

2

Page 20: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

8

CAPÍTULO 2 – KNOPPIX

2.1 HISTORIA

Knoppix es una distribución de GNU/Linux basada en Debian. Está desarrollada

por el consultor de GNU/Linux Klaus Knopper.

Klaus Knopper

Klaus Knopper nació en Alemania, en 1968. Es graduado en Ingeniería

Electrónica. Desde 1998, trabaja de forma independiente como Consultor en IT, además

entre sus múltiples actividades destaca como profesor, asesor, conferencista y realiza

personalizaciones para hardware. Su trabajo más reseñable y popular ha sido el Live-cd

Knoppix.

El comienzo (Demolinux)

El primer Live-CD Linux fue ‘Yggdrasil Linux’ en 1995, aunque no tubo mucho

éxito. Poco después nació DemoLinux 1.0, que se dio a conocer en Febrero del 2000 en

la "Linux Expo" que se celebró en París. Estaba basada en Mandrake 5.3 pero no así la

versión DemoLinux 2.0, que fue la Pre-release de la distribución Debian "Potato".

DemoLinux fué desarrollada por 3 estudiantes de la Universidad de Paris en Francia. Al

darse a conocer se apuntaron al proyecto varios desarrolladores americanos y

Demolinux consiguió un auge importante, publicando versiones en ingles, francés y

español.

Respecto a los requisitos técnicos, Demolinux necesitaba un AMD K6- 2 550

MHz y un mínimo de RAM de unos 32 MB para poder usar un entorno básico (twm),

64 MB para un entorno más elegante como KDE o GNOME y hasta 128 MB para el uso

Page 21: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

9

de StarOffice de Sun y The Gimp. Este sistema usaba mucha memoria y la razón es

porque el sistema usa la RAM como disco duro al no instalarse en un sistema físico. Por

ello, en la actualidad Demolinux se considera como la distribución Linux-Live

predecesora de Knoppix.

Las siguientes generaciones

El Live-CD que más auge ha tenido aprovechando el boom de Demolinux fue

Knoppix rondando el año 2003, de origen Alemán y basada en Debian. Knoppix pasó a

ser el referente de los Live-CD y de hecho actualmente se hacen Live-CD de todo tipo y

gustos basados en Knoppix.

Knoppix es una distribución muy completa, contando con todo tipo de

programas tanto para Internet como para ofimática, gráficos y desarrollo, y usa un

entorno KDE. Dado el éxito de Knoppix, los usuarios de Gnome desarrollaron Gnoppix

a principios del año 2004, versión Knoppix con el entorno Gnome en lugar del KDE

utilizado por Knoppix. Knoppix, además, incorpora la novedad de poder instalarse en el

disco duro como sistema completo lo que la hizo imparable.

Debido a la cantidad de programas que se querían introducir en el Live-CD y el

espacio que esto conlleva, se desarrolló "Comprensión cloop", un sistema que permite

sobrepasar los 650-700 MB de CD usando la capacidad del kernel drive loop, por lo que

se logra introducir hasta 2 GB de datos.

Page 22: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

10

2.2 POSIBILIDADES

Las posibilidades que ofrece Knoppix son comparables a las de cualquier

sistema operativo pero añadiendo las ventajas Live-CD. Entre los diferentes usos que se

le pueden dar podemos destacar algunas más especiales y peculiares de las

distribuciones Live-CD:

• Enseñar y demostrar de manera sencilla el sistema GNU/Linux,

especialmente como sistema operativo, siendo una forma de atraer

usuarios que lo desconocen.

• Una de las principales ventajas de estas distribuciones es la portabilidad

de las mismas, ya que en un simple CD se tiene todo un sistema

operativo listo para funcionar sin necesidad de perder tiempo en

instalación.

• Probar rápidamente la compatibilidad de hardware bajo GNU/Linux

antes de comprarlo o usarlo, especialmente para tarjeta de vídeo. Así se

puede garantizar que el hardware de nuestro ordenador es adecuado para

una próxima instalación del sistema operativo.

• Como aplicabilidad estrella de Knoppix se puede reseñar el utilizar las

herramientas incluidas para restaurar un sistema corrupto o sus datos

perdidos. Un sistema puede no arrancar o fallar en un momento dado con

el sistema operativo y mediante el arranque desde la unidad de CD con

Knoppix se puede acceder a los discos duros del sistema y usando las

herramientas necesarias se pueden recuperar datos que se podrían dar por

perdidos.

Page 23: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

11

• A diferencia de otras distribuciones Live-CD, Knoppix posee la

posibilidad de instalación de la distribución en el disco duro de manera

fácil y guiada. Con esto el sistema de archivos, que anteriormente residía

en el CD con su consecuente retardo en operaciones de lectura, pasa al

disco duro abriendo un amplio abanico de posibilidades de instalación de

más paquetes y guardado de configuraciones y archivos.

2.3 LIVE-CD

Un Live-CD o Live-DVD, es un sistema operativo almacenado en un medio

extraíble, tradicionalmente un CD o un DVD, que es capaz de ejecutarse desde éste sin

necesidad de instalarlo en el disco duro de una máquina, para lo cual usa la memoria

RAM como disco duro virtual y el propio medio como sistema de ficheros. Esto supone

un inconveniente a la hora de guardar configuraciones propias o trabajos realizados

sobre archivos, también a la hora de utilizar nuevas aplicaciones no contenidas por la

imposibilidad de instalación en el Live-CD. Para ello se suele utilizar un Pen-Drive, que

por su portabilidad facilita el trabajo a la hora de guardar archivos y configuraciones.

Con esta solución se sigue manteniendo la principal característica de los Live-CD de no

requerir instalación alguna en el disco duro.

La mayoría de los Live-CD usan el kernel linux, pero hay muchos más basados

en otros sistemas. Aquí hacemos un repaso de las distribuciones Live-CD más populares

en la actualidad divididas por sistema en el que están basadas:

1. Basados en Apple Macintosh OS

� System Folder

� BootCD

Page 24: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

12

2. Basados en BSD

� DragonFlyBSB

� FreeSBIE

� Frenzy

� NetBSD

� FuguIta

� BLACKBSD

� Jibbed

� TRUEBSD

� DesktopBSD

3. Basados en Linux

� Adrenalinux

� Anis GNU/Linux

� Aprende Click

� ArtistX

� Beatriz

� Catix

� CentOS Live-CD

� Damn Small Linux

� Debian-Live

� DNALinux

� Elive

� Famelix

� Flonix

� Gentoo

� Geubuntu

Page 25: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

13

� GoblinX

� Gnix

� Gnoppix

� Guadalinex

� GnuLinEx

� GnuStep

� K-DEMar

� Jarro Negro

� Kaella

� Kanotix

� Knoppix

� Linspire Live

� Linuxinf

� LliureX

� LNX-BBC (Linux Bootable Business Card)

� Mandriva One

� kMAX

� MEPIS

� Molinux

� Morphix

� Musix

� NimbleX

� Ominiverdi Live

� PCLinuxOS

� ROCK Linux

� Sabayon Linux

� SLAX

� OpenSuSe

� SystemRescueCD

� Trisquen

� Tumix

Page 26: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

14

� Tuquito

� Ubuntu

� ULAnix / ULAnux

� Utotu

� VENENUX

� Planktum

� Puppy Linux

� Uninortix

� Nurix

� ZENWALK

� SIDUX

4. Basados en Windows

� Hiren's boot CD.

� BartPE

� 911 Rescue CD

� Ultimate Boot CD for Windows (Windows XP)

� Avast Bart CD

� Minipe

� DIAMOND BOOT CD

� VistaPE

Page 27: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

15

2.4 CARACTERÍSTICAS Y CONFIGURACIÓN ESTÁNDAR

En este apartado resumimos las principales características de la distribución

estándar de Knoppix (en nuestro caso la versión 5.1):

• Gnome o KDE como los escritorios estándares, con Konqueror como explorador

web.

• X Multimedia System xmms con MPEG video y soporte MP3, así como Vorbis

Ogg Vorbis Audio Player.

• Programas de acceso a Internet kppp y utilidades RDSI.

• GNU Image Manipulation Program GIMP

• Herramientas para rescate de datos y reparación del sistema.

• Análisis de red y herramientas de administración.

• OpenOffice.org, la versión GPL de la bien conocida suite ofimática StarOffice.

• Muchos lenguajes de programación, herramientas de desarrollo kdevelop, entre

otros, así como librerías para desarrolladores de programas.

• Aceleración 3D gracias a X.Org 7.0 Knoppix 5.0.1

Esta versión que nos ocupa viene con la siguiente relación de paquetes instalados: (ver

anexo A).

Page 28: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

16

2.5 RE-MASTERIZACIÓN

Al proceso por el cual, a partir de una distribución básica, un usuario crea otra

nueva basada en la anterior con su propia configuración y aplicaciones se denomina re-

masterización. El Proyecto Fin de Carrera “Desarrollo de un entorno web para la

creación de distribuciones KNOPPIX a medida” tiene como objetivo principal la

consecución del proceso de re-masterización de una manera automática, sencilla y

guiada.

2.5.1 REQUERIMIENTOS MÍNIMOS

Para la consecución del proceso son necesarias las siguientes características

mínimas en el ordenador:

� 1 Gigabyte de memoria física (RAM) ���� En este caso también se

puede utilizar memoria SWAP (espacio de intercambio) que puede

sustituir a la memoria física con algún inconveniente de tiempo. Por

lo que el Gigabyte de memoria podría estar compuesto por 256 Mb

de RAM real + 750 Mb de espacio de intercambio Swap. Si lo que se

quiere es re-masterizar el DVD Knoppix se necesitarán 5 Gigabytes

de memoria mínima.

� 4 Gigabytes libres de espacio en disco ���� para copiar el sistema de

archivos descomprimido del Live-CD y trabajar añadiendo, borrando

o modificando los archivos necesarios. La partición en la que se

realiza esta gestión de ficheros requiere por su parte estar formateada

con un sistema de ficheros de Linux (ext2, ext3, xfs,…).

Por su parte el proceso con un DVD requiere 15 Gigabytes libres en

una partición de idénticas características a las anteriores citadas.

Page 29: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

17

En los siguientes apartados se desestima la opción DVD ya que no forman parte

de nuestra ocupación.

2.5.2 FASES DEL PROCESO

1.º Preparando la estructura base de ficheros

Primeramente será necesario tener configurada la conexión a Internet, en el caso

de usar DHCP estará configurado. Si se usa Wifi quizás se tengan más problemas, pero

nada más allá de una simple configuración de los parámetros de la máquina. Mediante

el comando ifconfig comprobaremos el estado. Esto es imprescindible puesto que para

la gestión de paquetes se necesita conectar con los servidores para la descarga de

paquetes que interese instalar y actualizar las dependencias de otros ya instalados.

Buscamos la partición en la que trabajará el proceso. Por ejemplo usaremos sda5

formateada en sistema de archivos ext2. Montaremos esta partición con permisos de

lectura y escritura para ello usaremos:

� mount –rw /dev/sda5 /media/sda5

Si se desea comprobar los privilegios de la partición se usa el comando:

� mount

Ahora es necesario crear el sistema de archivos para trabajar con la copia del de

Knoppix. Para ello se creará una carpeta dentro de la partición montada anteriormente y

unas subcarpetas master y source, que como su propio nombre indican albergarán la

copia personalizada y la fuente de archivos. Aquí se muestran los comandos necesarios:

Page 30: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

18

� mkdir /media/sda5/knx

� mkdir /media/sda5/knx/master/KNOPPIX

� mkdir /media/sda5/knx/source/KNOPPIX

En caso de no tener el Gigabyte libre de memoria RAM necesario para la

consecución del proceso (comprobarlo mediante el comando egrep

"(MemTotal|SwapTotal)" /proc/meminfo && echo "(physical+swap)") se ejecutará el

siguiente comando para la creación de memoria de intercambio SWAP:

� cd /media/sda5/knx

� dd if=/dev/zero of=swapfile bs=1M count=750

� mkswap swapfile

� swapon swapfile

Ahora ya tenemos las carpetas creadas, es el momento de copiar el sistema de

archivos de la distribución a la carpeta source/KNOPPIX que es donde posteriormente

realizaremos los cambios deseados en la gestión de paquetes y configuración:

� cp -Rp /KNOPPIX/* /media/sda5/knx/source &

También es necesario copiar algunos archivos puntuales a la carpeta de master

como son el index.html y la carpeta “boot” que será necesaria para la creación de la

ISO:

� cp /cdrom/index.html /media/sda5/knx/master/

� cp –ar /cdrom/boot /media/sda5/knx/master/boot

Page 31: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

19

Y por supuesto todos los archivos del cd necesarios a la carpeta /master:

� cd /cdrom;find . -size -10000k -type f -exec cp -p --parents {}

/media/sda5/knx/master/ \;

Con esto tenemos el entorno de trabajo preparado para poder continuar con el

proceso.

2.º Chroot

Antes de cambiar la raíz del sistema es necesario configurar el entorno, para

ello mediante lo siguiente:

� mount --bind /dev /media/sda5/knx/source/KNOPPIX/dev

� mount --bind /proc /media/sda5/knx/source/KNOPPIX/proc

� mount --bind /sys /media/sda5/knx/source/KNOPPIX/sys

Ahora ya está todo dispuesto para cambiar la raíz del sistema a la nueva copia de

Knoppix:

� chroot /media/sda5/knx/source/KNOPPIX

Con esto nuestra nueva raíz del sistema, es decir “/”, será a partir de ahora

“ /media/sda5/knx/source/KNOPPIX”. Así podemos cambiar todo lo deseado en la

nueva copia como si fuese el sistema de archivos legítimo.

Page 32: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

20

3.º Gestión de paquetes

Teniendo configurada la conexión a Internet correctamente, podemos empezar a

personalizar los paquetes que queremos que tenga nuestra distribución Live-CD.

Existen una serie de comandos que nos facilitan esta tarea, bien mostrando los paquetes

instalados en la distribución, los posibles a instalar o actualizando los ya instalados. La

base de toda esta gestión reside en la herramienta APT.

Advanced Packaging Tool, (APT), es un sistema de gestión de paquetes creado

por el proyecto Debian. APT simplifica en gran medida la instalación y eliminación de

programas en sistemas GNU/Linux.

No existe un programa ‘apt’ en sí mismo, sino que APT es una biblioteca de

funciones C++ que se emplea por varios programas de línea de comandos para distribuir

paquetes. En especial ‘apt-get’ y ‘apt-cache’.

Existen también programas que realizan dicha gestión mediante una interfaz

gráfica, como es el caso de ‘Synaptic’, que facilita en gran medida el trabajo a usuarios

reacios a utilizar consola. Existe un repositorio central con más de 21.000 paquetes APT

utilizados por ‘apt-get’ y programas derivados para descargar e instalar aplicaciones

directamente desde Internet, conocida como una de las mejores cualidades de Debian.

Los siguientes comandos son los empleados en la re-masterización, todos se han

de realizar con permisos de root en línea de comandos.

Primero antes de instalar o eliminar nada se recomienda realizar una

actualización de la lista de paquetes instalados en la distribución, puesto que los

paquetes GNU/Linux de Debian están siempre en continuo desarrollo e incorporando

mejoras. Para ello se ejecuta el siguiente comando:

� apt-get update

Page 33: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

21

Ahora bien, antes de instalar nada se recomienda quitar paquetes de la

distribución (la distribución Knoppix estándar viene casi al completo del CD). Para

obtener una lista de los paquetes que trae Knoppix ejecutamos:

� dpkg-query –l

Como se puede observar en una primera ejecución la lista es bastante amplia. Si

se desea obtener la misma lista pero ordenando los paquetes por tamaño ascendente:

� dpkg-query –W –showformat=’${Installed-Size} ${Package}\n’ | sort –n

Para eliminar paquetes utilizaremos:

� apt-get remove --purge nombre-paquete-a-elimiar

Y para instalar paquetes usaremos:

� apt-get install nombre-paquete-a-elimiar

Cuando eliminamos paquetes puede ser que algún paquete o librería nos quede

en nuestro sistema sin ser dependencia de ningún otro paquete o sin tener función

alguna. A estos paquetes se les denomina ‘paquetes huérfanos’ y suelen ocupar espacio

con lo que sería interesante eliminarlos.

Para mostrar estos paquetes procedemos así:

� deborphan

Page 34: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

22

Si existe alguno y lo queremos eliminar (lo más usual) ejecutamos el siguiente

comando:

� deborphan | xargs apt-get –y remove

A la hora de instalar puede ser de gran ayuda una lista con todos los posibles

(más de 13000 líneas). También se puede utilizar /<search-term> para búsquedas

específicas:

� apt-cache search .* | sort | less

Cuando se haya finalizado de eliminar e instalar paquetes una buena forma de

hacer una limpieza de datos residuales puede ser:

� COLUMNS=200 dpkg -l |grep ^rc |awk '{print $2} ' | xargs dpkg -P

También, como el sistema de paquetes Debian guarda en caché los paquetes

descargados se recomienda una limpieza del mismo ejecutando el siguiente comando:

� apt-get clean

Con esto se da por finalizada la fase de configuración de paquetes.

Page 35: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

23

4.º Configuración

En este apartado vamos a describir algunas de las muchas posibilidades que

tiene el proceso de re-masterización en lo que a personalización y configuración se

refiere. Antes recordamos que a la hora de modificar archivos de configuración es

necesario un alto conocimiento de programación y de estos archivos; cualquier

modificación puede tener consecuencias en el buen funcionamiento de la distribución

que estamos creando.

Para la personalización de la distribución tenemos varias opciones de entre las

que se han seleccionado tres para el desarrollo de nuestro proyecto que pasamos a

explicar:

� CAMBIO DEL FONDO DE ESCRITORIO: Podemos cambiar la imagen

que aparece en el escritorio de nuestra distribución de una manera sencilla.

Únicamente tenemos que copiar la imagen que elijamos en el directorio de

la copia nueva, y sustituirla por la imagen que se encuentra en:

� /media/sda5/knx/master/KNOPPIX/background.jpg

* Tenemos que tener en cuenta que dependiendo de la versión de Knoppix

que estemos empleando en el proceso de re-masterización será un archivo

diferente (versiones anteriores a la 3.4 usan ‘background.gif’).

� CAMBIO DEL GRÁFICO DE ARRANQUE: El gráfico de arranque es la

primera imagen que el usuario ve al arrancar la distribución. Un punto

importante a tener en cuenta es que esta imagen ha de ser de unas

características específicas:

o Ha de ser un gráfico de 640x400 píxeles.

o Ha de utilizar una gama de un máximo de 16 colores.

Page 36: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

24

Para llevar a cabo el cambio del gráfico de arranque es necesario realizar

los siguientes pasos:

Primero cambiamos el directorio donde vamos a realizar los cambios:

� cd /media/sda5/knx/master/boot/isolinux

Ahora creamos el gráfico que queramos con un editor de gráficos (GIMP

por ejemplo), y nos aseguramos que sea de las características

anteriormente citadas. Lo guardaremos como logo.16.gif.

Se puede emplear una imagen que en principio no sea de 16 colores pero

es crítico transformarla posteriormente mediante:

� gifttopnm < 640x400x16.gif > logo.ppm

� ppmtolss16 <logo.ppm> logo.16

� CAMBIO DEL GRÁFICO KSPLASH: Se puede cambiar los gráficos que

muestra el KDE al cargar (ksplash). Estos gráficos están en el directorio

/media/sda5/knx/source/KNOPPIX/usr/share/apps/ksplash/Themes/Default

. Lo más común es el cambio de ‘splash_top.png’ de 400x248. Se

cambiaría simplemente copiando la imagen en este directorio y

sustituyéndola por la ya mencionada ‘splash_top.png’.

Page 37: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

25

A parte de los cambios mencionados, se pueden realizar infinidad más

modificando archivos de configuración para que realice unas acciones u otras o

simplemente para que cargue unas cosas y no otras. Entre las muchas posibilidades

citamos las siguientes:

1.- Cambio de la configuración del KDE (Entorno de escritorio). Se puede

modificar casi cualquier aspecto de imagen, ya sean botones, barras,

ventanas…

2.- Cambio de los parámetros de inicio. Todos estos parámetros se generan

automáticamente mediante el script

/media/sda5/knx/source/KNOPPIX/etc/init.d/knoppix-autoconfig. Este archivo

se puede modificar a gusto del usuario.

3.- Cambio del sonido de inicio y fin de sesión.

4.- Cambio del mensaje de arranque (texto debajo del gráfico de arranque).

5.- Cambio del texto del script de inicio.

Page 38: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

26

5.º Creación de la imagen del CD

Antes de crear la imagen del CD será necesario realizar algunas operaciones de

limpieza:

� rm –rf /media/sda5/knx/source/KNOPPIX/ .rr_moved

Y también asegurarse de desmontar /sys, /proc, /dev:

� umount /dev

� umount /sys

� umount /proc

Teniendo esto podemos ejecutar el comando para crear el archivo de Knoppix

que es un sistema de ficheros basado en la norma ISO 9660 ‘cloop comprimido’:

� mkisofs -R -U -V "KNOPPIX.net filesystem" -publisher "KNOPPIX

www.knoppix.net" -hide-rr-moved -cache-inodes -no-bak -pad

/mnt/hda1/knx/source/KNOPPIX | nice -5 /usr/bin/create_compressed_fs –B 65536 -f

/mnt/hda1/isotemp - /mnt/hda1/knx/master/KNOPPIX/KNOPPIX

El estándar ISO 9660 es una norma publicada inicialmente en 1986 por la ISO,

que especifica el formato para el almacenaje de archivos en los soportes de tipo disco

compacto. El estándar ISO 9660 define un sistema de archivos para CD-ROM. Su

propósito es que tales medios sean legibles por diferentes sistemas operativos, de

diferentes proveedores y en diferentes plataformas, por ejemplo, MS-DOS, Microsoft

Windows, Mac OS y UNIX.

Page 39: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

27

Para actualizar la verificación de los md5 hash, necesarios para la integridad de

los archivos de la imagen es necesario:

� cd /mnt/hda1/knx/master

� find –type f –not –name md5sums –not –name boot.cat –not –name isolinux.bin \

-exec md5sum ‘{}’ \; > KNOPPIX/md5sums

Y ahora creamos el archive .iso de nuestra imagen de CD:

� mkisofs -pad -l -r -J -v -V "KNOPPIX" -no-emul-boot -boot-load-size 4 -boot-

info-table -b boot/isolinux/isolinux.bin –c boot/isolinux/boot.cat -hide-rr-moved -o

/mnt/hda1/knx/knoppix.iso /mnt/hda1/knx/master

Y así tenemos el archivo imagen ‘.iso’ listo para grabar a un CD.

Page 40: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Capítulo 3

DESARROLLO DEL PROYECTO

3

Page 41: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

29

CAPÍTULO 3 – DESARROLLO DEL PROYECTO

3.1 PRÓLOGO

La cantidad de usuarios de Windows (generalmente Windows Xp) supera

enormemente en porcentaje a cualquier otro sistema operativo (Apartado 1.4), pero eso

no quiere decir que sea el mejor. Cada sistema operativo tiene sus ventajas y sus

inconvenientes. Uno de los factores que más influyen a la hora de elegir uno u otro es la

facilidad de uso; esto es debido al gran problema que tiene los usuarios para adaptarse a

nuevas tecnologías y en este apartado Windows le lleva bastante ventaja a GNU/Linux.

También muchos usuarios experimentados en Windows son conocedores de sus

numerosos problemas: se bloquea fácilmente (incluso cuando ejecuta operaciones

aparentemente simples), numerosas vulnerabilidades y escasa seguridad… La mayoría

de estos usuarios se conforman con lo que tienen por el desconocimiento de otras

alternativas, o por simple pereza. El proyecto fin de carrera “Desarrollo de un entorno

web para la creación de distribuciones KNOPPIX a Medida” persigue, de algún modo,

simplificar las cosas para estas personas. Su aplicación principal permite la creación de

distribuciones a medida de una manera sencilla y guiada. Estas distribuciones son

fácilmente ejecutables y no exigen compromiso alguno en el ordenador en el que se

ejecutan, puesto que no es necesario instalar nada en el disco duro ni tampoco se

modificará nada referente al sistema de archivos que se tenga ya instalado.

Con esto se persigue que los usuarios conozcan otras alternativas al clásico

Windows de toda la vida. Probar y valorar otras alternativas puede hacer que la decisión

final a la hora de elegir el sistema operativo que corra en un ordenador no se base en:

“No conozco ningún otro” ó “Es el que me venía instalado” y se elija uno con propiedad

y criterio dependiendo del uso que se le vaya a dar a esa máquina.

Page 42: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

30

3.2 ENTORNO DE DESARROLLO

El proyecto fin de carrera “Desarrollo de un entorno web para la creación de

distribuciones KNOPPIX a Medida” consiste en una aplicación para la re-masterización

de Knoppix dentro de un entorno web con lo que los recursos y herramientas utilizados

para su consecución serán los propios de una arquitectura web.

Un cliente (navegador) envía peticiones a través de Internet al servidor web, este

se comunica con su servidor de Bases de Datos, ejecuta código o realiza las operaciones

pertinentes y devuelve paginas html al cliente.

A parte de esta estructura web necesitamos ciertos recursos, de entre los que

cabe destacar un gestor de contenidos y lenguajes de programación de alto nivel

adecuados para la programación web. En el caso de la programación se ha elegido PHP

que junto con Javascript son los lenguajes que monopolizan la programación de

entornos web.

Hacemos ahora una breve descripción de los recursos mostrados anteriormente:

Page 43: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

31

1. Servidor web: Un servidor web es un programa que implementa el

protocolo HTTP (Hypertext Transfer Protocol). Dicho protocolo tiene

como objetivo transferir hipertextos, páginas web o páginas HTML

(Hypertext Markup Languaje). Este programa se ejecuta continuamente

en un ordenador, esperando peticiones por parte de un cliente (navegador

de Internet) y respondiendo a dichas peticiones adecuadamente, mediante

páginas web que se mostrará en el navegador del cliente.

Entre los más destacables centramos el estudio en el servidor Apache por

ser software libre y muy popular, con lo que el soporte en Internet es

bastante amplio.

2. Sistema de gestión de Base de Datos: Es un tipo de software muy

específico, dedicado a servir de interfaz entre la base de datos, el usuario

y las aplicaciones que la utilizan. El principal cometido de estos sistemas

es el de manejar de manera clara, sencilla y ordenada conjuntos de datos

agrupados en tablas, tanto de manera directa (mediante sentencias SQL)

como embebida y automática en otras aplicaciones. En nuestro caso

elegimos la tecnología MySql por estar familiarizado con ella y por ser

software libre.

3. Sistema gestor de contenidos: Un Sistema gestor de contenidos

(Content Management System en inglés, abreviado CMS) es un

programa que permite crear una estructura de soporte para la creación y

administración de contenidos por parte de los participantes

principalmente en páginas web. Consiste en una interfaz que controla la

base de datos donde se aloja el contenido propiamente dicho del sitio.

Estos sistemas permiten aislar el contenido del diseño de la página web

con lo que se puede modificar el aspecto de la web sin tocar el contenido.

Page 44: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

32

3.2.1 JOOMLA GESTOR DE CONTENIDOS

3.2.1.1 Introducción

Joomla es un sistema de administración de contenidos de código abierto

construido con PHP bajo una licencia GPL. Este administrador de contenidos se usa

para publicar en Internet e intranets utilizando una base de datos MySQL. En Joomla se

incluyen características como: hacer caché de páginas para mejorar el rendimiento,

versiones imprimibles de páginas, flash con noticias, blogs, foros, encuestas,

calendarios, búsqueda en el sitio web, e internacionalización del lenguaje. Su nombre es

una pronunciación fonética para anglófonos de la palabra swahili jumla que significa

"todos juntos" o "como un todo". Se escogió como una reflexión del compromiso del

grupo de desarrolladores y la comunidad del proyecto.

La primera versión de fue publicada el 16 de septiembre de 2005. Se trataba de

una versión mejorada de Mambo 4.5.2.3 combinada con otras modificaciones de

seguridad y anti-bugs. Actualmente se ha publicado Joomla 1.5 Stable bajo un código

completamente reescrito y construido bajo PHP 5.

Page 45: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

33

3.2.1.2 Usuarios

Un sistema gestor de contenidos permite a los usuarios, dependiendo de los

privilegios otorgados, editar, modificar o eliminar contenidos. De esta forma existen

usuarios que sin ser administradores tienen la posibilidad de subir documentos e

interaccionar en mayor medida con el entorno web.

Existen cuatro tipos de usuarios en joomla dependiendo de los privilegios

otorgados, en la siguiente tabla se muestran las posibilidades de cada uno. Como

podemos observar el administrador posee todos los privilegios y el contribuyente

únicamente puede crear entradas nuevas sin siquiera poder publicarlas.

En nuestro desarrollo en un principio hemos tomado la decisión de que sólo los

usuarios registrados puedan descargarse distribuciones ya configuradas o crearse la suya

propia.

Page 46: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

34

3.2.1.3 Extensiones

Las extensiones en Joomla hacen referencia a módulos desarrollados en entornos

Joomla que permiten crear otro tipo de contenidos, no sólo artículos y posts. En nuestro

caso, la utilidad principal esta basada en formularios HTML programados con PHP, con

lo que hemos tenido que instalar extensiones acordes a nuestro trabajo que explicaremos

más adelante.

La instalación básica de Joomla contiene los siguientes componentes:

� Banners���� son los anuncios de portada en forma de imágenes.

� Contactos���� se trata de que cualquier persona pueda dirigirse a un

miembro de la administración por medio de correo electrónico.

� Correo masivo���� es la opción de enviar mensajes de correo a todos o a

parte de los usuarios, privilegio de los administradores del portal.

� Encuestas���� es el componente que permite realizar encuestas.

� Enlaces web���� se trata de enlaces a páginas web de interés.

� Noticias externas���� son enlaces a páginas web que permiten mostrar los

títulos y el contenido de sus artículos mediante la tecnología RSS

(sencillo formato de datos que es utilizado para redifundir contenidos a

suscriptores de un sitio web).

� Sindicación� aquí se organizan los llamados ‘feeds’ del portal, es decir,

los archivos que permiten a cualquier visitante publicar en otro gestor las

noticias de nuestro portal en forma de titular con la tecnología RSS.

Page 47: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

35

ChronoForms

A parte de estas la principal herramienta de trabajo empleada es la extensión

llamada ChronoForms que permite una creación, tratamiento y gestión de formularios

HTML dentro de un entorno web joomla. La apariencia de la pantalla principal es la

siguiente:

Aquí encontramos todos los formularios creados con opciones generales de cada

uno como copiar formulario, publicar o ‘despublicar’ en la web, borrar…

Cada formulario tiene infinidad de posibilidades de configuración de las cuales

describiremos las más relevantes en nuestro trabajo:

Page 48: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

36

En la pestaña general se editan la configuración y datos principales del

formulario, entre todas las opciones describimos las principales y más empleadas en

nuestros formularios:

� Email the results: opción para enviar un correo electrónico tras ejecutar el

‘submit’ del formulario.

� Datos del email: en caso de enviar email, se necesitarán los campos del

mismo: dirección, asunto, CC, BCC.

� Form tag attachment: En nuestro caso utilizamos

“enctype='multipart/form-data'” que nos permite la subida de archivos al

servidor a través del formulario.

� Form method: POST o GET, dependiendo de la funcionalidad del

formulario, en nuestro caso POST puesto que requerimos de subida de

archivos.

� Debug: ChronoForms tiene la opción de debug de código en los formularios,

una utilidad muy importante y que facilita en gran medida la programación.

Mediante esta herramienta podemos conocer el estado de las variables

empleadas en nuestro código PHP ejecutado en el formulario y conocer

errores ahorrando los ineficientes print/echo.

Page 49: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

37

En esta pestaña se escribe el código asociado a cada formulario, como podemos

observar existen varios apartados. El principal es el del código HTML que puede ser de

dos formas:

� Estático: El código se escribe directamente en HTML nativo y se

genera siempre de igual manera, sin variaciones. Podemos llamarlo

formulario clásico. El ejemplo de código escrito en la figura anterior

es estático.

� Dinámico: El código HTML se genera dinámicamente a partir de

otro código. En nuestro caso, hemos tenido que generar tablas HTML

dinámicamente con paquetes dependiendo de parámetros obtenidos

en formularios anteriores por lo que el código PHP de estos

formularios sigue un flujo que imprime mediante echo código HTML

dependiendo de esos parámetros. Veremos el código empleado más

adelante.

Page 50: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

38

A parte de código HTML tiene la opción de incluir código Javascript, aunque en

nuestros formularios lo hemos evitado en la medida de lo posible. En alguno hemos

empleado alguna función Javascript para manejar eventos, pero nuestra decisión en

cuanto a programación se refiere ha sido PHP en la medida de lo posible.

Existen dos opciones para incluir código PHP que sólo serán empleadas en el

caso que se haya seleccionado la opción de envío posterior de email con los resultados,

pudiendo diferenciar entre código ejecutado previa y posteriormente al envío de dicho

email. En nuestro caso al no emplear en ningún formulario el envío de email, hemos

utilizado únicamente la opción de ejecución de código posterior, que viene a ser el

código PHP que se ejecuta cuando se presiona el botón de ‘submit’ del formulario.

También tiene la posibilidad de incluir Anti-Spam, con el objeto de evitar

saturación y peticiones masivas. En nuestro caso hemos desestimado la opción en todos

los formularios, ya que resultaría pesado para el usuario introducir en cada formulario

información extra no relevante para la creación de distribuciones; y estos formularios a

modo de pasos buscan fundamentalmente simplicidad para el usuario.

Page 51: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

39

Gestor de archivos

Otra extensión instalada a destacar es el gestor de archivos, mediante el cual,

como su propio nombre indica, se gestionan archivos en una página web. En la

siguiente imagen vemos el menú principal de la extensión:

Al principio se indican las rutas de las carpetas destinadas para la subida y

descarga de archivos. Ahora haremos una breve descripción de las opciones de

configuración y gestión más empleadas en el desarrollo del proyecto fin de carrera

“Desarrollo de un entorno web para la creación de distribuciones KNOPPIX a

Medida”.

Page 52: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

40

En primer lugar vemos las opciones de administración:

� Administrar secciones: con ello podemos diferenciar los archivos en

el servidor mediante la creación de secciones que pueden ser

comparables a carpetas en un sistema de archivos.

� Administrar archivos: para gestionar los archivos del servidor,

incluyendo cada uno en la sección que corresponda con las opciones

que se deseen. Se pueden añadir archivos en local.

� Configuración: permite modificar opciones de configuración, como

tamaños de archivos, rutas empleadas, número máximo de archivos

descargados por un usuario, permisos….

A parte de la administración el módulo contiene herramientas para la gestión y

mantenimiento de los archivos, así como de información y de estadísticas de la gestión.

Como ejemplo pueden revisarse los logs de descargas, los archivos más descargados….

No es una parte fundamental de nuestro trabajo con lo que evitamos describirlas ya que

a penas se han empleado.

En nuestro proyecto, el gestor de archivos nos sirve de gran utilidad, lo

utilizaremos para la descarga de las distribuciones personalizadas de cada usuario, para

descarga de distribuciones ‘preconfiguradas’ y para descargas de fondos de escritorio,

imágenes ksplash y gráficos de arranque que ayuden al usuario en la creación de su

distribución personalizada.

Page 53: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

41

3.2.2 APACHE SERVER

El servidor HTTP Apache

servidor HTTP de código abierto

multiplataforma, que implementa el

protocolo http. Otorga a la máquina en

la que se ejecuta la capacidad de

funcionar como un sitio virtual.

Apache presenta entre otras características mensajes de error altamente

configurables, bases de datos de autenticación y ejecución de lenguajes de alto nivel. La

arquitectura del servidor Apache es muy modular. El servidor consta de una sección

‘core’ y diversos módulos que aportan mucha de la funcionalidad que podría

considerarse básica para un servidor web.

En nuestra máquina fue instalada la versión Apache 2.2.4.

Page 54: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

42

3.2.3 PHP

PHP es un acrónimo que

significa Hypertext Pre-processor.

Publicado bajo la PHP License. La Free

Software Foundation considera esta

licencia como software libre. Es un

lenguaje de programación interpretado,

diseñado originalmente para la creación

de páginas web dinámicas. Al contrario

que Javascript, es usado principalmente

en interpretación del lado del servidor

(código ejecutado en la máquina

servidora y no en la máquina cliente).

PHP es un lenguaje de propósito general ampliamente usado y que está

diseñado especialmente para desarrollo web y, como se ha explicado en la sección

ChronoForms puede ser embebido dentro de código HTML para generar ese

dinamismo que lo describe. Se ejecuta en un servidor web, tomando el código en PHP

como su entrada y creando páginas web como salida. Puede ser desplegado en la

mayoría de los servidores web y en casi todos los sistemas operativos y plataformas sin

costo alguno.

La versión empleada en el desarrollo de este trabajo ha sido PHP 5.2.3.

Page 55: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

43

3.2.4 MySQL

Como ya se ha mencionado en

la introducción de este capítulo,

MySQL es el servidor de base de datos

empleado por el gestor de contenidos

Joomla. Es un sistema de gestión de

bases de datos relacionales, multihilo

(permite ejecución simultánea de tareas)

y multiusuario (permite proveer servicio

simultáneamente a varios usuarios).

La tecnología mencionada anteriormente no tiene mucho sentido por

separado, pero conjuntamente forman la herramienta de desarrollo web más empleada y

de las más potentes de la actualidad. En muchas ocasiones, generalmente en entornos

Microsoft Windows se encuentran aplicaciones preparadas para trabajar así en el

mercado, sea el ejemplo de XAMP que engloba Apache server, MySQL y PHP. Estas

herramientas son la base fundamental del entorno de desarrollo del proyecto fin de

carrera “Desarrollo de un entorno web para la creación de distribuciones KNOPPIX a

Medida”.

Page 56: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

44

3.3 ANÁLISIS DEL PROBLEMA

El principal problema con el que se encuentra un analista de sistemas es

interpretar las necesidades del cliente y ajustar el alcance del sistema a desarrollar

conforme a esas necesidades. Este paso es considerado el más importante y constituye

la base de cualquier proyecto de desarrollo de sistemas. Para este análisis se ha

empleado un diagrama conceptual con los objetos relacionados en el problema a tratar y

se ha desarrollado el modelo de los casos de uso que simulan las funcionalidades del

sistema.

3.3.1 DIAGRAMA CONCEPTUAL

USUARIO

SERVIDOR WEB

BB.DD.

SECCIÓN REMASTERIZACIÓN

� Accede a través � Introduce datos necesarios � Interacciona

SISTEMA DE ARCHIVOS

� Almacena configuración y ficheros necesarios

� Conecta

� Interacciona

NAVEGADOR WEB

Page 57: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

45

3.3.2 MODELO DE CASOS DE USO

Mediante este modelo se pretenden identificar los actores que intervienen en

los procesos del sistema plasmando de una manera modular las acciones que realiza

dicho sistema respondiendo a los estímulos de los actores.

En nuestro modelo existe un único actor que representamos como el usuario.

Este usuario interacciona con el sistema de varias formas y eso es lo que se pretende

representar con los siguientes casos de uso.

Usuario

Login

Subir archivo

Lectura paquetes

Escritura paquetes

REMASTERIZACIÓN

Page 58: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

46

3.3.2.1 DESCRIPCIÓN DE CASOS DE USO

En este apartado describimos los casos de uso representados en el apartado anterior:

� Login: El actor principal se autentica en el sistema, introduciendo nombre

de usuario y contraseña.

� Lectura de paquetes: El actor principal selecciona las opciones que desea y

el sistema muestra los paquetes correspondientes a esa selección.

� Escritura de paquetes: El actor principal selecciona los paquetes que desea

y estos son escritos en un archivo que será utilizado en el proceso posterior

de re-masterización.

Ahora pasaremos a describir el proceso de cada caso de uso con más detalle.

Nótese que en esta descripción detallada no se especifican todos los posibles escenarios

ya que podría llegar a ser repetitivo. Con el fin de que este documento sea plenamente

comprensible para el lector se ha expuesto el escenario principal en el que se

desarrollan estos casos de uso.

Page 59: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

47

Login

Caso de uso Login

Actor Primario Usuario

Trigger El usuario selecciona la opción identificarse.

Precondiciones

CURSO DE EVENTOS

Acción del actor Respuesta del sistema

1. El usuario introduce su nombre y

contraseña

2. El sistema comprueba que el usuario

existe y que la contraseña corresponde a

ese usuario.

3. El sistema muestra mensaje de

bienvenida

Page 60: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

48

Subir archivo

Caso de uso Subir archivo

Actor Primario Usuario

Trigger El usuario selecciona la opción de re-masterización.

Precondiciones El usuario ha de estar autenticado

CURSO DE EVENTOS

Acción del actor Respuesta del sistema

1. El sistema muestra el formulario de

petición de archivo correspondiente

(Pasos 1,2 y 3). *

2. El usuario selecciona el archivo que

desea subir al servidor correspondiente a

la petición realizada por el sistema.

3. El sistema comprueba la extensión del

archivo y lo guarda en la carpeta y con el

nombre correspondientes.

4. El sistema actualiza el archivo del

script y muestra el siguiente formulario.

* Durante el proceso de re-masterización el sistema pedirá al usuario tres archivos

correspondientes al fondo de escritorio, imagen ksplash y gráfico de arranque.

Este caso de uso es representativo de los tres procesos debido a su gran similitud.

Page 61: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

49

Leer paquetes

Caso de uso Leer paquetes

Actor Primario Usuario

Trigger El usuario pulsó siguiente tras subir los archivos.

Precondiciones El usuario ha de estar autenticado

CURSO DE EVENTOS

Acción del actor Respuesta del sistema

1. El sistema muestra el formulario de

instalar paquetes. (Paso 4/5)

2. El usuario selecciona el archivo del

repositorio y la sección que desea

comprobar.

3. El sistema recoge los datos del usuario

y ejecuta una lectura del archivo

correspondiente.

4. El sistema muestra en una tabla los

paquetes correspondientes.

Paquetes: Se mostrará el nombre del paquete junto con su sección y su tamaño

tras la instalación.

Page 62: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

50

Escribir paquetes

Caso de uso Escribir paquetes

Actor Primario Usuario

Trigger

Precondiciones El usuario ha de estar autenticado

CURSO DE EVENTOS

Acción del actor Respuesta del sistema

1. El usuario selecciona los paquetes que

desea eliminar (o añadir dependiendo si

está en el paso 4 ó 5) **

2. El sistema recoge los paquetes y crea

un archivo para la desinstalación con los

paquetes seleccionados (o de instalación)

Paquetes: Se escribirá el nombre del paquete separados por un salto de línea

para facilitar su posterior lectura en el proceso de re-masterización.

** Los casos de uso lectura y escritura de paquetes se dan en los pasos 4 y

5 de la re-masterización. Cuando el usuario está eliminando paquetes se realiza

una lectura de los paquetes base de un archivo de texto; y cuando está instalando

se realiza una lectura del repositorio seleccionado.

En el caso de la escritura se realiza escritura de un archivo para los

paquetes a instalar y otro para los paquetes a desinstalar por lo que el caso de uso

es usado en ambos escenarios.

Page 63: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

51

3.4 IMPLEMENTACIÓN

3.4.1 INTRODUCCIÓN En este apartado se describe la implementación de la principal función del

entorno web. En la etapa de análisis anterior se ha expuesto el objetivo principal del

proyecto: re-masterización. Se ha dividido el proceso en módulos que se ordenarán

formando una secuencia de formularios web que irán aportando la información

necesaria al servidor. Paralelamente a la captura de esta información se construye un

archivo de ejecución en ‘shell’ (línea de comandos), que se auto-ejecutará en el

servidor posteriormente para crear la copia personalizada de cada usuario.

Este proceso no puede realizarse on-line, con el usuario en el otro lado de la

pantalla, puesto que partes de la ejecución del script de re-masterización pueden tardar

varios minutos. Un claro ejemplo de lentitud puede ser uno de los primeros pasos, en

donde se copia el sistema de archivos del Knoppix sobre el cual se harán las

modificaciones posteriores que ocupa alrededor de dos Gigabytes. También el proceso

de instalación de paquetes se realiza descargando uno por uno de Internet, lo cual

supone mucho tiempo de espera.

A la vista de los anteriores inconvenientes se ha decidido que el script se cree

mientras el usuario realiza la configuración personal y el script pueda ser ejecutado

mediante un gestor de ejecución de procesos automático.

3.4.2 PROCESO DE RE-MASTERIZACIÓN

En este apartado describimos la implementación del proceso de re-

masterización mediante formularios en el entorno web.

Ahora pasamos a describir las partes de código que representan la lógica del

proceso formulario a formulario:

Page 64: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

52

Formulario 1

En este primer formulario se ofrece al usuario la posibilidad de modificar su

imagen de fondo de escritorio en la distribución que se quiere personalizar. El código

que genera este formulario es estático, es decir, siempre es el mismo, no se crea en

tiempo de ejecución:

Como puede observarse únicamente consta de un campo del tipo file para

subir el archivo al servidor, y un botón del tipo submit (Siguiente) para confirmar el

formulario. A continuación se muestra el código PHP que es ejecutado cuando se pulsa

el botón de siguiente:

<style> @import url(templates/form.css); </style> <p align="center"> <h1><strong><u>Paso 1 - Fondo de escritorio</u></strong></h1> </p> <p align="center">Cambiar fondo de escritorio: <input name="file" type="file" id="archivo"> </p> No quiero modificar la imagen de background<INPUT type="checkbox" name="check1"> <input name="boton" type="submit" id="boton" value="Siguiente">

Page 65: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

53

En este primer paso se comprueba la extensión del archivo seleccionado para

subir al servidor por parte del usuario mediante la función getExtension(). También se

crea el script y se empieza a escribir con las primeras líneas. En los próximos pasos se

actualizará este archivo con nuevas líneas.

<? function getExtension($str) { $i = strrpos($str,"."); if (!$i) {

return ""; } $l = strlen($str) - $i; $ext = substr($str,$i+1,$l); return $ext; } $usuario =& JFactory::getUser(); $user = $usuario->name; $destino = '/var/www/carpeta_joomla/upload' ; $filename = stripslashes($_FILES['file']['name']); $extension = getExtension($filename); $extension = strtolower($extension); $nombre=$destino.'/'.$user; $fp=fopen($nombre, 'a'); fwrite($fp, "#! /bin/bash\r\n"); $linea='mkdir /media/sda5/knx'.$user; fwrite($fp, $linea); fwrite($fp,"\r\n"); $linea='mkdir -p /media/sda5/knx'.$user.'/master'; fwrite($fp, $linea); fwrite($fp,"\r\n"); $linea='mkdir -p /media/sda5/knx'.$user.'/source'; fwrite($fp, $linea); fwrite($fp,"\r\n"); $linea='cp -Rp /media/sda5/source /media/sda5/knx'.$user.'/'; fwrite($fp, $linea); fwrite($fp,"\r\n"); $linea='cp -Rp /media/sda5/master /media/sda5/knx'.$user.'/'; fwrite($fp, $linea); fwrite($fp,"\r\n"); fclose($fp);

Page 66: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

54

En esta segunda parte del código se direcciona la secuencia a un formulario u

otro dependiendo del archivo subido. Si se ha seleccionado la opción de ‘No deseo

cambiar la imagen de background’ mediante el checkbox correspondiente el proceso

continuará al siguiente paso sin escribir la línea de cambiar la imagen en el script. Si

por el contrario se ha seleccionado una imagen, el proceso subirá la imagen a la

carpeta: /var/www/carpeta_joomla/upload/'.$user.'background.jpg donde $user es la

variable que almacena el nombre del usuario registrado que está realizando el proceso.

Esto se realiza con el fin de obtener una carpeta personal con la configuración de cada

usuario en tiempo de ejecución para así poder separar datos de un usuario u otro.

if(( $_POST[check1] == "on" )) {

header("Location:index.php?option=com_chronocontact&chronoformname=knoppixpersonalizado1"); } else {

if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif"))

{ header("Location:index.php?option=com_chronocontact&chronoformname=knoppi

xpersonalizado");

} else {

copy($_FILES['file']['tmp_name'], $destino.'/'.$user .$_FILES['file']['name']);

$fp=fopen($nombre, 'a'); $linea='cp /var/www/carpeta_joomla/upload/'.$user.'background.jpg

/media/sda5/knx'.$user.'/master/KNOPPIX/background.jpg'; fwrite($fp, $linea); fwrite($fp,"\r\n"); fclose($fp);

header("Location:index.php?option=com_chronocontact&chronoformname=knoppi

xpersonalizado1"); }

} ?>

Page 67: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

55

Formulario 2

Este segundo formulario y el tercero son prácticamente iguales. En todos ellos

se le da la posibilidad al usuario de cambiar archivos para personalizar externamente la

distribución. En este apartado se trata de la imagen ksplash de la distribución, que es la

imagen que aparece cuando se inicia el kde (entorno de escritorio). El código html es

muy similar al anterior, se añade un nuevo botón de ‘Atrás’ que permite regresar al

paso anterior mediante una función Javascript que retrocede un paso en el historial de

visitas:

El código PHP que se ejecuta tras confirmar el formulario también es muy

similar al anterior, por lo que ahorraremos espacio introduciendo ahora únicamente los

cambios con respecto al anterior. También se emplea la función getExtension() para

comprobar la extensión del archivo subido. Los direccionamientos obviamente son

<style> @import url(templates/form.css); </style> <p align="center"> <h1><strong><u>Paso 2 - Imagen de arranque del KDE</u></strong></h1> </p> <p align="center">Cambiar ksplash (Grafico .png 400x248): <input name="file" type="file" id="archivo"> </p> No quiero modificar la imagen ksplash<INPUT type="checkbox" name="check1"> <input type=button value="Atrás" onClick="history.go(-1)"> <input name="boton" type="submit" id="boton" value="Siguiente">

Page 68: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

56

diferentes al anterior, y la línea que nos interesa para el script (en caso de que se haya

seleccionado una imagen adecuada) se crea de la siguiente manera:

Formulario 3

Observamos la similitud entre los tres primeros formularios, ahora el usuario

puede subir al servidor una imagen para el gráfico de arranque de las proporciones

indicadas. El código es muy similar al empleado en los dos formularios anteriores con

lo que no lo especificamos a fin de no ser repetitivos. Cabe destacar la nueva línea que

se escribiría al actualizar el archivo script de nuevo:

copy($_FILES['file']['tmp_name'], $destino.'/'.$user .$_FILES['file']['name']); $nombre=$destino.'/'.$user; $fp=fopen($nombre, 'a'); $linea='cp /var/www/carpeta_joomla/upload/'.$user.'ksplash.png /media/sda5/knx'.$user.'/source/KNOPPIX/usr/share/apps/ksplash/Themes/Default/splash_top.png'; fwrite($fp, $linea); fwrite($fp,"\r\n"); fclose($fp); header("Location:index.php?option=com_chronocontact&chronoformname=knoppixpersonalizado2"

Page 69: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

57

Como en el caso anterior, primero se copia la imagen en la carpeta de upload

del servidor y posteriormente se escribe una nueva línea en el script y se direcciona al

formulario correspondiente.

Formulario 4

Ya hemos llegado a la parte de la gestión de paquetes. El formulario anterior

muestra la parte correspondiente a la desinstalación de paquetes de la distribución base

del Knoppix. El usuario puede seleccionar paquetes a eliminar. Dichos paquetes están

organizados por orden alfabético donde cada letra contiene una referencia. En el

siguiente fragmento se muestra el código HTML que genera el formulario:

copy($_FILES['file']['tmp_name'], $destino.'/'.$user .$_FILES['file']['name']); $nombre=$destino.'/'.$user; $fp=fopen($nombre, 'a'); $linea='cp /var/www/carpeta_joomla/upload/'.$user.'logo.16.gif /media/sda5/knx'.$user.'/master/boot/isolinux/logo.16.gif'; fwrite($fp, $linea); fwrite($fp,"\r\n"); header("Location:index.php?option=com_chronocontact&chronoformname=desinstalapaquetes");

Page 70: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

58

Podemos observar que al final del formulario se incluyen dos enlaces a otros

formularios: uno hace referencia al formulario de instalación de paquetes y el otro al

siguiente paso en el proceso (cuando se haya finalizado de instalar y desinstalar

paquetes). Para hacer el proceso más interactivo se da la posibilidad al usuario de

alternar entre instalación y desinstalación de paquetes, unificando así los dos procesos

en un único paso a vista del usuario.

También se puede observar que este formulario no tiene código PHP

asociado al botón de siguiente (‘submit’). Lo único que requeriría ser programado sería

el paso de la variable ‘letter’ de este formulario al siguiente, puesto que el formulario al

<style> @import url(templates/form.css); </style> <p align="center"> <h1><strong><u>Paso 4 - Eliminar/Instalar paquetes</u></strong></h1> </p> <p align="center"> Paquetes correspondientes a la distribución Knoppix 5.1 - Eliga los paquetes que desee eliminar </p> <a href="index.php?&letra=a&option=com_chronocontact&chronoformname=desinstalapaquetesA&letter=a">[ A ]</a> <a href="index.php?option=com_chronocontact&chronoformname=desinstalapaquetesA&letter=b">[ B ]</a> //…………………. <br> <br> <br> <input type=button value="Instalar Paquetes" onclick = "location='index.php?option=com_chronocontact&chronoformname=instalapaquetes1'" > <input type=button value="Crear ISO" onclick = "location='index.php?option=com_chronocontact&chronoformname=knoppixpersonalizado5'" >

Page 71: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

59

que enlazan las letras del abecedario necesita saber la letra elegida para con ella sacar

los paquetes de un archivo paquetes.txt (contiene todos los paquetes de la distribución

Knoppix 5.1) ubicado en una carpeta del servidor. Este archivo ha sido generado

mediante el comando:

Con “>> paquetes.txt” conseguimos que el listado completo de paquetes

(salida del comando) se guarde en un archivo paquetes.txt.

Formulario 5

Este formulario se genera de forma dinámica, mediante código PHP embebido

en el HTML del formulario. Así el formulario es válido para cualquier letra

seleccionada. Este parámetro se envía de un formulario a otro mediante la URL, así se

direcciona al mismo formulario pero con la variable ‘letter’ especificada en cada

referencia:

index.php?option=com_chronocontact&chronoformname=desinstalapaquetes&letter=b

Page 72: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

60

Ahora mostramos el código HTML que genera dinámicamente el formulario:

<? $usuario =& JFactory::getUser(); $user = $usuario->name; echo "<table id='tablapaquetes' border = '1'> \n"; echo "<tr>"; echo "<td bgcolor='#FF0000'><strong> </strong></td>"; echo "<td align='center' bgcolor='#FF0000'><strong>Paquete</strong></td>"; echo "<td align='center' bgcolor='#FF0000'><strong>Tamaño</strong></td>"; echo "<tr>"; $i=0; $tam=0; $letra=$_GET['letter']; $fichero='/var/www/carpeta_joomla/listas/paquetes.txt'; $archivo = fopen ($fichero, "r"); while (!feof ($archivo)) { while($linea = fgets($archivo)) { $temp1=substr ($linea, 0, 6); $size=trim($temp1); $num=(int)$size; $temp=substr ($linea, 6, 25); $pack=trim($temp); if($pack[0]==$letra[0]) { echo "<td> <input type='checkbox' name='chk[]' value='$i'></td>"; echo "<td <input type='text' name='paquetes[]' value='$pack'></td>"; echo "<td <input type='text' name='tamano[]' value='$size'></td>"; echo "</tr>"; $i++; } } } echo "</table>"; $nombre = '/var/www/carpeta_joomla/listas/actual'.$user.'.txt'; $fp=fopen($nombre, 'r'); while (!feof ($fp)) { while($linea = fgets($fp)) { $temp=substr ($linea, 0, 15); $tam=trim($temp); $size=(int)$tam; } } fclose($fp); $porcentaje=($size/2255166)*100; echo '<br>'; echo 'Tamaño aproximado de ocupación CD: '; echo $porcentaje; ?> <p align="center"><INPUT type="submit" name="boton1" value="Eliminar de la distribución"></p>

Page 73: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

61

Como se puede observar el código entre los símbolos “<? ?>” es PHP

embebido en HTML. Mientras se lean líneas del fichero paquetes.txt generará una fila

de la tabla con su correspondiente tamaño asociado y un checkbox para su selección. El

siguiente código que se ejecuta al validar el formulario (‘Eliminar de la distribución’)

simplemente guarda en otro fichero de texto (unins$nombre_usuario.txt), los paquetes

seleccionados y realiza unos cálculos estimados del tamaño que conlleva la operación

sobre la distribución final.

<?php $usuario =& JFactory::getUser(); $user = $usuario->name; $array = $_POST['chk']; $array1 = $_POST['paquetes']; $array2 = $_POST['tamano']; for($a=0;$a<count($array);$a++) { $nombre = '/var/www/carpeta_joomla/listas/actual'.$user.'.txt'; $fp=fopen($nombre, 'r'); while (!feof ($fp)) { while($linea = fgets($fp)) { $temp=substr ($linea, 0, 15); $tam=trim($temp); $size=(int)$tam; } } fclose($fp); $num=$array[$a]; $size1=(int)$array2[$num]; $tama=$size-$size1; $fp=fopen($nombre, 'w+'); $linea=$tama; fwrite($fp, $linea); fclose($fp); $destino = '/var/www/carpeta_joomla/upload'; $nombre=$destino.'/unins'.$user; $fp=fopen($nombre, 'a'); $linea=$array1[$num]; fwrite($fp, $linea); fwrite($fp,"\r\n"); fclose($fp); } header("Location:index.php?option=com_chronocontact&chronoformname=desinstalapaquetes"); ?>

Page 74: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

62

Al ejecutar el código puede observarse que nos enlaza de nuevo con el

formulario principal de desinstalación de paquetes para poder seleccionar otra letra de

nuevo. Tras eliminar todos los paquetes deseados se seleccionará “Instalar paquetes” o

“Continuar con el siguiente paso”.

Formulario 6

En este formulario se gestiona la instalación de paquetes en la distribución.

Este formulario tiene dos opciones de instalación definidas: una para buscar un paquete

por su nombre y otra para buscar según los repositorios de Ubuntu. Hemos utilizado los

repositorios de Ubuntu por ser la distribución, también basada en Debian (paquetes

válidos), que tenemos funcionando en la máquina servidora.

Ubuntu divide todo el software en cuatro secciones, llamadas componentes,

para mostrar diferencias en licencias y la prioridad con la que se atienden los problemas

que informen los usuarios. Estos componentes son: main, restricted, universe y

multiverse. Pasamos a describir brevemente sus diferencias:

Page 75: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

63

� Main (SOPORTADO OFICIALMENTE): El componente main contiene

solamente los paquetes que cumplen los requisitos de la licencia de

Ubuntu, y para los que hay soporte disponible por parte de su equipo. Éste

está pensado para que incluya todo lo necesario para la mayoría de los

sistemas Linux de uso general. Los paquetes de este componente poseen

ayuda técnica garantizada y mejoras de seguridad oportunas.

� Restricted (COPYRIGHT RESTRINGIDO): El componente restricted

contiene el programa soportado por los desarrolladores de Ubuntu debido

a su importancia, pero que no está disponible bajo ningún tipo de licencia

libre para incluir en main. En este lugar se incluyen los paquetes tales

como los controladores propietarios de algunas tarjetas gráficas, como por

ejemplo, los de ATI y nVIDIA. El nivel de la ayuda es más limitado que

para main, puesto que los desarrolladores puede que no tengan acceso al

código fuente.

� Universe (MANTENIDO POR LA COMUNIDAD): El componente

universe contiene una amplia gama de programas, que puede o no tener

una licencia restringida, pero que no recibe apoyo por parte del equipo de

Ubuntu. Esto permite que los usuarios instalen toda clase de programas en

el sistema guardándolos en un lugar aparte de los paquetes soportados:

main y restricted.

� Multiverse (SOFTWARE NO LIBRE): Finalmente, se encuentra el

componente multiverse, que contiene los paquetes sin soporte debido a

que no cumplen los requisitos de Software Libre.

Page 76: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

64

A parte de elegir componente, al usuario se le pide también que elija entre las

diferentes secciones en las que se organizan los paquetes dentro de los componentes

mencionados. Estas secciones son las siguientes:

Admin Paquetes de administración (backup, herramientas de hardware,

métodos de autentificación, etc.).

Base Paquetes para una distribución básica.

Comm Paquetes de comunicaciones (faxes, accesos remotos, etc.).

Devel Desarrollo de programas (compiladores, ficheros de cabecera,

herramientas de programación, etc.).

Doc Documentación y revistas electrónicas.

Editors Editores de texto.

Electronics Programas de electrónica y diseño de circuitos.

Games Juegos y programas de aprendizaje.

Graphics Paquetes de gráficos (3D, scaners, conversores, etc.).

Hamradio Paquetes de comunicación por emisoras de radioaficionado.

Interpreters Lenguajes interpretados y sus extensiones.

Libs Bibliotecas de funciones.

Mail Gestores y clientes de correo, gestores de listas, etc.

Page 77: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

65

Math Programas de cálculos matemáticos.

Misc Variados (servidores SQL, agendas, calendarios, etc.).

Net Paquetes de red (gestión de redes, servidores FTP, DNS, SMB,

etc.).

News Servidores y clientes de noticias (NNTP).

Oldlibs Bibliotecas de funciones antiguas (para compatibilidad con

programas antiguos.

Otherosfs Utilidades para otros sistemas operativos (acceso a ficheros de

NT, grabación de CDs, etc.).

Science Programas para ciencias.

Shell Intérpretes de comandos (bash, csh, ksh).

Sound Programas de sonido.

Tex Procesamiento de documentos (LaTeX).

Text Paquetes de textos (diccionarios, traductores, etc.).

Utils Utilidades (monitores, compresores, etc.).

Web Servidores y navegadores Web, manejadores de contenido,

PHP, etc.

X11 Entorno gráfico X11R6.

Page 78: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

66

Dependiendo de la selección del usuario, el siguiente formulario le mostrará la

lista de paquetes correspondientes con su tamaño, descripción y un checkbox asociado

para su posterior selección.

A parte de esta cómoda selección, al usuario se le da también la oportunidad

de buscar un paquete sin conocer la sección a la que este corresponde, mediante el link

‘Buscar paquete por nombre’. Vemos el código HTML del formulario:

<p align="center"> <h1><strong><u>Paso 4 - Eliminar/Instalar paquetes</u></strong></h1> </p> <p align="center"> Seleccione el repositorio: <SELECT name="repositorio"> <option value="main">Main</option> <option value="restricted">Restricted</option> <option value="universe">Universe</option> <option value="multiverse">Multiverse</option> </SELECT> </p> <p align="center"> Seleccione la seccion: <SELECT name="seccion"> <option value="utils">Utils</option> ………….. <option value="shells">Shells</option> <option value="metapackages">Metapackages</option> <option value="base">Base</option> </SELECT> </p> <p align="center"><input name="boton" type="submit" id="boton" value="Mostrar paquetes"></p> <p align="center"><a href="index.php?option=com_chronocontact&chronoformname=buscapaquete">Buscar paquete por nombre</a></p> <p align="center"><a href="index.php?option=com_chronocontact&chronoformname=desinstalapaquetes"><h1><strong><u>Desinstalar paquetes</u></strong></h1></a></p> <p align="center"><a href="index.php?option=com_chronocontact&chronoformname=knoppixpersonalizado5">Cuando haya terminado de instalar/desinstalar paquetes pulse aquí</a></p>

Page 79: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

67

Simplemente muestra los dos SELECT para la selección del repositorio y la

sección y los links descritos anteriormente.

La lógica del mismo es descrita en el código siguiente (PHP del submit):

El código es muy simple y básicamente recoge la opción del usuario y la envía

al siguiente formulario. En este caso se ha utilizado el concepto de *SESSION PHP

para el paso de variables de un formulario al siguiente.

* Básicamente una sesión es la secuencia de páginas que un usuario visita en

un sitio web. Desde que entra en nuestro sitio, hasta que lo abandona. El término

sesión en PHP, session en inglés, se aplica a esta secuencia de navegación, para ello

se crea un identificador único que se asigna a cada una de estas sesiones de

navegación. A este identificador de sesión se le denomina, comúnmente, como la

sesión.

Formulario 7

<?php session_start(); $archiv=$_POST['repositorio']; $secc=$_POST['seccion']; $_SESSION["archivo"] = $archiv; $_SESSION["sec"] = $secc; header("Location:index.php?option=com_chronocontact&chronoformname=instalapaquetes2"); ?>

Page 80: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

68

En este formulario se realiza la búsqueda de paquetes correspondientes a la

selección del usuario, en lo que a repositorio y sección se refiere. A continuación

vemos el código HTML con PHP embebido que lo produce:

<? $usuario =& JFactory::getUser(); $user = $usuario->name; session_start(); $repositorio=$_SESSION["archivo"]; $sec=$_SESSION["sec"]; echo "<table id='tablapaquetes' border = '1'> \n"; echo "<tr>"; echo "<td bgcolor='#FF0000'><strong> </strong></td>"; echo "<td align='center' bgcolor='#FF0000'><strong>Paquete</strong></td>"; echo "<td align='center' bgcolor='#FF0000'><strong>Seccion</strong></td>"; echo "<td align='center' bgcolor='#FF0000'><strong>Tamaño de isntalacion</strong></td>"; echo "<td align='center' bgcolor='#FF0000'><strong>Descripcion</strong></td>"; echo "<tr>"; $i=0; $fichero='/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_gutsy_'.$repositorio.'_binary-i386_Packages'; $archivo = fopen ($fichero, "r"); while (!feof ($archivo)) { while($linea = fgets($archivo)) { if (($linea[0] == 'P') && ($linea[1] == 'a')&& ($linea[2] == 'c')) { $temp=substr ($linea, 9, 40); $pack=trim($temp); } if(($linea[0]=='S')&&($linea[1]=='e')&&($linea[2]=='c')) { if(($repositorio[0]=='m')&&($repositorio[1]=='a')) { $temp=substr ($linea, 9, 40); $seccion=trim($temp); }if(($repositorio[0]=='m')&&($repositorio[1]=='u')) { $temp=substr ($linea, 20, 40); $seccion=trim($temp); }if(($repositorio[0]=='u')&&($repositorio[1]=='n')) { $temp=substr ($linea, 18, 40); $seccion=trim($temp); }if(($repositorio[0]=='r')&&($repositorio[1]=='e')) { $temp=substr ($linea, 20, 40); $seccion=trim($temp); } }

Page 81: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

69

if(($linea[0]=='I')&&($linea[1]=='n')&&($linea[2]=='s')) { $temp=substr ($linea, 16, 25); $tam=trim($temp); $size=(int)$tam; } if (($linea[0] == 'D') && ($linea[1] == 'e')&& ($linea[2] == 's')) { $temp=substr ($linea, 13, 150); $desc=trim($temp); if(($seccion[0]==$sec[0])&&($seccion[1]==$sec[1])&&($seccion[2]==$sec[2])&&($desc[0]!='')) { echo "<td> <input type='checkbox' name='chk[]' value='$i'></td>"; echo "<td <input type='text' name='paquetes[]' value='$pack'></td>"; echo "<td align='center' bgcolor='#CCCCCC'><strong>$seccion</strong></td>"; echo "<td <input type='text' name='tamano[]' value='$size'></td>"; echo "<td align='center' bgcolor='#CCCCCC'><strong>$desc</strong></td>"; echo "</tr>"; $i++; } } } } echo $i; echo "</table>"; $nombre = '/var/www/carpeta_joomla/listas/actual'.$user.'.txt'; $fp=fopen($nombre, 'r'); while (!feof ($fp)) { while($linea = fgets($fp)) { $temp=substr ($linea, 0, 15); $tam=trim($temp); $size=(int)$tam; } } fclose($fp); $porcentaje=($size/2255166)*100; echo '<br>'; echo 'Tamaño aproximado de ocupación CD: '; echo $porcentaje; ?> <p align="center"><INPUT type="submit" name="boton1" value="Añadir a la distribución"></p>

Page 82: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

70

Como podemos observar, se toma el valor de las variables repositorio

($repositorio=$_SESSION["archivo"];) y sección ($sec=$_SESSION["sec"];) de la

sesión del usuario. Con la variable repositorio se busca en un fichero u otro (main,

restricted, universe, multiverse) y con la variable sec se eligen los paquetes de ese

archivo que correspondan con esa sección. Con estos datos se genera una tabla con una

fila por paquete mostrando su nombre, sección, tamaño de instalación y una breve

descripción del mismo. También mediante la variable i se realiza una cuenta de los

paquetes que se muestran para dar una idea al usuario del tamaño de la tabla, puede

haber tablas de hasta seiscientos paquetes.

Formulario 8

Formulario en el que simplemente se buscan paquetes por nombre dentro de

los cuatro repositorios mencionados anteriormente. Vemos el código HTML simple:

<style> @import url(templates/form.css); </style> <p align="center"> <h1><strong><u>Busqueda</u></strong></h1> </p> <INPUT type="text" name="paquete"> <input name="boton" type="submit" id="boton" value="Buscar">

Page 83: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

71

Y ahora vemos el código PHP asociado:

Simplemente se coge el valor del ‘textbox’ asociado en el que se escribe el

nombre del paquete y se asocia dicho valor a la sesión del usuario.

Formulario 9

<? session_start(); $package=$_POST['paquete']; $_SESSION["paquete"] = $package; header("Location:index.php?option=com_chronocontact&chronoformname=buscapaquete2"); ?>

Page 84: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

72

En este formulario simplemente se muestra un resumen de los paquetes

seleccionados por el usuario para instalar y desinstalar. Así el usuario puede repasar de

forma general como va a ser su nueva distribución y puede confirmar o volver atrás

para modificar sus listas.

Vemos el código HTML:

<p align="center"> <h1><strong><u>Paso 5 - Resumen de Paquetes</u></strong></h1> </p> <? $usuario =& JFactory::getUser(); $user = $usuario->name; $destino = '/var/www/carpeta_joomla/upload'; $nombre=$destino.'/unins'.$user; echo "<strong>PAQUETES A ELIMINAR</strong>"; echo "<br>"; $fp=fopen($nombre, 'r'); while (!feof ($fp)) { while($linea = fgets($fp)) { $temp=substr ($linea, 0, 20); $paquete=trim($temp); echo $paquete; echo "<br>"; } } fclose($fp); echo "<strong>PAQUETES A INSTALAR</strong>"; echo "<br>"; $nombre=$destino.'/ins'.$user; $fp=fopen($nombre, 'r'); while (!feof ($fp)) { while($linea = fgets($fp)) { $temp=substr ($linea, 0, 20); $paquete=trim($temp); echo $paquete; echo "<br>"; } } fclose($fp); ?> <input type=button value="Atrás" onClick="history.go(-1)"> <input name="boton" type="submit" id="boton" value="Confirmar">

Page 85: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

73

Se leen los archivos ‘ins$user.txt’ (paquetes a instalar) y ‘unins$user.txt’

(paquetes a desinstalar) y se muestran por pantalla.

A la hora de confirmar el código PHP que se ejecuta deberá finalizar el script

de re-masterización correspondiente a ese usuario

<? $usuario =& JFactory::getUser(); $user = $usuario->name; $destino = '/var/www/carpeta_joomla/upload'; $nombre=$destino.'/'.$user; $fp=fopen($nombre, 'a'); $linea='mount --bind /dev /media/sda5/knx'.$user.'/source/KNOPPIX/dev'; fwrite($fp, $linea); fwrite($fp,"\n"); $linea='mount --bind /proc /media/sda5/knx'.$user.'/source/KNOPPIX/proc'; fwrite($fp, $linea); fwrite($fp,"\n"); $linea='mount --bind /sys /media/sda5/knx'.$user.'/source/KNOPPIX/sys'; fwrite($fp, $linea); fwrite($fp,"\n"); $destino = '/var/www/carpeta_joomla/upload'; $nombre=$destino.'/unins'.$user; $fich=fopen($nombre, 'r'); while (!feof ($fich)) { while($line = fgets($fich)) { $temp=substr ($line, 0, 20); $paquete=trim($temp); $linea='chroot /media/sda5/knx'.$user.'/source/KNOPPIX apt-get -y remove '.$paquete;

fwrite($fp, $linea); fwrite($fp,"\n");

} } fclose($fich); $linea); fwrite($fp,"\n");

Page 86: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

74

$nombre=$destino.'/ins'.$user; $fich1=fopen($nombre, 'r'); while (!feof ($fich1)) { while($line = fgets($fich1)) { $temp=substr ($line, 0, 20); $paquete=trim($temp);

$linea='chroot /media/sda5/knx'.$user.'/source/KNOPPIX apt-get install '.$paquete; fwrite($fp, $linea); fwrite($fp,"\n");

} } fclose($fich1); $linea='chroot /media/sda5/knx'.$user.'/source/KNOPPIX deborphan | xargs apt-get -y remove'; fwrite($fp, $linea); fwrite($fp,"\n"); $linea='chroot /media/sda5/knx'.$user.'/source/KNOPPIX apt-get clean'; fwrite($fp, $linea); fwrite($fp,"\n"); $linea='umount /dev'; fwrite($fp, $linea); fwrite($fp,"\n"); $linea='umount /sys'; fwrite($fp, $linea); fwrite($fp,"\n"); $linea='umount /proc'; fwrite($fp, $linea); fwrite($fp,"\n"); $linea='rm -rf /media/sda5/knx'.$user.'/source/KNOPPIX/.rr_moved'; fwrite($fp, $linea); fwrite($fp,"\n");

Page 87: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

75

Principalmente, en este último formulario del proceso de re-masterización, se

finaliza la creación del script personalizado que crea la distribución del usuario.

Primero se prepara el entorno para cambiar la raíz del sistema a la carpeta con el

sistema de archivos Knoppix. Seguidamente se realiza una lectura de los ficheros

‘ins$user.txt’ y ‘unins$user.txt’ donde residen los paquetes que el usuario ha

seleccionado para instalar y desinstalar respectivamente. Por cada paquete a

instalar/desinstalar se añadirá una nueva línea al script indicando la nueva raíz y la

operación a realizar (apt-get install, apt-get remove).

Finalmente se realiza una limpieza para eliminar dependencias innecesarias y

paquetes huérfanos residentes tras la instalación/desinstalación y se utilizan los

comandos ‘mkisofs’ para la creación del archivo .iso de la distribución.

$linea='mkisofs -R -U -V "KNOPPIX.net filesystem" -publisher "KNOPPIX www.knoppix.net" -hide-rr-moved -cache-inodes -pad /media/sda5/knx'.$user.'/source/KNOPPIX | nice -5 /usr/bin/create_compressed_fs - 65536 > /media/sda5/knx'.$user.'/master/KNOPPIX/KNOPPIX'; fwrite($fp, $linea); fwrite($fp,"\n"); $linea='cd /media/sda5/knx'.$user.'/master'; fwrite($fp, $linea); fwrite($fp,"\n"); $linea="find -type f -not -name md5sums -not -name boot.cat -not -name isolinux.bin -exec md5sum '{}' \; > KNOPPIX/md5sums"; fwrite($fp, $linea); fwrite($fp,"\n"); $linea='mkisofs -pad -l -r -J -v -V "KNOPPIX" -no-emul-boot -boot-load-size 4 -boot-info-table -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat -hide-rr-moved -o /var/www/carpeta_joomla/downloads/knx'.$user.'.iso /media/sda5/knx'.$user.'/master'; fwrite($fp, $linea); fwrite($fp,"\n"); fclose($fp); header("Location:http://localhost/carpeta_joomla/index.php"); ?>

Page 88: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

76

3.4.3 ENTORNO WEB

Mediante la herramienta de gestión de contenidos Joomla la creación y

gestión de un entorno web se hace de manera simple y no requiere de demasiada

experiencia por parte del usuario. En este apartado realizaremos un breve repaso a los

pasos de configuración y acciones más destacables en el desarrollo del proyecto

“Desarrollo de un entorno web para la creación de distribuciones KNOPPIX a

Medida”.

En la siguiente imagen vemos la configuración global del sitio. Cabe destacar

la configuración del servidor y la configuración de la base de datos:

Parámetros de la BB.DD. Parámetros del servidor

Page 89: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

77

En la siguiente captura se muestra la gestión de menús del sitio web. Todos

poseen una configuración personalizada. Por ejemplo el menú Usuario se creó con la

opción de que sólo fuese visible para un usuario registrado previamente identificado

mediante el Login.

Únicamente desde este menú de usuario se da la opción privilegiada de crear

la distribución Knoppix personalizada o descargas de otras distribuciones ya

preconfiguradas.

Page 90: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

78

Como ejemplo a continuación se expone la captura de pantalla de la

configuración del menú de usuario:

Propiedad de publicado

Nivel de acceso Opciones del menú

Page 91: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

79

Y la configuración de uno de los objetos del mismo:

Lo más destacable de esta configuración puede ser el nombre, el enlace al que

se accede al pulsar en la referencia del índice, el nivel de acceso de dicho enlace y la

opción de mostrar el enlace en la misma ventana o abrir otra nueva.

También se ha incluido en el entorno la opción de encuestas on-line, mediante

un módulo llamado Encuestas. La gestión de la configuración de una encuesta incluida

se puede ver en la siguiente captura:

Nombre Opciones

Page 92: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

80

Se ven claramente las posibles opciones de entre las que puede elegir el

usuario y el nombre para identificar la encuesta.

También se ha realizado un noticiario en donde únicamente el administrador

del entorno web esta posibilitado para subir noticias. Estas se pueden ver en la sección

de Noticias en el menú principal por cualquier usuario, bien sea registrado o no, y a

modo de flash se mostrarán los titulares variando cada vez que se cambie de pantalla al

lado derecho de la portada del entorno (siempre visible en la parte superior de la

página). En la siguiente captura de pantalla se muestra el apartado de la administración

correspondiente a la gestión de artículos, usado en nuestro caso para noticiario:

Page 93: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Capítulo 4

PLANIFICACIÓN

4

Page 94: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

82

CAPÍTULO 4 – PLANIFICACIÓN

4.1 INTRODUCCIÓN

En este epígrafe se va a hacer un estudio de la planificación llevada a cabo en

el proyecto “Desarrollo de un entorno web para la creación de distribuciones

KNOPPIX a medida”. Para ello se ha dividido el proyecto en fases de desarrollo y se ha

estimado la duración a priori de las mismas. Se ha empleado la técnica de diagrama

EDT (Estructura de División de Trabajo). En nuestro caso hemos amoldado las fases de

desarrollo de una aplicación informática al de un entorno web.

Una fase de análisis en donde se analiza el problema planteado y se estudian

las tecnologías más apropiadas para su consecución. De aquí surge la idea del modelo

de casos de uso que simplificará las principales funciones que se realizan en la re-

masterización automatizada mediante formularios.

Otra fase es la de gestión del proyecto que se realiza durante todo el ciclo de

vida del proyecto, se valora el estado del mismo y se toman medidas al respecto.

En la fase de implantación se desarrolla el proyecto, en nuestro caso se crea el

entorno web y se programan los módulos estipulados. Tras tener un primer prototipo de

desarrollo se realizan las pruebas necesarias a todos los niveles de su funcionalidad con

el fin de encontrar fallos y mejorar el rendimiento.

La fase de documentación tiene un ciclo de vida igual que el del proyecto. Es

importante documentar todas las acciones y estudios realizados según se desarrolla el

proyecto y no dejarlo para el final, puesto que esta documentación no sería de la misma

calidad.

Page 95: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

83

4.2 DIAGRAMA EDT

PFC – Desarrollo de un entorno web para la creación de

distribuciones Knoppix a medida

FASE DE ANÁLISIS ANA01

FASE DE GESTIÓN GES01

IMPLANTACIÓN IMP01

DOCUMENTACIÓN DOC01

ESTUDIO DE TECNOLOGÍAS

ANA01.1

MODELO CASOS DE USO ANA01.2

PROGRAMACIÓN IMP01.2

CREACIÓN ENTORNO WEB

IMP01.1

PRUEBAS IMP01.3

Page 96: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

84

4.3 PLANIFICACIÓN

Como se puede observar en el diagrama, la etapa de estudio de las tecnologías

llevó mucho tiempo y se tuvo que modificar la planificación con respecto a la primera

realizada al comienzo del proyecto. Esto fue debido al desconocimiento casi total de las

herramientas y tecnologías a emplear en el desarrollo del proyecto.

También podemos apreciar una etapa en medio sin actividades debido en gran

parte a la época de exámenes y de entregas por lo que se decidió entregar el proyecto en

la convocatoria de septiembre.

Las etapas de gestión del proyecto y documentación están presentes en todo el

ciclo de desarrollo del proyecto. En algunos meses se empleo más tiempo que en otros

pero ha sido un trabajo continuo.

Page 97: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

85

4.4 VALORACIÓN ECONÓMICA

4.4.1 PERFILES DE TRABAJO

En este apartado se va a realizar una estimación de costes para el desarrollo

del proyecto “Desarrollo de un entorno web para la creación de distribuciones

KNOPPIX a medida”. Para ello es necesario estudiar los perfiles de recursos humanos

necesarios en este desarrollo.

Jefe de proyecto: Es el máximo responsable de la gestión y avance del

proyecto. Será el encargado de velar por que se cumplan los plazos

establecidos y los objetivos. Se propone un jefe de proyecto.

Analista: Es el encargado de realizar las tareas de análisis y diseño del

proyecto. Es el responsable de establecer un modelo que englobe las funciones

requeridas para la consecución de los objetivos. Se proponen dos analistas.

Programador: Es el responsable de implantar y codificar el modelo

propuesto por los analistas. También se encarga de las pruebas unitarias de los

módulos que componen la aplicación. Se proponen 3 programadores.

Page 98: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

86

4.4.2 COSTES

Debemos asignar el coste por horas de cada perfil que interviene en el

desarrollo del proyecto:

PERFIL COSTE

Jefe de proyecto 25€/h

Analista 20€/h

Programador 15€/h

A continuación mostramos que fases del proyecto realiza cada perfil de

trabajo. Se realiza también una estimación del esfuerzo medido en horas de trabajo:

Fase Asignación de perfil Horas Coste

GES01 Jefe de proyecto (100%) 100 2500€

ANA01 150 3225€

ANA01.1 Analistas (70%) Jefe de proyecto (30%) 100 2150€

ANA01.2 Analistas (70%) Jefe de proyecto (30%) 50 1075€

IMP01 250 3875€

IMP01.1 Programadores (90%) Analistas (10%) 100 1550€

IMP01.2 Programadores (90%) Analistas (10%) 100 1550€

IMP01.3 Programadores (90%) Analistas (10%) 50 775€

DOC01 Jefe de proyecto (100%) 50 1250€

TOTAL 10850€

Page 99: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Capítulo 5

CONCLUSIONES

5

Page 100: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

88

CAPÍTULO 5 – CONCLUSIONES

5.1 CONCLUSIONES DEL PROYECTO

Durante el estudio realizado sobre el proceso de re-masterización de Knoppix

Live-CD se ha puesto de manifiesto la dificultad que tiene este tipo de procesos para ser

llevados a cabo por un usuario con poca experiencia en manejo de sistemas operativos

basados en GNU/Linux.

Este proceso no es recomendable para usuarios con poca experiencia en

GNU/Linux, principalmente porque la instalación de paquetes conlleva actualizaciones

y eliminación de paquete. Esto es, para cada paquete a instalar, el gestor APT descarga

todas las dependencias necesarias para el correcto funcionamiento, bien sean para

instalar o para actualizar existentes. Pero también, en muchos casos, conlleva

eliminación de paquetes instalados y que, en algunas situaciones, pueden ser de gran

importancia para la distribución. Por ejemplo al instalar el paquete ‘kolf’ (pequeña

aplicación de entretenimiento que simula un mini-golf) se eliminan unos cuantos

paquetes de entre los cuales se encuentra uno llamado ‘knoppix-services’ sin el cual la

distribución no arranca correctamente.

Debido a este hecho, es necesario saber que paquetes se pueden instalar sin

tener problemas con las dependencias que se crean. Este es uno de los grandes

inconvenientes de automatizar el proceso de re-masterización de Knoppix.

Otro problema que surge es que la ejecución del script creado para la re-

masterización necesita, en la mayoría de los casos, interacción con el usuario. En la

instalación de muchos paquetes se requiere actualizar librerías, o simplemente el

reinicio de servicios para que el sistema de archivos funcione correctamente. Esto no se

puede hacer simplemente ejecutando el comando con la opción de que asuma ‘yes’ en

todas las cuestiones que se planteen.

Page 101: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

89

A lo largo del desarrollo del proyecto “Desarrollo de un entorno web para la

creación de distribuciones KNOPPIX a medida” se han obtenido una serie de

conclusiones que describiremos a continuación:

1.- Un sistema operativo como GNU/Linux tiene sus ventajas y desventajas

como ya se ha comentado en la introducción de este proyecto. Una de las

desventajas más reseñables es la dificultad de manejo. El correcto

funcionamiento de estos sistemas carga mucha responsabilidad sobre el

usuario (esto puede ser visto por un usuario habitual de GNU/Linux como una

ventaja puesto que otorga más posibilidades que otros sistemas operativos

como Microsoft Windows). Aunque GNU/Linux ya tiene desarrollados

entornos gráficos de escritorio basados en ventanas (Gnomo, Kde, ...) el uso

de consola es básico y un usuario nuevo en este tipo de sistemas puede llegar

con facilidad a la desesperación por no estar acostumbrado al uso de línea de

comandos.

2.- Mediante el entorno web desarrollado el usuario obtendrá las siguientes

ventajas:

- Descarga de distribuciones Knoppix preconfiguradas para usos

específicos. Este tipo de descargas son las más recomendadas para

usuarios principiantes por su facilidad de adquisición y su

simplicidad de manejo mediante el entorno gráfico de escritorio Kde.

- Creación de distribuciones personalizadas de manera sencilla

evitando así el complicado proceso de re-masterización y, a su vez,

la necesidad de poseer una partición en el disco duro con formato

ext2/ext3 (requerimiento primordial para el proceso de re-

masterización). Este apartado es recomendable únicamente a

Page 102: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

90

usuarios con un mínimo de experiencia en sistemas GNU/Linux, ya

que son necesarios ciertos conocimientos de gestión de paquetes para

una buena personalización.

- Un proceso de creación de distribuciones ameno, amigable y de

fácil navegación a través de formularios en donde el usuario, casi

únicamente con el uso del ratón, puede crearse una copia

personalizada en gran medida del Live-CD Knoppix.

- El usuario tendrá acceso a encuestas, noticias y artículos propios

de una página web. El ámbito de estos módulos del entorno será el

software libre y sus distribuciones.

Hoy en día la informática se ha introducido en muchísimos ámbitos de nuestra

vida. La automatización, control y gestión de procesos está presente en todo lo que nos

rodea. Dentro de esta era de la informática, los sistemas operativos basados en

GNU/Linux están adquiriendo mayor importancia y presencia, tanto en entornos a nivel

de usuario como a nivel empresarial. Esto ha sido en gran parte debido a su seguridad y

bajos costes. El desarrollo del proyecto “Desarrollo de un entorno web para la

creación de distribuciones KNOPPIX a medida” pretende fomentar el uso de estos

sistemas a nivel de usuario con poca experiencia.

Page 103: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

91

5.2 TRABAJOS FUTUROS

La gestión y administración de un entorno web debe ser realizada por una

persona (administrador) con el fin de poner al día apartados necesarios del entorno. Un

claro ejemplo puede ser la gestión de artículos y noticias. Es necesario mantener

actualizado estos apartados para mantener el atractivo del sitio. Además la gestión del

foro debe ser llevada a cabo también por un administrador.

Siguiendo las líneas de investigación del proyecto “Desarrollo de un entorno

web para la creación de distribuciones KNOPPIX a medida” se puede llegar a

desarrollar un entorno web mucho más completo en cuanto a funcionalidades.

Una de ellas podría ser la de automatizar aún más la creación de

distribuciones Knoppix personalizadas, incluyendo la posibilidad de modificar

configuraciones de usuario más complejas, como podrían ser retocar el archivo

/etc/X11/Xsession.d/45xsession o /etc/init.d/knoppix-autoconfig. Para estos casos es

necesario un amplio conocimiento del tema debido a su complejidad.

Otra posibilidad que se abre con el desarrollo de este proyecto es la

posibilidad de incluir la re-masterización automatizada de otras distribuciones Live-

CD. Al principio del proyecto se pensó que sería una muy buena idea añadir la

posibilidad de crear copias basadas en Ubuntu (otra de las distribuciones más populares

a nivel de usuario de GNU/Linux en nuestros días), pero debido a la falta de tiempo se

desestimó.

Page 104: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Capítulo 6

BIBLIOGRAFÍA

6

Page 105: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

93

CAPÍTULO 6 – BIBLIOGRAFÍA

Durante el desarrollo de este proyecto se ha empleado el siguiente material,

clasificado en referencias bibliográficas y referencias online. La mayor parte de

consultas y dudas se han gestionado a través de referencias online, mediante manuales

y soporte en foros especializados.

1.- REFERENCIAS BIBLIOGRÁFICAS

[MAES] Metodología del Análisis Estructurado de Sistemas (Jesús Barranco de

Areba) UPCO 2006

[EDISII] Escritos y Documentación de Ingeniería del Software II (Juan Carlos

Esquivel) UPCO 2006

[EDGPI] Escritos y Documentación de Gestión de Proyectos Informáticos

(Manuel Muñoz García) UPCO 2006

Page 106: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

94

2.- REFERENCIAS ONLINE

[1] http://www.knoppix.net/wiki/Knoppix_Remastering_Howto

Documentación básica sobre el proceso de re-masterización de la

distribución de Knoppix

[2] http://www.knoppix.net/forum/

Foro de soporte para dudas y consultas sobre cualquier tema relacionado con

la distribución Knoppix.

[3] http://www.joomlaspanish.org/

Página principal de Joomla en español.

[4] http://ayuda.joomlaspanish.org/ayuda-joomla/

Manual de instalación y manejo del gestor de contenidos empleado en

nuestro desarrollo.

[5] http://www.linuxespanol.com/

Foro para dudas relacionadas con entornos GNU/Linux en general.

[6] http://www.espaciolinux.com/foros.html

Otro foro relacionado con GNU/Linux para dudas generales.

Page 107: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

95

[7] http://www.forosdelweb.com/

Ayuda y soporte para desarrolladores y programadores PHP.

[8] http://www.beezmo.com/FloobyDustDir/FDKnoppixRemasterDir.html

Guía del proceso re-masterizar Knoppix

[9] http://www.gilesorr.com/papers/knoppixRM.html

Otra guía del proceso re-masterizar Knoppix

[10] http://www.debian.org/distrib/packages.es.html

Guía de todos los paquetes disponibles para distribuciones basadas en

Debian, como es Knoppix.

[10] http://es.wikipedia.org/wiki/Portada

Enciclopedia on-line.

Page 108: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

ANEXOS

Page 109: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

97

ANEXO A – Paquetes de la distribución Knoppix 5.1.1

En este apartado listamos todos los paquetes instalados en la distribución

básica Knoppix 5.1.1, mostrando en la columna izquierda el tamaño y en la derecha el

nombre del paquete.

0 cdda2wav 0 mkisofs 4 cdrecord 8 g++ 12 laptop-detect 12 libssp0 16 fileutils 16 mount-ntfs-knoppix 16 nxtunnel-client 16 nxtunnel-server 20 build-essential 20 knoppix-remountrw 20 nxproxy 20 update 24 beryl 24 cpp 24 mktemp 24 modemlink-knoppix 26 bluetooth 28 aalib1 28 gcc 28 knoppix-workarounds 28 libxinerama1 28 lsb-base 28 xsession-knoppix 32 euro-support-console 32 java2-runtime-knoppix 32 ssh 32 unp 32 xorgconfig-knoppix 32 xsession-initscript-knoppix 36 infobash 36 libattr1 36 smbconf-pfeifle 36 xlibs 36 xpdf 40 aufs-cvs-utils 40 cloop-module-2.6.19 40 libhtml-tagset-perl 40 libident 40 libijs-0.35 40 libpaper-utils 40 mkdesktophdicons-knoppix 40 playvideodisk-knoppix 40 rebuildfstab-knoppix

40 startnessus-knoppix 40 usleep-knoppix 44 knoppix-image 44 libacl1 44 libogg0 44 libpango1.0-common 44 modemtool-knoppix 44 network-setup-knoppix 44 scanpartitions-knoppix 44 sudoers-knoppix 44 tftp 44 xlibmesa-gl 44 xorg 44 xserver-xorg-video-all 44 xzoom 48 0wn 48 btpin-knoppix 48 ddcxinfo-knoppix 48 dmsetup 48 k3b-defaults 48 kbdconfig 48 libgcc1 48 mouseconfig 49 kbackup-multibuf 52 checkmem 52 debian-archive-keyring 52 fdflush 52 knoppix-setrootpassword 52 mkbootdev 52 stress 56 automount-knoppix 56 gprsconnect-knoppix 56 knoppix-dma 56 knoppix-swm 56 libdm0 56 libnet0 56 libxau6 56 libxcomposite1 56 libxdamage1 56 libxres1 56 libxss1 56 networkconfig-knoppix 56 ngrep 56 nxsetup-knoppix 56 rdate 56 restartx-knoppix

Page 110: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

98

56 xmms-volnorm 60 foomatic-bin 60 kdelock-knoppix 60 knoppix-ndiswrapper 60 libcap1 60 libgsf-1-common 60 libiw28 60 libpaper1 60 libsdl1.2debian 60 libxmuu1 60 libxrandr2 60 libxxf86misc1 60 mesa-utils 60 recover 60 symlinks 62 lockfile-progs 64 dd-rescue 64 dpkg-repack 64 fortunes-debian-hints 64 hexedit 64 kde-services-knoppix 64 libconfhelper-perl 64 libesd-alsa0 64 libsdl-net1.2 64 libusb-0.1-4 64 libxfixes3 64 libxv1 64 libxxf86vm1 64 ppp-scripts-knoppix 64 python-imaging-tk 64 s3switch 64 sun-java5-plugin 64 type-handling 64 xserver-xorg-video-dummy 66 icmpush 68 cpuburn 68 esound-common 68 giftrans 68 kdessh 68 libartsc0 68 libavc1394-0 68 libconfig-file-perl 68 libfontenc1 68 libxdmcp6 68 libxtst6 68 libxxf86dga1 68 rootshell-knoppix 68 tofrodos 68 ttf-f500 68 xserver-xorg-video-ark 68 xtv 72 acpi 72 artwiz-cursor 72 convertfs 72 cryptcat 72 etherwake 72 genliloconf

72 kdeservicemenus-knoppix 72 keyboard-tr-knoppix 72 libdrm2 72 liblockdev1 72 libportaudio0 72 libraw1394-8 72 libsasl2 72 mysql-client 72 thunderbird 72 wakeonlan 76 bsdiff 76 cupsconfig-knoppix 76 finger 76 knoppix-initscripts 76 libavahi-common-data 76 libpcd2 76 libsdl-ttf2.0-0 76 libtext-wrapi18n-perl 76 libvorbisfile3 76 libxi6 76 libxp6 76 menu-xdg 76 poster 76 sshstart-knoppix 76 startsyslog-knoppix 76 statserial 76 unzoo 76 xdelta 80 buffer 80 diffstat 80 fttools 80 giflib3g 80 hostname 80 libcomerr2 80 libdb1-compat 80 libevent1 80 libgdbm3 80 libnids1.20 80 libsdl-pango1 80 libsm6 80 libxtrap6 80 netcardconfig-knoppix 80 xserver-xorg-video-fbdev 80 xserver-xorg-video-imstt 80 xserver-xorg-video-vga 84 aalib-bin 84 apache2 84 apt-method-installed 84 drdsl 84 dvdbackup 84 kdebase 84 libdc1394-13 84 libgtk2.0-bin 84 liblockfile1 84 libopenobex1 84 libsysfs2 84 libuuid1

Page 111: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

99

84 libweakref-perl 84 libwrap0 84 libxcursor1 84 libxrender1 84 mkdosswapfile-knoppix 84 python-minimal 84 radio 84 saveconfig-knoppix 84 soundcardconfig-knoppix 84 wlcardconfig-knoppix 84 xmms-cdread 88 base-passwd 88 bing 88 debsums 88 knoppix-bookmarks 88 libapm1 88 libavahi-qt3-1 88 libnewt-utf8-0 88 libnfsidmap2 88 libsigc++-2.0-0c2a 88 openoffice.org-emailmerge 88 powermgmt-base 88 umlrun-uml 88 update-inetd 88 xserver-xorg-input-kbd 88 xserver-xorg-video-cyrix 88 xserver-xorg-video-voodoo 92 atitvout 92 cramfsprogs 92 foremost 92 idswakeup 92 iputils-tracepath 92 irssi-plugin-icq 92 libao2 92 libbz2-1.0 92 libfs6 92 libpci2 92 libss2 92 libstartup-notification0 92 libtext-charwidth-perl 92 libxvmc1 92 logrotate 92 mbr 92 pgpgpg 92 ppmd 92 whiptail 92 xserver-xorg-input-evdev 92 xserver-xorg-video-newport 92 xserver-xorg-video-vesa 92 x-ttcidfont-conf 96 apt-file 96 autotrace 96 bonnie++ 96 e00compr 96 kde-menu-knoppix 96 knoppix-sounds 96 liblogfile-rotate-perl

96 liblualib50 96 libpoppler0c2-qt 96 libtext-iconv-perl 96 memtester 96 ssl-cert 96 xserver-xorg-video-tga 100 adtool 100 i810switch 100 libavahi-compat-libdnssd1 100 libdevmapper1.02 100 libieee1284-3 100 libsdl-image1.2 100 libzzip-0-12 100 mtr-tiny 100 php4-mysql 100 print-utils-pfeifle 100 urlview 100 wavemon 100 xserver-xorg-video-rendition 100 xserver-xorg-video-vmware 104 dds2tar 104 firefox 104 iftop 104 irda-tools 104 knoppix-udev-config 104 libatm1 104 libblkid1 104 libgpmg1 104 libxcompext1 104 libxext6 104 perl-suid 104 python-support 104 xserver-xorg-video-i740 108 firewall-knoppix 108 ftp 108 liba52-0.7.4 108 libavahi-common3 108 libbluetooth2 108 libdv-bin 108 libfam0 108 libgssapi2 108 liblocale-gettext-perl 108 liblua50 108 libxplc0.3.13 108 openoffice.org-kde-integration 108 vcdtools 108 vrms 112 dosfstools 112 gpart 112 gqcam 112 gtk2-engines-smooth 112 intltool-debian 112 libberylsettings0 112 libgdchart-gd2-noxpm 112 liblircclient0

Page 112: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

100

112 libxpm4 112 mpack 112 procinfo 112 pump 112 traceroute 112 type1inst 116 aufs-cvs-modules-2.6.19 116 cdparanoia 116 file 116 gsfonts-x11 116 knoppix-menu 116 libavahi-compat-howl0 116 libcapi20-3 116 libmpcdec3 116 libpostproc0d 116 libvolume-id0 116 ndiswrapper-utils 116 openoffice.org-core04 116 pia 116 pptp-linux 116 xserver-xorg-input-mouse 116 xserver-xorg-video-s3 116 xserver-xorg-video-tseng 120 attr 120 fping 120 fuse-utils 120 gif2png 120 imlib-base 120 iputils-ping 120 libgnome-keyring0 120 libgsm1 120 libjcode-pm-perl 120 librpcsecgss3 120 parted-bf 120 wprint 120 xserver-xorg-video-i128 120 xserver-xorg-video-v4l 124 cdbackup 124 ftpd 124 libadns1 124 libklibc 124 libksieve0 124 libmad0 124 libmyspell3c2 124 libnet1 124 libpam-ncp 124 libxdelta2 124 ms-sys 124 netcat6 128 aespipe 128 at 128 httptunnel 128 ibod 128 ipcalc 128 kudzu-knoppix-vesa 128 libfuse2 128 libgtkspell0

128 liboggflac3 128 libxft2 128 mikmod 128 mpg321 128 mysql-common 128 speex 128 ttf-staypuft 128 vlan 128 xkbset 132 dupload 132 libavahi-client3 132 libid3tag0 132 libsexy2 132 libungif4g 132 openbsd-inetd 132 setserial 132 wipe 136 apt-show-versions 136 configure-xawtv 136 dvbtune 136 ijsgutenprint 136 iperf 136 kdeadmin-kfile-plugins 136 libice6 136 libsdl-gfx1.2-4 136 libxmu6 136 loadlin 136 lzop 136 readline-common 136 vnc-common 136 xserver-xorg-video-cirrus 136 xserver-xorg-video-neomagic 136 xserver-xorg-video-sisusb 140 debconf-utils 140 klogd 140 libhfsp0 140 lvm-common 140 pciutils-dev 140 user-euro-es 140 xserver-xorg-video-s3virge 140 xserver-xorg-video-tdfx 144 cddb 144 ed 144 fortune-mod 144 hping2 144 knoppix-terminalserver 144 xserver-xorg-input-synaptics 148 binfmt-support 148 bridge-utils 148 gpstrans 148 irda-common 148 isdntool-knoppix 148 kdenetwork-kfile-plugins 148 libexpat1 148 libslp1

Page 113: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

101

148 linux-sound-base 148 netbase 148 portmap 148 prism54-nonfree 148 sgml-base 148 sniffit 148 squidclient 148 tftpd-hpa 148 tnef 148 udpcast 152 cups-pdf 152 libcapi20-dev 152 libgtop2-7 152 libktnef1 152 libplrpc-perl 152 netpipe-tcp 152 xserver-xorg-video-siliconmotion 156 knoppix-splash-utils 156 libbind9-0 156 libfribidi0 156 libisccc0 156 libnet-daemon-perl 156 makedev 156 pcmciautils 156 python-tk 156 sslwrap 156 ttmkfdir 160 bochsbios 160 ktimer 160 libedit2 160 sambastart-knoppix 160 scantv 164 autotools-dev 164 bsdutils 164 cupsys-bsd 164 libexif-gtk5 164 zlib1g 168 bluez-firmware 168 dmidecode 168 escputil 168 ethtool 168 libaa1 168 libart-2.0-2 168 libcdparanoia0 168 libtasn1-3 168 sysvinit-utils 172 gcc-3.3-base 172 hwsetup 172 ipx 172 kdepim-kfile-plugins 172 ksysguardd 172 lha 172 libpam0g 172 libsamplerate0 172 psfontmgr 176 fbi

176 libelfg0 176 libflac++5 176 libpth20 176 mime-support 176 networkstatus 176 scanmodem 177 user-profile-knoppix 180 airsnort 180 aspell-gl-minimos 180 doc-base 180 initrd-tools 180 libaudio2 180 libpopt0 180 mt-st 180 v4l-conf 180 xtightvncviewer 184 cabextract 184 libiso9660-4 184 libnetpbm10 184 libpam-runtime 184 libspeex1 184 libxkbfile1 184 sound-recorder 184 uml-utilities 188 anacron 188 bc 188 hfsutils 188 libaprutil1 188 libcupsimage2 188 libdvdread3 188 libneon25 188 pkg-config 188 sitar 192 libpcap0.7 192 libsdl-console 192 madwifi-tools 192 patch 192 telnetd-ssl 192 xserver-xorg-video-nv 196 e2fslibs 196 fdisk-udeb 196 libgpg-error0 196 libisccfg1 196 liblzo1 196 ltrace 196 p0f 196 ttf-summersby 196 xmms-modplug 196 xserver-xorg-video-apm 200 bind9-host 200 dash 200 dc 200 debianutils 200 fortunes-min 200 libatk1.0-0 200 libjpeg62

Page 114: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

102

200 openoffice.org-onlineupdate 200 python-central 200 tpconfig 204 dvbstream 204 gimp-print 204 hunt 204 kcharselect 204 libdv4 204 liblwres9 204 libpcap0.8 204 po-debconf 204 wavtools 204 xserver-xorg-video-savage 208 freenx 208 isdnvboxclient 208 libjpeg-progs 208 loop-aes-modules-2.6.19 208 ntpdate 208 tcpd 208 vpnc 208 zip 212 bin86 212 debfoster 212 hostap-utils 212 imlib11 212 libglade2-0 212 libidl0 212 libselinux1 212 outguess 212 sendip 212 sysklogd 212 vgabios 212 xfonts-dosemu 212 xserver-xorg-video-chips 216 ash-knoppix-26 216 kfloppy 216 libntfs9-knoppix 216 libvorbis0a 216 thttpd 220 gcc-4.1-base 220 igalician-minimos 220 mawk 220 openoffice.org-javafilter 220 pppstatus 224 dict 224 ipchains 224 libft-perl 224 libkpimidentities1 224 libvcdinfo0 224 wvdial 224 xml-core 228 debootstrap 228 gzip 228 ipsec-tools 228 libaudiofile0 228 libopencdk8

228 libzvbi-common 228 netcat 228 telnet-ssl 228 xserver-xorg-video-trident 230 dante-client 232 eject 232 libapt-pkg-perl 232 shaper 232 xserver-xorg-video-mga 236 deborphan 236 hfsplus 236 libcaca0 236 libltdl3 236 libsasl2-2 236 ttf-isabella 237 efax 240 afio 240 gnuchess 240 hdparm 240 kexec-tools 240 ksync 240 libapr1 240 libsensors3 240 xviddetect 241 libcdk5 244 ifupdown 244 libdbus-qt-1-1c2 244 libemeraldengine0 244 libgsf-1-114 244 libhtml-parser-perl 244 libreadline4 244 odbcinst1debian1 244 openoffice.org-gnome-integration 248 libjack0.100.0-0 248 sane 248 sndconfig-knoppix 248 strace 252 alevt 252 dvgrab 252 libdbus-glib-1-2 252 nxssh 252 usbutils 252 xpdf-common 256 kamera 256 libksba8 256 lrzsz 256 wireless-tools 260 cloop-utils 260 libcdio6 260 librsvg2-2 260 txt2regex 264 capiutils 264 fontconfig 264 libautotrace3 264 libnessus2 264 libnspr4

Page 115: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

103

264 libpisock9 264 sane-utils 264 sysv-rc 268 apmd 268 cowsay 268 less 268 libgutenprintui2-1 268 libmodplug0c2 268 libmusicbrainz4c2a 268 libsmpeg0 268 stunnel 268 tshark 268 xutils 272 aumix-gtk 272 libntfs9 272 mknbi 272 partimage-server 272 sysvinit 272 whois 276 freeglut3 276 gconf2 276 isapnptools 276 knoppix-certificates 276 konsolekalendar 276 libglib1.2 276 libwnck18 276 xosview 284 cupsys-client 284 xmms-goom 288 amanda-client 288 libmimelib1c2a 288 sharutils 288 twm 288 unzip 288 xloadimage 289 beryl-manager 292 gpgv 292 mailx 293 gtk-smooth-themes 296 cron 296 libbeecrypt6 296 libcurl3-gnutls 296 libtheora0 300 aspell-es 300 dvb-mpegtools 300 liblcms1 300 ncurses-base 300 procmail 304 fakeroot 304 libcurl3 304 ndiswrapper-modules-2.6.19 308 clamav 308 libidn11 308 module-init-tools 312 kfax 312 ksnapshot 312 libreadline5

312 playmidi 312 pppoe 316 libcroco3 316 libdbd-mysql-perl 316 libflac7 316 libjasper-1.701-1 316 libmikmod2 316 libtag1c2a 316 macutils 316 pppoeconf 320 html2text 324 fbset 324 libncp 324 libnspr4-0d 328 info 328 ktip 328 openoffice.org-xsltfilter 332 alsa-base 332 java-common 332 libldap2 332 libsdl-mixer1.2 332 pmount 332 psutils 332 speedtouch 332 zile 336 fontconfig-config 336 libkmime2 336 liburi-perl 340 dh-make 340 foomatic-filters 340 libfontconfig1 340 mount 340 nfs-kernel-server 340 xserver-xorg-video-glint 340 xserver-xorg-video-nsc 344 libpcre3 344 vimpart 344 xbattle 348 libcupsys2 348 libhal1 348 libhal-storage1 348 uudeview 352 base-files 352 cpio 352 ldap-utils 352 libpng12-0 352 nxdesktop 356 dvdauthor 356 gscanbus 356 libt1-5 360 aspell-ca 360 ksudoku 360 libsepol1 360 lsof 368 ext2resize 368 kpager 368 libxt6

Page 116: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

104

368 loop-aes-utils 372 distcc 372 dnsutils 372 initramfs-tools 372 libgpgme11 372 xfonts-bolkhov-cp1251-misc 376 dcraw 376 initscripts 380 arpwatch 380 dsniff 380 hwtools 380 kmailcvt 380 libglibmm-2.4-1c2a 384 libisc11 384 libkscan1 384 myspell-gl-es 384 nfs-common 388 clamav-base 388 kteatime 388 libsasl2-modules 392 ding 392 dvd+rw-tools 392 ucf 396 sudo 400 gs-common 400 xfonts-utils 404 konqueror-nsplugins 408 ispanish 408 mplayer-skin-blue 408 xawtv-plugins 412 ispell 412 libxaw7 416 ksmserver 416 libgcrypt11 416 xserver-xorg-video-i810 420 libsqlite3-0 420 libttf2 420 reportbug 420 xserver-xorg-video-via 424 icedax 424 ipppd 424 libjpeg62-dev 428 klibc-utils 428 ktnef 433 knoppix-installer 436 bzip2 436 libdate-manip-perl 436 libdbus-1-3 436 libxslt1.1 437 xaw3dg 440 gksu 440 rdesktop 440 syslinux 444 kandy 444 pppdcapiplugin 444 units 444 xskat

448 gsm-utils 448 libkcddb1 448 libparted1.6-0 449 kbackup 452 libconsole 452 libparted1.7-1 452 rt2x00-cvs-modules-2.6.19 456 console-common 456 libgksu2-0 456 libtiff-tools 456 psmisc 456 recode 457 kdemultimedia-kfile-plugins 460 libhtml-tree-perl 460 libuniconf4.2 460 ncurses-bin 460 ttf-opensymbol 464 alien 464 libsndfile1 468 busybox 468 libexif12 468 xbitmaps 472 autofs 472 libenchant1c2a 472 m4 476 dctrl-tools 476 libxfont1 484 apt-utils 484 arj 484 isdnutils-base 484 libclamav1 484 mtools 488 giflib-bin 488 openoffice.org-core10 488 php4-common 488 vim-gui-common 496 gv 496 kdeaddons-kfile-plugins 496 libgl1-mesa-glx 500 libsdl1.2debian-alsa 500 rsync 508 openoffice.org-graphicfilter 512 defoma 512 libgphoto2-port0 516 apache2-utils 520 gq 520 libscrollkeeper0 520 qobex 525 kdemultimedia-kio-plugins 528 ettercap-gtk 532 libmng1 536 libgconf2-4 537 kiconedit 540 ca-certificates 540 kdepasswd

Page 117: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

105

540 libwmf0.2-7 540 qps 544 libncurses5 544 smartmontools 548 gaim-encryption 548 openssh-server 549 libpq4 552 hostapd 556 dvbackup 556 smbconf-pfeifle-nonfree 560 ace-of-penguins 560 kcalc 560 slang1 564 ksokoban 564 openhackware 564 slang1a-utf8 568 liborbit2 568 vim-common 572 libldap-2.3-0 572 libpam-modules 572 vorbis-tools 576 nessus 576 rxvt-beta 576 wordtrans-data 580 zlib1g-dev 584 libncursesw5 584 libzvbi0 588 libglu1-mesa 588 procps 588 tsocks 592 libgsmme1c2a 596 dhcp3-common 596 libavformat0d 600 lisa 604 bsdmainutils 604 freemind 604 rcs 608 python 608 tcpdump 609 emerald 612 dmraid 612 ffmpeg 612 kghostview 612 libmagick++9c2a 616 bittorrent 616 icatalan 616 libgd2-xpm 616 libwvstreams4.2-base 616 nessusd 620 expect 620 kpf 620 libcairo2 620 sed 620 xfonts-scalable 624 ipw2200-nonfree 628 libfreetype6 632 libcucul0

632 libnasl2 636 knoppix-graphics 636 ksysv 636 star 636 usbview 640 wpasupplicant 640 xserver-xorg-video-sis 644 grep 648 mdadm 648 xawtv 652 libsvga1 656 apache2-mpm-prefork 656 net-tools 660 sendfile 664 gocr 664 pciutils 668 ipw2100-nonfree 668 libgnutls13 672 dump 672 sox 676 iceweasel-l10n-es-es 676 xfsdump 684 dpkg-dev 684 gpm 684 libgmp3c2 688 i2e 688 kfind 700 chkrootkit 700 dbus 700 sash 704 scli 708 grub-disk 708 hpijs 708 qtparted 712 frozen-bubble 712 gpgsm 712 madwifi-modules-2.6.19 712 xsane 716 cdbs 716 x11-common 724 katomic 725 klaptopdaemon 728 gtans 732 iceweasel-l10n-eu 732 iptraf 732 ttf-bitstream-vera 736 icedove-locale-es-es 744 bind9 744 diff 744 grub 744 libsane-extras 745 dictionaries-common 748 bluez-utils 748 xchat 752 cryptsetup 752 iproute 752 modutils

Page 118: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

106

752 myspell-en-us 753 myspell-es 756 wordtrans-kde 760 xdm 772 libkonq4 776 pnm2ppa 776 wordtrans-qt 780 kdf 780 xgalaga 784 iceweasel-l10n-ca 788 libnewt0.52 788 unixodbc 789 ntfsprogs-knoppix 796 ark 796 kpersonalizer 800 kuickshow 800 kuser 800 libquicktime0 808 dhcp3-server 812 libstdc++5 812 mobilemesh 816 etcskel-knoppix 820 foomatic-db-engine 824 dialog 824 kbattleship 828 manpages 836 knotes 840 libpango1.0-0 844 lvm2 849 wspanish 852 gtk2-engines 852 gtkam 852 lde 856 atmel-firmware 860 proll 872 libdb4.2 876 kreversi 878 kdegraphics-kfile-plugins 880 transfig 880 xfonts-encodings 880 xserver-xorg-video-ati 881 libopenexr2c2a 884 libwvstreams4.2-extras 891 beryl-settings 892 console-tools 892 libstdc++6 892 screen 896 imaze 896 openvpn 900 adduser 900 pcmcia-cs 904 pppconfig 904 wodim 912 libxcomp1 924 libdb4.3 928 gphoto2 928 unifont

932 debconf-i18n 932 smbfs 936 biew 936 klipper 940 libgtk1.2-common 944 libgeoip1 944 nvtv 944 partimage 944 udev 948 dvbsnoop 948 vcdimager 956 hwdata-knoppix 972 krdc 972 libkdegames1 976 fdutils 976 gettext-base 980 xterm 984 libwnck-common 988 icedove-locale-eu 988 libkrb53 988 libwww-perl 992 kmenuedit 994 kwlan 996 util-linux 1008 libgtop2-common 1008 lilo 1008 nxlibs 1012 ppp 1016 libdb4.4 1024 hicolor-icon-theme 1024 icedove-locale-ca 1029 khexedit 1032 amanda-server 1033 kmix 1037 beryl-core 1040 libslang2 1043 winetools 1048 libvorbisenc2 1048 openoffice.org-testtool 1056 libvte-common 1064 aspell 1064 jfsutils 1064 reiserfsprogs 1069 libpstoedit0c2a 1084 libglib2.0-0 1089 kview 1101 kooka 1112 minicom 1120 euro-support 1124 cdrdao 1128 xdialog 1132 libx11-6 1136 devscripts 1136 ettercap-common 1144 joe 1144 python-imaging 1156 libasound2

Page 119: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

107

1164 xfonts-bolkhov-cp1251-75dpi 1168 libperl5.8 1184 kget 1188 libpoppler0c2 1217 ntfs-3g 1224 kphone 1248 debhelper 1260 xserver-xorg 1268 findutils 1272 librecode0 1276 cupsys-driver-gutenprint 1292 gcc-4.1 1292 ttf-openoffice 1304 dvb-utils 1320 ktuberling 1324 ksplash 1324 libstdc++2.10-glibc2.2 1331 scrollkeeper 1332 iptables 1346 beryl-plugins 1354 sgml-data 1360 libdns21 1368 libkleopatra1 1372 kappfinder 1388 kpackage 1388 lftp 1396 hal 1404 tightvncserver 1408 vim 1424 libvte4 1424 libxml2 1436 genisoimage 1460 lesstif2 1488 debconf 1492 manpages-es-extra 1493 fb-music-low 1496 gnome-keyring 1508 kdm 1520 openssh-client 1532 wireshark 1536 sweep 1544 libnss3-0d 1560 ksysguard 1572 make 1584 ipv6calc 1592 gparted 1592 squid 1604 xfonts-terminus 1616 nano 1620 e2fsprogs 1624 libmagic1 1636 smail 1644 krfb 1652 icewm 1652 xutils-dev 1660 man-db

1660 vim-gtk 1676 autoconf 1676 libtiff4 1712 openoffice.org-debian-menus 1716 kdesktop 1720 libdbi-perl 1724 menu 1728 kmahjongg 1732 libgtk1.2 1736 nedit 1740 fetchmail 1740 libgstreamer0.10-0 1776 testdisk 1792 libsdl-perl 1800 libdirectfb-0.9-25 1832 bb 1832 libgimp2.0 1848 bash 1848 libkdepim1a 1888 kalarm 1892 xpdf-reader 1908 dselect 1916 libsmbclient 1926 kpdf 1928 tar 1940 alsa-utils 1948 wget 1964 gawk 2016 libx11-data 2016 openoffice.org-core08 2024 perl-base 2052 librpm4 2065 kviewshell 2080 gnupg2 2088 openoffice.org-core03 2128 libgutenprint2 2132 passwd 2192 konsole 2192 myspell-ca 2216 kate 2216 libglib2.0-data 2216 ncpfs 2280 xaos 2296 openssl 2308 login 2340 fluxbox 2348 enscript 2348 gpsdrive 2364 dietlibc-dev 2384 libplot2c2 2392 kdeprint 2396 groff-base 2436 kismet 2440 libaspell15 2456 nmap 2456 python2.4-minimal

Page 120: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

108

2456 xchat-common 2476 docbook-xml 2492 avm-firmware 2496 icewm-common 2496 libk3b2 2568 tk8.4 2580 ingerman 2604 openoffice.org-ca-res 2776 nasm 2784 xboard 2788 tiger 2800 irssi 2812 xfsprogs 2900 amanda-common 2916 manpages-dev 2935 elinks 2948 knode 3032 libsnmp-base 3060 util-linux-locales 3128 libapache2-mod-php4 3156 imagemagick 3156 tcl8.4 3164 openoffice.org-draw 3178 beryl-plugins-data 3232 xkb-data 3248 vim-scripts 3256 kdebase-bin 3268 kwin 3292 kdepim-kio-plugins 3300 libsnmp9 3320 console-data 3320 libkcal2b 3340 ttf-freefont 3420 xbase-clients 3428 libgtkmm-2.4-1c2a 3436 rpm 3440 apache2.2-common 3448 brltty 3460 xpdf-utils 3500 xnest 3504 irssi-scripts 3544 cvs 3588 konq-plugins 3616 kdebase-kio-plugins 3684 kppp 3692 kde-i18n-gl 3700 modconf 3728 libgphoto2-2 3776 blt 3784 openoffice.org-math 3828 libmysqlclient15off 3848 khelpcenter 3852 nxagent 3876 isdnactivecards 4036 openoffice.org-impress 4076 libgtk2.0-0 4096 libmagick9

4104 netpbm 4112 cupsys-common 4156 libarts1c2a 4264 xsane-common 4288 libavcodec0d 4312 apt 4324 libwxgtk2.4-1 4412 openoffice.org-ca 4564 xfonts-75dpi 4568 gaim 4568 lynx 4576 gnupg 4844 squid-common 4896 xfonts-100dpi 4912 foomatic-db-hpijs 4940 mutt 5004 groff 5060 gdb 5068 libssl0.9.7 5088 cpp-4.1 5172 kdebluetooth 5296 konqueror 5396 mc 5412 synaptic 5484 audacity 5492 gconf2-common 5504 samba-common 5548 openoffice.org-core07 5600 g++-4.1 5664 manpages-es 5716 tzdata 5728 kicker 5876 sleuthkit 5992 libncurses5-dev 6004 dpkg 6056 openoffice.org-core02 6212 binutils-dev 6224 gsfonts 6232 libssl0.9.8 6268 xmms 6270 wgalician-minimos 6312 openoffice.org-core05 6428 gettext 6540 openoffice.org-base 6580 kaffeine 6708 kmail 6984 libxine1 7132 binutils 7308 wcatalan 7332 cupsys 7500 openoffice.org-writer 7764 samba 7792 gimp 7936 openoffice.org-core09 7940 clamav-freshclam 8304 xfonts-base 8360 coreutils

Page 121: Autorizada la entrega del proyecto de alumno: El ...aplicaciones. Este proyecto nació en el año 1984 de la mano de Richard Stallman y la FSF ... Live-CD es que pueden no tener total

Entorno web para la creación de Knoppix personalizadas Septiembre 2008

109

8404 k3b 8420 nxclient 8548 libsane 8600 libqt3-mt 9056 kcontrol 9472 kde-i18n-eu 9548 smbclient 9608 python2.4 9708 locales 9728 mplayer 9800 xfonts-75dpi-transcoded 9804 qemu 9964 xserver-xorg-core 10028 gs-esp 10216 libstdc++6-4.1-dev 10580 libc6-dev 10644 xfonts-100dpi-transcoded 10956 linux-kernel-headers 11088 libc6 11416 sun-java5-jdk 11728 perl-modules 12408 foomatic-db 12416 libgtk2.0-common 13240 openoffice.org-pyuno 13620 perl 14348 nessus-plugins 14892 k3b-i18n 14988 gaim-data 15920 scribus 16164 sun-java5-jre 16380 mysql-client-5.0 16992 kdebase-data 17800 openoffice.org-core01 17964 openoffice.org-calc 18412 openoffice.org-core03u 19628 kde-i18n-ca 20000 sun-java5-demo 20400 gimp-data 21564 vim-runtime 26624 iceweasel 27728 kdelibs4c2a 29436 kdelibs-data 30480 wireshark-common 30996 icedove 32033 frozen-bubble-data 32128 libgl1-mesa-dri 41524 foomatic-db-gutenprint 48158 wine 54316 openoffice.org-core05u 58840 kde-i18n-es 61096 linux-image-2.6.19 65084 sun-java5-bin 72240 openoffice.org-core04u 84272 openoffice.org-core06