一、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做版本升级相关推荐

  1. 嵌入式系统中时间的应用以及rtc的验证过程

    在嵌入式系统中时间分为3种,分别为当前时间,系统时间,硬件时间,三种之间有一定的关联关系,如果开发板没有电池,用于保持开发板的时钟,那么当开发板断电后,时钟恢复为默认时间,一般为1970年1月1日,0 ...

  2. 嵌入式系统中看门狗概述。。。

    一直以来对于嵌入式中的watch dog(看门狗)都比较陌生,一直都不知道它到底是做什么的,单从名字上看也不知其所以然,然后就在网上找到了一篇blog,就是再说看门狗的作用和概述,原文如下: 1.概述 ...

  3. Nginx在嵌入式系统中的应用

    -----------------本文转载自 http://blog.csdn.net/xteda/article/details/39708009 ------------------------- ...

  4. 网络通讯技术在嵌入式系统中的应用

    网络通讯技术在嵌入式系统中的应用 一.嵌入式系统的由来 1.1 嵌入式系统的概念:       嵌入式系统是以应用为中心,以现代计算机技术为基础,能够根据用户需求(功能.可靠性.成本.体积.功耗.环境 ...

  5. 嵌入式系统中看门狗的使用

    最近需要在板子上加上一块WatchDog,以确保在系统出错时自动重启,所以看了一些在嵌入式系统中使用看门狗的资料,现在总结如下: 一.看门狗原理     在产品化的嵌入式系统中,为了使系统在异常情况下 ...

  6. 嵌入式系统中进程间通信的监视方法

    概述 复杂的嵌入式系统中,常常同时运行着相当多的进程.这些进程之间频繁的进行着大量的通信动作.进程的运行状态与这些不断发生的通信有着直接和紧密的联系.通过对进程间通信的监视,开发人员可以掌控系统内部运 ...

  7. python好还是c+-嵌入式系统中,Python与C/C++哪方更为适用?

    [51CTO.com快译]长久以来,C/C++一直编译着嵌入式系统编程领域,但二者亦拥有自己的缺陷.相比之下,Python则成为嵌入式系统中的另一大***语言选项.在今天的文章中,我们将共同探讨双方的 ...

  8. 【原创】QT在嵌入式系统中显示中文的方法

    [原创]QT在嵌入式系统中显示中文的方法 此篇文章主要借鉴:http://zzqh007.blog.163.com/blog/static/44434847201011312168296/ 移植QT4 ...

  9. 嵌入式系统中对汉字的处理

    现在要解决的问题是,嵌入式系统中经常要使用的并非是完整的汉字库,往往只是需要提供数量有限的汉字供必要的显示功能.例如,一个微波炉的LCD上没有必要提供显示"电子邮件"的功能: 一个 ...

最新文章

  1. java 方法查询_java 几种查询方式【转】
  2. .9文件,展示后显示黑条问题的解决
  3. python3.8自带matlop和numpy吗_Python enlop包_程序模块 - PyPI - Python中文网
  4. ubuntu下解决oracle sqlplus不能查看历史命令问题
  5. 【转载】async await 的前世今生(Updated)
  6. python定时任务框架_Python定时任务框架APScheduler
  7. 【连载】人类唯一的出路:变成人工智能(二)脑机接口
  8. 绝对定位(HTML、CSS)
  9. PLC可编程控制器的应用
  10. 涨点神器!特征金字塔技术总结
  11. 儿童节特刊 | 如何练好手眼协调能力(手眼标定详解,附源码)
  12. deepfacelab实践笔记
  13. PTA创建视图,包含商品打折前后的价格信息
  14. 隔壁老王和老宋的战争
  15. 花了3个小时解决了和异地女朋友一起看电影的需求(内附源码)
  16. docker 安装linux镜像制作,制作ubuntu完整版docker镜像
  17. CSS background-clip
  18. 字节跳动,正在动摇腾讯的根基
  19. 高富帅的颜色插值方法:在视觉感知线性变化的色彩空间中进行颜色插值
  20. 机器学习(3)——无监督学习

热门文章

  1. Docker 被墙的解决方法
  2. Alpine Linux 安装 python3.6
  3. 向世界问好--用python写第一个属于自己的代码
  4. 2020.10.27 北京阿里大文娱一面总结
  5. 将NALU封装成RTP包
  6. Nhanes临床数据库挖掘教程2—非正态数据的基线表绘制(2)
  7. ArcGIS符号库制作流程
  8. cbow和skip-gram实现关键代码解析
  9. SQL学习-基础课程
  10. fresco 图片加载