Jai configuré une machine virtuelle à laide de linux redmine clé en main et jessaye de SSH sur le serveur pour installer dautres éléments.
Il ne semble pas reconnaître la commande sudo. Chaque fois que jessaye de sudo quelque chose, jobtiens une erreur disant:
-bash: sudo: command not found
Jai lu ailleurs pour taper « whereis sudo » et le résultat était:
sudo:
Réponse
Il regarde de http://www.turnkeylinux.org/redmine comme Redmine, contrairement à Ubuntu, nutilise pas sudo par défaut. Quel nom dutilisateur utilisez-vous pour SSH? Si cest « s root
, vous navez pas besoin dutiliser sudo
, car tout ce que vous faites lorsque vous vous connectez au système Redmine est fait comme root
. Sil sagit de quelque chose dautre, comme admin
, vous pouvez essayer dutiliser la commande su
pour obtenir un root
shell dans lequel exécuter des commandes comme root
.
Commentaires
Réponse
Peut-être nest-il pas installé? Ouvrez votre gestionnaire de packages et installez le package sudo .
Commentaires
- Il na pas été ' installé! Merci. Je ' suis assez nouveau sous Linux et je suppose que cest sur toutes les installations. Ai-je juste besoin du package sudo ou sudo-ldap?
- Vous navez ' pas besoin du package sudo-ldap. Sudo fonctionne bien sur mon ordinateur et je nai ' pas installé sudo-ldap.
Réponse
Première connexion à votre compte root. Puis
$ apt-get install sudo
Ajoutez votre utilisateur existant au groupe sudo
$ sudo adduser <user> sudo
Vous devez alors vous connecter en tant que <user>
, et la commande sudo
doit être là.
Réponse
essayez dutiliser le chemin complet
/usr/bin/sudo
si cette commande fonctionne, incluez / usr / bin / dans votre variable denvironnement PATH dans ~ / .bashrc
echo "export PATH="$PATH:/usr/bin"" >> ~/.bashrc
si tout va bien ..
Commentaires
- Que ' est très peu susceptible dêtre le problème;
/usr/bin
sera presque certainement dans votre chemin par défaut. Le problème, comme indiqué par dautres réponses et commentaires, est que la commandesudo
na pas été ' installée du tout.
Réponse
Lerreur se produit parce que le binaire que vous essayez dappeler à partir de la ligne de commande nest quune partie du PATH de lutilisateur actuel variable, mais ne fait pas partie du PATH de lutilisateur root.
Vous pouvez le vérifier en localisant le chemin du binaire auquel vous essayez daccéder. Dans mon cas, jessayais dappeler « bettercap-ng ». Jai donc couru,
$ which bettercap-ng
output: /home/user/work/bin/bettercap
I vérifié si cet emplacement fait partie du PATH de mon utilisateur root.
$ sudo env | grep ^PATH
résultat: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
Donc sudo ne peut pas trouver le binaire que jessaie dappeler à partir de la ligne de commande. Par conséquent, renvoie la commande derreur introuvable.
Vous pouvez diriger sudo pour utiliser lutilisateur actuel « s PATH lors de lappel dun 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 lalias lui-même sudo, en remplaçant le sudo dorigine.
Veuillez vous référer à cette vidéo pour une solution étape par étape
sudo
est une meilleure option