Yocto动态软件包管理(Runtime Package Management)之:rpm和dnf
下面会一步步教你如何使用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相关推荐
- 第十五章 : 软件包管理
软件包管理 If we spend any time in the Linux community, we hear many opinions as to which of themany Linu ...
- 漫漫运维路——基于CentOS6平台软件包管理2
上文(http://7703592.blog.51cto.com/7693592/1631539)已经介绍过使用rpm对CentOS6上的软件包进行管理,之所以强调是在CentOS6之上,是因为在新出 ...
- 用于软件包管理的21个Linux YUM命令 转载
http://flycars001.iteye.com/blog/1949085 YUM到底是啥东东? YUM(Yellowdog Updater Modified)是一款开源命令行及图形化软件包管理 ...
- yum(Fedora和RedHat以及SUSE中的Shell前端软件包管理器)命令详解
yum官方网站:http://yum.baseurl.org/ Fedora对于yum的介绍:http://fedoraproject.org/wiki/Yum yum(全称为 Yellow dog ...
- 用于软件包管理的21个Linux YUM命令
FROM:http://os.51cto.com/art/201309/411895.htm YUM(Yellowdog Updater Modified)是一款开源命令行及图形化软件包管理工具,面向 ...
- linux软件包管理解析,linux学习笔记_09_软件包管理解析.doc
linux学习笔记_09_软件包管理解析 软件包管理 软件包分类 源码包(C语言编写的源代码) linux主要由C语言来写. 源码包可以用写字板打开 脚本安装包:源码包进行再开发的源码包(提供安装界面 ...
- RHEL8 RPM 与 YUM/DNF 软件包管理基础
一.RPM软件包管理 1)什么是RPM 2)RPM的优点和缺点 3)RPM的使用权限 4)RPM 基本用法 ① RPM的软件包查询功能 ② RPM的软件包的安装 ③ RPM的软件包的卸载与重建数据库 ...
- RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序”...
rpm 执行安装包 二进制包(Binary)以及源代码包(Source)两种.二进制包可以直接安装在计算机中,而源代码包将会由RPM自动编译.安装.源代码包经常以src.rpm作为后缀名. 常用命令组 ...
- 【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 概述 ...
- 基于Nacos配置中心实现Spring Cloud Gateway的动态路由管理
前面我们了解过了Sentinel 网关流量控制之Spring Cloud Gateway实战,今天带给大家是基于Nacos配置中心实现Spring Cloud Gateway的动态路由管理. 1.为什 ...
最新文章
- Hystrix 熔断器02 —— hystrix 案例之构建
- 算法练习day9——190327(“之” 字形打印矩阵、在行列都排好序的矩阵中找数、打印两个有序链表的公共部分、判断一个链表是否为回文结构)
- java布尔类型比较器_Java 8比较器类型推论非常困惑
- PHP+AJAX 投票器功能
- 信息学奥赛C++语言:数字卡片
- Java面向对象封装和继承
- 如何接入银联“快速接入”产品API
- 牛x!基于Springboot 2.0 + LayUI开发的物流管理系统(已开源)
- JESD204B 协议解析和参数理解
- Hash算法及数字签名【六】
- linux 设置mail
- 27岁,大专学历,女程序员内心的感受和行业焦虑
- 标识符( identifier)
- 落魄前端,整理给自己的前端知识体系复习大纲(上篇,2w字)
- 阿里云物联网Iot设备上下线状态数据流转的设置
- 闲云野鹤:吃鸡(三)之场景制作:制作毒圈
- php一点通,编程一点通app下载-编程一点通安卓版下载v1.0.1-游迅网
- UVa 11437 (梅涅劳斯定理) Triangle Fun
- this.$refs 获取不到解决办法
- 微信小程序 - eCharts- x轴换行和旋转45°
热门文章
- lodop直接打印服务器的文件,C-Lodop云打印服务器
- Access数据库压缩失败后修复经历
- 怎么样才算是精通 C++?
- linux 退出vi报e37,vim模式下报错E37: No write since last change (add ! to override)
- BokTalk块说全球首款基于区块链技术的即时通讯系统
- PostgreSQL+PostGIS下载和离线安装
- webkit 学习笔记 - 1. 浏览器与浏览器内核
- TQ2440——NandFlash分区修改
- python excel openpy_python处理excel文件
- C#判断是否是节假日