testing - 构建具有最小依赖性的 couchdb

标签 testing ubuntu erlang installation couchdb

我想试一试并检查 Apache 的 couchdb 作为我正在设计的网络应用程序的可能后端。因此,我想要一个 couchdb 的实例,但也希望在测试完成后能够将其丢弃。开发计算机是 Ubuntu 笔记本电脑(不是服务器)。问题是:

  1. Ubuntu 存储库有 couchdb 1.0,但 couchdb 网站强烈建议安装从源代码构建的 1.1。
  2. 我从源代码构建和安装了 Erlang,因为存储库中的 Erlang 发行版有缺陷。我不认为除此之外安装另一个 Erlang 有什么意义。
  3. couchdb 有很多的依赖项,包括一大堆 perl 库,我真的不需要,而且在完成后更愿意扔掉。

所以我正在寻找一种方法:

  1. 将 couchdb 1.1 安装为易于卸载的软件包,
  2. 从源代码构建 couchdb,安装的依赖项尽可能少,所以当我完成后我可以删除它。最好不要构建另一个 Erlang 发行版,而是将其配置为使用现有发行版。

这些是否可能,如何实现?提前致谢。

顺便说一句,我知道 build-couchdb 项目,但据我所知,它需要提前安装所有构建依赖项,这是不可取的,因为它会在我的系统中留下一大堆悬而未决的包,没有作为 couchdb 包的依赖项。它还获取 Erlang 的副本,这对我来说是多余的。

(亲爱的版主:这个问题不仅涉及编程问题,还涉及服务器管理、Unix 软件,尤其是 Ubuntu Linux 问题。因此,它可能适合其他一些堆栈交换站点。我recon 最有可能在这里得到解答,因为这种黑客行为通常是由程序员完成的。但是,如果我错了,请随时迁移它,我提前为您的麻烦道歉。)

最佳答案

您可以将 CouchDB 安装到 chroot jail 中

A chroot is a way of isolating applications from the rest of your computer, by putting them in a jail. This is particularly useful if you are testing an application which could potentially alter important system files

来自Ubuntu instructions关于创建 chroot jail

假设您的笔记本电脑具有适当的硬件虚拟化支持,另一种选择是使用 KVM。

从长远来看,KVM 选项可能更有帮助,因为您可以将 VM 的磁盘镜像移动到服务器上。

关于testing - 构建具有最小依赖性的 couchdb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7833983/

相关文章:

Ubuntu/etc/rc.local 没有 sudo 就无法运行

javascript - 在 JavaScript 中使用 Chai 测试无效参数

testing - 当用户界面不断变化时,如何调整 Selenium 中的测试脚本?

drupal - 从 6.12 升级到 6.15 后无法在 Drupal 上启用 Clean URL

erlang - 确定 Erlang 二进制文件大小的复杂性

erlang - 使用 NIF 编译项目,未找到 rebar : cl. exe

architecture - 你如何设计一个基于 Erlang/OTP 的分布式容错多核系统的架构?

api - 测试 rest 或 graphql API 时如何运行 cucumber 测试

haskell - 如何插入测试代码

ubuntu - 使用 ffmpeg 和 nginx 直播 .webm 文件