
Gostaria de determinar quais pacotes RPM no meu sistema Fedora 25 dependem das bibliotecas libLLVM-3.8.so
e libclang-3.8.so
. Como é que eu?
Responder1
Você pode usar dnf repoquery
para encontrar isso. Por exemplo:
dnf repoquery --whatrequires libLLVM-3.8.so
entretanto, em um sistema x86_64, isso pode não fazer exatamente o que você deseja; para especificar a versão x86_64 de uma biblioteca (que provavelmenteéo que você quer), acrescente ()(64bit)
, assim:
dnf repoquery --whatrequires 'libLLVM-3.8.so()(64bit)'
( '
Agora é necessário evitar que os parênteses confundam o bash.)
Por padrão, isto lista os pacotes disponíveis e instalados; para restringir aos que estão instalados atualmente, adicione o --installed
sinalizador, assim:
dnf repoquery --whatrequires 'libLLVM-3.8.so()(64bit)' --installed
que no meu sistema retorna:
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
Se você quiser apenas nomes de pacotes, adicione --queryformat '%{name}\n'
. (Use dnf repoquery --querytags
para obter outras opções de formatação.)
Responder2
$ 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
Da mesma forma para o outro arquivo. Ou qualquer arquivo.