diff --git a/de_DE.ISO8859-1/books/handbook/boot/chapter.sgml b/de_DE.ISO8859-1/books/handbook/boot/chapter.sgml index 5fa4e0c166..ea405b8b25 100644 --- a/de_DE.ISO8859-1/books/handbook/boot/chapter.sgml +++ b/de_DE.ISO8859-1/books/handbook/boot/chapter.sgml @@ -1,877 +1,877 @@ Hans-Christian Ebke Übersetzt von FreeBSDs Bootvorgang Übersicht booten Bootstrap Das Starten des Computers und das Laden des Betriebssystems wird im Allgemeinen als Bootstrap Vorgang bezeichnet, oder einfach als Booten. FreeBSDs Bootvorgang ermöglicht große Flexibilität, was das Anpassen dessen anbelangt, was passiert, wenn das System gestartet wird. Es kann zwischen verschiedenen Betriebssystemen, die auf demselben Computer installiert sind oder verschiedenen Versionen desselben Betriebssystems oder installierten Kernels gewählt werden. Dieses Kapitel zeigt die zur Verfügung stehenden Konfigurationsmöglichkeiten und wie man den Bootvorgang anpasst. Dies schließt alles ein, bis der Kernel gestartet worden ist, der dann alle Geräte gefunden hat und &man.init.8; gestartet hat. Falls Sie sich nicht ganz sicher sind, wann dies passiert: Es passiert, wenn die Farbe des Textes während des Bootvorgangs von weiß zu Hellgrau wechselt. Dieses Kapitel informiert über folgende Punkte: Die Komponenten des FreeBSD Bootstraps und deren Interaktion. Die Optionen, mit denen Sie den FreeBSD Bootvorgang steuern können. Wie Geräte mit &man.device.hints.5; konfiguriert werden. nur x86 Dieses Kapitel erklärt den Bootvorgang von FreeBSD auf Intel X86 Plattformen. Das Problem des Bootens Wenn der Computer eingeschaltet wird und das Betriebssystem gestartet werden soll, entsteht ein interessantes Dilemma, denn der Computer weiß per Definition nicht, wie er irgendetwas tut, bis das Betriebssystem gestartet wurde. Das schließt das Starten von Programmen, die sich auf der Festplatte befinden, ein. Wenn nun der Computer kein Programm von der Festplatte starten kann, sich das Betriebssystem aber dummerweise genau dort befindet, wie wird es dann gestartet? Dieses Problem ähnelt einer Geschichte des Barons von Münchhausen. Dort war eine Person in einen Sumpf gefallen und hat sich selbst an den Riemen seiner Stiefel (engl. bootstrap) herausgezogen. In den jungen Jahren des Computerzeitalters wurde mit dem Begriff Bootstrap dann die Technik das Betriebssystem zu laden bezeichnet und wurde hinterher mit booten abgekürzt. Auf x86 Plattformen ist das BIOS (Basic Input/Output System) dafür verantwortlich, das Betriebssystem zu laden. Dazu liest das BIOS den Master Bootsektor (MBR; Master Boot Record) aus, der sich an einer bestimmten Stelle auf der Festplatte/Diskette befinden muss. Das BIOS kann den MBR selbstständig laden und ausführen und geht davon aus, dass der die restlichen Dinge, die für das Laden des Betriebssystems notwendig sind, selber erledigen kann. BIOS Basic Input/Output System Falls nur ein Betriebssystem installiert ist, ist der Standard MBR ausreichend. Dieser MBR sucht nach dem ersten bootbaren Slice auf dem Laufwerk und führt ihn aus, um das restliche Betriebssystem zu laden. Falls mehrere Betriebssysteme installiert sind, sollte man einen anderen MBR installieren, der eine Liste der verfügbaren Betriebssysteme anzeigt und einen wählen lässt, welches man booten möchte. FreeBSD liegt ein solcher MBR bei und andere Hersteller bieten Alternativen an. Das restliche FreeBSD Bootstrap System ist in drei Phasen unterteilt. Die erste Phase wird vom MBR durchgeführt, der gerade genug Funktionalität besitzt um den Computer in einen bestimmten Status zu verhelfen und die zweite Phase zu starten. Die zweite Phase führt ein wenig mehr Operationen durch und startet schließlich die dritte Phase, die das Laden des Betriebssystems abschließt. Der ganze Prozess wird in drei Phasen durchgeführt, weil der PC Standard die Größe der Programme, die in Phase eins und zwei ausgeführt werden, limitiert. Durch das Verketten der durchzuführenden Aufgaben wird es FreeBSD möglich, ein sehr flexibles Ladeprogramm zu besitzen. Kernel init Als nächstes wird der Kernel gestartet, der zunächst nach Geräten sucht und sie für den Gebrauch initialisiert. Nach dem Booten des Kernels übergibt dieser die Kontrolle an den Benutzer Prozess &man.init.8;, der erst sicherstellt, dass alle Laufwerke benutzbar sind und die Ressourcen Konfiguration auf Benutzer Ebene startet. Diese wiederum mountet Dateisysteme, macht die Netzwerkkarten für die Kommunikation mit dem Netzwerk bereit und startet generell alle Prozesse, die auf einem FreeBSD System normalerweise beim Hochfahren gestartet werden. Der MBR, und die Boot-Phasen Eins, Zwei und Drei Der MBR, <filename>/boot/boot0</filename> Master Boot Record (MBR) Eine Kopie des Master Boot Records (MBR) von FreeBSD befindet sich in /boot/boot0. Der richtige MBR wird in einem nicht benutzbaren Teil des Laufwerks gespeichert. boot0 ist ein ziemlich simples Programm, und zwar aus dem einfachen Grund, dass der MBR nur 512 Bytes groß sein darf. Falls Sie den FreeBSD MBR installiert haben und sich mehrere Betriebssysteme auf Ihrer Festplatte befinden, werden Sie beim Starten des Computers eine Anzeige sehen, ähnlich der Folgenden: <filename>boot0</filename> Screenshot F1 DOS F2 FreeBSD F3 Linux F4 ?? F5 Drive 1 Default: F2 Diverse Betriebssysteme, insbesondere Windows 95 und Nachfolger, überschreiben den MBR ungefragt mit ihrem eigenen. Falls einem dies passiert sein sollte, kann man mit folgendem Kommando den momentanen MBR durch den FreeBSD MBR ersetzen: &prompt.root; fdisk -B -b /boot/boot0 Gerät Wobei Gerät das Gerät ist, von dem gebootet wird, also z.B. ad0 für die erste IDE Festplatte, ad2 für die erste IDE Festplatte am zweiten IDE Controller, da0 für die erste SCSI Festplatte, usw. Wenn Sie auf demselben Rechner FreeBSD und Linux benutzen möchten, können Sie den FreeBSD Boot-Manager oder LILO benutzen. Wollen Sie den MBR von LILO benutzen, wählen Sie bei der FreeBSD Installation im Boot Manager Menü aus. Damit Sie das FreeBSD System aus LILO booten können, tragen Sie in /etc/lilo.conf die folgenden Zeilen Zeilen ein: other=/dev/diskXY table=/dev/diskX loader=/boot/chain.b label=FreeBSD Ersetzen Sie dabei diskXY mit hdXY, wenn Sie ein IDE-Laufwerk benutzen, oder mit sdXY, wenn Sie ein SCSI-Laufwerk benutzen. Mit XY geben Sie die Slice des FreeBSD Systems, zum Beispiel /dev/hdb1, an. Wenn sich beide Betriebssysteme auf derselben Platte befinden, können Sie auch weglassen. Mit geben Sie das Gerät an, auf dem die Partitionstabelle liegt, /dev/hdb bezeichnet zum Beispiel das zweite IDE-Laufwerk. Die Änderungen können Sie nun mit /sbin/lilo -v aktivieren. Achten Sie dabei auf die Bildschirmausgabe, die den Erfolg der Operation anzeigt. Phase Eins, <filename>/boot/boot1</filename> und Phase Zwei, <filename>/boot/boot2</filename> Im Prinzip sind die erste und die zweite Phase Teile desselben Programms, im selben Bereich auf der Festplatte. Aufgrund von Speicherplatz-Beschränkungen wurden sie aufgeteilt, aber man installiert sie eigentlich generell zusammen. Sie befinden sich beide im Bootsektor des Boot-Slices, wo boot0 und jedes andere Programm im MBR das Programm erwartet, das den weiteren Bootvorgang durchführt. Die Dateien im Verzeichnis /boot sind nur Kopien der eigentlichen Dateien, die sich außerhalb FreeBSDs Dateisystems befinden. boot1 ist ebenfalls ein sehr simples Programm, da es auch nur 512 Bytes groß sein darf, und es besitzt gerade genug Funktionalität um FreeBSDs disklabel, das Informationen über den Slice enthält, auszulesen um boot2 zu finden und auszuführen. boot2 ist schon ein wenig umfangreicher und besitzt genügend Funktionalität um Dateien in FreeBSDs Dateisystem zu finden. Außerdem hat es eine einfache Schnittstelle, die es ermöglicht, den zu ladenden Kernel oder Loader auszuwählen. Da der Loader einen weitaus größeren Funktionsumfang hat und eine schöne und einfach zu bedienende Boot-Konfigurations-Schnittstelle zur Verfügung stellt, wird er gewöhnlich von boot2 anstatt des Kernels gestartet. Früher war es jedoch dazu da den Kernel direkt zu starten. <filename>boot2</filename> Screenshot >> FreeBSD/i386 BOOT Default: 0:ad(0,a)/kernel boot: Um das installierte boot1 und boot2 zu ersetzen, benutzt man &man.disklabel.8;: &prompt.root; disklabel -B Slice Wobei Slice das Laufwerk und die Slice darstellt, von dem gebootet wird, beispielsweise ad0s1 für die erste Slice auf der ersten IDE Festplatte. Dangerously Dedicated Mode Wenn man nur den Festplatten-Namen, also z.B. ad0, in &man.disklabel.8; benutzt wird eine "dangerously dedicated disk" erstellt, ohne Slices. Das ist ein Zustand, den man meistens nicht hervorrufen möchte. Aus diesem Grund sollte man ein &man.disklabel.8; Kommando noch einmal prüfen, bevor man Return betätigt. Phase drei, <filename>/boot/loader</filename> boot-loader Der boot-loader ist der letzte von drei Schritten im Bootstrap Prozess und kann im Dateisystem normalerweise unter /boot/loader gefunden werden. Der Loader soll eine benutzerfreundliche Konfigurations-Schnittstelle sein mit einem einfach zu bedienenden eingebauten Befehlssatz, ergänzt durch einen umfangreichen Interpreter mit einem komplexeren Befehlssatz. Loader Ablauf Der Loader sucht während seiner Initialisierung nach Konsolen und Laufwerken, findet heraus, von welchem Laufwerk er gerade bootet und setzt dementsprechend bestimmte Variablen. Dann wird ein Interpreter gestartet, der Befehle interaktiv oder von einem Skript empfangen kann. loader loader Konfiguration Danach liest der Loader die Datei /boot/loader.rc aus, welche ihn standardmäßig anweist /boot/defaults/loader.conf zu lesen, wo sinnvolle Standardeinstellungen für diverse Variablen festgelegt werden und wiederum /boot/loader.conf für lokale Änderungen an diesen Variablen ausgelesen wird. Anschließend arbeitet dann loader.rc entsprechend dieser Variablen und lädt die ausgewählten Module und den gewünschten Kernel. In der Voreinstellung wartet der Loader 10 Sekunden lang auf eine Tastatureingabe und bootet den Kernel, falls keine Taste betätigt wurde. Falls doch eine Taste betätigt wurde wird dem Benutzer eine Eingabeaufforderung angezeigt. Sie nimmt einen einfach zu bedienenden Befehlssatz entgegen, der es dem Benutzer erlaubt, Änderungen an Variablen vorzunehmen, Module zu laden, alle Module zu entladen oder schließlich zu booten bzw. neu zu booten. Die eingebauten Befehle des Loaders Hier werden nur die gebräuchlichsten Befehle bearbeitet. Für eine erschöpfende Diskussion aller verfügbaren Befehle konsultieren Sie bitte &man.loader.8;. autoboot Sekunden Es wird mit dem Booten des Kernels fortgefahren, falls keine Taste in der gegebenen Zeitspanne betätigt wurde. In der gegebenen Zeitspanne, Vorgabe sind 10 Sekunden, wird ein Countdown angezeigt. boot -options Kernelname Bewirkt das sofortige Booten des Kernels mit den gegebenen Optionen, falls welche angegeben wurden, und mit den angegebenen Kernel, falls denn einer angegeben wurde. boot-conf Bewirkt die automatische Konfiguration der Module, abhängig von den entsprechenden Variablen. Dieser Vorgang ist identisch zu dem Vorgang, den der Bootloader ausführt und daher nur sinnvoll, wenn zuvor unload benutzt wurde und Variablen (gewöhnlich kernel) verändert wurden. help Thema Zeigt die Hilfe an, die zuvor aus der Datei /boot/loader.help gelesen wird. Falls index als Thema angegeben wird, wird die Liste der zur Verfügung stehenden Hilfe-Themen angezeigt. include Dateiname Verarbeitet die angegebene Datei. Das Einlesen und Interpretieren geschieht Zeile für Zeile und wird im Falle eines Fehlers umgehend unterbrochen. load Typ Dateiname Lädt den Kernel, das Kernel-Modul, oder die Datei des angegebenen Typs. Optionen, die auf den Dateinamen folgen, werden der Datei übergeben. ls Pfad Listet die Dateien im angegebenen Pfad auf, oder das root-Verzeichnis(/), falls kein Pfad angegeben wurde. Die Option bewirkt, dass die Dateigrössen ebenfalls angezeigt werden. lsdev Listet alle Geräte auf, für die Module geladen werden können. Die Option bewirkt eine detailreichere Ausgabe. lsmod Listet alle geladenen Module auf. Die Option bewirkt eine detailreichere Ausgabe. more Dateiname Zeigt den Dateinhalt der angegebenen Datei an, wobei eine Pause alle LINES Zeilen gemacht wird. reboot Bewirkt einen umgehenden Neustart des Systems. set Variable set Variable=Wert Setzt die Umgebungsvariablen des Loaders. unload Entlädt sämtliche geladenen Module. Beispiele für die Loader Bedienung Hier ein paar praktische Beispiele für die Bedienung des Loaders. Single-User Modus Um den gewöhnlichen Kernel im Single-User Modus zu starten: boot -s Um alle gewöhnlichen Kernelmodule zu entladen und dann nur den alten (oder jeden beliebigen anderen) Kernel zu laden: kernel.old unload load kernel.old Es kann kernel.GENERIC verwendet werden, um den allgemeinen, Kernel zu bezeichnen, der vorinstalliert wird. kernel.old bezeichnet den Kernel, der vor dem aktuellen installiert war (falls man einen neuen Kernel compiliert und installiert hat, zum Beispiel). Der folgende Befehl lädt die gewöhnlichen Module mit einem anderen Kernel: unload set kernel="kernel.old" boot-conf Folgendes lädt ein Kernelkonfigurations-Skript (ein automatisiertes Skript, dass dasselbe tut, was der Benutzer normalerweise von Hand an der Eingabeaufforderung durchführen würde): load -t userconfig_script /boot/kernel.conf Kernel Interaktion während des Bootprozesses Kernel boot interaction Wenn der Kernel einmal geladen ist, entweder durch den Loader (die Standardmethode) oder durch boot2 (den Loader umgehend), verhält sich gemäß seiner Boot-Flags, falls es welche gibt. Kernel bootflags Kernel Boot-Flags Es folgt eine Auflistung der gebräuchlichsten Boot-Flags: Bewirkt, dass der Benutzer während der Kernel-Initialisierung gefragt wird, welches Gerät als Root-Dateisystem gemounted werden soll. Es wird von CD-ROM gebootet. UserConfig, das Boot-Zeit Konfigurationsprogramm, wird gestartet. Bewirkt den Start des Single-User Modus. Zeigt mehr Informationen während des Starten des Kernels an. Für Informationen über weitere Boot-Flags konsultieren Sie bitte &man.boot.8;. Tom Rhodes Beigetragen von device.hints Konfiguration von Geräten Diese Funktion steht erst ab FreeBSD 5.0 zur Verfügung. Der Boot-Loader liest während des Systemstarts die Datei &man.device.hints.5;, die Variablen, auch device hints genannt, zur Konfiguration von Geräten enthält. Die Variablen können auch mit Kommandos in der Phase 3 des Boot-Loaders bearbeitet werden. Neue Variablen werden mit set gesetzt, unset löscht schon definierte Variablen und show zeigt Variablen an. Variablen aus /boot/device.hints können zu diesem Zeitpunkt überschrieben werden. Die hier durchgeführten Änderungen sind nicht permanent und beim nächsten Systemstart nicht mehr gültig. Nach dem Systemstart können alle Variablen mit &man.kenv.1; angezeigt werden. Pro Zeile enthält /boot/device.hints eine Variable. Kommentare werden, wie üblich, durch # eingeleitet. Die verwendete Syntax lautet: hint.driver.unit.keyword="value" Der Boot-Loader verwendet die nachstehende Syntax: set hint.driver.unit.keyword=value Der Gerätetreiber wird mit driver, die Nummer des Geräts mit unit angegeben. keyword ist eine Option aus der folgenden Liste: : Gibt den Bus, auf dem sich das Gerät befindet, an. : Die Startadresse des I/O-Bereichs. : Gibt die zu verwendende Unterbrechungsanforderung (IRQ) an. : Die Nummer des DMA Kanals. : Die physikalische Speicheradresse des Geräts. : Setzt verschiedene gerätespezifische Optionen. : Deaktiviert das Gerät, wenn der Wert auf 1 gesetzt wird. Ein Gerätetreiber kann mehr Optionen, als die hier beschriebenen, besitzen oder benötigen. Schlagen Sie die Optionen bitte in der Online-Hilfe des Treibers nach. Weitere Informationen erhalten Sie in &man.device.hints.5;, &man.kenv.1;, &man.loader.conf.5; und &man.loader.8;. init Init: Initialisierung der Prozess-Kontrolle Nachdem der Kernel den Bootprozess abgeschlossen hat, übergibt er die Kontrolle an den Benutzer-Prozess &man.init.8;. Dieses Programm befindet sich in /sbin/init, oder dem Pfad, der durch die Variable init_path im Loader spezifiziert wird. Der automatische Reboot-Vorgang Der automatische Reboot-Vorgang stellt sicher, dass alle Dateisysteme des Systems konsistent sind. Falls dies nicht der Fall ist und die Inkonsistenz nicht durch &man.fsck.8; behebbar ist, schaltet &man.init.8; das System in den Single-User Modus, damit der Systemadministrator sich des Problems annehmen kann. Der Single-User Modus Single-User Modus Konsole Das Schalten in diesen Modus kann erreicht werden durch den automatischen Reboot-Vorgang, durch das Booten mit der Option oder das Setzen der boot_single Variable in Loader. Weiterhin kann der Single-User Modus aus dem Mehrbenutzer Modus heraus durch den Befehl &man.shutdown.8; ohne die reboot () oder halt () Option erreicht werden. Falls die System-Konsole (console) in /etc/ttys auf insecure (dt.: unsicher) gesetzt ist, fordert das System allerdings zur Eingabe des Passworts von root auf, bevor es den Single-User Modus aktiviert. Auf insecure gesetzte Konsole in <filename>/etc/ttys</filename> # name getty type status comments # # If console is marked "insecure", then init will ask for the root password # when going to single-user mode. console none unknown off insecure Eine Konsole sollte auf insecure gesetzt sein, wenn die physikalische Sicherheit der Konsole nicht gegeben ist und sichergestellt werden soll, dass nur Personen, die das Passwort von root kennen, den Single-User Modus benutzen können. Es bedeutet nicht, dass die Konsole "unsicher" laufen wird. Daher sollte man insecure wählen, wenn man auf Sicherheit bedacht ist, nicht secure. Mehrbenutzer Modus Mehrbenutzer Modus Stellt &man.init.8; fest, dass das Dateisystem in Ordnung ist, oder der Benutzer den Single-User Modus beendet, schaltet das System in den Mehrbenutzer Modus, in dem dann die Ressourcen Konfiguration des Systems gestartet wird. rc-Dateien Ressourcen Konfiguration, rc-Dateien Das Ressourcen Konfigurationssystem (engl. resource configuration, rc) liest seine Standardkonfiguration von /etc/defaults/rc.conf und System-spezifische Details von /etc/rc.conf. Dann mountet es die Dateisysteme gemäß /etc/fstab, startet die Netzwerkdienste, diverse System Daemons und führt schließlich die Start-Skripten der lokal installierten Anwendungen aus. Die &man.rc.8; Handbuch Seite ist eine gute Quelle für Informationen über das Ressourcen Konfigurationssystem und ebenso über die Skripte an sich. Der Shutdown Vorgang shutdown Im Falle eines regulären Herunterfahrens durch &man.shutdown.8; führt &man.init.8; /etc/rc.shutdown aus, sendet dann sämtlichen Prozessen ein TERM Signal und schließlich ein KILL Signal an alle Prozesse, die sich nicht schnell genug beendet haben. FreeBSD Systeme, die Energieverwaltungsfunktionen unterstützen, können Sie mit dem Kommando shutdown -p now ausschalten. Zum Neustart des Systems benutzen Sie shutdown -r now. Das Kommando &man.shutdown.8; kann nur von root oder Mitgliedern der Gruppe operator benutzt werden. Sie können auch die Kommandos &man.halt.8; und &man.reboot.8; verwenden. Weitere Informationen finden Sie in den Hilfeseiten der drei Kommandos. Mit FreeBSD 5.0 müssen Sie die &man.acpi.4;-Unterstützung im Kernel aktivieren oder das Modul geladen haben, damit Sie die Energieverwaltungsfunktionen benutzen können. Mit FreeBSD 4.0 benötigen Sie die &man.apm.4;-Unterstützung. diff --git a/de_DE.ISO8859-1/books/handbook/cutting-edge/chapter.sgml b/de_DE.ISO8859-1/books/handbook/cutting-edge/chapter.sgml index d0e7b8325c..9679e7f09a 100644 --- a/de_DE.ISO8859-1/books/handbook/cutting-edge/chapter.sgml +++ b/de_DE.ISO8859-1/books/handbook/cutting-edge/chapter.sgml @@ -1,1973 +1,1918 @@ Jim Mock Umstrukturiert und aktualisiert von Jordan Hubbard Im Original von Poul-Henning Kamp John Polstra Nik Clayton Martin Heinen Übersetzt von Das Neueste und Beste Übersicht &os; wird zwischen einzelnen Releases konstant weiter entwickelt. Es gibt mehrere einfache Möglichkeiten, ein System auf dem aktuellen Stand der Entwicklung zu halten. Seien Sie jedoch gewarnt: Die neueste Version ist nicht für jeden geeignet! Dieses Kapitel hilft Ihnen bei der Entscheidung, ob Sie mit dem Entwicklungssystem Schritt halten oder ein Release verwenden wollen. Nachdem Sie dieses Kapitel gelesen haben, werden Sie den Unterschied der beiden Entwicklerversionen &os.stable; und &os.current; kennen, wissen, wie Sie Ihr System mit CVSup, CVS oder CTM aktualisieren. Wissen, wie Sie mit make world das komplette Basissystem wieder neu bauen und installieren können. Bevor Sie dieses Kapitel lesen, sollten Sie Ihr Netzwerk richtig konfiguriert haben () und wissen, wie Sie Software Dritter installieren (). &os.current; vs. &os.stable; -CURRENT -STABLE FreeBSD besitzt zwei Entwicklungszweige: &os.current; und &os.stable;. Dieser Abschnitt beschreibt beide Zweige und erläutert, wie Sie Ihr System auf dem aktuellen Stand eines Zweiges halten. Zuerst wird &os.current; vorgestellt, dann &os.stable;. &os.current; Beachten Sie im Folgenden, dass &os.current; die Spitze der Entwicklung von &os; ist. Benutzer von &os.current; sollten über sehr gute technische Fähigkeiten verfügen und in der Lage sein, schwierige Probleme alleine zu lösen. Wenn &os; neu für Sie ist, überlegen Sie sich genau, ob Sie &os.current; benutzen wollen. Was ist &os.current;? Snapshot &os.current; besteht aus den neuesten Quellen des FreeBSD-Systems. Es enthält Sachen, an denen gerade gearbeitet wird, experimentelle Änderungen und Übergangsmechanismen, die im nächsten offiziellen Release der Software enthalten sein können oder nicht. Obwohl &os.current; täglich von vielen Entwicklern gebaut wird, gibt es Zeiträume, in denen sich das System nicht bauen lässt. Diese Probleme werden so schnell wie möglich gelöst, aber ob Sie mit &os.current; Schiffbruch erleiden oder die gewünschten Verbesserungen erhalten, kann von dem Zeitpunkt abhängen, an dem Sie sich den Quelltext besorgt haben! Wer braucht &os.current;? &os.current; wird hauptsächlich für 3 Interessengruppen zur Verfügung gestellt: Entwickler, die an einem Teil des Quellbaums arbeiten und daher über die aktuellen Quellen verfügen müssen. Tester, die bereit sind, Zeit in das Lösen von Problemen zu investieren und sicherstellen, dass &os.current; so stabil wie möglich bleibt. Weiterhin Leute, die Vorschläge zu Änderungen oder der generellen Entwicklung von &os; machen und Patches bereitstellen, um diese Vorschläge zu realisieren. Für Leute, die die Entwicklung im Auge behalten wollen, oder die Quellen zu Referenzzwecken (zum Beispiel darin lesen, aber nicht verwenden) benutzen wollen. Auch diese Gruppe macht Vorschläge oder steuert Quellcode bei. Was &os.current; <emphasis>nicht</emphasis> ist! Der schnellste Weg, neue Sachen vor dem offiziellen Release auszuprobieren. Bedenken Sie, dass der erste, der die neuen Sachen ausprobiert, auch der erste ist, der die neuen Fehler findet. Ein schneller Weg, um an Fehlerbehebungen (engl. bug fixes) zu kommen. Jede Version von &os.current; führt mit gleicher Wahrscheinlichkeit neue Fehler ein, mit der sie alte behebt. In irgendeiner Form offiziell unterstützt. Wir tun unser Bestes, um Leuten aus den drei legitimen Benutzergruppen von &os.current; zu helfen, aber wir haben einfach nicht die Zeit, technische Unterstützung zu erbringen. Das kommt nicht daher, dass wir kleinliche, gemeine Leute sind, die anderen nicht helfen wollen (wenn wir das wären, würden wir &os; nicht machen), wir können einfach nicht jeden Tag Hunderte Nachrichten beantworten und an &os; arbeiten! Vor die Wahl gestellt, &os; zu verbessern oder jede Menge Fragen zu experimentellem Code zu beantworten, haben sich die Entwickler für ersteres entschieden. Benutzen von &os.current; -CURRENT benutzen Es ist essentiell, die Mailinglisten &a.current.name; und &a.cvsall.name; zu lesen. Wenn Sie &a.current.name; nicht lesen, verpassen Sie die Kommentare anderer über den momentanen Zustand des Systems und rennen demzufolge in viele bekannte Probleme, die schon gelöst sind. Noch kritischer ist, dass Sie wichtige Bekanntmachungen verpassen, die erhebliche Auswirkungen auf die Stabilität Ihres Systems haben können. In der &a.cvsall.name; Mailingliste sehen Sie zu jeder Änderung das Commit-Log, das Informationen zu möglichen Seiteneffekten enthält. Um diese Listen zu abonnieren (oder zu lesen) besuchen Sie bitte die Seite &a.mailman.lists.link;. Weitere Informationen erhalten Sie, wenn Sie dort auf die gewünschte Liste klicken. Beschaffen Sie sich die Quellen von einem &os;-Spiegel. Sie haben - dazu drei Möglichkeiten: + dazu zwei Möglichkeiten: cvsup cron -CURRENT mit CVSup synchronisieren - Benutzen Sie cvsup mit - - einer geeigneten Sup-Datei. Dies ist die - empfohlene Methode, da Sie die ganzen Quellen nur einmal - herunterladen und danach nur noch Änderungen - beziehen. Viele lassen cvsup - aus cron heraus laufen, um ihre - Quellen automatisch auf Stand zu bringen. Sie - müssen die obige Sup-Datei anpassen und - cvsup - in Ihrer Umgebung konfigurieren. - Sie können sich die Arbeit vereinfachen, indem Sie - das folgende Kommando absetzen: + Benutzen Sie cvsup + mit der Datei standard-supfile + aus dem Verzeichnis + /usr/share/examples/cvsup. + Dies ist die empfohlene Methode, da Sie die ganzen + Quellen nur einmal herunterladen und danach nur noch + Änderungen beziehen. Viele lassen + cvsup aus cron + heraus laufen, um ihre Quellen automatisch auf Stand + zu bringen. Sie müssen die obige Sup-Datei + anpassen und cvsup + in Ihrer Umgebung konfigurieren. Sie können + sich die Arbeit vereinfachen, indem Sie das folgende + Kommando absetzen: &prompt.root; pkg_add -f ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/All/cvsupit-3.1.tgz - - - - -CURRENT - Herunterladen mit ftp - - - - Benutzen Sie ftp. Auf einigen - FTP-Spiegeln ist - der Quellbaum im Verzeichnis - /pub/FreeBSD/FreeBSD-current/ - abgelegt. Manche FTP-Spiegel unterstützen - das Herunterladen von komprimierten mit - tar gepackten Dateibäumen. - Wenn Sie beispielsweise das Verzeichnis - usr.bin/lex als - tar-Datei herunterladen wollen, geben - Sie Folgendes ein: - - ftp> cd usr.bin -ftp> get lex.tar - - - Der komplette Quellbaum von &os.current; - lässt sich viel leichter mit - cvsup als mit FTP kopieren. - -CURRENT mit CTM synchronisieren CTM kommt in Frage, wenn Sie über eine schlechte Internet-Anbindung (hoher Preis oder nur E-Mail Zugriff) verfügen. Der Umgang mit CTM ist allerdings recht mühsam und Sie können beschädigte Dateien erhalten. Daher wird es selten benutzt, was wiederum dazu führt, dass es über längere Zeit nicht funktioniert. Wir empfehlen jedem mit einem 9600 bps oder schnellerem Modem, CVSup zu benutzen. Wenn Sie die Quellen einsetzen und nicht nur darin lesen wollen, besorgen Sie sich bitte die kompletten Quellen von &os.current; und nicht nur ausgesuchte Teile. Der Grund hierfür ist, dass die verschiedenen Teile der Quellen voneinander abhängen. Es ist ziemlich sicher, dass Sie in Schwierigkeiten geraten, wenn Sie versuchen, nur einen Teil der Quellen zu übersetzen. -CURRENT übersetzen Bevor Sie &os.current; übersetzen, sollten Sie sich das Makefile in /usr/src genau anschauen. Wenn Sie Ihr System das erste Mal aktualisieren, sollten Sie mindestens make world laufen lassen. Lesen Sie bitte die Mailingliste &a.current;, um über Änderungen im Installationsverfahren, die manchmal vor der Einführung eines neuen Releases notwendig sind, informiert zu sein. Seien Sie aktiv! Wenn Sie &os.current; laufen lassen, wollen wir wissen, was Sie darüber denken, besonders wenn Sie Verbesserungsvorschläge oder Fehlerbehebungen haben. Verbesserungsvorschläge, die Code enthalten, werden übrigens begeistert entgegengenommen. &os.stable; Was ist &os.stable;? -STABLE &os.stable; ist der Entwicklungszweig, auf dem Releases erstellt werden. Dieser Zweig ändert sich langsamer als &os.current; und alle Änderungen hier sollten zuvor in &os.current; ausgetestet sein. Beachten Sie, dass dies immer noch ein Entwicklungszweig ist und daher zu jedem Zeitpunkt die Quellen von &os.stable; verwendbar sein können oder nicht. &os.stable; ist Teil des Entwicklungsprozesses und nicht für Endanwender gedacht. Wer braucht &os.stable;? Wenn Sie den FreeBSD Entwicklungsprozess, besonders im Hinblick auf das nächste Release, verfolgen oder dazu beitragen wollen, sollten Sie erwägen, &os.stable; zu benutzen. Auch wenn sicherheitsrelevante Fehlerbehebungen in den &os.stable; Zweig einfließen, müssen Sie deswegen noch lange nicht &os.stable; verfolgen. Jeder der FreeBSD Sicherheitshinweise beschreibt für jedes betroffene Release, Das stimmt nicht ganz. Obwohl wir alte FreeBSD Releases für einige Jahre unterstützen, können wir sie nicht ewig unterstützen. Eine vollständige Beschreibung der Sicherheitspolitik für alte FreeBSD Releases entnehmen Sie bitte http://www.FreeBSD.org/security/ wie sie einen sicherheitsrelevanten Fehler beheben. Wenn Sie den Entwicklungszweig aus Sicherheitsgründen verfolgen wollen, bedenken Sie, dass Sie neben Fehlerbehebungen auch eine Vielzahl unerwünschter Änderungen erhalten werden. Obwohl wir versuchen sicherzustellen, dass der &os.stable; Zweig sich jederzeit übersetzen lässt und läuft, können wir dafür keine Garantie übernehmen. Auch wenn Neuentwicklungen in &os.current; stattfinden, ist es jedoch so, dass mehr Leute &os.stable; benutzen als &os.current; und es daher unvermeidlich ist, dass Fehler und Grenzfälle erst in &os.stable; auffallen. Aus diesen Gründen empfehlen wir Ihnen nicht, blindlings &os.stable; zu benutzen. Es ist wichtig, dass Sie &os.stable; zuerst sorgfältig in einer Testumgebung austesten, bevor Sie Ihre Produktion auf &os.stable; migrieren. Wenn Sie dies nicht leisten können, empfehlen wir Ihnen, das aktuelle FreeBSD Release zu verwenden. Benutzen Sie dann den binären Update-Mechanismus, um auf neue Releases zu migrieren. Benutzen von &os.stable; -STABLE benutzen Lesen Sie Mailingliste &a.stable.name;, damit Sie über Abhängigkeiten beim Bau von &os.stable; und Sachen, die besondere Aufmerksamkeit erfordern, informiert sind. Umstrittene Fehlerbehebungen oder Änderungen werden von den Entwicklern auf dieser Liste bekannt gegeben. Dies erlaubt es den Benutzern, Einwände gegen die vorgeschlagenen Änderungen vorzubringen. In der &a.cvsall.name; Mailingliste sehen Sie zu jeder Änderung das Commit-Log, das Informationen zu möglichen Seiteneffekten enthält. Um diese Listen oder andere Listen zu abonnieren besuchen Sie bitte die Seite &a.mailman.lists.link;. Weitere Informationen erhalten Sie, wenn Sie dort auf die gewünschte Liste klicken. Wenn Sie ein neues System installieren und so aktuell wie möglich sein wollen, holen Sie sich einfach den neusten Snapshot von und installieren ihn wie ein normales Release. Wenn Sie schon ein älteres Release von &os; und das System mit dem Quellcode aktualisieren wollen, benutzen Sie einen der &os;-Spiegel. Sie haben - dazu drei Möglichkeiten: + dazu zwei Möglichkeiten: cvsup cron -STABLE mit CVSup synchronisieren - Benutzen Sie cvsup mit - - einer geeigneten Sup-Datei. Dies ist die - empfohlene Methode, da Sie die ganzen Quellen nur einmal - herunterladen und danach nur noch Änderungen - beziehen. Viele lassen cvsup - aus cron heraus laufen, um ihre - Quellen automatisch auf Stand zu bringen. Sie - müssen das oben erwähnte + Benutzen Sie cvsup + mit der Datei stable-supfile + aus dem Verzeichnis + /usr/share/examples/cvsup. + Dies ist die empfohlene Methode, da Sie die ganzen + Quellen nur einmal herunterladen und danach nur noch + Änderungen beziehen. Viele lassen + cvsup aus cron + heraus laufen, um ihre Quellen automatisch auf Stand + zu bringen. Sie müssen das oben erwähnte supfile anpassen und cvsup konfigurieren. Wenn Sie dazu eine einfache Schnittstelle benötigen, geben sie Folgendes ein:
&prompt.root; pkg_add -f ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/All/cvsupit-3.1.tgz
- - -STABLE - herunterladen mit ftp - - - Benutzen Sie ftp. Auf einigen - FTP-Spiegeln ist - der Quellbaum im Verzeichnis - /pub/FreeBSD/FreeBSD-stable/ - abgelegt. Manche FTP-Spiegel unterstützen - das Herunterladen von komprimierten mit - tar gepackten Dateibäumen. - Wenn Sie beispielsweise das Verzeichnis - usr.bin/lex als - tar-Datei herunterladen wollen, geben - Sie Folgendes ein: - - ftp> cd usr.bin -ftp> get lex.tar - - - Der komplette Quellbaum von &os.stable; - lässt sich viel leichter mit - cvsup als mit FTP kopieren. - - - -STABLE mit CTM synchronisieren Benutzen Sie CTM. Wenn Sie über keine schnelle und billige Internet-Anbindung verfügen, sollten Sie diese Methode in Betracht ziehen.
Benutzen Sie cvsup oder ftp, wenn Sie schnellen Zugriff auf die Quellen brauchen und die Bandbreite keine Rolle spielt, andernfalls benutzen Sie CTM. -STABLE übersetzen Bevor Sie &os.stable; übersetzen, sollten Sie sich das Makefile in /usr/src genau anschauen. Wenn Sie Ihr System das erste Mal aktualisieren, sollten Sie mindestens make world laufen lassen. Lesen Sie bitte die Mailingliste &a.stable;, um über Änderungen im Installationsverfahren, die manchmal vor der Einführung eines neuen Releases notwendig sind, informiert zu sein.
Synchronisation der Quellen Sie können eine Internet-Verbindung (oder E-Mail) dazu nutzen, Teile von &os;, wie die Quellen zu einzelnen Projekten, oder das Gesamtsystem, aktuell zu halten. Dazu bieten wir die Dienste AnonymousCVS, CVSup und CTM an. Obwohl es möglich ist, nur Teile des Quellbaums zu aktualisieren, ist die einzige unterstütze Migrationsprozedur, den kompletten Quellbaum zu aktualisieren und alles, das heißt das Userland (z.B. alle Programme in /bin und /sbin) und die Kernelquellen, neu zu übersetzen. Wenn Sie nur einen Teil der Quellen, zum Beispiel nur den Kernel oder nur die Programme aus dem Userland, aktualisieren, werden Sie oft Probleme haben, die von Übersetzungsfehlern über Kernel-Panics bis hin zu Beschädigungen Ihrer Daten reichen können. anonymous CVS Anonymous CVS und CVSup benutzen die Pull-Methode Von engl. to pull = ziehen. Der Client holt sich bei dieser Methode die Dateien ab. , um die Quellen zu aktualisieren. Im Fall von CVSup ruft der Benutzer oder ein cron-Skript cvsup auf, das wiederum mit einem cvsupd Server interagiert, um Ihre Quellen zu aktualisieren. Mit beiden Methoden erhalten Sie aktuelle Updates zu einem genau von Ihnen bestimmten Zeitpunkt. Sie können die Prozedur auf bestimmte Dateien oder Verzeichnisse einschränken, so dass Sie nur die Updates bekommen, die für Sie von Interesse sind. Die Updates werden zur Laufzeit, abhängig von den Sachen, die Sie schon haben und den Sachen, die Sie haben wollen, auf dem Server generiert. Anonymous CVS ist eine Erweiterung von CVS, die es Ihnen erlaubt, Änderungen direkt aus einem entfernten CVS-Repository zu ziehen. Anonymous CVS ist leichter zu handhaben als CVSup, doch ist letzteres sehr viel effizienter. CTM Im Gegensatz dazu vergleicht CTM Ihre Quellen nicht mit denen auf einem Server. Stattdessen läuft auf dem Server ein Skript, das Änderungen an Dateien gegenüber seinem vorigen Lauf bemerkt, die Änderungen komprimiert, mit einer Sequenznummer versieht und für das Verschicken per E-Mail kodiert (es werden nur druckbare ASCII-Zeichen verwendet). Wenn Sie diese CTM-Deltas erhalten haben, können Sie sie mit &man.ctm.rmail.1; benutzen, welches die Deltas dekodiert, verifiziert und dann die Änderungen an Ihren Quellen vornimmt. Dieses Verfahren ist viel effizienter als CVSup und erzeugt auch weniger Last auf unseren Servern, da es die Push-Methode Von engl. to push = schieben. Der Server schickt dem Client die Dateien. verwendet. Es gibt natürlich noch weitere Unterschiede, die Sie beachten sollten. Wenn Sie unabsichtlich Teile Ihres Archivs löschen, wird das von CVSup wie Anonymous CVS erkannt und repariert. Wenn sich fehlerhafte Dateien in Ihrem Quellbaum befinden, löschen Sie diese einfach und synchronisieren erneut. CTM leistet das nicht, wenn Sie Teile des Quellbaums gelöscht haben und keine Sicherung besitzen, müssen Sie von neuem, das heißt vom letzten Basis-Delta, starten und die Änderungen wieder mit CTM nachziehen. Bau mit <command>make world</command> make world Wenn Sie Ihren lokalen Quellbaum mit einer bestimmten FreeBSD Version (&os.stable;, &os.current;, usw.) synchronisiert haben, können Sie diesen benutzen, um das System neu zu bauen. Erstellen Sie eine Sicherung! Es kann nicht oft genug betont werden, wie wichtig es ist, Ihr System zu sichern, bevor Sie die nachfolgenden Schritte ausführen. Obwohl der Neubau des Systems eine einfache Aufgabe ist, solange Sie sich an die folgende Anleitung halten, ist es unvermeidlich, dass Sie Fehler machen, oder Ihr System nicht mehr bootet, weil andere Fehler in den Quellbaum eingeführt haben. Stellen Sie sicher, dass Sie eine Sicherung erstellt haben und über eine Fixit-Floppy verfügen. Wahrscheinlich brauchen Sie sie nicht zu benutzen, aber gehen Sie auf Nummer Sicher! Abonnieren Sie die richtige Mailingliste Mailingliste Die &os.stable; und &os.current; Zweige befinden sich in ständiger Entwicklung. Die Leute, die zu &os; beitragen, sind Menschen und ab und zu machen sie Fehler. Manchmal sind diese Fehler harmlos und lassen Ihr System eine Warnung ausgeben. Die Fehler können allerdings auch katastrophal sein und dazu führen, dass Sie Ihr System nicht mehr booten können, Dateisysteme beschädigt werden oder Schlimmeres passiert. Wenn solche Probleme auftauchen, wird ein heads up an die passende Mailingliste geschickt, welches das Problem erklärt und die betroffenen Systeme benennt. Eine all clear Meldung wird versendet, wenn das Problem gelöst ist. Wenn Sie &os.stable; oder &os.current; benutzen und nicht die Mailinglisten &a.stable; beziehungsweise &a.current; lesen, bringen Sie sich nur unnötig in Schwierigkeiten. Lesen Sie <filename>/usr/src/UPDATING</filename> Bevor Sie etwas anderes tun, lesen Sie bitte /usr/src/UPDATING (oder die entsprechende Datei, wenn Sie den Quellcode woanders installiert haben). Die Datei enthält wichtige Informationen zu Problemen, auf die Sie stoßen könnten oder gibt die Reihenfolge vor, in der Sie bestimmte Kommandos laufen lassen müssen. Die Anweisungen in UPDATING sind aktueller als die in diesem Handbuch. Im Zweifelsfall folgen Sie bitte den Anweisungen aus UPDATING. Das Lesen von UPDATING ersetzt nicht das Abonnieren der richtigen Mailingliste. Die beiden Voraussetzungen ergänzen sich, es reicht nicht aus, nur eine zu erfüllen. Überprüfen Sie <filename>/etc/make.conf</filename> make.conf Überprüfen Sie die Dateien /etc/defaults/make.conf und /etc/make.conf. Die erste enthält Vorgabewerte, von denen die meisten auskommentiert sind. Um diese während des Neubaus des Systems zu nutzen, tragen Sie die Werte in /etc/make.conf ein. Beachten Sie, dass alles, was Sie in /etc/make.conf eintragen, bei jedem Aufruf von make angezogen wird. Es ist also klug, hier etwas Sinnvolles einzutragen. Typischerweise wollen Sie die Zeilen, die CFLAGS und NOPROFILE enthalten, aus /etc/defaults/make.conf nach /etc/make.conf übertragen und dort aktivieren. Sehen Sie sich auch die anderen Definitionen, wie COPTFLAGS oder NOPORTDOCS an und entscheiden Sie, ob Sie diese aktivieren wollen. Aktualisieren Sie die Dateien in <filename>/etc</filename> Das Verzeichnis /etc enthält den Großteil der Konfigurationsdateien des Systems und Skripten, die beim Start des Systems ausgeführt werden. Einige dieser Skripten ändern sich bei einer Migration auf eine neue FreeBSD Version. Einige der Konfigurationsdateien, besonders /etc/group, werden für den Normalbetrieb des Systems gebraucht. Es gab Fälle, in denen der Installationsteil von make world auf das Vorhandensein von bestimmten Accounts oder Gruppen angewiesen war, die aber zurzeit des Updates noch nicht vorhanden waren. Demzufolge kam es zu Problemen bei der Migration. Ein Beispiel dafür ist der vor kurzem hinzugefügte Benutzer smmsp. Die Installationsprozedur schlug an der Stelle fehl, an der &man.mtree.8; versuchte, /var/spool/clientmqueue anzulegen. Um dieses Problem zu umgehen, vergleichen Sie die Gruppen in /usr/src/etc/group mit den auf Ihrem System vorhandenen Gruppen. Wenn sich in dieser Datei neue Gruppen befinden, kopieren Sie diese nach /etc/group. Gruppen, die in /etc/group dieselbe GID wie in /usr/src/etc/group aber einen unterschiedlichen Namen haben, sollten Sie umbenennen. Seit 4.6-RELEASE besitzt &man.mergemaster.8; einen prä-buildworld Modus, der mit aktiviert wird. In diesem Modus werden nur Dateien verglichen, die für den Erfolg von buildworld oder installworld essentiell sind. Wenn Ihre alte Version von mergemaster die Option noch nicht unterstützt, nehmen Sie beim ersten Lauf die neue Version aus dem Quellbaum: &prompt.root; cd /usr/src/usr.sbin/mergemaster &prompt.root; ./mergemaster.sh -p Wenn Sie besonders paranoid sind, sollten Sie Ihr System nach Dateien absuchen, die der Gruppe, die Sie umbenennen oder löschen, gehören: &prompt.root; find / -group GID -print Das obige Kommando zeigt alle Dateien an, die der Gruppe GID (dies kann entweder ein Gruppenname oder eine numerische ID sein) gehören. Wechseln Sie in den Single-User Modus Single-User Modus Sie können das System im Single-User Modus übersetzen. Abgesehen davon, dass dies etwas schneller ist, werden bei der Installation des Systems viele wichtige Dateien, wie die Standard-Systemprogramme, die Bibliotheken und Include-Dateien, verändert. Sie bringen sich in Schwierigkeiten, wenn Sie diese Dateien auf einem laufenden System verändern, besonders dann, wenn zu dieser Zeit Benutzer auf dem System aktiv sind. Mehrbenutzermodus Eine andere Methode übersetzt das System im Mehrbenutzermodus und wechselt für die Installation den Single-User Modus. Wenn Sie diese Methode benutzen wollen, warten Sie mit den folgenden Schritten, bis der Bau des Systems fertig ist und Sie mit installkernel oder installworld installieren wollen. Als Superuser können Sie mit dem folgenden Kommando ein laufendes System in den Single-User Modus bringen: &prompt.root; Alternativ können Sie das System mit der Option in den Single-User Modus booten. Setzen Sie dann die folgenden Kommandos ab: &prompt.root; fsck -p &prompt.root; mount -u / &prompt.root; mount -a -t ufs &prompt.root; swapon -a Die Kommandos überprüfen die Dateisysteme, hängen / wieder beschreibbar ein, hängen dann alle anderen UFS Dateisysteme aus /etc/fstab ein und aktivieren den Swap-Bereich. Zeigt Ihre CMOS-Uhr die lokale Zeit und nicht GMT an, dies erkennen Sie daran, dass &man.date.1; die falsche Zeit und eine flasche Zeitzone anzeigt, setzen Sie das folgende Kommando ab: &prompt.root; adjkerntz -i Dies stellt sicher, dass Ihre Zeitzone richtig eingestellt ist. Ohne dieses Kommando werden Sie vielleicht später Probleme bekommen. Entfernen Sie <filename>/usr/obj</filename> Die neugebauten Teile des Systems werden in der Voreinstellung unter /usr/obj gespeichert. Die Verzeichnisse dort spiegeln die Struktur unter /usr/src. Sie können den make world Prozess beschleunigen, indem Sie dieses Verzeichnis entfernen. Dies erspart Ihnen zudem einigen Ärger aufgrund von Abhängigkeiten. Einige Dateien unter /usr/obj sind vielleicht durch die -Option (siehe &man.chflags.1;) schreibgeschützt, die vor dem Löschen entfernt werden muss. &prompt.root; cd /usr/obj &prompt.root; chflags -R noschg * &prompt.root; rm -rf * Übersetzen der Quellen Sichern der Ausgaben Für den Fall, dass etwas schief geht, sollten Sie die Ausgaben von &man.make.1; in einer Datei sichern, damit Sie eine Kopie der Fehlermeldung besitzen. Das mag Ihnen nicht helfen, den Fehler zu finden, kann aber anderen helfen, wenn Sie Ihr Problem in einer der &os;-Mailinglisten schildern. Dazu können Sie einfach das Kommando &man.script.1; benutzen, dem Sie beim Aufruf als Parameter den Dateinamen für die Ausgaben mitgeben. Setzen Sie das Kommando unmittelbar vor dem Neubau ab und geben Sie exit ein, wenn der Bau abgeschlossen ist: &prompt.root; script /var/tmp/mw.out Script started, output file is /var/tmp/mw.out &prompt.root; make TARGET … Ausgaben des Kommandos … &prompt.root; exit Script done, … Sichern Sie die Ausgaben nicht in /tmp, da dieses Verzeichnis beim nächsten Boot aufgeräumt werden kann. Ein geeigneteres Verzeichnis ist /var/tmp, wie im vorigen Beispiel gezeigt, oder das Heimatverzeichnis von root. Übersetzen des Basissystems Wechseln Sie in das Verzeichnis, in dem die Quellen liegen (in der Voreinstellung ist das /usr/src): &prompt.root; cd /usr/src make Zum Neubau der Welt benutzen Sie &man.make.1;. Dieses Kommando liest ein Makefile, das Anweisungen enthält, wie die Programme, aus denen &os; besteht, zu bauen sind und in welcher Reihenfolge diese zu bauen sind. Ein typischer Aufruf von make sieht wie folgt aus: &prompt.root; make -x -DVARIABLE target In diesem Beispiel ist eine Option, die Sie an &man.make.1; weitergeben wollen. Eine Liste gültiger Optionen finden Sie in der &man.make.1; Manualpage. Das Verhalten eines Makefiles wird von Variablen bestimmt. Mit setzen Sie eine Variable. Diese Variablen sind dieselben, die auch in /etc/make.conf gesetzt werden, dies ist nur ein alternativer Weg, Variablen zu setzen. Um zu verhindern, dass die profiled Bibliotheken gebaut werden, rufen Sie make wie folgt auf: &prompt.root; make -DNOPROFILE target Dieser Aufruf entspricht dem folgenden Eintrag in /etc/make.conf: NOPROFILE= true # Avoid compiling profiled libraries Jedes Makefile definiert einige Ziele, die festlegen, was genau zu tun ist. Mit target wählen Sie eins dieser Ziele aus. Einige Ziele im Makefile sind nicht für den Endanwender gedacht, sondern unterteilen den Bauprozess in eine Reihe von Einzelschritten. Im Regelfall müssen Sie &man.make.1; keine Parameter mitgeben, so dass Ihre Kommandozeile wie folgt aussehen wird: &prompt.root; make target In der &os; Version 2.2.5 wurde das Ziel world in zwei Ziele aufgespalten: buildworld und installworld. Tatsächlich ist das zuerst in &os.current; passiert und wurde dann irgendwann zwischen den Versionen 2.2.2 und 2.2.5 in &os.stable; eingebaut. Mit buildworld wird ein kompletter Baum unterhalb von /usr/obj gebaut, der mit installworld auf dem System installiert werden kann. Dies ist aus zwei Gründen nützlich. Erstens können Sie das System auf einem laufenden System bauen, da die Bauprozedur abgekapselt vom Rest des Systems ist. Das System lässt sich im Mehrbenutzermodus ohne negative Seiteneffekte bauen. Die Installation mit installworld sollte aber immer noch im Single-User Modus erfolgen. Zweitens können Sie NFS benutzen, um mehrere Maschinen in Ihrem Netzwerk zu aktualisieren. Wenn Sie die Maschinen A, B und C aktualisieren wollen, lassen sie make buildworld und make installworld auf A laufen. Auf den Maschinen B und C können Sie die Verzeichnisse /usr/src und /usr/obj von A einhängen und brauchen dort nur noch make installworld auszuführen, um die Bauresultate zu installieren. Obwohl das Ziel world noch existiert, sollten Sie es wirklich nicht mehr benutzen. Um das System zu bauen, setzen Sie das folgende Kommando ab: &prompt.root; make buildworld Mit können Sie make anweisen, mehrere Prozesse zu starten. Besonders effektiv ist das auf Mehrprozessor-Systemen. Da aber der Übersetzungsprozess hauptsächlich von IO statt der CPU bestimmt wird, ist diese Option auch auf Einprozessor-Systemen nützlich. Auf einem typischen Einprozessor-System können Sie den folgenden Befehl absetzen: &prompt.root; make -j4 buildworld &man.make.1; wird dann bis zu vier Prozesse gleichzeitig laufen lassen. Erfahrungsberichte aus den Mailinglisten zeigen, dass dieser Aufruf typischerweise den besten Geschwindigkeitsgewinn bringt. Wenn Sie ein Mehrprozessor-System besitzen und SMP in Ihrem Kernel konfiguriert ist, probieren Sie Werte zwischen 6 und 10 aus. Beachten Sie bitte, dass dies noch nicht richtig unterstützt wird und dass es bei einigen Änderungen am Quellbaum zu Fehlern kommen kann. Wenn Sie diesen Parameter benutzt haben und der Bau nicht funktioniert, bauen Sie bitte noch einmal ohne den Parameter, bevor Sie ein Problem melden. Laufzeiten make world Laufzeiten Die Laufzeit eines Baus wird von vielen Faktoren beeinflusst. Ein 500 MHz Pentium III braucht ungefähr zwei Stunden um &os.stable; zu bauen. Der Bau von &os.current; dauert etwas länger. Übersetzen und Installation des Kernels Kernel Übersetzen Um das Beste aus Ihrem System zu holen, sollten Sie einen neuen Kernel kompilieren. Praktisch gesehen ist das sogar notwendig, da sich einige Datenstrukturen geändert haben und Programme wie &man.ps.1; oder &man.top.1; nur mit einem Kernel zusammen arbeiten, der auch zu dem entsprechenden Quellcode passt. Am einfachsten und sichersten bauen Sie dazu den GENERIC Kernel. Obwohl der GENERIC Kernel vielleicht nicht alle Ihre Geräte unterstützt, sollte er alles enthalten, um das System in den Single-User Modus zu booten. Dies ist auch ein guter Test, um zu sehen, dass das System ordnungsgemäß funktioniert. Nachdem Sie mit GENERIC gebootet und sichergestellt haben, dass Ihr System funktioniert, können Sie einen neuen Kernel mit Ihrer Konfigurationsdatei bauen. Wenn Sie einen Update nach &os; 4.0 oder höher durchführen, sollten Sie den Kernel nicht mit der herkömmlichen Methode, die in beschrieben ist, bauen. Stattdessen benutzen Sie die nachstehenden Kommandos (die neue Methode) nach dem Bau des Basissystems mit buildworld. Wenn Sie einen angepassten Kernel erstellen wollen und bereits über eine Konfigurationsdatei verfügen, geben Sie diese, wie im folgenden Beispiel gezeigt, auf der Kommandozeile an: &prompt.root; cd /usr/src &prompt.root; make buildkernel KERNCONF=MYKERNEL &prompt.root; make installkernel KERNCONF=MYKERNEL Wenn Sie FreeBSD 4.2 oder eine ältere Version verwenden, ersetzen Sie KERNCONF= durch KERNEL=. Ab der 4.2-STABLE Version vom 2. Februar 2001 können Sie die Variable KERNCONF verwenden. Wenn kern.securelevel einen Wert größer als 1 besitzt und der Kernel mit noschg oder ähnlichen Optionen geschützt ist, müssen Sie installkernel im Einbenutzermodus ausführen. Wenn das nicht der Fall ist, sollten die beiden Kommandos problemlos im Mehrbenutzermodus laufen. Weitere Informationen über kern.securelevel finden Sie in &man.init.8; und &man.chflags.1; erläutert Optionen, die Sie auf Dateien setzen können. Wenn Sie ein Update auf eine &os; Version vor 4.0 durchführen, sollten Sie die herkömmliche Methode benutzen. Es ist allerdings empfohlen, dazu die frisch gebaute Version von &man.config.8; zu benutzen: &prompt.root; /usr/obj/usr/src/usr.sbin/config/config KERNELNAME Booten Sie in den Single-User Modus Single-User Modus Um zu prüfen, ob der neue Kernel funktioniert, sollten Sie in den Single-User Modus booten. Folgen Sie dazu der Anleitung aus . Installation des Systems Wenn Sie make buildworld benutzt haben, um das System zu bauen, sollten Sie jetzt installworld benutzen, um es zu installieren. Rufen Sie dazu das folgende Kommando auf: &prompt.root; cd /usr/src &prompt.root; make installworld Wenn Sie mit dem make buildworld Kommando Variablen verwenden haben, müssen Sie dieselben Variablen auch bei dem make installworld Kommando angeben. Auf die anderen Optionen trifft das nur bedingt zu: darf mit installworld nicht benutzt werden. Sie haben zum Bauen die folgende Kommandozeile verwendet: &prompt.root; make -DNOPROFILE buildworld Bei der Installation setzen Sie dann das folgende Kommando ab: &prompt.root; make -DNOPROFILE installworld Würden Sie die Variable bei der Installation weglassen, so würde das System versuchen, die profiled Bibliotheken, die aber gar nicht gebaut wurden, zu installieren. Aktualisieren der von <command>make installworld</command> ausgelassenen Dateien Neue oder geänderte Konfigurationsdateien aus einigen Verzeichnissen, besonders /etc, /var und /usr werden bei der Installationsprozedur nicht berücksichtigt. Sie können diese Dateien mit &man.mergemaster.8; aktualisieren. Alternativ können Sie das auch manuell durchführen, obwohl wir diesen Weg nicht empfehlen. Egal welchen Weg Sie beschreiten, sichern Sie vorher den Inhalt von /etc für den Fall, dass etwas schief geht. Tom Rhodes Beigetragen von <command>mergemaster</command> mergemaster Das Bourne-Shell Skript &man.mergemaster.8; hilft Ihnen dabei, die Unterschiede zwischen den Konfigurationsdateien in /etc und denen im Quellbaum unter /usr/src/etc zu finden. mergemaster ist der empfohlene Weg, Ihre Systemkonfiguration mit dem Quellbaum abzugleichen. Zwischen 3.3-RELEASE und 3.4-RELEASE wurde mergemaster in das Basissystem integriert, so dass es in allen -STABLE und -CURRENT Systemen seit der Version 3.3 vorhanden ist. Rufen Sie mergemaster einfach auf und schauen Sie zu. Ausgehend von / wird mergemaster einen virtuellen Root-Baum aufbauen und darin die neuen Konfigurationsdateien ablegen. Diese Dateien werden dann mit den auf Ihrem System installierten verglichen. Unterschiede zwischen den Dateien werden im &man.diff.1;-Format dargestellt. Neue oder geänderte Zeilen werden mit gekennzeichnet. Zeilen die gelöscht oder ersetzt werden, sind mit einem gekennzeichnet. Das Anzeigeformat wird in &man.diff.1; genauer erklärt. &man.mergemaster.8; zeigt Ihnen jede geänderte Datei an und Sie haben die Wahl, die neue Datei (in mergemaster wird sie temporäre Datei genannt) zu löschen, sie unverändert zu installieren, den Inhalt der neuen Datei mit dem Inhalt der alten Datei abzugleichen, oder die &man.diff.1; Ausgabe noch einmal zu sehen. Sie können die aktuelle Datei auch überspringen, sie wird dann noch einmal angezeigt, nachdem alle anderen Dateien abgearbeitet wurden. Sie erhalten Hilfe, wenn Sie bei der Eingabeaufforderung von mergemaster ein ? eingeben. Wenn Sie die temporäre Datei löschen, geht mergemaster davon aus, dass Sie Ihre aktuelle Datei behalten möchten. Wählen Sie die Option bitte nur dann, wenn Sie keinen Grund sehen, die aktuelle Datei zu ändern. Wenn Sie die temporäre Datei installieren, wird Ihre aktuelle Datei mit der neuen Datei überschrieben. Sie sollten alle unveränderten Konfigurationsdateien auf diese Weise aktualisieren. Wenn Sie sich entschließen den Inhalt beider Dateien abzugleichen, wird ein Texteditor aufgerufen, indem Sie beide Dateien nebeneinander betrachten können. Mit der Taste l übernehmen Sie die aktuelle Zeile der links dargestellten Datei, mit der Taste r übernehmen Sie die Zeile der rechts dargestellten Datei. Das Ergebnis ist eine Datei, die aus Teilen der beiden ursprünglichen Dateien besteht und installiert werden kann. Dieses Verfahren wird gewöhnlich bei veränderten Dateien genutzt. Haben Sie sich entschieden die Differenzen noch einmal anzuzeigen, zeigt Ihnen &man.mergemaster.8; dieselbe Ausgabe, die Sie gesehen haben, bevor die Eingabeaufforderung ausgegeben wurde. Wenn &man.mergemaster.8; alle Systemdateien abgearbeitet hat, werden weitere Optionen abgefragt. Sie werden unter Umständen gefragt, ob Sie die Passwort-Datei neu bauen oder &man.MAKEDEV.8; laufen lassen wollen. Am Ende haben Sie die Möglichkeit, den Rest der temporären Dateien zu löschen. Manueller Abgleich der Konfigurationsdateien Wenn Sie den Abgleich lieber selbst ausführen wollen, beachten Sie bitte, dass Sie nicht einfach die Dateien aus /usr/src/etc nach /etc kopieren können. Einige dieser Dateien müssen zuerst installiert werden, bevor sie benutzt werden können. Das liegt daran, dass /usr/src/etc keine exakte Kopie von /etc ist. Zudem gibt es Dateien, die sich in /etc befinden aber nicht in /usr/src/etc. Wenn Sie, wie empfohlen, mergemaster benutzen, lesen Sie bitte im nächsten Abschnitt weiter. Am einfachsten ist es, wenn Sie die neuen Dateien in ein temporäres Verzeichnis installieren und sie nacheinander auf Differenzen zu den bestehenden Dateien durchsehen. Sichern Sie die Inhalte von <filename>/etc</filename> Obwohl bei dieser Prozedur keine Dateien in /etc automatisch verändert werden, sollten Sie dessen Inhalt an einen sicheren Ort kopieren: &prompt.root; cp -Rp /etc /etc.old Mit wird rekursiv kopiert und erhält die Attribute der kopierten Dateien, wie Zugriffszeiten und Eigentümer. Sie müssen die neuen Dateien in einem temporären Verzeichnis installieren. /var/tmp/root ist eine gute Wahl für das temporäre Verzeichnis, in dem auch noch einige Unterverzeichnisse angelegt werden müssen. &prompt.root; mkdir /var/tmp/root &prompt.root; cd /usr/src/etc &prompt.root; make DESTDIR=/var/tmp/root distrib-dirs distribution Die obigen Kommandos bauen die nötige Verzeichnisstruktur auf und installieren die neuen Dateien in diese Struktur. Unterhalb von /var/tmp/root wurden einige leere Verzeichnisse angelegt, die Sie am besten wie folgt entfernen: &prompt.root; cd /var/tmp/root &prompt.root; find -d . -type d | xargs rmdir 2>/dev/null Im obigen Beispiel wurde die Fehlerausgabe nach /dev/null umgeleitet, um die Warnungen über nicht leere Verzeichnisse zu unterdrücken. /var/tmp/root enthält nun alle Dateien, die unterhalb von / installiert werden müssen. Sie müssen nun jede dieser Dateien mit den schon existierenden Dateien vergleichen. Einige der installierten Dateien unter /var/tmp/root beginnen mit einem /var/tmp/root/ und /var/tmp/root/root/. Abhängig davon, wann Sie dieses Handbuch lesen, können mehr Dateien dieser Art existieren. Verwenden Sie ls -a um sicherzustellen, dass Sie alle derartigen Dateien finden. Benutzen Sie &man.diff.1; um Unterschiede zwischen zwei Dateien festzustellen: &prompt.root; diff /etc/shells /var/tmp/root/etc/shells Das obige Kommando zeigt Ihnen die Unterschiede zwischen der installierten Version von /etc/shells und der neuen Version in /var/tmp/root/etc/shells. Entscheiden Sie anhand der Unterschiede, ob Sie beide Dateien abgleichen oder die neue Version über die alte kopieren wollen. Versehen Sie das temporäre Verzeichnis mit einem Zeitstempel Wenn Sie das System oft neu bauen, müssen Sie /etc genauso oft aktualisieren. Dies kann mit der Zeit sehr lästig werden. Sie können das Verfahren beschleunigen, wenn Sie sich eine Kopie der Dateien behalten, die Sie zuletzt nach /etc installiert haben. Das folgende Verfahren zeigt Ihnen, wie das geht. Folgen Sie der normalen Prozedur um das System zu bauen. Wenn Sie /etc und die anderen Verzeichnisse aktualisieren wollen, geben Sie dem temporären Verzeichnis einen Namen, der das aktuelle Datum enthält. Wenn Sie dies zum Beispiel am 14. Februar 1998 durchführten, hätten Sie die folgenden Kommandos abgesetzt: &prompt.root; mkdir /var/tmp/root-19980214 &prompt.root; cd /usr/src/etc &prompt.root; make DESTDIR=/var/tmp/root-19980214 \ distrib-dirs distribution Gleichen Sie die Änderungen entsprechend der Anleitung von oben ab. Wenn Sie fertig sind, entfernen Sie das Verzeichnis /var/tmp/root-19980214 nicht. Wenn Sie nun neue Quellen heruntergeladen und gebaut haben, folgen Sie bitte Schritt 1. Wenn Sie zwischen den Updates eine Woche gewartet haben, haben Sie nun ein Verzeichnis mit dem Namen /var/tmp/root-19980221. Sie können nun die Unterschiede, die sich in einer Woche ergeben haben, sehen, indem Sie &man.diff.1; rekursiv anwenden: &prompt.root; cd /var/tmp &prompt.root; diff -r root-19980214 root-19980221 Üblicherweise sind die Differenzen, die Sie jetzt sehen, kleiner als die Differenzen zwischen /var/tmp/root-19980221/etc und /etc. Da die angezeigten Differenzen kleiner sind, ist es jetzt einfacher den Abgleich der Dateien durchzuführen. Sie können nun das älteste der beiden /var/tmp/root-* Verzeichnisse entfernen: &prompt.root; rm -rf /var/tmp/root-19980214 Wiederholen Sie diesen Prozess jedes Mal wenn Sie Dateien in /etc abgleichen müssen. Mit &man.date.1; können Sie den Verzeichnisnamen automatisch erzeugen: &prompt.root; mkdir /var/tmp/root-`date "+%Y%m%d"` Aktualisieren Sie <filename>/dev</filename> DEVFS Überspringen Sie diesen Abschnitt, wenn Sie FreeBSD 5.0 oder eine neuere Version benutzen. In diesen Versionen werden die Gerätedateien automatisch von &man.devfs.5; angelegt. In den meisten Fällen bemerkt &man.mergemaster.8; wann es notwendig ist, Gerätedateien in /dev zu erstellen. Die folgenden Anweisungen zeigen Ihnen, wie Sie dies manuell durchführen. Um sicher zu gehen, besteht dieser Prozess aus mehreren Schritten. Kopieren Sie /var/tmp/root/dev/MAKEDEV nach /dev: &prompt.root; cp /var/tmp/root/dev/MAKEDEV /dev MAKEDEV Wenn Sie &man.mergemaster.8; benutzt haben, sollte MAKEDEV schon aktualisiert sein, obwohl es nicht schadet, das mit diff zu überprüfen und die Datei, wenn nötig, manuell zu kopieren. Sichern Sie jetzt die Dateiinformationen aus /dev. Sie brauchen die Rechte, Eigentümer, sowie die Major und Minor Nummern der Gerätedateien (die Zeitstempel sind nicht wichtig). Am besten erledigen Sie das mit &man.awk.1;: &prompt.root; cd /dev &prompt.root; ls -l | awk '{print $1, $2, $3, $4, $5, $6, $NF}' > /var/tmp/dev.out Erstellen Sie alle Gerätedateien neu: &prompt.root; Sammeln Sie erneut die Dateiinformationen aus /dev, diesmal in der Datei /var/tmp/dev2.out ein. Vergleichen Sie beide Dateien und suchen Sie nach Gerätedateien, die nicht erstellt wurden. Sie sollten keine finden, aber es ist besser das jetzt wirklich zu kontrollieren: &prompt.root; diff /var/tmp/dev.out /var/tmp/dev2.out Wenn es doch fehlende Einträge gibt, sind dies wahrscheinlich fehlende Geräte für Slices. Diese können Sie mit einem Befehl wie dem folgenden wiederherstellen: &prompt.root; sh MAKEDEV sd0s1 Die genauen Geräte können bei Ihnen natürlich andere sein. Aktualisieren Sie <filename>/stand</filename> Dieser Schritt wurde nur der Vollständigkeit wegen aufgenommen. Sie können ihn komplett auslassen. Der Vollständigkeit halber wollen Sie vielleicht auch die Dateien in /stand aktualisieren. Alle Dateien in diesem Verzeichnis sind Hardlinks zu /stand/sysinstall. Dieses Programm ist statisch gelinkt, so dass es unabhängig von den Dateien in anderen Dateisystemen, insbesondere /usr, ist. &prompt.root; cd /usr/src/release/sysinstall &prompt.root; make all install Booten Sie sind nun am Ende der Prozedur angelangt. Nachdem Sie sich davon überzeugt haben, dass Ihr System funktioniert, booten Sie das System mit &man.fastboot.8;: &prompt.root; fastboot Ende Herzlichen Glückwunsch! Sie haben gerade erfolgreich Ihr &os; System aktualisiert. Es ist übrigens leicht einen Teil des Systems wiederherzustellen, für den Fall, dass Ihnen ein kleiner Fehler unterlaufen ist. Wenn Sie beispielsweise während des Updates oder Abgleichs /etc/magic aus Versehen gelöscht haben, wird &man.file.1; nicht mehr funktionieren. In diesem Fall können Sie das Problem mit dem folgenden Kommando beheben: &prompt.root; cd /usr/src/usr.bin/file &prompt.root; Fragen Muss ich wirklich immer alles neu bauen, wenn sich etwas geändert hat? Darauf gibt es keine einfache Antwort. Was zu tun ist, hängt von den Änderungen ab. Es lohnt wahrscheinlich nicht, alles neu zu bauen, wenn sich bei einem CVSup-Lauf nur die folgenden Dateien geändert haben: src/games/cribbage/instr.c src/games/sail/pl_main.c src/release/sysinstall/config.c src/release/sysinstall/media.c src/share/mk/bsd.port.mk In diesem Fall können Sie in die entsprechenden Unterverzeichnisse wechseln und dort make all install ausführen. Wenn sich allerdings etwas Wichtiges, wie src/lib/libc/stdlib, geändert hat, sollten Sie die Welt oder mindestens die statisch gelinkten Teile des Systems (sowie Ihre statisch gelinkten Ergänzungen) neu bauen. Letztendlich ist das Ihre Entscheidung. Sie sind vielleicht damit zufrieden, das System alle zwei Wochen neu zu bauen und in der Zwischenzeit die anfallenden Änderungen zu sammeln. Wenn Sie sich zutrauen, alle Abhängigkeiten zu erkennen, bauen Sie vielleicht auch nur die geänderten Sachen neu. Das hängt natürlich auch noch davon ab, wie oft Sie ein Update durchführen wollen und ob Sie &os.stable; oder &os.current; benutzen. Der Bau bricht mit vielen Signal 11-Fehlern (oder anderen Signalnummern) ab. Was ist da passiert? Signal 11 Normalerweise zeigen diese Meldungen Hardwarefehler an. Ein Neubau der Welt ist ein guter Belastungstest für Ihre Hardware und zeigt oft Probleme mit dem Speicher auf. Dies äußert sich darin, dass der Kompiler mit dem Erhalt von seltsamen Signalen abbricht. Es liegt garantiert ein Hardwarefehler vor, wenn ein neuer Übersetzungslauf an einer anderen Stelle abbricht. In diesem Fall können Sie nur einzelne Komponenten Ihres Systems tauschen, um zu bestimmen, welche Komponente den Fehler verursacht. Kann ich /usr/obj löschen, wenn ich fertig bin? Kurze Antwort: Ja. In /usr/obj werden alle Dateien abgelegt, die während der Übersetzungsphase erstellt wurden. Dieses Verzeichnis wird in einem der ersten Schritte der Bauprozedur entfernt. Es macht daher wenig Sinn, dieses Verzeichnis zu behalten und Sie setzen eine Menge Plattenplatz, momentan ungefähr 340 MB, frei, wenn Sie es löschen. Wenn Sie allerdings genau wissen, was Sie tun, können Sie diesen Schritt bei make world auslassen. Nachfolgende Bauprozeduren werden dadurch erheblich schneller, da die meisten Quelldateien nicht mehr neu übersetzt werden. Dafür können aber subtile Abhängigkeitsprobleme entstehen, die dazu führen, dass der Bau auf merkwürdige Weise abbrechen kann. Dies führt häufig zu unnötigen Diskussionen auf den &os; Mailinglisten, wenn sich jemand über einen kaputten Bau beschwert, aber nicht sieht, dass er Probleme hat, weil er eine Abkürzung genommen hat. Kann ein abgebrochener Bau weitergeführt werden? Das hängt davon ab, wieweit der Bauprozess fortgeschritten ist. Üblicherweise werden essentielle Werkzeuge, wie &man.gcc.1; und &man.make.1;, und die Systembibliotheken während des Bauprozesses neu erstellt (dies ist aber keine allgemein gültige Regel). Die neu erstellen Werkzeuge und Bibliotheken werden dann benutzt, um sich selbst noch einmal zu bauen, und wieder installiert. Anschließend wird das Gesamtsystem mit den neu erstellten Systemdateien gebaut. Wenn Sie sich im letzten Schritt befinden und Sie wissen, dass Sie dort sind, weil Sie durch die Ausgaben, die Sie ja sichern, der Bauprozedur gesehen haben, können Sie mit ziemlicher Sicherheit den Bau weiterführen: … Fehler beheben … &prompt.root; cd /usr/src &prompt.root; make -DNOCLEAN all Die Variable NOCLEAN verhindert, dass make world die vorher erstellten Dateien löscht. Das Sie sich im letzten Schritt der Bauprozedur befinden, erkennen Sie daran, dass Sie in der Ausgabe die folgenden Zeilen finden: -------------------------------------------------------------- Building everything.. -------------------------------------------------------------- Wenn Sie diese Meldung nicht finden, oder sich nicht sicher sind, dann ist es besser, noch einmal ganz von Vorne anzufangen. Wie kann ich den Bauprozesss beschleunigen? Bauen Sie im Single-User Modus. Legen Sie /usr/src und /usr/obj in getrennte Dateisysteme auf unterschiedliche Festplatten. Benutzen Sie nach Möglichkeit auch getrennte Platten-Controller. Noch besser ist es, diese Dateisysteme auf mehrere Festplatten mit &man.ccd.4; zu verteilen. Bauen Sie die profiled-Bibliotheken, die Sie wahrscheinlich sowieso nicht brauchen, nicht. /etc/make.conf sollte dazu NOPROFILE=true enthalten. Setzen Sie die CFLAGS in /etc/make.conf auf . Die Optimierungsstufe ist deutlich langsamer und die Performance-Unterschiede zwischen und sind vernachlässigbar klein. veranlasst den Kompiler Pipes anstelle von Dateien für die Kommunikation zu benutzen. Dies spart einige Plattenzugriffe, geht aber auf Kosten des Speichers. Benutzen Sie , um mehrere Prozesse parallel laufen zu lassen. Normalerweise beschleunigt dies den Bauprozess unabhängig davon, ob Sie ein Einprozessor oder Mehrprozessor System einsetzen. Sie können das Dateisystem /usr/src mit der Option einhängen. Dies verhindert, dass die Zugriffszeiten der Dateien aktualisiert werden (eine Information, die Sie vielleicht gar nicht brauchen). &prompt.root; mount -u -o noatime /usr/src Das Beispiel geht davon aus, dass sich /usr/src auf einem separaten Dateisystem befindet. Wenn das nicht der Fall ist, weil das Verzeichnis beispielsweise Teil des /usr Dateisystems ist, müssen Sie anstelle von /usr/src den Mountpoint des Dateisystems angeben. Das Dateisystem, in dem sich /usr/obj befindet, kann mit der Option eingehangen werden. Dies bewirkt, dass Schreibzugriffe auf die Platte asynchron stattfinden, das heißt ein Schreibzugriff ist sofort beendet, die Daten werden allerdings erst einige Sekunden später geschrieben. Dadurch können Schreibzugriffe zusammengefasst werden, was einen erheblichen Geschwindigkeitszuwachs mit sich bringen kann. Beachten Sie, dass dies Ihr Dateisystem anfälliger für Fehler macht. Im Fall eines Stromausfalls besteht eine erhöhte Wahrscheinlichkeit, dass das Dateisystem beim Start der Maschine zerstört ist. Wenn sich /usr/obj auf einem extra Dateisystem befindet, ist das kein Problem. Wenn sich allerdings auf diesem Dateisystem noch andere wertvolle Daten befinden, stellen Sie sicher, dass Sie aktuelle Sicherungen besitzen. &prompt.root; mount -u -o async /usr/obj Ersetzen Sie /usr/obj durch den Mountpoint des entsprechenden Dateisystems, wenn es sich nicht auf einem eigenen Dateisystem befindet. Was mache ich, wenn etwas nicht funktioniert? Stellen Sie sicher, dass sich in Ihrer Umgebung keine Reste eines vorherigen Baus befinden. Das geht ganz einfach: &prompt.root; chflags -R noschg /usr/obj/usr &prompt.root; rm -rf /usr/obj/usr &prompt.root; cd /usr/src &prompt.root; make cleandir &prompt.root; make cleandir Ja, make cleandir muss wirklich zweimal aufgerufen werden. Nachdem Sie aufgeräumt haben, starten Sie den Bauprozess wieder mit make buildworld. Wenn Sie immer noch Probleme haben, schicken Sie die Fehlermeldungen und die Ausgabe von uname -a an die Mailingliste &a.de.questions;. Bereiten Sie sich darauf vor, weitere Fragen zu Ihrer Umgebung zu beantworten. Mike Meyer Beigetragen von Installation mehrerer Maschinen Wenn Sie mehrere Maschinen besitzen, die Sie alle auf dem gleichen Stand halten wollen, ist es eine Verschwendung von Ressourcen, die Quellen auf jeder Maschine vorzuhalten und zu übersetzen. Die Lösung dazu ist, eine Maschine den Großteil der Arbeit durchführen zu lassen und den anderen Maschinen das Ergebnis mit NFS zur Verfügung zu stellen. Dieser Abschnitt zeigt Ihnen wie das geht. Voraussetzungen Stellen Sie zuerst eine Liste der Maschinen zusammen, die auf demselben Stand sein sollen. Wir nennen diese Maschinen die Baugruppe. Jede dieser Maschinen kann mit einem eigenen Kernel laufen, doch sind die Programme des Userlands auf allen Maschinen gleich. Wählen Sie aus der Baugruppe eine Maschine aus, auf der der Bau durchgeführt wird, den Bau-Master. Dies sollte eine Maschine sein, die über die nötigen Ressourcen für make world verfügt. Sie brauchen auch eine Testmaschine, auf der Sie die Updates testen, bevor Sie sie in Produktion installieren. Dies sollte eine Maschine, eventuell der Bau-Master, sein, die über einen längeren Zeitraum nicht zur Verfügung stehen kann. Alle Maschinen der Baugruppe müssen /usr/obj und /usr/src von derselben Maschine an gleichem Ort einhängen. Idealerweise befinden sich die beiden Verzeichnisse auf dem Bau-Master auf verschiedenen Festplatten, sie können allerdings auch auf dem Bau-Master über NFS zur Verfügung gestellt werden. Wenn Sie mehrere Baugruppen haben, sollte sich /usr/src auf einem Bau-Master befinden und über NFS für den Rest der Maschinen zur Verfügung gestellt werden. Stellen Sie sicher, dass /etc/make.conf auf allen Maschinen einer Baugruppe mit der Datei des Bau-Masters übereinstimmt. Der Bau-Master muss jeden Teil des Systems bauen, den irgendeine Maschine der Baugruppe benötigt. Auf dem Bau-Master müssen in /etc/make.conf alle zu bauenden Kernel mit der Variablen KERNCONF bekannt gegeben werden. Geben Sie dabei den Kernel des Bau-Masters zuerst an. Für jeden zu bauenden Kernel muss auf dem Bau-Master die entsprechende Konfigurationsdatei unter /usr/src/sys/arch/conf abgelegt werden. Installation des Basissystems Nach diesen Vorbereitungen können Sie mit dem Bau beginnen. Bauen Sie auf dem Bau-Master, wie in beschrieben, den Kernel und die Welt, installieren Sie aber nichts. Wechseln Sie auf die Testmaschine und installieren Sie den gerade gebauten Kernel. Wenn diese Maschine /usr/src und /usr/obj über NFS bekommt, müssen Sie das Netzwerk im Single-User Modus aktivieren und die beiden Dateisysteme einhängen. Am einfachsten ist dies, wenn Sie auf der Testmaschine ausgehend vom Mehrbenutzermodus mit shutdown now in den Single-User Modus wechseln. Sie können dann mit der normalen Prozedur den neuen Kernel und das System installieren und anschließend mergemaster laufen lassen. Wenn Sie damit fertig sind, können Sie die Maschine wieder in den Mehrbenutzermodus booten. Nachdem Sie sichergestellt haben, dass die Testmaschine einwandfrei funktioniert, wiederholen Sie diese Prozedur für jede Maschine in der Baugruppe. Die Ports-Sammlung Dasselbe Verfahren können Sie auch für die Ports-Sammlung anwenden. Zuerst müssen alle Maschinen einer Baugruppe /usr/ports von derselben Maschine über NFS zur Verfügung gestellt bekommen. Setzen Sie dann ein Verzeichnis für die Quellen auf, das sich alle Maschinen teilen. Dieses Verzeichnis können Sie in /etc/make.conf mit der Variablen DISTDIR angeben. Das Verzeichnis sollte für den Benutzer beschreibbar sein, auf den der Benutzer root vom NFS Subsystem abgebildet wird. Jede Maschine sollte noch WRKDIRPREFIX auf ein lokales Bauverzeichnis setzen. Wenn Sie vorhaben, Pakete zu bauen und zu verteilen, sollten Sie PACKAGES auf ein Verzeichnis mit den gleichen Eigenschaften wie DISTDIR setzen.
diff --git a/de_DE.ISO8859-1/books/handbook/eresources/chapter.sgml b/de_DE.ISO8859-1/books/handbook/eresources/chapter.sgml index f39946a266..26eaf8d01d 100644 --- a/de_DE.ISO8859-1/books/handbook/eresources/chapter.sgml +++ b/de_DE.ISO8859-1/books/handbook/eresources/chapter.sgml @@ -1,2063 +1,2127 @@ Ressourcen im Internet Gedruckte Medien können mit der schnellen Entwicklung von FreeBSD nicht Schritt halten. Elektronische Medien sind häufig die einzige Möglichkeit, über aktuelle Entwicklungen informiert zu sein. Da FreeBSD ein Projekt von Freiwilligen ist, gibt die Benutzergemeinde selbst auch technische Unterstützung. Die Benutzergemeinde erreichen Sie am besten über E-Mail oder Usenet-News. Die wichtigsten Wege, auf denen Sie die FreeBSD Benutzergemeinde erreichen können, sind unten dargestellt. Wenn Sie weitere Ressourcen kennen, die hier fehlen, schicken Sie diese bitte an die Mailingliste &a.doc;, so dass sie hier aufgenommen werden können. Mailinglisten Obwohl viele FreeBSD Entwickler Usenet-News lesen, können wir nicht garantieren, dass Sie eine zügige Antwort auf Ihre Fragen bekommen, wenn Sie diese nur in einer der comp.unix.bsd.freebsd.* Gruppen stellen. Wenn Sie Ihre Fragen auf der passenden Mailingliste stellen, erreichen Sie sowohl die Entwickler wie auch die FreeBSD Benutzergemeinde und erhalten damit bessere (oder zumindest schnellere) Antworten. Die Chartas der verschiedenen Listen sind unten wiedergegeben. Bevor Sie sich einer Mailingliste anschließen oder E-Mails an eine Liste senden, lesen Sie bitte die Charta der Liste. Die meisten Mitglieder unserer Mailinglisten erhalten Hunderte E-Mails zum Thema FreeBSD pro Tag. Die Chartas und Regeln, die den Gebrauch der Listen beschreiben, garantieren die hohe Qualität der Listen. Die Listen würden ihren hohen Wert für das Projekt verlieren, wenn wir weniger Regeln aufstellen würden. Alle Mailinglisten werden archiviert und können auf dem FreeBSD World Wide Web Server durchsucht werden. Das nach Schlüsselwörtern durchsuchbare Archiv bietet die hervorragende Möglichkeit, Antworten auf häufig gestellte Fragen zu finden. Nutzen Sie bitte diese Möglichkeit bevor Sie Fragen auf einer Liste stellen. Beschreibung der Mailinglisten Allgemeine Listen: Jeder kann die folgenden allgemeinen Listen abonnieren (und ist dazu aufgefordert): Mailingliste Zweck &a.cvsall.name; Änderungen im FreeBSD-Quellbaum &a.advocacy.name; Verbreitung von FreeBSD &a.announce.name; Wichtige Ereignisse und Meilensteine des Projekts &a.arch.name; Architektur und Design von FreeBSD &a.bugbusters.name; Diskussionen über die Pflege der FreeBSD Fehlerberichte-Datenbank und die dazu benutzten Werkzeuge &a.bugs.name; Fehlerberichte &a.chat.name; - Nicht technische Themen, die die FreeBSD Gemeinschaft + Nicht technische Themen, die die FreeBSD-Gemeinschaft betreffen &a.config.name; Entwicklung von Konfigurations- und Installations-Werkzeugen für FreeBSD &a.current.name; Gebrauch von &os.current; &a.isp.name; - Themen, die Internet Service Provider betreffen, die + Für Internet-Service-Provider, die FreeBSD benutzen &a.jobs.name; - Anstellung und Beratung im FreeBSD Umfeld + Anstellung und Beratung im FreeBSD-Umfeld &a.newbies.name;-newbies - Starthilfen für neue FreeBSD Benutzer + Starthilfen für neue FreeBSD-Benutzer &a.policy.name; - Grundsatzentscheidungen des FreeBSD Core Teams. Wenig + Grundsatzentscheidungen des FreeBSD Core-Teams. Wenig Verkehr und nur zum Lesen &a.questions.name; Benutzerfragen und technische Unterstützung &a.security-notifications.name; Ankündigungen zum Thema Sicherheit &a.stable.name; Gebrauch von &os.stable; &a.test.name; Schicken Sie Testnachrichten an diese Liste anstelle der wirklichen Listen Technische Listen: Auf den folgenden Listen werden technische Diskussionen geführt. Bevor Sie eine der Listen abonnieren oder Nachrichten an sie schicken, lesen Sie sich bitte die Charta der Liste durch, da der Inhalt und Zweck dieser Listen genau festgelegt ist. Mailingliste Zweck &a.afs.name; Portierung von AFS nach FreeBSD &a.aic7xxx.name; Entwicklung von Adaptec AIC 7xxx Treibern &a.alpha.name; - Portierung von FreeBSD auf Alpha Maschinen + Portierung von FreeBSD auf Alpha-Maschinen + + + + &a.amd64.name; + Portierung von FreeBSD auf AMD65-Systeme &a.arm.name; - Portierung von FreeBSD auf ARM Prozessoren + Portierung von FreeBSD auf ARM-Prozessoren &a.atm.name; - Benutzung von ATM Netzen mit FreeBSD + Benutzung von ATM-Netzen mit FreeBSD &a.audit.name; - Audit der FreeBSD Quellen + Audit der FreeBSD-Quellen &a.binup.name; Design und Entwicklung eines Systems, das es erlaubt, - ein FreeBSD System mit binären Paketen zu + ein FreeBSD-System mit binären Paketen zu aktualisieren &a.cluster.name; Benutzung von FreeBSD in einem Cluster &a.cvsweb.name; Pflege von CVSweb &a.database.name; Diskussion über Datenbanken und Datenbankprogrammierung unter FreeBSD &a.doc.name; - Erstellen der FreeBSD Dokumentation + Erstellen der FreeBSD-Dokumentation &a.emulation.name; Emulation anderer Systeme wie Linux, DOS oder Windows &a.firewire.name; - Technische Diskussion über FreeBSD Firewire + Technische Diskussion über FreeBSD-Firewire (iLink, IEEE 1394) &a.fs.name; Dateisysteme &a.gnome.name; Portierung von GNOME und GNOME-Anwendungen &a.hackers.name; Allgemeine technische Diskussionen &a.hardware.name; Allgemeine Diskussion über Hardware, auf der FreeBSD läuft &a.i18n.name; Internationalisierung von FreeBSD &a.ia32.name; FreeBSD für die IA-32 (Intel x86) Plattform &a.ia64.name; - Portierung von FreeBSD auf Intels neue IA64 - Systeme + Portierung von FreeBSD auf Intels neue + IA64-Systeme &a.ipfw.name; Technische Diskussion über die Neubearbeitung der IP-Firewall Quellen &a.isdn.name; - Für Entwickler des ISDN Systems + Für Entwickler des ISDN-Systems &a.java.name; Für Java-Entwickler und Leute, die JDKs nach FreeBSD portieren &a.kde.name; Portierung von KDE und KDE-Anwendungen &a.lfs.name; Portierung von LFS nach FreeBSD &a.libh.name; Das nächste Installations- und Paketsystem &a.mips.name; Portierung von FreeBSD zu MIPS &a.mobile.name; Diskussionen über mobiles Rechnen &a.mozilla.name; Portierung von Mozilla nach FreeBSD &a.multimedia.name; Multimedia Anwendungen &a.newbus.name; Technische Diskussionen über die Architektur von Bussen &a.net.name; Diskussion über Netzwerke und den TCP/IP Quellcode &a.openoffice.name; Portierung von OpenOffice.org und StarOffice nach FreeBSD &a.performance.name; Fragen zur Optimierung der Leistung stark ausgelasteter Systeme &a.platforms.name; Portierungen von FreeBSD auf nicht-Intel Architekturen &a.ports.name; Diskussion über die Ports-Sammlung &a.ports-bugs.name; Diskussion über Fehler und PRs der Ports &a.ppc.name; Portierung von FreeBSD auf den PowerPC &a.qa.name; Diskussion über Qualitätssicherung, normalerweise kurz vor einem Release &a.realtime.name; Entwicklung von Echtzeiterweiterungen für FreeBSD &a.scsi.name; - Diskussion über das SCSI Subsystem + Diskussion über das SCSI-Subsystem &a.security.name; Sicherheitsthemen &a.small.name; Gebrauch von FreeBSD in eingebetteten Systemen &a.smp.name; Diskussionen über das Design von asymmetrischen und symmetrischen Mehrprozessor-Programmen &a.sparc.name; - Portierung von FreeBSD auf SPARC Systeme + Portierung von FreeBSD auf SPARC-Systeme &a.standards.name; Konformität von FreeBSD mit den C99- und POSIX-Standards &a.threads.name; Leichgewichtige Prozesse (Threads) in FreeBSD &a.testing.name; Leistungs- und Stabilitätstests von FreeBSD &a.tokenring.name; - Token Ring Unterstützung in FreeBSD + Token-Ring Unterstützung in FreeBSD Eingeschränkte Listen: Die folgenden Listen wenden sich an Zielgruppen mit speziellen Anforderungen und sind nicht für die Öffentlichkeit gedacht. Bevor Sie eine dieser Listen abonnieren, sollten Sie einige der technischen Listen abonniert haben, um mit den Umgangsformen vertraut zu sein. Mailingliste Zweck &a.hubs.name; Betrieb von FreeBSD Spiegeln &a.usergroups.name; Koordination von Benutzergruppen &a.vendors.name; Koordination von Händlern vor einem Release &a.www.name; Betreuer von www.FreeBSD.org Zusammenfassungen: Alle eben aufgezählten Listen sind auch in zusammengefasster Form (digest) erhältich. In den Einstellungen Ihres Accounts legen Sie fest, in welcher Form Sie die Listen empfangen. CVS Listen: Die folgenden Listen versenden die Log-Einträge zu Änderungen an verschiedenen Teilen des Quellbaums. Diese Listen sollen nur gelesen werden, schicken Sie bitte keine Nachrichten an eine der Listen. Mailingliste Teil des Quellbaums Beschreibung &a.cvsall.name; /usr/(CVSROOT|doc|ports|projects|src) Alle Änderungen im Quellbaum (Obermenge der anderen Commit-Listen) &a.cvs-doc.name; /usr/doc Änderungen im doc-Baum &a.cvs-ports.name; /usr/ports Änderungen im ports-Baum &a.cvs-projects.name; /usr/projects Änderungen im projects-Baum &a.cvs-src.name; /usr/src Änderungen im src-Baum Mailinglisten abonnieren Um eine Liste zu abonnieren, folgen Sie dem oben angegebenen Hyperlink der Liste oder besuchen Sie die Webseite &a.mailman.lists.link; und klicken dort auf Liste, die Sie abonnieren wollen. Sie gelangen dann auf die Webseite der Liste, die weitere Anweisungen enthält. Um eine Nachricht an eine Mailingliste zu schicken, schreiben Sie einfach eine E-Mail an <Liste@FreeBSD.org>. Die E-Mail wird dann an alle Mitglieder der Mailingliste verteilt. Wenn Sie das Abonnement aufheben wollen, folgen Sie der URL, die am Ende jeder Mail der Liste angegeben ist. Sie können das Abonnement auch mit einer E-Mail an freebsd-Liste-unsubscribe@FreeBSD.org aufheben. Verwenden Sie bitte die technischen Listen ausschließlich für technische Diskussionen. Wenn Sie nur an wichtigen Ankündigungen interessiert sind, abonnieren Sie die Mailingliste &a.announce;, auf der nur wenige Nachrichten versendet werden. Chartas der Mailinglisten Alle FreeBSD Mailinglisten besitzen Grundregeln, die von jedem beachtet werden müssen. Für die ersten beiden Male, in denen ein Absender gegen diese Regeln verstößt, erhält er jeweils eine Warnung vom FreeBSD Postmaster postmaster@FreeBSD.org. Ein dritter Verstoß gegen die Regeln führt dazu, dass der Absender in allen FreeBSD Mailinglisten gesperrt wird und weitere Nachrichten von ihm nicht mehr angenommen werden. Wir bedauern sehr, dass wir solche Maßnahmen ergreifen müssen, aber heutzutage ist das Internet eine recht rauhe Umgebung, in der immer weniger Leute Rücksicht aufeinander nehmen. Die Regeln: Das Thema einer Nachricht soll der Charta der Liste, an die sie gesendet wird, entsprechen. Wenn Sie eine Nachricht an eine technische Liste schicken, sollte die Nachricht auch technische Inhalte haben. Fortwährendes Geschwätz oder Streit mindern den Wert der Liste für alle Mitglieder und wird nicht toleriert. Benutzen Sie &a.chat; für allgemeine Diskussionen über FreeBSD. Eine Nachricht sollte an nicht mehr als zwei Mailinglisten gesendet werden. Schicken Sie eine Nachricht nur dann an zwei Listen, wenn das wirklich notwendig ist. Viele Leute haben mehrere Mailinglisten abonniert und Nachrichten sollten nur zu ungewöhnlichen Kombinationen der Listen, wie -stable und -scsi, gesendet werden. Wenn Sie eine Nachricht erhalten, die im Cc-Feld mehrere Listen enthält, sollten Sie das Feld kürzen, bevor Sie eine Antwort darauf verschicken. Unabhängig von dem ursprünglichen Verteiler sind Sie für Ihre eigenen Mehrfach-Sendungen selbst verantwortlich. Persönliche Angriffe und Beschimpfungen sind in einer Diskussion nicht erlaubt. Dies gilt gleichermaßen für Benutzer wie Entwickler. Grobe Verletzungen der Netiquette, wie das Verschicken oder Zitieren von privater E-Mail ohne eine entsprechende Genehmigung, werden nicht gebilligt. Die Nachrichten werden aber nicht besonders auf Verletzungen der Netiquette untersucht. Es kann sein, dass eine Verletzung der Netiquette durchaus zu der Charta einer Liste passt, aber der Absender aufgrund der Verletzung eine Warnung erhält oder gesperrt wird. Werbung für Produkte oder Dienstleistungen, die nichts mit FreeBSD zu tun haben, sind verboten. Ist die Werbung als Spam verschickt worden, wird der Absender sofort gesperrt. Chartas einzelner Listen: &a.afs.name; Andrew File System Auf dieser Liste wird die Portierung des AFS von CMU/Transarc diskutiert. &a.announce.name; Wichtige Ereignisse und Meilensteine Diese Liste ist für Personen, die nur an den wenigen Ankündigungen wichtiger Ereignisse interessiert sind. Die Ankündigungen betreffen Schnappschüsse und Releases, neue Merkmale von FreeBSD und die Suche nach freiwilligen Mitarbeitern. Auf der Liste herrscht wenig Verkehr und sie wird streng moderiert. &a.arch.name; Architektur und Design von FreeBSD Auf dieser technischen Liste wird die FreeBSD Architektur diskutiert. Beispiele für angemessene Themen sind: Wie das Bausystem zu verändern ist, damit verschiedene Läufe gleichzeitig möglich sind. Was am VFS geändert werden muss, damit Heidemann Schichten eingesetzt werden können. Wie die Schnittstelle der Gerätetreiber angepasst werden muss, damit derselbe Treiber auf verschiedenen Bussen und Architekturen eingesetzt werden kann. Wie ein Netzwerktreiber geschrieben wird. &a.audit.name; Source Code Audit Project Dies ist die Liste des FreeBSD Source Code Audit Projects. Ursprünglich war vorgesehen, hier nur sicherheitsrelevante Änderungen zu diskutieren, doch ist die Charta auf alle Änderungen ausgedehnt worden. Zu dieser Liste werden viele Korrekturen gesandt, so dass sie für den normalen FreeBSD Benutzer von wenig Wert ist. Diskussionen über Sicherheit, die sich nicht auf die Änderung von Quellcode beziehen, finden auf der Mailingliste &a.security; statt. Auf der anderen Seite sind aber alle Entwickler aufgefordert, ihre Korrekturen zur Überprüfung an diese Liste zu senden. Dies trifft besonders auf Änderungen zu, in denen ein Fehler die Integrität des Gesamtsystems gefährdet. &a.binup.name; FreeBSD Binary Update Project Auf dieser Liste wird das Design und die Implementierung von binup diskutiert. Weitere Themen sind Fehlerbehebungen, Fehlerberichte und Anfragen nach Neuerungen. Die CVS-Logmeldungen des Projekts werden ebenfalls auf diese Liste gesendet. &a.bugbusters.name; Bearbeitung der Fehlerberichte Auf dieser Liste wird die Bearbeitung der Fehlerberichte (PR, engl. problem report) koordiniert. Sie dient dem Bugmeister und allen Leuten, die ein Interesse an der Datenbank der Fehlerberichte haben, als Diskussionsforum. Auf dieser Liste werden keine spezifischen Fehler, Fehlerbehebungen oder PRs diskutiert. &a.bugs.name; Fehlerberichte Auf dieser Liste werden Fehlerberichte gesammelt. Fehlerberichte sollten immer mit &man.send-pr.1; oder dem Web Formular erstellt werden. &a.chat.name; Nicht technische Themen, die die FreeBSD Gemeinschaft betreffen Auf dieser Liste werden nicht-technische soziale Themen diskutiert, die nicht auf die anderen Listen passen. Hier kann diskutiert werden, ob Jordan wie ein Frettchen aus einem Zeichentrickfilm aussieht oder nicht, ob grundsätzlich in Großbuchstaben geschrieben werden soll, wer zuviel Kaffee trinkt, wo das beste Bier gebraut wird und wer Bier in seinem Keller braut. Gelegentlich können auf den technischen Listen wichtige Ereignisse wie Feste, Hochzeiten oder Geburten angekündigt werden, aber nachfolgende Nachrichten sollten auf die Liste &a.chat; gesendet werden. &a.core.name; FreeBSD Core Team Dies ist eine interne Mailingliste des FreeBSD Core Teams. Wenn in einer wichtigen Angelegenheit, die FreeBSD betrifft, entschieden werden muss oder die Angelegenheit einer genauen Prüfung unterzogen werden muss, können Nachrichten an diese Liste gesendet werden. &a.current.name; Gebrauch von &os.current; Diese Mailingliste ist für die Benutzer von &os.current; eingerichtet. Auf ihr finden sich Ankündigungen über Besonderheiten von -CURRENT, von denen Benutzer betroffen sind. Sie enthält weiterhin Anweisungen, wie man ein System auf -CURRENT hält. Jeder, der ein -CURRENT System besitzt, muss diese Liste lesen. Die Liste ist nur für technische Inhalte bestimmt. &a.cvsweb.name; FreeBSD CVSweb Project Technische Diskussion über den Gebrauch, die Entwicklung und die Pflege von FreeBSD-CVSweb. &a.doc.name; Documentation Project Auf dieser Mailingliste werden Themen und Projekte diskutiert, die im Zusammenhang mit der Erstellung der FreeBSD Dokumentation stehen. The FreeBSD Documentation Project besteht aus den Mitgliedern dieser Liste. Diese Liste steht jedem offen, Sie sind herzlich eingeladen teilzunehmen und mitzuhelfen. &a.firewire.name; Firewire (iLink, IEEE 1394) Auf dieser Liste wird das Design und die Implementierung eines Firewire-Subsystems (auch IEEE 1394 oder iLink) für FreeBSD diskutiert. Relevante Themen sind die Standards, Busse und ihre Protokolle, sowie Adapter, Karten und Chipsätze. Des Weiteren die Architektur und der Quellcode, die nötig sind, diese Geräte zu unterstützen. &a.fs.name; Dateisysteme Diskussionen über FreeBSD Dateisysteme. Dies ist eine technische Liste, in der nur technische Inhalte erwartet werden. &a.gnome.name; GNOME Diskussionen über die grafische Benutzeroberfläche GNOME. Dies ist eine technische Liste, in der nur technische Inhalte erwartet werden. &a.ipfw.name; IP Firewall Diskussionen über eine Neubearbeitung des IP-Firewall Quelltexts in FreeBSD. Dies ist eine technische Liste, in der nur technische Inhalte erwartet werden. &a.ia64.name; Portierung von FreeBSD auf die IA64-Plattform Dies ist eine technische Liste für diejenigen, die FreeBSD auf die IA-64 Plattform von Intel portieren. Themen sind die Probleme bei der Portierung und deren Lösung. Interessierte, die der Diskussion folgen wollen, sind ebenfalls willkommen. &a.isdn.name; ISDN Subsystem Mailingliste für die Entwickler des ISDN Subsystems von FreeBSD. &a.java.name; Java Entwicklung Mailingliste, auf der die Entwicklung von Java Anwendungen für FreeBSD sowie die Portierung und Pflege von JDKs diskutiert wird. &a.hackers.name; Technische Diskussionen Dies ist ein Forum für technische Diskussionen über FreeBSD. Leute, die aktiv an FreeBSD arbeiten, können hier Probleme und deren Lösungen diskutieren. Interessierte, die den Diskussionen folgen wollen, steht die Liste ebenfalls offen. Auf dieser Liste finden nur technische Diskussionen statt. &a.hardware.name; Allgemeine Diskussionen über Hardware Allgemeine Diskussionen über die Hardware, auf der FreeBSD läuft: Probleme und Ratschläge welche Hardware man kaufen sollte und welche nicht. &a.hubs.name; FreeBSD Spiegel Ankündigungen und Diskussionsforum für Leute, die FreeBSD Spiegel betreiben. &a.isp.name; Themen für Internet Service Provider Diese Liste ist für Internet Service Provider (ISP), die FreeBSD benutzen. Auf dieser Liste finden nur technische Diskussionen statt. &a.kde.name; KDE Diskussionen über KDE auf FreeBSD-Systemen. Dies ist eine technische Liste, in der nur technische Inhalte erwartet werden. &a.newbies.name; Starthilfen für neue FreeBSD Benutzer Ein Forum für Aktivitäten von Neulingen, die anderswo nicht behandelt werden, wie selbständiges Lernen, Techniken zur Problemlösung, Suchen und Benutzen von Ressourcen, wo man Hilfe findet, wie Mailinglisten benutzt werden und welche Listen man abonnieren sollte, allgemeine Unterhaltungen und Geschichten, Berichte über Fehler, die man gemacht hat, Prahlen mit eigenen Erfolgen, Mitteilen von Ideen, moralische (aber keine technische) Unterstützung und wie man aktiver Teil der FreeBSD Gesellschaft wird. Fragen und Probleme werden auf der Liste &a.questions; behandelt, die Mailingliste &a.newbies; gibt neuen FreeBSD Benutzern die nötigen Starthilfen. &a.openoffice.name; OpenOffice.org Portierung und Pflege von OpenOffice.org und StarOffice. &a.performance.name; Diskussionsforum mit dem Ziel, die Leistung von FreeBSD zu verbessern. Auf dieser Liste diskutieren Hacker, Systemadministratoren und andere Interessierte die Leistung von FreeBSD. Zulässige Themen sind beispielsweise Systeme unter hoher Last, Systeme mit Leistungsproblemen oder Systeme, die Leistungsgrenzen von FreeBSD überwinden. Jeder, der mithelfen will, die Leistung von FreeBSD zu verbessern, sollte diese Liste abonnieren. Die Liste ist technisch anspruchsvoll und geeignet für erfahrene FreeBSD-Benutzer, Hacker oder Administratoren, die FreeBSD schnell, robust und skalierbar halten wollen. Auf der Liste werden Beiträge gesammelt oder Fragen nach ungelösten Problemen beantwortet. Sie ist kein Ersatz für das gründliche Studium der Dokumentation. &a.platforms.name; Portierung auf nicht-Intel Plattformen Plattformübergreifende Themen und Vorschläge für die Portierung auf nicht-Intel Plattformen. Auf dieser Liste finden nur technische Diskussionen statt. &a.policy.name; Grundsatzentscheidungen des Core Teams Diese Mailingliste ist für Grundsatzentscheidungen des FreeBSD Core Teams. Sie trägt wenige Nachrichten und ist nur zum Lesen gedacht. &a.ports.name; Diskussion über die Ports-Sammlung Diskussionen über die FreeBSD Ports-Sammlung und die Infrastruktur der Sammlung. Die Liste dient auch der allgemeinen Koordination der Dinge, die die Ports-Sammlung betreffen. Auf dieser Liste finden nur technische Diskussionen statt. &a.ports-bugs.name; Diskussion über Fehler in den Ports Diskussion über Fehler in der Ports-Sammlung (/usr/ports), neue Ports oder Änderungen an bestehenden Ports. Auf dieser Liste finden nur technische Diskussionen statt. &a.questions.name; Benutzerfragen Auf dieser Mailingliste können Fragen über FreeBSD gestellt werden. Fragen Sie bitte nicht nach Anleitungen, wenn Sie nicht sicher sind, dass Ihre Frage wirklich technischer Natur ist. &a.scsi.name; SCSI Subsystem Diese Mailingliste ist für die Entwickler des SCSI Subsystems von FreeBSD. Auf dieser Liste finden nur technische Diskussionen statt. &a.security.name; Sicherheitsthemen Sicherheitsthemen, die FreeBSD betreffen, wie DES, Kerberos, bekannte Sicherheitslöcher und Fehlerbehebungen. Stellen Sie bitte auf dieser Liste keine allgemeinen Fragen zum Thema Sicherheit. Willkommen sind allerdings Beiträge zur FAQ, das heißt eine Frage mit der passenden Antwort. Auf dieser Liste finden nur technische Diskussionen statt. &a.security-notifications.name; Ankündigungen zum Thema Sicherheit Ankündigungen über Sicherheitsprobleme von FreeBSD und deren Behebungen. Diese Liste ist kein Diskussionsforum, benutzen Sie &a.security;, um Sicherheitsthemen zu diskutieren. &a.small.name; Gebrauch von FreeBSD in eingebetteten Systemen. Diese Liste für ungewöhnlich kleine FreeBSD Installation oder den Einsatz von FreeBSD in eingebetteten Systemen gedacht. Auf dieser Liste finden nur technische Diskussionen statt. &a.stable.name; Gebrauch von &os.stable;. Diese Mailingliste ist für die Benutzer von &os.stable; eingerichtet. Auf ihr finden sich Ankündigungen über Besonderheiten von -STABLE, von denen Benutzer betroffen sind. Sie enthält weiterhin Anweisungen, wie man ein System auf -STABLE hält. Jeder, der ein -STABLE System besitzt, muss diese Liste lesen. Die Liste ist nur für technische Inhalte bestimmt. &a.standards.name; Konformität von FreeBSD mit den C99- und POSIX-Standards Dieses Forum ist für technische Diskussionen über die Konformität von FreeBSD mit den C99- und POSIX-Standards. &a.usergroups.name; Koordination von Benutzergruppen Diese Liste ist für Koordinatoren lokaler Benutzergruppen und einem ausgesuchten Mitglied des Core Teams eingerichtet worden. Der Inhalt sollte Inhalte von Treffen und die Koordination von Projekten mehrerer Benutzergruppen beschränkt sein. &a.vendors.name; Koordination von Händlern Koordination zwischen dem FreeBSD Projekt und Händlern, die Soft- und Hardware für FreeBSD verkaufen. + + + Filter der Mailinglisten + + Um die Verbreitung von Spam, Viren und anderen nicht + erwünschten E-Mails zu verhindern, werden auf den + &os;-Mailinglisten Filter eingesetzt. Dieser Abschnitt + beschreibt nur einen Teil der zum Schutz der Listen + eingesetzten Filter. + + Auf den Mailinglisten sind nur die unten aufgeführten + Anhänge erlaubt. Anhänge mit einem anderen + MIME-Typ werden entfernt, bevor eine E-Mail an eine + Liste verteilt wird. + + + + application/octet-stream + + + + application/pdf + + + + application/pgp-signature + + + + application/x-pkcs7-signature + + + + message/rfc822 + + + + multipart/alternative + + + + multipart/related + + + + multipart/signed + + + + text/html + + + + text/plain + + + + text/x-patch + + + + + Einige Mailinglisten erlauben vielleicht Anhänge + mit anderem MIME-Typ. Für die meisten Mailinglisten + sollte die obige Aufzählung aber richtig sein. + + + Wenn eine E-Mail sowohl aus einer HTML-Version wie auch + aus einer Text-Version besteht, wird die HTML-Version entfernt. + Wenn eine E-Mail nur im HTML-Format versendet wurde, wird + sie in reinen Text umgewandelt. + Usenet-News Neben den Gruppen, die sich ausschließlich mit BSD beschäftigen, gibt es viele weitere in denen über FreeBSD diskutiert wird, oder die für FreeBSD Benutzer wichtig sind. Warren Toomey wkt@cs.adfa.edu.au stellte großzügig suchbare Archive einiger dieser Gruppen bereit. BSD spezifische Gruppen comp.unix.bsd.freebsd.announce comp.unix.bsd.freebsd.misc de.comp.os.unix.bsd (Deutsch) fr.comp.os.bsd (Französisch) Weitere UNIX Gruppen comp.unix comp.unix.questions comp.unix.admin comp.unix.programmer comp.unix.shell comp.unix.user-friendly comp.security.unix comp.sources.unix comp.unix.advocacy comp.unix.misc comp.bugs.4bsd comp.bugs.4bsd.ucb-fixes comp.unix.bsd X Window System comp.windows.x.i386unix comp.windows.x comp.windows.x.apps comp.windows.x.announce comp.windows.x.intrinsics comp.windows.x.motif comp.windows.x.pex comp.emulators.ms-windows.wine World Wide Web Server – Hauptserver. - - – Armenien. + + – IPv6 Dänemark. - - – Australien/1. + + – IPv6 Deutschland. - - – Australien/2. + + – IPv6 Großbritannien. - - – Australien/3. + + – IPv6 (6bone) Japan. - - – Australien/4. + + – IPv6 Norwegen. - - – Australien/5. + + – IPv6 Österreich. - - – Australien/6. + + – IPv6 USA/1. - - – Australien/7. + + – IPv6 USA/2. - freebsd.unixtech.be/ + + – Armenien. + + + + + – Australien/1. + + + + + – Australien/2. + + + + – Belgien. – Brasilien/1. – Brasilien/2. – Brasilien/3. – Bulgarien. – China. - – Dänemark. + – Dänemark/1. - – Dänemark/3. + – Dänemark/2. – Deutschland/1. – Deutschland/2. – Deutschland/3. – Estland. - – Finnland. + – Finnland/1. – Finnland/2. – Frankreich. - – Griechenland. + – Griechenland/1. + + + + + – Griechenland/2. – Großbritannien/1. – Großbritannien/2. – Großbritannien/3. – Großbritannien/4. + + + – Großbritannien/5. + + – Hong Kong. - – Irland. + – Irland/1. – Irland/2. – Island. - – Italien. + – Italien/1. – Italien/2. – Japan. - – Kanada. + – Kanada/1. - - - - - – Kanada/3. - – Korea/1. – Korea/2. – Korea/3. – Lettland. – Litauen. - - - – Malaysia. - - – Neuseeland. – Niederlande/1. – Niederlande/2. - – Norwegen. + – Norwegen/1. – Norwegen/2. - - - – Philippinen. - - - – Österreich. + – Österreich/1. – Österreich/2. + + + – Philippinen. + + – Polen/1. – Polen/2. - - - – Portugal/2. - - - - - – Portugal/3. + – Portugal/1. - – Portugal/4. + – Portugal/2. - – Rumänien. + – Rumänien/1. – Rumänien/2. – Rumänien/3. – Rumänien/4. – Russland/1. – Russland/2. – Russland/3. – Russland/4. – San Marino. - – Schweden. + – Schweden/1. – Schweden/2. - – Schweiz. + – Schweiz/1. – Schweiz/2. – Singapur. - – Slowakische Republik. + – Slowakische Republik/1. – Slowakische Republik/2. - – Slowenien. + – Slowenien/1. – Slowenien/2. - – Spanien. + – Spanien/1. – Spanien/2. – Spanien/3. – Südafrika/1. – Südafrika/2. - - – Taiwan. + + – Taiwan/1. – Taiwan/2. – Taiwan/3. – Taiwan/4. – Tschechische Republik. - - - – Türkei. + – Türkei/1. – Türkei/2. – Türkei/3. - + – Ukraine/1. – Ukraine/2. - - – Ukraine/Crimea. + + – Ukraine/3. - - – Ukraine/5. + + – Ukraine/Crimea. - – Ungarn. + – Ungarn/1. – Ungarn/2. - - + – USA/3. - - - - – USA/7. - E-Mail Adressen Die folgenden Benutzergruppen stellen ihren Mitgliedern für die Arbeit an FreeBSD E-Mail Adressen zur Verfügung. Der aufgeführte Administrator behält sich das Recht vor, die Adresse zu sperren, wenn sie missbraucht wird. Domain Angebot Benutzergruppe Administrator ukug.uk.FreeBSD.org nur zum Weiterleiten freebsd-users@uk.FreeBSD.org Lee Johnston lee@uk.FreeBSD.org Shell Accounts Die folgenden Benutzergruppen stellen Personen, die das FreeBSD Projekt aktiv unterstützen, Shell-Accounts zur Verfügung. Der aufgeführte Administrator behält sich das Recht vor, den Account zu sperren, wenn er missbraucht wird. Rechner Zugriff Angebot Administrator storm.uk.FreeBSD.org nur SSH lesender Zugriff auf CVS, persönliche Webseiten, E-Mail &a.brian; dogma.freebsd-uk.eu.org Telnet/FTP/SSH E-Mail, Webseiten, Anonymous FTP Lee Johnston lee@uk.FreeBSD.org diff --git a/de_DE.ISO8859-1/books/handbook/l10n/chapter.sgml b/de_DE.ISO8859-1/books/handbook/l10n/chapter.sgml index 426529629c..1bb1093edd 100644 --- a/de_DE.ISO8859-1/books/handbook/l10n/chapter.sgml +++ b/de_DE.ISO8859-1/books/handbook/l10n/chapter.sgml @@ -1,1061 +1,1067 @@ Andrey A. Chernov Beigesteuert von Michael C. Wu Überarbeitet von Alexander Langer Übersetzt von Martin Heinen Lokalisierung – I18N/L10N Einrichtung und Benutzung Übersicht FreeBSD ist ein über die ganze Welt verteiltes Projekt. Dieses Kapitel behandelt die Internationalisierung und Lokalisierung von FreeBSD, mit denen nicht englisch sprechende Benutzer FreeBSD an ihre Bedürfnisse anpassen können. Die Internationalisierung betrifft sowohl die System- als auch die Anwendungsebene, daher wird im Laufe des Texts auf genauere Anwendungsdokumentationen verwiesen. Nachdem Sie dieses Kapitel durchgearbeitet haben, werden Sie wissen wie verschiedene Sprachen und Lokalisierungen in modernen Betriebssystemen codiert werden, wie Sie die Locale Ihrer Login-Shell setzen, wie Sie die Konsole für nicht-englische Sprachen konfigurieren, wie Sie das X Window System mit verschiedenen Sprachen benutzen, wo Sie mehr Informationen über das Erstellen von I18N konformen Anwendungen erhalten. Bevor Sie dieses Kapitel lesen, sollten Sie wissen, wie Sie zusätzliche Anwendungen installieren (). Grundlagen Was ist I18N/L10N? Internationalisierung Lokalisierung Entwickler kürzen das Wort internationalization (englisch für Internationalisierung) mit I18N ab, weil sich zwischen dem ersten und letzten Buchstaben des Worts 18 Buchstaben befinden. L10N benutzt die gleiche Namensgebung und ist eine Abkürzung des Worts localization (englisch für Lokalisierung). Mit I18N/L10N Methoden, Protokollen und Anwendungen können Benutzer eine Sprache ihrer Wahl verwenden. I18N Anwendungen werden mit Hilfe von I18N Bibliotheken programmiert. Diese erlauben es Entwicklern, eine einfache Sprachdatei zu schreiben und Menüs und Texte an jede Sprache anzupassen. Wir möchten Programmierern empfehlen, für ihre eigenen Anwendungen auf diese Techniken zurückzugreifen. Wieso soll ich I18N/L10N benutzen? I18N/L10N wird immer dann benutzt, wenn Sie Daten in anderen Sprachen als Englisch anzeigen, eingeben oder verarbeiten möchten. Welche Sprachen werden von I18N unterstützt? I18N und L10N sind nichts FreeBSD spezifisches. Momentan können Sie unter den meisten der verbreitetsten Sprachen der Welt wählen, unter anderen Chinesisch, Japanisch, Koreanisch, Französisch, Russisch und Deutsch. Lokale Anpassungen benutzen In seiner ganzen Schönheit ist L10N nichts, was auf FreeBSD alleine beschränkt ist, im Gegenteil, es ist eine Konvention, an die sich viele Programme für verschiedene Betriebssysteme halten. Wir möchten Sie anregen, FreeBSD bei der Unterstützung dieser Konvention zu helfen. Locale Lokale Anpassungen werden durch die Angabe von drei Werten erreicht: dem Sprachcode, dem Ländercode und der Codierung. Die Zusammenfassung dieser Werte wird Locale genannt und sieht wie folgt aus: Sprachcode_Ländercode.Codierung Sprach- und Ländercodes Sprachcodes Ländercodes Um FreeBSD (oder ein anderes &unix; System, das I18N unterstützt) an lokale Gegebenheiten und Sprachen anzupassen, muss der Benutzer herausfinden, welche Codes für sein Land und seine Sprache benutzt werden. Ländercodes geben den Anwendungen dabei vor, welche Variation einer bestimmten Sprache zu benutzen ist. Eine Variation von Deutsch wäre zum Beispiel de_CH, das eine lokale Anpassung an das in der Schweiz gesprochene Deutsch meint. Außerdem benutzen Webbrowser, SMTP/POP Server, Webserver usw. diese, um Entscheidungen über die Sprache zu fällen. Im Folgenden sind einige Beispiele für Sprach- und Ländercodes aufgelistet: Sprachcode/Ländercode Beschreibung en_US Englisch - USA ru_RU Russisch für Russland zh_TW Traditionelles Chinesisch für Taiwan Codierungen Codierungen ASCII Einige Sprachen benutzen Codierungen, die nicht dem 7-Bit breitem ASCII-Standard entsprechen, wie 8-Bit Codierungen, Wide- oder Multibyte Zeichen (&man.multibyte.3; geht darauf näher ein). Ältere Anwendungen erkennen diese Zeichen nicht und halten sie fälschlicherweise für Steuerzeichen. Neuere Anwendungen erkennen für gewöhnlich 8-Bit Zeichen. Es hängt allerdings von der Implementierung ab, ob man eine Anwendung neu kompilieren muss, um in den Genuss von lokalen Zeichensätzen zu kommen, oder ob man es sie nur nachträglich konfigurieren muss. Um es möglich zu machen, Wide- oder Multibyte-Zeichen einzugeben und zu verarbeiten, unterstützt die FreeBSD Ports Sammlung verschiedene Sprachen für diverse Programme. Bitte konsultieren Sie die I18N Dokumentation des entsprechenden FreeBSD-Ports. In den meisten Fällen muss der Benutzer in die Dokumentation des Programms schauen, um herauszufinden, wie man es entsprechend für die eigene Sprache und den eigenen Zeichensatz konfiguriert, oder welche Optionen beim Übersetzen anzugeben sind. Einige Dinge, die man im Hinterkopf behalten sollte, sind: Sprachbezogene C-char Zeichensätze Mit C-char Zeichensätzen werden Zeichensätze bezeichnet, die zur Codierung den C-Datentyp char verwenden. (siehe &man.multibyte.3;), zum Beispiel ISO-8859-1, ISO-8859-15, KOI8-R, CP437. Wide- oder Multibyte-Codierungen, zum Beispiel EUC, Big5. Eine aktuelle Liste der Zeichensätze ist in der IANA Registry. verfügbar. Ab FreeBSD 4.5 werden X11-kompatible Codierungen verwendet. I18N Anwendungen Im FreeBSD Ports- und Paket-System werden I18N Anwendungen mit einem I18N im Namen gekennzeichnet, damit man sie leicht identifizieren kann. Trotzdem kann es vorkommen, dass die benötigte Sprache nicht immer unterstützt wird. Einstellen der Locale Zum Aktivieren der Lokalisierung reicht es, die Umgebungsvariable LANG in Ihrer Login-Shell auf den Wert der Locale zu setzen und die Variable zu exportieren. Dies geschieht normalerweise in Ihrer ~/.login_conf oder der Startdatei Ihrer Shell (~/.profile, ~/.bashrc, ~/.cshrc). Wenn LANG gesetzt ist, brauchen die speziellen Variablen wie LC_CTYPE oder LC_CTIME in der Regel nicht gesetzt zu werden. Sie sollten sprachbezogene FreeBSD Dokumentation zu Rate ziehen, wenn Sie mehr Informationen wünschen. Setzen Sie die zwei folgenden Umgebungsvariablen in Ihren Konfigurationsdateien: POSIX LANG für Funktionen der POSIX &man.setlocale.3; Familie MIME MM_CHARSET gibt den den MIME Zeichensatz von Anwendungen an Damit ist die Locale für die Shell, jede Anwendung und X11 eingestellt. Verfahren zum Einstellen der Locale Locale Login-Klasse Es gibt zwei Wege, die Locale zu setzen, die im Folgenden beschrieben werden. Die erste und empfohlene Methode ist, die Umgebungsvariablen in der Login-Klasse zu setzen, die zweite ist, sie in den Startdateien der Shell zu setzen. Lokalisierung in der Login-Klasse Wenn Sie diese Methode verwenden, werden die Umgebungsvariablen für die Locale und den MIME Zeichensatz einmal für alle Shells, anstatt einzeln für jede Shell, gesetzt. Die Lokalisierung kann von einem Benutzer selbst oder von einem Administrator mit Superuser-Rechten für alle eingestellt werden. Einrichten als Benutzer .login_conf im Heimatverzeichnis eines Benutzers sollte mindestens die folgenden Einträge enthalten, damit beide Variablen für den Gebrauch der Latin-1 Codierung gesetzt werden: me:\ :charset=ISO-8859-1:\ :lang=de_DE.ISO8859-1: traditionelles Chinesisch BIG-5 Codierung Damit traditionelles Chinesisch (BIG-5 Codierung) verwendet werden kann, sind in .login_conf die nachstehenden Ergänzungen vorzunehmen. Einige Programme behandeln die Lokalisierung für Chinesisch, Japanisch und Koreanisch falsch, daher müssen mehr Variablen als üblich gesetzt werden: #Users who do not wish to use monetary units or time formats #of Taiwan can manually change each variable me:\ lang=zh_TW.Big5:\ lc_all=zh_TW.Big:\ lc_collate=zh_TW.Big5:\ lc_ctype=zh_TW.Big5:\ lc_messages=zh_TW.Big5:\ lc_monetary=zh_TW.Big5:\ lc_numeric=zh_TW.Big5:\ lc_time=zh_TW.Big5:\ charset=big5:\ xmodifiers="@im=xcin": #Setting the XIM Input Server Weitere Informationen entnehmen Sie bitte &man.login.conf.5;. Einrichten als Administrator Stellen Sie sicher, dass in der Login-Klasse der Benutzer in /etc/login.conf die richtige Sprache eingestellt ist. Die folgenden Einstellungen müssen in /etc/login.conf vorgenommen werden: Sprache:Beschreibung:\ :charset=MIME_Zeichensatz:\ :lang=Locale:\ :tc=default: Die für Latin-1 erforderlichen Einträge sehen wie folgt aus: german:German Users Accounts:\ :charset=ISO-8859-1:\ :lang=de_DE.ISO8859-1:\ :tc=default: Ändern der Login-Klasse mit &man.vipw.8; vipw Wenn Sie neue Accounts mit vipw anlegen, erstellen Sie Einträge in folgender Art: user:password:1111:11:Sprache:0:0:Benutzername:/home/user:/bin/sh Ändern der Login-Klasse mit &man.adduser.8; adduser Login-Klasse Wenn Sie neue Accounts mit adduser anlegen, stehen Ihnen die folgenden Möglichkeiten zur Verfügung: Geben Sie in /etc/adduser.conf mit defaultclass = Sprache eine Sprache vor. In diesem Fall müssen Sie für Benutzer anderer Sprachen eine andere Login-Klasse angeben. Geben Sie die Sprache jedes Mal ein, wenn Sie dazu von &man.adduser.8; aufgefordert werden: Enter login class: default []: Sie können die Login-Klasse auch auf der Kommandozeile von &man.adduser.8; übergeben: &prompt.root; adduser -class Sprache Ändern der Login-Klasse mit &man.pw.8; pw Wenn Sie neue Accounts mit &man.pw.8; anlegen, benutzen Sie die folgende Kommandozeile: &prompt.root; pw useradd Account -L Sprache Lokalisierung in den Startdateien der Shells Da Sie jede Shell unterschiedlich einrichten müssen, sollten Sie diese Methode nicht verwenden. Benutzen Sie stattdessen bitte Login-Klassen. MIME Locale Um die Locale und den MIME Zeichensatz anzugeben, setzen Sie die unten aufgeführten Variablen in den Startdateien der Shells (/etc/profile und /etc/csh.login). In den folgenden Beispielen verwenden wir die deutsche Sprache. Einstellungen in /etc/profile: LANG=de_DE.ISO8859-1; export LANG MM_CHARSET=ISO-8859-1; export MM_CHARSET Einstellungen in /etc/csh.login: setenv LANG de_DE.ISO8859-1 setenv MM_CHARSET ISO-8859-1 Alternativ können Sie die Einstellungen in den Vorgabedateien der Shells vornehmen. Die oben gezeigten Einstellungen aus /etc/profile tragen Sie dann in /usr/share/skel/dot.profile und die Einstellungen aus /etc/csh.login in /usr/share/skel/dot.login ein. Die Einstellungen für X11 in $HOME/.xinitrc sind von der verwendeten Login-Shell abhängig. Mit Bourne Shells verwenden Sie den folgenden Eintrag: LANG=de_DE.ISO8859-1; export LANG Mit C-Shells verwenden Sie den nachstehenden Eintrag: setenv LANG de_DE.ISO8859-1 Einrichten der Konsole Wenn Sie C-char Zeichensätze verwenden, müssen Sie die richtigen Zeichensätze für die gewählte Sprache in /etc/rc.conf angeben: font8x16=Zeichensatz font8x14=Zeichensatz font8x8=Zeichensatz Dabei ist Zeichensatz der Name der passenden Datei aus /usr/share/syscons/fonts ohne die Endung .fnt. sysinstall keymap screenmap Stellen Sie sicher, dass Sie die richtige Tasten- und Bildschirmzuordnung (keymap und screenmap) verwenden. Dies können Sie in sysinstall einstellen, indem Sie Configure und dann Console wählen. Sie können die Zuordnungen aber auch direkt in /etc/rc.conf angeben: scrnmap=screenmap_name keymap=keymap_name keychange="fkey_number sequence" screenmap_name ist der Name einer Datei aus /usr/share/syscons/scrnmaps ohne die Endung .scm. Eine Bildschirmzuordnung und der zugehörige Zeichensatz verbreitert die Zeichenmatrix von VGA Karten im Pseudographik Modus von 8 Bit auf 9 Bit. Sie wird benötigt, wenn der Zeichensatz des Bildschirms 8 Bit verwendet. Lesen Sie den nächsten Absatz, wenn Sie in /etc/rc.conf den moused Dæmon mit der nachstehenden Anweisung aktiviert haben: moused_enable="YES" moused Der Mauszeiger des &man.syscons.4; Treibers belegt in der Voreinstellung den Bereich von 0xd0 bis 0xd3 des Zeichensatzes. Wenn dieser Bereich ebenfalls von der eingestellten Sprache benötigt wird, müssen Sie den Mauszeiger verschieben. Wenn Sie eine frühere FreeBSD Version als 5.0 verwenden, fügen Sie dazu in Ihrer Kernelkonfiguration die folgende Zeile ein: options SC_MOUSE_CHAR=0x03 Ab FreeBSD 4.4 ergänzen Sie /etc/rc.conf um die folgende Zeile: mousechar_start=3 keymap_name ist der Name einer Datei aus /usr/share/syscons/keymaps ohne die Endung .kbd. Welche Tastenzuordnung Sie benutzen müssen, können Sie ohne einen Neustart mit &man.kbdmap.1; ausprobieren. Mit keychange können die Funktionstasten so programmiert werden, dass Sie zu dem ausgesuchten Terminal passen. Die Sequenzen der Funktionstasten können nicht in Tastenzuordnungen definiert werden. Stellen Sie sicher, dass der richtige Terminaltyp für die ttyv* Konsolen in /etc/ttys angegeben ist. Momentan sind die folgenden Terminaltypen definiert: Zeichensatz Terminaltyp ISO-8859-1 oder ISO-8859-15 cons25l1 ISO-8859-2 cons25l2 ISO-8859-7 cons25l7 KOI8-R cons25r KOI8-U cons25u CP437 (VGA default) cons25 US-ASCII cons25w Mit Wide- oder Multibyte-Zeichensätzen müssen Sie den richtigen Port aus dem Verzeichnis /usr/ports/Sprache verwenden. Einige Ports erscheinen als Konsolen werden aber vom System als serielle vtty's betrachtet. Achten Sie daher darauf, dass Sie genügend vtty's für X11 und die Pseudo-seriellen Konsolen definiert haben. Nachstehend finden Sie eine unvollständige Liste der Ports, die eine andere Sprache als Englisch auf der Konsole verwenden: Sprache Port traditionelles Chinesisch (BIG-5) chinese/big5con Japanisch japanese/ja-kon2-* oder japanese/Mule_Wnn Koreanisch korean/ko-han Einrichten von X11 Obwohl X11 nicht Teil des FreeBSD Projekts ist, stellen wir hier einige Hinweise für FreeBSD Benutzer zusammen. Weitere Details entnehmen Sie bitte der XFree86 Webseite oder der Dokumentation Ihres X11 Servers. Anwendungsspezifische I18N Einstellungen (Zeichensätze, Menüs, usw.) können Sie in ~/.Xresources vornehmen. Zeichensätze X11 True Type Font-Server Installieren Sie den X11 True Type-Common Server (x11-servers/XttXF86srv-common) und die Truetype Zeichensätze für die gewählten Sprachen. Wenn Sie die Locale gesetzt haben, sollten die Menüs dann in der entsprechenden Sprache erscheinen. Eingabe von nicht-englischen Zeichen X11 Input Method (XIM) Das X11 Input Method (XIM) Protokoll ist ein neuer Standard für alle X11-Clients. Jede X11-Anwendung sollte als XIM-Client, der Eingaben von einem XIM-Server entgegen nimmt, implementiert sein. XIM-Server sind für verschiedene Sprachen erhältlich. Einrichten eines Druckers Drucker verfügen normalerweise schon über einige C-char Zeichensätze. Wide- oder Multibyte-Zeichensätze müssen gesondert eingerichtet werden. Wir empfehlen Ihnen, dazu apsfilter zu benutzen. Weiterhin können Sie mit sprachspezifischen Konvertern Ihre Dokumente auch in PostScript oder PDF umwandeln. Kernel und Dateisysteme Das FreeBSD Dateisystem (FFS) unterstützt 8-Bit, so dass es mit C-char Zeichensätzen (siehe &man.multibyte.3;) verwendet werden kann. Der Zeichensatz wird allerdings nicht im Dateisystem gespeichert, das heißt es werden nur die 8-Bit Werte gespeichert und die Codierung wird nicht berücksichtigt. Offiziell werden Wide- oder Multibyte-Zeichensätze noch nicht unterstützt, für einige Zeichensätze existieren Patche, die eine solche Unterstützung aktivieren. Sie sind allerdings nicht im Quelltext enthalten, da sie nur schwer pflegbare Übergangslösungen sind. Die Patche und weitere Informationen erhalten Sie auf den Webseiten der betreffenden Sprache. DOS Unicode Das MS-DOS Dateisystem von FreeBSD kann von MS-DOS- und Unicode-Zeichensätzen nach frei wählbaren FreeBSD Zeichensätzen konvertieren. Weitere Details entnehmen Sie bitte &man.mount.msdos.8;. I18N Programme übersetzen Viele FreeBSD Ports besitzen I18N Unterstützung, einige davon enthalten -I18N im Namen. Für diese und viele andere Programme ist keine spezielle Konfiguration notwendig. MySQL Einige Anwendungen wie MySQL müssen allerdings speziell für einen Zeichensatz konfiguriert werden. Normalerweise wird dazu das Makefile angepasst oder configure mit einem speziellen Parameter aufgerufen. Lokalisierung für einzelne Sprachen Andrey A. Chernov Beigetragen von Russisch (KOI8-R Codierung) Lokalisierung russisch Weitere Informationen über die KOI8-R Codierung erhalten Sie auf der Webseite KOI8-R References (Russian Net Character Set). Einrichten der Locale Fügen Sie die folgenden Zeilen in ~/.login_conf ein: me:My Account:\ :charset=KOI8-R:\ :lang=ru_RU.KOI8-R: Weitere Erklärungen finden Sie in Einstellen der Locale. Einrichten der Konsole Vor FreeBSD 5.0 müssen Sie die folgende Zeile in Ihre Kernelkonfiguration aufnehmen: options SC_MOUSE_CHAR=0x03 Ab FreeBSD 4.4 fügen Sie bitte die nachstehende Zeile in /etc/rc.conf ein: mousechar_start=3 Nehmen Sie die folgenden Einstellungen in /etc/rc.conf: vor keymap="ru.koi8-r" scrnmap="koi8-r2cp866" font8x16="cp866b-8x16" font8x14="cp866-8x14" font8x8="cp866-8x8" Benutzen Sie cons25r als Terminaltyp für jeden ttyv* Eintrag in /etc/ttys. Weitere Beispiele finden Sie in Einrichten der Konsole. Einrichten eines Druckers Drucker Die meisten Drucker mit russischen Zeichen besitzen die Codetabelle CP866, so dass ein spezielles Programm zur Übersetzung von KOI8-R nach CP866 benötigt wird. Zu diesem Zweck ist /usr/libexec/lpr/ru/koi2alt im Basissystem enthalten. Der Eintrag für einen Drucker mit russischer Sprachunterstützung in /etc/printcap sieht wie folgt aus: lp|Russian local line printer:\ :sh:of=/usr/libexec/lpr/ru/koi2alt:\ :lp=/dev/lpt0:sd=/var/spool/output/lpd:lf=/var/log/lpd-errs: Näheres erfahren Sie in &man.printcap.5;. MS-DOS Dateisystem und russische Dateinamen Russische Dateinamen auf MS-DOS Dateisystemen werden mit dem folgenden Eintrag in /etc/fstab erkannt: /dev/ad0s2 /dos/c msdos rw,-Wkoi2dos,-Lru_RU.KOI8-R 0 0 - Die Optionen und - werden in &man.mount.msdos.8; näher beschrieben. + Die Option legt die Locale fest. + Die Option legt die Zeichenumwandlung + fest. Stellen Sie sicher, dass /usr + eingehangen ist, bevor Sie die MS-DOS-Partition einhängen, + da die Tabellen zur Zeichenumwandlung in + /usr/libdata/msdosfs liegen. Weitere + Informationen erhalten Sie in der Hilfeseite + &man.mount.msdos.8;. Einrichten von X11 Richten Sie zunächst die normale Lokalisierung ein. Die Locale KOI8-R wird von alten XFree86-Versionen (vor 3.3) nicht unterstützt. FreeBSD verwendet XFree86 4.X, daher sollte es mit neuen FreeBSD Versionen keine Probleme geben. Wechseln Sie in das Verzeichnis russian/X.language und setzen Sie das folgende Kommando ab: &prompt.root; make install Der Port installiert die neusten Versionen der KOI8-R Zeichensätze. XFree86 3.3 besitzt zwar schon einige KOI8-R Zeichensätze, allerdings sind die des Ports besser skaliert. Im "Files" Abschnitt von /etc/XF86Config fügen Sie die folgenden Einträge vor allen anderen FontPath Einträgen ein: FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/misc" FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/75dpi" FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/100dpi" Wenn Sie eine hohe Auflösung benutzen, vertauschen Sie bitte die Einträge für 75 dpi und 100 dpi. Die Unterstützung für eine russische Tastatur aktivieren Sie im "Keyboard" Abschnitt von XF86Config. Mit XFree86 3.X: XkbLayout "ru" XkbOptions "grp:caps_toggle" Mit XFree86 4.X: Option "XkbLayout" "ru" Option "XkbOptions" "grp:caps_toggle" Stellen Sie zudem sicher, dass XkbDisable nicht aktiviert (auskommentiert) ist. Mit CapsLock können Sie zwischen dem RUS- und LAT-Modus wechseln. Die alte Funktion von CapsLock steht nur im LAT-Modus mit der Tastenkombination Shift CapsLock zur Verfügung. Wenn Ihre Tastatur Windows-Tasten besitzt und nicht alphanumerische Tasten im RUS-Modus nicht funktionieren, fügen Sie die folgende Zeile in XF86Config ein: Mit XFree86 3.X: XkbVariant "winkeys" Mit XFree86 4.X: Option "XkbVariant" "winkeys" Die russische XKB-Tastatur funktioniert vielleicht nicht mit alten XFree86-Versionen (vgl. obige Anmerkung). Vielleicht funktioniert sie auch nicht mit nicht-lokalisierten Anwendungen. Lokalisierte Anwendungen sollten mindestens die Funktion XtSetLanguageProc (NULL, NULL,NULL); frühzeitig aufrufen. Weitere Informationen über die Lokalisierung von X11-Anwendungen erhalten Sie auf der Webseite KOI8-R for X Window. Traditionell chinesische Lokalisierung für Taiwan Lokalisierung traditionell chinesisch Das taiwanesische FreeBSD Projekt stellt ein Tutorium unter zur Verfügung, das viele chinesische Anwendungen benutzt. Der Editor von zh-L10N-tut ist Clive Lin Clive@CirX.org. Von freebsd.sinica.edu.tw können Sie mit CVSup auch die folgenden Sammlungen beziehen: Sammlung Beschreibung outta-port tag=. Chinesische Ports Sammlung (Beta-Test) zh-L10N-tut tag=. Tutorium Lokalisation von FreeBSD mit traditionellem Chinesisch (BIG-5) zh-doc tag=. Übersetzung der FreeBSD Dokumentation nach traditionellem Chinesisch (BIG-5) Chuan-Hsing Shen s874070@mail.yzu.edu.tw hat mit Hilfe von zh-L10N-tut die Chinese FreeBSD Collection (CFC) zusammengestellt. Die Pakete und Skripten sind unter erhältlich. Deutsche Lokalisierung (für alle ISO 8859-1 Sprachen) Lokalisierung deutsch Von Slaven Rezic eserte@cs.tu-berlin.de stammt ein Tutorium, das die Benutzung von Umlauten mit FreeBSD beschreibt. Das Tutorium ist in Deutsch verfasst und unter erhältlich. Japanische und koreanische Lokalisierung Lokalisierung japanisch Lokalisierung koreanisch Informationen über die japanische Lokalisierung entnehmen Sie bitte , Informationen über die koreanische Lokalisierung erhalten Sie unter . Nicht-englische FreeBSD Dokumentation Teile von FreeBSD wurden in andere Sprachen übersetzt. Folgen Sie bitte den Links auf der FreeBSD Webseite oder schauen Sie in /usr/share/doc nach. diff --git a/de_DE.ISO8859-1/books/handbook/mirrors/chapter.sgml b/de_DE.ISO8859-1/books/handbook/mirrors/chapter.sgml index a8e4506aed..34c39110a7 100644 --- a/de_DE.ISO8859-1/books/handbook/mirrors/chapter.sgml +++ b/de_DE.ISO8859-1/books/handbook/mirrors/chapter.sgml @@ -1,4982 +1,5234 @@ Bezugsquellen für FreeBSD CD-ROM und DVD Verleger FreeBSD Pakete FreeBSD Pakete (FreeBSD CDs, zusätzliche Software und gedruckte Dokumentation) erhalten Sie von mehreren Händlern:
CompUSA WWW:
Frys Electronics WWW:
FreeBSD CDs und DVDs Die FreeBSD CDs und DVDs werden von vielen Online-Händlern angeboten:
Daemon News Mall 560 South State Street, Suite A2 Orem, UT 84058 USA Telefon: +1 800 407-5170 Fax: +1 1 801 765-0877 E-Mail: sales@daemonnews.org WWW:
FreeBSD Mall, Inc. 3623 Sanford Street Concord, CA 94520-1405 USA Telefon: +1 925 674-0783 Fax: +1 925 674-0821 E-Mail: info@freebsdmall.com WWW:
FreeBSD Services Ltd. 11 Lapwing Close Bicester OX26 6XR United Kingdom WWW:
Hinner EDV St. Augustinus-Str. 10 D-81825 München Germany Telefon: (089) 428 419 WWW:
+ +
+ Ikarios + 22-24 rue Voltaire + 92000 Nanterre + France + WWW: +
+
+
Ingram Micro 1600 E. St. Andrew Place Santa Ana, CA 92705-4926 USA Telefon: 1 (800) 456-8000 WWW:
+ +
+ JMC Software + Ireland + Telefon: 353 1 6291282 + WWW: +
+
+
The Linux Emporium Hilliard House, Lester Way Wallingford OX10 9TA United Kingdom Telefon: +44 1491 837010 Fax: +44 1491 837016 WWW:
Linux System Labs Australia 21 Ray Drive Balwyn North VIC - 3104 Australia Telefon: +61 3 9857 5918 Fax: +61 3 9857 8974 WWW:
UNIXDVD.COM LTD 57 Primrose Avenue Sheffield S5 6FS United Kingdom WWW:
Lieferanten Wenn Sie FreeBSD CD-ROM Produkte weiterverkaufen möchten, kontaktieren Sie einen der folgenden Lieferanten:
Cylogistics 2672 Bayshore Parkway, Suite 610 Mountain View, CA 94043 USA Telefon: +1 650 694-4949 Fax: +1 650 694-4953 E-Mail: sales@cylogistics.com WWW:
FreeBSD Services Ltd. 11 Lapwing Close Bicester OX26 6XR United Kingdom WWW:
Kudzu, LLC 7375 Washington Ave. S. Edina, MN 55439 USA Telefon: +1 952 947-0822 Fax: +1 952 947-0876 E-Mail: sales@kudzuenterprises.com
Navarre Corp 7400 49th Ave South New Hope, MN 55428 USA Telefon: +1 763 535-8333 Fax: +1 763 535-0341 WWW:
- FTP Server + FTP-Server - Die offiziellen Quellen von FreeBSD sind über anonymous FTP - unter der folgenden URL erhältlich: - -
- . -
+ Die offiziellen Quellen von FreeBSD sind mit anonymous FTP + über ein weltweites Netz von FTP-Spiegeln erhältlich. + Obwohl + über eine gute Anbindung verfügt, sollten Sie einen + Spiegel in Ihrer Nähe verwenden (insbesondere, wenn Sie + selber einen Spiegel einrichten wollen). Die Datenbank der FreeBSD Spiegel ist aktueller als die folgende Liste, da sie im Gegensatz zu einer statischen Liste die Informationen aus dem DNS erhält. Sie können FreeBSD auch über anonymous FTP von den folgenden Spiegeln beziehen. Wenn Sie FreeBSD über anonymous FTP beziehen wollen, wählen Sie bitte einen Spiegel in Ihrer - Nähe. - - Argentinien, + Nähe. Die Spiegel, die unter Top-Level-Domain + aufgeführt sind, stellen das komplette FreeBSD-Archiv + (alle momentan erhältlichen Versionen für jede + unterstützte Architektur) zur Verfügung. Wahrscheinlich + geht es aber schneller, wenn Sie einen Spiegel in Ihrem + Land benutzen. Die Länder-Spiegel stellen die neusten + Versionen für die beliebtesten Architekturen bereit, + sie stellen aber unter Umständen nicht das komplette + FreeBSD-Archiv bereit. + + Top-Level-Domain, + Argentinien, Australien, Brasilien, Bulgarien, China, Dänemark, Deutschland, Estland, Finnland, Frankreich, Griechenland, Großbritannien, Hong Kong, Irland, Island, Italien, Japan, Kanada, Korea, + Kroatien, Litauen, Neuseeland, Niederlande, Norwegen, Österreich, Polen, - Portugal, Rumänien, Russland, Saudi Arabien, Schweden, Schweiz, Singapur, Slowakische Republik, Slowenien, Spanien, Südafrika, Taiwan, Thailand, Tschechische Republik, Ukraine, Ungarn, USA. + + Top-Level-Domain + + Bei Problemen wenden Sie sich bitte an den Betreuer + mirror-admin@FreeBSD.org dieser Domain. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Argentinien Bei Problemen wenden Sie sich bitte an den Betreuer hostmaster@ar.FreeBSD.org dieser Domain. Australien Bei Problemen wenden Sie sich bitte an den Betreuer hostmaster@au.FreeBSD.org dieser Domain. Brasilien Bei Problemen wenden Sie sich bitte an den Betreuer hostmaster@br.FreeBSD.org dieser Domain. Bulgarien Bei Problemen wenden Sie sich bitte an den Betreuer hostmaster@bg.FreeBSD.org dieser Domain. China Bei Problemen wenden Sie sich bitte an den Betreuer phj@cn.FreeBSD.org dieser Domain. - - - - - - Dänemark Bei Problemen wenden Sie sich bitte an den Betreuer hostmaster@dk.FreeBSD.org dieser Domain. Deutschland Bei Problemen wenden Sie sich bitte an die Administratoren der Spiegel de-bsd-hubs@de.FreeBSD.org . Estland Bei Problemen wenden Sie sich bitte an den Betreuer hostmaster@ee.FreeBSD.org dieser Domain. Finnland Bei Problemen wenden Sie sich bitte an den Betreuer hostmaster@fi.FreeBSD.org dieser Domain. Frankreich Bei Problemen wenden Sie sich bitte an den Betreuer hostmaster@fr.FreeBSD.org dieser Domain. Griechenland Bei Problemen wenden Sie sich bitte an den Betreuer hostmaster@gr.FreeBSD.org dieser Domain. Großbritannien Bei Problemen wenden Sie sich bitte an den Betreuer hostmaster@uk.FreeBSD.org dieser Domain. Hong Kong Irland Bei Problemen wenden Sie sich bitte an den Betreuer hostmaster@ie.FreeBSD.org dieser Domain. Island Bei Problemen wenden Sie sich bitte an den Betreuer hostmaster@is.FreeBSD.org dieser Domain. Italien Bei Problemen wenden Sie sich bitte an den Betreuer hostmaster@it.FreeBSD.org dieser Domain. Japan Bei Problemen wenden Sie sich bitte an den Betreuer hostmaster@jp.FreeBSD.org dieser Domain. Kanada Bei Problemen wenden Sie sich bitte an den Betreuer hostmaster@ca.FreeBSD.org dieser Domain. Korea Bei Problemen wenden Sie sich bitte an den Betreuer hostmaster@kr.FreeBSD.org dieser Domain. + + Kroatien + + Bei Problemen wenden Sie sich bitte an den Betreuer + hostmaster@hr.FreeBSD.org dieser Domain. + + + + + + + + + + + Litauen Bei Problemen wenden Sie sich bitte an den Betreuer hostmaster@lt.FreeBSD.org dieser Domain. Neuseeland Bei Problemen wenden Sie sich bitte an den Betreuer hostmaster@nz.FreeBSD.org dieser Domain. Niederlande Bei Problemen wenden Sie sich bitte an den Betreuer hostmaster@nl.FreeBSD.org dieser Domain. Norwegen Bei Problemen wenden Sie sich bitte an den Betreuer hostmaster@no.FreeBSD.org dieser Domain. Österreich Bei Problemen wenden Sie sich bitte an den Betreuer hostmaster@at.FreeBSD.org dieser Domain. Polen Bei Problemen wenden Sie sich bitte an den Betreuer hostmaster@pl.FreeBSD.org dieser Domain. - - Portugal - - - Bei Problemen wenden Sie sich bitte an den Betreuer - hostmaster@pt.FreeBSD.org dieser Domain. - - - - - - - - - - - - - - - - - - - - - - - Rumänien Bei Problemen wenden Sie sich bitte an den Betreuer hostmaster@ro.FreeBSD.org dieser Domain. Russland Bei Problemen wenden Sie sich bitte an den Betreuer hostmaster@ru.FreeBSD.org dieser Domain. Saudi Arabien Bei Problemen wenden Sie sich bitte an ftpadmin@isu.net.sa Schweden Bei Problemen wenden Sie sich bitte an den Betreuer hostmaster@se.FreeBSD.org dieser Domain. Schweiz Bei Problemen wenden Sie sich bitte an den Betreuer hostmaster@ch.FreeBSD.org dieser Domain. + + + + + + Singapur Bei Problemen wenden Sie sich bitte an den Betreuer hostmaster@sg.FreeBSD.org dieser Domain. Slowakische Republik Bei Problemen wenden Sie sich bitte an den Betreuer hostmaster@sk.FreeBSD.org dieser Domain. Slowenien Bei Problemen wenden Sie sich bitte an den Betreuer hostmaster@si.FreeBSD.org dieser Domain. Spanien Bei Problemen wenden Sie sich bitte an den Betreuer hostmaster@es.FreeBSD.org dieser Domain. Südafrika Bei Problemen wenden Sie sich bitte an den Betreuer hostmaster@za.FreeBSD.org dieser Domain. Taiwan Bei Problemen wenden Sie sich bitte an den Betreuer hostmaster@tw.FreeBSD.org dieser Domain. Thailand Kontakt: ftpadmin@ftp.nectec.or.th. Tschechische Republik Bei Problemen wenden Sie sich bitte an den Betreuer hostmaster@cz.FreeBSD.org dieser Domain. Kontakt: calda@dzungle.ms.mff.cuni.cz Ukraine Kontakt: freebsd-mnt@lucky.net. Ungarn Bei Problemen wenden Sie sich bitte an den Betreuer mohacsi@ik.bme.hu dieser Domain. USA Bei Problemen wenden Sie sich bitte an den Betreuer - hostmaster@FreeBSD.org dieser Domain. + hostmaster@us.FreeBSD.org dieser Domain. - - - - - - - + - + - + - + - + - + - + - + - + - + - + - + - +
Anonymous CVS <anchor id="anoncvs-intro">Einführung Anonymous CVS (oder anoncvs) dient zum Synchronisieren mit entfernten Repositories und steht mit den CVS Werkzeugen, die im FreeBSD Basissystem enthalten sind, zur Verfügung. Benutzer von FreeBSD können damit unter anderem lesende Operationen auf den Anoncvs Servern des FreeBSD Projekts durchführen, ohne über besondere Berechtigungen zu verfügen. Um es zu benutzen, setzen Sie einfach die CVSROOT Umgebungsvariable auf einen Anoncvs Server und geben beim Login mit cvs login das Passwort anoncvs an. Danach können Sie mit &man.cvs.1; wie auf jedes lokale Repository (allerdings nur lesend) zugreifen. cvs login speichert Passwörter zur Authentifizierung an einem CVS Server in der Datei .cvspass in Ihrem HOME-Verzeichnis. Wenn diese Datei beim ersten Benutzen von cvs login nicht existiert, erhalten Sie vielleicht eine Fehlermeldung. In diesem Fall legen Sie einfach eine leere .cvspass Datei an und melden sich erneut an. CVSup und Anoncvs bieten dieselbe Funktionalität, die folgenden Kriterien helfen Ihnen zu entscheiden, welche Methode Sie benutzen sollen. CVSup geht wesentlich effizienter mit Netzwerk-Ressourcen um und ist auch technisch ausgereifter. Allerdings müssen Sie zuerst einen speziellen Client installieren und konfigurieren, bevor Sie CVSup benutzen können. Weiterhin können Sie mit CVSup nur relativ große Teile der Quellen, die Sammlungen genannt werden, synchronisieren. Im Gegensatz dazu können Sie mit Anoncvs jede beliebige Datei oder indem Sie einfach den CVS Namen des Moduls angeben, ein beliebiges Programm, wie ls oder grep, bearbeiten. Natürlich können Sie mit Anoncvs nur lesend auf ein CVS Repository zugreifen. Wenn Sie lokal mit dem FreeBSD Repository entwickeln wollen, dann ist CVSup die einzige Wahl. <anchor id="anoncvs-usage">Benutzen von Anonymous CVS Setzen Sie einfach die CVSROOT Umgebungsvariable, um &man.cvs.1; das CVS Repository eines FreeBSD Anoncvs Servers bekannt zu geben. Zurzeit stehen folgende Server zur Verfügung: USA: :pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs (Benutzen Sie cvs login und das Passwort anoncvs.) + Deutschland: :pserver:anoncvs@anoncvs.de.FreeBSD.org:/home/ncvs (Benutzen Sie cvs login und das Passwort anoncvs.) + Deutschland: :pserver:anoncvs@anoncvs2.de.FreeBSD.org:/home/ncvs (rsh, pserver, ssh, ssh/2022) + Japan: :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs (Benutzen Sie cvs login und das Passwort anoncvs.) + + + Österreich: + :pserver:anoncvs@anoncvs.at.FreeBSD.org:/home/ncvs + (Benutzen Sie cvs login und ein + beliebiges Passwort. + Mit CVS können Sie praktisch jede Version von FreeBSD, die schon einmal existiert hat (oder in manchen Fällen existieren wird) auschecken. Sie sollten daher damit vertraut sein, wie Sie mit Tags unter &man.cvs.1; arbeiten (die Option). Zudem müssen Sie die Namen der Tags im FreeBSD Repository kennen. Es gibt zwei verschiedene TagsTags sind symbolische Namen, die im Repository vergeben werden. : Tags, die Revisionen bezeichnen und Tags, die Zweige bezeichnen. Die Ersten sind statisch und fest an eine Revision gebunden. Ein Tag, das einen Zweig bezeichnet, bezieht sich dagegen zu einem gegebenen Zeitpunkt immer auf die aktuellste Revision. Da ein Tag eines Zweiges nicht an eine bestimmte Revision gebunden ist, kann sich dessen Bedeutung von heute auf morgen ändern. In finden Sie eine Liste der gültigen Tags. Beachten Sie bitte, dass keines der Tags auf die Ports-Sammlung anwendbar ist, da diese nicht über Zweige verfügt. Wenn Sie ein Tag eines Zweiges verwenden, erhalten Sie die aktuellsten Dateien dieses Entwicklungszweiges. Wenn Sie eine frühere Revision erhalten möchten, können Sie zum Beispiel einen Zeitpunkt mit der Option angeben. Weitere Informationen dazu entnehmen Sie bitte &man.cvs.1;. Beispiele Im Folgenden finden Sie einige Beispiele für den Umgang mit Anonymous CVS. Sie sollten sich aber die Manualpage von &man.cvs.1; sorgfältig durchlesen, bevor Sie anfangen. &man.ls.1; von -CURRENT auschecken und wieder löschen: &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs &prompt.user; cvs login Wenn Sie dazu aufgefordert werden, benutzen Sie das Passwort anoncvs. &prompt.user; cvs co ls &prompt.user; cvs release -d ls &prompt.user; cvs logout &man.ls.1; aus dem 3.X-STABLE Zweig auschecken: &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs &prompt.user; cvs login Wenn Sie dazu aufgefordert werden, benutzen Sie das Passwort anoncvs. &prompt.user; cvs co -rRELENG_3 ls &prompt.user; cvs release -d ls &prompt.user; cvs logout Änderungen in &man.ls.1; zwischen 3.0 RELEASE und 3.4 RELEASE (als unified diff) &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs &prompt.user; cvs login Wenn Sie dazu aufgefordert werden, benutzen Sie das Passwort anoncvs. &prompt.user; cvs rdiff -u -rRELENG_3_0_0_RELEASE -rRELENG_3_4_0_RELEASE ls &prompt.user; cvs logout Gültige Modulnamen herausfinden: &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs &prompt.user; cvs login Wenn Sie dazu aufgefordert werden, benutzen Sie das Passwort anoncvs. &prompt.user; cvs co modules &prompt.user; more modules/modules &prompt.user; cvs release -d modules &prompt.user; cvs logout Weitere Ressourcen Die folgenden Ressourcen sind nützlich, um den Umgang mit CVS zu lernen: CVS Tutorial von Cal Poly. CVS Home, die Homepage des CVS Projekts. CVSweb das Web Interface zu CVS des FreeBSD Projekts. CTM Mit CTM Abkürzung für CVS Through eMail können Sie einen entfernten Verzeichnisbaum mit einem zentralen Baum synchronisieren. Es wurde extra zum Synchronisieren der FreeBSD Quellen entwickelt, obwohl es mit der Zeit vielleicht auch andere Anwendungen geben wird. Zurzeit existiert leider so gut wie keine Dokumentation zum Erstellen der Deltas. Wenn Sie CTM für andere Zwecke einsetzen wollen, wenden Sie sich bitte &a.phk;. Warum soll ich <application>CTM</application> benutzen? Mit CTM erhalten Sie eine lokale Kopie des FreeBSD Quellbaums, den es in mehreren Varianten gibt. Sie können das ganze Repository oder nur einen Zweig spiegeln. Wenn Sie ein aktiver FreeBSD Entwickler mit einer schlechten oder gar keiner TCP/IP Verbindung sind, oder die Änderungen einfach automatisch zugesandt bekommen wollen, dann ist CTM das Richtige für Sie. Für die Zweige mit der meisten Aktivität müssen Sie sich täglich bis zu drei Deltas beschaffen, Sie sollten allerdings erwägen, die Deltas automatisch über E-Mail zu beziehen. Die Größe der Updates wird so klein wie möglich gehalten. Normalerweise sind sie kleiner als 5 kB, manchmal sind sie 10-50 kB groß (etwa jedes 10. Update) und ab und an werden Sie auch einmal ein Update mit 100 kB oder mehr erhalten. Sie sollten sich über die Vorbehalte gegen die Verwendung der Quellen anstelle eines offiziellen Releases bewusst sein. Das trifft besonders auf &os.current; zu, lesen Sie dazu bitte den Abschnitt &os.current;. Was brauche ich, um <application>CTM</application> zu benutzen? Zwei Sachen: Das CTM Programm und die initialen Deltas, von denen aus Sie auf die aktuellen Stände kommen. CTM ist schon seit der Version 2.0 Teil des FreeBSD Basissystems. Sie finden es in /usr/src/usr.sbin/ctm, wenn Sie eine Kopie der Quellen besitzen. Wenn Sie eine frühere Version als FreeBSD 2.0 besitzen, können Sie die aktuellen CTM Quellen von der folgenden URL beziehen: + url="http://www.freebsd.org/cgi/cvsweb.cgi/src/usr.sbin/ctm/"> Die Deltas, die CTM verarbeitet, können Sie über FTP oder E-Mail beziehen. Wenn Sie über einen FTP Zugang zum Internet verfügen, erhalten Sie die Deltas unter der folgenden URL: Die Deltas werden auch von CTM Spiegeln bereitgehalten. Wechseln Sie in das passende Verzeichnisse zum Beispiel src-cur für &os.current; und laden Sie sich von dort die Deltas herunter. Sie können die Deltas auch über E-Mail beziehen. Abonnieren Sie dazu eine der CTM-Verteilerlisten. Über &a.ctm-cvs-cur.name; erhalten Sie den kompletten CVS-Baum, über &a.ctm-src-cur.name; erhalten Sie &os.current; und über &a.ctm-src-4.name; erhalten Sie den FreeBSD 4.X-Zweig. Wenn Sie nicht wissen, wie Sie eine der Mailinglisten abonnieren, folgen Sie einem der Verweise von oben oder besuchen Sie die Seite &a.mailman.lists.link;. Weitere Informationen erhalten Sie, wenn Sie dort auf die gewünschte Liste klicken. Benutzen Sie ctm_rmail, um die CTM Updates, die Sie per E-Mail empfangen, auszupacken und anzuwenden. Wenn Sie diesen Prozess automatisiert ablaufen lassen möchten, können Sie dazu einen Eintrag in /etc/aliases verwenden. Genauere Informationen finden Sie in der Manualpage von ctm_rmail. Sie sollten die Mailingliste &a.ctm-announce.name; abonnieren, egal wie Sie die CTM-Deltas erhalten. Ankündigungen, die den Betrieb des CTM-Systems betreffen, werden nur auf dieser Liste bekannt gegeben. Klicken Sie auf den Namen der Liste oder besuchen Sie die Seite &a.mailman.lists.link;, um diese Liste zu abonnieren. Initialisieren von <application>CTM</application> Bevor Sie die CTM Deltas benutzen können, brauchen Sie einen Startpunkt, auf den die nachfolgenden Deltas angewendet werden. Sie können natürlich mit einem leeren Verzeichnis beginnen. In diesem Fall benötigen Sie ein XEmpty-Delta, mit dem Sie den CTM-Verzeichnisbaum initialisieren. Wenn Sie Glück haben, finden Sie ein XEmpty-Delta, mit dem sie beginnen können, auf einer der CDs Ihrer Distribution. Da die Verzeichnisbäume mehrere Megabyte groß sind, sollten Sie nach Möglichkeit etwas schon vorhandenes benutzen. Wenn Sie eine -RELEASE CD besitzen, können Sie die Quellen von dieser CD benutzen. Sie ersparen sich damit das Übertragen großer Datenmengen. Die Deltas, mit denen Sie beginnen können, enthalten ein X in ihrem Namen, wie in src-cur.3210XEmpty.gz. Hinter dem X wird der Startpunkt der Deltas angegeben, in diesem Fall steht Empty für ein leeres Verzeichnis. Nach etwa 100 Deltas wird ein neues XEmpty-Delta erstellt. Mit ungefähr 75 Megabyte komprimierter Daten sind diese XEmpty-Deltas übrigens sehr groß. Nachdem Sie Ihren Startpunkt festgelegt haben, benötigen Sie alle Deltas mit einer höheren Nummer. Benutzen von <application>CTM</application> Um ein Delta einzuspielen, benutzen Sie das folgende Kommando: &prompt.root; cd /Pfad/zu/den/Quellen &prompt.root; ctm -v -v /Pfad/zu/den/Deltas/src-xxx.* CTM kann mit Deltas arbeiten, die mit gzip komprimiert wurden. Sie brauchen die Deltas vorher nicht mit gunzip zu dekomprimieren und sparen damit Plattenplatz. Ihr Quellbaum wird erst dann verändert, wenn CTM die Deltas sauber verarbeiten kann. Die Integrität der Deltas und ihre Anwendbarkeit auf den Quellbaum lassen sich durch die Angabe des Schalters -c überprüfen, CTM ändert in diesem Fall Ihren Quellbaum nicht. CTM verfügt über weitere Kommandozeilenoptionen, Informationen dazu finden Sie in der Manualpage oder dem Quellcode. Das war schon alles. Um Ihre Quellen aktuell zu halten, verwenden Sie CTM jedes Mal, wenn Sie neue Deltas bekommen. Löschen Sie die Deltas nicht, wenn Sie diese nur schwer wieder beschaffen können. Behalten Sie sie für den Fall, das etwas passiert. Auch wenn Sie nur Disketten besitzen, sollten Sie erwägen, die Deltas mit fdwrite zu sichern. Umgang mit lokalen Änderungen Entwickler wollen mit den Dateien im Quellbaum experimentieren und diese verändern. In beschränkter Weise werden lokale Änderungen von CTM unterstützt. Wenn CTM die Datei foo bearbeiten will, überprüft es zuerst ob die Datei foo.ctm existiert. Wenn diese Datei existiert, werden Änderungen in ihr anstatt in foo vorgenommen. Mit diesem Verfahren ist eine leichte Handhabung lokaler Änderungen möglich. Kopieren Sie die Dateien, die Sie ändern möchten, in Dateien, die das Suffix .ctm tragen. Sie können dann ungestört mit dem Quellcode arbeiten, während CTM die .ctm Dateien aktualisiert. Weitere <application>CTM</application>-Optionen Was wird aktualisiert? Eine Liste der Änderungen, die CTM an Ihrem Quellbaum vornehmen wird, erhalten Sie, wenn Sie die Option angeben. Das ist nützlich, wenn Sie Logs über die Änderungen führen wollen, geänderte Dateien vor- oder nachbearbeiten wollen, oder einfach ein bisschen paranoid sind. Sicherungen vor einer Aktualisierung erstellen Sie wollen vielleicht die Dateien, die durch eine CTM Aktualisierung verändert werden, sichern. Mit weisen Sie CTM an, alle Dateien, die durch ein CTM Delta verändert würden, nach backup-file zu sichern. Dateien ausschließen Manchmal wollen Sie nur bestimmte Teile aktualisieren oder nur bestimmte Dateien aus einer Folge von Deltas extrahieren. Sie können die Liste der Dateien, mit denen CTM arbeitet, einschränken, indem Sie reguläre Ausdrücke mit den Optionen und angeben. Wenn Sie eine aktuelle Kopie von lib/libc/Makefile aus den gesicherten CTM Deltas erhalten wollen, setzen Sie das folgende Kommando ab: &prompt.root; cd /wo/Sie/es/auspacken/wollen/ &prompt.root; ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.* Die Optionen und werden in der Reihenfolge angewandt, in der sie auf der Kommandozeile angegeben wurden. Eine Datei wird nur dann von CTM verarbeitet, wenn dies nach der Anwendung der Optionen und noch erlaubt ist. Pläne für <application>CTM</application> Mehrere: Hinzufügen eines Authentifizierungsmechanismus, damit gefälschte CTM-Deltas erkannt werden können. Aufräumen der CTM-Optionen, die mit der Zeit unübersichtlich und irreführend wurden. Verschiedenes Es gibt Deltas für die Ports-Sammlung, die aber nicht intensiv genutzt werden. CTM-Spiegel Die CTM-Deltas können Sie mit anonymous FTP von den folgenden Spiegeln beziehen. Versuchen Sie bitte einen Spiegel in Ihrer Nähe zu benutzen. Bei Problemen wenden Sie sich bitte an &a.phk;. Kalifornien, Bay Area, Offizieller Server Südafrika, Backup-Server für alte Deltas Taiwan/R.O.C. Wenn die Liste keinen Spiegel in Ihrer Nähe enthält oder Sie Probleme mit dem ausgewählten Spiegel haben, versuchen Sie einen Spiegel mit einer Suchmaschine, wie alltheweb, zu finden. Benutzen von CVSup Einführung CVSup ist eine Anwendung, die Verzeichnisbäume von einem entfernten CVS-Server bereitstellt und aktualisiert. Die Quellen von FreeBSD werden in einem CVS-Repository auf einer Entwicklungsmaschine in Kalifornien gepflegt. Mit CVSup können sich FreeBSD Benutzer den eigenen Quellbaum auf aktuellem Stand halten. Zum Aktualisieren benutzt CVSup die Pull-Methode, bei der die Aktualisierungen vom Client angefragt werden. Der Server wartet dabei passiv auf Anfragen von Clients, das heißt er verschickt nicht unaufgefordert Aktualisierungen. Somit gehen alle Anfragen vom Client aus und die Benutzer müssen CVSup entweder manuell starten oder einen cron Job einrichten, um regelmäßig Aktualisierungen zu erhalten. CVSup in genau dieser Schreibweise bezeichnet die Anwendung, die aus dem Client cvsup und dem Server cvsupd besteht. cvsup läuft auf den Maschinen der Benutzer, cvsupd läuft auf jedem der FreeBSD-Spiegel. Wenn Sie die FreeBSD Dokumentation und die Mailinglisten lesen, werden Sie oft auf Sup, dem Vorgänger von CVSup stoßen. CVSup wird in gleicher Weise wie Sup benutzt und verfügt sogar über Konfigurationsdateien, die kompatibel zu denen von Sup sind. Da CVSup schneller und flexibler als Sup ist, wird Sup vom FreeBSD-Projekt nicht mehr benutzt. Installation von <application>CVSup</application> CVSup können Sie leicht installieren, wenn Sie das vorkompilierte Paket net/cvsup aus der Ports-Sammlung benutzen. Alternativ können Sie net/cvsup auch ausgehend von den Quellen bauen, doch seien Sie gewarnt: net/cvsup hängt vom Modula-3 System ab, das viel Zeit und Platz zum Herunterladen und Bauen braucht. Wenn Sie CVSup auf einer Maschine ohne XFree86, beispielsweise einem Server, benutzen, stellen Sie sicher, dass Sie den Port ohne das CVSup-GUI, net/cvsup-without-gui verwenden. Wenn Sie CVSup möglichst einfach installieren und konfigurieren wollen, installieren Sie mit &man.pkg.add.1; das Paket net/cvsupit. Bei der Installation können Sie dann die Konfiguration von CVSup menügestützt durchführen. Konfiguration von CVSup Das Verhalten von CVSup wird mit einer Konfigurationsdatei gesteuert, die supfile genannt wird. Beispiele für Konfigurationsdateien finden Sie in dem Verzeichnis . Ein supfile enthält die folgenden Informationen: Welche Dateien Sie erhalten wollen. Welche Versionen der Dateien Sie benötigen. Woher Sie die Dateien beziehen wollen. Wo Sie die erhaltenen Dateien speichern. Wo Sie die Status-Dateien aufbewahren wollen. In den folgenden Abschnitten erstellen wir ein typisches supfile indem wir nach und nach diese Punkte klären. Zuerst beschreiben wir aber den Aufbau dieser Konfigurationsdatei. Ein supfile ist eine Textdatei. Kommentare beginnen mit einem # und gelten bis zum Zeilenende. Leerzeilen und Zeilen, die nur Kommentare enthalten, werden ignoriert. Die anderen Zeilen legen die Dateien fest, die ein Benutzer erhalten will. Der Server organisiert verschiedene Dateien in einer Sammlung, deren Name auf einer Zeile angegeben wird. Nach dem Namen der Sammlung können mehrere durch Leerzeichen getrennte Felder folgen, die die oben angesprochenen Informationen festlegen. Es gibt zwei Arten von Feldern: Felder, die Optionen festlegen und Felder mit Parametern. Optionen bestehen aus einem Schlüsselwort, wie oder und stehen alleine. Ein Parameterfeld beginnt mit einem Schlüsselwort, dem = und ein Parameter, wie in , folgt. Dieses Feld darf keine Leerzeichen enthalten. In einem supfile werden normalerweise mehrere Sammlungen angefordert. Die erforderlichen Felder können explizit für jede Sammlung angegeben werden, dann werden jedoch die Zeilen ziemlich lang. Außerdem ist dieses Vorgehen sehr unhandlich, da die meisten Felder für alle Sammlungen gleich sind. CVSup bietet die Möglichkeit, Vorgaben für die Felder der Sammlungen festzulegen. Zeilen, die mit der Pseudo-Sammlung *default beginnen, legen Optionen und Parameter für nachfolgende Sammlungen im supfile fest. Der Vorgabewert kann in der Zeile einer bestimmten Sammlung überschrieben werden. Durch Hinzufügen weiterer *default Zeilen können die Vorgaben auch mitten im supfile überschrieben oder erweitert werden. Mit diesem Wissen können wir nun ein supfile erstellen, das den Quellbaum von FreeBSD-CURRENT anfordert und aktualisiert. Welche Dateien wollen Sie empfangen? Dateien werden von CVSup in Sammlungen organisiert. Die erhältlichen Sammlungen werden später beschrieben. Wir wollen den Quellbaum von FreeBSD empfangen, der in der Sammlung src-all enthalten ist. Das supfile enthält pro Zeile eine Sammlung, in diesem Fall also nur eine einzige Zeile: src-all Welche Versionen der Dateien werden benötigt? Mit CVSup können Sie jede Version der Quellen bekommen, da der cvsupd-Server seine Daten direkt aus dem CVS-Repository bezieht. Sie können die benötigten Versionen in den Parameterfeldern tag= und angeben. Achten Sie darauf, dass Sie das richtige tag=-Feld angeben. Einige Tags sind nur für spezielle Sammlungen gültig. Wenn Sie ein falsches Tag angeben oder sich verschreiben, wird CVSup Dateien löschen, die Sie wahrscheinlich gar nicht löschen wollten. Achten Sie insbesondere bei den ports-*-Sammlungen darauf, ausschließlich tag=. zu verwenden. Mit tag= wird ein symbolischer Name aus dem Repository angegeben. Es gibt zwei verschiedene Tags: Tags, die Revisionen bezeichnen und Tags, die Zweige bezeichnen. Die ersteren sind statisch und fest an eine Revision gebunden. Ein Tag, das einen Zweig bezeichnet, bezieht sich dagegen zu einem gegebenen Zeitpunkt immer auf die aktuellste Revision. Da ein Tag eines Zweiges nicht an eine bestimmte Revision gebunden ist, kann sich dessen Bedeutung von heute auf morgen ändern. zählt für Benutzer relevante Tags auf. Wenn Sie in der Konfigurationsdatei ein Tag, wie RELENG_4, angeben, müssen Sie diesem tag= vorstellen: tag=RELENG_4. Denken Sie daran, dass es für die Ports-Sammlung nur tag=. gibt. Achten Sie darauf, dass Sie den Namen eines Tags richtig angeben. CVSup kann nicht zwischen richtigen und falschen Tags unterscheiden. Wenn Sie sich bei der Angabe eines Tags vertippen, nimmt CVSup an, Sie hätten ein gültiges Tag angegeben, dem nur keine Dateien zugeordnet sind. Die Folge davon ist, dass Ihre vorhandenen Quellen gelöscht werden. Wenn Sie ein Tag angeben, das sich auf einen Zweig bezieht, erhalten Sie die aktuellsten Revisionen der Dateien auf diesem Zweig. Wenn Sie eine frühere Revision erhalten möchten, können Sie diese im Feld angeben. Einzelheiten dazu finden Sie in der Manualpage von cvsup. Wir möchten gerne FreeBSD-CURRENT beziehen und fügen die folgende Zeile am Anfang der Konfigurationsdatei ein: *default tag=. Eine wichtige Ausnahme ist wenn Sie weder ein tag=-Feld noch ein date=-Feld angeben. In diesem Fall erhalten Sie anstelle einer speziellen Revision die wirklichen RCS-Dateien aus dem CVS-Repository des Servers. Diese Vorgehensweise wird von Entwicklern bevorzugt, da sie mit einem eigenen Repository leicht die Entwicklungsgeschichte und Veränderungen von Dateien verfolgen können. Dieser Vorteil muss allerdings mit sehr viel Plattenplatz bezahlt werden. Woher sollen die Dateien bezogen werden? Im host=-Feld wird angegeben, woher cvsup die Dateien holen soll. Sie können hier jeden der CVSup-Spiegel angeben, doch sollten Sie einen Server in Ihrer Nähe auswählen. Für dieses Beispiel wollen wir den erfundenen Server cvsup666.FreeBSD.org verwenden: *default host=cvsup666.FreeBSD.org Bevor Sie CVSup laufen lassen, sollten Sie hier einen existierenden Server einsetzen. Den zu verwendenden Server können Sie auf der Kommandozeile mit überschreiben. Wo sollen die Dateien gespeichert werden? Im prefix=-Feld teilen Sie cvsup mit, wo die Dateien gespeichert werden sollen. In diesem Beispiel werden wir die Quelldateien direkt im Verzeichnisbaum für Quellen /usr/src ablegen. Das Verzeichnis src ist schon in der Sammlung, die wir beziehen enthalten, so dass wir die folgende Zeile angeben: *default prefix=/usr Wo sollen die Statusinformationen von cvsup gespeichert werden? cvsup legt in einem Verzeichnis Statusinformationen ab, die festhalten, welche Versionen schon empfangen wurden. Wir verwenden das Standardverzeichnis /usr/local/etc/cvsup: *default base=/usr/local/etc/cvsup Der Vorgabewert für base= ist genau dieses Verzeichnis, so dass wir diese Zeile nicht angeben müssen. Wenn das Verzeichnis für die Statusinformationen nicht existiert, sollten Sie es jetzt anlegen, da cvsup ohne dieses Verzeichnis nicht startet. Verschiedene Einstellungen: Eine weitere Zeile sollte normalerweise in jedem supfile sein: *default release=cvs delete use-rel-suffix compress Mit release=cvs wird angegeben, dass der Server das FreeBSD Haupt-Repository abfragen soll, was praktisch immer der Fall ist (die Ausnahmen werden in diesem Text nicht diskutiert). delete erlaubt es CVSup, Dateien zu löschen. Diese Option sollten Sie immer angeben, damit CVSup Ihren Quellbaum auch wirklich aktuell halten kann. CVSup löscht nur Dateien für die es auch verantwortlich ist. Andere Dateien, die sich in einem Baum unter Kontrolle von CVSup befinden, werden nicht verändert. Wenn Sie wirklich etwas über das obskure use-rel-suffix erfahren wollen, lesen Sie bitte in der Manualpage nach, ansonsten geben Sie es einfach an und vergessen es. Wenn Sie compress angeben, werden Daten auf dem Kommunikationskanal komprimiert. Wenn Sie über eine T1-Leitung oder eine schnellere Netzanbindung verfügen, brauchen Sie diese Option vielleicht nicht. In allen anderen Fällen beschleunigt sie aber den Ablauf. Zusammenfassung: Das vollständige supfile unseres Beispiels sieht nun so aus: *default tag=. *default host=cvsup666.FreeBSD.org *default prefix=/usr *default base=/usr/local/etc/cvsup *default release=cvs delete use-rel-suffix compress src-all Die <filename>refuse</filename> Datei CVSup benutzt die Pull-Methode, das heißt wenn sich ein Client mit einem Server verbindet, erhält er eine Liste der verfügbaren Sammlungen und wählt aus diesen die herunterzuladenden Dateien aus. In der Voreinstellung wählt der Client alle Dateien aus, die zu einer gegebenen Sammlung und zu einem gegebenen Tag passen. Dieses Verhalten ist aber nicht immer erwünscht, besonders wenn Sie die doc, ports oder www Verzeichnisbäume synchronisieren. Die wenigsten Leute beherrschen vier oder fünf Sprachen und benötigen Dateien mit speziellen Anpassungen für eine Sprache. Wenn Sie die Ports-Sammlung synchronisieren, können Sie anstelle von ports-all einzelne Ports, wie ports-astrology oder ports-biology angeben. Die doc und www Verzeichnisbäume verfügen aber nicht über Sammlungen für spezielle Sprachen. In diesem Fall müssen Sie eines der vielen eleganten Merkmale von CVSup benutzen: Die refuse Datei. Mit einer refuse Datei können Sie bestimmte Dateien einer Sammlung von der Übertragung ausschließen. Der Ort der refuse ist base/sup/refuse, wobei base in Ihrem supfile festgelegt wurde. In der Voreinstellung ist base das Verzeichnis /usr/local/etc/cvsup, der Ort der refuse Datei ist daher /usr/local/etc/cvsup/sup/refuse. Das Format der refuse Datei ist einfach: Sie enthält eine Liste der Dateien und Verzeichnisse, die Sie nicht herunterladen wollen. Wenn Sie zum Beispiel keinen Bedarf an Anwendungen mit Anpassungen für Sprachen außer Englisch haben, könnte ein Teil Ihrer refuse Datei wie folgt aussehen: ports/chinese ports/french ports/german ports/hebrew -ports/japanese ports/hungarian +ports/japanese ports/korean ports/portuguese ports/russian ports/ukrainian ports/vietnamese -doc/de_DE.ISO8859-1 -doc/el_GR.ISO8859-7 -doc/es_ES.ISO8859-1 -doc/fr_FR.ISO8859-1 -doc/it_IT.ISO8859-15 -doc/ja_JP.eucJP -doc/nl_NL.ISO8859-1 -doc/pt_BR.ISO8859-1 -doc/ru_RU.KOI8-R -doc/sr_YU.ISO8859-2 -doc/zh_TW.Big5 +doc/da_* +doc/de_* +doc/el_* +doc/es_* +doc/fr_* +doc/it_* +doc/ja_* +doc/nl_* +doc/no_* +doc/pl_* +doc/pt_* +doc/ru_* +doc/sr_* +doc/zh_* Die Aufzählung setzt sich für andere Sprachen fort. - Eine vollständige Liste erhalten Sie, wenn Sie sich die - Verzeichnisse auf dem FreeBSD - FTP server anschauen. + Eine vollständige Liste finden Sie im + FreeBSD + CVS Repository. Die refuse Datei spart Anwendern von CVSup, die über eine langsame Internetanbindung verfügen oder deren Internetverbindung zeitlich abgerechnet wird, wertvolle Zeit, da sie Dateien, die sie nicht benötigen, nicht mehr herunterladen müssen. Weitere Informationen zu refuse Dateien und anderen Eigenschaften von CVSup entnehmen Sie bitte der Manualpage. Ausführen von <application>CVSup</application> Wir können nun eine Aktualisierung mit der folgenden Kommandozeile starten: &prompt.root; cvsup supfile supfile gibt dabei das eben erstelle supfile an. Wenn Sie X11 benutzen, wird cvsup ein GUI starten. - Drücken Sie go und schauen Sie + Drücken Sie go und schauen Sie zu. Das Beispiel aktualisiert die Dateien im Verzeichnisbaum /usr/src. Sie müssen cvsup als root starten, damit Sie die nötigen Rechte haben, die Dateien zu aktualisieren. Sie sind vielleicht ein bisschen nervös weil Sie das Programm zum ersten Mal anwenden und möchten zuerst einmal einen Testlauf durchführen. Legen Sie dazu ein temporäres Verzeichnis an und übergeben es auf der Kommandozeile von cvsup: &prompt.root; mkdir /var/tmp/dest &prompt.root; cvsup supfile /var/tmp/dest Aktualisierungen werden dann nur in dem angegebenen Verzeichnis vorgenommen. CVSup untersucht die Dateien in /usr/src, wird aber keine dieser Dateien verändern. Die veränderten Dateien finden Sie stattdessen in /var/tmp/dest/usr/src. Die Statusdateien von CVSup werden ebenfalls nicht geändert, sondern in dem angegebenen Verzeichnis abgelegt. Wenn Sie Leseberechtigung in /usr/src haben, brauchen Sie das Programm noch nicht einmal unter root laufen zu lassen. Wenn Sie X11 nicht benutzen wollen oder keine GUIs mögen, sollten Sie cvsup wie folgt aufrufen: - &prompt.root; cvsup -g -L 2 supfile + &prompt.root; cvsup -g -L 2 supfile verhindert den Start des GUIs. Wenn Sie kein X11 laufen haben, passiert das automatisch, ansonsten müssen Sie diesen Schalter angeben. Mit gibt CVSup Einzelheiten zu jeder Aktualisierung aus. Die Wortfülle der Meldungen können Sie von bis einstellen. In der Voreinstellung werden nur Fehlermeldungen ausgegeben. Eine Zusammenfassung der Optionen von CVSup erhalten Sie mit cvsup -H. Genauere Informationen finden Sie in der Manualpage von CVSup. Wenn Sie mit dem Ablauf der Aktualisierung zufrieden sind, können Sie CVSup regelmäßig aus &man.cron.8; ausführen. In diesem Fall sollten Sie natürlich nicht das GUI benutzen. <application>CVSup</application> Sammlungen Die CVSup Sammlungen sind hierarchisch organisiert. Es gibt wenige große Sammlungen, die in kleinere Teilsammlungen unterteilt sind. Wenn Sie eine große Sammlung beziehen, entspricht das dem Beziehen aller Teilsammlungen. Der Hierarchie der Sammlung wird in der folgenden Aufzählung durch Einrückungen dargestellt. Die am häufigsten benutzen Sammlungen sind src-all und ports-all. Die anderen Sammlungen werden von wenigen Leuten zu speziellen Zwecken benutzt und es kann sein, dass diese nicht auf allen Spiegeln zur Verfügung stehen. cvs-all release=cvs Das FreeBSD Haupt-Repository einschließlich der Kryptographie-Module. distrib release=cvs Dateien, die zum Verteilen und Spiegeln von FreeBSD benötigt werden. doc-all release=cvs Quellen des FreeBSD Handbuchs und weiterer Dokumentation. Diese Sammlung enthält nicht die FreeBSD Webseite. ports-all release=cvs Die FreeBSD Ports-Sammlung. Wenn Sie nicht die gesamte Ports-Sammlung (ports-all) aktualieren wollen, sondern nur eine der nachstehend aufgeführten Teilsammlungen, aktualisieren Sie immer die Teilsammlung ports-base. Diese Teilsammlung enthält das Bausystem der Ports. Immer wenn ports-base geändert wird, ist es so gut wie sicher, dass diese Änderung auch tatsächlich von einem Port benutzt wird. Der Bau eines Ports, der auf Änderungen im Bausystem angewiesen wird, wird fehlschlagen, wenn das Bausystem noch auf einem alten Stand ist. Aktualisieren Sie vor allen Dingen ports-base, wenn Sie bei einem Bau merkwürdige Fehlermeldungen erhalten und kein aktuelles Bausystem benutzen. ports-archivers release=cvs Werkzeuge zum Archivieren. ports-astro release=cvs Astronomie-Programme. ports-audio release=cvs Audio-Programme. ports-base release=cvs Das Bausystem der Ports-Sammlung. Dazu gehören verschiedene Dateien in den Unterverzeichnissen Mk/ und Tools/ von /usr/ports. Aktualisieren Sie diese Teilsammlung jedes Mal, wenn Sie einen Teil der Ports-Sammlung aktualisieren. Lesen Sie dazu auch den obigen Hinweis zur Ports-Sammlung. ports-benchmarks release=cvs Benchmarks. ports-biology release=cvs Biologie. ports-cad release=cvs Computer Aided Design Werkzeuge. ports-chinese release=cvs Chinesische Sprachunterstützung. ports-comms release=cvs Programme zur Datenkommunikation. ports-converters release=cvs Zeichensatz Konvertierer. ports-databases release=cvs Datenbanken. ports-deskutils release=cvs Sachen, die sich vor dem Computer-Zeitalter auf dem Schreibtisch befanden. ports-devel release=cvs Werkzeuge für Entwickler. ports-editors release=cvs Editoren. ports-emulators release=cvs Programme, die andere Betriebssysteme emulieren. ports-finance release=cvs Finanz-Anwendungen. ports-ftp release=cvs Werkzeuge für FTP Clients und Server. ports-games release=cvs Spiele. ports-german release=cvs Deutsche Sprachunterstützung. ports-graphics release=cvs Graphik-Programme. ports-hungarian release=cvs Ungarische Sprachunterstützung. ports-irc release=cvs Internet Relay Chat Werkzeuge. ports-japanese release=cvs Japanische Sprachunterstützung. ports-java release=cvs Java Werkzeuge. ports-korean release=cvs Koreanische Sprachunterstützung. ports-lang release=cvs Programmiersprachen. ports-mail release=cvs E-Mail Programme. ports-math release=cvs Programme zur numerischen Mathematik. ports-mbone release=cvs MBone Anwendungen. ports-misc release=cvs Verschiedene Werkzeuge. ports-multimedia release=cvs Multimedia-Anwendungen. ports-net release=cvs Netzwerk-Programme. ports-news release=cvs USENET News Werkzeuge. ports-palm release=cvs Programme für den Palm. ports-portuguese release=cvs Portugiesische Sprachunterstützung. ports-print release=cvs Druckprogramme. ports-russian release=cvs Russische Sprachunterstützung. ports-security release=cvs Werkzeuge zum Thema Sicherheit. ports-shells release=cvs Kommandozeilen-Shells. ports-sysutils release=cvs System-Werkzeuge. ports-textproc release=cvs Programme zur Textverarbeitung (ohne Desktop Publishing). ports-vietnamese release=cvs Vietnamesische Sprachunterstützung. ports-www release=cvs Software rund um das World Wide Web. ports-x11 release=cvs X-Window Programme. ports-x11-clocks release=cvs X11-Uhren. ports-x11-fm release=cvs X11-Dateiverwalter. ports-x11-fonts release=cvs X11-Zeichensätze und Werkzeuge dazu. ports-x11-toolkits release=cvs X11-Werkzeuge. ports-x11-servers X11-Server. ports-x11-wm X11-Fensterverwalter. src-all release=cvs Die FreeBSD Quellen einschließlich der Kryptographie-Module. src-base release=cvs Verschiedene Dateien unter /usr/src. src-bin release=cvs Benutzer-Werkzeuge die im Einzelbenutzermodus gebraucht werden (/usr/src/bin). src-contrib release=cvs Werkzeuge und Bibliotheken, die nicht aus dem FreeBSD-Projekt stammen und wenig verändert übernommen werden. (/usr/src/contrib). src-crypto release=cvs Kryptographische Werkzeuge und Bibliotheken, die nicht aus dem FreeBSD-Projekt stammen und wenig verändert übernommen werden. (/usr/src/crypto). src-eBones release=cvs Kerberos und DES (/usr/src/eBones). Wird in aktuellen Releases von FreeBSD nicht benutzt. src-etc release=cvs Konfigurationsdateien des Systems (/usr/src/etc). src-games release=cvs Spiele (/usr/src/games). src-gnu release=cvs Werkzeuge, die unter der GNU Public License stehen (/usr/src/gnu). src-include release=cvs Header Dateien (/usr/src/include). src-kerberos5 release=cvs Kerberos5 (/usr/src/kerberos5). src-kerberosIV release=cvs KerberosIV (/usr/src/kerberosIV). src-lib release=cvs Bibliotheken (/usr/src/lib). src-libexec release=cvs Systemprogramme, die von anderen Programmen ausgeführt werden (/usr/src/libexec). src-release release=cvs Dateien, die zum Erstellen eines FreeBSD Releases notwendig sind (/usr/src/release). src-sbin release=cvs Werkzeuge für den Einzelbenutzermodus (/usr/src/sbin). src-secure release=cvs Kryptographische Bibliotheken und Befehle (/usr/src/secure). src-share release=cvs Dateien, die von mehreren Systemen gemeinsam benutzt werden können (/usr/src/share). src-sys release=cvs Der Kernel (/usr/src/sys). src-sys-crypto release=cvs Kryptographie Quellen des Kernels (/usr/src/sys/crypto). src-tools release=cvs Verschiedene Werkzeuge zur Pflege von FreeBSD (/usr/src/tools). src-usrbin release=cvs Benutzer-Werkzeuge (/usr/src/usr.bin). src-usrsbin release=cvs System-Werkzeuge (/usr/src/usr.sbin). www release=cvs Die Quellen der FreeBSD WWW Seite. distrib release=self Die Konfigurationsdateien des CVSup Servers. Diese werden von den CVSup benutzt. gnats release=current Die GNATS Datenbank, in der Problemberichte verwaltet werden. mail-archive release=current Das Archiv der FreeBSD Mailinglisten. www release=current Die formatierten Dateien der FreeBSD WWW Seite (nicht die Quellen). Diese werden von den WWW-Spiegeln benutzt. Weiterführende Informationen Die CVSup FAQ und weitere Informationen über CVSup finden Sie auf The CVSup Home Page. FreeBSD spezifische Diskussionen über CVSup finden auf der Mailingliste &a.hackers; statt. Dort und auf der Liste &a.announce; werden neue Versionen von CVSup angekündigt. Fragen und Problemberichte sollten an den Autor des Programms cvsup-bugs@polstra.com weitergeleitet werden. - CVSup Server + CVSup-Server Die folgende Aufzählung enthält CVSup Server für FreeBSD: - Argentinien + Top-Level-Domain + + cvsup1.FreeBSD.org (Betreuer + cwt@networks.cwu.edu), Washington + state + - cvsup.ar.FreeBSD.org (Betreuer - msagre@cactus.fi.uba.ar) + cvsup2.FreeBSD.org (Betreuer + djs@secure.net and &a.nectar;), Virginia - - - - - Australien + + cvsup3.FreeBSD.org (Betreuer + &a.wollman;), Massachusetts + - - - cvsup.au.FreeBSD.org (Betreuer - cvsup@ntt.net.au) + cvsup5.FreeBSD.org (Betreuer + mjr@blackened.com), Arizona - cvsup2.au.FreeBSD.org (Betreuer - cvsup@isp.net.au) + cvsup6.FreeBSD.org (Betreuer + cvsup@cvsup.adelphiacom.net), Illinois - cvsup3.au.FreeBSD.org (Betreuer - cvsup@speednet.com.au) + cvsup7.FreeBSD.org (Betreuer + &a.jdp;), Washington state - cvsup4.au.FreeBSD.org (Betreuer - cvsup@ideal.net.au) + cvsup8.FreeBSD.org (Betreuer + hostmaster@bigmirror.com), Washington + state - cvsup5.au.FreeBSD.org (Betreuer - cvsup@netlead.com.au) + cvsup9.FreeBSD.org (Betreuer + &a.jdp;), Minnesota - - - - - - Brasilien + + cvsup11.FreeBSD.org (Betreuer + cvsup@research.uu.net), Virginia + - - - cvsup.br.FreeBSD.org (Betreuer - cvsup@cvsup.br.FreeBSD.org) + cvsup12.FreeBSD.org (Betreuer + &a.will;), Indiana - cvsup2.br.FreeBSD.org (Betreuer - tps@ti.sk) + cvsup13.FreeBSD.org (Betreuer + dima@valueclick.com), California - cvsup3.br.FreeBSD.org (Betreuer - camposr@matrix.com.br) + cvsup14.FreeBSD.org (Betreuer + freebsd-cvsup@mfnx.net), California - cvsup4.br.FreeBSD.org (Betreuer - cvsup@tcoip.com.br) + cvsup15.FreeBSD.org (Betreuer + cvsup@math.uic.edu), Illinois - cvsup5.br.FreeBSD.org (Betreuer - hostmaster@br.FreeBSD.org) + cvsup16.FreeBSD.org (Betreuer + pth3k@virginia.edu), Virginia + + + + cvsup18.FreeBSD.org (Betreuer + cvsup@aphix.com), Wisconsin state + + + + + + + Argentinien + + + + + + cvsup.ar.FreeBSD.org (Betreuer + msagre@cactus.fi.uba.ar) + + + + + + + Australien + + + + + cvsup.au.FreeBSD.org (Betreuer + cvsup@ntt.net.au) + + + + cvsup2.au.FreeBSD.org (Betreuer + cvsup@isp.net.au) + + + + cvsup3.au.FreeBSD.org (Betreuer + cvsup@speednet.com.au) + + + + cvsup4.au.FreeBSD.org (Betreuer + cvsup@ideal.net.au) + + + + cvsup5.au.FreeBSD.org (Betreuer + cvsup@netlead.com.au) + + + + + + + + + Brasilien + + + + + cvsup.br.FreeBSD.org (Betreuer + cvsup@cvsup.br.FreeBSD.org) + + + + cvsup2.br.FreeBSD.org (Betreuer + tps@ti.sk) + + + + cvsup3.br.FreeBSD.org (Betreuer + camposr@matrix.com.br) + + + + cvsup4.br.FreeBSD.org (Betreuer + cvsup@tcoip.com.br) + + + + cvsup5.br.FreeBSD.org (Betreuer + hostmaster@br.FreeBSD.org) Bulgarien cvsup.bg.FreeBSD.org (Betreuer hostmaster@bg.FreeBSD.org) China cvsup.cn.FreeBSD.org (Betreuer phj@cn.FreeBSD.org) Dänemark cvsup.dk.FreeBSD.org (Betreuer jesper@FreeBSD.org) Deutschland cvsup.de.FreeBSD.org (Betreuer cvsup@cosmo-project.de) cvsup2.de.FreeBSD.org (Betreuer cvsup@apfel.de) cvsup3.de.FreeBSD.org (Betreuer ag@leo.org) cvsup4.de.FreeBSD.org (Betreuer cvsup@cosmo-project.de) cvsup5.de.FreeBSD.org (Betreuer &a.rse;) cvsup6.de.FreeBSD.org (Betreuer adminmail@heitec.net) cvsup7.de.FreeBSD.org (Betreuer karsten@rohrbach.de) Estland cvsup.ee.FreeBSD.org (Betreuer taavi@uninet.ee) Finnland cvsup.fi.FreeBSD.org (Betreuer count@key.sms.fi) cvsup2.fi.FreeBSD.org (Betreuer count@key.sms.fi) Frankreich cvsup.fr.FreeBSD.org (Betreuer hostmaster@fr.FreeBSD.org) cvsup2.fr.FreeBSD.org (Betreuer ftpmaint@uvsq.fr) cvsup3.fr.FreeBSD.org (Betreuer ftpmaint@enst.fr) cvsup4.fr.FreeBSD.org (Betreuer ftpmaster@t-online.fr) cvsup5.fr.FreeBSD.org (Betreuer freebsdcvsup@teaser.net) cvsup8.fr.FreeBSD.org (Betreuer ftpmaint@crc.u-strasbg.fr) Griechenland cvsup.gr.FreeBSD.org (Betreuer ftpadm@duth.gr) cvsup2.gr.FreeBSD.org (Betreuer paschos@cs.uoi.gr) Großbritannien cvsup.uk.FreeBSD.org (Betreuer ftp-admin@plig.net) cvsup2.uk.FreeBSD.org (Betreuer &a.brian;) cvsup3.uk.FreeBSD.org (Betreuer - ben.hughes@uk.easynet.net) - - - - cvsup4.uk.FreeBSD.org (Betreuer ejb@leguin.org.uk) - cvsup5.uk.FreeBSD.org (Betreuer + cvsup4.uk.FreeBSD.org (Betreuer mirror@teleglobe.net) Irland cvsup.ie.FreeBSD.org (Betreuer dwmalone@maths.tcd.ie), Trinity College, Dublin. Island cvsup.is.FreeBSD.org (Betreuer hostmaster@is.FreeBSD.org) Japan cvsup.jp.FreeBSD.org (Betreuer cvsupadm@jp.FreeBSD.org) cvsup2.jp.FreeBSD.org (Betreuer &a.max;) cvsup3.jp.FreeBSD.org (Betreuer shige@cin.nihon-u.ac.jp) cvsup4.jp.FreeBSD.org (Betreuer cvsup-admin@ftp.media.kyoto-u.ac.jp) cvsup5.jp.FreeBSD.org (Betreuer cvsup@imasy.or.jp) cvsup6.jp.FreeBSD.org (Betreuer cvsupadm@jp.FreeBSD.org) Kanada cvsup.ca.FreeBSD.org (Betreuer cvsup@cvsup.ca.FreeBSD.org) Korea cvsup.kr.FreeBSD.org (Betreuer cjh@kr.FreeBSD.org) cvsup2.kr.FreeBSD.org (Betreuer holywar@mail.holywar.net) cvsup3.kr.FreeBSD.org (Betreuer leo@florida.sarang.net) Kuwait cvsup1.kw.FreeBSD.org (Betreuer sysadmin@kems.net) Lettland cvsup.lv.FreeBSD.org (Betreuer system@soft.lv) Litauen cvsup.lt.FreeBSD.org (Betreuer domas.mituzas@delfi.lt) cvsup2.lt.FreeBSD.org (Betreuer vaidas.damosevicius@if.lt) Neuseeland cvsup.nz.FreeBSD.org (Betreuer cvsup@langille.org) Niederlande cvsup.nl.FreeBSD.org (Betreuer xaa@xaa.iae.nl) cvsup2.nl.FreeBSD.org (Betreuer cvsup@nl.uu.net) cvsup3.nl.FreeBSD.org (Betreuer cvsup@vuurwerk.nl) cvsup4.nl.FreeBSD.org (Betreuer hostmaster@cvsup4.nl.FreeBSD.org) cvsup5.nl.FreeBSD.org (Betreuer vincent@nlisp.nl) Norwegen cvsup.no.FreeBSD.org (Betreuer Per.Hove@math.ntnu.no) Österreich cvsup.at.FreeBSD.org (Betreuer postmaster@wu-wien.ac.at) cvsup2.at.FreeBSD.org (Betreuer ftp-admin.zid@univie.ac.at) + + Philippinen + + + + + cvsup1.ph.FreeBSD.org (Betreuer + cvsadmin@freebsd.org.ph) + + + + + Polen cvsup.pl.FreeBSD.org (Betreuer - Mariusz@kam.pl) + mariusz@provector.pl) cvsup2.pl.FreeBSD.org (Betreuer hostmaster@cvsup2.pl.FreeBSD.org) cvsup3.pl.FreeBSD.org (Betreuer hostmaster@cvsup3.pl.FreeBSD.org) Portugal cvsup.pt.FreeBSD.org (Betreuer jpedras@webvolution.net) Rumänien cvsup.ro.FreeBSD.org (Betreuer razor@ldc.ro) cvsup2.ro.FreeBSD.org (Betreuer hostmaster@rofug.ro) cvsup3.ro.FreeBSD.org (Betreuer veedee@c7.campus.utcluj.ro) Russland cvsup.ru.FreeBSD.org (Betreuer ache@nagual.pp.ru) cvsup2.ru.FreeBSD.org (Betreuer dv@dv.ru) cvsup3.ru.FreeBSD.org (Betreuer fjoe@iclub.nsu.ru) cvsup4.ru.FreeBSD.org (Betreuer maxim@macomnet.ru) cvsup5.ru.FreeBSD.org (Betreuer maxim@macomnet.ru) cvsup6.ru.FreeBSD.org (Betreuer pvr@corbina.net) San Marino cvsup.sm.FreeBSD.org (Betreuer sysadmin@alexdupre.com) Schweden cvsup.se.FreeBSD.org (Betreuer pantzer@ludd.luth.se) cvsup2.se.FreeBSD.org (Betreuer cvsup@dataphone.net) Singapur cvsup.sg.FreeBSD.org (Betreuer mirror-maintainer@mirror.averse.net) Slowakische Republik cvsup.sk.FreeBSD.org (Betreuer scorp@scorp.sk) cvsup2.sk.FreeBSD.org (Betreuer scorp@scorp.sk) Slowenien cvsup.si.FreeBSD.org (Betreuer blaz@si.FreeBSD.org) cvsup2.si.FreeBSD.org (Betreuer cuk@cuk.nu) Spanien cvsup.es.FreeBSD.org (Betreuer &a.jesusr;) cvsup2.es.FreeBSD.org (Betreuer &a.jesusr;) cvsup3.es.FreeBSD.org (Betreuer jose@we.lc.ehu.es) Südafrika cvsup.za.FreeBSD.org (Betreuer &a.markm;) cvsup2.za.FreeBSD.org (Betreuer &a.markm;) Taiwan cvsup.tw.FreeBSD.org (Betreuer ijliao@FreeBSD.org) cvsup3.tw.FreeBSD.org (Betreuer foxfair@FreeBSD.org) cvsup4.tw.FreeBSD.org (Betreuer einstein@NHCTC.edu.tw) cvsup5.tw.FreeBSD.org (Betreuer einstein@NHCTC.edu.tw) cvsup6.tw.FreeBSD.org (Betreuer jason@tw.FreeBSD.org) cvsup7.tw.FreeBSD.org (Betreuer cvsup@abpe.org) cvsup8.tw.FreeBSD.org (Betreuer heboy@FreeBSD.tku.edu.tw) cvsup9.tw.FreeBSD.org (Betreuer cs871256@csie.ncu.edu.tw) cvsup10.tw.FreeBSD.org (Betreuer rafan@infor.org) cvsup11.tw.FreeBSD.org (Betreuer vanilla@FreeBSD.org) cvsup12.tw.FreeBSD.org (Betreuer GEO.bbs@birdnest.twbbs.org) cvsup13.tw.FreeBSD.org (Betreuer cdsheen@tw.FreeBSD.org) Tschechische Republik cvsup.cz.FreeBSD.org (Betreuer cejkar@fit.vutbr.cz) Ukraine cvsup2.ua.FreeBSD.org (Betreuer freebsd-mnt@lucky.net) cvsup3.ua.FreeBSD.org (Betreuer ftpmaster@ukr.net), Kiev cvsup4.ua.FreeBSD.org (Betreuer phantom@cris.net) cvsup5.ua.FreeBSD.org (Betreuer never@nevermind.kiev.ua) cvsup6.ua.FreeBSD.org (Betreuer freebsd-cvs@colocall.net) cvsup7.ua.FreeBSD.org (Betreuer never@nevermind.kiev.ua) Türkei cvsup.tr.FreeBSD.org (Betreuer roots@enderunix.org) Ungarn cvsup.hu.FreeBSD.org (Betreuer janos.mohacsi@bsd.hu) USA - cvsup1.FreeBSD.org (Betreuer + cvsup1.us.FreeBSD.org (Betreuer cwt@networks.cwu.edu), Washington state - cvsup2.FreeBSD.org (Betreuer + cvsup2.us.FreeBSD.org (Betreuer djs@secure.net und &a.nectar;), Virginia - cvsup3.FreeBSD.org (Betreuer + cvsup3.us.FreeBSD.org (Betreuer &a.wollman;), Massachusetts - cvsup5.FreeBSD.org (Betreuer + cvsup5.us.FreeBSD.org (Betreuer mjr@blackened.com), Arizona - cvsup6.FreeBSD.org (Betreuer + cvsup6.us.FreeBSD.org (Betreuer cvsup@cvsup.adelphiacom.net), Illinois - cvsup7.FreeBSD.org (Betreuer + cvsup7.us.FreeBSD.org (Betreuer &a.jdp;), Washington state - cvsup8.FreeBSD.org (Betreuer + cvsup8.us.FreeBSD.org (Betreuer hostmaster@bigmirror.com), Washington state - cvsup9.FreeBSD.org (Betreuer + cvsup9.us.FreeBSD.org (Betreuer &a.jdp;), Minnesota - cvsup10.FreeBSD.org (Betreuer + cvsup10.us.FreeBSD.org (Betreuer &a.jdp;), California - cvsup11.FreeBSD.org (Betreuer + cvsup11.us.FreeBSD.org (Betreuer cvsup@research.uu.net), Virginia - cvsup12.FreeBSD.org (Betreuer + cvsup12.us.FreeBSD.org (Betreuer &a.will;), Indiana - cvsup13.FreeBSD.org (Betreuer + cvsup13.us.FreeBSD.org (Betreuer dima@valueclick.com), California - cvsup14.FreeBSD.org (Betreuer + cvsup14.us.FreeBSD.org (Betreuer freebsd-cvsup@mfnx.net), California - cvsup15.FreeBSD.org (Betreuer + cvsup15.us.FreeBSD.org (Betreuer cvsup@math.uic.edu), Illinois - cvsup16.FreeBSD.org (Betreuer + cvsup16.us.FreeBSD.org (Betreuer pth3k@virginia.edu), Virginia - cvsup17.FreeBSD.org (Betreuer + cvsup17.us.FreeBSD.org (Betreuer cvsup@mirrortree.com), Washington state + + + cvsup18.us.FreeBSD.org (Betreuer + cvsup@aphix.com), Wisconsin state + - CVS Tags + CVS-Tags Wenn Sie Quellen mit CVS oder CVSup erhalten oder aktualisieren wollen, - müssen Sie dazu ein Tag oder eine Revision angeben. - Im Folgenden finden Sie Tags, die verschiedene FreeBSD Zweige zu - verschiedenen Zeiten angeben. + müssen Sie dazu ein Tag (das ist ein bestimmter Zeitpunkt) + angeben. - - Der ports Baum besitzt kein eigenes Tag, - er ist immer CURRENT. - + Es gibt zwei verschiedene Tags: Tags, die Revisionen bezeichnen + und Tags, die Zweige bezeichnen. Die Ersten sind statisch und fest + an eine Revision gebunden. Ein Tag, das einen Zweig bezeichnet, + bezieht sich dagegen zu einem gegebenen Zeitpunkt immer auf die + aktuellste Revision. - Die am häufigsten verwendeten Tags sind: + + Tags für Zweige - - - HEAD + Mit Ausnahme von HEAD (das immer + ein gültiges Tag ist), können die folgenden + Tags nur im src/-Quellbaum verwendet + werden. Die Quellbäume ports/, + doc/ und www/ + sind nicht verzweigt. - - Symbolischer Name für den Hauptzweig, auch - &os.current; genannt. Dies ist die Vorgabe, wenn keine - Revision angegeben wird. - - In CVSup wird dieses Tag mit - einem . (Punkt) bezeichnet. - - - In CVS ist das die Vorgabe, - wenn Sie kein Tag oder eine Revision angeben. Außer - Sie wollen einen -STABLE Rechner auf -CURRENT aktualisieren, - ist es nicht ratsam, die -CURRENT - Quellen auf einem -STABLE Rechner einzuspielen. - - - + + + HEAD - - RELENG_5_0 + + Symbolischer Name für den Hauptzweig, auch + &os.current; genannt. Dies ist die Vorgabe, wenn keine + Revision angegeben wird. + + In CVSup wird dieses Tag mit + einem . (Punkt) bezeichnet. + + + In CVS ist das die Vorgabe, + wenn Sie kein Tag oder eine Revision angeben. Außer + Sie wollen einen -STABLE Rechner auf -CURRENT aktualisieren, + ist es nicht ratsam, die -CURRENT + Quellen auf einem -STABLE Rechner einzuspielen. + + + - - Der Zweig, auf dem sicherheitsrelevante oder kritische - Fehlerbehebungen für FreeBSD 5.0 durchgeführt - werden. - - + + RELENG_5_1 - - RELENG_4 + + Der Zweig, auf dem sicherheitsrelevante oder kritische + Fehlerbehebungen für FreeBSD 5.1 durchgeführt + werden. + + - - Der FreeBSD 4.X Entwicklungszweig, der auch &os.stable; - genannt wird. - - + + RELENG_5_0 - - RELENG_4_8 + + Der Zweig, auf dem sicherheitsrelevante oder kritische + Fehlerbehebungen für FreeBSD 5.0 durchgeführt + werden. + + - - Der Zweig, auf dem sicherheitsrelevante oder kritische - Fehlerbehebungen für FreeBSD 4.8 durchgeführt - werden. - - + + RELENG_4 - - RELENG_4_7 + + Der FreeBSD 4.X Entwicklungszweig, der auch &os.stable; + genannt wird. + + - - Der Zweig, auf dem sicherheitsrelevante oder kritische - Fehlerbehebungen für FreeBSD 4.7 durchgeführt - werden. - - + + RELENG_4_8 - - RELENG_4_6 + + Der Zweig, auf dem sicherheitsrelevante oder kritische + Fehlerbehebungen für FreeBSD 4.8 durchgeführt + werden. + + - - Der Zweig, auf dem sicherheitsrelevante oder kritische - Fehlerbehebungen für FreeBSD 4.6 und - FreeBSD 4.6.2 durchgeführt werden. - - + + RELENG_4_7 - - RELENG_4_5 + + Der Zweig, auf dem sicherheitsrelevante oder kritische + Fehlerbehebungen für FreeBSD 4.7 durchgeführt + werden. + + - - Der Zweig, auf dem sicherheitsrelevante oder kritische - Fehlerbehebungen für FreeBSD 4.5 durchgeführt - werden. - - + + RELENG_4_6 - - RELENG_4_4 + + Der Zweig, auf dem sicherheitsrelevante oder kritische + Fehlerbehebungen für FreeBSD 4.6 und + FreeBSD 4.6.2 durchgeführt werden. + + - - Der Zweig, auf dem sicherheitsrelevante oder kritische - Fehlerbehebungen für FreeBSD 4.4 durchgeführt - werden. - - + + RELENG_4_5 - - RELENG_4_3 + + Der Zweig, auf dem sicherheitsrelevante oder kritische + Fehlerbehebungen für FreeBSD 4.5 durchgeführt + werden. + + - - Der Zweig, auf dem sicherheitsrelevante oder kritische - Fehlerbehebungen für FreeBSD 4.3 durchgeführt - werden. - - + + RELENG_4_4 - - RELENG_3 + + Der Zweig, auf dem sicherheitsrelevante oder kritische + Fehlerbehebungen für FreeBSD 4.4 durchgeführt + werden. + + - - Der FreeBSD-3.X Entwicklungszweig, der auch 3.X-STABLE - genannt wird. - - + + RELENG_4_3 - - RELENG_2_2 + + Der Zweig, auf dem sicherheitsrelevante oder kritische + Fehlerbehebungen für FreeBSD 4.3 durchgeführt + werden. + + - - Der FreeBSD-2.2.X Entwicklungszweig, der auch 2.2-STABLE - genannt wird. - - + + RELENG_3 - Weitere Revision-Tags sind: + + Der FreeBSD-3.X Entwicklungszweig, der auch 3.X-STABLE + genannt wird. + + - - - RELENG_4_8_0_RELEASE + + RELENG_2_2 - - FreeBSD 4.8 - - + + Der FreeBSD-2.2.X Entwicklungszweig, der auch 2.2-STABLE + genannt wird. + + + - - RELENG_5_0_0_RELEASE + + Tags für Releases - - FreeBSD 5.0 - - + Diese Tags geben den Zeitpunkt an, an dem eine bestimme + FreeBSD-Version veröffentlicht wurde. Sie gelten + für die Quellbäume src/, + ports/, doc/ + und www/. - - RELENG_4_7_0_RELEASE + + + RELENG_5_1_0_RELEASE - - FreeBSD 4.7 - - + + FreeBSD 5.1 + + - - RELENG_4_6_2_RELEASE + + RELENG_4_8_0_RELEASE - - FreeBSD 4.6.2. - - + + FreeBSD 4.8 + + - - RELENG_4_6_1_RELEASE + + RELENG_5_0_0_RELEASE - - FreeBSD 4.6.1. - - + + FreeBSD 5.0 + + - - RELENG_4_6_0_RELEASE + + RELENG_4_7_0_RELEASE - - FreeBSD 4.6. - - + + FreeBSD 4.7 + + - - RELENG_4_5_0_RELEASE + + RELENG_4_6_2_RELEASE - - FreeBSD 4.5. - - + + FreeBSD 4.6.2 + + - - RELENG_4_4_0_RELEASE + + RELENG_4_6_1_RELEASE - - FreeBSD 4.4. - - + + FreeBSD 4.6.1 + + - - RELENG_4_3_0_RELEASE + + RELENG_4_6_0_RELEASE - - FreeBSD 4.3. - - + + FreeBSD 4.6 + + - - RELENG_4_2_0_RELEASE + + RELENG_4_5_0_RELEASE - - FreeBSD 4.2. - - + + FreeBSD 4.5 + + - - RELENG_4_1_1_RELEASE + + RELENG_4_4_0_RELEASE - - FreeBSD 4.1.1. - - + + FreeBSD 4.4 + + - - RELENG_4_1_0_RELEASE + + RELENG_4_3_0_RELEASE - - FreeBSD 4.1. - - + + FreeBSD 4.3 + + - - RELENG_4_0_0_RELEASE + + RELENG_4_2_0_RELEASE - - FreeBSD 4.0. - - + + FreeBSD 4.2 + + - - RELENG_3_5_0_RELEASE + + RELENG_4_1_1_RELEASE - - FreeBSD-3.5. - - + + FreeBSD 4.1.1 + + - - RELENG_3_4_0_RELEASE + + RELENG_4_1_0_RELEASE - - FreeBSD-3.4. - - + + FreeBSD 4.1 + + - - RELENG_3_3_0_RELEASE + + RELENG_4_0_0_RELEASE - - FreeBSD-3.3. - - + + FreeBSD 4.0 + + - - RELENG_3_2_0_RELEASE + + RELENG_3_5_0_RELEASE - - FreeBSD-3.2. - - + + FreeBSD-3.5 + + - - RELENG_3_1_0_RELEASE + + RELENG_3_4_0_RELEASE - - FreeBSD-3.1. - - + + FreeBSD-3.4 + + - - RELENG_3_0_0_RELEASE + + RELENG_3_3_0_RELEASE - - FreeBSD-3.0. - - + + FreeBSD-3.3 + + - - RELENG_2_2_8_RELEASE + + RELENG_3_2_0_RELEASE - - FreeBSD-2.2.8. - - + + FreeBSD-3.2 + + - - RELENG_2_2_7_RELEASE + + RELENG_3_1_0_RELEASE - - FreeBSD-2.2.7. - - + + FreeBSD-3.1 + + - - RELENG_2_2_6_RELEASE + + RELENG_3_0_0_RELEASE - - FreeBSD-2.2.6. - - + + FreeBSD-3.0 + + - - RELENG_2_2_5_RELEASE + + RELENG_2_2_8_RELEASE - - FreeBSD-2.2.5. - - + + FreeBSD-2.2.8 + + - - RELENG_2_2_2_RELEASE + + RELENG_2_2_7_RELEASE - - FreeBSD-2.2.2. - - + + FreeBSD-2.2.7 + + - - RELENG_2_2_1_RELEASE + + RELENG_2_2_6_RELEASE - - FreeBSD-2.2.1. - - + + FreeBSD-2.2.6 + + - - RELENG_2_2_0_RELEASE + + RELENG_2_2_5_RELEASE - - FreeBSD-2.2.0. - - - + + FreeBSD-2.2.5 + + + + + RELENG_2_2_2_RELEASE + + + FreeBSD-2.2.2 + + + + + RELENG_2_2_1_RELEASE + + + FreeBSD-2.2.1 + + + + + RELENG_2_2_0_RELEASE + + + FreeBSD-2.2.0 + + + + - AFS Server + AFS-Server Die folgende Aufzählung enthält AFS Server für FreeBSD: Schweden Die Dateien sind unter dem Pfad /afs/stacken.kth.se/ftp/pub/FreeBSD/ erreichbar. stacken.kth.se # Stacken Computer Club, KTH, Sweden 130.237.234.43 #hot.stacken.kth.se 130.237.237.230 #fishburger.stacken.kth.se 130.237.234.3 #milko.stacken.kth.se Betreuer ftp@stacken.kth.se - rsync Server + rsync-Server rsync wird ähnlich wie - rcp verwendet, besitzt aber mehr Optionen und + &man.rcp.1; verwendet, besitzt aber mehr Optionen und verwendet das rsync remote-update Protokoll, das nur geänderte Dateien überträgt und damit viel schneller als ein normaler Kopiervorgang ist. rsync ist sehr nützlich, wenn Sie einen FreeBSD FTP-Spiegel oder einen CVS-Spiegel betreiben. Das Programm ist für viele Betriebssysteme erhältlich, mit FreeBSD können Sie den Port net/rsync oder das fertige Paket benutzen. Die folgenden Server stellen FreeBSD über das rsync Protokoll zur Verfügung: Deutschland rsync://grappa.unix-ag.uni-kl.de/ Verfügbare Sammlungen: freebsd-cvs: Das vollständige CVS-Repository von &os;. Neben anderen Repositories spiegelt diese Maschine auch die Repositories der NetBSD- und OpenBSD-Projekte. Großbritannien rsync://rsync.mirror.ac.uk/ Verfügbare Sammlungen: ftp.freebsd.org: Kompletter Spiegel des FreeBSD FTP Servers. Niederlande rsync://ftp.nl.FreeBSD.org/ Verfügbare Sammlungen: vol/3/freebsd-core: Kompletter Spiegel des FreeBSD FTP Servers. Tschechische Republik rsync://ftp.cz.FreeBSD.org/ Verfügbare Sammlungen: ftp: Unvollständiger Spiegel des FreeBSD FTP Servers. FreeBSD: Vollständiger Spiegel des FreeBSD FTP Servers. USA rsync://ftp-master.FreeBSD.org/ Dieser Server darf nur von primären Spiegeln benutzt werden. Verfügbare Sammlungen: FreeBSD: Das Hauptarchiv des FreeBSD FTP Servers. acl: Die primäre ACL-Liste. rsync://ftp13.FreeBSD.org/ Verfügbare Sammlungen: FreeBSD: Kompletter Spiegel des FreeBSD FTP Servers.
diff --git a/de_DE.ISO8859-1/books/handbook/pgpkeys/chapter.sgml b/de_DE.ISO8859-1/books/handbook/pgpkeys/chapter.sgml index 40931abbb3..cdb88baf6f 100644 --- a/de_DE.ISO8859-1/books/handbook/pgpkeys/chapter.sgml +++ b/de_DE.ISO8859-1/books/handbook/pgpkeys/chapter.sgml @@ -1,653 +1,673 @@ PGP Schlüssel PGP Schlüssel Verwenden Sie die nachstehenden Schlüssel, wenn Sie eine Signatur überprüfen oder eine verschlüsselte E-Mail an einen Ansprechpartner oder einen Entwickler schicken wollen. Den vollständigen Schlüsselring der Benutzer von FreeBSD.org finden Sie unter http://www.FreeBSD.org/doc/pgpkeyring.txt. Ansprechpartner &a.security-officer; &pgpkey.security-officer; &a.core-secretary; &pgpkey.core-secretary; Mitglieder des Core Teams &a.imp; &pgpkey.imp; &a.kuriyama; &pgpkey.kuriyama; &a.murray; &pgpkey.murray; &a.peter; &pgpkey.peter; &a.wes; &pgpkey.wes; Entwickler &a.will; &pgpkey.will; &a.asami; &pgpkey.asami; &a.dougb; &pgpkey.dougb; &a.tobez; &pgpkey.tobez; &a.mbr; &pgpkey.mbr; &a.harti; &pgpkey.harti; &a.obraun; &pgpkey.obraun; &a.jmb; &pgpkey.jmb; &a.brueffer; &pgpkey.brueffer; &a.wilko; &pgpkey.wilko; &a.jon; &pgpkey.jon; &a.luoqi; &pgpkey.luoqi; &a.ache; &pgpkey.ache; &a.seanc; &pgpkey.seanc; &a.cjh; &pgpkey.cjh; &a.cjc; &pgpkey.cjc; &a.marcus; &pgpkey.marcus; &a.nik; &pgpkey.nik; &a.ceri; &pgpkey.ceri; &a.brooks; &pgpkey.brooks; &a.bsd; &pgpkey.bsd; &a.dd; &pgpkey.dd; &a.ue; &pgpkey.ue; &a.ru; &pgpkey.ru; &a.jedgar; &pgpkey.jedgar; &a.green; &pgpkey.green; &a.lioux; &pgpkey.lioux; &a.fanf; &pgpkey.fanf; &a.blackend; &pgpkey.blackend; &a.petef; &pgpkey.petef; &a.billf; &pgpkey.billf; &a.patrick; &pgpkey.patrick; &a.gioria; &pgpkey.gioria; &a.jmg; &pgpkey.jmg; &a.dannyboy; &pgpkey.dannyboy; &a.jhay; &pgpkey.jhay; &a.sheldonh; &pgpkey.sheldonh; &a.mikeh; &pgpkey.mikeh; &a.ghelmer; &pgpkey.ghelmer; &a.mux; &pgpkey.mux; &a.mich; &pgpkey.mich; &a.foxfair; &pgpkey.foxfair; &a.jkh; &pgpkey.jkh; &a.trevor; &pgpkey.trevor; &a.phk; &pgpkey.phk; &a.joe; &pgpkey.joe; &a.kris; &pgpkey.kris; &a.keramida; &pgpkey.keramida; &a.fjoe; &pgpkey.fjoe; &a.andreas; &pgpkey.andreas; &a.maxim; &pgpkey.maxim; &a.jkoshy; &pgpkey.jkoshy; &a.rushani; &pgpkey.rushani; &a.alex; &pgpkey.alex; + + &a.erwin; + &pgpkey.erwin; + + &a.leeym; &pgpkey.leeym; &a.netchild; &pgpkey.netchild; &a.ijliao; &pgpkey.ijliao; &a.clive; &pgpkey.clive; &a.arved; &pgpkey.arved; &a.scottl; &pgpkey.scottl; &a.bmah; &pgpkey.bmah; &a.mtm; &pgpkey.mtm; &a.dwmalone; &pgpkey.dwmalone; &a.matusita; &pgpkey.matusita; &a.ken; &pgpkey.ken; &a.dinoex; &pgpkey.dinoex; &a.sanpei; &pgpkey.sanpei; &a.jim; &pgpkey.jim; &a.marcel; &pgpkey.marcel; &a.tmm; &pgpkey.tmm; &a.rich; &pgpkey.rich; &a.knu; &pgpkey.knu; &a.max; &pgpkey.max; &a.yoichi; &pgpkey.yoichi; + + &a.bland; + &pgpkey.bland; + + + + &a.simon; + &pgpkey.simon; + + &a.anders; &pgpkey.anders; &a.obrien; &pgpkey.obrien; &a.mp; &pgpkey.mp; &a.roam; &pgpkey.roam; &a.pirzyk; &pgpkey.pirzyk; &a.jdp; &pgpkey.jdp; + + &a.krion; + &pgpkey.krion; + + &a.markp; &pgpkey.markp; &a.thomas; &pgpkey.thomas; &a.dfr; &pgpkey.dfr; &a.trhodes; &pgpkey.trhodes; &a.benno; &pgpkey.benno; &a.paul; &pgpkey.paul; &a.roberto; &pgpkey.roberto; &a.guido; &pgpkey.guido; &a.hrs; &pgpkey.hrs; &a.wosch; &pgpkey.wosch; &a.das; &pgpkey.das; &a.schweikh; &pgpkey.schweikh; &a.gshapiro; &pgpkey.gshapiro; &a.arun; &pgpkey.arun; &a.vanilla; &pgpkey.vanilla; &a.cshumway; &pgpkey.cshumway; &a.demon; &pgpkey.demon; &a.jesper; &pgpkey.jesper; &a.scop; &pgpkey.scop; &a.ben; &pgpkey.ben; &a.des; &pgpkey.des; &a.sobomax; &pgpkey.sobomax; &a.dcs; &pgpkey.dcs; &a.brian; &pgpkey.brian; &a.nsouch; &pgpkey.nsouch; &a.gsutter; &pgpkey.gsutter; &a.nyan; &pgpkey.nyan; &a.mi; &pgpkey.mi; &a.gordon; &pgpkey.gordon; &a.nectar; &pgpkey.nectar; &a.adamw; &pgpkey.adamw; &a.nate; &pgpkey.nate; &a.wollman; &pgpkey.wollman; &a.joerg; &pgpkey.joerg; &a.phantom; &pgpkey.phantom; diff --git a/de_DE.ISO8859-1/books/handbook/ports/chapter.sgml b/de_DE.ISO8859-1/books/handbook/ports/chapter.sgml index 0eb12fc4cd..e6d3510433 100644 --- a/de_DE.ISO8859-1/books/handbook/ports/chapter.sgml +++ b/de_DE.ISO8859-1/books/handbook/ports/chapter.sgml @@ -1,1257 +1,1266 @@ Uwe Pierau Übersetzt von Installieren von Anwendungen: Pakete und Ports Übersicht Ports Pakete FreeBSD enthält sehr viele Systemwerkzeuge, die Teil des Basissystems sind. Allerdings sind Sie früher oder später auf Software Dritter angewiesen, damit Sie bestimmte Arbeiten durchführen können. Um diese Software zu installieren, stellt FreeBSD zwei, sich ergänzende, Methoden zur Verfügung: Die Ports-Sammlung und binäre Softwarepakete. Sie können beide Methoden benutzen, um Ihre Lieblingsanwendungen von lokalen Medien oder über das Netzwerk zu installieren. Nachdem Sie dieses Kapitel durchgearbeitet haben, werden Sie wissen wie Sie binäre Softwarepakete installieren, wie Sie Software Dritter mit der Ports-Sammlung bauen, wie Sie zuvor installierte Pakete oder Ports von einem System entfernen und wie Sie die Voreinstellungen der Ports-Sammlung überschreiben. Installation von Software Wenn Sie schon einmal ein &unix; System benutzt haben, werden Sie wissen, dass zusätzliche Software meist wie folgt installiert wird: Download der Software, die als Quelltext oder im Binärformat vorliegen kann. Auspacken der Software, die typischerweise ein mit &man.compress.1;, &man.gzip.1; oder &man.bzip2.1; komprimiertes Tar-Archiv enthält. Durchsuchen der Dokumentation, die sich meist in Dateien wie INSTALL, README oder mehreren Dateien im Verzeichnis doc/ befindet, nach Anweisungen, wie die Software zu installieren ist. Kompilieren der Software wenn sie als Quelltext vorliegt. Dazu müssen Sie vielleicht das Makefile anpassen, oder configure laufen lassen, oder andere Arbeiten durchführen. Testen und installieren der Software. Das beschreibt aber nur den optimalen Fall. Wenn Sie Software installieren, die nicht speziell für FreeBSD geschrieben wurde, müssen Sie vielleicht sogar den Quelltext anpassen, damit die Software funktioniert. Wenn Sie unbedingt wollen, können Sie mit FreeBSD Software nach der althergebrachten Methode installieren. Mit Paketen oder Ports bietet Ihnen FreeBSD allerdings zwei Methoden an, die Ihnen sehr viel Zeit sparen können. Zurzeit werden über &os.numports; Anwendungen Dritter über diese Methoden zur Verfügung gestellt. Das FreeBSD Paket einer Anwendung besteht aus einer einzigen Datei, die Sie sich herunterladen müssen. Das Paket enthält schon übersetzte Kommandos der Anwendung, sowie zusätzliche Konfigurationsdateien oder Dokumentation. Zur Handhabung der Pakete stellt FreeBSD Kommandos wie &man.pkg.add.1;, - &man.pkg.delete.1; oder &man.pkg.info.1; zur Verfügung. - - Mit diesem System können neue Anwendungen mit einem + &man.pkg.delete.1; oder &man.pkg.info.1; zur Verfügung. + Mit diesem System können neue Anwendungen mit einem Kommando, pkg_add, installiert werden. Der FreeBSD Port einer Anwendung ist eine Sammlung von Dateien, die das Kompilieren der Quelltexte einer Anwendung automatisieren. Die Dateien eines Ports führen für Sie alle oben aufgeführten Schritte zum Installieren einer Anwendung durch. Mit einigen wenigen Kommandos wird der Quellcode der Anwendung automatisch heruntergeladen, ausgepackt, gepatcht, übersetzt und installiert. Tatsächlich kann das Portsystem auch dazu benutzt werden, Pakete zu generieren, die Sie mit den gleich beschriebenen Kommandos, wie pkg_add, manipulieren können. Pakete und Ports beachten Abhängigkeiten zwischen Anwendungen. Angenommen, Sie wollen eine Anwendung installieren, die von einer Bibliothek abhängt und die Anwendung wie die Bibliothek sind als Paket oder Port für FreeBSD verfügbar. Wenn Sie pkg_add oder das Portsystem benutzen, um die Anwendung zu installieren, werden Sie bemerken, dass die Bibliothek zuerst installiert wird, wenn sie nicht schon vorher installiert war. Sie werden sich fragen, warum FreeBSD Pakete und Ports unterstützt, wo doch beide Methoden fast gleiches leisten. Beide Methoden haben ihre Stärken und welche Sie einsetzen, hängt letztlich von Ihren Vorlieben ab. Vorteile von Paketen Das komprimierte Paket einer Anwendung ist normalerweise kleiner als das komprimierte Archiv der Quelltexte. Pakete müssen nicht mehr kompiliert werden. Dies ist ein Vorteil, wenn Sie große Pakete, wie Mozilla, KDE oder GNOME auf langsamen Maschinen installieren. Wenn Sie Pakete verwenden, brauchen Sie nicht zu verstehen, wie Sie Software unter FreeBSD kompilieren. Vorteile von Ports Da die Pakete auf möglichst vielen System laufen sollen, werden Optionen beim Übersetzen zurückhaltend gesetzt. Wenn Sie eine Anwendung über die Ports installieren, können Sie die Angabe der Optionen optimieren. Zum Beispiel - können Sie spezifischen Code für Pentium III oder + können Sie spezifischen Code für Pentium IV oder Athlon Prozessoren erzeugen. Die Eigenschaften einiger Anwendungen werden über Optionen zum Zeitpunkt des Übersetzens festgelegt. Apache kann zum Beispiel über viele eingebaute Optionen konfiguriert werden. Wenn Sie das Portsystem benutzen, können Sie die Vorgaben für die Optionen überschreiben. Für einige Fälle existieren verschiedene Pakete einer Anwendung, die beim Übersetzen unterschiedlich konfiguriert wurden. Für Ghostscript gibt es ein ghostscript-Paket und ein ghostscript-nox11-Paket, die sich durch die X11 Unterstützung unterscheiden. Diese grobe Unterscheidung ist mit dem Paketsystem möglich, wird aber schnell unhandlich, wenn eine Anwendung mehr als ein oder zwei Optionen zum Zeitpunkt des Übersetzens besitzt. Die Lizenzbestimmungen mancher Software verbietet ein Verbreiten in binärer Form. Diese Software muss als Quelltext ausgeliefert werden. Einige Leute trauen binären Distributionen nicht. Wenn Sie den Quelltext besitzen, können Sie sich diesen (zumindest theoretisch) durchlesen und nach möglichen Problemen durchsuchen. Wenn Sie eigene Anpassungen besitzen, benötigen Sie den Quelltext, um diese anzuwenden. Manch einer besitzt gerne den Quelltext, um ihn zu lesen, wenn es einmal langweilig ist, ihn zu hacken, oder sich einfach ein paar Sachen abzugucken (natürlich nur, wenn es die Lizenzbestimmungen erlauben). Wenn Sie über aktualisierte Ports informiert sein wollen, lesen Sie bitte die Mailinglisten &a.ports; und &a.ports-bugs;. Der Rest dieses Kapitels beschreibt, wie Sie Software Dritter mit Paketen oder Ports auf einem FreeBSD System installieren und verwalten. Suchen einer Anwendung Bevor Sie eine Anwendung installieren, müssen Sie deren Art und Namen kennen. Die Anzahl der nach FreeBSD portierten Anwendungen steigt ständig. Zum Glück gibt es einige Wege, die richtige zu finden. Eine aktuelle Liste verfügbarer Anwendungen, die sich auch durchsuchen lässt, finden Sie unter http://www.FreeBSD.org/ports/. Die Anwendungen sind in Kategorien unterteilt und Sie können sich alle Anwendungen einer Kategorie anzeigen lassen. Wenn Sie den Namen der Anwendung kennen, können Sie natürlich auch direkt nach dem Namen suchen. FreshPorts FreshPorts, das von Dan Langille gepflegt wird, erreichen Sie unter . FreshPorts verfolgt Änderungen an Anwendungen aus den Ports. Mit FreshPorts können Sie ein oder mehrere Ports beobachten und sich eine E-Mail schicken lassen, wenn ein Port aktualisiert wird. FreshMeat Wenn Sie den Namen einer Anwendung nicht kennen, versuchen Sie eine Webseite wie FreshMeat (), um eine passende Anwendung zu finden. Schauen Sie dann auf der FreeBSD Webseite nach, ob die Anwendung schon portiert wurde. Chern Lee Beigesteuert von Benutzen des Paketsystems Installieren eines Pakets Pakete installieren pkg_add Mit &man.pkg.add.1; können Sie ein FreeBSD Paket von einer lokalen Datei oder über das Netzwerk installieren. Download vor Installation eines Pakets &prompt.root; ftp -a ftp2.FreeBSD.org Connected to ftp2.FreeBSD.org. 220 ftp2.FreeBSD.org FTP server (Version 6.00LS) ready. 331 Guest login ok, send your email address as password. 230- 230- This machine is in Vienna, VA, USA, hosted by Verio. 230- Questions? E-mail freebsd@vienna.verio.net. 230- 230- 230 Guest login ok, access restrictions apply. Remote system type is UNIX. Using binary mode to transfer files. ftp> cd /pub/FreeBSD/ports/packages/sysutils/ 250 CWD command successful. ftp> get lsof-4.56.4.tgz local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz 200 PORT command successful. 150 Opening BINARY mode data connection for 'lsof-4.56.4.tgz' (92375 bytes). 100% |**************************************************| 92375 00:00 ETA 226 Transfer complete. 92375 bytes received in 5.60 seconds (16.11 KB/s) ftp> exit &prompt.root; pkg_add lsof-4.56.4.tgz Wenn Sie die Pakete nicht lokal vorliegen haben (zum Beispiel auf den FreeBSD CD-ROMs), ist es wahrscheinlich einfacher den Schalter von &man.pkg.add.1; zu verwenden. Das Werkzeug bestimmt dann automatisch das nötige Objektformat und die richtige Version des Pakets, lädt dieses dann von einem FTP-Server und installiert das Paket. pkg_add &prompt.root; pkg_add -r lsof Das obige Beispiel würde ohne weitere Interaktion das richtige Paket herunterladen und installieren. Die Dateien werden mit &man.fetch.3;, das Umgebungsvariablen wie FTP_PASSIVE_MODE, FTP_PROXY und FTP_PASSWORD berücksichtigt, heruntergeladen. Wenn Sie durch eine Firewall geschützt werden, müssen Sie vielleicht eine oder mehrere dieser Umgebungsvariablen setzen oder einen FTP oder HTTP Proxy verwenden. Eine Liste der unterstützten Umgebungsvariablen finden Sie in &man.fetch.3;. Beachten Sie, dass im obigen Beispiel lsof anstelle von lsof-4.56.4 verwendet wird. Wenn Sie &man.pkg.add.1; zum Herunterladen eines Pakets verwenden, darf die Versionsnummer des Pakets nicht angegeben werden, da automatisch die neuste Version der Anwendung geholt wird. - Pakete werden im .tgz Format ausgeliefert. - Sie finden Sie unter + Pakete werden im .tgz- und + .tbz-Format ausgeliefert. Sie finden Sie unter oder auf der FreeBSD CD-ROM Distribution. Jede CD der FreeBSD Distribution (oder des PowerPaks) enthält Pakete im Verzeichnis /packages. Die Struktur des Paketbaums entspricht dem /usr/ports Baum. Jede Kategorie besitzt ein eigenes Verzeichnis und alle Pakete befinden sich im Verzeichnis All. Die Verzeichnisstruktur des Paketbaums ist ein Abbild der Ports, da beide Systeme eng zusammenarbeiten. Verwalten von Paketen Pakete verwalten &man.pkg.info.1; zeigt alle installierten Pakete und deren Beschreibung an. pkg_info &prompt.root; pkg_info cvsup-16.1 A general network file distribution system optimized for CV docbook-1.2 Meta-port for the different versions of the DocBook DTD ... &man.pkg.version.1; vergleicht die Version installierter Pakete mit der Version aus der Ports-Sammlung. pkg_version &prompt.root; pkg_version cvsup = docbook = ... Die Symbole in der zweiten Spalte zeigen das Alter des Pakets im Vergleich zu der lokalen Version aus der Ports-Sammlung an. Symbol Bedeutung = Die Version des installierten Paketes stimmt mit der Version aus der lokalen Ports-Sammlung überein. < Die installierte Version ist älter als die der verfügbaren Version aus der Ports-Sammlung. > Die installierte Version ist neuer als die aus der Ports-Sammlung (Eventuell ist die lokale Ports-Sammlung veraltet). ? Das installierte Paket konnte in der Ports-Sammlung nicht gefunden werden. Das kann dadurch hervorgerufen werden, dass ein installierter Port aus der Ports-Sammlung entfernt wurde oder einen neuen Namen erhalten hat. * In der Ports-Sammlung befinden sich mehrere Versionen der Anwendung. Entfernen eines Pakets pkg_delete Pakete entfernen Um ein zuvor installiertes Paket zu entfernen, benutzen Sie das Werkzeug &man.pkg.delete.1;. &prompt.root; pkg_delete xchat-1.7.1 Verschiedenes Informationen über alle installierte Pakete werden in /var/db/pkg abgelegt. Das Verzeichnis enthält Dateien, in denen sich die Beschreibungen der Pakete und Listen von Dateien, die zu einem Paket gehören, befinden. Benutzen der Ports-Sammlung Die folgenden Abschnitte stellen die grundlegenden Anweisungen vor, um Anwendungen aus der Ports-Sammlung auf Ihren Rechner zu installieren oder zu löschen. Installation der Ports-Sammlung Bevor Sie einen Port installieren können, müssen Sie zuerst die Ports-Sammlung installieren, die aus Makefiles, Patches und Beschreibungen besteht. Die Ports-Sammlung wird für gewöhnlich unter /usr/ports installiert. Bei der FreeBSD Installation hatten Sie in Sysinstall die Möglichkeit, die Ports-Sammlung zu installieren. Wenn Sie die Sammlung damals nicht installiert haben, können Sie das mit den folgenden Anweisungen nachholen: Installieren mit <application>Sysinstall</application> Sie können die Ports-Sammlung nachträglich mit sysinstall installieren. Führen Sie als root /stand/sysinstall aus: &prompt.root; /stand/sysinstall Wählen Sie den Punkt Configure aus und drücken Sie Enter. Wählen Sie dann Distributions aus und drücken Sie Enter. In diesem Menü wählen Sie ports aus und drücken die Leertaste. Danach wählen Sie Exit aus und drücken Enter. Legen Sie nun ein geeignetes Installationsmedium, wie CD-ROM oder FTP, fest. Wählen Sie nun Exit aus und drücken Enter. Verlassen Sie sysinstall mit X. Alternativ können Sie die Ports-Sammlung auch mit CVSup installieren und aktualisieren. Ein Beispiel für die Konfiguration von CVSup finden Sie in /usr/share/examples/cvsup/ports-supfile. Weitere Informationen über CVSup und dessen Konfiguration finden Sie in Benutzen von CVSup (). Installieren mit <application>CVSup</application> Dies ist eine schnelle Methode um die Ports-Sammlung zu aktualisieren. Installieren Sie den net/cvsup Port. Weitere Informationen finden Sie in Installation von CVSup (). Kopieren Sie als root /usr/share/examples/cvsup/ports-supfile an einen neuen Ort, beispielsweise nach /root oder in Ihr Heimatverzeichnis. Editieren Sie die Kopie von ports-supfile. Ersetzen Sie CHANGE_THIS.FreeBSD.org durch einen CVSup-Server in Ihrer Nähe. Eine vollständige Liste der CVSup-Spiegel finden Sie in CVSup Spiegel (). Führen Sie cvsup aus: &prompt.root; cvsup -g -L 2 /root/ports-supfile Mit diesem Kommando können Sie später die Ports-Sammlung aktualisieren. Die installierten Ports werden mit diesem Kommando nicht aktualisiert. Ports installieren Ports installieren Was ist mit einem Gerüst im Zusammenhang mit der Ports-Sammlung gemeint? In aller Kürze: ein Gerüst eines Ports ist ein minimaler Satz von Dateien, mit denen das FreeBSD System eine Anwendung sauber übersetzen und installieren kann. Ein jeder Port beinhaltet: Eine Datei Makefile. Das Makefile enthält verschiedene Anweisungen, die spezifizieren, wie eine Anwendung kompiliert wird und wo sie auf Ihrem System installiert werden sollte. Eine Datei distinfo. Diese enthält Informationen, welche Dateien heruntergeladen werden müssen, sowie MD5-Prüfsummen, um sicher zu gehen, dass diese Dateien während des Herunterladens nicht beschädigt wurden. Ein files Verzeichnis. Hierin liegen Patches, welche das Übersetzen und Installieren der Anwendung ermöglichen. Patches sind im Wesentlichen kleine Dateien, die Änderungen an speziellen Dateien spezifizieren. Sie liegen als reiner Text vor und sagen ungefähr: Lösche Zeile 10 oder Ändere Zeile 26 zu .... Patches sind auch bekannt unter dem Namen diffs, weil Sie mit dem Programm &man.diff.1; erstellt werden. Dieses Verzeichnis kann auch noch andere Dateien enthalten, welche zum Bauen des Ports benutzt werden. Eine Datei pkg-descr. Eine ausführlichere, oft mehrzeilige Beschreibung der Anwendung. Eine Datei pkg-plist. Das ist eine Liste aller Dateien, die durch diesen Port installiert werden. Außerdem sind hier Informationen enthalten, die zum Entfernen des Ports benötigt werden. Einige Ports besitzen noch andere Dateien, wie pkg-message, die vom Portsystem benutzt werden, um spezielle Situationen zu handhaben. Wenn Sie mehr über diese Dateien oder das Port-System erfahren sollen, lesen Sie bitte im FreeBSD FreeBSD Porter's Handbook weiter. Nun haben Sie genug Hintergrund Informationen über die Ports-Sammlung und Sie können Ihren ersten Port installieren. Es gibt dazu zwei Möglichkeiten, die im Folgenden erläutert werden. Bevor Sie damit beginnen, müssen Sie sich natürlich einen Port zum Installieren aussuchen. Sie können dazu mehrere Wege gehen, als einfachste Methode gibt es die Liste aller Ports auf dem FreeBSD Web-Server. Sie können dort suchen oder in der Liste schmökern. Jeder Port enthält außerdem eine Beschreibung, so dass Sie sich vor der Entscheidung, welchen Port Sie installieren wollen, über den Port informieren können. Sie können einen Port auch mit &man.whereis.1; suchen. Geben Sie einfach whereis Datei ein, wobei Datei der Name des Programms ist, das Sie suchen: &prompt.root; whereis lsof lsof: /usr/ports/sysutils/lsof Damit haben wir herausgefunden, dass sich lsof, ein Systemwerkzeug, in /usr/ports/sysutils/lsof befindet. Ein weiterer Weg, einen bestimmten Port zu finden, ist es, die eingebaute Suchfunktion der Ports-Sammlung zu benutzen. Dazu müssen Sie im Verzeichnis /usr/ports sein. Darin geben Sie make search name=Anwendungsname ein, worin Anwendungsname der Name der von Ihnen gesuchten Anwendung ist. Wenn Sie zum Beispiel nach lsof suchen: &prompt.root; cd /usr/ports &prompt.root; make search name=lsof Port: lsof-4.56.4 Path: /usr/ports/sysutils/lsof Info: Lists information about open files (similar to fstat(1)) Maint: obrien@FreeBSD.org Index: sysutils B-deps: R-deps: Der Teil der Ausgabe der Sie interessiert ist die Zeile, die mit Path: beginnt, weil sie Ihnen sagt, wo der Port zu finden ist. Die anderen Informationen werden zum Installieren des Ports nicht direkt benötigt, Sie brauchen sich darum jetzt nicht weiter zu kümmern. Mit make search key=Text können Sie erweiterte Suchen durchführen. Damit werden Portnamen, Kommentare, Beschreibungen und Abhängigkeiten nach Text durchsucht. Dies kann sehr nützlich sein, wenn Sie den Namen des Programms, nach dem Sie suchen, nicht kennen. In beiden Fällen wird Groß- und Kleinschreibung bei der Suche ignoriert. Die Suche nach LSOF wird dieselben Ergebnisse wie die Suche nach lsof liefern. Zum Installieren von Ports müssen Sie als Benutzer root angemeldet sein. Jetzt, wo Sie den gewünschten Port gefunden haben, kann es mit der eigentlichen Installation losgehen. Der Port enthält Anweisungen, wie der Quelltext zu bauen ist, enthält aber nicht den Quelltext selbst. Den Quelltext erhalten Sie von einer CD-ROM oder aus dem Internet. Quelltexte werden in einem Format nach Wahl des jeweiligen Software-Autors ausgeliefert. Häufig ist dies ein gezipptes Tar-Archiv, aber es kann auch mit einem anderen Tool komprimiert oder gar nicht komprimiert sein. Der Quelltext, in welcher Form er auch immer vorliegen mag, wird Distfile genannt. Installation von einer CD-ROM Ports von CD-ROM installieren Die offiziellen FreeBSD CD-ROMs enthalten keine Distfiles mehr, da diese sehr viel Platz beanspruchen, der besser von vorkompilierten Paketen genutzt werden kann. Andere FreeBSD CD-ROMs, wie der FreeBSD PowerPak, enthalten Distfiles. Diese CD-ROMs können Sie über einen Händler wie FreeBSD Mall beziehen. Dieser Abschnitt geht davon aus, dass Sie eine solche CD-ROM Distribution besitzen. &prompt.root; cd /usr/ports/sysutils/lsof Im Verzeichnis lsof kann man das Gerüst erkennen. Der nächste Schritt ist das Übersetzen (auch Bauen genannt) des Ports. Dies wird durch Eingabe von make getan. Haben Sie das eingegeben, so werden Sie etwas lesen wie: &prompt.root; make >> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/. >> Attempting to fetch from file:/cdrom/ports/distfiles/. ===> Extracting for lsof-4.57 ... [Ausgabe des Auspackens weggelassen] ... >> Checksum OK for lsof_4.57D.freebsd.tar.gz. ===> Patching for lsof-4.57 ===> Applying FreeBSD patches for lsof-4.57 ===> Configuring for lsof-4.57 ... [configure-Ausgabe weggelassen] ... ===> Building for lsof-4.57 ... [Ausgabe der Übersetzung weggelassen] ... &prompt.root; Ist die Übersetzungsprozedur beendet, sind Sie wieder in der Kommandozeile und der nächste Schritt ist die Installation. Erweitern Sie dazu einfach die make-Kommandozeile um das Wort install: &prompt.root; make install ===> Installing for lsof-4.57 ... [Ausgabe der Installation weggelassen] ... ===> Generating temporary packing list ===> Compressing manual pages for lsof-4.57 ===> Registering installation for lsof-4.57 ===> SECURITY NOTE: This port has installed the following binaries which execute with increased privileges. &prompt.root; Wenn Sie wieder den Prompt haben, sollten Sie in der Lage sein, die gerade installierte Anwendung laufen zu lassen. Da lsof eine Anwendung ist, die mit erhöhten Rechten läuft, wird eine Sicherheitswarnung angezeigt. Sie sollten alle Warnungen während des Baus und der Installation eines Ports beachten. Sie können einen Schritt sparen, wenn Sie gleich make install anstelle von make und dem anschließenden make install eingeben. Um die Suche nach Kommandos zu beschleunigen, speichern einige Shells eine Liste der verfügbaren Kommandos in den durch die Umgebungsvariable PATH gegebenen Verzeichnissen. Nach der Installation eines Ports müssen Sie in einer solchen Shell vielleicht das Kommando rehash absetzen, um die neu installierten Kommandos benutzen zu können. Dies betrifft sowohl die beiden Shells des Basissystems, wie die tcsh, und Shells aus den Ports, zum Beispiel die shells/zsh. Beachten Sie bitte, dass die Lizenzen einiger Ports die Einbeziehung auf der CD-ROM verbieten. Das kann verschiedene Gründe haben. Beispielsweise eine Registrierung vor dem Herunterladen erforderlich oder die Weiterverteilung ist verboten. Wenn Sie einen Port installieren wollen, der nicht auf der CD-ROM enthalten ist, müssen Sie Online sein. Folgen Sie bitte den Anweisungen des nächsten Abschnitts. Ports vom Internet installieren Dieser Abschnitt setzt voraus, dass Sie eine Verbindung mit dem Internet haben. Haben Sie dies nicht, müssen Sie eine CD-ROM Installation durchführen oder das Distfile selber nach /usr/ports/distfiles stellen. Das Installieren eines Ports vom Internet wird genauso durchgeführt wie das Installieren von CD-ROM. Der einzige Unterschied zwischen beiden ist, dass das Distfile des Ports vom Internet heruntergeladen und nicht von der CD-ROM gelesen wird. Die durchgeführten Schritte sind identisch: &prompt.root; make install >> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/. >> Attempting to fetch from ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/. Receiving lsof_4.57D.freebsd.tar.gz (439860 bytes): 100% 439860 bytes transferred in 18.0 seconds (23.90 kBps) ===> Extracting for lsof-4.57 ... [Ausgabe des Auspackens weggelassen] ... >> Checksum OK for lsof_4.57D.freebsd.tar.gz. ===> Patching for lsof-4.57 ===> Applying FreeBSD patches for lsof-4.57 ===> Configuring for lsof-4.57 ... [configure-Ausgabe weggelassen] ... ===> Building for lsof-4.57 ... [Ausgabe der Übersetzung weggelassen] ... ===> Installing for lsof-4.57 ... [Ausgabe der Installation weggelassen] ... ===> Generating temporary packing list ===> Compressing manual pages for lsof-4.57 ===> Registering installation for lsof-4.57 ===> SECURITY NOTE: This port has installed the following binaries which execute with increased privileges. &prompt.root; Wie Sie sehen können, besteht der einzige Unterschied in der Zeile, die Ihnen sagt, woher das System den Quellcode holt. Die Ports-Sammlung benutzt zum Herunterladen von Dateien &man.fetch.3;, das Umgebungsvariablen wie FTP_PASSIVE_MODE, FTP_PROXY und FTP_PASSWORD berücksichtigt. Wenn Sie durch eine Firewall geschützt werden, müssen Sie vielleicht eine oder mehrere dieser Umgebungsvariablen setzen, oder einen FTP oder HTTP Proxy verwenden. Eine Liste der unterstützten Umgebungsvariablen finden Sie in &man.fetch.3;. Benutzer ohne eine ständige Internet-Verbindung werden das Kommando make fetch zu schätzen wissen. Das Kommando lädt alle benötigten Dateien eines Ports herunter. Sie können das Kommando im Verzeichnis /usr/ports laufen lassen. In diesem Fall werden alle Dateien heruntergeladen. Es ist auch möglich, make fetch nur in einem Teil des Baums, wie /usr/ports/net, aufzurufen. Die Dateien von allen abhängigen Ports werden mit diesem Kommando allerdings nicht heruntergeladen. Wenn Sie diese Dateien ebenfalls herunterladen wollen, ersetzen Sie im Kommando fetch durch fetch-recursive. Abhängig davon, in welchem Verzeichnis Sie make aufrufen, können Sie analog zu make fetch die Ports einer Kategorie oder alle Ports bauen. Beachten Sie allerdings, dass manche Ports nicht zusammen installiert werden können. Weiterhin gibt es Fälle, in denen zwei Ports unterschiedliche Inhalte in derselben Datei speichern wollen. Manchmal ist es erforderlich, die benötigten Dateien von einem anderen Ort als den im Port vorgesehenen herunterzuladen. Der Ort wird durch die Variable MASTER_SITES vorgegeben, die Sie wie folgt überschreiben können: &prompt.root; cd /usr/ports/directory &prompt.root; make MASTER_SITE_OVERRIDE= \ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch Im Beispiel wurde MASTER_SITES mit dem Wert ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ überschrieben. Einige Ports besitzen Optionen, mit denen Sie zusätzliche Funktionen oder Sicherheitsoptionen einstellen können (oder manchmal auch müssen). Zusätzliche Optionen können beispielsweise für net/mozilla, security/gpgme und mail/sylpheed-claws angegeben werden. Wenn ein Port über zusätzliche Optionen verfügt, werden diese beim Bau des Ports auf der Konsole ausgegeben. Vorgabe-Verzeichnisse ändern Manchmal ist es nützlich (oder erforderlich), in anderen Verzeichnissen zu arbeiten. Die Verzeichnisse können Sie mit den Variablen PORTSDIR und PREFIX einstellen. Die Variable PORTSDIR gibt das Bauverzeichnis an: &prompt.root; make PORTSDIR=/usr/home/example/ports install Dieses Kommando baut den Port in /usr/home/example/ports und installiert ihn unter /usr/local. Die Variable PREFIX legt das Installations-Verzeichnis fest: &prompt.root; make PREFIX=/usr/home/example/local install In diesem Beispiel wird der Port unter /usr/ports gebaut und nach /usr/home/example/local installiert. Sie können beide Variablen auch zusammen benutzen: &prompt.root; make PORTSDIR=../ports PREFIX=../local install Die Kommandozeile ist zu lang, um sie hier komplett wiederzugeben, aber Sie sollten die zugrunde liegende Idee erkennen. Probleme mit <command>imake</command> imake Einige Ports, welche &man.imake.1; (Teil des X Window Systems) benutzen, funktionieren nicht gut mit PREFIX und bestehen darauf, unter /usr/X11R6 installiert zu werden. In ähnlicher Weise verhalten sich einige Perl-Ports, die PREFIX ignorieren und sich in den Perl-Verzeichnisbaum installieren. Zu erreichen, dass solche Ports PREFIX beachten, ist schwierig oder sogar unmöglich. Entfernen installierter Ports Ports entfernen Da Sie nun wissen, wie man einen Port installiert, wollen Sie sicher auch wissen, wie man einen Port entfernt, für den Fall, dass Sie versehentlich einen falschen installiert haben. Nun wollen wir mal unser vorheriges Beispiel wieder löschen (für alle die nicht aufgepasst haben, das war lsof). Wie beim Installieren wechseln Sie zuerst in das Verzeichnis des Ports /usr/ports/sysutils/lsof. Nachdem Sie das Verzeichnis gewechselt haben, können Sie lsof mit make deinstall entfernen: &prompt.root; cd /usr/ports/sysutils/lsof &prompt.root; make deinstall ===> Deinstalling for lsof-4.57 Das war leicht, Sie haben lsof von Ihrem System entfernt. Möchten Sie den Port doch wieder neu installieren, geben Sie make reinstall im Verzeichnis /usr/ports/sysutils/lsof ein. make deinstall und make reinstall funktionieren nicht mehr, wenn Sie einmal make clean ausgeführt haben. Wenn Sie dennoch einen Port nach einem make clean entfernen möchten, benutzen Sie &man.pkg.delete.1; wie im Abschnitt Benutzen des Paketsystems beschrieben. Platzbedarf von Ports Ports Plattenplatz Die Ports-Sammlung kann sehr viel Plattenplatz verschlingen. Führen Sie nach dem Bau und der Installation eines Ports make clean aus, um die Arbeitsverzeichnisse zu löschen. Die Quelldateien im Verzeichnis distfiles können Sie ebenfalls löschen. Entfernen Sie nicht mehr benötigte Ports, um weiteren Plattenplatz freizugeben. Wenn Sie die Ports-Sammlung mit CVSup synchronisieren, können Sie in der Datei refuse Kategorien angeben, die nicht heruntergeladen werden sollen. - + Ports aktualisieren portupgrade Ports aktualisieren Es kann sehr mühsam sein, einen Port zu aktualisieren: Sie müssen den Port im Port-Verzeichnis bauen, den alten Port entfernen, den neuen Port installieren und anschließend aufräumen. Stellen Sie sich vor, Sie müssten fünf Ports auf diese Weise aktualisieren! Viele Systemadministratoren haben sich über dieses aufwändige Verfahren beklagt. Mittlerweile gibt es aber den Port sysutils/portupgrade, der diese Aufgabe automatisiert. Installieren Sie den Port, wie jeden anderen, mit dem Kommando make install clean. Das Werkzeug portupgrade benötigt eine Datenbank, die installierte Ports enthält. Das Kommando pkgdb -F erstellt diese Datenbank im Verzeichnis /var/db/pkg. Das Kommando portupgrade -a aktualisiert alle Ports des Systems. Dazu wird die Datenbank und die Datei INDEX der Ports-Sammlung gelesen. Anschließend werden die benötigten Quelldateien heruntergeladen, die Ports gebaut, gesichert und installiert. Zum Abschluß räumt portupgrade die Arbeitsverzeichnisse auf. Im Verzeichnis ports/sysutils finden Sie weitere Werkzeuge, mit denen Sie die Ports-Sammlung aktualisieren können. Nach der Installation Nach der Installation einer neuen Anwendung wollen Sie wahrscheinlich die mitgelieferte Dokumentation lesen und die Konfigurationsdateien der Anwendung anpassen. Wenn die Anwendung ein Dæmon ist, sollten Sie sicherstellen, dass die Anwendung beim Booten startet. Die einzelnen Schritte sind natürlich von Anwendung zu Anwendung verschieden. Wenn Sie sich allerdings nach der Installation einer Anwendung die Frage Was nun? stellen, helfen die folgenden Hinweise vielleicht weiter. Finden Sie mit &man.pkg.info.1; heraus, welche Dateien die Anwendung wo installiert hat. Wenn Sie beispielsweise gerade die Version 1.0.0 von FooPackage installiert haben, zeigt Ihnen das folgende Kommando alle installierten Dateien des Pakets: &prompt.root; pkg_info -L foopackage-1.0.0 | less Achten Sie besonders auf die Manualpages, die Sie in man/ Verzeichnissen finden und auf Konfigurationsdateien, die in etc/ abgelegt werden. Manche Pakete enthalten in doc/ zusätzliche Dokumentation. Wenn Sie sich nicht sicher sind, welche Version einer Anwendung Sie gerade installiert haben, können Sie mit dem folgenden Kommando nach der Anwendung suchen: &prompt.root; pkg_info | grep -i foopackage Das Kommando zeigt alle installierten Pakete, deren Paketname foopackage enthält. Ersetzen Sie foopackage durch den Namen der Anwendung, die Sie suchen. Nachdem Sie die Manualpages der Anwendung gefunden haben, lesen Sie diese bitte mit &man.man.1;. Schauen Sie sich auch die Beispiele für Konfigurationsdateien und die zusätzliche Dokumentation, wenn es welche gibt, an. Wenn es für die Anwendung eine Webseite gibt, suchen Sie dort nach zusätzlicher Dokumentation wie FAQs (häufig gestellte Fragen). Wenn Sie die Adresse der Webseite nicht kennen, versuchen Sie das folgende Kommando: &prompt.root; pkg_info foopackage-1.0.0 Die Ausgabe enthält oft eine Zeile, die mit WWW: beginnt und die URL der Webseite enthält. + + + Ports, die während des Systemstarts gestartet + werden sollen, installieren meist ein Beispielskript im + Verzeichnis /usr/local/etc/rc.d. + Überprüfen Sie dieses Skript. Wenn nötig, + passen Sie das Skript an und benennen Sie es um. Weitere + Informationen finden Sie in + . + Kaputte Ports Stolpern Sie mal über einen Port, der bei Ihnen nicht funktioniert, könnten Sie zum Beispiel Folgendes tun: Reparieren Sie ihn! Das FreeBSD Porter's Handbook enthält eine detaillierte Beschreibung des Portsystems. Damit sind Sie in der Lage, einen gelegentlich kaputten Port zu reparieren oder einen eigenen Port zu erstellen. Rummeckern – nur mittels E-Mail! Senden Sie zuerst eine E-Mail an den Betreuer des Ports. Geben Sie dazu make maintainer ein oder lesen Sie das Makefile im Verzeichnis des Ports, um an die E-Mail-Adresse zu kommen. Vergessen Sie nicht den Namen und die Version des Ports (schicken Sie die Zeile mit $FreeBSD: aus dem Makefile) und die Ausgabe bis zur Fehlermeldung mitzuschicken. Erhalten Sie vom Betreuer keine Resonanz, können mit &man.send-pr.1; einen Fehler-Report senden. Holen Sie sich das Paket von einem FTP-Server in Ihrer Nähe. Die Basis Sammlung aller Pakete liegt auf ftp.de.FreeBSD.org im Verzeichnis packages. + url="ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/packages/">packages. Aber versuchen Sie zuerst einen Spiegel in Ihrer Nähe! Benutzen Sie das Programm &man.pkg.add.1;, um Pakete auf Ihrem Rechner zu installieren. Dies hat zudem den Vorteil, dass es schneller geht. diff --git a/de_DE.ISO8859-1/books/handbook/serialcomms/chapter.sgml b/de_DE.ISO8859-1/books/handbook/serialcomms/chapter.sgml index 61b7cba4ef..13d6a17228 100644 --- a/de_DE.ISO8859-1/books/handbook/serialcomms/chapter.sgml +++ b/de_DE.ISO8859-1/books/handbook/serialcomms/chapter.sgml @@ -1,2786 +1,2786 @@ Martin Heinen Übersetzt von Serielle Datenübertragung Übersicht serielle Datenübertragung &unix; Systeme unterstützten schon immer die serielle Datenübertragung. Tatsächlich wurden Ein- und Ausgaben auf den ersten &unix; Maschinen über serielle Leitungen durchgeführt. Seit der Zeit, in der ein durchschnittlicher Terminal aus einem seriellen Drucker mit 10 Zeichen/Sekunde und einer Tastatur bestand, hat sich viel verändert. Dieses Kapitel behandelt einige Möglichkeiten, serielle Datenübertragung unter FreeBSD zu verwenden. Nachdem Sie dieses Kapitel durchgearbeitet haben, werden Sie Folgendes wissen: Wie Sie Terminals an Ihr FreeBSD anschließen. Wie Sie sich mit einem Modem auf einem entfernten Rechner einwählen. Wie Sie entfernten Benutzern erlauben, sich mit einem Modem in Ihr System einzuwählen. Wie Sie Ihr System über eine serielle Konsole booten. Bevor Sie dieses Kapitel lesen, sollten Sie einen neuen Kernel konfigurieren und installieren können (). Das Berechtigungskonzept von &unix; und Prozesse verstehen (). Zudem sollten Sie Zugriff auf die Handbücher der seriellen Komponenten (Modem oder Multiportkarte) haben, die Sie mit FreeBSD verwenden wollen. Einführung Begriffe bits-per-second bps Bits pro Sekunde – Einheit für die Übertragungsgeschwindigkeit. DEE (DTE) DEE DTE Datenendeinrichtung (Data Terminal Equipment) – zum Beispiel Ihr Computer. DÜE (DCE) DÜE DCE Datenübertragungseinrichtung (Data Communications Equipment) – Ein Modem. RS-232 RS-232C Kabel EIA (Electronic Industries Association) Norm für die serielle Datenübertragung. In diesem Abschnitt wird der Begriff Baud nicht für Übertragungsgeschwindigkeiten gebraucht. Baud bezeichnet elektrische Zustandswechsel pro Zeiteinheit, die Taktrate, während bps (Bits pro Sekunde) der richtige Begriff für die Übertragungsgeschwindigkeit ist (die meisten Pedanten sollten damit zufrieden sein). Kabel und Schnittstellen Um ein Modem oder einen Terminal an Ihr FreeBSD System anzuschließen, muss Ihr Computer über eine serielle Schnittstelle verfügen. Zusätzlich brauchen Sie noch das passende Kabel, um das Gerät mit der Schnittstelle zu verbinden. Wenn Sie mit Ihren Geräten und den nötigen Kabeln schon vertraut sind, können Sie diesen Abschnitt überspringen. Kabel Es gibt verschiedene serielle Kabel. Die zwei häufigsten sind Nullmodemkabel und Standard RS-232 Kabel. Die Dokumentation Ihrer Hardware sollte beschreiben, welchen Kabeltyp Sie benötigen. Nullmodemkabel Nullmodemkabel Ein Nullmodemkabel verbindet einige Signale, wie die Betriebserde, eins zu eins, andere Signale werden getauscht: Die Sende- und Empfangsleitungen werden zum Beispiel gekreuzt. Wenn Sie Ihre Kabel selber herstellen möchten, zeigt die folgende Tabelle die RS-232C Signalnamen und Pinbelegung für einen DB-25 Stecker: Signal Pin # Pin # Signal SG 7 verbunden mit 7 SG TxD 2 verbunden mit 3 RxD RxD 3 verbunden mit 2 TxD RTS 4 verbunden mit 5 CTS CTS 5 verbunden mit 4 RTS DTR 20 verbunden mit 6 DSR DCD 8 6 DSR DSR 6 verbunden mit 20 DTR Das Signal Data Terminal Ready (DTR) wird mit den Signalen Data Set Ready (DSR) und Data Carrier Detect (DCD) der Gegenstelle verbunden. Standard RS-232C Kabel RS-232C Kabel Ein Standard RS-232C Kabel verbindet alle Signale direkt, das heißt das Signal Sendedaten wird mit dem Signal Sendedaten der Gegenstelle verbunden. Dieses Kabel wird benötigt, um ein Modem mit einem FreeBSD System zu verbinden. Manche Terminals benötigen dieses Kabel ebenfalls. Schnittstellen Über serielle Schnittstellen werden Daten zwischen dem FreeBSD System und dem Terminal übertragen. Dieser Abschnitt beschreibt die verschiedenen Schnittstellen und wie sie unter FreeBSD angesprochen werden. Arten von Schnittstellen Da es verschiedene Schnittstellen gibt, sollten Sie vor dem Kauf oder Selbstbau eines Kabels sicherstellen, dass dieses zu den Schnittstellen Ihres Terminals und FreeBSD Systems passt. Die meisten Terminals besitzen DB25 Stecker. Personal Computer haben DB25 oder DB9 Stecker. Wenn Sie eine serielle Multiportkarte für Ihren PC besitzen, haben Sie vielleicht RJ-12 oder RJ-45 Anschlüsse. Die Dokumentation Ihrer Geräte sollte Aufschluss über den Typ der benötigten Anschlüsse geben. Oft hilft es, wenn Sie sich den Anschluss einfach ansehen. Schnittstellenbezeichnung Unter FreeBSD sprechen Sie die serielle Schnittstelle (Port) über einen Eintrag im /dev Verzeichnis an. Es gibt dort zwei verschiedene Einträge: Schnittstellen für eingehende Verbindungen werden /dev/ttydN genannt. Dabei ist N die Nummer der Schnittstelle, deren Zählung bei Null beginnt. Allgemein wird diese Schnittstelle für Terminals benutzt. Diese Schnittstelle funktioniert nur, wenn ein Data Carrier Detect Signal (DCD) vorliegt. Für ausgehende Verbindungen wird /dev/cuaaN verwendet. Dieser Port wird normalerweise nur von Modems genutzt. Sie können ihn allerdings für Terminals benutzen, die das Data Carrier Detect Signal nicht unterstützen. Wenn Sie einen Terminal an die erste serielle Schnittstelle (COM1 in MS-DOS), angeschlossen haben, sprechen Sie ihn über /dev/ttyd0 an. Wenn er an der zweiten seriellen Schnittstelle angeschlossen ist, verwenden Sie /dev/ttyd1, usw. Kernelkonfiguration In der Voreinstellung benutzt FreeBSD vier serielle Schnittstellen, die in MS-DOS Kreisen als COM1, COM2, COM3 und COM4 bekannt sind. Momentan unterstützt FreeBSD einfache Multiportkarten (z.B. die BocaBoard 1008 und 2016) und bessere wie die von Digiboard und Stallion Technologies. In der Voreinstellung sucht der Kernel allerdings nur nach den Standardanschlüssen. Um zu überprüfen, ob der Kernel eine Ihrer seriellen Schnittstellen erkennt, achten Sie auf die Meldungen beim Booten, oder schauen sich diese später mit /sbin/dmesg an. Insbesondere sollten Sie auf Meldungen achten, die mit den Zeichen sio anfangen. Das folgende Kommando zeigt Ihnen nur die Meldungen an, die die Folge sio enthalten: &prompt.root; /sbin/dmesg | grep 'sio' Auf einem System mit vier seriellen Schnittstellen sollte der Kernel die folgenden Meldungen ausgeben: sio0 at 0x3f8-0x3ff irq 4 on isa sio0: type 16550A sio1 at 0x2f8-0x2ff irq 3 on isa sio1: type 16550A sio2 at 0x3e8-0x3ef irq 5 on isa sio2: type 16550A sio3 at 0x2e8-0x2ef irq 9 on isa sio3: type 16550A Wenn Ihr Kernel nicht alle seriellen Schnittstellen erkennt, müssen Sie unter Umständen einen angepassten Kernel für Ihr System erstellen. Eine ausführliche Anleitung dazu finden Sie in . Die Kernelkonfiguration für FreeBSD 4.X sieht wie folgt aus: device sio0 at isa? port IO_COM1 tty irq 4 device sio1 at isa? port IO_COM2 tty irq 3 device sio2 at isa? port IO_COM3 tty irq 5 device sio3 at isa? port IO_COM4 tty irq 9 FreeBSD 5.X verwendet die folgende Zeile: device sio Mit FreeBSD 4.X können Sie nicht vorhandene Schnittstellen entfernen oder auskommentieren. Unter FreeBSD 5.X werden die Schnittstellen in /boot/device.hints konfiguriert. Die Hilfeseite &man.sio.4; enthält weitere Informationen über serielle Schnittstellen und Multiportkarten. Seien Sie vorsichtig, wenn Sie Konfigurationsdateien von älteren FreeBSD Versionen verwenden, da sich die Syntax und die Bedeutung der Optionen zwischen verschiedenen Versionen geändert hat. port IO_COM1 ist ein Ersatz für port 0x3f8, IO_COM2 bedeutet port 0x2f8, IO_COM3 bedeutet port 0x3e8 und IO_COM4 steht für port 0x2e8. Die angegebenen IO-Adressen sind genau wie die Interrupts 4, 3, 5 und 9 üblich für serielle Schnittstellen. Beachten Sie bitte, dass sich normale serielle Schnittstellen auf ISA-Bussen keine Interrupts teilen können. Multiportkarten besitzen zusätzliche Schaltkreise, die es allen 16550As auf der Karte erlauben, sich einen oder zwei Interrupts zu teilen. Gerätedateien Die meisten Geräte im Kernel werden durch Gerätedateien in /dev angesprochen. Die sio Geräte werden durch /dev/ttydN für eingehende Verbindungen und durch /dev/cuaaN für ausgehende Verbindungen angesprochen. Zum Initialisieren der Geräte stellt FreeBSD die Dateien /dev/ttyidN und /dev/cuai0N zur Verfügung. Diese Dateien werden benutzt, um Kommunikationsparameter beim Öffnen eines Ports vorzugeben. Für Modems, die zur Flusskontrolle RTS/CTS benutzen, kann damit crtscts gesetzt werden. Die Geräte /dev/ttyldN und /dev/cual0N (locking devices) werden genutzt, um bestimmte Parameter festzuschreiben und vor Veränderungen zu schützen. Weitere Informationen zu Terminals finden Sie in &man.termios.4;, &man.sio.4; erklärt die Dateien zum Initialisieren und Sperren der Geräte, &man.stty.1; beschreibt schließlich Terminal-Einstellungen. Erstellen von Gerätedateien In FreeBSD 5.0 werden Gerätedateien im Dateisystem &man.devfs.5; bei Bedarf automatisch angelegt. Wenn Sie eine FreeBSD Version mit devfs benutzen, können Sie diesen Abschnitt überspringen. MAKEDEV Zum Anlegen der Gerätedateien in /dev wird MAKEDEV benutzt. Um die Geräte der ersten seriellen Schnittstelle für eingehende Verbindungen zu erstellen, wechseln Sie nach /dev und setzen dort den Befehl MAKEDEV ttyd0 ab. Für die zweite serielle Schnittstelle (COM2 bzw. die Schnittstelle mit der Nummer 1 führen Sie analog MAKEDEV ttyd1 aus. Dabei erstellt MAKEDEV nicht nur die /dev/ttydN Gerätedateien, sondern auch die folgenden Dateien: /dev/cuaaN, /dev/cuaiaN, /dev/cualaN, /dev/ttyldN und /dev/ttyidN. Nachdem Sie die Gerätedateien erstellt haben, sollten Sie die Zugriffsrechte der neuen Dateien, besonders die der /dev/cua* Dateien überprüfen, um sicherzustellen, dass wirklich nur jene Benutzer, die auf diese Geräte zugreifen sollen, Schreib- und Leseberechtigungen haben. Die Vorgabe der Zugriffsrechte sollte ausreichend sein: crw-rw---- 1 uucp dialer 28, 129 Feb 15 14:38 /dev/cuaa1 crw-rw---- 1 uucp dialer 28, 161 Feb 15 14:38 /dev/cuaia1 crw-rw---- 1 uucp dialer 28, 193 Feb 15 14:38 /dev/cuala1 Auf die Geräte für ausgehende Verbindungen dürfen uucp und Mitglieder der Gruppe dialer zugreifen. Konfiguration der seriellen Schnittstelle ttyd cuaa Anwendungen benutzen normalerweise die Geräte ttydN oder cuaaN. Das Gerät besitzt einige Voreinstellungen für Terminal-I/O, wenn es von einem Prozess geöffnet wird. Mit dem folgenden Kommando können Sie sich diese Einstellungen ansehen: &prompt.root; stty -a -f /dev/ttyd1 Sie können diese Einstellungen verändern, sie bleiben allerdings nur solange wirksam, bis das Gerät geschlossen wird. Wenn das Gerät danach wieder geöffnet wird, sind die Voreinstellungen wieder wirksam. Um die Voreinstellungen zu ändern, öffnen Sie das Gerät, das zum Initialisieren dient und verändern dessen Einstellungen. Um beispielsweise für ttyd5 den Modus, 8-Bit Kommunikation und Flusssteuerung einzuschalten, setzen Sie das folgende Kommando ab: &prompt.root; stty -f /dev/ttyid5 clocal cs8 ixon ixoff rc-Dateien rc.serial In /etc/rc.serial werden die Voreinstellungen für seriellen Geräte vorgenommen. Um zu verhindern, dass Einstellungen von Anwendungen verändert werden, können Sie die Geräte zum Festschreiben von Einstellungen (locking devices) benutzen. Wenn sie beispielsweise die Geschwindigkeit von ttyd5 auf 57600 bps festlegen wollen, benutzen Sie das folgende Kommando: &prompt.root; stty -f /dev/ttyld5 57600 Eine Anwendung, die ttyd5 öffnet, kann nun nicht mehr die Geschwindigkeit ändern und muss 57600 bps benutzen. Die Geräte zum Initialisieren und Festschreiben von Einstellungen sollten selbstverständlich nur von root beschreibbar sein. Sean Kelly Beigetragen von Terminals Terminals Wenn Sie sich nicht an der Konsole oder über ein Netzwerk an Ihrem FreeBSD System anmelden können, sind Terminals ein bequemer und billiger Weg auf Ihr System zuzugreifen. Dieser Abschnitt beschreibt wie Sie Terminals mit FreeBSD benutzen. Terminaltypen Das ursprüngliche &unix; System besaß keine Konsolen. Zum Anmelden und Starten von Programmen wurden stattdessen Terminals benutzt, die an den seriellen Schnittstellen des Rechners angeschlossen waren. Dies entspricht der Benutzung eines Modems zum Anmelden auf einem entfernten System, um dort mit einem Terminalemulator im Textmodus zu arbeiten. Die Konsolen heutiger PCs besitzen sehr gute Grafikfähigkeiten, trotzdem gibt es in fast jedem &unix; System die Möglichkeit, sich über die serielle Schnittstelle anzumelden; FreeBSD ist da keine Ausnahme. Sie können sich an einem Terminal anmelden und dort jedes Textprogramm, das Sie normalerweise an der Konsole oder in einem xterm Fenster im X Window System benutzen, laufen lassen. Im kommerziellen Umfeld können Sie viele Terminals an ein FreeBSD System anschließen und diese auf den Arbeitsplätzen Ihrer Angestellten aufstellen. Im privaten Umfeld kann ein älterer IBM PC oder Macintosh als Terminal dienen. Damit verwandeln Sie einen Einzelarbeitsplatz in ein leistungsfähiges Mehrbenutzersystem. FreeBSD kennt drei verschiedene Terminals: Dumb terminals, PCs, die als Terminals fungieren, X Terminals. Die folgenden Abschnitte beschreiben jeden dieser Terminals. Dumb-Terminals Dumb-Terminals (unintelligente Datenstationen) sind Geräte, die über die serielle Schnittstelle mit einem Rechner verbunden werden. Sie werden unintelligent genannt, weil sie nur Text senden und empfangen und keine Programme laufen lassen können. Alle Programme, wie Texteditoren, Compiler oder Spiele befinden sich auf dem Rechner, der mit dem Terminal verbunden ist. Es gibt viele Dumb-Terminals, die von verschiedenen Herstellern produziert werden, wie zum Beispiel der VT-100 von Digital Equipment Corporation oder der WY-75 von Wyse. So gut wie jeder der verschiedenen Terminals sollte mit FreeBSD zusammenarbeiten. Manche High-End Geräte verfügen sogar über Grafikfähigkeiten, die allerdings nur von spezieller Software genutzt werden kann. Dumb-Terminals sind in Umgebungen beliebt, in denen keine Grafikanwendungen, wie zum Beispiel X-Programme, laufen müssen. PCs, die als Terminal fungieren Jeder PC kann die Funktion eines Dumb-Terminals, der ja nur Text senden und empfangen kann, übernehmen. Dazu brauchen Sie nur das richtige Kabel und eine Terminalemulation, die auf dem PC läuft. Diese Konfiguration ist im privaten Umfeld sehr beliebt. Wenn Ihr Ehepartner zum Beispiel gerade an der FreeBSD Konsole arbeitet, können Sie einen weniger leistungsstarken PC, der als Terminal mit dem FreeBSD System verbunden ist, benutzen, um dort gleichzeitig im Textmodus zu arbeiten. X-Terminals X-Terminals sind die ausgereiftesten der verfügbaren Terminals. Sie werden nicht mit der seriellen Schnittstelle sondern mit einem Netzwerk, wie dem Ethernet, verbunden. Diese Terminals sind auch nicht auf den Textmodus beschränkt, sondern können jede X-Anwendung darstellen. X-Terminals sind hier nur der Vollständigkeit halber aufgezählt. Die Einrichtung von X-Terminals wird in diesem Abschnitt nicht beschrieben. Konfiguration Im Folgenden wird beschrieben, wie Sie Ihr FreeBSD System konfigurieren müssen, um sich an einem Terminal anzumelden. Dabei wird vorausgesetzt, dass der Kernel bereits die serielle Schnittstelle, die mit dem Terminal verbunden ist, unterstützt. Weiterhin sollte der Terminal schon angeschlossen sein. Aus wissen Sie, dass init für das Initialisieren des Systems und den Start von Prozessen zum Zeitpunkt des Systemstarts verantwortlich ist. Unter anderem liest init /etc/ttys ein und startet für jeden verfügbaren Terminal einen getty Prozess. getty wiederum fragt beim Anmelden den Benutzernamen ab und startet login. Um Terminals auf Ihrem FreeBSD System einzurichten, führen Sie folgenden Schritte als root durch: Wenn er noch nicht da ist, fügen Sie einen Eintrag in /etc/ttys für die serielle Schnittstelle aus /dev ein. Geben Sie /usr/libexec/getty als auszuführendes Programm an. Als Parameter für getty geben Sie den passenden Verbindungstyp aus /etc/gettytab an. Geben Sie den Terminaltyp an. Aktivieren Sie den Anschluss. Geben Sie die Sicherheit des Anschlusses an. Veranlassen Sie init /etc/ttys erneut zu lesen. Optional können Sie in /etc/gettytab auch einen auf Ihre Zwecke angepassten Terminaltyp erstellen. Die genaue Vorgehensweise wird in diesem Abschnitt nicht erklärt, aber die Manualpages von &man.gettytab.5; und &man.getty.8; enthalten dazu weitere Informationen. Hinzufügen eines Eintrags in <filename>/etc/ttys</filename> In /etc/ttys werden alle Terminals aufgeführt, an denen Sie sich auf dem FreeBSD System anmelden können. Hier findet sich zum Beispiel ein Eintrag für die erste virtuelle Konsole /dev/ttyv0, der es Ihnen ermöglicht, sich dort anzumelden. Die Datei enthält des Weiteren Einträge für andere virtuelle Konsolen, serielle Schnittstellen und Pseudoterminals. Wenn Sie einen Terminal konfigurieren wollen, fügen sie einen Eintrag für den Namen des Gerätes aus /dev ohne das Präfix /dev hinzu. Zum Beispiel wird /dev/ttyv0 als ttyv0 aufgeführt. In der Voreinstellung enthält /etc/ttys Einträge für die ersten vier seriellen Schnittstellen. Wenn Sie an eine von diesen einen Terminal anschließen, brauchen Sie keinen weiteren Eintrag hinzuzufügen. Einträge in <filename>/etc/ttys</filename> hinzufügen Angenommen, wir wollen an ein System zwei Terminals anschließen: Einen Wyse-50 und einen alten 286 IBM PC, der mit Procomm einen VT-100 Terminal emuliert. Den Wyse-Terminal verbinden wir mit der zweiten seriellen Schnittstelle und den 286 mit der sechsten seriellen Schnittstelle (einem Anschluss auf einer Multiportkarte). Die entsprechenden Einträge in /etc/ttys würden dann wie folgt aussehen: ttyd1 "/usr/libexec/getty std.38400" wy50 on insecure ttyd5 "/usr/libexec/getty std.19200" vt100 on insecure Das erste Feld gibt normalerweise den Namen der Gerätedatei aus /dev an. Im zweiten Feld wird das auszuführende Kommando, normal ist das &man.getty.8;, angegeben. getty initialisiert und öffnet die Verbindung, setzt die Geschwindigkeit und fragt den Benutzernamen ab. Danach führt es &man.login.1; aus. getty akzeptiert einen optionalen Parameter auf der Kommandozeile, den Verbindungstyp, der die Eigenschaften der Verbindung, wie die Geschwindigkeit und Parität, festlegt. Die Typen und die damit verbundenen Eigenschaften liest getty aus /etc/gettytab. /etc/gettytab enthält viele Einträge sowohl für neue wie auch alte Terminalverbindungen. Die meisten Einträge, die mit std beginnen, sollten mit einem festverdrahteten Terminal funktionieren. Für jede Geschwindigkeit zwischen 110 bps und 115200 bps gibt es einen std Eintrag. Natürlich können Sie auch eigene Einträge erstellen, Informationen dazu finden Sie in &man.gettytab.5;. Wenn Sie den Verbindungstyp in /etc/ttys eintragen, stellen Sie bitte sicher, dass die Kommunikationseinstellungen auch mit denen des Terminals übereinstimmen. In unserem Beispiel verwendet der Wyse-50 keine Parität und 38400 bps, der 286 PC benutzt ebenfalls keine Parität und arbeitet mit 19200 bps. Das dritte Feld gibt den Terminaltyp an, der normalerweise mit diesem Anschluss verbunden ist. Für Einwählverbindungen wird oft unknown oder dialup benutzt, da sich die Benutzer praktisch mit beliebigen Terminals oder Emulatoren anmelden können. Bei festverdrahteten Terminals ändert sich der Typ nicht, so dass Sie in diesem Feld einen richtigen Typ aus der &man.termcap.5; Datenbank angeben können. In unserem Beispiel benutzen wir für den Wyse-50 den entsprechenden Typ aus &man.termcap.5;, der 286 PC wird als VT-100, den er ja emuliert, angegeben. Das vierte Feld gibt an, ob der Anschluss aktiviert werden soll. Wenn Sie hier on angeben, startet init das Programm, das im zweiten Feld angegeben wurde (normal getty). Wenn Sie off angeben, wird das Kommando aus dem zweiten Feld nicht ausgeführt und folglich können Sie sich dann an dem betreffenden Terminal nicht anmelden. Im letzten Feld geben Sie die Sicherheit des Anschlusses an. Wenn Sie hier secure angeben, darf sich root (oder jeder Account mit der UID 0) über diese Verbindung anmelden. Wenn Sie insecure angeben, dürfen sich nur unprivilegierte Benutzer anmelden. Diese können später mit &man.su.1; oder einem ähnlichen Mechanismus zu root wechseln. Es wird dringend empfohlen, insecure nur für Terminals hinter verschlossenen Türen zu verwenden, da Sie mit su leicht zum Superuser werden können. <command>init</command> zwingen, <filename>/etc/ttys</filename> erneut zu lesen Nachdem Sie die nötigen Änderungen in /etc/ttys vorgenommen haben, schicken Sie init ein SIGHUP-Signal (hangup), um es zu veranlassen, seine Konfigurationsdatei neu zu lesen: &prompt.root; kill -HUP 1 Da init immer der erste Prozess auf einem System ist, besitzt es immer die PID 1. Wenn alles richtig eingerichtet ist, alle Kabel angeschlossen und die Terminals eingeschaltet sind, sollte für jeden Terminal ein getty Prozess laufen und auf jedem Terminal sollten Sie eine Anmeldeaufforderung sehen. Fehlersuche Selbst wenn Sie den Anweisungen akribisch gefolgt sind, kann es immer noch zu Fehlern beim Einrichten eines Terminals kommen. Die folgende Aufzählung von Symptomen beschreibt mögliche Lösungen: Es erscheint kein Anmeldeprompt Stellen Sie sicher, dass der Terminal verbunden und eingeschaltet ist. Wenn ein PC als Terminal fungiert, überprüfen Sie, dass die Terminalemulation auf den richtigen Schnittstellen läuft. Stellen Sie sicher, dass Sie das richtige Kabel verwenden und dass das Kabel fest mit dem Terminal und dem FreeBSD Rechner verbunden ist. Stellen Sie sicher, dass die Einstellungen für die Geschwindigkeit (bps) und Parität auf dem FreeBSD System und dem Terminal gleich sind. Wenn Ihr Terminal einen Bildschirm besitzt, überprüfen Sie die richtige Einstellung von Helligkeit und Kontrast. Wenn Ihr Terminal druckt, stellen Sie die ausreichende Versorgung mit Papier und Tinte sicher. Überprüfen Sie mit ps, dass der getty Prozess für den Terminal läuft: &prompt.root; ps -axww|grep getty Für jeden Terminal sollten Sie einen Eintrag sehen. Aus dem folgenden Beispiel erkennen Sie, dass getty auf der zweiten seriellen Schnittstelle läuft und den Verbindungstyp std.38400 aus /etc/gettytab benutzt: 22189 d1 Is+ 0:00.03 /usr/libexec/getty std.38400 ttyd1 Wenn getty nicht läuft, überprüfen Sie, ob der Anschluss in /etc/ttys aktiviert ist. Haben Sie kill -HUP 1 abgesetzt, nachdem Sie /etc/ttys geändert hatten? Wenn getty läuft, aber der Terminal immer noch kein Anmeldeprompt ausgibt, oder Sie am Anmeldeprompt nichts eingeben können, kann es sein, dass Ihr Terminal oder Kabel keinen Hardware-Handshake unterstützt. Ändern Sie dann den Eintrag std.38400 in /etc/ttys zu 3wire.38400. Nachdem Sie /etc/ttys geändert haben, setzen Sie das Kommando kill -HUP 1 ab. Der Eintrag 3wire besitzt ähnliche Eigenschaften wie der Eintrag std, ignoriert aber den Hardware-Handshake. Wenn Sie den Eintrag 3wire verwenden, müssen Sie vielleicht die Geschwindigkeit verkleinern oder die Software-Flusssteuerung aktivieren, um Pufferüberläufe zu vermeiden. Es erscheinen nur unverständliche Zeichen Stellen Sie sicher, dass die Einstellungen für die Geschwindigkeit (bps) und Parität auf dem FreeBSD System und dem Terminal gleich sind. Kontrollieren Sie den getty Prozess und stellen Sie sicher, dass der richtige Verbindungstyp aus /etc/gettytab benutzt wird. Wenn das nicht der Fall ist, editieren Sie /etc/ttys und setzen das Kommando kill-HUP 1 ab. Zeichen erscheinen doppelt und eingegebene Passwörter erscheinen im Klartext Stellen Sie den Terminal oder die Terminalemulation von half duplex oder local echo auf full duplex. um. Guy Helmer Beigetragen von Sean Kelly Mit Anmerkungen von Einwählverbindungen Einwählverbindungen Das Einrichten von Einwählverbindungen ähnelt dem Anschließen von Terminals, nur dass Sie anstelle eines Terminals ein Modem verwenden. Externe und interne Modems Externe Modems sind für Einwählverbindungen besser geeignet, da sie die Konfiguration in nicht flüchtigem RAM speichern können. Zudem verfügen Sie über Leuchtanzeigen, die den Status wichtiger RS-232 Signale anzeigen und unter Umständen Besucher beeindrucken können. Interne Modems verfügen normalerweise nicht über nicht flüchtiges RAM und lassen sich meist nur über DIP-Schalter konfigurieren. Selbst wenn ein internes Modem Leuchtanzeigen besitzt, sind diese meist schwer einzusehen, wenn das Modem eingebaut ist. Modems und Kabel Modem Mit einem externen Modem müssen Sie das richtige Kabel benutzen: Ein Standard RS-232C Kabel, bei dem die folgenden Signale miteinander verbunden sind, sollte ausreichen: Transmitted Data (SD) Received Data (RD) Request to Send (RTS) Clear to Send (CTS) Data Set Ready (DSR) Data Terminal Ready (DTR) Carrier Detect (CD) Signal Ground (SG) Ab Geschwindigkeiten von 2400 bps benötigt FreeBSD die Signale RTS und CTS für die Flusssteuerung. Das Signal CD zeigt an, ob ein Träger vorliegt, das heißt ob die Verbindung aufgebaut ist oder beendet wurde. DTR zeigt an, dass das Gerät betriebsbereit ist. Es gibt einige Kabel, bei denen nicht alle nötigen Signale verbunden sind. Wenn Sie Probleme der Art haben, dass zum Beispiel die Sitzung nicht beendet wird, obwohl die Verbindung beendet wurde, kann das an einem solchen Kabel liegen. Wie andere &unix; Betriebssysteme auch, benutzt FreeBSD Hardwaresignale, um festzustellen, ob ein Anruf beantwortet wurde, eine Verbindung beendet wurde, oder um die Verbindung zu schließen und das Modem zurückzusetzen. FreeBSD vermeidet es, dem Modem Kommandos zu senden, oder den Statusreport des Modems abzufragen. Falls Sie ein Benutzer von PC-basierenden Bulletin Board Systemen sind, mag Sie das verwundern. Schnittstellenbausteine FreeBSD unterstützt EIA RS-232C (CCITT V.24) serielle Schnittstellen, die auf den NS8250, NS16450, NS16550 oder NS16550A Bausteinen basieren. Die Bausteine der Serie 16550 verfügen über einen 16 Byte großen Puffer, der als FIFO angelegt ist. Wegen Fehler in der FIFO-Logik kann der Puffer in einem 16550 Baustein allerdings nicht genutzt werden, das heißt der Baustein muss als 16450 betrieben werden. Bei allen Bausteinen ohne Puffer und dem 16550 Baustein muss jedes Byte einzeln von dem Betriebssystem verarbeitet werden, was Fehler bei hohen Geschwindigkeiten oder großer Systemlast erzeugt. Es sollten daher nach Möglichkeit serielle Schnittstellen, die auf 16550A Bausteinen basieren, eingesetzt werden. Überblick getty Wie bei Terminals auch, startet init für jede serielle Schnittstelle, die eine Einwählverbindung zur Verfügung stellt, einen getty Prozess. Wenn das Modem beispielsweise an /dev/ttyd0 angeschlossen ist, sollte in der Ausgabe von ps ax eine Zeile wie die folgende erscheinen: 4850 ?? I 0:00.09 /usr/libexec/getty V19200 ttyd0 Wenn sich ein Benutzer einwählt und die Verbindung aufgebaut ist, zeigt das Modem dies durch das CD Signal (Carrier Detect) an. Der Kernel merkt, dass ein Signal anliegt und vollendet das Öffnen der Schnittstelle durch getty. Dann sendet getty das Anmeldeprompt mit der ersten für die Verbindung vereinbarten Geschwindigkeit und wartet auf eine Antwort. Wenn die Antwort unverständlich ist, weil zum Beispiel die Geschwindigkeit des Modems von gettys Geschwindigkeit abweicht, versucht getty die Geschwindigkeit solange anzupassen, bis es eine verständliche Antwort erhält. /usr/bin/login getty führt, nachdem der Benutzer seinen Namen eingegeben hat, /usr/bin/login aus, welches das Passwort abfragt und danach die Shell des Benutzers startet. Konfigurationsdateien Drei Konfigurationsdateien in /etc steuern, ob eine Einwahl in Ihr FreeBSD System möglich ist. Die erste, /etc/gettytab, konfiguriert den /usr/libexec/getty Dæmon. In /etc/ttys wird festgelegt, auf welchen Schnittstellen /sbin/init einen getty Prozess startet. Schließlich haben Sie in /etc/rc.serial die Möglichkeit, Schnittstellen zu initialisieren. Es gibt zwei Ansichten darüber, wie Modems für Einwählverbindungen unter &unix; zu konfigurieren sind. Zum einen kann die Geschwindigkeit zwischen dem Modem und dem Computer fest eingestellt werden. Sie ist damit unabhängig von der Geschwindigkeit, mit der sich der entfernte Benutzer einwählt. Dies hat den Vorteil, dass der entfernte Benutzer das Anmeldeprompt sofort bekommt. Der Nachteil bei diesem Verfahren ist, dass das System die tatsächliche Geschwindigkeit der Verbindung nicht kennt. Damit können bildschirmorientierte Programme wie Emacs ihren Bildschirmaufbau nicht an langsame Verbindungen anpassen, um die Antwortzeiten zu verbessern. Die andere Möglichkeit besteht darin, die Geschwindigkeit der RS-232 Schnittstelle des lokalen Modems an die Geschwindigkeit des entfernten Modems anzupassen. Bei einer V.32bis (14400 bps) Verbindung kann das lokale Modem die RS-232 Schnittstelle mit 19200 bps betreiben, während bei einer Verbindung mit 2400 bps die RS-232 Schnittstelle mit 2400 bps betrieben wird. Da getty die Verbindungsgeschwindigkeit des Modems nicht kennt, startet es den Anmeldevorgang mit der Ausgabe von login: und wartet auf eine Antwort. Wenn der Benutzer der Gegenstelle nun nur unverständliche Zeichen erhält, muss er solange Enter drücken, bis das Anmeldeprompt erscheint. Solange die Geschwindigkeiten nicht übereinstimmen, sind die Antworten der Gegenstelle für getty ebenfalls unverständlich. In diesem Fall wechselt getty zur nächsten Geschwindigkeit und gibt wieder login: aus. In aller Regel erhält der Benutzer der Gegenstelle nach ein bis zwei Tastendrücken eine erkennbare Anmeldeaufforderung. Diese Anmeldeprozedur sieht nicht so sauber wie die Methode mit einer festen Geschwindigkeit aus, bietet dem Benutzer einer langsamen Verbindung allerdings den Vorteil, dass sich bildschirmorientierte Programme an die Geschwindigkeit anpassen können. Im Folgenden wird die Konfiguration für beide Methoden besprochen, doch die Methode der angepassten Geschwindigkeit wird bei der Diskussion bevorzugt. <filename>/etc/gettytab</filename> /etc/gettytab Mit /etc/gettytab wird &man.getty.8; im Stil von &man.termcap.5; konfiguriert. Das Format dieser Datei und die Bedeutung der Einträge wird in &man.gettytab.5; beschrieben. Konfiguration für feste Geschwindigkeit Wenn Sie die Modemgeschwindigkeit vorgeben, werden Sie in /etc/gettytab nichts ändern müssen. Konfiguration für angepasste Geschwindigkeit In /etc/gettytab müssen Einträge für die Geschwindigkeiten, die Sie benutzen wollen, sein. Wenn Sie ein 2400 bps Modem besitzen, können Sie wahrscheinlich den schon vorhandenen D2400 Eintrag benutzen. # # Fast dialup terminals, 2400/1200/300 rotary (can start either way) # D2400|d2400|Fast-Dial-2400:\ :nx=D1200:tc=2400-baud: 3|D1200|Fast-Dial-1200:\ :nx=D300:tc=1200-baud: 5|D300|Fast-Dial-300:\ :nx=D2400:tc=300-baud: Wenn Sie ein Modem mit einer höheren Geschwindigkeit besitzen, müssen Sie wahrscheinlich in /etc/gettytab weitere Einträge erstellen. Hier ist ein Beispiel, das Sie mit einem 14400 bps Modem benutzen können: # # Additions for a V.32bis Modem # um|V300|High Speed Modem at 300,8-bit:\ :nx=V19200:tc=std.300: un|V1200|High Speed Modem at 1200,8-bit:\ :nx=V300:tc=std.1200: uo|V2400|High Speed Modem at 2400,8-bit:\ :nx=V1200:tc=std.2400: up|V9600|High Speed Modem at 9600,8-bit:\ :nx=V2400:tc=std.9600: uq|V19200|High Speed Modem at 19200,8-bit:\ :nx=V9600:tc=std.19200: Die damit erzeugten Verbindungen verwenden 8 Bit und keine Parität. Im obigen Beispiel startet die Geschwindigkeit bei 19200 bps (eine V.32bis Verbindung) und geht dann über 9600 bps (V.32), 400 bps, 1200 bps und 300 bps wieder zurück zu 19200 bps. Das Schlüsselwort nx= (next table) sorgt für das zyklische Durchlaufen der Geschwindigkeiten. Jede Zeile zieht zudem noch mit tc= (table continuation) die Vorgabewerte für die jeweilige Geschwindigkeit an. Wenn Sie ein 28800 bps Modem besitzen und/oder Kompression mit einem 14400 bps Modem benutzen wollen, brauchen Sie höhere Geschwindigkeiten als 19200 bps. Das folgende Beispiel startet mit 57600 bps: # # Additions for a V.32bis or V.34 Modem # Starting at 57600 bps # vm|VH300|Very High Speed Modem at 300,8-bit:\ :nx=VH57600:tc=std.300: vn|VH1200|Very High Speed Modem at 1200,8-bit:\ :nx=VH300:tc=std.1200: vo|VH2400|Very High Speed Modem at 2400,8-bit:\ :nx=VH1200:tc=std.2400: vp|VH9600|Very High Speed Modem at 9600,8-bit:\ :nx=VH2400:tc=std.9600: vq|VH57600|Very High Speed Modem at 57600,8-bit:\ :nx=VH9600:tc=std.57600: Wenn Sie eine langsame CPU oder ein stark ausgelastetes System besitzen und sich kein 16550A in Ihrem System befindet, erhalten Sie bei 57600 bps vielleicht sio Fehlermeldungen der Form silo overflow. <filename>/etc/ttys</filename> /etc/ttys /etc/ttys wurde bereits in besprochen. Die Konfiguration für Modems ist ähnlich, allerdings braucht getty ein anderes Argument und es muss ein anderer Terminaltyp angegeben werden. Der Eintrag für beide Methoden (feste und angepasste Geschwindigkeit) hat die folgende Form: ttyd0 "/usr/libexec/getty xxx" dialup on Das erste Feld der obigen Zeile gibt die Gerätedatei für diesen Eintrag an – ttyd0 bedeutet, dass getty mit /dev/ttyd0 arbeitet. Das zweite Feld "/usr/libexec/getty xxx" gibt das Kommando an, das init für dieses Gerät startet (xxx wird durch einen passenden Eintrag aus /etc/gettytab ersetzt). Die Vorgabe für den Terminaltyp, hier dialup, wird im dritten Feld angegeben. Das vierte Feld, on, zeigt init an, dass die Schnittstelle aktiviert ist. Im fünften Feld könnte noch secure angegeben werden, um Anmeldungen von root zu erlauben, doch sollte das wirklich nur für physikalisch sichere Terminals, wie die Systemkonsole, aktiviert werden. Die Vorgabe für den Terminaltyp, dialup im obigen Beispiel, hängt von lokalen Gegebenheiten ab. Traditionell wird dialup für Einwählverbindungen verwendet, so dass die Benutzer in ihren Anmeldeskripten den Terminaltyp auf ihren Terminal abstimmen können, wenn der Typ auf dialup gesetzt ist. Wenn Sie aber beispielsweise nur VT102 Terminals oder Emulatoren einsetzen, können Sie den Terminaltyp hier auch fest auf vt102 setzen. Nachdem Sie /etc/ttys geändert haben, müssen Sie init ein HUP Signal schicken, damit es die Datei wieder einliest. Sie können dazu das folgende Kommando verwenden: &prompt.root; kill -HUP 1 Wenn Sie das System zum ersten Mal konfigurieren, sollten Sie dieses Kommando erst ausführen, wenn Sie Ihr Modem richtig konfiguriert und angeschlossen haben. Konfiguration für feste Geschwindigkeit Das Argument von getty muss in diesem Fall eine feste Geschwindigkeit vorgeben. Der Eintrag für ein Modem, das fest auf 19200 bps eingestellt ist, könnte wie folgt aussehen: ttyd0 "/usr/libexec/getty std.19200" dialup on Wenn Ihr Modem auf eine andere Geschwindigkeit eingestellt ist, setzen Sie anstelle von std.19200 einen passenden Eintrag der Form std.speed ein. Stellen Sie sicher, dass dies auch ein gültiger Verbindungstyp aus /etc/gettytab ist. Konfiguration für angepasste Geschwindigkeit Das Argument von getty muss hier auf einen der Einträge aus /etc/gettytab zeigen, der zu einer Kette von Einträgen gehört, die die zu probierenden Geschwindigkeiten beschreiben. Wenn Sie dem obigen Beispiel gefolgt sind und zusätzliche Einträge in /etc/gettytab erzeugt haben, können Sie die folgende Zeile verwenden: ttyd0 "/usr/libexec/getty V19200" dialup on <filename>/etc/rc.serial</filename> rc-Dateien rc.serial Modems, die höhere Geschwindigkeiten unterstützen, zum Beispiel V.32, V.32bis und V.34 Modems, benutzen Hardware-Flusssteuerung (RTS/CTS). Für die entsprechenden Schnittstellen können Sie die Flusssteuerung mit stty in /etc/rc.serial einstellen. Um beispielsweise die Hardware-Flusssteuerung für die Geräte zur Ein- und Auswahl der zweiten seriellen Schnittstelle (COM2) zu aktivieren, benutzen Sie die Dateien zur Initialisierung der entsprechenden Geräte und fügen die folgenden Zeilen in /etc/rc.serial hinzu: # Serial port initial configuration stty -f /dev/ttyid1 crtscts stty -f /dev/cuai01 crtscts Modemkonfiguration Wenn Sie ein Modem besitzen, das seine Konfiguration in nicht flüchtigem RAM speichert, werden Sie ein Terminalprogramm wie Telix unter MS-DOS oder tip unter FreeBSD benötigen, um die Parameter einzustellen. Verbinden Sie sich mit derselben Geschwindigkeit, die getty zuerst benutzen würde, mit dem Modem und treffen Sie folgende Einstellungen: DCD ist eingeschaltet, wenn das Trägersignal des entfernten Modems erkannt wird. Im Betrieb liegt DTR an. Bei einem Verlust von DTR legt das Modem auf und setzt sich zurück. CTS Flusssteuerung ist für ausgehende Daten aktiviert. XON/XOFF Flusssteuerung ist ausgeschaltet. RTS Flusssteuerung ist für eingehende Daten aktiviert. Keine Rückmeldungen ausgeben. Die Echo-Funktion ist deaktiviert. In der Dokumentation Ihres Modems finden Sie die nötigen Befehle, die Sie absetzen müssen, und/oder nötigen DIP-Schalterstellungen, um die obigen Einstellungen zu treffen. Für ein externes 14400 USRobotics Sportster gelten zum Beispiel die folgenden Befehle: ATZ AT&C1&D2&H1&I0&R2&W Bei dieser Gelegenheit können Sie auch gleich andere Einstellungen, zum Beispiel ob Sie V42.bis und/oder MNP5 Kompression benutzen wollen, an Ihrem Modem vornehmen. Bei einem externen 14400 USR Sportster müssen Sie auch noch einige DIP-Schalter einstellen. Die folgenden Einstellungen können Sie vielleicht als Beispiel für andere Modems verwenden: Schalter 1: OBEN – DTR normal Schalter 2: N/A (Rückmeldungen als Text/numerische Rückmeldungen) Schalter 3: OBEN – Keine Rückmeldungen ausgeben Schalter 4: UNTEN – Echo-Funktion aus Schalter 5: OBEN – Rufannahme aktiviert Schalter 6: OBEN – Carrier Detect normal Schalter 7: OBEN – Einstellungen aus dem NVRAM laden Schalter 8: N/A (Smart Mode/Dumb Mode) Für Einwählverbindungen sollten die Rückmeldungen deaktiviert sein, da sonst getty dem Modem das Anmeldeprompt login: schickt und das Modem im Kommandomodus das Prompt wieder ausgibt (Echo-Funktion) oder eine Rückmeldung gibt. Das führt dann zu einer länglichen und fruchtlosen Kommunikation zwischen dem Modem und getty. Konfiguration für feste Geschwindigkeit Die Geschwindigkeit zwischen Modem und Computer muss auf einen festen Wert eingestellt werden. Mit einem externen 14400 USR Sportster Modem setzen die folgenden Kommandos die Geschwindigkeit auf den Wert der Datenendeinrichtung fest: ATZ AT&B1&W Konfiguration für angepasste Geschwindigkeit In diesem Fall muss die Geschwindigkeit der seriellen Schnittstelle des Modems der eingehenden Geschwindigkeit angepasst werden. Für ein externes 14400 USR Sportster Modem erlauben die folgenden Befehle eine Anpassung der Geschwindigkeit der seriellen Schnittstelle für Verbindungen, die keine Fehlerkorrektur verwenden: ATZ AT&B2&W Verbindungen mit Fehlerkorrektur (V.42, MNP) verwenden die Geschwindigkeit der Datenendeinrichtung. Überprüfen der Modemkonfiguration Die meisten Modems verfügen über Kommandos, die die Konfiguration des Modems in lesbarer Form ausgeben. Auf einem externen 14400 USR Sportster zeigt ATI5 die Einstellungen im nicht flüchtigen RAM an. Um die wirklichen Einstellungen unter Berücksichtigung der DIP-Schalter zu sehen, benutzen Sie ATZ gefolgt von ATI4. Wenn Sie ein anderes Modem benutzen, schauen Sie bitte in der Dokumentation Ihres Modems nach, wie Sie die Konfiguration des Modems überprüfen können. Fehlersuche Bei Problemen können Sie die Einwählverbindung anhand der folgenden Punkte überprüfen: Überprüfen des FreeBSD Systems Schließen Sie das Modem an das FreeBSD System an und booten Sie das System. Wenn Ihr Modem über Statusindikatoren verfügt, überprüfen Sie, ob der DTR Indikator leuchtet, wenn das Anmeldeprompt erscheint. Dies zeigt an, dass das FreeBSD System einen getty Prozess auf der entsprechenden Schnittstelle gestartet hat und das Modem auf einkommende Verbindungen wartet. Wenn der DTR Indikator nicht leuchtet, melden Sie sich an dem FreeBSD System an und überprüfen mit ps ax, ob FreeBSD einen getty Prozess auf der entsprechenden Schnittstelle gestartet hat. Unter den angezeigten Prozessen sollten Sie ähnliche wie die folgenden finden: 114 ?? I 0:00.10 /usr/libexec/getty V19200 ttyd0 115 ?? I 0:00.10 /usr/libexec/getty V19200 ttyd1 Wenn das Modem noch keinen Anruf entgegengenommen hat und Sie stattdessen die folgende Zeile sehen 114 d0 I 0:00.10 /usr/libexec/getty V19200 ttyd0 bedeutet dies, dass getty die Schnittstelle schon geöffnet hat und zeigt Kabelprobleme oder eine falsche Modemkonfiguration an, da getty die Schnittstelle erst dann öffnen kann, wenn das CD Signal (Carrier Detect) vom Modem anliegt. Wenn Sie keine getty Prozesse auf den gewünschten ttydN Ports finden, untersuchen Sie bitte /etc/ttys auf Fehler. Suchen Sie auch in /var/log/messages nach Meldungen von init oder getty. Wenn Sie dort Meldungen finden, sollten Sie noch einmal die beiden Konfigurationsdateien /etc/ttys und /etc/gettytab nach Fehlern durchsehen. Überprüfen Sie auch, ob die Gerätedateien /dev/ttydN vorhanden sind. Einwählversuch Versuchen Sie, sich in Ihr System einzuwählen. Auf dem entfernten System stellen Sie bitte die folgenden Kommunikationsparameter ein: 8 Bit, keine Parität, ein Stop-Bit. Wenn Sie kein Anmeldeprompt erhalten oder nur unleserliche Zeichen sehen, drücken Sie mehrmals, in Abständen von ungefähr einer Sekunde, Enter. Wenn Sie immer noch nicht die login: Meldung sehen, schicken Sie ein BREAK Kommando. Wenn Sie zur Einwahl ein Highspeed-Modem benutzen, verwenden Sie eine feste Geschwindigkeit auf der seriellen Schnittstelle des Modems (AT&B1 für ein USR Sportster). Wenn Sie jetzt immer noch kein Anmeldeprompt erhalten, überprüfen Sie nochmals /etc/gettytab und stellen sicher, dass der Verbindungstyp in /etc/ttys zu einem gültigen Eintrag in /etc/gettytab gehört, jeder der nx= Einträge in gettytab gültig ist und jeder tc= Eintrag auf einen gültigen Eintrag in gettytab verweist. Wenn das Modem an Ihrem FreeBSD System auf einen eingehenden Anruf nicht antwortet, stellen Sie sicher, dass das Modem so konfiguriert ist, dass es einen Anruf beantwortet, wenn DTR anliegt. Wenn Ihr Modem Statusindikatoren besitzt, können Sie das Anliegen von DTR anhand der Leuchten überprüfen. Wenn Sie alles schon mehrfach überprüft haben und es immer noch noch nicht funktioniert, machen Sie erst einmal eine Pause, bevor Sie weitermachen. Wenn es immer noch nicht funktioniert, können Sie eine Mail an die Mailingliste &a.de.questions; schicken, in der Sie Ihr Modem und Ihr Problem beschreiben und Ihnen sollte geholfen werden. Verbindungen nach Außen Die folgenden Ratschläge beschreiben, wie Sie mit einem Modem eine Verbindung zu einem anderen Computer herstellen. Dies können Sie nutzen, um sich auf einem entfernten Computer anzumelden, oder um eine Verbindung zu einem BBS (Bulletin Board System) herzustellen. Weiterhin ist diese Art von Verbindungen nützlich, wenn mal Ihr PPP nicht funktioniert. Wenn Sie zum Beispiel eine Datei mit FTP übertragen wollen und das über PPP gerade nicht möglich ist, melden Sie sich auf dem entfernten Rechner an und führen dort die FTP Sitzung durch. Die Dateien können Sie danach mit zmodem auf den lokalen Rechner übertragen. Mein Hayes Modem wird nicht unterstützt – was kann ich tun? Eigentlich ist die Onlinehilfe für tip nicht mehr aktuell. Es gibt einen eingebauten, allgemeinen Hayes Wähler. Verwenden Sie einfach at=hayes in /etc/remote. Der Hayes Treiber ist nicht schlau genug, um ein paar der erweiterten Funktionen von neueren Modems zu erkennen – Nachrichten wie BUSY, NO DIALTONE oder CONNECT 115200 verwirren ihn nur. Sie sollten diese Nachrichten mit Hilfe von ATX0&W abschalten, wenn Sie tip benutzen. Der Anwahl-Timeout von tip beträgt 60 Sekunden. Ihr Modem sollte weniger verwenden, oder tip denkt, dass ein Kommunikationsfehler vorliegt. Versuchen Sie es mit ATS7=45&W. Tatsächlich unterstützt die ausgelieferte Version von tip Hayes Modems noch nicht vollständig. Die Lösung ist, tipconf.h in /usr/src/usr.bin/tip/tip zu editieren. Dafür benötigen Sie natürlich die Quellcode Distribution. Ändern Sie die Zeile #define HAYES 0 zu #define HAYES 1. Dann führen Sie make und make install aus. Es sollte jetzt funktionieren. Wie soll ich die AT Befehle eingeben? /etc/remote Erstellen Sie einen so genannten direct Eintrag in /etc/remote. Wenn Ihr Modem zum Beispiel an der ersten seriellen Schnittstelle, /dev/cuaa0, angeschlossen ist, dann fügen Sie die folgende Zeile hinzu: cuaa0:dv=/dev/cuaa0:br#19200:pa=none Verwenden Sie die höchste bps Rate, die Ihr Modem in der br Fähigkeit unterstützt. Geben Sie dann tip cuaa0 ein und Sie sind mit Ihrem Modem verbunden. Wenn auf Ihrem System keine /dev/cuaa0 Datei existiert, geben Sie Folgendes ein: &prompt.root; cd /dev &prompt.root; sh MAKEDEV cuaa0 Oder benutzen Sie cu als root mit dem folgenden Befehl: &prompt.root; cu -lline -sspeed line steht für die serielle Schnittstelle (/dev/cuaa0) und speed für die Geschwindigkeit (57600). Wenn Sie mit dem Eingeben der AT Befehle fertig sind, beenden Sie mit ~.. Wieso funktioniert das <literal>@</literal> Zeichen für die pn Fähigkeit nicht? Das @ Zeichen in der Telefonnummerfähigkeit sagt tip, dass es in der Datei /etc/phones nach einer Nummer suchen soll. Aber @ ist auch ein spezielles Zeichen in den Dateien, in denen Fähigkeiten beschrieben werden, wie /etc/remote. Schreiben Sie es mit einem Backslash: pn=\@ Wie kann ich von der Kommandozeile eine Telefonnummer wählen? Stellen Sie einen allgemeinen Eintrag in /etc/remote. Zum Beispiel: tip115200|Dial any phone number at 115200 bps:\ :dv=/dev/cuaa0:br#115200:at=hayes:pa=none:du: tip57600|Dial any phone number at 57600 bps:\ :dv=/dev/cuaa0:br#57600:at=hayes:pa=none:du: Mit dem folgenden Befehl können Sie dann wählen: &prompt.root; tip -115200 5551234 Sollten Sie cu gegenüber tip bevorzugen, verwenden Sie einen allgemeinen cu-Eintrag: cu115200|Use cu to dial any number at 115200bps:\ :dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du: und benutzen zum Wählen das Kommando: &prompt.root; cu 5551234 -s 115200 Muss ich dabei jedes Mal die bps Rate angeben? Schreiben Sie einen tip1200 oder einen cu1200 Eintrag, aber geben Sie auch die bps Rate an, die Ihr Modem wirklich unterstützt. Leider denkt &man.tip.1;, dass 1200 bps ein guter Standardwert ist und deswegen sucht es nach einem tip1200-Eintrag. Natürlich müssen Sie nicht wirklich 1200 bps benutzen. Wie kann ich möglichst komfortabel über einen Terminal-Server auf verschiedene Rechner zugreifen? Sie müssen nicht warten bis Sie verbunden sind, und jedes Mal CONNECT Rechner eingeben, benutzen Sie tip's cm Fähigkeit. Sie können diese Einträge in /etc/remote verwenden: pain|pain.deep13.com|Forrester's machine:\ :cm=CONNECT pain\n:tc=deep13: muffin|muffin.deep13.com|Frank's machine:\ :cm=CONNECT muffin\n:tc=deep13: deep13:Gizmonics Institute terminal server:\ :dv=/dev/cuaa2:br#38400:at=hayes:du:pa=none:pn=5551234: Mit den Befehlen tip pain oder tip muffin können Sie eine Verbindungen zu den Rechnern pain oder muffin herstellen; mit tip deep13 verbinden Sie sich mit dem Terminal Server. Kann tip mehr als eine Verbindung für jede Seite ausprobieren? Das ist oft ein Problem, wenn eine Universität mehrere Telefonleitungen hat und viele tausend Studenten diese benutzen wollen. Erstellen Sie einen Eintrag für Ihre Universität in /etc/remote und benutzen Sie @ für die pn Fähigkeit: big-university:\ :pn=\@:tc=dialout dialout:\ :dv=/dev/cuaa3:br#9600:at=courier:du:pa=none: Listen Sie die Telefonnummern der Universität in /etc/phones auf: big-university 5551111 big-university 5551112 big-university 5551113 big-university 5551114 tip probiert jede der Nummern in der aufgelisteten Reihenfolge und gibt dann auf. Möchten Sie, dass tip beim Versuchen eine Verbindung herzustellen nicht aufgibt, lassen Sie es in einer while-Schleife laufen. Warum muss ich zweimal <keycombo action="simul"> <keycap>Ctrl</keycap> <keycap>P</keycap> </keycombo> tippen, um ein <keycombo action="simul"> <keycap>Ctrl</keycap> <keycap>P</keycap> </keycombo> zu senden? Ctrl P ist das voreingestellte Zeichen, mit dem eine Übertragung erzwungen werden kann und wird benutzt, um tip zu sagen, dass das nächste Zeichen direkt gesendet werden soll und nicht als Fluchtzeichen interpretiert werden soll. Mit Hilfe der ~s Fluchtsequenz, mit der man Variablen setzen kann, können Sie jedes andere Zeichen als force-Zeichen definieren. Geben Sie ~sforce=Zeichen gefolgt von Enter ein. Für Zeichen können Sie ein beliebiges einzelnes Zeichen einsetzen. Wenn Sie Zeichen weglassen, ist das force-Zeichen nul, das Sie mit Ctrl2 oder CtrlLeertaste eingeben können. Ein guter Wert für Zeichen ist Shift Ctrl 6 , welches nur auf wenigen Terminal Servern benutzt wird. Sie können das force-Zeichen auch bestimmen, indem Sie in $HOME/.tiprc das Folgende einstellen: force=<single-char> Warum ist auf einmal alles was ich schreibe in GROSSBUCHSTABEN?? Sie müssen Ctrl A , eingegeben haben, das raise-Zeichen von tip, das speziell für Leute mit defekten caps-lock Tasten eingerichtet wurde. Benutzen Sie ~s wie oben und setzen Sie die Variable raisechar auf etwas, das Ihnen angemessen erscheint. Tatsächlich kann die Variable auf das gleiche Zeichen wie das force-Zeichen gesetzt werden, wenn Sie diese Fähigkeiten niemals benutzen wollen. Hier ist ein Muster der .tiprc Datei, perfekt für Emacs Benutzer, die oft Ctrl2 und CtrlA tippen müssen: force=^^ raisechar=^^ Geben Sie für ^^ ShiftCtrl6 ein. Wie kann ich Dateien mit <command>tip</command> übertragen? Wenn Sie mit einem anderen &unix; System kommunizieren, können Sie mit ~p (put) und ~t (take) Dateien senden und empfangen. Diese Befehle lassen cat und echo auf dem entfernten System laufen, um Dateien zu empfangen und zu senden. Die Syntax ist: ~p local-file remote-file ~t remote-file local-file Es gibt keine Fehlerkontrolle, deshalb sollten Sie besser ein anderes Protokoll, wie zmodem, benutzen. Wie kann ich zmodem mit <command>tip</command> laufen lassen? Um Dateien zu empfangen, starten Sie das Programm zum Senden auf dem entfernten Computer. Geben Sie dann ~C rz ein, um die Dateien lokal zu empfangen. Um Dateien zu senden, starten Sie das Programm zum Empfangen auf dem entfernten Computer. Geben Sie dann ~C sz Dateien ein, um Dateien auf das entfernte System zu senden. Kazutaka YOKOTA Beigesteuert von Bill Paul Auf Grundlage eines Dokuments von Einrichten der seriellen Konsole serielle Konsole Einführung FreeBSD kann ein System mit einem Dumb-Terminal (unintelligente Datenstation) an einer seriellen Schnittstelle als Konsole booten. Diese Konfiguration ist besonders nützlich für Systemadministratoren, die FreeBSD auf Systemen ohne Tastatur oder Monitor installieren wollen, und Entwickler, die den Kernel oder Gerätetreiber debuggen. Wie in beschrieben, besitzt FreeBSD drei Bootphasen. Der Code für die ersten beiden Bootphasen befindet sich im Bootsektor am Anfang der FreeBSD Slice der Bootplatte. Dieser Bootblock lädt den Bootloader (/boot/loader) in Phase drei. Um eine serielle Konsole einzurichten, müssen Sie den Bootblock, den Bootloader und den Kernel konfigurieren. Konfiguration der Konsole Bereiten Sie ein serielles Kabel vor. Nullmodemkabel Sie benötigen entweder ein Nullmodemkabel oder ein serielles Standard Kabel mit einem Nullmodemkabel-Adapter. In wurden serielle Kabel beschrieben. Trennen Sie die Tastatur vom Computer. Die meisten PC Systeme suchen beim Power On Self Test (POST) nach einer Tastatur und geben eine Fehlermeldung aus, wenn sie keine finden. Einige Maschinen werden sich sogar weigern, ohne Tastatur zu booten. Wenn Ihr Rechner trotz einer Fehlermeldung normal weiterbootet, brauchen Sie weiter nichts zu tun. Beispielsweise geben einige Maschinen mit einem Phoenix BIOS nur Keyboard failed aus und booten dann normal weiter. Wenn Ihr System ohne Tastatur nicht booten will, müssen Sie das BIOS so konfigurieren, das es diesen Fehler ignoriert (wenn das möglich ist). Das Handbuch zu Ihrem Motherboard sollte beschreiben, wie das zu bewerkstelligen ist. Wenn Sie im BIOS Not installed für die Tastatur einstellen, heißt das nicht, dass Sie die Tastatur nicht benutzen können, sondern dies weist das BIOS nur an, nicht nach einer Tastatur zu suchen. Trotz dieser Einstellung können Sie die Tastatur angeschlossen lassen und sie später verwenden. Wenn Ihr System über eine PS/2 Maus verfügt, müssen Sie diese wahrscheinlich auch abziehen. Da sich die PS/2 Maus und die Tastatur einige Hardwarekomponenten teilen, kann das dazu führen, dass die Hardwareerkennung fälschlicherweise eine Tastatur findet, wenn eine PS/2 Maus angeschlossen ist. Gateway 2000 Pentium 90 MHz Systemen wird dieses Verhalten nachgesagt. Normalerweise ist das kein Problem, da eine Maus ohne Tastatur sowieso nicht sinnvoll einsetzbar ist. Schließen Sie einen Dumb-Terminal an COM1 (sio0) an. Wenn Sie keinen Dumb-Terminal besitzen, können Sie einen alten PC/XT mit einem Terminalemulator oder die serielle Schnittstelle eines anderen &unix; Rechners benutzen. Sie benötigen auf jeden Fall eine freie erste serielle Schnittstelle (COM1). Zurzeit ist es nicht möglich, in den Bootblöcken eine andere Schnittstelle zu konfigurieren, ohne diese neu zu kompilieren. Wenn Sie COM1 bereits für ein anderes Gerät benutzen, müssen Sie dieses Gerät temporär entfernen und einen neuen Bootblock sowie Kernel installieren, wenn Ihr FreeBSD erst einmal installiert ist. Auf einem Server sollte COM1 ohnehin verfügbar sein. Wenn Sie die Schnittstelle für ein anderes Gerät benutzen und Sie dieses nicht auf COM2 (sio1) legen können, sollten Sie sich nicht an erster Stelle mit dem Aufsetzen einer seriellen Konsole beschäftigen. Stellen Sie sicher, dass Ihre Kernelkonfiguration die richtigen Optionen für COM1 (sio0) enthält. Relevante Optionen sind: 0x10 Aktiviert die Konsolenunterstützung für dieses Gerät. Zurzeit kann nur ein Gerät die Konsolenunterstützung aktiviert haben. Das erste, in der Konfigurationsdatei aufgeführte Gerät, mit dieser Option, verfügt über eine aktivierte Konsolenunterstützung. Beachten Sie, dass diese Option alleine nicht ausreicht, um die serielle Konsole zu aktivieren. Setzen Sie entweder noch die nachfolgend diskutierte Option oder verwenden Sie beim Booten, wie unten beschrieben, den Schalter . 0x20 Das erste Gerät in der Kernelkonfigurationsdatei mit dieser Option wird, unabhängig von dem unten diskutierten Schalter , zur Konsole. Dies ersetzt COMCONSOLE der FreeBSD Versionen 2.X. Die Option muss zusammen mit verwendet werden. 0x40 Reserviert dieses Gerät und sperrt es für normale Zugriffe. Sie sollten diese Option nicht auf dem Gerät setzen, das Sie als serielle Konsole verwenden wollen. Der Zweck dieser Option ist es, dieses Gerät für das Remote-Debuggen zu reservieren. Das FreeBSD Developers' Handbook enthält dazu weitere Informationen. In FreeBSD 4.0 und späteren Versionen hat sich die Bedeutung dieser Option leicht geändert und es existiert eine weitere Option, um ein Gerät zum Remote-Debuggen zu verwenden. Beispiel: device sio0 at isa? port IO_COM1 tty flags 0x10 irq 4 Weitere Einzelheiten entnehmen Sie bitte &man.sio.4;. Wenn diese Optionen nicht gesetzt sind, müssen Sie auf einer anderen Konsole beim Booten UserConfig starten oder den Kernel neu kompilieren. Erstellen Sie boot.config im Rootverzeichnis der a-Partition des Bootlaufwerks. Der Code des Bootblocks entnimmt dieser Datei, wie Sie Ihr System booten möchten. Um die serielle Konsole zu aktivieren, müssen Sie hier eine oder mehrere Optionen (alle in derselben Zeile) angeben. Die folgenden Optionen stehen zur Auswahl der Konsole zur Verfügung: Schaltet zwischen der internen und der seriellen Konsole um. Wenn Sie beispielsweise von der internen Konsole (Bildschirm) booten, weist den Bootloader und den Kernel an, die serielle Schnittstelle als Konsole zu nehmen. Wenn die Konsole normal auf der seriellen Schnittstelle liegt, wählen Sie mit den Bildschirm aus. Schaltet zwischen Einzelkonsole und Dual-Konsole um. Die Einzelkonsole ist entweder die interne Konsole (der Bildschirm) oder die serielle Schnittstelle, je nach dem Stand von . Im Dual-Konsolen Betrieb ist die Konsole, unabhängig von , gleichzeitig der Bildschirm und die serielle Schnittstelle. Dies trifft aber nur zu, wenn der Bootblock ausgeführt wird. Sobald der Bootloader ausgeführt wird, wird die durch gegebene Konsole die alleinige Konsole. Veranlasst den Bootblock nach einer Tastatur zu suchen. Wenn keine Tastatur gefunden wird, werden und automatisch gesetzt. Wegen Platzbeschränkungen in den Bootblöcken kann nur erweiterte Tastaturen erkennen. Tastaturen mit weniger als 101 Tasten (und ohne F11 und F12 Tasten) werden wahrscheinlich, wie vielleicht auch die Tastaturen einiger Laptops, nicht erkannt. Wenn dies bei Ihrem System der Fall ist, können Sie nicht verwenden, da es leider noch keine Umgehung für dieses Problem gibt. Benutzen Sie also entweder , um die Konsole automatisch zu setzen, oder , um die serielle Konsole zu verwenden. In boot.config können Sie auch andere, in &man.boot.8; beschriebene Optionen, aufnehmen. Mit Ausnahme von werden die Optionen an den Bootloader (/boot/loader) weitergegeben. Der Bootloader untersucht dann einzig um festzustellen, welches Gerät die Konsole wird. Wenn Sie also nur angegeben haben, können Sie die serielle Schnittstelle nur als Konsole verwenden während der Bootblock ausgeführt wird. Danach wird der Bootloader, da ja fehlt, den Bildschirm zur Konsole machen. Booten Sie die Maschine. Wenn Sie das FreeBSD System starten, werden die Bootblöcke den Inhalt von /boot.config auf der Konsole ausgeben: /boot.config: -P Keyboard: no Die zweite Zeile sehen Sie nur, wenn Sie in /boot.config angegeben haben. Sie zeigt an, ob eine Tastatur angeschlossen ist oder nicht. Die Meldungen gehen je nach den Einstellungen in /boot.config auf die interne Konsole, die serielle Konsole, oder beide Konsolen. Optionen Meldungen erscheinen auf keine der internen Konsole der seriellen Konsole der seriellen und der internen Konsole der seriellen und der internen Konsole , mit Tastatur der internen Konsole , ohne Tastatur der seriellen Konsole Nach den oben gezeigten Meldungen gibt es eine kleine Verzögerung bevor die Bootblöcke den Bootloader laden und weitere Meldungen auf der Konsole erscheinen. Sie können die Ausführung der Bootblöcke unterbrechen, um zu überprüfen, ob auch alles richtig aufgesetzt ist, brauchen das aber unter normalen Umständen nicht zu tun. Drücken Sie eine Taste außer Enter um den Bootvorgang zu unterbrechen. Sie erhalten dann ein Prompt, an dem Sie weitere Eingaben tätigen können: >> FreeBSD/i386 BOOT Default: 0:wd(0,a)/boot/loader boot: Je nach Inhalt von /boot.config erscheint das Prompt auf der seriellen Konsole, der internen Konsole oder beiden Konsolen. Wenn die Meldung auf der richtigen Konsole erscheint, drücken Sie Enter um fortzufahren. Wenn Sie das Prompt auf der seriellen Konsole erwartet haben, dort aber nichts sehen, liegt ein Fehler in Ihren Einstellungen vor. Als Umgehung geben Sie an der momentanen Konsole ein, um den Bootblock und den Bootloader auf die serielle Konsole umzustellen. Führen Sie dann den Bootvorgang mit Enter weiter und wenn das System gebootet hat, können Sie die fehlerhaften Einstellungen korrigieren. Nachdem der Bootloader geladen wurde und Sie sich in der dritten Bootphase befinden, können Sie immer noch zwischen der internen und der seriellen Konsole auswählen. Setzen Sie dazu, wie in beschrieben, die entsprechenden Variablen des Bootloaders. Zusammenfassung Die folgende Übersicht zeigt, welche Konsole, abhängig von den getroffenen Einstellungen, ausgewählt wird. Fall 1: Option 0x10 für <devicename>sio0</devicename> device sio0 at isa? port IO_COM1 tty flags 0x10 irq 4 Optionen in /boot.config Konsole in den Bootblöcken Konsole im Bootloader Konsole im Kernel keine interne interne interne serielle serielle serielle serielle und interne interne interne serielle und interne serielle serielle , mit Tastatur interne interne interne , ohne Tastatur serielle und interne serielle serielle Fall 2: Option 0x30 für <devicename>sio0</devicename> device sio0 at isa? port IO_COM1 tty flags 0x30 irq 4 Optionen in /boot.config Konsole in den Bootblöcken Konsole im Bootloader Konsole im Kernel keine interne interne serielle serielle serielle serielle serielle und interne interne serielle serielle und interne serielle serielle , mit Tastatur interne interne serielle , ohne Tastatur serielle und interne serielle serielle Hinweise zur seriellen Konsole Verwenden einer höheren Geschwindigkeit Die Vorgabewerte für die Kommunikationsparameter der seriellen Schnittstelle sind: 9600 baud, 8 Bit, keine Parität und ein Stopp-Bit. Wenn Sie die Geschwindigkeit ändern wollen, müssen Sie mindestens die Bootblöcke neu kompilieren. Fügen Sie die folgende Zeile in /etc/make.conf hinzu und kompilieren Sie Bootblöcke neu: BOOT_COMCONSOLE_SPEED=19200 Wenn die serielle Konsole auf einem anderen Weg als durch die Verwendung von konfiguriert wird, oder die serielle Konsole des Kernels eine andere als die der Bootblöcke ist, müssen der Kernelkonfiguration zudem noch die folgende Option hinzufügen und einen neuen Kernel kompilieren: options CONSPEED=19200 Eine andere Schnittstelle als <devicename>sio0</devicename> benutzen Wenn Sie, warum auch immer, ein anderes Gerät als sio0 für die serielle Konsole einsetzen wollen, kompilieren Sie bitte die Bootblöcke, den Bootloader und den Kernel nach dem folgenden Verfahren neu. Installieren Sie die Kernelquellen (siehe ). Setzen Sie in /etc/make.conf BOOT_COMCONSOLE_PORT auf die Adresse der Schnittstelle (0x3F8, 0x2F8, 0x3E8 oder 0x2E8), die Sie benutzen möchten. Sie können nur sio0 bis sio3 (COM1 bis COM4) benutzen, Multiportkarten können Sie nicht als Konsole benutzen. Interrupts müssen Sie hier nicht angeben. Erstellen Sie eine angepasste Kernelkonfiguration und geben Sie dort die richtigen Optionen für die Schnittstelle, die Sie benutzen möchten, an. Wenn Sie zum Beispiel sio1 (COM2) zur Konsole machen wollen, geben Sie dort entweder device sio1 at isa? port IO_COM2 tty flags 0x10 irq 3 oder device sio1 at isa? port IO_COM2 tty flags 0x30 irq 3 an. Keine andere serielle Schnittstelle sollte als Konsole definiert werden. Übersetzen und installieren Sie die Bootblöcke und den Bootloader: &prompt.root; cd /sys/boot &prompt.root; make &prompt.root; make install Bauen und installieren Sie einen neuen Kernel. Schreiben Sie die Bootblöcke mit &man.disklabel.8; auf die Bootplatte und booten Sie den neuen Kernel. DDB Debugger über die serielle Schnittstelle Wenn Sie den Kerneldebugger über eine serielle Verbindung bedienen möchten (nützlich, kann aber gefährlich sein, wenn auf der Leitung falsche BREAK Signale generiert werden), sollten Sie einen Kernel mit den folgenden Optionen erstellen: options BREAK_TO_DEBUGGER options DDB Benutzung der seriellen Konsole zum Anmelden Da Sie schon die Bootmeldungen auf der Konsole verfolgen können und den Kerneldebugger über die Konsole bedienen können, wollen Sie sich vielleicht auch an der Konsole anmelden. Öffnen Sie /etc/ttys in einem Editor und suchen Sie nach den folgenden Zeilen: ttyd0 "/usr/libexec/getty std.9600" unknown off secure ttyd1 "/usr/libexec/getty std.9600" unknown off secure ttyd2 "/usr/libexec/getty std.9600" unknown off secure ttyd3 "/usr/libexec/getty std.9600" unknown off secure ttyd0 bis ttyd3 entsprechen COM1 bis COM4. Ändern Sie für die entsprechende Schnittstelle off zu on. Wenn Sie auch die Geschwindigkeit der seriellen Schnittstelle geändert haben, müssen Sie std.9600 auf die momentane Geschwindigkeit, zum Beispiel std.19200, anpassen. Sie sollten auch den Terminaltyp von unknown auf den tatsächlich verwendeten Terminal setzen. Damit die Änderungen an der Datei wirksam werden, müssen Sie noch kill -HUP 1 absetzen. Die Konsole im Bootloader ändern In den vorigen Abschnitten wurde beschrieben, wie Sie die serielle Konsole durch Änderungen im Bootblock aktivieren. Dieser Abschnitt zeigt Ihnen, wie Sie mit Kommandos und Umgebungsvariablen die Konsole im Bootloader definieren. Da der Bootloader die dritte Phase im Bootvorgang ist und nach den Bootblöcken ausgeführt wird, überschreiben seine Einstellungen die des Bootblocks. Festlegen der Konsole Mit einer einzigen Zeile in /boot/loader.rc können Sie den Bootloader und den Kernel anweisen, die serielle Schnittstelle zur Konsole zu machen: set console=comconsole Unabhängig von den Einstellungen im Bootblock legt dies die Konsole fest. Die obige Zeile sollte die erste Zeile in /boot/loader.rc sein, so dass Sie die Bootmeldungen so früh wie möglich auf der Konsole sehen. Analog können Sie die interne Konsole verwenden: set console=vidconsole Wenn Sie console nicht setzen, bestimmt der Bootloader (und damit auch der Kernel) die Konsole über die Option des Bootblocks. Ab FreeBSD 3.2 können Sie die Bootkonsole in /boot/loader.conf.local oder /boot/loader.conf anstatt in /boot/loader.rc angeben. In /boot/loader.rc finden Sie bei dieser Methode den folgenden Inhalt: include /boot/loader.4th start Erstellen Sie /boot/loader.conf.local und fügen die Zeile console=comconsole oder console=vidconsole ein. Weitere Informationen erhalten Sie in &man.loader.conf.5;. Momentan gibt es im Bootloader nichts vergleichbares zu im Bootblock. Damit kann die Konsole nicht automatisch über das Vorhandensein einer Tastatur festgelegt werden. Eine andere Schnittstelle als <devicename>sio0</devicename> benutzen Sie müssen den Bootloader neu kompilieren, wenn Sie eine andere Schnittstelle als sio0 benutzen wollen. Folgen Sie der Anleitung aus . Vorbehalte Hinter dem ganzen steckt die Idee, Server ohne Hardware für Grafik und ohne Tastatur zu betreiben. Obwohl es die meisten Systeme erlauben, ohne Tastatur zu booten, gibt es leider nur wenige Systeme, die ohne eine Grafikkarte booten. Maschinen mit einem AMI BIOS können ohne Grafik booten, indem Sie den Grafikadapter im CMOS-Setup auf Not installed setzen. Viele Maschinen unterstützen diese Option allerdings nicht. Damit diese Maschinen booten, müssen sie über eine Grafikkarte, auch wenn es nur eine alte Monochromkarte ist, verfügen. Allerdings brauchen Sie keinen Monitor an die Karte anzuschließen. Sie können natürlich auch versuchen, auf diesen Maschinen ein AMI BIOS zu installieren. diff --git a/de_DE.ISO8859-1/books/handbook/x11/chapter.sgml b/de_DE.ISO8859-1/books/handbook/x11/chapter.sgml index 408fb4696d..1e3989b474 100644 --- a/de_DE.ISO8859-1/books/handbook/x11/chapter.sgml +++ b/de_DE.ISO8859-1/books/handbook/x11/chapter.sgml @@ -1,1712 +1,1736 @@ Martin Heinen Übersetzt von Das X-Window-System Übersicht Mit XFree86 steht unter FreeBSD eine leistungsfähige grafische Benutzeroberfläche zur Verfügung. XFree86 ist eine Open-Source Realisierung des X-Window-Systems. Dieses Kapitel behandelt die Installation und Konfiguration von XFree86 auf einem FreeBSD-System. Weitere Informationen über XFree86 und unterstützte Video-Hardware finden Sie auf der XFree86-Website. Nachdem Sie dieses Kapitel gelesen haben, werden Sie die Komponenten des X-Window-Systems und ihr Zusammenspiel kennen. Wissen, wie XFree86 installiert und konfiguriert wird. Wissen, wie Sie verschiedene Window-Manager installieren und benutzen. Wissen, wie TrueType-Schriftarten mit XFree86 benutzt werden. Wissen, wie Sie die grafische Anmeldung (XDM) einrichten. Bevor Sie dieses Kapitel lesen, sollten Sie wissen, wie Sie Software Dritter installieren (). X-Grundlagen Anwendern anderer grafischer Benutzeroberflächen, wie Microsoft Windows oder MacOS, kommt X beim ersten Mal oft befremdlich vor. Man braucht kein weitreichendes Verständnis der X-Komponenten und Ihres Zusammenspiels, um X anzuwenden. Um die Stärken von X auszunutzen, sollten Sie allerdings die Grundlagen verstehen. Warum heißt es X? X ist nicht die erste grafische Benutzeroberfläche, die für &unix; geschrieben wurde. Die Entwickler von X arbeiteten vorher an einem anderen System, das W (von engl. window: Fenster) hieß. X ist schlicht der nächste Buchstabe im Alphabet. X wird X, X-Window-System oder X11 genannt. Sagen Sie bitte nicht X-Windows: das kommt bei einigen Leuten schlecht an - (die Hilfeseite &man.X.1; führt dies näher aus). + (die Hilfeseite &man.X.7; führt dies näher aus). Das Client/Server-Modell von X X wurde von Anfang an netzwerktransparent entworfen und verwendet ein Client-Server-Modell. In diesem Modell läuft der Server auf dem Rechner, an dem die Tastatur, der Bildschirm und die Maus angeschlossen ist. Der Server ist für Dinge wie die Verwaltung des Bildschirms und die Verarbeitung von Tastatur- und Maus-Eingaben verantwortlich. Jede X-Anwendung, beispielsweise ein XTerm oder Netscape ist ein Client. Der Client sendet dem Server Nachrichten wie Zeichne an diesen Koordinaten ein Fenster und der Server sendet dem Client Nachrichten der Art Der Benutzer hat gerade den Ok-Knopf gedrückt. Wenn, wie oft in kleinen Umgebungen, nur ein Rechner zur Verfügung steht, laufen der X-Server und die X-Clients auf demselben Rechner. Es ist aber durchaus möglich, den X-Server auf einem weniger leistungsfähigen Arbeitsplatzrechner laufen zu lassen und die X-Anwendungen (die Clients) auf dem leistungsfähigen und teuren Server der Arbeitsgruppe zu betreiben. In diesem Fall kommunizieren der X-Server und die X-Clients über das Netz. Dieses Modell verwirrt viele Leute, die erwarten, dass der X-Server der dicke Rechner im Maschinenraum und der X-Client ihr Arbeitsplatzrechner ist. Merken Sie sich einfach, dass der X-Server der Rechner mit dem Bildschirm und der Maus ist und die X-Clients Programme sind, die in den Fenstern laufen. Das X-Protokoll ist unabhängig vom verwendeten Betriebssystem und Rechnertyp. Ein X-Server kann durchaus auch unter Microsoft Windows oder Apples MacOS betrieben werden, wie viele kostenlose und kommerzielle Anwendungen zeigen. Der X-Server von FreeBSD heißt XFree86 und steht kostenlos unter einer Lizenz, die ähnlich der FreeBSD-Lizenz ist, zur Verfügung. Kommerzielle X-Server sind ebenfalls erhältlich. Der Window-Manager Die X-Philosophie Werkzeuge statt Richtlinien ist wie die UNIX-Philosophie. Es wird nicht vorgeschrieben, wie eine Aufgabe zu lösen ist, stattdessen erhält der Benutzer Werkzeuge, über die er frei verfügen kann. Dies geht so weit, dass X nicht bestimmt, wie Fenster auf dem Bildschirm auszusehen haben, wie sie mit der Maus zu verschieben sind, welche Tastenkombination benutzt werden muss, um zwischen den Fenstern zu wechseln (z.B. Alt Tab unter Microsoft Windows), oder ob die Fensterrahmen Schaltflächen zum Schließen haben. X gibt die Verantwortung für all diese Sachen an eine Anwendung ab, die Window-Manager genannt wird. Unter X gibt es zahlreiche Window-Manager: AfterStep, Blackbox, ctwm, Enlightenment, fvwm, Sawfish, twm, Window Maker um nur einige zu nennen. Jeder dieser Window-Manager sieht anders aus: manche stellen virtuelle Bildschirme zur Verfügung, in anderen lassen sich die Tastenkombinationen zur Verwaltung des Bildschirms anpassen, einige besitzen eine Startleiste oder etwas Ähnliches und in manchen läßt sich das Aussehen und Verhalten über die Anwendung von Themes beliebig einstellen. Die eben genannten Window-Manager und viele weitere finden Sie in der Kategorie x11-wm der Ports-Sammlung. Die grafischen Benutzeroberflächen KDE und GNOME besitzen eigene Window-Manager, die in den grafischen Arbeitsplatz integriert sind. Die Window-Manager werden unterschiedlich konfiguriert. Einige erwarten eine manuell erstellte Konfigurationsdatei, andere bieten grafische Werkzeuge für die meisten Konfigurations-Arbeiten an. Die Konfigurationsdatei von sawfish ist sogar in einem Lisp-Dialekt geschrieben. Fokus Weiterhin ist der Window-Manager für die Methode, mit der ein Fenster den Fokus bekommt, verantwortlich. Jedes System, das Fenster verwendet, muss entscheiden, wie ein Fenster aktiviert wird, damit es Eingaben empfangen kann. Das aktive Fenster sollte zudem sichtbar gekennzeichnet werden. Eine geläufige Methode, den Fokus zu wechseln, wird click-to-focus genannt. Die Methode wird in Microsoft Windows benutzt: Ein Fenster wird aktiv, wenn es mit der Maus angeklickt wird. X legt nicht fest, wie der Fokus einzustellen ist, stattdessen bestimmt der Window-Manager welches Fenster den Fokus zu einem gegebenen Zeitpunkt erhält. Alle Window-Manager stellen die Methode click-to-focus bereit, die meisten stellen auch noch andere Methoden bereit. Verbreitete Methoden, den Fokus einzustellen, sind: focus-follows-mouse Den Fokus hat das Fenster, unter dem sich der Mauszeiger befindet. Das muss nicht unbedingt das Fenster, sein, das sich vorne befindet. Wird der Mauszeiger in ein anderes Fenster bewegt, so erhält dieses Fenster den Fokus, ohne das es angeklickt werden muss. sloppy-focus Diese Methode erweitert die Methode focus-follows-mouse. Wenn die Maus mit focus-follows-mouse aus dem Fenster auf die Oberfläche bewegt wird, verliert das aktive Fenster den Fokus. Da dann kein Fenster mehr den Fokus hat, gehen alle Eingaben verloren. Die Methode sloppy-focus wechselt den Fokus nur, wenn sich der Mauszeiger in ein neues Fenster bewegt und nicht, wenn er das aktive Fenster verläßt. click-to-focus Das aktive Fenster wird durch einen Mausklick festgelegt (dabei kann das Fenster vor alle anderen Fenster gesetzt werden). Alle Eingaben werden dann, unabhängig von der Position des Mauszeigers, dem aktiven Fenster zugeordnet. Viele Window-Manager unterstützen noch andere Methoden, so wie Abwandlungen der hier vorgestellten Methoden. Schauen Sie sich dazu bitte die Hilfeseiten Ihres Window-Managers an. Widgets Die X-Philosophie dehnt sich auch auf die Widgets aus, die von den Anwendungen benutzt werden. Ein Widget bezeichnet Objekte, die manipuliert werden können, wie buttons (Schaltflächen), check buttons (Mehrfachauswahlknopf), radio buttons (Einfachauswahlknopf), Icons und Auswahllisten. Unter Microsoft Windows werden Widgets Controls genannt. Microsoft Windows und Apples MacOS geben strenge Richtlinien für Widgets vor: Von den Entwicklern wird erwartet, dass Sie Anwendungen mit einheitlichem Aussehen und einheitlicher Bedienung (look and feel) entwickeln. X gibt weder einen Stil noch Widgets vor, die benutzt werden müssen. Erwarten Sie daher nicht, dass alle X-Anwendungen gleich aussehen oder sich gleich bedienen lassen. Es gibt mehrere verbreitete Widget-Sammlungen, beispielsweise die Athena-Widgets vom MIT, Motif (abgeschrägte Ecken und drei Grautöne, danach wurden die Widgets von Microsoft Windows entworfen) oder OpenLook. Die meisten neuen X-Anwendungen benutzen heute modern aussehende Widgets, wie Qt, das von KDE benutzt wird oder GTK, das von GNOME benutzt wird. Damit wird eine gewisse Einheitlichkeit in Bedienung und Aussehen erreicht, die sicher neuen Benutzern die Arbeit erleichtert. XFree86 installieren Legen Sie zuerst die XFree86-Version fest, die Sie einsetzen wollen. XFree86 3.X ist sehr stabil und unterstützt zahlreiche Grafikkarten, allerdings wird dieser Entwicklungszweig nicht mehr weiterentwickelt. XFree86 4.X wurde komplett neu entworfen und besitzt neue Merkmale wie die verbesserte Unterstützung von Schriftarten und Anti-aliasing. Leider mussten dafür auch die Grafiktreiber neu geschrieben werden und einige der alten Karten, die in 3.X unterstützt wurden, werden in 4.X noch nicht unterstützt. Da Treiber für neue Grafikkarten nur noch in XFree86 4.X erstellt werden, ist diese Version in FreeBSD voreingestellt. Während Sie FreeBSD einrichten, haben Sie Gelegenheit XFree86 4.X zu installieren. XFree86 3.X müssen Sie nach dem Basissystem installieren. Aus der Ports-Sammlung installieren Sie XFree86 3.X wie folgt: &prompt.root; cd /usr/ports/x11/XFree86 &prompt.root; make all install clean Beide Versionen von XFree86 können Sie auch direkt mit den binären Distributionen von der XFree86 Website installieren. XFree86 4.X steht ebenfalls als Paket für &man.pkg.add.1; zur Verfügung. Soll das Paket auch mit &man.pkg.add.1; heruntergeladen werden, darf die Versionsnummer auf der Kommandozeile nicht verwendet werden, da &man.pkg.add.1; automatisch die neuste Version herunterlädt. Die neuste Version von XFree86 4.X wird mit dem folgenden Kommando heruntergeladen und installiert: &prompt.root; pkg_add -r XFree86 XFree86 4.X lässt sich auch aus der Ports-Sammlung installieren: &prompt.root; cd /usr/ports/x11/XFree86-4 &prompt.root; make install clean + + Die obigen Beispiele installieren ein komplettes + X (mit Servern, Clients und Schriftarten). Einzelne + Komponenten von XFree86 4.X + stehen auch als separates Paket oder als separater + Port zur Verfügung. + + Der Rest dieses Kapitels erklärt, wie Sie XFree86 konfigurieren und sich eine Arbeitsumgebung einrichten. Christopher Shumway Beigetragen von XFree86 konfigurieren XFree86 4.X XFree86 Vorarbeiten Bevor Sie XFree86 4.X konfigurieren, benötigen Sie folgende Informationen: die Spezifikationen des Monitors den Chipset des Grafikadapters die Speichergröße des Grafikadapters Synchronisationsfrequenz horizontale Synchronisationsfrequenz vertikale Aus den Spezifikationen des Monitors ermittelt XFree86 die Auflösung und die Wiederholrate für den Betrieb des X-Servers. Die Spezifikationen entnehmen Sie der Dokumentation des Monitors oder der Webseite des Herstellers. Sie benötigen die horizontale und die vertikale Synchronisationsfrequenz. Der Chipsatz der Grafikkarte bestimmt den Treiber, den XFree86 verwendet. Die meisten Chipsätze werden automatisch erkannt, Sie brauchen die Information jedoch, wenn die Erkennung fehlschlägt. Die Speichergröße der Grafikkarte bestimmt die maximal mögliche Auflösung und Farbtiefe. XFree86 4.X konfigurieren XFree86 4.X wird in mehreren Schritten konfiguriert. Mit der Option von XFree86 wird zuerst eine Vorgabe für die Konfigurationsdatei erstellt. Setzen Sie dazu als root den folgenden Befehl ab: &prompt.root; XFree86 -configure Die Vorgabe-Konfiguration wird dann unter dem Namen XF86Config.new im Verzeichnis /root abgespeichert (das verwendete Verzeichnis wird durch die Umgebungsvariable $HOME bestimmt und hängt davon ab, wie Sie zu root gewechselt sind). XFree86 hat in diesem Schritt versucht, die Grafik-Hardware des Systems zu erkennen und eine Konfigurationsdatei ausgeschrieben, die die zur Hardware passenden Treiber lädt. Im nächsten Schritt wird geprüft, ob XFree86 die Grafik-Hardware des Systems verwenden kann. Setzen Sie dazu den folgenden Befehl ab: &prompt.root; XFree86 -xf86config XF86Config.new Wenn jetzt ein graues Raster und der X-Mauszeiger erscheinen, war die Konfiguration erfolgreich. Beenden Sie den Test indem Sie Ctrl Alt Backspace drücken. Wenn die Maus nicht funktioniert, überprüfen Sie, ob die Maus konfiguriert wurde. Die Mauskonfiguration wird in beschrieben. XFree86 4 anpassen Als Nächstes passen Sie XF86Config.new an. Öffnen Sie die Datei in einem Editor, wie &man.emacs.1; oder &man.ee.1; und fügen Sie die Synchronisationsfrequenzen des Monitors ein. Die Frequenzen werden im Abschnitt "Monitor" eingetragen: Section "Monitor" Identifier "Monitor0" VendorName "Monitor Vendor" ModelName "Monitor Model" HorizSync 30-107 VertRefresh 48-120 EndSection Unter Umständen fehlen die Schlüsselwörter HorizSync und VertRefresh, die Sie dann nachtragen müssen. Geben Sie, wie im Beispiel gezeigt, die horizontale Synchronisationsfrequenz hinter Horizsync und die vertikale Synchronisationsfrequenz hinter VertRefresh an. X unterstützt die Energiesparfunktionen (DPMS, Energy Star) Ihres Monitors. Mit &man.xset.1; können Sie Zeitschranken für die DPMS-Modi standby, suspend, off vorgeben, oder diese zwingend aktivieren. Die DPMS-Funktionen können Sie mit der nachstehenden Zeile im "Monitor"-Abschnitt aktivieren: Option "DPMS" XF86Config Die gewünschte Auflösung und Farbtiefe stellen Sie im Abschnitt "Screen" ein: Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Depth 24 Modes "1024x768" EndSubSection EndSection Mit DefaultDepth wird die Farbtiefe des X-Servers vorgegeben. Mit der Option -bpp von &man.XFree86.1; lässt sich die vorgegebene Farbtiefe überschreiben. Modes gibt die Auflösung für die angegebene Farbtiefe an. Die Farbtiefe im Beispiel beträgt 24 Bits pro Pixel, die zugehörige Auflösung ist 1024x768 Pixel. Beachten Sie, dass in der Voreinstellung nur Standard-VESA-Modi der Grafikkarte angegeben werden können. Sichern Sie die Konfigurationsdatei und testen Sie sie wie oben beschrieben. Installieren Sie dann die Datei an einen Ort, an dem &man.XFree86.1; sie findet (typischerweise /etc/X11/XF86Config oder /usr/X11R6/etc/X11/XF86Config): &prompt.root; cp XF86Config.new /etc/X11/XF86Config Damit ist die Konfiguration beendet. Wenn Sie XFree86 4.X mit &man.startx.1; starten wollen, müssen Sie noch den Port x11/wrapper installieren. Sie können XFree86 4.X aber auch mit &man.xdm.1; starten. + + + XFree86 4.X kann auch + im Grafikmodus mit &man.xf86cfg.1; konfiguriert werden. + Mit dem interaktiven Werkzeug können Treiber + ausgewählt und Einstellungen vorgenommen werden. + Das Programm kann auch auf der Konsole benutzt werden, + starten Sie es einfach mit xf86cfg -textmode. + Weitere Informationen erhalten Sie in der Hilfeseite + &man.xf86cfg.1;. + Spezielle Konfigurationen Konfiguration des Intel i810 Graphics Chipsets Intel i810 Chipset Der Intel i810 Chipset benötigt den Treiber agpgart, die AGP-Schnittstelle von XFree86. Der Treiber &man.agp.4; befindet sich seit 4.8-RELEASE und 5.0-RELEASE in der Vorgabekonfiguration GENERIC. Wenn Sie eine frühere FreeBSD-Version benutzen müssen Sie Ihre Kernelkonfiguration um die nachstehende Zeile erweitern: device agp Anschließend müssen Sie einen neuen Kernel bauen. Sie können beim Systemstart das Modul agp.ko auch mit dem &man.loader.8; aktivieren. Fügen Sie dazu einfach die nachstehende Zeile in /boot/loader.conf ein: agp_load="YES" Wenn Sie FreeBSD 4.X oder eine frühere Version benutzen, müssen Sie noch die Gerätedateien im Verzeichnis /dev erstellen: &prompt.root; cd /dev &prompt.root; sh MAKEDEV agpgart Wenn Sie FreeBSD 5.X oder eine neuere Version verwenden, werden die Gerätedateien automatisch von &man.devfs.5; angelegt. Lassen Sie dann diesen Schritt aus. Ab jetzt kann die Hardware wie jede andere Grafikkarte auch konfiguriert werden. Der Treiber &man.agp.4; kann nicht nachträglich mit &man.kldload.8; in einen laufenden Kernel geladen werden. Er muss entweder fest im Kernel eingebunden sein oder beim Systemstart über /boot/loader.conf geladen werden. Ab XFree86 4.1.0 kann es sein, dass Sie Meldungen über unresolved symbols wie fbPictureInit erhalten. Fügen Sie in diesem Fall die nachstehende Zeile hinter Driver "i810" in der XFree86-Konfigurationsdatei ein: Option "NoDDC" Murray Stokely Beigetragen von Schriftarten in XFree86 benutzen Type 1 Schriftarten Die Schriftarten, die mit XFree86 geliefert werden, eignen sich ganz und gar nicht für Desktop-Publishing-Anwendungen. Große Schriftarten zeigen bei Präsentationen deutliche Treppenstufen und die kleinen Schriftarten in Netscape sind fast unleserlich. Es gibt allerdings mehrere hochwertige Type 1 Schriftarten (PostScript), die mit XFree86 (Version 3.X oder 4.X) benutzt werden können. Beispielsweise enthalten die URW-Schriftarten (x11-fonts/urwfonts) hochwertige Versionen gängiger Type 1 Schriftarten (z.B. Times Roman, - Helvetica, Palatino). Die Freefont-Sammlung (x11-fonts/freefont) enthält noch + Helvetica, Palatino). Die Sammlung Freefonts (x11-fonts/freefonts) enthält noch mehr Schriftarten, doch sind diese für den Einsatz in Grafik-Programmen wie The Gimp gedacht. Es fehlen auch einige Schriftarten, so dass sich die Sammlung nicht für den alltäglichen Gebrauch eignet. Weiterhin kann XFree86 leicht so konfiguriert werden, dass es TrueType-Schriftarten verwendet (dies wird später im Abschnitt TrueType Schriftarten beschrieben). Die Type 1 Schriftarten lassen sich aus der Ports-Sammlung wie folgt installieren: &prompt.root; cd /usr/ports/x11-fonts/urwfonts &prompt.root; make install clean Analog lassen sich Freefont und andere Sammlungen installieren. Die neuen Schriftarten müssen dem X-Server in der Datei XF86Config bekannt gegeben werden. In der Version 3 von XFree86 befindet diese Datei in /etc, in Version 4 befindet sich die Datei im Verzeichnis /etc/X11/. Fügen Sie die folgende Zeile hinzu: FontPath "/usr/X11R6/lib/X11/fonts/URW/" Sie können aber auch in der X-Sitzung das folgende Kommando absetzen: &prompt.user; xset fp+ /usr/X11R6/lib/X11/fonts/URW &prompt.user; xset fp rehash Dann kennt der X-Server die neuen Schriftarten nur bis zum Ende der Sitzung. Wenn die Änderung dauerhaft sein soll, müssen Sie die Kommandos in ~/.xinitrc eintragen, wenn Sie X mit startx starten, oder in ~/.xsession, wenn Sie XDM benutzen. Sie können die Schriftarten auch in die neue Datei XftConfig, die im Abschnitt Anti-aliasing beschrieben wird, eintragen. TrueType-Schriftarten TrueType-Schriftarten Schriftarten TrueType XFree86 4.X kann TrueType-Schriftarten mithilfe von zwei Modulen darstellen. Im folgenden Beispiel wird das Freetype-Modul benutzt, da es besser mit anderen Werkzeugen, die TrueType-Schriftarten darstellen, übereinstimmt. Das Freetype-Modul aktivieren Sie im Abschnitt "Module" von /etc/X11/XF86Config durch Einfügen der Zeile: Load "freetype" XFree86 3.3.X benötigt einen gesonderten TrueType-Schriftserver. Üblicherweise wird dafür Xfstt verwendet, den Sie aus dem Port x11-servers/Xfstt installieren können. Erstellen Sie ein Verzeichnis für die TrueType-Schriftarten (z.B. /usr/X11R6/lib/X11/fonts/TrueType) und kopieren Sie alle Schriftarten dorthin. Die Schriftarten müssen im UNIX/DOS/Windows-Format liegen, Schriftarten von einem Macintosh können Sie nicht direkt übernehmen. Die Schriftarten müssen noch in der Datei fonts.dir katalogisiert werden. Den Katalog können Sie mit ttmkfdir aus dem Port x11-fonts/ttmkfdir erzeugen: &prompt.root; cd /usr/X11R6/lib/X11/fonts/TrueType &prompt.root; ttmkfdir > fonts.dir Geben Sie dem System das TrueType-Verzeichnis, wie im Abschnitt Type 1 Schriftarten beschrieben, bekannt: &prompt.user; xset fp+ /usr/X11R6/lib/X11/fonts/TrueType &prompt.user; xset fp rehash Oder fügen Sie eine -Zeile in XF86Config hinzu. Das war's. Jetzt sollten Netscape, Gimp, StarOffice und alle anderen X-Anwendungen die TrueType-Schriftarten benutzen. Extrem kleine Schriftarten (Webseiten, die mit hoher Auflösung betrachtet werden) und sehr große Schriftarten (in StarOffice) sollten jetzt viel besser aussehen. Joe Marcus Clarke Aktualisiert von Anti-aliasing Anti-aliasing Schriftarten Anti-aliasing XFree86 beherrscht das Anti-aliasing-Verfahren seit der Version 4.0.2. Die Konfiguration der Schriftarten war vor XFree86 4.3.0 ziemlich schwierig. Ab der Version 4.3.0 stehen alle Schriftarten in /usr/X11R6/lib/X11/fonts/ und ~/.fonts/ automatisch für das Anti-aliasing-Verfahren mit Anwendungen, die Xft unterstützen, zur Verfügung. Es gibt schon viele Anwendungen, die Xft unterstützen, zum Beispiel: Qt 2.3 und höhere Versionen (das KDE-Toolkit), Gtk+ 2.0 und höhere Versionen (das GNOME-Toolkit) sowie Mozilla 1.2 und höhere Versionen. In der Datei /usr/X11R6/etc/fonts/local.conf werden die Schriftarten, die mit dem Anti-aliasing-Verfahren benutzt werden sollen und die Eigenschaften des Verfahrens festgelegt. In diesem Abschnitt wird nur die grundlegende Konfiguration von Xft beschrieben. Weitere Details entnehmen Sie bitte der Hilfeseite &man.fonts-conf.5;. XML Die Datei local.conf ist ein XML-Dokument. Achten Sie beim Editieren der Datei daher auf die richtige Groß- und Kleinschreibung und darauf, dass alle Tags geschlossen sind. Die Datei beginnt mit der üblichen XML-Deklaration gefolgt von einer DOCTYPE-Definition und dem <fontconfig>-Tag: <?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> Wie vorher erwähnt, stehen schon alle Schriftarten in /usr/X11R6/lib/X11/fonts/ und ~/.fonts/ für Anwendungen, die Xft unterstützen, zur Verfügung. Wenn Sie ein Verzeichnis außerhalb dieser beiden Bäume benutzen wollen, fügen Sie eine Zeile wie die nachstehende zu /usr/X11R6/etc/fonts/local.conf hinzu: <dir>/path/to/my/fonts</dir> Wenn Sie neue Schriftarten hinzugefügt haben, müssen Sie den Schriftarten-Cache neu aufbauen: &prompt.root; fc-cache -f Das Anti-aliasing-Verfahren zeichnet Ränder leicht unscharf, dadurch werden kleine Schriften besser lesbar und der Treppenstufen-Effekt bei wird großen Schriften vermieden. Auf normale Schriftgrößen sollte das Verfahren aber nicht angewendet werden, da dies die Augen zu sehr anstrengt. Um kleinere Schriftgrößen als 14 Punkt von dem Verfahren auszunehmen, fügen Sie in local.conf die nachstehenden Zeilen ein: <match target="font"> <test name="size" compare="less"> <double>14</double> </test> <edit name="antialias" mode="assign"> <bool>false</bool> </edit> </match> Schriftarten Abstände Das Anti-aliasing-Verfahren kann die Abstände einiger Fixschriften falsch darstellen, dies fällt besonders unter KDE auf. Sie können das Problem umgehen, indem Sie die Abstände dieser Schriften auf den Wert 100 festsetzen. Fügen Sie die nachstehenden Zeilen hinzu: <match target="pattern" name="family"> <test qual="any" name="family"> <string>fixed</string> </test> <edit name="family" mode="assign"> <string>mono</string> </edit> </match> <match target="pattern" name="family"> <test qual="any" name="family"> <string>console</string> </test> <edit name="family" mode="assign"> <string>mono</string> </edit> </match> Damit werden die Namen der gebräuchlichen Fixschriften auf "mono" abgebildet. Für diese Schriften setzen Sie dann den Abstand fest: <match target="pattern" name="family"> <test qual="any" name="family"> <string>mono</string> </test> <edit name="spacing" mode="assign"> <int>100</int> </edit> </match> Bestimmte Schriftarten, wie Helvetica, können Probleme mit dem Anti-Aliasing-Verfahren verursachen. In der Regel erscheinen diese Schriftarten dann vertikal halbiert. Im schlimmsten Fall stürzen Anwendungen, wie Mozilla, als Folge davon ab. Sie vermeiden dies, indem Sie betroffene Schriftarten in local.conf von dem Verfahren ausnehmen: <match target="pattern" name="family"> <test qual="any" name="family"> <string>Helvetica</string> </test> <edit name="family" mode="assign"> <string>sans-serif</string> </edit> </match> Wenn Sie local.conf editiert haben, stellen Sie bitte sicher, dass die Datei mit dem Tag </fontconfig> endet. Ist das nicht der Fall, werden die Änderungen nicht berücksichtigt. Die mit XFree86 gelieferten Schriftarten eignen sich nicht besonders für das Anti-Aliasing-Verfahren. Der Port x11-fonts/bitstream-vera enthält viel besser geeignete Schriftarten. Wenn sie noch nicht existiert, legt der Port die Datei /usr/X11R6/etc/fonts/local.conf an. Ansonsten erzeugt der Port die Datei /usr/X11R6/etc/fonts/local.conf-vera, deren Inhalt Sie in /usr/X11R6/etc/fonts/local.conf aufnehmen müssen. Danach werden die XFree86-Schriftarten Serif, Sans Serif und Monospaced durch die entsprechenden Bitstream-Schriftarten ersetzt. Benutzer können eigene Einstellungen in der Datei ~/.fonts.conf vornehmen. Achten Sie auch hier auf die richtige XML-Syntax. LCD Schriftarten auf einem LCD Mit einem LCD können Sie sub-pixel sampling anstelle von Anti-aliasing einsetzen. Dieses Verfahren behandelt die horizontal getrennten Rot-, Grün- und Blau-Komponenten eines Pixels gesondert und verbessert damit (teilweise sehr wirksam) die horizontale Auflösung. Die nachstehende Zeile in local.conf aktiviert diese Funktion: <match target="font"> <test qual="all" name="rgba"> <const>unknown</const> </test> <edit name="rgba" mode="assign"> <const>rgb</const> </edit> </match> Abhängig von der Organisation Ihres Bildschirms müssen Sie anstelle von verwenden. Experimentieren Sie und schauen Sie, was besser aussieht. Mozilla Web-Browser Mozilla Mozilla Der nächste Start des X-Servers aktiviert das Anti-aliasing-Verfahren. Beachten Sie, dass die Anwendungen dieses Verfahren auch benutzen müssen. Zurzeit wird das Verfahren von Qt und damit von KDE benutzt (Details finden Sie in ). Gtk+ und GNOME können das Verfahren mit dem Font-capplet benutzen (Details entnehmen Sie bitte ). Ab der Version 1.2 benutzt Mozilla automatisch das Anti-Aliasing Verfahren. Dies können Sie verhindern, wenn Sie beim Übersetzen von Mozilla die Option -DWITHOUT_XFT angeben. Seth Kingsley Beigetragen von Der X-Display-Manager Einführung X-Display-Manager Der X-Display-Manager (XDM), eine optionale Komponente des X-Window-Systems, verwaltet Sitzungen. Er kann mit vielen Komponenten, wie minimal ausgestatteten X-Terminals, Arbeitsplatz-Rechnern und leistungsfähigen Netzwerkservern, nutzbringend eingesetzt werden. Da das X-Window-System netzwerktransparent ist, gibt es zahlreiche Möglichkeiten, X-Clients und X-Server auf unterschiedlichen Rechnern im Netz laufen zu lassen. XDM stellt eine grafische Anmeldemaske zur Verfügung, in der Sie den Rechner, auf dem eine Sitzung laufen soll, auswählen können und in der Sie die nötigen Autorisierungs-Informationen, wie Benutzername und Passwort, eingeben können. Die Funktion des X-Display-Managers läßt sich mit der von &man.getty.8; (siehe ) vergleichen. Er meldet den Benutzer am ausgesuchten System an, startet ein Programm (meist einen Window-Manager) und wartet darauf, dass dieses Programm beendet wird, das heißt der Benutzer die Sitzung beendet hat. Nachdem die Sitzung beendet ist, zeigt XDM den grafischen Anmeldebildschirm für den nächsten Benutzer an. XDM einrichten Der XDM-Dæmon befindet sich in /usr/X11R6/bin/xdm und kann jederzeit von root gestartet werden. Er verwaltet dann den X-Bildschirm des lokalen Rechners. XDM läßt sich bequem mit einem Eintrag in /etc/ttys (siehe ) bei jedem Start des Rechners aktivieren. In /etc/ttys sollte schon der nachstehende Eintrag vorhanden sein: ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure In der Voreinstellung ist dieser Eintrag nicht aktiv. Um den Eintrag zu aktivieren, ändern Sie den Wert in Feld 5 von off zu on und starten Sie &man.init.8; entsprechend der Anleitung in neu. Das erste Feld gibt den Namen des Terminals an, auf dem das Programm läuft. Im Beispiel wird ttyv8 verwendet, das heißt XDM läuft auf dem neunten virtuellen Terminal. XDM konfigurieren Das Verhalten und Aussehen von XDM steuern Sie mit Konfigurationsdateien, die im Verzeichnis /usr/X11R6/lib/X11/xdm stehen. Üblicherweise finden Sie dort die folgenden Dateien vor: Datei Beschreibung Xaccess Regelsatz, der zur Autorisierung von Clients benutzt wird. Xresources Vorgabewerte für X-Ressourcen. Xservers Liste mit lokalen und entfernten Bildschirmen, die verwaltet werden. Xsession Vorgabe für das Startskript der Sitzung. Xsetup_* Skript, das dazu dient, Anwendungen vor der Anmeldung zu starten. xdm-config Konfiguration für alle auf der Maschine verwalteten Bildschirme. xdm-errors Fehlermeldungen des Servers. xdm-pid Die Prozess-ID des gerade laufenden XDM-Prozesses. Im Verzeichnis /usr/X11R6/lib/X11/xdm befinden sich auch noch Skripten und Programme, die zum Einrichten der XDM-Oberfläche dienen. Der Zweck dieser Dateien und der Umgang mit ihnen wird in der Hilfeseite &man.xdm.1; erklärt. Wir gehen im Folgenden nur kurz auf ein paar der Dateien ein. Die vorgegebene Einstellung zeigt ein rechteckiges Anmeldefenster, in dem der Rechnername in großer Schrift steht. Darunter befinden sich die Eingabeaufforderungen Login: und Password:. Mit dieser Maske können Sie anfangen, wenn Sie das Erscheinungsbild von XDM verändern wollen. Xaccess Verbindungen zu XDM werden mit dem X Display Manager Connection Protocol (XDMCP) hergestellt. XDMCP-Verbindungen von entfernten Maschinen werden über den Regelsatz in Xaccess kontrolliert. In der Vorgabe sind alle Verbindungen erlaubt, doch muss auch xdm-config geändert werden, damit XDM Verbindungen entfernter Maschinen annimmt. Xresources In dieser Datei kann das Erscheinungsbild der Bildschirmauswahl und der Anmeldemasken festgelegt werden. Das Format entspricht den Dateien im Verzeichnis app-defaults, die in der XFree86-Dokumentation beschrieben sind. Xservers Diese Datei enthält eine Liste entfernter Maschinen, die in der Bildschirmauswahl angeboten werden. Xsession Dieses Skript wird vom XDM aufgerufen, nachdem sich ein Benutzer erfolgreich angemeldet hat. Üblicherweise besitzt jeder Benutzer eine angepasste Version dieses Skripts in ~/.xsession, das dann anstelle von Xsession ausgeführt wird. Xsetup_* Diese Skripten werden automatisch ausgeführt bevor die Bildschirmauswahl oder die Anmeldemasken angezeigt werden. Für jeden lokalen Bildschirm gibt es ein Skript, dessen Namen aus Xsetup_ gefolgt von der Bildschirmnummer gebildet wird (zum Beispiel Xsetup_0). Normalerweise werden damit ein oder zwei Programme, wie xconsole, im Hintergrund gestartet. xdm-config Diese Datei enthält Einstellungen, die für jeden verwalteten Bildschirm zutreffen. Das Format entspricht dem der Dateien aus app-defaults. xdm-errors Die Ausgaben jedes X-Servers, den XDM versucht zu starten, werden in dieser Datei gesammelt. Wenn ein von XDM verwalteter Bildschirm aus unbekannten Gründen hängen bleibt, sollten Sie in dieser Datei nach Fehlermeldungen suchen. Für jede Sitzung werden die Meldungen auch in die Datei ~/.xsession-errors des Benutzers geschrieben. Einrichten eines Bildschirm-Servers auf dem Netzwerk Damit sich Clients mit dem Bildschirm-Server verbinden können, muss der Zugriffsregelsatz editiert werden und der Listener aktiviert werden. Die Vorgabewerte sind sehr restriktiv eingestellt. Damit XDM Verbindungen annimmt, entfernen Sie einen Kommentar in xdm-config: ! SECURITY: do not listen for XDMCP or Chooser requests ! Comment out this line if you want to manage X terminals with xdm DisplayManager.requestPort: 0 Starten Sie danach XDM neu. Beachten Sie, dass Kommentare in den Ressourcen-Konfigurationsdateien mit einem ! anstelle des sonst üblichen Zeichens # beginnen. Wenn Sie strengere Zugriffskontrollen einrichten wollen, sehen Sie sich die Beispiele in Xaccess und die Hilfeseite &man.xdm.1; an. XDM ersetzen Es gibt mehrere Anwendungen, die XDM ersetzen können, zum Beispiel KDM, der Teil von KDE ist und später in diesem Kapitel besprochen wird. KDM ist ansprechender gestaltet und bietet neben einigen Schnörkeln die Möglichkeit, den zu verwendenden Window-Manager bei der Anmeldung auszuwählen. Valentino Vaschetto Beigetragen von Grafische Oberflächen Dieser Abschnitt beschreibt verschiedene grafische Oberflächen, die es für X unter FreeBSD gibt. Eine Oberfläche (desktop environment) kann alles von einem einfachen Window-Manager bis hin zu kompletten Anwendungen wie KDE oder GNOME sein. GNOME Über GNOME GNOME GNOME ist eine benutzerfreundliche Oberfläche, mit der Rechner leicht benutzt und konfiguriert werden können. GNOME besitzt eine Leiste, mit der Anwendungen gestartet werden und die Statusinformationen anzeigen kann. Programme und Daten können auf der Oberfläche abgelegt werden und Standardwerkzeuge stehen zur Verfügung. Es gibt Konventionen, die es Anwendungen leicht machen, zusammenzuarbeiten und ein konsistentes Erscheinungsbild garantieren. Benutzer anderer Betriebssysteme oder anderer Arbeitsumgebungen sollten mit der leistungsfähigen grafischen Oberfläche von GNOME sehr gut zurechtkommen. Auf der Webseite FreeBSD GNOME Project finden Sie weitere Informationen über GNOME auf FreeBSD. GNOME installieren Am einfachsten installieren Sie GNOME während der Installation des FreeBSD Systems wie in beschrieben. Es ist aber ebenfalls leicht möglich, GNOME als Paket oder über die Ports-Sammlung zu installieren. Wenn Sie das GNOME-Paket über das Netz installieren wollen, setzen Sie den nachstehenden Befehl ab: &prompt.root; pkg_add -r gnome2 Wenn Sie den Quellcode von GNOME übersetzen wollen, benutzen Sie die Ports-Sammlung: &prompt.root; cd /usr/ports/x11/gnome2 &prompt.root; make install clean Nachdem GNOME installiert ist, muss der X-Server GNOME anstelle eines Window-Managers starten. Wenn Sie bereits eine angepasste .xinitrc besitzen, ersetzen Sie dort den Start des Window-Managers durch /usr/X11R6/bin/gnome-session. Wenn .xinitrc nicht gesondert angepasst wurde, reicht es, den nachstehenden Befehl abzusetzen: &prompt.user; echo "/usr/X11R6/bin/gnome-session" > ~/.xinitrc Rufen Sie dann startx auf, um die GNOME Oberfläche zu starten. Wenn Sie einen Display-Manager wie XDM verwenden, müssen Sie anders vorgehen. Legen Sie eine ausführbare .xsession an, die das Kommando zum Start von GNOME enthält. Ersetzen Sie dazu den Start des Window-Managers durch /usr/X11R6/bin/gnome-session: &prompt.user; echo "#!/bin/sh" > ~/.xsession &prompt.user; echo "/usr/X11R6/bin/gnome-session" >> ~/.xsession &prompt.user; chmod +x ~/.xsession Sie können auch den Display-Manager so konfigurieren, dass der Window-Manager beim Anmelden ausgesucht werden kann. Im Abschnitt Details zu KDE wird das für kdm, den Display-Manager von KDE erklärt. Anti-aliasing-Verfahren mit GNOME GNOME Anti-Aliasing-Verfahren Ab der Version 4.0.2 beherrscht XFree86 mit der RENDER-Erweiterung das Anti-Aliasing-Verfahren. Gtk+ 2.0 und spätere Versionen (das GNOME-Toolkit) kann dieses Verfahren benutzen. Die Konfiguration des Verfahrens ist in beschrieben. Aktivieren Sie Anti-Aliasing im Menü - Applications -> - Desktop Preferences -> - Font. Dort wählen + + Applications + Desktop Preferences + Font + . Dort wählen Sie dann eine der Möglichkeiten Best shapes, Best contrast oder Subpixel smoothing (LCDs). Für Gtk+-Anwendungen, die nicht Teil von GNOME sind, setzen Sie die Umgebungsvariable GDK_USE_XFT vor dem Start der Anwendung auf den Wert 1. KDE Über KDE KDE KDE ist eine moderne, leicht zu benutzende Oberfläche, die unter anderem Folgendes bietet: eine schöne und moderne Oberfläche, eine Oberfläche, die völlig netzwerktransparent ist, ein integriertes Hilfesystem, das bequem und konsistent Hilfestellungen bezüglich der Bedienung der KDE-Oberfläche und ihrer Anwendungen gibt, ein konstantes Erscheinungsbild (look and feel) aller KDE-Anwendungen, einheitliche Menüs, Werkzeugleisten, Tastenkombinationen und Farbschemata, Internationalisierung: KDE ist in mehr als 40 Sprachen erhältlich, durch Dialoge gesteuerte zentrale Konfiguration der Oberfläche, viele nützliche KDE-Anwendungen. In KDE ist ein Office-Paket integriert, das die KParts-Technik benutzt. Das Paket enthält neben anderem eine Tabellenkalkulation, ein Präsentationsprogramm, einen Terminkalender und einen News-Client. Ein Webbrowser mit Namen Konqueror, der sich mit anderen Webbrowsern von &unix; Systemen messen kann, ist ebenfalls Bestandteil von KDE. Weitere Informationen über KDE erhalten Sie auf den KDE-Webseiten. Auf der Webseite FreeBSD-KDE team finden Sie weitere FreeBSD-spezifische Informationen über KDE. KDE installieren Am einfachsten installieren Sie KDE, wie jede andere grafische Oberfläche auch, während der Installation des FreeBSD Systems wie in beschrieben. Die Anwendung kann natürlich auch als Paket oder über die Ports-Sammlung installiert werden. Um KDE über das Netz zu installieren, setzen Sie den nachstehenden Befehl ab: &prompt.root; pkg_add -r kde &man.pkg.add.1; installiert automatisch die neuste Version einer Anwendung. Benutzen Sie die Ports-Sammlung, wenn Sie den Quellcode von KDE übersetzen wollen: &prompt.root; cd /usr/ports/x11/kde3 &prompt.root; make install clean Nachdem KDE installiert ist, muss der X-Server KDE anstelle eines Window-Managers starten. Legen Sie dazu die Datei .xinitrc an: &prompt.user; echo "exec startkde" > ~/.xinitrc Wenn das X-Window-System danach mit startx gestartet wird, erscheint die KDE-Oberfläche. Wird ein Display-Manager wie xdm benutzt, muss .xsession angepasst werden. Eine Anleitung für kdm folgt gleich in diesem Kapitel. Details zu KDE Wenn KDE erst einmal installiert ist, erschließen sich die meisten Sachen durch das Hilfesystem oder durch Ausprobieren. Benutzer von Windows oder MacOS werden sich sehr schnell zurecht finden. Die beste Referenz für KDE ist die Online-Dokumentation. KDE besitzt einen eigenen Webbrowser, sehr viele nützliche Anwendungen und ausführliche Dokumentation. Der Rest dieses Abschnitts beschäftigt sich daher mit Dingen, die schlecht durch einfaches Ausprobieren erlernbar sind. Der KDE-Display-Manager KDE Display-Manager Der Administrator eines Mehrbenutzersystems will den Benutzern vielleicht eine grafische Anmeldung wie mit xdm ermöglichen. KDE besitzt einen eigenen Display-Manager, der schöner aussieht und auch über mehr Optionen verfügt. Insbesondere können sich die Benutzer die Oberfläche für die Sitzung (beispielsweise KDE oder GNOME) aussuchen. Starten Sie das KDE Kontrollzentrum, kcontrol, als root. Lassen Sie bitte nicht die gesamte X-Umgebung unter root laufen, dies ist sehr unsicher. Öffnen Sie stattdessen als normaler Benutzer ein Terminalfenster (zum Beispiel einen xterm oder die konsole von KDE) und wechseln Sie darin mit su zu root (dazu muss der Benutzer der Gruppe wheel angehören). Rufen Sie dann kcontrol auf, um das Kontrollzentrum zu starten. Klicken Sie auf das Icon System und dann auf Login manager. Auf der rechten Seite befinden sich verschiedene Optionen, die alle ausführlich im KDE-Handbuch beschrieben werden. Klicken Sie auf sessions und dann auf New type. Jetzt können Sie Namen für Window-Manager oder grafische Oberflächen eingeben. Die Namen müssen nicht mit den zu startenden Programmen übereinstimmen, so dass Sie KDE anstelle von startkde oder GNOME anstelle von gnome-session eingeben können. Legen Sie bitte auch eine Sitzung mit dem Namen failsafe an. Sehen Sie sich auch die anderen Menüs an. Wenn Sie fertig sind, klicken Sie Apply und beenden Sie das Kontrollzentrum. Damit kdm mit den vergebenen Namen (KDE, GNOME) etwas anfangen kann, editieren Sie die Dateien, die von xdm benutzt werden. Ab KDE 2.2 benutzt kdm eigene Konfigurationsdateien. Schauen Sie die Einzelheiten bitte in der KDE 2.2-Dokumentation nach. Wechseln Sie in einem Terminalfenster zu root und editieren Sie die Datei /usr/X11R6/lib/X11/xdm/Xsession. Ungefähr in der Mitte Datei finden Sie einen Abschnitt wie den folgenden: case $# in 1) case $1 in failsafe) exec xterm -geometry 80x24-0-0 ;; esac esac Für die vergebenen Namen müssen nun einige Zeilen hinzugefügt werden. Wenn Sie KDE und GNOME verwendet haben, sollte der Abschnitt wie folgt aussehen: case $# in 1) case $1 in kde) exec /usr/local/bin/startkde ;; GNOME) exec /usr/X11R6/bin/gnome-session ;; failsafe) exec xterm -geometry 80x24-0-0 ;; esac esac Wenn Sie den KDE-Hintergrund schon während der Anmeldung benutzen wollen, fügen Sie die nachstehende Zeile in /usr/X11R6/lib/X11/xdm/Xsetup_0 ein: /usr/local/bin/kdmdesktop Damit kdm beim nächsten Systemstart gestartet wird, muss ein entsprechender Eintrag in /etc/ttys vorhanden sein. Folgen Sie dazu den Anweisungen aus dem Anschnitt über xdm und ersetzen Sie alle Bezüge auf /usr/X11R6/bin/xdm durch /usr/local/bin/kdm. Anti-aliasing-Verfahren mit KDE KDE Anti-Aliasing-Verfahren Ab der Version 4.0.2 beherrscht XFree86 durch die RENDER-Erweiterung das Anti-aliasing-Verfahren. Die Erweiterung wird ab der Version 2.3 von Qt, dem KDE-Toolkit, benutzt. In wird beschrieben wie das Anti-aliasing-Verfahren eingerichtet wird. Im KDE-Menü - wählen Sie Preferences -> - Look and Feel -> - Fonts. Klicken Sie dann in das + wählen Sie + + Preferences + Look and Feel + Fonts + . Klicken Sie dann in das Kontrollkästchen Use Anti-Aliasing for Fonts and Icons. Für nicht zu KDE gehörende Qt-Anwendungen muss die Umgebungsvariable QT_XFT vor dem Start der Anwendung auf true gesetzt werden. XFce Über XFce XFce ist eine grafische Oberfläche, die auf den GTK-Bibliotheken, die auch von GNOME benutzt werden, beruht. Die Oberfläche ist allerdings weniger aufwändig und für diejenigen gedacht, die eine schlichte und effiziente Oberfläche wollen, die dennoch einfach zu benutzen und zu konfigurieren ist. Die Oberfläche sieht ähnlich wie CDE aus, das in kommerziellen &unix; Systemen verwendet wird. Einige Merkmale von XFce sind: eine schlichte einfach zu benutzende Oberfläche, vollständig mit Mausoperationen konfigurierbar, Unterstützung von drag and drop, ähnliche Hauptleiste wie CDE, die Menüs enthält und über die Anwendungen gestartet werden können, integrierter Window-Manager, Datei-Manager und Sound-Manager, GNOME-compliance-Modul, mit Themes anpassbar (da GTK benutzt wird), schnell, leicht und effizient: ideal für ältere oder langsamere Maschinen oder Maschinen mit wenig Speicher. Weitere Information über XFce erhalten Sie auf der XFce-Webseite. XFce installieren Das XFce-Paket installieren Sie mit dem nachstehenden Kommando: &prompt.root; pkg_add -r xfce Mit der Ports-Sammlung können Sie auch den Quellcode übersetzen: &prompt.root; cd /usr/ports/x11-wm/xfce &prompt.root; make install clean Damit beim nächsten Start des X-Servers XFce benutzt wird, setzen Sie das folgende Kommando ab: &prompt.user; echo "/usr/X11R6/bin/startxfce" > ~/.xinitrc Wenn Sie einen Display-Manager benutzen, erstellen Sie die Datei .xsession, wie im GNOME Abschnitt beschrieben. Verwenden Sie jetzt allerdings das Kommando /usr/X11R6/bin/startxfce. Sie können auch den Display-Manager wie im kdm Abschnitt beschrieben, so konfigurieren, dass die Oberfläche für die Sitzung ausgewählt werden kann. diff --git a/de_DE.ISO8859-1/share/sgml/mailing-lists.ent b/de_DE.ISO8859-1/share/sgml/mailing-lists.ent index 8afd98f7d3..4ec97ab56a 100644 --- a/de_DE.ISO8859-1/share/sgml/mailing-lists.ent +++ b/de_DE.ISO8859-1/share/sgml/mailing-lists.ent @@ -1,428 +1,433 @@ FreeBSD list server"> &a.mailman.listinfo;"> de-bsd-translators@de.FreeBSD.org"> de-bsd-questions@de.FreeBSD.org"> FreeBSD advocacy"> freebsd-advocacy"> FreeBSD AFS porting"> freebsd-afs"> FreeBSD Adapteci AIC7xxx discussions"> freebsd-aic7xxx"> FreeBSD Alpha porting"> freebsd-alpha"> + +Porting + FreeBSD to AMD64 systems"> +freebsd-amd64"> + FreeBSD announcements"> freebsd-announce"> FreeBSD architecture and design"> freebsd-arch"> FreeBSD ARM porting"> freebsd-arm"> FreeBSD ATM networking"> freebsd-atm"> FreeBSD source code audit"> freebsd-audit"> FreeBSD binary update system"> freebsd-binup"> FreeBSD bugbusters"> freebsd-bugbusters"> FreeBSD problem reports"> freebsd-bugs"> FreeBSD chat"> freebsd-chat"> FreeBSD clustering"> freebsd-cluster"> FreeBSD committers"> FreeBSD installation and configuration tools"> freebsd-config"> FreeBSD core team"> &os.current;"> freebsd-current"> CTM announcements"> ctm-announce"> CTM distribution of CVS files"> ctm-cvs-cur"> CTM 4-STABLE src branch distribution"> ctm-src-4"> CTM -CURRENT src branch distribution"> ctm-src-cur"> FreeBSD CVS commit message"> cvs-all"> FreeBSD CVS doc commit"> cvs-doc"> FreeBSD CVS ports commit"> cvs-ports"> FreeBSD CVS projects commit"> cvs-projects"> FreeBSD CVS src commit"> cvs-src"> FreeBSD CVSweb maintenance"> freebsd-cvsweb"> FreeBSD based Databases"> freebsd-database"> FreeBSD developers"> FreeBSD documentation project"> freebsd-doc"> FreeBSD doc/ Committer"> FreeBSD-emulation"> freebsd-emulation"> FreeBSD FireWire (IEEE 1394) discussion"> freebsd-firewire"> FreeBSD filesystem project"> freebsd-fs"> FreeBSD GNOME and GNOME applications"> freebsd-gnome"> FreeBSD technical discussions"> freebsd-hackers"> FreeBSD hardware and equipment"> freebsd-hardware"> FreeBSD mirror sites"> freebsd-hubs"> FreeBSD internationalization"> freebsd-i18n"> FreeBSD i386-specific issues"> freebsd-i386"> FreeBSD IA32 porting"> freebsd-ia32"> FreeBSD IA64 porting"> freebsd-ia64"> FreeBSD IPFW code"> freebsd-ipfw"> FreeBSD ISDN"> freebsd-isdn"> FreeBSD Internet service providers"> freebsd-isp"> FreeBSD Java Language"> freebsd-java"> FreeBSD related employment"> freebsd-jobs"> FreeBSD KDE/Qt and KDE applications"> freebsd-kde"> FreeBSD LFS porting"> freebsd-lfs"> FreeBSD libh installation and packaging system"> freebsd-libh"> FreeBSD MIPS porting"> freebsd-mips"> FreeBSD laptop computer"> freebsd-mobile"> FreeBSD port of the Mozilla browser"> freebsd-mozilla"> FreeBSD multimedia"> freebsd-multimedia"> FreeBSD networking"> freebsd-net"> FreeBSD new users"> freebsd-newbies"> New Bus Architecture"> freebsd-new-bus"> FreeBSD OpenOffice"> freebsd-openoffice"> FreeBSD performance"> freebsd-performance"> FreeBSD non-Intel platforms porting"> freebsd-platforms"> FreeBSD core team policy decisions"> freebsd-policy"> FreeBSD ports"> freebsd-ports"> FreeBSD ports bugs"> freebsd-ports-bugs"> FreeBSD ports/ Committer"> FreeBSD PowerPC porting"> freebsd-ppc"> FreeBSD Quality Assurance"> freebsd-qa"> FreeBSD general questions"> freebsd-questions"> FreeBSD realtime extensions"> freebsd-realtime"> FreeBSD SCSI subsystem"> freebsd-scsi"> FreeBSD security"> freebsd-security"> FreeBSD security notifications"> freebsd-security-notifications"> FreeBSD-small"> freebsd-small"> FreeBSD symmetric multiprocessing"> freebsd-smp"> FreeBSD SPARC porting"> freebsd-sparc64"> FreeBSD src/ Committer"> &os.stable;"> freebsd-stable"> FreeBSD C99 and POSIX compliance"> freebsd-standards"> FreeBSD test"> freebsd-test"> FreeBSD performance and stability testing"> freebsd-testing"> FreeBSD threads"> freebsd-threads"> FreeBSD tokenring"> freebsd-tokenring"> FreeBSD user group coordination"> freebsd-user-groups"> FreeBSD vendors pre-release coordination"> freebsd-vendors"> FreeBSD Webmaster"> freebsd-www"> majordomo@FreeBSD.org">