识别 apt 存储库中的 snap 应用程序(在安装之前)

识别 apt 存储库中的 snap 应用程序(在安装之前)

由于我在离线环境中使用服务器,因此我通常会镜像 ubuntu 存档 - 效果非常好!现在令人震惊我发现 chromium-browser 是 U20.04 LTS 中的一个 snap 应用。因此,除非您确实连接到互联网,否则它不会安装。这使得 apt-mirror 的想法完全无用。

我只是想知道是否还有其他应用程序正在使用 snap。在继续迁移所有服务器之前,我希望知道这一点。

也许我必须检查每个 apt 包并查看它是否具有 snap 依赖项?

谢谢

答案1

您可以检查包的反向依赖关系snapd

$ apt rdepends snapd | grep "Depends"

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Reverse Depends:
  Depends: snap-confine (= 2.57.5+22.04ubuntu0.1)
  Depends: ubuntu-snappy-cli
  Depends: ubuntu-snappy
  Depends: ubuntu-core-snapd-units
  Depends: ubuntu-core-launcher (= 2.57.5+22.04ubuntu0.1)
  Depends: snapd-xdg-open (= 2.57.5+22.04ubuntu0.1)
  Depends: snap-confine (= 2.55.3+22.04)
  Depends: plasma-discover-backend-snap
  Depends: gnome-software-plugin-snap
  Depends: ubuntu-image
  Depends: livecd-rootfs (>= 2.39)
  Depends: ubuntu-snappy-cli
  Depends: ubuntu-snappy
  Depends: ubuntu-core-snapd-units
  Depends: ubuntu-core-launcher (= 2.55.3+22.04)
  Depends: snapd-xdg-open (= 2.55.3+22.04)
  PreDepends: snapcraft
  Depends: livecd-rootfs (>= 2.39)
  Depends: plasma-discover-backend-snap
  Depends: gnome-software-plugin-snap
  PreDepends: ember
  PreDepends: cyphesis-cpp
  PreDepends: chromium-browser
  Depends: ubuntu-server-minimal
  Depends: ubuntu-image
  PreDepends: firefox

我们甚至可以缩短列表,如果我们寻找PreDepends

~$ apt rdepends snapd | grep "PreDepends"

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

  PreDepends: snapcraft
  PreDepends: ember
  PreDepends: cyphesis-cpp
  PreDepends: chromium-browser
  PreDepends: firefox

这是将应用程序安装为 snap 包的过渡包。输出可能因您使用的 Ubuntu 版本而异。

答案2

大多数 apt 包不能将 snap 应用程序作为依赖项(除非它是一个过渡包),并且大多数 snap 应用程序不能将 apt 包作为依赖项(只有 snapd)。

额外有用的命令:

用于snap info <app>查看有关 snap 应用程序的信息以及apt info <package>有关 apt 包的信息。

使用snap list查看由 snap 安装的所有软件包,并apt list --installed查看由 apt 安装的所有软件包,它可能是一个非常长的列表。

相关内容