CentOS 5.5 中已经集成安装了 Apache、MySQL、PHP,我们来探索一下其安装路径,以利于我们的管理和使用。如果要重新安装这些软件的最新版本,也需要首先进入原先的路径,备份数据和有关配置,以备将来之用。
因为 CentOS 5.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 文件]