use*_*142 56 ubuntu dpkg apt mailx
我试图安装已安装bsd-mailx软件包的实用程序,但是我想知道错误。
这是我得到的错误:
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)
Run Code Online (Sandbox Code Playgroud)
Joh*_*ith 68
首先,你真正感兴趣的台词是:
dpkg: warning: 'ldconfig' not found in PATH or not executable.
dpkg: warning: 'start-stop-daemon' not found in PATH or not executable.
Run Code Online (Sandbox Code Playgroud)
Debian 和 Ubuntu 用户已多次报告这些错误(您实际上可以在 Google 上搜索以获取更多信息)。PATH当用户尝试通过 执行命令时,变量似乎未正确设置sudo,这可能是您尝试执行的操作。
sudo默认安全路径/etc/sudoers通过visudo在终端中运行来打开,并确保文件包含以下行:
Defaults env_reset
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Run Code Online (Sandbox Code Playgroud)
可以在此处找到有关此问题的更多信息(问题和提示 > PATH 未设置)。
不要使用sudo,只需切换到root以运行您的命令。运行以下命令之一来执行此操作:
$ sudo -i
$ su
Run Code Online (Sandbox Code Playgroud)
以 root 身份登录后,只需apt-get再次运行您的命令:
# apt-get ...
Run Code Online (Sandbox Code Playgroud)
不过,您可能必须先设置 root PATH。编辑/root/.bashrc(当然具有 root 权限),并添加以下行:
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Run Code Online (Sandbox Code Playgroud)
PATH变量传递给sudo。只需在sudo调用前加上PATH变量的重新定义即可:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin sudo apt-get ...
Run Code Online (Sandbox Code Playgroud)
小智 8
不知何故,我遇到了同样的问题。
请仔细阅读您的错误消息,您将找到解决方案。有一个注释说:
注意:root 的 PATH 通常应该包含 /usr/local/sbin、/usr/sbin 和 /sbin。
然后我检查了我的路径,不知何故我错过了路径中的 /sbin 。
回声 $PATH
然后我加了,问题就解决了。:)
导出 PATH="$PATH:/sbin"
查拉姆!
问题中缺乏描述使得很难确定这种情况下的确切问题,但我最近遇到了同样的问题:
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
Run Code Online (Sandbox Code Playgroud)
解决方案是使用su -而不是su(这通常更好,如该问题的答案中详述):
user@debian:su -
Password:
root@debian:~# cd /home/user/Downloads/
root@debian:/home/user/Downloads# dpkg -i [Some package]
Run Code Online (Sandbox Code Playgroud)