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

Сообщения об ошибках следует писать на английском языке, поскольку именно он принят для общения в Проекте. Если вы затрудняетесь написать сообщение об ошибке на английском языке, то обратитесь за помощью к команде русскоязычной поддержки, debian-russian@lists.debian.org, либо к русской команде локализации, debian-l10n-russian@lists.debian.org.

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

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

Программу 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, разделяя запятыми.

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

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

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

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

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

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

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

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

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

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

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

Tags: <метки>

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

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

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

Вы можете выставить пользовательские метки для нескольких пользователей во время отправки сообщения об ошибке, включив в ваше сообщение несколько псевдозаголовков User. Каждый псевдозаголовок Usertags устанавливает пользовательские метки для предшествующего ему псевдозаголовка User. Это особенно полезно для установки пользовательских меток для команды с несколькими пользователями, установки пользовательских меток для нескольких команд или установки архитектурных пользовательских меток для ошибок, касающихся нескольких архитектур.

User: <имя_первого_пользователя>
Usertags: <метки_первого_пользователя>
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: forwarded -1 https://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, является использование отправителем адресов, соответствующих FROM_DAEMON из procmail, включающему адреса, такие как 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.