692 字
3 分钟
Snap 使用经历分享
2021-12-19

前言#

第一次正式接触使用 snap 的时间是之前树莓派3B+上使用 Ubuntu Core 1

在 Core 上没有 apt 或 dpkg,只能被迫使用 snap,尝试过安装 apt 但都失败了,尝试过程放在末尾。

snap 的常用指令2#

Terminal window
# 列出所有已安装的snap包
sudo snap list
# 搜索需要安装的snap包
sudo snap find <安装包名称>
# 查看snap包的详细信息
sudo snap info <安装包名称>
# 安装snap包
sudo snap install <安装包名称>
# 更新snap包,如果没有加具体某个,就是更新所有
sudo snap refresh <安装包名称>
# 还原snap包到之前版本
sudo snap revert <安装包名称>
# 卸载snap包
sudo snap remove <安装包名称>

snap使用代理加速#

由于 snap 不能像 apt 那样配置源3,所以在没有开代理的情况下巨慢 (比慢羊羊还慢)。

但还好,官方提供了一个代理,ubuntu 可以使用如下指令,下载 snap 商店的代理。

Terminal window
sudo snap install snap-store
sudo snap install snap-store-proxy
sudo snap install snap-store-proxy-client

snap离线安装#

我的 Core 由于是装在树莓派3B+上的,所以采用的是 arm64 指令集,所以无法下载代理。

如果你有其他使用 snap 的电脑,可以尝试下载 .snap 软件包:

Terminal window
sudo snap download software_name

下载完成后,会有 .assert.snap 两个文件,都上传到目标主机去,然后在目标主机运行如下指令,进行安装:

Terminal window
sudo snap ack software_name.assert
sudo snap install software_name.snap

Apt 安装失败#

下面是我尝试安装apt失败的原因:

在用了 snap 一段时间后,尝试从 snap 换到 apt,但是使用 snap 无法直接安装 apt,而 apt 却可以直接安装 snap …

所以尝试通过 .deb 安装包或源码进行安装:点击下载 apt,下载的是 apt_2.0.6_amd64.deb

由于 snap 中没有 wget,所以下了一个等效的下载工具:axel,大致用法和 wget 相同。

但真要用前至少请保证 snap 能正常下载和安装软件!!!

Terminal window
sudo snap install axel
axel http://security.ubuntu.com/ubuntu/pool/main/a/apt/apt_2.0.6_amd64.deb

来看看这神仙的下载速度:

不吐槽了,自己看:

至于为什么不用代理,就是因为在尝试下载 snap-store-proxy 时,它提示只支持 amd64,不支持arm64,淦。

然后尝试通过读写器直接把文件拷进去,具体目录就是 ubuntu-data/user-data/username,那么等之后 ssh 登陆就能直接看到安装包了。

然后尝试通过 dpkg 指令安装 apt:

Terminal window
sudo dpkg -i apt_2.0.6_amd64.deb

突然发现连 dpkg 也木有。

最后只能寄希望于 make 源码了,然后发现连 make 都没有,ubuntu-make 又不支持 core,彻底GG。


Footnotes#

  1. 树莓派3B+安装Ubuntu Core

  2. Ubuntu 使用 snap 常用操作

  3. [桌面Linux应用系列] 2. 换源、deb、ppa、dpkg、snap

Snap 使用经历分享
https://fuwari.vercel.app/posts/ubuntu/snap-使用经历分享/
作者
Asuwee
发布于
2021-12-19
许可协议
CC BY-NC-SA 4.0