一个rpm包:httpd-2.2.15-15.e16.centos.1.i686.rpm
httpd:软件包名。2.2.15:软件版本。15:软件发布的次数。el6/centos:软件发行商。el6是RedHat公司发布,适合RHEL6.x(Red Hat Enterprise Linux)和CentOS6.x下使用。(el6指的就是RHEL6.x平台)i686:适合的硬件平台。RPM包可以在不同的硬件平台安装,选择适合不同CPU的软件版本,可以最大化的发挥CPU性能,所以出现了所谓的i386(386以上计算机都可以安装)、i586(586以上的计算机都可以安装)、i686(奔腾II以上计算机都可以安装,目前所有的CPU都是奔腾II以上,所以这个软件版本居多)、x86_64(64位CPU可以安装)和noarch(没有硬件限制)等文件名。rpm:rpm包的扩展名。我们说过Linux下文件不是靠扩展名区分文件类型,也就是Linux中扩展名没有任何含义。可是这里怎么又出现了扩展名呢?原因很简单,如果我不把RPM的扩展名叫做“.rpm”,管理员很难知道这是一个RPM包,当然也就无法正确安装了。也就是说如果RPM包不用“.rpm”作为扩展名,系统可以正确识别没有问题,可是管理员很难识别这是个什么样的文件。注意
包全名:如果操作的是未安装软件包,则使用包全名,而且需要注意使用绝对路径(一般会进入到软件包目录进行安装)。包名:如果操作的是已经安装的软件包,则使用包名即可。系统会生成RPM包的数据库(/var/lib/rpm/),只要安装过的软件包,就会出现在这个数据库中。而且可以在任意路径下操作(因为是从数据库中查找)。 提示:/var/lib/rpm/这里边的文件都是二进制的,不能用vim来查看。一般情况下rpm包的安装位置,不是所有的rpm包软件的安装位置都是这样。 安装的时候一定要两个进度条都100%才算安装成功,第一个进度条100%是准备安装。第二个进度条才是软件真正安装成功。
注意:每个rpm软件包的安装,随着不同的Linux系统版本,不同版本的rpm软件包,Linux上已安装程序的多少,所需要安装的软件包的数量是不同的。(因为安装的软件越多,已经安装的依赖包就越多,后边再安装的软件包有相同的依赖,就不再需要安装了。)
注意:
只有rpm包安装的软件才可以这样启动。源码包安装的软件是不能这样启动的。Linux系统中所有的执行文件都需要访问绝对路径,服务的启动也是如此。 /etc/rc.d/init.d/软件名 + start|stop|restart|status也可以启动软件。这个是标准启动方法。/etc/init.d/httpd 也行和上边/etc/rc.d/init.d/两个是软链接的关系。service 是Red Hat专有命令,其他Linux系统不一定有。service 实际上就是搜索/init.d/目录。rpm包不仅安装的时候有依赖性,卸载的时候也是有依赖性的。安装的时候1234,卸载的时候需要4321。 (我们一般不会记住软件包安装的依赖性顺序,卸载的时候也会提示你依赖关系,按提示依次卸载。)
注意:
yum命令也可以卸载rpm安装包,但是不建议直接用yum卸载命令卸载软件。原因:yum卸载命令,一条命令直接卸载软件和其相依赖的软件。例如:e包依赖f包,f包依赖a包,a包依赖b包,b包依赖c包,c包依赖d包(e—>f—>a—>b—>c—>d)。如果我安装b包,通过yum命令一条命令,所有需要的依赖包都会自动安装好,也就是c、d包(也就是先安装d包,在安装c包,最后在安装b包)。如果我现在要卸载b包,yum卸载命令,会把b包和依赖他的包,也就是e、f、a包都一起卸载掉(也就是先卸载e包,再卸载f包,再卸载a包,最后卸载b包),但卸载的时候你不知道e、f、a包干什么用的。这些包除了依赖b包,可能其他的软件包也会依赖这些包中的一些包,这样会出现一些问题,会导致其他的依赖这些包的软件使用会出现问题。而且你不记住卸载的这些相关依赖包是什么,会导致你安装不回来(这个意思是,如果卸载b包,然后导致其他一些软件不能正常使用了,我想再通过yum命令重新安装b包,安装也是c、d包,也不会再是安装e、f、a包,两个方向是相反的。)。yum的卸载命令很霸道,初学者不建议使用yum卸载命令做卸载操作。