Home Map Index Search News Archives Links About LF
[Top bar]
[Bottom bar]
эта страница доступна на следующих языках: English  Castellano  Deutsch  Francais  Nederlands  Russian  Turkce  

[Фото автора]
автор Egon Willighagen

Об авторе:

Вступил в голландскую команду LF в 1999 г. и стал вторым редактором в начале этого года. Учится в Университете Неймегена на факультете информационной химии. Играет в баскетбол и любит путешествовать.

Содержание:

Как информировать об обнаруженных ошибках в дистрибутиве Debian 2.2

[Иллюстрация]

Резюме:

Заметка рассказывает об информировании сообщества Debian об обнаруженных ошибках пользователями и объясняется как это сделать и для чего это нужно.



 

Сообщество Debian

Debian - первый дистрибутив Linux, целью которого является создание лучшей бесплатной ОС. Участниками этого сообщества являются конечно же разработчики, но в то же время немаловажная роль отводится и пользователям. Когда пользователи перестают чем-то пользоваться - разработчики заканчивают свои разработки. Какой смысл портировать приложения, если ими никто не пользуется?

Разработчики Debian являются добровольцами, в отличие от разработчиков Red Hat и Suse, которых нанимают компании. Из этого следует, что время, отводимое ими на это занятие, лимитировано. Следовательно вы можете информировать разработчиков об ошибках - чтобы помочь им.

Как правило существует два вида ошибок в пакетах Debian. Первый - ошибки в приложениях. Так как разработчик дистрибутива Debian не пишет сами приложения ( он лишь создает пакеты ), то скорее всего обнаруженная ошибка будет передана непосредственному разработчику приложения, хотя разработчик дистрибутива возможно сам захочет исправить ее.

Второй вид - ошибки пакетов Debian или инсталляционных программ. И эти ошибки уже работа разработчика дистрибутива.  

Поиск ошибок

Ошибки, встречающиеся в приложениях, довольно однотипны, но их не так просто обнаружить. Существуют следующие пути обнаружения :

Из перечисленных - легче всего обнаружить и труднее всего исправить первый пункт, второй - более сложно обнаружить - разработчику трудно предусмотреть все возможные варианты использования приложения. Например возьмем приложение калькулятор - разработчик потестирует 1+1 или 2*5 и т.д., но скорее всего не попробует такой пример : 3456733256677*77782882355.

Другое дело пользователь - часто с помощью приложения решаются задачи, которые разработчик не тестировал. Принимая во внимание, что количество пользователей превышает количество разработчиков приложений и дистрибутива можно предположить, что пользователь обнаружит большее число ошибок. Но это не будут серьезные ошибки, такие как нестабильная работа системы или потеря данных. В большинстве случаев это ошибки, которые при желании можно обойти.

Как участник сообщества вы имеете моральное обязательство информировать разработчика Debian об обнаруженных ошибках для улучшения качества программного продукта. Эта заметка является предлогом для этого ( конечно вам не удастся найти много ошибок в дистрибутиве Debian :).  

Как информировать об ошибках в дистрибутиве Debian 2.2?

Существует развитая система информирования об обнаруженных ошибках в дистрибутиве Debian. Посылаемая информация хранится на специальном сервере. Программа reportbug облегчает процесс передачи информации.

Допустим вы обнаружили ошибку в приложении dia ( предпочитаемый мной редактор диаграмм ). Рассмотрим процесс посылки информации об обнаруженной ошибке ( найденная мною - была ошибкой программного обеспечения, а не дистрибутива Debian и поэтому я предполагаю, что разработчики Debian отправят ее авторам программного обеспечения ).

Вызываем программу из командной строки :
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:

Не будем выбирать не одну из предложенных категорий, а попробуем найти пакет, который содержит данное приложение. Прервем работу программы командой ^C (ctrl-C) и попытаемся найти пакет :
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

Последняя набранная команда показывает, что исполняемый файл находится в пакете dia ( если вы не уверены - попробуйте команду " dpkg -l dia" ). Обратите внимание, что команда выдала список из четырех файлов. Первый - библиотека, последний - директория, а второй и третий исполняемые файлы. Пакет dia поставлялся со вторым исполняемым файлом, а первый мне не известен.

Теперь, зная пакет, мы можем узнать откуда он был загружен ( ftp/http ) или скопирован ( CD/floppy ) :
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:

Результат позволяет нам сделать вывод, что данная версия ( 0.86-helix1 ) была инсталлирована с HelixCode ( для инсталляции HelixGnome выполните следующее "echo "#HelixGnome Update\ndeb http://spidermonkey.helixcode.com/distribtions/debian unstable main" >> /etc/apt/sources.list; apt-get update; apt-get install task-helix-gnome" ). Обнаруженная ошибка должна быть отправлена HelixGnome Debian packager, а не разработчикам Debian, но данное приложение не содержит программы reportbug. Чтобы продолжить нашу заметку - предположим, что мы установили версию 0.83-2 с голландского ftp.

Итак, мы обнаружили ошибку и пакет dia-0.83-2.deb, содержащий ее, который был загружен с голландского ftp - сайта. Возобновим нашу попытку переслать информацию. Если вы не находитесь online, добавьте опцию "-b" чтобы не использовать Debian Bug Tracking System ( BTS ). BTS позволяет узнать не информировал ли кто - нибудь уже об этой ошибке, поэтому использование BTS предпочтительно.

После ввода названия пакета и использования BTS, будут проверены зависимости, что очень важно. Программное обеспечение зависит от используемых библиотек и поэтому возможно возникновение ошибок из-за несовместимости версий. На самом деле это основной источник ошибок.

Следующий вопрос, который будет вам задан - краткое описание ошибки. Описание будет использовано в качестве заголовка, поэтому должно быть ясным и кратким. Позже можно будет составить детальное описание. В моем случае заголовок звучал так - "dia file format incorrectly uses dia namespace".

Теперь вы должны квалифицировать ошибку. Предлагается пять вариантов :

обозначениеописание
critical не связанные приложения ( или вся система ) перестают работать, или происходит потеря данных, или возникают проблемы с безопасностью системы, на которой установлен данный пакет.
grave невозможность использования пакета при обращении к нему, или потеря данных, или проблемы с безопасностью системы ( а именно доступ к учетным записям пользователей, использующих этот пакет ).
important любая другая ошибка не позволяющая использовать пакет.
normal используется по умолчанию для незначительных ошибок
wishlist запросы о свойствах и также об ошибках, которые трудно исправить

Выберите подходящий. Наиболее часто используемый для ошибок в Debian 2.2 - "normal", потому, что дистрибутив проходит множество тестов прежде, чем станет доступным для пользователей. Обратите внимание, что вы можете отправить пожелания относительно новых возможностей приложений.

После этого редактор отобразит информацию :
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 

Теперь самое время для подробного описания обнаруженной ошибки. Вы можете ввести соответствующую информацию между строками "Severity: normal" и "-- System Information". Постарайтесь воспроизвести последовательность действий, которая привела к обнаружению ошибки. Это поможет разработчикам обнаружить ошибку в коде.

Наконец, последний вопрос - необходимо ли отправить сообщение об обнаруженной ошибке в bug list. На этом процесс информирования об обнаруженной ошибке заканчивается.  

Что дальше?

Вы можете просмотреть Debian Bug Track System и выбрать пакет для которого посылали информацию, но не рассчитывайте обнаружить свою информацию в ближайшие 24 часа после пересылки. Далее следует ждать и надеяться, что ошибка будет исправлена.

К сожалению пока нет GUI для программы reportbug. Но будем надеяться, что скоро такой интерфейс будет доступен.  

Страница отзывов

У каждой заметки есть страница отзывов. На этой странице вы можете оставить свой комментарий или просмотреть комментарии других читателей.
 talkback page 

Webpages maintained by the LinuxFocus Editor team
© Egon Willighagen
LinuxFocus.org 2000

Click here to report a fault or send a comment to Linuxfocus
Translation information:
en -> -- Egon Willighagen
en -> ru Kirill Poukhliakov

2000-09-09, generated by lfparser version 1.5