
Me gustaría determinar qué paquetes RPM en mi sistema Fedora 25 dependen de las bibliotecas libLLVM-3.8.so
y libclang-3.8.so
. ¿Cómo puedo?
Respuesta1
Puedes usar dnf repoquery
para encontrar esto. Por ejemplo:
dnf repoquery --whatrequires libLLVM-3.8.so
sin embargo, en un sistema x86_64, es posible que esto no haga exactamente lo que desea; para especificar la versión x86_64 de una biblioteca (que probablementeeslo que quieras), vira ()(64bit)
, así:
dnf repoquery --whatrequires 'libLLVM-3.8.so()(64bit)'
( '
Ahora es necesario evitar que los paréntesis confundan a bash).
De forma predeterminada, esto enumera los paquetes disponibles e instalados; para restringir a los que están instalados actualmente, agregue la --installed
bandera, así:
dnf repoquery --whatrequires 'libLLVM-3.8.so()(64bit)' --installed
que en mi sistema, devuelve:
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
Si solo desea nombres de paquetes, agregue --queryformat '%{name}\n'
. (Úselo dnf repoquery --querytags
para obtener otras opciones de formato).
Respuesta2
$ 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
Lo mismo ocurre con el otro archivo. O cualquier archivo.