Download Distribución basada en GNU/LINUX“IXCHEL”

Document related concepts

Historia de Linux wikipedia , lookup

Núcleo Linux wikipedia , lookup

Controversia por la denominación GNU/Linux wikipedia , lookup

Distribución Linux wikipedia , lookup

GNU wikipedia , lookup

Transcript
INSTITUTO POLITÉCNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y
ELÉCTRICA
TESIS
DISTRIBUCIÓN LINUX
“IXCHEL”
QUE PARA OBTENER EL TÍTULO DE INGENIERO
EN COMUNICACIONES Y ELECTRÓNICA
PRESENTAN
ISAAC ANGEL MOLINA CHÁVEZ
JUAN CARLOS CAMACHO VÁZQUEZ
ASESORES
M.C. GABRIELA SÁNCHEZ MELÉNDEZ
M.C. DAVID VÁZQUEZ ÁLVAREZ
MÉXICO, D.F., 2016
Contenido
Objetivo General .................................................................................................................... VII
Objetivo específico ................................................................................................................ VII
Justificación........................................................................................................................... VII
CAPÍTULO I: MARCO TEÓRICO. ............................................................................................ 9
Introducción. ........................................................................................................................... 9
1.1
¿Qué es el software libre? ....................................................................................... 9
1.2
El inicio del proyecto GNU. .................................................................................... 12
1.2.1 ¿Un programa es libre para cualquier usuario? ..................................................... 13
1.2.2 El copyleft y la GPL de GNU. ................................................................................. 14
1.2.3 La Fundación del Software Libre (FSF). ................................................................ 15
1.3
Nacimiento de Linux. .............................................................................................. 16
1.3.1 Núcleo. ................................................................................................................... 18
1.4
Lenguajes de programación dentro de GNU/Linux. ............................................... 18
1.5
Distribuciones más importantes de GNU/Linux. ..................................................... 19
1.5.1 Árbol de distribuciones más conocidas de GNU/Linux........................................... 21
1.6
Particiones. .......................................................................................................... 222
1.6.1 Ext4. ..................................................................................................................... 222
1.6.2 Extents. ................................................................................................................ 233
1.6.3 Compatibilidad. ...................................................................................................... 23
1.6.4 Asignación de espacio. .......................................................................................... 24
1.6.5 Journal checksumming. ......................................................................................... 26
1.7
Sistema de archivos. .............................................................................................. 26
1.8
Rutas y nombres de archivos. .............................................................................. 277
pág. 2
1.9
SWAP (Espacio de Intercambio). ........................................................................... 28
1.9.1 Tamaño de swap.................................................................................................... 28
1.10
Kernel ó Núcleo...................................................................................................... 29
1.10.1 Los diferentes tipos de Kernel. ............................................................................... 30
1.10.2 Micro-kernel. .......................................................................................................... 30
1.10.3 Monolítico ............................................................................................................... 31
1.10.4 Hibrido .................................................................................................................... 32
1.11
Repositorio. ............................................................................................................ 33
1.12
Marco legal............................................................................................................. 34
1.12.1 Licencia Pública General (GPL). ............................................................................ 35
1.13
Linux From Scratch (Linux desde cero). ................................................................ 40
1.13.1 Encuesta. ............................................................................................................... 40
CAPÍTULO II: REQUERIMIENTOS......................................................................................... 42
Introducción. ......................................................................................................................... 42
2.1 Requerimientos mínimos de Hardware. ...................................................................... 42
2.2 Elementos virtuales (software) ................................................................................... 43
CAPÍTULO III: METODOLOGÍA DE DISEÑO. ....................................................................... 44
Introducción. ......................................................................................................................... 44
3.1
Encuesta. ................................................................................................................. 45
3.3
Propuesta. ................................................................................................................ 52
3.3.1 Proyecto Ixchel......................................................................................................... 52
3.4
Cómo obtener Ixchel. ............................................................................................... 53
3.4.1 Sitio (www.ixchellinux.ecom). ................................................................................... 54
pág. 3
CAPÍTULO IV: IMPLEMENTACIÓN. ...................................................................................... 55
Introducción. ......................................................................................................................... 55
4.1
Obtención de la distribución Debian 7 de instalación mínima. ............................... 55
4.2
Sistema anfitrión. ................................................................................................... 55
4.3
¿Por qué Debian? .................................................................................................. 55
4.4
Obtención de la distribución LFS. .......................................................................... 56
4.5
Comprobación de la memoria disponible. .............................................................. 57
4.6
Partición y punto de montaje. ................................................................................. 57
4.7
Partición. ................................................................................................................ 58
4.8
Edición del arranque .............................................................................................. 60
4.10
Configuración de las interfaces de red. .................................................................. 61
4.11
Instalación de programas. ...................................................................................... 62
4.11.1 Instalación del entorno de escritorio cinammon. .................................................... 63
4.12
Selección de opciones de localización. .................................................................. 64
4.12.1 Configuración de la red. ......................................................................................... 64
4.12.2 Configuración usuarios y root................................................................................. 65
4.12.3 Usuario local. ......................................................................................................... 65
4.12.4 Instalar el sistema base. ........................................................................................ 65
4.13
Programas adicionales. .......................................................................................... 66
4.13.1 Configurar aptitude................................................................................................. 66
4.13.2 Gestor de arranque. ............................................................................................... 67
4.14
Terminando la instalación. ..................................................................................... 67
4.14.1 Sistema terminado. ................................................................................................ 68
4.14.2 Añadiendo repositorios en la distribución. .............................................................. 68
pág. 4
4.14.3 La lista añadida al repositorio................................................................................. 69
4.15
Personalizar imágenes ........................................................................................... 70
4.16
Sistema anfitrión terminando.................................................................................. 71
4.16.1 Usando la herramienta LSF para personalizar ...................................................... 71
4.16.2 Creando la imagen ................................................................................................. 72
4.16.3 Requerimientos mínimos de hardware para Ixchel. ............................................... 72
CONCLUSIONES .................................................................................................................... 73
ANEXO .................................................................................................................................... 74
LICENCIA PÚBLICA GENERAL VERSIÓN 3 ...................................................................... 74
GLOSARIO ............................................................................................................................. 95
BIBLIOGRAFÍA ELECTRÓNICA ............................................................................................ 98
pág. 5
Índice de Figuras
Figura 1.5.1 Árbol de distribuciones más conocidas de GNU/Linux ........................................ 21
Figura 1.13 Gráfica de encuesta en línea. .............................................................................. 41
Figura 3.1
Pregunta 1. .......................................................................................................... 47
Figura 3.2
Pregunta 2 .......................................................................................................... 47
Figura 3.3
Pregunta 3 ........................................................................................................... 48
Figura 3.4
Pregunta 4 ........................................................................................................... 48
Figura 3.5
Pregunta 5 ........................................................................................................... 49
Figura 3.6
Pregunta 6 ........................................................................................................... 49
Figura 3.7
Pregunta 7 ........................................................................................................... 50
Figura 3.8
Escritorio Cinnamon ............................................................................................ 52
Figura 3.9
Menú del Escritorio .............................................................................................. 53
Figura 3.10 Sito de la Distribución. ......................................................................................... 54
Índice de Tablas
1.5 Tabla de distribuciones ...................................................................................................... 19
1.6 Tabla de comparación entre ext3 y ext4 ............................................................................ 25
3.1 Tabla de Información general ............................................................................................ 46
3.2 Tabla análisis de la encuesta ............................................................................................. 50
4.1 Tabla comparación de distribuciones ................................................................................. 56
4.2 Tabla de particiones ........................................................................................................... 58
pág. 6
Objetivo General
Implementar una distribución de GNU/Linux, la cual está orientada al perfil de estudiantes de
ICE de ESIME, la distribución busca cubrir las necesidades en cuanto a software y
aplicaciones, para algunas de las materias impartidas en dicha carrera.
Objetivo específico
Distribuir una herramienta, la cual contiene aplicaciones personalizadas y listas para usarse
que servirán como apoyo en varias de sus asignaturas, la distribución abarca desde
asignaturas de ciencias exactas hasta las ciencias sociales.
Justificación
Dentro de las universidades de México es muy complicado encontrar software libre, el
software libre nos da la libertad de modificar y usar los programas no solo a conveniencia sino
también a las múltiples necesidades del estudiante.
Otra razón es que cuando nos limitamos a usar los programas clásicos de la paquetería de
Windows, nos hacemos dependientes a un programa en específico, y cuando en el ámbito
laboral se nos ordena por motivos de proyecto o por políticas de la empresa, usar diferentes
paqueterías, cuesta mucho trabajo adaptarse.
Aquella época cuando el software libre solo estaba al alcance de los expertos en informática
quedó en el pasado, ya que con la evolución de la tecnología a nivel mundial es más
accesible para cualquier persona con conocimientos básicos en informática.
Después de un par de años en que el primer kernel de Linux fue colocado en un ftp para
compartirse con la comunidad de internet, ha sufrido varios cambios y con ello su eminente
pág. 7
evolución para adaptarse a la época y requerimientos actuales, debido a que es muy difícil
imaginar cómo sería el mundo, si un estudiante de Finlandia no lo hubiera creado.
Usamos Linux en nuestra vida diaria sin darnos cuenta, un ejemplo de ello es cuando se
contesta una llamada telefónica desde un teléfono celular o cuando se llena el tanque de
gasolina de un automóvil, en un ejemplo más personal es cuando se calienta algún alimento
en el horno de microondas, ya que varios de los elementos antes mencionados funcionan con
alguna derivación o directamente con el sistema.
El éxito de GNU/Linux fue cuando se colocó a disposición de cualquier persona para mejorarlo
o para adaptarlo según sus necesidades, si éste sistema no se hubiera compartido no tendría
el éxito que actualmente tiene y puede que hablando más drásticamente no existiría, pues la
mayoría de sus mejoras se debe a la contribución de la comunidad de internet.
Ixchel busca iniciar la participación de la comunidad de los alumnos de la carrera de ICE, y de
la comunidad de internet.
Por lo que se desea ofrecer una herramienta que tenga toda la ―paquetería‖ necesaria para
cursar toda o al menos la gran parte de la carrera, de ICE; en usa sola distribución de
software libre precargada y lista para usar.
pág. 8
CAPÍTULO I: MARCO TEÓRICO.
Introducción.
Para comprender el proyecto nos sumergiremos un poco en los conceptos y ¿por qué no?, en
la historia de aquellos gigantes e idealistas que dieron vida a lo que ahora conocemos como
GNU/Linux.
1.1 ¿Qué es el software libre?
Es el software que respeta la libertad de los usuarios y la comunidad. En grandes líneas,
significa que los usuarios tienen la libertad para ejecutar, copiar, distribuir, estudiar, modificar y
mejorar el software. Es decir, el software libre es una cuestión de libertad, no de precio. Para
entender el concepto, piense libre como en libre expresión.
Se promueve estas libertades porque todos merecen tenerlas; con estas libertades, los
usuarios (tanto individualmente como en forma colectiva) controlan el programa y lo que éste
hace. Cuando los usuarios no controlan el programa, decimos que dicho programa ―no es
libre‖, o que es ―privativo‖. Un programa que no es libre controla a los usuarios, y el
programador controla el programa, con lo cual el programa resulta ser un instrumento de
poder injusto.
Un programa es software libre si los usuarios tienen las cuatro libertades esenciales:

La libertad de ejecutar el programa como se desea, con cualquier propósito (libertad
0).
pág. 9

La libertad de estudiar cómo funciona el programa, y cambiarlo para que haga lo
que usted quiera (libertad 1). El acceso al código fuente es una condición necesaria
para ello.

La libertad de redistribuir copias para ayudar a su prójimo (libertad 2).

La libertad de distribuir copias de sus versiones modificadas a terceros (libertad 3).
Esto le permite ofrecer a toda la comunidad la oportunidad de beneficiarse de las
modificaciones. El acceso al código fuente es una condición necesaria para ello.
Un programa es software libre si otorga a los usuarios todas estas libertades de manera
adecuada. De lo contrario no es libre. Existen diversos esquemas de distribución que no son
libres, y si bien podemos distinguirlos en base a cuánto les falta para llegar a ser libres.
La libertad para distribuir (libertades 2 y 3) significa que usted tiene la libertad para redistribuir
copias con o sin modificaciones, ya sea gratuitamente o cobrando una tarifa por la
distribución, a cualquiera en cualquier parte. Ser libre de hacer esto significa, entre otras
cosas, que no tiene que pedir ni pagar ningún permiso para hacerlo.
También debe tener la libertad de hacer modificaciones y usarlas en privado para su propio
trabajo o pasatiempo, sin siquiera mencionar que existen. Si pública sus cambios, no debe
estar obligado a notificarlo a nadie en particular, ni de ninguna manera en particular.
La libertad de ejecutar el programa significa que cualquier tipo de persona u organización es
libre de usarlo en cualquier tipo de sistema de computación, para cualquier tipo de trabajo y
finalidad, sin que exista obligación alguna de comunicarlo al programador ni a ninguna otra
entidad específica. En esta libertad, lo que importa es el propósito del usuario, no el del
programador.
pág. 10
Usted como usuario es libre de ejecutar el programa para alcanzar sus propósitos, y si lo
distribuye a otra persona, también esa persona será libre de ejecutarlo para lo que necesite;
usted no tiene el derecho de imponerle sus propios objetivos a la otra persona.
La libertad de ejecutar el programa como se desea significa que al usuario no se le prohíbe o
no se le impide hacerlo. No tiene nada que ver con el tipo de funcionalidades que el programa
posee ni con el hecho de que el programa sea o no sea útil para lo que se quiere hacer.
La libertad de redistribuir copias debe incluir las formas binarias o ejecutables del programa,
así como el código fuente, tanto para las versiones modificadas como para las que no lo
estén. (Distribuir programas en forma de ejecutables es necesario para que los sistemas
operativos libres se puedan instalar fácilmente).
Resulta aceptable si no existe un modo de producir un formato binario o ejecutable para un
programa específico, dado que algunos lenguajes no incorporan esa característica, pero debe
tener la libertad de redistribuir dichos formatos si se encontrara o programara una forma de
hacerlo.
Para que las libertades 1 y 3 (realizar cambios y publicar las versiones modificadas) tengan
sentido, usted debe tener acceso al código fuente del programa. El ―código fuente‖ ofuscado
no es código fuente real y no cuenta como código fuente.
Hablemos un poco de la historia de GNU/Linux para ello en primera instancia se mencionarán
algunos antecedentes de vital importancia.
pág. 11
1.2 El inicio del proyecto GNU.
En enero de 1984 Richard Stallman renuncio a su empleo en el MIT (Instituto Tecnológico de
Massachusetts) y comenzó a escribir software para GNU. Fue necesario abandonar el MIT
para que la institución no interfiriera con la distribución de GNU como software libre.
De haber continuado como parte del personal, el MIT habría podido reclamar la titularidad
sobre la obra e imponer sus propios términos de distribución, o incluso transformarla en un
paquete de software privativo.
Él no tenía ninguna intención de hacer un trabajo enorme solo para que después resultará
inútil para lograr su objetivo: crear una nueva comunidad para compartir software.
No obstante, el Profesor Winston, director del laboratorio de inteligencia artificial del MIT, tuvo
la amabilidad de invitarlo a que continuase utilizando las instalaciones del laboratorio. Los
primeros pasos poco antes de comenzar el Proyecto GNU, se empezó a hablar del Free
University Compiler Kit (Kit compilador libre universitario), también conocido como VUCK (la
palabra holandesa equivalente a «libre» comienza con una V). Se trataba de un compilador
diseñado para manejar múltiples lenguajes, entre ellos C y Pascal, y compatible con
ordenadores de objetivos múltiples. Le escribió al autor para pedirle el permiso de utilizarlo en
GNU.
Este le respondió burlonamente, diciendo que la universidad era free, pero no el compilador.
Por lo tanto, decidió que su primer programa para el proyecto GNU sería un compilador
multilenguaje y multiplataforma. Para evitar tener que escribir todo el compilador desde cero,
obtuvo el código fuente del compilador Pastel, que era multiplataforma y había sido
desarrollado en el Lawrence Livermore Lab. El compilador soportaba y estaba escrito en una
versión ampliada de Pascal, diseñada para usarse como lenguaje de programación de
sistemas. Le agrego una interfaz para C y comenzó a adaptarlo al ordenador Motorola 68000,
pero tuvo que abandonar la idea al descubrir que el compilador necesitaba demasiados
megabytes de espacio, mientras el sistema Unix 68000 admitía solo 64k.
pág. 12
Notó que el compilador Pastel analizaba por completo el fichero de entrada transformándolo
en un árbol sintáctico, después convertía todo el árbol en una cadena de «instrucciones»
generando luego todo el fichero de salida, sin liberar en ningún momento el espacio ocupado.
Así, concluyó que tendría que escribir un nuevo compilador desde cero. Se trata del
compilador que se conoce ahora como Emacs.
Comenzó a trabajar en Emacs de GNU en septiembre de 1984, y a principios de 1985 ya
comenzaba a ser utilizable. Esto le permitió empezar a utilizar sistemas Unix para las tareas
de edición. Como nunca le interesó aprender a usar VI ni ED, hasta entonces había editado
en otro tipo de máquinas.
1.2.1 ¿Un programa es libre para cualquier usuario?
Un programa es software libre cuando sale de las manos del autor, esto no significa
necesariamente que seguirá siendo software libre para todos los que posean una copia del
mismo. Por ejemplo, el software de dominio público (software que no está sujeto a copyright)
es software libre, pero cualquiera puede tomarlo y hacer a partir de él una versión modificada
privativa. Lo mismo ocurre con muchos programas libres que están sujetos a copyright pero
se distribuyen bajo simples licencias permisivas que autorizan el desarrollo de versiones
modificadas privativas.
El ejemplo paradigmático de este problema es el sistema de ventanas X. Programado en el
MIT y publicado como software libre con una licencia permisiva, fue rápidamente adoptado por
varias empresas informáticas que añadieron X a sus sistemas Unix privativos en formato
binario únicamente y lo pusieron bajo el mismo acuerdo de no divulgación. Así, estas copias
de X pasaron a ser software privativo, tal como lo era Unix.
pág. 13
1.2.2 El copyleft y la GPL de GNU.
El objetivo de GNU era otorgar libertad a los usuarios, no simplemente alcanzar la
popularidad. Para ello se tuvieron que aplicar términos de distribución que impidieran que el
software de GNU pudiera ser convertido en software privativo. El método que se empleó se
denomina copyleft.
El copyleft hace uso de la ley de copyright, pero le da la vuelta de modo que sirva para una
finalidad opuesta a la habitual: en lugar de ser un medio para restringir un programa, se
transforma en un medio para preservarlo como software libre.
La idea central del copyleft es que le otorgamos a todo el mundo el permiso para ejecutar el
programa, copiarlo, modificarlo y redistribuir versiones modificadas; pero no le damos permiso
para añadirle restricciones por su cuenta. De esta manera, las libertades cruciales que definen
el software libre quedan garantizadas para todo aquel que posea una copia; estas libertades
se transforman en derechos inalienables.
Para que el copyleft sea efectivo, las versiones modificadas también deben ser libres. Esto
garantiza que toda obra basada en la nuestra quedará disponible para la comunidad, si se
publicara. Cuando los programadores que trabajan como empleados en el campo de la
programación se ofrecen como voluntarios para mejorar software de GNU, es el copyleft lo
que impide que sus empleadores les digan: No puedes compartir esos cambios porque los
queremos usar para crear nuestra versión privativa del programa.
pág. 14
La combinación de un programa libre con código que no es libre plantea un problema similar.
Inevitablemente, tal combinación no será libre; cualesquiera sean las libertades que le falten a
la parte que no es libre, le faltarán también al todo. Permitir tales combinaciones abriría un
agujero lo suficientemente grande como para hundir un barco. Por consiguiente, una función
crucial del copyleft es tapar ese agujero: cualquier cosa que se añada o se combine con un
programa que esté cubierto por el copyleft, debe ser adecuada para que la versión combinada
total también sea libre y también esté bajo copyleft.
1.2.3 La Fundación del Software Libre (FSF).
A medida que crecía el interés por el uso de Emacs, otras personas se involucraron en el
proyecto GNU, había llegado el momento de conseguir fondos. Con ese objetivo, en 1985 se
crea la Fundación del Software Libre (FSF), una organización sin ánimo de lucro exenta de
impuestos que se dedica al desarrollo de software libre. La FSF también se hizo cargo de la
distribución de Emacs, y más adelante comenzó a añadir otros programas libres de GNU
(además de otros que no eran de GNU) y a vender manuales.
La mayor parte de los ingresos de la FSF provenía de la venta de copias de software libre y
otros servicios relacionados: CD-ROM con código fuente, CD-ROM con los binarios, elegantes
manuales impresos (todos con la libertad para redistribuirlos y modificarlos) y distribuciones
de lujo con toda la colección de software lista para usar en la plataforma preferida del cliente).
Hoy en día la FSF continúa con la venta de manuales y otros artículos, pero obtiene la mayor
parte de su financiación de las cuotas de los socios.
Los empleados de la Free Software Foundation han escrito y se han encargado del
mantenimiento de una serie de paquetes de GNU. Dos ejemplos significativos son la
biblioteca C y la consola. Todo programa que se ejecuta en un sistema GNU/Linux utiliza la
biblioteca C de GNU para comunicarse con Linux, el núcleo; fue programado por Roland
McGrath, un miembro del personal de la Free Software Foundation.
pág. 15
La consola que se usa en la mayoría de los sistemas GNU/Linux se denomina BASH,
acrónimo de Bourne Again SHell, y fue desarrollada por Brian Fox, también empleado de la
FSF.
La FSF financio el desarrollo de esos programas porque el Proyecto GNU no se limitaba
únicamente a proveer herramientas o un entorno de desarrollo. La meta era construir un
sistema operativo completo, y necesitaba otros programas para alcanzarla.
1.3 Nacimiento de Linux.
En 1991, con 23 años, un estudiante de informática de la Universidad de Helsinki (Finlandia)
llamado Linus Torvalds se propone como entretenimiento hacer un sistema operativo que se
comporte exactamente igual al sistema operativo UNIX, pero que funcione sobre cualquier
ordenador compatible PC. Posteriormente Linus tuvo que poner como requisito mínimo que el
ordenador tuviese un procesador i386, ya que los ordenadores con CPU más antiguas no
facilitaban el desarrollo de un sistema operativo compatible con UNIX en ambiente gráfico.
Un factor decisivo para el desarrollo y aceptación de Linux va a ser la gran expansión de
Internet. Internet facilitó el trabajo en equipo de todos los que quisieron colaborar con Linus y
fueron aportando todos los programas que vienen con UNIX. Linus no pretendía crear todos
los programas que vienen con UNIX. Su objetivo fundamental era crear un núcleo del S.O.
que fuera totalmente compatible con el de UNIX y que permitiera ejecutar todos los programas
gratuitos compatibles UNIX desarrollados por la Free Software Foundation (fundada por
Richard Stallman) que vienen con licencia GNUF.1. Esta licencia impide poner precio a los
programas donados a la comunidad científica por sus propietarios (programas libres) y obliga
a que si se escriben nuevos programas utilizando código de programas libres, estos sean
también libres.
pág. 16
Para crear su núcleo, Linus se inspiró en Minix, una versión reducida de UNIX desarrollada
por el profesor Andy Tanenbaum para que sus alumnos pudieran conocer y experimentar con
el código de un sistema operativo real.
Linus escribió un pequeño núcleo que tenía lo necesario para leer y escribir ficheros en un
disquette. Estamos a finales de Agosto de 1991 y Linus ya tiene la versión 0.01. Como no era
muy agradable de usar y no hacia gran cosa, no lo anunció. Le puso como nombre Linux, que
es un acrónimo en inglés de Linus UNIX'' (el UNIX de Linus).
El 5 de octubre de 1991, Linus anuncia la primera versión ―oficial‖' de Linux, la 0.02. Esta
versión ya podía ejecutar dos herramientas básicas de GNU: el intérprete de órdenes (bash) y
el compilador de C (gcc). Linux no tenía aún nada sobre soporte a usuarios, distribuciones,
documentación ni nada parecido (aún hoy la comunidad de Linux trata estos asuntos de forma
secundaria; lo primero sigue siendo el desarrollo del kernel).
Linus siguió trabajando hasta que Linux llegó a ser un producto realmente útil. Dió los fuentes
de Linux para que cualquiera pudiese leerlo, modificarlo y mejorarlo. Seguía siendo la versión
0.02 pero ya ejecutaba muchas aplicaciones GNU (bash, gcc, gnu-make, gnu-sed, compress,
etc.)
Tras la versión 0.03, Linus salto a la versión 0.10, al tiempo que más gente empezaba a
participar en su desarrollo. Después de numerosas revisiones, alcanzó la versión 0.95,
reflejando la esperanza de tener lista muy pronto una versión estable (generalmente, la
versión 1.0 de los programas es la primera teóricamente completa y sin errores). Esto sucedía
en marzo de 1992. Año y medio después, en diciembre del 93, nacía Linux 1.0.
pág. 17
1.3.1 Núcleo.
Actualmente Linux es un núcleo monolítico híbrido. Los controladores de dispositivos y las
extensiones del núcleo normalmente se ejecutan en un espacio privilegiado conocido como
anillo 0 (ring 0), con acceso irrestricto al hardware, aunque algunos se ejecutan en espacio de
usuario. A diferencia de los núcleos monolíticos tradicionales, los controladores de dispositivos
y las extensiones al núcleo se pueden cargar y descargar fácilmente como módulos, mientras
el sistema continúa funcionando sin interrupciones.
También, a diferencia de los núcleos monolíticos tradicionales, los controladores pueden ser
prevolcados (detenidos momentáneamente por actividades más importantes) bajo ciertas
condiciones. Esta habilidad fue agregada para gestionar correctamente interrupciones de
hardware, y para mejorar el soporte de multiprocesamiento simétrico.
El hecho de que Linux no fuera desarrollado siguiendo el diseño de un micro-núcleo (diseño
que, en aquella época, era considerado el más apropiado para un núcleo por muchos teóricos
informáticos) fue asunto de una famosa y acalorada discusión entre Linus Torvalds y Andrew.
1.4 Lenguajes de programación dentro de GNU/Linux.
Linux está escrito en el lenguaje de programación C, en la variante utilizada por el compilador
GCC (que ha introducido un número de extensiones y cambios al C estándar), junto a unas
pequeñas secciones de código escritas con el lenguaje ensamblador. Por el uso de sus
extensiones al lenguaje, GCC fue durante mucho tiempo el único compilador capaz de
construir correctamente Linux. Sin embargo, Intel afirmó haber modificado su compilador C de
forma que permitiera compilarlo correctamente. Asimismo se usan muchos otros lenguajes en
alguna forma, básicamente en la conexión con el proceso de construcción del núcleo (el
método a través del cual las imágenes arrancables son creadas desde el código fuente).
pág. 18
Estos incluyen a Perl, Python y varios lenguajes shell scripting. Algunos drivers también
pueden ser escritos en C++, Fortran, u otros lenguajes, pero esto no es aconsejable. El
sistema de construcción de Linux oficialmente solo soporta GCC como núcleo y compilador de
controlador.
1.5 Distribuciones más importantes de GNU/Linux.
A continuación se presenta información sobre las distribuciones más importantes de Linux.
1.5 Tabla de Distribuciones.
UBUNTU
Distribución basada en Debian, centrada en el usuario final y de
mayor facilidad de uso. Muy popular y con mucho soporte en la
comunidad. El entorno de escritorio por defecto es GNOME.
REDHAT ENTERPRISE
Esta es una distribución que tiene muy buena calidad, contenidos y
soporte a los usuarios por parte de la empresa que la distribuye. Es
necesario el pago de una licencia de soporte. Enfocada a empresas.
FEDORA
Esta es una distribución patrocinada por RedHat y soportada por la
comunidad. Fácil de instalar y buena calidad.
DEBIAN
Otra distribución con muy buena calidad. El proceso de instalación es
quizás un poco más complicado, pero sin mayores problemas. Gran
estabilidad antes que últimos avances.
OpenSuSE
Otra de las grandes. Fácil de instalar. Versión libre de la distribución
comercial SuSE.
pág. 19
SLACKWARE
Esta distribución es de las primeras que existió. Tuvo un periodo en el
cual no se actualizo muy a menudo, pero eso es historia. Es raro
encontrar usuarios de los que empezaron en el mundo Linux hace
tiempo, que no hayan tenido esta distribución instalada en su
ordenador en algún momento.
GENTOO
Esta distribución es una de las únicas que incorporaron un concepto
totalmente nuevo en Linux. Es un sistema inspirado en BSD-ports. Se
Podrá compilar/optimizar su sistema completamente desde cero. No
es recomendable adentrarse en esta distribución sin una buena
conexión a internet, un ordenador medianamente potente (si se
quiere terminar de compilar en un buen tiempo) y cierta experiencia
en sistemas Unix.
KUBUNTU
Distribución basada en Ubuntu, con lo que esto conlleva y centrada
en el usuario final y facilidad de uso. La gran diferencia con Ubuntu es
que el entorno de escritorio por defecto es KDE.
MANDRIVA
Esta distribución fue creada en 1998 con el objetivo de acercar el uso
de Linux a todos los usuarios, en un principio se llamó Mandrake
Linux. Facilidad de uso para todos los usuarios.
Linux Mint
Es una distribución del sistema operativo GNU/Linux, basada en la
distribución Ubuntu (que a su vez está basada en Debian).
CentOS
Nació como un derivado gratuito de la distribución comercial Red Hat
Enterprise Linux (RHEL) destinada al uso empresarial.
Recientemente unió las fuerzas con el propio Red Hat, y sigue
siendo una apuesta segura para los que busquen un código de gran
calidad.
Manjaro
Enfocada al usuario menos experimentado. Para eso, ofrece un
sistema operativo ya montado y basado en Arch, con un instalador
sencillo como el que podemos encontrar en otras distribuciones
como Ubuntu. Tiene los entornos de escritorio XFCE y KDE.
pág. 20
pág. 21
1.5.1 Árbol de distribuciones más conocidas de GNU/Linux
1.6 Particiones.
Es importante explicar los conceptos de particiones para entender las particiones que lleva la
distribución, Fdisk es un software que está disponible para varios sistemas operativos, el cual
permite dividir en forma lógica un disco duro, siendo denominado este nuevo espacio como
partición.Linux necesita al menos una partición, es decir, por su sistema de archivos raíz.
Puede usan los archivos de intercambio y / o particiones de intercambio. Casi todas las
instalaciones de Linux tienen una segunda partición dedicada como espacio de intercambio.
(Swap) esta partición sirve como memoria de intercambio similar a la función de la memoria
RAM normal, útil en máquinas con memoria RAM limitada.
Otros sistemas Unix basados en Intel suelen utilizar una disposición más elaborada. Sistemas
derivados de BSD utilizan una etiqueta de disco como su principal método de identificación de
secciones distintas del disco, suelen denominarse slices. Estos slices pueden o no
corresponder a las particiones enumeradas en el registro maestro de arranque. (RMB) Una
disposición típica para todo el sistema Unix es tener una sola partición asignada, la misma se
subdivide después en slices distintos para cada sistema de archivos y la zona de intercambio.
Otras particiones fuera de éste dedicado puede ser, legítimamente referenciado en una
disklabel- esto es particularmente cierto en los escenarios de arranque dual, donde se desea
que el sistema Unix acceda a las particiones usadas por otros sistemas operativos que
residen en la misma máquina.
1.6.1 Ext4.
Ext4 (fourth extended filesystem o ―cuarto sistema de archivos extendido‖) es un sistema de
archivos transaccional (en inglés journaling), anunciado el 10 de octubre de 2006 por Andrew
Morton, como una mejora compatible de ext3.
pág. 22
1.6.2 Extents.
Los extents han sido introducidos para reemplazar al tradicional esquema de bloques usado
por los sistemas de archivos ext2/3.
Un extent es un conjunto de bloques físicos contiguos, mejorando el rendimiento al trabajar
con ficheros de gran tamaño y reduciendo la fragmentación.
Un extent simple en ext4 es capaz de mapear hasta 128 MB de espacio contiguo con un
tamaño de bloque igual a 4 KB.
1.6.3 Compatibilidad.
Cualquier sistema ext3 existente puede ser montado como ext4 sin necesidad de cambios en
el formato del disco. También es posible actualizar un sistema de archivos ext3 para conseguir
las ventajas del ext4 ejecutando un par de comandos. Esto significa que se puede mejorar el
rendimiento, los límites de almacenamiento y las características de sistemas de archivos ext3
sin volver a dar formato y/o reinstalar el sistema operativo. Si se requiere de las ventajas de
ext4 en un sistema de producción, se puede actualizar el sistema de archivos.
El procedimiento es seguro y no existe riesgo para los datos (aunque siempre es
recomendado hacer un respaldo de la información crítica). Ext4 usará la nueva estructura de
datos sólo para la información nueva. La estructura antigua será conservada sin modificación
y será posible leerla y/o modificarla cuando sea necesario. Esto significa que si se convierte
un sistema de archivos a ext4 no se podrá regresar a ext3 de nuevo. El uso de extents está
fijado por defecto desde la versión del kernel 2.6.23. Anteriormente, esta opción requería ser
activada explícitamente (por ejemplo mount /dev/sda1 /mnt/point -t ext4dev -o extents).
pág. 23
1.6.4 Asignación de espacio.
El sistema de archivos ext4 permite la reserva de espacio en disco para un fichero. Hasta
ahora la metodología consistía en rellenar el fichero en el disco con ceros en el momento de
su creación. Esta técnica no es ya necesaria con ext4, ya que un nuevo sistema llamado
"preallocate" ha sido añadido al kernel Linux para uso de los sistemas de archivos que
permitan esta función. El espacio reservado para estos ficheros quedará garantizado y con
mucha probabilidad será contiguo. Esta función tiene útiles aplicaciones en streaming y bases
de datos. A continuación se muestra la comparación de ext3 y ext4 en la tabla 1.6.
pág. 24
Tabla 1.6 comparación entre ext3 y ext4
pág. 25
1.6.5 Journal checksumming.
Ext4 usa checksums en el registro para mejorar la fiabilidad, puesto que el journal es uno de
los ficheros más utilizados en el disco. Esta función tiene un efecto colateral beneficioso:
permite de forma segura evitar una lectura/escritura de disco durante el proceso de registro en
el journal, mejorando el rendimiento ligeramente. La técnica del journal checksumming está
inspirada en la investigación de la Universidad de Wisconsin en sistemas de archivos IRON
(Sección 6, bajo el nombre "checksums de transacciones").
1.7 Sistema de archivos.
El sistema de archivos o ficheros (en inglés: filesystem) es el componente del sistema
operativo encargado de administrar y facilitar el uso de las memorias periféricas, ya sean
secundarias o terciarias. Sus principales funciones son la asignación de espacio a los
archivos, la administración del espacio libre y del acceso a los datos resguardados.
Estructuran la información guardada en una unidad de almacenamiento (normalmente un
disco duro de una computadora), que luego será representada ya sea textual o gráficamente
utilizando un gestor de archivos. La mayoría de los sistemas operativos manejan su propio
sistema de archivos.
Lo habitual es utilizar dispositivos de almacenamiento de datos que permiten el acceso a los
datos como una cadena de bloques de un mismo tamaño, a veces llamados sectores,
usualmente de 512 bytes de longitud (También denominados clúster). El software del sistema
de archivos es responsable de la organización de estos sectores en archivos y directorios y
mantiene un registro de qué sectores pertenecen a qué archivos y cuáles no han sido
utilizados.
pág. 26
En la práctica, un sistema de archivos también puede ser utilizado para acceder a datos
generados dinámicamente, como los recibidos a través de una conexión de red (sin la
intervención de un dispositivo de almacenamiento).
Los sistemas de archivos tradicionales proveen métodos para crear, mover, renombrar y
eliminar tanto archivos como directorios, pero carecen de métodos para crear, por ejemplo,
enlaces adicionales a un directorio o archivo.
El acceso seguro a archivos básicos puede estar basado en los esquemas de lista de control.
Las listas de control de acceso hace décadas que demostraron ser inseguras, por lo que los
sistemas operativos experimentales utilizan el acceso por capacidades. Los sistemas
operativos comerciales aún funcionan con listas de control de acceso.
1.8 Rutas y nombres de archivos.
La estructura de directorios suele ser jerárquica, ramificada o "en árbol", aunque en algún
caso podría ser plana. En algunos sistemas de archivos los nombres de archivos son
estructurados, con sintaxis especiales para extensiones de archivos y números de versión. En
otros, los nombres de archivos son simplemente cadenas de texto y los metadatos de cada
archivo son alojados separadamente. En los sistemas de archivos jerárquicos, usualmente, se
declara la ubicación precisa de un archivo con una cadena de texto llamada "ruta" —o path en
inglés. La nomenclatura para rutas varía ligeramente de sistema en sistema, pero mantienen
por lo general una misma estructura. Una ruta viene dada por una sucesión de nombres de
directorios y subdirectorios, ordenados jerárquicamente de izquierda a derecha y separados
por algún carácter especial que suele ser una diagonal ('/') o diagonal invertida ('\') y puede
terminar en el nombre de un archivo presente en la última rama de directorios especificada.
pág. 27
1.9 SWAP (Espacio de Intercambio).
En informática, el espacio de intercambio es una zona del disco (un fichero o partición) que se
usa para guardar las imágenes de los procesos que no han de mantenerse en memoria física.
A este espacio se le suele llamar swap, del inglés "intercambiar".
La mayoría de los sistemas operativos modernos poseen un mecanismo llamado memoria
virtual, que permite hacer creer a los programas que tienen más memoria que la disponible
realmente. Como en realidad no se tiene físicamente toda esa memoria, algunos procesos no
podrán ser ubicados en la memoria RAM.
En este caso es cuando es útil el espacio de intercambio: el sistema operativo puede buscar
un proceso poco activo, y moverlo al área de intercambio (el disco duro) y de esa forma liberar
la memoria principal para cargar otros procesos. Mientras no haga falta, el proceso extraído
de memoria puede quedarse en el disco, ya que ahí no utiliza memoria física. Cuando sea
necesario, el sistema vuelve a hacer un intercambio, pasándolo del disco a memoria RAM. Es
un proceso lento (comparado con usar sólo la memoria RAM), pero permite dar la impresión
de que hay más memoria disponible.
1.9.1 Tamaño de swap.
Ésta es una discusión típica entre los administradores de sistemas, y una duda común que
sale durante la instalación de un sistema Linux (o cualquier UNIX). Hay una regla muy
conocida que dice que "la swap ha de ser el doble de la memoria RAM instalada", pero esto
ya no es válido hoy en día. Esta regla funcionaba bien antes, cuando siempre se compraba
menos RAM de la que realmente se necesitaba, porque era muy cara. Tener 3 veces más
memoria que la física iba bien para la mayoría de usuarios.
pág. 28
Pero en un ordenador nuevo que tenga 1 GB de RAM, no será necesario gastar 2 GB en una
partición de swap, porque probablemente no se usará.
La regla habitual usada para decidir el tamaño de la swap es "pensar en cuánto querrías tener
y en cuánto tienes, y poner como swap la diferencia".
Por ejemplo, si un usuario necesita abrir ficheros de hasta 700 MB, pero sólo tiene 256 MB de
RAM, entonces lo que le falta (aprox. 500 MB) se ha de poner como swap, como mínimo.
Más swap puede ir bien, pero no será muy usada. Si el ordenador ha de soportar mucha
carga, la partición ha de ser mínimamente grande; se recomienda algo más de 128 MB.
1.10 Kernel ó Núcleo.
Al kernel o núcleo es el nivel más bajo de software fácilmente reemplazable que interactúa
con el hardware de la computadora. Se encarga de interconectar todas las aplicaciones que
se ejecutan en el ―modo usuario‖ hasta el hardware, y permitiendo a los procesos obtener
información de unos a otros utilizando la comunicación entre procesos (IPC).
Las funciones más importantes del mismo, aunque no las únicas, son:

Administración de la memoria para todos los programas y procesos en ejecución.

Administración del tiempo del procesador y procesos en ejecución.

Es el encargado de que podamos acceder a los periféricos/elementos de nuestra
computadora de una manera cómoda.
Hasta que empezó el desarrollo de la serie 2.6 del núcleo, existieron dos tipos de versiones
del núcleo:
pág. 29
Versión de producción: La versión de producción, era la versión más estable hasta el
momento. Esta versión fue el resultado final de las versiones de desarrollo. Cuando el equipo
de desarrollo del núcleo experimental, decidía que tenía un núcleo estable y con la suficiente
calidad, se lanzaba una nueva versión de producción o estable.
Esta versión era la que se debía utilizar para un uso normal del sistema, ya que eran las
versiones consideradas más estables y libres de fallos en el momento de su lanzamiento.
Versión de desarrollo: Esta versión experimental, era la que utilizaban los desarrolladores para
programar, comprobar y verificar nuevas características, correcciones, etc. Estos núcleos
solían ser inestables y no se debían usar sin saber lo que se hacía.
1.10.1 Los diferentes tipos de Kernel.
Hay, por supuesto, diferentes maneras de construir un núcleo y consideraciones
arquitectónicas, cuando se construye desde cero. En general, la mayoría de los núcleos se
dividen en tres tipos: micro-kernel monolítico, e híbrido. Linux es un kernel monolítico,
mientras que OS X (XNU) y Windows 7 núcleos usan híbridos. Echemos un rápido recorrido
por las tres categorías para que podamos entrar en más detalle.
1.10.2 Micro-kernel.
Un micro-kernel adopta el enfoque de sólo administrar lo que tiene: CPU, memoria, y el IPC.
Casi todo lo demás en una computadora puede ser visto como un accesorio y se puede
manejar en modo de usuario. Los Micro-núcleos tienen una ventaja de la portabilidad, ya que
no tiene que preocuparte si cambia la tarjeta de vídeo o incluso el sistema operativo, siempre
y cuando el sistema operativo siga tratando de acceder al hardware de la misma manera.
pág. 30
Los Micro-núcleos también tienen un tamaño muy pequeño, tanto para la memoria y el
espacio de instalación, y tienden a ser más seguros.
Pros

Portabilidad

Ocupa un espacio pequeño al instalar

Consume poca memoria

Buena Seguridad
Contras

El hardware es más abstracto a través de controladores

El hardware puede reaccionar más lento porque los controladores están en modo
usuario

Los procesos tienen que esperar en una cola para obtener información

Los procesos no pueden tener acceso a otros procesos sin tener que esperar
1.10.3 Monolítico
Un núcleo monolítico es un tipo de núcleo o kernel de un sistema operativo. Linux posee una
estructura monolítica, igual que los primeros sistemas Unix. Todos los servicios centrales
residen dentro de un componente principal llamado kernel.
Estos sistemas tienen un núcleo grande y complejo, que engloba todos los servicios del
sistema. Está programado de forma no modular, y tiene un rendimiento mayor que un micronúcleo. Sin embargo, cualquier cambio a realizar en cualquier servicio requiere la recompilación del núcleo y el reinicio del sistema para aplicar los nuevos cambios.
pág. 31
La interfaz de llamadas al sistema define el tipo y número de servicios del sistema operativo
que una aplicación puede solicitar: iniciar o parar trabajos, almacenar y leer datos. El kernel
2.6.0 ofrecía 274 servicios de Linux de 32 bits: en el 3.0 hay 347. Un sistema
operativo con núcleo
monolítico concentra
todas
las
funcionalidades
posibles
(planificación, sistema de archivos, redes, controladores de dispositivos, gestión de memoria,
etc.) dentro de un gran programa. El mismo puede tener un tamaño considerable, y deberá
ser recompilado por completo al añadir una nueva funcionalidad. Los servicios propiamente
dichos los proveen los bloques de gestión de E/S, de tareas y de memoria que utilizan una
serie de drivers para acceder al hardware.
Con una división más granular se introducen los subsistemas del kernel, que se encargan de
tareas como la multimedia, las redes o el acceso a los dispositivos PCI o USB.
1.10.4 Hibrido
Un núcleo híbrido es un tipo de núcleo de un sistema operativo. Básicamente, es un micronúcleo que tienen algo de código «no esencial» en espacio de núcleo, para que éste se
ejecute más rápido de lo que lo haría si estuviera en espacio de usuario. Éste fue un
compromiso que muchos desarrolladores de los primeros sistemas operativos, con
arquitectura basada en micro-núcleo, adoptaron antes que se mostrará que los micro-núcleos
pueden tener también muy buen rendimiento.
La mayoría de sistemas operativos modernos pertenecen a esta categoría, siendo el más
popular Microsoft Windows. El núcleo de Mac OS X, XNU, también es un micro-núcleo no
modificado, debido a la inclusión de código del núcleo de FreeBSD en el núcleo basado en
Mach. DragonFlyBSD es el primer sistema BSD que adopta una arquitectura de núcleo híbrido
sin basarse en Mach.
Se tiende a confundir erróneamente a los núcleos híbridos con los núcleos monolíticos que
pueden dinámicamente cargar módulos después del arranque. El concepto de núcleo híbrido
pág. 32
se refiere a que el núcleo en cuestión usa mecanismos o conceptos de arquitectura tanto del
diseño monolítico como del micro-núcleo, específicamente el paso de mensajes y la migración
de código «no esencial» hacia el espacio de usuario (manteniendo a su vez cierto código «no
esencial» en el propio núcleo por razones de rendimiento).
1.11 Repositorio.
Un repositorio, depósito o archivo es un sitio centralizado donde se almacena y mantiene
información digital, habitualmente bases de datos o archivos informáticos. Los datos
almacenados en un repositorio pueden distribuirse a través de una red informática, como
Internet, o de un medio físico, como un disco compacto.
Pueden ser de acceso público o estar protegidos y necesitar de una autentificación previa. Los
repositorios más conocidos son los de carácter académico e institucional. Los repositorios
suelen contar con sistemas de respaldo y mantenimiento preventivo y correctivo, lo que hace
que la información se pueda recuperar en el caso que la máquina quede inutilizable.
A esto se lo conoce como preservación digital y requiere un exhaustivo trabajo de control de
calidad e integridad para realizarse correctamente. Depositar no debe confundirse con
publicar. El depósito en los repositorios es una manera de comunicar públicamente los
trabajos de los investigadores, aumentando su difusión: los autores ponen disponibles en
acceso abierto una versión de los artículos que han publicado en revistas, tradicionales o de
acceso abierto. Para ello, los sistemas de repositorios suelen integrarse e interoperar con
otros sistemas y aplicaciones web 3.4. Asimismo, los repositorios cumplen un rol importante
en la formación universitaria.
Algunas instituciones promueven el uso de sus repositorios como un servicio adicional para el
investigador. Otras instituciones poseen mandatos propios que obligan a los autores o
pág. 33
investigadores a depositar sus publicaciones (o determinados tipos, como por ej. tesis
doctorales) en el repositorio institucional, con fines de visibilidad, impacto y preservación. En
algunos países, como por ejemplo Argentina, se han promulgado leyes de acceso abierto que
promueven la implementación y uso de los repositorios de instituciones sustentadas con
fondos públicos, mientras que otros países están trabajando en la aprobación de leyes
similares, como por ejemplo México.
1.12 Marco legal.
Las obras incluidas en un repositorio deben cumplir con las leyes vigentes sobre los derechos
que los creadores tienen de su obra. Se consideran dos tipos de derechos: morales y
patrimoniales. Los derechos morales son permanentes, irrenunciables, inexpropiables y no
prescriben.
Los derechos patrimoniales o de copyright son económicos, transferibles y de duración
limitada en el tiempo.
Los derechos patrimoniales, generalmente, son de explotación. Este derecho, suele cederse a
terceros mediante la firma de un contrato. La cesión total o parcial de este derecho puede ser
de cuatro tipos: reproducción, distribución, comunicación pública y transformación. Las
instituciones académicas tienen que articular las condiciones legales de los repositorios
contemplando los derechos de explotación, de depósito y de acceso a los contenidos. Estos
aspectos pueden estar afectados por las cesiones de derechos de explotación que los
investigadores han aceptado en los contratos editoriales.
Muchos autores ceden todos los derechos a las editoriales que publican sus trabajos. Esto
significa que éste pierde la propiedad de explotación hasta la conclusión del contrato firmado
(excepcionalmente el autor podría utilizarlo con fines didácticos o para uso personal). Las
consecuencias de esta cesión exclusiva son múltiples y afectan de modo considerable a la
pág. 34
publicación, distribución y usos de los trabajos. Hay opciones contractuales alternativas a la
cesión exclusiva, como son la cesión parcial (en la que se establecen unos derechos para el
autor y otros -como la publicación o la distribución-, para el editor) o la no cesión (en la que el
autor retiene el copyright pero otorga al editor el permiso, mediante licencia, para publicar la
obra).
1.12.1 Licencia Pública General (GPL).
La Licencia Pública General de GNU o más conocida por su nombre en inglés GNU General
Public License (o simplemente sus siglas del inglés GNU GPL) es la licencia más
ampliamente usada en el mundo del software y garantiza a los usuarios finales (personas,
organizaciones, compañías) la libertad de usar, estudiar, compartir (copiar) y modificar el
software. Su propósito es declarar que el software cubierto por esta licencia es software libre y
protegerlo de intentos de apropiación que restrinjan esas libertades a los usuarios. Esta
licencia fue creada originalmente por Richard Stallman fundador de la Free Software
Foundation (FSF) para el proyecto GNU.
La licencia GPL puede ser usada por cualquiera, ya que su finalidad es proteger los derechos
de los usuarios finales (usar, compartir, estudiar y modificar). Esta es la primera licencia
copyleft para uso general, lo que significa que los trabajos derivados sólo pueden ser
distribuidos bajo los términos de la misma licencia. Bajo esta filosofía, la licencia GPL
garantiza a los destinatarios de un programa de computador los derechos y libertades
reunidos en definición de software libre y usa copyleft para asegurar que el software está
protegido cada vez que el trabajo es distribuido, modificado o ampliado. En la forma de
distribución (sólo pueden ser distribuidos bajo los términos de la misma licencia) se
diferencian las licencias GPL, de las licencias de software libre permisivas, de las cuales los
ejemplos más conocidos son las licencias BSD (BSD licenses).El software bajo licencia GPL
puede ser aplicado bajo todos los propósitos, incluidos los propósitos comerciales e incluso
como herramienta de creación de software propietario. En uso puramente privativo (o interno),
pág. 35
sin ventas ni distribuciones implicadas, el software puede ser modificado sin liberar el código
fuente pero, de lo contrario, el código fuente y cualquier cambio realizado en él debe estar
disponible para los usuarios, ya que en este caso los derechos del usuario están protegidos
por copyleft. De esta forma, las aplicaciones instaladas en sistemas operativos bajo licencia
GPL como Linux, no es necesario que estén licenciadas bajo GPL o que estén distribuidas
con su código fuente disponible ya que las licencias no dependen de la plataforma. Por
ejemplo, si un programa está formado completamente por código original, o si está combinado
con software que no cumple los requisitos de copyleft no es necesario que se licencie bajo
GPL o que se distribuya con su código fuente disponible. Sólo si un programa utiliza
fragmentos de código GPL (y el programa es distribuido) el código fuente en su totalidad debe
estar disponible, bajo la misma licencia. La licencia LGPL (GNU Lesser General Public
License) fue creada para tener derechos menos restrictivos que GPL, por lo que en este caso
en un programa que utiliza fragmentos de código LGPL, no es necesario liberar el código
original.
Los usuarios o compañías que distribuyen sus trabajos bajo licencias GPL, pueden cobrar o
distribuirlas gratuitamente. Esto distingue las licencias GPL de las licencias de software que
prohíben su distribución comercial. La FSF argumenta que no se debe restringir la distribución
comercial del software (incluyendo la redistribución), ya que la GPL establece explícitamente
que las obras cubiertas por esta licencia se pueden vender a cualquier precio.
Versión 1
La versión 1 de GNU GPL, fue presentada el 25 de febrero de 1989, impidió lo que eran las
dos principales formas con las que los distribuidores de software restringían las libertades
definidas por el software libre. El primer problema fue que los distribuidores publicaban
únicamente los archivos binarios, funcionales y ejecutables, pero no entendibles o
modificables por humanos. Para prevenir esto, la licencia GPLv1 estableció que cualquier
proveedor de software libre además de distribuir el archivo binario debía liberar a su vez
código fuente entendible y que pudiera ser modificado por el ser humano, bajo la misma
licencia (secciones 3a y 3b de la licencia).
pág. 36
El segundo problema era que los distribuidores podían añadir restricciones adicionales, ya
fuera añadiendo restricciones a la licencia o mediante la combinación del software con otro
que tuviera otras restricciones en su distribución. Si esto se hacía, entonces la unión de los
dos conjuntos de restricciones sería aplicada al trabajo combinado entonces podrían añadirse
restricciones inaceptables. Para prevenir esto, GPLv1 obligaba a que las versiones
modificadas en su conjunto, tuvieran que ser distribuidas bajo los términos GPLv1 (secciones
2b y 4 de la licencia). Por lo tanto, el software distribuido bajo GPLv1 puede ser combinado
con software bajo términos más permisivos y no con software con licencias más restrictivas, lo
que entraría en conflicto con el requisito de que todo software tiene que ser distribuido bajo los
términos de la licencia GPLv1.
Versión 2
Según Richard Stallman, el mayor cambio en GPLv2 fue la cláusula ―Liberty or Death‖
(Libertad o Muerte), como la llama en la sección 7 del GPLv3. Esta sección dice que si alguien
impone restricciones que le prohíben distribuir código GPL de tal forma que influya en las
libertades de los usuarios (por ejemplo, si una ley impone que esa persona únicamente pueda
distribuir el software en binario), esa persona no puede distribuir software GPL. La esperanza
es que esto hará que sea menos tentador para las empresas el recurrir a las amenazas de
patentes para exigir una remuneración de los desarrolladores de software libre.
En 1990 se hizo evidente que una licencia menos restrictiva sería estratégicamente útil para la
librería C y para las librerías de software que esencialmente hacían el trabajo que llevaban a
cabo otras librerías comerciales ya existentes. Cuando la versión 2 de GPL fue liberada en
junio de 1991, una segunda licencia Library General Public License fue introducida al mismo
tiempo y numerada con la versión 2 para denotar que ambas son complementarias. Los
números de versiones divergieron en 1999 cuando la versión 2.1 de LGPL fue liberada, esta
fue renombrada como GNU Lesser General Public License para reflejar su lugar en esta
filosofía.
pág. 37
Versión 3
A finales de 2005, la Free Software Foundation (FSF) anunció estar trabajando en la versión 3
de la GPL (GPLv3). El 16 de enero de 2006, el primer borrador de GPLv3 fue publicado, y se
inició la consulta pública. La consulta pública se planeó originalmente para durar de nueve a
quince meses, pero finalmente se extendió a dieciocho meses, durante los cuales se
publicaron cuatro borradores. La GPLv3 oficial fue liberada por la FSF el 29 de junio de 2007.
Fue escrita por Richard Stallman con el asesoramiento legal de Eben Moglen y el Software
Freedom Law Center.
Según Stallman los cambios más importantes se produjeron en el campo de las patentes de
software, la compatibilidad de licencias de software libre, la definición de código fuente, y
restricciones de hardware respecto a las modificaciones de hardware 9.10. Otros cambios
están relacionados con la internacionalización, cómo son manejadas las violaciones de
licencias, y cómo los permisos adicionales pueden ser concedidos por el titular de los
derechos de autor. También añade disposiciones para quitar al DRM su valor legal, por lo que
es posible romper el DRM en el software de licencia GPL sin romper leyes como la DMCA.
El proceso de consulta pública fue coordinado por la Free Software Foundation con asistencia
de Software Freedom Law Center, Free Software Foundation Europe, y otros grupos de
software libre. Los comentarios del público fueron recolectados a través del portal
GPLv3.fsf.org. Durante el proceso de consulta pública, 962 comentarios fueron presentados
para el primer borrador. Finalmente, al concluir el proceso se alcanzó la cifra de 2,636
comentarios. El tercer borrador fue liberado el 28 de marzo de 2007. Este borrador incluye
mecanismos destinados a evitar acuerdos relativos a las patentes, como el controvertido
acuerdo entre Microsoft y Novell y restringe las cláusulas anti-tivoización a una definición
legal de un "usuario" o "producto de consumo". También elimina la sección de "Limitaciones
geográficas", cuyo probable borrado se había anunciado en el lanzamiento de la consulta
pública.
pág. 38
El cuarto borrador, que fue el último, fue liberado el 31 de mayo de 2007. Introdujo la
compatibilidad con las Licencias Apache, clarificó el rol de los contratistas externos, y hace
una excepción para evitar los problemas provocados por el acuerdo Microsoft-Novell,
estableciendo en el párrafo 6 de la Sección 11 lo siguiente:
Usted no puede distribuir un trabajo amparado si usted es una parte de un acuerdo con un
tercero que está en el negocio de distribución de software, bajo el cual usted hace el pago a la
tercera parte sobre la base de la extensión de la actividad de distribución del trabajo, y en
virtud del cual la otorgue, a cualquiera de las partes que recibirían el trabajo amparado, una
licencia de patente discriminatoria.
El objetivo de esto es hacer ineficaces este tipo de acuerdos. La licencia está orientada a que
Microsoft tenga que extender las licencias de patentes para garantizar a los clientes de Novell
el uso de GPLv3, lo que es posible únicamente si Microsoft es distribuidor legal del software
bajo GPLv3.20 21.
Algunos desarrolladores de alto nivel del kernel de Linux, comentaron e hicieron declaraciones
públicas a los medios de comunicación sobre sus objeciones a los borradores 1 y 2.
Después de algunos conceptos los cuales nos llevan de la mano, para descubrir las entrañas
del proyecto, se hace un pequeño paréntesis para definir el alma de la distribución que de no
ser por esta herramienta el proyecto carecería de esqueleto.
Esta última es la versión de licencia de la distribución Ixchel y es de suma importancia
mencionar las dos anteriores, ya que las diferencias entre una versión y otra son muy notorias
ya que en la versión 1 no hay tanta libertad de difusión de la paquetería o del propio sistema
como tal, y la versión 3 goza de total libertad.
pág. 39
1.13 Linux From Scratch (Linux desde cero).
Linux From Scratch es un proyecto que le proporciona a una distribución base,
esta
herramienta ofrece funcionalidades para personalizar y compilar programas desde código
fuente.
Una distribución sin gestor de paquetes, sin programas y, obviamente, sin ningún entorno
gráfico, provee de una terminal desde la cual se pueden compilar los programas de manera
manual.
1.13.1 Encuesta.
El proyecto necesita un escritorio ligero el cual sea capaz de correr en la mayoría de las
computadoras personales, tomando como base lo antes mencionado ―Las computadoras de la
ESIME Zacatenco‖. Se solicitó ayuda para la realización de una encuesta online con
http://www.debianchile.org/ donde se expuso las necesidad de tener un escritorio que no
consumiera muchos recursos, y lanzaron una encuesta a los usuarios de varias distribuciones
los cuales tenían experiencia usando GNU/Linux mint. Los resultados de la encuesta fueron
los siguientes mostrados por la figura 1.13.
pág. 40
Figura 1.13 Grafica de encuesta en línea.
Esta encuesta ayudo a elegir el escritorio de GNU/Linux Ixchel ya que no fue la única fuente
pero si la más importante, aunado a las pruebas ejecutadas de más de 5 escritorios.
Se obtuvieron los siguientes resultados, el escritorio de XFCE cuenta con demasiados bugs
(errores), el escritorio KDE es muy gráfico y por ende muy robusto, GNOME es de los más
estables pero en la última versión se encontraron varios bugs. CINNAMON es de fácil uso y
muy ligero, lo cual se optó por este último escritorio ya que se adapta a los requerimientos que
se tienen contemplados.
pág. 41
CAPÍTULO II: REQUERIMIENTOS.
Introducción.
Los requerimientos mínimos son una serie de componentes o valores, para los que está
diseñado el software en cuestión y que son, los que debemos disponer en nuestro equipo
para un funcionamiento adecuado.
Algunos de estos requisitos pueden ser:

Velocidad y tipo de procesador.

Cantidad de memoria RAM.

Tipo de tarjeta gráfica.

Espacio libre en disco duro.

Tarjeta de sonido.

Lector de Cd o de DVD, etc.
2.1 Requerimientos mínimos de Hardware.
Uno de los componentes del proyecto es la recopilación de software, por lo que dentro de los
requerimientos en primera instancia se menciona una encuesta, la cual se toma como base
para incluir el software dentro de la distribución, tomando en cuenta recomendaciones de la
comunidad en la red que se menciona en el capítulo 3, para el escritorio.
pág. 42
En esta encuesta se justifica las necesidades de los usuarios para tener un sistema
personalizado y portable.
Una vez mencionados los cimientos del proyecto, se mencionarán los requerimientos técnicos
que debe tener la computadora a usar.
Requerimientos técnicos:

Memoria RAM 4G

D.D. 100 G

Microprocesador 3Ghz.
Usando la computadora para descargar instalar y compilar la distribución para la construcción
de la distribución, con los requerimientos mencionados anteriormente. Haciendo hincapié en
que se puede trabajar con menor capacidad de recursos, pero el tiempo de la operación
aumenta.
2.2 Elementos virtuales (software) son los siguientes:

Debian 7 whezy

Netbeans

Kwrite

LibreOffice

Remastersys

VI
Debian 7: Este sistema es el medio, ya que sobre él se construye el sistema.
Netbeans: Este IDE (Entorno de desarrollo integrado) compila todos los programas de
pág. 43
terceros los cuales son añadidos al repositorio.
Kwrite: Editor de texto ligero.
LibreOffice: En él se crea la documentación y formato de archivos de texto.
Remastersys: Permite crear el leve cd.
VI: Editor de textos predeterminado en el sistema operativo GNU/Linux.
Los elementos de software mencionados forman parte del código abierto y corren bajo la
licencia GPLv3 la cual nos permite usar los programas y modificarlos para el objetivo de
nuestra distribución.
CAPÍTULO III: METODOLOGÍA DE DISEÑO.
Introducción.
Indaguemos en los cimientos del proyecto y todos aquellos aspectos que dieron origen a la
idea de un sistema operativo portátil y libre. Para poder resolver un problema debemos
especificar cuál es, en este caso es una necesidad la cual se quiere cubrir, y sostenido con el
conocimiento adquirido a lo largo de estos 8 semestres para cubrirla.
La necesidad de tener una plataforma portable y fácil de usar, precargando la mayoría de
herramientas de software listas para usarse. Necesidad observada por la experiencia y
fundamentada en una encuesta realizada a los estudiantes de la ESIME ZACATENCO.
La encuesta consta de menos de diez preguntas y fue aplicada a los alumnos de ESIME
Zacatenco de varios semestres y de ambos turnos.
pág. 44
3.1 Encuesta.
ENCUESTA DIRIGIDA A ESTUDIANTES DE ESIME ZACATENCO,
CARRERA INGENIERÍA EN COMUNICACIONES Y ELECTRÓNICA.
Solicitud de cooperación: Pedimos su colaboración para realizarle la siguiente
encuesta, la cual es para fines educativos y se mantendrán protegidos sus datos
personales, de antemano agradecemos su tiempo aproximado no máximo de 10min.
Para la elaboración.
Objetivo: Recolectar información sobre los programas utilizados en la carrera.
Instrucciones: Solicitamos su colaboración para el llenado de la siguiente encuesta
marcando con una ―X‖ la respuesta de su elección, en preguntas con respuestas de
múltiples opciones pueden ser marcadas más de una opción. De antemano muchas
gracias por su ayuda.
Datos de Identificación
Género: Femenino _________ Masculino______
Edad: 18-29 años_____ 30-45 años _____ Más de 45 años ____
Lugar de residencia: _________________________________________
Cuestionario
1. ¿En qué semestre te encuentras?
R=
2. ¿Cuántas de tus materias requieren uso de programas electrónicos?
R=
3. ¿Qué sistema operativo ocupas?
R=
pág. 45
4. ¿Tienes laptop?
R=
5. ¿Cuáles son los principales programas que ocupas?
R=
6. ¿Te sería útil portar tus programas en un dispositivo de almacenamiento (USB)?
R=
7. ¿Conoces el software libre?
R=
INFORMACIÓN GENERAL
No. de personas Encuestadas
80
Cuestionarios realizados
80
Respuestas
100%
No. de mujeres
2
No. De hombres
78
Tabla 3.1 Información general.
pág. 46
1. ¿En qué semestre te encuentras?
7
10
Primero
38
Tercer
Cuarto
Octavo
25
Figura 3.1 Pregunta 1.
2. ¿Cuántas de tus materias requieren uso
de programas o aplicaciones?
2
Primer sem.
6
3
Tercer sem.
Cuarto sem.
Octavo sem.
3
Figura 3.2 Pregunta 2.
pág. 47
3. ¿Qué sistema operativo ocupas?
11
2
Windows
Linux
IOS
Todos lo anteriores
76
Figura 3.3 Pregunta 3.
4. ¿Tienes Laptop?
15
Si
No
65
Figura 3.4 Pregunta 4.
pág. 48
5. ¿Cuáles son los programas que ocupas?
15
Compiladores
65
Editores de texto
76
IDE´S
Graficadores
22
Editores de fórmulas
Generadores de funciones
23
21
25
Paqueterías
Todas las anteriores
35
Figura 3.5 Pregunta 5.
6. ¿Te sería útil portar tus programas en
un dispositivo de almacenamiento (USB)?
5
Si
No
75
Figura 3.6 Pregunta 6.
pág. 49
7. ¿Conoces el software libre?
10
20
Si
No
Me interesaría
50
Figura 3.7 Pregunta 7.
ANÁLISIS DE LA ENCUESTA
No. de
pregunta
1
ICE
ICA
IE
ISA
2
Primero
Tercero
Cuarto
Octavo
3
ICE
ICA
IE
ISA
Resultado
Análisis
61
10
5
4
En este caso se observa que 61 de los encuestados, son de la
carrera de ICE, mientras que de ICA son 10, de IE 5 y finalmente
ISA con 4.
7
10
25
38
Aquí se puede ver que la mayoría son del octavo semestre,
mientras que de tercero y cuarto son casi la misma cantidad 5 y 4
respectivamente y finalmente con menor número de estudiantes
son los de primer semestre.
8
6
5
7
Los resultados arrojan que la carrera de ICE requiere de mayor
uso de programas, en cuanto a ICA, IE e ISA utilizan casi la misma
cantidad 6 5 Y 7 respectivamente.
pág. 50
4
Windows
Linux
79
1
En esta pregunta, es claro el contraste acerca de qué sistema
operativo usan los encuestados, es mayor el uso de Windows y
minoría el sistema de Linux
5
Si
No
17
3
La mayoría de los estudiantes ya cuentan con Laptop para sus
actividades escolares, pero aún hay un porcentaje que no tiene
8
En esta pregunta se observa que se utilizan diferentes programas,
los estudiantes encuestados utilizan en su mayoría compiladores e
Ides y los de menor uso son Editores de texto, graficadores,
generadores de operaciones y editores de fórmulas con y un
usuario respectivamente
6
Compilado
res
Editores de
texto
IDE´s
Graficador
es
Editores de
formulas
Generador
de
Operacion
es
7
Si
No
8
Si
No
Me
interesaría
2
5
2
1
2
76
4
Esta es la pregunta esencial de nuestro proyecto ya que vemos si
su utilidad va ser provechosa para los estudiantes de estas
carreras y el resultado es mayoría contestando que si le sería útil
portar sus programas en un dispositivo mientras que un menor
porcentaje dice que no le sería útil.
76
2
2
En la última pregunta podemos ver que la mayoría no conoce que
es el software libre, por lo cual el objetivo del proyecto es no
encasillarse en programas específicos, ya que en la industria por
reducir costos se puede ocupar estar herramienta y de esta forma
es más fácil adaptarse a las mejores posibilidades.
Tabla 3.2 Análisis de la Encuesta.
pág. 51
3.3 Propuesta.
En los puntos antes expuestos se han señalado las necesidades y se planteará los puntos del
proyecto para cubrirla.
3.3.1 Proyecto Ixchel.
Ixchel es una distribución de GNU/Linux orientada primeramente a los estudiantes de ICE de
ESIME y con posible expansión a otras escuelas o carreras, Ixchel es una distribución
personalizada, la cual intenta contener de manera portable las herramientas necesarias
(software), las cuales también servirán como soporte para alumnos que no cuenten una
computadora portátil.
Ixchel se encuentra disponible en live-cd y en live-usb por lo cual puede correr en máquinas
de bajos recursos o con opciones de arranque de solo unidad óptica, se dispone de un sitio
en donde se puede descargar la distribución y colaborar con el proyecto ya sea con
programas o con opiniones o encuestas para incluir más programas en la misma. Cuenta con
un escritorio cinnamon extraído de la distribución de mint el cual corre bajo la licencia
GPLv3.En la figura 3.8 se muestra el escritorio cinnamon de la versión 2.0 de Ixchel.
Figura 3.8 Escritorio Cinnamon
pág. 52
En la siguiente imagen nos muestra algunos de los programas que vienen precargados y son
resultado de la encuesta de software que se aplicó, ver Figura 3.9.
Figura 3.9 Menú del Escritorio.
3.4 Cómo obtener Ixchel.
Aprovechando la flexibilidad del código abierto ―GNU/Linux‖ se contrató un servidor web
apache 2 y php donde fue hospedado el proyecto, también fue contratado un servidor FTP
dentro del mismo para gestionar el contenido de la página. Se empotró un sitio para la
distribución, en la figura 3.10 se puede observar las cara y la URL de esta página.
pág. 53
3.4.1 Sitio (http://gnulinux-ixchel.com/).
Figura 3.10 Sito de la Distribución.
La página cuenta con un repositorio en el cual existen programas y manuales de instalación,
en general se encuentra los programas difíciles de encontrar y que están firmados por
terceros, quiere decir que no existen en los repositorios oficiales de los repositorios de mint
ubuntu o Debian.
pág. 54
CAPÍTULO IV: IMPLEMENTACIÓN.
Introducción.
En este capítulo se expone la construcción de la distribución, en primera instancia se toma los
requerimientos de configuración base y posteriormente el particionamiento de las unidades y
paquetes necesarios, después la instalación del sistema base, de donde se parte para la
personalización del sistema.
4.1 Obtención de la distribución Debian 7 de instalación mínima.
La distribución se obtiene por medio de Internet y basta con tan solo llegar a su página oficial
para descargarla, haciendo la observación que la versión a descargar, es la versión de
instalación mínima.
4.2 Sistema anfitrión.
Partiendo de una distribución básica como es una imagen pequeña de Debian 7 que solo
pesa 280Mb, la cual carece de paquetes instalados y de entorno gráfico, es la materia prima
del proyecto, la cual se personaliza en varios pasos y se mencionará la gran mayoría de ellos
en este capítulo.
4.3 ¿Por qué Debian?
A continuación se muestran en la tabla 4.1 las características principales de diferentes
sistemas operativos entre ellos debían y el por qué el uso de dicho sistema para nuestra
distribución.
pág. 55

Es una distribución basada en Debian.

Enfocada al usuario promedio.

No cuenta con los códecs
(codificadores-decodificadores) de
audio necesarios, carente de
controladores.

No es compatible con algún hardware.

Necesita más requerimientos de
sistema.
Difícil de encontrar soporte.

Sistema basado en ubuntu.

Depende mucho del sistema nativo.
Por ende sus mismas desventajas.

Sistema más estable en la actualidad

Es multiarquitectura (permite instalar
paquetes de diferentes arquitecturas ya
sean de 32 0 64 bits).

Cuenta con un conjunto de códecs y
elimina la necesidad de repositorios de
terceros.

Su kernel se puede configurar para
mejorar el funcionamiento.
Tabla 4.1 Comparación de Distribuciones.
4.4 Obtención de la distribución LFS.
Se obtiene la distribución linux from scratch de la página oficial de este proyecto, tomando el
live-cd de la versión lfslivecd-x86-6.3-r2160, la cual se ejecuta en la computadora personal
con los requerimientos mencionados en el capítulo II.
pág. 56
Teniendo ambas distribuciones y como siguiente paso se instalará la distribución de debían 7,
siguiendo un proceso largo ya que esta distribución posee un instalador mínimo y el entorno
gráfico del instalador es muy básico.
En los siguientes puntos se mencionan los pasos seguidos una vez arrancado el live CD.
4.5 Comprobación de la memoria disponible.
Este paso es fundamental ya que con el sistema se ajustará la máquina en la cual se va a
instalar el sistema, si la máquina es de bajos recursos el disco de instalación hace algunas
modificaciones en la configuración sacrificando según, sea el caso, algunas opciones de
instalación para ejecutarse en el equipo.
4.6 Partición y punto de montaje.
En este momento, después de que ha sido ejecutada la detección de hardware, el último
paso, el disco comienza a buscar unidades de almacenamiento en donde será instalado.
Hay una serie de puntos de montaje los cuales se requieren de manera mínima para las
funcionalidades del sistema operativo.
pág. 57
Ejemplo de particiones
IDE1 master (hda) - 6.4 GB WDC AC36400L
#1 primary 16.4 MB B f ext2
#2 primary 551.0 MB
#3 primary
pri/log
swap
5.8 GB
8.2 MB
/boot
ntfs
ESPACIO LIBRE
IDE1 slave (hdb) - 80.0 GB ST380021A
#1 primary 15.9 MB
ext3
#2 primary 996.0 MB
fat16
#3 primary
3.9 GB
xfs
/home
#5 logical
6.0 GB
f ext3
/
#6 logical
1.0 GB
f ext3
/var
#7 logical 498.8 GB
ext3
#8 logical 551.5 GB
swap
#9 logical 65.8 GB
ext2
swap
Tabla 4.2 Tabla de particiones.
Para el sistema base se elige la opción de partición automática la cual prepara las unidades
de disco duro para la instalación.
4.7 Partición.
En los siguientes pasos se enumera el procedimiento para particionar el disco duro de la
distribución madre y prepararla para instalar la imagen básica de Debian.
pág. 58
1.
Comprobar los discos en el sistema.
$ sudo fdisk -l
Disco /dev/sda: 500.0 GB, 160041885696 bytes
255 cabezas, 63 sectores/pista, 19457 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Identificador de disco: 0x000c3c51
Dispositivo Inicio
Comienzo Fin
Bloques Id Sistema
/dev/sda2
3233
9855
53199247+ 83 Linux
/dev/sda4
9856
19457
77128065 83 Linux
La respuesta de fdisk nos muestra los discos y con ello las particiones existentes.
.
2.
Se elige el disco donde se crearán las particiones.
Fdisk /dev/sda
Muestra un listado de opciones de acción.
Orden Acción
a Conmuta el indicador de iniciable
b Modifica la etiqueta de disco bsd
c Conmuta el indicador de compatibilidad con DOS
d Suprime una partición
l Lista los tipos de particiones conocidos
m Imprime este menú
n Añade una nueva partición
o Crea una nueva tabla de particiones DOS vacía
p Imprime la tabla de particiones
pág. 59
q Sale sin guardar los cambios
s Crea una nueva etiqueta de disco Sun
t Cambia el identificador de sistema de una partición
u Cambia las unidades de visualización/entrada
v Verifica la tabla de particiones
w Escribe la tabla en el disco y sale
x Funciones adicionales (sólo para usuarios avanzados)
3.
Elegimos la opción p para partición primaria.
p
Número de partición (1-4): 3
Primer cilindro (1-19457, valor predeterminado 1):
4.
Se ejecuta el comando partprobe para aplicar los cambios.
5.
Se da formato a la partición para comenzar a usarla
$ mkfs.ext4 /dev/sda3
6.
Montaje de la partición para instalar el sistema madre
mount //dev/sda3
4.8 Edición del arranque
Dentro del sistema de ficheros se modificado el arranque para personalizar la distribución, el
archivo es el siguiente;
/boot/grub/grub.cfg
pág. 60
Default=0
Timeout=10
Splash image= (hd0,0)/grub/splash.xpm.gz
# section to load Linux
title Red Hat Enterprise Linux (2.4.21-1.ent)
root (hd0,0)
kernel /vmlinuz-2.4.21-1 ro root=/dev/sda2
initrd /initrd-2.4.21-1.img
# section to load Windows
Title Windows
rootnoverify (hd0,0)
chainloader +1
Se colocó el nombre de la distribución y la prioridad del mismo.
4.10 Configuración de las interfaces de red.
Este paso es de gran importancia ya que gracias a la conexión con la red, permite la descarga
e instalación de la paquetería del sistema.
1.
Habilitar tarjeta de red, se usa el siguiente comando
$ ifconfig up eth0
2.
Edición del archivo de interface, si se desea se deja las opciones por default, si
se quiere una conexión con un servidor que cuenta con protocolo de configuración
dinámica (DHCP).
pág. 61
nano /etc/network/interfaces
Un ejemplo de este fichero el siguiente
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.134
netmask 255.255.255.
gateway 192.168.1.1
Terminado el siguiente procedimiento se levanta la interface, usando el
comando
/etc/init.d/networking start
4.11 Instalación de programas.
Contando con la conexión a internet, se tiene la opción de descargar programas de la
web usando las ligas directas, aun no se cuenta con repositorios configurados así que se
recurre a compilar los programas en modo consola.
Pasos para descarga e instalación de programas modo consola
1.
Descarga del programa
bash# tar -xzvf fuentes_del_programa-version.tar.gz
pág. 62
o si está comprimido con bzip:
bash# tar -xjvf fuentes_del_programa-version.tar.bz2
2.
Posicionamiento dentro de la carpeta del programa
bash# cd fuentes_del_programa-version/
3.
Verificar dependencias
bash# ./configure –parámetros
4.
Compila e instala
bash# make
bash# make install
5.
Salida
bash# exit
4.11.1 Instalación del entorno de escritorio cinammon.
Una vez configurado el repositorio de Mint se instala el escritorio con el siguiente
comando
$aptitude install cinnamon
pág. 63
4.12 Selección de opciones de localización.
Esta opción es acerca de la ubicación geográfica, esta configuración sirve para sincronizar el
horario adecuado del sistema y para conectarse a los sitios de los repositorios para descargar
el software.
El idioma que escoja se utilizará durante el resto del proceso de instalación, siempre que
exista una traducción para los distintos mensajes que se muestran. Si no hay una traducción
disponible para el idioma seleccionado el instalador mostrará los mensajes en inglés. La
ubicación geográfica seleccionada (habitualmente, un país) se utilizará más adelante en el
proceso de instalación para seleccionar la zona horaria correcta y el servidor de réplica de
Debian más apropiada en función de ese país. El idioma y el país se utilizarán conjuntamente
para ayudar a definir la localización predeterminada del sistema y seleccionar la distribución
del teclado adecuada.
4.12.1 Configuración de la red.
En este paso, si el sistema detecta que tiene más de un dispositivo de red, se le pedirá que
elija cual quiere usar como interfaz de red primaria, esto es, la que quiera usar para la
instalación. El resto de las interfaces no se configurarán en este momento. Podrá configurar
las demás interfaces una vez se haya terminado la instalación. Debian-installer intenta
configurar automáticamente la tarjeta de red de su ordenador mediante el protocolo de
configuración dinámica de host (DHCP) por omisión. Si esta configuración automática tiene
éxito no se tendrá que modificar nada. Un fallo de esta solicitud puede deberse a muchos
factores, variando desde un cable de red desconectado, hasta una mala configuración del
entorno DHCP. Puede que ni siquiera tenga un servidor DHCP en la red local. En este caso
se tiene un servidor DHCP desde el módem del proveedor del servicio de internet.
pág. 64
4.12.2 Configuración usuarios y root.
El instalador le permitirá configurar la cuenta del usuario root (super-usuario, o usuario
administrador) y/o una cuenta para el primer usuario después de configurar la hora. Se
pueden crear otras cuentas para los usuarios que se deseen, en este caso solo utilizaremos
una la cual se configura para que el usuario tenga acceso a la distribución. La cuenta de root
también se la conoce como la cuenta de super-usuario. Se trata de una cuenta que puede
saltarse todas las protecciones de seguridad del sistema. Es una cuenta que sólo debería
utilizarse para realizar la administración del sistema y sólo durante un tiempo tan corto como
sea posible.
4.12.3 Usuario local.
El sistema le preguntará si desea o no crear una cuenta de usuario normal. Esta cuenta
debería utilizarse como la cuenta personal para acceder al sistema. No debe utilizar la cuenta
de raíz como la cuenta personal o de uso diario, es por esta razón que se crean dos cuentas
en Ixchel, la cuenta para acceder y la cuenta del root.
4.12.4 Instalar el sistema base.
La configuración antes mencionada se queda en la memoria RAM por lo que no se ha hecho
un cambio significativo en el disco duro, pero se ha preparado un ambiente para hacerlo.
Aunque esta etapa es la menos problemática, consume una gran parte del tiempo de
instalación debido a que descarga, verifica y desempaqueta el sistema base completo. Si se
tiene un ordenador o conexión de red lentos, esto podría tomar algún tiempo.
pág. 65
Los mensajes de desempaquetado y configuración generados durante esta fase se guardan
en /var/log/syslog. Y se pueden monitorear a través de una consola serie que se puede
desplegar mientras se está instalando.
Se instalará un núcleo de Linux como parte de la instalación. En la prioridad predeterminada,
el instalador elegirá por el usuario el que mejor se adapte al hardware. En los modos de
menor prioridad, se puede elegir uno entre una lista de núcleos disponibles.
4.13 Programas adicionales.
Una vez se haya instalado el sistema base se tiene un sistema útil pero limitado. La
mayoría de los usuarios querrán instalar programas adicionales en el sistema para
ajustarlo a sus necesidades, y el instalador le permite hacer esto. Este paso puede tardar
más tiempo que la instalación del sistema base si tiene un ordenador lento o su red es
lenta el cual son las condiciones donde fue instalado.
4.13.1 Configurar aptitude.
Una de las herramientas utilizada para instalar paquetes en un sistema Debian GNU/Linux es
un programa llamado apt-get, que está dentro del paquete apt. Existen otras interfaces a la
gestión de paquetes, como aptitude y synaptic que también se utilizan. Se recomienda a los
usuarios promedio, para que utilicen estas interfaces ya que integran otras funciones
adicionales (como la búsqueda de paquetes y comprobaciones de estado) en una interfaz de
usuario más amigable. De hecho, la herramienta recomendada para gestión de paquetes es
aptitude y ambas herramientas están incluidas en Ixchel.
pág. 66
La configuración de los paquetes apt se realiza de una manera manual se agrega una lista de
repositorios que muchas veces son de terceros por lo que se debe de tener un especial
cuidado en ello. El instalador intenta hacer esto de forma automática basándose en lo que
conoce del medio de instalación que utilice. Los resultados de la configuración realizada se
guardan en el archivo /etc/apt/sources.list. Podrá el usuario examinar y editar este fichero a
gusto una vez que haya terminado la instalación.
4.13.2 Gestor de arranque.
Esta opción se usa para finalizar la instalación, incluso cuando no se instale un gestor de
arranque, bien porque la arquitectura o su arquitectura no disponga de uno o bien porque no
es necesario (p. ej. cuando vaya a usar un gestor de arranque que ya exista en el sistema).
Para configurar manualmente el gestor de arranque, se
verifica el nombre del núcleo
instalado en /target/boot, se verifica la presencia de un fichero initr.d en este directorio;
probablemente se deba indicar al gestor de arranque que lo utilice si existe. Se necesitará
también conocer, como información adicional, el disco y partición que ha elegido para su
sistema de ficheros / (raíz) y también el sistema de ficheros /boot.
4.14 Terminando la instalación.
Después del proceso de carga e instalación el sistema hace una verificación de que todo está
instalado correctamente, comprobación que se hace cuando el sistema arranca, comprobando
e inicializando los servicios, en caso de que uno falle es notificado al iniciar el sistema.
pág. 67
4.14.1 Sistema terminado.
Una vez terminado el sistema, se tiene un sistema base el cual solo es operable por la
consola, así que está listo para ser personalizado no obstante es 100% operable si fuera un
servidor, pero como este no es el caso se tienen que instalar herramientas programas y desde
luego un entorno gráfico.
4.14.2 Añadiendo repositorios en la distribución.
Posteriormente, se procede a la configuración de repositorios para la instalación de los
programas, los mismos que utilizaremos para la distribución y cuidando de instalar solo los
mínimos para un correcto funcionamiento de la distribución.
Tomando en consideración que es una distribución Debian se configuran los repositorios en la
siguiente ruta ―/etc/apt/source.list‖ para ello y, como fue antes mencionado, no disponemos
con un editor de texto, se descarga de esta ruta mediante una serie de comandos
hg clone https://vim.googlecode.com/hg/ vim
cd vim/src
make
Usando el programa de texto previamente instalado para editar el archivo source.list
usando el siguiente comando
vim /etc/apt/source.list
pág. 68
4.14.3 La lista añadida al repositorio
## Debian Testing
deb http://ftp.de.Debian.org/Debian/ testing main contrib non-free
deb-src http://ftp.de.Debian.org/Debian/ testing main contrib non-free
## Actualizaciones de seguridad
deb http://security.Debian.org/ testing/updates main contrib non-free
deb-src http://security.Debian.org/ testing/updates main contrib non-free
##Repositorio de Nuvola Player
deb http://ppa.fenryxo.cz/nuvola-player/ sid main
deb-src http://ppa.fenryxo.cz/nuvola-player/ sid main
Después de configurar los repositorios añadiendo las líneas anteriores, se actualiza la lista
dentro del sistema para que sea reconocida por el mismo.
Con el siguiente comando se lleva a cabo esta operación
#aptitude-update
Es de suma importancia detallar este paso ya que la gran mayoría de los programas
instalados dentro de la distribución vienen de estos repositorios.
Como todos los programas que se instalarán posteriormente dependen de una librería de
gráficos el siguiente paso es el más esperado, (se aplicó una encuesta online previamente
mencionada). Es instalar el entorno gráfico del sistema operativo.
pág. 69
Utilizando el repositorio instalado previamente utilizando el comando
aptitude-install cinammon
Es de gran ayuda la instalación de paquetes vía repositorio pues sin él, tendríamos que
hacerlo de forma manual y resolviendo dependencias, las cuales midiéndolas numéricamente
son por lo menos de tres cifras.
4.15 Personalizar imágenes
Finalizada la instalación se personaliza el entorno gráfico, para ello se utiliza un programa
llamando Gimp (parecido al famoso photoshop) para dar una idea.
Este programa es descargado de la página oficial http://www.gimp.org/downloads/ donde se
bajan los archivos binarios comprimidos con la extensión ―.tar.bz‖, estos binarios se instalan
de manera manual y se resuelven las dependencias, si es que las hay, de manera manual, la
serie de comandos para la instalación es la siguiente:
tar -xjvf gimp.tar.bz
cd gimp
make
make install
Personalizando el escritorio
GIMP editor de imágenes instalado previamente y
Programas añadidos a la distribución.
pág. 70
En este paso se agregan los programas que vendrán precargados en la distribución y que
para ello si no existen en repositorios serán descargados de la página oficial e instalados
manualmente.
4.16 Sistema anfitrión terminando.
Cargado el S.O. y los programas, tenemos como producto una distribución madre, la cual
está atrapada en el ordenador donde fue instalada, llegando a este punto se hace uso de
una herramienta la cual provee amplias funcionalidades y que se utilizará para la
personalización y para exportar el sistema portable.
4.16.1 Usando la herramienta LSF para personalizar
Esta herramienta muy poderosa se ocupa para las modificaciones de la pantalla de inicio
donde se cambian las opciones de arranque e imágenes de las mismas, provee de
herramientas para editar de modo consola las prioridades de inicio y con ello ajustar a las
necesidades de la distribución.
En un ámbito menos significativo y no menos importante de mencionar también provee de
herramientas para cambiar los iconos y barras de nuestro entorno gráfico, las cuales
mencionamos su edición con el programa de edición de imágenes (Gimp).
pág. 71
4.16.2 Creando la imagen
Con la herramienta remastersys la cual fue instalada de un paquete del repositorio de
Debian se crea una imagen completa del sistema operativo y con ellos todo lo ya
personalizado, obteniendo esta imagen final de 2.5Gb, se da por terminada la serie de
procesos mencionados y se obtiene la distribución lista para usarse.
4.16.3 Requerimientos mínimos de hardware para Ixchel.

Procesador Pentium 4, a 1 Ghz.

1 Gb. RAM

5 Gb Disco duro

Unidad de CD/DVD

Puertos USB
pág. 72
CONCLUSIONES
El producto final es una herramienta gratuita, portable y de fácil instalación la cual ofrece la
oportunidad de acercarse al software libre, sin tener conocimientos avanzados de informática,
además de ser una tecnología que se puede adaptar a las necesidades del usuario ya que es
100% legal su modificación y distribución, también ayuda a erradicar la piratería con
herramientas equivalentes y gratuitas.
La distribución está enfocada especialmente para el alumno de la ESIME estudiante de la
carrera de Ingeniería en Comunicaciones y Electrónica; la distribución cuenta con programas
útiles para las asignaturas de dicha carrera. Es accesible para aquellos alumnos que no
cuentan con computadora propia.
Fomenta la creación de un modelo productivo y colaborativo de trabajo, con ello una
independencia tecnológica, brinda seguridad al usuario ya que tiene acceso al código fuente
corroborando que sus funciones sean específicamente para las que fue creado.
Es de suma importancia el software libre tanto en la educación como en el ámbito laboral ya
que nos da libertad de decisión en cuanto a que software usar, así como transmisión en el
conocimiento colectivo, en la educación nos abre la puerta para conocer evaluar y usar
software hecho por personas alrededor del mundo, y que podemos alimentar mejorando u
optimizándolo para su posterior uso, de esta manera se aprenden cosas que probablemente
no se vean en las aulas.
En el ámbito laboral nos da el conocimiento y la experiencia para adaptarse a lenguajes
diferentes y al software propio de la empresa que no necesariamente esta estandarizado o
que está regido por normas de la empresa.
pág. 73
ANEXO
LICENCIA PÚBLICA GENERAL VERSION 3
Versión 3, 29 de junio 2007
Copyright © 2007 Free Software Foundation, Inc. <http://fsf.org/>
Se permite la copia y distribución de copias literales de este documento de licencia, pero
cambiándolo no está permitido.
Preámbulo
La Licencia Pública General de GNU es una licencia libre, para el software y otros tipos de
obras.
Las licencias para la mayoría del software y otros trabajos prácticos están diseñadas para
quitarle a usted la libertad de compartir y modificar esos trabajos. Por el contrario, la Licencia
Pública General de GNU pretende garantizarle la libertad de compartir y modificar todas las
versiones de un programa - para asegurarse de que sigue siendo software libre para todos
sus usuarios. Nosotros, la Fundación para el Software Libre, usamos la Licencia Pública
General GNU para la mayoría de nuestro software; también se aplica a cualquier trabajo
realizado de esta forma por sus autores. Usted puede aplicarla a sus propios programas.
pág. 74
Cuando hablamos de software libre, estamos refiriéndonos a libertad, no de precio. Nuestras
Licencias Públicas Generales están diseñadas para asegurarnos de que usted tiene la libertad
de distribuir copias de software libre (y cobrar por ello si lo desea), que reciba el código fuente
o que pueda conseguirlo si lo quiere, de que se puede cambiar el software o utilizar
fragmentos de él en nuevos programas libres, y que usted sabe que puede hacer estas cosas.
Para proteger sus derechos, necesitamos evitar que otros le nieguen estos derechos o pedirle
que renuncie a los derechos. Por lo tanto, usted tiene ciertas responsabilidades si distribuye
copias del software, o si lo modifica; responsabilidades que persiguen respetar la libertad de
los demás.
Por ejemplo, si distribuye copias de un programa, ya sea gratuitamente o a cambio de una
contraprestación, debe transmitir a los destinatarios los mismos derechos que usted recibió.
Debe asegurarse de que ellos también reciben, o pueden conseguir el código fuente. Y debe
mostrarles estas condiciones de forma que conozcan sus derechos.
Los desarrolladores que usen la GPL GNU protegen sus derechos de dos pasos: (1) imponen
derechos al software, y (2) le ofrecemos esta licencia que le da permiso legal para copiar,
distribuir y / o modificarlo.
Para la protección de los desarrolladores y autores, la GPL expone claramente que no hay
ninguna garantía para este software libre. Para beneficio de ambos, usuarios y autores, la
GPL establece que las versiones modificadas serán marcados como cambiado, por lo que sus
problemas no serán atribuidos por error a los autores de versiones anteriores.
Algunos dispositivos están diseñados para negar al usuario instalar o ejecutar versiones
modificadas del software dentro de ellos, a pesar de que el fabricante pueda hacerlo. Esto es
completamente incompatible con el objetivo de proteger la libertad de los usuarios para
modificar el software. El patrón sistemático de tal abuso se produce en el área de productos
pág. 75
de uso personal, que es precisamente donde es más inaceptable. Por lo tanto, hemos
diseñado esta versión de la GPL para prohibir estas prácticas en esos productos. Si
apareciesen problemas similares en otros ámbitos, estaremos preparados para extender estas
prestaciones a las de las futuras versiones de la GPL, según sea necesario para proteger la
libertad de los usuarios.
Por último, todo programa está constantemente amenazado por las patentes de software. Los
Estados no deben permitir que las patentes restrinjan el desarrollo y uso de software en
ordenadores de uso general, pero en los que sí, queremos evitar el especial peligro que
suponen las patentes aplicadas a un programa libre puedan hacerlo propietario. Para evitar
esto, la GPL establece que las patentes no se pueden utilizar para hacer que el programa no
sea libre.
Los términos y condiciones para la copia, distribución y modificación.
TÉRMINOS Y CONDICIONES
0. Definiciones.
"Esta Licencia" se refiere a la versión 3 de la Licencia Pública General GNU.
"Derechos de autor" también significa las leyes del derecho de autor como que se aplican a
otros tipos de obras, como las máscaras de semiconductores.
pág. 76
"El Programa" se refiere a cualquier obra sujeta al derecho aplicado esta Licencia. Cada
concesionario se dirige como "usted". "Licenciatarios" y "destinatarios" pueden ser personas u
organizaciones.
Para "modificar" un trabajo significa copiar o adaptar todo o parte de la obra de un modo que
requiera permiso de copyright, que no sea la realización de una copia exacta. El trabajo
resultante se denomina "versión modificada" de la obra anterior o trabajo "basado en" el
trabajo anterior.
Un "trabajo amparado" puede ser tanto el Programa no modificado como un trabajo basado en
el Programa.
Para "propagar" un trabajo significa hacer cualquier cosa con él, sin permiso, que le haga
directa o indirectamente responsable de infringir leyes cubiertas por copyright, excepto la
ejecución en un ordenador o la modificación de una copia privada. La difusión incluye la copia,
distribución (con o sin modificaciones), a disposición del público y, en algunos países, otras
actividades también.
"Distribuir" un trabajo implica cualquier tipo de difusión que permite a la otra parte hacer o
recibir copias. La mera interacción con un usuario a través de una red de ordenadores, sin
transferir copia, no está transmitiendo.
Un usuario interactivo interfaz muestra "Avisos Legales Apropiados" en la medida en que
incluye una herramienta de gran utilidad y destacadas que (1) muestra un anuncio de
copyright, y (2) le dice al usuario de que no hay ninguna garantía para el trabajo (excepto para
la medida en que se proporcionan garantías), que los licenciatarios pueden transmitir el
trabajo bajo esta Licencia, y cómo ver una copia de esta licencia.
pág. 77
Si la interfaz presenta una lista de opciones o comandos, tales como menús, un elemento
destacado en dicha lista cumple con este criterio.
1. Código Fuente.
El "código fuente" de un trabajo se entiende la forma preferida del trabajo para hacer
modificaciones en él. "Código objeto" se entiende cualquier forma no fuente de una obra.
Una "Interfaz Estándar" se refiere a una interfaz que sea o bien un estándar oficial definido por
un organismo de normalización reconocido, o, en el caso de las interfaces especificadas para
un lenguaje de programación en particular, uno que se utiliza ampliamente entre los
desarrolladores que trabajan en ese idioma.
Las "Bibliotecas de Sistema" de un trabajo ejecutable incluyen a cualquier elemento, aparte de
la obra en su conjunto, que (a) se incluye en la forma normal de un componente principal,
pero que no es parte de ese componente principal, y (b) sólo sirve para permitir el uso de la
obra con ese componente principal, o para implementar un Interfaz Estándar para el cual está
disponible una implementación al público en forma de código fuente. Un "componente
principal", en este contexto, significa un importante componente esencial (núcleo, sistema de
ventanas, etc.) del sistema operativo específico (si existe) en el cual funcione el ejecutable, o
un compilador utilizado para generar el trabajo, o un intérprete del código objeto utilizado para
ejecutarlo.
La "Fuente Correspondiente" de un trabajo en código objeto significa todo el código fuente
necesario para generar, instalar, y (para un trabajo ejecutable) ejecutar el código objeto y
modificar el trabajo, incluyendo scripts que controlen esas actividades. Sin embargo, no
incluye el Sistema de Bibliotecas de la obra, o herramientas de propósito general o programas
gratuitos disponibles en general que se utilizan sin modificaciones para realizar estas
actividades pero que no forman parte de la obra.
pág. 78
Por ejemplo, la Fuente Correspondiente incluye los archivos de definición de interfaz
asociados con archivos fuente del trabajo, y el código fuente de las bibliotecas compartidas o
subprogramas enlazados dinámicamente que el trabajo se requiere por diseño, como por la
comunicación de datos intrínseca o el control de flujo entre esos subprogramas y otras partes
de la obra.
La Fuente Correspondiente no incluye necesariamente aquello que los usuarios pueden
regenerar automáticamente de otras partes de la Fuente Correspondiente.
La Fuente Correspondiente de un trabajo en código fuente es ese mismo trabajo.
2. Permisos básicos.
Se otorgan todos los derechos garantizados por los términos del copyright en el Programa, y
son irrevocables siempre que se cumplan las condiciones establecidas. Esta Licencia afirma
explícitamente su permiso ilimitado para ejecutar el Programa sin modificaciones. El resultado
de la ejecución de un programa amparado está cubierto por esta licencia sólo si la salida de
su contenido, constituya un trabajo amparado. Esta Licencia reconoce sus derechos de uso
razonable u otro equivalente, según lo dispuesto por la ley de derechos de autor.
Usted podrá realizar, ejecutar y difundir trabajos amparados que no distribuya, sin condición
alguna, siempre y cuando no tenga otra licencia en vigor. Podrá distribuir trabajos amparados
a terceros con el único propósito de que ellos hagan modificaciones exclusivamente para
usted, o le proporcionan ayuda para ejecutar esos trabajos, siempre y cuando cumpla con los
términos de esta Licencia distribuyendo todo el material para el que usted no controla los
derechos de autor. Aquellos haciendo así o ejecuten los trabajos amparados para usted deben
hacerlo exclusivamente en su nombre, bajo su dirección y control, en términos que les
prohíban realizar copias de su material con derechos de autor fuera de su relación con usted.
pág. 79
La distribución bajo otras circunstancias se permite únicamente bajo las condiciones indicadas
a continuación. No está permitido sublicenciar; sección 10 lo hace innecesario.
3. Protección de Derechos Legales Usuarios frente a Leyes contra la elusión.
Ningún trabajo amparado debe considerarse parte de una medida tecnológica efectiva bajo
cualquier ley aplicable que cumpla las obligaciones en virtud del artículo 11 del tratado de
copyright WIPO adoptado el 20 de diciembre de 1996, o leyes similares que prohíben o
restringen la violación de tales medidas.
Cuando distribuya un trabajo amparado, renuncia a cualquier poder legal para prohibir la
elusión de medidas tecnológicas en la medida de tales violaciones se realicen en ejercicio de
derechos bajo esta Licencia con respecto al trabajo amparado, y usted negará cualquier
intención de limitar el uso o modificación de la trabajar como un objetivo de imponer, contra
los usuarios de la obra, sus derechos legales o de terceros para prohibir la violación de
medidas tecnológicas.
4. Distribución de copias literales.
Usted podrá distribuir copias literales del código fuente del Programa, según lo halla recibido,
en cualquier medio, siempre que sea adecuada y bien visible publique en cada copia un
anuncio de copyright; mantener intactos todos los avisos que establezcan que esta Licencia y
cualquier término no-permisivo añadido de acuerdo con la sección 7 son aplicables al código;
mantener intactos todos los avisos de ausencia de cualquier garantía; y dar a todos los
destinatarios una copia de esta Licencia junto con el Programa.
Puede cobrar cualquier importe o no cobrar por cada copia que distribuya, y podrá ofrecer
soporte o protección de garantía mediante una tarifa.
pág. 80
5. Distribución de Versiones Modificadas de Código.
Usted podrá distribuir un trabajo basado en el Programa, o las modificaciones para producirlo
a partir del Programa, en forma de código fuente bajo los términos del artículo 4, supuesto que
además cumpla las siguientes condiciones:
a) El trabajo debe incluir avisos destacados indicando que usted lo ha modificado y dando una
fecha pertinente.
b) El trabajo debe incluir avisos destacados indicando que es liberado bajo esta licencia y
cualquier otra condición añadida en virtud del artículo 7. Este requisito modifica el requisito de
la sección 4 de "mantener intactos todos los avisos".
c) Debe obtener la licencia al trabajo completo, como un todo, bajo esta licencia a cualquier
persona que esté en posesión de una copia. Por tanto, esta Licencia se aplicará junto con
cualquier sección 7 términos adicionales aplicables, a la totalidad de la obra, y todas sus
partes, con independencia de la forma en que se empaquetan. Esta Licencia no da permiso
para la licencia de la obra, en cualquier otra manera, pero no se anula dicho permiso si usted
la ha recibido por separado.
d) Si el trabajo tiene interfaces de usuario interactivos, cada uno debe mostrar Avisos Legales
Apropiados; Sin embargo, si el Programa tiene interfaces interactivos que no muestran Avisos
Legales Apropiados, su trabajo no tiene por qué hacer que lo hagan.
Una recopilación es el conjunto de un trabajo amparado y otros trabajos distintos e
independientes, que no son por sus extensiones naturales miembros del trabajo amparado y
que se combinen con él como para formar un programa más amplio, sobre un volumen de
almacenamiento o medio de distribución, se le llama un "agregado" si la recopilación y su
copyright al completo no son usados para limitar el acceso o los derechos legales de los
usuarios la compilación va más allá de lo que permita el trabajo individual. La inclusión de un
trabajo amparado en un paquete no hace aplicable esta Licencia al resto de elementos del
paquete.
pág. 81
6. Distribución Non-Source.
Usted podrá distribuir un trabajo amparado en forma de código objeto en los términos de los
artículos 4 y 5, siempre que también distribuya las Fuentes Correspondientes en código
máquina, de acuerdo a los términos de esta Licencia, de alguna de estas formas:
a) Distribuir el código objeto, o embebido en, un producto físico (incluyendo medios de
distribución físicos), acompañado de las Fuentes Correspondientes en un medio físico
duradero utilizado para el intercambio de software.
b) Distribuir el código objeto, o embebido en, un producto físico (incluyendo medios de
distribución físicos), acompañado de una oferta por escrito, válida durante al menos tres años
y válida durante el tiempo que usted ofrezca recambios o soporte para ese modelo del
producto, para dar al poseedor del código objeto o bien (1) una copia de las Fuentes
Correspondientes a todo el software del producto que esté cubierto por esta Licencia, en un
medio físico duradero habitual para el intercambio de software, por un precio no más que su
coste razonable por distribuir físicamente las fuentes, o (2) acceso para copiar las fuentes
correspondientes desde un servidor de red sin coste alguno.
c) Distribuir copias individuales del código objeto junto con una copia de la oferta por escrito
para proporcionar la Fuente Correspondiente. Esta opción se permite sólo ocasionalmente y
con fines no comerciales, y sólo si usted recibió el código objeto junto con una oferta parecida,
de acuerdo con la subcláusula 6b.
d) Distribuir el código objeto ofreciendo acceso desde un lugar determinado (gratuitamente o
por un cargo), y ofrecer un acceso equivalente a las Fuentes Correspondientes de la misma
manera por el mismo lugar sin cargo añadido. No es necesario exigir a los destinatarios que
copien las Fuentes Correspondientes junto con el código objeto. Si el lugar para copiar el
código objeto es un servidor de red, la Fuente Correspondiente puede estar en un servidor
diferente (gestionado por usted o un tercero) que ofrezca facilidades de copia equivalentes,
siempre que mantenga instrucciones claras junto al código objeto especificando dónde
encontrar la Fuente Correspondiente. Independientemente de qué servidores alberguen las
pág. 82
Fuentes Correspondientes, usted seguirá obligado a asegurar que estarán disponibles durante
el tiempo que sea necesario para satisfacer estos requisitos.
e) Distribuir el código objeto mediante la transmisión punto a punto, siempre que informe a
otros usuarios dónde se ofrecen el código objeto y las Fuentes Correspondientes de la obra al
público en general sin costo alguno en la subcláusula 6d.
Una parte separable del código objeto, cuyo código fuente esté excluido de las Fuentes
Correspondientes como una Librería del Sistema, no necesita ser incluida en la distribución
del código objeto del trabajo.
Un "Producto de Usuario" es tanto (1) un "producto de consumo", lo que significa que
cualquier propiedad personal tangible que se utiliza normalmente para propósitos de la familia
o del hogar personales, o (2) cualquier cosa diseñada o vendida para su incorporación en una
vivienda. Para determinar si un producto es un producto de consumo, los casos dudosos se
resolverán en favor de la cobertura. Para un producto particular, recibida por un usuario en
particular, "que se utiliza normalmente" se refiere a un uso típico o común de ese tipo de
producto, independientemente de la situación del usuario particular o de la forma en que el
usuario concreto utilice, o se espere que utilice, el producto. Un producto es un producto de
consumo independientemente de si, el producto tiene usos sustanciales comercial, industrial o
no consumidores, a menos que tales usos representen la única forma posible de utilizar el
producto.
"Información de instalación" para un producto de usuario significa cualquiera de los métodos,
procedimientos, llaves de autorización u otra información necesarios para instalar y ejecutar
versiones modificadas de un trabajo amparado en ese Producto de Usuario a partir de una
versión modificada de las Fuentes Correspondientes. La información debe ser suficiente para
asegurar que el funcionamiento continuo del código objeto modificado sin ningún tipo de
condicionamiento o intromisión por el simple hecho de haber sido modificado.
Si usted distribuye un trabajo código objeto bajo esta sección en, o específicamente para el
uso en un Producto de Usuario y la distribución forma parte de una transacción en la que el
derecho de posesión y uso del Producto de Usuario se transfieren a la destinatario a
pág. 83
perpetuidad o por un período determinado (independientemente de cómo se caracteriza la
transacción), las Fuentes Correspondientes distribuidas bajo esta sección debe ir
acompañada de la Información de la instalación. Pero este requisito no se aplica si ni usted ni
terceros tienen posibilidad de instalar el código objeto modificado en el Producto de usuario
(por ejemplo, el trabajo ha sido instalado en la ROM).
El requisito de proporcionar Información de Instalación no incluye el hecho de continuar
proporcionando servicio de soporte, garantía, o actualizaciones para un trabajo que ha sido
modificado o instalado por el destinatario, o para el Producto de Usuario en el que ha sido
modificado o instalado. El acceso a una red puede ser denegado cuando la propia
modificación afecte materialmente y de forma adversa el funcionamiento de la red o viole las
reglas y protocolos de comunicación a través de la red.
Fuente Correspondiente transmitida e Información de la instalación prevista, de acuerdo con
esta sección debe estar en un formato documentado públicamente (y con una implementación
disponible para el público en código fuente), y no debe requerir ninguna clave o contraseña
especial para el desembalaje, la lectura o copia.
7. Condiciones adicionales.
"Permisos Adicionales" son condicionantes que amplían los términos de esta Licencia
permitiendo excepciones a una o más de sus condiciones. Los permisos adicionales que son
aplicables al Programa completo deberán ser tratados como si estuviesen incluidos en esta
Licencia, en la medida en que son válidas bajo la ley aplicable. Si los permisos adicionales se
aplican sólo a una parte del Programa, esa parte se puede utilizar por separado bajo los
permisos, pero el Programa completo seguiría estando afectado por esta Licencia con
independencia de los permisos adicionales.
pág. 84
Cuando distribuya una copia de un trabajo amparado, usted puede opcionalmente eliminar
cualquier permiso adicional de esa copia, o de cualquier parte de ella. (Los permisos
adicionales pueden ser eliminados en ciertos casos, supongamos si usted modifica el trabajo.)
Usted puede establecer permisos adicionales en material añadido por usted a un trabajo
amparado, para el que tiene o puede dar permisos de copyright correspondientes.
No obstante cualquier otra disposición de esta licencia, por el material que añada a un trabajo
amparado, usted puede (si está autorizado por los poseedores de copyright de ese material)
añadir condiciones a esta Licencia con los términos:
a) Ausencia de garantía o limitación de responsabilidad diferente de los términos de los
artículos 15 y 16 de esta Licencia; u
b) Obligación de mantener determinados avisos legales razonables o atribuciones de autoría
en el material o en los Avisos Legales Correspondientes mostrados por los trabajos que lo
contengan; o
c) Prohibir la tergiversación del origen de ese material, o requerir que las versiones
modificadas del material sean marcadas de forma apropiada, respecto a las diferencias de la
versión original; o
d) Limitar el uso con fines publicitarios de los nombres de los autores o de los materiales; o
e) Negarse a ofrecer derechos afectados por leyes de registro para el uso de algunos
nombres comerciales, marcas registradas, o marcas de servicio; o
f) Exigir indemnización de licenciantes y autores de ese material por cualquier persona que
distribuya el material (o versiones modificadas del mismo), estableciendo obligaciones
contractuales de responsabilidad sobre el destinatario, para cualquier responsabilidad que
estas obligaciones contractuales impongan directamente sobre los licenciantes y autores.
Todas las otras condiciones adicionales no permisivas son consideradas "otras restricciones"
en el sentido del artículo 10. Si el Programa, tal como usted lo recibió, o cualquier parte de ella
pág. 85
contiene un aviso indicando que se rige por esta Licencia junto con un término que es una
restricción adicional, usted puede quitar ese término. Si un documento de licencia contiene
una restricción adicional pero permite modificar la licencia o el transporte bajo esta Licencia,
puede añadir a un material de un trabajo amparado por los términos de ese documento de
licencia, siempre que la restricción no se mantenga como la renovación de licencias o de
transporte.
Si añade condiciones para un trabajo amparado, en acuerdo con esta sección, debe colocar,
en los archivos de origen pertinentes, una declaración de los términos adicionales que se
aplican a esos archivos, o un aviso indicando dónde encontrar los términos aplicables.
Las condiciones adicionales, permisivas o no permisivas, pueden indicarse en forma de una
licencia por escrito o separado, o figurar como excepciones; los requisitos anteriores se
aplican en ambos sentidos.
8. Terminación.
Usted no puede distribuir o modificar un trabajo amparado salvo lo dispuesto expresamente
en esta Licencia. Cualquier intento diferente de distribución o modificación será considerado
nulo, y terminará automáticamente sus derechos bajo esta Licencia (incluyendo cualquier
patente conseguida según el párrafo tercero del artículo 11).
Sin embargo, si usted cesa de la violación de esta Licencia, entonces su licencia desde el
poseedor del copyright correspondiente será restituida (a) provisionalmente, a menos que y
hasta que el titular del derecho de autor termina explícitamente y, finalmente, su licencia, y (b)
de forma permanente, si el titular del derecho de autor dejase para notificarle de la violación
por algún cauce antes de 60 días después de la cesación.
pág. 86
Por otra parte, su licencia desde el poseedor del copyright correspondiente será restituida
permanentemente, si el poseedor del copyright le notifica de la violación por alguna causa
esta es la primera vez que ha recibido la notificación de violación de esta Licencia (para
cualquier trabajo) de ese poseedor de los derechos de autor, y enmendar la violación antes de
30 días desde la recepción de la notificación.
La cancelación de sus derechos en virtud de esta sección no será cancelada las licencias de
terceros que hayan recibido copias o derechos de usted bajo esta Licencia. Si se han
terminado sus derechos y no restituidos de forma permanente, usted no califica para recibir
nuevas licencias para el mismo material en la sección 10.
9. Aceptación no obligatoria por tenencia de copias.
Usted no está obligado a aceptar esta licencia con el fin de recibir o ejecutar una copia del
Programa. La distribución de un trabajo amparado surgida simplemente como consecuencia
de la utilización de la transmisión punto a punto de recibir una copia tampoco requiere
aceptación. Sin embargo, nada más que esta Licencia le otorga permiso para distribuir o
modificar cualquier trabajo amparado. Estas acciones infringen el copyright si usted no acepta
esta Licencia. Por lo tanto, al modificar o distribuir un trabajo amparado, usted indica su
aceptación de esta Licencia para poder hacerlo.
10. Herencia automática de licencia para destinatarios.
Cada vez que distribuya un trabajo amparado, el destinatario recibe automáticamente una
licencia desde los poseedores originales, para ejecutar, modificar y distribuir ese trabajo,
sujeto a esta licencia. Usted no es responsable de asegurar el cumplimiento por terceros de
esta Licencia.
Una "transacción de entidad" es una transacción de control de la transferencia de una
organización, o sustancialmente todos los activos de una, o subdivide una organización, o la
fusión de las organizaciones. Si la propagación de un trabajo amparado surge de una
transacción de entidad, cada parte en esa transacción que reciba una copia de la obra
pág. 87
también recibe cualesquiera licencias para el trabajo que la parte interesada tuviese o pudiese
ofrecer según el párrafo anterior, además de un derecho de posesión de la Fuente
Correspondiente de la obra de su predecesor en el interés, si el predecesor tiene o puede
conseguir con un esfuerzo razonable.
Usted no puede imponer ninguna restricción más sobre el ejercicio de los derechos otorgados
o concedidos en virtud de esta licencia. Por ejemplo, no se puede imponer a la licencia pagos,
derechos u otros cargos por el ejercicio de los derechos garantizados por esta Licencia, y
usted no puede iniciar litigios (incluyendo demandas o contrademandas en pleitos), alegando
que cualquier reclamo se infringen patentes por hacer, usar, vender, ofrecer en venta o
importar el Programa o cualquier parte del mismo.
11. patentes.
Un "contribuyente" es un poseedor de copyright que autoriza el uso bajo esta Licencia del
Programa o un trabajo en el que se basa el Programa. El trabajo con esta licencia se
denomina "versión en colaboración" con el colaborador.
"Las reivindicaciones de patentes esenciales" de un contribuyente son todos los reclamos de
patentes de propiedad o controladas por el contribuyente, ya sea que hayan sido adquiridas
con posterioridad, o que hayan sido infringidas de alguna forma permitida por esta Licencia,
de hacer, usar o vender la versión en colaboración, pero sin incluir demandas que sólo sean
infracciones como consecuencia de modificaciones posteriores de la versión en colaboración.
Para efectos de esta definición, "control" incluye el derecho de conceder sublicencias de
patente de una manera consistente con los requerimientos de esta Licencia.
Cada colaborador le concede una licencia no exclusiva, mundial, libre de regalías licencia de
patente en virtud de las reivindicaciones de patente de origen del colaborador, para hacer,
usar, vender, ofrecer en venta, importación y otras formas ejecutar, modificar y propagar el
contenido de la versión en colaboración.
pág. 88
En los siguientes tres párrafos, una "licencia de patente" es cualquier acuerdo o compromiso
expreso, sin embargo denominados, que no imponga una patente (como un permiso expreso
para ejecutar una patente o acuerdos para no demandar por violación de patentes).
"Conceder" estas licencias de patente a un tercero significa llegar a tal acuerdo o compromiso
que no imponga una patente al tercero.
Si usted distribuye un trabajo amparado, conociendo que es una licencia de patente, y la
Fuente Correspondiente de la obra no está disponible para su copia, de forma gratuita y en los
términos de esta Licencia, a través de un servidor de red a disposición del público u otra de
fácil acceso significa, entonces debe o bien (1) las Fuentes Correspondientes a ser tan
disponible, o (2) tratar de eliminar del beneficio de la licencia de patente para este trabajo en
particular, o (3) organizar, de manera coherente con el requisitos de esta Licencia, para
extender la licencia de patente a terceros. "Conocer que" significa que usted tiene
conocimiento efectivo de que, para la licencia de patente, la distribución del trabajo amparado
en un país, o el uso de su receptor del trabajo amparado en un país, infringiría una o más
patentes existentes en ese país que tiene razones para creer son válidos.
Si, en virtud de o en conexión con una sola transacción o arreglo, usted distribuye o distribuye
con fines de distribución, un trabajo amparado, concediendo una licencia de patente a algunas
de las partes que reciba el trabajo amparado, y autorizándole a usar, distribuir, modificar o
distribuir una copia específica del trabajo amparado, entonces la licencia de patente que usted
otorgue se extiende automáticamente a todos los destinatarios de la obra y las obras cubiertas
basados en él.
Una licencia de patente es "discriminatoria" si no incluye dentro de su ámbito de cobertura,
prohíbe el ejercicio de, o está condicionada a la falta de ejercicio de uno o más de los
derechos que están específicamente otorgados por esta Licencia. Usted no puede distribuir un
trabajo amparado si usted es una parte de un acuerdo con un tercero que está en el negocio
de la distribución de software, bajo las cuales usted hace el pago a la tercera parte sobre la
pág. 89
base de la extensión de su actividad de distribución del trabajo, y bajo el cual se otorgue, a
cualquiera de las partes que recibirían el trabajo amparado, una licencia de patente
discriminatoria (a) en relación con las copias del trabajo amparado distribuido por usted (o
copias hechas de esas copias), o (b) directa y en relación con productos o paquetes que
contengan el trabajo amparado, a menos que forme parte del acuerdo, o que la licencia de
patente se concedió, antes del 28 de marzo de 2007.
Nada en esta licencia se interpretará en el sentido de excluir o limitar cualquier licencia
implícita o de otros medios de defensa a la infracción que de otra manera podrían estar
disponibles para usted bajo la ley de patentes aplicable.
12. No condicionamiento de la libertad de terceros.
Si se imponen condiciones (ya sea por orden judicial, acuerdo u otros) que contradigan las
condiciones de esta Licencia, ello no le exime de cumplir las condiciones de esta Licencia. Si
usted no puede distribuir un trabajo amparado por lo que se satisfagan simultáneamente sus
obligaciones bajo esta licencia y cualquier otra obligación pertinente entonces, como
consecuencia, no puede transmitir en absoluto. Por ejemplo, si usted está de acuerdo con los
términos que te obligan a obtener derechos para transmitir más lejos de aquellos a los que
transmitir el Programa, la única forma de satisfacer ambos condicionantes y esta Licencia
sería abstenerse completamente de distribuir el Programa.
13. Uso conjunto con la Licencia GNU Affero General Public License.
No obstante cualquier otra disposición de esta licencia, que tiene permiso para enlazar o
combinar cualquier trabajo amparado con otro trabajo amparado por la versión 3 de la
Licencia Pública GNU Affero General en un solo trabajo combinado, y transmitir el trabajo
resultante. Los términos de esta Licencia seguirán siendo aplicables a la parte formada por el
trabajo amparado, pero los condicionantes especiales de la Licencia Pública General Affero
pág. 90
GNU, el artículo 13, en relación con la interacción a través de una red se aplicarán a la
combinación como tal.
14. Versiones Revisadas de esta Licencia.
La Free Software Foundation puede publicar versiones revisadas y / o nuevas de la Licencia
Pública General GNU de vez en cuando. Tales versiones nuevas serán similares en espíritu a
la presente versión, pero pueden diferir en detalles para considerar nuevos problemas o
situaciones.
Cada versión recibe un número de versión que la distingue. Si el Programa especifica que un
cierto número de versión de la Licencia Pública General de GNU "o cualquier versión
posterior" se aplica a él, usted tiene la opción de seguir los términos y condiciones, bien de
esa versión indicada o de cualquier versión posterior publicada por la Free Software
Fundación. Si el Programa no especifica un número de versión de la Licencia Pública General
de GNU, usted puede elegir cualquier versión publicada por la Free Software Foundation.
Si el Programa especifica que un apoderado puede decidir que se pueden utilizar las futuras
versiones de la Licencia Pública General de GNU, la declaración pública de ese proxy de la
aceptación de una versión permanentemente le autoriza a elegir esa versión para el
Programa.
Las versiones posteriores de la licencia le puede dar permisos adicionales o diferentes. Sin
embargo, no hay obligaciones adicionales se imponen a cualquier autor o copyright titular
como consecuencia de que usted adopte una versión posterior.
pág. 91
15. Renuncia de garantía.
NO HAY GARANTÍA PARA EL PROGRAMA, EN LA MEDIDA PERMITIDA POR LA LEY
APLICABLE. Excepto cuando se indique de otra forma por escrito, los tenedores del copyright
y / u otras partes proporcionan el programa "TAL CUAL" SIN GARANTÍA DE NINGÚN TIPO,
EXPRESA O IMPLÍCITAS, INCLUYENDO, PERO NO LIMITADO A, LAS GARANTÍAS DE
COMERCIALIZACIÓN Y APTITUD PARA UN PROPÓSITO PARTICULAR . EL RIESGO EN
CUANTO A LA CALIDAD Y EL DESEMPEÑO DEL PROGRAMA ES CON USTED. SI EL
PROGRAMA TIENE UN ERROR, asume el coste de cualquier servicio, reparación o
corrección.
16. Limitación de responsabilidad.
EN NINGÚN CASO, salvo que lo requiera la legislación aplicable o haya sido acordado por
escrito, ningún tenedor del copyright ni ninguna otra parte que MODIFICA Y / O TRANSMITE
EL PROGRAMA COMO SE PERMITE ARRIBA, SERÁ RESPONSABLE ANTE USTED POR
DAÑOS, INCLUYENDO CUALQUIER DAÑO GENERAL, ESPECIAL, ACCIDENTAL O
CONSECUENTE DAÑOS CAUSADOS POR EL USO O LA IMPOSIBILIDAD DE USO DEL
PROGRAMA (INCLUYENDO PERO NO LIMITADO A LA PÉRDIDA DE DATOS, DATOS
CONSIDERADOS PÉRDIDAS inexacta o sufridas por usted o por terceras partes o a un fallo
del Programa al funcionar con cualquier otro programa), INCLUSO SI dicho tenedor u otra
parte ha sido advertido de la posibilidad de tales daños.
17. Interpretación de las cláusulas 15 y 16.
Si la ausencia de garantía y limitación de responsabilidad descrita anteriormente no tuviesen
efecto legal a nivel local en todos sus términos, la revisión de los tribunales se aplicará la ley
local que más se aproxima a la exención de toda responsabilidad civil en relación con el
Programa, a menos que una garantía o compromiso de responsabilidad acompaña una copia
del Programa a cambio de una tarifa.
FIN DE LOS TÉRMINOS Y CONDICIONES
pág. 92
Cómo aplicar estos términos a sus nuevos programas
Si usted desarrolla un nuevo Programa, y quiere que sea del mayor uso posible para el
público, la mejor forma de conseguirlo es convirtiéndolo en software libre que cualquiera
pueda redistribuir y cambiar bajo estos términos. Para hacerlo, añada los siguientes anuncios
al programa. Lo más seguro es añadirlos al principio de cada fichero fuente para destacar
declarar la ausencia de garantía; Además cada fichero debería tener al menos la línea de
«copyright» y un indicador a dónde puede encontrarse el anuncio completo.
<Una línea para indicar el nombre del programa y una rápida idea de qué hace.>
Copyright (C) <año> <nombre del autor>
Este programa es software libre: usted puede redistribuirlo y / o modificarlo
bajo los términos de la Licencia Pública General GNU publicada por
la Fundación para el Software Libre, ya sea la versión 3 de la Licencia, o
(a su elección) cualquier versión posterior.
Este programa se distribuye con la esperanza de que sea útil,
pero SIN NINGUNA GARANTÍA; ni siquiera la garantía implícita de
COMERCIALIZACIÓN o PARA UN PROPÓSITO PARTICULAR. Vea el
Licencia Pública General GNU para más detalles.
Debería haber recibido una copia de la Licencia Pública General GNU
junto con este programa. Si no es así, consulte <http://www.gnu.org/licenses/>.
pág. 93
Añada también información sobre cómo contactar con usted mediante correo electrónico y
postal.
Si el programa es interactivo, haga que muestre un pequeño anuncio como el siguiente,
cuando comienza a funcionar en modo interactivo:
<Programa> Copyright (C) <año> <nombre del autor>
Este programa viene con ABSOLUTAMENTE NINGUNA GARANTÍA; Para más detalles
escriba 'show w'.
Esto es software libre, y le invitamos a redistribuirlo bajo ciertas condiciones; escriba
'show c' para más detalles.
Los comandos hipotéticos 'show w' y `show c» deberían mostrar las partes adecuadas
de la Licencia Pública General. Por supuesto, los comandos de su programa podrían
ser diferentes; para una interfaz gráfica de usuario, deberá utilizar un tipo "Acerca de".
También deberías conseguir que su empleado (si trabaja como programador) o escuela,
en su caso, a firmar una "renuncia de copyright" para el programa, si es necesario. Para
más información sobre esto, y cómo aplicar y cumplir la GNU GPL, consulte
<http://www.gnu.org/licenses/>.
La Licencia Pública General GNU no permite que incluya sus programas en programas
propietarios. Si su programa es una biblioteca de subrutinas, puede considerar más útil
el permitir el enlazado de aplicaciones propietarias con la biblioteca. Si esto es lo que
quieres hacer, use la Licencia Pública General de GNU en lugar de esta Licencia. Pero
en primer lugar, por favor, lea <http://www.gnu.org/philosophy/why-not-lgpl.html>.
pág. 94
GLOSARIO
Emacs: es un editor de texto con una gran cantidad de funciones, muy popular entre
programadores y usuarios técnicos. GNU Emacs es obviamente parte del proyecto GNU y la
versión más popular de Emacs con una gran actividad en su desarrollo. El manual de GNU
Emacs lo describe como "un editor extensible, personalizable, auto-documentado y de tiempo
real."
VI: es el editor de texto más utilizado en el mundo GNU/Linux. Conocer Vi resulta de mucha
utilidad ya que es el editor de textos predeterminado en este sistema operativo. Es muy rápido
y permite insertar la salida de los comandos directamente en el texto, así como también
permite abrir archivos muy grandes (varios gigas).
ED: es un editor de texto orientado a líneas. Se utiliza para crear, visualizar, modificar y
manipular archivos de texto, tanto de forma interactiva y a través de scripts de shell. Una
versión restringida de ED, RED, sólo puede editar ficheros del directorio actual y no puede
ejecutar comandos de shell. Ed es el editor de texto "estándar" en el sentido de que es el
editor original para Unix. Para la mayoría de los propósitos, sin embargo, es superado por los
editores de pantalla que se completan como Emacs.
SWAP: en informática, el espacio de intercambio es una zona del disco (un fichero o partición)
que se usa para guardar las imágenes de los procesos que no han de mantenerse en
memoria física. A este espacio se le suele llamar swap, del inglés "intercambiar".
La mayoría de los sistemas operativos modernos poseen un mecanismo llamado memoria
virtual, que permite hacer creer a los programas que tienen más memoria que la disponible
realmente. Como en realidad no se tiene físicamente toda esa memoria, algunos procesos no
podrán ser ubicados en la memoria RAM.
pág. 95
En este caso es cuando es útil el espacio de intercambio: el sistema operativo puede buscar
un proceso poco activo, y moverlo al área de intercambio (el disco duro) y de esa forma liberar
la memoria principal para cargar otros procesos. Mientras no haga falta, el proceso extraído
de memoria puede quedarse en el disco, ya que ahí no utiliza memoria física. Cuando sea
necesario, el sistema vuelve a hacer un intercambio, pasándolo del disco a memoria RAM. Es
un proceso lento (comparado con usar sólo la memoria RAM), pero permite dar la impresión
de que hay más memoria disponible.
BSD: son las siglas de ―Berkeley Software Distribution‖. Así se llamó a las distribuciones de
código fuente que se hicieron en la Universidad de Berkeley en California y que en origen eran
extensiones del sistema operativo UNIX® de AT&T Research. Varios proyectos de sistemas
operativos de código abierto tienen su origen en una distribución de éste código conocida
como 4.4BSD-Lite. Añaden además un buen número de paquetes de otros proyectos de
Código Abierto, incluyendo de forma destacada al proyecto GNU.
Slices: partición en disco duro.
RMB: registro Maestro de Arranque.
disklabel: etiqueta asignada en el disco duro.
Timestamps: marcas de tiempo en archivos como en el acceso, modificación o cambios.
IPC: comunicación entre procesos (Inter-Process Communication).
DMR: (Gestor de Renderizado Directo o DRM) es un componente de Direct Rendering
Infrastructure (Infraestructura de Renderizado Directo o DRI), que provee a sistemas
operativos tipo Unix,
como Linux, FreeBSD,NetBSD,
y OpenBSD de aceleración
gráfica
eficiente, especialmente para aplicaciones 3D.
Consiste en dos módulos del kernel: un módulo genérico llamado drm, y otro específico para
el chip gráfico de que conste el hardware. Estos dos drivers en conjunto permiten que un
cliente en el espacio de usuario (userspace) pueda acceder al hardware de vídeo de manera
más o menos directa, acelerando de este modo la producción de imágenes.
pág. 96
DMCA: el Acta de derechos de autor digitales del milenio (en inglés Digital Millennium
Copyright Act o DMCA) es una ley de copyright (derechos de reproducción) de Estados
Unidos que implementa dos tratados del año 1996 de la Organización Mundial de la
Propiedad Intelectual (OMPI). Esta ley sanciona, no sólo la infracción de los derechos de
reproducción en sí, sino también la producción y distribución de tecnología que permita
sortear las medidas de protección del copyright (comúnmente conocidas como DRM); además
incrementa las penas para las infracciones al derecho de autor en Internet.
Tivoización: este término viene luego de que se percató que el hardware de marca TiVo que
ejecutaba Linux embebido, tenía limitaciones que impedían la actualización del firmware o su
modificación/reemplazo. Sin embargo funciona con software libre, se dispone del código, se
puede distribuir, y hasta se podría modificar para otras máquinas, pero no para las que tienen
limitaciones por hardware, bajo los componentes DRM.
Esto desató gran indignación en los seguidores de la línea purista del software libre, quienes
sentían vulnerados los derechos de los usuarios, aunque técnicamente seguía siendo SL. De
ahí la práctica de imponer DRM lógicos o físicos para evitar actualizaciones del sistema
operativo, se llama Tivoización.
pág. 97
BIBLIOGRAFÍA ELECTRÓNICA
http://www.gnu.org/
http://www.linux-es.org/distribuciones
http://www.debianchile.org/
https://www.debian.org/
http://www.linuxfromscratch.org/
http://www.gimp.org/
pág. 98