head 1.2;
access;
symbols
RELENG_9_1_0_RELEASE:1.1.4.4
RELENG_8:1.1.0.6
RELENG_9_1:1.1.0.4
RELENG_9:1.1.0.2;
locks; strict;
comment @# @;
1.2
date 2012.11.17.01.50.16; author svnexp; state Exp;
branches;
next 1.1;
1.1
date 2012.10.01.11.26.49; author gabor; state Exp;
branches
1.1.2.1
1.1.4.1
1.1.6.1;
next ;
1.1.2.1
date 2012.10.02.06.37.46; author gabor; state dead;
branches;
next 1.1.2.2;
1.1.2.2
date 2012.10.02.06.37.46; author gabor; state Exp;
branches;
next 1.1.2.3;
1.1.2.3
date 2012.11.17.11.36.30; author svnexp; state Exp;
branches;
next ;
1.1.4.1
date 2012.10.11.15.49.42; author gabor; state dead;
branches;
next 1.1.4.2;
1.1.4.2
date 2012.10.11.15.49.42; author gabor; state Exp;
branches;
next 1.1.4.3;
1.1.4.3
date 2012.11.17.08.47.19; author svnexp; state Exp;
branches;
next 1.1.4.4;
1.1.4.4
date 2012.11.30.16.19.19; author svnexp; state dead;
branches;
next ;
1.1.6.1
date 2012.10.19.03.01.25; author gjb; state dead;
branches;
next 1.1.6.2;
1.1.6.2
date 2012.10.19.03.01.25; author gjb; state Exp;
branches;
next 1.1.6.3;
1.1.6.3
date 2012.11.17.10.36.14; author svnexp; state Exp;
branches;
next ;
desc
@@
1.2
log
@Switching exporter and resync
@
text
@
%entities;
%release;
]>
&os; &release.current; 发行说明
The &os; Project
$FreeBSD: head/release/doc/zh_CN.GB2312/relnotes/article.xml 241096 2012-10-01 11:26:49Z gabor $
2000
2001
2002
2003
2004
2005
2006
2007
2008
The &os; Documentation Project
&tm-attrib.freebsd;
&tm-attrib.ibm;
&tm-attrib.ieee;
&tm-attrib.intel;
&tm-attrib.sparc;
&tm-attrib.general;
这份 &os; &release.current; 的发行说明, 概括了 &os; 基本系统在
&release.branch; 开发线上所做的改动。
本文档列举了自前一发行版本以来所有适用的安全公告, 以及对于
&os; 内核以及系统附带的应用程序所做的重要修改。
对在升级时需要注意的一些问题, 也进行了简略的介绍。
简介
这篇文档包括了 &os;
&release.current; 的发行说明。 它描述了最近刚刚加入、
修改或删除了的 &os; 特性的说明。 同时,
它也将给出如何从先前的 &os; 版本完成升级的说明。
这篇文档所介绍的 &release.type; 软件包,
介绍了 &release.branch; 开发分支自 &release.branch;
创建以来的进展。 关于这一分支上预编译的、 二进制版本的
&release.type; 软件包, 可以在
找到。
]]>
这份说明所说的 &release.type; 版本,
是在 &release.branch; 开发分支上 &release.prev; 到未来的 &release.next;
上的一点。 这一开发分支上预编译的二进制形式的 &release.type;
安装包, 可以在 找到。
]]>
这是一份 &os; &release.current; 的
&release.type; 发布包。 您可以从 或其他镜像那里得到它的副本。
关于这个 (或其他) &release.type; 发布包的更多信息,可以在
&os; 手册
中的 如何获得
&os;
附录 中找到。
]]>
我们鼓励所有的用户在开始安装 &os;
之前首先参考这一版本所对应的勘误信息。
勘误文档将随时更新,以便为用户提供在发布工程后期或该版本发布之后
新发现的
问题和相关信息。
通常,这包括已知的 bug,安全公告,以及对于文档的修订内容。
最新的 &os; &release.current; 勘误信息可以从 &os; 网站获得。
最新变动
这一节描述了
&os; 自 &release.prev; 以来最明显的新功能和变化。
一般说来, 没有注明 &merged; 的那些新特性是 &release.branch; 所独有的。
发行说明中的绝大多数条目是在说明自从
&release.prev;
以来的安全公告、新的驱动程序或硬件支持、新的命令或是选项、
重要的错误修补,以及基本系统中来自第三方的软件升级。
重要的 ports 和 packages 变动,或关于交付工程的变动也会在这份文档中体现。
显而易见地,发行说明不可能涵盖 &os; 版本之间的每一个微小变动;
这篇文档主要关注的,仍然是安全公告,用户可以察觉的修改,
以及重要的架构改良。
安全公告
对内核的改动
&man.acpi.4; 提供了对 HPET 时钟计数器的基本支持。&merged;
新增了用于将线程与 CPU 绑定, 以及对 CPU 资源进行分组和分配的
&man.cpuset.2; API。 同时还加入了用于管理处理器组的用户环境工具
&man.cpuset.1;。
为内核调试器 &man.ddb.4; 新增了输出捕捉机制。
来自 &man.ddb.4; 的输入和输出内容会自动捕捉到一个内存缓冲区,
以便在随后通过 &man.sysctl.8; 或 textdump 来读取和分析。
新增的 capture 命令可以控制这个功能。
为 &man.ddb.4; 调试器新增了简单的脚本机制支持,
使其能够支持一组经过命名的包含一系列 &man.ddb.4; 命令的脚本。
这些脚本可以在 &man.ddb.4; 中, 或通过新增的 &man.ddb.8;
来进行配置。 更多详情请参见联机手册 &man.ddb.4;。
内核新增了 textdump 格式的主存内容转存能力。
与传统主存内容转存方式不同, textdump
通过一系列机械化的生成/提取调试输出来提供高一级的信息。
这个机制即使在内核没有包含调试符号, 或源代码与内核不完全同步的情况下,
仍然能够提供简明但内容丰富的调试信息。 关于这一机制的进一步详情请参见联机手册
&man.textdump.4;。
删去了对 M:N 线程模型的内核支持。
尽管 KSE (内核调度实体) 项目成功地将线程引入了 FreeBSD, 由
kse 线程库采用的 M:N 线程模型未能发挥其全部潜能。
对于较早的以动态方式联编的使用 KSE 线程模型的应用的向前兼容性,
可以通过 &man.libmap.conf.5; 配置实现。 The &os; Project 非常感谢
&a.julian;、 &a.deischen; 和 &a.davidxu; 在 KSE 支持方面所做的工作。
&os; 内核现在能够通过 kern.features sysctl
树来查询特定的功能是否已联编或动态加载进内核了。
库函数 &man.feature.present.3; 为用户态应用程序提供了检测功能是否存在的简便接口。
&os; 内核支持超大内存页 (superpages
) 映射了。
ULE
调度器成为了 GENERIC 内核的默认进程调度器。
引导加载器变动
对引导加载器使用的 BTX 内核进行了修改,
使其在实模式下调用 BIOS 例程。 这一变动使得从 USB
设备引导 &os; 成为了可能。
新增了用于支持从 GPT
标签引导系统的 gptboot 引导加载器。 为
&man.gpt.8;, 工具新增了 boot 命令,
其作用是通过写入引导加载器, 并根据需要创建新的引导分区来让
GPT 磁盘能够引导系统。
硬件支持
新增了用于支持 Omnikey CardMan 4040
PCMCIA 智能卡阅读器的 &man.cmx.4; 驱动。
&man.syscons.4; 驱动程序支持 Colemak 键盘布局了。
从 OpenBSD 引入了用于支持基于 Silicon
Laboratories CP2101/CP2102 USB 串口适配器的 &man.uslcom.4; 驱动。
多媒体支持
网络接口支持
将 &man.em.4; 驱动程序拆分成了部分代码共用的两个驱动程序。
&man.em.4; 驱动程序继续支持高至 82575 的网络控制芯片,
以及新的客户机/桌面适配器。 新增的 igb 驱动则支持新的服务器适配器。
为 &man.jme.4; 驱动程序新增了用于支持 PCIe 接口的基于 JMicron JMC250 Gigabit
Ethernet 和 JMC260 Fast Ethernet 控制器的网络适配器支持。
新增了用以支持基于 Marvell Libertas 88W8335 的 PCI 网络适配器的
&man.malo.4; 驱动程序。
随 &man.mxge.4; 驱动程序附带的固件版本从 1.4.25 升级到了 1.4.29。
对 &man.sf.4; 驱动程序进行了全面改进,
以提升其性能并增加了对校验和减负 (checksum offloading) 的支持。
此外, 改进后的驱动能够适应各种不同的硬件架构了。
对 &man.re.4; 驱动程序进行了全面改进, 修正了一系列问题。
这一驱动新增了对局域网唤醒 (Wake On LAN, WOL)
功能的支持。
对 &man.vr.4; 驱动程序进行了全面改进, 修正了一系列历史问题。
此外, 改进后的驱动能够适应各种不同的硬件架构了。
对 &man.wpi.4; 驱动程序进行了更新,
修正了一系列可靠性问题。
网络协议
为 &man.bpf.4; 包过滤及捕捉机制新增了免复制 (zero-copy) 操作模式,
这种模式中缓冲区由用户进程租借给内核。 这一特性可以通过将 sysctl
变量 net.bpf.zerocopy_enable
的值设为 1 来启用。
由于缺少对多处理器的支持, 删去了 ISDN4BSD(I4B)、 netatm
以及与之相关的其他子系统。
修正了 TCP 选项对齐时, 采用错误的填充字节的问题。
磁盘和存储
&man.aac.4; 驱动程序支持尺寸超过
2TB 的卷了。
为 &man.ata.4; 驱动程序新增了针对磁盘的 spindown 命令;
如果磁盘在预先配置的一段时间内没有收到任何请求,
则磁盘会减缓转速, 直到收到下一个请求为止。
与此同时, &man.atacontrol.8; 工具新增了用于配置这一功能的
spindown 命令。
&man.hptrr.4; 更新到了来自 Highpoint 的 1.2
版。
文件系统
修正了在 ZFS 上使用 &man.mmap.2; 时的一个问题。
新增了内核模式的 NFS 锁管理器, 改善了 NFS 上锁的性能和行为。 新增的
&man.clear.locks.8; 命令可以用 NFS 客户端的身份来清除其持有的锁。
用户态环境变动
&man.adduser.8; 工具新增了用于指定新用户主目录的
参数。
基于 libarchive 的 BSD-授权
版本的 &man.ar.1; 和 &man.ranlib.1; 替换掉了 GNU
Binutils 版本的对应工具。
&man.chflags.1; 新增了用于指定详细输出的 选项,
以及类似于 (例如) &man.chmod.1; 对应的忽略错误语义的 选项。
为了与其他实现兼容, &man.cp.1; 新增了与
等价的 选项。
基于 libarchive 的 BSD-授权
版本的 &man.cpio.1; 替换掉了 GNU cpio。
目前 GNU cpio 仍会作为
gcpio 安装。
&man.env.1; 程序新增了通过从环境中删除来完全取消变量
name 设置而不是简单地将其设为空值的
参数。
新增了 &man.fdopendir.3; 库函数。
&man.find.1; 新增了一系列之前只在 GNU find 中有而在 &os;
&man.find.1; 中没有的语句。
&man.jexec.8; 新增了用于以主机名指定特定 jail 的 参数。
&man.kgdb.1; 新增了帮助调试内核模块崩溃转存的 add-kld
命令。
&man.ls.1; 程序新增了用于指定详细资料模式 (long
format, ) 输出中日期格式的
参数。
&man.nc.1; 新增了用于禁止 TCP 选项的 选项。
&man.ping6.8; 工具在成功发包但没有得到回应时返回 2
(这和 &man.ping.8; 的行为相同)。 此前它只是返回一个非零值。
新增了用于显示进程详细信息的 &man.procstat.1; 工具。
&man.realpath.1; 新增了用于禁止给出警告信息的
选项; 此外, 它能够接受多个路径作为命令行参数了。
&man.split.1; 新增了用于指定切分块数的
参数。
&man.tar.1; 新增了用于启用 &man.compress.1;-式
压缩/解压缩 的 选项。
&man.tar.1; 工具新增了用于在创建和解包时忽略用户/组名的
选项。
&man.tar.1; 工具新增了用以在解包时产生稀疏文件的
选项。
&man.tar.1; 工具新增了用于根据指定的正则表达式来替换文件名的
参数。
新增了用于返回进程所在会话 leader 组 ID 的库函数 &man.tcgetsid.3;。
这个函数是在 IEEE Std 1003.1-2001
(POSIX) 中定义的。
&man.top.1; 新增了用于显示各个 CPU 使用统计的 选项。
&man.traceroute.8; 新增了用于显示每跳的 自治网域 (AS)
编号的 开关; 而新增的
参数则可以选择特定的
WHOIS 服务器。
&man.traceroute6.8; 新增了与常见的 UDP 探测包不同的、
不采用上层协议的探测包进行探测的 选项。
/etc/rc.d 脚本
基本系统中的第三方软件
AMD 从 6.0.10
升级到了 6.1.5。
awk 从 2007 年 5 月 1 日版升级到了
2007 年 10 月 23 日版。
bzip2 从 1.0.4
升级到了 1.0.5。
CVS 从 1.11.17
升级到了 1.11.22 之后于 2008 年 3 月 10 日签出的快照版本。
hostapd 从 0.5.8 升级到了 0.5.10。
IPFilter 从
4.1.23 升级到了 4.1.28。
less 从
v408 升级到了 v416。
ncurses 从
5.6-20061217 升级到了 5.6-20080503。
OpenPAM 从
Figwort 版升级到了 Hydrangea 版。
sendmail 从
8.14.1 升级到了 8.14.3。
时区数据库从
tzdata2007h 版升级到了
tzdata2008b 版。
WPA Supplicant 从 0.5.8 升级到了 0.5.10。
Ports/Packages 套件基础结构
&man.pkg.create.1; 工具新增了
选项。 当指定了这个选项, 并且制作的预编译包已经存在时,
现有的版本不会被覆盖。 这个选项在连续执行带
参数的 &man.pkg.create.1; 时十分有用。
删去了用于对 &os; 预编译包进行签名和验证的 pkg_sign 和 pkg_check 工具。
这些工具只能用于使用 &man.gzip.1; 压缩的预编译包, 而
&man.bzip2.1; 压缩作为标准压缩已经使用很长时间了。
发布工程与系统集成
支持的
GNOME 桌面环境
(x11/gnome2)
版本从 2.20.1 升级到了 2.22。
文档
从先前版本的 &os; 升级
从 &os; 6.2-RELEASE 开始,
系统已经能够通过使用 &man.freebsd-update.8; 来实现 RELEASE 版本之间
(以及不同安全分支的快照版本) 的二进制升级。 二进制升级过程将更新未经修改的 userland
工具, 以及随官方 &os; 发行版发布的、 未作修改的 GENERIC 或
SMP 内核。 使用 &man.freebsd-update.8; 工具的主机,
需要有可用的 Internet 连接。
旧式的二进制升级, 则是通过随 CDROM 发行介质提供的 &man.sysinstall.8; 的
Upgrade 选项来完成的。 这种二进制升级方式,
对于 非-&arch.i386;、 非-&arch.amd64; 的,
以及没有接入 Internet 的系统而言会比较有用。
此外, 也可以使用源代码从较早版本升级的方式 (通过从源代码重新编译 &os;
的基本系统), 其操作方法请参见
/usr/src/UPDATING。
很显然,升级 &os; 时,应该首先备份
全部 数据和配置文件。
@
1.1
log
@SVN rev 241096 on 2012-10-01 11:26:49Z by gabor
- Rename .sgml files to .xml to track the recent doc changes
MFC after: 1 day
@
text
@d23 1
a23 1
$FreeBSD$
@
1.1.6.1
log
@file article.xml was added on branch RELENG_8 on 2012-10-19 03:02:46 +0000
@
text
@d1 463
@
1.1.6.2
log
@SVN rev 241718 on 2012-10-19 03:01:25Z by gjb
- Rename .sgml files to .xml to track the recent doc changes.
- Fix Makefiles and entities where necessary to get build to
complete without errors.
*** NOTE: This is _NOT_ an MFC, but direct commit to stable/8. ***
Hat: doceng
@
text
@a0 462
%articles.ent;
%release;
]>
&os; &release.current; 发行说明
The &os; Project
$FreeBSD$
2000
2001
2002
2003
2004
2005
2006
2007
2008
The &os; Documentation Project
&tm-attrib.freebsd;
&tm-attrib.ibm;
&tm-attrib.ieee;
&tm-attrib.intel;
&tm-attrib.sparc;
&tm-attrib.general;
这份 &os; &release.current; 的发行说明, 概括了 &os; 基本系统在
&release.branch; 开发线上所做的改动。
本文档列举了自前一发行版本以来所有适用的安全公告, 以及对于
&os; 内核以及系统附带的应用程序所做的重要修改。
对在升级时需要注意的一些问题, 也进行了简略的介绍。
简介
这篇文档包括了 &os;
&release.current; 的发行说明。 它描述了最近刚刚加入、
修改或删除了的 &os; 特性的说明。 同时,
它也将给出如何从先前的 &os; 版本完成升级的说明。
这篇文档所介绍的 &release.type; 软件包,
介绍了 &release.branch; 开发分支自 &release.branch;
创建以来的进展。 关于这一分支上预编译的、 二进制版本的
&release.type; 软件包, 可以在
找到。
]]>
这份说明所说的 &release.type; 版本,
是在 &release.branch; 开发分支上 &release.prev; 到未来的 &release.next;
上的一点。 这一开发分支上预编译的二进制形式的 &release.type;
安装包, 可以在 找到。
]]>
这是一份 &os; &release.current; 的
&release.type; 发布包。 您可以从 或其他镜像那里得到它的副本。
关于这个 (或其他) &release.type; 发布包的更多信息,可以在
&os; 手册
中的 如何获得
&os;
附录 中找到。
]]>
我们鼓励所有的用户在开始安装 &os;
之前首先参考这一版本所对应的勘误信息。
勘误文档将随时更新,以便为用户提供在发布工程后期或该版本发布之后
新发现的
问题和相关信息。
通常,这包括已知的 bug,安全公告,以及对于文档的修订内容。
最新的 &os; &release.current; 勘误信息可以从 &os; 网站获得。
最新变动
这一节描述了
&os; 自 &release.prev; 以来最明显的新功能和变化。
一般说来, 没有注明 &merged; 的那些新特性是 &release.branch; 所独有的。
发行说明中的绝大多数条目是在说明自从
&release.prev;
以来的安全公告、新的驱动程序或硬件支持、新的命令或是选项、
重要的错误修补,以及基本系统中来自第三方的软件升级。
重要的 ports 和 packages 变动,或关于交付工程的变动也会在这份文档中体现。
显而易见地,发行说明不可能涵盖 &os; 版本之间的每一个微小变动;
这篇文档主要关注的,仍然是安全公告,用户可以察觉的修改,
以及重要的架构改良。
安全公告
对内核的改动
&man.acpi.4; 提供了对 HPET 时钟计数器的基本支持。&merged;
新增了用于将线程与 CPU 绑定, 以及对 CPU 资源进行分组和分配的
&man.cpuset.2; API。 同时还加入了用于管理处理器组的用户环境工具
&man.cpuset.1;。
为内核调试器 &man.ddb.4; 新增了输出捕捉机制。
来自 &man.ddb.4; 的输入和输出内容会自动捕捉到一个内存缓冲区,
以便在随后通过 &man.sysctl.8; 或 textdump 来读取和分析。
新增的 capture 命令可以控制这个功能。
为 &man.ddb.4; 调试器新增了简单的脚本机制支持,
使其能够支持一组经过命名的包含一系列 &man.ddb.4; 命令的脚本。
这些脚本可以在 &man.ddb.4; 中, 或通过新增的 &man.ddb.8;
来进行配置。 更多详情请参见联机手册 &man.ddb.4;。
内核新增了 textdump 格式的主存内容转存能力。
与传统主存内容转存方式不同, textdump
通过一系列机械化的生成/提取调试输出来提供高一级的信息。
这个机制即使在内核没有包含调试符号, 或源代码与内核不完全同步的情况下,
仍然能够提供简明但内容丰富的调试信息。 关于这一机制的进一步详情请参见联机手册
&man.textdump.4;。
删去了对 M:N 线程模型的内核支持。
尽管 KSE (内核调度实体) 项目成功地将线程引入了 FreeBSD, 由
kse 线程库采用的 M:N 线程模型未能发挥其全部潜能。
对于较早的以动态方式联编的使用 KSE 线程模型的应用的向前兼容性,
可以通过 &man.libmap.conf.5; 配置实现。 The &os; Project 非常感谢
&a.julian;、 &a.deischen; 和 &a.davidxu; 在 KSE 支持方面所做的工作。
&os; 内核现在能够通过 kern.features sysctl
树来查询特定的功能是否已联编或动态加载进内核了。
库函数 &man.feature.present.3; 为用户态应用程序提供了检测功能是否存在的简便接口。
&os; 内核支持超大内存页 (superpages
) 映射了。
ULE
调度器成为了 GENERIC 内核的默认进程调度器。
引导加载器变动
对引导加载器使用的 BTX 内核进行了修改,
使其在实模式下调用 BIOS 例程。 这一变动使得从 USB
设备引导 &os; 成为了可能。
新增了用于支持从 GPT
标签引导系统的 gptboot 引导加载器。 为
&man.gpt.8;, 工具新增了 boot 命令,
其作用是通过写入引导加载器, 并根据需要创建新的引导分区来让
GPT 磁盘能够引导系统。
硬件支持
新增了用于支持 Omnikey CardMan 4040
PCMCIA 智能卡阅读器的 &man.cmx.4; 驱动。
&man.syscons.4; 驱动程序支持 Colemak 键盘布局了。
从 OpenBSD 引入了用于支持基于 Silicon
Laboratories CP2101/CP2102 USB 串口适配器的 &man.uslcom.4; 驱动。
多媒体支持
网络接口支持
将 &man.em.4; 驱动程序拆分成了部分代码共用的两个驱动程序。
&man.em.4; 驱动程序继续支持高至 82575 的网络控制芯片,
以及新的客户机/桌面适配器。 新增的 igb 驱动则支持新的服务器适配器。
为 &man.jme.4; 驱动程序新增了用于支持 PCIe 接口的基于 JMicron JMC250 Gigabit
Ethernet 和 JMC260 Fast Ethernet 控制器的网络适配器支持。
新增了用以支持基于 Marvell Libertas 88W8335 的 PCI 网络适配器的
&man.malo.4; 驱动程序。
随 &man.mxge.4; 驱动程序附带的固件版本从 1.4.25 升级到了 1.4.29。
对 &man.sf.4; 驱动程序进行了全面改进,
以提升其性能并增加了对校验和减负 (checksum offloading) 的支持。
此外, 改进后的驱动能够适应各种不同的硬件架构了。
对 &man.re.4; 驱动程序进行了全面改进, 修正了一系列问题。
这一驱动新增了对局域网唤醒 (Wake On LAN, WOL)
功能的支持。
对 &man.vr.4; 驱动程序进行了全面改进, 修正了一系列历史问题。
此外, 改进后的驱动能够适应各种不同的硬件架构了。
对 &man.wpi.4; 驱动程序进行了更新,
修正了一系列可靠性问题。
网络协议
为 &man.bpf.4; 包过滤及捕捉机制新增了免复制 (zero-copy) 操作模式,
这种模式中缓冲区由用户进程租借给内核。 这一特性可以通过将 sysctl
变量 net.bpf.zerocopy_enable
的值设为 1 来启用。
由于缺少对多处理器的支持, 删去了 ISDN4BSD(I4B)、 netatm
以及与之相关的其他子系统。
修正了 TCP 选项对齐时, 采用错误的填充字节的问题。
磁盘和存储
&man.aac.4; 驱动程序支持尺寸超过
2TB 的卷了。
为 &man.ata.4; 驱动程序新增了针对磁盘的 spindown 命令;
如果磁盘在预先配置的一段时间内没有收到任何请求,
则磁盘会减缓转速, 直到收到下一个请求为止。
与此同时, &man.atacontrol.8; 工具新增了用于配置这一功能的
spindown 命令。
&man.hptrr.4; 更新到了来自 Highpoint 的 1.2
版。
文件系统
修正了在 ZFS 上使用 &man.mmap.2; 时的一个问题。
新增了内核模式的 NFS 锁管理器, 改善了 NFS 上锁的性能和行为。 新增的
&man.clear.locks.8; 命令可以用 NFS 客户端的身份来清除其持有的锁。
用户态环境变动
&man.adduser.8; 工具新增了用于指定新用户主目录的
参数。
基于 libarchive 的 BSD-授权
版本的 &man.ar.1; 和 &man.ranlib.1; 替换掉了 GNU
Binutils 版本的对应工具。
&man.chflags.1; 新增了用于指定详细输出的 选项,
以及类似于 (例如) &man.chmod.1; 对应的忽略错误语义的 选项。
为了与其他实现兼容, &man.cp.1; 新增了与
等价的 选项。
基于 libarchive 的 BSD-授权
版本的 &man.cpio.1; 替换掉了 GNU cpio。
目前 GNU cpio 仍会作为
gcpio 安装。
&man.env.1; 程序新增了通过从环境中删除来完全取消变量
name 设置而不是简单地将其设为空值的
参数。
新增了 &man.fdopendir.3; 库函数。
&man.find.1; 新增了一系列之前只在 GNU find 中有而在 &os;
&man.find.1; 中没有的语句。
&man.jexec.8; 新增了用于以主机名指定特定 jail 的 参数。
&man.kgdb.1; 新增了帮助调试内核模块崩溃转存的 add-kld
命令。
&man.ls.1; 程序新增了用于指定详细资料模式 (long
format, ) 输出中日期格式的
参数。
&man.nc.1; 新增了用于禁止 TCP 选项的 选项。
&man.ping6.8; 工具在成功发包但没有得到回应时返回 2
(这和 &man.ping.8; 的行为相同)。 此前它只是返回一个非零值。
新增了用于显示进程详细信息的 &man.procstat.1; 工具。
&man.realpath.1; 新增了用于禁止给出警告信息的
选项; 此外, 它能够接受多个路径作为命令行参数了。
&man.split.1; 新增了用于指定切分块数的
参数。
&man.tar.1; 新增了用于启用 &man.compress.1;-式
压缩/解压缩 的 选项。
&man.tar.1; 工具新增了用于在创建和解包时忽略用户/组名的
选项。
&man.tar.1; 工具新增了用以在解包时产生稀疏文件的
选项。
&man.tar.1; 工具新增了用于根据指定的正则表达式来替换文件名的
参数。
新增了用于返回进程所在会话 leader 组 ID 的库函数 &man.tcgetsid.3;。
这个函数是在 IEEE Std 1003.1-2001
(POSIX) 中定义的。
&man.top.1; 新增了用于显示各个 CPU 使用统计的 选项。
&man.traceroute.8; 新增了用于显示每跳的 自治网域 (AS)
编号的 开关; 而新增的
参数则可以选择特定的
WHOIS 服务器。
&man.traceroute6.8; 新增了与常见的 UDP 探测包不同的、
不采用上层协议的探测包进行探测的 选项。
/etc/rc.d 脚本
基本系统中的第三方软件
AMD 从 6.0.10
升级到了 6.1.5。
awk 从 2007 年 5 月 1 日版升级到了
2007 年 10 月 23 日版。
bzip2 从 1.0.4
升级到了 1.0.5。
CVS 从 1.11.17
升级到了 1.11.22 之后于 2008 年 3 月 10 日签出的快照版本。
hostapd 从 0.5.8 升级到了 0.5.10。
IPFilter 从
4.1.23 升级到了 4.1.28。
less 从
v408 升级到了 v416。
ncurses 从
5.6-20061217 升级到了 5.6-20080503。
OpenPAM 从
Figwort 版升级到了 Hydrangea 版。
sendmail 从
8.14.1 升级到了 8.14.3。
时区数据库从
tzdata2007h 版升级到了
tzdata2008b 版。
WPA Supplicant 从 0.5.8 升级到了 0.5.10。
Ports/Packages 套件基础结构
&man.pkg.create.1; 工具新增了
选项。 当指定了这个选项, 并且制作的预编译包已经存在时,
现有的版本不会被覆盖。 这个选项在连续执行带
参数的 &man.pkg.create.1; 时十分有用。
删去了用于对 &os; 预编译包进行签名和验证的 pkg_sign 和 pkg_check 工具。
这些工具只能用于使用 &man.gzip.1; 压缩的预编译包, 而
&man.bzip2.1; 压缩作为标准压缩已经使用很长时间了。
发布工程与系统集成
支持的
GNOME 桌面环境
(x11/gnome2)
版本从 2.20.1 升级到了 2.22。
文档
从先前版本的 &os; 升级
从 &os; 6.2-RELEASE 开始,
系统已经能够通过使用 &man.freebsd-update.8; 来实现 RELEASE 版本之间
(以及不同安全分支的快照版本) 的二进制升级。 二进制升级过程将更新未经修改的 userland
工具, 以及随官方 &os; 发行版发布的、 未作修改的 GENERIC 或
SMP 内核。 使用 &man.freebsd-update.8; 工具的主机,
需要有可用的 Internet 连接。
旧式的二进制升级, 则是通过随 CDROM 发行介质提供的 &man.sysinstall.8; 的
Upgrade 选项来完成的。 这种二进制升级方式,
对于 非-&arch.i386;、 非-&arch.amd64; 的,
以及没有接入 Internet 的系统而言会比较有用。
此外, 也可以使用源代码从较早版本升级的方式 (通过从源代码重新编译 &os;
的基本系统), 其操作方法请参见
/usr/src/UPDATING。
很显然,升级 &os; 时,应该首先备份
全部 数据和配置文件。
@
1.1.6.3
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242909
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242909 | dim | 2012-11-12 07:47:19 +0000 (Mon, 12 Nov 2012) | 20 lines
## SVN ##
## SVN ## MFC r242625:
## SVN ##
## SVN ## Remove duplicate const specifiers in many drivers (I hope I got all of
## SVN ## them, please let me know if not). Most of these are of the form:
## SVN ##
## SVN ## static const struct bzzt_type {
## SVN ## [...list of members...]
## SVN ## } const bzzt_devs[] = {
## SVN ## [...list of initializers...]
## SVN ## };
## SVN ##
## SVN ## The second const is unnecessary, as arrays cannot be modified anyway,
## SVN ## and if the elements are const, the whole thing is const automatically
## SVN ## (e.g. it is placed in .rodata).
## SVN ##
## SVN ## I have verified this does not change the binary output of a full kernel
## SVN ## build (except for build timestamps embedded in the object files).
## SVN ##
## SVN ## Reviewed by: yongari, marius
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d22 1
a22 1
$FreeBSD: stable/8/release/doc/zh_CN.GB2312/relnotes/article.xml 241718 2012-10-19 03:01:25Z gjb $
@
1.1.4.1
log
@file article.xml was added on branch RELENG_9_1 on 2012-10-11 22:24:34 +0000
@
text
@d1 463
@
1.1.4.2
log
@SVN rev 241445 on 2012-10-11 15:49:42Z by gabor
MFC r241096:
- Rename files to track the XML migration in the doc tree and make the
release notes build again
Approved by: re (hrs)
@
text
@a0 463
%entities;
%release;
]>
&os; &release.current; 发行说明
The &os; Project
$FreeBSD$
2000
2001
2002
2003
2004
2005
2006
2007
2008
The &os; Documentation Project
&tm-attrib.freebsd;
&tm-attrib.ibm;
&tm-attrib.ieee;
&tm-attrib.intel;
&tm-attrib.sparc;
&tm-attrib.general;
这份 &os; &release.current; 的发行说明, 概括了 &os; 基本系统在
&release.branch; 开发线上所做的改动。
本文档列举了自前一发行版本以来所有适用的安全公告, 以及对于
&os; 内核以及系统附带的应用程序所做的重要修改。
对在升级时需要注意的一些问题, 也进行了简略的介绍。
简介
这篇文档包括了 &os;
&release.current; 的发行说明。 它描述了最近刚刚加入、
修改或删除了的 &os; 特性的说明。 同时,
它也将给出如何从先前的 &os; 版本完成升级的说明。
这篇文档所介绍的 &release.type; 软件包,
介绍了 &release.branch; 开发分支自 &release.branch;
创建以来的进展。 关于这一分支上预编译的、 二进制版本的
&release.type; 软件包, 可以在
找到。
]]>
这份说明所说的 &release.type; 版本,
是在 &release.branch; 开发分支上 &release.prev; 到未来的 &release.next;
上的一点。 这一开发分支上预编译的二进制形式的 &release.type;
安装包, 可以在 找到。
]]>
这是一份 &os; &release.current; 的
&release.type; 发布包。 您可以从 或其他镜像那里得到它的副本。
关于这个 (或其他) &release.type; 发布包的更多信息,可以在
&os; 手册
中的 如何获得
&os;
附录 中找到。
]]>
我们鼓励所有的用户在开始安装 &os;
之前首先参考这一版本所对应的勘误信息。
勘误文档将随时更新,以便为用户提供在发布工程后期或该版本发布之后
新发现的
问题和相关信息。
通常,这包括已知的 bug,安全公告,以及对于文档的修订内容。
最新的 &os; &release.current; 勘误信息可以从 &os; 网站获得。
最新变动
这一节描述了
&os; 自 &release.prev; 以来最明显的新功能和变化。
一般说来, 没有注明 &merged; 的那些新特性是 &release.branch; 所独有的。
发行说明中的绝大多数条目是在说明自从
&release.prev;
以来的安全公告、新的驱动程序或硬件支持、新的命令或是选项、
重要的错误修补,以及基本系统中来自第三方的软件升级。
重要的 ports 和 packages 变动,或关于交付工程的变动也会在这份文档中体现。
显而易见地,发行说明不可能涵盖 &os; 版本之间的每一个微小变动;
这篇文档主要关注的,仍然是安全公告,用户可以察觉的修改,
以及重要的架构改良。
安全公告
对内核的改动
&man.acpi.4; 提供了对 HPET 时钟计数器的基本支持。&merged;
新增了用于将线程与 CPU 绑定, 以及对 CPU 资源进行分组和分配的
&man.cpuset.2; API。 同时还加入了用于管理处理器组的用户环境工具
&man.cpuset.1;。
为内核调试器 &man.ddb.4; 新增了输出捕捉机制。
来自 &man.ddb.4; 的输入和输出内容会自动捕捉到一个内存缓冲区,
以便在随后通过 &man.sysctl.8; 或 textdump 来读取和分析。
新增的 capture 命令可以控制这个功能。
为 &man.ddb.4; 调试器新增了简单的脚本机制支持,
使其能够支持一组经过命名的包含一系列 &man.ddb.4; 命令的脚本。
这些脚本可以在 &man.ddb.4; 中, 或通过新增的 &man.ddb.8;
来进行配置。 更多详情请参见联机手册 &man.ddb.4;。
内核新增了 textdump 格式的主存内容转存能力。
与传统主存内容转存方式不同, textdump
通过一系列机械化的生成/提取调试输出来提供高一级的信息。
这个机制即使在内核没有包含调试符号, 或源代码与内核不完全同步的情况下,
仍然能够提供简明但内容丰富的调试信息。 关于这一机制的进一步详情请参见联机手册
&man.textdump.4;。
删去了对 M:N 线程模型的内核支持。
尽管 KSE (内核调度实体) 项目成功地将线程引入了 FreeBSD, 由
kse 线程库采用的 M:N 线程模型未能发挥其全部潜能。
对于较早的以动态方式联编的使用 KSE 线程模型的应用的向前兼容性,
可以通过 &man.libmap.conf.5; 配置实现。 The &os; Project 非常感谢
&a.julian;、 &a.deischen; 和 &a.davidxu; 在 KSE 支持方面所做的工作。
&os; 内核现在能够通过 kern.features sysctl
树来查询特定的功能是否已联编或动态加载进内核了。
库函数 &man.feature.present.3; 为用户态应用程序提供了检测功能是否存在的简便接口。
&os; 内核支持超大内存页 (superpages
) 映射了。
ULE
调度器成为了 GENERIC 内核的默认进程调度器。
引导加载器变动
对引导加载器使用的 BTX 内核进行了修改,
使其在实模式下调用 BIOS 例程。 这一变动使得从 USB
设备引导 &os; 成为了可能。
新增了用于支持从 GPT
标签引导系统的 gptboot 引导加载器。 为
&man.gpt.8;, 工具新增了 boot 命令,
其作用是通过写入引导加载器, 并根据需要创建新的引导分区来让
GPT 磁盘能够引导系统。
硬件支持
新增了用于支持 Omnikey CardMan 4040
PCMCIA 智能卡阅读器的 &man.cmx.4; 驱动。
&man.syscons.4; 驱动程序支持 Colemak 键盘布局了。
从 OpenBSD 引入了用于支持基于 Silicon
Laboratories CP2101/CP2102 USB 串口适配器的 &man.uslcom.4; 驱动。
多媒体支持
网络接口支持
将 &man.em.4; 驱动程序拆分成了部分代码共用的两个驱动程序。
&man.em.4; 驱动程序继续支持高至 82575 的网络控制芯片,
以及新的客户机/桌面适配器。 新增的 igb 驱动则支持新的服务器适配器。
为 &man.jme.4; 驱动程序新增了用于支持 PCIe 接口的基于 JMicron JMC250 Gigabit
Ethernet 和 JMC260 Fast Ethernet 控制器的网络适配器支持。
新增了用以支持基于 Marvell Libertas 88W8335 的 PCI 网络适配器的
&man.malo.4; 驱动程序。
随 &man.mxge.4; 驱动程序附带的固件版本从 1.4.25 升级到了 1.4.29。
对 &man.sf.4; 驱动程序进行了全面改进,
以提升其性能并增加了对校验和减负 (checksum offloading) 的支持。
此外, 改进后的驱动能够适应各种不同的硬件架构了。
对 &man.re.4; 驱动程序进行了全面改进, 修正了一系列问题。
这一驱动新增了对局域网唤醒 (Wake On LAN, WOL)
功能的支持。
对 &man.vr.4; 驱动程序进行了全面改进, 修正了一系列历史问题。
此外, 改进后的驱动能够适应各种不同的硬件架构了。
对 &man.wpi.4; 驱动程序进行了更新,
修正了一系列可靠性问题。
网络协议
为 &man.bpf.4; 包过滤及捕捉机制新增了免复制 (zero-copy) 操作模式,
这种模式中缓冲区由用户进程租借给内核。 这一特性可以通过将 sysctl
变量 net.bpf.zerocopy_enable
的值设为 1 来启用。
由于缺少对多处理器的支持, 删去了 ISDN4BSD(I4B)、 netatm
以及与之相关的其他子系统。
修正了 TCP 选项对齐时, 采用错误的填充字节的问题。
磁盘和存储
&man.aac.4; 驱动程序支持尺寸超过
2TB 的卷了。
为 &man.ata.4; 驱动程序新增了针对磁盘的 spindown 命令;
如果磁盘在预先配置的一段时间内没有收到任何请求,
则磁盘会减缓转速, 直到收到下一个请求为止。
与此同时, &man.atacontrol.8; 工具新增了用于配置这一功能的
spindown 命令。
&man.hptrr.4; 更新到了来自 Highpoint 的 1.2
版。
文件系统
修正了在 ZFS 上使用 &man.mmap.2; 时的一个问题。
新增了内核模式的 NFS 锁管理器, 改善了 NFS 上锁的性能和行为。 新增的
&man.clear.locks.8; 命令可以用 NFS 客户端的身份来清除其持有的锁。
用户态环境变动
&man.adduser.8; 工具新增了用于指定新用户主目录的
参数。
基于 libarchive 的 BSD-授权
版本的 &man.ar.1; 和 &man.ranlib.1; 替换掉了 GNU
Binutils 版本的对应工具。
&man.chflags.1; 新增了用于指定详细输出的 选项,
以及类似于 (例如) &man.chmod.1; 对应的忽略错误语义的 选项。
为了与其他实现兼容, &man.cp.1; 新增了与
等价的 选项。
基于 libarchive 的 BSD-授权
版本的 &man.cpio.1; 替换掉了 GNU cpio。
目前 GNU cpio 仍会作为
gcpio 安装。
&man.env.1; 程序新增了通过从环境中删除来完全取消变量
name 设置而不是简单地将其设为空值的
参数。
新增了 &man.fdopendir.3; 库函数。
&man.find.1; 新增了一系列之前只在 GNU find 中有而在 &os;
&man.find.1; 中没有的语句。
&man.jexec.8; 新增了用于以主机名指定特定 jail 的 参数。
&man.kgdb.1; 新增了帮助调试内核模块崩溃转存的 add-kld
命令。
&man.ls.1; 程序新增了用于指定详细资料模式 (long
format, ) 输出中日期格式的
参数。
&man.nc.1; 新增了用于禁止 TCP 选项的 选项。
&man.ping6.8; 工具在成功发包但没有得到回应时返回 2
(这和 &man.ping.8; 的行为相同)。 此前它只是返回一个非零值。
新增了用于显示进程详细信息的 &man.procstat.1; 工具。
&man.realpath.1; 新增了用于禁止给出警告信息的
选项; 此外, 它能够接受多个路径作为命令行参数了。
&man.split.1; 新增了用于指定切分块数的
参数。
&man.tar.1; 新增了用于启用 &man.compress.1;-式
压缩/解压缩 的 选项。
&man.tar.1; 工具新增了用于在创建和解包时忽略用户/组名的
选项。
&man.tar.1; 工具新增了用以在解包时产生稀疏文件的
选项。
&man.tar.1; 工具新增了用于根据指定的正则表达式来替换文件名的
参数。
新增了用于返回进程所在会话 leader 组 ID 的库函数 &man.tcgetsid.3;。
这个函数是在 IEEE Std 1003.1-2001
(POSIX) 中定义的。
&man.top.1; 新增了用于显示各个 CPU 使用统计的 选项。
&man.traceroute.8; 新增了用于显示每跳的 自治网域 (AS)
编号的 开关; 而新增的
参数则可以选择特定的
WHOIS 服务器。
&man.traceroute6.8; 新增了与常见的 UDP 探测包不同的、
不采用上层协议的探测包进行探测的 选项。
/etc/rc.d 脚本
基本系统中的第三方软件
AMD 从 6.0.10
升级到了 6.1.5。
awk 从 2007 年 5 月 1 日版升级到了
2007 年 10 月 23 日版。
bzip2 从 1.0.4
升级到了 1.0.5。
CVS 从 1.11.17
升级到了 1.11.22 之后于 2008 年 3 月 10 日签出的快照版本。
hostapd 从 0.5.8 升级到了 0.5.10。
IPFilter 从
4.1.23 升级到了 4.1.28。
less 从
v408 升级到了 v416。
ncurses 从
5.6-20061217 升级到了 5.6-20080503。
OpenPAM 从
Figwort 版升级到了 Hydrangea 版。
sendmail 从
8.14.1 升级到了 8.14.3。
时区数据库从
tzdata2007h 版升级到了
tzdata2008b 版。
WPA Supplicant 从 0.5.8 升级到了 0.5.10。
Ports/Packages 套件基础结构
&man.pkg.create.1; 工具新增了
选项。 当指定了这个选项, 并且制作的预编译包已经存在时,
现有的版本不会被覆盖。 这个选项在连续执行带
参数的 &man.pkg.create.1; 时十分有用。
删去了用于对 &os; 预编译包进行签名和验证的 pkg_sign 和 pkg_check 工具。
这些工具只能用于使用 &man.gzip.1; 压缩的预编译包, 而
&man.bzip2.1; 压缩作为标准压缩已经使用很长时间了。
发布工程与系统集成
支持的
GNOME 桌面环境
(x11/gnome2)
版本从 2.20.1 升级到了 2.22。
文档
从先前版本的 &os; 升级
从 &os; 6.2-RELEASE 开始,
系统已经能够通过使用 &man.freebsd-update.8; 来实现 RELEASE 版本之间
(以及不同安全分支的快照版本) 的二进制升级。 二进制升级过程将更新未经修改的 userland
工具, 以及随官方 &os; 发行版发布的、 未作修改的 GENERIC 或
SMP 内核。 使用 &man.freebsd-update.8; 工具的主机,
需要有可用的 Internet 连接。
旧式的二进制升级, 则是通过随 CDROM 发行介质提供的 &man.sysinstall.8; 的
Upgrade 选项来完成的。 这种二进制升级方式,
对于 非-&arch.i386;、 非-&arch.amd64; 的,
以及没有接入 Internet 的系统而言会比较有用。
此外, 也可以使用源代码从较早版本升级的方式 (通过从源代码重新编译 &os;
的基本系统), 其操作方法请参见
/usr/src/UPDATING。
很显然,升级 &os; 时,应该首先备份
全部 数据和配置文件。
@
1.1.4.3
log
@Switch importer
@
text
@d23 1
a23 1
$FreeBSD: releng/9.1/release/doc/zh_CN.GB2312/relnotes/article.xml 241445 2012-10-11 15:49:42Z gabor $
@
1.1.4.4
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/243705
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r243705 | hrs | 2012-11-30 16:15:35 +0000 (Fri, 30 Nov 2012) | 18 lines
## SVN ##
## SVN ## - Bump versions and revert XML migration of the release documents in
## SVN ## releng/9.1 branch. The doc tree release/9.1.0 for this release still uses
## SVN ## SGML toolchain[1].
## SVN ##
## SVN ## - Add SVNROOT{BASE,SRC,DOC,PORTS} for subversion repository URLs and
## SVN ## BRANCH{SRC,DOC,PORTS} for the branches to generate-release.sh, and
## SVN ## remove -p, -r, -d options. The revision to be built should be specified
## SVN ## in the URL.
## SVN ##
## SVN ## - Add {WORLD,KERNEL}_FLAGS to generate-release.sh. These were supported in
## SVN ## the old release build framework.
## SVN ##
## SVN ## - Disable to use binary package for docproj port during a release build.
## SVN ## This package should be built successfully.
## SVN ##
## SVN ## Pointy hat to: hrs [1]
## SVN ## Approved by: re (implicitly)
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@@
1.1.2.1
log
@file article.xml was added on branch RELENG_9 on 2012-10-02 06:38:47 +0000
@
text
@d1 463
@
1.1.2.2
log
@SVN rev 241122 on 2012-10-02 06:37:46Z by gabor
MFC r241096:
- Rename .sgml files to .xml to track the recent doc changes
@
text
@a0 463
%entities;
%release;
]>
&os; &release.current; 发行说明
The &os; Project
$FreeBSD$
2000
2001
2002
2003
2004
2005
2006
2007
2008
The &os; Documentation Project
&tm-attrib.freebsd;
&tm-attrib.ibm;
&tm-attrib.ieee;
&tm-attrib.intel;
&tm-attrib.sparc;
&tm-attrib.general;
这份 &os; &release.current; 的发行说明, 概括了 &os; 基本系统在
&release.branch; 开发线上所做的改动。
本文档列举了自前一发行版本以来所有适用的安全公告, 以及对于
&os; 内核以及系统附带的应用程序所做的重要修改。
对在升级时需要注意的一些问题, 也进行了简略的介绍。
简介
这篇文档包括了 &os;
&release.current; 的发行说明。 它描述了最近刚刚加入、
修改或删除了的 &os; 特性的说明。 同时,
它也将给出如何从先前的 &os; 版本完成升级的说明。
这篇文档所介绍的 &release.type; 软件包,
介绍了 &release.branch; 开发分支自 &release.branch;
创建以来的进展。 关于这一分支上预编译的、 二进制版本的
&release.type; 软件包, 可以在
找到。
]]>
这份说明所说的 &release.type; 版本,
是在 &release.branch; 开发分支上 &release.prev; 到未来的 &release.next;
上的一点。 这一开发分支上预编译的二进制形式的 &release.type;
安装包, 可以在 找到。
]]>
这是一份 &os; &release.current; 的
&release.type; 发布包。 您可以从 或其他镜像那里得到它的副本。
关于这个 (或其他) &release.type; 发布包的更多信息,可以在
&os; 手册
中的 如何获得
&os;
附录 中找到。
]]>
我们鼓励所有的用户在开始安装 &os;
之前首先参考这一版本所对应的勘误信息。
勘误文档将随时更新,以便为用户提供在发布工程后期或该版本发布之后
新发现的
问题和相关信息。
通常,这包括已知的 bug,安全公告,以及对于文档的修订内容。
最新的 &os; &release.current; 勘误信息可以从 &os; 网站获得。
最新变动
这一节描述了
&os; 自 &release.prev; 以来最明显的新功能和变化。
一般说来, 没有注明 &merged; 的那些新特性是 &release.branch; 所独有的。
发行说明中的绝大多数条目是在说明自从
&release.prev;
以来的安全公告、新的驱动程序或硬件支持、新的命令或是选项、
重要的错误修补,以及基本系统中来自第三方的软件升级。
重要的 ports 和 packages 变动,或关于交付工程的变动也会在这份文档中体现。
显而易见地,发行说明不可能涵盖 &os; 版本之间的每一个微小变动;
这篇文档主要关注的,仍然是安全公告,用户可以察觉的修改,
以及重要的架构改良。
安全公告
对内核的改动
&man.acpi.4; 提供了对 HPET 时钟计数器的基本支持。&merged;
新增了用于将线程与 CPU 绑定, 以及对 CPU 资源进行分组和分配的
&man.cpuset.2; API。 同时还加入了用于管理处理器组的用户环境工具
&man.cpuset.1;。
为内核调试器 &man.ddb.4; 新增了输出捕捉机制。
来自 &man.ddb.4; 的输入和输出内容会自动捕捉到一个内存缓冲区,
以便在随后通过 &man.sysctl.8; 或 textdump 来读取和分析。
新增的 capture 命令可以控制这个功能。
为 &man.ddb.4; 调试器新增了简单的脚本机制支持,
使其能够支持一组经过命名的包含一系列 &man.ddb.4; 命令的脚本。
这些脚本可以在 &man.ddb.4; 中, 或通过新增的 &man.ddb.8;
来进行配置。 更多详情请参见联机手册 &man.ddb.4;。
内核新增了 textdump 格式的主存内容转存能力。
与传统主存内容转存方式不同, textdump
通过一系列机械化的生成/提取调试输出来提供高一级的信息。
这个机制即使在内核没有包含调试符号, 或源代码与内核不完全同步的情况下,
仍然能够提供简明但内容丰富的调试信息。 关于这一机制的进一步详情请参见联机手册
&man.textdump.4;。
删去了对 M:N 线程模型的内核支持。
尽管 KSE (内核调度实体) 项目成功地将线程引入了 FreeBSD, 由
kse 线程库采用的 M:N 线程模型未能发挥其全部潜能。
对于较早的以动态方式联编的使用 KSE 线程模型的应用的向前兼容性,
可以通过 &man.libmap.conf.5; 配置实现。 The &os; Project 非常感谢
&a.julian;、 &a.deischen; 和 &a.davidxu; 在 KSE 支持方面所做的工作。
&os; 内核现在能够通过 kern.features sysctl
树来查询特定的功能是否已联编或动态加载进内核了。
库函数 &man.feature.present.3; 为用户态应用程序提供了检测功能是否存在的简便接口。
&os; 内核支持超大内存页 (superpages
) 映射了。
ULE
调度器成为了 GENERIC 内核的默认进程调度器。
引导加载器变动
对引导加载器使用的 BTX 内核进行了修改,
使其在实模式下调用 BIOS 例程。 这一变动使得从 USB
设备引导 &os; 成为了可能。
新增了用于支持从 GPT
标签引导系统的 gptboot 引导加载器。 为
&man.gpt.8;, 工具新增了 boot 命令,
其作用是通过写入引导加载器, 并根据需要创建新的引导分区来让
GPT 磁盘能够引导系统。
硬件支持
新增了用于支持 Omnikey CardMan 4040
PCMCIA 智能卡阅读器的 &man.cmx.4; 驱动。
&man.syscons.4; 驱动程序支持 Colemak 键盘布局了。
从 OpenBSD 引入了用于支持基于 Silicon
Laboratories CP2101/CP2102 USB 串口适配器的 &man.uslcom.4; 驱动。
多媒体支持
网络接口支持
将 &man.em.4; 驱动程序拆分成了部分代码共用的两个驱动程序。
&man.em.4; 驱动程序继续支持高至 82575 的网络控制芯片,
以及新的客户机/桌面适配器。 新增的 igb 驱动则支持新的服务器适配器。
为 &man.jme.4; 驱动程序新增了用于支持 PCIe 接口的基于 JMicron JMC250 Gigabit
Ethernet 和 JMC260 Fast Ethernet 控制器的网络适配器支持。
新增了用以支持基于 Marvell Libertas 88W8335 的 PCI 网络适配器的
&man.malo.4; 驱动程序。
随 &man.mxge.4; 驱动程序附带的固件版本从 1.4.25 升级到了 1.4.29。
对 &man.sf.4; 驱动程序进行了全面改进,
以提升其性能并增加了对校验和减负 (checksum offloading) 的支持。
此外, 改进后的驱动能够适应各种不同的硬件架构了。
对 &man.re.4; 驱动程序进行了全面改进, 修正了一系列问题。
这一驱动新增了对局域网唤醒 (Wake On LAN, WOL)
功能的支持。
对 &man.vr.4; 驱动程序进行了全面改进, 修正了一系列历史问题。
此外, 改进后的驱动能够适应各种不同的硬件架构了。
对 &man.wpi.4; 驱动程序进行了更新,
修正了一系列可靠性问题。
网络协议
为 &man.bpf.4; 包过滤及捕捉机制新增了免复制 (zero-copy) 操作模式,
这种模式中缓冲区由用户进程租借给内核。 这一特性可以通过将 sysctl
变量 net.bpf.zerocopy_enable
的值设为 1 来启用。
由于缺少对多处理器的支持, 删去了 ISDN4BSD(I4B)、 netatm
以及与之相关的其他子系统。
修正了 TCP 选项对齐时, 采用错误的填充字节的问题。
磁盘和存储
&man.aac.4; 驱动程序支持尺寸超过
2TB 的卷了。
为 &man.ata.4; 驱动程序新增了针对磁盘的 spindown 命令;
如果磁盘在预先配置的一段时间内没有收到任何请求,
则磁盘会减缓转速, 直到收到下一个请求为止。
与此同时, &man.atacontrol.8; 工具新增了用于配置这一功能的
spindown 命令。
&man.hptrr.4; 更新到了来自 Highpoint 的 1.2
版。
文件系统
修正了在 ZFS 上使用 &man.mmap.2; 时的一个问题。
新增了内核模式的 NFS 锁管理器, 改善了 NFS 上锁的性能和行为。 新增的
&man.clear.locks.8; 命令可以用 NFS 客户端的身份来清除其持有的锁。
用户态环境变动
&man.adduser.8; 工具新增了用于指定新用户主目录的
参数。
基于 libarchive 的 BSD-授权
版本的 &man.ar.1; 和 &man.ranlib.1; 替换掉了 GNU
Binutils 版本的对应工具。
&man.chflags.1; 新增了用于指定详细输出的 选项,
以及类似于 (例如) &man.chmod.1; 对应的忽略错误语义的 选项。
为了与其他实现兼容, &man.cp.1; 新增了与
等价的 选项。
基于 libarchive 的 BSD-授权
版本的 &man.cpio.1; 替换掉了 GNU cpio。
目前 GNU cpio 仍会作为
gcpio 安装。
&man.env.1; 程序新增了通过从环境中删除来完全取消变量
name 设置而不是简单地将其设为空值的
参数。
新增了 &man.fdopendir.3; 库函数。
&man.find.1; 新增了一系列之前只在 GNU find 中有而在 &os;
&man.find.1; 中没有的语句。
&man.jexec.8; 新增了用于以主机名指定特定 jail 的 参数。
&man.kgdb.1; 新增了帮助调试内核模块崩溃转存的 add-kld
命令。
&man.ls.1; 程序新增了用于指定详细资料模式 (long
format, ) 输出中日期格式的
参数。
&man.nc.1; 新增了用于禁止 TCP 选项的 选项。
&man.ping6.8; 工具在成功发包但没有得到回应时返回 2
(这和 &man.ping.8; 的行为相同)。 此前它只是返回一个非零值。
新增了用于显示进程详细信息的 &man.procstat.1; 工具。
&man.realpath.1; 新增了用于禁止给出警告信息的
选项; 此外, 它能够接受多个路径作为命令行参数了。
&man.split.1; 新增了用于指定切分块数的
参数。
&man.tar.1; 新增了用于启用 &man.compress.1;-式
压缩/解压缩 的 选项。
&man.tar.1; 工具新增了用于在创建和解包时忽略用户/组名的
选项。
&man.tar.1; 工具新增了用以在解包时产生稀疏文件的
选项。
&man.tar.1; 工具新增了用于根据指定的正则表达式来替换文件名的
参数。
新增了用于返回进程所在会话 leader 组 ID 的库函数 &man.tcgetsid.3;。
这个函数是在 IEEE Std 1003.1-2001
(POSIX) 中定义的。
&man.top.1; 新增了用于显示各个 CPU 使用统计的 选项。
&man.traceroute.8; 新增了用于显示每跳的 自治网域 (AS)
编号的 开关; 而新增的
参数则可以选择特定的
WHOIS 服务器。
&man.traceroute6.8; 新增了与常见的 UDP 探测包不同的、
不采用上层协议的探测包进行探测的 选项。
/etc/rc.d 脚本
基本系统中的第三方软件
AMD 从 6.0.10
升级到了 6.1.5。
awk 从 2007 年 5 月 1 日版升级到了
2007 年 10 月 23 日版。
bzip2 从 1.0.4
升级到了 1.0.5。
CVS 从 1.11.17
升级到了 1.11.22 之后于 2008 年 3 月 10 日签出的快照版本。
hostapd 从 0.5.8 升级到了 0.5.10。
IPFilter 从
4.1.23 升级到了 4.1.28。
less 从
v408 升级到了 v416。
ncurses 从
5.6-20061217 升级到了 5.6-20080503。
OpenPAM 从
Figwort 版升级到了 Hydrangea 版。
sendmail 从
8.14.1 升级到了 8.14.3。
时区数据库从
tzdata2007h 版升级到了
tzdata2008b 版。
WPA Supplicant 从 0.5.8 升级到了 0.5.10。
Ports/Packages 套件基础结构
&man.pkg.create.1; 工具新增了
选项。 当指定了这个选项, 并且制作的预编译包已经存在时,
现有的版本不会被覆盖。 这个选项在连续执行带
参数的 &man.pkg.create.1; 时十分有用。
删去了用于对 &os; 预编译包进行签名和验证的 pkg_sign 和 pkg_check 工具。
这些工具只能用于使用 &man.gzip.1; 压缩的预编译包, 而
&man.bzip2.1; 压缩作为标准压缩已经使用很长时间了。
发布工程与系统集成
支持的
GNOME 桌面环境
(x11/gnome2)
版本从 2.20.1 升级到了 2.22。
文档
从先前版本的 &os; 升级
从 &os; 6.2-RELEASE 开始,
系统已经能够通过使用 &man.freebsd-update.8; 来实现 RELEASE 版本之间
(以及不同安全分支的快照版本) 的二进制升级。 二进制升级过程将更新未经修改的 userland
工具, 以及随官方 &os; 发行版发布的、 未作修改的 GENERIC 或
SMP 内核。 使用 &man.freebsd-update.8; 工具的主机,
需要有可用的 Internet 连接。
旧式的二进制升级, 则是通过随 CDROM 发行介质提供的 &man.sysinstall.8; 的
Upgrade 选项来完成的。 这种二进制升级方式,
对于 非-&arch.i386;、 非-&arch.amd64; 的,
以及没有接入 Internet 的系统而言会比较有用。
此外, 也可以使用源代码从较早版本升级的方式 (通过从源代码重新编译 &os;
的基本系统), 其操作方法请参见
/usr/src/UPDATING。
很显然,升级 &os; 时,应该首先备份
全部 数据和配置文件。
@
1.1.2.3
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242902
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242902 | dteske | 2012-11-11 23:29:45 +0000 (Sun, 11 Nov 2012) | 10 lines
## SVN ##
## SVN ## Fix a regression introduced by SVN r211417 that saw the breakage of a feature
## SVN ## documented in usr.sbin/sysinstall/help/shortcuts.hlp (reproduced below):
## SVN ##
## SVN ## If /usr/sbin/sysinstall is linked to another filename, say
## SVN ## `/usr/local/bin/configPackages', then the basename will be used
## SVN ## as an implicit command name.
## SVN ##
## SVN ## Reviewed by: adrian (co-mentor)
## SVN ## Approved by: adrian (co-mentor)
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d23 1
a23 1
$FreeBSD: stable/9/release/doc/zh_CN.GB2312/relnotes/article.xml 241122 2012-10-02 06:37:46Z gabor $
@