#use wml::debian::template title="Debian BTS - как сообщать об ошибках" NOHEADER=yes NOCOPYRIGHT=true #use wml::debian::translation-check translation="d3f8e5a80e17ede3b0af302c395ff45c59cdd4a5" maintainer="Lev Lamberov"
Сообщения об ошибках следует писать на английском языке, поскольку именно он принят для общения в Проекте. Если вы затрудняетесь написать сообщение об ошибке на английском языке, то обратитесь за помощью к команде русскоязычной поддержки, \ debian-russian@lists.debian.org, либо к русской команде локализации, debian-l10n-russian@lists.debian.org.
Мы рекомендуем вам сообщать об ошибках в Debian с помощью программы
reportbug
.
Программа reportbug по умолчанию установлена в большинстве систем. Если в вашей системе она недоступна, то её можно установить с помощью инструмента управления пакетами, доступного в вашей системе.
Программу reportbug можно запустить из системного раздела меню или
выполнив команду reportbug
в командной строке.
Далее вам будет предложено шаг за шагом пройти процесс составления сообщения об ошибке.
Если у вас есть вопросы, на которые в интерактивных запросах вы не получили ответов, вы можете воспользоваться документацией ниже или задать вопрос в пользовательской рассылке Debian.
Вы должны знать пакет, на который должно быть оформлено ваше сообщение об ошибке. Смотрите в этом примере, как найти эту информацию. (Вы будете использовать её, чтобы проверить, не было ли сообщено об этой ошибке кем-либо ранее.)
Если вы не можете определить, к какому пакету относится проблема, отправьте, пожалуйста, письмо в \ список рассылки пользователей 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
или apt show libc6 | grep ^Version
), а также любые другие
подробности относительно вашей системы Debian, если вы считаете их полезными.
Например, если у вас проблемы со сценарием на языке Perl, вы, возможно, захотите указать
версию двоичного файла `perl' (введите perl -v
или
dpkg -s perl | grep ^Version:
).reportbug --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
, разделяя запятыми.
Не посылайте такие копии по адресам других сообщений об ошибках,
поскольку они будут заблокированы механизмом предотвращения циклической
доставки сообщения. На самом деле, в этом случае смысла в использовании
X-Debbugs-CC
практически нет, поскольку добавленный номер
ошибки всё равно будет заменён другим. Используйте вместо этого обычный
заголовок CC
.
Эту возможность часто бывает полезно совместить с отправкой
на quiet
— см. ниже.
Если ваше сообщение касается очень серьёзной ошибки или, наоборот, является лишь запросом о желательной функциональности, то вы можете установить при отправке сообщения соответствующий уровень важности ошибки. Тем не менее, это не обязательно, и если вы не присвоите ошибке уровень важности, сопровождающие пакета сделают это сами (или исправят неправильно установленный уровень).
Чтобы задать уровень важности, поместите в псевдозаголовок строку наподобие следующей:
Severity: <важность>
Замените <важность> одним из возможных значений, как описано в дополнительной документации.
Вы можете устанавливать метки ошибок, о которых вы сообщаете. Например,
если вы включаете в сообщение заплату, то было бы разумно установить метку
patch
. Тем не менее, это не обязательно, и разработчики
установят все необходимые метки сами.
Чтобы установить метку, поместите в псевдозаголовок строку наподобие следующей:
Tags: <метки>
Замените <метки> одним из возможных значений, как описано в дополнительной документации. Метки могут разделяться запятыми, пробелами или и теми, и другими.
User: <имя_пользователя> Usertags: <метки_пользователя>
Замените <метки_пользователя> одной или несколькими метками. Отделяйте метки между собой запятыми, пробелами, или и теми и другими. Если вы указали <имя_пользователя>, эти пользовательские метки будут установлены для данного имени. Иначе в качестве имени пользователя будет использоваться почтовый адрес отправителя.
Вы можете выставить пользовательские метки для нескольких пользователей во время отправки сообщения об ошибке, включив в ваше сообщение несколько псевдозаголовков User. Каждый псевдозаголовок Usertags устанавливает пользовательские метки для предшествующего ему псевдозаголовка User. Это особенно полезно для установки пользовательских меток для команды с несколькими пользователями, установки пользовательских меток для нескольких команд или установки архитектурных пользовательских меток для ошибок, касающихся нескольких архитектур.
User: <имя_первого_пользователя> Usertags: <метки_первого_пользователя> User: <имя_второго_пользователя> Usertags: <метки_второго_пользователя>
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-
в
псевдозаголовках.
Если ошибка маловажная, например опечатка в документации или незначительная
проблема сборки, пожалуйста, задайте уровень важности 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
.