Openssl
Résolu/Fermé
solubac
Messages postés
7
Date d'inscription
vendredi 6 février 2015
Statut
Membre
Dernière intervention
11 février 2015
-
6 févr. 2015 à 18:07
solubac Messages postés 7 Date d'inscription vendredi 6 février 2015 Statut Membre Dernière intervention 11 février 2015 - 11 févr. 2015 à 16:34
solubac Messages postés 7 Date d'inscription vendredi 6 février 2015 Statut Membre Dernière intervention 11 février 2015 - 11 févr. 2015 à 16:34
A voir également:
- Openssl n'est pas reconnu en tant que commande interne
- 'Pip' n’est pas reconnu en tant que commande interne ✓ - Forum Python
- 'Ls' n’est pas reconnu en tant que commande interne - Forum Windows
- Cle usb non reconnu - Guide
- Pip ne s'installe pas ✓ - Forum Python
- Invite de commande - Guide
2 réponses
mamiemando
Messages postés
33363
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
16 novembre 2024
7 801
Modifié par mamiemando le 9/02/2015 à 18:54
Modifié par mamiemando le 9/02/2015 à 18:54
Bonjour,
Cause du problème (version courte) :
C'est sans doute que la commande openssl n'est pas installée sur ton système.
Cause du problème (version longue) :
Quand tu lances une commande shell, ce dernier recherche l'exécutable qui lui correspond. La manière dont ton shell "résout" une commande peut se voir avec la commande which (sous réserve que la commande en question ne soit ni un alias shell, ni une built-in shell (comme par exemple
Comment le shell a découvert qu'openssl était là ? Grâce à une variable d'environnement, appelée PATH, qui indique ou chercher des exécutables dont le chemin absolu n'est pas précisé (c'est-à-dire quand on lance
Exemple :
Comment tester rapidement si une commande est installée ou non ? (version courte)
Généralement on utilise la commande
Comment tester rapidement si une commande est installée ou non ? (version longue)
La commande
Exemple :
On voit ici que l'exécutable openssl est stockée dans /usr/bin, ce qui confirme bien le résultat que
Prenons un exemple :
On voit donc ici qu'il faudrait que "mando" lance
Comment résoudre le problème ? (version courte)
Il suffit d'installer openssl. Normalement un paquet permet de l'installer facilement. Souvent, un paquet porte le même nom que la commande qu'il met à disposition. On peut donc raisonnablement s'attendre à ce que le paquet à installer s'appelle
Comment résoudre le problème ? (version longue)
Nous allons voir comment retrouver le nom du paquet qui nous intéresse quand on ne connaît que le nom de la commande qui nous manque (ici openssl).
Ce qui suit est spécifique à debian et les distributions qui en dérivent (ubuntu, etc).
Sur une distribution debian, ou qui en dérive, on passera par apt (quitte à passer par une interface graphique qui pilote apt, telle que software-center sous ubuntu) :
http://doc.ubuntu-fr.org/software-center
Il faut au préalable déterminer le nom du paquet adéquat. En ligne de commande, l'outil ici le plus approprié sera
Faisons maintenant notre recherche. Traditionnellement un exécutable déployé via un paquet (comme ce sera le cas ici) s'installe dans
Quel que soit le répertoire dans lequel openssl sera déployé, on sait que son chemin absolu contiendra "bin/openssl". C'est donc ce qu'on va chercher avec apt-file :
On retrouve donc ici que le paquet s'appelle bien openssl. Il ne reste plus qu'à l'installer, lui aussi via apt-get :
Bonne chance
Cause du problème (version courte) :
C'est sans doute que la commande openssl n'est pas installée sur ton système.
Cause du problème (version longue) :
Quand tu lances une commande shell, ce dernier recherche l'exécutable qui lui correspond. La manière dont ton shell "résout" une commande peut se voir avec la commande which (sous réserve que la commande en question ne soit ni un alias shell, ni une built-in shell (comme par exemple
cd)). Dans notre cas !
(mando@velvet) (~) $ which openssl
/usr/bin/openssl
Comment le shell a découvert qu'openssl était là ? Grâce à une variable d'environnement, appelée PATH, qui indique ou chercher des exécutables dont le chemin absolu n'est pas précisé (c'est-à-dire quand on lance
opensslau lieu de
/usr/bin/openssl). Tu peux afficher le contenu de ton PATH avec la commande :
echo $PATH
Exemple :
(mando@velvet) (~) $ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
Comment tester rapidement si une commande est installée ou non ? (version courte)
Généralement on utilise la commande
whereis.
Comment tester rapidement si une commande est installée ou non ? (version longue)
La commande
whereisnotamment va examiner les répertoires traditionnellement énumérés dans le PATH. Si openssl a été installé proprement, on peut s'attendre à trouver l'exécutable correspondant dans l'un d'eux.
Exemple :
(mando@velvet) (~) $ whereis openssl
openssl: /usr/bin/openssl /usr/include/openssl /usr/share/man/man1/openssl.1ssl.gz
On voit ici que l'exécutable openssl est stockée dans /usr/bin, ce qui confirme bien le résultat que
whichnous avait retournée. L'avantage de
whereissur
which, c'est qu'il peut examiner des répertoires qui ne sont pas forcément dans ton PATH. Ainsi, which permet surtout de comprendre comment une commande est résolue.
Prenons un exemple :
ifconfigest traditionnellement stocké dans
/sbin. Sous debian, ce répertoire n'est pas dans le PATH d'un profil utilisateur.
(mando@velvet) (~) $ which ifconfig
(mando@velvet) (~) $ whereis ifconfig
ifconfig: /sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz
(mando@velvet) (~) $ ifconfig
bash: ifconfig : commande introuvable
On voit donc ici qu'il faudrait que "mando" lance
/sbin/ifconfig(ou corrige son PATH pour y ajouter
/sbin)
Comment résoudre le problème ? (version courte)
Il suffit d'installer openssl. Normalement un paquet permet de l'installer facilement. Souvent, un paquet porte le même nom que la commande qu'il met à disposition. On peut donc raisonnablement s'attendre à ce que le paquet à installer s'appelle
openssl.
Comment résoudre le problème ? (version longue)
Nous allons voir comment retrouver le nom du paquet qui nous intéresse quand on ne connaît que le nom de la commande qui nous manque (ici openssl).
Ce qui suit est spécifique à debian et les distributions qui en dérivent (ubuntu, etc).
Sur une distribution debian, ou qui en dérive, on passera par apt (quitte à passer par une interface graphique qui pilote apt, telle que software-center sous ubuntu) :
http://doc.ubuntu-fr.org/software-center
Il faut au préalable déterminer le nom du paquet adéquat. En ligne de commande, l'outil ici le plus approprié sera
apt-file, qu'il faudra au préalable installer via apt également. Une installation via apt se fait généralement via les commandes
aptitudeou
apt-get.
sudo apt-get update
sudo apt-get install apt-file
apt-file update
Faisons maintenant notre recherche. Traditionnellement un exécutable déployé via un paquet (comme ce sera le cas ici) s'installe dans
/bin,
/sbin,
/usr/binou
/usr/sbin, ce qui correspond aux chemins que l'on retrouve usuellement dans le PATH. (Notons les répertoires /usr/local/bin et /usr/local/sbin étant réservés aux installations manuelles).
Quel que soit le répertoire dans lequel openssl sera déployé, on sait que son chemin absolu contiendra "bin/openssl". C'est donc ce qu'on va chercher avec apt-file :
(mando@velvet) (~) $ apt-file search bin/openssl
openssl: /usr/bin/openssl
openssl-blacklist: /usr/bin/openssl-vulnkey
On retrouve donc ici que le paquet s'appelle bien openssl. Il ne reste plus qu'à l'installer, lui aussi via apt-get :
sudo apt-get install openssl
Bonne chance
9 févr. 2015 à 19:08
10 févr. 2015 à 09:34
10 févr. 2015 à 13:29
Bonne continuation à tous les deux
11 févr. 2015 à 16:34
Bonne continuation aussi.