给Kali提交问题

简介

这篇文档指导一个报告者如何提交一份最好的问题报告,以便问题能尽快的被修复.问题报告者的目的是让Kali Linux的开发者问题重现然后发现问题.如果Kali开发者发现了问题,他们会收集更多的信息直到找到问题的根本.否则,他们会要求提供更多的信息直到他们出现提交者遇到的问题.请记住,我们的开发团队使用英文,所以最好用英文提交.

Kali Linux诞生于对社区的回报.社区促使我们的项目得以更好的保持持续发展.在你写评论时请记住,为你提供支持的开发者都是无私奉献的志愿者.

想要解决问题,请明确以下的要点:

  • 你是因为想要解决问题才提交的问题,所以请提供全面的信息.
  • 弄清楚你提交的是事实还是假设.
  • 保持问题报告的客观性,只陈述经过适当研究后的事实.
  • 不要引用Wikipeida和其它非主要资源的结果作为报告.
  • 一个BUG,不要以不同的报告,不同的人,不同的硬件多次提交.
  • 不要把多个问题堆在一起报告,如果可以请分别提交.
  • 不要发类似“Me too!” 或 “+1″这样的评论.
  • 不要抱怨修复一个漏洞为何那么久.

如何报告问题

Kali Linux问题追踪系统在http://bugs.kali.org.这篇文档指导你如何创建帐号,如何创建系统资料,和如何提交一份详细的报告.

创建Kali Linux问题追踪系统帐户

如果你还没有创建帐户,应该先完成这一步.创建用户后你才可以提交问题报告或对已存在的问题进行评论.

在问题追踪系统页面,点击‘Signup for new account’开始创建.

Kali Bug Tracker Signup

输入用户名和email,然后输入验证码.点击signup按钮.

kali-bugtacker-signup-2

如果成功了,下一步会提示你帐户已经注册好.要激活帐户请回复官方的email确认邮件.点击”Proceed”继续到漏洞追踪系统登录页面.

kali-bugtacker-signup-3

在Kali Linux问题追踪系统创建一份资料

不是必须的,但是作为你的帐户的一部分,建议创建一份独特的资料.你可以为每个系统创建自定义的资料,或者从默认资料里选择.这些资料用于报告时定义你的平台,操作系统和版本信息.

创建或编辑自定义资料,从主页选择My Account然后选择Profiles.为你的系统添加具体的信息和描述,完成时点击”Add Profile”按钮.

kali-bugtracker-profile-1

资料添加好后,在你创建一个新的问题报告时会出现”Select Profile”下拉菜单.可以根据你的需要创建不同的配置文件,只要你在提交问题报告时选择正确的配置文件.

务必不要报告提交过的问题

在开始报告之前,在网站搜索和你的问题相关的关键字.如果存在已经被报告的问题(与硬件无关),请不要重复提交或者添加没有必要的注释,例如”Me too!”或者”+1″.你可以点击ID链接来查看问题的状态.

如果你认为问题和硬件有关,即使类似的硬件也报告过,也请以你的具信息提交一份新的报告.你的硬件与别硬件不一定完全相同.不要以为同样的桌面或者笔记本型号就不可能遇到不一样的问题.

创建报告

开始你的报告,登入你的帐户然后点击登录页面上的”Report Issue”.你需要填尽可能多的信息.必要时请查看本文前面提出的那几点要求.

报告中必须包含以下字段:

  • Category(分类)
  • Summary(摘要)
  • Description(描述)

其它字段不是必须的,但我们请特别多注意下面每个选项:

  • Reproducibility(重现性)
  • Select Profile(选择资料)
  • Steps to Reproduce(重现步骤)
  • Additional Information(附加信息)
  • Upload File (error logs, screenshot)-上传文件(错误日志,屏幕截图)

选择适当的分类

目前Kali的问题被分为4类.报告问题之前请先确定它的类别:

  • General Bug(一般问题)
  • Kali Package Bug(Kali软件包问题)
  • New Tool Requests(请求添加新工具)
  • Tool Upgrade(工具升级)

不要提出问题追踪系统不支持的请求.Kali Linux提供许多可选的支持,包括http://docs.kali.org , https://forums.kali.org和freenode上的IRC聊天室(#kali-linux).

提供一个描述性的摘要

摘要字段本质上是一个问题报告的”名字”,Kali开发者和其它访问者会第一个看它.提供一个简短但具描述性的摘要可以描述问题或者明确要求.

Good: Chromium Package installed from Repo will not run as root user(优:从源安装的Chromium软件包不能用root运行)

Bad: Chromium doesn’t work(劣:chromium不能运行)

摘要不应该包括所有东西,除非必须要包含它才能传达你提交报告的原因.

使用dpkg为问题报告找到软件包和软件版本

你可以用dpkg参数组合找到安装过哪个软件包.在你的报告中列入这些命令的输出结果很重要.输出结果也可以以文本文件格式上传.(在本文后面讨论).

  • search
  • list
  • status

例子的输出:

root@kali:~# which chromium
/usr/bin/chromium
root@kali:~# type chromium
chromium is /usr/bin/chromium
root@kali:~# dpkg --search /usr/bin/chromium
chromium: /usr/bin/chromium
root@kali:~# dpkg --list chromium
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version      Architecture Description
+++-==============-============-============-=================================
ii  chromium       24.0.1312.68 amd64        Google open source chromium web
root@kali:~# dpkg --status chromium
Package: chromium
Status: install ok installed
Priority: optional
Section: web
Installed-Size: 98439
Maintainer: Debian Chromium Maintainers <[email protected]>
Architecture: amd64
Source: chromium-browser
Version: 24.0.1312.68-1
…Output Truncated…

建立描述方案

现在是提交经过你深思熟虑的报告的时候了.尽可能多的提供细节和结果.

请务必在适当的地方包含如下内容:

  • 任何错误信息的准确并完整的文本(屏幕截图或日志文件)
  • 你具体输入了什么或者做过什么产生的问题
  • 如果可以,提供一个修复建议或者补丁
  • 软件包的版本和与依赖包有关系的任何信息
  • 内核版本,C共享库,或者别看起来合适的资料
  • uname –a
  • dpkg -s libc6 | grep ^Version
  • 适当的时候,软件版本(例如 python -V)
  • 你的硬件信息
  • 如果你要报告硬件驱动问题,请列出你所有的硬件信息
  • 在你系统上安装源里的lshw报告完整的硬件信息
  • 添加其它相关的资料
  • 别为报告”太长”而担心,只要是相关信息,有比没有更好.
例子

Package: Chromium

Architecture: amd64

Maintainer: Debian Chromium Maintainers

Source: chromium-browser

Version: 24.0.1312.68-1

I installed the chromium web browser from the Kali Linux repos, using the command ‘apt-get install chromium’. I launched the program from the Kali menu by selecting Applications/Internet/Chromium Web Browser. Chromium did not launch as expected, instead it provided an error pop-up window.

The error message stated, “Chromium cannot be run as root. Please start Chromium as a normal user. To run as root, you must specify an alternate –user-data-dir for storage of profile information”.

I clicked the Close button to close the pop up window.

uname –a output: Linux kali 3.7-trunk-amd64 #1 SMP Debian 3.7.2+kali6 x86_64 GNU/Linux

C Library Version: 2.13-38

再现性的重要

Kali Linux问题追踪系统允许你提交被报告的问题出现频率.如果你提交一个要求添加新工具或工具更新的请求,简单的在下拉菜单选择N/A.如果提交问题,请提供相应的回答.

继续回到上面的例子,Chromium设计成无法用root启动,你可以从下拉菜单选择“总是”.

你提供了一个准确的反馈,这很重要,如果Kali开发者试图重现该问题,他们需要知道该问题的发生的频率.如果出问题的频率是偶尔,但你却标着总是,开发者可能会因为测试时没遇到问题而草率地关闭这个报告.

选择适当的资料

如上所述,为每一个报告的问题使用一个自定义的资料是最好的.如果没有创建自定义资料,从下拉菜单中选择相应的资料.在本指南发布时,下列选项是可用的.

  • armel Kali 1.0
  • armhf Kali 1.0
  • x64 Kali 1.0
  • x86 Kali 1.0

提供重现该问题的步骤

与描述部分相比这部分虽然看起来可能是多余的,但这部分只包含重现该问题采取的步骤.一些步骤可能只起辅助作用,但它们很重要务必尽力写.可能缺少的就是那个重现问题必需的步骤.

例子:
  1. Opened a terminal window by selecting Applications/Accessories/Terminal
  2. Typed ‘apt-get install chromium’ in the terminal and hit enter to run the command
  3. Attempted to run Chromium web browser by selecting Applications/Internet/Chromium Web Browser

提供更多信息

在这部分你可以提供与问题相关的更多的信息.如果你有修复问题的方法,请在这部分提供它.同样的,坚持事实和正确的写步骤很重要,以便开发者能重现.

例子:

There is a simple fix that is well documented on several forums. I tried it and it fixed the issue for me.

  • Using a text editor open /etc/chromium/default
  • Add –user-data-dir flag
  • i.e. CHROMIUM_FLAGS=”–user-data-dir”

Can this be patched within the repo version of Chromium so adding this flag is not required for future releases?

上传相关文件

有时提供不是很容易提供的信息给开发组很重要.报告的这部分允许你添加屏幕截图或者日志文件.注意文件的大小限制.

你可以点击”Choose FIle”按钮来添加一个文件.它会打开系统的文件管理器然后上传你选择的文件.选好文件之后点击”打开”按钮返回你的报告,然后点击”Upload File”按钮.

提交报告

至此,你已经准备好提交报告了.剩下的就是点击”Submit Report”按钮.你的报告会被提交然后分配到一个tracking ID(追踪ID).报告会在你的”My View”页面下的”Reported by Me”看见.你可以跟踪问题的解决.

摘要

问题报告的目的是帮助开发者用他们的双眼看到错误.你可以通过提供详细的说明让他们和你一起亲自看到错误.

详细描述一切,陈述采取了什么步骤,看到了什么,除了你期盼的结果外你做了什么.

尝试通过研究找到问题或解决办法.如果你可以为你的系统提供一个解决问题的方案,就可以给开发者提供同等级的问题报告.让开发者知道你到底做过什么很重要,以便让他们成功地重复过程.这不该成为你解决异常问题的绊脚石.

准确,清晰,简明扼要地写报告,以确保开发者不会误解你的意思.

开发者不会忽悠你,准备好额外的信息以便他们问起.

请对你的请求有耐心,开发者像你一样也想修复问题.我们热爱我们的工作并以继续让Kali成为有史以来最尖端的渗透测试发行版为骄傲.

这篇文章由如下的资源按需修改而成:

http://www.chiark.greenend.org.uk/~sgtatham/bugs.html – Fetched March 20,2013 https://help.ubuntu.com/community/ReportingBugs – Fetched March 20,2013 http://www.debian.org/Bugs/Reporting – Fetched March 20,2013