2011 年 10 月
作者:Wim Coekaerts
|
Oracle Ksplice 是 Oracle Linux 标准支持的一项激动人心的新增内容。Oracle Ksplice 技术允许您使用新的内核安全勘误表 (CVE) 更新系统而无需重新启动,从而使您可以在应用最新操作系统漏洞补丁的同时将停机时间降至最低。Oracle Ksplice 主动将更新应用于正在运行的内核映像,而不是进行需要随后重新启动才能生效的磁盘上更改。
一般来说,Oracle Linux 内核大约每月收到一次安全更新。对于当今市场上的任何通用操作系统来说,应用更新需要对停机做出计划并重新启动服务器使其启用拥有安全更新的新内核。随着系统设置由于多系统相互依赖关系而变得越来越复杂,安排重新启动变得越来越难,代价也变得更高。
Oracle Ksplice 是作为 Oracle Linux 标准支持和受限标准支持的一部分提供的。它还是 Oracle 标准系统支持和标准操作系统支持服务的组成部分。Oracle Linux 基本支持、基本受限支持和网络支持的用户可以与其销售代表联系,讨论将其订购升级为标准支持计划的可能性。
获取 Oracle Ksplice 更新的另一项要求是使用 Oracle 的 Unbreakable Enterprise Kernel。截至本文撰写时,Oracle Linux 内核的最低版本是 2.6.32-100.28.9。该内核(及更高版本)可以安装在 Oracle Linux 5 和 Oracle Linux 6 发行版本上。使用 Red Hat Enterprise Linux (RHEL) 5 和 6 的客户可以直接迁移到 Oracle Linux 并在其 RHEL 的现有安装上应用程序包。Oracle 不提供适用于 Red Hat 兼容内核的 Oracle Ksplice。
以下是使用和更新 Oracle Ksplice 的步骤摘要:
uptrack-upgrade
下载 Oracle Ksplice 补丁并将其应用到正在运行的系统上。使用现有用户名和口令登录到 Oracle 的 Unbreakable Linux Network (http://linux.oracle.com)。如果您有一个具有 Oracle Ksplice 权限的活动订购,您将看到一个标签为 KSplice Uptrack Registration 的按钮,如图 1 中高亮显示。如果您还没有 Oracle Ksplice 访问密钥,请单击该按钮。
图 1. KSplice Uptrack Registration 按钮
Unbreakable Linux Network 网站在您的帐户下列出了所有有效的客户支持标识 (CSI)。选择您想要使用的 CSI 生成访问密钥,然后单击 Register,如图 2 中所示。
图 2. 指定客户支持标识
Unbreakable Linux Network 将显示一条确认消息,指示有一封包含访问密钥和 URL 的电子邮件已经发送到您的电子邮件地址,如图 3 所示。
图 3. 确认消息
几分钟后,您将收到一封欢迎电子邮件,其中为您提供了生成的访问密钥并内嵌了到 ksplice.com 网站的链接,您可以在该网站创建自己的 Oracle Ksplice Uptrack 帐户。参见图 4。
图 4. 欢迎电子邮件
单击欢迎电子邮件中的嵌入链接,浏览器将打开一个页面,其中包含一个 Web 表单,如图 5 所示。
图 5 — 用于创建帐户的表单
填写表单,单击 Continue 创建帐户。
要进行登录,请转到 https://uptrack.ksplice.com/login,使用刚创建的帐户的用户名和口令登录。参见图 6。
图 6. 登录屏幕
Uptrack 主页将列出您的访问密钥以及活动和非活动计算机的概览,如图 7 所示。
图 7 — 访问密钥和计算机状态
在 Active Installations 窗格底部,您将找到一个指向安装说明的链接,如图 8 所示。
图 8 — 安装说明链接
单击 Installation Instructions 链接访问安装说明。参见图 9。
图 9. 安装说明
从这里开始,您必须以 root
身份登录到要准备和安装 Oracle Ksplice 的服务器上。
确保满足以下前提条件:
uname -a
进行验证。export http_proxy=http://proxy.company.com:port export https_proxy=http://proxy.company.com:port
下载 install-uptrack
脚本:
# wget -N https://www.ksplice.com/uptrack/install-uptrack --2011-09-01 21:05:52-- https://www.ksplice.com/uptrack/install-uptrackl-uptrack Resolving proxy.company.com... 10.0.19.20 Connecting to proxy.company.com|10.0.19.20|:80... connected. Proxy request sent, awaiting response... 200 OK Length: 8843 (8.6K) [text/plain] Remote file is newer, retrieving. --2011-09-01 21:05:53-- https://www.ksplice.com/uptrack/install-uptrack Connecting to proxy.company.com|10.0.19.20|:80... connected. Proxy request sent, awaiting response... 200 OK Length: 8843 (8.6K) [text/plain] Saving to: `install-uptrack' 100%[--------------------------------------------------->] 8.843 -- -K/s in 0.04s 2001-09-01 21:05:53 (195 KB/s) - 'install-uptrack' saved [8843/8843]
使用您的访问密钥作为参数运行 install-uptrack
脚本,例如:
# sh install-uptrack 1234567890123456790abcdef123456890123456789012345678901234656544 [ Release detected: ol ] --2011-09-01 21:10:41-- https://www.ksplice.com/yum/uptrack/ol/ksplice-uptrack-release.noarch.rpm
Uptrack 程序包将建立一个 yum 信息库 (/etc/yum.repos.d/ksplice-uptrack.repo
) 并下载 uptrack-*
实用程序正常工作所需的程序包。
将安装以下程序包:
# rpm -qa|grep uptrack uptrack-libyaml-0.1.3-1.el5 uptrack-PyYAML-3.08-4.el5 uptrack-1.2.1-0.el5 uptrack-python-pycurl-7.15.5.1-4.el5 ksplice-uptrack-release-1-3
安装完成后,该工具将向 Uptrack 服务自动注册您的系统,并检查是否有任何适合您正在运行的内核的 Oracle Ksplice 更新。如果新版本可用,Uptrack 工具将为您提供一个更新列表。
要下载和列出更新,请运行 /usr/sbin/uptrack-upgrade
。如果您想自动应用补丁,请添加 -y
作为参数。应用了更新之后,您运行的将是称为有效内核版本的内核版本。
uname -r
命令将显示原始的引导内核版本。您可以运行 uptrack-uname -r
查看实际正在运行并应用了所有 Oracle Ksplice 更新的是哪个版本。
#uname -r 2.6.32-100.37.1.el5uek # uptrack-uname -r 2.6.32-200.19.1.el5uek
以下是几个有用的命令:
uptrack-show
:列出正在运行的内核的活动 Oracle Ksplice 更新。uptrack-upgrade
:连接到 Uptrack 更新服务器,检查是否有新的更新可用,如果有,则下载。也可以立即应用这些更新。uptrack-remove
:从正在运行的系统中删除已应用的更新,并返回原始内核版本和状态。uptrack-uname
:uname
的修改版本,它知道如何根据活动 Oracle Ksplice 更新读取有效的内核版本。uptrack-install
:安装手动下载的补丁。卸载 Uptrack 很简单。您应考虑使用 uptrack-remove --all
再加上 yum remove uptrack
来删除更新。
还可以在 Uptrack 网站上找到卸载说明,如图 10 所示。
图 10. 卸载说明
Uptrack 网站有一个易于使用的界面,您可以在此界面查看已注册的系统、已安装的补丁、可用补丁以及系统的状态,并可创建具有访问控制的组。
对每个服务器,它将显示尚未应用的可用更新。对每个更新,将提供一行说明,如图 11 所示。
图 11. 查看可用更新
再往下,可以看到在您正在运行的内核上已安装的更新的列表,如图 12 所示。
图 12. 查看已安装的更新
针对每个 CVE 或错误修复提供了 Oracle Ksplice 补丁。通常按特定顺序下载这些补丁,并且只能顺序应用(和删除)。无法选择要应用的单个更新。
每个应用的更新必须在运行的系统上显示为已安装的内核模块。您可以在运行的系统上执行 lsmod
列出每个已加载的内核模块。
Uptrack 配置文件位于 /etc/uptrack/uptrack.conf
。如果要配置代理服务器,在启动时自动安装更新或自动检查是否有新更新并同时应用这些更新,则需要修改此文件。
Oracle Ksplice 的补丁本地存储在文件系统的 /var/cache/uptrack
中,默认情况下,这些补丁将在重新启动后(在启动过程的一开头)自动重新应用。同时安装已发布勘误表的常规内核 RPM 程序包是一个不错的做法,因为这允许您在重新启动操作系统时引导到一个更新的内核版本。此时,将以此新内核为基准开始应用 Oracle Ksplice 补丁。针对每个勘误内核发布内核 RPM 程序包的常规过程将一直持续。
此信息应足以指导您在 Unbreakable Enterprise Kernel 上开始着手并主动运行最新的勘误更新。祝您使用 Ksplice 的过程愉快!
修订版 1.0,2011 年 10 月 18 日 |