我正在安装最新的 FFmpeg 这指导:
在某些地方,它建议make install
不使用 sudo 来执行,下面是其中一个例子:
cd ~/ffmpeg_sources
wget http://download.videolan.org/pub/x264/snapshots/last_x264.tar.bz2
tar xjvf last_x264.tar.bz2
cd x264-snapshot*
PATH="$PATH:$HOME/bin" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static --disable-openclcd ~/ffmpeg_sources
wget http://download.videolan.org/pub/x264/snapshots/last_x264.tar.bz2
tar xjvf last_x264.tar.bz2
cd x264-snapshot*
PATH="$PATH:$HOME/bin" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static --disable-opencl
PATH="$PATH:$HOME/bin" make
make install
make distclean
我应该改用sudo make install
吗?
我的目的是让所有用户都可以使用这些软件包,包括 Apache/PHP。
答案1
就你的情况而言,你不需要执行,sudo make install
因为你将在你的 中安装该库$HOME
。你已将构建配置为使用前缀和 bindir 将其安装在你的 中$HOME
。
为了使其他程序可以使用该包,最好选择你的目录之外的目录$HOME
。然后你需要make install
使用sudo
。
答案2
这取决于您的包要安装在哪里。
sudo
在安装过程中,如果您在系统目录中执行安装,则需要输入/usr
。您需要输入此信息,因为您没有该目录的写入权限。本地安装sudo
不需要make install
答案3
作为补充,请考虑使用 checkinstall 生成托管包,然后使用 dpkg 或其他 apt 工具进行安装。对于从源代码安装软件,这可以在升级、删除或解决问题时减轻许多麻烦。
答案4
如果您有疑问,几乎可以肯定答案是您不应该使用 sudo。
每次您sudo make install
以 root 身份尝试,您的系统都会面临潜在的错误。
我是一名系统管理员,经常需要为第三方安装软件;除非有真正属于系统层面的东西(比如内核模块),否则大多数软件都会安装并愉快地存在于用户空间中,即使被许多人共享,也可以通过使用./configure --prefix
fi. 此处可见的 1000 多个软件组件均在单个常规用户下设置: https://hpc.uni.lu/users/software/
例子:
- CUDA 是GPU 开发环境由 nVidia 提供;无需 sudo 即可安装
- 英伟达GPU 驱动程序但是需要较低级别的访问权限,因此可以通过 sudo/root 完成