简介
本文主要介绍debian目录下除control文件的其他文件,control文件解析请点击下面链接:
ubuntu系统下deb包中control文件详解
其他文件解析
debian目录包含文件如下:

一、copyright
这个文件包含了上游的版权以及许可认证信息。copyright可参照改为 :2020, National University of Defense Technology(NUDT),具体位置如下:

二、changelog
第1行 是软件的包名、版本号、发行版本和紧急程度。软件包名必须与实际的源代码包名相同,发行版本要根据实际版本填写,紧急程度一般都为medium(中等)。
第3-5行 记录了本次修改的内容

三、rules
这个文件事实上是另外一个makefile,但又不同于上游代码中的那个,和debian目录中的其他文件不同,这个文件被标记为可执行文件。
一个rules文件就像Makefile文件一样,它包含着若干的rules,每一个rule都定义了一个target以及具体操作;当你需要执行一个rule的时候,就会将traget(目标)名称作为命令行参数来调用
四、compat
一般不做修改,定义了 debhelper 的兼容级别
五、source/format
3.0(native)标明是本地编译软件包,3.0(quilt)标明是在原有软件包基础上生成patch包
六、install
一般没有该文件,需要自己新建,命名格式为<包名>.install,注意如果生成多个软件包的话每个包都要有自己独立的.install,规则为<源码包文件位置>空格<安装到哪个位置>,例:src/hello usr/sbin/
七、preinst
安装前脚本,可以执行安装软件包前的一些必须操作,没有该文件如有需要可以自行新建,命名格式<包名>.preinst
八、postinst
安装后脚本,可以执行安装后的一些配置操作,没有该文件如有需要可以自行新建,命名格式<包名>.postinst
九、prerm
删除软件包前的脚本,一般用于停止软件包提供服务等操作,没有该文件如有需要可以自行新建,命名格式<包名>.prerm
十、postrm
删除软件包后的脚本,一般用于清除残留痕迹,没有该文件如有需要可以自行新建,命名格式<包名>.postrm
• 具体过程如下,debian/changelog 是通过补丁直接修改的,不是用 dch 命令生成的。
deb 包修改版本号:
- 查看当前修改和相关文件:
git status --short
rg -n “ledtrig_netdev|modprobe|Version|version|deb|debian|changelog” .
sed -n ‘1,120p’ debian/changelog
sed -n ‘1,120p’ scripts/rtl8211f_led.sh
- 获取当前时间用于 changelog:
date -R
当时输出:
Mon, 29 Jun 2026 14:04:33 +0800
- 修改 debian/changelog:1,在顶部新增:
cpu-ec-reporter (0.1.2) noble; urgency=medium
* Load ledtrig_netdev before configuring RTL8211F netdev LED triggers.
实际修改方式是 Codex 的 apply_patch 补丁,不是 shell 命令生成。
- 验证 deb 版本解析结果:
dpkg-parsechangelog --show-field Version
输出:
0.1.2
1万+

被折叠的 条评论
为什么被折叠?



