构建Ubuntu服务器软件包

4

我在我的Ubuntu桌面上开发了一些C++应用程序。我想创建安装包,以便在Ubuntu服务器上安装它们。

有人可以提供如何创建Ubuntu服务器包的指南吗?

2个回答

5
最简单的方法是在您的makefile中创建一个“安装”部分,以安装程序,然后运行checkinstall。您可能需要使用aptitude install checkinstall来安装它。 checkinstall 运行 make install,找出了哪些内容被更改,然后基于这些内容构建了一个软件包。
要在 makefile 中执行安装操作,只需放置安装程序所需的命令。以下是一个示例程序,它创建了一个名为“myprogram”的二进制文件,并需要在 /etc 中进行一些配置:
# make example
myprogram: main.o something_else.o
    gcc -o myprogram main.o something_else.o -llibrary_goes_here

install: myprogram
    cp myprogram /usr/bin #install binary
    cp -R etc /etc/myprogram # copy "etc" folder to /etc/myprogram

有一个名为install的命令,类似于cp,可以指定权限,但我不太了解其语法。

对于每个.o文件,您还需要一个部分来说明如何编译它(可能是gcc -c filename.cpp)。


+1 这确实听起来是最简单的方法。问题是我对 GNU 构建链工具相对较新(我来自 Windows 背景)。你能否给一个小例子,在“安装”部分中放置一个“helloworld”应用程序的内容?谢谢您的帮助。 - morpheous
我给答案添加了一个描述(因为Makefile语法需要换行)。 - Brendan Long

3

Ubuntu使用Debian软件包格式(.deb),生成的软件包可以针对某种架构(如i386、AMD64等)或者是无需特定架构。

然后您可以以root身份使用“dpkg -i packagefile.deb”命令安装所生成的软件包。

现在进入正题:我建议您寻找有关如何制作Debian软件包的信息。我相信有很多好的参考网站和工具,例如这个:http://debcreator.cmsoft.net/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接