惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Schneier on Security
F
Fortinet All Blogs
博客园_首页
The GitHub Blog
The GitHub Blog
V
Visual Studio Blog
D
DataBreaches.Net
aimingoo的专栏
aimingoo的专栏
爱范儿
爱范儿
B
Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
N
Netflix TechBlog - Medium
阮一峰的网络日志
阮一峰的网络日志
P
Proofpoint News Feed
D
Docker
Engineering at Meta
Engineering at Meta
大猫的无限游戏
大猫的无限游戏
The Cloudflare Blog
罗磊的独立博客
云风的 BLOG
云风的 BLOG
Microsoft Azure Blog
Microsoft Azure Blog
T
The Exploit Database - CXSecurity.com
博客园 - 三生石上(FineUI控件)
量子位
The Last Watchdog
The Last Watchdog
MyScale Blog
MyScale Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
The Blog of Author Tim Ferriss
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
小众软件
小众软件
Cloudbric
Cloudbric
博客园 - 司徒正美
H
Help Net Security
人人都是产品经理
人人都是产品经理
Application and Cybersecurity Blog
Application and Cybersecurity Blog
L
LangChain Blog
Latest news
Latest news
M
MIT News - Artificial intelligence
T
Threat Research - Cisco Blogs
博客园 - Franky
S
Security Affairs
W
WeLiveSecurity
F
Full Disclosure
Know Your Adversary
Know Your Adversary
Google DeepMind News
Google DeepMind News
The Hacker News
The Hacker News
Cyberwarzone
Cyberwarzone
美团技术团队
PCI Perspectives
PCI Perspectives
C
Check Point Blog
Spread Privacy
Spread Privacy

See you soon

试试将文章版本化管理吧 | See you soon 使用 Quadlet 将 Podman 中的 Postgres 当作 systemd 服务运行 | See you soon 大他者,那个无时无刻都在盯着你的东西 | See you soon Laws of Software Engineering,软件工程定律 | See you soon 浅记多因素身份认证 | See you soon Linux 内核中的度量单位 | See you soon 重置 GPG 智能密钥 | See you soon 向 NAS 引入 samba | See you soon 无法重复键入的 Fcitx5 | See you soon ZFS 降级事故 | See you soon 记被 XanMod Kernel 和 AppArmor 联合坑的一次踩坑 | See you soon agent 的 skill 与 toolcall | See you soon 记一次服务器被挂恶意挖矿二进制 | See you soon 活着的 Arc | See you soon 令 acme.sh 使用 Cloudflare 的 DNS API 签发与续签证书 | See you soon 于 Tokio 中卸载 CPU Bound 任务 | See you soon 如我所见,梦破碎的时候 | See you soon 74LS 家族手册 | See you soon JDK Projects 备忘录 | See you soon 关于历史 | See you soon 用 curl 下载 OnePlus 的 ROM | See you soon 实用命令切片 | See you soon 再见,Oh My Zsh。 | See you soon 你不应该复用 strings.Builder | See you soon 博客的明日 | See you soon 被 AppArmor 击杀的 Dockge | See you soon AI 时代的自我 | See you soon 支持删除的布隆过滤器 | See you soon 基于栈的虚拟机与基于寄存器的虚拟机 | See you soon RVA23 包含了什么 | See you soon Rust 的边界检查是否已经有很大的进步 | See you soon 使用 Rust 编写操作系统:Barebones | See you soon 使用 Rust 编写操作系统:引言 | See you soon 编译器笔记:rope | See you soon 编译器笔记:CST | See you soon Paradoxical 札记 | See you soon 简单的相似去重算法(基于向量) | See you soon 更加现代的 PaperMC Minecraft 插件设计指南 | See you soon 简单的 CFG 语法分析方法 | See you soon 简单地使用 Caddy 实现 CORS 配置 | See you soon 让 OpenCV 可以被静态链接 | See you soon 图片搜索笔笺 | See you soon 电路板设计笔记-保护 | See you soon 使用 Rust 实现 SnowflakeId | See you soon 农夫乐事 FaQ 启示 | See you soon 使用 Rust 实现拓展系统札记 | See you soon 遗传学定律的代码实现 | See you soon EN:The Journey of Rust and Procps | See you soon ZH:Rust 与 Procps 之旅 | See you soon 使用 debootstrap 与 schroot 构建一个纯净环境 | See you soon GPG添加新的用户信息 | See you soon GSoC2024 笔记:使用 Rust 重新实现 procps | See you soon JWT 小册 | See you soon 使用密钥登录 SSH | See you soon Guava:Cache | See you soon 编译器笔记:增量编译 | See you soon Gradle秘境:添加一个类似modCompileOnly的依赖块 | See you soon Minecraft:原始经济系统设计简述 | See you soon TinyRemapper笔记 | See you soon MicroOS:进阶 | See you soon Swapfile 指北 | See you soon GPG 物理密钥的安装与密钥的迁移 | See you soon 用GPG签名告诉大家这就是我的提交 | See you soon DFS:深度优先搜索 | See you soon 文章翻译:从init.vim到init.lua | See you soon 目录遍历攻击 | See you soon 如何挂载.img文件,以及如何使用QEMU模拟arm64环境 | See you soon 在树莓派上编译 OpenCV | See you soon 关于卸载BlueStacks后遇到的问题 | See you soon
MicroOS:起步 | See you soon
Krysztal Huang · 2023-05-15 · via See you soon

MicroOS 是 SUSE 旗下一款很新的系统,面向原子化与自动化维护。

那么该从何体会它的好?它是为什么而诞生的?

特性

  • 作为一款面向云端高效稳定的服务器操作系统,秉持容器第一的原则:程序服务均在容器上运行
  • 为了保证系统运行的稳定性,操作系统的根文件为只读
  • 有健康检查机制 Health Checker 确认当前运行的操作系统工作正确——如果工作不正确,则自动切换到上一个快照保证系统正确。而当添加了其他的需要验证正确性的服务,只需要给健康检查机制编写新的插件即可
  • 采用事务性更新机制 Transactional Updates 更新系统,而不影响当前运行中的系统

步入 MicroOS 的第一步

面对这样一个理念几乎全新的系统,需要重新了解一些特性才能正确的搞懂它

重新整理理念

系统的不可变性

在普通的操作系统,比如最基本的 Debian 与 Ubuntu 与 Arch,更新操作系统往往会导致当前的操作系统的「文件系统」发生更改

而对于 MicroOS 来讲,更新系统并不会更新到当前正在运行的系统之上,而是在当前运行的系统之上建立一层新的「文件系统」,在下一次启动操作系统的时候才会应用最新的「文件系统」

软件与服务

对于 MicroOS,软件更倾向于系统层面的工具,而服务从由 Systemd 接管的部分更改为由容器运行时管理的容器

这对于普通的发行版是由一定的区别的。普通的发行版往往是把它们混杂在一起,软件是服务,服务也是软件

可伸缩性

对于 MicroOS,其保证了尽可能快的启动,因此相比与普通的发行版,MicroOS 更能适合需要伸缩的大型系统

批量部署

MicroOS 提供了一个批量部署工具,能让系统管理员可以快速的大规模部署 MicroOS

系统维护

对于 MicroOS 的系统,其使用了 openSUSE Leap 或者 openSUSE Tuwbleweed,也就是其基础系统的系统套件取决于你选择了基于哪个发行版的 MicroOS(基本上都是 Tuwbleweed)

软件包

如果你需要在基础系统上进行操作,你需要使用 transactional-update pkg 命令取代 openSUSE 的 zypper 命令

在对系统完成软件更新更改之后,需要使用 reboot 更换到最新的系统——这一点与 NixOS 极其类似,但是 MicroOS 采用的是 Btrfs 快照保证的原子化,而 NixOS 选择的是挂载不同的 nix store 来实现

修改配置

如果你要修改系统的配置,类似 /etc 这些放配置文件的地方,你需要使用 transactional-update shell 进入一个新的可变快照里面——这个快照会在下一次重启时应用,或者使用 transactional-update apply 提前应用(不推荐)

自维护

什么叫做自维护?自动维护指的是不需要人工干预,系统即可实现自己对自己进行维护——比如说系统没有正常启动,那么系统将会进入自维护模式尝试让自己启动成功

听起来很神奇,但是原理其实很简单

还记得 MicroOS 有一个健康检查的工具套件吗?它预置了基础系统需要检查用的脚本,如果这些脚本执行后返回的值都是 0,那么证明系统启动成功;反之如果有一个返回了其他值,那么证明系统没有启动成功,MicroOS 会进行自回滚:回滚到以前的快照,直到有一个快照健康检查正常