怎么模仿docker coreos设计一个双核心操作系统
发表于 : 2022-09-07 21:43
从coreos获得的灵感 把一个操作系统分成os0和os1 随便使用其中一个 另外一个作为备份 一旦升级出错就可以随时降级 同样的设计也出现在fedora coreos 我也遇到了这个问题 也就是除了主系统最好还是要有一个备用系统 以前用启动u盘 后来发现备用系统还是要和主系统一模一样才方便 那么问题来了 需要做双核心系统
我是这么做的 苦btrfs很久了 这次顺便彻底放弃了btrfs和lvm 磁盘回归了最原始的ext MBR模式 三个分区 1区存数据 2区3区做系统 先把操作系统Ubuntu fedora archlinux的任何一个放到2区 然后修复一下boot和fstab 接下来在常用操作系统扩展包里面增加两个函数 一个是pacman.push 作用是把主系统全盘rsync --delete到备用系统 一个是pacman.checkout 作用是修改boot grub.cfg 如果default等于0就改成1 如果等于1就改成0 只需要两个函数就可以实现coreos的这个功能 终于可以彻底放弃btrfs snapshot了
碰到两个难点 如果用python做 会很容易 但是我很反感python 而用c++ df | egrep 2区 如果有2区说明3区是主分区 如果没2区说明2区是主分区 这么个简单的判断python只需要三两行 c++我卡这里了
我是这么做的 苦btrfs很久了 这次顺便彻底放弃了btrfs和lvm 磁盘回归了最原始的ext MBR模式 三个分区 1区存数据 2区3区做系统 先把操作系统Ubuntu fedora archlinux的任何一个放到2区 然后修复一下boot和fstab 接下来在常用操作系统扩展包里面增加两个函数 一个是pacman.push 作用是把主系统全盘rsync --delete到备用系统 一个是pacman.checkout 作用是修改boot grub.cfg 如果default等于0就改成1 如果等于1就改成0 只需要两个函数就可以实现coreos的这个功能 终于可以彻底放弃btrfs snapshot了
碰到两个难点 如果用python做 会很容易 但是我很反感python 而用c++ df | egrep 2区 如果有2区说明3区是主分区 如果没2区说明2区是主分区 这么个简单的判断python只需要三两行 c++我卡这里了