文档

升级ContainerOS操作系统

更新时间:

ContainerOS基于不可变基础设施的设计原则,提供类似容器镜像的分层变更能力。基础镜像层为只读,除配置文件和一些运行时的目录外,不支持用户对基础镜像层进行修改。您可以使用指定的工具,在基础镜像层上增加额外的层,以实现对系统的修改,包括但不限于安装软件包、修复紧急CVE等。

关于ContainerOS文件系统的详细介绍,请参见ContainerOS文件系统。针对ContainerOS的更新升级有两种方式:替盘升级和分层升级。

升级限制

执行分层升级的ContainerOS的版本需要为3.1及以上。

您可以通过以下方式查看ContainerOS的版本:在ContainerOS内执行cat /etc/lifsea-release,输出内容类似Alibaba Cloud Linux Lifsea (ContainerOS) release 3.1,最后一个字段3.1表示ContainerOS的版本。

升级方式

替盘升级

替盘升级会逐步替换节点池中节点的系统盘。当系统存在重大更新时,建议使用替盘升级。建议在业务低峰期进行替盘升级,升级前请做好备份工作,数据盘在升级过程中不受影响。替盘升级操作步骤及相关说明,请参见节点池升级

分层升级

ContainerOS的分层升级能力由lifseacli工具提供。lifseacli是针对ContainerOS设计的命令行管理工具,它能够实现对系统的安全、高效、无损的在线升级。通过lifseacli,您可以无需重启节点,实现对系统的原地修改,包括软件包的在线安装、卸载以及升级等操作。

软件包在线安装

软件包在线安装支持从yum源安装和本地安装两种方式,具体使用方式如下:

  • 从yum源安装单个RPM包:

lifseacli pkg install bar
  • 从本地安装单个RPM包:

lifseacli pkg install ./bar.rpm
说明
  • 从本地安装RPM包时需要自行解决软件包的依赖问题。

  • 出于减少攻击面的考虑,ContainerOS在配置文件中禁止安装以下几类包,以增强ContainerOS的安全性,包括如下:python、perl、nodejs、dnf、grubby、cowsay、initscripts。

软件包在线卸载

ContainerOS支持在线卸载单个RPM包,使用方式如下。

lifseacli pkg remove bar
说明

考虑到系统安全性,系统中默认安装的软件包不允许卸载,因此在线卸载功能只能卸载那些自己安装过的软件包。

软件包在线升级

软件包的在线升级功能支持从yum源和利用本地的RPM包进行升级两种方式,具体使用方式如下。

  • 从yum源中升级RPM包:

lifseacli pkg upgrade bar
  • 利用本地RPM包进行升级:

lifseacli pkg upgrade -l ./bar.rpm
说明

从本地升级RPM包时需要自行解决软件包的依赖问题。

相关文档

  • 本页导读 (1)
文档反馈