在嵌入式系统中使用opkg做版本升级

在嵌入式系统中使用opkg做版本升级一、opkg工具版本使用opkg0.3.5版本,原buildroot自带是opkg0.3.0版本,opkg0.3.0版本不支持.gz文件的解压,所以需要升级到opkg0.3.5版本。opkg工具的默认配置文件目录:/etc/opkg/opkg.conf包服务器地址:http://sylk-sh-buffer.oss-cn-beijing.aliyuncs.com/pac…

大家好,又见面了,我是你们的朋友全栈君。

 

一、opkg工具版本

使用opkg0.3.5版本,原buildroot自带是opkg0.3.0版本,opkg0.3.0版本不支持.gz文件的解压,所以需要升级到opkg0.3.5版本。

opkg工具的默认配置文件目录:

   /etc/opkg/opkg.conf

包服务器地址:http://sylk-sh-buffer.oss-cn-beijing.aliyuncs.com/packageBuffer/update/packages/base

 

二、.ipk包的打包

1、打包命令:ipkgmake 包名 版本号 版本信息文件 文件列表

 

版本信息文件(control文件)内容格式:

Package:

Source:

Priority:

Section:

Maintainer:

Architecture: aarch64

Version:

Depends:

Description:

 

文件内容经调查可自定义增加,在包装完成后会安装在/var/lib/opkg/info目录下,文件为:包名.control,文件列表信息文件为:包名.list(记录安装的文件及目录信息)。

 

2、packages文件生成

使用工具命令:ipkg-make-index.sh ipk包目录

作用:将所有包的control信息、对应ipk包的md5sum和sha256sum校验值、包文件大小输出到Packages文件。

输出文件:Packages、Packages.gz

需要编译服务器支持md5sum、sha256sum校验工具。

Packages文件说明:此文件信息是记录包的control信息+包的md5sum+包的sha256sum+包文件大小,测试中信息字段有2个关键字段ArchitectureFilename2者缺一不可、信息错误也会导致安装失败;Architecture是运行安装系统的CPU体系、opkg install时会读取Architecture与当前系统信息进行匹配、如CPU体系为aarch64Filenameopkg install时要下载服务器上的包文件名(例如:cms-0.0.3.ipk)。

 

3、opkg命令相关

Opkg配置文件默认目录: /etc/opkg/opkg.conf

使用其它目录:opkg –f 配置文件目录

opkg install 包名|包路径

安装:

在嵌入式系统中使用opkg做版本升级

测试发现安装下载的ipk包在安装完后就删除了、本地找不到.ipk包。

 

卸载:

在嵌入式系统中使用opkg做版本升级

重新安装:

在嵌入式系统中使用opkg做版本升级

重新安装时没有提示下载ipk包,原因待调查

 

此外,测试opkg install不能同时安装同一个ipk包。

在一个包安装过程中,如果再install这个包,会有以下安装错误提示:

在嵌入式系统中使用opkg做版本升级

在安装完成后,再install这个包,会有以下安装错误提示:

在嵌入式系统中使用opkg做版本升级

 

opkg list-installed:显示已安装完包的信息。

在嵌入式系统中使用opkg做版本升级

 

opkg update:执行下载服务器端的Packages.gz文件,文件下载后,将解压的文件放到 默认目录/var/lib/opkg/lists下面,并重全名为barrier_breaker_base,这个文件里包含了服务器端Package里面所有的软件包的信息,

 

opkg info:显示包安装的相关信息,此信息与包的control文件信息不同

 

 

在嵌入式系统中使用opkg做版本升级

如上图,cms是在本地直接安装ipk包的,在信息里没有检验及包文件名等信息,perconn是从服务器端同步安装过的、信息里包含有校验、此信息是从/var/lib/opkg/lists/barrier_breaker_base文件里获取,barrier_breaker_base文件是从服务器下载下来的Packages文件。

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/132237.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Python中的字符串切片(截取字符串)

                            字符串索引示意图字符串切片也就是截取字符串,取子串Python中字符串切片方法字符串[开始索引:结束索引:步长]切取字符串为开始索引到结束索引-1内的字符串步长不指定时步长为1字符串[开始索引:结束索引]练习样例#1.截取2-5位置的字符num_str_1=num_str[2:6]print(num_…

  • PHP7数组的底层实现

    PHP7数组的底层实现

  • linux阻塞与非阻塞(connect连接超时)

    非阻塞connect详情介绍可以参见文章:https://blog.csdn.net/qq_41453285/article/details/89890429一、非阻塞connect概述man手册connect的man手册有如下一段内容:EINPROGRESSThesocketisnonblockingandtheconnectioncannotbe…

  • CUDA、CUDNN在windows下的安装及配置

    CUDA、CUDNN在windows下的安装及配置参考文章全网最详细|Windows安装TensorFlow2.0GPU详细教程Wind10安装anaonda+cuda10.1+cudnn+pytorch+tensorflow-gpuwin10+GTX1050Ti+anaconda3+tensorflow1.14.0+cuda10.0+cudnn7.6.1.34(带GPU使用检测)一、安装前的准备(1)查看自己N卡…

  • 如何通过异业联盟会员体系赋能实体商家?完善消费者的会员权益[通俗易懂]

    如何通过异业联盟会员体系赋能实体商家?完善消费者的会员权益[通俗易懂]2015年房地产行业进入白银时代,市场竞争异常剧烈,目前有万达、大禹加州湾、宏泰第一城等诸多项目,那类似的行业怎样在这激烈的市场竞争中立于不败之地?怎样才能占据更多的市场份额?怎样才能以更少的投入取得更大的回报?需要解决以上种种问题难吗?也未必难,今天向大家提出更好的方案和方法:异业联盟。异业联盟的好处1、对企业来讲可以让客户资源从10变成100甚至1000这也是资源整合,资源营销的核心。2、减少广告费用的投入,而把一部分广告的费用转嫁给消费者,为消费者省钱,符合“客

  • datagrip mac激活码【2021.8最新】「建议收藏」

    (datagrip mac激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~S32PGH0SQB-eyJsaWNlb…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号