Hogar Mapa Indice Busqueda Noticias Arca Enlaces Sobre LF
[Top bar]
[Bottom bar]
[an error occurred while processing this directive]
[Photo of the Author]
por Egon Willighagen

Sobre el autor:

Se incorporó al equipo holandes de LinuxFocus en 1999, y se convirtió en segundo editor a comienzos de este año. Estudia informational chemistry en la Universitdad de Nijmegen. Le gusta caminar y jugar al baloncesto.

Contenidos:

Como informar sobre errores en Debian 2.2

[Illustration]

Resumen:

Este artículo explica qué deben hacer los usuarios de Debian por su comunidad: informar sobre los errores que encuentren. Se explica cómo puede hacerse, y por qué es necesario informar sobre ellos.



 

La comunidad Debian

Debian es ante todo una distribución Linux, pero es también una comunidad que intenta hacer el mejor sistema operativo (SO) totalmente libre. Pero, ¿Quién forma parte de esta comunidad? Por supuesto, los desarrolladores son elementos importantes, pero los usuarios también lo son. Si Debian no se usara, los desarrolladores pararían su trabajo. ¿Donde está la gracia de hacer un software que nadie usa?

Sin embargo, estos desarrolladores son voluntarios. Al contrario de lo que sucede con los desarrolladores de Red Hat y Suse, que son empleados de una empresa (RH y Suse), los desarrolladores de Debian no perciben salario alguno. Y esto quiere decir que no disponen de tiempo ni recursos ilimitados. "De acuerdo", puedes pensar, "pero ¿eso qué tiene que ver conmigo?". Como usuario, puedes echar una mano a estos desarroladores informando los errores que encuentres.

Los paquetes Debian pueden tener dos clases de errores. Uno es un error de software real. Puesto que el desarrollador Debian a menudo no es el autor del software (sólo crea el paquete Debian para el mismo), puede intentarlos arreglar el mismo, aunque frecuentemente se lo envía al autor del software.

El segundo tipo de error consisten en un error del paquete Debian o un error en la instalación del paquete en un sistema Debian. Estos errores son resueltos por el desarrollador Debian. Y encontrarlos es una tarea que lleva mucho tiempo.

 

Encontrando errores

Los errores son muy comunes en el software. Pero los desarrolladores pretenden conseguir un sistema Debian estable, y los errores no son parte del mismo. Aunque no son fácilmente encontrables. De otra forma ya habrían sido eliminados. Los errores pueden encontrarse de varias formas:

De entre ellos, los crash del sistema son los más faciles de encontrar, y suelen ser los más difíciles de resolver. Pero el segundo tipo de error es mucho más duro de encontrar. La razón es que el autor/desarrollador no puede probar el software en todas sus posibilidades. Por ejemplo, pensemos en un programa de cálculo. El autor puede comprobar varias cosas: 1+1 debe producir 2, 2*5 debe dar 10, etc. Pero no puede comprobar todas las sumas y multiplicaciones posibles. Nunca comprobará 3456733256677*77782882355.

Pero un usuario lo hará. Los usuarios hacen cosas con (y al) software que el autor nunca pensó. Dado que el número de usuarios es muy superior al de autores de software y desarrolladores Debian, podemos esperar que sean mucho más eficaces con estos errores. Pero muy pocos de ellos son errores graves. Tu sistemá no parará ni tus datos no se verán afectados. En la mayor parte de los casos estos errores ni siquieran produciran inconvenientes, puesto que en muchos casos pueden ser evitados.

Y como miembro de la comunidad tienes la casi obligación moral de comunicar el error al desarrollador Debian, para que se pueda hacer el software cada vez más estable. Y este artículo pretende ser un apoyo hacia estas posturas (aunque no encontrarás demasiados errores en un sistema Debian :)

 

Cómo informar de los errores en Debian 2.2?

¿Qué hace tan especial de informar un error en Debian? Uno de los aspectos es que Debian dispone de un completo sistema para informar sobre errores. Los errores enviados se almacenan en un servidor central de depuración. El programa reportbug proporciona el mecanismo para enviar los errores y otras herramientas útiles.

Supongamos que encuentras un error en el programa dia (mi editor de diagramas favorito). Sigamos el proceso de enviar un error en este paquete. (El error encontrado no era un problema de Debian, sino que era del propio software, por lo que espero que los desarrolladores Debian se lo remitirán a los autores).

Escribí en la línea de comandos (no encontré ningún bonito GUI para este programa):
egonw > reportbug
Please enter the name of the package in which you have found a problem,
or type one of these bug categories:

base              General bugs in the base system
boot-floppies     Bugs in the boot and root disks
bugs.debian.org   The bug tracking system, @bugs.debian.org
ftp.debian.org    Problems with the main FTP site (or mirrors)
general           Widespread problems (e.g., that many man pages are mode 755)
kernel            Problems with the kernel in general (otherwise: kernel-image)
list archives      The mailing list archives.
lists.debian.org  The mailing lists (debian-*@lists.debian.org)
manual            Bugs in the manual
nonus.debian.org  Problems with the non-us FTP site (or mirrors)
project           Problems related to Project administration
www.debian.org    Problems with the website (or mirrors)

Enter a package:

Hagamos bien el trabajo y no usemos ninguna de estas categorías, sino el paquete. Para ello acabamos la sesion de reportbug con ^C (ctrl-C). Necesitamos encontrar el paquete que contenía el ejecutable "dia". Lo hacemos con:
egonw > whereis dia
dia: /usr/lib/dia /usr/X11R6/bin/dia /usr/bin/X11/dia /usr/share/dia
egonw > dpkg -S /usr/bin/X11/dia
dpkg: /usr/bin/X11/dia not found.
egonw > dpkg -S /usr/X11R6/bin/dia
dia: /usr/X11R6/bin/dia

El último comando nos muestra que el ejecutable venía en el paquete dia (si no estas seguro, compruebalo con "dpkg -l dia"). Observamos que whereis nos da cuatro ficheros. El primero es una librería. El último es un directorio y los otros dos son ejecutables. El paquete dia sólo proporciona el segundo de los ejecutables, y el origen del primero me resulta desconocido.

Ahora que hemos identificado el paquete con el problema, podemos comprobar rápidamente de donde bajamos el paqute (ftp/http) o de qué medio (CD/floppy) con el comando:
egonw > apt-cache showpkg dia
Versions: 0.86-helix1(/var/state/apt/lists/spidermonkey.helixcode.com_dis
ributions_debian_dists_unstable_main_binary-i386_Packages)(/var/lib/dpkg/
tatus),0.83-2(/var/state/apt/lists/ftp.nl.uu.net_pub_linux_debian_dists_s
able_main_binary-i386_Packages),
Reverse Depends:
  task-helix-gnome,dia
Dependencies:
0.86-helix1 - gdk-imlib1 (2 1.9.8.1) libart2 (2 1.2.0) libaudiofile0 (0
(null)) libc6 (2 2.1.2) libdb2 (2 1:2.4.14-7) libesd0 (18 0.2.16)
libesd-alsa0 (2 0.2.16) libgdk-pixbuf2 (0 (null)) libglib1.2 (2 1.2.0)
libgnome32 (2 1.2.0) libgnomesupport0 (2 1.2.0) libgnomeui32 (2 1.2.0)
libgtk1.2 (2 1.2.0) libpng2 (0 (null)) libpopt0 (0 (null)) libxml1 (0
(null)) xlib6g (2 3.3.6-4) zlib1g (2 1:1.1.3) gsfonts-x11 (0 (null))
0.83-2 - gdk-imlib1 (2 1.9.8-2) libc6 (2 2.1.2) libglib1.2 (2 1.2.0)
libgtk1.2 (2 1.2.6-1) libpopt0 (0 (null)) libxml1 (0 (null)) libz1 (0
(null)) xlib6g (2 3.3.5) gsfonts-x11 (0 (null))
Provides:
0.86-helix1 -
0.83-2 -
Reverse Provides:

Con esto vemos que la versión actual (0.86-helix1) se instaló desde HelixCode (Para instalar HelixGnome, escribe écho "#HelixGnome Update\ndeb http://spidermonkey.helixcode.com/distrib tions/debian unstable main" >> /etc/apt/sources.list; apt-get update; apt-get install task-helix-gnome'). Este error no debería enviarse al desarrollador Debian, sino al empaquetador de Debian HelixGnome que no existe en la herramienta reportbug. Para el propósito de este artículo, asumamos que la versión 0.83-2 se instaló con el paquete Debian 2.2 de dia y (en mi caso) se descargó desde un mirror FTP en Holanda.

De modo que sabemos que el error está en el paquete dia-0.83-2.deb que fue descargado desde un sitio FTP de Debian. Ahora continuamos enviando el error. Si no estamos en línea podemos añadir la opción '-b', de modo que el programa no usará el sistema de trazado de errores (BTS) de Debian. Comprobando el BTS se puede saber si el mismo error ha sido informado con anterioridad, por lo que comprobar el BTS es muy recomendable.

Una vez introducido el nombre del paquete y consultado el BTS, se comprobarán las dependencias del mismo. Comprobar las dependencias es importante, puesto que el softare necesita ciertas librerías, y los errores pueden tener su origen en un conflicto entre versiones. De hecho, esta es la mayor fuente de errores. No es necesaria ninguna entrada del usuario para realizar esta comprobación.

La siguiente pregunta que nos hará es pedirnos una breve descripción del error. Esta descripción será usada como título, y debe ser a la vez completa y breve. Más tarde podremos describir el error en mayor detalle. En mi caso el título era "dia file format incorrectly uses dia namespace" (el formato de ficheros de dia usa de forma incorrecta el espacio de nombres de dia). Los detalles y la explicación vienen después.

Ahora debemos dar una categoría al error. Hay cinco clases disponibles:
importanciadescripciónn
crítica produce problemas más allá del propio software del sistema: pérdidas de datos importantes, caídas o agujeros de seguridad que afectan a todo el sistema.
grave convierte al paquete en no usable (o casi), pérdidas de datos, o crea agujeros de seguridad en las cuentas de los usuarios del paquete.
importante cualquier otro error que haga el paquete inadecuado para su uso normal.
normal el valor por defecto, para errores 'benignos'.
petición para solicitar nuevas características, pero también útil para errores difíciles de fijar debido a consideraciones de diseño del software.

Decidimos un nivel de severidad apropiado. Normal es el valor por defecto, y la mayor parte de los errores de Debian 2.2 tendrán esta severidad. Esto se debe a que Debian usa múltiples y exhaustivos ciclos de pruebas en los que el sistema al completo es chequeado antes de ser liberado al público. Notemos que también se pueden expresar deseos usando reportbug, aunque claramente no se trate de errores.

Una vez seleccionada la categoría, aparece un editor con toda la información recopilada hasta el momento:
Subject: dia file format incorrectly uses dia namespace
Package: dia
Version: 0.86-helix1
Severity: normal

-- System Information
Debian Release: 2.2
Architecture: i386
Kernel: Linux george 2.2.17 #1 Sun Jun 25 09:24:41 EST 2000 i586

Versions of packages dia depends on:
ii  gdk-imlib1            1.9.8.1-helix4     Gdk-Imlib is an imaging
library fo
ii  libart2               1.2.4-helix3       The Gnome canvas widget
ii  libaudiofile0         0.1.9-0.1          The Audiofile Library
ii  libc6                 2.1.3-10           GNU C Library: Shared
libraries an
ii  libdb2                2:2.4.14-2.7.7.1.c The Berkeley database
routines (ru
ii  libesd0               0.2.17-7           Enlightened Sound Daemon -
Shared
ii  libgdk-pixbuf2        0.8.0-helix2       The GNOME GdkPixBuf
library.
ii  libglib1.2            1.2.8-helix1       The GLib library of C
routines
ii  libgnome32            1.2.4-helix3       The Gnome libraries
ii  libgnomesupport0      1.2.4-helix3       The Gnome libraries

En este momento es cuando podemos elaborar el título que introdujimos con anterioridad. Entre las líneas "Severity: normal" y "-- System Information" podemos añadir más detalles sobre las condiciones en que se produjo el error. Intentaremos reproducir el error, y describir cuidadosamente los pasos que dimos para llegar a él. Esto ayuda a los desarrolladores a trazar el error hasta una parte del código que no funcione correctamente. En situadiones más complejas tal vez también quieras informar del comportamiento que se esperaba.

Por último, el programa te preguntará si quieres que el error se envíe a la lista de errores. Al enviarlo acaba el proceso por ahora. Y tú hiciste algo en beneficio de la comunidad.

 

¿Qué es lo siguiente?

Puedes averiguar en qué estado se encuentra el error visitando el Sistema de trazamiento de errores de Debian y seleccionando el paquete del que informaste del error. No esperes que aparezca antes de 24 horas. Luego, sólo queda esperar y, con un poco de paciencia, los errores acabarán por ser fijados.

No es demasiado bueno que aún no exista interfaz gráfico para reportbug pero en estos momentos cualquier usuario Debian puede informar sobre errores, independientemente de la funcionalidad del sistema. Y un interfaz es se hace con bastante rapidez en estos tiempos, por lo que probablemente podemos esperar ver uno pronto.

 

Formulario de "talkback" para este artículo

Cada artículo tiene su propia página de "talkback". A través de esa página puedes enviar un comentario o consultar los comentarios de otros lectores
 Ir a la página de "talkback" 

Contactar con el equipo de LinuFocus
© Egon Willighagen
LinuxFocus.org 2000

Pinchar aquí para informar de algún problema o enviar comentarios a LinuxFocus
Información sobre la traducción:
en -> -- Egon Willighagen
en -> es Javier Palacios

2000-10-14, generated by lfparser version 1.8