linux rpm 安装包 信息查询

时间:2021-08-14 14:53:29
来源:http://blog.csdn.net/namesliu/article/details/6004388

以CentOS5.5 中已经集成安装了 Apache、MySQL、PHP作为样例,我们来探索一下其安装路径等信息,以利于我们的管理和使用。如果要重新安装这些软件的最新版本,也需要首先进入原先的路径,备份数据和有关配置,以备将来之用。

因为 CentOS5.5 是红帽子的产品,红帽子应该使用自己发明的 rpm(Redhat Package Manager)包管理方式来管理软件包,所以使用 rpm 的相关命令应该能了解到 Apache、MySQL、PHP 软件包的安装情况,包括安装路径。rpm 在安装软件时,在拷贝文件到相关路径后,同时把这些信息写到了一个特定格式的数据库(也可以理解为日志)中,所以查询起来是非常快的。

1、我的系统中安装了那些rpm软件包
    rpm -qa 将列出所有安装过的包。
    如果要查找所有安装过的包含某个字符串“sql”的软件包,命令如下:
    rpm -qa |grep sql

2、如何获得某个软件包的文件全名
    rpm -q mysql 可以获得系统中安装的mysql软件包全名,从中可以获得当前软件包的版本等信息。这个例子中可以得到信息 mysql-5.0.77-4.el5_5.3。

3、一个rpm包中的文件安装到哪里去了?
    rpm -ql 包名
    注意这里的包名是不包括.rpm 后缀的软件包的名称,也就是说只能用mysql或者mysql-5.0.77-4.el5_5.3,而不是mysql-5.0.77-4.el5_5.3.rpm。
    如果只是想知道可执行程序放到那里去了,也可以用which命令,比如:
    [root@localhost ~]# which mysql
    /usr/bin/mysql
    也可以用 whereis 命令:
    [root@localhost ~]# whereis mysql
    mysql: /usr/bin/mysql
           /usr/lib/mysql
           /usr/share/mysql
           /usr/share/man/man1/mysql.1.gz

4、一个rpm包中包含那些文件
    一个没有安装过的软件包,使用命令 rpm -qlp 包名.rpm。
    一个已经安装过的软件包,还可以使用命令 rpm -ql 包名。

5、如何获取一个软件包的版本,用途等相关信息
    一个没有安装过的软件包,使用命令 rpm -qip 包名.rpm。
    一个已经安装过的软件包,还可以使用命令 rpm -qi 包名。

6、某个程序是哪个软件包安装的,或者哪个软件包包含这个程序
    rpm -qf `which 程序名`  #返回软件包的全名
    rpm -qif `which 程序名`  #返回软件包的有关信息
    rpm -qlf `which 程序名`   #返回软件包的文件列表
    注意,这里不是引号,而是`,就是键盘左上角的那个键。也可以使用rpm -qilf,同时输出软件包信息和文件列表。

7、某个文件是哪个软件包安装的,或者哪个软件包包含这个文件
    注意,前一个问题中的方法,只适用于可执行的程序,而下面的方法,不仅可以用于可执行程序,也可以用于普通的任何文件。前提是知道这个文件名。
    首先获得这个程序的完整路径,可以用whereis或者which命令,然后使用 rpm -qf 命令,例如:
    [root@localhost home]# whereis webmin
    webmin: /etc/webmin /usr/libexec/webmin
    [root@localhost home]# rpm -qf /usr/libexec/webmin
    webmin-1.510-1

检查 AMP 软件的安装信息:

1,Apache
    [root@localhost home]# rpm -qi httpd
    Name        : httpd                        Relocations: (not relocatable)
    Version     : 2.2.3                             Vendor: CentOS
    Release     : 43.el5.centos                 Build Date: 2010年04月05日 星期一 05时24分03秒
    Install Date: 2010年08月10日 星期二 07时38分39秒      Build Host: builder16.centos.org
    Group       : System Environment/Daemons    Source RPM: httpd-2.2.3-43.el5.centos.src.rpm
    Size        : 3274522                          License: Apache Software License
    Signature   : DSA/SHA1, 2010年04月27日 星期二 03时59分43秒, Key ID a8a447dce8562897
    URL         : ht

[root@localhost home]# rpm -ql httpd>httpd-ql.txt
    [参见生成的 httpd-ql.txt 文件]

2,MySQL
    [root@localhost home]# rpm -qi mysql
    Name        : mysql                        Relocations: (not relocatable)
    Version     : 5.0.77                            Vendor: CentOS
    Release     : 4.el5_5.3                     Build Date: 2010年05月28日 星期五 09时11分01秒
    Install Date: 2010年08月10日 星期二 01时15分50秒      Build Host: builder10.centos.org
    Group       : Applications/Databases        Source RPM: mysql-5.0.77-4.el5_5.3.src.rpm
    Size        : 8243103                          License: GPLv2 with exceptions
    Signature   : DSA/SHA1, 2010年05月28日 星期五 15时47分10秒, Key ID a8a447dce8562897
    URL         : http://www.mysql.com
    Summary     : MySQL 客户端程序和共享库。
    Description :
    MySQL is a multi-user, multi-threaded SQL database server. MySQL is a
    client/server implementation consisting of a server daemon (mysqld)
    and many different client programs and libraries. The base package
    contains the MySQK

[root@localhost home]# rpm -ql mysql>mysql-ql.txt
    [参见生成的 mysql-ql.txt 文件]

3,PHP
    [root@localhost home]# rpm -qi php
    Name        : php                          Relocations: (not relocatable)
    Version     : 5.1.6                             Vendor: CentOS
    Release     : 27.el5                        Build Date: 2010年03月31日 星期三 14时53分10秒
    Install Date: 2010年08月10日 星期二 07时39分19秒      Build Host: builder17.centos.org
    Group       : Development/Languages         Source RPM: php-5.1.6-27.el5.src.rpm
    Size        : 6175386                          License: The PHP License v3.01
    Signature   : DSA/SHA1, 2010年04月27日 星期二 04时00分31秒, Key ID a8a447dce8562897
    URL         : http://www.php.net/
    Summary     : PHP 嵌入在 HTML 中的脚本语言。(PHP:超级文本预处理器)
    Description :
    PHP is an HTML-embedded scripting language. PHP attempts to make it
    easy for developers to write dynamically generated webpages. PHP also
    offers built-in database integration for several commercial and
    non-commercial database management systems, so writing a
    database-enabled webpage with PHP is fairly simple. The most common
    use of PHP coding is probably as a replacement for CGI scripts.

The php package contains the module which adds support for the PHP
    language to Apache HTTP Server.

[root@localhost home]# rpm -ql php>php-ql.txt
    [参见生成的 php-ql.txt 文件]