从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++我卡这里了
怎么模仿docker coreos设计一个双核心操作系统
-
- 帖子: 172
- 注册时间: 2010-11-09 3:06
- lilydjwg
- 论坛版主
- 帖子: 4250
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: 怎么模仿docker coreos设计一个双核心操作系统
你是想要 A/B 分区?Deepin 那种?
egrep 已经开始输出警告了,请使用 grep -E。
现在都什么年代了还用 MBR。
没明白你为什么用 C++ 就卡住了。难道你还不太会 C++?那就去学呀。
你这么来回改 fstab 不嫌麻烦么?我觉得你还不如来回改分区或者文件系统的 label。grub 也支持按 label 搜索分区 / 文件系统。
PS: btrfs 的快照功能挺好的呀,又快又省空间。
egrep 已经开始输出警告了,请使用 grep -E。
现在都什么年代了还用 MBR。
没明白你为什么用 C++ 就卡住了。难道你还不太会 C++?那就去学呀。
你这么来回改 fstab 不嫌麻烦么?我觉得你还不如来回改分区或者文件系统的 label。grub 也支持按 label 搜索分区 / 文件系统。
PS: btrfs 的快照功能挺好的呀,又快又省空间。
-
- 帖子: 172
- 注册时间: 2010-11-09 3:06
Re: 怎么模仿docker coreos设计一个双核心操作系统
egrep没有警告
pacman -Qo egrep的回答结果是
/usr/bin/egrep is owned by grep 3.7-1
这本来就是同一个包
当然了 系统和系统之间可能有细微差别 这不重要
我不用c++是因为这整个项目就俩函数 每个函数三五行 加起来都不打算超过十行 用c++没有一百行下不来 更麻烦的是我用c++的习惯很特殊 所有的cpp写在一个文件里面做成类似操作系统一样 维护方便 但是函数就定死了 int function(int, char **)这一个类型 输出字符不很灵活 虽然什么都还是能够做到 但是不是首选
至于fstab 我不改的啊 第一次是做系统的时候修改 毕竟磁盘都格式化了 后面是不改的
push就是系统备份 通过bash rsync实现
checkout就是调用另一个分支 通过bash sed /boot/grub/grub.cfg实现
比较来比较去 最后还是用bash最多 python也用的多 但是不喜欢 c++虽然软件能力很强 但是太费事 而且没办法跨平台到手机上 如果不是个别项目计算量大 还真是没有保留的必要了
pacman -Qo egrep的回答结果是
/usr/bin/egrep is owned by grep 3.7-1
这本来就是同一个包
当然了 系统和系统之间可能有细微差别 这不重要
我不用c++是因为这整个项目就俩函数 每个函数三五行 加起来都不打算超过十行 用c++没有一百行下不来 更麻烦的是我用c++的习惯很特殊 所有的cpp写在一个文件里面做成类似操作系统一样 维护方便 但是函数就定死了 int function(int, char **)这一个类型 输出字符不很灵活 虽然什么都还是能够做到 但是不是首选
至于fstab 我不改的啊 第一次是做系统的时候修改 毕竟磁盘都格式化了 后面是不改的
push就是系统备份 通过bash rsync实现
checkout就是调用另一个分支 通过bash sed /boot/grub/grub.cfg实现
比较来比较去 最后还是用bash最多 python也用的多 但是不喜欢 c++虽然软件能力很强 但是太费事 而且没办法跨平台到手机上 如果不是个别项目计算量大 还真是没有保留的必要了
- lilydjwg
- 论坛版主
- 帖子: 4250
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
-
- 帖子: 172
- 注册时间: 2010-11-09 3:06
Re: 怎么模仿docker coreos设计一个双核心操作系统
我的确喜欢c++ 严格的说我喜欢别人用c++写东西 我自己几乎从来不用 所有的语言我最熟悉c++但是从来不用 我宁愿让电脑多跑一个小时 也不想自己多写两百行
-
- 帖子: 172
- 注册时间: 2010-11-09 3:06