linux snappy 版本,snappy初级文档

linux snappy 版本,snappy初级文档该楼层疑似违规已被系统折叠隐藏此楼查看此楼一 简介 snap 是 Ubuntu 自 16 04 开始引入的一种新的软件包 其目的是在任何发行版 任何硬件设备上都能方便的运行软件 其原理是通过在根目录创建一个 snap 子目录 控制其权限 里面的所有内容设置为只读 以沙盒形式运行软件 snap 包的后端是 snapd 类似于 dpkg 处理 deb 一样 不过 snap 除了包含软件本体 还包含了从 glibc 开始所有

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

一、简介

.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格式供下载,没有统一的软件中心。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/229484.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午4:37
下一篇 2026年3月16日 下午4:37


相关推荐

  • 微信拉群服务器忙请稍后再试,微信群拉人出现“未能添加新成员,请稍后再试”是什么原因?…

    微信拉群服务器忙请稍后再试,微信群拉人出现“未能添加新成员,请稍后再试”是什么原因?…很多做微信营销的朋友 当然少不了创建微信群 通过微信群做营销 在我们利用微信群做营销的过程中 经常会遇到一些问题 其中我们就是微信群拉人进入的时候就有一种情况 那就是出现 未能添加新成员 请稍后再试 这个是怎么回事 又该怎么解决呢 第 1 出现 未能添加新成员 请稍后再试 的原因 南阳微信营销马找钱自己本身也是在做微信群营销 可以说具有很强的发表权 也是遇到过这样的情况 如果你在互联网上搜索 未能

    2025年7月25日
    7
  • 首批“政务龙虾”上线:OpenClaw爆火背后,AI Agent为什么突然彻底出圈了?

    首批“政务龙虾”上线:OpenClaw爆火背后,AI Agent为什么突然彻底出圈了?

    2026年3月13日
    3
  • 转录组fpkm是什么意思_fpkm值越大表达量

    转录组fpkm是什么意思_fpkm值越大表达量在转录组测序(RNA-Seq)中,基因的表达量是我们关注的重点。基因表达量的衡量指标有:RPKM、FPKM、TPM。RPKM:ReadsPerKilobaseMillion;说实话,这个英文说

    2022年8月3日
    44
  • SQL 模糊查询(like)「建议收藏」

    SQL 模糊查询(like)「建议收藏」在进行数据库查询时,有完整查询和模糊查询之分。SQL模糊查询,使用like比较字,加上SQL里的通配符,请参考以下:1、LIKE’Mc%’将搜索以字母Mc开头的所有字符串(如McBadden)。2、LIKE’%inger’将搜索以字母inger结尾的所有字符串(如Ringer、Stringer)。3、LIKE’%en%’将搜索在任何位置包含字母en的所

    2022年6月10日
    45
  • SQL中IS NOT NULL与!=NULL的区别

    SQL中IS NOT NULL与!=NULL的区别平时经常会遇到这两种写法:ISNOTNULL与!=NULL。也经常会遇到数据库有符合条件!=NULL的数据,但是返回为空集合。实际上,是由于对二者使用区别理解不透彻。默认情况下,推荐使用ISNOTNULL去做条件判断,因为SQL默认情况下对WHEREXX!=Null的判断会永远返回0行,却不会提示语法错误。这是为什么呢?SQLServer文档中对Null值的

    2022年6月9日
    68
  • Jmeter正则表达式提取器获取Token-简单实例「建议收藏」

    Jmeter正则表达式提取器获取Token-简单实例「建议收藏」正则表达式提取响应数据中的Token步骤1:TestPlan下创建线程组,线程组下创建取样器->HTTP请求。上图中Login接口的Response中有用户token,该token需要在下一个需求提报的接口中使用,所以在Login下添加“正则表达式提取器”步骤2:选择Login,鼠标右键选择“添加->后置处理器->正则表达式提取器”步骤3:正则表达式…

    2025年9月4日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号