Raspberry pi 使安装到临时位置

Raspberry pi 使安装到临时位置,raspberry-pi,autoconf,Raspberry Pi,Autoconf,我正在构建couchdb,它有一个/configure(用autoconf创建)。然后我可以进行制作和安装。我遇到的问题是,安装的文件中嵌入了绝对路径 我倾向于这些路径是相对的。如果没有,我想告诉make install,程序最终将安装在哪里 我正在其最终位置/usr/local之外创建程序。这是因为我将把它复制到docker容器中。(这一定是制作debs、rpms或其他安装软件包的任何人遇到的问题。) 我倾向于这些路径是相对的 这样做可能会影响应用程序的安全性 如果没有,我想告诉make in

我正在构建couchdb,它有一个
/configure
(用autoconf创建)。然后我可以进行
制作和安装
。我遇到的问题是,安装的文件中嵌入了绝对路径

我倾向于这些路径是相对的。如果没有,我想告诉
make install
,程序最终将安装在哪里

我正在其最终位置
/usr/local
之外创建程序。这是因为我将把它复制到docker容器中。(这一定是制作
deb
s、
rpm
s或其他安装软件包的任何人遇到的问题。)

我倾向于这些路径是相对的

这样做可能会影响应用程序的安全性

如果没有,我想告诉
make install
,程序最终将安装在哪里

configure
脚本中有许多可自定义的路径。常见的是,couchdb可能还有其他文件将记录在
/configure--help
的输出中


设置
前缀
路径对于打包程序来说是相当标准的,例如
/configure--prefix=/usr…
将软件安装到
/usr
而不是
/usr/local
。通常
rpmbuild
。规范文件(或其等效文件)将至少设置前缀路径。

我第一次使用
--prefix=…
。它把它放在我期望的地方,但有绝对的路径。所以它是不可迁移的。我确实是通过在
/usr/local
上绑定挂载来实现的,但这只在您具有root访问权限时才起作用,并且在多用户机器上是不安全的。由于它会隐藏
/usr/local
,所以使用名称空间可能会克服这最后一点。我曾经考虑过在
docker
中构建它,因为docker可以做类似的技巧,或者
fakechroot
。有什么建议吗?由于你的描述缺乏细节,我有几点不明白。对于许多不同的系统,如果首选Docker映像附带的系统不够新,则可以使用Dockerfile将其安装到容器中。那么为什么这个解决方案不可能呢?您需要修改CouchDB源吗?我还没有看到必须构建CouchDB的要求,只是将它放入Docker容器是您当前的策略。现在有了针对raspberry pi(Arm处理器)的CouchDB构建。所以我是从源代码开始构建的。在Raspberry Pi平台上为CouchDB预构建的也存在。