您的当前位置:首页 --> CentOS入门
RPM软件包安装与升级
浏览次数:1183 关键词 ( 软件包  RPM  )
如何安装和升级一个RPM软件包? 
解决方法: 为了安装一个RPM包,你必须有希望安装的软件的RPM包。你可以从一个网站来下载相应的RPM包,当然红帽网络提供在我们发行版中所有的软件包。有两个主要的选项用来安装和升级RPM软件包: -i 用于安装一个新的软件包。经常用于内核的升级和安装
-U 用于升级一个RPM包,如果这个软件包在你系统的RPM数据库中不存在,它将安装这个软件包。 你可以在命令行上输入man rpm来得到详细的使用方法和选项的说明。这里是关于-i和-U选项的说明。 INSTALL AND UPGRADE OPTIONS
The general form of an rpm install command is 
rpm {-i|--install} [install-options] PACKAGE_FILE ... 
This installs a new package. 
The general form of an rpm upgrade command is 
rpm {-U|--upgrade} [install-options] PACKAGE_FILE ... 
This install the package or upgrades the package currently installed  to  a  newer version.   This  is the same as install, except all other version(s) of     the package are removed after the new package is installed.      注:这些例子假设这些软件包在你系统的一个目录中。下面的RPM命令在你存放新的RPM包的当前工作路径下执行。 我们使用-i选项来安装一个RPM软件包。正如我们上面提到的,升级内核必须用-i来安装,系统会同时有多个内核,防止新内核无法启动时导致无法进入系统,万一当新核心不能启动的时候,你可以选择启动原有的核心。 在这个例子中,我们首先使用ls命令检查新的RPM软件包的名字。然后查询RPM数据库检查哪个核心的软件包已经安装了。在查询的时候不需要指定版本号,直接使用:rpm -q <软件包的名字>。我们可以使用下面的命令来安装一个RPM包:rpm -ivh <软件包的名字>. 其中-v选项表示详细输出,-h选项显示井号表示,来代表安装的进展情况。最后,我们可以运行另一个RPM查询命令来验证这个软件包是否存在。 # ls 
kernel-2.4.21-15.0.3.EL.i686.rpm
kernel-smp-2.4.21-15.0.3.EL.i686.rpm # rpm -q kernel; rpm -q kernel-smp
kernel-2.4.21-4.0.1.EL
kernel-2.4.21-15.0.2.EL
kernel-smp-2.4.21-4.0.1.EL
kernel-smp-2.4.21-15.0.2.EL # rpm -ivh kernel-2.4.21-15.0.3.EL.i686.rpm
Preparing...                ########################################### [100%]
   1:kernel                 ########################################### [100%]
# rpm -ivh kernel-smp-2.4.21-15.0.3.EL.i686.rpm
Preparing...                ########################################### [100%]
   1:kernel-smp             ########################################### [100%] # rpm -q kernel; rpm -q kernel-smp
kernel-2.4.21-4.0.1.EL
kernel-2.4.21-15.0.2.EL
kernel-2.4.21-15.0.3.EL
kernel-smp-2.4.21-4.0.1.EL
kernel-smp-2.4.21-15.0.2.EL
kernel-smp-2.4.21-15.0.3.EL
我们可以使用-U选项来升级一个RPM软件包。在这个例子中,我们使用ls命令来检验新的软件包的名字。然后运行查询命令rpm -q <软件包>来检查这个将要安装的软件报是否存在在RPM数据库中。使用rpm -Uvh <软件包>来升级RPM包。 其中-v选项表示详细输出,-h选项显示井号表示,来代表安装的进展情况。 最后,我们可以运行另一个RPM查询命令来验证这个软件包是否存在。 # ls
httpd-2.0.46-32.ent.3.i386.rpm
mod_ssl-2.0.46-32.ent.3.i386.rpm
|# rpm -q httpd; rpm -q mod_ssl
httpd-2.0.46-32.ent
mod_ssl-2.0.46-32.ent # rpm -Uvh httpd-2.0.46-32.ent.3.i386.rpm mod_ssl-2.0.46-32.ent.3.i386.rpm Preparing... ########################################### [100%]
 1:httpd ########################################### [ 50%]
 2:mod_ssl ########################################### [100%] # rpm -q httpd; rpm -q mod_ssl
httpd-2.0.46-32.ent.3
mod_ssl-2.0.46-32.ent.3
注:由于依赖关系httpd和mod_ssl需要同时安装。否则你就会得到下面的错误: # rpm -Uvh httpd-2.0.46-32.ent.3.i386.rpm
error: Failed dependencies:
httpd = 2.0.46-32.ent is needed by (installed) mod_ssl-2.0.46-32.ent
注:你如果已经通过红帽网络注册了你的机器,你可以使用up2date来安装一个新的软件包,这些软件包位于红帽网络中,可以实现自动下载并安装。
下一条 centos系统中网络配置相关
上一条 Centos系统环境下修改MySQL的root密码

数千企业与站长的选择,7*24小时稳定运行

 了解更多套餐详细