用RPM包方式来发布软件变得越来越流行,主要的原因是这种软件发布方式很方便用户安装、升级和从系统中删除。除此之外,RPM还可以让你有更多的对系统安装的软件的管理性功能,例如可以查新系统有哪些已经安装的软件包,查看这些软件包分别安装了什么文件,这些文件又放在了什么地方等等。
这里我给出一个简单的入门手册,供初学者查看参考,快速使用RPM。这些RPM命令都是最最常用的,更复杂的功能大家可以暂时不用管,等确实需要的时候再去查man手册。:)
下面我们开始吧。安装一个RPM包的一般采用的命令格式如下:
# rpm -ivh package.ix86.rpm
在上面的命令中,package是个假定的名字,ix86是这个包为特定的CPU做了优化处理的意思。例如,package可能是ldconfig-1.9.5-14,而ix86是i386这样的。
“-i”参数指明是要安装这个package,而“-v”这个参数则使输出信息增加,“-h”表示在安装过程中显示hashes作为在安装过程的一个进度条。
上面就是所有的关于安装一个RPM包的内容,非常简单而好用吧。当然如果你安装过程中遇到了一些包依赖关系的问题那就稍微要麻烦一些了。包依赖关系问题就是说,你正在安装的包需要其他的包的支持才能正常工作。通常还有可能遇到的问题是所安装的包需要某个软件或者函数库的特定版本才能正常工作。这样的情况下,你可以安装或者升级依赖的软件包,然后继续安装你自己需要安装的软件包。
下面我们来看其他的一些非常有用的rpm命令。
如果你要看一个RPM包安装以后到底安装了那些文件,你可以使用这个命令:
# rpm -ql packagename
这个packagename就是你要查询的软件包的名字,例如ldconfig-1.9.5-14mdk;而“-p”参数表示查询软件包数据库,看这个软件包是否已经安装;“-l”参数表示列出所查询的包的所有安装了的文件的完整的路径。
下面是一个例子:
[wh@infonet wh] $ rpm -ql ldconfig-1.9.5-14mdk
/sbin/ldconfig
/usr/doc/ldconfig-1.9.5
/usr/doc/ldconfig-1.9.5/README
除了你查询某个软件包的信息这个实用功能外,还可以很方便的删除某个特定的RPM包软件。采用的命令参数是“-e“,格式如下:
# rpm -e packagename
“-e”就表示删除(erase)的意思,就是把特定的软件包(packagename)删除掉。
值得注意的是,rpm管理机制不允许你删除某个软件包,如果这个软件包还被其他软件包所依赖。因为一旦你删除了这个软件包,其他依赖他才能运行的软件包也就不能正常使用了。
已经学会了如何安装和如何删除一个rpm软件包,下面我们看看如何升级一个已经存在的rpm包软件。升级其实和安装类似,可以参考下面的命令:
# rpm -Uvh package.ix86.rpm
“-U“参数表示是升级(upgrade),参数“v”和“h”意义和前面一样的,这里不再赘述。
到此,我们已经学会了,如何安装、删除和升级一个使用rpm发布的软件了。:)