
发布于2010年5月19日
版权 1997-2010, Theo de Raadt。
ISBN 978-0-9784475-5-7
Only two remote holes in the default install, in a heck of a long time!
The OpenBSD project produces a FREE, multi-platform 4.4BSD-based UNIX-like operating system. Our efforts emphasize portability, standardization, correctness, proactive security and integrated cryptography. OpenBSD supports binary emulation of most programs from SVR4 (Solaris), FreeBSD, Linux, BSD/OS, SunOS and HP-UX.
OpenBSD is freely available from our FTP sites, and also available in an inexpensive 3-CD set.
The current release is OpenBSD 4.7 which was released May 19, 2010.
OpenBSD is developed entirely by volunteers. The project pays for the development environment and developer events by selling CDs through a collection of stores and by accepting donations from organizations and individuals. These finances ensure that OpenBSD will continue to exist, and will remain free for everyone to use and reuse as they see fit. T-shirts and posters are available as well, but do not fund the project.
新特性
以下是 OpenBSD 4.7 中新特性和新系统功能的部分列表。 完整的列表位于 4.7 的修改记录中。
新增/扩展的构架平台:
OpenBSD/alpha
增加对 DS15/DS25/ES45 的支持。
OpenBSD/loongson
基于 MIPS 兼容的 Loongson 2E 和 2F 处理器的新平台。支持以下机型:
Lemote Fuloong 2F mini-PC
Lemote Lynloong all-in-one-PC
Lemote Yeeloong netbook (8.9″ and 10.1″ models)
EMTEC Gdium Liberty 1000 netbook
OpenBSD/sgi
增加对多节点 SGI Origin 系统 M 模式的支持。
增加对 SGI Origin 350, Onyx 350, Onyx 4 和 Tezro 系统的支持。
增加对 SGI Octane 的 SMP 支持。
增加对 Octane 和 Origin 系统更多内置设备的支持 (见下)。
OpenBSD/socppc
增加对 RouterBOARD RB600A 的支持。
OpenBSD/sparc64
在 sun4v 机型的 OpenBSD 控制域中,增加在客户域中运行 OpenBSD 的初步支持。
更新了硬件支持, 包括:
Revamped SCSI midlayer and improved driver support.
UDF 2.5 and 2.6 (HDDVD and Blu-ray) disks support.
Added mpath(4), a driver that steals paths to scsi devices if they could be available via multiple paths and then made available via mpath(4).
New aibs(4) driver for ASUSTeK AI Booster hardware monitoring.
New uthum(4) driver for the TEMPerHUM USB temperature and humidity sensors.
New utrh(4) driver for USBRH temperature and humidity sensors.
New uyurex(4) driver for the Maywa-denki & KAYAC YUREX twitch/jiggle of knee sensor.
New urndis(4) driver for remote NDIS Ethernet over USB devices (phones).
New xf86-video-wsudl(4) Xorg driver for USB DisplayLink devices supported by udl(4).
New mpii(4) driver for LSI Logic Fusion MPT Message Passing Interface II based SAS 2 controllers.
New athn(4) driver for Atheros IEEE 802.11a/g/n wireless network devices.
New alc(4) driver for Atheros AR8131/AR8132 10/100/Gigabit Ethernet devices.
New lisa(4) driver for STMicroelectronics LIS331DL MEMS motion sensors.
New gcu(4) driver for Intel EP80579 Global Configuration Unit.
New lom(4) driver for LOMLite and LOMLite2 as found on many of Sun’s UltraSPARC-IIi servers.
New vsw(4) driver for virtual switches on sun4v machines.
New vds(4) driver for virtual disk servers on sun4v machines.
Support for EP80579 integrated Ethernet and ICH9 M V has been added to em(4).
Support for 82599 and SFP+ 82598 devices has been added to ix(4).
Support for the Sun GigabitEthernet SBus Adapter 1.0/1.1 has been added to ti(4).
Support for SBus variants of the QLogic Fibre Channel host adapters has been added to isp(4).
Support for SBus variants of the Sun Gigabit Ethernet has been added to gem(4).
Support for Intel WiFi Link 1000 and Intel Centrino Advanced-N 6200/Ultimate-N 6300 has been added to iwn(4).
Support for Ralink RT3572 based 802.11n devices has been added to run(4).
VIA Tremor 5.1, M-Audio Revolution 5.1 cards has been added to envy(4).
New uhts(4) driver for USB HID touchscreens.
Improved touchscreen support in the xf86-input-ws(4) Xorg driver and improved calibration using the new device properties from Xinput.
Support for ON CAT6095 and ON CAT34TS02 temperature sensors added to sdtemp(4).
Several improvements and bug fixes to existing Ethernet drivers, including em(4), re(4), ti(4) and vge(4).
Support for the PIC PCI-X controller added to the SGI xbridge(4) driver.
Support for the onboard Fast Ethernet interface found on SGI Octane and many SGI Origin family systems, iec(4).
Support for more SGI input and video devices on Octane and Origin systems, with iockbc(4), impact(4), and odyssey(4).
Improved PCI resource allocation; more hardware left unconfigured by the machine’s firmware (including hotplugged hardware) should work now.
Support for recording/full-duplex added to mavb(4).
Improved support for USB audio devices in uaudio(4).
Improved support for bwi(4) devices on strict-alignment architectures like armish.
Eliminate usage of SCSI tagged queueing mechanisms other than simple queuing, thus avoiding incorrect implementations on various disk devices.
Eliminate spurious dhclient(8) error messages when the specified interface does not exist.
Eliminate spurious softraid(4) error messages for removable devices without media.
新工具:
newfs_ext2fs(8) for creating ext2 filesystems.
mkuboot(8) for creating U-Boot boot loader images.
midicat(1) MIDI server allowing MIDI programs to communicate
POSIX-compliant fuser(1) to identify process IDs holding a file open
文件系统中间层的改进:
Dynamic Buffer Cache now supported to a max size set with sysctl kern.bufcachepercent
Dynamic VFS name cache rewrite, now uses Red/Black trees instead of linked lists.
Numerous NFS client stability fixes.
Fix FAT32 mounting.
Fix cd9660 directory handling to eliminate looping and random truncation of directory entries.
Fix various internal locking problems with cd9660, udf, msdosfs and ffs file systems.
pf(4) 改进:
nat-to, rdr-to, binat-to options replace the nat, rdr and binat translation rules. See 2009/09/01 – pf(4) address translation changes for more info.
The route-to, reply-to, dup-to and fastroute options in pf.conf move to filteropts. See 2009/09/02 – pf(4) route-to/reply-to syntax change for more info.
pf(4) can now translate packets between different routing domains.
Added -S and -L options to pfctl(8) to store and load pf state table from a file.
Added support for IPV4 and IPv6 divert sockets.
OpenBGPD, OpenOSPFD 以及其它后台路由程序的改进:
Update capability code in bgpd(8) to follow RFC 5492.
BGP MPLS VPN (RFC 4364) support added to the bgpd RIB.
In bgpd(8), implement the RFC4486 BGP Cease Notification Message subcodes.
It is now possible to enable/disable specific BGP capabilities.
Update bgpctl(8) irrfilter to support IPv6 and 4-byte AS numbers.
Minimal router-dead-time of 1 second and sub-second hello intervals added to ospfd(8). Additionally it is now possible to specify sub-second SPF timers for faster route fail-over.
ospf6d(8) is now installed by default. The RIB can be synced with the kernel routing table now. Support for AS-ext LSA has been added. This is still work-in-progress but testing is highly appreciated.
ldpd — the MPLS label distribution protocol daemon — is now installed by default. A custom kernel with option MPLS is needed to use it.
通用网络堆栈的改进:
brconfig is now integrated into ifconfig(8)
Added vether(4), a virtual Ethernet device.
Two bugs in IPsec/HMAC-SHA2 were fixed, resulting in an incompatibility with the HMAC-SHA-256/384/512 hash algorithms with previous versions of OpenBSD and other IPsec implementations sharing the bugs.
In dhcpd(8), echo back the Relay Agent Information option if present, and add support for the ipsec-tunnel hardware type.
Make dhcrelay(8) pick up the routing domain from the specified interface and use that rdomain for relaying the packets to the server.
Added support in dhcrelay(8) for RFC3046 “DHCP-over-ipsec”.
Make the tcpdump(8) BGP OPEN capability parser RFC 5492 compliant.
Added an exec command to route(8) to run a process and its children in a specified routing domain.
ifconfig(8) now deals with more than 64 alias addresses.
Various fixes to mbuf defragmenting and mbuf chain copying improve reliability.
杂项改进:
malloc(3) now has an S flag to turn on the options that help debugging and improve security.
Updated terminfo(3) database and ncurses(3) library.
Added support for lazy binding in ld.so(1) on hppa.
Added POSIX silent check option (-C) to sort(1).
Added POSIX extended regular expression support to sed(1) (-E option).
Added GNU-compatible macro prefix option (-P) to m4(1).
Make it possible to specify a port in resolv.conf(5).
Improved FILE locking support in stdio(3).
Added SO_SNDTIMEO and SO_RCVTIMEO support in pthreads(3).
cdio(1) no longer prints bogus information if no TOC is found on the disk.
New -v flag causes cdio(1) to print profile and feature information.
whois(1) no longer attempts to keep the memory of 6Bone alive.
Added per-application MIDI-controlled volume knob to aucat(1)
Added MMC and MTC support to aucat(1) making possible MIDI-to-audio synchronization
Added mio_open(3) interface to access hardware and software MIDI ports
发现并修正了许多内存泄露。
通过正确的初始化开始 label,使处理软盘的 disklabel 更可靠。
对安装/升级过程的修改:
Take more care to ensure all filesystems are umount’ed when restarting an install or upgrade.
If no possible root disk is found, keep checking until one appears.
The default ftp directory for -stable is now the release directory instead of the snapshot directory.
Selection of TZ during installs is no longer confused by trailing slashes.
If /etc/X11 is found during upgrades, add the X sets to the list of default sets to install.
OpenSSH 5.5:
新特性:
SSH protocol 1 is disabled by default.
Remove the libsectok/OpenSC-based smartcard code and add support for PKCS#11 tokens.
Add support for certificate authentication of users and hosts using a new, minimal OpenSSH certificate format (not X.509).
Added a ‘netcat mode’ to ssh(1).
Add the ability to revoke keys in sshd(8) and ssh(1).
Rewrite the ssh(1) multiplexing support to support non-blocking operation of the mux master.
Add a ‘read-only’ mode to sftp-server(8) that disables open in write mode and all other fs-modifying protocol methods. (bz#430)
Allow setting an explicit umask on the sftp-server(8) commandline to override whatever default the user has. (bz#1229)
Many improvements to the sftp(1) client.
New RSA keys will be generated with a public exponent of 65537 instead of the previous value 35.
Passphrase-protected SSH protocol 2 private keys are now protected with AES-128 instead of 3DES.
修正了以下重要问题:
Fixed a minor information leak of environment variables specified in authorized_keys if an attacker happens to know the public key in use.
When using ChrootDirectory, make sure we test for the existence of the user’s shell inside the chroot and not outside. (bz#1679)
Cache user and group name lookups in sftp-server using user_from_[ug]id(3) to improve performance on hosts where these operations are slow. (bz#1495)
Fix problem that prevented passphrase reading from being interrupted in some circumstances. (bz#1590)
Ignore and log any Protocol 1 keys where the claimed size is not equal to the actual size.
Make HostBased authentication work with a ProxyCommand. (bz#1569)
Avoid run-time failures when specifying hostkeys via a relative path by prepending the current working directory in these cases. (bz#1290)
Do not prompt for a passphrase if we fail to open a keyfile, and log the reason why the open failed to debug. (bz#1693)
Document that the PubkeyAuthentication directive is allowed in a sshd_config(5) Match block. (bz#1577)
When converting keys, truncate key comments at 72 chars as per RFC4716. (bz#1630)
Do not allow logins if /etc/nologin exists but is not readable by the user logging in.
Output a debug log if sshd(8) can’t open an existing authorized_keys. (bz#1694)
Quell tc[gs]etattr(3) warnings when forcing a tty (ssh -tt), since we usually don’t actually have a tty to read/set. (bz#1686)
Prevent sftp(1) from crashing when given a “-” without a command; also, allow whitespace to follow a “-”. (bz#1691)
After sshd(8) receives a SIGHUP, ignore subsequent HUPs while sshd(8) re-execs itself; prevents two HUPs in quick succession from resulting in sshd(8) dying. (bz#1692)
Clarify in sshd_config(5) that StrictModes does not apply to ChrootDirectory; permissions and ownership are always checked when chrooting. (bz#1532)
Set close-on-exec on various descriptors so they don’t get leaked to child processes. (bz#1643)
Fix very rare race condition in x11/agent channel allocation
Fix incorrect exit status when multiplexing and channel ID 0 is recycled. (bz#1570)
Fail with an error when an attempt is made to connect to a server with ForceCommand=internal-sftp with a shell session. (bz#1606)
Warn but do not fail if stat(2)ing the subsystem binary fails. (bz#1599)
Change “Connecting to host…” message to “Connected to host.” and delay it until after the sftp protocol connection has been established. (bz#1588)
Use the HostKeyAlias rather than the hostname specified on the commandline when prompting for passwords. (bz#1039)
Correct off-by-one in percent_expand(). (bz#1607)
Fix passing of empty options from scp(1) and sftp(1) to the underlying ssh(1); also add support for the stop option “–”.
Fix an incorrect magic number and typo in PROTOCOL. (bz#1688)
Don’t escape backslashes when displaying the SSH2 banner. (bz#1533)
Don’t unnecessarily dup() the in and out fds for sftp-server(8). (bz#1566)
Force use of the correct hash function for random-art signature display. (bz#1611)
Do not fall back to adding keys without constraints when the agent refuses the constrained add request. (bz#1612)
Fix a race condition in ssh-agent(1) that could result in a wedged or spinning agent. (bz#1633)
Flush stdio before exec() to ensure that everything has made it out before the streams go away. (bz#1596)
Set FD_CLOEXEC on in/out sockets in sshd(8). (bz#1706)
超过 5800 个 ports,package 工具的健壮性和速度有所改进。
每种架构都有许多预先构建的包:
i386: 5951
sparc64: 5745
alpha: 5641
sh: 768
amd64: 5879
powerpc: 5785
sparc: 4053
arm: 3711
hppa: 5500
vax: 1785
mips64: 3690
mips64el: 4316
部分关键程序:
Gnome 2.28.2.
KDE 3.5.10.
Xfce 4.6.1.
MySQL 5.1.42.
PostgreSQL 8.4.2.
Postfix 2.6.5.
OpenLDAP 2.3.43.
Mozilla Firefox 3.0.18 and 3.5.8.
Mozilla Thunderbird 2.0.0.23.
OpenOffice.org 3.1.1.
Emacs 21.4 and 22.3
Vim 7.2.267.
PHP 5.2.12.
Python 2.4.6, 2.5.4 and 2.6.3.
Ruby 1.8.6.369.
按照惯例,手册或其它文档也有相应补充和修改。
以下是系统包含的外部提供的重要程序:
Xenocara (based on X.Org 7.4 with xserver 1.6.5 + patches, freetype 2.3.9, fontconfig 2.6.0, Mesa 7.4.2, xterm 250 and more)
Gcc 2.95.3 (+ patches) and 3.3.5 (+ patches)
Perl 5.10.1 (+ patches)
Our improved and secured version of Apache 1.3, with SSL/TLS and DSO support
OpenSSL 0.9.8k (+ patches)
Groff 1.15
Sendmail 8.14.3, with libmilter
Bind 9.4.2-P2 (+ patches)
Lynx 2.8.6rel.5 with HTTPS and IPv6 support (+ patches)
Sudo 1.7.2
Ncurses 5.7
Latest KAME IPv6
Heimdal 0.7.2 (+ patches)
Arla 0.35.7
Binutils 2.15 (+ patches)
Gdb 6.3 (+ patches)
如何安装
如果通过购买的 CD 安装,请按照下述指令操作。使用 FTP(或其它安装方式)安装与之类似;CDROM 中的安装是自治的, 它会让你知道如果使用购买的 CD 安装是多么方便。
有关安装 OpenBSD 4.7 更详细的信息,请参阅在三张 CD 或相关 FTP 镜像站点中的以下文件:
CD1:4.7/i386/INSTALL.i386
CD2:4.7/amd64/INSTALL.amd64
CD2:4.7/macppc/INSTALL.macppc
CD3:4.7/sparc64/INSTALL.sparc64
FTP:…/OpenBSD/4.7/alpha/INSTALL.alpha
FTP:…/OpenBSD/4.7/armish/INSTALL.armish
FTP:…/OpenBSD/4.7/hp300/INSTALL.hp300
FTP:…/OpenBSD/4.7/hppa/INSTALL.hppa
FTP:…/OpenBSD/4.7/landisk/INSTALL.landisk
FTP:…/OpenBSD/4.7/loongson/INSTALL.loongson
FTP:…/OpenBSD/4.7/mvme68k/INSTALL.mvme68k
FTP:…/OpenBSD/4.7/mvme88k/INSTALL.mvme88k
FTP:…/OpenBSD/4.7/sgi/INSTALL.sgi
FTP:…/OpenBSD/4.7/socppc/INSTALL.socppc
FTP:…/OpenBSD/4.7/sparc/INSTALL.sparc
FTP:…/OpenBSD/4.7/vax/INSTALL.vax
FTP:…/OpenBSD/4.7/zaurus/INSTALL.zaurus
快速安装仅适合熟悉 OpenBSD 和“disklabel -E”命令用法的人。如果你根本不懂安装 OpenBSD,请参阅上面罗列的相应 INSTALL.* 文件!
OpenBSD/i386:
设置 BIOS 可以从 CD 启动。OpenBSD/i386 发行版本在 CD1 中。如果你的 BIOS 不支持从 CD 启动,就可能需要制作启动软盘。将 CD1:4.7/i386/floppy47.fs 写入软盘来制作启动软盘,通过软盘驱动器启动。
使用 CD1:4.7/i386/floppyB47.fs 来制作引导软盘,可以获得更好的 SCSI 支持,或者使用 CD1:4.7/i386/floppyC47.fs 获得更好的笔记本电脑支持。
如果你不能从 CD 或软盘启动的话,还可以用 PXE 通过网络安装,请参阅 INSTALL.i386 文件。
如果计划让 OpenBSD 与另一操作系统共存,双重启动,请参阅 INSTALL.i386 文件。
在 MS-DOS 环境制作启动软盘,请使用位于 CD1:4.7/tools/rawrite.exe 的”rawrite”工具。在 Unix OS 环境制作启动软盘,请使用 dd(1) 工具。下面是使用 dd(1) 的例子,”device”可以是”floppy”,”rfd0c”,或”rfd0a”。
# dd if= of=/dev/ bs=32k
请确认你的软盘无坏道,已经正确格式化。否则很可能会安装失败。 有关制作启动软盘和安装 OpenBSD/i386 的信息请参阅 FAQ 4.3.1。
OpenBSD/amd64:
OpenBSD/amd64 的 4.7 版本在 CD2 中。设置 BIOS 可以从 CD 启动,然后用 CD 启动,开始安装 – 你可能需要先修改 BIOS 选项。 如果不能从 CD 启动,可以通过制作启动软盘来安装。用 CD2:4.7/amd64/floppy47.fs 来制作启动软盘,然后用软驱来启动。
如果不能从 CD 或软盘启动,可以用 PXE 通过网络来安装,有关信息请参阅 INSTALL.amd64 文件。
如果计划让 OpenBSD 与另一个操作系统共存,双重启动,请参阅 INSTALL.amd64。
OpenBSD/macppc:
将 CD2 放入 CDROM,开机后一直按着 C 键,直到显示器显示 OpenBSD/macppc boot。
或者在出现 Open Firmware提示时,输入 boot cd:,ofwboot /4.7/macppc/bsd.rd
OpenBSD/sparc64:
将 CD3 放入 CDROM,输入 boot cdrom。
如果这个没用,或没有光驱,你可以把 CD3:4.7/sparc64/floppy47.fs 或 CD3:4.7/sparc64/floppyB47.fs (依赖于你的机器)写入软盘,用它作为启动盘,输入 boot floppy 来启动。详细内容参阅 INSTALL.sparc64。
请确认你的软盘无坏道,已经正确格式化。否则很可能会安装失败。
你也可以将 CD3:4.7/sparc64/miniroot47.fs 写入磁盘中的 swap 分区, 然后在启动时输入 boot disk:b。
如果以上都不行,你可以按照 INSTALL.sparc64 中的描述通过网络来启动安装。
OpenBSD/alpha:
将 FTP:4.7/alpha/floppy47.fs 或 FTP:4.7/alpha/floppyB47.fs (依赖于你的机器)写入软盘,用它作为启动盘,输入 boot dva0 来启动。详细内容参阅 INSTALL.alpha。
请确认你的软盘无坏道,已经正确格式化。否则很可能会安装失败。
OpenBSD/armish:
连接串口之后,Thecus 能直接通过网络用 tftp 或 http 启动。使用 fconfig 配置网络,重置之后,加载 bsd.rd,详细信息请参阅 INSTALL.armish 。 IOData HDL-G 只能从 EXT2 格式分区启动。进入 linux,复制 ‘boot’ 和 ‘bsd.rd’ 到第一个分区 wd0(hda1), 然后加载和运行 ‘bsd.rd’,保留 wd0i(hda1) 上的 EXT2 分区。请参阅 INSTALL.armish 以获得更多信息。
OpenBSD/hp300:
按照 INSTALL.hp300 的相关说明通过网络来启动安装。
OpenBSD/hppa:
按照 INSTALL.hppa 或 hppa 平台页面的相关说明通过网络来启动安装。
OpenBSD/landisk:
将 miniroot47.fs 写入 CF 卡或磁盘的开始,正常启动后安装。
OpenBSD/loongson:
将 miniroot47.fs 写入 USB 盘,然后引导 bsd.rd;或者通过 tftp 引导 bsd.rd 。 详细信息请参阅 INSTALL.loongson 中的安装说明。
OpenBSD/mvme68k:
可以制作启动磁带或通过网络来安装。
网络启动需要支持 NIOT 和 NBO 调试命令的 MVME68K BUG 版本。 更多相关信息请参阅 INSTALL.mvme68k 中的安装说明。
OpenBSD/mvme88k:
网络启动需要支持 NIOT 和 NBO 调试命令的 MVME88K BUG 版本。 更多相关信息请参阅 INSTALL.mvme88k。
OpenBSD/sgi:
在 O2 中安装时,将 cd47.iso 刻录到光盘,将其放入光驱中,从系统维护菜单中选择 Install System Software 进行安装。
对于其它系统,或者没有光驱,你可以配置 DHCP/tftp 网络服务器,使用匹配你的系统类型的内核,用 “bootp()/bsd.rd.IP##” 引导。更多相关信息请参阅 INSTALL.sgi。
OpenBSD/socppc:
连接串口,通过 DHCP/tftp 引导安装。更多相关信息请参阅 INSTALL.socppc。
OpenBSD/sparc:
从提供的 ISO 安装文件引导,根据你所用的 ROM 版本, 需用到下面两个命令中的一个。
ok boot cdrom 4.7/sparc/bsd.rd
或
> b sd(0,6,0)4.7/sparc/bsd.rd
如果你的 SPARC 系统没有 CD 驱动器,你可以将 floppy47.fs 写入启动软盘。 更多相关信息请参阅 FAQ 4.3.1。 根据你所用的 ROM 版本,需用到下面两个命令中的一个来从软盘引导。
ok boot floppy
或
> b fd()
请确认你的软盘无坏道,已经正确格式化。否则很可能会安装失败。
如果你的 SPARC 系统没有软驱和 CD 驱动器,你可以制作可启动磁带, 或者通过网络来安装。相关内容在 INSTALL.sparc 中。
OpenBSD/vax:
用 mopbooting 通过网络启动来安装,相关信息请参阅 INSTALL.vax。
OpenBSD/zaurus:
用 Linux 内置的图形化安装程序 ipkg 来安装 openbsd47_arm.ipk 包。 重启之后,即可运行。更多信息请参阅 INSTALL.zaurus 。
关于源代码的说明:
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 检出格式。可以使用匿名 CVS 服务器基于它们获得最新的版本。基于这些文件更新,比从 CVS 完全检出的速度要快得多。
如何升级
如果你已经安装了OpenBSD 4.6,不想重新安装,可以在升级指南中找到升级方法和忠告。
使用 ports 的方法
也提供了 ports 的档案文件。解压方法:
# cd /usr
# tar xvfz /tmp/ports.tar.gz
# cd ports
ports/ 子目录是 OpenBSD ports 版本库的检出副本。假如你不了解 ports, 请浏览 ports 页面。该文件并非是如何使用 ports 的手册, 它只是 OpenBSD ports 系统用户的初级读本。
The ports/ 目录是我们从 CVS(如果你不熟悉 CVS,请参阅手册 cvs(1)) 检出的 ports 副本。与我们的代码一样,ports 也可以通过匿名 CVS 服务器更新。因此,为了确保版本是最新的,必须使 ports/ 在可读写的介质中, 更新的命令是:
# cd [portsdir]/; cvs -d anoncvs@server.openbsd.org:/cvs update -Pd -rOPENBSD_4_7
[当然,在实际操作时需要将本地目录和服务器名称替换成你的 ports 所在位置和较近的匿名 CVS 服务器。]
注意大部分的 ports 可以通过 FTP 获得预先编译的二进制包。如果发现问题,会为 4.7 版本发布升级包。
如果你有兴趣观察 ports 的变动信息,或者帮助我们,或者只是想获得更多的信息, 请加入邮件列表 ports@openbsd.org 。