如何列出 ZYpp/Zypper 软件包已安装的所有文件?

如何列出 ZYpp/Zypper 软件包已安装的所有文件?

如何zypper列出给定包的已安装文件的位置?

答案1

转速可用于列出包中已安装的文件<package>

rpm -ql <package>

长版:

rpm --query --list <package>

zypper(目前)不支持列出已安装的文件。

另外,我发现“反向”很有帮助。要查找“拥有”文件的包,<file>您可以使用

rpm -qf <file>

返回确切的包裹。

答案2

在 openSUSE 中,有几种列出已安装文件的方法。对于 Zypper,我会尝试:

zypper search -i

或者:

zypper search --installed-only

使用 RPM,您可以尝试:

rpm -ql packageName | less

答案3

由于我无法添加评论,我将添加另一个答案并尝试正确总结它,因为答案几乎完整但分散。

齐普单独它是不可能的,但是随着软件包的安装齐普,它通常位于您的硬盘上。如果它不再位于硬盘上,您甚至可以使用以下命令下载它齐普,无需重新安装:

zypper in --download-only <package_name>

然后会显示下载的包名称。通常,它是最后一个包名称,因为首先检索依赖项(例如firewalld-0.7.5-1.1.noarch.rpm对于包防火墙)。要查找目录,您可以简单地使用寻找像这样:

find /var/cache/zypp -name <package_name>

它应该返回一行,其中包含文件的完整路径(例如/var/cache/zypp/packages/repo-oss/noarch/firewalld-0.7.5-1.1.noarch.rpm)。当您找到该包并知道其路径后,您可以使用转速:

rpm -ql <path_to_package>

什么转速然后列出的是软件包的内容,包括这些文件将安装在您的系统上或已经安装在您的系统上的路径。

答案4

迟到的答案,但另一种选择是,如果您碰巧使用 openSUSE,有一个选项卡显示 Yast2 软件管理器中的包安装的文件。

您可以使用以下命令从 Zypper 中获取(部分)文件:

zypper if --provides <packagename>

其中列出了您通过该软件包获得的所有内容。通常,不是很详细,也不包括库,但我不知道你的用例是什么,这可能就足够了。

例如

~$  zypper if --provides util-linux
Loading repository data... Reading installed packages...
Information for package util-linux:
-----------------------------------
Repository     : openSUSE-Tumbleweed-Oss
Name           : util-linux
Version        : 2.39-3.1
Arch           : x86_64
Vendor         : openSUSE
Installed Size : 4.2 MiB
Installed      : Yes
Status         : out-of-date (version 2.39-2.1 installed)
Source package : util-linux-2.39-3.1.src
Upstream URL   : https://www.kernel.org/pub/linux/utils/util-linux/
Summary        : A collection of basic system utilities (core part)
Description    :
    This package contains a large variety of low-level system utilities
    that are necessary for a Linux system to function. It contains the
    mount program, the fdisk configuration tool, and more.
Provides       : [27]
    /bin/su
    /bin/kill
    /bin/more
    /bin/mount
    /bin/umount
    util-linux(fake+no-canonicalize)
    config(util-linux) = 2.39-3.1
    eject = 2.1.0
    fsck-with-dev-lock = 2.39
    hardlink = 1.1
    login = 4.0
    rfkill = 0.5
    util-linux = 2.39-3.1
    util-linux(x86-64) = 2.39-3.1
    /usr/bin/getopt
    /usr/bin/ipcrm
    /usr/bin/ipcs
    /usr/bin/kill
    /usr/bin/more
    /usr/bin/mount
    /usr/bin/renice
    /usr/bin/setpriv
    /usr/bin/su
    /usr/bin/umount
    /usr/sbin/nologin
    /usr/bin/col
    /usr/sbin/agetty

相关内容