我想使用 Opkg 更新两个不同的基于 Linux 3.16 的 RFS 分区。它们都是只读安装的,并且有一个数据分区,通过 aufs 进行写入覆盖。如何对每个分区进行升级,以便获得原子更新(全部或全无)。有没有 opkg 的方法来做到这一点?
我当前的方法是在安装 r/w 之后,在非启动的 rfs 分区中的 chroot/chdir 下运行更新/安装/升级,但我总是从升级中获得非零退出代码,即使没有“收集的错误” ”报道说。我还尝试使用 .conf 中的设置dest root /.rfs2
安装在非引导的 rfs 中。但是,似乎只有某些软件包正确引用/安装到 .rfs2。
在尝试进一步之前,我只是想看看这是否是一个好的方法,或者是否有更标准的(opkg)方法来做到这一点?任何人都可以提供有关执行此操作的最佳方法的任何说明吗?
df
Filesystem 1K-blocks Used Available Use% Mounted on
ubi0:rootfs 98284 66484 31800 68% /.rfs1
ubi2:data 178908 36664 137404 21% /.data
ubi1:rootfs 98284 66484 31800 68% /.rfs2
编辑:我发现一些 .ipk 文件使用包含 systemctl(enable/start/stop) cmd 的 post 脚本安装,这些 cmd 不能(轻松)?从 chroot 内运行。这些似乎是错误代码的来源。不知道该怎么办。
编辑:我不需要同时更新它们,如果事实上我真的想先更新非引导分区,交换引导分区,验证我刚刚引导到/更新的分区是否有效,然后 nanddump 进行克隆。