Fehlende Abhängigkeiten für Fluxion beheben

Beginner
Jetzt üben

Einleitung

Wenn Sie mit komplexer Software unter Linux arbeiten, insbesondere mit Tools, die aus Repositories wie GitHub geklont wurden, stoßen Sie häufig auf Fehler wie "fehlende Abhängigkeit" (missing dependency). Diese Fehler treten auf, wenn die Software andere Programme oder Bibliotheken benötigt, die jedoch nicht auf Ihrem System installiert sind.

In diesem Lab lernen Sie eine grundlegende Fähigkeit zur Fehlerbehebung: wie Sie fehlende Abhängigkeiten für ein Skript identifizieren und installieren. Wir verwenden Fluxion, ein beliebtes Tool für Sicherheitsaudits, als Beispiel. Sie werden dessen Installer ausführen, beobachten, welche Pakete fehlen, diese manuell mit dem Paketmanager apt-get installieren und schließlich die Anwendung erfolgreich starten.

Ausführen des 'fluxion.sh -i' Installer-Skripts

In diesem Schritt beginnen Sie mit der Ausführung des Fluxion-Installer-Skripts. Die meisten gut konzipierten Skripte enthalten einen Installer oder eine Abhängigkeitsprüfung, um Benutzer bei der Einrichtung der erforderlichen Umgebung zu unterstützen. Das Fluxion-Skript verwendet das Flag -i, um im "Installer"-Modus ausgeführt zu werden, der speziell nach erforderlichen Paketen sucht.

Navigieren Sie zunächst in das fluxion-Verzeichnis, das für Sie im Verzeichnis ~/project vorab geklont wurde.

cd ~/project/fluxion

Führen Sie nun das Installer-Skript aus. Da es sich um ein Shell-Skript im aktuellen Verzeichnis handelt, müssen Sie ihm ./ voranstellen.

./fluxion.sh -i

Sie sehen eine Ausgabe, die verschiedene Tools überprüft. Achten Sie besonders auf die Zeilen, die anzeigen, dass ein Paket fehlt.

Erwartete Ausgabe (kann leicht variieren):

 * Installer
[*] Checking for dependencies...
 [!] Some packages are not installed.
 [!] The following packages are required:
    -> lighttpd..................................[ Not installed ]
    -> hostapd...................................[ Not installed ]
    -> mdk4......................................[ Not installed ]
    -> aircrack-ng...............................[ OK ]
    -> xterm.....................................[ OK ]
    ...
 [!] The following packages are recommended:
    -> pyrit.....................................[ Not installed ]
    -> bully.....................................[ Not installed ]
 [?] Do you want to install the required packages? (Y/n)

Für dieses Lab fahren Sie nicht mit der automatischen Installation fort. Drücken Sie n und dann Enter, um die Installer-Aufforderung des Skripts zu beenden. Wir werden die Pakete in den nächsten Schritten manuell installieren.

Beobachten der Installer-Ausgabe auf fehlende Pakete

In diesem Schritt besteht Ihre Aufgabe darin, die Ausgabe des vorherigen Befehls sorgfältig zu lesen. Dies ist der wichtigste Teil der Fehlerbehebung: das Verständnis der Informationen, die das Programm Ihnen liefert.

Wie Sie in der Ausgabe von ./fluxion.sh -i gesehen haben, liefert das Skript eine klare, farbcodierte Liste seiner Abhängigkeiten und deren Status.

 [!] Some packages are not installed.
 [!] The following packages are required:
    -> lighttpd..................................[ Not installed ]
    -> hostapd...................................[ Not installed ]
    -> mdk4......................................[ Not installed ]

Die Zeilen, die mit [ Not installed ] gekennzeichnet sind, sind diejenigen, die wir beheben müssen. Das Skript teilt uns ausdrücklich mit, dass lighttpd, hostapd und mdk4 erforderlich sind, aber auf dem System nicht gefunden wurden. Für dieses Lab konzentrieren wir uns beispielhaft auf die Installation von mdk4.

In diesem Schritt müssen keine Befehle ausgeführt werden. Das Ziel ist lediglich, das Lesen und Interpretieren von Diagnosemeldungen zu üben.

Manuelles Installieren eines fehlenden Pakets mit 'apt-get install'

Nachdem Sie ein fehlendes Paket, mdk4, identifiziert haben, verwenden Sie den Standard-Paketmanager von Debian/Ubuntu, apt-get, um es zu installieren. Dies ist ein gängiges Befehlszeilenwerkzeug zur Verwaltung von Software.

Um ein Paket zu installieren, verwenden Sie den Befehl sudo apt-get install <paketname>. Sie benötigen sudo, da die Installation von Software das System verändert und administrative Berechtigungen erfordert. Wir fügen auch das Flag -y hinzu, das automatisch mit "ja" auf alle Bestätigungsaufforderungen antwortet und die Installation nicht-interaktiv macht.

Führen Sie den folgenden Befehl in Ihrem Terminal aus, um mdk4 zu installieren:

sudo apt-get install -y mdk4

Das System wird nun das Paket mdk4 und alle seine eigenen Abhängigkeiten abrufen und installieren.

Erwartete Ausgabe (gekürzt):

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  mdk4
0 upgraded, 1 newly installed, 0 to remove and XX not upgraded.
Need to get 63.4 kB of archives.
After this operation, 205 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu jammy/universe amd64 mdk4 amd64 4.2-1 [63.4 kB]
Fetched 63.4 kB in 1s (118 kB/s)
Selecting previously unselected package mdk4.
(Reading database ... 123456 files and directories currently installed.)
Preparing to unpack .../mdk4_4.2-1_amd64.deb ...
Unpacking mdk4 (4.2-1) ...
Setting up mdk4 (4.2-1) ...
Processing triggers for man-db (2.10.2-1) ...

Sie haben nun erfolgreich eine der fehlenden Abhängigkeiten behoben.

Erneutes Ausführen des Installers zur Überprüfung, ob alle Abhängigkeiten erfüllt sind

In diesem Schritt führen Sie das Installer-Skript erneut aus, um zu bestätigen, dass Ihre Korrektur erfolgreich war. Es ist immer eine gute Praxis, Ihre Änderungen zu überprüfen. Obwohl wir nur mdk4 installiert haben, wird der Fluxion-Installer nun automatisch die anderen fehlenden erforderlichen Pakete (lighttpd und hostapd) erkennen und installieren, da wir ihn erneut ausführen.

Stellen Sie sicher, dass Sie sich immer noch im Verzeichnis ~/project/fluxion befinden. Führen Sie den Installer-Befehl erneut aus:

./fluxion.sh -i

Dieses Mal prüft das Skript die Abhängigkeiten erneut. Es wird feststellen, dass mdk4 nun installiert ist. Es wird Sie weiterhin auffordern, die verbleibenden fehlenden Pakete zu installieren. Drücken Sie dieses Mal Y und dann Enter, damit das Skript den Rest automatisch installieren kann.

Erwartete Ausgabe:

 * Installer
[*] Checking for dependencies...
 [!] Some packages are not installed.
 [!] The following packages are required:
    -> lighttpd..................................[ Not installed ]
    -> hostapd...................................[ Not installed ]
    -> mdk4......................................[ OK ]
    ...
 [?] Do you want to install the required packages? (Y/n) Y
[*] Installing required packages...
... (apt-get installation output) ...
[*] All dependencies are installed.

Nach Abschluss der Installation bestätigt das Skript, dass alle Abhängigkeiten erfüllt sind. Dies bestätigt, dass Ihr Fehlerbehebungsprozess erfolgreich war.

Starten des Haupt-Fluxion-Skripts erfolgreich

Nachdem alle Abhängigkeiten korrekt installiert wurden, können Sie nun die Hauptanwendung Fluxion starten. Wenn Sie das Skript ohne Flags ausführen, startet es das Hauptprogramm anstelle des Installers.

Führen Sie das Skript ohne das Flag -i aus:

./fluxion.sh

Wenn alle Abhängigkeiten korrekt aufgelöst wurden, sehen Sie keine Fehlermeldungen mehr. Stattdessen werden Sie vom Hauptmenü zur Sprachauswahl von Fluxion begrüßt.

Erwartete Ausgabe:

 ...
    ╔══════════════════════════════════════════════════════════════════════════════╗
    ║                    Choose your language. / Elige tu idioma.                  ║
    ╠══════════════════════════════════════════════════════════════════════════════╣
    ║   1. English  (en)          5. Português (pt)          9. Türkçe    (tr)     ║
    ║   2. Español  (es)          6. Français  (fr)         10. Ελληνικά  (gr)     ║
    ║   3. Italiano (it)          7. Deutsch   (de)         11. Polski    (pl)     ║
    ║   4. Русский  (ru)          8. Magyar    (hu)         12. Nederlands(nl)     ║
    ╚══════════════════════════════════════════════════════════════════════════════╝
 > Select an option:

Das Erscheinen dieses Menüs bestätigt, dass Sie alle fehlenden Abhängigkeitsprobleme erfolgreich behoben haben. Sie können das Skript nun durch Drücken von Strg+C beenden.

Zusammenfassung

In diesem Lab haben Sie eine kritische und für jeden Linux-Benutzer übliche Fähigkeit geübt: die Fehlerbehebung bei fehlenden Softwareabhängigkeiten.

Sie haben erfolgreich:

  • Den Installer eines Skripts ausgeführt, um nach erforderlichen Paketen zu suchen.
  • Die Ausgabe interpretiert, um fehlende Abhängigkeiten zu identifizieren.
  • Den Befehl sudo apt-get install verwendet, um ein fehlendes Paket manuell zu installieren.
  • Den Installer erneut ausgeführt, um die Korrektur zu überprüfen und verbleibende Abhängigkeiten zu installieren.
  • Die Hauptanwendung nach Behebung aller Probleme erfolgreich gestartet.

Dieser Prozess des "Fehlermeldung lesen, Problem identifizieren, Korrektur anwenden und verifizieren" ist ein grundlegender Arbeitsablauf zur Lösung einer Vielzahl technischer Probleme unter Linux und darüber hinaus.