我时常需要直接从源码中编译我所需要的工具和应用程序,其中大部分(我使用的是linux),需要运行configure-script:-prefix。其中大部分(我使用的是linux)都需要运行一个configure-script。
./configure
然后..:
make install
我基本上明白这些命令的作用,但有些细节我还不太清楚。
这两个步骤通常会导致最后创建一个二进制文件,位于.src目录下(但并不总是)。我还注意到,我可以在configure脚本中使用"--prefix=path "来设置最终安装包的前缀目录(当运行:make install)。
我还注意到,很多时候,当运行make install时,会在usrlocalbin(或类似的)中创建一个指向安装位置的二进制文件的符号链接。
--prefix=/path
重新定位安装路径的许多组件。 通常情况下 prefix
的默认值为 /usr/local
导致二进制可执行文件被安装到 ${prefix}/bin
. 如果你想让它们安装在系统路径中,你可以将其设置为 --prefix=/usr
然后可执行文件会进入 /usr/bin
这符合Automake Autoconf包装惯例,详见《Automake Autoconf包装惯例》。GNU编码标准.
至于symlink,很有可能它遵循的是安装程序中固定的命名模式,要么是代码,要么是链接的库名。 通常情况下,链接库的名称是根据加载它们的程序来选择的,而不是根据它们所链接的库来选择的,所以改变名称是不可取的。 由于你可能是在安装到了 /usr/local/bin
,而且这些库也可能安装到一个 /usr/local/lib<something>
的路径。 如果没有进一步的细节(第二个问题应该是第二篇文章),很难评论。 我想说的是,改名可能对可执行文件中的 /usr/local/bin
是的,您可以使用以下命令更改可执行文件的输出名称 --program-prefix=value
命令,在我的例子中,它将安装 valuecp
而不是 cp
.