Cela signifie que vous essayez d'exécuter un fichier binaire à l'aide de votre script bash qui n'est pas destiné à être exécuté comme vous essayez de le faire. Il s'agit déjà d'un fichier binaire et vous essayez que votre $SHELL l'analyse et l'exécute.
dans un exemple très simple, si vous essayez d'exécuter la commande `w' comme
$ bash w
/usr/bin/w: /usr/bin/w: ne peut pas exécuter le fichier binaire
de même, vous pourriez être confronté au même problème ou comme il apparaît dans votre extrait de code.
Cependant, pour le reste de vos commandes, toutes ces commandes halt, shutdown, reboot, etc. sont des commandes appartenant à la racine et nécessitent des privilèges de super-utilisateur pour s'exécuter et effectuer l'opération requise. les utilisateurs normaux ne peuvent pas les exécuter une autre explication est que ces commandes sont placées dans /sbin/ et /usr/sbin, qui pourraient ne pas être dans votre variable $PATH (qui est utilisée pour valider les commandes à votre disposition)
17 votes
Que avez-vous fait à cette machine?
1 votes
La toute dernière chose que j'ai faite a été d'installer logwatch. Rien d'autre.
0 votes
Pouvez-vous
export PATH=/bin:/usr/bin:/sbin:/usr/sbin
? La shell peut-elle trouver halt/poweroff/reboot ensuite ? (Notez, je vous conseillerais de ne pas éteindre le système à moins de savoir que vous pouvez le redémarrer, ou d'avoir accepté que vous pourriez devoir démarrer à partir d'un live-CD et tout réparer manuellement)0 votes
Qu'est-ce que signifie "export PATH=/bin:/usr/bin:/sbin:/usr/sbin" ?
3 votes
PATH
est une variable d'environnement qui contient une liste de dossiers dans lesquels l'interpréteur de commandes recherche des programmes. Par exemple,ls
fait généralement référence à/bin/ls
, et votre interpréteur le trouve en parcourant les dossiers listés dansPATH
un par un jusqu'à ce qu'il le trouve, ou s'il ne le trouve dans aucun d'entre eux, il abandonne. Je suppose qu'un meilleur point de départ serait, quelle est la sortie deecho $PATH
? (édition : la commandeexport
est une façon de définir une variable d'environnement dans bash.)0 votes
La raison pour laquelle je demande est qu'il y a quelques minutes, je n'ai même pas pu "éteindre" la machine. Après avoir fait "export PATH=/bin:/usr/bin:/sbin:/usr/sbin", il ne s'est rien passé. J'ai donc réessayé "éteindre", et étrangement la machine a pu s'éteindre.
0 votes
Actuellement, il est possible de le pinger mais pas de se connecter en SSH. Je suis simplement content d'avoir une sauvegarde de tout.
1 votes
Ah... Je t'ai prévenu de ne pas éteindre le système :P Peux-tu accéder à la console (moniteur physique + clavier attaché) ? Essaie de démarrer le système en mode utilisateur unique (peut être étiqueté comme mode de récupération) et vois si tu peux accéder à un shell root.
2 votes
@David vous ne verrez aucune sortie après avoir tapé
export PATH=/bin:/user/bin:/sbin:/usr/sbin
. C'est une commande silencieuse.