Linx下的软件包管理
Linux下最流行的软件包管理工具RPM(Redhat Package Manager)。但是,还有其它的软件包管理工具(例如Ubuntu和debian中的apt等等)。不同的发行版采用的软件包管理工具可能不同。
以RPM方式打包的软件,后缀都是“.rpm”。需要区别一下的后缀代表的含义:
“NAME-VERSION.i386.rpm”:这是二进制方式发布的软件包,安装后可直接使用。这种软件包只能运行在32位的操作系统上。
“NAME-VERSION.x86_.rpm”:这是二进制方式发布的软件包,安装后可直接使用。这种软件包只能运行在x86-位的操作系统上。
“NAME-VERSION.IA.rpm”:这是二进制方式发布的软件包,安装后可直接使用。这种软件包只能运行在纯IA位的操作系统上。
“NAME-VERSION.src.rpm”:这是以源代码方式发布的软件包,安装后还需要对安装的源代码进行编译后,才能够使用。
目前,最常见到的(或者使用的)rpm是“.i386.rpm”或“.x86_.rpm”.
基于RPM的管理工具有很多,分为两类:一类是命令;一类是GUI工具。
这里只讲命令的使用,rpm命令。
rpm命令可以完成软件包的五大功能:安装(install),卸载(unstall),更新(upgrade),验证(verify),查询(query)。
需要注意安装rpm软件包时要注意软件包的依赖关系(例如,A依赖于B,则在安装A是必须首先安装B。在卸载B时要先卸载A。),有时候,Linux发行版中的软件包依赖关系是很复杂的,令人头疼。
1.安装
首先要获得rpm软件包,如何获得rpm软件包:搜索引擎;软件的官方网站;专门的rpm站点(例如:www.rpmfind.com);发行版的安装光盘。
必须注意,不同发行版中的rpm包通常是不能通用的。
#rpm -ivh NAME-VERSION.i386.rpm
“ivh”表示:i表示安装(install),v表示verbose显示装的详细信息,h表示hash显示安装进度百分比。
演示:通过安装光盘找到rpm包,然后安装之。。。
2.卸载(uninstall)
用法:
#rpm -e NAME
例如:
#rpm -e zsh
注意:卸载时要注意软件包的依赖关系,并不是所有的软件包都能够轻松的卸载的。例如:
可以强制卸载而忽略软件包的依赖关系,但是不推荐使用此方法。
例如:rpm -e --nodeps httpd
3 更新或者升级(upgrade)
用法:rpm -Uvh NAME-VERSION.i386.rpm
4. 验证(verify)
验证已安装的软件包中是否有异常(例如:文件丢失。。。)
用法:
#rpm -V NAME (验证制定的软件包)
#rpm -Va (验证所有已安装的软件包)
例如:
#rpm -V zsh
(如果没有任何信息,则表示此软件包无问题)
5.查询(query)
查询软件包是否已经安装;查询已安装的软件包的详细信息;查询某个文件属于哪个软件包;安装软件包前查询软件包的信息。
用法:
#rpm -q NAME (查询软件包NAME是否安装了)
例如:
#rpm -qi NAME
(查询已安装的软件包的详细信息)
例如:
再例如:
#rpm -qf FILE
例如:
#rpm -qpi NAME-VERSION.i386.rpm
#rpm -qpl NAME-VERSION.i386.rpm
例如: