🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 给Kali提交问题 ## 简介 这篇文档指导一个报告者如何提交一份最好的问题报告,以便问题能尽快的被修复.问题报告者的目的是让Kali Linux的开发者问题重现然后发现问题.如果Kali开发者发现了问题,他们会收集更多的信息直到找到问题的根本.否则,他们会要求提供更多的信息直到他们出现提交者遇到的问题.请记住,我们的开发团队使用英文,所以最好用**英文**提交. Kali Linux诞生于对社区的回报.社区促使我们的项目得以更好的保持持续发展.在你写评论时请记住,为你提供支持的开发者都是无私奉献的志愿者. 想要解决问题,请明确以下的要点: * 你是因为想要解决问题才提交的问题,所以请提供全面的信息. * 弄清楚你提交的是事实还是假设. * 保持问题报告的客观性,只陈述经过适当研究后的事实. * 不要引用Wikipeida和其它非主要资源的结果作为报告. * 一个BUG,不要以不同的报告,不同的人,不同的硬件多次提交. * 不要把多个问题堆在一起报告,如果可以请分别提交. * 不要发类似“Me too!” 或 “+1″这样的评论. * 不要抱怨修复一个漏洞为何那么久. ## 如何报告问题 Kali Linux问题追踪系统在[http://bugs.kali.org](http://bugs.kali.org).这篇文档指导你如何创建帐号,如何创建系统资料,和如何提交一份详细的报告. #### 创建Kali Linux问题追踪系统帐户 如果你还没有创建帐户,应该先完成这一步.创建用户后你才可以提交问题报告或对已存在的问题进行评论. 在问题追踪系统页面,点击‘Signup for new account’开始创建. [![Kali Bug Tracker Signup](https://box.kancloud.cn/2016-01-03_568899ae48f99.png)](img/kali-bugtacker-signup-1.png) 输入用户名和email,然后输入验证码.点击signup按钮. [![kali-bugtacker-signup-2](https://box.kancloud.cn/2016-01-03_568899ae69fe9.png)](img/kali-bugtacker-signup-2.png) 如果成功了,下一步会提示你帐户已经注册好.要激活帐户请回复官方的email确认邮件.点击”Proceed”继续到漏洞追踪系统登录页面. [![kali-bugtacker-signup-3](https://box.kancloud.cn/2016-01-03_568899ae896a2.png)](img/kali-bugtacker-signup-3.png) #### 在Kali Linux问题追踪系统创建一份资料 不是必须的,但是作为你的帐户的一部分,建议创建一份独特的资料.你可以为每个系统创建自定义的资料,或者从默认资料里选择.这些资料用于报告时定义你的平台,操作系统和版本信息. 创建或编辑自定义资料,从主页选择My Account然后选择Profiles.为你的系统添加具体的信息和描述,完成时点击”Add Profile”按钮. [![kali-bugtracker-profile-1](https://box.kancloud.cn/2016-01-03_568899aea48bb.png)](img/kali-bugtracker-profile-1.png) 资料添加好后,在你创建一个新的问题报告时会出现”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](http://docs.kali.org) , [https://forums.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 <pkg-chromium-maint@lists.alioth.debian.org> 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](http://www.chiark.greenend.org.uk/~sgtatham/bugs.html "How to Report Bugs Effectively") – Fetched March 20,2013 [https://help.ubuntu.com/community/ReportingBugs](https://help.ubuntu.com/community/ReportingBugs "ReportingBugs") – Fetched March 20,2013 [http://www.debian.org/Bugs/Reporting](http://www.debian.org/Bugs/Reporting "How to report a bug in Debian using reportbug") – Fetched March 20,2013