如何查看Snap软件包之间的反向依赖关系
如何查看Snap软件包之间的反向依赖关系
如果你平时用Debian/Ubuntu系的系统,肯定知道用apt工具查看Deb包的反向依赖有多方便——比如想知道哪些包依赖某个特定软件包,直接敲这个命令就行:
$ apt rdepends <package>
举个实际例子,查看netcat-openbsd的反向依赖,输出会是这样:
$ apt rdepends netcat-openbsd netcat-openbsd Reverse Depends: Recommends: libvirt-daemon Recommends: libvirt-daemon Depends: xletters Depends: tomcat10-user |Depends: rtpengine-utils Suggests: mariadb-server |Depends: ifupdown-extra Depends: freedombox Depends: ubuntu-minimal
不过到了Snap软件包这边,情况就有点不同了:大部分Snap包的依赖都集中在core、gnome这类基础框架包上,日常用到反向依赖查询的场景不多,但碰到某些情况还是刚需——比如你的系统里装了好几个版本的core基础包(像core18、core20这种),想搞清楚到底哪些Snap包依赖某个特定版本的core,这时候就得找对应的方法了。
给你分享两个实用的命令:
- 第一个是用
snap connections配合过滤,快速定位依赖目标包的Snap。比如要找依赖core18的所有Snap,运行:$ snap connections | grep core18 - 第二个是更专业的
snap debug dependencies命令(需要你的Snapd版本比较新),它能输出非常详细的依赖关系,包括反向依赖。如果要查看哪些包依赖core18,直接执行:$ snap debug dependencies core18
要是你先想确认系统里装了哪些基础Snap包,可以用snap list先列出来:
$ snap list Name Version Rev Tracking Publisher Notes ... core18 20240416 2823 latest/stable canonical✓ base core20 20240530 2183 latest/stable canonical✓ base ...
备注:内容来源于stack exchange,提问作者Brett Holman
相关产品推荐
相关产品推荐

