zypper 列出未安装包中的文件

Chr*_*aes 5 rpm zypper

使用zypper search,我可以找到包。我知道我可以使用

rpm -qlp <package.rpm>
Run Code Online (Sandbox Code Playgroud)

列出文件,但我没有;因为它位于其中一个zypper存储库中。有这样的吗?

zypper list-files-in <package>
Run Code Online (Sandbox Code Playgroud)

注意:我正在为试图解决相同问题的其他人创建一个自我回答的问答

Chr*_*aes 6

似乎没有一个选项可以zypper在一个命令中执行此操作,但您可以:

获取文件而不安装(注意:如果此命令威胁您卸载软件包,这不是问题;带有该--download-only标志zypper将在下载后停止)

zypper in --download-only <package>
Run Code Online (Sandbox Code Playgroud)

找到文件:

find /var/cache/zypp -iname "package*rpm"
Run Code Online (Sandbox Code Playgroud)

列出已卸载的包中的文件:

rpm -qlp /var/cache/zypp/packages/<repo_alias>/suse/<arch>/<package-file-name>
Run Code Online (Sandbox Code Playgroud)

现在,如果需要,您可以清理下载的文件(以及其他一些缓存):

zypper clean
Run Code Online (Sandbox Code Playgroud)