J'ai configuré une machine virtuelle à l'aide de linux Redmine, clé en main, et j'essaie d'utiliser SSH sur le serveur pour installer d'autres éléments.
Il ne semble pas reconnaître la commande sudo. Chaque fois que j'essaie de faire quelque chose, je reçois une erreur en disant:
-bash: sudo: command not found
J'ai lu ailleurs pour taper 'whereis sudo' et le résultat était:
sudo:
Peut-être qu'il n'est pas installé? Ouvrez votre gestionnaire de paquets et installez le paquet sudo .
la source
Commencez par vous connecter à votre compte root. ensuite
Ajouter votre utilisateur existant au groupe
sudo
Vous devriez alors vous connecter en tant que
<user>
, et lasudo
commande devrait être là.la source
essayez d'utiliser le chemin complet
si cette commande marche, incluez / usr / bin / dans votre variable env PATH dans ~ / .bashrc
j'espère que ça fonctionne ..
la source
/usr/bin
va presque certainement être dans votre chemin par défaut. Le problème, comme indiqué par d'autres réponses et commentaires, est que lasudo
commande n'était pas installée du tout.L'erreur se produit car le binaire que vous essayez d'appeler à partir de la ligne de commande ne constitue qu'une partie de la variable PATH de l'utilisateur actuel, mais pas une partie de PATH de l'utilisateur root.
Vous pouvez le vérifier en localisant le chemin du fichier binaire auquel vous tentez d'accéder. Dans mon cas, j'essayais d'appeler "bettercap-ng". Alors j'ai couru,
$ which bettercap-ng
output: /home/user/work/bin/bettercap
J'ai vérifié si cet emplacement faisait partie de PATH de mon utilisateur root.
$ sudo env | grep ^PATH
sortie:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
Donc, sudo ne peut pas trouver le binaire que j'essaie d'appeler depuis la ligne de commande. Par conséquent, renvoie la commande d'erreur non trouvée.
Vous pouvez demander à sudo d'utiliser le PATH de l'utilisateur actuel pour appeler un binaire comme ci-dessous.
$ sudo -E env "PATH=$PATH" [command] [arguments]
En fait, on peut en faire un alias:
$ alias mysudo='sudo -E env "PATH=$PATH"'
Il est également possible de nommer l'alias lui-même sudo, en remplacement du sudo d'origine.
S'il vous plaît se référer à cette vidéo pour la solution étape par étape
la source