下面会一步步教你如何使用Yocto的动态rpm软件包管理功能,以及相应的dnf工具。

  • 更改build/conf/local.conf,添加如下代码:
PACKAGE_CLASSES = "package_rpm"
PACKAGE_FEED_URIS = "http://<local-machine-ip>:5678"
EXTRA_IMAGE_FEATURES += " package-management "
  • 选择一个镜像(rootfs)编译,比如 core-image-full
$ bitbake core-image-full
  • 编译完成后,创建包索引:
$ bitbake package-index
  • 创建一个简单的包管理服务器
$ cd build/tmp/deploy/rpm
$ python -m SimpleHTTPServer 5678        #python2
或者
$ python -m http.server 5678                     #python3
  • 把core-image-full镜像部署到相应的嵌入式目标板上后,启动系统然后更新包索引(请确保目标板和包管理服务器建立网络连接):
$ dnf makecache
  • 此时,只有在包索引中列出的包可用,因此我们需要构建一些不同的东西,比如Vim:
$ bitbake vim
$ bitbake package-index
  • 在目标板上面更新包索引并安装软件包:
$ dnf makecache
$ dnf info vim
$ dnf install vim
  • 如果要删除软件包,使用如下命令:
$ dnf erase vim

为何这种动态包管理仅能用于开发阶段?

在开发阶段,我们更感兴趣的是安装软件包,这样就无需构建和更新整个镜像文件(rootfs),所以完全不担心该软件包将持续多长时间或提供给谁。但是,在使用过程中还有很多其他重要问题需要考虑,例如:

  • HTTP 服务器是否安全?(本文中的服务器显然是不安全的)
  • 包依赖关系链是否正确实现?
  • 是否满足所有包版本的包依赖关系链?
  • 如果一个软件包被更新,所有依赖关系链都必须更新吗?

在开发阶段,我们更多地考虑安装缺少的软件包。但是在产品生产和发布阶段,最重要的是正确和安全的更新软件包,显然本文中的方法并不是很适用。

Yocto动态软件包管理(Runtime Package Management)之:rpm和dnf相关推荐

  1. 第十五章 : 软件包管理

    软件包管理 If we spend any time in the Linux community, we hear many opinions as to which of themany Linu ...

  2. 漫漫运维路——基于CentOS6平台软件包管理2

    上文(http://7703592.blog.51cto.com/7693592/1631539)已经介绍过使用rpm对CentOS6上的软件包进行管理,之所以强调是在CentOS6之上,是因为在新出 ...

  3. 用于软件包管理的21个Linux YUM命令 转载

    http://flycars001.iteye.com/blog/1949085 YUM到底是啥东东? YUM(Yellowdog Updater Modified)是一款开源命令行及图形化软件包管理 ...

  4. yum(Fedora和RedHat以及SUSE中的Shell前端软件包管理器)命令详解

    yum官方网站:http://yum.baseurl.org/ Fedora对于yum的介绍:http://fedoraproject.org/wiki/Yum yum(全称为 Yellow dog ...

  5. 用于软件包管理的21个Linux YUM命令

    FROM:http://os.51cto.com/art/201309/411895.htm YUM(Yellowdog Updater Modified)是一款开源命令行及图形化软件包管理工具,面向 ...

  6. linux软件包管理解析,linux学习笔记_09_软件包管理解析.doc

    linux学习笔记_09_软件包管理解析 软件包管理 软件包分类 源码包(C语言编写的源代码) linux主要由C语言来写. 源码包可以用写字板打开 脚本安装包:源码包进行再开发的源码包(提供安装界面 ...

  7. RHEL8 RPM 与 YUM/DNF 软件包管理基础

    一.RPM软件包管理 1)什么是RPM 2)RPM的优点和缺点 3)RPM的使用权限 4)RPM 基本用法 ① RPM的软件包查询功能 ② RPM的软件包的安装 ③ RPM的软件包的卸载与重建数据库 ...

  8. RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序”...

    rpm 执行安装包 二进制包(Binary)以及源代码包(Source)两种.二进制包可以直接安装在计算机中,而源代码包将会由RPM自动编译.安装.源代码包经常以src.rpm作为后缀名. 常用命令组 ...

  9. 【Linux扩展】五、软件包管理 ——RPM(RedHat Package Manager,RedHat软件包管理工具)查询与卸载、YUM仓库配置

    软件包管理 5.1 RPM 5.1.1 RPM 概述 5.1.2 RPM 查询命令(rpm -qa) 5.1.3 RPM 卸载命令(rpm -e) 5.2 YUM 仓库配置 5.2.1 YUM 概述 ...

  10. 基于Nacos配置中心实现Spring Cloud Gateway的动态路由管理

    前面我们了解过了Sentinel 网关流量控制之Spring Cloud Gateway实战,今天带给大家是基于Nacos配置中心实现Spring Cloud Gateway的动态路由管理. 1.为什 ...

最新文章

  1. Hystrix 熔断器02 —— hystrix 案例之构建
  2. 算法练习day9——190327(“之” 字形打印矩阵、在行列都排好序的矩阵中找数、打印两个有序链表的公共部分、判断一个链表是否为回文结构)
  3. java布尔类型比较器_Java 8比较器类型推论非常困惑
  4. PHP+AJAX 投票器功能
  5. 信息学奥赛C++语言:数字卡片
  6. Java面向对象封装和继承
  7. 如何接入银联“快速接入”产品API
  8. 牛x!基于Springboot 2.0 + LayUI开发的物流管理系统(已开源)
  9. JESD204B 协议解析和参数理解
  10. Hash算法及数字签名【六】
  11. linux 设置mail
  12. 27岁,大专学历,女程序员内心的感受和行业焦虑
  13. 标识符( identifier)
  14. 落魄前端,整理给自己的前端知识体系复习大纲(上篇,2w字)
  15. 阿里云物联网Iot设备上下线状态数据流转的设置
  16. 闲云野鹤:吃鸡(三)之场景制作:制作毒圈
  17. php一点通,编程一点通app下载-编程一点通安卓版下载v1.0.1-游迅网
  18. UVa 11437 (梅涅劳斯定理) Triangle Fun
  19. this.$refs 获取不到解决办法
  20. 微信小程序 - eCharts- x轴换行和旋转45°

热门文章

  1. lodop直接打印服务器的文件,C-Lodop云打印服务器
  2. Access数据库压缩失败后修复经历
  3. 怎么样才算是精通 C++?
  4. linux 退出vi报e37,vim模式下报错E37: No write since last change (add ! to override)
  5. BokTalk块说全球首款基于区块链技术的即时通讯系统
  6. PostgreSQL+PostGIS下载和离线安装
  7. webkit 学习笔记 - 1. 浏览器与浏览器内核
  8. TQ2440——NandFlash分区修改
  9. python excel openpy_python处理excel文件
  10. C#判断是否是节假日