在ubuntu中打包deb包
程序员文章站
2022-06-01 16:23:50
...
公司要使用deb包发布产品,具体原因不明,可能是由于deb格式安装包又经常会涉及到系统较底层的操作,对Unix类系统对权限、所有者、组的严格要求吧!
不论,先来了解下什么是deb?
Debian包是Unixar的标准归档,将包文件信息以及包内容,经过gzip和tar打包而成。
处理这些包的经典程序是dpkg。
deb包本身有三部分组成:
数据包,包含实际安装的程序数据,文件名为test.tar.xxx;
安装信息及控制脚本包,包含deb的安装说明,标识,脚本等,文件名为control.tar.gz;
最后一个是deb文件的一些二进制数据,包括文件头等信息,一般看不到,在某些软件中打开可以看到。
如何制作?
我使用dpkg方法。
首先制作bz2包
创建deb子文件夹,并copy压缩包bz2到deb子中
解压bz2包
改目录名为,格式(包名-版本号)
生成制作deb包所需的默认信息
此时当前目录下生成了debian目录,此时通常修改两个文件:
修改debian/control文件,配置信息,具体字段见参考部分
修改debian/rules脚本,编译参数(可不改)
打包deb
这里 '-rfakeroot' 指定命令使用 fakeroot 程序来模仿 root 权限 (来实现所有者(ownership)目的),'-uc' 表示 "Don't cryptographically sign the changelog", '-b' 代表只建立二进制包.
此时,上层目录中deb包已建立好了
参考
1. debian/control文件中信息说明
1) Package 包名
2) Version 版本
3) Architecture 目标机架构(i386, arm等)
4) Maintainer 维护者
5) Depends 依赖软件包
6) Description 描述
------------查看包信息------------------
dpkg -c test-2.0.1.0.deb
------------直接打包--------------------
dpkg-deb --build test-2.0.1.0/
不论,先来了解下什么是deb?
Debian包是Unixar的标准归档,将包文件信息以及包内容,经过gzip和tar打包而成。
处理这些包的经典程序是dpkg。
deb包本身有三部分组成:
数据包,包含实际安装的程序数据,文件名为test.tar.xxx;
安装信息及控制脚本包,包含deb的安装说明,标识,脚本等,文件名为control.tar.gz;
最后一个是deb文件的一些二进制数据,包括文件头等信息,一般看不到,在某些软件中打开可以看到。
如何制作?
我使用dpkg方法。
首先制作bz2包
tar -cjf test_150713.tar.bz2 test
创建deb子文件夹,并copy压缩包bz2到deb子中
cp test_150713.tar.bz2 deb
解压bz2包
tar xvjf test_150713.tar.bz2
改目录名为,格式(包名-版本号)
mv test_150713 test-1.0 cd test-1.0
生成制作deb包所需的默认信息
dh_make -s -e lesorb@163.com -f ../test_150713.tar.bz2
此时当前目录下生成了debian目录,此时通常修改两个文件:
修改debian/control文件,配置信息,具体字段见参考部分
修改debian/rules脚本,编译参数(可不改)
打包deb
dpkg-buildpackage -rfakeroot -b -uc
这里 '-rfakeroot' 指定命令使用 fakeroot 程序来模仿 root 权限 (来实现所有者(ownership)目的),'-uc' 表示 "Don't cryptographically sign the changelog", '-b' 代表只建立二进制包.
此时,上层目录中deb包已建立好了
参考
1. debian/control文件中信息说明
1) Package 包名
2) Version 版本
3) Architecture 目标机架构(i386, arm等)
4) Maintainer 维护者
5) Depends 依赖软件包
6) Description 描述
------------查看包信息------------------
dpkg -c test-2.0.1.0.deb
------------直接打包--------------------
dpkg-deb --build test-2.0.1.0/
上一篇: core 数据集的预处理
下一篇: BIOS+UEFI双启动系统合集制作
推荐阅读
-
在Ubuntu中安装MongoDB
-
mysql 打包表在phpmyadmin提示正在使用中
-
SpringBoot项目在IDEA中打jar包及部署在linux服务器上
-
spring项目打包发布在tomcat中
-
Idea中jar包的打包及导入
-
ubuntu下用dpkg命令行运行deb安装包的方法
-
在Ubuntu中安装Redis
-
在Ubuntu的Gedit中运行Python的脚本
-
(三)01 -Vue项目打包发布移动App——vue.config.js中配置相对路径publicPath为空字符串 & 在public中添加HBuilderX的打包配置文件manifest.json
-
在ubuntu中从DOCKER启用WEB服务