Resolution
注意: 在 Red Hat Enterprise Linux 5 之后,由于 yum 能正确更新本地 yum 数据库, 所以相较于 yum,我们推荐您使用 rpm。
如果您想安装某 RPM 包,您的系统里必需有这个要安装的 RPM 软件包文件。大多数人会从 站上下载 RPM 包。红帽客户门户 站会提供官方发行的所有 RPM 包。
rpm 主要用到以下两个参数用来安装或者升级 RPM 包。
-i 用来安装一个新的包。为了防止新内核无法启动,请用这个参数来安装及升级内核。
-U 用来升级 RPM 包,但是如果这个 RPM 包不在 RPM 数据库,则它会安装该包。
在 RPM 的 man 手册里您可以查到 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 包。如前所述,您需要使用这个参数安装内核 RPM。这种情况下,为了防止新的内核无法启动,您需要暂时保留原内核。在这个例子里,首先使用 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-smp-2.4.21-15.0.3.EL请使用 -U 参数升级 RPM 包。在这个例子里,首先使用 ls 命令检查新的 RPM 包的名字。然后通过执行 rpm -q 查询命令查看我们想安装的包是否存在于 RPM >数据库里。然后,执行以下命令 rpm -Uvh 安装包。注意 -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 包。如果您只安装其中一个包,会出现如下 错:
# 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
注意: Red Hat Network (RHN) 已经被整统合到客户门户 站。
Welcome to the New Red Hat Network!
在 Red Hat Enterprise Linux 4 上升级包
现在,在 RHEL4 上,您只能找到 errata update 包。您可以手动下载和安装这些包,但是不能使用 up2date 命令,而且只有 RHEL4.9 可以下载。 此外,由于 RHEL4 已经进入生命周期的扩展生命周期阶段,已经不能再下载 errata 之外的升级包。
文章知识点与官方知识档案匹配,可进一步学习相关知识CS入门技能树Linux入门初识Linux25336 人正在系统学习中 相关资源:在linux下升级软件包版本等方法详解_linux升级软件包-其它代码类…
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!