Linux 摄像头流服务,基于EasyNVR摄像机无插件直播流媒体服务器之linux系统如何打包EasyNVR为deb包?...

本文详细介绍了如何在Linux环境下打包EasyNVR为deb安装包的过程,包括创建DEBIAN目录及文件、编写控制文件、postinst和postrm脚本,以及使用dpkg命令进行安装和卸载。通过这个教程,读者可以学习到Linux软件包管理的基本操作。
摘要由CSDN通过智能技术生成

背景分析

从视频智能化相关技术研发开始计算,智能化在视频行业内已经发展了十余年,但是视频行业的智能化应用一直没有达到预期。目前视频智能化主要的表现还是集中在前端设备摄像机产品的某些智能功能,以及一些配备智能分析的NVR/DVR和后端的智能分析平台系统。智能化水平还处在初级阶段,周边的硬件及软件设备还未完善,还有很多环境和应用限制条件。

a9f62fe8441a0143a282a77c7b614822.png

linux下打包EasyNVR为deb包

问题描述

在实际项目中,有的用户需要提供的EasyNVR以及EasyNTC为deb包格式,那么我们就来看一下如何制作deb包。

问题解决

1.deb 包说明

deb是Linux下的安装包,基于 tar 包,因此本身会记录文件的权限(读/写/可执行)以及所有者/用户组。

deb包里面的结构:DEBIAN目录 和 软件具体安装目录(模拟安装目录)(如etc, usr, opt, tmp等)。

在DEBIAN目录中至少要有control文件,还可能有postinst(postinstallation)、postrm(postremove)、preinst(preinstallation)、prerm(preremove)、copyright (版权)、changlog (修订记录)和conffiles等。

control文件:描述软件包的名称(Package),版本(Version),描述(Description)等,是deb包必须具备的描述性文件,以便于软件的安装管理和索引。

postinst文件:包含了软件在进行正常目录文件拷贝到系统后,所需要执行的配置工作。

prerm文件:软件卸载前需要执行的脚本。

postrm文件:软件卸载后需要执行的脚本。

2.deb包制作过程

1).制作如下目录及文件

可以在任意目录下创建easynvrdeb文件夹,然后按照如下目录结构创建文件夹,以及文件

5ee8c2c67bddd8113ced4cf9ea19c729.png

2).写DEBIAN目录下3个文件的内容

a).control文件内容:

package: easynvr (软件名称,中间不能有空格)

version: 1.1 (软件版本)

prioritt: optional (软件对于系统的重要性)

architecture: amd64 (软件所支持的平台架构)

maintainer: xxx <> (打包人和联系方式)

description: mydeb (对软件的描述)

b).postinst文件内容 (该脚本赋予可执行权限:chmod +x postinst):

此脚本可以写在安装文件完成后要做的事,比如,解压等相关工作

0e1dcc62c385cb55340df70a6cd57683.png

c).postrm文件内容( 软件卸载后,执行该Shell脚本,一般作为清理收尾工作,给该脚本赋予可执行权限:chmod +x postrm):

2aee4f262642499f6105d3b9e5851bd4.png

3).完成以上的制作目录及文件后可以给做好的easynvrdeb目录进行打包成.deb包

dpkg -b easynvrdeb/ easynvrdeb.deb

#第一个参数为将要打包的目录名

#第二个参数为生成包的名称

ad969fb9b8de298ac8bd5187f3a4d838.png

3. 安装deb包

dpkg -i easynvrdeb.deb

#将easynvr-linux-3.3.3-1908291459.tar.gz复制到/opt/easynvr目录下后,执行postinst

#postinst脚本在/opt/easynvr目录下生成一个字符的easynvrdeb.log文件

#解压了easynvr-linux-3.3.3-1908291459.tar.gz

#执行了easynvr-linux-3.3.3-1908291459目录下的start.sh 脚本

4.查看deb包是否安装

dpkg -s easynvr

fdfcb26ae5e27d5fd245df0ae60bb524.png

5. 卸载deb包

$ dpkg -r easynvr

#这里要卸载的包名为control文件package字段所定义的 easynvr。

#将/opt/easynvr目录easynvr-linux-3.3.3-1908291459.tar.gz删除后,执行postrm,

#postrm脚本将执行easynvr-linux-3.3.3-1908291459目录下的stop.sh 脚本

#以及删除/opt/easynvr 目录下的文件

dpkg -P easynvrdeb彻底的卸载 包括软件的配置文件等等

6. 卸载后查看deb包

$ dpkg -s easynvr

#这里要卸载的包名为control文件Package字段所定义的 easynvr

8543066b503a240bef7d6570140b61e8.png

7. 查看deb包文件内容

$ dpkg -c easynvrdeb.deb

e521c6aba5123f2ddaa371e912171de3.png

8.查看当前目录某个deb包的信息

dpkg --info easynvrdeb.deb

1191b40076eb7f43927c04a8df3401f6.png

9. 解压deb包中所要安装的文件

$ dpkg -X easynvrdeb.deb testdeb

#第一个参数为所要解压的deb包,这里为 easynvrdeb.deb

#第二个参数为将deb包解压到指定的目录,这里为 easynvrdeb

aa00d44b2efb603e365cac4d369383b5.png

10.解压deb包中DEBIAN目录下的文件(至少包含control文件)

$ dpkg -e easnvrdeb.deb testdeb/DEBIAN

#第一个参数为所要解压的deb包,

#第二个参数为将deb包解压到指定的目录,

#这里为 testdeb/DEBIAN

2a0e5db45dffd5e36d9b7c318cf140e8.png

0357632b0e2322565e437309bbfe94ad.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值