it-swarm.com.de

dpkg kann ldconfig / start-stop-daemon in der PATH-Variablen nicht finden

Ich habe versucht, das Dienstprogramm bsd-mailx Zu installieren, das Paket wurde installiert, aber ich wundere mich über den Fehler.

Dies ist der Fehler, den ich bekomme:

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)
45
user87142

Zuallererst sind die Zeilen, an denen Sie wirklich interessiert sind:

dpkg: warning: 'ldconfig' not found in PATH or not executable.
dpkg: warning: 'start-stop-daemon' not found in PATH or not executable.

Diese Fehler wurden mehrmals von Debian- und Ubuntu-Benutzern gemeldet (Sie können sie tatsächlich googeln, um weitere Informationen zu erhalten). Es scheint, dass die Variable PATH nicht richtig gesetzt ist, wenn der Benutzer versucht, einen Befehl über Sudo auszuführen, was wahrscheinlich das ist, was Sie versuchen.

Lösung 1: Legen Sie den standardmäßigen sicheren Pfad von Sudo fest

Öffnen Sie /etc/sudoers indem Sie visudo in Ihrem Terminal ausführen und sicherstellen, dass die Datei die folgende Zeile enthält:

Defaults env_reset
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

Weitere Informationen zu diesem Problem finden Sie unter hier (Probleme und Tipps> PATH nicht festgelegt).

Lösung 2: Verwenden Sie das Root-Konto direkt

Verwenden Sie nicht Sudo, sondern wechseln Sie einfach zu root, um Ihre Befehle auszuführen. Führen Sie dazu einen der folgenden Befehle aus:

$ Sudo -i
$ su 

Sobald Sie als root angemeldet sind, führen Sie einfach Ihr apt-get Befehle noch einmal:

# apt-get ...

Möglicherweise müssen Sie jedoch zuerst das PATH von root festlegen. Bearbeiten /root/.bashrc (natürlich mit Root-Rechten) und fügen Sie die folgende Zeile hinzu:

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Lösung 3: Versuchen Sie, die Variable PATH zur Ausführungszeit an Sudo zu übergeben.

Stellen Sie dem Aufruf Sudo einfach die Neudefinition der Variablen PATH voran:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin Sudo apt-get ...
62
John WH Smith

irgendwie hatte ich das gleiche Problem.

Bitte lesen Sie Ihre Fehlermeldung sorgfältig durch und Sie werden die Lösung finden. Es gibt eine Notiz, die besagt:

Hinweis: Der Pfad von root sollte normalerweise/usr/local/sbin,/usr/sbin und/sbin enthalten.

Dann überprüfte ich meinen Pfad und irgendwie fehlte mir das/sbin in meinem Pfad.

echo $ PATH

dann fügte ich hinzu und das Problem war weg. :) :)

export PATH = "$ PATH:/sbin"

Tcharam!

3
Danilo Souza

Ich hatte dieses Problem heute und löste es, indem ich die Zeile auskommentierte (mit einem #).

Defaults    exempt_group=Sudo

aus meiner/etc/sudoers Datei mit

# visudo

als Wurzel

Diese Änderung führt dazu, dass Sudo die in derselben Datei festgelegte Standardvariable secure_path verwendet.

1
Cabub

Das Fehlen einer Beschreibung in der Frage macht es schwierig, das genaue Problem in dieser Situation zu bestimmen, aber ich hatte kürzlich das gleiche Problem:

[email protected]:su
Password: 
[email protected]:/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

Die Lösung bestand darin, su - anstelle von su (was im Allgemeinen besser ist, wie in den Antworten auf diese Frage beschrieben):

[email protected]:su -
Password: 
[email protected]:~# cd /home/user/Downloads/
[email protected]:/home/user/Downloads# dpkg -i [Some package]
1
Clément