- 论坛徽章:
- 0
|
刚看到的一遍文章,对我这个新人来说没多大用途!!希望对各位有点点用途!!
红帽企业 Linux AS 4 发行注记
Copyright © 2005 Red Hat, Inc.
--------------------------------------------------------------------------------
介绍
本文档中涉及了与 红帽企业 Linux 4 相关的以下课题:
介绍(此节)
此发行版本简介
与安装相关的备注
特定软件包备注
新添加/不再包括/已过时的软件包
此发行版本简介
以下简要介绍了 红帽企业 Linux 4 的主要功能
红帽企业 Linux 4 包括了一个 SELinux 的实现。SELinux 代表了用户,程序以及进程间相互交流的主要变化。在这个发行版本中,SELinux 被默认安装并被开启使用。
备注
在安装的过程中,您可以选择禁用 SELinux,或是设置它只记录警告信息,或是使用它的只在以下守护进程中有效的目标化策略:
dhcpd
httpd
mysqld
named
nscd
ntpd
portmap
postgres
snmpd
squid
syslogd
目标化策略在默认的情况下被启用。
警告
红帽企业 Linux 4 使用在 ext2/ext3 文件系统上的扩展属性来支持 SELinux。这就意味着,当一个文件被写到默认挂载的 ext2/ext3 文件系统中时,一个扩展的属性也会被写入。
当系统有 红帽企业 Linux 4 和 红帽企业 Linux 2.1 双重启动的时候,这就可能会产生一些问题。红帽企业 Linux 2.1 内核不支持文件的扩展属性,当它遇到文件的扩展属性时,系统可能会崩溃。
想要了解关于 SELinux 的更多信息,请参阅 Red Hat SELinux Policy Guide。Red Hat SELinux Policy Guide 可以在这里找到:
http://www.redhat.com/docs/
在 NFS 挂载时,mount 命令已被改变:
· TCP 是 NFS 挂载时的默认传输协议。这就意味着 mount 命令不再使用 UDP (例如,mount foo:/bar /mnt),而是使用 TCP 来与服务器进行通信。
· 使用 verbose (-v) 选项使 RPC 的错误信息写到标准的输出上。
在默认的情况下,红帽企业 Linux 4 支持 UTF-8 编码的中文,日文和韩文。
在默认的情况下,红帽企业 Linux 4 使用 IIIMF 输入中文,日文和韩文。
红帽企业 Linux 4 提供了五种印度语的支持:班加罗而语,古吉拉特语,印地语,旁遮普语和泰米尔语。此外,它还包括了为所支持的语言提供的高质量的 Lohit 字库。
Subversion 1.1 现在被包括在 红帽企业 Linux 中,Subversion 版本控制系统是被用来替代 CVS 的。它提供了 atomic commits,文件,目录和元数据 (metadata) 的版本控制等新功能以及 CVS 所提供的大部分功能。
红帽企业 Linux 3 包括 Native POSIX Thread Library (NPTL),它是 Linux 的 POSIX 线程的新实现。与以前使用的 LinuxThreads 实现相比较,它大大提高了性能并增加了可缩放性。
虽然多数的线程应用程序不会受到 NPTL 的影响,但是那些倚赖 LinuxThreads 语意 (semantics) 而不是 POSIX 技术规范的应用程序可能不会正常运行。因此 Red Hat 推荐您把这些程序升级使它们遵循 POSIX 的技术规范(从而可以使用 NPTL)。
虽然 红帽企业 Linux 4 仍然提供对 LinuxThreads 的支持,但是 红帽企业 Linux 5 将不再包括对 LinuxThreads 的支持。因此,那些需要 LinuxThreads 支持的应用程序应该被升级,从而可以使它们在将来的 红帽企业 Linux 5 系统上运行。
备注
一些方法可以使需要使用 LinuxThreads 的应用程序仍然可以在 红帽企业 Linux 3 和 4 上运行。这些方法包括:
使用 LD_ASSUME_KERNEL 环境变量来在运行时选择 LinuxThreads 而不是选择 NPTL
在运行时,使用一个指向 /lib/i686/ 或 /lib/的 rpath 来选择 LinuxThreads 而不是选择 NPTL。
使用静态方法来链接应用程序,使它使用 LinuxThreads 来代替 NPTL(不建议这么使用)
为了决定一个应用程序是使用 NPTL 还是使用 LinuxThreads,在应用程序的环境中加入如下两个环境变量:
LD_DEBUG=libs
LD_DEBUG_OUTPUT=<filename>
(这里的 <filename> 是提供给每个纠错输出记录文件的名字。如果一个程序产生了多个进程,多个文件就可能被产生;所有的纠错输出记录文件名都包括产生这个文件的进程的进程 ID (PID))
然后启动这个程序,和通常的情况下一样使用它。
如果没有纠错输出记录文件被产生,这个应用程序就被静态地链接。这个应用程序将不会受到丢失的 LinuxThreads DSO 的影响。但是,象所有静态链接的程序一样,它们不能保证程序在动态加载任何代码的时候(直接通过 dlopen() 或间接通过 NSS)都可以正常工作。
如果一个或多个纠错输出记录文件被产生,检查每一个 libpthread 相关的文件 — 特别是包括 "calling init" 的行。grep 可以帮助来做这项工作:
grep "calling init.*libpthread" <filename>.*
(这里的 <filename> 是在 LD_DEBUG_OUTPUT 环境变量中使用的名字。)
如果 libpthread 前面的路径是 /lib/tls/,这个应用程序使用 NPTL,并且不需做任何事情。其它任何的路径都说明 LinuxThreads 在被使用,这个应用程序必须被升级并重新构建来支持 NPTL。
与安装相关的备注
本节概述了与 Anaconda(红帽企业 Linux 安装程序)和安装 红帽企业 Linux 4 相关的问题。
如果您要复制 红帽企业 Linux 4 光盘的内容(例如为了筹备网络安装),请确定仅复制操作系统光盘。请不要复制额外光盘或任何层次产品光盘,因为这会覆盖 Anaconda 正常操作所必需的文件。
这些光盘必须在安装了红帽企业 Linux 之后才被安装。
在安装 红帽企业 Linux 4 时,从包含有多个存储设备试配器的系统配置文件中区分单个存储设备是比较困难的。特别是当系统中包括光纤设备试配器的时候,因为在多数情况下,红帽企业 Linux 是安装在本地存储设备中的。
为了解决这个问题,红帽企业 Linux 4 安装程序只在所有的 SCSI 设备被加载后才加载如下的模块:
lpfc
qla2100
qla2200
qla2300
qla2322
qla6312
qla6322
这就使本地连接的 SCSI 设备的名字是从 /dev/sda, /dev/sdb 开始的。使用光纤的存储设备的名字跟在这些本地 SCSI 设备名的后面。
软件包相关的注记
以下的小节包括了那些在 红帽企业 Linux 4 中已经被大大改变的软件包的信息。为了方便查阅,它们使用的组与 Anaconda 使用的相同。
基本
本节包含了关于基本系统组件的信息。
openssh
红帽企业 Linux 4 提供了 OpenSSH 3.9。OpenSSH 3.9 包括了对 ~/.ssh/config 文件的严格的权限和所有者权限的检查。这些检查使得当这个文件没有适当的所有者权限和访问权限时, ssh 会退出。
因此,确保 ~/.ssh/config 是被 ~/ 的所有者所拥有,并且它的存储权限被设置为 600。
核心
本节涉及与 红帽企业 Linux 的基础组件(包括内核)相关的问题。
e2fsprogs
ext2online 工具被添加用来在线地扩大已存在的 ext3 文件系统。
备注
需要注意的是,ext2online 并不能扩大它所在的块设备本身 — 一定要有足够的未被使用的空间在这个设备上。最简单的方法是使用 LVM 卷并运行 lvresize 或 lvextend 来扩展这个设备。
另外,文件系统一定要在实际改变大小之前做好准备。这些准备包括,为 on-disk 分区表的增加保留一个小的空间。对于新建的文件系统, mke2fs 会自动保留这样的空间。这个保留的空间应该足够文件系统增加 1000。如下命令可以禁用建立保留空间的功能:
mke2fs -O ^resize_inode
以后的 红帽企业 Linux 发行版本会允许在存在的文件系统上建立这个预留空间。
glibc
红帽企业 Linux 4 提供的 glibc 可以执行附加的内部数据健全检查,从而在尽可能早的时候发现和保护数据被破坏。在默认的情况下,当被破坏的数据被发现时,与以下相似的错误信息会被显示在标准的错误输出上(如果 stderr 没有打开,会被记录在 syslog 中):
*** glibc detected *** double free or corruption: 0x0937d008 ***
在默认的情况下,产生这个错误的程序也会被中止。但是,这(以及是否产生错误信息)可以通过环境变量 MALLOC_CHECK_ 来控制。以下的设置是被支持的:
0 — 不产生错误信息,也不中止这个程序
1 — 产生错误信息,但是不中止这个程序
2 — 不产生错误信息,但是中止这个程序
3 — 产生错误信息,并中止这个程序
备注
如果 MALLOC_CHECK_ 被设置为除 0 以外的值,这会使 glibc 进行更多的检查并可能影响到系统的性能。
如果您的由第三方 ISV 提供的程序会引发这些数据破坏检查并显示错误信息,您应该向这个程序的提供者提交一个错误报告,因为它代表了一个严重的错误。
内核
本节涉及与红帽企业 Linux 4 内核相关的问题。
虽然 红帽企业 Linux 4 包括对 rawio 的支持,但它已是一个过时的接口。如果您的应用程序使用这种接口,Red Hat 建议您改变您的应用程序,使它们通过 O_DIRECT 标志来打开块设备。rawio 接口会在当前的 红帽企业 Linux 4 中存在,但是它有可能会不再被包括在以后的发行版本中。
文件系统的异步 I/O(AIO)当前只支持 O_DIRECT 或是非缓冲的模式。另外,异步拉 (asynchronous poll) 接口已不再出现,管道 (pipes) AIO 也不再被支持。
现在的声音子系统是基于 ALSA 的,OSS 模块已不再有效。
当系统环境使用内核的 "hugepage" 功能时,一件事情应该被注意,控制这个功能的 /proc/ 名称在 红帽企业 Linux 3 和 红帽企业 Linux 4 中是不同的。
红帽企业 Linux 3 使用 /proc/sys/vm/hugetlb_pool,设定的大小是以兆字节 (megabyte) 为单位的。
红帽企业 Linux 4 使用 /proc/sys/vm/nr_hugepages,设定的大小是以页 (page) 的数量为单位的。(请参阅 /proc/meminfo)
虽然 红帽企业 Linux 4 的初始发行版本不支持 USB 硬盘设备,但是其它的 USB 存储设备(如闪存介质,CD-ROM 和 DVD-ROM 设备)当前被支持。
红帽企业 Linux 4 所带的内核包括了由 LSI Logic 提供的 megaraid_mbox 驱动。这个驱动是替代 megaraid 驱动的。megaraid_mbox 驱动有一个设计方面的改进,它与 2.6 内核相兼容并包括对最新硬件的支持。但是,megaraid_mbox 不支持一些被 megaraid 驱动支持的老的硬件设备。
megaraid_mbox 驱动不支持具有以下 PCI 厂商 ID 和 设备 ID 的试配器:
vendor, device
0x101E, 0x9010
0x101E, 0x9060
0x8086, 0x1960
lspci -n 命令可以被用来显示一台特定机器上所安装的试配器 ID。具有这些 ID 的产品型号名是(但并不只限于这些型号):
Dell PERC (dual-channel fast/wide SCSI) RAID 控制器
Dell PERC2/SC (single-channel Ultra SCSI) RAID 控制器
Dell PERC2/DC (dual-channel Ultra SCSI) RAID 控制器
Dell CERC (four-channel ATA/100) RAID 控制器
MegaRAID 428
MegaRAID 466
MegaRAID Express 500
HP NetRAID 3Si 和 1M
Dell 和 LSI Logic 已经声明他们不再在 2.6 内核中支持这些设备。因此,红帽企业 Linux 4 不提供对这些试配器的支持。
红帽企业 Linux 4 的初始发行版本不包括对 iSCSI 软件 initiator 或 target 的支持。对 iSCSI 的支持正处于测试阶段,测试的结果将决定对 iSCSI 的支持是否会被包括在以后的 红帽企业 Linux 4 升级产品中。
Emulex LightPulse 光纤通道驱动器 (lpfc) 正在被测试是否可能被包括在 Linux 2.6 内核中。它被包括在 红帽企业 Linux 4 中用于测试的目的。这个驱动程序很可能被修改。如果这个驱动程序有问题,或是它将不再包括在 Linux 2.6 内核中,最终的 红帽企业 Linux 发行版本可能将不提供这个驱动程序。
lpfc 驱动程序有如下的已知错误:
当短期的 cable pull, 交换机重启或是设备消失的时候,驱动程序不会隔离系统。因此,系统可能会过早地认为一个设备已不存在而把它离线。在这种情况下,手工地重新激活这个设备从而使系统可以使用它是需要的。
当这个驱动程序被 insmod 插入时,如果按 Ctrl-C 可能会导致错误。
在 insmod 仍在运行时运行 rmmod 可能会导致错误。
为了使 SCSI 子系统可以检测到这个新设备,它的插入需要被手工地搜索。
过去,升级内核的过程不会改变系统的启动装载配置中的默认内核。
红帽企业 Linux 4 改变了这种情况。它把最新安装的内核设置为默认的内核。这种情况在所有的安装方法中都有效(包括 rpm -i)
这个行为被 /etc/sysconfig/kernel 文件中的两行所控制:
UPGRADEDEFAULT — 控制新内核是否在默认的情况下被启动 (默认值: yes)
DEFAULTKERNEL — 名为这个值的内核 PRM 将在默认的情况下启动(默认值:取决于硬件的配置)
当内核源码已经存在在内核的 .src.rpm 文件中时,为内核源码提供一个独立的软件包就变得没有必要。因此,红帽企业 Linux 4 不再包括 kernel-source 软件包。需要这些内核源码的用户可以在 kernel .src.rpm 文件中找到。通过这个文件建立一个快速扩展的资源树,执行以下的步骤 (注意 <version> 是指您当前正在使用的内核版本)
从以下资源中的一个获取 kernel-<version>.src.rpm 文件:
适当的 "SRPMS" 光盘 iso 映像的 SRPMS 目录
您得到内核软件包的 FTP 站点
通过运行以下命令:
up2date --get-source kernel
安装 kernel-<version>.src.rpm (提供默认的 RPM 配置,这个软件包包括的文件将被写到 /usr/src/redhat/)
改变目录到 /usr/src/redhat/SPECS/,运行以下命令:
rpmbuild -bp --target=<arch> kernel.spec
(这里的 <arch> 是所要被安装的机器的体系)
在默认的 RPM 配置中,内核树会位于 /usr/src/redhat/BUILD/。
在结果树中,红帽企业 Linux 4 所带内核的配置信息在 /configs/ 目录中。例如:i686 SMP 配置文件的名字为 /configs/kernel-<version>-i686-smp.config。使用以下命令来把适当的配置文件放置到适当的目录中:
cp <desired-file> ./.config
运行以下命令:
make oldconfig
您可以恢复到通常的情况。
备注
一个快速扩展的资源树不需要重新构建内核模块。
例如,创建 foo.ko 模块,在包含 foo.c 文件的目录中建立名为 Makefile 的文件:
obj-m := foo.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
运行 make 命令来构建 foo.ko 模块。
sysklogd
在默认的 SELinux 安全配置中,这个守护进程是被 targeted 策略所规定的。它通过设定这个守护进程所需使用的系统目标的访问权限来提高系统的安全性。但是,这可能导致您以前可以运行的配置不再能够正常地工作。您必须对 SELinux 有足够的了解,从而达到可以使您的系统正常运行,又可以提高您系统安全性的目的。
如需了解更多关于 SELinux 策略的信息,请参阅 http://www.redhat.com/docs 上的 Red Hat SELinux Policy Guide 文档。
DNS 名称服务器
本节包含关于 DNS 名称服务器的信息。
bind
在默认的 SELinux 安全配置中,这个守护进程是被 targeted 策略所规定的。它通过设定这个守护进程所需使用的系统目标的访问权限来提高系统的安全性。但是,这可能导致您以前可以运行的配置不再能够正常地工作。您必须对 SELinux 有足够的了解,从而达到可以使您的系统正常运行,又可以提高您系统安全性的目的。
如需了解更多关于 SELinux 策略的信息,请参阅 http://www.redhat.com/docs 上的 Red Hat SELinux Policy Guide 文档。
图形化互联网
这节包括了帮助您浏览互联网的软件包,包括图形化的电子邮件,万维网浏览器和聊天室。
evolution
红帽企业 Linux 4 提供了一个升级的图形化的 Evolution 电子邮件客户端程序。这个新版本增加了一些新功能,包括:
新版的 Evolution 包括了一个具有学习功能的垃圾邮件过滤器。这个过滤器可以更有效地区分垃圾邮件和非垃圾邮件。当您收到垃圾邮件,点击 Junk 按钮。定期查看您的垃圾邮件目录,检查其中是否有被错误地当成垃圾邮件的非垃圾邮件。如果有,把它们标记为 Not Junk。通过这些行动,垃圾邮件过滤器就会逐渐变得非常的有效。
Evolution Connector 可以使您与 Microsoft Exchange 2000 和 2003 服务器连接。
用户界面已被大大改进,每一种操作(电子邮件,日历,任务和联系人)都被分开处理,改变了以前以服务器为中心的形式。
Evolution 提供了增强的加密和数字签名的功能,包括使用 S/MIME。
Evolution 通过把它的设置文件名从 ~/evolution/ 改为 ~/.evolution/,达到对最终用户隐藏这个文件的目的。
图形
这节包括了帮助你处理和扫描图像的软件包。
gimp
因为 GIMP 已经被升级到 2.0,Perl bindings 已不再是主软件包的一部分, gimp-perl 不再被包括在 红帽企业 Linux 4 中。
在 GIMP 中使用 Perl 脚本的用户应该从 http://www.gimp.org/downloads/ 上得到 Gimp Perl 模块并安装。
语言支持
本节包含关于 红帽企业 Linux 对多语言支持的信息:
对中文,日文和韩文的 UTF-8 支持
当系统从 红帽企业 Linux 3 升级到 红帽企业 Linux 4 时,系统的本地化设置被保留了。因为在默认的情况下,红帽企业 Linux 4 支持中文,日文和韩文的 UTF-8 码,Red Hat 建议您通过编辑如下的文件来使用 UTF-8 码:
/etc/sysconfig/i18n
通过以下的改变来修改系统的本地化设置:
ja_JP.eucJP 变为 ja_JP.UTF-8
ko_KR.eucKR 变为 ko_KR.UTF-8
zh_CN.GB18030 变为 zh_CN.UTF-8
zh_TW.Big5 变为 zh_TW.UTF-8
使用在 ~/.i18n 中的本地化设置的用户应该在默认的情况下升级到使用 UTF-8 码。
iconv 工具可以被用来把使用原始编码(例如 eucJP, eucKR, Big5, or GB18030)的文件转换成为UTF-8 编码:
iconv -f <native encoding> -t UTF-8 <filename> -o <newfilename>
如需更多信息,请查看 iconv 说明书页 (man page)。
IIIMF
默认的中文(简体和繁体),日文和韩文的输入法已经被改为 IIIMF — Internet/Intranet Input Method Framework。 IIIMF 还被默认用来输入印度语。GTK2 IM 模块支持 IIIMF,XIM 通过使用 httx 客户也支持 IIIMF。IIIMF 支持同时使用多个语言引擎(language Engines - LEs),通过使用 GNOME Input Method Language Engine Tool (GIMLET — 一个小程序插件),可以在GTK2 的应用程序中切换不同的语言引擎。
IIIMF 在默认的情况下,通过使用 Ctrl-Space 或 Shift-Space 来激活/关闭该输入法(Emacs 用户使用 Ctrl-@ 代替 Ctrl-Space)
根据您在安装时所选择的语言,一个或多个 IIIMF 语言引擎会被安装。
印度语 — iiimf-le-unit
日语 — iiimf-le-canna
韩语 — iiimf-le-hangul
简体中文 — iiimf-le-chinput
繁体中文 — iiimf-le-xcin
对于这些语言,IIIMF 在默认的情况下被安装并被启动。
当 GNOME 桌面被安装,并且默认的语言是以上提到的语言之一,新用户的 GNOME 面板中会被自动加入 GIMLET 程序插件(iiimf-gnome-im-switcher 软件包的一部分)。
GIMLET 是一个安装在系统上的用于切换不同语言引擎的小程序插件。使用不同的语言引擎可以使您输入不同的语言。通过右击 GNOME 面板,选择 Add to panel...,再选择 InputMethod Switcher 程序插件,可以手工地把 GIMLET 添加到您的 GNOME 面板上。
如果您已经安装了一些老的 XIM 输入法,Anaconda 会自动地安装相应的语言引擎:
ami 导致 iiimf-le-hangul 被安装
kinput2 导致 iiimf-le-canna 被安装
miniChinput 导致 iiimf-le-chinput 被安装
xcin 导致 iiimf-le-xcin 被安装
对于那些不是总需要使用 IIIMF 的用户,一个对通常的输入不产生影响的叫做 "Latin default" 的语言引擎被提供。它可以被临时用来禁用其它语言引擎。
以下描述了每个不同的语言引擎的特殊键组合。
iiimf-le-canna — Home (显示 菜单,包括对 Canna 的应用程序)
iiimf-le-unit — F5 (切换 不同的语言), F6 (切换不同的输入风格)
iiimf-le-xcin — Ctrl-Shift (切换不同的输入风格), Shift-punctuation (输入全角标点), Cursor keys (在打开的窗口中改变页)
iiimf-le-chinput — Ctrl-Shift (切换不同的输入风格), < 或 > (在打开的窗口中改变页)
iiimf-le-hangul — F9 (把 Hangul 转换成中文字符)
输入法设置
使用 system-switch-im 应用程序可以在 IIIMF 和老的 XIM 输入法间切换。还有一个命令行工具 im-switch 用来改变用户和系统的设置。
红帽企业 Linux 4 还使用 /etc/X11/xinit/xinput.d/ 和 ~/.xinput.d/ 来为不同语言的用户设置输入法。那些使用在默认的情况下(例如,en_US.UTF-8)不被使用的输入法的用户,如果需要输入亚洲字符,应该在 shell 的中输入以下命令:
mkdir -p ~/.xinput.d/
ln -s /etc/X11/xinit/xinput.d/iiimf ~/.xinput.d/en_US
这将覆盖系统的默认设置并使用 IIIMF 来做为美国英语的输入法。对于其它语言的用户,使用适当的语言名称来代替这里的 en_US。
从 红帽企业 Linux 3 升级的用户应该注意到,/etc/sysconfig/i18n 和 ~/.i18n 不再被用于输入法的设置。任何用户定制的配置需要被移到相关的 /etc/X11/xinit/xinput.d/ 或 ~/.xinput.d/.
当您再次启动一个 X 窗口系统时,您对输入法设置的改变就会生效。
邮件服务器
本节包含关于 红帽企业 Linux 提供的邮件传输代理的信息。
mailman
较早的 mailman RPMs 在 /var/mailman/ 的目录下安装所有的文件。不幸的是,这与 Filesystem Hierarchy Standard (FHS) 不一致,而且在 SELinux 启动时会破坏安全性。
如果您在以前安装了 mailman 并编辑了 /var/mailman/中的文件(如mm_cfg.py),您必须按照如下的方法把这些改变存到新的位置:
/usr/share/doc/mailman-*/INSTALL.REDHAT
sendmail
默认情况下,Sendmail 邮件传输代理(MTA)不接受来自本地计算机以外的主机的网络连接。如果您想把 Sendmail 配置成其它客户的服务器,请编辑 /etc/mail/sendmail.mc,并把 DAEMON_OPTIONS 行改变成监听网络设备(或者使用 dnl 来注释掉该选项)。然后您必须运行下面的命令(以根身份)来重新生成 /etc/mail/sendmail.cf:
make -C /etc/mail
注意,您必须安装了 sendmail-cf 软件包才能使上面的命令奏效。
备注
请注意,不正确的 Sendmail 配置可能会被当做开放的 SMTP 转发服务器使用。关于详细的信息,请参阅 红帽企业 Linux Reference Guide。 |
|