GNU/Linux >> Tutoriales Linux >  >> Debian

Guía completa para informar errores en Debian Linux

Reportar errores es una de las muchas formas en que puede ayudar a que Linux crezca. Todas las distribuciones de software libre, los proyectos tienen diferentes sistemas en los que los errores se recopilan, analizan, etiquetan y corrigen según la cantidad de personas que conocen el código fuente.

Como me encanta Debian, le mostraré cómo presentar informes de errores en Debian.

Cómo reportar errores en Debian Linux

La herramienta Goto en Debian para informar errores es Reportbug. Ojalá lo hubiera sabido cuando comencé con el informe de errores, habría evitado un poco de acidez estomacal para mí y para el mantenedor.

Veamos cómo podemos usar Reportbug para informar errores en Debian Linux.

Paso 1. Informar de la instalación de errores

Use el siguiente comando para instalar Reportbug:

sudo aptitude install reportbug

Paso 2. Reportar error:La primera ejecución

Una vez que haya instalado Reportbug, en la primera ejecución, debe configurarlo para que pueda usarse para archivar informes de errores.

Use el siguiente comando para ejecutarlo.

reportbug

Y luego un montón de consultas como se puede ver a continuación:

ver rawreportbug-first-run.txhosted con ❤ por GitHub

Notas sobre la primera ejecución de Reportbug:

una. Como he estado usando Debian durante bastante tiempo, puedo alternar entre 2 y 3. Para las personas que son extremadamente nuevas en el informe de errores, pueden ceñirse a [1], que se muestra como principiante y predeterminado, simplemente presione Entrar.

b. Entre la interfaz de usuario de texto y la interfaz gtk2/3, encuentro que la interfaz gtk2/3 es poco atractiva y también requiere un poco de memoria, por lo tanto, elijo 1 todo el tiempo. Si eligió el editor gtk2/3, las instrucciones a continuación siguen siendo las mismas para usted, solo verá que el editor gtk muestra lo mismo de una manera un poco más hermosa.

C. La parte en la que Reportbug solicita acceso a la red, siempre se la niego por motivos prácticos y de seguridad. A continuación se compartirá una explicación un poco más detallada de las razones por las que lo hago.

d. Por último, cuando te pida el nombre, si te gusta el nombre existente (toma de la variable [email protected]) presiona Enter, en caso de que quieras que sea otra cosa, dale el nombre con el que quieres que aparezca.

Paso 3. Manejo de peculiaridades de Gmail

La primera vez que se ejecutaría Reportbug, solicitaría la configuración del correo:

¡Bienvenido a reportbug! Dado que parece que es la primera vez que usa Reportbug, estamos configurando su comportamiento. Esta configuración se guardará en el archivo "/home/shirish/.reportbugrc", que podrá seguir editando.
Elija el modo operativo predeterminado para reportbug.
1 novato Ofrezca indicaciones simples, evitando preguntas técnicas.
2 estándar Ofrece indicaciones más amplias, incluidas preguntas sobre cosas que un usuario moderadamente sofisticado se espera que el usuario conozca Debian.
3 avanzado Como estándar, pero se supone que sabe un poco más sobre Debian, incluyendo "entrante".
4 experto Omita la mayoría de las medidas de control manual y las rutinas preliminares de clasificación. Este modo no debe ser utilizado por personas que no estén familiarizadas con las políticas y los procedimientos operativos de Debian.
Modo seleccionado:[principiante] 2
Elija la interfaz predeterminada para reportbug.
1 texto Una interfaz de usuario de consola orientada a texto
2 gtk2 Una interfaz de usuario gráfica (GTK+).
Seleccionar interfaz:1
¿Reportbug tendrá a menudo acceso directo a Internet? (Debe responder afirmativamente a esta pregunta a menos que sepa lo que está haciendo y planee verificar si se han presentado informes duplicados a través de algún otro canal). [S|n|q|?]? n
¿Qué nombre real debe usarse para enviar informes de errores?
[shirish]>:
>¿Cuál de sus direcciones de correo electrónico debe usarse al enviar informes de errores? (Tenga en cuenta que esta dirección será visible en el sistema de seguimiento de errores, por lo que es posible que desee utilizar una dirección de correo web u otra dirección con buenas capacidades de filtrado de spam).
[[email protected]]>[email protected]
ver rawreportbug-first-run-webmail-quirks.txhosted con ❤ por GitHub

La primera pregunta es si tiene algún software que le permita enviar correos electrónicos automáticamente.

Si ha configurado un cliente de correo electrónico de escritorio como Evolution o Thunderbird, elija sí. De lo contrario, ve por el no.

Una vez que se escribe el archivo de preferencias predeterminado, se guarda en /home/shirish/.reportbugrc. Puede cambiar la configuración más adelante editando este archivo.

En la consola, puede usar CTRL+C para salir de Reportbug en cualquier momento.

Paso 5. Averiguar el nombre de un paquete de aplicación a partir de un binario

Permítanme tomar el ejemplo de Aiselriot. Es uno de los juegos de cartas GTK que mi madre juega mucho. Ahora bien, si hay un problema con el juego, ¿cómo averiguo bajo qué paquete debo presentar un informe de error?

Entonces, lo primero que hago cuando trato de solucionar un problema de una aplicación GUI es tomar su icono y ponerlo en el panel y ver sus propiedades tal como lo muestro aquí:

Ahora sé que el nombre de la aplicación. no es Aiselriot sino sol y la ruta donde se instala la aplicación es /usr/games/sol .

Ahora intentemos encontrar cómo se llama el paquete:

dpkg -S /usr/games/sol

La salida es:

aisleriot: /usr/games/sol

Somos afortunados de que el paquete también se llame aiselriot, pero esto no sucede todo el tiempo.

Continuando, informemos ahora nuestro primer informe de errores. Como estoy usando Debian testing/stretch/pronto para ser estable en unos meses, publicaré un informe de errores allí.

Paso 6. Usar Reportbug para hacer un informe de errores

Ahora necesitamos un paquete que tiene un problema/error que debemos informar a la comunidad de Debian.

Tengo un paquete piuparts que mostró síntomas de un problema por el cual recurrí a Reportbug como se muestra en la esencia:

¿Tiene un "agente de transporte de correo" (MTA ) como Exim, Postfix o SSMTP configurado en esta computadora para enviar correo a Internet? [y|N|q|?]?n
Ingrese el nombre de su host SMTP. Por lo general, se llama algo así como "mail.example.org" o "smtp.example.org". Si necesita usar un puerto diferente al predeterminado, use el formato alternativo :. Simplemente presione ENTER si no tiene uno o no lo sabe, y así se usará un servidor SMTP de Debian.
>
Ingrese el nombre de su servidor proxy. Solo debe usar este parámetro si está detrás de un firewall. El argumento PROXY debe formatearse como una URL HTTP válida, incluido (si es necesario) un número de puerto; por ejemplo, http://192.168.1.1:3128/. Simplemente presione ENTER si no tiene uno o no lo sabe.
>
ver rawpiuparts reportbug bug-reporthosted con ❤ por GitHub

Ahora déjame explicarte cómo están funcionando las cosas. Uso una herramienta llamada adecuada (que es una herramienta de verificación de paquetes de Debian) cuando instalo paquetes. Hablaré sobre lo adecuado en detalle en una futura publicación de blog.

Lo que hace Reportbug es obtener y analizar toda la información que tiene sobre el paquete para saber si debe continuar o no.

Ahora, la herramienta adecuada se ejecuta en segundo plano todo el tiempo. Uno de sus trabajos principales ocurre justo al final de la instalación de un paquete, por ej. para piuparts comparte/me mostró esto –

adequate found packaging bugs
 -----------------------------
piuparts: obsolete-conffile /etc/piuparts/scripts/post_setup_experimental

lo que me dijo que el paquete piuparts tenía un conffile obsoleto. Conffile significa archivo de configuración.

Entonces, el primer comando que hago cada vez que encuentro un error que vale la pena informar es:hago esto:

reportbug piuparts --severity=normal

Da/informa sobre el paquete que tiene el problema, en este caso piuparts.

Poner severidad a cualquier error es un asunto complicado. A menos que tenga sentimientos muy fuertes sobre un paquete y sepa sin lugar a dudas que el error es realmente grave, no elevo la gravedad. Esta es mi propia ética personal, también un poco menos de trabajo para un mantenedor.

Dicho esto, la mayoría de los mantenedores verían un error a pesar de la gravedad que le dé. Los mantenedores me han respondido rápidamente incluso cuando he presentado errores en la lista de deseos y tengo mantenedores que no me responden. MIA (Missing-In-Action) incluso después de presentar errores graves. Archivar y tener una conversación saludable con el mantenedor es una actividad tanto técnica como social.

Después de preguntar al sujeto, reportbug pregunta/da varias opciones si se aplica una de las condiciones. Puede usar cualquiera si cree que su error se ve afectado o afecta una de las cosas anteriores en la lista. Por ejemplo, si va a compartir un parche para solucionar el problema, elegirá 6 o uno de los otros. Si no necesita ninguno de ellos, simplemente ingrese y siga adelante.

Una vez hecho lo anterior, toma unos momentos y obtenemos algo similar a esta esencia compartida:

[$] reportbug piuparts –severity=normal
*** Bienvenido a reportbug. Usar ? para obtener ayuda en las indicaciones. ***
Nota:los informes de errores se archivan públicamente (incluida la dirección de correo electrónico del remitente ).
Juego de caracteres detectado:UTF-8
Cambie su configuración regional si es incorrecta.
Utilizar 'shirish' como dirección de origen.
Obteniendo estado para piuparts…
Verificando la integridad del paquete...
Enviará el informe a Debian (según lsb_release).
El mantenedor de piuparts es el 'equipo de desarrolladores de piuparts'.
Buscando dependencias de piuparts…
Obteniendo archivos de configuración modificados...
Describa brevemente el problema (máx. 100 caracteres permitidos). Este será el asunto del correo electrónico del error, así que mantenga el resumen lo más conciso posible, para
ejemplo:"no se puede enviar el correo electrónico" o "no comienza con - q opción especificada" (ingrese Ctrl+c para salir de reportbug sin informar un error)
> Informes adecuados obsoleto-conffile para piuparts
Reescritura sujeta a 'piuparts:informes adecuados obsoletos-conffile para piuparts'?
Alguno de los siguientes se aplica a este informe
1 d-i Este error es relevante para el desarrollo de debian-installer.
2 ipv6 Este error afecta la compatibilidad con la versión 6 del Protocolo de Internet.
3 l10n Este error informa de un problema de localización/internacionalización.
4 lfs Este error afecta la compatibilidad con archivos grandes (más de 2 gigabytes).
5 recién llegado Este error tiene una solución conocida pero el mantenedor solicita que otra persona la implemente eso.
6 parche Incluye un parche para solucionar este problema.
7 upstream Este error se aplica a la parte upstream del paquete.
8 ninguno
Seleccione etiquetas:(una a la vez) [ninguna]
view rawdefault reportbug piuparts templatehosted with ❤ by GitHub

Now what this does is, it gives an idea to the maintainer of the state of your system. As you all know, almost all GNU/Linux distributions and the packages therein are based on a complex set of relationships with other packages. The maintainer needs to know what version of the package you were using, which other packages were there, what version were they at, apart from knowing that the integrity of the package hasn’t been tampered with in any way.

Now you need to fill in the banks –

I usually remove/delete cut the following, if you are a new user you could just answer the questions below and your bug report would be ready.

Step 7. The final changes made to spend the report

And in its place, I put the details as being shared right here:

Asunto:piuparts:informes adecuados conffile obsoleto para piuparts
Paquete:piuparts
Versión:0.75
Gravedad:normal
Estimado responsable,
*** Reportero, considere responder estas preguntas, cuando corresponda ** *
* What led up to the situation?
* What exactly did you do (or not do) that was effective (or
ineffective)?
* What was the outcome of this action?
* What outcome did you expect instead?
** End of the template – remove these template lines **
— System Information:
Debian Release:9.0
APT prefers testing
APT policy:(600, 'testing'), (500, 'unstable-debug'), (500, 'testing-debug'), (1, 'experimental-debug'), (1, 'experimental'), (1, 'unstable')
Architecture:amd64 (x86_64)
Foreign Architectures:i386
Kernel:Linux 4.9.0-1-amd64 (SMP w/2 CPU cores)
Locale:LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell:/bin/sh linked to /bin/dash
Init:systemd (via /run/systemd/system)
Versions of packages piuparts depends on:
ii debootstrap 1.0.87
ii debsums 2.2
ii dpkg 1.18.18
ii lsb-release 9.20161125
ii lsof 4.89+dfsg-0.1
ii piuparts-common 0.75
ii python-debian 0.1.30
pn python:any
Versions of packages piuparts recommends:
ii adequate 0.15.1
Versions of packages piuparts suggests:
ii schroot 1.6.10-3
— no debconf information
view rawgistfile1.txthosted with ❤ by GitHub

Some more info. now – These two tags signal/tell the maintainers few things –

 User: [email protected]

The first tag is signaling that the bug being raised is part of debian-qa efforts.

Usertags: obsolete-conffile adequate

The second tag is telling the tool we have used and one of the common issues under which it has come -in this case obsolete-conffile.

There are few common and uncommon use-cases that adequate looks into. As shared before, will need another blog post to share about it in detail.

The other thing I’m telling/sharing the maintainer is s/he should be looking into debhelper (a toolkit for debian/rules) and to look for specific bits therein.

Tip – Paul Wise, better known as pabs in Debian community. He is a prolific contributor to Debian. As you can see from his wiki page and the secondary apps. He always has a never-ending list of applications, packages that would be interesting to package alongwith things that could be/need to be improved. I dunno if he has done any mentoring or not, do see signs of a good and goofy mentor in him. I sometimes ask, sometimes steal his ideas to help in Debian QA :)

Now, that the bug-report is complete, I have to send it via gmail.com . If you have enabled MTA (Mail Transfer Agent) and don’t have a gmail.com you can just send and it will be done. If on the other hand, you haven’t enabled MTA (like me) and like to do things yourself, log on to your gmail account, hit compose and then –

Step 8. The final step

To - [email protected]
 Subject - piuparts: adequate reports obsolete conffile for piuparts

Body of your mail should start with Package

something like this –

You might have noticed some labels, they are just to help me be somewhat organized as after you have reported some bugs it can become chaotic to know what’s going on. Gmail’s labels and filters make things somewhat sanish with the amount of mail I receive.

At that point, make sure to recheck the mail once more before clicking the send mail button. I usually click on save draft, review it once or twice before sending it over.

If you are satisfied click send and your bug-report will be sent to Debian BTS .

Step 9. Getting acknowledgment from Debian BTS server saying the bug has reached them.

Usually, within minutes I get a short acknowledgment mail from the Debian BTS, like in the gist being shared

Look at the time-stamp given, just 3 minutes apart from when the mail was sent. I sent the bug mail on 05:03 and got the automated reply saying everything went fine on 05:06 itself.

What I look for into the acknowledgment mail is the bug number as that is how I come to know how things are going with the bug. #854317

Post bug-reporting cycle.

Coincidentally, as can be seen, the package maintainer somehow was around the time when I filed the bug. I do know the importance of piuparts in the debian ecosystem but I didn’t think Andreas will act so quickly, so now probably the next point release or even bug-fix release will have the fix. As can be seen though, Andreas seems to be a busy bee seeing the number of packages he’s maintaining/co-maintaining, besides uploading Non-Maintainer Uploads (NMU) and QA uploads.

I hope I have given enough insight so you know what to do as and when things go wrong.

Tip – Nowadays, I usually follow couple of rules before filing a bug. First check the bts for existing list of bugs, for e.g. piuparts bugs page (as also shared by Simon Tatham above). If the bug is not listed there, more often than not, it the package has not too many dependencies, and I know there aren’t any configuration files that I might have to recreate then I usually purge the package and install the package afresh. If adequate still finds a fault, I usually report it. I don’t do that though for obsolete conffiles as they usually happen when you are upgrading from version x.1 to x.2 or something like that.

Using such simple tips I save time and energy for myself as well as the maintainer of a package.

At first, it may take sometime, after a while, the whole thing may take 10-15 minutes or even less, depending on the package in which the bug is found, the bug itself, replication of the bug etc.

That’s about it to make a bug-report in Debian using Reportbug.

Hopefully, you have gotten some idea the steps to finding bugs and reporting them. Please post any queries you have in the comments below and I’ll try my best to answer/share whatever little I know.



Debian
  1. Cómo instalar Elasticsearch en Debian Linux

  2. Cómo instalar Void Linux:una guía completa paso a paso

  3. Guía completa para usar AsciiDoc en Linux

  4. La guía completa para principiantes de LVM en Linux

  5. Instalar Linux Mint 19 en VirtualBox:la guía completa

Guía completa para instalar OxygenOS en OnePlus One en Linux

La guía completa para usar ffmpeg en Linux

Guía completa de administración de usuarios en Linux

Guía completa de registro de Linux

Una guía completa para instalar Tomcat en Linux

Comandos de directorio de Linux:una guía completa

    Subject:piuparts:adequate reports obsolete conffile for piuparts
    Package:piuparts
    Version:0.75
    Severity:normal
    User:[email protected]
    Usertags:obsolete-conffile adequate
    Dear Maintainer,
    Adequate reports broken obsolete-conffile –
    [$] adequate piuparts
    piuparts:obsolete-conffile /etc/piuparts/scripts/post_setup_experimental
    Maybe you could use what pabs (Paul Wise) did in #815563, in that the
    proper thing to do would be –
    Use the dpkg-maintscript-helper support provided by dh_installdeb to remove such similar obsolete conffiles on upgrade
    Also https://www.debian.org/doc/debian-policy/ch-files.html#s-config-files
    You can also see manpage of dh_installdeb via debhelper package which is the same thing.
    I ran the same command as he did –
    [$] pkg=piuparts; adequate $pkg; dpkg-query -W -f='${Conffiles}\n' $pkg | grep obsolete
    piuparts:obsolete-conffile /etc/piuparts/scripts/post_setup_experimental
    /etc/piuparts/scripts/pre_remove_40_find_obsolete_conffiles
    dce83ee504ba336d8a2930fb6053635c
    /etc/piuparts/scripts/post_setup_experimental
    f7a1f3d45dc43106d1cd9b124b7c1ca8 obsolete
    Please fix the above.
    — System Information:
    Debian Release:9.0
    APT prefers testing
    APT policy:(600, 'testing'), (500, 'unstable-debug'), (500,
    'testing-debug'), (1, 'experimental-debug'), (1, 'experimental'), (1,
    'unstable')
    Architecture:amd64 (x86_64)
    Foreign Architectures:i386
    Kernel:Linux 4.9.0-1-amd64 (SMP w/2 CPU cores)
    Locale:LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
    Shell:/bin/sh linked to /bin/dash
    Init:systemd (via /run/systemd/system)
    Versions of packages piuparts depends on:
    ii debootstrap 1.0.87
    ii debsums 2.2
    ii dpkg 1.18.18
    ii lsb-release 9.20161125
    ii lsof 4.89+dfsg-0.1
    ii piuparts-common 0.75
    ii python-debian 0.1.30
    pn python:any
    Versions of packages piuparts recommends:
    ii adequate 0.15.1
    Versions of packages piuparts suggests:
    ii schroot 1.6.10-3
    — no debconf information