Chinaunix首页 | 论坛 | 博客
  • 博客访问: 762366
  • 博文数量: 790
  • 博客积分: 40560
  • 博客等级: 大将
  • 技术积分: 5065
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-28 16:29
文章分类

全部博文(790)

文章存档

2011年(1)

2008年(789)

我的朋友

分类: LINUX

2008-08-28 17:16:35

 
我所知道的制作deb包有三种方法,一种是将现有的文件打包,安装该包就像将打包的文件释放到某个目录;第二种是用deb源码打包;第三种是用makefile源码打包,安装这种包就相当于用源码编译安装软件。

1.第一种方法-----将现有的文件打包:
比如你要打包你当前debian系统的/usr/src/soft目录,然后在另一个debian系统上安装

改包时这些文件也释放到/usr/src/soft目录下:

在随便一个目录,比如是root下创建一个工作目录,比如是work

#cd/root
#mkdirwork
#cdwork

因为安装包的时候默认是将文件释放到根目录下,所以我们设定好它的路径:

#mkdir-pusr/src
#cp-a/usr/src/softusr/src
#mkdirDEBIAN

用如下的方法在DEBIAN目录下创建一个control文件,并用加入内容:

#cat>DEBIAN/control/etc/apt/sources.list文件中加入deb-src条目.

然后,运行命令

#apt-getupdate或#aptitudeupdate就可以用下面的命令下载源码包:

#apt-getsourcepackagename或#aptitudesourcepackagename

通常会下载三个文件:.orig.tar.gz,.dsc和.diff.gz。对于Debian专用的软件包,最后一个文件不会下载,第一个文件的文件名中没有“orig”项。

dpkg-source读取.dsc文件信息,将源码包解包到packagename-version目录,下载下来的源码包中有一个debian/目录,里面是创建.deb包所需的文件。

例如:
$apt-getsourcenano
Readingpackagelists...DoneBuildingdependencytree...
DoneNeedtoget1199kBofsourcearchives.
Get:1

testing/mainnano1.3.11-2(dsc)[706B]
Get:2

testing/mainnano1.3.11-2(tar)[1173kB]
Get:3

testing/mainnano1.3.11-2(diff)[25.4kB]
Fetched1199kBin3m46s(5287B/s)......
dpkg-source:extractingnanoinnano-1.3.11
dpkg-source:unpackingnano_1.3.11.orig.tar.gz
dpkg-source:applying./nano_1.3.11-2.diff.gz

做相应调整后,在源代码的根目录nano-1.3.11下运行:

#dpkg-buildpackage-rfakeroot-uc-b将代码编译成为软件包。

想要下载的源码包自动编译成软件包,只需在命令行中加上-b,例如:

#apt-get-bsourcepackagename请在下载包所在的目录中运行上面的命令。

#dpkg-ifile.debapt-get的source命令与它的其它命令有所不同,普通用户权限就可以运行source命令,指定文件被下载到用户调用apt-sourcepackage命令时所处的目录中。

3.第三种方法,用makefile的源码打包
在源码所在的目录下用make命令来编译,然后用checkinstall命令来打包.

若没有checkinstall命令则可以先安装apt-getinstallcheckinstall.

阅读(231) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~