以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 文件]