J'essayais d'installer bsd-mailx
utilitaire le paquet a été installé mais je me pose des questions sur l'erreur.
Voici l'erreur que j'obtiens:
Preconfiguring packages ...
dpkg: warning: 'ldconfig' not found in PATH or not executable.
dpkg: warning: 'start-stop-daemon' not found in PATH or not executable.
dpkg: error: 2 expected programs not found in PATH or not executable.
Note: root's PATH should usually contain /usr/local/sbin, /usr/sbin and /sbin.
E: Sub-process /usr/bin/dpkg returned an error code (2)
Tout d'abord, les lignes qui vous intéressent vraiment sont:
dpkg: warning: 'ldconfig' not found in PATH or not executable.
dpkg: warning: 'start-stop-daemon' not found in PATH or not executable.
Ces erreurs ont été signalées à plusieurs reprises par les utilisateurs de Debian et Ubuntu (vous pouvez en fait les rechercher sur Google pour plus d'informations). Il semble que la variable PATH
ne soit pas correctement définie lorsque l'utilisateur essaie d'exécuter une commande via Sudo
, ce qui est probablement ce que vous essayez de faire.
Sudo
Ouvert /etc/sudoers
en exécutant visudo
dans votre terminal et assurez-vous que le fichier comprend la ligne suivante:
Defaults env_reset
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Plus d'informations sur ce problème peuvent être trouvées ici (Problèmes et astuces> PATH non défini).
N'utilisez pas Sudo
, passez simplement à root
pour exécuter vos commandes. Exécutez l'une des commandes suivantes pour ce faire:
$ Sudo -i
$ su
Une fois connecté en tant que root, exécutez simplement votre apt-get
commandes à nouveau:
# apt-get ...
Vous devrez peut-être d'abord définir le PATH
de root. Éditer /root/.bashrc
(avec les privilèges root bien sûr), et ajoutez la ligne suivante:
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PATH
à Sudo
au moment de l'exécution.Il suffit de préfixer l'appel Sudo
avec la redéfinition de la variable PATH
:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin Sudo apt-get ...
en quelque sorte, j'ai eu le même problème.
Veuillez lire attentivement votre message d'erreur et vous trouverez la solution. Il y a une note qui dit:
Remarque: le CHEMIN de root doit généralement contenir/usr/local/sbin,/usr/sbin et/sbin.
Ensuite, j'ai vérifié mon chemin et d'une manière ou d'une autre je manquais le/sbin sur mon chemin.
echo $ PATH
puis j'ai ajouté et le problème avait disparu. :)
export PATH = "$ PATH:/sbin"
Tcharam!
J'ai eu ce problème aujourd'hui et l'ai résolu en commentant la ligne (en utilisant un #)
Defaults exempt_group=Sudo
à partir de mon fichier/etc/sudoers en utilisant
# visudo
comme root
Cette modification obligera Sudo à utiliser la variable par défaut secure_path définie dans le même fichier.
L'absence de description dans la question rend difficile l'identification du problème exact dans cette situation, mais j'ai récemment rencontré le même problème:
user@debian:su
Password:
root@debian:/home/user/Downloads# dpkg -i [Some package]
dpkg: warning: 'ldconfig' not found in PATH or not executable
dpkg: warning: 'start-stop-daemon' not found in PATH or not executable
dpkg: error: 2 expected programs not found in PATH or not executable
Note: root's PATH should usually contain /usr/local/sbin, /usr/sbin and /sbin
La solution consistait à utiliser su -
au lieu de su
(ce qui est généralement mieux, comme détaillé dans les réponses à cette question ):
user@debian:su -
Password:
root@debian:~# cd /home/user/Downloads/
root@debian:/home/user/Downloads# dpkg -i [Some package]