&os; &release.current; &arch; Release Notes FreeBSD プロジェクト $FreeBSD$ 2000 2001 FreeBSD ドキュメンテーション プロジェクト この &os; &release.current; 用リリースノートには, &release.prev; 以降の &os; ベースシステムに対する変更点の概要 が含まれています. カーネルとユーザーランド双方の変更点が列挙されているのに加え, 前のリリース以降に発行されたセキュリティ勧告のうちあてはまる ものも含まれています. また, アップグレードの際の注意点も載せてあります. はじめに この文書は &arch; ハードウェアプラットフォームの &os; &release.current; 向けのリリースノートです. &release.prev; 以降に &os; に追加 (もしくは修正) された新しい機能 について解説しています. また, &os; の前のバージョンからのアップグレードについても言及して います. このリリースノートが対応する &release.type; 配布物は, &release.branch; 開発ブランチの &release.prev; から &release.next; の間に位置します. このブランチのあらかじめコンパイルされたバイナリ &release.type; 配布物は に公開されています. ]]> この &os; &release.current; 配布物は &release.type; 配布物です. この配布物はあらゆるミラーの で見つけることができます. この (もしくは他の) &os; の &release.type; 配布物を取得する方法 は FreeBSD ハンドブック 付録 FreeBSD を取得する を参照してください. ]]> 更新情報 この節では &release.prev; 以降に新たに追加・変更された ユーザに影響する機能について説明します. 多くのリリースノート項目は, 新しいドライバやハードウェアサポート, 新しいコマンドやオプション, 重要なバグフィックスや寄贈ソフトウェア のアップグレードなどについてのものです. &release.prev; 以降に出されたセキュリティ勧告についても掲載してい ます. 一般的に, ここに書かれている変更点のうち &merged; という印の付いていないものは &release.branch; に固有のものです. &os; に加えられた変更点のうち, スペースの都合上ここに書かれていないものも多数存在します. それらはたとえば文書の修正や改良, ごく影響の小さいバグの修正, 監査で見つかったセキュリティ上好ましくないスタイルで書かれたコードの修正, ソースコードの整理などです. リリースノートの項目は, 大きく三つの節から構成されています. まず には &os; カーネルに加えられた最新の変更点が書かれています. そして にはセキュリティ勧告を含むセキュリティ上の修正が, 最後の には &os; のベースシステムに含まれているユーザランドアプリケーションの 変更点がまとめられています. カーネルの変更点 &os; カーネルに &man.kqueue.2; イベント通知機能が追加されました. これは &man.poll.2;/&man.select.2; を置き換えることができる新たなインターフェイスで, 高パフォーマンスなだけでなく数多くの異なる種類のイベントを報告する機能を持っています. また, シグナルやプロセスの監視だけでなく, ソケット, パイプ, FIFO, ファイルの変更の監視にも対応しています. &merged; &os; ブートローダが Intel Wired for Management 2.0 (PXE) に対応しました. API が異なるため古いバージョンの PXE には対応していません. これにより DHCP を使ったネットワーク経由の起動が可能になっています. &merged; &os; ブートローダに対して, 疑似フロッピの第一セクタに変更のできる有効な MS-DOS BPB を想定している IBM BIOS での起動に対応するための修正が行なわれました. 出荷時の状態で USB デバイスをサポートするため, GENERIC カーネルと インストールプログラムに USB デバイスのサポートが加えられました. 現時点で SRM は USB デバイスに対応していないため, シリアルコンソールを使っていない場合には まだ AT キーボードを使う必要があります. &merged; POSIX.1b 共有メモリオブジェクトに対応しました. 実装は通常ファイルを使っていますが, ファイルが &man.mmap.2; されている場合は MAP_NOSYNC フラグが自動的に有効化されます. &merged; AGP ハードウェア用ドライバ &man.agp.4; が追加されました. &merged; 操作しやすくするため, カーネルとカーネルモジュールは /boot/kernel ディレクトリに移動しました. ブートローダには, この変更を可能な限り意識しないで済むような更新がなされています. i386 ブートローダが nullconsole というコンソールタイプに対応しました. これはビデオコンソールもシリアルポートもついていないシステム向けのものです. &merged; PQ_*CACHE オプションが PQ_CACHESIZE という一つのオプションに置き換えられました. これにはキャッシュサイズをキロバイト単位で指定します. 後方互換性を保つため, 従来のオプションは現在もサポートされています. &merged; SMP カーネルを設定するためのカーネルオプションである NCPU, NAPIC, NBUS, NINTR は削除されました. 現在 NCPU は最大の 16 に設定されており, 上記のその他のオプションは動的に変化するものとなっています. &merged; &man.devfs.5; の大部分が書き直されました. これは /dev ディレクトリ内のエントリを自動的に構築し, デバイスの接続をより適応的に行なうことを可能にします. &man.devfs.5; は標準で有効化されていますが, NODEVFS カーネルオプションを使うことで無効化できます. クラッシュダンプに write combining 機能 (訳注: データをひとまとめにしてバス使用効率を向上させる機能) が実装されました. この機能は SCSI, IDE ディスクの両方で書き込みキャッシュが無効化されていて, メモリのダンプが終了するまで 1 時間近くかかるような場合に有効です. &merged; 極めて大きいスワップ領域 (67 GB 以上) でも, システムがパニックしなくなりました. Intel 82801AA (ICH) SMBus コントローラおよびその互換品に対応した &man.ichsmb.4; ドライバが追加されました. &merged; 標準的な USB スキャナに対応した &man.uscanner.4; ドライバが追加されました. これは SANE を利用していますので, 対応スキャナは SANE ホームページをご覧ください. HP ScanJet 4100C, 5200C, 6300C の動作が確認されています. USB モデムに対応した umodem ドライバが追加されました. このドライバは 3Com 5605 と Metricom Ricochet GS wireless USB モデムに対応しています. Linux 互換機能が thread に対応しました. PCI サブシステムに対して整頓と改良が数多く行なわれ, /usr/share/misc/pci_vendors には &man.pciconf.8; で利用可能なベンダ/デバイスのデータベースが含まれるようになりました. &man.spic.4; ドライバが追加されました. これは Sony 製ラップトップに搭載されているジョグダイアルデバイスへアクセスを提供するものです. PECOFF (Win32 実行ファイルフォーマット) に対応しました. VESA S3 リニアフレームバッファドライバが追加されました. buildkernel ターゲットは, 構築するカーネルのコンフィグレーションファイル名 (複数の場合もあり) を KERNEL ではなく, KERNCONF という変数から受け取るようになりました. buildkernel の前に buildworld を行なう必要はありません (ただし binutil が更新されたメジャーリリース間でアップグレードを行なう場合, もしくは &man.config.8; が更新された場合は buildworld を行なう必要があります). &merged; &man.random.4; デバイスが Yarrow アルゴリズムを使うように書き直されました. このアルゴリズムはコンソールデバイス, イーサネット, PPP ネットワークインターフェイス, 大容量記憶デバイスといった, さまざまな割り込み要因からエントロピを収集します. &man.random.4; デバイスから得られるエントロピは シャットダウン時刻実行時だけでなく, 定期的に /var/db/entropy に保存されるようになっています. また /dev/random のセマンティクスが変更され, エントロピが生成する前でブロックするのではなく, 疑似乱数データストリームを生成するようになりました. これは /dev/urandom と完全に同じ動作です. &man.syscons.4; ドライバがキーボード操作によるペーストに対応しました. 標準では Shift-Insert に設定されています. &man.labpc.4; ドライバは古くなったため削除されました. カーネルオプション options REGRESSION が新たに追加されました. これは動作検証やレグレションテスト時に有用な インターフェイスや機能を提供します. USER_LDT カーネルオプションが標準設定で有効化されるようになりました. &man.ddb.4; に新たなコマンド show pcpu が追加されました. これは各 CPU の情報を表示します. PCI Xr ベースのカード, ISA Xem Digiboard カードに対応した digi ドライバが新たに追加されました. 新たに追加された &man.digictl.8; プログラムは (主に) PC/Xem のような外部ポートモジュールを持つカードを再初期化するためのものです. digi ドライバの採用にともない, dgm ドライバは削除されました. &man.open.2; および &man.fcntl.2; に O_DIRECT フラグが追加されました. ファイルオープン時にこのフラグを設定すると, 読み書き時のキャッシュの影響を最小化します. &merged; OLDCARD および &man.pccardd.8; が PCI カードに対応しました. &man.orm.4; デバイスが追加されました. これは他のドライバが誤って ROM と重なったアドレスを割り当てることのないよう, ISA メモリ I/O 空間内のオプション ROM を取得するためのものです. &merged; デッドロックを避けるため, スワップ領域不足時のプロセス終了処理は古いプロセスから行なわれるようになりました. さらにその終了処理では, プロセスサイズの計算に必要なスワップ領域も考慮に入れるようになりました. &merged; リンカセット (訳注: ELF カーネル構築時に必要な情報の一つ) を生成する必要がなくなりました. 必要のなくなった &man.gensetdefs.8; は削除されています. カーネルの mbuf アロケータに対して, SMP に対応するための変更が数多く行なわれました. ネットワークデバイスのクローニングが新たに実装され, それを利用するように &man.gif.4; デバイスが変更されました. そのためデバイスインスタンスを追加したい場合は カーネルコンフィグレーションファイルに利用する数だけ &man.gif.4; を指定するのではなく, &man.ifconfig.8; の オプションを使ってください. &merged; カーネルメッセージバッファが (アーキテクチャに依存しない) sysctl 変数 kern.msgbuf 経由でアクセスできるようになりました. それにともない, &man.dmesg.8; が kmem で SGID されている必要はなくなりました. &man.ddb.4; に新たなコマンド hwatch dhwatch が導入されました. アーキテクチャが対応している必要がありますが, これらは (ソフトウェアウォッチポイントを設定する) watch および dwatch のようにハードウェアウォッチポイントを設定するためのものです. &merged; 新しく &man.nmdm.4; ヌルモデム端末ドライバが追加されました. &merged; カーネル設定パラメータ maxusers が起動時に変更可能になりました. maxusers に由来する他のカーネル設定パラメータも起動時に反映されます. また, hz パラメータも同様に変更可能になっています. &merged; カーネル構築時に &man.config.8; の ENV 指示子を用いることで, (調整可能な) カーネル環境変数を設定することができるようになりました. ローダとカーネルリンカは, KLD のある各ディレクトリに存在する linker.hints というファイルから モジュール名およびバージョンと KLD ファイル名の対応を調べるようになりました. 新しく追加されたユーティリティ &man.kldxref.8; は, これらのファイルを生成するために使用します. 新しく, idle 時にページをゼロで初期化する機能が追加されました. これは vm.zeroidle_enable sysctl 変数を使って有効化できます. カーネルのロードアドレスがシンボルテーブルに格納されるようになり, ハードコードされたさまざまな定数が削除されました. これにより, 異なるアドレスでコンパイルされたカーネルに対しても &man.ps.1; が正しく動作可能になっています. &merged; 新しいカーネルオプション KVA_SPACE が追加されました. これはカーネル仮想アドレス空間の大きさを再設定するために使われます. &merged; 非常に大きいプロセス (あるいは非常に多数のプロセス) のコアダンプが発生した場合でも, マシンが長時間ロックしなくなりました. &merged; 各 &man.jail.2; 環境は各々の securelevel で動作することがで きるようになりました. カーネルオプション MAXMEMhw.physmem 環境 (sysctl) はテスト (やその他の目的) のために, 人工的にマシンのメモリサイズ を減らすことに使えるようになりました. &merged; &man.eaccess.2; システムコールが追加されました. &man.access.2; と似ていますが, 後者は実権限を使うのに対して, 前者は実効権限を使います. 新しく &man.amdpm.4; ドライバが追加されました. これは AMD 756 チップセットのシステム監視機能へのアクセスを 提供します. &merged; カーネルが, プロセスよりも細かいスケジューリング単位に対応しました (ただし現時点で利用できるのは, 一つのプロセスに対して一つのスレッドのみです). プロセッサ・マザーボードの対応状況 BSD/OS 5.0 由来のコードが組み入れられ SMP 対応部分が大きく書き直されました. SMPng (SMP Next Generation) の主な特徴の一つに, マルチプロセッサの利用効率を大きく損なうスピンロックを使わずに カーネル内で複数のプロセスを実行することができる, ということがあげられます. また割り込みハンドラは, 割り込みのロックアウトを低減するために それぞれコンテキストを持つようになりました. GENERIC カーネルから 80386 プロセッサ対応が削除されました. このコードは他の IA32 プロセッサのパフォーマンスを大きく損なう原因となっているためです. 80386 プロセッサに対応するための I386_CPU カーネルオプションを 他の IA32 プロセッサに対応するためのオプションと同時に指定することはできなくなりました. これにより実行時のプロセッサタイプチェックが削除され, 80386 における性能が多少向上しています. 80386 上で動作可能なカスタムカーネルを構築するには, カーネルコンフィグレーションファイルに I386_CPU とだけ書いてあるように変更する必要があります. AlphaServer 1200 (Tincup) における動作が確認されました. 現時点では CD やフロッピディスクからの起動ができませんが, 他の Alpha マシンでインストールしたディスクを移植したものはきちんと動作します. &merged; API UP1100 マザーボードにおける動作が確認されました. API CS20 1U high server における動作が確認されました. 1.44MB フロッピディスクの容量に合わせられるよう, mfsroot フロッピイメージから DEC3000 シリーズの対応が削除されました. 現時点で DEC3000 はディスクレスでのみ利用可能なため, 問題はないと思われます. AlphaServer 2100A (Lynx) に対応しました. 旧世代の Alpha CPU (EV4 および EV5) が 新世代の Alpha CPU の命令をエミュレートできるようにするコードが カーネルに追加されました. これにより, EV4 および EV5 上で Adobe Acrobat 4 のようなバイナリ配布のみのプログラムが利用できるようになります. Alpha アーキテクチャの SMP に対応しました. FC-PGA2 Pentium III (Tualatin), Transmeta Crusoe, Transmeta Crusoe LongRun といった, 新しいプロセッサの検出コードが追加されました. &merged; 1.44MB フロッピーディスクにインストール用カーネルを収めるため, ハードウェアへの対応がいくつか削除されました. 削除されたのは Multia, NoName, PC64, EB64, Aspen Alpine, sa (SCSI テープ), amr, パラレルポート, vx (3c590, 3c595), pcn (AMD Am79C97x PCI 10/100), sf (Adaptec AIC-6915), sis (SiS 900/SiS 7016), ste (Sundance ST201 (D-Link DFE-550TX)), wb (Winbond W89C840F) です. Streaming SIMD Extensions (SSE) が導入されました. SSE 対応をカーネルに組み込むかどうかの制御は CPU_ENABLE_SSE カーネルオプションで行なうことができます. ネットワークインターフェイスの対応状況 &man.sis.4; ドライバが National Semiconductor DP83815 チップセットベースの PCI イーサネットアダプタに対応しました. これには NetGear FA311-TX および FA312-TX が含まれます. &man.tap.4; ドライバが追加されました. これはブリッジ構成で使うための仮想イーサネットドライバです. このデバイスはクローニング可能です. &merged; &man.ti.4; ドライバが Alteon AceNIC 1000baseT ギガビットイーサネットカードおよび, Netgear GA620T 1000baseT ギガビットカードに対応しました. &merged; &man.xl.4; ドライバが ラップトップで使われている 3Com 3C556 および 3C556B MiniPCI アダプタに対応しました. &merged; &man.ed.4; ドライバに対応しました. &man.pcn.4; ドライバが追加されました. これは AMD PCnet/FAST アダプタ, PCnet/FAST+ アダプタ, PCnet/FAST III アダプタ, PCnet/PRO アダプタ, PCnet/Home アダプタ, HomePNA アダプタに対応しています. これらのアダプタはすでに &man.lnc.4; ドライバが対応していますが, &man.pcn.4; ドライバは 32-bit モードで動作し, 受信時のゼロコピーを実現する RX アラインメント機能を利用しています. このドライバはアーキテクチャに依存せず i386 および Alpha プラットフォームで動作可能です. ただし非 PCI カードに対応するには &man.lnc.4; が必要になります. &merged; 富士通 MB86960A/MB86965A ベースのイーサネット PC カードに再び対応しました. &merged; National Semiconductor DP8393X (SONIC) イーサネットコントローラに対応した snc ドライバが追加されました. 現時点でこのドライバは PC-98 アーキテクチャでのみ使われています. &merged; Cisco Aironet カードに対応した &man.an.4; ドライバが Wired Equivalent Privacy (WEP) 暗号化に対応しました. これは &man.ancontrol.8; で設定できます. &merged; &man.an.4; ドライバが Cisco Aironet 350 シリーズのアダプタに対応しました. &merged; &man.an.4; ドライバが 監視 (monitor) モードに対応しました. これは &man.ancontrol.8; にオプション を指定することで有効になります. &merged; &man.el.4; ドライバがモジュールとしてロードできるようになりました. Webgear Aviator 無線ネットワークカードに対応する &man.ray.4; ドライバが追加されました. &man.ray.4; インターフェイスの動作は &man.raycontrol.8; で変更することが可能です. &merged; &man.fpa.4; ドライバが Alpha マシン上の Digital DEFPA FDDI アダプタに対応しました. &man.ed.4; ドライバが対応している Linksys Fast Ethernet PCCARD カードを使う場合, &man.pccard.conf.5; の設定行に 0x80000 フラグを追加しなければならなくなりました. このオプションフラグは必須なもので, もし付けていないと Linksys のカードは認識されません. &merged; 非常に短いパケットもしくはブリッジを有効化している時に パニックを引き起こす可能性があった &man.ed.4; ドライバのバグが 修正されました. &merged; &man.ed.4; ドライバが, NetGear FA-410TX などが採用している D-Link DL10022 チップに対応しました. そのため &man.ed.4; を使用する際はカーネルコンフィグレーションファイルに device miibus を追加しなければならなくなっています. &merged; &man.fxp.4; ドライバはカーネルコンフィグレーションファイルに device miibus のエントリを必要とするようになりました. &merged; &man.wx.4; ドライバが Intel PRO1000-F および PRO1000-T (10/100/1000) アダプタに対応しました. &merged; National Semiconductor DP83820 および DP83821 ギガビットイーサネットコントローラチップをベースとした PCI ギガビットイーサネットアダプタに対応する &man.nge.4; ドライバが新たに追加されました. これは D-Link DGE-500T, SMC EZ Card 1000 (SMC9462TX), Asante FriendlyNet GigaNIC 1000TA および 1000TPC, Addtron AEG320T に対応しています. また, このドライバは送受信チェックサムのオフロード機能に対応しています. &merged; Level 1 LXT1001 NetCellerator ギガビットイーサネットコントローラチップに対応する &man.lge.4; ドライバが新たに追加されました. このドライバは SMC, D-Link, Addtron 製の光ファイバギガビットイーサネットカードを利用するために使われるものです. Jumbograms および受信時の TCP/IP チェックサムのオフロード機能に対応していますが, ハードウェア VLAN フィルタには対応していません. &merged; &man.xl.4; ドライバが (Cyclone チップセットおよび, 新しいチップセットにおいて) VLAN タグフレームの受信をサポートしました. &merged; &man.ti.4; ドライバが VLAN タグを正しくマスクするようになりました. &merged; &man.txp.4; ドライバが追加されました. これは 3Com 3XP Typhoon/Sidewinder (3CR990) チップセットベースの ネットワークインターフェイスに対応しています. &merged; &man.faith.4; デバイスがロード/アンロード/クローニングに 対応しました. &man.stf.4; デバイスがクローニングに対応しました. &man.vlan.4; デバイスがロード/アンロード/クローニングに対応しました. &man.bge.4; ドライバが追加されました. これは 3Com 3c996-T, SysKonnect SK-9D21, SK-9D41 および Dell PowerEdge 2550 サーバの内蔵ギガビットイーサネット NIC などに使われている Broadcom BCM570x ファミリのギガビットイーサネットコントローラ用ドライバで, TCP/IP チェックサムのオフロード, ジャンボフレーム, VLAN タグ挿入・削除機能に加え, 割り込み低減機能に対応しています. &merged; インターフェイス毎に用意される ifnet 構造体に, ネットワークインターフェイスが対応している機能, および, そのうち有効化されている機能を格納する部分が追加されました. また &man.ifconfig.8; が, その機能の検索に対応しています. インターフェイス毎の if_inaddr 線形リストをハッシュテーブルで置き換えることにより, IP エイリアスを多数持つホストでの性能が改善されました. ネットワークデバイスは /dev 以下に 自動的に作成されるようになりました. Interface hardware ioctls (not protocol or routing) can be performed on these devices. SIOCGIFCONF ioctl は特殊な /dev/network ノードで動作します. ネットワークプロトコル &man.accept.filter.9; が追加されました. これは listen しているソケット上で接続を新たに受け入れ, 読み込みを行なう際のオーバヘッドを低減するカーネルの機能です. &merged; &man.netgraph.4; サブシステムに &man.ng.mppc.4; と &man.ng.bridge.4; のノードタイプが新たに追加され, &man.ng.ether.4; ノードが動的にロード可能になりました. また, 細かなバグ修正と改良も加えられています. &merged; &man.netgraph.4; の更新・バグ修正が行なわれました. 複数のリンク上でパケットの多重化を行なう netgraph ノードタイプ &man.ng.one2many.4; が新たに追加されました. &merged; &man.gif.4; で動作する netgraph ノード &man.ng.gif.4; および &man.ng.gif.demux.4; が新しく追加されました. IP の入力処理を行なうコードに入る前のキューに格納された IP パケットに対応する netgraph ノード &man.ng.ip.input.4; が新しく追加されました. SLIP が mfsroot フロッピイメージから削除されました. ICMP ECHO および TSTAMP 応答速度に制限が加えられるようになりました. open 状態のポート, open 状態にないポートに対して送信されるパケットに よって生成される TCP RST は独立したカウンタを用いて制限されており, 各々異なる種類の速度制限キューとして分けられています. 正しいシーケンス番号が送り返されてきた場合に ICMP UNREACH_FILTER_PROHIB メッセージが SYN_SENT 状態にある TCP 接続を RST できるようになりました. これは sysctl 変数 net.inet.tcp.icmp_may_rst で制御することができます. ACK が遅れるという TCP のバグが修正されました. &merged; TCP が TCP Fast Recovery アルゴリズムに対する NewReno の変更に対応しました. この動作は sysctl 変数 net.inet.tcp.newreno で制御することができます. &merged; TCP が初期 SYN セグメントに対してより積極的にタイムアウトするようになりました. これにより, 初期の接続試行をより早く中断することが可能になっています. &merged; TCP_COMPAT_42 カーネルオプションが削除されました. TCP_RESTRICT_RST カーネルオプションが削除されました. 同様の機能は sysctl 変数 net.inet.tcp.blackhole で実現可能です. &merged; &man.rc.conf.5; の標準設定において TCP の RFC 1323 拡張が有効化されるようになりました. &merged; 接続が確立される際, 三番目の SYN セグメントが送られるまでに反応がなかった場合は RFC 1323 および RFC 1644 の TCP 拡張が無効化されるようになりました. この動作は VJ ヘッダ圧縮の実装にバグがある (非常に古い) ターミナルサーバに対応するためのものです. &merged; 各接続に対して TCP テンプレート構造体のメモリ割り当てを行なわないように TCP 実装が変更されました. これは多くの接続を扱う大規模システムにおいてバッファの使用量を低減します. &merged; sysctl 変数 net.inet.tcp.sendspace および net.inet.tcp.recvspace で制御されている TCP の標準バッファサイズがそれぞれ 32K と 64K に増やされました. TCP が RFC 1948 (Defending Against Sequence Number Attacks) に対応しました. この機能は net.inet.tcp.strict_rfc1948, net.inet.tcp.isn_reseed_interval sysctl 変数できます. &merged; sysctl 変数 net.inet.ip.check_interface が新たに追加されました. これは標準設定で on になっており, パケットの送信先アドレスと一致するアドレスを持ったインターフェイスに パケットが到着したかどうか IP レベルでチェックを行ないます. &merged; sysctl 変数 net.link.ether.inet.log_arp_wrong_iface が新たに追加されました. これは ARP 要求が間違ったインターフェイスに到着した時のログ記録を抑制するかどうか制御するためのものです. &merged; &man.arp.8; の オプションフラグにある proxy という修飾子が オプションフラグで使われているものと同じ pub という修飾子に変更されました. また, および オプションフラグに only キーワードが追加されました. これは proxy 専用 の公開エントリを作成するために使います. &man.ipfw.4; が TCP セグメント内に ECN ビットを含む場合にも正しくフィルタ動作を行なうようになりました. &merged; オプションを指定されなかった場合は &man.ipfw.8; が動的ファイアウォールルールを表示しないように変更されました. オプションでは有効期限の切れた動的ルールが表示されます. &man.bridge.4; および &man.dummynet.4; に細かな改良とバグ修正が加えられました. &man.ipfw.8; に新機能 (me) が追加されました. これにより IP アドレスが動的に変化するインターフェイス上のパケットに一致させることができます. &merged; &man.ip6fw.8; にファイル読み込み時のプリプロセッサ機能と (quiet) フラグが新たに追加されました. &merged; IP パケットの ID フィールドを乱数化する options RANDOM_IP_ID カーネルオプションが追加されました. これはリモートの観測者が, 各送信パケットに対して一つずつカウントを増加させるという標準的な動作から マシンのパケット生成速度を推定できないようにするものです. &merged; IP マルチキャストが VLAN デバイス上で動作するようになりました. また, VLAN コードにあったいくつかのバグも修正されています. ディスク・記憶装置 &man.asr.4; ドライバが Adaptec 2000S, 2005S Zero-Channel RAID コントローラに対応しました. &merged; &man.aac.4; ドライバが Adaptec SCSI RAID 5400S コントローラに対応しました. &merged; 3ware ATA RAID に対応する &man.twe.4; ドライバが追加されました.&merged; &man.ata.4; ドライバが ATA100 コントローラに対応しました. さらに ServerWorks ROSB4 ATA33 チップセット, CMD 648 ATA66 チップセット, CMD 649 ATA100 チップセット, Cyrix 5530 にも対応しています. &merged; 設定をより柔軟に行なえるよう, &man.ata.4; ドライバの多くのオプションはカーネルコンフィグレーション時だけでなく, ブートローダからも設定を変更できるようになりました. &merged; &man.ata.4; ドライバがタグキューイング機能に対応しました. これは hw.ata.tags で制御可能で, ブートローダからも設定できます. &merged; &man.ata.4; ドライバが Promise Fasttrak コントローラおよび HighPoint HPT370 コントローラのような ATA 疑似 RAID コントローラに対応しました. &merged; &man.wd.4; 互換デバイスが &man.ata.4; ドライバから削除されました. &merged; firmware 6.X 以降を搭載した Mylex PCI to SCSI AccelRAID コントローラおよび eXtremeRAID コントローラに対応する &man.mly.4; ドライバが新たに追加されました. &merged; Adaptec SCSI RAID コントローラファミリ, および DPT SmartRAID V, VI ファミリに対応する &man.asr.4; ドライバが新たに追加されました. &merged; &man.aac.4; が Adaptec PCI-SCSI RAID コントローラの FSA ファミリに対応しました. &merged; The &man.aac.4; ドライバが更新され, アダプタによって発行されるコマンド, ディスクデバイスの脱着, クラッシュダンプ機能, CLI 管理に使われる &man.ioctl.2; コマンドなどを正しく処理できるようになりました. &merged; &man.ahc.4; ドライバに対して非常に数多くの更新や バグ修正, 改良が加えられました. それには RAID Port モードでの動作, AAA や ARO カードを搭載したシステムでの動作が可能になったこと, また, パフォーマンスの向上などが含まれています. Ultra2/U160 コントローラでまれにハングアップが発生するといったバグを含め, いくつかのバグも修正されています. &merged; NetBSD/pc98 から ncv, nsp, stg ドライバが移植されました. これらは NCR 53C50 / Workbit Ninja SCSI-3 / TMC 18C30, 18C50 ベースの PC-Card/ISA SCSI コントローラに対応しています. &merged; &man.cd.4; ドライバが書き込み操作に対応しました. これにより, DVD-RAM, PD といった CD デバイスとして認識されるドライブへ書き込むことが可能です. ただしこの変更はランダムアクセス可能な書き込みデバイスにのみに有効なもので, CD-R ドライブのようなシーケンシャルアクセス専用の書き込みデバイスには 関係しません. CD-R ドライブは &man.cdrecord.1; (Ports Collection の sysutils/cdrtools に含まれています) が対応しています. &merged; &man.vinum.4; ボリュームマネージャにいくつかのバグ修正と改良が加えられました. メモリディスクデバイス &man.md.4; に &man.md.4; の機能が統合されました. &man.md.4; デバイスは &man.mdconfig.8; で設定できるようになり, &man.vn.4; は削除されています. また, メモリファイルシステム (MFS) も削除されました. ATAPI CD-R ドライブの BurnProof(TM) 機能に対応しました. &merged; &man.isp.4; が対応している SCSI カードに接続されている特定の CDROM を認識しないというバグが修正されました. &merged; &man.isp.4; ドライバはファイバチャネルのトポロジ変更を積極的に検出するように変更されました. &man.isp.4; ドライバが Qlogic SCSI カードのターゲットモードに対応しました. これには Ultra2, Ultra3, デュアルバスカードが含まれます. &man.isp.4; ドライバが Qlogic 2300/2312 Optical Fibre Channel PCI カードをサポートしました. &merged; ida ディスクドライバがクラッシュダンプに対応しました. &merged; CAM のエラー回復処理コードが更新されました. &man.sa.4; エラー処理にあったいくつかの問題点が修正されました. これには テープドライブが &man.mt.1; に追随せずにまわってしまう という問題も含まれています. ファイルシステム &os; カーネルが新たに名前付き拡張属性 (named extended attributes) に対応しました. これはカーネルおよび高い権限を持つユーザランドプロセスが, ファイルとディレクトリに属性情報をタグ付けすることを可能にするものです. 拡張属性は TrustedBSD プロジェクトに対応するために追加されたもので, 特に ACL, ケーパビリティ情報, 必須アクセス制御ラベルが含まれています (詳細は /usr/src/sys/ufs/ufs/README.extattr 参照). ライセンスの変更により softupdates がカーネルソースツリーの主要部に統合され, GENERIC カーネルでの利用が可能になりました. &merged; FFS にファイルシステムのスナップショット機能が追加されました. 詳細は /usr/src/sys/ufs/ffs/README.snapshot にあります. FFS 用の softupdates にいくつかのバグ修正と改良が加えられました. &man.statfs.2; および &man.df.1; は softupdates 利用時に commit されて解放されたファイルとブロック数を記録するようになりました. 非常に大容量のファイルシステムでスーパブロックが破損する可能性のあった FFS におけるバグが修正されました. &merged; inode ファイルシステム (IFS) が新たに追加されました. 詳細は /usr/src/sys/ufs/ifs/README にあります. ISO-9660 ファイルシステムに対し, 新たに ロード可能なキャラクタ変換ルーチンに対応するためのフックが追加されました. 良く使われる変換ルーチンは sysutils/cd9660_unicode の port に含まれています. &man.kernfs.5; は廃止され, 削除されました. NFS クライアントにおいて, O_EXCL|O_CREAT オープン時に不正なアクセスタイムを生成するバグが修正されました. &merged; nfsnode ハッシュテーブルを効率化し, NFS 性能を向上させるために (Fowler/Noll/Vo ハッシュアルゴリズムに基づく) 新しい NFS ハッシュ関数が実装されました. &merged; クライアント側における NFS ロックが実装されました. カーネル内で複雑に混ざりあっていた NFS のコードが, 保守と将来的な開発を容易にするためにクライアント側とサーバ側に分離されました. ファイルシステムにアクセス制御リスト (ACLs) が導入されました. ACL はファイルやディレクトリに対して, より粒度の細かく自由度の高いアクセス制御を可能にするもので, TrustedBSD プロジェクトから統合されたものです. 詳細は /usr/src/sys/ufs/ufs/README.acls をご覧ください. FFS のディレクトリ配置の優先アルゴリズムが変更され, 大きなファイルシステムにおける速度が改善されました. カーネルが smbfs (CIFS) に対応しました. ユーザランド側のファイルシステムマウントユーティリティは &os; Ports Collection にある net/smbfs の port に含まれています. &merged; 一貫性を維持するため, fdesc, fifo, null, msdos, portal, umap, union の各ファイルシステムはそれぞれ fdescfs, fifofs, msdosfs, nullfs, portalfs, umapfs, unionfs という名前に変更され, モジュールや mount_* プログラムなども名前が変更されました. また, &man.fstab.5; 内にある msdos ファイルシステムのエントリが変更なしに動作できるよう, 互換性を維持するための措置が &man.mount.8; に加えられています. 疑似ファイルシステム pseudofs が新たに追加されました. &man.linprocfs.5; は pseudofs を利用するように変更されています. 巨大なディレクトリ用に, dirhash と呼ばれる単純なハッシュをベースとした検索効率化処理が追加されました. UFS_DIRHASH カーネルオプションの設定により, メモリを多少余分に使って巨大なディレクトリの操作速度を向上させることが可能です. &merged; VM サブシステムはデフォルトで UFS ディレクトリ用の メモリ要求を担うようになりました (この挙動は vfs.vmiodirenable sysctl 変数 で制御されます). PCCARD 対応 pccard ドライバおよび &man.pccardc.8; が複数のカード着脱音に対応しました. &merged; 比較的新しいマシンの多くで, PCCARD デバイスの割り込みを ISA もしくは PCI のいずれかの割り込み経路に設定することが可能になりました. &man.pcic.4; ドライバが更新され, 新たにその両方の割り込み経路に対応 (以前は ISA のみの対応でした) しています. &merged; ほとんどのラップトップ型 PC における PCMCIA デバイスの設定が簡単で柔軟に行なえるようになっています. また, さまざまある PCI バスを使った Cardbus ブリッジ (Orinoco 社の PCI NIC で使われています) にも対応しました. PCI 割り込み経路制御が原因で, マシンの異常停止やパニック等の問題が発生するものもありますが, その場合は従来の ISA 割り込み経路制御に設定することで問題を解決できる可能性があります. その際には /boot/loader.conf にある次の行を書き換えてください. hw.pcic.intr_path="1" hw.pcic.irq="0" &os; を問題の発生するマシンにインストールする際は, 一番最初の起動中, ブートローダに次の行を入力すると良いでしょう. ok set hw.pcic.intr_path="1" ok set hw.pcic.irq="0" NEWCARD が暫定的に Cardbus に対応しました. このコードは TI113X, TI12XX, TI125X, Ricoh 5C46/5C47, Topic 95/97/100, Cirrus Logic PD683X ブリッジに対応しています. 16-bit PC Card には, まだ対応していません. マルチメディアへの対応状況 &man.pcm.4; ドライバが ESS Solo 1, Maestro-1, Maestro-2, Maestro-2e に対応しました. また Forte Media fm801, ESS Maestro-2e, VIA Technologies VT82C686A サウンドカード/サウンドチップにも対応し, いくつか他の更新も行なわれました. 別にあった SoundBlaster 8 および SoundBlaster 16 用ドライバは従来の統一ドライバに置き換えられ, CMedia CMI8338/CMI8738 サウンドチップ用ドライバ, S3 SonicVibes チップセット用ドライバがそれぞれ新たに追加されています. &merged; Avance Logic ALS4000 用ドライバが新たに追加されました. &merged; ESS Maestro-3/Allegro 用ドライバが新たに追加されました. ただしライセンス上の問題があるため, それを含んだカーネルを構築することはできません. &merged; このドライバを利用するには, 次の行を /boot/loader.conf に追加してください. snd_maestro3_load="YES" &man.bktr.4; ドライバがバージョン 2.18 に更新され, 非常に多くの新機能が提供されています. 新しいチューナタイプの追加および KLD モジュールとメモリ割り当ての改良が行なわれ, モジュールのアンロード, 再ロード時の &man.devfs.5; のバグが修正されました. また, 新たに Hauppauge モデル 44xxx WinTV カード (音声多重が搭載されていないもの) に対応しています. サウンドモジュールを構築している場合 kldload snd とするだけでドライバ等の必要なものすべてをロードすることができるようになりました. ハードウェア音量制御機能を持つサウンドカード用の新しい API が追加されました. Intel 443MX, 810, 815, 815E 統合サウンドデバイス用のドライバが追加されました. 寄贈ソフトウェア IPFilter が バージョン 3.4.20 に更新されました. &merged; ブートローダで使用されている Forth Inspired Command Language (FICL) が バージョン 2.05 に更新されました. Intel ACPI プロジェクトによる ACPI 対応機能が取り込まれ, ACPI CA 20010816 リリースに更新されました. 自動設定および電源管理の規格で業界標準となっている ACPI (Advanced Configuration and Power Interface) に新しく対応しました. ACPI の機能は Intel ACPI Component Architecture プロジェクトから提供されているもので, ACPI CA 20010831 リリースに更新されています. isdn4bsd isdn4bsd が バージョン 1.0.1 に更新されました. この更新により, &man.i4bisppp.4; (カーネル PPP over ISDN) ドライバを使用している場合は, ネットワークインターフェイスの設定や制御の際に &man.spppcontrol.8; ではなく &man.ispppcontrol.8; を使わなければならなくなっています. Cologne Chip Designs HFC デバイスを isdn4bsd に対応させる &man.ihfc.4; ドライバが新たに追加されました. &merged; NETjet-S / Teles PCI-TJ デバイスを isdn4bsd に対応させる &man.itjc.4; ドライバが新たに追加されました. &merged; 実験的なものですが, &man.isic.4; isdn4bsd ドライバが Eicon.Diehl DIVA 2.0 および 2.02 ISA PnP ISDN カードに対応しました. &merged; &man.i4bcapi.4; および &man.iavc.4; ドライバにより AVM 製の Active CAPI ベースの ISDN カードに対応しました. 対応しているカードは AVM B1 PCI/AVM B1 ISA Basic Rate カード, AVM T1 Primary Rate カードです. &merged; &man.isdnd.rc.5; ファイルに新たなキーワード maxconnecttime が追加されました. これは一つの接続がオープン状態にある時間を制限します. &merged; KAME IPv6 スタックが KAME プロジェクトの 2001 年 5 月 28 日づけのスナップショットをベースとしたものになりました. この節の項目のほとんどは, それが取り込まれたことによるものです. KAME IPv6 スタックのユーザランドにおける更新情報は に書かれています. &merged; &man.gif.4; が RFC 1933 ではなく RFC 2893 準拠のものになりました. イングレスフィルタの制御は IFF_LINK2 インターフェイスフラグで行なうことが可能です. &merged; IPSec が多少改良され, Rijndael, SHA2 アルゴリズムを利用できるようになりました. 特許の問題のため IPSec の RC5 対応は削除されています. &merged; &man.stf.4; が RFC 3056 に準拠し, イングレスフィルタの制御を IFF_LINK2 インターフェイスフラグで行なえるようになりました. &merged; IPv6 が物理ネットワーク上の不正なアドレス (ループバックアドレスなど) を厳密にチェックするようになりました. &merged; IPV6_V6ONLY ソケットオプションに完全対応しました. このオプションに関するカーネルの標準動作は sysctl 変数 net.inet6.ip6.v6only によって制御されます. &merged; RFC 3041 (Privacy Extensions for Stateless Address Autoconfiguration) に対応しました. これは sysctl 変数 net.inet6.ip6.use_tempaddr で有効化することができます. &merged; セキュリティ関連の修正 &man.sysinstall.8; においてインストール時に二種類のセキュリティプロファイルが選べるようになりました. これらのプロファイルは &man.rc.conf.5; に書かれている さまざまなシステムサービスを新規インストール時に有効化・無効化することで, 異なるレベルのシステムセキュリティを実現します. &merged; 不正な ELF 実行イメージを用いてシステムを停止させることができるバグが修正されました (セキュリティ勧告 FreeBSD-SA-00:41 参照). &merged; Linux 互換機能にあったセキュリティホールが修正されました (セキュリティ勧告 FreeBSD-SA-00:42 参照). &merged; バッファオーバフローによる不正利用の可能性を低減するため, 多くのプログラムにある文字列操作ライブラリの呼び出し部分が修正されました. &merged; TCP の初期シーケンス番号に, さらに強度に優れた乱数が使われるようになりました (セキュリティ勧告 FreeBSD-SA-00:52 参照). &merged; &man.tcpdump.1; にあったいくつかのバッファオーバフロー問題が 修正されました (セキュリティ勧告 FreeBSD-SA-00:61 参照). &merged; &man.top.1; にあったセキュリティホールが修正されました (セキュリティ勧告 FreeBSD-SA-00:62 参照). &merged; &man.gethostbyname.3; の「一つ違い」エラーによる 潜在的なセキュリティホールが修正されました (セキュリティ勧告 FreeBSD-SA-00:63 参照). &merged; &man.ncurses.3; ライブラリにあった潜在的なバッファオーバフロー問題が修正されました. これは &man.systat.1; から任意のコードの実行を可能にします. (セキュリティ勧告 FreeBSD-SA-00:68 参照). &merged; サーバの資源を大量に消費させることが可能な &man.telnetd.8; にあるセキュリティ上の弱点が修正されました (セキュリティ勧告 FreeBSD-SA-00:69 参照). &merged; &man.ppp.8; の nat deny_incoming コマンドが 正しく動作するようになりました (セキュリティ勧告 FreeBSD-SA-00:70 参照). &merged; &man.csh.1;/&man.tcsh.1; の一時ファイルを利用して ユーザが書き込み可能な任意のファイルを上書きさせることができる セキュリティ上の弱点が修正されました (セキュリティ勧告 FreeBSD-SA-00:76 参照). &merged; 標準設定では &man.ssh.1; バイナリが root で SUID されなくなりました. &merged; Kerberos IV 実装に対して, 環境変数問題, 潜在的なバッファオーバフロー問題, チケットファイルの上書き問題に関連する修正が行なわれました. &merged; &man.telnet.1; が環境変数に対して適切なフィルタ処理を行なうようになりました. &merged; &man.procfs.5; にあったいくつかのセキュリティ上の弱点が 修正されました (セキュリティ勧告 FreeBSD-SA-00:77 参照). &merged; サーバが &man.ssh-agent.1; および X11Forwarding を正しく無効化できないという OpenSSH のバグが修正されました (セキュリティ勧告 FreeBSD-SA-01:01 参照). &merged; &man.ipfw.8; および &man.ip6fw.8; が 到着した TCP セグメントを誤って established (確立済み)の接続の一部として扱ってしまう危険性のある バグが修正されました (セキュリティ勧告 FreeBSD-SA-01:08 参照). &merged; それが &man.crontab.5; 文法に則ったファイルであれば, すべてのユーザがシステム上の任意のファイルを読み込むことができる危険性がある &man.crontab.1; のバグが修正されました. (セキュリティ勧告 FreeBSD-SA-01:09 参照). &merged; wheel グループがアクセス可能なファイルの 先頭 16 バイトが読み出せてしまう危険性を持った &man.inetd.8; のセキュリティ上の弱点が修正されました (セキュリティ勧告 FreeBSD-SA-01:11 参照). &merged; 安全でない一時ファイルを使用してしまうという &man.periodic.8; のバグが修正されました (セキュリティ勧告 FreeBSD-SA-01:12 参照). &merged; 攻撃者が処理を中断させることができるという &man.sort.1; のバグが修正されました (セキュリティ勧告 FreeBSD-SA-01:13 参照). &merged; OpenSSH において, RSA 認証の失敗を検出した時にサーバ暗号鍵を再生成することで (ホスト暗号鍵ではなく) サーバ暗号鍵を推定することが可能になる攻撃を (単に接続制限をかけるのではなく) 防止するためのコードが加えられました. (セキュリティ勧告 FreeBSD-SA-01:24 参照). &merged; セキュリティ上の危険性を低減するため, 出力書式指定文字列を使用しているたくさんのプログラムが修正されました. &merged; 一時ファイルを使用するたくさんのプログラムがセキュリティを考慮した形に修正されました. &merged; 攻撃者から TCP, UDP の セション を切断できる可能性のある ICMP のバグが修正されました. &merged; 特定の不正なパケットを送ることで &man.timed.8; をクラッシュさせることができるような &man.timed.8; のバグが修正されました. (セキュリティ勧告 FreeBSD-SA-01:28 参照). &merged; 特定の不正なパケットを送ることで &man.rwhod.8; をクラッシュさせることができるような &man.rwhod.8; のバグが修正されました. (セキュリティ勧告 FreeBSD-SA-01:29 参照). &merged; ユーザがアクセス権限を持たないデータへの不正アクセスを可能にする競合状態が発生するという &os; FFS および EXT2FS 実装に存在していたセキュリティホールが修正されました (セキュリティ勧告 FreeBSD-SA-01:30 参照). &merged; &man.ntpd.8; に存在した, リモートから悪用可能なセキュリティ上の弱点が修正されました (セキュリティ勧告 FreeBSD-SA-01:31 参照). &merged; IPFilter のフラグメントキャッシュに存在していたセキュリティホールが修正されました (セキュリティ勧告 FreeBSD-SA-01:32 参照). &merged; FTP サーバ上で任意のコードを実行可能にするような &man.glob.3; のバッファオーバフロー問題が修正されました. さらにある種のサービス妨害攻撃を防止するため, &man.glob.3; に対して, 戻り値として返される一致パス名の数の上限を指定できるようになりました. &man.ftpd.8; はこの機能を使うようになっています. (セキュリティ勧告 FreeBSD-SA-01:33 参照). &merged; TCP の初期シーケンス番号がより徹底的に乱数化されるようになりました (セキュリティ勧告 FreeBSD-SA-01:39 参照). 互換性に問題がある可能性が考えられるため, このセキュリティ上の修正は sysctl 変数 net.inet.tcp.tcp_seq_genscheme で有効化・無効化の制御が可能です. &merged; (再帰的にファイルシステムを探索するアプリケーションで使われる) &man.fts.3; ルーチンに存在していた, 指定したディレクトリ階層の外にあるファイルを操作することが可能である, というセキュリティ上の弱点が修正されました. (セキュリティ勧告 FreeBSD-SA-01:40 参照). &merged; listen しているキューから接続が削除された時に 通常送信される RST セグメントを抑制することで, &os; の TCP 実装の SYN flood 攻撃に対する耐性が高められました. OpenSSH は競合状態を解消するため, 認証の転送ファイルを unlink する前にそのユーザの UID に切り替えるように変更されました. 親プロセスから exec された子プロセスにおいて, 実際にはいくつかのシグナルハンドラがそのままになってしまう欠陥が修正されました (セキュリティ勧告 FreeBSD-SA-01:42 参照). 攻撃者はこれを利用して setuid されたバイナリの権限で任意のコードを実行できます. &merged; &man.tcpdump.1; に含まれていた, リモートから悪用可能なバッファオーバフロー問題が修正されました. (セキュリティ勧告 FreeBSD-SA-01:48 参照). &merged; &man.telnetd.8; に含まれていた, リモートから悪用可能なバッファオーバフロー問題が修正されました. (セキュリティ勧告 FreeBSD-SA-01:49 参照). &merged; sysctl 変数 net.inet.ip.maxfragpackets および net.inet.ip6.maxfragpackets が新たに加えられました. これらは IPv4, IPv6 パケットのフラグメントが消費するメモリ量の上限を設定し, ある種のサービス妨害攻撃を防ぐためのものです (セキュリティ勧告 FreeBSD-SA-01:52 参照) &merged; inetd.conf におけるすべてのサービスが 標準の新規インストールで無効化されるようになりました. また &man.sysinstall.8; では, inetd.conf の編集機能に加えて &man.inetd.8; そのものの有効化/無効化の選択が追加されています. &merged; 二点間 (point-to-point) リンクにおける &man.ipfw.8; me ルール実装の欠陥が修正されました. 以前の me フィルタルールは二点間インターフェイスのローカル側 IP アドレスだけでなく, リモート側 IP アドレスにもマッチしてしまいます (セキュリティ勧告 FreeBSD-SA-01:53 参照). &merged; &man.procfs.5; にあったセキュリティ上の弱点が修正されました. これはプロセスから他のプロセスのメモリ空間にある機密情報を読むことができるよいうものです (セキュリティ勧告 FreeBSD-SA-01:55 参照). &merged; tcp_wrappers にある PARANOID ホスト名チェック機能がきちんと動作するようになりました (セキュリティ勧告 FreeBSD-SA-01:56 参照). &merged; ローカルから悪用可能な &man.sendmail.8; のセキュリティ上の弱点が修正されました (セキュリティ勧告 FreeBSD-SA-01:57 参照). &merged; リモートから root 権限を不正に奪うことが可能な &man.lpd.8; のセキュリティ上の弱点が修正されました (セキュリティ勧告 FreeBSD-SA-01:58 参照). &merged; &man.rmuser.8; に存在していた競合状態が修正されました. これは非常に限られた時間ですが /etc/master.passwd が誰でも読み込み可能な状態になるというものです (セキュリティ勧告 FreeBSD-SA-01:59 参照). &merged; UUCP の弱点は修正されました (セキュリティ勧告 FreeBSD-SA-01:62 参照). 標準のシステムパスに存在する, root が所有者となっていないあらゆるバイナリに schg フラグが設定されるようになりました. これは &man.cron.8; を経由したり, あるいは root ユーザやそのバイナリ所有者以外のユーザから実行し, そのバイナリを悪用することを防ぐためです. また /etc/periodic/daily/410.status-uucp から 実行される &man.uustat.1; は, root 権限ではなく uucp ユーザ権限で実行されるように変更されて います. &os; -CURRENT では, UUCP は Ports Collection に移され, もはやベースシステムの一部ではなくな りました. &merged; &man.semop.2; システムコールに存在していたバッファオーバフロー問題による セキュリティホールが修正されました.&merged; ユーザランドの変更点 &man.cdcontrol.1; が cdid コマンドに対応しました. このコマンドは CDDB データベースと同じアルゴリズムを使って CD シリアル番号を表示します. &merged; 侵入検知システム (IDS; intrusion-detection system) への応用を容易にするため, &man.mtree.8; において プロトタイプの作成・検証時に除外するパス名を列挙したファイルが利用できるようになりました. &merged; &man.ls.1; は (対応端末上で) オプションを使うことで, リストのカラー表示ができるようになりました. CLICOLOR 環境変数を設定することで, デフォルトでカラー表示を行なうことが可能です. &merged; &man.sysinstall.8; が, バイナリアップグレードの際に /etc/mail をきちんと保存するようになりました. &merged; ファイルを指定した長さに切り詰めたり, 拡張したりするための &man.truncate.1; ユーティリティが新たに追加されました. &merged; &man.syslogd.8; に新たなオプション が追加されました. これは syslog 要求に対する DNS 問い合わせを抑制します. &merged; カーネル環境変数をダンプする &man.kenv.1; コマンドが新たに追加されました. &merged; &man.periodic.8; の動作が /etc/defaults/periodic.conf および /etc/periodic.conf で制御できるようになりました. &merged; PC-98 ブートマネージャのインストール・設定用ユーティリティである &man.boot98cfg.8; が新たに追加されました. &merged; &man.logger.1; から直接リモートの syslog にメッセージを送信できるようになりました. &merged; &man.gdb.1; がハードウェアウォッチポイントに対応しました (カーネルデバッグレジスタおよび &os; 4.0 で導入された対応コードを利用). &merged; Perl スクリプトだった &man.which.1; が C プログラムに変更されました. Perl スクリプトだった &man.killall.1; が C プログラムに変更されました. そのため, オプションは &man.perl.1; の正規表現文法ではなく, &man.regex.3; の正規表現文法に従います. &merged; 非 root ユーザが実行した root で SUID されたプロセスを, その実行した非 root ユーザが &man.killall.1; を使って kill することができるようになりました. これは Perl 版の &man.killall.1; でもともと可能だった動作です. &man.finger.1; が, &man.finger.conf.5; ファイル経由で別名へ finger させる機能に対応しました. &merged; &man.finger.1; が .pubkey ファイルに対応しました. nsswitch 機能が NetBSD からマージされました. &man.nsswitch.conf.5; ファイルを作成することで, &man.passwd.5; や &man.group.5; といったさまざまなデータベースを, 通常のテキストファイル, NIS, Hesiod を経由して検索するように &os; を設定することが可能です. 従来の hosts.conf は廃止されました. RSA Security 社が RSA アルゴリズムに関する特許権を放棄したため, OpenSSL に含まれる本来の RSA アルゴリズム実装が標準状態で有効化されるようになり, 合衆国在住であるかどうかに関わらず rsaref port および librsaUSA, librsaINTL を使用する必要がなくなりました. &merged; &man.ifconfig.8; コマンドに パラメータが追加され, インターフェイスのリンク層アドレスを設定できるようになりました. &merged; &man.ifconfig.8; コマンドが CIDR の / 記号を用いた記法に対応しました. &merged; &man.ifconfig.8; コマンドが IEEE 802.11 無線ネットワークデバイスのパラメータ設定に対応しました. 対応しているのは &man.wi.4; および &man.an.4; デバイスで, &man.awi.4; デバイスは一部のみ対応しています. &merged; &man.ifconfig.8; コマンドはデフォルトで対応メディアのリストを 表示しないように変更されました. リストの表示は オプションを指定時に行なわれます. &merged; &man.setproctitle.3; が libutil から libc に移動しました. &merged; &man.chio.1; に, 物理位置ではなくボリュームタグで要素を指定する機能と, 要素を以前の位置に戻す機能が追加されました. &merged; &man.sed.1; に, 拡張正規表現に対応する オプションが追加されました. &merged; &man.ln.1; に, 既存のファイルを上書きする前にユーザに確認を行なうようにする オプションが追加されました. &merged; &man.ln.1; に, 処理対象ファイルがリンクだった場合に それをたどらないようにする オプションフラグが追加されました. また, 他の実装との互換性を高めるため オプションフラグも同じ目的で使用可能です. &merged; ユーザランド &man.ppp.8; に対して, 数多くの更新とバグ修正が加えられました. &merged; &man.make.1; において, :C/// (正規表現置換), :L (小文字変換), :U (大文字変換) という変数修飾子が新たに追加されました. これらは OpenBSD/NetBSD にある &man.make.1; プログラムと, &os; の差異を低減させるためのものです. &merged; 不正な空のサフィクスの処理にあった &man.make.1; のバグおよび, カレントディレクトリの許可属性に対する不適切な仮定, バッファオーバフローの可能性のある部分が修正されました. &merged; &os; Makefile インフラストラクチャが NetBSD に由来する WARNS 指示子に対応しました. この指示子は CFLAGS にコンパイラの警告オプションフラグを追加するかどうかを 比較的コンパイラの種類に依存しない形で制御することを可能にするものです. &merged; &man.fsck.8; ラッパが導入されました これは &man.fsck.8; を (&man.mount.8; のように) 異なる種類のファイルシステムに対して動作可能にするためのものです. (/etc/fstab のような) 複数のパス番号を扱う場合の &man.fsck.8; の動作が, 複数の物理ディスクにまたがるファイルシステムを考慮したものに変更されました. &os; ベースシステムにおける Perl コードのスタイルガイド &man.style.perl.7; が新たに追加されました. &man.netstat.1; の 使用中 (in use) のパーセント表示量が, ネットワーク mbuf の使用量を正確に反映するようになりました. &merged; &man.netstat.1; に, 表示桁が足りない場合のアドレス表示の切り詰めを抑制する オプションフラグが追加されました. &merged; &man.netstat.1; は, 各インターフェイスの入出力パケットをアドレス単位で追跡するようになりました. &merged; &man.netstat.1; に, 統計情報をリセットする オプションフラグが追加されました. &merged; &man.netstat.1; に, アドレスを数字で, ポート番号をシンボルで表示する新しいオプション が追加されました. &merged; &man.sockstat.1; に, および オプションフラグが追加されました. これはそれぞれ, 接続済みもしくは listen 中のソケットを一覧表示します. &merged; &man.mergemaster.8; に新たな機能の追加と整頓が行なわれました. クロスプラットフォームでの利用がより容易になっています. &man.mergemaster.8; が /etc/mergemaster.rc ファイルを読み込むようになりました. また, 必要に応じて (newaliases などの) ユーザが実行すべきコマンドをユーザに知らせるようになっています. &merged; コンパイラが FSF が提供している C/C++ ランタイム初期化コードを使用するように変更されました. この変更によりFSF が公開しているソースとの親和性だけでなく, 各種 egcs および gcc の移植版が生成するコードとの互換性が向上しています. &merged; スレッドライブラリに対して, シグナル操作の変更, バグ修正, パフォーマンスの改良 (システムコールスレッド切り替えの抑制を含む) が加えられました. &man.gdb.1; のスレッド対応も, その変更を反映して更新されています. &merged; &man.chflags.1; が /usr/bin から /bin に移動しました. <sys/param.h> を include する場合, CSMG_* マクロを使う必要がなくなりました. IP Filter が &man.rc.conf.5; による起動時の設定・初期化に対応しました. &merged; 各ユーザのログイン時間を表示する &man.lastlogin.8; ユーティリティが NetBSD から移植されました. &merged; &man.last.1; に オプションフラグが追加されました. これは, ある特定の日時・時刻にログインしていたユーザの スナップショット を表示します. &man.newfs.8; に write combining 機能 (訳注: データをひとまとめにしてバス使用効率を向上させる機能) が実装されました. これにより, 以前と比べて新しいファイルシステムの作成が最大 7 倍速くなっています. &merged; &man.newfs.8; に, 新しいファイルシステムの softupdates 機能を有効化する オプションフラグが追加されました. &merged; &man.newfs.8; において, 1 グループあたりのシリンダ数の既定値が, 現在のファイルシステム パラメータで許される最大の値になるようになりました. これは で上書きできます. 以前はデフォルトで 16 で固定されていました. この変更により &man.fsck.8; の性能が改善され, フラグメンテーションが少なくなります. &merged; &man.config.8; に含まれていた数多くのバッファオーバフロー問題が修正されました. &merged; &man.pwd.1; に, 与えられたパス名を物理ファイルシステムのパス名に正規化する &man.realpath.1; プログラムの機能が統合されました. &merged; &man.stty.1; が新たに erase2 コントロール文字に対応しました. これを用いると, たとえば Delete キーおよび Backspace キーの両方を erase 文字として利用することが可能になります. &merged; 単にエミュレーションカーネルモジュールをロードするだけの機能を持つ &man.ibcs2.8;, &man.linux.8;, &man.osf1.8;, &man.svr4.8; スクリプトが削除されました. 現在のカーネルモジュールシステムは, それらを必要に応じて自動的に, 依存関係を満たすようロードします. &man.top.1; が, tty の持つ最大の表示幅を利用するようになりました. 成長型 FFS ファイルシステム &man.growfs.8; が新たに追加されました. また, 既存のファイルシステムのメタ情報をダンプする &man.ffsinfo.8; ユーティリティも追加されています. &merged; &man.indent.1; に新しい書式オプションがいくつか追加されました. &merged; &man.sysinstall.8; に新しいダイアログ表示関数が導入され, より直観的なものになりました. &merged; &man.sysinstall.8; のデフォルトのルートパーティションが, i386 版が 100MB, Alpha 版が 120MB にそれぞれ変更されました. &man.fsck.ffs.8; は SIGINFO シグナル (通常, tty から control-T を押下することで発生します) を受け取った直後, 現在のフェイズ番号と対応する進行状況を示す行を出力するようになりました. &merged; &man.fsck.ffs.8; が, オプションでマウントされている FFS ファイルシステムに対する, バックグラウンドでのファイルシステムチェックに対応しました (これらのファイルシステムで softupdates 機能が有効化されている必要があります). また オプションフラグは, 指定されたファイルシステムをフォアグラウンドでチェックする必要があるかどうかを指定します. &man.fsck.8; が, フォアグラウンドチェック () およびバックグラウンドチェック () に対応しました. &man.fsck.8; は従来, ファイルシステムをマウントする前に実行され, 実行終了時点でチェックがすべて完了していましたが, バックグラウンドチェックが利用できる場合, &man.fsck.8; は 2 回実行されます. 最初の実行は従来と同様の時点, つまりファイルシステムがマウントされる前に, バックグラウンドチェックが不可能なすべてのファイルシステムに対して オプションフラグが指定された形で実行されます. そしてもう一度, システムがマルチユーザモードに移行してから バックグラウンドチェックが可能なすべてのファイルシステムに対して オプションフラグが指定された形で実行されます. バックグラウンドチェックはフォアグラウンドチェックと異なり非同期で実行されるため, チェック中に他のシステム動作も並行して処理することが可能です. この機能を起動時に有効化するかどうかは, &man.rc.conf.5; の background_fsck オプションで制御できます. MS-DOS ファイルシステムの一貫性をチェックするユーティリティ &man.fsck.msdosfs.8; が新たに追加されました. &merged; &man.lpr.1;, &man.lpd.8;, &man.syslogd.8;, &man.logger.1; といったベースシステムに含まれるその他のネットワークユーティリティが IPv6 に対応しました. &merged; libdisk を用いることで, boot0 起動ローダのインストール時設定ができるようになりました. &merged; &man.rm.1; の オプションフラグが, 削除されるファイルの完全なパス名を表示するように変更されました. &man.lpr.1;, &man.lpq.1;, &man.lpd.8; に対してそれぞれ, 小さな改良が加えられました. &merged; &man.lpd.8; に新しいオプションが二つ追加されました. オプションフラグは すべての接続エラーのログを &man.syslogd.8; に送り, オプションフラグは予約済みポート以外からの接続を許可します. &merged; &man.lpd.8; の制御ファイルにおいて, 一部ですが o というタイプの印刷ファイルに対応しました. これは MacOS 10.1 で生成された PostScript 形式ファイルの印刷を可能にするためのものです. &merged; &man.lpc.8; に改良が加えられました. lpc clean は多少安全な動作をするように変更され, 新しく導入された lpc tclean コマンドにより, lpc clean コマンドで削除されるファイルをチェックすることができます. &merged; &man.ancontrol.8; もしくは &man.wicontrol.8; の最初の引数が - で始まっていない場合は インターフェイス名と判断するようになりました. &man.rdist.1; がベースシステムから削除され, &os; Ports Collection の net/44bsd-rdist として用意されるようになりました. &man.ppp.8; に, 新たに tcpmssfixup オプションが追加されました. これは送信および到着 TCP SYN パケットを調整し, 最大受信セグメントサイズがインターフェイスの MTU を超えないようにします. &merged; &man.ppp.8; が IPv6 に対応しました. パスワード認証ハッシュライブラリを設定可能にするために libcryptlibdescrypt が統合されました. des ハッシュアルゴリズムをコンパイルしない指定を明示的にしていない限り, md5 と des の両方のハッシュアルゴリズムが利用可能です. &merged; &man.passwd.1; および &man.pw.8; で パスワードハッシュアルゴリズムを切り替えられるようになりました. /etc/login.conf にある passwd_format をご覧ください. &merged; <sys/select.h> を SUSv2/POSIX 規格に適合させるため, struct selinfo および関連する関数が <sys/selinfo.h> に移動しました. &man.syslogd.8; が新たに, ログを /dev/console に出力する LOG_CONSOLE ファシリティ (標準設定では無効) に対応しました. &merged; &man.rpcgen.1; は, /usr/libexec/cpp ではなく (NetBSD のように) /usr/bin/cpp を使うようになりました. 起動時の &man.syscons.4; 設定は, アーキテクチャに依存しない /etc/rc.syscons で行なうように変更されました. &merged; &man.burncd.8; に, マルチセションモードに対応するためのオプション が追加されました (デフォルト動作ではシングルセションでディスクをクローズします). また, イメージファイルのリストが格納されたファイルを指定するための オプションも追加されています (ファイル名 - を指定することで標準入力 stdin を使用することが可能) &merged; &man.burncd.8; が新しくディスクアトワンス (Disk At Once; DAO) モードに対応しました. オプション でこのモードを選ぶことが可能です. &man.dmesg.8; へ, &man.syslogd.8; の記録および /dev/console の出力が含まれているメッセージバッファ全体を表示するための オプション が追加されました. &merged; &man.cdcontrol.1; のデフォルトデバイスが CDROM という環境変数で設定できるようになりました. &merged; &man.cdcontrol.1; が新たに, 音楽 CD 再生時に指定した数だけ前後のトラックへ移動するためのコマンド, next および prev に対応しました. &merged; &man.sysctl.8; が新たに, 変数名のみを表示するためのオプション に対応しました. &merged; &man.sysctl.8; のオプション および はそれぞれ および に置き換えられ, 従来のオプションは廃止されました. また, 動作を指定する オプションは必要性がないため削除されました. &merged; インストール手順を単純化するため, &man.sysinstall.8; が /usr/sbin に移動しました. &man.sysinstall.8; のマニュアルページも, 他のユーティリティと同様の方法でインストールされるようになっています. &man.config.8; で本来エラーとなるべきだったさまざまな警告が, 適切な終了コードを持った致命的なエラーに置き換えられました. これは make buildkernel において致命的なエラーが無視されてしまうこと, またユーザがエラーに気付かず不正なカーネルを構築してしまうことを防ぐためのものです. &merged; libc が標準でスレッドセーフになりました. libc_r にはスレッド関数のみが含まれています. &man.find.1; に新しいオプション が追加されました. これはファイルもしくはディレクトリが空の場合に真を返します. &merged; &man.find.1; に以下の新しいオプションが追加されました. および は 大文字小文字を区別しないマッチングを行ない, および 正規表現マッチングを行ないます. オプションを使うことで拡張正規表現を用いることも可能になっています. &merged; &man.find.1; にファイルのタイムスタンプを比較するための新しいオプション , , , , が追加されました. 後者のオプションでは, さまざまな時間単位で指定することが可能です. &merged; &man.tftpd.8; に新しいオプション および が追加されました. これらは接続したクライアントの IP アドレスに応じて &man.chroot.2; 先の変更を可能にするものです. また &man.tftp.1; および &man.tftpd.8; は, 65535 ブロックよち大きいファイルが転送できるように修正されています. &merged; &man.tftpd.8; が RFC 2349 (TFTP Timeout Interval and Transfer Size Options) に対応しました. この機能は (HP i2000 Itanium サーバが採用している) EFI ブートマネージャのようなファームウェアが TFTP を使ってイメージから起動するために必要となるものです. &man.vidcontrol.1; に新しいオプション が追加されました. これは VESA_800x600 ラスタテキストモードにおいて, テキストサイズを指定するためのものです. &merged; セキュリティを向上させるため, &man.ldconfig.8; がディレクトリの所有者および許可属性をチェックするようになりました. このチェックは オプションを用いることで抑制できます. &merged; &man.rfork.2; の補助関数として &man.rfork.thread.3; 関数が追加されました. この関数を使えば, 複雑なスタック置換コードを実装する必要はありません. &merged; 国際化対応のために非常に多くの追加が行なわれました. &os; は今回, LC_MONETARY, LC_NUMERIC, および LC_MESSAGES の各カテゴリのロケールに完全対応しています. また多くのアプリケーションが, この対応を反映するように更新されています. X11R6 や他の UNIX 系 OS との互換性を高めるため, ロケール名の変更が行なわれました. たとえば en_US.ISO_8859-1en_US.ISO8859-1 に変わっています. これに対する後方互換性は /etc/locale.alias に含まれるエントリによって提供されています. &os; 4-STABLE との互換性を提供する compat4x 配布物が追加されました. compat3x 配布物が更新され, &os; 3.5.1-RELEASE のライブラリが含まれるようになりました. &merged; &man.savecore.8; にクラッシュダンプ作成後のクリアを抑制する新しいオプション が追加されました. またこれによりクラッシュダンプに 0 の連続が書かれなくなり, 容量と時間の短縮も実現します. &merged; 2GB 以上の RAM を搭載したマシンでも &man.savecore.8; が正常に動作するようになりました. &merged; &man.tar.1; が TAR_RSH 環境変数に対応しました. これは主に, 転送手段として &man.ssh.1; を利用できるようにするためのものです. &merged; &man.disklabel.8; のパーティションサイズとして, 従来のセクタ数だけでなくキロバイト, メガバイト, ギガバイトという表現が新たに使用できるようになりました. &merged; &man.rand.3; の疑似乱数生成器実装に対して, 結果の乱雑さをより向上させるための改良が加えられました. &man.login.1; が PAM モジュールで設定された環境変数の export に対応しました.&merged; PAM のアカウント管理, セション管理に対応しました. &man.su.1; が認証に PAM を使うようになりました. &man.wall.1; に新しいオプション が追加されました. これは指定したグループに属するユーザ全員にメッセージを送ります. &merged; make.conf 変数に新しく CPUTYPE が追加されました. これは OpenSSL のようなコードのコンパイル時に, 特定プロセッサ用の最適化を行なうようコンパイラを制御するためのものです. &merged; &man.ipfstat.8; に &man.top.1; 風の表示を行なう オプションが追加されました. &merged; /usr/src/share/examples/BSD_daemon/ に スケーラブルな Beastie 画像が追加されました. &merged; &man.dump.8; が, 下位階層に対して nodump フラグの継承を行なうようになりました. &merged; &man.dump.8; の オプションが, 後続するオプションを余計に無効化してしまっていた問題が修正されました. &merged; &man.dump.8; に新しいオプション が追加されました. これにより /etc/dumpdates ファイルパスの変更が可能になります. &merged; &man.split.1; が 2GB を超えるファイルの分割に対応しました. &merged; &man.tail.1; が 2GB を超えるファイルの処理に対応しました. &merged; &man.units.1; に対していくつかの更新とバグ修正が加えられました. &merged; 数多くのマニュアルページに対して, 内容および組版用マークアップの改訂が行なわれました. &merged; リモートプリンタのキューに対して lprm - が動作するようになりました. &merged; &man.ftpd.8; に新しいオプションが追加されました. 追加されたのは, 読み出し専用にする オプション, EPSV を無効にする オプションです. 情報漏洩を低減するための修正および, コンパイル時にポート番号の範囲を設定する機能も加えられています. &merged; &man.ping.8; に, 送出パケットの TTL を設定する オプションが追加されました. &merged; &man.ping.8; に, パケットが返って来ない場合にビープ音を鳴らす オプションが追加されました. &merged; Transport Independent RPC (TI-RPC) が import されました. &man.portmap.8; が &man.rpcbind.8; に置き換えられました. NFS が IPv6 に対応しました. &man.rpc.lockd.8; が NetBSD から import されました. このデーモンは NFS ファイルシステムにおけるロックを実現するためのものです. &man.rc.8; に &man.rc.conf.5; 環境変数間の依存関係を処理する枠組が追加されました. &merged; &man.rc.8; は起動時に, /var/run および /var/spool/lock に含まれるディレクトリでないファイルをすべて削除するようになりました. &merged; ファイルシステムの Access Control Lists を管理するコマンド &man.setfacl.1; および &man.getfacl.1; が追加されました. libfetch が passive FTP で用いる TCP ポート番号範囲の既定値が変更されました. これは &man.fetch.1; の動作に影響しますが, オプションを使うことで従来と同じ動作をさせることが可能です. &merged; libfetch がコールバック認証に対応しました. libfetchHTTP_USER_AGENT 環境変数に対応しました. &merged; &man.ata.4; ドライバの動作を制御するコマンド &man.atacontrol.8; が追加されました. libcrypt が Blowfish パスワードハッシュに対応しました. &merged; libposix1e の関数が libc に統合されました. &man.vidcontrol.1; において, フォントロード時のフォントサイズ指定を省略できるようになりました. また, エラー処理部分にいくつかの改良も加えられています. &merged; &man.vidcontrol.1; に &man.syscons.4; 画像バッファのスナップショットをとるための新しいオプション が追加されました. このオプションによるスナップショットは, Ports Collection に含まれる graphics/scr2png ユーティリティで操作することができます. &merged; &man.vidcontrol.1; に, 指定した tty の履歴バッファをクリアする新しいオプション が追加されました. また オプションを使うことで, 履歴バッファの大きさを設定することが可能です. &merged; devinfo というデバイスツリーとリソース使用状況を表示する簡単なツールが追加されました. 書式指定文字列の一貫性をチェックする関数 &man.fmtcheck.3; が新たに追加されました. &merged; 行番号を付加するフィルタプログラム &man.nl.1; が新たに追加されました. &merged; &man.c89.1; がシェルスクリプトからバイナリ実行ファイルに置き換えられ, いくつかあった小さなバグが修正されました. &merged; &man.pax.1; に対して数多くの改良が加えられました. その改良には, &man.cpio.1; 機能の追加, &man.tar.1; 互換機能の強化, &man.gzip.1; および &man.compress.1; 機能を提供する オプションおよび オプションの追加, バグ修正が含まれます. &os; コンソールがウクライナ語に対応しました. &merged; ELF 動的リンカである &man.rtld.1; のパフォーマンスが向上しました. &merged; フロッピーディスクからデータを読み出すためのプログラム &man.fdread.1; が新たに追加されました. これは &man.fdwrite.1; と対になるもので, 異常のあるメディアからデータを取り出す手段を提供し, 複雑な手順で &man.dd.1; を実行しなくて済むようにする目的で設計されています. &man.xargs.1; に新しいオプション replstr が追加されました. これは標準入力から読み込まれたデータをコマンドライン引数の最後ではなく, 指定した点に挿入するように制御するためのものです. &merged; &man.apmd.8; に新しい設定指示子 apm_battery が追加され, バッテリレベルのモニタリング機能および, バッテリ残量のパーセント量や残り時間を基準としたコマンドの実行が可能になりました. 指定方法は /etc/apmd.conf にあるコメントアウトされた例をご覧ください. &merged; &man.telnet.1; が標準で autologin と暗号化に対応しました. また, 暗号化を抑制するオプション も追加されています. &man.telnet.1; に新しいオプション が追加されました. これは UNIX ドメイン (AF_UNIX) ソケットへの接続を可能にするものです. &merged; &man.vinum.8; のストライプサイズの既定値が 256KB から 279KB に変更されました. これは各ストライプに対してスーパブロックを均等に割り振るためです. &man.chown.8; が オプションなしで 実行された場合に, コマンドライン引数で指定されたシンボリックリンクを正しく辿るようになりました. &man.chown.8; におけるユーザとグループの区切り文字に . を使うことができなくなりました. これは . を含むユーザ名に対応するためです. &man.chmod.1; に新しいオプション が追加されました. これはシンボリックリンクの許可属性の変更に対応するものです. &man.install.1; に数多くの新機能が追加されました. それには既存の対象ファイルのバックアップを作成する および オプション, 安全な (アトミックなコピー) 操作を行なう オプションの追加が含まれています. 標準で (コピー) オプションが有効化されるようになり, (デバッグ) オプションは廃止されました. また, &man.install.1; は (ディレクトリ作成) オプションと (変更されたファイルのみコピー) オプションが同時に指定された場合に警告を表示するようになっています. &merged; &man.whois.1; は, IP アドレスの問い合わせを ARIN に送るように変更されました. オプションが指定されておらず, ARIN への問い合わせが APNIC もしくは RIPE 参照する場合には, 適切なサーバに再問い合わせが行なわれます. &merged; &man.fmt.1; が書き直され, 従来あった数多くのバグが修正されました. &merged; &man.df.1; に新しいオプション が追加されました. これはローカルにマウントされたファイルシステムの情報のみを表示します. &merged; &man.faithd.8; に対応するための &man.inetd.8; 文法が, 他の BSD と互換性のあるものに変更されました. &merged; &man.inetd.8; の ident プロトコル対応が整頓・更新されました. &merged; &man.inetd.8; が UNIX ドメインソケットに対応しました. &merged; &man.du.1; に新しいオプション が追加されました. これは指定されたシェルグロブにマッチするファイル・サブディレクトリを無視するためのものです. &merged; &os; の &man.resolver.3; 実装が EDNS0 に対応しました. これは IPv6 対応の resolver, DNS サーバとの動作に必要となるものです. &merged; &man.col.1; に新しいオプション が追加されました. これは不明なコントロールシーケンスを処理せずに通過させるためのものです. &merged; 新しいコマンド &man.mdmfs.8; が追加されました. これは &man.mdconfig.8; コマンド, &man.disklabel.8; コマンド, &man.newfs.8; コマンド, &man.mount.8; コマンドに関連するラッパで, 廃止された &man.mount.mfs.8; コマンドのオプションが利用できます. 新しいライブラリ関数 &man.getprogname.3;, &man.setprogname.3; が追加されました. これらは現在実行されているプログラムのプログラム名を操作するためのもので, エラー報告ルーチンで出力に一貫性を持たせるために使用されます. &merged; 新しいユーティリティ &man.kldconfig.8; が追加されました. これにより, カーネルモジュールの検索パスの操作を簡単に行なうことができます. &merged; &man.moused.8; に新しいオプション が追加されました. これはマウスポインタの加速を制御するためのものです. &merged; &man.fdisk.8; は, コマンドラインに何も指定されていなければデバイスを検索せずに, ルートデバイスからデフォルトデバイス名を解決するようになりました. &man.mail.1; に新しいオプション が追加されました. これは本文が空のメッセージを送信しないようにするためのものです. &merged; &man.route.8; で間接経路が変更された際, ゲートウェイ経路とその変更された経路とが同じサブネットになっている場合に より正確な表示が行なわれるようになりました. &merged; &man.netstat.1; との互換性を高めるため, &man.route.8; は net/bits という書式ではなく host/bits という書式を使うようになりました. &merged; &man.route.8; が, 新たに 代理専用 (proxy only) の公開済み ARP エントリを作成できるようになりました. &merged; TMPDIR を用いて &man.tmpnam.3; における一時ファイルの場所を指定できるようになりました. &merged; &man.pppd.8; (カーネル PPP の制御用プログラム) のインストール時の許可属性が 4555 から 4550 に, 所有者/グループが root:dialer に変更されました (つまり, 実行できるユーザが制限されました). &man.pppd.8; を利用している場合は, グループ設定を変更する必要があります. &merged; &man.ftpd.8; に新しいオプション および が追加されました. はすべてのユーザ, はゲストユーザに対して RETR コマンドを無効化します. これと オプション, および適切なファイル許可属性を組み合わせることで, 比較的安全なアップロード用 anonymous FTP サーバを構築することが可能です. &man.daemon.3; へのコマンドラインインターフェイスを提供する &man.daemon.8; プログラムが新しく追加されました. &man.daemon.8; は自身を制御端末から切り離し, コマンドラインで指定されたプログラムを実行します. これは任意のプログラムをデーモンとして実行させることを可能にします. &man.syslogd.8; に新しく オプションが追加されました. これは &man.syslogd.8; を, 利用可能なすべてのアドレスではなく指定アドレスへ bind させるためのものです. &man.cat.1; が新しく UNIX ドメインソケットの読み出しに対応しました. &merged; &man.groups.1; および &man.whoami.1; シェルスクリプトは &man.id.1; へ完全に統合され, 両方とも廃止されました. &man.touch.1; に新しいオプション が追加されました. これはコマンドの作用をシンボリックリンクのリンク先ではなく, リンクそのものに対して行なうことを指定するものです. &man.edquota.8; に新しいオプション が追加されました. これは (オプション で指定される) quota プロトタイプの設定対象を, 一つのファイルシステムに限定するために使われます. libgmplibmp で置き換えられました. &man.cu.1; と &man.rmail.8; を除いて, UUCP は ベースシステムから削除されました. UUCP の残りの部分は Ports Collection の net/freebsd-uucp にあります. 寄贈ソフトウェア am-utils がバージョン 6.0.7 に更新されました. bc がバージョン 1.04 から 1.06 に更新されました. &merged; BIND 配布物に含まれる ISC ライブラリが libisc として構築されるようになりました. &merged; BINDNOADDITIONAL オプションで構築されるようになりました. これは良くある設定ミスに対して, &man.named.8; により一貫性の高い動作をさせるためのものです. &merged; BIND がバージョン 8.2.4-REL に更新されました. &merged; Binutils が 2.11.2 に更新されました. &merged; bzip2 バージョン 1.0.1 が import されました. これによりベースシステムに &man.bzip2.1; プログラムおよび, libbz2 ライブラリが導入されました. &merged; &man.ee.1; Easy Editor がバージョン 1.4.2 に更新されました. &merged; file がバージョン 3.37 に更新されました. gawk の実体 &man.awk.1; が, バージョン 3.0.4 から 3.0.6 に更新されました. これには数多くの致命的でないバグ修正と, いくつかのパフォーマンス改善が含まれています. &merged; gcc がバージョン 2.95.3 に更新されました. &merged; &man.gcc.1; は, 従来のスレッド対応ライブラリとスレッド非対応ライブラリという分割を廃止し, その二つが統合された libgcc を使用するようになりました. /usr/lib/libgcc_r.a は削除して構いません. &merged; &man.gcc.1; が GCC_OPTIONS 環境変数に対応しました. この変数には GCC のデフォルトオプションを指定します. &merged; GNATS がバージョン 3.113 に更新されました. &merged; gperf がバージョン 2.7.2 に更新されました. groff および関連ユーティリティが更新され, FSF バージョン 1.17.2 になりました. この import により, 従来あった制限を大幅に緩和した &man.mdoc.7; マクロパッケージ (mdocNG と呼ばれています) が追加されています. &merged; Heimdal がバージョン 0.3f に更新されました. ISC DHCP クライアントがバージョン 2.0pl5 に更新されました. &merged; Kerberos IV がバージョン 1.0.5 に更新されました. &merged; &man.more.1; コマンドが &man.less.1; に置き換えられました, ただし more というコマンド名はそのまま使用できます. less はバージョン 3.5.8 が import されました. &merged; libpcap がバージョン 0.6.2 に更新されました. &merged; libreadline がバージョン 4.2 に更新されました. Linux-PAM がバージョン 0.75 に更新されました. &merged; たくさんの新しい Linux-PAM モジュール, pam_ftp, pam_krb5, pam_nologin, pam_rootok, pam_securetty, pam_wheel が追加されました. ncurses がバージョン 5.2-20010512 に更新されました. NTP プログラムスイートがバージョン 4.1.0 に更新されました. OPIE ワンタイムパスワードスイートがバージョン 2.32 に更新されました. &merged; これは S/Key の機能を完全に置き換えるものです. Perl がバージョン 5.6.0 に更新されました. &man.routed.8; がバージョン 2.22 に更新されました. &merged; tcpdump がバージョン 3.6.3 に更新されました. &merged; &man.csh.1; シェルが &man.tcsh.1; に置き換えられました. ただし csh というコマンド名はそのまま使用できます. tcsh はバージョン 6.11 に更新されました. &merged; &man.traceroute.8; は, デフォルトの最大 TTL 値を net.inet.ip.ttl sysctl 変数から得るようになりました. &merged; CVS cvs がバージョン 1.11.1p1 に更新されました. &merged; &man.cvs.1; が利用する CVS_RSH 環境変数の 既定値が rsh ではなく ssh になりました. &merged; &man.cvs.1; に新しいオプション が追加されました. これはリポジトリから砂場 (sandbox) にある CVS/Template ファイルを更新するためのものです. &merged; &man.cvs.1; diff に新しいオプション が追加されました. これはブランチタグのリビジョンとの比較を実現します. &merged; CVSup CVSup は &os; Ports Collection で良く使われるユーティリティの一つです. 以前はこれをインストールする複数の port/package が存在しましたが, net/cvsup-bin および net/cvsupd-bin は廃止され, net/cvsup になりました. &merged; &os; Ports Collection の net/cvsup からインストールできる CVSup は 16.1_3 に更新されています. この更新では 2001 年 9 月 9 日 01:46:40 UTC (UNIX epoch から 1,000,000,000 秒後) 以降のすべてのファイルのタイムスタンプに影響する, 長い間存在していた (ただし表面化しなかった) バグが修正されました. &merged; KAME IPv6 スタックが KAME プロジェクトの 2001 年 5 月 28 日づけのスナップショットをベースとしたものになりました. この節の項目のほとんどは, それが取り込まれたことによるものです. KAME IPv6 スタックに関するカーネルへの変更点は にあります. &merged; &man.faithd.8; がアクセス制御用の設定ファイルに対応しました. &merged; &man.ifconfig.8; に &man.gifconfig.8; の機能が統合されました. &merged; &man.ifconfig.8; に &man.prefix.8; の機能が統合されました. 後方互換性を確保するため, &man.prefix.8; はシェルスクリプトとして残されています. &merged; &man.ndp.8; に対して, RFC2461 (Neighbor Discovery for IP Version 6 (IPv6)) に書かれているような無効になった NDP エントリに対するガベージコレクションが実装されました. &merged; 制限されたライセンス条件を持った &man.pim6dd.8; および &man.pim6sd.8; が削除されました. これらのプログラムは Ports Collection の一部として net/pim6dd, net/pim6dd から利用可能です. &merged; &man.route6d.8; に新しいオプション が追加されました. これはカーネルの転送テーブルの更新を抑制するためのものです. &merged; &man.rtadvd.8; に対する (ルータ再ナンバリング) オプションは, 現時点では無視されるようになっています. &merged; OpenSSH OpenSSH がバージョン 2.9 に更新されました. これは SSH2 プロトコル (デフォルト) と, DSA 暗号鍵に対応した ものです. &man.ssh-add.1; と &man.ssh-agent.1; は DSA 暗号鍵 に対応しており, 認証 forwarding を使うことができます. そのため合衆国在住の OpenSSH ユーザは, RSA 暗号鍵を扱うために必要な, 制限されたライセンスを持つ RSAREF ツールキットに依存しなくても済むようになりました. その他の新しい機能もいくつかあります: sftp のクライアントとサーバが追加されました. &man.scp.1; は 2GB 以上のファイルを扱えるようになりました. &man.sshd.8; に対して新たに, 未認証の ssh 接続数を制限する機能が追加されています. Rijndael 暗号アルゴリズムがサポートされました. &man.ssh.1; に既存セションの rekeying がサポートされ, 実験的な SOCKS4 プロキシーも加えられました. OpenSSH の SSH1 モードが OPIE パスワード認証に対応しました. SSH2 モードにはまだ対応していません. &merged; OpenSSHPAM に対応しました. OpenSSH にかなり前から存在した 転送された X11 クライアントが終了する時にセションが切断されてしまうというバグが修正されました. OpenSSHKerberos 互換機能が 追加されました. &merged; OpenSSH に対して, パスワード長を知るために echo されない 文字を空パケットで echo されるように指定したり, 無意味なデータで水増ししたパスワードを送るといった トラフィック解析への耐性を高めるための変更が行なわれました. &merged; 新規インストール時の標準設定で &man.sshd.8; が有効化されるようになりました. &merged; &man.sshd.8; サーバは標準設定で X11Forwarding が有効化されるようになりました (危険性はクライアント側にのみ存在し, クライアント側の標準設定は無効になっています). &merged; /etc/ssh/sshd_configConnectionsPerPeriod パラメータが MaxStartups に置き換えられました. &merged; OpenSSH の &man.sshd.8; に新しい設定項目 VersionAddendum が追加されました. これは OpenSSH のメインバージョン番号の後ろに続く文字列を変更するためのものです. OpenSSL OpenSSL がバージョン 0.9.6b に更新されました. OpenSSL がマシン依存のアセンブラ最適化に対応しました. これは make.conf 変数 MACHINE_CPU および CPUTYPE を指定することで有効化されます. &merged; sendmail sendmail がバージョン 8.9.3 からバージョン 8.11.6 に更新されました. これには重要な変更点として, 標準のファイル配置の変更 (/usr/src/contrib/sendmail/cf/README 参照), &man.newaliases.1; の実行が root および信頼できるユーザに制限されたこと, STARTTLS 暗号化に対応したこと, 標準設定で MSA ポート (587) が有効化されたことが含まれています. 詳細については /usr/src/contrib/sendmail/RELEASE_NOTES をご覧ください. &merged; &man.mail.local.8; が SUID バイナリとしてインストールされなくなりました. &os; に標準で含まれる sendmail.cf を使用している場合, それがバージョン 3.1.0 以降のものであれば問題ありません. もし独自に設定した sendmail.cf を使用し, メール配送に mail.local を使用している場合は, Mlocal の行に F=S フラグがセットされていることを確認してください. このフラグをセットするには, 対応する .mc ファイルに次の行を追加して sendmail.cf ファイルを再生成します. MODIFY_MAILER_FLAGS(`LOCAL',`+S')dnl FEATURE(`local_lmtp') には, 上記の機能が含まるようになっています. &merged; 標準の /etc/mail/sendmail.cf において, SMTP の EXPN および VRFY コマンドが無効化されました. &merged; &man.vacation.1; が更新され, sendmail に含まれるバージョンを使用するようになりました. &merged; sendmail 設定ファイル構築ツールが /usr/share/sendmail/cf/ にインストールされるようになりました. &merged; 新しい make.conf 変数 SENDMAIL_MC および SENDMAIL_ADDITIONAL_MC が追加されました. 詳細については /usr/share/examples/etc/make.conf をご覧ください. &merged; /etc/mail/Makefile に対して, 新しい make.conf 変数 SENDMAIL_MC への対応, .mc ファイルから .cf ファイルを構築する機能の追加, 汎用のマップ再構築機能, aliases ファイルの再構築機能, sendmail を停止・起動・再起動する機能の追加が行なわれました. &merged; Ports/Packages Collection インストール済み package のバージョン番号の文法が (後方互換性のある) 新しいものに変わりました. これは Ports Collection Makefile 群にある PORTREVISION 変数および PORTEPOCH 変数に対応します. これにより, Ports Collection の各 port に対するセキュリティパッチや &os; 依存の更新といった, サードパーティ製ソフトウェアの配布物に付けられている オリジナルのバージョン番号に反映されない修正が追跡しやすくなります. &man.pkg.version.1; もまた, この新方式のバージョン番号の比較に対応しました. &merged; パフォーマンスおよびディスク使用効率向上のため, &os; Ports Collection にある ports スケルトン の再構成が行なわれました. インストール済みの ports や packages には影響ありません. &merged; すべての packages および ports に新しく origin 指示子が追加されました. これは package がどのディレクトリで構築されたかを &man.pkg.version.1; のようなプログラムから容易に 調べられるようにするためのものです. &merged; 新しいユーティリティ &man.pkg.update.1; が追加されました. これはインストール済み package とその依存物を更新するためのものです. &merged; &man.pkg.info.1; が, インストール済み package のグロブ指定に対応しました. この機能は オプションで無効化できます. また, オプションでシェルグロブではなく正規表現を使うように制御可能です. &merged; &man.pkg.info.1; に新しいオプション が追加されました. これはインストール済みの package と記録されているチェックサム を (インストール後に変更されていないかどうか) 比較します. この機構を監査用途に使用する場合, そのセキュリティは当然 /var/db/pkg の内容に依存します. &merged; &man.pkg.create.1; および &man.pkg.add.1; が, &man.bzip2.1; を使って圧縮された package に対応しました. また, &man.pkg.add.1; が新しい package を取得するミラーサイトを PACKAGEROOT 環境変数から得るようになっています. &man.pkg.create.1; における依存関係の記録が, コマンドラインの指定順ではなく依存関係の順番で行なわれるようになりました. これにより pkg_add -r の機能性が向上しています. &merged; &man.pkg.version.1; のバージョン番号比較ルーチンが, Porters Handbook (日本語訳:「port 作成者のためのハンドブック」) に書かれていとおりのものになりました. また, アドレス比較テストを行なうための新しいオプション も追加されています. &merged; &man.pkg.version.1; に新しいオプション が追加されました. これは, 操作対象を指定された文字列とマッチする ports/packages に制限するためのものです. &merged; &man.pkg.delete.1; に複数の package を削除するように指定した際に, コマンドラインの指定順ではなく依存関係順に削除が行なわれるようになりました. &merged; &man.pkg.delete.1; が package 名のグロブ指定. 正規表現指定に対応しました. また, package すべてを削除する オプション, &man.rm.1; 風に対話型の確認を行なう オプションも追加されています. &merged; 新しく &man.pkg.sign.1; コマンド, &man.pkg.check.1; コマンドが追加されました. これらはバイナリ package の電子署名を行なったり, 署名の検証を行なうためのものです. &merged; Perl と &os; Ports Collection の統合を強化するために BSDPAN というモジュール集が追加されました. 前のリリースの &os; からのアップグレード &os; の以前のリリースからアップグレードする場合, 一般的に 3 つの選択肢があります: &man.sysinstall.8; のオプションから バイナリアップグレードを選ぶ. インストールされている &os; が特殊なコンパイルオプション を使っていない場合は, この選択はおそらくもっとも短時間で 終了します. &os; の完全な再インストールを行う. 技術的には, これはアップグレードの方法ではありませんし, /etc のバックアップとリストア を手動で行う必要があるなど, バイナリアップグレードと比べて 極めて不便なものです. しかし, ディスクのパーティションを切り直したい場合などには 有用でしょう. /usr/src のソースコードから 行う. この方法はもっとも柔軟性に富んでいますが, 多くのディスク スペース, 時間, 技術的な専門知識を必要とします. とても古いバージョンの &os; からのアップグレードは 危険を伴います. このような場合にはバイナリアップグレード か完全な再インストールを行う方が効果的です. できればアップグレードをはじめる に, INSTALL.TXT ファイルを読んでください. ソースからアップグレードする際には, /usr/src/UPDATING も読むようにしてください. そして, &os; の -STABLE もしくは -CURRENT ブランチを追う いくつかの方法のうちの一つを使おうと思うのなら, FreeBSD ハンドブック -CURRENT と -STABLE セクションを読んでください. &os; のアップグレードは, もちろん, すべての データと設定ファイルを バックアップしてからのみ行うべきです.