Linux 注意:根';路径通常应该包含/usr/local/sbin、/usr/sbin和/sbin
在shell中运行命令时(例如sudo apt get install aptitude),这是输出:Linux 注意:根';路径通常应该包含/usr/local/sbin、/usr/sbin和/sbin,linux,ubuntu,Linux,Ubuntu,在shell中运行命令时(例如sudo apt get install aptitude),这是输出: dpkg: warning: 'ldconfig' not found in PATH or not executable. dpkg: warning: 'start-stop-daemon' not found in PATH or not executable. dpkg: 2 expected program(s) not found in PATH or not executable
dpkg: warning: 'ldconfig' not found in PATH or not executable.
dpkg: warning: 'start-stop-daemon' not found in PATH or not executable.
dpkg: 2 expected program(s) not found in PATH or not executable.
NB: root's PATH should usually contain /usr/local/sbin, /usr/sbin and /sbin.
以下是我设置的变量:
export PATH=$PATH:/usr/local/sbin:/usr/local/bin in bashrc
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" in /etc/environment
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" in /etc/sudoerds
echo $path /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/node/node:/usr/local/sbin:/usr/local/bin
sudo echo $path
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/node/node:/usr/local/sbin:/usr/local/bin
尝试
sudosu-
并直接从根目录运行相同的命令,查看其是否通过
如果/root/.bashrc文件中的PATH变量不起作用,请将其设置为更安全的一方
/root/.bashrc
导出路径=/sbin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/sbin:/usr/bin
这只是环境变量的问题,除非那些二进制文件实际上丢失了,这是不可能的,您永远不知道其他环境:)谢谢,这对我很有用
nano /root/.bashrc
转到最后一个并输入:
export PATH=/sbin:/bin:/usr/bin:/usr/sbin:/usr/local/sbin:/usr/local/bin
更新bashrc后,请执行以下操作:
. /root/.bashrc
或
source/root/.bashrc我在这里偶然发现了一个类似的案例。所以我将添加这个答案,以防有人受益 在Debian从8升级到9.9之后,我收到了这个错误。我使用
sudo apt get install…
安装docker时出现以下错误
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)
我通过编辑文件/etc/profile
,从
if [ "`id -u`" -eq 0 ]; then
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
else
PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games"
fi
到
更改与root
旁边的其他用户的路径变量相对应的else
部分,添加缺少的路径
(西班牙语)我投票结束这个问题,因为它不是一个编程问题。我建议在这里删除它并重新发布。另外,请更新问题,以明确您的问题。我在你的帖子里没有看到一个真正的问题。(
sudo sh-c'echo$PATH'
将在运行sudo
下的命令时显示root的路径),以防由于无人值守升级
引发此类错误而跳过此问题。。。这可能是因为crontab设置了默认路径。cron作业的解决方案如下:
if [ "`id -u`" -eq 0 ]; then
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
else
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games"
fi