OpenBSD 3.5 リリース:
2004 年 5 月 1 日リリース
Copyright 1997-2004, Theo de Raadt.
ISBN 0-9731791-3-9
3.5 Song: "CARP License" and "Redundancy must be free"
What's New
インストール
ports ツリーの使い方
CD セットの注文
このリリース用のファイルを手に入れるには、次のような方法があります。
注: 著作権やクレジット類はすべて、それぞれのソースファイルに記述されています。
これは、src.tar.gz、sys.tar.gz、
XF4.tar.gz や ports.tar.gz 経由で取得したファイルに含まれています。ports.tar.gz ファイルから
packages を作成するのに使用した各種ディストリビューションファイルは、容量の関係で
CDROM には含まれていません。
What's New
これは OpenBSD 3.5 に含まれた新機能やシステムの部分的な一覧です。
より完全な一覧を得るには、3.5 に至るまでの changelog を
ご覧ください。
- New platforms:
- OpenBSD/amd64
Supporting the AMD64 architecture natively,
with full 64-bit support, 8 extra registers in the architecture
to significantly increase performance, and a memory management
Non-Executable bit that permits full W^X support.
(Note: The upcoming Intel "ia32e" AMD64-compatible CPUs have also
been tested, and work, even though they lack the NX bit).
- OpenBSD/cats
Our first entry in the ARM-CPU landscape. We intend to use this as a
development platform for something else we plan for the future...
- OpenBSD/mvme88k
Supporting an older, but very cool CPU architecture, perhaps the
most pure RISC CPU ever.
- Replacement of the GNU
bc(1),
dc(1),
nm(1) and
size(1)
commands with BSD licensed equivalents.
- A large number of bug fixes, changes, and optimizations to our packet filter
pf(4)
including:
- Atomic commits of ruleset changes (reduce the chance of ending up in an
inconsistent state).
- A 30% reduction in the size of state table entries.
- Source-tracking (limit number of clients and states per client).
- Sticky-address (the flexibility of round-robin with the benefits of
source-hash).
- Invert the socket match order when redirecting to
localhost (prevents the potential security problem of remote connections
being identified as local).
- Significant improvements to interface handling.
- New tools for filtering gateway failover:
- CARP (the Common Address Redundancy Protocol)
carp(4)
allows multiple machines to share responsibility for a given IP address or
addresses. If the owner of the address fails, another member of the group
will take over for it. A discussion of the history of CARP can be found
here.
- Additions to the
pfsync(4)
interface allow it to synchronise state table entries between two or more
firewalls which are operating in parallel, allowing stateful connections
to cross any of the firewalls regardless of where the state was initially
created.
- New functionality:
- pty(4) devices are now allocated on demand, up to a configurable limit.
- New ptm device (see pty(4))
that allows non-privileged processes to allocate a properly-permissioned pty.
As a result any process can now open a pty easily, meaning
xterm(1)
and
xconsole(1)
are no longer setuid root. (In 3.4 they were setuid root, but privilege revoking).
- The closefrom(2)
system call has been added.
- TCP MD5 signatures (used by nc(1)
and bgpd(8)).
- Network boot support for i386 and amd64, using
pxeboot(8).
- The i386 8GB boot loader limitation has been removed.
- spamd(8)
gains greylisting support. This allows greylisting (a very powerful spam reduction technique) to be
done on a firewall for many mail hosts, no matter what MTA is being used.
- Interface 'cloning', accessed by
ifconfig(8)
commands create and destroy. E.g. `ifconfig vlan100 create'.
-
ifconfig(8)
can now be used with a generic interface name, for listing all such configured interfaces. E.g. `ifconfig carp'.
- The MAKEDEV(8) manual pages are now generated, and hence, accurate.
- Complete rewrite of package tools in perl.
- syslogd(8)
now supports logging to memory buffers, to be read using
syslogc(8).
This is useful for diskless or flash-based computers.
- IPsec ESP in UDP encapsulation.
-
malloc(3) chunk randomization and guard pages. This helps to detect out-of-bounds
reads and writes.
-
authpf(8) now tags traffic in
pflog(4) so that users may be associated with traffic through a NAT setup.
- hw.setperf sysctl allows controlling the speed of many new i386
CPUs,
great for prolonged battery life.
- XFS has been added to the GENERIC kernels so that
afsd(8)
may be started easily, eliminating the need to recompile the kernel
to use AFS.
AFS can now be used anonymously by enabling it in
rc.conf(8)
with no further configuration.
- The ps, top and w utilities no longer break when changes are made in kernel structures.
- A poll interface has been added to the rpc routines in the standard C library. Use of poll over select can result in better performance for programs with a large number of open file descriptors.
- dhclient(8) now detects when the interface it configured is modified and
gracefully exits.
e.g. repeatedly running it against the same interface leaves only the
last instance active.
- Privilege separation added to allow complex operations to occur in an untrusted, unprivileged process, resulting in much greater security for the following processes:
- New tools:
- Performance improvements:
- Improved connection/socket lookup - about 100 times faster at 10000 sockets than 3.4.
- TCP SYN cache. Greatly reduces the memory cost of half-open TCP connections.
- Implemented TCP adjustments recommended by
RFC3390,
controllable via
sysctl.
- OpenSSL speedup on i386, up to 100% improvement for md5, sha1, blowfish,
des, 3des, rsa, dsa and bn.
- OpenSSL now directly uses the new AES instructions some VIA C3 processors
provide, increasing AES to 780MBytes/second (so you get to see a fan-less
CPU performing AES more than 10x faster than the fastest CPU currently sold).
- Directory hashing makes lookups in large directories much faster.
- Zeroing pages with SSE. Faster operation, and avoids clobbering the cache.
- SCSI(4) improvements:
- Bus probe made faster by skipping non-existent LUNs.
- Bus probe made saner by elimination of spurious commands.
- Bus probe made safer by having INQUIRY commands ask only for available data.
- Eliminated a race that, e.g., caused problems burning CDs at high speeds.
- SCSIDEBUG output can now be restricted to specified buses.
- ASC/ASCQ diagnostic messages updated to SCSI-3 standards.
- Better error handling.
- Improved hardware support, including:
- The hppa architecture gets support for many
PCI
based machines w/ addition of dino(4) GSC-PCI bridge.
- New oosiop(4) driver for NCR 53C700 SCSI host adapters.
- Major improvements to ahc(4), bringing support for many new models.
- New bce(4) driver, supporting the Broadcom BCM4401 FastEthernet chipset.
- New mpt(4) driver for LSI Fusion-MPT SCSI and FibreChannel host adapters.
- New snapper(4) audio driver for recent iBook (since May 02) and PowerBook (since Apr 02) models.
- Improved stability of the wi(4) driver as well as support for USB-based adapters and software WEP.
- wi(4) in HostAP mode now supports SSID hiding and newer prism firmware revisions.
- Fixed several firmware incompatibility issues in an(4).
- Improved ATA and SATA support.
- Support for i835 AGP GART in vga(4).
- Improved Gigabit Ethernet support for em(4), sk(4) & bge(4).
- Several fixes for apm(4).
- Support for Intel 852/855/865 AGP chipsets.
- Many more USB Flash and other
umass(4) devices work as a result of SCSI improvements.
- This release ships with Firefox for all major architectures.
- Major improvements in pthreads(3).
- Over 2500 ports, 2300 pre-built packages.
- Many improvements for security and reliability (look for the red
print in the complete changelog).
- Many improvements in manual pages and other documentation.
- Gcc 3.3.2, including local additions like ProPolice support, for the
OpenBSD/amd64,
OpenBSD/cats and
OpenBSD/sparc64
platforms.
Other architectures still use gcc 2.95.3 with the same local additions.
- OpenSSH 3.8.1:
-
sshd(8)
now supports forced changes of expired passwords via
passwd(1).
-
ssh(1)
now uses untrusted cookies for X11-Forwarding.
Some X11 applications might need full access to the X11 server,
see ForwardX11Trusted in
ssh_config(5)
and
xauth(1).
-
ssh(1)
now supports sending application layer
keep-alive messages to the server. See ServerAliveInterval in
ssh_config(5).
- Improved
sftp(1)
batch file support.
- New KerberosGetAFSToken option for
sshd(8).
- Updated /etc/moduli file and improved performance for
protocol version 2.
- Support for host keys in DNS.
- The experimental "gssapi" support has been replaced with
the "gssapi-with-mic" to fix possible MITM attacks.
The two versions are not compatible.
- The system includes the following major components from outside suppliers:
- XFree86 4.4.0 unencumbered (+ patches, and i386 contains 3.3.X servers also, thus
providing support for all chipsets)
- Gcc 2.95.3 (+ patches) and 3.3.2 (+ patches)
- Perl 5.8.2 (+ patches)
- Apache 1.3.29, mod_ssl 2.8.16, DSO support (+ patches)
- OpenSSL 0.9.7c (+ patches)
- Groff 1.15
- Sendmail 8.12.11
- Bind 9.2.3 (+ patches)
- Lynx 2.8.4rel.1 with HTTPS and IPv6 support (+ patches)
- Sudo 1.6.7p5
- Ncurses 5.2
- Latest KAME IPv6
- Heimdal 0.6rc1 (+ patches)
- Arla-current
インストール
以下は、色々あるインストール手段の中で、
CDROM セットを買うとついてくる、
紙に印刷された指示書です。
FTP (あるいはその他) でのインストール方法もほとんど同じです。
ここでは CDROM 版の指示をそのまま記述しました。
いかがでしょう、CDROM を買えばこんなに楽なのです。
マシンに OpenBSD 3.5 をインストールするための詳しい方法については、
3 枚の CDROM か、FTP ミラー上にあるそれぞれ以下のファイルを参照してください。
- CD1:3.5/i386/INSTALL.i386
- CD1:3.5/vax/INSTALL.vax
- CD2:3.5/amd64/INSTALL.amd64
- CD2:3.5/macppc/INSTALL.macppc
- CD3:3.5/sparc/INSTALL.sparc
- CD3:3.5/sparc64/INSTALL.sparc64
- FTP:.../OpenBSD/3.5/alpha/INSTALL.alpha
- FTP:.../OpenBSD/3.5/cats/INSTALL.cats
- FTP:.../OpenBSD/3.5/hp300/INSTALL.hp300
- FTP:.../OpenBSD/3.5/hppa/INSTALL.hppa
- FTP:.../OpenBSD/3.5/mac68k/INSTALL.mac68k
- FTP:.../OpenBSD/3.5/mvme68k/INSTALL.mvme68k
- FTP:.../OpenBSD/3.5/mvme88k/INSTALL.mvme88k
OpenBSD の経験がある人のための、簡単なインストーラ情報と、"disklabel -E" コマンドの
使用法の説明です。OpenBSD をインストールするのに皆目見当がつかない人は、
上記のそれぞれ関連する INSTALL.* ファイルを参照してください。
OpenBSD/i386:
CD から起動できるよう、BIOS のオプションを操作してください。OpenBSD/i386 の
リリースは CD1 にあります。もし BIOS が CD からの起動をサポートしていなければ、
ブートフロッピーを作成して、そこからインストールする必要があります。ブートフロッピーを作成するには、
CD1:3.5/i386/floppy35.fs をフロッピーに書き込み、それを使用して起動してください。
より多くの SCSI コントローラサポートが必要なら CD1:3.5/i386/floppyB35.fs を、または
ラップトップのためのより良いサポートが必要なら CD1:3.5/i386/floppyC35.fs を代わりに使用します。
もし CD やフロッピーディスクから起動できない場合は、
INSTALL.i386 ドキュメントに記述されてあるとおり、
PXE を使用してネットワーク越しにインストールすることも可能です。
OpenBSD を他の OS とのデュアルブートで使用する場合、必ず INSTALL.i386 ドキュメントを
お読みください。
MS-DOS 上でブートフロッピーを作成する場合は、"rawrite" ユーティリティを使用します。
これは CD1:3.5/tools/rawrite.exe にあります。Unix OS 上でブートフロッピーを作成する場合は、
dd(1) ユーティリティを使用します。
dd(1) の使用例を以下に示します。
ここにある、device とは "floppy"、"rfd0c" や
"rfd0a" のことです。
# dd if=<file> of=/dev/<device> bs=32k
正しくフォーマットされた、不良ブロックのない完全なフロッピーを使用しないと、
インストールは失敗します。ブートフロッピーの作成方法や OpenBSD/i386 のインストールに
ついてのより詳しい情報は
FAQ 4.3.1 を参照してください。
OpenBSD/vax:
INSTALL.vax に記述されてあるとおり、mopbooting 経由でネットワーク越しに起動してください。
OpenBSD/amd64:
OpenBSD/amd64 の 3.5 リリースは CD2 にあります。
その CD から起動し、インストールを始めてください。まず最初に BIOS を
設定する必要があるかもしれません。
CD から起動できない場合でも、そこからインストール用のブートフロッピーを作成できます。
これをするためには、CD2:3.5/amd64/floppy35.fs をフロッピーに書き込み、
そしてフロッピードライブから起動してください。
もし CD やフロッピーディスクから起動できない場合は、
INSTALL.amd64 ドキュメントに記述されてあるとおり、
PXE を使用してネットワーク越しにインストールすることも可能です。
OpenBSD を他の OS とのデュアルブートで使用する場合は、INSTALL.amd64 を読む必要が
あるでしょう。
OpenBSD/macppc:
CD2 を CDROM ドライブに入れて、C キーを押しながら電源をいれて、
ディスプレイがついて OpenBSD/macppc boot が表示されるまでしばらくキーを押し続けます。
代わりに、オープンファームウェアのプロンプトのところで、boot cd:,ofwboot
/3.5/macppc/bsd.rd と入力してもよいでしょう。
OpenBSD/sparc:
OpenBSD/sparc の 3.5 リリースは CD3 に入っています。この CD から起動するには、
ROM のバージョンに応じて、以下のふたつのコマンドのうちどちらかが
使えるはずです。
ok boot cdrom 3.5/sparc/bsd.rd
or
> b sd(0,6,0)3.5/sparc/bsd.rd
CD ドライブのない SPARC システムなら、代わりにフロッピーで起動できます。
そのようにするには、CD3:3.5/sparc/floppy35.fs をフロッピーに書き込む必要がありますが、
詳しくは FAQ 4.3.1 を参照してください。
フロッピーから起動するには ROM のバージョンに応じて、以下のふたつのコマンドのうちどちらかが
使えるはずです。
ok boot floppy
or
> boot fd()
正しくフォーマットされた、不良ブロックのない完全なフロッピーを使用しないと、
インストールは失敗します。
もし、フロッピーも CD もなければ、INSTALL.sparc ファイルに書かれているように、
起動可能なテープか、ネットワーク経由で
インストールすることもできます。
OpenBSD/sparc64:
CD3 を CDROM ドライブに入れて、boot cdrom と入力してください。
もしこれで動かなければ、あるいは CDROM ドライブがなければ、代わりに
CD3:3.5/sparc64/floppy35.fs をフロッピーに書き込み、これを boot
floppy として、フロッピーから起動することができます。
正しくフォーマットされた、不良ブロックのない完全なフロッピーを使用しないと、
インストールは失敗します。
また、CD3:3.5/sparc64/miniroot35.fs をディスクのスワップパーティションに書き込み、
boot disk:b としてそこから起動することもできます。
もし、どの方法もダメなら、INSTALL.sparc64 ファイルに書かれているように、ネットワーク経由で起動することもできます。
OpenBSD/alpha:
FTP:3.5/alpha/floppy35.fs か
FTP:3.5/alpha/floppyB35.fs (どちらになるのかはあなたのマシンに依存) をフロッピーに書き込み、
boot dva0 と入力してください。詳細は INSTALL.alpha を参照してください。
正しくフォーマットされた、不良ブロックのない完全なフロッピーを使用しないと、
インストールは失敗します。
OpenBSD/cats:
もし必要であれば、少なくとも ABEL 1.95 にファームウェアをアップデートしたあと、
ABLE をサポートしたデバイス (例えば CDROM や現存する FFS や EXT2FS パーティション) から
FTP:3.5/cats/bsd.rd として起動してください。
OpenBSD/hp300:
OpenBSD/hppa:
OpenBSD/mac68k:
普通に MacOS を起動して A/UX 設定付きでディスクを割り当てます。
Mac 側のユーティリティを取り出し、
FTP:3.5/mac68k/utils からハードディスクに展開します。 Mkfs を実行して
今作った A/UX パーティションにファイルシステムを作成します。それから
"BSD/Mac68k Installer" を使って FTP:3.5/mac68k/ にあるすべてのセットを
そのパーティションにコピーします。最後に、カーネルの場所を "BSD/Mac68k Booter" で
設定すれば、システムを起動する準備が整います。
OpenBSD/mvme68k:
起動可能なインストールテープを作成するか、ネットワーク経由か、で起動できます。
ネットワーク経由で起動するには、MVME68K BUG バージョンが必要になります。
これは NIOT や NBO といったデバッガコマンドをサポートしている必要があります。
詳細は INSTALL.mvme68k を参照してください。
OpenBSD/mvme88k:
起動可能なインストールテープを作成するか、ネットワーク経由か、で起動できます。
ネットワーク経由で起動するには、MVME88K BUG バージョンが必要になります。
これは NIOT や NBO といったデバッガコマンドをサポートしている必要があります。
詳細は INSTALL.mvme88k を参照してください。
ソースコードについて:
src.tar.gz は /usr/src から始まるソースのアーカイブです。このファイルには、
カーネルソース以外の必要なものがすべて入っています(カーネルソースは別の
アーカイブとなっています)。その展開は次のように行います。
# mkdir -p /usr/src
# cd /usr/src
# tar xvfz /tmp/src.tar.gz
sys.tar.gz は /usr/src/sys から始まるソースのアーカイブです。
このファイルには、カーネル再構築に必要なカーネルソースがすべて入っています。
その展開は次のように行います。
# mkdir -p /usr/src/sys
# cd /usr/src
# tar xvfz /tmp/sys.tar.gz
これらのツリーはどちらも普通に CVS からチェックアウトしたものです。このツリーを使用することで、
こちら に記述された anoncvs サーバから CVS の最新を
取得することもできます。
また、これらのファイルを使用することで、完全な OpenBSD ソースツリーを
チェックアウトするのに、ゼロから行うよりはるかに高速に、
最初の CVS アップデートができます。
Ports Tree
ports ツリーのアーカイブも提供されています。これを展開するには次のようにしてください。
# cd /usr
# tar xvfz /tmp/ports.tar.gz
# cd ports
ports/ サブディレクトリは、OpenBSD の ports ツリーをチェックアウトしたものです。
もしまだ ports についてまったく知らない人は、
まず ports ページをお読みください。
このテキストは、
ports の使い方のマニュアルではありません。
むしろ OpenBSD の ports システムのクイックスタートガイドとお考えください。
ports/ ディレクトリの構成は CVS (これについて詳しくなければ
cvs(1) の man ページを参照してください) の ports のチェックアウト形式に
なっています。完全なソースツリーの場合と同様、
ports ツリーも anoncvs で提供されています。
ですので、これを -current に保つには、ports/ ツリーを
読み書き可能なメディア上に作成して、次のようなコマンドでツリーを
更新してください。
# cd [portsdir]/; cvs -d anoncvs@server.openbsd.org:/cvs update -Pd -rOPENBSD_3_5
[もちろん、上記の例のローカルのディレクトリとサーバ名は、
ご自分の ports ツリーの位置と最寄りの anoncvs サーバに
置き換えてください。]
かなりの ports が packages として FTP で取得可能であることに注意してください。
3.5 リリース用に更新された packages は問題が解決すれば配布を開始する予定です。
もし、追加してほしい ports があるとか、協力したいとか、あるいは
より詳しく知りたい場合は、ports@openbsd.org メーリングリストが
ぴったりの場所でしょう。
www@openbsd.org
$OpenBSD: 35.html,v 1.5 2006/04/12 16:06:13 saad Exp $