点点滴滴 - linux下deb包的制作方法

Linuxdeb包的制作方法

  1. 使用deb

  1. 查看deb包含有哪些文件(不安装)

$dpkg -c xxx.deb //安装前根据deb文件查看

$dpkg -L debname //安装后根据包名查看

2.安装deb

$dpkg -i xxx.deb

注意,如果提示错误,可以加参数—force-all强制安装,但不推荐这样做

3.查看某个文件属于哪个deb

$dpkg -S filepath

4.移除deb

$dpkg -r debname

  1. 制作deb

1)deb包通常包含两部分:控制信息(DEBIAN目录)、安装内容(模拟root目录)

2)通过解开已有的deb包看其中内容

i.释放安装内容到dirname目录中

$dpkg -X xxx.deb dirname

ii.释放控制信息到当前目录下的DEBIAN子目录中

$dpkg -e xxx.deb

  1. 安装打包工具

apt-getinstall dh-make checkinstall

  1. 使用checkinstall打包

在源代码的目录下创建Makefile文件。格式按照Makefile的规定格式,例如:

PROG=hello

CC=gcc

BINDIR=/usr/bin

INSTALL=cp

hello:hello.c

$(CC)-o $(PROG) hello.c

clean:

rm-f $(PROG)

install:

$(INSTALL)$(PROG) $(BINDIR)

uninstall:

rm-rf $(BINDIR)/$(PROG)

checkinstall就是在make后,取代makeinstall这个步骤,生成deb包。在make以后,输入checkinstal,然后会出现:

Thepackage documentation directory ./doc-pak does not exist.

ShouldI create a default set of package docs? [y]:

的提示,选y,自己输入deb包的描述,输入一个空行结束

然后会出现

0- Maintainer: [ jarlyyn@Home ]

1- Summary: [ Package created with checkinstall 1.6.0 ]

2- Name: [ syncevolution ]

3- Version: [ 0.4 ]

4- Release: [ 1 ]

5- License: [ GPL ]

6- Group: [ checkinstall ]

7- Architecture: [ i386 ]

8- Source location: [ syncevolution-0.4 ]

9- Alternate source location: [ ]

10- Requires: [ ]

按需要选取相应数字编辑你需要改变的项目,当然,如果你什么都不需要改变也可以

然后输入回车,开始生成deb包。

  1. 使用dh_make创建deb

  1. 下载的源代码包

$tar xvjf xxx.tar.bz2 //解包

$mv xxx xxx-0.98 //改目录名为包名-版本号

$cd xxx-0.98

$dh_make -s -e webberWei@itspiderman.com -f ../xxx-0.98.tar.bz2 //生成制作deb包所需的默认信息

此时当前目录下生成了debian目录,此时通常修改两个文件:

修改debian/control文件,配置你的信息,

1)Package包名

2)Version版本

3)Architecture目标机架构(i386,arm等)

4)Maintainer维护者

5)Depends依赖软件包

6)Description描述

  修改debian/rules脚本,它决定编译参数(也可以不改)

$dpkg-buildpackage -rfakeroot

此时可以看到,上层目录中已建立了deb

  1. 自己的项目

使用autoconfautomake来创建Makefile文件(详细步骤见其他文档)

进入项目文件夹

$dh_make -s -e webberWei@itspiderman.com -f ../xxx-0.98.tar.bz2 //生成制作deb包所需的默认信息

$dpkg-buildpackage -rfakeroot


制作的deb包使用dpkg–i xxx.deb安装。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值