容器可以解决 Linux 软件包管理工具的弊病吗?

  • 谢丽

2015 年 4 月 3 日

话题:Linux语言 & 开发架构

传统观点认为,容器技术的快速发展正改变着从应用程序部署到精简版 Linux 设计的一切。那么容器技术是否能够解决 Linux 软件包管理工具长期存在的问题进而取代它呢? InfoWorld 高级编辑Serdar Yegulalp对此进行了分析报道

CoreOS 就完全以容器为中心,而不是软件包。Kelsey Hightower 是 CoreOS 的一名高级工程师。他告诉 Serdar,他们公司的产品“就是一个活生生的例子,这不仅可能,而且还可以提升系统设计。”同时,他认为,软件包管理工具仍然有用,主要是“从一组离散的组件构建操作系统。这是 Linux 软件包管理器的亮点”。CoreOS 本身并没有使用传统的软件包管理器,如 apt 或 yum,而是 Portage 系统。因此,他觉得:

使用 Docker 或其它容器管理器完全取代一个系统的通用软件包管理器非常困难,部分原因在于 Docker 没有一种依赖解析机制。而 Docker 的亮点在于应用程序打包和分发。

Red Hat对容器技术也越来越重视。Lars Herrmann 是 Red Hat Enterprise Linux 部门的总经理。他认为可以用容器取代软件包管理工具,但“这不是最好的做法”。除了依赖管理,软件包管理工具还提供了一些在以容器为中心的环境里使用着的特性,比如指定软件在系统中的安装位置。而且,Docker 并没有一种机制可以将合适的组件装入容器,但现有的软件包管理工具可以很好地完成这项工作。

Joyent 是另外一家深入容器世界的公司。Bryant Cantrill 是该公司的首席技术官。他同样认为,容器和软件包管理工具提供了不同的功能,“Docker 镜像是一个比 apt 或 yum 软件包管理器更高层次的抽象。”

综上所述,Serdar 认为,容器技术可以解决 Linux 软件包管理工具的弊病,但它只能算是半个解决方案。


感谢郭蕾对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流。

Linux语言 & 开发架构