如何使用apt-get在Ubuntu上创建mongodb包安装?

时间:2014-08-23 07:33:21

标签: mongodb ubuntu debian packaging

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

' debian'从git签出的目录中包含.rules和.control文件,但是我必须调用哪些命令来为mongodb-enterprise版本创建一个包?由于所有控制文件似乎都存在,我认为这只是运行命令的问题,但我无法在文档或mongodb网站上找到它。另请阅读TeTeT在评论中提到的文档,但是我需要从表单开始创建软件包,所有需要的东西似乎已经成为了'debian'的一部分。目录...只是可以弄清楚如何使用它来构建包。

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

' debian'目录包含以下文件:

root@buildmongo:/mongobuild/mongo# ls -l debian/
total 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 changelog
-rw-r--r-- 1 root root     2 Jul 25 16:12 compat
-rw-r--r-- 1 root root   483 Jul 25 16:12 copyright
-rw-r--r-- 1 root root    33 Jul 25 16:12 dirs
-rw-r--r-- 1 root root    39 Jul 25 16:12 files
-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 root root 16595 Jul 25 16:12 mongo.1
-rw-r--r-- 1 root root 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 root root 16840 Jul 25 16:12 mongodump.1
-rw-r--r-- 1 root root 19099 Jul 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 root root 13347 Jul 25 16:12 mongooplog.1
-rw-r--r-- 1 root root  5825 Jul 25 16:12 mongoperf.1
-rw-r--r-- 1 root root 16644 Jul 25 16:12 mongorestore.1
-rw-r--r-- 1 root root 23535 Jul 25 16:12 mongos.1
-rw-r--r-- 1 root root  5388 Jul 25 16:12 mongosniff.1
-rw-r--r-- 1 root root 15941 Jul 25 16:12 mongostat.1
-rw-r--r-- 1 root root 12415 Jul 25 16:12 mongotop.1
-rw-r--r-- 1 root root   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)支持合同。)

此致 格罗

1 个答案:

答案 0 :(得分: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文件 祝你好运。