概述
什么是snap,snap是一种全新的软件包管理方式,它类似一个容器拥有一个应用程序所有的文件和库,各个应用程序之间完全独立。所以使用snap包的好处就是它解决了应用程序之间的依赖问题,使应用程序之间更容易管理。但是由此带来的问题就是它占用更多的磁盘空间
Snap的安装包扩展名是.snap,类似于一个容器,它包含一个应用程序需要用到的所有文件和库(snap包包含一个私有的root文件系统,里面包含了依赖的软件包)。它们会被安装到单独的目录;各个应用程序之间相互隔离。使用snap有很多好处,首先它解决了软件包的依赖问题;其次,也使应用程序更容易管理。
现在支持snap的应用并不多,snap软件包一般安装在/snap目录下
一些常用的命令
其实使用snap包很简单,下面我来介绍一下一些常用的命令
sudosnaplist
列出已经安装的snap包
sudosnapfind<texttosearch>
搜索要安装的snap包
sudosnapinstall<snapname>
安装一个snap包
sudosnaprefresh<snapname>
更新一个snap包,如果你后面不加包的名字的话那就是更新所有的snap包
sudosnaprevert<snapname>
把一个包还原到以前安装的版本
sudosnapremove<snapname>
删除一个snap包
简单的使用
下面我就安装一个编辑器来演示怎么安装删除一个软件包
首先我想安装hello-world
那么先找一下有没有hello-world
➜binsudosnapsearchhello-world NameVersionDeveloperNotesSummary hello-world6.3canonical-The'hello-world'ofsnaps hello-world-om26er0.2om26er-Agreatsnap hello-lhc1.0cprov-HelloworldapplicationforLHC
没错有,那么我们就来安装
➜~snapinstallhello-world hello-world6.3from'canonical'installed
下载可能会很慢,所以最好挂代理
接着我们看一下有没有安装好
➜binsnaplist NameVersionRevDeveloperNotes core16-2.28.53247canonicalcore hello-world6.327canonical-
最后我们删除它
➜~snapremovehello-world hello-worldremoved
一个报错
因为安装douban-fm的时候时间太长了,我就终止了一下这个操作,之后再次安装这个包的时候就报了一个错误
error:cannotinstall"douban-fm":snap"core"haschangesinprogress
解决方式很简单
首先查看一下正在进行的change
➜/snapchanges IDStatusSpawnReadySummary 2Done2017-11-15T02:33:51Z2017-11-15T02:33:51ZRefreshallsnaps:noupdates 3Error2017-11-15T03:20:07Z2017-11-15T03:20:23ZInstall"douban-fm"snap 4Done2017-11-15T03:20:07Z2017-11-15T03:20:10ZInitializedevice 5Error2017-11-15T03:20:38Z2017-11-15T03:34:21ZInstall"douban-fm"snap 6Doing2017-11-15T03:34:27Z-Install"douban-fm"snap
没错install douban-fm还在doing中,所以要终止这个进程
➜/sudosnapabort6 ➜/snapchanges IDStatusSpawnReadySummary 2Done2017-11-15T02:33:51Z2017-11-15T02:33:51ZRefreshallsnaps:noupdates 3Error2017-11-15T03:20:07Z2017-11-15T03:20:23ZInstall"douban-fm"snap 4Done2017-11-15T03:20:07Z2017-11-15T03:20:10ZInitializedevice 5Error2017-11-15T03:20:38Z2017-11-15T03:34:21ZInstall"douban-fm"snap 6Error2017-11-15T03:34:27Z2017-11-15T03:40:51ZInstall"douban-fm"snap
之后再次执行安装就好了
查询最近做的操作
$snapchanges
关于snap更多信息,查看man手册:
$mansnap
update:现在Snap可以在大多数Linux发行版上使用,极大的简化了Linux软件的安装。