Debian 安装包的简单制作

简介: 在Linux分发软件有两种形式,一种是源码,一种是安装包。当目标机器不带有编译环境,且不能联网时,安装包就是唯一的方案了。 Linux 下的安装包有多种格式,不同Linux使用的格式并不完全相同。

在Linux分发软件有两种形式,一种是源码,一种是安装包。当目标机器不带有编译环境,且不能联网时,安装包就是唯一的方案了。

Linux 下的安装包有多种格式,不同Linux使用的格式并不完全相同。市场上主流的安装包格式是*.deb *.rpm 其中deb是debian系列的安装包,rpm是CentOS系列的安装包。

本文主要介绍的是一种简单的deb安装包的制作方法,使用范围有限。如需了解更多可以阅读Debian 新维护人员手册

所需工具

如果没有安装dpkg工具包的话,就先安装(一般是默认安装的)

sudo apt-get install dpkg

文件结构

example-package
├── DEBIAN   (必须)
   ├── control (必须)
   └── md5sums
└── usr
    ├── local
       ├── bin (可执行文件安装位置)
       └── lib  (使用到的相关库,目标机器没有安装)
    └── share (非必须)
        └── doc
            └── example-package

准备相关文件

程序编译完成后,将编译后的文件放到 example-package/usr/local/bin
根据需要按上方的文件结构添加内容

编写control 文件

Package: example-package
Version: 1.0-1
Architecture: amd64   # 运行的CPU架构
Maintainer: UserName <邮箱>
Installed-Size: 10
Section: unknown  # 应用类型  不知道就用 unknown 
Priority: optional   # 优先集 一般就用 optional
Description: this is a test package    # 简介 不超过60个字符
 this is a test  # 详细介绍

制作deb包

  1. 计算MD5
    find ./usr -type f | xargs -I{} md5sum  {} > DEBIAN/md5sums
  2. 打包
    dpkg-deb -b example-package

    命令执行完成之后会在当前目录生成 example-package.deb文件,一个deb安装包就OK了。

小结

此方法可以方便的制作安装包,可以方便的分发自己的软件。但是亦有其缺陷,没有相应的更改记录。这种打包方法生成的包不能发布到软件源,但一般软件分发没有问题,如需更详细的打包方法参考

参考:Debian 新维护人员手册


原文发布时间:2016-02-03
本文来自云栖社区合作伙伴“ Debian社区”,了解相关信息可以关注“ Debian社区”。
相关文章
|
6月前
|
缓存 应用服务中间件 Linux
RPM安装包制作
RPM安装包制作
66 0
|
3月前
|
Ubuntu Linux Windows
如何下载并安装Ubuntu22.04
本文是一份详细的Ubuntu 22.04 LTS系统安装指南,包括从Ubuntu官网下载镜像、使用balenaEtcher工具烧录镜像到U盘,以及通过U盘启动并安装Ubuntu系统的完整步骤。
600 0
如何下载并安装Ubuntu22.04
|
6月前
|
Ubuntu 数据可视化 Linux
Ubuntu下载、安装QGIS软件的方法
Ubuntu下载、安装QGIS软件的方法
214 2
|
11月前
|
Ubuntu Linux
在 Ubuntu 上安装最新版的 Calibre
在 Ubuntu 上安装最新版的 Calibre
164 0
|
Ubuntu Linux
Ubuntu 一键安装配置搜狗输入法
buntu自带的汉字输入法太鸡肋了,就想安装个国产的,发现搜狗的就不错,去官网下载最新版太麻烦了,而且也没太有必要,所以下面简单写一下安装配置步骤
287 0
|
Ubuntu 数据安全/隐私保护 虚拟化
ubuntu 20.10 下载安装教程
ubuntu 20.10 下载安装教程
ubuntu 20.10 下载安装教程
|
Ubuntu 数据可视化 Shell
Ubuntu 安装 GitKraken 并汉化
GitKraken 是一款超好用的 git 可视化(gui)工具,但是官方不提供多语言支持,今天就以 Ubuntu 平台为例介绍一下安装方法。
660 0