You are on page 1of 43

FIDEBIAN: pasado, presente y futuro

22 de abril de 2017
Rafael Ignacio Zurita <rafa@fi.uncoma.edu.ar>

FIDebian: pasado, presente y futuro 1


FIDebian
¿Qué es FIDebian?
“FIDebian es un sistema operativo basado en Debian GNU/Linux”


El sistema operativo es el conjunto de programas (software) que hacen que su
computadora funcione (para editar documentos, ejecutar aplicaciones de negocios,
jugar, etc).

El "Proyecto Debian" es una asociación de personas que han hecho causa común
para crear un sistema operativo (SO) libre.


Funciona unicamente en Pcs (arquitecturas i386 y amd64).

FIDebian: pasado, presente y futuro 2


FIDebian: pasado, presente y futuro 3
FIDebian
¿Dónde se descarga?
http://se.fi.uncoma.edu.ar/fidebian

¿Qué características presenta?



Instalación sencilla.

Entorno de escritorio (área de trabajo) liviana. Mate Desktop.

Guía de instalación verificada.

Modo LIVE.

Soporte a través de un foro y una lista de correos.

Letra chiquita: “No darás falsos testimonios ni mentiras. TODOS DICEN LO MISMO!”

FIDebian: pasado, presente y futuro 4


Historia


2010/2011 : se reemplaza Ubuntu 2007 por Ubuntu 10.
GNOME 2 en una etapa madura. Ubuntu era el
preferido entre los usuarios.

2013: ubuntu deja de dar soporte y se debe cambiar a
ubuntu 2011/2012. UNITY!

FIDebian: pasado, presente y futuro 5


Pasamos de esto:

FIDebian: pasado, presente y futuro 6


A esto???!!

FIDebian: pasado, presente y futuro 7


Historia

2014. Se decide el desarrollo de una distribución propia, que resuelva nuestras


necesidades [1][2]:

Instalación sencilla.

Fácil de usar (??)

Aplicaciones utilizadas en la Facultad de manera predeterminada.

Liviano (que utilice pocos recursos). Muchos alumnos con netbooks conectar igualdad.

[1] CUIDADO: las necesidades pueden ser incompatibles (ejemplo: algunos usuarios quieren KDE de manera predeterminada, y otros
GNOME).
[2] El proyecto FiDebian es una contribución a la Facultad de Informática, y fue llevado a cabo por fuera de los horarios laborales
(aunque tuvo la aceptación y el soporte desde la facultad en equipamiento, testers, documentacion y promocion).

FIDebian: pasado, presente y futuro 8


¿Por qué Debian y no Fedora, Red Hat, Centos, Suse, Slackware, Huayra?


Fedora conducido por una comunidad.

Red Hat mas profesional y comercial. Desarrollo norteamericano.

Suse al igual que Red Hat, y orientado al mercado europeo.

Slackware: for nerds, geeks y hackers. Necesitamos un Linux para PERSONAS.

Huayra: habíamos encontrado que los repositorios no eran totalmente compatibles.

“Amaras a todas las distribuciones GNU/Linux por sobre todas las otras”

FIDebian: pasado, presente y futuro 9


La desicion fue personal.


Desarrollador de Gamerunner http://gamerunner.sf.net

Desarrollador de Jlime para HP Palmtops 620lx

Desarrollador de ZONBU Linux (Gentoo)

Desarrollador de JLIME Muffinman para maquinas Ben Nanonotes.

Usuario avanzado de Debian GNU/Linux

Experiencia en sistemas de desarrollo basado en código fuente, principalmente para sistemas


embebidos/empotrados (OpenEmbedded, Builroot).

FIDebian: pasado, presente y futuro 10


Espacio PUBLICITARIO
Gamerunner : http://gamerunner.sf.net

FIDebian: pasado, presente y futuro 11


Espacio PUBLICITARIO:
Jlime for HP Palmtop 620lx (SuperH CPU 66Mhz,
32MB de RAM, Compact Flash, Wireless)

FIDebian: pasado, presente y futuro 12


Espacio PUBLICITARIO:
Jlime Muffinman

FIDebian: pasado, presente y futuro 13


Fin del espacio publicitario

FIDebian: pasado, presente y futuro 14


Componentes utilizados de DEBIAN


Repositorio de paquetes TESTING (rolling release).

Sistema de desarrollo de sistemas LIVE
(http://live­debian.net).

Red de servidores distribuidos siempre disponible.

FIDebian: pasado, presente y futuro 15


Componentes FALTANTES:


Entorno predeterminado MATE Desktop.

Instalador sencillo.

Documentación actualizada, básica.

Soporte, espacio web, promoción.

FIDebian: pasado, presente y futuro 16


¿Por qué Debian TESTING y no ESTABLE? O INESTABLE?

# cat /etc/apt/source.list
deb http://ftp.us.debian.org/debian/ testing main contrib non­free

FIDebian: pasado, presente y futuro 17


FIDebian: Rehuso y Desarrollo de componentes

FIDebian: pasado, presente y futuro 18


FIDebian: Desarrollo

Elaboración de la distribución. Cuatro scripts base :


http://github.com/zrafa/fidebian


crear-fidebian-aula.sh (2)

crear-fidebian-live-instalador.sh (3)

crear-fidebian-live.sh (3)

crear-fidebian-mate-base.sh (1)

FIDebian: pasado, presente y futuro 19


FIDebian: Desarrollo

WorkFlow de los scripts:



crear-fidebian-mate-base.sh (1)

Crea un sistema base en un directorio seleccionado. La arquitectura depende del host.

crear-fidebian-aula.sh (2)

Clona el directorio con el sistema base e instala las aplicaciones de los laboratorios.

crear-fidebian-live-instalador.sh (3)

A partir del directorio base o aula crea un medio iso live que contiene el instalador.

crear-fidebian-live.sh (3)

A partir del directorio base o aula crea solo un medio iso live.

FIDebian: pasado, presente y futuro 20


Presente


FIDebian se utiliza en 4 laboratorios de la Facultad de Informática. (aproximadamente en 100
Pcs),

en estaciones de trabajo del personal administrativo y docentes;

en muchas portátiles de los alumnos debido a la sugerencia vertida por los docentes:

FIDebian: pasado, presente y futuro 21


Presente


Alrededor de 100 instalaciones fuera de la Facultad. Publico en general.


Se logra hacer funcionar en maquinas sin disco, utilizando un único servidor de arranque
y una única imagen NFS readonly. Administración de sistemas sencilla de ~100 Pcs!! [1]


Unas ~300 instalaciones.

[1] Técnicamente esto fue posible gracias a un hack, que modifica el modo de arranque del sistema, utilizando una capa de un
sistema de archivos en RAM RD/RW montado sobre el sistema de archivos / RO. Trabajo no documentado pero existente en el
initrd modificado.

FIDebian: pasado, presente y futuro 22


Presente


IMPORTANTE: En 2013 se contaba con un solo
recurso de trabajo.


MAS IMPORTANTE: En 2016 el sistema tenia
varios voluntarios.

FIDebian: pasado, presente y futuro 23


Presente
MAS IMPORTANTE: En 2016 el sistema tenia varios voluntarios

FIDebian: pasado, presente y futuro 24


Futuro


Proyecto huérfano. Se necesita de desarrolladores.


¿Hay algún desafío o simplemente se debe actualizar
la imagen existente?

FIDebian: pasado, presente y futuro 25


Futuro. Hay mucho por hacer. Requerimientos:


Habilidades con la programación de scripts (shell y python
minimamente). Si ademas conocen Perl y Ruby busquen un
laburo que se llenan de plata.

Manejo del sistema de paquetes de Debian.

Conocer/aprender como verificar lo que se desarrolla
(idealmente uso de qemu/kvm y automatización de tests).

Manejo de algún sistema de control de versiones (svn/git/etc).

FIDebian: pasado, presente y futuro 26


Futuro. Hay mucho por hacer. Desafíos:


Problema nro. 1: el instalador de Debian es for hackers, crackers, y
gente con demencia. Hay que continuar el uso del instalador del
proyecto Linux Mint.

Problema nro. 2: apareció un nuevo sistema de elaboración de
imágenes de instalación de Debian. Un revuelo bárbaro. Parecía un
grupo de whatsap del colegio de los hijos.
https://debian-live.alioth.debian.org/live-manual/stable/manual/html/live-manual.en.html


Problema nro. 3: el script que genera la imagen live con el
instalador no está actualizado a la ultima versión.

FIDebian: pasado, presente y futuro 27


Futuro. Hay mucho por hacer. Desafíos:


Problema nro. 4: el instalador es la llave al éxito o fracaso.
Es ahora fácil de usar? NO!: pide particionar. QUEE???!!!
No tiene que hacer preguntas.
Tiene que decir el tiempo exacto que falta
Debe solo preguntar:
Modo automático? (instala fidebian en su maquina)
Modo experto (el actual)
Hay que quitar los "hacks" al instalador. Si hay que configurar el instalador para nuestro ambiente
local hay que hacerlo bien.

El instalador debe ser desarrollado como si lo hiciese Apple cuando Steve Jobs tenia 25 años. Instalar
sin preguntar. Hacerlo bien. Punto.

FIDebian: pasado, presente y futuro 28


Futuro. Hay mucho por hacer. Desafíos:


Desafío nro. 5: Se necesita evaluar el estado de Mate
Desktop. El proyecto pensaba migrar a las nuevas
versiones de la biblioteca de GNOME3.


Hay que analizar si Debian tiene aun Mate Desktop
en sus planes.

FIDebian: pasado, presente y futuro 29


Futuro. Hay mucho por hacer. Desafíos:


Desafío nro. 6: La guía de instalación tuvo buena
repercusión, porque mostraba un ejemplo de
particionado completo difícil.
Debe estar actualizada.

FIDebian: pasado, presente y futuro 30


Futuro. Hay mucho por hacer. Desafíos:


Desafío nro. 7: Falta un instalador de paquetes DECENTE. Si quiero un
programa para mantener el inventario de una despensa es imposible encontrar
uno fácilmente desde Synaptic.

FIDebian: pasado, presente y futuro 31


Futuro


Muchos desafios y problemas, pero siempre hay que tener
presente el objetivo principal:

En educación se debe utilizar


Software Libre

FIDebian: pasado, presente y futuro 32


Futuro

En educación se debe utilizar Software Libre. ¿Por qué?

Un ejemplo y mil palabras: Problema de Subsecuencia Común mas Larga

El Longest common subsequence problem (Problema de subsecuencia común más


larga) trata de encontrar una subsecuencia más larga que es común en un conjunto
de secuencias (Aunque en la mayor parte solamente se toman dos secuencias).

Algoritmos y Complejidad. Ciencias de la Computacion. Programación Dinamica.

FIDebian: pasado, presente y futuro 33


Futuro: En educación se debe utilizar Software Libre. ¿Por qué?

Un ejemplo y mil palabras: Problema de Subsecuencia Común mas Larga

Dadas dos secuencias X = (x1, x2...xm) e Y = (y1, y2...yn) deseamos encontrar


la subsecuencia común mas larga de X e Y.

Por ejemplo, si X = BDCABA e Y = ABCBDAB, la secuencia BCBA es una


subsecuencia común (BDAB es otra).

¿Cómo podemos encontrar la subsecuencia común mas larga?

Debemos enumerar todas las subsecuencias de X, todas las de Y, encontrar


cuales son comunes y seleccionar de estas la mas larga.

FIDebian: pasado, presente y futuro 34


Futuro: En educación se debe utilizar Software Libre. ¿Por qué?

Un ejemplo y mil palabras: Problema de Subsecuencia Común mas Larga. Algoritmo posible

for i = 1 to n do c[i,0] = 0
for j = 1 to m do c[0,j] = 0

for i = 1 to n do
   for j = 1 to m do
    if x[i]=y[j] then c[i,j] = c[i­1,j­1] +1
                else c[i,j] = max(c[i,j­1], c[i­1,j])

El algoritmo devuelve una matriz con la longitud de cada subsecuencia, para todo i y todo j

FIDebian: pasado, presente y futuro 35


Futuro: En educación se debe utilizar Software Libre. ¿Por qué?

Un ejemplo y mil palabras: Problema de Subsecuencia Común mas Larga

El algoritmo devuelve una matriz con la longitud de cada subsecuencia, para todo i y
todo j


El tiempo de ejecución es O(n*m)

El espacio utilizado es O(n*m)

Se debe recorrer la matriz para encontra la subsecuencia mas larga común.

Es el problema del software diff (es el programa mas utilizado en el desarrollo de
software colaborativo a través de git y parches).

FIDebian: pasado, presente y futuro 36


Futuro: En educación se debe utilizar Software Libre. ¿Por qué?

Un ejemplo y mil palabras: Problema de Subsecuencia Común mas Larga

Es el problema del software diff (es el programa mas utilizado en el desarrollo


de software colaborativo a través de git y parches).


Si un alumno desarrolla el algoritmo observará que para entradas grandes es
algoritmo es muuuuuy lento, y utiliza mucha memoria.

¿Pero cómo si el diff funciona velozmente y de manera eficiente? No puede
ser!

FIDebian: pasado, presente y futuro 37


Futuro: En educación se debe utilizar Software Libre. ¿Por qué?

Un ejemplo y mil palabras: Problema de Subsecuencia Común mas Larga

Es el problema del software diff (es el programa mas utilizado en el desarrollo


de software colaborativo a través de git y parches).


GNU diffutils. Software Libre. Parte del proyecto GNU
https://ftp.gnu.org/gnu/diffutils/

Descargamos: https://ftp.gnu.org/gnu/diffutils/diffutils-2.8.tar.gz

Desempaquetamos. Leemos el codigo fuente.

FIDebian: pasado, presente y futuro 38


Futuro: En educación se debe utilizar Software Libre. ¿Por qué?

Un ejemplo y mil palabras: Problema de Subsecuencia Común mas Larga

Descargamos: https://ftp.gnu.org/gnu/diffutils/diffutils-2.8.tar.gz

Desempaquetamos. Leemos el codigo fuente.


analyze.c:

/* The basic algorithm is described in:

   "An O(ND) Difference Algorithm and its Variations", Eugene Myers,

   Algorithmica Vol. 1 No. 2, 1986, pp. 251­266;

   see especially section 4.2, which describes the variation used below.

   Unless the ­­minimal option is specified, this code uses the TOO_EXPENSIVE

   heuristic, by Paul Eggert, to limit the cost to O(N**1.5 log N)

   at the price of producing suboptimal output for large inputs with

   many differences.

   The basic algorithm was independently discovered as described in:

   "Algorithms for Approximate String Matching", E. Ukkonen,

   Information and Control Vol. 64, 1985, pp. 100­118.  */

AJA! Por lo que el algoritmo utilizado en diff no es el que se estudia comunmente en las clases de algoritmia. Es uno
mejor adaptado al caso mas comun de archivos con pequeñas diferencias. Lo cual es cierto para el uso comun de diff en
donde se requiere obtener unicamente las diferencias entre archivos similares.

FIDebian: pasado, presente y futuro 39


Futuro: En educación se debe utilizar Software Libre. ¿Por qué?

Un ejemplo y mil palabras: Problema de Subsecuencia Común mas Larga*

Si el alumno o los docentes no tienen la posibilidad de analizar y leer el código


fuente del software REAL, entonces dificilmente encuentren cómo logran tanta
eficiencia.

El software libre permite ESTUDIAR el código fuente real, que generalmente difiere
de la teoría conceptual (para una mayor eficiencia).

*Agradecemos este ejemplo práctico a Roberto Di Cosmo (matematico francés).


Expuso este ejemplo hace muchos años en una conferencia en Buenos Aires
FIDebian: pasado, presente y futuro 40
FIDebian: historia, presente y futuro

¿Preguntas?

FIDebian: pasado, presente y futuro 41


FIDebian: historia, presente y futuro

GRACIAS por asistir al FLISOL!

FIDebian: pasado, presente y futuro 42


FIDebian: pasado, presente y futuro 43

You might also like