在嵌入式系统中使用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/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文件。
在嵌入式系统中使用opkg做版本升级相关推荐
- 嵌入式系统中时间的应用以及rtc的验证过程
在嵌入式系统中时间分为3种,分别为当前时间,系统时间,硬件时间,三种之间有一定的关联关系,如果开发板没有电池,用于保持开发板的时钟,那么当开发板断电后,时钟恢复为默认时间,一般为1970年1月1日,0 ...
- 嵌入式系统中看门狗概述。。。
一直以来对于嵌入式中的watch dog(看门狗)都比较陌生,一直都不知道它到底是做什么的,单从名字上看也不知其所以然,然后就在网上找到了一篇blog,就是再说看门狗的作用和概述,原文如下: 1.概述 ...
- Nginx在嵌入式系统中的应用
-----------------本文转载自 http://blog.csdn.net/xteda/article/details/39708009 ------------------------- ...
- 网络通讯技术在嵌入式系统中的应用
网络通讯技术在嵌入式系统中的应用 一.嵌入式系统的由来 1.1 嵌入式系统的概念: 嵌入式系统是以应用为中心,以现代计算机技术为基础,能够根据用户需求(功能.可靠性.成本.体积.功耗.环境 ...
- 嵌入式系统中看门狗的使用
最近需要在板子上加上一块WatchDog,以确保在系统出错时自动重启,所以看了一些在嵌入式系统中使用看门狗的资料,现在总结如下: 一.看门狗原理 在产品化的嵌入式系统中,为了使系统在异常情况下 ...
- 嵌入式系统中进程间通信的监视方法
概述 复杂的嵌入式系统中,常常同时运行着相当多的进程.这些进程之间频繁的进行着大量的通信动作.进程的运行状态与这些不断发生的通信有着直接和紧密的联系.通过对进程间通信的监视,开发人员可以掌控系统内部运 ...
- python好还是c+-嵌入式系统中,Python与C/C++哪方更为适用?
[51CTO.com快译]长久以来,C/C++一直编译着嵌入式系统编程领域,但二者亦拥有自己的缺陷.相比之下,Python则成为嵌入式系统中的另一大***语言选项.在今天的文章中,我们将共同探讨双方的 ...
- 【原创】QT在嵌入式系统中显示中文的方法
[原创]QT在嵌入式系统中显示中文的方法 此篇文章主要借鉴:http://zzqh007.blog.163.com/blog/static/44434847201011312168296/ 移植QT4 ...
- 嵌入式系统中对汉字的处理
现在要解决的问题是,嵌入式系统中经常要使用的并非是完整的汉字库,往往只是需要提供数量有限的汉字供必要的显示功能.例如,一个微波炉的LCD上没有必要提供显示"电子邮件"的功能: 一个 ...
最新文章
- java 方法查询_java 几种查询方式【转】
- .9文件,展示后显示黑条问题的解决
- python3.8自带matlop和numpy吗_Python enlop包_程序模块 - PyPI - Python中文网
- ubuntu下解决oracle sqlplus不能查看历史命令问题
- 【转载】async await 的前世今生(Updated)
- python定时任务框架_Python定时任务框架APScheduler
- 【连载】人类唯一的出路:变成人工智能(二)脑机接口
- 绝对定位(HTML、CSS)
- PLC可编程控制器的应用
- 涨点神器!特征金字塔技术总结
- 儿童节特刊 | 如何练好手眼协调能力(手眼标定详解,附源码)
- deepfacelab实践笔记
- PTA创建视图,包含商品打折前后的价格信息
- 隔壁老王和老宋的战争
- 花了3个小时解决了和异地女朋友一起看电影的需求(内附源码)
- docker 安装linux镜像制作,制作ubuntu完整版docker镜像
- CSS background-clip
- 字节跳动,正在动摇腾讯的根基
- 高富帅的颜色插值方法:在视觉感知线性变化的色彩空间中进行颜色插值
- 机器学习(3)——无监督学习