如何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