vanseparis 2011-03-04
CentOS5.5 中已经集成安装了 Apache、MySQL、PHP,我们来探索一下其安装路径等信息,以利于我们的管理和使用。如果要重新安装这些软件的最新版本,也需要首先进入原先的路径,备份数据和有关配置,以备将来之用。
因为 CentOS5.5 是红帽子的产品,红帽子应该使用自己发明的 rpm(Redhat Package Manager)包管理方式来管理软件包,所以使用 rpm 的相关命令应该能了解到 Apache、MySQL、PHP 软件包的安装情况,包括安装路径。rpm 在安装软件时,在拷贝文件到相关路径后,同时把这些信息写到了一个特定格式的数据库(也可以理解为日志)中,所以查询起来是非常快的。
1、我的系统中安装了那些rpm软件包
rpm-qa将列出所有安装过的包。
如果要查找所有安装过的包含某个字符串“sql”的软件包,命令如下:
rpm -qa |grep sql2、如何获得某个软件包的文件全名 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~]#whichmysql
/usr/bin/mysql
也可以用whereis命令:
[root@localhost~]#whereismysql
mysql:/usr/bin/mysql
/usr/lib/mysql
/usr/share/mysql
/usr/share/man/man1/mysql.1.gz4、一个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@localhosthome]#whereiswebmin
webmin:/etc/webmin/usr/libexec/webmin
[root@localhosthome]#rpm-qf/usr/libexec/webmin
webmin-1.510-1检查 AMP 软件的安装信息:
1,Apache
[root@localhosthome]#rpm-qihttpd
Name:httpdRelocations:(notrelocatable)
Version:2.2.3Vendor:CentOS
Release:43.el5.centosBuildDate:2010年04月05日星期一05时24分03秒
InstallDate:2010年08月10日星期二07时38分39秒BuildHost:builder16.centos.org
Group:SystemEnvironment/DaemonsSourceRPM:httpd-2.2.3-43.el5.centos.src.rpm
Size:3274522License:ApacheSoftwareLicense
Signature:DSA/SHA1,2010年04月27日星期二03时59分43秒,KeyIDa8a447dce8562897
URL : ht[root@localhost home]# rpm -ql httpd>httpd-ql.txt [参见生成的 httpd-ql.txt 文件]
2,MySQL
[root@localhosthome]#rpm-qimysql
Name:mysqlRelocations:(notrelocatable)
Version:5.0.77Vendor:CentOS
Release:4.el5_5.3BuildDate:2010年05月28日星期五09时11分01秒
InstallDate:2010年08月10日星期二01时15分50秒BuildHost:builder10.centos.org
Group:Applications/DatabasesSourceRPM:mysql-5.0.77-4.el5_5.3.src.rpm
Size:8243103License:GPLv2withexceptions
Signature:DSA/SHA1,2010年05月28日星期五15时47分10秒,KeyIDa8a447dce8562897
URL:http://www.mysql.com
Summary:MySQL客户端程序和共享库。
Description:
MySQLisamulti-user,multi-threadedSQLdatabaseserver.MySQLisa
client/serverimplementationconsistingofaserverdaemon(mysqld)
andmanydifferentclientprogramsandlibraries.Thebasepackage
contains the MySQK[root@localhost home]# rpm -ql mysql>mysql-ql.txt [参见生成的 mysql-ql.txt 文件]
3,PHP
[root@localhosthome]#rpm-qiphp
Name:phpRelocations:(notrelocatable)
Version:5.1.6Vendor:CentOS
Release:27.el5BuildDate:2010年03月31日星期三14时53分10秒
InstallDate:2010年08月10日星期二07时39分19秒BuildHost:builder17.centos.org
Group:Development/LanguagesSourceRPM:php-5.1.6-27.el5.src.rpm
Size:6175386License:ThePHPLicensev3.01
Signature:DSA/SHA1,2010年04月27日星期二04时00分31秒,KeyIDa8a447dce8562897
URL:http://www.php.net/
Summary:PHP嵌入在HTML中的脚本语言。(PHP:超级文本预处理器)
Description:
PHPisanHTML-embeddedscriptinglanguage.PHPattemptstomakeit
easyfordeveloperstowritedynamicallygeneratedwebpages.PHPalso
offersbuilt-indatabaseintegrationforseveralcommercialand
non-commercialdatabasemanagementsystems,sowritinga
database-enabledwebpagewithPHPisfairlysimple.Themostcommon
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 文件]
备注:
1,下载httpd-ql.txt、mysql-ql.txt、php-ql.txt文件:
http://blog.why100000.com/wp-content/uploads/2010/08/centos55_amp_rpm-ql.rar2,删除 CentOS5.5 上自带的老版本 MySQL:yum remove mysql
删除后查看/etc/my.conf和/var/lib/mysql是不是还存在?若在的话,手工删除之。
删除 apache、php 类似。