命令给我“bash:./ fwupd:无法执行二进制文件”
每当我发出命令
./fwupd /dev/sda
我得到以下内容:
bash: ./fwupd: cannot execute binary file
我正在尝试使用Ubuntu 11.04 LiveCD更新我的SSD固件。
如何成功发出命令?
看起来你正在寻找文件,而不是运行它。
尝试使用完整路径执行它,例如
sudo /home/user/fwupd /dev/sda
我刚试了一些东西,看起来你正试图在32位Live CD上执行64位fwupd
二进制文件。
从http://www.ocztechnology.com/ssd_tools/获取.zip文件(实际上是一个tarball,对它们感到羞耻)并使用tar
提取它。 例如,如果文件名为fwupd_v2.12.05.zip
,请运行:
tar xf fwupd_v2.12.05.zip
然后跳转到包含32位fwupd
二进制文件的目录并以超级用户权限运行它:
cd fwupd_v2.12.05/linux32 sudo ./fwupd /dev/sda
请注意,如果反向发生(例如,您在没有兼容性库的64位计算机上运行32位二进制文件),则错误不同:
bash: ./fwupd: No such file or directory
这可以通过安装ia32-libs
(适用于Ubuntu 11.04 Natty及之前)或libc6:i386
(适用于Ubuntu 11.10 Oneiric及以上版本)来解决。
最后,如果文件不可执行,则错误将是:
bash: ./fwupd: Permission denied
这可以通过使其可执行来解决:
chmod +x fwupd
您是否更新了文件的权限? 它应该是chmod 0755 fwupd
我有一个名为’env’的文件并且得到了同样的错误:
. env bash: .: /usr/bin/env: cannot execute binary file
原来,env是某种保留名称,这引起了问题。 将名称更改为更加模糊的东西解决了它。