我想确定我的 Fedora 25 系统上的哪些 RPM 包依赖于库libLLVM-3.8.so
和libclang-3.8.so
.我如何能?
答案1
您可以使用dnf repoquery
它来查找。例如:
dnf repoquery --whatrequires libLLVM-3.8.so
然而,在 x86_64 系统上,这可能无法达到您想要的效果;指定库的 x86_64 版本(可能是是你想要什么),添加()(64bit)
,像这样:
dnf repoquery --whatrequires 'libLLVM-3.8.so()(64bit)'
('
现在有必要防止括号混淆 bash。)
默认情况下,这会列出可用的和已安装的软件包;要限制为当前安装的,请添加该--installed
标志,如下所示:
dnf repoquery --whatrequires 'libLLVM-3.8.so()(64bit)' --installed
在我的系统上,返回:
llvm-libs-0:3.8.0-1.fc25.x86_64
mesa-dri-drivers-0:13.0.2-2.fc25.x86_64
mesa-libxatracker-0:13.0.2-2.fc25.x86_64
如果您只想要包名称,请添加--queryformat '%{name}\n'
. (用于dnf repoquery --querytags
获取其他格式选项。)
答案2
$ locate libLLVM-3.8.so
/usr/lib/libLLVM-3.8.so
/usr/lib64/libLLVM-3.8.so
$ rpm -qf /usr/lib64/libLLVM-3.8.so
llvm-libs-3.8.0-1.fc25.x86_64
$ sudo rpm -e --test llvm-libs-3.8.0-1.fc25.x86_64
error: Failed dependencies:
libLLVM-3.8.so()(64bit) is needed by (installed) clang-libs-3.8.0-2.fc25.x86_64
libLLVM-3.8.so()(64bit) is needed by (installed) mesa-dri-drivers-13.0.2-2.fc25.x86_64
libLLVM-3.8.so()(64bit) is needed by (installed) mesa-libOpenCL-13.0.2-2.fc25.x86_64
libLLVM-3.8.so()(64bit) is needed by (installed) mesa-libxatracker-13.0.2-2.fc25.x86_64
其他文件也类似。或任何文件。