如何列出由Snap软件包安装的文件?

在使用sudo snap install [package]安装了一个snap之后,我该如何列出已经被安装的文件?
3个回答

Snaps是压缩的squashfs文件,通常会被“安装”到/var/lib/snapd/snaps目录下。所以如果你运行snap install ohmygiraffe命令,你会在/var/lib/snapd/snaps目录下找到一个名为ohmygiraffe_3.snap的文件。
如果你之前从未安装过snap,那么你还会在同一位置找到一个名为core的snap。
如果你想查看snap中的内容,可以在/snap///目录下查看。请注意,你只是查看snap中的内容,而不是将其解压到你的文件系统上。
唯一的其他东西是在/var/lib/snapd/desktop/applications目录下的.desktop文件。
一旦你运行了snap,你可能还会在~/snap/目录下找到数据。

Snaps是独立的squashfs镜像,这意味着列出它们安装的内容就像列出镜像的内容一样简单。这些镜像被挂载到/snap/<snapname>/<snap revision>的位置,尽管你也可以使用/snap/<snapname>/current来获取当前活动的版本,例如:
$ ls -lR /snap/<snapname>/current/

如果您没有root权限和/或想查看未安装的软件包,因此不在/var/lib/snapd/snaps目录中,您可以使用以下方法。
cd /some/dir/for/storing/snaps/
mkdir snapname
cd snapname/
snap download snapname
unsquashfs -l *.snap

其中snapname是某个快照的名称。

可以使用sudo apt install squashfs-tools安装unsquashfs。


替换snapname为feh-lreenaers后,我得到了无法下载snap "feh-lreenaers":未指定可用的snap修订版本;而使用feh-lreenaers_1代替,则出现了内部错误:不支持使用实例名称"feh-lreenaers_1"进行下载 - user2987828
snap info 表示在我写这篇文章时没有稳定版本。尝试使用 --candidate 标志(或者任何其他你想尝试的版本)。查看 snap help download - Russell Jones