【问题标题】:How to create mongodb package to install with apt-get on Ubuntu?如何创建 mongodb 包以在 Ubuntu 上使用 apt-get 安装?
【发布时间】:2014-10-17 01:09:34
【问题描述】:

我正在从源代码 (https://github.com/mongodb/mongo.git) 构建 MongoDb,现在想将它打包为 .deb 包,以便我可以使用 apt-get 将它安装在其他 Ubuntu 机器上。在 Ubuntu 12.04.4 x64 上构建它不是问题,但我不知道如何从中创建 .deb 包。

从 git 结帐中的“debian”目录包含 .rules 和 .control 文件,但是我必须调用哪些命令来为 mongodb-enterprise 版本创建包?由于所有控制文件似乎都存在,我认为这只是运行命令的问题,但我在文档或 mongodb 网站上找不到它。还阅读了 TeTeT 在 cmets 中提到的文档,但是我需要从头开始创建包,所有需要的似乎已经是“debian”目录的一部分......只是可以弄清楚如何用它来构建包。

我确实尝试使用 dh_builddeb 命令,但报告说 .control 文件不是 debian 格式的存档。

“debian”目录包含以下文件:

root@buildmongo:/mongobuild/mongo# ls -l debian/ 总计 424 -rw-r--r-- 1 root root 4001 Jul 25 16:12 bsondump.1 -rw-r--r-- 1 root root 5077 Jul 25 16:12 更新日志 -rw-r--r-- 1 根根 2 Jul 25 16:12 compat -rw-r--r-- 1 root root 483 Jul 25 16:12 版权所有 -rw-r--r-- 1 root root 33 Jul 25 16:12 dirs -rw-r--r-- 1 根根 39 Jul 25 16:12 文件 -rw-r--r-- 1 root root 8216 Jul 25 16:12 init.d -rw-r--r-- 1 root root 891 Jul 25 16:12 lintian-overrides -rw-r--r-- 1 根根 16595 Jul 25 16:12 mongo.1 -rw-r--r-- 1 根根 39099 Jul 25 16:12 mongod.1 -rw-r--r-- 1 root root 1693 Jul 25 16:12 mongod.conf -rw-r--r-- 1 root root 1676 Jul 25 16:12 mongod.upstart -rw-r--r-- 1 root root 154 Jul 25 16:12 mongodb-enterprise-server.docs -rw-r--r-- 1 root root 1441 Jul 25 16:12 mongodb-enterprise-server.postinst -rw-r--r-- 1 root root 154 Jul 25 16:12 mongodb-enterprise-unstable-server.docs -rw-r--r-- 1 root root 1441 Jul 25 16:12 mongodb-enterprise-unstable-server.postinst -rw-r--r-- 1 root root 14760 Jul 25 16:12 mongodb-enterprise-unstable.control -rw-r--r-- 1 root root 4524 Jul 25 16:12 mongodb-enterprise-unstable.rules -rw-r--r-- 1 root root 14845 Jul 25 16:12 mongodb-enterprise.control -rw-r--r-- 1 root root 4226 Jul 25 16:12 mongodb-enterprise.rules -rw-r--r-- 1 root root 1441 Jul 25 16:12 mongodb-org-server.postinst -rw-r--r-- 1 root root 1441 Jul 25 16:12 mongodb-org-unstable-server.postinst -rw-r--r-- 1 root root 14704 Jul 25 16:12 mongodb-org-unstable.control -rw-r--r-- 1 root root 4345 Jul 25 16:12 mongodb-org-unstable.rules -rw-r--r-- 1 root root 14839 Jul 25 16:12 mongodb-org.control -rw-r--r-- 1 root root 4049 Jul 25 16:12 mongodb-org.rules -rw-r--r-- 1 根 16840 Jul 25 16:12 mongodump.1 -rw-r--r-- 1 根 19099 年 7 月 25 日 16:12 mongoexport.1 -rw-r--r-- 1 root root 14153 Jul 25 16:12 mongofiles.1 -rw-r--r-- 1 root root 16065 Jul 25 16:12 mongoimport.1 -rw-r--r-- 1 根根 13347 Jul 25 16:12 mongooplog.1 -rw-r--r-- 1 根 5825 Jul 25 16:12 mongoperf.1 -rw-r--r-- 1 根根 16644 Jul 25 16:12 mongorestore.1 -rw-r--r-- 1 根 23535 Jul 25 16:12 mongos.1 -rw-r--r-- 1 根 5388 Jul 25 16:12 mongosniff.1 -rw-r--r-- 1 根根 15941 Jul 25 16:12 mongostat.1 -rw-r--r-- 1 根根 12415 Jul 25 16:12 mongotop.1 -rw-r--r-- 1 根 932 Jul 25 16:12 postrm -rw-r--r-- 1 root root 692 Jul 25 16:12 preinst -rw-r--r-- 1 root root 894 Jul 25 16:12 prerm -rw-r--r-- 1 root root 329 Jul 25 16:12 watch

(我正在构建 MongoDb,因为我需要 SSL 支持,并且不需要与 Mongo 签订支持合同。如果我理解正确,如果您注册了一个从 mongodb 站点下载的企业版(支持 SSL),则只能使用支持合同。)

问候, 格罗

【问题讨论】:

  • 如果您想开始包装,packaging.ubuntu.com/html 是一本不错的读物。要创建自己的存储库,可以使用 reprepro 工具。
  • 坦白地问 ubuntu 可能会更好,你在这方面有更多的专业知识
  • @Gero 你有什么解决方案吗?我尝试从头开始构建一个 .deb 包。你能在 ubuntu 上为 mongodb 构建源文件吗
  • @sudheeshshetty,不,我从来没有让这个工作。

标签: mongodb ubuntu debian packaging


【解决方案1】:

上游打包很少比维护者的打包好,所以我会从Debian获取源包:

apt-get install devscripts
dget -ux http://http.debian.net/debian/pool/main/m/mongodb/mongodb_2.4.10-2.dsc
cd mongodb-2.4.10/
## install Build-Depends (extracted from "debian/control"):
sudo apt-get install debhelper dh-systemd libboost-date-time-dev libboost-dev libboost-filesystem-dev libboost-program-options-dev libboost-thread-dev libgoogle-perftools-dev libpcap-dev libpcre3-dev libreadline-dev libsnappy-dev libstemmer-dev libssl-dev libv8-dev python-pymongo scons
debuild -uc -b

我是Debian,所以我没有在 Ubuntu 上测试上述程序(我不推荐)。
如果包没有构建(由于缺乏构建依赖等),那么您可以从以下页面选择不同的套件

并尝试获取较旧的 DSC 文件。
祝你好运。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-13
  • 2012-03-04
  • 2011-07-31
相关资源
最近更新 更多