Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第 25 章 编译器和工具

PCRE 库现在可以正确地识别 Unicode 所需的非 ASCII 字符

当使用 Perl Compatible Regular Expressions(PCRE)库与非 ASCII 字符串匹配时,程序库无法正确识别可打印的非 ASCII 字符。现在,应用了补丁程序,PCRE 库可以在 UTF-8 模式中识别可打印的非 ASCII 字符。(BZ#1400267)

使用 Bundler 管理依赖项的应用程序现在可以正确加载 JSON

在以前的版本中,当使用 Bundler 管理 Ruby 应用程序依赖项时,有时无法加载 JSON 库。因此,应用程序会失败并显示 LoadError。这会导致问题特别重要,因为 Ruby on Rails 不再明确指定对 JSON 库的依赖项。在这个版本中,加载路径中始终可以使用 JSON,上面描述的问题不再发生。(BZ#1308992)

Git 现在可用于 HTTP 或 HTTPS 和 SSO

libcurl 版本 7.21.7 开始,因为 CVE-2011-2192 需要用于委派 Kerberos 票据的新参数。在以前的版本中,Git 不提供设置这样的参数的方法。因此,在 HTTP 或 HTTPS 连接中使用带有 Single Sign-On 的 Git 会失败。在这个版本中,Git 提供了一个新的 http.delegation 配置变量,它对应于 cURL --delegation 参数。用户需要在委派 Kerberos 票据时设置此参数。(BZ#1369173)

Rescan-scsi-bus.sh --luns=1 现在仅扫描以 1 为数字的 LUN

sg3_utils 软件包包含向设备发送 SCSI 命令的工具。在版本 1.28-5 和所有之前版本的 sg3_utils 中,重新scan -scsi-bus.sh --luns=1 命令只扫描逻辑单元号(LUN),用 1 表示。更新至 1.28-6 版本后,重新scan -scsi-bus.sh --luns=1 会错误地重新扫描所有 LUN。在这个版本中,底层源代码已被修复,重新scan -scsi-bus.sh --luns=1 现在仅扫描以 1 为数字的 LUN。(BZ#1380744)

ps 不再从等待频道名称中删除前缀

ps 实用程序之前从等待频道(WCHAN)数据中删除 sys_do_ 前缀。这可以防止用户通过在 ps 输出中有意包含这些前缀的名称区分函数。删除前缀的代码已被删除,ps 现在会显示完整的 wait 频道名称。(BZ#1373246)

.history 文件位于网络文件系统中时,tcsh 不再变得无响应

在以前的版本中,如果 .history 文件位于网络文件系统中,如 NFS 或 Samba,则 tcsh 命令语言解释器有时会在登录过程中变得无响应。已应用补丁来避免 .history 文件锁定(如果 .history )位于网络文件系统中,而 tcsh 在上述情形中不再变得无响应。
请注意,运行多个 tcsh 实例可能会导致 .history 损坏。要解决这个问题,请通过在 savehist 选项中添加 lock 参数来启用显式文件锁定机制。例如:
$ cat /etc/csh.cshrc
# csh configuration for all shell invocations.
set savehist = (1024 merge lock)
lock 选项必须是 savehist 选项的第三个参数,以便在 .history 位于网络文件系统时强制使用文件锁定。红帽不保证使用 lock 参数阻止 tcsh 在登录过程中变得无响应。(BZ#1388426)

fcoeadm --target 不再会导致 fcoeadm 崩溃

在以前的版本中,执行 fcoeadm --target 命令有时会导致 fcoeadm 实用程序意外终止分段错误。在这个版本中,Fcoeadm 已被修改来忽略非FCoE 目标的 sysfs 路径,fcoe adm --target 不再会导致 fcoeadm 崩溃。(BZ#1384707)

tar 选项 --directory 不再被忽略

在以前的版本中,当与 --remove-files 选项结合使用时,tar 命令的 --directory 选项会被忽略。因此,当前工作目录中的文件已被删除,而不是 --directory 选项指定的目录中的文件。为修复这个程序错误,添加了对 --directory 选项的检索、存储和操作的新函数和属性。现在,文件可以从 --directory 选项指定的目录中正确删除。(BZ#1319820)

tar 选项 --xattrs-exclude--xattrs-include 不再忽略

在以前的版本中,tar 命令会忽略 --xattrs-exclude--xattrs-include 选项。要修复这个程序错误,对 tar 进行修改,以便在获取扩展属性时应用包含和排除掩码。因此,--xattrs-exclude--xattrs-include 选项不再被忽略。(BZ#1341786)

tar 现在可以正确地恢复增量备份

在以前的版本中,tar 命令无法正确恢复增量备份。因此,在恢复时不会删除增量备份中删除的文件。这个程序错误已被解决,tar 现在可以正确地 恢复增量备份。(BZ#1184697)

perl-homedir 配置集脚本现在支持 csh

在以前的版本中,perl-homedir 配置集脚本无法处理 C shell (csh)语法。因此,当安装 perl-homedir 软件包且 /etc/sysconfig/perl-homedir 文件包含 PERL_HOMEDIR=0 行时,执行配置集脚本会导致以下错误:
PERL_HOMEDIR=0: Command not found.
这个版本添加了对 csh 语法的支持,上面描述的问题不再发生。(BZ#1122993)

getaddrinfo 不再访问未初始的数据

在启用了 nscd 守护进程的系统中,glibc 库中的 getaddrinfo() 函数可以访问未初始化的数据,因此可能会返回假地址信息。这个版本可防止未初始化的数据访问并确保返回正确的地址。(BZ#1324568)

glibc中的 malloc 实现 中的其他安全检查

在以前的版本中,因为 glibc 库在没有断言的情况下编译,所以使用 malloc 的功能不会检查堆一致性。这增加了利用基于堆的缓冲区溢出的风险。堆一致性检查已从断言转换为显式检查。因此,glibc 中对 malloc 实现 的调用 安全现在已被增加。(BZ#1326739)

chrpath rebase 到版本 0.16

chrpath 软件包升级至上游版本 0.16,它修复了几个程序错误。值得注意的是,chrpath 工具只能在 64 位系统中修改 64 位二进制的 run path 属性,并在 32 位系统中修改 32 位二进制文件。这个程序错误已被解决,现在 64 位系统中的 chrpath 可以修改 32 位系统的二进制代码,并在 64 位系统中修改 32 位系统的二进制代码。(BZ#1271380)

更新了 system-config-language 软件包的翻译

要解决 system-config-language 缺少翻译,添加了以下 10 种语言:de、es、fr、ja、ko、pt_BR、ru、zh_CN、zh_TW。(BZ#1304223)

当主机名缺少域部分时,Mutt 不再发送带有不完整的 From 标头的电子邮件

在以前的版本中,当主机名不包含域名时,Mutt 电子邮件客户端发送了一个带有 From 标头(缺少主机名)的电子邮件。因此,无法回复这样的电子邮件。这个程序错误已被解决,Mutt 现在可以正确地处理不包含域部分的主机名。(BZ#1388512)

strace 正确显示 O_TMPFILE 标志和 open() 函数的模式

在以前的版本中,strace 实用程序无法识别是否存在 system 功能 open()O_TMPFILE 标志,以及存在 mode 选项的要求。因此,strace 输出不会显示相应标志的名称,且缺少 mode 选项值。strace 实用程序已扩展以识别此情况。因此,O_TMPFILE 标志和模式会被正确显示。(BZ#1377847)

当链接大型程序时,ld 不再进入无限循环

在 IBM Power 系统架构的大型程序中,.text 片段由两个 stub 部分提供服务。在以前的版本中,在调整此类片段时,d linker 大小终止条件永远不会满足,因为其中一个部分始终需要增长。因此,如果输入 无限循环,必须被终止。ld 已扩展,可识别此情况并更改大小终止条件。因此,ld 会正确 终止。(BZ#1406498)

跨对象引用隐藏符号的 金级 警告信息

当链接共享库时,金级 linker 会产生一个警告信息,其中单个库中的代码引用第二个库或对象文件中的隐藏符号。在以前的版本中,即使另一个库或对象文件提供了同一符号的可见定义,这个警告信息也会生成这个警告信息。要修复这个程序错误,带有检查了这个特定情况的 金级 扩展,只有在符号没有可见定义时才会生成警告消息。因此,金级 不再显示错误的警告信息。(BZ#1326710)

OProfile 默认事件在 Intel Xeon® C3xxx Processors 中修复 Denverton SOC。

在以前的版本中,不正确的值用于带有 Denverton SOC 的 Intel Xeon® C3xxx Processors 的 OProfile 的默认周期计数事件。因此,O Profile 抽样并使用默认事件计数无法正常工作。修正了相关的 OProfile 设置。现在,默认事件可用于带有 Denverton SOC 的 Intel Xeon® C3xxx Processors。(BZ#1380809)