Oracle Unbreakable Enterprise Kernel 第 2 版入门

作者:Lenz Grimmer,2012 年 3 月


如何将您的 Linux 内核更换为 Oracle Unbreakable Enterprise Kernel 第 2 版。




简介

本文介绍如何将您的 Oracle Linux 系统更新到最新版的 Unbreakable Enterprise Kernel。通过转换到最新的 Unbreakable Enterprise Kernel,您可以获得主流 Linux 中的最新创新。转换很容易,无需更改应用程序和操作系统。无需全部重装,只替换相关的 RPM 程序包。您可以从 Unbreakable Linux Network 轻松获取未来的更新,以保持系统打足补丁并处于安全状态。

如果想要下载软件、加入论坛、阅读类似本文的内容之外的其他技术方法精品文章,请成为 OTN 成员。无垃圾邮件!

截至本文发布之时,Unbreakable Enterprise Kernel 第 2 版(2.6.39 版)刚刚作为对首个 Unbreakable Enterprise Kernel(2.6.32 版)的更新而发布。要详细了解 Unbreakable Enterprise Kernel 第 2 版的新特性和优点,请参见特性概述页版本说明

下面使用的示例基于这些版本,但将来的内核更新版本同样可使用类似的过程。

本文介绍两种不同的安装方法:

  • 第一种方法使用 Oracle Unbreakable Linux Network,需要您已成功订购 Oracle Linux 支持服务。
  • 第二种方法需要从公共 yum 软件包信息库获取 Unbreakable Enterprise Kernel。

假定您已安装了 Oracle Linux 5 或 6 并且正在运行 Unbreakable Enterprise Kernel 第 1 版 (2.6.32) 或 Red Hat 兼容内核(在 Oracle Linux 5 上运行 2.6.18、在 Oracle Linux 6 上运行 2.6.32)。

Unbreakable Enterprise Kernel 第 2 版可以安装在 Oracle Linux 5 Update 8 或更高版本上,以及 Oracle Linux 6 Update 2 或更高版本上。如果您仍在运行较早版本的 Oracle Linux,请确保首先将系统更新到最新可用的次要版本。

关于适用于 Oracle Linux 的 Unbreakable Enterprise Kernel

包含 Unbreakable Enterprise Kernel 的 Oracle Linux 是 Oracle 完全支持、测试和认证的面向企业的 Linux 操作系统。Oracle Linux 可以免费下载、使用和分发,它专为运行 Oracle 硬件、数据库和中间件进行了优化。您可以通过 Oracle 软件交付云网站(需要注册)免费获得安装介质的 ISO 映像。

Oracle Linux 基础发布版在用户空间方面与 Red Hat Enterprise Linux (RHEL) 100% 兼容。但 Unbreakable Enterprise Kernel 是按独立的时间表发布的,始终基于最新版本的主流 Linux 内核。因此,它会带来主流 Linux 的最新创新,以及经过测试的可靠性能和稳定性。它是默认安装和引导的内核;Unbreakable Enterprise Kernel 的主要更新通常每隔 12 至 18 个月发布一次。

通过 Unbreakable Linux Network 安装 Unbreakable Enterprise Kernel

Unbreakable Linux Network (ULN) 是一个面向 Oracle Linux 支持服务订购者的全面易用的网站,该网站提供对 Linux 软件补丁、更新和修复程序以及文档和支持政策的访问。

为了能够访问 ULN,您需要成功订购支持服务,您可以通过 Oracle Linux 商店在线购买该服务。

成功登录到 ULN 之后,首先需要注册您的系统。要详细了解这一过程,请参见 Unbreakable Linux Network 常见问题解答。注册服务器时,它会自动订阅一个频道,该频道提供针对相应版本和架构的最新 Oracle Linux 软件包和更新。

ULN 通过单独的频道提供不断更新的 Unbreakable Enterprise Kernel 软件包;您需要订阅针对您的系统的操作系统版本的相应频道。

在 ULN 中注册了系统之后,您需要让系统订阅针对您的发布版本的 Unbreakable Enterprise Kernel 第 2 版频道。

下例说明如何使用 ULN 网站让运行 Unbreakable Enterprise Kernel 第 1 版的 Oracle Linux 6.2(64 位)系统订阅该频道。

  1. 使用用户帐户登录 ULN,单击 Systems 选项卡以获取您当前在 ULN 中注册的所有系统的列表(参见图 1)。

    ULN 系统信息

    图 1. ULN 系统信息

    单击某个计算机名时,您将看到该系统的详细信息、该系统所订阅的频道以及可用补丁列表(参见图 2)。

    ULN 系统详细信息

    图 2. ULN 系统详细信息

  2. 单击 Manage Subscriptions 让该系统订阅提供更新的 Unbreakable Enterprise Kernel 软件包的其他频道。该频道将显示在 Available Channels 列表中(参见图 3)。

    ULN Available Channels 列表

    图 3. ULN Available Channels 列表

  3. 选择 Latest Unbreakable Enterprise Kernel for Oracle Linux 6 频道,单击指向右侧的小箭头将该频道添加到 Subscribed Channels 列表中(参见图 4)。

    添加到 Subscribed Channels 列表的频道

    图 4. 添加到 Subscribed Channels 列表的频道

  4. 单击 Save Subscriptions 完成订阅。

    您的系统现在已订阅接收 Unbreakable Enterprise Kernel 的最新内部版本及将来的所有后续更新。

    Unbreakable Enterprise Kernel 频道的命名模式如下所示:
    ol<release>_<arch>_UEK_latest

    例如:
    ol6_x86_64_UEK_latest

  5. 通过在系统上运行 yum repolist 验证订阅是否成功:

    [root@oraclelinux62 ~]# yum repolist 
    Loaded plugins: refresh-packagekit, rhnplugin, security
    repo id                   repo name                                                            status
    ol6_x86_64_UEK_latest     Latest Unbreakable Enterprise Kernel for Oracle Linux 6 (x86_64)         22
    ol6_x86_64_latest         Oracle Linux 6 Latest (x86_64)                                       14,604
    repolist: 14,626
    

    如您所见,现在除了默认更新信息库,还启用了 ol6_x86_64_UEK_latest 信息库。

  6. 要查看此新添加信息库的可用更新列表,请使用以下命令:

    [root@oraclelinux62 ~]# yum list updates
    Loaded plugins: refresh-packagekit, rhnplugin, security 
    Updated Packages
    bfa-firmware.noarch            3.0.2.2-1.el6               ol6_x86_64_UEK_latest
    kernel-uek.x86_64              2.6.39-100.5.1.el6uek       ol6_x86_64_UEK_latest
    kernel-uek-devel.x86_64        2.6.39-100.5.1.el6uek       ol6_x86_64_UEK_latest
    kernel-uek-firmware.noarch     2.6.39-100.5.1.el6uek       ol6_x86_64_UEK_latest
    ql2400-firmware.noarch         5.06.03-1.0.1.el6           ol6_x86_64_UEK_latest
    ql2500-firmware.noarch         5.06.03-1.0.1.el6           ol6_x86_64_UEK_latest
    
    
  7. 现在只需运行 yum update 下载和安装可用更新,如清单 1 所示。

    清单 1. 下载和安装可用更新
    [root@oraclelinux62 ~]# yum update
    Loaded plugins: refresh-packagekit, rhnplugin, security
    Setting up Update Process
    Resolving Dependencies
    --> Running transaction check
    ---> Package bfa-firmware.noarch 0:3.0.0.0-1.el6 will be updated
    ---> Package bfa-firmware.noarch 0:3.0.2.2-1.el6 will be an update
    ---> Package kernel-uek.x86_64 0:2.6.39-100.5.1.el6uek will be installed
    ---> Package kernel-uek-devel.x86_64 0:2.6.39-100.5.1.el6uek will be installed
    ---> Package kernel-uek-firmware.noarch 0:2.6.32-300.11.1.el6uek will be updated
    ---> Package kernel-uek-firmware.noarch 0:2.6.39-100.5.1.el6uek will be an update
    ---> Package ql2400-firmware.noarch 0:5.06.02-1.el6 will be updated
    ---> Package ql2400-firmware.noarch 0:5.06.03-1.0.1.el6 will be an update
    ---> Package ql2500-firmware.noarch 0:5.06.02-1.el6 will be updated
    ---> Package ql2500-firmware.noarch 0:5.06.03-1.0.1.el6 will be an update
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ==============================================================================================
     Package                 Arch       Version                   Repository                 Size
    ==============================================================================================
    Installing:
     kernel-uek              x86_64     2.6.39-100.5.1.el6uek     ol6_x86_64_UEK_latest      25 M
     kernel-uek-devel        x86_64     2.6.39-100.5.1.el6uek     ol6_x86_64_UEK_latest     7.6 M
    Updating:
     bfa-firmware            noarch     3.0.2.2-1.el6             ol6_x86_64_UEK_latest     442 k
     kernel-uek-firmware     noarch     2.6.39-100.5.1.el6uek     ol6_x86_64_UEK_latest     1.7 M
     ql2400-firmware         noarch     5.06.03-1.0.1.el6         ol6_x86_64_UEK_latest      91 k
     ql2500-firmware         noarch     5.06.03-1.0.1.el6         ol6_x86_64_UEK_latest     111 k
    
    Transaction Summary
    ==============================================================================================
    Install       2 Package(s)
    Upgrade       4 Package(s)
    
    Total download size: 35 M
    Is this ok [y/N]: y
    
    Downloading Packages:
    (1/6): bfa-firmware-3.0.2.2-1.el6.noarch.rpm                           | 442 kB     00:01     
    (2/6): kernel-uek-2.6.39-100.5.1.el6uek.x86_64.rpm                     |  25 MB     01:14     
    (3/6): kernel-uek-devel-2.6.39-100.5.1.el6uek.x86_64.rpm               | 7.6 MB     00:22     
    (4/6): kernel-uek-firmware-2.6.39-100.5.1.el6uek.noarch.rpm            | 1.7 MB     00:05     
    (5/6): ql2400-firmware-5.06.03-1.0.1.el6.noarch.rpm                    |  91 kB     00:00     
    (6/6): ql2500-firmware-5.06.03-1.0.1.el6.noarch.rpm                    | 111 kB     00:00     
    ----------------------------------------------------------------------------------------------
    Total                                                         325 kB/s |  35 MB     01:50     
    Running rpm_check_debug
    Running Transaction Test
    Transaction Test Succeeded
    Running Transaction
      Updating   : kernel-uek-firmware-2.6.39-100.5.1.el6uek.noarch                          1/10 
      Installing : kernel-uek-2.6.39-100.5.1.el6uek.x86_64                                   2/10 
      Updating   : bfa-firmware-3.0.2.2-1.el6.noarch                                         3/10 
      Installing : kernel-uek-devel-2.6.39-100.5.1.el6uek.x86_64                             4/10 
      Updating   : ql2500-firmware-5.06.03-1.0.1.el6.noarch                                  5/10 
      Updating   : ql2400-firmware-5.06.03-1.0.1.el6.noarch                                  6/10 
      Cleanup    : bfa-firmware-3.0.0.0-1.el6.noarch                                         7/10 
      Cleanup    : ql2500-firmware-5.06.02-1.el6.noarch                                      8/10 
      Cleanup    : kernel-uek-firmware-2.6.32-300.11.1.el6uek.noarch                         9/10 
      Cleanup    : ql2400-firmware-5.06.02-1.el6.noarch                                     10/10 
    
    Installed:
      kernel-uek.x86_64 0:2.6.39-100.5.1.el6uek  kernel-uek-devel.x86_64 0:2.6.39-100.5.1.el6uek 
    
    Updated:
      bfa-firmware.noarch 0:3.0.2.2-1.el6                                                         
      kernel-uek-firmware.noarch 0:2.6.39-100.5.1.el6uek                                          
      ql2400-firmware.noarch 0:5.06.03-1.0.1.el6                                                  
      ql2500-firmware.noarch 0:5.06.03-1.0.1.el6                                                  
    
    Complete!
    

恭喜,您已经成功安装 Unbreakable Enterprise Kernel 的最新版本!现在,跳到安装后任务和后续步骤部分完成安装。

通过公共 Yum 信息库安装 Unbreakable Enterprise Kernel

公共 yum 信息库以各个 RPM 软件包的形式免费提供 Oracle Linux 和 Unbreakable Enterprise Kernel 的各种初始版本。

您只需添加和启用专用 Unbreakable Enterprise Kernel yum 信息库即可更新为当前最新内核版本。这可以通过添加相应的 yum 信息库配置文件并启用相应的信息库来完成。

  1. 首先下载相应的信息库配置文件。

    • 对于 Oracle Linux 5,运行以下命令:

      [root@oraclelinux58 ~]# wget http://public-yum.oracle.com/public-yum-el5.repo -P /etc/yum.repos.d/ 
      --2012-03-13 10:32:12--   http://public-yum.oracle.com/public-yum-el5.repo
      Resolving public-yum.oracle.com... 141.146.44.34 
      Connecting to public-yum.oracle.com|141.146.44.34|:80... connected. 
      HTTP request sent, awaiting response... 200 OK 
      Length: 2987 (2.9K) [text/plain] 
      Saving to: "/etc/yum.repos.d/public-yum-el5.repo" 
      
      100%[====================================================================>] 2,987    --.-K/s   in 0s
      
      2012-03-13 10:32:13 (24.9 MB/s) - "/etc/yum.repos.d/public-yum-el5.repo" saved [2987/2987] 
      
    • 对于 Oracle Linux 6,运行以下命令:

      [root@oraclelinux62 ~]# wget http://public-yum.oracle.com/public-yum-ol6.repo -P /etc/yum.repos.d/ 
      
      --2012-03-13 10:45:08--  http://public-yum.oracle.com/public-yum-ol6.repo 
      Resolving public-yum.oracle.com... 141.146.44.34 
      Connecting to public-yum.oracle.com|141.146.44.34|:80... connected. 
      HTTP request sent, awaiting response... 200 OK 
      Length: 855 [text/plain] 
      Saving to: "/etc/yum.repos.d/public-yum-ol6.repo" 
      
      100%[====================================================================>] 855    --.-K/s   in 0s
      
      2012-03-13 10:45:08 (24.9 MB/s) - "/etc/yum.repos.d/public-yum-ol6.repo" saved [855/855] 
      
  2. 现已添加了 Unbreakable Enterprise Kernel 软件包信息库配置,下面需要启用该信息库。为此,在您常用的文本编辑器中打开该信息库配置文件,在指定相应信息库(您将从该信息库中接收更新,本例中为 ol5_UEK_baseol6_UEK_base)的那部分内容中将 enabled=0 代码行更改为 enabled=1
  3. 启用该信息库后,检查可用更新并安装新的内核软件包,如清单 2 所示。

    清单 2. 检查更新并安装新软件包
    [root@oraclelinux62 ~]# yum list updates 
    Loaded plugins: refresh-packagekit, rhnplugin, security
    Updated Packages
    bfa-firmware.noarch                        3.0.2.2-1.el6                          ol6_UEK_base
    kernel-uek.x86_64                          2.6.39-100.5.1.el6uek                  ol6_UEK_base
    kernel-uek-devel.x86_64                    2.6.39-100.5.1.el6uek                  ol6_UEK_base
    kernel-uek-firmware.noarch                 2.6.39-100.5.1.el6uek                  ol6_UEK_base
    ql2400-firmware.noarch                     5.06.03-1.0.1.el6                      ol6_UEK_base
    ql2500-firmware.noarch                     5.06.03-1.0.1.el6                      ol6_UEK_base
    [root@oraclelinux62 ~]# yum update
    Loaded plugins: refresh-packagekit, rhnplugin, security
    Setting up Update Process
    Resolving Dependencies
    --> Running transaction check
    ---> Package bfa-firmware.noarch 0:3.0.0.0-1.el6 will be updated
    ---> Package bfa-firmware.noarch 0:3.0.2.2-1.el6 will be an update
    ---> Package kernel-uek.x86_64 0:2.6.39-100.5.1.el6uek will be installed
    ---> Package kernel-uek-devel.x86_64 0:2.6.39-100.5.1.el6uek will be installed
    ---> Package kernel-uek-firmware.noarch 0:2.6.32-300.11.1.el6uek will be updated
    ---> Package kernel-uek-firmware.noarch 0:2.6.39-100.5.1.el6uek will be an update
    ---> Package ql2400-firmware.noarch 0:5.06.02-1.el6 will be updated
    ---> Package ql2400-firmware.noarch 0:5.06.03-1.0.1.el6 will be an update
    ---> Package ql2500-firmware.noarch 0:5.06.02-1.el6 will be updated
    ---> Package ql2500-firmware.noarch 0:5.06.03-1.0.1.el6 will be an update
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ==============================================================================================
     Package                   Arch         Version                      Repository          Size
    ==============================================================================================
    Installing:
     kernel-uek                x86_64       2.6.39-100.5.1.el6uek        ol6_UEK_base        25 M
     kernel-uek-devel          x86_64       2.6.39-100.5.1.el6uek        ol6_UEK_base       7.6 M
    Updating:
     bfa-firmware              noarch       3.0.2.2-1.el6                ol6_UEK_base       442 k
     kernel-uek-firmware       noarch       2.6.39-100.5.1.el6uek        ol6_UEK_base       1.7 M
     ql2400-firmware           noarch       5.06.03-1.0.1.el6            ol6_UEK_base        91 k
     ql2500-firmware           noarch       5.06.03-1.0.1.el6            ol6_UEK_base       111 k
    
    Transaction Summary
    ==============================================================================================
    Install       2 Package(s)
    Upgrade       4 Package(s)
    
    Total download size: 35 M
    Is this ok [y/N]: y
    
    Downloading Packages:
    (1/6): bfa-firmware-3.0.2.2-1.el6.noarch.rpm                           | 442 kB     00:01     
    (2/6): kernel-uek-2.6.39-100.5.1.el6uek.x86_64.rpm                     |  25 MB     01:14     
    (3/6): kernel-uek-devel-2.6.39-100.5.1.el6uek.x86_64.rpm               | 7.6 MB     00:23     
    (4/6): kernel-uek-firmware-2.6.39-100.5.1.el6uek.noarch.rpm            | 1.7 MB     00:05     
    (5/6): ql2400-firmware-5.06.03-1.0.1.el6.noarch.rpm                    |  91 kB     00:00     
    (6/6): ql2500-firmware-5.06.03-1.0.1.el6.noarch.rpm                    | 111 kB     00:00     
    ----------------------------------------------------------------------------------------------
    Total                                                         329 kB/s |  35 MB     01:49     
    Running rpm_check_debug
    Running Transaction Test
    Transaction Test Succeeded
    Running Transaction
      Updating   : kernel-uek-firmware-2.6.39-100.5.1.el6uek.noarch                          1/10 
      Installing : kernel-uek-2.6.39-100.5.1.el6uek.x86_64                                   2/10 
      Updating   : bfa-firmware-3.0.2.2-1.el6.noarch                                         3/10 
      Installing : kernel-uek-devel-2.6.39-100.5.1.el6uek.x86_64                             4/10 
      Updating   : ql2500-firmware-5.06.03-1.0.1.el6.noarch                                  5/10 
      Updating   : ql2400-firmware-5.06.03-1.0.1.el6.noarch                                  6/10 
      Cleanup    : bfa-firmware-3.0.0.0-1.el6.noarch                                         7/10 
      Cleanup    : ql2500-firmware-5.06.02-1.el6.noarch                                      8/10 
      Cleanup    : kernel-uek-firmware-2.6.32-300.11.1.el6uek.noarch                         9/10 
      Cleanup    : ql2400-firmware-5.06.02-1.el6.noarch                                     10/10 
    
    Installed:
      kernel-uek.x86_64 0:2.6.39-100.5.1.el6uek  kernel-uek-devel.x86_64 0:2.6.39-100.5.1.el6uek 
    
    Updated:
      bfa-firmware.noarch 0:3.0.2.2-1.el6                                                         
      kernel-uek-firmware.noarch 0:2.6.39-100.5.1.el6uek                                          
      ql2400-firmware.noarch 0:5.06.03-1.0.1.el6                                                  
      ql2500-firmware.noarch 0:5.06.03-1.0.1.el6                                                  
    
    Complete!
    

Unbreakable Enterprise Kernel 第 2 版现已安装。

安装后任务和后续步骤

此时,需要重新启动系统以便启用新安装的内核。您会注意到 GRUB 引导菜单中包括一个新的项,即更新的内核版本,默认情况下将引导该版本。

重新启动后,可以通过运行 uname -r 验证内核版本号:

[root@oraclelinux62 ~]# uname -r 

2.6.39-100.5.1.el6uek.x86_64 

现在您可以享用 Linux 中 Unbreakable Enterprise Kernel 带来的最新改进和开发,而无需重新安装整个操作系统或应用程序。

该专用 Unbreakable Enterprise Kernel 信息库还包括启用或使用新内核特性所需的其他和更新的软件包和工具。其中一些是对现有软件包的更新,其他则需要手动安装。

例如,如果您想开始使用 B 树文件系统 (Btrfs),请确保安装 btrfs-progs 软件包,如清单 3 所示。

清单 3. 安装 Btrfs 的软件包
[root@oraclelinux62 ~]# yum install btrfs-progs

Loaded plugins: refresh-packagekit, rhnplugin, security
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package btrfs-progs.x86_64 0:0.19-26.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package          Arch        Version            Repository                Size
================================================================================
Installing:
 btrfs-progs      x86_64      0.19-26.el6        ol6_x86_64_UEK_latest     258 k

Transaction Summary
================================================================================
Install       1 Package(s)

Total download size: 258 k
Installed size: 2.0 M
Is this ok [y/N]: y
Downloading Packages:
btrfs-progs-0.19-26.el6.x86_64.rpm                       | 258 kB     00:01     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : btrfs-progs-0.19-26.el6.x86_64                               1/1 

Installed:
  btrfs-progs.x86_64 0:0.19-26.el6                                              

Complete!

类似地,还会有用于其他新引入特性(例如,使用和管理 Linux 容器 (lxc) 的特性)的其他软件包。

总结

本文介绍了将 Oracle Linux 系统更新到最新版本 Unbreakable Enterprise Kernel 的两个方法。通过 Unbreakable Linux Network 可以轻松获取以后的更新,以保持系统打足补丁并处于安全状态。借助于 Ksplice,应用这些更新甚至无需安排任何停机或重新启动即可完成。

资源

以下是本文档前面所引用资源的 URL:

若想了解有关 Unbreakable Enterprise Kernel 第 2 版新特性的更多信息,请参见以下文章和博文:

还请查看以下资源以了解有关 Oracle Linux 和 Unbreakable Enterprise Kernel 新闻和文章:

修订版 1.0,2012 年 3 月 12 日

通过 FacebookTwitterOracle 博客关注我们。