目录结构
被打包之前,文件结构如下:
makeDeb
│
├── DEBIAN
│ └── control // 1 安装信息
└── usr
├── share
│ └── applications
│ └── internet.desktop // 2 桌面快捷键信息
└── soft
└── internet // 3 此文件夹下面是实际要安装的程序数据
├── blink_image_resources_200_percent.pak
├── content_resources_200_percent.pak
....
详解
我的工程名字叫internet
,中文名为物联网
。新建一个要被打包的文件夹makeDeb
。
control
新建文件control,目录如1,用来描述包名/版本号/平台/依赖信息等数据
control
//包名
Package: Internet-of-things
//版本
Version: 1.0.0-2017.05.03
//包分类
Section: tuils
//优先级
Priority: optional
//依赖软件包
Depends:
//建议
Suggests:
//目标机架构
Architecture: i386
//安装后大小
Installed-Size:
//维护者
Maintainer: bigmaning<lingshui2008@qq.com>
//原维护者
Original-Maintainer: bigmaning<lingshui2008@qq.com>
//提供
Provides:
//包描述
Description: 欢迎来到万物智联
//软件主页
Homepage: http://blog.csdn.net/qq_27818541/
internet.desktop
为我们的程序设置快捷键,新建文件internet.desktop,具体路径如2。/usr/share/applications/
这个文件路径是固定的,它是映射的系统路径,在这个目录下,系统存放着各种程序的快捷键。当我们成功打包deb并安装的时候,会把我们程序里的internet.desktop复制到ubuntu系统/usr/share/applications/
下。
internet.desktop
[Desktop Entry]
Name=Internet
Name[zh_CN]=物联网
// 执行的文件路径
Exec=/usr/soft/internet/internet
Icon=/usr/soft/internet/resources/internet.ico
Terminal=false
X-MultipleArgs=false
Type=Application
Encoding=UTF-8
Categories=Application;Utility;Network;InstantMessaging;
StartupNotify=false
程序数据
新建文件夹:makeDeb/usr/soft/internet,并把程序数据复制到internet里面。这里映射的是安装路径,原理和桌面快捷键信息
的配置是一样的,不过这个路径是可自定义。
打包
进入到makeDeb
所在的目录,执行如下命令,会在本目录下看到生成的deb包了,可以安装试试了。
dpkg -b makeDeb internet.deb
- makeDeb 我们自己的文件夹
- internet.deb 要生成的deb , 自己命名