为c++源文件生成debian包时出错



当我尝试使用命令构建.deb包时

dpkg-deb --build /home/hduser/Desktop/debpack/usr/bin/hw

在终端上,它给出错误

dpkg-deb:错误:无法打开包信息文件"/home/hduser/Desktop/debback/usr/bin/hw/DEBIAN/control"进行读取:不是目录

./hw是以下c++源文件的可执行文件。。

#include <iostream> 
using namespace std;
int main(){
cout << "Hello worldn";
return 0;
}

我尝试了很多,但总是失败。

只有一个可执行文件不足以创建包,您应该创建适当的文件层次结构。

  1. 创建一个根目录,让它命名为hello-pack

    mkdir hello-pack

  2. 创建一个control文件,文件的路径为hello-pack/DEBIAN/control。

    mkdir hello-pack/DEBIAN

    touch hello-pack/DEBIAN/control

    文件的内容可以是以下内容:

包:helloworld

版本:1.0

维护人员:您的姓名

架构:所有

描述:你好世界

  1. 将您的可执行文件复制到您希望它位于的任何位置,(我认为您希望它在usr/bin下,如果是这样,请执行以下操作,如果不是创建自己的目录(

    mkdir hello-pack/usr/bin

    cp hw hello-pack/usr/bin

然后使用命令dpkg-deb --build hello-pack创建包。它将创建包到根目录所在的同一目录,根目录具有相同的名称,扩展名为.deb。您可以使用-i选项来安装软件包。

最新更新