我使用此命令安装了 ffmpeg
sudo apt-get install ffmpeg
安装后,我在终端中尝试了这个命令
ffmpeg
但我收到了这样的错误信息
root@client85-desktop:~# ffmpeg
bash: /usr/local/bin/ffmpeg: cannot execute binary file
我该如何解决这个问题?
答案1
该路径/usr/local/bin/
表明您已经安装了一个定制版本ffmpeg。您安装的版本apt-get install
位于/usr/bin/
(没有“本地”部分)。要执行 apt-get 安装的版本,请运行
/usr/bin/ffmpeg
您可以使用 删除/usr/local/bin/ffmpeg
它或将其标记为不可执行sudo chmod -x /usr/local/bin/ffmpeg
。运行hash -r
以使更改在当前 shell 中生效。注销并重新登录以使更改对每个图形应用程序生效。
一旦/usr/local/bin/ffmpeg
用上面提到的方法之一进行了处理,只需调用就会默认ffmepg
启动该方法。/usr/bin/ffmpeg
编辑添加了来自@Ramchandra_Apte 的信息,说明如何在不完全重启的情况下执行此操作。
答案2
是的,这里有些不对劲。如果您安装 ffmpeg,其二进制文件将安装到/usr/bin/ffmpeg
,而不是/usr/local/bin/ffmpeg
。
所以我要做的第一个假设是:
- 你安装了非标准
ffmpeg
包 ffmpeg
由于某种原因,其他内容包含了一个奇怪的本地和损坏的副本。
首先看看它是否/usr/bin/ffmpeg
能运行。如果能运行,至少你可能安装了正确的 ffmpeg,我们只需专注于删除无效副本即可。如果你不能,你就得到了一个有问题的副本。我不是你,我不知道你做了什么,但删除了有问题的存储库并清理了房间。
/usr/local/bin/ffmpeg
现在让我们看看是否有与此版本关联的包
dpkg -S /usr/local/bin/ffmpeg
它会告诉您它没有找到任何东西,或者它会告诉您它来自哪个包。如果有包,sudo dpkg -r <package name>
请重试ffmpeg
。
如果没有软件包,您就不得不手动删除它。如果您是从源代码构建的,则可以进入源目录并运行sudo make uninstall
。如果您仍然声称不知道这是从哪里来的,您可以尝试,sudo rm /usr/local/bin/ffmpeg
但如果这是他们所做的,我无法说这会对其他应用程序产生什么影响。