我将 ffmpeg 安装到 /root/bin
我遵循了以下指南:https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu
我现在想让非管理员访问它。我在 /usr/local/bin 中创建了一个符号链接
现在如果我尝试执行,我会得到:
-bash: /usr/local/bin/ffmpeg: Permission denied
答案1
我花了数周时间消除了一些库冲突,并安装了 ffmpeg。但不幸的是,我把它安装在了/root/bin/
。
在终端中输入这个就可以解决这个问题:
cp -r /root/ffmpeg_build
cp -r /root/bin/{ffmpeg,ffplay,ffserver,x264,yasm} /usr/local/bin/
并且它运行良好。
答案2
您不能使用目标位于您无权访问的目录中的链接。链接的有效权限是其目标的权限。
我不知道你为什么决定在 中安装/root/bin
,这不是你遵循的指南告诉你要做的事情。你应该在 中安装所有内容$HOME/bin
,你的 $HOME
。我猜你按照指南中的所有步骤操作,但从 root shell(sudo -i
或sudo su
或su
)运行所有内容。如果是这样,你应该$HOME
如果您仅将创建的目录复制到:,则能够使一切按预期工作:
sudo cp -r /root/ffmpeg_build ~/
sudo cp /root/bin/* ~/bin
最后一个命令会将所有内容从 复制/root/bin
到~/bin
,但这可能不是您想要的。如果出于某种原因,您有其他文件,只需选择您为其创建的文件ffmpeg
:
sudo cp /root/bin/{ffmpeg,ffplay,ffserver,x264,yasm} ~/bin/
/usr/local/bin
无论如何,一旦复制了所有文件,您就可以为非管理员用户创建链接。更好的是,您可以将上面的目录移动到/usr/local
并将二进制文件直接移动到。但是,请注意,如果您使用从存储库~/usr/local/bin
安装,它们将被覆盖。ffmpeg
sudo apt-get install ffmpeg