Linux 上的任何 sudo 命令都会给出“Exec 格式错误”

0 linux sudo raspberry-pi

每当我使用涉及 sudo 的命令时,我都会收到错误消息-bash: /usr/bin/sudo: cannot execute binary file: Exec format error,即使是像sudo rebootor sudo lssudo cd、 等与可执行文件无关的命令,这真的很烦人。它似乎是在尝试通过运行 Linux 的 Raspberry Pi 重新启动后突然出现的,我没有看到任何相关问题。

ilk*_*chu 5

错误不是关于rebootls,而是关于sudo它本身。错误消息清楚地表明它来自 Bash,并提到了有问题的文件 ( /usr/bin/sudo)。

错误“Exec 格式错误”是错误代码ENOEXEC,由exec*()系统调用返回

可执行文件的格式无法识别、架构错误或存在其他格式错误,这意味着它无法执行。

你的sudo二进制文件有问题。它要么以某种方式损坏,要么您拥有用于错误机器的二进制文件(例如,ARM 上的 x86 二进制文件)。file /usr/bin/sudo也许能够告诉你一些事情(如果你有的话file),与例如 的输出进行比较file /bin/ls,假设有效。

此外,它的价值在于:您通过 sudo 运行的所有内容都与可执行文件有关。reboot可能是/sbin/reboot一个可执行的二进制文件;ls可能是/bin/ls一个可执行的二进制文件。并且sudo cd可能会出现错误,因为大多数 Linux 发行版都没有cd二进制文件(它几乎没用)。