web-dev-qa-db-ja.com

Metasploitのインストールが失敗します。 > = Ruby 2.1が必要ですが、2.2があります

私は文字通り2日間metasploitをインストールしようとしていますが、ソフトウェアをインストールするだけでもばかげた時間だと思います。 Arch Linuxを使用していて、AURからmetasploit-gitをインストールしようとしています。 Arch Linux metasploitガイド およびこれ に従いました。

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
user3408678

2日間の試行錯誤の末、解決策を見つけました。以下の手順に従ってくださいが、最初にvmで試してください。これはKali linuxでうまくいきました。先に進む前に、マシンを更新してください。

  1. git clone https://github.com/rapid7/metasploit-framework "folder_name"
  2. 次の手順に従って更新しますRuby https://amionrails.wordpress.com/2014/02/10/install-rvm-Ruby-on-Rails-and-Ruby-on -kali-linux / 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. ./msfupdate

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

  1. 実行されていない場合はpostgresqlサービスを開始します
  2. su-postgres
  3. createuser "user" -P -S -R -D
  4. createdb -O "user" msf
  5. 出口
  6. 現在gitcloneフォルダーにアクセスしている場合は、ホームフォルダーに戻ります
  7. cd .msf4 /
  8. nano -w database.yml

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


次に、msfフォルダー(git cloneフォルダー)に戻り、./msfconsoleを実行します。

この形式についてお詫びします。これが私の最初の解決策であり、githubからのmetasploitのインストールに関するチュートリアルのhak5と、Rubyの更新に関するチュートリアルのamionrailsに感謝します。これが機能するかどうか教えてください。

2
Adithya