Увага! Цей переклад дуже застарів, дивіться, будь ласка, оригінал.
Як повідомити про помилку в Debian за допомогою reportbug
Ми наполегливо рекомендуємо повідомляти про помилки в Debian за
допомогою програми reportbug
.
Щоб встановити та запустити її просто виконайте:
# apt-get install reportbug
$ reportbug
Це допоможе вам пройти через процес надсилання повідомлення про помилку крок за кроком.
Якщо у вас виникли запитання, котрі неможливо вирішити за допомогою інтерактивних підказок reportbug, ви можете ознайомитись з наведеною нижче інформацією або запитати поради в списку розсилки користувачів Debian.
Як повідомити про помилку в Debian за допомогою електронної пошти (та розширене використання reportbug)
Важливі речі, які потрібно знати перед відсиланням повідомлення про помилку
До якого пакунку відноситься ваше повідомлення про помилку?
Вам потрібно знати на який пакунок потрібно оформити повідомлення про помилку. Перегляньте цей приклад, щоб дізнатись як можна знайти цю інформацію. (Ви будете використовувати цю інформацію, щоб дізнатись чи хтось вже надіслав повідомлення про цю помилку.)
Якщо ви не можете визначити до якого пакунку потрібно віднести ваше повідомлення про помилку, будь ласка, надішліть електронного листа з проханням поради до списку розсилки користувачів Debian.
На той випадок, коли ваша проблема відноситься не до одного конкретного пакунка, але до певної служби Debian в цілому, існує декілька псевдо-пакунків або відповідних списків розсилки, через які натомість ви маєте змогу доставити нам ваше повідомлення.
Чи хтось вже надсилав повідомлення про цю помилку?
Перед відсиланням потрібно впевнитись, що ніхто не надсилав повідомлення
про цю помилку раніше. Щоб дізнатися про які помилки для конкретного пакунка
вже було повідомлено, можна скористатись
параметром пакунок
(package) пошукової форми
для помилок. Якщо існує відповідна помилка з певним номером #<номер>,
надсилати повідомлення про нову помилку не варто. Натомість можна
надіслати коментар за адресою <номер>@bugs.debian.org.
Для різних помилок надсилайте окремі повідомлення
Будь ласка, не варто групувати не пов'язані між собою помилки в одне повідомлення про помилку, особливо якщо вони відносяться до різних пакунків.
Не надсилайте повідомлення про помилки авторам програм.
Якщо ви надсилаєте повідомлення про помилку в Debian, не потрібно самостійно надсилати копію авторам програмного забезпечення, адже, можливо, ця помилка є актуальною лише для Debian. Супроводжувач пакунка перешле ваше повідомлення авторам, якщо в цьому буде потреба.
Відсилання повідомлення про помилку через електронну пошту
Повідомити про помилку в Debian можна, надіславши за адресою
[email protected]
електронну пошту в спеціальному форматі, котрий описується нижче. Програма
reportbug
(див. вище) вміє відповідним чином
форматувати повідомлення, будь ласка, використовуйте її!
Заголовки
Як і для будь-якого електронного листа необхідно вказати ясну та змістовну
тему (рядок Subject
). Системою відслідковування
помилок вказана вами тема буде використана як початкова назва даної
помилки, тому, будь ласка, спробуйте зробити її якнайбільш інформативною!
Якщо ви хотіли б надіслати копію повідомлення про помилку іншим адресатам (наприклад, в списки розсилки), то для цього варто використовувати не звичайні поштові заголовки, а інший метод, описаний нижче.
Псевдо-заголовки
На початку повідомлення про помилку повинні знаходитись псевдо-заголовки з інформацією про те, до якого пакунка та версії відноситься це повідомлення. Першим рядком повідомлення повинен бути такий псевдо-заголовок:
Package: <назва_пакунка>
Замініть <назву_пакунка>
на назву пакунка,
в якому є помилка.
Другий рядок повідомлення повинен мати такий вигляд:
Version: <версія_пакунка>
Замініть <версію_пакунка>
на версію пакунка.
Будь ласка, в цьому місці не додавайте жодного тексту, окрім власне версії —
на основі інформації з цього поля система відслідковування помилок визначає
вразливі даною помилкою випуски.
В псевдо-заголовку потрібно вказати правильну назву пакунка
(рядок Package
), щоб система відслідковування помилок доставила
повідомлення відповідному супроводжуючому. Щоб дізнатися, як можна знайти цю
інформацію, перегляньте цей приклад.
Про інші дійсні псевдо-пакунки можна дізнатись, переглянувши розділ про Додаткові псевдо-пакунки.
Тіло повідомлення
Будь ласка, вкажіть у вашому повідомленні:
- Точний та повний текст усіх помилок, що виводяться на екран або записуються до журналів. Це дуже важливо!
- Докладно опишіть всі ваші дії, котрі ви здійснюєте для демонстрації проблеми.
- Опис неправильної поведінки: в точності, якої поведінки ви очікуєте, та що спостерігаєте натомість. Чудовим способом показати це є транскрипт демонстраційного сеансу.
- Якщо можете, запропонуйте метод виправлення проблеми або відповідну латку.
- Подробиці налаштування програми, що спричинила виникнення проблеми. Включіть повний текст файлів її налаштувань.
- Версії всіх пакунків, від яких залежить пакунок з помилкою.
- Вкажіть, яку версію ядра ви використовуєте (про це можна дізнатись, запустивши
команду
uname -a
), версію вашої бібліотеки C спільного використання (shared C library, командаls -l /lib/*/libc.so.6
абоapt show libc6 | grep ^Version
), а також всі інші подробиці про вашу систему Debian, котрі вважатимете за доцільне. Наприклад, якщо у вас проблеми зі сценарієм на Perl, бажано вказати версію двійкового файлу perl (командаperl -v
абоdpkg -s perl | grep ^Version:
). - Важливі деталі щодо апаратного забезпечення вашої системи. Якщо ви повідомляєте про проблему з драйвером пристрою, будь ласка перерахуйте все програмне забезпечення вашої системи, оскільки такі проблеми часто викликані конфліктами IRQ та адрес вводу/виводу.
- Якщо у вашій системі встановлено reportbug
корисною також буде демонстрація виводу
reportbug --template -T none -s none -S normal -b --list-cc none -q <пакунок>
, оскільки тут міститься багато специфічних для супроводжуючого скриптів та інформація про версії.
Додайте всі деталі, що здаються вам важливими — небезпека зробити ваше повідомлення надто довгим через надлишок інформації є дуже малою. Якщо файли, котрими ви користуєтесь для відтворення помилки, невеликого розміру — також додайте їх до свого звіту (якщо вони завеликі, то, по можливості, викладіть їх в публічний доступ на одному з веб-сайтів).
Знайти більше порад про те, як допомогти розробникам у вирішенні ваших проблем, можна, переглянувши сторінку Як ефективно повідомити про помилку.
Приклад повідомлення про помилку
Повідомлення про помилку з заголовками та псевдо-заголовками має приблизно такий вигляд:
To: [email protected] From: [email protected] 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
листів-копій не буде міститись номер повідомлення про помилку.
Вочевидь, якщо адресати будуть надсилати відповіді, вони залишать
в заголовку адресу [email protected]
і їх лист
буде прийнятий як нове повідомлення про помилку. Це призведе до
дублювання значної кількості повідомлень.
Правильним способом зробити це є використання заголовку
X-Debbugs-CC
. Додайте рядок, подібний до цього,
в будь-якому місці поштового заголовку вашого повідомлення:
X-Debbugs-CC: [email protected]
Це змусить систему відслідковування помилок відіслати копію
вашого повідомлення не лише в список debian-bugs-dist
,
але й за адресами, вказаними в рядку X-Debbugs-CC
.
Уникайте відсилання таких копій на адреси інших повідомлень про
помилку, оскільки вони будуть відкинуті перевірками попередження
зациклювання поштових повідомлень.
Відтак, очевидно, мало сенсу використовувати для цього X-Debbugs-CC
,
оскільки доданий за цим механізмом номер помилки все одно буде замінений
на новий; натомість використовуйте звичайний CC
-заголовок.< />
Цю можливість часто з користю можна поєднати з так званим
тихим
(quiet
) відсиланням —
детальніше про це йдеться нижче.
Додаткові псевдо-заголовки
Рівні важливості
Якщо повідомлення стосується надзвичайно серйозної помилки, або ж є простим побажанням додати ту чи іншу можливість, можна встановити рівень важливості помилки у вашому повідомленні. Проте, робити це не обов'язково і супроводжувач сам встановить відповідний рівень важливості, якщо ви цього не зробите (або неправильно оціните цей рівень).
Щоб встановити рівень важливості, помістіть у псевдо-заголовок рядок, подібний до наступного:
Severity: <важливість>
Замініть <важливість> на одне з можливих значень рівня важливості, як це описано в розширеній документації.
Встановлення позначок
До будь-якого повідомлення про помилку можна додавати позначки (tags). Наприклад,
якщо ви до повідомлення додаєте латку, можливо, ви захочете встановити
позначку patch
. Проте, робити це не обов'язково і
розробники самі встановлять необхідні позначки, якщо ви цього не зробите.
Щоб встановити позначки, помістіть у pseudo-header рядок, подібний до наступного:
Tags: <позначки>
Замініть <позначки> на одне або декілька з можливих значень, як це описано в розширеній документації. Якщо міток декілька — розділіть їх комами, пробілами або і тим і іншим.
User: <ім'я_користувача> Usertags: <позначки_користувача>
Замініть <позначки_користувача> однією або декількома вашими позначками. Якщо таких декілька — розділіть їх комами, пробілами, або і тим і іншим одночасно. Щоб встановити позначку, що ідентифікує користувача, вкажіть lt;ім'я_користувача>. В іншому разі в якості імені користувача буде використовуватись адреса електронної пошти адресанта.
Forwarded: [email protected]
позначає новонадіслану помилку, як перенаправлену на [email protected]. Детальніше про це йдеться в розділі Адреса, на котру ви пересилаєте повідомлення про помилку документації для розробників.
Owner: [email protected]
показує, що відповідальним за виправлення помилки на даний момент є [email protected]. Детальніше про це йдеться в розділі Зміна відповідального за виправлення помилки документації для розробників.
Source: foopackage
еквівалент позначки Package:
для помилок в джерельних
пакунках відповідного пакунка; для більшості помилок в більшості
пакунків вам не знадобиться ця опція.
Нарешті, якщо ваш
MUA
не дозволяє редагувати заголовки, ви можете встановити
різні X-Debbugs-
заголовки в
псевдо-заголовках.
Додаткова інформація
Різні адреси надсилання повідомлень (для незначних або численних помилок)
Якщо повідомляється про незначну помилку, наприклад, недолік в
документації або тривіальна проблема збірки, будь ласка, доберіть
відповідний рівень важливості та відішліть повідомлення за адресою
[email protected]
, а не [email protected]
.
maintonly
перешле це повідомлення тільки до супроводжувача
пакунка, без пересилання до списку розсилки системи відслідковування
помилок.
Якщо ви відсилаєте багато звітів одночасно, вам дійсно необхідно
використовувати [email protected]
, щоб не створювати багато
надмірного трафіку в списку розсилки системи відслідковування помилок.
Перед відсиланням багатьох схожих помилок ви також можете відіслати
невеликий огляд в debian-bugs-dist
.
Якщо ви хочете відіслати до системи відслідковування
помилок повідомлення про помилку, яке вже було відіслане супроводжувачу,
ви можете використати [email protected]
. Звіти, відіслані на
[email protected]
нікуди не відсилаються, тільки зберігаються.
Якщо ви відсилаєте повідомлення про помилку за різними адресами, то система
відслідковування помилок встановить поле Reply-To
всіх
повідомлень, що пересилаються, таким чином, щоб стандартні відповіді
на них оброблялись так само, як і первинне повідомлення.
Це означає, наприклад, що відповіді на повідомлення, відправлені на
maintonly
будуть надсилатись за адресою
nnn-maintonly@bugs
, а не
nnn@bugs
, за умови, що хтось не змінить це вручну.
Підтвердження
Зазвичай, система відслідковування помилок повертає підтвердження на вашу
електронну пошту, що ви звітували про нову помилку або відсилали додаткову
інформацію щодо відомої помилки. Щоб вимкнути таке підтвердження,
включіть заголовок або псевдо-заголовок X-Debbugs-No-Ack
до вашого листа
(вміст цього заголовку не має значення). Якщо ви інформуєте про нову помилку таким способом,
то вам доведеться самостійно відшукати номер помилки, використовуючи
веб-інтерфейс.
Зверніть увагу, що цей заголовок не врятує від надходження підтвердження з
поштового серверу [email protected]
, позаяк ці
підтвердження можуть містити інформацію про недоліки повідомлень,
яку вам необхідно буде переглянути та відповідним чином скоригувати
свої дії.
Боротьба зі спамом та втрата пошти
Щоб унеможливити розсилання спаму через систему відслідковування помилок
ми використовуємо вельми обширний набір правил. Хоча ми й прагнемо
мінімізувати кількість неправильних спрацювань, такі все ж трапляються.
Якщо ви підозрюєте, що ваш лист був помилково видалений, зверніться за
допомогою до [email protected]
. Іншою розповсюдженою причиною того,
що пошта не потрапляє до системи відслідковування помилок є використання
адрес електронної пошти, що співпадають з FROM_DAEMON команди procmail,
таких наприклад як [email protected]
. Щоб пересвідчитись, що ваша
адреса не співпадає з адресою FROM_DAEMON, перегляньте procmailrc(5) й
перешліть листа з іншої, прийнятної адреси в разі виявлення проблем.
Повідомлення про помилку в невідомих пакунках
Якщо система відслідковування помилок не знає, хто є супроводжувачем
даного пакунка, то повідомлення буде відіслане в debian-bugs-dist
навіть за умови використання maintonly
.
Якщо повідомлення відсилається на адресу [email protected]
або
nnn[email protected]
слід потурбуватись про те,
щоб звіт про помилку був призначений правильному пакунку, помістивши на початку
повідомлення вірне значення поля Package
, або ж скористатись службою
[email protected]
для (пере)визначення
встановленого раніше значення, якщо воно виявилось неправильним.
Використання 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 <[email protected]> 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
способом.
Інші сторінки системи відслідковування помилок (BTS - Bug Tracking System):
- Головна сторінка системи відслідковування помилок.
- Інструкції щодо звітування про помилку.
- Доступ до журналів системи відслідковування помилок.
- Інформація для розробників щодо системи відслідковування помилок.
- Інформація для розробників щодо керування повідомленнями про помилки за допомогою електронної пошти.
- Довідник по поштовим серверам.
- Запити повідомлень про помилки через електронну пошту.
Debian BTS administrators <[email protected]>
Debian bug tracking system
Copyright © 1999 Darren O. Benham, 1997, 2003 nCipher Corporation Ltd,
1994-1997 Ian Jackson.