本周,Canonical宣布轻量级Snappy Ubuntu Core的"Snap"机制同样可与其他Linux发行版协同运行,两个月前,该机制通过Ubuntu 16.04扩展到了所有Ubuntu用户。Canonical表示,Snap有望成为一种通用的Linux程序包格式,让一个二进制程序包"可以完美、安全地在任何Linux台式机、服务器、云或设备上运行。"
将Calculator snap安装到Ubuntu上
Snap可以在Arch、Debian和Fedora上直接使用,也可以在基于Ubuntu的发行版上使用,比如Kubuntu、Lubuntu、Ubuntu GNOME、Ubuntu Kylin、Ubuntu MATE、Ubuntu Unity和Xubuntu。如今,它正在CentOS、Elementary、Gentoo、Mint、openSUSE、RHEL和OpenWrt上予以验证。
Canonical声称,Snap大大简化了第三方Linux应用程序的发行。独立软件开发商(ISV)可以发布Snap,而不是做出艰难的决定:该支持哪些发行版,然后面对多个发行版,设法管理诸多不同的程序包格式和安全更新机制。
Ubuntu的snap应用程序安装工具
Canonical表示,容器化的Snap技术提供的安全性胜过.deb等典型的程序包格式。Snap彼此隔离开来,以确保安全性,它们还可以自动更新或回滚。每个Snap使用一系列定制的内核隔离和安全机制受到制约,只获得操作所需的权限。
Canonical表示,Snap与Linux发行版的原生程序包放在一起,并不侵犯面向那些程序的自己的更新机制。Snap格式比原生内部程序包格式来得简单,因为它只专注于应用程序,而不是专注于核心系统。该公司声称:"Snap实际上是独立式zip文件,能够非常迅速地在原地执行。"稳定版本、发行候选版、测试版和Snap的每日构建版都可以同时发布,支持滚动发版。
紧跟物联网潮流
虽然Snap技术有助于缓解桌面Linux应用程序碎片化现实,但其重心主要还是放在可能大得多的物联网市场。虽然Snap无法解决基于Linux的物联网中的所有互操作性挑战,不过它对于统一最上面的应用层却大有帮助。
戴尔公司的物联网战略和合作伙伴主管贾森谢泼德(Jason Shepherd)说:"我们认为,Snap解决了在单一物联网网关上部署和运行多个第三方应用程序所带来的安全风险和可管理性挑战。"
具有重要意义的是,三星批准了面向其Artik嵌入式板的Snap技术,这些嵌入式板已经支持Fedora。
Canonical表示,Snap可能基于现有的发行版程序包,但是"更常使用源代码来构建,为了优化和规模效率。"Snap基于snapd,这是GitHub上的一个免费软件项目,Snap程序包使用"snapcraft"工具来构建。Snapcraft.io项目网站已设立,附有说明文档和逐步指南。
Canonical表示,snapcraft大大简化了第三方Linux应用程序的发行。
主持新闻电话会议的是Ubuntu开发者马克沙特尔沃思(Mark Shuttleworth),参与人员包括三星、戴尔和应用程序开发商Mycroft的代表,Mycroft现将Snap用于语音控制的智能家居物联网平台。其他各大Linux项目的负责人缺席了会议,不过各大发行版(包括Arch、Debian和OpenWrt)的主要贡献者对Snap给予了证明。Mozilla和Krita基金会之类的独立软件开发商给予了其他证明,Krita基金会发布了采用Snap格式的Krita 3.0。
据沙特尔沃思声称,几个月前,Snap这种通用程序包格式的"突然崛起"甚至没有出现在其路线图上。他表示,当他告诉独立软件开发商们Canonical将Snap扩展到经典的Ubuntu时,结果得到了非常热烈的反响。
沙特尔沃思承认,市面上还有其他的通用开源程序包解决方案,比如AppImage和更新颖的Flatpak,不过他认为,大多数缺少Snap的安全性及/或事务性。他说:"Snap机制在交付更新版方面拥有先进功能。Snap具有完美的事务性。"
沙特尔沃思在回复提出的问题时说,他觉得Snap机制没有理由不扩展到安卓。他还表示,该机制在软件定义无线电(SDR)开发人员当中颇受关注,他们在纷纷效仿Lime Microsystem的基于Snappy Ubuntu Core的LimeSDR。其他知名的Ubuntu Snappy支持者还包括宏碁、通用电气和微软等公司。
原文标题:Canonical pushes "snap" as a universal Linux package format,作者:Eric Brown
|