首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >在嵌入式系统中使用opkg做版本升级

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

作者头像
全栈程序员站长
发布2022-06-30 18:19:46
发布2022-06-30 18:19:46
1.8K0
举报

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

一、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个关键字段Architecture和Filename、2者缺一不可、信息错误也会导致安装失败;Architecture是运行安装系统的CPU体系、opkg install时会读取Architecture与当前系统信息进行匹配、如CPU体系为aarch64,Filename是opkg install时要下载服务器上的包文件名(例如:cms-0.0.3.ipk)。

3、opkg命令相关

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

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

opkg install 包名|包路径

安装:

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

卸载:

重新安装:

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

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

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

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

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

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

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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档