关于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”
这两个命令即可卸载当前系统中所有不必要的包
到此为止,本次升级问题顺利结束!
*欢迎大家留言提出意见和建议,本人也在初学阶段,肯定有些地方存在误读误解,欢迎大家指教,谢谢大家~~