ubuntu小技巧23--快速入门snap
1 snap 简介
Snap 是桌面服务器、云服务器和IoT设备的应用程序包,它具备易于安装、安全、跨平台、无依赖(占用资源多)等特性;其中:
snap 既是命令行接口,又是一种应用程序包的格式;
snapd 是管理和维护snaps 应用的后台服务;
snapcraft 是用来构建自己应用的命令行工具和框架;
snap store 是snap的应用商店,可以保存用户上传snap应用;
Snap是Ubuntu母公司Canonical于2016年4月发布Ubuntu16.04时候引入的一种安全的、易于管理的、沙盒化的软件包格式,与传统的dpkg/apt有着很大的区别。
snap 软件包被设计成用来隔离并封装整个应用程序。这些概念使得 snapcraft 提高软件安全性、稳定性和可移植性的目标得以实现,其中可移植性允许单个 snap 软件包不仅可以在 Ubuntu 的多个版本中安装,而且也可以在 Debian、Fedora 和 Arch 等发行版中安装。snapcraft 网站对其的描述如下:为每个 Linux 桌面、服务器、云端或设备打包任何应用程序,并且直接交付更新。
Snap可以让开发者将他们的软件更新包随时发布给用户,而不必等待发行版的更新周期;其次Snap应用可以同时安装多个版本的软件,比如安装Python2.7和Python3.3。
截至2020-12月,预安装snap的系统包括如下:
KDE Neon | Manjaro |
Solus 3 and above | Ubuntu 20.04 LTS (Focal Fossa) |
Ubuntu 18.04 LTS (Bionic Beaver) | Ubuntu 16.04.4 LTS (Xenial Xerus) |
Most recognised Ubuntu flavours | Zorin OS |
以下系统没有预安装,但可以通过官方文档来安装:
系统版本 | |
---|---|
Arch Linux | CentOS |
Debian | elementary OS |
Fedora | GalliumOS |
Kali Linux | KDE Neon |
Kubuntu | Linux Mint |
Lubuntu | Manjaro |
openSUSE | Parrot Security OS |
Pop!_OS | Raspberry Pi OS |
Red Hat Enterprise Linux (RHEL) | Solus |
Ubuntu | Xubuntu |
Zorin OS |
2 功能
2.1 常用命令
- 安装snap
apt install -y snapd snapcraft 安装后可以查看snap 版本 # snap version snap 2.48+18.04 snapd 2.48+18.04 series 16 ubuntu 18.04 kernel 4.15.0-126-generic
- 查看|搜索软件信息
1) 查看安装的软件包 snap list 2)搜索安装包 snap find|search terminal(可以模糊搜索,也可以指定具体包名称)
- 安装|卸载|升级软件包
1) 安装软件 snap install [准确包名] 2)卸载软件 snap remove [准确包名] 3)更新软件包 snap refresh [准确包名],若未指定则更新所有的包 4)查看软件信息 snap info [准确包名] snap 安装的ui软件桌面快捷方式位置:var/lib/snapd/desktop/applications
2.2 snap 安装vlc
正常情况下直接 snap install vlc 即可一步安装完 vlc 播放器
# snap install vlc
error: snap "vlc" has "install-snap" change in progress
错误原因:笔者之前是使用ubuntu softwarecenter 按照了下vlc,安装过程中进行了撤销
解决方法:
# snap changes
ID Status Spawn Ready Summary
12 Doing today at 13:09 CST - Install "vlc" snap from "latest/stable" channel
发现安装的ID为12, 此处通过 abort 取消该安装:
# snap abort 12
重新安装:
# snap install vlc
# snap install vlc
Download snap "vlc" (1700) from channel "stable" 6% 149kB/s 32.0m
2.3 snap 安装mysql-workbench
使用snap 可以快速安装mysql-workbench,如果非snap安装则需要在官方下载对应的deb包或者添加mysql-workbench的源,然后在dpkg 或者 apt-get来安装,安装过程及容易出现依赖问题,从而增加安装成本。因此建议直接使用snap安装。
snap install mysql-workbench-community
mysql-workbench-community 8.0.22 from Tonin Bolzan (tonybolzan) installed
2.4 常见经典软件
redis-desktop-manager
Lens
mysql-workbench-community
simplescreenrecorder-brlin
3 常见问题
- 安装失败处理方法
如果安装失败,则可以通过snap changes 查看正在进行中的ID,然后通过snap abort ID 来取消安装,然后再重新snap install app_name 来安装即可; - snap 安装当然软件大部分在 /var/lib/snapd 中,该文件不可以转移到其它目录(转移+ln),转移后可以正常安装软件,但是无法打开软件
- snap 默认会在 /snap 目录存放各种app的信息,如果安装了很多app会严重占用系统存储,因此实际中我们可以用机械盘分出一个分区,然后挂在到 /snap 目录; 如果不确认snap 会使用多少 空间的话,可以通过 lvcreate 的方式创建一个分区,后续动态扩容分区即可。
若不清楚如何使用 lvcreate, 可以参考笔者博文 Ubuntu小技巧16–常见命令使用方法 ->1.15 磁盘相关命令 - snap 下载很慢怎么办?
参考 大陆地区ubuntu使用snap下载速度过慢问题# snap install snap-store-proxy # snap install snap-store-proxy-client