ubuntu 使用snap包

概述

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

一些常用的命令

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

  • sudo snap list 列出已经安装的snap包
  • sudo snap find <text to search> 搜索要安装的snap包
  • sudo snap install <snap name> 安装一个snap包
  • sudo snap refresh <snap name> 更新一个snap包,如果你后面不加包的名字的话那就是更新所有的snap包
  • sudo snap revert <snap name> 把一个包还原到以前安装的版本
  • sudo snap remove <snap name> 删除一个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

之后再次执行安装就好了

欢迎关注Bboysoul的博客www.bboysoul.com Have Fun

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏陈仁松博客

【译】使用 dotnet watch 开发 ASP.NET Core 应用

介绍 dotnet watch 是一个开发阶段在源文件发生变动的情况下使用 dotnet 命令的工具。 当代码发生变动的时候可以用来执行编译,运行测试,或者发布...

4756
来自专栏杨建荣的学习笔记

10g,11g中数据库静默安装中的细小差别(r6笔记第85天)

数据库软件的安装根据工作需要主要有以下几种方式,使用oui是普遍的图形界面方式,还有两种是不依赖图形界面的,一种为静默安装,另外一种为克隆安装。 静默安装的时候...

2894
来自专栏xingoo, 一个梦想做发明家的程序员

Tomcat 6 --- 你很少使用的安全管理SecurityManager

试想一下,如果你的JSP页面中包含一句代码“System.exit(1);”,你的web应用访问到该JSP时,会发生什么? 一般使用tomcat可能都没有注...

2567
来自专栏JAVA高级架构

Java编写基于netty的RPC框架

1542
来自专栏蓝天

使用cmake编译和安装jsoncpp-0.10.2

网上主要介绍了python方式编译安装jsoncpp,但它的官网有介绍cmake安装命令行安装方式,以下笔记在SUSE Linux g++ 4.1.0上经过验证...

1502
来自专栏葡萄城控件技术团队

Web API 持续集成:PostMan+Newman+Jenkins(图文讲解)

上篇文章我们已经完成了API测试工具选型,接下来是一系列周期性的开发测试过程:接口开发、检出代码、运行测试、记录结果、发送报告。为了快速发现问题,并减少重复过程...

1762
来自专栏java 成神之路

URI、 URL 和 URN 的区别

35515
来自专栏jeremy的技术点滴

netty3与netty4的区别

1.2K4
来自专栏云计算教程系列

如何使用killall和kill命令来停止进程

killall是一个基于名称终止系统上运行进程的工具。kill则是终止基于进程ID号(PID)的进程。kill和killall还可以向进程发送特定的系统信号。

2133
来自专栏游戏杂谈

在Windows下Hunchentoot的启动

Hunchentoot是个什么东东呢?它是一个Common Lisp Web Server。

1332

扫码关注云+社区

领取腾讯云代金券