安装前缀在哪里设置?

Nik*_* R. 2 compiling software-installation configure

我看到我的程序安装到了usr/local/bin,如果我./configure --prefix=/usr/在构建中这样做,我可以改变它。

默认前缀在哪里指定?我在哪里可以更改默认值?是否可以将默认安装更改/usr/bin/为仅用于我的程序而不是更改用户的默认安装?

Kus*_*nda 6

使用前缀安装本地构建的应用程序/usr是一个非常糟糕的主意,因为安装的文件可能很容易覆盖包管理器安装的文件。如果包管理器在文件校验和不再匹配时感到困惑,或者当可执行文件和库之间不匹配时,这可能会给您带来问题。

/usr/local是在大多数系统上安装本地编译软件的正确位置,尽管/opt可能更安全(大多数 BSD Unices/usr/local用于第三方软件)。

我绝对不建议尝试更改默认前缀。

话虽如此,它general.m4autoconf发行版的文件中定义为变量as_default_prefix. 在我的 OpenBSD 系统上,这个文件位于/usr/local/share/autoconf-2.69/autoconf. 如果您使用的是 Linux 或使用其他版本的autoconf.

此变量必须在autoconf分发中更改,并且configure必须重新生成任何脚本(因为此变量在创建时已插入configure脚本中autoconf)。

一个简单的方法是创建一个config.site在描述文件autoconf文件和设置的值prefix

再一次,改变这一点肯定会导致你在罚球线上更进一步。

另请参阅:文件系统层次结构标准

  • 为了扩展答案,不使用 autotools 的软件可能会在本地 makefile 或等效文件中定义它。`/usr/local` 是安装本地编译软件的标准位置,因此它不一定在系统范围内“可配置”。正如 Kusalananda 指出的那样,无论如何你都不应该将其更改为 `/usr`。 (2认同)