Metasploit-Installation schlägt fehl. Benötigt> = Ruby 2.1, aber ich habe 2.2

8047
user3408678

Ich habe buchstäblich schon seit zwei Tagen versucht, Metasploit zu installieren, und ich denke, das ist eine lächerliche Zeit, nur um etwas Software zu installieren. Ich habe Arch Linux und versuche, Metasploit-Git von AUR zu installieren. Ich habe den Arch-Linux-Metasploit-Guide ebenso befolgt .

Ich bin der Anleitung bis zu dem Punkt gefolgt, an dem ich laufen muss bundle install. Es installiert erfolgreich eine Handvoll Edelsteine, schlägt jedoch mit diesem Fehler fehl:

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. 

Hier sind einige Umgebungsvariablen:

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 

Ich sehe, dass einige der Variablen Ruby-1.9 sagen, aber ich bin nicht sicher, was ich dagegen tun soll. Die Ausgabe von ruby --versionist:

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

Ich habe Ruby 2.2.1 installiert, daher weiß ich nicht, warum dies immer noch als Version angezeigt wird.

Es stellt sich heraus, dass das Problem mehrere Instanzen hatte

[[-s "$ HOME / .rvm / scripts / rvm"]] && source "$ HOME / .rvm / scripts / rvm"

Wenn Sie alle außer einem in / etc / profile entfernen und anschließend rvm use --default 2.2.1ausführen, wurde dieses Problem behoben.

1
Wenn Sie RVM verwenden, sollte Ruby 2.2.1 sein. Aber ist es die richtige Version? Was ist die Ausgabe von "Ruby-Version"? Vielleicht sollten Sie auch für RVM 2.2.1 als Ihre standardmäßige Ruby-Version sperren, indem Sie den folgenden Befehl ausführen: `rvm --default use 2.2.1`. Ich würde auch vorschlagen zu versuchen, einfach 'MY_RUBY_HOME' und `PATH 'auszukommentieren. Ich habe ehrlich gesagt keine Ahnung, warum irgendetwas davon dort stehen würde, aber es scheint ein Durcheinander zu sein. JakeGould vor 9 Jahren 0
Ich hasse es zu fragen, aber was meinst du damit, sie zu kommentieren? Ich weiß nicht, warum PATH in `printenv` darauf eingestellt ist, weil mein / etc / -Profil nicht denselben PATH enthält, den printenv zeigt. Außerdem habe ich in meinem Beitrag Ruby -version-Ausgabe hinzugefügt. user3408678 vor 9 Jahren 0
Schauen Sie sich die Dateien `~ / .bash_profile` oder` ~ / .profile` in Ihrem Home-Verzeichnis an und sehen Sie, wo die Pfade `PATH` und` MY_RUBY_HOME` eingestellt werden. Kommentieren Sie dann diese Zeilen aus, indem Sie vor diesen Zeilen ein "#" setzen. Melden Sie sich dann ab und wieder an und sehen Sie, was "Ruby - Version" ist. So wie es aussieht, scheint dies alles sehr verwirrend für Ihre Einrichtung zu sein, was bedeutet, dass nur wenige Menschen Ihnen helfen können, das hier aufzuräumen. Sie müssen Dinge enträtseln, um zu einem gesunden / stabilen Punkt zu gelangen. JakeGould vor 9 Jahren 0
In keiner Datei wird eine MY_RUBY_HOME-Variable gesetzt. In jedem Fall habe ich in / etc / profile "unset MY_RUBY_HOME" hinzugefügt. Meine PATH-Variable wird jedoch nur in / etc / profile festgelegt und verfügt nur über nicht alle rvm-Pfade. Diese scheinen woanders eingestellt zu werden. user3408678 vor 9 Jahren 0
"In jedem Fall habe ich in / etc / profile" unset MY_RUBY_HOME "hinzugefügt." Dadurch, dass Sie das tun, was Sie tun, entsteht ein schlechtes Setup. Sie scheinen wirklich über Ihrem Kopf zu sein und fügen einfach Änderungen und Anpassungen mit wenig oder gar keinem Nachdenken hinzu. Deshalb bist du überhaupt in diesem Schlamassel und warum, wenn du das noch machst, machst du Probleme nur noch schlimmer. Sie sollten Ihr Setup wirklich bereinigen, um ein Quadrat zu bilden, und dann vorsichtiger und vorsichtiger wieder vorrücken. Ich bezweifle, dass jemand anderes Ihnen helfen kann, dieses Chaos an diesem Punkt zu lösen. Ich weiß ich kann nicht. JakeGould vor 9 Jahren 0
Sie haben recht, das tut mir leid. Egal, ich habe es gerade mit Ihrem Ratschlag gelöst. Vielen Dank. user3408678 vor 9 Jahren 0

1 Antwort auf die Frage

2
Adithya

Nach 2 Tagen Versuch und Irrtum habe ich eine Lösung gefunden. Befolgen Sie die nachstehenden Schritte, aber probieren Sie es zuerst auf einer virtuellen Maschine . Dies hat für mich auf Kali Linux funktioniert, ich hoffe es funktioniert für Sie. Bevor Sie fortfahren, aktualisieren Sie Ihren Computer.

  1. git clone https://github.com/rapid7/metasploit-framework "Ordnername"
  2. Befolgen Sie diese Schritte zum Aktualisieren von ruby https://amionrails.wordpress.com/2014/02/10/install-rvm-ruby-on-rails-and-ruby-on-kali-linux/. Folgen Sie allen Schritten bis zur Installation der Schienen
  3. ./msfupdate - Überprüfen Sie, ob ein Fehler auftritt
  4. Installieren Sie diese: 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 libxml1 -dev curl zlib1g-dev ruby-dev
  5. gem install Bundle
  6. Bundle installieren
  7. ./msfupdate

Als Nächstes müssen Sie die Datenbank verbinden.

  1. Starten Sie den Postgresql-Dienst, falls er nicht läuft
  2. su - postgres
  3. createuser "Benutzer" -P -S -R -D
  4. createdb -O "user" msf
  5. Ausfahrt
  6. kehren Sie zum Ausgangsordner zurück, wenn Sie aktuell auf den git clone-Ordner zugreifen
  7. cd .msf4 /
  8. nano -w database.yml

Fügen Sie diese Zeilen der Datei hinzu. Produktion:
Adapter: Postgresql
Datenbank: msf
Benutzername: "Benutzer"
Kennwort: "Kennwort"
Host: 127.0.0.1
Port: 5432
Pool: 75
Timeout: 5


Kehren Sie dann zum msf-Ordner (git clone-Ordner) zurück und führen Sie das Programm aus ./msfconsole

Entschuldigung für dieses Format, es ist meine erste Lösung und ich danke hak5 für das Tutorial zur Installation von Metasploit von Github und Amionrails für das Tutorial zum Aktualisieren von Ruby. lass es mich wissen, wenn das funktioniert.