【linux】native本地编包 、deb打包 、 构建第一个deb包hello(图文详解)

目录

一、前提:

二、构建源码包以及打包过程

1、创建工作目录

2、初始化目录(创建debian文件)

3、修改control文件

 4、增加changelog文件配置文件

5、在debian同级目录下创建目录,并在hello.sh可执行文件中输入打印的语句

 6、新建hello.install文件(文件在debian目录下)

7、生成.dsc与源码包(debian同级目录)

8、构建deb包(debian同级目录)

9、安装生成的包


一、前提:

  • dh-make
  • dpkg-dev
linux下查看是否有这两个包:
sudo apt search dpkg-dev
sudo apt search dh-make

没有的话直接安装:
sudo apt install dpkg-dev
sudo apt install dh_make

二、构建源码包以及打包过程

1、创建工作目录

格式:包名-版本号

mkdir hello-1.0

2、初始化目录(创建debian文件)

cd hello-1.0/
dh_make --native #本地的

1)创建过程中会选择包的类型,这里选择single,输入s;

2)然后输入y确认生成

创建完之后可以在目录下看到debian目录

3、修改control文件

进入debian目录,找到control文件

cd debian/
vim control

contrl文件内容如下

Source: hello
Section: unknown
Priority: optional
Maintainer: unknown <WYN@unknown>
Build-Depends: debhelper-compat (= 12)
Standards-Version: 4.4.1
Homepage: <insert the upstream URL, if relevant>
#Vcs-Browser: https://salsa.debian.org/debian/hello
#Vcs-Git: https://salsa.debian.org/debian/hello.git

Package: hello
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: <insert up to 60 chars description>
 <insert long description, indented with spaces>
  • Source:源代码包的名称
  • Section是分类,这里改成misc(杂项)
  • Maintainer是维护者,这里随意(必须为“名字+空格+<邮箱>”的格式)
  • Homepage是软件的主页,没用的话可以用#注释
  • Package决定了你的包名(通常与源代码包名相同)
  • Architecture是构架支持,如果是元数据(脚本,媒体文件,文本)可以不管
  • Depends是依赖,这里作为示例是没有依赖的故保留原样
  • Description是软件介绍,不可写太长(最长60个字符,多的另外起行,用空格缩进)

 4、增加changelog文件配置文件

1) 初始化的changelog文件如下

vim changelog 

  • 第一行:软件包的名称、版本号、发行版和紧急程度
  • 第二行:长条目,记录每次在debian修订版本中做出的修改
  • 第三行:维护者和维护者邮箱、以及修改的时间

 2)增加一条changelog

dch

在changelog同级目录下,命令行输入dch,会自动生成一条changelog,如下

我们需要修改新增changelog的三行信息,改完如下,保存退出即可

 其他的文件先不做修改

5、在debian同级目录下创建目录,并在hello.sh可执行文件中输入打印的语句

mkdir -p usr/bin/
cat << EOF > usr/bin/hello.sh
#!/bin/bash
echo hello
EOF
sudo chmod +x usr/bin/hello.sh

 6、新建hello.install文件(文件在debian目录下)

vim debian/hello.install

 内容为:

usr/* usr

这里的usr/xxx/xxx都是相对于系统的目录的路径创建的,而.install文件则是告诉包管理如何处理这些文件(将包根目录内的usr目录复制到系统的usr目录)

7、生成.dsc与源码包(debian同级目录)

dpkg-source -b .

注意:不要忘记最后的.  表示当前目录

执行完成后,会在上一级目录查看到新生成的两个文件

8、构建deb包(debian同级目录)

dpkg-buildpackage -us -uc

执行完成后(没有报错),会在上一级目录查看到生成的.deb文件

9、安装生成的包

sudo dpkg -i hello_1.0-1_amd64.deb

安装完成后,就可以执行可执行文件hello.sh来看一下效果了

hello.sh

会打印echo出的hello文件

 参考:DEB打包:快速构建一个Meta Package - YangMame

--END--

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wyn_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值