Ich habe versucht, das bsd-mailx
Dienstprogramm zu installieren, das Paket wurde jedoch installiert. Ich frage mich über den Fehler.
Dies ist der Fehler, den ich erhalte:
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
bitte posten ?echo $PATH
ein Terminal eingeben .cat /etc/environment
?Antworten:
Zuallererst sind die Zeilen, an denen Sie wirklich interessiert sind:
Diese Fehler wurden mehrmals von Debian- und Ubuntu-Benutzern gemeldet (Sie können sie tatsächlich googeln, um weitere Informationen zu erhalten). Es scheint, als ob die
PATH
Variable nicht richtig gesetzt ist, wenn der Benutzer versucht, einen Befehl auszuführen. Diessudo
ist wahrscheinlich das, was Sie versuchen.Lösung 1: Legen Sie
sudo
den standardmäßigen sicheren Pfad festÖffnen Sie das Programm,
/etc/sudoers
indem Sie esvisudo
in Ihrem Terminal ausführen, und stellen Sie sicher, dass die Datei die folgende Zeile enthält:Weitere Informationen zu diesem Problem finden Sie hier (Probleme und Tipps> PATH nicht festgelegt).
Lösung 2: Verwenden Sie das Root-Konto direkt
Verwenden Sie nicht
sudo
, sondern wechseln Sie zuroot
, um Ihre Befehle auszuführen. Führen Sie dazu einen der folgenden Befehle aus:Sobald Sie als root angemeldet sind, führen Sie einfach Ihre
apt-get
Befehle erneut aus:Möglicherweise müssen Sie jedoch zuerst root festlegen
PATH
. Bearbeiten Sie/root/.bashrc
(natürlich mit Root-Rechten) und fügen Sie die folgende Zeile hinzu:Lösung 3: Versuchen Sie, die
PATH
Variable zursudo
Ausführungszeit an zu übergeben.Stellen Sie dem
sudo
Aufruf einfach die Neudefinition derPATH
Variablen voran:quelle
/sbin
fehlt. Versuchen Sie es erneut (Lösung 1 und / oder 3). Ich habe Lösung 2 bearbeitet, um eine Möglichkeit zum Bearbeiten des PFADS von root bei interaktiver Verwendung des Kontos einzuschließen.export PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/bin:/bin
erst, dannsudo -E apt install nginx
danach. Der-E
Schalter bedeutet--preserve-env
also, dass Sie Ihre Umgebungsvariablen in diesudo
Sitzung exportieren .irgendwie hatte ich das selbe problem.
Bitte lesen Sie Ihre Fehlermeldung sorgfältig durch und Sie werden die Lösung finden. Es gibt eine Notiz, die besagt:
Dann überprüfte ich meinen Pfad und irgendwie fehlte mir das / sbin in meinem Pfad.
Dann habe ich hinzugefügt und das Problem war weg. :)
Tcharam!
quelle
Ich hatte dieses Problem heute und löste es, indem ich die Zeile auskommentierte (mit einem #)
aus meiner / etc / sudoers-Datei mit
als root
Diese Änderung bewirkt, dass sudo die Standardvariable secure_path verwendet, die in derselben Datei festgelegt ist.
quelle