Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2840875
  • 博文数量: 348
  • 博客积分: 2907
  • 博客等级: 中校
  • 技术积分: 2272
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-12 09:16
个人简介

专注 K8S研究

文章分类

全部博文(348)

文章存档

2019年(22)

2018年(57)

2016年(2)

2015年(27)

2014年(33)

2013年(190)

2011年(3)

2010年(14)

分类: LINUX

2013-12-11 19:19:24

在redhat群里,一个伙计一直喊:libltdl.so.3有这个东西吗?

我恰巧刚安装CentOS5.4 所以whereis libltdl.so.3 一看有,是个链接,源文件是libltdl.so.3.1.4

就给他发过去了..

还要运行下:ln -s  /usr/libltdl.so.3.1.4  /usr/lib/libltdl.so.3 才可以,因为有些软件编译中,只认识文件名,不同就不认得.

他要编译一个认证服务器软件。但是不知道这个文件是哪里的.

我查了查 很简单:

做一个根据文件(已安装)查看该文件所属软件包的清单列表,类似于rpm -qif /usr/bin/rm这样。

$ dpkg -S /usr/bin/axel
axel: /usr/bin/axel


这一举两得,似乎连deb文件格式也出来了,不知道管用不..看起来似乎不对.




RPM应用——查询(已安装包和未安装包)


查询功能

命令格式 rpm {-q|--query} [select-options] [query-options]

  RPM的查询功能是极为强大,是极为重要的功能之一;举几个常用的例子,更为详细的具体的,请参考#man rpm

1、对系统中已安装软件的查询

1)查询系统已安装的软件

  语法:rpm -q 软件名

  举例:[root@localhost beinan]# rpm -q gaim

  gaim-1.3.0-1.fc4   

       查看系统中所有已经安装的包,要加 -a 参数 ;

  [root@localhost RPMS]# rpm -qa

  如果分页查看,再加一个管道 |和more命令;

  [root@localhost RPMS]# rpm -qa |more

  在所有已经安装的软件包中查找某个软件,比如说 gaim ;可以用 grep 抽取出来;

  [root@localhost RPMS]# rpm -qa |grep gaim

  上面这条的功能和 rpm -q gaim 输出的结果是一样的;

2)查询一个已经安装的文件属于哪个软件包

  语法 rpm -qf 文件名

  注:文件名所在的绝对路径要指出

  举例:

  [root@localhost RPMS]# rpm -qf /usr/lib/libacl.la

  libacl-devel-2.2.23-8

3)查询已安装软件包都安装到何处

  语法:rpm -ql 软件名 或 rpm rpmquery -ql 软件名

  举例:

  [root@localhost RPMS]# rpm -ql lynx

  [root@localhost RPMS]# rpmquery -ql lynx

4)查询一个已安装软件包的信息

  语法格式: rpm -qi 软件名

  举例:

  [root@localhost RPMS]# rpm -qi lynx

5)查看一下已安装软件的配置文件

  语法格式:rpm -qc 软件名

  举例:

  [root@localhost RPMS]# rpm -qc lynx

6)查看一个已经安装软件的文档安装位置

  语法格式: rpm -qd 软件名

  举例:

  [root@localhost RPMS]# rpm -qd lynx

7)查看一下已安装软件所依赖的软件包及文件

  语法格式: rpm -qR 软件名

  举例:

  [root@localhost beinan]# rpm -qR rpm-python

  查询已安装软件的总结:对于一个软件包已经安装,我们可以把一系列的参数组合起来用;比如 rpm -qil ;比如:

  [root@localhost RPMS]# rpm -qil lynx

2、对于未安装的软件包的查看:

  查看的前提是您有一个.rpm 的文件,也就是说对既有软件file.rpm的查看等;

1)查看一个软件包的用途、版本等信息;

  语法: rpm -qpi file.rpm

  举例:

  [root@localhost RPMS]# rpm -qpi lynx-2.8.5-23.i386.rpm

2)查看一件软件包所包含的文件;

  语法: rpm -qpl file.rpm

  举例:

  [root@localhost RPMS]# rpm -qpl lynx-2.8.5-23.i386.rpm

3)查看软件包的文档所在的位置;

  语法: rpm -qpd file.rpm

  举例:

  [root@localhost RPMS]# rpm -qpd lynx-2.8.5-23.i386.rpm

4)查看一个软件包的配置文件;

  语法: rpm -qpc file.rpm

  举例:

  [root@localhost RPMS]# rpm -qpc lynx-2.8.5-23.i386.rpm

5)查看一个软件包的依赖关系

  语法: rpm -qpR file.rpm

  举例:

  [root@localhost archives]# rpm -qpR yumex_0.42-3.0.fc4_noarch.rpm

  /bin/bash

  /usr/bin/python

  config(yumex) = 0.42-3.0.fc4

  pygtk2

  pygtk2-libglade

  rpmlib(CompressedFileNames) <= 3.0.4-1

  rpmlib(PayloadFilesHavePrefix) <= 4.0-1

  usermode

  yum >= 2.3.2

我要飞得更高(Flying Higher) by hi.baidu









DEB 的资料



如何知道文件属于哪个deb软件包2010年03月03日 星期三 上午 10:58如果你想安装某个软件包,但用apt-cache查不出它的名称,不过你 知道这个程序的文件名,或这个软件包中某些文件的文件名,那么你可以用apt-file来查找软件包名称。如下所示:

$ apt-file search filename
它用起来很象dpkg -S,不过它还会列出包含该文件的已删除软件包。它 也可以用来查找哪个软件包包含编译时所缺的文件,当然,解决这类问题auto-apt可能是更好的方案,请参考如 何“按需”安装软件包, 第 5.3 节。

用这个命令,你可以列出软件包的内容:

$ apt-file list packagename
apt-file用一个数据库来存放所有软件包的内容信息,和auto-apt 一样,这个数据库也需要实时更新,完成更新可以运行:

# apt-file update
缺省情况下,apt-file和auto-apt使用同一个数据库, 参考如 何“按需”安装软件包, 第 5.3 节。

摘自: 

如何知道文件属于哪个deb软件包


[root@localhost ~]# rpm -qif /usr/lib/libltdl.so.3
Name : libtool-ltdl Relocations: (not relocatable)
Version : 1.5.22 Vendor: CentOS
Release : 6.1 Build Date: 2007年01月07日 星期日 16时08分38秒
Install Date: 2010年08月09日 星期一 22时31分40秒 Build Host: builder5.centos.org
Group : System Environment/Libraries Source RPM: libtool-1.5.22-6.1.src.rpm
Size : 50769 License: LGPL
Signature : DSA/SHA1, 2007年04月04日 星期三 08时24分41秒, Key ID a8a447dce8562897
URL : http://www.gnu.org/software/libtool/
Summary : GNU Libtool 动态模块加载程序的运行时库函数
Description :
The libtool-ltdl package contains the GNU Libtool Dynamic Module Loader, a
library that provides a consistent, portable interface which simplifies the
process of using dynamic modules.

These runtime libraries are needed by programs that link directly to the
system-installed ltdl libraries; they are not needed by software built using the
rest of the GNU Autotools (including GNU Autoconf and GNU Automake).
[root@localhost ~]#


阅读(3324) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~