微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

DESTDIR和PREFIX的

我正在尝试将软件安装到特定的目录。 我find了几种方法,但不知道它们之间有什么区别。

./configure --prefix=***

make install --prefix=***

make install DESTDIR=***

make install prefix=***

我对这四项function感到困惑。 他们是否达到了相同的目标?

Linux上的第一个命令结果是否可信?

awk shebang不起作用

如何删除名称以“ – ”开头的文件

来自ps的列的含义

最后运行不同的选项GNU并行

编号1确定软件包安装的位置,以及在运行时将查找关联文件的位置。 这是你应该使用,如果你只是编译东西在一个单一的主机上使用。

就我所知, 数字2只是一个错误

编号3用于安装到临时目录,该目录不在运行包的位置。 例如,在构建deb包时使用。 构建软件包的人实际上并没有把所有东西都安装到自己系统的最后一个地方。 他可能已经安装了一个不同的版本,不想打扰它,或者他甚至可能不是根。 所以他用

./configure --prefix=/usr

所以程序将在运行时期望安装在/usr

make install DESTDIR=debian/tmp

实际上创建目录结构。

4号将安装到不同的地方,但不创建DESTDIR=/foo/bar/baz所有的目录。 它通常与GNU Stow via一起使用

./configure --prefix=/usr/local && make && sudo make install prefix=/usr/local/stow/foo

,它会在/usr/local/stow/foo/bin安装二进制文件。 通过对比,

make install DESTDIR=/usr/local/stow/foo

会在/usr/local/stow/foo/usr/local/bin安装二进制文件。 这可能是第2号实际上应该是。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐