首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Debian postinst脚本中获取新安装的版本?

在Debian的postinst脚本中,你可以使用dpkg-query命令来获取新安装的版本。以下是一个示例:

代码语言:javascript
复制
VERSION=$(dpkg-query -W -f='${Version}' your-package-name)
echo "Installed version is $VERSION"

在这个示例中,your-package-name应该被替换为你想要查询的包的名称。这个命令会返回安装的包的版本,并将其存储在VERSION变量中。

请注意,这个命令应该在包已经安装之后运行,所以它应该在postinst脚本的后面部分。如果你在包安装之前运行这个命令,它可能会返回旧的版本号或者没有输出。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

deb包里面的结构:DEBIAN目录 和 软件具体安装目录(模拟安装目录)(etc, usr, opt, tmp等)。...在DEBIAN目录至少要有control文件,还可能有postinst(postinstallation)、postrm(postremove)、preinst(preinstallation)、prerm...control文件:描述软件包名称(Package),版本(Version),描述(Description)等,是deb包必须具备描述性文件,以便于软件安装管理和索引。...) b).postinst文件内容 (该脚本赋予可执行权限:chmod +x postinst): 此脚本可以写在安装文件完成后要做事,比如,解压等相关工作 ?...10.解压deb包DEBIAN目录下文件(至少包含control文件) $ dpkg -e easnvrdeb.deb testdeb/DEBIAN #第一个参数为所要解压deb包, #第二个参数为将

81910

linux下制作deb方法总结

dirname //释放安装内容到dirname目录 dpkg -e xxx.deb //释放控制信息到当前目录下DEBIAN子目录 deb包数据组成 deb包里面的结构:DEBIAN目录...和 软件具体安装目录(模拟安装目录)(etc, usr, opt, tmp等)。...在DEBIAN目录至少有control文件,还可能有postinst(postinstallation)、postrm(postremove)、preinst(preinstallation)、prerm...---- 控制文件 描述 control 用了记录软件标识,版本号,平台,依赖信息等数据 preinst 在解包data.tar.gz前运行脚本 postinst 在解包数据后运行脚本 prerm...卸载时,在删除文件之前运行脚本 postrm 在删除文件之后运行脚本 control文件:描述软件包名称(Package),版本(Version),描述(Description)等,是deb包必须剧本描述性文件

6K20
  • Debian打造属于自己deb包

    DEBIAN文件夹下包含control和md5sums等文本文件。opt目录表示待发布包将要安装(放置)地方。usr/bin/目录提供了运行该程序命令脚本。...许多“preinst”脚本任务是停止作用于待升级软件包服务,直到软件包安装或升级完成。 postinst脚本主要任务是完成安装包时配置工作。...通常,“postinst脚本等待用户输入,或提醒用户,如果他接受当前默认值,要记得软件包安装完后返回重新配置。许多“postinst脚本负责执行有关命令为新安装或升级软件重启服务。...因为在安装本包时,只需要更新菜单项,所以postinst脚本只需要包含update-menus命令,卸载时也是同样操作。其postinst脚本内容为: 程序清单一 #!...包) 5) postinst (用于安装和卸载时调用脚本) 将上述所有文件放置一目录,并在该目录下新建mkeclipse脚本,主要用于完成上面的工作,其内容如下: #!

    2.9K30

    何在 Ubuntu 安装最新 Python 版本

    目前使用 Python 有两个主要版本 – 2 和 3(Python 现在和未来);前者不会出现主要版本,而后者正在积极开发,并且在过去几年中已经发布了许多稳定版本。...Python 3 最新稳定版本版本 3.11。 在较 Ubuntu 版本上,预安装了 Python 3.10 或 Python 3.8,而较旧 Ubuntu 版本则不然。...在本文中,我们将解释如何使用 deadsnakes PPA 通过 apt 包管理器在所有 Ubuntu 版本安装最新 Python 3.11 版本。...要从所有主要 Linux 发行版安装最新版本 Python,请查看本指南: Install 要安装最新 Python 3.11 版本,您可以使用“deadsnakes”团队 PPA,其中包含为...quit() OR exit() 设置默认版本 如果您在 Ubuntu 系统安装了多个版本 Python,并且只想将一个版本设置为默认版本,那么您需要执行一些额外步骤,如图所示。

    1.7K40

    何在代码获取Java应用当前版本号?

    最近需要在项目中获取项目的版本号,最笨方法莫过于硬编码一个版本号,当然我也是这么干。不过闲下来时候突发奇想Spring Boot项目中pom.xml定义版本号能不能通过API获得呢?...从配置文件读取 Maven在构建项目时可以通过资源插件将构建属性即pom.xml属性注入到指定资源文件,具体操作为: ... <!...Spring Boot提供 Spring Boot其实已经内置了获取项目构建信息自动配置ProjectInfoAutoConfiguration,它包含一个条件BeanBuildProperties:...spring-boot-version", "time" : { "epochSecond" : 1620664643, "nano" : 591000000 } } 总结 今天介绍了几种从通过API获取项目构建版本信息方法...线上SQL脚本执行错了出事之后互相甩锅怎么办三孩政策来了!网友:65岁没死,要带9个孙儿;限购两套房怎么分?

    3.2K20

    何在virtualenv环境安装指定python版本

    如果不指定python版本,则默认使用环境变量python版本 可使用-p PYTHON_EXE选项在创建虚拟环境时候指定Python版 1 #创建python2.7虚拟环境 2 virtualenv...在开发Python应用程序时候,系统安装Python3只有一个版本:3.4。所有第三方包都会被pip安装到Python3site-packages目录下。...首先,我们用pip安装virtualenv: $ pip3 install virtualenv 然后,假定我们要开发一个项目,需要一套独立Python运行环境,可以这么做: 假如我们当前在flasky...文件夹 virtualenv为应用提供了隔离Python运行环境,解决了不同应用间多版本冲突问题。...未经允许不得转载:肥猫博客 » 如何在virtualenv环境安装指定python版本

    6.6K40

    何在代码获取Java应用当前版本号?

    最近需要在项目中获取项目的版本号,最笨方法莫过于硬编码一个版本号,当然我也是这么干。不过闲下来时候突发奇想Spring Boot项目中pom.xml定义版本号能不能通过API获得呢?...从配置文件读取 Maven在构建项目时可以通过资源插件将构建属性即pom.xml属性注入到指定资源文件,具体操作为: ... 恰好spring-boot-starter-parent已经设置了这种方式。...Spring Boot提供 Spring Boot其实已经内置了获取项目构建信息自动配置ProjectInfoAutoConfiguration,它包含一个条件BeanBuildProperties:...spring-boot-version", "time" : { "epochSecond" : 1620664643, "nano" : 591000000 } } 总结 今天介绍了几种从通过API获取项目构建版本信息方法

    5.9K20

    dpkg详解_historian授权

    1. dpkg描述 dpkg是一个安装、创建、移除和管理debian工具。更多使用界面友好dpkg前端”dselect”,。...安装步骤如下: 1). 导出新包控制文件。 2). 如果相同包另一个版本安装前已经被安装,执行旧包prerm脚本程序。 3)....如果由包提供,运行postinst脚本。 4). 解压新文件同时备份旧文件,如果遇到问题以便修复。 5). 如果另一个版本同一个包在安装前已经安装,执行旧包postrm脚本。.../nano_1.3.10-2_i386.deb 当使用 dpkg 安装软件包时, 主要分为两个阶段: 首先解包; 然后运行postinst控制脚本(如果有的话),这就是所谓配置阶段....所有的文件都被解除了(从系统删除了). * 运行postrm脚本.如果还存在,运行postrm脚本.

    3.3K10

    opkg 更新软件

    如果安装过程报错,可根据具体错误,参考 OpenWrt 官网 OPKG软件包管理 强制性选项 进行操作。...debian-binary 文本文件包含二进制软件包版本号,该版本号应该是 2.0 。...control.tar.gz 文件包含控制文件、postinst 文件和 prerm 文件,postinst 文件包含了有关在安装了该软件包后如何做指令,而 prerm 文件则包含了除去指令。...data.tar.gz 包含软件包实际“有效载荷”。即,它包含一个带有程序全部相关文件文件系统,这些文件在安装时会被放到系统文件系统适当位置。...那么,该文件是怎样生成呢。在OpenWrt源码,存在 scripts/ipkg-make-index.sh 脚本,通过该脚本生成相应 Packages.gz 。

    2.7K10

    何在Windows系统安装5.7.26版本MySQL?

    我们在开发和测试产品时,往往都需要用到 MySQL,那么今天来和大家分享一下:如何在 Windows 系统安装 5.7.26 版本 MySQL。...bin 目录下执行mysqld --initialize --console 记录密码图片4)cd 切换至 mysql bin 下执行安装....TSINGSEE青犀视频聚焦于视频流媒体技术研发与拓展,在视频能力与服务上,不断结合AI、大数据、边缘计算、物联网等新兴技术,丰富平台功能模块,触达用户多样化场景需求。...目前我们已经面向市场推出多元化视频平台,EasyCVR、EasyGBS、EasyDSS、EasyNVR等,能实现多类型设备接入、多协议支持、多格式视频流输出、多终端平台兼容。...感兴趣用户可以前往演示平台进行体验或部署测试。

    92140

    Docker 容器应用构建 deb 包

    公司名:google 安装应用名:chrome 应用包含镜像名:chrome-interface 此脚本支持多个镜像,这种情况下,应用安装后会创建多个容器 镜像在harbor仓库项目组:chrome-group...control: 应用信息 copyright:版权声明 changlog:修改记录 preinst:安装之前执行 shell 脚本 postinst安装之后执行 shell 脚本 prerm:卸载之前执行...shell 脚本 postrm:卸载之后执行 shell 脚本 打包脚本 build/package-deb.sh 配置打包包含镜像,以及对应版本 环境检测 下载镜像 重新给镜像打tag,隐藏公司镜像仓库地址...过低,请安装23.0.0以上docker版本" exit 1 fi if !...脚本结束\n" 卸载前执行脚本 build/deb/DEBIAN/prerm 停止、删除容器 删除应用相关镜像 删除应用文件(没有删除应用数据,因为更新时会先执行卸载脚本) #!

    42320

    CPack 入门指南

    _ scripts |-- preinst // 安装前执行脚本 |-- postinst // 安装后执行脚本...set(CPACK_SET_DESTDIR ON) # 设置安装目录路径 set(CPACK_INSTALL_PREFIX "/home/vesoft/install") # 这是生成安装版本号信息...、卸载前后做一些事情时,可以通过写相应脚本文件: preinst:安装脚本文件 postinst安装脚本文件 prerm:卸载前文件 postrm:卸载后文件 在上述 CMakeLists.txt...}/scripts/prerm) # 设置安装后执行脚本文件 postinst set(CPACK_RPM_POST_INSTALL_SCRIPT_FILE ${CMAKE_CURRENT_SOURCE_DIR...更多… CPack 有很多参数,不同版本参数有些差异,想要了解更多,可以去 CMake 官网查看,见 CPack。或直接通过 CPack --help 获取参数描述。

    2.5K51

    打rpm包是如此迅速(go语言之美)

    喜欢我文章,点击上方“编程三分钟”关注,不加班时更新。 回复“资源”,获取一份专属大礼包。 真爱,加个“星标” 或者点个“在看”。 之前写过一篇如何手操rpm包,这次写写go语言打包有多爽。 ?...vim lrzsz git 2.2.1 版本 先用源安装 yum install git -y 如果安装完发现git版本不对就手动安装(参考今天第二篇文章) 编译好 go 文件或者等待安装文件...files 要拷贝到rpm包文件,from to 从本地某个文件到包内目录。..."postinst": "ci/package/rpm/postinst" 安装完执行脚本 脚本内容 systemctl daemon-reload 我打算把这个服务用systemctl托管起来,如果不需要删掉就可以...我们还学会了新建一个目录专门防止go语言共同包以及编译好go二进制文件,当作命令使用。

    65820

    debian系统里面 dpkg命令怎么使用

    dpkg是Debian中级软件包管理器,类似RPM. dpkg是Debian软件包管理系统中流砥柱,负责安全卸载软件包,配置,以及维护已安装软件包.也是Debian系统众多软件包管理工具后端..... .prerm 脚本Debian报解包之前运行,主要作用是停止作用于即将升级软件包服务,直到软件包安装或升级完成. .postinst脚本是完成Debian包解开之后配置工作,通常用于执行所安装软件包相关命令和服务重新启动.../var/lib/dpkg/available文件内容是软件包描述信息,该软件包括当前系统所使用Debian安装所有软件包,其中包括当前系统安装和未安装软件包. ==========...例如查找跟vim有关软件包,dpkg –l |grep –ivim (发现iU 表示软件包未安装成功,ii表示安装成功) 查看已安装软件包详细情况 dpkg –s 命令查看软件包详细情况,包括版本...卸载软件包并清除配置文件 dpkg –P 用于卸载软件包同时也删除配置文件,dpkg –P 不能解决Dpends问题,建议卸载时使用apt-get操作 重新配置软件包 对于Debian系统众多软件包

    1.7K40

    ubuntu安装软件和查看已安装软件

    ubuntu安装和查看已安装 说明:由于图形化界面方法(Add/Remove......,说明、大小、版本等) apt-get install # ------(package 安装包) apt-get install # -----(package --reinstall 重新安装包)...apt-get upgrade [-u] 升 级所有已经安装包为最新可用版本。不会安装或移除老包。如果一个包改变了依赖关系而需要安装一个包,那么它将不会被升级,而是标志为 hold。...以 ".postinst"      角本是完成Debian包解开之后配置工作,通常用来执行所安装软件包相关命令和服务重新启动....包括当前系统中所有使用Debian安装源中所有的软件包,还包括当前系统已经安装和未安装软件包. 1.dpkg包管理工具 dpkg -r 卸载软件包.不是完全卸载,它配置文件还存在. dpkg

    10.6K117

    何在Debian 9上安装Node.js.

    在本指南中,我们将向您展示如何在Debian 9服务器上开始使用Node.js. 先决条件 本指南假设您使用Debian 9。...如果你想了解如何在其他关于Node.js文章,你可以参考如何在Ubuntu16.04上安装Node.js 为Debian安装Distro-Stable版本 Debian在其默认存储库包含一个Node.js...在您主目录,使用curl检索首选版本安装脚本,确保使用你喜欢版本字符串来替换10.x(如果不同): cd ~ curl -sL https://deb.nodesource.com/setup_...install_nvm.sh 使用nano检查安装脚本: nano install_nvm.sh 使用bash运行脚本: bash install_nvm.sh 它会将软件安装到~/.nvm主目录子目录...要访问该nvm功能,您需要注销并重新登录或获取~/.profile文件,以便当前会话了解更改: source ~/.profile 随着nvm安装,您可以安装独立Node.js版本

    6.1K50

    何在Debian11上安装 Mysql Server 8

    确保服务器是最新 在开始之前,让我们确保我们 debian 服务器是最新,使用此命令更新服务器包: sudo apt update sudo apt upgrade -y 接下来,让我们安装我们在教程需要常用包...sudo apt install -y curl vim 2.为mysql 8安装设置repo Mysql server 8 在默认 Debian 存储库不可用,mysql 团队提供了一个可下载...首先,刷新存储库以从添加存储库获取最新信息: sudo apt update 然后使用以下命令安装 Mysql 8 Server: sudo apt install -y mysql-server...使用此命令检查已安装信息以确认我们安装了我们想要 mysql 版本: $ apt-cache policy mysql-server mysql-server: Installed: 8.0.27...mysql服务 在 debian ,Mysql 服务器默认是 styarted。

    4.7K32

    OPKG命令执行过程分析

    之前),Opkg会从Lists文件(/var/lib/opkg/lists目录下)获取所有软件包信息,如果一个软件名字有有多个软件库提供,则把所有提供该软件包软件库放到provided_by,在检查是否安装软件时...,旧软件没有,那么需要安装依赖(有点绕); (8) 安装维护脚本:老式ipk文件(*)是一个gz格式压缩包,里面有3个文件: ~ $ tar -tvf binutils_2.24-2_x86....注:这里使用了一个词“老式ipk文件”,在v0.3.0版本opkg上,软件包格式是ar,并且不再支持gz格式,由于暂时找不到新式软件包,所以暂时无法使用opkg安装老式ipk软件。...软件包配置,是通过运行postinst脚本,这个脚本位于info_dir下面,以“软件包名称 . postinst”命名,如果存在这个文件,opkg通过 system() 函数,执行命令: sh -c...$postinst configure 由于暂时没有发现包含postinst脚本软件,所以这个过程暂时不知。

    2.7K30
    领券