在linux平台下软件的部署越来越依赖外部环境,以至于即便是资深的linux系统管理员也不胜其烦的在解决依赖性问题,因此出现了各种软件包的发布方式,结婚之前就欸少的docker服务器软件的部署和appimage的桌面部署,本次介绍的snap是统一桌面和服务器的部署的一种选择.
snap官网:https://snapcraft.io/
Snap 是 Canonical 开发的包管理系统,默认安装于 Ubuntu 16.04 及其后的发行版本中。
优势:
- 自包含:不受限于发行版的系统库版本,且每个包之间不存在运行库依赖。
- 只读挂载:应用程序不能修改或删除,且不会污染系统应用程序或库。
- 回退:内置回退旧版本。
- 快照:内置备份和恢复应用数据。
- 版本新:相比发行版更新缓慢,其应用程序版本都比较新。
劣势:
主要为安装包占用较多存储空间。
snap系统提供了强大的安全系统。与传统linux发行版相比,snap系统中的应用更加独立、安全,同时对snap应用权限的配置也更加简单。在日益增长的嵌入式和物联网需求与日益严峻的系统安全形势下,snap系统表现出了比传统linux发行版更突出的优势.
从以上简介中可知snap对于ubuntu的至此最好,也是系统自带的软件.centos需要额外安装.
yum install epel-release yum install snapd systemctl enable --now snapd.socket ln -s /var/lib/snapd/snap /snap
简单的使用介绍如下:
sudo snap lilst //查看已经安装的软件 sudo snap find <app_name> //搜索要安装的软件包 sudo snap info <app_name> //查看已安装的软件的信息 sudo snap install <app_name> //安装软件 sudo snap refresh <app_name> //更新软件 sudo snap revert <app_name> //还原到之前版本 sudo snap remove <app_name> //卸载软件
参考资料:
- https://www.malike.net.cn/blog/2020/04/30/snap-tutorial/
- https://linux.cn/blog-48599-6380.html
- https://www.jianshu.com/p/a0c458157aff
- https://bbs.huaweicloud.com/blogs/197847