Es un sistema operativo basado en el proyecto GNU/Linux, distribuido en forma de software libre, el cual incluye su propio entorno de escritorio denominado Unity, aunque tambien posee otros entornos como GNOME que pueden ser modificados segun las necesidades del usuario.
Ubuntu es una bifurcacion del codigo base del proyecto Debian. El objetivo inicial era hacer de Debian una distribucion mas facil de usar y entender para los usuarios finales, corrigiendo varios errores de este y haciendo mas sencillas tareas como la gestion de programas, fue lanzado el 20 de octubre de 2004.
Esta orientado al usuario nuevo y promedio creado pensando en la facilidad de uso, esta compuesto de multiples software distribuido bajo una licencia libre. Es patrocinado por la empresa Canonical que se encarga de proporcionar soporte tecnico y proveer sus servidores la comunidad de Ubuntu con la condicion de que los usuarios y desarrolladores proporcionen soporte tecnico a los usuarios.
Proceso de desarrollo Ubuntu
Ubuntu esta formado por miles de componentes, escritos en diferentes lenguajes de programación, cada componente esta disponible en forma de un paquete fuente, estos a su vez están formados por dos partes: el código fuente y los metadatos (instrucciones sobre la licencia y compilación del paquete), una vez fue compilado el paquete se transforma en un “archivo.deb” que es manejado para el usuario final. Cada vez que una versión nueva de Ubuntu es liberada al publico general o cuando alguien realiza un cambio al código fuente de Ubuntu, los paquetes fuentes deben ser cargados al compilador “Launchpad” que luego lo distribuye al archivo y a todos los demás “Servidores Mirror” en todos los países.
Los URL del directorio describen a un archivo o aun servidor Mirror. Estos Mirror son actualizados constantemente y los hay de diferentes gustos para usuarios de Ubuntu. Hay todo tipo de imágenes pueden ser quemadas en un USB o en un disco y existen para diferentes equipos hay para teléfono, para tablet, para computador de escritorio.
El desarrollo de UBUNTU depende principalmente de la fase actual del ciclo de publicación, ya que este se encuentra en continuo desarrollo, se publica una nueva versión cada 6 meses lo que solo es posible porque se han establecido fechas estrictas de congelación (fechas limites para cada parte del proceso de desarrollo) Con cada fecha de congelación que se va alcanzando, los desarrolladores esperan hacer menos cambios y menos intrusivos. La congelación de funciones es la primera gran fecha de congelación después de haber pasado la primera mitad del ciclo. En esta fase, las funciones deben estar ya prácticamente implementadas.
El resto del ciclo se supone que se centrará en corregir errores. Después de que la interfaz de usuario, la documentación, el núcleo, etc. se congelan, se publica una versión beta que pasa gran cantidad de pruebas. De la versión beta en adelante, solo se corrigen errores críticos y se publica la versión candidata, la cual, si no contiene ningún problema serio, es la que se convierte en la versión definitiva.
Este proceso requiere de mucha comunicación y planificación para mantener altos estándares de calidad. Al principio y hacia la mitad de cada ciclo de emisión tiene lugar la cumbre de desarrolladores de Ubuntu en la que los desarrolladores y contribuyentes se juntan para planificar las características de las próximas versiones. Cada característica es discutida por sus accionistas y se escribe una especificación que contiene información detallada sobre sus supuestos, implementación, cambios necesarios en otras partes, cómo probarla y así sucesivamente. Todo esto se hace de forma abierta y transparente, así que puede participar remotamente.
No todos los cambios pueden ser discutidos en una reunión, particularmente porque Ubuntu depende de cambios que se hacen en otros proyectos. Es por esto que los contribuyentes se mantienen en contacto permanente. La mayoría de los equipos o proyectos usan listas de correo dedicadas, para una coordinación más inmediata, los desarrolladores y contribuyentes usan charlas en IRC.
Procesos de manejos de errores o bug's en Ubuntu
Otra herramienta importante relacionada con la comunicación son los informes de errores. Siempre que se encuentra un error en un paquete o en un parte de la infraestructura, se rellena un informe de error en Launchpad. Se recoge toda la información en dicho informe y se actualiza cuando sea necesario su importancia, estado y desarrollador asignado. Esto lo convierte en una herramienta efectiva para mantenerse al día de los errores de un paquete o proyecto y para organizar la carga de trabajo.
La mayoría del software disponible a través de Ubuntu no está escrito por los propios desarrolladores de Ubuntu. La mayoría está escrito por otros desarrolladores de otros proyectos de código abierto que luego son integrados en Ubuntu. Estos proyectos se denominan upstreams, porque su código fuente fluye a Ubuntu, donde se integra. No es solo código lo que Ubuntu recoge aguas arriba, sino que los proyectos upstream obtienen también usuarios, informes de error y parches de Ubuntu (y de otras distribuciones).
El proyecto upstream más importante para Ubuntu es Debian, ya que es la distribución en la que se basa Ubuntu y muchas de las decisiones de diseño relativas a la infraestructura de empaquetado se hacen allí. Traicionalmente, Debian ha tenido siempre mantenedores dedicados para cada paquete individual o equipos dedicados de mantenimiento. En Ubuntu hay equipos que tienen interés en un subconjunto de paquetes también y, naturalmente, cada desarrollador tiene un área de especialización, pero la participación (y permisos de subida) está generalmente abierta a cualquiera que demuestre capacidad y voluntad.
Para arreglar un error en Ubuntu, primero debería obtener el código fuente del paquete, después trabajar en la solución, documentarla de forma que sea fácil de entender por otros desarrolladores y usuarios y luego compilar el paquete para probarlo. Una vez lo haya probado, puede proponer fácilmente que el cambio se incluya en la publicación actualmente en desarrollo de Ubuntu. Un desarrollador con permisos para subir el código lo revisará y hará que se integre en Ubuntu. Cuando intente encontrar una solución, habitualmente es una buena idea comprobar los proyectos upstreams para ver si el problema (o una posible solución) es conocido y, si no, hacer lo posible para que la solución sea un esfuerzo concertado. Podrían ser necesarios pasos adicionales para hacer que el cambio se incluya en una versión antigua, aunque todavía soportada de Ubuntu, y enviarlo upstream.
Proceso de solucion de bug's en Ubuntu
Digamos que por ejemplo, encontraste un bug en la aplicacion TOMBOY. Entonces usarias este codigo en la central de commando para encontrar el paquete binario que contiene esta aplicacion:
$ apt-file find /usr/bin/tomboy
Y mostraria:
tomboy: /usr/bin/tomboy
Para encontrar el paquete fuente para un paquete binario entonces se seguiria la siguiente serie de códigos:
$ apt-cache showsrc tomboy | grep ^Package:
Package: tomboy
$ apt-cache showsrc python-vigra | grep ^Package:
Package: libvigraimpex
apt-cache es parte del estandar de instalacion de UBUNTU.
Una vez conocido el paquete fuente sobre el que trabajar, se procede a realizar una copia del codigo en el sistema para hacerle un debug. Durante el proceso de debug se crea un parche que incluya el arreglo. Esto se hace usando el comando edit-patch, por ejemplo:
$ edit-patch 99-new-patch.
Esto copiara el paquete a un directorio temporal, posteriormente procedes a editar los archives con un editor de texto o a aplicar los parches desde upstream, por ejemplo:
$ patch -p1 < ../bugfix.patch.
Luego de editar el archivo presionar en la terminal de commandos el commando EXIT para salir del SHELL temporal y asi agregar el patch al directorio. Posteriormente, se crea un paquete para probar el código con los cambios realizados, usando estos comandos:
$ bzr builddeb -- -S -us -uc
$ pbuilder-dist <release> build ../<package>_<version>.dsc
Que crearan un paquete fuente de la rama de contenidos. Una vez la creación sea realizada, se instala el paquete usando el código:
~/pbuilder/<release>_result/ (usando sudo dpkg -i<package>_<version>.deb). Y se prueba el programa para probar si el arreglo funciono.
Es importante documentar los cambios realizados para que los demas desarrolladores que observen el codigo puedan revisar el codigo. Cada paquete fuente incluye el código includesdebian/changelog, donde los cambios que cada paquete cargadado son rastreados.
Para actualizarlo se usa el siguiente codigo:
$ dch -i
Esto agregara una entrada de texto para que el desarrollador llene los espacios solicitados. Por ejemplo:
specialpackage (1.2-3ubuntu4) trusty; urgency=low
* debian/control: updated description to include frobnicator (LP: #123456)
-- Emma Adams <emma.adams@isp.com> Sat, 17 Jul 2010 02:53:39 +0200
La linea 1 consiste del nombre del paquete fuente, la version del programa, la version de UBUNTU en que se cargo, la urgencia del arreglo (por defecto es low) y la ultima linea contiene el nombre, direccion de correo y el tiempo del cambio, las líneas encontradas entre estas son para documentar: donde el cambio fue realizado, que cambio fue realizado y donde ocurrió el cambio.
Proceso de desarrollo para parche en Ubuntu
Aveces los desarrolladores encargados de resolver bugs que posea UBUNTU cambian el código de un programa para que funcione correctamente, estos son los denominados parches, estos cambios se guardan en una carpeta denominada “diff files”. Para ello se utiliza un sistema llamado QUILT.
Para crear un nuevo parche debes elegir la opción crear nuevo parche en QUILT, decirle que archivos debería cambiar, editarlos y actualizar el parche. Se realiza utilizando una serie de codigos:
$ quilt new kubuntu_02_program_description.diff
Patch kubuntu_02_program_description.diff is now on top
$ quilt add src/main.cpp
File src/main.cpp added to patch kubuntu_02_program_description.diff
$ sed -i "s,Webcam picture retriever,Webcam snapshot program,"
src/main.cpp
$ quilt refresh
Refreshed patch kubuntu_02_program_description.diff
Cada parche en la biblioteca de QUILT tiene una cabecera que posee informacion sobre el parche. Por ejemplo:
Descripcion:
Descripcion de que hace el parche.Se encuentra como el campo de Description en debian/control: la primera linea es una descripcion corta, empieza con una letra minuscula, luego una larga descripción.
Autor:
Quien escribio el parche (i.e. “Jane Doe <packager@example.com>”).
Origen:
De donde proviene el parche (i.e. “upstream”), solo cuando autor no este presente.
Bug-Ubuntu:
Un link al bug de Launchpad.
Ultima-Actualizacion:
Fecha de la ultima revision (en formato “Año-Mes-Dia”).
Instalacion de Ubuntu
Configuracion de Ubuntu
Luego de haber instalado UBUNTU, el siguiente paso es completar la traducción del escritorio, para lo cual hay que entrar en Configuración del sistema, accesible desde el panel lateral de aplicaciones y desde el menú de sistema. Para instalar y actualizar paquetes es imprescindible que el equipo esté conectado a Internet. Además de esto, hay que seleccionar el servidor de descargas que mejor se adapte a la conexión de red de internet que posee el usuario, de no realizar este paso Ubuntu podría tardar mas en descargar o fallar en la descarga de actualizaciones o aplicaciones, esto se hace seleccionando la etiqueta de configuración de Ubuntu, seleccionando servidores y el sistema realizara una serie de pruebas para encontrar el servidor que mejor se adapte a la velocidad de conexión.
El segundo paso es la actualización de sistema, que es fácilmente accesible desde el tablero de Unity, simplemente el usuario debe escribir actualizaciones, seleccionar la opción actualización de software y esperar (la primera actualización es la que mas tarda)
El tercer paso es la instalación de los software restringidos, se puede realizar de varias maneras, en la terminal de comando puedes utilizar una serie de códigos (sudo apt-get restricted extras) o se puede instalar los paquetes atraves del centro de software de Ubuntu, una opción mas sencilla, ya que solo requiere que el usuario escriba la frase “extras restringidos de Ubuntu” y el centro de software mostrara de resultado el archivo deseado con la opción de instalar el paquete.
El cuarto paso es la instalación de los controladores de los periféricos del equipo en Ubuntu, los controladores instalados por defecto en Ubuntu pueden tener errores de compatibilidad u otro tipo de error, esto se realiza mediante el centro de software.
Despues de realizar estos pasos, se procede a personalizar el sistema operativo, cambiando el tipo de interfaz de usuario ( si el usuario lo desea), instalando aplicaciones adicionales, todo basándose en las necesidades y experiencia del usuario.

No hay comentarios:
Publicar un comentario