Notes
  • 简介
  • Linux
    • Ubuntu
      • Ubuntu 20.04 ARM64 修改PAGE_SIZE 64k
    • Samba
      • CentOS7安装Samba
      • 简单案例
      • 审计
      • 相关命令
    • Systemd
    • FPM 打包 nginx rpm 包
    • rpm 打包-从二进制文件进行打包
    • Centos7 重置密码
    • CentOS7搭建kvm并创建虚拟机
    • CentOS7-KVM 嵌套虚拟化
    • CentOS7 KVM GPU 穿透
    • Bonding
    • CentOS7 发送邮件
    • CentOS7 安装 OpenVPN
    • Linux 多线路由策略
    • Webmin 安装
    • NoVNC 安装
    • SRS-RTMP 服务部署
    • CentOS7 安装 MongoDB
    • confluence 安装
    • jira 安装
    • crowd 安装
    • ScriptRunner For Jira
    • ScriptRunner For Confluence
    • Ubuntu VNC
    • Ubuntu18.04-VNC 安装
    • deb 打包
    • iptables
    • debian 保持软件包一致
    • Ubuntu18.04 编译安装 grpc
    • CentOS7 安装 odoo13
    • Pacemaker 入门
    • Firewalld Rich Language
    • PHP Xdebug
    • CentOS7.3 编译安装 Python3.6
    • 葫芦儿打包
    • CentOS7 安装 Tomcat8
    • CentOS7 安装 JDK
    • GuacamoleServer 编译安装
    • FreeBSD7.0安装AMP
    • CentOS7 换源
    • deb下载并离线安装
    • pip下载并离线安装
  • Network
    • 案例一
  • AI
    • 微调Qwen2.5
    • Qwen2.5 VL AWQ量化
    • qwen2.5 填充权重
  • JavaScript
  • Zabbix
    • CentOS7 安装 Zabbix4.0 LTS
    • Zabbix 加密连接
    • Zabbix 主动和被动模式
    • Zabbix 配置邮件报警
    • Zabbix 监控 MySQL
  • 数据库
    • MySQL
      • CentOS7 Install MySQL5.7
      • MySql 主从配置
      • CentOS7 安装 Percona XtraDB Cluster
      • MySql 压力测试-sysbench
      • MariaDB Galera Cluster
      • 备份脚本
    • MongoDB
      • 启用账号密码登录
      • 备份脚本
  • Nginx
    • CentOS7 安装 Nginx
    • Nginx 配置
    • nginx-http-flv-module
    • Nginx-WebDAV
  • Docker
    • CentOS7 安装 Docker
    • Dockerfile
    • DockerSwarm 集群
    • Docker 安装 guacamole
  • Python
    • 虚拟环境
  • Windows
    • Windows 问题集合
    • 迅雷自动安装 Chrome 插件
    • RDP 注册表
    • Rdp File Setting
    • 本地组策略对象(LGPO)工具
    • 禁用应用联网
    • SQL Server 问题处理
    • SQL Server Trigger
    • NSIS 脚本
    • 使用QEMU运行ARM64 CentOS7
    • DOS 脚本
    • Windows 11 设置旧版右键菜单
    • 远程桌面二次验证
  • Apple
    • AppStore 应用开发及上架
    • Apple 打包 Golang WebDav 制作 pkg 安装包
  • Android
    • Android Studio创建具有root权限的虚拟机
    • Android读写挂载system
    • Android安卓CA至系统
  • 证书
    • 证书名称(主题)
    • 证书扩展
    • SSL 自签
    • 免费 https 证书申请
  • 树莓派
    • 树莓派系统烧录及系统打包制作
    • 树莓派基础操作
    • 树莓派安装 NextCloud
    • 树莓派安装 LNMP
    • 树莓派自定义开机界面和登录提示
    • 树莓派安装 HomeAssistant
    • HomeAssistant 配置
    • 树莓派自动挂载 U 盘
    • 树莓派安装 vsftpd
    • vsftpd 配置文件详解
  • ceph
    • ceph-deploy 部署 ceph nautilus 版本
    • ceph dashboard
  • OpenStack
    • OpenStack VM 配置 Virtual IP
    • OpenStack Glance 对接 Ceph RBD 存储
    • OpenStack Cinder Volumes 对接 Ceph RBD 存储
    • OpenStack 集群搭建
    • OpenStack Rocky 单节点部署
    • OpenStack Rocky 集群部署
    • OpenStack CentOS6 镜像制作
    • OpenStack-Ubuntu 镜像制作
    • Openstack-Windows 镜像制作
    • OpenStack-RBD 导入镜像
    • OpenStack-Rocky 灾备
    • rbd-mirror
  • FFmpeg
    • CentOS7 静态编译FFmpeg
    • MacOS10.12静态编译FFmpeg
    • CentOS7 Arm64静态编译FFmpeg
    • 使用NVIDIA显卡
    • 脚本
  • Other
    • 华为一碰传标签制作
    • 常用软件
    • wireguard
由 GitBook 提供支持
在本页
  • 参考链接
  • debian 目录内容
  • control
  1. Linux

deb 打包

参考链接

https://www.ubuntukylin.com/ukd/home/deb2.php

https://www.debian.org/doc/manuals/maint-guide/start.zh-cn.html

https://blog.serverdensity.com/how-to-create-a-debian-deb-package/

https://www.downeyboy.com/2019/05/28/mk_deb_pack_series_0/

https://blog.csdn.net/steveyg/article/details/78059276 https://www.cnblogs.com/whwywzhj/p/11214771.html

debian 目录内容

  • control: control 决定着 deb 包的包名、编译依赖和运行依赖

  • changelog: 供版本修改信息

  • copyright: 版权和许可

  • preinst:Debian 软件包(".deb")解压前执行的脚本,为正在被升级的包停止相关服务,直到升级或安装完成(成功后执行 'postinst' 脚本)

  • postinst:主要完成软件包(".deb")安装完成后所需的配置工作。通常,postinst 脚本要求用户输入, 和/或警告用户如果接受默认值,应该记得按要求返回重新配置这个软件。一个软件包安装或升级完成后,postinst 脚本驱动命令,启动或重起相应的服务。

  • prerm:停止一个软件包的相关进程,要卸载软件包的相关文件前执行

  • postrm:修改相关文件或连接,和/或卸载软件包所创建的文件

  • conffiles:配置文件列表,卸载时文件不会被删除,升级时会提示是否覆盖

  • md5sums:该文件是包中包含的所有文件的 MD5 校验和的列表,这些文件实际上将被提取到系统中。使用命令组合可以很容易地生成

    find . -type f ! -regex '.*.hg.*' ! -regex '.*?debian-binary.*' ! -regex '.*?DEBIAN.*' -printf '%P ' | xargs md5sum > DEBIAN/md5sums
deb script

install

upgrade

uninstall

preinst install

旧包prerm upgrade

prerm remove

安装文件

新包preinst upgrade

删除文件

postinst configure

安装新文件

postrm remove

旧包postrm upgrade

新包postinst configure

control

二进制程序包

  • Package:
    Version:
    Architecture:
    Maintainer:
    Description:
    
    Section:
    Priority:
    Source:
    Essential:
    Depends:
    Installed-Size:
    Homepage:

    changelog

    每个源软件包都必须包含 Debian 变更日志文件 debian/changelog。该文件的 Debian 版本中的更改应简要说明。

    • package: 软件包名称

    • version:版本号

    • distribution(s) : 上载此版本时应在其中安装的发行版 ,一般用 unstable

    • urgency: 从以前的版本升级到此版本的重要性。它由值的单个关键字取一个的low,medium,high,emergency,或critical

    package (version) distribution(s); urgency=urgency
      * 更新内容1
      * 更新内容2
     -- root <root@unknown>  Mon, 23 Dec 2019 10:02:38 +0800

    注:date 可以使用命令 date -R 获取

上一页Ubuntu18.04-VNC 安装下一页iptables

最后更新于6个月前

这个文件包含了很多供 dpkg、dselect、apt-get、apt-cache、aptitude 等包管理工具进行管理时所使用的许多变量。这些变量均在 中被定义。

(必填): 软件包名称 ,必须仅由小写字母(a-z),数字(0-9),加号(+)和减号(-)和句点(.)组成。它们必须至少两个字符长,并且必须以字母数字字符开头。

(必填):软件包的版本号。格式为: [epoch:]upstream_version[-debian_revision]。

(必填):软件包结构,如 i386, amd64,m68k, sparc, alpha, powerpc,any 等

(必填):软件包维护者的姓名和电子邮件地址。名称必须首先出现,然后是尖括号内的电子邮件地址<>(采用 RFC822 格式)

(必填):对二进制包的描述,该描述由两部分组成,即概要或简短描述以及详细描述

(推荐): 申明软件的类别,常见的有 utils, net, mail, text, devel 等

(推荐):申明软件对于系统的重要程度,如 required, standard, optional, extra 等

: 源代码包的名称

:申明是否是系统最基本的软件包(选项为 yes/no),如果是的话,这就表明该软件是维持系统稳定和正常运行的软件包,不允许任何形式的卸载(除非进行强制性的卸载)

:声明了绝对依赖性

: 安装指定软件包所需的磁盘空间总量的估计值 ,单位字节

:软件包的网站的 URL

实例
Debian Policy Manual, 5 "Control files and their fields"
Package
Version
Architecture
Maintainer
Description
Section
Priority
Source
Essential
Depends
Installed-Size
Homepage