我最近在我的服务器上安装了 LAME 编码器,将 wav 转换为 mp3,并且可以与./configure; make; make install
.
然后我尝试安装 OGG 编码器,这需要 './configure, make,须藤make install' - 我不能这样做,因为我没有 VPS(而且我不想每月为 VPN 支付 15 美元只是为了安装编解码器)。
我对这一切都很陌生,我知道 sudo 给了你权限 - 但我一直在试图找出答案为什么确切地说,有些make install
需要 sudo 访问权限,有些则不需要。我还没有找到答案。
答案1
通常我会尝试不加sudo
任何操作就运行它——有时它会起作用。有时,软件包创建者认为sudo
这是必需的,他们根据自己的喜好使用它,或者选择将东西安装在系统的非用户区域。有时这是必要的,但很多时候却不是。
我看到的使用的另一个常见原因sudo
是第三方的博客文章,这些文章解释了如何安装软件,他们并没有花更多的精力向您解释如何在没有sudo
特权的情况下安装它,而是告诉您使用,sudo
因为这个人写这篇文章只是sudo
为了一切用途,这并不是一个好主意。
从理论上讲,软件包需要的唯一原因sudo
是它是否需要(或决定)将自身安装到/以其他方式修改只能通过管理员访问权限修改的系统区域。
一般来说,越来越少的软件包仍在这样做,因为用户在没有访问权限的情况下安装某些软件的需求sudo
正在增长。
答案2
这取决于您是否安装它你或对于所有用户。 (大多数情况下。无论谁将使用最终功能,某些东西(例如内核模块)都需要 root 访问权限。)
大多数提供./configure
脚本的程序也接受--prefix=~/bin
或--prefix=~/Local/
以便您可以将其安装到您的主目录中。并非所有程序都提供./configure
,但大多数程序都提供一些中的机制Makefile
允许您配置安装目标。
那么:您的库/程序是用于你或者对于您系统上的所有用户?
答案3
主要归结为读/写/执行文件权限。 Sudo 没有受限制的权利。
考虑 Windows 中的管理员帐户,而不是权限受限的用户或来宾帐户。一样。