linux java升级版本_为嵌入式Linux设备实现更新/升级系统
我有一個(gè)在嵌入式Linux設(shè)備上運(yùn)行的應(yīng)用程序,并且偶爾會(huì)對(duì)軟件進(jìn)行更改,有時(shí)也會(huì)對(duì)根文件系統(tǒng)甚至已安裝的內(nèi)核進(jìn)行更改 .
在當(dāng)前的更新系統(tǒng)中,只刪除舊應(yīng)用程序目錄的內(nèi)容,并在其上復(fù)制新文件 . 當(dāng)對(duì)根文件系統(tǒng)進(jìn)行更改時(shí),新文件將作為更新的一部分傳遞,并簡(jiǎn)單地復(fù)制到舊文件上 .
現(xiàn)在,目前的方法存在一些問(wèn)題,我正在尋找改善這種情況的方法:
用于創(chuàng)建文件系統(tǒng)映像的目標(biāo)的根文件系統(tǒng)未進(jìn)行版本控制(我認(rèn)為我們甚至沒(méi)有原始rootfs) .
手動(dòng)選擇進(jìn)入更新的rootfs文件(而不是diff)
更新不斷增長(zhǎng),成為皮塔餅 . 現(xiàn)在,更新/升級(jí)之間存在拆分,其中升級(jí)包含更大的rootfs更改 .
我的印象是,如果完全實(shí)現(xiàn),更新中的一致性檢查相當(dāng)脆弱 .
要求是:
應(yīng)用程序更新包不應(yīng)太大,并且必須能夠在已進(jìn)行修改的情況下更改根文件系統(tǒng) .
升級(jí)可以更大,只包含進(jìn)入根文件系統(tǒng)的內(nèi)容(如新庫(kù),內(nèi)核等) . 更新可能需要安裝升級(jí) .
升級(jí)是否可以包含整個(gè)根文件系統(tǒng),只需在目標(biāo)的閃存驅(qū)動(dòng)器上執(zhí)行 dd ?
創(chuàng)建更新/升級(jí)包應(yīng)盡可能自動(dòng)化 .
我絕對(duì)需要一些方法來(lái)對(duì)根文件系統(tǒng)進(jìn)行版本控制 . 這必須以某種方式完成,我可以從中計(jì)算某種 diff ,它可以用來(lái)更新目標(biāo)設(shè)備的rootfs .
我已經(jīng)查看了Subversion,因?yàn)槲覀儗⑺糜谠创a,但這對(duì)Linux根文件系統(tǒng)(文件權(quán)限,特殊文件等)不合適 .
我現(xiàn)在已經(jīng)創(chuàng)建了一些shell腳本,可以給我一些類似于 svn diff 但我真的想知道是否已經(jīng)存在一個(gè)可行的,經(jīng)過(guò)測(cè)試的解決方案 .
使用這樣的 diff ,我想升級(jí)將簡(jiǎn)單地成為包含基于已知根文件系統(tǒng)狀態(tài)的增量更新的包 .
你對(duì)此有何看法和想法?你會(huì)如何實(shí)現(xiàn)這樣的系統(tǒng)?我更喜歡一個(gè)簡(jiǎn)單的解決方案,可以在不太長(zhǎng)的時(shí)間內(nèi)實(shí)現(xiàn) .
總結(jié)
以上是生活随笔為你收集整理的linux java升级版本_为嵌入式Linux设备实现更新/升级系统的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java 1..0 openjdk_ja
- 下一篇: linux oracle流复制,orac