其实之前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扯关系。