Bonjour,
je suis un peu agacé car maintenant , à l’installation de DEBIAN il n’y a plus les creation de PATH vers les commandes : / sbin , / local/sbin etc, A chaque install si on veut utiliser le treminal on est pratiquement obligé de créer ses variables. Exemple si on utilise update-grub
on est obligé de le modifier pour qu’il trouve grub-mkconfig
Je ne sais pas si c’est voulu pour un problème de sécurité mais comme je reconditionne pas mal de PC avec Debian cela me faciliterai la tâche
Pour quel utilisateur parles-tu ? Parce que moi j’ai ceci (par défaut) :
# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# whereis grub-mkconfig
grub-mkconfig: /usr/sbin/grub-mkconfig /usr/share/man/man8/grub-mkconfig.8.gz
pour utilisateur : root
$PATH sur mon ordi ou je viens d’installer DEBIAN 12
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
#!/bin/sh
set -e
exec grub-mkconfig -o /boot/grub/grub.cfg « $@ »
modif en
exec **/sbin/grub-mkconfig** -o /boot/grub/grub.cfg "
Ce n’est certainement pas le PATH de root mais bien celui de ton user. Quelles commandes tapes-tu pour prétendre afficher le path de root ?
Dans le path user, il n’y a pas /sbin de base. D’où l’intérêt dans les script de spécifier les chemin d’accès. Ne serait-ce que pour garantir la portabilité.
Sinon dans ton script pourquoi le exec? Ici il n’apporte rien, non ?
je passe les commandes en root
le script n’est pas de moi mais de Debian , commande update-grub
La question (non répondue) est comment ? Je suppose que vous utilisez su
pour vous connecter en tant que root. su
utilise toujours l’environnement du chemin de l’utilisateur, mais su -
bascule dans l’environnement de root. CQFD.
En fait tu n’étais pas environnement root, tu as fait un su
au lieu d’un su -
.
D’où le fait qu’il ne trouve pas la commande.
update-grub se fait en root, dans l’environnement root.
ok je ferais su - à l’avenir