roid123's diary

技術系のメモ中心です

BackTrack5 R3でlibrexが破損している問題について

先日DEFCON 2013 CTF qualsに参加した関係で,BackTrack5 R3を導入した.

インストールは特に問題なく終わり,apt-getでgdbをインストールしようとしたところ,

Bundler::GemspecError: Could not read gem at /var/lib/gems/1.9.2/cache/librex-0.0.68.gem. It may be corrupted.                                                  
An error occurred while installing librex (0.0.68), and Bundler cannot continue.
Make sure that `gem install librex -v '0.0.68'` succeeds before bundling.       
dpkg: error processing beef (--configure):
 subprocess installed post-installation script returned error exit status 5
Setting up se-toolkit (4.2.1-bt0) ...
svn: OPTIONS of 'http://svn.trustedsec.com/social_engineering_toolkit': could not connect to server (http://svn.trustedsec.com)
dpkg: error processing se-toolkit (--configure):
 subprocess installed post-installation script returned error exit status 1
Setting up gdb (7.1-1ubuntu2) ...

Processing triggers for menu ...
Errors were encountered while processing:
 beef
 se-toolkit
E: Sub-process /usr/bin/dpkg returned an error code (1)

というようなエラーが発生し,インストールすることができない.
また, "apt-get update && apt-get upgrade" でアップデートすることもできない.
サジェスト通りに "gem install librex -v '0.0.68'" を実行してみたがこれも上手く行かない.

これでは困ってしまうので色々調べてみたところ,librexをインストールし直せば解決することが分かった.

http://rubygems.org/gems/librex
からlibrex 0.0.68をダウンロードし,ダウンロードしたディレクトリに移動して

gem install --local librex-0.0.68.gem

とすればよい.

SystemStackErrorと出てしまうが,その前に "Successfully installed librex-0.0.68" と表示されていればOK.
"--local" オプションをつけずに "gem install librex" とすると,インストールが上手く行かないので気をつけること.