关于kali2.0rolling中metasploit升级后无法启动问题的解决总结

最近在学习metasploit的使用,文中提到可以使用msfupdate命令来对metasploit的payload、exploit等进行升级,我就试了一下,没想到升级过程并不麻烦,但升级后却出现了无法启动的问题:

缺少一个文件,提示可以使用“bundle install”命令来进行修补,我就试了一下,没想到新问题出现了:

安装bundle时有提示缺少不再gem或者bundle的文件夹中,网上搜了一下,原来是要进入到需要bundle的程序的根目录下。(我记得bundle不是跟Android有关么?这里是个什么鬼我不清楚,也请广大看到的网友能够留言告诉我,接受我的虚心请教)

因为我这里是metasploit需要,所以进到metasploit的目录中再执行这个命令

这次提示我gem程序缺少必要的库文件,我只知道这次metasploit更新使用了新的ruby语言来写了,他推荐了一条命令,我试了一下

还是报错,大概提示我没有权限去连接这个更新源,这个怎么办呢?

从网上搜了一下,从http://www.tuicool.com/articles/qeM7Nj2找到了解决办法,使用国内一个淘宝的源:依次执行一下命令

$ gem sources --remove https://rubygems.org/
$ gem sources -a https://ruby.taobao.org/
$ gem install rails
$ bundle config mirror.https://rubygems.org https://ruby.taobao.org
$ bundle install

好不容易看到更新开始了,玩了一会,以为已经结束了,回过头来一看,又出错了

一看这个提示和开始那个错误提示基本一样,都是缺少某个库文件,再搜,stackoverflow里提供了一个答案,见:

http://stackoverflow.com/questions/20754081/an-error-occurred-while-installing-pg-0-17-1-and-bundler-cannot-continue

我直接安装了整个gem包

发现还是不行

不甘心,从gem来安装bundler

问题依旧

看来非得找到这个具体缺的库才行:

原来是需要缺少这个库文件:libpq-dev

知道缺什么就好办了,去安装这个库文件

结果却报错了

通常是源的问题,这里我又选用了阿里和中科大的源,所以我使用的源如下,这里列出来,和遇到同样问题的朋友分享

deb http://http.kali.org/kali kali-rolling main non-free contrib
deb-src http://http.kali.org/kali kali-rolling main non-free contrib
#中科大kali源

deb http://mirrors.ustc.edu.cn/kali sana main non-free contrib

deb http://mirrors.ustc.edu.cn/kali-security/ sana/updates main contrib non-free

deb-src http://mirrors.ustc.edu.cn/kali-security/ sana/updates main contrib non-free

#阿里云kali源

deb http://mirrors.aliyun.com/kali sana main non-free contrib

deb http://mirrors.aliyun.com/kali-security/ sana/updates main contrib non-free

deb-src http://mirrors.aliyun.com/kali-security/ sana/updates main contrib non-free

使用--fix-missing选项更新缺少的包

再使用刚才的安装命令进行安装

这次这里就没有什么问题了,如愿安装了libpq-dev库

再次运行“bundle install”命令,同时也做好了再次出错的准备

果不其然,再次出现了找不到库文件的提示,看来这次更新大部分库文件使用了新版本的程序,网上搜了一下,依旧是stackoverflow给出了答案,见

http://stackoverflow.com/questions/17325216/instalation-of-nokogiri-1-5-9-in-bundle-install/17325258

缺少了两个库:libxslt-dev libxml2-dev

执行“apt-get install libxslt-dev libxml2-dev

等待安装完成,继续执行“bundle install”

结果还是不行

这就奇怪了,我继续在上面那个页面找,下面提出了还缺少另一个库:libpcap-dev

执行安装命令:

等待安装完成,继续执行“bundler install”

没错,还是缺少特定的库文件,还是上面的思路,还是在stackoverflow,找到了解决方法,见:

http://stackoverflow.com/questions/17787525/an-error-occurred-while-installing-sqlite3-1-3-7-and-bundler-cannot-continue

这次缺少库:libsqlite3-dev

安装之“apt-get install libsqlite3-dev

等待安装完成,继续“bundler install”

到此为止,终于顺利安装完成,赶紧来运行一下metasploit,终端中输入“msfconsole”

看到了久违的界面,到此安装完成。

不过这里我还有个习惯,我个人觉得挺好的,也推荐给大家,那就是安装完成后,记得清理掉不必要的包,刚才我们安装过程中,有好多命令都没有起到作用,所以肯定安装了很多额外的不必要的包,所以卸载这些包,在节省空间之余,也可以通过减少系统提供额外服务,在一定程度上保障系统安全。

Ubuntu和debian都提供了自动卸载包的手段:

执行“apt-get autoremove ”

执行“apt-get autoclean”

这两个命令即可卸载当前系统中所有不必要的包

到此为止,本次升级问题顺利结束!

*欢迎大家留言提出意见和建议,本人也在初学阶段,肯定有些地方存在误读误解,欢迎大家指教,谢谢大家~~

posted @ 2016-05-12 22:05  隐念笎  阅读(2477)  评论(0编辑  收藏  举报