热门标签 | 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软件的安装。

总结

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


推荐阅读
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • Linuxchmod目录权限命令图文详解在Linux文件系统模型中,每个文件都有一组9个权限位用来控制谁能够读写和执行该文件的内容。对于目录来说,执行位的作用是控制能否进入或者通过 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • Linux磁盘的分区、格式化的观察和操作步骤
    本文介绍了如何观察Linux磁盘的分区状态,使用lsblk命令列出系统上的所有磁盘列表,并解释了列表中各个字段的含义。同时,还介绍了使用parted命令列出磁盘的分区表类型和分区信息的方法。在进行磁盘分区操作时,根据分区表类型选择使用fdisk或gdisk命令,并提供了具体的分区步骤。通过本文,读者可以了解到Linux磁盘分区和格式化的基本知识和操作步骤。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • 本文介绍了Java的集合及其实现类,包括数据结构、抽象类和具体实现类的关系,详细介绍了List接口及其实现类ArrayList的基本操作和特点。文章通过提供相关参考文档和链接,帮助读者更好地理解和使用Java的集合类。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 本文详细介绍了Vim编辑器中的三种模式(命令模式、末行模式和编辑模式)以及它们之间的操作区别和切换方法。Vim编辑器凭借其多种命令快捷键和高效率的操作方式,得到了广大厂商和用户的认可。对于想要高效操作文本的用户来说,了解这些模式的使用方法是必不可少的。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 本文介绍了H5游戏性能优化和调试技巧,包括从问题表象出发进行优化、排除外部问题导致的卡顿、帧率设定、减少drawcall的方法、UI优化和图集渲染等八个理念。对于游戏程序员来说,解决游戏性能问题是一个关键的任务,本文提供了一些有用的参考价值。摘要长度为183字。 ... [详细]
author-avatar
美女牙医--妙菡众
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有