J'essayais d'installer l' bsd-mailx
utilitaire, le paquet a été installé, mais je m'interroge sur l'erreur.
C'est 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)
$PATH
s'il vous plaît?echo $PATH
un terminal.cat /etc/environment
?Réponses:
Tout d’abord, les lignes qui vous intéressent vraiment sont:
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
PATH
variable ne soit pas correctement définie lorsque l'utilisateur essaie d'exécuter une commandesudo
, ce que vous essayez probablement de faire.Solution 1:
sudo
le chemin sécurisé par défaut de l'ensembleOuvrez
/etc/sudoers
en exécutantvisudo
dans votre terminal et assurez-vous que le fichier comprend la ligne suivante:Vous trouverez plus d'informations sur ce problème ici (Problèmes et astuces> PATH non défini).
Solution 2: utilisez directement le compte root
N'utilisez pas
sudo
, passez simplementroot
à exécuter vos commandes. Exécutez l'une des commandes suivantes pour le faire:Une fois que vous êtes connecté en tant que root, exécutez à
apt-get
nouveau vos commandes:Vous devrez peut-être définir d'
PATH
abord la racine . Éditez/root/.bashrc
(avec les privilèges root bien sûr), et ajoutez la ligne suivante:Solution 3: essayez de transmettre la
PATH
variablesudo
au moment de l'exécution.Préfixez simplement l'
sudo
appel avec la redéfinition de laPATH
variable:la source
/sbin
manque. Essayez de le configurer à nouveau (solutions 1 et / ou 3). J'ai modifié la solution 2 pour inclure un moyen de modifier le chemin d'accès de la racine lorsque vous utilisez le compte de manière interactive.export PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/bin:/bin
abord, puis ensuitesudo -E apt install nginx
. Le-E
commutateur signifie--preserve-env
donc exporter vos env vars vers lasudo
session.de toute façon 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:
Ensuite, j'ai vérifié mon chemin et quelque part, il me manquait le / sbin dans mon chemin.
puis j'ai ajouté et le problème avait disparu. :)
Tcharam!
la source
J'ai eu ce problème aujourd'hui et je l'ai résolu en commentant la ligne (en utilisant un #)
depuis mon fichier / etc / sudoers en utilisant
comme racine
Cette modification amènera sudo à utiliser la variable secure_path définie dans le même fichier.
la source