给Kali提交问题
简介
这篇文档指导一个报告者如何提交一份最好的问题报告,以便问题能尽快的被修复.问题报告者的目的是让Kali Linux的开发者问题重现然后发现问题.如果Kali开发者发现了问题,他们会收集更多的信息直到找到问题的根本.否则,他们会要求提供更多的信息直到他们出现提交者遇到的问题.请记住,我们的开发团队使用英文,所以最好用英文提交.
Kali Linux诞生于对社区的回报.社区促使我们的项目得以更好的保持持续发展.在你写评论时请记住,为你提供支持的开发者都是无私奉献的志愿者.
想要解决问题,请明确以下的要点:
- 你是因为想要解决问题才提交的问题,所以请提供全面的信息.
- 弄清楚你提交的是事实还是假设.
- 保持问题报告的客观性,只陈述经过适当研究后的事实.
- 不要引用Wikipeida和其它非主要资源的结果作为报告.
- 一个BUG,不要以不同的报告,不同的人,不同的硬件多次提交.
- 不要把多个问题堆在一起报告,如果可以请分别提交.
- 不要发类似“Me too!” 或 “+1″这样的评论.
- 不要抱怨修复一个漏洞为何那么久.
如何报告问题
Kali Linux问题追踪系统在http://bugs.kali.org.这篇文档指导你如何创建帐号,如何创建系统资料,和如何提交一份详细的报告.
创建Kali Linux问题追踪系统帐户
如果你还没有创建帐户,应该先完成这一步.创建用户后你才可以提交问题报告或对已存在的问题进行评论.
在问题追踪系统页面,点击‘Signup for new account’开始创建.
输入用户名和email,然后输入验证码.点击signup按钮.
如果成功了,下一步会提示你帐户已经注册好.要激活帐户请回复官方的email确认邮件.点击”Proceed”继续到漏洞追踪系统登录页面.
在Kali Linux问题追踪系统创建一份资料
不是必须的,但是作为你的帐户的一部分,建议创建一份独特的资料.你可以为每个系统创建自定义的资料,或者从默认资料里选择.这些资料用于报告时定义你的平台,操作系统和版本信息.
创建或编辑自定义资料,从主页选择My Account然后选择Profiles.为你的系统添加具体的信息和描述,完成时点击”Add Profile”按钮.
资料添加好后,在你创建一个新的问题报告时会出现”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
提供重现该问题的步骤
与描述部分相比这部分虽然看起来可能是多余的,但这部分只包含重现该问题采取的步骤.一些步骤可能只起辅助作用,但它们很重要务必尽力写.可能缺少的就是那个重现问题必需的步骤.
例子:
- Opened a terminal window by selecting Applications/Accessories/Terminal
- Typed ‘apt-get install chromium’ in the terminal and hit enter to run the command
- 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