snap on ubuntu16.04
今天试验了ubuntu 上最新的snap 软件格式。snap 软件格式确实比以前的.debian 格式有很大的不同。
官方文档如
https://developer.ubuntu.com/en/snappy/build-apps/your-first-snap/
介绍了webcam-webui.snap的制作过程。稍微总结一些要点。
1) snap 软件包把自己依赖的库都打包了。
参照上文的例子,制作了一个webcam-webui.snap 的软件包。
该软件包依赖fswebcam 应用程序。 包制作过程,直接就下载了该应用,一起打包了。
这样做的好处是,假如用户删除了系统中的java 或者gcc 等该应用依赖的部件,该应用也可以运行。因为它自带了。
2)安装过程
使用snap install webcam-webui.snap命令可以用安装这个包。安装完毕后在/snap/webcam-webui/current/usr/bin下面,可以看到依赖包fswebcam
3) 应用程序sandbox 的概念。
snap install hello-world, 安装一个hello-world应用。 尝试执行hello-world.evil.
警告说创建文件失败。即使你用root权限,也是如此。这是因为snap 不允许随意篡改系统文件。
另外,采用snap包还有很多升级,安全方便的特性以及便利性。
总的说来, snap 包格式的提出,是ubuntu 面向无人机,物联网设备市场进军的前奏。 该思路和docker image 也有异曲同工之处。应该会成为未来的主流。
参考:
1)如何使用snap命令
http://www.sysgeek.cn/use-snap-packages-ubuntu-16-04/
2) 如何制作snap 包
https://developer.ubuntu.com/en/snappy/build-apps/your-first-snap/