首页 > 系统相关 >Linux snap 软件包管理

Linux snap 软件包管理

时间:2022-11-14 10:33:25浏览次数:60  
标签:sudo Linux 软件包 Snap Ubuntu snap 安装


Linux snap 软件包管理_文件系统

文章目录

  • ​​1. 简介​​
  • ​​2. 安装 snap​​
  • ​​3. 命令 snap​​
  • ​​4. 其他​​
  • ​​5. Snap应用开发与Snapcraft​​

1. 简介

如果你在使用​​Ubuntu 18.04/20.04 LTS​​​版本的Ubuntu系统,会发现系统里面多了一个应用格式包——.snap包。​​Snap包​​是Ubuntu 16.04 LTS发布时引入的新应用格式包。目前已流行在Ubuntu且在其他如Debian、Arch Linux、Fedora、Kaili Linux、openSUSE、Red Hat等Linux发行版上通过snapd来安装使用snap应用。较传统Linux的rpm,deb软件包,snap有什么特点和优势呢?下面将为你介绍snap软件包。

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

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

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

2. 安装 snap

​这里可以查看更多系统环境下的安装​

这里以centos 为例

centos 8

$ sudo dnf install epel-release
$ sudo dnf upgrade

如果您有兴趣了解这些包是如何构建的,请参阅为​​Red Hat Enterprise Linux (RHEL) 8构建一个快速RPM​​。

centos 7

$ sudo yum install epel-release
$ sudo yum install snapd
$ sudo systemctl enable --now snapd.socket
$ sudo ln -s /var/lib/snapd/snap /snap

3. 命令 snap

1.安装snap,可使用以下命令或图形界面的store通过鼠标点击操作:

sudo snap install code //安装code snap

2.卸载snap

sudo snap remove code

3.搜索snap

snap find code

4.查看snap信息

snap info code

5.查看已安装的snap

snap list

6.更新snap

sudo snap refresh code channel=latest/stable //channel来指定通道版本

4. 其他

Snap除了在Ubuntu 桌面和其他Linux发行版桌面系统上使用外,还能在​​Ubuntu server​​​和​​Ubuntu Core​​上使用且为Ubuntu Core默认应用格式包,Ubuntu Core是迷你,与Ubuntu一致,专为物联网设备、嵌入式平台设计,更多内容请访问Ubuntu Core网页。

目前,Ubuntu的相关产品已以snap包的形式发布,例如Ubuntu ​​MAAS​​​,​​Juju​​​,​​Multipass​​​,​​MicroK8s​​​,​​MicroStack​​等等。借助snap,你可以一键安装专为笔记本工作站打造的Kubernetes和OpenStack,省去了安装等待和繁琐配置过程。对于开发和测试团队来说无疑是一个更高效的方案,将更多的精力和资源投入到关键价值上。

5. Snap应用开发与Snapcraft

介绍了这么多snap相关内容,如何snap如何开发呢?Snap应用使用snapcraft来开发,并且snapcraft已打包为snap应用,一键安装:​​sudo snap install snapcraft –classic​​ 即可开始构建你的snap应用。

参考:


标签:sudo,Linux,软件包,Snap,Ubuntu,snap,安装
From: https://blog.51cto.com/ghostwritten/5848500

相关文章

  • 公网ssh远程连接Linux【无公网IP】
    我们经常会遇到在外远程linux服务的情况,而IPV4资源的枯竭,现在被分配到的基本都是内网IP。在没有公网IP的情况下,如何实现在外远程ssh连接linux服务。这里推荐一款内网穿透......
  • Linux 下的 Docker 安装与使用
    Linux下的Docker安装与使用一、安装与配置安装依赖包sudoyuminstall-yyum-utilsdevice-mapper-persistent-datalvm2设置阿里云镜像源sudoyum-config-mana......
  • Linux学习笔记(12)——认识系统服务(daemon)
    认识系统服务(daemon)认识系统服务(daemon)一、什么是daemon与服务(service)1.1systemd使用的unit分类二、通过systemctl管理服务2.1通过systemctl管理单一服务(serv......
  • 16.Linux-默认权限控制命令umask
    1.umaskLinux中umask的工作方式与chmod命令类似,它也用于定义文件或目录的权限。它们之间的区别在于chmod用于改变已有文件或目录的权限,而umask用于定义新建文件或目录的......
  • Linux 安装 Docker
    Docker分为CE和EE两大版本。CE即社区版(免费,支持周期7个月),EE即企业版,强调安全,付费使用,支持周期24个月。DockerCE分为stabletest和nightly三个更新频道。......
  • 宋宝华:Linux内核中用GFP_ATOMIC申请内存究竟意味着什么?
    本文目的本文补充校正一些Linux内核开发者关于GFP_ATOMIC的认知不完整的地方,阐述GFP_ATOMIC与free内存watermark的关系,并明确什么时候应该用GFP_ATOMIC申请内存。目录:G......
  • 《Linux内核设计与实现》内核数据结构6.2队列 P78-81
    队列与堆栈队列只允许在队列的前端(front,队头)进行删除操作,而在队列的后端(rear,队尾)进行插入操作。当队列中没有元素时,即front=rear,称为空队列。在队列中插入一个队列元素称......
  • Linux常用命令
    目录前言常用命令nmobjdumpreadelffile前言常用命令nmnm-Dolibxxx.soobjdumpobjdumpxxreadelfreadelfxxxfilefilexxx......
  • 《Unix/Linux系统编程》学习笔记11
    第十三章TCP/IP和网络编程一、知识点归纳(一)网络编程简介  如今,上网已成为日常生活的需要。虽然大多数人可能只把互联网作为一种信息收集、网上购物和社交媒体等的工......
  • Linux运维笔记[5]-家庭局域网
    搭建私人小世界owncloud私人云盘[https://www.cnblogs.com/mecforlove/p/10392913.html]dockerpullownclouddockerpullmysql:5.7dockerrun--nameowncloud-mysq......