Tag: 软件更新

为embedded式Linux设备实现更新/升级系统

我有一个在embedded式Linux设备上运行的应用程序,偶尔也会对根文件系统甚至已安装的内核进行更改。 在当前的更新系统中,旧的应用程序目录的内容被简单地删除,新的文件被复制。 当对根文件系统进行更改时,新文件将作为更新的一部分进行传送,并简单地复制到旧文件中。 现在,目前的方法有几个问题,我正在寻找方法来改善这种情况: 用于创build文件系统映像的目标的根文件系统没有版本化(我认为我们甚至没有原始的rootfs)。 进入更新的rootfs文件是手动select的(而不是diff) 更新不断增长,并成为皮塔饼。 升级包含更大的rootfs更改的升级/升级之间现在是分开的。 我有这样的印象,即一旦更新的一致性检查是相当脆弱的,如果在所有的实施。 要求是: 应用程序更新程序包不应太大,并且必须能够在修改已完成的情况下更改根文件系统。 升级可能会更大,只包含进入根文件系统的内容(如新库,内核等)。 更新可能需要升级才能安装。 升级包含整个根文件系统,只需在目标的闪存驱动器上做一个dd ? 创build更新/升级包应尽可能自动。 我绝对需要一些方法来对根文件系统进行版本控制。 这必须以某种方式完成,我可以从中计算一些diff ,用来更新目标设备的rootfs。 我已经看过Subversion,因为我们使用它来源代码,但是这对Linux根文件系统(文件权限,特殊文件等)是不合适的。 我现在创build了一些shell脚本,可以给我一些类似于svn diff shell脚本,但是我真的很想知道是否已经存在一个工作和testing的解决scheme。 使用这样的diff ,我想升级将成为一个包含基于已知根文件系统状态的增量更新的包。 你对此有什么想法和想法? 你将如何实施这样一个系统? 我更喜欢一个简单的解决scheme,可以在不太多的时间内实现。

我如何更新Node.js?

我做了以下更新我的npm: npm update npm -g 但我不知道如何更新Node.js。 有什么build议么? (我使用的是Node.js 0.4.1,想更新到Node.js 0.6.1。)