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 现在可以正确地恢复增量备份
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)