快来了解下Snappy Ubuntu是什么

简介:

关于 Snappy,之前的文章中提了一次 Snappy 与 Deb 共存,只是我不知道大家有没有听过Snappy Ubuntu。反正我听到Snappy时,不是很理解。如果我们查查字典,它的意思是爽快的,敏捷的,精力充沛的。听起来非常不错哦!对了Snappy就 是Canonical公司在未来发展的方向。未来Ubuntu所有的系统都将使用Snappy。这就是我们所说的Convergence(融合)。我们开发的应用可以在多个不同平台尺寸的设备及云上运行。我们可以不必为某个设备而单独开发。更多的信息可以在 https://developer.ubuntu.com/en/snappy/找到。在未来,Snappy Ubuntu将在IoT(Internet of Things物联网中)扮演重要的角色,比如如下的无人机等。

1.Snappy Ubuntu 到底是什么呢?

简言之,Snappy Ubuntu是一个崭新的,具有事务性更新的为云及设备而建立的操作系统。它分为:

Snappy Ubuntu Core:为云(cloud)及IoT (Internet of Things,物联网)。

Snappy Ubuntu Personal:为手机,平板及电脑。

我们看一下Snappy Ubuntu 的特点:

最小的Ubuntu服务器image:由于有较小的内核,所有可以适用于更多的应用场景。应用通过简单的方式,snap包来提供。snap包不同于先前的debian及手机上的click包。未来的应用及framwork都将以.snap包来发布。

事务性更新 (transitional updates):通过商城的channel自动更新。事务性 更新提供一个更加可靠的系统。在Snappy Ubuntu中含有两个root filesystem分区:A区及B区(各含有一个系统image)。当A区启动后,它可以用来更新B区。只有B区更新完整后才可以切换过来到B区,否则 永远处于A区。反之依然,我们可以用同样的办法来更新A区。当然,我们在任何时候,也可以rollback,也即回到以前的启动区。这样的做法可以保证我 们的系统在任何的时候Ubuntu Core及应用的更新都是完整的。这对很多需要稳定工作的环境的系统来说非常重要,比如更新一个远在路口的webcam等。

更强的应用安全:Snappy Ubuntu具有业界领先的安全性。Ubuntu系统image只是可读的。任何应用不可以更改它。这样的好处是不至于由于某个应用的安装或升级从而导致 系统image得到修改,进而导致有些已经安装的应用不能正常运行。每个应用都有自己的可以读写的空间,并且它们之间是不可以互相访问的。每个应用都运行 于受限的沙箱之中。API的访问是由Apparmor及Seccomp来强制受限的。它提供严格的基于MAC(Mandatory-Access- Control)的隔离。传统的Linux应用可以访问任何一个目录,并读写它们之中的文件。这和Snappy系统是不同的。如果一个应用需要特别的库, 可以使用 snapcraft来安装相应的库到自己应用的私有目录中。

2.Snappy Ubuntu Core 架构

在Snappy Ubuntu系统中,有4层:

Application 层:这个之间由应用开发商提供。所有的应用都是隔离的,并受制于系统的安全机制。

Framework 层:这层是由Cannonical及开发商共同提供。它可以拓展Ubuntu Core的最基本的系统。这是一个可选的层。它不可以依附于其它的framework。

Ubuntu Core 层:这层是由Canonical公司提供。最少的rootfs来为特定的需求而定制。

Enablement 层:这个硬件层是由设备提供商或Canonical提供。Canonical提供4种支持。

  • 32/64 位
  • ARM/Intel

一个典型的远程桌面协议应用架构:

3.Snappy 支持的Target

截止目前为止,Snappy支持的target为:

从上面可以看出,Snappy已经在一些ARM的开发板及云(cloud)上都已经可以部署了。对有些开发者来说,买一个便宜的开发板加上一些附件,就可以hack我们的Snappy系统了。

4.Snappy运用实例

目前,Snappy在不同的领域越来越多地被运用,下面举例一些已经在运用Snappy Ubuntu做产品的实例。我们可以点击下面图片进入产品的网站。

5.Snappy store

就像其它的平台一样,Snappy也可以有自己的Store。为了看见所有在系统上的Snaps,我们可以打开我们的Browser(比如 chromium,firefox等)。我们可以看到在如下的localhost:4200地址启动webdm (Web Device Manager),可以看到在设备中的已经安装的应用。

Canonical也可以向包括OEM提供专有的带有品牌的Store。

在接下来的文章中,我们将逐一介绍Snappy Ubuntu系统的技术细节。





本文作者:佚名
来源:51CTO
目录
相关文章
|
3月前
|
并行计算 Ubuntu Linux
Ubuntu学习笔记(五):18.04安装多版本CUDA
这篇博客文章介绍了在Ubuntu 18.04系统上如何安装和切换不同版本的CUDA,以及如何安装不同版本的cuDNN。
266 2
|
3月前
|
并行计算 PyTorch TensorFlow
Ubuntu安装笔记(一):安装显卡驱动、cuda/cudnn、Anaconda、Pytorch、Tensorflow、Opencv、Visdom、FFMPEG、卸载一些不必要的预装软件
这篇文章是关于如何在Ubuntu操作系统上安装显卡驱动、CUDA、CUDNN、Anaconda、PyTorch、TensorFlow、OpenCV、FFMPEG以及卸载不必要的预装软件的详细指南。
5427 3
|
11天前
|
JSON Ubuntu 开发者
ubuntu 22安装lua环境&&编译lua cjson模块
通过上述步骤,可以在 Ubuntu 22.04 系统上成功安装 Lua 环境,并使用 LuaRocks 或手动编译的方式安装 lua-cjson 模块。本文详细介绍了每一步的命令和操作,确保每一步都能顺利完成,适合需要在 Ubuntu 系统上配置 Lua 开发环境的开发者参考和使用。
57 13
|
8天前
|
监控 关系型数据库 MySQL
Ubuntu24.04安装Librenms
此指南介绍了在Linux系统上安装和配置LibreNMS网络监控系统的步骤。主要内容包括:安装所需软件包、创建用户、克隆LibreNMS仓库、设置文件权限、安装PHP依赖、配置时区、设置MariaDB数据库、调整PHP-FPM与Nginx配置、配置SNMP及防火墙、启用命令补全、设置Cron任务和日志配置,最后通过网页完成安装。整个过程确保LibreNMS能稳定运行并提供有效的网络监控功能。
|
18天前
|
Ubuntu Linux Docker
Ubuntu22.04上Docker的安装
通过以上详细的安装步骤和命令,您可以在Ubuntu 22.04系统上顺利安装
259 11
|
2月前
|
Ubuntu 开发工具 git
Ubuntu安装homebrew的完整教程
本文介绍了如何在没有公网的情况下安装 Homebrew。首先访问 Homebrew 官网,然后通过阿里云的镜像克隆安装脚本,并创建普通用户进行安装。接着修改 `install.sh` 文件指向国内镜像,执行安装命令。最后配置环境变量并更换 Homebrew 源为国内镜像,确保安装顺利。
390 50
|
2月前
|
Ubuntu
ubuntu和debian 的安装包dpkg管理命令对安装包进行安装,查询,卸载
Ubuntu dpkg 软件包管理命令概览:安装、卸载、查看和配置软件包。包括解决依赖、强制卸载、列出及过滤已安装包、查看包详情等操作。
70 10
|
2月前
|
Ubuntu API 开发工具
PSOPT在Ubuntu22.04下的安装
通过上述步骤,可以在Ubuntu 22.04下成功安装并配置PSOPT。PSOPT是一个功能强大的工具,适用于解决各种最优控制问题。确保在安装前满足系统要求,并仔细按照步骤操作,可以避免大多数常见问题。通过MATLAB与PSOPT的结合,您可以更高效地处理复杂的控制问题,并获得准确的解决方案。
37 5
|
2月前
|
Ubuntu 网络协议 关系型数据库
超聚变服务器2288H V6使用 iBMC 安装 Ubuntu Server 24.04 LTS及后续系统配置
【11月更文挑战第15天】本文档详细介绍了如何使用iBMC在超聚变服务器2288H V6上安装Ubuntu Server 24.04 LTS,包括连接iBMC管理口、登录iBMC管理界面、配置RAID、安装系统以及后续系统配置等步骤。
200 4