Este documento está disponible en los siguientes idiomas: English Castellano Deutsch Francais Nederlands Russian Turkce |
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: |
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.
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.
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 :)
¿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:
|
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.
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.
|
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:
|
2000-10-14, generated by lfparser version 1.8