介绍

本文档包括了以下内容:

  • 与安装相关的注记

  • 技术预览

  • 已知的问题

  • 一般信息

  • 国际化

  • 内核注记

那些最新的、没有包括在本文档中的与 红帽企业 Linux 4.92 相关的信息,可以通过以下 URL 在红帽 的 Knowledgebase 中获得:

http://kbase.redhat.com/faq/topten_105_0.shtm

与安装相关的注记

以下部分的内容是针对于 红帽企业 Linux 的安装以及 Anaconda 安装程序的。

备注

要升级一个已经安装的 红帽企业 Linux,您必须使用 红帽网络 来更新那些已经改变的软件包。

您可以使用 Anaconda 来进行一个全新的 红帽企业 Linux 4.92 安装,或从 红帽企业 Linux 4 最新的更新版本 升级到 红帽企业 Linux 4.92。

如果您需要复制 红帽企业 Linux 4.92 光盘中的内容(例如,为了准备网络安装),请复制操作系统光盘。不要复制附加光盘或任何层次产品光盘中的内容,这样会覆盖 Anaconda 正常运行所需的文件。这些光盘必须在 红帽企业 Linux 被安装 才安装。

Note that the minimum RAM required to install 红帽企业 Linux 4.92 has been raised to 1GB; the recommended RAM is 2GB. If a machine has less than 1GB RAM, the installation process may hang.

ISO 的内容和注册

红帽企业 Linux 4.92 的媒介套件的种类与以前版本的 红帽企业 Linux 有所不同。不同种类的媒介套件和 ISO 映像被减少到两种:

  • 红帽企业 Linux 4.92 服务器

  • 红帽企业 Linux 4.92 客户端

这个树包括了一组可选的软件存储库,它提供了核心功能以外的一些附加功能:

红帽企业 Linux 4.92 服务器

  • 红帽企业 Linux — 默认的多目的服务器操作系统包括了支持多达4个虚拟个体的虚拟化功能。

  • 红帽企业 Linux 虚拟化平台 — 数据中心虚拟化操作系统包括了集群和集群存储功能

红帽企业 Linux 4.92 客户端

  • 红帽企业 Linux Desktop — 面向桌面用户的产品

  • 工作站选项 — 增加了工程和开发工作站选项

  • Virtualization Option — add-on option for virtualization support

因为可选的内容也存在在相同的树或 ISO 映像中,所以应该特别注意不要使安装的组件和订阅所提供的组件不匹配。如果这种情况发生了,系统存在错误或安全漏洞的可能性将会增加。

为了保证安装的组件和订阅相匹配,红帽企业 Linux 4.92 需要输入一个 安装号。它被用来配置安装程序来提供正确的软件包。

如果您没有输入安装号,一个核心服务器或 Desktop 将会被安装。其它功能可以在以后被手工安装。

默认的安装号是:

服务器

  • 红帽企业 Linux (Server ): 31cfdaf1358c25da

  • 红帽企业 Linux (Server + Virtualization): 2515dd4e215225dd

  • 红帽企业 Linux 虚拟化平台:49af89414d147589

客户端系统

  • 红帽企业 Linux Desktop: 660266e267419c67

  • 红帽企业 Linux Desktop / Virtualization Option: fed67649ff918c77

  • 红帽企业 Linux Desktop / 工作站选项:da3122afdb7edd23

  • 红帽企业 Linux Desktop / Workstation / Virtualization Option: 7fcc43557e9bbc42

Subversion

在 红帽企业 Linux 4.92 中,Subversion 版本控制系统是与 Berkeley DB 4.3 相关联的。如果从 红帽企业 Linux 4进行了升级,而其中有使用 Berkeley DB 后端 "BDB"(而不是纯基于文件系统的 "FSFS" 后端)创建的 Subversion 存储库(repository),您需要注意存储库是否可以在升级后被访问。这个过程必须在 红帽企业 Linux 4系统上执行,并应该在升级到 红帽企业 Linux 4.92 进行:

  1. 关闭所有运行的进程,并确认没有程序在访问存储库(如 httpdsvnserve 或本地用户在直接访问)。

  2. 对存储库进行备份,如:

    
    svnadmin dump /path/to/repository | gzip 
    > repository-backup.gz
                                    
  3. 在存储库中运行 svnadmin recover 恢复命令:

    
    svnadmin recover /path/to/repository
                                    
  4. 删除存储库中无用的日志文件:

    
    svnadmin list-unused-dblogs /path/to/repository | xargs rm -vf
                                    
  5. 删除存储库中所有剩余的共享内存文件:

    
    rm -f /path/to/repository/db/__db.0*
                                    

技术预览

技术预览是在这个发行版本中提供的、但当前还不被支持的功能。它们所应该具有的功能可以被测试,但对它们唯一的支持只是提供高级别的安全勘误。

随着这些技术的不断开发,用户将可以获得其它新功能,并对它们进行测试。红帽 可能会在以后的发行版本中对这些技术预览提供完全的支持。

Stateless Linux

这个 beta 版本的 红帽企业 Linux 4.92 启用了 Stateless Linux 的基础环境。Stateless Linux 为运行和管理一个系统提供了一个新思路。它的设计思想是,通过使系统的组成部分可以被简单地更换来达到简化维护和管理一个大型系统的目的。这主要是通过使用提前准备好的系统映像来实现的,这些系统映像可以在大量的 stateless 系统间被复制和管理,操作系统以只读的方式被运行。

在它当前的开发阶段,stateless 的功能只是它所要设计达到的功能的一部分。因此,这些功能被标记为技术预览。

以下是包括在 红帽企业 Linux 4.92 beta 版中的功能:

  • 使用 NFS 运行一个 stateless 映像

  • 使用 loopback over NFS 来运行一个 stateless 映像

  • 在 iSCSI 上运行

因为需要内核的改变,在本地文件系统上运行 Sateless Linux,但可以和一个主服务器进行同步的功能还没有被包括。

我们强烈建议对测试 stateless 代码感兴趣的用户参阅 http://fedoraproject.org/wiki/StatelessLinuxHOWTO 中的 HOWTO 并加入 stateless-list@redhat.com

GFS2

GFS2 是一个基于 GFS 文件系统的先进的新系统。虽然 GFS2的所有功能现在都可以实现,但它当前还不适合于在实际的生产环境中实施。这个发行版本提供了已经在实际生产环境中被使用了5年的 GFS,它完全支持非集群的数据文件系统(但不支持 root 和 boot),并在有集群基础环境的情况下支持在共享存储中的集群文件配置。GFS2 计划在 红帽企业 Linux 4.92 的更新版本中被完全支持。数据转换应用程序(gfs2_convert)可以对 GFS 文件系统的元数据进行更新,把它转换为一个 GFS2 文件系统。

FS-Cache

FS-Cache 是一个远程文件系统的本地缓存工具。它允许用户在一个本地挂载的磁盘上缓存 NFS 数据。要设置 FS-Cache,请安装 cachefilesd RPM 并根据 /usr/share/doc/cachefilesd-<version>/README 中的介绍进行配置。

使用安装的 cachefilesd 软件包的相应版本替换 <version>

Compiz

Compiz 是一个基于 OpenGL 的窗口合成管理器。除了可以进行一般的窗口管理,compiz 还可以作为一个合成器使用。compiz 可以协调并同步整个桌面来提供一个更易用的桌面环境。

Compiz 使用3D硬件加速来处理各种窗口效果(如 thumbnail windows、window drop shadows,在虚拟桌面间进行动画效果的窗口最大化、最小化以及其它操作)。

因为系统的限制,compiz 当前还无法和直接处理的 OpenGL 应用程序或使用 Xv 扩展的应用程序一起使用。这些程序的功能当前还不被支持。

Ext3 的性能增强

在 红帽企业 Linux 4.92 中,EXT3 文件系统所支持的最大容量已经从过去的8TB增加到16TB。当前对16TB的支持还只是一个技术预览,对它的完全支持计划被包括在以后发行的 红帽企业 Linux 4.92 中。

已知的问题

  • bind 升级错误:当升级 bind 时,会发生一个 No such file or directory 错误。这个错误是由一个安装顺序的错误造成的,它将会在版本正式发行前被解决。要解决这个问题,您还可以以根用户身份登录,运行 /usr/sbin/bind-chroot-admin --enable(如果您已经安装了 bind-chroot 软件包)或 /usr/sbin/bind-chroot-admin --sync(如果您安装了 caching-nameserver 软件包)。

  • caching-nameserver 升级错误:当升级 caching-nameserver 时,日志文件中会显示一个invalid context 错误。这个错误信息是因为 selinux-policy 软件包的依赖关系造成的,这个问题会在版本正式发行前被解决。您还可以使用一个方法解决它:以根用户身份登录,运行 /usr/sbin/bind-chroot-admin --sync

  • 如果内核模块软件包(kmods)在安装了 kernel-devel 和相应的内核软件包的系统上构建,它们只能使用 kABI 依赖性进行构建。因此,当前还无法根据没有安装的内核构建 kABI 增强的 kmod。这个问题会在版本正式发行前被解决。

  • 使用 MegaRAID 驱动器的主机总线适配器必须被设置为在 "Mass Storage" 模拟模式中运行,而不能设置为在 "I2O" 模拟模式中运行。要进行这个设置,执行以下步骤:

    1. 进入 MegaRAID 的「BIOS Set Up Utility」

    2. 进入「Adapter settings menu」

    3. 「Other Adapter Options」下选择「Emulation」并把它设置为「Mass Storage」

    如果适配器被错误地设置为 "I2O" 模拟模式,系统将会试图加载 i2o 驱动器。这将导致适配器无法正常工作。

    在以前的 红帽企业 Linux 版本中,系统通常不会在加载 MegaRAID 驱动程序前加载 I20 驱动程序。无论如何,当使用 Linux 时,这个硬件都会被设置为 "Mass Storage" 模拟模式。

  • ext3 / jbd 内核 panic:如果在块大小小于页大小的文件系统上有非常多的 I/O 操作时,可能会导致 jbd 崩溃。

    这个问题正在被试图解决,正式发行版本将会解决这个问题。

  • 虚拟化 guest 安装错误:在一个默认的以太网连接是 eth1 的系统上安装一个 paravirt guest 会导致一个 No Driver Found 错误。要解决这个问题,请把默认的以太网连接设为 eth0。

    这个问题正在被试图解决,正式发行版本将会解决这个问题。

  • Anaconda incorrectly selects vesa driver: when 红帽企业 Linux 4.92 is installed in text-only mode on a system with a geforce 5200-based video card, the vesa driver will be selected. This is incorrect, and will cause the screen to go blank once you run system-config-display. This issue will be resolved in GA.

    To work around this, open xorg.conf and change the line Driver "vesa" to Driver "nv".

  • Virtualization paravirt guest installation failure: attempting to install a paravirt guest on a system where SELinux is enabled will fail. This issue is being investigated and will be resolved in GA.

    To work around this, turn off SELinux before installing a paravirt guest.

  • Virtualization guest boot bug: when you install a fully virtualized guest configured with vcpus=2, the fully virtualized guest may take an unreasonably long time to boot up. This issue is being investigated and will be resolved in GA.

    To work around this, disable the guest ACPI by using the kernel parameters acpi=strict or acpi=static for the virtualized kernel during grub boot.

  • X Display Server crashes with virtualized kernel: when booting with the virtualized kernel, the X server will crash upon startup. This issue is being investigated and will be resolved in GA.

    To work around this, edit /etc/X11/xorg.conf by adding the following line in the ServerLayout section:

    
    Option        "Int10Backend"        "<mode>"        
                    

    Replace <mode> with either vm86 (the default when running a bare Linux kernel) or x86emu (when running a virtualized kernel). This will allow runtime selection of the int10 execution method.

一般信息

以下部分包括了那些不特别针对本文档中的某个项的一般信息。

虚拟化

红帽企业 Linux 4.92 包括了 i686 和 x86-64系统的虚拟化技术,以及管理一个虚拟化环境的软件基础环境。

在 红帽企业 Linux 4.92 中,虚拟化是基于hypervisor 的,它使用极低的系统开销来实现 paravirtualization 技术。在带有 Intel Virtualization Technology 或 AMD AMD-V 功能的处理器上,红帽企业 Linux 4.92 上的虚拟化可以使没有被修改的操作系统在完全虚拟化的模式中运行。

红帽企业 Linux 4.92 的虚拟化还提供以下功能:

  • Libvirt 库函数,它提供了一个管理虚拟机的统一的、可移植的 API。

  • Virtual Machine Manager,一个用来监测并管理虚拟机的图形化工具。

  • 安装程序支持虚拟机,它支持 kickstart 虚拟机的功能。

红帽网络 也支持虚拟机。

Web 服务器软件包的改变

红帽企业 Linux 4.92 现在包括了版本为2.2的 Apache HTTP 服务器。这个版本包括了对版本2.0的一些改进,它们包括:

  • 改进的缓存模块(mod_cachemod_disk_cachemod_mem_cache

  • 一个新的用户身份认证和授权结构,这个新结构替代了以前版本中的用户身份认证模块

  • 支持代理服务器的负载平衡(mod_proxy_balancer

  • 在32位系统平台上支持大文件(大于2GB)

默认的 httpd 配置有了以下改变:

  • 在默认的情况下,mod_cern_metamod_asis modules 模块不会被加载。

  • mod_ext_filter 现在在默认的情况下被加载。

如果从以前版本的 红帽企业 Linux 升级,httpd 配置需要被更新到2.2。如需了解更多信息,请访问 http://httpd.apache.org/docs/2.2/upgrading.html

第三方模块

所有为 httpd 2.0编译的第三方模块必须为 httpd 2.2重新编译。

php

PHP 版本5.1现在包括在 红帽企业 Linux 4.92 中,它包括了对支持语言的一系列改变和一些显著的性能提高。要使用这个新版本,一些脚本可能会需要被修改。更多关于从 PHP 4.3 迁移到 PHP 5.1 的信息可以通过以下链接获得:

http://www.php.net/manual/en/migration5.php

/usr/bin/php 的执行程序现在使用 CLI 命令行 SAPI 构建,而不再使用 CGI SAPI。要使用 CGI SAPI,运行/usr/bin/php-cgiphp-cgi 的执行程序也包括对 FastCGI 的支持。

新版本增加了以下扩展模块:

  • mysqli 扩展:一个特别为 MySQL 4.1 设计的新接口。它包括在 php-mysql 软件包中。

  • date、hash、Reflection、SPL 和 SimpleXML(包含在 php 软件包中)

  • pdopdo_psqlite(在 php-pdo 软件包中)

  • pdo_mysql(在 php-mysql 软件包中)

  • pdo_pgsql(在 php-pgsql 软件包中)

  • pdo_odbc(在 php-odbc 软件包中)

  • soap(在 php-soap 软件包中)

  • xmlreaderxmlwriter(在 php-xml 软件包中)

  • dom(在 php-xml 软件包中替换 domxml 扩展)

以下扩展模块已经不再被包括:

  • dbx

  • dio

  • yp

  • overload

  • domxml

PEAR 项目

PEAR 项目现在被包括在 php-pear 软件包中。只有以下的 PEAR 组件被包括在 红帽企业 Linux 4.92 中:

  • Archive_Tar

  • Console_Getopt

  • XML_RPC

构建带有内核 ABI 依赖性跟踪的 kmod 内核模块软件包

在 红帽企业 Linux 4.92 中,可以根据当前的内核 ABI 版本进行更新内核的构建,而不是基于一个特定的内核发行版本来进行更新内核的构建。这个功能可以构建在一系列 红帽企业 Linux 4.92 内核上使用的内核模块,而不是只能在单一的发行版本中使用。如需了解更多关于这个项目的信息以及它的一些实例,请参阅 http://www.kerneldrivers.org/

加密的交换分区和非根文件系统

红帽企业 Linux 4.92 现在对加密的交换分区和非根文件系统提供基本的支持。要使用这些功能,在 /etc/crypttab 中添加适当的项并在 /etc/fstab 中指定创建的设备。

以下是 /etc/crypttab 项的一个实例:

my_swap /dev/hdb1 /dev/urandom swap,cipher=aes-cbc-essiv:sha256
                        

它创建了加密的块设备 /dev/mapper/my_swap,这个设备可以在 /etc/fstab 中指定。

以下是一个文件系统卷的 /etc/crypttab 项的实例:

my_volume /dev/hda5 /etc/volume_key cipher=aes-cbc-essiv:sha256
                        

/etc/volume_key 文件包括了一个明文加密密钥。您也可以指定 none 作为密钥的文件名,这样,系统会在启动时要求提供加密密钥。

推荐使用 LUKS 来设置文件系统卷。要进行设置,执行以下步骤:

  1. 使用 cryptsetup luksFormat 创建加密的卷。

  2. /etc/crypttab 中添加所需的项。

  3. 使用 cryptsetup luksOpen(或重新启动)来手工设置卷。

  4. 在加密的卷上创建一个文件系统。

  5. /etc/fstab 中添加相应的项。

mount 和 umount

mountumount 命令不再被 NFS 支持,它已经不再被包括在 NFS 客户端程序中。一个单独的 nfs-utils 软件包(它提供了 /sbin/mount.nfs/sbin/umount.nfs)必须被安装。

CUPS 打印机浏览

在一个本地子网中对 CUPS 打印机进行浏览可以通过图形化工具 system-config-printer 进行配置。这个功能也可以通过 CUPS 网站界面(http://localhost:631/)实现。

要使用直接的广播方式在子网间进行打印机浏览,在客户端系统上打开 /etc/cups/cupsd.conf,把 BrowseAllow @LOCAL 改为 BrowseAllow ALL

国际化

以下部分包括了 红帽企业 Linux 4.92 所支持的语言的信息:

输入法

在这个发行版本中,SCIM (Smart Common Input Method) 替代了 IIIMF 作为亚洲语言和其它语言的输入法。默认的 SCIM GTK 输入法模块是 scim-bridge 提供的,在 Qt 中由 scim-qtimm 提供。

以下是默认的、启动不同语言的快捷键:

  • 所有语言:Ctrl-Space

  • 日语:Zenkaku-HankakuAlt-`

  • 汉语:Shift-Space

如果安装了 SCIM,它将会默认地为所有用户运行。

语言安装

对于多数亚洲语言,SCIM 会被默认安装。如果没有安装,您可以选择软件包管理者 (pirut) 的 "语言" 组件来安装额外的语言支持,或运行以下命令:


su -c 'yum groupinstall <language>-support'
                        

在上面的命令中,<language> 可以是 AssameseBengaliChineseGujaratiHindiJapaneseKannadaKoreanMalayalamMarathiOriyaPunjabiSinhalaTamilThaiTelugu

im-chooser

增加了一个新的用户配置工具:im-chooser。它可以被用来方便地在您的桌面上启用或禁用输入法。如果 SCIM 已经被安装但您不想在您的桌面上运行它,您可以使用 im-chooser 来禁用它。

xinputrc

在 X 启动的时候,xinput.sh 现在会 source ~/.xinputrc/etc/X11/xinit/xinputrc,而不是查找 ~/.xinput.d//etc/xinit/xinput.d/ 下的配置文件。

在 Firefox 中对 Pango 的支持

红帽企业 Linux 4.92 中提供的 Firefox 包括了 Pango,它对一些脚本,如 Indic 和一些 CJK 脚本,提供了更好的支持。

要禁用 Pango,在启动 Firefox 前在环境变量中设置 MOZ_DISABLE_PANGO=1

字体

现在支持没有 bold face 的字体的 synthetic emboldening。

被加入的中文新字体:AR PL ShanHeiSun Uni (uming.ttf) 和 AR PL ZenKai Uni (ukai.ttf)。默认的字体是 AR PL ShanHeiSun Uni,它包括了内置的位图。如果您倾向于使用 outline glyphs,您可以把以下内容加入到您的 ~/.font.conf 文件中:

<fontconfig>
  <match target="font">
    <test name="family" compare="eq">
      <string>AR PL ShanHeiSun Uni</string>
    </test>
    <edit name="embeddedbitmap" mode="assign">
      <bool>false</bool>
    </edit>
  </match>
</fontconfig>                                
                        

gtk2 IM 子菜单

在默认的情况下,Gtk2 上下文菜单的 IM 子菜单不再会出现。您可以在命令行中使用以下命令来启用它:


gconftool-2 --type bool --set '/desktop/gnome/interface/show_input_method_menu' true
                        

CJK 系统的文本模式安装的支持

在 Anaconda 文本安装模式中对 CJK(中文、日文和韩文)的支持已经被取消。随着系统的发展,文本模式以及 GUI 模式的安装都将过时,取而代之的将是 VNC 和 kickstart。

gtk2 stack

以下软件包已经过时,并准备从 红帽企业 Linux 中删除:

  • gtk+

  • gdk-pixbuf

  • glib

gtk2 stack 会替代这些过时的软件包,它提供了更好的功能,特别是进行国际化和处理字体时。

CJK input on console

If you need to display Chinese, Japanese, or Korean on the console, you need to setup a framebuffer. To do this, install bogl and bogl-bterm, and run bterm on the framebuffer. Note that the kernel framebuffer module depends on the graphics chipset in your machine.

内核注记

以下内容介绍了2.6.9(红帽企业 Linux 4所基于的内核)和2.6.18(红帽企业 Linux 4.92 将要基于的内核)在2006年7月12日时的不同之处。那些正在被上游社区开发的,将会出现在以后的2.6.18或2.6.19中的新功能(如虚拟化)不会在这里涉及。换句话说,这里所列出的功能是已经包括在上游 Linus 树中的内容,而不是正在被开发的内容。因此,它不是新的 红帽企业 Linux 4.92 功能的最终列表,但它可以给您一个 红帽企业 Linux 4.92 所将带来的新功能的一个基本概念。另外,这部分的内容只包括了上游中重要的改变,而不是一个完整的改变列表。它不包括一些低级别硬件支持的改进和设备驱动信息。

要了解更详细的信息,请参阅内容:

http://kernelnewbies.org/LinuxChanges

性能/可扩展性
  • Big Kernel Lock preemption (2.6.10)

  • Voluntary preemption patches (2.6.13) (红帽企业 Linux 4包括了其中的一部分)

  • futexes 的 Lightweight userspace priority inheritance (PI) 支持,它对实时应用程序非常有用 (2.6.18)

  • 新的 'mutex' locking primitive(2.6.16)

  • 高精确度计时器(2.6.16)

    • 与 kernel/timer.c 中的低精确度超时 API 相比,hrtimers 提供了更高的精确度,它的精确程度是由系统的配置和能力所决定的。这些计时器程序被 itimers、POSIX timers、nanosleep 和准确的内核计时程序使用。

  • Modular—动态可切换的 I/O 调度程序 (2.6.10)

    • 在 红帽企业 Linux 4中,它只能通过启动选项被调整(现在是系统范围内的,而以前是基于每个队列的)

  • 新的 pipe 实现 (2.6.11)

    • pipe 带宽的性能有了30-90%的提高

    • circular 缓冲和 blocking wirter相比,允许更多的缓冲

  • "Big Kernel Semaphore": 把 Big Kernel Lock 转为一个 semaphore

    • 通过分解长的锁定保持时间和添加 voluntary preemption 来减少延迟

  • X86 "SMP alternatives"

  • kernel-headers 软件包

    • 替换 glibc-kernheaders 软件包

    • 使用2.6.18内核的新的 headers_install 功能来提供更好的适用性

    • 与内核头相关的改变:

      • 删除了 <linux/compiler.h> 头文件,它不再被使用

      • 删除了 _syscallX() 宏,用户空间应该使用 C 库函数中的 syscall()

      • 删除了 <asm/atomic.h><asm/bitops.h> 头文件;C 编译器提供了自己的内建的功能,它更适用于用户空间程序

      • #ifdef __KERNEL__ 保护的内容现在已经被 unifdef 工具完全删除;定义 __KERNEL___ 来查看那些无法在用户空间查看的功能将不再有效

      • 因为页大小的变化,PAGE_SIZE 宏被从一些体系结构系统中删除。用户空间应该使用 sysconf (_SC_PAGE_SIZE)getpagesize()

    • 为了为用户空间提供更好的适用性,一些头文件和头内容被删除

新的通用功能

  • kexec 和 kdump (2.6.13)

    • netdump 已经被 kexeckdump 所替代,它们可以保证更快的启动过程并为故障诊断创建了稳定的内核 vmcores。如需了解更多信息,请参阅 /usr/share/doc/kexec-tools-<version>/kexec-kdump-howto.txt(使用安装的 kexec-tools 软件包的相应版本替换 <version>)。

  • inotify (2.6.13)

    • 它的用户接口使用以下系统调用:sys_inotify_initsys_inotify_add_watchsys_inotify_rm_watch

  • Process Events Connector (2.6.15)

    • 向用户空间报告所有的 forkexec、id 改变和 exit 事件。

    • 应用程序可能会需要使用这些事件的信息。如会计/审计应用程序(如 ELSA)、系统监测程序(如top)、安全程序和资源管理程序(如 CKRM)。Semantic 为 per-user-namespace、"files as directories" 和 versioned filesystems 等功能提供了构建模块。

  • 通用 RTC (RealTime Clock) 子系统 (2.6.17)

  • splice (2.6.17)

  • 块队列 IO 跟踪支持 (blktrace):它允许用户查看在一个块设备队列上发生的所有事件。换句话说,您可以获得您的磁盘正在进行的所有活动的、详细的统计数据(2.6.17)

文件系统 / LVM

  • EXT3

    • Ext3 block reservation (2.6.10) (红帽企业 Linux 4)

    • ext3 online resizing patches (2.6.10) (红帽企业 Linux 4)

    • 支持在 ext3 中的大的 inode 中的扩展属性:节省空间并在一些情况下可以提高性能 (2.6.11)

  • 支持多路径设备映射 (红帽企业 Linux 4)

  • ACL 支持 NFSv3 和 NFSv4 (2.6.13)

  • NFS: 支持大的读写操作 (2.6.16)

    • Linux NFS 客户端现在支持传输大到1MB的数据。

  • FUSE (2.6.14)

    • 允许在一个用户空间程序中实现一个完全功能的文件系统

  • VFS 的改变

  • Big CIFS 更新 (2.6.15)

    • 多个性能提高,并支持 Kerberos 和 CIFS ACL

  • autofs4:提供了对用户空间 autofs 的直接挂载支持(2.6.18)

  • cachefs core enablers (2.6.18)

安全

  • 地址空间随机化

    • 当应用了这些补丁后,每个进程的堆栈会在一个随机的地址开始,而 mmap() 所使用的内存区的开始地址也是随机的(2.6.12) (红帽企业 Linux 4)。

  • SELinux 的多级别安全实现 (2.6.12)

  • 审核子系统

    • 支持基于进程上下文的过滤 (2.6.17)

    • 更多的过滤规则比较程序(2.6.17)

  • TCP/UDP getpeersec:允许一个 security-aware 应用程序来获取与一个正在使用的特定 TCP 或 UDP socket 相安全关联的一个 IPSec 的安全上下文 (2.6.17)

网络

  • 添加了多个 TCP 拥塞模块 (2.6.13)

  • IPV6:在高级 API 中支持多个新 sockopt / ancillary 数据 (2.6.14)

  • IPv4/IPv6:UFO (UDP Fragmentation Offload) Scatter-gather approach (2.6.15)

    • UFO 是一个新功能:Linux 内核网络 stack 会把大型 UDP 数据包的 IP fragmentation 的功能交给硬件。这将会减少 stack 在把大型 UDP 数据包分为 MTU 大小的数据包时的系统开销。

  • 添加了 nf_conntrack 子系统:(2.6.15)

    • 在 netfilter 中现存的连接跟踪子系统只能处理 ipv4。要处理 ipv6,有两个选择:复制所有 ipv4 连接跟踪代码到相应的 ipv6 系统中;或 (这些补丁使用这个方法) 设计一个通用层来处理 ipv4 和 ipv6,它只需要写一个子协议 (如 TCP, UDP) 连接跟踪帮助程序模块。实际上,nf_conntrack 有能力处理所有第3层协议。

  • IPV6

    • RFC 3484 标准的源地址选择 (2.6.15)

    • 增加了对 Router Preference 的支持 (RFC4191) (2.6.17)

    • 增加了 Router Reachability Probing (RFC4191) (2.6.17)

  • 无线网络的更新

    • hardware crypto 和 fragmentation offload 的支持

    • QoS (WME) 支持,"wireless spy 支持"

    • 混和的 PTK/GTK

    • CCMP/TKIP 支持和 WE-19 HostAP 支持

    • BCM43xx 无线驱动程序

    • ZD1211 无线驱动程序

    • WE-20,Wireless Extensions 版本20(2.6.17)

    • 增加了硬件独立的软件 MAC 层,"Soft MAC" (2.6.17)

    • 添加了 LEAP 认证类型

  • 添加了 generic segmentation offload (GSO) (2.6.18)

    • 在一些情况下会提高性能,这需要通过 ethtool 启用

  • 增加了新的、到 SELinux 的基于每个数据包的访问控制

  • 增加了对核心网络的 secmark 支持,它允许安全的子系统在网络数据包添加安全标记 (2.6.18)。

  • DCCPv6 (2.6.16)

增加的硬件支持

备注

以下部分只列举了所有新功能中的重要部分。

  • x86-64 集群的 APIC 支持 (2.6.10)

  • Infiniband 支持 (2.6.11) (多数已在 红帽企业 Linux 4 中)

  • 热拔插

    • 增加了通用内存的添加/删除,并支持内存热拔插的功能(2.6.15)

    • 热拔插 CPU 支持物理地增加新处理器(热拔插禁用/启用已经存在的 CPU 已经被支持)

  • SATA/libata 增强,额外的硬件支持 (红帽企业 Linux 4)

    • 一个全新的 libata 错误处理程序:它可以带来更稳定的、可以从更大范围的错误中进行恢复的 SATA 子系统。

    • Native Command Queuing (NCQ):它是 tagged command queuing 的 SATA 版本,它允许在同一个时间对同一个设备有多个 I/O 请求。(2.6.18)

    • 热拔插支持 (2.6.18)

  • EDAC 支持 (2.6.16) (红帽企业 Linux 4)

    • EDAC 的目标是发现并报告在计算机系统中发生的错误。

  • 为 Intel(R) I/OAT DMA 引擎添加一个新的 ioatdma 驱动 (2.6.18)

NUMA (Non-Uniform Memory Access) / Multi-core

  • Cpusets (2.6.12)

    • Cpusets 现在为一组任务分配一组 CPU 和内存节点提供了一个机制。Cpusets 只允许在一个任务当前的 cpuset 内的资源进行任务的 CPU 和内存替换。这是在大型系统中管理动态任务替换的基础。

  • NUMA-aware slab allocator (2.6.14)

    • 它在多节点间创建 slab,以本地分配的方式管理 slab 也进行了优化。每个节点有它自己的 partial、free 和 full slab 列表。对一个节点的目标分配从特定节点 slab 列表中发生。

  • Swap migration (2.6.16)

    • Swap migration 允许在进程运行的时候,在一个 NUMA 系统的节点间移动内存页的物理位置。

  • Huge pages (2.6.16)

    • 增加了支持 huge page 的 NUMA 策略:内存策略层中的 huge_zonelist() 提供了一个以 NUMA 距离排序的 zone 列表。hugetlb 层会检查这个列表来查找一个有可用的 huge page,并且也在当前的 cpuset 中的 nodeset 的 zone。

    • huge pages 现在服从 cpusets

  • Per-zone VM counters

    • 提供了基于域的 VM 统计数据,它在决定一个域所在的内存的状态时非常有用。

  • Netfilter ip_tables: NUMA-aware allocation。(2.6.16)

  • 多内核

    • 增加了一个新的调度程序域来表示在内核间共享缓存的多内核。它可以在这类系统中进行更智能的 cpu 调度,在一些情况下会提高性能。 (2.6.17)

    • CPU 调度程序的电源节省策略:当使用多内核或 smt cpu 时,如果让一些 CPU 空闲,而让其它处理器处理所有的工作,会比在所有 CPU 间分配工作要节省电源的消耗。

( x86 )



[1] 本内容需要在 Open Publication License, v1.0(http://www.opencontent.org/openpub/)的条件下发布。