summaryrefslogtreecommitdiffstats
path: root/release/doc/zh_CN.GB2312/relnotes/common/new.sgml
blob: b85ecab4f7a2c61ff43171b64d163d83d039bee5 (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
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
<!--
     The FreeBSD Simplified Chinese Project

     Original revision: 1.910
-->
<articleinfo>
  <title>&os;/&arch; &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>
    <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>这篇文档包括了在 &arch.print; 硬件平台上 &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>在 &man.texindex.1; 中发现并修正了一处临时文件漏洞,
      这一漏洞可能导致本地的攻击者以运行 &man.texindex.1; 工具的用户身份覆盖文件。
      要了解进一步详情, 请参阅安全公告 <ulink
      url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-06:01.texindex.asc">FreeBSD-SA-06:01.texindex</ulink>。 &merged;</para>

    <para>在 &man.ee.1; 中发现并修正了一处临时文件漏洞,
      这一漏洞可能导致本地的攻击者以运行 &man.ee.1; 的用户身份覆盖文件。
      要了解进一步详情, 请参阅安全公告 <ulink
      url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-06:02.ee.asc">FreeBSD-SA-06:02.ee</ulink>。 &merged;</para>

    <para>发现并修正了 &man.cpio.1; 工具中的一系列漏洞。
      要了解进一步详情, 请参阅安全公告 <ulink
      url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-06:03.cpio.asc">FreeBSD-SA-06:03.cpio</ulink>。 &merged;</para>

    <para>发现并修正了 &man.ipfw.4; IP 分片处理部分的一处可能导致崩溃的问题。
      要了解进一步详情, 请参阅安全公告 <ulink
      url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-06:04.ipfw.asc">FreeBSD-SA-06:04.ipfw</ulink>。 &merged;</para>

    <para>发现并修正了 IEEE 802.11 扫描代码中的一处潜在的缓冲区溢出问题。
      要了解进一步详情, 请参阅安全公告 <ulink
      url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-06:05.80211.asc">FreeBSD-SA-06:05.80211</ulink>。 &merged;</para>

    <para>发现并修正了两个可能导致一部分内核内存被泄露给用户的问题。
      要了解进一步详情, 请参阅安全公告 <ulink
      url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-06:06.kmem.asc">FreeBSD-SA-06:06.kmem</ulink>. &merged;</para>

    <para>发现并修正了 &man.pf.4; 中 IP 分片处理过程中一个可能导致在特定情况下崩溃的问题。
      要了解进一步详情, 请参阅安全公告 <ulink
      url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-06:07.pf.asc">FreeBSD-SA-06:07.pf</ulink>. &merged;</para>

  </sect2>

  <sect2 id="kernel">
    <title>对内核的改动</title>

    <para>&man.acpi.4; 提供了对 HPET 时钟计数器的基本支持。</para>

    <para>&man.acpi.ibm.4; 驱动提供了将风扇配置为手动或自动控制,
      以及在手动控制模式下调节风扇转速的能力。 请注意手工控制风扇转速时,
      在设置 sysctl 变量
      <varname>dev.acpi_ibm.<replaceable>0</replaceable>.fan</varname>
      为零 (手动) 时需要特别小心, 因为禁用自动风扇控制,
      可能会使硬件过热, 从而导致永久性的损坏。</para>

    <para>&man.ddb.4; 新增了 <literal>show lock</literal>
      命令。 参数为有效的锁类时, 这一命令会显示关于锁的多种信息,
      并调用在 lock_class 中新增的函数指针 (lc_ddb_show)
      来显示关于锁的其他信息 (例如 mutex 的持有者, 或
      xlock 的 sx 锁)。</para>

    <para>&man.ddb.4; 新增了 <literal>show sleepq</literal>
      命令。 这个命令需要指定一个等待通道作为其参数,
      起作用是显示与那一等待通道关联的休眠队列。</para>

    <para>修正了文件描述符处理中的一个会导致
      <literal>close(0); dup(fd)</literal> 在某些情况下不返回描述符
      <literal>0</literal> 的 bug。</para>

    <para>新增了 &man.firmware.9; 子系统。 它能够使用特制的模块,
      将二进制数据加载到内核中。</para>

    <para>&man.gdb.1; 远程调试接口提供了对与将控制台信息复制到远程调试器实例的能力。
      要启用这一特性, 需要在  <filename>loader.conf</filename>
      中配置 <literal>debug.gdbcons="1"</literal>,
      并在加载器提示符出现时输入 <literal>boot -d;
	gdb; step</literal>, 再从远程机器挂接 &man.gdb.1;。
      sysctl 变量 <varname>debug.gdbcons</varname> 可以用来控制这一功能的开关状态。</para>

    <para>&man.hwpmc.4; 和 &man.pmcstat.8; 提供了对动态加载的内核模块以及通过
      <function>dlopen()</function> 加载的动态连接库的性能分析支持。
      &man.pmcstat.8; 新增了通过网络 socket 将数据记录到远程主机的能力。</para>

    <para>&man.random.4; 熵设备驱动程序是 MPSAFE 的了。</para>

    <para>新增了 <literal>SIGCHLD</literal> 信号队列的功能。
      对于每个状态发生变化的子进程, 都会在队列中有一个对应的 SIGCHLD 实例,
      如果信号尚未被处理, 而进程状态继续发生其他变化,
      则信号信息会更新为最新的进程状态。
      加载器变量 <varname>kern.sigqueue.queue_sigchild</varname>
      可以控制这一行为, 将其设置为零表示完全禁用
      <literal>SIGCHLD</literal> 队列功能。</para>

    <para>新增了一个 sysctl 变量 <varname>kern.malloc_stats</varname>。
      这使得内核 malloc 统计信息能够以二进制结构流的形式输出给用户态程序。</para>

    <para>新增了 sysctl 变量 <varname>kern.elf[32|64].can_exec_dyn</varname>。
      这个变量设置为 <literal>1</literal> 表示允许执行 <literal>ET_DYN</literal> 文件
      (动态连接库)。 默认情况下这个变量设为 <literal>0</literal>, 但在使用某些假定
      <filename>/lib/ld-linux.so.2</filename> 是可执行文件的
      Linux 脚本时, 这个变量就能发挥作用了。</para>

    <para>删去了新增的 sysctl 变量 <varname>kern.elf[32|64].can_exec_dyn</varname>。
      取而代之的是对 <varname>brandinfo</varname>
      结构进行了扩展, 在其中新增了
      <literal>BI_CAN_EXEC_DYN</literal> 标志,
      用于表示通常允许执行的 ELF 动态二进制文件。</para>

    <para>新增了 sysctl 变量 <varname>kern.forcesigexit</varname>。
      它表示在当前线程持有 trap 信号, 或信号被当前进程忽略时,
      强制进程做 sigexit 处理。 默认启用。</para>

    <para>实现了内核 &man.malloc.9; 缓冲区破损保护机制 RedZone。
      它能够在运行时执行 &man.free.9; 和 &man.realloc.9; 时检测缓冲区的上溢和下溢,
      并显示分配和释放时的调用栈。 要了解进一步的详情,
      请参见 &man.redzone.9; 联机手册。</para>

    <para>新增了 sysctl 变量 <varname>security.mac.biba.interfaces_equal</varname>,
      用于配置是否以标签
      <literal>biba/equal(equal-equal)</literal> 创建所有网络接口。
      这对于类似 &man.dhclient.8; 和 &man.ppp.8; 这样需要初始化网络接口,
      但又不提供标签支持的程序非常有用。 默认情况下,
      此变量的值为 <literal>0</literal>(禁用)。</para>

    <para>新增了一个 sysctl 变量 <varname>vm.zone_stats</varname>。
      这使得 &man.uma.9; 分配器的统计信息能够以二进制结构流的形式输出给用户态程序。</para>

    <para>sysctl 变量 <varname>hw.pci.do_powerstate</varname>
      从一个布尔值变为了一个范围。
      <literal>0</literal> 表示完全不进行电源管理,
      <literal>1</literal> 表示进行保守的电源管理,
      此时导致出现问题的设备类型会被加入监视列表,
      <literal>2</literal> 表示激进的电源管理,
      所有对于系统不致产生致命影响的设备类型都被加入列表,
      而 <literal>3</literal> 则表示无条件关闭全部设备。
      默认值为 <literal>1</literal>。</para>

    <para arch="ia64">现在 <filename>GENERIC</filename> 内核默认启用
      SMP 支持了。</para>

    <para>加入了用以展示 集权式访问控制框架 的示范内核配置文件
      <filename>src/sys/<replaceable>arch</replaceable>/conf/MAC</filename>。</para>

    <para><varname>POSIX_TIMERS</varname> 支持更新到了 200112L。</para>

    <para>实现了对 POSIX 消息队列的试验性支持。</para>

    <para>加入了对 Xbox 的支持, 这一架构与 i386 几乎完全相同。
      关于开发的最新进展,
      请访问 <ulink url="http://xbox-bsd.nl"></ulink>。</para>

    <para>在各个平台上加入了 <filename>DEFAULTS</filename> 内核配置文件。</para>

    <sect3 id="boot">
      <title>引导区和 loader 的变化</title>

      <para>新增了选项 <option>-S</option>,
	用以在 <filename>/boot.config</filename> 或 <prompt>boot:</prompt>
	命令行设置 <filename>boot2</filename> 的串口速率。</para>

      <para arch="i386,amd64">新增了 loader 变量
	<varname>comconsole_speed</varname> 用以调整串口速率。
	如果前一阶段中引导加载器要求使用串口控制台,
	则默认的速率会根据当前的串口速率确定, 否则将设为 9600
	或编译时配置的内核选项 <literal>BOOT_COMCONSOLE_SPEED</literal> 所指定的值。</para>

      <!-- Above this line, order boot loader changes by keyword-->

    </sect3>

    <sect3 id="proc">
      <title>硬件支持</title>

      <para>&man.acpi.thermal.4; 驱动现在支持被动降温了。</para>

      <para>&man.cardbus.4; 驱动现在支持
	<filename>/dev/cardbus<replaceable>%d</replaceable>.cis</filename> 了。</para>

      <para>新增了 &man.ce.4; 驱动, 这一驱动用于支持 Cronyx Tau-PCI/32 适配器。</para>

      <para>在 &man.crypto.9; 子系统中加入了对于 VIA C3 处理器中 PadLock 安全协处理器的支持。
	&merged;</para>

      <para>修正了导致 &man.ichsmb.4; 内核模块无法卸载的问题。</para>

      <para arch="i386,amd64">新增了 OpenIPMI 兼容驱动 &man.ipmi.4;。
	OpenIPMI (智能平台管理接口) 是一个设计用来实现远程监视和控制服务器、
	网络和电信平台的开放标准。</para>

      <para>&man.kbdmux.4; 驱动已经集成到了 &man.syscons.4; 和
	<devicename>kbd</devicename> 设备驱动程序中。
	默认情况下 &man.syscons.4; 会首先查找 &man.kbdmux.4;
	键盘, 如果找不到泽搜索其他键盘。 切换到 &man.kbdmux.4;
	可以在启动时通过使用 &man.loader.8; 来加载
	<literal>kbdmux</literal> 内核模块,
	或在运行状态通过 &man.kldload.8; 加载模块并移去当前键盘来完成。</para>

      <para arch="amd64,i386">&man.kbdmux.4; 已被加入默认的
	<filename>GENERIC</filename> 内核。
	此外, 由于这一变动修正了 USB 键盘探测问题,
	因此引导加载器菜单中的 <quote>Boot FreeBSD with USB keyboard</quote>
	选项也随之删去。</para>

      <para arch="ia64">加载器变量 <varname>debug.mpsafevfs</varname>
	现在默认设为 <literal>1</literal> 了。</para>

      <para>加入了 &man.scc.4; 驱动。 这提供了对串口通讯控制器的通用支持,
	并能将通道控制和模式托管给下级驱动, 如 &man.uart.4; 来进行。</para>

      <para arch="amd64">smbios(4) 驱动加入了对于 amd64 的支持。</para>

      <para>加入了 tnt4882(4) 驱动, 它能够支持 National Instruments
	PCI-GPIB 卡。</para>

      <para arch="alpha,amd64,i386,ia64,sparc64">&man.uart.4; 驱动放入了默认的
	<filename>GENERIC</filename> 内核。
	当 &man.sio.4; 和 &man.uart.4; 都能控制串口时,
	&man.sio.4; 优先。</para>

      <para>&man.uart.4; 驱动提供了 LOM (熄灯号管理)
	和作为控制台的 RSC (远程系统控制) 设备。</para>

      <para arch="i386">新增了加载器变量
	<varname>hw.apic.enable_extint</varname>。
	这个变量可以用来表示不要屏蔽第一个
	I/O APIC 上的 ExtINT 引脚。 至少有一种用于 Intel Pentium III
	的芯片组需要这一设置, 即使所有的 8259A 引脚都已屏蔽。
	默认设置仍然是屏蔽 ExtINT 引脚。</para>

      <sect4 id="mm">
	<title>多媒体支持</title>

	<para>&man.agp.4; 驱动现在支持 ATI IGP 芯片组了。</para>

	<para>&man.sound.4; 驱动现在支持更为广泛的采样速率、
	  多种可选的采样精度, 以及 24/32-位 PCM 格式转换了。</para>

	<para>&man.snd.als4000.4; 驱动是 MPSAFE 的了。</para>

	<para>新增了 &man.snd.atiixp.4; 驱动。
	  这一驱动支持 ATI IXP 200/300/400 系列音效控制器。</para>

	<para>&man.snd.atiixp.4; 驱动支持挂起和恢复功能了。</para>

	<para>&man.snd.cmi.4; 驱动是 MPSAFE 的了。</para>

	<para>&man.snd.solo.4; 驱动是 MPSAFE 的了。</para>

	<para>&man.snd.via8233.4; 驱动是 MPSAFE 的了。</para>

	<para>&man.snd.via82c686.4; 驱动是 MPSAFE 的了。</para>

	<para arch="amd64">The &man.speaker.4; 支持 &os;/amd64 了。</para>

	<para>The &man.uaudio.4; 支持 24/32 位 声音文件格式及其转换了。</para>
      </sect4>

      <sect4 id="net-if">
	<title>网络接口支持</title>

	<para>&man.ath.4; 驱动更新到了 0.9.16.16 版。</para>

	<para>&man.bge.4; 驱动的巨帧支持是 MPSAFE 的了。</para>

	<para>&man.bge.4; 驱动支持类似 sparc64 这样的 big-endian
	  架构了。</para>

	<para>&man.dc.4; 驱动是 MPSAFE 的了。 &merged;</para>

	<para>&man.de.4; 驱动已转为使用 &man.bus.dma.9;
	  API 并且是 MPSAFE 的了。</para>

	<para>&man.ed.4;  驱动是 MPSAFE 的了。</para>

	<para>&man.el.4; 驱动已被删除。</para>

	<para>&man.em.4; 驱动支持类似 sparc64 这样的 big-endian
	  架构了。</para>

	<para>&man.em.4; 驱动更新到了来自 Intel 的 3.2.18 版, 提供了对基于
	  82571 和 82572 芯片的适配器的支持。</para>

	<para>&man.em.4; 驱动提供了初步的挂起和恢复功能支持。</para>

	<para>通过使用快速中断处理程序以及 taskqueue 代替 ithread
	  处理程序, 改善了 &man.em.4; 驱动的性能。 出于调试目的,
	  可以通过定义 <literal>NO_EM_FASTINTR</literal> 内核选项来禁用这一变动。</para>

	<para>&man.iwi.4; 驱动支持类似 sparc64 这样的 big-endian
	  架构了。</para>

	<para>新增了 &man.le.4; 驱动, 这一驱动支持 AMD Am7900 LANCE
	  和 Am79C9xx PCnet 网络接口控制器, 它基于 NetBSD 的实现。
	  尽管 &man.lnc.4; 驱动也支持这些网络接口控制器,
	  这一驱动提供了许多额外的特性, 例如
	  MPSAFE、 ALTQ、 VLAN_MTU、 ifmedia, 以及 PCI 变体的 32-位 DMA。</para>

	<para>&man.my.4; 驱动是 MPSAFE 的了。 &merged;</para>

	<para arch="i386,amd64">新增了 &man.myri10ge.4; 驱动,
	  用以支持 Myricom Myri10GE 10 千兆以太网适配器。
	  欲了解进一步的详情, 请参见
	  &man.myri10ge.4;。</para>

	<para>&man.nve.4; 驱动更新到了 1.0-0310 版
	  (2005 年 11 月 23 日)。</para>

	<para>&man.pcn.4; 驱动是 MPSAFE 的了。 &merged;</para>

	<para>&man.re.4; 驱动新增了对于 D-Link DGE-528(T)
	  千兆以太网卡的支持。</para>

	<para>&man.sf.4; 驱动是 MPSAFE 的了。 &merged;</para>

	<para>&man.ste.4; 驱动是 MPSAFE 的了。</para>

	<para>&man.ti.4; 驱动支持类似 sparc64 这样的 big-endian
	  架构了。</para>

	<para>新增了 &man.ufoma.4; 驱动, 用以支持
	  FOMA (由日本 NTT DoCoMo, Inc. 公司生产的第三代移动电话系统)。
	  它应该也能支持其他第三代移动电话, 因为这一驱动是基于日本
	  MCPC (移动计算促进联盟) 的 USB 实现指导方针实现的恶。</para>

	<para>新增了 vgapci(4) 驱动。 这是一个用于 VGA PCI 设备的桩驱动,
	  它以总线的形式存在, 这样其他驱动如 drm(4)、
	  &man.acpi.video.4;, 以及 &man.agp.4; 就可以附着在其上,
	  从而允许多个驱动程序同时驱动同一设备。</para>

      </sect4>
    </sect3>

    <sect3 id="net-proto">
      <title>网络协议</title>

      <para>对 &man.arp.8; 重传算法进行了重写,
	使得在需要某一 ARP 项时, 不再抑制重传 ARP 请求。 sysctl 变量
	<varname>net.link.ether.inet.host_down_time</varname>
	也因此消失了。</para>

      <para>&man.arp.8; 新增了 sysctl 变量,
	<varname>net.link.ether.inet.log_arp_permanent_modify</varname>
	以抑制对永久 ARP 项的修改尝试的日志记录。</para>

      <para>&man.arp.8; 工具能够将 <option>-i</option>
	参数与 <option>-d</option> 和 <option>-a</option> 参数联用,
	表示删去指定的网络接口上的所有 ARP 项。</para>

      <para arch="amd64,i386,pc98">实现了试验性的 BPF 即时编译器。
	要启用这一特性, 需要加入内核选项
	<literal>options BPF_JITTER</literal>,
	而 sysctl 变量 <varname>net.bpf.jitter.enable</varname>
	则可以用于临时禁用这一功能。</para>

      <para>用于支持 RFC 1701 和 RFC 1702 所定义的 GRE 封包的 &man.gre.4; 驱动,
	现在支持在 GRE 上运行的 IPv6 了。</para>

      <para>&man.if.bridge.4; 网桥驱动新增了创建镜像口, 即,
	将网桥接收到的每个帧都发送到那个端口的支持。
	这一功能可以通过 &man.ifconfig.8; 启用。</para>

      <para>&man.if.bridge.4; 网桥驱动新增了对
	RFC 3378 EtherIP 的支持。 这一变动使得向网桥增加 &man.gif.4;
	接口, 并收发 IP 协议 97 的数据包成为可能。 这些包实际上是附带了 EtherIP
	包头的以太网帧。</para>

      <para>默认禁用了在 &os; 中的
	&man.ip6.4; 协议栈中的广播包路径 MTU 发现功能,
	这使由于通过多播种的许多路由器来通知路径 MTU
	可能构成对于一台服务器的分布式拒绝服务攻击行为。
	这一功能可以通过新的 sysctl 变量
	<varname>net.inet6.ip6.mcast_pmtu</varname> 来启用。</para>

      <para>&man.ipfw.4; 的 IP 包过滤器现在支持 IPv6 了。
	&man.ip6fw.8; 已经过时, 并将在以后的发行版中删除。</para>

      <para>&man.ipfw.4; 新增了对于由查表得到的值所对应的动作进行替换的功能,
	这一功能可以用来优化规则集。 目前,
	该功能只能用于 <literal>pipe</literal>、
	<literal>queue</literal>、
	<literal>divert</literal>、
	<literal>tee</literal>、
	<literal>netgraph</literal>
	以及 <literal>ngtee</literal> 规则。
	例如, 下列规则会把不同的包发给不同的 pipe:</para>

      <programlisting>pipe 1000 config bw 1000Kbyte/s
pipe 4000 config bw 4000Kbyte/s
table 1 add x.x.x.x 1000
table 1 add x.x.x.y 4000
pipe tablearg ip from table(1) to any</programlisting>

      <para>&man.natm.4;, 内建模式的 ATM 协议层是 MPSAFE 的了。</para>

      <para>Netgraph 节点 &man.ng.bpf.4; 提供了对 BPF 即时编译器的支持。
	此外, 这一 sysctl 变量的名字已经由 <varname>net.bpf.jitter.enable</varname>
	改为 <varname>net.bpf_jitter.enable</varname>,
	并可以同时控制 &man.bpf.4; 和 &man.ng.bpf.4; 了。</para>

      <para>修正了通过 TCP 进行的 NFS 连接无法在服务器发出 FIN 之后重连的问题。
	这一问题会影响使用 Solaris 的 NFS 服务器提供的服务。</para>

      <para>sysctl 变量 <varname>net.inet.ip.portrange.reservedhigh</varname>
	和 <varname>net.inet.ip.portrange.reservedlow</varname>
	对 IPv6 也起作用了。</para>

      <para>新增了 sysctl 变量 <varname>net.inet.icmp.reply_from_interface</varname>。
	它能够决定是否允许 &man.icmp.4;
	以收到包的 IP 地址回应那些非本地生成的包。
	如果要使用 &man.traceroute.8; 检查实际路径上的包,
	而不是可能不同的返回路径上的包, 这个选项非常有用。</para>

      <para>新增了 sysctl 变量 <varname>net.inet.icmp.quotelen</varname>。
	者允许改变在 ICMP 回应时引用原始包的长度。
	最小长度 8 字节是在内部的强制限制,
	而最大引用长度则是在回应 mbuf 中剩余的空间。
	这个选项是应 I-D
	<filename>draft-gont-icmp-payload-00.txt</filename>
	提出的问题加入的。</para>

      <para>&man.icmp.4; 现在会在回应时引用完整的 TCP 头,
	并根据需要分配一个 mbuf cluster。 这一改动修正了由 I-D
	<filename>draft-gont-icmp-payload-00.txt</filename>
	提出的 TCP 问题。</para>

      <para>新增了 socket 选项 <literal>IP_MINTTL</literal>。
	它可以用来设置某一 socket 上的包在收到时所允许接受的最小 TTL。
	所有 TTL 值更低的包会被直接丢弃, 并且这一设置对已经连接或正在连接,
	以及监听状态的 RAW、 UDP 以及 TCP socket 都有效。
	一般说来这个选项有用的设置值只有 255,
	它表示阻止来自直接连接的网络的包到达本地监听 socket。
	另外, 这个选项也使得用户态的由 RFC 3682 定义的 <quote>统一 TTL
	  安全机制 (GTSM)</quote> 实现成为可能。</para>

      <para>秘密转发 (stealth forwarding) 现在既支持 IPv4, 也支持 IPv6 了。
	这一行为可以通过新增的 sysctl 变量
	<varname>net.inet6.ip6.stealth</varname> 来控制。</para>

      <para>修正了导致 socket 选项 <literal>IPV6_V6ONLY</literal>
	对 UDP 无效的 bug。</para>

      <para>当 RTT 低于某一特定阈值时, TCP 带宽-延迟积限制功能会自动禁用。
	在 LAN 上这一优化是没有意义的, 因为时钟的粒度过粗,
	使得在计算最大带宽时会出问题。 新增的 sysctl 变量
	<varname>net.inet.tcp.inflight.rttthresh</varname>
	可以用来指定希望此功能起作用的以毫秒为单位的阈值,
	其默认值为 10ms。</para>
    </sect3>

    <sect3 id="disks">
      <title>磁盘及存储</title>

      <para>&man.aac.4; 驱动可以支持在某些惠普机上的 Adaptec 2610SA SATA-RAID
	控制器了。</para>

      <para>对 &man.amr.4; 驱动的性能进行了改进,
	并增加了完全的 64-位 DMA 支持。 尽管这一特性默认是启用的,
	但也还可以使用加载器变量
	<varname>hw.amr.force_sg32</varname> 来禁用,
	以方便调试。</para>

      <para>&man.amr.4; 驱动新增了 Linux LSI MegaRaid 工具所需的 &man.ioctl.2;
	请求支持, 以便在 &os; 的 Linux 模拟环境中使用它们。</para>

      <para>&man.ata.4; 驱动提供了针对某些在 48-位 模式下 DMA
	无法正常工作的控制器的缓解方法。 对于那些可疑的控制器,
	驱动程序会在访问超过 137GB 的区域时使用 PIO 模式。</para>

      <para>&man.ata.4; 驱动提供了对 ITE IT8211F IDE 控制器,
	以及 Promise PDC40718 和 PDC40719 芯片的支持,
	后两种芯片见于 Promise
	Fasttrak TX4300。</para>

      <para>&man.ata.4; 驱动支持以 DMA 方式将内核崩溃转存数据存入
	&man.ataraid.4; 设备了。</para>

      <para>&man.ata.4; 驱动支持 USB 海量存储 (mass storage) 类型的设备了。
	要启用这一支持, 需要在内核配置文件中加入 <literal>device atausb</literal>
	或加载
	<filename>atausb</filename> 内核模块。
	请注意这一功能与 &man.umass.4; 冲突, 因此无法与其并存。</para>

      <para>&man.ataraid.4; 驱动支持
	JMicron ATA RAID 元数据了。</para>

      <para><literal>GEOM_MIRROR</literal> class 支持将内核崩溃转存数据,
	保存到其 GEOM providers 上了。</para>

      <para><literal>GEOM_MIRROR</literal> 和 <literal>GEOM_RAID3</literal>
	这两个 class 新增了对 sysctl 变量
	<varname>kern.geom.mirror.disconnect_on_failure</varname>
	和
	<varname>kern.geom.graid3.disconnect_on_failure</varname>
	的支持, 用以控制发生故障的盘是否断开。
	目前其默认值是 <literal>1</literal> 以保持之前的行为,
	而如果将它设置为 <literal>0</literal>, 则这样的盘不会被断开,
	而内核将继续尝试使用它们
	(只有第一次错误被记入日志)。
	如果有两个盘都存在故障, 但位置不同, 则这一功能将有助于恢复数据。
	出现故障的盘在 <command>gmirror list</command>
	和 <command>graid3 list</command> 的输出重仍可见, 但会标记上
	<literal>BROKEN</literal>。</para>

      <para><literal>GEOM_MIRROR</literal> 和 <literal>GEOM_RAID3</literal>
	这两个 class 采用了并发 I/O 请求来获得更好的同步性能。 新增的 sysctl 变量
	<varname>kern.geom.mirror.sync_requests</varname> 和
	<varname>kern.geom.raid3.sync_requests</varname>
	用于定义允许多少个并发的 I/O 请求。 此外, sysctl 变量
	<varname>kern.geom.mirror.reqs_per_sync</varname>、
	<varname>kern.geom.mirror.syncs_per_sec</varname>、
	<varname>kern.geom.raid3.reqs_per_sync</varname>, 以及
	<varname>kern.geom.raid3.syncs_per_sec</varname>
	则过时, 并已删去。</para>

      <para>新增了 GEOM class <literal>GEOM_ZERO</literal>。
	它提供了一个非常大 (41PB) <filename>/dev/gzero</filename> 的 provider,
	主要可以用来进行性能测试。
	在收到 <literal>BIO_READ</literal> 请求时它会对
	<varname>bio_data</varname> 填零, 而 <literal>BIO_WRITE</literal>
	则什么都不做。</para>

      <para><literal>GEOM_LABEL</literal> class 现在支持
	Ext2FS 和 ReiserFS 了。</para>

      <para>为与其它模块的命名保持一致, GEOM class 内核模块 <filename>g_md.ko</filename>
	已更名为 <filename>geom_md.ko</filename>。</para>

      <para arch="amd64,i386">对 &man.hptmv.4; 驱动进行了更新, 提供了对于
	amd64 和 PAE 的支持。</para>

      <para>新增了&man.mfi.4; 驱动, 用以支持
	LSI MegaRAID SAS 系列控制器。</para>

      <para>对 &man.mpt.4; 驱动进行了更新, 从而为许多新功能,
	例如 RAID 卷和 RAID 成员 状态/配置 报告、 周期性卷重同步状态报告,
	报告卷重同步速率的 sysctl 变量、 卷成员写快取缓存状态,
	以及控制卷事务队列长度等等。</para>

      <para>&man.mpt.4; 驱动新增了 SAS HBA (部分)、
	64-位 PCI, 以及大数据传送的支持。</para>

      <para>&man.twa.4; 已更新至 3ware 网站发布的 9.3.0.1
	版本。</para>

      <para>新增了基于 GEOM 的磁盘加密机制, GEOM_ELI。
	它使用 &man.crypto.9; 框架进行硬件加速,
	并支持多种不同的加密算法。 请参见 &man.geli.8;
	以了解进一步的信息。 &merged;</para>

      <para>&man.geli.8; 支持在挂接根文件系统之前加载密钥文件了。
	例如, 可以将下列配置加入 <filename>/boot/loader.conf</filename>
	来启用它:</para>

      <programlisting>geli_da0_keyfile0_load="YES"
geli_da0_keyfile0_type="da0:geli_keyfile0"
geli_da0_keyfile0_name="/boot/keys/da0.key0"
geli_da0_keyfile1_load="YES"
geli_da0_keyfile1_type="da0:geli_keyfile1"
geli_da0_keyfile1_name="/boot/keys/da0.key1"
geli_da0_keyfile2_load="YES"
geli_da0_keyfile2_type="da0:geli_keyfile2"
geli_da0_keyfile2_name="/boot/keys/da0.key2"

geli_da1s3a_keyfile0_load="YES"
geli_da1s3a_keyfile0_type="da1s3a:geli_keyfile0"
geli_da1s3a_keyfile0_name="/boot/keys/da1s3a.key"</programlisting>

      <para>&man.umass.4; 驱动增加了对
	<literal>PLAY_MSF</literal>、
	<literal>PLAY_TRACK</literal>、
	<literal>PLAY_TRACK_REL</literal>、
	<literal>PAUSE</literal> 以及
	<literal>PLAY_12</literal> 命令的支持,
	这样就可以用 &man.cdcontrol.1; 工具来控制 USB CD 驱动器了。</para>
    </sect3>

    <sect3 id="fs">
      <title>文件系统</title>

      <para>FreeBSD NFS 子系统中的一部分 (协议栈接口和 callout) 是 MPSAFE 的了。</para>

      <para>新增了对 SGI 的 XFS 文件系统的初步支持。</para>
    </sect3>

    <sect3>
      <title>基本系统附带的第三方软件</title>

      <para><application>Intel ACPI-CA</application>
	已更新至 20051021 版本。</para>

      <para><application>DRM</application>
	已更新至 DRI CVS 在 20051202 的快照版本。</para>

      <para>新增了实现 Sun 的基本安全模块 (BSM) 审计 API 及文件格式,
	以及一系列用以支持 Mac OS X 和 FreeBSD 操作系统的本地扩展的
	TrustedBSD <application>OpenBSM</application> 软件包的
	1.0 alpha 5 版本。 这包括一组用于维护审计追踪和转换至文本格式的命令行工具、
	这些工具、 文件格式, 以及 API 的文档。
	为使用这些功能, 加入了内核选项 <literal>AUDIT</literal>、
	<filename>/var/audit</filename> 目录, 以及
	<literal>audit</literal> 用户组。</para>
    </sect3>
  </sect2>

  <sect2 id="userland">
    <title>应用程序变动</title>

    <para>在 <varname>struct addrinfo</varname>
      中的 <varname>ai_addrlen</varname> 中删除了占位单元,
      这些占位单元原本是预留用于 ABI 兼容的。
      例如, 这一改动会破坏在 64-位平台, 包括
      &os;/alpha、 &os;/amd64、 &os;/ia64, 以及 &os;/sparc64 上
      &man.getaddrinfo.3; 函数的 ABI 兼容性。</para>

    <para>新增了 OpenBSM 的用户态工具 &man.audit.8;、
      &man.auditd.8;、
      &man.auditreduce.1;, 以及
      &man.praudit.1;。</para>

    <para>新增了 &man.bsdiff.1; 和 &man.bspatch.1; 工具。
      它们是用于建立和应用二进制补丁的程序。</para>

    <para>&man.bsnmpd.1; 工具支持 RFC 2790 所描述的主机资源
      MIB 了。</para>

    <para>&man.cmp.1; 工具支持通过 <option>-h</option>
      参数来指定比较符号连接本身, 而不是其所连接的对象了。</para>

    <para>&man.config.8; 工具新增了对 <literal>nocpu</literal>
      语句的支持。</para>

    <para>如果指定内核配置文件所在的目录中存在名为 <filename>DEFAULTS</filename>
      内核配置文件, 则 &man.config.8; 工具会在读取内核配置文件之前,
      首先处理这个文件的内容。</para>

    <para>&man.csh.1; 工具支持 NLS 编录了。 注意需要安装
      <filename role="package">shells/tcsh_nls</filename> 才能正常使用。</para>

    <para>引入了 csup(1) 工具。 这是一个与 CVSup 兼容的,
      使用 C 语言撰写的客户端程序。 请注意它目前只支持检出模式。</para>

    <para>&man.devd.8; 工具新增了用于指定配置文件的 <option>-f</option> 选项。</para>

    <para>&man.ftpd.8; 即使在没有使用 <option>-p</option> 参数的情况下,
      也会创建 PID 文件
      <filename>/var/run/ftpd.pid</filename> 了。</para>

    <para>&man.gbde.8; 工具新增了用于同时指定密钥文件和口令字的
      <option>-k</option> 和 <option>-K</option> 选项。</para>

    <para>&man.getfacl.1; 工具新增了 <option>-q</option> 参数,
      以避免显示每个文件头的中列出文件名、 属主与所属用户组的注释信息。</para>

    <para>&man.gpt.8; 工具支持设置 GPT 分区 label 了。</para>

    <para>&man.gvinum.8; 工具新增了用以完成对象改名,
      并将子盘从一个驱动器转入另一驱动器的命令。</para>

    <para>&man.gvinum.8; 工具新增了
      <command>resetconfig</command> 子命令。</para>

    <para>新增了通用安全服务 API (GSS-API)
      第 2 版, 及 RFC2743 和 RFC2744 所描述的 C 绑定的实现。
      这是一个类似 Solaris
      实现的能够支持 GSS-API 插件的 GSS-API 层,
      而 Kerberos 5 的 GSS 机制则重写为一插件库,
      以适应新的实现。</para>

    <para>&man.ifconfig.8; 工具提供了新的 <option>-k</option>
      参数来显示较为敏感的密钥资料到标准输出。 默认情况下,
      敏感资料并不显示出来。</para>

    <para>&man.ifconfig.8; 工具提供了新的 <option>-tunnel</option>
      参数, 这一参数实际上是 <option>deletetunnel</option> 的另一种写法,
      但更为方便且容易输入。</para>

    <para>&man.ifconfig.8; 的 <option>-vlandev</option> 参数不再需要指定网络接口作为其参数了。
      为了能够向前兼容, 这样的参数仍被允许,但不再建议使用。</para>

    <para>&man.jail.8; 工具新增了 <option>-J
	<replaceable>jid_file</replaceable></option> 选项的支持,
      用以指定 JidFile, 后者类似于 PidFile,
      包含 jailid、 路径、 主机名、 ip 以及用以启动 jail 的命令。</para>

    <para>&man.kdump.1; 新增了 <option>-H</option>
      参数, 表示让 kdump 显示包含 threadid 的附加字段。</para>

    <para>&man.kdump.1; 新增了 <option>-s</option>
      参数, 用于在显示中略去 I/O 数据。</para>

    <para>&man.kenv.1; 工具提供了 <option>-q</option>
      参数来避免显示警告。</para>

    <para>&man.kgdb.1; 新增了 <option>-w</option>
      选项, 用于以读-写模式打开基于 kmem 的对象。
      这样, 就可以将 kgdb 用在 <filename>/dev/mem</filename>
      上, 并修改运行系统的内存内容了。</para>

    <para>&man.libarchive.3; 库新增了对
      POSIX.1e-风格 扩展属性的支持。</para>

    <para><application>libc</application>
      库提供了对符号映射表和符号版本定义的初步实现。</para>

    <para><application>libedit</application> 库升级到了与 NetBSD 源代码在
      2005 年 8 月时的版本。</para>

    <para><application>libm</application>
      库提供了对符号映射表和符号版本定义的初步实现。</para>

    <para>新增了 &man.libmemstat.3; 库。
      这个库主要用于调试以及监控应用程序对内核内存使用的统计。
      它提供了对 &man.uma.9; 和 &man.malloc.9; 统计的抽象接口,
      并通过这些分配器输出的二进制流形式的 sysctl 变量来获取数据。 &merged;</para>

    <para>&man.ln.1; 工具新增了 <option>-F</option> 参数,
      表示在创建符号连接时删除空目录。</para>

    <para>&man.locate.1; 工具新增了 <option>-0</option> 参数,
      使其能够与 &man.xargs.1; 的 <option>-0</option> 参数联用。</para>

    <para>&man.ls.1; 工具新增了 <option>-I</option> 参数, 用以禁用超级用户自动加上的
      <option>-A</option> 参数。</para>

    <para>&man.ls.1; 工具新增了 <option>-U</option> 参数,
      表示按文件的创建时间排序。</para>

    <para>&man.mdconfig.8; 工具新增了 XML
      输出设备列表的支持。 目前,
      <command>list</command> 和 <command>query</command>
      这两个字命令支持这一功能。</para>

    <para>&man.mdconfig.8; 工具的 <option>-u</option> 参数支持同时指定多个设备了,
      这些设备之间应使用逗号隔开。</para>

    <para>&man.mdmfs.8; 工具新增了 <option>-P</option> 参数,
      表示在使用 vnode 后端的盘时略去 &man.newfs.8; 步骤。</para>

    <para>&man.mdmfs.8; 工具新增了 <option>-E</option> 参数,
      用于指定非标准 (<filename>/sbin/mdconfig</filename>)
      的 &man.mdconfig.8; 位置。</para>

    <para>在 <filename>libc</filename> 中实现了新的函数 &man.memmem.3;。
      它与 <filename>glibc</filename> 中的
      &man.strstr.3; 是二进制等价的。</para>

    <para>&man.mergemaster.8; 工具新增了 <option>-A</option> 参数,
      用于显式地指定传递给下层 Makefile 的架构名称。</para>

    <para>删去了 &man.mount.8; 的 <literal>nodev</literal> 选项。</para>

    <para>&man.mount.8; 新增了对 &man.mqueuefs.5; 的支持。</para>

    <para>&man.moused.8; 新增了 <option>-H</option> 参数,
      用以启用虚拟的水平方向滚轮, 这一功能与通过
      <option>-V</option> 参数启用虚拟的垂直方向滚轮类似。</para>

    <para>&man.netstat.1; 新增了
      <option>-h</option> 参数用于其统计模式,
      表示以适合人阅读的形式来显示所有接口的统计信息。</para>

    <para>&man.netstat.1; 新增了在内核采用 <literal>FAST_IPSEC</literal>
      而非 KAME IPSEC 协议栈时显示 &man.ipsec.4; 协议统计信息的能力。
      请注意 <command>netstat -s -p ipsec</command>
      的输出会随编译到内核中的协议栈不同而有所差异,
      因为这两个协议栈的统计信息并不相同。</para>

    <para>&man.periodic.8; 的 daily (每日执行) 脚本,
      新增了显示 &man.gmirror.8;、 &man.graid3.8;、
      &man.gstripe.8;, 以及 &man.gconcat.8; 设备的支持。
      请注意这些功能默认都处于禁用的状态。</para>

    <para>新增了一组 &man.pidfile.3; 函数, 用以提供可靠的 PID
      文件处理方法。 这些函数放到了
      <filename>libutil</filename> 中。</para>

    <para>&man.ping.8; 工具支持了 <quote>扫荡式
	ping</quote>, 也就是每次发送的 &man.icmp.4; 均会增加。
      在测试有问题的通道, MTU 问题或网络的流量策略功能时,
      这个功能会发挥很大的作用。</para>

    <para>&man.pkill.1; 工具提供了
      <option>-F</option> 选项, 以限制只在 pidfile
      文件中指定的 PID 进程中进行查找。 当与另一个新增选项 <option>-L</option>
      一同使用时, 表示首先使用
      &man.flock.2; 系统调用锁定 pidfile 或使用 &man.pidfile.3;
      创建它, 然后再进行查找。</para>

    <para>&man.pkill.1; 工具新增了
      <option>-I</option> 选项,
      其功能与 &man.rm.1; 的 <option>-i</option> 选项类似。
      当指定这一参数时, &man.pkill.1;
      将在向匹配的进程发出信号之前给出提示询问。</para>

    <para>&man.powerd.8; 程序新增了
      <option>-P</option> 选项用于指定 pidfile 了。</para>

    <para>在 &os; 的 <application>libc</application> 中的 DNS 解析库,
      已更新为 BIND9 的版本。</para>

    <para>&man.rfcomm.sppd.1; 能够支持在指定服务名的同时指定
      <option>-c</option> 选项和通道号了。
      支持的名字包括: DUN (拨号网络)、 FAX (传真)、
      LAN (使用 PPP 访问 LAN), 以及 SP (串口)。</para>

    <para>&man.rpcgen.1; 工具现在默认生成 ANSI C 编译器能识别的头和桩 (stub)
      文件了。</para>

    <para>&man.rtld.1; 运行时连接器支持采用 GNU 语义的 ELF 符号版本了。
      这一实现的目标是与由 GNU libc 实现,
      并在 <ulink url="http://people.redhat.com/~drepper/symbol-versioning"></ulink>
      中和 LSB 3.0 中描述的符号版本支持相兼容。 另外,
      还新增了用于查找给定符号版本的 <function>dlvsym()</function> 函数。</para>

    <para>&man.sh.1; 新增了内建命令 <literal>times</literal>。</para>

    <para>加入了基于 OpenBSD 实现的 &man.strtonum.3; 库函数。 这是
      &man.strtoll.3; 的改进版本。</para>

    <para>&man.sysctl.8; 工具新增了 <option>-q</option>
      参数来禁止显示某些警告和错误提示。</para>

    <para>&man.truss.1; 工具新增了 <option>-s</option>
      参数, 用以提供与 strace 工具
      (<filename role="package">devel/strace</filename>)
      相同的功能。</para>

    <para arch="ppc">&man.truss.1; 工具支持 &os;/ppc 了。</para>

    <para>删去了 &man.usbd.8; 工具。
      其功能和配置文件已经完全由 &man.devd.8; 工具接替。</para>

    <para>&man.xargs.1; 工具新增了 <option>-r</option>
      参数, 表示只有在标准输入不含非空格字符时才执行命令。</para>

    <para>由于某些潜在的 ABI 变动, 所有的共享库德版本号都进行了递增。
      这些库包括: snmp_*、 libdialog、 libg2c、 libobjc、
      libreadline、 libregex、 libstdc++、 libkrb5、 libalias、 libarchive、
      libbegemot、 libbluetooth、 libbsnmp、 libbz2、 libc_r、 libcrypt、
      libdevstat、 libedit、 libexpat、 libfetch、 libftpio、 libgpib、
      libipsec、 libkiconv、 libmagic、 libmp、 libncp、 libncurses、
      libnetgraph、 libngatm、 libopie、 libpam、 libpthread、 libradius、
      libsdp、 libsmb、 libtacplus、 libthr、 libthread_db、 libugidfw、
      libusbhid、 libutil、 libvgl、 libwrap、 libypclnt、 libm、 libcrypto、
      libssh, 以及 libssl。</para>

    <para>实现了 <function>wcsdup()</function> 函数。
      这个函数在 Microsoft 和 GNU 系统中很流行。</para>

    <sect3 id="rc-scripts">
      <title><filename>/etc/rc.d</filename> 脚本</title>

      <para>新增了用于
	OpenBSM &man.auditd.8; 的 <filename>auditd</filename> 脚本。</para>

      <para>新增了 <filename>bluetooth</filename> 脚本。
	这个脚本会在设备连上/段开时, 由
	&man.devd.8; 调用并启动/停止对应的设备,
	而无须管理员手工干预。 这个脚本的默认配置参数在
	<filename>/etc/defaults/bluetooth.device.conf</filename>,
	这些默认值可以用
	<filename>/etc/bluetooth/<replaceable>$device</replaceable>.conf</filename>
	来覆盖
	(这里的 <replaceable>$device</replaceable> 是 <devicename>ubt0</devicename>、
	<devicename>btcc0</devicename>, 等等。)
	要了解进一步详情, 请参阅 &man.bluetooth.conf.5;。</para>

      <para>新增了用于以独立方式启动 &man.ftpd.8; 的
	<filename>ftpd</filename> 脚本。</para>

      <para>删去了 <filename>gbde_swap</filename> 脚本,
	因为新增的 <filename>encswap</filename>
	脚本提供了其功能, 并且还支持使用 &man.geli.8; 来加密交换分区。</para>

      <para>加入了 <filename>geli</filename> 和 <filename>geli2</filename>
	脚本来在启动时配置 &man.geli.8; 设备。</para>

      <para>由于基本系统中并无所需的服务程序, 删去了用于
	IPsec IKE 服务的 <filename>ike</filename> 脚本。</para>

      <para>新增了 <filename>hcsecd</filename> 和
	<filename>sdpd</filename> 脚本,
	分别用于 &man.hcsecd.8; 和 &man.sdpd.8; 服务。
	在没有蓝牙设备接到系统上时, 也可以启动这些服务,
	但这两个服务都需要蓝牙 socket 层, 因此默认禁用了这两个服务。
	蓝牙 socket 曾必须通过模块加载, 或静态联编进内核,
	这两个服务才能运行。</para>

      <para>新增了用于
	&man.hostapd.8; 的 <filename>hostapd</filename> 脚本。</para>

      <para><filename>netif</filename> 脚本新增了对
	<varname>ipv4_addrs_<replaceable>ifn</replaceable></varname>
	的支持, 它表示增加 CIDR 记法的 IPv4 地址。 例如:</para>

      <programlisting>ipv4_addrs_ed0="192.168.0.1/24 192.168.1.1-5/28"</programlisting>

      <para>删去了 <filename>/etc/rc.d</filename> 中的 <filename>rcconf.sh</filename>,
	并增加了用于标记引导过程中的早、晚阶段的 <varname>early_late_divider</varname>
	变量。</para>

      <para><filename>rc.initdiskless</filename> 改为使用 &man.tar.1;
	而非 &man.pax.1;, 因为 &man.pax.1; 需要可写的临时目录。</para>

      <para>由于 OLDCARD 已经过时, 删去了 <filename>pccard</filename> 脚本。</para>

      <para><filename>ppp-user</filename> 脚本改名为
	<filename>ppp</filename>。</para>

      <para>删去了 <varname>removable_interfaces</varname> 变量。</para>

      <para>在 <varname>ifconfig_<replaceable>ifn</replaceable></varname>
	中增加了新的 <literal>NOAUTO</literal> 关键字。 它能够阻止在引导时,
	以及通过 <filename>/etc/pccard_ether</filename> 配置网络接口,
	同时允许 <filename>/etc/rc.d/netif</filename>
	以纯手工的方式启动和停止网络接口。</para>
    </sect3>
  </sect2>

  <sect2 id="contrib">
    <title>基本系统包含的第三方软件</title>

    <para><application>BIND</application> 从 9.3.1
      更新到了 9.3.2。 &merged;</para>

    <para><application>BSNMPD</application> 从
      1.11 更新到了 1.12。</para>

    <para><application>GNU Readline 库</application>
      从 5.0 更新到了 5.1。</para>

    <para><application>IPFilter</application> 从
      4.1.8 更新到了 4.1.10。</para>

    <para><application>OpenSSH</application> 由
      4.2p1 更新到了 4.3p1。</para>

    <para><application>hostapd</application>
      由 0.3.9 版更新到了 0.4.8 版。</para>

    <para><application>sendmail</application> 由
      8.13.4 更新到了 8.13.6。 &merged;</para>

    <para>时区数据库从
      <application>tzdata2005l</application> 版升级到了
      <application>tzdata2005r</application> 版。 &merged;</para>

    <para><application>WPA Supplicant</application>
      由 0.3.9 版更新到了 0.4.8 版。</para>

    <para><application>zlib</application>
      由 1.2.2 更新到了 1.2.3 版。</para>
  </sect2>

  <sect2 id="ports">
    <title>Ports/Packages 套件基础结构</title>

    <para>&man.pkg.add.1; 新增了 <option>-F</option>
      参数用以禁用关于同一 package 是否已安装的检查。</para>

    <para>&man.pkg.add.1; 新增了 <option>-P</option>
      参数, 它与 <option>-p</option> 参数类似,
      区别在于给定的前缀也会用于依赖的其他包。</para>

    <para>&man.pkg.add.1; 和 &man.pkg.create.1; 新增了
      <option>-K</option> 参数, 表示将 package 默认保存至当前目录
      (如果有定义 <varname>PKGDIR</varname> 则保存在那个目录)。</para>

    <para>&man.pkg.create.1; 新增了 <option>-x</option>
      参数, 用以使用基本正则表达式来表示 package 的名字,
      <option>-E</option> 标志表示使用扩展正则表达式,
      而 <option>-G</option> 则表示精确匹配。</para>

    <para>&man.pkg.version.1; 新增了 <option>-o</option>
      参数, 用于显示在 package 生成时所记录的来源 (origin) 目录而不是其本身的名字,
      以及 <option>-O</option> 参数表示只列出所有注册来源为指定来源的 package。</para>

    <para>新增了 &man.portsnap.8; 工具 (<filename>sysutils/portsnap</filename>)
      到 &os; 基本系统中。 这是一个安全、 便于使用、
      快速、 轻量级的工具, 能够很好地帮助用户保持他们的 ports tree
      与官方版本同步。</para>

    <para>修正了 &man.portsnap.8; 工具在处理 <varname>HTTP_PROXY_AUTH</varname>
      时的 bug。</para>

    <para>从 <varname>local_startup</varname>
      目录启动脚本改为使用与基本系统同样的 &man.rcorder.8; 排序了。</para>

    <para>删去了从 Ports 套间安装的启动脚本的后缀。
      这意味着 <filename>foo.sh</filename>
      都将改名为 <filename>foo</filename>, 并且名为
      <filename>foo.ORG</filename> 的脚本也会被执行。
      您应重新安装所有安装了启动脚本的 package, 并清理
      <varname>local_startup</varname> 目录中多余的文件。</para>

    <para>新增了两个 <filename>rc.conf</filename> 变量,
      <varname>ldconfig_local_dirs</varname> 和
      <varname>ldconfig_local32_dirs</varname>。
      这两个变量用于指定本地的 &man.ldconfig.8; 目录列表。</para>

    <para><filename>pkg-plist</filename> 中的
      <command>@cwd</command> 命令支持不指定目录参数了。
      如果没有指定目录参数, 则它将把当前工作目录设置为
      <command>@cwd</command> 命令给出的第一个前缀。</para>
  </sect2>

  <sect2 id="releng">
    <title>交付工程与系统集成</title>

    <para>对现有的 &man.sysinstall.8; 工具的分区算法进行了修改。</para>

    <itemizedlist>
      <listitem>
	<para>在磁盘容量超过 (3 * RAM尺寸 + 10GB) 时,
	  默认的分区尺寸为:</para>

	<informaltable frame="none" pgwide="0">
	  <tgroup cols="2">
	    <colspec colwidth="1*">
	    <colspec colwidth="2*">
	    <thead>
	      <row>
		<entry>分区</entry>
		<entry>尺寸</entry>
	      </row>
	    </thead>

	    <tbody>
	      <row><entry>交换区</entry><entry>RAM尺寸 * 2</entry></row>
	      <row><entry><filename>/</filename></entry><entry>512 MB</entry></row>
	      <row><entry><filename>/tmp</filename></entry><entry>512 MB</entry></row>
	      <row><entry><filename>/var</filename></entry><entry>1024 MB + RAM尺寸</entry></row>
	      <row><entry><filename>/usr</filename></entry><entry>余下的部分 (8GB 或更多)</entry></row>
	    </tbody>
	  </tgroup>
	</informaltable>
      </listitem>

      <listitem>
	<para>在磁盘尺寸大于
	  (RAM尺寸 / 8 + 2 GB) 时, 默认的尺寸为下面的范围,
	  而空间则按比例分配:</para>

	<informaltable frame="none" pgwide="0">
	  <tgroup cols="2">
	    <colspec colwidth="1*">
	    <colspec colwidth="2*">
	    <thead>
	      <row>
		<entry>分区</entry>
		<entry>尺寸</entry>
	      </row>
	    </thead>

	    <tbody>
	      <row><entry>交换区</entry><entry>从 RAM尺寸 / 8 到 RAM尺寸 * 2</entry></row>
	      <row><entry><filename>/</filename></entry><entry>从 256MB 到 512MB</entry></row>
	      <row><entry><filename>/tmp</filename></entry><entry>从 128MB 到 512MB</entry></row>
	      <row><entry><filename>/var</filename></entry><entry>从 128MB 到 1024MB</entry></row>
	      <row><entry><filename>/usr</filename></entry><entry>从 1536MB 到 8192MB</entry></row>
	    </tbody>
	  </tgroup>
	</informaltable>
      </listitem>

      <listitem>
	<para>如果系统中的磁盘空间更少, 则采用先前的分配策略。</para>
      </listitem>
    </itemizedlist>

    <para>修正了 <filename>CHECKSUM.MD5</filename> 中包含其自身的错误校验和的问题。</para>

    <para>新增了 &man.make.1; target <command>make showconfig</command>
      到 <filename>src/Makefile</filename> 中,
      以显示 &os; 源代码树的构建配置。</para>

    <para>新增了用于指定每次构建 &os; 源代码树时构建参数的
      <filename>src.conf</filename> 文件。 要了解进一步的详情,
      请参见 &man.build.7; 和 &man.src.conf.5;。</para>

    <para>支持的 <application>GNOME</application> 桌面环境
      (<filename role="package">x11/gnome2</filename>) 的版本,
      从 2.10.2 升级到了 2.12.3。 &merged;</para>

    <para>支持的 <application>KDE</application> 桌面环境
      (<filename role="package">x11/kde2</filename>) 的版本,
      从 3.4.2 升级到了 3.5.1。 &merged;</para>

    <para>支持的 <application>Perl</application> 解释器
      (<filename role="package">lang/perl5.8</filename>) 的版本,
      从 5.8.7 升级到了 5.8.8。 &merged;</para>

    <para>支持的 <application>&xorg;</application> 视窗系统
      (<filename role="package">x11/xorg</filename>) 的版本,
      从 6.8.2 升级到了 6.9.0。 &merged;</para>
  </sect2>

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

    <para>现有功能的文档进行了加强, 并新增了下列联机手册:
      &man.acpi.sony.4;、 &man.snd.mss.4;、 &man.snd.t4dwave.4;。</para>
  </sect2>
</sect1>

<sect1 id="upgrade">
  <title>从先前版本的 &os; 升级</title>

  <para></para>

  <important>
    <para>很显然,升级 &os; 时,应该首先备份
      <emphasis>所有</emphasis> 数据和配置文件。</para>
  </important>
</sect1>
OpenPOWER on IntegriCloud