Hinweise für die ersten Anwender von FreeBSD 5.1-RELEASE

The FreeBSD Release Engineering Team

$FreeBSD$

Dieser Artikel enthält Informationen über den Status von FreeBSD 5.1-RELEASE für die Anwender, die bisher noch keine Erfahrung mit den 5.X Versionen oder FreeBSD sammeln konnten. Er enthält einige Hintergrundinformationen über die vor und während einer Veröffentlichung ablaufende Prozesse, nennt die wichtigsten Neuerungen und die Stellen, an denen die ersten Anwender Probleme haben könnten. Weiterhin gibt es Informationen über die Pläne für weitere Veröffentlichungen im Entwicklungszweig 4-STABLE und ein paar Hinweise für die Aktualisierung bestehender Systeme.



1. Einführung

Nach über zwei Jahren steht mit FreeBSD 5.X wieder eine komplett neue FreeBSD-Version zur Verfügung. Sie bietet nicht nur diverse neue Möglichkeiten, auch und gerade ``unter der Haube'' hat sich einiges verbessert. Der Nachteil dieser Neuerungen ist, daß große Teile des Systems neu und nicht ausreichend getestet sind. Im Vergleich zu den existierenden 4.X Versionen kann der Schritt zu den ersten 5.X Versionen zu Verschlechterungen in den Bereichen Stabilität, Leistung und teilweise auch Funktionalität führen.

Aus diesen Gründen warnen wir alle Anwender, ihre Systeme nicht von älteren FreeBSD-Versionen auf 5.0 zu aktualisieren, wenn sie die "Problemzonen" nicht kennen oder nicht bereit sind, die Einschränkungen in den neuesten Versionen in Kauf zu nehmen. Gerade konservative Anwender sollten in der nahen Zukunft 4.X-Versionen (wie 4.8-RELEASE) benutzen. Wir meinen, daß diese Anwender erst zu 5.X wechseln sollten, nachdem der Entwicklungszweig 5-STABLE existiert; dies wird wahrscheinlich nach der Veröffentlichung von 5.2-RELEASE passieren.

Hier zeigt sich das ``Henne und Ei'' Problem bei der Veröffentlichung von FreeBSD 5.X. Alle am FreeBSD Project beteiligten Personen wollen ein FreeBSD, das möglichst stabil und zuverlässig ist. Um dieses Ziel zu erreichen, müssen die neue Version und speziell die neuen Komponenten von möglichst vielen Anwendern getestet werden. Dummerweise gibt es bei realistischer Betrachtung nur eine Möglichkeit, eine größere Anzahl an Anwender für einen Test zu gewinnen: Die Veröffentlichung der zu testenden Version!

Dieser Artikel beschreibt einige der Probleme, die bei der Installation und Benutzung von FreeBSD 5.1-RELEASE auftreten können. Zuerst wird beschrieben, wie eine neue FreeBSD Version veröffentlicht wird. Dann werden die interessanteren Neuerungen in FreeBSD 5.1-RELEASE und die Bereiche, in denen (gerade für unvorsichtige Anwender) Probleme auftreten können, vorgestellt. Anwender, die erst einmal bei Systemen auf Basis von 4-STABLE bleiben möchten, erhalten einen kurzen Ausblick auf die kurz- und mittelfristigen Planungen für diesen Entwicklungszweig. Zuletzt wird besprochen, was bei einer Aktualisierung eines existierenden 4.X Systems auf 5.0 beachtet werden muß.


2. Veröffentlichung neuer FreeBSD-Versionen

Das Prinzip der FreeBSD-Entwicklung ist die Verwendung mehrerer Entwicklungszweige innerhalb eines ``CVS Repository''. Der Hauptzweig wird ``CURRENT'' genannt und innerhalb des Repository mit dem symbolischen Namen HEAD referenziert. Neuerungen werden zunächst in diesen Zweig eingebracht. Das bedeutet zwar, daß neue Möglichkeiten zunächst einmal nur in CURRENT zur Verfügung stehen, es bedeutet allerdings auch, daß dieser Zweig von Zeit zu Zeit Kummer bereitet, während die Neuerungen getestet und ihre Fehler entfernt werden.

Wenn eine neue FreeBSD-Version veröffentlicht wird, basiert diese in der Regel auf einem der ``STABLE'' (stabil) genannten Entwicklungszweige. Neuerungen werden nur in diese Entwicklungszweige übernommen, nachdem sie in CURRENT getestet wurden. Zur Zeit gibt es nur einen aktiven STABLE Entwicklungszweig: ``4-STABLE''; dieser Zweig war die Grundlage für alle 4.X Versionen. Dieser Zweig wird innerhalb des CVS Repository durch den symbolischen Namen RELENG_4 gekennzeichnet.

Die Basis für FreeBSD 5.0 und 5.1 ist der Entwicklungszweig CURRENT. Damit wird zum ersten Mal nach über zwei Jahren eine neue Version auf Basis dieses Entwicklungszweiges erscheinen (die letzte war FreeBSD 4.0, im März 2000).

Einige Zeit nach der Veröffentlichung von FreeBSD 5.0 wird im FreeBSD CVS Repository der Zweig ``5-STABLE'' mit dem symbolischen Namen RELENG_5 erzeugt werden. Die letzten beiden Entwicklungszweige dieser Art (3-STABLE und 4-STABLE) wurden unmittelbar nach der Veröffentlichung der jeweiligen ``Punkt Null'' Versionen (3.0 bzw. 4.0) erzeugt. Rückblickend müssen wir feststellen, daß dadurch in beiden Fällen nicht genug Zeit war, um CURRENT zu stabilisieren, bevor der neue Entwicklungszweig eingerichtet wurde. Dies führte zu unnötiger Mehrarbeit, da Fehlerkorrekturen von einem Zweig in den anderen Zweig übertragen werden mußten; außerdem kam es zu einigen Änderungen in der Architektur, die nicht in den jeweils anderen Zweig übernommen werden konnten.

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ügung steht. Es ist sehr wahrscheinlich, daß vorher mehrere 5.X Versionen erscheinen werden; zur Zeit rechnen wir damit, daß 5-STABLE nach dem Erscheinen von 5.2-RELEASE erzeugt werden wird.

Weitere Informationen über den Ablauf bei der Veröffentlichung einer neuen FreeBSD Version finden Sie auf den Release Engineering Web pages und im Artikel FreeBSD Release Engineering. Informationen über den geplanten Entwicklungszweig 5-STABLE finden Sie auf der ``The Roadmap for 5-STABLE''.


3. Neuerungen

Die Glanzpunkte von FreeBSD 5.X sind die vielen Neuerungen. Diese Neuerungen und die neue Funktionalität basieren zum größten Teil auf massiven Änderungen der Systemarchitektur, die nicht in den Entwicklungszweig 4-STABLE eingepflegt wurden. Viele in sich abgeschlossene Änderungen wie Treiber für neue Geräte oder neue Benutzerprogramme wurden dagegen schon nach 4-STABLE übernommen. Die folgende Liste enthält eine kurze Übersicht über die wichtigsten Neuerungen in FreeBSD 5.0:

Eine ausführlichere Übersicht über die Neuerungen finden Sie in den ``Release Notes'' für FreeBSD 5.0-RELEASE und 5.1-RELEASE.


4. Nachteile für frühe Anwender

Ein Nachteil der Neuerungen in FreeBSD 5.X ist, daß 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ßt:

Da einige dieser Probleme auch negative Auswirkungen auf die Stabilität des Systems haben, rät das Release Engineering Team konservativen Anwendern und Firmen, Versionen aus dem Entwicklungszweig 4-STABLE zu verwenden, bis die 5.X Versionen zuverlässiger geworden sind.


5. Die Zukunft des Entwicklungszweiges 4-STABLE

Die Veröffentlichung von FreeBSD 5.0 bedeutete nicht das Ende des Entwicklungszweiges 4-STABLE: FreeBSD 4.8 erschien im April 2003, zwei Monate nach der Veröffentlichung von FreeBSD 5.0. Es wird wahrscheinlich noch eine weitere Version auf der Basis dieses Entwicklungszweiges geben: Das für den Sommer 2003 geplante 4.9-RELEASE. Auch eine Version 4.10 liegt im Bereich des Möglichen. Dies hängt von mehreren Faktoren ab, der wichtigste davon ist die Existenz und Stabilitä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öglich und notwendig sein. Bis zum Erscheinen der offiziell letzten Version auf Basis von 4-STABLE bleibt es den Entwicklern überlassen, ob sie Neuerungen aus HEAD in 4-STABLE einpflegen (im Rahmen der schon bestehenden Regelungen).

Bis zu einem gewissen Grad werden das Release Engineering Team und die Entwickler auch die Wünsche der Benutzer nach weiteren Versionen auf Basis von 4-STABLE beachten. Allerdings nur, so weit dies im Rahmen der beschränkten Ressourcen möglich ist.

Neue Versionen auf Basis des Entwicklungszweiges 4-STABLE werden vom Security Officer Team im üblichen Rahmen unterstützt werden, genauere Informationen dazu finden Sie auf der Security page auf der FreeBSD Webseite. In der Regel werden die letzten beiden Versionen jedes Entwicklungszweiges durch die Veröffentlichung von Sicherheitshinweisen und Patches unterstützt; dem Team ist es allerdings freigestellt, diese Unterstützung auf weitere Versionen oder spezielle Probleme auszudehnen.


6. Hinweise für die Aktualisierung von FreeBSD 4.X

Dieses Kapitel enthält Hinweise für Anwender, die ihr bestehendes FreeBSD 4.X System auf FreeBSD 5.X 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 über den Quellcode ist src/UPDATING Pflichtlektüre.


6.1. Aktualisierung ohne Quellcode

Der einfachste Ansatz ist immer noch ``Sicherheitskopien erstellen, Platte formatieren, neues System installieren, Daten wieder einspielen''. Dadurch werden alle Probleme mit veralteten und nicht kompatiblen Programmen und Konfigurationsdateien umgangen. Die neuen Dateisysteme können maximalen Nutzen aus den diversen Neuerungen (speziell UFS2) ziehen.

Zum gegenwärtigen Zeitpunkt hat noch niemand ausführlich getestet, ob und wie gut die ``Upgrade''-Option in 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ß bei dieser Variante diverse Dateien nicht gelöscht werden, die zwar von 4.X genutzt wurden, aber in 5.X nicht mehr vorhanden sind. Diese Altlasten können zu Problemen führen.

Auf i386 und pc98 Systemen kann die Konfiguration von ISA Geräten beim Systemstart mit dem Werkzeug UserConfig eingestellt werden, dies gilt auch beim Start von einem Installations-Medium. Dieses Programm wurde in FreeBSD 5.0 durch device.hints(5) ersetzt; dieses stellt zwar die gleiche Funktionalität bereit, ist aber von der Bedienung her völlig verschieden.

Bei einer Installation von Diskette kann es notwendig werden, die neue Treiber-Diskette zu benutzen. Das drivers.flp Diskettenimage sollte im allgemeinen überall dort verfügbar sein, wo auch schon die bekannten kern.flp und mfsroot.flp verfügbar sind.

Bei einer Installation von CD-ROM auf einem i386-System wird jetzt ein neues Startprogramm mit dem Namen ``no-emulation boot loader'' genutzt. Dadurch ist es unter anderem möglich, auf der CD den Standardkernel (GENERIC) statt des auf den Disketten verwendeten Mini-Kernels zu nutzen. Jedes System, das von den Installations-CDs für Windows NT 4.0 booten kann, sollte auch mit den FreeBSD 5.X CD-ROMs zurechtkommen.


6.2. Aktualisierung mit Quellcode

Es ist auf jeden Fall erforderlich, vor der Aktualisierung src/UPDATING zu lesen. Der Abschnitt ``To upgrade from 4.x-stable to current'' enthält eine Schritt-für-Schritt Anleitung, der Sie unbedingt folgen müssen, die Nutzung der üblichen ``Abkürzungen'' ist nicht möglich.


6.3. Allgemeine Hinweise

Perl wurde aus dem Basissystem entfernt und sollte entweder als Package oder über die Ports Collection installiert werden. Die bisher übliche Praxis, Perl als Teil des Basissystems zu behandeln und mit ihm zusammen zu kompilieren, führte zu diversen Problemen, die eine Aktualisierung von Perl erschwerten. Die im Standardsystem vorhandenen Programme, die Perl benötigten, wurden entweder in einer anderen Sprache neu geschrieben (wenn sie noch benötigt wurden) oder ersatzlos entfernt (wenn sie überflüssig waren). Da sysinstall(8) das Perl Package bei den meisten Distributionen automatisch mit installiert, sollte diese Änderung kaum Auswirkungen auf die Anwender haben.

Einige Scripte verlassen sich darauf, daß der Perl-Interpreter als /usr/bin/perl verfügbar ist. Der Perl Port enthält das Programm use.perl, mit dem ein passender Satz symbolischer Links für diese Scripte erzeugt werden kann. Nach dem Aufruf von use.perl port sollte alles wie erwartet funktionieren.

Es ist zwar möglich, für 4.X geschriebene Programme unter 5.X zu nutzen, allerdings muß dazu die Distribution compat4x installiert sein. Damit könnte es auch möglich sein, alte Ports zu benutzen.

Bei der Aktualisierung eines bestehenden Systems auf Basis von 4-STABLE, ist es unbedingt notwendig, die alten Dateien in /usr/include zu löschen. Im allgemeinen ist es ausreichend, dieses Verzeichnis vor der Installation bzw. vor dem installworld 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.

Es gibt kein MAKEDEV mehr, weil es nicht mehr benötigt wird. FreeBSD 5.X benutzt ein spezielles Dateisystem für Geräte, das die entsprechenden Device Nodes bei Bedarf automatisch erzeugt. Weitere Informationen finden Sie in devfs(5).

Alle mit newfs(8) erzeugten Dateisysteme werden standardmäßig im Format UFS2 angelegt. Diese gilt auf allen Plattformen außer PC98 auch für Dateisysteme, die mit sysinstall(8) erzeugt werden. Da FreeBSD 4.X nur UFS1 lesen kann, müssen alle Dateisysteme, die sowohl mit 4.X als auch mit 5.X nutzbar sein sollen, im Format UFS1 erzeugt werden. Dieser Fall tritt typischerweise auf Systemen auf, auf denen 4.X und 5.X installiert und abwechselnd betrieben werden. In newfs(8) steht dazu die Option -O1 zur Verfügung, auch sysinstall(8) enthält eine entsprechende Option. Bitte beachten Sie, daß es kein Konvertierungsprogramm zur Umwandlung von UFS1 nach UFS2 (oder umgekehrt) gibt, nur die Variante Backup, Formatieren, Restore.


7. Zusammenfassung

FreeBSD 5.1-RELEASE enthält zwar viele interessante Neuerungen, aber es ist noch nicht für alle Anwender geeignet. Aus diesem Grund haben wir in diesem Dokument Informationen über die Abläufe bei der Veröffentlichung einer neuen Version, die interessantesten Neuerungen in den 5.X Versionen und wahrscheinliche Probleme gegeben. Weiterhin enthielt er einen Ausblick auf die Zukunft des Entwicklungszweiges 4-STABLE und Informationen für Anwender, die schon jetzt umsteigen wollen.


Diese Datei und andere Dokumente zu dieser Version sind bei ftp://ftp.FreeBSD.org/verfuegbar.

Wenn Sie Fragen zu FreeBSD haben, lesen Sie erst die Dokumentation, bevor Sie sich an <[email protected]> wenden.

Alle Anwender von FreeBSD 5-CURRENT sollten sich in die Mailingliste <[email protected]> eintragen.

Wenn Sie Fragen zu dieser Dokumentation haben, wenden Sie sich an <[email protected]>.