![确定 apt、snap、flatpak 软件包中的命令](https://linux22.com/image/1020910/%E7%A1%AE%E5%AE%9A%20apt%E3%80%81snap%E3%80%81flatpak%20%E8%BD%AF%E4%BB%B6%E5%8C%85%E4%B8%AD%E7%9A%84%E5%91%BD%E4%BB%A4.png)
考虑一下apt search util-linux
。这表明该软件包util-linux/bionic-updates,bionic-security,now 2.31.1-0.4ubuntu3.7 amd64 [installed]
可用。此外,我已经弄清楚了我可以做什么dpkg -s util-linux
,它告诉我:“描述:杂项系统实用程序:此软件包包含许多重要的实用程序,其中大多数用于维护您的系统。此软件包中包含的一些更重要的实用程序允许您查看内核消息、创建新文件系统、查看块设备信息、与实时时钟交互等。”
在安装软件包之前,我想知道:
• 此包的大小是多少(下载和解压的大小 - 我猜我可以从中获取这些信息apt install 'name'
,然后根据显示的这些信息中止安装)?
• 此包需要哪些额外的库,以及它们的大小是多少(下载和提取的大小)?
• 此软件包中包含哪些可执行二进制文件?如果我安装此软件包,它们将被放置在什么路径中?
• 此软件包中包含哪些其他不可执行文件(例如配置文件等)以及如果我安装此软件包,它们将被放置在什么路径中?
• 对于安装后的情况,给出类似的命令git
,我如何才能找到该文件最初来自哪个包?
snap
• 最后,我怎样才能对和flatpak
包执行上述所有操作?
答案1
snap info snapname
会告诉您大小,但不会告诉您是否需要任何“内容”(有时称为“平台”)卡扣(如gnome-3-34-1804
)或基座(如core20
)。您可能已经安装了它们,但也可能没有。
Snap 具有捆绑的库(除了基础和使用的任何平台快照中存在的库),因此除了内容/基础快照之外,实际上不存在引入依赖项/库的概念。
但是您可以snap download snapname
将其抓取,然后unsquash -l snapfilename
列出其中的内容。您也可以将其完全打开,以unsquash snapfilename
了解其中的内容。
Snap 还(有时*)包含一个清单,详细说明其中的内容。下载 snap 后,您可以unsquashfs snapfilename snap/manifest.yaml
查看清单以查看 snap 中包含哪些库。您还可以(有时*)snapcraft.yaml
使用相同方法提取用于构建它的原始文件:unsquashfs snapfilename snap/snapcraft.yaml
。
*
“有时”是因为这取决于 snap 的构建方式。它们并不是都以同样的方式构建的。