由于我在离线环境中使用服务器,因此我通常会镜像 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 安装的所有软件包,它可能是一个非常长的列表。