Introduction
Lorsque vous travaillez avec des logiciels complexes sous Linux, en particulier des outils clonés à partir de dépôts comme GitHub, vous rencontrerez souvent des erreurs de type "dépendance manquante". Ces erreurs se produisent lorsque le logiciel nécessite l'installation d'autres programmes ou bibliothèques, mais qu'ils ne sont pas présents sur votre système.
Dans ce laboratoire, vous apprendrez une compétence fondamentale de dépannage : comment identifier et installer les dépendances manquantes pour un script. Nous utiliserons Fluxion, un outil d'audit de sécurité populaire, comme exemple. Vous exécuterez son installateur, observerez quels paquets sont manquants, les installerez manuellement à l'aide du gestionnaire de paquets apt-get, et enfin, lancerez l'application avec succès.
Exécuter le script d'installation 'fluxion.sh -i'
Dans cette étape, vous commencerez par exécuter le script d'installation de Fluxion. La plupart des scripts bien conçus incluent un installateur ou un vérificateur de dépendances pour aider les utilisateurs à configurer l'environnement requis. Le script Fluxion utilise l'indicateur -i pour s'exécuter en mode "installateur", qui vérifie spécifiquement les paquets requis.
Tout d'abord, naviguez dans le répertoire fluxion qui a été pré-cloné pour vous dans le répertoire ~/project.
cd ~/project/fluxion
Maintenant, exécutez le script d'installation. Comme il s'agit d'un script shell dans le répertoire courant, vous devrez le préfixer avec ./.
./fluxion.sh -i
Vous verrez une sortie qui vérifie divers outils. Portez une attention particulière aux lignes qui indiquent qu'un paquet est manquant.
Sortie attendue (peut varier légèrement) :
* 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)
Pour ce laboratoire, ne procédez pas à l'installation automatique. Appuyez sur n puis sur Entrée pour quitter l'invite de l'installateur du script. Nous installerons les paquets manuellement dans les étapes suivantes.
Observer la sortie de l'installateur pour les paquets manquants
Dans cette étape, votre tâche consiste à lire attentivement la sortie de la commande précédente. C'est la partie la plus critique du dépannage : comprendre les informations que le programme vous fournit.
Comme vous l'avez vu dans la sortie de ./fluxion.sh -i, le script fournit une liste claire et codée par couleur de ses dépendances et de leur statut.
[!] Some packages are not installed.
[!] The following packages are required:
-> lighttpd..................................[ Not installed ]
-> hostapd...................................[ Not installed ]
-> mdk4......................................[ Not installed ]
Les lignes marquées [ Not installed ] sont celles que nous devons corriger. Le script nous indique explicitement que lighttpd, hostapd et mdk4 sont requis mais ne sont pas trouvés sur le système. Pour ce laboratoire, nous nous concentrerons sur l'installation de mdk4 comme exemple du processus.
Il n'y a pas de commandes à exécuter dans cette étape. L'objectif est simplement de s'entraîner à lire et à interpréter les messages de diagnostic.
Installer manuellement un paquet manquant avec 'apt-get install'
Maintenant que vous avez identifié un paquet manquant, mdk4, vous allez utiliser le gestionnaire de paquets standard de Debian/Ubuntu, apt-get, pour l'installer. C'est un outil en ligne de commande courant pour gérer les logiciels.
Pour installer un paquet, vous utilisez la commande sudo apt-get install <nom-du-paquet>. Vous avez besoin de sudo car l'installation de logiciels modifie le système et nécessite des privilèges administratifs. Nous ajouterons également l'indicateur -y, qui répond automatiquement "oui" à toute invite de confirmation, rendant l'installation non interactive.
Exécutez la commande suivante dans votre terminal pour installer mdk4 :
sudo apt-get install -y mdk4
Le système va maintenant récupérer et installer le paquet mdk4 ainsi que ses propres dépendances.
Sortie attendue (tronquée) :
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) ...
Vous avez maintenant résolu avec succès l'une des dépendances manquantes.
Relancer l'installateur pour vérifier que toutes les dépendances sont satisfaites
Dans cette étape, vous allez relancer le script d'installation pour confirmer que votre correction a été réussie. C'est toujours une bonne pratique de vérifier vos modifications. Bien que nous n'ayons installé que mdk4, l'installateur Fluxion détectera et installera automatiquement les autres paquets requis manquants (lighttpd et hostapd) car nous le relançons.
Assurez-vous d'être toujours dans le répertoire ~/project/fluxion. Exécutez à nouveau la commande de l'installateur :
./fluxion.sh -i
Cette fois, le script vérifiera à nouveau les dépendances. Il constatera que mdk4 est maintenant installé. Il vous demandera toujours d'installer les paquets manquants restants. Cette fois, appuyez sur Y puis sur Entrée pour permettre au script d'installer automatiquement le reste.
Sortie attendue :
* 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.
Une fois l'installation terminée, le script confirmera que toutes les dépendances sont satisfaites. Cela confirme que votre processus de dépannage a été couronné de succès.
Lancer le script principal de Fluxion avec succès
Avec toutes les dépendances correctement installées, vous êtes maintenant prêt à lancer l'application principale de Fluxion. Lorsque vous exécutez le script sans aucun indicateur (flag), il démarre le programme principal au lieu de l'installateur.
Exécutez le script sans l'indicateur -i :
./fluxion.sh
Si toutes les dépendances ont été résolues correctement, vous ne verrez plus de messages d'erreur. Au lieu de cela, vous serez accueilli par le menu principal de sélection de langue de Fluxion.
Sortie attendue :
...
╔══════════════════════════════════════════════════════════════════════════════╗
║ 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:
Voir ce menu confirme que vous avez réussi à dépanner et à résoudre tous les problèmes de dépendances manquantes. Vous pouvez maintenant quitter le script en appuyant sur Ctrl+C.
Résumé
Dans ce laboratoire, vous avez pratiqué une compétence essentielle et courante pour tout utilisateur Linux : le dépannage des dépendances logicielles manquantes.
Vous avez réussi à :
- Exécuter l'installateur d'un script pour vérifier les paquets requis.
- Interpréter la sortie pour identifier les dépendances manquantes.
- Utiliser la commande
sudo apt-get installpour installer manuellement un paquet manquant. - Relancer l'installateur pour vérifier la correction et installer les dépendances restantes.
- Lancer l'application principale avec succès après avoir résolu tous les problèmes.
Ce processus de "lire l'erreur, identifier le problème, appliquer une correction et vérifier" est un flux de travail fondamental pour résoudre un large éventail de problèmes techniques sous Linux et au-delà.
