Compare commits

...
65 Commits
Author SHA1 Message Date
Colin Percival 0df4815017 Fix an integer overflow in RLE length parsing when decompressing
corrupt bzip2 data.

Approved by:	so (cperciva)
Security:	FreeBSD-SA-10:08.bzip2
2010-09-20 14:58:08 +00:00
Colin Percival 0f14c153ef Change the current working directory to be inside the jail created by
the jail(8) command. [10:04]

Fix a one-NUL-byte buffer overflow in libopie. [10:05]

Correctly sanity-check a buffer length in nfs mount. [10:06]

Approved by:	so (cperciva)
Approved by:	re (kensmith)
Security:	FreeBSD-SA-10:04.jail
Security:	FreeBSD-SA-10:05.opie
Security:	FreeBSD-SA-10:06.nfsclient
2010-05-27 03:15:04 +00:00
Simon L. B. Nielsen 81f600082d Fix BIND named(8) cache poisoning with DNSSEC validation.
[SA-10:01]

Fix ntpd mode 7 denial of service. [SA-10:02]

Fix ZFS ZIL playback with insecure permissions. [SA-10:03]

Various FreeBSD 8.0-RELEASE improvements. [EN-10:01]

Security:	FreeBSD-SA-10:01.bind
Security:	FreeBSD-SA-10:02.ntpd
Security:	FreeBSD-SA-10:03.zfs
Errata:		FreeBSD-EN-10:01.freebsd
Approved by:	so (simon)
2010-01-06 21:45:30 +00:00
Simon L. B. Nielsen b306e646a2 Bump the patch level in the kernel version number, which was
accidentally left out of main commit for SA-09:15, SA-09:15, and
SA-09:17 in r200054.

Approved by:	so (simon)
2009-12-03 12:59:39 +00:00
Colin Percival d5c8f6cf7b Disable SSL renegotiation in order to protect against a serious
protocol flaw. [09:15]

Correctly handle failures from unsetenv resulting from a corrupt
environment in rtld-elf. [09:16]

Fix permissions in freebsd-update in order to prevent leakage of
sensitive files. [09:17]

Approved by:	so (cperciva)
Security:	FreeBSD-SA-09:15.ssl
Security:	FreeBSD-SA-09:16.rtld
Security:	FreeBSD-SA-09:17.freebsd-udpate
2009-12-03 09:18:40 +00:00
Simon L. B. Nielsen 5cc2fb2ccd MFC r197711 (partial) to 6.x and 7.x:
- Add no zero mapping feature, disabled by default. [EN-09:05]

MFC 178913,178914,179242,179243,180336,180340 to 6.x:

- Fix kqueue pipe race conditions. [SA-09:13]

MFC r192301 to 7.x; 6.x has slightly different fix:

- Fix devfs / VFS NULL pointer race condition. [SA-09:14]

Security:	FreeBSD-SA-09:13.pipe
Security:	FreeBSD-SA-09:14.devfs
Errata:		FreeBSD-EN-09:05.null
Submitted by:	kib [SA-09:13] [SA-09:14]
Submitted by:	bz [EN-09:05]
In collaboration with:	jhb, kib, alc [EN-09:05]
Approved by:	so (simon)
2009-10-02 18:09:56 +00:00
Simon L. B. Nielsen b00ac27ba5 Fix BIND named(8) dynamic update message remote DoS.
Obtained from:	ISC
Security:	FreeBSD-SA-09:12.bind
Security:	CVE-2009-0696
Approved by:	so (simon)
2009-07-29 00:14:14 +00:00
Colin Percival 7649a2ac49 Prevent integer overflow in direct pipe write code from circumventing
virtual-to-physical page lookups. [09:09]

Add missing permissions check for SIOCSIFINFO_IN6 ioctl. [09:10]

Fix buffer overflow in "autokey" negotiation in ntpd(8). [09:11]

Approved by:	so (cperciva)
Approved by:	re (not really, but SVN wants this...)
Security:	FreeBSD-SA-09:09.pipe
Security:	FreeBSD-SA-09:10.ipv6
Security:	FreeBSD-SA-09:11.ntpd
2009-06-10 10:31:11 +00:00
Colin Percival 3d389dec20 Don't leak information via uninitialized space in db(3) records. [09:07]
Sanity-check string lengths in order to stop OpenSSL crashing
when printing corrupt BMPString or UniversalString objects. [09:08]

Security:	FreeBSD-SA-09:07.libc
Security:	FreeBSD-SA-09:08.openssl
Security:	CVE-2009-0590
Approved by:	re (kensmith)
Approved by:	so (cperciva)
2009-04-22 14:07:14 +00:00
Colin Percival 93ed9b599c Fix typo: FreeBSD 6.4 is at -p3, not at -p9.
Approved by:	so (cperciva)
2009-01-21 18:47:52 +00:00
Simon L. B. Nielsen 8dab95485b Correct ntpd(8) cryptographic signature bypass [SA-09:04].
Correct BIND DNSSEC incorrect checks for malformed signatures
[SA-09:04].

Security:	FreeBSD-SA-09:03.ntpd
Security:	FreeBSD-SA-09:04.bind
Obtained from:	ISC [SA-09:04]
Approved by:	so (simon)
2009-01-13 21:19:27 +00:00
Simon L. B. Nielsen c1371bc72e Prevent cross-site forgery attacks on lukemftpd(8) due to splitting
long commands into multiple requests. [09:01]

Fix incorrect OpenSSL checks for malformed signatures due to invalid
check of return value from EVP_VerifyFinal(), DSA_verify, and
DSA_do_verify. [09:02]

Security:	FreeBSD-SA-09:01.lukemftpd
Security:	FreeBSD-SA-09:02.openssl
Obtained from:	NetBSD [SA-09:01]
Obtained from:	OpenSSL Project [SA-09:02]
Approved by:	so (simon)
2009-01-07 20:17:55 +00:00
Colin Percival 8c684ed113 Prevent cross-site forgery attacks on ftpd(8) due to splitting
long commands into multiple requests. [08:12]

Avoid calling uninitialized function pointers in protocol switch
code. [08:13]

Merry Christmas everybody...

Approved by:	so (cperciva)
Approved by:	re (kensmith)
Security:	FreeBSD-SA-08:12.ftpd, FreeBSD-SA-08:13.protosw
2008-12-23 01:23:09 +00:00
Ken Smith d2d8199ea2 Going ahead with 6.4-RELEASE now.
Approved by:	re (implicit)
2008-11-26 00:52:43 +00:00
Ken Smith d0354a95ee Calling it -RELEASE tiny bit premature, looks like there might be one
more loose end.  Holding off until at least tomorrow to collect a bit
more information.

Approved by:	re (implicit)
2008-11-25 02:49:34 +00:00
Hiroki Sato 1980df7b79 - Document SA-08:11.
- Add missing </para>.
- Add more comments about rpc.lockd(8) kernel support.

Approved by:	re (implicit)
2008-11-25 02:19:13 +00:00
Ken Smith b25fe9c87f Call ourself 6.4-RELEASE.
Approved by:	re (implicit)
2008-11-25 01:41:19 +00:00
Ken Smith 30de25365b Predict 6.4-RELEASE date.
Approved by:	re (implicit)
2008-11-25 01:40:25 +00:00
Marius Strobl 30a4dc507c MF stable/6: r185263
Revert r182461 except for the introduction of the DC_HAS_BROKEN_RXSTATE()
macro for the upcoming release as doing MII-operations on DM9102A while
the link is up has turned out to occasionally cause panics. This again
prevents the link state form ever being checked once it's up, which is
considered less worse than the panics though.

Approved by:	re (kensmith)
2008-11-24 21:26:26 +00:00
Colin Percival 919b4f2030 Make sure arc4random(9) is properly seeded when /etc/rc.d/initrandom returns.
Approved by:	so (cperciva)
Approved by:	re (kensmith)
Security:	FreeBSD-SA-08:11.arc4random
2008-11-24 17:39:39 +00:00
Marcel Moolenaar 3135238f6b MF stable/6:
Correct the Device ID of the NetMos quad UART.

PR:		128931
Approved by:	re (kensmith)
2008-11-23 18:39:08 +00:00
John Baldwin db105bba19 MFC: Adjust the license statement to more closely match a standard
3-clause BSD license.

Approved by:	re (kib)
2008-11-13 22:55:20 +00:00
Marc Fonvieille 30f4ee20ef MFC: rev. 184753
Update ports number and size of Ports Collection.

Approved by:  re (kib)
2008-11-07 22:07:27 +00:00
Ken Smith 0bdd814795 Oops. Correct a mis-merge. This piece of r183860 didn't make it
through while doing the merge.

PR:		misc/128610
Submitted by:	veron <dot> x503 <at> hotmail <dot> com
Approved by:	re (blackend, kib)
2008-11-06 13:34:49 +00:00
Daniel Gerzo 6d5c6c4c2c MFC rev. 183041:
- remove superfluous word

PR:		docs/127401
Submitted by:	Mick Charles Beaver <[email protected]>
Approved by:	re@ (blackend)
2008-11-05 14:15:53 +00:00
Ken Smith 6d7f4b1174 Prepare for the 6.4-RC2 builds.
Approved by:	re (implicit)
2008-10-31 15:56:38 +00:00
Oleg Bulyzhin 90a67a3646 Direct commit (r184414 is not applicable to stable due to ABI change):
Workaround possible q_time overflow (will happen after 2^32/(86400*hz)
days of uptime (~50days for hz = 1000)), which may lead to:
- broken shaping in 'fast' io mode.
- incorrect average queue length calculation in RED/GRED algorithm.

PR:		kern/128401
Approved by:	re (kensmith)
2008-10-31 13:01:31 +00:00
Konstantin Belousov 956853b3db MFC of the r179312 by sos:
Do not call ata_start() when ata_reinit fails in the ioctl path.

Approved by:	re (kensmith), sos
Prodded by:	Andrey V. Elsukov <[email protected]>
2008-10-30 13:18:28 +00:00
Maxim Sobolev b205092127 MFC: don't panic when HZ value is below 32. This change may need a bit
of refinement later, as bde says that 4BSD expects stathz of 128, while
in this case stathz would be in the range 40-128.

Approved by:	re (kib, kensmith)
2008-10-29 21:31:01 +00:00
Hiroki Sato f6f250be54 Remove very old translations for the moment.
Approved by:	re (implicit)
2008-10-29 19:32:32 +00:00
Hiroki Sato f412825e39 Remove link for -stable mailing list.
Approved by:	re (implicit)
2008-10-29 19:22:29 +00:00
Hiroki Sato 7336c701b3 Fix wording.
Approved by:	re (implicit)
2008-10-29 19:22:00 +00:00
Hiroki Sato a0a87b4dcd Trim Errata document for 6.4R.
Approved by:	re (implicit)
2008-10-29 19:14:03 +00:00
Hiroki Sato 2e189d894e Relnotes update for 6.4R.
Security Advisories:
 SA-08:03.sendfile,
 SA-08:05.openssh,
 SA-08:06.bind,
 SA-08:07.amd64,
 SA-08:09.icmp6,
 SA-08:10.nd6.

Kernel Changes:
 Camellia cipher support,
 malloc(9) RedZone added,
 kernel-mode client-side NFS locking (options NFSLOCKD),
 boot from GPT-labeled disk,
 acpi_asus(4) EeePC backlight support,
 DRM i915 GME support,
 bge(4) BCM5906 support,
 dummynet(4) fast support,
 aac(4) >2TB RAID array support,
 ata(4) ServerWorks HT1000 chipset workaround added,
 iir(4) stability improvement,
 mpt(4) mpt_user personality added.

Userland Changes:
 bsdtar(1) --numeric-owner, -s, -S added,
 cp(1) ACL bug fixed,
 cron(8) -m added,
 cvs(1) -n added,
 dump(8) and restore(8) extattr support,
 fortune(6) FORTUNE_PATH support,
 fortune(6) -e bugfix,
 freebsd-update IDSIgnorePaths statement support,
 fwcontrol(8) -f added,
 make(1) :u variable modifier added,
 morse(6) output bug fixed,
 mountd(8) -h added,
 mv(1) behavior change,
 periodic(8) daily_status_mail_rejects_shorten variable added,
 ping6(8) exit status change,
 telnetd(8) authentication bug fixed,
 top(1) and vmstat(8) -P added,
 watch(8) now support >10 snp(4) devices,
 rc.d/ike removed,
 dymmynet_enable variable added to rc.conf,
 rc.d/ppp ppp_profile variable support,
 rc.d/sysctl loading /etc/sysctl.conf.local support,
 rc.firewall firewall_client_* and firewall_simple_* variable support,
 pkg_install updated to snapshot as of 30 May 2008 on CURRENT,
 pkg_sign(1) and pkg_check(1) removed.

Contrib Software Update:
 am-utils 6.1.5,
 BIND 9.3.5-P2,
 NTP 4.2.4p5,
 FILE 4.21,
 libarchive 2.5.4b,
 ncurses 5.6-20080503,
 OpenPAM Hydrangea,
 tcsh 6.15.00,
 tzdata2008e.

Approved by:	re (implicit)
2008-10-29 19:11:03 +00:00
Hiroki Sato 9b954d8d86 Update NetBSD version number.
Approved by:	re (implicit)
2008-10-29 18:56:59 +00:00
Edwin Groothuis 28e697df2b MFV of r184404 - tzdata2008i
MFC of r184406

- United States zone reordering and recommenting
- Argentina DST changes update.

Approved by:	re (kib)
2008-10-28 19:52:56 +00:00
John Baldwin 79c661e2e9 MFC: Several top '-P' fixes originally from ru@. This fixes top -P
on i386.

Approved by:	re (kensmith)
2008-10-27 18:00:39 +00:00
Andrew Gallatin 4061760a99 Merge r183515 and r184211 (mxge firmware updates) into releng/6.4
Approved by:	re (kensmith)
Sponsored by:	Myricom Inc
2008-10-27 14:29:49 +00:00
Ed Schouten eded7ed5cd MFC r183565:
Small cleanups to openpty().

  - Pass O_NOCTTY to posix_openpt(2). This makes the implementation work
    consistently on implementations that make the PTY the controlling TTY
    by default.

  - Call unlockpt() before opening the slave device. POSIX mentions that
    de slave device should only be opened after grantpt() and unlockpt()
    have been called.

  - Replace some redundant code by a label.

As a safety net, add a call to revoke() to unlockpt(). All applications
out there use openpty(), explicitly call revoke() or implement their own
PTY allocation routines. Adding the call to unlockpt() won't hurt, but
will prevent foot-shooting.

Reviewed by:	jhb, kib
Approved by:	re
2008-10-27 05:28:08 +00:00
Pyun YongHyeon ee564be923 MFC r183966:
Some 88E1149 PHY's page select is initialized to point to other
  bank instead of copper/fiber bank which in turn resulted in
  wrong registers were accessed during PHY operation. It is
  believed that page 0 should be used for copper PHY so reinitialize
  E1000_EADR to select default copper PHY.
  This fixes link establishment issue of nfe(4) on Sun Fire X4140.

  OpenBSD also has similimar patch but they just reset the E1000_EADR
  register to page 0. However some Marvell PHYs((88E3082, 88E1000)
  don't have the extended address register and the meaning of the
  register is quite different for each PHY model. So selecting copper
  PHY is limited to 88E1149 PHY which seems to be the only one that
  exhibits link establishment problem. If parent device know the type
  of PHY(either copper or fiber) that information should be notified
  to PHY driver but there is no good way to pass this information yet.

  Reported by:	thompsa
  Reviewed by:	thompsa
  Approved by:	re (kensmith)
2008-10-27 00:23:09 +00:00
Dmitry Morozovsky 621a499348 MFH: r184200
Correct a typo in Nocona core name

Approved by:	re (hrs, kib)
2008-10-26 23:11:25 +00:00
Brooks Davis a90255c8d1 MFC r183974:
Support the remaining options listed in dhcp-options(5) and RFC 2132.

PR:		bin/127076
Submitted by:	jkim
Approved by:	re (kensmith)
2008-10-26 19:28:04 +00:00
Brooks Davis a64ebd11e8 MFC r183979:
Display usage when pkg_add is called with no arguments.

PR:		bin/121093
Submitted by:	volker
Approved by:	re (kensmith)
2008-10-26 19:22:10 +00:00
Ken Smith bdc0345fb3 MFS r183978:
Go ahead with adding device ID for Nikon D300 camera so it gets into
6.4-REL.

PR:		usb/118741
Submitted by:	Yuri <yuri at tsoft dot com>
Approved by:	re (rwatson for stable/6, kib for me doing releng/6.4)
2008-10-26 17:03:51 +00:00
Doug Rabson 9e89eef61c MFC: r184227 - don't use *statep without holding the vnode interlock
This change is being merged earlier than originally planned at the request
of the release engineers.

Approved by:    re (kib)
2008-10-25 14:01:29 +00:00
Alfred Perlstein b1144a09de Merge r184172 (pthread condvar race fix) into 6.4-release.
Reviewed by:	re, davidxu
Approved by:	re
2008-10-25 01:46:29 +00:00
Ken Smith b604a3d273 MFS r184237 (which was MFS of r184232):
> MFC r183921 and r184180
> When we notice the INDEX had volume numbers (so the media the packages
> are coming from has multiple volumes) walk through the dependency tree
> for the packages selected by the user once for each volume, only
> installing packages on the current volume.  If we can't install the
> package because its on a higher volume just note that we have looked
> at it during the pass for this volume to cut down on time spent checking
> dependencies.  This stops the excessive disc swapping that users have
> complained (a lot...) about.

Approved by:    re (kib)
2008-10-25 01:25:29 +00:00
Ken Smith 9e73ac7b84 Adjust package set for 6.4-REL.
Approved by:	re (kib)
2008-10-23 13:24:58 +00:00
Tim Kientzle 568fe054b3 MFC r184038: Restore mtime *after* restoring ACLs. Otherwise,
setting the ACL changes the mtime.  (Plus a new test to exercise
basic ACL restore logic.)

PR:		kern/128203
Submitted by:	Udo Schweigert
Approved by:	re (Kostik Belousov)
2008-10-23 04:51:14 +00:00
Ken Smith 8b1c27bc8f MFS r184174 from stable/6.
Net effect is to add support for building DVD images when the MAKE_DVD
knob is enabled, and enable it for amd64 and i386 architectures.

Approved by:  re (kib)
2008-10-22 20:24:52 +00:00
John Baldwin 4e15859600 MFC: Close a race in the kern.ttys sysctl handler that resulted in panics
in dev2udev() when a tty was being detached concurrently with the sysctl
handler.  One difference relative to 7.x+ is that we still leak tty
objects in tty_free() since destroy_dev() in 6.x doesn't purge all
threads.

Approved by:	re (kib)
2008-10-22 15:43:28 +00:00
Bjoern A. Zeeb f77ab2fb3d MFC: r183923
Check that the mbuf len is positive (like we do in the v4 case)
  to avoid possible panics.

PR:		kern/119123
Approved by:	re (kib)
2008-10-22 14:58:23 +00:00
Bjoern A. Zeeb 41cadec500 MFC: r183970
Use the label from the socket credential rather than the
  solabel which was not set by the mac_partition policy.

Approved by:	re (rwatson)
2008-10-22 09:30:32 +00:00
John Baldwin ab1941d8f5 MFC: Use 32k transfers rather than 63k transfers for chipsets that can't do
64k transfers and use the MIO method to talk to the Serverworks HT1000_S1
SATA controller.

Approved by:	re (kib)
2008-10-21 18:40:29 +00:00
Pyun YongHyeon f561942c43 MFC r183814:
Read PCI device id instead of PCI revision id. Also checks the read
  device id is JMC260 family. Previously it just verified the deivce
  is JMC260 Rev A0. This will make it easy for newer JMC2xx support.

  Pointed out by:	bouyer at NetBSD

MFC r183859:
  Make sure to read the last byte of EEPROM descriptor. Previously
  the last byte of the ethernet address was not read which in turn
  resulted in getting 5 out of the 6 bytes of ethernet address and
  always returned ENOENT. I did not notice the bug on FPGA version
  because of additional configuration data in EEPROM.

  Pointed out by:	bouyer at NetBSD

Approved by:	re (gnn)
2008-10-19 06:55:08 +00:00
Edwin Groothuis 557d88042b MFC of r183537 - tzdata2008g
MFC of r183864 - tzdata2008h

Approved by:	re (blackend)
2008-10-14 10:23:11 +00:00
Christian S.J. Peron ca461459e1 MFC change 182488
Improve entropy in source port generation for libalias consumers.

Approved by:	re (kib)
2008-10-13 18:44:59 +00:00
Marius Strobl d3c02539ef MFC: r183628
Disable ATAPI DMA as it's once again broken in that it causes data
corruption with the on-board AcerLabs M5229 controllers. While at
it, remove the pointless "nothing to autoload yet." message.

Approved by:	re (blackend)
2008-10-08 21:46:17 +00:00
Hiroki Sato 1ed49771ee Update version numbers for 6.4R.
Approved by:	re (implicit)
2008-10-05 09:57:33 +00:00
Ken Smith 7a0060fc85 MFS r183585:
> Add info for the two upcoming releases - 6.4 and 7.1.

Approved by:	re (implicit)
2008-10-04 02:58:54 +00:00
Ken Smith 9661a19c97 Adjust __FreeBSD_version to reflect a new release branch.
Approved by:	re (implicit)
2008-10-04 02:48:28 +00:00
Ken Smith 51f406fa46 Adjust branch tag in example.
Approved by:	re (implicit)
2008-10-04 02:45:13 +00:00
Ken Smith 4ed46af3fa Update 6.3 -> 6.4
Approved by:	re (implicit)
2008-10-04 02:39:58 +00:00
Ken Smith 73120845b6 Shift branch used for "make update" from RELENG_6 to RELENG_6_4.
Approved by:	re (implicit)
2008-10-04 02:35:57 +00:00
Ken Smith fae14f868d Get ready for the 6.4-RC1 builds.
Approved by:	re (implicit)
2008-10-02 06:25:54 +00:00
405 changed files with 34350 additions and 103929 deletions

No files matched your search

+1 -1
View File
@@ -87,7 +87,7 @@ CLEANDIR= cleandir
.endif
CVS?= cvs
CVSFLAGS?= -r RELENG_6 -P -d -I!
CVSFLAGS?= -r RELENG_6_4 -P -d -I!
SUP?= /usr/bin/csup
SUPFLAGS?= -g -L 2
.if defined(SUPHOST)
+73
View File
@@ -8,6 +8,79 @@ Items affecting the ports and packages system can be found in
/usr/ports/UPDATING. Please read that file before running
portupgrade.
20100920: p11 FreeBSD-SA-10:08.bzip2
Fix an integer overflow in RLE length parsing when decompressing
corrupt bzip2 data.
20100526: p10 FreeBSD-SA-10:05.opie
Fix a one-NUL-byte buffer overflow in libopie. [10:05]
20100106: p9 FreeBSD-SA-10:01.bind, FreeBSD-SA-10:02.ntpd
Fix BIND named(8) cache poisoning with DNSSEC validation.
[SA-10:01]
Fix ntpd mode 7 denial of service. [SA-10:02]
20091203: p8 FreeBSD-SA-09:15.ssl, FreeBSD-SA-09:17.freebsd-update
Disable SSL renegotiation in order to protect against a serious
protocol flaw. [09:15]
Fix permissions in freebsd-update in order to prevent leakage of
sensitive files. [09:17]
20091002: p7 FreeBSD-SA-09:13.pipe, FreeBSD-SA-09:14.devfs,
FreeBSD-EN-09:05.null
Fix kqueue pipe race conditions. [SA-09:13]
Fix devfs / VFS NULL pointer race condition. [SA-09:14]
Add no zero mapping feature. [EN-09:05]
20090729: p6 FreeBSD-SA-09:12.bind
Fix BIND named(8) dynamic update message remote DoS.
20090610: p5 FreeBSD-SA-09:09.pipe, FreeBSD-SA-09:10.ipv6,
FreeBSD-SA-09:11.ntpd
Prevent integer overflow in direct pipe write code from circumventing
virtual-to-physical page lookups. [09:09]
Add missing permissions check for SIOCSIFINFO_IN6 ioctl. [09:10]
Fix buffer overflow in "autokey" negotiation in ntpd(8). [09:11]
20090422: p4 FreeBSD-SA-09:07.libc, FreeBSD-SA-09:08.openssl
Don't leak information via uninitialized space in db(3) records.
[09:07]
Sanity-check string lengths in order to stop OpenSSL crashing
when printing corrupt BMPString or UniversalString objects. [09:08]
20090113: p3 FreeBSD-SA-09:03.ntpd, FreeBSD-SA-09:04.bind
Correct ntpd cryptographic signature bypass. [09:03]
Correct BIND DNSSEC incorrect checks for malformed
signatures. [09:04]
20090107: p2 FreeBSD-SA-09:01.lukemftpd, FreeBSD-SA-09:02.openssl
Prevent cross-site forgery attacks on lukemftpd(8) due to splitting
long commands into multiple requests. [09:01]
Fix incorrect OpenSSL checks for malformed signatures. [09:02]
20081223: p1 FreeBSD-SA-08:12.ftpd, FreeBSD-SA-08:13.protosw
Prevent cross-site forgery attacks on ftpd(8) due to splitting
long commands into multiple requests. [08:12]
Avoid calling uninitialized function pointers in protocol switch
code. [08:13]
20081128:
FreeBSD 6.4-RELEASE
20081124: FreeBSD-SA-08:11.arc4random
Make sure arc4random(9) is properly seeded when /etc/rc.d/initrandom
returns.
20080904:
ntpd upgraded to 4.2.4p5.
+50 -8
View File
@@ -92,6 +92,8 @@
#define DNS_GETDB_NOLOG 0x02U
#define DNS_GETDB_PARTIAL 0x04U
#define PENDINGOK(x) (((x) & DNS_DBFIND_PENDINGOK) != 0)
static void
query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype);
@@ -1698,14 +1700,14 @@ query_addbestns(ns_client_t *client) {
zsigrdataset = NULL;
}
if ((client->query.dboptions & DNS_DBFIND_PENDINGOK) == 0 &&
(rdataset->trust == dns_trust_pending ||
(sigrdataset != NULL && sigrdataset->trust == dns_trust_pending)))
if ((DNS_TRUST_PENDING(rdataset->trust) ||
(sigrdataset != NULL && DNS_TRUST_PENDING(sigrdataset->trust))) &&
!PENDINGOK(client->query.dboptions))
goto cleanup;
if (WANTDNSSEC(client) && SECURE(client) &&
(rdataset->trust == dns_trust_glue ||
(sigrdataset != NULL && sigrdataset->trust == dns_trust_glue)))
if ((DNS_TRUST_GLUE(rdataset->trust) ||
(sigrdataset != NULL && DNS_TRUST_GLUE(sigrdataset->trust))) &&
SECURE(client) && WANTDNSSEC(client))
goto cleanup;
query_addrrset(client, &fname, &rdataset, &sigrdataset, dbuf,
@@ -2367,6 +2369,8 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
unsigned int options;
isc_boolean_t empty_wild;
dns_rdataset_t *noqname;
dns_rdataset_t tmprdataset;
unsigned int dboptions;
CTRACE("query_find");
@@ -2566,9 +2570,47 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
/*
* Now look for an answer in the database.
*/
dboptions = client->query.dboptions;
if (sigrdataset == NULL && client->view->enablednssec) {
/*
* If the client doesn't want DNSSEC we still want to
* look for any data pending validation to save a remote
* lookup if possible.
*/
dns_rdataset_init(&tmprdataset);
sigrdataset = &tmprdataset;
dboptions |= DNS_DBFIND_PENDINGOK;
}
refind:
result = dns_db_find(db, client->query.qname, version, type,
client->query.dboptions, client->now,
&node, fname, rdataset, sigrdataset);
dboptions, client->now, &node, fname,
rdataset, sigrdataset);
/*
* If we have found pending data try to validate it.
* If the data does not validate as secure and we can't
* use the unvalidated data requery the database with
* pending disabled to prevent infinite looping.
*/
if (result != ISC_R_SUCCESS || !DNS_TRUST_PENDING(rdataset->trust))
goto validation_done;
if (rdataset->trust != dns_trust_pending_answer ||
!PENDINGOK(client->query.dboptions)) {
dns_rdataset_disassociate(rdataset);
if (sigrdataset != NULL &&
dns_rdataset_isassociated(sigrdataset))
dns_rdataset_disassociate(sigrdataset);
if (sigrdataset == &tmprdataset)
sigrdataset = NULL;
dns_db_detachnode(db, &node);
dboptions &= ~DNS_DBFIND_PENDINGOK;
goto refind;
}
validation_done:
if (sigrdataset == &tmprdataset) {
if (dns_rdataset_isassociated(sigrdataset))
dns_rdataset_disassociate(sigrdataset);
sigrdataset = NULL;
}
resume:
CTRACE("query_find: resume");
+5 -1
View File
@@ -863,7 +863,11 @@ temp_check(isc_mem_t *mctx, dns_diff_t *temp, dns_db_t *db,
if (type == dns_rdatatype_rrsig ||
type == dns_rdatatype_sig)
covers = dns_rdata_covers(&t->rdata);
else
else if (type == dns_rdatatype_any) {
dns_db_detachnode(db, &node);
dns_diff_clear(&trash);
return (DNS_R_NXRRSET);
} else
covers = 0;
/*
+26 -15
View File
@@ -226,40 +226,51 @@ enum {
dns_trust_none = 0,
#define dns_trust_none ((dns_trust_t)dns_trust_none)
/* Subject to DNSSEC validation but has not yet been validated */
dns_trust_pending = 1,
#define dns_trust_pending ((dns_trust_t)dns_trust_pending)
/*%
* Subject to DNSSEC validation but has not yet been validated
* dns_trust_pending_additional (from the additional section).
*/
dns_trust_pending_additional = 1,
#define dns_trust_pending_additional \
((dns_trust_t)dns_trust_pending_additional)
/* Received in the additional section of a response. */
dns_trust_additional = 2,
dns_trust_pending_answer = 2,
#define dns_trust_pending_answer ((dns_trust_t)dns_trust_pending_answer)
/*% Received in the additional section of a response. */
dns_trust_additional = 3,
#define dns_trust_additional ((dns_trust_t)dns_trust_additional)
/* Received in a referral response. */
dns_trust_glue = 3,
/* Received in a referral response. */
dns_trust_glue = 4,
#define dns_trust_glue ((dns_trust_t)dns_trust_glue)
/* Answser from a non-authoritative server */
dns_trust_answer = 4,
/* Answer from a non-authoritative server */
dns_trust_answer = 5,
#define dns_trust_answer ((dns_trust_t)dns_trust_answer)
/* Received in the authority section as part of an
authoritative response */
dns_trust_authauthority = 5,
dns_trust_authauthority = 6,
#define dns_trust_authauthority ((dns_trust_t)dns_trust_authauthority)
/* Answser from an authoritative server */
dns_trust_authanswer = 6,
/* Answer from an authoritative server */
dns_trust_authanswer = 7,
#define dns_trust_authanswer ((dns_trust_t)dns_trust_authanswer)
/* Successfully DNSSEC validated */
dns_trust_secure = 7,
/* Successfully DNSSEC validated */
dns_trust_secure = 8,
#define dns_trust_secure ((dns_trust_t)dns_trust_secure)
/* This server is authoritative */
dns_trust_ultimate = 8
dns_trust_ultimate = 9
#define dns_trust_ultimate ((dns_trust_t)dns_trust_ultimate)
};
#define DNS_TRUST_PENDING(x) ((x) == dns_trust_pending_answer || \
(x) == dns_trust_pending_additional)
#define DNS_TRUST_GLUE(x) ((x) == dns_trust_glue)
/*
* Name checking severites.
*/
+2 -1
View File
@@ -763,7 +763,8 @@ dump_order_compare(const void *a, const void *b) {
static const char *trustnames[] = {
"none",
"pending",
"pending-additional",
"pending-answer",
"additional",
"glue",
"answer",
+1 -1
View File
@@ -133,7 +133,7 @@ openssldsa_verify(dst_context_t *dctx, const isc_region_t *sig) {
status = DSA_do_verify(digest, ISC_SHA1_DIGESTLENGTH, dsasig, dsa);
DSA_SIG_free(dsasig);
if (status == 0)
if (status != 1)
return (dst__openssl_toresult(DST_R_VERIFYFAILURE));
return (ISC_R_SUCCESS);
+1 -1
View File
@@ -246,7 +246,7 @@ opensslrsa_verify(dst_context_t *dctx, const isc_region_t *sig) {
status = RSA_verify(type, digest, digestlen, sig->base,
RSA_size(rsa), rsa);
if (status == 0)
if (status != 1)
return (dst__openssl_toresult(DST_R_VERIFYFAILURE));
return (ISC_R_SUCCESS);
+2 -2
View File
@@ -2667,7 +2667,7 @@ cache_zonecut_callback(dns_rbtnode_t *node, dns_name_t *name, void *arg) {
}
if (dname_header != NULL &&
(dname_header->trust != dns_trust_pending ||
(!DNS_TRUST_PENDING(dname_header->trust) ||
(search->options & DNS_DBFIND_PENDINGOK) != 0)) {
/*
* We increment the reference count on node to ensure that
@@ -3129,7 +3129,7 @@ cache_find(dns_db_t *db, dns_name_t *name, dns_dbversion_t *version,
if (found == NULL ||
(found->trust == dns_trust_glue &&
((options & DNS_DBFIND_GLUEOK) == 0)) ||
(found->trust == dns_trust_pending &&
(DNS_TRUST_PENDING(found->trust) &&
((options & DNS_DBFIND_PENDINGOK) == 0))) {
/*
* If there is an NS rdataset at this node, then this is the
+28 -5
View File
@@ -3657,6 +3657,7 @@ cache_name(fetchctx_t *fctx, dns_name_t *name, dns_adbaddrinfo_t *addrinfo,
* for it, unless it is glue.
*/
if (secure_domain && rdataset->trust != dns_trust_glue) {
dns_trust_t trust;
/*
* RRSIGs are validated as part of validating the
* type they cover.
@@ -3693,12 +3694,34 @@ cache_name(fetchctx_t *fctx, dns_name_t *name, dns_adbaddrinfo_t *addrinfo,
}
/*
* Cache this rdataset/sigrdataset pair as
* pending data.
* Reject out of bailiwick additional records
* without RRSIGs as they can't possibly validate
* as "secure" and as we will never never want to
* store these as "answers" after validation.
*/
rdataset->trust = dns_trust_pending;
if (rdataset->trust == dns_trust_additional &&
sigrdataset == NULL && EXTERNAL(rdataset))
continue;
/*
* XXXMPA: If we store as "answer" after validating
* then we need to do bailiwick processing and
* also need to track whether RRsets are in or
* out of bailiwick. This will require a another
* pending trust level.
*
* Cache this rdataset/sigrdataset pair as
* pending data. Track whether it was additional
* or not.
*/
if (rdataset->trust == dns_trust_additional)
trust = dns_trust_pending_additional;
else
trust = dns_trust_pending_answer;
rdataset->trust = trust;
if (sigrdataset != NULL)
sigrdataset->trust = dns_trust_pending;
sigrdataset->trust = trust;
if (!need_validation)
addedrdataset = ardataset;
else
@@ -4044,7 +4067,7 @@ ncache_message(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo,
for (trdataset = ISC_LIST_HEAD(tname->list);
trdataset != NULL;
trdataset = ISC_LIST_NEXT(trdataset, link))
trdataset->trust = dns_trust_pending;
trdataset->trust = dns_trust_pending_answer;
result = dns_message_nextname(fctx->rmessage,
DNS_SECTION_AUTHORITY);
}
+6 -6
View File
@@ -238,7 +238,7 @@ auth_nonpending(dns_message_t *message) {
rdataset != NULL;
rdataset = ISC_LIST_NEXT(rdataset, link))
{
if (rdataset->trust == dns_trust_pending)
if (DNS_TRUST_PENDING(rdataset->trust))
rdataset->trust = dns_trust_authauthority;
}
}
@@ -1175,7 +1175,7 @@ get_key(dns_validator_t *val, dns_rdata_rrsig_t *siginfo) {
* We have an rrset for the given keyname.
*/
val->keyset = &val->frdataset;
if (val->frdataset.trust == dns_trust_pending &&
if (DNS_TRUST_PENDING(val->frdataset.trust) &&
dns_rdataset_isassociated(&val->fsigrdataset))
{
/*
@@ -1190,7 +1190,7 @@ get_key(dns_validator_t *val, dns_rdata_rrsig_t *siginfo) {
if (result != ISC_R_SUCCESS)
return (result);
return (DNS_R_WAIT);
} else if (val->frdataset.trust == dns_trust_pending) {
} else if (DNS_TRUST_PENDING(val->frdataset.trust)) {
/*
* Having a pending key with no signature means that
* something is broken.
@@ -1758,7 +1758,7 @@ validatezonekey(dns_validator_t *val) {
* We have DS records.
*/
val->dsset = &val->frdataset;
if (val->frdataset.trust == dns_trust_pending &&
if (DNS_TRUST_PENDING(val->frdataset.trust) &&
dns_rdataset_isassociated(&val->fsigrdataset))
{
result = create_validator(val,
@@ -1771,7 +1771,7 @@ validatezonekey(dns_validator_t *val) {
if (result != ISC_R_SUCCESS)
return (result);
return (DNS_R_WAIT);
} else if (val->frdataset.trust == dns_trust_pending) {
} else if (DNS_TRUST_PENDING(val->frdataset.trust)) {
/*
* There should never be an unsigned DS.
*/
@@ -2564,7 +2564,7 @@ proveunsecure(dns_validator_t *val, isc_boolean_t have_ds, isc_boolean_t resume)
* There is no DS. If this is a delegation,
* we maybe done.
*/
if (val->frdataset.trust == dns_trust_pending) {
if (DNS_TRUST_PENDING(val->frdataset.trust)) {
result = create_fetch(val, tname,
dns_rdatatype_ds,
dsfetched2,
+7
View File
@@ -381,6 +381,13 @@ Int32 BZ2_decompress ( DState* s )
es = -1;
N = 1;
do {
/* Check that N doesn't get too big, so that es doesn't
go negative. The maximum value that can be
RUNA/RUNB encoded is equal to the block size (post
the initial RLE), viz, 900k, so bounding N at 2
million should guard against overflow without
rejecting any legitimate inputs. */
if (N >= 2*1024*1024) RETURN(BZ_DATA_ERROR);
if (nextSym == BZ_RUNA) es = es + (0+1) * N; else
if (nextSym == BZ_RUNB) es = es + (1+1) * N;
N = N * 2;
+1 -1
View File
@@ -139,7 +139,7 @@ void feat(void);
void format_path(char *, const char *);
int ftpd_pclose(FILE *);
FILE *ftpd_popen(char *[], const char *, int);
char *getline(char *, int, FILE *);
int getline(char *, int, FILE *);
void init_curclass(void);
void logxfer(const char *, off_t, const char *, const char *,
const struct timeval *, const char *);
+31 -8
View File
@@ -1363,8 +1363,12 @@ lookup(struct tab *p, const char *cmd)
/*
* getline - a hacked up version of fgets to ignore TELNET escape codes.
* `s' is the buffer to read into.
* `n' is the 1 less than the size of the buffer, to allow trailing NUL
* `iop' is the FILE to read from.
* Returns 0 on success, -1 on EOF, -2 if the command was too long.
*/
char *
int
getline(char *s, int n, FILE *iop)
{
int c;
@@ -1379,7 +1383,7 @@ getline(char *s, int n, FILE *iop)
if (ftpd_debug)
syslog(LOG_DEBUG, "command: %s", s);
tmpline[0] = '\0';
return(s);
return(0);
}
if (c == 0)
tmpline[0] = '\0';
@@ -1418,11 +1422,25 @@ getline(char *s, int n, FILE *iop)
}
}
*cs++ = c;
if (--n <= 0 || c == '\n')
if (--n <= 0) {
/*
* If command doesn't fit into buffer, discard the
* rest of the command and indicate truncation.
* This prevents the command to be split up into
* multiple commands.
*/
if (ftpd_debug)
syslog(LOG_DEBUG,
"command too long, last char: %d", c);
while (c != '\n' && (c = getc(iop)) != EOF)
continue;
return (-2);
}
if (c == '\n')
break;
}
if (c == EOF && cs == s)
return (NULL);
return (-1);
*cs++ = '\0';
if (ftpd_debug) {
if ((curclass.type != CLASS_GUEST &&
@@ -1444,7 +1462,7 @@ getline(char *s, int n, FILE *iop)
syslog(LOG_DEBUG, "command: %.*s", len, s);
}
}
return (s);
return (0);
}
void
@@ -1458,15 +1476,20 @@ ftp_handle_line(char *cp)
void
ftp_loop(void)
{
int ret;
while (1) {
(void) alarm(curclass.timeout);
if (getline(cbuf, sizeof(cbuf)-1, stdin) == NULL) {
ret = getline(cbuf, sizeof(cbuf)-1, stdin);
(void) alarm(0);
if (ret == -1) {
reply(221, "You could at least say goodbye.");
dologout(0);
} else if (ret == -2) {
reply(500, "Command too long.");
} else {
ftp_handle_line(cbuf);
}
(void) alarm(0);
ftp_handle_line(cbuf);
}
/*NOTREACHED*/
}
+8 -2
View File
@@ -1,4 +1,4 @@
/* $NetBSD: ftpd.c,v 1.176 2006/05/09 20:18:06 mrg Exp $ */
/* $NetBSD: ftpd.c,v 1.187 2008/09/13 03:30:35 lukem Exp $ */
/*
* Copyright (c) 1997-2004 The NetBSD Foundation, Inc.
@@ -2896,6 +2896,7 @@ static int
handleoobcmd()
{
char *cp;
int ret;
if (!urgflag)
return (0);
@@ -2904,9 +2905,14 @@ handleoobcmd()
if (!transflag)
return (0);
cp = tmpline;
if (getline(cp, sizeof(tmpline), stdin) == NULL) {
ret = getline(cp, sizeof(tmpline)-1, stdin);
if (ret == -1) {
reply(221, "You could at least say goodbye.");
dologout(0);
} else if (ret == -2) {
/* Ignore truncated command */
/* XXX: abort xfer with "500 command too long", & return 1 ? */
return 0;
}
/*
* Manually parse OOB commands, because we can't
+23 -18
View File
@@ -570,7 +570,7 @@ crypto_recv(
peer->issuer = emalloc(vallen + 1);
strcpy(peer->issuer, peer->subject);
temp32 = (fstamp >> 16) & 0xffff;
sprintf(statstr,
snprintf(statstr, NTP_MAXSTRLEN,
"flags 0x%x host %s signature %s", fstamp,
peer->subject, OBJ_nid2ln(temp32));
record_crypto_stats(&peer->srcadr, statstr);
@@ -636,7 +636,8 @@ crypto_recv(
}
peer->flash &= ~TEST8;
temp32 = cinfo->nid;
sprintf(statstr, "cert %s 0x%x %s (%u) fs %u",
snprintf(statstr, NTP_MAXSTRLEN,
"cert %s 0x%x %s (%u) fs %u",
cinfo->subject, cinfo->flags,
OBJ_nid2ln(temp32), temp32,
ntohl(ep->fstamp));
@@ -685,7 +686,7 @@ crypto_recv(
peer->crypto |= CRYPTO_FLAG_VRFY |
CRYPTO_FLAG_PROV;
peer->flash &= ~TEST8;
sprintf(statstr, "iff fs %u",
snprintf(statstr, NTP_MAXSTRLEN, "iff fs %u",
ntohl(ep->fstamp));
record_crypto_stats(&peer->srcadr, statstr);
#ifdef DEBUG
@@ -733,7 +734,7 @@ crypto_recv(
peer->crypto |= CRYPTO_FLAG_VRFY |
CRYPTO_FLAG_PROV;
peer->flash &= ~TEST8;
sprintf(statstr, "gq fs %u",
snprintf(statstr, NTP_MAXSTRLEN, "gq fs %u",
ntohl(ep->fstamp));
record_crypto_stats(&peer->srcadr, statstr);
#ifdef DEBUG
@@ -774,7 +775,7 @@ crypto_recv(
peer->crypto |= CRYPTO_FLAG_VRFY |
CRYPTO_FLAG_PROV;
peer->flash &= ~TEST8;
sprintf(statstr, "mv fs %u",
snprintf(statstr, NTP_MAXSTRLEN, "mv fs %u",
ntohl(ep->fstamp));
record_crypto_stats(&peer->srcadr, statstr);
#ifdef DEBUG
@@ -828,7 +829,7 @@ crypto_recv(
peer->crypto &= ~CRYPTO_FLAG_AUTO;
peer->crypto |= CRYPTO_FLAG_AGREE;
peer->flash &= ~TEST8;
sprintf(statstr, "cook %x ts %u fs %u",
snprintf(statstr, NTP_MAXSTRLEN, "cook %x ts %u fs %u",
peer->pcookie, ntohl(ep->tstamp),
ntohl(ep->fstamp));
record_crypto_stats(&peer->srcadr, statstr);
@@ -893,7 +894,7 @@ crypto_recv(
peer->crypto &= ~CRYPTO_FLAG_AUTO;
peer->crypto |= CRYPTO_FLAG_AGREE;
peer->flash &= ~TEST8;
sprintf(statstr, "cook %x ts %u fs %u",
snprintf(statstr, NTP_MAXSTRLEN, "cook %x ts %u fs %u",
peer->pcookie, ntohl(ep->tstamp),
ntohl(ep->fstamp));
record_crypto_stats(&peer->srcadr, statstr);
@@ -944,7 +945,7 @@ crypto_recv(
peer->pkeyid = bp->key;
peer->crypto |= CRYPTO_FLAG_AUTO;
peer->flash &= ~TEST8;
sprintf(statstr,
snprintf(statstr, NTP_MAXSTRLEN,
"auto seq %d key %x ts %u fs %u", bp->seq,
bp->key, ntohl(ep->tstamp),
ntohl(ep->fstamp));
@@ -987,7 +988,8 @@ crypto_recv(
peer->crypto |= CRYPTO_FLAG_SIGN;
peer->flash &= ~TEST8;
temp32 = cinfo->nid;
sprintf(statstr, "sign %s 0x%x %s (%u) fs %u",
snprintf(statstr, NTP_MAXSTRLEN,
"sign %s 0x%x %s (%u) fs %u",
cinfo->issuer, cinfo->flags,
OBJ_nid2ln(temp32), temp32,
ntohl(ep->fstamp));
@@ -1071,7 +1073,8 @@ crypto_recv(
crypto_flags |= CRYPTO_FLAG_TAI;
peer->crypto |= CRYPTO_FLAG_LEAP;
peer->flash &= ~TEST8;
sprintf(statstr, "leap %u ts %u fs %u", vallen,
snprintf(statstr, NTP_MAXSTRLEN,
"leap %u ts %u fs %u", vallen,
ntohl(ep->tstamp), ntohl(ep->fstamp));
record_crypto_stats(&peer->srcadr, statstr);
#ifdef DEBUG
@@ -1127,7 +1130,7 @@ crypto_recv(
* cheerfully ignored, as the message is not sent.
*/
if (rval > XEVNT_TSP) {
sprintf(statstr,
snprintf(statstr, NTP_MAXSTRLEN,
"error %x opcode %x ts %u fs %u", rval,
code, tstamp, fstamp);
record_crypto_stats(&peer->srcadr, statstr);
@@ -1453,7 +1456,8 @@ crypto_xmit(
*/
if (rval != XEVNT_OK) {
opcode |= CRYPTO_ERROR;
sprintf(statstr, "error %x opcode %x", rval, opcode);
snprintf(statstr, NTP_MAXSTRLEN,
"error %x opcode %x", rval, opcode);
record_crypto_stats(srcadr_sin, statstr);
report_event(rval, NULL);
#ifdef DEBUG
@@ -1612,7 +1616,7 @@ crypto_verify(
*/
EVP_VerifyInit(&ctx, peer->digest);
EVP_VerifyUpdate(&ctx, (u_char *)&ep->tstamp, vallen + 12);
if (!EVP_VerifyFinal(&ctx, (u_char *)&ep->pkt[i], siglen, pkey))
if (EVP_VerifyFinal(&ctx, (u_char *)&ep->pkt[i], siglen, pkey) <= 0)
return (XEVNT_SIG);
if (peer->crypto & CRYPTO_FLAG_VRFY) {
@@ -1952,7 +1956,8 @@ crypto_update(void)
if (EVP_SignFinal(&ctx, tai_leap.sig, &len, sign_pkey))
tai_leap.siglen = htonl(len);
}
sprintf(statstr, "update ts %u", ntohl(hostval.tstamp));
snprintf(statstr, NTP_MAXSTRLEN,
"update ts %u", ntohl(hostval.tstamp));
record_crypto_stats(NULL, statstr);
#ifdef DEBUG
if (debug)
@@ -3606,7 +3611,7 @@ crypto_key(
*/
if ((ptr = strrchr(linkname, '\n')) != NULL)
*ptr = '\0';
sprintf(statstr, "%s mod %d", &linkname[2],
snprintf(statstr, NTP_MAXSTRLEN, "%s mod %d", &linkname[2],
EVP_PKEY_size(pkey) * 8);
record_crypto_stats(NULL, statstr);
#ifdef DEBUG
@@ -3715,8 +3720,8 @@ crypto_cert(
if ((ptr = strrchr(linkname, '\n')) != NULL)
*ptr = '\0';
sprintf(statstr, "%s 0x%x len %lu", &linkname[2], ret->flags,
len);
snprintf(statstr, NTP_MAXSTRLEN,
"%s 0x%x len %lu", &linkname[2], ret->flags, len);
record_crypto_stats(NULL, statstr);
#ifdef DEBUG
if (debug)
@@ -3832,7 +3837,7 @@ crypto_tai(
for (j = 0; j < i; j++)
*ptr++ = htonl(leapsec[j]);
crypto_flags |= CRYPTO_FLAG_TAI;
sprintf(statstr, "%s fs %u leap %u len %u", cp, fstamp,
snprintf(statstr, NTP_MAXSTRLEN, "%s fs %u leap %u len %u", cp, fstamp,
leapsec[--j], len);
record_crypto_stats(NULL, statstr);
#ifdef DEBUG
+9 -2
View File
@@ -409,6 +409,7 @@ process_private(
int mod_okay
)
{
static u_long quiet_until;
struct req_pkt *inpkt;
struct req_pkt_tail *tailinpkt;
struct sockaddr_storage *srcadr;
@@ -444,8 +445,14 @@ process_private(
|| (++ec, INFO_MBZ(inpkt->mbz_itemsize) != 0)
|| (++ec, rbufp->recv_length < REQ_LEN_HDR)
) {
msyslog(LOG_ERR, "process_private: INFO_ERR_FMT: test %d failed, pkt from %s", ec, stoa(srcadr));
req_ack(srcadr, inter, inpkt, INFO_ERR_FMT);
NLOG(NLOG_SYSEVENT)
if (current_time >= quiet_until) {
msyslog(LOG_ERR,
"process_private: drop test %d"
" failed, pkt from %s",
ec, stoa(srcadr));
quiet_until = current_time + 60;
}
return;
}
+1 -3
View File
@@ -139,10 +139,8 @@ int __opiereadrec FUNCTION((opie), struct opie *opie)
if (c = strchr(opie->opie_principal, ':'))
*c = 0;
if (strlen(opie->opie_principal) > OPIE_PRINCIPAL_MAX)
(opie->opie_principal)[OPIE_PRINCIPAL_MAX] = 0;
strcpy(principal, opie->opie_principal);
strlcpy(principal, opie->opie_principal, sizeof(principal));
do {
if ((opie->opie_recstart = ftell(f)) < 0)
-1
View File
@@ -44,7 +44,6 @@ struct system_info
int *memory;
int *swap;
struct timeval boottime;
unsigned long cpumask; /* bitfield of cpu states represented */
int ncpus;
};
+4 -1
View File
@@ -10,7 +10,7 @@ top \- display and update information about the top cpu processes
.SH SYNOPSIS
.B top
[
.B \-bCHIijnqStuv
.B \-bCHIijnPqStuv
] [
.BI \-d count
] [
@@ -113,6 +113,9 @@ Display either 'cpu' or 'io' statistics. Default is 'cpu'.
Use \*(lqnon-interactive\*(rq mode. This is identical to \*(lqbatch\*(rq
mode.
.TP
.B \-P
Display per-cpu CPU usage statistics.
.TP
.B \-q
Renice
.I top
+2 -6
View File
@@ -283,7 +283,7 @@ char *argv[];
optind = 1;
}
while ((i = getopt(ac, av, "CSIHPbijnpquvs:d:U:m:o:t")) != EOF)
while ((i = getopt(ac, av, "CSIHPbijnquvs:d:U:m:o:t")) != EOF)
{
switch(i)
{
@@ -408,14 +408,10 @@ char *argv[];
pcpu_stats = Yes;
break;
case 'p':
pcpu_stats = No;
break;
default:
fprintf(stderr,
"Top version %s\n"
"Usage: %s [-bCHIijnqStuv] [-d count] [-m io | cpu] [-o field] [-s time]\n"
"Usage: %s [-bCHIijnPqStuv] [-d count] [-m io | cpu] [-o field] [-s time]\n"
" [-U username] [number]\n",
version_string(), myname);
exit(1);
+1 -1
View File
@@ -1486,7 +1486,7 @@ int MAIN(int argc, char **argv)
{
ret=RSA_verify(NID_md5_sha1, buf,36, buf2,
rsa_num, rsa_key[j]);
if (ret == 0)
if (ret <= 0)
{
BIO_printf(bio_err,
"RSA verify failure\n");
+1 -1
View File
@@ -284,7 +284,7 @@ bad:
pkey = NETSCAPE_SPKI_get_pubkey(spki);
if(verify) {
i = NETSCAPE_SPKI_verify(spki, pkey);
if(i) BIO_printf(bio_err, "Signature OK\n");
if (i > 0) BIO_printf(bio_err, "Signature OK\n");
else {
BIO_printf(bio_err, "Signature Failure\n");
ERR_print_errors(bio_err);
+1 -2
View File
@@ -275,7 +275,7 @@ static int check(X509_STORE *ctx, char *file, STACK_OF(X509) *uchain, STACK_OF(X
ret=0;
end:
if (i)
if (i > 0)
{
fprintf(stdout,"OK\n");
ret=1;
@@ -365,4 +365,3 @@ static int MS_CALLBACK cb(int ok, X509_STORE_CTX *ctx)
ERR_clear_error();
return(ok);
}
+1 -1
View File
@@ -1113,7 +1113,7 @@ static int x509_certify(X509_STORE *ctx, char *CAfile, const EVP_MD *digest,
/* NOTE: this certificate can/should be self signed, unless it was
* a certificate request in which case it is not. */
X509_STORE_CTX_set_cert(&xsc,x);
if (!reqfile && !X509_verify_cert(&xsc))
if (!reqfile && X509_verify_cert(&xsc) <= 0)
goto end;
if (!X509_check_private_key(xca,pkey))
+2
View File
@@ -1030,6 +1030,7 @@ void ERR_load_ASN1_strings(void);
#define ASN1_R_BAD_OBJECT_HEADER 102
#define ASN1_R_BAD_PASSWORD_READ 103
#define ASN1_R_BAD_TAG 104
#define ASN1_R_BMPSTRING_IS_WRONG_LENGTH 210
#define ASN1_R_BN_LIB 105
#define ASN1_R_BOOLEAN_IS_WRONG_LENGTH 106
#define ASN1_R_BUFFER_TOO_SMALL 107
@@ -1088,6 +1089,7 @@ void ERR_load_ASN1_strings(void);
#define ASN1_R_UNABLE_TO_DECODE_RSA_KEY 157
#define ASN1_R_UNABLE_TO_DECODE_RSA_PRIVATE_KEY 158
#define ASN1_R_UNEXPECTED_EOC 159
#define ASN1_R_UNIVERSALSTRING_IS_WRONG_LENGTH 211
#define ASN1_R_UNKNOWN_FORMAT 160
#define ASN1_R_UNKNOWN_MESSAGE_DIGEST_ALGORITHM 161
#define ASN1_R_UNKNOWN_OBJECT_TYPE 162
+2
View File
@@ -153,6 +153,7 @@ static ERR_STRING_DATA ASN1_str_reasons[]=
{ASN1_R_BAD_OBJECT_HEADER ,"bad object header"},
{ASN1_R_BAD_PASSWORD_READ ,"bad password read"},
{ASN1_R_BAD_TAG ,"bad tag"},
{ASN1_R_BMPSTRING_IS_WRONG_LENGTH ,"bmpstring is wrong length"},
{ASN1_R_BN_LIB ,"bn lib"},
{ASN1_R_BOOLEAN_IS_WRONG_LENGTH ,"boolean is wrong length"},
{ASN1_R_BUFFER_TOO_SMALL ,"buffer too small"},
@@ -211,6 +212,7 @@ static ERR_STRING_DATA ASN1_str_reasons[]=
{ASN1_R_UNABLE_TO_DECODE_RSA_KEY ,"unable to decode rsa key"},
{ASN1_R_UNABLE_TO_DECODE_RSA_PRIVATE_KEY ,"unable to decode rsa private key"},
{ASN1_R_UNEXPECTED_EOC ,"unexpected eoc"},
{ASN1_R_UNIVERSALSTRING_IS_WRONG_LENGTH ,"universalstring is wrong length"},
{ASN1_R_UNKNOWN_FORMAT ,"unknown format"},
{ASN1_R_UNKNOWN_MESSAGE_DIGEST_ALGORITHM ,"unknown message digest algorithm"},
{ASN1_R_UNKNOWN_OBJECT_TYPE ,"unknown object type"},
+12
View File
@@ -768,6 +768,18 @@ int asn1_ex_c2i(ASN1_VALUE **pval, unsigned char *cont, int len, int utype, char
case V_ASN1_SET:
case V_ASN1_SEQUENCE:
default:
if (utype == V_ASN1_BMPSTRING && (len & 1))
{
ASN1err(ASN1_F_ASN1_D2I_EX_PRIMITIVE,
ASN1_R_BMPSTRING_IS_WRONG_LENGTH);
goto err;
}
if (utype == V_ASN1_UNIVERSALSTRING && (len & 3))
{
ASN1err(ASN1_F_ASN1_D2I_EX_PRIMITIVE,
ASN1_R_UNIVERSALSTRING_IS_WRONG_LENGTH);
goto err;
}
/* All based on ASN1_STRING and handled the same */
if(!*pval) {
stmp = ASN1_STRING_type_new(utype);
+1 -1
View File
@@ -1062,7 +1062,7 @@ int ssl2_set_certificate(SSL *s, int type, int len, unsigned char *data)
i=ssl_verify_cert_chain(s,sk);
if ((s->verify_mode != SSL_VERIFY_NONE) && (!i))
if ((s->verify_mode != SSL_VERIFY_NONE) && (i <= 0))
{
SSLerr(SSL_F_SSL2_SET_CERTIFICATE,SSL_R_CERTIFICATE_VERIFY_FAILED);
goto err;
+2 -2
View File
@@ -1070,7 +1070,7 @@ static int request_certificate(SSL *s)
i=ssl_verify_cert_chain(s,sk);
if (i) /* we like the packet, now check the chksum */
if (i > 0) /* we like the packet, now check the chksum */
{
EVP_MD_CTX ctx;
EVP_PKEY *pkey=NULL;
@@ -1099,7 +1099,7 @@ static int request_certificate(SSL *s)
EVP_PKEY_free(pkey);
EVP_MD_CTX_cleanup(&ctx);
if (i)
if (i > 0)
{
if (s->session->peer != NULL)
X509_free(s->session->peer);
+2 -2
View File
@@ -833,7 +833,7 @@ static int ssl3_get_server_certificate(SSL *s)
}
i=ssl_verify_cert_chain(s,sk);
if ((s->verify_mode != SSL_VERIFY_NONE) && (!i)
if ((s->verify_mode != SSL_VERIFY_NONE) && (i <= 0)
#ifndef OPENSSL_NO_KRB5
&& (s->s3->tmp.new_cipher->algorithms & (SSL_MKEY_MASK|SSL_AUTH_MASK))
!= (SSL_aKRB5|SSL_kKRB5)
@@ -1206,7 +1206,7 @@ static int ssl3_get_key_exchange(SSL *s)
EVP_VerifyUpdate(&md_ctx,&(s->s3->client_random[0]),SSL3_RANDOM_SIZE);
EVP_VerifyUpdate(&md_ctx,&(s->s3->server_random[0]),SSL3_RANDOM_SIZE);
EVP_VerifyUpdate(&md_ctx,param,param_len);
if (!EVP_VerifyFinal(&md_ctx,p,(int)n,pkey))
if (EVP_VerifyFinal(&md_ctx,p,(int)n,pkey) <= 0)
{
/* bad signature */
al=SSL_AD_DECRYPT_ERROR;
+3
View File
@@ -1768,6 +1768,9 @@ int ssl3_renegotiate(SSL *s)
if (s->s3->flags & SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS)
return(0);
if (1)
return(0);
s->s3->renegotiate=1;
return(1);
}
+2 -5
View File
@@ -975,9 +975,7 @@ start:
if (s->msg_callback)
s->msg_callback(0, s->version, SSL3_RT_HANDSHAKE, s->s3->handshake_fragment, 4, s, s->msg_callback_arg);
if (SSL_is_init_finished(s) &&
!(s->s3->flags & SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS) &&
!s->s3->renegotiate)
if (0)
{
ssl3_renegotiate(s);
if (ssl3_renegotiate_check(s))
@@ -1108,8 +1106,7 @@ start:
/* Unexpected handshake message (Client Hello, or protocol violation) */
if ((s->s3->handshake_fragment_len >= 4) && !s->in_handshake)
{
if (((s->state&SSL_ST_MASK) == SSL_ST_OK) &&
!(s->s3->flags & SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS))
if (0)
{
#if 0 /* worked only because C operator preferences are not as expected (and
* because this is not really needed for clients except for detecting
+8 -1
View File
@@ -654,6 +654,13 @@ static int ssl3_get_client_hello(SSL *s)
SSL_COMP *comp=NULL;
STACK_OF(SSL_CIPHER) *ciphers=NULL;
if (s->new_session)
{
al=SSL_AD_HANDSHAKE_FAILURE;
SSLerr(SSL_F_SSL3_GET_CLIENT_HELLO, ERR_R_INTERNAL_ERROR);
goto f_err;
}
/* We do this so that we will respond with our native type.
* If we are TLSv1 and we get SSLv3, we will respond with TLSv1,
* This down switching should be handled by a different method.
@@ -2015,7 +2022,7 @@ static int ssl3_get_client_certificate(SSL *s)
else
{
i=ssl_verify_cert_chain(s,sk);
if (!i)
if (i <= 0)
{
al=ssl_verify_alarm_type(s->verify_result);
SSLerr(SSL_F_SSL3_GET_CLIENT_CERTIFICATE,SSL_R_NO_CERTIFICATE_RETURNED);
+1 -1
View File
@@ -32,7 +32,7 @@
db
entropy uname=operator gname=operator mode=0700
..
freebsd-update
freebsd-update mode=0700
..
ipf mode=0700
..
+4 -4
View File
@@ -641,10 +641,6 @@ _archive_write_finish_entry(struct archive *_a)
int r2 = set_mode(a, a->mode);
if (r2 < ret) ret = r2;
}
if (a->todo & TODO_TIMES) {
int r2 = set_time(a);
if (r2 < ret) ret = r2;
}
if (a->todo & TODO_ACLS) {
int r2 = set_acls(a);
if (r2 < ret) ret = r2;
@@ -657,6 +653,10 @@ _archive_write_finish_entry(struct archive *_a)
int r2 = set_fflags(a);
if (r2 < ret) ret = r2;
}
if (a->todo & TODO_TIMES) {
int r2 = set_time(a);
if (r2 < ret) ret = r2;
}
/* If there's an fd, we can close it now. */
if (a->fd >= 0) {
+1
View File
@@ -9,6 +9,7 @@ LA_SRCS!=make -f ${LA_SRCDIR}/Makefile -V SRCS
TESTS= \
test_acl_basic.c \
test_acl_freebsd.c \
test_acl_pax.c \
test_archive_api_feature.c \
test_bad_fd.c \
+243
View File
@@ -0,0 +1,243 @@
/*-
* Copyright (c) 2003-2008 Tim Kientzle
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "test.h"
__FBSDID("$FreeBSD$");
#if defined(__FreeBSD__) && __FreeBSD__ > 4
#include <sys/acl.h>
struct myacl_t {
int type; /* Type of ACL: "access" or "default" */
int permset; /* Permissions for this class of users. */
int tag; /* Owner, User, Owning group, group, other, etc. */
int qual; /* GID or UID of user/group, depending on tag. */
const char *name; /* Name of user/group, depending on tag. */
};
static struct myacl_t acls2[] = {
{ ARCHIVE_ENTRY_ACL_TYPE_ACCESS, ARCHIVE_ENTRY_ACL_EXECUTE | ARCHIVE_ENTRY_ACL_READ,
ARCHIVE_ENTRY_ACL_USER_OBJ, -1, "" },
{ ARCHIVE_ENTRY_ACL_TYPE_ACCESS, ARCHIVE_ENTRY_ACL_READ,
ARCHIVE_ENTRY_ACL_USER, 77, "user77" },
{ ARCHIVE_ENTRY_ACL_TYPE_ACCESS, 0,
ARCHIVE_ENTRY_ACL_USER, 78, "user78" },
{ ARCHIVE_ENTRY_ACL_TYPE_ACCESS, ARCHIVE_ENTRY_ACL_READ,
ARCHIVE_ENTRY_ACL_GROUP_OBJ, -1, "" },
{ ARCHIVE_ENTRY_ACL_TYPE_ACCESS, 0007,
ARCHIVE_ENTRY_ACL_GROUP, 78, "group78" },
{ ARCHIVE_ENTRY_ACL_TYPE_ACCESS,
ARCHIVE_ENTRY_ACL_WRITE | ARCHIVE_ENTRY_ACL_EXECUTE,
ARCHIVE_ENTRY_ACL_OTHER, -1, "" },
{ ARCHIVE_ENTRY_ACL_TYPE_ACCESS,
ARCHIVE_ENTRY_ACL_WRITE | ARCHIVE_ENTRY_ACL_READ | ARCHIVE_ENTRY_ACL_EXECUTE,
ARCHIVE_ENTRY_ACL_MASK, -1, "" },
{ 0, 0, 0, 0, NULL }
};
static void
set_acls(struct archive_entry *ae, struct myacl_t *acls)
{
int i;
archive_entry_acl_clear(ae);
for (i = 0; acls[i].name != NULL; i++) {
archive_entry_acl_add_entry(ae,
acls[i].type, acls[i].permset, acls[i].tag, acls[i].qual,
acls[i].name);
}
}
static int
acl_match(acl_entry_t aclent, struct myacl_t *myacl)
{
acl_tag_t tag_type;
acl_permset_t opaque_ps;
int permset = 0;
acl_get_tag_type(aclent, &tag_type);
/* translate the silly opaque permset to a bitmap */
acl_get_permset(aclent, &opaque_ps);
if (acl_get_perm_np(opaque_ps, ACL_EXECUTE))
permset |= ARCHIVE_ENTRY_ACL_EXECUTE;
if (acl_get_perm_np(opaque_ps, ACL_WRITE))
permset |= ARCHIVE_ENTRY_ACL_WRITE;
if (acl_get_perm_np(opaque_ps, ACL_READ))
permset |= ARCHIVE_ENTRY_ACL_READ;
if (permset != myacl->permset)
return (0);
switch (tag_type) {
case ACL_USER_OBJ:
if (myacl->tag != ARCHIVE_ENTRY_ACL_USER_OBJ) return (0);
break;
case ACL_USER:
if (myacl->tag != ARCHIVE_ENTRY_ACL_USER)
return (0);
if ((uid_t)myacl->qual != *(uid_t *)acl_get_qualifier(aclent))
return (0);
break;
case ACL_GROUP_OBJ:
if (myacl->tag != ARCHIVE_ENTRY_ACL_GROUP_OBJ) return (0);
break;
case ACL_GROUP:
if (myacl->tag != ARCHIVE_ENTRY_ACL_GROUP)
return (0);
if ((gid_t)myacl->qual != *(gid_t *)acl_get_qualifier(aclent))
return (0);
break;
case ACL_MASK:
if (myacl->tag != ARCHIVE_ENTRY_ACL_MASK) return (0);
break;
case ACL_OTHER:
if (myacl->tag != ARCHIVE_ENTRY_ACL_OTHER) return (0);
break;
}
return (1);
}
static void
compare_acls(acl_t acl, struct myacl_t *myacls)
{
int *marker;
int entry_id = ACL_FIRST_ENTRY;
int matched;
int i, n;
acl_entry_t acl_entry;
/* Count ACL entries in myacls array and allocate an indirect array. */
for (n = 0; myacls[n].name != NULL; ++n)
continue;
marker = malloc(sizeof(marker[0]) * n);
for (i = 0; i < n; i++)
marker[i] = i;
/*
* Iterate over acls in system acl object, try to match each
* one with an item in the myacls array.
*/
while (1 == acl_get_entry(acl, entry_id, &acl_entry)) {
/* After the first time... */
entry_id = ACL_NEXT_ENTRY;
/* Search for a matching entry (tag and qualifier) */
for (i = 0, matched = 0; i < n && !matched; i++) {
if (acl_match(acl_entry, &myacls[marker[i]])) {
/* We found a match; remove it. */
marker[i] = marker[n - 1];
n--;
matched = 1;
}
}
/* TODO: Print out more details in this case. */
failure("ACL entry on file that shouldn't be there");
assert(matched == 1);
}
/* Dump entries in the myacls array that weren't in the system acl. */
for (i = 0; i < n; ++i) {
failure(" ACL entry missing from file: "
"type=%d,permset=%d,tag=%d,qual=%d,name=``%s''\n",
myacls[marker[i]].type, myacls[marker[i]].permset,
myacls[marker[i]].tag, myacls[marker[i]].qual,
myacls[marker[i]].name);
assert(0); /* Record this as a failure. */
}
free(marker);
}
#endif
/*
* Verify ACL restore-to-disk. This test is FreeBSD-specific.
*/
DEFINE_TEST(test_acl_freebsd)
{
#if !defined(__FreeBSD__)
skipping("FreeBSD-specific ACL restore test");
#elif __FreeBSD__ < 5
skipping("ACL restore supported only on FreeBSD 5.0 and later");
#else
struct stat st;
struct archive *a;
struct archive_entry *ae;
int n, fd;
acl_t acl;
/*
* First, do a quick manual set/read of ACL data to
* verify that the local filesystem does support ACLs.
* If it doesn't, we'll simply skip the remaining tests.
*/
acl = acl_from_text("u::rwx,u:1:rw,g::rwx,g:15:rx,o::rwx,m::rwx");
assert((void *)acl != NULL);
/* Create a test file and try to set an ACL on it. */
fd = open("pretest", O_WRONLY | O_CREAT | O_EXCL, 0777);
failure("Could not create test file?!");
n = -1;
if (assert(fd >= 0)) {
n = acl_set_fd(fd, acl);
failure("acl_set_fd(): errno = %d (%s)",
errno, strerror(errno));
assertEqualInt(0, n);
close(fd);
}
if (fd < 0 || n != 0) {
skipping("ACL tests require that ACL support be enabled on the filesystem");
return;
}
/* Create a write-to-disk object. */
assert(NULL != (a = archive_write_disk_new()));
archive_write_disk_set_options(a,
ARCHIVE_EXTRACT_TIME | ARCHIVE_EXTRACT_PERM | ARCHIVE_EXTRACT_ACL);
/* Populate an archive entry with some metadata, including ACL info */
ae = archive_entry_new();
assert(ae != NULL);
archive_entry_set_pathname(ae, "test0");
archive_entry_set_mtime(ae, 123456, 7890);
archive_entry_set_size(ae, 0);
set_acls(ae, acls2);
assertEqualIntA(a, ARCHIVE_OK, archive_write_header(a, ae));
archive_entry_free(ae);
/* Close the archive. */
assertEqualIntA(a, ARCHIVE_OK, archive_write_close(a));
assertEqualInt(ARCHIVE_OK, archive_write_finish(a));
/* Verify the data on disk. */
assertEqualInt(0, stat("test0", &st));
assertEqualInt(st.st_mtime, 123456);
acl = acl_get_file("test0", ACL_TYPE_ACCESS);
assert(acl != (acl_t)NULL);
compare_acls(acl, acls2);
#endif
}
+1 -1
View File
@@ -385,7 +385,7 @@ bt_page(t, h, lp, rp, skip, ilen)
}
/* Put the new left page for the split into place. */
if ((l = (PAGE *)malloc(t->bt_psize)) == NULL) {
if ((l = (PAGE *)calloc(1, t->bt_psize)) == NULL) {
mpool_put(t->bt_mp, r, 0);
return (NULL);
}
+6 -3
View File
@@ -61,6 +61,7 @@ __FBSDID("$FreeBSD$");
#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#ifdef DEBUG
#include <assert.h>
@@ -178,12 +179,12 @@ newbuf(hashp, addr, prev_bp)
*/
if (hashp->nbufs || (bp->flags & BUF_PIN)) {
/* Allocate a new one */
if ((bp = (BUFHEAD *)malloc(sizeof(BUFHEAD))) == NULL)
if ((bp = (BUFHEAD *)calloc(1, sizeof(BUFHEAD))) == NULL)
return (NULL);
#ifdef PURIFY
memset(bp, 0xff, sizeof(BUFHEAD));
#endif
if ((bp->page = (char *)malloc(hashp->BSIZE)) == NULL) {
if ((bp->page = (char *)calloc(1, hashp->BSIZE)) == NULL) {
free(bp);
return (NULL);
}
@@ -332,8 +333,10 @@ __buf_free(hashp, do_free, to_disk)
}
/* Check if we are freeing stuff */
if (do_free) {
if (bp->page)
if (bp->page) {
(void)memset(bp->page, 0, hashp->BSIZE);
free(bp->page);
}
BUF_REMOVE(bp);
free(bp);
bp = LRU;
+1 -1
View File
@@ -347,7 +347,7 @@ mpool_bkt(mp)
return (bp);
}
new: if ((bp = (BKT *)malloc(sizeof(BKT) + mp->pagesize)) == NULL)
new: if ((bp = (BKT *)calloc(1, sizeof(BKT) + mp->pagesize)) == NULL)
return (NULL);
#ifdef STATISTICS
++mp->pagealloc;
-5
View File
@@ -212,11 +212,6 @@ and
functions appeared in
.Fx 5.0 .
.Sh NOTES
The purpose of the
.Fn unlockpt
function has no meaning in
.Fx .
.Pp
The flag
.Dv O_NOCTTY
is included for compatibility; in
+10 -4
View File
@@ -237,14 +237,20 @@ invalid:
int
unlockpt(int fildes)
{
const char *slave;
/*
* Unlocking a master/slave pseudo-terminal pair has no meaning in a
* non-streams PTY environment. However, we do ensure fildes is a
* valid master pseudo-terminal device.
* Even though unlocking a PTY has no meaning in a non-streams
* PTY environment, make this function call revoke() to ensure
* the PTY slave device is not being evesdropped.
*/
if (ptsname(fildes) == NULL)
if ((slave = ptsname(fildes)) == NULL)
return (-1);
if (revoke(slave) == -1) {
errno = EINVAL;
return (-1);
}
return (0);
}
+36 -35
View File
@@ -71,7 +71,7 @@ cond_init(pthread_cond_t *cond, const pthread_condattr_t *cond_attr)
_thr_umtx_init(&pcond->c_lock);
pcond->c_seqno = 0;
pcond->c_waiters = 0;
pcond->c_wakeups = 0;
pcond->c_broadcast = 0;
if (cond_attr == NULL || *cond_attr == NULL) {
pcond->c_pshared = 0;
pcond->c_clockid = CLOCK_REALTIME;
@@ -122,7 +122,7 @@ _pthread_cond_destroy(pthread_cond_t *cond)
else {
/* Lock the condition variable structure: */
THR_LOCK_ACQUIRE(curthread, &(*cond)->c_lock);
if ((*cond)->c_waiters + (*cond)->c_wakeups != 0) {
if ((*cond)->c_waiters != 0) {
THR_LOCK_RELEASE(curthread, &(*cond)->c_lock);
return (EBUSY);
}
@@ -166,14 +166,13 @@ cond_cancel_handler(void *arg)
cv = *(cci->cond);
THR_LOCK_ACQUIRE(curthread, &cv->c_lock);
if (cv->c_seqno != cci->seqno && cv->c_wakeups != 0) {
if (cv->c_waiters > 0) {
cv->c_seqno++;
_thr_umtx_wake(&cv->c_seqno, 1);
} else
cv->c_wakeups--;
} else {
cv->c_waiters--;
if (--cv->c_waiters == 0)
cv->c_broadcast = 0;
if (cv->c_seqno != cci->seqno) {
_thr_umtx_wake(&cv->c_seqno, 1);
/* cv->c_seqno++; XXX why was this here? */
_thr_umtx_wake(&cv->c_seqno, 1);
}
THR_LOCK_RELEASE(curthread, &cv->c_lock);
@@ -191,6 +190,7 @@ cond_wait_common(pthread_cond_t *cond, pthread_mutex_t *mutex,
long seq, oldseq;
int oldcancel;
int ret = 0;
int loops = -1;
/*
* If the condition variable is statically initialized,
@@ -202,18 +202,24 @@ cond_wait_common(pthread_cond_t *cond, pthread_mutex_t *mutex,
cv = *cond;
THR_LOCK_ACQUIRE(curthread, &cv->c_lock);
oldseq = cv->c_seqno;
ret = _mutex_cv_unlock(mutex);
if (ret) {
THR_LOCK_RELEASE(curthread, &cv->c_lock);
return (ret);
}
oldseq = seq = cv->c_seqno;
seq = cv->c_seqno;
cci.mutex = mutex;
cci.cond = cond;
cci.seqno = oldseq;
cv->c_waiters++;
do {
/*
* loop if we have never been told to wake up
* or we lost a race.
*/
while (seq == oldseq /* || cv->c_wakeups == 0*/) {
loops++;
THR_LOCK_RELEASE(curthread, &cv->c_lock);
if (abstime != NULL) {
@@ -232,24 +238,23 @@ cond_wait_common(pthread_cond_t *cond, pthread_mutex_t *mutex,
} else {
ret = _thr_umtx_wait(&cv->c_seqno, seq, tsp);
}
/*
* If we get back EINTR we want to loop as condvars
* do NOT return EINTR, they just restart.
*/
THR_LOCK_ACQUIRE(curthread, &cv->c_lock);
seq = cv->c_seqno;
if (abstime != NULL && ret == ETIMEDOUT)
break;
/*
* loop if we have never been told to wake up
* or we lost a race.
*/
} while (seq == oldseq || cv->c_wakeups == 0);
if (seq != oldseq && cv->c_wakeups != 0) {
cv->c_wakeups--;
ret = 0;
} else {
cv->c_waiters--;
}
if (--cv->c_waiters == 0)
cv->c_broadcast = 0;
if (seq != oldseq)
ret = 0;
THR_LOCK_RELEASE(curthread, &cv->c_lock);
_mutex_cv_lock(mutex);
return (ret);
@@ -298,7 +303,7 @@ cond_signal_common(pthread_cond_t *cond, int broadcast)
{
struct pthread *curthread = _get_curthread();
pthread_cond_t cv;
int ret = 0, oldwaiters;
int ret = 0;
/*
* If the condition variable is statically initialized, perform dynamic
@@ -311,19 +316,15 @@ cond_signal_common(pthread_cond_t *cond, int broadcast)
cv = *cond;
/* Lock the condition variable structure. */
THR_LOCK_ACQUIRE(curthread, &cv->c_lock);
cv->c_seqno++;
if (cv->c_broadcast == 0)
cv->c_broadcast = broadcast;
if (cv->c_waiters) {
if (!broadcast) {
cv->c_wakeups++;
cv->c_waiters--;
cv->c_seqno++;
if (cv->c_broadcast)
_thr_umtx_wake(&cv->c_seqno, INT_MAX);
else
_thr_umtx_wake(&cv->c_seqno, 1);
} else {
oldwaiters = cv->c_waiters;
cv->c_wakeups += cv->c_waiters;
cv->c_waiters = 0;
cv->c_seqno++;
_thr_umtx_wake(&cv->c_seqno, oldwaiters);
}
}
THR_LOCK_RELEASE(curthread, &cv->c_lock);
return (ret);
+1 -1
View File
@@ -166,7 +166,7 @@ struct pthread_cond {
volatile umtx_t c_lock;
volatile umtx_t c_seqno;
volatile int c_waiters;
volatile int c_wakeups;
volatile int c_broadcast;
int c_pshared;
int c_clockid;
};
+15 -23
View File
@@ -60,37 +60,26 @@ openpty(int *amaster, int *aslave, char *name, struct termios *termp,
const char *slavename;
int master, slave;
master = posix_openpt(O_RDWR);
master = posix_openpt(O_RDWR|O_NOCTTY);
if (master == -1)
return (-1);
if (grantpt(master) == -1) {
close(master);
return (-1);
}
if (grantpt(master) == -1)
goto bad;
if (unlockpt(master) == -1)
goto bad;
slavename = ptsname(master);
if (slavename == NULL) {
close(master);
return (-1);
}
if (slavename == NULL)
goto bad;
if (revoke(slavename) == -1) {
close(master);
return (-1);
}
if (revoke(slavename) == -1)
goto bad;
slave = open(slavename, O_RDWR);
if (slave == -1) {
close(master);
return (-1);
}
if (unlockpt(master) == -1) {
close(master);
close(slave);
return (-1);
}
if (slave == -1)
goto bad;
*amaster = master;
*aslave = slave;
@@ -103,6 +92,9 @@ openpty(int *amaster, int *aslave, char *name, struct termios *termp,
ioctl(slave, TIOCSWINSZ, (char *)winp);
return (0);
bad: close(master);
return (-1);
}
int
+1 -1
View File
@@ -46,7 +46,7 @@ void fatalerror(char *);
void ftpd_logwtmp(char *, char *, struct sockaddr *addr);
int ftpd_pclose(FILE *);
FILE *ftpd_popen(char *, char *);
char *getline(char *, int, FILE *);
int getline(char *, int, FILE *);
void lreply(int, const char *, ...) __printflike(2, 3);
void makedir(char *);
void nack(char *);
+22 -6
View File
@@ -1191,7 +1191,7 @@ lookup(struct tab *p, char *cmd)
/*
* getline - a hacked up version of fgets to ignore TELNET escape codes.
*/
char *
int
getline(char *s, int n, FILE *iop)
{
int c;
@@ -1207,7 +1207,7 @@ getline(char *s, int n, FILE *iop)
if (ftpdebug)
syslog(LOG_DEBUG, "command: %s", s);
tmpline[0] = '\0';
return(s);
return(0);
}
if (c == 0)
tmpline[0] = '\0';
@@ -1244,13 +1244,24 @@ getline(char *s, int n, FILE *iop)
}
}
*cs++ = c;
if (--n <= 0 || c == '\n')
if (--n <= 0) {
/*
* If command doesn't fit into buffer, discard the
* rest of the command and indicate truncation.
* This prevents the command to be split up into
* multiple commands.
*/
while (c != '\n' && (c = getc(iop)) != EOF)
;
return (-2);
}
if (c == '\n')
break;
}
got_eof:
sigprocmask(SIG_SETMASK, &osset, NULL);
if (c == EOF && cs == s)
return (NULL);
return (-1);
*cs++ = '\0';
if (ftpdebug) {
if (!guest && strncasecmp("pass ", s, 5) == 0) {
@@ -1270,7 +1281,7 @@ got_eof:
syslog(LOG_DEBUG, "command: %.*s", len, s);
}
}
return (s);
return (0);
}
static void
@@ -1300,9 +1311,14 @@ yylex(void)
case CMD:
(void) signal(SIGALRM, toolong);
(void) alarm(timeout);
if (getline(cbuf, sizeof(cbuf)-1, stdin) == NULL) {
n = getline(cbuf, sizeof(cbuf)-1, stdin);
if (n == -1) {
reply(221, "You could at least say goodbye.");
dologout(0);
} else if (n == -2) {
reply(500, "Command too long.");
(void) alarm(0);
continue;
}
(void) alarm(0);
#ifdef SETPROCTITLE
+6 -1
View File
@@ -2802,15 +2802,20 @@ static int
myoob(void)
{
char *cp;
int ret;
if (!transflag) {
syslog(LOG_ERR, "Internal: myoob() while no transfer");
return (0);
}
cp = tmpline;
if (getline(cp, 7, stdin) == NULL) {
ret = getline(cp, 7, stdin);
if (ret == -1) {
reply(221, "You could at least say goodbye.");
dologout(0);
} else if (ret == -2) {
/* Ignore truncated command. */
return (0);
}
upper(cp);
if (strcmp(cp, "ABOR\r\n") == 0) {
+76 -2
View File
@@ -18,11 +18,11 @@
# Set these, release builder!
#
# Fixed version:
#BUILDNAME=6.3-STABLE
#BUILDNAME=6.4-RELEASE
#
# Automatic SNAP versioning:
DATE != date +%Y%m%d
BASE = 6.3
BASE = 6.4
BUILDNAME?=${BASE}-${DATE}-SNAP
#
#CHROOTDIR=/junk/release
@@ -192,6 +192,7 @@ MNT= /mnt
.undef MAKE_FLOPPIES
.if ${TARGET_ARCH} == "i386"
MAKE_FLOPPIES= true
MAKE_DVD=
.if ${TARGET} == "pc98"
SMALLFLOPPYSIZE= 1200
SMALLFLOPPYSPLITSIZE= 1152
@@ -230,6 +231,7 @@ MFSLABEL= auto
SEPARATE_LIVEFS=
.elif ${TARGET_ARCH} == "amd64"
MAKE_FLOPPIES= true
MAKE_DVD=
FLOPPYSIZE= 1440
FLOPPYSPLITSIZE= 1392
FLOPPYINODE= 40000
@@ -269,6 +271,9 @@ CD_BOOT= ${CD}/bootonly
CD_DISC1= ${CD}/disc1
CD_DISC2= ${CD}/disc2
CD_DISC3= ${CD}/disc3
.if defined(MAKE_DVD)
CD_DVD1= ${CD}/dvd1
.endif
.if !defined(NODOC)
CD_DOCS= ${CD}/docs
.endif
@@ -488,6 +493,7 @@ release rerelease:
KERNELS \
KERNELS_BASE \
KERNEL_FLAGS \
MAKE_DVD \
MAKE_FLOPPIES \
MAKE_ISOS \
NOCDROM \
@@ -941,6 +947,18 @@ cdrom.1:
find . -depth -print | cpio -dumpl ${CD_LIVEFS} ) ; \
fi \
done
.if defined(MAKE_DVD)
@echo "Building DVD filesystem image as well as CDROM"
@mkdir -p ${CD_DVD1}/${BUILDNAME}
@for i in ${DISTRIBUTIONS} ; \
do \
if [ -d ${RD}/trees/$${i} ] ; then \
chflags -R noschg ${RD}/trees/$${i} || true ; \
( cd ${RD}/trees/$${i} && \
find . -depth -print | cpio -dumpl ${CD_DVD1} ) ; \
fi \
done
.endif
@echo "Copy GENERIC kernel to boot area"
@cp -Rp ${RD}/kernels/GENERIC/ ${CD_LIVEFS}/boot/kernel
@rm -f ${CD_LIVEFS}/.profile
@@ -958,6 +976,23 @@ cdrom.1:
@cp ${RD}/trees/base/boot/device.hints ${CD_LIVEFS}/boot/device.hints
.endif
@echo "CD_VERSION = ${BUILDNAME}" > ${CD_LIVEFS}/cdrom.inf
.if defined(MAKE_DVD)
@cp -Rp ${RD}/kernels/GENERIC/ ${CD_DVD1}/boot/kernel
@rm -f ${CD_DVD1}/boot/kernel/*.symbols
@rm -f ${CD_DVD1}/.profile
@cp ${.CURDIR}/fixit.profile ${CD_DVD1}/.profile
@ln -sf /rescue ${CD_DVD1}/stand
@echo "CD_VERSION = ${BUILDNAME}" > ${CD_DVD1}/cdrom.inf
@rm -f ${CD_DVD1}/boot/loader.conf
@cp ${RD}/mfsroot/mfsroot.gz ${CD_DVD1}/boot/mfsroot.gz
@echo 'mfsroot_load="YES"' > ${CD_DVD1}/boot/loader.conf
@echo 'mfsroot_type="mfs_root"' >> ${CD_DVD1}/boot/loader.conf
@echo 'mfsroot_name="/boot/mfsroot"' >> ${CD_DVD1}/boot/loader.conf
.if exists(${RD}/trees/base/boot/device.hints)
@rm -f ${CD_DVD1}/boot/device.hints
@cp ${RD}/trees/base/boot/device.hints ${CD_DVD1}/boot/device.hints
.endif
.endif
touch ${.TARGET}
# Build disc1, disc2 and disc3 cdrom images
@@ -998,11 +1033,37 @@ cdrom.2:
@mkdir -p ${CD_DISC3}
@echo "CD_VERSION = ${BUILDNAME}" > ${CD_DISC3}/cdrom.inf
@echo "CD_VOLUME = 3" >> ${CD_DISC3}/cdrom.inf
.if defined(MAKE_DVD)
.if defined(MAKE_FLOPPIES)
@cd ${RD} && find floppies -print | cpio -dumpl ${CD_DVD1}
.endif
@cd ${RD}/dists && find . -print | cpio -dumpl ${CD_DVD1}/${BUILDNAME}
.if !defined(NODOC)
@for i in ${DIST_DOCS_ARCH_INDEP}; do \
cp ${RND}/${RELNOTES_LANG}/$$i/article.txt \
${CD_DVD1}/`echo $${i} | tr 'a-z' 'A-Z'`.TXT; \
cp ${RND}/${RELNOTES_LANG}/$$i/article.html \
${CD_DVD1}/`echo $${i} | tr 'a-z' 'A-Z'`.HTM; \
done
@for i in ${DIST_DOCS_ARCH_DEP}; do \
cp ${RND}/${RELNOTES_LANG}/$$i/${TARGET}/article.txt \
${CD_DVD1}/`echo $${i} | tr 'a-z' 'A-Z'`.TXT; \
cp ${RND}/${RELNOTES_LANG}/$$i/${TARGET}/article.html \
${CD_DVD1}/`echo $${i} | tr 'a-z' 'A-Z'`.HTM; \
done
@cp ${RND}/${RELNOTES_LANG}/readme/docbook.css ${CD_DVD1}
.endif
@echo "CD_VERSION = ${BUILDNAME}" > ${CD_DVD1}/cdrom.inf
@echo "CD_VOLUME = 1" >> ${CD_DVD1}/cdrom.inf
.endif
.if !defined(NODOC)
@echo "Building CDROM docs filesystem image"
@mkdir -p ${CD_DOCS}
@echo "CD_VERSION = ${BUILDNAME}" > ${CD_DOCS}/cdrom.inf
@mkdir -p ${CD_DOCS}/usr/share/doc
.if defined(MAKE_DVD)
@mkdir -p ${CD_DVD1}/usr/share/doc
.endif
@for i in `ls ${CD_LIVEFS}/usr/share/doc`; do \
if [ -L ${CD_LIVEFS}/usr/share/doc/$$i -o \
-d /usr/doc/$$i ]; then \
@@ -1010,6 +1071,10 @@ cdrom.2:
${CD_DOCS}/usr/share/doc; \
fi \
done
.if defined(MAKE_DVD)
@cd ${CD_DOCS}/usr/share/doc && find . -print | \
cpio -dumpl ${CD_DVD1}/usr/share/doc
.endif
.endif
touch ${.TARGET}
@@ -1043,6 +1108,9 @@ CD_DISC2_PKGS= ${CD_PACKAGE_TREE}/disc2
.if exists(${CD_PACKAGE_TREE}/disc3)
CD_DISC3_PKGS= ${CD_PACKAGE_TREE}/disc3
.endif
.if exists(${CD_PACKAGE_TREE}/dvd1)
CD_DVD1_PKGS= ${CD_PACKAGE_TREE}/dvd1
.endif
.endif
.endif
@@ -1066,6 +1134,12 @@ iso.1:
FreeBSD_Packages_2 \
${CD}/${BUILDNAME}-${TARGET}-disc3.iso ${CD_DISC3} \
${CD_DISC3_PKGS}
.if defined(MAKE_DVD)
@sh ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh ${BOOTABLE} \
FreeBSD_Install \
${CD}/${BUILDNAME}-${TARGET}-dvd1.iso ${CD_DVD1} \
${CD_DVD1_PKGS}
.endif
.if !defined(NODOC)
@sh ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh \
FreeBSD_Documentation \
-17
View File
@@ -1,17 +0,0 @@
# $FreeBSD$
# $FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/Makefile,v 1.4 2002/10/28 18:37:19 ue Exp $
# basiert auf: 1.3
RELN_ROOT?= ${.CURDIR}/..
SUBDIR = relnotes
SUBDIR+= hardware
SUBDIR+= readme
SUBDIR+= errata
SUBDIR+= installation
SUBDIR+= early-adopter
COMPAT_SYMLINK = de
.include "${RELN_ROOT}/share/mk/doc.relnotes.mk"
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
@@ -1,23 +0,0 @@
# The FreeBSD Documentation
# The FreeBSD German Documentation Project
#
# $FreeBSD$
# $FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/early-adopter/Makefile,v 1.1 2002/10/28 18:37:20 ue Exp $
# basiert auf: 1.3
RELN_ROOT?= ${.CURDIR}/../..
.ifdef NO_LANGCODE_IN_DESTDIR
DESTDIR?= ${DOCDIR}/early-adopter
.else
DESTDIR?= ${DOCDIR}/de_DE.ISO8859-1/early-adopter
.endif
DOC?= article
FORMATS?= html
INSTALL_COMPRESSED?=gz
INSTALL_ONLY_COMPRESSED?=
SRCS+= article.sgml
.include "${RELN_ROOT}/share/mk/doc.relnotes.mk"
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
@@ -1,557 +0,0 @@
<!--
The FreeBSD Documentation Project
The FreeBSD German Documentation Project
$FreeBSD$
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/early-adopter/article.sgml,v 1.24 2003/05/25 12:44:41 mheinen Exp $
basiert auf: 1.15
-->
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN">
%man;
<!ENTITY % freebsd PUBLIC "-//FreeBSD//ENTITIES DocBook Miscellaneous FreeBSD Entities//EN">
%freebsd;
<!ENTITY % authors PUBLIC "-//FreeBSD//ENTITIES DocBook Author Entities//EN">
%authors;
<!ENTITY % teams PUBLIC "-//FreeBSD//ENTITIES DocBook Team Entities//EN">
%teams;
<!ENTITY % mailing-lists PUBLIC "-//FreeBSD//ENTITIES DocBook Mailing List Entities//DE">
%mailing-lists;
<!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN">
%release;
<!ENTITY release.4x "4.<replaceable>X</replaceable>">
<!ENTITY release.5x "5.<replaceable>X</replaceable>">
]>
<article lang="de">
<articleinfo>
<title>Hinweise f&uuml;r die ersten Anwender von &os;
&release.current;</title>
<authorgroup>
<corpauthor>The &os; Release Engineering Team</corpauthor>
</authorgroup>
<pubdate>$FreeBSD$</pubdate>
<copyright>
<year>2002</year>
<year>2003</year>
<holder role="mailto:[email protected]">The &os; Release
Engineering Team</holder>
</copyright>
<abstract>
<para>Dieser Artikel enth&auml;lt Informationen &uuml;ber den
Status von &os; &release.current; f&uuml;r die Anwender, die
bisher noch keine Erfahrung mit den &release.5x; Versionen
oder &os; sammeln konnten. Er enth&auml;lt einige
Hintergrundinformationen &uuml;ber die vor und w&auml;hrend
einer Ver&ouml;ffentlichung ablaufende Prozesse, nennt die
wichtigsten Neuerungen und die Stellen, an denen die ersten
Anwender Probleme haben k&ouml;nnten. Weiterhin gibt es
Informationen &uuml;ber die Pl&auml;ne f&uuml;r weitere
Ver&ouml;ffentlichungen im Entwicklungszweig 4-STABLE und
ein paar Hinweise f&uuml;r die Aktualisierung bestehender
Systeme.</para>
</abstract>
</articleinfo>
<sect1 id="intro">
<title>Einf&uuml;hrung</title>
<para>Nach &uuml;ber zwei Jahren steht mit &os; &release.5x;
wieder eine komplett neue &os;-Version zur Verf&uuml;gung. Sie
bietet nicht nur diverse neue M&ouml;glichkeiten, auch und
gerade <quote>unter der Haube</quote> hat sich einiges
verbessert. Der Nachteil dieser Neuerungen ist, da&szlig;
gro&szlig;e Teile des Systems neu und nicht ausreichend getestet
sind. Im Vergleich zu den existierenden &release.4x; Versionen
kann der Schritt zu den ersten &release.5x; Versionen zu
Verschlechterungen in den Bereichen Stabilit&auml;t, Leistung
und teilweise auch Funktionalit&auml;t f&uuml;hren.</para>
<para>Aus diesen Gr&uuml;nden warnen wir alle Anwender, ihre
Systeme nicht von &auml;lteren &os;-Versionen auf 5.0 zu
aktualisieren, wenn sie die &quot;Problemzonen&quot; nicht kennen
oder nicht bereit sind, die Einschr&auml;nkungen in den neuesten
Versionen in Kauf zu nehmen. Gerade konservative Anwender
sollten in der nahen Zukunft &release.4x;-Versionen (wie
4.8-RELEASE) benutzen. Wir meinen, da&szlig; diese Anwender
erst zu &release.5x; wechseln sollten, nachdem der
Entwicklungszweig 5-STABLE existiert; dies wird wahrscheinlich
nach der Ver&ouml;ffentlichung von 5.2-RELEASE
passieren.</para>
<para>Hier zeigt sich das <quote>Henne und Ei</quote> Problem bei
der Ver&ouml;ffentlichung von &os; &release.5x;. Alle am &os;
Project beteiligten Personen wollen ein &os;, das m&ouml;glichst
stabil und zuverl&auml;ssig ist. Um dieses Ziel zu erreichen,
m&uuml;ssen die neue Version und speziell die neuen Komponenten
von m&ouml;glichst vielen Anwendern getestet werden.
Dummerweise gibt es bei realistischer Betrachtung nur eine
M&ouml;glichkeit, eine gr&ouml;&szlig;ere Anzahl an Anwender
f&uuml;r einen Test zu gewinnen: Die Ver&ouml;ffentlichung der
zu testenden Version!</para>
<para>Dieser Artikel beschreibt einige der Probleme, die bei der
Installation und Benutzung von &os; &release.current; auftreten
k&ouml;nnen. Zuerst wird beschrieben, wie eine neue FreeBSD
Version ver&ouml;ffentlicht wird. Dann werden die
interessanteren Neuerungen in FreeBSD &release.current; und die
Bereiche, in denen (gerade f&uuml;r unvorsichtige Anwender)
Probleme auftreten k&ouml;nnen, vorgestellt. Anwender, die erst
einmal bei Systemen auf Basis von 4-STABLE bleiben m&ouml;chten,
erhalten einen kurzen Ausblick auf die kurz- und mittelfristigen
Planungen f&uuml;r diesen Entwicklungszweig. Zuletzt wird
besprochen, was bei einer Aktualisierung eines existierenden
&release.4x; Systems auf 5.0 beachtet werden mu&szlig;.</para>
</sect1>
<sect1 id="release-overview">
<title>Ver&ouml;ffentlichung neuer &os;-Versionen</title>
<para>Das Prinzip der &os;-Entwicklung ist die Verwendung mehrerer
Entwicklungszweige innerhalb eines <quote>CVS
Repository</quote>. Der Hauptzweig wird <quote>CURRENT</quote>
genannt und innerhalb des Repository mit dem symbolischen Namen
<literal>HEAD</literal> referenziert. Neuerungen werden
zun&auml;chst in diesen Zweig eingebracht. Das bedeutet zwar,
da&szlig; neue M&ouml;glichkeiten zun&auml;chst einmal nur in
CURRENT zur Verf&uuml;gung stehen, es bedeutet allerdings auch,
da&szlig; dieser Zweig von Zeit zu Zeit Kummer bereitet,
w&auml;hrend die Neuerungen getestet und ihre Fehler entfernt
werden.</para>
<para>Wenn eine neue &os;-Version ver&ouml;ffentlicht wird,
basiert diese in der Regel auf einem der <quote>STABLE</quote>
(stabil) genannten Entwicklungszweige. Neuerungen werden nur in
diese Entwicklungszweige &uuml;bernommen, nachdem sie in CURRENT
getestet wurden. Zur Zeit gibt es nur einen aktiven STABLE
Entwicklungszweig: <quote>4-STABLE</quote>; dieser Zweig war
die Grundlage f&uuml;r alle &release.4x; Versionen. Dieser
Zweig wird innerhalb des CVS Repository durch den symbolischen
Namen <literal>RELENG_4</literal> gekennzeichnet.</para>
<para>Die Basis f&uuml;r &os; 5.0 und 5.1 ist der
Entwicklungszweig CURRENT. Damit wird zum ersten Mal nach
&uuml;ber zwei Jahren eine neue Version auf Basis dieses
Entwicklungszweiges erscheinen (die letzte war &os; 4.0, im
M&auml;rz 2000).</para>
<para>Einige Zeit nach der Ver&ouml;ffentlichung von &os; 5.0 wird
im &os; CVS Repository der Zweig <quote>5-STABLE</quote> mit dem
symbolischen Namen <literal>RELENG_5</literal> erzeugt werden.
Die letzten beiden Entwicklungszweige dieser Art (3-STABLE und
4-STABLE) wurden unmittelbar nach der Ver&ouml;ffentlichung der
jeweiligen <quote>Punkt Null</quote> Versionen (3.0 bzw. 4.0)
erzeugt. R&uuml;ckblickend m&uuml;ssen wir feststellen,
da&szlig; dadurch in beiden F&auml;llen nicht genug Zeit war, um
CURRENT zu stabilisieren, bevor der neue Entwicklungszweig
eingerichtet wurde. Dies f&uuml;hrte zu unn&ouml;tiger
Mehrarbeit, da Fehlerkorrekturen von einem Zweig in den anderen
Zweig &uuml;bertragen werden mu&szlig;ten; au&szlig;erdem kam
es zu einigen &Auml;nderungen in der Architektur, die nicht in
den jeweils anderen Zweig &uuml;bernommen werden konnten.</para>
<para>Aus diesem Grund wird das Release Engineering Team den neuen
5-STABLE Entwicklungszweig erst dann im CVS Repository
einrichten, wenn eine solide Grundlage zur Verf&uuml;gung steht.
Es ist sehr wahrscheinlich, da&szlig; vorher mehrere
&release.5x; Versionen erscheinen werden; zur Zeit rechnen wir
damit, da&szlig; 5-STABLE nach dem Erscheinen von 5.2-RELEASE
erzeugt werden wird.</para>
<para>Weitere Informationen &uuml;ber den Ablauf bei der
Ver&ouml;ffentlichung einer neuen &os; Version finden Sie auf
den <ulink
url="http://www.FreeBSD.org/releng/index.html">Release
Engineering Web pages</ulink> und im Artikel <ulink
url="http://www.freebsd.org/doc/en_US.ISO8859-1/articles/releng/index.html">&os;
Release Engineering</ulink>. Informationen &uuml;ber den
geplanten Entwicklungszweig 5-STABLE finden Sie auf der <ulink
url="http://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/5-roadmap/index.html"><quote>The
Roadmap for 5-STABLE</quote></ulink>.</para>
</sect1>
<sect1 id="new">
<title>Neuerungen</title>
<para>Die Glanzpunkte von &os; &release.5x; sind die vielen Neuerungen.
Diese Neuerungen und die neue Funktionalit&auml;t basieren zum
gr&ouml;&szlig;ten Teil auf massiven &Auml;nderungen der
Systemarchitektur, die nicht in den Entwicklungszweig 4-STABLE
eingepflegt wurden. Viele in sich abgeschlossene
&Auml;nderungen wie Treiber f&uuml;r neue Ger&auml;te oder neue
Benutzerprogramme wurden dagegen schon nach 4-STABLE
&uuml;bernommen. Die folgende Liste enth&auml;lt eine kurze
&Uuml;bersicht &uuml;ber die wichtigsten Neuerungen in &os;
5.0:</para>
<itemizedlist>
<listitem>
<para>SMPng: Die <quote>n&auml;chste Generation</quote> der
Unterst&uuml;tzung f&uuml;r Systeme mit mehreren Prozessoren
(noch nicht abgeschlossen). Es ist jetzt m&ouml;glich,
da&szlig; mehrere Prozessoren gleichzeitig den Kernel
nutzen.</para>
</listitem>
<listitem>
<para>KSE: Die <quote>Kernel Scheduled Entities</quote>
erlauben es einem Prozess, mehrere Threads auf Kernel-Ebene
zu nutzen, analog zur Aktivierung via Scheduler. Die
(experimentellen) Bibliotheken <filename>libkse</filename>
und <filename>libthr</filename> erlauben auch normalen
Programmen mit mehreren Threads, diese Erweiterung zu
nutzen.</para>
</listitem>
<listitem>
<para>Neue Plattformen: Zus&auml;tzlich zu i386, pc98 und
Alpha werden jetzt auch sparc64 und ia64 Systeme
unterst&uuml;tzt.</para>
</listitem>
<listitem>
<para>GCC: Der Compiler und die dazugeh&ouml;rigen Werkzeuge
basieren jetzt auf GCC 3.2.2 und nicht mehr auf GCC
2.95.<replaceable>X</replaceable>.</para>
</listitem>
<listitem>
<para>MAC: Unterst&uuml;tzung f&uuml;r erweiterbare
<quote>Mandatory Access Control</quote> Regelwerke.</para>
</listitem>
<listitem>
<para>GEOM: Ein flexibles Ger&uuml;st zur Manipulation von
Daten beim Transfer von und zu Festplatten. Auf dieser
Basis wurde ein experimentelles Modul zur
Verschl&uuml;sselung des Festplatteninhaltes
entwickelt.</para>
</listitem>
<listitem>
<para>FFS: Das Dateisystem unterst&uuml;tzt jetzt
Hintergrund-&man.fsck.8; (um das System nach einem Absturz
schneller verf&uuml;gbar zu machen) sowie
<quote>Schnappsch&uuml;sse</quote>.</para>
</listitem>
<listitem>
<para>UFS2: Dieses neue Dateisystem unterst&uuml;tzt
gr&ouml;&szlig;ere Dateien und zus&auml;tzliche
Dateiberechtigungen. &man.newfs.8; erzeugt jetzt
standardm&auml;&szlig;ig UFS2 Dateisysteme und auf allen
Plattformen au&szlig;er PC98 gilt dies auch f&uuml;r
Dateisysteme, die mit &man.sysinstall.8; erzeugt
werden.</para>
</listitem>
<listitem>
<para>Cardbus: Cardbus wird jetzt unterst&uuml;tzt.</para>
</listitem>
</itemizedlist>
<para>Eine ausf&uuml;hrlichere &Uuml;bersicht &uuml;ber die
Neuerungen finden Sie in den <quote>Release Notes</quote>
f&uuml;r &os; &release.prev; und &release.current;.</para>
</sect1>
<sect1 id="drawbacks">
<title>Nachteile f&uuml;r fr&uuml;he Anwender</title>
<para>Ein Nachteil der Neuerungen in &os; &release.5x; ist,
da&szlig; es in einigen Bereichen auf Grund der noch nicht
abgeschlossenen Entwicklung zu Problemen oder zu unerwarteten
Effekten kommen kann. Einige (aber nicht alle) der Problemzonen
sind in der folgenden Liste zusammengefa&szlig;t:</para>
<itemizedlist>
<listitem>
<para>Die Arbeit an diversen Neuerungen ist noch nicht
abgeschlossen, dazu geh&ouml;ren unter anderem SMPng und
KSE. Diese Erweiterungen sind zwar f&uuml;r Test- und
Experimentalzwecke ausreichend stabil, aber unter
Umst&auml;nden nicht stabil genug f&uuml;r den
Produktionsbetrieb.</para>
</listitem>
<listitem>
<para>Durch die &Auml;nderungen in den Datenstrukturen des
Kernels und der Schnittstellen f&uuml;r Anwendungen und
Programmierer (ABI/API), m&uuml;ssen Treiber anderer
Hersteller angepa&szlig;t werden, damit sie korrekt mit &os;
5.0 zusammenarbeiten. Es ist nicht ausgeschlossen,
da&szlig; es bis zum Erscheinen des Entwicklungszweiges
5-STABLE weitere kleinere &Auml;nderungen am ABI/API geben
wird.</para>
</listitem>
<listitem>
<para>Einige Teile des &os; Basissystems wurden in die Ports
Collection verschoben. Dazu geh&ouml;ren insbesondere
<application>Perl</application>,
<application>UUCP</application> und die meisten (nicht alle)
Spiele. Diese Programme werden zwar weiterhin entwickelt
und unterst&uuml;tzt, es kann aber verwirren, da&szlig; sie
nicht mehr Teil des Basissystems sind.</para>
</listitem>
<listitem>
<para>Einige Teile des &os;-Basissystems wurden nicht mehr
gepflegt, weil es nicht gen&uuml;gend Anwender und/oder
Entwickler gab. Diese Teile mu&szlig;ten entfernt werden,
dazu z&auml;hlen unter anderem die Erzeugung von Programmen
im Format a.out;, die XNS-Netzwerkprotokolle und der Treiber
f&uuml;r den X-10 Controller.</para>
</listitem>
<listitem>
<para>Viele Ports und Packages, die mit &os; 4-STABLE noch
korrekt liefen, k&ouml;nnen mit &os; 5.0 nicht genutzt oder
nicht kompiliert werden. Der Grund ist in der Regel der
neue Compiler oder die Aufr&auml;umarbeiten in den
Header-Dateien.</para>
</listitem>
<listitem>
<para>Viele der Neuerungen in &os; &release.5x; wurden bisher
nur auf relativ wenigen Systemen getestet. Viele dieser
Neuerungen (wie SMPng) haben Auswirkungen auf gro&szlig;e
Bereiche des Kernels.</para>
</listitem>
<listitem>
<para>Die Neuerungen in &os; 5.0 enthalten noch Routinen
zur Unterst&uuml;tzung bei der Fehlersuche und Diagnose.
Dadurch kann es dazu kommen, da&szlig; ein System mit
&os; 5.0 langsamer ist als mit 4-STABLE.</para>
</listitem>
<listitem>
<para>Neuerungen werden erst in den Entwicklungszweig 4-STABLE
&uuml;bernommen, nachdem sie eine Zeit lang in -CURRENT
<quote>gereift</quote> sind. Bei &os; 5.0 fehlt dieser
stabilisierende Effekt eines -STABLE Entwicklungszweiges.
Der Entwicklungszweig 5-STABLE wird wahrscheinlich erst
einige Zeit nach der Ver&ouml;ffentlichung von 5.2-RELEASE
eingerichtet werden.</para>
</listitem>
<listitem>
<para>Die Dokumentation (wie z.B. das &os; <ulink
url="http://www.FreeBSD.org/doc/de_DE.ISO8859-1/books/handbook/index.html">Handbuch</ulink>
und der <ulink
url="http://www.FreeBSD.org/doc/de_DE.ISO8859-1/books/faq/index.html">FAQ</ulink>)
ist teilweise noch nicht auf dem Stand von
&os; &release.5x;.</para>
</listitem>
</itemizedlist>
<para>Da einige dieser Probleme auch negative Auswirkungen auf die
Stabilit&auml;t des Systems haben, r&auml;t das Release
Engineering Team konservativen Anwendern und Firmen, Versionen
aus dem Entwicklungszweig 4-STABLE zu verwenden, bis die
&release.5x; Versionen zuverl&auml;ssiger
geworden sind.</para>
</sect1>
<sect1 id="plans-stable">
<title>Die Zukunft des Entwicklungszweiges 4-STABLE</title>
<para>Die Ver&ouml;ffentlichung von &os; 5.0 bedeutete nicht das
Ende des Entwicklungszweiges 4-STABLE: &os; 4.8 erschien im
April 2003, zwei Monate nach der Ver&ouml;ffentlichung von &os;
5.0. Es wird wahrscheinlich noch eine weitere Version auf der
Basis dieses Entwicklungszweiges geben: Das f&uuml;r den Sommer
2003 geplante 4.9-RELEASE. Auch eine Version 4.10 liegt im
Bereich des M&ouml;glichen. Dies h&auml;ngt von mehreren
Faktoren ab, der wichtigste davon ist die Existenz und
Stabilit&auml;t des Entwicklungszweiges 5-STABLE. Wenn CURRENT
nicht stabil genug ist, um einen Entwicklungszweig 5-STABLE zu
rechtfertigen, werden weitere Versionen auf Basis des
Entwicklungszweiges 4-STABLE m&ouml;glich und notwendig sein.
Bis zum Erscheinen der offiziell letzten Version auf Basis von
4-STABLE bleibt es den Entwicklern &uuml;berlassen, ob sie
Neuerungen aus <literal>HEAD</literal> in 4-STABLE einpflegen
(im Rahmen der schon bestehenden Regelungen).</para>
<para>Bis zu einem gewissen Grad werden das Release Engineering
Team und die Entwickler auch die W&uuml;nsche der Benutzer nach
weiteren Versionen auf Basis von 4-STABLE beachten. Allerdings
nur, so weit dies im Rahmen der beschr&auml;nkten Ressourcen
m&ouml;glich ist.</para>
<para>Neue Versionen auf Basis des Entwicklungszweiges 4-STABLE
werden vom &a.security-officer; im &uuml;blichen Rahmen
unterst&uuml;tzt werden, genauere Informationen dazu finden Sie
auf der <ulink
url="http://www.FreeBSD.org/security/index.html">Security
page</ulink> auf der &os; Webseite. In der Regel werden die
letzten beiden Versionen jedes Entwicklungszweiges durch die
Ver&ouml;ffentlichung von Sicherheitshinweisen und Patches
unterst&uuml;tzt; dem Team ist es allerdings freigestellt, diese
Unterst&uuml;tzung auf weitere Versionen oder spezielle Probleme
auszudehnen.</para>
</sect1>
<sect1 id="upgrade">
<title>Hinweise f&uuml;r die Aktualisierung von &os; &release.4x;</title>
<para>Dieses Kapitel enth&auml;lt Hinweise f&uuml;r Anwender, die
ihr bestehendes &os; &release.4x; System auf &os; &release.5x;
aktualisieren wollen. Wie bei jeder Aktualisierung ist es auf
jeden Fall notwendig, vorher die Release Notes und die Errata der
neuen Version zu lesen; bei Aktualisierung &uuml;ber den
Quellcode ist <filename>src/UPDATING</filename>
Pflichtlekt&uuml;re.</para>
<sect2>
<title>Aktualisierung ohne Quellcode</title>
<para>Der einfachste Ansatz ist immer noch
<quote>Sicherheitskopien erstellen, Platte formatieren, neues
System installieren, Daten wieder einspielen</quote>. Dadurch
werden alle Probleme mit veralteten und nicht kompatiblen
Programmen und Konfigurationsdateien umgangen. Die neuen
Dateisysteme k&ouml;nnen maximalen Nutzen aus den diversen
Neuerungen (speziell UFS2) ziehen.</para>
<para>Zum gegenw&auml;rtigen Zeitpunkt hat noch niemand
ausf&uuml;hrlich getestet, ob und wie gut die
<quote>Upgrade</quote>-Option in &man.sysinstall.8; bei einem
Update von 4.0 zu 5.0 funktioniert. Wir raten daher dringend
von der Verwendung dieser Funktion ab. Eines der
Hauptprobleme ist, da&szlig; bei dieser Variante diverse
Dateien nicht gel&ouml;scht werden, die zwar von &release.4x;
genutzt wurden, aber in &release.5x; nicht mehr vorhanden
sind. Diese Altlasten k&ouml;nnen zu Problemen
f&uuml;hren.</para>
<para>Auf i386 und pc98 Systemen kann die Konfiguration von ISA
Ger&auml;ten beim Systemstart mit dem Werkzeug UserConfig
eingestellt werden, dies gilt auch beim Start von einem
Installations-Medium. Dieses Programm wurde in &os; 5.0 durch
&man.device.hints.5; ersetzt; dieses stellt zwar die gleiche
Funktionalit&auml;t bereit, ist aber von der Bedienung her
v&ouml;llig verschieden.</para>
<para>Bei einer Installation von Diskette kann es notwendig
werden, die neue Treiber-Diskette zu benutzen. Das
<filename>drivers.flp</filename> Diskettenimage sollte im
allgemeinen &uuml;berall dort verf&uuml;gbar sein, wo auch
schon die bekannten <filename>kern.flp</filename> und
<filename>mfsroot.flp</filename> verf&uuml;gbar sind.</para>
<para>Bei einer Installation von CD-ROM auf einem i386-System
wird jetzt ein neues Startprogramm mit dem Namen
<quote>no-emulation boot loader</quote> genutzt. Dadurch ist
es unter anderem m&ouml;glich, auf der CD den Standardkernel
(<literal>GENERIC</literal>) statt des auf den Disketten
verwendeten Mini-Kernels zu nutzen. Jedes System, das von den
Installations-CDs f&uuml;r Windows NT 4.0 booten kann, sollte
auch mit den &os; &release.5x; CD-ROMs zurechtkommen.</para>
</sect2>
<sect2>
<title>Aktualisierung mit Quellcode</title>
<para>Es ist auf jeden Fall erforderlich, vor der Aktualisierung
<filename>src/UPDATING</filename> zu lesen. Der Abschnitt
<quote>To upgrade from 4.x-stable to current</quote>
enth&auml;lt eine Schritt-f&uuml;r-Schritt Anleitung, der Sie
unbedingt folgen m&uuml;ssen, die Nutzung der &uuml;blichen
<quote>Abk&uuml;rzungen</quote> ist nicht
m&ouml;glich.</para>
</sect2>
<sect2>
<title>Allgemeine Hinweise</title>
<para><application>Perl</application> wurde aus dem Basissystem
entfernt und sollte entweder als Package oder &uuml;ber die
Ports Collection installiert werden. Die bisher &uuml;bliche
Praxis, Perl als Teil des Basissystems zu behandeln und mit ihm
zusammen zu kompilieren, f&uuml;hrte zu diversen Problemen,
die eine Aktualisierung von Perl erschwerten. Die im
Standardsystem vorhandenen Programme, die Perl
ben&ouml;tigten, wurden entweder in einer anderen Sprache neu
geschrieben (wenn sie noch ben&ouml;tigt wurden) oder
ersatzlos entfernt (wenn sie &uuml;berfl&uuml;ssig waren). Da
&man.sysinstall.8; das Perl Package bei den meisten
Distributionen automatisch mit installiert, sollte diese
&Auml;nderung kaum Auswirkungen auf die Anwender
haben.</para>
<para>Einige Scripte verlassen sich darauf, da&szlig; der
Perl-Interpreter als <filename>/usr/bin/perl</filename>
verf&uuml;gbar ist. Der Perl Port enth&auml;lt das Programm
<filename>use.perl</filename>, mit dem ein passender Satz
symbolischer Links f&uuml;r diese Scripte erzeugt werden kann.
Nach dem Aufruf von <command>use.perl port</command> sollte
alles wie erwartet funktionieren.</para>
<para>Es ist zwar m&ouml;glich, f&uuml;r &release.4x;
geschriebene Programme unter &release.5x; zu nutzen,
allerdings mu&szlig; dazu die Distribution
<filename>compat4x</filename> installiert sein. Damit
<emphasis>k&ouml;nnte</emphasis> es auch m&ouml;glich sein,
alte Ports zu benutzen.</para>
<para>Bei der Aktualisierung eines bestehenden Systems auf Basis
von 4-STABLE, ist es unbedingt notwendig, die alten Dateien in
<filename>/usr/include</filename> zu l&ouml;schen. Im
allgemeinen ist es ausreichend, dieses Verzeichnis vor der
Installation bzw. vor dem
<maketarget>installworld</maketarget> zu entfernen. Wird das
Verzeichnis nicht entfernt, kann es zu Problemen kommen
(speziell mit C++-Programmen), da der Compiler dann einen Mix
aus alten und neuen Headerdateien verwendet.</para>
<para>Es gibt kein <filename>MAKEDEV</filename> mehr, weil es
nicht mehr ben&ouml;tigt wird. &os; &release.5x; benutzt ein
spezielles Dateisystem f&uuml;r Ger&auml;te, das die
entsprechenden Device Nodes bei Bedarf automatisch erzeugt.
Weitere Informationen finden Sie in &man.devfs.5;.</para>
<para>Alle mit &man.newfs.8; erzeugten Dateisysteme werden
standardm&auml;&szlig;ig im Format UFS2 angelegt. Diese gilt
auf allen Plattformen au&szlig;er PC98 auch f&uuml;r
Dateisysteme, die mit &man.sysinstall.8; erzeugt werden. Da
&os; &release.4x; nur UFS1 lesen kann, m&uuml;ssen alle
Dateisysteme, die sowohl mit &release.4x; als auch mit
&release.5x; nutzbar sein sollen, im Format UFS1 erzeugt
werden. Dieser Fall tritt typischerweise auf Systemen auf,
auf denen &release.4x; und &release.5x; installiert und
abwechselnd betrieben werden. In &man.newfs.8; steht dazu die
Option <option>-O1</option> zur Verf&uuml;gung, auch
&man.sysinstall.8; enth&auml;lt eine entsprechende Option.
Bitte beachten Sie, da&szlig; es kein Konvertierungsprogramm
zur Umwandlung von UFS1 nach UFS2 (oder umgekehrt) gibt, nur
die Variante Backup, Formatieren, Restore.</para>
</sect2>
</sect1>
<sect1 id="summary">
<title>Zusammenfassung</title>
<para>&os; &release.current; enth&auml;lt zwar viele interessante
Neuerungen, aber es ist noch nicht f&uuml;r alle Anwender
geeignet. Aus diesem Grund haben wir in diesem Dokument
Informationen &uuml;ber die Abl&auml;ufe bei der
Ver&ouml;ffentlichung einer neuen Version, die interessantesten
Neuerungen in den &release.5x; Versionen und wahrscheinliche
Probleme gegeben. Weiterhin enthielt er einen Ausblick auf die
Zukunft des Entwicklungszweiges 4-STABLE und Informationen
f&uuml;r Anwender, die schon jetzt umsteigen wollen.</para>
</sect1>
</article>
@@ -1,22 +0,0 @@
# $FreeBSD$
# $FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/errata/Makefile,v 1.4 2002/03/10 18:26:34 ue Exp $
# $Id: Makefile,v 1.5 2002/03/10 16:39:26 ue Exp $
# basiert auf: 1.5
RELN_ROOT?= ${.CURDIR}/../..
.ifdef NO_LANGCODE_IN_DESTDIR
DESTDIR?= ${DOCDIR}/errata
.else
DESTDIR?= ${DOCDIR}/de_DE.ISO8859-1/errata
.endif
DOC?= article
FORMATS?= html
INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=
# SGML content
SRCS+= article.sgml
.include "${RELN_ROOT}/share/mk/doc.relnotes.mk"
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
@@ -1,411 +0,0 @@
<!--
FreeBSD errata document. Unlike some of the other RELNOTESng
files, this file should remain as a single SGML file, so that
the dollar FreeBSD dollar header has a meaningful modification
time. This file is all but useless without a datestamp on it,
so we'll take some extra care to make sure it has one.
(If we didn't do this, then the file with the datestamp might
not be the one that received the last change in the document.)
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/errata/article.sgml,v 1.39 2003/05/24 13:23:46 ue Exp $
basiert auf: 1.38
-->
<!DOCTYPE ARTICLE PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN">
%man;
<!ENTITY % authors PUBLIC "-//FreeBSD//ENTITIES DocBook Author Entities//EN">
%authors;
<!ENTITY % translators PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//DE">
%translators;
<!ENTITY % mlists PUBLIC "-//FreeBSD//ENTITIES DocBook Mailing List Entities//DE">
%mlists;
<!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN">
%release;
]>
<article lang="de">
<articleinfo>
<title>&os;
<![ %release.type.snapshot [
&release.prev;
]]>
<![ %release.type.release [
&release.current;
]]>
Errata</title>
<authorgroup>
<corpauthor>Das &os; Projekt</corpauthor>
</authorgroup>
<pubdate>$FreeBSD$</pubdate>
<copyright>
<year>2000</year>
<year>2001</year>
<year>2002</year>
<year>2003</year>
<holder role="mailto:[email protected]">The FreeBSD Documentation Project</holder>
</copyright>
<copyright>
<year>2001</year>
<year>2002</year>
<year>2003</year>
<holder role="mailto:[email protected]">The FreeBSD German Documentation Project</holder>
</copyright>
</articleinfo>
<abstract>
<para>Dieses Dokument enth&auml;lt die Errata f&uuml;r &os;
<![ %release.type.current [
&release.prev;,
]]>
<![ %release.type.snapshot [
&release.prev;,
]]>
<![ %release.type.release [
&release.current;,
]]>
also wichtige Informationen, die kurz vor bzw. erst nach
der Ver&ouml;ffentlichung bekannt wurden. Dazu geh&ouml;ren
Ratschl&auml;ge zur Sicherheit sowie &Auml;nderungen in der
Software oder Dokumentation, welche die Stabilit&auml;t und die
Nutzung beeintr&auml;chtigen k&ouml;nnten. Sie sollten immer
die aktuelle Version dieses Dokumentes lesen, bevor sie diese
Version von &os; installieren.</para>
<para>Diese Errata f&uuml;r &os;
<![ %release.type.current [
&release.prev;
]]>
<![ %release.type.snapshot [
&release.prev;
]]>
<![ %release.type.release [
&release.current;
]]>
werden bis zum
Erscheinen von &os; 5.1-RELEASE weiter aktualisiert
werden.</para>
</abstract>
<sect1 id="intro">
<title>Einleitung</title>
<para>Diese Errata enthalten <quote>brandhei&szlig;e</quote>
Informationen &uuml;ber &os;
<![ %release.type.current [
&release.prev;.
]]>
<![ %release.type.snapshot [
&release.prev;.
]]>
<![ %release.type.release [
&release.current;.
]]>
Bevor Sie diese
Version installieren, sollten Sie auf jeden Fall dieses Dokument
lesen, um &uuml;ber Probleme informiert zu werden, die erst nach
der Ver&ouml;ffentlichung entdeckt (und vielleicht auch schon
behoben) wurden.</para>
<para>Die zusammen mit der Ver&ouml;ffentlichung erschienene
Version dieses Dokumentes (zum Beispiel die Version auf der
CDROM) ist per Definition veraltet. Allerdings sind im Internet
aktualisierte Versionen verf&uuml;gbar, die die <quote>aktuellen
Errata</quote> f&uuml;r diese Version sind. Diese Versionen
sind bei <ulink url="http://www.FreeBSD.org/releases/"></ulink>
und allen aktuellen Mirrors dieser Webseite
verf&uuml;gbar.</para>
<para>Die Snapshots von &os; &release.branch; (sowohl die der
Quelltexte als auch die der ausf&uuml;hrbaren Programme)
enthalten ebenfalls die zum Zeitpunkt ihrer
Ver&ouml;ffentlichung aktuelle Version dieses
Dokumentes.</para>
<para>Die Liste der &os; CERT security advisories finden Sie bei
<ulink url="http://www.FreeBSD.org/security/"></ulink> oder
<ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/"></ulink>.</para>
</sect1>
<sect1 id="security">
<title>Sicherheitshinweise</title>
<para>Ein &uuml;ber das Netzwerk nutzbarer Fehler in
<application>CVS</application> k&ouml;nnte dazu f&uuml;hren,
da&szlig; ein Angreifer beliebige Programme auf dem CVS Server
ausf&uuml;hren kann. Weitere Informationen finden Sie in <ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-03:01.cvs.asc">FreeBSD-SA-03:01</ulink>.</para>
<para>Durch Auswertung der Antwortzeiten von
<application>OpenSSL</application> w&auml;re es einem Angreifer
mit sehr viel Rechenleistung m&ouml;glich gewesen, unter
bestimmten Umst&auml;nden den Klartext der &uuml;bermittelten
Daten zu erhalten. Dieser Fehler wurde in &os;
&release.current; durch die neue
<application>OpenSSL</application> Version 0.9.7 behoben. Auf
den f&uuml;r Sicherheitsprobleme unterst&uuml;tzten
Entwicklungszweigen wurde der Fehler durch die neue
<application>OpenSSL</application> Version 0.9.6i behoben.
Weitere Informationen finden Sie in <ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-03:02.openssl.asc">FreeBSD-SA-03:02</ulink></para>
<para>Es ist theoretisch m&ouml;glich, da&szlig; ein Angreifer den
geheimen Schl&uuml;ssel ermittelt, der von der Erweiterung
<quote>syncookies</quote> genutzt wird. Dadurch sinkt deren
Effektivit&auml;t beim Schutz vor TCP SYN Flood
Denial-of-Service Angriffen. Hinweise, wie sie das Problem
umgehen k&ouml;nnen und weitere Informationen finden Sie in
<ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-03:03.syncookies.asc">FreeBSD-SA-03:03</ulink>.</para>
<para>Durch diverse Puffer-&Uuml;berl&auml;ufe in den von
<application>sendmail</application> genutzten Routinen zum
Parsen des Headers war es einen Angreifer m&ouml;glich, eine
speziell konstruierte Nachricht an &man.sendmail.8; zu senden
und so beliebige Programme ausf&uuml;hren zu lassen. Diese
Programme verf&uuml;gten &uuml;ber die Rechte des Benutzers,
unter dessen Kennung &man.sendmail.8; lief, also typischerweise
<username>root</username>. Weitere Informationen und Verweise
auf Patches finden Sie in <ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-03:04.sendmail.asc">FreeBSD-SA-03:04</ulink>
und <ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-03:07.sendmail.asc">FreeBSD-SA-03:07</ulink>.</para>
<para>Durch einen Puffer-&Uuml;berlauf im XDR Kodierer/Dekodierer
war es einem Angreifer m&ouml;glich, den Service zum Absturz zu
bringen. Informationen, wie Sie den Fehler beheben, finden Sie
in <ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-03:05.xdr.asc">FreeBSD-SA-03:05</ulink>.</para>
<para><application>OpenSSL</application> enth&auml;lt zwei
Schwachstellen, die erst vor kurzer Zeit bekannt gemacht wurden.
Informationen, wie Sie die Probleme umgehen k&ouml;nnen und
weitere Informationen finden Sie in <ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-03:06.openssl.asc">FreeBSD-SA-03:06</ulink>.</para>
</sect1>
<sect1 id="late-news">
<title>Aktuelle Informationen</title>
<bridgehead renderas="sect3">GEOM</bridgehead>
<para>Die auf &man.geom.4; basierenden Routinen des Kernel zur
Partitionierung erlauben es nicht, eine aktive Partition zu
&uuml;berschreiben. Mit anderen Worten, es ist in der Regel
nicht m&ouml;glich, den Bootsektor einer Festplatte mit
<command>disklabel -B</command> zu aktualisieren, da die
Partition <literal>a</literal> auch den Bereich enth&auml;lt, in
dem die Bootsektoren gespeichert sind. Um dieses Problem zu
umgehen, sollten Sie von einer anderen Platte, einer CD oder der
Fixit-Diskette booten.</para>
<bridgehead renderas="sect3">&man.dump.8;</bridgehead>
<para>Werden Festplatten und &auml;hnliche Medien mit einer
Blockgr&ouml;&szlig;e von mehr als 512 Byte benutzt (zum
Beispiel mit &man.geom.4; verschl&uuml;sselte Partitionen),
behandelt &man.dump.8; die gr&ouml;&szlig;eren Sektoren nicht
korrekt und kann daher das Dateisystem nicht dumpen. Eine
M&ouml;glichkeit, das Problem zu umgehen, ist die Erzeugung einer
<quote>rohen</quote> Kopie des gesamten Dateisystems, die dann
als Eingabedatei f&uuml;r &man.dump.8; dient. Es ist
m&ouml;glich, ein komplettes Dateisystem in einer normalen Datei
zu speichern:</para>
<screen>&prompt.root; <userinput>dd if=/dev/ad0s1d.bde of=/junk/ad0.dd bs=1m</userinput>
&prompt.root; <userinput>dump 0f - /junk/ad0.dd | ...</userinput></screen>
<para>Eine etwas einfachere L&ouml;sung ist, &man.tar.1; oder
&man.cpio.1; zur Erzeugung des Backups zu verwende.</para>
<bridgehead renderas="sect3">&man.mly.4;</bridgehead>
<para>Es gibt Berichte, da&szlig; sich Systeme bei der
Installation von &os; 5.0 Snapshots auf RAIDs an
&man.mly.4;-kompatiblen Controller aufgeh&auml;ngt haben, obwohl
die Systeme problemlos mit 4.7-RELEASE zusammenarbeiten. Dieser
Fehler wurde in &os; &release.current; bereits behoben.</para>
<bridgehead renderas="sect3">NETNCP/Unterst&uuml;tzung des
Dateisystems</bridgehead>
<para>NETNCP und nwfs sind offenbar noch nicht an KSE
angepa&szlig;t worden und funktionieren daher nicht. Dieser
Fehler wurde in &os; &release.current; bereits behoben.</para>
<bridgehead renderas="sect3">&man.iir.4; Controller</bridgehead>
<para>Bei der Installation scheinen &man.iir.4;-Controller korrekt
erkannt zu werden, allerdings finden Sie keine der
angeschlossenen Festplatten.</para>
<bridgehead renderas="sect3">Timing-Probleme in
&man.truss.1;</bridgehead>
<para>Es scheint ein Timing-Problem beim Start des Debuggings mit
&man.truss.1; zu geben, durch das &man.truss.1; manchmal nicht
in der Lage ist, eine Verbindung zu einem Proze&szlig;
aufzubauen, bevor er gestartet wird. In diesem Fall meldet
&man.truss.1;, da&szlig; es die &man.procfs.5; Node f&uuml;r den
zu debuggenden Proze&szlig; nicht &ouml;ffnen kann. Es scheint
einen weiteren Fehler zu geben, durch den &man.truss.1; sich
aufh&auml;ngt, wenn &man.execve.2; den Wert
<literal>ENOENT</literal> zur&uuml;ckgibt. Ein weiteres
Timing-Problem f&uuml;hrt dazu, da&szlig; &man.truss.1; beim
Start manchmal <errorname>PIOCWAIT: Input/output
error</errorname> meldet. Es existieren zwar Korrekturen
f&uuml;r diese Probleme, da diese aber zu sehr in die Routinen
zur Ausf&uuml;hrung von Prozessen eingreifen, werden sie erst
nach dem Erscheinen von 5.0 ins System aufgenommen.</para>
<bridgehead renderas="sect3">Partitionierung von Festplatten durch
das Installationsprogramm</bridgehead>
<para>Es gibt einige Meldungen &uuml;ber Fehler bei der
Partitionierung von Festplatten mit &man.sysinstall.8;. Eines
der Probleme ist, da&szlig; &man.sysinstall.8; den freien Platz
auf einer Festplatten nicht neu berechnen kann, nachdem der Typ
einer FDISK-Partition ge&auml;ndert wurde.</para>
<bridgehead renderas="sect3">Veraltete Dokumentation</bridgehead>
<para>In einigen F&auml;llen wurde die Dokumentation (wie zum
Beispiel die FAQ und das Handbuch) nicht aktualisiert und geht
nicht auf die Neuerungen in &os; &release.prev; ein. Zum
Beispiel fehlt noch Dokumentation zu &man.gbde.8; und den neuen
<quote>fast IPsec</quote> Routinen.</para>
<bridgehead renderas="sect3">SMB Dateisystem</bridgehead>
<para>Ab und zu kommt beim Versuch, die Verbindung zu einem SMBFS
Share zu trennen, die Meldung <errorname>Device
busy</errorname>, obwohl das Share nicht benutzt wird. Die
einzige L&ouml;sung f&uuml;r dieses Problem ist, die Operation
so lange zu wiederholen, bis die Verbindung getrennt wird.
Dieser Fehler wurde in &release.current; bereits behoben.</para>
<para>Der Versuch, die Trennung der Verbindung zu einem SMBFS
Share mit <command>umount -f</command> zu erzwingen, kann zu
einer Kernel Panic f&uuml;hren. Dieser Fehler wurde in
&release.current; bereits behoben.</para>
<bridgehead renderas="sect3">&man.fstat.2;</bridgehead>
<para>Wird &man.fstat.2; auf einen Socket angewendet, f&uuml;r den
bereits eine Verbindung besteht, sollte es die Anzahl der zum
Lesen verf&uuml;gbaren Zeichen in dem Feld
<varname>st_size</varname> der Struktur <varname>struct
stat</varname> zur&uuml;ckgeben. Leider wird bei TCP Sockets immer ein
<varname>st_size</varname> von <literal>0</literal> gemeldet.
Dieser Fehler wurde in &release.current; bereits behoben.</para>
<bridgehead renderas="sect3">Kernel Event Queues</bridgehead>
<para>Der zu &man.kqueue.2; geh&ouml;rende Filter
<literal>EVFILT_READ</literal> meldet f&auml;lschlicherweise
immer, da&szlig; an einem TCP Socket <literal>0</literal>
Zeichen zum Lesen bereitstehen, auch wenn in Wirklichkeit
Zeichen zum Lesen verf&uuml;gbar sind. Die bei
<literal>EVFILT_READ</literal> verf&uuml;gbare Option
<literal>NOTE_LOWAT</literal> arbeitet bei TCP Sockets ebenfalls
fehlerhaft. Dieser Fehler wurde in &release.current; bereits
behoben.</para>
<bridgehead renderas="sect3">POSIX Named Semaphores</bridgehead>
<para>Eine der Neuerungen in &os; &release.prev; ist die
Unterst&uuml;tzung f&uuml;r Named Semaphores nach POSIX. Die
Routinen enthalten leider einen Fehler, durch den sich
&man.sem.open.3; falsch verhalten kann, wenn eine Semaphore von
einem Proze&szlig; mehrfach ge&ouml;ffnet wird und durch den
&man.sem.close.3; zum Absturz des Programms f&uuml;hren kann.
Dieser Fehler wurde in &release.current; bereits behoben.</para>
<bridgehead renderas="sect3">Zugriffsrechte f&uuml;r
<filename>/dev/tty</filename></bridgehead>
<para>&os; &release.prev; enth&auml;lt einen kleinen Fehler im
Bereich der Berechtigungen von <filename>/dev/tty</filename>.
Dieser Fehler tritt auf, wenn sich ein Benutzer einloggt, der
weder <username>root</username> noch Mitglied der Gruppe
<groupname>tty</groupname> ist. Wechselt dieser Benutzer nun mit
&man.su.1; zu einer anderen Benutzerkennung, die ebenfalls
weder <username>root</username> noch Mitglied der Gruppe
<groupname>tty</groupname> ist, kann er &man.ssh.1; nicht
nutzen, da es <filename>/dev/tty</filename> nicht &ouml;ffnen
kann. Dieser Fehler wurde in &release.current; bereits
behoben.</para>
<bridgehead renderas="sect3">&man.growfs.8;</bridgehead>
<para>&man.growfs.8; funktioniert auf &man.vinum.4; Partitionen
nicht mehr, da auf ihnen kein Disklabel mehr emuliert wird und
&man.growfs.8; das Disklabel analysieren will. Das Problem
betrifft wahrscheinlich auch alle anderen Massenspeicher,
f&uuml;r die &man.geom.4; benutzt wird.</para>
<bridgehead renderas="sect3">IPFW</bridgehead>
<para>&man.ipfw.4; <literal>skipto</literal> Regeln funktionieren
nicht, wenn gleichzeitig das Schl&uuml;sselwort
<literal>log</literal> verwendet wird. Auch die
<literal>uid</literal> funktionieren nicht richtig. Diese Fehler
wurden in &release.current; bereits behoben.</para>
<bridgehead renderas="sect3"> &man.adduser.8; und
Pa&szlig;w&ouml;rter</bridgehead>
<para>&man.adduser.8; kann das Pa&szlig;wort eines neu angelegten
Benutzers nicht setzen, wenn dieses Sonderzeichen der Shell
enth&auml;lt. Dieser Fehler wurde in &release.current; bereits
behoben.</para>
<bridgehead renderas="sect3">&man.xl.4;</bridgehead>
<para>Der Treiber &man.xl.4; enth&auml;lt einen Fehler, der zu
einem Absturz des Systems mit der Meldung <errorname>kernel
panic</errorname> und anderen Problemen f&uuml;hren kann, wenn
man versucht, ein Netzwerk-Interface zu konfigurieren. Dieser
Fehler wurde in &release.current; bereits behoben.</para>
<bridgehead renderas="sect3">ISC DHCP</bridgehead>
<para><application>ISC DHCP</application> steht jetzt in der
Version 3.0.1rc11 zur Verf&uuml;gung. Diese Aktualisierung
erfolgte bereits in &os; &release.prev;, wurde aber nicht in
den Release Notes dokumentiert.</para>
<bridgehead renderas="sect3">Kompatibilit&auml;tsprobleme bei
&man.amd.8;</bridgehead>
<para>Der nicht-blockierende Teil der RPC-Routinen in
&release.prev; ist fehlerhaft. Einer der auff&auml;lligsten
Effekte dieser Fehler ist, da&szlig; Anwender von &man.amd.8;
nicht in der Lage sind, Dateisysteme von einem &release.prev;
Server zu mounten. Dieser Fehler wurde in &release.current;
bereits behoben.</para>
<bridgehead renderas="sect3">nsswitch</bridgehead>
<para>Im Eintrag f&uuml;r <application>nsswitch</application> in
den Release Notes wurde ein falscher Name f&uuml;r die bisher
genutzte Konfigurationsdatei genannt. Die bisher genutzte
Konfigurationsdatei ist
<filename>/etc/host.conf</filename>.</para>
<bridgehead renderas="sect3">Mailman</bridgehead>
<para>Die &os; Mailinglisten werden jetzt mit Mailman und nicht
mehr mit Majordomo verwaltet. Weitere Informationen finden sie
auf der <ulink
url="http://www.FreeBSD.org/mailman/listinfo/">FreeBSD Mailman
Info Page</ulink>.</para>
</sect1>
</article>
@@ -1,14 +0,0 @@
# $FreeBSD$
# $FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/Makefile,v 1.4 2002/11/09 18:00:42 ue Exp $
# basiert auf: 1.5
RELN_ROOT?= ${.CURDIR}/../..
SUBDIR = alpha
SUBDIR+= ia64
SUBDIR+= i386
SUBDIR+= pc98
SUBDIR+= sparc64
.include "${RELN_ROOT}/share/mk/doc.relnotes.mk"
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
@@ -1,11 +0,0 @@
# $FreeBSD$
# $FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/Makefile.inc,v 1.2 2002/03/10 18:41:33 ue Exp $
# $Id: Makefile.inc,v 1.5 2002/03/10 15:37:14 ue Exp $
# basiert auf: 1.2
.ifdef NO_LANGCODE_IN_DESTDIR
DESTDIR?= ${DOCDIR}/hardware/${.CURDIR:T}
.else
DESTDIR?= ${DOCDIR}/de_DE.ISO8859-1/hardware/${.CURDIR:T}
.endif
@@ -1,23 +0,0 @@
# $FreeBSD$
# $FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/alpha/Makefile,v 1.3 2002/03/10 18:41:33 ue Exp $
# $Id: Makefile,v 1.6 2002/03/10 15:37:14 ue Exp $
# basiert auf: 1.6
RELN_ROOT?= ${.CURDIR}/../../..
DOC?= article
FORMATS?= html
INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=
JADEFLAGS+= -V %generate-article-toc%
# SGML content
SRCS+= article.sgml
SRCS+= proc-alpha.sgml
SRCS+= ../common/hw.ent
SRCS+= ../common/artheader.sgml
SRCS+= ../common/dev.sgml
.include "${RELN_ROOT}/share/mk/doc.relnotes.mk"
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
@@ -1,32 +0,0 @@
<!--
$FreeBSD$
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/alpha/article.sgml,v 1.5 2002/10/12 18:02:21 ue Exp $
basiert auf: 1.4
-->
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN">
%man;
<!ENTITY % authors PUBLIC "-//FreeBSD//ENTITIES DocBook Author Entities//EN">
%authors;
<!ENTITY % translators PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//DE">
%translators;
<!ENTITY % mlists PUBLIC "-//FreeBSD//ENTITIES DocBook Mailing List Entities//DE">
%mlists;
<!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN">
%release;
<!ENTITY % sections SYSTEM "../common/hw.ent"> %sections;
<!-- Architecture-specific customization -->
<!ENTITY arch "alpha">
<!ENTITY arch.print "Alpha/AXP">
]>
<article lang="de">
&artheader;
&sect.intro;
&sect.proc.alpha;
&sect.dev;
</article>
File diff suppressed because it is too large. Load diff
@@ -1,33 +0,0 @@
<!--
$FreeBSD$
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/common/artheader.sgml,v 1.4 2003/01/09 12:14:47 ue Exp $
basiert auf: 1.4
-->
<articleinfo>
<title>&os;/&arch; &release.current; Hardware Information</title>
<corpauthor>The FreeBSD German Documentation Project</corpauthor>
<copyright>
<year>2000</year>
<year>2001</year>
<year>2002</year>
<year>2003</year>
<holder role="mailto:[email protected]">The FreeBSD Documentation
Project</holder>
</copyright>
<copyright>
<year>2002</year>
<year>2003</year>
<holder role="mailto:[email protected]">The
FreeBSD German Documentation Project</holder>
</copyright>
</articleinfo>
File diff suppressed because it is too large. Load diff
@@ -1,20 +0,0 @@
<!-- -*- sgml -*- -->
<!--
$FreeBSD$
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/common/hw.ent,v 1.4 2002/07/08 18:42:56 ue Exp $
basiert auf: 1.4
-->
<!-- Text constants which probably don't need to be changed.-->
<!-- Files to be included -->
<!ENTITY artheader SYSTEM "../common/artheader.sgml">
<!ENTITY sect.intro SYSTEM "../common/intro.sgml">
<!ENTITY sect.proc.alpha SYSTEM "../alpha/proc-alpha.sgml">
<!ENTITY sect.proc.i386 SYSTEM "../i386/proc-i386.sgml">
<!ENTITY sect.proc.ia64 SYSTEM "../ia64/proc-ia64.sgml">
<!ENTITY sect.proc.pc98 SYSTEM "../pc98/proc-pc98.sgml">
<!ENTITY sect.proc.sparc64 SYSTEM "../sparc64/proc-sparc64.sgml">
<!ENTITY sect.dev SYSTEM "../common/dev.sgml">
@@ -1,30 +0,0 @@
<!--
$FreeBSD$
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/common/intro.sgml,v 1.6 2003/05/24 21:35:15 ue Exp $
basiert auf: 1.6
-->
<sect1 id="intro">
<title>Einf&uuml;hrung</title>
<para>Dieses Dokument enth&auml;lt die Liste der unterst&uuml;tzen
Ger&auml;te f&uuml;r &os; &release.current; auf &arch.print;
Systemen (meistens einfach &os;/&arch; &release.current; genannt).
Hier finden Sie zum einen alle die Ger&auml;te, von denen wir
wissen, da&szlig; Sie funktionieren; zum anderen finden Sie hier
Hinweise, wie Sie den Kernel anpassen k&ouml;nnen, wenn Sie ein
bisher noch nicht unterst&uuml;tztes Ger&auml;t verwenden
wollen.</para>
<note>
<para>Dieses Dokument enth&auml;lt Informationen f&uuml;r
&arch.print; Systeme. Andere Versionen dieses Dokumentes, die
f&uuml;r andere Plattformen gedacht sind, werden in vielen
Punkten von diesem Dokument abweichen.</para>
</note>
<para arch="ia64">Weitergehende Informationen &uuml;ber &os;/&arch;
finden Sie auf den Webseiten des <ulink
url="http://www.FreeBSD.org/platforms/ia64/index.html">&os;/&arch;
Project</ulink>.</para>
</sect1>
@@ -1,23 +0,0 @@
# $FreeBSD$
# $FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/i386/Makefile,v 1.2 2002/03/10 18:41:36 ue Exp $
# $Id: Makefile,v 1.3 2002/03/10 15:37:15 ue Exp $
# basiert auf: 1.5
RELN_ROOT?= ${.CURDIR}/../../..
DOC?= article
FORMATS?= html
INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=
JADEFLAGS+= -V %generate-article-toc%
# SGML content
SRCS+= article.sgml
SRCS+= proc-i386.sgml
SRCS+= ../common/hw.ent
SRCS+= ../common/artheader.sgml
SRCS+= ../common/dev.sgml
.include "${RELN_ROOT}/share/mk/doc.relnotes.mk"
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
@@ -1,30 +0,0 @@
<!--
$FreeBSD$
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/i386/article.sgml,v 1.5 2002/12/07 21:09:09 ue Exp $
basiert auf: 1.4
-->
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN">
%man;
<!ENTITY % authors PUBLIC "-//FreeBSD//ENTITIES DocBook Author Entities//EN">
%authors;
<!ENTITY % mlists PUBLIC "-//FreeBSD//ENTITIES DocBook Mailing List Entities//DE">
%mlists;
<!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN">
%release;
<!ENTITY % sections SYSTEM "../common/hw.ent"> %sections;
<!-- Architecture-specific customization -->
<!ENTITY arch "i386">
<!ENTITY arch.print "i386">
]>
<article lang="de">
&artheader;
&sect.intro;
&sect.proc.i386;
&sect.dev;
</article>
@@ -1,117 +0,0 @@
<!--
$FreeBSD$
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/i386/proc-i386.sgml,v 1.13 2003/05/24 21:49:22 ue Exp $
basiert auf: 1.11
-->
<sect1 id="proc">
<title>Unterst&uuml;tzte Prozessoren und Mainboards</title>
<para>&os;/i386 kann auf vielen <quote>IBM PC kompatiblen</quote>
Maschinen benutzt werden. Es ist nicht m&ouml;glich, hier alle
unterst&uuml;tzten Kombinationen aufzuf&uuml;hren, die von &os;
unterst&uuml;tzt werden, da es viel zu viele M&ouml;glichkeiten
gibt. Dennoch ist es m&ouml;glich, einige allgemeine Hinweise zu
geben.</para>
<para>Fast alle i386-kompatiblen Prozessoren werden
unterst&uuml;tzt. Alle Prozessoren von Intel ab dem 80386 werden
unterst&uuml;tzt, also 80386, 80486, Pentium, Pentium Pro, Pentium
II, Pentium III, Pentium 4, und die Modellvarianten dieser
Prozessoren, wie der Xeon und Celeron. Der 80386sx wird zwar
unterst&uuml;tzt, wir raten aber dringend von der Verwendung
dieser CPU ab). Alle i386-kompatiblen Prozessoren von AMD werden
unterst&uuml;tzt, dazu geh&ouml;ren Am486, Am5x86, K5, K6 (alle
Varianten), Athlon (einschlie&szlig;lich Athlon-MP, Athlon-XP,
Athlon-4 und Athlon Thunderbird) und Duron. Der integrierte
Prozessor AMD &Eacute;lan SC520 wird unterst&uuml;tzt. Der
Transmeta Crusoe wird erkannt und unterst&uuml;tzt, das gleiche
gilt f&uuml;r die i386-kompatiblen Prozessoren von Cyrix und
NexGen.</para>
<para>F&uuml;r diese Plattform gibt es ganz Reihe verschiedener
Mainboards. F&uuml;r Mainboards mit ISA, VLB, EISA, AGP, und PCI
Steckpl&auml;tzen ist die Unterst&uuml;tzung ausgezeichnet. Der
MCA (<quote>MicroChannel</quote>) Bus, der in den IBM PS/2
Computern zu finden ist, wird nur teilweise
unterst&uuml;tzt.</para>
<para>Symmetrische Multi-Prozessor (SMP) Systeme werden im
allgemeinen von &os; unterst&uuml;tzt. Allerdings kommt es in
einigen F&auml;llen zu Problemen, weil das BIOS oder das Mainboard
fehlerhaft sind. Ein Blick in der Archive der Mailingliste &a.smp;
kann hier weiterhelfen.</para>
<para>&os; nutzt HyperThreading (HTT) auf Intel CPUs, wenn die CPU
dies unterst&uuml;tzt. Wenn in der Konfigurationsdatei f&uuml;r
den angepa&szlig;ten Kernel die Zeile
<literal>options&nbsp;SMP</literal> angegeben ist, erkennt und
aktiviert der Kernel die zus&auml;tzlichen logischen Prozessoren.
Der Standard-Scheduler in &os; behandelt diese logischen
Prozessoren genau so wie zus&auml;tzliche physikalische
Prozessoren. Mit anderen Worten, der Scheduler
ber&uuml;cksichtigt bei seinen Entscheidungen nicht, da&szlig;
sich die logischen Prozessoren auf einer CPU bestimmte Ressourcen
teilen. Da dieses sehr einfache Vorgehen zu schlechter
Performance f&uuml;hren kann, werden die logischen CPUs beim
Systemstart standardm&auml;&szlig;ig deaktiviert. Sie k&ouml;nnen
mit der sysctl-Variable
<varname>machdep.hlt_logical_cpus</varname> aktiviert werden. Es
ist au&szlig;erdem m&ouml;glich, jede CPU anzuhalten, die sich im
Idle-Loop befindet, dazu dient die sysctl-Variable
<varname>machdep.hlt_cpus</varname>. Weitere Informationen finden
Sie in &man.smp.4;.</para>
<para>Unterst&uuml;tzt die CPU die Physical Address Extension (PAE),
kann &os; diese Erweiterung nutzen, wenn in der
Konfigurationsdatei f&uuml;r den angepa&szlig;ten Kernel die
Option <literal>PAE</literal> angegeben wird. In diesem Fall
wird der Speicher oberhalb von 4 GByte erkannt und steht f&uuml;r
die Nutzung durch das System zur Verf&uuml;gung. Allerdings sind
nicht alle Teile von &os; und alle Treiber kompatibel zu
<literal>PAE</literal>. Weitere Informationen finden Sie in
&man.pae.4;.</para>
<para>&os; l&auml;uft normalerweise auf Laptops mit i386-Prozessoren,
allerdings gibt es keinen einheitlichen Standard f&uuml;r die
Unterst&uuml;tzung bestimmter Ausstattungsmerkmale wie Audio,
Grafik, Power Management und PCCARD Steckpl&auml;tzen. Diese
Merkmale sind von Maschine zu Maschine verschiedenen. In vielen
F&auml;llen ist es sogar notwendig, &os; speziell anzupassen, um
Fehlern in der Hardware und anderen Merkw&uuml;rdigkeiten
auszuweichen. Im Zweifelsfalle kann ein Blick in der Archive der
Mailingliste &a.mobile; weiterhelfen.</para>
<para>Die meisten aktuellen Laptops (und auch f&uuml;r den
Schreibtisch vorgesehene Ger&auml;te) unterst&uuml;tzen den
Advanced Configuration and Power Management (ACPI) Standard. Wie
in &man.acpi.4; beschrieben, nutzt &os; die von Intel
ver&ouml;ffentlichte Referenz-Implementierung &quot;ACPI Component
Architecture&quot;, um ACPI unterst&uuml;tzen zu k&ouml;nnen.
Leider kann es durch die Benutzung von ACPI auf einigen Systemen
zu Stabilit&auml;tsproblemen kommen, die es notwendig machen, den
ACPI-Treiber abzuschalten. Dieser wird normalerweise beim
Systemstart als Kernel-Modul geladen. Um ihn abzuschalten,
m&uuml;ssen Sie die folgende Zeile in die Datei
<filename>/boot/device.hints</filename> eintragen:</para>
<programlisting>hint.acpi.0.disabled="1"</programlisting>
<para>Wenn Sie ein Problem im Zusammenhang mit ACPI l&ouml;sen
wollen, kann es helfen, Teile der ACPI-Funktionen abzuschalten.
Informationen, welche der Einstellungen im Bootloader daf&uuml;r
verantwortlich sind, finden Sie in der Onlinehilfe zu
&man.acpi.4;</para>
<para>ACPI braucht zur korrekten Funktion die Differentiated System
Descriptor Table (DSDT), die vom BIOS bereitgestellt wird. Einige
Systemen haben fehlerhafte oder unvollst&auml;ndige DSDTs, daher
kann ACPI auf diesen Maschinen nicht korrekt funktionieren.
Korrigierte DSDTs f&uuml;r einige Maschinen sind im Bereich <ulink
url="http://acpi.sourceforge.net/dsdt/index.php">DSDT</ulink> der
Webseiten des <ulink
url="http://acpi.sourceforge.net/">ACPI4Linux</ulink> Projekts
verf&uuml;gbar. &os; kann diese DSDTs an Stelle der vom BIOS
bereitgestellten DSDT nutzen, weitere Informationen dazu finden
Sie in der Onlinehilfe zu &man.acpi.4;</para>
</sect1>
@@ -1,23 +0,0 @@
# $FreeBSD$
# $FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/ia64/Makefile,v 1.2 2002/03/10 18:41:37 ue Exp $
# $Id: Makefile,v 1.2 2002/03/10 15:37:16 ue Exp $
# basiert auf: 1.2
RELN_ROOT?= ${.CURDIR}/../../..
DOC?= article
FORMATS?= html
INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=
JADEFLAGS+= -V %generate-article-toc%
# SGML content
SRCS+= article.sgml
# SRCS+= proc-ia64.sgml
SRCS+= ../common/hw.ent
SRCS+= ../common/artheader.sgml
SRCS+= ../common/dev.sgml
.include "${RELN_ROOT}/share/mk/doc.relnotes.mk"
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
@@ -1,40 +0,0 @@
<!--
$FreeBSD$
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/ia64/article.sgml,v 1.6 2003/05/24 21:52:46 ue Exp $
basiert auf: 1.3
-->
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN">
%man;
<!ENTITY % authors PUBLIC "-//FreeBSD//ENTITIES DocBook Author Entities//EN">
%authors;
<!ENTITY % mlists PUBLIC "-//FreeBSD//ENTITIES DocBook Mailing List Entities//DE">
%mlists;
<!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN">
%release;
<!ENTITY % sections SYSTEM "../common/hw.ent"> %sections;
<!-- Architecture-specific customization -->
<!ENTITY arch "ia64">
<!ENTITY arch.print "IA-64">
]>
<article lang="de">
&artheader;
<abstract>
<para>Dieses Dokument befindet sich noch in einem sehr fr&uuml;hen
Stadium. Die Angaben sind unvollst&auml;ndig und m&uuml;ssen
dringend erweitert werden. Wenn Sie Informationen &uuml;ber
&os; &arch.print; Prozessoren, Mainboards und andere Ger&auml;te
haben, die mit &os; funktionieren, senden Sie sie bitte an die
&a.ia64; Mailingliste.</para>
</abstract>
&sect.intro;
&sect.proc.ia64;
&sect.dev;
</article>
@@ -1,108 +0,0 @@
<!--
$FreeBSD$
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/ia64/proc-ia64.sgml,v 1.5 2003/05/24 22:16:24 ue Exp $
basiert auf: 1.7
-->
<sect1 id="proc-ia64">
<title>Unterst&uuml;tzte Prozessoren und Mainboards</title>
<para>Zur Zeit werden die <ulink
url="http://www.intel.com/design/itanium/itanium/index.htm">Itanium</ulink>
und <ulink
url="http://www.intel.com/design/itanium2/index.htm">Itanium
2</ulink> Prozessoren unterst&uuml;tzt. Die folgenden
Mainboard-Chips&auml;tze werden unterst&uuml;tzt:</para>
<itemizedlist>
<listitem>
<para>HP zx1 (nur auf dem Entwicklungszweig, weitere
Informationen finden Sie im <ulink
url="http://perforce.freebsd.org/">Perforce
repository</ulink>) </para>
</listitem>
<listitem>
<para>HP i2000</para>
</listitem>
<listitem>
<para>Intel 460GX</para>
</listitem>
<listitem>
<para>Intel E8870</para>
</listitem>
</itemizedlist>
<para>Zur Zeit wird sowohl an Ein-Prozessor (UP) als auch an
Mehr-Prozessor Systemen gearbeitet. Letztere sind zur Zeit
weniger stabil. Zur Zeit konzentriert sich die Arbeit auf
Verbesserungen f&uuml;r UP-Systeme, um deren Stabilit&auml;t zu
erh&ouml;hen.</para>
<sect2>
<title>&Uuml;bersicht &uuml;ber die unterst&uuml;tzten
Systeme</title>
<para>Dieser Abschnitt enth&auml;lt zus&auml;tzliche Informationen
dar&uuml;ber, welche Ger&auml;te von &os;/&arch;
unterst&uuml;tzt werden und welche nicht.</para>
<para>Mit Ausnahme der in die PC-Chips&auml;tze integrierten
Varianten sollten alle &man.ata.4; Kontroller sofort
funktionieren. Wir gehen davon aus, da&szlig; fr&uuml;her oder
sp&auml;ter alle &arch;-kompatiblen Kontroller vollst&auml;ndig
unterst&uuml;tzt werden. In den folgenden Abschnitten finden
Sie genauere Informationen &uuml;ber die verschiedenen
Festplattencontroller und ihren aktuellen Status.</para>
<para>Ganz generell sollten serielle Schnittstellen nach
<quote>PC-Standard</quote> auf Intel-Hardware funktionieren,
w&auml;hrend sie auf PA-Hardware nicht funktionieren werden.
Der Grund ist, da&szlig; auf HP-Maschinen alle Ger&auml;te in
den Speicher eingeblendet werden. Mit Ausnahme der von PCI
verlangten VGA-Unterst&uuml;tzung gibt es
<emphasis>keinerlei</emphasis> Unterst&uuml;tzung f&uuml;r
ISA-Ger&auml;te.</para>
<para>Au&szlig;er den schon genannten seriellen Schnittstellen mit
&man.sio.4;-Treiber gibt es eine Reihe weiterer Ger&auml;ten,
von denen wir wissen, da&szlig; sie auf Nicht-Intel Systemen
nicht funktionieren k&ouml;nnen, weil sie sich auf
ISA-spezifische Begebenheiten verlassen, die nicht mehr
zutreffen. Diese Ger&auml;te sollten jedoch auf Intel-Hardware
funktionieren.</para>
<informaltable frame="none">
<tgroup cols="2">
<tbody>
<row>
<entry>&man.sio.4;</entry>
<entry>Keine Unterst&uuml;tzung f&uuml;r I/O durch in den
Hauptspeicher eingeblendete Bereiche</entry>
</row>
<row>
<entry>&man.syscons.4;</entry>
<entry>Erwartet ein BIOS, VGA-Erkennung, etc.</entry>
</row>
<row>
<entry>&man.pcm.4;</entry>
<entry>Pr&uuml;ft MSS ISA Ports <emphasis>bis zum
Erbrechen</emphasis></entry>
</row>
<row>
<entry>&man.atkbd.4;, &man.psm.4;</entry>
<entry>Fest verdrahte ISA-Adressen</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
</sect1>
@@ -1,22 +0,0 @@
# $FreeBSD$
# $FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/pc98/Makefile,v 1.1 2002/07/08 18:41:44 ue Exp $
# basiert auf: 1.1
RELN_ROOT?= ${.CURDIR}/../../..
DOC?= article
FORMATS?= html
INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=
JADEFLAGS+= -V %generate-article-toc%
# SGML content
SRCS+= article.sgml
SRCS+= proc-pc98.sgml
SRCS+= ../common/hw.ent
SRCS+= ../common/artheader.sgml
SRCS+= ../common/dev.sgml
.include "${RELN_ROOT}/share/mk/doc.relnotes.mk"
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
@@ -1,30 +0,0 @@
<!--
$FreeBSD$
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/pc98/article.sgml,v 1.2 2002/10/12 18:02:22 ue Exp $
basiert auf: 1.1
-->
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN">
%man;
<!ENTITY % authors PUBLIC "-//FreeBSD//ENTITIES DocBook Author Entities//EN">
%authors;
<!ENTITY % mlists PUBLIC "-//FreeBSD//ENTITIES DocBook Mailing List Entities//DE">
%mlists;
<!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN">
%release;
<!ENTITY % sections SYSTEM "../common/hw.ent"> %sections;
<!-- Architecture-specific customization -->
<!ENTITY arch "pc98">
<!ENTITY arch.print "NEC PC-98x1">
]>
<article lang="de">
&artheader;
&sect.intro;
&sect.proc.pc98;
&sect.dev;
</article>
@@ -1,36 +0,0 @@
<!--
$FreeBSD$
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/pc98/proc-pc98.sgml,v 1.3 2003/01/13 20:30:49 ue Exp $
basiert auf: 1.4
-->
<sect1 id="support-sys">
<title>Unterst&uuml;tzte Systeme</title>
<para>NEC PC-9801/9821 Systeme mit fast allen i386-kompatiblen
Prozessoren, dazu geh&ouml;ren unter anderem 80386, 80486,
Pentium, Pentium Pro und Pentium II inklusive aller Varianten.
Die i386-kompatiblen Prozessoren von AMD, Cyrix, IBM und IDT
werden ebenfalls unterst&uuml;tzt.</para>
<para>NEC FC-9801/9821 und NEC SV-98 (beide sind mit der
PC-9801/9821 Familie kompatibel) sollten auch unterst&uuml;tzt
werden.</para>
<para>Die EPSON PC-386/486/586 Familien sind kompatibel zur NEC
PC-9801 Familie und sollten auch unterst&uuml;tzt werden.</para>
<para>Der hochaufl&ouml;sende Modus wird nicht unterst&uuml;tzt.
Die Familien NEC PC-98XA/XL/RL/XL^2 und NEC PC-H98 werden nur im
normalen (PC-9801 kompatiblen) Modus unterst&uuml;tzt.</para>
<para>Es gibt zwar einige Mehrprozessorsysteme (wie Rs20/B20), die
SMP-F&auml;higkeiten in &os; werden allerdings noch nicht
unterst&uuml;tzt.</para>
<para>Der Standard-Bus des PC-9801/9821 (der sogenannte C-Bus), der
Erweiterungsbus des PC9801NOTE (110 Pin) und der PCI-Bus werden
unterst&uuml;tzt. Der New Extended Standard Architecture (NESA)
Bus (wird in den Familien PC-H98, SV-H98 und FC-H98 genutzt) wird
noch nicht unterst&uuml;tzt.</para>
</sect1>
@@ -1,22 +0,0 @@
# $FreeBSD$
# $FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/sparc64/Makefile,v 1.3 2003/01/09 12:47:37 ue Exp $
# basiert auf: 1.3
RELN_ROOT?= ${.CURDIR}/../../..
DOC?= article
FORMATS?= html
INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=
JADEFLAGS+= -V %generate-article-toc%
# SGML content
SRCS+= article.sgml
SRCS+= proc-sparc64.sgml
SRCS+= ../common/hw.ent
SRCS+= ../common/artheader.sgml
SRCS+= ../common/dev.sgml
.include "${RELN_ROOT}/share/mk/doc.relnotes.mk"
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
@@ -1,29 +0,0 @@
<!--
$FreeBSD$
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/sparc64/article.sgml,v 1.7 2003/01/09 12:46:28 ue Exp $
basiert auf: 1.3
-->
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN">
%man;
<!ENTITY % authors PUBLIC "-//FreeBSD//ENTITIES DocBook Author Entities//EN">
%authors;
<!ENTITY % mlists PUBLIC "-//FreeBSD//ENTITIES DocBook Mailing List Entities//DE">
%mlists;
<!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN">
%release;
<!ENTITY % sections SYSTEM "../common/hw.ent"> %sections;
<!-- Architecture-specific customization -->
<!ENTITY arch "sparc64">
<!ENTITY arch.print "UltraSPARC">
]>
<article lang="de">
&artheader;
&sect.intro;
&sect.proc.sparc64;
&sect.dev;
</article>
@@ -1,209 +0,0 @@
<!--
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/sparc64/dev-sparc64.sgml,v 1.4 2003/01/13 20:30:50 ue Exp $
$Id: dev-sparc64.sgml,v 1.4 2002/03/10 15:37:16 ue Exp $
basiert auf: 1.3
-->
<sect1 id="support-dev">
<sect1info>
<pubdate>$FreeBSD$</pubdate>
</sect1info>
<title>Unterst&uuml;tzte Ger&auml;te</title>
<para>Dieses Kapitel enth&auml;lt alle Ger&auml;te, die auf jeden
Fall von &os; auf &arch; Systemen unterst&uuml;tzt werden. Andere
Konfigurationen k&ouml;nnen auch funktionieren, allerdings wurden
sie noch nicht getestet. R&uuml;ckmeldungen, Erg&auml;nzungen und
Korrekturen werden dankend angenommen.</para>
<para>Wenn m&ouml;glich, wird der zum jeweiligen Ger&auml;t bzw. zur
jeweiligen Ger&auml;teklasse passende Treiber aufgef&uuml;hrt.
Wenn es unter &os; eine Online-Hilfe f&uuml;r den betreffenden
Treiber gibt (das ist der Normalfall), wird sie ebenfalls
aufgef&uuml;hrt.</para>
<sect2>
<title>PCI Hardware</title>
<para>Rein theoretisch sollte jedes Ger&auml;t, f&uuml;r das es
einen Treiber gibt, auch auf sparc64 funktionieren. In der
Praxis funktionieren einige Treiber sofort, andere m&uuml;ssen
angepa&szlig;t werden (hier zeigt sich, da&szlig; dies die erste
<quote>big endian</quote> Architektur ist, die von FreeBSD
unterst&uuml;tzt wird).</para>
<para>Bei den folgenden Ger&auml;ten sind wir sicher, da&szlig; sie
unterst&uuml;tzt werden und funktionieren:</para>
<itemizedlist>
<listitem>
<para><literal>apb</literal> (Sun PCI-PCI Bridge)</para>
</listitem>
<listitem>
<para>alle Arten von PCI-PCI Bridges</para>
</listitem>
<listitem>
<para>&man.ahc.4; (jetzt sehr bald).</para>
</listitem>
<listitem>
<para>&man.ata.4;, <devicename>atadisk</devicename>,
<devicename>atapicd</devicename> (allerdings weder atapift
noch atapist)</para>
</listitem>
<listitem>
<para><devicename>gem</devicename> (Sun GEM/ERI Ethernet, ist
in der Blade 100 eingebaut)</para>
</listitem>
<listitem>
<para><literal>hme</literal> (Sun HME Ethernet, ist in der
Ultra 5 und Ultra 10 eingebaut)</para>
</listitem>
<listitem>
<para>&man.sio.4;</para>
</listitem>
<listitem>
<para>&man.sym.4;</para>
</listitem>
</itemizedlist>
</sect2>
<sect2>
<title>SBus Hardware</title>
<para>Die folgenden Treiber wurden an SBus
angepa&szlig;t:</para>
<itemizedlist>
<listitem>
<para><literal>hme</literal> Ethernet</para>
</listitem>
<listitem>
<para><literal>mk48txx</literal> ('eeprom' Ger&auml;t,
Systemuhr)</para>
</listitem>
</itemizedlist>
</sect2>
<sect2>
<title>ISA Hardware</title>
<para>Die Angaben &uuml;ber die Treiber f&uuml;r PCI Hardware
gelten auch f&uuml;r die Treiber f&uuml;r ISA-Karten, allerdings
gibt es eine wichtige Einschr&auml;nkung: ISA DMA wird noch nicht
unterst&uuml;tzt. Hierbei handelt es sich in der Regel um
eingebaute Ger&auml;te, uns ist kein einzige UltraSPARC System
bekannt, das &uuml;ber einen ISA Steckplatz verf&uuml;gt.</para>
<para>Bei den folgenden Ger&auml;ten sind wir sicher, da&szlig;
sie unterst&uuml;tzt werden und funktionieren:</para>
<itemizedlist>
<listitem>
<para>&man.sio.4;</para>
</listitem>
</itemizedlist>
</sect2>
<sect2>
<title>EBus Hardware</title>
<para>Der EBus gibt es nur in Suns, daher m&uuml;ssen die Treiber
um Unterst&uuml;tzung f&uuml;r diese Art von Ger&auml;ten
erweitert werden. Der EBus ist ISA sehr &auml;hnlich, daher
k&ouml;nnen ISA-Treiber in der Regel sehr einfach umgeschrieben
werden, wenn Sie das <quote>bus space interface</quote> und
nicht die <quote>in[bwl]/out[bwl]</quote> Funktionen nutzen.
DMA wird noch nicht unterst&uuml;tzt.</para>
<para>Bei den folgenden Ger&auml;ten sind wir sicher, da&szlig;
sie unterst&uuml;tzt werden und funktionieren:</para>
<itemizedlist>
<listitem>
<para>&man.sio.4;</para>
</listitem>
<listitem>
<para><literal>mk48txx</literal> ('eeprom' Ger&auml;t,
Systemuhr)</para>
</listitem>
</itemizedlist>
</sect2>
<sect2>
<title>Nicht unterst&uuml;tzte Ger&auml;te</title>
<para>Die folgenden Ger&auml;te, die alle Bestandteile von Sun
UltraSPARC System sind, werden zur Zeit noch nicht
unterst&uuml;tzt:</para>
<itemizedlist>
<listitem>
<para>Graphikkarten/Bildschirmspeicher, Tastatur (au&szlig;er
der indirekten Unterst&uuml;tzung im Textmodus durch den
<devicename>ofw_console</devicename> Treiber)</para>
</listitem>
<listitem>
<para>Serielle Schnittstellen mit Siemens sab82532 (Ultra
5/10; die Anschl&uuml;sse f&uuml;r Tastatur und Maus sind
auch RS232-Anschl&uuml;sse und werden daher vom &man.sio.4;
Treiber unterst&uuml;tzt; ein Treiber mit dem Namen 'se' ist
in Arbeit).</para>
</listitem>
<listitem>
<para>serielle Tastaturen (au&szlig;er der indirekten
Unterst&uuml;tzung durch den
<devicename>ofw_console</devicename> Treiber)</para>
</listitem>
<listitem>
<para>serielle Anschl&uuml;sse mit Zilog z8530 (Tastatur/Maus,
ttya und ttyb bei der Ultra 1 und Ultra 2 boxen)</para>
</listitem>
<listitem>
<para>fas (Fast SCSI Controller, der in den meisten Ultra 1
und Ultra 2 Maschinen eingebaut ist)</para>
</listitem>
<listitem>
<para>USB Anschl&uuml;sse (hier gibt es Probleme, es sollte
aber relativ einfach sein, diese zu beheben)</para>
</listitem>
<listitem>
<para>alle Diskettenlaufwerke und Controller
daf&uuml;r</para>
</listitem>
<listitem>
<para>Chipkarten-Leser (die Blade 100 besitzt einen,
allerdings gibt es nur wenige Informationen
dar&uuml;ber)</para>
</listitem>
<listitem>
<para>FireWire/IEEE1394</para>
</listitem>
<listitem>
<para>Soundkarten</para>
</listitem>
<listitem>
<para>parallele Anschl&uuml;sse</para>
</listitem>
</itemizedlist>
</sect2>
</sect1>
@@ -1,175 +0,0 @@
<!--
$FreeBSD$
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/sparc64/proc-sparc64.sgml,v 1.10 2003/02/08 07:43:14 ue Exp $
basiert auf: 1.11
-->
<sect1 id="support-sys">
<title>Unterst&uuml;tzte Systeme</title>
<para>In diesem Kapitel sind alle Systeme aufgef&uuml;hrt, von denen
wir wissen, da&szlig; sie von &os; f&uuml;r &arch.print;
unterst&uuml;tzt werden. Zus&auml;tzliche Informationen zu den
einzelnen Systemen finden Sie im <ulink
url="http://sunsolve.sun.com/handbook_pub/">Sun System
Handbook</ulink>.</para>
<para>SMP wird auf allen Systemen mit mehr als einem Prozessor
unterst&uuml;tzt.</para>
<para>Wenn Sie ein System haben, da&szlig; nicht in dieser Liste
aufgef&uuml;hrt ist, k&ouml;nnte das daran liegen, da&szlig; es
noch mit &os; &release.current; getestet wurde. Bitte probieren
Sie es aus und schicken Sie eine Mail mit Ihren Ergebnissen (und
Informationen dar&uuml;ber, welche Ger&auml;te unterst&uuml;tzt
werden und welche nicht) an die &a.sparc;.</para>
<sect2>
<title>Vollst&auml;ndig unterst&uuml;tzte Systeme</title>
<para>Die folgenden Systeme werden vollst&auml;ndig
unterst&uuml;tzt:</para>
<itemizedlist>
<listitem>
<para>Blade 100</para>
</listitem>
<listitem>
<para>Blade 150</para>
</listitem>
<listitem>
<para>Enterprise 220R</para>
</listitem>
<listitem>
<para>Enterprise 250</para>
</listitem>
<listitem>
<para>Enterprise 420R</para>
</listitem>
<listitem>
<para>Enterprise 450</para>
</listitem>
<listitem>
<para>Fire V100</para>
</listitem>
<listitem>
<para>Fire V120</para>
</listitem>
<listitem>
<para>Netra t1 105</para>
</listitem>
<listitem>
<para>Netra t1 AC200/DC200</para>
</listitem>
<listitem>
<para>Netra t 1100</para>
</listitem>
<listitem>
<para>Netra t 1120</para>
</listitem>
<listitem>
<para>Netra t 1125</para>
</listitem>
<listitem>
<para>Netra t 1400/1405</para>
</listitem>
<listitem>
<para>Netra 120</para>
</listitem>
<listitem>
<para>Netra X1</para>
</listitem>
<listitem>
<para>SPARCEngine Ultra AXi</para>
</listitem>
<listitem>
<para>SPARCEngine Ultra AXmp</para>
</listitem>
<listitem>
<para>Ultra 5</para>
</listitem>
<listitem>
<para>Ultra 10</para>
</listitem>
<listitem>
<para>Ultra 30</para>
</listitem>
<listitem>
<para>Ultra 60</para>
</listitem>
<listitem>
<para>Ultra 80</para>
</listitem>
</itemizedlist>
</sect2>
<sect2>
<title>Teilweise unterst&uuml;tzte Systeme</title>
<para>Die folgenden Systeme werden nur unvollst&auml;ndig
unterst&uuml;tzt. Dies betrifft speziell den SCSI-Controller
auf dem Systemboard, der zur Zeit nicht unterst&uuml;tzt
wird.</para>
<itemizedlist>
<listitem>
<para>Enterprise 3500</para>
</listitem>
<listitem>
<para>Enterprise 4500</para>
</listitem>
<listitem>
<para>Ultra 1 Enterprise (auch als 1E bezeichnet)</para>
</listitem>
<listitem>
<para>Ultra 2</para>
</listitem>
</itemizedlist>
</sect2>
<sect2>
<title>Nicht unterst&uuml;tzte Systeme</title>
<para>Die folgenden Systeme werden von &os; nicht
unterst&uuml;tzt. Dies liegt zum Teil daran, da&szlig; der
Prozessor nicht unterst&uuml;tzt wird (UltraSPARC III); an
Merkw&uuml;rdigkeiten im Design des Systems, die zu Problemen im
Betrieb f&uuml;hren; oder an fehlender Unterst&uuml;tzten
f&uuml;r die Komponenten des Systems, wodurch &os; nicht
benutzbar wird.</para>
<itemizedlist>
<listitem>
<para>Alle Systeme mit UltraSPARC III Prozessor(en).</para>
</listitem>
<listitem>
<para>Ultra 1</para>
</listitem>
</itemizedlist>
</sect2>
</sect1>
@@ -1,14 +0,0 @@
# $FreeBSD$
# $FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/installation/Makefile,v 1.6 2002/11/09 18:09:45 ue Exp $
# basiert auf: 1.5
RELN_ROOT?= ${.CURDIR}/../..
SUBDIR = alpha
SUBDIR+= ia64
SUBDIR+= i386
SUBDIR+= pc98
SUBDIR+= sparc64
.include "${RELN_ROOT}/share/mk/doc.relnotes.mk"
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
@@ -1,10 +0,0 @@
# $FreeBSD$
# $FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/installation/Makefile.inc,v 1.2 2002/03/10 18:41:39 ue Exp $
# $Id: Makefile.inc,v 1.4 2002/03/10 15:37:17 ue Exp $
# basiert auf: 1.2
.ifdef NO_LANGCODE_IN_DESTDIR
DESTDIR?= ${DOCDIR}/installation/${.CURDIR:T}
.else
DESTDIR?= ${DOCDIR}/de_DE.ISO8859-1/installation/${.CURDIR:T}
.endif
@@ -1,23 +0,0 @@
# $FreeBSD$
# $FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/installation/alpha/Makefile,v 1.2 2002/03/10 18:41:40 ue Exp $
# $Id: Makefile,v 1.3 2002/03/10 15:37:17 ue Exp $
# basiert auf: 1.4
RELN_ROOT?= ${.CURDIR}/../../..
DOC?= article
FORMATS?= html
INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=
# SGML content
SRCS+= article.sgml
SRCS+= ../common/artheader.sgml
SRCS+= ../common/abstract.sgml
SRCS+= ../common/install.sgml
SRCS+= ../common/layout.sgml
SRCS+= ../common/trouble.sgml
SRCS+= ../common/upgrade.sgml
.include "${RELN_ROOT}/share/mk/doc.relnotes.mk"
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
@@ -1,31 +0,0 @@
<!--
$FreeBSD$
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/installation/alpha/article.sgml,v 1.4 2002/10/12 18:02:23 ue Exp $
basiert auf: 1.3
-->
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN">
%man;
<!ENTITY % authors PUBLIC "-//FreeBSD//ENTITIES DocBook Author Entities//EN">
%authors;
<!ENTITY % mlists PUBLIC "-//FreeBSD//ENTITIES DocBook Mailing List Entities//DE">
%mlists;
<!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN">
%release;
<!ENTITY % sections SYSTEM "../common/install.ent"> %sections;
<!-- Architecture-specific customization -->
<!ENTITY arch "alpha">
<!ENTITY arch.print "Alpha/AXP">
]>
<article lang="de">
&artheader;
&abstract;
&sect.install;
&sect.layout;
&sect.upgrade;
&sect.trouble;
</article>
@@ -1,14 +0,0 @@
<!--
$FreeBSD$
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/installation/common/abstract.sgml,v 1.3 2002/03/12 17:24:25 ue Exp $
$Id: abstract.sgml,v 1.2 2002/03/10 15:37:17 ue Exp $
basiert auf: 1.2
-->
<abstract>
<para>Dieser Artikel enth&auml;lt eine kurze Anleitung f&uuml;r die
Installation von &os;/&arch; &release.current;, dabei wird
besonderen Wert auf den Bezug einer &os; gelegt. Au&szlig;erdem
enth&auml;lt er einige Tips zur Fehlersuche sowie Antworten zu
einigen h&auml;ufig gestellten Fragen.</para>
</abstract>
@@ -1,27 +0,0 @@
<!--
$FreeBSD$
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/installation/common/artheader.sgml,v 1.3 2003/01/09 12:17:18 ue Exp $
basiert auf: 1.4
-->
<articleinfo>
<title>&os;/&arch; &release.current; Installationsanleitung</title>
<corpauthor>
The &os; Project
</corpauthor>
<copyright>
<year>2000</year>
<year>2001</year>
<year>2002</year>
<year>2003</year>
<holder role="mailto:[email protected]">The FreeBSD Documentation Project</holder>
</copyright>
<copyright>
<year>2002</year>
<year>2003</year>
<holder role="mailto:[email protected]">The FreeBSD German Documentation Project</holder>
</copyright>
</articleinfo>
@@ -1,20 +0,0 @@
<!-- -*- sgml -*- -->
<!--
$FreeBSD$
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/installation/common/install.ent,v 1.2 2002/03/10 18:41:41 ue Exp $
$Id: install.ent,v 1.3 2002/03/10 15:37:17 ue Exp $
basiert auf: 1.2
-->
<!-- Text constants which probably don't need to be changed.-->
<!-- Files to be included -->
<!ENTITY artheader SYSTEM "artheader.sgml">
<!ENTITY abstract SYSTEM "abstract.sgml">
<!ENTITY sect.install SYSTEM "install.sgml">
<!ENTITY sect.layout SYSTEM "layout.sgml">
<!ENTITY sect.upgrade SYSTEM "upgrade.sgml">
<!ENTITY sect.trouble SYSTEM "trouble.sgml">
File diff suppressed because it is too large. Load diff
@@ -1,171 +0,0 @@
<!--
$FreeBSD$
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/installation/common/layout.sgml,v 1.5 2002/11/09 23:07:18 ue Exp $
basiert auf: 1.6
This section contains the contents of the old LAYOUT.TXT file.
-->
<sect1 id="layout">
<title>Format der Distribution</title>
<para>Ein Verzeichnis mit einer typischen &os; Distribution sieht
ungef&auml;hr so aus (das exakte Aussehen h&auml;ngt von der
jeweiligen Version, Architektur und andere Faktoren ab):</para>
<screen>ERRATA.HTM README.TXT compat1x dict kernel
ERRATA.TXT RELNOTES.HTM compat20 doc manpages
HARDWARE.HTM RELNOTES.TXT compat21 docbook.css packages
HARDWARE.TXT base compat22 filename.txt ports
INSTALL.HTM boot compat3x floppies proflibs
INSTALL.TXT catpages compat4x games src
README.HTM cdrom.inf crypto info tools</screen>
<para>Wenn Sie dieses Verzeichnis f&uuml;r eine CD-, FTP- oder
NFS-Installation nutzen wollen, brauchen Sie nur die beiden 1.44
MByte gro&szlig;en Bootdisketten zu erstellen (wie das geht, ist
in <xref linkend="floppies"> beschrieben), von diesen zu booten,
und dann den Anweisungen zu folgen. Alle anderen Dateien, die
f&uuml;r die Installation notwendig sind, werden auf der Grundlage
Ihrer Angaben automatisch geholt. Wenn Sie &os; noch nie
installiert haben, sollten Sie dieses Dokument (die
Installationsanleitung) komplett durchlesen.</para>
<para>Wenn Sie eine der anderen Varianten der Installation nutzen
oder einfach nur wissen wollen, wie eine Distribution aufgebaut
ist, finden Sie hier weitere Informationen zum Inhalt einiger der
Verzeichnisse:</para>
<orderedlist>
<listitem>
<para>Die <filename>*.TXT</filename> und
<filename>*.HTM</filename> Dateien enthalten Dokumentationen
(dieses Dokument ist zum Beispiels in
<filename>INSTALL.TXT</filename> und
<filename>INSTALL.HTM</filename> enthalten), die Sie vor der
Installation lesen sollten. Die <filename>*.TXT</filename>
Dateien enthalten normaler Text, die
<filename>*.HTM</filename> Dateien enthalten HTML und
k&ouml;nnen mit fast jedem Web Browser gelesen werden. Einige
Distributionen stellen die Dokumentationen auch in anderen
Formaten bereit, z.B. PDF oder PostScript.</para>
</listitem>
<listitem>
<para><filename>docbook.css</filename> ist ein Cascading Style
Sheet (CSS), der von einigen Browsern zur Formatierung der
HTML Dokumentation benutzt wird.</para>
</listitem>
<listitem>
<para>Die Verzeichnisse <filename>base</filename>,
<filename>catpages</filename>, <filename>crypto</filename>,
<filename>dict</filename>, <filename>doc</filename>,
<filename>games</filename>, <filename>info</filename>,
<filename>manpages</filename>, <filename>proflibs</filename>,
und <filename>src</filename> enthalten die Hauptkomponenten
der &os; Distribution. Diese sind auf kleine Dateien
aufgeteilt wurden, damit sie (zur Not) auch auf Disketten
passen.</para>
</listitem>
<listitem>
<para>Die Verzeichnisse <filename>compat1x</filename>,
<filename>compat20</filename>, <filename>compat21</filename>,
<filename>compat22</filename>, <filename>compat3x</filename>,
und <filename>compat4x</filename> enthalten Dateien, die zur
Ausf&uuml;hrung von Programmen f&uuml;r &auml;lteren &os;
Versionen notwendig sind. Auch diese Dateien liegen im
<filename>.tar.gz</filename> Format vor und k&ouml;nnen direkt
bei der Installation installiert werden. Falls Sie sie
nachtr&auml;glich installieren wollen, nutzen Sie das
<filename>install.sh</filename> Script in dem jeweiligen
Verzeichnis.</para>
</listitem>
<listitem>
<para>Das Verzeichnis <filename>floppies/</filename>
enth&auml;lt die Images der Bootdisketten. Informationen, wie
man diese Images benutzt, finden Sie in <xref
linkend="floppies">.</para>
</listitem>
<listitem>
<para>Die Verzeichnisse <filename>packages</filename> und
<filename>ports</filename> enthalten die &os; Packages bzw.
Ports Collection. Sie k&ouml;nnen Packages aus diesem
Verzeichnis installieren, indem Sie den folgenden Befehl
eingeben:</para>
<screen>&prompt.root;<userinput>/stand/sysinstall configPackages</userinput></screen>
<para>Alternativ k&ouml;nnen Sie auch die Namen einzelner
Dateien aus <filename>packages</filename> an das Programm
&man.pkg.add.1; &uuml;bergeben.</para>
<para>Die Ports Collection kann wie jede andere Distribution
installiert werden und belegt dann rund 100 MByte
Plattenplatz. Weitere Informationen &uuml;ber die Ports
Collection finden Sie auf <ulink
url="http://www.FreeBSD.org/ports/">http://www.FreeBSD.org/ports/</ulink>.
Wenn Sie die <filename>doc</filename> Distribution installiert
haben, sind diese Informationen auch unter
<filename>/usr/share/doc/handbook</filename>
verf&uuml;gbar.</para>
</listitem>
<listitem>
<para>Zum guten Schlu&szlig;: Das Verzeichnis
<filename>tools</filename> enth&auml;lt diverse DOS-Programme
zur Ermittlung der Plattengeometrie, zur Installation von
Bootmanager, und so weiter. Sie brauchen diese Programme
nicht unbedingt, sie werden nur mitgeliefert, um Ihnen das
Leben etwas einfacher zu machen.</para>
</listitem>
</orderedlist>
<para>Das Verzeichnisses einer typischen Distribution (in diesem Fall <filename>info</filename>) enth&auml;lt die folgenden Dateien:</para>
<screen>CHECKSUM.MD5 info.ab info.ad info.inf install.sh
info.aa info.ac info.ae info.mtree</screen>
<para>Die Datei <filename>CHECKSUM.MD5</filename> enth&auml;lt MD5
Pr&uuml;fsummen f&uuml;r die anderen Dateien. Sie wird nur
gebraucht, falls Sie vermuten, da&szlig; eine Datei
besch&auml;digt wurde. Diese Datei wird vom Installationsprogramm
nicht verwendet und mu&szlig; auch nicht zusammen mit den anderen
Dateien dieser Distribution kopiert werden. Die Dateien mit den
Namen <filename>info.a*</filename> sind Teile eines einzigen
.tar.gz Archiv, dessen Inhalt Sie sich mit dem folgenden Befehl
anzeigen lassen k&ouml;nnen:</para>
<screen>&prompt.root; <userinput>cat info.a* | tar tvzf -</userinput></screen>
<para>W&auml;hrend der Installation werden diese Dateien automatisch
zusammengesetzt und ausgepackt.</para>
<para>Die Datei <filename>info.inf</filename> wird vom
Installationsprogramm genutzt, um die Anzahl der Dateiteile zu
ermitteln, die es beschaffen und zusammensetzen mu&szlig;. Wenn
Sie eine Distribution auf Diskette kopieren,
<emphasis>m&uuml;ssen</emphasis> Sie die <filename>.inf</filename>
Datei auf die erste Diskette kopieren.</para>
<para>Die Datei <filename>info.mtree</filename> ist ebenfalls
optional und als Information f&uuml;r den Benutzer gedacht. Sie
enth&auml;lt die MD5 Pr&uuml;fsummen der
<emphasis>ungepackten</emphasis> Dateien in der Distribution und
kann sp&auml;ter vom Programm &man.mtree.8; genutzt werden, um
&Auml;nderungen an den Datei oder Dateirechten aufzusp&uuml;ren.
Wenn Sie das bei der <filename>base</filename> Distribution machen,
haben Sie eine sehr wirksame Methode, um Ihr System auf
trojanische Pferde zu untersuchen.</para>
<para>Zum guten Schlu&szlig;: Mit der Datei
<filename>install.sh</filename> k&ouml;nnen Sie eine Distribution
nachtr&auml;glich installieren. Wenn Sie zum Beispiel die info
Distribution nachtr&auml;glich von CD installieren wollen, kommen
Sie mit den folgenden Befehlen zum Ziel:</para>
<screen>&prompt.root; <userinput>cd /cdrom/info</userinput>
&prompt.root; <userinput>sh install.sh</userinput></screen>
</sect1>
@@ -1,471 +0,0 @@
<!--
$FreeBSD$
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/installation/common/trouble.sgml,v 1.13 2003/05/24 19:11:45 ue Exp $
basiert auf: 1.12
This file contains the comments of the old TROUBLE.TXT file.
-->
<sect1 id="trouble">
<title>Erste Hilfe</title>
<sect2 id="repairing">
<title>Reparatur einer &os; Installation</title>
<para>Bei &os; gibt es im Hauptmen&uuml; des
Installationsprogramms den Punkt <quote>Fixit</quote>. Wenn Sie
diese Option benutzen wollen, brauchen Sie entweder eine
Diskette, die Sie aus dem Image <filename>fixit.flp</filename>
erzeugt haben; oder die CD mit dem <quote>live
filesystem</quote>, das ist normalerweise die zweite CD der &os;
Distribution.</para>
<para>Um fixit zu benutzen, m&uuml;ssen Sie zuerst von der
<filename>kern.flp</filename> Diskette booten, dann die Option
<quote>Fixit</quote> ausw&auml;hlen und dann die Fixit Diskette
oder CD einlegen, wenn Sie dazu aufgefordert werden. Danach
wird eine Shell gestartet, in der viele Programme zur
&Uuml;berpr&uuml;fung, Reparatur und Analyse von Dateisystem und
ihren Inhalten zur Verf&uuml;gung stehen. Sie finden diese
Programme in den Verzeichnissen <filename>/stand</filename> und
<filename>/mnt2/stand</filename>. Allerdings
<emphasis>brauchen</emphasis> Sie Erfahrung mit der
Administration von Unix-Systemen, um diese Option sinnvoll
einsetzen zu k&ouml;nnen.</para>
</sect2>
<sect2>
<title>Typische Probleme bei der Installation auf &arch.print;
Systemen</title>
<qandaset arch="i386">
<qandaentry>
<question>
<para>Mein Rechner h&auml;ngt sich beim Start des Systems
w&auml;hrend der Hardware-Erkennung auf, verh&auml;lt
sich bei der Installation seltsam, oder findet das
Diskettenlaufwerk nicht.</para>
</question>
<answer>
<para>&os; nutzt auf i386 Systemen ab Version 5.0 unter
anderem die ACPI-Dienste, um das System zu konfigurieren.
Leider existieren sowohl im ACPI-Triber als auch in der
ACPI-Implementierung vieler Mainbaords Fehler. Um ACPI
abzuschalten, m&uuml;ssen Sie die <quote>hint</quote>
<quote>hint.acpi.0.disabled</quote> in der dritten Phase des
Startprogramm aktivieren:</para>
<screen>set hint.acpi.0.disabled=1</screen>
<para>Diese Variable wird bei jedem Start des System
zur&uuml;ckgesetzt, daher m&uuml;ssen Sie die Anweisung
<literal>hint.acpi.0.disabled="1"</literal> in die Datei
<filename>/boot/loader.conf</filename> aufnehmen. Weitere
Informationen &uuml;ber das Startprogramm finden Sie im
FreeBSD Handbuch. </para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Meine alte ISA-Karte wurde nicht mehr erkannt, in
&auml;lteren &os;-Versionen funktionierte sie. Woran
liegt das?</para>
</question>
<answer>
<para>Einige Treiber wurden mittlerweile entfernt, weil es
niemanden mehr gab, der sich um sie k&uuml;mmerte; dazu
geh&ouml;rt unter anderem matcd. Andere Treiber
existieren zwar noch, sind aber standardm&auml;&szlig;ig
inaktiv, weil die Routinen zur Hardware-Erkennung zu viele
Nebenwirkungen hatten. Dies betrifft die folgenden
ISA Treiber: aha, ahv, aic, bt, ed, cs, sn, ie, fe, le und
lnc. Diese Treiber m&uuml;ssen Sie in der dritten Phase
des Systemstarts manuell aktivieren. Dazu m&uuml;ssen Sie
w&auml;hrend des Startprogramm w&auml;hrend des 10
Sekunden dauernden Countdowns unterbrechen und die
folgende Anweisung eingeben:</para>
<screen>unset hint.foo.0.disabled</screen>
<para>Dabei steht <replaceable>foo</replaceable> f&uuml;r
den Namen des Treibers, den Sie aktivieren wollen. Um
diese &Auml;nderung permanent zu machen, m&uuml;ssen Sie
die Datei <filename>/boot/device.hints</filename>
&auml;ndern und den betreffenden <quote>disabled</quote>
Eintrag entfernen.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Wenn ich das System nach der &os;-Installation zum
ersten von der Festplatte starte, wird der Kernel geladen
und sucht nach Hardware, aber danach kommt eine Meldung
wie:</para>
<screen>changing root device to ad1s1a panic: cannot mount root</screen>
<para>Was l&auml;uft falsch? Was kann ich tun?</para>
<para>Was bedeutet diese
<literal>bios_drive:interface(unit,partition)kernel_name</literal>
Meldung, die mir beim Booten als Hilfe angezeigt
wird?</para>
</question>
<answer>
<para>Es kann zu Problemen kommen, wenn die Festplatte, von
der Sie booten, nicht die erste Festplatte des Systems
ist. Leider sind sich das BIOS und &os; nicht immer
einig, wie die Festplatte numeriert werden sollen. Die
richtige Zuordnung zu finden, ist nicht einfach; daher
kommt es hier immer wieder zu Problemen.</para>
<para>Wenn die Festplatte, von der Sie booten, nicht die
erste Platte des Systems ist, braucht &os; in manchen
F&auml;llen etwas Hilfe. Es gibt zwei typische Ursachen
f&uuml;r dieses Problem und in beiden F&auml;llen
m&uuml;ssen Sie &os; sagen, wo das root filesystem liegt.
Dazu m&uuml;ssen Sie die vom BIOS verwendete Nummer der
Festplatte, den Typ der Festplatte, und die von FreeBSD
verwendete Nummer der Festplatte dieses Typs
angeben.</para>
<para>Eine typische Ursache ist ein System mit zwei IDE
Platten, die beide als Master Ihres IDE Kanals
konfiguriert sind und auf dem Sie &os; von der zweiten
Platte booten wollen. Das BIOS verwendet f&uuml;r die
beiden Platten die Nummern 0 und 1, w&auml;hrend &os;
<devicename>ad0</devicename> und
<devicename>ad2</devicename> verwendet.</para>
<para>&os; liegt auf BIOS Platte 1, der Typ der Platte ist
<literal>ad</literal>, und &os; vergibt die Nummer 2. In
diesem Fall m&uuml;ssen Sie folgendes eingeben:</para>
<screen><userinput>1:ad(2,a)kernel</userinput></screen>
<para>Bitte beachten Sie, da&szlig; Sie dies nicht eingeben
m&uuml;ssen, wenn sich auf dem prim&auml;ren IDE Kanal ein
weiteres Ger&auml;t befindet (um genau zu, w&auml;re es
sogar falsch).</para>
<para>Die andere typische Ursache ist ein System mit IDE und
SCSI Platten, bei dem Sie von der SCSI Platte booten
wollen. In diesem Fall vergibt &os; eine niedrigere
Nummer als das BIOS. Wenn Sie neben der SCSI-Festplatte
noch zwei IDE-Platten haben, vergibt das BIOS f&uuml;r die
SCSI Festplatte die Nummer 2, w&auml;hrend &os; die Nummer
0 vergibt. Da die Platte von Typ <literal>da</literal>
ist, lautet die L&ouml;sung:</para>
<screen><userinput>2:da(0,a)kernel</userinput></screen>
<para>Damit teilen Sie &os; mit, da&szlig; von der BIOS
Festplatte Nummer 2 booten wollen, die die erste
SCSI-Festplatte des System ist. Wenn Sie nur eine
IDE-Festplatten h&auml;tten, w&uuml;rden Sie 1:
verwenden.</para>
<para>Wenn Sie den korrekten Wert herausgefunden haben,
k&ouml;nnen Sie ihn mit einem normalen Editor in die Datei
<filename>/boot.config</filename> eintragen. &os; nutzt
den Inhalt dieser Datei, um den Standardwert f&uuml;r die
Antwort auf die Anforderung <literal>boot:</literal> zu
bestimmen.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Wenn ich nach der &os;-Installation zum ersten Mal von
der Festplatte booten will, komme ich nur bis zum
<literal>F?</literal> Prompt des Bootmanagers.</para>
</question>
<answer>
<para>Sie haben bei der FreeBSD-Installation eine falsche
Geometrie f&uuml;r Ihre Festplatte angeben. Sie
m&uuml;ssen im Partitionseditor die richtige Geometrie
eingeben und &os; mit der richtigen Geometrie komplett neu
installieren.</para>
<para>Wenn Sie die korrekte Geometrie Ihrer Festplatte nicht
ermitteln k&ouml;nnen, k&ouml;nnen Sie den folgenden Trick
verwenden: Legen Sie eine am Anfang der Festplatte eine
kleine DOS-Partition an und installieren Sie danach &os;.
Das Installationsprogramm wird die DOS-Partition finden
und daraus die korrekte Geometrie berechnen, was
normalerweise funktioniert.</para>
<para>Es gibt eine weitere M&ouml;glichkeit, die nicht mehr
empfohlen wird und der Vollst&auml;ndigkeit halber
erw&auml;hnt wird:</para>
<blockquote>
<para>Wenn Sie einen Server oder eine Workstation
installieren, auf der ausschlie&szlig;lich &os; laufen soll
und Ihnen die (zuk&uuml;nftige) Kompatibilit&auml;t mit
DOS, Linux oder anderen Betriebssystemen egal ist,
k&ouml;nnen Sie auch die gesamte Platte verwenden (Taste
`A' im Partitions-Editor). Dadurch verwendet &os; die
gesamte Festplatte vom ersten bis zum letzten Sektor,
wodurch alle Probleme mit der Geometrie hinf&auml;llig
werden. Allerdings k&ouml;nnen Sie auf dieser
Festplatte nur &os; benutzen, was Sie evtl.
einschr&auml;nkt.</para>
</blockquote>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Der &man.mcd.4; Treiber glaubt, der habe ein
Ger&auml;t gefunden, dadurch funktioniert meine Intel
EtherExpress Netzwerkkarte nicht.</para>
</question>
<answer>
<para>Benutzen Sie UserConfig (wie, steht in
<filename>HARDWARE.TXT</filename>) und schalten die
Erkennung der Ger&auml;te <devicename>mcd0</devicename>
und <devicename>mcd1</devicename> ab. Es ist immer
besser, wenn Sie nur die Treiber aktiv lassen, f&uuml;r
die Sie auch passende Ger&auml;te haben, alle anderen
Treiber sollten Sie aus dem Kernel entfernen oder
deaktivieren.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Das System erkennt meine &man.ed.4; Netzwerkkarte,
aber ich erhalte st&auml;ndig die Meldung device
timeout.</para>
</question>
<answer>
<para>Ihre Karte nutzt wahrscheinlich einen anderen IRQ als
den, der in der Kernel-Konfiguration angegeben ist. Der
ed Treiber benutzt die `soft' Konfiguration (die sie in
DOS mit EZSETUP eingestellt haben) normalerweise nicht.
Wenn er das tun soll, m&uuml;ssen Sie bei der
Kernelkonfiguration f&uuml;r den IRQ den Wert
<literal>?</literal> angeben.</para>
<para>Sie sollten entweder eine der festverdrahteten
Einstellungen benutzen (und gegebenenfalls die Einstellungen des
Kernels anpassen), oder in UserConfig f&uuml;r den IRQ den
Wert <literal>-1</literal> eingeben. Damit teilen Sie dem
Kernel mit, da&szlig; er die `soft' Konfiguration benutzen
soll.</para>
<para>Eine andere m&ouml;gliche Ursache ist, da&szlig; Ihre
Karte IRQ9 verwendet. IRQ 9 wird immer mit IRQ 2 geteilt,
was immer wieder Probleme macht (besonders, wenn Sie eine
VGA-Karte haben, die IRQ 2 benutzt!) Wenn m&ouml;glich,
sollten Sie IRQ 9 und IRQ 2 nicht benutzen.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Ich habe meinen IBM ThinkPad (tm) Laptop von der
Installationsdiskette gebootet, und die Tastaturbelegung
ist v&ouml;llig konfus.</para>
</question>
<answer>
<para>&Auml;ltere IBM Laptops verwenden nicht den normalen
Tastaturcontroller, daher m&uuml;ssen Sie dem
Tastaturtreiber (atkbd0) in einen speziellen
ThinkPad-Modus schalten. &Auml;ndern Sie in UserConfig
die 'Flags' f&uuml;r atkbd0 auf 0x4 und das Problem sollte
gel&ouml;st sein. Die Einstellung finden Sie im Men&uuml;
Input.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Meine Intel EtherExpress 16 wird nicht erkannt.</para>
</question>
<answer>
<para>Sie m&uuml;ssen die Intel EtherExpress 16 so
konfigurieren, da&szlig; 32K Speicher an der Adresse
0xD0000 eingeblendet werden. Benutzen Sie dazu das von
Intel mitgelieferte Programm
<filename>softset.exe</filename>.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Wenn ich &os; auf meinem EISA HP Netserver
installiere, wird der eingebaute AIC-7xxx SCSI Controller
nicht erkannt.</para>
</question>
<answer>
<para>Dieses Problem ist bekannt, und wird hoffentlich bald
gel&ouml;st werden. Damit Sie &os; installieren
k&ouml;nnen, m&uuml;ssen Sie mit der Option
<option>-c</option> booten, um UserConfig zu starten. Sie
brauchen den CLI-Modus, <emphasis>nicht</emphasis> den
Visual Modus (auch wenn er sch&ouml;ner aussieht). Geben
Sie den folgenden Befehl ein:</para>
<screen><userinput>eisa 12</userinput>
<userinput>quit</userinput></screen>
<para>Statt `quit' k&ouml;nnen Sie auch `visual' eingeben,
um die restliche Konfigurationsarbeit in diesem Modus
erledigen. Die Erzeugung eines angepa&szlig;ten Kernels
wird zwar immer noch empfohlen, allerdings hat dset
gelernt, diesen Wert zu speichern.</para>
<para>Eine Erkl&auml;rung der Ursachen dieses Problems und
weitere Informationen finden Sie im FAQ. Wenn Sie die
Distribution `doc' installiert haben, finden Sie den FAQ
im Verzeichnis /usr/share/doc/FAQ auf Ihrer
Festplatte.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Mein Panasonic AL-N1 oder Rios Chandler Pentium
Rechner h&auml;ngt sich auf, obwohl das
Installationsprogramm noch gar nicht gestartet
ist.</para>
</question>
<answer>
<para>Aus unerfindlichen Gr&uuml;nden vertragen diese
Rechner die neuen Anweisungen
<literal>i586_copyout</literal> und
<literal>i586_copyin</literal> nicht. Damit diese
Anweisungen nicht verwendet werden, m&uuml;ssen Sie von
der Bootdiskette booten. Im ersten Men&uuml; (die
Frage, ob Sie UserConfig starten wollen oder nicht)
w&auml;hlen Sie den Punkt command-line
interface (<quote>expert mode</quote>). Geben Sie den
folgenden Befehl ein:</para>
<screen><userinput>flags npx0 1</userinput></screen>
<para>Danach k&ouml;nnen Sie den Systemstart normal
fortsetzen. Die Einstellung wird in Ihrem Kernel
gespeichert, Sie m&uuml;ssen Sie also nur einmal
machen.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Ich habe diesen CMD640 IDE Controller, der angeblich
<quote>broken</quote> ist.</para>
</question>
<answer>
<para>Das stimmt. &os; unterst&uuml;tzt diesen Controller
nicht mehr.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Auf meinem Compaq Aero Notebook erhalte ich die
Meldung <quote>No floppy devices found! Please check
...</quote>, wenn ich von Diskette installieren
will.</para>
</question>
<answer>
<para>Compaq ist immer etwas anders als andere und sah daher
keinen Grund, das Diskettenlaufwerk im CMOS RAM der Aero
Notebooks einzutragen. Da sich der Treiber auf diese
Angaben verl&auml;&szlig;t, nimmt er an, da&szlig; kein
Diskettenlaufwerk vorhanden ist. Starten Sie UserConfig
und stellen Sie bei fdc0 unter flags den Wert 0x1 ein.
Damit teilen Sie dem Treiber mit, da&szlig; ein 1.44 MByte
Diskettenlaufwerk vorhanden ist, und da&szlig; er die Werte
im CMOS ignorieren soll.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Wenn ich &os; auf einem Dell Poweredge XE installiere,
wird der Dell-eigene RAID Controller DSA (Dell SCSI Array)
nicht erkannt.</para>
</question>
<answer>
<para>Benutzen Sie das EISA Konfigurationsprogramm, um den
DSA auf AHA-1540 Emulation umzustellen. Danach wird er
von &os; als Adaptec AHA-1540 SCSI Controller auf IRQ 11
und Port 340 erkannt. In diesem Modus k&ouml;nnen Sie das
RAID des DSA nutzen, lediglich die DSA-spezifischen
Funktionen wie die RAID-&Uuml;berwachung stehen nicht zur
Verf&uuml;gung.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Ich verwende eine Netzwerkkarte vom Typ IBM EtherJet
PCI, die zwar vom Treiber &man.fxp.4; korrekt erkannt
wird, aber trotzdem leuchten die Kontroll-LEDs nicht auf
und ich habe auch keine Verbindung zum Netzwerk.</para>
</question>
<answer>
<para>Wir wissen nicht, was die Ursache dieses Problems ist.
IBM hat das gleiche Problem (wir haben sie gefragt).
Diese Netzwerkkarte ist eine ganz normale Intel
EtherExpress Pro/100 mit einem IBM-Aufkleber, und diese
Netzwerkkarten machen normalerweise gar keine Probleme.
Das Problem tritt auch nur in einigen IBM Netfinity
Servern auf. Die einzige L&ouml;sung ist, eine andere
Netzwerkkarte zu verwenden.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Wenn ich w&auml;hrend einer Installation auf einer IBM
Netfinity 3500 das Netzwerk konfiguriere, h&auml;ngt sich
das System auf.</para>
</question>
<answer>
<para>Es gibt Probleme mit der eingebauten Netzwerkkarte der
IBM Netfinity 3500, die wir noch nicht genau einkreisen
konnten. Die Ursache des Problems k&ouml;nnte eine falsche
Konfiguration der SMP Unterst&uuml;tzung auf diesen
Systemen sein. Sie m&uuml;ssen eine andere Netzwerkkarte
verwenden und Sie d&uuml;rfen die eingebaute Netzwerkkarte
werden benutzen noch konfigurieren.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Wenn ich &os; auf einer Festplatte konfiguriere, die
an einem Mylex PCI RAID Controller abgeschlossen ist, kann
ich das System nicht neu starten (Abbruch mit der Meldung
<literal>read error</literal>).</para>
</question>
<answer>
<para>Ein Fehler im Mylex Treiber sorgt daf&uuml;r, da&szlig;
er die BIOS-Einstellung <quote>8GB</quote> Geometrie
ignoriert. Verwenden Sie den 2 GB Modus.</para>
</answer>
</qandaentry>
</qandaset>
</sect2>
</sect1>
@@ -1,246 +0,0 @@
<!--
$FreeBSD$
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/installation/common/upgrade.sgml,v 1.10 2003/05/24 19:11:45 ue Exp $
basiert auf: 1.11
This section contains the contents of the old UPGRADE.TXT
file.
-->
<sect1 id="upgrading">
<title>Aktualisierung einer &os;-Installation</title>
<para>In diesem Abschnitt erfahren Sie, wie Sie Ihre
&os;-Installation aktualisieren k&ouml;nnen, ohne den Quellcode zu
verwenden.</para>
<warning>
<para>Die Programme, die zur Aktualisierung von &os; verwendet
werden, treffen alle m&ouml;glichen Vorkehrungen, um
Datenverluste zu vermeiden. Allerdings ist es immer noch
m&ouml;glich, da&szlig; Sie bei diesem Schritte <emphasis>den
kompletten Festplatteninhalt</emphasis> verlieren. Sie sollten
die letzte Sicherheitsabfrage nicht best&auml;tigen, bevor Sie
ein ad&auml;quates Backup aller Daten angelegt haben.</para>
</warning>
<important>
<para>Diese Anleitung geht davon aus, da&szlig; Sie das
&man.sysinstall.8;-Programm der <emphasis>NEUEN</emphasis>
&os;-Version zur Aktualisierung verwenden. Die Verwendung der
falschen &man.sysinstall.8;-Version f&uuml;hrt zu Problemen und
hat in der Vergangenheit schon System unbrauchbar gemacht. Ein
typischer Fehler ist die Verwendung des
&man.sysinstall.8;-Programms des installierten Systems, um das
System auf eine neuere &os;-Version zu aktualisieren. Sie
sollten das <emphasis>nicht</emphasis> versuchen.</para>
</important>
<warning>
<para>Sie sollten nicht versuchen, Ihr System mit der
Upgrade-Funktion von &man.sysinstall.8; von &os; 4-STABLE auf
&os; &release.current; zu aktualisieren. Einige in &os;
4-STABLE vorhandene Dateien f&uuml;hren zu Problemen, sie werden
aber bei dieser Art der Aktualisierung nicht entfernt. Ein
drastisches Beispiel ist ein veraltetes
<filename>/usr/include/g++</filename>, das dazu f&uuml;hren
kann, da&szlig; C++ Programme nicht korrekt (oder gar nicht)
&uuml;bersetzt werden.</para>
<para>Diese Anleitung zur Aktualisierung ist nur f&uuml;r Benutzer
gedacht, die schon einen halbwegs aktuellen &os;
&release.branch; Snapshot installiert haben.</para>
</warning>
<sect2>
<title>Einf&uuml;hrung</title>
<para>Bei der Aktualisierung werden die vom Benutzer
ausgew&auml;hlten Distributionen durch die entsprechenden
Distributionen der neuen &os;-Version ersetzt. Die normalen
Konfigurationsdateien des Systems, Benutzerdaten, installierte
Packages und andere Software werden nicht aktualisiert.</para>
<para>Systemadministratoren, die eine Aktualisierung planen,
sollten dieses Kapitel komplett lesen, bevor sie die
Aktualisierung durchf&uuml;hren, um das Risiko eines Fehlschlags
oder Datenverlustes zu vermeiden.</para>
<sect3>
<title>&Uuml;bersicht</title>
<para>Um eine Distribution zu aktualisieren, wird die neue
Version dieser Komponente &uuml;ber die alte Version kopiert.
Die zur alten Version geh&ouml;renden Dateien werden nicht
gel&ouml;scht.</para>
<para>Die Systemkonfiguration bleibt erhalten, da die
urspr&uuml;nglichen Versionen der nachfolgend aufgef&uuml;hrten
Dateien gesichert und zur&uuml;ckgespielt werden:</para>
<para><filename>Xaccel.ini</filename>,
<filename>XF86Config</filename>,
<filename>adduser.conf</filename>,
<filename>aliases</filename>,
<filename>aliases.db</filename>,
<filename>amd.map</filename>,
<filename>crontab</filename>,
<filename>csh.cshrc</filename>,
<filename>csh.login</filename>,
<filename>csh.logout</filename>,
<filename>cvsupfile</filename>,
<filename>dhclient.conf</filename>,
<filename>disktab</filename>,
<filename>dm.conf</filename>,
<filename>dumpdates</filename>,
<filename>exports</filename>,
<filename>fbtab</filename>,
<filename>fstab</filename>,
<filename>ftpusers</filename>,
<filename>gettytab</filename>,
<filename>gnats</filename>,
<filename>group</filename>,
<filename>hosts</filename>,
<filename>hosts.allow</filename>,
<filename>hosts.equiv</filename>,
<filename>hosts.lpd</filename>,
<filename>inetd.conf</filename>,
<filename>localtime</filename>,
<filename>login.access</filename>,
<filename>login.conf</filename>,
<filename>mail</filename>,
<filename>mail.rc</filename>,
<filename>make.conf</filename>,
<filename>manpath.config</filename>,
<filename>master.passwd</filename>,
<filename>motd</filename>,
<filename>namedb</filename>,
<filename>networks</filename>,
<filename>newsyslog.conf</filename>,
<filename>nsmb.conf</filename>,
<filename>nsswitch.conf</filename>,
<filename>pam.conf</filename>,
<filename>passwd</filename>,
<filename>periodic</filename>,
<filename>ppp</filename>,
<filename>printcap</filename>,
<filename>profile</filename>,
<filename>pwd.db</filename>,
<filename>rc.conf</filename>,
<filename>rc.conf.local</filename>,
<filename>rc.firewall</filename>,
<filename>rc.local</filename>,
<filename>remote</filename>,
<filename>resolv.conf</filename>,
<filename>rmt</filename>,
<filename>sendmail.cf</filename>,
<filename>sendmail.cw</filename>,
<filename>services</filename>,
<filename>shells</filename>,
<filename>skeykeys</filename>,
<filename>spwd.db</filename>,
<filename>ssh</filename>,
<filename>syslog.conf</filename>,
<filename>ttys</filename>,
<filename>uucp</filename></para>
<para>Die zur neuen Version geh&ouml;renden Versionen dieser
Dateien werden im Verzeichnis
<filename>/etc/upgrade/</filename> abgelegt. Sie sollten
einen Blick auf diese Dateien werfen und gegebenenfalls die Neuerungen
in das bestehende System einarbeiten. Allerdings gibt es
viele Wechselwirkungen zwischen den einzelnen Dateien; daher
empfehlen wir Ihnen, alle lokalen Anpassungen in die neuen
Dateien einzutragen und dann diese zu verwenden.</para>
<para>W&auml;hrend der Aktualisierung werden Sie gebeten, ein
Verzeichnis anzugeben, in dem Kopien aller Dateien aus dem
Verzeichnis <filename>/etc/</filename> abgelegt werden. Falls
Sie &Auml;nderungen in anderen Dateien vorgenommen haben,
k&ouml;nnen Sie diese aus diesem Verzeichnis
restaurieren.</para>
</sect3>
</sect2>
<sect2>
<title>Vorgehensweise</title>
<para>In diesem Abschnitt finden Sie Details zur Vorgehensweise
bei der Aktualisierung, dabei wird ein besonderes Augenmerk auf
die Punkte gelegt, bei denen besonders stark vor einer normalen
Installation abgewichen wird.</para>
<sect3>
<title>Datensicherung</title>
<para>Sie sollten Kopien der Benutzerdaten und
Konfigurationsdateien anlegen, bevor Sie das System
aktualisieren. Das Programm zur Aktualisierung versucht,
Fehler und Fehlbedienungen so weit wie m&ouml;glich zu
verhindern, aber es ist immer noch m&ouml;glich, da&szlig;
Daten oder Konfigurationsinformationen teilweise oder
vollst&auml;ndig gel&ouml;scht werden.</para>
</sect3>
<sect3>
<title>Mounten der Dateisysteme</title>
<para>Im <literal>disklabel editor</literal> werden die
vorhandenen Dateisysteme aufgef&uuml;hrt. Sie sollten vor dem
Beginn der Aktualisierung eine Liste der vorhandenen
Ger&auml;tenamen und der dazugeh&ouml;rigen Mountpoints
anlegen. Die Namen der Mountpoints m&uuml;ssen hier angegeben
werden. Sie d&uuml;rfen das <quote>newfs flag</quote>
f&uuml;r die Dateisysteme <emphasis>auf gar keinen
Fall</emphasis> aktivieren, da Sie sonst Daten verlieren
werden.</para>
</sect3>
<sect3>
<title>Auswahl der Distributionen</title>
<para>Es gibt keine Einschr&auml;nkungen bei der Auswahl der zu
aktualisierenden Distributionen. Allerdings sollten Sie die
Distribution <literal>base</literal> auf jeden Fall
aktualisieren; wenn Sie die Onlinehilfe installiert hatten,
sollte auch die Distribution <literal>man</literal>
aktualisieren. Wenn Sie zus&auml;tzliche Funktionalit&auml;t
hinzuf&uuml;gen wollen, k&ouml;nnen Sie auch Distributionen
ausw&auml;hlen, die bisher noch nicht installiert
waren.</para>
</sect3>
<sect3 id="fstab">
<title>Nach der Installation</title>
<para>Sobald die Installation abgeschlossen ist, werden Sie
aufgefordert, die neuen Konfigurationsdatei zu pr&uuml;fen. Zu
diesem Zeitpunkt sollten Sie &uuml;berpr&uuml;fen, ob die neue
Konfiguration korrekt ist. Dabei sollten Sie besonders auf
die Inhalte der Dateien <filename>/etc/rc.conf</filename> und
<filename>/etc/fstab</filename> achten.</para>
</sect3>
</sect2>
<sect2>
<title>Aktualisierung &uuml;ber den Quellcode</title>
<para>Wenn Sie an einer flexibleren und ausgefeilteren
M&ouml;glichkeit zur Aktualisierung Ihres Systems interessiert
sind, sollten Sie einen Blick in das Kapitel <ulink
url="http://www.FreeBSD.org/doc/de_DE.ISO8859-1/books/handbook/cutting-edge.html">The
Cutting Edge</ulink> des &os; Handbuchs werfen. Bei dieser
Variante erzeugen Sie &os; aus dem Quellcode komplett neu.
Diese Variante braucht eine verl&auml;&szlig;liche
Netzwerkverbindung, mehr Plattenplatz und mehr Zeit, bietet aber
Vorteile f&uuml;r Netzwerke und andere komplexe Installationen.
Sie entspricht ungef&auml;hr der Vorgehensweise, die f&uuml;r die
Entwicklungszweige -STABLE und -CURRENT verwendet wird.</para>
<para><filename>/usr/src/UPDATING</filename> enth&auml;lt wichtige
Informationen, wenn Sie ein &os; System mit Hilfe des Quellcodes
aktualisieren m&ouml;chten. Hier finden Sie eine Liste aller
Probleme, die durch &Auml;nderungen in &os; auftreten
k&ouml;nnen und die Aktualisierung beeinflussen
k&ouml;nnten.</para>
</sect2>
</sect1>
@@ -1,23 +0,0 @@
# $FreeBSD$
# $FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/installation/i386/Makefile,v 1.2 2002/03/10 18:41:43 ue Exp $
# $Id: Makefile,v 1.3 2002/03/10 15:37:18 ue Exp $
# basiert auf: 1.4
RELN_ROOT?= ${.CURDIR}/../../..
DOC?= article
FORMATS?= html
INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=
# SGML content
SRCS+= article.sgml
SRCS+= ../common/artheader.sgml
SRCS+= ../common/abstract.sgml
SRCS+= ../common/install.sgml
SRCS+= ../common/layout.sgml
SRCS+= ../common/trouble.sgml
SRCS+= ../common/upgrade.sgml
.include "${RELN_ROOT}/share/mk/doc.relnotes.mk"
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
@@ -1,32 +0,0 @@
<!--
$FreeBSD$
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/installation/i386/article.sgml,v 1.5 2002/12/07 21:09:56 ue Exp $
basiert auf: 1.4
-->
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN">
%man;
<!ENTITY % authors PUBLIC "-//FreeBSD//ENTITIES DocBook Author Entities//EN">
%authors;
<!ENTITY % mlists PUBLIC "-//FreeBSD//ENTITIES DocBook Mailing List Entities//DE">
%mlists;
<!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN">
%release;
<!ENTITY % sections SYSTEM "../common/install.ent"> %sections;
<!-- Architecture-specific customization -->
<!ENTITY arch "i386">
<!ENTITY arch.print "i386">
]>
<article lang="de">
&artheader;
&abstract;
&sect.install;
&sect.layout;
&sect.upgrade;
&sect.trouble;
</article>
@@ -1,22 +0,0 @@
# $FreeBSD$
# $FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/installation/ia64/Makefile,v 1.1 2002/11/09 20:07:25 ue Exp $
# basiert auf: 1.1
RELN_ROOT?= ${.CURDIR}/../../..
DOC?= article
FORMATS?= html
INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=
# SGML content
SRCS+= article.sgml
SRCS+= ../common/artheader.sgml
SRCS+= ../common/abstract.sgml
SRCS+= ../common/install.sgml
SRCS+= ../common/layout.sgml
SRCS+= ../common/trouble.sgml
SRCS+= ../common/upgrade.sgml
.include "${RELN_ROOT}/share/mk/doc.relnotes.mk"
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
@@ -1,33 +0,0 @@
<!--
$FreeBSD$
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/installation/ia64/article.sgml,v 1.1 2002/11/09 20:07:25 ue Exp $
basiert auf: 1.1
-->
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN">
%man;
<!ENTITY % authors PUBLIC "-//FreeBSD//ENTITIES DocBook Author Entities//EN">
%authors;
<!ENTITY % mlists PUBLIC "-//FreeBSD//ENTITIES DocBook Mailing List Entities//DE">
%mlists;
<!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN">
%release;
<!ENTITY % sections SYSTEM "../common/install.ent"> %sections;
<!-- Architecture-specific customization -->
<!ENTITY arch "ia64">
<!ENTITY arch.print "IA-64">
]>
<article lang="de">
&artheader;
&abstract;
&sect.install;
&sect.layout;
&sect.upgrade;
&sect.trouble;
</article>
@@ -1,22 +0,0 @@
# $FreeBSD$
# $FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/installation/pc98/Makefile,v 1.1 2002/07/08 18:41:45 ue Exp $
# basiert auf: 1.1
RELN_ROOT?= ${.CURDIR}/../../..
DOC?= article
FORMATS?= html
INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=
# SGML content
SRCS+= article.sgml
SRCS+= ../common/artheader.sgml
SRCS+= ../common/abstract.sgml
SRCS+= ../common/install.sgml
SRCS+= ../common/layout.sgml
SRCS+= ../common/trouble.sgml
SRCS+= ../common/upgrade.sgml
.include "${RELN_ROOT}/share/mk/doc.relnotes.mk"
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
@@ -1,32 +0,0 @@
<!--
$FreeBSD$
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/installation/pc98/article.sgml,v 1.2 2002/10/12 18:02:23 ue Exp $
basiert auf: 1.1
-->
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN">
%man;
<!ENTITY % authors PUBLIC "-//FreeBSD//ENTITIES DocBook Author Entities//EN">
%authors;
<!ENTITY % mlists PUBLIC "-//FreeBSD//ENTITIES DocBook Mailing List Entities//DE">
%mlists;
<!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN">
%release;
<!ENTITY % sections SYSTEM "../common/install.ent"> %sections;
<!-- Architecture-specific customization -->
<!ENTITY arch "pc98">
<!ENTITY arch.print "NEC PC-98x1">
]>
<article lang="de">
&artheader;
&abstract;
&sect.install;
&sect.layout;
&sect.upgrade;
&sect.trouble;
</article>
@@ -1,20 +0,0 @@
# $FreeBSD$
# $FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/installation/sparc64/Makefile,v 1.1 2002/03/14 18:23:47 ue Exp $
# basiert auf: 1.1
RELN_ROOT?= ${.CURDIR}/../../..
DOC?= article
FORMATS?= html
INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=
# SGML content
SRCS+= article.sgml
SRCS+= install.sgml
SRCS+= ../common/artheader.sgml
SRCS+= ../common/install.sgml
SRCS+= ../common/layout.sgml
.include "${RELN_ROOT}/share/mk/doc.relnotes.mk"
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
@@ -1,34 +0,0 @@
<!--
$FreeBSD$
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/installation/sparc64/article.sgml,v 1.3 2002/11/16 12:10:42 ue Exp $
basiert auf: 1.4
-->
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
<!ENTITY release.url "ftp://ftp.FreeBSD.org/pub/FreeBSD/development/sparc64/">
<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN">
%man;
<!ENTITY % authors PUBLIC "-//FreeBSD//ENTITIES DocBook Author Entities//EN">
%authors;
<!ENTITY % mlists PUBLIC "-//FreeBSD//ENTITIES DocBook Mailing List Entities//DE">
%mlists;
<!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN">
%release;
<!ENTITY % sections SYSTEM "../common/install.ent"> %sections;
<!-- Architecture-specific customization -->
<!ENTITY arch "sparc64">
<!ENTITY arch.print "UltraSPARC">
]>
<article lang="de">
&artheader;
&abstract;
&sect.install;
&sect.layout;
&sect.upgrade;
&sect.trouble;
</article>
@@ -1,619 +0,0 @@
<!--
$FreeBSD$
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/installation/sparc64/install.sgml,v 1.10 2003/01/13 20:30:51 ue Exp $
basiert auf: 1.14
This file contains sparc64-specific installation instructions.
-->
<sect1 id="install">
<title>Installation von &os;</title>
<para>Hier finden Sie Informationen, wie Sie die &arch; Version
installieren und booten k&ouml;nnen. Wenn Sie diese Version
benutzen, sollten Sie sich auf jeden Fall auf der Mailingliste
&a.sparc; eintragen.</para>
<warning>
<para>Die weiter unten genannten Programme und Kernel sind
experimenteller Natur; z.B. enth&auml;lt der Kernel
&Auml;nderungen bei der Behandlung von ATA und EEPOMS, die
potentiell gef&auml;hrlich sind. Wenn Sie sich nicht mit &os;
und &arch; auskennen oder nicht bereit sind, selbst Hand
anzulegen, um Probleme und Sch&auml;den zu beseitigen, sollten
Sie besser die Finger von dieser Version lassen.</para>
</warning>
<para>[Anmerkung des &Uuml;bersetzers: Diese Warnung ist nicht im
Sinne der &uuml;blichen <quote>Bitte nutzen Sie Ihre Mikrowelle
nicht zum Trocknen von kleinen Kindern und Hunden</quote> Hinweise
zu verstehen, die meinen das ernst.]</para>
<para>F&uuml;r &os;/&arch; gibt das von &os;/i386 und &os;/alpha
verwendete &man.sysinstall.8; nicht. Zur Installation m&uuml;ssen
Sie einen Kernel (von CD oder &uuml;ber ein Netzwerk) auf das
&arch; System laden, das Root-Dateisystem liegt entweder auf der
CD oder wird via NFS exportiert. Die Programme auf dem
Root-Dateisystem k&ouml;nnen dann dazu genutzt werden, die lokale
Festplatte zu partitionieren. Sie k&ouml;nnen danach die &os;
Distribution auf die lokale Festplatte kopieren, um ein
eigenst&auml;ndiges System zu bekommen.</para>
<para>Es gibt zwei Varianten bei der Installation von &os;/&arch;
auf einem System. Die einfachere Variante ist die Installation
von CD, dadurch k&ouml;nnen Sie &os; installieren, ohne auf andere
Rechner angewiesen zu sein.</para>
<para>Wenn Sie nicht von CD installieren k&ouml;nnen oder wollen,
k&ouml;nnen Sie alternativ auch &uuml;ber ein Netzwerk
installieren. Dazu ben&ouml;tigen Sie eine andere Maschine, die
so konfiguriert ist, da&szlig; sie der neuen Maschine Boot Loader,
Kernel und Root-Dateisystem zur Verf&uuml;gung stellt. Dazu
werden RARP, TFTP und BOOTP oder DHPC genutzt. Dieser
<literal>netboot</literal> Server kann ein anderes &os; System
sein, aber das ist nicht unbedingt notwendig.</para>
<para>Sie m&uuml;ssen sich f&uuml;r eine der beiden Varianten
entscheiden, da Sie f&uuml;r die beiden Versionen unterschiedliche
Dateien ben&ouml;tigen; au&szlig;erdem unterscheidet sich die
Vorgehensweise bei den beiden Varianten deutlich.</para>
<important>
<para>Die hier genannten URLs sind vorl&auml;ufig und k&ouml;nnen
sich jederzeit &auml;ndern. Sie sollten im Zweifelsfall einen
Blick in das Archiv der Mailingliste &a.sparc; werfen, um die
derzeit aktuellen URLs zu erhalten. Wenn sich die Situation
stabilisiert hat, wird dieser Hinweis entfernt.</para>
<para>[Anmerkung des &Uuml;bersetzers: Aus genau diesem Grund
finden Sie hier noch keine Verweise auf deutsche Server.</para>
</important>
<sect2 id="getting-to-prom-prompt">
<title>Start von OpenBoot</title>
<para>Die meisten &arch; Systeme booten automatisch von
Festplatte. Wenn Sie &os; installieren wollen, m&uuml;ssen Sie
den Startvorgang abbrechen, um zur OpenBoot Eingabeaufforderung
zu gelangen.</para>
<para>Dazu m&uuml;ssen Sie das System und auf die Boot-Meldung
warten. Diese ist zwar modellabh&auml;ngig, sollte aber wie
folgt aussehen:</para>
<screen>Sun Blade 100 (UltraSPARC-IIe), Keyboard Present
Copyright 1998-2001 Sun Microsystems, Inc. All rights reserved.
OpenBoot 4.2, 128 MB memory installed, Serial #51090132.
Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.</screen>
<para>Wenn Ihr System jetzt von Festplatte startet, m&uuml;ssen
Sie die Tastenkombination <keycombo
action="simul"><keycap>L1</keycap><keycap>A</keycap></keycombo>
oder <keycombo
action="simul"><keycap>Stop</keycap><keycap>A</keycap></keycombo>
dr&uuml;cken. Wenn Sie eine serielle Konsole verwenden,
m&uuml;ssen Sie ein <command>BREAK</command> senden (z.B. durch
die Eingabe von <command>~#</command> in &man.tip.1; oder
&man.cu.1;). Danach sollten Sie die Eingabeaufforderung von
OpenBoot sehen, die wie folgt aussieht:</para>
<screenco>
<areaspec>
<area id="prompt-single" coords="1 5">
<area id="prompt-smp" coords="2 5">
</areaspec>
<screen><prompt>ok </prompt>
<prompt>ok {0} </prompt></screen>
<calloutlist>
<callout arearefs="prompt-single">
<para>Diese Variante wird auf Systemen mit nur einer CPU
benutzt.</para>
</callout>
<callout arearefs="prompt-smp">
<para>Diese Varianten wird von SMP Systemen benutzt, die
Zahl ist die Nummer der aktiven CPU.</para>
</callout>
</calloutlist>
</screenco>
</sect2>
<sect2 id="prepare-cd">
<title>Vorbereitungen f&uuml;r die Installation von CD</title>
<para>Wenn Sie von CD installieren wollen, finden Sie ein ISO
Image mit einem Schnappschu&szlig; der aktuellen Version von
&os;/&arch; bei <ulink url="&release.url;"></ulink>. Mit dieser
Datei k&ouml;nnen Sie eine bootf&auml;hige CD erzeugen, auf der
sich alle notwendigen Dateien f&uuml;r den Systemstart und die
Erzeugung einer minimalen &os; Installation befinden.</para>
<!-- XXX ISO location?-->
<para>Legen Sie die CD ein, und wechseln Sie wie oben beschrieben
zur Eingabeaufforderung von OpenBoot. Geben Sie jetzt
<command>boot cdrom</command> ein. Das System sollte jetzt in
Single-User-Mode starten, danach k&ouml;nnen Sie die Festplatte
partitionieren und das Basissystem installieren, wie in <xref
linkend="creating-disk-label"> und <xref
linkend="creating-root-filesystem"> beschrieben.</para>
</sect2>
<sect2 id="prepare-network">
<title>Vorbereitungen f&uuml;r die Netzwerk-Installation</title>
<para>Um den &os;/&arch; Kernel zu starten, mu&szlig; die Firmware
den <application>Loader</application> laden und starten, dieser
l&auml;dt und startet dann den eigentlichen Kernel. Dazu
m&uuml;ssen Sie &man.rarpd.8; und &man.tftpd.8; (f&uuml;r die
Firmware) bzw. &man.bootpd.8; (f&uuml;r den
<application>Loader</application>) konfigurieren. Der Loader
kann TFTP oder NFS nutzen, um den Kernel zu laden. Weitere
Informationen dazu finden Sie in den folgenden Kapiteln.</para>
<sect3 id="downloading">
<title>Download der ben&ouml;tigten Dateien</title>
<para>Wenn Sie &uuml;ber ein Netzwerk installieren wollen,
brauchen Sie mehrere Dateien. Die erste ist der &os;/&arch;
Loader, der von &man.tftpd.8; f&uuml;r Ihr &arch; System
bereitgestellt wird. Der Nutzer benutzt entweder TFTP oder
NFS, um den &os; Kernel vom Netboot Server zu laden. F&uuml;r
jede dieser beiden Methoden gibt es einen separaten Loader
(also einen f&uuml;r TFTP und einen f&uuml;r NFS). Sie
brauchen also nur eine dieser beiden Dateien:</para>
<itemizedlist>
<listitem>
<para><ulink
url="&release.url;loader-tftp.gz"></ulink></para>
</listitem>
<listitem>
<para><ulink
url="&release.url;loader-nfs.gz"></ulink></para>
</listitem>
</itemizedlist>
<para>Die zweite Datei ist der Kernel, der dem bootenden System
zur Verf&uuml;gung gestellt wird. Diese Datei finden Sie auf
<ulink url="&release.url;"></ulink>.</para>
<!-- XXX kernel filename?-->
<para>Die dritte (und letzte) Datei ist das &man.tar.1; Archiv
mit den Programmen und Konfigurationsdateien des Basissystems.
Dieses Archiv finden Sie hier: <ulink
url="&release.url;distrib.tar.gz"></ulink>.</para>
</sect3>
<sect3>
<title>rarpd</title>
<para>Sie m&uuml;ssen die Ethernet-Adresse Ihres &os;/&arch;
System auf dem Netboot Server in die Datei
<filename>/etc/ethers</filename> eintragen. Die Eintr&auml;ge
sehen wie folgt aus:</para>
<programlisting>0:3:ba:b:92:d4 your.host.name</programlisting>
<para>Sie finden die Ethernet-Adresse in der Boot-Meldung Ihres
Systems.</para>
<para>Vergewissern Sie sich, da&szlig; in
<filename>/etc/hosts</filename> ein Eintrag f&uuml;r
<hostid>your.host.name</hostid> steht. Alternativ k&ouml;nnen
Sie einen entsprechenden DNS-Eintrag verwenden oder gleich
eine IP-Adresse verwenden. Danach m&uuml;ssen Sie
&man.rarpd.8; auf einem Netzwerk-Interface starten, das sich
im gleichen Subnetz wie Ihr &os;/&arch; System
befindet.</para>
</sect3>
<sect3>
<title>tftpd</title>
<para>In der Konfiguration von &man.inetd.8; mu&szlig;
&man.tftpd.8; aktiviert werden. Dazu m&uuml;ssen Sie in der
Datei <filename>/etc/inetd.conf</filename> das
Kommentarzeichen vor der folgenden Zeile entfernen:</para>
<programlisting>tftp dgram udp wait nobody /usr/libexec/tftpd tftpd /tftpboot</programlisting>
<para>Entpacken Sie den Loader und kopieren Sie ihn in das
Verzeichnis <filename>/tftpboot</filename>. Allerdings
k&ouml;nnen Sie der Datei keinen beliebigen Namen geben. Der
Dateiname mu&szlig; die IP-Adresse des &os;/&arch; in
hexadezimaler Notation in Gro&szlig;buchstaben und ohne Punkte
sein. Es ist nicht notwendig, die Datei umzubenennen, Sie
k&ouml;nnen auch einen symbolischen Link verwenden. Wenn die
IP-Adresse des &os;/&arch; Systems
<hostid>192.168.0.16</hostid> ist, w&uuml;rde Ihr
<filename>/tftpboot</filename>-Verzeichnis so
aussehen:</para>
<screen> lrwx------ 1 tmm users 9 Jul 24 17:05 /tftpboot/C0A80010 -> boot/loader
-rw-r--r-- 1 tmm users 1643021 Oct 20 18:04 /tftpboot/boot/loader</screen>
<para>Wenn Sie Probleme beim Systemstart haben, sollten Sie die
TFTP Anfragen mit &man.tcpdump.1; kontrollieren. Dadurch
sehen Sie, welchen Dateinamen Sie f&uuml;r den Loader benutzen
m&uuml;ssen. Fehlermeldungen des TFTP Servers werden in der
Regel durch falsche Berechtigungen verursacht.</para>
</sect3>
<sect3>
<title>Konfiguration von bootpd/dhcpd</title>
<para>Sie k&ouml;nnen entweder BOOTP oder DHCP (nicht beide
gleichzeitig) verwenden, um den Loader mit Informationen (wie
der IP-Adresse des Systems) zu versorgen. Wenn Sie ein &os;
System als Netboot Server benutzen, wird die BOOTP
Funktionalit&auml;t von &man.bootpd.8; bereitgestellt, der ein
Teil des &os; Basissystems ist. In der &os; Ports Collection
finden Sie verschiedene DHCP Server.</para>
<para>Wenn Sie &man.bootpd.8; benutzen, m&uuml;ssen Sie in
<filename>/etc/bootptab</filename> entsprechende Eintr&auml;ge
(Details finden Sie in &man.bootptab.5;) f&uuml;r Ihr
&os;/&arch; System erzeugen:</para>
<programlisting>.default:\
:bf="kernel":dn=local:ds=<replaceable>name-server-ip-address</replaceable>:\
:gw=<replaceable>gateway-ip-address</replaceable>:ht=ether:hd="/tftpboot/boot/kernel":hn:\
:sa="<replaceable>tftp-server-ip-address</replaceable>":\
:rp="<replaceable>tftp-server-ip-address</replaceable>:<replaceable>nfs-root-directory</replaceable>":\
:sm=<replaceable>ip-netmask</replaceable>
<replaceable>Name-des-Eintrags</replaceable>:\
ha=<replaceable>sparc64-ethernet-address</replaceable>:ip=<replaceable>sparc64-ip-address</replaceable>:tc=.default</programlisting>
<para>Die Ethernet-Adresse mu&szlig; mit der Adresse
&uuml;bereinstimmen, die Sie f&uuml;r TFTP verwendet haben;
allerdings mu&szlig; hier die hexadezimale Notation ohne
Doppelpunkte verwendet werden (f&uuml;r das oben verwendete
Beispiel w&auml;re das <literal>0003ba0b92d4</literal>). Sie
k&ouml;nnen die NFS/TFTP-spezifischen Eintr&auml;ge weglassen,
wenn Sie diese Variante nicht verwenden. Die Werte f&uuml;r
<literal>hd</literal> und <literal>bf</literal> werden
zusammengesetzt, um Dateinamen der zu bootenden Datei zu
erhalten. Wenn der Dateiname Ihres Kernels anders ist oder
Sie ein anderes Verzeichnis verwenden, m&uuml;ssen Sie diese
Werte anpassen. Wenn Sie NFS verwenden, sollten Sie die
Einstellungen <literal>bf</literal> und <literal>hd</literal>
entfernen oder dort das Verzeichnis und den Dateinamen im NFS
Root Dateisystem eintragen, in dem der Kernel liegt.
&Uuml;blicherweise wird f&uuml;r den Namen des Eintrags der
Hostname des Zielsystems ohne die Domain verwendet.</para>
<para>Wenn Sie einen DHCP Server verwenden, brauchen Sie einen
Eintrag in der <filename>dhcpd.conf</filename>. Ein Beispiel
f&uuml;r einen solchen Eintrag f&uuml;r den <application>ISC
DHCP</application> Version 2 (in der &os; Ports Collection
als <filename role="package">net/isc-dhcp2</filename>
erh&auml;ltlich) finden Sie weiter unten:</para>
<programlisting>host <replaceable>name-of-entry</replaceable> {
hardware ethernet <replaceable>sparc64-ethernet-address</replaceable>;
option host-name "<replaceable>sparc64-fully-qualified-domain-name</replaceable>";
fixed-address <replaceable>sparc64-ip-address</replaceable>;
always-reply-rfc1048 on;
filename "kernel";
option root-path "<replaceable>tftp-server-ip-address</replaceable>:<replaceable>nfs-root-directory</replaceable>";
}</programlisting>
<para>Die Option <literal>filename</literal> entspricht dem
zusammengesetzten Wert von <literal>hd</literal> und
<literal>bf</literal> in <filename>/etc/bootptab</filename>.
Die Ethernet-Adresse wird in hexadezimaler Notation mit
Doppelpunkten angaben, genau wie bei &man.rarpd.8;.
<literal>options root-path</literal> entspricht der
<literal>rp</literal> in <filename>/etc/bootptab</filename>.
Wenn der in <literal>option host-name</literal> angegebene
Name aufgel&ouml;st werden kann, also einen Eintrag im DNS
oder in <filename>/etc/hosts</filename> hat, kann auf die
Angabe von <literal>fixed-address</literal> verzichtet
werden.</para>
</sect3>
<sect3>
<title>Laden des Kernels</title>
<para>Wenn Sie die Daemonen auf dem Netboot Server konfiguriert
haben, m&uuml;ssen Sie im n&auml;chsten Schritt den Kernel an
die richtige Stelle kopieren (Informationen, woher Sie den
Kernel bekommen k&ouml;nnen, finden Sie in <xref
linkend="downloading">). Es gibt zwei M&ouml;glichkeiten, um
den Kernel &uuml;ber ein Netzwerk zu laden: TFTP oder NFS.
Welche der beiden Alternativen Sie verwenden, haben Sie
bereits bei der Auswahl des Loaders festgelegt.</para>
<para>Sowohl bei TFTP als auch bei NFS wird der Loader die via
BOOTP oder DHCP erhaltenen Informationen verwenden, um den
Kernel zu finden.</para>
<sect4>
<title>Laden des Kernels mit TFTP</title>
<para>Legen Sie den Kernel an die Stelle, die Sie in der
<filename>/etc/bootptab</filename> mit <literal>bf</literal>
und <literal>hd</literal> bzw. in der
<filename>dhcpd.conf</filename> mit
<literal>filename</literal> angegeben haben.</para>
</sect4>
<sect4>
<title>Laden des Kernels via NFS</title>
<para>Exportieren Sie das Verzeichnis, das Sie in der
<filename>/etc/bootptab</filename> unter
<literal>rp</literal> bzw. in der
<filename>dhcpd.conf</filename> mit
<literal>root-path</literal> definiert haben (siehe
&man.exports.5;). Kopieren Sie den Kernel in das
Verzeichnis, das Sie in der
<filename>/etc/bootptab</filename> mit <literal>bf</literal>
und <literal>hd</literal> bzw. in der
<filename>dhcpd.conf</filename> mit
<literal>filename</literal> angegeben haben.</para>
</sect4>
</sect3>
<sect3>
<title>Installation des Basissystems auf dem NetBoot
Server</title>
<para>Sie m&uuml;ssen das Archiv mit dem Verzeichnis entpacken,
das Sie in der <filename>/etc/bootptab</filename> unter
<literal>rp</literal> bzw. in der
<filename>dhcpd.conf</filename> mit
<literal>root-path</literal> definiert haben. Dieses
Verzeichnis wird nach dem Start des Kernels zum Root
Dateisystem f&uuml;r &arch; werden. Neben den &uuml;blichen
Benutzerprogrammen enth&auml;lt es alle notwendigen Programme,
um das Basissystem auf der lokalen Festplatte des &arch;
Systems zu installieren.</para>
<para>Sie werden wahrscheinlich die auf dem Netboot Server zur
Verf&uuml;gung stehenden Programme verwenden wollen, um die
von &arch; verwendete <filename>/etc/fstab</filename> und
<filename>/etc/rc.conf</filename> anzupassen und das
<username>root</username> Pa&szlig;wort zu
&auml;ndern.</para>
</sect3>
<sect3>
<title>Start des Systems</title>
<para>Wenn Sie alles richtig gemacht haben, sollten Sie jetzt
&os; auf Ihrem &arch; System starten, indem Sie zur
Eingabeaufforderung von OpenBoot wechseln, wie in <xref
linkend="getting-to-prom-prompt"> beschrieben. Wenn sie jetzt
<command>boot net</command> eingeben, sollte das System
hochfahren. Um genau zu sein, der Loader wird mit TFTP
geladen, setzt dann einen BOOTP Request ab und l&auml;dt den
Kernel via TFTP oder NFS, je nach verwendeter Variante des
Loaders. Danach sollte es 10 Sekunden auf eine Eingabe warten
und anschlie&szlig;end den Kernel starten.</para>
<para>Wenn irgend etwas nicht funktioniert und Sie ein Problem
mit TFTP/NFS/BOOTP vermuten, sollten Sie zur Fehlersuche
<application>Ethereal</application> (<filename
role="package">net/ethereal</filename> in der &os; Ports
Collection) verwenden. In den meisten F&auml;llen werden die
Probleme durch falsche Zugriffsrechte f&uuml;r die Dateien
verursacht. Weiterhin ist es in einigen F&auml;llen
m&ouml;glich, da&szlig; &man.rarpd.8; nicht reagiert, weitere
Informationen finden Sie in der Onlinehilfe.</para>
</sect3>
</sect2>
<sect2 id="creating-disk-label">
<title>Aufteilung der Festplatte</title>
<para>Der Kernel unterst&uuml;tzt das von Sun f&uuml;r den
<literal>Disk Label</literal> verwendete Format, sie k&ouml;nnen
die f&uuml;r &os; verwendete Platte also auch mit Solaris
partitionieren.</para>
<para>Da es f&uuml;r &os;/&arch; noch kein &man.sysinstall.8;
gibt, m&uuml;ssen Sie das Disk Label manuell erzeugen, wenn Sie
&os;/&arch; &os; verwenden. Weitere Informationen zu diesem
Thema k&ouml;nnen Sie dem <ulink
url="http://www.FreeBSD.org/doc/de_DE.ISO8859-1/books/handbook/">FreeBSD
Handbuch</ulink> entnehmen.</para>
<para>Bei &os;/&arch; mu&szlig; ein Sun-kompatibles Label in das
&os; Label eingebettet werden, damit OpenBoot von der Platte
booten kann. Dadurch ergibt sich eine zus&auml;tzliche
Einschr&auml;nkung: Der Anfang der Partitionen mu&szlig; auf
einer Zylindergrenze liegen.</para>
<para>Um ein Disk Label zu erzeugen, sollten Sie wie folgt
vorgehen:</para>
<procedure>
<step>
<para>Erzeugen sie mit <command>disklabel -w -r
<replaceable>device</replaceable> auto</command> ein leeres
Standard-Label. Der dritte Parameter ist der Name des
Ger&auml;tes, nicht der komplette Pfad zur Node f&uuml;r
dieses Ger&auml;t (z.B. <devicename>ad0</devicename>
f&uuml;r die erste ATA Festplatte).</para>
</step>
<step>
<para>Mit dem Befehl <command>disklabel -e
<replaceable>device</replaceable></command> starten Sie
einen Editor, in dem Sie das Disk Label bearbeiten
k&ouml;nnen. Das Disk Label sieht wie folgt aus:</para>
<screen># /dev/ad6c:
type: unknown
disk: amnesiac
label:
flags:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 16
sectors/cylinder: 1008
cylinders: 79780
sectors/unit: 80418240
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0 # milliseconds
track-to-track seek: 0 # milliseconds
drivedata: 0
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
c: 80418240 0 unused 0 0 # (Cyl. 0 - 79779)</screen>
<para>Sie k&ouml;nnen jetzt weitere Partitionen definieren,
diese m&uuml;ssen in dem Format vorliegen, das auch f&uuml;r
Partition <literal>c</literal> verwendet. Sie k&ouml;nnen
Sich das Leben etwas einfacher machen, wenn Sie f&uuml;r das
Feld <literal>offset</literal> immer den Wert
<literal>*</literal> angeben. Weitere Informationen finden
Sie in der Onlinehilfe zu &man.disklabel.8;.</para>
<para>Damit die oben genannte Einschr&auml;nkung eingehalten
wird, mu&szlig; die Gr&ouml;&szlig;e jeder Partition ein
ganzzahliges Vielfaches der Anzahl der Sektoren pro Zylinder
(<literal>sectors/cylinder</literal>) sein. In diesem
Beispiel w&auml;ren das 1008 Sektoren pro Zylinder.</para>
<para>Wenn Sie alle Partitionen definiert haben, m&uuml;ssen
Sie die &Auml;nderungen speichern und den Editor verlassen,
dadurch wird automatisch ein neues Disk Label
geschrieben.</para>
<warning>
<para>Dadurch wird ein bereits existierendes Disk Label
komplett &uuml;berschrieben. Wenn auf der Festplatte
bereits Dateisysteme existieren, m&uuml;ssen Sie im alten
und neuen Label <emphasis>absolut identisch</emphasis>
definiert sein. Sind sie das nicht, werden die
Dateisysteme und alle Daten auf diesen Dateisystemen
gel&ouml;scht.</para>
</warning>
<para>Wenn Sie sich nicht sicher sind, ob die Partitionen auf
einer Zylindergrenze beginnen und enden, sollten Sie
<command>disklabel -e
<replaceable>device</replaceable></command> erneut aufrufen.
Die von den Partitionen belegten Zylinder werden rechts von
den &uuml;brigen Daten der Partition angezeigt. Wenn neben
einer der von Ihnen angelegten Partitionen (also allen
Partitionen au&szlig;er Partition <literal>c</literal>) ein
<literal>*</literal> angezeigt wird, erf&uuml;llt diese
Partition die Anforderungen <emphasis>NICHT</emphasis>. Sie
<emphasis>M&Uuml;SSEN</emphasis> diese Partition
korrigieren, ansonsten wird das System nicht
funktionieren.</para>
</step>
<step>
<para>Wenn Sie mit &os;/&arch; von dieser Platte wollen,
m&uuml;ssen Sie sie mit <command>disklabel -B</command>
bootf&auml;hig machen.</para>
<warning>
<para>Durch die Verwendung von <command>disklabel
-B</command> &uuml;berschreiben Sie einen bereits
existierenden Bootsektor. Wenn auf der Platte ein anderes
Betriebssystem installiert ist, werden Sie es
anschlie&szlig;end nicht mehr starten k&ouml;nnen.</para>
</warning>
<para>Wenn Sie den Bootsektor nicht &uuml;berschreiben wollen,
ist es m&ouml;glich, den <application>Loader</application>
wie oben beschrieben via TFTP zu starten und ihn dann den
Kernel von Festplatte starten zu lassen. Dazu brauchen Sie
eine spezielle Version des Loaders, die bei <ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/development/sparc64/loader-ufs.gz"></ulink>
erh&auml;ltlich ist.</para>
</step>
</procedure>
</sect2>
<sect2 id="creating-root-filesystem">
<title>Erzeugung des Root Dateisystems</title>
<para>Wenn Sie von der lokalen Platte booten wollen, brauchen Sie
ein Root Dateisystem, das die Benutzerprogramme und
Konfigurationsdateien des Basissystems enth&auml;lt.
Nat&uuml;rlich kann es auch weitere Dateisysteme aufnehmen, die
z.B. unter <filename>/usr</filename> und
<filename>/var</filename> gemountet werden.</para>
<para>Der Kernel unterst&uuml;tzt Sun Disklabel, Sie k&ouml;nnen
also Solaris Festplatten benutzen und diese sogar in Solaris mit
<application>newfs</application> vorbereiten. Das Disk Label
und die Dateisysteme von NetBSD werden von &os; ebenfalls
unterst&uuml;tzt.</para>
<warning>
<para>Sie d&uuml;rfen <emphasis>auf gar keinen Fall</emphasis>
den <application>fsck</application> von Solaris auf
Dateisystemen nutzen, die von &os; verwendet werden, da dieser
s&auml;mtliche Zugriffsrechte &uuml;berschreibt.</para>
</warning>
<para>Um die Dateisysteme zu erzeugen und das Basissystem zu
erzeugen, starten Sie Ihr System von CD oder via NFS und legen
Sie dann wie in <xref linkend="creating-disk-label"> beschrieben
ein Disk Label an.</para>
<para>Wenn Sie das System zum ersten Mal starten und Ihr Root
Dateisystem noch nicht in <filename>/etc/fstab</filename>
eingetragen haben, m&uuml;ssen Sie wahrscheinlich Ihr Root
Dateisystem beim Start angeben. Wenn Sie die entsprechende
Eingabeaufforderung erhalten, sollten Sie das Format
<command>ufs:<replaceable>disk</replaceable><replaceable>partition</replaceable></command>
verwenden, also keine Slice angaben. Wenn der Kernel versucht,
automatisch von einem anderen Dateisystem zu booten,
dr&uuml;cken Sie eine Taste au&szlig;er <keycap>Enter</keycap>,
sobald der <application>Loader</application> die folgende
Meldung ausgibt:</para>
<screen>Hit [Enter] to boot immediately, or any other key for command prompt.</screen>
<para>Starten Sie den Kernel danach mit <command>boot -a
-s</command>, dadurch werden Sie automatisch nach dem
Root-Dateisystem gefragt, bevor das System in den
Single-User-Modus geht. Sobald das richtige Root Dateisystem in
der <filename>/etc/fstab</filename> steht, sollte es beim
n&auml;chsten Start des System automatisch als
<filename>/</filename> gemountet werden.</para>
<para>Wenn Sie &uuml;ber ein Netzwerk booten (mit NFS), sollten
die oben genannte Eintr&auml;ge BOOTP ausreichend sein, damit
der Kernel das Root Dateisystem via NFS finden und mounten
kann.</para>
</sect2>
<sect2 id="installing-base-system">
<title>Installation des Basissystems</title>
<para>Wenn Sie &uuml;ber ein Netzwerk gebootet haben, haben Sie
vorher ein &man.tar.1; Archive von heruntergeladen und es mit
NFS vom Netboot Server exportiert. Sie k&ouml;nnen das gleiche
Archiv auf der lokalen Festplatte auspacken, um einen autonomes
System zu erhalten. Denken Sie daran, da&szlig; Sie den Kernel
ebenfalls kopieren m&uuml;ssen.</para>
<para>Wenn Sie Ihr System von CD gestartet haben, finden Sie das
Archiv im Verzeichnis <filename>/root/</filename> auf der
CDROM.</para>
<para>Bevor Sie das neue System booten, sollten Sie
<filename>/etc/fstab</filename> und
<filename>/etc/rc.conf</filename> anpassen und ein Pa&szlig;wort
f&uuml;r <username>root</username> vergeben.</para>
<para>Bitte beachten Sie, da&szlig; Sie einige Programme des
Basissystems in dem Archiv fehlen oder noch nicht fehlerfrei
funktionieren.</para>
</sect2>
</sect1>
@@ -1,27 +0,0 @@
# $FreeBSD$
# $FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/readme/Makefile,v 1.2 2002/03/10 18:41:44 ue Exp $
# $Id: Makefile,v 1.5 2002/03/10 15:37:18 ue Exp $
# basiert auf: 1.7
RELN_ROOT?= ${.CURDIR}/../..
.ifdef NO_LANGCODE_IN_DESTDIR
DESTDIR?= ${DOCDIR}/readme
.else
DESTDIR?= ${DOCDIR}/de_DE.ISO8859-1/readme
.endif
DOC?= article
FORMATS?= html
INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=
#
# SRCS lists the individual SGML files that make up the document. Changes
# to any of these files will force a rebuild
#
# SGML content
SRCS+= article.sgml
.include "${RELN_ROOT}/share/mk/doc.relnotes.mk"
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
@@ -1,518 +0,0 @@
<!--
The FreeBSD German Documentation Project
The FreeBSD Documentation Project
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/readme/article.sgml,v 1.18 2003/05/11 23:28:35 mheinen Exp $
basiert auf: 1.26
-->
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN">
%man;
<!ENTITY % authors PUBLIC "-//FreeBSD//ENTITIES DocBook Author Entities//EN">
%authors;
<!ENTITY % mlists PUBLIC "-//FreeBSD//ENTITIES DocBook Mailing List Entities//DE">
%mlists;
<!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN">
%release;
<!ENTITY % misc PUBLIC "-//FreeBSD//ENTITIES DocBook Miscellaneous FreeBSD Entities//EN">
%misc;
]>
<article lang="de">
<articleinfo>
<title>&os; &release.current; README</title>
<corpauthor>Das &os; Projekt</corpauthor>
<pubdate>$FreeBSD$</pubdate>
<copyright>
<year>2000</year>
<year>2001</year>
<year>2002</year>
<year>2003</year>
<holder role="mailto:[email protected]">The FreeBSD Documentation
Project</holder>
</copyright>
<copyright>
<year>2002</year>
<year>2003</year>
<holder role="mailto:[email protected]">The
FreeBSD German Documentation Project</holder>
</copyright>
</articleinfo>
<abstract>
<para>Dieses Dokument enth&auml;lt eine kurze Einf&uuml;hrung zu &os;
&release.current;. Es enth&auml;lt einige Hinweise, wie Sie &os;
beziehen k&ouml;nnen; wie Sie Kontakt zum &os; Project aufnehmen
k&ouml;nnen, sowie Verweise auf zus&auml;tzliche
Informationsquellen.</para>
</abstract>
<sect1 id="intro">
<title>Einf&uuml;hrung</title>
<para>Diese Ausgabe von &os; ist eine &release.type;-Version von
&os; &release.current; und repr&auml;sentiert den aktuellen
Zustand im Entwicklungszweig &release.branch;.</para>
<sect2>
<title>&Uuml;ber &os;</title>
<para>&os; ist ein auf 4.4 BSD Lite basierendes Betriebssystem
f&uuml;r Intel, AMD, Cyrix oder NexGen
<quote>x86</quote>-basierte PCs (i386), NEC PC-9801/9821 und
kompatible Systeme (pc98), DEC/Compaq/HP Alpha Systeme (alpha)
und UltraSPARC Systeme (sparc64). Versionen f&uuml;r die
Plattformen IA64 (ia64), PowerPC (powerpc) und AMD
<quote>Hammer</quote> (amd64) sind ebenfalls in der
Entwicklung. &os; unterst&uuml;tzt viele verschiedene
Ger&auml;te und Umgebungen und kann f&uuml;r alle Anwendungen von
der Software-Entwicklung &uuml;ber Spiele bis zur Anbietung
von Diensten im Internet genutzt werden.</para>
<para>Diese Version von &os; stellt Ihnen alles zur
Verf&uuml;gung, was Sie zum Betrieb eines derartigen Systems
brauchen. Dazu geh&ouml;rt der Quellcode f&uuml;r den Kernel
und alle Programme des Basissystems. Wenn Sie die
<quote>source</quote> Distribution installieren, k&ouml;nnen
Sie das gesamte System mit einem einzigen Befehl neu
kompilieren. Diese Eigenschaft macht es ideal f&uuml;r
Studenten, Forscher, und interessierte Benutzer, die einfach
wissen wollen, wie das System funktioniert.</para>
<para>Die gro&szlig;e Sammlung von angepa&szlig;ter Software
anderer Anbieter (die <quote>Ports Collection</quote>) macht
es Ihnen leicht, ihre Lieblingtools f&uuml;r &unix; auch
f&uuml;r &os; zu finden und zu installieren. Jeder
<quote>port</quote> besteht aus einer Reihe von Skripten, um
eine gegebene Anwendung mit einem einzigen Kommando
herunterladen, konfigurieren, kompilieren, und installieren zu
k&ouml;nnen. Die &uuml;ber &os.numports; Ports (vom Editor
&uuml;ber Programmiersprachen bis zu graphischen Anwendungen)
machen FreeBSD zu einer leistungsstarken und umfassenden
Arbeitsumgebung, die viele kommerzielle &unix;-Varianten weit
hinter sich l&auml;&szlig;t. Die meisten Ports sind auch als
vorkompilierte Packages erh&auml;ltlich, die mit dem
Installationsprogramm einfach und schnell installiert werden
k&ouml;nnen.</para>
</sect2>
<sect2>
<title>Zielgruppe</title>
<![ %release.type.current; [
<para>Dieser &release.type; ist prim&auml;r f&uuml;r Bastler und
andere Benutzer gedacht, die sich an der laufenden Entwicklung
von &os; beteiligen wollen. Das Entwicklerteam von &os;
bem&uuml;ht sich zwar, da&szlig; jeder &release.type; so
funktioniert wie versprochen, aber &release.branch; ist nun
einmal der Entwicklungszweig.</para>
<para>Wenn Sie einen &release.type; benutzen wollen, m&uuml;ssen
Sie sich mit der Technik von &os; und den aktuellen
Vorg&auml;ngen bei der Entwicklung von &os; &release.branch;
(wie sie in der Mailingliste &a.current; diskutiert werden)
auskennen.</para>
<para>[Anmerkung des &Uuml;bersetzers: Auf der Mailingliste
&a.current; wird Englisch gesprochen und die meisten Dokumente
sind ebenfalls in dieser Sprache verfa&szlig;t worden. Ohne
gute Englischkenntnisse kommt man also nicht weit. Allerdings
ist die Beteiligung an der Entwicklung der FreeBSD eine der
interessanteren Varianten, die eigenen Englisch-Kenntnisse zu
erweitern.]</para>
<para>Wenn Sie mehr an einem st&ouml;rungsfreien Betrieb von
&os; als an den neuesten Features von &os; interessiert sind,
ist eine offizielle Release (wie z.B. &release.prev.stable;) die
deutliche bessere Wahl. Releases werden ausf&uuml;hrlich
getestet und auf Qualit&auml;t gepr&uuml;ft, um
Zuverl&auml;ssigkeit und Betriebssicherheit garantieren zu
k&ouml;nnen.</para>
]]>
<![ %release.type.snapshot; [
<para>Dieser &release.type; ist prim&auml;r f&uuml;r Bastler und
andere Benutzer gedacht, die sich an der laufenden Entwicklung
von &os; beteiligen wollen. Das Entwicklerteam von &os;
bem&uuml;ht sich zwar, da&szlig; jeder &release.type; so
funktioniert wie versprochen, aber &release.branch; ist nun
einmal der Entwicklungszweig.</para>
<para>Wenn Sie einen &release.type; benutzen wollen, m&uuml;ssen
Sie sich mit der Technik von &os; und den aktuellen
Vorg&auml;ngen bei der Entwicklung von &os; &release.branch;
(wie sie in der Mailingliste &a.current; diskutiert werden)
auskennen.</para>
<para>[Anmerkung des &Uuml;bersetzers: Auf der Mailingliste
&a.current; wird Englisch gesprochen und die meisten Dokumente
sind ebenfalls in dieser Sprache verfa&szlig;t worden. Ohne
gute Englischkenntnisse kommt man also nicht weit. Allerdings
ist die Beteiligung an der Entwicklung der FreeBSD eine der
interessanteren Varianten, die eigenen Englisch-Kenntnisse zu
erweitern.]</para>
<para>Wenn Sie mehr an einem st&ouml;rungsfreien Betrieb von
&os; als an den neuesten Features von &os; interessiert sind,
ist eine offizielle Release (wie z.B. &release.prev.stable;) die
deutliche bessere Wahl. Releases werden ausf&uuml;hrlich
getestet und auf Qualit&auml;t gepr&uuml;ft, um
Zuverl&auml;ssigkeit und Betriebssicherheit garantieren zu
k&ouml;nnen.</para>
]]>
<![ %release.type.release; [
<para>Diese &release.type; von &os; ist f&uuml;r alle Arten von
Benutzern gedacht. Sie wurde ausf&uuml;hrlich gepr&uuml;ft
und getestet, um die gr&ouml;&szlig;tm&ouml;gliche
Zuverl&auml;ssigkeit und Betriebssicherheit garantieren zu
k&ouml;&ouml;nnen.</para>
]]>
</sect2>
</sect1>
<sect1 id="obtain">
<title>Bezugsquellen f&uuml;r &os;</title>
<para>&os; kann auf vielen verschiedenen Wegen bezogen werden.
Dieses Kapitel konzentriert sich auf die Varianten, die f&uuml;r
den Bezug auf einer komplett neuen Version von &os; gedacht
sind und weniger auf die M&ouml;glichkeit zur Aktualisierung
eines bereits bestehenden Systems.</para>
<sect2>
<title>CDROM und DVD</title>
<para>&os;-RELEASE Distributionen k&ouml;nnen auf CDROM oder
DVD von diversen Firmen bezogen werden. Dies ist
normalerweise der bequemste Weg, wenn Sie &os; zum ersten Mal
installieren, da Sie das System einfach neu installieren
k&ouml;nnen, falls das notwendig ist. Einige Distributionen
enthalten einige der optionalen <quote>Packages</quote> aus
der &os; Ports Collection.</para>
<para>Eine &Uuml;bersicht &uuml;ber die Firmen, die FreeBSD auf
CDROM oder DVD vertreiben, finden Sie im Anhang <ulink
url="http://www.FreeBSD.org/doc/de_DE.ISO8859-1/books/handbook/mirrors.html"><quote>Bezugsquellen
f&uuml;r FreeBSD</quote></ulink> des Handbuches.</para>
</sect2>
<sect2>
<title>FTP</title>
<para>Sie k&ouml;nnen &os; und/oder die optionalen Packages mit
FTP vom prim&auml;ren &os;-Server <ulink
url="ftp://ftp.FreeBSD.org/"></ulink> und allen seinen
<quote>mirrors</quote> beziehen.</para>
<para>Eine Liste von alternativen Bezugsquellen f&uuml;r &os;
finden Sie im Kapitel <ulink
url="http://www.FreeBSD.org/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">FTP
Server</ulink> des Handbuchs und auf unseren <ulink
url="http://www.freebsdmirrors.org/"></ulink> Webseiten. Wir
raten Ihnen dringend, einen Mirror in der n&auml;heren
Umgebung (aus Netzwerksicht) zu verwenden.</para>
<para>Zus&auml;tzliche Mirrors sind immer willkommen. Wenden
Sie sich bitte an <email>[email protected]</email>,
wenn Sie an weiteren Informationen zu diesem Thema
interessiert sind. Zus&auml;tzliche Informationen zu diesem
Thema finden Sie im Artikel <ulink
URL="http://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/hubs/">Mirroring
FreeBSD</ulink>.</para>
<para>Sie finden die f&uuml;r den Start der Installation
notwendigen Images der Bootdisketten und die Dateien der
eigentlichen Distribution auf allen Servern. Einige Server
stellen auch die ISO-Images bereit, die Sie zur Erzeugung
einer (bootf&auml;higen) CDROM der &os;-Release
ben&ouml;tigen.</para>
</sect2>
</sect1>
<sect1 id="contacting">
<title>Kontaktinformation f&uuml;r das &os; Projekt</title>
<sect2>
<title>Email und Mailinglisten</title>
<para>Wenn Sie Fragen haben oder Hilfe ben&ouml;tigen, wenden
Sie sich bitte an die Mailingliste &a.questions;.</para>
<para>Wenn Sie die Entwicklung von &release.branch;
mitverfolgen, <emphasis>m&uuml;ssen</emphasis> Sie die
Mailingliste &a.current; lesen. Nur so k&ouml;nnen Sie die
teilweise lebensnotwendigen Informationen &uuml;ber die
aktuellen Entwicklungen und &Auml;nderungen erhalten, die Sie
f&uuml;r den Betrieb des Systems ben&ouml;tigen.</para>
<para>Da &os; zum gr&ouml;&szlig;ten Teil von Freiwilligen und
Idealisten entwickelt wird, freuen wir uns &uuml;ber jeden,
der mit anpacken m&ouml;chte &mdash; schon jetzt gibt es mehr
W&uuml;nsche als Zeit, um diese umzusetzen. Wenn Sie Kontakt
zu den Entwicklern suchen, um technische Angelegenheiten zu
besprechen oder um Ihre Hilfe anzubieten, wenden Sie sich
bitte an Mailingliste &a.hackers;.</para>
<para>Bitte beachten Sie, auf diesen Mailinglisten teilweise
<emphasis>extrem viele</emphasis> Mails erscheinen. Wenn Ihre
Mailversorgung nur sehr langsam oder sehr teuer ist, oder Sie
nur an den Schlagzeilen der &os;-Entwicklung interessiert
sind, d&uuml;rfte es besser sein, wenn Sie sich auf
die Mailingliste &a.announce; konzentrieren.</para>
<para>Alle Mailinglisten stehen f&uuml;r jeden offen, der sich
f&uuml;r das jeweilige Thema interessiert. Besuchen Sie
einfach mal auf der <ulink
url="http://www.FreeBSD.org/mailman/listinfo">FreeBSD Mailman
Info Page</ulink>. Dort erhalten Sie weitergehende
Informationen, wie Sie die diversen Mailinglisten abonnieren
k&ouml;nnen, wie Sie auf die Archive zugreifen k&ouml;nnen,
usw. Es gibt viele Mailinglisten, die nur mit einem ganz
bestimmten Thema befassen und hier nicht aufgef&uuml;hrt sind.
Weitergehende Informationen finden Sie auf den Mailman Seiten
und im Bereich <ulink
url="http://www.FreeBSD.org/support.html#mailing-list">Mailinglisten</ulink>
der &os; Webseite.</para>
<important>
<para>Senden Sie <emphasis>auf gar keinen Fall</emphasis> eine
Mail an die Mailinglisten, um diese zu abonnieren. Benutzen
Sie f&uuml;r diesen Zweck das Mailman Interface.</para>
</important>
</sect2>
<sect2>
<title>Meldungen &uuml;ber Fehler und Probleme</title>
<para>Vorschl&auml;ge, Fehlermeldungen und zus&auml;tzlicher
Sourcecode sind immer willkommen &mdash; bitte informieren Sie
uns &uuml;ber jedes Problem, das sie finden. Fehlermeldungen,
die sofort auch die entsprechende Korrektur enthalten, sind
nat&uuml;rlich noch willkommener.</para>
<para>Wenn Ihr System an das Internet angeschlossen ist, sollten
Sie &man.send-pr.1; benutzen. Wenn Sie Ihren <quote>Problem
Report</quote> (PRs) auf dieser Art und Weise absetzen, wird
er automatisch archiviert und weiterverfolgt. Die Entwickler
von &os; bem&uuml;hen sich, so schnell wie m&ouml;glich auf
alle gemeldeten Fehler zu reagieren. <ulink
url="http://www.FreeBSD.org/cgi/query-pr-summary.cgi">Eine
&Uuml;bersicht &uuml;ber alle offenen PRs</ulink> ist auf dem
Webserver von &os; verf&uuml;gbar. Diese Liste ist sehr
n&uuml;tzlich, wenn Sie wissen wollen, welche m&ouml;glichen
Probleme schon von anderen Benutzern gefunden wurden.</para>
<para>Bitte beachten Sie, da&szlig; &man.send-pr.1; nur ein
Shell-Skript ist, da&szlig; man relativ einfach auch auf
anderen Systemen als &os; verwenden kann. Wir empfehlen Ihnen
dringend, diese Variante zu verwenden. Wenn Sie allerdings
aus irgendeinem Grund &man.send-pr.1; nicht benutzen
k&ouml;nnen, k&ouml;nnen Sie versuchen, Ihren Problem Report
an die Mailingliste &a.bugs; zu senden.</para>
<para>Weitere Informationen finden Sie im Dokument <ulink
url="http://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/problem-reports/"><quote>Writing
FreeBSD Problem Reports</quote></ulink> auf der Webseite von
&os;. Es enth&auml;lt viele n&uuml;tzliche Tips zum
Verfassen und Versenden effektiver Fehlermeldungen.</para>
</sect2>
</sect1>
<sect1 id="seealso">
<title>Weiterf&uuml;hrende Dokumente</title>
<para>Es gibt viele verschiedene Quellen f&uuml;r Informationen
&uuml;ber &os;, einige sind Bestandteil dieser Distribution,
w&auml;hrend andere &uuml;ber das Internet oder in gedruckter
Form verf&uuml;gbar sind.</para>
<sect2 id="release-docs">
<title>Dokumentation zur Release</title>
<para>Sie finden weitergehende &uuml;ber diese &release.type;
Distribution in anderen Dokumenten. Diese Dokumente stehen in
verschiedenen Formaten zur Verf&uuml;gung. Die Varianten Text
(<filename>.TXT</filename>) und HTML
(<filename>.HTM</filename>) stehen fast immer zur
Verf&uuml;gung. Einige Distributionen stellen weitere Formate
wie PostScript (<filename>.PS</filename>) oder das Portable
Document Format (<filename>.PDF</filename>) zur
Verf&uuml;gung.</para>
<itemizedlist>
<listitem>
<para><filename>README.TXT</filename>: Sie lesen es gerade.
Hier finden Sie allgemeine Informationen &uuml;ber &os;
und ein paar allgemeine Hinweise zum Bezug einer
Distribution.</para>
</listitem>
<listitem>
<para><filename>EARLY.TXT</filename>: Spezielle Hinweise
f&uuml;r die ersten Anwender von &os; &release.current;.
Wenn dies Ihre erste Begegnung mit &os; &release.branch;
ist und/oder Sie noch eine 5.<replaceable>X</replaceable>
Version benutzt haben, sollten Sie diesen Artikel auf
jeden Fall lesen.</para>
</listitem>
<listitem>
<para><filename>RELNOTES.TXT</filename>: Die begleitenden
Informationen zu dieser Release enthalten die Neuerungen
in dieser Version von &os; (&release.current;) und die
&Auml;nderungen seit der letzten Version (&os;
&release.prev;).</para>
</listitem>
<listitem>
<para><filename>HARDWARE.TXT</filename>: Die Liste der
unterst&uuml;tzten Hardware enth&auml;lt eine
&Uuml;bersicht &uuml;ber die Ger&auml;te, auf den &os;
erfolgreich getestet wurde.</para>
</listitem>
<listitem>
<para><filename>INSTALL.TXT</filename>: Die Anleitung zur
Installation von &os; von dem
Distributions-Medium.</para>
</listitem>
<listitem>
<para><filename>ERRATA.TXT</filename>: Die Errata.
Brandaktuelle Informationen, die erst nach dem Erscheinen
dieser Version bekannt wurden, finden Sie hier. Diese
Datei ist speziell f&uuml;r die Anwender einer Release
(und nicht der Snapshots) von Interesse. Sie sollten
diesen Text auf jeden Fall lesen, bevor Sie &os;
installieren, da er die aktuellsten Informationen
&uuml;ber die seit der Ver&ouml;ffentlichung gefundenen
und behobenen Probleme enth&auml;lt.</para>
</listitem>
</itemizedlist>
<note>
<para>Einige dieser Dokumente (speziell
<filename>RELNOTES.TXT</filename>,
<filename>HARDWARE.TXT</filename>, und
<filename>INSTALL.TXT</filename>) enthalten Informationen,
die nur f&uuml;r eine bestimmte Architektur gellten. Zum
Beispiel enthalten die Release Notes f&uuml;r die Alpha
keine Informationen &uuml;ber i386-Systeme, und umgekehrt.
Die Information, zu welcher Architektur ein Dokument
geh&ouml;rt, steht immer am Anfang des Textes.</para>
</note>
<para>Auf den Plattformen, auf denen &man.sysinstall.8; zur
Verf&uuml;gung steht (zur Zeit alpha, i386, ia64, pc98 und
sparc64) finden Sie diese Dokumente w&auml;hrend der
Installation normalerweise unter dem Men&uuml;punkt
Dokumentation. Um nach der Installation des Systems dieses
Men&uuml; zugreifen zu k&ouml;nnen, m&uuml;ssen Sie das
Programm &man.sysinstall.8; erneut aufrufen.</para>
<note>
<para>Sie sollten auf jeden Fall die Errata zur jeweiligen
Version lesen, bevor Sie die Installation beginnen. Dies
ist der einzige Weg, die aktuellsten Informationen zu
erhalten und sich &uuml;ber eventuell nach der Installation
auftretende Probleme zu informieren. Die zusammen mit der
Ver&ouml;ffentlichung erschienene Version ist per Definition
veraltet. Allerdings sind im Internet aktualisierte
Versionen verf&uuml;gbar, die die <quote>aktuellen
Errata</quote> f&uuml;r diese Version sind. Diese Versionen
sind bei <ulink
url="http://www.FreeBSD.org/releases/"></ulink> und allen
aktuellen Mirrors dieser Webseite verf&uuml;gbar.</para>
</note>
</sect2>
<sect2>
<title>Onlinehilfe (Manual Pages)</title>
<para>Wie bei fast jedem anderen &unix;-&auml;hnlichen System
steht Ihnen auch bei &os; eine Onlinehilfe zur Verf&uuml;gung,
die Sie &uuml;ber das Kommando &man.man.1; oder &uuml;ber das
<ulink url="http://www.FreeBSD.org/cgi/man.cgi">hypertext
manual pages gateway</ulink> auf dem Webserver von &os;
ansprechen k&ouml;nnen. Die Onlinehilfe stellt den Benutzern
von &os; Informationen zu einzelnen Befehlen und Interfaces
zur Programmierung zur Verf&uuml;gung.</para>
<para>In einige F&auml;llen behandelt die Online-Hilfe spezielle
Themen. Interessante Beispiele daf&uuml;r sind
&man.tuning.7; (Hinweise, wie sie die Performance Ihres
Systems verbessern k&ouml;nnen), &man.security.7; (eine
Einf&uuml;hrung in das Thema Sicherheit unter &os;), und
&man.style.9; (die Spielregeln f&uuml;r die
Kernel-Programmierung).</para>
</sect2>
<sect2>
<title>B&uuml;cher und Artikel</title>
<para>Zwei extrem n&uuml;tzliche Sammlungen von Informationen
&uuml;ber &os;, die vom &os; Project verwaltet werden, sind
das &os; Handbuch und der &os; FAQ. Die aktuellen Versionen
des <ulink
url="http://www.FreeBSD.org/doc/de_DE.ISO8859-1/books/handbook/">Handbuches</ulink>
und der <ulink
url="http://www.FreeBSD.org/doc/de_DE.ISO8859-1/books/faq/">FAQ</ulink>
sind immer auf der Webseite <ulink
url="http://www.FreeBSD.org/docs.html">FreeBSD
Dokumentation</ulink> und allen Ihren Mirror-Sites
verf&uuml;gbar. Wenn Sie die Distribution
<filename>doc</filename> installiert haben, k&ouml;nnen Sie
den FAQ und Handbuch mit einem Web-Browser direkt auf Ihrem
System lesen.</para>
<para>Es gibt eine ganze Reihe von Online verf&uuml;gbaren
B&uuml;chern und Artikeln, die vom &os; Project herausgegeben
werden und auf einzelne &os;-bezogene Themen genauer
eingehen. Dabei wird ein sehr breites Spektrum abgedeckt, es
gibt Informationen zur effektiven Nutzung der Mailinglisten,
den parallelen Betrieb von &os; und anderen Betriebssystem, und
Hinweise f&uuml;r neue Entwickler. Wie das Handbuch und die
FAQ sind auch diese Dokumente auf Webseite &os; Dokumentation
und in der Distribution <filename>doc</filename>
verf&uuml;gbar.</para>
<para>Eine Liste zus&auml;tzlicher B&uuml;cher und
Dokumentationen zu &os; finden Sie im Kapitel <ulink
url="http://www.FreeBSD.org/doc/de_DE.ISO8859-1/books/handbook/bibliography.html">Bibliographie</ulink>
des Handbuchs. Da &os; ganz klar aus der &unix;-Welt stammt,
enthalten auch andere Artikel und B&uuml;cher &uuml;ber
&unix;-Systeme n&uuml;tzliche Informationen. Eine Auswahl
dieser Dokumente finden Sie ebenfalls in der
Bibliographie.</para>
</sect2>
</sect1>
<sect1 id="acknowledgements">
<title>Danksagung</title>
<para>&os; ist das Ergebnis der Arbeit vieler hundert, wenn nicht
Tausender Personen aus der ganzen Welt, die ungez&auml;hlte
Stunden investiert haben, um diese Version m&ouml;glich zu
machen. Die vollst&auml;ndige Liste aller Entwickler und Helfer
finden Sie auf der &os;-Webseite <ulink
url="http://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/contributors/"><quote>Beteiligte</quote></ulink>
und allen aktuellen Mirrors dieser Webseite.</para>
<para>Wir m&ouml;chten uns speziell bei den vielen tausend
Anwendern und Testern aus der ganzen Welt bedanken, ohne die
diese &release.type; niemals m&ouml;glich gewesen
w&auml;re.</para>
</sect1>
</article>
@@ -1,14 +0,0 @@
# $FreeBSD$
# $FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/relnotes/Makefile,v 1.4 2002/11/09 20:58:39 ue Exp $
# basiert auf: 1.5
RELN_ROOT?= ${.CURDIR}/../..
SUBDIR = alpha
SUBDIR+= ia64
SUBDIR+= i386
SUBDIR+= pc98
SUBDIR+= sparc64
.include "${RELN_ROOT}/share/mk/doc.relnotes.mk"
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
Loaded 100 of 405 files, more files were not shown because too many files have changed in this diff. Show more