该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

一、简介

.snap 是Ubuntu自16.04开始引入的一种新的软件包,其目的是在任何发行版、任何硬件设备上都能方便的运行软件。其原理是通过在根目录创建一个/snap子目录,控制其权限,里面的所有内容设置为只读,以沙盒形式运行软件。

.snap包的后端是snapd,类似于dpkg处理.deb一样,不过.snap除了包含软件本体,还包含了从glibc开始所有运行软件所必须的类库,因此保证了.snap包安装到其他发行版,也能保持极大的兼容性。同时这种独特的运行模式使得软件可以随时更新版本而不用担心破坏系统类库,解决了大多数发行版只能从仓库安装相对固定的软件版本的尴尬问题。

二、安装

目前很多发行版已主动或被动的支持了snapd,列出几个

archlinux

sudo pacman -S snapd

#允许snapd到systemd进程:

sudo systemctl enable --now snapd.socket

Debian(stretch+)

sudo apt install snapd

fedora

sudo dnf copr enable zyga/snapcore

sudo dnf install snapd

# 允许snapd到systemd进程:

sudo systemctl enable --now snapd.service

#SELinux处于试验性支持,目前可以:

sudo setenforce 0

#坚持开启,编辑 /etc/selinux/config

设置 SELINUX=permissive ,重启。

Ubuntu(16.04+)

sudo apt install snapd

其他发行版可以到snapcraft.io/docs/core/install查看。

三、打包

打包.snap,我推荐使用canonical主导的官方项目snapcraft,项目官网snapcraft.io。通过较为简单的配置步骤,就能打包出标准的.snap软件包。类似于deb打包,snapcraft支持编译+封装。

四、使用

几个有用的snap命令:

1、安装

sudo snap install 从远程仓库获取并安装软件

sudo snap install --devmode 或

sudo snap install --dangerous 可以安装本地.snap包。

2、更新

sudo snap refresh [software]

如果不带软件名参数,则更新所有已安装软件。

3、卸载

sudo snap remove

4、列出本地已安装snappy程序

snap list

5、搜索远程仓库

snap find [software]

也可以在uappexplorer.com搜索所有仓库里的存货。

6、snap --help 可以获取其他有用信息。

五、软件仓库

目前默认使用Canonical搭建的仓库,如果你想搭建自己的仓库,可以到snapcraft上寻找相关文档。

六、与flatpak有何不同?

从技术角度上看(文档和新闻),两者区别不大,都采用沙盒+捆绑底层类库的做法;

从目的角度看,两者的出发点也都是解决生态系统碎片化的问题,使开发者可以一次打包,用户就随处运行,无论哪个发行版,在不必重编译和打包的前提下方便的安装和更新应用,当然双方也有其他方面的考虑;

目前谁的软件仓库更强大?毫无疑问是snappy,仓库里目前已经有600余质量不一的软件。而flatpak目前还是散兵游勇一般,有几家软件商提供了.flatpak格式供下载,没有统一的软件中心。

linux snappy 版本,snappy初级文档相关推荐

  1. linux 如何查看终端格式,你应该还不知道,Linux终端下的 Markdown 文档查看器

    原标题:你应该还不知道,Linux终端下的 Markdown 文档查看器 现在,Markdown 差不多已经成为技术文档的标准.它可以实现技术文档的快捷写作,以及输出发布.同样都是标记语言,但Mark ...

  2. 版本控制系统GIT文档

    版本控制系统GIT文档 李达 20180629 引用博客教程+实践总结 目录 1.     版本控制系统... 2 1.1.      简介... 2 1.2.      常见的版本控制器... 3 ...

  3. windows和linux系统之间的txt文档兼容问题

    windows和linux系统之间的txt文档兼容问题 在给公司做自动化文件同步的测试时,出现的这个问题,因为本地开发的从外网拿同步路径列表的脚本文件没有svn上传.就在windows机器上生成了文件 ...

  4. Django+Linux+Uwsgi+Nginx项目部署文档

    Django+Linux+Uwsgi+Nginx项目部署文档 WSGI 在生产环境中使用WSGI作为python web的服务器 WSGI:全拼为Python Web服务器网关接口,Python We ...

  5. Linux内核:VFIO 内核文档 (实例,API,bus驱动API)

    <ARM SMMU原理与IOMMU技术("VT-d" DMA.I/O虚拟化.内存虚拟化)> <提升KVM异构虚拟机启动效率:透传(pass-through).DM ...

  6. ExtJS各个版本官方API文档

    ExtJS各个版本官方API文档 官方API地址:https://docs.sencha.com/extjs/6.7.0/index.html 版本切换方式: 官方文档为纯英文文档,需要中文版的朋友可 ...

  7. 关于在Linux下无法查看caj文档的解决方案

    关于在Linux下无法查看caj文档的解决方案 参考文章: (1)关于在Linux下无法查看caj文档的解决方案 (2)https://www.cnblogs.com/jianglq/p/474796 ...

  8. 提高Linux下打开WPS云文档速度的方法

    提高Linux下打开WPS云文档速度的方法 本人在优麒麟下使用WPS办公,发现WPS打开云文档缓慢,经过多次修改配置,发现修改以下几个配置可加快云文档打开速度 修改备份策略 "文件" ...

  9. 布置到linux的文件,免费的Office套件,如何在Linux中部署OnlyOffice桌面文档编辑器...

    原标题:免费的Office套件,如何在Linux中部署OnlyOffice桌面文档编辑器 如果您是Ubuntu用户(或者一般的Linux用户),那么您很可能将LibreOffice作为默认的offic ...

  10. wps linux 哪个版本好用吗,WPS For Linux 6634 再次更新发布-文档也要上云

    WPS For Linux 已经有近一年没有更新了,在Ubuntu 18.04 上都无法正常安装,目前突然发了新版本,真是大喜.这一次的更新真是一大堆: 更新说明: WPS公共 新增账号系统 支持文档 ...

最新文章

  1. leetcode Reverse Linked List
  2. C#教程4:数据类型
  3. 中国航空航天产业创新发展态势及市场规模分析报告2021-2027年版
  4. JS判断两种格式的输入日期的正确性
  5. 【容器云】十分钟快速构建 Influxdb+cadvisor+grafana 监控
  6. internal/validators.js:124 throw new ERR_INVALID_ARG_TYPE(name, ‘string‘, value);
  7. 如何关闭子线程?征集析构函数与多线程的讨论!
  8. DALSA相机开发记录(01)
  9. BlockChange丨谁在监管加密货币?各国数字货币政策情况概览
  10. report 和report on的区别
  11. python核心编程源代码
  12. Day532533.Python基础 -python
  13. WindowsStore_LTSC 2019_win10商店恢复包
  14. SAP 标准成本、计划成本、目标成本、实际成本解析
  15. S2e-env环境及编译学习1
  16. 同惠TH9310耐压测试仪应用举例
  17. linux编辑conf,Linux:我如何编辑resolv.conf
  18. html中斜体样式怎么写,css font-style字体斜体样式
  19. PythonOCC封装:2.重新封装pythonocc
  20. Python--初识庐山真面目

热门文章

  1. android 仿ios数字密码解锁界面
  2. 安卓搜不到airpods_真心丢不起!那就教教你AirPods丢失后如何查找吧
  3. [转载]【电子书下载神器】太给力了!你还找不到想要的电子书吗?
  4. 华为服务器管理口在哪个位置,华为服务器默认管理口地址吗
  5. 104.android 简单的检查小米、华为、OPPO、VIVO手机系统是否打开通话自动录音功能,跳转通话录音页面,安卓怎么检查开启通话自动录音,安卓开启自动录音
  6. JQuery 动态设置setInterval定时器时间间隔
  7. Linux 安装molten
  8. Cesium学习资源
  9. 一文搞懂移动端单位em、rem、vh、vw
  10. 【tinymce-vue】tinymce-vue自定义图片上传插件,且在插件中调用vue组件