deb包制作中control文件说明

deb包制作中control文件说明

一、制作deb包的方法

使用dpkg方法创建Ubuntu deb包dpkg是最基本的制作deb包的方法,基本步骤如下:

1、$ tar xvjf fceu-0.98.12.src.tar.bz2 // 解包  

2、$ mv fceu fceu-0.98 // 改目录名为 包名-版本号  

3、$ cd fceu-0.98  

4、$ dh_make -s -e xieyan0811@sina.com.cn -f   

5、../fceu-0.98.12.src.tar.bz2 // 生成制作deb包所需的默认信息 

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

修改debian/control文件,配置你的信息,具体字段见后

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

$ dpkg-buildpackage -rfakeroot此时可以看到,上层目录中已建立了Ubuntu deb包

二、control文件配置说明

下面是一个control文件的示例(把下面的内容粘贴到一个名为"control"的文件,不要任何扩展名):
代码:

Package:fungame
Version:1.0
Section:games
Priority:optional
Architecture:i386
Essential:no
Depends:libfungame,gamelibrary(>=1.4.0)
Recommends:fungamesaves1|fungamesaves2
Suggests:optionalfungame
Installed-Size:1024
Maintainer:Game Maker[gamer@gamers.net]
Conflicts:stupidfungamethatbreaksthisone
Replaces:oldfungame
Description:A short description of the program
...
A long description



需要注意的有一下几点:首先,你需要在文件最后留下一空白行。这是至关重要的,如果没有…你的.deb包无法运行。
这些语句本身是简洁易懂的。

Package:指该软件包的名字。如果你的软件包名称有两个词,用一个连字符(-)把它们连起来。软件包的名称只能有小写的英文字母,数字(不管你相信不相信)以及"+"和"-"。

Version:显然是程序的版本。确保这里的值不包括连字符。

Section:列出了你的软件属于的类别,可能的值包括admin(管理),games(游戏),gnome,kde,mail(电子邮件),misc(杂项)<译者注:misc是miscellaneous的简称>,net(网络),sound(声音),text(文本),utils(实用工具)和web(万维网)。

Priority:声明这个包的优先级(大部分的时候使用optional(可选的))。

Architecture:是该程序可运行的CPU架构(可能的值为i386,amd64和powerpc)<译者注:此处虽然是专有名词,但是由于linux是大小写敏感的,所以文件内还是应该小写>。

Eseential:指该软件包是否是必须的(大部分的时候不是)。

Depends:意味着要使用这个程序必须拥有的程序,

Recommends:指除了极特殊情况下的安装之外,大多数时候都需要的依赖关系。

Suggests:意味可能给这个软件带来更多功能的,但是没有完全没有问题的依赖关系<译者注:同Recommands>。

      你可以用英文的半角逗号分开不同的依赖关系(,)。如果两个软件中的任何一个可以工作,用竖线"|"分开它们。你也可以指定特定的版本,用在括号里用<<(小于),<=(小于或等于),=(等于),>=(大于或等于),或>>(大于)来表示。Install-Size是程序安装后的大小,按KB算。

Maintainer:就是你(写上你的名字,后面的方括号"[ ]"里留下你的电子邮件地址)。

Conflicts:表示跟这个程序冲突的软件。

Replaces:表明哪些软件包将被这个程序取代。

Description:显示你的描述。
这样你的control文件就完成了,把它保存到一个名为"/DEBIAN"的文件夹里(注意必须大写)。例如,如果你正在建立一个软件包,并且你的要打包的软件是在~/fungame/,那么你应该把你的control文件放在~/fungame/DEBIAN/下面。
       现在是时候添加实际程序了。复制要打包的程序到你的工作文件夹(上文中的~/fungame)。比如说,如果软件X位于/usr/local/X/,可执行文件在/usr/bin/X,你的.deb文件夹是~/fungame/,把/usr/local/X/的所有东西复制到~/fungame/usr/local/X/,同时复制文件夹/usr/bin/fungame/下的所有东西到~/fungame/usr/bin。

       你也可以建一个菜单条目(一个.desktop文件),这里的例子位于~/fungame/usr/share/applications/fungame.desktop。这个文件的内容如下:
代码:

[Desktop Entry]
Type=Application
Version=1.0
Encoding=UTF-8
Name=Fun Game
Exec=fungame
Comment=
Icon=/usr/local/fungame/fungame.png
Terminal=false
Categories=Application;Game;
StartupNotify=false
MimeType=

你可以忽略"Icon"那一行
现在是生成你的软件包的时候了。cd进你的工作文件夹(例如~/fungame/)并在终端运行命令dpkg -b [derectory] [packagename.deb]。将[derectory]替换成你的工作目录(这里是~/fungame/),·[packagename.deb]替换成将要生成的软件包的名字。软件包的名字也是有规定的。正确的命名规则为:program-name_version_architeture.deb。所有的值应该与它们在control文件里对应的语句相同。


  • 6
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
dpkg是Debian系统用于安装、卸载和管理软件的工具。制作deb就是将软件打成.deb文件,方便在Debian系统进行安装和管理。下面是一个dpkg制作deb的例子。 首先,我们需要将软件打成一个目录结构,括必要的文件文件夹。例如,我们要制作一个名为example的软件,我们可以创建一个example文件夹,并将软件的文件复制到该文件。 在example文件,我们需要创建一个DEBIAN文件夹,用于存放软件的控制文件。在DEBIAN文件,我们需要创建一个control文件,该文件用于描述软件的基本信息,例如软件名称、版本、适用的操作系统等。可以使用一个文本编辑器打开control文件,并按照一定的格式填写信息。 控制文件的一个示例内容如下: Package: example Version: 1.0 Architecture: amd64 Maintainer: Your Name <[email protected]> Description: This is an example package. 除了control文件,如果软件还依赖其他软件,我们还需要创建一个文件来描述这些依赖。我们可以创建一个名为package_name.dependencies的文件,并在其列出软件的依赖关系。 在完成上述步骤后,我们可以使用dpkg-deb命令将example文件夹打成一个.deb文件。打开终端,切换到example文件夹所在的目录,然后执行以下命令: dpkg-deb -b example 执行完毕后,会生成一个名为example.deb文件,即制作完成的deb。我们可以通过dpkg命令进行安装、卸载或管理该软件。例如,要安装example.deb,可以执行以下命令: sudo dpkg -i example.deb 通过上述步骤,我们就完成了一个简单的dpkg制作deb的例子。当然,实际制作deb时可能还涉及其他要求和步骤,例如设置文件权限、预/后安装脚本等,这取决于具体的软件需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值