我所知道的制作deb包有三种方法,一种是将现有的文件打包,安装该包就像将打包的文件释放到某个目录;第二种是用deb源码打包; 第三种是用makefile源码打包,安装这种包就相当于用源码编译安装软件。
1. 第一种方法-----将现有的文件打包:
比如你要打包你当前debian系统的/usr/src/soft目录,然后在另一个debian系统上安装
改包时这些文件也释放到/usr/src/soft目录下:
在随便一个目录,比如是root下创建一个工作目录,比如是work
#cd /root
#mkdir work
#cd work
因为安装包的时候默认是将文件释放到根目录下,所以我们设定好它的路径:
#mkdir -p usr/src
#cp -a /usr/src/soft usr/src
#mkdir DEBIAN
用如下的方法在DEBIAN目录下创建一个control文件,并用加入内容:
#cat >DEBIAN/control/etc/apt/sources.list 文件中加入 deb-src 条目.
然后, 运行命令
# apt-get update 或# aptitude update就可以用下面的命令下载源码包:
# apt-get source packagename 或 # aptitude source packagename
通常会下载三个文件:.orig.tar.gz,.dsc 和 .diff.gz。对于 Debian 专用的软件包,最后一个文件不会下载,第一个文件的文件名中没有“orig”项。
dpkg-source 读取 .dsc 文件信息,将源码包解包到 packagename-version 目录,下载下来的源码包中有一个 debian/ 目录,里面是创建 .deb 包所需的文件。
例如:
$ apt-get source nano
Reading package lists... DoneBuilding dependency tree...
DoneNeed to get 1199kB of source archives.
Get:1
http://ftp.us.debian.org
testing/main nano 1.3.11-2 (dsc) [706B]
Get:2
http://ftp.us.debian.org
testing/main nano 1.3.11-2 (tar) [1173kB]
Get:3
http://ftp.us.debian.org
testing/main nano 1.3.11-2 (diff) [25.4kB]
Fetched 1199kB in 3m46s (5287B/s) ... ...
dpkg-source: extracting nano in nano-1.3.11
dpkg-source: unpacking nano_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 -b source packagename请在下载包所在的目录中运行上面的命令。
# dpkg -i file.debapt-get的source命令与它的其它命令有所不同,普通用户权限就可以运行source命令,指定文件被下载到用户调用 apt-source package 命令时所处的目录中。
3.第三种方法,用makefile的源码打包
在源码所在的目录下用make命令来编译,然后用checkinstall命令来打包.
若没有checkinstall命令则可以先安装apt-get install checkinstall.
挣脱 于 2008-09-23 10:32:12发表:
我想修改一个.deb文件里的内容,我的具体操作是这样的:
1.dpkg-deb -e xxxx.deb ../test/DEBIAN
2.dpkg-deb -x xxxx.deb ../test
3.修改了部分文件,但是只是修改这些文件的内容,名称和路径都没有改变
4.dpkg-deb -b ../test /etc/1.deb
已经生成了.deb 文件
但是在安装这个.deb文件的过程中,有很多文件没有解压出来,我怀疑可能要修改control文件信息,但是这个文件我不太了解,也看不出来应该做什么修改,望高人指点...:0()w(1
挣脱 于 2008-09-23 10:28:34发表:
我想修改一个.deb文件里的内容,我的具体操作是这样的:
1.dpkg-deb -e xxxx.deb ../test/DEBIAN
2.dpkg-deb -x xxxx.deb ../test
3.修改了部分文件,但是只是修改这些文件的内容,名称和路径都没有改变
4.dpkg-deb -b ../test /etc/1.deb
已经生成了.deb 文件
但是在安装这个.deb文件的过程中,有很多文件没有解压出来,我怀疑可能要修改control文件信息,但是这个文件我不太了解,也看不出来应该做什么修改,望高人指点...