Linux常用命令指南 - snap命令

Linux常用命令指南 - snap命令

一、Snap 概述

snap-architecture

Snap是Canonical公司为使用Linux内核和systemd init系统的操作系统开发的软件打包和部署系统。这些软件包称为snaps,以及使用它们的工具snapd,可以在一系列Linux 发行版上运行,并允许上游软件开发人员将其应用程序直接分发给用户。Snap 是在沙箱中运行的独立应用程序,可以通过中介访问主机系统。Snap 最初是针对云应用程序发布的,但后来被移植到也适用于物联网设备和桌面应用程序。

Snap 包是 Ubuntu 16.04 LTS 发布时引入的新应用格式包。目前已流行在 Ubuntu 且在其他如 Debian、Arch Linux、Fedora、Kaili Linux、openSUSE、Red Hat 等 Linux 发行版上通过 snapd 来安装使用 snap 应用。

当你在安装完 snap 后,你会发现在在根目录下会出现如 /dev/loop0 的挂载点,这些挂载点正是 snap 软件包的目录。Snap 使用了 squashFS 文件系统,一种开源的压缩,只读文件系统,基于 GPL 协议发行。一旦 snap 被安装后,其就有一个只读的文件系统和一个可写入的区域。应用自身的执行文件、库、依赖包都被放在这个只读目录,意味着该目录不能被随意篡改和写入。

squashFS 文件系统的引入,使得 snap 的安全性要优于传统的 Linux 软件包。同时,每个 snap 默认都被严格限制(confined),即限制系统权限和资源访问。但是,可通过授予权限策略来获得对系统资源的访问。这也是安全性更好的表现。

snap-interface

Snap 可包含一个或多个服务,支持 cli(命令行)应用,GUI 图形应用以及无单进程限制。因此,你可以单个 snap 下调用一个或多个服务。对于某些多服务的应用来说,非常方便。前面说到 snap 间相互隔离,那么怎么交换资源呢?答案是可以通过 interface(接口)定义来做资源交换。interface 被用于让 snap 可访问 OpenGL 加速,声卡播放、录制,网络和 HOME 目录。Interface 由 slot 和 plug 组成即提供者和消费者。

snap 是一个或多个应用程序的捆绑包,无需修改即可在许多不同的 Linux 发行版上运行。Snap 可以从Snap Store发现和安装,这是一个拥有数百万受众的公共应用商店。 可以通过图形包管理器(例如 Ubuntu 软件中心)安装和删除 Snap,但大多数高级功能只能通过 Linux 命令行使用。

二、如何使用 snap ?

2.1 安装 snap

$ sudo apt-get install snapd # snap 命令所需包
$ sudo snap install snapcraft --classic # 用于编译snap

snapd 源码大部分采用 go 语言编写,少部分 c/c++ 。

snap-cloc

2.2 命令基本描述

$ snap --help

snap 命令允许您安装、配置、刷新和删除 snap。Snap 是跨许多不同 Linux 发行版工作的软件包(类型),可实现最新应用程序和实用程序的安全交付和操作。

用法:snap <命令> [<选项>...]

常用的命令可以分类如下:

             基本信息: find, info, install, remove, list
            ...更多: refresh, revert, switch, disable, enable, create-cohort
               历史: changes, tasks, abort, watch
             守护程序: services, start, stop, restart, logs
               权限: connections, interface, connect, disconnect
               配置: get, set, unset, wait
             应用别名: alias, aliases, unalias, prefer
               帐号: login, logout, whoami
                snap : saved, save, check-snapshot, restore, forget
               设备: model, reboot, recovery
               开发: download, pack, run, try
     Quota Groups: set-quota, remove-quota, quotas, quota
  Validation Sets: validate
        ... Other: warnings, okay, known, ack, version

请运行 'snap help <命令>' 来获得该命令的更多信息。
请运行 'snap help -all' 来获得所有命令的短摘要。

2.3 搜索 snap 应用

许多流行应用程序都有 snap ,包括SpotifySlackChromium 网络浏览器


                
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
ITK-SNAP 是一款开源的医学图像分割和三维可视化软件,它提供了一系列用于医学图像处理的功能。 ITK-SNAP 的源码是指软件开发过程中所使用的代码和相关资源。这些源码是开放的,任何人都可以查看、使用和修改。使用源码,你可以了解软件的实现细节,根据自己的需求进行定制和扩展。 ITK-SNAP 的源码基于ITK(Insight Segmentation and Registration Toolkit)和 Qt 框架,这两个框架提供了图像处理和图形界面开发的基础功能。ITK-SNAP 的源码主要包括以下几个方面: 1. 图像处理算法:ITK-SNAP 的源码中包含了许多基于ITK的图像处理算法,如图像滤波、分割、配准等。这些算法是开发者对医学图像进行分析和操作的基础。 2. 三维可视化:ITK-SNAP 可以对医学图像进行三维可视化,它可以显示体积渲染、表面重建等效果。源码中包含了实现这些功能的相关代码。 3. 用户界面:ITK-SNAP 的源码中包含了用户界面的设计和实现代码,包括窗口、菜单、工具栏等,这些界面为用户提供了交互式操作医学图像的功能。 通过查看 ITK-SNAP 的源码,开发者可以学习到许多医学图像处理和可视化的方法和技术。同时,源码也提供了一个自由和灵活的平台,使开发者可以根据自己的需求对软件进行修改和扩展。 总之,ITK-SNAP 的源码是开源社区分享的宝贵资源,它为医学图像处理和可视化的研究和应用提供了有力的支持。无论是学习、研究还是应用,ITK-SNAP 的源码都是一个重要的参考和工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yusq77

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值