一直想制作一个 deb 包,它什么也不做,就专门依赖于我常用的包,便于重装系统后安装我常用的软件。(这种纯粹以创建依赖关系为目的的包在 Debian GNU/Linux 和 Ubuntu 的官方源里都有很多。)
比较完整的制作 deb 包的向导在 Debian 的官方网站上,中文和英文都有。
在这里,由于这个包极端简单,不需要用 dh_make, dpkg-buildpackage 这些复杂的工具。并且因为是自己使用也不需要 changelog, readme, copyright 什么的,直接用基本的 dpkg-deb 就够了。现在假设我要创建的包的名字是 packages4me,版本号是 0.0
先随便找一个目录作为工作目录,例如 ~/build/packages4me,然后在它的下面再创建目录 package(文件名随意), package 下面再创建 DEBIAN(最后的 DEBIAN必须大写),在 DEBIAN 下面写一个文本文件,命名为 control,内容是:
Package: packages4me
Version: 0.0
Architecture: i386
Maintainer: My Name <myname@mycompany.com>
Installed-Size: 0
Depends: kde-core, xorg, build-essential
Section: misc
Priority: extra
Description: Depends on my favorite packages
This package depends on my favorite packages.
文件的内容根据自己的需要修改。Depends 一行就是我要依赖的包,这里只写了三个,还可以加上版本要求,比如 gcc (>= 4.2) 之类的。
改完以后,退回到目录 ~/build/packages4me,执行命令 dpkg-deb -b package .(注意命令的第二个参数是一个点,它可以帮助产生规范的文件名,详情见 manual)
当前目录下就生成了文件 packages4me_0.0_i386.deb。OK,现在就可以安装它了。