summaryrefslogtreecommitdiffstats
path: root/release/doc/zh_CN.GB2312/relnotes/article.xml
blob: c97acb9d6098b875d77f9c4e18c7d514729480f9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
        "../../../share/xml/freebsd50.dtd" [
<!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN" "release.ent">
 %release;
]>
<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
<info><title>&os; &release.current; 发行说明</title>
  

  <author><orgname>The &os; Project</orgname></author>

  <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 xml: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>
</info>

<sect1 xml:id="intro">
  <title>简介</title>

  <para>这篇文档包括了 &os;
    &release.current; 的发行说明。 它描述了最近刚刚加入、
    修改或删除了的 &os; 特性的说明。 同时,
    它也将给出如何从先前的 &os; 版本完成升级的说明。</para>

  <para releasetype="current">这篇文档所介绍的 &release.type; 软件包,
    介绍了 &release.branch; 开发分支自 &release.branch;
    创建以来的进展。 关于这一分支上预编译的、 二进制版本的
    &release.type; 软件包, 可以在 <uri xlink:href="&release.url;">&release.url;</uri>
    找到。</para>

  <para releasetype="snapshot">这份说明所说的 &release.type; 版本,
    是在 &release.branch; 开发分支上 &release.prev; 到未来的 &release.next;
    上的一点。 这一开发分支上预编译的二进制形式的 &release.type;
    安装包, 可以在 <uri xlink:href="&release.url;">&release.url;</uri> 找到。</para>

  <para releasetype="release">这是一份 &os; &release.current; 的
    &release.type; 发布包。 您可以从 <uri xlink:href="&release.url;">&release.url;</uri> 或其他镜像那里得到它的副本。
    关于这个 (或其他) &release.type; 发布包的更多信息,可以在
    <link xlink:href="&url.books.handbook;/">&os; 手册</link>
    中的 <link xlink:href="&url.books.handbook;/mirrors.html"><quote>如何获得
    &os;</quote>附录</link> 中找到。</para>

  <para>我们鼓励所有的用户在开始安装 &os;
    之前首先参考这一版本所对应的勘误信息。
    勘误文档将随时更新,以便为用户提供在发布工程后期或该版本发布之后
    <quote>新发现的</quote> 问题和相关信息。
    通常,这包括已知的 bug,安全公告,以及对于文档的修订内容。
    最新的 &os; &release.current; 勘误信息可以从 &os; 网站获得。</para>

</sect1>

<sect1 xml:id="new">
  <title>最新变动</title>

  <para>这一节描述了
    &os; 自 &release.prev; 以来最明显的新功能和变化。
    一般说来, 没有注明 &merged; 的那些新特性是 &release.branch; 所独有的。
  </para>

  <para>发行说明中的绝大多数条目是在说明自从
    &release.prev;
    以来的安全公告、新的驱动程序或硬件支持、新的命令或是选项、
    重要的错误修补,以及基本系统中来自第三方的软件升级。
    重要的 ports 和 packages 变动,或关于交付工程的变动也会在这份文档中体现。
    显而易见地,发行说明不可能涵盖 &os; 版本之间的每一个微小变动;
    这篇文档主要关注的,仍然是安全公告,用户可以察觉的修改,
    以及重要的架构改良。</para>

  <sect2 xml:id="security">
    <title>安全公告</title>

    <para/>

  </sect2>

  <sect2 xml: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 xml: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 xml: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 xml:id="mm">
	<title>多媒体支持</title>

	<para/>

      </sect4>

      <sect4 xml: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 xml: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 xml: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 xml:id="fs">
      <title>文件系统</title>

      <para>修正了在 ZFS 上使用 &man.mmap.2; 时的一个问题。</para>

      <para>新增了内核模式的 NFS 锁管理器, 改善了 NFS 上锁的性能和行为。 新增的
        &man.clear.locks.8; 命令可以用 NFS 客户端的身份来清除其持有的锁。</para>

    </sect3>
  </sect2>

  <sect2 xml: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 xml:id="rc-scripts">
      <title><filename>/etc/rc.d</filename> 脚本</title>

      <para/>

    </sect3>
  </sect2>

  <sect2 xml: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 xml: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 xml:id="releng">
    <title>发布工程与系统集成</title>


    <para role="merged">支持的
      <application>GNOME</application> 桌面环境
      (<package>x11/gnome2</package>)
      版本从 2.20.1 升级到了 2.22。</para>

  </sect2>

  <sect2 xml:id="doc">
    <title>文档</title>

    <para/>

  </sect2>
</sect1>

<sect1 xml: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>
OpenPOWER on IntegriCloud