Metasploit のインストールに失敗しました。Ruby 2.1 以上が必要ですが、2.2 を使用しています

Metasploit のインストールに失敗しました。Ruby 2.1 以上が必要ですが、2.2 を使用しています

私は文字通り2日間メタスプロイトをインストールしようとしていますが、ソフトウェアをインストールするだけでこんなに時間がかかるとは思いません。私はArch Linuxを使っていて、AURからメタスプロイト-gitをインストールしようとしています。Arch Linuxメタスプロイトガイドに従いました。これと同様に

を実行する必要があるところまでガイドに従いましたbundle install。いくつかの gem は正常にインストールされましたが、次のエラーで失敗しました。

Gem::InstallError: metasploit-concern requires Ruby version >= 2.1.
An error occurred while installing metasploit-concern (0.4.0), and Bundler cannot continue.
Make sure that `gem install metasploit-concern -v '0.4.0'` succeeds before bundling.

環境変数の一部を以下に示します。

MY_RUBY_HOME=/home/me/.rvm/rubies/ruby-1.9.3-p551

RUBY_VERSION=ruby-2.2.1

PATH=/home/me/.rvm/gems/ruby-1.9.3-p551/bin:/home/me/.rvm/gems/ruby-1.9.3-p551@global/bin:/home/me/.rvm/rubies/ruby-1.9.3-p551/bin:/home/me/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/me/.gem/ruby/2.2.0/bin:/home/me/.rvm/bin:/home/me/.rvm/bin
GEM_HOME=/home/me/.rvm/gems/ruby-2.2.1

いくつかの変数が ruby​​-1.9 になっているのがわかりますが、どうすればよいかわかりません。出力は次のようにruby --versionなります。

ruby 1.9.3p551 (2014-11-13 revision 48407) [x86_64-linux]

ruby 2.2.1 をインストールしていますが、なぜこれがバージョンとしてまだ表示されるのかわかりません。

問題は、

[[ -s "$HOME/.rvm/scripts/rvm" ]] && ソース "$HOME/.rvm/scripts/rvm"

/etc/profile 内の 1 つを除いてすべて削除してから実行すると、rvm use --default 2.2.1この問題は修正されました。

答え1

2日間の試行錯誤の末、解決策を見つけました。以下の手順に従ってください。まずはVMで試してみましょう. これは私にとってはうまくいきましたカリLinuxうまくいくことを願っています。先に進む前に、マシンを更新してください。

  1. git クローンhttps://github.com/rapid7/metasploit-framework"フォルダ名"
  2. Rubyを更新するには、次の手順に従ってください。 ruby-on-rails のインストール レールの取り付けまでのすべての手順に従います
  3. ./msfupdate - 継続する場合はエラーをチェックします
  4. これらをインストールします: apt-get install build-essential libreadline-dev libssl-dev libpq5 libpq-dev libreadline5 libsqlite3-dev libpcap-dev openjdk-7-jre git-core autoconf postgresql pgadmin3 curl zlib1g-dev libxml2-dev libxslt1-dev vncviewer libyaml-dev curl zlib1g-dev ruby​​-dev
  5. gem インストールバンドル
  6. バンドルインストール
  7. ./msfアップデート

次に、データベースに接続する必要があります。

  1. 実行されていない場合は postgresql サービスを開始します
  2. su - postgres
  3. createuser "ユーザー" -P -S -R -D
  4. createdb -O "ユーザー" msf
  5. 出口
  6. 現在gitクローンフォルダにアクセスしている場合はホームフォルダに戻る
  7. cd .msf4/
  8. ナノ -w データベース.yml

ファイルに次の行を追加します。production:
アダプタ: postgresql
データベース: msf
ユーザー名: "user"
パスワード: "password"
ホスト: 127.0.0.1
ポート: 5432
プール: 75
タイムアウト: 5


次にmsfフォルダ(git cloneフォルダ)に戻り、./msfconsole

この形式で申し訳ありません。これは私の最初の解決策です。github から metasploit をインストールするチュートリアルを提供してくれた hak5 と、ruby を更新するチュートリアルを提供してくれた amionrails に感謝します。これが機能するかどうか教えてください。

関連情報