(摘) Ubuntu20.04使用的Snap是个啥

声明:内容源自网络,版权归原作者所有。若有侵权请在网页聊天中联系我

其实之前19版已有经snap,不过20版将snap引为主流。

简介

snap是一种全新的软件包管理方式,类似于一个容器拥有一个应用程序所有的文件和库,各个应用程序之间完全独立。

使用snap包的好处就是它解决了应用程序之间的依赖问题,使应用管理之间更容易管理。但也因此会战胜更多的磁盘空间。

snap安装包扩展名是.snap,它包含应用程序需要用到的所有文件和库。它们会安装到单独的目录,各个程序之间相互隔离。

从20的snap商店来看,应用程序也不够19的deb丰富。虽说16版的时候已经引入snap。

命令

snap list 列出已安装的snap包

snap find <包名> 搜索包

snap install <包名> 安装

snap refresh <包名> 更新,不加包名则更新所有

snap revert <包名> 还原包到以前版本

snap remove <包名> 删除包

问题

我习惯性的 df -lh 关注磁盘占用情况,你会看到很多类似 /dev/loop1 这样的文件系统(磁盘),这是snap的虚拟系统,我的强迫症就犯了:是否在df时能不显示它呢?我用alias变相解决了一下

df -lh | grep -E -v “/dev/loop*” 不显示那一些/dev/loop, 瞬间病就好了。

因为系统不一样,导致一些软件也不能使用不在同一系统的文件。例如GIMP。毕竟它不知道“天外有天”,有这么一个目录存在。解决只能ln链接一个目录进去。

后话

我一直喜欢绿色(某种除外)和跨平台,文件最好是一个,AppImage也算。即使多个,那每个文件是啥作用也是清清楚楚,也不和系统中的lib扯关系。