LifseaOS 是一款专为容器场景而进行优化的操作系统,旨在为云原生的用户提供更轻、更安全并且以镜像为粒度进行原子升级回滚的操作系统解决方案。
LifseaOS 是 Fedora CoreOS 的开源继承者,但是拥有更少的软件包,可以做到极速启动。
LifseaOS 是由 rpm-ostree 构建的,这是一个集镜像与软件包管理于一身的工具。本代码仓包含了 LifseaOS 编译所需的基础配置文件。
image.yaml
包含镜像与内核 cmdline 的配置。
manifest.yaml
一级配置文件,包含一些基础的配置信息,这个文件一般会包含另一个子配置文件用以提供更细节的配置。
manifest-lock.x86_64.json
默认情况下,rpm-ostree 在获取软件包时会获取最新的版本,假如您想要指定某个特定的版本,请把它加到这个文件中。
manifests
这个目录下有很多配置文件,每个文件都有不同的作用:
base.json
包含构建一个 OS 镜像所需的最小软件包与配置集合。
debug.json
默认的配置文件,基于base.json
,并且包含了更多的调试作用的软件包。更重要的是,使用这个配置文件编译出来的镜像拥有一个默认的登录用户名及密码用以登录系统。
lifsea.json
基于base.json
,添加了许多云原生场景下需要的软件包。
您也可以在此目录添加属于自己的配置文件。配置文件支持的参数请查阅这里。
overlay.d
放在这个目录下的文件可以覆盖掉软件包里本身携带的文件。
每一个overlay.d
下的子目录会按照数字的顺序被添加成为 OSTree 的一个 commit。建议新加的目录也以数字开头,
比如05core
,17modules
。非目录的文件将被忽略。
repos
YUM 源地址,rpm-ostree 从此地址获取软件包。这里可以包含多个源。
鉴于我们希望每次构建镜像都能得到一个确定的结果,原则上每一个软件包都需要在manifest-lock.x86_64.json
中配置相应的版本。
因此,每添加一个软件包,您不仅要在对应的 manifest 文件的 packages
字段加上包名,还要同时在 lockfile 中添加相应的版本号。
我们提供了一个方便的小工具可以用来做这件事:
cosa fetch --update-lockfile
更新后的 lockfile 就已经包含新的软件包版本了。
如果您需要添加一个还未被 LifseaOS 支持的软件包,请通过 https://bugzilla.openanolis.cn/ 联系我们。
使用 https://gitee.com/anolis/lifsea-assembler 来构建 LifseaOS,详细步骤请参考这里。
如您在使用过程中遇到任何问题或需求,请在 https://bugzilla.openanolis.cn/ 提交问题。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。