Snap
#ubuntu #Linux
简介
Snap包是Ubuntu 16.04 LTS发布时引入的新应用格式包。目前已经流行在Ubuntu且在其它如Debian、Arch Linux、Fedora、Kaili Linux、openSUSE、Red Hat等Linux发行版上通过snapd来安装使用snap应用。相比传统的rpm,deb软件包,snap不局限于单一的系统。

“snap”应用程序包本身是一种自给自足的软件,且可以在众多Linux发行版上正常运行。这不同于传统的Linux包管理方法(如APT和RPM),透过传统方式进行应用程序的更新需要针对各Linux发行版对软件包特别定制,从而使软件开发和最终用户的软件部署之间产生了延迟。
snap包本身不依赖任何外部软件商店,可以从任何来源获取,并因此可以用于上游软件部署。当Snappy和snap包部署于Ubuntu或其他一些Linux系统时,Ubuntu的软件商店是缺省的用于获取Sanp包的后端,但这并非强制的,用户可以使用其他软件商店。
2016年6月起,snapd成为Ubuntu以外多种Linux发行版的的一部分。而在此之前snapd主要应用于完全基于snap的Ubuntu Core操作系统。
当你安装完snap后,你会发现在根目录下会出现如/dev/loop0的挂载点,这些挂载点正是snap软件包的目录。Snap使用了squashFS文件系统,一种开源的压缩、只读文件系统,基于GPL协议发行。一旦snap被安装后,其就有一个只读的文件系统和一个可写入的区域。应用自身的执行文件、库、依赖包都被放在这个只读目录,意味着该目录不能被随意篡改和写入。
安装&使用
安装示例
CentOS
sudo yum install -y epel-release
sudo yum install -y snapd
sudo systemctl enable --now snapd.socketDebian
sudo apt update
sudo apt install snapd使用snap
# 列出已安装的snap包
snap list
# 搜索要安装的snap包
snap find <text to search>
# 安装一个snap包
snap install <snap name>
# 更新一个snap包
snap refresh <snap name>
# 还原到以前安装的版本
snap revert <snap name>
# 删除snap包
snap remove <snap name>
最后更新于