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