我应该在“make install”之前使用“sudo”吗?

我应该在“make install”之前使用“sudo”吗?

我正在安装最新的 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 完成

相关内容