Как сообщить об ошибке в Debian с помощью программы bugreport

Мы рекомендуем вам сообщать об ошибках в Debian с помощью программы reportbug. Для установки и запуска выполните:

# aptitude install reportbug
$ reportbug

Далее вам будет предложено шаг за шагом пройти процесс составления сообщения об ошибке.

Если у вас есть вопросы, на которые в интерактивных запросах вы не получили ответов, вы можете воспользоваться документации ниже или задать вопрос в пользовательской рассылке Debian.

Как сообщить об ошибке в Debian с помощью электронной почты (расширенное использование reportbug)

Что важно знать перед отправкой вашего сообщения об ошибке

К какому пакету относится ваше сообщение об ошибке?

Вы должны знать пакет, на который должен быть оформлено ваше сообщение об ошибке. Смотрите в этом примере, как найти эту информацию. (Вы будете использовать эту информацию, чтобы проверить, не было ли сообщено об этой ошибке кем-либо ранее.)

Если вы не можете определить, к какому пакету относится проблема, отправьте, пожалуйста, письмо в список рассылки пользователей Debian

На случай, если проблема относится не к какому-либо пакету, а к общим услугам Debian, существует несколько псевдо-пакетов, или даже списки рассылки, которые можно использовать, чтобы довести до нас вашу информацию.

Было ли сообщение об ошибке послано кем-либо ранее?

Вы должны убедиться, что ваше сообщение об ошибке не было уже кем-либо отправлено ранее. Вы можете увидеть, какие ошибки были отправлены на определённый пакет с помощью опции пакета в форме поиска ошибок. Если сообщение о данной ошибке уже существует с #<номером>, то вместо заведения новой ошибки вы должны оставлять комментарии, отсылая письма на адрес <номер>@bugs.debian.org.

Посылайте несколько сообщений для нескольких ошибок

Не посылайте информацию о нескольких несвязанных ошибках в одном сообщении, в особенности если они относятся к разным пакетам.

Не посылайте ошибки авторам программы

Если вы отправляете сообщение об ошибке в Debian, не посылайте самостоятельно копию авторам программы — возможно, что ошибка существует только в Debian. Если будет необходимо, сопровождающий пакета сам перешлёт сообщение об ошибке.

Отправка сообщений об ошибках по электронной почте

Вы можете сообщить об ошибке в Debian, послав письмо по адресу submit@bugs.debian.org в формате, описанном ниже. reportbug (см. выше) должным образом оформит ваше письмо (пожалуйста, используйте этот формат!).

Заголовки

Как и в любом другом письме, вы должны дать сообщению ясную, содержательную тему (Subject). Указанная тема будет использоваться в BTS как первоначальное название ошибки, так что, пожалуйста, попытайтесь сделать её информативной!

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

Псевдо-заголовки

Первая часть сообщения об ошибке состоит из псевдо-заголовка, который содержит информацию о пакете и его версии. Псевдо-заголовок должен начинаться с первой строки тела сообщения. Первая строка сообщения должна содержать:

Package: <имя_пакета>

Замените <имя_пакета> именем пакета, в котором содержится ошибка.

Второй строкой письма должно быть:

Version: <версия_пакета>

Замените <версия_пакета> версией пакета. Не добавляйте сюда ничего кроме версии, так как для работы системы отслеживания ошибок это поле более важно, чем выпуски, подверженные данной ошибке.

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

Другие псевдо-заголовки вы можете найти в списке Дополнительных псевдо-заголовков

Тело сообщения

Пожалуйста, включите в ваше сообщение:

Включите все подробности, которые кажутся вам относящимися к делу — вряд ли ваше сообщение окажется слишком большим из-за чрезмерного количества информации. Если много подробностей вы привести не можете, пожалуйста, включите в сообщение все файлы, которые вы используете при воспроизведении проблемы (если они велики, выложите их на публично доступный веб-сайт, если это возможно).

Более подробно о том, как вы можете помочь разработчикам решить вашу проблему, вы можете прочитать в статье How to Report Bugs Effectively.

Пример сообщения об ошибке

Сообщение об ошибке, включая заголовок и псевдо-заголовок, выглядит примерно так:

  To: submit@bugs.debian.org
  From: diligent@testing.linux.org
  Subject: Hello says `goodbye'

  Package: hello
  Version: 1.3-16

  When I invoke `hello' without arguments from an ordinary shell
  prompt it prints `goodbye', rather than the expected `hello, world'.
  Here is a transcript:

  $ hello
  goodbye
  $ /usr/bin/hello
  goodbye
  $

  I suggest that the output string, in hello.c, be corrected.

  I am using Debian GNU/Linux 2.2, kernel 2.2.17-pre-patch-13
  and libc6 2.1.3-10.

Отправка копий сообщений об ошибках по другим адресам

Иногда необходимо отправить копию сообщения об ошибке кому-то ещё, кроме debian-bugs-dist и сопровождающего пакета (по этим адресам письмо посылается обычно).

Вы могли бы сделать, включив другие адреса в поле CC (копия), но в этом случае копии не будут содержать номера сообщения об ошибке в полях Reply-To и Subject. Если получатели станут отвечать на это письмо, они, вероятно, оставят в заголовке адрес submit@bugs.debian.org и создадут своими письмами новые сообщения об ошибках. Это приведёт к появлению большого количества дублирующихся сообщений.

Правильный способ добиться желаемого — использовать заголовок X-Debbugs-CC. Добавьте строку наподобие следующей в заголовок вашего сообщения:

 X-Debbugs-CC: other-list@cosmic.edu

Это заставит систему отслеживания ошибок отправить копию вашего сообщения не только в список debian-bugs-dist, но и по адресу(ам) в строке X-Debbugs-CC.

Не посылайте такие копии по адресам других сообщений об ошибках, поскольку они будут заблокированы механизмом предотвращения циклической доставки сообщения. На самом деле, в этом случае смысла в использовании X-Debbugs-CC практически нет, поскольку добавленный номер ошибки всё равно будет заменён другим. Используйте вместо этого обычный заголовок CC.

Эту возможность часто бывает полезно совместить с отправкой на quiet — см. ниже.

Дополнительные псевдо-заголовки

Уровни важности

Если ошибка является очень серьёзной или, наоборот, лишь желаемой возможностью, вы можете установить при отправке сообщения уровень важности ошибки. Тем не менее, это не обязательно, и если вы не присвоите ошибке уровень важности, сопровождающие пакета сделают это сами (или исправят неправильно установленный уровень).

Чтобы задать уровень важности, поместите в псевдо-заголовок строку наподобие следующей:

Severity: <важность>

Замените <важность> одним из возможных значений, как описано в расширенной документации.

Присвоение значений тегам

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

Чтобы установить тег, поместите в псевдо-заголовок строку наподобие следующей:

Tags: <теги>

Замените <теги> одним из возможных значений, как описано в расширенной документации. Теги могут разделяться запятыми, пробелами или и тем, и другим.

User: <имя_пользователя>
Usertags: <теги_пользователя>

Замените <теги_пользователя> одним или более тегами. Отделяйте теги между собой запятыми, пробелами, или и теми и другими. Если вы указали <имя_пользователя>, эти пользовательские теги будут установлены. Иначе в качестве имени пользователя будет использоваться почтовый адрес отправителя.

Установка пересылки (Forwarded)

Forwarded: foo@example.com

помечает новую представленную ошибку как переправленную на foo@example.com. Смотрите в документации разработчика Запись, которую вы отправили в сообщении об ошибке.

Объявление владельца

Owner: foo@example.com

показывает, что foo@example.com теперь ответственный за исправление этой ошибки. Смотрите в документации разработчика Смена владельца ошибки.

Пакет с исходным кодом

Source: foopackage

эквивалентно Package: для ошибок, присутствующих в исходном пакете пакета foopackage. Для большинства ошибок в большинстве пакетов вам не понадобится эта опция.

Команды управления

Control: control commands

Позволяет работать любой команде, которая должна быть отправлена на адрес control@bugs.debian.org, если она отправлена на адрес submit@bugs.debian.org или nnn@bugs.debian.org. -1 изначально указывает на текущую ошибку (то есть, ошибку, созданную письмом на submit@, или ошибку, отправленную с nnn@). Пожалуйста, посмотрите документацию по серверу управления для получения дополнительной информации по применяемым управляющим командам.

Например, следующий псевдозаголовок в сообщении, отправленном на адрес 12345@bugs.debian.org:

Control: retitle -1 this is the title
Control: severity -1 normal
Control: summary -1 0
Control: forward -1 http://bugs.debian.org/nnn

привел бы к переименованию ошибки 12345, изменению её важности, установке резюме и пометке её как пересланной.

Заголовки X-Debbugs

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

Дополнительная информация

Другие адреса отправки сообщений (маловажные или многочисленные ошибки)

Если ошибка маловажная, например, опечатка в документации или тривиальная проблема сборки, пожалуйста, задайте уровень важности minor и отправьте сообщение по адресу maintonly@bugs.debian.org, а не submit@bugs.debian.org. maintonly перешлёт сообщение только сопровождающему пакета, не отправляя его в списки рассылки BTS.

Если вы отправляете много сообщений одновременно, вам определённо стоит использовать maintonly@bugs.debian.org, чтобы не создавать чрезмерного трафика в списках рассылки BTS. Перед отсылкой большого количества сообщений о похожих ошибках, вы можете также отправить краткое изложение в список debian-bugs-dist.

Если вы хотите отправить в систему отслеживания ошибок сообщение об ошибке, которое уже отправлено сопровождающему, вы можете использовать адрес quiet@bugs.debian.org. Сообщения, отправленные по этому адресу, никуда не пересылаются, а только сохраняются.

Если вы используете эти адреса отправки сообщений, система отслеживания ошибок установит поле Reply-To всех пересылаемых сообщений так, чтобы ответы по умолчанию обрабатывались так же, как исходное сообщение. Это означает, например, что ответы на сообщение, отправленное по адресу maintonly, будут посланы по адресу nnn-maintonly@bugs.debian.org, а не nnn@bugs.debian.org, если, конечно, отвечающий не поменяет адрес вручную.

Подтверждения

В норме система отслеживания ошибок возвращает отправителю сообщения подтверждение того, что его сообщение о новой ошибке или дополнительная информация к старой получены. Если вы не хотите получать такие сообщения, включите в письмо заголовок или псевдо-заголовок X-Debbugs-No-Ack (содержание заголовка значения не имеет). Если вы отправили сообщение о новой ошибке с таким заголовком, вам придётся самостоятельно узнать номер ошибки через веб-интерфейс.

Имейте в виду, что этот заголовок не подавляет отправку подтверждений сервером control@bugs.debian.org, поскольку эти подтверждения могут содержать сообщений об ошибках, которые следует прочесть и действовать в соответствии с ними.

Борьба со спамом и пропадающая почта

В системе отслеживания ошибок реализован весьма широкий набор правил предназначенных для того, чтобы спам не распространялся через BTS. Хотя мы и стараемся сократить число ошибочных срабатываний, они всё-равно случаются. Если вы подозреваете, что ваше письмо по ошибке удалено, свяжитесь с owner@bugs.debian.org. Другим распространённым случаем непопадания почты в BTS является использование адресов, совпадающих с procmail-овскими FROM_DAEMON, которые содержат адреса наподобие mail@foobar.com. Если вы подозреваете, что ваш адрес совпадает с заданными в FROM_DAEMON, для проверки обратитесь к procmailrc(5), и затем пошлите письмо ещё раз с адреса, которого нет в списке FROM_DAEMON.

Сообщения об ошибках в неизвестных пакетах

Если система отслеживания ошибок не знает, кто сопровождает данный пакет, она отправит сообщение в список debian-bugs-dist даже если используется адрес maintonly.

При отправке сообщений по адресам maintonly@bugs.debian.org или nnn-maintonly@bugs.debian.org вам следует убедиться, что сообщение об ошибке сопоставлено правильному пакету, поместив в первую строку сообщения правильную строку Package или используя сервер control@bugs.debian.org для сопоставления правильного пакета.

Использование dpkg для нахождения пакета и версии для составления сообщения

Когда используете reportbug для сообщения об ошибке в команде введите grep. Это автоматически выберет правильный пакет и позволит начать писать сообщение сразу же: reportbug --file $(which grep)

Кроме того, вы можете найти пакет, который её установил, используя dpkg --search. Вы можете узнать версию установленного пакета, используя dpkg --list или dpkg --status.

Например:

$ which apt-get
/usr/bin/apt-get
$ type apt-get
apt-get is /usr/bin/apt-get
$ dpkg --search /usr/bin/apt-get
apt: /usr/bin/apt-get
$ dpkg --list apt
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name           Version        Description
+++-==============-==============-============================================
ii  apt            0.3.19         Advanced front-end for dpkg
$ dpkg --status apt
Package: apt
Status: install ok installed
Priority: standard
Section: base
Installed-Size: 1391
Maintainer: APT Development Team <deity@lists.debian.org>
Version: 0.3.19
Replaces: deity, libapt-pkg-doc (<< 0.3.7), libapt-pkg-dev (<< 0.3.7)
Provides: libapt-pkg2.7
Depends: libapt-pkg2.7, libc6 (>= 2.1.2), libstdc++2.10
Suggests: dpkg-dev
Conflicts: deity
Description: Advanced front-end for dpkg
 This is Debian's next generation front-end for the dpkg package manager.
 It provides the apt-get utility and APT dselect method that provides a
 simpler, safer way to install and upgrade packages.
 .
 APT features complete installation ordering, multiple source capability
 and several other unique features, see the Users Guide in
 /usr/doc/apt/guide.text.gz

Другие полезные команды и пакеты

Утилита querybts, доступная из того же пакета, что и reportbug, предоставляет удобный текстовый интерфейс к системе отслеживания ошибок.

Пользователи emacs могут использовать команду debian-bug, предоставленную пакетом debian-el. Вызываемая M-x debian-bug, она запросит всю необходимую информацию подобным reportbug путём.


Другие страницы системы отслеживания ошибок:


Debian BTS administrators <owner@bugs.debian.org>

Debian bug tracking system
Copyright © 1999 Darren O. Benham, 1997, 2003 nCipher Corporation Ltd, 1994-1997 Ian Jackson.