&os;/&arch; &release.current; Release NotesThe FreeBSD Project$FreeBSD$2000200120022003The FreeBSD Documentation
Project20022003The FreeBSD German
Documentation ProjectDie Release Notes für &os; &release.current; enthalten
eine Übersicht über
aktuelle Änderungen in &os; im Entwicklungszweig
&release.branch;.
Dieses Dokument enthält die Liste aller Sicherheitshinweise,
die seit der letzten Version herausgegeben wurden, sowie eine
Übersicht über die wichtigsten Änderungen am
Kernel und an den Benutzerprogrammen. Einige kurze Anmerkungen
zum Thema Aktualisierung wurden ebenfalls aufgenommen.EinführungDieses Dokument enthält die Release Notes für &os;
&release.current; auf &arch.print; Systemen. Es beschreibt die
Komponenten von &os;, die in letzter Zeit hinzugefügt,
geändert, oder gelöscht wurden. Außerdem erhalten
Sie Hinweise für die Aktualisierung Ihres
&os;-Systems.Die &release.type; Distribution, für die diese Release
Notes gültig sind, markiert einen Punkt im Entwicklungszweig
&release.branch; zwischen &release.prev; und der zukünftigen
Version &release.next;. Sie können einige fertige
&release.type; Distributionen, die in diesem Entwicklungszweig
entstanden sind, auf &release.url;
finden.Diese Distribution von &os; &release.current; ist eine
&release.type; Distribution. Sie können Sie von &release.url; und allen seinen Mirrors erhalten.
Weitere Informationen, wie Sie diese (oder andere) &release.type;
Distributionen von &os; erhalten können, finden Sie im Anhang
Obtaining
FreeBSD des FreeBSD
Handbuchs.Anwender, die noch keine Erfahrung mit einer &release.branch;
Version eines &os; &release.type; haben, sollten auf jeden Fall die
Hinweise für die ersten Anwender von &os;
&release.current; lesen. Dieses Dokument sollte
überall dort verfügbar sein, wo auch die Release Notes
verfügbar sind; entweder als Teil einer &os; Distribution
oder auf den &os; Webseiten. Es enthält wichtige
Informationen über die Vor- und Nachteile des Betriebs von
&os; &release.current; im Vergleich zum Betrieb eines Systems auf
der Basis der Entwicklungszweiges 4-STABLE.Alle Anwender sollten vor der Installation von &os; die
Release Notes lesen. Die Errata enthalten
brandheiße Informationen, die erst kurz vor
oder nach der Veröffentlichung bekannt wurden. Dies sind
typischerweise Informationen über bekannte Probleme, Hinweise
zum Thema Sicherheit und Korrekturen der Dokumentation. Die
jeweils aktuelle Version der Errata zu &os; &release.current;
finden Sie auf den &os; Webseiten.NeuerungenIn diesem Artikel finden Sie
viele der für den Anwender offensichtlichsten Neuerungen und
Änderungen in &os; seit &release.prev;. Dazu gehören
sowohl die Änderungen, die nur &release.prev; betreffen,
als auch Änderungen in den anderen Entwicklungszweigen
seit &os; &release.prev;. Letztere sind als &merged;
gekennzeichnet.
Die Einträge umfassen alle Sicherheitshinweise, die nach
dem Erscheinen von &release.prev; herausgegeben wurden,
neue Treiber bzw. Unterstützung für neue Hardware, neue
Befehle oder Optionen, die Behebung wichtiger Fehler, und
Aktualisierungen von zusätzlicher Software. Sie können
ebenfalls Änderungen bei den wichtigeren Ports/Packages und
bei der Erzeugung der Releases dokumentieren. Es sollte
offensichtlich sein, daß die Release Notes nicht jede
einzelne Änderung in &os; aufführen können; dieses
Dokument konzentriert sich auf Sicherheitshinweise, für den
Anwender sichtbare Änderungen und die wichtigsten
Verbesserungen der Infrastruktur.SicherheitEin über das Netzwerk nutzbarer Fehler in
CVS könnte dazu führen,
daß ein Angreifer beliebige Programme auf dem CVS Server
ausführen kann. Weitere Informationen finden Sie in FreeBSD-SA-03:01.
&merged;Durch Auswertung der Antwortzeiten von
OpenSSL wäre es einem Angreifer
mit sehr viel Rechenleistung möglich gewesen, unter
bestimmten Umständen den Klartext der übermittelten
Daten zu erhalten. Dieser Fehler durch die neue
OpenSSL Version 0.9.7 behoben.
Weitere Informationen finden Sie in FreeBSD-SA-03:02.
&merged;Die Sicherheit und Leistung der Erweiterung
syncookies wurde verbessert, damit Angreifer es
schwerer haben, eine Verbindung zu fälschen. Weitere
Informationen finden Sie in FreeBSD-SA-03:03.
&merged;Diverse über das Netzwerk nutzbare
Puffer-Überläufe in sendmail
wurden durch die Aktualisierung von
sendmail behoben. Weitere
Information finden Sie in FreeBSD-SA-03:04
und FreeBSD-SA-03:07.
&merged;In der XDR-Implementierung wurde ein Fehler behoben, der es
einem Angreifer möglich machte, den Dienst abstürzen
zu lassen. Weitere Informationen finden Sie in FreeBSD-SA-03:05.
&merged;In OpenSSL wurden zwei vor kurzem
veröffentlichte Schwachstellen repariert. Weitere
Informationen finden Sie in FreeBSD-SA-03:06.
&merged;Änderungen im KernelDer Power Management Controller CanBe wird jetzt
unterstützt. &merged;&man.devfs.5; ist nicht mehr optional, die Option
NODEVFS kann nicht mehr für die
Konfigurationsdatei für einen angepaßten Kernel
verwendet werden.Der neue Treiber &man.ehci.4;
unterstützt das bei USB 2.0 Controller verwendete USB
Enhanced Host Controller Interface.Bei der Behandlung der Zugriffsrechte für
/dev/tty wurde ein kleiner Fehler behoben.
Dadurch ist es jetzt auch wieder möglich, &man.ssh.1; zu
verwenden, nachdem man &man.su.1; benutzt hat.In &man.fstat.2; wurde ein Fehler beseitigt, durch den bei
der Benutzung von TCP Sockets immer 0 zum
Lesen verfügbare Zeichen gemeldet wurden. Die Option
NOTE_LOWAT für
EVFILT_READ funktioniert auch wieder.Bei &man.madvise.2; unterstützt jetzt
MADV_PROTECT, mit dem ein Prozeß das Virtual
Memory System darüber informieren kann, daß er
"wichtig" ist und nicht beendet werden sollte, wenn
kein Swapspace mehr zur Verfügung steht. Diese Option
steht nur für Prozesse zur Verfügung, die mit
Superuser-Rechten laufen.Der Treiber tw für die TW-523 Systeme
zur Steuerung über das Stromnetz wurde entfernt; er wurde
von den X-10 Produkten genutzt. Der Treiber funkioniert zur
Zeit nicht und könnte nur mit hohem Aufwand an
&release.branch; angepaßt werden. Die zugehörigen
Programme xten und xtend wurden ebenfalls entfernt.Die Scheduler-Infrastruktur wurde um einen zweiten Scheduler
ergänzt, der für alle Anwendungsbereiche einsetzbar
ist und viele Vorteile für SMP bietet. In der
Konfigurationsdatei für den Kernel muß genau ein
Scheduler ausgewählt werden. Der bisher verwendete
Scheduler wird mit options SCHED_4BSD
aktiviert. Der neue (noch experimentelle) Scheduler kann mit
options SCHED_ULE aktiviert
werden.Die Major Numbers für Geräte werden jetzt
dynamisch alloziert. Dadurch sinkt die Notwendigkeit für
eine zentrale, statische Tabelle mit den Zuordnungen von Major
Numbers zu Gerätetreibern (einige Treiber behalten aus
Gründen der Kompatibilität ihre alten Major Numbers),
außerdem ist es nicht mehr so wahrscheinlich, daß
der Nummernkreis für die Major Numbers erschöpft
wird.Kernel Threads können jetzt einen Lazy
Switch Mechanismus nutzen. Damit kann der Overhead von kurzen
Kontextwechseln verringert werden, die keinen anderen Prozess
aufrufen; dazu gehört z.B. die Interrupt-Handler. Um
diesen Mechanismus zu nutzen, muß in der
Konfigurationsdatei für den angepaßten Kernel die
Zeile options LAZY_SWITCH
stehen.Unterstützung für Prozessoren und
MainboardsSMP Kernel bieten jetzt
minimale Unterstützung für HyperThreading (HTT).
Die logischen Prozessoren werden vom Scheduler wie
zusätzliche physikalische Prozessoren behandelt. Da
dieses sehr einfache Vorgehen zu schlechter Performance
führen kann, werden die logischen CPUs beim Systemstart
standardmäßig deaktiviert. Sie können mit der
sysctl-Variable machdep.hlt_logical_cpus
aktiviert werden. Es ist außerdem möglich, jede CPU
anzuhalten, die sich im Idle-Loop befindet, dazu dient die
sysctl-Variable machdep.hlt_cpus. Weitere
Informationen finden Sie in &man.smp.4;.
Einige andere &os; Versionen wie 4.8-RELEASE und die
ersten Versionen von 5.0-CURRENT unterstützten HTT
nur, wenn in der Konfigurationsdatei für den
angepaßten Kernel die Zeile
options HTT stand. Diese Zeile
wird nicht mehr benötigt.Auf allen Intel-Prozessoren ab Pentium Pro
wird jetzt die Physical Address Extension (PAE)
unterstützt. Dadurch können in einem System bis zu
64 GByte Speicher genutzt werden, allerdings ändern sich
dadurch die Begrenzungen für die maximale
Speichergröße eines Prozesses (oder das &os;
Kernels) nicht. Weitere Informationen finden Sie in
&man.pae.4;. Die Arbeiten wurden von der DARPA und den
Network Associates Laboratories finanziert.Mit dem neuen Treiber &man.vpd.4; können auf IBM
ThinkPad Laptops die Hardware-Informationen aus der Vital
Product Data Stuktur ausgelesen werden.Änderungen im BootloaderDer Alpha Bootloader
(boot1) kann jetzt auch
boot genannt werden, dadurch verringern
sich die Unterschiede zu den anderen Plattformen.Die beiden Teile des Bootloaders
(boot1 und boot2)
wurden in einer Datei boot
zusammengefaßt, dadurch kommt es zu Vereinfachungen bei
Programmen, die den Bootloader schreiben oder bearbeiten
müssen.Der PC98 Bootloader ist jetzt auch in der
Lage, von SCSI MO Medien zu booten. &merged;Das Verzeichnis /modules war in &os;
4.X das Standard-Verzeichnis
für Module. Es ist nicht mehr Teil des Standard-Pfades
für kern.module_path. Module anderer
Hersteller sollten in /boot/modules
abgelegt werden.
Für &os; 4.X
vorgesehene Module bringen das System in der Regel zum
Absturz, wenn sie von &os; &release.current; Kernel
geladen werden und sollten nur mit äußerster
Vorsicht eingesetzt werden.Auf Grund von Platzproblemen kann der i386
Bootloader den Kernel nur vom root-Dateisystem laden, wenn
dieses maximal 1.5 TByte groß ist.Netzwerke und NetzwerkkartenDer neue Treiber &man.axe.4;
unterstützt USB-Netzwerkkarten auf Basis des ASIX
Electronics AX88172 USB 2.0 Chipsatzes.Der Treiber cm unterstützt jetzt IPX.Der neue Treiber &man.rue.4;
unterstützt Netzwerkkarten auf Basis des RealTek RTL8150
USB to Fast Ethernet Chips.Der neue Treiber &man.sbsh.4; unterstützt
das SBNI16 SHDSL Modem der Firma Grant. &merged;Das neue &man.wlan.4; Modul bietet Unterstützung
für die 802.11 Verbindungsschicht. Die Treiber
&man.wi.4; und &man.an.4; wurden geändert, um dieses
Modul nutzen zu können.Im Treiber &man.xl.4; wurde ein Zeitfehler beseitigt,
durch den es bei der Konfiguration eines
Netzwerkanschlusses zu einer Kernel Panic und anderen
Fehlern kommen konnte.Netzwerk-ProtokolleEs ist jetzt wieder möglich, bei &man.ipfw.4;
skipto zusammen mit dem Schlüsselwort
log zu benutzen. Auch die &man.ipfw.4;
uid Regeln funktionieren jetzt
wieder.Es ist jetzt möglich, bei der Konfiguration des
Kernels die beiden Optionen FAST_IPSEC und
INET6 anzugeben. Allerdings ist es immer
noch nicht möglich, beide Optionen gleichzeitig zu
nutzen.In TCP NewReno wurde ein Fehler behoben, durch den der
Fast Recovery Modus zu früh beendet wurde,
falls NewReno aktiviert war. &merged;TCP unterstützt jetzt den in RFC 3042 vorgeschlagenen
Mechanismus Limited Transmit, der in bestimmten
Fällen die Effektivität der TCP Loss Recovery
verbessern kann. Die Erweiterung ist standardmäßig
deaktiviert und kann mit der Sysctl-Variablen
net.inet.tcp.rfc3042 aktiviert werden.
Weitere Informationen finden Sie in &man.tcp.4;.TCP unterstützt jetzt die größere initiale
Congestion Windows, wie in RFC 3390 beschrieben. Durch diese
Erweiterung kann sich der Datendurchsatz bei kurzen Transfers
und Verbindungen mit großer Bandbreite und hoher
Verbindungszeit verbessern. Die Erweiterung ist
standardmäßig deaktiviert und kann mit der
Sysctl-Variablen net.inet.tcp.rfc3390
aktiviert werden. Weitere Informationen finden Sie in
&man.tcp.4;.Die Routinen zum Zusammensetzen von fragmentierten
IP-Paketen arbeiten jetzt besser, wenn eine große Anzahl
Fragmente empfangen wird. Ziel der Änderung war, eine
bessere Resistenz gegen Denial-of-Service Angriffe mit
Paket-Fragmenten zu erreichen.TCP-Verbindungen im Status TIME_WAIT
nutzen jetzt einen speziellen Protocol Control Block, der
kleiner als der übliche TCP PCB ist. Dadurch ist es
möglich, einige der von einer solchen Verbindung
genutzten Datenstrukturen und Ressourcen früher
freizugeben.Es ist jetzt möglich, die Ports zu definieren,
die als privilegiert gelten (TCP und UDP Ports,
für die nur der Super-User &man.bind.2; aufrufen darf).
Der Bereich kann mit den Sysctl-Variablen
net.inet.ip.portrange.reservedlow und
net.inet.ip.portrange.reservedhigh
angegeben werden, diese sind standardmäßig auf die
vorher verwendeten Werte gesetzt. Diese Erweiterung soll es
ermöglichen, daß sich Server-Prozesse an eigentlich
privilegierte Ports binden können, ohne Superuser-Rechte
zu benötigen. Weitere Informationen finden Sie in
&man.ip.4;.Im nicht-blockierenden RPC Code wurden diverse Fehler
beseitigt. Dadurch können Anwender von &man.amd.8;
wieder Dateisysteme von einem &release.current; Server
mounten.Die XNS Protokollfamilie funktioniert seit über
sieben Jahren nicht mehr, darum wurde die Unterstützung
dafür jetzt entfernt.Festplatten und MassenspeicherDer Treiber &man.aac.4; läuft jetzt völlig
unabhängig vom Giant Kernel Lock. Dadurch ergibt sich
auf SMP-Systemen mit mehreren gleichzeitig stattfindenden
I/O-Operationen eine Leistungssteigerung von fast 20%.Der Treiber &man.ata.4; unterstützt jetzt alle
bekannten Chipsätze von SiS, eine detaillierte Liste
finden Sie in den Hardware Notes.Der Treiber &man.ata.4; unterstützt jetzt die Promise
SATA150 TX2 und TX4 Serial ATA/150 Controller.Beim Herunterfahren des Systems weist der Treiber
&man.ata.4; jetzt alle Geräte an, eventuell noch
ausstehende Schreiboperationen sofort zu tätigen (flush).
Geräte, die diese Operation nicht unterstützen,
reagieren darauf eventuell mit einer Fehlermeldung, die auf
der Systemkonsole angezeigt wird.Die CAM Schicht unterstützt jetzt Geräte mit
mehr als 232 Blöcken, was bei
einer Blockgröße von 512 Byte einer
Größte von 2 TByte entspricht.
Anwender, die diese Änderung in ihr System
aufnehmen, müssen alle Programme neu kompilieren, die
&man.pass.4; oder &man.xpt.4; verwenden. Dazu
gehören unter anderem &man.camcontrol.8; aus dem
Basissystem und die Ports sysutils/cdrtools und multimedia/xmms.Der Treiber &man.cd.4; wurde in diversen Punkten
überarbeitet. Das wichtigste sichtbare Ergebnis ist eine
verbesserte Kompatibilität zu diversen ATAPI/USB/Firewire
CD-ROM Laufwerken.&man.geom.4; ist nicht mehr optional, die Option
NO_GEOM kann nicht mehr in der
Konfigurationsdatei für einen angepaßten Kernel
angegeben werden.Der Treiber &man.iir.4; wurde aktualisiert, dadurch
sollten die bei der Installation aufgetretenen Probleme mit
nicht erkannten Festplatten behoben sein.Der neue Treiber ips unterstützt die IBM
(beziehungsweise jetzt Adaptec) ServeRAID Systeme.Im Treiber &man.mly.4; wurde ein Fehler beseitigt, der zu
Hängern führen konnte.UFS und UFS2 Dateisysteme können jetzt mit Namen
versehen werden. Diese Namen sind Zeichenketten, die ein
Dateisystem identifizieren und nicht vom verwendeten
Gerät abhängen. Die Namen können bei
&man.newfs.8; und &man.tunefs.8; mit der neuen Option
angegeben werden. Wird das Modul
GEOM_VOL genutzt, können die
Dateisysteme in /dev/vol direkt über
ihren Namen angesprochen werden.Das Root-Dateisystem kann jetzt auch auf einer
&man.vinum.4;-Partition liegen. Weitere Informationen finden
Sie in der Onlinehilfe zu &man.vinum.4;.Die Treiber wfd und wst, die schon seit
einiger Zeit nicht mehr korrekt funktionierten, wurden
entfernt.DateisystemMit der neuen Kernel-Option DIRECTIO
ist es möglich, Daten direkt (unter Umgehung des Buffer
Cache im Kernel) in den Speicherbereich eines Programms zu
lesen. Um diese Erweiterung nutzen zu können, muß
bei dem entsprechenden Dateideskriptor das Flag
O_DIRECT gesetzt sein, außerdem
müssen sowohl der Offset als auch die Länge der
Leseoperation ein ganzzahliges Vielfaches der physikalischen
Sektorgröße sein.NETNCP und die Unterstützung für Netware
Dateisysteme (nwfs) funktionieren wieder.Beim Versuch, die Verbindung zu einem smbfs Share zu
trennen, konnte es zu Fehlermeldungen und Kernel Panics
kommen; diese Fehler wurden beseitigt.Unterstützung für PCCARDMultimediaDie für &man.speaker.4; genutzen
Module atspeaker.ko und
pcspeaker.ko wurden in
speaker.ko zusammengefaßt.Benutzerprogramme&man.adduser.8; geht jetzt korrekt mit Paßwörtern
um, die Shell-Sonderzeichen enthalten.Bei &man.adduser.8; kann jetzt mit der Option
die Standardgruppe eines Benutzers gesetzt
werden.Mit &man.bsdlabel.8; steht ein Ersatz für das
früher genutzte disklabel zur Verfügung. Es kann wie
sein Vorgänger das BSD-Label auf einer Festplattenpartition
installieren, untersuchen und modifizieren sowie die Routinen
für den Systemstart installieren. Im Vergleich zu
disklabel wurden einige Optionen und Parameter entfernt, die
nicht mehr benötigt werden. Mit dem neuen Parameter
kann &man.bsdlabel.8; angewiesen werden, das
Layout auf eine bestimmte Maschine anzupassen.Die Distribution
compat4x enthält jetzt die in &os;
4.7-RELEASE enthaltenen Versionen der Bibliotheken
libcrypto.so.2,
libgmp.so.3 und
libssl.so.2.Wird bei &man.chgrp.1; und &man.chown.8; der Parameter
mehrfach angegeben, geben sie bei jeder
Änderung der UID und GID den alten und neuen Wert
aus.>&man.config.8; kennt jetzt das Schlüselwort
nodevice, das bei der Konfiguration eines
angepaßten Kernels verwendet werden kann, um die Wirkung
einer vorher gesetzten device Anweisung
aufzuheben. Die neuen Schlüsselworte
nooption und nomakeoption
heben die Wirkung von vorher gesetzten options
bzw. makeoptions Anweisungen auf.Das neue Programm &man.diskinfo.8; zeigt Informationen
über Festplatten und vergleichbare Geräte an. Es kann
auch für einen extrem simplen Leistungstest genutzt
werden.Das Programm disklabel wurde durch &man.bsdlabel.8; ersetzt.
Auf den Plattformen alpha, i386 und pc98 ist disklabel jetzt ein
Link auf &man.bsdlabel.8;.Wird bei &man.dump.8; die neue Option
angegeben, wird ein Cache für Datenblöcke der
Festplatte eingerichtet. Dadurch steigt die Performance von
&man.dump.8;, kann aber dazu führen, daß zwischen den
einzelnen Läufen erfolgende Änderungen des
Dateisystems nicht erkannt werden.Wird &man.dumpfs.8; mit der neuen Option
aufgerufen, zeigt es die Dateisystemparameter in Form einer
Befehlszeile für &man.newfs.8; an.Das neue Programm &man.elfdump.1; kann Informationen
über ausführbare Dateien im &man.elf.5; Format
anzeigen.&man.fetch.1; nutzt die aus der Bibliothek &man.fetch.3;
stammende Unterstützung für
.netrc Dateien; außerdem kann mit der
neuen Option eine andere
.netrc Datei angegeben werden.&man.fetch.3; unterstützt jetzt
.netrc Dateien; weitere Informationen dazu
finden Sie in &man.ftp.1;.Wird &man.ftpd.8; mit der neuen Option
aufgerufen, werden in den Server-Meldungen keine Informationen
über das System (wie die &man.ftpd.8; Versionsnummer oder
der Systemname) angegeben. &merged;Bei &man.ftpd.8; kann jetzt mit der neuen Option
angegeben werden, auf welchem Port
eingehende Verbindungen erwartet werden sollen. Die Portnummer
für den Daten-Port ist nicht mehr hart verdraht, sondern
immer eins kleiner als die des Ports für die
Kommandos. &merged;&man.ftpd.8; unterstützt jetzt eine erweiterte Version
der Datei /etc/ftpchroot. Weitere
Informationen finden Sie in der ebenfalls neuen Online-Hilfe zu
&man.ftpchroot.5;. &merged;&man.ftpd.8; unterstützt jetzt ein erweitertes Format
für die Namen der Home-Verzeichnis, das gleichzeitig ein
Startverzeichnis für &man.chroot.2; definiert; dieses
Verzeichnis wird dann als Startpunkt für eine
&man.chroot.2;-Umgebung genutzt. Zu diesem Zweck wird die
Sequenz /./ genutzt, die auch von anderen
FTP-Servern für diesen Zweck genutzt wird. Diese Sequenz
kann sowohl in &man.ftpchroot.5; als auch in &man.passwd.5;
genutzt werden. &merged;&man.fwcontrol.8; unterstützt jetzt die Optionen
und zum Empfang und
Senden von DV-Datenströmen. &merged;Das neue Programm &man.gstat.8; zeigt Daten über die
Festplattenzugriffe innerhalb des &man.geom.4;
Subsystems.Die neuen &man.ipfw.8;-Befehle enable und
disable können zur Kontrolle
verschiedener Aspekte der &man.ipfw.4;-Funktionalität
genutzt werden, bis hin zur Aktivierung und Deaktivierung der
gesamten Firewall. Im Vergleich mit den bereits existierenden
sysctl-Variablen ist dieses Interface einfacher zu bedienen und
besser zugänglich.Wird &man.jail.8; mit dem Parameter
aufgerufen, gibt es einen Namen für das gerade erzeugte
Jail aus.Mit dem neuen Programm &man.jexec.8; kann ein Befehl
innerhalb eines existierenden Jail ausgeführt
werden.Das neue Programm &man.jls.8; zeigt die Liste der
existierenden Jails an.&man.kenv.1; wurde von /usr/bin nach
/bin verschoben, damit es auch in den
ersten Phasen des Systemstarts zur Verfügung steht, wenn
lediglich das Root-Dateisystem gemountet ist.Bei &man.killall.1; kann man jetzt mit dem neuen Parameter
alle Prozesse innerhalb eines Jails
beenden.Die neue Bibliothek &man.libgeom.3; erlaubt normalen
Programmen den Zugriff auf einige Funktionen des &man.geom.4;
Subsystems.Das neue MAC Policy Modul mac_portacl ist jetzt
verfügbar. Es stellt einen einfachen ACL-Mechanismus zur
Verfügung, mit dem Benutzern und Gruppen erlaubt werden
kann, &man.bind.2; für TCP oder UDP Ports aufzurufen. Das
Modul soll in der Regel zusammen mit der neuen Sysctl-Variablen
net.inet.ip.portrange.reservedhigh eingesetzt
werden.Das Skript MAKEDEV wird nicht mehr
benötigt und wurde entfernt, da &man.devfs.5; jetzt auf
allen Systemen verwendet werden muß.Wird &man.mergemaster.8; mit der neuen Option
aufgerufen, legt es eine Sicherheitskopie
der ersetzten Dateien an.&man.mixer.8; unterstützt relative Änderungen der
Lautstärke.Das neue Programm &man.mksnap.ffs.8; vereinfacht die
Erzeugung von FFS Snapshots. Das Programm ist SUID
root und soll von Mitgliedern der Gruppe
operator aufgerufen werden.Bei &man.mount.8; und &man.umount.8; kann jetzt mit
eine andere Tabelle der Dateisysteme als
Alternative zu &man.fstab.5; angegeben werden.Wird &man.mount.nfs.8; mit der neuen Option
aufgerufen, ruft es für UDP Mount
Points nicht mehr &man.connect.2; auf. Diese Option muß
gesetzt sein, wenn ein Server die Antworten nicht vom
Standardport 2049 verschickt oder die Antworten von einer
anderen IP-Adresse verschickt (dies kann bei Systemen mit
mehreren Netzwerkkarten auftreten). Wird die Sysctl-Variable
vfs.nfs.nfs_ip_paranoia auf
0 gesetzt, ist diese Option
standardmäßig aktiv. &merged;Bei &man.mount.nfs.8; kann man jetzt mit mit
und die
Verwendung von IPv4 beziehungsweise IPv6 verhindern.&man.newfs.8; erzeugt jetzt standardmäßig UFS2
Dateisysteme, UFS1 Dateisysteme werden nur noch erzeugt, wenn
der Parameter angegeben wird.&man.newsyslog.8; wurde in vielen Punkten erweitert:
Wird bei einem Eintrag (bzw. einer Gruppe von
Einträgen, bei denen die Option G
gesetzt ist) die neue Option W angeben,
wird das Programm zur Kompression des Logfiles erst
gestartet, wenn er die vorher gestarteten Packprogramme
durchgelaufen sind. Dadurch soll verhindert werden,
daß Systeme durch die gleichzeitige Kompression
mehrerer großer Logfiles überlastet werden.
&merged;Die default rotate action legt fest,
wie Daten behandelt werden, die zwar rotiert werden
sollen, aber nicht explizit in der Konfiguration
erwähnt wurden. &merged;Die Angabe des Parameters auf der
Kommandozeile sorgt dafür, daß bei der Rotation
von Logfiles keine Signale an Prozesse gesendet werden
sollen. &merged;Ist bei einem Eintrag in der Konfigurationsdatei die
Option N gesetzt, wird bei der Rotation
dieses Logfiles kein Signal an einen Prozeß geschickt.
&merged;Ist bei einem Eintrag in der Konfigurationsdatei die
Option N gesetzt, wird nach der
Rotation dieses Logfiles ein Signal an eine Gruppe von
Prozessen statt eines einzelnen Prozesses geschickt.
&merged;&man.nsdispatch.3; kann jetzt von Threads genutzt werden und
unterstützt jetzt auch Name Service Switch (NSS) Module.
NSS Module können fest in libc
eingebunden werden oder mit &man.dlopen.3; dynamisch nachgeladen
werden. Sie werden bei der Konfiguration geladen und
initialisiert, das heißt wenn &man.nsdispatch.3;
aufgerufen wird oder &man.nsswitch.conf.5; zum ersten Mal oder
nach einer Änderung eingelesen wird.Das neue Modul &man.pam.chroot.8; führt eine
&man.chroot.2; Operation in ein vorgegebenes Verzeichnis oder
in ein aus dem Heimatverzeichnis des Benutzers abgeleitetes
Verzeichnis aus.&man.pam.ssh.8; wurde komplett überarbeitet. Eine der
Konsequenzen ist, daß es jetzt für jede Sitzung einen
&man.ssh-agent.1; startet; die alte Version versuchte, jede
Sitzung mit dem &man.ssh-agent.1; zu verbinden, der von der
ersten Sitzung gestartet wrude.Wird bei &man.ping.8; die neue Option
genutzt, wird bei den versendeten Paketen das Bit Don't
Fragment gesetzt.Wird &man.ping.8; mit der neuen Option
aufgerufen, verschickt es ICMP mask oder
ICMP timestamp request statt der üblichen
ICMP echo Anfragen.Bei &man.ping.8; können mit der neuen Option
die Type of Service Bits der
versendeten Pakete definiert werden.&man.pw.8; kann jetzt auch User anlegen, deren Namen mit dem
Zeichen $ endet, diese Änderung dient
zur Vereinfachung der Administration von
Samba Servern. &merged;&man.pwd.mkdb.8; erzeugt die Paßwort-Datenbanken
/etc/pwd.db und
/etc/spwd.db jetzt in einem Format, das
nicht mehr von der Byte-Order des Systems abhängig ist.
Dadurch ist es möglich, diese Datenbanken zwischen
Maschinen mit unterschiedlichen Architekturen auszutauschen.
Das Format enthält Versionsnummern für jeden Eintrag,
um die Kompatibilität mit alten Versionen zu
gewährleisten.In &man.rand.3; wurde ein Fehler beseitigt, der dazu
führen konnte, daß die Folge der Zufallszahlen beim
Wert 0 steckenblieb. Davon unabhängig
sollte &man.rand.3; nur für triviale Zwecke genutzt
werden.&man.rtld.1; unterstützt jetzt dynamische Mappings
für Anhängigkeiten zwischen shared Objects. Diese
optionale Erweiterung ist sehr nützlich, wenn man mit den
verschiedenen Thread-Bibliotheken experimentieren will.
Allerdings ist es standardmäßig nicht im Basissystem
enthalten. Weitere Informationen über die Aktivierung und
Benutzung dieser Erweiterung finden Sie in
&man.libmap.conf.5;.&man.sem.open.3; arbeitet jetzt korrekt, wenn eine Semaphore
mehrfach geöffnet wird; dadurch kann ein Aufruf von
&man.sem.close.3; das aufrufende Programm nicht mehr zum
Absturz bringen.Die Logik zur Initialisierung von &man.srandom.3; wurde
verbessert.Das neue Programm sunlabel dient zur
Bearbeitung von Sun Partitionsinformationen und bietet die von
&man.bsdlabel.8; bekannte Funktionalität.&man.sysinstall.8; legt neue
Dateisysteme standardmäßig im Format UFS2 an, sofern
der Benutzer im Schritt "Label Disk" nichts explizit
auf UFS1 umstellt.
Auf Grund von Einschränkungen im i386 Bootloader
darf das root-Dateisystem nur maximal 1.5 TByte groß
sein.Mit dem neuen Programm &man.swapoff.8; ist es möglich,
Swapping und Paging auf einem Gerät abzuschalten. Das
ebenfalls neue Kommando &man.swapctl.8; stellt die von den
anderen BSDs bekannte Benutzer-Interface für &man.swapon.8;
und &man.swapoff.8; zur Verfügung.
Das Programm &man.swapoff.8; ist noch im
Versuchsstadium.Bei &man.syslogd.8; ist jetzt möglich, bei der Angabe
einer System- oder Programmspezifikation in der
Konfigurationsdatei &man.syslog.conf.5; mehrere Systeme oder
Programme anzugeben.Wird &man.systat.1; mit der neuen Option
aufgerufen, zeigt es den
Datenfluß auf den aktiven Netzwerk-Interfaces des
Systems.Das neue Programm &man.usbhidaction.1; kann auf Aktionen von
USB HID Geräten und die konfigurierten Aktionen
ausführen.Der neue Parameter von
&man.uudecode.1; und &man.b64decode.1; erlaubt es, auch
unvollständige oder defekte Dateien zu bearbeiten,
bei denen der Vorspann oder auch die letzten Zeilen fehlen.Bei &man.vmstat.8; wurde die Implementierung für den
Parameter (zur Anzeige der &man.fork.2;
Statistiken) überarbeitet.&man.xargs.1; unterstützt jetzt die neue Option
, um mehrere Versionen des gleichen
Programms parallel ausführen zu lassen.Wird &man.xargs.1; mit dem Parameter verwendet,
reinitialisiert es /dev/tty für das
aufgerufene Programm, bevor es aufgerufen wird. Diese
Erweiterung wird benötigt, wenn das aufgerufene Programm
interaktiv ist.Die Bibliothek libkse
unterstützt die POSIX Threads auf Basis von KSE und wird
jetzt standardmäßig erzeugt und installiert. Diese
Bibliothek unterstützt zur Zeit M:N-Threading. Sowohl
Threads auf System-Ebene als auch auf Prozeß-Ebene werden
unterstützt; außerdem ist es möglich, die Anzahl
gleichzeitig laufender Threads abzufragen und zu setzen. Diese
Anzahl wird von der Bibliothek standardmäßig auf die
Anzahl der CPUs gesetzt. Jeder gleichzeitig laufende Thread
entspricht einer KSE, und alle Threads auf Prozeß-Ebene
laufen innerhalb dieser KSE. Jeder Thread auf System-Ebene
erhält zusätzlich dazu eine eigene KSE.
libkse ist zwar immer noch in Arbeit, kann
aber bereits als Ersatz für die Thread-Bibliothek
libc_r genutzt werden, dazu muß beim
Binden des Programms lediglich statt
verwendet werden.Es gibt jetzt die notwendige
Infrastruktur für 1:1 Threading, bei dem es für jeden
pthread einer Anwendung genau eine KSE und einen Thread gibt.
Bei diesem System übernimmt der Kernel die Entscheidung,
welcher Thread aktiv ist; außerdem ist er für die
Zustellung aller Signale verantwortlich. Um diese
Funktionalität innerhalb eines Programms nutzen zu
können, muß lediglich an Stelle der sonst verwendeten
Bibliothek libc_r die Bibliothek
libthr verwendet werden. Bitte beachten
Sie, daß diese Bibliothek (zur Zeit) nicht
standardmäßig zur Verfügung steht. Das System
für 1:1 Threading nutzt Teile der KSE-Routinen und ist ein
eingeschränkter Sonderfall der M:N Threading Infrastruktur,
die zur Zeit in der Entwicklung ist.Die altbekannten BSD-Startscripte in
/etc wurden durch das von
NetBSD übernommene
rc.d System (auch rcNG
genannt) ersetzt. Die Funktionalität der alten Skripte
wurde vollständig erhalten und Dateien wie
/etc/rc.conf bleiben auch weiterhin der
bevorzugte Weg zur Konfiguration des Systems. Das
rc.d System wurde seit 5.0-RELEASE
standardmäßig benutzt, daher sollte diese
Änderung für die meisten Anwender transparent sein.
Anwender, die die alten Skripte modifiziert haben, müssen
sich darauf einstellen, daß die folgenden Dateien aus dem
Verzeichnis /etc entfernt wurden:
rc.atm, rc.devfs,
rc.diskless1,
rc.diskless2, rc.i386,
rc.alpha, rc.amd64,
rc.ia64, rc.sparc64,
rc.isdn, rc.network,
rc.network6,
rc.pccard, rc.serial,
rc.syscons, rc.sysctl.
Bei der Anwendung von &man.mergemaster.8; ist es möglich,
diese Dateien automatisch entfernen zu lassen. Weitere
Informationen finden Sie in &man.rc.subr.8;.Zusätzliche SoftwareDie ACPI-CA Routinen wurden von
Version 20021118 auf Version 20030228 aktualisiert.Die awk-Variante von Bell Labs
ist jetzt in der Version vom 14. März 2003
verfügbar.BIND steht jetzt in der Version
8.3.4 zur Verfügung. &merged;Alle Anwendungen aus dem bzip2
Paket sind jetzt im Basissystem verfügbar (dies betrifft
speziell bzip2recover, das jetzt erzeugt und
installiert wird). &merged;CVS steht jetzt in der Version
1.11.5 zur Verfügung. &merged;Die Kernel-Module für DRM wurden
aktualisiert. Der neue Stand entspricht einer Zwischenversion
aus dem DRI CVS Repository, der zwar ungefähr XFree86 4.3.0
entspricht, aber einige zusätzliche Fehlerkorrekturen
bietet.FILE steht jetzt in der Version
3.41 zur Verfügung. &merged;GCC steht jetzt in der Version
3.2.2 zur Verfügung.
Es wurde bekannt, daß
GCC falschen Code erzeugt, wenn
die Option gesetzt ist. Um
dieses Problem zu umgehen, wird automatisch
genutzt, falls die
Makefile-Variable CPUTYPE=p4 aktiviert
wird (zum Beispiel in &man.make.conf.5;). Wir gehen davon
aus, daß das Problem behoben wird, sobald GCC 3.3 in
das Basissystem aufgenommen wird.Die Bibliothek gdtoa stellt
Funktionen zur Umwandlung von Zeichenketten in
Fließkommazahlen und umgekehrt zur Verfügung. Die
zur Zeit genutzte Version ist vom 24. März 2003.groff und die dazugehörigen
Programmen wurden von Version 1.18.1 auf Version 1.19
aktualisiert.IPFilter steht jetzt in der
Version 3.4.31 zur Verfügung. &merged;Der ISC DHCP Client steht jetzt
in der Version 3.0.1RC11 zur Verfügung. &merged;Der ISC DHCP Client enthält
jetzt das Programm &man.omshell.1; und die Bibliothek
&man.dhcpctl.3;, mit denen das Verhalten des Client während
des Betriebs beeinflußt werden kann.Kerberos IV (in Form von
KTH eBones) wird nicht mehr
unterstützt. Anwender, die diese Funktionalität
benötigen, können den Port oder das Package security/krb4 installieren. Der Kerberos
IV Kompatibilitätsmodus wurde aus Kerberos 5 entfernt, und
die Namen der Benutzerprogramme wurden von
k5program in
kprogram
geändert.Kerberos 5 wird jetzt beim
buildworld standardmäßig mit
erzeugt und installiert. Es macht keinen Unterschied mehr, ob
MAKE_KERBEROS5 gesetzt ist oder nicht. Wenn
Kerberos 5 nicht im Basissystem enthalten sein soll, muß
die Variable NO_KERBEROS im Makefile gesetzt
werden.libpcap ist jetzt in der Lage,
eine Auswahl unter den verschiedenen Data Link Typen eines
Interfaces zu treffen.lukemftpd ist jetzt auf dem Stand
vom 22. Januar 2003. Hinweis: Dieses Programm wird
standardmäßig weder erzeugt noch installiert.OpenPAM wurde von der Version
Citronella auf die Version der
Dianthus Release aktualisiert.OpenSSH steht jetzt in der
Version 3.6.1p1. zur Verfügung.OpenSSL steht jetzt in der
Version 0.9.7a zur Verfügung. Die wichtigsten Neuerungen
sind die Unterstützung für AES und &man.crypto.4;
Geräte. &merged;sendmail steht jetzt in der
Version 8.12.9 zur Verfügung. &merged;&man.tcpdump.1; steht jetzt in der Version 3.7.2 zur
Verfügung. &merged; Wird &man.tcpdump.1; mit der neuen
Option aufgerufen, zeigt es eine Liste der
Data Link Typen an, die auf einem Interface zur Verfügung
stehen; mit der neuen Option kann angegeben
werden, welcher Data Link Typ bei der Aufzeichnung der Pakete
genutzt werden soll.texinfo wurde von der Version 4.2
auf die Version 4.5 aktualisiert.Die Datenbank der Zeitzonen wurde von der Version
tzdata2002d auf die Version
tzdata2003a aktualisiert. &merged;Infrastruktur für Ports und PackagesDie nur eine Zeile langen pkg-comment
Dateien wurden aus allen Ports entfernt und in das
Makefile des jeweiligen Ports integriert.
Dadurch sinken die Plattenbelegung und der Inode-Verbrauch der
Ports-Sammlung erheblich. &merged;Beim Download der Distributionsdateien für einen Port
kann jetzt im Makefile mit der Variablen
FETCH_REGET angegeben werden, wie oft
versucht werden soll, den Download einer Datei fortzusetzen,
wenn die MD5 Prüfsumme nicht stimmt. Die Infrastruktur
für die Ports unterstützt ebenfalls die Wiederaufnahme
unterbrochener Downloads.Bei &man.pkg.create.1; kann jetzt mit
eine Liste von Packages definiert werden, die nicht zu diesem
Package kompatibel sind. Ist eines dieser Pakete bereits
installiert, weigert sich &man.pkg.add.1;, das Paket zu
installieren. Wenn das Paket trotzdem installiert werden soll,
muß &man.pkg.add.1; mit dem Parameter
aufgerufen werden.&man.pkg.info.1; beachtet jetzt den Wert der
Environment-Variable BLOCKSIZE, wenn es mit
dem Parameter aufgerufen wird.Bei &man.pkg.info.1; kann jetzt der Parameter
angegeben werden. Er bewirkt ein
ähnliches Verhalten wie der Parameter
(quiet), allerdings wird vor jeder Ausgabe der Name des gerade
bearbeiteten Paketes ausgegeben.Erzeugung von Releases und IntegrationGNOME steht jetzt in der Version
2.2.1 zur Verfügung. &merged;KDE steht jetzt in der Version
3.1.2 zur Verfügung. &merged;Es gibt keine separate krb5
Distribution mehr. Die Kerberos 5 Bibliotheken und Programme
sind jetzt Bestandteile der crypto
Distribution.In &man.sysinstall.8; ist es jetzt wieder möglich, Die
Installation einzelner Komponenten von
XFree86 zu installieren. Um dies zu
unterstützen, gab es mehrere für den Anwender nicht
sichtbare Änderungen, die es ganz allgemein erlauben, Teile
einer Distribution als Packages installieren zu lassen.XFree86 steht jetzt in der
Version 4.3.0 zur Verfügung. &merged;Diverse Routinen zur Aktualisierung von &os; von
2.X auf
3.X beziehungsweise von
3.X auf
4.X wurden entfernt.DokumentationDie Dokumentation wurde um die beiden Artikel FreeBSD
From Scratch und The Roadmap for 5-STABLE
ergänzt. Für beide Dokumente werden noch
Übersetzer gesucht.Im Rahmen eines neuen Projektes haben die Arbeiten an einer
dänischen (da_DK.ISO8859-1)
Überstzung begonnen.Aktualisierung einer älteren Version von &os;Anwender, die schon ein &os;-System im Einsatz haben, sollten
auf jeden Fall die Hinweise für
die ersten Anwender von &os; &release.current; lesen.
Dieses Dokument ist auf den Distributionen in der Regel in der
Datei EARLY.TXT verfügbar; ansonsten
sollte es überall dort verfügbar sein, wo auch die
anderen Dokumente der Release Notes verfügbar sind. Das
Dokument enthält einige Tips für die Aktualisierung;
viel wichtiger ist aber die Analyse der beiden Optionen Wechsel zu
&os; 5.X oder Weitere Verwendung von
&os; 4.X.Sie sollten vor der Aktualisierung von &os; auf jeden Fall
Sicherheitskopien aller Daten und
Konfigurationsdateien anlegen.