为什么安装说明中经常省略“sudo”?

Sta*_*ked 3 linux make

我经常找到这样的构建说明:

./configure
make
make install
Run Code Online (Sandbox Code Playgroud)

而实际上我需要打字

sudo make install
Run Code Online (Sandbox Code Playgroud)

为什么安装说明中没有提到这一点?还是应该是常识,不值一提?还是假设您以 root 身份登录?

JMD*_*JMD 9

例如,如果您已经运行了“su”并且您的会话以提升的权限运行,则可能不需要“sudo”。这不需要运行 sudo。通常首选使用 sudo,但严格来说这并不是达到相同目标的唯一方法。

  • `sudo` 也并不总是可用/安装。 (4认同)
  • @nerdling:不要那样做。将 `--prefix` 设置为 `$HOME`。默认情况下,bindirectory 是`$prefix/bin`。您可以将 `--bindir` 直接设置为 `$HOME/bin`,但这不会更改指定给 `$prefix/share`、`$prefix/lib`、`$prefix/man` 的文件的安装目录, `$prefix/sbin` 等 (3认同)

pre*_*ion 9

他们为您提供正确的命令,您作为用户来确保您拥有正确的权限。

  • 许多构建指令非常通用,它们可以在许多不同的平台上构建,其中一些甚至没有 sudo。Sudo 也不是真正与构建相关的命令,只是一种安全措施。 (2认同)

qua*_*ote 6

您可能实际上不需要root 权限来安装给定的软件包,或者您可能无法通过或或其他方法访问root 权限。sudosu

其中一个./configure脚本的常用的选项是--prefix,这改变了从任何默认为基本安装目录。因此,在我根本没有 root 权限的系统上,我仍然可以将此软件安装到我自己的主目录

./configure --prefix=$HOME
make
make install
Run Code Online (Sandbox Code Playgroud)

./configure脚本还有许多其他选项,有些是通用的,有些取决于您正在编译的特定包。使用./configure --help一饱眼福。

  • 这个答案加上:让您在所有管理工作中使用 `sudo` 不是标准的。只有一些发行版(通常是最近的发行版,例如 Ubuntu)采用这种方法。 (2认同)