如何查询一个库文件属于哪个rpm包

1.如果这个库文件已经存在

使用rpm命令:

# rpm -qf  /file/path  (绝对路径)

例如:

# rpm -qf /lib/libm.so.6

glibc-2.12-1.47.el6.i686

当然,这适用于rpm包已经安装了的情况。

如果,没有安装呢?比如系统提示缺少某个库?

2.如果这个库文件不存在

可以使用

#yum provides libname

例如:

[[email protected] gpfs1]# yum provides libm.so.6
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
Updating certificate-based repositories.
glibc-2.12-1.107.el6.i686 : The GNU libc libraries
Repo        : base
Matched from:
Other       : libm.so.6
glibc-2.12-1.47.el6.i686 : The GNU libc libraries
Repo        : rhel-media
Matched from:
Other       : libm.so.6
glibc-2.12-1.47.el6.i686 : The GNU libc libraries
Repo        : installed
Matched from:
Other       : Provides-match: libm.so.6

这里查找到有三个包,可以提供libm.so.6。

如果不行,可能需要这样:

#yum provides */libname

如果OS是SuSE,需要使用命令:
zypper wp  libname

注意:libname 是要查找的库的名字。

记得要配好安装源。

时间: 2024-10-24 12:38:18

如何查询一个库文件属于哪个rpm包的相关文章

编写spec文件,将tar.gz文件制作为rpm包

1.安装相关rpm-build包2.编写相关的spec文件,以tengine-2.3.1为例子tengine-2.3.1.spec文件内容如下: %define name tengine %define Version 2.3.1 Name: %{name} Version: %{Version} Release: 1%{?dist} Summary:tengine rmp package production Group: Applications/Archiving License: GPL

https://pkgs.org/查询缺少的依赖文件归属于哪个rpm包

我们在redhat下使用rpm -ivh安装rpm包的时候,经常会报缺少依赖条件的错误,如下: *[[email protected] Packages]# rpm -ivh httpd-2.4.6-17.el7.x8664.rpm 错误:依赖检测失败: /etc/mime.types 被 httpd-2.4.6-17.el7.x8664 需要 httpd-tools = 2.4.6-17.el7 被 httpd-2.4.6-17.el7.x8664 需要* "httpd-tools = 2.4

解决RPM包依赖的几种方法

前言:常用RPM的朋友们都知道,RPM简单易用,但是它的依赖关系是最头疼的!有时候比方说A包需要B包,B包需要C包,C包需要A包,好了.这就是最常见的死锁了(类似数据库有木有?).这个时候有以下几种方式可以解决: A.强制安装 ----暴力型 使用rpm -i --force --nodeps  强制安装.忽略依赖关系.这种方法你可以先装A包,再装B包,再装C包.这样还是有点隐患的,感觉不是很踏实(虽然其实目前没发现什么不好).安装后使用成功的前提是:你要搞清楚依赖关系,并且把这些包都装好.好处

解决RPM包相互依赖的有效方法

出自:http://blog.csdn.net/kai27ks/article/details/7473683 前言:常用RPM的朋友们都知道,RPM简单易用,但是它的依赖关系是最头疼的!有时候比方说A包需要B包,B包需要C包,C包需要A包,好了.这就是最常见的死锁了(类似数据库有木有?).这个时候有以下几种方式可以解决: A.强制安装 ----暴力型 使用rpm -i --force --nodeps  强制安装.忽略依赖关系.这种方法你可以先装A包,再装B包,再装C包.这样还是有点隐患的,感

第8天压缩 xarges sed命令 yum配置 rpm包文件修复

seq 10 seq 10 |xargs echo 1 2 3 4 5 默认跟 echo \n换成空格 [[email protected] ~]#seq 1 10 |xargs echo [[email protected] ~]#seq 1 10 |xargs 1 2 3 4 5 6 7 8 9 10 [[email protected] ~]#seq 1 10 |xargs echo 1 2 3 4 5 6 7 8 9 10 [[email protected] ~]# xargs 默认是

linux rpm包 安装 升级 卸载 查询

RPM是 "Redhat Package Manager" 的缩写,根据名字也能猜到这是Redhat公司开发出来的.RPM 是以一种数据库记录的方式来将您所需要的套件安装到您的Linux 主机的一套管理程序.也就是说,您的linux系统中存在着一个关于RPM的数据库,它记录了安装的包以及包与包之间依赖相关性.RPM包是预先在linux机器上编译好并打包好的文件,安装起来非常快捷.但是也有一些缺点,比如安装的环境必须与编译时的环境一致或者相当:包与包之间存在着相互依赖的情况:卸载包时需要

RPM包rpmbuild SPEC文件深度说明 【装载】

转载地址[请查看作者原文] http://hlee.iteye.com/blog/343499 http://laoguang.blog.51cto.com/6013350/1103628 上一篇日志写到,为什么要制作rpm包,以及如何使用.src.rpm文件生成rpm包.最后部分还看到.src.rpm的内容,实际上 就是由.tar.gz源码.补丁软件和.spec脚本组成的.由此知道,使用.spec生成rpm包是比较简单的,因为.src.rpm通常都是由软件开 发者或者第三方的专业制作人根据源码

登录mysqlpxc报错找不到库文件libreadline.so.7

一.环境说明: 本博文的演示环境和上篇博文一致https://blog.51cto.com/wujianwei/2374588 1.1简述: 基于上篇博文,为了部署mysqlpxc集群环境,需要开启3个vmware虚拟机实例来部署3个mysqlpxc实例.第一篇博文中在初始化mysqlpxc实例后,登录实例时,报错提示: [[email protected] local]# /usr/local/mysqlpxc/bin/mysql -uroot -p mysql: error while lo

四轴飞行器1.2.3 STM32F407时钟配置和升级标准库文件

原创文章,欢迎转载,转载请注明出处 这个星期进度比较慢哈,只有周末和晚上下班回来才能做,事件不连续,琐碎的事情又比较多,挺烦的,有多琐碎呢?           1.本人有点小强迫症哈,虽然RTT将文件夹已经分类的很好了,但是在一个项目跟目录下这样放着看起来还是很不舒服的哈,于是强迫症范了,要整理下它.按照以前做项目的习惯,将程序分为四个层次,硬件层,驱动层,系统层和应用层,我们就整理下,对三个文件夹,其中硬件层和驱动层放在BSP文件夹里面,BSP文件里面再分硬件和驱动的文件夹,同时添加一个库文