
微软为了简化开发者在Ubuntu上的.NET开发工作,与Canonical紧密合作,现在开发者已经可以在Ubuntu 22.04(Jammy)上,通过APT安装.NET 6,另外,微软还发布了包含.NET的Chiseled Ubuntu Containers,这是一种小型且安全的容器,使开发者可以更灵活地用于开发应用上。
不少.NET开发人员在Ubuntu开发程序,因此微软干脆跟Canonical进一步合作,简化开发者在Ubuntu上使用.NET的麻烦,同时也能缩短Canonical和微软之间的软件供应链。现在开发者可以直接使用APT安装.NET 6,由于这仅支持Ubuntu 22.04和以上版本,因此用户需要先更新Ubuntu。
同时,微软也发布了带有.NET 6的Chiseled Ubuntu Containers,这是一个特别的Ubuntu版本,仅包含必要的组件,因此整体容量非常的小,比目前的Ubuntu镜像文件少了100 MB,而且也没有Root用户权限。
这些新的小型容器镜像文件,因为其超小的镜像文件,除了大幅减少尺寸,也减少了攻击表面,而且没有组件管理器、无壳层、无Root,因此可以有效避免特定类型的攻击。
从镜像文件中删除100 MB二进制文件和内容,产生了很大的区别,过去微软针对Alpine发布.NET镜像文件的原因,正是因为Alpine是一个较新的发布版,容量小且模块化,但微软提到,虽然Alpine很棒,但因为其使用musl,是一种不同于libc且不兼容的变体,并不适用于所有人与每个应用程序,虽然这不影响大部分的.NET应用程序,但是新的.NET 6 Chiseled Ubuntu Containers,提供了开发者更多的选择。
带有.NET 6的Chiseled Ubuntu Containers镜像文件与Alpine镜像文件一样,微软选择不加入Unicode国际组件,因为将会使镜像文件的大小增加一倍,不过这个取舍微软将会视反馈调整。