什么是内核快照?

最近我听说了Snaps,它们被描述为“通用Linux软件包”。这似乎是一件非常好的事情,虽然我还没有仔细阅读过它的相关信息,但与传统应用程序管理相比,有一些真正的改进,例如能够将应用程序隔离而不会干扰其他应用程序。
现在,在页面上,我们可以列出可用的Snaps类型,其中包括内核Snaps
但等等,当我第一次了解Snaps时,它似乎只是一种新的管理应用程序的方式,就像“更好的apt-get”一样,我们可以安装在机器上。在这方面,它似乎是用户空间的东西。
那么这些内核Snaps是什么?它们有什么用途?
1个回答

内核快照是一个捆绑包,其中包含了内核(可能与底层操作系统不同)和驱动程序;为开发者提供了一种通过自己的驱动程序、补丁和配置来交付定制化操作系统配置的方式。

安全白皮书定义了架构:

总的来说,基础系统通过三个共同工作的快照交付:

  • 操作系统:由Canonical提供
  • 内核:由Canonical或特定设备供应商提供
  • 设备:由Canonical或特定设备供应商提供

内核快照提供内核和驱动程序,操作系统快照提供其余的操作系统,设备快照提供引导、内核、操作系统和应用程序配置。这些快照中的每一个都可以独立更新。


感谢回答,@techraf。所以说,最终来看,snaps不仅仅是一个改进的apt-get,对吗?整个操作系统最终将由snaps构建,包括内核和用户空间的内容?所以说,最终的目标是能够通过这些snaps来组装一个Linux操作系统,对吗? - user1620696
1是的,这个想法似乎更类似于Docker而不是APT。 - techraf
4从一个应用的角度来看,一个snap只是一个类似deb或rpm的软件包,但它包含了所有的依赖,并且期望它在受限环境中运行,并且可以在任何发行版上运行。你还可以使用snaps来创建一个完整的发行版,比如Ubuntu Core,然后你需要为内核和基本操作系统安装snaps。你可以将所有这些放在一个snap中,这样它就像CoreOS一样,但是使用Ubuntu Core,我们将内核和操作系统分开,以便人们可以非常容易地使用自己的内核。对于应用程序而言,有了snaps意味着你可以选择你喜欢的docker或应用程序版本,相比之下,CoreOS则是封闭的。 - Mark Shuttleworth
3Snaps和Docker非常互补。Docker通过将每个进程放在独立的IP地址后面,并为每个进程提供独立的完整文件系统,从而实现了轻松扩展,使得所有进程都能够松散耦合。而Snaps则共享基本文件系统,您只能在任何一台机器上安装一个副本。对于无状态的扩展应用程序,请使用Docker;对于您想要放置在特定设备或虚拟机上的命令或服务,请使用Snaps。 - Mark Shuttleworth