463 lines
16 KiB
Plaintext
463 lines
16 KiB
Plaintext
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
|
||
<!ENTITY % articles.ent PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Articles Entity Set//EN">
|
||
%articles.ent;
|
||
|
||
<!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN">
|
||
%release;
|
||
|
||
<!-- The FreeBSD Simplified Chinese Project -->
|
||
<!-- Original Revision: 182873 -->
|
||
<!-- Text constants which probably don't need to be changed.-->
|
||
|
||
<!ENTITY % include.historic "IGNORE">
|
||
<!ENTITY % no.include.historic "IGNORE">
|
||
]>
|
||
|
||
<article>
|
||
<articleinfo>
|
||
<title>&os; &release.current; 发行说明</title>
|
||
|
||
<corpauthor>The &os; Project</corpauthor>
|
||
|
||
<pubdate>$FreeBSD$</pubdate>
|
||
|
||
<copyright>
|
||
<year>2000</year>
|
||
<year>2001</year>
|
||
<year>2002</year>
|
||
<year>2003</year>
|
||
<year>2004</year>
|
||
<year>2005</year>
|
||
<year>2006</year>
|
||
<year>2007</year>
|
||
<year>2008</year>
|
||
<holder role="mailto:doc@FreeBSD.org">The &os; Documentation Project</holder>
|
||
</copyright>
|
||
|
||
<legalnotice id="trademarks" role="trademarks">
|
||
&tm-attrib.freebsd;
|
||
&tm-attrib.ibm;
|
||
&tm-attrib.ieee;
|
||
&tm-attrib.intel;
|
||
&tm-attrib.sparc;
|
||
&tm-attrib.general;
|
||
</legalnotice>
|
||
|
||
<abstract>
|
||
<para>这份 &os; &release.current; 的发行说明, 概括了 &os; 基本系统在
|
||
&release.branch; 开发线上所做的改动。
|
||
本文档列举了自前一发行版本以来所有适用的安全公告, 以及对于
|
||
&os; 内核以及系统附带的应用程序所做的重要修改。
|
||
对在升级时需要注意的一些问题, 也进行了简略的介绍。</para>
|
||
</abstract>
|
||
</articleinfo>
|
||
|
||
<sect1 id="intro">
|
||
<title>简介</title>
|
||
|
||
<para>这篇文档包括了 &os;
|
||
&release.current; 的发行说明。 它描述了最近刚刚加入、
|
||
修改或删除了的 &os; 特性的说明。 同时,
|
||
它也将给出如何从先前的 &os; 版本完成升级的说明。</para>
|
||
|
||
<![ %release.type.current [
|
||
|
||
<para>这篇文档所介绍的 &release.type; 软件包,
|
||
介绍了 &release.branch; 开发分支自 &release.branch;
|
||
创建以来的进展。 关于这一分支上预编译的、 二进制版本的
|
||
&release.type; 软件包, 可以在 <ulink url="&release.url;"></ulink>
|
||
找到。</para>
|
||
|
||
]]>
|
||
|
||
<![ %release.type.snapshot [
|
||
|
||
<para>这份说明所说的 &release.type; 版本,
|
||
是在 &release.branch; 开发分支上 &release.prev; 到未来的 &release.next;
|
||
上的一点。 这一开发分支上预编译的二进制形式的 &release.type;
|
||
安装包, 可以在 <ulink url="&release.url;"></ulink> 找到。</para>
|
||
|
||
]]>
|
||
|
||
<![ %release.type.release [
|
||
|
||
<para>这是一份 &os; &release.current; 的
|
||
&release.type; 发布包。 您可以从 <ulink
|
||
url="&release.url;"></ulink> 或其他镜像那里得到它的副本。
|
||
关于这个 (或其他) &release.type; 发布包的更多信息,可以在
|
||
<ulink url="&url.books.handbook;/">&os; 手册</ulink>
|
||
中的 <ulink url="&url.books.handbook;/mirrors.html"><quote>如何获得
|
||
&os;</quote>附录</ulink> 中找到。</para>
|
||
|
||
]]>
|
||
|
||
<para>我们鼓励所有的用户在开始安装 &os;
|
||
之前首先参考这一版本所对应的勘误信息。
|
||
勘误文档将随时更新,以便为用户提供在发布工程后期或该版本发布之后
|
||
<quote>新发现的</quote> 问题和相关信息。
|
||
通常,这包括已知的 bug,安全公告,以及对于文档的修订内容。
|
||
最新的 &os; &release.current; 勘误信息可以从 &os; 网站获得。</para>
|
||
|
||
</sect1>
|
||
|
||
<sect1 id="new">
|
||
<title>最新变动</title>
|
||
|
||
<para>这一节描述了
|
||
&os; 自 &release.prev; 以来最明显的新功能和变化。
|
||
一般说来, 没有注明 &merged; 的那些新特性是 &release.branch; 所独有的。
|
||
</para>
|
||
|
||
<para>发行说明中的绝大多数条目是在说明自从
|
||
&release.prev;
|
||
以来的安全公告、新的驱动程序或硬件支持、新的命令或是选项、
|
||
重要的错误修补,以及基本系统中来自第三方的软件升级。
|
||
重要的 ports 和 packages 变动,或关于交付工程的变动也会在这份文档中体现。
|
||
显而易见地,发行说明不可能涵盖 &os; 版本之间的每一个微小变动;
|
||
这篇文档主要关注的,仍然是安全公告,用户可以察觉的修改,
|
||
以及重要的架构改良。</para>
|
||
|
||
<sect2 id="security">
|
||
<title>安全公告</title>
|
||
|
||
<para></para>
|
||
|
||
</sect2>
|
||
|
||
<sect2 id="kernel">
|
||
<title>对内核的改动</title>
|
||
|
||
<para>&man.acpi.4; 提供了对 HPET 时钟计数器的基本支持。&merged;</para>
|
||
|
||
<para>新增了用于将线程与 CPU 绑定, 以及对 CPU 资源进行分组和分配的
|
||
&man.cpuset.2; API。 同时还加入了用于管理处理器组的用户环境工具
|
||
&man.cpuset.1;。</para>
|
||
|
||
<para role="merged">为内核调试器 &man.ddb.4; 新增了输出捕捉机制。
|
||
来自 &man.ddb.4; 的输入和输出内容会自动捕捉到一个内存缓冲区,
|
||
以便在随后通过 &man.sysctl.8; 或 textdump 来读取和分析。
|
||
新增的 <command>capture</command> 命令可以控制这个功能。</para>
|
||
|
||
<para role="merged">为 &man.ddb.4; 调试器新增了简单的脚本机制支持,
|
||
使其能够支持一组经过命名的包含一系列 &man.ddb.4; 命令的脚本。
|
||
这些脚本可以在 &man.ddb.4; 中, 或通过新增的 &man.ddb.8;
|
||
来进行配置。 更多详情请参见联机手册 &man.ddb.4;。</para>
|
||
|
||
<para role="merged">内核新增了 textdump 格式的主存内容转存能力。
|
||
与传统主存内容转存方式不同, textdump
|
||
通过一系列机械化的生成/提取调试输出来提供高一级的信息。
|
||
这个机制即使在内核没有包含调试符号, 或源代码与内核不完全同步的情况下,
|
||
仍然能够提供简明但内容丰富的调试信息。 关于这一机制的进一步详情请参见联机手册
|
||
&man.textdump.4;。</para>
|
||
|
||
<para>删去了对 M:N 线程模型的内核支持。
|
||
尽管 KSE (内核调度实体) 项目成功地将线程引入了 FreeBSD, 由
|
||
kse 线程库采用的 M:N 线程模型未能发挥其全部潜能。
|
||
对于较早的以动态方式联编的使用 KSE 线程模型的应用的向前兼容性,
|
||
可以通过 &man.libmap.conf.5; 配置实现。 The &os; Project 非常感谢
|
||
&a.julian;、 &a.deischen; 和 &a.davidxu; 在 KSE 支持方面所做的工作。</para>
|
||
|
||
<para>&os; 内核现在能够通过 <varname>kern.features</varname> sysctl
|
||
树来查询特定的功能是否已联编或动态加载进内核了。
|
||
库函数 &man.feature.present.3; 为用户态应用程序提供了检测功能是否存在的简便接口。</para>
|
||
|
||
<para arch="amd64">&os; 内核支持超大内存页 (<quote>superpages</quote>) 映射了。</para>
|
||
|
||
<para arch="amd64,i386,ia64,powerpc" role="merged">ULE
|
||
调度器成为了 <filename>GENERIC</filename> 内核的默认进程调度器。</para>
|
||
|
||
<sect3 id="boot">
|
||
<title>引导加载器变动</title>
|
||
|
||
<para arch="amd64,i386" role="merged">对引导加载器使用的 BTX 内核进行了修改,
|
||
使其在实模式下调用 BIOS 例程。 这一变动使得从 USB
|
||
设备引导 &os; 成为了可能。</para>
|
||
|
||
<para arch="amd64,i386" role="merged">新增了用于支持从 GPT
|
||
标签引导系统的 gptboot 引导加载器。 为
|
||
&man.gpt.8;, 工具新增了 <command>boot</command> 命令,
|
||
其作用是通过写入引导加载器, 并根据需要创建新的引导分区来让
|
||
GPT 磁盘能够引导系统。</para>
|
||
|
||
</sect3>
|
||
|
||
<sect3 id="proc">
|
||
<title>硬件支持</title>
|
||
|
||
<para role="merged">新增了用于支持 Omnikey CardMan 4040
|
||
PCMCIA 智能卡阅读器的 &man.cmx.4; 驱动。</para>
|
||
|
||
<para>&man.syscons.4; 驱动程序支持 Colemak 键盘布局了。</para>
|
||
|
||
<para role="merged">从 OpenBSD 引入了用于支持基于 Silicon
|
||
Laboratories CP2101/CP2102 USB 串口适配器的 &man.uslcom.4; 驱动。</para>
|
||
|
||
<sect4 id="mm">
|
||
<title>多媒体支持</title>
|
||
|
||
<para></para>
|
||
|
||
</sect4>
|
||
|
||
<sect4 id="net-if">
|
||
<title>网络接口支持</title>
|
||
|
||
<para>将 &man.em.4; 驱动程序拆分成了部分代码共用的两个驱动程序。
|
||
&man.em.4; 驱动程序继续支持高至 82575 的网络控制芯片,
|
||
以及新的客户机/桌面适配器。 新增的 igb 驱动则支持新的服务器适配器。</para>
|
||
|
||
<para>为 &man.jme.4; 驱动程序新增了用于支持 PCIe 接口的基于 JMicron JMC250 Gigabit
|
||
Ethernet 和 JMC260 Fast Ethernet 控制器的网络适配器支持。</para>
|
||
|
||
<para>新增了用以支持基于 Marvell Libertas 88W8335 的 PCI 网络适配器的
|
||
&man.malo.4; 驱动程序。</para>
|
||
|
||
<para>随 &man.mxge.4; 驱动程序附带的固件版本从 1.4.25 升级到了 1.4.29。</para>
|
||
|
||
<para>对 &man.sf.4; 驱动程序进行了全面改进,
|
||
以提升其性能并增加了对校验和减负 (checksum offloading) 的支持。
|
||
此外, 改进后的驱动能够适应各种不同的硬件架构了。</para>
|
||
|
||
<para>对 &man.re.4; 驱动程序进行了全面改进, 修正了一系列问题。
|
||
这一驱动新增了对局域网唤醒 (Wake On LAN, WOL)
|
||
功能的支持。</para>
|
||
|
||
<para>对 &man.vr.4; 驱动程序进行了全面改进, 修正了一系列历史问题。
|
||
此外, 改进后的驱动能够适应各种不同的硬件架构了。</para>
|
||
|
||
<para arch="amd64,i386" role="merged">对 &man.wpi.4; 驱动程序进行了更新,
|
||
修正了一系列可靠性问题。</para>
|
||
|
||
</sect4>
|
||
</sect3>
|
||
|
||
<sect3 id="net-proto">
|
||
<title>网络协议</title>
|
||
|
||
<para>为 &man.bpf.4; 包过滤及捕捉机制新增了免复制 (zero-copy) 操作模式,
|
||
这种模式中缓冲区由用户进程租借给内核。 这一特性可以通过将 sysctl
|
||
变量 <varname>net.bpf.zerocopy_enable</varname>
|
||
的值设为 <literal>1</literal> 来启用。</para>
|
||
|
||
<para>由于缺少对多处理器的支持, 删去了 ISDN4BSD(I4B)、 <filename>netatm</filename>
|
||
以及与之相关的其他子系统。</para>
|
||
|
||
<para role="merged">修正了 TCP 选项对齐时, 采用错误的填充字节的问题。</para>
|
||
|
||
</sect3>
|
||
|
||
<sect3 id="disks">
|
||
<title>磁盘和存储</title>
|
||
|
||
<para role="merged">&man.aac.4; 驱动程序支持尺寸超过
|
||
2TB 的卷了。</para>
|
||
|
||
<para>为 &man.ata.4; 驱动程序新增了针对磁盘的 spindown 命令;
|
||
如果磁盘在预先配置的一段时间内没有收到任何请求,
|
||
则磁盘会减缓转速, 直到收到下一个请求为止。
|
||
与此同时, &man.atacontrol.8; 工具新增了用于配置这一功能的
|
||
<command>spindown</command> 命令。</para>
|
||
|
||
<para role="merged">&man.hptrr.4; 更新到了来自 Highpoint 的 1.2
|
||
版。</para>
|
||
|
||
</sect3>
|
||
|
||
<sect3 id="fs">
|
||
<title>文件系统</title>
|
||
|
||
<para>修正了在 ZFS 上使用 &man.mmap.2; 时的一个问题。</para>
|
||
|
||
<para>新增了内核模式的 NFS 锁管理器, 改善了 NFS 上锁的性能和行为。 新增的
|
||
&man.clear.locks.8; 命令可以用 NFS 客户端的身份来清除其持有的锁。</para>
|
||
|
||
</sect3>
|
||
</sect2>
|
||
|
||
<sect2 id="userland">
|
||
<title>用户态环境变动</title>
|
||
|
||
<para role="merged">&man.adduser.8; 工具新增了用于指定新用户主目录的
|
||
<option>-M</option> 参数。</para>
|
||
|
||
<para>基于 <filename>libarchive</filename> 的 BSD-授权
|
||
版本的 &man.ar.1; 和 &man.ranlib.1; 替换掉了 GNU
|
||
Binutils 版本的对应工具。</para>
|
||
|
||
<para role="merged">&man.chflags.1; 新增了用于指定详细输出的 <option>-v</option> 选项,
|
||
以及类似于 (例如) &man.chmod.1; 对应的忽略错误语义的 <option>-f</option> 选项。</para>
|
||
|
||
<para>为了与其他实现兼容, &man.cp.1; 新增了与 <option>-RrP</option>
|
||
等价的 <option>-a</option> 选项。</para>
|
||
|
||
<para>基于 <filename>libarchive</filename> 的 BSD-授权
|
||
版本的 &man.cpio.1; 替换掉了 GNU cpio。
|
||
目前 GNU cpio 仍会作为
|
||
<filename>gcpio</filename> 安装。</para>
|
||
|
||
<para>&man.env.1; 程序新增了通过从环境中删除来完全取消变量
|
||
<replaceable>name</replaceable> 设置而不是简单地将其设为空值的 <option>-u
|
||
<replaceable>name</replaceable></option>
|
||
参数。</para>
|
||
|
||
<para>新增了 &man.fdopendir.3; 库函数。</para>
|
||
|
||
<para>&man.find.1; 新增了一系列之前只在 GNU find 中有而在 &os;
|
||
&man.find.1; 中没有的语句。</para>
|
||
|
||
<para>&man.jexec.8; 新增了用于以主机名指定特定 jail 的 <option>-h
|
||
<replaceable>hostname</replaceable></option> 参数。</para>
|
||
|
||
<para>&man.kgdb.1; 新增了帮助调试内核模块崩溃转存的 <command>add-kld</command>
|
||
命令。</para>
|
||
|
||
<para>&man.ls.1; 程序新增了用于指定详细资料模式 (long
|
||
format, <option>-l</option>) 输出中日期格式的 <option>-D</option>
|
||
参数。</para>
|
||
|
||
<para>&man.nc.1; 新增了用于禁止 TCP 选项的 <option>-O</option> 选项。</para>
|
||
|
||
<para>&man.ping6.8; 工具在成功发包但没有得到回应时返回 <literal>2</literal>
|
||
(这和 &man.ping.8; 的行为相同)。 此前它只是返回一个非零值。</para>
|
||
|
||
<para>新增了用于显示进程详细信息的 &man.procstat.1; 工具。</para>
|
||
|
||
<para role="merged">&man.realpath.1; 新增了用于禁止给出警告信息的
|
||
<option>-q</option> 选项; 此外, 它能够接受多个路径作为命令行参数了。</para>
|
||
|
||
<para>&man.split.1; 新增了用于指定切分块数的 <option>-n</option>
|
||
参数。</para>
|
||
|
||
<para>&man.tar.1; 新增了用于启用 &man.compress.1;-式
|
||
压缩/解压缩 的 <option>-Z</option> 选项。</para>
|
||
|
||
<para>&man.tar.1; 工具新增了用于在创建和解包时忽略用户/组名的
|
||
<option>--numeric-owner</option> 选项。</para>
|
||
|
||
<para>&man.tar.1; 工具新增了用以在解包时产生稀疏文件的
|
||
<option>-S</option> 选项。</para>
|
||
|
||
<para>&man.tar.1; 工具新增了用于根据指定的正则表达式来替换文件名的
|
||
<option>-s</option> 参数。</para>
|
||
|
||
<para>新增了用于返回进程所在会话 leader 组 ID 的库函数 &man.tcgetsid.3;。
|
||
这个函数是在 IEEE Std 1003.1-2001
|
||
(POSIX) 中定义的。</para>
|
||
|
||
<para>&man.top.1; 新增了用于显示各个 CPU 使用统计的 <option>-P</option> 选项。</para>
|
||
|
||
<para>&man.traceroute.8; 新增了用于显示每跳的 自治网域 (AS)
|
||
编号的 <option>-a</option> 开关; 而新增的 <option>-A</option>
|
||
参数则可以选择特定的
|
||
WHOIS 服务器。</para>
|
||
|
||
<para>&man.traceroute6.8; 新增了与常见的 UDP 探测包不同的、
|
||
不采用上层协议的探测包进行探测的 <option>-U</option> 选项。</para>
|
||
|
||
<sect3 id="rc-scripts">
|
||
<title><filename>/etc/rc.d</filename> 脚本</title>
|
||
|
||
<para></para>
|
||
|
||
</sect3>
|
||
</sect2>
|
||
|
||
<sect2 id="contrib">
|
||
<title>基本系统中的第三方软件</title>
|
||
|
||
<para role="merged"><application>AMD</application> 从 6.0.10
|
||
升级到了 6.1.5。</para>
|
||
|
||
<para role="merged"><application>awk</application> 从 2007 年 5 月 1 日版升级到了
|
||
2007 年 10 月 23 日版。</para>
|
||
|
||
<para role="merged"><application>bzip2</application> 从 1.0.4
|
||
升级到了 1.0.5。</para>
|
||
|
||
<para><application>CVS</application> 从 1.11.17
|
||
升级到了 1.11.22 之后于 2008 年 3 月 10 日签出的快照版本。</para>
|
||
|
||
<para><application>hostapd</application> 从 0.5.8 升级到了 0.5.10。</para>
|
||
|
||
<para><application>IPFilter</application> 从
|
||
4.1.23 升级到了 4.1.28。</para>
|
||
|
||
<para><application>less</application> 从
|
||
v408 升级到了 v416。</para>
|
||
|
||
<para><application>ncurses</application> 从
|
||
5.6-20061217 升级到了 5.6-20080503。</para>
|
||
|
||
<para role="merged"><application>OpenPAM</application> 从
|
||
Figwort 版升级到了 Hydrangea 版。</para>
|
||
|
||
<para role="merged"><application>sendmail</application> 从
|
||
8.14.1 升级到了 8.14.3。</para>
|
||
|
||
<para role="merged">时区数据库从
|
||
<application>tzdata2007h</application> 版升级到了
|
||
<application>tzdata2008b</application> 版。</para>
|
||
|
||
<para><application>WPA Supplicant</application> 从 0.5.8 升级到了 0.5.10。</para>
|
||
|
||
</sect2>
|
||
|
||
<sect2 id="ports">
|
||
<title>Ports/Packages 套件基础结构</title>
|
||
|
||
<para>&man.pkg.create.1; 工具新增了
|
||
<option>-n</option> 选项。 当指定了这个选项, 并且制作的预编译包已经存在时,
|
||
现有的版本不会被覆盖。 这个选项在连续执行带 <option>-Rb</option>
|
||
参数的 &man.pkg.create.1; 时十分有用。</para>
|
||
|
||
<para>删去了用于对 &os; 预编译包进行签名和验证的 pkg_sign 和 pkg_check 工具。
|
||
这些工具只能用于使用 &man.gzip.1; 压缩的预编译包, 而
|
||
&man.bzip2.1; 压缩作为标准压缩已经使用很长时间了。</para>
|
||
|
||
</sect2>
|
||
|
||
<sect2 id="releng">
|
||
<title>发布工程与系统集成</title>
|
||
|
||
|
||
<para role="merged">支持的
|
||
<application>GNOME</application> 桌面环境
|
||
(<filename role="package">x11/gnome2</filename>)
|
||
版本从 2.20.1 升级到了 2.22。</para>
|
||
|
||
</sect2>
|
||
|
||
<sect2 id="doc">
|
||
<title>文档</title>
|
||
|
||
<para></para>
|
||
|
||
</sect2>
|
||
</sect1>
|
||
|
||
<sect1 id="upgrade">
|
||
<title>从先前版本的 &os; 升级</title>
|
||
|
||
<para arch="amd64,i386">从 &os; 6.2-RELEASE 开始,
|
||
系统已经能够通过使用 &man.freebsd-update.8; 来实现 RELEASE 版本之间
|
||
(以及不同安全分支的快照版本) 的二进制升级。 二进制升级过程将更新未经修改的 userland
|
||
工具, 以及随官方 &os; 发行版发布的、 未作修改的 GENERIC 或
|
||
SMP 内核。 使用 &man.freebsd-update.8; 工具的主机,
|
||
需要有可用的 Internet 连接。</para>
|
||
|
||
<para>旧式的二进制升级, 则是通过随 CDROM 发行介质提供的 &man.sysinstall.8; 的
|
||
<command>Upgrade</command> 选项来完成的。 这种二进制升级方式,
|
||
对于 非-&arch.i386;、 非-&arch.amd64; 的,
|
||
以及没有接入 Internet 的系统而言会比较有用。</para>
|
||
|
||
<para>此外, 也可以使用源代码从较早版本升级的方式 (通过从源代码重新编译 &os;
|
||
的基本系统), 其操作方法请参见
|
||
<filename>/usr/src/UPDATING</filename>。</para>
|
||
|
||
<important>
|
||
<para>很显然,升级 &os; 时,应该首先备份
|
||
<emphasis>全部</emphasis> 数据和配置文件。</para>
|
||
</important>
|
||
</sect1>
|
||
</article>
|