|
发表于 2003-10-27 14:09:01
|
显示全部楼层
Red Hat Enterprise Linux AS 3 发行注记
Copyright © 2003 Red Hat, Inc.
总览
这些发行注记中涉及了以下课题:
*
引导 Anaconda
*
与安装相关的备注
*
输入法备注
*
常规备注
*
内核备注
引导 Anaconda
本节描述引导Red Hat Enterprise Linux 安装程序(Anaconda)的必需步骤。
第一张光盘是可引导的,可以被用来启动安装进程。如果不想使用基于光盘的安装(例如:如果您想通过网络连接来安装Red Hat Enterprise Linux 3),您可以在第一张光盘的 images/ 目录下找到只包含启动进程所需文件的光盘映像文件 boot.iso。
与安装相关的备注
本节描述和Red Hat Enterprise Linux 安装程序 Anaconda 相关的问题。
*
Red Hat Enterprise Linux 3 处理光盘的步骤已经改变。在引导安装程序时需要第一张光盘,处理了余下的光盘后还需要它。
*
Red Hat Enterprise Linux 安装程序具有测试安装介质完好性的能力。它可以用在光盘、硬盘 ISO 和 NFS ISO 安装方法中。Red Hat建议您在安装前以及报告任何安装问题前测试所有安装介质(许多提交的错误是由不正确刻录的光盘造成的)。要执行测试,在 boot: 提示下键入 linux mediacheck 命令。
*
Red Hat Enterprise Linux 3 包括一个叫做 hugemem 的新内核。这个内核支持每进程4GB用户空间和4GB直接内核空间。使用这个内核允许Red Hat Enterprise Linux 在拥有大至64GB主内存的系统上运行。一般来说,配置了16GB内存以上的系统需要 hugemem,虽说使用较少内存的环境也可以从这个内核中获益,特别是在运行能够从较大的用户空间中获益的应用程序的时候。
为了提醒您这个问题,若您的系统配置中包含了16GB以上的内存,Red Hat Enterprise Linux 3 内核在引导时就会显示一条消息。在系统被引导后,以下命令可以被用来查看您的系统是否显示了这条消息:
dmesg | less
注意:要为内核和用户空间提供4GB地址空间,内核中必须保持两个分开的虚拟地址映射图。这会给用户和内核空间的转换带来些额外费用,例如在系统调用和中断的时候。这个额外费用对整体性能的影响在很大程度上要依据应用程序而定。
还请注意,因为某些驱动程序最初不是为大内存环境而编写的,在使用了 hugemem 内核时,Red Hat只支持驱动程序中的一个被批准过的子集。被Red Hat批准用于 hugemem 内核的驱动程序包括在 kernel-hugemem 软件包中。没有被批准但是仍旧被提供了的驱动程序位于 kernel-hugemem-unsupported RPM。要查看这些 RPM 中的驱动程序列表,请使用以下命令:
rpm -qlp <kernel-rpm>
(这里的 < kernel-rpm> 是相应 hugemem RPM 的完整文件名。备注:这些 RPM 可以在第二张光盘的 RedHat/RPMS/ 目录中找到。)
如果您认为 hugemem 内核的额外费用和可用驱动程序的子集对您的硬件配置和系统环境没什么问题,并且您想使用 hugemem 内核,您必须首先安装它。要安装这个内核,登录为根用户后输入以下命令:
rpm -ivh <kernel-rpm>
(这里的 <kernel-rpm> 是 hugemem 内核 RPM 文件的名称,例如 kernel-hugemem-2.4.21-3.EL.i686.rpm)。
安装完成后,重新引导您的系统,请确定选择新安装的 hugemem 内核。测试了这个使用 hugemem 内核的系统能够正确运行后,您应该修改 /boot/grub/grub.conf 文件来默认引导 hugemem 内核。
*
Red Hat Enterprise Linux 3 可以在 IBM eServer xSeries&#174; 440 和 445 上被安装。然而,安装进程只支持包含一个机箱并且没有连接的 RXE-100 远程扩展区的配置。如果您的系统配置不符合这些条件,您可以移除多余的机箱和/或 RXE-100,然后再执行安装。一旦安装完毕,节点和/或 RXE-100 可以被重新安装,而且可以在Red Hat Enterprise Linux 中正常操作。
*
Red Hat Enterprise Linux 3 现在包括对逻辑卷管理(Logical Volume Management,LVM)的支持。LVM 是一种把磁盘空间拨发给一个或多个逻辑卷的方法,这种方法被用来实现容易重新划分大小的文件系统。
*
多数现代计算机能够通过直接从第一张Red Hat Enterprise Linux 发行版光盘中引导而启动安装进程,某些硬件配置需要使用引导盘。如果您的硬件需要引导盘,您应该留意下列改变。
Red Hat Enterprise Linux 3 使用和从前的Red Hat Enterprise Linux 版本不同的引导盘布局。本版本只使用一个引导盘映像文件(bootdisk.img)来引导所有需要引导盘的系统。
如果您从 IDE 或 USB 设备中执行安装以外的任务,您会被要求插入根据下列映像文件之一创建的驱动程序盘:
· drvnet.img — 用于网络安装
· drvblock.img — 用于 SCSI 安装
· pcmciadd.img — 用于 PCMCIA 安装
和从前发行的Red Hat Enterprise Linux 一样,这些映像文件可以在第一张安装光盘上的 images/ 目录中找到。
*
使用串口终端的文本模式安装最好在终端支持 UTF-8 的情况下使用。在 UNIX 和 Linux 下,Kermit 支持 UTF-8。在 Windows 下,Kermit '95 也运行得不错。如果安装中使用英语,不具备 UTF-8 能力的终端也能够运行。被增强的窗口显示可以通过给安装程序传递“utf8”引导时间选项来使用。例如:
linux console=ttyS0 utf8
*
Red Hat Enterprise Linux 安装程序的防火墙配置屏幕已被简化。从前的「高级」、「中级」和「无防火墙」设置已被更直截了当的启用和禁用控制替换了。此外,默认的防火墙配置现在是区分状态的,从而更安全。这种新设计还使使用 NIS 验证、NFS、和 DNS 的用户能够不必进行额外定制而部署一个防火墙(尽管这些用户仍能够通过指定端口和协议来定制)。
注意:这项改变还应用于安全级别配置工具(redhat-config-securitylevel)。
*
现在支持通过 VNC 来安装。要引发基于 VNC 的安装,在引导时间传递“vnc”选项。若必要,给引导时间选项添加“vncpassword=<password>”还能够设置口令。VNC 的显示是“<host>:1”,这里的 <host> 是安装Red Hat Enterprise Linux 的系统的主机名或 IP 地址。
Red Hat Enterprise Linux 安装程序还可能引发到监听 VNC 客户的连接。这是通过使用 vncconnect 引导时间选项来做到的:
linux vnc vncconnect=<client>[:<port>]
(这里的 <client> 是运行监听 VNC 客户的系统的主机名或 IP 地址;<port> 是可选的端口规范,如果 VNC 客户不在默认端口 5500 上监听的话,您可以在这里另外指定端口。)以下的例子显示了引导时间选项是如何为标准的和非标准的端口指定的:
linux vnc vncconnect=pigdog.example.com
linux vnc vncconnect=pigdog.example.com:27910
然后,运行监听 VNC 客户的系统必须启动恰当的软件来运行监听状态的 VNC 客户。对于Red Hat Enterprise Linux 3 中提供的 VNC 客户,以下命令就足够了:
vncviewer -listen
此外,还添加了一个新的 kickstart 指令来支持基于 VNC 的安装:
vnc [--password <password>] [--connect <host>[:<port>]]
(这里的 --password <password> 是指定 VNC 口令的可选参数;[--connect <host>[:<port>]] 是指定运行一个监听 VNC 客户系统的主机(端口)的可选参数。
备注:如果您指定了任何和 VNC 相关的引导时间选项,它们都会超越 kickstart 文件中的选项。
*
XFree86 开源 vmware 视频驱动程序为方便顾客而提供,但是它不被 Red Hat, Inc. 以任何形式支持。不过,我们会把收到的任何关于 XFree86 开源 vmware 视频驱动程序的问题转交给适当的 VMware 人员,因此他们可以做进一步的调查。若有应用于该驱动程序的错误修正,它们可能会被我们评审,若时间允许,可能会被包括在未来的勘误和产品中。
输入法
本节包含关于使用输入法的常规备注。
输入法允许用户在常用程序如文字处理器、电子邮件、即时消息接发等程序中输入非西方字符。Red Hat Enterprise Linux 支持以下语言的输入法:
*
中文(简体和繁体)
*
日文
*
韩文
以下各相描述了如何使用这些语言的输入法。
*
简体中文
要输入简体中文字符,您需使用 miniChinput 输入法。要激活该输入法,按Ctrl-Space。
miniChinput 输入法支持以下模块:
· 智能拼音输入
· GBK 拼音输入
· 双拼输入
· 内码输入(GB18030)
如果您在安装中选择了简体中文语言支持,miniChinput 软件包会被默认安装。
*
繁体中文
要输入繁体中文字符,您需要使用 xcin 输入法。要激活该输入法,按Ctrl-Space。按Shift-Ctrl或Ctrl-Alt-Num会允许您在输入法模块间切换。
xcin 输入法支持以下模块:
· 仓颉
· 简易
· 注音
· 粤拼
· 词音
· 拼音
· 行列30
· 无调粤拼
如果安装中选择了繁体中文支持,xcin 软件包就会被默认安装。
*
日文
要输入日文字符,您需要使用Canna、FreeWnn 或 skk 输入法。要激活该输入法,按Shift-Space。
以下模块是被支持的:
· 罗马字
· 假名(仅 Canna — 要依据配置文件而定)
如果在安装中选择了日文语言支持,Canna、FreeWnn、和 skkinput 软件包会被默认安装。
*
韩文
要输入韩文字符,您需要使用 ami 输入法。要激活该输入法,按Shift-Space。
如果在安装中选择了韩文语言支持,ami 软件包会被默认安装。
常规备注
本节包含和安装后的问题相关的常规备注。
*
Apache HTTP 服务器已被更新到版本 2.0。更新了的软件包代替版本 1.3,并被重命名为 httpd。
· auth_ldap、mod_put、mod_roaming、mod_auth_any、mod_bandwidth、mod_throttle、和 mod_dav 模块已被删除。
· WebDAV 的功能已被包括在 httpd 软件包中。
注意:可能需要对现存的配置文件做些改变。第三方的 Apache 模块可能也需要被更新。详情请参阅位于 /usr/share/doc/httpd-*/migration.html 的迁移指南。
*
Red Hat Enterprise Linux 3 支持使用 PXE(预引导执行环境,Pre-Boot Execution Environment)来通过网络引导。和已往的发行版本一样,您有可能把Red Hat Enterprise Linux 3 配置成安装服务器,这会为启动网络安装而筹备内核文件和映像文件。
Red Hat Enterprise Linux 3 中还提供了对无磁盘环境的支持。无磁盘环境的服务器(和安装服务器相仿)给无磁盘的客户系统提供内核文件和映像文件。引导后,无磁盘客户系统通过 NFS 来挂载根文件系统,从而不必使用本地连接的贮存器。
网络引导工具(redhat-config-netboot)是一个允许您配置两个环境的图形化配置工具。
*
LPRng 打印假脱机已被 CUPS 替换,打印机配置工具(redhat-config-printer)是我们推荐您用来配置它的工具。它可以从「系统设置」菜单中启动,使用其中的「打印」菜单项目。
*
安全级别配置工具(redhat-config-securitylevel)已被简化。从前的「高级」、「中级」和「无防火墙」设置已被更直截了当的启用和禁用控制替换了。此外,默认的防火墙配置现在是区分状态的,从而更安全。这种新设计还使使用 NIS 验证、NFS、和 DNS 的用户能够不必进行额外定制而部署一个防火墙(尽管这些用户仍能够通过指定端口和协议来定制)。
注意:这项改变也应用在Red Hat Enterprise Linux 的安装程序中。
*
GNOME 打印管理器这个简单的图形化打印队列管理工具现已被包括。它可以从「系统工具」菜单上启动,使用其中的「打印管理器」菜单项目。除此之外,当某打印作业位于队列中时,一个图标会出现在面板的系统通知区域。
*
Red Hat Enterprise Linux 3 包含 setarch 工具。setarch 能够改变 uname 命令生成的输出。这在几种情况下有用,例如在 64 位环境中运行 32 位的应用程序时(那些期待 uname -m 中的某个特定值的程序)。
setarch 命令的格式是:
setarch <arch> <command>
(这里的 <arch> 代表想要的体系字符串,如 i386;<command> 代表在体系被修改时要运行的命令。)注意,<command> 可以被省略,在这种情况下会运行 /bin/sh。
此外,某些应用程序(如较老版本的 Java)在编写的时候假定3GB的虚拟地址空间;当在有较大虚拟地址空间的系统上运行时(如64位的基于 AMD64 的系统,或运行 hugemem 内核的32位系统),这类应用程序就会出问题。setarch 工具能够模拟3GB虚拟地址空间,从而允许这类程序正确运行。
setarch -3 java
*
Red Hat Enterprise Linux 3 包括 Native POSIX Thread Library (NPTL),它是 Linux 的 POSIX 线程的新实现。该库提高了性能并增加了可缩放性。
该线程库被设计成与原有的 LinuxThreads 实现在二进制上兼容;不过,依赖于脱离 POSIX 标准的 LinuxThreads 实现之处的应用程序将需要被修正。值得注意的不同之处包括:
· 信号处理已从每线程信号处理改成 POSIX 进程信号处理。
· getpid() 在所有的线程中返回相同值。
· 如果使用了 vfork(),用 pthread_atfork 注册的线程处理程序就不会运行。
· 无管理线程。
使用 NPTL 时会遇到问题的已知应用程序包括:
- 版本 1.4.1 之前的 Sun JRE
- IBM JRE
如果某应用程序使用 NPTL 无法正确运行,它可以使用原有的 LinuxThreads 实现来运行,方法是设置以下的环境变量:
LD_ASSUME_KERNEL=<kernel-version>
可用的版本如下:
· 2.4.19 — 带有浮动堆栈的 Linuxthreads
· 2.4.19 — 没有浮动堆栈的 Linuxthreads
注意,使用 errno、h_errno、和 _res 的软件在它们被使用前必须包含(#include)恰当的头文件(依次为 errno.h、netdb.h、和 resolv.h)。不过,在软件被修正之前,您可以把 LD_ASSUME_KERNEL=2.4.19 用作绕行措施。
*
使用线程取消的多线程 C++ 程序可能需要通过 LD_ASSUME_KERNEL=2.4.19 这个环境变量设置来强制使用 LinuxThreads 库。否则,如果取消被执行了(既然生成的例外没有被捕获),程序就会异常终止。
新编写的使用 C 运行时间环境的 C++ 代码可能必须被调整来考虑线程取消因素。这可以通过以下方法之一来进行:
· 不把 C++ 函数标为 throw()(因此调用者就会知道一个例外可能会被投掷),编译带有例外的代码。这是默认的编译选项;用户不应该在编译的时候指定 -fno-exceptions。
· 在进入哪些调用可取消的 C 运行时间函数的函数前完全禁用取消。这可以通过使用以下的调用来做到:
pthread_setcancelstate (PTHREAD_CANCEL_DISABLE, &oldstate)
调用了 C 函数后,取消可以通过以下调用来重新被启用:
pthread_setcancelstate (oldstate, NULL)
注意:目前,取消会被执行,因此调用 pthread_setcancelstate() 的函数在编译时必须启用例外,而且必须被标为投掷例外。
*
新系统消息已被添加到Red Hat Enterprise Linux 3:
应用程序错误:<app-name> (<app-pid>)的 SIGCHLD 被设为 SIG_IGN,但却调用 wait()。(请参见本注记中“man 2 wait”这一部分)。绕行措施被激活(Workaround activated)。
该消息(显示在系统控制台和/或系统日志文件)表明应用程序在处理子进程方面没有完全符合标准。如果您看到了这条消息,您应该警告该应用程序的开发者。
*
Red Hat Enterprise Linux 3 包含为 C、C++、和 Java 生成位置独立的可执行文件(PIE)的能力。该功能使用 -fpie 和 -fPIE GCC 选项编译来启用。这与使用 -fpic 和 -fPIC 选项,然后在链接时使用 -pie 选项的用法类似。
*
fileutils、textutils、sh-utils 和 stat 软件包已被新的 coreutils 软件包代替。
*
包含网络管理工具(redhat-config-network)的 RPM 已被重新命名,其功能也有所改变。redhat-config-network RPM 包含这个工具的图形化用户界面,redhat-config-network-tui 包含这个工具本身(及其基于文本的用户界面)。
*
对 XHTML1 的支持 — 在 XML 中对 HTML 的重组 — 已被提高。这是通过添加 xhtml1-dtd 软件包,在系统目录中安装 DTD,以及在 libxml2 和 xsltproc 工具中添加原始支持来达到的。
*
XML 工具包已被扩展。它现在支持 Relax-NG 校验以及大文件的流式能力。
*
Oprofile 系统范围建档器已被添加到Red Hat Enterprise Linux 3。OProfile 是编程员用来分析系统性能的工具。它使用在许多现代计算机中内建的特殊硬件。OProfile 的文档位于 oprofile 软件包中;安装了Red Hat Enterprise Linux 3 后,使用 rpm -qd oprofile 命令来获取一个可用文档的列表。详情请参阅 OProfile 的网站:http://oprofile.sourceforge.net。
注意:Red Hat Enterprise Linux 3 中对 OProfile 的内核支持是基于从 2.5 版的开发内核中导出的代码。因此,如果您要参考 OProfile 文档,请记住被列为 2.5 版特有的功能也应用于Red Hat Enterprise Linux 内核,尽管其内核版本是 2.4。同样的,这意味着被列为 2.4 版特有的功能不能被应用到Red Hat Enterprise Linux 内核。
*
目前,X 窗口系统使用两种带有不同特点的字体子系统:
· 原始的(已有 15 年以上历史)子系统被称为“核心 X 字体子系统”。由这个子系统绘制的字体不是平滑字体,它们由 X 服务器处理,名称类似:
-misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-1
新的字体子系统被称为“fontconfig”。它允许应用程序直接使用字体文件。fontconfig 经常与“Xft”库一起使用,这会允许应用程序在屏幕上绘制平滑字体。fontconfig 使用的名称更有“人情味儿”,它们类似:
Luxi Sans-10
随着时间的推移,fontconfig/Xft 将会取代核心 X 字体子系统。目前,使用 Qt 3 或 GTK 2 工具包(包括 KDE 和 GNOME 应用程序)的应用程序使用 fontconfig 和 Xft 字体子系统;其它程序多数使用核心 X 字体。
Red Hat将来可能会仅支持 fontconfig/Xft 作为默认的本地字体存取方法来取代 XFS 字体服务器。
注意:以上列出的字体子系统用法有一个例外:OpenOffice.org 使用它自己的字体绘制技术。
如果您想给您的Red Hat Enterprise Linux 3 系统添加新字体,根据使用新字体的字体子系统而定,您必须明确所需步骤。对于核心 X 字体子系统,您必须:
1. 创建 /usr/share/fonts/local/ 目录(如果它不存在):
mkdir /usr/share/fonts/local/
2. 把新字体文件复制到 /usr/share/fonts/local/ 中
3. 使用以下命令来更新字体信息(注意,由于格式限制,以下行并不以一行形式出现,但是它应该在一行内输入):
ttmkfdir -d /usr/share/fonts/local/ -o /usr/share/fonts/local/fonts.scale
mkfontdir /usr/share/fonts/local/
4. 如果您必须要创建 /usr/share/fonts/local/,您就必须把它添加到 X 字体服务器(xfs)的路径中:
chkfontpath --add /usr/share/fonts/local/
把新字体添加到 fontconfig 字体子系统比较简单明了;只需把新字体复制到 /usr/share/fonts/ 目录中即可(个体用户可以把新字体复制到 ~/.fonts/ 目录中来修改他们的个人字体配置)。
复制了新字体后,使用 fc-cache 来更新字体信息缓存:
fc-cache <directory>
(这里的 <directory> 应该是 /usr/share/fonts/ 或 ~/.fonts/ 目录。)
个体用户还可以图形化地安装字体。方法是:在 Nautilus 中浏览 fonts:///,然后把新字体文件拖放到那里。
注意:如果字体文件名以“.gz”结尾,这表明它使用 gzip 被压缩,因而必须使用 gunzip 来解压后,fontconfig 字体子系统才能使用这个字体。
*
鉴于向基于 fontconfig/Xft 的新字体系统的转换,GTK+ 1.2 应用程序将不会被「字体首选项」对话框中做出的改变所影响。对于这些应用程序,字体可以通过在 ~/.gtkrc.mine 文件中添加以下几行来配置:
style "user-font" {
fontset = "<font-specification>"
}
widget_class "*" style "user-font"
(这里的 <font-specification> 代表被传统的应用程序使用的字体规定,如“-adobe-helvetica-medium-r-normal--*-120-*-*-*-*-*-*”。)
*
默认情况下,Sendmail 邮件传输代理(MTA)不接受来自本地计算机以外的主机的网络连接。如果您想把 Sendmail 配置成其它客户的服务器,请编辑 /etc/mail/sendmail.mc,并把 DAEMON_OPTIONS 行改变成监听网络设备(或者使用 dnl 来注释掉该选项)。您必须得运行下面的命令(以根身份)来重新生成 /etc/mail/sendmail.cf:
make -C /etc/mail
注意,您必须安装了 sendmail-cf 软件包才能使上面的命令奏效。
*
Red Hat Enterprise Linux 3 默认的 FTP 服务器 vsftpd 已被改成 SysV 服务。
*
改变 fdisk 对分区大小倍数的理解
fdisk 命令现在对用来创建新磁盘分区的大小倍数的理解有所不同。大小后缀 K、M、和 G 分别代表千字节、兆字节和吉字节。这和磁盘驱动器生产厂商所提供的磁盘大小规格更为一致。
因此,如果用户想要创建一个512MB的分区,使用带有“M”后缀指定的大小值将会是 512*1024*1024 (536,870,912),四舍五入到一百万的倍数(537,000,000),然后再除以一百万,导致指定的大小为+537M。
*
虽然我们支持对早期Red Hat Linux 和Red Hat Enterprise Linux 上创建的可执行文件和动态共享的对象(DSO,有称共享库)的兼容性,但是对对象文件(.o)的兼容性却不被支持。只有当在早期版本上创建的对象文件可以不包括任何系统头文件而被建构时,它们才可以在Red Hat Enterprise Linux 3 上被用来创建新的可执行文件或 DSO。
否则,使用这些文件的唯一方法是把对象文件链接到 glibc(compat-glibc 软件包的一部分)的兼容版本。任何新生成的对象文件必须使用兼容软件包里的头文件。例如:要编译对象文件,在编译器命令行的开头添加以下内容:
-I/usr/lib/i386-redhat-linux7/include
要连接生成的可执行文件或 DSO,在命令行添加以下内容:
-L/usr/lib/i386-redhat-linux7/lib
混和使用旧的对象文件和那些使用当前系统头文件编译的对象文件会产生消极结果。使用常规系统库来连接旧的对象文件可能会导致完全不可用的可执行文件或带有隐蔽错误(如内存损坏)的可执行文件。
内核备注
本节涉及与Red Hat Enterprise Linux 3 内核相关的问题。
*
Red Hat Enterprise Linux 3 内核利用了新的内核打包技术。由于可用的硬件类型多得数不胜数,Red Hat想要完全支持所有硬件部件是不可能的。因此,用于完全支持的硬件的内核模块仍旧位于标准的 kernel 软件包中,一系列新的不支持的(unsupported)内核软件包也被包括在Red Hat Enterprise Linux 3 中。
每个包括在产品中的内核软件包都有一个相应的不支持的内核软件包。例如,和 kernel-smp-2.4.21-3.EL.i686.rpm 相应的不支持的内核软件包是 kernel-smp-unsupported-2.4.21-3.EL.i686.rpm。
注意:不支持的内核软件包不被Red Hat Enterprise Linux 安装程序安装;因此,要使用不支持的内核模块,您必须手工地安装和您的系统使用的内核相应的不支持的内核软件包。
安装了恰当的不支持的内核软件包后,您必须使用以下命令来更新内核模块依赖关系树和 initrd。
/sbin/new-kernel-pkg --mkinitrd --depmod --install <kernel-version>
(这里的 <kernel-version> 是新安装的内核的版本。)
包含在不支持的内核软件包中的驱动程序是按照尽力而为的原则提供的。这意味着程序更新和上流修正有可能会也有可能不会被包括,并且它们也不能享受和被完全支持的驱动程序同等的支持待遇。在某些情况下,有关不支持的软件包中的驱动程序问题,您可以和红帽商谈安排一下定制的支持。
*
Red Hat Enterprise Linux 3 内核包含更准确的进程计时功能。这个新进程计时模式使用时间戳来提供更准确的空闲和处理时间计时。当启用后,该信息可通过通常的监视工具(如 top、vmstat 和 procinfo)来查看,或使用 getrusage 系统调用。
要启用基于时间戳的进程计时,您必须使用以下引导时间选项来引导您的系统:
process_timing=<value>
这里的 <value> 可以是以下中的一个或多个,使用逗号间隔:
· irq — 使用时间戳来计量 IRQ 中断
· softirq — 使用时间戳来计量内核中的 softirq 时间
· process — 允许进程对自己启用基于时间戳的进程计时。(然后它会默认为所有进程禁用)
· all_process — 强制在所有进程上启用基于时间戳的进程计时(包括空闲的任务)
· everything — 和指定 irq,softirq,all_process 相同
如果系统使用 process 选项被引导,那么就没有一个进程会默认启用基于时间戳的进程计时。不过,进程可以使用 prctl() 系统调用来判定和修改它们的进程计时模式。判定进程计时模式的系统调用是:
mode = prctl(PR_GET_TIMING, 0, 0, 0, 0);
设置进程计时模式的系统调用是:
status = prctl(PR_SET_TIMING, <mode>, 0, 0, 0)
(这里的 <mode> 是用于启用传统进程计时模式的 PR_TIMING_STATISTICAL,或用于启用基于时间戳的进程计时模式的 PR_TIMING_TIMESTAMP。)注意,启用一种计时模式会自动禁用另一种。
注意:prctl() 系统调用只能用在使用 process 选项引导的系统上。否则,系统调用就会返回 -EINVAL。这包括在使用 all_process 选项引导的系统上禁用基于时间戳进程计时的企图。
子进程的计时模式是从它的父进程处继承而来的,子进程可以使用prctl() 系统调用来修改它自己的进程计时模式(需服从前一条备注中的条件)
*
BusLogic 驱动程序(用于某些 Mylex SCSI 主机总线适配器)在标准内核软件包中被提供,但是它只有在当内核是 VMWare&#8482; 虚拟机器软件内的来宾(guest)操作系统时才被支持。这是因为 VMWare 给 BusLogic 驱动程序提供一个模拟的 SCSI 适配器,而且这个环境已经被 VMWare, Inc. 全面测试和支持。BusLogic 驱动程序在物理 SCSI 主机适配器上不被支持,这是因为该驱动程序在官方 Linux 内核已经多年没有维护,在Red Hat Enterprise Linux 内核中也没有被全面测试。
*
qla1280 驱动程序(用于 Qlogic ISP1x80/1x160 SCSI 适配器)在官方 Linux 内核已经多年没有维护。结果是,虽然该驱动程序在 Intel x86 体系中运行正常,但是它和其它体系无法配合使用。因此,Red Hat只在 Intel x86 平台上支持 qla1280 驱动程序。
*
基于 Intel I865/I875 芯片集和使用这些芯片集的 ICH5 集成的 AC97 音频功能的系统在运行Red Hat Enterprise Linux 3 时可能会没有声音。
您可以通过检查以下命令的输出来识别 ICH5 集成的 AC97 音频子系统:
/sbin/lspci -n
ICH5 AC97 音频的 PCI 厂商:设备编号是 8086:24d5。
*
基于 Intel I865/I875 芯片集并且利用这些芯片集的 ICH5 串行 ATA (SATA) 功能的系统应该为它们的 SATA 设备把 BIOS 设置配置为“enhanced”或“native”模式。“Legacy”或“combined”模式 SATA 也被支持,但我们不鼓励您使用。
注意:不是所有的 BIOS 实现提供改变这些设置的能力。
*
内核中没有添加任何提供 IPv6 能力的新支持。这和上层的基于2.6的实现(2.6.0-test3)是一致的。
注意,Red Hat在本次发行的Red Hat Enterprise Linux 中将不会实现额外的 IPv6 功能(如可移 IP 的标准草案)。我们的目标是只集中解决现存功能中的错误。
*
EA(扩展属性)和 ACL(访问控制列表)现已在 ext3 中可用。此外,NFS 中还可以使用 ACL 功能。
Red Hat Enterprise Linux 3 包含为 ext3 文件系统提供 EA 和 ACL 支持的内核。NFS 中还新增了协议扩展来支持 NFS 导出的文件系统上的和 ACL 相关的操作。
要启用本地挂载的文件系统上的 ACL,该文件系统必须使用 -o acl 挂载选项来挂载。按照默认设置,如果底层的文件系统支持 ACL,NFS 服务器就会使用它们。要禁用这项功能,您必须指定 no_acl 导出选项。
从本质上讲,EA 只用于 ACL 支持。为了要分开使用 EA,文件系统必须使用 -o user_xattr 挂载选项被挂载。
对它的支持分散在几个软件包中:
· kernel — 提供在磁盘上为 ext3 文件系统贮存 EA 和 ACL 的支持,以及操作 EA 和 ACL 的系统调用。内核软件包终于提供了强化文件访问上的 ACL 的机制。
· e2fsprogs — 包括了对新添的在磁盘上的扩展属性格式的知识,因此 fsck 能够使用新特性来检查文件系统。
· attr, libattr — 提供对文件附属的扩展属性的访问。
· acl, libacl — 提供设置、修改、和查询文件上 ACL 设置的工具。
· libattr-devel, libacl-devel — 使用 acl 和 attr 库来建构文件所需的库和包含文件。
· star — 一种归档工具。它可以创建和拆开 tar 和 pax 格式的归档,它还可以备份并恢复 EA 和 ACL。
备注:可用于 star 的选项和可用于 tar 的选项不完全等同。因此,请确定复习一下 star 的说明书页。
· samba — 在本次发行版本中,Samba 能够导出 ACL 功能。关于如何在您的配置中启用这项功能的信息,请参阅 samba 的文档。
除此之外,coreutils 软件包已被更新。因此 cp 和 mv 命令将会复制文件附属的 ACL 和 EA。
关于设置和读取 ACL 的更多信息,请参阅 setfacl 和 getfacl 的说明书(man)页。关于 ACL 的常规信息可以在 acl 的说明书(man)页找到。
注意:普通的 tar 和 dump 命令不能备份 ACL 和 EA。
与较老系统的兼容性:
没有设置 ACL 或 EA 的任何 ext3 文件系统在较老的内核上将与从前的运行方式相同,并可以使用较老的 e2fsprogs 工具来检查。
一旦某个给定文件系统上的任何文件被设置了 EA 或 ACL,那个文件系统将会得到 ext_attr 属性。使用以下命令,您就可以看到该属性:
tune2fs -l <filesystemdevice>
已得到 ext_attr 属性的文件系统可以使用老内核来挂载,但是很明显,那些内核将不会强制对已被设置的 ACL 的使用。
注意:文件系统检查程序 e2fsck 的较老版本将会拒绝检查带有 ext_attr 属性的文件系统。这和 e2fsprogs 软件包1.22之前的版本相应。
*
Red Hat Enterprise Linux 3 内核现在包括对在 TCP 上使用 NFS 的支持。要在 TCP 上使用 NFS,您必须在客户系统上挂载 NFS 导出的文件系统时使用的 mount 命令上包括 -o tcp 选项。
备注:NFS 的默认传输协议仍是 UDP。使用带 -o tcp 选项的 mount 命令来挂载使用 TCP 来导出的 NFS 文件系统;否则将会默认使用 UDP。
*
在这个内核中添加了以下命令来扫描所有连接了的 SCSI 主机适配器上的新设备:
echo "scsi scan-new-devices" > /proc/scsi/scsi
目前这是一项非标准的增加项目。由于Red Hat在这一方面跟踪官方版的 Linux 内核,在将来的内核中可能会使用一个不同的参数来提供同样的能力,或同一参数(scan-new-devices)的语法格式会有所改变。
*
在用户模式内存锁定的权限语义方面的改变
Red Hat Enterprise Linux 3 现在允许非根进程在它们的 RLIMIT_MEMLOCK 资源限度内使用用户模式的内存锁定系统调用。默认的限度是每个进程一个物理页。该限度可以被系统管理员在每个用户id、每个组群id、或系统全局基础上通过 /etc/security/limits.conf 文件重新分派。根进程不再被这个资源限度所限制。
被这种语义改变所影响的系统调用是:mlock(2)、munlock(2)、mlockall(2)、munlockall(2)、和 shmctl(2)。
( x86 ) |
|