专栏首页EasyNVR基于EasyNVR摄像机无插件直播流媒体服务器之linux系统如何打包EasyNVR为deb包?

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

背景分析

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

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文件夹,然后按照如下目录结构创建文件夹,以及文件

2).写DEBIAN目录下3个文件的内容 a).control文件内容: package: easynvr (软件名称,中间不能有空格) version: 1.1 (软件版本) prioritt: optional (软件对于系统的重要性) architecture: amd64 (软件所支持的平台架构) maintainer: xxx <> (打包人和联系方式) description: mydeb (对软件的描述)

b).postinst文件内容 (该脚本赋予可执行权限:chmod +x postinst): 此脚本可以写在安装文件完成后要做的事,比如,解压等相关工作

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

3).完成以上的制作目录及文件后可以给做好的easynvrdeb目录进行打包成.deb包 dpkg -b easynvrdeb/ easynvrdeb.deb #第一个参数为将要打包的目录名 #第二个参数为生成包的名称

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

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

7. 查看deb包文件内容 $ dpkg -c easynvrdeb.deb

8.查看当前目录某个deb包的信息 dpkg --info easynvrdeb.deb

9. 解压deb包中所要安装的文件 $ dpkg -X easynvrdeb.deb testdeb #第一个参数为所要解压的deb包,这里为 easynvrdeb.deb #第二个参数为将deb包解压到指定的目录,这里为 easynvrdeb

10.解压deb包中DEBIAN目录下的文件(至少包含control文件) $ dpkg -e easnvrdeb.deb testdeb/DEBIAN #第一个参数为所要解压的deb包, #第二个参数为将deb包解压到指定的目录, #这里为 testdeb/DEBIAN

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • RTSP/Onvif摄像头对接直播流媒体服务器调用录像接口报401 Unauthorized错误分析

    熟悉我们的小伙伴都知道,当我们的RTSP/Onvif流媒体服务器与摄像头可以进行网络连接时,通过RTSP/Onvif流媒体服务器自带的Onvif探测即可实现On...

    EasyNVR
  • 海康大华网络摄像头视频直播流媒体服务器视频广场显示暂无快照的问题解决

    我们的EasyNVR视频流媒体服务器分为Windows版本和linux版本,两个版本没有任何区别,是为了适应不同使用者的操作习惯。一般我在进行新版本测试的时候,...

    EasyNVR
  • 网页直播、微信直播技术解决方案:EasyNVR与EasyDSS流媒体服务器组合之区分不同场景下的easynvr

    实现方案的具体实现: EasyNVR+EasyDSS实现简单套路的RTMP、微信直播、录像、回放方案

    EasyNVR
  • win10 uwp 手把手教你使用 asp dotnet core 做 cs 程序 VisualStudio创建项目引用项目创建通用结构设置控制器运行网站UWP 连接上传数据

    本文是一个非常简单的博客,让大家知道如何使用 asp dot net core 做后台,使用 UWP 或 WPF 等做前台。 本文因为没有什么业务,也不想做管理...

    林德熙
  • Linux系列教程(十)——Linux文本编辑器vim

      通过前面几篇博客我们终于结束了Linux常用命令的介绍,Linux常用命令主要包括以下:   ①、Linux文件和目录处理命令   ②、Linux链接命令和...

    IT可乐
  • 从未如此了解过Linux

    操作系统内核是指大多数操作系统的核心部分。它由操作系统中用于管理存储器、文件、外设和系统资源的那些部分组成。操作系统内核通常运行进程,并提供进程间的通信。 Li...

    CC老师
  • 高级Java研发师在解决大数据问题上的一些技巧

    众所周知, Java 在处理数据量比较大的时候,加载到内存必然会导致内存溢出,而在一些数据处理中我们不得不去处理海量数据,在做数据处理中,我们常见的手段是分解,...

    风火数据
  • Utility之Ram Disk

    有了Disk,它还只是一个Device,一般在使用时,还要在Disk上创建块设备,并将这个块设备格式化。而格式化为哪种文件系统,就看具体需求了。

    Taishan3721
  • 背向NCL,面向对象

    作为曾经地球科学领域最炙手可热脚本语言之一的NCL已经进入维护模式,不再更新。NCAR将使用Python作为地球科学领域的主要数据处理和可视化工具。

    zhangqibot
  • 【STM32H7教程】第12章 STM32H7的HAL库框架设计学习

    完整教程下载地址:http://forum.armfly.com/forum.php?mod=viewthread&tid=86980

    armfly

扫码关注云+社区

领取腾讯云代金券