Как сообщить об ошибке в 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 псевдо-заголовка
для того, чтобы система отслеживания ошибок отправила сообщение сопровождающему
пакета. См. информацию о том, как находить эту информацию, в
примере.
Другие псевдо-заголовки вы можете найти в списке Дополнительных псевдо-заголовков
Тело сообщения
Пожалуйста, включите в ваше сообщение:
- Точный и полный текст любых сообщений об ошибках, выводимых на экран или в журнал. Это очень важно!
- В точности, что вы вводите или делаете для воспроизведения проблемы.
- Описание неправильного поведение: в точности, какого поведения вы ожидаете, и что вы наблюдаете. Хороший способ привести такую информацию — стенограмма демонстрационного сеанса работа.
- Предлагаемое решение, или даже заплата, если оно у вас есть.
- Подробности конфигурации программы, содержащей проблему. Включите полный текст её конфигурационных файлов.
- Версии всех пакетов, от которых зависит ошибочный пакет.
- Какую версию ядра вы используете (введите
uname -a), версию разделяемой библиотеки C (введитеls -l /lib/libc.so.6илиdpkg -s libc6 | grep ^Version), а также любые другие подробности относительно вашей системы Debian, если вы считаете их полезными. Например, если у вас проблемы со скриптом Perl, вы можете пожелать указать версию двоичного файла `perl' (введитеperl -vилиdpkg -s perl | grep ^Version:). - Могущие быть полезными подробности относительно аппаратного обеспечения вашей системы. Если вы сообщаете о проблеме с драйвером устройства, пожалуйста, приведите список всего аппаратного обеспечения вашей системы, поскольку проблемы часто бывают вызваны конфликтами номеров IRQ или адресов ввода/вывода.
- Если у вас установлена программа reportbug,
вывод команды
reportbug -q --template -T none -s none -S normal -b --list-cc none -q <пакет>также будет полезным, так как содержит вывод специфичных для сопровождающего скриптов и информацию о версии.
Включите все подробности, которые кажутся вам относящимися к делу — вряд ли ваше сообщение окажется слишком большим из-за чрезмерного количества информации. Если много подробностей вы привести не можете, пожалуйста, включите в сообщение все файлы, которые вы используете при воспроизведении проблемы (если они велики, выложите их на публично доступный веб-сайт, если это возможно).
Более подробно о том, как вы можете помочь разработчикам решить вашу проблему, вы можете прочитать в статье 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 путём.
Другие страницы системы отслеживания ошибок:
- Главная страница системы отслеживания ошибок.
- Инструкция по созданию сообщений об ошибках.
- Доступ к журналам системы отслеживания ошибок.
- Информация для разработчиков по системе отслеживания ошибок.
- Информация разработчикам о работе с системой через e-mail.
- Справка по почтовым серверам.
- Запрос сообщений об ошибках по электронной почте.
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.
