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