热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

ubuntu中snap包的安装、更新删除与简单使用

Ubuntu16.04引入了snap包管理,它是一种全新的软件包安装管理方式。它和dpkgapt有本质的区别。下面这篇文章就来给大家详细介绍了关于ubuntu中snap包的安装、更新删除与简单使用的相关资料,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。

概述

什么是snap,snap是一种全新的软件包管理方式,它类似一个容器拥有一个应用程序所有的文件和库,各个应用程序之间完全独立。所以使用snap包的好处就是它解决了应用程序之间的依赖问题,使应用程序之间更容易管理。但是由此带来的问题就是它占用更多的磁盘空间

Snap的安装包扩展名是.snap,类似于一个容器,它包含一个应用程序需要用到的所有文件和库(snap包包含一个私有的root文件系统,里面包含了依赖的软件包)。它们会被安装到单独的目录;各个应用程序之间相互隔离。使用snap有很多好处,首先它解决了软件包的依赖问题;其次,也使应用程序更容易管理。

现在支持snap的应用并不多,snap软件包一般安装在/snap目录下

一些常用的命令

其实使用snap包很简单,下面我来介绍一下一些常用的命令

sudo snap list

列出已经安装的snap包

sudo snap find

搜索要安装的snap包

sudo snap install

安装一个snap包

sudo snap refresh

更新一个snap包,如果你后面不加包的名字的话那就是更新所有的snap包

sudo snap revert

把一个包还原到以前安装的版本

sudo snap remove

删除一个snap包

简单的使用

下面我就安装一个编辑器来演示怎么安装删除一个软件包

首先我想安装hello-world

那么先找一下有没有hello-world

➜ bin sudo snap search hello-world
Name    Version Developer Notes Summary
hello-world   6.3  canonical -  The 'hello-world' of snaps
hello-world-om26er 0.2  om26er  -  A great snap
hello-lhc   1.0  cprov  -  Hello world application for LHC

没错有,那么我们就来安装

➜ ~ snap install hello-world
hello-world 6.3 from 'canonical' installed

下载可能会很慢,所以最好挂代理

接着我们看一下有没有安装好

➜ bin snap list
Name   Version Rev Developer Notes
core   16-2.28.5 3247 canonical core
hello-world 6.3  27 canonical -

最后我们删除它

➜ ~ snap remove hello-world
hello-world removed

snap包的地址

如果你不知道可以下载什么snap包,你可以在下面的地址下载snap包来安装
https://uappexplorer.com/snaps

一个报错

因为安装douban-fm的时候时间太长了,我就终止了一下这个操作,之后再次安装这个包的时候就报了一个错误
error: cannot install "douban-fm": snap "core" has changes in progress

解决方式很简单

首先查看一下正在进行的change

➜ / snap changes
ID Status Spawn     Ready     Summary
2 Done 2017-11-15T02:33:51Z 2017-11-15T02:33:51Z Refresh all snaps: no updates
3 Error 2017-11-15T03:20:07Z 2017-11-15T03:20:23Z Install "douban-fm" snap
4 Done 2017-11-15T03:20:07Z 2017-11-15T03:20:10Z Initialize device
5 Error 2017-11-15T03:20:38Z 2017-11-15T03:34:21Z Install "douban-fm" snap
6 Doing 2017-11-15T03:34:27Z -      Install "douban-fm" snap

没错install douban-fm还在doing中,所以要终止这个进程

➜ / sudo snap abort 6
➜ / snap changes
ID Status Spawn     Ready     Summary
2 Done 2017-11-15T02:33:51Z 2017-11-15T02:33:51Z Refresh all snaps: no updates
3 Error 2017-11-15T03:20:07Z 2017-11-15T03:20:23Z Install "douban-fm" snap
4 Done 2017-11-15T03:20:07Z 2017-11-15T03:20:10Z Initialize device
5 Error 2017-11-15T03:20:38Z 2017-11-15T03:34:21Z Install "douban-fm" snap
6 Error 2017-11-15T03:34:27Z 2017-11-15T03:40:51Z Install "douban-fm" snap

之后再次执行安装就好了

查询最近做的操作

$ snap changes

关于snap更多信息,查看man手册:

$ man snap

update:现在Snap可以在大多数Linux发行版上使用,极大的简化了Linux软件的安装。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。


推荐阅读
  • Jupyter Notebook多语言环境搭建指南
    本文详细介绍了如何在Linux环境下为Jupyter Notebook配置Python、Python3、R及Go四种编程语言的环境,包括必要的软件安装和配置步骤。 ... [详细]
  • 从理想主义者的内心深处萌发的技术信仰,推动了云原生技术在全球范围内的快速发展。本文将带你深入了解阿里巴巴在开源领域的贡献与成就。 ... [详细]
  • 分布式计算助力链力实现毫秒级安全响应,确保100%数据准确性
    随着分布式计算技术的发展,其在数据存储、文件传输、在线视频、社交平台及去中心化金融等多个领域的应用日益广泛。国际知名企业如Firefox、Google、Opera、Netflix、OpenBazaar等均已采用该技术,推动了技术创新和服务升级。 ... [详细]
  • 本文探讨了在不同场景下如何高效且安全地存储Token,包括使用定时器刷新、数据库存储等方法,并针对个人开发者与第三方服务平台的不同需求提供了具体建议。 ... [详细]
  • 本文概述了作者在2014年的几项目标与愿望,包括职业发展、个人成长及家庭幸福等方面的具体计划。 ... [详细]
  • 本文详细介绍了如何在PHP中使用Memcached进行数据缓存,包括服务器连接、数据操作、高级功能等。 ... [详细]
  • Linux内核中的内存反碎片技术解析
    本文深入探讨了Linux内核中实现的内存反碎片技术,包括其历史发展、关键概念如虚拟可移动区域以及具体的内存碎片整理策略。旨在为开发者提供全面的技术理解。 ... [详细]
  • 本文探讨了Linux环境下线程私有数据(Thread-Specific Data, TSD)的概念及其重要性,介绍了如何通过TSD技术避免多线程间全局变量冲突的问题,并提供了具体的实现方法和示例代码。 ... [详细]
  • 2019年独角兽企业招聘Python工程师标准课程概览
    本文详细介绍了2019年独角兽企业在招聘Python工程师时的标准课程内容,包括Shell脚本中的逻辑判断、文件属性判断、if语句的特殊用法及case语句的应用。 ... [详细]
  • 利用 Calcurse 在 Linux 终端高效管理日程与任务
    对于喜爱使用 Linux 终端进行日常操作的系统管理员来说,Calcurse 提供了一种强大的方式来管理日程安排、待办事项及会议。本文将详细介绍如何在 Linux 上安装和使用 Calcurse,帮助用户更有效地组织工作。 ... [详细]
  • Markdown 编辑技巧详解
    本文介绍如何使用 Typora 编辑器高效编写 Markdown 文档,包括代码块的插入方法等实用技巧。Typora 官方网站:https://www.typora.io/ 学习资源:https://www.markdown.xyz/ ... [详细]
  • 实践指南:使用Express、Create React App与MongoDB搭建React开发环境
    本文详细介绍了如何利用Express、Create React App和MongoDB构建一个高效的React应用开发环境,旨在为开发者提供一套完整的解决方案,包括环境搭建、数据模拟及前后端交互。 ... [详细]
  • 1、什么是过滤器管道使用竖线(|)将两个命令隔开,竖线左边命令的输出就会作为竖线右边命令的输入。连续使用竖线表示第一个命令的输出会作为第二个命令的输入,第二个命令的输出又会作为第三个命令的输入, ... [详细]
  • 原文地址:https:blog.csdn.netqq_35361471articledetails84715491原文地址:https:blog.cs ... [详细]
  • 树莓派4B:安装基础操作系统指南
    本文将详细介绍如何为树莓派4B安装基础操作系统,包括所需材料、镜像下载、镜像烧录以及更换国内源等步骤。 ... [详细]
author-avatar
liuningning666223
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有