                          Das FreeBSD-Handbuch

  The FreeBSD German Documentation Project

   Copyright (c) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
   2003, 2004, 2005, 2006, 2007, 2008, 2009 The FreeBSD German
   Documentation Project

   Willkommen bei FreeBSD! Dieses Handbuch beschreibt die
   Installation und den ta:glichen Umgang mit FreeBSD 7.2-RELEASE und
   FreeBSD 8.0-RELEASE. Das Handbuch ist jederzeit unter Bearbeitung
   und das Ergebnis der Arbeit vieler Einzelpersonen. Dies kann dazu
   fu:hren, dass bestimmte Bereiche nicht mehr aktuell sind und auf
   den neuesten Stand gebracht werden mu:ssen. Bei Unklarheiten
   empfiehlt es sich daher stets, die englische Originalversion des
   Handbuchs zu lesen.

   Wenn Sie bei der U:bersetzung des Handbuchs mithelfen mo:chten,
   senden Sie bitte eine E-Mail an die Mailingliste 'FreeBSD German
   Documentation Project' <de-bsd-translators@de.FreeBSD.org>.

   Die aktuelle Version des Handbuchs ist immer auf dem
   FreeBSD-Webserver verfu:gbar und kann in verschiedenen Formaten
   und in komprimierter Form vom FreeBSD-FTP-Server oder einem der
   vielen Spiegel herunter geladen werden (a:ltere Versionen finden
   Sie hingegen unter http://docs.FreeBSD.org/doc/). Vielleicht
   mo:chten Sie das Handbuch aber auch durchsuchen.

   Redistribution and use in source (SGML DocBook) and 'compiled'
   forms (SGML, HTML, PDF, PostScript, RTF and so forth) with or
   without modification, are permitted provided that the following
   conditions are met:

    1. Redistributions of source code (SGML DocBook) must retain the
       above copyright notice, this list of conditions and the
       following disclaimer as the first lines of this file
       unmodified.

    2. Redistributions in compiled form (transformed to other DTDs,
       converted to PDF, PostScript, RTF and other formats) must
       reproduce the above copyright notice, this list of conditions
       and the following disclaimer in the documentation and/or other
       materials provided with the distribution.

     Wichtig: THIS DOCUMENTATION IS PROVIDED BY THE FREEBSD
     DOCUMENTATION PROJECT "AS IS" AND ANY EXPRESS OR IMPLIED
     WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FREEBSD
     DOCUMENTATION PROJECT BE LIABLE FOR ANY DIRECT, INDIRECT,
     INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
     NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
     THIS DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
     DAMAGE.

   FreeBSD ist ein eingetragenes Warenzeichen der FreeBSD Foundation.

   3Com und HomeConnect sind eingetragene Warenzeichen der 3Com
   Corporation.

   3ware und Escalade sind eingetragene Warenzeichen von 3ware Inc.

   ARM ist ein eingetragenes Warenzeichen von ARM Limited.

   Adaptec ist ein eingetragenes Warenzeichen von Adaptec, Inc.

   Adobe, Acrobat, Acrobat Reader und PostScript sind entweder
   eingetragene Warenzeichen oder Warenzeichen von Adobe Systems
   Incorporated in den Vereinigten Staaten und/oder in anderen
   La:ndern.

   Apple, FireWire, Mac, Macintosh, Mac OS, Quicktime und TrueType
   sind eingetragene Warenzeichen von Apple Computer, Inc., in den
   Vereinigten Staaten und anderen La:ndern.

   Corel und WordPerfect sind Warenzeichen oder eingetragene
   Warenzeichen der Corel Corporation und/oder ihren Gesellschaften
   in den Vereinigten Staaten und/oder anderen La:ndern.

   Sound Blaster ist ein Warenzeichen von Creative Technology Ltd. in
   den Vereinigten Staaten und/oder in anderen La:ndern.

   CVSup ist ein eingetragenes Warenzeichen von John D. Polstra.

   Heidelberg, Helvetica, Palatino und Times Roman sind Marken der
   Heidelberger Druckmaschinen AG in Deutschland und anderen
   La:ndern.

   IBM, AIX, EtherJet, Netfinity, OS/2, PowerPC, PS/2, S/390 und
   ThinPad sind Warenzeichen der International Business Machines
   Corporation in den Vereinigten Staaten, anderen La:ndern oder
   beiden.

   IEEE, POSIX und 802 sind eingetragene Warenzeichen vom Institute
   of Electrical and Electronics Engineers, Inc. in den Vereinigten
   Staaten.

   Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium und
   Xeon sind Warenzeichen oder eingetragene Warenzeichen der Intel
   Corporation oder ihrer Gesellschaften in den Vereinigten Staaten
   und in anderen La:ndern.

   Intuit und Quicken sind eingetragene Warenzeichen und/oder
   Dienstleistungsmarken von Intuit Inc. oder einer ihrer
   Geselllschaften in den Vereinigten Staaten und in anderen
   La:ndern.

   Linux ist ein eingetragenes Warenzeichen von Linus Torvalds.

   LSI Logic, AcceleRAID, eXtremeRAID, MegaRAID und Mylex sind
   Warenzeichen oder eingetragene Warenzeichen der LSI Logic Corp.

   M-Systems und DiskOnChip sind Warenzeichen oder eingetragene
   Warenzeichen von M-Systems Flash Disk Pioneers, Ltd.

   Macromedia, Flash und Shockwave sind Warenzeichen oder
   eingetragene Warenzeichen von Macromedia, Inc. in den Vereinigten
   Staaten und/oder in anderen La:ndern.

   Microsoft, MS-DOS, Outlook, Windows, Windows Media und Windows NT
   sind entweder eingetragene Warenzeichen oder Warenzeichen der
   Microsoft Corporation in den Vereinigten Staaten und/oder in
   anderen La:ndern.

   Netscape und Netscape Navigator sind eingetragene Warenzeichen der
   Netscape Communications Corporation in den Vereinigten Staaten und
   in anderen La:ndern.

   GateD und NextHop sind eingetragene Warenzeichen und Warenzeichen
   von NextHop in den Vereinigten Staaten und in anderen La:ndern.

   Motif, OSF/1 und UNIX sind eingetragene Warenzeichen und IT
   DialTone und The Open Group sind Warenzeichen der The Open Group
   in den Vereinigten Staaten und in anderen La:ndern.

   Oracle ist ein eingetragenes Warenzeichen der Oracle Corporation.

   PowerQuest und PartitionMagic sind eingetragene Warenzeichender
   PowerQuest Corporation in den Vereinigten Staaten und/oder anderen
   La:ndern.

   RealNetworks, RealPlayer und RealAudio sind eingetragene
   Warenzeichen von RealNetworks, Inc.

   Red Hat, RPM, sind Warenzeichen oder eingetragene Warenzeichen von
   Red Hat, Inc. in den Vereinigten Staaten und in anderen La:ndern.

   SAP, R/3 und mySAP sind Warenzeichen oder eingetragene
   Warenzeichen der SAP AG in Deutschland und in anderen La:ndern der
   Welt.

   Sun, Sun Microsystems, Java, Java Virtual Machine, JavaServer
   Pages, JDK, JSP, JVM, Netra, Solaris, StarOffice, Sun Blade, Sun
   Enterprise, Sun Fire, SunOS und Ultra sind Warenzeichen oder
   eingetragene Warenzeichen von Sun Microsystems, Inc. in den
   Vereinigten Staaten und in anderen La:ndern.

   Symantec und Ghost sind eingetragene Warenzeichen der Symantec
   Corporation in den Vereinigten Staaten und in anderen La:ndern.

   MATLAB ist ein eingetragenes Warenzeichen von The MathWorks, Inc.

   SpeedTouch ist ein Warenzeichen von Thomson

   U.S. Robotics und Sportster sind eingetragene Warenzeichen der
   U.S. Robotics Corporation.

   VMware ist ein Warenzeichen von VMware, Inc

   Waterloo Maple und Maple sind Warenzeichen oder eingetragene
   Warenzeichen von Waterloo Maple Inc.

   Mathematica ist ein eingetragenes Warenzeichen von Wolfram
   Research, Inc.

   XFree86 ist ein Warenzeichen von The XFree86 Project, Inc.

   Ogg Vorbis und Xiph.Org sind Warenzeichen von Xiph.Org.

   Viele Produktbezeichnungen von Herstellern und Verka:ufern sind
   Warenzeichen. Soweit dem FreeBSD Project das Warenzeichen bekannt
   ist, werden die in diesem Dokument vorkommenden Bezeichnungen mit
   dem Symbol "(TM)" oder dem Symbol "(R)" gekennzeichnet.

     --------------------------------------------------------------

   Inhaltsverzeichnis

   Vorwort

   I. Erste Schritte

                1. Einfu:hrung

                             1.1. U:bersicht

                             1.2. Willkommen bei FreeBSD!

                             1.3. Das FreeBSD Project

                2. FreeBSD installieren

                             2.1. U:bersicht

                             2.2. Hardware-Anforderungen

                             2.3. Vor der Installation

                             2.4. Die Installation starten

                             2.5. Das Werkzeug sysinstall

                             2.6. Plattenplatz fu:r FreeBSD
                             bereitstellen

                             2.7. Den Installationsumfang bestimmen

                             2.8. Das Installationsmedium auswa:hlen

                             2.9. Die Installation festschreiben

                             2.10. Arbeiten nach der Installation

                             2.11. Fehlersuche

                             2.12. Anspruchsvollere Installationen

                             2.13. Eigene Installationsmedien
                             herstellen

                3. Grundlagen des UNIX Betriebssystems

                             3.1. U:bersicht

                             3.2. Virtuelle Konsolen und Terminals

                             3.3. Zugriffsrechte

                             3.4. Verzeichnis-Strukturen

                             3.5. Festplatten, Slices und Partitionen

                             3.6. Anha:ngen und Abha:ngen von
                             Dateisystemen

                             3.7. Prozesse

                             3.8. Da:monen, Signale und Stoppen von
                             Prozessen

                             3.9. Shells

                             3.10. Text-Editoren

                             3.11. Gera:te und Gera:tedateien

                             3.12. Bina:rformate

                             3.13. Weitere Informationen

                4. Installieren von Anwendungen: Pakete und Ports

                             4.1. U:bersicht

                             4.2. Installation von Software

                             4.3. Suchen einer Anwendung

                             4.4. Benutzen des Paketsystems

                             4.5. Benutzen der Ports-Sammlung

                             4.6. Nach der Installation

                             4.7. Kaputte Ports

                5. Das X-Window-System

                             5.1. U:bersicht

                             5.2. X-Grundlagen

                             5.3. X11 installieren

                             5.4. X11 konfigurieren

                             5.5. Schriftarten in X11 benutzen

                             5.6. Der X-Display-Manager

                             5.7. Grafische Oberfla:chen

   II. Oft benutzte Funktionen

                6. Desktop-Anwendungen

                             6.1. U:bersicht

                             6.2. Browser

                             6.3. Bu:roanwendungen

                             6.4. Anzeigen von Dokumenten

                             6.5. Finanzsoftware

                             6.6. Zusammenfassung

                7. Multimedia

                             7.1. U:bersicht

                             7.2. Soundkarten einrichten

                             7.3. MP3-Audio

                             7.4. Videos wiedergeben

                             7.5. TV-Karten einrichten

                             7.6. Scanner

                8. Konfiguration des FreeBSD-Kernels

                             8.1. U:bersicht

                             8.2. Wieso einen eigenen Kernel bauen?

                             8.3. Informationen u:ber die vorhandene
                             Hardware beschaffen

                             8.4. Kerneltreiber, Subsysteme und
                             Module

                             8.5. Erstellen und Installation eines
                             angepassten Kernels

                             8.6. Die Kernelkonfigurationsdatei

                             8.7. Wenn etwas schiefgeht

                9. Drucken

                             9.1. U:bersicht

                             9.2. Einfu:hrung

                             9.3. Grund-Konfiguration

                             9.4. Erweiterte Drucker-Konfiguration

                             9.5. Drucker verwenden

                             9.6. Alternativen zum LPD-Drucksystem

                             9.7. Problembehandlung

                10. Linux-Bina:rkompatibilita:t

                             10.1. U:bersicht

                             10.2. Installation

                             10.3. Mathematica(R) installieren

                             10.4. Maple(TM) installieren

                             10.5. MATLAB(R) installieren

                             10.6. Oracle(R) installieren

                             10.7. SAP(R) R/3(R) installieren

                             10.8. Weiterfu:hrende Themen

   III. Systemadministration

                11. Konfiguration und Tuning

                             11.1. U:bersicht

                             11.2. Vorbereitende Konfiguration

                             11.3. Basiskonfiguration

                             11.4. Konfiguration von Anwendungen

                             11.5. Start von Diensten

                             11.6. Programme mit cron starten

                             11.7. Das rc-System fu:r Systemdienste

                             11.8. Einrichten von Netzwerkkarten

                             11.9. Virtual Hosts

                             11.10. Konfigurationsdateien

                             11.11. Einstellungen mit sysctl

                             11.12. Tuning von Laufwerken

                             11.13. Einstellungen von Kernel Limits

                             11.14. Hinzufu:gen von Swap-Bereichen

                             11.15. Energie- und Ressourcenverwaltung

                             11.16. ACPI-Fehlersuche

                12. FreeBSDs Bootvorgang

                             12.1. U:bersicht

                             12.2. Das Problem des Bootens

                             12.3. Boot-Manager und Boot-Phasen

                             12.4. Kernel Interaktion wa:hrend des
                             Bootprozesses

                             12.5. Konfiguration von Gera:ten

                             12.6. Init: Initialisierung der
                             Prozess-Kontrolle

                             12.7. Der Shutdown-Vorgang

                13. Benutzer und grundlegende Account-Verwaltung

                             13.1. U:bersicht

                             13.2. Einfu:hrung

                             13.3. Der Superuser-Account

                             13.4. System-Accounts

                             13.5. Benutzer-Accounts

                             13.6. Accounts vera:ndern

                             13.7. Benutzer einschra:nken

                             13.8. Gruppen

                14. Sicherheit

                             14.1. U:bersicht

                             14.2. Einfu:hrung

                             14.3. Absichern von FreeBSD

                             14.4. DES, Blowfish, MD5, und Crypt

                             14.5. Einmalpasswo:rter

                             14.6. TCP-Wrapper

                             14.7. KerberosIV

                             14.8. Kerberos5

                             14.9. OpenSSL

                             14.10. VPNs mit IPsec

                             14.11. OpenSSH

                             14.12. Zugriffskontrolllisten fu:r
                             Dateisysteme

                             14.13. Sicherheitsprobleme in Software
                             Dritter u:berwachen

                             14.14. FreeBSD Sicherheitshinweise

                             14.15. Prozess-U:berwachung

                15. Jails

                             15.1. U:bersicht

                             15.2. Jails - Definitionen

                             15.3. Einfu:hrung

                             15.4. Einrichtung und Verwaltung von
                             Jails

                             15.5. Feinabstimmung und Administration

                             15.6. Anwendung von Jails

                16. Mandatory Access Control (noch nicht u:bersetzt)

                17. Security Event Auditing

                             17.1. Einleitung

                             17.2. Schlu:sselbegriffe

                             17.3. Installation der
                             Audit-Unterstu:tzung

                             17.4. Die Konfiguration des Audit

                             17.5. Administration des
                             Audit-Subsystems

                18. Speichermedien

                             18.1. U:bersicht

                             18.2. Gera:tenamen

                             18.3. Hinzufu:gen von Laufwerken

                             18.4. RAID

                             18.5. USB Speichermedien

                             18.6. CDs benutzen

                             18.7. DVDs benutzen

                             18.8. Disketten benutzen

                             18.9. Bandmedien benutzen

                             18.10. Was ist mit Backups auf
                             Disketten?

                             18.11. Backup-Strategien

                             18.12. Datensicherung

                             18.13. Netzwerk-, speicher- und
                             dateibasierte Dateisysteme

                             18.14. Schnappschu:sse von Dateisystemen

                             18.15. Dateisystem-Quotas

                             18.16. Partitionen verschlu:sseln

                             18.17. Den Auslagerungsspeicher
                             verschlu:sseln

                19. GEOM: Modulares Framework zur
                Plattentransformation

                             19.1. U:bersicht

                             19.2. Einfu:hrung in GEOM

                             19.3. RAID0 - Striping

                             19.4. RAID1 - Spiegelung

                             19.5. GEOM Gate Netzwerkgera:te

                             19.6. Das Labeln von Laufwerken

                             19.7. UFS Journaling in GEOM

                20. Dateisystemunterstu:tzung

                             20.1. U:bersicht

                             20.2. Das Z-Dateisystem (ZFS)

                21. Der Vinum Volume Manager

                             21.1. U:bersicht

                             21.2. Ihre Platten sind zu klein.

                             21.3. Mo:gliche Engpa:sse

                             21.4. Datenintegrita:t

                             21.5. Vinum-Objekte

                             21.6. Einige Beispiele

                             21.7. Objektbenennung

                             21.8. Vinum konfigurieren

                             21.9. Vinum fu:r das Root-Dateisystem
                             benutzen

                22. Virtualisierung

                             22.1. U:bersicht

                             22.2. FreeBSD als Gast-Betriebssystem

                             22.3. FreeBSD als Host-Betriebssystem

                23. Lokalisierung - I18N/L10N einrichten und benutzen

                             23.1. U:bersicht

                             23.2. Grundlagen

                             23.3. Lokale Anpassungen benutzen

                             23.4. I18N-Programme u:bersetzen

                             23.5. Lokalisierung fu:r einzelne
                             Sprachen

                24. FreeBSD aktualisieren

                             24.1. U:bersicht

                             24.2. FreeBSD Update (noch nicht
                             u:bersetzt)

                             24.3. Portsnap: A Ports Collection
                             Update Tool (noch nicht u:bersetzt)

                             24.4. Einem Entwicklungszweig folgen

                             24.5. Synchronisation der Quellen

                             24.6. Das komplette Basissystem neu
                             bauen

                             24.7. Installation mehrerer Maschinen

                25. DTrace

                             25.1. U:berblick

                             25.2. Unterschiede in der
                             Implementierung

                             25.3. Die DTrace Unterstu:tzung
                             aktivieren

                             25.4. DTrace verwenden

                             25.5. Die Sprache D

   IV. Netzwerke

                26. Serielle Datenu:bertragung

                             26.1. U:bersicht

                             26.2. Einfu:hrung

                             26.3. Terminals

                             26.4. Einwa:hlverbindungen

                             26.5. Verbindungen nach Aussen

                             26.6. Einrichten der seriellen Konsole

                27. PPP und SLIP

                             27.1. U:bersicht

                             27.2. User-PPP

                             27.3. Kernel-PPP

                             27.4. Probleme bei PPP-Verbindungen

                             27.5. PPP over Ethernet (PPPoE)

                             27.6. PPP over ATM (PPPoA)

                             27.7. SLIP

                28. Elektronische Post (E-Mail)

                             28.1. Terminologie

                             28.2. U:bersicht

                             28.3. Elektronische Post benutzen

                             28.4. sendmail-Konfiguration

                             28.5. Wechseln des
                             Mailu:bertragungs-Agenten

                             28.6. Fehlerbehebung

                             28.7. Weiterfu:hrende Themen

                             28.8. SMTP u:ber UUCP

                             28.9. Ausgehende E-Mail u:ber einen
                             Relay versenden

                             28.10. E-Mail u:ber Einwahl-Verbindungen

                             28.11. SMTP-Authentifizierung

                             28.12. E-Mail-Programme

                             28.13. E-Mails mit fetchmail abholen

                             28.14. E-Mails mit procmail filtern

                29. Netzwerkserver

                             29.1. U:bersicht

                             29.2. Der inetd "Super-Server"

                             29.3. NFS - Network File System

                             29.4. NIS/YP - Network Information
                             Service

                             29.5. Automatische Netzwerkkonfiguration
                             mit DHCP

                             29.6. DNS - Domain Name Service

                             29.7. Der Apache HTTP-Server

                             29.8. FTP - File Transfer Protocol

                             29.9. Mit Samba einen Datei- und
                             Druckserver fu:r
                             Microsoft Windows-Clients einrichten

                             29.10. Die Uhrzeit mit NTP
                             synchronisieren

                30. Firewalls

                             30.1. Einfu:hrung

                             30.2. Firewallkonzepte

                             30.3. Firewallpakete

                             30.4. Paket Filter (PF) von OpenBSD und
                             ALTQ

                             30.5. Die IPFILTER-Firewall (IPF)

                             30.6. IPFW

                31. Weiterfu:hrende Netzwerkthemen

                             31.1. U:bersicht

                             31.2. Gateways und Routen

                             31.3. Drahtlose Netzwerke

                             31.4. Bluetooth

                             31.5. LAN-Kopplung mit einer Bridge

                             31.6. Link Aggregation und Failover

                             31.7. Start und Betrieb von FreeBSD
                             u:ber ein Netzwerk

                             31.8. ISDN - diensteintegrierendes
                             digitales Netzwerk

                             31.9. NAT - Network Address Translation

                             31.10. PLIP - Parallel Line IP

                             31.11. IPv6 - Internet Protocol Version
                             6

                             31.12. ATM - Asynchronous Transfer Mode

                             31.13. CARP - Common Address Redundancy
                             Protocol

   V. Anhang

                A. Bezugsquellen fu:r FreeBSD

                             A.1. CD-ROM und DVD Verleger

                             A.2. FTP-Server

                             A.3. BitTorrent

                             A.4. Anonymous CVS

                             A.5. CTM

                             A.6. Benutzen von CVSup

                             A.7. CVS-Tags

                             A.8. AFS-Server

                             A.9. rsync-Server

                B. Bibliografie

                             B.1. Bu:cher und Magazine speziell fu:r
                             FreeBSD

                             B.2. Handbu:cher

                             B.3. Administrations-Anleitungen

                             B.4. Programmierhandbu:cher

                             B.5. Betriebssystem-Interna

                             B.6. Sicherheits-Anleitung

                             B.7. Hardware-Anleitung

                             B.8. UNIX(R) Geschichte

                             B.9. Magazine und Journale

                C. Ressourcen im Internet

                             C.1. Mailinglisten

                             C.2. Usenet-News

                             C.3. World Wide Web Server

                             C.4. E-Mail Adressen

                D. PGP Schlu:ssel

                             D.1. Ansprechpartner

                             D.2. Mitglieder des Core Teams

                             D.3. Entwickler

   FreeBSD Glossar

   Kolophon

   Tabellenverzeichnis

   2-1. Gera:tekonfiguration

   2-2. Partitionen auf dem ersten Laufwerk

   2-3. Partitionen auf weiteren Laufwerken

   2-4. FreeBSD 6.X sowie 7.X-ISO-Abbilder

   3-1. Laufwerk-Codes

   18-1. Namenskonventionen von physikalischen Laufwerken

   21-1. Vinum-Plexus - Aufbau

   26-1. Nullmodemkabel vom Typ DB-25-zu-DB-25

   26-2. Nullmodemkabel vom Typ DB-9-zu-DB-9

   26-3. Nullmodemkabel vom Typ DB-9-zu-DB-25

   26-4. Signalnamen

   31-1. Die Netzwerk-Verdrahtung eines parallelen Kabels

   31-2. Reservierte IPv6-Adressen

   Abbildungsverzeichnis

   2-1. FreeBSD Boot Loader Menu

   2-2. Ausgabe der Gera:teerkennung

   2-3. Ihr Land auswa:hlen

   2-4. sysinstall beenden

   2-5. Die Gebrauchsanweisung von sysinstall auswa:hlen

   2-6. Die Dokumentation abrufen

   2-7. Das Dokumentationsmenu: von sysinstall

   2-8. Das Hauptmenu: von sysinstall

   2-9. Sysinstall Keymap Menu

   2-10. Das Hauptmenu: von sysinstall

   2-11. Optionen von sysinstall

   2-12. Die Standard-Installation starten

   2-13. Ein Laufwerk fu:r Fdisk aussuchen

   2-14. Typischer Fdisk-Bildschirm vor dem Editieren

   2-15. Eine Partition u:ber die gesamte Platte

   2-16. Sysinstall Boot-Manager-Menu:

   2-17. Die Laufwerksauswahl verlassen

   2-18. Sysinstall Disklabel-Editor

   2-19. Sysinstall Disklabel-Editor mit automatischen Vorgaben

   2-20. Die Gro:sse einer Partition festlegen

   2-21. Die Gro:sse einer Partition a:ndern

   2-22. Den Partitionstyp festlegen

   2-23. Den Mountpoint festlegen

   2-24. Sysinstall Disklabel-Editor

   2-25. Die Distribution auswa:hlen

   2-26. Die Distributionen besta:tigen

   2-27. Das Installationsmedium auswa:hlen

   2-28. Eine Netzwerkkarte auswa:hlen

   2-29. Die Netzwerkkarte ed0 konfigurieren

   2-30. inetd.conf editieren

   2-31. Anonymous-FTP konfigurieren

   2-32. Begru:ssungsmeldung des FTP-Servers editieren

   2-33. exports editieren

   2-34. Merkmale der Systemkonsole

   2-35. Bildschirmschoner auswa:hlen

   2-36. Den Bildschirmschoner einstellen

   2-37. Die Konfiguration der Systemkonsole verlassen

   2-38. Das Gebiet auswa:hlen

   2-39. Das Land auswa:hlen

   2-40. Die Zeitzone auswa:hlen

   2-41. Das Mausprotokoll festlegen

   2-42. Das Mausprotokoll festlegen

   2-43. Den Mausport einstellen

   2-44. Den Mausport einstellen

   2-45. Den Mouse-Daemon aktivieren

   2-46. Den Mouse-Daemon testen

   2-47. Die Paketkategorie aussuchen

   2-48. Pakete auswa:hlen

   2-49. Pakete installieren

   2-50. Paketinstallation besta:tigen

   2-51. Benutzerkonto auswa:hlen

   2-52. Benutzerkonto anlegen

   2-53. Benutzermenu: verlassen

   2-54. Die Installation beenden

   2-55. Netzwerkdienste - obere Ha:lfte

   2-56. Den MTA festlegen

   2-57. Ntpdate konfigurieren

   2-58. Netzwerkdienste - untere Ha:lfte

   21-1. Konkatenierte Anordnung

   21-2. Striped-Anordnung

   21-3. RAID-5 Aufbau

   21-4. Ein einfaches Vinum-Volume

   21-5. Ein gespiegeltes Vinum Volume

   21-6. Ein Striped Vinum Volume

   21-7. Ein gespiegeltes, Striped Vinum Volume

   Beispiele

   2-1. Eine bestehende Partition verwenden

   2-2. Eine bestehende Partition verkleinern

   3-1. Namen von Platten, Slices und Partitionen

   3-2. Aufteilung einer Festplatte

   4-1. Download vor Installation eines Pakets

   11-1. Erstellen einer Swap-Datei

   12-1. boot0-Screenshot

   12-2. boot2-Screenshot

   12-3. Auf insecure gesetzte Konsole in /etc/ttys

   13-1. Einen Benutzer unter FreeBSD anlegen

   13-2. Interaktives Lo:schen von Account mit rmuser

   13-3. Interaktives chpass des Superusers

   13-4. Interaktives chpass eines normalen Benutzers

   13-5. Wechseln des Passworts

   13-6. Als Superuser das Passwort eines anderen Accounts vera:ndern

   13-7. Setzen der Mitgliederliste einer Gruppe mit pw(8)

   13-8. Ein Gruppenmitglied mit pw hinzufu:gen

   13-9. Hinzufu:gen eines neuen Gruppenmitglieds mittels pw(8)

   13-10. Mit id die Gruppenzugeho:rigkeit bestimmen

   14-1. Mit SSH einen sicheren Tunnel fu:r SMTP erstellen

   18-1. dump mit ssh benutzen

   18-2. dump u:ber ssh mit gesetzter RSH benutzen

   18-3. Ein Beispielskript zum Erstellen eigener Bootdisketten

   18-4. Einha:ngen eines existierenden Abbildes unter FreeBSD

   18-5. Erstellen eines dateibasierten Laufwerks mit mdconfig

   18-6. Mit mdmfs ein dateibasiertes Dateisystem erstellen

   18-7. Erstellen eines speicherbasierten Laufwerks mit mdconfig

   18-8. Erstellen eines speicherbasierten Laufwerks mit mdmfs

   19-1. Die Partitionen einer Bootplatte labeln

   26-1. Eintra:ge in /etc/ttys hinzufu:gen

   28-1. Konfigurieren der sendmail Zugriffsdatenbank

   28-2. E-Mail Aliases

   28-3. Beispiel einer virtuellen Doma:nen Zuordnung

   29-1. Die inetd-Konfiguration neu einlesen

   29-2. Ein exportiertes Dateisystem mit amd in den Verzeichnisbaum
   einha:ngen

   29-3. Django mit Apache2, mod_python3, und PostgreSQL installieren

   29-4. Apache-Konfiguration fu:r Django/mod_python

   31-1. LACP Aggregation mit einem Switch von Cisco(R)

   31-2. Ausfallsicherer Modus

   31-3. Kleines Netzwerk (Privatnetz)

   31-4. Grosses Netzwerk (Firmennetz)

   A-1. ls(1) von -CURRENT auschecken

   A-2. Den src/-Baum u:ber SSH auschecken

   A-3. ls(1) aus dem 6-STABLE-Zweig auschecken

   A-4. A:nderungen in ls(1) zwischen 5.3 RELEASE und 5.4 RELEASE
   (als unified diff)

   A-5. Gu:ltige Modulnamen herausfinden

     --------------------------------------------------------------

                                Vorwort

U:ber dieses Buch

   Der erste Teil dieses Buchs fu:hrt FreeBSD-Einsteiger durch den
   Installationsprozess und stellt leicht versta:ndlich Konzepte und
   Konventionen vor, die UNIX(R) zu Grunde liegen. Sie mu:ssen nur
   neugierig sein und bereitwillig neue Konzepte aufnehmen, wenn
   diese vorgestellt werden, um diesen Teil durchzuarbeiten.

   Wenn Sie den ersten Teil bewa:ltigt haben, bietet der
   umfangreichere zweite Teil eine versta:ndliche Darstellung vieler
   Themen, die fu:r FreeBSD-Administratoren relevant sind. Wenn
   Kapitel auf anderen Kapiteln aufbauen, wird das in der U:bersicht
   am Anfang eines Kapitels erla:utert.

   Weitere Informationsquellen entnehmen Sie bitte Anhang B.

A:nderungen gegenu:ber der dritten Auflage

   Die aktuelle Auflage des Handbuchs ist das Ergebnis der
   engagierten Arbeit Hunderter Mitarbeiter des FreeBSD Documentation
   Projects in den vergangenen 10 Jahren. Die wichtigsten A:nderungen
   dieser Auflage gegenu:ber der dritten Auflage von 2004 sind:

     * Kapitel 25, DTrace, ein neues Kapitel, informiert Sie u:ber
       die ma:chtigen Funktionen zur Leistungsmessung, die dieses
       Werkzeug bietet.

     * Kapitel 20, File Systems Support, ebenfalls ein neues Kapitel,
       entha:lt Informationen u:ber die Unterstu:tzung nicht-nativer
       Dateisysteme (beispielsweise ZFS von Sun(TM)) durch FreeBSD.

     * Kapitel 17, Security Event Auditing, wurde neu angelegt, um
       u:ber die neuen Auditing-Fa:higkeiten von FreeBSD zu
       informieren.

     * Kapitel 22, Virtualisierung, wurde hinzugefu:gt und entha:lt
       Informationen zur Installation von FreeBSD in verschiedenen
       Virtualisierungs-Programmen.

A:nderungen gegenu:ber der zweiten Auflage (2004)

   Die dritte Auflage des Handbuchs war das Ergebnis der u:ber zwei
   Jahre dauernden engagierten Arbeit des FreeBSD Documentation
   Projects. Die gedruckte Ausgabe war derart umfangreich, dass es
   notwendig wurde, sie in zwei Ba:nde aufzuteilen. Die wichtigsten
   A:nderungen dieser Auflage waren:

     * Kapitel 11, Konfiguration und Tuning, entha:lt neue Abschnitte
       u:ber ACPI, Energie- und Ressourcenverwaltung und das Werkzeug
       cron.

     * Kapitel 14, Sicherheit, erla:utert nun Virtual Private
       Networks (VPNs), Zugriffskontrolllisten (ACLs) und
       Sicherheitshinweise.

     * Kapitel 16, Mandatory Access Control (MAC), ist ein neues
       Kapitel, das vorgeschriebene Zugriffskontrollen vorstellt und
       erkla:rt, wie FreeBSD-Systeme mit MACs abgesichert werden
       ko:nnen.

     * Kapitel 21, Vinum, ist ebenfalls ein neues Kapitel in dieser
       Auflage. Dieses Kapitel beschreibt den Logical-Volume-Manager
       Vinum, der gera:teunabha:ngige logische Platten und RAID-0,
       RAID-1 sowie RAID-5 auf Software-Ebene bereitstellt.

     * Zum Kapitel Kapitel 27, PPP und SLIP, wurde ein Abschnitt
       u:ber Fehlersuche hinzugefu:gt.

     * Kapitel 28, Elektronische Post (E-Mail), wurde um Abschnitte
       u:ber andere Transport-Agenten (MTAs), SMTP-Authentifizierung,
       UUCP, fetchmail, procmail und weitere Themen erweitert.

     * Kapitel 29, Netzwerkserver, ist ein weiteres neues Kapitel
       dieser Auflage. Das Kapitel beschreibt, wie der Apache
       HTTP-Server, ftpd und ein Samba-Server fu:r Microsoft(R)
       Windows(R)-Clients eingerichtet werden. Einige Abschnitte aus
       dem Kapitel 31, Weiterfu:hrende Netzwerkthemen, befinden sich
       nun, wegen des thematischen Zusammenhangs, in diesem Kapitel.

     * Das Kapitel 31, Weiterfu:hrende Netzwerkthemen, beschreibt nun
       den Einsatz von Bluetooth(R)-Gera:ten unter FreeBSD und das
       Einrichten von drahtlosen Netzwerken sowie ATM-Netzwerken.

     * Neu hinzugefu:gt wurde ein Glossar, das die im Buch
       verwendeten technischen Ausdru:cke definiert.

     * Das Erscheinungsbild der Tabellen und Abbildungen im Buch
       wurde verbessert.

A:nderungen gegenu:ber der ersten Auflage (2001)

   Die zweite Auflage ist das Ergebnis der engagierten Arbeit der
   Mitglieder des FreeBSD Documentation Projects u:ber zwei Jahre.
   Die wichtigsten A:nderungen gegenu:ber der ersten Auflage sind:

     * Ein Index wurde erstellt.

     * Alle ASCII-Darstellungen wurden durch Grafiken ersetzt.

     * Jedes Kapitel wird durch eine U:bersicht eingeleitet, die den
       Inhalt des Kapitels zusammenfasst und die Voraussetzungen fu:r
       ein erfolgreiches Durcharbeiten des Kapitels darstellt.

     * Der Inhalt wurde in die logischen Abschnitte "Erste Schritte",
       "Systemadministration" und "Anha:nge" unterteilt.

     * Kapitel 2 ("FreeBSD installieren") wurde komplett neu
       geschrieben und mit Abbildungen versehen, die Einsteigern das
       Versta:ndnis des Texts erleichtern.

     * Kapitel 3 ("Grundlagen des UNIX Betriebssystems") wurde um den
       Abschnitt "Da:monen, Signale und Stoppen von Prozessen"
       erweitert.

     * Das Kapitel 4 ("Installieren von Anwendungen") behandelt nun
       auch Pakete.

     * Kapitel 5 ("Das X Window System") wurde neu geschrieben. Der
       Schwerpunkt liegt auf modernen Benutzeroberfla:chen unter
       XFree86(TM) 4.X wie KDE und GNOME.

     * Das Kapitel 12 ("FreeBSDs Bootvorgang") wurde erweitert.

     * Kapitel 18 ("Speichermedien") ist aus den beiden Kapiteln
       "Laufwerke" und "Sicherungen" entstanden. Die in den beiden
       Kapiteln diskutierten Themen sind so leichter zu verstehen.
       Hinzugekommen ist ein Abschnitt u:ber Software- und
       Hardware-RAID.

     * Das Kapitel 26 ("Serielle Datenu:bertragung") wurde
       umorganisiert und auf FreeBSD 4.X/5.X angepasst.

     * Das Kapitel 27 ("PPP und SLIP") wurde aktualisiert.

     * Kapitel 31 ("Weiterfu:hrende Netzwerkthemen") wurde um viele
       neue Abschnitte erweitert.

     * Kapitel 28 ("Electronic Mail") wurde um einen Abschnitt u:ber
       die Konfiguration von sendmail erweitert.

     * Kapitel 10 ("Linux(R) Compatibility") behandelt zusa:tzlich
       die Installation von Oracle(R) und SAP(R) R/3(R).

     * Neu hinzugekommen sind:

          * Konfiguration und Tuning (Kapitel 11) und

          * Multimedia (Kapitel 7).

Gliederung

   Dieses Buch ist in fu:nf Abschnitte unterteilt. Der erste
   Abschnitt, Erste Schritte, behandelt die Installation und die
   Grundlagen von FreeBSD. Dieser Abschnitt sollte in der
   vorgegebenen Reihenfolge durchgearbeitet werden, schon Bekanntes
   darf aber u:bersprungen werden. Der zweite Abschnitt, Oft benutzte
   Funktionen, behandelt ha:ufig benutzte Funktionen von FreeBSD.
   Dieser Abschnitt sowie alle nachfolgenden Abschnitte ko:nnen in
   beliebiger Reihenfolge gelesen werden. Jeder Abschnitt beginnt mit
   einer kurzen U:bersicht, die das Thema des Abschnitts und das
   no:tige Vorwissen erla:utert. Die U:bersichten helfen dem Leser,
   interessante Kapitel zu finden und erleichtern das Sto:bern im
   Handbuch. Der dritte Abschnitt, Systemadministration, behandelt
   die Administration eines FreeBSD-Systems. Der vierte Abschnitt,
   Netzwerke, bespricht Netzwerke und Netzwerkdienste. Der fu:nfte
   Abschnitt entha:lt Anha:nge und Verweise auf weitere
   Informationen.

   Kapitel 1, Einfu:hrung

           Dieses Kapitel macht Einsteiger mit FreeBSD vertraut. Es
           behandelt die Geschichte, die Ziele und das
           Entwicklungsmodell des FreeBSD-Projekts.

   Kapitel 2, Installation

           Beschreibt den Ablauf der Installation. Spezielle
           Installationsmethoden, wie die Installation mit einer
           seriellen Konsole, werden ebenfalls behandelt.

   Kapitel 3, Grundlagen des UNIX Betriebssystems

           Erla:utert die elementaren Kommandos und Funktionen von
           FreeBSD. Wenn Sie schon mit Linux oder einem anderen UNIX
           System vertraut sind, ko:nnen Sie dieses Kapitel
           u:berspringen.

   Kapitel 4, Installieren von Anwendungen

           Zeigt wie mit der innovativen Ports-Sammlung oder mit
           Paketen Software von Fremdherstellern installiert wird.

   Kapitel 5, Das X Window System

           Beschreibt allgemein das X Window System und geht speziell
           auf X11 unter FreeBSD ein. Weiterhin werden grafische
           Benutzeroberfla:chen wie KDE und GNOME behandelt.

   Kapitel 6, Desktop-Anwendungen

           Entha:lt eine Aufstellung verbreiteter Anwendungen wie
           Browser, Bu:roanwendungen und Office-Pakete und beschreibt
           wie diese Anwendungen installiert werden.

   Kapitel 7, Multimedia

           Erkla:rt, wie Sie auf Ihrem System Musik und Videos
           abspielen ko:nnen. Beispielhaft werden auch Anwendungen
           aus dem Multimedia-Bereich beleuchtet.

   Kapitel 8, Konfiguration des FreeBSD-Kernels

           Erkla:rt, warum Sie einen angepassten Kernel erzeugen
           sollten und gibt ausfu:hrliche Anweisungen wie Sie einen
           angepassten Kernel konfigurieren, bauen und installieren.

   Kapitel 9, Drucken

           Beschreibt, wie Sie Drucker unter FreeBSD verwalten.
           Diskutiert werden Deckbla:tter, das Einrichten eines
           Druckers und ein Abrechnungssystem fu:r ausgedruckte
           Seiten.

   Kapitel 10, Linux-Bina:rkompatibilita:t

           Beschreibt die bina:re Kompatibilita:t zu Linux. Weiterhin
           werden ausfu:hrliche Installationsanleitungen fu:r Oracle,
           SAP R/3 und Mathematica gegeben.

   Kapitel 11, Konfiguration und Tuning

           Beschreibt die Einstellungen, die ein Systemadministrator
           vornehmen kann, um die Leistungsfa:higkeit eines FreeBSD
           Systems zu verbessern. In diesem Kapitel werden auch
           verschiedene Konfigurationsdateien besprochen.

   Kapitel 12, FreeBSDs Bootvorgang

           Erkla:rt den Bootprozess von FreeBSD und beschreibt die
           Optionen, mit denen sich der Bootprozess beeinflussen
           la:sst.

   Kapitel 13, Benutzer und grundlegende Account-Verwaltung

           Beschreibt, wie Benutzer-Accounts angelegt, vera:ndert und
           verwaltet werden. Weiterhin wird beschrieben, wie dem
           Benutzer zur Verfu:gung stehende Ressourcen beschra:nkt
           werden ko:nnen.

   Kapitel 14, Sicherheit

           Beschreibt die Werkzeuge mit denen Sie Ihr FreeBSD-System
           absichern. Unter Anderem werden Kerberos, IPsec und
           OpenSSH besprochen.

   Kapitel 15, Jails

           Dieses Kapitel beschreibt das Jails-Framework sowie die
           Vorteile von Jails gegenu:ber der traditionellen
           chroot-Unterstu:tzung von FreeBSD.

   Kapitel 16, Mandatory Access Control

           Erkla:rt vorgeschriebene Zugriffskontrollen (MACs) und wie
           mit ihrer Hilfe FreeBSD-Systeme gesichert werden.

   Kapitel 17, Security Event Auditing

           Beschreibt, was FreeBSD Event Auditing ist, wie Sie diese
           Funktion installieren und konfigurieren und die damit
           erzeugten Audit-Trails u:berwachen und auswerten ko:nnen.

   Kapitel 18, Speichermedien

           Erla:utert den Umgang mit Speichermedien und
           Dateisystemen. Behandelt werden Plattenlaufwerke,
           RAID-Systeme, optische Medien, Bandlaufwerke,
           RAM-Laufwerke und verteilte Dateisysteme.

   Kapitel 19, GEOM

           Beschreibt das GEOM-Framework von FreeBSD sowie die
           Konfiguration der verschiedenen unterstu:tzten RAID-Level.

   Kapitel 20, File Systems Support

           Beschreibt die Unterstu:tzung nicht-nativer Dateisysteme
           (beispielsweise des Z-Dateisystems (zfs) von Sun) durch
           FreeBSD.

   Kapitel 21, Vinum

           Beschreibt den Vinum Volume Manager, der virtuelle
           Laufwerke, RAID-0, RAID-1 und RAID-5 auf Software-Ebene
           bereitstellt.

   Kapitel 22, Virtualisierung

           Dieses Kapitel beschreibt verschiedene
           Virtualisierungslo:sungen und wie diese mit FreeBSD
           zusammenarbeiten.

   Kapitel 23, Lokalisierung

           Zeigt wie Sie FreeBSD mit anderen Sprachen als Englisch
           einsetzen. Es wird sowohl die Lokalisierung auf der
           System-Ebene wie auch auf der Anwendungs-Ebene betrachtet.

   Kapitel 24, FreeBSD aktualisieren

           Erkla:rt die Unterschiede zwischen FreeBSD-STABLE,
           FreeBSD-CURRENT und FreeBSD-Releases. Das Kapitel entha:lt
           Kriterien anhand derer Sie entscheiden ko:nnen, ob es sich
           lohnt, ein Entwickler-System zu installieren und aktuell
           zu halten. Ausserdem wird beschrieben, wie Sie Ihr System
           durch das Einspielen neuer Sicherheits-Patches absichern.

   Kapitel 25, DTrace

           Beschreibt, wie das von Sun entwickelte DTrace-Werkzeug
           unter FreeBSD konfiguriert und eingesetzt werden kann.
           Dynamisches Tracing kann Ihnen beim Aufspu:ren von
           Leistungsproblemen helfen, indem Sie
           Echtzeit-Systemanalysen durchfu:hren.

   Kapitel 26, Serielle Datenu:bertragung

           Erla:utert, wie Sie Terminals und Modems an Ihr
           FreeBSD-System anschliessen und sich so ein- und
           auswa:hlen ko:nnen.

   Kapitel 27, PPP und SLIP

           Erkla:rt wie Sie mit PPP, SLIP oder PPP u:ber Ethernet ein
           FreeBSD-System mit einem entfernten System verbinden.

   Kapitel 28, Elektronische Post (E-Mail)

           Erla:utert die verschiedenen Bestandteile eines E-Mail
           Servers und zeigt einfache Konfigurationen fu:r sendmail,
           dem meist genutzten E-Mail-Server.

   Kapitel 29, Netzwerkserver

           Bietet ausfu:hrliche Informationen und
           Beispielkonfigurationen, die es Ihnen ermo:glichen, Ihren
           FreeBSD-Rechner als Network File System Server, Domain
           Name Server, Network Information Server, oder als
           Zeitsynchronisationsserver einzurichten.

   Kapitel 30, Firewalls

           Erkla:rt die Philosophie hinter softwarebasierten
           Firewalls und bietet ausfu:hrliche Informationen zur
           Konfiguration der verschiedenen, fu:r FreeBSD verfu:gbaren
           Firewalls.

   Kapitel 31, Weiterfu:hrende Netzwerkthemen

           Behandelt viele Netzwerkthemen, beispielsweise das
           Verfu:gbarmachen einer Internetverbindung fu:r andere
           Rechner eines LANs, Routing, drahtlose Netzwerke,
           Bluetooth, IPv6, ATM und andere mehr.

   Anhang A, Bezugsquellen fu:r FreeBSD

           Entha:lt eine Aufstellung der Quellen von denen Sie
           FreeBSD beziehen ko:nnen: CD-ROM, DVD sowie
           Internet-Sites.

   Anhang B, Bibliografie

           Dieses Buch behandelt viele Themen und kann nicht alle
           Fragen erscho:pfend beantworten. Die Bibliografie entha:lt
           weiterfu:hrende Bu:cher, die im Text zitiert werden.

   Anhang C, Ressourcen im Internet

           Entha:lt eine Aufstellung der Foren, die FreeBSD Benutzern
           fu:r Fragen und Diskussionen zur Verfu:gung stehen.

   Anhang D, PGP Schlu:ssel

           Entha:lt PGP-Fingerabdru:cke von etlichen FreeBSD
           Entwicklern.

Konventionen in diesem Buch

   Damit der Text einheitlich erscheint und leicht zu lesen ist,
   werden im ganzen Buch die nachstehenden Konventionen beachtet:

  Typographie

   Kursiv

           Fu:r Dateinamen, URLs, betonte Teile eines Satzes und das
           erste Vorkommen eines Fachbegriffs wird ein kursiver
           Zeichensatz benutzt.

   Fixschrift

           Fehlermeldungen, Kommandos, Umgebungsvariablen, Namen von
           Ports, Hostnamen, Benutzernamen, Gruppennamen,
           Gera:tenamen, Variablen und Code-Ausschnitte werden in
           einer Fixschrift dargestellt.

   Fett

           Fett kennzeichnet Anwendungen, Kommandozeilen und
           Tastensymbole.

  Benutzereingaben

   Tasten werden fett dargestellt, um sie von dem umgebenden Text
   abzuheben. Tasten, die gleichzeitig gedru:ckt werden mu:ssen,
   werden durch ein + zwischen den einzelnen Tasten dargestellt:

   Ctrl+Alt+Del

   Im gezeigten Beispiel soll der Benutzer die Tasten Ctrl, Alt und
   Del gleichzeitig dru:cken.

   Tasten, die nacheinander gedru:ckt werden mu:ssen, sind durch
   Kommas getrennt:

   Ctrl+X, Ctrl+S

   Das letzte Beispiel bedeutet, dass die Tasten Ctrl und X
   gleichzeitig beta:tigt werden und danach die Tasten Ctrl und S
   gleichzeitig gedru:ckt werden mu:ssen.

  Beispiele

   Beispiele, die durch E:\> eingeleitet werden, zeigen ein MS-DOS(R)
   Kommando. Wenn nichts Anderes angezeigt wird, ko:nnen diese
   Kommandos unter neuen Versionen von Microsoft Windows auch in
   einem DOS-Fenster ausgefu:hrt werden.

 E:\> tools\fdimage floppies\kern.flp A:

   Beispiele, die mit # beginnen, mu:ssen unter FreeBSD mit
   Superuser-Rechten ausgefu:hrt werden. Dazu melden Sie sich
   entweder als root an oder Sie wechseln von Ihrem normalen Account
   mit su(1) zu dem Benutzer root.

 # dd if=kern.flp of=/dev/fd0

   Beispiele, die mit % anfangen, werden unter einem normalen
   Benutzer-Account ausgefu:hrt. Sofern nichts Anderes angezeigt
   wird, verwenden die Beispiele die Syntax der C-Shell.

 % top

Danksagung

   Dieses Buch ist aus Beitra:gen von vielen Leuten aus allen Teilen
   der Welt entstanden. Alle eingegangen Beitra:ge, zum Beispiel
   Korrekturen oder vollsta:ndige Kapitel, waren wertvoll.

   Einige Firmen haben dieses Buch dadurch unterstu:tzt, dass Sie
   Autoren in Vollzeit bescha:ftigt und die Vero:ffentlichung des
   Buchs finanziert haben. Besonders BSDi (das spa:ter von Wind River
   Systems u:bernommen wurde) bescha:ftigte Mitglieder des FreeBSD
   Documentation Projects, um dieses Buch zu erstellen. Dadurch wurde
   die erste (englische) gedruckte Auflage im Ma:rz 2000 mo:glich
   (ISBN 1-57176-241-8). Wind River Systems bezahlte dann weitere
   Autoren, die die zum Drucken no:tige Infrastruktur verbesserten
   und zusa:tzliche Kapitel beisteuerten. Das Ergebnis dieser Arbeit
   ist die zweite (englische) Auflage vom November 2001 (ISBN
   1-57176-303-1). Zwischen 2003 und 2004 bezahlte FreeBSD Mall, Inc
   mehrere Mitarbeiter fu:r die Vorbereitung der gedruckten dritten
   Auflage.

                           I. Erste Schritte

   Dieser Teil des FreeBSD-Handbuchs richtet sich an Benutzer und
   Administratoren fu:r die FreeBSD neu ist. Diese Kapitel

     * geben Ihnen eine Einfu:hrung in FreeBSD,

     * geleiten Sie durch den Installationsprozess,

     * erkla:ren Ihnen die Grundlagen von UNIX Systemen,

     * zeigen Ihnen, wie Sie die Fu:lle der erha:ltlichen Anwendungen
       Dritter installieren und

     * fu:hren Sie in X, der Benutzeroberfla:che von UNIX Systemen
       ein. Es wird gezeigt, wie Sie den Desktop konfigurieren, um
       effektiver arbeiten zu ko:nnen.

   Wir haben uns bemu:ht, Referenzen auf weiter vorne liegende
   Textteile auf ein Minimum zu beschra:nken, so dass Sie diesen Teil
   des Handbuchs ohne viel Bla:ttern durcharbeiten ko:nnen.

   Inhaltsverzeichnis

   1. Einfu:hrung

   2. FreeBSD installieren

   3. Grundlagen des UNIX Betriebssystems

   4. Installieren von Anwendungen: Pakete und Ports

   5. Das X-Window-System

     --------------------------------------------------------------

                         Kapitel 1. Einfu:hrung

   Neu zusammengestellt, umstrukturiert und um Abschnitte erweitert
   durch Jim Mock. U:bersetzt von Sascha Edelburg.

1.1. U:bersicht

   Herzlichen Dank fu:r Ihr Interesse an FreeBSD! Das folgende
   Kapitel behandelt verschiedene Aspekte des FreeBSD Projects wie
   dessen geschichtliche Entwicklung, dessen Ziele oder dessen
   Entwicklungsmodell.

   Nach dem Durcharbeiten des Kapitels wissen Sie u:ber folgende
   Punkte Bescheid:

     * Wo FreeBSD im Vergleich zu anderen Betriebssystemen steht

     * Die Geschichte des FreeBSD Projects

     * Die Ziele des FreeBSD Projects

     * Die Grundlagen des FreeBSD-Open-Source-Entwicklungsmodells

     * Und natu:rlich wo der Name "FreeBSD" herru:hrt

     --------------------------------------------------------------

1.2. Willkommen bei FreeBSD!

   FreeBSD ist ein auf 4.4BSD-Lite basierendes Betriebssystem fu:r
   Intel (x86 und Itanium(R)), AMD64, Alpha(TM) und Sun UltraSPARC(R)
   Rechner. An Portierungen zu anderen Architekturen wird derzeit
   gearbeitet. Mehr zu Geschichte von FreeBSD ko:nnen Sie im kurzen
   geschichtlichen Abriss zu FreeBSD oder im Abschnitt Das aktuelle
   FreeBSD-Release nachlesen. Falls Sie das FreeBSD Project
   unterstu:tzen wollen (mit Quellcode, Hardware- oder Geldspenden),
   sollten Sie den Artikel FreeBSD unterstu:tzen lesen.

     --------------------------------------------------------------

  1.2.1. Was kann FreeBSD?

   FreeBSD hat zahlreiche bemerkenswerte Eigenschaften. Um nur einige
   zu nennen:

     * Pra:emptives Multitasking mit dynamischer Priorita:tsanpassung
       zum reibungslosen und ausgeglichenen Teilen der
       Systemressourcen zwischen Anwendungen und Anwendern, selbst
       unter schwerster Last.

     * Der Mehrbenutzerbetrieb von FreeBSD erlaubt es, viele Anwender
       gleichzeitig am System mit verschiedenen Aufgaben arbeiten zu
       lassen. Beispielsweise Gera:te wie Drucker oder Bandlaufwerke,
       die sich nur schwerlich unter allen Anwendern des Systems oder
       im Netzwerk teilen lassen, ko:nnen durch Setzen von
       Verwendungsbeschra:nkungen auf Benutzer oder Benutzergruppen
       wichtige Systemressourcen vor U:berbeanspruchung schu:tzen.

     * Hervorragende TCP/IP-Netzwerkfa:higkeit mit Unterstu:tzung von
       Industriestandards wie SCTP, DHCP, NFS, NIS, PPP, SLIP, IPsec
       und IPv6. Das heisst, Ihr FreeBSD-System kann in einfachster
       Weise mit anderen Systemen interagieren. Zudem kann es als
       Server-System im Unternehmen wichtige Aufgaben u:bernehmen,
       beispielsweise als NFS- oder E-Mail-Server oder es kann Ihren
       Betrieb durch HTTP- und FTP-Server beziehungsweise durch
       Routing und Firewalling Internet-fa:hig machen.

     * Der Speicherschutz stellt sicher, dass Anwendungen (oder
       Anwender) sich nicht gegenseitig sto:ren. Stu:rzt eine
       Anwendung ab, hat das keine Auswirkung auf andere Prozesse.

     * FreeBSD ist ein 32-Bit-Betriebssystem (64-Bit auf Alpha,
       Itanium, AMD64, und UltraSPARC) und wurde als solches von
       Grund auf neu entworfen.

     * Das X-Window-System (X11R7) als Industriestandard bietet eine
       grafische Benutzeroberfla:che (GUI). Minimale Voraussetzung
       zur Verwendung ist lediglich eine Grafikkarte und ein
       Bildschirm, die beide den VGA-Modus unterstu:tzen.

     * Bina:rkompatibilita:t mit vielen unter verschiedenen
       Betriebssystemen erstellten Programmen wie Linux, SCO, SVR4,
       BSDI und NetBSD.

     * Tausende von sofort lauffa:higen Anwendungen sind aus den
       Ports- und Packages-Sammlungen fu:r FreeBSD verfu:gbar. Warum
       mu:hselig im Netz Software suchen, wenn sie bereits hier
       vorhanden ist?

     * Tausende zusa:tzliche leicht zu portierende Anwendungen sind
       u:ber das Internet zu beziehen. FreeBSD ist
       Quellcode-kompatibel mit den meisten kommerziellen UNIX
       Systemen. Daher bedu:rfen Anwendungen ha:ufig nur geringer
       oder gar keiner Anpassung, um auf einem FreeBSD-System zu
       kompilieren.

     * Seitenweise anforderbarer Virtueller Speicher und der "merged
       VM/buffer cache"-Entwurf bedient effektiv den grossen
       Speicherhunger mancher Anwendungen bei gleichzeitigem
       Aufrechterhalten der Bedienbarkeit des Systems fu:r weitere
       Benutzer.

     * SMP-Unterstu:tzung fu:r Mehrprozessorsysteme

     * Ein voller Satz von C, C++ und Fortran-
       Entwicklungswerkzeugen. Viele zusa:tzliche Programmiersprachen
       fu:r Wissenschaft und Entwicklung sind aus der Ports- und
       Packages-Sammlung zu haben.

     * Quellcode fu:r das gesamte System bedeutet gro:sstmo:gliche
       Kontrolle u:ber Ihre Umgebung. Warum sollte man sich durch
       proprieta:re Lo:sungen knebeln und sich auf Gedeih und Verderb
       der Gnade eines Herstellers ausliefern, wenn man doch ein
       wahrhaft offenes System haben kann?

     * Umfangreiche Online-Dokumentation.

   FreeBSD basiert auf dem 4.4BSD-Lite-Release der Computer Systems
   Research Group (CSRG) der Universita:t von Kalifornien in Berkeley
   und fu:hrt die namhafte Tradition der Entwicklung von BSD-Systemen
   fort. Zusa:tzlich zu der herausragenden Arbeit der CSRG hat das
   FreeBSD Project tausende weitere Arbeitsstunden investiert, um das
   System zu verfeinern und maximale Leistung und Zuverla:ssigkeit
   bei Alltagslast zu bieten. Wa:hrend viele kommerzielle Riesen
   Probleme haben PC-Betriebssysteme mit derartigen Funktionen,
   Leistungpotential und Zuverla:ssigkeit anzubieten, kann FreeBSD
   damit schon jetzt aufwarten!

   Die Anwendungsmo:glichkeiten von FreeBSD werden nur durch Ihre
   Vorstellungskraft begrenzt. Von Software-Entwicklung bis zu
   Produktionsautomatisierung, von Lagerverwaltung u:ber
   Abweichungskorrektur bei Satelliten; Falls etwas mit kommerziellen
   UNIX Produkten machbar ist, dann ist es ho:chstwahrscheinlich auch
   mit FreeBSD mo:glich. FreeBSD profitiert stark von tausenden
   hochwertigen Anwendungen aus wissenschaftlichen Instituten und
   Universita:ten in aller Welt. Ha:ufig sind diese fu:r wenig Geld
   oder sogar kostenlos zu bekommen. Kommerzielle Anwendungen sind
   ebenso verfu:gbar und es werden ta:glich mehr.

   Durch den freien Zugang zum Quellcode von FreeBSD ist es in
   unvergleichbarer Weise mo:glich, das System fu:r spezielle
   Anwendungen oder Projekte anzupassen. Dies ist mit den meisten
   kommerziellen Betriebssystemen einfach nicht mo:glich. Beispiele
   fu:r Anwendungen, die unter FreeBSD laufen, sind:

     * Internet-Dienste: Die robuste TCP/IP-Implementierung in
       FreeBSD macht es zu einer idealen Plattform fu:r
       verschiedenste Internet-Dienste, wie zum Beispiel:

          * FTP-Server

          * HTTP-Server (Standard-Web-Server oder mit
            SSL-Verschlu:sselung)

          * IPv4- und IPv6-Routing

          * Firewalls und NAT-Gateways ("IP-Masquerading")

          * E-Mail-Server

          * Usenet-News und Foren (BBS)

       Zum Betreiben von FreeBSD reicht schon ein gu:nstiger 386-PC.
       Wenn es das Wachstum Ihres Unternehmens verlangt, kann FreeBSD
       aber auch auf einem hochgeru:steten 4-Wege-System mit
       Xeon-Prozessoren und RAID-Plattenspeicher Verwendung finden.

     * Bildung: Sind Sie Informatikstudent oder Student eines
       verwandten Studiengangs? Die praktischen Einblicke in FreeBSD
       sind die beste Mo:glichkeit etwas u:ber Betriebssysteme,
       Rechnerarchitektur und Netzwerke zu lernen. Einige frei
       erha:ltliche CAD-, mathematische und grafische Anwendungen
       sind sehr nu:tzlich, gerade fu:r diejenigen, die FreeBSD nicht
       zum Selbstzweck, sondern als Arbeitsmittel einsetzen.

     * Wissenschaft: Mit dem frei verfu:gbaren Quellcode fu:r das
       gesamte System bildet FreeBSD ein exzellentes Studienobjekt in
       der Disziplin der Betriebssysteme, wie auch in anderen Zweigen
       der Informatik. Es ist beispielsweise denkbar, das ra:umlich
       getrennte Gruppen gemeinsam an einer Idee oder Entwicklung
       arbeiten. Das Konzept der freien Verfu:gbarkeit und -nutzung
       von FreeBSD ermo:glicht so einen Gebrauch, auch ohne sich
       gross Gedanken u:ber Lizenzbedingungen oder -beschra:nkungen
       machen zu mu:ssen.

     * Netzwerkfa:higkeit: Brauchen Sie einen neuen Router? Oder
       einen Name-Server (DNS)? Eine Firewall zum Schutze Ihres
       Intranets vor Fremdzugriff? FreeBSD macht aus dem in der Ecke
       verstaubenden 386- oder 486-PC im Handumdrehen einen
       leistungsfa:higen Router mit anspruchsvollen
       Packet-Filter-Fa:higkeiten.

     * X-Window-Workstation: FreeBSD ist eine gute Wahl fu:r
       kostengu:nstige X-Terminals mit dem frei verfu:gbaren
       X11-Server. Im Gegensatz zu einem X-Terminal erlaubt es
       FreeBSD, viele Anwendungen lokal laufen zu lassen, was die
       Last eines zentralen Servers erleichtern kann. FreeBSD kann
       selbst "plattenlos" starten, was einzelne Workstations noch
       gu:nstiger macht und die Wartung erleichtert.

     * Software-Entwicklung: Das Standard-System von FreeBSD wird mit
       einem kompletten Satz an Entwicklungswerkzeugen
       bereitgestellt, unter anderem mit dem bekannten GNU
       C/C++-Kompiler und -Debugger.

   FreeBSD ist sowohl in Form von Quellcode als auch in Bina:rform
   auf CD-ROM, DVD und u:ber anonymous FTP erha:ltlich. Na:heres zum
   Bezug von FreeBSD entha:lt Anhang A.

     --------------------------------------------------------------

  1.2.2. Wer benutzt FreeBSD?

   FreeBSD dient als Plattform fu:r Gera:te und Produkte einiger der
   weltgro:ssten IT-Firmen, darunter:

     * Apple

     * Cisco

     * Juniper

     * NetApp

   Ausserdem laufen einige der gro:ssten Internet-Auftritte unter
   FreeBSD, beispielsweise:

     * Yahoo!

     * Yandex

     * Apache

     * Rambler

     * Sina

     * Pair Networks

     * Sony Japan

     * Netcraft

     * NetEase

     * Weathernews

     * TELEHOUSE America

     --------------------------------------------------------------

1.3. Das FreeBSD Project

   Der folgende Abschnitt bietet einige Hintergrundinformationen zum
   FreeBSD Project, einschliesslich einem kurzen geschichtlichen
   Abriss, den Projektzielen und dem Entwicklungsmodell.

     --------------------------------------------------------------

  1.3.1. Kurzer geschichtlicher Abriss zu FreeBSD

   Beigesteuert von Jordan Hubbard.

   Das FreeBSD Project erblickte das Licht der Welt Anfang 1993 teils
   als Auswuchs des "Unofficial 386BSD Patchkit" unter der Regie der
   letzten drei Koordinatoren des Patchkits: Nate Williams, Rod
   Grimes und mir.

   Unser eigentliches Ziel war es, einen zwischenzeitlichen Abzug von
   386BSD zu erstellen, um ein paar Probleme zu beseitigen, die das
   Patchkit-Verfahren nicht lo:sen konnte. Einige von Ihnen werden
   sich in dem Zusammenhang noch an die fru:hen Arbeitstitel "386BSD
   0.5" oder "386BSD Interim" erinnern.

   386BSD war das Betriebssystem von Bill Jolitz. Dieses litt bis zu
   diesem Zeitpunkt heftig unter fast einja:hriger Vernachla:ssigung.
   Als das Patchkit mit jedem Tag anschwoll und unhandlicher wurde,
   waren wir einhellig der Meinung, es mu:sse etwas geschehen. Wir
   entschieden uns Bill Jolitz zu helfen, indem wir den
   u:bergangsweise "bereinigten" Abzug zur Verfu:gung stellten. Diese
   Pla:ne wurden unscho:n durchkreuzt als Bill Jolitz plo:tzlich
   seine Zustimmung zu diesem Projekt zuru:ckzog, ohne einen Hinweis
   darauf, was stattdessen geschehen sollte.

   Es hat nicht lange gedauert zu entscheiden, dass das Ziel es wert
   war, weiterverfolgt zu werden, selbst ohne Bills Unterstu:tzung.
   Also haben wir den von David Greenman gepra:gten Namen "FreeBSD"
   angenommen. Unsere anfa:nglichen Ziele setzten wir nach
   Ru:cksprache mit den damaligen Benutzern des Systems fest. Und als
   deutlich wurde, das Projekt wu:rde mo:glicherweise Realita:t, nahm
   ich Kontakt mit Walnut Creek CDROM auf, mit einem Auge darauf, den
   Vertriebsweg fu:r die vielen Missbegu:nstigten zu verbessern, die
   keinen einfachen Zugang zum Internet hatten. Walnut Creek CDROM
   unterstu:tzte nicht nur die Idee des CD-ROM-Vertriebs, sondern
   stellte sogar dem Projekt einen Arbeitsrechner und eine schnelle
   Internetverbindung zur Verfu:gung. Ohne den beispiellosen Glauben
   von Walnut Creek CDROM in ein zu der Zeit absolut unbekanntes
   Projekt, ga:be es FreeBSD in der heutigen Form wohl nicht.

   Die erste auf CD-ROM (und netzweit) verfu:gbare Vero:ffentlichung
   war FreeBSD 1.0 im Dezember 1993. Diese basierte auf dem Band der
   4.3BSD-Lite ("Net/2") der Universita:t von Kalifornien in
   Berkeley. Viele Teile stammten aus 386BSD und von der Free
   Software Foundation. Gemessen am ersten Angebot, war das ein
   ziemlicher Erfolg und wir liessen dem das extrem erfolgreiche
   FreeBSD 1.1 im Mai 1994 folgen.

   Zu dieser Zeit formierten sich unerwartete Gewitterwolken am
   Horizont, als Novell und die Universita:t von Kalifornien in
   Berkeley (UCB) ihren langen Rechtsstreit u:ber den rechtlichen
   Status des Berkeley Net/2-Bandes mit einem Vergleich beilegten.
   Eine Bedingung dieser Einigung war es, dass die UCB grosse Teile
   des Net/2-Quellcodes als "belastet" zugestehen musste, und dass
   diese Besitz von Novell sind, welches den Code selbst einige Zeit
   vorher von AT&T bezogen hatte. Im Gegenzug bekam die UCB den
   "Segen" von Novell, dass sich das 4.4BSD-Lite-Release bei seiner
   endgu:ltigen Vero:ffentlichung als unbelastet bezeichnen darf.
   Alle Net/2-Benutzer sollten auf das neue Release wechseln. Das
   betraf auch FreeBSD. Dem Projekt wurde eine Frist bis Ende Juli
   1994 eingera:umt, das auf Net/2-basierende Produkt nicht mehr zu
   vertreiben. Unter den Bedingungen dieser U:bereinkunft war es dem
   Projekt noch erlaubt ein letztes Release vor diesem festgesetzten
   Zeitpunkt herauszugeben. Das war FreeBSD 1.1.5.1.

   FreeBSD machte sich dann an die beschwerliche Aufgabe, sich Stu:ck
   fu:r Stu:ck, aus einem neuen und ziemlich unvollsta:ndigen Satz
   von 4.4BSD-Lite-Teilen, wieder aufzubauen. Die
   "Lite"-Vero:ffentlichungen waren deswegen leicht, weil Berkeleys
   CSRG grosse Code-Teile, die fu:r ein start- und lauffa:higes
   System gebraucht wurden, aufgrund diverser rechtlicher
   Anforderungen entfernen musste und weil die 4.4-Portierung fu:r
   Intel-Rechner extrem unvollsta:ndig war. Das Projekt hat bis
   November 1994 gebraucht diesen U:bergang zu vollziehen, was dann
   zu dem im Netz vero:ffentlichten FreeBSD 2.0 und zur
   CD-ROM-Version (im spa:ten Dezember) fu:hrte. Obwohl FreeBSD
   gerade die ersten Hu:rden genommen hatte, war dieses Release ein
   massgeblicher Erfolg. Diesem folgte im Juni 1995 das robustere und
   einfacher zu installierende FreeBSD 2.0.5.

   Im August 1996 vero:ffentlichten wir FreeBSD 2.1.5. Es schien
   unter ISPs und der Wirtschaft beliebt genug zu sein, ein weiteres
   Release aus dem 2.1-STABLE-Zweig zu rechtfertigen. Das war
   FreeBSD 2.1.7.1. Es wurde im Februar 1997 vero:ffentlicht und
   bildete das Ende des Hauptentwicklungszweiges 2.1-STABLE. Derzeit
   unterliegt dieser Zweig dem Wartungsmodus, das heisst, es werden
   nur noch Sicherheitsverbesserungen und die Beseitigung von
   kritischen Fehlern vorgenommen (RELENG_2_1_0).

   FreeBSD 2.2 entsprang dem Hauptentwicklungszweig ("-CURRENT") im
   November 1996 als RELENG_2_2-Zweig und das erste komplette Release
   (2.2.1) wurde im April 1997 herausgegeben. Weitere
   Vero:ffentlichungen des 2.2-Zweiges gab es im Sommer und Herbst
   1997. Das letzte Release des 2.2-Zweiges bildete die Version
   2.2.8, die im November 1998 erschien. Das erste offizielle
   3.0-Release erschien im Oktober 1998 und la:utete das Endes des
   2.2-Zweiges ein.

   Am 20. Januar 1999 teilte sich der Quellbaum in die Zweige
   4.0-CURRENT und 3.X-STABLE. Auf dem 3.X-STABLE-Zweig wurden
   folgende Releases erstellt: 3.1 am 15. Februar 1999, 3.2 am
   15. Mai 1999, 3.3 am 16. September 1999, 3.4 am 20. Dezember 1999
   und 3.5 am 24. Juni 2000. Letzterem folgte ein paar Tage spa:ter
   das Release 3.5.1, welches einige akute Sicherheitslo:cher von
   Kerberos stopfte und die letzte Vero:ffentlichung des 3.X-Zweiges
   darstellte.

   Eine weitere Aufspaltung, aus dem der 4.X-STABLE-Zweig hervorging,
   erfolgte am 13. Ma:rz 2000. Bisher gab es mehrere
   Vero:ffentlichungen aus diesem Zweig: 4.0-RELEASE erschien im
   Ma:rz 2000. Das letzte Release, 4.11-RELEASE, erschien im Januar
   2005.

   Das lang erwartete 5.0-RELEASE wurde am 19. Januar 2003
   vero:ffentlicht. Nach nahezu drei Jahren Entwicklungszeit brachte
   dieses Release die Unterstu:tzung fu:r Mehrprozessor-Systeme sowie
   fu:r Multithreading. Mit diesem Release lief FreeBSD erstmalig auf
   den Plattformen UltraSPARC und ia64. Im Juni 2003 folgte
   5.1-RELEASE. Das letzte 5.X-Release aus dem CURRENT-Zweig war
   5.2.1-RELEASE, das im Februar 2004 vero:ffentlicht wurde.

   Der Zweig RELENG_5 wurde im August 2004 erzeugt. Als erstes
   Release dieses Zweiges wurde 5.3-RELEASE vero:ffentlicht, bei dem
   es sich gleichzeitig auch um das erste 5-STABLE-Release handelte.
   Das aktuelle 5.5-RELEASE (dem keine RELENG_5-Versionen mehr folgen
   werden) erschien im Mai 2006.

   Der Zweig RELENG_6 wurde im Juli 2005 erzeugt. 6.0-RELEASE, das
   erste Release des 6.X-Zweiges, wurde im November 2005
   vero:ffentlicht. Das aktuelle 7.2-RELEASE (dem keine weiteren
   RELENG_6-Versionen folgen werden) erschien im November 2008.

   Der Zweig RELENG_7 wurde im Oktober 2007 erzeugt. 7.0-RELEASE, das
   erste Release des 7.X-Zweiges, wurde im Februar 2008
   vero:ffentlicht. Das aktuelle 8.0-RELEASE (dem weitere
   RELENG_7-Versionen folgen werden) erschien im Januar 2009.

   Zurzeit werden Projekte mit langem Entwicklungshorizont im Zweig
   8.X-CURRENT verfolgt, Schnappschu:sse von 8.X auf CD-ROM (und
   natu:rlich im Netz) werden bei fortlaufender Entwicklung auf dem
   Snapshot-Server zur Verfu:gung gestellt.

     --------------------------------------------------------------

  1.3.2. Ziele des FreeBSD Projects

   Beigesteuert von Jordan Hubbard.

   Das FreeBSD Project stellt Software her, die ohne Einschra:nkungen
   fu:r beliebige Zwecke eingesetzt werden kann. Viele von uns haben
   betra:chtlich in Quellcode und Projekt investiert und ha:tten
   sicher nichts dagegen, hin und wieder ein wenig finanziellen
   Ausgleich dafu:r zu bekommen. Aber in keinem Fall bestehen wir
   darauf. Wir glauben unsere erste und wichtigste "Mission" ist es,
   Software fu:r jeden Interessierten und zu jedem Zweck zur
   Verfu:gung zu stellen, damit die Software gro:sstmo:gliche
   Verbreitung erlangt und gro:sstmo:glichen Nutzen stiftet. Das ist,
   glaube ich, eines der grundlegenden Ziele freier Software, welche
   wir mit gro:sster Begeisterung unterstu:tzen.

   Der Code in unserem Quellbaum, der unter die General Public
   License (GPL) oder die Library General Public License (LGPL)
   fa:llt, stellt geringfu:gig mehr Bedingungen. Das aber vielmehr im
   Sinne von eingefordertem Zugriff, als das u:bliche Gegenteil der
   Beschra:nkungen. Aufgrund zusa:tzlicher Abha:ngigkeiten, die sich
   durch die Verwendung von GPL-Software bei kommerziellem Gebrauch
   ergeben, bevorzugen wir daher Software unter dem transparenteren
   BSD-Copyright, wo immer es angebracht ist.

     --------------------------------------------------------------

  1.3.3. Das Entwicklungsmodell von FreeBSD

   Beigesteuert von Satoshi Asami.

   Die Entwicklung von FreeBSD ist ein offener und vielseitiger
   Prozess. FreeBSD besteht aus Beisteuerungen von Hunderten Leuten
   rund um die Welt, wie Sie aus der Liste der Beitragenden ersehen
   ko:nnen. Die vielen Entwickler ko:nnen aufgrund der
   Entwicklungs-Infrastruktur von FreeBSD u:ber das Internet
   zusammenarbeiten. Wir suchen sta:ndig nach neuen Entwicklern,
   Ideen und jenen, die sich in das Projekt tiefer einbringen wollen.
   Nehmen Sie einfach auf der Mailingliste FreeBSD technical
   discussions Kontakt mit uns auf. Die Mailingliste FreeBSD
   announcements steht fu:r wichtige Anku:ndigungen, die alle
   FreeBSD-Benutzer betreffen, zur Verfu:gung.

   Unabha:ngig davon ob Sie alleine oder mit anderen eng zusammen
   arbeiten, entha:lt die folgende Aufstellung nu:tzliche
   Informationen u:ber das FreeBSD Project und dessen
   Entwicklungsabla:ufe.

   CVS- und SVN-Repositories

           Der Hauptquellbaum von FreeBSD wurde u:ber viele Jahre
           ausschliesslich mit CVS gepflegt, einem frei erha:ltlichen
           Versionskontrollsystem, welches mit FreeBSD geliefert
           wird. Im Juni 2008 begann das FreeBSD Project mit dem
           Umstieg auf SVN (Subversion). Dieser Schritt wurde
           notwendig, weil CVS aufgrund des rapide wachsenden
           Quellcodebaumes und dem Umfang der bereits gespeichterten
           Revisisionsinformationen an seine Grenzen zu stossen
           begann. Wa:hrend das Hauptrepository nun SVN verwendet,
           hat sich auf der Client-Seite nichts gea:ndert. Werkzeuge
           wie CVSup und csup, die auf der alten CVS-Infrastruktur
           aufbauen, funktionieren weiterhin, weil alle A:nderungen,
           die im SVN-Repository erfolgen, in das CVS-Repository
           portiert werden. Im Moment wird nur src-Quellcodebaum
           u:ber SVN verwaltet. Die Dokumentation, die Webseiten
           sowie die Ports befinden sich weiterhin in einem
           CVS-Repository. Das Haupt-CVS-Repository la:uft auf einer
           Maschine in Santa Clara, Kalifornien, USA. Von dort wird
           es auf zahlreiche Server in aller Welt gespiegelt. Der
           SVN-Quellbaum, der die Zweige -CURRENT und -STABLE
           entha:lt, kann so einfach auf Ihr eigenes System
           gespiegelt werden. Na:heres dazu ko:nnen Sie im Handbuch
           unter Synchronisation der Quellen in Erfahrung bringen.

   Die Committer-Liste

           Die Committer sind Personen mit Schreibzugriff auf den
           CVS-Quellbaum (der Begriff "Committer" stammt vom
           cvs(1)-Befehl commit, der zum Einspeisen von A:nderungen
           ins Repository gebraucht wird). Der beste Weg, Vorschla:ge
           zur Pru:fung durch die Mitglieder der Committer-Liste
           einzureichen, bietet der Befehl send-pr(1). Sollte es
           unerwartete Probleme mit diesem Verfahren geben, besteht
           immer noch die Mo:glichkeit eine E-Mail an die Liste
           "FreeBSD committers" zu schicken.

   Das FreeeBSD-Core-Team

           Wu:rde man das FreeBSD Project mit einem Unternehmen
           vergleichen, so wa:re das FreeBSD-Core-Team das
           Gegenstu:ck zum Vorstand. Die Hauptaufgabe des Core-Teams
           ist es, das Projekt als Ganzes in gesunder Verfassung zu
           halten und die weitere Entwicklung in die richtige Bahn zu
           lenken. Das Anwerben leidenschaftlicher und
           verantwortungsbewusster Entwickler ist eine Aufgabe des
           Core-Team, genauso wie die Rekrutierung neuer Mitglieder
           fu:r das Core-Team, im Falle, dass Altmitglieder aus dem
           Projekt aussteigen. Das derzeitige Core-Team wurde im
           Juli 2008 aus einem Kreis kandidierender Committer
           gewa:hlt. Wahlen werden alle zwei Jahre abgehalten.

           Einige Core-Team-Mitglieder haben auch spezielle
           Verantwortungsbereiche. Das bedeutet, sie haben sich
           darauf festgelegt, sicherzustellen, dass ein gro:sserer
           Teil des Systems so funktioniert wie ausgewiesen. Eine
           vollsta:ndige Liste an FreeBSD beteiligter Entwickler und
           ihrer Verantwortungsbereiche kann in der Liste der
           Beitragenden eingesehen werden.

             Anmerkung: Die Mehrzahl der Mitglieder des Core-Teams
             sind Freiwillige in Bezug auf die FreeBSD-Entwicklung
             und profitieren nicht finanziell vom Projekt. Daher
             sollte "Verpflichtung" nicht als "garantierter Support"
             fehlinterpretiert werden. Der oben angefu:hrte Vergleich
             mit einem Vorstand hinkt und es wa:re angebrachter zu
             erwa:hnen, dass diese Leute - wider besseres Wissen -
             ihr eigenes Leben fu:r FreeBSD aufgegeben haben!

   Weitere Beitragende

           Die gro:sste Entwicklergruppe sind nicht zuletzt die
           Anwender selbst, die Ru:ckmeldungen und Fehlerbehebungen
           in einem anhaltend hohen Masse an uns senden. Der
           bevorzugte Weg an dem weniger zentralisierten Bereich der
           FreeBSD-Entwicklung teilzuhaben, ist die Mo:glichkeit sich
           bei der Liste FreeBSD technical discussions anzumelden.
           Weitere Informationen u:ber die verschiedenen
           FreeBSD-Mailinglisten erhalten Sie in Anhang C.

           Die Liste der zu FreeBSD Beitragenden ist eine lange und
           wachsende. Also warum nicht selbst dort stehen, indem Sie
           gleich perso:nlich etwas zu FreeBSD beitragen?

           Quellcode ist nicht der einzige Weg, etwas zum Projekt
           beizusteuern. Eine genauere U:bersicht u:ber offene
           Aufgaben finden Sie auf der FreeBSD-Web-Site.

   Zusammengefasst bildet unser Entwicklungsmodell einen losen
   Verbund konzentrischer Kreise. Das zentralisierte Modell ist auf
   die Bedu:rfnisse der Anwender zugeschnitten, mit der einfachen
   Mo:glichkeit eine zentrale Code-Basis zu verfolgen und mo:glichen
   neuen Beitragenden nicht das Leben zu erschweren! Unser Ziel ist
   es, ein stabiles Betriebssystem mit einer grossen Zahl passender
   Programme zu bieten, die der Anwender leicht installieren und
   anwenden kann. Und dieses Modell funktioniert fu:r diese Aufgabe
   ziemlich gut.

   Das Einzige was wir von mo:glichen neuen Mitgliedern fordern, ist
   die gleiche Hingabe, mit der die jetzigen Mitglieder am
   dauerhaften Erfolg arbeiten!

     --------------------------------------------------------------

  1.3.4. Das aktuelle FreeBSD-Release

   FreeBSD ist ein (mit vollem Quellcode und ein frei erha:ltliches)
   auf 4.4BSD-Lite-basierendes Release fu:r Intel i386(TM), i486(TM),
   Pentium(R), Pentium Pro, Celeron(R), Pentium II, Pentium III,
   Pentium 4 (oder ein dazu kompatibler Prozessor), Xeon(TM), DEC
   Alpha und Sun UltraSPARC Systeme. Es stu:tzt sich zum gro:ssten
   Teil auf Software der Computer Systems Research Group (CSRG) der
   Universita:t von Kalifornien in Berkeley mit einigen
   Verbesserungen aus NetBSD, OpenBSD, 386BSD und der Free Software
   Foundation.

   Seit unserem FreeBSD 2.0 von Ende 1994 hat sich Leistung,
   Funktionsvielfalt und Stabilita:t dramatisch verbessert. Die
   gro:sste A:nderung erfuhr das virtuelle Speichermanagement durch
   eine Kopplung von virtuellem Speicher und dem Buffer-Cache, das
   nicht nur die Leistung steigert, sondern auch den
   Hauptspeicherverbrauch reduziert und ein 5 MB-System zu einem
   nutzbaren Minimal-System verhilft. Weitere Verbesserungen sind
   volle NIS-Client- und Server-Unterstu:tzung, T/TCP,
   Dial-On-Demand-PPP, integriertes DHCP, ein verbessertes
   SCSI-Subsystem, ISDN-Support, Unterstu:tzung fu:r ATM-, FDDI-,
   Fast- und Gigabit-Ethernet-Karten (1000 Mbit), verbesserter
   Support der neusten Adaptec-Controller und tausende
   Fehlerkorrekturen.

   Zusa:tzlich zur Standard-Distribution bietet FreeBSD eine Sammlung
   von portierter Software mit tausenden begehrten Programmen. Zum
   Verfassungszeitpunkt waren u:ber 20,000 Anwendungen in der
   Ports-Sammlung! Das Spektrum der Ports-Sammlung reicht von
   HTTP-Servern u:ber Spiele, Programmiersprachen, Editoren und so
   ziemlich allem dazwischen. Die gesamte Ports-Sammlung beno:tigt
   417 MB an Speicherplatz, wobei jeder Port anhand eines "Deltas" zu
   den Quellen angegeben wird. Das macht es fu:r uns erheblich
   leichter, Ports zu aktualisieren und es verringert den
   Plattenbedarf im Vergleich zur a:lteren 1.0-Port-Sammlung. Um ein
   Port zu u:bersetzen, mu:ssen Sie einfach ins Verzeichnis des
   Programms wechseln und ein make install absetzen. Den Rest
   erledigt das System. Die originalen Quellen jedes zu
   installierenden Port werden dynamisch von CD-ROM oder einem
   FTP-Server bezogen. Es reicht also fu:r genu:gend Plattenplatz zu
   sorgen, um die gewu:nschten Ports zu erstellen. Allen, die Ports
   nicht selbst kompilieren wollen: Es gibt zu fast jedem Port ein
   vorkompiliertes Paket, das einfach mit dem Befehl (pkg_add)
   installiert wird. Pakete und Ports werden in Kapitel 4
   beschrieben.

   Eine Reihe von weiteren Dokumenten, die sich als hilfreich bei der
   Installation oder dem Arbeiten mit FreeBSD erweisen ko:nnten,
   liegen auf neueren FreeBSD-Systemen im Verzeichnis /usr/share/doc.
   Die lokal installierten Anleitungen lassen sich mit jedem
   HTML-fa:higen Browser unter folgenden Adressen betrachten:

   Das FreeBSD-Handbuch

           /usr/share/doc/handbook/index.html

   Die FreeBSD-FAQ

           /usr/share/doc/faq/index.html

   Es besteht auch die Mo:glichkeit, sich die jeweils aktuellste
   Version der Referenzdokumente unter http://www.FreeBSD.org
   anzusehen.

     --------------------------------------------------------------

                    Kapitel 2. FreeBSD installieren

   U:berarbeitet und teilweise neu geschrieben von Jim Mock. Der Gang
   durch sysinstall und alle Bildschirmabzu:ge von Randy Pratt.
   U:bersetzt von Martin Heinen und Johann Kois.

2.1. U:bersicht

   FreeBSD wird mit dem textorientierten Programm sysinstall
   installiert. Distributoren ko:nnen ein anderes
   Installationsprogramm verwenden, voreingestellt ist jedoch
   sysinstall. Dieses Kapitel zeigt Ihnen, wie Sie mithilfe von
   sysinstall FreeBSD installieren.

   Dieses Kapitel behandelt folgende Punkte:

     * Das Erzeugen von FreeBSD-Startdisketten.

     * Wie FreeBSD Platten anspricht und aufteilt.

     * Wie sysinstall ausgefu:hrt wird.

     * Die Menu:s von sysinstall und die erforderlichen Eingaben in
       den Menu:s.

   Bevor Sie dieses Kapitel lesen, sollten Sie

     * Die Hardware-Notes der FreeBSD-Release, die Sie installieren
       wollen, lesen und sicherstellen, dass Ihre Hardware
       unterstu:tzt wird.

     Anmerkung: Diese Installationsanleitung gilt fu:r Rechner mit
     i386-Architektur (PC-kompatible Rechner). Abweichende
     Anweisungen fu:r andere Plattformen (beispielsweise Alpha)
     werden wo notwendig gegeben. Obwohl diese Anleitung so aktuell
     wie mo:glich ist, kann das Installationsverfahren von dem hier
     gezeigten geringfu:gig abweichen. Legen Sie bitte daher diese
     Anleitung nicht wortwo:rtlich aus, sondern lassen Sie sich von
     diesem Kapitel durch den Installationsprozess leiten.

     --------------------------------------------------------------

2.2. Hardware-Anforderungen

  2.2.1. Minimalkonfiguration

   Die zur Installation von FreeBSD erforderliche
   Minimalkonfiguration ha:ngt von der zu installierenden
   FreeBSD-Version sowie von der Hardware-Architektur ab.

   Informationen zur jeweiligen Minimalkonfiguration finden Sie in
   Installation Notes auf der Unterseite Release Information der
   FreeBSD-Internetseiten. Die folgenden Abschnitte fassen diese
   Informationen zusammen. Je nachdem, wie Sie FreeBSD installieren,
   beno:tigen Sie eventuell auch ein Diskettenlaufwerk, ein
   unterstu:tztes CD-ROM-Laufwerk, oder auch eine Netzwerkkarte.
   Abschnitt 2.3.7 des Handbuchs entha:lt weitere Informationen zu
   den verschiedenen Installationsarten.

     --------------------------------------------------------------

    2.2.1.1. Die FreeBSD/i386- und FreeBSD/pc98-Architekturen

   Sowohl FreeBSD/i386 als auch FreeBSD/pc98 beno:tigen jeweils
   mindestens einen 486-Prozessor sowie mindestens 24 MB RAM.
   Ausserdem beno:tigen Sie fu:r eine Minimalinstallation mindestens
   150 MB freien Platz auf Ihrer Festplatte.

     Anmerkung: In den meisten derartigen Konfigurationen ist es
     besser, fu:r mehr RAM und mehr Plattenplatz zu sorgen, statt
     einen schnelleren Prozessor einzubauen.

     --------------------------------------------------------------

    2.2.1.2. Die FreeBSD/alpha-Architektur

   Um FreeBSD/alpha zu installieren, beno:tigen Sie eine
   unterstu:tzte Plattorm (lesen Sie dazu auch Abschnitt 2.2.2 des
   Handbuchs) sowie eine seperate Festplatte fu:r die
   FreeBSD-Installation. Es ist nicht derzeit mo:glich, die Platte
   mit einem weiteren Betriebssystem zu teilen. Diese seperate Platte
   muss an einen SCSI-Controller angeschlossen sein, der von der
   SRM-Firmware unterstu:tzt wird. Alternativ ko:nnen Sie auch eine
   IDE-Platte verwenden, wenn Ihr SRM das Starten von IDE-Platten
   unterstu:tzt.

   Fu:r die FreeBSD-Installation beno:tigen Sie die
   SRM-Konsolen-Firmware fu:r Ihre Plattform. Manchmal ist es
   mo:glich, zwischen der AlphaBIOS-Firmware (auch ARC genannt) und
   SRM zu wechseln. Ist dies bei Ihnen nicht mo:glich, mu:ssen Sie
   sich die neue Firmware von der Internetseite Ihres Herstellers
   herunterladen.

     Anmerkung: Die Unterstu:tzung fu:r die Alpha-Plattform wurde mit
     FreeBSD 7.0 eingestellt. Die FreeBSD 6.X-Serie ist damit die
     letzte Serie, die diese Architektur noch unterstu:tzt.

     --------------------------------------------------------------

    2.2.1.3. Die FreeBSD/amd64-Architektur

   Es gibt zwei Klassen von Prozessoren, auf denen Sie FreeBSD/amd64
   ausfu:hren ko:nnen. Die erste Klasse bilden die AMD64-Prozessoren
   (zu denen AMD Athlon 64-, AMD Athlon 64-FX-, oder
   AMD Opteron-Prozessoren geho:ren).

   Die zweite Klasse von Prozessoren, auf denen Sie diese
   FreeBSD/amd64 einsetzen ko:nnen, ist die Intel(R)
   EM64T-Architektur. Prozessoren dieser Klasse sind beispielsweise
   Intel Core(TM) 2 Duo-, Quad-, und Extreme-Prozessoren sowie die
   Intel Xeon-Prozessorreihen 3000, 5000, und 7000.

   Wenn Sie einen auf dem Chipsatz nVidia nForce3 Pro-150 basierenden
   Rechner haben, mu:ssen Sie im BIOS das IO-APIC deaktivieren.
   Erlaubt ihr BIOS dies nicht, mu:ssen Sie stattdessen ACPI
   deaktivieren. Der Grund dafu:r sind Fehler im Pro-150-Chipsatz,
   die bis jetzt nicht behoben werden konnten.

     --------------------------------------------------------------

    2.2.1.4. Die FreeBSD/sparc64-Architektur

   Um FreeBSD/sparc64 zu installieren, beno:tigen Sie eine
   unterstu:tzte Plattform (lesen Sie dazu auch Abschnitt 2.2.2 des
   Handbuchs).

   Sie beno:tigen ausserdem eine seperate Festplatte, wenn Sie
   FreeBSD/sparc64 installieren wollen, da es derzeit leider noch
   nicht mo:glich ist, die Platte mit einem weiteren Betriebssystem
   zu teilen.

     --------------------------------------------------------------

  2.2.2. Unterstu:tzte Hardware

   Die Hardware-Notes, die mit jedem FreeBSD-Release ausgeliefert
   werden, enthalten eine Liste lauffa:higer Hardware. Die
   Hardware-Notes befinden sich u:blicherweise in der Datei
   HARDWARE.TXT im Wurzelverzeichnis der Distribution (CD-ROM oder
   FTP). Sie ko:nnen die Hardware-Notes ausserdem im
   Dokumentationsmenu: von sysinstall oder auf der Webseite Release
   Information lesen.

     --------------------------------------------------------------

2.3. Vor der Installation

  2.3.1. Erstellen Sie eine Gera:teliste

   Bevor Sie FreeBSD installieren, erfassen Sie die Komponenten Ihres
   Rechners. Die FreeBSD-Installation wird die Komponenten
   (Festplatten, Netzwerkkarten, CD-ROM-Laufwerke) zusammen mit der
   Modellbezeichnung und des Herstellers anzeigen. FreeBSD wird auch
   versuchen, die richtige Konfiguration der Gera:te zu ermitteln.
   Dazu geho:ren die benutzten Interrupts (IRQ) und IO-Ports. Wegen
   der Unwa:gbarkeiten von PC-Hardware kann die Konfiguration der
   Gera:te allerdings fehlschlagen. In diesem Fall mu:ssen Sie die
   von FreeBSD ermittelte Konfiguration korrigieren.

   Wenn Sie schon ein anderes Betriebssystem, wie Windows oder Linux
   installiert haben, ko:nnen Sie die Hardware-Konfiguration mit den
   Mitteln dieses Betriebssystems bestimmen. Wenn Sie nicht sicher
   sind, welche Einstellungen eine Erweiterungskarte besitzt, sehen
   Sie auf der Karte selbst nach. Manchmal sind die Einstellungen
   dort aufgedruckt. Gebra:uchliche IRQs sind 3, 5 und 7. Die
   Adressen von IO-Ports werden normalerweise hexadezimal, zum
   Beispiel 0x330, angegeben.

   Halten Sie die Gera:tekonfiguration vor der Installation in einer
   Tabelle wie der nachstehenden fest:

   Tabelle 2-1. Gera:tekonfiguration

         Gera:t        IRQ IO-Ports             Anmerkung             
   erste Festplatte    -   -        40 GB, Seagate, erster IDE-Master 
   CD-ROM              -   -        erster IDE-Slave                  
   zweite Festplatte   -   -        20 GB, IBM, zweiter IDE-Master    
   erster              14  0x1f0                                      
   IDE-Controller                   
   Netzwerkkarte       -   -        Intel 10/100                      
   Modem               -   -        3Com(R) 56K Faxmodem, an COM1     
   ...                                                                

   Nachdem Sie wissen, u:ber welche Hardware Ihr Rechner verfu:gt,
   mu:ssen Sie diese Informationen mit den Hardwareanforderungen der
   zu installierenden FreeBSD-Version abgleichen.

     --------------------------------------------------------------

  2.3.2. Sichern Sie Ihre Daten

   Wenn der Rechner, auf dem Sie FreeBSD installieren wollen,
   wichtige Daten entha:lt, sichern Sie bitte diese Daten. Pru:fen
   Sie auch, dass Sie die Daten aus der Sicherung wiederherstellen
   ko:nnen, bevor Sie FreeBSD installieren. Die FreeBSD-Installation
   fragt zwar nach, bevor Sie Daten auf Ihre Festplatte schreibt,
   Ihre Daten sind allerdings unwiderruflich verloren, wenn der
   Installationsvorgang einmal angelaufen ist.

     --------------------------------------------------------------

  2.3.3. Den Installationsort von FreeBSD festlegen

   Wenn Sie die gesamte Festplatte fu:r FreeBSD verwenden wollen,
   mu:ssen Sie sich an dieser Stelle keine weiteren Gedanken machen -
   lesen Sie bitte im na:chsten Abschnitt weiter.

   Wenn Sie allerdings FreeBSD neben anderen Betriebssystemen
   betreiben wollen, mu:ssen Sie wissen, wie Daten auf einer
   Festplatte abgelegt werden und welche Auswirkungen dies hat.

     --------------------------------------------------------------

    2.3.3.1. Platteneinteilung von FreeBSD/i386-Systemen

   Eine PC-Festplatte wird in einzelne Bereiche unterteilt, die
   Partitionen heissen. FreeBSD verwendet intern ebenfalls
   Partitionen. Um Verwechslungen und Unklarheiten zu vermeiden,
   werden diese Plattenbereiche unter FreeBSD als Slices bezeichnet.
   So verwendet beispielsweise das Werkzeug fdisk den Begriff Slices,
   um sich auf PC-Partitionen zu beziehen. Auf einer PC-Festplatte
   ko:nnen maximal vier Partitionen, die prima:re Partitionen genannt
   werden, angelegt werden. Eine erweiterte Partition hebt diese
   Beschra:nkung auf. Eine Festplatte kann nur eine erweiterte
   Partition enthalten, die wiederum weitere so genannte logische
   Partitionen enthalten kann.

   Jede Partition besitzt eine Partitions-ID - eine Zahl, die den Typ
   der Partition festlegt. FreeBSD-Partitionen tragen die
   Partitions-ID 165.

   U:blicherweise kennzeichnen Betriebssysteme Partitionen in einer
   besonderen Art und Weise. Beispielsweise werden jeder prima:ren
   und logischen Partition unter DOS und dem verwandten Windows
   Laufwerksbuchstaben beginnend mit C: zugewiesen.

   FreeBSD muss auf einer prima:ren Partition installiert werden. In
   dieser Partition ha:lt FreeBSD alle Daten einschliesslich der
   Dateien, die Sie anlegen. Verfu:gt das System u:ber mehrere
   Festplatten, ko:nnen Sie auf allen oder einigen Platten eine
   FreeBSD-Partition einrichten. Zur Installation von FreeBSD
   beno:tigen Sie eine freie Partition: Dies kann eine extra fu:r die
   Installation eingerichtete Partition sein oder eine existierende
   Partition, die nicht mehr beno:tigte Daten entha:lt.

   Wenn auf allen Platten bereits sa:mtliche Partitionen benutzt
   werden, mu:ssen Sie eine der Partitionen fu:r FreeBSD frei machen.
   Benutzen Sie dazu die Werkzeuge des eingesetzten Betriebssystems
   (fdisk unter DOS oder Windows).

   Verfu:gt das System u:ber eine freie Partition, benutzen Sie diese
   Partition. Es kann allerdings sein, dass Sie eine oder mehrere der
   vorhandenen Partitionen vorher verkleinern mu:ssen.

   Eine minimale FreeBSD-Installation beno:tigt nur 100 MB
   Plattenplatz. Diese Installation ist allerdings sehr begrenzt und
   la:sst wenig Platz fu:r Ihre eigenen Dateien. Realistischer sind
   250 MB fu:r FreeBSD ohne graphische Benutzeroberfla:che und 350 MB
   fu:r FreeBSD mit einer graphischen Benutzeroberfla:che. Sie
   beno:tigen weiteren Platz fu:r die Installation zusa:tzlicher
   Software.

   Um die Partitionen zu verkleinern, ko:nnen Sie beispielsweise das
   kommerzielle PartitionMagic(R) oder das freie GParted benutzen.
   Alternativ entha:lt das Verzeichnis tools der CD-ROM fu:r diesen
   Zweck bereits die freien Werkzeuge FIPS und PResizer. Die
   Dokumentation zu beiden Werkzeugen befindet sich ebenfalls in
   diesem Verzeichnis. FIPS und PResizer ko:nnen nur die Gro:ssen von
   FAT16- und FAT32-Partitionen vera:ndern, wa:hrend GParted und
   PartitionMagic auch NTFS-Partitionen vera:ndern ko:nnen. GParted
   ist auf vielen Linux-Live-CDs, beispielsweise der SystemRescueCD,
   verfu:gbar.

   Bei der Vera:nderung von Microsoft Vista-Partionen kommt es
   manchmal zu Problemen. In einem solchen Fall ist es von Vorteil,
   wenn Sie eine Vista-Installations-CD zur Verfu:gung haben. Wie bei
   jeder A:nderung an Ihrer Festplatte sollten Sie auch hier zuerst
   ein aktuelles Backup anlegen.

     Warnung: Der falsche Gebrauch dieser Werkzeuge kann Daten auf
     der Festplatte lo:schen. Vor dem Einsatz dieser Werkzeuge
     stellen Sie bitte sicher, dass Sie frische, funktionierende
     Datensicherungen besitzen.

   Beispiel 2-1. Eine bestehende Partition verwenden

   Nehmen wir an, Sie haben einen Rechner mit einer 4 GB Festplatte,
   auf der schon eine Version von Windows installiert ist. Weiterhin
   haben Sie die Platte in zwei Laufwerke C: und D: unterteilt, die
   jeweils 2 GB gross sind. Auf C: wird 1 GB benutzt und 0,5 GB von
   Laufwerk D: werden benutzt.

   Sie haben also eine Festplatte mit zwei Partitionen und ko:nnten
   alle Daten von Laufwerk D: auf das Laufwerk C: kopieren. Damit
   wa:re die zweite Partition fu:r FreeBSD frei.

   Beispiel 2-2. Eine bestehende Partition verkleinern

   Nehmen wir an, Sie haben einen Rechner mit einer 4 GB Festplatte
   auf der schon eine Version von Windows installiert ist. Wa:hrend
   der Installation von Windows haben sie eine grosse Partition C:
   angelegt, die 4 GB gross ist. Von den 4 GB werden 1,5 GB benutzt
   und Sie wollen 2 GB fu:r FreeBSD verwenden.

   Sie haben zwei Mo:glichkeiten, FreeBSD zu installieren:

    1. Sichern Sie die Daten der Windows-Partition und installieren
       Sie Windows erneut auf einer 2 GB grossen Partition.

    2. Verkleinern Sie die Windows-Partition mit einem der oben
       aufgefu:hrten Werkzeuge.

     --------------------------------------------------------------

    2.3.3.2. Platteneinteilung von Alpha-Systemen

   Auf einer Alpha mu:ssen Sie FreeBSD auf einer eigenen Festplatte
   installieren. Zurzeit ko:nnen Sie diese Festplatte nicht mit einem
   anderen Betriebssystem zusammen benutzen. Abha:ngig von der
   Alpha-Maschine, die Sie besitzen, ko:nnen Sie eine SCSI- oder eine
   IDE-Festplatte verwenden; Voraussetzung ist, dass Sie das System
   von der gewa:hlten Platte starten ko:nnen.

   Entsprechend den Konventionen der Handbu:cher von Digital/Compaq
   werden Eingaben im SRM in Grossbuchstaben dargestellt. Der SRM
   beachtet Gross- und Kleinschreibung nicht.

   Das SRM-Kommando SHOW DEVICE zeigt die Art und die Namen der
   Laufwerke des Systems an. Geben Sie das Kommando an der
   SRM-Eingabeaufforderung ein:

 >>>SHOW DEVICE
 dka0.0.0.4.0               DKA0           TOSHIBA CD-ROM XM-57  3476
 dkc0.0.0.1009.0            DKC0                       RZ1BB-BS  0658
 dkc100.1.0.1009.0          DKC100             SEAGATE ST34501W  0015
 dva0.0.0.0.1               DVA0
 ewa0.0.0.3.0               EWA0              00-00-F8-75-6D-01
 pkc0.7.0.1009.0            PKC0                  SCSI Bus ID 7  5.27
 pqa0.0.0.4.0               PQA0                       PCI EIDE
 pqb0.0.1.4.0               PQB0                       PCI EIDE

   Die Ausgabe stammt von einer Digital Personal Workstation 433au
   und zeigt drei an das System angeschlossene Laufwerke. Das erste
   Laufwerk ist ein CD-ROM mit dem Namen DKA0, die anderen beiden
   sind Festplatten mit den Namen DKC0 und DKC100.

   Laufwerke mit Namen wie DKx sind SCSI-Laufwerke. Der Name DKA100
   zeigt ein SCSI-Laufwerk mit der SCSI-ID 1 auf dem ersten SCSI-Bus
   (A) an. DKC300 zeigt ein SCSI-Laufwerk mit der SCSI-ID 3 auf dem
   dritten SCSI-Bus (C) an. SCSI Host-Bus-Adapter werden mit dem
   Namen PKx bezeichnet. Wie in der Ausgabe von SHOW DEVICE gezeigt,
   werden SCSI-CD-ROM-Laufwerke wie andere SCSI-Festplatten
   behandelt.

   IDE-Laufwerke werden mit DQx bezeichnet, der dazugeho:rige
   IDE-Controller heisst PQx.

     --------------------------------------------------------------

  2.3.4. Netzwerkparameter ermitteln

   Wird wa:hrend der Installation ein Netzwerk beno:tigt (weil Sie
   u:ber FTP oder von einem NFS-Server installieren wollen), mu:ssen
   Sie die Konfiguration des Netzwerks kennen. Wa:hrend der
   Installation werden Netzwerkparameter abgefragt, damit sich
   FreeBSD mit dem Netzwerk verbinden und die Installation
   abschliessen kann.

     --------------------------------------------------------------

    2.3.4.1. Verbindung u:ber Ethernet oder ein Kabel/DSL-Modem

   Wenn Sie sich mit einem Ethernet verbinden oder eine
   Internet-Verbindung mit einem Ethernet-Adapter u:ber Kabel oder
   DSL herstellen, beno:tigen Sie die nachstehenden Daten:

    1. IP-Adresse

    2. IP-Adresse des Default-Gateways

    3. Hostname

    4. IP-Adressen der DNS-Server

    5. Subnetzmaske

   Wenn Sie die Daten nicht besitzen, fragen Sie bitte Ihren
   Systemadministrator oder Ihren Service-Provider. Ko:nnen die Daten
   u:ber DHCP bezogen werden, merken Sie sich diese Tatsache.

     --------------------------------------------------------------

    2.3.4.2. Verbindung u:ber ein Modem

   Auch wenn Sie sich mit einem normalen Modem bei einem ISP
   einwa:hlen, ko:nnen Sie FreeBSD aus dem Internet installieren. Die
   Installation u:ber ein Modem dauert nur sehr lange.

   Sie beno:tigen die nachstehenden Daten:

    1. Die Telefonnummer des ISPs.

    2. Die COM-Schnittstelle, an der das Modem angeschlossen ist.

    3. Den Benutzernamen und das Passwort fu:r Ihr Konto.

     --------------------------------------------------------------

  2.3.5. Lesen Sie die FreeBSD-Errata

   Auch wenn das FreeBSD-Project bemu:ht ist, ein Release so stabil
   wie mo:glich herzustellen, treten ab und an Fehler auf. In
   seltenen Fa:llen betrifft ein Fehler die Installations-Prozedur.
   Die Fehler und deren Behebungen werden in den FreeBSD-Errata
   festgehalten. Lesen Sie bitte die Errata, bevor Sie FreeBSD
   installieren, damit Sie nicht in frisch entdeckte Probleme laufen.

   Dokumentation zu jedem Release, inklusive der Errata zu jedem
   Release, finden Sie im Release-Bereich des FreeBSD Webauftritts.

     --------------------------------------------------------------

  2.3.6. Die Installationsdateien beschaffen

   FreeBSD kann von Dateien aus irgendeiner der nachstehenden Quellen
   installiert werden:

   Lokale Medien

     * von einer CD-ROM oder einer DVD

     * von einer DOS-Partition auf demselben Rechner

     * von einem SCSI- oder QIC-Bandlaufwerk

     * von Disketten

   Netzwerk

     * von einem FTP-Server, wenn erforderlich auch durch eine
       Firewall oder durch einen HTTP-Proxy

     * von einem NFS-Server

     * u:ber eine feste serielle oder eine feste parallele Verbindung

   Wenn Sie eine FreeBSD-CD oder FreeBSD-DVD gekauft haben, besitzen
   Sie schon alles, was Sie zur Installation beno:tigen. Lesen Sie
   bitte im na:chsten Abschnitt (Abschnitt 2.3.7) weiter.

   Wenn Sie sich die FreeBSD-Installationsdateien noch nicht besorgt
   haben, lesen Sie bitte zuerst den Abschnitt 2.13. Dort werden die
   notwendigen Vorbereitungen fu:r eine Installation von den eben
   genannten Medien beschrieben. Wenn Sie den Abschnitt
   durchgearbeitet haben, lesen Sie bitte in Abschnitt 2.3.7 weiter.

     --------------------------------------------------------------

  2.3.7. Das Startmedium vorbereiten

   Um FreeBSD zu installieren, mu:ssen Sie Ihren Rechner mit einem
   speziellen Startmedium hochfahren, das die Installationsroutine
   startet. Sie ko:nnen das Installationsprogramm nicht unter einem
   anderen Betriebssystem ausfu:hren. Ein Rechner startet
   normalerweise das auf der Festplatte installierte Betriebssystem,
   er kann aber auch von Disketten gestartet werden. Heutige Rechner
   ko:nnen ebenfalls mit einer CD-ROM gestartet werden.

     Tipp: Wenn Sie eine FreeBSD CD-ROM oder DVD besitzen (gekauft
     oder selbst erstellt) und Ihr Rechner von CD-ROM oder DVD
     starten kann (u:blicherweise ko:nnen Sie das mit der BIOS-Option
     Boot Order einstellen), ko:nnen Sie diesen Abschnitt
     u:berspringen. Eine FreeBSD CD-ROM oder DVD la:sst sich direkt
     starten; Sie ko:nnen damit FreeBSD ohne weitere Vorbereitungen
     installieren.

   Um Startdisketten zu erzeugen, benutzen Sie die nachstehende
   Anleitung:

    1. Abbilder der Startdisketten besorgen

       Die Abbilder Startdisketten befinden sich auf dem
       Installationsmedium im Verzeichnis floppies/; sie ko:nnen auch
       aus dem Internet heruntergeladen werden:
       ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/<arch>/<version>-RELEASE/floppies/.
       Ersetzen Sie <arch> und <version> durch die passende
       Architektur und die passende Version. Beispielsweise stehen
       die Startdisketten von FreeBSD/i386 8.0-RELEASE unter
       ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/8.0-RELEASE/floppies/.

       Die Abbilder besitzen die Dateinamenerweiterung .flp. Im
       Verzeichnis floppies/ befinden sich verschiedene Abbilder;
       welches Sie benutzen, ha:ngt von der zu installierenden
       FreeBSD-Version und in einigen Fa:llen vom Zielrechner ab. In
       den meisten Fa:llen werden Sie vier Disketten beno:tigen:
       boot.flp, kern1.flp, kern2.flp sowie kern3.flp. Lesen Sie
       bitte die Datei README.TXT im Verzeichnis floppies/, sie
       entha:lt aktuelle Informationen zu den Abbildern.

         Wichtig: Wenn Sie die Abbilder aus dem Internet
         herunterladen, benutzen Sie bitte den Bina:rmodus des
         FTP-Programms. Einige Web-Browser verwenden den Textmodus
         (oder ASCII-Modus), was dazu fu:hrt, dass sich die
         erstellten Disketten nicht starten lassen.

    2. Die Disketten vorbereiten

       Pro Abbild beno:tigen Sie eine Diskette. Es ist wichtig, dass
       die verwendeten Disketten fehlerfrei sind. Sie ko:nnen dies
       sicherstellen, indem Sie die Disketten selbst formatieren,
       verlassen Sie sich bitte nicht auf vorformatierte Disketten.
       Das Formatierprogramm von Windows zeigt fehlerhafte Blo:cke
       nicht an, es markiert die Blo:cke einfach als fehlerhaft und
       ignoriert sie dann. Benutzen Sie neue Disketten, wenn Sie
       diese Installationsart verwenden.

         Wichtig: Wenn Sie FreeBSD installieren und das
         Installationsprogramm abstu:rzt, einfriert oder sich
         merkwu:rdig verha:lt, sind oft fehlerbehaftete Disketten die
         Ursache. Schreiben Sie die Abbilder auf neue Disketten und
         versuchen Sie, noch mal zu installieren.

    3. Die Abbilder auf Disketten schreiben

       Die .flp-Dateien sind keine normalen Dateien, die Sie auf eine
       Diskette kopieren. Sie ko:nnen die Abbilder nicht von einem
       Laufwerk auf ein anderes Laufwerk kopieren. Die Abbilder
       werden mit einem speziellen Werkzeug direkt auf die Diskette
       geschrieben.

       Wenn Sie die Startdisketten unter MS-DOS oder Windows
       erstellen, ko:nnen Sie das mitgelieferte Werkzeug fdimage
       verwenden.

       Wenn Sie die Abbilder auf der CD-ROM verwenden und das
       CD-ROM-Laufwerk den Laufwerksbuchstaben E: besitzt, fu:hren
       Sie den nachstehenden Befehl aus:

 E:\> tools\fdimage floppies\boot.flp A:

       Fu:hren Sie das Kommando fu:r jede .flp-Datei aus. Wechseln
       Sie bitte jedes Mal die Diskette und beschriften Sie die
       Diskette mit dem Namen der kopierten Datei. Falls Sie die
       Abbilder an anderer Stelle liegen haben, passen Sie bitte die
       Kommandozeile an. Wenn Sie keine CD-ROM besitzen, ko:nnen Sie
       fdimage aus dem Verzeichnis tools des FreeBSD-FTP-Servers
       herunterladen.

       Wenn Sie Startdisketten auf einem UNIX System (zum Beispiel
       einem anderen FreeBSD System) erstellen, schreiben Sie die
       Abbilder mit dem Befehl dd(1) direkt auf die Disketten. Auf
       einem FreeBSD-System lautet die Kommandozeile:

 # dd if=boot.flp of=/dev/fd0

       Unter FreeBSD spricht /dev/fd0 das erste Diskettenlaufwerk an
       (das Laufwerk A:), /dev/fd1 spricht das Laufwerk B: an. Andere
       UNIX Varianten verwenden unter Umsta:nden andere Gera:tenamen,
       die in der Dokumentation des jeweiligen Systems beschrieben
       sind.

   Nun ist alles fu:r die FreeBSD-Installation vorbereitet.

     --------------------------------------------------------------

2.4. Die Installation starten

     Wichtig: Die Installationsprozedur la:sst die Daten auf Ihren
     Laufwerken solange unvera:ndert bis die nachstehende Meldung
     erscheint:

 Last Chance: Are you SURE you want continue the installation?

 If you're running this on a disk with data you wish to save then WE
 STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding!

 We can take no responsibility for lost disk contents!

     Vor dieser Meldung kann die Installationsprozedur jederzeit
     abgebrochen werden, ohne die Daten auf der Festplatte zu
     vera:ndern. Wenn Sie meinen, etwas falsch konfiguriert zu haben,
     ko:nnen Sie vor diesem Zeitpunkt einfach den Rechner
     ausschalten.

     --------------------------------------------------------------

  2.4.1. Der Systemstart

    2.4.1.1. Systemstart von i386(TM)-Systemen

    1. Schalten Sie zuna:chst Ihren Rechner aus.

    2. Schalten Sie den Rechner ein. Wa:hrend des Starts sollte
       angezeigt werden, wie Sie das Systemeinstellungsmenu: (oder
       BIOS) erreichen. Meist dru:cken Sie dazu die Tasten F2, F10,
       Del oder Alt+S. Benutzen Sie die angezeigte Tastenkombination.
       Viele Rechner zeigen beim Systemstart eine Grafik an.
       Typischerweise ko:nnen Sie die Grafik mit der Taste Esc
       entfernen und so die angezeigten Meldungen lesen.

    3. Suchen Sie Option, die einstellt von welchem Gera:t der
       Rechner startet. Normalerweise wird die Option Boot Order
       genannt und zeigt eine Gera:teliste, beispielsweise Floppy,
       CD-ROM, First Hard Disk an.

       Wenn Sie Startdisketten erstellt haben, wa:hlen Sie Floppy
       aus, wenn Sie von CD-ROM starten, stellen Sie sicher, dass die
       CD-ROM ausgewa:hlt ist. Wenn Sie nicht sicher sind, lesen Sie
       bitte im Handbuch des Rechners oder im Handbuch der
       Systemplatine nach.

       Stellen Sie das gewu:nschte Startmedium ein und sichern Sie
       die Einstellungen. Der Rechner sollte dann neu starten.

    4. Wenn Sie, wie in Abschnitt 2.3.7 beschrieben, Startdisketten
       vorbereitet haben, beno:tigen Sie nun die erste Diskette, die
       boot.flp entha:lt. Legen Sie diese Diskette in das
       Diskettenlaufwerk ein.

       Wenn Sie den Rechner von einer CD-ROM starten, legen Sie die
       CD-ROM so fru:h wie mo:glich in das Laufwerk ein.

       Wenn Ihr Rechner wie normal startet und das existierende
       Betriebssystem la:dt, kann das folgende Ursachen haben:

         1. Das Startmedium (Diskette, CD-ROM) ist nicht schnell
            genug eingelegt worden. Belassen Sie das Startmedium im
            Laufwerk und starten Sie Ihren Rechner neu.

         2. Die BIOS-Einstellungen sind falsch vorgenommen worden.
            Wiederholen Sie diesen Schritt, bis Sie die richtige
            Einstellung gefunden haben.

         3. Das verwendete BIOS kann nicht von dem gewu:nschten
            Medium starten.

    5. FreeBSD startet jetzt. Wenn Sie von einer CD-ROM starten,
       sehen Sie die folgenden Meldungen (Versionsangaben entfernt):

 Booting from CD-Rom...
 CD Loader 1.2

 Building the boot loader arguments
 Looking up /BOOT/LOADER... Found
 Relocating the loader and the BTX
 Starting the BTX loader

 BTX loader 1.00 BTX version is 1.01
 Console: internal video/keyboard
 BIOS CD is cd0
 BIOS drive C: is disk0
 BIOS drive D: is disk1
 BIOS 639kB/261120kB available memory

 FreeBSD/i386 bootstrap loader, Revision 1.1

 Loading /boot/defaults/loader.conf
 /boot/kernel/kernel text=0x64daa0 data=0xa4e80+0xa9e40 syms=[0x4+0x6cac0+0x4+0x88e9d]
 \          

       Wenn Sie mit Startdisketten hochfahren, sehen Sie folgende
       Meldungen (Versionsangaben entfernt):

 Booting from Floppy...
 Uncompressing ... done

 BTX loader 1.00  BTX version is 1.01
 Console: internal video/keyboard
 BIOS drive A: is disk0
 BIOS drive C: is disk1
 BIOS 639kB/261120kB available memory

 FreeBSD/i386 bootstrap loader, Revision 1.1

 Loading /boot/defaults/loader.conf
 /kernel text=0x277391 data=0x3268c+0x332a8 |

 Insert disk labelled "Kernel floppy 1" and press any key...

       Folgen Sie der Anweisung und entfernen Sie die
       boot.flp-Diskette, anschliessend legen Sie die
       kern1.flp-Diskette ein und dru:cken Enter. Starten Sie das
       System mit der ersten Diskette und legen Sie, wenn Sie dazu
       aufgefordert werden, die anderen Disketten ein.

    6. Unabha:ngig davon, ob Sie von Disketten oder von CD-ROM
       gestartet haben, erscheint danach das FreeBSD
       Bootloader-Menu::

       Abbildung 2-1. FreeBSD Boot Loader Menu

       Warten Sie entweder zehn Sekunden oder dru:cken Sie Enter.

     --------------------------------------------------------------

    2.4.1.2. Systemstart von Alpha-Systemen

    1. Schalten Sie zuna:chst Ihren Rechner aus.

    2. Schalten Sie den Rechner ein und warten Sie auf die
       Eingabeaufforderung des Boot-Monitors.

    3. Wenn Sie, wie in Abschnitt 2.3.7 beschrieben, Startdisketten
       vorbereitet haben, beno:tigen Sie nun die erste Diskette, die
       boot.flp entha:lt. Legen Sie diese Diskette in das
       Diskettenlaufwerk ein. Das nachstehende Kommando startet den
       Rechner von der Diskette (falls no:tig, passen Sie den
       Gera:tenamen der Diskette an):

 >>>BOOT DVA0 -FLAGS '' -FILE ''

       Wenn Sie den Rechner von einer CD-ROM starten, legen Sie die
       CD-ROM in das Laufwerk ein und fu:hren das folgende Kommando
       aus (wenn no:tig, passen Sie den Gera:tenamen des
       CD-ROM-Laufwerks an):

 >>>BOOT DKA0 -FLAGS '' -FILE ''

    4. FreeBSD wird jetzt starten. Wenn Sie den Rechner mit einer
       Diskette gestartet haben, wird irgendwann die nachstehende
       Meldung erscheinen:

 Insert disk labelled "Kernel floppy 1" and press any key...

       Folgen Sie der Anweisung und entfernen Sie die
       boot.flp-Diskette, anschliessend legen Sie die
       kern1.flp-Diskette ein und dru:cken Enter.

    5. Unabha:ngig davon, ob Sie von Disketten oder von CD-ROM
       gestartet haben, wird folgende Meldung erscheinen:

 Hit [Enter] to boot immediately, or any other key for command prompt.
 Booting [kernel] in 9 seconds... _

       Warten Sie entweder zehn Sekunden oder dru:cken Sie Enter,
       danach erscheint das Kernelkonfigurationsmenu:.

     --------------------------------------------------------------

    2.4.1.3. Systemstart bei Sparc64(R)-Systemen

   Die meisten Sparc64(R)-Systeme sind so konfiguriert, dass sie
   automatisch von der Festplatte starten. Um FreeBSD auf einem
   solchen System zu installieren, mu:ssen Sie das System aber u:ber
   das Netzwerk oder von einer CD-ROM starten. Daher mu:ssen Sie den
   Bootprozess unterbrechen und das System u:ber das PROM
   (OpenFirmware) starten.

   Dazu starten Sie Ihr System neu und warten, bis die Startmeldung
   erscheint. Der genaue Wortlaut ha:ngt vom eingesetzten Modell ab,
   die Nachricht sollte aber a:hnlich der folgenden aussehen:

 Sun Blade 100 (UltraSPARC-IIe), Keyboard Present
 Copyright 1998-2001 Sun Microsystems, Inc.  All rights reserved.
 OpenBoot 4.2, 128 MB memory installed, Serial #51090132.
 Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.

   Um den Startvorgang zu unterbrechen, dru:cken Sie nun die
   Tastenkombination L1+A oder Stop+A. Verwenden Sie eine serielle
   Verbindung, senden Sie das Signal BREAK u:ber die serielle Konsole
   (etwa durch die Eingabe von ~# in den Programmen tip(1) oder
   cu(1)). In beiden Fa:llen landen Sie anschliessend am PROM-Prompt:

 ok         (1)
 ok {0}     (2)

   (1)
           Der auf Einprozessorsystemen verwendete Prompt.
   (2)
           Der Prompt auf Mehrprozessorsystemen. Die Zahl steht dabei
           fu:r die Anzahl der vorhandenen Prozessoren.

   Nun legen Sie Ihre CD-ROM in das Laufwerk ein und geben am
   PROM-Prompt boot cdrom ein. Danach startet Ihr System von der
   eingelegten CD-ROM.

     --------------------------------------------------------------

  2.4.2. Die Gera:teerkennung pru:fen

   Die letzten paar Hundert Zeilen der Bildschirmausgabe werden
   gesichert und ko:nnen gepru:ft werden.

   Um sich den Bildschirmpuffer anzusehen, dru:cken Sie die Taste
   Scroll-Lock. Im Puffer ko:nnen Sie mit den Pfeiltasten oder den
   Tasten PageUp und PageDown bla:ttern. Um zur normalen
   Bildschirmausgabe zuru:ckzukehren, dru:cken Sie nochmals die Taste
   Scroll-Lock.

   Pru:fen Sie mit diesem Verfahren nun die Ausgaben der
   Gera:teerkennung. Sie werden einen Text a:hnlich wie in Abbildung
   2-2 sehen. Die genauen Ausgaben sind abha:ngig von den in Ihrem
   System installierten Gera:ten.

   Abbildung 2-2. Ausgabe der Gera:teerkennung

 avail memory = 253050880 (247120K bytes)
 Preloaded elf kernel "kernel" at 0xc0817000.
 Preloaded mfs_root "/mfsroot" at 0xc0817084.
 md0: Preloaded image </mfsroot> 4423680 bytes at 0xc03ddcd4

 md1: Malloc disk
 Using $PIR table, 4 entries at 0xc00fde60
 npx0: <math processor> on motherboard
 npx0: INT 16 interface
 pcib0: <Host to PCI bridge> on motherboard
 pci0: <PCI bus> on pcib0
 pcib1:<VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0
 pci1: <PCI bus> on pcib1
 pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11
 isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0
 isa0: <iSA bus> on isab0
 atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0
 ata0: at 0x1f0 irq 14 on atapci0
 ata1: at 0x170 irq 15 on atapci0
 uhci0 <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci
 0
 usb0: <VIA 83572 USB controller> on uhci0
 usb0: USB revision 1.0
 uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr1
 uhub0: 2 ports with 2 removable, self powered
 pci0: <unknown card> (vendor=0x1106, dev=0x3040) at 7.3
 dc0: <ADMtek AN985 10/100BaseTX> port 0xe800-0xe8ff mem 0xdb000000-0xeb0003ff ir
 q 11 at device 8.0 on pci0
 dc0: Ethernet address: 00:04:5a:74:6b:b5
 miibus0: <MII bus> on dc0
 ukphy0: <Generic IEEE 802.3u media interface> on miibus0
 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
 ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xec00-0xec1f irq 9 at device 10.
 0 on pci0
 ed0 address 52:54:05:de:73:1b, type NE2000 (16 bit)
 isa0: too many dependant configs (8)
 isa0: unexpected small tag 14
 orm0: <Option ROM> at iomem 0xc0000-0xc7fff on isa0
 fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq2 on isa0
 fdc0: FIFO enabled, 8 bytes threshold
 fd0: <1440-KB 3.5'' drive> on fdc0 drive 0
 atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
 atkbd0: <AT Keyboard> flags 0x1 irq1 on atkbdc0
 kbd0 at atkbd0
 psm0: <PS/2 Mouse> irq 12 on atkbdc0
 psm0: model Generic PS/@ mouse, device ID 0
 vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
 sc0: <System console> at flags 0x100 on isa0
 sc0: VGA <16 virtual consoles, flags=0x300>
 sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
 sio0: type 16550A
 sio1 at port 0x2f8-0x2ff irq 3 on isa0
 sio1: type 16550A
 ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
 pppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
 ppc0: FIFO with 16/16/15 bytes threshold
 plip0: <PLIP network interface> on ppbus0
 ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master UDMA33
 acd0: CD-RW <LITE-ON LTR-1210B> at ata1-slave PIO4
 Mounting root from ufs:/dev/md0c
 /stand/sysinstall running as init on vty0

   Pru:fen Sie die Ausgabe der Gera:teerkennung sorgfa:ltig und
   stellen Sie sicher, dass FreeBSD alle erwarteten Gera:te gefunden
   hat. Wenn ein Gera:t nicht gefunden wurde, wird es nicht
   angezeigt. Ist dies bei Ihnen der Fall, mu:ssen Sie einen
   angepassten Kernel erstellen, da das betroffene Gera:t
   (beispielsweise eine Soundkarte) in diesem Fall vom GENERIC-Kernel
   nicht unterstu:tzt wird.

   Ab FreeBSD 6.2 gelangen Sie im na:chsten Schritt in ein Menu:, in
   dem Sie u:ber die Cursortasten das Land, in dem Sie sich befinden,
   auswa:hlen ko:nnen (Abbildung 2-3). Durch die Besta:tigung mit der
   Enter-Taste wird automatisch das von Ihnen gewa:hlte Land sowie
   die dazu passende Tastaturbelegung gewa:hlt. Alternativ ist es
   auch hier mo:glich, sysinstall zu verlassen und von vorne zu
   beginnen.

   Abbildung 2-3. Ihr Land auswa:hlen

   Abbildung 2-4. sysinstall beenden

   Wa:hlen Sie mit den Pfeiltasten den Punkt Exit Install des
   Hauptmenu:s aus. Nach der Auswahl wird die folgende Meldung
   angezeigt:

                       User Confirmation Requested
          Are you sure you wish to exit? The system will reboot
            (be sure to remove any floppies/CDs/DVDs from the drives).

                             [ Yes ]    No

   Wenn Sie die Auswahl mit [ Yes ] besta:tigen, wird das
   Installationsprogramm erneut starten, falls sich die CD-ROM noch
   im Laufwerk befindet.

   Wenn Sie mit Disketten gestartet haben, mu:ssen Sie vor dem
   Neustart die boot.flp-Diskette entfernen.

     --------------------------------------------------------------

2.5. Das Werkzeug sysinstall

   Zum Installieren von FreeBSD stellt das FreeBSD-Project das
   Werkzeug sysinstall zur Verfu:gung. Das Werkzeug arbeitet
   textorientiert und bietet eine Reihe von Menu:s und Bildschirmen,
   um den Installationsprozess zu konfigurieren und zu steuern.

   Die Menu:s von sysinstall werden mit Tasten wie den Pfeiltasten,
   Enter, Tab oder Space bedient. Eine ausfu:hrliche Beschreibung der
   Tastenbelegung ist in der Gebrauchsanweisung von sysinstall
   enthalten.

   Die Gebrauchsanweisung ko:nnen Sie lesen, indem Sie den Menu:punkt
   Usage auswa:hlen. Stellen Sie sicher, dass die Schaltfla:che
   [Select], wie in Abbildung 2-5 gezeigt, aktiviert ist und dru:cken
   Sie die Taste Enter.

   Es erscheinen Anweisungen wie das Menu:system zu bedienen ist.
   Wenn Sie diese gelesen haben, dru:cken Sie Enter, um in das
   Hauptmenu: zuru:ckzukehren.

   Abbildung 2-5. Die Gebrauchsanweisung von sysinstall auswa:hlen

     --------------------------------------------------------------

  2.5.1. Die Dokumentation abrufen

   Aus dem Hauptmenu: wa:hlen Sie mit den Pfeiltasten Doc aus und
   dru:cken Enter.

   Abbildung 2-6. Die Dokumentation abrufen

   Es wird das Dokumentationsmenu: angezeigt.

   Abbildung 2-7. Das Dokumentationsmenu: von sysinstall

   Lesen Sie bitte unbedingt die mitgelieferte Dokumentation.

   Um ein Dokument zu lesen, wa:hlen Sie das Dokument mit den
   Pfeiltasten aus und dru:cken Enter. Wenn Sie das Dokument gelesen
   haben, kommen Sie mit der Taste Enter in das Dokumentationsmenu:
   zuru:ck.

   Um in das Hauptmenu: zuru:ckzukommen, wa:hlen Sie mit den
   Pfeiltasten Exit aus und dru:cken die Taste Enter.

     --------------------------------------------------------------

  2.5.2. Die Tastaturbelegung a:ndern

   Um die Tastaturbelegung zu a:ndern, wa:hlen Sie den Menu:punkt
   Keymap und dru:cken Enter. Dies ist nur erforderlich wenn Sie eine
   nicht standard-konforme Tastatur oder eine andere als eine
   amerikanische Tastatur einsetzen.

   Abbildung 2-8. Das Hauptmenu: von sysinstall

   Eine andere Tastaturbelegung ko:nnen Sie mit den Pfeiltasten
   markieren und der Taste Space auswa:hlen. Wenn Sie die Taste Space
   nochmals dru:cken wird die Auswahl aufgehoben. Haben Sie eine
   Tastaturbelegung ausgewa:hlt, markieren Sie mit den Pfeiltasten
   [ OK ] und dru:cken Sie Enter.

   Der Bildschirmabzug zeigt nur einen der verfu:gbaren Belegungen
   an. Mit der Taste Tab markieren Sie die Schaltfla:che [ Cancel ],
   die mit der Vorgabe-Belegung wieder in das Hauptmenu:
   zuru:ckfu:hrt.

   Abbildung 2-9. Sysinstall Keymap Menu

     --------------------------------------------------------------

  2.5.3. Installationsoptionen einstellen

   Wa:hlen Sie Options aus und ru:cken die Taste Enter.

   Abbildung 2-10. Das Hauptmenu: von sysinstall

   Abbildung 2-11. Optionen von sysinstall

   Fu:r die meisten Benutzer sind die voreingestellten Werte vo:llig
   ausreichend und brauchen daher nicht gea:ndert werden. Der Name
   des Releases variiert mit der zu installierenden Version von
   FreeBSD.

   Eine Beschreibung der ausgewa:hlten Option erscheint blau
   hervorgehoben am unteren Ende des Bildschirms. Mit der Option Use
   Defaults ko:nnen Sie alle Optionen auf die Vorgabewerte
   zuru:ckstellen.

   Wenn Sie die Hilfeseite zu den verschiedenen Optionen lesen
   wollen, dru:cken Sie die Taste F1.

   Die Taste Q fu:hrt in das Hauptmenu: zuru:ck.

     --------------------------------------------------------------

  2.5.4. Eine Standard-Installation starten

   Die Standard-Installation sollte von allen UNIX- oder
   FreeBSD-Anfa:ngern benutzt werden. Markieren Sie mit den
   Pfeiltasten Standard und dru:cken Sie Enter, um die Installation
   zu starten.

   Abbildung 2-12. Die Standard-Installation starten

     --------------------------------------------------------------

2.6. Plattenplatz fu:r FreeBSD bereitstellen

   Ihre erste Aufgabe ist, FreeBSD Plattenplatz bereitzustellen und
   den Plattenplatz fu:r sysinstall kenntlich zu machen (label). Sie
   mu:ssen daher wissen, wie FreeBSD mit Platten umgeht.

     --------------------------------------------------------------

  2.6.1. Nummerierung der Laufwerke im BIOS

   Bevor Sie FreeBSD installieren und konfigurieren, sollten Sie Sie
   einen wichtigen Punkt beachten. Dies gilt insbesondere dann, wenn
   Sie mehrere Festplatten besitzen.

   In einem PC, der unter einem vom BIOS abha:ngigen Betriebssystem,
   wie MS-DOS oder Microsoft Windows la:uft, kann das BIOS die
   normale Reihenfolge der Laufwerke vera:ndern und das
   Betriebssystem beachtet diese A:nderung. Mit dieser Funktion kann
   der Rechner von einem anderen Laufwerk als dem so genannten
   "prima:ren Laufwerk" gestartet werden. Die Funktion ist sehr
   zweckma:ssig fu:r Benutzer, die Datensicherungen auf einer zweiten
   Platte erstellen und dafu:r Werkzeuge wie Ghost(R) oder xcopy
   einsetzen. Wenn die erste Platte ausfa:llt, von einem Virus
   befallen wird oder durch einen Fehler des Betriebssystems
   verunstaltet wird, ko:nnen die Platten im BIOS logisch getauscht
   werden. Es sieht so aus, als wa:ren die Laufwerke, ohne O:ffnen
   des Geha:uses getauscht worden.

   Teurere Systeme mit SCSI-Controllern haben oft BIOS-Erweiterungen,
   mit denen die Reihenfolge von bis zu sieben SCSI-Platten in
   a:hnlicher Weise vera:ndert werden kann.

   Ein Benutzer, der es gewohnt ist, diese BIOS-Funktionen zu
   benutzen, mag u:berrascht sein, dass FreeBSD sich nicht wie
   erwartet verha:lt. FreeBSD verwendet das BIOS nicht und weiss
   daher nichts von der logischen Plattenordnung im BIOS. Dies kann
   zu sehr verwirrenden Situationen fu:hren, insbesondere wenn die
   Platten identische Geometrien besitzen und Kopien voneinander
   sind.

   Vor der Installation von FreeBSD sollte im BIOS die normale
   Nummerierung der Laufwerke eingestellt und so belassen werden. Ist
   es no:tig, die Reihenfolge der Laufwerke zu vera:ndern, so sollte
   das immer auf dem schweren Weg, also durch O:ffnen des Geha:uses
   und Vera:ndern der Jumper und Kabel, erfolgen.

   +----------------------------------------------------------------+
   | Von Bills und Freds ungewo:hnlichen Abenteuern                 |
   |                                                                |
   | Bill macht aus einer a:lteren Wintel Kiste ein neues           |
   | FreeBSD-System fu:r Fred. Auf einer SCSI-Platte, die er mit    |
   | der SCSI-ID 0 konfiguriert, installiert Bill FreeBSD.          |
   |                                                                |
   | Nachdem Fred das System einige Tage benutzt hat, bemerkt er,   |
   | dass die a:ltere SCSI-Platte viele Fehler meldet und beschwert |
   | sich bei Bill.                                                 |
   |                                                                |
   | Nach einigen Tagen entschliesst sich Bill, die Sache in die    |
   | Hand zu nehmen. Er schnappt sich eine identische SCSI-Platte   |
   | aus dem Lager im Hinterzimmer und baut diese, nachdem Sie      |
   | einen Oberfla:chenscan u:berstanden hat, mit der SCSI-ID 4     |
   | ein. Anschliessend kopiert er die Daten von der Platte mit der |
   | SCSI-ID 0 auf die Platte mit der SCSI-ID 4. Da die neue Platte |
   | zufriedenstellend la:uft, stellt Bill im SCSI-BIOS die         |
   | Reihenfolge der Platten so um, dass das System von der neuen   |
   | Platte startet. Nach einem problemlosen Start von FreeBSD      |
   | la:uft das System und Fred ist zufrieden.                      |
   |                                                                |
   | Nach einiger Zeit haben Bill und Fred Lust auf ein weiteres    |
   | Abenteuer - Sie wollen das System auf eine neue                |
   | FreeBSD-Version aktualisieren. Bill ersetzt die angeschlagene  |
   | Platte mit der SCSI-ID 0 durch eine gleiche Platte aus dem     |
   | Lager. Auf der ausgetauschten Platte installiert er problemlos |
   | mithilfe von Freds Startdisketten die neue Version von         |
   | FreeBSD.                                                       |
   |                                                                |
   | Fred braucht ein paar Tage, um die neue FreeBSD-Version zu     |
   | testen und entscheidet, dass Sie fu:r den produktiven Einsatz  |
   | geeignet ist. Nun mu:ssen die Daten von der alten Platte (mit  |
   | der SCSI-ID 4) kopiert werden. Fred ha:ngt dazu die alte       |
   | Platte ein und stellt bestu:rzt fest, dass alle Daten          |
   | verschwunden sind.                                             |
   |                                                                |
   | Wo sind die Daten hin?                                         |
   |                                                                |
   | Bill kopierte die Daten von der Platte mit der SCSI-ID 0 auf   |
   | die Platte mit der SCSI-ID 4. Als Bill die Startreihenfolge im |
   | SCSI-BIOS a:nderte, fu:hrte er sich nur selbst an der Nase     |
   | herum. FreeBSD lief weiterhin auf der Platte mit der           |
   | SCSI-ID 0. Durch die A:nderung der Startreihenfolge wurde nur  |
   | ein Teil des Boot- und Loader-Codes von der Platte mit der     |
   | SCSI-ID 4 geladen. Die Kernel-Treiber von FreeBSD ignorieren   |
   | die BIOS-Einstellungen und benutzen die normale Nummerierung.  |
   | Das System lief also weiterhin auf der Platte mit der          |
   | SCSI-ID 0 und alle Daten von Fred befanden sich auf dieser     |
   | Platte. Es schien nur so, als wu:rde das System auf der Platte |
   | mit der SCSI-ID 4 laufen.                                      |
   |                                                                |
   | Wir sind erleichtert zu bemerken, dass keine Daten verloren    |
   | gingen oder vera:ndert wurden. Die alte Platte wurde im Mu:ll  |
   | wiedergefunden und Freds Daten konnten wiederhergestellt       |
   | werden (Bill weiss jetzt, dass er noch viel zu lernen hat).    |
   |                                                                |
   | Obwohl in diesem Beispiel SCSI-Platten verwendet wurden,       |
   | gelten die Konzepte gleichermassen fu:r IDE-Platten.           |
   +----------------------------------------------------------------+

     --------------------------------------------------------------

  2.6.2. Slices mit Fdisk erstellen

     Anmerkung: Zu diesem Zeitpunkt werden noch keine A:nderungen auf
     die Festplatte ausgeschrieben. Sie ko:nnen daher sysinstall
     jederzeit verlassen, und erneut beginnen, wenn Sie denken, einen
     Fehler gemacht zu haben. Sie ko:nnen sysinstall u:ber die Menu:s
     verlassen, die Taste U dru:cken oder die Option Undo wa:hlen.
     Wenn Sie einmal nicht wissen, wie Sie ein Menu: verlassen,
     ko:nnen Sie den Rechner auch einfach ausschalten.

   Nachdem Sie in sysinstall die Standard-Installation ausgewa:hlt
   haben, werden Sie folgende Meldung sehen:

                                  Message
  In the next menu, you will need to set up a DOS-style ("fdisk")
  partitioning scheme for your hard disk. If you simply wish to devote
  all disk space to FreeBSD (overwriting anything else that might be on
  the disk(s) selected) then use the (A)ll command to select the default
  partitioning scheme followed by a (Q)uit. If you wish to allocate only
  free space to FreeBSD, move to a partition marked "unused" and use the
  (C)reate command.
                                 [  OK  ]

                       [ Press enter or space ]

   Dru:cken Sie, wie angegeben, Enter. Im na:chsten Bildschirm werden
   alle Festplatten angezeigt, die der Kernel wa:hrend der
   Gera:teerkennung gefunden hat. Abbildung 2-13 zeigt ein Beispiel
   von einem System mit zwei IDE-Platten, die als ad0 und ad2 erkannt
   wurden.

   Abbildung 2-13. Ein Laufwerk fu:r Fdisk aussuchen

   Sie fragen sich vielleicht, warum ad1 nicht angezeigt wird. Wurde
   die Platte vielleicht nicht erkannt?

   Stellen Sie sich ein System mit zwei IDE-Platten vor. Eine Platte
   ist als Master am ersten Controller, die andere als Master am
   zweiten Controller angeschlossen. Wenn FreeBSD die Platten in der
   Reihenfolge, in der sie gefunden werden, nummerieren wu:rde,
   hiessen die Platten ad0 und ad1 und alles wu:rde funktionieren.

   Wenn Sie nun am ersten IDE-Controller eine dritte Platte als Slave
   anschliessen wu:rden, wa:re diese Platte ad1. Die vorher ad1
   genannte Platte wu:rde nun ad2 heissen. Dateisysteme werden auf
   Gera:ten wie ad1s1a angelegt. Daher ko:nnte es passieren, dass auf
   einmal Dateisysteme nicht mehr gefunden werden und Sie FreeBSD
   umkonfigurieren mu:ssten.

   Um diese Probleme zu umgehen, kann der Kernel so eingestellt
   werden, dass er Platten nach ihrem Anschlussort anstelle der
   gefundenen Reihenfolge benennt. Nach diesem Schema ist die
   Master-Platte am zweiten IDE-Controller immer ad2, auch wenn es
   die Gera:te ad0 oder ad1 gar nicht gibt.

   Dieses Verhalten ist in FreeBSD voreingestellt und der Grund warum
   im Beispiel die Gera:te ad0 und ad2 angezeigt werden. Der Rechner,
   von dem die gezeigte Ausgabe stammt, hatte zwei IDE-Platten, die
   beide als Master konfiguriert waren, und keine Slave-Platten.

   Wa:hlen Sie die Platte aus, auf die Sie FreeBSD installieren
   wollen und dru:cken Sie [ OK ]. Anschliessend startet Fdisk und
   zeigt einen Bildschirm wie den in Abbildung 2-14.

   Der Bildschirm von Fdisk ist in drei Abschnitte unterteilt.

   Der erste Abschnitt umfasst die ersten beiden Zeilen der Anzeige.
   Er entha:lt Einzelheiten u:ber die aktuell ausgewa:hlte Platte,
   unter anderem den FreeBSD-Gera:tenamen, die Plattengeometrie und
   die Kapazita:t der Platte.

   Der zweite Abschnitt zeigt die auf der Platte befindlichen Slices.
   Angezeigt wird der Anfang und das Ende der Slice, die Gro:sse der
   Slice, der FreeBSD-Gera:tename, eine Beschreibung und der Subtyp.
   Im Beispiel sehen Sie zwei unbenutzte Slices, die durch die
   Plattenbelegung auf PCs entstehen. Weiterhin sehen Sie eine grosse
   FAT-Slice, die ziemlich sicher unter MS-DOS/Windows als Laufwerk
   C: auftaucht und eine erweiterte Slice, die unter MS-DOS/Windows
   weitere Laufwerke enthalten kann.

   Im dritten Abschnitt sind die Kommandos von Fdisk zusammengefasst.

   Abbildung 2-14. Typischer Fdisk-Bildschirm vor dem Editieren

   Die na:chsten Schritte ha:ngen von der beabsichtigten Einteilung
   der Festplatte ab.

   Wenn Sie die gesamte Festplatte fu:r FreeBSD verwenden wollen,
   dru:cken Sie die Taste A (entspricht dem Menu:punkt Use Entire
   Disk). Spa:ter im Installationsverlauf mu:ssen Sie diese Auswahl
   besta:tigen, danach werden alle bisherigen Daten von der
   Festplatte gelo:scht. Diese Auswahl lo:scht vorher vorhandene
   Slices und ersetzt sie durch einen kleinen unbenutzten Bereich
   (der wieder durch das PC-Design bedingt ist) und eine grosse Slice
   fu:r FreeBSD. Wa:hlen Sie dann die neu erstellte Slice mit den
   Pfeiltasten aus und dru:cken Sie die Taste S, um die Slice als
   startfa:hig (bootbar) zu markieren. Abbildung 2-15 zeigt den
   Bildschirm zu diesem Zeitpunkt. Beachten Sie das A in der Spalte
   Flags. Dies zeigt an, dass die Slice aktiv ist und das System von
   dieser Slice starten wird.

   Um Platz fu:r FreeBSD zu schaffen, ko:nnen Sie auch bestehende
   Slices lo:schen. Markieren Sie dazu die Slice mit den Pfeiltasten
   und dru:cken Sie die Taste D. Danach legen Sie eine neue Slice mit
   der Taste C an. Sie werden nach der Gro:sse der zu erstellenden
   Slice gefragt; der Vorgabewert entspricht der gro:ssten Slice, die
   angelegt werden kann (entspricht entweder dem gro:ssten freien
   Bereich auf der Festplatte oder der ganzen Festplatte).

   Wenn Sie schon Platz fu:r FreeBSD geschaffen haben (beispielsweise
   mit PartitionMagic), ko:nnen Sie eine neue Slice direkt mit der
   Taste C anlegen. Sie werden wieder nach der Gro:sse der
   anzulegenden Slice gefragt.

   Abbildung 2-15. Eine Partition u:ber die gesamte Platte

   Dru:cken Sie die Taste Q, wenn Sie fertig sind. Sysinstall merkt
   sich die A:nderungen, schreibt sie aber noch nicht auf die
   Festplatte.

     --------------------------------------------------------------

  2.6.3. Einen Boot-Manager installieren

   Sie ko:nnen nun einen Boot-Manager installieren. Unter folgenden
   Umsta:nden sollten Sie den FreeBSD-Boot-Manager installieren:

     * Das System besitzt mehr als ein Laufwerk und FreeBSD ist auf
       einem anderen Laufwerk als dem ersten Laufwerk installiert.

     * FreeBSD teilt sich das Laufwerk mit einem anderen
       Betriebssystem. Beim Systemstart wollen Sie auswa:hlen,
       welches Betriebssystem gestartet wird.

   Wird der Rechner ausschliesslich mit FreeBSD betrieben und FreeBSD
   ist auf dem ersten Laufwerk installiert, dann genu:gt der
   Standard-Boot-Manager. Wenn Sie einen anderen Boot-Manager
   benutzen, der FreeBSD starten kann, wa:hlen Sie bitte None aus.

   Nachdem Sie die Auswahl getroffen haben, dru:cken Sie die Taste
   Enter.

   Abbildung 2-16. Sysinstall Boot-Manager-Menu:

   In der Hilfe, die Sie mit der Taste F1 aufrufen, werden Probleme
   beschrieben, die entstehen ko:nnen, wenn sich zwei Betriebssysteme
   ein Laufwerk teilen.

     --------------------------------------------------------------

  2.6.4. Slices auf einem anderen Laufwerk anlegen

   Wenn das System mehr als ein Laufwerk besitzt, kehrt die
   Installationsprozedur nach der Auswahl des Boot-Managers zum
   Bildschirm Select Drives zuru:ck. Sie ko:nnen hier ein anderes
   Laufwerk auswa:hlen und auf diesem Laufwerk mit Fdisk weitere
   Slices anlegen.

     Wichtig: Wenn Sie FreeBSD auf einem anderen Laufwerk als dem
     ersten Laufwerk installieren, mu:ssen Sie den
     FreeBSD-Boot-Manager auf beiden Laufwerken installieren.

   Abbildung 2-17. Die Laufwerksauswahl verlassen

   Die Taste Tab wechselt zwischen dem zuletzt ausgewa:hlten Laufwerk
   und den Schaltfla:chen [ OK ] und [ Cancel ].

   Dru:cken Sie einmal die Taste Tab, um [ OK ] auszuwa:hlen und
   dru:cken Sie anschliessend Enter um die Installation
   weiterzufu:hren.

     --------------------------------------------------------------

  2.6.5. Partitionen mit Bsdlabel anlegen

   In jeder angelegten Slice mu:ssen Sie Partitionen anlegen. Die
   Partitionen werden mit Buchstaben von a bis h gekennzeichnet. Die
   Buchstaben b, c und d haben eine besondere Bedeutung, die Sie
   beachten sollten.

   Einige Anwendungen profitieren von einer besonderen Aufteilung der
   Partitionen, insbesondere wenn das System mehr als ein Laufwerk
   besitzt. Bei der ersten FreeBSD-Installation sollten Sie sich
   allerdings nicht zu viele Gedanken u:ber die Partitionen machen.
   Wichtiger ist, dass Sie FreeBSD installieren und benutzen. Wenn
   Sie mehr Erfahrung mit FreeBSD gesammelt haben, ko:nnen Sie
   FreeBSD jederzeit mit anderen Partitionen installieren.

   Das folgende Schema legt vier Partitionen an: Eine Partition fu:r
   den Auslagerungsbereich (swap space) und drei Partitionen fu:r
   Dateisysteme.

   Tabelle 2-2. Partitionen auf dem ersten Laufwerk

   Partition Dateisystem   Gro:sse             Beschreibung           
                                     Das Root-Dateisystem. Jedes      
                                     andere Dateisystem wird irgendwo 
                                     unterhalb von diesem Dateisystem 
                                     eingehangen. 512 MB ist eine     
                                     vernu:nftige Gro:sse fu:r dieses 
                                     Dateisystem. Sie werden hier     
   a         /           512 MB      wenig Daten speichern und        
                                     FreeBSD beno:tigt ungefa:hr      
                                     128 MB Platz auf diesem          
                                     Dateisystem. Der Rest ist fu:r   
                                     tempora:re Daten und die         
                                     Reserve, falls ku:nftige         
                                     Versionen von FreeBSD mehr Platz 
                                     in / beno:tigen.                 
                                     Der Auslagerungsbereich befindet 
                                     sich auf der b-Partition. Es ist 
                                     schon fast eine Kunst, die       
                                     Gro:sse des Auslagerungsbereichs 
                                     richtig zu bestimmen. Eine gute  
                                     Daumenregel ist, den             
                                     Auslagerungsbereich zwei bis     
                                     dreimal gro:sser als den         
                                     Hauptspeicher (RAM) anzulegen.   
                                     Sie sollten mindestens 64 MB     
                                     fu:r den Auslagerungsbereich     
                                     vorsehen. Wenn das System also   
                                     weniger als 32 MB Hauptspeicher  
                                     besitzt, richten Sie einen 64 MB 
                                     grossen Auslagerungsbereich ein. 
                                                                      
                                     
 Besitzt das System mehr als    
                                     ein Laufwerk, ko:nnen Sie auf    
   b         N/A         2-3 x RAM   jedem Laufwerk                   
                                     Auslagerungsbereiche anlegen. Da 
                                     FreeBSD alle                     
                                     Auslagerungsbereiche benutzt,    
                                     wird der Vorgang des Auslagerns  
                                     durch mehrere Bereiche           
                                     beschleunigt. Berechnen Sie in   
                                     diesem Fall die Gro:sse des      
                                     beno:tigten                      
                                     Auslagerungsbereichs,            
                                     beispielsweise 128 MB, und       
                                     teilen Sie die Gro:sse durch die 
                                     Anzahl der Laufwerke. Dies gibt  
                                     die Gro:sse des                  
                                     Auslagerungsbereichs auf jedem   
                                     Laufwerk. Mit zwei Platten       
                                     ergibt das in diesem Beispiel    
                                     64 MB Auslagerungsbereich pro    
                                     Platte.                          
                                     Das Verzeichnis /var entha:lt    
                                     Dateien, die sich dauernd        
                                     a:ndern (Protokolldateien und    
                                     Dateien fu:r Verwaltungszwecke)  
                                     und auf die im Normalbetrieb oft 
   e         /var        256 MB bis  zugegriffen wird. Liegen diese   
                         1024 MB     Dateien in einem gesonderten     
                                     Dateisystem, kann FreeBSD den    
                                     Zugriff auf die Dateien          
                                     optimieren, ohne den Zugriff auf 
                                     Dateien mit einem anderen        
                                     Zugriffmuster zu sto:ren.        
                         Der Rest    Alle anderen Dateien werden      
                         des         normalerweise im Verzeichnis     
   f         /usr        Laufwerks   /usr oder einem Unterverzeichnis 
                         (mindestens von /usr abgelegt.               
                         2 GB)       

     Warnung: Die eben genannten Werte dienen nur als Beispiel und
     sollten nur von erfahrenen Benutzern editiert werden. Wir
     empfehlen Ihnen, die vom Partitionseditor vorgeschlagene
     Aufteilung (Auto Defaults) zu verwenden.

   Wenn Sie FreeBSD auf mehr als einem Laufwerk installieren, mu:ssen
   Sie noch weitere Partitionen in den Slices auf den anderen
   Laufwerken anlegen. Am einfachsten legen Sie pro Laufwerk zwei
   Partitionen an: eine fu:r den Auslagerungsbereich und eine andere
   fu:r ein Dateisystem.

   Tabelle 2-3. Partitionen auf weiteren Laufwerken

   Partition Dateisystem   Gro:sse             Beschreibung           
                                      Wie schon besprochen, ko:nnen   
                                      Sie den Auslagerungsbereich auf 
                                      mehrere Platten verteilen. Auch 
   b         -           -            wenn die a-Partition frei ist,  
                                      sollte der Auslagerungsbereich  
                                      entsprechend der Konvention auf 
                                      der b-Partition angelegt        
                                      werden.                         
                                      Der Rest der Platte wird von    
                                      einer grossen Partition         
                                      eingenommen. Sie ko:nnten fu:r  
                                      diese Partition die a-Partition 
                                      anstelle der e-Partition        
                                      benutzen. Allerdings ist die    
                                      a-Partition per Konvention fu:r 
                                      das Root-Dateisystem (/)        
                                      reserviert. Sie brauchen die    
                         Der Rest des Konvention nicht zu beachten,   
   e         /diskn      Laufwerks    da aber sysinstall die          
                                      Konvention beachtet, ist die    
                                      Installation sauberer, wenn Sie 
                                      das auch tun. Sie ko:nnen das   
                                      Dateisystem irgendwo            
                                      einha:ngen. Das Beispiel        
                                      schla:gt die Verzeichnisse      
                                      /diskn vor, wobei n die         
                                      Laufwerke nummeriert. Sie       
                                      ko:nnen ein anderes Schema      
                                      verwenden, wenn Sie mo:chten.   

   Wenn Sie die Aufteilung der Partitionen festgelegt haben, ko:nnen
   Sie die Partitionen mit sysinstall anlegen. Es erscheint die
   nachstehende Meldung:

                                  Message
  Now, you need to create BSD partitions inside of the fdisk
  partition(s) just created. If you have a reasonable amount of disk
  space (200MB or more) and don't have any special requirements, simply
  use the (A)uto command to allocate space automatically. If you have
  more specific needs or just don't care for the layout chosen by
  (A)uto, press F1 for more information on manual layout.

                                 [  OK  ]
                           [ Press enter or space ]

   Dru:cken Sie Enter, um den FreeBSD-Partitionseditor, der Disklabel
   heisst, zu starten.

   Abbildung 2-18 zeigt den Einstiegsbildschirm von Disklabel. Der
   Bildschirm ist in drei Bereiche geteilt.

   Die ersten Zeilen zeigen den Namen des Laufwerks, das Sie gerade
   bearbeiten und die Slice, die die erstellten Partitionen entha:lt
   (Disklabel spricht hier von Partitionen anstatt von Slices). Der
   freie Platz einer Slice, der noch keiner Partition zugeordnet ist,
   wird ebenfalls angezeigt.

   In der Mitte des Bildschirms werden die angelegten Partitionen,
   der Name des Dateisystems, das sich in der Partition befindet,
   dessen Gro:sse und die Optionen zum Erstellen des Dateisystems
   angezeigt.

   Das untere Drittel des Bildschirms zeigt die in Disklabel
   gu:ltigen Tastenkombinationen.

   Abbildung 2-18. Sysinstall Disklabel-Editor

   Disklabel kann fu:r Sie automatisch Partitionen mit vorgegebenen
   Gro:ssen erstellen (diese Standardgro:ssen werden durch einen
   internen Partitionierungsalgorithmus ermittelt, der auf der
   Plattengro:sse beruht). Probieren Sie das bitte jetzt aus und
   dru:cken Sie die Taste A. Der Bildschirm sieht danach a:hnlich wie
   in Abbildung 2-19 aus. Abha:ngig von der Gro:sse des Laufwerks
   ko:nnen die Vorgabewerte richtig oder falsch sein. Da Sie die
   Vorgaben nicht akzeptieren mu:ssen, spielt das keine Rolle.

     Anmerkung: FreeBSD legt das Verzeichnis /tmp in einer eigenen
     Partition an. Dies verhindert, dass sich die Root-Partition mit
     tempora:ren Dateien fu:llt.

   Abbildung 2-19. Sysinstall Disklabel-Editor mit automatischen
   Vorgaben

   Wollen Sie die vorgegebenen Partitionen nicht verwenden und durch
   eigene ersetzen, markieren Sie mit den Pfeiltasten die erste
   Partition und dru:cken Sie die Taste D, um die Partition zu
   lo:schen. Wiederholen Sie dies fu:r alle vorgegebenen Partitionen.

   Um die erste Partition (a), die als / eingehangen wird, zu
   erstellen, dru:cken Sie die Taste C. Stellen Sie dabei sicher,
   dass die richtige Slice im oberen Teil des Bildschirms markiert
   ist. Wie in Abbildung 2-20, erscheint ein Fenster, in dem Sie die
   Gro:sse der Partition angeben mu:ssen. Sie ko:nnen die Gro:sse in
   Blo:cken oder einer Zahl gefolgt von M fu:r Megabyte, G fu:r
   Gigabyte oder C fu:r Zylinder angeben.

   Abbildung 2-20. Die Gro:sse einer Partition festlegen

   Die vorgegebene Gro:sse erstellt eine Partition, die den Rest der
   Slice ausfu:llt. Wenn Sie die Gro:ssen aus dem fru:heren Beispiel
   verwenden, lo:schen Sie die vorgeschlagene Gro:sse mit der Taste
   Backspace und tragen Sie 512M ein, wie in Abbildung 2-21 gezeigt.
   Dru:cken Sie anschliessend [ OK ].

   Abbildung 2-21. Die Gro:sse einer Partition a:ndern

   Nachdem Sie die Gro:sse der Partition festgelegt haben, werden Sie
   gefragt, ob die Partition ein Dateisystem oder einen
   Auslagerungsbereich enthalten soll (siehe Abbildung 2-22). Die
   erste Partition entha:lt ein Dateisystem, wa:hlen Sie FS aus und
   dru:cken Sie die Taste Enter.

   Abbildung 2-22. Den Partitionstyp festlegen

   Abschliessend mu:ssen Sie, weil Sie ein Dateisystem erstellen,
   angeben, wo das Dateisystem eingehangen wird. Die Eingabe ist in
   Abbildung 2-23 dargestellt. Das Root-Dateisystem wird in /
   eingehangen, geben Sie daher / ein und dru:cken Sie die Taste
   Enter.

   Abbildung 2-23. Den Mountpoint festlegen

   Auf dem Bildschirm wird jetzt die neu angelegte Partition
   angezeigt. Wiederholen Sie diese Prozedur fu:r die restlichen
   Partitionen. Beim Anlegen des Auslagerungsbereichs werden Sie
   nicht nach einem Mountpoint gefragt, da ein Auslagerungsbereich
   nie eingehangen wird. Wenn Sie die letzte Partition anlegen, /usr,
   ko:nnen Sie die vorgeschlagene Gro:sse stehen lassen. Das
   Dateisystem wird dann den Rest der Slice einnehmen.

   Der letzte Bildschirm von Disklabel sieht wie in Abbildung 2-24
   aus (Ihre Werte werden von den gezeigten Werten abweichen).
   Dru:cken Sie die Taste Q, um Disklabel zu verlassen.

   Abbildung 2-24. Sysinstall Disklabel-Editor

     --------------------------------------------------------------

2.7. Den Installationsumfang bestimmen

  2.7.1. Die Distribution auswa:hlen

   Welche Software Sie installieren, ha:ngt hauptsa:chlich vom Zweck
   des Rechners und dem zur Verfu:gung stehenden Plattenplatz ab. Die
   vorgegebenen Distributionen reichen von der minimalen Installation
   bis hin zu einer kompletten Installation. Anfa:nger sollten eine
   der vorgegebenen Distributionen auswa:hlen, erfahrene Benutzer
   ko:nnen die zu installierende Distribution anpassen.

   Die Taste F1 fu:hrt zu einem Hilfebildschirm, der die
   Distributionen und deren Inhalte beschreibt. Dru:cken Sie Enter,
   um die Hilfe zu verlassen und zur Auswahl der Distribution
   zuru:ckzukehren.

   Wenn Sie eine graphische Benutzeroberfla:che installieren wollen,
   sollten Sie eine Distribution auswa:hlen, deren Name mit X
   anfa:ngt. Die Konfiguration des X-Servers und die Auswahl der
   Benutzeroberfla:che ist Teil der Nacharbeiten. Die Konfiguration
   des X-Servers wird in Kapitel 5 besprochen.

   Seit FreeBSD 5.3 wird Xorg als Standard-X-Server installiert.

   Wenn Sie einen angepassten Kernel erstellen wollen, wa:hlen Sie
   eine Distribution aus, die den Quellcode (source code) entha:lt.
   Warum und wie Sie einen angepassten Kernel erstellen, erfahren Sie
   in Kapitel 8.

   Natu:rlich ist das flexibelste System das, auf dem alles
   installiert ist. Wenn das System u:ber ausreichend Plattenplatz
   verfu:gt, wa:hlen Sie mit den Pfeiltasten die Option All aus
   (siehe Abbildung 2-25) und dru:cken die Taste Enter. Wenn Sie
   Bedenken haben, dass der Plattenplatz nicht ausreicht, wa:hlen Sie
   eine Distribution, die weniger Software entha:lt. Machen Sie sich
   keine unno:tigen Sorgen um die richtige Distribution, ausgelassene
   Distribution ko:nnen spa:ter nachinstalliert werden.

   Abbildung 2-25. Die Distribution auswa:hlen

     --------------------------------------------------------------

  2.7.2. Die Ports-Sammlung installieren

   Nach der Auswahl der Distribution haben Sie Gelegenheit, die
   FreeBSD-Ports-Sammlung zu installieren. Mit der Ports-Sammlung
   la:sst sich Software Dritter auf einfache Art und Weise
   installieren. Der Quellcode der zu installierenden Software ist
   nicht in der Ports-Sammlung enthalten. Stattdessen entha:lt die
   Ports-Sammlung Dateien, die den Installationsprozess
   (herunterladen, u:bersetzen und installieren) automatisieren. Die
   Ports-Sammlung wird in Kapitel 4 besprochen.

   Der Installationsprozess pru:ft nicht, ob ausreichend Platz fu:r
   die Ports-Sammlung vorhanden ist. Wa:hlen Sie die Ports-Sammlung
   bitte nur aus, wenn das System u:ber ausreichenden Platz verfu:gt.
   In FreeBSD 8.0 nimmt die Ports-Sammlung ungefa:hr 417 MB
   Plattenplatz in Anspruch. Neuere Versionen von FreeBSD beno:tigen
   mit Sicherheit noch mehr Platz.

                          User Confirmation Requested
  Would you like to install the FreeBSD ports collection?

  This will give you ready access to over 20,000 ported software packages,
  at a cost of around 417 MB of disk space when "clean" and possibly much
  more than that if a lot of the distribution tarballs are loaded
  (unless you have the extra CDs from a FreeBSD CD/DVD distribution
  available and can mount it on /cdrom, in which case this is far less
  of a problem).

  The ports collection is a very valuable resource and well worth having
  on your /usr partition, so it is advisable to say Yes to this option.

  For more information on the ports collection & the latest ports,
  visit:
      http://www.FreeBSD.org/ports

                               [ Yes ]     No

   Wa:hlen Sie mit den Pfeiltasten [ Yes ] aus, um die Ports-Sammlung
   zu installieren. Wa:hlen Sie [ No ] aus, um die Ports-Sammlung
   auszulassen. Dru:cken Sie danach die Taste Enter, es erscheint
   wieder das Distributionsmenu:.

   Abbildung 2-26. Die Distributionen besta:tigen

   Wenn Sie mit den ausgewa:hlten Optionen zufrieden sind, wa:hlen
   Sie mit den Pfeiltasten Exit aus (stellen Sie sicher, dass [ OK ]
   aktiv ist) und dru:cken Sie die Taste Enter.

     --------------------------------------------------------------

2.8. Das Installationsmedium auswa:hlen

   Wenn Sie von einer CD-ROM oder einer DVD installieren, wa:hlen Sie
   bitte Install from a FreeBSD CD/DVD aus. Stellen Sie sicher, dass
   [ OK ] aktiv ist und dru:cken Sie dann die Taste Enter, um mit der
   Installation fortzufahren.

   Wenn Sie ein anderes Installationsmedium benutzen, wa:hlen Sie die
   passende Option aus und folgen den angezeigten Anweisungen.

   Die Hilfeseiten u:ber Installationsmedien erreichen Sie mit der
   Taste F1. Dru:cken Sie Enter, um zur Auswahl des
   Installationsmediums zuru:ckzukehren.

   Abbildung 2-27. Das Installationsmedium auswa:hlen

     FTP-Installationsmodi: Sie ko:nnen zwischen drei
     FTP-Installationsmodi wa:hlen: Active-FTP, Passive-FTP oder
     u:ber einen HTTP-Proxy.

     FTP Active: Install from an FTP server

             Diese Option fu:hrt alle FTP-Operationen im Active-Mode
             aus. Dieser Modus funktioniert nicht durch Firewalls, er
             funktioniert aber mit alten FTP-Servern, die den
             Passive-Mode nicht beherrschen. Wenn die Verbindung im
             Passive-Mode (das ist die Vorgabe) ha:ngt, versuchen Sie
             den Active-Mode.

     FTP Passive: Install from an FTP server through a firewall

             Mit dieser Option benutzt sysinstall den Passive-Mode
             fu:r alle FTP-Operationen. In diesem Modus funktionieren
             Verbindungen durch Firewalls, die einkommende Pakete auf
             beliebigen TCP-Ports blockieren.

     FTP via a HTTP proxy: Install from an FTP server through a http
     proxy

             Diese Option weist sysinstall an, alle FTP-Operationen
             mit HTTP u:ber einen Proxy (wie ein Web-Browser)
             durchzufu:hren. Der Proxy leitet die Anfragen an den
             richtigen FTP-Server weiter. Mit dieser Option passieren
             Sie eine Firewall, die FTP-Verbindungen verbietet, aber
             einen HTTP-Proxy anbietet. Neben dem FTP-Server mu:ssen
             Sie in diesem Fall den Proxy-Server angeben.

     Bei einem FTP-Proxy-Server mu:ssen Sie normalerweise den
     Ziel-FTP-Server als Teil des Benutzernamens hinter dem
     Klammeraffen ("@") angeben. Der Proxy-Server u:bernimmt die
     Kommunikation mit dem Ziel-FTP-Server. Nehmen wir an, Sie wollen
     von ftp.FreeBSD.org u:ber den FTP-Proxy foo.example.com auf Port
     1234 installieren.

     Wa:hlen Sie das Menu: Options aus und setzen Sie dort den
     FTP-Benutzernamen (username) auf ftp@ftp.FreeBSD.org. Als
     Passwort geben Sie bitte Ihre E-Mail-Adresse an. Setzen Sie das
     Installationsmedium auf Active-FTP oder Passive-FTP, je nachdem
     welchen Modus der Proxy-Server unterstu:tzt. Fu:r die URL geben
     Sie ftp://foo.example.com:1234/pub/FreeBSD an.

     Der Proxy-Server foo.example.com leitet Zugriffe auf das
     Verzeichnis /pub/FreeBSD an den Server ftp.FreeBSD.org weiter.
     Daher ko:nnen foo.example.com als FTP-Server angeben.

     --------------------------------------------------------------

2.9. Die Installation festschreiben

   Wenn Sie wu:nschen, kann die Installation nun beginnen. Dies ist
   die letzte Gelegenheit, die Installation abzubrechen und
   A:nderungen auf der Festplatte zu vermeiden.

                        User Confirmation Requested
  Last Chance! Are you SURE you want to continue the installation?

  If you're running this on a disk with data you wish to save then WE
  STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding!

  We can take no responsibility for lost disk contents!

                              [ Yes ]    No

   Wa:hlen Sie [ Yes ] aus und dru:cken Sie Enter, um weiter zu
   machen.

   Die Installationsdauer ha:ngt von den ausgewa:hlten
   Distributionen, dem Installationsmedium und der Geschwindigkeit
   des Rechners ab. Wa:hrend der Installation wird der Fortgang mit
   Statusmeldungen angezeigt.

   Die Installation ist beendet, wenn die folgende Meldung erscheint:

                                Message

 Congratulations! You now have FreeBSD installed on your system.

 We will now move on to the final configuration questions.
 For any option you do not wish to configure, simply select No.

 If you wish to re-enter this utility after the system is up, you may
 do so by typing: /usr/sbin/sysinstall.

                                  [ OK ]

                       [  Press enter or space  ]

   Dru:cken Sie die Taste Enter, um die Nacharbeiten durchzufu:hren.

   Wenn Sie [ No ] auswa:hlen und Enter dru:cken wird die
   Installation abgebrochen und das System wird nicht vera:ndert. Die
   nachstehende Meldung wird angezeigt:

                                 Message
 Installation complete with some errors.  You may wish to scroll
 through the debugging messages on VTY1 with the scroll-lock feature.
 You can also choose "No" at the next prompt and go back into the
 installation menus to retry whichever operations have failed.

                                  [ OK ]

   Die Meldung wird angezeigt, weil nichts installiert wurde.
   Dru:cken Sie Enter, um in das Hauptmenu: zuru:ckzukehren. Dort
   ko:nnen Sie die Installationsprozedur verlassen.

     --------------------------------------------------------------

2.10. Arbeiten nach der Installation

   Nach einer erfolgreichen Installation wird das System
   konfiguriert. Sie ko:nnen das System direkt konfigurieren oder
   nach einem Neustart. Nach einem Neustart rufen Sie sysinstall auf
   und wa:hlen den Menu:punkt Configure.

     --------------------------------------------------------------

  2.10.1. Netzwerkkonfiguration

   Wenn Sie schon PPP fu:r eine FTP-Installation konfiguriert haben,
   erscheint dieser Bildschirm nicht. Sie ko:nnen die Konfiguration
   spa:ter in sysinstall vornehmen.

   Netzwerke und die Konfiguration von FreeBSD als Gateway oder
   Router werden eingehend im Kapitel Weiterfu:hrende Netzwerkthemen
   behandelt.

                       User Confirmation Requested
    Would you like to configure any Ethernet or SLIP/PPP network devices?

                              [ Yes ]   No

   Wenn Sie eine Netzwerkkarte konfigurieren wollen, wa:hlen Sie
   [ Yes ] aus und dru:cken Sie die Taste Enter. Wa:hlen Sie [ No ],
   um die Netzwerkkonfiguration zu u:berspringen.

   Abbildung 2-28. Eine Netzwerkkarte auswa:hlen

   Wa:hlen Sie die zu konfigurierende Karte mit den Pfeiltasten aus
   und dru:cken Sie die Taste Enter.

                       User Confirmation Requested
        Do you want to try IPv6 configuration of the interface?

                               Yes   [ No ]

   Fu:r das gezeigte Installationsbeispiel genu:gte das momentan
   verwendete Internet-Protokoll (IPv4). Daher wurde mit den
   Pfeiltasten [ No ] ausgewa:hlt und mit der Taste Enter besta:tigt.

   Wenn Sie durch einen RA-Server mit einem IPv6-Netzwerk verbunden
   sind, wa:hlen Sie bitte [ Yes ] und dru:cken die Taste Enter. Die
   Suche nach den RA-Servern dauert einige Sekunden.

                              User Confirmation Requested
         Do you want to try DHCP configuration of the interface?

                               Yes   [ No ]

   Falls Sie das Dynamic Host Configuration Protocol (DHCP) nicht
   verwenden, wa:hlen Sie [ No ] aus und dru:cken Sie Enter.

   Wenn Sie [ Yes ] auswa:hlen, wird das Programm dhclient
   ausgefu:hrt und bei Erfolg die Netzwerkkarte konfiguriert. Mehr
   u:ber DHCP ko:nnen Sie in Abschnitt 29.5 nachlesen.

   Der na:chste Bildschirmabzug zeigt die Netzwerkkonfiguration eines
   Systems, das Gateway fu:r das lokale Netz ist.

   Abbildung 2-29. Die Netzwerkkarte ed0 konfigurieren

   Tragen Sie in die Felder, die Sie mit der Taste Tab auswa:hlen
   ko:nnen, die richtige Konfiguration ein.

   Host

           Der vollsta:ndige Rechnername (fully-qualified hostname),
           wie in diesem Beispiel k6-2.example.com.

   Domain

           Der Domain-Name, in dem sich der Rechner befindet. Im
           Beispiel ist das example.com.

   IPv4 Gateway

           Die IP-Adresse des Rechners, der Pakete an entfernte Netze
           weiterleitet. Sie mu:ssen dieses Feld ausfu:llen, wenn der
           sich der Rechner in einem Netzwerk befindet. Lassen Sie
           das Feld leer, wenn der Rechner der Gateway in das
           Internet ist. Der IPv4-Gateway wird auch default gateway
           oder default route genannt.

   Name server

           Die IP-Adresse des lokalen DNS-Servers. Im Beispiel gibt
           es keinen lokalen DNS-Server, daher wurde der DNS-Server
           des Providers (208.163.10.2) benutzt.

   IPv4 address

           Die IP-Adresse der Netzwerkkarte (192.168.0.1).

   Netmask (Netzmaske)

           Im Beispiel werden Adressen aus einem Klasse C Netz
           (192.168.0.0 bis 192.168.0.255) benutzt. Standardma:ssig
           besitzt ein Klasse C Netz die Netzmaske 255.255.255.0.

   Extra options to ifconfig (Optionen fu:r ifconfig)

           Zusa:tzliche Optionen fu:r den Befehl ifconfig, die
           spezifisch fu:r die verwendete Netzwerkkarte sind. Im
           Beispiel sind keine Optionen angegeben.

   Wenn Sie alle Werte eingegeben haben, wa:hlen Sie mit Tab [ OK ]
   aus und dru:cken Sie Enter.

                       User Confirmation Requested
         Would you like to Bring Up the ed0 interface right now?

                              [ Yes ]   No

   Wenn Sie [ Yes ] auswa:hlen und Enter dru:cken, wird die
   Netzwerkkonfiguration aktiviert. Allerdings bringt dies zu diesem
   Zeitpunkt nicht viel, da der Rechner noch neu gestartet werden
   muss.

     --------------------------------------------------------------

  2.10.2. Gateway einrichten

                        User Confirmation Requested
        Do you want this machine to function as a network gateway?

                               [ Yes ]    No

   Wa:hlen Sie [ Yes ], wenn der Rechner ein Gateway fu:r ein lokales
   Netz ist und Pakete an andere Netze weiterleitet. Wenn der Rechner
   ein normaler Netzknoten ist, wa:hlen Sie [ No ] aus. Besta:tigen
   Sie die auswahl mit der Taste Enter.

     --------------------------------------------------------------

  2.10.3. IP-Dienste einrichten

                       User Confirmation Requested
 Do you want to configure inetd and the network services that it provides?

                                Yes   [ No ]

   Wenn [ No ] ausgewa:hlt wird, werden Dienste wie telnetd nicht
   aktiviert. Benutzer ko:nnen sich dann von entfernten Rechnern
   nicht mit telnet an dieser Maschine anmelden. Lokale Benutzer
   ko:nnen aber auf entfernte Rechner mit telnet zugreifen.

   Die Dienste ko:nnen Sie nach der Installation aktivieren, indem
   Sie die Datei /etc/inetd.conf editieren. Dies wird in Abschnitt
   29.2.1 beschrieben.

   Wenn Sie jetzt weitere Dienste aktivieren mo:chten, wa:hlen Sie
   [ Yes ] aus. Es erscheint die nachstehende Ru:ckfrage:

                       User Confirmation Requested
 The Internet Super Server (inetd) allows a number of simple Internet
 services to be enabled, including finger, ftp and telnetd.  Enabling
 these services may increase risk of security problems by increasing
 the exposure of your system.

 With this in mind, do you wish to enable inetd?

                              [ Yes ]   No

   Besta:tigen Sie die Ru:ckfrage mit [ Yes ].

                       User Confirmation Requested
 inetd(8) relies on its configuration file, /etc/inetd.conf, to determine
 which of its Internet services will be available.  The default FreeBSD
 inetd.conf(5) leaves all services disabled by default, so they must be
 specifically enabled in the configuration file before they will
 function, even once inetd(8) is enabled.  Note that services for
 IPv6 must be separately enabled from IPv4 services.

 Select [Yes] now to invoke an editor on /etc/inetd.conf, or [No] to
 use the current settings.

                              [ Yes ]   No

   Wenn Sie [ Yes ] auswa:hlen, ko:nnen Sie Dienste aktivieren, in
   dem Sie das Zeichen # am Zeilenanfang entfernen.

   Abbildung 2-30. inetd.conf editieren

   Wenn Sie die gewu:nschten Dienste aktiviert haben, dru:cken Sie
   die Taste Esc. Es erscheint ein Menu:, in dem Sie die A:nderungen
   abspeichern und den Editor verlassen ko:nnen.

     --------------------------------------------------------------

  2.10.4. SSH aktivieren

                       User Confirmation Requested
                   Would you like to enable SSH login?
                            Yes        [  No  ]

   Durch die Auswahl von [ Yes ], wird sshd(8), der OpenSSH-Daemon
   aktiviert. Danach ist es mo:glich, sich u:ber eine verschlu:sselte
   Verbindung auf Ihrem System anzumelden. Weitere Informationen
   u:ber OpenSSH finden Sie in Abschnitt 14.11 des FreeBSD-Handbuchs.

     --------------------------------------------------------------

  2.10.5. Anonymous-FTP

                       User Confirmation Requested
  Do you want to have anonymous FTP access to this machine?

                               Yes    [ No ]

     --------------------------------------------------------------

    2.10.5.1. Anonymous-FTP verbieten

   Wenn Sie die vorgegebene Auswahl [ No ] mit der Taste Enter
   besta:tigen, ko:nnen Benutzer, die ein Konto und ein Passwort auf
   dem System besitzen, immer noch mit FTP auf das System zugreifen.

     --------------------------------------------------------------

    2.10.5.2. Anonymous-FTP erlauben

   Wenn Sie Anonymous-FTP erlauben, darf jeder auf Ihr System
   zugreifen. Bedenken Sie die Folgen fu:r die Systemsicherheit
   (siehe Kapitel 14) bevor Sie diese Option aktivieren.

   Um Anonymous-FTP zu aktivieren, wa:hlen Sie mit den Pfeiltasten
   [ Yes ] aus und dru:cken Sie die Taste Enter. Es erscheint
   folgende Meldung:

                        User Confirmation Requested
  Anonymous FTP permits un-authenticated users to connect to the system
  FTP server, if FTP service is enabled.  Anonymous users are
  restricted to a specific subset of the file system, and the default
  configuration provides a drop-box incoming directory to which uploads
  are permitted.  You must separately enable both inetd(8), and enable
  ftpd(8) in inetd.conf(5) for FTP services to be available.  If you
  did not do so earlier, you will have the opportunity to enable inetd(8)
  again later.

  If you want the server to be read-only you should leave the upload
  directory option empty and add the -r command-line option to ftpd(8)
  in inetd.conf(5)

  Do you wish to continue configuring anonymous FTP?

                           [ Yes ]         No

   Diese Nachricht informiert Sie daru:ber, dass der FTP-Dienst auch
   in der Datei /etc/inetd.conf aktiviert werden muss, wenn Sie
   anonyme FTP-Verbindungen erlauben wollen (lesen Sie dazu auch
   Abschnitt 2.10.3 des FreeBSD-Handbuchs). Wa:hlen Sie [ Yes ] und
   dru:cken Sie Enter, um fortzufahren. Danach erscheint der folgende
   Bildschirm:

   Abbildung 2-31. Anonymous-FTP konfigurieren

   Mit der Taste Tab wechseln Sie zwischen den Feldern, in die Sie
   die beno:tigten Informationen eingeben.

   UID

           Die User-ID, die dem anonymen FTP-Benutzer zugewiesen
           werden soll. Alle hochgeladenen Dateien werden diesem
           User-ID geho:ren.

   Group

           Die Gruppe, zu der der anonyme FTP-Benutzer geho:ren soll.

   Comment

           Eine Beschreibung dieses Benutzers in der Datei
           /etc/passwd.

   FTP Root Directory

           Ort, an dem Dateien fu:r anonymen FTP-Zugang
           bereitgestellt werden sollen.

   Upload Subdirectory

           Das Verzeichnis, in dem von einem anonymen FTP-Benutzer
           hochgeladene Dateien gespeichert werden.

   Das FTP-Wurzelverzeichnis wird per Voreinstellung in /var
   angelegt. Wenn in /var zu wenig Platz vorhanden ist, ko:nnen Sie
   das FTP-Wurzelverzeichnis beispielsweise nach /usr/ftp verlegen.

   Wenn Sie mit den Einstellungen zufrieden sind, dru:cken Sie die
   Taste Enter.

                           User Confirmation Requested
          Create a welcome message file for anonymous FTP users?

                               [ Yes ]    No

   Wenn Sie [ Yes ] auswa:hlen und mit Enter besta:tigen, ko:nnen Sie
   die Begru:ssungsmeldung des FTP-Servers in einem Editor a:ndern.

   Abbildung 2-32. Begru:ssungsmeldung des FTP-Servers editieren

   Der Editor, in dem Sie sich befinden, heisst ee. Folgen Sie den
   Anweisungen, um die Meldung zu editieren. Sie ko:nnen die Meldung
   auch spa:ter in einem Editor Ihrer Wahl editieren. Merken Sie sich
   dazu den Dateinamen, der im Editor unten angezeigt wird.

   Wenn Sie die Taste Esc dru:cken, erscheint ein Menu:, in dem a)
   leave editor vorgewa:hlt ist. Dru:cken Sie die Taste Enter, um den
   Editor zu verlassen. Falls Sie A:nderungen vorgenommen haben,
   besta:tigen Sie die A:nderungen nochmals mit Enter.

     --------------------------------------------------------------

  2.10.6. Network-File-System einrichten

   Mit dem Network-File-System (NFS) ko:nnen Sie u:ber ein Netzwerk
   auf Dateien zugreifen. Ein Rechner kann NFS-Server, NFS-Client
   oder beides sein. NFS wird in Abschnitt 29.3 besprochen.

     --------------------------------------------------------------

    2.10.6.1. NFS-Server einrichten

                        User Confirmation Requested
  Do you want to configure this machine as an NFS server?

                               Yes    [ No ]

   Wenn Sie keinen NFS-Server beno:tigen, wa:hlen Sie [ No ] aus und
   besta:tigen Sie mit Enter.

   Wenn Sie [ Yes ] auswa:hlen, erscheint der Hinweis, dass die Datei
   exports angelegt werden muss.

                                Message
 Operating as an NFS server means that you must first configure an
 /etc/exports file to indicate which hosts are allowed certain kinds of
 access to your local filesystems.
 Press [Enter] now to invoke an editor on /etc/exports
                                [ OK ]

   Dru:cken Sie Enter und es wird ein Editor gestartet, in dem Sie
   die Datei exports editieren ko:nnen.

   Abbildung 2-33. exports editieren

   Folgen Sie den Anweisungen, um Dateisysteme zu exportieren. Sie
   ko:nnen die Datei auch spa:ter in einem Editor Ihrer Wahl
   editieren. Merken Sie sich dazu den Dateinamen, der im Editor
   unten angezeigt wird.

   Dru:cken Sie die Taste Esc und es erscheint ein Menu:, in dem a)
   leave editor vorgewa:hlt ist. Dru:cken Sie die Taste Enter, um den
   Editor zu verlassen.

     --------------------------------------------------------------

    2.10.6.2. NFS-Client einrichten

   Mit einem NFS-Client ko:nnen Sie auf NFS-Server zugreifen.

                        User Confirmation Requested
  Do you want to configure this machine as an NFS client?

                               Yes   [ No ]

   Wa:hlen Sie entweder [ Yes ] oder [ No ] aus und dru:cken Sie
   Enter.

     --------------------------------------------------------------

  2.10.7. Die Systemkonsole einrichten

   Sie ko:nnen verschiedene Merkmale der Systemkonsole anpassen.

                       User Confirmation Requested
        Would you like to customize your system console settings?

                               [ Yes ]  No

   Wenn Sie die Merkmale der Systemkonsole anpassen wollen, wa:hlen
   Sie [ Yes ] aus und dru:cken Sie die Taste Enter.

   Abbildung 2-34. Merkmale der Systemkonsole

   Oft wird ein Bildschirmschoner auf der Konsole aktiviert. Wa:len
   Sie mit den Pfeiltasten Saver aus und dru:cken Sie die Taste
   Enter.

   Abbildung 2-35. Bildschirmschoner auswa:hlen

   Wa:hlen Sie den gewu:nschten Bildschirmschoner mit den Pfeiltasten
   aus und dru:cken Sie Enter. Das Konfigurationsmenu: der
   Systemkonsole erscheint wieder.

   In der Voreinstellung wird der Bildschirmschoner nach 300 Sekunden
   aktiviert. Um diese Zeitspanne zu a:ndern, wa:hlen Sie wieder
   Saver aus. Mit den Pfeiltasten wa:hlen Sie dann Timeout aus und
   dru:cken Enter. Es erscheint ein Eingabefenster:

   Abbildung 2-36. Den Bildschirmschoner einstellen

   A:ndern Sie die Zeitspanne und wa:hlen Sie [ OK ] aus. Mit Enter
   kehren Sie in das Konfigurationsmenu: der Systemkonsole zuru:ck.

   Abbildung 2-37. Die Konfiguration der Systemkonsole verlassen

   Um die Nacharbeiten fortzufu:hren, wa:hlen Sie Exit aus und
   dru:cken Sie Enter.

     --------------------------------------------------------------

  2.10.8. Die Zeitzone einstellen

   Wenn Sie die Zeitzone richtig einstellen, kann Ihr Rechner
   automatisch regional bedingte Zeitumstellungen ausfu:hren und
   andere von der Zeitzone abha:ngige Funktionen handhaben.

   Das folgende Beispiel gilt fu:r den Osten der USA. Ihre Auswahl
   ha:ngt vom geographischen Standort Ihres Rechners ab.

                       User Confirmation Requested
           Would you like to set this machine's time zone now?

                             [ Yes ]   No

   Um die Zeitzone einzustellen, wa:hlen Sie [ Yes ] und dru:cken
   Enter.

                        User Confirmation Requested
  Is this machine's CMOS clock set to UTC? If it is set to local time
  or you don't know, please choose NO here!

                               Yes   [ No ]

   Je nachdem ob die Systemzeit die Zeitzone UTC verwendet, wa:hlen
   Sie [ Yes ] oder [ No ] aus. Besta:tigen Sie die Auswahl mit der
   Taste Enter.

   Abbildung 2-38. Das Gebiet auswa:hlen

   Wa:hlen Sie mit den Pfeiltasten das richtige Gebiet aus und
   dru:cken Sie Enter.

   Abbildung 2-39. Das Land auswa:hlen

   Wa:hlen Sie mit den Pfeiltasten das richtige Land aus und dru:cken
   Sie Enter.

   Abbildung 2-40. Die Zeitzone auswa:hlen

   Wa:hlen Sie mit den Pfeiltasten die richtige Zeitzone aus dru:cken
   Sie Enter.

                             Confirmation
             Does the abbreviation 'EDT' look reasonable?

                             [ Yes ]   No

   Wenn die angezeigte Abku:rzung der Zeitzone richtig ist,
   besta:tigen Sie diese mit der Taste Enter.

     --------------------------------------------------------------

  2.10.9. Linux-Kompatibilita:t

                       User Confirmation Requested
           Would you like to enable Linux binary compatibility?

                             [ Yes ]   No

   Wenn Sie [ Yes ] auswa:hlen und Enter dru:cken, ko:nnen Sie
   Linux-Software auf FreeBSD laufen lassen. Spa:ter wird dazu die
   notwendige Software installiert.

   Wenn Sie u:ber FTP installieren, mu:ssen Sie mit dem Internet
   verbunden sein. Einige FTP-Server bieten nicht alle verfu:gbare
   Software an. Es kann sein, dass die no:tige Software fu:r die
   Linux-Kompatibilita:t nicht installiert werden kann, dies ko:nnen
   Sie spa:ter jedoch nachholen.

     --------------------------------------------------------------

  2.10.10. Die Maus konfigurieren

   Mit einer 3-Tasten-Maus ko:nnen Sie Texte auf der Konsole und in
   Programmen markieren und einfu:gen (cut and paste). Wenn Sie eine
   2-Tasten-Maus besitzen, ko:nnen Sie eine 3-Tasten-Maus emulieren.
   Lesen Sie dazu nach der Installation die Hilfeseite moused(8). Das
   folgende Beispiel zeigt die Konfiguration einer nicht-USB-Maus
   (PS/2 oder serielle Maus):

                       User Confirmation Requested
          Does this system have a PS/2, serial, or bus mouse?

                             [ Yes ]    No

   Wa:hlen Sie [ Yes ] fu:r eine PS/2-, eine serielle oder eine
   Bus-Maus. Haben Sie hingegen eine USB-Maus, wa:hlen Sie [ No ].
   Danach dru:cken Sie Enter.

   Abbildung 2-41. Das Mausprotokoll festlegen

   Markieren Sie mit den Pfeiltasten Type und dru:cken Sie press
   Enter.

   Abbildung 2-42. Das Mausprotokoll festlegen

   Im Beispiel wurde eine PS/2-Maus verwendet, sodass die Vorgabe
   Auto passend war. Sie ko:nnen das Protokoll mit den Pfeiltasten
   a:ndern. Stellen Sie sicher, dass [ OK ] aktiviert ist und
   verlassen Sie das Menu: mit der Taste Enter.

   Abbildung 2-43. Den Mausport einstellen

   Wa:hlen Sie mit den Pfeiltasten Port und dru:cken Sie die Taste
   Enter.

   Abbildung 2-44. Den Mausport einstellen

   Im Beispiel wurde eine PS/2-Maus verwendet, sodass die Vorgabe
   PS/2 richtig war. Sie ko:nnen den Port mit den Pfeiltasten
   a:ndern. Besta:tigen Sie die Auswahl mit der Taste Enter.

   Abbildung 2-45. Den Mouse-Daemon aktivieren

   Wa:hlen Sie nun mit den Pfeiltasten Enable aus und dru:cken Sie
   die Taste Enter, um den Mouse-Daemon zu aktivieren und zu testen.

   Abbildung 2-46. Den Mouse-Daemon testen

   Bewegen Sie die Maus hin und her und pru:fen Sie, dass sich der
   Mauszeiger entsprechend bewegt. Wenn alles in Ordnung ist, wa:hlen
   Sie [ Yes ] aus und dru:cken Sie Enter. Wenn sich die Maus nicht
   richtig verha:lt, wurde sie nicht korrekt konfiguriert. Wa:hlen
   Sie in diesem Fall [ No ] und versuchen Sie, die Einstellungen zu
   korrigieren.

   Um mit den Nacharbeiten fortzufahren, wa:hlen Sie mit den
   Pfeiltasten Exit aus und dru:cken Sie Enter.

     --------------------------------------------------------------

  2.10.11. Pakete installieren

   Pakete (packages) sind schon u:bersetzte Programme und sind ein
   zweckma:ssiger Weg, Programme zu installieren.

   Beispielhaft wird im Folgenden die Installation eines Paketes
   gezeigt. In diesem Schritt ko:nnen auch weitere Pakete installiert
   werden. Nach der Installation ko:nnen Sie mit sysinstall
   zusa:tzliche Pakete installieren.

                      User Confirmation Requested
  The FreeBSD package collection is a collection of hundreds of
  ready-to-run applications, from text editors to games to WEB servers
  and more. Would you like to browse the collection now?

                             [ Yes ]   No

   Nachdem Sie [ Yes ] ausgewa:hlt und Enter gedru:ckt haben,
   gelangen Sie in die Paketauswahl:

   Abbildung 2-47. Die Paketkategorie aussuchen

   Es stehen nur die Pakete zur Auswahl, die sich auf dem momentanen
   Installationsmedium befinden.

   Wenn Sie All auswa:hlen, werden alle Pakete angezeigt. Sie ko:nnen
   die Anzeige auf die Pakete einer Kategorie beschra:nken. Wa:hlen
   Sie mit den Pfeiltasten die Kategorie aus und dru:cken Sie die
   Taste Enter.

   Ein Menu: mit allen Paketen der ausgewa:hlten Kategorie erscheint:

   Abbildung 2-48. Pakete auswa:hlen

   Im gezeigten Bildschirm ist das Paket bash ausgewa:hlt. Sie
   ko:nnen weitere Pakete auswa:hlen, indem Sie die Pakete mit den
   Pfeiltasten markieren und die Taste Space dru:cken. In der unteren
   linken Ecke des Bildschirms wird eine Kurzbeschreibung des
   ausgewa:hlten Pakets angezeigt.

   Die Taste Tab wechselt zwischen dem zuletzt ausgesuchten Paket,
   [ OK ] und [ Cancel ].

   Wenn Sie die zu installierenden Pakete ausgewa:hlt haben, dru:cken
   Sie einmal Tab, um [ OK ] zu markieren. Dru:cken Sie dann Enter,
   um wieder in die Paketauswahl zu gelangen.

   Die rechte und die linke Pfeiltaste wechseln ebenfalls zwischen
   [ OK ] und [ Cancel ]. Mit diesen Tasten ko:nnen Sie auch [ OK ]
   auswa:hlen und dann mit Enter zur Paketauswahl zuru:ckkehren.

   Abbildung 2-49. Pakete installieren

   Benutzen Sie die Taste Tab und die Pfeiltasten um [ Install ]
   auszuwa:hlen. Dru:cken Sie anschliessend die Taste Enter. Sie
   mu:ssen jetzt die Installation der Pakete besta:tigen:

   Abbildung 2-50. Paketinstallation besta:tigen

   Die Paketinstallation wird gestartet, wenn Sie [ OK ] auswa:hlen
   und Enter dru:cken. Den Verlauf der Installation ko:nnen Sie
   anhand der angezeigten Meldungen verfolgen; achten Sie dabei auf
   Fehlermeldungen.

   Nach der Paketinstallation ko:nnen Sie die Nacharbeiten
   fortsetzen. Wenn Sie keine Pakete ausgewa:hlt haben und die
   Nacharbeiten fortsetzen mo:chten, wa:hlen Sie trotzdem [ Install ]
   aus.

     --------------------------------------------------------------

  2.10.12. Benutzer und Gruppen anlegen

   Wa:hrend der Installation sollten Sie mindestens ein Benutzerkonto
   anlegen, sodass Sie das System ohne das Konto root benutzen
   ko:nnen. Normalerweise ist die Root-Partition recht klein und
   la:uft schnell voll, wenn Sie Anwendungen unter dem root-Konto
   laufen lassen. Vor der gro:ssten Gefahr warnt der nachstehende
   Hinweis:

                      User Confirmation Requested
  Would you like to add any initial user accounts to the system? Adding
  at least one account for yourself at this stage is suggested since
  working as the "root" user is dangerous (it is easy to do things which
  adversely affect the entire system).

                             [ Yes ]   No

   Der Bildschirm auf Deutsch:

                       Besta:tigung erforderlich
  Wollen Sie Benutzerkonten anlegen?  Wir empfehlen, mindestens
  ein Konto fu:r sich selbst anzulegen, da es gefa:hrlich
  ist, unter "root" zu arbeiten (es ist leicht, Befehle einzugeben,
  die das System nachhaltig beeintra:chtigen).

                             [ Yes ]   No

   Um ein Benutzerkonto anzulegen, wa:hlen Sie [ Yes ] aus und
   dru:cken Enter.

   Abbildung 2-51. Benutzerkonto auswa:hlen

   Markieren Sie User mit den Pfeiltasten und dru:cken Sie die Taste
   Enter.

   Abbildung 2-52. Benutzerkonto anlegen

   Wa:hlen Sie die Felder zum Ausfu:llen mit der Taste Tab aus. Zur
   Hilfe werden die nachstehenden Beschreibungen werden im unteren
   Teil des Bildschirms angezeigt:

   Login ID

           Der Name des Benutzerkontos (verpflichtend).

   UID

           Die numerische ID dieses Kontos. Wenn Sie das Feld leer
           lassen, wird eine ID automatisch zugeteilt.

   Group

           Die diesem Konto zugeordnete Login-Gruppe. Wenn Sie das
           Feld leer lassen, wird automatisch eine Gruppe zugeteilt.

   Password

           Das Passwort des Benutzerkontos. Fu:llen Sie dieses Feld
           sehr sorgfa:tig aus.

   Full name

           Der vollsta:ndige Name des Benutzers (Kommentarfeld).

   Member groups

           Die Gruppen, in denen dieses Konto Mitglied ist (das Konto
           erha:lt Zugriffsrechte auf Dateien dieser Gruppe).

   Home directory

           Das Heimatverzeichnis des Benutzerkontos. Wenn Sie das
           Feld leer lassen, wird das Verzeichnis automatisch
           festgelegt.

   Login shell

           Die Login-Shell des Kontos. Wenn Sie das Feld leer lassen,
           wird /bin/sh als Login-Shell festgesetzt.

   Im Beispiel wurde die Login-Shell von /bin/sh zu der vorher
   installierten /usr/local/bin/bash gea:ndert. Tragen Sie keine
   Shell ein, die nicht existiert, da sich sonst nicht anmelden
   ko:nnen. In der BSD-Welt wird ha:ufig die C-Shell benutzt, die Sie
   mit /bin/tcsh angeben ko:nnen.

   Damit ein Wechsel auf den Superuser root mo:glich ist, wurde dem
   Benutzerkonto die Gruppe wheel zugeordnet.

   Wenn Sie zufrieden sind, dru:cken Sie [ OK ]. Es erscheint wieder
   das Benutzer-Menu::

   Abbildung 2-53. Benutzermenu: verlassen

   Weitere Gruppen ko:nnen, wenn Sie die Anforderungen schon kennen,
   zu diesem Zeitpunkt angelegt werden. Nach der Installation ko:nnen
   Sie Gruppen mit dem Werkzeug sysinstall anlegen.

   Wenn Sie alle Benutzer angelegt haben, wa:hlen Sie mit den
   Pfeiltasten Exit aus und dru:cken Sie die Taste Enter.

     --------------------------------------------------------------

  2.10.13. Das root-Passwort festlegen

                         Message
  Now you must set the system manager's password.
  This is the password you'll use to log in as "root".

                          [ OK ]

                [ Press enter or space ]

   Um das root-Passwort festzulegen, dru:cken Sie die Taste Enter.

   Sie mu:ssen das Passwort zweimal eingeben. Stellen Sie sicher,
   dass Sie das Passwort nicht vergessen. Beachten Sie, dass bei der
   Eingabe das Passwort weder ausgegeben wird noch Sterne angezeigt
   werden.

 New password :
 Retype new password :

   Nach der erfolgreichen Eingabe des Passworts kann die Installation
   fortgesetzt werden.

     --------------------------------------------------------------

  2.10.14. Die Installation beenden

   Wenn Sie noch weitere Netzwerkkarten konfigurieren oder weitere
   Einstellungen vornehmen wollen, ko:nnen Sie das jetzt tun. Sie
   ko:nnen die Einstellungen auch nach der Installation mit
   sysinstall vornehmen.

                      User Confirmation Requested
  Visit the general configuration menu for a chance to set any last
  options?

                               Yes   [ No ]

   Um in das Hauptmenu: zuru:ckzukehren, wa:hlen Sie mit den
   Pfeiltasten [ No ] aus und dru:cken Sie Enter.

   Abbildung 2-54. Die Installation beenden

   Wa:hlen Sie mit den Pfeiltasten [X Exit Install] aus und dru:cken
   Sie die Taste Enter. Sie mu:ssen das Beenden der Installation
   besta:tigen:

                      User Confirmation Requested
  Are you sure you wish to exit? The system will reboot (be sure to
  remove any floppies/CDs/DVDs from the drives).

                             [ Yes ]   No

   Wa:hlen Sie [ Yes ] aus und entfernen Sie die Diskette aus dem
   Laufwerk, wenn Sie von einer Diskette gestartet haben. Das
   CD-Laufwerk ist bis zum Neustart des Systems verriegelt. Entfernen
   Sie die CD zu:gig wenn der Rechner startet.

   Achten Sie beim Neustart des Systems auf eventuell auftauchende
   Fehlermeldungen (lesen Sie Abschnitt 2.10.16 fu:r weitere
   Informationen).

     --------------------------------------------------------------

  2.10.15. Weitere Netzwerkdienste einrichten

   Beigetragen von Tom Rhodes.

   Anfa:nger ohne Vorwissen finden das Einrichten von
   Netzwerkdiensten oft deprimierend. Netzwerke und das Internet sind
   fu:r moderne Betriebssysteme von entscheidender Bedeutung. Es ist
   daher wichtig, die Netzwerkfunktionen von FreeBSD zu kennen. Die
   von FreeBSD angebotenen Netzwerkdienste ko:nnen Sie wa:hrend der
   Installation kennen lernen.

   Netzwerkdienste sind Programme, die Eingaben aus dem Netzwerk
   entgegennehmen. Es wird grosse Mu:he darauf verwendet, dass diese
   Programme keinen Schaden verursachen. Leider ko:nnen auch
   Programmierern Fehler unterlaufen und es gibt Fa:lle, in denen
   Fehler in Netzwerkdiensten von Angreifern ausgenutzt wurden. Es
   ist daher wichtig, dass Sie nur Dienste aktivieren, die Sie
   beno:tigen. Im Zweifallsfall sollten Sie einen Dienst solange
   nicht aktivieren, bis Sie herausfinden, dass Sie den Dienst
   beno:tigen. Einen Dienst ko:nnen Sie spa:ter immer noch mit
   sysinstall oder in der Datei /etc/rc.conf aktivieren.

   Wa:hlen Sie den Menu:punkt Networking und es erscheint ein Menu:
   wie das nachstehende:

   Abbildung 2-55. Netzwerkdienste - obere Ha:lfte

   Die erste Option, Interfaces, wurde schon in Abschnitt 2.10.1
   konfiguriert. Sie ko:nnen daher diesen Punkt u:berspringen.

   Der Punkt AMD aktiviert einen Dienst, der automatisch Dateisysteme
   einha:ngt. Normalerweise wird der Dienst zusammen mit dem
   NFS-Protokoll (siehe unten) verwendet, um automatisch entfernte
   Dateisysteme einzuha:ngen. Dieser Menu:punkt erfordert keine
   weitere Konfiguration.

   Der na:chste Menu:punkt ist AMD Flags. Wenn Sie den Punkt
   auswa:hlen, erscheint ein Fenster, in dem Sie AMD-spezifische
   Optionen eingeben ko:nnen. Die nachstehenden Optionen sind schon
   vorgegeben:

 -a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map

   Die Option -a legt das Verzeichnis fest (hier /.amd_mnt), unter
   dem Dateisysteme eingehangen werden. Die Option -l legt die
   Protokolldatei fest. Wenn syslogd verwendet wird, werden alle
   Meldungen an den Daemon syslogd gesendet. Das Verzeichnis /host
   dient zum Zugriff auf exportierte Verzeichnisse von entfernten
   Rechnern, das Verzeichnis /net dient zum Zugriff auf exportierte
   Verzeichnisse von entfernten IP-Adressen. Die Datei /etc/amd.map
   entha:lt die Einstellungen fu:r von AMD verwaltete Dateisysteme.

   Die Auswahl Anon FTP erlaubt Anonymous-FTP-Verbindungen. Wa:hlen
   Sie diese Option, wenn Sie einen Anonymous-FTP-Server einrichten
   wollen. Seien Sie sich u:ber die Sicherheitsrisiken bewusst, wenn
   Sie Anonymous-FTP erlauben. Die Sicherheitsrisiken und die
   Konfiguration von Anonymous-FTP werden in einem gesonderten
   Fenster erkla:rt, das aufgeht, wenn Sie diese Option auswa:hlen.

   Der Menu:punkt Gateway konfiguriert das System, wie vorher
   erla:utert, als Gateway. Wenn Sie wa:hrend der Installation den
   Rechner aus Versehen als Gateway konfiguriert haben, ko:nnen Sie
   dies hier wieder ru:ckga:ngig machen.

   Der Menu:punkt Inetd konfiguriert, wie schon oben besprochen, den
   Daemon inetd(8).

   Die Auswahl Mail konfiguriert den Mail Transfer Agent (MTA) des
   Systems. Wenn Sie diesen Punkt auswa:hlen, erscheint das folgende
   Menu::

   Abbildung 2-56. Den MTA festlegen

   In diesem Menu: wa:hlen Sie aus, welcher MTA installiert und
   benutzt wird. Ein MTA ist ein Mail-Server, der E-Mails an lokale
   Empfa:nger oder an Empfa:nger im Internet ausliefert.

   Die Auswahl Sendmail installiert das verbreitete sendmail (in
   FreeBSD die Voreinstellung). Die Auswahl Sendmail local verwendet
   sendmail als MTA, deaktiviert aber den Empfang von E-Mails aus dem
   Internet. Postfix und Exim sind a:hnlich wie Sendmail. Beide
   Programme liefern E-Mails aus und einige Anwender verwenden lieber
   eines der beiden Programme als MTA.

   Nachdem Sie einen MTA ausgewa:hlt haben (oder beschlossen haben,
   keinen MTA zu benutzen), erscheint wieder das Menu:
   Netzwerkdienste. Der na:chste Menu:punkt ist NFS client.

   Die Auswahl NFS client erlaubt es dem System, mit einem NFS-Server
   zu kommunizieren. Ein NFS-Server stellt mithilfe des
   NFS-Protokolls Dateisysteme fu:r andere Systeme auf dem Netzwerk
   bereit. Wenn der Rechner alleine fu:r sich steht, ko:nnen Sie
   diesen Menu:punkt auslassen. Wahrscheinlich mu:ssen Sie noch
   weitere Einstellungen vornehmen; der Abschnitt 29.3 beschreibt die
   Einstellungen fu:r NFS-Server und NFS-Clients.

   Der Menu:punkt NFS server richtet einen NFS-Server auf dem Rechner
   ein. Durch die Auswahl dieses Punktes werden die fu:r
   Remote-Procedure-Call (RPC) beno:tigten Dienste gestartet. Mit RPC
   werden Routinen auf entfernten Rechnern aufgerufen.

   Der na:chste Punkt, Ntpdate, konfiguriert die Zeitsynchronisation.
   Wenn Sie diesen Punkt auswa:hlen, erscheint das folgende Menu::

   Abbildung 2-57. Ntpdate konfigurieren

   Wa:hlen Sie aus diesem Menu: einen nahe liegenden Server aus. Die
   Zeitsynchronisation mit einem nahe liegenden Server ist, wegen der
   geringeren Latenzzeit, genauer als die Synchronisation mit einem
   weiter entfernten Server.

   Der na:chste Menu:punkt ist PCNFSD. Wenn Sie diesen Punkt
   auswa:hlen, wird net/pcnfsd aus der Ports-Sammlung installiert.
   Dieses nu:tzliche Werkzeug stellt NFS-Authentifizierungsdienste
   fu:r Systeme bereit, die diese Dienste nicht anbieten
   (beispielsweise Microsofts MS-DOS).

   Um die na:chsten Menu:punkte zu sehen, mu:ssen Sie
   herunterbla:ttern:

   Abbildung 2-58. Netzwerkdienste - untere Ha:lfte

   Die Programme rpcbind(8), rpc.statd(8) und rpc.lockd(8) werden
   fu:r Remote-Procedure-Calls (RPC) benutzt. Das Programm rpcbind
   verwaltet die Kommunikation zwischen NFS-Servern und NFS-Clients
   und ist fu:r den Betrieb eines NFS-Servers erforderlich. Der
   Daemon rpc.statd ha:lt zusammen mit dem Daemon rpc.statd des
   entfernten Rechners den Status der Verbindung. Der Status einer
   Verbindung wird normalerweise in der Datei /var/db/statd.status
   festgehalten. Der na:chste Menu:punkt ist rpc.lockd, der
   Dateisperren (file locks) bereitstellt. rpc.lockd wird
   normalerweise zusammen mit dem Daemon rpc.statd benutzt, der
   festha:lt welche Rechner Sperren anfordern und wie oft Sperren
   angefordert werden. Beide Dienste sind wunderbar zur Fehlersuche
   geeignet, doch werden Sie zum Betrieb von NFS-Servern und
   NFS-Clients nicht beno:tigt.

   Der na:chste Punkt in der Auswahl ist Routed, der Routing-Daemon.
   Das Programm routed(8) verwaltet die Routing-Tabelle, entdeckt
   Multicast-Router und stellt die Routing-Tabelle auf Anfrage jedem
   mit dem Netz verbundenen Rechner zur Verfu:gung. Der Daemon wird
   hauptsa:chlich auf Gateways eines lokalen Netzes eingesetzt. Wenn
   Sie den Punkt auswa:hlen mu:ssen Sie den Ort des Programms
   angeben. Die Vorgabe ko:nnen Sie mit der Taste Enter u:bernehmen.
   Anschliessend werden Sie nach den Kommandozeilenoptionen fu:r
   routed gefragt. Vorgegeben ist die Option -q.

   Der na:chste Menu:punkt ist Rwhod. Wenn Sie diesen Punkt
   auswa:hlen, wird wa:hrend des Systemstarts der Daemon rwhod(8)
   gestartet. Das Kommando rwhod schickt Broadcast-Meldungen in das
   Netz oder empfa:ngt diese im Consumer-Mode. Die Funktion der
   Werkzeuge wird in den Hilfeseiten ruptime(1) und rwho(1)
   beschrieben.

   Der vorletzte Menu:punkt aktiviert den Daemon sshd(8), den OpenSSH
   Secure-Shell-Server. Wo mo:glich sollte SSH anstelle von telnet
   und FTP eingesetzt werden. Der Secure-Shell-Server erstellt
   verschlu:sselte und daher sichere Verbindungen zwischen zwei
   Rechnern.

   TCP Extensions ist der letzte Menu:punkt. Diese Auswahl aktiviert
   die TCP-Erweiterungen aus RFC 1323 und RFC 1644. Obwohl dies auf
   vielen Rechnern die Verbindungsgeschwindigkeit erho:ht, ko:nnen
   durch diese Option auch Verbindungsabbru:che auftreten. Auf
   Servern sollte diese Option nicht aktiviert werden, auf
   Einzelmaschinen kann diese Option nu:tzlich sein.

   Wenn Sie die Netzwerkdienste eingerichtet haben, bla:ttern Sie zum
   Menu:punkt Exit hoch, um die Nacharbeiten fortzusetzen oder
   verlassen Sie sysinstall, indem Sie zweimal X Exit und danach [X
   Exit Install] wa:hlen.

     --------------------------------------------------------------

  2.10.16. FreeBSD starten

    2.10.16.1. Start von FreeBSD auf FreeBSD/i386

   Wenn alles funktioniert hat, laufen viele Meldungen u:ber den
   Bildschirm und schliesslich erscheint ein Anmeldeprompt. Um sich
   die Meldungen anzusehen. dru:cken Sie die Taste Scroll-Lock. Sie
   ko:nnen dann mit den Tasten PgUp und PgDn bla:ttern. Wenn Sie
   erneut Scroll-Lock dru:cken, kehren Sie zum Anmeldeprompt zuru:ck.

   Es kann sein, dass der Puffer zu klein ist, um alle Meldungen
   anzuzeigen. Nachdem Sie sich angemeldet haben, ko:nnen Sie sich
   mit dem Kommando dmesg alle Meldungen ansehen.

   Melden Sie sich bitte mit dem Benutzerkonto an (rpratt im
   Beispiel), das Sie wa:hrend der Installation eingerichtet haben.
   Arbeiten Sie mit root nur dann wenn es erforderlich ist.

   Die nachfolgende Abbildung zeigt typische Startmeldungen
   (Versionsangaben entfernt):

 Copyright (c) 1992-2002 The FreeBSD Project.
 Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
         The Regents of the University of California. All rights reserved.

 Timecounter "i8254"  frequency 1193182 Hz
 CPU: AMD-K6(tm) 3D processor (300.68-MHz 586-class CPU)
   Origin = "AuthenticAMD"  Id = 0x580  Stepping = 0
   Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX>
   AMD Features=0x80000800<SYSCALL,3DNow!>
 real memory  = 268435456 (262144K bytes)
 config> di sn0
 config> di lnc0
 config> di le0
 config> di ie0
 config> di fe0
 config> di cs0
 config> di bt0
 config> di aic0
 config> di aha0
 config> di adv0
 config> q
 avail memory = 256311296 (250304K bytes)
 Preloaded elf kernel "kernel" at 0xc0491000.
 Preloaded userconfig_script "/boot/kernel.conf" at 0xc049109c.
 md0: Malloc disk
 Using $PIR table, 4 entries at 0xc00fde60
 npx0: <math processor> on motherboard
 npx0: INT 16 interface
 pcib0: <Host to PCI bridge> on motherboard
 pci0: <PCI bus> on pcib0
 pcib1: <VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0
 pci1: <PCI bus> on pcib1
 pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11
 isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0
 isa0: <ISA bus> on isab0
 atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0
 ata0: at 0x1f0 irq 14 on atapci0
 ata1: at 0x170 irq 15 on atapci0
 uhci0: <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci0
 usb0: <VIA 83C572 USB controller> on uhci0
 usb0: USB revision 1.0
 uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub0: 2 ports with 2 removable, self powered
 chip1: <VIA 82C586B ACPI interface> at device 7.3 on pci0
 ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xe800-0xe81f irq 9 at
 device 10.0 on pci0
 ed0: address 52:54:05:de:73:1b, type NE2000 (16 bit)
 isa0: too many dependant configs (8)
 isa0: unexpected small tag 14
 fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
 fdc0: FIFO enabled, 8 bytes threshold
 fd0: <1440-KB 3.5'' drive> on fdc0 drive 0
 atkbdc0: <keyboard controller (i8042)> at port 0x60-0x64 on isa0
 atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
 kbd0 at atkbd0
 psm0: <PS/2 Mouse> irq 12 on atkbdc0
 psm0: model Generic PS/2 mouse, device ID 0
 vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
 sc0: <System console> at flags 0x1 on isa0
 sc0: VGA <16 virtual consoles, flags=0x300>
 sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
 sio0: type 16550A
 sio1 at port 0x2f8-0x2ff irq 3 on isa0
 sio1: type 16550A
 ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
 ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
 ppc0: FIFO with 16/16/15 bytes threshold
 ppbus0: IEEE1284 device found /NIBBLE
 Probing for PnP devices on ppbus0:
 plip0: <PLIP network interface> on ppbus0
 lpt0: <Printer> on ppbus0
 lpt0: Interrupt-driven port
 ppi0: <Parallel I/O> on ppbus0
 ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master using UDMA33
 ad2: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata1-master using UDMA33
 acd0: CDROM <DELTA OTC-H101/ST3 F/W by OIPD> at ata0-slave using PIO4
 Mounting root from ufs:/dev/ad0s1a
 swapon: adding /dev/ad0s1b as swap device
 Automatic boot in progress...
 /dev/ad0s1a: FILESYSTEM CLEAN; SKIPPING CHECKS
 /dev/ad0s1a: clean, 48752 free (552 frags, 6025 blocks, 0.9% fragmentation)
 /dev/ad0s1f: FILESYSTEM CLEAN; SKIPPING CHECKS
 /dev/ad0s1f: clean, 128997 free (21 frags, 16122 blocks, 0.0% fragmentation)
 /dev/ad0s1g: FILESYSTEM CLEAN; SKIPPING CHECKS
 /dev/ad0s1g: clean, 3036299 free (43175 frags, 374073 blocks, 1.3% fragmentation)
 /dev/ad0s1e: filesystem CLEAN; SKIPPING CHECKS
 /dev/ad0s1e: clean, 128193 free (17 frags, 16022 blocks, 0.0% fragmentation)
 Doing initial network setup: hostname.
 ed0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
         inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
         inet6 fe80::5054::5ff::fede:731b%ed0 prefixlen 64 tentative scopeid 0x1
         ether 52:54:05:de:73:1b
 lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
         inet6 fe80::1%lo0 prefixlen 64 scopeid 0x8
         inet6 ::1 prefixlen 128
         inet 127.0.0.1 netmask 0xff000000
 Additional routing options: IP gateway=YES TCP keepalive=YES
 routing daemons:.
 additional daemons: syslogd.
 Doing additional network setup:.
 Starting final network daemons: creating ssh RSA host key
 Generating public/private rsa1 key pair.
 Your identification has been saved in /etc/ssh/ssh_host_key.
 Your public key has been saved in /etc/ssh/ssh_host_key.pub.
 The key fingerprint is:
 cd:76:89:16:69:0e:d0:6e:f8:66:d0:07:26:3c:7e:2d root@k6-2.example.com
  creating ssh DSA host key
 Generating public/private dsa key pair.
 Your identification has been saved in /etc/ssh/ssh_host_dsa_key.
 Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub.
 The key fingerprint is:
 f9:a1:a9:47:c4:ad:f9:8d:52:b8:b8:ff:8c:ad:2d:e6 root@k6-2.example.com.
 setting ELF ldconfig path: /usr/lib /usr/lib/compat /usr/X11R6/lib
 /usr/local/lib
 a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout /usr/X11R6/lib/aout
 starting standard daemons: inetd cron sshd usbd sendmail.
 Initial rc.i386 initialization:.
 rc.i386 configuring syscons: blank_time screensaver moused.
 Additional ABI support: linux.
 Local package initialization:.
 Additional TCP options:.

 FreeBSD/i386 (k6-2.example.com) (ttyv0)

 login: rpratt
 Password:

   Das Erzeugen der RSA- und DSA-Schlu:ssel kann auf langsamen
   Maschinen lange dauern. Die Schlu:ssel werden nur beim ersten
   Neustart erzeugt, spa:tere Neustarts sind schneller.

   Wenn der X-Server konfiguriert ist und eine Oberfla:che
   ausgewa:hlt wurde, ko:nnen Sie X mit dem Kommando startx starten.

     --------------------------------------------------------------

    2.10.16.2. Start von FreeBSD auf FreeBSD/alpha

   Nach der Installation ko:nnen Sie FreeBSD von der
   SRM-Eingabeaufforderung mit einem Befehl wie dem folgenden
   starten:

 >>>BOOT DKC0

   Der Befehl weist die Firmware an, von dem angegebenen Laufwerk zu
   starten. Damit FreeBSD ku:nftig automatisch startet, geben Sie die
   folgenden Befehle ein:

 >>> SET BOOT_OSFLAGS A
 >>> SET BOOT_FILE ''
 >>> SET BOOTDEF_DEV DKC0
 >>> SET AUTO_ACTION BOOT

   Beim Start von FreeBSD erscheinen a:hnliche Meldungen, wie beim
   Start von FreeBSD auf einem i386-System.

     --------------------------------------------------------------

  2.10.17. FreeBSD herunterfahren

   Es ist wichtig, dass Sie das Betriebssystem richtig
   herunterfahren. Wechseln Sie zuna:chst mit dem Befehl su zum
   Superuser; Sie mu:ssen dazu das root-Passwort eingeben. Der
   Wechsel auf den Superuser gelingt nur, wenn der Benutzer ein
   Mitglied der Gruppe wheel ist. Ansonsten melden Sie sich direkt
   als Benutzer root an. Der Befehl shutdown -h now ha:lt das System
   an.

 The operating system has halted.
 Please press any key to reboot.

   Sie ko:nnen den Rechner ausschalten, nachdem die Meldung Please
   press any key to reboot erschienen ist. Wenn Sie stattdessen eine
   Taste dru:cken, startet das System erneut.

   Sie ko:nnen das System auch mit der Tastenkombination Ctrl+Alt+Del
   neu starten. Sie sollten diese Tastenkombination allerdings nicht
   gewohnheitsma:ssig benutzen.

     --------------------------------------------------------------

2.11. Fehlersuche

   Dieser Abschnitt behandelt ha:ufig auftretende
   Installationsprobleme. Weiterhin entha:lt er Hinweise, wie FreeBSD
   parallel mit MS-DOS oder Windows betrieben wird.

     --------------------------------------------------------------

  2.11.1. Wenn etwas schief geht

   Aufgrund der Beschra:nkungen der PC-Architektur ist eine
   zuverla:ssige Gera:teerkennung nicht mo:glich. Falls die
   Gera:teerkennung fehlschla:gt, ko:nnen Sie einige Dinge versuchen.

   Sehen Sie in den Hardware Notes Ihrer FreeBSD-Version nach, ob
   Ihre Hardware unterstu:tzt wird.

   Wenn Ihre Hardware unterstu:tzt wird und sich der
   Installationsprozess aufha:ngt oder sonstige Probleme auftauchen,
   mu:ssen Sie einen angepassten Kernel erstellen, da Ihre Hardware
   in diesem Fall nicht vom GENERIC-Kernel unterstu:tzt wird. Der
   Kernel auf den Startdisketten verwendet die Werkseinstellungen
   fu:r IRQs, IO-Adressen und DMA-Kana:le. Gea:nderte Einstellungen
   mu:ssen Sie daher in der Kernelkonfigurationsdatei angeben, damit
   FreeBSD diese Gera:te korrekt erkennt.

   Es ist auch mo:glich, dass die Suche nach einem nicht vorhandenen
   Gera:t dazu fu:hrt, dass die Erkennung eines vorhandenen Gera:ts
   fehlschla:gt. In diesem Fall sollten Sie nicht vorhandene Gera:te,
   deren Einstellungen sich mit vorhandenen Gera:ten u:berschneiden,
   deaktivieren.

     Anmerkung: Einige Installationsprobleme ko:nnen Sie vermeiden
     oder umgehen, indem Sie die Firmware der Hardware, insbesondere
     die Firmware der Systemplatine, aktualisieren. Die Firmware der
     Systemplatine ist das BIOS. Die meisten Hardware-Hersteller
     bieten aktuelle Firmware und Anleitungen zur Aktualisierung der
     Firmware auf dem Internet an.

     Viele Hersteller raten davon ab, ohne guten Grund das BIOS zu
     aktualisieren. Die Aktualisierung kann fehlschlagen und den
     BIOS-Chip dauerhaft bescha:digen.

     --------------------------------------------------------------

  2.11.2. MS-DOS(R)- und Windows(R)-Dateisysteme benutzen

   Mit Double Space(TM) komprimierte Dateisysteme werden zurzeit von
   FreeBSD nicht unterstu:tzt. Damit FreeBSD auf die Daten zugreifen
   kann, mu:ssen Sie das Dateisystem daher dekomprimieren. Rufen Sie
   dazu den Compression Agent aus dem Menu: Start > Programs > System
   Tools auf.

   FreeBSD unterstu:tzt MS-DOS-Dateisysteme (manchmal auch als
   FAT-Dateisysteme bezeichnet). Der Befehl mount_msdosfs(8) bindet
   diese Dateisysteme in den FreeBSD-Verzeichnisbaum ein und erlaubt
   dadurch den Zugriff auf die darin enthaltenen Daten.
   mount_msdosfs(8) wird normalerweise nicht direkt, sondern u:ber
   einen Eintrag in der Datei /etc/fstab oder durch den Aufruf des
   Befehls mount(8) (in Kombination mit den korrekten Parametern).

   Ein typischer Eintrag in /etc/fstab sieht so aus:

 /dev/ad0sN  /dos  msdosfs rw  0   0

     Anmerkung: Das Verzeichnis /dos muss bereits vorhanden sein,
     damit dieser Eintrag funktioniert. Weitere Informationen zu den
     Einstellungen in der Datei /etc/fstab finden sich in der
     Manualpage fstab(5).

   Ein typischer Aufruf von mount(8) zum Einha:ngen eines
   MS-DOS-Dateisystems sieht so aus:

 # mount -t msdosfs /dev/ad0s1 /mnt

   Das MS-DOS-Dateisystem befindet sich hier auf der ersten Partition
   der prima:ren Platte. Dies kann bei Ihnen anders sein. Die
   Anordnung der Partitionen entnehmen Sie den Ausgaben von dmesg und
   mount.

     Anmerkung: FreeBSD numeriert Platten (genauer
     MS-DOS-Partitionen) anders als andere Betriebssysteme. Die
     Nummern von erweiterten Partitionen sind in der Regel ho:her als
     die Nummern von prima:ren Partitionen. Das Werkzeug fdisk(8)
     kann Ihnen dabei helfen, festzustellen, welche Partitionen zu
     FreeBSD und welche zu einem anderen Betriebssystem geho:ren.

   Analog werden NTFS-Partitionen mit dem Kommando mount_ntfs(8)
   eingehangen.

     --------------------------------------------------------------

  2.11.3. Fragen und Antworten zu ha:ufig auftretenden Problemen

   2.11.3.1. Mein System ha:ngt sich beim Testen der Hardware auf,
   oder es verha:lt sich seltsam wa:hrend der Installation oder das
   Diskettenlaufwerk wird nicht getestet.

   2.11.3.2. Direkt nach der Installation beginnt das System zwar zu
   booten, der Kernel wird geladen und meine Hardware getestet. Dann
   bricht der Bootvorgang aber mit der folgenden (oder einer
   a:hnlichen) Fehlermeldung ab:

   2.11.3.3. Nach der Installation beginnt das System zu booten, der
   Bootmanager zeigt im Bootmenu: aber immer nur F? an und das System
   startet nicht.

   2.11.3.4. FreeBSD erkennt meine ed(4)-Netzwerkkarte. Trotzdem
   erhalte ich weiterhein Timeout-Meldungen fu:r dieses Gera:t.

   2.11.3.5. Wenn ich sysinstall aus einen X-Terminal starte, ist die
   gelbe Schritt auf dem grauen Hintergrund nur schwer zu erkennen.
   Gibt es eine Mo:glichkeit, den Kontrast fu:r dieses Programm zu
   erho:hen?

   2.11.3.1. Mein System ha:ngt sich beim Testen der Hardware auf,
   oder es verha:lt sich seltsam wa:hrend der Installation oder das
   Diskettenlaufwerk wird nicht getestet.

   FreeBSD 5.0 und neuer machen ausgiebig Gebrauch von den
   ACPI-Systemdiensten zur Systemkonfiguration der i386-, amd64- und
   ia64-Plattformen, falls diese wa:hrend des Bootvorgangs gefunden
   werden. Leider enthalten sowohl der ACPI-Treiber als auch manche
   Motherboard- und BIOS-Implementierungen fu:r ACPI noch einige
   Fehler. Kommt es auf Ihrem System zu Problemen, ko:nnen Sie ACPI
   daher deaktivieren, indem wa:hrend des Bootvorganges den "Hint"
   hint.acpi.0.disabled aktivieren:

 set hint.acpi.0.disabled="1"

   Da diese Einstellung bei jedem Neustart verloren geht, aktivieren
   Sie sie dauerhaft, indem Sie die Zeile hint.acpi.0.disabled="1" in
   die Datei /boot/loader.conf. Weitere Informationen u:ber den
   Bootloader finden Sie in Abschnitt 12.1 des FreeBSD-Handbuchs.

   2.11.3.2. Direkt nach der Installation beginnt das System zwar zu
   booten, der Kernel wird geladen und meine Hardware getestet. Dann
   bricht der Bootvorgang aber mit der folgenden (oder einer
   a:hnlichen) Fehlermeldung ab:

 changing root device to ad1s1a panic: cannot mount root

   Was la:uft hier falsch? Was kann/muss ich tun?

   Was soll ich mit diesem
   bios_drive:interface(unit,partition)kernel_name anfangen, das mir
   die Hilfefunktion ausgibt?

   Dabei handelt es sich um ein lange bekanntes Problem, das nur dann
   auftritt, wenn es sich bei der Bootplatte nicht um die erste
   Platte im System handelt. Das BIOS numeriert die Festplatten
   anders als FreeBSD, daher ist das System manchmal nicht in der
   Lage, diese Numerierungen selbst automatisch in Einklang zu
   bringen.

   Sollte Ihre Bootplatte nicht die erste Platte im System sein,
   ko:nnen Sie FreeBSD dabei helfen, diese Platte zu finden. Es gibt
   zwei Situationen, in denen Sie FreeBSD mitteilen mu:ssen, wo sich
   das root-Dateisystem befindet. Dazu mu:ssen Sie die Nummer der
   Platte im BIOS, den Plattentyp sowie die Nummer der Platte unter
   FreeBSD angeben.

   Im ersten Fall verfu:gen Sie u:ber zwei IDE-Platten, die beide als
   Master an ihrem jeweiligen IDE-Controller konfiguriert sind.
   FreeBSD soll dabei von der zweiten Platte booten. Ihr BIOS erkennt
   die beiden Platten als "Platte 1" und "Platte 2", wa:hrend FreeBSD
   die Platten als ad0 und ad2 erkennt.

   Fu:r das BIOS befindet sich FreeBSD auf der Platte Nummer 1, der
   Typ ist ad, und FreeBSD erkennt die Platte als Platte Nummer 2.
   Daher geben Sie Folgendes ein:

 1:ad(2,a)kernel

   Beachten Sie, dass dieser Eintrag nicht notwendig ist, wenn die
   zweite Platte als Slave am prima:ren IDE-Controller konfiguriert
   ist (sondern sogar falsch wa:re).

   Die zweite Situation entsteht, wenn Sie von einer SCSI-Platte
   booten und zusa:tzlich eine oder mehrere IDE-Platten installiert
   haben. In diesem Fall ist die Plattennummer unter FreeBSD kleiner
   als die Plattennummer im BIOS. Verfu:gen Sie u:ber zwei
   IDE-Platten und eine SCSI-Platte, hat die SCSI-Platte im BIOS die
   Nummer 2, den Typ da, und wird von FreeBSD als Platte Nummer 0
   erkannt. In diesem Fall geben Sie daher Folgendes ein:

 2:da(0,a)kernel

   Durch diese Zeile teilen Sie FreeBSD mit, dass Sie von der
   BIOS-Platte Nummer 2 booten wollen (bei der es sich um die erste
   SCSI-Platte Ihres Systems handelt). Verfu:gen Sie nur u:ber eine
   IDE-Platte, geben Sie hingegen 1: ein.

   Nachdem Sie die korrekten Werte ermittelt haben, ko:nnen Sie die
   entsprechende Zeile in exakt der gleichen Form in die Datei
   /boot.config aufnehmen. In der Voreinstellung verwendet FreeBSD
   den Inhalt dieser Datei als Standardantwort am boot:-Prompt.

   2.11.3.3. Nach der Installation beginnt das System zu booten, der
   Bootmanager zeigt im Bootmenu: aber immer nur F? an und das System
   startet nicht.

   Sie haben bei der FreeBSD-Installation eine falsche
   Plattengeometrie angegeben. Starten Sie den Partitionseditor neu
   und geben Sie die korrekte Plattengeometrie an. Danach
   installieren Sie FreeBSD erneut (diesmal mit der korrekten
   Plattengeometrie).

   Ist es Ihnen nicht mo:glich, die korrekte Plattengeometrie
   herauszufinden, hilft Ihnen vielleicht der folgende Tipp weiter:
   Legen Sie eine kleine DOS-Partition am Beginn Ihrer Bootplatte an
   und installieren Sie anschliessend FreeBSD auf diese Platte. Das
   FreeBSD-Installationsprogramm wird die DOS-Partition erkennen und
   ist dadurch normalerweise in der Lage, die korrekte
   Plattenkonfiguration automatisch zu erkennen.

   Die Vorgangsweise im folgenden Tipp wird zwar nicht la:nger
   empfohlen, soll aber trotzdem dokumentiert werden:

     Wenn Sie ein reines FreeBSD-System aufsetzen wollen (als Server
     oder als Workstation) und daher nie auf Kompatibilita:lt zu DOS,
     Linux oder anderen Betriebssystemen angewiesen sein werden,
     haben Sie auch die Mo:glichkeit, die komplette Platte (durch die
     Wahl von A im Partitionseditor) fu:r FreeBSD zu verwenden.
     Danach wird FreeBSD die komplette Platte vom ersten bis zum
     letzten Sektor verwenden und die tatsa:chliche Plattengeometrie
     ignorieren. Danach ist es allerdings nicht mehr mo:glich, ein
     anderes Betriebssystem auf die gleiche Platte zu installieren
     (ohne auch FreeBSD neu zu installieren).

   2.11.3.4. FreeBSD erkennt meine ed(4)-Netzwerkkarte. Trotzdem
   erhalte ich weiterhein Timeout-Meldungen fu:r dieses Gera:t.

   Ihre Karte verwendet wahrscheinlich einen anderen IRQ als den, der
   in der Datei /boot/device.hints angegeben wurde. Der ed(4)-Treiber
   verwendet in der Voreinstellung keine "Soft"-Konfiguration (also
   Werte, die durch EZSETUP unter DOS eingeben wurden). Sie ko:nnen
   dies allerdings erzwingen, indem Sie die Option -1 in den "Hints"
   fu:r dieses Gera:t angeben.

   Entweder vera:ndern Sie die Jumper-Konfiguration der Karte (und,
   falls notwendig, die Kerneleinstellungen). Oder Sie geben den IRQ
   als -1 an, indem Sie hint.ed.0.irq="-1" eingeben. Dadurch wird der
   Kernel angewiesen, die "Soft"-Konfiguration zu verwenden.

   Pru:fen Sie auch, ob Ihre Karte nicht etwa IRQ 9 verwendet, da
   dieser mit IRQ 2 geteilt wird. Diese Einstellung verursacht
   ha:ufig Probleme (insbesondere dann, wenn IRQ 2 durch eine
   VGA-Grafikkarte belegt ist!). Wenn irgend mo:glich, sollten Sie
   daher IRQ 2 oder 9 nicht verwenden.

   2.11.3.5. Wenn ich sysinstall aus einen X-Terminal starte, ist die
   gelbe Schritt auf dem grauen Hintergrund nur schwer zu erkennen.
   Gibt es eine Mo:glichkeit, den Kontrast fu:r dieses Programm zu
   erho:hen?

   Haben Sie X11 bereits installiert und die von sysinstall
   verwendeten Farben bereiten Ihnen beim Lesen von Text Probleme
   (wenn Sie ein X-Terminal verwenden), sollten Sie die Zeile
   XTerm*color7: #c0c0c0 in die Datei ~/.Xdefaults aufnehmen. Dadurch
   wird der Hintergrund in einem dunkleren Grauton dargestellt.

     --------------------------------------------------------------

2.12. Anspruchsvollere Installationen

   Beigetragen von Valentino Vaschetto.

   Dieser Abschnitt beschreibt die Installation von FreeBSD in
   besonderen Situationen.

     --------------------------------------------------------------

  2.12.1. FreeBSD auf einem System ohne Monitor oder Tastatur
  installieren

   Diese Methode wird als "headless install" (kopflose Installation)
   bezeichnet, da die Maschine, auf die FreeBSD installiert werden
   soll, entweder keinen Monitor angeschlossen hat oder u:ber keine
   VGA-Karte verfu:gt. Wie kann FreeBSD dennoch installiert werden?
   Eben mithilfe einer seriellen Konsole. Im Wesentlichen ist eine
   serielle Konsole eine andere Maschine, die Ein- und Ausgaben fu:r
   eine andere Maschine bereitstellt. Um u:ber eine serielle Konsole
   zu installieren, erstellen Sie zuna:chst die Startdisketten, wie
   in Abschnitt 2.3.7 beschrieben.

   Damit ein Systemstart mit der seriellen Konsole mo:glich ist,
   mu:ssen die Disketten entsprechend der nachstehenden Anleitung
   angepasst werden:

    1. Die Startdisketten fu:r eine serielle Konsole anpassen

       Wenn Sie ein System mit den frisch erstellten Disketten
       starten, la:uft der normale FreeBSD-Installationsprozess an.
       Diese Installation soll aber u:ber die serielle Konsole
       gesteuert werden. Ha:ngen Sie mit dem Kommando mount(8) die
       Diskette boot.flp ein:

 # mount /dev/fd0 /mnt

       Wechseln Sie in das Verzeichnis /mnt:

 # cd /mnt

       In diesem Verzeichnis ko:nnen Sie den Start u:ber eine
       serielle Konsole einstellen. Erstellen Sie die Datei
       boot.config mit dem Inhalt /boot/loader -h. Diese Zeile weist
       den Bootloader an, mit der seriellen Konsole zu starten.

 # echo "/boot/loader -h" > boot.config

       Nachdem Sie die Diskette angepasst haben, ha:ngen Sie die
       Diskette mit dem Kommando umount(8) wieder aus:

 # cd /
 # umount /mnt

       Sie ko:nnen die Diskette nun aus dem Laufwerk entfernen.

    2. Das Nullmodemkabel anschliessen

       Sie mu:ssen beide Maschinen mit einem Nullmodemkabel
       verbinden. Schliessen Sie das Nullmodemkabel an die seriellen
       Schnittstellen beider Maschinen an. Sie ko:nnen kein direktes
       serielles Kabel verwenden, Nullmodemkabel besitzen gekreuzte
       Leitungen.

    3. Die Installation starten

       Sie ko:nnen die Installation jetzt starten. Legen Sie die
       boot.flp-Diskette in das Laufwerk der Maschine ein, auf der
       Sie FreeBSD installieren wollen. Schalten Sie anschliessend
       die Maschine ein.

    4. Die Verbindung mit der zur installierenden Maschine herstellen

       Mit dem Kommando cu(1) verbinden Sie sich mit der zu
       installierenden Maschine:

 # cu -l /dev/cuad0

   Fertig! U:ber die cu-Sitzung ko:nnen Sie nun die zu installierende
   Maschine steuern. Sie erhalten die Aufforderung die Diskette
   kern1.flp einzulegen. Anschliessend legen Sie den Terminaltyp
   fest. Wa:hlen Sie die FreeBSD color console aus und fahren wie
   gewohnt mit der Installation fort.

     --------------------------------------------------------------

2.13. Eigene Installationsmedien herstellen

     Anmerkung: Im Folgenden ist mit "Installations-CD" eine CD-ROM
     oder DVD gemeint, die Sie gekauft oder selbst hergestellt haben.

   Oft mu:ssen Sie eigene Installationsmedien erzeugen. Dies ko:nnen
   physische Medien wie Ba:nder sein oder Installationsquellen sein,
   aus denen sysinstall Dateien herunterla:dt, beispielsweise ein
   lokaler FTP-Server oder eine MS-DOS-Partition.

   Beispiele:

     * Im lokalen Netzwerk befinden sich viele Maschinen, Sie
       besitzen allerdings nur eine Installations-CD. Den Inhalt der
       Installations-CD wollen Sie auf einem lokalem FTP-Server
       bereitstellen. Zur Installation wird der lokale FTP-Server
       anstelle eines Internet-Servers benutzt.

     * Sie haben eine Installations-CD, allerdings erkennt FreeBSD im
       Gegensatz zu MS-DOS/Windows das CD- oder DVD-Laufwerk nicht.
       Sie ko:nnen die Installationsdateien auf eine DOS-Partition
       desselben Rechners kopieren und FreeBSD von der DOS-Partition
       installieren.

     * Der Rechner, auf dem Sie FreeBSD installieren wollen, besitzt
       kein CD- oder DVD-Laufwerk. Ein anderer Rechner, zu dem eine
       serielle oder parallele Verbindung besteht, besitzt allerdings
       ein CD- oder DVD-Laufwerk.

     * Sie wollen ein Band erzeugen, mit dem Sie FreeBSD installieren
       ko:nnen.

     --------------------------------------------------------------

  2.13.1. Eine Installations-CD-ROM erzeugen

   Mit jeder Release stellt das FreeBSD-Project fu:r jede
   unterstu:tzte Architektur mindestens zwei CD-Abbilder
   ("ISO-Images") zur Verfu:gung. Wenn Sie einen CD-Brenner besitzen,
   ko:nnen Sie diese Abbilder brennen und damit FreeBSD installieren.
   Wenn Sie einen CD-Brenner besitzen und u:ber eine gute
   Internet-Verbindung verfu:gen, ist das die preiswerteste Art,
   FreeBSD zu installieren.

    1. Das richtige Abbild herunterladen

       Die ISO-Abbilder fu:r jedes Releases ko:nnen Sie von
       ftp://ftp.FreeBSD.org/pub/FreeBSD/ISO-IMAGES-arch/version oder
       einem nahe gelegenen Spiegel herunterladen. Ersetzen Sie arch
       und version durch passende Werte.

       Das Verzeichnis entha:lt die folgenden Abbilder:

       Tabelle 2-4. FreeBSD 6.X sowie 7.X-ISO-Abbilder

                      Dateiname                          Inhalt          
                                                Entha:lt alles, was Sie  
                                                beno:tigen, um um den    
                                                FreeBSD-Kernel zu laden  
                                                und die                  
       Version-RELEASE-Architektur-bootonly.iso Installationsoberfla:che 
                                                zu starten. Die zu       
                                                installierenden Dateien  
                                                mu:ssen u:ber FTP oder   
                                                eine andere geeignete    
                                                Quelle bezogen werden.   
                                                Alles, was Sie fu:r die  
                                                Installation von FreeBSD 
                                                beno:tigen. Zusa:tzlich  
                                                ist ein                  
       version-RELEASE-Architektur-disc1.iso    "Live-Dateisystem"       
                                                enthalten, das gemeinsam 
                                                mit der                  
                                                "Repair"-Funktion von    
                                                sysinstall verwendet     
                                                werden kann.             
                                                So viele Pakete Dritter, 
       version-RELEASE-Architektur-disc2.iso    wie auf dem              
                                                Installationsmedium      
                                                Platz hatten.            
       version-RELEASE-arch-docs.iso            Die                      
                                                FreeBSD-Dokumentation.   

       Sie beno:tigen nur eines der beiden Abbilder bootonly oder
       disc1. Laden Sie bitte nicht beide Abbilder herunter, das
       disc1-Abbild entha:lt alles, was das bootonly-Abbild entha:lt.

       Benutzen Sie das bootonly-Abbild, wenn Sie eine preiswerte
       Internet-Anbindung besitzen. Mit diesem Abbild ko:nnen Sie
       FreeBSD installieren. Software Dritter ko:nnen Sie
       anschliessend mithilfe des Ports-Systems (Kapitel 4)
       herunterladen.

       Benutzen Sie das disc1-Abbild, wenn Sie FreeBSD installieren
       wollen und das Installationsmedium eine angemessene Auswahl an
       Software Dritter enthalten soll.

       Die zusa:tzlichen Abbilder sind nu:tzlich aber nicht
       notwendig, insbesondere wenn Sie eine schnelle
       Internet-Verbindung besitzen.

    2. Die CDs brennen

       Sie mu:ssen die Abbilder auf eine CD brennen. Das Brennen von
       CDs unter FreeBSD wird in Abschnitt 18.6 erla:utert (sehen Sie
       sich insbesondere Abschnitt 18.6.3 und Abschnitt 18.6.4 an).

       Wenn Sie die CDs unter einem anderen Betriebssystem erstellen,
       benutzen Sie die entsprechenden Werkzeuge des Betriebssystems.
       Die Abbilder sind Standard-ISO-Abbilder und ko:nnen von vielen
       Brennprogrammen verarbeitet werden.

     Anmerkung: Wenn Sie eine angepasste Version von FreeBSD
     erstellen wollen, sollten Sie den Release Engineering Article
     lesen.

     --------------------------------------------------------------

  2.13.2. Einen lokalen FTP-Server einrichten

   Die Dateien auf der Installations-CD sind genauso angeordnet wie
   auf den FreeBSD-FTP-Servern. Daher ist es einfach, einen lokalen
   FTP-Server fu:r die FreeBSD-Installation u:ber ein Netzwerk
   einzurichten.

    1. Ha:ngen Sie auf dem FTP-Server die CD-ROM in das Verzeichnis
       /cdrom ein:

 # mount /cdrom

    2. Legen Sie ein Konto fu:r Anonymous-FTP an. Dazu editieren Sie
       die Datei /etc/passwd mit dem Kommando vipw(8) und fu:gen die
       nachstehende Zeile hinzu:

 ftp:*:99:99::0:0:FTP:/cdrom:/nonexistent

    3. Stellen Sie sicher, dass der FTP-Dienst in der Datei
       /etc/inetd.conf aktiviert ist.

   Jeder, der Ihren Rechner u:ber das Netzwerk erreicht, kann nun
   FreeBSD u:ber FTP installieren. In sysinstall wird dazu FTP als
   Installationsmedium wa:hlt. Der FTP-Server wird durch die Auswahl
   Other (andere als die vorgegebenen Server) und anschliessende
   Eingabe von ftp://Ihr Rechner festgelegt.

     Anmerkung: Wenn die Version der fu:r die FTP-Installation Ihrer
     Clients verwendeten Bootmedien (normalerweise Disketten) nicht
     exakt der von Ihnen auf Ihrem lokalen FTP-Server angebotenen
     Version entspricht, ist sysinstall nicht in der Lage, die
     Installation abzuschliessen. Sind die Versionsnummern
     unterschiedlich, ko:nnen Sie durch das Aufrufen des Punktes
     Options sysinstall dazu zwingen, die Installation dennoch
     abzuschliessen. Dazu setzen Sie den Namen der Distribution auf
     any.

     Warnung: Diese Vorgehensweise ist in Ihrem lokalen Netzwerk, das
     durch eine Firewall geschu:tzt ist, vo:llig in Ordnung. Wenn Sie
     FTP fu:r Rechner auf dem Internet (und nicht fu:r lokale
     Rechner) anbieten, zieht Ihr Server die Aufmerksamkeit von
     Crackern und andere Unannehmlichkeiten auf sich. Achten Sie in
     diesem Fall darauf, dass Sie gute Sicherheitsverfahren anwenden.

     --------------------------------------------------------------

  2.13.3. Installationsdisketten erstellen

   Wenn Sie, was wir nicht empfehlen, von Disketten installieren
   mu:ssen, weil Disketten das einzig unterstu:tzte
   Installationsmedium sind oder Sie es sich einfach schwer machen
   wollen, mu:ssen Sie zuna:chst einige Disketten vorbereiten.

   Sie mu:ssen mindestens den Inhalt des Verzeichnisses base auf
   1.44 MB Disketten kopieren. Wenn Sie die Disketten unter MS-DOS
   erstellen, mu:ssen Sie die Disketten mit dem DOS-Kommando FORMAT
   formatieren. Unter Windows ko:nnen Sie Disketten mithilfe des
   Explorers formatieren (klicken Sie mit der rechten Maustaste auf
   das A:-Laufwerk und wa:hlen Sie Format aus).

   Vertrauen Sie vorformatierten Disketten nicht; formatieren Sie die
   Disketten zur Sicherheit immer selbst. In der Vergangenheit waren
   vorformatierte Disketten der Verursacher vieler Probleme.

   Falls Sie die Disketten auf einer FreeBSD-Maschine erstellen,
   sollten Sie immer noch formatieren. Allerdings brauchen Sie kein
   DOS-Dateisystem auf den Disketten anzulegen. Mit den Kommandos
   bsdlabel und newfs ko:nnen Sie das Dateisystem UFS verwenden, wie
   im nachstehenden Beispiel fu:r 3.5" 1.44 MB Disketten gezeigt:

 # fdformat -f 1440 fd0.1440
 # bsdlabel -w fd0.1440 floppy3
 # newfs -t 2 -u 18 -l 1 -i 65536 /dev/fd0

   Anschliessend ko:nnen Sie die Disketten wie ein normales
   Dateisystem einha:ngen und beschreiben.

   Nachdem Sie die Disketten formatiert haben, kopieren Sie die
   Dateien der Distribution auf die Disketten. Die Dateien der
   Distribution sind in Stu:cke geteilt, sodass fu:nf Dateien auf
   eine 1.44 MB Diskette passen. Kopieren Sie die gewu:nschten
   Distribution auf Disketten, wobei Sie so viele Dateien wie
   mo:glich auf eine Diskette kopieren. Jede Distribution wird auf
   der Diskette in einem eigenen Verzeichnis abgelegt, beispielsweise
   a:\base\base.aa, a:\base\base.ab und so weiter.

     Wichtig: Die Datei base.inf muss unbedingt auf die erste
     Diskette des base-Diskettensatzes kopiert werden, damit das
     Installationsprogramm feststellen kann, wie viele Disketten
     geladen werden mu:ssen, um die Distribution wieder
     zusammenzusetzen.

   Im Installationsprozess wa:hlen Sie als Installationsmedium Floppy
   aus. Folgen Sie dann den gegebenen Anweisungen.

     --------------------------------------------------------------

  2.13.4. Von einer MS-DOS-Partition installieren

   Um eine Installation von einer MS-DOS-Partition vorzubereiten,
   kopieren Sie Dateien der Distributionen in das Verzeichnis freebsd
   direkt unterhalb des Wurzelverzeichnisses (zum Beispiel
   c:\freebsd). In diesem Verzeichnis muss sich dieselbe
   Verzeichnisstruktur wie auf dem Installationsmedium befinden. Wenn
   Sie die Dateien von einer Installations-CD kopieren, empfehlen wir
   den DOS-Befehl xcopy. Das nachstehende Beispiel bereitet eine
   minimale Installation von FreeBSD vor:

 C:\> md c:\freebsd
 C:\> xcopy e:\bin c:\freebsd\bin\ /s
 C:\> xcopy e:\manpages c:\freebsd\manpages\ /s

   Im Beispiel wurde angenommen, dass auf Laufwerk C: ausreichend
   Platz vorhanden ist und die CD-ROM Laufwerk E: ist.

   Wenn Sie kein CD-Laufwerk besitzen, ko:nnen Sie die Distributionen
   von ftp.FreeBSD.org herunterladen. Jede Distribution liegt in
   einem eigenen Verzeichnis. Beispielsweise liegt die
   Base-Distribution im Verzeichnis 8.0/base/.

   Kopieren Sie jede Distribution, die Sie von einer MS-DOS-Partition
   installieren wollen (und fu:r die Platz ist) in das Verzeichnis
   c:\freebsd. Fu:r eine minimale Installation beno:tigen Sie nur die
   Base-Distribution.

     --------------------------------------------------------------

  2.13.5. Ein Installationsband erstellen

   Falls Sie nicht u:ber FTP oder von einer CD-ROM installieren
   ko:nnen, ist die Installation von Band wahrscheinlich die
   einfachste Methode. Das Installationsprogramm erwartet, dass sich
   die Distributionen im tar-Format auf dem Band befinden. Von den
   Distributions-Dateien erstellen Sie das Installationsband einfach
   mit dem Kommando tar:

 # cd /freebsd/distdir
 # tar cvf /dev/rwt0 dist1 ... dist2

   Stellen Sie wa:hrend der Installation sicher, dass Sie u:ber
   genu:gend freien Platz in einem tempora:ren Verzeichnis (das Sie
   festlegen ko:nnen) verfu:gen. Das tempora:re Verzeichnis muss den
   gesamten Inhalt des Bands aufnehmen ko:nnen. Da auf Ba:nder nicht
   wahlfrei zugegriffen werden kann, beno:tigt diese
   Installationsmethode tempora:r sehr viel Platz.

     Anmerkung: Das Band muss sich vor dem Neustart mit der
     Startdiskette im Laufwerk befinden. Ansonsten wird das Band
     wa:hrend der Gera:teerkennung vielleicht nicht erkannt.

     --------------------------------------------------------------

  2.13.6. Eine Netzwerkinstallation vorbereiten

   Sie ko:nnen drei Verbindungsarten fu:r eine Netzwerkinstallation
   benutzen: Eine Ethernet-Verbindung, eine serielle Verbindung (SLIP
   oder PPP), oder eine parallele Verbindung (PLIP, Laplink-Kabel).

   Die schnellste Netzwerkinstallation ist natu:rlich mit einer
   Netzwerkkarte mo:glich. FreeBSD unterstu:tzt die meisten der
   u:blichen Netzwerkkarten. Eine Liste der unterstu:tzten
   Netzwerkkarten ist in den Hardware-Notes jedes Releases enthalten.
   Wenn Sie eine unterstu:tzte PCMCIA-Netzwerkkarte benutzen, stellen
   Sie sicher, dass die Karte eingesteckt ist, bevor der Laptop
   eingeschaltet wird. Leider unterstu:tzt FreeBSD das Einstecken von
   PCMCIA-Karten wa:hrend der Installation noch nicht.

   Fu:r eine Netzwerkinstallation mu:ssen Sie Ihre IP-Adresse, die
   Netzwerkmaske und den Namen Ihres Rechner kennen. Wenn Sie u:ber
   eine PPP-Verbindung installieren und keine feste IP-Adresse
   besitzen, braucht Sie der vorgehende Satz nicht zu beunruhigen.
   Sie ko:nnen eine IP-Adresse dynamisch von Ihrem ISP beziehen.
   Fragen Sie Ihren Systemadministrator nach den richtigen
   Netzwerkeinstellungen. Wenn Sie andere Rechner u:ber Namen anstatt
   u:ber IP-Adressen erreichen wollen, brauchen Sie zudem einen
   Nameserver und mo:glicherweise die Adresse eines Gateways (mit PPP
   ist das die Adresse des ISPs), u:ber den Sie den Nameserver
   erreichen. Wenn Sie von einem FTP-Server u:ber einen HTTP-Proxy
   installieren wollen, beno:tigen Sie ausserdem noch die Adresse des
   Proxy-Servers. Wenn Sie nicht alle oder zumindest die meisten der
   beno:tigten Daten kennen, sollten Sie wirklich vor der
   Installation mit Ihrem Systemadministrator oder ISP reden!

   Die SLIP-Unterstu:tzung ist recht einfach und auf feste
   Verbindungen, beispielsweise ein serielles Kabel zwischen einem
   Laptop und einem anderen Rechner, beschra:nkt. Die Verbindung muss
   fest sein, da die Installation mit SLIP keine Einwahl
   unterstu:tzt. Eine Einwahl ist mit PPP mo:glich, das Sie, wenn
   mo:glich, gegenu:ber SLIP bevorzugen sollten.

   Wenn Sie ein Modem benutzen, ist PPP ziemlich sicher die einzige
   Wahl. Stellen Sie sicher, dass Sie die Daten Ihres Service
   Providers bereitliegen haben, da Sie wa:hrend der Installation die
   Daten fru:h beno:tigen.

   Wenn Sie PAP oder CHAP benutzen, um sich mit Ihrem ISP zu
   verbinden (wenn Sie unter Windows kein Skript beno:tigen, um die
   Verbindung herzustellen), brauchen Sie an der
   ppp-Eingabeaufforderung nur das Kommando dial abzusetzen.
   Ansonsten mu:ssen Sie sich mit Modem-spezifischen AT-Kommandos bei
   Ihrem ISP einwa:hlen (PPP stellt nur einen einfachen
   Terminal-Emulator zur Verfu:gung). Weiteres u:ber PPP erfahren Sie
   im Abschnitt User-PPP des Handbuchs und im PPP-Abschnitt der FAQ.
   Bei Problemen ko:nnen Sie mit dem Kommando set log local Meldungen
   auf den Bildschirm umleiten.

   Wenn eine feste Verbindung zu einer anderen FreeBSD-Maschine
   besteht (2.0 Release oder neuer), sollten Sie ein paralleles
   Laplink-Kabel in Betracht ziehen. U:ber eine parallele Verbindung
   sind ho:hrere Geschwindigkeiten als u:ber eine serielle Verbindung
   (typischerweise bis zu 50 kByte/s) mo:glich. Daher ist die
   Installation u:ber eine parallele Verbindung schneller als eine
   Installation u:ber eine serielle Verbindung.

     --------------------------------------------------------------

    2.13.6.1. Eine NFS-Installation vorbereiten

   Eine NFS-Installation ist unkompliziert. Kopieren Sie einfach die
   Distributionen auf einen NFS-Server und wa:hlen Sie NFS als
   Installationsmedium aus.

   Wenn der NFS-Server nur Verbindungen u:ber privilegierte Ports
   (Ports kleiner 1024) annimmt, setzen Sie vor der Installation die
   Option NFS Secure im Menu: Options.

   Wenn Sie eine schlechte Netzwerkkarte besitzen, die sehr langsam
   ist, wa:hlen Sie die Option NFS Slow.

   Damit die NFS-Installation funktioniert, muss der NFS-Server auch
   Unterverzeichnisse von exportierten Verzeichnissen zum Einha:ngen
   freigeben. Wenn beispielsweise die Distribution von FreeBSD 8.0
   unter ziggy:/usr/archive/stuff/FreeBSD liegt, muss der Rechner
   ziggy erlauben, das Verzeichnis /usr/archive/stuff/FreeBSD
   einzuha:ngen. Es reicht nicht, dass ziggy erlaubt das Verzeichnis
   /usr oder /usr/archive/stuff einzuha:ngen.

   Unter FreeBSD werden diese Freigaben in der Datei /etc/exports mit
   der Option -alldirs eingestellt. Die no:tigen Einstellungen
   ko:nnen auf einem anderen NFS-Server unterschiedlich sein. Wenn
   Sie vom NFS-Server die Fehlermeldung "permission denied" erhalten,
   dann haben Sie wahrscheinlich die Freigaben nicht richtig
   konfiguriert.

     --------------------------------------------------------------

             Kapitel 3. Grundlagen des UNIX Betriebssystems

   Umgeschrieben von Chris Shumway. U:bersetzt von Uwe Pierau.

3.1. U:bersicht

   Das folgende Kapitel umfasst die grundlegenden Kommandos und
   Funktionsweisen des Betriebssystems FreeBSD. Viel von dem
   folgenden Material gilt auch fu:r jedes andere UNIX-artige System.
   Falls Sie mit dem Material schon vertraut sind, ko:nnen Sie dieses
   Kapitel u:berlesen. Wenn FreeBSD neu fu:r Sie ist, dann sollten
   Sie dieses Kapitel auf jeden Fall aufmerksam lesen.

   Dieser Abschnitt behandelt die folgenden Themen:

     * virtuelle Konsolen,

     * Zugriffsrechte unter UNIX sowie Datei-Flags unter FreeBSD,

     * Zugriffskontrolllisten fu:r Dateisysteme,

     * die Verzeichnisstruktur von FreeBSD,

     * Organisation von Dateisystemen unter FreeBSD,

     * Ein- und Abha:ngen von Dateisystemen,

     * Prozesse, Da:monen und Signale,

     * Shells und die Login-Umgebung,

     * Texteditoren,

     * Gera:te und Gera:tedateien,

     * Bina:rformate unter FreeBSD und

     * wie Sie in den Manualpages nach weiteren Informationen suchen
       ko:nnen.

     --------------------------------------------------------------

3.2. Virtuelle Konsolen und Terminals

   Sie ko:nnen FreeBSD mit einem Terminal benutzen, der nur Text
   darstellen kann. Wenn Sie FreeBSD auf diese Weise benutzen, stehen
   Ihnen alle Mo:glichkeiten eines UNIX Betriebssystems zur
   Verfu:gung. Dieser Abschnitt beschreibt was Terminals und Konsolen
   sind und wie sie unter FreeBSD eingesetzt werden.

     --------------------------------------------------------------

  3.2.1. Die Konsole

   Wenn Ihr FreeBSD-System ohne eine graphische Benutzeroberfla:che
   startet, wird am Ende des Systemstarts, nachdem die Startskripten
   gelaufen sind, ein Anmeldeprompt ausgegeben. Die letzten
   Startmeldungen sollten a:hnlich wie die Folgenden aussehen:

 Additional ABI support:.
 Local package initialization:.
 Additional TCP options:.

 Fri Sep 20 13:01:06 EEST 2002

 FreeBSD/i386 (pc3.example.org) (ttyv0)

 login:

   Beachten Sie die letzten beiden Zeilen der Ausgabe, die vorletzte
   lautet:

 FreeBSD/i386 (pc3.example.org) (ttyv0)

   Diese Zeile entha:lt einige Informationen u:ber das gerade
   gestartete System. Die Ausgabe stammt von der FreeBSD-Konsole
   einer Maschine mit einem Intel oder Intel-kompatiblen Prozessor
   der x86-Architektur[1]. Der Name des Systems (jedes UNIX System
   besitzt einen Namen) ist pc3.example.org und die Ausgabe stammt
   von der Systemkonsole, dem Terminal ttyv0.

   Das Ende der Ausgabe ist immer die Aufforderung zur Eingabe eines
   Benutzernamens:

 login:

   Der Anmeldevorgang wird im na:chsten Abschnitt erla:utert.

     --------------------------------------------------------------

  3.2.2. Der Anmeldevorgang

   FreeBSD ist ein Mehrbenutzersystem, das Multitasking unterstu:tzt.
   Das heisst mehrere Benutzer ko:nnen gleichzeitig viele Programme
   auf einem System laufen lassen.

   Jedes Mehrbenutzersystem muss die Benutzer voneinander
   unterscheiden ko:nnen. Bei FreeBSD und allen anderen UNIX-artigen
   Betriebssystemen wird dies dadurch erreicht, dass sich die
   Benutzer anmelden mu:ssen, bevor sie Programme laufen lassen
   ko:nnen. Jeder Benutzer besitzt einen eindeutigen Namen (den
   Account) und ein dazugeho:rendes Passwort, die beide bei der
   Anmeldung abgefragt werden.

   Nachdem FreeBSD gestartet ist und die Startskripten[2], gelaufen
   sind, erscheint eine Aufforderung zur Eingabe des Benutzernamens:

 login:

   Wenn Ihr Benutzername beispielsweise john ist, geben Sie jetzt
   john gefolgt von Enter ein. Sie sollten dann eine Aufforderung zur
   Eingabe des Passworts erhalten:

 login: john
 Password:

   Geben Sie jetzt das Passwort von john gefolgt von Enter ein. Das
   Passwort wird aus Sicherheitsgru:nden nicht auf dem Bildschirm
   angezeigt.

   Wenn Sie das richtige Passwort eingegeben haben, sind Sie am
   System angemeldet und ko:nnen nun alle verfu:gbaren Kommandos
   absetzen.

   Anmgemeldet sind Sie, wenn Sie die Tagesmeldungen (message of
   today) gefolgt von einer Eingabeaufforderung (dem Zeichen #, $
   oder %) gesehen haben.

     --------------------------------------------------------------

  3.2.3. Virtuelle Konsolen

   Da FreeBSD mehrere Programme gleichzeitig laufen lassen kann, ist
   eine einzige Konsole, an der Kommandos abgesetzt werden ko:nnen,
   zu wenig. Abhilfe schaffen virtuelle Konsolen, die mehrere
   Konsolen zur Verfu:gung stellen.

   Die Anzahl der virtuellen Konsolen unter FreeBSD ko:nnen Sie
   einstellen. Zwischen den einzelnen Konsolen ko:nnen Sie mit
   speziellen Tastenkombinationen wechseln. Jede Konsole verfu:gt
   u:ber einen eigenen Ausgabekanal und FreeBSD ordnet die
   Tastatureingaben und Monitorausgaben der richtigen Konsole zu,
   wenn Sie zwischen den Konsolen wechseln.

   Zum Umschalten der Konsolen stellt FreeBSD spezielle
   Tastenkombinationen bereit[3]. Benutzen Sie Alt-F1, Alt-F2 bis
   Alt-F8, um zwischen den verschiedenen Konsolen umzuschalten.

   Wenn Sie zu einer anderen Konsole wechseln, sichert FreeBSD den
   Bildschirminhalt und gibt den Bildschirminhalt der neuen Konsole
   aus. Dies erzeugt die Illusion mehrerer Bildschirme und
   Tastaturen, an denen Sie Kommandos absetzen ko:nnen. Wenn eine
   Konsole nicht sichtbar ist, weil Sie auf eine andere Konsole
   gewechselt haben, laufen die dort abgesetzten Kommandos weiter.

     --------------------------------------------------------------

  3.2.4. /etc/ttys

   In der Voreinstellung stehen unter FreeBSD acht virtuelle Konsolen
   zur Verfu:gung, deren Anzahl Sie leicht erho:hen oder verringern
   ko:nnen. Die Anzahl und Art der Konsolen wird in /etc/ttys
   eingestellt.

   Jede Zeile in /etc/ttys, die nicht mit # anfa:ngt, konfiguriert
   einen Terminal oder eine virtuelle Konsole. In der Voreinstellung
   werden in dieser Datei neun virtuelle Konsolen definiert, von
   denen acht aktiviert sind. Die Konsolen sind in den Zeilen, die
   mit ttyv beginnen, definiert:

 # name  getty                           type    status          comments
 #
 ttyv0   "/usr/libexec/getty Pc"         cons25  on  secure
 # Virtual terminals
 ttyv1   "/usr/libexec/getty Pc"         cons25  on  secure
 ttyv2   "/usr/libexec/getty Pc"         cons25  on  secure
 ttyv3   "/usr/libexec/getty Pc"         cons25  on  secure
 ttyv4   "/usr/libexec/getty Pc"         cons25  on  secure
 ttyv5   "/usr/libexec/getty Pc"         cons25  on  secure
 ttyv6   "/usr/libexec/getty Pc"         cons25  on  secure
 ttyv7   "/usr/libexec/getty Pc"         cons25  on  secure
 ttyv8   "/usr/X11R6/bin/xdm -nodaemon"  xterm   off secure

   Die Hilfeseite ttys(5) entha:lt eine ausfu:hrliche Beschreibung
   der Spalten dieser Datei und der Optionen, die Sie zum
   Konfigurieren der virtuellen Konsolen benutzen ko:nnen.

     --------------------------------------------------------------

  3.2.5. Die Konsole im Single-User-Modus

   Eine eingehende Beschreibung des Single-User-Modus finden Sie in
   Abschnitt 12.6.2. Im Single-User-Modus steht Ihnen nur eine
   Konsole zur Verfu:gung. Die Definition dieser Konsole befindet
   sich ebenfalls in /etc/ttys. Suchen Sie nach einer Zeile, die mit
   console beginnt:

 # 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 secure

     Anmerkung: In der Zeile, die mit console beginnt, ko:nnen Sie
     secure durch insecure ersetzen. Wenn Sie danach in den
     Single-User-Modus booten, verlangt das System ebenfalls die
     Eingabe des root-Passworts.

     Setzen Sie insecure nicht leichtfertig ein. Wenn Sie das
     Passwort von root vergessen, wird es schwierig, in den
     Single-User-Modus zu gelangen, wenn Sie den FreeBSD-Boot-Prozess
     nicht genau verstehen.

     --------------------------------------------------------------

  3.2.6. Den Videomodus der Konsole anpassen

   Der Standard-Videomodus der FreeBSD-Konsole kann auf jeden Modus
   eingestellt werden, der von Ihrer Grafikkarte und Ihrem Monitor
   unterstu:tzt wird (beispielsweise 1024x768 oder 1280x1024). Wollen
   Sie eine andere Einstellung verwenden, mu:ssen Sie Ihren Kernel
   neu kompilieren, nachdem Sie die zwei folgenden Zeilen in Ihre
   Kernelkonfigurationsdatei aufgenommen haben:

 OPTIONS VESA
 options SC_PIXEL_MODE

   Nachdem Sie den Kernel mit diesen zwei Optionen neu kompiliert
   haben, bestimmen Sie die mo:glichen Videomodi mit dem Werkzeug
   vidcontrol(1). Um beispielsweise einer Liste aller unterstu:tzten
   Modi zu erhalten, verwenden Sie den folgenden Befehl:

 # vidcontrol -i mode

   Als Ergebnis erhalten Sie eine Liste aller Videomodi, die von
   Ihrer Hardware unterstu:tzt werden. Sie wa:hlen einen neuen Modus
   aus, indem Sie den entsprechenden Wert (wiederum als Benutzer
   root) an vidcontrol(1) u:bergeben:

 # vidcontrol MODE_279

   Um diese Einstellung dauerhaft zu speichern, mu:ssen Sie die
   folgende Zeile in die Datei /etc/rc.conf aufnehmen:

 allscreens_flags="MODE_279"

     --------------------------------------------------------------

3.3. Zugriffsrechte

   FreeBSD, das ein direkter Abko:mmling von BSD UNIX ist, stu:tzt
   sich auf mehrere Grundkonzepte von UNIX Systemen. Das erste und
   ausgepra:gteste: FreeBSD ist ein Mehrbenutzer-Betriebssystem. Das
   System ermo:glicht, dass mehrere Benutzer gleichzeitig an vo:llig
   verschiedenen und unabha:ngigen Aufgaben arbeiten ko:nnen. Es ist
   verantwortlich fu:r eine gerechte Auf- und Zuteilung von
   Nachfragen nach Hardware- und Peripheriegera:ten, Speicher und
   CPU-Zeit unter den Benutzern.

   Da das System mehrere Benutzer unterstu:tzt, hat alles, was das
   System verwaltet, einen Satz von Rechten, die bestimmen, wer die
   jeweilige Ressource lesen, schreiben oder ausfu:hren darf. Diese
   Zugriffsrechte stehen in drei Achtergruppen, die in drei Teile
   unterteilt sind: einen fu:r den Besitzer der Datei, einen fu:r die
   Gruppe, zu der die Datei geho:rt und einen fu:r alle anderen. Die
   numerische Darstellung sieht wie folgt aus:

   Wert           Zugriffsrechte            Auflistung im Verzeichnis 
   0    Kein Lesen, Kein Schreiben, Kein    ---                       
        Ausfu:hren                          
   1    Kein Lesen, Kein Schreiben,         --x                       
        Ausfu:hren                          
   2    Kein Lesen, Schreiben, Kein         -w-                       
        Ausfu:hren                          
   3    Kein Lesen, Schreiben, Ausfu:hren   -wx                       
   4    Lesen, Kein Schreiben, Kein         r--                       
        Ausfu:hren                          
   5    Lesen, Kein Schreiben, Ausfu:hren   r-x                       
   6    Lesen, Schreiben, Kein Ausfu:hren   rw-                       
   7    Lesen, Schreiben, Ausfu:hren        rwx                       

   Sie ko:nnen -l auf der Kommandozeile von ls(1) angeben, um eine
   ausfu:hrliche Verzeichnisauflistung zu sehen, die in einer Spalte
   die Zugriffsrechte fu:r den Besitzer, die Gruppe und alle anderen
   entha:lt. Die Ausgabe von ls -l ko:nnte wie folgt aussehen:

 % ls -l
 total 530
 -rw-r--r--  1 root  wheel     512 Sep  5 12:31 myfile
 -rw-r--r--  1 root  wheel     512 Sep  5 12:31 otherfile
 -rw-r--r--  1 root  wheel    7680 Sep  5 12:31 email.txt
 ...

   Die erste Spalte der Ausgabe entha:lt die Zugriffsrechte:

 -rw-r--r--

   Das erste Zeichen von links ist ein Symbol, welches angibt, ob es
   sich um eine normale Datei, ein Verzeichnis, ein
   zeichenorientiertes Gera:t, ein Socket oder irgendeine andere
   Pseudo-Datei handelt. In diesem Beispiel zeigt - eine normale
   Datei an. Die na:chsten drei Zeichen, dargestellt als rw-, ergeben
   die Rechte fu:r den Datei-Besitzer. Die drei Zeichen danach r--
   die Rechte der Gruppe, zu der die Datei geho:rt. Die letzten drei
   Zeichen, r--, geben die Rechte fu:r den Rest der Welt an. Ein
   Minus bedeutet, dass das Recht nicht gegeben ist. In diesem Fall
   sind die Zugriffsrechte also: der Eigentu:mer kann die Datei lesen
   und schreiben, die Gruppe kann lesen und alle anderen ko:nnen auch
   nur lesen. Entsprechend obiger Tabelle wa:ren die Zugriffsrechte
   fu:r diese Datei 644, worin jede Ziffer die drei Teile der
   Zugriffsrechte dieser Datei verko:rpert.

   Das ist alles scho:n und gut, aber wie kontrolliert das System die
   Rechte von Hardware-Gera:ten? FreeBSD behandelt die meisten
   Hardware-Gera:te als Dateien, welche Programme o:ffnen, lesen und
   mit Daten beschreiben ko:nnen wie alle anderen Dateien auch. Diese
   Spezial-Dateien sind im Verzeichnis /dev gespeichert.

   Verzeichnisse werden ebenfalls wie Dateien behandelt. Sie haben
   Lese-, Schreib- und Ausfu:hr-Rechte. Das Ausfu:hrungs-Bit hat eine
   etwas andere Bedeutung fu:r ein Verzeichnis als fu:r eine Datei.
   Die Ausfu:hrbarkeit eines Verzeichnisses bedeutet, dass in das
   Verzeichnis zum Beispiel mit cd gewechselt werden kann. Das
   bedeutet auch, dass in dem Verzeichnis auf Dateien, deren Namen
   bekannt sind, zugegriffen werden kann, vorausgesetzt die
   Zugriffsrechte der Dateien lassen dies zu.

   Das Leserecht auf einem Verzeichnis erlaubt es, sich den Inhalt
   des Verzeichnisses anzeigen zu lassen. Um eine Datei mit bekanntem
   Namen in einem Verzeichnis zu lo:schen, mu:ssen auf dem
   Verzeichnis Schreib- und Ausfu:hr-Rechte gesetzt sein.

   Es gibt noch mehr Rechte, aber die werden vor allem in speziellen
   Umsta:nden benutzt, wie zum Beispiel bei SetUID-Binaries und
   Verzeichnissen mit gesetztem Sticky-Bit. Mehr u:ber Zugriffsrechte
   von Dateien und wie sie gesetzt werden, finden Sie in chmod(1).

     --------------------------------------------------------------

  3.3.1. Symbolische Zugriffsrechte

   Beigesteuert von Tom Rhodes.

   Die Zugriffsrechte lassen sich auch u:ber Symbole anstelle von
   oktalen Werten festlegen. Symbolische Zugriffsrechte werden in der
   Reihenfolge Wer, Aktion und Berechtigung angegeben. Die folgenden
   Symbole stehen zur Auswahl:

         Option         Symbol                 Bedeutung              
   Wer                u           Benutzer (user)                     
   Wer                g           Gruppe (group)                      
   Wer                o           Andere (other)                      
   Wer                a           Alle                                
   Aktion             +           Berechtigungen hinzufu:gen          
   Aktion             -           Berechtigungen entziehen            
   Aktion             =           Berechtigungen explizit setzen      
   Berechtigung       r           lesen (read)                        
   Berechtigung       w           schreiben (write)                   
   Berechtigung       x           ausfu:hren (execute)                
   Berechtigung       t           Sticky-Bit                          
   Berechtigung       s           Set-UID oder Set-GID                

   Symbolische Zugriffsrechte werden wie die numerischen mit dem
   Kommando chmod(1) vergeben. Wenn Sie beispielsweise allen anderen
   Benutzern den Zugriff auf die Datei FILE verbieten wollen,
   benutzen Sie den nachstehenden Befehl:

 % chmod go= FILE

   Wenn Sie mehr als eine A:nderung der Rechte einer Datei vornehmen
   wollen, ko:nnen Sie eine durch Kommata getrennte Liste der Rechte
   angeben. Das folgende Beispiel entzieht der Gruppe und der Welt
   (den anderen) die Schreibberechtigung auf die Datei FILE und fu:gt
   dann fu:r alle Ausfu:hrungsrechte hinzu:

 % chmod go-w,a+x FILE

     --------------------------------------------------------------

  3.3.2. FreeBSD Datei-Flags

   Beigetragen von Tom Rhodes.

   Zusa:tzlich zu den vorhin diskutierten Zugriffsrechten
   unterstu:tzt FreeBSD auch die sogenannten "Datei-Flags". Diese
   erho:hen die Sicherheit Ihres Systems, indem sie eine verbesserte
   Kontrolle von Dateien erlauben. Verzeichnisse werden allerdings
   nicht unterstu:tzt.

   Diese verbesserte Sicherheit fu:hrt dazu, dass manche Dateien
   nicht einmal von root gelo:scht oder bearbeitet werden ko:nnen.

   Datei-Flags ko:nnen u:ber chflags(1) gesetzt oder gelo:scht
   werden. Um beispielsweise die Datei file1 mit dem
   "unlo:schbar"-Flag zu sichern, geben Sie folgenden Befehl ein:

 # chflags sunlink file1

   Um dieses Flag wieder zu lo:schen, geben Sie den Befehl erneut
   ein. Allerdings setzen Sie ein "no" vor sunlink:

 # chflags nosunlink file1

   Um die Flags dieser Datei anzuzeigen, verwenden Sie ls(1) zusammen
   mit der Option -lo:

 # ls -lo file1

   Dadurch erhalten Sie eine Ausgabe a:hnlich der folgenden:

 -rw-r--r--  1 trhodes  trhodes  sunlnk 0 Mar  1 05:54 file1

   Viele Flags ko:nnen nur von root gesetzt oder gelo:scht werden.
   Andere wiederum ko:nnen auch vom Eigentu:mer der Datei gesetzt
   werden. Weitere Informationen zu Datei-Flags finden sich in den
   Manualpages chflags(1) und chflags(2).

     --------------------------------------------------------------

  3.3.3. Die Berechtigungen setuid, setgid, und sticky

   Beigetragen von Tom Rhodes.

   Anders als die Berechtigungen, die bereits angesprochen wurden,
   existieren drei weitere Einstellungen, u:ber die alle
   Administratoren Bescheid wissen sollten. Dies sind die
   Berechtigungen setuid, setgid und sticky.

   Diese Einstellungen sind wichtig fu:r manche UNIX-Operationen, da
   sie Funktionalita:ten zur Verfu:gung stellen, die normalerweise
   nicht an gewo:hnliche Anwender vergeben wird. Um diese zu
   verstehen, muss der Unterschied zwischen der realen und der
   effektiven Benutzer-ID erwa:hnt werden.

   Die reale Benutzer-ID ist die UID, welche den Prozess besitzt oder
   gestartet hat. Die effektive UID ist diejenige, als die der
   Prozess la:uft. Beispielsweise wird passwd(1) mit der realen ID
   des Benutzers ausgefu:hrt, der sein Passwort a:ndert. Um jedoch
   die Passwortdatenbank zu bearbeiten, wird es effektiv als
   root-Benutzer ausgefu:hrt. Das ermo:glicht es normalen Benutzern,
   ihr Passwort zu a:ndern, ohne einen "Permission Denied"-Fehler
   angezeigt zu bekommen.

     Anmerkung: Die nosuid mount(8)-Option wird dafu:r sorgen, dass
     diese Anwendungen stillschweigend scheitern. Genauer gesagt, sie
     werden nicht ausgefu:hrt und der Anwender wird daru:ber auch
     nicht informiert. Auf diese Option kann man sich nicht
     vollsta:ndig verlassen, da ein nosuid-Wrapper in der Lage wa:re,
     dies zu umgehen, wie in der mount(8) Manualpage zu lesen ist.

   Die setuid-Berechtigung kann durch das Voranstellen bei einer
   Berechtigungsgruppe mit der Nummer Vier (4) gesetzt werden, wie im
   folgenden Beispiel gezeigt wird:

 # chmod 4755 suidexample.sh

   Die Berechtigungen auf der suidexample.sh-Datei sollten jetzt wie
   folgt aussehen:

 -rwsr-xr-x   1 trhodes  trhodes    63 Aug 29 06:36 suidexample.sh

   In dem Beispiel sollte auffallen, dass ein s jetzt Teil der
   Berechtigungen des Dateibesitzers geworden ist, welches das
   Ausfu:hren-Bit ersetzt. Dies ermo:glicht es Werkzeugen mit
   erho:hten Berechtigungen zu laufen, wie z.B. passwd.

   Um dies in Echtzeit zu beobachten, o:ffnen Sie zwei Terminals.
   Starten Sie auf einem den passwd-Prozess als normaler Benutzer.
   Wa:hrend es auf die Passworteingabe wartet, u:berpru:fen Sie die
   Prozesstabelle und sehen Sie sich die Informationen des
   passwd-Kommandos an.

   Im Terminal A:

 Changing local password for trhodes
 Old Password:

   Im Terminal B:

 # ps aux | grep passwd

 trhodes  5232  0.0  0.2  3420  1608   0  R+    2:10AM   0:00.00 grep passwd
          root     5211  0.0  0.2  3620  1724   2  I+    2:09AM   0:00.01 passwd

   Wie oben erwa:hnt, wird passwd von einem normalen Benutzer
   ausgefu:hrt, benutzt aber die effektive UID von root.

   Die setgid-Berechtigung fu:hrt die gleiche Aktion wie die
   setuid-Berechtigung durch, allerdings vera:ndert sie die
   Gruppenberechtigungen. Wenn eine Anwendung oder ein Werkzeug mit
   dieser Berechtigung ausgefu:hrt wird, erha:lt es die
   Berechtigungen basierend auf der Gruppe, welche die Datei besitzt
   und nicht die des Benutzers, der den Prozess gestartet hat.

   Um die setgid-Berechtigung auf einer Datei zu setzen, geben Sie
   dem chmod-Befehl eine fu:hrende Zwei (2) mit, wie im folgenden
   gezeigt:

 # chmod 2755 sgidexample.sh

   Die neue Einstellung kann wie zuvor betrachtet werden. Beachten
   Sie, dass das s sich jetzt in dem Feld befindet, das fu:r die
   Berechtigungen der Gruppe bestimmt ist:

 -rwxr-sr-x   1 trhodes  trhodes    44 Aug 31 01:49 sgidexample.sh

     Anmerkung: Obwohl es sich bei dem in diesen Beispielen gezeigten
     Shellskript um eine ausfu:hrbare Datei handelt, wird es nicht
     mit einer anderen EUID oder effektiven Benutzer-ID ausgefu:hrt.
     Das ist so, weil Shellskripte keinen Zugriff auf
     setuid(2)-Systemaufrufe erhalten.

   Diese beiden ersten angesprochenen Spezialberechtigungen (die
   setuid und setgid Berechtigungs-Bits) ko:nnen die Systemsicherheit
   verringern, da sie erho:hte Rechte ermo:glichen. Es gibt noch ein
   drittes Berechtigungs-Bit, das die Sicherheit eines Systems
   erho:hen kann: das sticky bit.

   Das sticky bit erlaubt, wenn es auf ein Verzeichnis angewendet
   wird, nur dem Besitzer der Datei diese Dateien auch zu lo:schen.
   Dieses Recht ist nu:tzlich, um die Lo:schung von Dateien in
   o:ffentlichen Verzeichnissen durch Benutzer, denen diese Dateien
   nicht geho:ren, zu verhindern, wie z.B. in /tmp. Um diese
   Berechtigung anzuwenden, stellen Sie der Berechtigung eine Eins
   (1) voran, beispielsweise so:

 # chmod 1777 /tmp

   Den Effekt ko:nnen Sie sich ansehen, indem Sie das Kommando ls
   ausfu:hren:

 # ls -al / | grep tmp

 drwxrwxrwt  10 root  wheel         512 Aug 31 01:49 tmp

   Das sticky bit kann anhand des t ganz am Ende der Berechtigungen
   abgelesen werden.

     --------------------------------------------------------------

3.4. Verzeichnis-Strukturen

   Die FreeBSD-Verzeichnishierarchie ist die Grundlage, um ein
   umfassendes Versta:ndnis des Systems zu erlangen. Das wichtigste
   Konzept, das Sie verstehen sollten, ist das Root-Verzeichnis "/".
   Dieses Verzeichnis ist das erste, das wa:hrend des Bootens
   eingehangen wird. Es entha:lt das notwendige Basissystem, um das
   System in den Mehrbenutzerbetrieb zu bringen. Das Root-Verzeichnis
   entha:lt auch die Mountpunkte fu:r Dateisysteme, die beim Wechsel
   in den Multiuser-Modus eingeha:ngt werden.

   Ein Mountpunkt ist ein Verzeichnis, in das zusa:tzliche
   Dateisysteme (in der Regel unterhalb des Wurzelverzeichnisses)
   eingeha:ngt werden ko:nnen. Dieser Vorgang wird in Abschnitt 3.5
   ausfu:hrlich beschrieben. Standard-Mountpunkte sind /usr, /var,
   /tmp, /mnt sowie /cdrom. Auf diese Verzeichnisse verweisen
   u:blicherweise Eintra:ge in der Datei /etc/fstab. /etc/fstab ist
   eine Tabelle mit verschiedenen Dateisystemen und Mountpunkten als
   Referenz des Systems. Die meisten der Dateisysteme in /etc/fstab
   werden beim Booten automatisch durch das Skript rc(8) gemountet,
   wenn die zugeho:rigen Eintra:ge nicht mit der Option noauto
   versehen sind. Weitere Informationen zu diesem Thema finden Sie im
   Abschnitt 3.6.1.

   Eine vollsta:ndige Beschreibung der Dateisystem-Hierarchie finden
   Sie in hier(7). Als Beispiel sei eine kurze U:bersicht u:ber die
   am ha:ufigsten verwendeten Verzeichnisse gegeben:

     Verzeichnis                      Beschreibung                    
   /               Wurzelverzeichnis des Dateisystems.                
   /bin/           Grundlegende Werkzeuge fu:r den Single-User-Modus  
                   sowie den Mehrbenutzerbetrieb.                     
   /boot/          Programme und Konfigurationsdateien, die wa:hrend  
                   des Bootens benutzt werden.                        
   /boot/defaults/ Vorgaben fu:r die Boot-Konfiguration, siehe        
                   loader.conf(5).                                    
   /dev/           Gera:tedateien, siehe intro(4).                    
   /etc/           Konfigurationsdateien und Skripten des Systems.    
   /etc/defaults/  Vorgaben fu:r die System Konfigurationsdateien,    
                   siehe rc(8).                                       
   /etc/mail/      Konfigurationsdateien von MTAs wie sendmail(8).    
   /etc/namedb/    Konfigurationsdateien von named, siehe named(8).   
                   Ta:glich, wo:chentlich oder monatlich ablaufende   
   /etc/periodic/  Skripte, die von cron(8) gestartet werden. Siehe   
                   periodic(8).                                       
   /etc/ppp/       Konfigurationsdateien von ppp, siehe ppp(8).       
                   Ein leeres Verzeichnis, das von                    
   /mnt/           Systemadministratoren ha:ufig als tempora:rer      
                   Mountpunkt genutzt wird.                           
   /proc/          Prozess Dateisystem, siehe procfs(5) und           
                   mount_procfs(8).                                   
   /rescue/        Statisch gelinkte Programme zur Wiederherstellung  
                   des Systems, lesen Sie dazu auch rescue(8).        
   /root/          Home Verzeichnis von root.                         
                   Systemprogramme und administrative Werkzeuge, die  
   /sbin/          grundlegend fu:r den Single-User-Modus und den     
                   Mehrbenutzerbetrieb sind.                          
                   Tempora:re Dateien, die fu:r gewo:hnlich bei einem 
                   Neustart des Systems verloren gehen. Ha:ufig wird  
                   ein speicherbasiertes Dateisystem unter /tmp       
                   eingeha:ngt. Dieser Vorgang kann automatisiert     
   /tmp/           werden, wenn Sie die tmpmfs-bezogenen Variablen    
                   von rc.conf(5) verwenden. Alternativ ko:nnen Sie   
                   auch einen entsprechenden Eintrag in /etc/fstab    
                   aufnehmen. Weitere Informationen finden Sie in     
                   mdmfs(8).                                          
   /usr/           Der Grossteil der Benutzerprogramme und            
                   Anwendungen.                                       
   /usr/bin/       Gebra:uchliche Werkzeuge, Programmierhilfen und    
                   Anwendungen.                                       
   /usr/include/   Standard C include-Dateien.                        
   /usr/lib/       Bibliotheken.                                      
   /usr/libdata/   Daten verschiedener Werkzeuge.                     
   /usr/libexec/   System-Da:monen und System-Werkzeuge, die von      
                   anderen Programmen ausgefu:hrt werden.             
                   Lokale Programme, Bibliotheken usw. Die            
                   Ports-Sammlung benutzt dieses Verzeichnis als      
                   Zielverzeichnis fu:r zu installierende             
                   Anwendungen. Innerhalb von /usr/local sollte das   
   /usr/local/     von hier(7) beschriebene Layout fu:r /usr benutzt  
                   werden. Das man Verzeichnis wird direkt unter      
                   /usr/local anstelle unter /usr/local/share         
                   angelegt. Die Dokumentation der Ports findet sich  
                   in share/doc/port.                                 
   /usr/obj/       Von der Architektur abha:ngiger Verzeichnisbaum,   
                   der durch das Bauen von /usr/src entsteht.         
   /usr/ports/     Die FreeBSD-Ports-Sammlung (optional).             
   /usr/sbin/      System-Da:monen und System-Werkzeuge, die von      
                   Benutzern ausgefu:hrt werden.                      
   /usr/share/     Von der Architektur unabha:ngige Dateien.          
   /usr/src/       Quelldateien von BSD und/oder lokalen              
                   Erga:nzungen.                                      
   /usr/X11R6/     Optionale X11R6-Programme und Bibliotheken.        
                   Wird fu:r mehrere Zwecke genutzt und entha:lt      
                   Logdateien, tempora:re Daten und Spooldateien.     
                   Manchmal wird ein speicherbasiertes Dateisystem    
                   unter /var eingeha:ngt. Dieser Vorgang kann        
   /var/           automatisiert werden, wenn Sie die                 
                   varmfs-bezogenen Variablen von rc.conf(5)          
                   verwenden. Alternativ ko:nnen Sie auch einen       
                   entsprechenden Eintrag in /etc/fstab aufnehmen.    
                   Weitere Informationen finden Sie in mdmfs(8).      
   /var/log/       Verschiedene Logdateien des Systems.               
   /var/mail/      Postfa:cher der Benutzer.                          
   /var/spool/     Verschiedene Spool-Verzeichnisse der Drucker- und  
                   Mailsysteme.                                       
                   Tempora:re Dateien. Dateien in diesem Verzeichnis  
   /var/tmp/       bleiben in der Regel auch bei einem Neustart des   
                   Systems erhalten, es sei denn, bei /var handelt es 
                   sich um ein speicherbasiertes Dateisystem.         
   /var/yp/        NIS maps.                                          

     --------------------------------------------------------------

3.5. Festplatten, Slices und Partitionen

   FreeBSD identifiziert Dateien anhand eines Dateinamens. In
   Dateinamen wird zwischen Gross- und Kleinschreibung unterschieden:
   readme.txt und README.TXT bezeichnen daher zwei verschiedene
   Dateien. FreeBSD benutzt keine Dateiendungen wie .txt, um den Typ
   der Datei (ein Programm, ein Dokument oder andere Daten) zu
   bestimmen.

   Dateien werden in Verzeichnissen gespeichert. In einem Verzeichnis
   ko:nnen sich keine oder hunderte Dateien befinden. Ein Verzeichnis
   kann auch andere Verzeichnisse enthalten und so eine Hierarchie
   von Verzeichnissen aufbauen, die Ihnen die Ablage von Daten
   erleichtert.

   In Dateinamen werden Verzeichnisse durch einen Schra:gstrich (/,
   Slash) getrennt. Wenn das Verzeichnis foo ein Verzeichnis bar
   entha:lt, in dem sich die Datei readme.txt befindet, lautet der
   vollsta:ndige Name der Datei (oder der Pfad zur Datei)
   foo/bar/readme.txt.

   Verzeichnisse und Dateien werden in einem Dateisystem gespeichert.
   Jedes Dateisystem besitzt ein Wurzelverzeichnis (Root-Directory),
   das weitere Verzeichnisse enthalten kann.

   Dieses Konzept kennen Sie vielleicht von anderen Betriebssystemen,
   aber es gibt einige Unterschiede: In MS-DOS werden Datei- und
   Verzeichnisnamen mit dem Zeichen \ getrennt, Mac OS(R) benutzt
   dazu das Zeichen :.

   FreeBSD kennt keine Laufwerksbuchstaben und in Pfaden werden keine
   Bezeichnungen fu:r Laufwerke benutzt. Die Pfadangabe
   c:/foo/bar/readme.txt gibt es in FreeBSD nicht.

   Stattdessen wird ein Dateisystem als Wurzeldateisystem (root file
   system) ausgewa:hlt. Das Wurzelverzeichnis dieses Dateisystems
   wird / genannt. Jedes andere Dateisystem wird unter dem
   Wurzeldateisystem eingehangen (mount). Daher scheint jedes
   Verzeichnis, unabha:ngig von der Anzahl der Platten, auf derselben
   Platte zu liegen.

   Betrachten wir drei Dateisysteme A, B und C. Jedes Dateisystem
   besitzt ein eigenes Wurzelverzeichnis, das zwei andere
   Verzeichnisse entha:lt: A1, A2, B1, B2, C1 und C2.

   Das Wurzeldateisystem soll A sein. Das Kommando ls zeigt darin die
   beiden Verzeichnisse A1 und A2 an. Der Verzeichnisbaum sieht wie
   folgt aus:

  /
  |
  +--- A1
  |
  `--- A2

   Ein Dateisystem wird in einem Verzeichnis eines anderen
   Dateisystems eingehangen. Wir ha:ngen nun das Dateisystem B in das
   Verzeichnis A1 ein. Das Wurzelverzeichnis von B ersetzt nun das
   Verzeichnis A1 und die Verzeichnisse des Dateisystems B werden
   sichtbar:

  /
  |
  +--- A1
  |     |
  |     +--- B1
  |     |
  |     `--- B2
  |
  `--- A2

   Jede Datei in den Verzeichnissen B1 oder B2 kann u:ber den Pfad
   /A1/B1 oder /A1/B2 erreicht werden. Dateien aus dem Verzeichnis
   /A1 sind jetzt verborgen. Wenn das Dateisystem B wieder abgehangen
   wird (umount), erscheinen die verborgenen Dateien wieder.

   Wenn das Dateisystem B unter dem Verzeichnis A2 eingehangen
   wu:rde, sa:he der Verzeichnisbaum so aus:

  /
  |
  +--- A1
  |
  `--- A2
        |
        +--- B1
        |
        `--- B2

   Die Dateien des Dateisystems B wa:ren unter den Pfaden /A2/B1 und
   /A2/B2 erreichbar.

   Dateisysteme ko:nnen u:bereinander eingehangen werden. Der
   folgende Baum entsteht, wenn im letzten Beispiel das Dateisystem C
   in das Verzeichnis B1 des Dateisystems B eingehangen wird:

  /
  |
  +--- A1
  |
  `--- A2
        |
        +--- B1
        |     |
        |     +--- C1
        |     |
        |     `--- C2
        |
        `--- B2

   C ko:nnte auch im Verzeichnis A1 eingehangen werden:

  /
  |
  +--- A1
  |     |
  |     +--- C1
  |     |
  |     `--- C2
  |
  `--- A2
        |
        +--- B1
        |
        `--- B2

   Der MS-DOS-Befehl join kann A:hnliches bewirken.

   Normalerweise mu:ssen Sie sich nicht mit Dateisystemen
   bescha:ftigen. Wa:hrend der Installation werden die Dateisysteme
   und die Stellen, in der sie eingehangen werden, festgelegt.
   Dateisysteme mu:ssen Sie erst wieder anlegen, wenn Sie eine neue
   Platte hinzufu:gen.

   Sie ko:nnen sogar mit nur einem grossen Dateisystem auskommen.
   Dies hat mehrere Nachteile und einen Vorteil.

   Vorteile mehrerer Dateisysteme

     * Die Dateisysteme ko:nnen mit unterschiedlichen Optionen (mount
       options) eingehangen werden. Bei sorgfa:ltiger Planung ko:nnen
       Sie beispielsweise das Wurzeldateisystem nur lesbar
       einha:ngen. Damit schu:tzen Sie sich vor dem unabsichtlichen
       Lo:schen oder Editieren kritischer Dateien. Von Benutzern
       beschreibbare Dateisysteme wie /home ko:nnen Sie mit der
       Option nosuid einha:ngen, wenn sie von anderen Dateisystemen
       getrennt sind. Die SUID- und GUID-Bits verlieren auf solchen
       Dateisystemen ihre Wirkung und die Sicherheit des Systems kann
       dadurch erho:ht werden.

     * Die Lage von Dateien im Dateisystem wird, abha:ngig vom
       Gebrauch des Dateisystems, automatisch von FreeBSD optimiert.
       Ein Dateisystem mit vielen kleinen Dateien, die ha:ufig
       geschrieben werden, wird anders behandelt als ein Dateisystem
       mit wenigen grossen Dateien. Mit nur einem Dateisystem ist
       diese Optimierung unmo:glich.

     * In der Regel u:bersteht ein FreeBSD-Dateisystem auch einen
       Stromausfall. Allerdings kann ein Stromausfall zu einem
       kritischen Zeitpunkt das Dateisystem bescha:digen. Wenn die
       Daten u:ber mehrere Dateisysteme verteilt sind, la:sst sich
       das System mit hoher Wahrscheinlichkeit noch starten. Dies
       erleichtert das Zuru:ckspielen von Datensicherungen.

   Vorteil eines einzelnen Dateisystems

     * Die Gro:sse von Dateisystemen liegt fest. Es kann passieren,
       dass Sie eine Partition vergro:ssern mu:ssen. Dies ist nicht
       leicht: Sie mu:ssen die Daten sichern, das Dateisystem
       vergro:ssert anlegen und die gesicherten Daten zuru:ckspielen.

         Wichtig: FreeBSD kennt den Befehl growfs(8), mit dem man
         Dateisysteme im laufenden Betrieb vergro:ssern kann.

   Dateisysteme befinden sich in Partitionen (damit sind nicht die
   normalen MS-DOS-Partitionen gemeint). Jede Partition wird mit
   einem Buchstaben von a bis h bezeichnet und kann nur ein
   Dateisystem enthalten. Dateisysteme ko:nnen daher u:ber ihren
   Mount-Point, den Punkt an dem sie eingehangen sind, oder den
   Buchstaben der Partition, in der sie liegen, identifiziert werden.

   FreeBSD benutzt einen Teil der Platte fu:r den Swap-Bereich, der
   dem Rechner virtuellen Speicher zur Verfu:gung stellt. Dadurch
   kann der Rechner Anwendungen mehr Speicher zur Verfu:gung stellen
   als tatsa:chlich eingebaut ist. Wenn der Speicher knapp wird, kann
   FreeBSD nicht benutzte Daten in den Swap-Bereich auslagern. Die
   ausgelagerten Daten ko:nnen spa:ter wieder in den Speicher geholt
   werden (dafu:r werden dann andere Daten ausgelagert).

   Fu:r einige Partitionen gelten besondere Konventionen:

   Partition                        Konvention                        
   a         Entha:lt normalerweise das Wurzeldateisystem             
   b         Entha:lt normalerweise den Swap-Bereich                  
             Ist normalerweise genauso gross wie die Slice in der die 
             Partition liegt. Werkzeuge, die auf der kompletten Slice 
   c         arbeiten, wie ein Bad-Block-Scanner, ko:nnen so die      
             c-Partition benutzen. Fu:r gewo:hnlich legen Sie in      
             dieser Partition kein Dateisystem an.                    
             Fru:her hatte die d-Partition eine besondere Bedeutung.  
   d         Heute ist dies nicht mehr der Fall und die Partition d   
             kann wie jede andere Partition auch verwendet werden.    

   Jede Partition, die ein Dateisystem entha:lt, wird in einer Slice
   angelegt. Slice ist der Begriff, den FreeBSD fu:r
   MS-DOS-Partitionen verwendet. Slices werden von eins bis vier
   durchnummeriert.

   Die Slice-Nummern werden mit vorgestelltem s hinter den
   Gera:tenamen gestellt: "da0s1" ist die erste Slice auf dem ersten
   SCSI-Laufwerk. Auf einer Festplatte gibt es ho:chstens vier
   Slices. In einer Slice des passenden Typs kann es weitere logische
   Slices geben. Diese erweiterten Slices werden ab fu:nf
   durchnummeriert: "ad0s5" ist die erste erweiterte Slice auf einer
   IDE-Platte. Diese Gera:te werden von Dateisystemen benutzt, die
   sich in einer kompletten Slice befinden mu:ssen.

   Slices, "dangerously dedicated"-Festplatten und andere Platten
   enthalten Partitionen, die mit Buchstaben von a bis h bezeichnet
   werden. Der Buchstabe wird an den Gera:tenamen gehangen: "da0a"
   ist die a-Partition des ersten da-Laufwerks. Dieses Laufwerk ist
   "dangerously dedicated". "ad1s3e" ist die fu:nfte Partition in der
   dritten Slice der zweiten IDE-Platte.

   Schliesslich wird noch jede Festplatte des Systems eindeutig
   bezeichnet. Der Name einer Festplatte beginnt mit einem Code, der
   den Typ der Platte bezeichnet. Es folgt eine Nummer, die angibt,
   um welche Festplatte es sich handelt. Anders als bei Slices werden
   Festplatten von Null beginnend durchnummeriert. Ga:ngige
   Festplatten-Namen sind in Tabelle 3-1 zusammengestellt.

   Wenn Sie eine Partition angeben, erwartet FreeBSD, dass Sie auch
   die Slice und die Platte angeben, in denen sich die Partition
   befindet. Wenn Sie eine Slice angeben, mu:ssen Sie auch die Platte
   der Slice angeben. Setzen Sie den Namen aus dem Plattennamen
   gefolgt von einem s, der Slice-Nummer und dem Buchstaben der
   Partition zusammen. Einige Beispiele finden Sie in Beispiel 3-1.

   Der Aufbau einer Festplatte wird in Beispiel 3-2 dargestellt.

   Um FreeBSD zu installieren, mu:ssen Sie zuerst Slices auf den
   Festplatten anlegen. Innerhalb der Slices, die Sie fu:r FreeBSD
   verwenden wollen, mu:ssen Sie dann Partitionen anlegen. In den
   Partitionen wiederum werden die Dateisysteme (oder der
   Auslagerungsbereich) angelegt. Fu:r Dateisysteme mu:ssen Sie
   schliesslich noch festlegen, wo diese eingehangen werden
   (Mount-Point).

   Tabelle 3-1. Laufwerk-Codes

      Code                           Bedeutung                        
   ad          ATAPI (IDE) Festplatte                                 
   da          SCSI-Festplatte                                        
   acd         ATAPI (IDE) CD-ROM                                     
   cd          SCSI-CD-ROM                                            
   fd          Disketten-Laufwerk                                     

   Beispiel 3-1. Namen von Platten, Slices und Partitionen

    Name                           Bedeutung                          
   ad0s1a Die erste Partition (a) in der ersten Slice (s1) der ersten 
          IDE-Festplatte (ad0).                                       
   da1s2e Die fu:nfte Partition (e) der zweiten Slice (s2) auf der    
          zweiten SCSI-Festplatte (da1).                              

   Beispiel 3-2. Aufteilung einer Festplatte

   Das folgende Diagramm zeigt die Sicht von FreeBSD auf die erste
   IDE-Festplatte eines Rechners. Die Platte soll 4 GB gross sein und
   zwei Slices (MS-DOS-Partitionen) mit je 2 GB besitzen. Die erste
   Slice entha:lt ein MS-DOS-Laufwerk (C:), die zweite Slice wird von
   FreeBSD benutzt. Im Beispiel verwendet die FreeBSD-Installationen
   drei Datenpartitionen und einen Auslagerungsbereich.

   Jede der drei Partitionen entha:lt ein Dateisystem. Das
   Wurzeldateisystem ist die a-Partition. In der e-Partition befindet
   sich der /var-Verzeichnisbaum und in der f-Partition befindet sich
   der Verzeichnisbaum unterhalb von /usr.

 .-----------------.  --.
 |                 |    |
 |  DOS / Windows  |    |
 :                 :     >  First slice, ad0s1
 :                 :    |
 |                 |    |
 :=================:  ==:                               --.
 |                 |    |  Partition a, mounted as /      |
 |                 |     > referred to as ad0s2a          |
 |                 |    |                                 |
 :-----------------:  ==:                                 |
 |                 |    |  Partition b, used as swap      |
 |                 |     > referred to as ad0s2b          |
 |                 |    |                                 |
 :-----------------:  ==:                                 |  Partition c, no
 |                 |    |  Partition e, used as /var       > file system, all
 |                 |     > referred to as ad0s2e          |  of FreeBSD slice,
 |                 |    |                                 |  ad0s2c
 :-----------------:  ==:                                 |
 |                 |    |                                 |
 :                 :    |  Partition f, used as /usr      |
 :                 :     > referred to as ad0s2f          |
 :                 :    |                                 |
 |                 |    |                                 |
 |                 |  --'                                 |
 `-----------------'                                    --'

     --------------------------------------------------------------

3.6. Anha:ngen und Abha:ngen von Dateisystemen

   Ein Dateisystem wird am besten als ein Baum mit der Wurzel /
   veranschaulicht. /dev, /usr, und die anderen Verzeichnisse im
   Rootverzeichnis sind Zweige, die wiederum eigene Zweige wie
   /usr/local haben ko:nnen.

   Es gibt verschiedene Gru:nde, bestimmte dieser Verzeichnisse auf
   eigenen Dateisystemen anzulegen. /var entha:lt log/, spool/ sowie
   verschiedene andere tempora:re Dateien und kann sich daher schnell
   fu:llen. Es empfiehlt sich, /var von / zu trennen, da es schlecht
   ist, wenn das Root-Dateisystem voll la:uft.

   Ein weiterer Grund bestimmte Verzeichnisba:ume auf andere
   Dateisysteme zu legen, ist gegeben, wenn sich die
   Verzeichnisba:ume auf gesonderten physikalischen oder virtuellen
   Platten, wie Network File System oder CD-ROM-Laufwerken, befinden.

     --------------------------------------------------------------

  3.6.1. Die fstab Datei

   Wa:hrend des Boot-Prozesses werden in /etc/fstab aufgefu:hrte
   Verzeichnisse, sofern sie nicht mit der Option noauto versehen
   sind, automatisch angehangen.

   Die Zeilen in /etc/fstab haben das folgende Format:

 device  /mount-point    fstype  options dumpfreq        passno

   device

           Ein existierender Gera:tename wie in Abschnitt 18.2
           beschrieben.

   mount-point

           Ein existierendes Verzeichnis, an das das Dateisystem
           angehangen wird.

   fstype

           Der Typ des Dateisystems, der an mount(8) weitergegeben
           wird. FreeBSDs Standarddateisystem ist ufs.

   options

           Entweder rw fu:r beschreibbare Dateisysteme oder ro fu:r
           schreibgeschu:tzte Dateisysteme, gefolgt von weiteren
           beno:tigten Optionen. Eine ha:ufig verwendete Option ist
           noauto fu:r Dateisysteme, die wa:hrend der normalen
           Bootsequenz nicht angehangen werden sollen. Weitere
           Optionen finden sich in mount(8).

   dumpfreq

           Gibt die Anzahl der Tage an, nachdem das Dateisystem
           gesichert werden soll. Fehlt der Wert, wird 0 angenommen.

   passno

           Bestimmt die Reihenfolge, in der die Dateisysteme
           u:berpru:ft werden sollen. Fu:r Dateisysteme, die
           u:bersprungen werden sollen, ist passno auf null zu
           setzen. Fu:r das Root-Dateisystem, das vor allen anderen
           u:berpru:ft werden muss, sollte der Wert von passno eins
           betragen. Allen anderen Dateisystemen sollten Werte
           gro:sser eins zugewiesen werden. Wenn mehrere Dateisysteme
           den gleichen Wert besitzen, wird fsck(8) versuchen, diese
           parallel zu u:berpru:fen.

     --------------------------------------------------------------

  3.6.2. Das mount Kommando

   mount(8) ha:ngt schliesslich Dateisysteme an.

   In der grundlegenden Form wird es wie folgt benutzt:

 # mount device mountpoint

   Viele Optionen werden in mount(8) beschrieben, die am ha:ufigsten
   verwendeten sind:

   Optionen von mount

   -a

           Ha:ngt alle Dateisysteme aus /etc/fstab an. Davon
           ausgenommen sind Dateisysteme, die mit "noauto" markiert
           sind, die mit der Option -t ausgeschlossen wurden und
           Dateisysteme, die schon angehangen sind.

   -d

           Fu:hrt alles bis auf den mount-Systemaufruf aus. Nu:tzlich
           ist diese Option in Verbindung mit -v. Damit wird
           angezeigt, was mount(8) tatsa:chlich versuchen wu:rde, um
           das Dateisystem anzuha:ngen.

   -f

           Erzwingt das Anha:ngen eines unsauberen Dateisystems oder
           erzwingt die Ru:cknahme des Schreibzugriffs, wenn der
           Status des Dateisystems von beschreibbar auf
           schreibgeschu:tzt gea:ndert wird.

   -r

           Ha:ngt das Dateisystem schreibgeschu:tzt ein. Das kann
           auch durch Angabe von ro als Argument (rdonly vor FreeBSD
           5.2) der Option -o erreicht werden.

   -t fstype

           Ha:ngt das Dateisystem mit dem angegebenen Typ an, oder
           ha:ngt nur Dateisysteme mit dem angegebenen Typ an, wenn
           auch -a angegeben wurde.

           Die Voreinstellung fu:r den Typ des Dateisystems ist
           "ufs".

   -u

           Aktualisiert die Mountoptionen des Dateisystems.

   -v

           Geschwa:tzig sein.

   -w

           Ha:ngt das Dateisystem beschreibbar an.

   -o erwartet eine durch Kommata separierte Liste von Optionen,
   unter anderem die folgenden:

   noexec

           Verbietet das Ausfu:hren von bina:ren Dateien auf dem
           Dateisystem. Dies ist eine nu:tzliche Sicherheitsfunktion.

   nosuid

           SetUID und SetGID Bits werden auf dem Dateisystem nicht
           beachtet. Dies ist eine nu:tzliche Sicherheitsfunktion.

     --------------------------------------------------------------

  3.6.3. Das umount Kommando

   umount(8) akzeptiert als Parameter entweder einen Mountpoint,
   einen Gera:tenamen, oder die Optionen -a oder -A.

   Jede Form akzeptiert -f, um das Abha:ngen zu erzwingen, und -v, um
   etwas geschwa:tziger zu sein. Seien Sie bitte vorsichtig mit -f:
   Ihr Computer kann abstu:rzen oder es ko:nnen Daten auf dem
   Dateisystem bescha:digt werden, wenn Sie das Abha:ngen erzwingen.

   -a und -A werden benutzt um alle Dateisysteme, deren Typ durch -t
   modifiziert werden kann, abzuha:ngen. -A ha:ngt das
   Rootdateisystem nicht ab.

     --------------------------------------------------------------

3.7. Prozesse

   Da FreeBSD ein Multitasking-Betriebssystem ist, sieht es so aus,
   als ob mehrere Prozesse zur gleichen Zeit laufen. Jedes Programm,
   das zu irgendeiner Zeit la:uft, wird Prozess genannt. Jedes
   Kommando startet mindestens einen Prozess. Einige Systemprozesse
   laufen sta:ndig und stellen die Funktion des Systems sicher.

   Jeder Prozess wird durch eine eindeutige Nummer identifiziert, die
   Prozess-ID oder PID genannt wird. Prozesse haben ebenso wie
   Dateien einen Besitzer und eine Gruppe, die festlegen, welche
   Dateien und Gera:te der Prozess benutzen kann. Dabei finden die
   vorher beschriebenen Zugriffsrechte Anwendung. Die meisten
   Prozesse haben auch einen Elternprozess, der sie gestartet hat.
   Wenn Sie in der Shell Kommandos eingeben, dann ist die Shell ein
   Prozess und jedes Kommando, das Sie starten, ist auch ein Prozess.
   Jeder Prozess, den Sie auf diese Weise starten, besitzt den
   Shell-Prozess als Elternprozess. Die Ausnahme hiervon ist ein
   spezieller Prozess, der init(8) heisst. init ist immer der erste
   Prozess und hat somit die PID 1. init wird vom Kernel beim Booten
   von FreeBSD gestartet.

   Die Kommandos ps(1) und top(1) sind besonders nu:tzlich, um sich
   die Prozesse auf einem System anzusehen. ps zeigt eine statische
   Liste der laufenden Prozesse und kann deren PID, Speicherverbrauch
   und die Kommandozeile, mit der sie gestartet wurden und vieles
   mehr anzeigen. top zeigt alle laufenden Prozesse an und
   aktualisiert die Anzeige, so dass Sie Ihrem Computer bei der
   Arbeit zuschauen ko:nnen.

   Normal zeigt Ihnen ps nur die laufenden Prozesse, die Ihnen
   geho:ren. Zum Beispiel:

 % ps
   PID  TT  STAT      TIME COMMAND
   298  p0  Ss     0:01.10 tcsh
  7078  p0  S      2:40.88 xemacs mdoc.xsl (xemacs-21.1.14)
 37393  p0  I      0:03.11 xemacs freebsd.dsl (xemacs-21.1.14)
 48630  p0  S      2:50.89 /usr/local/lib/netscape-linux/navigator-linux-4.77.bi
 48730  p0  IW     0:00.00 (dns helper) (navigator-linux-)
 72210  p0  R+     0:00.00 ps
   390  p1  Is     0:01.14 tcsh
  7059  p2  Is+    1:36.18 /usr/local/bin/mutt -y
  6688  p3  IWs    0:00.00 tcsh
 10735  p4  IWs    0:00.00 tcsh
 20256  p5  IWs    0:00.00 tcsh
   262  v0  IWs    0:00.00 -tcsh (tcsh)
   270  v0  IW+    0:00.00 /bin/sh /usr/X11R6/bin/startx -- -bpp 16
   280  v0  IW+    0:00.00 xinit /home/nik/.xinitrc -- -bpp 16
   284  v0  IW     0:00.00 /bin/sh /home/nik/.xinitrc
   285  v0  S      0:38.45 /usr/X11R6/bin/sawfish

   Wie Sie sehen, gibt ps(1) mehrere Spalten aus. In der PID Spalte
   findet sich die vorher besprochene Prozess-ID. PIDs werden von 1
   beginnend bis 99999 zugewiesen und fangen wieder von vorne an,
   wenn die Grenze u:berschritten wird. Ist eine PID bereits
   vergeben, wird diese allerdings nicht erneut vergeben. Die Spalte
   TT zeigt den Terminal, auf dem das Programm la:uft. STAT zeigt den
   Status des Programms an und kann fu:r die Zwecke dieser Diskussion
   ebenso wie TT ignoriert werden. TIME gibt die Zeit an, die das
   Programm auf der CPU gelaufen ist - dies ist nicht unbedingt die
   Zeit, die seit dem Start des Programms vergangen ist, da die
   meisten Programme hauptsa:chlich auf bestimmte Dinge warten, bevor
   sie wirklich CPU-Zeit verbrauchen. Unter der Spalte COMMAND finden
   Sie schliesslich die Kommandozeile, mit der das Programm gestartet
   wurde.

   ps(1) besitzt viele Optionen, um die angezeigten Informationen zu
   beeinflussen. Eine nu:tzliche Kombination ist auxww. Mit a werden
   Information u:ber alle laufenden Prozesse und nicht nur Ihrer
   eigenen angezeigt. Der Name des Besitzers des Prozesses, sowie
   Informationen u:ber den Speicherverbrauch werden mit u angezeigt.
   x zeigt auch Da:monen-Prozesse an, und ww veranlasst ps(1) die
   komplette Kommandozeile fu:r jeden Befehl anzuzeigen, anstatt sie
   abzuschneiden, wenn sie zu lang fu:r die Bildschirmausgabe wird.

   Die Ausgabe von top(1) sieht a:hnlich aus:

 % top
 last pid: 72257;  load averages:  0.13,  0.09,  0.03    up 0+13:38:33  22:39:10
 47 processes:  1 running, 46 sleeping
 CPU states: 12.6% user,  0.0% nice,  7.8% system,  0.0% interrupt, 79.7% idle
 Mem: 36M Active, 5256K Inact, 13M Wired, 6312K Cache, 15M Buf, 408K Free
 Swap: 256M Total, 38M Used, 217M Free, 15% Inuse

   PID USERNAME PRI NICE  SIZE    RES STATE    TIME   WCPU    CPU COMMAND
 72257 nik       28   0  1960K  1044K RUN      0:00 14.86%  1.42% top
  7078 nik        2   0 15280K 10960K select   2:54  0.88%  0.88% xemacs-21.1.14
   281 nik        2   0 18636K  7112K select   5:36  0.73%  0.73% XF86_SVGA
   296 nik        2   0  3240K  1644K select   0:12  0.05%  0.05% xterm
 48630 nik        2   0 29816K  9148K select   3:18  0.00%  0.00% navigator-linu
   175 root       2   0   924K   252K select   1:41  0.00%  0.00% syslogd
  7059 nik        2   0  7260K  4644K poll     1:38  0.00%  0.00% mutt
 ...

   Die Ausgabe ist in zwei Abschnitte geteilt. In den ersten fu:nf
   Kopfzeilen finden sich die zuletzt zugeteilte PID, die
   Systemauslastung (engl. load average), die Systemlaufzeit (die
   Zeit seit dem letzten Reboot) und die momentane Zeit. Die weiteren
   Zahlen im Kopf beschreiben wie viele Prozesse momentan laufen (im
   Beispiel 47), wie viel Speicher und Swap verbraucht wurde und wie
   viel Zeit das System in den verschiedenen CPU-Modi verbringt.

   Darunter befinden sich einige Spalten mit a:hnlichen Informationen
   wie in der Ausgabe von ps(1). Wie im vorigen Beispiel ko:nnen Sie
   die PID, den Besitzer, die verbrauchte CPU-Zeit und das Kommando
   erkennen. top(1) zeigt auch den Speicherverbrauch des Prozesses
   an, der in zwei Spalten aufgeteilt ist. Die erste Spalte gibt den
   gesamten Speicherverbrauch des Prozesses an, in der zweiten Spalte
   wird der aktuelle Verbrauch angegeben. Netscape(R) hat im
   gezeigten Beispiel insgesamt 30 MB Speicher verbraucht. Momentan
   benutzt es allerdings nur 9 MB.

   Die Anzeige wird von top(1) automatisch alle zwei Sekunden
   aktualisiert. Der Zeitraum kann mit -s eingestellt werden.

     --------------------------------------------------------------

3.8. Da:monen, Signale und Stoppen von Prozessen

   Wenn Sie einen Editor starten, ko:nnen Sie ihn leicht bedienen und
   Dateien laden. Sie ko:nnen das, weil der Editor dafu:r Vorsorge
   getroffen hat und auf einem Terminal la:uft. Manche Programme
   erwarten keine Eingaben von einem Benutzer und lo:sen sich bei
   erster Gelegenheit von ihrem Terminal. Ein Web-Server zum Beispiel
   verbringt den ganzen Tag damit, auf Anfragen zu antworten und
   erwartet keine Eingaben von Ihnen. Programme, die E-Mail von einem
   Ort zu einem anderen Ort transportieren sind ein weiteres Beispiel
   fu:r diesen Typ von Anwendungen.

   Wir nennen diese Programme Da:monen. Da:monen stammen aus der
   griechischen Mythologie und waren weder gut noch bo:se. Sie waren
   kleine dienstbare Geister, die meistens nu:tzliche Sachen fu:r die
   Menschheit vollbrachten. A:hnlich wie heutzutage Web-Server und
   Mail-Server nu:tzliche Dienste verrichten. Seit langer Zeit ist
   daher das BSD Maskottchen dieser fro:hlich aussehende Da:mon mit
   Turnschuhen und Dreizack.

   Programme, die als Da:mon laufen, werden entsprechend einer
   Konvention mit einem "d" am Ende benannt. BIND steht
   beispielsweise fu:r Berkeley Internet Name Domain, das
   tatsa:chlich laufende Programm heisst aber named. Der Apache
   Webserver wird httpd genannt, der Druckerspool-Da:mon heisst lpd
   usw. Dies ist allerdings eine Konvention und keine unumsto:ssliche
   Regel: Der Da:mon der Anwendung sendmail heisst sendmail und nicht
   maild, wie Sie vielleicht gedacht hatten.

   Manchmal mu:ssen Sie mit einem Da:mon kommunizieren. Dazu
   verwenden Sie Signale. Sie ko:nnen mit einem Da:monen oder jedem
   anderen laufenden Prozess kommunizieren, indem Sie diesem ein
   Signal schicken. Sie ko:nnen verschiedene Signale verschicken -
   manche haben eine festgelegte Bedeutung, andere werden von der
   Anwendung interpretiert. Die Dokumentation zur fraglichen
   Anwendung wird erkla:ren, wie die Anwendung Signale interpretiert.
   Sie ko:nnen nur Signale zu Prozessen senden, die Ihnen geho:ren.
   Normale Benutzer haben nicht die Berechtigung, Prozessen anderer
   Benutzer mit kill(1) oder kill(2) Signale zu schicken. Der
   Benutzer root darf jedem Prozess Signale schicken.

   In manchen Fa:llen wird FreeBSD Signale senden. Wenn eine
   Anwendung schlecht geschrieben ist und auf Speicher zugreift, auf
   den sie nicht zugreifen soll, so sendet FreeBSD dem Prozess das
   Segmentation Violation Signal (SIGSEGV). Wenn eine Anwendung den
   alarm(3) Systemaufruf benutzt hat, um nach einiger Zeit
   benachrichtigt zu werden, bekommt sie das Alarm Signal (SIGALRM)
   gesendet.

   Zwei Signale ko:nnen benutzt werden, um Prozesse zu stoppen:
   SIGTERM und SIGKILL. Mit SIGTERM fordern Sie den Prozess ho:flich
   zum Beenden auf. Der Prozess kann das Signal abfangen und merken,
   dass er sich beenden soll. Er hat dann Gelegenheit Logdateien zu
   schliessen und die Aktion, die er vor der Aufforderung sich zu
   beenden durchfu:hrte, abzuschliessen. Er kann sogar SIGTERM
   ignorieren, wenn er eine Aktion durchfu:hrt, die nicht
   unterbrochen werden darf.

   SIGKILL kann von keinem Prozess ignoriert werden. Das Signal
   la:sst sich mit "Mich interessiert nicht, was du gerade machst,
   ho:r sofort auf damit!" umschreiben. Wenn Sie einem Prozess
   SIGKILL schicken, dann wird FreeBSD diesen sofort beenden[4].

   Andere Signale, die Sie vielleicht verschicken wollen, sind
   SIGHUP, SIGUSR1 und SIGUSR2. Diese Signale sind fu:r allgemeine
   Zwecke vorgesehen und verschiedene Anwendungen werden
   unterschiedlich auf diese Signale reagieren.

   Nehmen wir an, Sie haben die Konfiguration Ihres Webservers
   vera:ndert und mo:chten dies dem Server mitteilen. Sie ko:nnten
   den Server natu:rlich stoppen und httpd wieder starten. Die Folge
   wa:re eine kurze Zeit, in der der Server nicht erreichbar ist. Die
   meisten Da:monen lesen Ihre Konfigurationsdatei beim Empfang eines
   SIGHUP neu ein. Da es keinen Standard gibt, der vorschreibt, wie
   auf diese Signale zu reagieren ist, lesen Sie bitte die
   Dokumentation zu dem in Frage kommenden Da:mon.

   Mit kill(1) ko:nnen Sie, wie unten gezeigt, Signale verschicken.

   Verschicken von Signalen

   Das folgende Beispiel zeigt, wie Sie inetd(8) ein Signal schicken.
   Die Konfigurationsdatei von inetd ist /etc/inetd.conf. Diese
   Konfigurationsdatei liest inetd ein, wenn er ein SIGHUP empfa:ngt.

    1. Suchen Sie die Prozess-ID des Prozesses, dem Sie ein Signal
       schicken wollen. Benutzen Sie dazu ps(1) und grep(1). Mit
       grep(1) ko:nnen Sie in einer Ausgabe nach einem String suchen.
       Da inetd(8) unter dem Benutzer root la:uft und Sie das
       Kommando als normaler Benutzer absetzen, mu:ssen Sie ps(1) mit
       ax aufrufen:

 % ps -ax | grep inetd
   198  ??  IWs    0:00.00 inetd -wW

       Die Prozess-ID von inetd(8) ist 198. In einigen Fa:llen werden
       Sie auch das grep inetd Kommando in der Ausgabe sehen. Dies
       hat damit zu tun, wie ps(1) die Liste der laufenden Prozesse
       untersucht.

    2. Senden Sie das Signal mit kill(1). Da inetd(8) unter dem
       Benutzer root la:uft, mu:ssen Sie zuerst mit su(1) root
       werden:

 % su
 Password:
 # /bin/kill -s HUP 198

       kill(1) wird, wie andere Kommandos von UNIX Systemen auch,
       keine Ausgabe erzeugen, wenn das Kommando erfolgreich war.
       Wenn Sie versuchen, einem Prozess, der nicht Ihnen geho:rt,
       ein Signal zu senden, dann werden Sie die Meldung "kill: PID:
       Operation not permitted" sehen. Wenn Sie sich bei der Eingabe
       der PID vertippen, werden Sie das Signal dem falschen Prozess
       schicken, was schlecht sein kann. Wenn Sie Glu:ck haben,
       existiert der Prozess nicht und Sie werden mit der Ausgabe
       "kill: PID: No such process" belohnt.

         Warum soll ich /bin/kill benutzen?: Viele Shells stellen
         kill als internes Kommando zur Verfu:gung, das heisst die
         Shell sendet das Signal direkt, anstatt /bin/kill zu
         starten. Das kann nu:tzlich sein, aber die unterschiedlichen
         Shells benutzen eine verschiedene Syntax, um die Namen der
         Signale anzugeben. Anstatt jede Syntax zu lernen, kann es
         einfacher sein, /bin/kill ... direkt aufzurufen.

   Andere Signale senden Sie auf die gleiche Weise, ersetzen Sie nur
   TERM oder KILL entsprechend.

     Wichtig: Es kann gravierende Auswirkungen haben, wenn Sie
     zufa:llig Prozesse beenden. Insbesondere init(8) mit der
     Prozess-ID ist ein Spezialfall. Mit /bin/kill -s KILL 1 ko:nnen
     Sie Ihr System schnell herunterfahren. U:berpru:fen Sie die
     Argumente von kill(1) immer zweimal bevor Sie Return dru:cken.

     --------------------------------------------------------------

3.9. Shells

   Von der tagta:glichen Arbeit mit FreeBSD wird eine Menge mit der
   Kommandozeilen Schnittstelle der Shell erledigt. Die Hauptaufgabe
   einer Shell besteht darin, Kommandos der Eingabe anzunehmen und
   diese auszufu:hren. Viele Shells haben ausserdem eingebaute
   Funktionen, die die ta:gliche Arbeit erleichtern, beispielsweise
   eine Dateiverwaltung, die Vervollsta:ndigung von Dateinamen
   (Globbing), einen Kommandozeileneditor, sowie Makros und
   Umgebungsvariablen. FreeBSD entha:lt die Shells sh (die Bourne
   Shell) und tcsh (die verbesserte C-Shell) im Basissystem. Viele
   andere Shells, wie zsh oder bash, befinden sich in der
   Ports-Sammlung.

   Welche Shell soll ich benutzen? Das ist wirklich eine
   Geschmacksfrage. Sind Sie ein C-Programmierer, finden Sie
   vielleicht eine C-artige Shell wie die tcsh angenehmer. Kommen Sie
   von Linux oder ist Ihnen der Umgang mit UNIX Systemen neu, so
   ko:nnten Sie die bash probieren. Der Punkt ist, dass jede Shell
   ihre speziellen Eigenschaften hat, die mit Ihrer bevorzugten
   Arbeitsumgebung harmonieren ko:nnen oder nicht. Sie mu:ssen sich
   eine Shell aussuchen.

   Ein verbreitetes Merkmal in Shells ist die
   Dateinamen-Vervollsta:ndigung. Sie mu:ssen nur einige Buchstaben
   eines Kommandos oder eines Dateinamen eingeben und die Shell
   vervollsta:ndigt den Rest automatisch durch dru:cken der
   Tab-Taste. Hier ist ein Beispiel. Angenommen, Sie haben zwei
   Dateien foobar und foo.bar. Die Datei foo.bar mo:chten Sie
   lo:schen. Nun wu:rden Sie an der Tastatur eingeben: rm fo[Tab].
   [Tab].

   Die Shell wu:rde dann rm foo[BEEP].bar ausgeben.

   [BEEP] meint den Rechner-Piepser. Diesen gibt die Shell aus, um
   anzuzeigen, dass es den Dateinamen nicht vervollsta:ndigen konnte,
   da es mehrere Mo:glichkeiten gibt. Beide Dateien foobar und
   foo.bar beginnen mit fo, so konnte nur bis foo erga:nzt werden.
   Nachdem Sie . eingaben und dann die Tab-Taste dru:ckten, konnte
   die Shell den Rest fu:r Sie ausfu:llen.

   Ein weiteres Merkmal der Shell ist der Gebrauch von
   Umgebungsvariablen. Dies sind vera:nderbare Schlu:sselpaare im
   Umgebungsraum der Shell, die jedes von der Shell aufgerufene
   Programm lesen kann. Daher entha:lt der Umgebungsraum viele
   Konfigurationsdaten fu:r Programme. Die folgende Liste zeigt
   verbreitete Umgebungsvariablen und was sie bedeuten:

   Variable                       Beschreibung                        
   USER     Name des angemeldeten Benutzers.                          
   PATH     Liste mit Verzeichnissen (getrennt durch Doppelpunkt) zum 
            Suchen nach Programmen.                                   
   DISPLAY  Der Name des X11-Bildschirms, auf dem Ausgaben erfolgen   
            sollen.                                                   
   SHELL    Die aktuelle Shell.                                       
   TERM     Name des Terminaltyps des Benutzers. Benutzt, um die      
            Fa:higkeiten des Terminals zu bestimmen.                  
   TERMCAP  Datenbankeintrag der Terminal Escape Codes, beno:tigt um  
            verschieden Terminalfunktionen auszufu:hren.              
   OSTYPE   Typ des Betriebsystems, beispielsweise FreeBSD.           
   MACHTYPE Die CPU Architektur auf dem das System la:uft.            
   EDITOR   Vom Benutzer bevorzugter Text-Editor.                     
   PAGER    Vom Benutzer bevorzugter Text-Betrachter.                 
   MANPATH  Liste mit Verzeichnissen (getrennt durch Doppelpunkt) zum 
            Suchen nach Manualpages.                                  

   Das Setzen von Umgebungsvariablen funktioniert von Shell zu Shell
   unterschiedlich. Zum Beispiel benutzt man in C-artigen Shells wie
   der tcsh dazu setenv. Unter Bourne-Shells wie sh oder bash
   benutzen Sie zum Setzen von Umgebungsvariablen export. Um
   beispielsweise die Variable EDITOR mit csh oder tcsh auf
   /usr/local/bin/emacs zu setzen, setzen Sie das folgende Kommando
   ab:

 % setenv EDITOR /usr/local/bin/emacs

   Unter Bourne-Shells:

 % export EDITOR="/usr/local/bin/emacs"

   Sie ko:nnen die meisten Shells Umgebungsvariablen expandieren
   lassen, in dem Sie in der Kommandozeile ein $ davor eingeben. Zum
   Beispiel gibt echo $TERM aus, worauf $TERM gesetzt ist, weil die
   Shell $TERM expandiert und das Ergebnis an echo gibt.

   Shells behandeln viele Spezialzeichen, so genannte Metazeichen,
   als besondere Darstellungen fu:r Daten. Das allgemeinste ist das
   Zeichen *, das eine beliebige Anzahl Zeichen in einem Dateinamen
   repra:sentiert. Diese Metazeichen ko:nnen zum Vervollsta:ndigen
   von Dateinamen (Globbing) benutzt werden. Beispielsweise liefert
   das Kommando echo * nahezu das gleiche wie die Eingabe von ls, da
   die Shell alle Dateinamen die mit * u:bereinstimmen, an echo
   weitergibt.

   Um zu verhindern, dass die Shell diese Sonderzeichen
   interpretiert, kann man sie schu:tzen, indem man ihnen einen
   Backslash (\) voranstellt. echo $TERM gibt aus, auf was auch immer
   Ihr Terminal gesetzt ist. echo \$TERM gibt $TERM genauso aus, wie
   es hier steht.

     --------------------------------------------------------------

  3.9.1. A:ndern der Shell

   Der einfachste Weg Ihre Shell zu a:ndern, ist das Kommando chsh zu
   benutzen. chsh platziert Sie im Editor, welcher durch Ihre
   Umgebungsvariable EDITOR gesetzt ist, im vi wenn die Variable
   nicht gesetzt ist. A:ndern Sie die Zeile mit "Shell:" entsprechend
   Ihren Wu:nschen.

   Sie ko:nnen auch chsh mit der Option -s aufrufen, dann wird Ihre
   Shell gesetzt, ohne dass Sie in einen Editor gelangen. Um Ihre
   Shell zum Beispiel auf die bash zu a:ndern, geben Sie das folgende
   Kommando ein:

 % chsh -s /usr/local/bin/bash

     Anmerkung: Die von Ihnen gewu:nschte Shell muss in /etc/shells
     aufgefu:hrt sein. Haben Sie eine Shell aus der Ports-Sammlung
     installiert, sollte das schon automatisch erledigt werden.
     Installierten Sie die Shell von Hand, so mu:ssen Sie sie dort
     eintragen.

     Haben Sie beispielsweise die bash nach /usr/local/bin
     installiert, geben Sie Folgendes ein:

 # echo "/usr/local/bin/bash" >> /etc/shells

     Danach ko:nnen Sie chsh aufrufen.

     --------------------------------------------------------------

3.10. Text-Editoren

   Eine grosser Teil der Konfiguration wird bei FreeBSD durch das
   Editieren von Textdateien erledigt. Deshalb ist es eine gute Idee,
   mit einem Texteditor vertraut zu werden. FreeBSD hat ein paar
   davon im Basissystem und sehr viel mehr in der Ports-Sammlung.

   Der am leichtesten und einfachsten zu erlernende Editor nennt sich
   ee, was fu:r easy editor steht. Um ee zu starten, gibt man in der
   Kommandozeile ee filename ein, wobei filename den Namen der zu
   editierenden Datei darstellt. Um zum Beispiel /etc/rc.conf zu
   editieren, tippen Sie ee /etc/rc.conf ein. Einmal im Editor,
   finden Sie alle Editor-Funktionen oben im Display aufgelistet. Das
   Einschaltungszeichen ^ steht fu:r die Ctrl (oder Strg) Taste, mit
   ^e ist also die Tastenkombination Ctrl+e gemeint. Um ee zu
   verlassen, dru:cken Sie Esc und wa:hlen dann leave editor aus. Der
   Editor fragt nach, ob Sie speichern mo:chten, wenn die Datei
   vera:ndert wurde.

   FreeBSD verfu:gt u:ber leistungsfa:higere Editoren wie vi als Teil
   des Basissystems, andere Editoren wie emacs oder vim sind Teil der
   Ports-Sammlung. Diese Editoren bieten ho:here Funktionalita:t und
   Leistungsfa:higkeit, jedoch auf Kosten einer etwas schwierigeren
   Erlernbarkeit. Wenn Sie viele Textdateien editieren, sparen Sie
   auf lange Sicht mehr Zeit durch das Erlernen von Editoren wie vim
   oder emacs ein.

   Viele Anwendungen, die Dateien vera:ndern oder Texteingabe
   erwarten, werden automatisch einen Texteditor o:ffnen. Um den
   Standardeditor zu a:ndern, setzen Sie die Umgebungsvariable
   EDITOR. Um mehr daru:ber zu erfahren, lesen Sie den Abschnitt
   Shells.

     --------------------------------------------------------------

3.11. Gera:te und Gera:tedateien

   Der Begriff Gera:t wird meist in Verbindung mit Hardware wie
   Laufwerken, Druckern, Grafikkarten oder Tastaturen gebraucht. Der
   Grossteil der Meldungen, die beim Booten von FreeBSD angezeigt
   werden, beziehen sich auf gefundene Gera:te. Sie ko:nnen sich die
   Bootmeldungen spa:ter in /var/run/dmesg.boot ansehen.

   Gera:tenamen, die Sie wahrscheinlich in den Bootmeldungen sehen
   werden, sind zum Beispiel acd0, das erste IDE CD-ROM oder kbd0,
   die Tastatur.

   Auf die meisten Gera:te wird unter UNIX Systemen u:ber spezielle
   Gera:tedateien im /dev Verzeichnis zugegriffen.

     --------------------------------------------------------------

  3.11.1. Anlegen von Gera:tedateien

   Wenn sie ein neues Gera:t zu Ihrem System hinzufu:gen, oder die
   Unterstu:tzung fu:r zusa:tzliche Gera:te kompilieren, mu:ssen ein
   oder mehrere Gera:tedateien erstellt werden.

     --------------------------------------------------------------

    3.11.1.1. DEVFS (Gera:tedateisystem)

   Das Gera:tedateisystem DEVFS ermo:glicht durch den Namensraum des
   Dateisystems Zugriff auf den Namensraum der Gera:te im Kernel.
   Damit mu:ssen Gera:tedateien nicht mehr extra angelegt werden,
   sondern werden von DEVFS verwaltet.

   Weitere Informationen finden Sie in devfs(5).

     --------------------------------------------------------------

3.12. Bina:rformate

   Um zu verstehen, warum FreeBSD das Format elf(5) benutzt, mu:ssen
   Sie zuna:chst etwas u:ber die drei gegenwa:rtig "dominanten"
   ausfu:hrbaren Formate fu:r UNIX Systeme wissen:

     * a.out(5)

       Das a:lteste und "klassische" Objektformat von UNIX Systemen.
       Es benutzt einen kurzen, kompakten Header mit einer magischen
       Nummer am Anfang, die oft benutzt wird, um das Format zu
       charakterisieren (weitere Details finden Sie unter a.out(5)).
       Es entha:lt drei geladene Segmente: .text, .data und .bss,
       sowie eine Symboltabelle und eine Stringtabelle.

     * COFF

       Das Objektformat von SVR3. Der Header entha:lt nun eine
       "Sectiontable". Man kann also mit mehr als nur den Sections
       .text, .data und .bss arbeiten.

     * elf(5)

       Der Nachfolger von COFF. Kennzeichnend sind mehrere Sections
       und mo:gliche 32-Bit- oder 64-Bit-Werte. Ein wesentlicher
       Nachteil: ELF wurde auch unter der Annahme entworfen, dass es
       nur eine ABI (Application Binary Interface) pro
       Systemarchitektur geben wird. Tatsa:chlich ist diese Annahme
       falsch - nicht einmal fu:r die kommerzielle SYSV-Welt (in der
       es mindestens drei ABIs gibt: SVR4, Solaris, SCO) trifft sie
       zu.

       FreeBSD versucht, dieses Problem zu umgehen, indem ein
       Werkzeug bereitgestellt wird, um ausfu:hrbare Dateien im
       ELF-Format mit Informationen u:ber die ABI zu versehen, zu der
       sie passen. Weitere Informationen finden Sie in der Manualpage
       brandelf(1).

   FreeBSD kommt aus dem "klassischen" Lager und verwendete
   traditionell das Format a.out(5), eine Technik, die bereits u:ber
   viele BSD-Releases hinweg eingesetzt und gepru:ft worden ist.
   Obwohl es bereits seit einiger Zeit mo:glich war, auf einem
   FreeBSD-System auch Binaries (und Kernel) im ELF-Format zu
   erstellen und auszufu:hren, widersetzte FreeBSD sich anfangs dem
   "Druck", auf ELF als Standardformat umzusteigen. Warum? Nun, als
   das Linux-Lager die schmerzhafte Umstellung auf ELF durchfu:hrte,
   ging es nicht so sehr darum, dem ausfu:hrbaren Format a.out zu
   entkommen, als dem unflexiblen, auf Sprungtabellen basierten
   Mechanismus fu:r "Shared-Libraries" der die Konstruktion von
   Shared-Libraries fu:r Hersteller und Entwickler gleichermassen
   sehr kompliziert machte. Da die verfu:gbaren ELF-Werkzeuge eine
   Lo:sung fu:r das Problem mit den Shared-Libraries anboten und
   ohnehin generell als "ein Schritt vorwa:rts" angesehen wurden,
   wurde der Aufwand fu:r die Umstellung als notwendig akzeptiert und
   die Umstellung wurde durchgefu:hrt. Unter FreeBSD ist der
   Mechanismus von Shared-Libraries enger an den Stil des
   Shared-Library-Mechanismus von Suns SunOS(TM) angelehnt und von
   daher sehr einfach zu verwenden.

   Ja, aber warum gibt es so viele unterschiedliche Formate?

   In alter, grauer Vorzeit gab es simple Hardware. Diese simple
   Hardware unterstu:tzte ein einfaches, kleines System. a.out war
   absolut passend fu:r die Aufgabe, Binaries auf diesem simplen
   System (eine PDP-11) darzustellen. Als UNIX von diesem simplen
   System portiert wurde, wurde auch das a.out-Format beibehalten,
   weil es fu:r die fru:hen Portierungen auf Architekturen wie den
   Motorola 68000 und VAX ausreichte.

   Dann dachte sich ein schlauer Hardware-Ingenieur, dass, wenn er
   Software zwingen ko:nnte, einige Tricks anzustellen, es ihm
   mo:glich wa:re, ein paar Gatter im Design zu sparen, und seinen
   CPU-Kern schneller zu machen. Obgleich es dazu gebracht wurde, mit
   dieser neuen Art von Hardware (heute als RISC bekannt) zu
   arbeiten, war a.out fu:r diese Hardware schlecht geeignet. Deshalb
   wurden viele neue Formate entwickelt, um eine bessere Leistung auf
   dieser Hardware zu erreichen, als mit dem begrenzten, simplen
   a.out-Format. Dinge wie COFF, ECOFF und einige andere obskure
   wurden erdacht und ihre Grenzen untersucht, bevor die Dinge sich
   in Richtung ELF entwickelten.

   Hinzu kam, dass die Gro:sse von Programmen gewaltig wurde und
   Festplatten sowie physikalischer Speicher immer noch relativ klein
   waren. Also wurde das Konzept von Shared-Libraries geboren. Das
   VM-System wurde auch immer fortgeschrittener. Obwohl bei jedem
   dieser Fortschritte das a.out-Format benutzt worden ist, wurde
   sein Nutzen mit jedem neuen Merkmal mehr und mehr gedehnt.
   Zusa:tzlich wollte man Dinge dynamisch zur Ausfu:hrungszeit laden,
   oder Teile ihres Programms nach der Initialisierung wegwerfen, um
   Hauptspeicher oder Swap-Speicher zu sparen. Programmiersprachen
   wurden immer fortschrittlicher und man wollte, dass Code
   automatisch vor der main-Funktion aufgerufen wird. Das
   a.out-Format wurde oft u:berarbeitet, um alle diese Dinge zu
   ermo:glichen und sie funktionierten auch fu:r einige Zeit. a.out
   konnte diese Probleme nicht ohne ein sta:ndiges Ansteigen eines
   Overheads im Code und in der Komplexita:t handhaben. Obwohl ELF
   viele dieser Probleme lo:ste, wa:re es sehr aufwa:ndig, ein System
   umzustellen, das im Grunde genommen funktionierte. Also musste ELF
   warten, bis es aufwa:ndiger war, bei a.out zu bleiben, als zu ELF
   u:berzugehen.

   Im Laufe der Zeit haben sich die Erstellungswerkzeuge, von denen
   FreeBSD seine Erstellungswerkzeuge abgeleitet hat (speziell der
   Assembler und der Loader), in zwei parallele Zweige entwickelt. Im
   FreeBSD-Zweig wurden Shared-Libraries hinzugefu:gt und einige
   Fehler behoben. Das GNU-Team, das diese Programme urspru:nglich
   geschrieben hat, hat sie umgeschrieben und eine simplere
   Unterstu:tzung zur Erstellung von Cross-Compilern durch beliebiges
   Einschalten verschiedener Formate usw. hinzugefu:gt. Viele Leute
   wollten Cross-Compiler fu:r FreeBSD erstellen, aber sie hatten
   kein Glu:ck, denn FreeBSD's a:ltere Sourcen fu:r as und ld waren
   hierzu nicht geeignet. Die neuen GNU-Werkzeuge (binutils)
   unterstu:tzen Cross-Compilierung, ELF, Shared-Libraries,
   C++-Erweiterungen und mehr. Weiterhin geben viele Hersteller
   ELF-Binaries heraus und es ist gut, wenn FreeBSD sie ausfu:hren
   kann.

   ELF ist ausdrucksfa:higer als a.out und gestattet eine bessere
   Erweiterbarkeit des Basissystems. Die ELF-Werkzeuge werden besser
   gewartet und bieten Unterstu:tzung von Cross-Compilierung, was
   fu:r viele Leute wichtig ist. ELF mag etwas langsamer sein, als
   a.out, aber zu versuchen, das zu messen, ko:nnte schwierig werden.
   Es gibt unza:hlige Details, in denen sich die beiden Formate
   unterscheiden, wie sie Pages abbilden, Initialisierungscode
   handhaben usw. Keins davon ist sehr wichtig, aber es sind
   Unterschiede. Irgendwann wird die Unterstu:tzung fu:r Programme im
   a.out-Format aus dem GENERIC-Kernel entfernt werden. Wenn es dann
   keinen oder kaum noch Bedarf fu:r die Unterstu:tzung dieses
   Formates gibt, werden die entsprechenden Routinen ganz entfernt
   werden.

     --------------------------------------------------------------

3.13. Weitere Informationen

  3.13.1. Manualpages

   Die umfassendste Dokumentation rund um FreeBSD gibt es in Form von
   Manualpages. Anna:hernd jedes Programm im System bringt eine kurze
   Referenzdokumentation mit, die die grundsa:tzliche Funktion und
   verschiedene Parameter erkla:rt. Diese Dokumentationen kann man
   mit dem man Kommando benutzen. Die Benutzung des man Kommandos ist
   einfach:

 % man Kommando

   Kommando ist der Name des Kommandos, u:ber das Sie etwas erfahren
   wollen. Um beispielsweise mehr u:ber das Kommando ls zu lernen,
   geben Sie ein:

 % man ls

   Die Online-Dokumentation ist in nummerierte Sektionen unterteilt:

    1. Benutzerkommandos.

    2. Systemaufrufe und Fehlernummern.

    3. Funktionen der C Bibliothek.

    4. Gera:tetreiber.

    5. Dateiformate.

    6. Spiele und andere Unterhaltung.

    7. Verschiedene Informationen.

    8. Systemverwaltung und -Kommandos.

    9. Kernel Entwickler.

   In einigen Fa:llen kann dasselbe Thema in mehreren Sektionen
   auftauchen. Es gibt zum Beispiel ein chmod Benutzerkommando und
   einen chmod() Systemaufruf. In diesem Fall ko:nnen Sie dem man
   Kommando sagen, aus welcher Sektion Sie die Information erhalten
   mo:chten, indem Sie die Sektion mit angeben:

 % man 1 chmod

   Dies wird Ihnen die Manualpage fu:r das Benutzerkommando chmod
   zeigen. Verweise auf eine Sektion der Manualpages werden
   traditionell in Klammern gesetzt. So bezieht sich chmod(1) auf das
   Benutzerkommando chmod und mit chmod(2) ist der Systemaufruf
   gemeint.

   Das ist nett, wenn Sie den Namen eines Kommandos wissen, und
   lediglich wissen wollen, wie es zu benutzen ist. Aber was tun Sie,
   wenn Sie Sich nicht an den Namen des Kommandos erinnern ko:nnen?
   Sie ko:nnen mit man nach Schlu:sselbegriffen in den
   Kommandobeschreibungen zu suchen, indem Sie den Parameter -k
   benutzen:

 % man -k mail

   Mit diesem Kommando bekommen Sie eine Liste der Kommandos, deren
   Beschreibung das Schlu:sselwort "mail" entha:lt. Diese
   Funktionalita:t erhalten Sie auch, wenn Sie das Kommando apropos
   benutzen.

   Nun, Sie schauen Sich alle die geheimnisvollen Kommandos in
   /usr/bin an, haben aber nicht den blassesten Schimmer, wozu die
   meisten davon gut sind? Dann rufen Sie doch einfach das folgende
   Kommando auf:

 % cd /usr/bin
 % man -f *

   Dasselbe erreichen Sie durch Eingabe von:

 % cd /usr/bin
 % whatis *

     --------------------------------------------------------------

  3.13.2. GNU Info Dateien

   FreeBSD entha:lt viele Anwendungen und Utilities der Free Software
   Foundation (FSF). Zusa:tzlich zu den Manualpages bringen diese
   Programme ausfu:hrlichere Hypertext-Dokumente (info genannt) mit,
   welche man sich mit dem Kommando info ansehen kann. Wenn Sie emacs
   installiert haben, ko:nnen Sie auch dessen info-Modus benutzen.

   Um das Kommando info(1) zu benutzen, geben Sie einfach ein:

 % info

   Eine kurze Einfu:hrung gibt es mit h; eine Befehlsreferenz
   erhalten Sie durch Eingabe von: ?.

     --------------------------------------------------------------

       Kapitel 4. Installieren von Anwendungen: Pakete und Ports

   U:bersetzt von Uwe Pierau.

4.1. U:bersicht

   FreeBSD entha:lt sehr viele Systemwerkzeuge, die Teil des
   Basissystems sind. Allerdings sind Sie fru:her oder spa:ter auf
   Software Dritter angewiesen, damit Sie bestimmte Arbeiten
   durchfu:hren ko:nnen. Um diese Software zu installieren, stellt
   FreeBSD zwei sich erga:nzende Methoden zur Verfu:gung: Die
   Ports-Sammlung (zur Installation aus dem Quellcode) sowie Pakete
   (auch als Packages bezeichnet, zur Installation von
   vorkompilierten bina:ren Softwarepaketen). Sie ko:nnen beide
   Methoden benutzen, um Ihre Lieblingsanwendungen von lokalen Medien
   oder u:ber das Netzwerk zu installieren.

   Dieses Kapitel behandelt die folgenden Themen:

     * Die Installation bina:rer Softwarepakete.

     * Der Bau Software Dritter aus dem Quellcode mithilfe der
       Ports-Sammlung.

     * Wie zuvor installierte Pakete oder Ports entfernt werden.

     * Wie Sie die Voreinstellungen der Ports-Sammlung
       u:berschreiben.

     * Die Suche nach geeigneter Software.

     * Wie Sie Ihre Anwendungen aktualisieren.

     --------------------------------------------------------------

4.2. Installation von Software

   Wenn Sie schon einmal ein UNIX System benutzt haben, werden Sie
   wissen, dass zusa:tzliche Software meist wie folgt installiert
   wird:

    1. Download der Software, die als Quelltext oder im Bina:rformat
       vorliegen kann.

    2. Auspacken der Software, die typischerweise ein mit
       compress(1), gzip(1) oder bzip2(1) komprimiertes Tar-Archiv
       entha:lt.

    3. 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.

    4. Kompilieren der Software wenn sie als Quelltext vorliegt. Dazu
       mu:ssen Sie vielleicht das Makefile anpassen, oder configure
       laufen lassen, oder andere Arbeiten durchfu:hren.

    5. Testen und installieren der Software.

   Das beschreibt aber nur den optimalen Fall. Wenn Sie Software
   installieren, die nicht speziell fu:r FreeBSD geschrieben wurde,
   mu:ssen Sie vielleicht sogar den Quelltext anpassen, damit die
   Software funktioniert.

   Wenn Sie unbedingt wollen, ko: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 ko:nnen. Zurzeit werden u:ber 20,000
   Anwendungen Dritter u:ber diese Methoden zur Verfu:gung gestellt.

   Das FreeBSD-Paket einer Anwendung besteht aus einer einzigen
   Datei, die Sie sich herunterladen mu:ssen. Das Paket entha:lt
   schon u:bersetzte Kommandos der Anwendung, sowie zusa:tzliche
   Konfigurationsdateien oder Dokumentation. Zur Handhabung der
   Pakete stellt FreeBSD-Kommandos wie pkg_add(1), pkg_delete(1) oder
   pkg_info(1) zur Verfu:gung. Mit diesem System ko: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 fu:hren fu:r Sie alle oben aufgefu:hrten
   Schritte zum Installieren einer Anwendung durch. Mit einigen
   wenigen Kommandos wird der Quellcode der Anwendung automatisch
   heruntergeladen, ausgepackt, gepatcht, u:bersetzt und installiert.

   Tatsa:chlich kann das Portsystem auch dazu benutzt werden, Pakete
   zu generieren, die Sie mit den gleich beschriebenen Kommandos, wie
   pkg_add, manipulieren ko:nnen.

   Pakete und Ports beachten Abha:ngigkeiten zwischen Anwendungen.
   Angenommen, Sie wollen eine Anwendung installieren, die von einer
   Bibliothek abha:ngt und die Anwendung wie die Bibliothek sind als
   Paket oder Port fu:r FreeBSD verfu: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
   unterstu:tzt, wo doch beide Methoden fast gleiches leisten. Beide
   Methoden haben ihre Sta:rken und welche Sie einsetzen, ha:ngt
   letztlich von Ihren Vorlieben ab.

   Vorteile von Paketen

     * Das komprimierte Paket einer Anwendung ist normalerweise
       kleiner als das komprimierte Archiv der Quelltexte.

     * Pakete mu:ssen nicht mehr kompiliert werden. Dies ist ein
       Vorteil, wenn Sie grosse 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 mo:glichst vielen System laufen sollen,
       werden Optionen beim U:bersetzen zuru:ckhaltend gesetzt. Wenn
       Sie eine Anwendung u:ber die Ports installieren, ko:nnen Sie
       die Angabe der Optionen optimieren. Zum Beispiel ko:nnen Sie
       spezifischen Code fu:r Pentium 4 oder Athlon Prozessoren
       erzeugen.

     * Die Eigenschaften einiger Anwendungen werden u:ber Optionen
       zum Zeitpunkt des U:bersetzens festgelegt. Apache kann zum
       Beispiel u:ber viele eingebaute Optionen konfiguriert werden.
       Wenn Sie das Portsystem benutzen, ko:nnen Sie die Vorgaben
       fu:r die Optionen u:berschreiben.

       Fu:r einige Fa:lle existieren verschiedene Pakete einer
       Anwendung, die beim U:bersetzen unterschiedlich konfiguriert
       wurden. Fu:r Ghostscript gibt es ein ghostscript-Paket und ein
       ghostscript-nox11-Paket, die sich durch die X11 Unterstu:tzung
       unterscheiden. Diese grobe Unterscheidung ist mit dem
       Paketsystem mo:glich, wird aber schnell unhandlich, wenn eine
       Anwendung mehr als ein oder zwei Optionen zum Zeitpunkt des
       U:bersetzens besitzt.

     * Die Lizenzbestimmungen mancher Software verbietet ein
       Verbreiten in bina:rer Form. Diese Software muss als Quelltext
       ausgeliefert werden.

     * Einige Leute trauen bina:ren Distributionen nicht. Wenn Sie
       den Quelltext besitzen, ko:nnen Sie sich diesen (zumindest
       theoretisch) durchlesen und nach mo:glichen Problemen
       durchsuchen.

     * Wenn Sie eigene Anpassungen besitzen, beno: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 (natu:rlich nur, wenn es die
       Lizenzbestimmungen erlauben).

   Wenn Sie u:ber aktualisierte Ports informiert sein wollen, lesen
   Sie bitte die Mailinglisten FreeBSD ports und FreeBSD ports bugs.

     Warnung: Bevor Sie eine Anwendung installieren, sollten Sie auf
     der Seite http://vuxml.FreeBSD.org/ u:ber mo:gliche
     Sicherheitsprobleme mit der Anwendung informieren.

     Die Anwendung ports-mgmt/portaudit pru:ft automatisch alle
     installierten Anwendungen auf bekannte Sicherheitslo:cher. Vor
     dem Bau eines Ports findet ebenfalls eine Pru:fung statt.
     Installierte Pakete pru:fen Sie mit dem Kommando portaudit -F
     -a.

   Der Rest dieses Kapitels beschreibt, wie Sie Software Dritter mit
   Paketen oder Ports auf einem FreeBSD-System installieren und
   verwalten.

     --------------------------------------------------------------

4.3. Suchen einer Anwendung

   Bevor Sie eine Anwendung installieren, mu:ssen Sie deren Art und
   Namen kennen.

   Die Anzahl der nach FreeBSD portierten Anwendungen steigt
   sta:ndig. Zum Glu:ck gibt es einige Wege, die richtige zu finden.

     * Eine aktuelle Liste verfu:gbarer Anwendungen, die sich auch
       durchsuchen la:sst, finden Sie unter
       http://www.FreeBSD.org/ports/. Die Anwendungen sind in
       Kategorien unterteilt und Sie ko:nnen sich alle Anwendungen
       einer Kategorie anzeigen lassen. Wenn Sie den Namen der
       Anwendung kennen, ko:nnen Sie natu:rlich auch direkt nach dem
       Namen suchen.

     * FreshPorts, das von Dan Langille gepflegt wird, erreichen Sie
       unter http://www.FreshPorts.org/. FreshPorts verfolgt
       A:nderungen an Anwendungen aus den Ports. Mit FreshPorts
       ko:nnen Sie ein oder mehrere Ports beobachten und sich eine
       E-Mail schicken lassen, wenn ein Port aktualisiert wird.

     * Wenn Sie den Namen einer Anwendung nicht kennen, versuchen Sie
       eine Webseite wie FreshMeat (http://www.freshmeat.net/), um
       eine passende Anwendung zu finden. Schauen Sie dann auf der
       FreeBSD-Webseite nach, ob die Anwendung schon portiert wurde.

     * Wenn Sie den Portnamen kennen und nur nach der Kategorie
       suchen wollen, verwenden Sie das Kommando whereis(1). Geben
       Sie einfach whereis Datei ein. Datei ist der Name des
       Programms, das Sie suchen:

 # whereis lsof
 lsof: /usr/ports/sysutils/lsof

       Damit haben wir herausgefunden, dass sich lsof, ein
       Systemwerkzeug, im Verzeichnis /usr/ports/sysutils/lsof
       befindet.

     * Auch mit einem einfachen echo(1)-Befehl ko:nnen Sie
       herausfinden, wo Sie einen bestimmten Port finden. Dazu ein
       Beispiel:

 # echo /usr/ports/*/*lsof*
           /usr/ports/sysutils/lsof

       Beachten Sie aber, dass dieser Befehl auch alle Dateien im
       Verzeichnis /usr/ports/distfiles findet, auf die der
       angegebene Suchbegriff passt.

     * Ein weiterer Weg, einen bestimmten Port zu finden, ist es, die
       eingebaute Suchfunktion der Ports-Sammlung zu benutzen. Dazu
       muss Ihr Arbeitsverzeichnis /usr/ports sein. In diesem
       Verzeichnis rufen Sie make search name=Anwendungsname auf,
       wobei Anwendungsname der Name der gesuchten Anwendung ist.
       Wenn Sie zum Beispiel nach lsof suchen:

 # cd /usr/ports
 # 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 beno:tigt, Sie brauchen sich darum
       jetzt nicht weiter zu ku:mmern.

       Erweiterte Suchen fu:hren Sie mit dem Kommando make search
       key=Text aus. Damit werden Portnamen, Kommentare,
       Beschreibungen und Abha:ngigkeiten nach Text durchsucht. Dies
       kann sehr nu:tzlich sein, wenn Sie den Namen des Programms,
       nach dem Sie suchen, nicht kennen.

       In beiden Fa:llen wird Gross- und Kleinschreibung bei der
       Suche ignoriert. Die Suche nach "LSOF" wird dieselben
       Ergebnisse wie die Suche nach "lsof" liefern.

     --------------------------------------------------------------

4.4. Benutzen des Paketsystems

   Beigesteuert von Chern Lee.

  4.4.1. Installieren eines Pakets

   Mit pkg_add(1) ko:nnen Sie ein FreeBSD-Paket von einer lokalen
   Datei oder u:ber das Netzwerk installieren.

   Beispiel 4-1. Download vor Installation eines Pakets

 # 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
 # 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
   -r von pkg_add(1) zu verwenden. Das Werkzeug bestimmt dann
   automatisch das no:tige Objektformat und die richtige Version des
   Pakets, la:dt dieses dann von einem FTP-Server und installiert das
   Paket.

 # pkg_add -r lsof

   Das obige Beispiel wu:rde ohne weitere Interaktion das richtige
   Paket herunterladen und installieren. Pakete werden vom
   FreeBSD-Hauptserver heruntergeladen. Wenn Sie anderen Server
   verwenden mo:chten, geben Sie den Server in der Umgebungsvariablen
   PACKAGESITE an. Die Dateien werden mit fetch(3), das
   Umgebungsvariablen wie FTP_PASSIVE_MODE, FTP_PROXY und
   FTP_PASSWORD beru:cksichtigt, heruntergeladen. Wenn Sie durch eine
   Firewall geschu:tzt werden, mu:ssen Sie vielleicht eine oder
   mehrere dieser Umgebungsvariablen setzen oder einen FTP oder HTTP
   Proxy verwenden. Eine Liste der unterstu:tzten Umgebungsvariablen
   finden Sie in fetch(3). Beachten Sie, dass im obigen Beispiel lsof
   anstelle von lsof-4.56.4 verwendet wird. Wenn Sie 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.

     Anmerkung: Unter FreeBSD-CURRENT oder FreeBSD-STABLE holt
     pkg_add(1) die neuste Version einer Anwendung, unter einer
     Release holt pkg_add(1) die Version der Anwendung, die im
     Release enthalten ist. Sie ko:nnen dies a:ndern, indem Sie die
     Umgebungsvariable PACKAGESITE u:berschreiben. Wenn Sie
     bespielsweise FreeBSD 5.4-RELEASE installiert haben, versucht
     pkg_add(1) in der Voreinstellung die Pakete von
     ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-5.4-release/Latest/
     zu laden. Wollen Sie pkg_add(1) dazu zwingen, nur
     FreeBSD 5-STABLE-Pakete herunterzuladen, setzen Sie die
     Umgebungsvariable PACKAGESITE auf
     ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-5-stable/Latest/.

   Pakete werden im .tgz- und .tbz-Format ausgeliefert. Sie finden
   Sie unter ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/ oder
   auf der FreeBSD-CD-ROM-Distribution. Jede CD der FreeBSD
   Distribution (oder des PowerPaks) entha: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.

     --------------------------------------------------------------

  4.4.2. Verwalten von Paketen

   pkg_info(1) zeigt alle installierten Pakete und deren Beschreibung
   an.

 # 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
 ...

   pkg_version(1) vergleicht die Version installierter Pakete mit der
   Version aus der Ports-Sammlung.

 # 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 u:berein.            
   <      Die installierte Version ist a:lter als die der             
          verfu: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.                                                  
          Das installierte Paket ist zwar im Index enthalten, aus     
          irgendeinem Grund war pkg_version aber dennoch nicht in der 
   !      Lage, die Versionsnummer des installierten Pakets mit der   
          Versionsnummer des entsprechenden Eintrags im Index zu      
          vergleichen.                                                

     --------------------------------------------------------------

  4.4.3. Entfernen eines Pakets

   Um ein zuvor installiertes Paket zu entfernen, benutzen Sie das
   Werkzeug pkg_delete(1).

 # pkg_delete xchat-1.7.1

   Beachten Sie, dass pkg_delete(1) die vollsta:ndige Bezeichnung des
   Pakets beno:tigt (also Paketname und Versionsnummer). Die Eingabe
   von xchat (anstelle von xchat-1.7.1) ist daher nicht ausreichend.
   Zwar ko:nnen Sie die Versionsnummer eines installierten Pakets mit
   pkg_version(1) herausfinden, es ist aber auch mo:glich, ein Paket
   zu deinstallieren, ohne die exakte Versionsnummer zu kennen, wenn
   Sie Wildcards einsetzen:

 # pkg_delete xchat\*

   In diesem Beispiel werden alle Pakete gelo:scht, deren Name mit
   xchat beginnt.

     --------------------------------------------------------------

  4.4.4. Verschiedenes

   Informationen u:ber alle installierte Pakete werden in /var/db/pkg
   abgelegt. Das Verzeichnis entha:lt Dateien, in denen sich die
   Beschreibungen der Pakete und Listen von Dateien, die zu einem
   Paket geho:ren, befinden.

     --------------------------------------------------------------

4.5. 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 lo:schen. ports(7) entha:lt eine Auflistung
   aller verfu:gbaren make-Targets und Umgebungsvariablen.

     --------------------------------------------------------------

  4.5.1. Installation der Ports-Sammlung

   Bevor Sie einen Port installieren ko:nnen, mu:ssen Sie zuerst die
   Ports-Sammlung installieren, die aus Makefiles, Patches und
   Beschreibungen besteht. Die Ports-Sammlung wird fu:r gewo:hnlich
   unter /usr/ports installiert.

   Bei der FreeBSD-Installation hatten Sie in sysinstall die
   Mo:glichkeit, die Ports-Sammlung zu installieren. Wenn Sie die
   Sammlung damals nicht installiert haben, ko:nnen Sie das mit den
   folgenden Anweisungen nachholen:

   Installieren mit CVSup

   Dies ist eine schnelle Methode, um die Ports-Sammlung zu
   installieren und zu aktualisieren. CVSup wird im Abschnitt
   Benutzen von CVSup des Handbuchs beschrieben.

     Anmerkung: Die seit FreeBSD 6.2 im Basissystem enthaltene
     Variante des CVSup-Protokolls heisst csup. Verwenden Sie
     hingegen noch eine a:ltere FreeBSD-Version, ko:nnen Sie csup
     u:ber den Port net/csup installieren.

   Achten Sie darauf, dass das Verzeichnis /usr/ports leer ist, bevor
   Sie csup das erste Mal ausfu:hren! Haben Sie die Ports-Sammlung
   zuvor schon aus einer anderen Quelle installiert, wird csup
   bereits aus dem Repository entfernte Patches nicht aus der lokalen
   Kopie der Ports-Sammlung lo:schen.

    1. Rufen Sie csup auf:

 # csup -L 2 -h cvsup.FreeBSD.org /usr/share/examples/cvsup/ports-supfile

       Ersetzen Sie cvsup.FreeBSD.org durch einen CVSup-Server in
       Ihrer Na:he. Eine vollsta:ndige Liste der CVSup-Spiegel finden
       Sie im Abschnitt CVSup-Server des Handbuchs.

         Anmerkung: Sie sollten sich eine an Ihre Bedu:rfnisse
         angepasste ports-supfile erstellen, um so beispielsweise zu
         vermeiden, dass Sie bei jedem Aufruf von CVSup wieder die
         Parameterliste u:bergeben mu:ssen.

           1. Dazu kopieren Sie zuerst als root die Datei
              /usr/share/examples/cvsup/ports-supfile nach /root oder
              in Ihr Heimatverzeichnis.

           2. Danach mu:ssen Sie die Datei ports-supfile anpassen.

           3. Dazu ersetzen Sie cvsup.FreeBSD.org durch einen
              CVSup-Server in Ihrer Na:he. Eine vollsta:ndige Liste
              der CVSup-Spiegel finden Sie im Abschnitt CVSup-Server
              des Handbuchs.

           4. Nun ko:nnen Sie csup mit folgender Syntax starten:

 # csup -L 2 /root/ports-supfile

    2. Mit csup(1) ko:nnen Sie spa:ter auch die Ports-Sammlung
       aktualisieren. Die installierten Ports werden mit diesem
       Kommando allerdings nicht aktualisiert.

   Installieren mit Portsnap

   Bei Portsnap handelt es sich um ein alternatives System zur
   Distribution der Ports-Sammlung, das seit FreeBSD 6.0 im
   Basissystem enthalten ist. Verwenden Sie eine a:ltere
   FreeBSD-Version, ko:nnen Sie zur Installation das Paket
   ports-mgmt/portsnap verwenden:

 # pkg_add -r portsnap

   Eine detaillierte Beschreibung von Portsnap finden Sie im
   Abschnitt Using Portsnap des Handbuchs.

    1. Ab FreeBSD 6.1-RELEASE oder bei einem aktuellen Portsnap-Paket
       oder -Port ist dieser Schritt nicht no:tig, da in diesen
       Fa:llen das Verzeichnis /usr/ports automatisch beim ersten
       Aufruf von portsnap(8) angelegt wird. Verwenden Sie hingegen
       eine a:ltere Version von Portsnap, mu:ssen Sie dieses
       Verzeichnis manuell anlegen, falls dieses auf Ihrem System
       noch nicht existiert:

 # mkdir /usr/ports

    2. Laden Sie einen komprimierten Snapshot der Ports-Sammlung in
       das Verzeichnis /var/db/portsnap herunter. Danach ko:nnen Sie
       die Internetverbindung trennen, wenn Sie dies wu:nschen.

 # portsnap fetch

    3. Wenn Sie Portsnap das erste Mal verwenden, mu:ssen Sie den
       Snapshot nach /usr/ports extrahieren:

 # portsnap extract

       Ist die Ports-Sammlung bereits installiert, und Sie wollen
       diese nur aktualisieren, fu:hren Sie stattdessen folgenden
       Befehl aus:

 # portsnap update

   Installieren mit sysinstall

   Nicht zuletzt ist es auch mo:glich, die Ports-Sammlung u:ber
   sysinstall zu installieren. Beachten Sie dabei aber, dass bei
   dieser Methode nicht die aktuellste Version der Ports-Sammlung,
   sondern die Version, die zum Zeitpunkt der Vero:ffentlichung der
   installierten FreeBSD-Version aktuell war, installiert wird. Haben
   Sie Zugriff auf das Internet, so sollten Sie daher stets eine der
   weiter oben beschriebenen Methoden verwenden, um die
   Ports-Sammlung zu installieren.

    1. Fu:hren Sie als root sysinstall (vor FreeBSD 5.2
       /stand/sysinstall) aus:

 # /stand/sysinstall

    2. Wa:hlen Sie den Punkt Configure aus und dru:cken Sie Enter.

    3. Wa:hlen Sie dann Distributions aus und dru:cken Sie Enter.

    4. In diesem Menu: wa:hlen Sie ports aus und dru:cken die
       Leertaste.

    5. Danach wa:hlen Sie Exit aus und dru:cken Enter.

    6. Legen Sie nun ein geeignetes Installationsmedium, wie CD-ROM
       oder FTP, fest.

    7. Wa:hlen Sie nun Exit aus und dru:cken Enter.

    8. Verlassen Sie sysinstall mit X.

     --------------------------------------------------------------

  4.5.2. Ports installieren

   Was ist mit einem "Geru:st" im Zusammenhang mit der Ports-Sammlung
   gemeint? In aller Ku:rze: ein Geru:st eines Ports ist ein
   minimaler Satz von Dateien, mit denen das FreeBSD-System eine
   Anwendung sauber u:bersetzen und installieren kann. Ein jeder Port
   beinhaltet:

     * Eine Datei Makefile. Das Makefile entha:lt verschiedene
       Anweisungen, die spezifizieren, wie eine Anwendung kompiliert
       wird und wo sie auf Ihrem System installiert werden sollte.

     * Eine Datei distinfo. Diese entha:lt Informationen, welche
       Dateien heruntergeladen werden mu:ssen sowie deren
       MD5-Pru:fsummen (die Sie mit md5(1) sowie sha256(1)
       u:berpru:fen ko:nnen, um sicher zu gehen, dass diese Dateien
       wa:hrend des Herunterladens nicht bescha:digt wurden).

     * Ein files Verzeichnis. Hierin liegen Patches, welche das
       U:bersetzen und Installieren der Anwendung ermo:glichen.
       Patches sind im Wesentlichen kleine Dateien, die A:nderungen
       an speziellen Dateien spezifizieren. Sie liegen als reiner
       Text vor und sagen ungefa:hr: "Lo:sche Zeile 10" oder "A:ndere
       Zeile 26 zu ...". Patches sind auch bekannt unter dem Namen
       "diffs", weil Sie mit dem Programm diff(1) erstellt werden.

       Dieses Verzeichnis kann auch noch andere Dateien enthalten,
       welche zum Bauen des Ports benutzt werden.

     * Eine Datei pkg-descr. Eine ausfu:hrlichere, oft mehrzeilige
       Beschreibung der Anwendung.

     * Eine Datei pkg-plist. Das ist eine Liste aller Dateien, die
       durch diesen Port installiert werden. Ausserdem sind hier
       Informationen enthalten, die zum Entfernen des Ports beno:tigt
       werden.

   Einige Ports besitzen noch andere Dateien, wie pkg-message, die
   vom Portsystem benutzt werden, um spezielle Situationen zu
   handhaben. Wenn Sie mehr u:ber diese Dateien oder das Port-System
   erfahren sollen, lesen Sie bitte das FreeBSD Porter's Handbook.

   Ein Port entha:lt lediglich Anweisungen, wie der Quelltext zu
   bauen ist, nicht aber den eigentlichen Quelltext. Den Quelltext
   erhalten Sie von einer CD-ROM oder aus dem Internet. Quelltexte
   werden in einem Format nach Wahl des jeweiligen Software-Autors
   ausgeliefert. Ha: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. Die zwei Methoden, mit
   denen ein Port installiert wird, werden unten besprochen.

     Anmerkung: Zum Installieren von Ports mu:ssen Sie als Benutzer
     root angemeldet sein.

     Warnung: Stellen Sie sicher, dass die Ports-Sammlung aktuell
     ist, bevor Sie einen Port installieren. Informieren Sie sich
     vorher zusa:tzlich unter http://vuxml.FreeBSD.org/ u:ber
     mo:gliche Sicherheitsprobleme des zu installierenden Ports.

     Vor der Installation kann portaudit eine neue Anwendung
     automatisch auf Sicherheitslo:cher pru:fen. Das Werkzeug
     befindet sich in der Ports-Sammlung (ports-mgmt/portaudit). Vor
     der Installation einer neuen Anwendung sollten Sie mit portaudit
     -F die Sicherheitsdatenbank aktualisieren. Die ta:glich laufende
     Sicherheitspru:fung des Systems aktualisiert die Datenbank und
     pru:ft installierte Anwendungen auf vorhandene
     Sicherheitslo:cher. Weiteres erfahren Sie in den Hilfeseiten
     portaudit(1) und periodic(8).

   Die Ports-Sammlung geht davon, dass Ihr System u:ber eine
   funktionierende Internetverbindung verfu:gt. Ist dies nicht der
   Fall, mu:ssen Sie eine Kopie des zu installierenden Distfiles
   manuell nach /usr/ports/distfiles kopieren.

   Dazu wechseln Sie als erstes in das Verzeichnis des Ports, den Sie
   installieren wollen:

 # cd /usr/ports/sysutils/lsof

   Im Verzeichnis lsof kann man das Geru:st erkennen. Der na:chste
   Schritt ist das U:bersetzen (auch Bauen genannt) des Ports durch
   die Eingabe des Befehls make:

 # make
 >> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
 >> Attempting to fetch from ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/.
 ===>  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 U:bersetzung weggelassen]
 ...
 #

   Ist die U:bersetzungsprozedur beendet, landen Sie wiederum in der
   Kommandozeile und ko:nnen das Programm im na:chsten Schritt
   installieren. Dazu verwenden Sie den Befehl make install:

 # 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.
 #

   Nachdem die Installation abgeschlossen ist, ko:nnen Sie die gerade
   installierte Anwendung starten. Da lsof eine Anwendung ist, die
   mit erho:hten Rechten la:uft, wird eine Sicherheitswarnung
   angezeigt. Sie sollten alle Warnungen wa:hrend des Baus und der
   Installation eines Ports beachten.

   Es ist eine gute Idee, das Unterverzeichnis work nach erfolgter
   Installation wieder zu lo:schen. Einerseits gewinnen Sie dadurch
   Speicherplatz, andererseits ko:nnte es sonst zu Problemen bei der
   Aktualisierung des Ports auf eine neuere Version kommen.

 # make clean
 ===>  Cleaning for lsof-4.57
 #

     Anmerkung: Sie ko:nnen zwei Schritte sparen, wenn Sie gleich
     make install clean anstelle von make, make install, und make
     clean eingeben.

     Anmerkung: Um die Suche nach Kommandos zu beschleunigen,
     speichern einige Shells eine Liste der verfu:gbaren Kommandos in
     den durch die Umgebungsvariable PATH gegebenen Verzeichnissen.
     Nach der Installation eines Ports mu:ssen Sie in einer solchen
     Shell vielleicht das Kommando rehash absetzen, um die neu
     installierten Kommandos benutzen zu ko:nnen. Das Kommando rehash
     gibt es in Shells wie der tcsh. Unter Shells wie der sh benutzen
     Sie das Kommando hash -r. Weiteres entnehmen Sie bitte der
     Dokumentation Ihrer Shell.

   Einige von Dritten angebotenen DVD-ROM-Produkte wie das FreeBSD
   Toolkit von der FreeBSD Mall enthalten auch Distfiles
   (komprimierte Quellcodepakete). Diese lassen sich u:ber die
   Ports-Sammlung installieren. Dazu ha:ngen Sie die DVD-ROM unter
   /cdrom in den Verzeichnisbaum ein. Wenn Sie einen anderen
   Mountpunkt verwenden, sollten Sie die make-Variable CD_MOUNTPTS
   setzen, damit die auf der DVD-ROM enthaltenen Distfiles
   automatisch verwendet werden.

     Anmerkung: Beachten Sie bitte, dass die Lizenzen einiger Ports
     die Einbeziehung auf der CD-ROM verbieten. Das kann verschiedene
     Gru: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, mu:ssen Sie online sein.

   Die Ports-Sammlung benutzt zum Herunterladen von Dateien fetch(3),
   das Umgebungsvariablen wie FTP_PASSIVE_MODE, FTP_PROXY und
   FTP_PASSWORD beru:cksichtigt. Wenn Sie durch eine Firewall
   geschu:tzt werden, mu:ssen Sie vielleicht eine oder mehrere dieser
   Umgebungsvariablen setzen, oder einen FTP oder HTTP Proxy
   verwenden. Eine Liste der unterstu:tzten Umgebungsvariablen finden
   Sie in fetch(3).

   Benutzer ohne eine sta:ndige Internet-Verbindung werden das
   Kommando make fetch zu scha:tzen wissen. Das Kommando la:dt alle
   beno:tigten Dateien eines Ports herunter. Sie ko:nnen das Kommando
   im Verzeichnis /usr/ports laufen lassen. In diesem Fall werden
   alle Dateien heruntergeladen. Es ist auch mo:glich, make fetch nur
   in einem Teil des Baums, wie /usr/ports/net, aufzurufen. Die
   Dateien von allen abha:ngigen Ports werden mit diesem Kommando
   allerdings nicht heruntergeladen. Wenn Sie diese Dateien ebenfalls
   herunterladen wollen, ersetzen Sie im Kommando fetch durch
   fetch-recursive.

     Anmerkung: Abha:ngig davon, in welchem Verzeichnis Sie make
     aufrufen, ko:nnen Sie analog zu make fetch die Ports einer
     Kategorie oder alle Ports bauen. Beachten Sie allerdings, dass
     manche Ports nicht zusammen installiert werden ko:nnen.
     Weiterhin gibt es Fa:lle, in denen zwei Ports unterschiedliche
     Inhalte in derselben Datei speichern wollen.

   Manchmal ist es erforderlich, die beno: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
   u:berschreiben ko:nnen:

 # cd /usr/ports/directory
 # 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/ u:berschrieben.

     Anmerkung: Einige Ports besitzen Optionen, mit denen Sie
     zusa:tzliche Funktionen oder Sicherheitsoptionen einstellen
     ko:nnen (oder manchmal auch mu:ssen). Zusa:tzliche Optionen
     ko:nnen beispielsweise fu:r www/mozilla, security/gpgme und
     mail/sylpheed-claws angegeben werden. Wenn ein Port u:ber
     zusa:tzliche Optionen verfu:gt, werden diese beim Bau des Ports
     auf der Konsole ausgegeben.

     --------------------------------------------------------------

    4.5.2.1. Vorgabe-Verzeichnisse a:ndern

   Manchmal ist es nu:tzlich (oder erforderlich), in anderen
   Verzeichnissen zu arbeiten. Die Verzeichnisse ko:nnen Sie mit den
   Variablen WRKDIRPREFIX und PREFIX einstellen. Die Variable
   WRKDIRPREFIX gibt das Bauverzeichnis an:

 # make WRKDIRPREFIX=/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:

 # 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 ko:nnen beide Variablen auch zusammen benutzen:

 # make WRKDIRPREFIX=../ports PREFIX=../local install

   Die Kommandozeile ist zu lang, um sie hier komplett wiederzugeben,
   aber Sie sollten die zugrunde liegende Idee erkennen.

     --------------------------------------------------------------

    4.5.2.2. Probleme mit imake

   Einige Ports, welche imake(1) (Teil des X-Window-Systems)
   benutzen, funktionieren nicht gut mit PREFIX und bestehen darauf,
   unter /usr/X11R6 installiert zu werden. In a: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 unmo:glich.

     --------------------------------------------------------------

    4.5.2.3. Ports rekonfigurieren

   Beim Bau einiger Ports erhalten Sie ein ncurses-basiertes Menu:,
   u:ber dessen Optionen Sie den Bau dieser Ports beeinflussen
   ko:nnen. Es gibt diverse Mo:glichkeiten, dieses Menu: nach dem Bau
   eines Ports erneut aufzurufen, um beispielsweise Optionen zu
   entfernen, hinzuzufu:gen oder anzupassen. Sie ko:nnen
   beispielsweise in das Verzeichnis des Ports wechseln und dort den
   Befehl make config eingeben, wodurch das Menu: mit den
   urspru:nglichen gewa:hlten Optionen erneut aufgerufen wird. Eine
   andere Mo:glichkeit bietet der Befehl make showconfig, mit dem Sie
   eine Liste aller Konfigurationsoptionen dieses Ports aufrufen.
   Eine weitere Alternative bietet der Befehl make rmconfig, der die
   von Ihnen urspru:nglich gewa:hlten Optionen zuru:cksetzt und es
   Ihnen dadurch ermo:glicht, die Konfiguration erneut zu beginnen.
   Die eben erwa:hnten Optionen (und viele andere) werden
   ausfu:hrlich in der Manualpage ports(7) beschrieben.

     --------------------------------------------------------------

  4.5.3. Entfernen installierter Ports

   Da Sie nun wissen, wie man einen Port installiert, wollen Sie
   sicher auch wissen, wie man ein u:ber einen Port installiertes
   Programm wieder deinstallieren kann. Ports werden analog zu
   Paketen mit pkg_delete(1) deinstalliert (Lesen Sie sich den
   Abschnitt Benutzen des Paketsystems des Handbuchs durch, wenn Sie
   weitere Informationen beno:tigen.). Fu:r das vorhin installierte
   Programm lsof wu:rden Sie dazu wie folgt vorgehen:

 # pkg_delete lsof-4.57

     --------------------------------------------------------------

  4.5.4. Ports aktualisieren

   Als erstes sollten sie sich alle installierten Ports anzeigen
   lassen, von denen eine aktuellere Version in der Ports-Sammlung
   existiert. Dazu verwenden Sie den Befehl pkg_version(1):

 # pkg_version -v

     --------------------------------------------------------------

    4.5.4.1. /usr/ports/UPDATING

   Nachdem Sie die Ports-Sammlung auf den neusten Stand gebracht
   haben, lesen Sie bitte zuerst die Datei /usr/ports/UPDATING, bevor
   Sie einen Port aktualisieren. In dieser Datei werden Probleme und
   zusa:tzlich durchzufu:hrende Schritte bei der Aktualisierung
   einzelner Ports beschrieben. Dazu geho:ren solche Dinge wie
   gea:nderte Dateiformate, verschobene Konfigurationsdateien, aber
   auch Inkompatibilita:ten zu einer Vorga:ngerversion.

   Sollte UPDATING etwas hier Gesagtem widersprechen, so gilt das in
   UPDATING Gesagte.

     --------------------------------------------------------------

    4.5.4.2. Ports mit Portupgrade aktualisieren

   portupgrade wurde entwickelt, um die Aktualisierung von Ports zu
   vereinfachen. Sie ko:nnen portupgrade u:ber den Port
   ports-mgmt/portupgrade installieren:

 # cd /usr/ports/ports-mgmt/portupgrade/
 # make install clean

   Durchsuchen Sie regelma:ssig (am besten vor jeder Aktualisierung)
   die Liste der installierten Ports mit pkgdb -F und beheben Sie
   alle gefundenen Probleme.

   Wenn Sie portupgrade -a eingeben, beginnt portupgrade automatisch
   mit der Aktualisierung aller veralteter Ports Ihres Systems.
   Verwenden Sie den Schalter -i, wenn Sie individuell entscheiden
   wollen, ob ein Port aktualisiert werden soll:

 # portupgrade -ai

   Wenn Sie nur eine einzelne Anwendung anstelle aller Anwendungen
   aktualisieren wollen, verwenden Sie das Kommando portupgrade
   pkgname. Geben Sie den Schalter -R an, wenn portupgrade zuvor alle
   Ports aktualisieren soll, die von dem gegebenen Paket abha:ngen.

   Der Schalter -P verwendet zur Installation Pakete anstelle von
   Ports. Mit dieser Option durchsucht portupgrade die in der
   Umgebungsvariablen PKG_PATH aufgefu:hrten Verzeichnisse nach
   Paketen. Sind lokal keine Pakete vorhanden, versucht portupgrade
   die Pakete u:ber das Netz herunterzuladen. Gibt es die Pakete
   weder lokal noch auf entfernten Rechnern, werden die Ports
   verwendet. Um dies zu verhindern, benutzen Sie die Option -PP.

 # portupgrade -PP gnome2

   Wenn Sie nur die Quelldateien des Ports (oder die Pakete mit -P)
   herunterladen mo:chten, ohne die Anwendung zu bauen oder zu
   installieren, geben Sie die Option -F an. Weitere Mo:glichkeiten
   lesen Sie bitte in der Hilfeseite portupgrade(1) nach.

     --------------------------------------------------------------

    4.5.4.3. Ports mit Portmanager aktualisieren

   Portmanager ist ein weiteres Werkzeug, das die Aktualisierung
   installierter Ports erleichtert. Es kann u:ber den Port
   ports-mgmt/portmanager installiert werden:

 # cd /usr/ports/ports-mgmt/portmanager
 # make install clean

   Alle installierten Ports ko:nnen danach durch folgende Eingabe
   aktualisiert werden:

 # portmanager -u

   Wenn Sie zusa:tzlich die Optionen -ui an Portmanager u:bergeben,
   werden Sie bei jedem Schritt um eine Besta:tigung gefragt.
   Portmanager ist ausserdem in der Lage, neue Ports auf Ihrem System
   zu installieren. Im Gegensatz zum bekannten make install clean
   aktualisiert es aber vor dem Bau und der Installation eines Ports
   alle abha:ngigen Ports.

 # portmanager x11/gnome2

   Treten bei den Abha:ngigkeiten des zu installierenden Ports
   Probleme auf, ist Portmanager in der Lage, alle Abha:ngigkeiten in
   der korrekten Reihenfolge neu zu bauen. Nachdem dieser Schritt
   abgeschlossen ist, wird der problematische Port ebenfalls neu
   gebaut.

 # portmanager graphics/gimp -f

   Weitere Informationen finden Sie in der Manualpage portmanager(1).

     --------------------------------------------------------------

    4.5.4.4. Ports mit Portmaster aktualisieren

   Bei Portmaster handelt es sich um ein weiteres Werkzeug zum
   Aktualisieren von Ports. Portmaster nutzt nur Werkzeuge, die
   bereits im Basissystem vorhanden sind (ist also nicht von weiteren
   Ports abha:ngig). Es verwendet Informationen in /var/db/pkg/, um
   festzustellen, welche Ports aktualisiert werden sollen. Sie
   ko:nnen dieses Program u:ber den Port ports-mgmt/portmaster
   installieren:

 # cd /usr/ports/ports-mgmt/portmaster
 # make install clean

   Portmaster teilt Ports in vier Kategorien ein:

     * Root ports (no dependencies, not depended on)

     * Trunk ports (no dependencies, are depended on)

     * Branch ports (have dependencies, are depended on)

     * Leaf ports (have dependencies, not depended on)

   Um eine Liste aller installierter Ports anzuzeigen (und nach
   neueren Versionen zu suchen), verwenden Sie die Option -L:

 # portmaster -L
 ===>>> Root ports (No dependencies, not depended on)
 ===>>> ispell-3.2.06_18
 ===>>> screen-4.0.3
         ===>>> New version available: screen-4.0.3_1
 ===>>> tcpflow-0.21_1
 ===>>> 7 root ports
 ...
 ===>>> Branch ports (Have dependencies, are depended on)
 ===>>> apache-2.2.3
         ===>>> New version available: apache-2.2.8
 ...
 ===>>> Leaf ports (Have dependencies, not depended on)
 ===>>> automake-1.9.6_2
 ===>>> bash-3.1.17
         ===>>> New version available: bash-3.2.33
 ...
 ===>>> 32 leaf ports

 ===>>> 137 total installed ports
         ===>>> 83 have new versions available
        

   Um alle derzeit installierten Ports zu aktualisieren, verwenden
   Sie einfach den folgenden Befehl:

 # portmaster -a

     Anmerkung: In der Voreinstellung erzeugt Portmaster eine
     Sicherheitskopie, bevor ein installierter Port gelo:scht wird.
     Ist die Installation der neuen Version erfolgreich, wird dieses
     Backup wieder gelo:scht. Wollen Sie das Backup lieber manuell
     lo:schen, verwenden Sie die Option -b beim Aufruf von
     Portmaster. Durch die Verwendung der Option -i wird Portmaster
     im interaktiven Modus gestartet und fragt bei jedem zu
     aktualisierenden Port nach, wie Sie vorgehen wollen.

   Treten wa:hrend der Aktualisierung Fehler auf, ko:nnen Sie die
   Option -f verwenden, um alle Ports zu aktualisieren
   beziehungsweise neu zu bauen:

 # portmaster -af

   Portmaster ist auch in der Lage, neue Ports zu installieren, wobei
   zuvor alle abha:ngigen Ports aktualisiert werden:

 # portmaster shells/bash

   Weiterfu:hrende Informationen finden Sie in der Manualpage
   portmaster(8).

     --------------------------------------------------------------

  4.5.5. Platzbedarf von Ports

   Die Ports-Sammlung kann sehr viel Plattenplatz verschlingen.
   Fu:hren Sie nach dem Bau und der Installation eines Ports make
   clean aus, um die Arbeitsverzeichnisse zu lo:schen. Dieser Befehl
   entfernt das Verzeichnis work des gebauten Ports. Wollen Sie die
   gesamte Ports-Sammlung aufra:umen, verwenden Sie folgenden Befehl:

 # portsclean -C

   Im Laufe der Zeit werden sich zahlreiche Distfiles im Verzeichnis
   distfiles ansammeln. Sie ko:nnen diese entweder ha:ndisch
   lo:schen, oder Sie verwenden den folgenden Befehl, um alle
   Distfiles zu lo:schen, die nicht la:nger beno:tigt werden:

 # portsclean -D

   Falls Sie nur alle Distfiles lo:schen wollen, die von keinem
   derzeit installierten Port referenziert werden:

 # portsclean -DD

     Anmerkung: Das Werkzeug portsclean wird automatisch bei der
     Installation von portupgrade mit installiert.

   Denken Sie daran, installierte Ports wieder zu entfernen, wenn Sie
   diese nicht mehr beno:tigen. Um diese Arbeit zu erleichtern,
   ko:nnen Sie den Port ports-mgmt/pkg_cutleaves installieren.

     --------------------------------------------------------------

4.6. 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 Daemon ist, sollten Sie sicherstellen, dass die Anwendung beim
   Booten startet.

   Die einzelnen Schritte sind natu: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 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:

 # 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/
       zusa:tzliche Dokumentation.

       Wenn Sie sich nicht sicher sind, welche Version einer
       Anwendung Sie gerade installiert haben, ko:nnen Sie mit dem
       folgenden Kommando nach der Anwendung suchen:

 # pkg_info | grep -i foopackage

       Das Kommando zeigt alle installierten Pakete, deren Paketname
       foopackage entha: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(1). Schauen Sie sich auch die
       Beispiele fu:r Konfigurationsdateien und die zusa:tzliche
       Dokumentation, wenn es welche gibt, an.

     * Wenn es fu:r die Anwendung eine Webseite gibt, suchen Sie dort
       nach zusa:tzlicher Dokumentation wie FAQs (ha:ufig gestellte
       Fragen). Wenn Sie die Adresse der Webseite nicht kennen,
       versuchen Sie das folgende Kommando:

 # pkg_info foopackage-1.0.0

       Die Ausgabe entha:lt oft eine Zeile, die mit WWW: beginnt und
       die URL der Webseite entha:lt.

     * Ports, die wa:hrend des Systemstarts gestartet werden sollen,
       installieren meist ein Beispielskript im Verzeichnis
       /usr/local/etc/rc.d. U:berpru:fen Sie dieses Skript. Wenn
       no:tig, passen Sie das Skript an und benennen Sie es um.
       Weitere Informationen finden Sie in Abschnitt 11.5.

     --------------------------------------------------------------

4.7. Kaputte Ports

   Stolpern Sie einmal u:ber einen Port, der bei Ihnen nicht
   funktioniert, ko:nnten Sie zum Beispiel Folgendes tun:

    1. Stellen Sie fest, ob die Datenbank mit den Problemberichten
       bereits einen Lo:sungsvorschlag entha:lt. Ist dies der Fall,
       ko:nnen Sie die vorgeschlagene Lo:sung testen.

    2. Bitten Sie den Betreuer des Ports um Hilfe. 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.

         Anmerkung: Einige Ports werden nicht von einer Einzelperson,
         sondern von einer Mailingliste betreut. Viele (aber nicht
         alle) dieser Adressen haben die Form
         <freebsd-NameDerListe@FreeBSD.org>. Denken Sie daran, wenn
         Sie Ihre Fragen formulieren.

         Dies gilt insbesondere fu:r Ports, die als als Betreuer den
         Eintrag <freebsd-ports@FreeBSD.org> aufweisen. Derartige
         Ports haben u:berhaupt keinen Betreuer. Korrekturen und
         Unterstu:tzung kommen daher nur von Personen, die diese
         Mailingliste abonniert haben. Gerade in diesem Bereich
         werden jederzeit zusa:tzliche freiwillige Helfer beno:tigt!

       Erhalten Sie auf Ihre Anfrage keine Antwort, ko:nnen Sie u:ber
       send-pr(1) einen Problembericht erstellen. Bevor Sie einen
       solchen Bericht erstellen, sollten Sie den Artikel Writing
       FreeBSD Problem Reports lesen.

    3. Reparieren Sie ihn! Das FreeBSD Porter's Handbook entha:lt
       eine detaillierte Beschreibung des Portsystems. Damit sind Sie
       in der Lage, einen gelegentlich kaputten Port zu reparieren
       oder einen eigenen Port zu erstellen.

    4. Holen Sie sich das Paket von einem FTP-Server in Ihrer Na:he.
       Die "Basis"-Sammlung aller Pakete liegt auf ftp.de.FreeBSD.org
       im Verzeichnis packages. Aber versuchen Sie zuerst einen
       Spiegel in Ihrer Na:he! Benutzen Sie das Programm pkg_add(1),
       um Pakete auf Ihrem Rechner zu installieren. Dies hat zudem
       den Vorteil, dass es schneller geht.

     --------------------------------------------------------------

                     Kapitel 5. Das X-Window-System

   Erweitert um X.Orgs X11-Server von Ken Tom und Marc Fonvieille.
   U:bersetzt von Martin Heinen.

5.1. U:bersicht

   Mit X11 steht unter FreeBSD eine leistungsfa:hige frei verfu:gbare
   grafische Benutzeroberfla:che zur Verfu:gung, die sowohl in Xorg
   und XFree86 (sowie in weiteren, hier nicht diskutierten Varianten)
   implementiert wurde. Bis einschliesslich FreeBSD 5.2.1-RELEASE
   wurde standardma:ssig XFree86, der X11-Server von The XFree86
   Project, Inc., installiert. Seit FreeBSD 5.3-RELEASE ist Xorg von
   der X.Org Foundation der voreingestellte X11-Server, der unter
   einer Lizenz a:hnlich der von FreeBSD steht. Zusa:tzlich sind
   einige kommerzielle X-Server fu:r FreeBSD verfu:gbar.

   Dieses Kapitel behandelt die Installation und Konfiguration von
   X11; der Schwerpunkt liegt auf Xorg 7.4. Informationen zur
   Konfiguration von XFree86 (beispielsweise auf a:lteren Versionen
   von FreeBSD, unter denen XFree86 noch der Standard-X-Server war)
   sowie von a:teren Xorg-Versionen finden Sie weiterhin in den
   archivierten Versionen des FreeBSD-Handbuchs unter
   http://docs.FreeBSD.org/doc/.

   Auskunft u:ber von X11 unterstu:tzte Video-Hardware gibt die
   Webseite Xorg.

   Nachdem Sie dieses Kapitel gelesen haben, werden Sie

     * die Komponenten des X-Window-Systems und ihr Zusammenspiel
       kennen.

     * Wissen, wie X11 installiert und konfiguriert wird.

     * Wissen, wie Sie verschiedene Window-Manager installieren und
       benutzen.

     * Wissen, wie TrueType(R)-Schriftarten mit X11 benutzt werden.

     * Wissen, wie Sie die grafische Anmeldung (XDM) einrichten.

   Bevor Sie dieses Kapitel lesen, sollten Sie

     * wissen, wie Sie Software Dritter installieren (Kapitel 4).

     --------------------------------------------------------------

5.2. X-Grundlagen

   Anwendern anderer grafischer Benutzeroberfla:chen, wie
   Microsoft Windows oder Mac OS, kommt X beim ersten Mal oft
   befremdlich vor.

   Man braucht kein weitreichendes Versta:ndnis der X-Komponenten und
   Ihres Zusammenspiels, um X anzuwenden. Um die Sta:rken von X
   auszunutzen, sollten Sie allerdings die Grundlagen verstehen.

     --------------------------------------------------------------

  5.2.1. Warum heisst es X?

   X ist nicht die erste grafische Benutzeroberfla:che, die fu:r UNIX
   geschrieben wurde. Die Entwickler von X arbeiteten vorher an einem
   anderen System, das W (von engl. window: Fenster) hiess. X ist
   schlicht der na: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 X(7) fu:hrt dies na:her aus).

     --------------------------------------------------------------

  5.2.2. Das Client/Server-Modell von X

   X wurde von Anfang an netzwerktransparent entworfen und verwendet
   ein Client-Server-Modell. In diesem Modell la:uft der Server auf
   dem Rechner, an dem die Tastatur, der Bildschirm und die Maus
   angeschlossen ist. Der Server ist fu:r Dinge wie die Verwaltung
   des Bildschirms und die Verarbeitung von Tastatur- und
   Maus-Eingaben sowie anderer Ein- und Ausgabegera:te
   (beispielsweise ko:nnte ein "Tablet" zur Eingabe oder ein
   Videoprojektor zur Ausgabe verwendet werden) 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
   gedru:ckt".

   In kleinen Umgebungen laufen der X-Server und die X-Clients auf
   demselben Rechner. Es ist aber durchaus mo:glich, den X-Server auf
   einem weniger leistungsfa:higen Arbeitsplatzrechner laufen zu
   lassen und die X-Anwendungen (die Clients) auf dem
   leistungsfa:higen und teuren Server der Arbeitsgruppe zu
   betreiben. In diesem Fall kommunizieren der X-Server und die
   X-Clients u: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 unabha:ngig vom verwendeten Betriebssystem und
   Rechnertyp. Ein X-Server kann durchaus auch unter
   Microsoft Windows oder Apples Mac OS betrieben werden, wie viele
   kostenlose und kommerzielle Anwendungen zeigen.

     --------------------------------------------------------------

  5.2.3. Der Window-Manager

   Die X-Philosophie "Werkzeuge statt Richtlinien" ist wie die
   UNIX-Philosophie. Es wird nicht vorgeschrieben, wie eine Aufgabe
   zu lo:sen ist, stattdessen erha:lt der Benutzer Werkzeuge, u:ber
   die er frei verfu: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 Schaltfla:chen zum Schliessen haben.

   X gibt die Verantwortung fu: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 Verfu:gung, in anderen lassen sich die
   Tastenkombinationen zur Verwaltung des Bildschirms anpassen,
   einige besitzen eine Startleiste oder etwas A:hnliches und in
   manchen la:sst sich das Aussehen und Verhalten u: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 Benutzeroberfla: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 fu:r die meisten Konfigurationsarbeiten an.
   Die Konfigurationsdatei von Sawfish ist sogar in einem
   Lisp-Dialekt geschrieben.

     Fokus: Der Window-Manager ist fu: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 gela: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 erha: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 erha: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
             Oberfla: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 verla:sst.

     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, unabha:ngig von der
             Position des Mauszeigers, dem aktiven Fenster
             zugeordnet.

     Viele Window-Manager unterstu:tzen noch andere Methoden, so wie
     Abwandlungen der hier vorgestellten Methoden. Schauen Sie sich
     dazu bitte die Hilfeseiten Ihres Window-Managers an.

     --------------------------------------------------------------

  5.2.4. Widgets

   Die X-Philosophie dehnt sich auch auf die Widgets aus, die von den
   Anwendungen benutzt werden.

   Ein Widget bezeichnet Objekte, die manipuliert werden ko:nnen, wie
   buttons (Schaltfla:chen), check buttons (Mehrfachauswahlknopf),
   radio buttons (Einfachauswahlknopf), Icons und Auswahllisten.
   Unter Microsoft Windows werden Widgets Controls genannt.

   Microsoft Windows und Apples Mac OS geben strenge Richtlinien fu: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 mu: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(R) (abgeschra:gte Ecken und drei Grauto: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.

     --------------------------------------------------------------

5.3. X11 installieren

   Xorg ist der Standard-X-Server unter FreeBSD. Xorg ist der von der
   X.Org Foundation herausgegebene X-Server des Open-Source X Window
   Systems. Xorg beruht auf XFree86 4.4RC2 und X11R6.6. Derzeit ist
   die Version 7.4 von Xorg in der Ports-Sammlung vorhanden.

   Die nachstehenden Kommandos bauen und installieren Xorg aus der
   Ports-Sammlung:

 # cd /usr/ports/x11/xorg
 # make install clean

     Anmerkung: Der komplette Bau von Xorg beno:tigt mindestens 4 GB
     freien Plattenplatz.

   Mit pkg_add(1) ko:nnen Sie X11 direkt von fertigen Paketen
   installieren. Wenn pkg_add(1) die Pakete herunterla:dt, lassen Sie
   die Versionsnummer aus. pkg_add(1) holt automatisch die aktuelle
   Version eines Pakets.

   Das Xorg-Paket holen und installieren Sie wie folgt:

 # pkg_add -r xorg

     Anmerkung: Die obigen Beispiele installieren die vollsta:ndige
     X11-Distribution, die unter anderem Server, Clients und Fonts
     entha:lt. Fu:r die einzelnen Teile der Distribution gibt es
     ebenfalls separate Pakete.

   Der Rest dieses Kapitels erkla:rt, wie Sie X11 konfigurieren und
   sich eine Arbeitsumgebung einrichten.

     --------------------------------------------------------------

5.4. X11 konfigurieren

   Beigetragen von Christopher Shumway.

     --------------------------------------------------------------

  5.4.1. Vorarbeiten

   Bevor Sie X11 konfigurieren, beno:tigen Sie folgende
   Informationen:

     * die Spezifikationen des Monitors

     * den Chipset des Grafikadapters

     * die Speichergro:sse des Grafikadapters

   Aus den Spezifikationen des Monitors ermittelt X11 die Auflo:sung
   und die Wiederholrate fu:r den Betrieb des X-Servers. Die
   Spezifikationen entnehmen Sie der Dokumentation des Monitors oder
   der Webseite des Herstellers. Sie beno:tigen die horizontale und
   die vertikale Synchronisationsfrequenz.

   Der Chipsatz der Grafikkarte bestimmt den Treiber, den X11
   verwendet. Die meisten Chipsa:tze werden automatisch erkannt, Sie
   brauchen die Information jedoch, wenn die Erkennung fehlschla:gt.

   Die Speichergro:sse der Grafikkarte bestimmt die maximal mo:gliche
   Auflo:sung und Farbtiefe.

     --------------------------------------------------------------

  5.4.2. X11 konfigurieren

   Ab Version 7.3 funktioniert Xorg ha:ufig auch, ohne dass Sie eine
   eigene Konfigurationsdatei anlegen mu:ssen. Sie mu:ssen dann nur
   den folgenden Befehl eingeben:

 % startx

   Funktioniert dies auf Ihrem System nicht (oder wollen Sie nicht
   mit den Standardeinstellungen arbeiten), mu:ssen Sie X11 weiterhin
   manuell konfigurieren. Dazu erstellen Sie als erstes eine Vorgabe
   fu:r die Konfigurationsdatei. Setzen Sie dazu als root den
   folgenden Befehl ab:

 # Xorg -configure

   Die Vorgabe-Konfiguration wird dann unter dem Namen xorg.conf.new
   im Verzeichnis /root gespeichert (das verwendete Verzeichnis wird
   durch die Umgebungsvariable $HOME bestimmt und ha:ngt davon ab,
   wie Sie zu root gewechselt sind). X11 hat in diesem Schritt
   versucht, die Grafik-Hardware des Systems zu erkennen und eine
   Konfigurationsdatei ausgeschrieben, die zur Hardware passende
   Treiber la:dt.

   Im na:chsten Schritt wird gepru:ft, ob Xorg die Grafik-Hardware
   des Systems verwenden kann. Setzen Sie dazu den folgenden Befehl
   ab:

 # Xorg -config xorg.conf.new

   Wenn jetzt ein graues Raster und der X-Mauszeiger erscheinen, war
   die Konfiguration erfolgreich. Beenden Sie den Test indem Sie
   Ctrl+Alt+Backspace dru:cken.

     Anmerkung: Wenn die Maus nicht funktioniert, pru:fen Sie, ob die
     Maus konfiguriert wurde. Die Mauskonfiguration wird in Abschnitt
     2.10.10 beschrieben.

   Als Na:chstes passen Sie xorg.conf.new an. O:ffnen Sie die Datei
   in einem Editor, wie emacs(1) oder ee(1) und fu: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 Umsta:nden fehlen die Schlu:sselwo:rter HorizSync und
   VertRefresh, die Sie dann nachtragen mu:ssen. Geben Sie, wie im
   Beispiel gezeigt, die horizontale Synchronisationsfrequenz hinter
   HorizSync und die vertikale Synchronisationsfrequenz hinter
   VertRefresh an.

   X unterstu:tzt die Energiesparfunktionen (DPMS, Energy Star) Ihres
   Monitors. Mit xset(1) ko:nnen Sie Zeitschranken fu:r die DPMS-Modi
   "standby", "suspend", "off" vorgeben, oder diese zwingend
   aktivieren. Die DPMS-Funktionen ko:nnen Sie mit der nachstehenden
   Zeile im "Monitor"-Abschnitt aktivieren:

 Option       "DPMS"

   Die gewu:nschte Auflo:sung und Farbtiefe stellen Sie im Abschnitt
   "Screen" ein:

 Section "Screen"
         Identifier "Screen0"
         Device     "Card0"
         Monitor    "Monitor0"
         DefaultDepth 24
         SubSection "Display"
                 Viewport  0 0
                 Depth     24
                 Modes     "1024x768"
         EndSubSection
 EndSection

   Mit DefaultDepth wird die Farbtiefe des X-Servers vorgegeben. Mit
   der Option -depth von Xorg(1) la:sst sich die vorgegebene
   Farbtiefe u:berschreiben. Modes gibt die Auflo:sung fu:r die
   angegebene Farbtiefe an. Die Farbtiefe im Beispiel betra:gt
   24 Bits pro Pixel, die zugeho:rige Auflo:sung ist 1024x768 Pixel.
   Beachten Sie, dass in der Voreinstellung nur Standard-VESA-Modi
   der Grafikkarte angegeben werden ko:nnen.

   Sichern Sie die Konfigurationsdatei und testen Sie die
   Konfiguration wie oben beschrieben.

     Anmerkung: Bei der Fehlersuche sind Ihnen die Protokolle des
     X11-Servers behilflich. In den Protokollen wird die gefundene
     Graphik-Hardware protokolliert. Die Protokolle von Xorg heissen
     /var/log/Xorg.0.log. Die Dateinamen enthalten eine laufende
     Nummer, der Name variiert daher von Xorg.0.log zu Xorg.8.log.

   Wenn alles funktioniert hat, installieren Sie die Datei an einen
   Ort, an dem Xorg(1) sie findet. Normalerweise wird die
   Konfigurationsdatei unter /etc/X11/xorg.conf oder
   /usr/local/etc/X11/xorg.conf gespeichert:

 # cp xorg.conf.new /etc/X11/xorg.conf

   Damit ist die X11-Konfiguration beendet und Xorg kann nun mithilfe
   von startx(1) gestartet werden. Alternativ ko:nnen Sie X11 auch
   mit xdm(1) starten.

     Anmerkung: Sie ko:nnen X11 auch mit dem graphischen Werkzeug
     xorgcfg(1) konfigurieren. Mit diesem Werkzeug ko:nnen Sie
     Treiber auswa:hlen und Einstellungen vornehmen. Das Werkzeug
     kann auch auf der Konsole benutzt werden, starten Sie es einfach
     mit xorgcfg -textmode. Weiteres erfahren Sie in den Hilfeseiten
     xorgcfg(1).

     Weiterhin gibt es noch das Werkzeug xorgconfig(1). Dieses
     Konsolenwerkzeug ist zwar schwerer zu handhaben, funktioniert
     aber auch in Situationen, in denen die anderen Werkzeuge nicht
     funktionieren.

     --------------------------------------------------------------

  5.4.3. Spezielle Konfigurationen

    5.4.3.1. Konfiguration des Intel(R) i810 Graphics Chipsets

   Der Intel i810-Chipset beno:tigt den Treiber agpgart, die
   AGP-Schnittstelle von X11. Weitere Informationen finden sich in
   agp(4).

   Ab jetzt kann die Hardware wie jede andere Grafikkarte auch
   konfiguriert werden. Der Treiber agp(4) kann nicht nachtra:glich
   mit kldload(8) in einen laufenden Kernel geladen werden. Er muss
   entweder fest im Kernel eingebunden sein oder beim Systemstart
   u:ber /boot/loader.conf geladen werden.

     --------------------------------------------------------------

    5.4.3.2. Einen Widescreen-Monitor einsetzen

   Dieser Abschnitt geht u:ber die normalen Konfigurationsarbeiten
   hinaus und setzt einiges an Vorwissen voraus. Selbst wenn die
   Standardwerkzeuge zur X-Konfiguration bei diesen Gera:ten nicht
   zum Erfolg fu:hren, sollten sich in den Logdateien genug
   Informationen finden, mit denen Sie letztlich doch einen
   funktionierenden X-Server konfigurieren ko:nnen. Alles, was Sie
   dazu noch beno:tigen, ist ein Texteditor.

   Aktuelle Widescreen-Formate (wie WSXGA, WSXGA+, WUXGA, WXGA,
   WXGA+, und andere mehr) unterstu:tzen Seitenverha:ltnisse wie
   16:10 oder 10:9, die unter X Probleme verursachen ko:nnen. Bei
   einem Seitenverha:ltnis von 16:10 sind beispielsweise folgende
   Auflo:sungen mo:glich:

     * 2560x1600

     * 1920x1200

     * 1680x1050

     * 1440x900

     * 1280x800

   Diese Konfiguration ko:nnte so einfach sein wie das zusa:tzliche
   Anlegen eines Eintrags einer dieser Auflo:sungen als ein
   mo:glicher Mode in Section "Screen":

 Section "Screen"
 Identifier "Screen0"
 Device     "Card0"
 Monitor    "Monitor0"
 DefaultDepth 24
 SubSection "Display"
         Viewport  0 0
         Depth     24
         Modes     "1680x1050"
 EndSubSection
 EndSection

   Xorg ist normalerweise intelligent genug, um die Informationen zu
   den erlaubten Auflo:sungen u:ber I2C/DDC zu beziehen, und weiss
   daher, welche Auflo:sungen und Frequenzen Ihr Widescreen-Monitor
   unterstu:tzt.

   Wenn diese ModeLines in den Treiberdateien nicht vorhanden sind,
   kann es sein, dass Sie Xorg beim Finden der korrekten Werte
   unterstu:tzen mu:ssen. Dazu extrahieren Sie die beno:tigten
   Informationen aus der Datei /var/log/Xorg.0.log und erzeugen
   daraus eine funktionierende ModeLine. Dazu suchen Sie in dieser
   Datei nach Zeilen a:hnlich den folgenden:

 (II) MGA(0): Supported additional Video Mode:
 (II) MGA(0): clock: 146.2 MHz   Image Size:  433 x 271 mm
 (II) MGA(0): h_active: 1680  h_sync: 1784  h_sync_end 1960 h_blank_end 2240 h_border: 0
 (II) MGA(0): v_active: 1050  v_sync: 1053  v_sync_end 1059 v_blanking: 1089 v_border: 0
 (II) MGA(0): Ranges: V min: 48  V max: 85 Hz, H min: 30  H max: 94 kHz, PixClock max 170 MHz

   Diese Informationen werden auch als EDID-Informationen bezeichnet.
   Um daraus eine funktionierende ModeLine zu erzeugen, mu:ssen Sie
   lediglich die Zahlen in die korrekte Reihenfolge bringen:

 ModeLine <name> <clock> <4 horiz. timings> <4 vert. timings>

   Die korrekte ModeLine in Section "Monitor" wu:rde fu:r dieses
   Beispiel folgendermassen aussehen:

 Section "Monitor"
 Identifier      "Monitor1"
 VendorName      "Bigname"
 ModelName       "BestModel"
 ModeLine        "1680x1050" 146.2 1680 1784 1960 2240 1050 1053 1059 1089
 Option          "DPMS"
 EndSection

   Nachdem diese A:derungen durchgefu:hrt sind, sollte X auch auf
   Ihrem neuen Widescreen-Monitor starten.

     --------------------------------------------------------------

5.5. Schriftarten in X11 benutzen

   Beigetragen von Murray Stokely.

  5.5.1. Type 1 Schriftarten

   Die Schriftarten, die mit X11 geliefert werden, eignen sich ganz
   und gar nicht fu:r Desktop-Publishing-Anwendungen. Grosse
   Schriftarten zeigen bei Pra:sentationen deutliche Treppenstufen
   und die kleinen Schriftarten in Netscape sind fast unleserlich. Es
   gibt allerdings mehrere hochwertige Type 1 Schriftarten
   (PostScript(R)), die mit X11 benutzt werden ko:nnen.
   Beispielsweise enthalten die URW-Schriftarten (x11-fonts/urwfonts)
   hochwertige Versionen ga:ngiger Type 1 Schriftarten (zum Beispiel
   Times Roman(R), Helvetica(R), Palatino(R)). Die Sammlung Freefonts
   (x11-fonts/freefonts) entha:lt noch mehr Schriftarten, doch sind
   diese fu:r den Einsatz in Grafik-Programmen wie The Gimp gedacht.
   Es fehlen auch einige Schriftarten, sodass sich die Sammlung nicht
   fu:r den allta:glichen Gebrauch eignet. Weiterhin kann X11 leicht
   so konfiguriert werden, dass es TrueType-Schriftarten verwendet.
   Mehr dazu erfahren Sie in der Hilfeseite X(7) und im Abschnitt
   TrueType Schriftarten.

   Die Type 1 Schriftarten lassen sich aus der Ports-Sammlung wie
   folgt installieren:

 # cd /usr/ports/x11-fonts/urwfonts
 # make install clean

   Analog lassen sich Freefont und andere Sammlungen installieren.
   Die neuen Schriftarten mu:ssen Sie in die Konfigurationsdatei des
   X-Servers im Verzeichnis /etc/X11 eintragen. Die
   Konfigurationsdatei von Xorg heisst xorg.conf. Fu:gen Sie die
   folgende Zeile hinzu:

 FontPath "/usr/local/lib/X11/fonts/URW/"

   Sie ko:nnen aber auch in der X-Sitzung das folgende Kommando
   absetzen:

 % xset fp+ /usr/local/lib/X11/fonts/URW
 % xset fp rehash

   Dann kennt der X-Server die neuen Schriftarten nur bis zum Ende
   der Sitzung. Wenn die A:nderung dauerhaft sein soll, mu:ssen Sie
   die Kommandos in ~/.xinitrc eintragen, wenn Sie X mit startx
   starten, oder in ~/.xsession, wenn Sie XDM benutzen. Sie ko:nnen
   die Schriftarten auch in die neue Datei
   /usr/local/etc/fonts/local.conf, die im Abschnitt Anti-aliasing
   beschrieben wird, eintragen.

     --------------------------------------------------------------

  5.5.2. TrueType(R)-Schriftarten

   Xorg 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, u:bereinstimmt. Das Freetype-Modul aktivieren Sie im
   Abschnitt "Module" von /etc/X11/xorg.conf durch Einfu:gen der
   Zeile:

 Load  "freetype"

   Erstellen Sie ein Verzeichnis fu:r die TrueType-Schriftarten (z.B.
   /usr/local/lib/X11/fonts/TrueType) und kopieren Sie alle
   Schriftarten dorthin. Die Schriftarten mu:ssen im
   UNIX/MS-DOS/Windows-Format vorliegen, Schriftarten von einem
   Macintosh(R) ko:nnen Sie nicht direkt u:bernehmen. Die
   Schriftarten mu:ssen noch im Katalog fonts.dir erfasst werden. Den
   Katalog erzeugen Sie mit dem Kommando ttmkfdir aus dem Port
   x11-fonts/ttmkfdir:

 # cd /usr/local/lib/X11/fonts/TrueType
 # ttmkfdir -o fonts.dir

   Geben Sie dem System das TrueType-Verzeichnis, wie im Abschnitt
   Type 1 Schriftarten beschrieben, bekannt:

 % xset fp+ /usr/local/lib/X11/fonts/TrueType
 % xset fp rehash

   Oder fu:gen Sie eine FontPath-Zeile in die Datei xorg.conf ein.

   Das war's. Jetzt sollten Netscape, Gimp, StarOffice(TM) und alle
   anderen X-Anwendungen die TrueType-Schriftarten benutzen. Extrem
   kleine Schriftarten (Webseiten, die mit hoher Auflo:sung
   betrachtet werden) und sehr grosse Schriftarten (in StarOffice)
   sollten jetzt viel besser aussehen.

     --------------------------------------------------------------

  5.5.3. Anti-aliasing

   Aktualisiert von Joe Marcus Clarke.

   X11 beherrscht das Anti-aliasing-Verfahren seit XFree86 4.0.2. Die
   Konfiguration der Schriftarten war vor XFree86 4.3.0 ziemlich
   schwierig. Ab XFree86 4.3.0 stehen alle Schriftarten in
   /usr/local/lib/X11/fonts/ und ~/.fonts/ automatisch fu:r das
   Anti-aliasing-Verfahren mit Anwendungen, die Xft unterstu:tzen,
   zur Verfu:gung. Es gibt schon viele Anwendungen, die Xft
   unterstu:tzen, zum Beispiel: Qt 2.3 und ho:here Versionen (das
   KDE-Toolkit), GTK+ 2.0 und ho:here Versionen (das GNOME-Toolkit)
   sowie Mozilla 1.2 und ho:here Versionen.

   In der Datei /usr/local/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
   fonts-conf(5).

   Die Datei local.conf ist ein XML-Dokument. Achten Sie beim
   Editieren der Datei daher auf die richtige Gross- und
   Kleinschreibung und darauf, dass alle Tags geschlossen sind. Die
   Datei beginnt mit der u:blichen XML-Deklaration gefolgt von einer
   DOCTYPE-Definition und dem <fontconfig>-Tag:

         <?xml version="1.0"?>
         <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
         <fontconfig>
      

   Wie vorher erwa:hnt, stehen schon alle Schriftarten in
   /usr/local/lib/X11/fonts/ und ~/.fonts/ fu:r Anwendungen, die Xft
   unterstu:tzen, zur Verfu:gung. Wenn Sie ein Verzeichnis ausserhalb
   dieser beiden Ba:ume benutzen wollen, fu:gen Sie eine Zeile wie
   die nachstehende zu /usr/local/etc/fonts/local.conf hinzu:

 <dir>/path/to/my/fonts</dir>

   Wenn Sie neue Schriftarten hinzugefu:gt haben, mu:ssen Sie den
   Schriftarten-Cache neu aufbauen:

 # fc-cache -f

   Das Anti-aliasing-Verfahren zeichnet Ra:nder leicht unscharf,
   dadurch werden kleine Schriften besser lesbar und der
   Treppenstufen-Effekt bei wird grossen Schriften vermieden. Auf
   normale Schriftgro:ssen sollte das Verfahren aber nicht angewendet
   werden, da dies die Augen zu sehr anstrengt. Um kleinere
   Schriftgro:ssen als 14 Punkt von dem Verfahren auszunehmen, fu: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>
         <match target="font">
             <test name="pixelsize" compare="less" qual="any">
                 <double>14</double>
             </test>
             <edit mode="assign" name="antialias">
                 <bool>false</bool>
             </edit>
         </match>

   Das Anti-aliasing-Verfahren kann die Absta:nde einiger
   Fixschriften falsch darstellen, dies fa:llt besonders unter KDE
   auf. Sie ko:nnen das Problem umgehen, indem Sie die Absta:nde
   dieser Schriften auf den Wert 100 festsetzen. Fu: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 gebra:uchlichen Fixschriften auf "mono"
   abgebildet. Fu: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, ko:nnen Probleme mit dem
   Anti-Aliasing-Verfahren verursachen. In der Regel erscheinen diese
   Schriftarten dann vertikal halbiert. Im schlimmsten Fall stu: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 A:nderungen nicht beru:cksichtigt.

   Die mit X11 gelieferten Schriftarten eignen sich nicht besonders
   fu:r das Anti-Aliasing-Verfahren. Der Port
   x11-fonts/bitstream-vera entha:lt viel besser geeignete
   Schriftarten. Wenn sie noch nicht existiert, legt der Port die
   Datei /usr/local/etc/fonts/local.conf an. Ansonsten erzeugt der
   Port die Datei /usr/local/etc/fonts/local.conf-vera, deren Inhalt
   Sie in /usr/local/etc/fonts/local.conf aufnehmen mu:ssen. Danach
   werden die X11-Schriftarten Serif, Sans Serif und Monospaced durch
   die entsprechenden Bitstream-Schriftarten ersetzt.

   Benutzer ko:nnen eigene Einstellungen in der Datei ~/.fonts.conf
   vornehmen. Achten Sie auch hier auf die richtige XML-Syntax.

   Mit einem LCD ko:nnen Sie sub-pixel sampling anstelle von
   Anti-aliasing einsetzen. Dieses Verfahren behandelt die horizontal
   getrennten Rot-, Gru:n- und Blau-Komponenten eines Pixels
   gesondert und verbessert damit (teilweise sehr wirksam) die
   horizontale Auflo: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>

   Abha:ngig von der Organisation Ihres Bildschirms mu:ssen Sie bgr
   anstelle von rgb verwenden. Experimentieren Sie und schauen Sie,
   was besser aussieht.

   Der na:chste Start des X-Servers aktiviert das
   Anti-aliasing-Verfahren. Beachten Sie, dass die Anwendungen dieses
   Verfahren auch benutzen mu:ssen. Zurzeit wird das Verfahren von Qt
   und damit von KDE benutzt. GTK+ und GNOME ko:nnen das Verfahren
   mit dem "Font-capplet" benutzen (Details entnehmen Sie bitte
   Abschnitt 5.7.1.3). Ab der Version 1.2 benutzt Mozilla automatisch
   das Anti-Aliasing Verfahren. Dies ko:nnen Sie verhindern, wenn Sie
   beim U:bersetzen von Mozilla die Option -DWITHOUT_XFT angeben.

     --------------------------------------------------------------

5.6. Der X-Display-Manager

   Beigetragen von Seth Kingsley.

  5.6.1. Einfu:hrung

   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 leistungsfa:higen Netzwerkservern,
   nutzbringend eingesetzt werden. Da das X-Window-System
   netzwerktransparent ist, gibt es zahlreiche Mo:glichkeiten,
   X-Clients und X-Server auf unterschiedlichen Rechnern im Netz
   laufen zu lassen. XDM stellt eine grafische Anmeldemaske zur
   Verfu:gung, in der Sie den Rechner, auf dem eine Sitzung laufen
   soll, auswa:hlen ko:nnen und in der Sie die no:tigen
   Autorisierungs-Informationen, wie Benutzername und Passwort,
   eingeben ko:nnen.

   Die Funktion des X-Display-Managers la:sst sich mit der von
   getty(8) (siehe Abschnitt 26.3.2) 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 heisst der Benutzer die Sitzung beendet hat.
   Nachdem die Sitzung beendet ist, zeigt XDM den grafischen
   Anmeldebildschirm fu:r den na:chsten Benutzer an.

     --------------------------------------------------------------

  5.6.2. XDM einrichten

   Der XDM-Daemon befindet sich in /usr/local/bin/xdm und kann
   jederzeit von root gestartet werden. Er verwaltet dann den
   X-Bildschirm des lokalen Rechners. XDM la:sst sich bequem mit
   einem Eintrag in /etc/ttys (siehe Abschnitt 26.3.2.1) bei jedem
   Start des Rechners aktivieren. In /etc/ttys sollte schon der
   nachstehende Eintrag vorhanden sein:

 ttyv8   "/usr/local/bin/xdm -nodaemon"  xterm   off secure

   In der Voreinstellung ist dieser Eintrag nicht aktiv. Um den
   Eintrag zu aktivieren, a:ndern Sie den Wert in Feld 5 von off zu
   on und starten Sie init(8) entsprechend der Anleitung in Abschnitt
   26.3.2.2 neu. Das erste Feld gibt den Namen des Terminals an, auf
   dem das Programm la:uft. Im Beispiel wird ttyv8 verwendet, das
   heisst XDM la:uft auf dem neunten virtuellen Terminal.

     --------------------------------------------------------------

  5.6.3. XDM konfigurieren

   Das Verhalten und Aussehen von XDM steuern Sie mit
   Konfigurationsdateien, die im Verzeichnis /usr/local/lib/X11/xdm
   stehen. U:blicherweise finden Sie dort die folgenden Dateien vor:

     Datei                         Beschreibung                       
   Xaccess    Regelsatz, der zur Autorisierung von Clients benutzt    
              wird.                                                   
   Xresources Vorgabewerte fu:r X-Ressourcen.                         
   Xservers   Liste mit lokalen und entfernten Bildschirmen, die      
              verwaltet werden.                                       
   Xsession   Vorgabe fu:r das Startskript der Sitzung.               
   Xsetup_*   Skript, das dazu dient, Anwendungen vor der Anmeldung   
              zu starten.                                             
   xdm-config Konfiguration fu: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/local/lib/X11/xdm befinden sich auch noch
   Skripten und Programme, die zum Einrichten der XDM-Oberfla:che
   dienen. Der Zweck dieser Dateien und der Umgang mit ihnen wird in
   der Hilfeseite xdm(1) erkla: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 grosser Schrift steht. Darunter befinden
   sich die Eingabeaufforderungen Login: und Password:. Mit dieser
   Maske ko:nnen Sie anfangen, wenn Sie das Erscheinungsbild von XDM
   vera:ndern wollen.

     --------------------------------------------------------------

    5.6.3.1. Xaccess

   Verbindungen zu XDM werden u:ber das "X Display Manager Connection
   Protocol" (XDMCP) hergestellt. XDMCP-Verbindungen von entfernten
   Maschinen werden u:ber den Regelsatz in Xaccess kontrolliert.
   Diese Datei wird allerdings ignoriert, wenn in xdm-config keine
   Verbindungen entfernter Maschinen erlaubt sind (dies ist auch die
   Voreinstellung).

     --------------------------------------------------------------

    5.6.3.2. 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 X11-Dokumentation
   beschrieben sind.

     --------------------------------------------------------------

    5.6.3.3. Xservers

   Diese Datei entha:lt eine Liste entfernter Maschinen, die in der
   Bildschirmauswahl angeboten werden.

     --------------------------------------------------------------

    5.6.3.4. Xsession

   Dieses Skript wird vom XDM aufgerufen, nachdem sich ein Benutzer
   erfolgreich angemeldet hat. U:blicherweise besitzt jeder Benutzer
   eine angepasste Version dieses Skripts in ~/.xsession, das dann
   anstelle von Xsession ausgefu:hrt wird.

     --------------------------------------------------------------

    5.6.3.5. Xsetup_*

   Diese Skripten werden automatisch ausgefu:hrt bevor die
   Bildschirmauswahl oder die Anmeldemasken angezeigt werden. Fu: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.

     --------------------------------------------------------------

    5.6.3.6. xdm-config

   Diese Datei entha:lt Einstellungen, die fu:r jeden verwalteten
   Bildschirm zutreffen. Das Format entspricht dem der Dateien aus
   app-defaults.

     --------------------------------------------------------------

    5.6.3.7. 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 Gru:nden ha:ngen bleibt, sollten Sie in dieser
   Datei nach Fehlermeldungen suchen. Fu:r jede Sitzung werden die
   Meldungen auch in die Datei ~/.xsession-errors des Benutzers
   geschrieben.

     --------------------------------------------------------------

  5.6.4. Einrichten eines Bildschirm-Servers auf dem Netzwerk

   Damit sich Clients mit dem Bildschirm-Server verbinden ko:nnen,
   muss der Zugriffsregelsatz editiert werden und der Listener
   aktiviert werden. Die Vorgabewerte sind sehr restriktiv
   eingestellt. Damit XDM Verbindungen annimmt, kommentieren Sie eine
   Zeile in der xdm-config Datei aus:

 ! 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
   u:blichen Zeichens # beginnen. Wenn Sie strengere
   Zugriffskontrollen einrichten wollen, sehen Sie sich die Beispiele
   in Xaccess und die Hilfeseite xdm(1) an.

     --------------------------------------------------------------

  5.6.5. XDM ersetzen

   Es gibt mehrere Anwendungen, die XDM ersetzen ko:nnen, zum
   Beispiel kdm, der Teil von KDE ist und spa:ter in diesem Kapitel
   besprochen wird. kdm ist ansprechender gestaltet und bietet neben
   einigen Schno:rkeln die Mo:glichkeit, den zu verwendenden
   Window-Manager bei der Anmeldung auszuwa:hlen.

     --------------------------------------------------------------

5.7. Grafische Oberfla:chen

   Beigetragen von Valentino Vaschetto.

   Dieser Abschnitt beschreibt verschiedene grafische Oberfla:chen,
   die es fu:r X unter FreeBSD gibt. Eine Oberfla:che (desktop
   environment) kann alles von einem einfachen Window-Manager bis hin
   zu kompletten Anwendungen wie KDE oder GNOME sein.

     --------------------------------------------------------------

  5.7.1. GNOME

    5.7.1.1. U:ber GNOME

   GNOME ist eine benutzerfreundliche Oberfla:che, mit der Rechner
   leicht benutzt und konfiguriert werden ko:nnen. GNOME besitzt eine
   Leiste, mit der Anwendungen gestartet werden und die
   Statusinformationen anzeigen kann. Programme und Daten ko:nnen auf
   der Oberfla:che abgelegt werden und Standardwerkzeuge stehen zur
   Verfu:gung. Es gibt Konventionen, die es Anwendungen leicht
   machen, zusammenzuarbeiten und ein konsistentes Erscheinungsbild
   garantieren. Benutzer anderer Betriebssysteme oder anderer
   Arbeitsumgebungen sollten mit der leistungsfa:higen grafischen
   Oberfla:che von GNOME sehr gut zurechtkommen. Auf der Webseite
   FreeBSD GNOME Project finden Sie weitere Informationen u:ber GNOME
   auf FreeBSD. Zusa:tzlich finden Sie dort umfassende FAQs zur
   Installation, Konfiguration und zum Betrieb von GNOME.

     --------------------------------------------------------------

    5.7.1.2. GNOME installieren

   Am einfachsten installieren Sie GNOME als Paket oder u:ber die
   Ports-Sammlung.

   Wenn Sie das GNOME-Paket u:ber das Netz installieren wollen,
   setzen Sie den nachstehenden Befehl ab:

 # pkg_add -r gnome2

   Wenn Sie den Quellcode von GNOME u:bersetzen wollen, benutzen Sie
   die Ports-Sammlung:

 # cd /usr/ports/x11/gnome2
 # make install clean

   Nachdem GNOME installiert ist, muss der X-Server GNOME anstelle
   eines Window-Managers starten.

   Der einfachste Weg, GNOME zu starten, ist GDM, der GNOME Display
   Manager. GDM, das als Teil des GNOME-Desktops installiert (aber in
   der Voreinstellung deaktiviert) wird, kann durch das Einfu:gen von
   gdm_enable="YES" in /etc/rc.conf beim Systemstart aktiviert
   werden. Nach einem Systemneustart wird GNOME nach dem Anmelden
   automatisch gestartet.

   GNOME kann auch von der Kommandozeile gestartet werden, wenn Sie
   eine entsprechend konfigurierte .xinitrc in Ihrem
   Heimatverzeichnis besitzen. Existiert eine solche Version,
   ersetzen Sie den Aufruf des Window-Managers durch
   /usr/local/bin/gnome-session. Wenn .xinitrc nicht gesondert
   angepasst wurde, reicht es, den nachstehenden Befehl abzusetzen:

 % echo "/usr/local/bin/gnome-session" > ~/.xinitrc

   Rufen Sie danach startx auf, um die GNOME Oberfla:che zu starten.

     Anmerkung: Wenn Sie einen a:lteren Display-Manager wie XDM
     verwenden, mu:ssen Sie anders vorgehen. Legen Sie eine
     ausfu:hrbare .xsession an, die das Kommando zum Start von GNOME
     entha:lt. Ersetzen Sie dazu den Start des Window-Managers durch
     /usr/local/bin/gnome-session:

 % echo "#!/bin/sh" > ~/.xsession
 % echo "/usr/local/bin/gnome-session" >> ~/.xsession
 % chmod +x ~/.xsession

   Sie ko:nnen den Display-Manager auch so konfigurieren, dass der
   Window-Manager beim Anmelden gewa:hlt werden kann. Im Abschnitt
   Details zu KDE wird das fu:r kdm, den Display-Manager von KDE
   erkla:rt.

     --------------------------------------------------------------

    5.7.1.3. Anti-aliasing-Verfahren mit GNOME

   Die "RENDER"-Erweiterung von X11 setzt das Anti-Aliasing-Verfahren
   um. GTK+ 2.0 (das GNOME-Toolkit) und spa:tere Versionen benutzen
   dieses Verfahren. Die Konfiguration des Verfahrens ist in
   Abschnitt 5.5.3 beschrieben. Aktivieren Sie Anti-Aliasing im Menu:
   Applications->Desktop Preferences->Font. Dort wa:hlen Sie dann
   eine der Mo:glichkeiten Best shapes, Best contrast oder Subpixel
   smoothing (LCDs). Fu: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.

     --------------------------------------------------------------

  5.7.2. KDE

    5.7.2.1. U:ber KDE

   KDE ist eine moderne, leicht zu benutzende Oberfla:che, die unter
   anderem Folgendes bietet:

     * eine scho:ne und moderne Oberfla:che,

     * eine Oberfla:che, die vo:llig netzwerktransparent ist,

     * ein integriertes Hilfesystem, das bequem und konsistent
       Hilfestellungen bezu:glich der Bedienung der KDE-Oberfla:che
       und ihrer Anwendungen gibt,

     * ein konstantes Erscheinungsbild (look and feel) aller
       KDE-Anwendungen,

     * einheitliche Menu:s, Werkzeugleisten, Tastenkombinationen und
       Farbschemata,

     * Internationalisierung: KDE ist in mehr als 40 Sprachen
       erha:ltlich,

     * durch Dialoge gesteuerte zentrale Konfiguration der
       Oberfla:che,

     * viele nu:tzliche KDE-Anwendungen.

   In KDE ist mit Konqueror auch ein Webbrowser enthalten, der sich
   durchaus mit anderen Webbrowsern auf UNIX-Systemen messen kann.
   Weitere Informationen u:ber KDE erhalten Sie auf den
   KDE-Webseiten. Auf der Webseite KDE on FreeBSD finden Sie weitere
   FreeBSD-spezifische Informationen u:ber KDE.

     --------------------------------------------------------------

    5.7.2.2. KDE installieren

   Am einfachsten installieren Sie KDE, wie jede andere grafische
   Oberfla:che auch als Paket oder u:ber die Ports-Sammlung.

   Um KDE u:ber das Netz zu installieren, setzen Sie den
   nachstehenden Befehl ab:

 # pkg_add -r kde

   pkg_add(1) installiert automatisch die neuste Version einer
   Anwendung.

   Benutzen Sie die Ports-Sammlung, wenn Sie den Quellcode von KDE
   u:bersetzen wollen:

 # cd /usr/ports/x11/kde3
 # make install clean

   Nachdem KDE installiert ist, muss der X-Server KDE anstelle eines
   Window-Managers starten. Legen Sie dazu die Datei .xinitrc an:

 % echo "exec startkde" > ~/.xinitrc

   Wenn das X-Window-System danach mit startx gestartet wird,
   erscheint die KDE-Oberfla:che.

   Wird ein Display-Manager wie XDM benutzt, muss .xsession angepasst
   werden. Eine Anleitung fu:r kdm folgt gleich in diesem Kapitel.

     --------------------------------------------------------------

  5.7.3. Details zu KDE

   Wenn KDE erst einmal installiert ist, erschliessen sich die
   meisten Sachen durch das Hilfesystem oder durch Ausprobieren.
   Benutzer von Windows oder Mac OS werden sich sehr schnell zurecht
   finden.

   Die beste Referenz fu:r KDE ist die Online-Dokumentation. KDE
   besitzt einen eigenen Webbrowser, sehr viele nu:tzliche
   Anwendungen und ausfu:hrliche Dokumentation. Der Rest dieses
   Abschnitts bescha:ftigt sich daher mit Dingen, die schlecht durch
   einfaches Ausprobieren erlernbar sind.

     --------------------------------------------------------------

    5.7.3.1. Der KDE-Display-Manager

   Der Administrator eines Mehrbenutzersystems will den Benutzern
   vielleicht eine grafische Anmeldung wie mit XDM ermo:glichen. KDE
   besitzt einen eigenen Display-Manager, der scho:ner aussieht und
   auch u:ber mehr Optionen verfu:gt. Insbesondere ko:nnen sich die
   Benutzer die Oberfla:che fu:r die Sitzung (beispielsweise KDE oder
   GNOME) aussuchen.

   Um kdm zu aktivieren, mu:ssen Sie den Eintrag ttyv8 in der Datei
   /etc/ttys anpassen. Die von Ihnen angepasste Zeile sollte a:hnlich
   der folgenden aussehen:

 ttyv8 "/usr/local/bin/kdm -nodaemon" xterm on secure

     --------------------------------------------------------------

  5.7.4. XFce

    5.7.4.1. U:ber XFce

   XFce ist eine grafische Oberfla:che, die auf den
   GTK+-Bibliotheken, die auch von GNOME benutzt werden, beruht. Die
   Oberfla:che ist allerdings weniger aufwa:ndig und fu:r diejenigen
   gedacht, die eine schlichte und effiziente Oberfla:che wollen, die
   dennoch einfach zu benutzen und zu konfigurieren ist. Die
   Oberfla:che sieht a:hnlich wie CDE aus, das in kommerziellen UNIX
   Systemen verwendet wird. Einige Merkmale von XFce sind:

     * eine schlichte einfach zu benutzende Oberfla:che,

     * vollsta:ndig mit Mausoperationen konfigurierbar,
       Unterstu:tzung von drag and drop,

     * a:hnliche Hauptleiste wie CDE, die Menu:s entha:lt und u:ber
       die Anwendungen gestartet werden ko:nnen,

     * integrierter Window-Manager, Datei-Manager und Sound-Manager,
       GNOME-compliance-Modul,

     * mit Themes anpassbar (da GTK+ benutzt wird),

     * schnell, leicht und effizient: ideal fu:r a:ltere oder
       langsamere Maschinen oder Maschinen mit wenig Speicher.

   Weitere Information u:ber XFce erhalten Sie auf der XFce-Webseite.

     --------------------------------------------------------------

    5.7.4.2. XFce installieren

   Das XFce-Paket installieren Sie mit dem nachstehenden Kommando:

 # pkg_add -r xfce4

   Mit der Ports-Sammlung ko:nnen Sie auch den Quellcode u:bersetzen:

 # cd /usr/ports/x11-wm/xfce4
 # make install clean

   Damit beim na:chsten Start des X-Servers XFce benutzt wird, setzen
   Sie das folgende Kommando ab:

 % echo "/usr/local/bin/startxfce4" > ~/.xinitrc

   Wenn Sie einen Display-Manager benutzen, erstellen Sie die Datei
   .xsession, wie im GNOME Abschnitt beschrieben. Verwenden Sie jetzt
   allerdings das Kommando /usr/local/bin/startxfce4. Sie ko:nnen
   auch den Display-Manager wie im kdm Abschnitt beschrieben, so
   konfigurieren, dass die Oberfla:che fu:r die Sitzung ausgewa:hlt
   werden kann.

                      II. Oft benutzte Funktionen

   Nach den Grundlagen bescha:ftigt sich das FreeBSD-Handbuch mit oft
   benutzten Funktionen von FreeBSD. Die Kapitel behandeln die
   nachstehenden Themen:

     * Zeigen Ihnen beliebte und nu:tzliche Werkzeuge wie Browser,
       Bu:roanwendungen und Programme zum Anzeigen von Dokumenten.

     * Zeigen Ihnen Multimedia-Werkzeuge fu:r FreeBSD.

     * Erkla:ren den Bau eines angepassten FreeBSD-Kernels, der die
       Systemfunktionen erweitert.

     * Beschreiben ausfu:hrlich das Drucksystem, sowohl fu:r direkt
       angeschlossene Drucker als auch fu:r Netzwerkdrucker.

     * Erla:utern, wie Sie Linux-Anwendungen auf einem FreeBSD-System
       laufen lassen.

   Damit Sie einige Kapitel verstehen, sollten Sie vorher andere
   Kapitel gelesen haben. Die U:bersicht zu jedem Kapitel za:hlt die
   Voraussetzungen fu:r das erolgreiche Durcharbeiten des Kapitels
   auf.

   Inhaltsverzeichnis

   6. Desktop-Anwendungen

   7. Multimedia

   8. Konfiguration des FreeBSD-Kernels

   9. Drucken

   10. Linux-Bina:rkompatibilita:t

     --------------------------------------------------------------

                     Kapitel 6. Desktop-Anwendungen

   Beigetragen von Christophe Juniet. U:bersetzt von Martin Heinen.

6.1. U:bersicht

   FreeBSD bietet eine reiche Auswahl an Desktop-Anwendungen, wie
   Browser und Textverarbeitungen, die als Pakete oder mit der
   Ports-Sammlung installiert werden. Gerade neue Benutzer erwarten
   Anwendungen mit einer grafischen Benutzeroberfla:che an ihrem
   Arbeitsplatz. Dieses Kapitel zeigt Ihnen, wie Sie einige der
   beliebtesten Desktop-Anwendungen mu:helos installieren.

   Wenn Sie Ports installieren, beachten Sie, dass dabei die
   Quelltexte der Programme u:bersetzt werden. Abha:ngig von dem
   Programm und der Geschwindigkeit Ihrer Maschinen kann das sehr
   lange dauern. Wenn Ihnen das U:bersetzen zu lange dauert, ko:nnen
   Sie die meisten Programme der Ports-Sammlung auch als fertige
   Pakete installieren.

   Da FreeBSD bina:r kompatibel zu Linux ist, ko:nnen Sie zahlreiche
   fu:r Linux entwickelte Desktop-Anwendungen einsetzen. Bevor Sie
   allerdings Linux-Anwendungen installieren, sollten Sie das Kapitel
   10 lesen. Wenn Sie nach einem bestimmten Port suchen, zum Beispiel
   mit whereis(1), beachten Sie, dass die Namen vieler Programme, die
   die Linux-Bina:rkompatibilita:t benutzen, mit linux- anfangen. Wir
   gehen im Folgenden davon aus, dass Sie die
   Linux-Bina:rkompatibilita:t aktiviert haben, bevor Sie
   Linux-Anwendungen installieren.

   Dieses Kapitel behandelt Anwendungen aus den Bereichen:

     * Browser (Firefox, Opera, Konqueror)

     * Bu:roanwendungen (KOffice, AbiWord, The GIMP, OpenOffice.org)

     * Dokumentformate(Acrobat Reader(R), gv, Xpdf, GQview)

     * Finanzsoftware ( GnuCash, Gnumeric, Abacus)

   Bevor Sie dieses Kapitel lesen, sollten Sie

     * Software Dritter installieren ko:nnen (Kapitel 4) und

     * Linux-Anwendungen installieren ko:nnen (Kapitel 10).

   Wie Sie Multimedia-Anwendungen einrichten, wird in einem
   gesonderten Kapitel erkla:rt. Wie Sie E-Mail einrichten und
   benutzen, wird in Kapitel 28 beschrieben.

     --------------------------------------------------------------

6.2. Browser

   FreeBSD besitzt keinen vorinstallierten Browser, stattdessen
   entha:lt das www-Verzeichnis der Ports-Sammlung Browser, die Sie
   installieren ko:nnen. Wenn Ihnen das U:bersetzen der Browser zu
   lange dauert, bei einigen Browsern dauert das wirklich lange,
   installieren Sie die Pakete, die es fu:r viele Browser gibt.

   KDE und GNOME enthalten schon HTML-Browser. Das Einrichten dieser
   grafischen Benutzeroberfla:chen ist in Abschnitt 5.7 beschrieben.

   Wenn Sie besonders schlanke Browser beno:tigen, suchen Sie in der
   Ports-Sammlung nach www/dillo2, www/links oder www/w3m.

   Dieser Abschnitt behandelt die nachstehenden Anwendungen:

   Anwendung Ressourcenbedarf Installationsaufwand       wichtige        
                                 aus den Ports        Abha:ngigkeiten    
   Firefox   mittel           hoch                 Gtk+                  
                                                   Es gibt eine FreeBSD- 
                                                   und eine              
                                                   Linux-Version. Die    
                                                   Linux-Version ha:ngt  
   Opera     niedrig          niedrig              von der               
                                                   Linux-Kompatibilita:t 
                                                   (Linux Binary         
                                                   Compatibility) und    
                                                   linux-openmotif ab.   
   Konqueror mittel           hoch                 KDE-Biliotheken       

     --------------------------------------------------------------

  6.2.1. Firefox

   Firefox ist ein moderner, freier und stabiler Open-Source Browser,
   der vollsta:ndig auf FreeBSD portiert wurde. Er bietet eine dem
   HTML-Standard konforme Anzeige, Browserfenster als Tabs,
   Blockierung von Werbefenstern, Erweiterungen, verbesserte
   Sicherheit und mehr. Firefox basiert auf der Mozilla Codebasis.

   Das Paket ko:nnen Sie mit dem nachstehenden Befehl installieren:

 # pkg_add -r firefox

   Damit installieren Sie Firefox 2.X, wenn Sie stattdessen Firefox
   3.X einsetzen mo:chten, geben Sie folgenden Befehl ein:

 # pkg_add -r firefox3

   Alternativ ko:nnen Sie auch die Ports-Sammlung verwenden, um das
   Programm aus dem Quellcode zu installieren:

 # cd /usr/ports/www/firefox
 # make install clean

   Ersetzen Sie im vorherigen Kommando firefox durch firefox3 fu:r
   Firefox 3.X.

     --------------------------------------------------------------

  6.2.2. Firefox und das Java(TM)-Plugin

     Anmerkung: Dieser und der na:chste Abschnitt gehen davon aus,
     dass Sie Firefox bereits installiert haben.

   Die FreeBSD Foundation hat von Sun Microsystems eine Lizenz
   erworben, die es erlaubt, FreeBSD-Bina:rpakete des Java Runtime
   Environment (JRE(TM)) und des Java Development Kit (JDK(TM)) zu
   verteilen. Diese Bina:rpakete sind auf der Webseite der FreeBSD
   Foundation erha:ltlich.

   Damit Firefox Java(TM) unterstu:tzt, mu:ssen Sie zuerst den Port
   java/javavmwrapper installieren. Anschliessend laden Sie das
   Diablo JRE-Paket von
   http://www.freebsdfoundation.org/downloads/java.shtml herunter und
   installieren es mit pkg_add(1).

   Danach starten Sie Ihren Browser und geben in der Adresszeile
   about:plugins ein und besta:tigen die Eingabe mit der Enter-Taste.
   Dadurch wird eine Seite geladen, auf der alle installierten
   Plugins aufgelistet werden. Auch das Java-Plugin sollte nun in
   dieser Liste aufgefu:hrt sein. Sollte dies bei Ihnen nicht der
   Fall sein, muss jeder Benutzer noch das folgende Kommando
   ausfu:hren:

 % ln -s /usr/local/diablo-jre1.6.0/plugin/i386/ns7/libjavaplugin_oji.so \
   $HOME/.mozilla/plugins/

   Oder, falls Sie das Diablo JDK-Paket installiert haben:

 % ln -s /usr/local/diablo-jdk1.6.0/jre/plugin/i386/ns7/libjavaplugin_oji.so \
   $HOME/.mozilla/plugins/

   Danach starten Sie Ihren Browser neu, um das Plugin zu aktivieren.

     --------------------------------------------------------------

  6.2.3. Firefox und das Macromedia(R) Flash(TM)-Plugin

   Das Macromedia(R) Flash(TM)-Plugin ist fu:r FreeBSD nicht
   verfu:gbar. Es existiert jedoch ein Software-Layer (ein
   sogenannter Wrapper), der es erlaubt, die Linux-Version des
   Plugins unter FreeBSD einzusetzen. Dieser Wrapper unterstu:tzt
   ausserdem das Adobe(R) Acrobat(R)-Plugin, das RealPlayer(R)-Plugin
   und andere mehr.

   Je nachdem, welche Version von FreeBSD Sie verwenden, sind
   unterschiedliche Schritte notwendig:

    1. Fu:r FreeBSD 7.X

       Installieren Sie den Port www/nspluginwrapper. Dieser Port
       setzt voraus, dass Sie den Port emulators/linux_base-fc4
       bereits installiert haben, der sehr gross ist.

       Anschliessend installieren Sie den Port
       www/linux-flashplugin9. Dadurch wird Flash 9.X installiert,
       denn diese Version la:uft zuverla:ssig auf FreeBSD 7.X.

         Anmerkung: Bei FreeBSD Versionen, die a:lter sind als
         FreeBSD 7.1-RELEASE mu:ssen Sie www/linux-flashplugin7
         installieren und den linprocfs(5) Abschnitt u:bergehen.

    2. Fu:r FreeBSD 8.X

       Installieren Sie den Port www/nspluginwrapper. Dieser Port
       beno:tigt den emulators/linux_base-f10 Port, der sehr gross
       ist.

       Als na:chstes installieren Sie den Port
       www/linux-f10-flashplugin10. Dadurch wird Flash 10.X
       installiert, das in dieser Version unter FreeBSD 8.X stabil
       la:uft.

       Fu:r diese Version muss der folgende symbolische Link angelegt
       werden:

 # ln -s /usr/local/lib/npapi/linux-f10-flashplugin/libflashplayer.so \
   /usr/local/lib/browser_plugins/

   Sobald der richtige Flash-Port passend zu ihrer FreeBSD Version
   installiert ist, muss das Plugin von jedem Benutzer mittels
   nspluginwrapper installiert werden:

 % nspluginwrapper -v -a -i

   Das Linux Prozessdateisystem, linprocfs(5), muss unter
   /usr/compat/linux/proc eingeha:ngt werden, wenn Sie
   Flash-Animationen abspielen mo:chten. Dies kann mittels des
   folgenden Kommandos geschehen:

 # mount -t linprocfs linproc /usr/compat/linux/proc

   Dieser Schritt kann automatisiert zur Bootzeit ablaufen, indem Sie
   die passende Zeile in /etc/fstab eintragen:

 linproc   /usr/compat/linux/proc  linprocfs       rw      0       0

   Rufen Sie dann Ihren Browser auf und geben in der Adresszeile
   about:plugins ein. Diese Eingabe muss mit der Enter-Taste
   besta:tigt werden. Danach wird eine Seite geladen, auf der alle
   installierten Plugins aufgelistet werden.

     --------------------------------------------------------------

  6.2.4. Firefox und das Swfdec Flash-Plugin

   Swfdec ist die Bibliothek zum Dekodieren und Rendern von Flash
   Animationen. Swfdec-Mozilla ist ein Plugin fu:r Firefox-Browser,
   welches die Swfdec-Bibliothek zum Abspielen von SWF-Dateien
   benutzt. Momentan befindet sie sich noch in der Entwicklung.

   Wenn Sie diese nicht u:bersetzen ko:nnen oder wollen, dann
   installieren Sie einfach das Paket aus dem Netz:

 # pkg_add -r swfdec-plugin

   Wenn das Paket nicht verfu:gbar ist, ko:nnen Sie es auch u:ber die
   Ports-Sammlung bauen und installieren:

 # cd /usr/ports/www/swfdec-plugin
 # make install clean

   Starten Sie anschliessend ihren Browser neu, damit dieses Plugin
   aktiviert wird.

     --------------------------------------------------------------

  6.2.5. Opera

   Opera ist ein schneller, vollwertiger und standardkonformer
   Browser, der wie Mozilla u:ber einen eingebauten E-Mail- und
   Newsreader verfu:gt. Zusa:tzlich sind ein IRC-Client, ein
   RSS/Atom-Feeds-Reader sowie weitere Programme enthalten. Dennoch
   handelt es sich bei Opera weiterhin um ein relativ kleines und
   sehr schnelles Programmpaket. Sie haben die Wahl zwei Versionen
   dieses Browsers: Der "nativen" FreeBSD-Version und der
   Linux-Version.

   Wenn Sie das Web mit der FreeBSD-Version von Opera erkunden
   wollen, installieren Sie das Paket:

 # pkg_add -r opera

   Einige FTP-Server haben nicht alle Pakete, Sie ko:nnen Opera aber
   u:ber die Ports-Sammlung installieren:

 # cd /usr/ports/www/opera
 # make install clean

   Wenn Sie die Linux-Version des Browsers verwenden wollen, ersetzen
   Sie in den Beispielen opera durch linux-opera. Wenn Sie Plugins
   einsetzen wollen, die nur fu:r Linux erha:ltlich sind, wie das
   Adobe Acrobat Reader Plugin, beno:tigen Sie die Linux-Version.
   Ansonsten sind die FreeBSD- und Linux-Versionen des Browsers
   a:quivalent.

     --------------------------------------------------------------

  6.2.6. Konqueror

   Konqueror ist Teil von KDE, kann aber ausserhalb von KDE benutzt
   werden, wenn der Port x11/kdebase3 installiert ist. Konqueror ist
   mehr als nur ein Browser. Sie ko:nnen das Programm weiters zur
   Dateiverwaltung und zum Abspielen von Multimedia-Dateien benutzen.

   Der Port misc/konq-plugins installiert verschiedene Plugins fu:r
   Konqueror.

   Konqueror kann Flash-Seiten darstellen. Wie Sie die
   Flash-Unterstu:tzung aktiviern, ko:nnen Sie unter
   http://freebsd.kde.org/howtos/konqueror-flash.php nachlesen.

     --------------------------------------------------------------

6.3. Bu:roanwendungen

   Neue Benutzer suchen oft ein komplettes Office-Paket oder eine
   leicht zu bedienende Textverarbeitung. Einige Benutzeroberfla:chen
   wie KDE enthalten zwar ein Office-Paket, diese werden in der
   Standardeinstellung unter FreeBSD aber nicht installiert.
   Unabha:ngig von der verwendeten Benutzeroberfla:che ko:nnen Sie
   diverse Office-Pakete aber jederzeit u:ber die Ports-Sammlung
   installlieren.

   Dieser Abschnitt behandelt die nachstehenden Anwendungen:

     Anwendung    Ressourcenbedarf Installationsaufwand    wichtige     
                                      aus den Ports     Abha:ngigkeiten 
   KOffice        niedrig          hoch                 KDE             
   AbiWord        niedrig          niedrig              Gtk+ oder GNOME 
   The Gimp       niedrig          hoch                 Gtk+            
   OpenOffice.org hoch             enorm                JDK 1.4,        
                                                        Mozilla         

     --------------------------------------------------------------

  6.3.1. KOffice

   Die KDE-Gemeinschaft stellt ein Office-Paket bereit, das auch
   ausserhalb von KDE eingesetzt werden kann. Es besteht aus vier,
   von anderen Office-Paketen bekannten, Komponenten: KWord ist die
   Textverarbeitung, KSpread die Tabellenkalkulation, mit KPresenter
   werden Pra:sentationen erstellt und Kontour ist ein
   Zeichenprogramm.

   Stellen Sie vor der Installation des neusten KOffice sicher, dass
   Sie eine aktuelle Version von KDE besitzen.

   Mit dem folgenden Kommando installieren Sie das KOffice-Paket:

 # pkg_add -r koffice

   Wenn das Paket nicht zur Verfu:gung steht, benutzen Sie bitte die
   Ports-Sammlung. Wenn Sie beispielsweise KOffice fu:r KDE3
   installieren wollen, setzen Sie die nachstehendenen Befehle ab:

 # cd /usr/ports/editors/koffice-kde3
 # make install clean

     --------------------------------------------------------------

  6.3.2. AbiWord

   AbiWord ist eine freie Textverarbeitung, die a:hnlich wie
   Microsoft Word ist. Sie ko:nnen damit Artikel, Briefe, Berichte,
   Notizen usw. verfassen. Das Programm ist sehr schnell, besitzt
   viele Funktionen und ist sehr benutzerfreundlich.

   AbiWord kann viele Dateiformate, unter anderem nicht offene wie
   .doc von Microsoft, importieren und exportieren.

   Das AbiWord-Paket installieren Sie wie folgt:

 # pkg_add -r AbiWord

   Sollte das Paket nicht zur Verfu:gung stehen, ko:nnen Sie das
   Programm mit der Ports-Sammlung, die zudem aktueller als die
   Pakete ist, u:bersetzen. Gehen Sie dazu folgendermassen vor:

 # cd /usr/ports/editors/AbiWord
 # make install clean

     --------------------------------------------------------------

  6.3.3. The GIMP

   The GIMP ist ein sehr ausgereiftes Bildverarbeitungsprogramm mit
   dem Sie Bilder erstellen oder retuschieren ko:nnen. Sie ko:nnen es
   sowohl als einfaches Zeichenprogramm als auch zum retuschieren von
   Fotografien benutzen. Das Programm besitzt eine eingebaute
   Skriptsprache und es existieren sehr viele Plug-Ins. The GIMP kann
   Bilder in zahlreichen Formaten lesen und speichern und stellt
   Schnittstellen zu Scannern und grafischen Tabletts zur Verfu:gung.

   Sie installieren das Paket mit dem nachstehenden Befehl:

 # pkg_add -r gimp

   Benutzen Sie die Ports-Sammlung, wenn Ihr FTP-Server das Paket
   nicht bereitstellt. Im Verzeichnis graphics finden Sie das
   Handbuch The Gimp Manual. Sie ko:nnen alles mit den folgenden
   Befehlen installieren:

 # cd /usr/ports/graphics/gimp
 # make install clean
 # cd /usr/ports/graphics/gimp-manual-pdf
 # make install clean

     Anmerkung: Die Entwickler-Version von The GIMP finden Sie im
     Verzeichnis graphics der Ports-Sammlung. Das Handbuch ist im
     HTML-Format (graphics/gimp-manual-html) erha:ltlich.

     --------------------------------------------------------------

  6.3.4. OpenOffice.org

   OpenOffice.org entha:lt alles, was von einem Office-Paket erwartet
   wird: Textverarbeitung, Tabellenkalkulation, Pra:sentation und ein
   Zeichenprogramm. Die Bedienung gleicht anderen Office-Paketen und
   das Programm kann zahlreiche Dateiformate importieren und
   exportieren. Es gibt lokalisierte Versionen mit angepassten
   Menu:s, Rechtschreibkontrollen und Wo:rterbu:chern.

   Die Textverarbeitung von OpenOffice.org speichert Dateien im
   XML-Format. Dadurch wird die Verwendbarkeit der Dateien auf
   anderen Systemen erho:ht und die Handhabung der Daten vereinfacht.
   Die Tabellenkalkulation besitzt eine Makrosprache und eine
   Schnittstelle zu Datenbanken. OpenOffice.org la:uft auf Windows,
   Solaris(TM), Linux, FreeBSD und Mac OS X. Weitere Informationen
   u:ber OpenOffice.org finden Sie auf der OpenOffice.org Website.
   Spezifische Informationen fu:r FreeBSD finden Sie auf der Webseite
   FreeBSD OpenOffice.org Porting Team. Von dort ko:nnen Sie auch
   direkt das OpenOffice-Paket herunterladen.

   OpenOffice.org installieren Sie wie folgt:

 # pkg_add -r openoffice.org

     Anmerkung: Diese Art der Installation sollte mit einer
     -RELEASE-Version funktionieren. Verwenden Sie eine andere
     Version, sollten Sie die Internetseite des FreeBSD
     OpenOffice.org Porting Teams besuchen und das entsprechende
     Paket herunterladen und u:ber pkg_add(1) installieren, wobei Sie
     zwischen der aktuellen Version und der Entwicklerversion wa:hlen
     ko:nnen.

   Nachdem das Paket installiert ist, mu:ssen Sie lediglich folgenden
   Befehl eingeben, um OpenOffice.org zu starten:

 % openoffice.org

     Anmerkung: Nach dem ersten Start werden Ihnen einige Fragen
     gestellt. Ausserdem wird in Ihrem Heimatverzeichnis der neue
     Unterordner .openoffice.org2 angelegt.

   Falls die OpenOffice.org-Pakete nicht zur Verfu:gung stehen,
   ko:nnen Sie immer noch die Ports-Sammlung benutzen. Beachten Sie
   aber bitte, dass Sie sehr viel Plattenplatz und Zeit beno:tigen,
   um die Quellen zu u:bersetzen.

 # cd /usr/ports/editors/openoffice-2
 # make install clean

     Anmerkung: Wenn Sie ein lokalisierte Version bauen wollen,
     ersetzen Sie den letzten Befehl durch die folgende Zeile:

 # make LOCALIZED_LANG=Ihre_Sprache install clean

     Dabei ersetzen Sie Ihre_Sprache durch den korrekten ISO-Code.
     Eine Liste der unterstu:tzten Codes entha:lt die Datei
     files/Makefile.localized, die sich im Portsverzeichnis befindet.

   Nachdem die Installation abgeschlossen ist, ko:nnen Sie
   OpenOffice.org durch folgenden Befehl starten:

 % openoffice.org

     --------------------------------------------------------------

6.4. Anzeigen von Dokumenten

   Einige neuere Dokumentformate, die sich aktuell grosser
   Beliebtheit erfreuen, ko:nnen Sie sich mit den im Basissystem
   enthaltenen Programmen und Werkzeugen nicht ansehen. Dieser
   Abschnitt behandelt Programme, mit denen Sie sich Dokumente in
   unterschiedlichsten Formaten ansehen ko:nnen.

   Die nachstehenden Anwendungen werden behandelt:

     Anwendung    Ressourcenbedarf Installationsaufwand    wichtige     
                                      aus den Ports     Abha:ngigkeiten 
   Acrobat Reader niedrig          niedrig              Linux Binary    
                                                        Compatibility   
   gv             niedrig          niedrig              Xaw3d           
   Xpdf           niedrig          niedrig              FreeType        
   GQview         niedrig          niedrig              Gtk+ oder GNOME 

     --------------------------------------------------------------

  6.4.1. Acrobat Reader(R)

   Viele Dokumente werden heute im "Portable Document Format" (PDF)
   zur Verfu:gung gestellt. PDF-Dokumente schauen Sie sich am Besten
   mit dem Programm Acrobat Reader an, das von Adobe fu:r Linux
   freigegeben wurde. Da Linux-Programme unter FreeBSD laufen, steht
   Ihnen das Programm auch hier zur Verfu:gung.

   Um Acrobat Reader 7 u:ber die Ports-Sammlung zu installieren,
   geben Sie Folgendes ein:

 # cd /usr/ports/print/acroread7
 # make install clean

   Aufgrund der Lizenzbedinungen ist eine Paketversion leider nicht
   verfu:gbar.

     --------------------------------------------------------------

  6.4.2. gv

   gv kann PostScript- und PDF-Dokumente anzeigen. Es stammt von
   ghostview ab, besitzt aber wegen der Xaw3d-Bibliothek eine
   scho:nere Benutzeroberfla:che. In gv ko:nnen Sie viele Operationen
   durchfu:hren: Sie ko:nnen die Ausrichtung und die Papiergro:sse
   eines Dokuments a:ndern, das Dokument skalieren oder die
   Kantengla:ttung (Anti-Aliasing) aktivieren. Fast jede Operation
   kann sowohl mit der Tastatur als auch mit der Maus durchgefu:hrt
   werden.

   Installieren Sie das gv-Paket wie folgt:

 # pkg_add -r gv

   Benutzen Sie die Ports-Sammlung, wenn das Paket nicht zur
   Verfu:gung steht:

 # cd /usr/ports/print/gv
 # make install clean

     --------------------------------------------------------------

  6.4.3. Xpdf

   Ein schlankes und effizientes Programm zum Betrachten von
   PDF-Dateien ist Xpdf. Es beno:tigt wenige Ressourcen und ist sehr
   stabil. Da das Programm die Standard X-Zeichensa:tze benutzt, ist
   es nicht auf Motif oder ein anderes X-Toolkit angewiesen.

   Das Xpdf-Paket ko:nnen Sie mit dem folgenden Kommando
   installieren:

 # pkg_add -r xpdf

   Wenn das Paket nicht verfu:gbar ist, oder Sie lieber die
   Ports-Sammlung benutzen mo:chten, gehen Sie wie folgt vor:

 # cd /usr/ports/graphics/xpdf
 # make install clean

   Wenn Sie nach Abschluss der Installation Xpdf starten, o:ffnen Sie
   das Menu: mit der rechten Maustaste.

     --------------------------------------------------------------

  6.4.4. GQview

   Mit GQview lassen sich Bilder verwalten. Unter anderem ko:nnen Sie
   sich Bilder (auch auf dem ganzen Bildschirm) anschauen, ein
   externes Werkzeug aufrufen und eine Vorschau (thumbnail) erzeugen.
   Weiterhin ko:nnen Sie automatisch ablaufende Pra:sentationen
   erstellen und grundlegende Dateioperationen durchfu:hren,
   Bildersammlungen verwalten und doppelte Bilder aufspu:ren. GQview
   ist internationalisiert, das heisst es beru:cksichtigt die
   Spracheinstellungen des Systems.

   Wenn Sie das GQview-Paket installieren wollen, geben Sie das
   folgende Kommando ein:

 # pkg_add -r gqview

   Ist das Paket nicht erha:ltlich, oder wenn Sie die Ports-Sammlung
   bevorzugen, setzen Sie die folgenden Kommandos ab:

 # cd /usr/ports/graphics/gqview
 # make install clean

     --------------------------------------------------------------

6.5. Finanzsoftware

   Wenn Sie, warum auch immer, Ihre Finanzen mit einem FreeBSD
   Arbeitsplatz verwalten wollen, stehen Ihnen verschiedene
   Anwendungen zur Verfu:gung. Einige von ihnen unterstu:tzen
   verbreitete Formate, darunter Dateiformate, die von Quicken(R)
   oder Excel verwendet werden.

   Dieser Abschnitt behandelt die folgenden Anwendungen:

   Anwendung Ressourcenbedarf  Installationsaufwand      wichtige     
                                   aus den Ports      Abha:ngigkeiten 
   GnuCash   niedrig          hoch                    GNOME           
   Gnumeric  niedrig          hoch                    GNOME           
   Abacus    niedrig          niedrig                 Tcl/Tk          
   KMyMoney  niedrig          hoch                    KDE             

     --------------------------------------------------------------

  6.5.1. GnuCash

   GnuCash ist Teil des GNOME-Projekts, dessen Ziel es ist, leicht zu
   bedienende und doch leistungsfa:hige Anwendungen zu erstellen. Mit
   GnuCash ko:nnen Sie Ihre Einnahmen und Ausgaben, Ihre Bankkonten
   und Wertpapiere verwalten. Das Programm ist leicht zu bedienen und
   genu:gt dennoch hohen Anspru:chen.

   GnuCash stellt ein Register, a:hnlich dem in einem Scheckheft und
   ein hierarchisches System von Konten zur Verfu:gung. Eine
   Transaktion kann in einzelne Teile aufgespaltet werden. GnuCash
   kann Quicken-Dateien (QIF) importieren und einbinden. Weiterhin
   unterstu:tzt das Programm die meisten internationalen Formate fu:r
   Zeitangaben und Wa:hrungen. Die Bedienung des Programms kann durch
   zahlreiche Tastenkombinationen und dem automatischen
   Vervollsta:ndigen von Eingaben beschleunigt werden.

   Das GnuCash-Paket installieren Sie wie folgt:

 # pkg_add -r gnucash

   Wenn das Paket nicht zur Verfu:gung steht, benutzen Sie die
   Ports-Sammlung:

 # cd /usr/ports/finance/gnucash
 # make install clean

     --------------------------------------------------------------

  6.5.2. Gnumeric

   Gnumeric ist eine Tabellenkalkulation, die Teil der GNOME
   Benutzeroberfla:che ist. Das Programm kann Eingaben anhand des
   Zellenformats oder einer Folge von Eingaben vervollsta:ndigen.
   Dateien verbreiteter Formate, wie die von Excel, Lotus 1-2-3 oder
   Quattro Pro lassen sich importieren. Grafiken erstellt Gnumeric
   mit dem Programm math/guppi. Gnumeric besitzt viele eingebaute
   Funktionen und Zellenformate (zum Beispiel die u:blich
   verwendeten, wie Zahl, Wa:hrung, Datum oder Zeit).

   Installieren Sie das Gnumeric-Paket mit dem folgenden Kommando:

 # pkg_add -r gnumeric

   Wenn das Paket nicht zur Verfu:gung steht, benutzen Sie die
   Ports-Sammlung:

 # cd /usr/ports/math/gnumeric
 # make install clean

     --------------------------------------------------------------

  6.5.3. Abacus

   Abacus ist eine kleine und leicht zu bedienende
   Tabellenkalkulation. Die vordefinierten Funktionen stammen aus
   verschiedenen Bereichen wie der Statistik, der Wirtschaft und der
   Mathematik. Das Programm kann Dateien im Excel Dateiformat
   importieren und exportieren sowie Ausgaben in PostScript erzeugen.

   Installieren Sie das Abacus-Paket mit dem folgenden Kommando:

 # pkg_add -r abacus

   Wenn das Paket nicht zur Verfu:gung steht, benutzen Sie die
   Ports-Sammlung:

 # cd /usr/ports/deskutils/abacus
 # make install clean

     --------------------------------------------------------------

  6.5.4. KMyMoney

   Bei KMyMoney handelt es sich ein Programm zur Verwaltung der
   perso:nlichen Finanzen, das unter KDE entwickelt wird. KMyMoney
   hat das Ziel, alle wichtigen Funktionen zu bieten, die auch von
   kommerziellen Programmen zur Verwaltung der perso:nlichen Finanzen
   unterstu:tzt werden. Weiters za:hlen einfache Benutzung sowie
   korrekte doppelte Buchfu:hrung zu den herausragenden Fa:higkeiten
   dieses Programms. KMyMoney unterstu:tzt den Import von
   Datendateien im Format Quicken Interchange Format (QIF), kann
   Investionen verfolgen, unterstu:tzt verschiedene Wa:hrungen und
   bietet umfangreiche Reportmo:glichkeiten. OFX-Import wird u:ber
   ein separates Plugin realisiert.

   Um KMyMoney u:ber das FreeBSD-Paketsystem zu installieren, geben
   Sie Folgendes ein:

 # pkg_add -r kmymoney2

   Sollte das Paket nicht verfu:gbar sein, ko:nnen Sie das Programm
   auch u:ber die Ports-Sammlung installieren:

 # cd /usr/ports/finance/kmymoney2
 # make install clean

     --------------------------------------------------------------

6.6. Zusammenfassung

   FreeBSD wird von Internet Service Providern wegen seiner
   Schnelligkeit und Stabilita:t eingesetzt, es ist aber auch zum
   Einrichten eines Arbeitsplatzes geeignet. Mit tausenden
   Anwendungen, die als Pakete oder Ports zur Verfu:gung stehen,
   ko:nnen Sie sich einen Arbeitsplatz nach Ihren Wu:nschen
   einrichten.

   Die folgende Aufstellung fasst die in diesem Kapitel besprochenen
   Anwendungen zusammen:

        Anwendung          Paket-Name              Port-Name          
   Opera                opera             www/opera                   
   Firefox              firefox           www/firefox                 
   KOffice              koffice-kde3      editors/koffice-kde3        
   AbiWord              abiword           editors/abiword             
   The GIMP             gimp              graphics/gimp               
   OpenOffice.org       openoffice        editors/openoffice-1.1      
   Acrobat Reader       acroread          print/acroread7             
   gv                   gv                print/gv                    
   Xpdf                 xpdf              graphics/xpdf               
   GQview               gqview            graphics/gqview             
   GnuCash              gnucash           finance/gnucash             
   Gnumeric             gnumeric          math/gnumeric               
   Abacus               abacus            deskutils/abacus            
   KMyMoney             kmymoney2         finance/kmymoney2           

     --------------------------------------------------------------

                         Kapitel 7. Multimedia

   U:berarbeitet von Ross Lippert.

7.1. U:bersicht

   FreeBSD unterstu:tzt viele unterschiedliche Soundkarten, die Ihnen
   den Genuss von Highfidelity-Kla:ngen auf Ihrem Computer
   ermo:glichen. Dazu geho:rt unter anderem die Mo:glichkeit,
   Tonquellen in den Formaten MPEG Audio Layer 3 (MP3), WAV, Ogg
   Vorbis und vielen weiteren Formaten aufzunehmen und wiederzugeben.
   Daru:ber hinaus entha:lt die FreeBSD Ports-Sammlung Anwendungen,
   die Ihnen das Bearbeiten Ihrer aufgenommenen Tonspuren, das
   Hinzufu:gen von Klangeffekten und die Kontrolle der
   angeschlossenen MIDI-Gera:te erlauben.

   Wenn Sie etwas Zeit investieren, ko:nnen Sie mit FreeBSD auch
   Videos und DVDs abspielen. Im Vergleich zu Audio-Anwendungen gibt
   es weniger Anwendungen zum Kodieren, Konvertieren und Abspielen
   von Video-Formaten. Es gab, als dieses Kapitel geschrieben wurde,
   keine Anwendung, die einzelne Video-Formate a:hnlich wie audio/sox
   konvertieren konnte. Allerdings a:ndert sich die Software in
   diesem Umfeld sehr schnell.

   In diesem Kapitel wird das Einrichten von Soundkarten besprochen.
   Kapitel 5 beschreibt die Installation und Konfiguration von X11
   und das Einrichten von Videokarten. Hinweise zur Verbesserung der
   Wiedergabe finden sich in diesem Kapitel.

   Dieses Kapitel behandelt die folgenden Punkte:

     * Die Konfiguration des Systems damit Ihre Soundkarte erkannt
       wird.

     * Wie Sie die Funktion einer Soundkarte testen ko:nnen.

     * Wie Sie Fehler in den Einstellungen von Soundkarten finden.

     * Wie Sie MP3s und andere Audio-Formate wiedergeben und
       erzeugen.

     * Die Video-Unterstu:tzung des X-Servers.

     * Gute Anwendungen, die Videos abspielen und kodieren.

     * Die Wiedergabe von DVDs, .mpg- und .avi-Dateien.

     * Wie Sie CDs und DVDs in Dateien rippen.

     * Die Konfiguration von TV-Karten.

     * Das Einrichten von Scannern.

   Bevor Sie dieses Kapitel lesen, sollten Sie:

     * Wissen, wie Sie einen neuen Kernel konfigurieren und
       installieren (Kapitel 8).

     Warnung: Der Versuch eine Audio-CD mit mount(8) einzuha:ngen
     erzeugt mindestens einen Fehler; schlimmstenfalls kann es zu
     einer Kernel-Panic kommen. Die Medien besitzen eine andere
     Kodierung als normale ISO-Dateisysteme.

     --------------------------------------------------------------

7.2. Soundkarten einrichten

   Von Moses Moore. Aktualisiert fu:r FreeBSD 5.X von Marc
   Fonvieille. U:bersetzt von Benedikt Ko:hler und Uwe Pierau.

  7.2.1. Den Soundtreiber einrichten

   Zuna:chst sollten Sie in Erfahrung bringen, welches
   Soundkartenmodell Sie besitzen, welchen Chip die Karte benutzt und
   ob es sich um eine PCI- oder ISA-Karte handelt. FreeBSD
   unterstu:tzt eine Reihe von PCI- als auch von ISA-Karten. Die
   Hardware-Notes za:hlen alle unterstu:tzten Karten und deren
   Treiber auf.

   Um Ihre Soundkarte benutzen zu ko:nnen, mu:ssen Sie den richtigen
   Gera:tetreiber laden. Sie haben zwei Mo:glichkeiten, den Treiber
   zu laden: Am einfachsten ist es, das Modul mit kldload(8) zu
   laden. Sie ko:nnen dazu die Kommandozeile verwenden:

 # kldload snd_emu10k1

   Alternativ ko:nnen Sie auch einen Eintrag in der Datei
   /boot/loader.conf erstellen:

 snd_emu10k1_load="YES"

   Beide Beispiele gelten fu:r eine Creative SoundBlaster(R) Live!
   Soundkarte. Weitere ladbare Soundmodule sind in der Datei
   /boot/defaults/loader.conf aufgefu:hrt. Wenn Sie nicht sicher
   sind, welchen Gera:tetreiber Sie laden mu:ssen, laden Sie den
   Treiber snd_driver:

 # kldload snd_driver

   Der Treiber snd_driver ist ein Meta-Treiber, der alle
   gebra:uchlichen Treiber la:dt und die Suche nach dem richtigen
   Treiber vereinfacht. Weiterhin ko:nnen alle Treiber u:ber
   /boot/loader.conf geladen werden.

   Wollen Sie feststellen, welcher Treiber fu:r Ihre Soundkarte vom
   Metatreiber snd_driver geladen wurde, sollten Sie sich mit cat
   /dev/sndstat den Inhalt der Datei /dev/sndstat ansehen.

   Alternativ ko:nnen Sie die Unterstu:tzung fu:r die Soundkarte
   direkt in den Kernel einkompilieren. Diese Methode im na:chsten
   Abschnitt beschrieben. Weiteres u:ber den Bau eines Kernels
   erfahren Sie im Kapitel Kernelkonfiguration.

     --------------------------------------------------------------

    7.2.1.1. Soundkarten in der Kernelkonfiguration einrichten

   Zuerst mu:ssen Sie sound(4), den Treiber fu:r das Audio-Framework
   in die Kernelkonfiguration aufnehmen. Fu:gen Sie dazu die folgende
   Zeile in die Kernelkonfigurationsdatei ein:

 device sound

   Als Na:chstes mu:ssen Sie den richtigen Treiber in die
   Kernelkonfiguration einfu:gen. Den Treiber entnehmen Sie bitte der
   Liste der unterstu:tzen Soundkarten aus den Hardware-Notes. Zum
   Beispiel wird die Creative SoundBlaster Live! Soundkarte vom
   Treiber snd_emu10k1(4) unterstu:tzt. Fu:r diese Karte verwenden
   Sie die nachstehende Zeile:

 device snd_emu10k1

   Die richtige Syntax fu:r die Zeile lesen Sie bitte in der
   Hilfeseite des entsprechenden Treibers nach. Die korrekte Syntax
   fu:r alle unterstu:tzten Treiber finden Sie ausserdem in der Datei
   /usr/src/sys/conf/NOTES.

   Nicht PnP-fa:hige ISA-Soundkarten beno:tigen (wie alle anderen
   ISA-Karten auch) weiterhin Angaben zu den Karteneinstellungen (wie
   IRQ und I/O-Port). Die Karteneinstellungen tragen Sie in die Datei
   /boot/device.hints ein. Wa:hrend des Systemstarts liest der
   loader(8) diese Datei und reicht die Einstellungen an den Kernel
   weiter. Fu:r eine alte Creative SoundBlaster 16 ISA-Karte, die
   sowohl den snd_sbc(4)- als auch den snd_sb16-Treiber beno:tigt,
   fu:gen Sie folgende Zeilen in die Kernelkonfigurationsdatei ein:

 device snd_sbc
 device snd_sb16

   In die Datei /boot/device.hints tragen Sie fu:r diese Karte
   zusa:tzlich die folgenden Einstellungen ein:

 hint.sbc.0.at="isa"
 hint.sbc.0.port="0x220"
 hint.sbc.0.irq="5"
 hint.sbc.0.drq="1"
 hint.sbc.0.flags="0x15"

   In diesem Beispiel benutzt die Karte den I/O-Port 0x220 und den
   IRQ 5.

   Die Manualpage sound(4) sowie des jeweiligen Treibers beschreiben
   die Syntax der Eintra:ge in der Datei /boot/device.hints.

   Das Beispiel verwendet die vorgegebenen Werte. Falls Ihre
   Karteneinstellungen andere Werte vorgeben, mu:ssen Sie die Werte
   in der Kernelkonfiguration anpassen. Weitere Informationen zu
   dieser Soundkarte entnehmen Sie bitte der Manualpage snd_sbc(4).

     --------------------------------------------------------------

  7.2.2. Die Soundkarte testen

   Nachdem Sie den neuen Kernel gestartet oder das erforderliche
   Modul geladen haben, sollte Ihre Soundkarte in den Systemmeldungen
   (dmesg(8)) auftauchen. Zum Beispiel:

 pcm0: <Intel ICH3 (82801CA)> port 0xdc80-0xdcbf,0xd800-0xd8ff irq 5 at device 31.5 on pci0
 pcm0: [GIANT-LOCKED]
 pcm0: <Cirrus Logic CS4205 AC97 Codec>

   Den Status der Karte ko:nnen Sie u:ber die Datei /dev/sndstat
   pru:fen:

 # cat /dev/sndstat
 FreeBSD Audio Driver (newpcm)
 Installed devices:
 pcm0: <Intel ICH3 (82801CA)> at io 0xd800, 0xdc80 irq 5 bufsz
 16384
 kld snd_ich (1p/2r/0v channels duplex default)

   Die Ausgaben ko:nnen auf Ihrem System anders aussehen. Wenn das
   Gera:t pcm nicht erscheint, pru:fen Sie bitte Ihre Konfiguration.
   Stellen sie sicher, dass Sie den richtigen Treiber gewa:hlt haben.
   Abschnitt 7.2.2.1 beschreibt ha:ufig auftretende Probleme.

   Wenn alles glatt lief, haben Sie nun eine funktionierende
   Soundkarte. Wenn ein CD-ROM oder DVD-ROM-Laufwerk an Ihrer
   Soundkarte angeschlossen ist, ko:nnen Sie jetzt mit cdcontrol(1)
   eine CD abspielen:

 % cdcontrol -f /dev/acd0 play 1

   Es gibt viele Anwendungen, wie audio/workman, die eine bessere
   Benutzerschnittstelle besitzen. Um sich MP3-Audiodateien
   anzuho:ren, ko:nnen Sie eine Anwendung wie audio/mpg123
   installieren.

   Eine weitere schnelle Mo:glichkeit die Karte zu pru:fen, ist es,
   Daten an das Gera:t /dev/dsp zu senden:

 % cat Datei > /dev/dsp

   Fu:r Datei ko:nnen Sie eine beliebige Datei verwenden. Wenn Sie
   einige Gera:usche ho:ren, funktioniert die Soundkarte.

   Die Einstellungen des Mixers ko:nnen Sie mit dem Kommando mixer(8)
   vera:ndern. Weiteres lesen Sie bitte in der Hilfeseite mixer(8)
   nach.

     --------------------------------------------------------------

    7.2.2.1. Ha:ufige Probleme

            Fehler                           Lo:sung                  
   "sb_dspwr(XX) timed out" Der I/O Port ist nicht korrekt angegeben. 
                            Der IRQ ist falsch angegeben. Stellen Sie 
   "bad irq XX"             sicher, dass der angegebene IRQ mit dem   
                            Sound IRQ u:bereinstimmt.                 
   "xxx: gus pcm not        Es ist nicht genug Speicher verfu:gbar,   
   attached, out of memory" um das Gera:t zu betreiben.               
                            U:berpru:fen Sie mit fstat | grep dsp ob  
   "xxx: can't open         eine andere Anwendung das Gera:t          
   /dev/dsp!"               geo:ffnet hat. Ha:ufige Sto:renfriede     
                            sind esound oder die Sound-Unterstu:tzung 
                            von KDE.                                  

     --------------------------------------------------------------

  7.2.3. Mehrere Tonquellen abspielen

   Beigetragen von Munish Chopra.

   Oft sollen mehrere Tonquellen gleichzeitig abgespielt werden, auch
   wenn beispielsweise esound oder artsd das Audiogera:t nicht mit
   einer anderen Anwendung teilen ko:nnen.

   Unter FreeBSD ko:nnen mit sysctl(8) virtuelle Tonkana:le
   eingerichtet werden. Virtuelle Kana:le mischen die Tonquellen im
   Kernel (so ko:nnen mehr Kana:le als von der Hardware unterstu:tzt
   benutzt werden).

   Die Anzahl der virtuellen Kana:le ko:nnen Sie als Benutzer root
   wie folgt einstellen:

 # sysctl dev.pcm.0.play.vchans=4
 # sysctl dev.pcm.0.rec.vchans=4
 # sysctl hw.snd.maxautovchans=4

   Im Beispiel werden vier virtuelle Kana:le eingerichtet, eine im
   Normalfall ausreichende Anzahl. Sowohl dev.pcm.0.play.vchans=4 und
   dev.pcm.0.rec.vchans=4 sind die Anzahl der virtuellen Kana:le des
   Gera:ts pcm0, die fu:rs Abspielen und Aufnehmen verwendet werden
   und sie ko:nnen konfiguriert werden, sobald das Gera:t existiert.
   hw.snd.maxautovchans ist die Anzahl der virtuellen Kana:le, die
   einem Gera:t zugewiesen werden, wenn es durch kldload(8)
   eingerichtet wird. Da das Modul pcm unabha:ngig von den
   Hardware-Treibern geladen werden kann, gibt hw.snd.maxautovchans
   die Anzahl der virtuellen Kana:le an, die spa:ter eingerichtete
   Gera:te erhalten. Lesen Sie dazu pcm(4) fu:r weitere
   Informationen.

     Anmerkung: Sie ko:nnen die Anzahl der virtuellen Kana:le nur
     a:ndern, wenn das Gera:t nicht genutzt wird. Schliessen Sie
     daher zuerst alle Programme (etwa Musikabspielprogramme oder
     Sound-Daemonen), die auf dieses Gera:t zugreifen.

   Wenn Sie ein System ohne devfs(5) einsetzen, mu:ssen Anwendungen
   die Gera:te /dev/dsp0.x verwenden. Wenn dev.pcm.0.rec.vchans wie
   oben auf 4 gesetzt wurde, la:uft x von 0 bis 3. Auf Systemen mit
   devfs(5) werden die Gera:te automatisch zugeteilt, wenn ein
   Programm das Gera:t /dev/dsp0 anfordert.

     --------------------------------------------------------------

  7.2.4. Den Mixer einstellen

   Beigetragen von Josef El-Rayes.

   Die Voreinstellungen des Mixers sind im Treiber pcm(4) fest
   kodiert. Es gibt zwar viele Anwendungen und Dienste, die den Mixer
   einstellen ko:nnen und die eingestellten Werte bei jedem Start
   wieder setzen, am einfachsten ist es allerdings, die Standardwerte
   fu:r den Mixer direkt im Treiber einzustellen. Der Mixer kann in
   der Datei /boot/device.hints eingestellt werden:

 hint.pcm.0.vol="50"

   Die Zeile setzt die Lautsta:rke des Mixers beim Laden des Moduls
   pcm(4) auf den Wert 50.

     --------------------------------------------------------------

7.3. MP3-Audio

   Ein Beitrag von Chern Lee. U:bersetzt von Benedikt Ko:hler.

   MP3 (MPEG Layer 3 Audio) ermo:glicht eine Klangwiedergabe in
   CD-a:hnlicher Qualita:t, was Sie sich auf Ihrem FreeBSD-Rechner
   nicht entgehen lassen sollten.

     --------------------------------------------------------------

  7.3.1. MP3-Player

   XMMS (X Multimedia System) ist bei weitem der beliebteste
   MP3-Player fu:r X11. WinAmp-Skins ko:nnen auch mit XMMS genutzt
   werden, da die Benutzerschnittstelle fast identisch mit der von
   Nullsofts WinAmp ist. Daneben unterstu:tzt XMMS auch eigene
   Plugins.

   XMMS kann als multimedia/xmms Port oder Package installiert
   werden.

   Die Benutzerschnittstelle von XMMS ist leicht zu erlernen und
   entha:lt eine Playlist, einen graphischen Equalizer und vieles
   mehr. Diejenigen, die mit WinAmp vertraut sind, werden XMMS sehr
   leicht zu benutzen finden.

   Der Port audio/mpg123 ist ein alternativer,
   kommandozeilenorientierter MP3-Player.

   mpg123 kann ausgefu:hrt werden, indem man das zu benutzende Sound
   Device und die abzuspielende MP3-Datei auf der Kommandozeile
   angibt. Wenn ihr Sound Device beispielsweise /dev/dsp1.0 lautet
   und Sie die MP3-Datei Foobar-GreatestHits.mp3 ho:ren wollen, geben
   Sie Folgendes ein:

 # mpg123 -a /dev/dsp1.0 Foobar-GreatestHits.mp3
 High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3.
 Version 0.59r (1999/Jun/15).  Written and copyrights by Michael Hipp.
 Uses code from various people.  See 'README' for more!
 THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!





 Playing MPEG stream from Foobar-GreatestHits.mp3 ...
 MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo

     --------------------------------------------------------------

  7.3.2. CD-Audio Tracks rippen

   Bevor man eine ganze CD oder einen CD-Track in das MP3-Format
   umwandeln kann, mu:ssen die Audiodaten von der CD auf die
   Festplatte gerippt werden. Dabei werden die CDDA (CD Digital
   Audio) Rohdaten in WAV-Dateien kopiert.

   Die Anwendung cdda2wav die im sysutils/cdrtools Paket enthalten
   ist, kann zum Rippen der Audiodaten und anderen Informationen von
   CDs genutzt werden.

   Wenn die Audio CD in dem Laufwerk liegt, ko:nnen Sie mit folgendem
   Befehl (als root) eine ganze CD in einzelne WAV-Dateien (eine
   Datei fu:r jeden Track) rippen:

 # cdda2wav -D 0,1,0 -B

   cdda2wav unterstu:tzt auch ATAPI (IDE) CD-ROM-Laufwerke. Um von
   einem IDE-Laufwerk zu rippen, u:bergeben Sie auf der Kommandozeile
   statt der SCSI-IDs den Gera:tenamen. Das folgende Kommando rippt
   den 7. Track:

 # cdda2wav -D /dev/acd0 -t 7

   Der Schalter -D 0,1,0 bezieht sich auf das SCSI Device 0,1,0, das
   sich aus dem Ergebnis des Befehls cdrecord -scanbus ergibt.

   Um einzelne Tracks zu rippen, benutzen Sie den -t Schalter wie
   folgt:

 # cdda2wav -D 0,1,0 -t 7

   Dieses Beispiel rippt den siebten Track der Audio CD-ROM. Um
   mehrere Tracks zu rippen, zum Beispiel die Tracks eins bis sieben,
   ko:nnen Sie wie folgt einen Bereich angeben:

 # cdda2wav -D 0,1,0 -t 1+7

   Mit dd(1) ko:nnen Sie ebenfalls Audio-Stu:cke von ATAPI-Laufwerken
   kopieren. Dies wird in Abschnitt 18.6.5 erla:utert.

     --------------------------------------------------------------

  7.3.3. MP3-Dateien kodieren

   Gegenwa:rtig ist Lame der meistbenutzte MP3-Encoder. Lame finden
   Sie unter audio/lame im Ports-Verzeichnis.

   Benutzen Sie die WAV-Dateien, die sie von CD gerippt haben, und
   wandeln sie mit dem folgenden Befehl die Datei audio01.wav in
   audio01.mp3 um:

 # lame -h -b 128 \
 --tt "Foo Liedtitel" \
 --ta "FooBar Ku:nstler" \
 --tl "FooBar Album" \
 --ty "2001" \
 --tc "Geripped und kodiert von Foo" \
 --tg "Musikrichtung" \
 audio01.wav audio01.mp3

   128 kbits ist die gewo:hnliche MP3-Bitrate. Viele bevorzugen mit
   160 oder 192 kbits eine ho:here Qualita:t. Je ho:her die Bitrate
   ist, desto mehr Speicherplatz beno:tigt die resultierende
   MP3-Datei, allerdings wird die Qualita:t dadurch auch besser. Der
   Schalter -h verwendet den "higher quality but a little slower"
   (ho:here Qualita:t, aber etwas langsamer) Modus. Die Schalter, die
   mit --t beginnen, sind ID3-Tags, die in der Regel Informationen
   u:ber das Lied enthalten und in die MP3-Datei eingebettet sind.
   Weitere Optionen ko:nnen in der Manualpage von Lame nachgelesen
   werden.

     --------------------------------------------------------------

  7.3.4. MP3-Dateien dekodieren

   Um aus MP3-Dateien eine Audio CD zu erstellen, mu:ssen diese in
   ein nicht komprimiertes WAV-Format umgewandelt werden. Sowohl XMMS
   als auch mpg123 unterstu:tzen die Ausgabe der MP3-Dateien in
   unkomprimierte Dateiformate.

   Dekodieren mit XMMS:

    1. Starten Sie XMMS.

    2. Klicken Sie mit der rechten Maustaste, um das XMMS-Menu zu
       o:ffnen.

    3. Wa:hlen Sie Preference im Untermenu: Options.

    4. A:ndern Sie das Output-Plugin in "Disk Writer Plugin".

    5. Dru:cken Sie Configure.

    6. Geben Sie ein Verzeichnis ein (oder wa:hlen Sie browse), in
       das Sie die unkomprimierte Datei schreiben wollen.

    7. Laden Sie die MP3-Datei wie gewohnt in XMMS mit einer
       Lautsta:rke von 100% und einem abgeschalteten EQ.

    8. Dru:cken Sie Play und es wird so aussehen, als spiele XMMS die
       MP3-Datei ab, aber keine Musik ist zu ho:ren. Der Player
       u:berspielt die MP3-Datei in eine Datei.

    9. Vergessen Sie nicht, das Output-Plugin wieder in den
       Ausgangszustand zuru:ckzusetzen um wieder MP3-Dateien anho:ren
       zu ko:nnen.

   Mit mpg123 nach stdout schreiben:

    1. Geben Sie mpg123 -s audio01.mp3 > audio01.pcm ein.

   XMMS schreibt die Datei im WAV-Format aus wa:hrend mpg123 die
   MP3-Datei in rohe PCM-Audiodaten umwandelt. cdrecord kann mit
   beiden Formaten Audio-CDs erstellen, burncd(8) kann nur rohe
   PCM-Audiodaten verarbeiten. Der Dateikopf von WAV-Dateien erzeugt
   am Anfang des Stu:cks ein Knacken. Sie ko:nnen den Dateikopf mit
   dem Werkzeug SoX, das sich als Paket oder aus dem Port audio/sox
   installieren la:sst, entfernen:

 % sox -t wav -r 44100 -s -w -c 2 track.wav track.raw

   Lesen Sie Abschnitt 18.6 in diesem Handbuch, um mehr Informationen
   zur Benutzung von CD-Brennern mit FreeBSD zu erhalten.

     --------------------------------------------------------------

7.4. Videos wiedergeben

   Beigetragen von Ross Lippert.

   Die Wiedergabe von Videos ist ein neues, sich schnell
   entwickelndes, Anwendungsgebiet. Seien Sie geduldig, es wird nicht
   alles so glatt laufen, wie bei den Audio-Anwendungen.

   Bevor Sie beginnen, sollten Sie das Modell Ihrer Videokarte und
   den benutzten Chip kennen. Obwohl Xorg und XFree86 viele
   Videokarten unterstu:tzt, ko:nnen nur einige Karten Videos schnell
   genug wiedergeben. Eine Liste der Erweiterungen, die der X-Server
   fu:r eine Videokarte unterstu:tzt, erhalten Sie unter laufendem
   X11 mit dem Befehl xdpyinfo(1).

   Halten Sie eine kurze MPEG-Datei bereit, mit der Sie
   Wiedergabeprogramme und deren Optionen testen ko:nnen. Da einige
   DVD-Spieler in der Voreinstellung das DVD-Gera:t mit /dev/dvd
   ansprechen oder diesen Namen fest einkodiert haben, wollen Sie
   vielleicht symbolische Links auf die richtigen Gera:te anlegen:

 # ln -sf /dev/acd0 /dev/dvd
 # ln -sf /dev/acd0 /dev/rdvd

   Wegen devfs(5) gehen gesondert angelegte Links wie diese bei einem
   Neustart des Systems verloren. Damit die symbolischen Links
   automatisch beim Neustart des Systems angelegt werden, fu:gen Sie
   die folgenden Zeilen in /etc/devfs.conf ein:

 link acd0 dvd
 link acd0 rdvd

   Zum Entschlu:sseln von DVDs mu:ssen bestimmte DVD-ROM-Funktionen
   aufgerufen werden und schreibender Zugriff auf das DVD-Gera:t
   erlaubt sein.

   X11 benutzt Shared-Memory und Sie sollten die nachstehenden
   sysctl(8)-Variablen auf die gezeigten Werte erho:hen:

 kern.ipc.shmmax=67108864
 kern.ipc.shmall=32768

     --------------------------------------------------------------

  7.4.1. Video-Schnittstellen

   Es gibt einige Mo:glichkeiten, Videos unter X11 abzuspielen.
   Welche Mo:glichkeit funktioniert, ha:ngt stark von der verwendeten
   Hardware ab. Ebenso ha:ngt die erzielte Qualita:t von der Hardware
   ab. Die Videowiedergabe unter X11 ist ein aktuelles Thema, sodass
   jede neue Version von Xorg oder von XFree86 wahrscheinlich
   erhebliche Verbesserung entha:lt.

   Gebra:uchliche Video-Schnittstellen sind:

    1. X11: normale X11-Ausgabe u:ber Shared-Memory.

    2. XVideo: Eine Erweiterung der X11-Schnittstelle, die Videos in
       jedem X11-Drawable anzeigen kann.

    3. SDL: Simple Directmedia Layer.

    4. DGA: Direct Graphics Access.

    5. SVGAlib: Eine Schnittstelle zur Grafikausgabe auf der Konsole.

     --------------------------------------------------------------

    7.4.1.1. XVideo

   Die Erweiterung XVideo (auch Xvideo, Xv oder xv) von Xorg und
   XFree86 4.X, erlaubt die beschleunigte Wiedergabe von Videos in
   jedem Drawable. Diese Erweiterung liefert auch auf weniger
   leistungsfa:higen Systemen (beispielsweise einem PIII 400 MHz
   Laptop) eine gute Wiedergabe.

   Ob die Erweiterung la:uft, entnehmen Sie der Ausgabe von xvinfo:

 % xvinfo

   XVideo wird untertsu:tzt, wenn die Ausgabe wie folgt aussieht:

 X-Video Extension version 2.2
 screen #0
   Adaptor #0: "Savage Streams Engine"
     number of ports: 1
     port base: 43
     operations supported: PutImage
     supported visuals:
       depth 16, visualID 0x22
       depth 16, visualID 0x23
     number of attributes: 5
       "XV_COLORKEY" (range 0 to 16777215)
               client settable attribute
               client gettable attribute (current value is 2110)
       "XV_BRIGHTNESS" (range -128 to 127)
               client settable attribute
               client gettable attribute (current value is 0)
       "XV_CONTRAST" (range 0 to 255)
               client settable attribute
               client gettable attribute (current value is 128)
       "XV_SATURATION" (range 0 to 255)
               client settable attribute
               client gettable attribute (current value is 128)
       "XV_HUE" (range -180 to 180)
               client settable attribute
               client gettable attribute (current value is 0)
     maximum XvImage size: 1024 x 1024
     Number of image formats: 7
       id: 0x32595559 (YUY2)
         guid: 59555932-0000-0010-8000-00aa00389b71
         bits per pixel: 16
         number of planes: 1
         type: YUV (packed)
       id: 0x32315659 (YV12)
         guid: 59563132-0000-0010-8000-00aa00389b71
         bits per pixel: 12
         number of planes: 3
         type: YUV (planar)
       id: 0x30323449 (I420)
         guid: 49343230-0000-0010-8000-00aa00389b71
         bits per pixel: 12
         number of planes: 3
         type: YUV (planar)
       id: 0x36315652 (RV16)
         guid: 52563135-0000-0000-0000-000000000000
         bits per pixel: 16
         number of planes: 1
         type: RGB (packed)
         depth: 0
         red, green, blue masks: 0x1f, 0x3e0, 0x7c00
       id: 0x35315652 (RV15)
         guid: 52563136-0000-0000-0000-000000000000
         bits per pixel: 16
         number of planes: 1
         type: RGB (packed)
         depth: 0
         red, green, blue masks: 0x1f, 0x7e0, 0xf800
       id: 0x31313259 (Y211)
         guid: 59323131-0000-0010-8000-00aa00389b71
         bits per pixel: 6
         number of planes: 3
         type: YUV (packed)
       id: 0x0
         guid: 00000000-0000-0000-0000-000000000000
         bits per pixel: 0
         number of planes: 0
         type: RGB (packed)
         depth: 1
         red, green, blue masks: 0x0, 0x0, 0x0

   Einige der aufgefu:hrten Formate (wie YUV2 oder YUV12) existieren
   in machen XVideo-Implementierungen nicht. Dies kann zu Problemen
   mit einigen Spielern fu:hren.

   XVideo wird wahrscheinlich von Ihrer Karte nicht unterstu:tzt,
   wenn die die Ausgabe wie folgt aussieht:

 X-Video Extension version 2.2
 screen #0
 no adaptors present

   Wenn die XVideo-Erweiterung auf Ihrer Karte nicht la:uft, wird es
   nur etwas schwieriger, die Anforderungen fu:r die Wiedergabe von
   Videos zu erfu:llen. Abha:ngig von Ihrer Videokarte und Ihrem
   Prozessor ko:nnen Sie dennoch zufriedenstellende Ergebnisse
   erzielen. Sie sollten vielleicht die weiterfu:hrenden Quellen in
   Abschnitt 7.4.3 zu Rate ziehen, um die Geschwindigkeit Ihres
   Systems zu steigern.

     --------------------------------------------------------------

    7.4.1.2. Simple Directmedia Layer

   Die Simple Directmedia Layer, SDL, ist eine zwischen
   Microsoft Windows, BeOS und UNIX portable Schnittstelle. Mit
   dieser Schnittstelle ko:nnen Anwendungen plattformunabha:ngig und
   effizient Ton und Grafik benutzen. SDL bietet eine hardwarenahe
   Schnittstelle, die manchmal schneller als die X11-Schnittstelle
   sein kann.

   SDL finden Sie in den Ports im Verzeichnis devel/sdl12.

     --------------------------------------------------------------

    7.4.1.3. Direct Graphics Access

   Die X11-Erweiterung Direct Graphics Access (DGA) erlaubt es
   Anwendungen, am X-Server vorbei direkt in den Framebuffer zu
   schreiben. Da die Anwendung und der X-Server auf gemeinsame
   Speicherbereiche zugreifen, mu:ssen die Anwendungen unter dem
   Benutzer root laufen.

   Die DGA-Erweiterung kann mit dga(1) getestet werden. Das Kommando
   dga wechselt, jedes Mal wenn eine Taste gedru:ckt wird, die Farben
   der Anzeige. Sie ko:nnen das Programm mit der Taste q verlassen.

     --------------------------------------------------------------

  7.4.2. Video-Anwendungen

   Dieser Abschnitt behandelt Anwendungen aus der
   FreeBSD-Ports-Sammlung, die Videos abspielen. An der
   Videowiedergabe wird derzeit aktiv gearbeitet, sodass der
   Funktionsumfang der Anwendungen von dem hier beschriebenen
   abweichen kann.

   Viele unter FreeBSD laufende Videoanwendungen wurden unter Linux
   entwickelt und befinden sich noch im Beta-Status. Der Betrieb
   dieser Anwendungen unter FreeBSD sto:sst vielleicht auf einige der
   nachstehenden Probleme:

    1. Eine Anwendung kann eine Datei einer anderen Anwendung nicht
       abspielen.

    2. Eine Anwendung kann eine selbst produzierte Datei nicht
       abspielen.

    3. Wenn dieselbe Anwendung auf unterschiedlichen Maschinen gebaut
       wird, wird ein Video unterschiedlich wiedergegeben.

    4. Ein vergleichsweise einfacher Filter, wie die Skalierung eines
       Bildes, fu:hrt zu deutlichen Artefakten in der Darstellung.

    5. Eine Anwendung stu:rzt ha:ufig ab.

    6. Die Dokumentation wird bei der Installation des Ports nicht
       installiert. Sie befindet sich entweder auf dem Internet oder
       im Verzeichnis work des Ports.

   Viele Anwendungen sind zudem sehr "Linux-lastig". Probleme
   entstehen durch die Implementierung von Standard-Bibliotheken in
   Linux-Distributionen oder dadurch, dass die Anwendung bestimmte
   Linux-Kernelfunktionen voraussetzt. Diese Probleme werden nicht
   immer vom Betreuer eines Ports bemerkt und umgangen. In der Praxis
   entstehen dadurch folgende Probleme:

    1. Eigenschaften des Prozessors werden u:ber /proc/cpuinfo
       ermittelt.

    2. Die falsche Anwendung von Threads fu:hrt dazu, dass sich ein
       Programm aufha:ngt statt sich zu beenden.

    3. Die Anwendung ha:ngt von anderen Anwendungen ab, die sich noch
       nicht in der FreeBSD-Ports-Sammlung befinden.

   Allerdings arbeiten die Anwendungsentwickler bislang mit den
   Betreuern der Ports zusammen, sodass zusa:tzlicher
   Portierungsaufwand minimiert wird.

     --------------------------------------------------------------

    7.4.2.1. MPlayer

   MPlayer ist ein ku:rzlich entstandener und sich stark
   weiterentwickelnder Video-Spieler. Das Hauptaugenmerk des
   MPlayer-Teams liegt auf Geschwindigkeit und Flexibilita:t auf
   Linux und anderen UNIX Systemen. Das Projekt entstand weil der
   Gru:nder des Teams unzufrieden mit der Geschwindigkeit bestehender
   Video-Spieler war. Kritiker behaupten, dass die
   Benutzeroberfla:che der einfachen Gestaltung zum Opfer fiel. Wenn
   Sie sich allerdings erstmal an die Kommandozeilenoptionen und die
   Tastensteuerung gewo:hnt haben, funktioniert die Anwendung sehr
   gut.

     --------------------------------------------------------------

      7.4.2.1.1. MPlayer bauen

   MPlayer finden Sie in der Ports-Sammlung unter multimedia/mplayer.
   Der Bau von MPlayer beru:cksichtigt die vorhandene Harware und
   erzeugt ein Programm, das nicht auf ein anderes System
   u:bertragbar ist. Es ist daher wichtig, dass Sie das Programm aus
   den Ports bauen und nicht das fertige Paket installieren.
   Zusa:tzlich ko:nnen Sie auf der Kommandozeile von make noch einige
   Optionen angeben, die im Makefile beschrieben sind und am die
   Anfang des Baus ausgegeben werden:

 # cd /usr/ports/multimedia/mplayer
 # make
 N - O - T - E

 Take a careful look into the Makefile in order
 to learn how to tune mplayer towards you personal preferences!
 For example,
 make WITH_GTK1
 builds MPlayer with GTK1-GUI support.
 If you want to use the GUI, you can either install
 /usr/ports/multimedia/mplayer-skins
 or download official skin collections from
 http://www.mplayerhq.hu/homepage/dload.html

   Fu:r die meisten Benutzer sind die voreingestellten Option in
   Ordnung. Wenn Sie den XviD-Codec beno:tigen, mu:ssen Sie auf der
   Kommandozeile die Option WITH_XVID angeben. Das DVD-Gera:t ko:nnen
   Sie mit der Option WITH_DVD_DEVICE angeben. Wenn Sie die Option
   nicht angeben, wird /dev/acd0 benutzt.

   Als dieser Abschnitt verfasst wurde, baute der MPlayer-Port die
   HTML-Dokumentation sowie die beiden Programme mplayer und
   mencoder. Mit mencoder ko:nnen Sie Videodateien umwandeln.

   Die HTML-Dokumentation von MPlayer ist sehr lehrreich. Wenn Sie in
   diesem Kapitel Informationen u:ber Video-Hardware oder
   Schnittstellen vermissen, ist die MPlayer-Dokumentation eine
   ausgezeichnete Quelle. Wenn Sie Informationen u:ber die
   Video-Unterstu:tzung unter UNIX beno:tigen, sollten Sie die
   MPlayer-Dokumentation auf jeden Fall lesen.

     --------------------------------------------------------------

      7.4.2.1.2. MPlayer benutzen

   Jeder Benutzer von MPlayer muss in seinem Heimatverzeichnis das
   Verzeichnis .mplayer anlegen. Dieses Verzeichnis ko:nnen Sie wie
   folgt anlegen:

 % cd /usr/ports/multimedia/mplayer
 % make install-user

   Die Kommandozeilenoptionen von mplayer sind in der Hilfeseite
   aufgefu:hrt. Eine genaue Beschreibung befindet sich in der
   HTML-Dokumentation. In diesem Abschnitt wird nur der normale
   Gebrauch von mplayer beschrieben.

   Um eine Datei, wie testfile.avi, unter verschiedenen
   Video-Schnittstellen abzuspielen, benutzen Sie die Option -vo:

 % mplayer -vo xv testfile.avi

 % mplayer -vo sdl testfile.avi

 % mplayer -vo x11 testfile.avi

 # mplayer -vo dga testfile.avi

 # mplayer -vo 'sdl:dga' testfile.avi

   Es lohnt sich, alle Option zu testen. Die erzielte Geschwindigkeit
   ha:ngt von vielen Faktoren ab und variiert betra:chtlich je nach
   eingesetzter Hardware.

   Wenn Sie eine DVD abspielen wollen, ersetzen Sie testfile.avi
   durch -dvd://N Gera:t. N ist die Nummer des Stu:cks, das Sie
   abspielen wollen und Gera:t gibt den Gera:tenamen des DVD-ROMs an.
   Das nachstehende Kommando spielt das dritte Stu:ck von /dev/dvd:

 # mplayer -vo dga -dvd://3 /dev/dvd

     Anmerkung: Das standardma:ssig verwendete DVD-Laufwerk kann beim
     Bau des MPlayer-Ports mit der Option WITH_DVD_DEVICE festgelegt
     werden. Die Voreinstellung verwendet das Gera:t /dev/acd0.
     Genaueres finden Sie im Makefile des Ports.

   Die Tastenkombinationen zum Abbrechen, Anhalten und Weiterfu:hren
   der Wiedergabe entnehmen Sie bitte der Ausgabe von mplayer -h oder
   der Hilfeseite.

   Weitere nu:tzliche Optionen fu:r die Wiedergabe sind -fs -zoom zur
   Wiedergabe im Vollbild-Modus und -framedrop zur Steigerung der
   Geschwindigkeit.

   Damit die Kommandozeile von mplayer kurz bleibt, kann ein Benutzer
   Vorgaben in der Datei .mplayer/config hinterlegen:

 vo=xv
 fs=yes
 zoom=yes

   Schliesslich kann mplayer noch DVD-Stu:cke in .vob-Dateien rippen.
   Das zweite Stu:ck einer DVD wandeln Sie wie folgt in eine Datei
   um:

 # mplayer -dumpstream -dumpfile out.vob -dvd://2 /dev/dvd

   Die Ausgabedatei out.vob wird im MPEG-Format abgespeichert und
   kann mit anderen Werkzeugen aus diesem Abschnitt bearbeitet
   werden.

     --------------------------------------------------------------

      7.4.2.1.3. mencoder

   Sie sollten die HTML-Dokumentation lesen, bevor Sie mencoder
   benutzen. Es gibt zwar eine Hilfeseite, die aber ohne die
   HTML-Dokumentation nur eingeschra:kt nu:tzlich ist. Es gibt viele
   Mo:glichkeiten die Qualita:t zu verbessern, die Bitrate zu
   verringern und Formate zu konvertieren. Einige davon haben
   erhebliche Auswirkungen auf die Geschwindigkeit der Wiedergabe.
   Zum Start finden Sie im Folgenden einige Kommandozeilen. Die erste
   kopiert einfach eine Datei:

 % mencoder input.avi -oac copy -ovc copy -o output.avi

   Falsche Kombinationen von Kommandozeilenparametern ergeben
   eventuell Dateien, die selbst mplayer nicht mehr abspielen kann.
   Wenn Sie in eine Datei rippen, sollten Sie daher auf jeden Fall
   die Option -dumpfile von mplayer verwenden.

   Die nachstehende Kommandozeile wandelt die Datei input.avi nach
   MPEG4 mit MPEG3 fu:r den Ton um (hierfu:r wird der Ports
   audio/lame beno:tigt):

 % mencoder input.avi -oac mp3lame -lameopts br=192 \
          -ovc lavc -lavcopts vcodec=mpeg4:vhq -o output.avi

   Die Ausgabedatei la:sst sowohl mit mplayer als auch xine
   abspielen.

   Wenn Sie input.avi durch -dvd://1 /dev/dvd ersetzen und das
   Kommando unter root laufen lassen, ko:nnen Sie ein DVD-Stu:ck
   direkt konvertieren. Da Sie wahrscheinlich beim ersten Mal
   unzufrieden mit den Ergebnissen sind, sollten Sie das Stu:ck
   zuerst in eine Datei schreiben und anschliessend die Datei
   weiterverarbeiten.

     --------------------------------------------------------------

    7.4.2.2. Der Video-Spieler xine

   Der Video-Spieler xine ist ein Projekt mit grossem Umfang. Das
   Projekt will nicht nur ein Programm fu:r alle Video-Anwendungen
   bieten, sondern auch eine wiederverwendbare Bibliothek und ein
   Programm, das durch Plugins erweiterbar ist. Das Programm steht
   als fertiges Paket oder als Port unter multimedia/xine zur
   Verfu:gung.

   Der multimedia/xine-Spieler hat noch ein paar Ecken und Kanten,
   macht aber insgesamt einen guten Eindruck. Fu:r einen
   reibungslosen Betrieb beno:tigt xine entweder eine schnelle CPU
   oder die XVideo-Erweiterung. Das GUI ist etwas schwerfa:llig.

   Zurzeit gibt es kein xine-Modul, das CSS-kodierte DVDs abspielen
   kann und sich in der FreeBSD Ports-Sammlung befindet.

   xine ist benutzerfreundlicher als MPlayer, bietet allerdings nicht
   soviele Mo:glichkeiten. Am schnellsten la:uft xine mit der
   XVideo-Erweiterung.

   In der Voreinstellung startet xine eine grafische
   Benutzeroberfla:che. U:ber Menu:s ko:nnen Sie Dateien o:ffnen:

 % xine

   Alternativ ko:nnen Sie das Programm auch ohne GUI aufrufen und
   Dateien direkt abspielen:

 % xine -g -p mymovie.avi

     --------------------------------------------------------------

    7.4.2.3. Die transcode-Werkzeuge

   transcode ist kein Spieler, sondern eine Sammlung von Werkzeugen
   zur Umwandlung von Video- und Sounddateien. transcode mischt
   Video-Dateien und kann kaputte Video-Dateien reparieren. Die
   Werkzeuge werden als Filter verwendet, das heisst die Ein- und
   Ausgaben verwenden stdin/stdout.

   Beim Bau von transcode u:ber den Port multimedia/transcode ko:nnen
   zwar zahreiche Optionen angegeben werden. Empfehlenswert ist es
   aber, den Bau mit folgendem Befehl zu starten:

 # make WITH_OPTIMIZED_CFLAGS=yes WITH_LIBA52=yes WITH_LAME=yes WITH_OGG=yes \
 WITH_MJPEG=yes -DWITH_XVID=yes

   Diese Einstellungen sollen fu:r die meisten Anwender ausreichend
   sein.

   Um die Fa:higkeiten von transcode zu illustrieren, wird im
   folgenden Beispiel eine DivX-Datei in eine PAL MPEG-1-Datei
   konvertiert:

 % transcode -i input.avi -V --export_prof vcd-pal -o output_vcd
 % mplex -f 1 -o output_vcd.mpg output_vcd.m1v output_vcd.mpa

   Die daraus resultierende MPEG-Datei, output_vcd.mpg, kann
   beispielsweise mit MPlayer abgespielt werden. Sie ko:nnen sie
   sogar als Video-CD auf eine CD-R brennen. Wenn Sie diese Funktion
   beno:tigen, mu:ssen Sie zusa:tzlich die beiden Programme
   multimedia/vcdimager und sysutils/cdrdao installieren.

   Zwar gibt es eine Manualpage zu transcode, Sie sollen aber auf
   jeden Fall auch die Informationen und Beispiele im transcode-Wiki
   lesen.

     --------------------------------------------------------------

  7.4.3. Weiterfu:hrende Quellen

   Die Video-Software fu:r FreeBSD entwickelt sich sehr schnell. Es
   ist wahrscheinlich, dass die hier angesprochenen Probleme bald
   gelo:st sind. Bis dahin mu:ssen Anwender, die das meiste aus den
   Audio- und Video-Fa:higkeiten von FreeBSD machen wollen,
   Informationen aus mehreren FAQs und Tutorien zusammensuchen und
   verschiedene Anwendungen nebeneinander betreiben. Dieser Abschnitt
   weist auf weitere Informationsquellen hin.

   Die MPlayer-Dokumentation ist sehr aufschlussreich. Die Dokumente
   sollten wahrscheinlich von jedem gelesen werden, der hohe
   Fachkenntnisse u:ber Video auf UNIX Systemen erlangen will. Die
   MPlayer-Mailinglisten reagiert feindselig auf Personen, die es
   nicht fu:r no:tig halten, die Dokumentation zu lesen. Wenn Sie
   Fehlerberichte an die Liste schicken wollen, lesen Sie bitte
   vorher die ausgezeichnete Dokumentation (RTFM).

   Das xine HOWTO entha:lt allgemein gu:ltige Hinweise zur
   Verbesserung der Wiedergabegeschwindigkeit.

   Schliesslich gibt es noch weitere vielversprechende Anwendungen,
   die Sie vielleicht ausprobieren wollen:

     * Avifile gibt es schon als Port multimedia/avifile.

     * Ogle wurde ebenfalls schon portiert: multimedia/ogle.

     * Xtheater.

     * multimedia/dvdauthor, ist ein Open-Source-Paket, mit dem Sie
       DVDs erstellen ko:nnen.

     --------------------------------------------------------------

7.5. TV-Karten einrichten

   Beigetragen von Josef El-Rayes. U:berarbeitet von Marc Fonvieille.

     --------------------------------------------------------------

  7.5.1. Einfu:hrung

   Mit TV-Karten ko:nnen Sie mit Ihrem Rechner u:ber Kabel oder
   Antenne fernsehen. Die meisten Karten besitzen einen RCA- oder
   S-Video-Eingang. Einige Karten haben auch einen
   FM-Radio-Empfa:nger.

   Der bktr(4)-Treiber von FreeBSD unterstu:tzt PCI-TV-Karten mit
   einem Brooktree Bt848/849/878/879 oder einem Conexant
   CN-878/Fusion 878a Chip. Die Karte sollte einen der unterstu:tzten
   Empfa:nger besitzen, die in der Hilfeseite bktr(4) aufgefu:hrt
   sind.

     --------------------------------------------------------------

  7.5.2. Den Treiber einrichten

   Um Ihre Karte zu benutzen, mu:ssen Sie den bktr(4)-Treiber laden.
   Fu:gen Sie die nachstehende Zeile in die Datei /boot/loader.conf
   ein:

 bktr_load="YES"

   Sie ko:nnen den Treiber fu:r die TV-Karte auch fest in den Kernel
   compilieren. Erweitern Sie dazu Ihre Kernelkonfiguration um die
   folgenden Zeilen:

 device   bktr
 device  iicbus
 device  iicbb
 device  smbus

   Die zusa:tzlichen Treiber werden beno:tigt, da die Komponenten der
   Karte u:ber einen I2C-Bus verbunden sind. Bauen und installieren
   Sie dann den neuen Kernel.

   Anschliessend mu:ssen Sie Ihr System neu starten. Wa:hrend des
   Neustarts sollte Ihre TV-Karte erkannt werden:

 bktr0: <BrookTree 848A> mem 0xd7000000-0xd7000fff irq 10 at device 10.0 on pci0
 iicbb0: <I2C bit-banging driver> on bti2c0
 iicbus0: <Philips I2C bus> on iicbb0 master-only
 iicbus1: <Philips I2C bus> on iicbb0 master-only
 smbus0: <System Management Bus> on bti2c0
 bktr0: Pinnacle/Miro TV, Philips SECAM tuner.

   Abha:ngig von Ihrer Hardware ko:nnen die Meldungen natu:rlich
   anders aussehen. Sie sollten aber pru:fen, dass der Empfa:nger
   richtig erkannt wird. Die entdeckten Gera:te lassen sich mit
   sysctl(8) oder in der Kernelkonfigurationsdatei u:berschreiben.
   Wenn Sie beispielsweise einen Philips-SECAM-Empfa:nger erzwingen
   wollen, fu:gen Sie die folgende Zeile zur
   Kernelkonfigurationsdatei hinzu:

 options OVERRIDE_TUNER=6

   Alternativ ko:nnen Sie direkt sysctl(8) benutzen:

 # sysctl hw.bt848.tuner=6

   Weitere Informationen zu den verschiedenen Optionen finden Sie in
   bktr(4) sowie in der Datei /usr/src/sys/conf/NOTES.

     --------------------------------------------------------------

  7.5.3. Nu:tzliche Anwendungen

   Um die TV-Karte zu benutzen, mu:ssen Sie eine der nachstehenden
   Anwendungen installieren:

     * multimedia/fxtv la:sst das Fernsehprogramm in einem Fenster
       laufen und kann Bilder, Audio und Video aufzeichnen.

     * multimedia/xawtv eine weitere TV-Anwendung, mit den gleichen
       Funktionen wie fxtv.

     * misc/alevt dekodiert und zeigt Videotext/Teletext an.

     * Mit audio/xmradio la:sst sich der FM-Radio-Empfa:nger, der
       sich auf einigen TV-Karten befindet, benutzen.

     * audio/wmtune ein leicht zu bedienender Radio-Empfa:nger.

   Weitere Anwendungen finden Sie in der FreeBSD Ports-Sammlung.

     --------------------------------------------------------------

  7.5.4. Fehlersuche

   Wenn Sie Probleme mit Ihrer TV-Karte haben, pru:fen Sie zuerst, ob
   der Video-Capture-Chip und der Empfa:nger auch wirklich vom
   bktr(4)-Treiber unterstu:tzt werden. Pru:fen Sie dann, ob Sie die
   richtigen Optionen verwenden. Weitere Hilfe erhalten Sie auf der
   Mailingliste freebsd-multimedia und in deren Archiven.

     --------------------------------------------------------------

7.6. Scanner

   Beigetragen von Marc Fonvieille.

     --------------------------------------------------------------

  7.6.1. Einfu:hrung

   Unter FreeBSD stellt SANE (Scanner Access Now Easy) aus der
   Ports-Sammlung eine einheitliche Schnittstelle (API) fu:r den
   Zugriff auf Scanner bereit. SANE wiederum greift auf Scanner
   mithilfe einiger FreeBSD-Treiber zu.

   FreeBSD unterstu:tzt sowohl SCSI- als auch USB-Scanner. Pru:fen
   Sie vor der Konfiguration mithilfe der Liste der unterstu:tzten
   Gera:te ob Ihr Scanner von SANE unterstu:tzt wird. Die Hilfeseite
   uscanner(4) za:hlt ebenfalls die unterstu:tzten USB-Scanner auf.

     --------------------------------------------------------------

  7.6.2. Den Kernel fu:r Scanner einrichten

   Da sowohl SCSI- als auch USB-Scanner unterstu:tzt werden, werden
   abha:ngig von der Schnittstelle unterschiedliche Treiber
   beno:tigt.

     --------------------------------------------------------------

    7.6.2.1. USB-Scanner

   Im GENERIC-Kernel sind schon alle, fu:r einen USB-Scanner
   notwendigen, Treiber enthalten. Wenn Sie einen angepassten Kernel
   benutzen, pru:fen Sie, dass die Kernelkonfiguration die
   nachstehenden Zeilen entha:lt:

 device usb
 device uhci
 device ohci
 device uscanner

   Abha:ngig vom Chipsatz Ihrer Systemplatine beno:tigen Sie in der
   Kernelkonfiguration entweder die Option device uhci oder die
   Option device ohci. Die Kernelkonfiguration kann allerdings auch
   beide Optionen enthalten.

   Wenn Sie den Kernel nicht neu bauen wollen und einen angepassten
   Kernel verwenden, ko:nnen Sie den Treiber uscanner(4) direkt mit
   dem Kommando kldload(8) laden:

 # kldload uscanner

   Wenn Sie das Modul bei jedem Systemstart laden wollen, fu:gen Sie
   in der Datei /boot/loader.conf die nachstehende Zeile hinzu:

 uscanner_load="YES"

   Nachdem Sie das System mit dem richtigen Kernel neu gestartet oder
   das Modul geladen haben, stecken Sie den USB-Scanner ein. Danach
   sollte in den Systemmeldungen (die Sie mit dmesg(8) betrachten
   ko:nnen) eine Zeile a:hnlich der folgenden erscheinen:

 uscanner0: EPSON EPSON Scanner, rev 1.10/3.02, addr 2

   Diese Meldung besagt, dass der Scanner die Gera:tedatei
   /dev/uscanner0 benutzt.

     --------------------------------------------------------------

    7.6.2.2. SCSI-Scanner

   Wenn Ihr Scanner eine SCSI-Schnittstelle besitzt, ist die
   Kernelkonfiguration abha:ngig vom verwendeten SCSI-Controller. Der
   GENERIC-Kernel unterstu:tzt die gebra:uchlichen SCSI-Controller.
   Den richtigen Treiber finden Sie in der Datei NOTES. Neben dem
   Treiber muss Ihre Kernelkonfiguration noch die nachstehenden
   Zeilen enthalten:

 device scbus
 device pass

   Nachdem Sie einen Kernel gebaut und installiert haben, sollte der
   Scanner beim Neustart in den Systemmeldungen erscheinen:

 pass2 at aic0 bus 0 target 2 lun 0
 pass2: <AGFA SNAPSCAN 600 1.10> Fixed Scanner SCSI-2 device
 pass2: 3.300MB/s transfers

   Wenn der Scanner wa:hrend des Systemstarts ausgeschaltet war,
   ko:nnen Sie die Gera:teerkennung erzwingen, indem Sie den SCSI-Bus
   erneut absuchen. Verwenden Sie dazu das Kommando camcontrol(8):

 # camcontrol rescan all
 Re-scan of bus 0 was successful
 Re-scan of bus 1 was successful
 Re-scan of bus 2 was successful
 Re-scan of bus 3 was successful

   Der Scanner wird anschliessend in der SCSI-Gera:teliste angezeigt:

 # camcontrol devlist
 <IBM DDRS-34560 S97B>              at scbus0 target 5 lun 0 (pass0,da0)
 <IBM DDRS-34560 S97B>              at scbus0 target 6 lun 0 (pass1,da1)
 <AGFA SNAPSCAN 600 1.10>           at scbus1 target 2 lun 0 (pass3)
 <PHILIPS CDD3610 CD-R/RW 1.00>     at scbus2 target 0 lun 0 (pass2,cd0)

   Weiteres u:ber SCSI-Gera:te lesen Sie bitte in den Hilfeseiten
   scsi(4) und camcontrol(8) nach.

     --------------------------------------------------------------

  7.6.3. SANE konfigurieren

   SANE besteht aus zwei Teilen, den Backends
   (graphics/sane-backends) und den Frontends
   (graphics/sane-frontends). Das Backend greift auf den Scanner zu.
   Welches Backend welchen Scanner unterstu:tzt, entnehmen Sie der
   Liste der unterstu:tzten Gera:te.. Der Betrieb eines Scanners ist
   nur dem richtigen Backend mo:glich. Die Frontends sind die
   Anwendungen, mit denen gescannt wird (xscanimage).

   Installieren Sie zuerst den Port oder das Paket
   graphics/sane-backends. Anschliessend ko:nnen Sie mit dem Befehl
   sane-find-scanner pru:fen, ob SANE Ihren Scanner erkennt:

 # sane-find-scanner -q
 found SCSI scanner "AGFA SNAPSCAN 600 1.10" at /dev/pass3

   Die Ausgabe zeigt die Schnittstelle und die verwendete
   Gera:tedatei des Scanners. Der Hersteller und das Modell ko:nnen
   in der Ausgabe fehlen.

     Anmerkung: Bei einigen USB-Scannern mu:ssen Sie die Firmware
     aktualisieren, dies wird in der Hilfeseite des Backends
     erkla:rt. Lesen Sie bitte auch die Hilfeseiten
     sane-find-scanner(1) und sane(7).

   Als na:chstes mu:ssen Sie pru:fen, ob der Scanner vom Frontend
   erkannt wird. Die SANE-Backends werden mit dem
   Kommandozeilenwerkzeug scanimage(1) geliefert. Mit diesem Werkzeug
   ko:nnen Sie sich Scanner anzeigen lassen und den Scan-Prozess von
   der Kommandozeile starten. Die Option -L zeigt die Scanner an:

 # scanimage -L
 device `snapscan:/dev/pass3' is a AGFA SNAPSCAN 600 flatbed scanner

   Erscheint die Meldung, dass kein Scanner gefunden wurde oder wird
   gar keine Ausgabe erzeugt, konnte scanimage(1) keinen Scanner
   erkennen. In diesem Fall mu:ssen Sie in der Konfigurationsdatei
   des Backends das zu benutzende Gera:t eintragen. Die
   Konfigurationsdateien der Backends befinden sich im Verzeichnis
   /usr/local/etc/sane.d/. Erkennungsprobleme treten bei bestimmten
   USB-Scannern auf.

   Mit dem USB-Scanner aus Abschnitt 7.6.2.1 zeigt sane-find-scanner
   die folgende Ausgabe:

 # sane-find-scanner -q
 found USB scanner (UNKNOWN vendor and product) at device /dev/uscanner0

   Der Scanner wurde richtig erkennt, er benutzt eine
   USB-Schnittstelle und verwendet die Gera:tedatei /dev/uscanner0.
   Ob der Scanner vom Frontend erkannt wird, zeigt das nachstehende
   Kommando:

 # scanimage -L

 No scanners were identified. If you were expecting something different,
 check that the scanner is plugged in, turned on and detected by the
 sane-find-scanner tool (if appropriate). Please read the documentation
 which came with this software (README, FAQ, manpages).

   Da der Scanner nicht erkannt wurde, muss die Datei
   /usr/local/etc/sane.d/epson.conf editiert werden. Der verwendete
   Scanner war ein EPSON Perfection(R) 1650, daher wird das
   epson-Backend benutzt. Lesen Sie bitte alle Kommentare in der
   Konfigurationsdatei des Backends. Die durchzufu:hrenden
   A:nderungen sind einfach. Kommentieren Sie zuna:chst alle Zeilen
   mit der falschen Schnittstelle aus. Da der Scanner eine
   USB-Schnittstelle besitzt, wurden im Beispiel alle Zeilen, die mit
   scsi anfingen, auskommentiert. Fu:gen Sie dann die Schnittstelle
   und den Gera:tenamen am Ende der Datei ein. In diesem Beispiel
   wurde die nachstehende Zeile eingefu:gt:

 usb /dev/uscanner0

   Weitere Hinweise entnehmen Sie bitte der Hilfeseite des Backends.
   Jetzt ko:nnen Sie pru:fen, ob der Scanner richtig erkannt wird:

 # scanimage -L
 device `epson:/dev/uscanner0' is a Epson GT-8200 flatbed scanner

   Der Scanner wurde nun erkannt. Es ist nicht wichtig, ob der
   Hersteller oder das Modell Ihres Scanners korrekt angezeigt
   werden. Wichtig ist nur die Ausgabe `epson:/dev/uscanner0', die
   das richtige Backend und den richtigen Gera:tenamen anzeigt.

   Wenn scanimage -L den Scanner erkannt hat, ist der Scanner
   eingerichtet und bereit, zu scannen.

   Obwohl wir mit scanimage(1) von der Kommandozeile scannen ko:nnen,
   ist eine graphische Anwendung zum Scannen besser geeignet. SANE
   bietet ein einfaches und effizientes Werkzeug: xscanimage
   (graphics/sane-frontends).

   Xsane (graphics/xsane) ist eine weitere beliebte graphische
   Anwendung. Dieses Frontend besitzt erweiterte Funktionen wie den
   Scan-Modus (beispielsweise Photo, Fax), eine Farbkorrektur und
   Batch-Scans. Beide Anwendungen lassen sich als GIMP-Plugin
   verwenden.

     --------------------------------------------------------------

  7.6.4. Den Scanner fu:r Benutzerkonten freigeben

   Vorher wurden alle Ta:tigkeiten mit root-Rechten ausgefu:hrt. Wenn
   andere Benutzer den Scanner benutzen sollen, mu:ssen sie Lese- und
   Schreibrechte auf die Gera:tedatei des Scanners besitzen. Im
   Beispiel wird die Datei /dev/uscanner0 verwendet, die der Gruppe
   operator geho:rt. Damit der Benutzer joe auf den Scanner zugreifen
   kann, muss das Konto in die Gruppe operator aufgenommen werden:

 # pw groupmod operator -m joe

   Weiteres entnehmen Sie bitte der Hilfeseite pw(8). Da Mitglieder
   der Gruppe operator in der Voreinstellung nur Leserechte fu:r die
   Gera:tedatei /dev/uscanner0 besitzen, mu:ssen Sie ebenfalls die
   Schreibbrechtigung (0660 oder 0664) vergeben. Dazu fu:gen Sie in
   die Datei /etc/devfs.rules die nachstehenden Zeilen ein:

 [system=5]
 add path uscanner0 mode 660

   In die Datei /etc/rc.conf fu:gen Sie noch die folgende Zeile ein:

 devfs_system_ruleset="system"

   Starten Sie anschliessend Ihr System neu.

   Weitere Informationen finden Sie in devfs(8).

     Anmerkung: Aus Sicherheitsgru:nden sollten Sie genau darauf
     achten, wen Sie in eine Gruppe aufnehmen, besonders wenn es sich
     um die Gruppe operator handelt.

     --------------------------------------------------------------

              Kapitel 8. Konfiguration des FreeBSD-Kernels

   Erweitert und neu strukturiert von Jim Mock. Urspru:nglich
   vero:ffentlicht von Jake Hamby. U:bersetzt von Robert Altschaffel.

8.1. U:bersicht

   Der Kernel ist das Herz des FreeBSD Betriebssystems. Er ist
   verantwortlich fu:r die Speicherverwaltung, das Durchsetzen von
   Sicherheitsdirektiven, Netzwerkfa:higkeit, Festplattenzugriffen
   und vieles mehr. Obwohl FreeBSD es immer mehr ermo:glicht,
   dynamisch konfiguriert zu werden, ist es ab und an notwendig, den
   Kernel neu zu konfigurieren und zu kompilieren.

   Nachdem Sie dieses Kapitel gelesen haben, werden Sie Folgendes
   wissen:

     * Wieso Sie Ihren Kernel neu konfigurieren sollten.

     * Wie Sie eine Kernelkonfigurationsdatei erstellen oder
       vera:ndern.

     * Wie Sie mit der Konfigurationsdatei einen neuen Kernel
       kompilieren.

     * Wie Sie den neuen Kernel installieren.

     * Was zu tun ist, falls etwas schiefgeht.

   Alle Kommandos, aus den Beispielen dieses Kapitels, mu:ssen mit
   root-Rechten ausgefu:hrt werden.

     --------------------------------------------------------------

8.2. Wieso einen eigenen Kernel bauen?

   Traditionell besass FreeBSD einen monolithischen Kernel. Das
   bedeutet, dass der Kernel ein einziges grosses Programm war, das
   eine bestimmte Auswahl an Hardware unterstu:tzte. Also musste man
   immer, wenn man das Kernelverhalten vera:ndern wollte, zum
   Beispiel wenn man neue Hardware hinzufu:gen wollte, einen neuen
   Kernel kompilieren, installieren und das System neu starten.

   Heutzutage vertritt FreeBSD immer mehr die Idee eines modularen
   Kernels, bei dem bestimmte Funktionen, je nach Bedarf, als Module
   geladen werden ko:nnen. Ein bekanntes Beispiel dafu:r sind die
   Module fu:r die PCMCIA-Karten in Laptops, die zum Starten nicht
   zwingend beno:tigt und erst bei Bedarf geladen werden.

   Trotzdem ist es noch immer no:tig, einige statische
   Kernelkonfigurationen durchzufu:hren. In einigen Fa:llen ist die
   Funktion zu systemnah, um durch ein Modul zu realisiert werden. In
   anderen Fa:llen hat eventuell noch niemand ein ladbares
   Kernelmodul fu:r diese Funktion geschrieben.

   Das Erstellen eines angepassten Kernels ist eines der wichtigsten
   Rituale fu:r erfahrene BSD-Benutzer. Obwohl dieser Prozess recht
   viel Zeit in Anspruch nimmt, bringt er doch viele Vorteile fu:r
   Ihr FreeBSD System. Der GENERIC-Kernel muss eine Vielzahl
   unterschiedlicher Hardware unterstu:tzen, im Gegensatz dazu
   unterstu:tzt ein angepasster Kernel nur Ihre Hardware. Dies hat
   einige Vorteile:

     * Schnellerer Bootvorgang. Da der Kernel nur nach der Hardware
       des Systems sucht, kann sich die Zeit fu:r einen Systemstart
       erheblich verku:rzen.

     * Geringerer Speicherbedarf. Ein eigener Kernel beno:tigt in der
       Regel weniger Speicher als ein GENERIC-Kernel durch das
       Entfernen von Funktionen und Gera:tetreibern. Das ist
       vorteilhaft, denn der Kernel verweilt immer im RAM und
       verhindert dadurch, dass dieser Speicher von Anwendungen
       genutzt wird. Insbesondere profitieren Systeme mit wenig RAM
       davon.

     * Zusa:tzliche Hardwareunterstu:tzung. Ein angepasster Kernel
       kann Unterstu:tzung fu:r Gera:te wie Soundkarten bieten, die
       im GENERIC-Kernel nicht enthalten sind.

     --------------------------------------------------------------

8.3. Informationen u:ber die vorhandene Hardware beschaffen

   Geschrieben von Tom Rhodes.

   Bevor Sie mit der Kernelkonfiguration beginnen, sollten Sie
   wissen, u:ber welche Hardware Ihr System verfu:gt. Verwenden Sie
   derzeit noch ein anderes Betriebssystem, ist es meist sehr
   einfach, eine Liste der installierten Hardware zu erzeugen.
   Verwenden Sie beispielsweise Microsoft Windows, ko:nnen Sie dafu:r
   den Gera:temanager verwenden, den Sie in der "Systemsteuerung"
   finden.

     Anmerkung: Einige Versionen von Microsoft Windows verfu:gen
     u:ber ein System-Icon auf dem Desktop, u:ber das Sie den
     Gera:temanager direkt aufrufen ko:nnen.

   Haben Sie ausser FreeBSD kein weiteres Betriebssystem, mu:ssen Sie
   diese Informationen manuell zusammentragen. Eine Mo:glichkeit, an
   Informationen u:ber die vorhandene Hardware zu gelangen, ist der
   Einsatz von dmesg(8) in Kombination mit man(1). Die meisten
   FreeBSD-Gera:tetreiber haben eine eigene Manualpage, die
   Informationen u:ber die unterstu:tzte Hardware entha:lt. Wa:hrend
   des Systemstarts werden Informationen u:ber die vorhandene
   Hardware ausgegeben. Die folgenden Zeilen zeigen beispielsweise
   an, dass der psm-Treiber eine angeschlossene Maus gefunden hat:

 psm0: <PS/2 Mouse> irq 12 on atkbdc0
 psm0: [GIANT-LOCKED]
 psm0: [ITHREAD]
 psm0: model Generic PS/2 mouse, device ID 0

   Dieser Treiber muss in Ihrer Kernelkonfigurationsdatei vorhanden
   sein oder durch das Werkzeug loader.conf(5) geladen werden.

   

   Manchmal zeigt dmesg wa:hrend des Systemstarts nur
   Systemmeldungen, aber keine Informationen zur gefundenen Hardware
   an. In diesem Fall ko:nnen Sie diese Informationen durch das
   Studium der Datei /var/run/dmesg.boot herausfinden.

   Eine weitere Mo:glichkeit bietet das Werkzeug pciconf(8), das
   ausfu:hrliche Informationen bereitstellt. Dazu ein Beispiel:

 ath0@pci0:3:0:0:        class=0x020000 card=0x058a1014 chip=0x1014168c rev=0x01 hdr=0x00
     vendor     = 'Atheros Communications Inc.'
     device     = 'AR5212 Atheros AR5212 802.11abg wireless'
     class      = network
     subclass   = ethernet

   Diese Zeilen, die Sie durch den Aufruf des Befehls pciconf -lv
   erhalten, zeigen, dass der Treiber ath eine drahtlose
   Ethernetkarte gefunden hat. Durch Eingabe des Befehls man ath
   o:ffnet sich die Manualpage ath(4).

   Rufen Sie man(1) mit der Option -k auf, ko:nnen Sie die Datenbank
   der Manualpages auch durchsuchen. Fu:r das angegebene Beispiel
   wu:rde dieser Befehl beispielsweise so aussehen:

 # man -k Atheros

   Dadurch erhalten Sie eine Liste aller Manualpages, die das
   angegebene Suchkriterium enthalten:

 ath(4)                   - Atheros IEEE 802.11 wireless network driver
 ath_hal(4)               - Atheros Hardware Access Layer (HAL)

   Mit diesen Informationen ausgestattet, sollte der Bau eines
   angepassten Kernel keine allzugrossen Probleme mehr bereiten.

     --------------------------------------------------------------

8.4. Kerneltreiber, Subsysteme und Module

   Bevor Sie einen angepassten Kernel erstellen, u:berlegen Sie sich
   bitte, warum Sie dies tun wollen. Wenn Sie lediglich eine
   bestimmte Hardwareunterstu:tzung beno:tigen, existiert diese
   vielleicht schon als Kernelmodul.

   Kernelmodule existieren im Verzeichnis /boot/kernel und ko:nnen
   dynamisch in den laufenden Kernel u:ber kldload(8) geladen werden.
   Die meisten, wenn nicht sogar alle, Kerneltreiber besitzen ein
   spezifisches Modul und eine Manualpage. Beispielsweise erwa:hnte
   der letzte Abschnitt den drahtlosen Ethernettreiber ath. Dieses
   Gera:t hat die folgende Information in seiner Manualpage:

 Alternatively, to load the driver as a module at boot time, place the
 following line in loader.conf(5):

     if_ath_load="YES"

   Wie dort angegeben, wird das Modul durch die Zeile
   if_ath_load="YES" in der Datei /boot/loader.conf dynamisch beim
   Systemstart geladen.

   Allerdings gibt es in manchen Fa:llen kein dazugeho:riges Modul.
   Das gilt insbesondere fu:r bestimmte Teilsysteme und sehr wichtige
   Treiber. Beispielsweise ist das Fast File System (FFS) eine
   notwendige Kerneloption, genauso wie die Netzwerkunterstu:tzung
   (INET). Die einzige Mo:glichkeit, herauszufinden, ob ein Treiber
   beno:tigt ist, ist die U:berpru:fung des jeweiligen Moduls.

     Warnung: Es ist erstaunlich einfach, einen defekten Kernel zu
     erhalten (beispielsweise durch das Entfernen der eingebauten
     Unterstu:tzung fu:r ein Gera:t oder einer Kerneloption). Wenn
     beispielsweise der ata(4)-Treiber aus der
     Kernelkonfigurationsdatei entfernt wird, kann ein System, das
     den ATA-Festplattentreiber beno:tigt, nicht mehr starten, ohne
     dass Sie das entsprechende Kernelmodul durch einen Eintrag in
     loader.conf aufnehmen. Wenn Sie nicht sicher sind, wie Sie
     vorgehen sollen, u:berpru:fen Sie zuerst das Modul. Im
     Zweifelsfall belassen Sie die Unterstu:tzung fu:r ein bestimmtes
     Gera:t besser im Kernel.

     --------------------------------------------------------------

8.5. Erstellen und Installation eines angepassten Kernels

   Zuerst erla:utern wir die Verzeichnisstruktur, in der der Kernel
   gebaut wird. Die im Folgenden genannten Verzeichnisse sind relativ
   zum Verzeichnis /usr/src/sys angegeben, das Sie auch u:ber den
   Pfad /sys erreichen ko:nnen. Es existieren mehrere
   Unterverzeichnisse, die bestimmte Teile des Kernels darstellen,
   aber die fu:r uns wichtigsten sind arch/conf, in dem Sie die
   Konfigurationsdatei fu:r den angepassten Kernel erstellen werden,
   und compile, in dem der Kernel gebaut wird. arch kann entweder
   i386, alpha, amd64, ia64, powerpc, sparc64 oder pc98 (eine in
   Japan beliebte Architektur) sein. Alles in diesen Verzeichnissen
   ist nur fu:r die jeweilige Architektur relevant. Der Rest des
   Codes ist maschinenunabha:ngig und fu:r alle Plattformen, auf die
   FreeBSD portiert werden kann, gleich. Beachten Sie die
   Verzeichnisstruktur, die jedem unterstu:tzten Gera:t, jedem
   Dateisystem und jeder Option ein eigenes Verzeichnis zuordnet.

   Die Beispiele in diesem Kapitel verwenden ein i386-System. Wenn
   Sie ein anderes System benutzen, passen Sie bitte die Pfade
   entsprechend der Architektur des Systems an.

     Anmerkung: Falls Sie kein /usr/src/sys Verzeichnis vorfinden, so
     sind die Kernelquellen nicht installiert. Der einfachste Weg,
     dies nachzuholen, ist sysinstall als root auszufu:hren. Dort
     wa:hlen Sie Configure, dann Distributions, dann src, danach base
     und sys. Wenn Sie eine Aversion gegen sysinstall haben und eine
     "offizielle" FreeBSD CD-ROM besitzen, ko:nnen Sie die
     Kernelquellen auch von der Kommandozeile installieren:

 # mount /cdrom
 # mkdir -p /usr/src/sys
 # ln -s /usr/src/sys /sys
 # cat /cdrom/src/ssys.[a-d]* | tar -xzvf -
 # cat /cdrom/src/sbase.[a-d]* | tar -xzvf -

   Als na:chstes wechseln sie in das Verzeichnis arch/conf und
   kopieren die Konfigurationsdatei GENERIC in eine Datei, die den
   Namen Ihres Kernels tra:gt. Zum Beispiel:

 # cd /usr/src/sys/i386/conf
 # cp GENERIC MYKERNEL

   Traditionell ist der Name des Kernels immer in Grossbuchstaben.
   Wenn Sie mehrere FreeBSD mit unterschiedlicher Hardware warten,
   ist es nu:tzlich, wenn Sie Konfigurationsdatei nach dem Hostnamen
   der Maschinen benennen. Im Beispiel verwenden wir den Namen
   MYKERNEL.

     Tipp: Es ist nicht zu empfehlen die Konfigurationsdatei direkt
     unterhalb von /usr/src abzuspeichern. Wenn Sie Probleme haben,
     ko:nnten Sie der Versuchung erliegen, /usr/src einfach zu
     lo:schen und wieder von vorne anzufangen. Wenn Sie so vorgehen,
     werden Sie kurz darauf merken, dass Sie soeben Ihre
     Kernelkonfigurationsdatei gelo:scht haben.

     Editieren Sie immer eine Kopie von GENERIC. A:nderungen an
     GENERIC ko:nnen verloren gehen, wenn der Quellbaum aktualisiert
     wird.

     Sie sollten die Konfigurationsdatei an anderer Stelle aufheben
     und im Verzeichnis i386 einen Link auf die Datei erstellen.

     Beispiel:

 # cd /usr/src/sys/i386/conf
 # mkdir /root/kernels
 # cp GENERIC /root/kernels/MYKERNEL
 # ln -s /root/kernels/MYKERNEL

   Jetzt editieren Sie MYKERNEL mit einem Texteditor Ihres
   Vertrauens. Wenn Sie gerade neu anfangen, ist Ihnen vielleicht nur
   der vi Editor bekannt, der allerdings zu komplex ist, um hier
   erkla:rt zu werden. Er wird aber in vielen Bu:chern aus der
   Bibliographie gut erkla:rt. FreeBSD bietet aber auch einen
   leichter zu benutzenden Editor, den ee an, den Sie, wenn Sie
   Anfa:nger sind, benutzen sollten. Sie ko:nnen die Kommentare am
   Anfang der Konfigurationsdatei a:ndern, um die A:nderungen
   gegenu:ber GENERIC zu dokumentieren.

   Falls Sie schon einmal einen Kernel unter SunOS oder einem anderen
   BSD kompiliert haben, werden Sie diese Konfigurationsdatei bereits
   kennen. Wenn Sie mit einem anderen Betriebssystem wie DOS vertraut
   sind, ko:nnte die GENERIC Konfigurationsdatei Sie verschrecken. In
   diesen Fall sollten Sie den Beschreibungen im Abschnitt u:ber die
   Konfigurationsdatei langsam und vorsichtig folgen.

     Anmerkung: Wenn Sie die FreeBSD Quellen synchronisieren, sollten
     Sie immer, bevor Sie etwas vera:ndern, /usr/src/UPDATING
     durchlesen. Diese Datei entha:lt alle wichtigen Informationen,
     die Sie beim Aktualisieren beachten mu:ssen. Da
     /usr/src/UPDATING immer zu Ihrer Version der FreeBSD Quellen
     passt, sind die Informationen dort genauer, als in diesem
     Handbuch.

   Nun mu:ssen Sie die Kernelquellen kompilieren.

   Den Kernel bauen

    1. Wechseln Sie in das Verzeichnis /usr/src:

 # cd /usr/src

    2. Kompilieren Sie den neuen Kernel:

 # make buildkernel KERNCONF=MYKERNEL

    3. Installieren Sie den neuen Kernel:

 # make installkernel KERNCONF=MYKERNEL

     Anmerkung: Sie beno:tigen den kompletten Quellcodebaum, um den
     Kernel zu bauen.

     Tipp: In der Voreinstellung werden beim Bau eines angepassten
     Kernels stets alle Kernelmodule neu gebaut. Wollen Sie Ihren
     Kernel schneller bauen oder nur bestimmte Module bauen, sollten
     Sie /etc/make.conf anpassen, bevor Sie Ihren Kernel bauen:

 MODULES_OVERRIDE = linux acpi sound/sound sound/driver/ds1 ntfs

     Wenn Sie diese Variable setzen, werden ausschliesslich die hier
     angegebenen Module gebaut (und keine anderen).

 WITHOUT_MODULES = linux acpi sound/sound sound/driver/ds1 ntfs

     Durch das Setzen dieser Variable werden werden alle Module bis
     auf die angegebenen gebaut. Weitere Variablen, die beim Bau
     eines Kernels von Interesse sein ko:nnten, finden Sie in
     make.conf(5).

   Der neue Kernel wird im Verzeichnis /boot/kernel, genauer unter
   /boot/kernel/kernel abgelegt, wa:hrend der alte Kernel nach
   /boot/kernel.old/kernel verschoben wird. Um den neuen Kernel zu
   benutzen, sollten Sie Ihren Rechner jetzt neu starten. Falls etwas
   schief geht, sehen Sie bitte in dem Abschnitt zur Fehlersuche am
   Ende dieses Kapitels nach. Dort sollten Sie auch unbedingt den
   Abschnitt lesen, der erkla:rt, was zu tun ist, wenn der neue
   Kernel nicht startet.

     Anmerkung: Im Verzeichnis /boot werden andere Dateien, die zum
     Systemstart beno:tigt werden, wie der Boot-Loader (loader(8))
     und dessen Konfiguration, abgelegt. Module von Fremdherstellern
     oder angepasste Module werden in /boot/kernel abgelegt. Beachten
     Sie bitte, dass diese Module immer zu dem verwendeten Kernel
     passen mu:ssen. Module, die nicht zu dem verwendeten Kernel
     passen, gefa:hrden die Stabilita:t des Systems.

     --------------------------------------------------------------

8.6. Die Kernelkonfigurationsdatei

   Fu:r FreeBSD 6.X aktualisiert von Joel Dahl.

   Das Format der Konfigurationsdatei ist recht einfach. Jede Zeile
   entha:lt ein Schlu:sselwort und ein oder mehrere Argumente. Eine
   Zeile, die von einen # eingeleitet wird, gilt als Kommentar und
   wird ignoriert. Die folgenden Abschnitte beschreiben jedes
   Schlu:sselwort in der Reihenfolge, in der es in GENERIC auftaucht.
   Eine ausfu:hrliche Liste aller Optionen mit detaillierten
   Erkla:rungen finden Sie in der Konfigurationsdatei NOTES, die sich
   in demselben Verzeichnis wie die Datei GENERIC befindet. Von der
   Architektur unabha:ngige Optionen sind in der Datei
   /usr/src/sys/conf/NOTES aufgefu:hrt.

   Seit FreeBSD 5.0 existiert eine neue include-Anweisung in der
   Kernelkonfigurationsdatei. Diese erlaubt das lokale Einfu:gen von
   anderen Konfigurationsdateien in die aktuelle, was es einfacher
   macht, kleinere A:nderungen an einer existierenden Datei zu
   vollziehen. Wenn Sie beispielsweise einen GENERIC-Kernel mit nur
   einer kleinen Anzahl von zusa:tzlichen Optionen und Treibern
   beno:tigen, brauchen Sie mit den folgenden Zeilen nur ein kleines
   Delta im Vergleich zu GENERIC anpassen:

 include GENERIC
 ident MYKERNEL

 options         IPFIREWALL
 options         DUMMYNET
 options         IPFIREWALL_DEFAULT_TO_ACCEPT
 options         IPDIVERT

   Fu:r viele Administratoren bietet dieses Modell entscheidende
   Vorteile u:ber das bisherige Erstellen von Konfigurationsdateien
   von Grund auf: die lokalen Konfigurationdateien enthalten auch nur
   die lokalen Unterschiede zu einem GENERIC-Kernel und sobald
   Aktulaisierungen durchgefu:hrt werden, ko:nnen neue Eigenschaften,
   die zu GENERIC hinzugefu:gt werden, auch dem lokalen Kernel
   angeha:ngt werden, es sei denn, es wird durch nooptions oder
   nodevice verhindert. Der u:brige Teil dieses Kapitels behandelt
   die Inhalte einer typischen Konfigurationsdatei und die Rolle, die
   unterschiedliche Optionen und Gera:te dabei spielen.

     Anmerkung: Um einen Kernel mit allen mo:glichen Optionen zu
     bauen beispielsweise fu:r Testzwecke), fu:hren Sie als root die
     folgenden Befehle aus:

 # cd /usr/src/sys/i386/conf && make LINT

   Das folgende Beispiel zeigt eine GENERIC Konfigurationsdatei, die,
   wo notwendig, zusa:tzliche Kommentare entha:lt. Sie sollte der
   Datei /usr/src/sys/i386/conf/GENERIC auf Ihrem System sehr
   a:hnlich sein.

 machine         i386

   Gibt die Architektur der Maschine an und muss entweder alpha,
   amd64, i386, ia64, pc98, powerpc oder sparc64 sein.

 cpu          I486_CPU
 cpu          I586_CPU
 cpu          I686_CPU

   Die vorigen Zeilen geben den Typ der CPU Ihres Systems an. Sie
   ko:nnen mehrere CPU Typen angeben, wenn Sie sich zum Beispiel
   nicht sicher sind, ob Sie I586_CPU oder I686_CPU benutzen sollen.
   Fu:r einen angepassten Kernel ist es aber am besten, wenn Sie nur
   die CPU angeben, die sich in der Maschine befindet. Der CPU-Typ
   wird in den Boot-Meldungen ausgegeben, die in der Datei
   /var/run/dmesg.boot gespeichert sind.

 ident          GENERIC

   Gibt den Namen Ihres Kernels an. Hier sollten Sie den Namen
   einsetzen, den Sie Ihrer Konfigurationsdatei gegeben haben. In
   unserem Beispiel ist das MYKERNEL. Der Wert, den Sie ident
   zuweisen, wird beim Booten des neuen Kernels ausgegeben. Wenn Sie
   den Kernel von Ihrem normal verwendeten Kernel unterscheiden
   wollen, weil Sie zum Beispiel einen Kernel zum Testen bauen, ist
   es nu:tzlich, hier einen anderen Namen anzugeben.

 #To statically compile in device wiring instead of /boot/device.hints
 #hints          "GENERIC.hints"         # Default places to look for devices.

   Unter FreeBSD werden Gera:te mit device.hints(5) konfiguriert. In
   der Voreinstellung u:berpru:ft loader(8) beim Systemstart die
   Datei /boot/device.hints. Die Option hints erlaubt es, die
   Gera:tekonfiguration statisch in den Kernel einzubinden, sodass
   die Datei device.hints in /boot nicht beno:tigt wird.

 makeoptions     DEBUG=-g          # Build kernel with gdb(1) debug symbols

   Der normale Bauprozess von FreeBSD erstellt nur dann einen Kernel,
   der Debugging-Informationen entha:lt, wenn Sie die Option -g von
   gcc(1) aktivieren.

 options          SCHED_4BSD        # 4BSD scheduler

   Der herko:mmliche (und voreingestellte) Scheduler von FreeBSD.
   A:ndern Sie diesen Wert nicht!

 options          PREEMPTION        # Enable kernel thread preemption

   Erlaubt es Kernelthreads, vor Threads eigentlich ho:herer
   Priorita:lt ausgefu:hrt zu werden. Die Interaktivita:lt des
   Systems wird dadurch erho:lt. Interrupt-Threads werden dabei
   bevorzugt ausgefu:hrt.

 options          INET              # InterNETworking

   Netzwerkunterstu:tzung. Auch wenn Sie nicht planen, den Rechner
   mit einem Netzwerk zu verbinden, sollten Sie diese Option
   aktiviert lassen. Die meisten Programme sind mindestens auf die
   Loopback Unterstu:tzung (Verbindungen mit sich selbst) angewiesen.
   Damit ist diese Option im Endeffekt notwendig.

 options          INET6             # IPv6 communications protocols

   Aktiviert die Unterstu:tzung fu:r das IPv6 Protokoll.

 options          FFS               # Berkeley Fast Filesystem

   Das Dateisystem fu:r Festplatten. Wenn Sie von einer Festplatte
   booten wollen, lassen Sie diese Option aktiviert.

 options          SOFTUPDATES       # Enable FFS Soft Updates support

   Mit dieser Option wird die Unterstu:tzung fu:r Soft Updates, die
   Schreibzugriffe beschleunigen, in den Kernel eingebunden. Auch
   wenn die Funktion im Kernel ist, muss sie fu:r einzelne
   Dateisysteme explizit aktiviert werden. U:berpru:fen Sie mit
   mount(8), ob die Dateisysteme Soft Updates benutzen. Wenn die
   Option soft-updates nicht aktiviert ist, ko:nnen Sie die Option
   nachtra:glich mit tunefs(8) aktivieren. Fu:r neue Dateisysteme
   ko:nnen Sie Option beim Anlegen mit newfs(8) aktivieren.

 options          UFS_ACL           # Support for access control lists

   Diese Option aktiviert die Unterstu:tzung fu:r
   Zugriffskontrolllisten (ACL). Die ACLs ha:ngen von erweiterten
   Attributen und UFS2 ab, eine genaue Beschreibung finden Sie in
   Abschnitt 14.12. Die Zugriffskontrolllisten sind in der
   Voreinstellung aktiviert und sollten auch nicht deaktiviert
   werden, wenn Sie schon einmal auf einem Dateisystem verwendet
   wurden, da dies die Zugriffsrechte auf Dateien in unvorhersehbarer
   Art und Weise a:ndern kann.

 options          UFS_DIRHASH       # Improve performance on big directories

   Diese Option steigert die Geschwindigkeit von Plattenzugriffen auf
   grossen Verzeichnissen. Dadurch verbraucht das System etwas mehr
   Speicher als vorher. Fu:r stark bescha:ftigte Server oder
   Arbeitsplatzrechner sollten Sie diese Option aktiviert lassen. Auf
   kleineren Systemen, bei denen Speicher eine kostbare Ressource
   darstellt oder Systemen, auf denen die Geschwindigkeit der
   Plattenzugriffe nicht wichtig ist, wie Firewalls, ko:nnen Sie
   diese Option abstellen.

 options          MD_ROOT           # MD is a potential root device

   Diese Option aktiviert die Unterstu:ztung fu:r ein
   Root-Dateisystem auf einem speicherbasierten Laufwerk (RAM-Disk).

 options          NFSCLIENT         # Network Filesystem Client
 options          NFSSERVER         # Network Filesystem Server
 options          NFS_ROOT          # NFS usable as /, requires NFSCLIENT

   Das Network Filesystem. Wenn Sie keine Partitionen von einem UNIX
   File-Server u:ber TCP/IP einha:ngen wollen, ko:nnen Sie diese
   Zeile auskommentieren.

 options          MSDOSFS           # MSDOS Filesystem

   Das MS-DOS Dateisystem. Sie ko:nnen diese Zeile auskommentieren,
   wenn Sie nicht vorhaben, eine DOS-Partition beim Booten
   einzuha:ngen. Das no:tige Modul wird ansonsten automatisch
   geladen, wenn Sie das erste Mal eine DOS-Partition einha:ngen.
   Ausserdem ko:nnen Sie mit den ausgezeichneten emulators/mtools aus
   der Ports-Sammlung auf DOS-Floppies zugreifen, ohne diese an- und
   abha:ngen zu mu:ssen (MSDOSFS wird in diesem Fall nicht
   beno:tigt).

 options          CD9660            # ISO 9660 Filesystem

   Das ISO 9660 Dateisystem fu:r CD-ROMs. Sie ko:nnen diese Zeile
   auskommentieren, wenn Sie kein CD-ROM-Laufwerk besitzen oder nur
   ab und an CDs einha:ngen. Das Modul wird automatisch geladen,
   sobald Sie das erste Mal eine CD einha:ngen. Fu:r Audio-CDs
   beno:tigen Sie dieses Dateisystem nicht.

 options          PROCFS            # Process filesystem (requires PSEUDOFS)

   Das Prozessdateisystem. Dies ist ein Pseudo-Dateisystem, das auf
   /proc eingehangen wird und es Programmen wie ps(1) erlaubt, mehr
   Informationen u:ber laufende Prozesse auszugeben. PROCFS sollte
   von FreeBSD nicht mehr beno:tigt werden, da die meisten Debug- und
   U:berwachungs-Werkzeuge nicht mehr darauf angewiesen sind. Daher
   wird das Prozessdateisystem auch nicht mehr automatisch in das
   System eingebunden.

 options          PSEUDOFS          # Pseudo-filesystem framework

   6.X-Kernel beno:tigen zusa:tzlich zur Option PROCFS auch die
   Option PSEUDOFS.

 options          GEOM_GPT          # GUID Partition Tables.

   Diese Option ermo:glicht eine grosse Anzahl Partitionen auf einem
   einzelnen Laufwerk.

 options          COMPAT_43         # Compatible with BSD 4.3 [KEEP THIS!]

   Stellt die Kompatibilita:t zu 4.3BSD sicher. Belassen Sie diese
   Option, da sich manche Programme recht sonderbar verhalten werden,
   wenn Sie diese auskommentieren.

 options          COMPAT_FREEBSD4   # Compatible with FreeBSD4

   Mit FreeBSD 5.X stellt diese Option auf i386- und Alpha-Systemen
   sicher, dass Anwendungen, die auf a:lteren FreeBSD Versionen
   u:bersetzt wurden und alte Systemaufrufe verwenden, noch
   lauffa:hig sind. Wir empfehlen, diese Option auf allen i386- und
   Alpha-Systemen zu verwenden, auf denen vielleicht noch a:ltere
   Anwendungen laufen sollen. Auf Plattformen, die erst ab
   FreeBSD 5.0 unterstu:tzt werden (wie ia64 und Sparc(R)), wird
   diese Option nicht beno:tigt.

 options          COMPAT_FREEBSD5   # Compatible with FreeBSD5

   Diese Option wird ab FreeBSD 6.X beno:tigt, um Programme, die
   unter FreeBSD 5.X-Versionen mit FreeBSD 5.X-Systemaufrufen
   kompiliert wurden, unter FreeBSD 6.X ausfu:hren zu ko:nnen.

 options          SCSI_DELAY=5000  # Delay (in ms) before probing SCSI

   Dies weist den Kernel an, 5 Sekunden zu warten, bevor er anfa:ngt
   nach SCSI-Gera:ten auf dem System zu suchen. Wenn Sie nur
   IDE-Gera:te besitzen, ko:nnen Sie die Anweisung ignorieren. Sie
   ko:nnen versuchen, den Wert zu senken, um den Startvorgang zu
   beschleunigen. Wenn FreeBSD dann Schwierigkeiten hat, Ihre
   SCSI-Gera:te zu erkennen, sollten Sie den Wert natu:rlich wieder
   erho:hen.

 options          KTRACE            # ktrace(1) support

   Dies schaltet die Kernel-Prozessverfolgung (engl. kernel process
   tracing) ein, die sehr nu:tzlich bei der Fehlersuche ist.

 options          SYSVSHM           # SYSV-style shared memory

   Diese Option aktiviert die Unterstu:tzung fu:r System V
   Shared-Memory. Die XSHM-Erweiterung von X beno:tigt diese Option
   und viele Graphik-Programme werden die Erweiterung automatisch
   benutzen und schneller laufen. Wenn Sie X benutzen, sollten Sie
   diese Option auf jeden Fall aktivieren.

 options          SYSVMSG           # SYSV-style message queues

   Unterstu:tzung fu:r System V Messages. Diese Option vergro:ssert
   den Kernel nur um einige hundert Bytes.

 options          SYSVSEM           # SYSV-style semaphores

   Unterstu:tzung fu:r System V Semaphoren. Dies wird selten
   gebraucht, vergro:ssert aber den Kernel nur um einige hundert
   Bytes.

     Anmerkung: Die Option -p des Kommandos ipcs(1) zeigt Programme
     an, die diese System V Erweiterungen benutzen.

 options              _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions

   Echtzeit-Erweiterungen, die 1993 zu POSIX(R) hinzugefu:gt wurden.
   Bestimmte Programme wie StarOffice benutzen diese Erweiterungen.

 options          KBD_INSTALL_CDEV  # install a CDEV entry in /dev

   Diese Option erstellt fu:r die Tastatur einen Eintrag im
   Verzeichnis /dev.

 options          ADAPTIVE_GIANT    # Giant mutex is adaptive.

   Giant ist der Name einer Sperre (Mutex) die viele
   Kernel-Ressourcen schu:tzt. Heutzutage ist Giant ein unannehmbarer
   Engpass, der die Leistung eines Systems beeintra:chtigt. Daher
   wird Giant durch Sperren ersetzt, die einzelne Ressourcen
   schu:tzen. Die Option ADAPTIVE_GIANT fu:gt Giant zu den Sperren
   hinzu, auf die gewartet werden kann. Ein Thread, der die Sperre
   Giant von einem anderen Thread benutzt vorfindet, kann nun
   weiterlaufen und auf die Sperre Giant warten. Fru:her wa:re der
   Prozess in den schlafenden Zustand (sleep) gewechselt und ha:tte
   darauf warten mu:ssen, dass er wieder laufen kann. Wenn Sie sich
   nicht sicher sind, belassen Sie diese Option.

     Anmerkung: Beachten Sie, dass ab FreeBSD 8.0-CURRENT und neuer
     alle Mutexe in der Voreinstellung adaptiv sein werden, es sei
     denn, Sie werden durch das Setzen der Option NO_ADAPTIVE_MUTEXES
     explizit als nichtadaptiv deklariert. Als Folge dessen ist Giant
     nun in in der Voreinstellung ebenfalls adaptiv, daher ist in
     diesen Versionen die Kerneloption ADAPTIVE_GIANT nicht mehr in
     der Kernelkonfigurationsdatei enthalten.

 device          apic               # I/O APIC

   Das apic-Gera:lt ermo:glicht die Benutzung des I/O APIC fu:r die
   Interrupt-Auslieferung. Das apic-Gera:lt kann mit Kerneln fu:r
   Einprozessorsysteme und Mehrprozessorsysteme benutzt werden.
   Kernel fu:r Mehrprozessorsysteme beno:tigen diese Option zwingend.
   Die Unterstu:tzung fu:r Mehrprozessorsysteme aktivieren Sie mit
   der Option options SMP.

     Anmerkung: Das apic-Gera:t existiert nur unter der
     i386-Architektur, daher ist es sinnlos, diese Zeile unter einer
     anderen Architektur in Ihre Kernelkonfigurationsdatei
     aufzunehmen.

 device          eisa

   Fu:gen Sie diese Zeile ein, wenn Sie ein EISA-Motherboard
   besitzen. Dies aktiviert die Erkennung und Konfiguration von allen
   Gera:ten auf dem EISA Bus.

 device          pci

   Wenn Sie ein PCI-Motherboard besitzen, fu:gen Sie diese Zeile ein.
   Dies aktiviert die Erkennung von PCI-Karten und die PCI-ISA
   bridge.

 # Floppy drives
 device          fdc

   Der Floppy-Controller.

 # ATA and ATAPI devices
 device          ata

   Dieser Treiber unterstu:tzt alle ATA und ATAPI Gera:te. Eine
   device ata Zeile reicht aus und der Kernel wird auf modernen
   Maschinen alle PCI ATA/ATAPI Gera:te entdecken.

 device          atadisk                 # ATA disk drives

   Fu:r ATA-Plattenlaufwerke brauchen Sie diese Zeile zusammen mit
   device ata.

 device          ataraid                 # ATA RAID drives

   Fu:r ATA-RAID brauchen Sie diese Zeile zusammen mit device ata.

 device          atapicd                 # ATAPI CDROM drives

   Zusammen mit device ata wird dies fu:r ATAPI CD-ROM Laufwerke
   beno:tigt.

 device          atapifd                 # ATAPI floppy drives

   Zusammen mit device ata wird dies fu:r ATAPI Floppy Laufwerke
   beno:tigt.

 device          atapist                 # ATAPI tape drives

   Zusammen mit device ata wird dies fu:r ATAPI Bandlaufwerke
   beno:tigt.

 options         ATA_STATIC_ID           # Static device numbering

   Erzwingt eine statische Gera:tenummer fu:r den Controller; ohne
   diese Option werden die Nummern dynamisch zugeteilt.

 # SCSI Controllers
 device          ahb        # EISA AHA1742 family
 device          ahc        # AHA2940 and onboard AIC7xxx devices
 options         AHC_REG_PRETTY_PRINT     # Print register bitfields in debug
                                          # output.  Adds ~128k to driver.
 device          ahd        # AHA39320/29320 and onboard AIC79xx devices
 options         AHD_REG_PRETTY_PRINT     # Print register bitfields in debug
                                          # output.  Adds ~215k to driver.
 device          amd        # AMD 53C974 (Teckram DC-390(T))
 device          isp        # Qlogic family
 #device         ispfw      # Firmware for QLogic HBAs- normally a module
 device          mpt        # LSI-Logic MPT-Fusion
 #device         ncr        # NCR/Symbios Logic
 device          sym        # NCR/Symbios Logic (newer chipsets + those of `ncr'))
 device          trm        # Tekram DC395U/UW/F DC315U adapters

 device          adv        # Advansys SCSI adapters
 device          adw        # Advansys wide SCSI adapters
 device          aha        # Adaptec 154x SCSI adapters
 device          aic        # Adaptec 15[012]x SCSI adapters, AIC-6[23]60.
 device          bt         # Buslogic/Mylex MultiMaster SCSI adapters

 device          ncv        # NCR 53C500
 device          nsp        # Workbit Ninja SCSI-3
 device          stg        # TMC 18C30/18C50

   SCSI-Controller. Kommentieren Sie alle Controller aus, die sich
   nicht in Ihrem System befinden. Wenn Sie ein IDE-System besitzen,
   ko:nnen Sie alle Eintra:ge entfernen. Die Zeilen mit den
   *_REG_PRETTY_PRINT-Eintra:gen aktivieren Debugging-Optionen fu:r
   die jeweiligen Treiber.

 # SCSI peripherals
 device          scbus      # SCSI bus (required for SCSI)
 device          ch         # SCSI media changers
 device          da         # Direct Access (disks)
 device          sa         # Sequential Access (tape etc)
 device          cd         # CD
 device          pass       # Passthrough device (direct SCSI access)
 device          ses        # SCSI Environmental Services (and SAF-TE)

   SCSI Peripheriegera:te. Kommentieren Sie wieder alle Gera:te aus,
   die Sie nicht besitzen. Besitzer von IDE-Systemen ko:nnen alle
   Eintra:ge entfernen.

     Anmerkung: Der USB-umass(4)-Treiber und einige andere Treiber
     benutzen das SCSI-Subsystem obwohl sie keine SCSI-Gera:te sind.
     Belassen Sie die SCSI-Unterstu:tzung im Kernel, wenn Sie solche
     Treiber verwenden.

 # RAID controllers interfaced to the SCSI subsystem
 device          amr        # AMI MegaRAID
 device          arcmsr     # Areca SATA II RAID
 device          asr        # DPT SmartRAID V, VI and Adaptec SCSI RAID
 device          ciss       # Compaq Smart RAID 5*
 device          dpt        # DPT Smartcache III, IV - See NOTES for options
 device          hptmv      # Highpoint RocketRAID 182x
 device          rr232x     # Highpoint RocketRAID 232x
 device          iir        # Intel Integrated RAID
 device          ips        # IBM (Adaptec) ServeRAID
 device          mly        # Mylex AcceleRAID/eXtremeRAID
 device          twa        # 3ware 9000 series PATA/SATA RAID

 # RAID controllers
 device          aac        # Adaptec FSA RAID
 device          aacp       # SCSI passthrough for aac (requires CAM)
 device          ida        # Compaq Smart RAID
 device          mfi        # LSI MegaRAID SAS
 device          mlx        # Mylex DAC960 family
 device          pst        # Promise Supertrak SX6000
 device          twe        # 3ware ATA RAID

   Unterstu:tzte RAID Controller. Wenn Sie keinen der aufgefu:hrten
   Controller besitzen, kommentieren Sie die Eintra:ge aus oder
   entfernen sie.

 # atkbdc0 controls both the keyboard and the PS/2 mouse
 device          atkbdc     # AT keyboard controller

   Der Tastatur-Controller (atkbdc) ist fu:r die Ein- und Ausgabe von
   AT-Tastaturen und PS/2 Zeigegera:ten (z.B. einer Maus)
   verantwortlich. Dieser Controller wird vom Tastaturtreiber (atkbd)
   und dem PS/2 Gera:tetreiber (psm) beno:tigt.

 device          atkbd      # AT keyboard

   Zusammen mit dem atkbdc Controller bietet der atkbd Treiber
   Zugriff auf AT-Tastaturen.

 device          psm        # PS/2 mouse

   Benutzen Sie dieses Gera:t, wenn Sie eine Maus mit PS/2 Anschluss
   besitzen.

 device          kbdmux        # keyboard multiplexer

   Basisunterstu:tzung fu:r Tastaturmultiplexer. Verwenden Sie nur
   eine einzige Tastatur, ko:nnen Sie diese Zeile aus Ihrer
   Kernelkonfigurationsdatei entfernen.

 device          vga        # VGA video card driver

   Der Grafikkartentreiber.

 device          splash     # Splash screen and screen saver support

   Zeigt einen "Splash Screen" beim Booten. Diese Zeile wird auch von
   den Bildschirmschonern beno:tigt.

 # syscons is the default console driver, resembling an SCO console
 device          sc

   sc ist in der Voreinstellung der Treiber fu:r die Konsole, die der
   SCO-Konsole a:hnelt. Da die meisten bildschirmorientierten
   Programme auf die Konsole mit Hilfe einer Datenbank wie termcap
   zugreifen, sollte es keine Rolle spielen, ob Sie diesen Treiber
   oder vt, den VT220 kompatiblen Konsolentreiber einsetzen. Wenn Sie
   Probleme mit bildschirmorientierten Anwendungen unter dieser
   Konsole haben, setzen Sie beim Anmelden die Variable TERM auf den
   Wert VT220.

 # Enable this for the pcvt (VT220 compatible) console driver
 #device          vt
 #options         XSERVER          # support for X server on a vt console
 #options         FAT_CURSOR       # start with block cursor

   Der VT220 kompatible Konsolentreiber ist kompatibel zu VT100/102.
   Auf einigen Laptops, die aufgrund der Hardware inkompatibel zum sc
   Treiber sind, funktioniert dieser Treiber gut. Beim Anmelden
   sollten Sie die Variable TERM auf den Wert vt100 setzen. Dieser
   Treiber kann sich als nu:tzlich erweisen, wenn Sie sich u:ber das
   Netzwerk auf vielen verschiedenen Maschinen anmelden, da dort oft
   Eintra:ge in termcap oder terminfo fu:r das sc Gera:t fehlen.
   Dagegen sollte vt100 auf jeder Plattform unterstu:tzt werden.

 device          agp

   Fu:gen Sie diese Zeile ein, wenn Sie eine AGP-Karte besitzen.
   Damit werden Motherboards mit AGP und AGP GART unterstu:tzt.

 # Power management support (see NOTES for more options)
 #device          apm

   Unterstu:tzung zur Energieverwaltung. Diese Option ist nu:tzlich
   fu:r Laptops, allerdings ist sie in GENERIC deaktiviert.

 # Add suspend/resume support for the i8254.
 device           pmtimer

   Zeitgeber fu:r Ereignisse der Energieverwaltung (APM und ACPI).

 # PCCARD (PCMCIA) support
 # PCMCIA and cardbus bridge support
 device          cbb               # cardbus (yenta) bridge
 device          pccard            # PC Card (16-bit) bus
 device          cardbus           # CardBus (32-bit) bus

   PCMCIA Unterstu:tzung. Wenn Sie einen Laptop benutzen, brauchen
   Sie diese Zeile.

 # Serial (COM) ports
 device          sio               # 8250, 16[45]50 based serial ports

   Die seriellen Schnittstellen, die in der MS-DOS- und Windows-Welt
   COM genannt werden.

     Anmerkung: Wenn Sie ein internes Modem, das COM4 benutzt,
     besitzen und eine serielle Schnittstelle haben, die auf COM2
     liegt, mu:ssen Sie den IRQ des Modems auf 2 setzen (wegen
     undurchsichtigen technischen Gru:nden ist IRQ2 gleich IRQ9).
     Wenn Sie eine serielle Multiport-Karte besitzen, entnehmen Sie
     bitte die Werte, die Sie in die Datei /boot/device.hints
     einfu:gen mu:ssen, der Hilfeseite sio(4). Einige Graphikkarten,
     besonders die auf S3-Chips basierten, benutzen IO-Adressen der
     Form 0x*2e8 und manche billige serielle Karten dekodieren den
     16-Bit IO-Adressraum nicht sauber. Dies fu:hrt zu Konflikten und
     blockiert dann die COM4-Schnittstelle.

     Jeder seriellen Schnittstelle muss ein eigener IRQ zugewiesen
     werden (wenn Sie eine Multiport-Karte verwenden, bei der das
     Teilen von Interrupts unterstu:tzt wird, muss das nicht der Fall
     sein), daher ko:nnen in der Voreinstellung COM3 und COM4 nicht
     benutzt werden.

 # Parallel port
 device          ppc

   Die parallele Schnittstelle auf dem ISA Bus.

 device          ppbus      # Parallel port bus (required)

   Unterstu:tzung fu:r den Bus auf der parallelen Schnittstelle.

 device          lpt        # Printer

   Unterstu:tzung fu:r Drucker u:ber die parallele Schnittstelle.

     Anmerkung: Sie brauchen jede der drei Zeilen, um die
     Unterstu:tzung fu:r einen Drucker an der parallelen
     Schnittstelle zu aktivieren.

 device          plip       # TCP/IP over parallel

   Der Treiber fu:r das Netzwerkinterface u:ber die parallele
   Schnittstelle.

 device          ppi        # Parallel port interface device

   Allgemeine I/O ("geek port") und IEEE1284 I/O Unterstu:tzung.

 #device         vpo        # Requires scbus and da

   Dies aktiviert den Treiber fu:r ein Iomega Zip Laufwerk.
   Zusa:tzlich beno:tigen Sie noch die Unterstu:tzung fu:r scbus und
   da. Die beste Performance erzielen Sie, wenn Sie die Schnittstelle
   im EPP 1.9 Modus betreiben.

 #device         puc

   Aktivieren Sie diesen Treiber, wenn Sie eine serielle oder
   parallele PCI-Karte besitzen, die vom Treiber puc(4) unterstu:tzt
   wird.

 # PCI Ethernet NICs.
 device          de         # DEC/Intel DC21x4x ("Tulip")
 device          em         # Intel PRO/1000 adapter Gigabit Ethernet Card
 device          ixgb       # Intel PRO/10GbE Ethernet Card
 device          txp        # 3Com 3cR990 ("Typhoon")
 device          vx         # 3Com 3c590, 3c595 ("Vortex")

   Verschiedene Treiber fu:r PCI-Netzwerkkarten. Gera:te, die sich
   nicht in Ihrem System befinden, ko:nnen Sie entfernen oder
   auskommentieren.

 # PCI Ethernet NICs that use the common MII bus controller code.
 # NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
 device          miibus     # MII bus support

   Einige PCI 10/100 Ethernet Netzwerkkarten, besonders die, die
   MII-fa:hige Transceiver verwenden oder Transceiver-Steuerungen
   implementieren, die a:hnlich wie MII funktionieren, beno:tigen die
   Unterstu:tzung fu:r den MII-Bus. Die Zeile device miibus fu:gt dem
   Kernel die Unterstu:tzung fu:r das allgemeine miibus API und allen
   PHY-Treibern hinzu.

 device          bce        # Broadcom BCM5706/BCM5708 Gigabit Ethernet
 device          bfe        # Broadcom BCM440x 10/100 Ethernet
 device          bge        # Broadcom BCM570xx Gigabit Ethernet
 device          dc         # DEC/Intel 21143 and various workalikes
 device          fxp        # Intel EtherExpress PRO/100B (82557, 82558)
 device          lge        # Level 1 LXT1001 gigabit ethernet
 device          msk        # Marvell/SysKonnect Yukon II Gigabit Ethernet
 device          nge        # NatSemi DP83820 gigabit ethernet
 device          nve        # nVidia nForce MCP on-board Ethernet Networking
 device          pcn        # AMD Am79C97x PCI 10/100 (precedence over 'lnc')
 device          re         # RealTek 8139C+/8169/8169S/8110S
 device          rl         # RealTek 8129/8139
 device          sf         # Adaptec AIC-6915 ("Starfire")
 device          sis        # Silicon Integrated Systems SiS 900/SiS 7016
 device          sk         # SysKonnect SK-984x & SK-982x gigabit Ethernet
 device          ste        # Sundance ST201 (D-Link DFE-550TX)
 device          stge       # Sundance/Tamarack TC9021 gigabit Ethernet
 device          ti         # Alteon Networks Tigon I/II gigabit Ethernet
 device          tl         # Texas Instruments ThunderLAN
 device          tx         # SMC EtherPower II (83c170 "EPIC")
 device          vge        # VIA VT612x gigabit ethernet
 device          vr         # VIA Rhine, Rhine II
 device          wb         # Winbond W89C840F
 device          xl         # 3Com 3c90x ("Boomerang", "Cyclone")

   Treiber, die den MII Bus Controller Code benutzen.

 # ISA Ethernet NICs.  pccard NICs included.
 device          cs         # Crystal Semiconductor CS89x0 NIC
 # 'device ed' requires 'device miibus'
 device          ed         # NE[12]000, SMC Ultra, 3c503, DS8390 cards
 device          ex         # Intel EtherExpress Pro/10 and Pro/10+
 device          ep         # Etherlink III based cards
 device          fe         # Fujitsu MB8696x based cards
 device          ie         # EtherExpress 8/16, 3C507, StarLAN 10 etc.
 device          lnc        # NE2100, NE32-VL Lance Ethernet cards
 device          sn         # SMC's 9000 series of Ethernet chips
 device          xe         # Xircom pccard Ethernet

 # ISA devices that use the old ISA shims
 #device         le

   Treiber fu:r ISA Ethernet Karten. Schauen Sie in
   /usr/src/sys/i386/conf/NOTES nach, um zu sehen, welche Karte von
   welchem Treiber unterstu:tzt wird.

 # Wireless NIC cards
 device          wlan       # 802.11 support

   Generische 802.11-Unterstu:tzung. Diese Zeile wird unbedingt
   beno:tigt, wenn Sie WLAN nutzen wollen.

 device          wlan_wep        # 802.11 WEP support
 device          wlan_ccmp       # 802.11 CCMP support
 device          wlan_tkip       # 802.11 TKIP support

   Krypto-Unterstu:tzung fu:r 802.11-Gera:te. Sie beno:tigen diese
   Zeilen, wenn Sie Ihr drahtloses Netzwerk verschlu:sseln und die
   802.11-Sicherheitsprotokolle einsetzen wollen.

 device          an              # Aironet 4500/4800 802.11 wireless NICs
 device          ath             # Atheros pci/cardbus NIC's
 device          ath_hal         # Atheros HAL (Hardware Access Layer)
 device          ath_rate_sample # SampleRate tx rate control for ath
 device          awi        # BayStack 660 and others
 device          ral        # Ralink Technology RT2500 wireless NICs.
 device          wi         # WaveLAN/Intersil/Symbol 802.11 wireless NICs.
 #device         wl         # Older non 802.11 Wavelan wireless NIC.

   Treiber fu:r drahtlose Netzwerkkarten (WLAN).

 # Pseudo devices
 device   loop          # Network loopback

   Das TCP/IP Loopback Device. Wenn Sie eine Telnet oder FTP
   Verbindung zu localhost (alias 127.0.0.1) aufbauen, erstellen Sie
   eine Verbindung zu sich selbst durch dieses Device. Die Angabe
   dieser Option ist verpflichtend.

 device   random        # Entropy device

   Kryptographisch sicherer Zufallszahlengenerator.

 device   ether         # Ethernet support

   ether brauchen Sie nur, wenn Sie eine Ethernet-Karte besitzen. Der
   Treiber unterstu:tzt das Ethernet-Protokoll.

 device   sl            # Kernel SLIP

   sl aktiviert die SLIP-Unterstu:tzung. SLIP ist fast vollsta:ndig
   von PPP verdra:ngt worden, da letzteres leichter zu konfigurieren,
   besser geeignet fu:r Modem zu Modem Kommunikation und ma:chtiger
   ist.

 device   ppp           # Kernel PPP

   Dies ist Kernel Unterstu:tzung fu:r PPP-Wa:hlverbindungen. Es
   existiert auch eine PPP-Version im Userland, die den tun Treiber
   benutzt. Die Userland-Version ist flexibler und bietet mehr Option
   wie die Wahl auf Anforderung.

 device   tun           # Packet tunnel.

   Dies wird vom der Userland PPP benutzt. Die Zahl hinter tun gibt
   die Anzahl der unterstu:tzten gleichzeitigen Verbindungen an.
   Weitere Informationen erhalten Sie im Abschnitt PPP dieses
   Handbuchs.

 device   pty           # Pseudo-ttys (telnet etc)

   Dies ist ein "Pseudo-Terminal" oder simulierter Login-Terminal. Er
   wird von einkommenden telnet und rlogin Verbindungen, xterm und
   anderen Anwendungen wie Emacs benutzt.

 device   md            # Memory "disks"

   Pseudo-Gera:t fu:r Speicher-Laufwerke.

 device   gif           # IPv6 and IPv4 tunneling

   Dieses Gera:t tunnelt IPv6 u:ber IPv4, IPv4 u:ber IPv6, IPv4 u:ber
   IPv4 oder IPv6 u:ber IPv6. Das Gera:t gif kann die Anzahl der
   beno:tigten Gera:te automatisch bestimmen ("auto-cloning").

 device   faith         # IPv6-to-IPv4 relaying (translation)

   Dieses Pseudo-Gera:t fa:ngt zu ihm gesendete Pakete ab und leitet
   Sie zu einem Daemon weiter, der Verkehr zwischen IPv4 und IPv6
   vermittelt.

 # The `bpf' device enables the Berkeley Packet Filter.
 # Be aware of the administrative consequences of enabling this!
 # Note that 'bpf' is required for DHCP.
 device   bpf           # Berkeley packet filter

   Das ist der Berkeley Paketfilter. Dieses Pseudo-Gera:t kann
   Netzwerkkarten in den "promiscuous" Modus setzen und erlaubt es
   damit, Pakete auf einem Broadcast Netzwerk (z.B. einem Ethernet)
   einzufangen. Die Pakete ko:nnen auf der Festplatte gespeichert und
   mit tcpdump(1) untersucht werden.

     Anmerkung: Das bpf(4)-Gera:t wird von dhclient(8) genutzt, um
     die IP-Adresse des Default-Routers zu bekommen. Wenn Sie DHCP
     benutzen, lassen Sie diese Option bitte aktiviert.

 # USB support
 device          uhci          # UHCI PCI->USB interface
 device          ohci          # OHCI PCI->USB interface
 device          ehci          # EHCI PCI->USB interface (USB 2.0)
 device          usb           # USB Bus (required)
 #device         udbp          # USB Double Bulk Pipe devices
 device          ugen          # Generic
 device          uhid          # "Human Interface Devices"
 device          ukbd          # Keyboard
 device          ulpt          # Printer
 device          umass         # Disks/Mass storage - Requires scbus and da
 device          ums           # Mouse
 device          ural          # Ralink Technology RT2500USB wireless NICs
 device          urio          # Diamond Rio 500 MP3 player
 device          uscanner      # Scanners
 # USB Ethernet, requires mii
 device          aue           # ADMtek USB Ethernet
 device          axe           # ASIX Electronics USB Ethernet
 device          cdce          # Generic USB over Ethernet
 device          cue           # CATC USB Ethernet
 device          kue           # Kawasaki LSI USB Ethernet
 device          rue           # RealTek RTL8150 USB Ethernet

   Unterstu:tzung fu:r verschiedene USB Gera:te.

 # FireWire support
 device          firewire      # FireWire bus code
 device          sbp           # SCSI over FireWire (Requires scbus and da)
 device          fwe           # Ethernet over FireWire (non-standard!)

   Verschiedene Firewire-Gera:te.

   Mehr Informationen und weitere von FreeBSD unterstu:tzte Gera:te
   entnehmen Sie bitte /usr/src/sys/i386/conf/NOTES.

     --------------------------------------------------------------

  8.6.1. Hohe Speicheranforderungen (PAE)

   Systeme mit hohen Speicheranforderungen beno:tigen mehr Speicher
   als den auf 4 Gigabyte beschra:nkten User- und Kernel-Adressraum
   (KVA). Mit dem Pentium Pro und neueren CPUs hat Intel den
   Adressraum auf 36-Bit erweitert.

   Die Physical-Address-Extension (PAE) von Intels Pentium Pro und
   neueren Prozessoren unterstu:tzt bis zu 64 Gigabyte Speicher.
   FreeBSD kann diesen Speicher mit der Option PAE in der
   Kernelkonfiguration nutzen. Die Option gibt es in allen aktuellen
   FreeBSD-Versionen. Wegen Beschra:kungen der
   Intel-Speicherarchitektur wird keine Unterscheidung zwischen
   Speicher oberhalb oder unterhalb von 4 Gigabyte getroffen.
   Speicher u:ber 4 Gigabyte wird einfach dem zur Verfu:gung
   stehenden Speicher zugeschlagen.

   Sie aktivieren PAE im Kernel, indem Sie die folgende Zeile in die
   Kernelkonfigurationsdatei einfu:gen:

 options             PAE

     Anmerkung: FreeBSD unterstu:tzt PAE nur auf IA-32 Prozessoren.
     Die PAE-Unterstu:tzung wurde zudem noch nicht hinreichend
     getestet und befindet sich im Vergleich zu anderen Komponenten
     von FreeBSD noch im Beta-Stadium.

   Die PAE-Unterstu:tzung in FreeBSD ist mit den nachstehenden
   Einschra:nkungen verbunden:

     * Ein Prozess kann nicht mehr als 4 Gigabyte virtuellen Speicher
       benutzen.

     * Gera:tetreiber, die nicht die bus_dma(9)-Schnittstelle
       benutzen, fu:hren zusammen mit einem PAE-Kernel zu
       Datenverlusten. Diese Treiber sollen nicht mit einem
       PAE-Kernel verwendet werden. Daher gibt es unter FreeBSD eine
       zusa:tzliche PAE-Kernelkonfigurationsdatei, die alle Treiber
       entha:lt, die mit einem PAE-Kernel funktionieren.

     * Einige Systemvariablen werden abha:ngig von der
       Speichergro:sse eingestellt. In einem PAE-System mit viel
       Speicher ko:nnen die Werte daher zu hoch eingestellt sein. Ein
       Beispiel ist die sysctl-Variable kern.maxvnodes, die die
       maximale Anzahl von vnodes im Kernel bestimmt. Solche
       Variablen sollten auf einen angemessenen Wert eingestellt
       werden.

     * Es kann erforderlich sein, den virtuellen Adressraum des
       Kernels (KVA) zu vergro:ssern oder, wie oben beschrieben, den
       Wert einer ha:ufig gebrauchten Kernelvariablen zu verringern.
       Dies verhindert einen U:berlauf des KVAs. Der Adressraum des
       Kernels kann mit der Kerneloption KVA_PAGES vergro:ssert
       werden.

   Hinweise zur Leistungssteigerung und Stabilita:t entnehmen Sie
   bitte der Hilfeseite tuning(7). Die PAE-Unterstu:tzung von FreeBSD
   wird in der Hilfeseite pae(4) beschrieben.

     --------------------------------------------------------------

8.7. Wenn etwas schiefgeht

   Es gibt vier Hauptfehlerquellen beim Erstellen eines angepassten
   Kernels:

   config verursacht Fehler:

           Wenn config(8) misslingt, liegen Fehler in der
           Kernelkonfigurationsdatei vor. Zum Glu:ck gibt config(8)
           die die Zeilennummer der Fehlerstelle an, sodass Sie den
           Fehler schnell finden ko:nnen. Beispielsweise ko:nnten Sie
           folgende Fehlermeldung sehen:

 config: line 17: syntax error

           Vergleichen Sie die angegebene Zeile mit GENERIC und
           stellen Sie sicher, dass das Schlu:sselwort richtig
           geschrieben ist.

   make verursacht Fehler:

           Wenn make misslingt, liegen meistens Fehler in der
           Konfigurationsdatei vor, die aber nicht schwerwiegend
           genug fu:r config(8) waren. U:berpru:fen Sie wiederum Ihre
           Konfiguration und wenn Sie keinen Fehler entdecken
           ko:nnen, schicken Sie eine E-Mail mit Ihrer
           Kernelkonfiguration an die Mailingliste 'Fragen und
           Antworten zu FreeBSD' <de-bsd-questions@de.FreeBSD.org>.
           Sie sollten dann schnell Hilfe erhalten.

   Der Kernel bootet nicht:

           Wenn der Kernel nicht booten will, ist das noch lange kein
           Grund zur Panik. Denn FreeBSD besitzt exzellente
           Mechanismen zur Wiederherstellung nach dem Einsatz
           inkompatibler Kernel. Den Kernel, mit dem Sie booten
           wollen, ko:nnen Sie sich im FreeBSD Boot-Loader aussuchen.
           Dazu wa:hlen Sie im Bootmenu: die Option "Escape to a
           loader prompt". Danach geben Sie den Befehl unload kernel
           ein, um anschliessend mit boot /boot/kernel.old den alten
           Kernel zu booten. Sie ko:nnen hier natu:rlich auch den
           Dateinamen eines anderen Kernels, der sauber bootet
           angeben. Fu:r alle Fa:lle sollten Sie immer einen Kernel,
           der garantiert bootet, bereit halten.

           Nun ko:nnen Sie die Konfiguration noch einmal u:berpru:fen
           und den Kernel neu kompilieren. Dazu ist /var/log/messages
           sehr nu:tzlich, da hier sa:mtliche Kernelmeldungen von
           jedem erfolgreichen Bootvorgang gespeichert werden.
           dmesg(8) gibt Ihnen die Kernelmeldungen vom letzten
           Bootvorgang aus.

             Anmerkung: Fu:r den Fall, dass Sie Probleme bei dem
             Kernelbau bekommen, heben Sie sich immer einen GENERIC
             oder einen anderen Kernel, der garantiert bootet, auf.
             Der Name dieses Kernels sollte so gewa:hlt sein, dass er
             beim na:chsten Bau nicht u:berschrieben wird. Sie
             ko:nnen sich nicht auf kernel.old verlassen, da dieser
             Kernel durch den zuletzt installierten Kernel, der
             vielleicht schon kaputt war, wa:hrend der Installation
             ersetzt wird. Kopieren Sie den funktionierenden Kernel
             so schnell wie mo:glich in das richtige Verzeichnis
             (/boot/kernel). Ansonsten funktionieren Kommandos wie
             ps(1) nicht. Benennen Sie dazu einfach das Verzeichnis
             des funktionierenden Kernels um:

 # mv /boot/kernel /boot/kernel.bad
 # mv /boot/kernel.good /boot/kernel

   Der Kernel ist in Ordnung, aber ps geht nicht mehr:

           Wenn Sie eine andere Version des Kernels installiert haben
           als die, mit der Ihre Systemwerkzeuge gebaut wurden
           (beispielsweise einen -CURRENT-Kernel auf einem
           -RELEASE-System), werden Programme wie ps(1) und vmstat(8)
           nicht mehr funktionieren. Sie sollten nun das komplette
           System neu bauen und installieren. Achten Sie darauf, dass
           die Quellen, aus denen Sie das System bauen, zum
           installierten Kernel passen. Das ist ein Grund dafu:r,
           warum man nie einen Kernel, der nicht zur Systemversion
           passt, benutzen sollten.

     --------------------------------------------------------------

                           Kapitel 9. Drucken

   Beigetragen von Sean Kelly. Restrukturiert und aktualisiert durch
   Jim Mock. U:bersetzt von Stefan Bethke.

9.1. U:bersicht

   Mit FreeBSD ko:nnen Sie viele unterschiedliche Drucker benutzen,
   von den a:ltesten Nadeldruckern bis zu den neuesten Laserdruckern,
   und allen mo:glichen Gera:ten dazwischen. Auf diese Weise ko:nnen
   Sie hochwertige Ausdrucke mit Ihren Programmen erzeugen.

   Sie ko:nnen FreeBSD auch so konfigurieren, dass es Druckauftra:ge
   von anderen Computern u:ber Ihr lokales Netzwerk entgegennimmt,
   seien es Windows-, Mac OS- oder andere FreeBSD-Computer. FreeBSD
   stellt sicher, dass die Druckauftra:ge in der richtigen
   Reihenfolge bearbeitet werden und kann optional ein Deckblatt mit
   dem Namen des Auftraggebers eines Druckauftrags aufgeben. FreeBSD
   kann auch Statistiken u:ber die Computer und Benutzer fu:hren, die
   Ausdrucke in Auftrag geben.

   In diesem Kapitel erfahren Sie, wie Sie:

     * FreeBSD-Druckerwarteschlangen einrichten.

     * Druckfilter installieren, die Druckauftra:ge je nach Bedarf
       besonders behandeln und z.B. Dokumente automatisch in eine
       Form umwandeln, die Ihr Drucker versteht.

     * Druckauftra:ge mit einem Deckblatt versehen ko:nnen.

     * Mit einem Drucker drucken ko:nnen, der an einen anderen
       Computer angeschlossen ist.

     * Mit einem Drucker drucken ko:nnen, der direkt an das Netzwerk
       angeschlossen ist.

     * die Gro:sse von Druckauftra:gen beschra:nken ko:nnen, oder
       bestimmte Benutzer von den Benutzung des Drucksystems
       ausschliessen ko:nnen.

     * Statistiken aufzeichnen und die Benutzung des Drucksystems
       nach Benutzern und Computern aufschlu:sseln ko:nnen.

     * Probleme beim Drucken diagnostizieren und beheben ko:nnen.

   Bevor Sie dieses Kapitel lesen:

     * Machen Sie sich mit der Konfiguration und Installation eines
       neuen Kernels vertraut (Kapitel 8).

     --------------------------------------------------------------

9.2. Einfu:hrung

   Um einen Drucker mit FreeBSD zu benutzen, ko:nnen Sie das Berkeley
   Line Printer Spooling System, das auch als LPD-Drucksystem oder
   nur als LPD bekannt ist, verwenden. Dieses System zur Verwaltung
   von Druckauftra:gen ist das Standardsystem in FreeBSD. Dieses
   Kapitel fu:hrt Sie in LPD und dessen Konfiguration ein.

   Wenn Sie bereits mit LPD oder einem anderen Drucksystem vertraut
   sind, ko:nnen Sie direkt im Abschnitt Einfache
   Drucker-Konfiguration weiterlesen.

   LPD steuert alle Aspekte rund um die Drucker, die an den Computer
   angeschlossen sind. Es ist verantwortlich fu:r:

     * Die Zugriffskontrolle fu:r direkt und u:ber das Netzwerk
       angeschlossene Drucker.

     * Die Entgegennahme von Dateien, die gedruckt werden sollen;
       eine so an das Drucksystem u:bergebene Datei wird als
       Druckauftrag bezeichnet.

     * Den gleichzeitigen Zugriff von mehreren Benutzern auf einen
       Drucker. Alle Druckauftra:ge werden in einer
       Druckerwarteschlange gesammelt, und nacheinander abgearbeitet.

     * Den Druck von Deckbla:ttern (auch als Banner- oder
       Burst-Seiten bezeichnet), damit Benutzer ihre Druckauftra:ge
       schnell innerhalb eines Stapels von ausgedruckten Dokumenten
       finden ko:nnen.

     * Das Einstellen der korrekten Kommunikations-Parameter fu:r
       Drucker, die seriell angeschlossen sind.

     * Das Senden von Druckauftra:gen an ein LPD-System auf einem
       anderen Computer.

     * Das Ausfu:hren von speziellen Filtern, um Druckauftra:ge in
       die unterschiedlichen Seitenbeschreibungssprachen umzusetzen
       oder an die Fa:higkeiten eines Druckers anzupassen.

     * Das Erfassen von Verrechnungsdaten fu:r Druckauftra:ge.

   Sie ko:nnen LPD alle diese Funktionen, oder auch nur einen Teil
   davon, ausfu:hren lassen, indem Sie die Konfigurationsdatei
   (/etc/printcap) anpassen, und indem Sie spezielle Filterprogramme
   bereitstellen.

     --------------------------------------------------------------

  9.2.1. Vorteile des Drucksystems

   Wenn Sie der einzige Benutzer sind, der mit Ihrem Computer
   arbeitet, fragen Sie sich vielleicht, warum Sie die
   Konfigurationsarbeit fu:r das Drucksystem auf sich nehmen sollten,
   wenn Sie Deckbla:tter, Abrechnungsdaten oder Zugriffskontrolle
   nicht beno:tigen. Obwohl Sie direkt auf den Drucker zugreifen
   ko:nnen, bietet LPD eine Reihe von Vorteilen:

     * LPD druckt im Hintergrund; Sie mu:ssen nicht erst darauf
       warten, dass Ihr Druckauftrag an den Drucker u:bermittelt
       worden ist.

     * LPD kann Druckauftra:ge mit Kopf- oder Fusszeilen versehen,
       oder ein spezielles Dateiformat, wie DVI von TeX, automatisch
       in ein fu:r den Drucker versta:ndliches Format umwandeln; Sie
       mu:ssen diese Schritte nicht manuell ausfu:hren.

     * Viele freie und kommerzielle Programme, mit denen Sie drucken
       ko:nnen, erwarten, mithilfe des LPD-Drucksystems zu drucken.
       Wenn Sie das Drucksystem konfiguriert haben, ko:nnen Sie
       einfacher mit neuer oder auch vorhandener Software drucken.

     --------------------------------------------------------------

9.3. Grund-Konfiguration

   Um einen Drucker mit dem LPD-Drucksystem benutzen zu ko:nnen,
   mu:ssen Sie sowohl Ihren Drucker und die Drucker-Schnittstelle als
   auch das LPD-Drucksystem konfigurieren. Dieser Abschnitt
   beschreibt zwei Konfigurationen:

     * Abschnitt Einfache Drucker-Konfiguration beschreibt, wie Sie
       einen Drucker an Ihren Computer anschliessen und LPD so
       konfigurieren, dass Sie Textdateien zum Drucker senden
       ko:nnen.

     * Abschnitt Erweiterte Drucker-Konfiguration beschreibt, wie Sie
       mit speziellen Dateiformaten umgehen ko:nnen, wie Sie
       Deckbla:tter drucken ko:nnen, wie Sie den Zugriff auf Drucker
       einschra:nken ko:nnen, und wie Sie Verrechnungsdaten
       aufzeichnen ko:nnen.

     --------------------------------------------------------------

  9.3.1. Einfache Drucker-Konfiguration

   Dieser Abschnitt beschreibt, wie Sie die LPD-Software
   konfigurieren, um Ihren Drucker zu benutzen. Diese Grundlagen
   werden erkla:rt:

     * Abschnitt Hardware-Konfiguration erla:utert, wie Sie Ihren
       Drucker an Ihren Computer anschliessen ko:nnen.

     * Abschnitt Software-Konfiguration erkla:rt, wie Sie die
       LPD-Konfigurationsdatei (/etc/printcap) anpassen.

   Wenn Sie einen Drucker einrichten mo:chten, der u:ber das Netzwerk
   angeschlossen ist (anstatt u:ber die serielle oder parallele
   Schnittstelle), lesen Sie bitte Abschnitt Drucker mit direkter
   TCP-Schnittstelle.

   Obwohl dieser Abschnitt "Grund-Konfiguration" heisst, ist die
   Konfiguration relativ komplex. Es ist vergleichsweise schwierig,
   einen Drucker mit Ihrem Computer und dem LPD-Drucksystem zu
   verbinden. Die weiteren Optionen, wie Kopfzeilen oder
   Deckbla:tter, sind einfach zu konfigurieren, sobald die
   Grund-Konfiguration erfolgreich abgeschlossen ist.

     --------------------------------------------------------------

    9.3.1.1. Hardware-Konfiguration

   Dieser Abschnitt beschreibt, u:ber welche Schnittstellen Sie einen
   Drucker mit Ihrem Computer verbinden ko:nnen. Er behandelt sowohl
   die Schnittstellen und Kabel, als auch die Kerneloptionen, die Sie
   beno:tigen, um FreeBSD mit Ihrem Drucker kommunizieren zu lassen.

   Wenn Sie Ihren Drucker bereits erfolgreich mit einem anderen
   Betriebssystem auf Ihrem PC eingesetzt haben, ko:nnen Sie
   wahrscheinlich mit dem Abschnitt Software-Konfiguration
   fortfahren.

     --------------------------------------------------------------

      9.3.1.1.1. Schnittstellen und Kabel

   Praktisch alle Drucker unterstu:tzen mindestens eine dieser
   Schnittstellen:

     * Seriell angeschlossene Drucker werden u:ber eine serielle
       Schnittstelle (auch RS-232 oder COM-Schnittstelle genannt) mit
       Ihrem Computer verbunden. Diese Schnittstelle wird von vielen
       unterschiedlichen Systemen verwendet. Serielle Kabel sind
       leicht erha:ltlich und ko:nnen auch einfach selbst hergestellt
       werden. Einige Drucker erfordern mo:glicherweise ein
       spezielles Kabel oder besondere Kommunikationseinstellungen.
       Die meisten seriellen Schnittstellen von PCs besitzen eine
       maximale Datenu:bertragungsrate von 115200 bps; zum Ausdruck
       grosser Grafiken sind serielle Drucker daher ungeeignet.

     * Parallel angeschlossene Drucker werden u:ber eine parallele
       Schnittstelle mit Ihrem Computer verbunden. Diese
       Schnittstelle wird hauptsa:chlich von PCs und Workstations
       benutzt. Die Schnittstelle bietet eine ho:here
       Datenu:bertragungsrate als serielle Schnittstellen. Kabel sind
       leicht erha:ltlich, sind aber vergleichsweise schwer selbst
       herzustellen. U:blicherweise brauchen keine
       Kommunikationsparameter festgelegt zu werden; dies macht die
       Einrichtung sehr einfach.

       Die parallele Schnittstelle wird auch als
       "Centronics"-Schnittstelle bezeichnet, nach dem Namen des
       Steckverbinders, der hier ha:ufig zum Einsatz kommt.

     * USB-Schnittstelle (Universal Serial Bus) bieten noch ho:here
       Geschwindigkeiten als parallele Schnittstellen oder serielle
       RS-232-Schnittstellen. USB-Kabel sind einfach und billig. Zum
       Drucken ist die USB-Schnittstelle besser geeignet als serielle
       oder parallele Schnittstellen, auf vielen UNIX Systemen werden
       USB-Schnittstellen jedoch nur unzureichend unterstu:tzt. Um
       Probleme zu vermeiden, sollten Sie sich einen Drucker
       anschaffen, der sowohl eine USB-Schnittstelle als auch eine
       parallele Schnittstelle besitzt (viele Drucker besitzen heute
       beide Schnittstellen).

   Im Allgemeinen versenden parallele Schnittstellen Daten nur in
   eine Richtung (vom Computer zum Drucker), serielle Schnittstellen
   und USB-Schnittstellen versenden Daten in beide Richtungen.
   Moderne parallele Schnittstellen (EPP and ECP) u:bertragen Daten
   bi-direktional nach dem Standard IEEE 1284.

   Ein Drucker kann auf zwei Arten bi-direktional angesprochen
   werden. Die erste Methode benutzt einen Druckertreiber, der die
   herstellerspezifische Sprache des Druckers beherrscht. Diese
   Methode wird oft mit Tintenstrahl-Druckern eingesetzt und dazu
   benutzt, den Fu:llstand der Tintenpatronen und andere
   Status-Informationen auszugeben. Die zweite Methode wird benutzt,
   wenn der Drucker PostScript beherrscht.

   Da ein PostScript-Druckauftrag ein komplettes Programm ist, kann
   es auch Daten an den Computer zuru:ckliefern, ohne u:berhaupt eine
   Seite Papier zu bedrucken. Auf diesem Wege werden auch Probleme
   wie z.B. ein Papierstau vom Drucker an den Computer u:bermittelt.
   Daru:berhinaus ist dies die effektivste Methode, um die
   tatsa:chlich gedruckte Anzahl an Seiten vom Drucker abzufragen:
   ein PostScript-Programm ermittelt jeweils vor und direkt nach
   einem Druckauftrag den Seitenza:hler des Druckers, und vergleicht
   die beiden Za:hlerwerte.

     --------------------------------------------------------------

      9.3.1.1.2. Parallele Schnittstellen

   Um einen Drucker mit paralleler Schnittstelle an Ihren Computer
   anzuschliessen, verbinden Sie den Drucker mit einer parallelen
   Schnittstelle Ihres Computers. Die Dokumentation zu Ihrem Drucker
   oder Computer sollte Ihnen hier weiterhelfen.

   Notieren Sie sich, mit welcher parallelen Schnittstelle des
   Computers Sie den Drucker verbunden haben. Die meisten Computer
   haben lediglich eine parallele Schnittstelle. Der
   FreeBSD-Gera:tename der ersten Schnittstelle lautet ppc0, der der
   zweiten ppc1, und so weiter. Der Gera:tename fu:r den Drucker an
   der ersten parallelen Schnittstelle folgt dem selben Schema und
   lautet /dev/lpt0, usw.

     --------------------------------------------------------------

      9.3.1.1.3. Serielle Schnittstellen

   Um einen Drucker mit serieller Schnittstelle an Ihren Computer
   anzuschliessen, verbinden Sie den Drucker mit einer seriellen
   Schnittstelle Ihres Computers. Die Dokumentation zu Ihrem Drucker
   oder Computer sollte Ihnen hier weiterhelfen.

   Sollten Sie sich nicht sicher sein, welches das "richtige Kabel"
   ist, ko:nnen Sie eine dieser Alternativen ausprobieren:

     * Ein Modemkabel verbindet alle Anschlu:sse an einem Ende des
       Kabels eins-zu-eins mit den Anschlu:ssen am anderen Ende des
       Kabels. Ein solches Kabel wird auch als (engl.) "DTE-to-DCE-"
       oder "DEE-zu-DU:E-"Kabel bezeichnet.

     * Ein Nullmodemkabel verbindet einige Signale eins-zu-eins,
       andere u:ber Kreuz (z.B. Sende- und Empfangsleitung), und
       verbindet einige weitere direkt im Stecker miteinander. Ein
       solches Kabel wird auch als (engl.) "DTE-to-DTE-" oder
       "DEE-zu-DEE-"Kabel bezeichnet.

     * Ein Serielles Druckerkabel schliesslich, das fu:r einige
       spezielle Drucker beno:tigt wird, verbindet zusa:tzliche
       Signale miteinander, anstatt sie im Stecker zuru:ckzufu:hren.

   Sie sollten auch die Kommunikationsparameter am Drucker
   einstellen; u:blicherweise gibt es dazu DIP-Schalter, oder eine
   Option in der Menu:fu:hrung am Drucker. Wa:hlen Sie die ho:chste
   Bitrate (auch als bps Bits pro Sekunde oder Baudrate bezeichnet),
   die sowohl Ihr Drucker als auch Ihr Computer unterstu:tzen.
   Wa:hlen Sie 7 oder 8 Bits, gerade, ungerade oder keine Parita:t,
   und ein oder zwei Stoppbits. Wa:hlen Sie die Art der
   Flusssteuerung: keine, XON/XOFF (auch als "in-band-" oder
   "Software"-Flusssteuerung bezeichnet), oder Hardware. Notieren Sie
   sich diese Einstellungen, damit Sie sie spa:ter bei der
   Software-Konfiguration zur Verfu:gung haben.

     --------------------------------------------------------------

    9.3.1.2. Software-Konfiguration

   Dieser Abschnitt beschreibt die notwendigen
   Konfigurationsschritte, damit Sie mit dem FreeBSD-LPD-System
   drucken ko:nnen.

   Diese Schritte mu:ssen Sie ausfu:hren:

    1. Konfigurieren Sie Ihren Kernel, soweit notwendig, um die
       Schnittstelle benutzen zu ko:nnen, an die Ihr Drucker
       angeschlossen ist. Abschnitt Kernel-Konfiguration erkla:rt,
       welche Optionen Sie beno:tigen.

    2. Konfigurieren Sie die Kommunikationseinstellungen fu:r die
       parallele Schnittstelle, sofern Sie sie benutzen. Abschnitt
       Kommunikationseinstellungen fu:r die parallele Schnittstelle
       entha:lt die Details.

    3. Pru:fen Sie, ob Sie Daten an den Drucker senden ko:nnen.
       Abschnitt Pru:fen der Drucker-Kommunikation fu:hrt eine Reihe
       von Mo:glichkeiten auf.

    4. Konfigurieren Sie LPD fu:r Ihren Drucker, indem Sie die
       Konfigurationsdatei /etc/printcap anpassen. Details dazu
       finden Sie im Abschnitt LPD aktivieren: die
       /etc/printcap-Datei.

     --------------------------------------------------------------

      9.3.1.2.1. Kernel-Konfiguration

   Der Betriebssystem-Kernel ist fu:r eine bestimmte Kombination aus
   Gera:ten kompiliert. Dies schliesst Ihre seriellen oder parallelen
   Schnittstellen mit ein. Dementsprechend kann es notwendig sein,
   die Kernelkonfiguration um weitere Schnittstellen zu erweitern.

   So ko:nnen Sie pru:fen, ob Ihr Kernel die serielle Schnittstelle
   unterstu:tzt, an die Sie den Drucker angeschlossen haben:

 # grep sioN /var/run/dmesg.boot

   Ersetzen Sie N durch die Nummer der seriellen Schnittstelle,
   beginnend bei Null. Wenn Sie eine Ausgabe a:hnlich der folgenden
   erhalten, unterstu:tzt ihr Kernel diese Schnittstelle:

 sio2 at port 0x3e8-0x3ef irq 5 on isa
 sio2: type 16550A

   Erhalten Sie keine Ausgabe, oder eine Fehlermeldung, wird die
   Schnittstelle nicht korrekt unterstu:tzt.

   So ko:nnen Sie pru:fen, ob Ihr Kernel die parallele Schnittstelle
   unterstu:tzt, an die Sie den Drucker angeschlossen haben:

 # grep ppcN /var/run/dmesg.boot

   Ersetzen Sie N durch die Nummer der parallelen Schnittstelle,
   beginnend bei Null. Wenn Sie eine Ausgabe a:hnlich der folgenden
   erhalten, unterstu:tzt ihr Kernel diese Schnittstelle:

 ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
 ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
 ppc0: FIFO with 16/16/8 bytes threshold

   Erhalten Sie keine Ausgabe, oder eine Fehlermeldung, wird die
   Schnittstelle nicht korrekt unterstu:tzt.

   Gegebenenfalls mu:ssen Sie Ihren Kernel umkonfigurieren und neu
   kompilieren, damit die von Ihnen gewa:hlte Schnittstelle
   unterstu:tzt wird.

   Um Unterstu:tzung fu:r eine serielle Schnittstelle hinzuzufu:gen,
   lesen Sie bitte Kapitel Konfiguration des FreeBSD Kernels. Um eine
   parallele Schnittstelle hinzuzufu:gen, lesen Sie bitte ebenfalls
   jenes Kapitel als auch den folgenden Abschnitt
   Kommunikationseinstellungen fu:r die parallele Schnittstelle.

     --------------------------------------------------------------

    9.3.1.3. Kommunikationseinstellungen fu:r die parallele
    Schnittstelle

   Wenn Sie die parallele Schnittstelle zur Kommunikation mit Ihrem
   Drucker benutzen, haben Sie die Wahl zwischen
   Interrupt-gesteuerter oder Polling-Datenu:bertragung. Der
   generische Druckergera:tetreiber lpt(4) in FreeBSD benutzt das
   ppbus(4)-System, das die parallele Schnittstelle mithilfe des
   ppc(4)-Treibers steuert.

     * Die Interrupt-gesteuerte Datenu:bertragung ist die
       Voreinstellung im GENERIC-Kernel. Der Treiber benutzt eine
       IRQ-Leitung, um zu erfahren, wann der Drucker weitere Daten
       empfangen kann.

     * Bei der Polling-Methode pru:ft der Treiber in regelma:ssigen
       Absta:nden, ob weitere Daten u:bertragen werden ko:nnen.

   Die Interrupt-gesteuerte Methode ist u:berlicherweise schneller
   und verbraucht weniger Rechenzeit als die Polling-Methode, es wird
   jedoch eine eigene IRQ-Leitung fu:r die Schnittstelle beno:tigt.
   Daru:berhinaus kann es mit einigen Druckermodellen zu Problemen
   kommen, wenn die Interrupt-gesteuerte U:bertragung zum Einsatz
   kommt.

   Die ko:nnen die Kommunikationseinstellung entweder in der
   Kernel-Konfiguration wa:hlen, oder mittels des
   lptcontrol(8)-Programms zur Laufzeit einstellen.

   So legen Sie die Kommunikationseinstellung in der
   Kernel-Konfiguration fest:

    1. A:ndern Sie Ihre Kernel-Konfigurationsdatei. Finden Sie die
       Zeile, die mit device ppc0 beginnt. Wenn Sie die zweite
       parallele Schnittstelle konfigurieren mo:chten, suchen Sie
       nach device ppc1, fu:r die dritte Schnittstelle ppc2, usw.

          * Um die Interrupt-Steuerung zu aktivieren, passen Sie die
            folgende Zeile an:

 hint.ppc.0.irq="N"

            Ersetzen Sie N durch die Nummer der IRQ-Leitung, die
            dieser parallelen Schnittstelle zugewiesen ist. Stellen
            Sie sicher, dass Ihre Kernel-Konfigurationsdatei den
            ppc(4)-Treiber entha:lt:

 device ppc

          * Wenn Sie den Polling-Modus verwenden mo:chten, entfernen
            Sie die folgende Zeile aus /boot/device.hints:

 hint.ppc.0.irq="N"

            Sollte der Treiber die Schnittstelle dennoch im
            Interrupt-Modus betreiben, ko:nnte dies an der
            Aktivierung durch das acpi(4)-System in FreeBSD liegen.
            Bitte pru:fen Sie die ACPI- und die BIOS-Konfiguration.

    2. Wenn Sie Ihre Kernel-Konfigurationsdatei angepasst haben,
       kompilieren und installieren Sie nun einen neuen Kernel. Das
       Kapitel Konfiguration des FreeBSD-Kernels entha:lt weitere
       Details dazu.

   So ko:nnen Sie die Kommunikationseinstellung mit lptcontrol(8)
   a:ndern:

    1. Um die Interrupt-Steuerung fu:r die Schnittstelle N zu
       aktivieren, geben Sie ein:

 # lptcontrol -i -d /dev/lptN

    2. Um den Polling-Modus fu:r die Schnittstelle N zu aktivieren,
       geben Sie ein:

 # lptcontrol -p -d /dev/lptN

   Sie ko:nnen diesen Befehl in /etc/rc.local aufnehmen, damit er bei
   jedem Systemstart automatisch ausgefu:hrt wird. lptcontrol(8)
   entha:lt weitere Informationen.

     --------------------------------------------------------------

    9.3.1.4. Kommunikation mit den Drucker pru:fen

   Bevor Sie mit der Konfiguration des LPD-Drucksystems fortfahren,
   sollten Sie sicherstellen, das Sie erfolgreich Daten an Ihren
   Drucker senden ko:nnen. Es ist deutlich einfacher, Kommunikations-
   und Konfigurationsprobleme unabha:ngig voneinander zu lo:sen.

   Der Drucker kann mit einem Probeausdruck getestet werden. Fu:r
   alle Drucker, die normalen Text unmittelbar drucken ko:nnen,
   bietet sich das Programm lptest(1) an: es produziert alle 96
   druckbaren ASCII-Zeichen auf 96 Zeilen.

   Fu:r einen PostScript-Drucker (oder andere Drucker, die eine
   Seitenbeschreibungssprache verwenden) muss ein passendes Programm
   an den Drucker gesendet werden, z.B. dieses:

 %!PS
 100 100 moveto 300 300 lineto stroke
 310 310 moveto /Helvetica findfont 12 scalefont setfont
 (Funktioniert dieser Drucker?) show
 showpage

   Sie ko:nnen dieses ProstScript-Programm in einer Datei speichern,
   und mit den Beispielen in den folgenden Abschnitt verwenden.

     Anmerkung: Nicht alle Drucker, die eine
     Seitenbeschreibungssprache verwenden, beno:tigen ein
     Test-Programm: z.B. HPs PCL (das auch in vielen kompatiblen
     Druckern zum Einsatz zu kommt), versteht normalen Text.
     Besondere Escape-Sequenzen werden benutzt, um die erweiterten
     Mo:glichkeiten aufzurufen. PostScript-Drucker ko:nnen in der
     Regel keinen normalen Text direkt verarbeiten, weil sie ein
     PostScript-Programm erwarten, das eine Seite produziert.

     --------------------------------------------------------------

      9.3.1.4.1. Einen Paralleldrucker pru:fen

   Dieser Abschnitt fu:hrt vor, wie Sie die Kommunikation mit Ihrem
   Drucker u:ber die parallele Schnittstelle pru:fen ko:nnen.

   So testen Sie einen Drucker an einer parallelen Schnittstelle:

    1. Werden Sie root mithilfe des su(1)-Befehls.

    2. Senden Sie Testdaten an den Drucker.

          * Wenn Ihr Drucker reinen Text direkt drucken kann,
            verwenden Sie lptest(1):

 # lptest > /dev/lptN

            Ersetzen Sie N durch die Nummer der parallelen
            Schnittstelle, an die der Drucker angeschlossen ist
            (angefangen bei Null).

          * Wenn Ihr Drucker PostScript (oder eine andere
            Seitenbeschreibungssprache) versteht, senden Sie ein
            passendes Testprogramm an den Drucker. Geben Sie
            folgenden Befehl ein:

 # cat > /dev/lptN

            Ersetzen Sie N durch die Nummer der parallelen
            Schnittstelle, an die der Drucker angeschlossen ist
            (angefangen bei Null). Geben Sie nun das Testprogramm
            ein, Zeile fu:r Zeile. Kontrollieren Sie jede Zeile,
            bevor Sie die Eingabetaste dru:cken: Sie ko:nnen die
            Zeile spa:ter nicht mehr a:ndern. Zum Schluss tippen Sie
            Ctrl+D. Wenn Sie ein anderes Zeichen nutzen, um das Ende
            der Datei anzuzeigen, mu:ssen Sie natu:rlich die
            entsprechende Tastenkombination fu:r dieses Zeichen
            beta:tigen.

            Sie ko:nnen das Testprogramm auch in einer Datei
            speichern, und dann diesen Befehl aufrufen:

 # cat Testprogramm > /dev/lptN

            Ersetzen Sie Testprogramm durch den Dateinamen, unter dem
            Sie das Testprogramm gespeichert haben.

   Der Drucker sollte einige Zeilen oder eine Seite drucken. Machen
   Sie sich keine Sorgen u:ber falsche Formatierungen: die
   Software-Konfiguration entha:lt Informationen zum Umformatieren
   von Druckauftra:gen.

     --------------------------------------------------------------

      9.3.1.4.2. Einen seriellen Drucker pru:fen

   Dieser Abschnitt fu:hrt vor, wie Sie die Kommunikation mit Ihrem
   Drucker u:ber die parallele Schnittstelle pru:fen ko:nnen.

   So testen Sie einen Drucker an einer seriellen Schnittstelle:

    1. Werden Sie root mithilfe des su(1)-Befehls.

    2. A:ndern Sie die Datei /etc/remote. Fu:gen Sie den folgenden
       Eintrag hinzu:

 printer:dv=/dev/Gera:t:br#Baudrate:pa=Parita:t

       Ersetzen Sie Gera:t durch den Gera:tenamen der seriellen
       Schnittstelle (ttyd0 fu:r die erste, ttyd1 fu:r die zweite,
       usw.), Baudrate ist die Geschwindigkeit und Parita:t die
       Parita:t (even fu:r gerade, odd fu:r ungerade oder none fu:r
       keine), die Sie am Drucker eingestellt haben.

       Hier ein Beispieleintrag fu:r einen Drucker, der u:ber die
       dritte serielle Schnittstelle angeschlossen ist, mit
       19.200 Baud kommuniziert und keine Parita:t verwendet:

 printer:dv=/dev/ttyd2:br#19200:pa=none

    3. Verbinden Sie sich mit dem Drucker u:ber den Befehl tip(1):

 # tip printer

       Kommt es hierbei zu einer Fehlermeldung, a:ndern Sie den
       Eintrag in /etc/remote und verwenden Sie /dev/cuaaN statt
       /dev/ttydN.

    4. Senden Sie Testdaten an den Drucker.

          * Wenn Ihr Drucker reinen Text direkt drucken kann,
            verwenden Sie lptest(1):

 % $lptest

          * Wenn Ihr Drucker PostScript (oder eine andere
            Seitenbeschreibungssprache) versteht, senden Sie ein
            passendes Testprogramm an den Drucker. Geben Sie das
            Testprogramm ein, Zeile fu:r Zeile. Kontrollieren Sie
            jede Zeile, bevor Sie die Eingabetaste dru:cken: Sie
            ko:nnen die Zeile spa:ter nicht mehr a:ndern. Zum Schluss
            tippen Sie Control-D.

            Sie ko:nnen das Testprogramm auch in einer Datei
            speichern, und dann diesen Befehl aufrufen:

 % >Testprogramm

            Ersetzen Sie Testprogramm durch den Dateinamen, unter dem
            Sie das Testprogramm gespeichert haben. Nachdem tip(1)
            die Datei gesendet hat, tippen Sie Control-D.

   Der Drucker sollte einige Zeilen oder eine Seite drucken. Machen
   Sie sich keine Sorgen u:ber falsche Formatierungen: die
   Software-Konfiguration entha:lt Informationen zum Umformatieren
   von Druckauftra:gen.

     --------------------------------------------------------------

    9.3.1.5. LPD aktivieren: die /etc/printcap-Datei

   Nachdem Sie Ihren Drucker angeschlossen haben, Ihren Kernel
   richtig konfiguriert haben und erfolgreich einen Testausdruck
   produziert haben, ko:nnen Sie nun das LPD-System konfigurieren.

   Sie konfigurieren LPD, indem Sie die Datei /etc/printcap anpassen.
   Da LPD die Datei jedes Mal liest, wenn eine Aktion durchgefu:hrt
   wird, werden A:nderungen an der Konfiguration sofort aktiv.

   Die printcap(5)-Datei ist einfach aufgebaut. Sie ko:nnen
   /etc/printcap mit Ihrem bevorzugten Texteditor bearbeiten. Sie
   verwendet dasselbe Format wie auch /usr/share/misc/termcap oder
   /etc/remote. Informationen zum Format finden Sie in cgetent(3).

   Die Grund-Konfiguration des LPD-Systems beinhaltet diese Schritte:

    1. Wa:hlen Sie einen Namen (und einige praktische Abku:rzungen)
       fu:r die Druckerwarteschlage, und tragen Sie ihn in die
       /etc/printcap-Datei ein. Abschnitt Einen Namen wa:hlen
       entha:lt weitere Informationen.

    2. Schalten Sie den Druck von Deckbla:ttern aus (dies ist
       standardma:ssig eingeschaltet), indem Sie das Attribut sh
       setzen. Abschnitt Den Druck von Deckbla:ttern ausschalten
       erkla:rt, wie Sie dies tun ko:nnen.

    3. Legen Sie ein Pufferverzeichnis fu:r die Warteschlange an, und
       geben Sie den Pfad mittels des sd-Attributs an: siehe
       Abschnitt Das Pufferverzeichnis anlegen.

    4. Geben Sie den Gera:tenamen fu:r Ihren Drucker mittels des
       lp-Attributs an: siehe Abschnitt Festlegen der
       Drucker-Gera:tedatei. Ist Ihr Drucker u:ber eine serielle
       Schnittstelle angeschlossen, benutzen Sie das Attribut ms#,
       wie dies in Abschnitt Festlegen der Kommunikationsparameter
       beschrieben ist.

    5. Installieren Sie einen Filter fu:r reinen Text: siehe
       Abschnitt Den Textfilter installieren.

    6. Testen Sie die Konfiguration, indem Sie etwas mit dem
       lpr(1)-Befehl drucken. Die Abschnitte Die Konfiguration testen
       und Fehlersuche und Problembehebung enthalten weitere
       Informationen.

     Anmerkung: Drucker, die eine Seitenbeschreibungssprache wie
     PostScript verwenden, ko:nnen keinen reinen Text drucken. Es
     wird deshalb angenommen, dass Sie nur solche Dateien drucken,
     die Ihr Drucker verarbeiten kann.

   Viele Anwender erwarten, dass sie normalen Text auf allen Druckern
   drucken ko:nnen. Viele Programme, die mit LPD zusammenarbeiten,
   gehen ebenfalls von dieser Annahme aus. Wenn Sie einen
   PostScript-Drucker installieren, und Sie sowohl PostScript- als
   auch Textdateien drucken mo:chten, sollten Sie einen weiteren
   Konfigurationsschritt ausfu:hren und einen
   Text-zu-PostScript-Filter installieren. Der Abschnitt Drucken von
   reinen Textdateien auf einem PostScript-Drucker erkla:rt, wie Sie
   dies tun ko:nnen.

     --------------------------------------------------------------

      9.3.1.5.1. Einen Namen wa:hlen

   Der erste einfache Schritt ist, einen Namen fu:r Ihren Drucker zu
   wa:hlen. Sie ko:nnen diesen Namen frei wa:hlen, Sie sollten
   allerdings keine Sonderzeichen oder Umlaute verwenden. Sie ko:nnen
   mehrere Alias-Namen vergeben.

   Ein Drucker in /etc/printcap sollte den Alias lp haben. Dieser
   Name wird standardma:ssig von allen Druckbefehlen verwendet, wenn
   auf der Befehlszeile oder in der PRINTER-Umgebungsvariablen kein
   anderer Drucker angegeben ist.

   Ebenso ist es u:blich, eine ausfu:hrliche Beschreibung des
   Druckermodells als letzten Alias-Namen zu verwenden.

   Sobald Sie einen Namen und einige einfache Alias-Namen ausgewa:hlt
   haben, tragen Sie sie in die Datei /etc/printcap ein. Beginnen Sie
   die Zeile mit dem Namen des Druckers und fu:gen Sie alle
   Alias-Namen an. Trennen Sie die Namen durch den senkrechten Strich
   |. Fu:gen Sie an das Ende der Zeile einen Doppelpunkt : an.

   Das folgende Beispiel definiert zwei Drucker, einen Diablo 630
   Zeilendrucker, und einen Panasonic KX-P4455
   PostScript-Laserdrucker:

 #
 #  /etc/printcap for host rose
 #
 rattan|line|diablo|lp|Diablo 630 Line Printer:

 bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:

   Der erste Drucker hat den Namen rattan, und hat die Alias-Namen
   line, diablo, lp und Diablo 630 Line Printer. Da er den
   Alias-Namen lp tra:gt, wird er standardma:ssig von den
   Druckprogrammen verwendet. Der zweite Drucker heisst bamboo, und
   hat die Alias-Namen ps, PS, S, panasonic und Panasonic KX-P4455
   PostScript v51.4.

     --------------------------------------------------------------

      9.3.1.5.2. Keine Deckbla:tter drucken

   Standardma:ssig druckt das LPD-System ein Deckblatt vor jedem
   Druckauftrag, die den Namen des Druckauftrags, den Benutzer und
   den Computer angibt. Wa:hrend der Einrichtung des Systems und beim
   Testen sto:rt das Deckblatt allerdings, weshalb Sie sie zuna:chst
   deaktivieren sollten.

   Um den Druck von Deckbla:ttern zu deaktivieren, fu:gen Sie das
   Attribut sh zur Druckerdefinition in /etc/printcap hinzu. Hier ein
   Beispiel:

 #
 #  /etc/printcap for host rose - no header pages anywhere
 #
 rattan|line|diablo|lp|Diablo 630 Line Printer:\
         :sh:

 bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
         :sh:

   Beachten Sie die korrekte Formatierung: die beiden Definitionen
   beginnen auf einer Zeile; weitere Zeilen der Definition sind mit
   einem Tab-Zeichen eingeru:ckt, und alle Zeilen einer Definition,
   bis auf die letzte, enden mit dem Backslash \.

     --------------------------------------------------------------

      9.3.1.5.3. Das Pufferverzeichnis anlegen

   Der na:chste Schritt ist, das Pufferverzeichnis anzulegen. In
   diesem Verzeichnis werden Druckauftra:ge zwischengespeichert,
   wa:hrend sie gedruckt werden. Gleichzeitig werden hier auch einige
   Verwaltungsdateien des Systems abgelegt.

   Da sich die Dateien in diesem Verzeichnis ha:ufig a:ndern, ist es
   u:blich, das Verzeichnis unter /var/spool anzulegen. Es ist nicht
   notwendig, Sicherungskopien der Dateien herzustellen; das
   Verzeichnis kann no:tigenfalls leicht mit mkdir(1) wieder angelegt
   werden.

   Es ist auch u:blich, dem Verzeichnis denselben Namen wie dem
   Drucker zu geben:

 # mkdir /var/spool/Druckername

   Wenn Sie viele Drucker verwenden, ist es am besten, wenn Sie fu:r
   die Pufferverzeichnisse ein eigenes Unterverzeichnis in /var/spool
   anlegen, wie dies hier fu:r die beiden Beispieldrucker rattan und
   bamboo gezeigt wird:

 # mkdir /var/spool/lpd
 # mkdir /var/spool/lpd/rattan
 # mkdir /var/spool/lpd/bamboo

     Anmerkung: Um zu verhindern, dass alle Benutzer den Inhalt aller
     Druckauftra:ge einsehen ko:nnen, sollten Sie die Rechte auf den
     Pufferverzeichnissen einschra:nken. Die Verzeichnisse sollten
     dem Benutzer daemon und der Gruppe daemon geho:ren, und auch nur
     vom Benutzer und der Gruppe les-, schreib- und durchsuchbar
     sein. Fu:r unsere Beispieldrucker:

 # chown daemon:daemon /var/spool/lpd/rattan
 # chown daemon:daemon /var/spool/lpd/bamboo
 # chmod 770 /var/spool/lpd/rattan
 # chmod 770 /var/spool/lpd/bamboo

   Schliesslich mu:ssen Sie dem LPD-System noch mitteilen, wo Sie die
   Pufferverzeichnisse angelegt haben. Dazu geben Sie in der
   Definition das Attribut sd an:

 #
 #  /etc/printcap for host rose - added spooling directories
 #
 rattan|line|diablo|lp|Diablo 630 Line Printer:\
         :sh:sd=/var/spool/lpd/rattan:

 bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
         :sh:sd=/var/spool/lpd/bamboo:

   Beachten Sie, dass der Druckername in der ersten Spalte beginnt,
   und dass alle Folgezeilen mit einem Tab eingeru:ckt sind.

   Wenn Sie das sd-Attribut nicht angeben, verwendet das System
   /var/spool/lpd als Verzeichnis.

     --------------------------------------------------------------

      9.3.1.5.4. Festlegen der Drucker-Gera:tedatei

   Nachdem Sie die die korrekten Gera:tedatei fu:r die Schnittstelle
   identifiziert und angelegt haben, mu:ssen Sie dem LPD-System
   mitteilen, welche Gera:tedatei es fu:r die Datenu:bertragung zum
   Drucker verwenden soll.

   Geben Sie die Gera:tedatei durch das Attribut lp in /etc/printcap
   an.

   Wenn rattan an die erste parallele Schnittstelle angeschlossen
   ist, und bamboo an die sechste serielle, dann sieht /etc/printcap
   so aus:

 #
 #  /etc/printcap for host rose - identified what devices to use
 #
 rattan|line|diablo|lp|Diablo 630 Line Printer:\
         :sh:sd=/var/spool/lpd/rattan:\
         :lp=/dev/lpt0:

 bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
         :sh:sd=/var/spool/lpd/bamboo:\
         :lp=/dev/ttyd5:

   Wenn Sie lp nicht angeben, versucht LPD die Gera:tedatei /dev/lp
   zu verwenden. /dev/lp ist zurzeit in FreeBSD nicht definiert.

   Wenn Ihr Drucker u:ber eine parallele Schnittstelle angeschlossen
   ist, ko:nnen Sie mit dem Abschnitt Den Textfilter installieren
   fortfahren. Verwenden Sie eine serielle Schnittstelle, beachten
   Sie bitte den folgenden Abschnitt.

     --------------------------------------------------------------

      9.3.1.5.5. Kommunikationsparameter festlegen

   Fu:r seriell angeschlossene Drucker kann LPD die Geschwindigkeit,
   Parita:t und weitere Kommunikationsparameter einstellen. Dies hat
   folgende Vorteile:

     * Sie ko:nnen die Parameter einfach in /etc/printcap a:ndern,
       ohne das Ausgabe-Filterprogramm anpassen zu mu:ssen.

     * Dasselbe Ausgabe-Filterprogramm kann fu:r unterschiedliche
       Drucker verwendet werden, auch wenn diese unterschiedliche
       Kommunikationseinstellungen beno:tigen.

   Die folgenden Attribute legen die seriellen
   Kommunikationsparameter fest:

   br#Baudrate

           Setzt die U:bertragungsgeschwindigkeit auf Baudrate.
           Baudrate kann u:blicherweise 50, 75, 110, 134.5, 150, 300,
           600, 1200, 1800, 2400, 4800, 9600, 19200, 38400, 57600,
           oder 115200 Bit pro Sekunde betragen.

   ms#stty-Modi

           Setzt die Eigenschaften fu:r das Gera:t, nachdem es
           geo:ffnet wurde. Die verfu:gbaren Eigenschaften sind in
           stty(1) aufgefu:hrt.

   Wenn LPD das mit lp angegebene Gera:t o:ffnet, setzt es die mit
   ms# angegebenen Eigenschaften. Von besonderem Interesse sind hier
   die Modi parenb, parodd, cs5, cs6, cs7, cs8, cstopb, crtscts und
   ixon, die in der stty(1)-Handbuchseite erla:utert werden.

   Fu:r den u:ber die sechste serielle Schnittstelle angeschlossenen
   Laserdrucker betra:gt die Geschwindigkeit 38.400 Baud, und es
   werden diese Kommunikationseinstellungen verwendet: keine Parita:t
   (-parenb), 8-Bit-Zeichen (cs8), keine Modemsteuerung (clocal) und
   Hardware-Flusssteuerung (crtscts):

 bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
         :sh:sd=/var/spool/lpd/bamboo:\
         :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:

     --------------------------------------------------------------

      9.3.1.5.6. Den Textfilter installieren

   Ein Textfilter, auch als Eingangsfilter bezeichnet, ist ein
   Programm, das von LPD aufgerufen wird, wenn ein Druckauftrag
   verarbeitet wird. Dabei wird die Standardeingabe des Programms mit
   der zu druckenden Datei verbunden, und die Standardausgabe mit dem
   im lp-Attribut angegebenen Gera:t. Das Programm sollte nun die
   Datei einlesen, alle U:bersetzungen durchfu:hren, die fu:r den
   Drucker notwendig sind, und das Ergebnis u:ber die Standardausgabe
   an den Drucker senden. Textfilter werden im Abschnitt Filter
   genauer erla:utert.

   Um einen einfachen Test durchzufu:hren, reicht ein kleines
   Filterprogramm, dass schlicht /bin/cat aufruft, um die Daten
   unvera:ndert und den Drucker zu schicken. FreeBSD verfu:gt u:ber
   das Programm lpf, das Unterstreichung und Fettdruck fu:r solche
   Drucker ermo:glicht, die ansonsten dazu nicht in der Lage wa:ren.
   Daru:berhinaus gibt es viele andere Filter, die Sie einsetzen
   ko:nnen. lpf wird im Abschnitt lpf: ein Textfilter ausfu:hrlich
   beschrieben.

   Legen Sie zuna:chst das folgende Shell-Skript als
   /usr/local/libexec/if-simple mit Ihrem bevorzugten Texteditor an:

 #!/bin/sh
 #
 # if-simple - Simple text input filter for lpd
 # Installed in /usr/local/libexec/if-simple
 #
 # Simply copies stdin to stdout.  Ignores all filter arguments.

 /bin/cat && exit 0
 exit 2

   Machen Sie die Datei ausfu:hrbar:

 # chmod 555 /usr/local/libexec/if-simple

   Konfigurieren Sie nun den Textfilter fu:r Ihren Drucker in
   /etc/printcap, indem Sie das if-Attribut hinzufu:gen. Hier die
   Konfiguration unserer beiden Beispieldrucker:

 #
 #  /etc/printcap for host rose - added text filter
 #
 rattan|line|diablo|lp|Diablo 630 Line Printer:\
         :sh:sd=/var/spool/lpd/rattan:\
         :lp=/dev/lpt0:\
         :if=/usr/local/libexec/if-simple:

 bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
         :sh:sd=/var/spool/lpd/bamboo:\
         :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:\
         :if=/usr/local/libexec/if-simple:

     Anmerkung: Das Shell-Skript if-simple steht im Verzeichnis
     /usr/share/examples/printing.

     --------------------------------------------------------------

      9.3.1.5.7. LPD aktivieren

   lpd(8) wird von /etc/rc gestartet, wenn die rc.conf(5)-Variable
   lpd_enable auf YES gesetzt ist. Fu:gen Sie dazu diese Zeile in
   /etc/rc.conf hinzu:

 lpd_enable="YES"

   Starten Sie Ihren Computer neu, oder starten Sie lpd(8) von Hand:

 # lpd

     --------------------------------------------------------------

      9.3.1.5.8. Die Konfiguration testen

   Damit ist die einfache Konfiguration abgeschlossen. Noch muss die
   Konfiguration aber getestet werden und etwaige Probleme mu:ssen
   behoben werden. Um die Konfiguration zu testen, sollten Sie einen
   Probeausdruck mithilfe des Programms lpr(1) produzieren. lpr(1)
   u:bergibt Druckauftra:ge an das LPD-System.

   Sie ko:nnen lpr(1) mit lptest(1) kombinieren, um Testdaten zu
   drucken. lptest(1) wurde im Abschnitt Kommunikation mit den
   Drucker pru:fen vorgestellt.

   So testen Sie die einfache LPD-Konfiguration:

 # lptest 20 5 | lpr -PDruckername

   Ersetzen Sie Druckername durch den Namen des Druckers, den Sie
   testen mo:chten. Wenn Sie den Standard-Drucker testen mo:chten,
   rufen Sie lpr(1) ohne die Option -P auf. Wenn Sie einen Drucker
   testen mo:chten, der nur PostScript versteht, mu:ssen Sie ein
   PostScript-Testprogramm an lpr(1) u:bergeben. Ein Testprogramm,
   das Sie in einer Datei gespeichert haben, ko:nnen Sie mit dem
   Befehl lpr Dateiname an das LPD-System u:bergeben.

   Bei einem PostScript-Drucker ha:ngt das Ergebnis naturgema:ss vom
   Testprogramm ab. Wenn Sie lptest(1) verwenden, sollte das Ergebnis
   ungefa:hr so aussehen:

 !"#$%&'()*+,-./01234
 "#$%&'()*+,-./012345
 #$%&'()*+,-./0123456
 $%&'()*+,-./01234567
 %&'()*+,-./012345678

   Um sicherzustellen, dass alles richtig funktioniert, sollten Sie
   jetzt ein gro:sseres PostScript-Programm senden. Mit lptest(1)
   ko:nnen Sie gro:ssere Datenmengen z.B. mit dem Befehl lptest 80 60
   erzeugen: lptest(1) produziert 60 Zeilen mit je 80 Zeichen.

   Wenn Sie nicht erfolgreich drucken ko:nnen, finden Sie im
   Abschnitt Fehlersuche und Problembehebung weitere Informationen.

     --------------------------------------------------------------

9.4. Erweiterte Drucker-Konfiguration

   U:bersetzt von Johann Kois.

   Dieser Abschnitt beschreibt den Einsatz von Filtern fu:r das
   Drucken speziell formatierter Seiten oder von Deckbla:ttern, das
   Drucken u:ber ein Netzwerk sowie die Beschra:nkung und Verrechnung
   der Druckernutzung.

     --------------------------------------------------------------

  9.4.1. Filter

   Obwohl LPD Netzwerkprotokolle, Warteschlangen, Zugriffskontrollen
   und andere fu:r das Drucken wichtige Aspekte prinzipiell
   unterstu:tzt, passiert ein Grossteil der wirklichen Arbeit in den
   sogenannten Filtern. Dabei handelt es sich um Programme, die
   direkt mit einem Drucker kommunizieren und deren Gera:tespezifika
   und spezielle Anforderungen erfu:llen. Im einfachsten Fall
   installiert man nur einen reinen Textfilter, der mit beinahe allen
   Druckern funktionieren sollte. (Lesen Sie dazu auch den Abschnitt
   Den Text-Filter installieren.)

   Um die erweiterten Fa:higkeiten von Druckern auch einsetzen zu
   ko:nnen, sollten Sie verstehen, wie Filter arbeiten, da diese fu:r
   die Bereitstellung dieser Funktionen zusta:ndig sind. Die
   schlechte Nachricht ist, dass Sie diese Filter bereitstellen
   mu:ssen. Die gute Nachricht ist allerdings, dass diese in der
   Regel bereits vorhanden sind. Ist dies nicht der Fall, ko:nnen Sie
   einen Filter meist relativ einfach selbst erstellen.

   Der Filter /usr/libexec/lpr/lpf wird bereits mit FreeBSD
   geliefert. Er ku:mmert sich um die korrekte Behandlung von
   gelo:schten Zeichen (das sogenannte Backspacing), um im Text
   enthaltene Tabulatoren, sowie um die Verrechnung von
   Druckauftra:gen. Das ist aber auch alles, was dieser Filter kann.
   Zusa:tzliche Filter und fu:r die Funktion von Filtern no:tige
   Komponenten finden sich aber in der FreeBSD Ports-Sammlung.

   Dieser Abschnitt behandelt folgende Themen:

     * Der Abschnitt Die Funktionsweise von Filtern versucht, einen
       U:berblick u:ber die Rolle von Filtern innerhalb des
       Druckprozesses zu geben. Sie sollten diesen Abschnitt lesen,
       damit Sie verstehen, was "unter der Haube" passiert, wenn LPD
       einen Filter verwendet. Dieses Wissen wird Ihnen dabei helfen,
       Probleme, die bei Installation von Filtern fu:r verschiedene
       Drucker entstehen ko:nnen, vorauszusehen und zu beheben.

     * LPD geht davon aus, dass jeder Drucker in der Lage ist,
       normalen Text zu drucken. Fu:r PostScript- (oder andere
       sprachbasierte) Drucker stellt dies allerdings ein Problem
       dar, da diese nicht in der Lage sind, normalen Text direkt zu
       drucken. Der Abschnitt Normalen Text auf PostScript-Druckern
       drucken beschreibt, wie Sie dieses Problem lo:sen ko:nnen.
       Besitzen Sie einen PostScript-Drucker, sollten Sie diesen
       Abschnitt lesen.

     * PostScript ist ein popula:res Ausgabeformat, das von vielen
       Programmen unterstu:tzt wird. Es ist sogar mo:glich,
       PostScript-Code direkt zu schreiben. Leider sind
       PostScript-Drucker in der Regel relativ teuer. Der Abschnitt
       PostScript auf Nicht-PostScript-Druckern emulieren beschreibt,
       wie Sie einen Textfilter anpassen mu:ssen, um PostScript-Daten
       auf einem nicht-PostScript-fa:higen Drucker auszugeben. Haben
       Sie keinen PostScript-Drucker, sollten Sie insbesondere diesen
       Abschnitt lesen.

     * Der Abschnitt Konvertierungsfilter beschreibt eine
       Mo:glichkeit zur automatischen Konvertierung verschiedener
       Dateiformate in ein von Ihrem Drucker unterstu:tztes Format.
       Nachdem Sie diesen Abschnitt gelesen haben, werden Sie in der
       Lage sein, Ihren Drucker so zu konfigurieren, dass Sie durch
       die Eingabe von lpr -t troff-Daten, von lpr -d TeX-DVI-Daten,
       oder von lpr -v Rasterbilddaten drucken ko:nnen. Daher sollten
       Sie diesen Abschnitt auf jeden Fall lesen.

     * Im Abschnitt Ausgabefilter wird eine nur selten genutzte
       Eigenschaft von LPD, die sogenannten Ausgabefilter,
       beschrieben. Wenn Sie keine Deckbla:tter drucken mu:ssen,
       ko:nnen Sie diesen Abschnitt u:berspringen.

     * Der Abschnitt lpf: Ein Textfilter beschreibt lpf, einen
       kompletten, wenn auch einfachen Textfilter fu:r Zeilendrucker
       (oder auch Laserdrucker, die sich analog verhalten), der
       bereits mit FreeBSD geliefert wird. Wenn Sie nur am Ausdruck
       von reinem Text interessiert sind, oder wenn Ihr Drucker nur
       "Schrott" produziert, wenn er auf Backspace-Zeichen trifft,
       sollten Sie sich lpf na:her ansehen.

     Anmerkung: Eine Kopie der verschiedenen Skripte finden Sie im
     Verzeichnis /usr/share/examples/printing.

     --------------------------------------------------------------

    9.4.1.1. Die Funktionsweise von Filtern

   Bei einem Filter handelt es sich um ein ausfu:hrbares Programm,
   das von LPD gestartet wird, um den gera:teabha:ngigen Teil der
   Kommunikation mit einem Drucker zu u:bernehmen.

   Wenn LPD eine Datei u:ber einen Druckauftrag drucken will, startet
   es ein Filterprogramm. Danach setzt es die Standardeingabe des
   Filters auf die zu druckende Datei, die Standardausgabe auf den
   Drucker und die Standardfehlerausgabe auf /dev/console
   (Voreinstellung) oder auf die u:ber die Option lf in /etc/printcap
   festgelegte Datei.

   Welcher Filter von LPD mit welchen Argumenten geladen wird, wird
   in der Datei /etc/printcap oder durch die Argumente, die der
   Anwender lpr(1) auf der Kommandozeile u:bergibt, festgelegt. Gibt
   der Anwender beispielsweise lpr -t ein, startet LPD u:ber die
   tf-Fa:higkeit den troff-Filter fu:r den gewu:nschten Drucker.
   Wollen Sie hingegen normalen Text drucken, wird der if-Filter
   gestartet. (Fu:r Ausnahmen von diesem Vorgehen lesen Sie bitte den
   Abschnitt Ausgabefilter.)

   Es gibt drei Arten von Filtern, die Sie in /etc/printcap angeben
   ko:nnen:

     * Textfilter (die in der LPD-Dokumentation als input filter
       bezeichnet werden) sind fu:r den Druck von normalem Text
       zusta:ndig. Es handelt sich dabei um eine Art Standardfilter,
       da LPD von jedem Drucker erwartet, dass er normalen Text
       drucken kann. Aufgabe des Textfilters ist es, sicherzustellen,
       dass gelo:schte Zeichen (Backspaces), Tabulatoren und andere
       Sonderzeichen Ihren Drucker nicht verwirren. Falls Sie fu:r
       die Nutzung eines Druckers bezahlen mu:ssen, kann der
       Textfilter u:ber die Anzahl der gedruckten Zeilen auch die
       Anzahl der von Ihnen gedruckten Seiten ermitteln. Der
       Textfilter wird mit folgenden Argumenten gestartet:

       filter-name [-c] -w width -l length -i indent -n login -h host
       acct-file

       Die einzelnen Argumente haben folgende Bedeutung:

            -c

                    Notwendig, wenn lpr -l verwendet wird.

            width

                    Der Wert der in /etc/printcap festgelegten Option
                    pw (page width). In der Voreinstellung ist dieser
                    Wert auf 132 gesetzt.

            length

                    Der Wert der pl-Fa:higkeit (page length),
                    Voreinstellung 66.

            indent

                    Der durch lpr -i festgelegte Einzug,
                    Voreinstellung 0.

            login

                    Der Name des Benutzers, der die Datei druckt.

            host

                    Der Rechner, auf dem der Druckauftrag gestartet
                    wurde.

            acct-file

                    Der Name der Verrechnungsdatei, in der die
                    Ergebnisse der af-Fa:higkeit gespeichert werden.

     * Ein Konvertierungsfilter konvertiert verschiedene Dateiformate
       in ein Format, das Ihr Drucker auf Papier ausgeben kann. So
       kann etwa der ditroff-Schriftsatz nicht direkt gedruckt
       werden, daher mu:ssen Sie einen Konvertierungsfilter
       installieren, um diese Daten in ein Format zu bringen, das Ihr
       Drucker verarbeiten und drucken kann. Der Abschnitt
       Konvertierungsfilter entha:lt ausfu:hrliche Informationen zu
       diesen Filtern. Konvertierungsfilter ko:nnen auch zur
       Verrechnung verwendet werden. Sie werden mit folgenden
       Argumenten gestartet:

       filter-name -x pixel-width -y pixel-height -n login -h host
       acct-file

       pixel-width ist der Wert der px-Fa:higkeit (Voreinstellung 0),
       wa:hrend pixel-height dem Wert der py-Fa:higkeit
       (Voreinstellung ebenfalls 0) entspricht.

     * Ausgabefilter werden nur verwendet, wenn keine Textfilter
       vorhanden sind oder wenn Deckbla:tter beno:tigt werden. Der
       Abschnitt Ausgabefilter entha:lt weitere Informationen.
       Ausgabefilter unterstu:tzen nur zwei Argumente:

       filter-name -w width -l length

       Beide Argumente entsprechen den Optionen -w und -l der
       Textfilter.

   Alle Filter sollten mit folgenden Ru:ckgabewerten (Exitcodes)
   beendet werden:

   exit 0

           Der Filter hat die Datei erfolgreich gedruckt.

   exit 1

           Der Filter war nicht in der Lage, die Datei zu drucken und
           meldet diesen Exitcode an LPD, um die Datei erneut zu
           drucken. LPD startet daraufhin den Filter erneut.

   exit 2

           Der Filter war nicht in der Lage, die Datei zu drucken.
           Bei diesem Exitcode soll LPD aber nicht versuchen, die
           Datei erneut zu drucken, sondern den Druckauftrag
           verwerfen.

   /usr/libexec/lpr/lpf, der mit FreeBSD gelieferte Textfilter, nutzt
   die Argumente page width und page length, um festzulegen, wann ein
   Seitenumbruch (form feed) gesendet werden soll sowie zur
   Verrechnung von Druckauftra:gen. Dazu werden der Benutzername, der
   fu:r den Druckauftrag verwendete Rechner sowie die
   Verrechnungsdatei ausgewertet, um die entsprechenden Eintra:ge zu
   erstellen.

   Wenn Sie auf der Suche nach Filtern sind, achten Sie darauf, dass
   diese LPD-kompatibel sind. Dazu mu:ssen diese die oben
   beschriebenen Argumente unterstu:tzen. Wenn Sie planen, Ihre
   Filter selbst zu erstellen, mu:ssen diese ebenfalls die gleichen
   Argumente und Exitcodes unterstu:tzen.

     --------------------------------------------------------------

    9.4.1.2. Normalen Text auf PostScript(R)-Druckern drucken

   Sie sind der alleinige Benutzer Ihres Computers und Ihres
   PostScript-Druckers und Sie sind sich sicher, dass Sie niemals
   normalen Text an Ihren Drucker senden werden? Ausserdem werden Sie
   niemals ein Programm verwenden, um normalen Text auszudrucken? Nur
   wenn dies alles zutrifft, ko:nnen Sie diesen Abschnitt
   u:berspringen.

   Wollen Sie allerdings sowohl PostScript als auch normalen Text
   drucken, mu:ssen Sie Ihren Drucker zuvor entsprechend
   konfigurieren. Dazu muss Ihr Textfilter in der Lage sein, zu
   unterscheiden, ob es sich bei einem ankommenden Druckauftrag um
   normalen Text oder um PostScript-Daten handelt. Jeder
   PostScript-Druckauftrag muss mit den Zeichen %! beginnen (sehen
   Sie in Ihrem Druckerhandbuch nach, ob Ihr Drucker weitere Sprachen
   unterstu:tzt). Sind dies die beiden ersten Zeichen eines
   Druckauftrages, so handelt es sich um PostScript-Daten, die direkt
   gedruckt werden ko:nnen. Fehlen diese Zeichen allerdings, muss der
   Textfilter den Inhalt der Datei nach PostScript konvertieren,
   bevor die Datei gedruckt werden kann.

   Wie funktioniert diese Unterscheidung?

   Haben Sie einen seriellen Drucker, ko:nnen Sie lprps installieren.
   lprps ist ein PostScript-Druckerfilter, der eine
   Zweiwegekommunikation mit einem Drucker ermo:glicht. Er
   aktualisiert die Druckerstatusdatei mit Protokollinformationen des
   Druckers. Dadurch sind Anwender und Administratoren in der Lage,
   den genauen Zustand des Druckers zu pru:fen (durch Meldungen wie
   "toner low" oder "paper jam"). Wichtiger ist allerdings, dass
   lprps psif entha:lt, ein Programm, das feststellen kann, ob ein
   ankommender Druckauftrag normalen Text entha:lt. Ist dies der
   Fall, wird textps (das ebenfalls mit lprps geliefert wird)
   aufgerufen und die Datei nach PostScript konvertiert. Danach kann
   lprps die Datei an den Drucker senden.

   lprps ist in der FreeBSD Ports-Sammlung enthalten. Je nach der von
   Ihnen verwendeten Papiergro:sse installieren Sie dazu den Port
   print/lprps-a4 oder print/lprps-letter. Nach der Installation
   mu:ssen Sie nur noch den Pfad zum Programm psif angeben, das als
   Teil von lprps installiert wird. Haben Sie lprps u:ber die
   Ports-Sammlung installiert, fu:gen Sie folgende Zeile in den
   Eintrag Ihres PostScript-Druckers in /etc/printcap ein:

 :if=/usr/local/libexec/psif:

   Zusa:tzlich sollten Sie die rw-Fa:higkeit aktivieren, um LPD im
   Schreib- und Lesemodus zu o:ffnen.

   Haben Sie hingegen einen parallelen PostScript-Drucker, was eine
   Zweiwegekommunikation mit Ihrem Drucker (auf die lprps angewiesen
   ist) unmo:glich macht, ko:nnen Sie das folgende Shell-Skript
   verwenden:

 #!/bin/sh
 #
 #  psif - Drucke PostScript oder normalen Text auf einem PostScript-Drucker
 #  Script-Version; das ist NICHT die mit lprps gelieferte Version!
 #  Installiert unter:  /usr/local/libexec/psif
 #

 IFS="" read -r first_line
 first_two_chars=`expr "$first_line" : '\(..\)'`

 if [ "$first_two_chars" = "%!" ]; then
     #
     #  PostScript - einfach drucken.
     #
     echo "$first_line" && cat && printf "\004" && exit 0
     exit 2
 else
     #
     #  Normaler Text - zuerst konvertieren, dann drucken.
     #
     ( echo "$first_line"; cat ) | /usr/local/bin/textps && printf "\004" && exit 0
     exit 2
 fi     

   Fu:r dieses Skript wurde textps als seperates Programm
   installiert, um normalen Text nach PostScript zu konvertieren. Sie
   ko:nnen aber auch jeden anderen Text-nach-PostScript-Konverter
   verwenden. Die FreeBSD Ports-Sammlung entha:lt mit a2ps ein
   umfangreiches Programm zur Konvertierung von normalem Text nach
   PostScript.

     --------------------------------------------------------------

    9.4.1.3. PostScript auf Nicht-PostScript-Druckern emulieren

   Bei PostScript handelt es sich um den de facto-Standard fu:r
   hochwertigen Schriftsatz und Druck. Leider ist PostScript aber
   auch ein teurer Standard. Glu:cklicherweise hat Aladdin
   Enterprises daher eine freie PostScript-a:hnliche Implementierung
   namens Ghostscript entwickelt, die auch unter FreeBSD lauffa:hig
   ist. Ghostscript kann fast jede PostScript-Datei lesen und auf den
   verschiedensten Gera:ten ausgeben, darunter auch auf vielen
   Nicht-PostScript-Druckern. Durch die Installation von Ghostscript
   und die Nutzung eines speziellen Textfilters erreichen Sie, dass
   sich Ihr Nicht-PostScript-Drucker wie ein echter
   PostScript-Drucker verha:lt.

   Ghostscript ist in verschiedenen Versionen in der FreeBSD
   Ports-Sammlung enhalten, die am ha:figsten verwendete Version ist
   print/ghostscript-gpl.

   Um PostScript zu emulieren, muss der Textfilter erkennen, ob er
   eine PostScript-Datei drucken soll. Ist dies nicht der Fall, wird
   die Datei direkt an den Drucker geschickt. Anderenfalls wird die
   Datei an Ghostscript u:bergeben, das die Datei in ein Format
   konvertiert, das Ihr Drucker versteht.

   Dazu ein Beispiel. Das folgende Skript ist ein Textfilter fu:r den
   Drucker DeskJet 500 von Hewlett Packard. Nutzen Sie einen anderen
   Drucker, mu:ssen Sie die Option -sDEVICE beim Aufruf von gs
   (Ghostscript) entsprechend anpassen. Eine Liste der von
   Ghostscript unterstu:tzten Gera:te erhalten Sie durch die Eingabe
   von gs -h auf der Kommandozeile.

 #!/bin/sh
 #
 #  ifhp - Ghostscript-emuliertes PostScript auf einem HP DeskJet 500 drucken
 #  Installiert unter:  /usr/local/libexec/ifhp

 #
 #  LF als CR+LF behandeln (um einen "Treppeneffekt" auf HP/PCL-Drucker
 #  zu vermeiden)
 #
 printf "\033&k2G" || exit 2

 #
 #  Lies die ersten zwei Zeichen der Datei
 #
 IFS="" read -r first_line
 first_two_chars=`expr "$first_line" : '\(..\)'`

 if [ "$first_two_chars" = "%!" ]; then
     #
     #  Oh.  Es ist PostScript; mit Ghostscript konvertieren, danach drucken.
     #
     /usr/local/bin/gs -dSAFER -dNOPAUSE -q -sDEVICE=djet500 \
       -sOutputFile=- - && exit 0
 else
     #
     #  Normaler Text oder HP/PCL, einfach direkt drucken.  Ans Ende setzen wir
     #  einen Seitenumbruch (also ein Form Feed), damit auch die letzte Seite
     #  ausgeworfen wird.
     #
     echo "$first_line" && cat && printf "\033&l0H" &&
 exit 0
 fi

 exit 2

   Zuletzt mu:ssen Sie LPD noch durch die if-Fa:higkeit u:ber den
   neuen Filter informieren:

 :if=/usr/local/libexec/ifhp:

   Das ist alles. Ab sofort sollte sowohl ein lpr normaler.text als
   auch ein lpr wasauchimmer.ps funktionieren und beide Dateien
   sollten problemlos gedruckt werden.

     --------------------------------------------------------------

    9.4.1.4. Konvertierungsfilter

   Nachdem Sie Ihren Drucker wie unter Einfache Drucker-Konfiguration
   eingerichtet haben, wollen Sie wahrscheinlich einige
   Konvertierungsfilter installieren, damit Sie (abgesehen von
   ASCII-Text) auch Ihre Lieblings-Dateiformate drucken ko:nnen.

     --------------------------------------------------------------

      9.4.1.4.1. Warum sollte ich einen Konvertierungsfilter
      installieren?

   Konvertierungsfilter erleichtern das Drucken von verschiedenen
   Dateiformaten. Nehmen wir beispielsweise an, dass Sie sehr viel
   mit dem TeX-Satzsystem arbeiten und u:ber einen PostScript-Drucker
   verfu:gen. Eine vom TeX-System erzeugte DVI-Datei kann erst dann
   gedruckt werden, nachdem diese nach PostScript konvertiert wurde.
   Dazu geben Sie Folgendes ein:

 % dvips seaweed-analysis.dvi
 % lpr seaweed-analysis.ps

   Haben Sie einen Konvertierungsfilter fu:r DVI-Dateien installiert,
   ko:nnen Sie die manuelle Konvertierung u:berspringen, da dies nun
   LPD fu:r Sie erledigt. Wollen Sie eine DVI-Datei drucken, geben
   Sie nur noch den folgenden Befehl ein:

 % lpr -d seaweed-analysis.dvi

   Durch die Verwendung der Option -d wurde LPD angewiesen, unsere
   DVI-Datei vor dem Druck zu konvertieren. Der Abschnitt
   Formatierungs- und Konvertierungsoptionen beschreibt die dabei
   mo:glichen Optionen.

   Fu:r jede Konvertierungsoption, die Ihr Drucker unterstu:tzen
   soll, mu:ssen Sie einen eigenen Konvertierungsfilter installieren
   und dessen Pfad in der Datei /etc/printcap angeben. Ein
   Konvertierungsfilter verha:lt sich im Prinzip wie ein Textfilter
   bei einer einfachen Druckerkonfiguration (lesen Sie dazu auch den
   Abschnitt Den Textfilter installieren), allerdings konvertiert er
   die Datei in ein Format, das Ihr Drucker versteht, anstatt
   normalen Text zu drucken.

     --------------------------------------------------------------

      9.4.1.4.2. Welche Konvertierungsfilter sollte ich installieren?

   Sie sollten nur Filter installieren, die Sie auch beno:tigen. Wenn
   Sie sehr viele DVI-Dateien drucken, sollten Sie auch einen
   DVI-Konvertierungsfilter installieren. Mu:ssen Sie viele
   troff-Daten drucken, ist ein troff-Filter hilfreich.

   Die folgende Tabelle listet die von LPD unterstu:tzten Filter
   sowie die Eintra:ge in /etc/printcap auf, mit denen Sie diese
   Fa:higkeiten aktivieren. Zusa:tzlich wird angegeben, wie Sie lpr
   jeweils aufrufen mu:ssen:

       Dateityp        /etc/printcap-Fa:higkeit       lpr-Option      
   cifplot           cf                           -c                  
   DVI               df                           -d                  
   plot              gf                           -g                  
   ditroff           nf                           -n                  
   FORTRAN-Text      rf                           -f                  
   troff             tf                           -f                  
   Rasterdaten       vf                           -v                  
   Normaler Text     if                           keine, -p, or -l    

   Wollen Sie also lpr -d verwenden, muss die df-Fa:higkeit in
   /etc/printcap aktiviert sein.

   Obwohl manche Leute etwas anderes behaupten, sind Formate wie
   FORTRAN-Text und -Plot inzwischen nahezu obsolet. Wenn Sie diese
   Formate dennoch beno:tigen, installieren Sie einfach einen
   angepassten Filter. Wollen Sie beispielsweise zwar
   Printerleaf-Dateien (also Dateien des Desktop Publishing-Programms
   von Interleaf), aber keine Plotdateien drucken, so ko:nnen Sie
   einen Printerleaf-Konvertierungsfilter installieren, der es durch
   die Aktivierung der gf-Fa:higkeit erlaubt, diese Dateien direkt zu
   drucken. Nun mu:ssen Sie Ihren Mitarbeitern nur noch mitteilen,
   dass lpr -g nun fu:r "drucke Printerleaf-Dateien" steht.

     --------------------------------------------------------------

      9.4.1.4.3. Konvertierungsfilter installieren

   Da Konvertierungsfilter nicht zum Basissystem von FreeBSD
   geho:ren, sollten diese unter /usr/local installiert werden.
   Ha:ufig wird das Verzeichnis /usr/local/libexec verwendet, da es
   sich bei Konvertierungsfiltern um spezielle Programme handelt, die
   nur von LPD, aber nicht von einem normalen Benutzer gestartet
   werden.

   Um einen Konvertierungsfilter zu aktivieren, mu:ssen Sie dessen
   Pfad zusa:tzlich zur beno:tigten Fa:higkeit in der Datei
   /etc/printcap eintragen.

   In unserem Beispiel wollen wir einen DVI-Konvertierungsfilter fu:r
   den Drucker bamboo installieren. Unsere bereits bekannte
   /etc/printcap wurde allerdings um die df-Fa:higkeit fu:r den
   Drucker bamboo erweitert.

 #
 #  /etc/printcap des Rechners rose - neuer df-Filter fu:r bamboo
 #
 rattan|line|diablo|lp|Diablo 630 Line Printer:\
         :sh:sd=/var/spool/lpd/rattan:\
         :lp=/dev/lpt0:\
         :if=/usr/local/libexec/if-simple:

 bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
         :sh:sd=/var/spool/lpd/bamboo:\
         :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:\
         :if=/usr/local/libexec/psif:\
         :df=/usr/local/libexec/psdf:

   Beim DVI-Filter handelt es sich um ein Shell-Skript namens
   /usr/local/libexec/psdf:

 #!/bin/sh
 #
 #  psdf - DVI-nach-PostScript Druckerfilter
 #  Installiert unter:  /usr/local/libexec/psdf
 #
 #  Wird von lpd aktiviert, wenn der Nutzer lpr -d eingibt.
 #
 exec /usr/local/bin/dvips -f | /usr/local/libexec/lprps "$@"

   Dieses Skript startet dvips im Filtermodus (durch das Argument -f
   wird der Druckauftrag u:ber die Standardeingabe entgegengenommen).
   Danach wird der PostScript-Druckerfilter lprps (lesen Sie dazu
   auch den Abschnitt Drucken von reinen Textdateien auf einem
   PostScript-Drucker) mit den von LPD u:bergebenen Argumenten
   gestartet. lprps wiederum nutzt diese Argumente, um die gedruckten
   Seiten zu verrechnen.

     --------------------------------------------------------------

      9.4.1.4.4. Beispiele fu:r Konvertierungsfilter

   Da es keine verbindliche Prozedur zur Installation eines
   Druckerfilters gibt, folgen nun weitere Beispiele. Verwenden Sie
   diese, um Ihre eigenen Filter zu erstellen. Falls ein Filter Ihren
   Anforderungen bereits entspricht, ko:nnen Sie ihn auch direkt
   verwenden.

   Das erste Beispiel beschreibt einen Konvertierungsfilter fu:r
   GIF-Dateien fu:r den Drucker LaserJet III-Si von Hewlett Packard:

 #!/bin/sh
 #
 #  hpvf - Konvertiert GIF-Dateien nach HP/PCL, danach wird gedruckt.
 #  Installiert unter:  /usr/local/libexec/hpvf

 PATH=/usr/X11R6/bin:$PATH; export PATH
 giftopnm | ppmtopgm | pgmtopbm | pbmtolj -resolution 300 \
     && exit 0 \
     || exit 2

   Dieser Filter konvertiert eine GIF-Datei in eine portable Anymap,
   diese in ein portables Graustufenbild, dieses wiederum in eine
   portable Bitmap, die schliesslich in ein LaserJet/PCL-kompatibles
   Format umgewandelt wird.

   /etc/printcap muss fu:r einen Drucker, der diesen Filter nutzen
   will, folgenden Eintrag enthalten:

 #
 #  /etc/printcap des Rechners orchid
 #
 teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
         :lp=/dev/lpt0:sh:sd=/var/spool/lpd/teak:mx#0:\
         :if=/usr/local/libexec/hpif:\
         :vf=/usr/local/libexec/hpvf:

   Das folgende Skript ist ein Konvertierungsfilter, der das Drucken
   von troff-Daten des groff-Textsatzsystems auf dem
   PostScript-Drucker bamboo ermo:glicht:

 #!/bin/sh
 #
 #  pstf - Konvertiert groff's troff-Daten nach PS, dann wird gedruckt.
 #  Installiert unter:  /usr/local/libexec/pstf
 #
 exec grops | /usr/local/libexec/lprps "$@"

   Dieses Skript nutzt wiederum lprps, um mit dem Drucker zu
   kommunizieren. Wa:re der Drucker an einem parallelen Port
   angeschlossen, wu:rde das Skript so aussehen:

 #!/bin/sh
 #
 #  pstf - Konvertiert groff's troff-Daten nach PS, danach wird gedruckt.
 #  Installiert unter:  /usr/local/libexec/pstf
 #
 exec grops

   Das ist alles. Um den Filter verwenden zu ko:nnen, mu:ssen Sie ihn
   allerdings noch in /etc/printcap aktivieren:

 :tf=/usr/local/libexec/pstf:

   Das na:chste Skript ist ein FORTRAN-Textfilter fu:r jeden Drucker,
   der normalen Text direkt drucken kann und der hier fu:r den
   Drucker teak installiert wird:

 #!/bin/sh
 #
 # hprf - FORTRAN-Textfilter fu:r den Drucker LaserJet 3si:
 # Installiert unter:  /usr/local/libexec/hprf
 #

 printf "\033&k2G" && fpr && printf "\033&l0H" &&
  exit 0
 exit 2   

   Zusa:tzlich beno:tigen wir wiederum einen Eintrag in
   /etc/printcap, um diesen Filter fu:r den Drucker teak zu
   aktivieren:

 :rf=/usr/local/libexec/hprf:

   Das letzte Beispiel ist etwas komplexer. Es soll ein DVI-Filter
   fu:r den bereits erwa:hnten LaserJet-Drucker teak installiert
   werden. Der erste Teil ist einfach: Sie mu:ssen den Pfad des
   DVI-Filters in /etc/printcap eintragen:

 :df=/usr/local/libexec/hpdf:

   Nun kommt der schwierige Teil: Sie mu:ssen den Filter
   funktionsfa:hig machen. Dazu beno:tigen Sie einen
   DVI-nach-LaserJet/PCL-Konverter. Glu:cklicherweise entha:lt die
   FreeBSD Ports-Sammlung mit dvi2xx ein solches Programm. Nach der
   Installation des Ports verfu:gen wir u:ber das Programm dvilj2p,
   das zur Konvertierung von DVI-Daten in zu den Druckern LaserJet
   IIp, LaserJet III, sowie LaserJet 2000 kompatible Codes beno:tigt
   wird.

   Durch den Einsatz von dvilj2p wird der Filter hpdf relativ
   komplex, da dvilj2p nicht von der Standardeingabe lesen kann,
   sondern als Eingabe einen Dateinamen erwartet. Zusa:tzlich muss
   der Dateiname auf .dvi enden, daher ist die Verwendung von
   /dev/fd/0 als Standardeingabe problematisch. Wir ko:nnen diese
   Problem aber umgehen, indem wir einen tempora:ren Dateinamen
   symbolisch nach /dev/fd/0 linken. Dadurch wird dvilj2p gezwungen,
   dennoch von der Standardeingabe zu lesen.

   Das letzte Problem, das wir noch lo:sen mu:ssen, ist, dass wir
   /tmp nicht als tempora:ren Link verwenden ko:nnen. Symbolische
   Links geho:ren dem User sowie der Gruppe bin. Der Filter la:uft
   aber als User daemon. Ausserdem ist /tmp durch ein Sticky-Bit
   gesichert. Daher kann der Filter den Link zwar erzeugen, ein
   Aufra:umen ist aber nicht mehr mo:glich, weil sich die Eigentu:mer
   des Filters und des tempora:ren Verzeichnisses unterscheiden.

   Daher legt der Filter den symbolischen Link im Arbeitsverzeichnis
   an, das gleichzeitig als Spooling-Verzeichnis dient (festgelegt
   durch die Aktivierung der sd-Fa:higkeit in /etc/printcap). Das
   Arbeitsverzeichnis ist ein idealer Ort fu:r den Filter,
   insbesondere da dieses (manchmal) sogar u:ber mehr freien
   Speicherplatz als /tmp verfu:gt.

   Mit diesen Informationen sind wir nun in der Lage, den Filter zu
   entwickeln:

 #!/bin/sh
 #
 #  hpdf - DVI-Daten auf einen HP/PCL-Drucker drucken
 #  Installiert unter:  /usr/local/libexec/hpdf

 PATH=/usr/local/bin:$PATH; export PATH

 #
 #  Eine Funktion zum Aufra:umen unserer tempora:ren Dateien.
 #  Diese finden sich im Arbeitsverzeichnis, das wir auch als
 #  Spooling-Verzeichnis fu:r unseren Drucker verwenden werden.
 #
 cleanup() {
    rm -f hpdf$$.dvi
 }

 #
 #  Eine Funktion, um fatale Fehler zu behandeln.  Dazu die Meldung
 #  ausgeben, danach ein exit 2.  Dadurch weiss LPD, dass es
 #  den Auftrag nicht noch einmal drucken soll.
 #
 fatal() {
     echo "$@" 1>&2
     cleanup
     exit 2
 }

 #
 #  Wenn ein Anwender den Auftrag entfernt, sendet LPD ein SIGINT, daher
 #  wollen wir SIGINT und einige andere Signale abfangen (trappen), um
 #  nach der Konvertierung aufra:umen zu ko:nnen.
 #
 trap cleanup 1 2 15

 #
 #  Bevor wir anfangen, ra:umen wir noch auf.  Sicher ist sicher.
 #
 cleanup

 #
 #  Die DVI-Eingabedatei auf die Standardeingabe linken (die zu druckende
 #  Datei).
 #
 ln -s /dev/fd/0 hpdf$$.dvi || fatal "Konnte Symlink nicht anlegen!"

 #
 #  Umwandeln: LF = CR+LF
 #
 printf "\033&k2G" || fatal "Konnte Drucker nicht initialisieren!"

 #
 #  Konvertieren und drucken.  Da der Ru:ckgabewert von dvilj2p
 #  unzuverla:ssig ist, ignorieren wir ihn einfach.
 #
 dvilj2p -M1 -q -e- dfhp$$.dvi

 #
 #  Aufra:umen und beenden.
 #
 cleanup
 exit 0   

     --------------------------------------------------------------

      9.4.1.4.5. Automatische Konvertierung: Eine Alternative zu
      Konvertierungsfiltern

   Alle in diesem Abschnitt besprochenen Konvertierungsfilter sind
   zwar sehr hilfreich, allerdings mu:ssen Sie nach wie vor bei jedem
   Aufruf von lpr(1) angeben, welchen Filter sie verwenden wollen,
   was mit der Zeit sicher nervend wird. Schlimmer ist allerdings,
   dass die Auswahl eines unpassenden Filters dazu fu:hren kann, dass
   Sie Hunderte Seiten Papier ausdrucken.

   Statt also Konvertierungsfilter zu installieren, ko:nnten Sie den
   Textfilter (der ohnehin der Standardfilter ist) verwenden, um den
   zu druckenden Dateityp zu erkennen und anschliessend den korrekten
   Konvertierungsfilter auszuwa:hlen. Um den Dateityp zu bestimmen,
   ko:nnen Sie beispielsweise file verwenden. Leider ist es bei
   einigen Dateitypen problematisch, diese zu unterscheiden. Daher
   ko:nnten Sie fu:r diese Dateitypen dennoch einen
   Konvertierungsfilter installieren.

   Die FreeBSD Ports-Sammlung entha:lt mit apsfilter einen
   Textfilter, der diese automatische Konvertierung durchfu:hren
   kann. Er ist in der Lage, normalen Text sowie PostScript- und
   DVI-Dateien zu erkennen, diese zu konvertieren und auf Ihren
   Drucker auszugeben.

     --------------------------------------------------------------

    9.4.1.5. Ausgabefilter

   LPD unterstu:tzt noch eine weitere Filterart, die sogenannten
   Ausgabefilter. Diese sind - analog zu einem Textfilter -  fu:r den
   Druck von normalem Text ausgelegt, allerdings verfu:gen sie im
   Vergleich zu diesen nur u:ber sehr eingeschra:nkte Fa:higkeiten.
   Wenn Sie einen Ausgabefilter (aber keinen Textfilter) verwenden,
   dann

     * startet LPD nur einen Ausgabefilter fu:r den kompletten
       Druckauftrag, statt fu:r jede Datei des Auftrags einen eigenen
       Filter zu starten.

     * ku:mmert sich LPD nicht darum, den Beginn oder das Ende einer
       Datei innerhalb des Druckauftrages zu finden.

     * u:bergibt LPD weder den Benutzer- noch den Rechnernamen
       desjenigen, der den Druckauftrag erteilt hat, an den
       Ausgabefilter, was eine Verrechnung von Druckauftra:gen
       unmo:glich macht. Ausgabefilter unterstu:tzen insgesamt nur
       zwei Argumente:

       filter-name -w width -l length

       width basiert auf der pw-Fa:higkeit, length hingegen auf der
       pl-Fa:higkeit des gewa:hlten Druckers.

   Lassen Sie sich von dieser angeblichen Einfachheit eines
   Ausgabefilters nicht ta:uschen. Ausgabefilter sind beispielsweise
   nicht dazu in der Lage, jede Datei eines Druckauftrages auf einer
   neuen Seite zu drucken. Dazu beno:tigen Sie einen Textfilter (die
   im Abschnitt Den Textfilter installieren beschrieben werden).
   Ausserdem sind Ausgabefilter in Wirklichkeit komplexer, da sie den
   gesendeten Bytestrom nicht nur auf Sonderzeichen hin untersuchen
   mu:ssen, sondern auch die U:bertragung von Signalen fu:r LPD
   u:bernehmen mu:ssen.

   Sie beno:tigen Ausgabefilter aber dann, wenn Sie Deckbla:tter
   drucken wollen, da dazu Escape-Sequenzen und
   Initialisierungsstrings erforderlich sind. (Es ist allerdings
   nicht mo:glich, den Druck dieser Deckbla:tter zu verrechnen, da
   LPD keine Benutzer- oder Rechnerinformationen an den Ausgabefilter
   u:bergibt.)

   LPD kann fu:r den gleichen Drucker sowohl Ausgabefilter als auch
   Textfilter verwenden. In solchen Fa:llen verwendet LPD den
   Ausgabefilter nur fu:r den Druck von Deckbla:ttern (die im
   Abschnitt Deckbla:tter na:her beschrieben werden). Nach dem Druck
   des Deckblattes erwartet LPD, dass sich der Ausgabefilter selbst
   beendet. Dazu werden zwei Bytes an den Ausgabefilter gesendet:
   ASCII 031, gefolgt von ASCII 001. Wenn ein Ausgabefilter diese
   zwei Bytes (031, 001) empfa:ngt, sendet er das Signal SIGSTOP an
   sich selbst. Nachdem LPD den Rest des Druckauftrages erledigt hat,
   wird der Ausgabefilter erneut gestartet, indem ein SIGCONT an den
   Ausgabefilter gesendet wird.

   Haben Sie nur einen Ausgabefilter, aber keinen Textfilter
   installiert, dann verwendet LPD den Ausgabefilter auch fu:r den
   Druck von normalem Text. Wie bereits erwa:hnt, werden dabei
   allerdings alle Dateien des Druckauftrags unmittelbar
   hintereinander gedruckt, Seitenumbru:che oder ein zusa:tzlicher
   Papiervorschub sind also nicht mo:glich. Da dieses Verhalten von
   Ihnen wahrscheinlich nicht gewu:nscht wird, werden Sie in fast
   allen Fa:llen einen zusa:tzlichen Textfilter beno:tigen.

   Der weiter oben beschriebene Textfilter lpf kann auch als
   Ausgabefilter verwendet werden. Wenn Sie nur einen
   funktionierenden Ausgabefilter beno:tigen, aber nicht den dafu:r
   beno:tigten Code (zur Zeichenerkennung und zum Senden von
   Signalen) schreiben wollen, sollten Sie sich lpf na:her ansehen.
   Sie ko:nnen lpf auch in ein Shell-Skript einbinden, um von Ihrem
   Drucker beno:tigte Initialisierungscodes zu verarbeiten.

     --------------------------------------------------------------

    9.4.1.6. lpf: Ein Textfilter

   Der Textfilter (Eingabefilter) /usr/libexec/lpr/lpf wird bereits
   mit FreeBSD geliefert. Er erlaubt das Einru:cken der Ausgabe
   (u:ber lpr -i), die U:bergabe von Zeichen-Literalen (u:ber lpr
   -l), das Anpassen der Druckposition bei gelo:schten Zeichen
   (Backspaces) oder Tabulatoren, sowie die Verrechnung gedruckter
   Seiten. Zusa:tzlich kann dieser Textfilter auch als Ausgabefilter
   arbeiten.

   lpf ist fu:r viele verschiedene Druckumgebungen geeignet. Zwar ist
   dieser Textfilter nicht in der Lage, Initialisierungssequenzen an
   einen Drucker zu senden, dieses Problem kann allerdings durch das
   Schreiben und Ausfu:hren eines Shell-Skripts (das diese Funktion
   u:bernimmt) und das anschliessende Aufrufen von lpf gelo:st
   werden.

   Damit Sie lpf fu:r die Verrechnung von Druckauftra:gen einsetzen
   ko:nnen, mu:ssen Sie die korrekten Werte fu:r die pw- und
   pl-Fa:higkeiten in /etc/printcap eintragen. lpf verwendet diese
   Werte, um festzustellen, wieviel Text auf eine Seite passt und
   wieviele Seiten im Druckauftrag enthalten sind. Weitere
   Informationen zur Verrechnung der Druckernutzung entha:lt der
   Abschnitt Die Druckernutzung verrechnen.

     --------------------------------------------------------------

  9.4.2. Deckbla:tter

   Wenn Sie viele Benutzer mit verschiedenen Druckern verwalten
   mu:ssen, sollten Sie Deckbla:tter als notwendiges U:bel
   akzeptieren.

   Deckbla:tter (manchmal auch als Bannerseiten oder burst pages
   bezeichnet) geben an, wem die Ausgabe eines Druckauftrags geho:rt.
   Sie werden normalerweise in grossen fetten Buchstaben gedruckt,
   manchmal sogar mit zusa:tzlicher Umrandung, damit man sie leichter
   von den tatsa:chlichen Seiten eines Druckauftrages unterscheiden
   kann. Der Nachteil von Deckbla:ttern ist allerdings, dass es sich
   dabei um eine zusa:tzliche zu druckende Seite handelt, die in der
   Regel bereits nach wenigen Minuten wieder im Papierkorb landet. Da
   aber fu:r jeden Druckauftrag nur ein einziges Deckblatt gedruckt
   wird, ist der Papierverbrauch in den meisten Fa:llen tolerierbar.

   Das LPD-System kann Deckbla:tter automatisch erzeugen, wenn Ihr
   Drucker normalen Text direkt drucken kann. Haben Sie hingegen
   einen PostScript-Drucker, beno:tigen Sie ein externes Programm, um
   die Deckbla:tter zu generieren (Lesen Sie dazu auch den Abschnitt
   Deckbla:tter auf PostScript-Druckern erzeugen.).

     --------------------------------------------------------------

    9.4.2.1. Deckbla:tter aktivieren

   Im Abschnitt Einfache Drucker-Konfiguration haben wir die Ausgabe
   von Deckbla:ttern durch die die Angabe der Option sh (suppress
   header) in /etc/printcap deaktiviert. Um die Ausgabe von
   Deckbla:ttern wieder zu aktivieren, mu:ssen Sie daher die
   sh-Fa:higkeit wieder entfernen.

   Das klingt zu einfach? Wo ist der Haken?

   Sie haben recht. Es ist mo:glich, dass Sie einen Ausgabefilter
   verwenden mu:ssen, um die no:tigen Initialisierungsstrings an den
   Drucker zu senden. Das folgende Beispiel beschreibt einen
   Ausgabefilter fu:r PCL-kompatible Drucker von Hewlett Packard:

 #!/bin/sh
 #
 #  hpof - Ausgabefilter fu:r PCL-kompatible Drucker von Hewlett Packard
 #  Installiert unter:  /usr/local/libexec/hpof

 printf "\033&k2G" || exit 2
 exec /usr/libexec/lpr/lpf

   Geben Sie den Pfad des Ausgabefilters u:ber die of-Fa:higkeit an.
   Weitere Informationen finden Sie im Abschnitt Ausgabefilter.

   Das na:chste Beispiel beschreibt die Datei /etc/printcap des
   bereits erwa:hnten Druckers teak. Allerdings sind nun die Ausgabe
   von Deckbla:ttern sowie der vorhin beschriebene Ausgabefilter
   enthalten:

 #
 #  /etc/printcap fu:r den Rechner orchid
 #
 teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
         :lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:\
         :if=/usr/local/libexec/hpif:\
         :vf=/usr/local/libexec/hpvf:\
         :of=/usr/local/libexec/hpof:

   Wenn ein Anwender nun einen Druckauftrag an den Drucker teak
   schickt, wird fu:r jeden Druckauftrag ein Deckblatt erstellt.
   Beno:tigt ein Anwender keine Deckbla:tter, kann er die Ausgabe
   dieser Seiten durch die Verwendung von lpr -h unterdru:cken.
   Weitere, fu:r die Ausgabe von Deckbla:ttern interessante
   lpr(1)-Optionen finden Sie im Abschnitt Deckblattoptionen.

     Anmerkung: LPD verwendet ein Form Feed, um das Deckblatt
     abzuschliessen. Wenn Ihr Drucker ein anderes Zeichen verwendet,
     um eine Seite auszuwerfen, geben Sie dieses u:ber die
     ff-Fa:higkeit in /etc/printcap an.

     --------------------------------------------------------------

    9.4.2.2. Deckbla:tter kontrollieren

   Haben Sie die Ausgabe von Deckbla:ttern aktiviert, gibt LPD eine
   ganze Seite in grossen Buchstaben aus, die den Anwender, den
   verwendeten Rechner sowie den Druckauftrag beschreiben. Das
   folgende Beispiel ist ein Deckblatt fu:r den Druckauftrag outline,
   der von kelly auf dem Rechner rose erstellt wurde:

       k                   ll       ll
       k                    l        l
       k                    l        l
       k   k     eeee       l        l     y    y
       k  k     e    e      l        l     y    y
       k k      eeeeee      l        l     y    y
       kk k     e           l        l     y    y
       k   k    e    e      l        l     y   yy
       k    k    eeee      lll      lll     yyy y
                                                y
                                           y    y
                                            yyyy


                                    ll
                           t         l        i
                           t         l
        oooo    u    u   ttttt       l       ii     n nnn     eeee
       o    o   u    u     t         l        i     nn   n   e    e
       o    o   u    u     t         l        i     n    n   eeeeee
       o    o   u    u     t         l        i     n    n   e
       o    o   u   uu     t  t      l        i     n    n   e    e
        oooo     uuu u      tt      lll      iii    n    n    eeee









       r rrr     oooo     ssss     eeee
       rr   r   o    o   s    s   e    e
       r        o    o    ss      eeeeee
       r        o    o      ss    e
       r        o    o   s    s   e    e
       r         oooo     ssss     eeee







                                               Job:  outline
                                               Date: Sun Sep 17 11:04:58 1995

   LPD fu:gt ein Form Feed an diesen Text an, damit der eigentliche
   Druckauftrag auf einer neuen Seite gestartet wird (es sei denn,
   Sie haben die sf-Fa:higkeit (suppress form feeds) des jeweiligen
   Druckers in /etc/printcap aktiviert).

   Wenn Sie dies wu:schen, kann LPD auch nur ein kurzes Deckblatt
   ausgeben. Dazu verwenden Sie die Option sb (short banner) in
   /etc/printcap. Dadurch erhalten Sie ein Deckblatt a:hnlich dem
   folgenden:

 rose:kelly  Job: outline  Date: Sun Sep 17 11:07:51 1995

   In der Voreinstellung druckt LPD zuerst das Deckblatt und danach
   den eigentlichen Druckauftrag. Um diese Reihenfolge umzukehren,
   geben Sie die Option hl (header last) in /etc/printcap ans.

     --------------------------------------------------------------

    9.4.2.3. Deckbla:tter verrechnen

   Wenn Sie die in LPD eingebaute Funktion zur Erstellung von
   Deckbla:ttern verwenden, werden Sie auf folgendes Paradigma
   stossen: Deckbla:tter mu:ssen kostenlos sein.

   Warum ist das so?

   Weil der Ausgabefilter das einzige externe Programm ist, das zum
   Zeitpunkt der Erstellung des Deckblatts eine Verrechnung
   durchfu:hren ko:nnte. Da Ausgabefilter aber weder u:ber Benutzer-
   noch u:ber Rechnerinformationen verfu:gen, ist es nicht mo:glich,
   einen Druckauftrag einem bestimmten Benutzer zuzuordnen. Da ein
   Benutzer die Ausgabe von Deckbla:ttern u:ber lpr -h unterdru:cken
   kann, ist es auch nicht mo:glich, die Vorgabe "verrechne eine
   zusa:tzliche Seite" in den Text- oder Konvertierungsfilter (die
   u:ber die zur Verrechnung no:tigen Benutzer- und
   Rechnerinformationen verfu:gen) aufzunehmen, weil Benutzer sonst
   fu:r Deckbla:tter bezahlen mu:ssten, die sie nicht gedruckt haben.

   Es ist ebenfalls nicht ausreichend, jeden Filter eigene
   Deckbla:tter erzeugen zu lassen (und sie dadurch verrechnen zu
   ko:nnen). Wollte ein Benutzer durch ein lpr -h die Ausgabe eines
   Deckblattes unterdru:cken, wu:rde dieses nun trotzdem verrechnet
   werden, da LPD keine Informationen u:ber die Verwendung der Option
   -h an einen Filter weitergibt.

   Welche Mo:glichkeiten habe ich nun?

   Sie ko:nnen:

     * Das Paradigma von LPD einfach akzeptieren und die Deckbla:tter
       gratis abgeben.

     * Eine alternatives Drucksystem wie LPRng installieren. Der
       Abschnitt Alternativen zum Standard-Drucksystem beschreibt
       verschiedene Drucksysteme, die LPD ersetzen ko:nnen.

     * Schreiben Sie einen intelligenten Ausgabefilter. Normalerweise
       ku:mmert sich ein Ausgabefilter nur um die Initialisierung des
       Druckers oder um eine einfache Zeichenkonvertierung. Ausserdem
       eignet er sich fu:r die Ausgabe von Deckbla:ttern und normalem
       Text, wenn Sie keinen Text- oder Eingabefilter installiert
       haben. Haben Sie allerdings einen Textfilter installiert,
       verwendet LPD Ausgabefilter nur fu:r die Ausgabe von
       Deckbla:ttern. Ein Ausgabefilter kann den Text des von LPD
       erzeugten Deckblattes untersuchen, um festzustellen, welcher
       Benutzer und welcher Rechner den Druckauftrag gestartet hat.
       Leider weiss der Ausgabefilter auch mit dieser Methode nicht,
       welche Datei er zur Verrechnung verwenden soll (da der Name
       dieser Datei durch die af-Fa:higkeit u:bergeben wird). Wenn
       Sie eine Standard-Verrechnungsdatei verwenden, ko:nnen Sie
       diese in den Ausgabefilter einbauen. Um den Text des
       Deckblattes zu untersuchen, verwenden Sie die sh-Fa:higkeit
       (short header) in /etc/printcap. Falls Ihnen das zuviel
       Aufwand ist, freuen sich Ihre Benutzer sicher daru:ber, wenn
       Sie ihnen den kostenlosen Druck von Deckbla:ttern erlauben.

     --------------------------------------------------------------

    9.4.2.4. Deckbla:tter auf PostScript-Druckern ausgeben

   In der Regel erzeugt LPD ein Deckblatt mit normalem Text, das fu:r
   viele verschiedene Drucker geeignet ist. Da PostScript-Drucker
   normalen Text aber nicht drucken ko:nnen, ist die LPD-Funktion zur
   Erstellung von Deckbla:ttern auf diesen Drucker relativ sinnlos.

   Es sei denn, jeder Text- und Konvertierungsfilter erzeugt u:ber
   den Benutzer- und Rechnernamen sein eigenes, fu:r den jeweiligen
   Drucker geeignetes Deckblatt. Das Problem dieser Methode ist
   allerdings, dass ein Anwender auch dann ein Deckblatt erha:lt,
   wenn er dies u:ber lpr -h verhindern wollte.

   Das folgende Skript beno:tigt drei Argumente (den Loginnamen des
   Benutzers, den Rechnernamen und den Namen des Druckauftrages), um
   daraus ein einfaches PostScript-Deckblatt zu erzeugen:

 #!/bin/sh
 #
 #  make-ps-header - ein PostScript-Deckblatt auf stdout ausgeben
 #  Installiert unter:  /sr/local/libexec/make-ps-header
 #

 #
 #  Die folgenden Werte sind PostScript-Einheiten (72 pro Zoll).
 #  Passen Sie diese Werte fu:r A4 oder die von Ihnen verwendete
 #  Papiergro:sse an:
 #
 page_width=612
 page_height=792
 border=72

 #
 #  Argumente pru:fen
 #
 if [ $# -ne 3 ]; then
     echo "Usage: `basename $0` <user> <host> <job>" 1>&2
     exit 1
 fi

 #
 #  Diese Werte in Variablen speichern, damit der PostScript-Code
 #  u:bersichtlicher wird.
 #
 user=$1
 host=$2
 job=$3
 date=`date`

 #
 #  Sende den PostScript-Code an stdout.
 #
 exec cat <<EOF
 %!PS

 %
 %  Sicherstellen, dass es keine unerwu:nschten Wechselwirkungen mit
 %  dem folgenden Druckauftrag gibt.
 %
 save

 %
 %  Ziehe eine fette Umrandung.
 %
 $border $border moveto
 $page_width $border 2 mul sub 0 rlineto
 0 $page_height $border 2 mul sub rlineto
 currentscreen 3 -1 roll pop 100 3 1 roll setscreen
 $border 2 mul $page_width sub 0 rlineto closepath
 0.8 setgray 10 setlinewidth stroke 0 setgray

 %
 %  Zeige den Benutzernamen gross und fett an.
 %
 /Helvetica-Bold findfont 64 scalefont setfont
 $page_width ($user) stringwidth pop sub 2 div $page_height 200 sub moveto
 ($user) show

 %
 %  Und nun zeige noch die Einzelheiten an.
 %
 /Helvetica findfont 14 scalefont setfont
 /y 200 def
 [ (Job:) (Host:) (Date:) ] {
 200 y moveto show /y y 18 sub def }
 forall

 /Helvetica-Bold findfont 14 scalefont setfont
 /y 200 def
 [ ($job) ($host) ($date) ] {
         270 y moveto show /y y 18 sub def
 } forall

 %
 % Das wars.
 %
 restore
 showpage
 EOF    

   Nun kann jeder Konvertierungs- oder Textfilter dieses Skript
   aufrufen, um zuerst das Deckblatt zu erzeugen und danach den
   Druckauftrag zu drucken. Das na:chste Beispiel entha:lt den
   bereits beschriebenen DVI-Konvertierungsfilter, der hier um die
   Funktion zur Erzeugung eines Deckblatts erweitert wurde:

 #!/bin/sh
 #
 #  psdf - DVI-nach-PostScript - Druckerfilter
 #  Installiert unter:  /usr/local/libexec/psdf
 #
 #  Wird von lpd aufgerufen, wenn der Benutzer lpr -d verwendet.
 #

 orig_args="$@"

 fail() {
     echo "$@" 1>&2
     exit 2
 }

 while getopts "x:y:n:h:" option; do
     case $option in
         x|y)  ;; # Ignore
         n)    login=$OPTARG ;;
         h)    host=$OPTARG ;;
         *)    echo "LPD started `basename $0` wrong." 1>&2
               exit 2
               ;;
     esac
 done

 [ "$login" ] || fail "No login name"
 [ "$host" ] || fail "No host name"

 ( /usr/local/libexec/make-ps-header $login $host "DVI File"
   /usr/local/bin/dvips -f ) | eval /usr/local/libexec/lprps $orig_args

   Beachten Sie, dass der Filter die Liste der Argumente u:berpru:ft,
   um den Benutzer- und den Rechnernamen zu ermitteln. Dieser Vorgang
   ist prinzipiell fu:r alle Filter identisch. Der Textfilter
   beno:tigt allerdings etwas andere Argumente, die im Abschnitt Die
   Funktionsweise von Filtern beschrieben werden.

   Wie bereits erwa:hnt, deaktiviert diese Methode leider die
   "suppress header page"-Option (also die Option -h) von lpr.
   Benutzer ko:nnen danach den Ausdruck eines Deckblattes nicht mehr
   verhindern, da der angepasste Filter zu jedem Druckauftrag
   automatisch ein Deckblatt erstellt.

   Damit ein Benutzer bei Bedarf den Ausdruck eines Deckblatts
   dennoch unterbinden kann, mu:ssen Sie auch hier den im Abschnitt
   Deckbla:tter verrechnen beschriebenen Trick einsetzen: Schreiben
   Sie einen Ausgabefilter, der das von LPD erzeugte Deckblatt
   untersucht und daraus eine PostScript-Version erzeugt. Wenn der
   Benutzer den Druckauftrag mit lpr -h verschickt, erzeugt LPD kein
   Deckblatt, was in weiterer Folge auch fu:r Ihren Ausgabefilter
   gilt. Soll hingegen ein Deckblatt erzeugt werden, liest der
   Ausgabefilter den von LPD u:bergebenen Text und erzeugt daraus ein
   fu:r Ihren PostScript-Drucker geeignetes Deckblatt.

   Haben Sie Ihren PostScript-Drucker u:ber eine serielle Verbindung
   angeschlossen, ko:nnen Sie auch lprps verwenden. In diesem Paket
   ist mit psof auch ein Ausgabefilter enthalten, der die eben
   beschriebenen Funktionen u:bernehmen kann. Beachten Sie aber, dass
   Sie mit psof keine Deckbla:tter verrechnen ko:nnen.

     --------------------------------------------------------------

  9.4.3. Drucken u:ber ein Netzwerk

   FreeBSD unterstu:tzt das Drucken u:ber ein Netzwerk, also den
   Versand von Druckauftra:gen an einen entfernten Drucker. Man
   unterscheidet dabei zwei Mo:glichkeiten:

     * Den Zugriff auf einen an einem entfernten Rechner
       angeschlossenen Drucker. Sie konfigurieren dabei auf Ihrem
       System einen Drucker, der u:ber eine konventionelle serielle
       oder parallele Verbindung an einem anderen Rechner
       angeschlossen ist. Danach richten Sie LPD auf dem entfernten
       System so ein, dass andere Drucker u:ber das Netzwerk auf
       diesen Drucker zugreifen ko:nnen. Der Abschnitt Auf entfernten
       Rechnern installierte Drucker beschreibt, wie Sie dazu
       vorgehen mu:ssen.

     * Den Zugriff auf einen direkt an ein Netzwerk angeschlossenen
       Drucker. Ein solcher Drucker verfu:gt anstelle (oder
       zusa:tzlich zu) einer parallelen oder seriellen Schnittstelle
       u:ber eine Netzwerkschnittstelle. Ein solcher Drucker kann
       sich auf zwei Arten verhalten:

          * Er kann das LPD-Protokoll direkt unterstu:tzen und sogar
            Druckjobs von entfernten Rechner verwalten. In diesem
            Fall verha:lt sich der Drucker wie ein normaler Rechner,
            auf dem LPD la:uft. Lesen Sie den Abschnitt Auf
            entfernten Rechnern installierte Drucker, um einen
            solchen Drucker einzurichten.

          * Er ko:nnte Verbindungen u:ber ein Netzwerk unterstu:tzen.
            In diesem Fall "verbinden" Sie den Drucker mit einem
            Rechner Ihres Netzwerks, der danach fu:r die Verwaltung
            von Druckauftra:gen sowie den tatsa:chlichen Druck
            verantwortlich ist. Der Abschnitt Drucker mit direkter
            TCP-Schnittstelle entha:lt Hinweise zur Installation
            derartiger Drucker.

     --------------------------------------------------------------

    9.4.3.1. Auf entfernten Rechnern installierte Drucker

   Das LPD-Drucksystem unterstu:tzt den Versand von Druckauftra:gen
   an andere Rechner, auf denen entweder LPD la:uft oder die zu LPD
   kompatibel sind. Dadurch ko:nnen Sie einen Drucker auf einem
   Rechner installieren und von anderen Rechnern des Netzwerks darauf
   zugreifen. Ausserdem werden Drucker mit direkter TCP-Schnittstelle
   unterstu:tzt, wenn diese das LPD-Protokoll unterstu:tzen.

   Um diese Art des Druckens u:ber ein Netzwerk zu aktivieren,
   installieren Sie zuerst Ihren Drucker auf einem Rechner Ihres
   Netzwerks, dem sogenannten printer host. Die dazu no:tigen
   Schritte werden im Abschnitt Einfache Drucker-Konfiguration
   beschrieben. Falls Sie eine erweiterte Druckerkonfiguration
   beno:tigen, sollten Sie auch den Abschnitt Erweiterte
   Drucker-Konfiguration lesen. Danach testen Sie, ob der Drucker
   alle von Ihnen aktivierten LPD-Fa:higkeiten unterstu:tzt. Stellen
   Sie auch sicher, dass Ihr lokales System berechtigt ist, den
   LPD-Dienst auf dem entfernten System zu nutzen (lesen Sie dazu den
   Abschnitt Druckauftra:ge auf entfernten Druckern beschra:nken).

   Wenn Sie einen Drucker mit einer zu LPD kompatiblen
   Netzwerkschnittstelle verwenden, handelt es sich beim printer host
   um den Drucker selbst, und der Druckername ist der von Ihnen fu:r
   diesen Drucker vorgegebene Name. Lesen Sie die Dokumentation Ihres
   Druckers und/oder der Netzwerkschnittstelle Ihres Druckers, um
   dies zu kla:ren.

     Tipp: Wenn Sie einen Hewlett Packard Laserjet-Drucker verwenden,
     sorgt der Druckername text fu:r eine automatische
     LF-zu-CRLF-Konvertierung. In diesem Fall wird das hpif-Skript
     nicht beno:tigt.

   Danach mu:ssen Sie auf jedem Rechner, der auf diesen Drucker
   zugreifen soll, einen entsprechenden Eintrag in deren
   /etc/printcap aufnehmen. Dazu werden folgende Informationen
   beno:tigt:

    1. Der Name des Eintrags. Entspricht in der Regel dem Eintrag auf
       dem printer host.

    2. Lassen Sie den Eintrag fu:r die lp-Fa:higkeit leer, schreiben
       Sie also :lp=:.

    3. Erzeugen Sie ein Spooling-Verzeichnis und geben Sie dessen
       Pfad u:ber die sd-Fa:higkeit an. LPD speichert Ihre
       Druckauftra:ge in diesem Verzeichnis, bevor sie an den Drucker
       geschickt werden.

    4. Geben Sie den Namen des printer hosts u:ber die rm-Fa:higkeit
       an.

    5. Geben Sie den Namen des Druckers (auf dem printer host) u:ber
       die rp-Fa:higkeit an.

   Das ist alles. Sie beno:tigen weder Konvertierungsfilter, noch
   Seitengro:ssen oder sonstige Angaben in Ihrer lokalen
   /etc/printcap.

   Dazu ein Beispiel. Der Rechner rose verfu:gt u:ber zwei Drucker,
   bamboo und rattan. Wir wollen nun allen Benutzern des Rechners
   orchid erlauben, diese Drucker zu verwenden. Es folgt nun wieder
   die bereits aus dem Abschnitt Deckbla:tter verwenden bekannte
   /etc/printcap fu:r den Rechner orchid. Diese enthielt bereits
   einen Eintrag fu:r den Drucker teak. Zusa:tzlich tragen wir nun
   die zwei Drucker des Rechners rose ein:

 #
 #  /etc/printcap fu:r den Rechner orchid - mit zusa:tzlichen
 #  Eintra:gen fu:r die (entfernten) Drucker auf dem Rechner rose
 #

 #
 #  teak ist ein lokaler Drucker und direkt mit orchid verbunden:
 #
 teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
         :lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:\
         :if=/usr/local/libexec/ifhp:\
         :vf=/usr/local/libexec/vfhp:\
         :of=/usr/local/libexec/ofhp:

 #
 #  rattan ist mit rose verbunden, Druckauftra:ge fu:r rattan gehen daher
 #  an den Rechner rose:
 #
 rattan|line|diablo|lp|Diablo 630 Line Printer:\
         :lp=:rm=rose:rp=rattan:sd=/var/spool/lpd/rattan:

 #
 #  bamboo ist ebenfalls mit rose verbunden:
 #
 bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
         :lp=:rm=rose:rp=bamboo:sd=/var/spool/lpd/bamboo:

   Nun mu:ssen wir nur noch die Spooling-Verzeichnisse auf dem
   Rechner orchid erzeugen:

 # mkdir -p /var/spool/lpd/rattan /var/spool/lpd/bamboo
 # chmod 770 /var/spool/lpd/rattan /var/spool/lpd/bamboo
 # chown daemon:daemon /var/spool/lpd/rattan /var/spool/lpd/bamboo

   Damit ko:nnen Benutzer des Rechners orchid die Drucker rattan und
   bamboo verwenden. Gibt ein Benutzer auf orchid beispielsweise

 % lpr -P bamboo -d sushi-review.dvi

   ein, wu:rde LPD auf dem Rechner orchid den Druckauftrag in das
   Spooling-Verzeichnis /var/spool/lpd/bamboo kopieren und
   feststellen, dass es sich um einen DVI-Auftrag handelt. Sobald
   rose u:ber genug freien Platz im bamboo-Spooling-Verzeichnis
   verfu:gt, wu:rden die beiden LPDs die Datei auf den Rechner rose
   transferieren. Diese Datei verbleibt danach in der
   Druckerwarteschlange des Rechners rose, bis der Ausdruck der Datei
   abgeschlossen ist. Vor dem Ausdruck wu:rde die Datei noch von DVI
   nach PostScript konvertiert werden, da es sich bei bamboo um einen
   an den Rechner rose angeschlossenen PostScript-Drucker handelt.

     --------------------------------------------------------------

    9.4.3.2. Drucker mit direkter TCP-Schnittstelle

   Wenn Sie eine Netzwerkkarte fu:r Ihren Drucker kaufen, ko:nnen Sie
   zwei verschiedene Versionen wa:hlen: Eine Version, die ein
   Drucksystem emuliert (die teure Version), oder eine Version, die
   sich verha:lt, als wa:re der Drucker an eine serielle oder
   parallele Schnittstelle angeschlossen (die billige Version).
   Dieser Abschnitt beschreibt die billige Variante. Bevorzugen Sie
   die teure Variante, sollten Sie den Abschnitt Auf entfernten
   Rechnern installierte Drucker nochmals lesen.

   Das Format der Datei /etc/printcap erlaubt es Ihnen, anzugeben,
   welche serielle oder parallele Schnittstelle verwendet werden soll
   und (falls Sie eine serielle Schnittstelle verwenden) welche
   Parameter (Baudrate, Flusskontrolle, Behandlung von Tabulatoren,
   Konvertierung von neuen Zeilen und andere mehr) Sie verwenden
   wollen. Es gibt allerdings keine Mo:glichkeit, eine Verbindung zu
   einem Drucker zu definieren, der einen TCP/IP- oder einem anderem
   Netzwerkport auf Druckauftra:ge hin abfragt.

   Um Daten an einen Netzwerkdrucker zu schicken, mu:ssen Sie daher
   ein Kommunikationsprogramm entwickeln, das von Text- und
   Konvertierungsfiltern aufgerufen werden kann. Dazu ein Beispiel.
   Das Skript netprint u:bernimmt alle Daten von der Standardeingabe
   und schickt sie an einen Netzwerkdrucker. netprint erwartet zwei
   Argumente: Als erstes Argument wird der Hostname des Druckers und
   als zweites Argument der Port, u:ber den die Verbindung erfolgen
   soll, u:bergeben. Dabei handelt sich allerdings um eine
   Ein-Wege-Kommunikation (von FreeBSD zum Drucker). Viele
   Netzwerkdrucker unterstu:tzen aber auch eine
   Zwei-Wege-Kommunikation, deren Vorteile (Abfrage des
   Druckerstatus, die Verrechnung von Druckauftra:gen und andere
   mehr) Sie vielleicht nutzen wollen.

 #!/usr/bin/perl
 #
 #  netprint - Textfilter fu:r einen Netzwerkdrucker
 #  Installiert unter:  /usr/local/libexec/netprint
 #
 $#ARGV eq 1 || die "Usage: $0 <printer-hostname> <port-number>";

 $printer_host = $ARGV[0];
 $printer_port = $ARGV[1];

 require 'sys/socket.ph';

 ($ignore, $ignore, $protocol) = getprotobyname('tcp');
 ($ignore, $ignore, $ignore, $ignore, $address)
     = gethostbyname($printer_host);

 $sockaddr = pack('S n a4 x8', &AF_INET, $printer_port, $address);

 socket(PRINTER, &PF_INET, &SOCK_STREAM, $protocol)
     || die "Can't create TCP/IP stream socket: $!";
 connect(PRINTER, $sockaddr) || die "Can't contact $printer_host: $!";
 while (<STDIN>) { print PRINTER; }
 exit 0;

   Dieses Skript kann fu:r verschiedene Filter eingesetzt werden. Das
   folgende Beispiel verwendet den an ein Netzwerk angeschlossenen
   Zeilendrucker Diablo 750-N. Dieser Drucker empfa:ngt zu druckende
   Daten auf dem Port 5100. Der Hostname des Druckers lautet
   scrivener. Daher sieht der Textfilter fu:r diesen Drucker wie
   folgt aus:

 #!/bin/sh
 #
 #  diablo-if-net - Textfilter fu:r den Diablo-Drucker `scrivener'.
 #  Drucker lauscht auf Port 5100.
 #  Installiert unter:  /usr/local/libexec/diablo-if-net
 #
 exec /usr/libexec/lpr/lpf "$@" | /usr/local/libexec/netprint scrivener 5100

     --------------------------------------------------------------

  9.4.4. Den Druckerzugriff beschra:nken

   Dieser Abschnitt beschreibt, wie Sie den Druckerzugriff
   beschra:nken ko:nnen. Das LPD-Drucksystem erlaubt Ihnen die
   Kontrolle daru:ber, wer lokal oder u:ber ein Netzwerk auf einen
   Drucker zugreifen darf, ob mehrere Kopien erstellt werden du:rfen
   und wie gross Druckauftra:ge und Druckerwarteschlangen werden
   du:rfen.

     --------------------------------------------------------------

    9.4.4.1. Den Ausdruck von mehreren Kopien verhindern

   Das LPD-System macht es dem einzelnen Benutzer einfach, mehrere
   Kopien einer Datei zu drucken. So werden mit lpr -#5
   beispielsweise fu:nf Kopien jeder Datei des Druckauftrags
   erstellt. Ob dies gut oder schlecht ist, mu:ssen Sie selbst
   entscheiden.

   Wenn Sie der Meinung sind, dass multiple Kopien eine unno:tige
   Beanspruchung Ihres Druckers darstellen, sollten Sie die -#-Opion
   von lpr(1) deaktivieren, indem Sie die sc-Fa:higkeit in Ihre
   /etc/printcap aufnehmen. Verwendet ein Benutzer dennoch die Option
   -#, erha:lt er daraufhin folgende Meldung:

 lpr: multiple copies are not allowed

   Wenn Sie den Zugriff auf einen entfernten Drucker (wie in
   Abschnitt Auf entfernten Rechnern installierte Drucker
   beschrieben) konfiguriert haben, mu:ssen Sie die sc-Fa:higkeit
   auch auf den entfernten Rechnern, die auf Ihren Drucker zugreifen
   du:rfen, in /etc/printcap eintragen, damit Benutzer diese Vorgabe
   nicht durch den Wechsel auf einen anderen Rechner umgehen ko:nnen.

   Dazu ein Beispiel. Es handelt sich dabei um die Datei
   /etc/printcap auf dem Rechner rose. Der Drucker rattan soll
   multiple Kopien zulassen, auf dem Laserdrucker bamboo sollen
   multiple Kopien hingegen nicht erlaubt sein, daher mu:ssen wir
   fu:r diesen Drucker die sc-Fa:higkeit aktivieren:

 #
 #  /etc/printcap fu:r den Rechner rose - multiple Kopien auf bamboo verbieten
 #
 rattan|line|diablo|lp|Diablo 630 Line Printer:\
         :sh:sd=/var/spool/lpd/rattan:\
         :lp=/dev/lpt0:\
         :if=/usr/local/libexec/if-simple:

 bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
         :sh:sd=/var/spool/lpd/bamboo:sc:\
         :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:\
         :if=/usr/local/libexec/psif:\
         :df=/usr/local/libexec/psdf:

   Ausserdem mu:ssen wir noch die sc-Fa:higkeit in der Datei
   /etc/printcap des Rechners orchid aktivieren. Parallel dazu
   untersagen wir das Erstellen von multiplen Kopien auf dem Drucker
   teak:

 #
 #  /etc/printcap fu:r den Rechner orchid - lokal machen wir keine multiplen Kopien
 #  Lokaler Drucker teak oder entfernter Drucker bamboo:
 teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
         :lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:sc:\
         :if=/usr/local/libexec/ifhp:\
         :vf=/usr/local/libexec/vfhp:\
         :of=/usr/local/libexec/ofhp:

 rattan|line|diablo|lp|Diablo 630 Line Printer:\
         :lp=:rm=rose:rp=rattan:sd=/var/spool/lpd/rattan:

 bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
         :lp=:rm=rose:rp=bamboo:sd=/var/spool/lpd/bamboo:sc:

   Durch die Verwendung der sc-Fa:higkeit ist zwar die Verwendung von
   lpr -# nicht mehr mo:glich, ein Benutzer kann aber weiterhin
   lpr(1) mehrmals hintereinander aufrufen oder eine Datei mehrfach
   in den gleichen Druckauftrag aufnehmen:

 % lpr forsale.sign forsale.sign forsale.sign forsale.sign forsale.sign

   Auch dieser Missbrauch Ihres Druckers kann verhindert werden,
   falls Sie dies wu:nschen. Diese Massnahmen werden in diesem
   Abschnitt allerdings nicht behandelt.

     --------------------------------------------------------------

    9.4.4.2. Den Zugriff auf bestimmte Drucker beschra:nken

   Sie ko:nnen angeben, wer auf welchem Drucker drucken darf, wenn
   Sie den Gruppenmechanismus von UNIX in Kombination mit der
   rg-Fa:higkeit von /etc/printcap einsetzen. Weisen Sie dazu alle
   Benutzer, die auf einen Drucker zugreifen du:rfen, einer
   gemeinsamen Gruppe zu und geben Sie diese Gruppe u:ber die
   rg-Fa:higkeit an.

   Benutzer, die dieser Gruppe nicht angeho:ren (dies gilt auch fu:r
   root), erhalten die Meldung "lpr: Not a member of the restricted
   group" wenn Sie diesen Drucker verwenden wollen.

   Analog zur sc-Fa:higkeit (suppress multiple copies) mu:ssen Sie
   die rg-Fa:higkeit auch auf allen entfernten Rechnern aktivieren,
   die auf Ihren Drucker zugreifen du:rfen (lesen Sie dazu auch den
   Abschnitt Auf entfernten Rechnern installierte Drucker).

   Wollen wir beispielsweise allen Benutzern die Verwendung des
   Druckers rattan, aber nur Mitgliedern der Gruppe artists die
   Verwendung des Druckers bamboo erlauben, passen wir die bereits
   bekannte /etc/printcap des Rechners rose entsprechend an:

 #
 #  /etc/printcap des Rechners rose - Zugriffsbeschra:nkung fu:r bamboo
 #
 rattan|line|diablo|lp|Diablo 630 Line Printer:\
         :sh:sd=/var/spool/lpd/rattan:\
         :lp=/dev/lpt0:\
         :if=/usr/local/libexec/if-simple:

 bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
         :sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:\
         :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:\
         :if=/usr/local/libexec/psif:\
         :df=/usr/local/libexec/psdf:

   Die Datei /etc/printcap des Rechners orchid wird dadurch nicht
   beeinflusst. Jeder Benutzer des Rechners orchid kann also
   weiterhin den Drucker bamboo verwenden.

     Anmerkung: Fu:r jeden Drucker kann nur eine einzige
     priviligierte Gruppe erstellt werden.

     --------------------------------------------------------------

    9.4.4.3. Die Gro:sse von Druckauftra:gen kontrollieren

   Wenn Sie viele Benutzer haben, die Ihre Drucker verwenden du:rfen,
   werden Sie wahrscheinlich eine Obergrenze fu:r Dateien angeben
   wollen, die Benutzer an Ihren Drucker senden du:rfen. Dies ist
   sinnvoll, weil Speicherplatz fu:r Spooling-Verzeichnisse nur
   begrenzt verfu:gbar ist und Sie stets sicherstellen mu:ssen, dass
   auch die Druckauftra:ge anderer Benutzer verarbeitet werden
   ko:nnen.

   LPD verwendet die mx-Fa:higkeit, um die maximal erlaubte Gro:sse
   von Dateien eines Druckauftrags anzugeben. Dieser Wert wird in
   1.024 Bytes grossen BUFSIZ-Blo:cken angegeben. Setzen Sie diesen
   Wert auf Null, gibt es keine Gro:ssenbeschra:nkung. Existiert die
   mx-Fa:higkeit hingegen u:berhaupt nicht, so gilt ein Limit von
   1.000 Blo:cken.

     Anmerkung: Diese Limits gelten nur fu:r die Gro:sse von Dateien
     innerhalb eines Druckauftrages, nicht aber fu:r die
     Gesamtgro:sse des Druckauftrags.

   LPD lehnt eine Datei auch dann nicht ab, wenn sie das Limit des
   Druckers u:berschreitet. Vielmehr wird die Datei bis zum Erreichen
   des Limits in die Warteschlange geladen, danach wird der Druck
   gestartet. Der das Limit u:berschreitende Rest wird hingegen
   verworfen und nicht gedruckt!

   Mit diesem Wissen ko:nnen wir nun Limits fu:r die Drucker rattan
   und bamboo definieren. Da PostScript-Dateien der Gruppe artists in
   der Regel sehr gross sind, setzen wir ein Limit von fu:nf
   Megabytes. Fu:r den Druck von normalen Text (auf dem Drucker
   rattan) setzen wir hingegen kein Limit:

 #
 #  /etc/printcap fu:r den Rechner rose
 #

 #
 #  Kein Gro:ssenlimit:
 #
 rattan|line|diablo|lp|Diablo 630 Line Printer:\
         :sh:mx#0:sd=/var/spool/lpd/rattan:\
         :lp=/dev/lpt0:\
         :if=/usr/local/libexec/if-simple:

 #
 #  Ein Limit von 5 Megabyte:
 #
 bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
         :sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:mx#5000:\
         :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:\
         :if=/usr/local/libexec/psif:\
         :df=/usr/local/libexec/psdf:

   Auch diese Limits gelten nur fu:r lokale Benutzer. Wenn Sie den
   Zugriff auf Ihren Drucker auch u:ber ein Netzwerk erlauben wollen,
   unterliegen die Benutzer dieser Rechner diesen Limits nicht. Daher
   mu:ssen Sie diese Limits u:ber die mx-Fa:higkeit auch in der
   /etc/printcap jedes Rechners definieren, der Ihren Drucker
   verwenden darf. Der Abschnitt Auf entfernten Rechnern installierte
   Drucker entha:lt weitere Informationen zum Drucken u:ber ein
   Netzwerk.

   Es gibt eine weitere Mo:glichkeit, um die Gro:sse von
   Druckauftra:gen von entfernten Rechnern zu beschra:nken. Lesen Sie
   dazu den Abschnitt Druckauftra:ge von entfernten Rechnern
   beschra:nken.

     --------------------------------------------------------------

    9.4.4.4. Druckauftra:ge von entfernten Rechnern beschra:nken

   Das LPD-System bietet mehrere Mo:glichkeiten, um Druckauftra:ge zu
   beschra:nken, die auf entfernten Rechnern gestartet wurden:

   Rechner beschra:nken

           Sie ko:nnen festlegen, von welchen entfernten Rechnern ein
           lokaler LPD Druckauftra:ge annimmt, indem Sie die Dateien
           /etc/hosts.equiv sowie /etc/hosts.lpd entsprechend
           anpassen. LPD u:berpru:ft diese Dateien, um festzustellen,
           ob ein Druckauftrag von einem Rechner stammt, der in einer
           dieser Dateien aufgefu:hrt ist. Ist dies nicht der Fall,
           lehnt LPD den Druckauftrag ab.

           Der Aufbau dieser Datei ist sehr einfach: Jede Zeile
           entha:lt einen einzigen Rechnernamen. Beachten Sie aber,
           dass /etc/hosts.equiv auch vom ruserok(3)-Protokoll
           beno:tigt wird und A:nderungen dieser Datei auch Programme
           wie rsh(1) und rcp(1) beeinflussen ko:nnen.

           Das folgende Beispiel beschreibt die Datei /etc/hosts.lpd
           auf dem Rechner rose:

 orchid
 violet
 madrigal.fishbaum.de

           Durch diese Vorgaben akzeptiert rose nur noch
           Druckauftra:ge von den Rechnern orchid, violet, und
           madrigal.fishbaum.de. Versucht ein anderer Rechner, auf
           den LPD von rose zuzugreifen, wird dieser Druckauftrag
           abgelehnt werden.

   Gro:ssenbeschra:nkungen

           Sie ko:nnen festlegen, wieviel Speicherplatz auf dem
           Dateisystem, in dem das Spooling-Verzeichnis liegt,
           mindestens frei sein muss. Dazu erzeugen Sie im
           Spooling-Verzeichnis Ihres lokalen Druckers die Datei
           minfree. In dieser Datei geben Sie an, wieviele 512 Byte
           grosse Blo:cke auf Ihrer Platte frei sein mu:ssen, damit
           ein Druckauftrag von einem entfernten Rechner akzeptiert
           wird.

           Durch diese Vorgabe ko:nnen Sie sicherstellen, dass
           Benutzer von entfernten Rechnern Ihr Dateisystem nicht
           "zumu:llen". Ausserdem ko:nnen Sie damit lokale Benutzer
           bevorzugen, da diese auch dann noch Druckauftra:ge
           erteilen du:rfen, wenn der verfu:gbare Plattenplatz unter
           das in der Datei minfree definierte Limit gefallen ist.

           Legen wir nun die Datei minfree fu:r den Drucker bamboo
           an. Zuerst untersuchen wir /etc/printcap, um das
           Spooling-Verzeichnis fu:r diesen Drucker zu finden. Das
           folgende Beispiel zeigt den Eintrag fu:r den Drucker
           bamboo:

 bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
         :sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:mx#5000:\
         :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:mx#5000:\
         :if=/usr/local/libexec/psif:\
         :df=/usr/local/libexec/psdf:

           Das Spooling-Verzeichnis wird u:ber die sd-Fa:higkeit
           festgelegt. Wir wollen, dass mindestens drei Megabyte
           (also 6144 Blo:cke) freier Plattenplatz vorhanden sein
           mu:ssen, damit LPD einen Druckauftrag von einem entfernten
           Rechner akzeptiert:

 # echo 6144 > /var/spool/lpd/bamboo/minfree

   Benutzer beschra:nken

           Sie ko:nnen auch festlegen, welche entfernten Benutzer
           Ihren lokalen Drucker verwenden du:rfen, indem Sie die
           rs-Fa:higkeit in /etc/printcap definieren. Wenn fu:r den
           Eintrag eines lokalen Druckers die rs-Fa:higkeit definiert
           ist, akzeptiert LPD Druckauftra:ge von entfernten Rechnern
           nur dann, wenn der Benutzer, der den Druckauftrag gesendet
           hat, auch u:ber ein gleichnamiges Benutzerkonto auf dem
           lokalen Rechner verfu:gt. Ist dies nicht der Fall, lehnt
           LPD den Druckauftrag ab.

           Diese Fa:higkeit ist besonders in Umgebungen nu:tzlich, in
           denen beispielsweise verschiedene Abteilungen ein
           gemeinsames Netzwerk teilen, wobei einige Benutzer zu
           mehreren Abteilungen geho:ren. Haben diese Benutzer auch
           ein Benutzerkonto auf Ihrem System, so ko:nnen sie Ihren
           Drucker auch von ihrer eigenen Abteilung aus nutzen.
           Wollen Sie zwar den Zugriff auf Ihren Drucker, nicht aber
           den Zugriff auf Ihre u:brigen Ressourcen erlauben, ko:nnen
           Sie fu:r diese Benutzer einen sogenannten "Token-Account"
           ohne Heimatverzeichnis und mit einer nutzlosen Shell wie
           /usr/bin/false erstellen.

     --------------------------------------------------------------

  9.4.5. Die Druckernutzung verrechnen

   Sie wollen die Nutzung Ihrer Drucker kostenpflichtig machen? Warum
   auch nicht? Papier und Tinte kosten Geld. Auch eine regelma:ssige
   Wartung muss bezahlt werden. Nachdem Sie einen Preis festgelegt
   haben, den Sie fu:r jede gedruckte Seite verrechnen wollen, stellt
   sich die Frage, wie Sie die Verrechnung der Druckkosten technisch
   umsetzen ko:nnen.

   Die schlechte Nachricht ist, dass das LPD-System dabei wenig
   hilfreich ist. Die Verrechnung von Druckauftra:gen ha:ngt stark
   vom verwendeten Drucker, den zu druckenden Dateiformaten und Ihren
   Anforderungen an die Verrechnung der Druckernutzung ab.

   Um die Verrechnung der Druckernutzung zu implementieren, mu:ssen
   Sie sowohl Ihre Textfilter (um den Druck von normalem Text
   abzurechnen) als auch Ihre Konvertierungsfilter (um den Druck
   sonstiger Formate abzurechnen) entsprechend anpassen, damit diese
   die Zahl der gedruckten Seiten ermitteln ko:nnen. Leider ko:nnen
   Sie dazu nicht einen einfachen Ausgabefilter verwenden, da diese
   die Verrechnung von Druckauftra:gen nicht unterstu:tzen. Weitere
   Informationen zu den verschiedenen Filterarten finden Sie im
   Abschnitt Filter.

   Prinzipiell gibt es zwei Mo:glichkeiten, wie Sie diese Verrechnung
   umsetzen ko:nnen:

     * Die periodische Verrechnung wird ha:ufiger verwendet, da sie
       einfacher zu implementieren ist. Wenn ein Druckauftrag
       ausgefu:hrt wird, schreibt der Filter den Benutzer, den
       verwendeten Rechner sowie die Anzahl der gedruckten Seiten in
       eine Verrechnungsdatei. Nach einem zu definierenden Zeitraum
       werden diese Dateien ausgewertet, die Gesamtzahl der von einem
       Benutzer gedruckten Seiten bestimmt und dem jeweiligen
       Benutzer verrechnet. Danach werden alle Protokolldateien
       zuru:ckgesetzt, und die Protokollierung beginnt von Neuem.

     * Die unmittelbare Verrechnung wird nur selten eingesetzt, das
       sie schwieriger zu implementieren ist. Bei dieser Methode wird
       der Druckauftrag verrechnet, sobald der Drucker verwendet
       wird. Dadurch ko:nnen Sie beispielsweise verhindern, dass ein
       Benutzer seine erlaubte "Druckquote" u:berschreitet.
       Zusa:tzlich ko:nnen Sie es Ihren Benutzern erlauben, deren
       Druckquote abzufragen oder anzupassen. Allerdings beno:tigen
       Sie eine Datenbank, um Benutzer und deren Quoten verwalten zu
       ko:nnen.

   Das LPD-Drucksystem unterstu:tzt beide Methoden. Allerdings
   mu:ssen Sie die beno:tigen Filter sowie den zur Verrechnung
   no:tigen Code selbst bereitstellen. Der Vorteil dabei ist
   allerdings, dass Sie in der Wahl Ihrer Verrechnungsmethode
   a:usserst flexibel sind. So ko:nnen Sie sich etwa fu:r die
   periodische oder die unmittelbare Verrechnung entscheiden. Sie
   ko:nnen festlegen, welche Informationen Sie erfassen wollen:
   Benutzernamen, Rechnernamen, die Art der Druckauftra:ge, die
   Anzahl der gedruckten Seiten, den Papierverbrauch, den Zeitaufwand
   fu:r die Bearbeitung eines Druckauftrages und viele andere mehr.
   Dazu mu:ssen Sie Ihre Filter entsprechend anpassen, damit diese
   Informationen erfassst und gespeichert werden.

     --------------------------------------------------------------

    9.4.5.1. Kurzanleitung fu:r die Implementierung der
    Druckerverrechnung

   FreeBSD bietet Ihnen zwei Programme, um eine periodische
   Verrechnung rasch zu implementieren. Dabei handelt es sich um den
   im Abschnitt lpf: Ein Textfilter behandelten Textfilter sowie um
   pac(8), ein Programm, mit dem Sie Eintra:ge aus
   Verrechnungsdateien auslesen und aufsummieren ko:nnen.

   Wie bereits im Abschnitt Filter erwa:hnt, startet LPD den Text-
   oder Konvertierungsfilter mit dem Namen der Verrechnungsdatei als
   Argument. Dadurch weiss der Filter, in welche Datei er einen
   Verrechnungseintrag schreiben soll. Der Name dieser Datei wird
   u:ber die af-Fa:higkeit in /etc/printcap festgelegt. Falls die
   Datei nicht u:ber einen absoluten Pfad angegeben wird, handelt es
   sich um einen Pfad relativ zum Spooling-Verzeichnis.

   LPD startet lpf mit den Argumenten page width und page length, die
   u:ber die pw- und pl-Fa:higkeit definiert werden. lpf verwendet
   diese Argumente danach, um den Papierverbrauch zu bestimmen.
   Nachdem die Datei an den Drucker geschickt wurde, wird ein
   Verrechnungseintrag in die Verrechnungsdatei geschrieben. Ein
   solcher Eintrag sieht dabei a:hnlich den folgenden aus:

 2.00 rose:andy
 3.00 rose:kelly
 3.00 orchid:mary
 5.00 orchid:mary
 2.00 orchid:zhang

   Sie sollten fu:r jeden Drucker eine eigene Verrechnungsdatei
   verwenden, da lpf die Verrechnungsdatei nicht sperren kann. Sind
   also gleichzeitig zwei lpf-Instanzen aktiv, kann es dazu kommen,
   dass Ihre Verrechnungsdatei zersto:rt wird, wenn beide Instanzen
   gleichzeitig in die gleiche Datei schreiben. Damit fu:r jeden
   Drucker eine eigene Verrechnungsdatei angelegt wird, fu:gen Sie
   den Eintrag af=acct in /etc/printcap ein. Dadurch wird fu:r jeden
   Drucker eine separate Verrechnungsdatei mit dem Namen acct im
   Spooling-Verzeichnis des jeweiligen Druckers erzeugt.

   Wenn Sie Ihre Daten erfasst haben und die entstandenen Kosten
   Ihren Benutzern verrechnen wollen, starten Sie pac(8). Dazu
   wechseln Sie in das Spooling-Verzeichnis des auszuwertenden
   Druckers und geben pac ein. Dadurch erhalten Sie eine Ausgabe
   a:hnlich der folgenden:

   Login               pages/feet   runs    price
 orchid:kelly                5.00    1   $  0.10
 orchid:mary                31.00    3   $  0.62
 orchid:zhang                9.00    1   $  0.18
 rose:andy                   2.00    1   $  0.04
 rose:kelly                177.00  104   $  3.54
 rose:mary                  87.00   32   $  1.74
 rose:root                  26.00   12   $  0.52

 total                     337.00  154   $  6.74

   Folgende Argumente ko:nnen an pac(8) u:bergeben werden:

   -PDrucker

           Gibt an, welcher Drucker ausgewertet werden soll. Diese
           Option setzt voraus, dass fu:r die af-Fa:higkeit in
           /etc/printcap ein absoluter Pfad angegeben wurde.

   -c

           Sortiert die Ausgabe nach den verursachten Kosten anstelle
           einer alphabetischen Sortierung der Benutzernamen.

   -m

           Ignoriert den Rechnernamen in Verrechnungsdateien. Ist
           diese Option gesetzt, ist der Benutzer smith auf dem
           Rechner alpha mit dem Benutzer smith auf dem Rechner gamma
           identisch. Ist diese Option nicht gesetzt, handelt es sich
           um unterschiedliche Benutzer.

   -pPreis

           Berechnet die entstandenen Kosten aus dem Preis in Dollar
           pro Seite statt aus dem u:ber die pc-Fa:higkeit in
           /etc/printcap definierten Preis. In der Voreinstellung
           sind dies zwei Cent pro Seite. Sie ko:nnen aber auch einen
           eigenen Preis in Form einer Gleitkommazahl angeben.

   -r

           Die Sortierreihenfolge umkehren.

   -s

           Die Verrechnungsdatei in einer neuen Datei aufsummieren
           und die originale Verrechnungsdatei zuru:cksetzen.

   name ...

           Verrechnungsinformationen nur fu:r die angegebenen
           Benutzernamen ausgeben.

   In der Voreinstellung gibt pac(8) aus, wieviele Seiten von welchem
   Benutzer auf welchem Rechner gedruckt wurden. Wenn Rechnernamen
   fu:r Sie uninteressant sind (weil sich Benutzer beispielsweise auf
   jedem Rechner anmelden ko:nnen), sollten Sie pac -m verwenden, um
   die folgende Ausgabe zu erhalten:

   Login               pages/feet   runs    price
 andy                        2.00    1   $  0.04
 kelly                     182.00  105   $  3.64
 mary                      118.00   35   $  2.36
 root                       26.00   12   $  0.52
 zhang                       9.00    1   $  0.18

 total                     337.00  154   $  6.74

   Um den zu verrechnenden Betrag zu ermitteln, verwendet pac(8) die
   pc-Fa:higkeit von /etc/printcap (Voreinstellung 200, dieser Wert
   entspricht 2 Cents). Geben Sie hier (als Hundertfaches des
   tatsa:chlichen Wertes) den Preis pro Seite an, den Sie verrechnen
   wollen. Sie ko:nnen diesen Wert u:berschreiben, wenn Sie pac(8)
   mit der Option -p ausfu:hren. Beachten Sie dabei aber, dass Sie in
   diesem Fall die Einheiten in Dollar angeben, und nicht als
   Hundertfaches des tatsa:chlichen Cent-Betrages. So steht

 # pac -p1.50

   beispielsweise fu:r einen Preis von einem Dollar und fu:nfzig Cent
   pro Seite.

   Der Aufruf von pac -s fu:hrt schliesslich dazu, dass die
   aufsummierten Informationen in einer eigenen Auswertedatei
   gespeichert werden. Diese hat den gleichen Namen wie die
   Verrechnungsdatei, es wird lediglich ein _sum an den Dateinamen
   angeha:ngt. Danach wird die Verrechnungsdatei zuru:ckgesetzt. Wenn
   Sie pac(8) erneut aufrufen, wird die Auswertedatei eingelesen, um
   die Startbetra:ge zu erhalten, alle weiteren Informationen stammen
   danach aus der normalen Verrechnungsdatei.

     --------------------------------------------------------------

    9.4.5.2. Wie kann man die Anzahl der gedruckten Seiten ermitteln?

   Um die Druckernutzung auch nur anna:hernd genau verrechnen zu
   ko:nnen, mu:ssen Sie ermitteln, wieviel Papier ein Druckauftrag
   verbraucht. Die Bestimmung dieses Wertes ist das zentrale Problem,
   das Sie lo:sen mu:ssen, wenn Sie Druckauftra:ge kostenpflichtig
   machen wollen.

   Normaler Text stellt in der Regel kein Problem dar: Sie za:hlen
   dazu nur die Zeilen des Druckauftrages und dividieren diesen Wert
   durch die Anzahl der Zeilen pro Seite, die Ihr Drucker bietet.
   Allerdings du:rfen Sie dabei nicht vergessen, dass gelo:schte
   Zeichen (Backspaces) Zeilen u:berschreiben. Ausserdem ko:nnen sich
   lange logische Zeilen (im Druckauftrag) u:ber mehrere
   physikalische Zeilen (am Ausdruck) erstrecken.

   Der im Abschnitt lpf: Ein Textfilter vorgestellte Textfilter lpf
   beru:cksichtigt diese Besonderheiten. Wenn Sie einen eigenen
   Textfilter fu:r die Verrechnung der Druckernutzung schreiben
   wollen, sollten Sie sich daher den Quellcode von lpf na:her
   ansehen.

   Aber was ist mit anderen Dateiformaten?

   Fu:r die DVI-nach-LaserJet- oder fu:r die
   DVI-nach-PostScript-Konvertierung ko:nnen Sie die Protokolldateien
   von dvilj oder dvips auslesen, um festzustellen, wieviele Seiten
   konvertiert wurden. Die gleiche Methode ko:nnte auch mit anderen
   Dateitypen funktionieren.

   Alle diese Methoden haben aber das Problem, dass ein Drucker
   mo:glicherweise nicht alle Seiten des Druckauftrages drucken kann.
   So ko:nnte es etwa zu einem Papierstau kommen, der Toner ko:nnte
   zu Ende gehen oder es ko:nnte ein Druckerdefekt
   auftreten - trotzdem wu:rden alle Seiten des Druckauftrages
   verrechnet werden.

   Was kann man dagegen tun?

   Es gibt nur eine einzige sichere Methode, um die Druckernutzung
   exakt zu bestimmen. Besorgen Sie sich einen Drucker, der das
   verbrauchte Papier protokolliert und verbinden Sie ihn u:ber eine
   serielle oder eine Netzwerkverbindung. Nahezu alle
   PostScript-Drucker, aber auch viele andere Modelle und
   Druckertypen (beispielsweise Laserdrucker von Imagen) sind dazu in
   der Lage. Passen Sie die Filter fu:r diese Drucker entsprechend
   an, damit diese nach jedem Druckauftrag die Anzahl der gedruckten
   Seiten ermitteln und verrechnen Sie Druckauftra:ge ausschliesslich
   u:ber diesen Wert. Danach mu:ssen Sie sich um die Anzahl der
   gedruckten Zeilen oder um mo:gliche Druckerprobleme nie mehr
   ku:mmern.

   Sie ko:nnen aber auch grosszu:gig sein und alle Ausdrucke
   kostenlos abgeben.

     --------------------------------------------------------------

9.5. Drucker verwenden

   U:bersetzt von Johann Kois.

   Dieser Abschnitt beschreibt, wie Sie einen unter FreeBSD
   konfigurierten Drucker verwenden ko:nnen. Die folgende Liste
   bietet einen U:berblick u:ber wichtige Anwenderbefehle:

   lpr(1)

           Einen Druckauftrag drucken

   lpq(1)

           Eine Druckerwarteschlange pru:fen

   lprm(1)

           Einen Druckauftrag aus einer Warteschlange entfernen
           (stornieren)

   Zusa:tzlich existiert mit lpc(8) ein Befehl zur zur Steuerung von
   Druckern und Druckerwarteschlangen, der im Abschnitt Drucker
   verwalten na:her beschrieben wird.

   Jeder der drei Befehle lpr(1), lprm(1), sowie lpq(1) akzeptiert
   die Option -P printer-name, mit der Sie den zu verwendenden
   Drucker (der dazu in /etc/printcap definiert sein muss) festlegen.
   Dadurch sind Sie in der Lage, Druckauftra:ge zu erstellen, zu
   stornieren, oder den Status Ihrer Druckauftra:ge zu u:berpru:fen.
   Verwenden Sie die Option -P nicht, wird der in der
   Umgebungsvariable PRINTER definierte Drucker verwendet. Existiert
   diese Variable nicht, greifen diese Befehle auf den Drucker lp
   zuru:ck.

   Im Folgenden steht der Begriff Standarddrucker daher fu:r den
   u:ber die Umgebungsvariable PRINTER definierten Drucker, oder,
   falls diese Variable nicht existiert, fu:r den Drucker lp.

     --------------------------------------------------------------

  9.5.1. Druckauftra:ge erstellen

   Um eine Datei zu drucken, geben Sie folgenden Befehl ein:

 % lpr filename ...

   Dadurch wird jede angegebene Datei an den Standarddrucker
   geschickt. Wenn Sie keine Datei angeben, liest lpr(1) die zu
   druckenden Daten von der Standardeingabe. Um beispielsweise einige
   wichtige Systemdateien zu drucken, geben Sie folgenden Befehl ein:

 % lpr /etc/host.conf /etc/hosts.equiv

   Um einen bestimmten Drucker auszuwa:hlen, verwenden Sie:

 % lpr -P printer-name filename ...

   Das folgende Beispiel gibt eine ausfu:hrliche Liste aller im
   Arbeitsverzeichnis enthaltenen Dateien auf den Drucker rattan aus:

 % ls -l | lpr -P rattan

   Da keine Dateien an lpr(1) u:bergeben werden, liest lpr die zu
   druckenden Daten von der Standardeingabe, in unserem Fall also die
   Ausgabe des Befehls ls -l.

   lpr(1) akzeptiert auch verschiedene Optionen zur Formatierung und
   Konvertierung von Dateien, zur Erzeugung von multiplen Ausdrucken
   und so weiter. Lesen Sie dazu den Abschnitt Druckoptionen.

     --------------------------------------------------------------

  9.5.2. Druckauftra:ge verwalten

   Wenn Sie lpr(1) verwenden, werden alle zu druckenden Daten in ein
   Paket, den sogenannten "Druckauftrag", gepackt und an LPD
   geschickt. Jeder Drucker verfu:gt u:ber eine Druckerwarteschlange,
   in der Ihre Druckauftra:ge gemeinsam mit denen anderer Benutzer
   verbleiben, bis sie gedruckt werden ko:nnen. Zuerst eintreffende
   Druckauftra:ge werden dabei auch zuerst gedruckt.

   Um die Druckerwarteschlange des Standarddruckers anzuzeigen,
   verwenden Sie lpq(1). Wollen Sie einen anderen Drucker abfragen,
   mu:ssen Sie die Option -P verwenden. Der Befehl

 % lpq -P bamboo

   zeigt so die Druckerwarteschlange des Druckers bamboo an. Dieser
   Befehl liefert eine Ausgabe a:hnlich der folgenden:

 bamboo is ready and printing
 Rank   Owner    Job  Files                              Total Size
 active kelly    9    /etc/host.conf, /etc/hosts.equiv   88 bytes
 2nd    kelly    10   (standard input)                   1635 bytes
 3rd    mary     11   ...                                78519 bytes

   Derzeit entha:lt die Warteschlange von bamboo drei Druckauftra:ge.
   Dem ersten Auftrag, der vom Benutzer kelly erstellt wurde, wurde
   die "Auftragsnummer (job number)" 9 zugewiesen. Analog erha:lt
   jeder Druckerauftrag eine eindeutige Nummer zugewiesen. Diese
   Nummern sind nur dann von Bedeutung, wenn Sie einen Druckauftrag
   stornieren wollen. Der Abschnitt Druckauftra:ge stornieren
   beschreibt, wie Sie dazu vorgehen.

   Der Auftrag mit der Nummer 9 besteht aus zwei Dateien, mehrere an
   lpr(1) u:bergebene Dateien werden also als Teil eines
   (gemeinsamen) Druckauftrags betrachtet. Dieser Druckauftrag ist
   derzeit aktiv (beachten Sie den Status active in der Spalte
   "Rank"), wird also gerade gedruckt. Der zweite Auftrag besteht aus
   Daten, die von der Standardeingabe an lpr(1) u:bergeben wurden.
   Der dritte Auftrag wurde vom Benutzer mary erstellt. Er ist sehr
   viel gro:sser als die anderen Auftra:ge. Da der Pfad der zu
   druckenden Datei aufgrund seiner La:nge nicht in der Spalte
   "Files" Platz hat, werden von lpq(1) nur drei Punkte angezeigt.

   Die erste Zeile der Ausgabe von lpq(1) ist ebenfalls sehr
   nu:tzlich: Sie beschreibt den momentanen Druckerstatus (oder
   zumindest, was LPD denkt, dass der Drucker gerade macht).

   lpq(1) unterstu:tzt auch die Option -l zur Erstellung einer
   ausfu:hrlicheren Ausgabe. Die Eingabe von lpq -l erzeugt fu:r
   unser obiges Beispiel die folgende Ausgabe:

 waiting for bamboo to become ready (offline ?)
 kelly: 1st                               [job 009rose]
        /etc/host.conf                    73 bytes
        /etc/hosts.equiv                  15 bytes

 kelly: 2nd                               [job 010rose]
        (standard input)                  1635 bytes

 mary: 3rd                                [job 011rose]
       /home/orchid/mary/research/venus/alpha-regio/mapping 78519 bytes

     --------------------------------------------------------------

  9.5.3. Druckauftra:ge stornieren

   Mit lprm(1) ko:nnen Sie einen Druckauftrag stornieren. Ha:ufig ist
   lprm(1) auch noch in der Lage, einen bereits aktiven Auftrag
   abzubrechen, allerdings wird dabei in der Regel trotzdem ein Teil
   des Auftrages oder der gesamte Auftrag gedruckt.

   Um einen Druckauftrag auf dem Standarddrucker zu stornieren,
   mu:ssen Sie zuerst die Auftragsnummer u:ber lpq(1) ermitteln.
   Danach geben Sie Folgendes ein:

 % lprm job-number

   Um einen Druckauftrag eines anderen Druckers zu stornieren,
   beno:tigen Sie wiederum die Option -P. Der folgende Befehl
   entfernt den Druckauftrag mit der Nummer 10 aus der Warteschlange
   des Druckers bamboo:

 % lprm -P bamboo 10

   lprm(1) unterstu:tzt verschiedene Kurzbefehle:

   lprm -

           Entfernt alle Druckauftra:ge (des Standarddruckers), die
           von Ihnen erstellt wurden.

   lprm user

           Entfernt alle Druckauftra:ge (des Standarddruckers), die
           vom Benutzer user erstellt wurden. Der Superuser kann im
           Gegensatz zu einem normalen Benutzer auch Auftra:ge
           anderer Benutzer entfernen.

   lprm

           Wenn Sie weder eine Auftragsnummer, einen Benutzernamen,
           noch die Option - angeben, entfernt lprm(1) den aktiven
           Druckauftrag auf dem Standarddrucker, falls dieser Auftrag
           von Ihnen erstellt wurde. Der Superuser kann hingegen
           jeden aktiven Druckauftrag abbrechen.

   Verwenden Sie zusa:tzlich die Option -P zu den eben beschriebenen
   Kurzbefehlen, wenn Sie diese auf einen anderen Drucker als den
   Standarddrucker anwenden wollen. So entfernt der folgende Befehl
   beispielsweise alle Druckauftra:ge des aktuellen Benutzers aus der
   Druckerwarteschlange des Druckers rattan:

 % lprm -P rattan -

     Anmerkung: Wenn Sie in einer Netzwerkumgebung arbeiten, erlaubt
     es lprm(1) Ihnen nur, Druckauftra:ge auf dem Rechner zu
     stornieren, auf dem sie erstellt wurden. Dies gilt selbst dann,
     wenn der gleiche Drucker auch auf anderen Rechnern des Netzwerks
     verfu:gbar ist. Die folgende Befehlsfolge veranschaulicht diesen
     Umstand:

 % lpr -P rattan myfile
 % rlogin orchid
 % lpq -P rattan
 Rank   Owner      Job  Files                          Total Size
 active seeyan     12    ...                           49123 bytes
 2nd    kelly      13   myfile                         12 bytes
 % lprm -P rattan 13
 rose: Permission denied
 % logout
 % lprm -P rattan 13
 dfA013rose dequeued
 cfA013rose dequeued
        

     --------------------------------------------------------------

  9.5.4. Abseits von normalem Text: Druckoptionen

   lpr(1) unterstu:tzt verschiedene Optionen zur Formatierung von
   Text, zur Konvertierung von Grafik- und anderen Dateiformaten, zur
   Erzeugung von multiplen Kopien, zur Verwaltung von Druckauftra:gen
   und andere mehr. Dieser Abschnitt beschreibt einige dieser
   Optionen.

     --------------------------------------------------------------

    9.5.4.1. Formatierungs- und Konvertierungsoptionen

   Die folgenden lpr(1)-Optionen kontrollieren die Formatierung von
   in einem Druckauftrag enthaltenen Dateien. Verwenden Sie diese
   Optionen, wenn Ihr Druckauftrag keinen normalen Text entha:lt,
   oder wenn Sie normalen Text mit pr(1) formatieren wollen.

   Der folgende Befehl druckt so beispielsweise eine DVI-Datei (des
   TeX-Satzsystems) namens fish-report.dvi auf dem Drucker bamboo:

 % lpr -P bamboo -d fish-report.dvi

   Diese Optionen gelten fu:r jede Datei des Druckauftrags, daher ist
   es nicht mo:glich beispielsweise DVI- und ditroff-Dateien u:ber
   den gleichen Druckauftrag zu drucken. Sie mu:ssen diese Dateien
   vielmehr u:ber getrennte Druckauftra:ge drucken, wobei Sie jeweils
   geeignete Konvertierungsoptionen verwenden.

     Anmerkung: Alle Optionen mit Ausnahme von -p und -T setzen einen
     installierten und fu:r den jeweiligen Drucker konfigurierten
     Konvertierungsfilter voraus. So beno:tigt die Option -d den
     DVI-Konvertierungsfilter. Diese Filter werden im Abschnitt
     Konvertierungsfilter ausfu:hrlich beschrieben.

   -c

           Druckt cifplot-Dateien.

   -d

           Druckt DVI-Dateien.

   -f

           Druckt FORTRAN-Textdateien.

   -g

           Druckt Plot-Daten.

   -i anzahl

           Ru:ckt die Ausgabe um anzahl Spalten ein, lassen Sie
           anzahl weg, wird der Text um 8 Spalten eingeru:ckt.
           Beachten Sie aber, dass diese Option nicht mit allen
           Konvertierungsfiltern funktioniert.

             Anmerkung: Zwischen der Option -i und der der Zahl darf
             dabei kein Leerzeichen stehen.

   -l

           Druckt Text inklusive vorhandener Steuerzeichen.

   -n

           Druckt ditroff-Dateien (gera:teunabha:ngiges troff).

   -p

           Formatiert normalen Text mit pr(1), bevor der Ausdruck
           erfolgt.

   -T titel

           Verwende titel auf dem pr(1)-Deckblatt anstelle des
           Dateinamens. Diese Option ist nur wirksam, wenn sie
           gemeinsam mit der Option -p verwendet.

   -t

           Druckt troff-Daten.

   -v

           Druckt Rasterdaten.

   Dazu ein Beispiel. Der folgende Befehl druckt eine formatierte
   Version der Manualpage zu ls(1) auf den Standarddrucker:

 % zcat /usr/share/man/man1/ls.1.gz | troff -t -man | lpr -t

   zcat(1) dekomprimiert den Quellcode der Manualpage ls(1) und
   reicht ihn an troff(1) weiter, das ihn formatiert und daraus GNU
   troff-Daten erzeugt. Diese werden wiederum an lpr(1)
   weitergereicht, das den Druckauftrag schliesslich an LPD
   u:bergibt. Da die Option -t von lpr(1) verwendet wurde,
   konvertiert das Drucksystem die GNU troff-Daten zuvor in ein
   Format, das der Standarddrucker verstehen und ausgeben kann.

     --------------------------------------------------------------

    9.5.4.2. Druckauftra:ge verwalten

   Die folgenden Optionen von lpr(1) weisen LPD an, den Druckauftrag
   auf verschiedene Art und Weise zu behandeln:

   -# anzahl

           Erzeugt anzahl Ausdrucke jeder im Druckauftrag enthaltenen
           Datei anstelle eines einzigen Exemplars. Diese Option kann
           von einem Administrator deaktiviert werden, um die
           Beanspruchung des Druckers zu verringern. Lesen Sie den
           Abschnitt Den Ausdruck von mehreren Kopien verhindern,
           wenn Sie diese Funktion beno:tigen.

           Das folgende Beispiel druckt drei Kopien der Datei
           parser.c, gefolgt von drei Kopien von parser.h auf den
           Standarddrucker:

 % lpr -#3 parser.c parser.h

   -m

           Verschickt eine E-Mail, nachdem der Druckauftrag beendet
           wurde. Verwenden Sie diese Option, sendet LPD Ihnen eine
           E-Mail, wenn es die Bearbeitung Ihres Druckauftrages
           abgeschlossen hat. Diese Nachricht entha:lt Informationen
           daru:ber, ob Ihr Auftrag erfolgreich erledigt wurde oder
           ob ein Fehler auftrat. Ist dies der Fall, wird meist noch
           angegeben, welcher Fehler auftrat.

   -s

           Kopiert die Dateien nicht in das Spooling-Verzeichnis,
           sondern verlinkt stattdessen symbolisch auf diese Dateien.

           Wenn Sie einen umfangreichen Druckauftrag erstellen,
           werden Sie diese Option wahrscheinlich verwenden wollen.
           Einerseits sparen Sie dadurch Speicherplatz im
           Spooling-Verzeichnis (im schlimmsten Fall ko:nnte Ihr
           Druckauftrag ansonsten das Dateisystem des
           Spooling-Verzeichnis zum U:berlaufen bringen),
           andererseits sparen Sie dadurch auch Zeit, weil LPD die in
           Ihrem Druckauftrag enthaltenen Dateien nicht in das
           Spooling-Verzeichnis kopieren muss.

           Da LPD in diesem Fall die Originaldateien verwendet, muss
           sichergestellt sein, dass diese nicht vera:ndert werden,
           bevor der Ausdruck abgeschlossen ist.

             Anmerkung: Wenn Sie auf einen entfernten Drucker
             drucken, muss LPD die Dateien dennoch vom lokalen auf
             den entfernten Rechner kopieren. In diesem Fall spart
             die Option -s Speicherplatz lediglich im lokalen
             Spooling-Verzeichnis, nicht aber im entfernten. Dennoch
             ist diese Option auch in diesem Fall nu:tzlich.

   -r

           Lo:scht die im Druckauftrag enthaltenen Dateien, nachdem
           sie in das Spooling-Verzeichnis kopiert oder unter
           Verwendung der Option -s gedruckt werden. Verwenden Sie
           diese Option daher nur mit a:usserster Vorsicht!

     --------------------------------------------------------------

    9.5.4.3. Deckblatt-Optionen

   Die folgenden lpr(1)-Optionen passen den Text an, der auf einem
   Deckblatt eines Druckauftrages ausgegeben wird. Wird die Ausgabe
   von Deckbla:ttern auf dem Zieldrucker unterdru:ckt, bleiben diese
   Optionen wirkungslos. Lesen Sie den Abschnitt Deckbla:tter, wenn
   Sie diese Funktion beno:tigen.

   -C text

           Ersetzt den Rechnernamen auf dem Deckblatt durch text. Der
           Rechnername ist dabei in der Regel der Name des Rechners,
           auf dem der Druckauftrag erstellt wurde.

   -J text

           Ersetzt den Namen des Druckauftrages auf dem Deckblatt
           durch text. Der Name des Druckauftrages entspricht in der
           Regel dem Namen der ersten Datei des Druckauftrages oder
           stdin, wenn Sie die Standardeingabe an den Drucker
           weiterleiten.

   -h

           Verhindert den Ausdruck von Deckbla:ttern.

             Anmerkung: Ob diese Option funktioniert, ha:ngt von der
             Art und Weise ab, wie Deckbla:tter auf Ihrem System
             erzeugt werden. Lesen Sie den Abschnitt Deckbla:tter
             fu:r weitere Informationen.

     --------------------------------------------------------------

  9.5.5. Drucker verwalten

   Als Administrator Ihres Systems ist es Ihre Aufgabe, Drucker zu
   installieren, zu konfigurieren und zu testen. Um mit Ihrem Drucker
   zu kommunizieren, ko:nnen Sie lpc(8) verwenden. Dadurch sind Sie
   in der Lage,

     * Ihre Drucker zu starten und zu beenden.

     * Die Warteschlangen Ihrer Drucker zu aktivieren und zu
       deaktivieren.

     * Die Reihenfolge der Druckauftra:ge zu a:ndern.

   Am Anfang dieses Abschnitts steht die Erkla:rung einiger Begriffe.
   Wenn ein Drucker beendet ist, wird der Inhalt seiner Warteschlange
   nicht gedruckt. Druckauftra:ge ko:nnen zwar weiterhin erstellt
   werden, diese verbleiben aber solange in der Warteschlange, bis
   der Drucker wieder gestartet oder die Warteschlange gelo:scht
   wird.

   Ist eine Warteschlange deaktiviert, kann (mit Ausnahme von root)
   kein Benutzer mehr einen Druckauftrag erteilen. Ist die
   Warteschlange hingegen aktiviert, ko:nnen Druckauftra:ge erteilt
   werden. Ist ein Drucker zwar gestartet, die Warteschlange hingegen
   deaktiviert, werden dennoch alle noch in der Warteschlange
   vorhandenen Druckauftra:ge gedruckt.

   Im Allgemeinen beno:tigen Sie root-Rechte, um lpc(8) einsetzen zu
   ko:nnen. Als normaler Benutzer erlaubt es Ihnen lpc(8) lediglich,
   den Druckstatus abzufragen und einen ha:ngenden Drucker neu zu
   starten.

   Es folgt nun eine Zusammenfassung der Befehle von lpc(8). Die
   meisten dieser Befehle beno:tigen das Argument printer-name, mit
   dem Sie angeben, auf welchen Drucker der Befehl angewendet werden
   soll. Wenn Sie fu:r printer-name all angeben, wird der Befehl auf
   alle in /etc/printcap definierten Drucker angewendet.

   abort printer-name

           Bricht den aktuellen Druckauftrag ab und beendet den
           Drucker. Solange die Warteschlange aktiviert ist, ko:nnen
           allerdings weiterhin Druckauftra:ge erteilt werden.

   clean printer-name

           Entfernt veraltete Dateien aus dem Spooling-Verzeichnis
           des Druckers, da diese manchmal nicht vollsta:ndig von LPD
           entfernt werden ko:nnen. Dies ist insbesondere dann der
           Fall, wenn wa:hrend der Bearbeitung des Druckauftrages
           Fehler auftraten. Dieser Befehl sucht dabei nach Dateien,
           die nicht in das Spooling-Verzeichnis geho:ren und
           entfernt diese.

   disable printer-name

           Deaktiviert die Annahme neuer Druckauftra:ge. Solange der
           Drucker nicht beendet wird, werden weiterhin alle in der
           Warteschlange enthaltenen Auftrage bearbeitet und
           gedruckt. root kann jederzeit Druckauftra:ge erstellen,
           selbst dann, wenn die Druckerwarteschlange deaktiviert
           ist.

           Dieser Befehl ist besonders nu:tzlich, wenn Sie einen
           neuen Drucker testen mu:ssen oder einen neuen Filter
           installiert haben. Dazu deaktivieren Sie die Warteschlange
           des Druckers und erstellen Ihre Druckauftra:ge als root.
           Andere Benutzer ko:nnen erst dann einen Druckauftrag
           erstellen, wenn Sie Ihre Tests abgeschlossen haben und die
           Druckerwarteschlange mit enable wieder reaktivieren.

   down printer-name nachricht

           Beendet einen Drucker. A:quivalent zu disable, gefolgt von
           stop. Die von Ihnen definierte nachricht wird als
           Druckerstatus angezeigt, wenn ein Benutzer die
           Warteschlange des Druckers mit lpq(1) oder mit lpc status
           abfragt.

   enable printer-name

           Aktiviert die Warteschlange eines Druckers. Erteilte
           Druckauftra:ge ko:nnen zwar erteilt werden, diese werden
           aber nur dann gedruckt, wenn der Drucker auch gestartet
           ist.

   help command-name

           Ausgaben von hilfreichen Informationen zu command-name.
           Wird kein command-name angegeben, wird die Liste der
           verfu:gbaren Befehle ausgegeben.

   restart printer-name

           Startet den Drucker. Normale Benutzer ko:nnen diesen
           Befehl verwenden, um einen ha:ngenden LPD zu reaktivieren,
           sie sind allerdings nicht berechtigt, einen Drucker zu
           starten, der mit stop oder down beendet wurde. Dieser
           Befehl ist a:quivalent zu abort, gefolgt von start.

   start printer-name

           Startet den Drucker, um die in der Warteschlange
           enthaltenen Auftra:ge zu drucken.

   stop printer-name

           Beendet den Drucker. Der Drucker beendet den aktiven
           Druckauftrag noch, danach wird kein weiterer in der
           Warteschlange enthaltener Auftrag gedruckt. Obwohl der
           Drucker beendet wurde, ko:nnen weiterhin Druckauftra:ge
           erteilt werden, solange die Warteschlange nicht
           deaktiviert wurde.

   topq printer-name job-or-username

           Sortiert die Druckerwarteschlange des Druckers
           printer-name um, wobei der Auftrag mit der angegebenen
           Auftragsnummer, oder Druckauftra:ge, die von username
           erstellt wurden, an den Beginn der Warteschlange gesetzt
           werden. Fu:r diesen Befehl kann die Option all nicht als
           printer-name verwendet werden.

   up printer-name

           Startet einen Drucker. Das Gegenstu:ck zu down.
           A:quivalent zu start, gefolgt von enable.

   lpc(8) akzeptiert diese Befehle direkt auf der Kommandozeile.
   Geben Sie keinen Befehl ein, wird lpc(8) im interaktiven Modus
   gestartet. In diesem Modus ko:nnen Sie solange Befehle eingeben,
   bis Sie exit oder quit eingeben.

     --------------------------------------------------------------

9.6. Alternativen zum LPD-Drucksystem

   Wenn Sie dieses Kapitel bis hierher gelesen haben, wissen Sie so
   gut wie alles u:ber LPD, das Standarddrucksystem von FreeBSD.
   Wahrscheinlich sind Ihnen bereits einige Unzula:nglichkeiten
   dieses Systems aufgefallen, und Sie fragen sich nun, welche
   anderen Drucksysteme es fu:r FreeBSD gibt.

   LPRng

           LPRng steht fu:r "LPR: the Next Generation". Dabei handelt
           es sich um eine von Grund auf neu geschriebene Version von
           PLP. LPRng wurde von Patrick Powell und Justin Mason, dem
           Hauptmaintainer von PLP, entwickelt . Die offizielle
           Webseite von LPRng ist unter http://www.lprng.org/ zu
           finden.

   CUPS

           CUPS, das Common UNIX Printing System, stellt eine
           portable Abstraktionsschicht dar, die das Drucken auf
           allen UNIX-artigen Betriebsystemen ermo:glicht. CUPS wurde
           von Easy Software entwickelt, um UNIX-Herstellern und
           -Benutzern eine einheitliche Standardlo:sung fu:r den
           Druck von Dokumenten zu bieten.

           CUPS verwendet das Internet Printing Protocol (IPP), um
           Druckauftra:ge und -warteschlangen zu verwalten.
           Zusa:tzlich werden die Protokolle Line Printer Daemon
           (LPD), Server Message Block (SMB), und
           AppSocket/JetDirect), unterstu:tzt, wenn auch nur mit
           eingeschra:nkter Funktionalita:t. Ausserdem ermo:glicht
           CUPS das Auffinden von Netzwerkdruckern sowie die
           Verwendung auf PostScript Printer Description (PPD)
           basierender Druckoptionen.

           Die offizielle Webseite von CUPS ist http://www.cups.org/.

     --------------------------------------------------------------

9.7. Problembehandlung

   Wenn Sie eine einfache Testseite mit lptest(1) gedruckt haben,
   ko:nnte eines der folgenden Probleme aufgetreten sein:

   Der Druck hat erst mit einer gewissen Verzo:gerung geklappt oder
   das bedruckte Blatt verblieb im Drucker, so als wa:re der
   Druckvorgang noch nicht abgeschlossen.

           Die Testseite wurde zwar gedruckt, danach tat sich
           allerdings nichts mehr. Vielleicht mussten Sie sogar eine
           Taste Ihres Druckers, etwa PRINT REMAINING oder FORM FEED
           dru:cken, damit der Druckvorgang fortgesetzt wurde.

           Wenn das der Fall ist, hat der Drucker vermutlich vor dem
           eigentlichen Drucken gewartet, ob noch weitere Daten fu:r
           Ihren Druckauftrag gesendet werden. Um dieses Problem zu
           beheben, ko:nnen Sie den Textfilter anweisen, ein Form
           Feed -Zeichen (oder ein anderes entsprechendes Zeichen) an
           den Drucker zu senden. Dies reicht fu:r gewo:hnlich aus,
           um den Drucker zum Druck des noch im internen Puffer
           verbliebenen Textes zu bewegen. Dadurch kann auch
           sichergestellt werden, dass jeder neue Druckauftrag auf
           einer neuen Seite beginnt.

           Der folgende Ersatz fu:r das Shell-Skript
           /usr/local/libexec/if-simple gibt ein "Form Feed" aus,
           nachdem der Auftrag an den Drucker geschickt wurde:

 #!/bin/sh
 #
 # if-simple - Einfacher Eingabefilter fu:r lpd
 # Installiert unter /usr/local/libexec/if-simple
 #
 # Kopiert stdin einfach nach stdout. Ignoriert alle Filter-Argumente.
 # Schreibt ein Form-Feed-Zeichen (\f) nach dem Ende des Druckauftrages.

 /bin/cat && printf "\f" && exit 0
 exit 2

   Der Drucker erzeugte einen "Treppeneffekt" (staircase effect).

           Sie haben einen Ausdruck a:hnlich dem folgenden erhalten:

 !"#$%&'()*+,-./01234
                 "#$%&'()*+,-./012345
                                  #$%&'()*+,-./0123456

           Sie sind zu einem weiteren Opfer des Treppeneffekts
           geworden. Verursacht wird dieser Effekt durch
           unterschiedliche Ansichten daru:ber, welche Zeichen den
           Beginn einer neuen Zeile anzeigen sollen. UNIX-a:hnliche
           Betriebssysteme verwenden dafu:r ein einzelnes Zeichen:
           ASCII-Code 10, auch als Line Feed (LF) bekannt. MS-DOS,
           OS/2(R) und andere Betriebssysteme verwenden stattdessen
           ein Zeichenpaar: ASCII-Code 10 und ASCII-Code 13, Carriage
           Return (CR). Viele Drucker verwenden in der Voreinstellung
           die Konvention von MS-DOS, um Zeilenumbru:che
           darzustellen.

           Wenn Sie unter FreeBSD drucken, wird nur das Zeichen Line
           Feed verwendet. Der Drucker erkennt dieses Zeichen und
           erweitert den Druckbereich um eine Zeile, verbleibt zum
           Druck des na:chsten Zeichens aber in derselben
           horizontalen Position. Das ist der Grund fu:r die
           Verwendung des Carriage Return: Es setzt die Position fu:r
           das folgende Zeichen auf den linken Rand der Seite.

           FreeBSD erwartet von einem Drucker das folgende Verhalten:

           Drucker empfa:ngt CR      Drucker druckt CR          
           Drucker empfa:ngt LF      Drucker druckt CR + LF     

           Es gibt mehrere Mo:glichkeiten, dieses Verhalten zu
           erreichen:

              * Vera:ndern Sie die Konfiguration Ihres Druckers, um
                die Interpretation dieser Zeichen zu vera:ndern.
                Lesen Sie Ihr Druckerhandbuch, wenn Sie nicht wissen,
                was Sie dazu tun mu:ssen.

                  Anmerkung: Wenn Sie auf Ihrem Rechner neben FreeBSD
                  noch andere Betriebssysteme verwenden, mu:ssen Sie
                  Ihren Drucker mo:glicherweise anschliessend erneut
                  konfigurieren, damit die Zeichen CR und LF unter
                  diesen Systemen korrekt interpretiert werden. Ist
                  dies bei Ihnen der Fall, werden Sie wohl eine der
                  folgenden Lo:sungen bevorzugen.

              * Lassen Sie LF durch den Treiber der seriellen
                Schnittstelle automatisch in CR+LF konvertieren.
                Selbstversta:ndlich funktioniert dies nur mit
                Druckern, die an einer seriellen Schnittstelle
                angeschlossen sind. Um diese Mo:glichkeit zu nutzen,
                mu:ssen Sie die ms#-Fa:higkeit verwenden und in
                /etc/printcap den onlcr-Modus fu:r den Drucker
                aktivieren.

              * Senden Sie eine Escape-Sequenz an den Drucker, damit
                das Zeichen LF zeitweilig anders behandelt wird.
                Suchen Sie im Handbuch Ihres Druckers nach den von
                Ihrem Drucker unterstu:tzten Escape-Sequenzen. Wenn
                Sie eine entsprechenden Escape-Sequenz finden,
                mu:ssen Sie den Textfilter so anpassen, dass zuerst
                die Escape-Sequenz und anschliessend der Druckauftrag
                gesendet wird.

                Es folgt nun ein Bespieltextfilter fu:r einen
                Drucker, der die Hewlett Packard PCL Escape-Sequenzen
                versteht. Dieser Filter veranlasst den Drucker,
                LF-Zeichen als Folgen von LF+CR aufzufassen.
                Anschliessend wird der Druckauftrag gesendet. Als
                Abschluss wird ein Form Feed gesendet, um die letzte
                Seite des Druckauftrags auszuwerfen. Dieses Beispiel
                sollte mit nahezu allen Druckern von Hewlett Packard
                funktionieren.

 #!/bin/sh
 #
 # hpif - Einfacher Text-Eingabefilter fu:r lpd fu:r auf HP-PCL basierende Drucker
 # Installiert unter /usr/local/libexec/hpif
 #
 # Kopiert stdin einfach nach stdout.  Ignoriert alle Filterargumente.
 # Weist den Drucker an LF als CR+LF zu interpretieren.
 # Wirft die Seite nach dem Drucken aus.

 printf "\033&k2G" && cat && printf "\033&l0H" && exit 0
 exit 2

                Das na:chste Beispiel aus /etc/printcap beschreibt
                den Rechner orchid, an dessen Parallelport ein
                Drucker angeschlossen ist. Es handelt sich dabei um
                einen Hewlett Packard LaserJet 3Si, der den Namen
                teak verwendet. Als Textfilter wird das Skript aus
                dem letzten Beispiel verwendet:

 #
 #  /etc/printcap fu:r den Rechner orchid
 #
 teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
         :lp=/dev/lpt0:sh:sd=/var/spool/lpd/teak:mx#0:\
         :if=/usr/local/libexec/hpif:

   Alle Zeilen wurden in die gleiche Zeile gedruckt.

           Der Drucker hat niemals eine neue Zeile begonnen. Alle
           Zeilen des Textes wurden in eine einzige Zeile gedruckt.

           Dieses Problem ist das "Gegenteil" des oben beschriebenen
           Treppeneffekts und kommt wesentlich seltener vor. Die von
           FreeBSD zum Abschluss einer Zeile benutzten LF-Zeichen
           werden als CR-Zeichen interpretiert. Dadurch wird die
           Druckposition zwar auf den linken Rand der Seite, aber
           nicht um eine Zeile nach unten gesetzt.

           Konfigurieren Sie Ihren Drucker, um die folgende
           Interpretation der Zeichen LF und CR zu erzwingen:

                Drucker empfa:ngt           Drucker druckt      
           CR                          CR                       
           LF                          CR + LF                  

   Manche Zeichen wurden nicht gedruckt.

           Der Drucker hat in jeder Zeile einige Zeichen nicht
           gedruckt. Vielleicht ist das Problem auch wa:hrend des
           Druckens schlimmer geworden, und der Drucker hat immer
           mehr Zeichen nicht gedruckt.

           Dieses Problem entsteht, weil der Drucker mit der
           Geschwindigkeit, mit der die Daten u:ber die serielle
           Schnittstelle (an einer parallelen Schnittstelle sollte
           das Problem nicht auftreten) eintreffen, nicht mithalten
           kann. Es gibt zwei Mo:glichkeiten, dieses Problem zu
           lo:sen:

              * Wenn der Drucker die Flusskontrolle mit XON/XOFF
                unterstu:tzt, ko:nnen Sie in der ms#-Fa:higkeit den
                ixon-Modus aktivieren.

              * Unterstu:tzt der Drucker die Carrier-Flusskontrolle,
                dann sollten Sie den crtscts-Modus in der
                ms#-Fa:higkeit aktivieren. Stellen Sie aber sicher,
                dass das verwendete Druckerkabel auch fu:r die
                Carrier-Flusskontrolle geeignet ist.

   Es wurden nur wirre Zeichen gedruckt.

           Anstelle des gewu:nschten Textes wurden nur zufa:llige
           Zeichen gedruckt.

           Dieses Problem wird ebenfalls durch falsche
           Konfigurationsparameter im Zusammenhang mit einem
           seriellen Drucker verursacht. Kontrollieren Sie die
           bps-Rate in der br-Fa:higkeit und die Parita:tseinstellung
           (Parity) in der ms#-Fa:higkeit. U:berpru:fen Sie
           ausserdem, ob der Drucker auch tatsa:chlich die gleichen
           Einstellungen verwendet, die in /etc/printcap definiert
           wurden.

   Der Drucker hat u:berhaupt nicht reagiert.

           Wenn gar nichts passiert ist, dann liegt das vermutlich an
           FreeBSD und nicht am Drucker. Aktivieren Sie die
           Protokollierung (lf-Fa:higkeit) fu:r den entsprechenden
           Drucker in der Datei /etc/printcap. Es folgt nun ein
           Beispieleintrag fu:r den Drucker rattan, bei dem die
           lf-Fa:higkeit aktiviert wurde.

 rattan|line|diablo|lp|Diablo 630 Line Printer:\
         :sh:sd=/var/spool/lpd/rattan:\
         :lp=/dev/lpt0:\
         :if=/usr/local/libexec/if-simple:\
         :lf=/var/log/rattan.log

           Versuchen Sie jetzt noch einmal zu drucken. U:berpru:fen
           Sie die Protokolldatei (in unserem Beispiel
           /var/log/rattan.log) auf etwaige Fehlermeldungen.
           Versuchen Sie aufgrund dieser Meldungen, das Problem zu
           beheben.

           Wenn Sie keine Protokolldatei festlegen, verwendet LPD in
           der Voreinstellung /dev/console fu:r die Ausgabe der
           Fehlermeldungen.

     --------------------------------------------------------------

                Kapitel 10. Linux-Bina:rkompatibilita:t

   Restrukturiert und teilweise aktualisiert von Jim Mock.
   Beigetragen von Brian N. Handy und Rich Murphey. U:bersetzt von
   Johann Kois.

10.1. U:bersicht

   FreeBSD bietet Bina:rkompatibilita:t zu verschiedenen anderen UNIX
   Betriebssystemen, darunter auch Linux. Nun ko:nnten Sie sich
   fragen, warum FreeBSD in der Lage sein muss, Linux-Bina:rprogramme
   auszufu:hren? Die Antwort auf diese Frage ist sehr einfach. Viele
   Unternehmen und Entwickler programmieren bzw. entwickeln nur fu:r
   Linux, da es "das Neueste und Beste" in der Computerwelt ist. Fu:r
   uns FreeBSD-Anwender heisst dies, genau diese Unternehmen und
   Entwickler zu bitten, FreeBSD-Versionen ihrer Programme
   herauszubringen. Das Problem dabei ist nur, dass die meisten
   dieser Firmen trotzdem nicht erkennen, wie viele zusa:tzliche
   Anwender ihre Produkte benutzen wu:rden, wenn es auch
   FreeBSD-Versionen ga:be, und daher weiterhin ausschliesslich fu:r
   Linux entwickeln. Was also kann ein FreeBSD-Anwender tun? Genau an
   diesem Punkt kommt die Linux- Bina:rkompatibilita:t ins Spiel.

   Um es auf den Punkt zu bringen, genau diese Kompatibilita:t
   erlaubt es FreeBSD-Anwendern, etwa 90 % aller Linux-Anwendungen
   ohne Code-A:nderungen zu verwenden. Dies schliesst solche
   Anwendungen wie StarOffice, Open Office, die Linux-Versionen von
   Netscape, Adobe Acrobat, RealPlayer, VMWare(R) , Oracle,
   WordPerfect(R), Doom, Quake und viele andere ein. Es wird sogar
   berichtet, dass diese Linux-Anwendungen in manchen Fa:llen unter
   FreeBSD eine bessere Leistung als unter Linux aufweisen.

   Allerdings gibt es nach wie vor einige Linux-spezifische
   Betriebssystem-Eigenschaften, die unter FreeBSD nicht unterstu:tzt
   werden. Linux-Anwendungen, die i386-spezifische Aufrufe (wie die
   Aktivierung des virtuellen 8086-Modus) verwenden, funktionieren
   unter FreeBSD leider nicht.

   Nach dem Lesen dieses Kapitels werden Sie

     * wissen, wie Sie die Linux-Bina:rkompatibilita:t installieren
       bzw. aktivieren.

     * Wissen, wie man zusa:tzliche Linux-Systembibliotheken unter
       FreeBSD installiert.

     * Linux-Anwendungen unter FreeBSD installieren ko:nnen.

     * Wissen, wie die Linux-Bina:rkompatibilita:t unter FreeBSD
       verwirklicht wurde.

   Bevor Sie dieses Kapitel lesen, sollten Sie

     * wissen, wie man Software Dritter installiert (Kapitel 4).

     --------------------------------------------------------------

10.2. Installation

   Die Linux-Bina:rkompatibilita:t ist per Voreinstellung nicht
   aktiviert. Der einfachste Weg, dies zu tun, ist das Linux KLD
   ("Kernel LoaDable object") zu laden. Dies erreichen Sie durch die
   Eingabe des folgenden Befehls:

 # kldload linux

   Wollen Sie die Linux-Bina:rkompatibilita:t dauerhaft aktivieren,
   sollten Sie die folgende Zeile in /etc/rc.conf einfu:gen:

 linux_enable="YES"

   Der kldstat(8)-Befehl kann benutzt werden, um festzustellen, ob
   KLD geladen wurde:

 % kldstat
 Id Refs Address    Size     Name
  1    2 0xc0100000 16bdb8   kernel
  7    1 0xc24db000 d000     linux.ko

   Wenn Sie das KLD nicht laden ko:nnen oder wollen, besteht auch die
   Mo:glichkeit, die Linux-Bina:rkompatibilta:t statisch in den
   Kernel einzubinden. Dazu fu:gen Sie Ihrer
   Kernelkonfigurationsdatei den Eintrag options COMPAT_LINUX hinzu.
   Anschliessend installieren Sie Ihren neuen Kernel wie in Kapitel 8
   beschrieben.

     --------------------------------------------------------------

  10.2.1. Linux-Laufzeitbibliotheken installieren

   Dies kann auf zwei Arten geschehen, entweder u:ber den
   linux_base-Port, oder durch manuelle Installation der Bibliotheken
   .

     --------------------------------------------------------------

    10.2.1.1. Installation unter Verwendung des linux_base-Ports

   Dies ist die einfachste Methode, um die Laufzeitbibliotheken zu
   installieren. Sie funktioniert genauso wie die Installation eines
   beliebigen anderen Ports aus der Ports-Sammlung. Dazu machen Sie
   einfach folgendes:

 # cd /usr/ports/emulators/linux_base-fc4
 # make install distclean

   Sie sollten nun u:ber eine funktionierende
   Linux-Bina:rkompatibilita:t verfu:gen. Einige Programme ko:nnten
   sich zwar u:ber falsche Unterversionsnummern der
   Systembibliotheken beschweren, dies ist im Allgemeinen aber kein
   Problem.

     Anmerkung: Unter Umsta:nden gibt es mehrere Versionen des Ports
     emulators/linux_base. Die Ports entsprechen unterschiedlichen
     Versionen verschiedener Linux-Distributionen Sie sollten den
     Port installieren, der am besten die Anforderungen der
     Linux-Anwendung erfu:llt.

     --------------------------------------------------------------

    10.2.1.2. Manuelle Installation der Bibliotheken

   Wenn Sie die "Ports"-Sammlung nicht installiert haben, ko:nnen Sie
   die Bibliotheken auch manuell installieren. Dazu brauchen Sie die
   jeweiligen Linux-Systembibliotheken, die das zu installierende
   Programm verwendet sowie den Laufzeit-Linker. Zusa:tzlich mu:ssen
   Sie auf Ihrem FreeBSD-System einen "virtuellen" Verzeichnisbaum
   fu:r die Linux-Bibliotheken einrichten. Alle unter FreeBSD
   gestarteten Linux-Programme suchen zuerst in diesem
   Verzeichnisbaum nach Systembibliotheken. Wenn also ein
   Linuxprogramm beispielsweise /lib/libc.so la:dt, versucht FreeBSD
   zuerst, /compat/linux/lib/libc.so laden. Ist diese Datei nicht
   vorhanden, wird /lib/libc.so geladen. Systembibliotheken sollten
   daher besser in den "virtuellen" Verzeichnisbaum /compat/linux/lib
   als in den vom Linux-ld.so vorgeschlagenen installiert werden.

   Im Allgemeinen mu:ssen Sie nur zu Beginn nach den
   Systembibliotheken suchen, die von Linuxprogrammen beno:tigt
   werden. Nach den ersten Installationen von Linuxprogrammen auf
   Ihrem FreeBSD-System verfu:gen Sie u:ber eine Sammlung von
   Linux-Systembibliotheken, die es Ihnen ermo:glichen wird, neue
   Linuxprogramme ohne Zusatzarbeit zu installieren.

     --------------------------------------------------------------

    10.2.1.3. Installation zusa:tzlicher Systembibliotheken

   Was passiert, wenn Sie den linux_base-Port installieren, und Ihr
   Programm beschwert sich trotzdem u:ber fehlende
   Systembibliotheken? Woher wissen Sie, welche Systembibliotheken
   von Linux-Bina:rprogrammen beno:tigt werden, und wo Sie diese
   finden? Grundsa:tzlich gibt es dafu:r zwei Mo:glichkeiten (um
   dieser Anleitung zu folgen, mu:ssen Sie unter FreeBSD als Benutzer
   root angemeldet sein):

   Wenn Sie Zugriff auf ein Linux-System haben, ko:nnen Sie dort
   nachsehen, welche Systembibliotheken eine Anwendung beno:tigt, und
   diese auf Ihr FreeBSD-System kopieren. Dazu folgendes Beispiel:

   Nehmen wir an, Sie haben FTP verwendet, um die Linux-Bina:rversion
   von Doom zu bekommen und haben sie auf Ihrem Linux-System
   installiert. Nun ko:nnen Sie u:berpru:fen, welche
   Systembibliotheken das Programm beno:tigt, indem Sie ldd linuxdoom
   eingeben. Das Resultat sieht dann so aus:

 % ldd linuxdoom
 libXt.so.3 (DLL Jump 3.1) => /usr/X11/lib/libXt.so.3.1.0
 libX11.so.3 (DLL Jump 3.1) => /usr/X11/lib/libX11.so.3.1.0
 libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29

   Sie mu:ssten nun alle Dateien aus der letzten Spalte kopieren und
   sie unter /compat/linux speichern, wobei die Namen der ersten
   Spalte als symbolische Links auf diese Dateien zeigen. Damit haben
   Sie schliesslich folgende Dateien auf Ihrem FreeBSD-System:

 /compat/linux/usr/X11/lib/libXt.so.3.1.0
 /compat/linux/usr/X11/lib/libXt.so.3 -> libXt.so.3.1.0
 /compat/linux/usr/X11/lib/libX11.so.3.1.0
 /compat/linux/usr/X11/lib/libX11.so.3 -> libX11.so.3.1.0
 /compat/linux/lib/libc.so.4.6.29
 /compat/linux/lib/libc.so.4 -> libc.so.4.6.29

       Anmerkung: Beachten Sie, dass wenn Sie bereits eine
       Linux-Systembibliothek einer zur ersten Spalte passenden
       Hauptversionsnummer (laut ldd-Ausgabe) besitzen, Sie die Datei
       aus der zweiten Spalte nicht mehr kopieren mu:ssen, da die
       bereits vorhandene Version funktionieren sollte. Hat die
       Systembibliothek jedoch eine neuere Versionsnummer, sollten
       Sie sie dennoch kopieren. Sie ko:nnen die alte Version
       lo:schen, solange Sie einen symbolischen Link auf die neue
       Version anlegen. Wenn Sie also folgende Bibliotheken auf Ihrem
       System installiert haben:

 /compat/linux/lib/libc.so.4.6.27
 /compat/linux/lib/libc.so.4 -> libc.so.4.6.27

       und Sie haben eine neue Bina:rdatei, die laut ldd eine neuere
       Bibliothek beno:tigt:

 libc.so.4 (DLL Jump 4.5pl26) -> libc.so.4.6.29

       Wenn diese sich nur um ein oder zwei Stellen in der
       Unterversionsnummer unterscheiden, mu:ssen Sie
       /lib/libc.so.4.6.29 nicht auf Ihr System kopieren, da das
       Programm auch mit der etwas a:lteren Version ohne Probleme
       funktionieren sollte. Wenn Sie wollen, ko:nnen Sie libc.so
       aber dennoch ersetzen (das heisst aktualisieren), was dann zu
       folgender Ausgabe fu:hrt:

 /compat/linux/lib/libc.so.4.6.29
 /compat/linux/lib/libc.so.4 -> libc.so.4.6.29

       Anmerkung: Der Mechanismus der symbolischen Links wird nur
       fu:r Linux-Bina:rdateien beno:tigt. Der FreeBSD-Laufzeitlinker
       sucht sich die passenden Hauptversionsnummern selbst, das
       heisst Sie mu:ssen sich nicht darum ku:mmern.

     --------------------------------------------------------------

  10.2.2. Linux ELF-Bina:rdateien installieren

   ELF-Bina:rdateien beno:tigen manchmal eine zusa:tzliche
   "Kennzeichnung". Wenn Sie versuchen, eine nicht gekennzeichnete
   ELF-Bina:rdatei auszufu:hren, werden Sie eine Fehlermeldung
   a:hnlich der folgenden erhalten:

 % ./my-linux-elf-binary
 ELF binary type not known
 Abort

   Damit der FreeBSD-Kernel eine Linux-ELF-Datei von einer
   FreeBSD-ELF-Datei unterscheiden kann, gibt es das Werkzeug
   brandelf(1):

 % brandelf -t Linux my-linux-elf-binary

   Die GNU Werkzeuge schreiben nun automatisch die passende
   Kennzeichnungsinformation in die ELF-Bina:rdateien, so dass Sie
   diesen Schritt in Zukunft nur noch selten beno:tigen werden.

     --------------------------------------------------------------

  10.2.3. Namensauflo:sung konfigurieren

   Wenn DNS nicht funktioniert, oder Sie folgende Fehlermeldung
   erhalten:

 resolv+: "bind" is an invalid keyword resolv+:
 "hosts" is an invalid keyword

   mu:ssen sie /compat/linux/etc/host.conf wie folgt anlegen:

 order hosts, bind
 multi on

   Diese Reihenfolge legt fest, dass zuerst /etc/hosts und
   anschliessend DNS durchsucht werden. Wenn
   /compat/linux/etc/host.conf nicht vorhanden ist, finden
   Linux-Anwendungen FreeBSD's /etc/host.conf und beschweren sich
   u:ber die inkompatible FreeBSD-Syntax. Wenn Sie keinen Nameserver
   (in /etc/resolv.conf) konfiguriert haben, sollten Sie den Eintrag
   bind entfernen.

     --------------------------------------------------------------

10.3. Mathematica(R) installieren

   Fu:r Mathematica 5.x aktualisiert von Boris Hollas.

   Dieses Dokument beschreibt die Installation der Linux-Version von
   Mathematica(R) 5.x auf einem FreeBSD-System.

   Die Linux-Version von Mathematica oder Mathematica fu:r Studenten
   kann direkt von Wolfram unter http://www.wolfram.com/ bestellt
   werden.

     --------------------------------------------------------------

  10.3.1. Den Mathematica-Installer starten

   Zuerst mu:ssen Sie FreeBSD mitteilen, dass die Linux-Bina:rversion
   von Mathematica die Linux-ABI verwendet. Dies erreichen Sie am
   einfachsten, indem Sie die Standard-ELF-Kennzeichnung fu:r alle
   ungekennzeichneten Bina:rdateien auf Linux festlegen:

 # sysctl kern.fallback_elf_brand=3

   Danach wird FreeBSD annehmen, dass alle ungekennzeichneten
   ELF-Bina:rdateien die Linux-ABI verwenden und es wa:re nun
   mo:glich, das Installationsprogramm direkt von der CD-ROM zu
   starten.

   Unter FreeBSD mu:ssen allerdings die Datei MathInstaller in ein
   lokales Verzeichnis Ihrer Festplatte kopieren:

 # mount /cdrom
 # cp /cdrom/Unix/Installers/Linux/MathInstaller /LokalesVerzeichnis/

   In dieser Datei ersetzen Sie in der ersten Zeile den Wert /bin/sh
   durch /compat/linux/bin/sh. Dadurch wird sichergestellt, dass der
   Installer von der Linux-Version von sh(1) aufgerufen wird. Danach
   ersetzen Sie durch das im na:chsten Abschnitt zu findende Skript
   oder u:ber einen Texteditor alle Vorkommen von Linux) durch
   FreeBSD). Dadurch ist es dem Mathematica-Installer mo:glich, durch
   den Einsatz von uname -s das Betriebssystem zu bestimmen. FreeBSD
   wird dabei als Linux-artiges Betriebssystem behandelt. Durch den
   Aufruf von MathInstaller kann Mathematica anschliessend
   installiert werden.

     --------------------------------------------------------------

  10.3.2. Die Mathematica-Programmdateien anpassen

   Das von Mathematica wa:hrend der Installation erzeugte
   Shell-Skript muss angepasst werden, bevor Sie es einsetzen
   ko:nnen. Wenn Sie die Mathematica-Programmdateien unter
   /usr/local/bin installieren, finden Sie in diesem Verzeichnis die
   symbolische Links math, mathematica, Mathematica, sowie
   MathKernel. In jeder dieser Dateien mu:ssen Sie jedes Vorkommen
   von Linux) durch FreeBSD) ersetzen (entweder u:ber einen
   Texteditor oder durch das folgende Shellskript):

 #!/bin/sh
 cd /usr/local/bin
 for i in math mathematica Mathematica MathKernel
   do sed 's/Linux)/FreeBSD)/g' $i > $i.tmp
   sed 's/\/bin\/sh/\/compat\/linux\/bin\/sh/g' $i.tmp > $i
   rm $i.tmp
   chmod a+x $i
 done

     --------------------------------------------------------------

  10.3.3. Ihr Mathematica-Passwort anfordern

   Wenn Sie Mathematica das erste Mal starten, werden Sie nach einem
   Passwort gefragt. Haben Sie noch kein Passwort von Wolfram
   erhalten, mu:ssen Sie zuerst im Installationsverzeichnis mathinfo
   aufrufen, um Ihre "Rechner-ID" zu bestimmen. Diese Rechner-ID
   basiert ausschliesslich auf der MAC-Adresse Ihrer ersten
   Netzwerkkarte. Daher ist es nicht mo:glich, Ihre Mathematica-Kopie
   auf verschiedenen Rechnern zu installieren.

   Wenn Sie sich bei Wolfram registrieren (durch E-Mail, Telefon oder
   Fax), teilen Sie Ihre "Rechner-ID" mit und erhalten dafu:r ein aus
   Zahlengruppen bestehendes Passwort.

     --------------------------------------------------------------

  10.3.4. Das Mathematica-Frontend u:ber ein Netzwerk ausfu:hren

   Mathematica verwendet einige spezielle Schriftarten, um Zeichen
   anzuzeigen, die in den Standardzeichensa:tzen nicht vorhanden sind
   (z.B. Integrale, Summen, griechische Buchstaben). Das X-Protokoll
   verlangt allerdings, dass diese Schriftarten lokal installiert
   sind. Das bedeutet, dass Sie diese Schriftarten von der CD-ROM
   oder von einem Rechner, auf dem Mathematica installiert ist, auf
   Ihren Rechner kopieren mu:ssen. Diese Schriftarten befinden sich
   normalerweise in /cdrom/Unix/Files/SystemFiles/Fonts
   (Mathematica-CD) oder in /usr/local/mathematica/SystemFiles/Fonts
   (Festplatte). Die aktuellen Schriftarten befinden sich dabei in
   den Unterverzeichnissen Type1 und X. Um diese Schriftarten zu
   verwenden, gibt es mehrere Mo:glichkeiten, die nun beschrieben
   werden:

   Die erste Mo:glichkeit besteht darin, die Schriftarten in eins der
   bereits existierenden Schriftartenverzeichnisse unter
   /usr/X11R6/lib/X11/fonts zu kopieren. Dies bedeutet, dass Sie
   fonts.dir editieren mu:ssen, indem Sie die Schriftnamen
   hinzufu:gen und die Anzahl der Schriftarten in der ersten Zeile
   a:ndern. Alternativ ist es auch mo:glich, im Verzeichnis, in das
   Sie die Schriftarten kopiert haben, das Kommando mkfontdir(1)
   auszufu:hren.

   Die zweite Mo:glichkeit, besteht darin, die Verzeichnisse nach
   /usr/X11R6/lib/X11/fonts zu kopieren:

 # cd /usr/X11R6/lib/X11/fonts
 # mkdir X
 # mkdir MathType1
 # cd /cdrom/Unix/Files/SystemFiles/Fonts
 # cp X/* /usr/X11R6/lib/X11/fonts/X
 # cp Type1/* /usr/X11R6/lib/X11/fonts/MathType1
 # cd /usr/X11R6/lib/X11/fonts/X
 # mkfontdir
 # cd ../MathType1
 # mkfontdir

   Nun fu:gen Sie die neuen Schriftartenverzeichnisse in Ihren Pfad
   ein:

 # xset fp+ /usr/X11R6/lib/X11/fonts/X
 # xset fp+ /usr/X11R6/lib/X11/fonts/MathType1
 # xset fp rehash

   Wenn Sie den Xorg-Server verwenden, ko:nnen Sie die
   Schriftarten-Verzeichnisse automatisch laden lassen, wenn Sie sie
   in Ihrer xorg.conf angeben.

     Anmerkung: Fu:r den XFree86-Server verwenden Sie die Datei
     XF86Config.

   Wenn Sie noch kein /usr/X11R6/lib/X11/fonts/Type1-Verzeichnis
   haben, ko:nnen Sie das MathType1-Verzeichnis im vorherigen
   Beispiel in Type1 umbenennen.

     --------------------------------------------------------------

10.4. Maple(TM) installieren

   Beigetragen von Aaron Kaplan. Mit Unterstu:tzung durch Robert
   Getschmann.

   Maple(TM) ist ein mit Mathematica vergleichbares kommerzielles
   Mathematikprogramm. Sie ko:nnen dieses Programm unter
   http://www.maplesoft.com/ kaufen und sich anschliessend
   registrieren, um eine Lizenz zu erhalten. Um dieses Programm unter
   FreeBSD zu installieren, gehen Sie wie folgt vor:

    1. Fu:hren Sie das INSTALL-Shell-Skript der Softwaredistribution
       aus. Wa:hlen Sie die "RedHat"-Option aus, wenn Sie das
       Installationsprogramm danach fragt. Ein typisches
       Installationsverzeichnis wa:re z.B. /usr/local/maple.

    2. Wenn Sie dies noch nicht gemacht haben, besorgen Sie sich nun
       eine Maple-Lizenz von Maple Waterloo Software
       (http://register.maplesoft.com) und kopieren Sie diese nach
       /usr/local/maple/license/license.dat.

    3. Installieren Sie den FLEXlm-Lizenz-Manager, indem Sie das
       INSTALL_LIC-Installations-Shellskript ausfu:hren, das mit
       Maple ausgeliefert wird. Geben Sie Ihren prima:ren
       Rechnernamen fu:r den Lizenz-Server an.

    4. Vera:ndern Sie /usr/local/maple/bin/maple.system.type wie
       folgt:

    ----- snip ------------------
 *** maple.system.type.orig      Sun Jul  8 16:35:33 2001
 --- maple.system.type   Sun Jul  8 16:35:51 2001
 ***************
 *** 72,77 ****
 --- 72,78 ----
           # the IBM RS/6000 AIX case
           MAPLE_BIN="bin.IBM_RISC_UNIX"
           ;;
 +     "FreeBSD"|\
       "Linux")
           # the Linux/x86 case
         # We have two Linux implementations, one for Red Hat and
    ----- snip end of patch -----

       Bitte beachten Sie, dass nach "FreeBSD"|\ kein anderes Zeichen
       eingefu:gt werden darf.

       Dieser Patch weist Maple an, FreeBSD als "eine Art von
       Linux-System" zu erkennen. Das Shell-Skript bin/maple ruft das
       Shell-Skript bin/maple.system.type auf, welches wiederum uname
       -a verwendet, um den Namen des Betriebssystems herauszufinden.
       Abha:ngig vom Betriebssystem weiss das System nun, welche
       Bina:rdateien verwendet werden sollen.

    5. Starten Sie den Lizenz-Server.

       Das folgende, als /usr/local/etc/rc.d/lmgrd.sh installierte
       Shell-Skript ist ein komfortabler Weg, um lmgrd zu starten:

    ----- snip ------------

 #! /bin/sh
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin
 PATH=${PATH}:/usr/local/maple/bin:/usr/local/maple/FLEXlm/UNIX/LINUX
 export PATH

 LICENSE_FILE=/usr/local/maple/license/license.dat
 LOG=/var/log/lmgrd.log

 case "$1" in
 start)
         lmgrd -c ${LICENSE_FILE} 2>> ${LOG} 1>&2
         echo -n " lmgrd"
         ;;
 stop)
         lmgrd -c ${LICENSE_FILE} -x lmdown 2>> ${LOG} 1>&2
         ;;
 *)
         echo "Usage: `basename $0` {start|stop}" 1>&2
         exit 64
         ;;
 esac

 exit 0
    ----- snip ------------

    6. Versuchen Sie, Maple zu starten:

 % cd /usr/local/maple/bin
 % ./xmaple

       Nun sollte das Programm laufen und alles funktionieren. Falls
       ja, vergessen Sie nicht, an Maplesoft zu schreiben und sie
       wissen zu lassen, dass Sie gerne eine native FreeBSD-Version
       ha:tten.

     --------------------------------------------------------------

  10.4.1. Ha:ufige Fehlerquellen

     * Der FLEXlm-Lizenzmanager kann schwierig zu bedienen sein.
       Zusa:tzliche Dokumentation zu diesem Thema finden Sie unter
       http://www.globetrotter.com/.

     * Es ist bekannt, dass lmgrd sehr pingelig ist, wenn es um die
       Lizenzdatei geht. Gibt es Probleme, fu:hrt dies zu einem
       Speicherauszug (core dump). Ein korrekte Lizenzdatei sollte
       a:hnlich der folgenden aussehen:

 # =======================================================
 # License File for UNIX Installations ("Pointer File")
 # =======================================================
 SERVER chillig ANY
 #USE_SERVER
 VENDOR maplelmg

 FEATURE Maple maplelmg 2000.0831 permanent 1 XXXXXXXXXXXX \
          PLATFORMS=i86_r ISSUER="Waterloo Maple Inc." \
          ISSUED=11-may-2000 NOTICE=" Technische Universitat Wien" \
          SN=XXXXXXXXX

         Anmerkung: Seriennummer und Schlu:ssel wurden durch mehrere
         X unkenntlich gemacht. chillig ist ein Rechnername.

       Vera:nderungen an der Lizenzdatei sind mo:glich, solange Sie
       die FEATURE-Zeile nicht vera:ndern (diese ist durch den
       Lizenzschlu:ssel geschu:tzt).

     --------------------------------------------------------------

10.5. MATLAB(R) installieren

   Beigesteuert von Dan Pelleg.

   Im Folgenden wird die Installation der Linux-Anwendung MATLAB(R)
   Version 6.5 auf FreeBSD beschrieben. Mit Ausnahme der Java Virtual
   Machine(TM) (siehe Abschnitt 10.5.3) la:uft die Anwendung auch
   ganz gut.

   Die Linux-Version von MATLAB ko:nnen Sie direkt bei The MathWorks
   bestellen. Vergewissern Sie sich, dass Sie die Lizenz-Datei oder
   eine Anleitung zum Erstellen der Lizenz-Datei erhalten haben. Wenn
   Sie mit MathWorks in Kontakt stehen, weisen Sie bitte auf die
   fehlende FreeBSD-Version der Software hin.

     --------------------------------------------------------------

  10.5.1. Das MATLAB-Installationsskript

   Um MATLAB zu installieren, gehen Sie wie folgt vor:

    1. Ha:ngen Sie die Installations-CD ein und wechseln Sie zu root,
       wie im Installations-Skript gefordert. Starten Sie die
       Installation mit dem folgenden Kommando:

 # /compat/linux/bin/sh /cdrom/install

         Tipp: Die Installation erfordert eine graphische
         Benutzeroberfla:che. Wenn Sie die Fehlermeldung erhalten,
         dass das Display nicht geo:ffnet werden konnte, fu:hren Sie
         das folgende Kommando aus:

 # setenv HOME ~USER

         Fu:r USER setzen Sie den Benutzer ein, von dem aus Sie root
         geworden sind.

    2. Beantworten Sie die Frage nach dem MATLAB-Root-Verzeichnis
       mit: /compat/linux/usr/local/matlab.

         Tipp: Den langen Pfad werden Sie noch o:fter brauchen. Die
         Tipparbeit ko:nnen Sie sich mit dem folgenden Befehl
         erleichtern:

 # set MATLAB=/compat/linux/usr/local/matlab

    3. Editieren Sie die Lizenz-Datei entsprechend der Anweisung, die
       Sie beim Erwerb der Lizenz erhalten haben.

         Tipp: Sie ko:nnen die Datei schon vorher mit Ihrem
         Lieblingseditor bearbeiten. Kopieren Sie die Lizenz-Datei
         nach $MATLAB/license.dat bevor das Installationsprogramm Sie
         auffordert, die Datei zu editieren.

    4. Schliessen Sie die Installation ab.

   Die MATLAB-Installation ist jetzt abgeschlossen. Die folgenden
   Schritte passen MATLAB an FreeBSD an.

     --------------------------------------------------------------

  10.5.2. Den Lizenzmanager starten

    1. Erstellen Sie symbolische Links zu den Startskripten des
       Lizenzmanagers:

 # ln -s $MATLAB/etc/lmboot /usr/local/etc/lmboot_TMW
 # ln -s $MATLAB/etc/lmdown /usr/local/etc/lmdown_TMW

    2. Erstellen Sie das Startskript /usr/local/etc/rc.d/flexlm.sh.
       Das folgende Beispiel ist eine gea:nderte Version des
       mitgelieferten Skripts $MATLAB/etc/rc.lm.glnx86. Angepasst
       wurden die Pfade zu den Dateien und der Start des
       Lizenzmanagers unter der Linux-Emulation.

 #!/bin/sh
 case "$1" in
   start)
         if [ -f /usr/local/etc/lmboot_TMW ]; then
               /compat/linux/bin/sh /usr/local/etc/lmboot_TMW -u username && echo 'MATLAB_lmgrd'
         fi
         ;;
   stop)
         if [ -f /usr/local/etc/lmdown_TMW ]; then
             /compat/linux/bin/sh /usr/local/etc/lmdown_TMW  > /dev/null 2>&1
         fi
         ;;
   *)
         echo "Usage: $0 {start|stop}"
         exit 1
         ;;
 esac

 exit 0

         Wichtig: Machen Sie Datei ausfu:hrbar:

 # chmod +x /usr/local/etc/rc.d/flexlm.sh

         Ersetzen Sie im Skript username durch einen existierenden
         Benutzer Ihres Systems (bitte keinesfalls root).

    3. Starten Sie den Lizenzmanager:

 # /usr/local/etc/rc.d/flexlm.sh start

     --------------------------------------------------------------

  10.5.3. Einrichten der Java-Laufzeitumgebung

   Erstellen Sie einen symbolischen Link auf eine unter FreeBSD
   laufende Java-Laufzeitumgebung (JRE):

 # cd $MATLAB/sys/java/jre/glnx86/
 # unlink jre; ln -s ./jre1.1.8 ./jre

     --------------------------------------------------------------

  10.5.4. Ein MATLAB-Startskript erstellen

    1. Kopieren Sie das folgende Skript nach /usr/local/bin/matlab:

 #!/bin/sh
 /compat/linux/bin/sh /compat/linux/usr/local/matlab/bin/matlab "$@"

    2. Machen Sie das Skript ausfu:hrbar:

 # chmod +x /usr/local/bin/matlab

     Tipp: Abha:ngig von der Version des Ports emulators/linux_base
     kann das Skript auf Fehler laufen. Die Fehler ko:nnen Sie
     vermeiden, indem Sie die Datei
     /compat/linux/usr/local/matlab/bin/matlab editieren. A:ndern Sie
     die nachstehende Zeile

 if [ `expr "$lscmd" : '.*->.*'` -ne 0 ]; then

     (mit Version 13.0.1 in der Zeile 410) in die folgende um:

 if test -L $newbase; then

     --------------------------------------------------------------

  10.5.5. Stopp-Skript fu:r MATLAB erstellen

   Das nachstehende Skript beendet MATLAB ordnungsgema:ss.

    1. Erstellen Sie die Datei $MATLAB/toolbox/local/finish.m mit dem
       nachstehenden Inhalt:

 ! $MATLAB/bin/finish.sh

         Anmerkung: U:bernehmen Sie die Zeichenkette $MATLAB
         unvera:ndert.

         Tipp: Im selben Verzeichnis befinden sich die Dateien
         finishsav.m und finishdlg.m. Die Dateien sichern die
         Einstellungen der Arbeitsfla:che bevor MATLAB beendet wird.
         Wenn Sie eine der beiden Dateien benutzen, fu:gen Sie die
         obige Zeile unmittelbar nach dem save-Kommando ein.

    2. Erstellen Sie die Datei $MATLAB/bin/finish.sh mit
       nachstehendem Inhalt:

 #!/usr/compat/linux/bin/sh
 (sleep 5; killall -1 matlab_helper) &
 exit 0

    3. Machen Sie die Datei ausfu:hrbar:

 # chmod +x $MATLAB/bin/finish.sh

     --------------------------------------------------------------

  10.5.6. MATLAB benutzen

   Jetzt ko:nnen Sie MATLAB mit dem matlab starten.

     --------------------------------------------------------------

10.6. Oracle(R) installieren

   Beigetragen von Marcel Moolenaar.

     --------------------------------------------------------------

  10.6.1. U:bersicht

   Dieses Dokument beschreibt die Installation von Oracle 8.0.5 und
   Oracle 8.0.5.1 Enterprise Edition fu:r Linux auf einem
   FreeBSD-Rechner.

     --------------------------------------------------------------

  10.6.2. Installation der Linux-Umgebung

   Stellen Sie sicher, dass Sie sowohl emulators/linux_base und
   devel/linux_devtools aus der Ports-Sammlung installiert haben.
   Wenn Sie mit diesen Ports Schwierigkeiten haben, mu:ssen Sie
   vielleicht a:ltere Versionen der Linux-Umgebung aus der
   Ports-Sammlung installieren.

   Wenn Sie den Intelligent-Agent verwenden wollen, mu:ssen Sie
   zusa:tzlich das RedHat Tcl-Paket installieren:
   tcl-8.0.3-20.i386.rpm. Zur Installation von RPM-Paketen wir der
   Port archivers/rpm beno:tigt. Ist der Port installiert, lassen
   sich RPM-Pakete anschliessend mit dem nachstehenden Befehl
   installieren:

 # rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm package

   Die Installation der RPM-Pakete sollte ohne Fehlermeldung
   ablaufen.

     --------------------------------------------------------------

  10.6.3. Die Oracle-Umgebung erzeugen

   Bevor Sie Oracle installieren ko:nnen, mu:ssen Sie eine
   entsprechende Umgebung erzeugen. Dieses Dokument beschreibt nur,
   was Sie im Speziellen tun mu:ssen, um die Linux-Version von Oracle
   unter FreeBSD zu installieren, nicht aber, was bereits in der
   Installationsanleitung von Oracle beschrieben wird.

     --------------------------------------------------------------

    10.6.3.1. Kernel-Tuning

   Wie in der Installationsanleitung von Oracle beschrieben, mu:ssen
   Sie die maximale Shared-Memory Gro:sse festlegen. Verwenden Sie
   SHMMAX nicht unter FreeBSD. SHMMAX wird lediglich aus SHMMAXPGS
   und PGSIZE berechnet. Definieren Sie stattdessen SHMMAXPGS. Alle
   anderen Optionen ko:nnen wie in der Anleitung beschrieben
   verwendet werden. Zum Beispiel:

 options SHMMAXPGS=10000
 options SHMMNI=100
 options SHMSEG=10
 options SEMMNS=200
 options SEMMNI=70
 options SEMMSL=61

   Passen Sie diese Optionen entsprechend dem von Ihnen gewu:nschten
   Einsatzzweck von Oracle an.

   Stellen Sie ausserdem sicher, dass Sie folgende Optionen in Ihren
   Kernel kompilieren:

 options SYSVSHM #SysV shared memory
 options SYSVSEM #SysV semaphores
 options SYSVMSG #SysV interprocess communication

     --------------------------------------------------------------

    10.6.3.2. Oracle-Benutzer anlegen

   Legen Sie den Account oracle an. Der Account unterschiedet sich
   von normalen Accounts dadurch, dass er eine Linux-Shell zugeordnet
   bekommen muss. Fu:gen Sie /compat/linux/bin/bash in die Datei
   /etc/shells ein und setzen Sie die Shell fu:r den oracle-Account
   auf /compat/linux/bin/bash.

     --------------------------------------------------------------

    10.6.3.3. Umgebung

   Neben den normalen Oracle-Variablen, wie z.B. ORACLE_HOME und
   ORACLE_SID mu:ssen Sie die folgenden Variablen setzen:

      Variable                            Wert                        
   LD_LIBRARY_PATH $ORACLE_HOME/lib                                   
   CLASSPATH       $ORACLE_HOME/jdbc/lib/classes111.zip               
                   /compat/linux/bin /compat/linux/sbin               
   PATH            /compat/linux/usr/bin /compat/linux/usr/sbin /bin  
                   /sbin /usr/bin /usr/sbin /usr/local/bin            
                   $ORACLE_HOME/bin                                   

   Es ist empfehlenswert, alle Variablen in der Datei .profile zu
   setzen. Ein komplettes Beispiel sieht folgendermassen aus:

 ORACLE_BASE=/oracle; export ORACLE_BASE
 ORACLE_HOME=/oracle; export ORACLE_HOME
 LD_LIBRARY_PATH=$ORACLE_HOME/lib
 export LD_LIBRARY_PATH
 ORACLE_SID=ORCL; export ORACLE_SID
 ORACLE_TERM=386x; export ORACLE_TERM
 CLASSPATH=$ORACLE_HOME/jdbc/lib/classes111.zip
 export CLASSPATH
 PATH=/compat/linux/bin:/compat/linux/sbin:/compat/linux/usr/bin
 PATH=$PATH:/compat/linux/usr/sbin:/bin:/sbin:/usr/bin:/usr/sbin
 PATH=$PATH:/usr/local/bin:$ORACLE_HOME/bin
 export PATH

     --------------------------------------------------------------

  10.6.4. Oracle installieren

   Auf Grund einer kleinen Unregelma:ssigkeit im Linux-Emulator
   mu:ssen Sie das Verzeichnis .oracle unter /var/tmp erzeugen, bevor
   Sie das Installationsprogramm starten. Das Verzeichnis muss dem
   Account oracle geho:ren. Sie sollten Oracle nun ohne Probleme
   installieren ko:nnen. Treten dennoch Probleme auf, u:berpru:fen
   Sie zuerst Ihre Oracle-Distribution und Ihre Konfiguration.
   Nachdem Sie Oracle erfolgreich installiert haben, installieren Sie
   die Patches wie in den zwei folgenden Abschnitten beschrieben:

   Ein ha:ufiges Problem ist, dass der TCP Protokoll-Adapter nicht
   korrekt installiert wird. Daraus folgt, dass Sie keine
   TCP-Listener starten ko:nnen. Dieses Problem kann durch folgende
   Schritte behoben werden:

 # cd $ORACLE_HOME/network/lib
 # make -f ins_network.mk ntcontab.o
 # cd $ORACLE_HOME/lib
 # ar r libnetwork.a ntcontab.o
 # cd $ORACLE_HOME/network/lib
 # make -f ins_network.mk install

   Vergessen Sie nicht, root.sh nochmals auszufu:hren!

     --------------------------------------------------------------

    10.6.4.1. root.sh patchen

   Wa:hrend der Oracle-Installation werden einige Aktionen, die als
   root ausgefu:hrt werden mu:ssen, in ein Shell-Skript mit dem Namen
   root.sh gespeichert. Dieses Skript befindet sich im Verzeichnis
   orainst. Verwenden Sie folgenden Patch fu:r root.sh, damit es das
   richtige chown Kommando verwendet, oder lassen Sie das Skript
   alternativ unter einer Linux-Shell ablaufen:

 *** orainst/root.sh.orig Tue Oct 6 21:57:33 1998
 --- orainst/root.sh Mon Dec 28 15:58:53 1998
 ***************
 *** 31,37 ****
 # This is the default value for CHOWN
 # It will redefined later in this script for those ports
 # which have it conditionally defined in ss_install.h
 ! CHOWN=/bin/chown
 #
 # Define variables to be used in this script
 --- 31,37 ----
 # This is the default value for CHOWN
 # It will redefined later in this script for those ports
 # which have it conditionally defined in ss_install.h
 ! CHOWN=/usr/sbin/chown
 #
 # Define variables to be used in this script

   Wenn Sie Oracle nicht von CD-ROM installieren, ko:nnen Sie
   Quelldatei fu:r root.sh vera:ndern. Sie heisst rthd.sh und
   befindet sich im orainst-Verzeichnis des Quellcodebaums.

     --------------------------------------------------------------

    10.6.4.2. genclntsh patchen

   Das Skript genclntsh wird verwendet, um eine Shared-Library fu:r
   Clients zu erzeugen. Diese wird bei der Erzeugung der Demos
   verwendet. Verwenden Sie folgenden Patch, um die Definition von
   PATH auszukommentieren:

 *** bin/genclntsh.orig Wed Sep 30 07:37:19 1998
 --- bin/genclntsh Tue Dec 22 15:36:49 1998
 ***************
 *** 32,38 ****
 #
 # Explicit path to ensure that we're using the correct commands
 #PATH=/usr/bin:/usr/ccs/bin export PATH
 ! PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH
 #
 # each product MUST provide a $PRODUCT/admin/shrept.lst
 --- 32,38 ----
 #
 # Explicit path to ensure that we're using the correct commands
 #PATH=/usr/bin:/usr/ccs/bin export PATH
 ! #PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH
 #
 # each product MUST provide a $PRODUCT/admin/shrept.lst

     --------------------------------------------------------------

  10.6.5. Oracle starten

   Wenn Sie den Anweisungen gefolgt sind, sollten Sie nun in der Lage
   sein, Oracle zu starten, genau so, wie Sie dies auch unter Linux
   tun wu:rden.

     --------------------------------------------------------------

10.7. SAP(R) R/3(R) installieren

   Beigetragen von Holger Kipp. Originalversion nach SGML konvertiert
   durch: Valentino Vaschetto.

   Installationen von SAP unter FreeBSD werden vom SAP Support-Team
   nicht unterstu:tzt - und SAP bietet Support nur fu:r zertifizierte
   Plattformen an!

     --------------------------------------------------------------

  10.7.1. U:bersicht

   Dieses Dokument beschreibt einen mo:glichen Weg, um ein
   SAP R/3-System mit Oracle Datenbank fu:r Linux auf einem
   FreeBSD-Rechner zu installieren, einschliesslich der Installation
   von FreeBSD und Oracle. Zwei verschiedene Konfigurationen werden
   beschrieben:

     * SAP R/3 4.6B (IDES) mit Oracle 8.0.5 unter FreeBSD 4.3-STABLE

     * SAP R/3 4.6C mit Oracle 8.1.7 unter FreeBSD 4.5-STABLE

   Obwohl dieses Dokument versucht, alle wichtigen Schritte
   ausfu:hrlich zu beschreiben, besteht nicht die Absicht, die
   originalen Installationsanleitungen von Oracle und SAP R/3 zu
   ersetzen.

   Benutzen Sie die mit SAP R/3 Linux Edition gelieferte
   Dokumentation fu:r SAP- und Oracle-spezifische Fragen, sowie die
   Ressourcen von Oracle und SAP-OSS.

     --------------------------------------------------------------

  10.7.2. Software/Programme

   Folgende CD-ROMs wurden fu:r die Installation von SAP verwendet:

     --------------------------------------------------------------

    10.7.2.1. SAP R/3 4.6B, Oracle 8.0.5

   Bezeichnung  Nummer                  Beschreibung                  
   KERNEL      51009113 SAP Kernel Oracle / Installation / AIX,       
                        Linux, Solaris                                
   RDBMS       51007558 Oracle / RDBMS 8.0.5.X / Linux                
   EXPORT1     51010208 IDES / DB-Export / Disc 1 of 6                
   EXPORT2     51010209 IDES / DB-Export / Disc 2 of 6                
   EXPORT3     51010210 IDES / DB-Export / Disc 3 of 6                
   EXPORT4     51010211 IDES / DB-Export / Disc 4 of 6                
   EXPORT5     51010212 IDES / DB-Export / Disc 5 of 6                
   EXPORT6     51010213 IDES / DB-Export / Disc 6 of 6                

   Zusa:tzlich wurde die Oracle 8 Server CD-ROM (Pre-production
   Version 8.0.5 fu:r Linux, Kernel Version 2.0.33) verwendet, die
   allerdings nicht unbedingt no:tig ist und FreeBSD 4.3-STABLE (die
   Installation wurde kurz nach dem Erscheinen von 4.3-RELEASE
   durchgefu:hrt).

     --------------------------------------------------------------

    10.7.2.2. SAP R/3 4.6C SR2, Oracle 8.1.7

   Bezeichnung  Nummer                  Beschreibung                  
   KERNEL      51014004 SAP Kernel Oracle / SAP Kernel Version 4.6D / 
                        DEC, Linux                                    
   RDBMS       51012930 Oracle 8.1.7/ RDBMS / Linux                   
   EXPORT1     51013953 Release 4.6C SR2 / Export / Disc 1 of 4       
   EXPORT1     51013953 Release 4.6C SR2 / Export / Disc 2 of 4       
   EXPORT1     51013953 Release 4.6C SR2 / Export / Disc 3 of 4       
   EXPORT1     51013953 Release 4.6C SR2 / Export / Disc 4 of 4       
   LANG1       51013954 Release 4.6C SR2 / Language / DE, EN, FR /    
                        Disc 1 of 3                                   

   Abha:ngig von den zu installierenden Sprachen kann es sein, dass
   zusa:tzliche Sprach-CDs no:tig sind. Da hier nur Deutsch und
   Englisch verwendet wurden, ist die erste Sprachen-CD ausreichend.
   Nebenbei bemerkt sind die Nummern aller vier Export-CDs identisch.
   Das heisst alle drei Sprachen-CDs haben diesselbe Nummer (das
   unterscheidet sie von der Nummerierung der 4.6B IDES-Version). Zum
   Zeitpunkt der Erstellung dieses Dokuments lief das System unter
   FreeBSD 4.5-STABLE (20.03.2002).

     --------------------------------------------------------------

  10.7.3. SAP-Notes

   Die folgenden Anmerkungen sollten vor der Installation von SAP R/3
   gelesen werden, da sie sich wa:hrend der Installation als
   nu:tzlich erwiesen haben.

     --------------------------------------------------------------

    10.7.3.1. SAP R/3 4.6B, Oracle 8.0.5

     Nummer                         Bezeichnung                       
   0171356    SAP Software on Linux: Essential Comments               
   0201147    INST: 4.6C R/3 Inst. on UNIX - Oracle                   
   0373203    Update / Migration Oracle 8.0.5 --> 8.0.6/8.1.6 LINUX   
   0072984    Release of Digital UNIX 4.0B for Oracle                 
   0130581    R3SETUP step DIPGNTAB terminates                        
   0144978    Your system has not been installed correctly            
   0162266    Questions and tips for R3SETUP on Windows NT/W2K        

     --------------------------------------------------------------

    10.7.3.2. SAP R/3 4.6C, Oracle 8.1.7

      Nummer                         Bezeichnung                      
   0015023       Initializing table TCPDB (RSXP0004) (EBCDIC)         
   0045619       R/3 with several languages or typefaces              
   0171356       SAP Software on Linux: Essential Comments            
   0195603       RedHat 6.1 Enterprise version: Known problems        
   0212876       The new archiving tool SAPCAR                        
   0300900       Linux: Released DELL Hardware                        
   0377187       RedHat 6.2: important remarks                        
   0387074       INST: R/3 4.6C SR2 Installation on UNIX              
   0387077       INST: R/3 4.6C SR2 Inst. on UNIX - Oracle            
   0387078       SAP Software on UNIX: OS Dependencies 4.6C SR2       

     --------------------------------------------------------------

  10.7.4. Hardware-Anforderungen

   Die folgende Ausstattung reicht fu:r die Installation eines
   SAP R/3 Systems aus. Fu:r Produktionszwecke beno:tigt man
   natu:rlich eine exakte Bestimmung dieser Gro:ssen:

       Komponente              4.6B                    4.6C           
   Prozessor          2 x 800MHz Pentium III  2 x 800MHz Pentium III  
   Hauptspeicher      1GB ECC                 2GB ECC                 
   Festplattenplatz   50-60GB (IDES)          50-60GB (IDES)          

   Fu:r Produktionszwecke sind Xeon Prozessoren mit grossem Cache,
   Hochgeschwindigkeitsspeicher (SCSI, RAID Hardware Controller), USV
   (unterbrechungsfreie Stromversorgung) und ECC-RAM empfehlenswert.
   Der grosse Bedarf an Festplattenplatz ergibt sich durch das
   vorkonfigurierte IDES System, welches wa:hrend der Installation
   27 GB Datenbankdateien erzeugt. Dieser Speicher ist auch fu:r neue
   Produktionssysteme und Anwendungsdaten ausreichend.

     --------------------------------------------------------------

    10.7.4.1. SAP R/3 4.6B, Oracle 8.0.5

   Folgende Standard-Hardware wurde verwendet: Ein
   Doppelprozessorboard mit zwei 800 MHz Pentium III Prozessoren,
   Adaptec 29160 Ultra160 SCSI Adaptern (zum Anschluss eines 40/80 GB
   DLT Bandlaufwerks und eines CD-ROM-Laufwerks), Mylex(R)
   AcceleRAID(TM) (2 Kana:le, Firmware 6.00-1-00 mit 32 MB RAM). An
   den Mylex RAID-Controller wurden 2 (gespiegelte) 17 GB Festplatten
   sowie vier 36 GB Festplatten (RAID level 5) angeschlossen.

     --------------------------------------------------------------

    10.7.4.2. SAP R/3 4.6C, Oracle 8.1.7

   Fu:r diese Installation wurde ein DELL PowerEdge 2500 verwendet:
   Ein Doppelprozessorboard mit zwei 1000 MHz Pentium III Prozessoren
   (256 kB Cache), 2 GB PC133 ECC SDRAM, PERC/3 DC PCI
   RAID-Controller mit 128 MB, und einem EIDE DVD-ROM Laufwerk. An
   den RAID-Controller sind zwei (gespiegelte) 18 GB Festplatten
   sowie vier 36 GB Festplatten (RAID level 5) angeschlossen.

     --------------------------------------------------------------

  10.7.5. Installation von FreeBSD

   Als erstes mu:ssen Sie FreeBSD installieren. Dazu gibt es mehrere
   Mo:glichkeiten, die in Abschnitt 2.13 des Handbuchs beschrieben
   werden.

     --------------------------------------------------------------

    10.7.5.1. Aufteilung der Festplatte

   Um das Ganze zu vereinfachen, wurde sowohl fu:r die SAP R/3 46B-
   als auch die SAP R/3 46C SR2-Installation die gleiche
   Platteneinteilung verwendet. Nur die Gera:tenamen a:nderten sich,
   da die Installationen auf verschiedenen Hardwareplattformen
   durchgefu:hrt wurden (Insbesondere /dev/da sowie /dev/amr; wenn
   also jemand z.B. ein AMI MegaRAID(R) verwendet, so wird er
   /dev/amr0s1a anstelle von /dev/da0s1a vorfinden.):

   Dateisystem     Gro:sse        HDD-Gro:sse      Gemountet nach     
                 (1k-blocks)         (GB)       
   /dev/da0s1a 1.016.303        1               /                     
   /dev/da0s1b                  6               Swap                  
   /dev/da0s1e 2.032.623        2               /var                  
   /dev/da0s1f 8.205.339        8               /usr                  
   /dev/da1s1e 45.734.361       45              /compat/linux/oracle  
   /dev/da1s1f 2.032.623        2               /compat/linux/sapmnt  
   /dev/da1s1g 2.032.623        2               /compat/linux/usr/sap 

   Konfigurieren und initialisieren Sie die zwei logischen Platten
   mit der Mylex- oder PERC/3 RAID Software, bevor Sie beginnen.
   Diese kann wa:hrend der BIOS-Bootphase gestartet werden.

   Beachten Sie bitte, dass sich diese Platteneinteilung etwas von
   den SAP-Empfehlungen unterscheidet, da SAP vorschla:gt, die
   Oracle-Unterverzeichnisse (und einige andere) separat einzuha:ngen
   - es ist jedoch einfacher, diese als reale Unterverzeichnisse zu
   erzeugen.

     --------------------------------------------------------------

    10.7.5.2. make world und ein neuer Kernel

   Laden Sie die neuesten STABLE-Quellen herunter. Aktualisieren Sie
   das System und erzeugen Sie einen neuen Kernel, nachdem Sie die
   Kernelkonfigurationsdatei angepasst haben. Zusa:tzlich sollten Sie
   die Kernel Parameter einfu:gen, die sowohl von SAP R/3 als auch
   von Oracle beno:tigt werden.

     --------------------------------------------------------------

  10.7.6. Installation der Linux-Umgebung

    10.7.6.1. Das Linux-Basissystem installieren

   Zuerst muss der Port linux_base als root installiert werden:

 # cd /usr/ports/emulators/linux_base-fc4
 # make install distclean

     --------------------------------------------------------------

    10.7.6.2. Die Linux-Entwicklungsumgebung installieren

   Die Linux-Entwicklungsumgebung wird beno:tigt, wenn Sie Oracle auf
   Ihrem FreeBSD-System installieren wollen (siehe Abschnitt 10.6):

 # cd /usr/ports/devel/linux_devtools
 # make install distclean

   Die Linux-Entwicklungsumgebung wurde hier jedoch nur fu:r die
   SAP R/3 46B IDES-Installation verwendet. Sie wird nicht beno:tigt,
   wenn die Oracle-Datenbank auf dem FreeBSD System nicht neu
   gebunden wird. Dies ist dann der Fall, wenn Sie den Oracle Tarball
   eines Linux-Systems verwenden.

     --------------------------------------------------------------

    10.7.6.3. Notwendige RPMs installieren

   Um das R3SETUP-Programm zu starten, wird PAM-Unterstu:tzung
   beno:tigt. Wa:hrend der ersten Installation von SAP unter FreeBSD
   4.3-STABLE wurde versucht, zuerst alle von PAM beno:tigten Pakete
   zu installieren. Anschliessend wurde die Installation von PAM
   erzwungen, was auch ohne Probleme funktionierte. Fu:r die folgende
   Installation von SAP R/3 4.6C SR2 wurde die Installation von PAM
   ohne die abha:ngigen Pakete direkt erzwungen und es funktionierte
   ebenfalls. Es sieht so aus, als wu:rden die abha:ngigen Pakete
   nicht beno:tigt.

 # rpm -i --ignoreos --nodeps --root /compat/linux --dbpath /var/lib/rpm \
 pam-0.68-7.i386.rpm

   Um den Intelligent-Agent von Oracle 8.0.5 auszufu:hren, musste das
   RedHat Tcl-Paket tcl-8.0.5-30.i386.rpm installiert werden, da
   sonst das Binden (link) wa:hrend der Oracle-Installation nicht
   funktionierte. Es gibt noch weitere Punkte beim Binden von Oracle,
   die aber die Kombination Oracle-Linux betreffen und nicht FreeBSD
   spezifisch sind.

     --------------------------------------------------------------

    10.7.6.4. Zusa:tzliche Hinweise

   Eine gute Idee ist es, linprocfs in /etc/fstab einzufu:gen;
   weitere Informationen dazu erhalten Sie in der Hilfeseite
   linprocfs(5). Weiterhin sollten Sie in der Datei /etc/sysctl.conf
   die Zeile kern.fallback_elf_brand=3 einfu:gen.

     --------------------------------------------------------------

  10.7.7. Die SAP R/3-Umgebung erzeugen

    10.7.7.1. Die no:tigen Dateisysteme erzeugen

   Fu:r eine einfache Installation reicht es aus, folgende
   Dateisysteme zu erzeugen:

               Dateisysteme                     Gro:sse in GB         
   /compat/linux/oracle                  45 GB                        
   /compat/linux/sapmnt                  2 GB                         
   /compat/linux/usr/sap                 2 GB                         

   Ausserdem mu:ssen einige Links angelegt werden. Ansonsten
   beschwert sich der SAP-Installer, wenn er die erzeugten Links
   u:berpru:ft:

 # ln -s /compat/linux/oracle /oracle
 # ln -s /compat/linux/sapmnt /sapmnt
 # ln -s /compat/linux/usr/sap /usr/sap

   Eine Fehlermeldung wa:hrend der Installation (hier unter dem
   PRD-System und SAP R/3 4.6C SR2 ko:nnte beispielsweise so
   aussehen:

 INFO 2002-03-19 16:45:36 R3LINKS_IND_IND SyLinkCreate:200
     Checking existence of symbolic link /usr/sap/PRD/SYS/exe/dbg to
     /sapmnt/PRD/exe. Creating if it does not exist...

 WARNING 2002-03-19 16:45:36 R3LINKS_IND_IND SyLinkCreate:400
     Link /usr/sap/PRD/SYS/exe/dbg exists but it points to file
     /compat/linux/sapmnt/PRD/exe instead of /sapmnt/PRD/exe. The
     program cannot go on as long as this link exists at this
     location. Move the link to another location.

 ERROR 2002-03-19 16:45:36 R3LINKS_IND_IND Ins_SetupLinks:0
     can not setup link '/usr/sap/PRD/SYS/exe/dbg' with content
     '/sapmnt/PRD/exe'

     --------------------------------------------------------------

    10.7.7.2. Benutzer und Verzeichnisse anlegen

   SAP R/3 beno:tigt zwei Benutzer und drei Benutzergruppen. Die
   Benutzernamen ha:ngen von der (aus drei Buchstaben bestehenden)
   SAP-System-ID (SID) ab. Einige dieser SIDs sind von SAP reserviert
   (z.B. SAP und NIX. Fu:r eine komplette U:bersicht schlagen Sie
   bitte in der SAP-Dokumentation nach. Fu:r die IDES-Installation
   wurde IDS verwendet, fu:r die 4.6C-SR2-Installation PRD, da das
   System fu:r Produktionszwecke eingesetzt werden sollte. Daraus
   ergaben sich folgende Gruppen (die Gruppen-IDs ko:nnen variieren,
   es handelt sich nur um Werte, die fu:r diese spezielle
   Installation verwendet wurden):

      Gruppen-ID        Gruppen-Name            Beschreibung          
   100               dba                Datenbank-Administrator       
   101               sapsys             SAP System                    
   102               oper               Datenbank-Operator            

   Bei einer Standard-Oracle-Installation wird nur die Gruppe dba
   verwendet. Fu:r die Gruppe oper wird ebenfalls die Gruppe dba
   verwendet (weitere Informationen finden sich in der Oracle- und
   SAP-Dokumentation).

   Zusa:tzlich werden auch folgende Benutzer beno:tigt:

 Benutzer-ID Benutzername  Generischer Gruppe Zusa:tzliche Beschreibung  
                              Name              Gruppen    
 1000        idsadm/prdadm sidadm      sapsys oper         SAP           
                                                           Administrator 
 1002        oraids/oraprd orasid      dba    oper         Oracle        
                                                           Administrator 

   Fu:r das Anlegen des SAP-Administrators mittels adduser(8) werden
   folgende Eintra:ge (beachten Sie bitte die Shell und das
   Heimatverzeichnis) beno:tigt:

 Name: sidadm
 Password: ******
 Fullname: SAP Administrator SID
 Uid: 1000
 Gid: 101 (sapsys)
 Class:
 Groups: sapsys dba
 HOME: /home/sidadm
 Shell: bash  (/compat/linux/bin/bash)

   und fu:r den Datenbank-Administrator:

 Name: orasid
 Password: ******
 Fullname: Oracle Administrator SID
 Uid: 1002
 Gid: 100 (dba)
 Class:
 Groups: dba
 HOME: /oracle/sid
 Shell: bash  (/compat/linux/bin/bash)

   Wenn Sie beide Gruppen (dba und oper) verwenden, sollte auch die
   Gruppe oper hinzugefu:gt werden.

     --------------------------------------------------------------

    10.7.7.3. Verzeichnisse erzeugen

   Diese Verzeichnisse werden gewo:hnlich als eigene Dateisysteme
   erzeugt und gemountet. Letztlich liegt dies aber an Ihren
   Anforderungen an das System. Hier wurden sie als einfache
   Verzeichnisse angelegt, die sich alle im gleichen RAID5 befinden:

   Zuerst werden die Eigentu:mer und Rechte fu:r einige Verzeichnisse
   (als Benutzer root) gesetzt:

 # chmod 775 /oracle
 # chmod 777 /sapmnt
 # chown root:dba /oracle
 # chown sidadm:sapsys /compat/linux/usr/sap
 # chmod 775 /compat/linux/usr/sap

   Danach werden (als Benutzer orasid) einige Verzeichnisse erzeugt,
   die alle Unterverzeichnisse von /oracle/SID sind:

 # su - orasid
 # cd /oracle/SID
 # mkdir mirrlogA mirrlogB origlogA origlogB
 # mkdir sapdata1 sapdata2 sapdata3 sapdata4 sapdata5 sapdata6
 # mkdir saparch sapreorg
 # exit

   Fu:r die Oracle 8.1.7-Installation werden ebenfalls zusa:tzliche
   Verzeichnisse beno:tigt:

 # su - orasid
 # cd /oracle
 # mkdir 805_32
 # mkdir client stage
 # mkdir client/80x_32
 # mkdir stage/817_32
 # cd /oracle/SID
 # mkdir 817_32

     Anmerkung: Das Verzeichnis client/80x_32 muss genau so genannt
     werden. Versuchen Sie nicht, das x durch eine Zahl oder einen
     Buchstaben zu ersetzen.

   Im dritten Schritt werden wiederum Verzeichnisse (als Benutzer
   sidadm) erzeugt:

 # su - sidadm
 # cd /usr/sap
 # mkdir SID
 # mkdir trans
 # exit

     --------------------------------------------------------------

    10.7.7.4. Eintra:ge in /etc/services

   SAP R/3 beno:tigt einige Eintra:ge in /etc/services, die wa:hrend
   der Installation unter FreeBSD nicht richtig gesetzt werden. Sie
   beno:tigen mindestens die zur Instanzennummer, in diesem Fall 00,
   passenden Eintra:ge. Es ist auch mo:glich, direkt alle Eintra:ge
   fu:r dp, gw, sp und ms von 00 bis 99 einzufu:gen. Wenn Sie einen
   SAP-Router verwenden, oder den Zugang zu SAP-OSS beno:tigen,
   mu:ssen Sie auch 99 einfu:gen, da der Port 3299 normalerweise fu:r
   den SAP-Router-Prozess auf dem Zielsystem beno:tigt wird:

 sapdp00    3200/tcp # SAP Dispatcher.      3200 + Instance-Number
 sapgw00  3300/tcp # SAP Gateway.         3300 + Instance-Number
 sapsp00  3400/tcp #                      3400 + Instance-Number
 sapms00  3500/tcp #                      3500 + Instance-Number
 sapmsSID 3600/tcp # SAP Message Server.  3600 + Instance-Number
 sapgw00s   4800/tcp # SAP Secure Gateway   4800 + Instance-Number

     --------------------------------------------------------------

    10.7.7.5. Notwendige Lokalisierungen

   SAP beno:tigt mindestens zwei Lokalisierungen, die nicht Teil der
   RedHat-Standardinstallation sind. SAP bietet diese als RPMs auf
   ihrem FTP-Server als Downloads an (diese sind aber nur dann
   zuga:nglich, wenn Sie ein Kunde mit OSS-Zugang sind). Fu:r eine
   U:bersicht der notwendigen RPMs lesen Sie bitte den SAP-Hinweis
   0171356.

   Es ist auch mo:glich, nur die passenden Links (z.B. von de_DE und
   en_US) zu erzeugen, diese Vorgehensweise wird aber nicht nicht
   empfohlen (obwohl es bisher beim IDES-System ohne Probleme
   funktioniert hat). Folgende Lokalisationen werden beno:tigt:

 de_DE.ISO-8859-1
 en_US.ISO-8859-1

   Erzeugen Sie die Links wie folgt:

 # cd /compat/linux/usr/share/locale
 # ln -s de_DE de_DE.ISO-8859-1
 # ln -s en_US en_US.ISO-8859-1

   Sind diese nicht vorhanden, wird es wa:hrend der Installation zu
   einigen Problemen kommen. Wenn diese konsequent ignoriert werden
   (indem der fehlgeschlagene Schritt in CENTRDB.R3S auf OK gesetzt
   wird), ist es ohne gro:sseren Aufwand nicht mehr mo:glich, sich am
   SAP-System anzumelden.

     --------------------------------------------------------------

    10.7.7.6. Kernel-Tuning

   SAP R/3-Systeme verbrauchen sehr viele Ressourcen. Deshalb wurden
   folgende Parameter in die Kernelkonfigurationsdatei eingefu:gt:

 # Set these for memory pigs (SAP and Oracle):
 options MAXDSIZ="(1024*1024*1024)"
 options DFLDSIZ="(1024*1024*1024)"
 # System V options needed.
 options SYSVSHM #SYSV-style shared memory
 options SHMMAXPGS=262144 #max amount of shared mem. pages
 #options SHMMAXPGS=393216 #use this for the 46C inst.parameters
 options SHMMNI=256 #max number of shared memory ident if.
 options SHMSEG=100 #max shared mem.segs per process
 options SYSVMSG #SYSV-style message queues
 options MSGSEG=32767 #max num. of mes.segments in system
 options MSGSSZ=32 #size of msg-seg. MUST be power of 2
 options MSGMNB=65535 #max char. per message queue
 options MSGTQL=2046 #max amount of msgs in system
 options SYSVSEM #SYSV-style semaphores
 options SEMMNU=256 #number of semaphore UNDO structures
 options SEMMNS=1024 #number of semaphores in system
 options SEMMNI=520 #number of semaphore indentifiers
 options SEMUME=100       #number of UNDO keys

   Die minimalen Werte sind in der von SAP kommenden Dokumentation
   festgelegt. Da es keine Beschreibung fu:r Linux (und daher auch
   nicht fu:r FreeBSD) gibt, entnehmen Sie weitere Informationen dem
   HP-UX-Abschnitt (32-Bit). Da das System fu:r die 4.6C
   SR2-Installation u:ber mehr Hauptspeicher verfu:gte, ko:nnen die
   Shared-Segments fu:r SAP und Oracle gro:sser sein. Wa:hlen Sie
   daher eine gro:ssere Anzahl von Shared-Memory-Pages.

     Anmerkung: Bei einer FreeBSD-Standardinstallation auf
     i386-Systemen belassen Sie MAXDSIZ und DFLDSIZ auf dem Maximum
     von 1 GB. Ansonsten ko:nnten seltsame Fehlermeldungen, wie
     "ORA-27102: out of memory" oder "Linux Error: 12: Cannot
     allocate memory" auftreten.

     --------------------------------------------------------------

  10.7.8. SAP R/3 installieren

    10.7.8.1. Die SAP CD-ROMs vorbereiten

   Fu:r eine Installation werden viele CD-ROMs beno:tigt, die
   gemountet und ungemountet werden mu:ssen. Wenn Sie genu:gend
   CD-ROM-Laufwerke haben, ko:nnen Sie alle gleichzeitig gemountet
   werden. Ansonsten kopiert man die CD-ROM-Inhalte einfach in die
   entsprechenden Verzeichnisse,

 /oracle/SID/sapreorg/cd-name

   wobei cd-name KERNEL, RDBMS, EXPORT1, EXPORT2, EXPORT3, EXPORT4,
   EXPORT5 und EXPORT6 bei einer 4.6B/IDES-Installation und KERNEL,
   RDBMS, DISK1, DISK2, DISK3, DISK4 und LANG bei einer 4.6C
   SR2-Installation entspricht. Die Dateinamen auf den gemounteten
   CDs sollten aus Grossbuchstaben bestehen. Ist dies nicht der Fall,
   verwenden Sie zum Mounten die Option -g. Fu:r das Kopieren der
   CD-Inhalte verwenden Sie folgenden Befehle:

 # mount_cd9660 -g /dev/cd0a /mnt
 # cp -R /mnt/* /oracle/SID/sapreorg/cd-name
 # umount /mnt

     --------------------------------------------------------------

    10.7.8.2. Das Installations-Skript ausfu:hren

   Als erstes mu:ssen Sie ein Installationsverzeichnis anlegen:

 # cd /oracle/SID/sapreorg
 # mkdir install
 # cd install

   Anschliessend wird das Installations-Skript gestartet, das nahezu
   alle relevanten Daten in das Installationsverzeichnis kopiert:

 # /oracle/SID/sapreorg/KERNEL/UNIX/INSTTOOL.SH

   Die IDES-Installation (4.6B) wird mit einem vollsta:ndig
   angepassten SAP R/3 Demo-System geliefert, das heisst es gibt
   sechs statt drei Export-CDs. Da CENTRDB.R3S fu:r eine
   Standard-Zentralinstanz (R/3 plus Datenbank) ausgelegt ist, aber
   nicht fu:r eine IDES-Zentralinstanz, muss die passende
   CENTRDB.R3S-Datei manuell aus dem Verzeichnis EXPORT1 in das
   Installationsverzeichnis kopiert werden, da R3SETUP ansonsten nur
   nach drei EXPORT-CDs verlangt.

   Die aktuellere Version SAP 4.6C SR2 wird mit vier EXPORT-CDs
   geliefert. Die die Installation u:berwachende Parameter-Datei
   heisst hier CENTRAL.R3S. Im Gegensatz zu fru:heren Versionen gibt
   es nun keine separaten Vorlagen fu:r die Installation von
   Zentralinstanzen mit und ohne Datenbank mehr. SAP verwendet eine
   eigene Vorlage fu:r die Datenbankinstallation. Um die Installation
   spa:ter erneut starten, ist es jedoch ausreichend, die
   Installation mit der urspru:nglichen Datei zu starten.

   Wa:hrend und nach der Installation beno:tigt SAP hostname, um den
   Rechnernamen, aber nicht den vollsta:ndigen Domain-Namen zu
   erhalten. Setzen Sie also entweder den Rechnernamen entsprechend,
   oder setzen Sie einen Alias mit alias hostname='hostname -s' fu:r
   die Benutzer orasid und sidadm (Und zusa:tzlich fu:r root. Dies
   zumindest fu:r die Installationsschritte, die als root ausgefu:hrt
   werden mu:ssen.). Ausserdem ist es mo:glich, nur die wa:hrend der
   SAP-Installation erstellten Dateien .profile und .login beider
   Benutzer anzupassen.

     --------------------------------------------------------------

    10.7.8.3. R3SETUP 4.6B starten

   Stellen Sie sicher, dass LD_LIBRARY_PATH korrekt gesetzt wurde:

 # export LD_LIBRARY_PATH=/oracle/IDS/lib:/sapmnt/IDS/exe:/oracle/805_32/lib

   Gehen Sie in das Installationsverzeichnis und starten Sie R3SETUP
   als root:

 # cd /oracle/IDS/sapreorg/install
 # ./R3SETUP -f CENTRDB.R3S

   Das Skript stellt anschliessend einige Fragen (Vorgaben stehen
   dabei in Klammern, gefolgt von den aktuellen Eingaben):

     Frage              Vorgabe                       Eingabe            
   Enter SAP [C11]                          IDSEnter                     
   System ID                                
   Enter SAP                                                             
   Instance  [00]                           Enter
   Number                                   
   Enter                                                                 
   SAPMOUNT  [/sapmnt]                      Enter
   Directory                                
   Enter                                                                 
   name of                                  
   SAP       [troubadix.domain.de]          Enter
   central                                  
   host                                     
   Enter                                                                 
   name of   [troubadix]                    Enter
   SAP db                                   
   host                                     
   Select                                                                
   character [1] (WE8DEC)                   Enter
   set                                      
   Enter                                                                 
   Oracle                                   
   server                                   
   version                                  
   (1)                                      
   Oracle                                   
   8.0.5,                                   
   (2)                                      1Enter
   Oracle                                   
   8.0.6,                                   
   (3)                                      
   Oracle                                   
   8.1.5,                                   
   (4)                                      
   Oracle                                   
   8.1.6                                    
   Extract                                                               
   Oracle    [1] (Yes, extract)             Enter
   Client                                   
   archive                                  
   Enter                                                                 
   path to   [/sapcd]                       /oracle/IDS/sapreorg/KERNEL
   KERNEL CD                                
   Enter                                                                 
   path to   [/sapcd]                       /oracle/IDS/sapreorg/RDBMS
   RDBMS CD                                 
   Enter                                                                 
   path to   [/sapcd]                       /oracle/IDS/sapreorg/EXPORT1
   EXPORT1                                  
   CD                                       
   Directory                                                             
   to copy   [/oracle/IDS/sapreorg/CD4_DIR] Enter
   EXPORT1                                  
   CD                                       
   Enter                                                                 
   path to   [/sapcd]                       /oracle/IDS/sapreorg/EXPORT2
   EXPORT2                                  
   CD                                       
   Directory                                                             
   to copy   [/oracle/IDS/sapreorg/CD5_DIR] Enter
   EXPORT2                                  
   CD                                       
   Enter                                                                 
   path to   [/sapcd]                       /oracle/IDS/sapreorg/EXPORT3
   EXPORT3                                  
   CD                                       
   Directory                                                             
   to copy   [/oracle/IDS/sapreorg/CD6_DIR] Enter
   EXPORT3                                  
   CD                                       
   Enter                                                                 
   path to   [/sapcd]                       /oracle/IDS/sapreorg/EXPORT4
   EXPORT4                                  
   CD                                       
   Directory                                                             
   to copy   [/oracle/IDS/sapreorg/CD7_DIR] Enter
   EXPORT4                                  
   CD                                       
   Enter                                                                 
   path to   [/sapcd]                       /oracle/IDS/sapreorg/EXPORT5
   EXPORT5                                  
   CD                                       
   Directory                                                             
   to copy   [/oracle/IDS/sapreorg/CD8_DIR] Enter
   EXPORT5                                  
   CD                                       
   Enter                                                                 
   path to   [/sapcd]                       /oracle/IDS/sapreorg/EXPORT6
   EXPORT6                                  
   CD                                       
   Directory                                                             
   to copy   [/oracle/IDS/sapreorg/CD9_DIR] Enter
   EXPORT6                                  
   CD                                       
   Enter                                                                 
   amount of                                850Enter (in Megabytes)
   RAM for                                  
   SAP + DB                                 
   Service                                                               
   Entry     [3600]                         Enter
   Message                                  
   Server                                   
   Enter                                                                 
   Group-ID  [101]                          Enter
   of sapsys                                
   Enter                                                                 
   Group-ID  [102]                          Enter
   of oper                                  
   Enter                                                                 
   Group-ID  [100]                          Enter
   of dba                                   
   Enter                                                                 
   User-ID   [1000]                         Enter
   of sidadm                                
   Enter                                                                 
   User-ID   [1002]                         Enter
   of orasid                                
   Number of                                                             
   parallel  [2]                            Enter
   procs                                    

   Wenn Sie die CD-Inhalte nicht in verschiedene Verzeichnisse
   kopiert haben, findet das SAP-Installationsprogramm die
   beno:tigten CDs nicht (diese sind durch die Datei LABEL.ASC
   gekennzeichnet) und wu:rde von Ihnen verlangen, entweder die CD
   einzulegen und zu mounten oder den entsprechenden mount-Pfad
   einzugeben.

   CENTRDB.R3S ist mo:glicherweise nicht fehlerfrei. Im vorliegenden
   Fall wurde die CD EXPORT4 zwar erneut verlangt, dennoch wurde der
   richtige Schlu:ssel (6_LOCATION, danach 7_LOCATION) vorgeschlagen.
   Daher ist es problemlos mo:glich, durch Eingabe der korrekten
   Werte fortzufahren.

   Abgesehen von einigen kleineren (unten angefu:hrten) Problemen,
   sollte nun bis zur Installation der Oracle-Datenbank alles ohne
   Probleme ablaufen.

     --------------------------------------------------------------

    10.7.8.4. R3SETUP 4.6C SR2 starten

   Stellen Sie sicher, dass LD_LIBRARY_PATH korrekt gesetzt ist.
   Dieser Wert unterscheidet sich von dem der 4.6B-Oracle
   8.0.5-Installation:

 # export LD_LIBRARY_PATH=/sapmnt/PRD/exe:/oracle/PRD/817_32/lib

   Gehen Sie in das Installationsverzeichnis und fu:hren Sie R3SETUP
   als root aus:

 # cd /oracle/PRD/sapreorg/install
 # ./R3SETUP -f CENTRAL.R3S

   Das Skript stellt anschliessend einige Fragen (Vorgaben in
   Klammern, gefolgt von den aktuellen Eingaben):

            Frage             Vorgabe               Eingabe           
   Enter SAP System ID     [C11]          PRDEnter                    
   Enter SAP Instance      [00]           Enter                       
   Number                                 
   Enter SAPMOUNT          [/sapmnt]      Enter                       
   Directory                              
   Enter name of SAP       [majestix]     Enter                       
   central host                           
   Enter Database System   [PRD]          PRDEnter                    
   ID                                     
   Enter name of SAP db    [majestix]     Enter                       
   host                                   
   Select character set    [1] (WE8DEC)   Enter                       
   Enter Oracle server                                                
   version (2) Oracle                     2Enter
   8.1.7                                  
   Extract Oracle Client   [1] (Yes,      Enter                       
   archive                 extract)       
   Enter path to KERNEL CD [/sapcd]       /oracle/PRD/sapreorg/KERNEL 
   Enter amount of RAM for 2044           1800Enter (in Megabytes)    
   SAP + DB                               
   Service Entry Message   [3600]         Enter                       
   Server                                 
   Enter Group-ID of       [100]          Enter                       
   sapsys                                 
   Enter Group-ID of oper  [101]          Enter                       
   Enter Group-ID of dba   [102]          Enter                       
   Enter User-ID of oraprd [1002]         Enter                       
   Enter User-ID of prdadm [1000]         Enter                       
   LDAP support                           3Enter (no support)         
   Installation step       [1] (continue) Enter                       
   completed                              
   Choose installation     [1] (DB        Enter                       
   service                 inst,file)     

   Bisher verursacht das Anlegen von Benutzern eine Fehlermeldung
   wa:hrend der Installation, und zwar in den Stadien
   OSUSERDBSID_IND_ORA (beim Anlegen des Benutzers orasid), sowie in
   OSUSERSIDADM_IND_ORA (beim Anlegen des Benutzers sidadm).

   Abgesehen von einigen kleineren (unten angefu:hrten) Problemen,
   sollte nun bis zur Installation der Oracle-Datenbank alles ohne
   Probleme ablaufen.

     --------------------------------------------------------------

  10.7.9. Oracle 8.0.5 installieren

   Lesen Sie bitte die entsprechenden SAP-Hinweise und Oracle-Readmes
   fu:r Probleme, die Linux und die Oracle-Datenbank betreffen. Die
   meisten (wenn nicht alle) Probleme werden durch inkompatible
   Bibliotheken verursacht.

   Weiteres zur Oracle-Installation finden Sie im Kapitel
   Installation von Oracle.

     --------------------------------------------------------------

    10.7.9.1. Oracle 8.0.5 mit orainst installieren

   Wenn Oracle 8.0.5 verwendet wird, werden einige zusa:tzliche
   Bibliotheken beno:tigt, da Oracle 8.0.5 mit einer alten Version
   von glibc verlinkt wurde, RedHat 6.1 aber bereits eine aktuellere
   Version verwendet. Daher mu:ssen Sie folgende zusa:tzliche Pakte
   installieren, um sicherzustellen, dass die Verlinkung
   ordnungsgema:ss erfolgt:

     * compat-libs-5.2-2.i386.rpm

     * compat-glibc-5.2-2.0.7.2.i386.rpm

     * compat-egcs-5.2-1.0.3a.1.i386.rpm

     * compat-egcs-c++-5.2-1.0.3a.1.i386.rpm

     * compat-binutils-5.2-2.9.1.0.23.1.i386.rpm

   Lesen Sie bitte die entsprechenden SAP-Hinweise und die
   Oracle-Readmes. Ist dies nicht mo:glich (z.B. aus Zeitmangel, oder
   bei Nichtvorhandensein dieser Unterlagen), besteht auch die
   Mo:glichkeit, die originalen Bina:rdateien oder die verlinkten
   Bina:rdateien eines RedHat-Systems zu verwenden.

   Um den Intelligent-Agent zu kompilieren, muss das RedHat Tcl-Paket
   installiert sein. Wenn Sie tcl-8.0.3-20.i386.rpm nicht bekommen
   ko:nnen, sollte es auch problemlos mo:glich sein, eine neuere
   Version, z.B. tcl-8.0.5-30.i386.rpm fu:r RedHat 6.1, zu verwenden.

   Vom Binden abgesehen, la:uft die Installation wie folgt ab:

 # su - oraids
 # export TERM=xterm
 # export ORACLE_TERM=xterm
 # export ORACLE_HOME=/oracle/IDS
 # cd $ORACLE_HOME/orainst_sap
 # ./orainst

   Besta:tigen Sie alle Meldungen mit Enter, bis die Software
   installiert ist. Einzige Ausnahme ist die Frage nach der
   Installation des Oracle On-Line Text Viewers. Dieser ist unter
   Linux (noch) nicht verfu:gbar. Daher muss diese Option deaktiviert
   werden. Anschliessend will sich Oracle unter Verwendung von
   i386-glibc20-linux-gcc anstelle der verfu:gbaren gcc, egcs oder
   i386-redhat-linux-gcc verlinken.

   Auf Grund zeitlicher Einschra:nkungen wurden fu:r die Installation
   die Bina:rdateien der Oracle 8.0.5 PreProduction-Version
   verwendet, nachdem sich der erste Versuch, die Version von der
   RDBMS-CD zum Laufen zu bringen, sowie die richtigen RPMs zu finden
   und zu installieren, zum Alptraum entwickelt hatte.

     --------------------------------------------------------------

    10.7.9.2. Oracle 8.0.5 Pre-Production fu:r Linux (Kernel 2.0.33)
    installieren

   Diese Installation ist relativ einfach. Mounten Sie die CD und
   starten Sie den Installer. Danach wa:hlen Sie das
   Oracle-Heimatverzeichnis und kopieren Sie die Bina:rdateien
   dorthin. Die U:berreste der vorherigen RDBMS-Installationsversuche
   werden dabei nicht entfernt.

   Danach konnte die Oracle-Datenbank ohne Probleme gestartet werden.

     --------------------------------------------------------------

  10.7.10. Das Oracle 8.1.7-Linux-Archiv entpacken

   Nehmen Sie das aus dem Installationsverzeichnis eines
   Linux-Systems erstellte Archiv oracle81732.tgz und entpacken Sie
   es nach /oracle/SID/817_32/.

     --------------------------------------------------------------

  10.7.11. Mit der SAP R/3-Installation fortfahren

   U:berpru:fen Sie als Erstes die Umgebungseinstellungen der
   Benutzer idsamd(sidadm) und oraids (orasid). Beide sollten nun die
   Dateien .profile, .login und .cshrc enthalten, die alle hostname
   benutzen. Falls der Rechnername Ihres Systems der vollsta:ndige
   Rechnername ist, mu:ssen Sie in allen drei Dateien hostname in
   hostname -s a:ndern.

     --------------------------------------------------------------

    10.7.11.1. Datenbanken laden

   Danach kann R3SETUP entweder erneut gestartet oder fortgesetzt
   werden (je nachdem, ob Sie das Programm zuvor beendet hatten oder
   nicht). R3SETUP erzeugt nun die Tablespaces und la:dt die Daten
   (fu:r 46B IDES von EXPORT1 bis EXPORT6, fu:r 46C von DISK1 bis
   DISK4) mittels R3load in die Datenbank.

   Wenn das Laden der Datenbank abgeschlossen ist (dieser Vorgang
   kann einige Stunden dauern!), werden einige Passwo:rter
   angefordert. Fu:r Testinstallationen ko:nnen auch
   Standard-Passwo:rter verwendet werden. Liegt Ihnen allerdings
   etwas an der Sicherheit Ihres Systems, so verwenden Sie andere
   Passwo:rter.

                  Frage                           Eingabe             
   Enter Password for sapr3            sapEnter                       
   Confirum Password for sapr3         sapEnter                       
   Enter Password for sys              change_on_installEnter         
   Confirm Password for sys            change_on_installEnter         
   Enter Password for system           managerEnter                   
   Confirm Password for system         managerEnter                   

   An diesem Punkt gab es wa:hrend der 4.6B-Installation einige
   Probleme mit dipgntab.

     --------------------------------------------------------------

    10.7.11.2. Listener

   Starten Sie den Oracle-Listener als Benutzer orasid wie folgt:

 % umask 0; lsnrctl start

   Ansonsten ko:nnten Sie die Meldung ORA-12546 erhalten, da die
   Sockets nicht u:ber die korrekten Berechtigungen verfu:gen werden.
   Lesen Sie dazu auch den SAP-Hinweis 072984.

     --------------------------------------------------------------

    10.7.11.3. MNLS-Tabellen aktualisieren

   Wenn Sie Nicht-Latin-1-Sprachen in das SAP-System einbauen wollen,
   mu:ssen Sie die MNLS (Multi National Language Support)-Tabellen
   aktualisieren. Dies wird in den SAP-OSS-Hinweisen 15023 und 45619
   beschrieben. Ansonsten ko:nnen Sie diese Frage wa:hrend der
   SAP-Installation u:berspringen.

     Anmerkung: Wenn Sie MNLS nicht beno:tigen, ist es trotzdem
     no:tig, die Tabelle TCPDB zu u:berpru:fen und zu initialisieren,
     falls dies nicht bereits geschehen ist. Lesen Sie die
     SAP-Hinweise 0015023 und 0045619, falls Sie weitere
     Informationen beno:tigen.

     --------------------------------------------------------------

  10.7.12. Abschliessende Aufgaben

    10.7.12.1. SAP R/3-Lizenzschlu:ssel anfordern

   Sie mu:ssen Ihren SAP R/3-Lizenzschlu:ssel anfordern, da die zur
   Installation verwendete Lizenz nur fu:r vier Wochen gu:ltig ist.
   Dazu ermitteln Sie zuerst Ihren Hardwareschlu:ssel. Melden Sie
   sich als idsadm an und rufen Sie saplicense auf:

 # /sapmnt/IDS/exe/saplicense -get

   Wird saplicense ohne Optionen aufgerufen, so erhalten Sie eine
   U:bersicht der mo:glichen Optionen. Nach Erhalt des
   Lizenzschlu:ssels kann dieser installiert werden:

 # /sapmnt/IDS/exe/saplicense -install

   Nun mu:ssen Sie folgende Daten eingeben:

 SAP SYSTEM ID   = SID, 3 Zeichen
 CUSTOMER KEY    = Hardware-Schlu:ssel, 11 Zeichen
 INSTALLATION NO = Installation, 10 Ziffern
 EXPIRATION DATE = JJJJMMTT, normalerweise "99991231"
 LICENSE KEY     = Lizenzschlu:ssel, 24 Zeichen

     --------------------------------------------------------------

    10.7.12.2. Benutzer anlegen

   Erzeugen Sie einen Benutzer innerhalb von client 000 (fu:r einige
   Aufgaben muss dies innerhalb von client 000 erfolgen, aber nicht
   als Benutzer sap* und ddic). Als Benutzername empfiehlt sich
   beispielsweise wartung (oder auf Englisch service). Beno:tigte
   Profile sind sap_new und sap_all. Aus Sicherheitsgru:nden sollten
   die Passwo:rter der Standardbenutzer in allen Clients gea:ndert
   werden (dies gilt auch fu:r die Benutzer sap* und ddic).

     --------------------------------------------------------------

    10.7.12.3. Transportsystem, Profile, Betriebsarten usw.
    konfigurieren

   Innerhalb von client 000 fu:hren andere Benutzer als ddic und sap*
   normalerweise folgende Aufgaben durch:

                          Aufgabe                         Transaktion 
   Konfiguration des Transportsystems, beispielsweise als STMS        
   Stand-Alone Transport Domain Entity                    
   Erstellen und Editieren von Profilen                   RZ10        
   Pflege von Betriebsarten und Instanzen                 RZ04        

   Diese sowie alle anderen Post-Installationsschritte sind
   ausfu:hrlich in den SAP-Installationsanleitungen beschrieben.

     --------------------------------------------------------------

    10.7.12.4. initsid.sap (initIDS.sap) anpassen

   Die Datei /oracle/IDS/dbs/initIDS.sap entha:lt das
   SAP-Sicherungsprofil. Hier sind die Gro:sse des verwendeten
   Band(laufwerks), die Kompressionsart und so weiter festgelegt. Um
   dieses Profil mit sapdba oder brbackup auszufu:hren, wurden
   folgende Werte gea:ndert:

 compress = hardware
 archive_function = copy_delete_save
 cpio_flags = "-ov --format=newc --block-size=128 --quiet"
 cpio_in_flags = "-iuv --block-size=128 --quiet"
 tape_size = 38000M
 tape_address = /dev/nsa0
 tape_address_rew = /dev/sa0

   Erkla:rungen:

   compress: Das verwendete Bandlaufwerk war ein HP DLT1. Dieses
   unterstu:tzt Hardware-Kompression.

   archive_function: Hier wird das Standardverhalten beim Sichern von
   Oracle-Archivprotokollen festgelegt. Neue Protokolldateien werden
   auf Band gespeichert, bereits gespeicherte erneut gespeichert und
   anschliessend gelo:scht. Dies verhindert eine Vielzahl von
   Problemen, falls Sie Ihre Datenbank wiederherstellen mu:ssen und
   dabei feststellen, dass eins Ihrer Archivba:nder defekt ist.

   cpio_flags: Standardma:ssig wird -B verwendet. Dies setzt die
   Blockgro:sse auf 5120 Bytes. Fu:r DLT-Ba:nder werden von HP
   mindestens 32 K Blockgro:sse empfohlen, daher wurde hier
   --block-size=128 verwendet, um 64 KB-blo:cke zu erzeugen.
   --format=newc wurde beno:tigt, da das Installationssystem u:ber
   mehr als 65535 Inodes verfu:gt. Die letzte Option --quiet ist
   notwendig, weil brbackup sich sonst beschwert, wenn die cpio die
   Anzahl der gespeicherten Blo:cke ausgibt.

   cpio_in_flags: Flags, die zum Laden der Daten vom Band beno:tigt
   werden. Das Format wird dabei automatisch erkannt.

   tape_size: Damit wird die maximale Speicherkapazita:t des Bandes
   angegeben. Aus Sicherheitsgru:nden (das Bandlaufwerk unterstu:tzt
   Hardware-Kompression) ist dieser Wert geringfu:gig kleiner als der
   aktuelle Wert.

   tape_address: Nicht zuru:ckspulendes Gera:t fu:r cpio.

   tape_address_rew: Zuru:ckspulendes Gera:t fu:r cpio.

     --------------------------------------------------------------

    10.7.12.5. Konfiguration nach Installationsende

   Die folgenden SAP-Parameter sollten nach der Installation
   optimiert werden (die Beispiele gelten fu:r IDES 46B, 1 GB
   Hauptspeicher):

                    Name                              Wert            
   ztta/roll_extension                     250000000                  
   abap/heap_area_dia                      300000000                  
   abap/heap_area_nondia                   400000000                  
   em/initial_size_MB                      256                        
   em/blocksize_kB                         1024                       
   ipc/shm_psize_40                        70000000                   

   SAP-Hinweis 0013026:

                   Name                              Wert             
   ztta/dynpro_area                      2500000                      

   SAP-Hinweis 0157246:

                    Name                             Wert             
   rdisp/ROLL_MAXFS                       16000                       
   rdisp/PG_MAXFS                         30000                       

     Anmerkung: Mit obigen Parametern und einem System mit 1 Gigabyte
     Hauptspeicher, ko:nnte der Speicherverbrauch in etwa so
     aussehen:

 Mem: 547M Active, 305M Inactive, 109M Wired, 40M Cache, 112M Buf, 3492K Free

     --------------------------------------------------------------

  10.7.13. Wa:hrend der Installation auftretende Probleme

    10.7.13.1. Neustarten von R3SETUP nach Behebung eines Problems

   R3SETUP bricht ab, wenn ein Fehler auftritt. Wenn Sie (nach
   Durchsicht der jeweiligen Protokolldateien) den Fehler behoben
   haben, mu:ssen Sie R3SETUP erneut aufrufen, indem Sie fu:r den
   fehlerhaften Schritt als Option REPEAT eingeben.

   Um R3SETUP erneut zu starten, rufen Sie die Datei einfach mit der
   entsprechenden R3S-Datei auf:

 # ./R3SETUP -f CENTRDB.R3S

   fu:r 4.6B, oder mit

 # ./R3SETUP -f CENTRAL.R3S

   fu:r 4.6C, unabha:ngig davon, ob der Fehler mit CENTRAL.R3S oder
   mit DATABASE.R3S auftrat.

     Anmerkung: Zu bestimmten Zeitpunkten nimmt R3SETUP an, dass
     sowohl der Datenbank- als auch die SAP-Prozesse vorhanden sind
     und laufen (da dies Schritte sind, die es bereits ausgefu:hrt
     hat). Sollten Fehler auftreten (z.B. wenn sich die Datenbank
     nicht starten la:sst), mu:ssen Sie sowohl die Datenbank als auch
     SAP manuell neu starten, nachdem Sie die Fehler behoben haben.
     Erst danach darf R3SETUP erneut gestartet werden.

     Achten Sie auch darauf, den Oracle-Listener erneut zu starten
     (als Benutzer orasid mittels umask 0; lsnrctl start), wenn
     dieser beendet wurde (z.B. durch einen notwendigen Neustart des
     Systems).

     --------------------------------------------------------------

    10.7.13.2. Fehler im Stadium OSUSERSIDADM_IND_ORA bei der
    Ausfu:hrung von R3SETUP

   Wenn sich R3SETUP in diesem Stadium beschwert, editieren Sie die
   bei der Installation verwendete Version der Vorlage (CENTRDB.R3S
   (4.6B) oder entweder CENTRAL.R3S oder DATABASE.R3S (4.6C)). Finden
   Sie [OSUSERSIDADM_IND_ORA] oder suchen Sie nach dem einzigen
   STATUS=ERROR-Eintrag und a:ndern Sie die folgenden Werte:

 HOME=/home/sidadm (war voher leer)
 STATUS=OK (hatte den Status ERROR)
        

   Danach ko:nnen Sie R3SETUP erneut aufrufen.

     --------------------------------------------------------------

    10.7.13.3. Fehler im Stadium OSUSERDBSID_IND_ORA bei der Ausfu:hrung
    von R3SETUP

   Wahrscheinlich beschwert sich R3SETUP auch in diesem Stadium. Der
   hier auftretende Fehler a:hnelt dem im Abschnitt
   OSUSERSIDADM_IND_ORA. Editieren Sie einfach die bei der
   Installation verwendete Version der Vorlage (das heisst
   CENTRDB.R3S (4.6B) oder entweder CENTRAL.R3S oder DATABASE.R3S
   (4.6C)). Finden Sie [OSUSERDBSID_IND_ORA] oder suchen Sie nach dem
   einzigen STATUS=ERROR-Eintrag und a:ndern Sie folgenden Eintrag:

 STATUS=OK

   Danach ko:nnen Sie R3SETUP erneut aufrufen.

     --------------------------------------------------------------

    10.7.13.4. Fehler "oraview.vrf FILE NOT FOUND" bei der
    Oracle-Installation

   Sie haben die Option Oracle On-Line Text Viewer nicht deaktiviert,
   bevor Sie die Installation gestartet haben. Per Voreinstellung ist
   diese Option aktiviert, obwohl sie unter Linux gar nicht
   verfu:gbar ist. Deaktivieren Sie daher diese Option im
   Oracle-Installationsmenu: und starten Sie die Installation erneut.

     --------------------------------------------------------------

    10.7.13.5. Fehler "TEXTENV_INVALID" bei der Ausfu:hrung von R3SETUP,
    RFC oder beim Start von SAPGUI

   Tritt dieser Fehler auf, so fehlt die korrekte Lokalisierung.
   SAP-Hinweis 0171356 fu:hrt die notwendigen RPMs auf, die
   installiert sein mu:ssen (zum Beispiel saplocales-1.0-3,
   saposcheck-1.0-1 fu:r RedHat 6.1). Falls Sie alle damit
   verbundenen Fehler ignoriert haben, und bei der Ausfu:hrung von
   R3SETUP den STATUS jeweils von ERROR auf OK (in CENTRDB.R3S)
   gesetzt haben, um R3SETUP anschliessend neu zu starten, wurde das
   SAP-System nicht ordnungsgema:ss konfiguriert. Das bedeutet, dass
   Sie nicht via SAPgui am System anmelden ko:nnen, obwohl das System
   trotzdem gestartet werden kann. Ein Versuch, sich u:ber die alte
   Linux-SAPgui anzumelden, fu:hrte zu folgenden Fehlermeldungen:

 Sat May 5 14:23:14 2001
 *** ERROR => no valid userarea given [trgmsgo. 0401]
 Sat May 5 14:23:22 2001
 *** ERROR => ERROR NR 24 occured [trgmsgi. 0410]
 *** ERROR => Error when generating text environment. [trgmsgi. 0435]
 *** ERROR => function failed [trgmsgi. 0447]
 *** ERROR => no socket operation allowed [trxio.c 3363]
 Speicherzugriffsfehler

   Dieses Verhalten kommt daher, weil SAP R/3 nun nicht in der Lage
   ist, eine korrekte Lokalisierung zuzuweisen, und sich daher nicht
   ordnungsgema:ss konfigurieren kann (durch fehlende Eintra:ge in
   einigen Datenbank-Tabellen). Um sich in SAP anmelden zu ko:nnen,
   mu:ssen Sie folgende Eintra:ge zur Datei DEFAULT.PFL (lesen Sie
   dazu auch Hinweis 0043288) hinzufu:gen:

 abap/set_etct_env_at_new_mode = 0
 install/collate/active = 0
 rscp/TCP0B = TCP0B

   Starten Sie nun das SAP-System neu. Sie sind nun in der Lage, sich
   anzumelden, obwohl einige la:nderspezifische Spracheinstellungen
   fehlerhaft sein ko:nnten. Nachdem Sie diese La:ndereinstellungen
   korrigiert (und die korrekten Lokalisierungen installiert) haben,
   ko:nnen Sie diese Eintra:ge wieder aus DEFAULT.PFL lo:schen und
   das SAP-System anschliessend neu starten.

     --------------------------------------------------------------

    10.7.13.6. ORA-00001

   Dieser Fehler trat nur bei einer Installation von Oracle 8.1.7
   unter FreeBSD auf. Dies geschah deshalb, weil sich die
   Oracle-Datenbank nicht initialisieren konnte und daher abstu:rzte.
   Dadurch verblieben Semaphore und Shared-Memory im System. Der
   na:chste Startversuch fu:hrte dann zur Meldung ORA-00001.

   Suchen Sie diese Semaphore mittels ipcs -a und entfernen Sie sie
   mit ipcrm.

     --------------------------------------------------------------

    10.7.13.7. ORA-00445 (Hintergrundprozess PMON wurde nicht gestartet)

   Dieser Fehler trat bei Oracle 8.1.7 auf. Die Meldung erscheint,
   wenn die Datenbank mit dem normalen startsap-Skript (zum Beispiel
   startsap_majestix_00) aber als Benutzer prdadm gestartet wird.

   Dies kann vermieden werden, indem die Datenbank als Benutzer
   oraprd u:ber svrmgrl gestartet wird:

 % svrmgrl
 SVRMGR> connect internal;
 SVRMGR> startup;
 SVRMGR> exit

     --------------------------------------------------------------

    10.7.13.8. ORA-12546 (den Listener mit den richtigen Berechtigungen
    starten)

   Starten Sie den Oracle-Listener als Benutzer oraids mit folgendem
   Befehl:

 # umask 0; lsnrctl start

   Ansonsten ko:nnten Sie die Meldung ORA-12546 erhalten, da die
   Sockets nun nicht die richtigen Berechtigungen aufweisen. Lesen
   Sie dazu auch den SAP-Hinweis 0072984.

     --------------------------------------------------------------

    10.7.13.9. ORA-27102 (kein freier Speicher mehr)

   Dieser Fehler trat auf, wenn versucht wurde, fu:r MAXDSIZ und
   DFLDSIZ Werte u:ber 1 GB (1024x1024x1024) festzulegen. Zusa:tzlich
   fu:hrte dies zur Fehlermeldung "Linux Error 12: Cannot allocate
   memory".

     --------------------------------------------------------------

    10.7.13.10. Fehler im Stadium [DIPGNTAB_IND_IND] bei der Ausfu:hrung
    von R3SETUP

   Fu:r allgemeine Informationen lesen Sie bitte den SAP-Hinweis
   0130581 # (R3SETUP - Abbruch im Stadium DIPGNTAB). Bei der
   IDES-spezifischen Installation verwendete der Installationsprozess
   aus irgendwelchen Gru:nden nicht den korrekten SAP-Systemnamen
   "IDS", sondern den leeren String "". Dies fu:hrte zu einigen
   kleineren Problemen beim Zugriff auf bestimmte Verzeichnisse, da
   die Pfade durch SID (in diesem Fall IDS) dynamisch generiert
   werden. Das heisst anstatt auf

 /usr/sap/IDS/SYS/...
 /usr/sap/IDS/DVMGS00

   zuzugreifen, wurden folgende Pfade verwendet:

 /usr/sap//SYS/...
 /usr/sap/D00

   Um dennoch mit der Installation fortfahren zu ko:nnen, wurden ein
   Link sowie ein zusa:tzliches Verzeichnis erzeugt:

 # pwd
 /compat/linux/usr/sap
 # ls -l
 total 4
 drwxr-xr-x 3  idsadm sapsys 512 May 5 11:20 D00
 drwxr-x--x 5  idsadm sapsys 512 May 5 11:35 IDS
 lrwxr-xr-x 1  root   sapsys 7 May 5 11:35 SYS -> IDS/SYS
 drwxrwxr-x 2  idsadm sapsys 512 May 5 13:00 tmp
 drwxrwxr-x 11 idsadm sapsys 512 May 4 14:20 trans

   Dieses Verhalten wird auch in den SAP-Hinweisen 0029227 und
   0008401 beschrieben. Bei der Installtion von SAP 4.6C trat
   allerdings keines dieser Probleme auf.

     --------------------------------------------------------------

    10.7.13.11. Fehler im Stadium [RFCRSWBOINI_IND_IND] bei der
    Ausfu:hrung von R3SETUP

   Bei der Installation von SAP 4.6C trat dieser Fehler als Folge
   eines anderen, bereits vorher aufgetretenen Fehlers auf. Daher
   mu:ssen Sie sich die entsprechenden Protokolldateien durchsehen,
   und danach das wirkliche (bereits vorher aufgetretene) Problem
   beheben.

   Wenn Sie nach dem Durchsehen der Protokolldateien feststellen,
   dass dieser Fehler wirklich der eigentliche Fehler ist (lesen Sie
   dazu wiederum die SAP-Hinweise), ko:nnen Sie den STATUS des
   betreffenden Schritts von ERROR auf OK setzen (und zwar in der
   Datei CENTRDB.R3S). Anschliessend starten Sie R3SETUP erneut. Nach
   der Installation mu:ssen Sie den Report RSWBOINS der Transaktion
   SE38 ausfu:hren. Lesen Sie den SAP-Hinweis 0162266, um weitere
   Informationen zu den Stadien RFCRSWBOINI und RFCRADDBDIF zu
   erhalten.

     --------------------------------------------------------------

    10.7.13.12. Fehler im Stadium [RFCRADDBDIF_IND_IND] bei der
    Ausfu:hrung von R3SETUP

   Hier gilt das Gleiche wie fu:r den letzten Fehler. Stellen Sie
   durch U:berpru:fen der Protokolldateien sicher, dass dieser Fehler
   nicht durch ein fru:heres Problem verursacht wird.

   Wenn Sie sicher sind, dass SAP-Hinweis 0162266 auf Ihr System
   zutrifft, setzen Sie den STATUS des betreffenden Stadiums von
   ERROR auf OK (und zwar in der Datei CENTRDB.R3S). Anschliessend
   starten Sie R3SETUP erneut. Nach der Installation mu:ssen Sie den
   Report RADDBDIF der Transaktion SE38 ausfu:hren.

     --------------------------------------------------------------

    10.7.13.13. sigaction sig31: File size limit exceeded

   Dieser Fehler trat beim Start des SAP-Prozesses disp+work auf.
   Wird SAP mit startsap-Skript gestartet, werden Subprozesse
   gestartet, deren Aufgabe es ist, alle anderen SAP-Prozesse zu
   starten. Als Folge davon erkennt startsap dabei auftretende Fehler
   nicht.

   Um zu u:berpru:fen, ob die SAP-Prozesse korrekt gestartet wurden,
   u:berpru:fen Sie den Prozessstatus mit ps ax | grep SID. Sie
   erhalten dadurch eine Liste aller Oracle- und SAP-Prozesse. Wenn
   einige Prozesse fehlen, oder Sie sich nicht mit dem SAP-System
   verbinden ko:nnen, u:berpru:fen Sie wiederum die entsprechenden
   Protokolldateien, die sich unter /usr/sap/SID/DVEBMGSnr/work/
   befinden. Die zu durchsuchenden Dateien heissen dev_ms und
   dev_disp.

   Wenn Oracle und SAP mehr Speicher anfordern als in der
   Kernelkonfigurationsdatei festgelegt wurde, wird das Signal 31
   ausgeliefert. Der Fehler kann behoben werden, indem im Kernel ein
   gro:sserer Wert verwendet wird.

 # larger value for 46C production systems:
 options SHMMAXPGS=393216
 # smaller value sufficient for 46B:
 #options SHMMAXPGS=262144

     --------------------------------------------------------------

    10.7.13.14. Der Start von saposcol schlug fehl

   Das Programm saposcol (Version 4.6D) kann einige Probleme
   verursachen. Das SAP-System verwendet saposcol, um Daten u:ber die
   Systemleistung zu sammeln. Fu:r die Benutzung des SAP-Systems
   hingegen ist es es nicht erforderlich. Daher handelt es sich hier
   auch nur um ein kleineres Problem. A:ltere Versionen von saposcol
   (z.B. 4.6B) funktionieren, sammeln allerdings nicht alle Daten
   (viele Aufrufe geben, zum Beispiel die CPU-Nutzung, einfach 0
   (Null) zuru:ck.

     --------------------------------------------------------------

10.8. Weiterfu:hrende Themen

   Wenn Sie sich fragen, wie die Linux-Bina:rkompatibilita:t unter
   FreeBSD realisiert wurde, sollten Sie diesen Abschnitt lesen. Der
   Grossteil der folgenden Informationen stammt aus einer E-Mail, die
   von Terry Lambert (<tlambert@primenet.com>) an die
   FreeBSD-Chat-Mailingliste (<freebsd-chat@FreeBSD.org>) geschrieben
   wurde (Message ID: <199906020108.SAA07001@usr09.primenet.com>).

     --------------------------------------------------------------

  10.8.1. Wie funktioniert es?

   FreeBSD verfu:gt u:ber eine "execution class loader" genannte
   Abstraktion. Dabei handelt es sich um einen Eingriff in den
   execve(2) Systemaufruf.

   FreeBSD verfu:gt u:ber eine Liste von Ladern, anstelle eines
   einzigen, auf #! zuru:ckgreifenden Laders, um Shell-Interpreter
   oder Shell-Skripte auszufu:hren.

   Historisch gesehen untersuchte der einzige, auf UNIX-Plattformen
   vorhandene Lader die "magische Zahl" (in der Regel die ersten 4
   oder 8 Bytes der Datei), um festzustellen, ob der Bina:rtyp dem
   System bekannt war. War dies der Fall, wurde der Bina:rlader
   aufgerufen.

   Wenn es sich nicht um den zum System geho:rigen Bina:rtyp
   handelte, gab execve(2) einen Fehler zuru:ck, und die Shell
   versuchte stattdessen, die Datei als Shell-Befehl auszufu:hren.

   Dabei wurde als Standardeinstellung "was auch immer die aktuelle
   Shell ist" festgelegt.

   Spa:ter wurde ein Hack in sh(1) eingefu:gt, der die zwei ersten
   Zeichen untersuchte. Wenn diese :\n entsprachen, wurde stattdessen
   die csh(1)-Shell aufgerufen (wir glauben, dass dies zuerst von SCO
   umgesetzt wurde).

   FreeBSD versucht heute eine Liste von Ladern, unter denen sich ein
   allgemeiner Lader fu:r Interpreter befindet. Der auszufu:hrende
   Interpreter wird im ersten, durch Leerzeichen getrennten Feld, der
   #!-Zeile angegeben. La:sst sich der Interpreter nicht ermitteln,
   wird auf /bin/sh zuru:ckgegriffen.

   Fu:r die Linux ABI-Unterstu:tzung erkennt FreeBSD die magische
   Zahl als ELF-Bina:rdatei (Zu diesem Zeitpunkt wird nicht zwischen
   FreeBSD, Solaris, Linux oder anderen Systemen unterschieden, die
   u:ber ELF-Bina:rdateien verfu:gen.).

   Der ELF-Lader sucht nach einer speziellen Kennzeichnung, die aus
   einem Kommentarabschnitt in der ELF-Datei besteht, und die in
   SVR4/Solaris ELF Bina:rdateien nicht vorhanden ist.

   Damit Linux-Bina:rdateien (unter FreeBSD) funktionieren, mu:ssen
   sie als Linux gekennzeichnet werden, und zwar durch brandelf(1):

 # brandelf -t Linux file

   Nachdem dies geschehen ist, erkennt der ELF-Lader die
   Linux-Kennzeichnung der Datei.

   Wenn der ELF-Lader die Linux-Kennzeichnung sieht, wird ein Zeiger
   in der proc-Struktur ersetzt. Alle Systemaufrufe werden durch
   diesen Zeiger indiziert (in einem traditionellen UNIX System wa:re
   das ein sysent[]-Strukturfeld, das die Systemaufrufe entha:lt).
   Der Prozess wird weiterhin speziell gekennzeichnet, so dass der
   Trap-vector im Signal-trampoline-code eine spezielle Behandlung
   erfa:hrt und das Linux-Kernelmodul verschiedene kleinere
   Korrekturen vornehmen kann.

   Der Linux-Systemaufrufvektor entha:lt neben anderen Dingen eine
   Liste der sysent[]-Eintra:ge, deren Adressen sich im Kernelmodul
   befinden.

   Wenn ein Linux-Programm einen Systemaufruf ausfu:hrt,
   dereferenziert die Trap-Behandlungsroutine den Zeiger auf die
   Eintrittspunkte fu:r die Systemaufrufe und erha:lt damit die
   Linux-Eintrittspunkte und nicht die FreeBSD-Eintrittspunkte.

   Zusa:tzlich vera:ndert der Linuxmodus die Systempfade dynamisch;
   genauso, wie dies die Option union beim Einbinden von
   Dateisystemen macht (Achtung: nicht das Dateisystem unionfs!).
   Zuerst wird die Datei im Verzeichnis /compat/linux/Originalpfad
   gesucht, danach, wenn sie dort nicht gefunden wurde, wird sie im
   FreeBSD-Verzeichnis /Originalpfad gesucht. Dadurch wird
   sichergestellt, dass Bina:rdateien, die zur Ausfu:hrung andere
   Bina:rdateien beno:tigen, ausgefu:hrt werden ko:nnen (so dass alle
   Linux-Werkzeuge unter der ABI laufen). Dies bedeutet auch, dass
   Linux-Bina:rdateien FreeBSD-Bina:rdateien laden und ausfu:hren
   ko:nnen, wenn keine passenden Linux-Bina:rdateien vorhanden sind.
   Ein in /compat/linux plaziertes uname(1) kann damit
   Linux-Programmen vorgaukeln, dass sie auf einem Linux-System
   laufen.

   Im Endeffekt gibt es einen Linux-Kernel innerhalb des
   FreeBSD-Kernels. Die Sprungtabellen fu:r Linux- beziehungsweise
   FreeBSD-Systemaufrufe verweisen allerdings auf dieselben
   Funktionen, die Kerneldienste wie Dateisystemoperationen,
   Operationen fu:r den virtuellen Speicher, Signalu:bermittlung und
   System V IPC bereitstellen, Der einzige Unterschied ist, dass
   Bina:rdateien unter FreeBSD FreeBSD-glue-Funktionen verwenden.
   Linux-Bina:rdateien hingegen verwenden die Linux-glue-Funktionen.
   Die meisten a:lteren Betriebssysteme hatten ihre eigenen
   glue-Funktionen: Funktionsadressen in einem globalen, statischen
   sysent[] Strukturfeld an Stelle von Funktionsadressen, die durch
   einen dynamisch initialisierten Zeiger aus der proc Struktur, die
   den Aufruf gemacht hatte, dereferenziert wurden.

   Welche ist die echte FreeBSD-ABI? Das spielt keine Rolle.
   Grundsa:tzlich ist der einzige Unterschied (zurzeit ist das so;
   dies ko:nnte sich in zuku:nftigen Versionen leicht a:ndern und
   wird sich wahrscheinlich auch a:ndern), dass die
   FreeBSD-glue-Funktionen statisch in den Kernel gelinkt sind, und
   dass die Linux-glue-Funktionen statisch gelinkt oder u:ber ein
   Modul eingebunden werden ko:nnen.

   Ja, aber ist das wirkliche eine Emulation? Nein. Es ist eine
   Implementierung eines ABIs, keine Emulation. Es ist kein Emulator
   (oder Simulator, um der na:chsten Frage zuvorzukommen) beteiligt.

   Warum wird es manchmal "Linux-Emulation" genannt? Um es schwerer
   zu machen, FreeBSD zu verkaufen. Wirklich, das kommt daher, weil
   dies zu einer Zeit implemtiert wurde, in der es kein anderes Wort
   (als Emulation) gab, das beschrieb, was vor sich ging. Wenn der
   Kernel nicht entsprechend konfiguriert wurde oder das Modul
   geladen wurde, war es falsch zu behaupten, FreeBSD wu:rde
   Linux-Bina:rprogramme ausfu:hren. Man beno:tigte ein Wort, das
   beschrieb, was da geladen wurde - daher "Der Linux-Emulator".

                       III. Systemadministration

   Die restlichen Kapitel behandeln alle Aspekte der FreeBSD
   Systemadministration. Am Anfang jedes Kapitels finden Sie eine
   Zusammenfassung, die beschreibt, was Sie nach dem Durcharbeiten
   des Kapitels gelernt haben. Weiterhin werden die Voraussetzungen
   beschrieben, die fu:r das Durcharbeiten des Kapitels erforderlich
   sind.

   Diese Kapitel sollten Sie lesen, wenn Sie die Informationen darin
   beno:tigen. Sie brauchen Sie nicht in einer bestimmten Reihenfolge
   zu lesen, noch mu:ssen Sie die Kapitel lesen, bevor Sie anfangen,
   FreeBSD zu benutzen.

   Inhaltsverzeichnis

   11. Konfiguration und Tuning

   12. FreeBSDs Bootvorgang

   13. Benutzer und grundlegende Account-Verwaltung

   14. Sicherheit

   15. Jails

   16. Mandatory Access Control (noch nicht u:bersetzt)

   17. Security Event Auditing

   18. Speichermedien

   19. GEOM: Modulares Framework zur Plattentransformation

   20. Dateisystemunterstu:tzung

   21. Der Vinum Volume Manager

   22. Virtualisierung

   23. Lokalisierung - I18N/L10N einrichten und benutzen

   24. FreeBSD aktualisieren

   25. DTrace

     --------------------------------------------------------------

                  Kapitel 11. Konfiguration und Tuning

   Geschrieben von Chern Lee. Nach einem Tutorium von Mike Smith.
   Basiert ebenfalls auf tuning(7) von Matt Dillon. U:bersetzt von
   Martin Heinen.

11.1. U:bersicht

   Ein korrekt konfiguriertes System kann die Arbeit, die bei der
   zuku:nftigen Pflege und bei Migrationen des Systems entsteht,
   erheblich reduzieren. Dieses Kapitel beschreibt die Konfiguration
   von FreeBSD sowie Massnahmen zur Leistungssteigerung von
   FreeBSD-Systemen.

   Nachdem Sie dieses Kapitel durchgearbeitet haben, werden Sie
   Folgendes wissen:

     * Wie Sie effizient Dateisysteme und Swap-Partitionen auf Ihrer
       Festplatte einrichten.

     * Die Grundlagen der Konfiguration mit rc.conf und des Systems
       zum Starten von Anwendungen in /usr/local/etc/rc.d.

     * Wie Sie Netzwerkkarten konfigurieren und testen.

     * Wie Sie virtuelle Hosts und Netzwerkgera:te konfigurieren.

     * Wie Sie die verschiedenen Konfigurationsdateien in /etc
       benutzen.

     * Wie Sie mit sysctl-Variablen FreeBSD einstellen ko:nnen.

     * Wie Sie die Platten-Performance einstellen und
       Kernel-Parameter modifizieren ko:nnen.

   Bevor Sie dieses Kapitel lesen, sollten Sie

     * die Grundlagen von UNIX und FreeBSD (Kapitel 3) verstehen.

     * Damit vertraut sein, wie Sie einen Kernel konfigurieren und
       kompilieren (Kapitel 8).

     --------------------------------------------------------------

11.2. Vorbereitende Konfiguration

  11.2.1. Layout von Partitionen

     --------------------------------------------------------------

    11.2.1.1. Partitionen

   Wenn Sie Dateisysteme mit bsdlabel(8) oder sysinstall(8) anlegen,
   sollten Sie beachten, dass Festplatten auf Daten in den a:usseren
   Spuren schneller zugreifen ko:nnen als auf Daten in den inneren
   Spuren. Daher sollten die kleineren oft benutzten Dateisysteme,
   wie das Root-Dateisystem oder die Swap-Partition, an den a:usseren
   Rand der Platte gelegt werden. Die gro:sseren Partitionen wie /usr
   sollten in die inneren Bereiche gelegt werden. Es empfiehlt sich,
   die Partitionen in einer a:hnlichen Reihenfolge wie
   Root-Partition, Swap, /var und /usr anzulegen.

   Die Gro:sse von /var ist abha:ngig vom Zweck der Maschine. /var
   entha:lt hauptsa:chlich Postfa:cher, den Spoolbereich zum Drucken
   und Logdateien. Abha:ngig von der Anzahl der Systembenutzer und
   der Aufbewahrungszeit fu:r Logdateien, ko:nnen gerade die
   Postfa:cher und Logdateien zu ungeahnten Gro:ssen wachsen. Oft
   werden Sie mit weniger als einem Gigabyte auskommen, doch beachten
   Sie, dass /var/tmp fu:r Pakete ausreichend dimensioniert ist.

   Die /usr-Partition entha:lt den Hauptteil des Systems, die
   Ports-Sammlung (empfohlen) und die Quellen (optional). Im Laufe
   der Installation haben Sie die Mo:glichkeit, die Quellen und die
   Ports-Sammlung gleich mit zu installieren. Fu:r die /usr-Partition
   sollten Sie mindestens zwei Gigabyte vorsehen.

   Wenn Sie die Gro:sse der Partitionen festlegen, beachten Sie bitte
   das Wachstum Ihres Systems. Wenn Sie den Platz auf einer Partition
   vollsta:ndig aufgebraucht haben, eine andere Partition aber kaum
   benutzen, kann die Handhabung des Systems schwierig werden.

     Anmerkung: Die automatische Partitionierung von sysinstall(8)
     mit Auto-defaults legt manchmal zu kleine / und /var-Partition
     an. Partitionieren Sie weise und grosszu:gig.

     --------------------------------------------------------------

    11.2.1.2. Swap Partition

   Als Daumenregel sollten Sie doppelt soviel Speicher fu:r die
   Swap-Partition vorsehen, als Sie Hauptspeicher haben. Verfu:gt die
   Maschine beispielsweise u:ber 128 Megabyte Hauptspeicher, sollten
   Sie 256 Megabyte fu:r den Swap-Bereich vorsehen. Systeme mit
   weniger Speicher werden wahrscheinlich mit viel mehr Swap mehr
   leisten. Es wird nicht empfohlen, weniger als 256 Megabyte Swap
   einzurichten. Ausserdem sollten Sie ku:nftige
   Speichererweiterungen beachten, wenn Sie die Swap-Partition
   einrichten. Die VM-Paging-Algorithmen im Kernel sind so
   eingestellt, dass Sie am besten laufen, wenn die Swap-Partition
   mindestens doppelt so gross wie der Hauptspeicher ist. Zu wenig
   Swap kann zu einer Leistungsverminderung im VM page scanning Code
   fu:hren, sowie Probleme verursachen, wenn Sie spa:ter mehr
   Speicher in Ihre Maschine bauen.

   Auf gro:sseren Systemen mit mehreren SCSI-Laufwerken (oder
   mehreren IDE-Laufwerken an unterschiedlichen Controllern)
   empfehlen wir Ihnen, Swap-Bereiche auf bis zu vier Laufwerken
   einzurichten. Diese Swap-Partitionen sollten ungefa:hr dieselbe
   Gro:sse haben. Der Kernel kann zwar mit beliebigen Gro:ssen
   umgehen, aber die internen Datenstrukturen skalieren bis zur
   vierfachen Gro:sse der gro:ssten Partition. Ungefa:hr gleich
   grosse Swap-Partitionen erlauben es dem Kernel, den Swap-Bereich
   optimal u:ber die Laufwerke zu verteilen. Grosse Swap-Bereiche,
   auch wenn sie nicht oft gebraucht werden, sind nu:tzlich, da sich
   ein speicherfressendes Programm unter Umsta:nden auch ohne einen
   Neustart des Systems beenden la:sst.

     --------------------------------------------------------------

    11.2.1.3. Warum partitionieren?

   Gegen eine einzelne Partition sprechen mehrere Gru:nde. Jede
   Partition hat im Betrieb unterschiedliche Eigenschaften und die
   Trennung der Partitionen erlaubt es, die Dateisysteme an diese
   Eigenschaften anzupassen. Die Root- und /usr-Partitionen weisen
   meist nur lesende Zugriffe auf, wa:hrend /var und /var/tmp
   hauptsa:chlich beschrieben werden.

   Indem Sie ein System richtig partitionieren, verhindern Sie, dass
   eine Fragmentierung in den ha:ufig beschriebenen Partitionen auf
   die meist nur gelesenen Partitionen u:bergreift. Wenn Sie die
   ha:ufig beschriebenen Partitionen an den Rand der Platte, legen,
   dann wird die I/O-Leistung diesen Partitionen steigen. Die
   I/O-Leistung ist natu:rlich auch fu:r grosse Partitionen wichtig,
   doch erzielen Sie eine gro:ssere Leistungssteigerung, wenn Sie
   /var an den Rand der Platte legen. Schliesslich sollten Sie noch
   die Stabilita:t des Systems beachten. Eine kleine Root-Partition,
   auf die meist nur lesend zugegriffen wird, u:berlebt einen
   schlimmen Absturz wahrscheinlich eher als eine grosse Partition.

     --------------------------------------------------------------

11.3. Basiskonfiguration

   Informationen zur Systemkonfiguration sind hauptsa:chlich in
   /etc/rc.conf, die meist beim Start des Systems verwendet wird,
   abgelegt. Der Name der Datei zeigt ihren Zweck an: Sie entha:lt
   die Konfigurationen fu:r die rc* Dateien.

   In rc.conf werden die Vorgabewerte aus /etc/defaults/rc.conf
   u:berschrieben. Die Vorgabedatei sollte nicht nach /etc kopiert
   werden, da sie die Vorgabewerte und keine Beispiele entha:lt. Jede
   systemspezifische A:nderung wird in rc.conf vorgenommen.

   Um den administrativen Aufwand gering zu halten, existieren in
   geclusterten Anwendungen mehrere Strategien, globale
   Konfigurationen von systemspezifischen Konfigurationen zu trennen.
   Der empfohlene Weg ha:lt die globale Konfiguration in einer
   separaten Datei z.B. rc.conf.site. Diese Datei wird dann in
   /etc/rc.conf, die nur systemspezifische Informationen entha:lt,
   eingebunden.

   Da rc.conf von sh(1) gelesen wird, ist das einfach zu erreichen:

     * rc.conf:

         . /etc/rc.conf.site
         hostname="node15.example.com"
         network_interfaces="fxp0 lo0"
         ifconfig_fxp0="inet 10.1.1.1"

     * rc.conf.site:

         defaultrouter="10.1.1.254"
         saver="daemon"
         blanktime="100"

   rc.conf.site kann dann auf jedes System mit rsync verteilt werden,
   rc.conf bleibt dabei systemspezifisch.

   Bei einem Upgrade des Systems mit sysinstall(8) oder make world
   wird rc.conf nicht u:berschrieben, so dass die Systemkonfiguration
   erhalten bleibt.

     --------------------------------------------------------------

11.4. Konfiguration von Anwendungen

   Installierte Anwendungen haben typischerweise eigene
   Konfigurationsdateien, die eine eigene Syntax verwenden. Damit
   diese Dateien leicht von der Paketverwaltung gefunden und
   verwaltet werden ko:nnen, ist es wichtig, sie vom Basissystem zu
   trennen.

   Fu:r gewo:hnlich werden diese Dateien in /usr/local/etc
   installiert. Besitzt eine Anwendung viele Konfigurationsdateien,
   werden diese in einem separaten Unterverzeichnis abgelegt.

   Wenn ein Port oder ein Paket installiert wird, werden
   normalerweise auch Beispiele fu:r die Konfigurationsdateien
   installiert. Diese erkennt man gewo:hnlich an dem Suffix .default.
   Wenn keine Konfigurationsdateien fu:r eine Anwendung existieren,
   werden sie durch Kopieren der .default Dateien erstellt.

   Als Beispiel sei /usr/local/etc/apache gezeigt:

 -rw-r--r--  1 root  wheel   2184 May 20  1998 access.conf
 -rw-r--r--  1 root  wheel   2184 May 20  1998 access.conf.default
 -rw-r--r--  1 root  wheel   9555 May 20  1998 httpd.conf
 -rw-r--r--  1 root  wheel   9555 May 20  1998 httpd.conf.default
 -rw-r--r--  1 root  wheel  12205 May 20  1998 magic
 -rw-r--r--  1 root  wheel  12205 May 20  1998 magic.default
 -rw-r--r--  1 root  wheel   2700 May 20  1998 mime.types
 -rw-r--r--  1 root  wheel   2700 May 20  1998 mime.types.default
 -rw-r--r--  1 root  wheel   7980 May 20  1998 srm.conf
 -rw-r--r--  1 root  wheel   7933 May 20  1998 srm.conf.default

   Anhand der Dateigro:sse erkennen Sie, dass sich nur srm.conf
   gea:ndert hat. Eine spa:tere Aktualisierung des Apache-Ports
   u:berschreibt diese Datei nicht.

     --------------------------------------------------------------

11.5. Start von Diensten

   Beigetragen von Tom Rhodes.

   Viele Benutzer installieren Software Dritter auf FreeBSD mithilfe
   der Ports-Sammlung. Ha:ufig soll die Software bei einem
   Systemstart mitgestartet werden. Beispielsweise sollen die Dienste
   mail/postfix oder www/apache13 nach einem Systemstart laufen.
   Dieser Abschnitt stellt die Startprozeduren fu:r Software Dritter
   vor.

   Unter FreeBSD werden die meisten der im System enthaltenen Dienste
   wie cron(8) mithilfe von Systemskripten gestartet. Diese Skripten
   sind abha:ngig von der FreeBSD- oder Hersteller-Version.
   Allerdings kann ein Dienst mit einfachen Skripten gestartet
   werden.

   Vor der Einfu:hrung von rc.d legten Anwendungen einfach ein
   Startskript im Verzeichnis /usr/local/etc/rc.d ab. Das Startskript
   wurde von den Systemskripten in den letzten Phasen des
   Systemstarts ausgefu:hrt.

   Obwohl bereits viele Startskripten auf das neue rc.d-System
   umgestellt wurden, gibt es noch Anwendungen, die ein Startskript
   im eben erwa:hnten Verzeichnis beno:tigen. In diesem Fall weisen
   die Skripte kleinere Unterschiede auf. Vor FreeBSD 5.1 wurde der
   alte Stil verwendet, obwohl in den meisten Fa:llen auch der neue
   Stil problemlos funktionieren wu:rde.

   Die Startskripten mu:ssen das Suffix .sh tragen und ausfu:hrbar
   sein. Sie machen ein Skript ausfu:hrbar, indem Sie mit chmod die
   Rechte 755 vergeben. Das Skript sollte die Optionen start und stop
   akzeptieren, um die Anwendung zu starten und zu stoppen.

   Ein einfaches Startskript sieht wie folgt aus:

 #!/bin/sh
 echo -n ' utility'

 case "$1" in
 start)
         /usr/local/bin/utility
         ;;
 stop)
         kill -9 `cat /var/run/utility.pid`
         ;;
 *)
         echo "Usage: `basename $0` {start|stop}" >&2
         exit 64
         ;;
 esac

 exit 0

   Das Skript akzeptiert die Optionen start und stop zum Starten und
   Stoppen einer Anwendung mit Namen utility.

   Manuell wird die Anwendung mit dem nachstehenden Kommando
   gestartet:

 # /usr/local/etc/rc.d/utility.sh start

   Obwohl nicht jede Anwendung die Zeile in rc.conf beno:tigt,
   akzeptieren immer mehr Ports diese Konfiguration. Pru:fen Sie die
   Ausgaben wa:hrend der Installation einer Anwendung, um
   herauszufinden, wie die Anwendung gestartet wird. Einige
   Anwendungen stellen Startskripten bereit, die das rc.d-System
   (wird im na:chsten Abschnitt besprochen) verwenden.

     --------------------------------------------------------------

  11.5.1. Dienste u:ber das rc.d-System starten

   Mit rc.d la:sst sich der Start von Anwendungen besser steuern als
   mit den vorher besprochenen Startskripten. Mit den im Abschnitt
   rc.d besprochenen Schlu:sselwo:rtern ko:nnen Anwendungen in einer
   bestimmten Reihenfolge (zum Beispiel nach DNS) gestartet werden
   und Optionen ko:nnen in rc.conf statt fest im Startskript der
   Anwendung festgelegt werden. Ein einfaches Startskript sieht wie
   folgt aus:

 #!/bin/sh
 #
 # PROVIDE: utility
 # REQUIRE: DAEMON
 # KEYWORD: shutdown

 #
 # DO NOT CHANGE THESE DEFAULT VALUES HERE
 # SET THEM IN THE /etc/rc.conf FILE
 #
 utility_enable=${utility_enable-"NO"}
 utility_flags=${utility_flags-""}
 utility_pidfile=${utility_pidfile-"/var/run/utility.pid"}

 . /etc/rc.subr

 name="utility"
 rcvar=`set_rcvar`
 command="/usr/local/sbin/utility"

 load_rc_config $name

 pidfile="${utility_pidfile}"

 start_cmd="echo \"Starting ${name}.\"; /usr/bin/nice -5 ${command} ${utility_flags} ${command_args}"

 run_rc_command "$1"

   Dieses Skript stellt sicher, dass utility nach den daemon-Diensten
   gestartet wird. Es stellt auch eine Methode bereit, die Prozess-ID
   (PID) der Anwendung in einer Datei zu speichern.

   In /etc/rc.conf ko:nnte fu:r diese Anwendung die folgende Zeile
   stehen:

 utility_enable="YES"

   Die Methode erleichtert den Umgang mit Kommandozeilenargumenten,
   bindet Funktionen aus /etc/rc.subr ein, ist kompatibel zum
   Werkzeug rcorder(8) und la:sst sich u:ber rc.conf leichter
   konfigurieren.

     --------------------------------------------------------------

  11.5.2. Andere Arten, um Dienste zu starten

   Dienste wie POP3 oder IMAP ko:nnen u:ber den inetd(8) gestartet
   werden. Nach der Installation der Anwendung aus der Ports-Sammlung
   muss eine Konfigurationszeile in der Datei /etc/inetd.conf
   hinzugefu:gt oder aktiviert werden. Der Abschnitt Abschnitt 29.2
   beschreibt den inetd und dessen Konfiguration.

   Systemdienste ko:nnen auch mit cron(8) gestartet werden. Dieser
   Ansatz hat einige Vorteile; nicht zuletzt, weil cron(8) die
   Prozesse unter dem Eigentu:mer der crontab startet, ist es
   mo:glich, dass Dienste von nicht-root Benutzern gestartet und
   gepflegt werden ko:nnen.

   Dies nutzt eine Eigenschaft von cron(8): Fu:r die Zeitangabe kann
   @reboot eingesetzt werden. Damit wird das Kommando gestartet, wenn
   cron(8) kurz nach dem Systemboot gestartet wird.

     --------------------------------------------------------------

11.6. Programme mit cron starten

   Beigetragen von Tom Rhodes.

   Ein sehr nu:tzliches Werkzeug von FreeBSD ist cron(8). cron la:uft
   im Hintergrund und u:berpru:ft fortlaufend die Datei /etc/crontab.
   Beim Start sucht cron neue crontab-Dateien im Verzeichnis
   /var/cron/tabs. In den crontab-Dateien wird festgelegt, welche
   Programme zu welchem Zeitpunkt laufen sollen.

   Das Werkzeug cron verwendet zwei verschiedene
   Konfigurationsdateien: Die System-crontab und die
   Benutzer-crontab. Der einzige Unterschied zwischen beiden Formaten
   ist das sechste Feld. In der System-crontab gibt das sechste Feld
   das Konto an, unter dem ein Kommando la:uft. Aus der
   System-crontab ko:nnen daher Kommandos unter beliebigen Konten
   gestartet werden. In der Benutzer-crontab gibt das sechste Feld
   das auszufu:hrende Kommando an. Alle Kommandos laufen unter dem
   Konto, unter dem die crontab erstellt wurde (ein wichtiges
   Sicherheitsmerkmal).

     Anmerkung: Benutzer ko:nnen mit Benutzer-crontabs ohne
     root-Rechte Befehle terminieren. Die Kommandos in
     Benutzer-crontabs laufen unter dem Benutzer, der die crontab
     erstellt hat.

     Der Benutzer root kann, wie jeder andere Benutzer, eine
     Benutzer-crontab besitzen. Die Benutzer-crontab von root ist
     nicht mit der Datei /etc/crontab, der System-crontab, zu
     verwechseln. Normalerweise besitzt root, wegen der Existenz der
     System-crontab, keine eigene Benutzer-crontab.

   Der folgende Auszug aus der System-crontab /etc/crontab zeigt den
   Aufbau einer crontab-Datei:

 # /etc/crontab - root's crontab for FreeBSD
 #
 # $FreeBSD: src/etc/crontab,v 1.32 2002/11/22 16:13:39 tom Exp $
 # (1)
 #
 SHELL=/bin/sh
 PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin (2)
 HOME=/var/log
 #
 #
 #minute hour    mday    month   wday    who     command (3)
 #
 #
 */5     *       *       *       *       root    /usr/libexec/atrun (4)

   (1)
           Das Zeichen # leitet, wie in den meisten
           Konfigurationsdateien, einen Kommentar ein. Benutzen Sie
           Kommentare, um die Funktion eines Eintrags zu erla:utern.
           Kommentare mu:ssen in einer extra Zeile stehen. Sie
           ko:nnen nicht in derselben Zeile wie ein Kommando stehen,
           da sie sonst Teil des Kommandos wa:ren. Leerzeilen in
           dieser Datei werden ignoriert.
   (2)
           Umgebungsvariablen werden mit dem Gleichheits-Zeichen (=)
           festgelegt. Im Beispiel werden die Variablen SHELL, PATH
           und HOME definiert. Wenn die Variable SHELL nicht
           definiert wird, benutzt cron die Shell sh. Wird die
           Variable PATH nicht gesetzt, mu:ssen alle Pfadangaben
           absolut sein, da es keinen Vorgabewert fu:r PATH gibt. Der
           Vorgabewert fu:r HOME ist das Heimatverzeichnis des
           Accounts, dem die crontab geho:rt.
   (3)
           In dieser Zeile werden sieben Felder beschrieben: minute,
           hour, mday, month, wday, who und command. Die ersten
           Felder legen den Zeitpunkt fest, an dem ein Kommando
           laufen soll. Das Feld minute legt die Minute fest, das
           Feld hour die Stunde, das Feld mday den Tag des Monats. Im
           Feld month wird der Monat und im Feld wday der Wochentag
           festgelegt. Alle Felder mu:ssen numerische Werte enthalten
           und die Zeitangaben sind im 24-Stunden-Format. Das Feld
           who gibt es nur in der Datei /etc/crontab und gibt den
           Account an, unter dem das Kommando laufen soll. In den
           crontab-Dateien einzelner Accounts existiert dieses Feld
           nicht. Im letzten Feld wird schliesslich das
           auszufu:hrende Kommando angegeben.
   (4)
           Diese Zeile definiert die Zeitpunkte an denen das Kommando
           atrun laufen soll. Beachten Sie die Zeichenfolge */5
           gefolgt von mehreren *-Zeichen. Das Zeichen * ist ein
           Platzhalter und steht fu:r jede mo:gliche Zeit. Diese
           Zeile fu:hrt das Kommando atrun unter dem root-Account
           alle fu:nf Minuten aus. Mehr u:ber das Kommando atrun
           erfahren Sie in der Hilfeseite atrun(8).

           Bei den Kommandos ko:nnen beliebige Optionen angegeben
           werden. Wenn das Kommando zu lang ist und auf der
           na:chsten Zeile fortgesetzt werden soll, muss am Ende der
           Zeile das Fortsetzungszeichen (\) angegeben werden.

   Bis auf das sechste Feld, das den Account angibt, sieht jede
   crontab-Datei so wie das Beispiel aus. Das sechste Feld existiert
   nur in der Systemdatei /etc/crontab. In den restlichen
   crontab-Dateien fehlt dieses Feld.

     --------------------------------------------------------------

  11.6.1. crontab installieren

     Wichtig: Die nachstehende Prozedur gilt nur fu:r
     Benutzer-crontabs. Die System-crontab ko:nnen Sie einfach mit
     Ihrem Lieblingseditor editieren. Das Werkzeug cron bemerkt, dass
     sich die Datei gea:ndert hat und wird die neue Version benutzen.
     Lesen Sie bitte auch die FAQ zur Meldung root: not found.

   Eine Benutzer-crontab, beispielsweise die Datei crontab, ko:nnen
   Sie mit jedem Editor erstellen. Die Benutzer-crontab installieren
   Sie mit dem nachstehenden Befehl:

 # crontab crontab

   Das Argument zum Befehl crontab ist die vorher erstellte Datei
   crontab.

   Der Befehl crontab -l zeigt die installierte crontab-Datei an.

   Benutzer, die eine eigene crontab-Datei ohne Vorlage erstellen
   wollen, ko:nnen den Befehl crontab -e verwenden. Dieser Befehl
   ruft einen Editor auf und installiert beim Verlassen des Editors
   die crontab-Datei.

   Wollen Sie die installierte Benutzer-crontab entfernen, rufen Sie
   den Befehl crontab mit der Option -r auf.

     --------------------------------------------------------------

11.7. Das rc-System fu:r Systemdienste

   Beigetragen von Tom Rhodes.

   2002 wurde das rc.d-System von NetBSD zum Start von Systemdiensten
   in FreeBSD integriert. Die zu diesem System geho:renden Dateien
   sind im Verzeichnis /etc/rc.d abgelegt. Die Skripten in diesem
   Verzeichnis akzeptieren die Optionen start, stop und restart.
   Beispielsweise kann sshd(8) mit dem nachstehenden Kommando neu
   gestartet werden:

 # /etc/rc.d/sshd restart

   Analog ko:nnen Sie andere Dienste starten und stoppen.
   Normalerweise werden die Dienste beim Systemstart u:ber Eintra:ge
   in der Datei rc.conf(5) automatisch gestartet. Der Network Address
   Translation Daemon wird zum Beispiel mit dem folgenden Eintrag in
   /etc/rc.conf aktiviert:

 natd_enable="YES"

   Wenn dort bereits die Zeile natd_enable="NO" existiert, a:ndern
   Sie einfach NO in YES. Die rc-Skripten starten, wie unten
   beschrieben, auch abha:ngige Dienste.

   Da das rcNG-System prima:r zum automatischen Starten und Stoppen
   von Systemdiensten dient, funktionieren die Optionen start, stop
   und restart nur, wenn die entsprechenden Variablen in /etc/rc.conf
   gesetzt sind. Beispielsweise funktioniert das Kommando sshd
   restart nur dann, wenn in /etc/rc.conf die Variable sshd_enable
   auf YES gesetzt wurde. Wenn Sie die Optionen start, stop oder
   restart unabha:ngig von den Einstellungen in /etc/rc.conf benutzen
   wollen, mu:ssen Sie den Optionen mit dem Pra:fix "one" verwenden.
   Um beispielsweise sshd unabha:ngig von den Einstellungen in
   /etc/rc.conf neu zu starten, benutzen Sie das nachstehende
   Kommando:

 # /etc/rc.d/sshd onerestart

   Ob ein Dienst in /etc/rc.conf aktiviert ist, ko:nnen Sie leicht
   herausfinden, indem Sie das entsprechende rc.d-Skript mit der
   Option rcvar aufrufen. Ein Administrator kann beispielsweise wie
   folgt pru:fen, ob der sshd-Dienst in /etc/rc.conf aktiviert ist:

 # /etc/rc.d/sshd rcvar
 # sshd
 $sshd_enable=YES

     Anmerkung: Die zweite Zeile (# sshd) wird vom Kommando sshd
     ausgegeben; sie kennzeichnet nicht die Eingabeaufforderung von
     root.

   Ob ein Dienst la:uft, kann mit der Option status abgefragt werden.
   Das folgende Kommando u:berpru:ft, ob der sshd auch wirklich
   gestartet wurde:

 # /etc/rc.d/sshd status
 sshd is running as pid 433.

   Einige Dienste ko:nnen u:ber die Option reload neu initialisiert
   werden. Dazu wird dem Dienst u:ber ein Signal mitgeteilt, dass er
   seine Konfigurationsdateien neu einlesen soll. Oft wird dazu das
   Signal SIGHUP verwendet. Beachten Sie aber, dass nicht alle
   Dienste diese Option unterstu:tzen.

   Die meisten Systemdienste werden beim Systemstart vom rc.d-System
   gestartet. Zum Beispiel aktiviert das Skript bgfsck die Pru:fung
   von Dateisystemen im Hintergrund. Das Skript gibt die folgende
   Meldung aus, wenn es gestartet wird:

 Starting background file system checks in 60 seconds.

   Viele Systemdienste ha:ngen von anderen Diensten ab. NIS und
   andere RPC-basierende Systeme ha:ngen beispielsweise von dem
   rpcbind-Dienst (portmapper) ab. Im Kopf der Startskripten befinden
   sich die Informationen u:ber Abha:ngigkeiten von anderen Diensten
   und weitere Metadaten.Mithilfe dieser Daten bestimmt das Programm
   rcorder(8) beim Systemstart die Startreihenfolge der Dienste.

   Folgende Schlu:sselwo:rter mu:ssen im Kopf aller Startskripten
   verwendet werden (da sie von rc.subr(8) zum "Aktivieren" des
   Startskripts beno:tigt werden:

     * PROVIDE: Gibt die Namen der Dienste an, die mit dieser Datei
       zur Verfu:gung gestellt werden.

   Die folgenden Schlu:sselwo:rter ko:nnen im Kopf des Startskripts
   angegeben werden. Sie sind zwar nicht unbedingt notwendig, sind
   aber hilfreich beim Umgang mit rcorder(8):

     * REQUIRE: Gibt die Namen der Dienste an, von denen dieser
       Dienst abha:ngt. Diese Datei wird nach den angegebenen
       Diensten ausgefu:hrt.

     * BEFORE: Za:hlt Dienste auf, die auf diesen Dienst angewiesen
       sind. Diese Datei wird vor den angegebenen Diensten
       ausgefu:hrt.

   Durch das Verwenden dieser Schlu:sselwo:rter kann ein
   Administrator die Startreihenfolge von Systemdiensten
   feingranuliert steuern, ohne mit den Schwierigkeiten des
   "runlevel"-Systems anderer UNIX Systeme ka:mpfen zu mu:ssen.

   Weitere Informationen u:ber das rc.d-System finden sich in den
   Manualpages zu rc(8) sowie rc.subr(8). Wenn Sie Ihre eigenen
   rc.d-Skripte schreiben wollen, sollten Sie den Artikel Practical
   rc.d scripting in BSD lesen.

     --------------------------------------------------------------

11.8. Einrichten von Netzwerkkarten

   Beigetragen von Marc Fonvieille.

   Ein Rechner ohne Netzanschluss ist heute nicht mehr vorstellbar.
   Die Konfiguration einer Netzwerkkarte geho:rt zu den allta:glichen
   Aufgaben eines FreeBSD Administrators.

     --------------------------------------------------------------

  11.8.1. Bestimmen des richtigen Treibers

   Bevor Sie anfangen, sollten Sie das Modell Ihrer Karte kennen,
   wissen welchen Chip die Karte benutzt und bestimmen, ob es sich um
   eine PCI- oder ISA-Karte handelt. Eine Aufza:hlung der
   unterstu:tzten PCI- und ISA-Karten finden Sie in der Liste der
   unterstu:tzen Gera:te. Schauen Sie nach, ob Ihre Karte dort
   aufgefu:hrt ist.

   Wenn Sie wissen, dass Ihre Karte unterstu:tzt wird, mu:ssen Sie
   den Treiber fu:r Ihre Karte bestimmen. /usr/src/sys/conf/NOTES und
   /usr/src/sys/arch/conf/NOTES enthalten eine Liste der verfu:gbaren
   Treiber mit Informationen zu den unterstu:tzten Chipsa:tzen und
   Karten. Wenn Sie sich nicht sicher sind, ob Sie den richtigen
   Treiber ausgewa:hlt haben, lesen Sie die Hilfeseite des Treibers.
   Die Hilfeseite entha:lt weitere Informationen u:ber die
   unterstu:tzten Gera:te und macht auch auf mo:gliche Probleme
   aufmerksam.

   Wenn Sie eine gebra:uchliche Karte besitzen, brauchen Sie meistens
   nicht lange nach dem passenden Treiber zu suchen. Die Treiber zu
   diesen Karten sind schon im GENERIC-Kernel enthalten und die Karte
   sollte wa:hrend des Systemstarts erkannt werden:

 dc0: <82c169 PNIC 10/100BaseTX> port 0xa000-0xa0ff mem 0xd3800000-0xd38
 000ff irq 15 at device 11.0 on pci0
 dc0: Ethernet address: 00:a0:cc:da:da:da
 miibus0: <MII bus> on dc0
 ukphy0: <Generic IEEE 802.3u media interface> on miibus0
 ukphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
 dc1: <82c169 PNIC 10/100BaseTX> port 0x9800-0x98ff mem 0xd3000000-0xd30
 000ff irq 11 at device 12.0 on pci0
 dc1: Ethernet address: 00:a0:cc:da:da:db
 miibus1: <MII bus> on dc1
 ukphy1: <Generic IEEE 802.3u media interface> on miibus1
 ukphy1:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto

   Im Beispiel erkennt das System zwei Karten, die den dc(4) Treiber
   benutzen.

   Ist der Treiber fu:r Ihre Netzwerkkarte nicht in GENERIC
   enthalten, mu:ssen Sie den Treiber laden, um die Karte zu
   benutzen. Sie ko:nnen den Treiber auf zwei Arten laden:

     * Am einfachsten ist es, das Kernelmodul fu:r Ihre Karte mit
       kldload(8) zu laden. Allerdings gibt es nicht fu:r alle Karten
       Kernelmodule; zum Beispiel gibt es keine Kernelmodule fu:r
       ISA-Karten.

     * Alternativ ko:nnen Sie den Treiber fu:r die Karte fest in den
       Kernel einbinden. Schauen Sie sich dazu
       /usr/src/sys/conf/NOTES, /usr/src/sys/arch/conf/NOTES und die
       Hilfeseite des Treibers, den Sie in den Kernel einbinden
       mo:chten, an. Die U:bersetzung des Kernels wird in Kapitel 8
       beschrieben. Wenn Ihre Karte wa:hrend des Systemstarts vom
       Kernel (GENERIC) erkannt wurde, mu:ssen Sie den Kernel nicht
       neu u:bersetzen.

     --------------------------------------------------------------

    11.8.1.1. Windows-NDIS-Treiber einsetzen

   Leider stellen nach wie vor viele Unternehmen die Spezifikationen
   ihrer Treiber der Open Source Gemeinde nicht zur Verfu:gung, weil
   sie diese Informationen als Gescha:ftsgeheimnisse betrachten.
   Daher haben die Entwickler von FreeBSD und anderen
   Betriebssystemen nur zwei Mo:glichkeiten. Entweder versuchen sie
   in einem aufwa:ndigen Prozess den Treiber durch Reverse
   Engineering nachzubauen, oder sie versuchen, die vorhandenen
   Bina:rtreiber der Microsoft Windows-Plattform zu verwenden. Die
   meisten Entwickler, darunter auch die an FreeBSD beteiligten,
   haben sich fu:r den zweiten Ansatz entschieden.

   Bill Paul (wpaul) ist es zu verdanken, dass es seit
   FreeBSD 5.3-RELEASE eine "native" Unterstu:tzung der Network
   Driver Interface Specification (NDIS) gibt. Der FreeBSD NDISulator
   (auch als Project Evil bekannt) nutzt den bina:ren
   Windows-Treiber, indem er diesem vorgibt, unter Windows zu laufen.
   Da der ndis(4)-Treiber eine Windows-Bina:rdatei nutzt, kann er nur
   auf i386- und amd64-Systemen verwendet werden.

     Anmerkung: Der ndis(4)-Treiber unterstu:tzt prima:r PCI-,
     CardBus- sowie PCMCIA-Gera:te, USB-Gera:te werden hingegen noch
     nicht unterstu:tzt.

   Um den NDISulator zu verwenden, beno:tigen Sie drei Dinge:

    1. Die Kernelquellen

    2. Den Windows XP-Bina:rtreiber (mit der Erweiterung .SYS)

    3. Die Konfigurationsdatei des Windows XP-Treibers (mit der
       Erweiterung .INF)

   Suchen Sie die Dateien fu:r Ihre Karte. Diese befinden sich
   meistens auf einer beigelegten CD-ROM, oder ko:nnen von der
   Internetseite des Herstellers heruntergeladen werden. In den
   folgenden Beispielen werden die Dateien W32DRIVER.SYS und
   W32DRIVER.INF verwendet.

     Anmerkung: Sie ko:nnen einen Windows/i386-Treiber nicht unter
     FreeBSD/amd64 einsetzen, vielmehr beno:tigen Sie dafu:r einen
     Windows/amd64-Treiber.

   Als Na:chstes kompilieren Sie den bina:ren Treiber, um ein
   Kernelmodul zu erzeugen. Dazu rufen Sie als root ndisgen(8) auf:

 # ndisgen /path/to/W32DRIVER.INF /path/to/W32DRIVER.SYS

   ndisgen(8) arbeitet interaktiv, beno:tigt es weitere
   Informationen, so fragt es Sie danach. Als Ergebnis erhalten Sie
   ein Kernelmodul im Arbeitsverzeichnis, das Sie wie folgt laden
   ko:nnen:

 # kldload ./W32DRIVER.ko

   Neben dem vorhin erzeugten Kernelmodul mu:ssen Sie auch die
   Kernelmodule ndis.ko und if_ndis.ko laden. Diese Module sollten
   automatisch geladen werden, wenn Sie ein von ndis(4) abha:ngiges
   Modul laden. Wollen Sie die Module hingegen manuell laden, geben
   Sie die folgenden Befehle ein:

 # kldload ndis
 # kldload if_ndis

   Der erste Befehl la:dt dabei den NDIS-Miniport-Treiber, der zweite
   das tatsa:chliche Netzwerkgera:t.

   U:berpru:fen Sie nun die Ausgabe von dmesg(8) auf eventuelle
   Fehler wa:hrend des Ladevorgangs. Gab es dabei keine Probleme,
   sollten Sie eine Ausgabe a:hnlich der folgenden erhalten:

 ndis0: <Wireless-G PCI Adapter> mem 0xf4100000-0xf4101fff irq 3 at device 8.0 on pci1
 ndis0: NDIS API version: 5.0
 ndis0: Ethernet address: 0a:b1:2c:d3:4e:f5
 ndis0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
 ndis0: 11g rates: 6Mbps 9Mbps 12Mbps 18Mbps 36Mbps 48Mbps 54Mbps

   Ab jetzt ko:nnen Sie mit dem Gera:t ndis0 wie mit jeder anderen
   Gera:tedatei (etwa dc0) arbeiten.

   Wie jedes Kernelmodul ko:nnen auch die NDIS-Module beim
   Systemstart automatisch geladen werden. Dazu kopieren Sie das
   erzeugte Modul (W32DRIVER.ko) in das Verzeichnis /boot/modules.
   Danach fu:gen Sie die folgende Zeile in /boot/loader.conf ein:

 W32DRIVER_load="YES"

     --------------------------------------------------------------

  11.8.2. Konfiguration von Netzwerkkarten

   Nachdem der richtige Treiber fu:r die Karte geladen ist, muss die
   Karte konfiguriert werden. Unter Umsta:nden ist die Karte schon
   wa:hrend der Installation mit sysinstall konfiguriert worden.

   Das nachstehende Kommando zeigt die Konfiguration der Karten eines
   Systems an:

 % ifconfig
 dc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
         inet 192.168.1.3 netmask 0xffffff00 broadcast 192.168.1.255
         ether 00:a0:cc:da:da:da
         media: Ethernet autoselect (100baseTX <full-duplex>)
         status: active
 dc1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
         inet 10.0.0.1 netmask 0xffffff00 broadcast 10.0.0.255
         ether 00:a0:cc:da:da:db
         media: Ethernet 10baseT/UTP
         status: no carrier
 lp0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500
 lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
         inet 127.0.0.1 netmask 0xff000000
 tun0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500

     Anmerkung: In alten Versionen von FreeBSD mu:ssen Sie vielleicht
     noch -a auf der Kommandozeile von ifconfig(8) angeben. Hinweise
     zum Gebrauch von ifconfig(8) entnehmen Sie bitte der Hilfeseite.
     Beachten Sie, dass in diesem Beispiel die IPv6-Ausgaben (inet6
     etc.) ausgelassen wurden.

   Im Beispiel werden Informationen zu den folgenden Gera:ten
   angezeigt:

     * dc0: Der erste Ethernet-Adapter

     * dc1: Der zweite Ethernet-Adapter

     * lp0: Die parallele Schnittstelle

     * lo0: Das Loopback-Gera:t

     * tun0: Das von ppp benutzte Tunnel-Gera:t

   Der Name der Netzwerkkarte wird aus dem Namen des Treibers und
   einer Zahl zusammengesetzt. Die Zahl gibt die Reihenfolge an, in
   der die Gera:te beim Systemstart erkannt wurden. Die dritte Karte,
   die den sis(4) Treiber benutzt, wu:rde beispielsweise sis2
   heissen.

   Der Adapter dc0 aus dem Beispiel ist aktiv. Sie erkennen das an
   den folgenden Hinweisen:

    1. UP bedeutet, dass die Karte konfiguriert und aktiv ist.

    2. Der Karte wurde die Internet-Adresse (inet) 192.168.1.3
       zugewiesen.

    3. Die Subnetzmaske ist richtig (0xffffff00 entspricht
       255.255.255.0).

    4. Die Broadcast-Adresse 192.168.1.255 ist richtig.

    5. Die MAC-Adresse der Karte (ether) lautet 00:a0:cc:da:da:da.

    6. Die automatische Medienerkennung ist aktiviert (media:
       Ethernet autoselect (100baseTX <full-duplex>)). Der Adapter
       dc1 benutzt das Medium 10baseT/UTP. Weitere Informationen
       u:ber die einstellbaren Medien entnehmen Sie bitte der
       Hilfeseite des Treibers.

    7. Der Verbindungsstatus (status) ist active, das heisst es wurde
       ein Tra:gersignal entdeckt. Fu:r dc1 wird status: no carrier
       angezeigt. Das ist normal, wenn kein Kabel an der Karte
       angeschlossen ist.

   Wa:re die Karte nicht konfiguriert, wu:rde die Ausgabe von
   ifconfig(8) so aussehen:

 dc0: flags=8843<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
                 ether 00:a0:cc:da:da:da

   Sie brauchen die Berechtigungen von root, um Ihre Karte zu
   konfigurieren. Die Konfiguration kann auf der Kommandozeile mit
   ifconfig(8) erfolgen, allerdings mu:sste sie dann nach jedem
   Neustart wiederholt werden. Dauerhaft wird die Karte in
   /etc/rc.conf konfiguriert.

   O:ffnen Sie /etc/rc.conf mit Ihrem Lieblingseditor und fu:gen Sie
   fu:r jede Karte Ihres Systems eine Zeile hinzu. In dem hier
   diskutierten Fall wurden die nachstehenden Zeilen eingefu:gt:

 ifconfig_dc0="inet 192.168.1.3 netmask 255.255.255.0"
 ifconfig_dc1="inet 10.0.0.1 netmask 255.255.255.0 media 10baseT/UTP"

   Ersetzen Sie dc0, dc1 usw. durch die Gera:tenamen Ihrer Karten und
   setzen Sie die richtigen IP-Adressen ein. Die Hilfeseiten des
   Treibers und ifconfig(8) enthalten weitere Einzelheiten u:ber
   verfu:gbare Optionen. Die Syntax von /etc/rc.conf wird in
   rc.conf(5) erkla:rt.

   Wenn Sie das Netz wa:hrend der Installation konfiguriert haben,
   existieren vielleicht schon Eintra:ge fu:r Ihre Karten.
   U:berpru:fen Sie /etc/rc.conf bevor Sie weitere Zeilen
   hinzufu:gen.

   In /etc/hosts ko:nnen Sie die Namen und IP-Adressen der Rechner
   Ihres LANs eintragen. Weitere Informationen entnehmen Sie bitte
   hosts(5) und /usr/share/examples/etc/hosts.

     --------------------------------------------------------------

  11.8.3. Test und Fehlersuche

   Nachdem Sie die notwendigen A:nderungen in /etc/rc.conf
   vorgenommen haben, fu:hren Sie einen Neustart Ihres Systems durch.
   Dadurch werden die Adapter konfiguriert und Sie stellen sicher,
   dass der Start ohne Konfigurationsfehler erfolgt.

   Wenn das System gestartet ist, sollten Sie die Netzwerkkarten
   testen.

     --------------------------------------------------------------

    11.8.3.1. Test der Ethernet-Karte

   Mit zwei Tests ko:nnen Sie pru:fen, ob die Ethernet-Karte richtig
   konfiguriert ist. Testen Sie zuerst mit ping den Adapter selbst
   und sprechen Sie dann eine andere Maschine im LAN an.

   Zuerst, der Test des Adapters:

 % ping -c5 192.168.1.3
 PING 192.168.1.3 (192.168.1.3): 56 data bytes
 64 bytes from 192.168.1.3: icmp_seq=0 ttl=64 time=0.082 ms
 64 bytes from 192.168.1.3: icmp_seq=1 ttl=64 time=0.074 ms
 64 bytes from 192.168.1.3: icmp_seq=2 ttl=64 time=0.076 ms
 64 bytes from 192.168.1.3: icmp_seq=3 ttl=64 time=0.108 ms
 64 bytes from 192.168.1.3: icmp_seq=4 ttl=64 time=0.076 ms

 --- 192.168.1.3 ping statistics ---
 5 packets transmitted, 5 packets received, 0% packet loss
 round-trip min/avg/max/stddev = 0.074/0.083/0.108/0.013 ms

   Jetzt versuchen wir, eine andere Maschine im LAN zu erreichen:

 % ping -c5 192.168.1.2
 PING 192.168.1.2 (192.168.1.2): 56 data bytes
 64 bytes from 192.168.1.2: icmp_seq=0 ttl=64 time=0.726 ms
 64 bytes from 192.168.1.2: icmp_seq=1 ttl=64 time=0.766 ms
 64 bytes from 192.168.1.2: icmp_seq=2 ttl=64 time=0.700 ms
 64 bytes from 192.168.1.2: icmp_seq=3 ttl=64 time=0.747 ms
 64 bytes from 192.168.1.2: icmp_seq=4 ttl=64 time=0.704 ms

 --- 192.168.1.2 ping statistics ---
 5 packets transmitted, 5 packets received, 0% packet loss
 round-trip min/avg/max/stddev = 0.700/0.729/0.766/0.025 ms

   Sie ko:nnen auch den Namen der Maschine anstelle von 192.168.1.2
   benutzen, wenn Sie /etc/hosts entsprechend eingerichtet haben.

     --------------------------------------------------------------

    11.8.3.2. Fehlersuche

   Fehler zu beheben, ist immer sehr mu:hsam. Indem Sie die einfachen
   Sachen zuerst pru:fen, erleichtern Sie sich die Aufgabe. Steckt
   das Netwerkkabel? Sind die Netzwerkdienste richtig konfiguriert?
   Funktioniert die Firewall? Wird die Netwerkkarte von FreeBSD
   unterstu:tzt? Lesen Sie immer die Hardware-Informationen des
   Releases, bevor Sie einen Fehlerbericht einsenden. Aktualisieren
   Sie Ihre FreeBSD-Version auf -STABLE. Suchen Sie in den Archiven
   der Mailinglisten oder auf dem Internet nach bekannten Lo:sungen.

   Wenn die Karte funktioniert, die Verbindungen aber zu langsam
   sind, lesen Sie bitte die Hilfeseite tuning(7). Pru:fen Sie auch
   die Netzwerkkonfiguration, da falsche Einstellungen die Ursache
   fu:r langsame Verbindungen sein ko:nnen.

   Wenn Sie viele "device timeout" Meldungen in den Systemprotokollen
   finden, pru:fen Sie, dass es keinen Konflikt zwischen der
   Netzwerkkarte und anderen Gera:ten Ihres Systems gibt.
   U:berpru:fen Sie nochmals die Verkabelung. Unter Umsta:nden
   beno:tigen Sie eine neue Netzwerkkarte.

   Wenn Sie in den Systemprotokollen "watchdog timeout"
   Fehlermeldungen finden, kontrollieren Sie zuerst die Verkabelung.
   U:berpru:fen Sie dann, ob der PCI-Steckplatz der Karte Bus
   Mastering unterstu:tzt. Auf einigen a:lteren Motherboards ist das
   nur fu:r einen Steckplatz (meistens Steckplatz 0) der Fall. Lesen
   Sie in der Dokumentation Ihrer Karte und Ihres Motherboards nach,
   ob das vielleicht die Ursache des Problems sein ko:nnte.

   Die Meldung "No route to host" erscheint, wenn Ihr System ein
   Paket nicht zustellen kann. Das kann vorkommen weil beispielsweise
   keine Default-Route gesetzt wurde oder das Netzwerkkabel nicht
   richtig steckt. Schauen Sie in der Ausgabe von netstat -rn nach,
   ob eine Route zu dem Zielsystem existiert. Wenn nicht, lesen Sie
   bitte das Kapitel 31.

   Die Meldung "ping: sendto: Permission denied" wird oft von einer
   falsch konfigurierten Firewall verursacht. Wenn keine Regeln
   definiert wurden, blockiert eine aktivierte Firewall alle Pakete,
   selbst einfache ping-Pakete. Weitere Informationen erhalten Sie in
   Kapitel 30.

   Falls die Leistung der Karte schlecht ist, setzen Sie die
   Medienerkennung von autoselect (automatisch) auf das richtige
   Medium. In vielen Fa:llen lo:st diese Massnahme Leistungsprobleme.
   Wenn nicht, pru:fen Sie nochmal die Netzwerkeinstellungen und
   lesen Sie die Hilfeseite tuning(7).

     --------------------------------------------------------------

11.9. Virtual Hosts

   Ein gebra:uchlicher Zweck von FreeBSD ist das virtuelle Hosting,
   bei dem ein Server im Netzwerk wie mehrere Server aussieht. Dies
   wird dadurch erreicht, dass einem Netzwerkinterface mehrere
   Netzwerk-Adressen zugewiesen werden.

   Ein Netzwerkinterface hat eine "echte" Adresse und kann beliebig
   viele "alias" Adressen haben. Die Aliase werden durch
   entsprechende alias Eintra:ge in /etc/rc.conf festgelegt.

   Ein alias Eintrag fu:r das Interface fxp0 sieht wie folgt aus:

 ifconfig_fxp0_alias0="inet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx"

   Beachten Sie, dass die Alias-Eintra:ge mit alias0 anfangen mu:ssen
   und weiter hochgeza:hlt werden, das heisst _alias1, _alias2, und
   so weiter. Die Konfiguration der Aliase ho:rt bei der ersten
   fehlenden Zahl auf.

   Die Berechnung der Alias-Netzwerkmasken ist wichtig, doch zum
   Glu:ck einfach. Fu:r jedes Interface muss es eine Adresse geben,
   die die Netzwerkmaske des Netzwerkes richtig beschreibt. Alle
   anderen Adressen in diesem Netzwerk haben dann eine Netzwerkmaske,
   die mit 1 gefu:llt ist (also 255.255.255.255 oder hexadezimal
   0xffffffff).

   Als Beispiel betrachten wir den Fall, in dem fxp0 mit zwei
   Netzwerken verbunden ist: dem Netzwerk 10.1.1.0 mit der
   Netzwerkmaske 255.255.255.0 und dem Netzwerk 202.0.75.16 mit der
   Netzwerkmaske 255.255.255.240. Das System soll die Adressen
   10.1.1.1 bis 10.1.1.5 und 202.0.75.17 bis 202.0.75.20 belegen. Wie
   eben beschrieben, hat nur die erste Adresse in einem Netzwerk
   (hier 10.0.1.1 und 202.0.75.17) die richtige Netzwerkmaske. Alle
   anderen Adressen (10.1.1.2 bis 10.1.1.5 und 202.0.75.18 bis
   202.0.75.20) erhalten die Maske 255.255.255.255.

   Die folgenden Eintra:ge in /etc/rc.conf konfigurieren den Adapter
   entsprechend dem Beispiel:

 ifconfig_fxp0="inet 10.1.1.1 netmask 255.255.255.0"
 ifconfig_fxp0_alias0="inet 10.1.1.2 netmask 255.255.255.255"
 ifconfig_fxp0_alias1="inet 10.1.1.3 netmask 255.255.255.255"
 ifconfig_fxp0_alias2="inet 10.1.1.4 netmask 255.255.255.255"
 ifconfig_fxp0_alias3="inet 10.1.1.5 netmask 255.255.255.255"
 ifconfig_fxp0_alias4="inet 202.0.75.17 netmask 255.255.255.240"
 ifconfig_fxp0_alias5="inet 202.0.75.18 netmask 255.255.255.255"
 ifconfig_fxp0_alias6="inet 202.0.75.19 netmask 255.255.255.255"
 ifconfig_fxp0_alias7="inet 202.0.75.20 netmask 255.255.255.255"

     --------------------------------------------------------------

11.10. Konfigurationsdateien

  11.10.1. /etc Layout

   Konfigurationsdateien finden sich in einigen Verzeichnissen unter
   anderem in:

                       Entha:lt generelle                             
   /etc                Konfigurationsinformationen, die Daten hier    
                       sind systemspezifisch.                         
   /etc/defaults       Default Versionen der Konfigurationsdateien.   
   /etc/mail           Entha:lt die sendmail(8) Konfiguration und     
                       weitere MTA Konfigurationsdateien.             
   /etc/ppp            Hier findet sich die Konfiguration fu:r die    
                       User- und Kernel-ppp Programme.                
                       Das Vorgabeverzeichnis, in dem Daten von       
   /etc/namedb         named(8) gehalten werden. Normalerweise werden 
                       hier named.conf und Zonendaten abgelegt.       
                       Installierte Anwendungen legen hier ihre       
   /usr/local/etc      Konfigurationsdateien ab. Dieses Verzeichnis   
                       kann Unterverzeichnisse fu:r bestimmte         
                       Anwendungen enthalten.                         
   /usr/local/etc/rc.d Ort fu:r Start- und Stopskripten installierter 
                       Anwendungen.                                   
                       Automatisch generierte systemspezifische       
   /var/db             Datenbanken, wie die Paket-Datenbank oder die  
                       locate-Datenbank.                              

     --------------------------------------------------------------

  11.10.2. Hostnamen

     --------------------------------------------------------------

    11.10.2.1. /etc/resolv.conf

   Wie der FreeBSD-Resolver auf das Internet Domain Name System (DNS)
   zugreift, wird in /etc/resolv.conf festgelegt.

   Die gebra:uchlichsten Eintra:ge in /etc/resolv.conf sind:

              Die IP-Adresse eines Nameservers, den der Resolver      
   nameserver abfragen soll. Bis zu drei Server werden in der         
              Reihenfolge, in der sie aufgeza:hlt sind, abgefragt.    
              Suchliste mit Domain-Namen zum Auflo:sen von Hostnamen. 
   search     Die Liste wird normalerweise durch den Domain-Teil des  
              lokalen Hostnamens festgelegt.                          
   domain     Der lokale Domain-Name.                                 

   Beispiel fu:r eine typische resolv.conf:

 search example.com
 nameserver 147.11.1.11
 nameserver 147.11.100.30

     Anmerkung: Nur eine der Anweisungen search oder domain sollte
     benutzt werden.

   Wenn Sie DHCP benutzen, u:berschreibt dhclient(8) fu:r gewo:hnlich
   resolv.conf mit den Informationen vom DHCP-Server.

     --------------------------------------------------------------

    11.10.2.2. /etc/hosts

   /etc/hosts ist eine einfache textbasierte Datenbank, die aus alten
   Internetzeiten stammt. Zusammen mit DNS und NIS stellt sie eine
   Abbildung zwischen Namen und IP-Adressen zur Verfu:gung. Anstatt
   named(8) zu konfigurieren, ko:nnen hier lokale Rechner, die u:ber
   ein LAN verbunden sind, eingetragen werden. Lokale Eintra:ge fu:r
   gebra:uchliche Internet-Adressen in /etc/hosts verhindern die
   Abfrage eines externen Servers und beschleunigen die
   Namensauflo:sung.

 # $FreeBSD$
 #
 # Host Database
 # This file should contain the addresses and aliases
 # for local hosts that share this file.
 # In the presence of the domain name service or NIS, this file may
 # not be consulted at all; see /etc/nsswitch.conf for the resolution order.
 #
 #
 ::1                     localhost localhost.my.domain myname.my.domain
 127.0.0.1               localhost localhost.my.domain myname.my.domain

 #
 # Imaginary network.
 #10.0.0.2               myname.my.domain myname
 #10.0.0.3               myfriend.my.domain myfriend
 #
 # According to RFC 1918, you can use the following IP networks for
 # private nets which will never be connected to the Internet:
 #
 #       10.0.0.0        -   10.255.255.255
 #       172.16.0.0      -   172.31.255.255
 #       192.168.0.0     -   192.168.255.255
 #
 # In case you want to be able to connect to the Internet, you need
 # real official assigned numbers.  PLEASE PLEASE PLEASE do not try
 # to invent your own network numbers but instead get one from your
 # network provider (if any) or from the Internet Registry (ftp to
 # rs.internic.net, directory `/templates').
 #

   /etc/hosts hat ein einfaches Format:

 [Internet Adresse] [Offizieller Hostname] [Alias1] [Alias2] ...

   Zum Beispiel:

 10.0.0.1 myRealHostname.example.com myRealHostname foobar1 foobar2

   Weitere Informationen entnehmen Sie bitte hosts(5).

     --------------------------------------------------------------

  11.10.3. Konfiguration von Logdateien

     --------------------------------------------------------------

    11.10.3.1. syslog.conf

   syslog.conf ist die Konfigurationsdatei von syslogd(8). Sie legt
   fest, welche syslog Meldungen in welche Logdateien geschrieben
   werden.

 # $FreeBSD$
 #
 #       Spaces ARE valid field separators in this file. However,
 #       other *nix-like systems still insist on using tabs as field
 #       separators. If you are sharing this file between systems, you
 #       may want to use only tabs as field separators here.
 #       Consult the syslog.conf(5) manpage.
 *.err;kern.debug;auth.notice;mail.crit          /dev/console
 *.notice;kern.debug;lpr.info;mail.crit;news.err /var/log/messages
 security.*                                      /var/log/security
 mail.info                                       /var/log/maillog
 lpr.info                                        /var/log/lpd-errs
 cron.*                                          /var/log/cron
 *.err                                           root
 *.notice;news.err                               root
 *.alert                                         root
 *.emerg                                         *
 # uncomment this to log all writes to /dev/console to /var/log/console.log
 #console.info                                   /var/log/console.log
 # uncomment this to enable logging of all log messages to /var/log/all.log
 #*.*                                            /var/log/all.log
 # uncomment this to enable logging to a remote log host named loghost
 #*.*                                            @loghost
 # uncomment these if you're running inn
 # news.crit                                     /var/log/news/news.crit
 # news.err                                      /var/log/news/news.err
 # news.notice                                   /var/log/news/news.notice
 !startslip
 *.*                                             /var/log/slip.log
 !ppp
 *.*                                             /var/log/ppp.log

   Weitere Informationen entha:lt syslog.conf(5).

     --------------------------------------------------------------

    11.10.3.2. newsyslog.conf

   Die Konfigurationsdatei fu:r newsyslog(8), das normalerweise von
   cron(8) aufgerufen wird, ist newsyslog.conf. newsyslog(8) stellt
   fest, ob Logdateien archiviert oder verschoben werden mu:ssen. So
   wird logfile nach logfile.0 geschoben und logfile.0 nach logfile.1
   usw. Zudem ko:nnen Logdateien mit gzip(1) komprimiert werden. Die
   Namen der Logdateien sind dann logfile.0.gz, logfile.1.gz usw.

   newsyslog.conf legt fest, welche Logdateien wann bearbeitet und
   wie viele Dateien behalten werden. Logdateien ko:nnen auf Basis
   ihrer Gro:sse oder zu einem gewissen Zeitpunkt archiviert bzw.
   umbenannt werden.

 # configuration file for newsyslog
 # $FreeBSD$
 #
 # filename          [owner:group]    mode count size when [ZB] [/pid_file] [sig_num]
 /var/log/cron                           600  3     100  *     Z
 /var/log/amd.log                        644  7     100  *     Z
 /var/log/kerberos.log                   644  7     100  *     Z
 /var/log/lpd-errs                       644  7     100  *     Z
 /var/log/maillog                        644  7     *    @T00  Z
 /var/log/sendmail.st                    644  10    *    168   B
 /var/log/messages                       644  5     100  *     Z
 /var/log/all.log                        600  7     *    @T00  Z
 /var/log/slip.log                       600  3     100  *     Z
 /var/log/ppp.log                        600  3     100  *     Z
 /var/log/security                       600  10    100  *     Z
 /var/log/wtmp                           644  3     *    @01T05 B
 /var/log/daily.log                      640  7     *    @T00  Z
 /var/log/weekly.log                     640  5     1    $W6D0 Z
 /var/log/monthly.log                    640  12    *    $M1D0 Z
 /var/log/console.log                    640  5     100  *     Z

   Um mehr zu erfahren, lesen Sie bitte newsyslog(8).

     --------------------------------------------------------------

  11.10.4. sysctl.conf

   sysctl.conf sieht a:hnlich wie rc.conf aus. Werte werden in der
   Form Variable=Wert gesetzt. Die angegebenen Werte werden gesetzt,
   nachdem sich das System bereits im Mehrbenutzermodus befindet.
   Allerdings lassen sich im Mehrbenutzermodus nicht alle Werte
   setzen.

   Um das Protokollieren von fatalen Signalen abzustellen und
   Benutzer daran zu hindern, von anderen Benutzern gestartete
   Prozesse zu sehen, ko:nnen Sie in der Datei sysctl.conf die
   folgenden Variablen setzen:

 # Do not log fatal signal exits (e.g. sig 11)
 kern.logsigexit=0

 # Prevent users from seeing information about processes that
 # are being run under another UID.
 security.bsd.see_other_uids=0

     --------------------------------------------------------------

11.11. Einstellungen mit sysctl

   Mit sysctl(8) ko:nnen Sie A:nderungen an einem laufenden
   FreeBSD-System vornehmen. Unter anderem ko:nnen Optionen des
   TCP/IP-Stacks oder des virtuellen Speichermanagements vera:ndert
   werden. Unter der Hand eines erfahrenen Systemadministrators kann
   dies die Systemperformance erheblich verbessern. U:ber 500
   Variablen ko:nnen mit sysctl(8) gelesen und gesetzt werden.

   Der Hauptzweck von sysctl(8) besteht darin, Systemeinstellungen zu
   lesen und zu vera:ndern.

   Alle auslesbaren Variablen werden wie folgt angezeigt:

 % sysctl -a

   Sie ko:nnen auch eine spezielle Variable, z.B. kern.maxproc lesen:

 % sysctl kern.maxproc
 kern.maxproc: 1044

   Um eine Variable zu setzen, benutzen Sie die Syntax Variable=
   Wert:

 # sysctl kern.maxfiles=5000
 kern.maxfiles: 2088 -> 5000

   Mit sysctl ko:nnen Sie Strings, Zahlen oder Boolean-Werte setzen.
   Bei Boolean-Werten setzen sie 1 fu:r wahr und 0 fu:r falsch.

   Wenn Sie Variablen automatisch wa:hrend des Systemstarts setzen
   wollen, fu:gen Sie die Variablen in die Datei /etc/sysctl.conf
   ein. Weiteres entnehmen Sie bitte der Hilfeseite sysctl.conf(5)
   und dem Abschnitt 11.10.4.

     --------------------------------------------------------------

  11.11.1. Schreibgeschu:tzte Variablen

   Contributed by Tom Rhodes.

   Schreibgeschu:tzte sysctl-Variablen ko:nnen nur wa:hrend des
   Systemstarts vera:ndert werden.

   Beispielsweise hat cardbus(4) auf einigen Laptops Schwierigkeiten,
   Speicherbereiche zu erkennen. Es treten dann Fehlermeldungen wie
   die folgende auf:

 cbb0: Could not map register memory
 device_probe_and_attach: cbb0 attach returned 12

   Um dieses Problem zu lo:sen, muss eine schreibgeschu:tzte
   sysctl-Variable vera:ndert werden. Eine OID kann in der Datei
   /boot/loader.conf u:berschrieben werden. Die Datei
   /boot/defaults/loader.conf entha:lt Vorgabewwerte fu:r
   sysctl-Variablen.

   Das oben erwa:hnte Problem wird durch die Angabe von
   hw.pci.allow_unsupported_io_range=1 in /boot/loader.conf gelo:st.
   Danach sollte cardbus(4) fehlerfrei funktionieren.

     --------------------------------------------------------------

11.12. Tuning von Laufwerken

  11.12.1. Sysctl Variablen

    11.12.1.1. vfs.vmiodirenable

   Die Variable vfs.vmiodirenable besitzt in der Voreinstellung den
   Wert 1. Die Variable kann auf den Wert 0 (ausgeschaltet) oder 1
   (angeschaltet) gesetzt werden. Sie steuert, wie Verzeichnisse vom
   System zwischengespeichert werden. Die meisten Verzeichnisse sind
   klein und benutzen nur ein einzelnes Fragment, typischerweise
   1 kB, im Dateisystem. Im Buffer-Cache verbrauchen sie mit
   512 Bytes noch weniger Platz. Ist die Variable ausgeschaltet (auf
   0) wird der Buffer-Cache nur eine limitierte Anzahl Verzeichnisse
   zwischenspeichern, auch wenn das System u:ber sehr viel Speicher
   verfu:gt. Ist die Variable aktiviert (auf 1), kann der
   Buffer-Cache den VM-Page-Cache benutzen, um Verzeichnisse
   zwischenzuspeichern. Der ganze Speicher steht damit zum
   Zwischenspeichern von Verzeichnissen zur Verfu:gung. Der Nachteil
   bei dieser Vorgehensweise ist, dass zum Zwischenspeichern eines
   Verzeichnisses mindestens eine physikalische Seite im Speicher,
   die normalerweise 4 kB gross ist, anstelle von 512 Bytes gebraucht
   wird. Wir empfehlen, diese Option aktiviert zu lassen, wenn Sie
   Dienste zur Verfu:gung stellen, die viele Dateien manipulieren.
   Beispiele fu:r solche Dienste sind Web-Caches, grosse Mail-Systeme
   oder Netnews. Die aktivierte Variable vermindert, trotz des
   verschwendeten Speichers, in aller Regel nicht die Leistung des
   Systems, obwohl Sie das nachpru:fen sollten.

     --------------------------------------------------------------

    11.12.1.2. vfs.write_behind

   In der Voreinstellung besitzt die Variable vfs.write_behind den
   Wert 1 (aktiviert). Mit dieser Einstellung schreibt das
   Dateisystem anfallende vollsta:ndige Cluster, die besonders beim
   sequentiellen Schreiben grosser Dateien auftreten, direkt auf das
   Medium aus. Dies verhindert, dass sich im Buffer-Cache vera:nderte
   Puffer (dirty buffers) ansammeln, die die I/O-Verarbeitung nicht
   mehr beschleunigen wu:rden. Unter bestimmten Umsta:nden blockiert
   diese Funktion allerdings Prozesse. Setzen Sie in diesem Fall die
   Variable vfs.write_behind auf den Wert 0.

     --------------------------------------------------------------

    11.12.1.3. vfs.hirunningspace

   Die Variable vfs.hirunningspace bestimmt systemweit die Menge
   ausstehender Schreiboperationen, die dem Platten-Controller zu
   jedem beliebigen Zeitpunkt u:bergeben werden ko:nnen.
   Normalerweise ko:nnen Sie den Vorgabewert verwenden. Auf Systemen
   mit vielen Platten kann der Wert aber auf 4 bis 5 Megabyte erho:ht
   werden. Beachten Sie, dass ein zu hoher Wert (gro:sser als der
   Schreib-Schwellwert des Buffer-Caches) zu Leistungverlusten
   fu:hren kann. Setzen Sie den Wert daher nicht zu hoch! Hohe Werte
   ko:nnen auch Leseoperationen verzo:gern, die gleichzeitig mit
   Schreiboperationen ausgefu:hrt werden.

   Es gibt weitere Variablen, mit denen Sie den Buffer-Cache und den
   VM-Page-Cache beeinflussen ko:nnen. Wir raten Ihnen allerdings
   davon ab, diese Variablen zu vera:ndern, da das VM-System den
   virtuellen Speicher selbst sehr gut verwaltet.

     --------------------------------------------------------------

    11.12.1.4. vm.swap_idle_enabled

   Die Variable vm.swap_idle_enabled ist fu:r grosse
   Mehrbenutzer-Systeme gedacht, auf denen sich viele Benutzer an-
   und abmelden und auf denen es viele Prozesse im Leerlauf (idle)
   gibt. Solche Systeme fragen kontinuierlich freien Speicher an.
   Wenn Sie die Variable vm.swap_idle_enabled aktivieren, ko:nnen Sie
   die Auslagerungs-Hysterese von Seiten mit den Variablen
   vm.swap_idle_threshold1 und vm.swap_idle_threshold2 einstellen.
   Die Schwellwerte beider Variablen geben die Zeit in Sekunden an,
   in denen sich ein Prozess im Leerlauf befinden muss. Wenn die
   Werte so eingestellt sind, dass Seiten fru:her als nach dem
   normalen Algorithmus ausgelagert werden, verschafft das dem
   Auslagerungs-Prozess mehr Luft. Aktivieren Sie diese Funktion nur,
   wenn Sie sie wirklich beno:tigen: Die Speicherseiten werden eher
   fru:her als spa:ter ausgelagert. Der Platz im Swap-Bereich wird
   dadurch schneller verbraucht und die Plattenaktivita:ten steigen
   an. Auf kleine Systeme hat diese Funktion spu:rbare Auswirkungen.
   Auf grossen Systemen, die sowieso schon Seiten auslagern mu:ssen,
   ko:nnen ganze Prozesse leichter in den Speicher geladen oder
   ausgelagert werden.

     --------------------------------------------------------------

    11.12.1.5. hw.ata.wc

   In FreeBSD 4.3 wurde versucht, den IDE-Schreib-Zwischenspeicher
   abzustellen. Obwohl dies die Bandbreite zum Schreiben auf
   IDE-Platten verringerte, wurde es aus Gru:nden der Datenkonsistenz
   als notwenig angesehen. Der Kern des Problems ist, dass
   IDE-Platten keine zuverla:ssige Aussage u:ber das Ende eines
   Schreibvorgangs treffen. Wenn der Schreib-Zwischenspeicher
   aktiviert ist, werden die Daten nicht in der Reihenfolge ihres
   Eintreffens geschrieben. Es kann sogar passieren, dass das
   Schreiben mancher Blo:cke im Fall von starker Plattenaktivita:t
   auf unbefristete Zeit verzo:gert wird. Ein Absturz oder
   Stromausfall zu dieser Zeit kann die Dateisysteme erheblich
   bescha:digen. Wir entschieden uns daher fu:r die sichere Variante
   und stellten den Schreib-Zwischenspeicher ab. Leider war damit
   auch ein grosser Leistungsverlust verbunden, so dass wir die
   Variable nach dem Release wieder aktiviert haben. Sie sollten den
   Wert der Variable hw.ata.wc auf Ihrem System u:berpru:fen. Wenn
   der Schreib-Zwischenspeicher abgestellt ist, ko:nnen Sie ihn
   aktivieren, indem Sie die Variable auf den Wert 1 setzen. Dies
   muss zum Zeitpunkt des Systemstarts im Boot-Loader geschehen. Eine
   A:nderung der Variable, nachdem der Kernel gestartet ist, hat
   keine Auswirkungen.

   Weitere Informationen finden Sie in ata(4).

     --------------------------------------------------------------

    11.12.1.6. SCSI_DELAY (kern.cam.scsi_delay)

   Mit der Kerneloption SCSI_DELAY kann die Dauer des Systemstarts
   verringert werden. Der Vorgabewert ist recht hoch und er
   verzo:gert den Systemstart um 15 oder mehr Sekunden. Normalerweise
   kann dieser Wert, insbesondere mit modernen Laufwerken, auf
   5 Sekunden heruntergesetzt werden. Ab FreeBSD 5.0 wird dazu die
   sysctl-Variable kern.cam.scsi_delay benutzt. Die Variable sowie
   die Kerneloption verwenden fu:r die Zeitangabe Millisekunden und
   nicht Sekunden.

     --------------------------------------------------------------

  11.12.2. Soft Updates

   Mit tunefs(8) lassen sich Feineinstellungen an Dateisystemen
   vornehmen. Das Programm hat verschiedene Optionen, von denen hier
   nur Soft Updates betrachtet werden. Soft Updates werden wie folgt
   ein- und ausgeschaltet:

 # tunefs -n enable /filesystem
 # tunefs -n disable /filesystem

   Ein eingeha:ngtes Dateisystem kann nicht mit tunefs(8) modifiziert
   werden. Soft Updates werden am besten im Single-User Modus
   aktiviert, bevor Partitionen eingehangen sind.

   Durch Einsatz eines Zwischenspeichers wird die Performance im
   Bereich der Metadaten, vorwiegend beim Anlegen und Lo:schen von
   Dateien, gesteigert. Wir empfehlen, Soft Updates auf allen
   Dateisystemen zu aktivieren. Allerdings sollten Sie sich u:ber die
   zwei Nachteile von Soft Updates bewusst sein: Erstens garantieren
   Soft Updates zwar die Konsistenz der Daten im Fall eines
   Absturzes, aber es kann leicht passieren, dass das Dateisystem
   u:ber mehrere Sekunden oder gar eine Minute nicht synchronisiert
   wurde. Im Fall eines Absturzes verlieren Sie mit Soft Updates
   unter Umsta:nden mehr Daten als ohne. Zweitens verzo:gern Soft
   Updates die Freigabe von Datenblo:cken. Eine gro:ssere
   Aktualisierung eines fast vollen Dateisystems, wie dem
   Root-Dateisystem, z.B. wa:hrend eines make installworld, kann das
   Dateisystem vollaufen lassen. Dadurch wu:rde die Aktualisierung
   fehlschlagen.

     --------------------------------------------------------------

    11.12.2.1. Details u:ber Soft Updates

   Es gibt zwei klassische Herangehensweisen, wie man die Metadaten
   des Dateisystems (also Daten u:ber Dateien, wie inode Bereiche
   oder Verzeichniseintra:ge) aktualisiert auf die Platte
   zuru:ckschreibt:

   Das historisch u:bliche Verfahren waren synchrone Updates der
   Metadaten, d. h. wenn eine A:nderung an einem Verzeichnis no:tig
   war, wurde anschliessend gewartet, bis diese A:nderung
   tatsa:chlich auf die Platte zuru:ckgeschrieben worden war. Der
   Inhalt der Dateien wurde im "Buffer Cache" zwischengespeichert und
   asynchron irgendwann spa:ter auf die Platte geschrieben. Der
   Vorteil dieser Implementierung ist, dass sie sicher funktioniert.
   Wenn wa:hrend eines Updates ein Ausfall erfolgt, haben die
   Metadaten immer einen konsistenten Zustand. Eine Datei ist
   entweder komplett angelegt oder gar nicht. Wenn die Datenblo:cke
   einer Datei im Fall eines Absturzes noch nicht den Weg aus dem
   "Buffer Cache" auf die Platte gefunden haben, kann fsck(8) das
   Dateisystem reparieren, indem es die Dateila:nge einfach auf 0
   setzt. Ausserdem ist die Implementierung einfach und
   u:berschaubar. Der Nachteil ist, dass A:nderungen der Metadaten
   sehr langsam vor sich gehen. Ein rm -r beispielsweise fasst alle
   Dateien eines Verzeichnisses der Reihe nach an, aber jede dieser
   A:nderungen am Verzeichnis (Lo:schen einer Datei) wird einzeln
   synchron auf die Platte geschrieben. Gleiches beim Auspacken
   grosser Hierarchien (tar -x).

   Der zweite Fall sind asynchrone Metadaten-Updates. Das ist z. B.
   der Standard bei Linux/ext2fs oder die Variante mount -o async
   fu:r *BSD UFS. Man schickt die Updates der Metadaten einfach auch
   noch u:ber den "Buffer Cache", sie werden also zwischen die
   Updates der normalen Daten eingeschoben. Vorteil ist, dass man nun
   nicht mehr auf jeden Update warten muss, Operationen, die
   zahlreiche Metadaten a:ndern, werden also viel schneller. Auch
   hier ist die Implementierung sehr einfach und wenig anfa:llig fu:r
   Fehler. Nachteil ist, dass keinerlei Konsistenz des Dateisystems
   mehr gesichert ist. Wenn mitten in einer Operation, die viele
   Metadaten a:ndert, ein Ausfall erfolgt (Stromausfall, dru:cken des
   Reset-Tasters), dann ist das Dateisystem anschliessend in einem
   unbestimmten Zustand. Niemand kann genau sagen, was noch
   geschrieben worden ist und was nicht mehr; die Datenblo:cke einer
   Datei ko:nnen schon auf der Platte stehen, wa:hrend die inode
   Tabelle oder das zugeho:rige Verzeichnis nicht mehr aktualisiert
   worden ist. Man kann praktisch kein fsck mehr implementieren, das
   diesen Zustand wieder reparieren kann, da die dazu no:tigen
   Informationen einfach auf der Platte fehlen. Wenn ein Dateisystem
   derart bescha:digt worden ist, kann man es nur neu erzeugen
   (newfs(8)) und die Daten vom Backup zuru:ckspielen.

   Der historische Ausweg aus diesem Dilemma war ein dirty region
   logging (auch als Journalling bezeichnet, wenngleich dieser
   Begriff nicht immer gleich benutzt und manchmal auch fu:r andere
   Formen von Transaktionsprotokollen gebraucht wird). Man schreibt
   die Metadaten-Updates zwar synchron, aber nur in einen kleinen
   Plattenbereich, die logging area. Von da aus werden sie dann
   asynchron auf ihre eigentlichen Bereiche verteilt. Da die logging
   area ein kleines zusammenha:ngendes Stu:ckchen ist, haben die
   Schreibko:pfe der Platte bei massiven Operationen auf Metadaten
   keine allzu grossen Wege zuru:ckzulegen, so dass alles ein ganzes
   Stu:ck schneller geht als bei klassischen synchronen Updates. Die
   Komplexita:t der Implementierung ha:lt sich ebenfalls in Grenzen,
   somit auch die Anfa:lligkeit fu:r Fehler. Als Nachteil ergibt
   sich, dass Metadaten zweimal auf die Platte geschrieben werden
   mu:ssen (einmal in die logging area, einmal an die richtige
   Stelle), so dass das im Falle regula:rer Arbeit (also keine
   geha:uften Metadatenoperationen) eine "Pessimisierung" des Falls
   der synchronen Updates eintritt, es wird alles langsamer. Dafu:r
   hat man als Vorteil, dass im Falle eines Crashes der konsistente
   Zustand dadurch erzielbar ist, dass die angefangenen Operationen
   aus dem dirty region log entweder zu Ende ausgefu:hrt oder
   komplett verworfen werden, wodurch das Dateisystem schnell wieder
   zur Verfu:gung steht.

   Die Lo:sung von Kirk McKusick, dem Scho:pfer von Berkeley FFS,
   waren Soft Updates: die notwendigen Updates der Metadaten werden
   im Speicher gehalten und dann sortiert auf die Platte geschrieben
   ("ordered metadata updates"). Dadurch hat man den Effekt, dass im
   Falle massiver Metadaten-A:nderungen spa:tere Operationen die
   vorhergehenden, noch nicht auf die Platte geschriebenen Updates
   desselben Elements im Speicher "einholen". Alle Operationen, auf
   ein Verzeichnis beispielsweise, werden also in der Regel noch im
   Speicher abgewickelt, bevor der Update u:berhaupt auf die Platte
   geschrieben wird (die dazugeho:rigen Datenblo:cke werden
   natu:rlich auch so sortiert, dass sie nicht vor ihren Metadaten
   auf der Platte sind). Im Fall eines Absturzes hat man ein
   implizites "log rewind": alle Operationen, die noch nicht den Weg
   auf die Platte gefunden haben, sehen danach so aus, als ha:tten
   sie nie stattgefunden. Man hat so also den konsistenten Zustand
   von ca. 30 bis 60 Sekunden fru:her sichergestellt. Der verwendete
   Algorithmus garantiert dabei, dass alle tatsa:chlich benutzten
   Ressourcen auch in den entsprechenden Bitmaps (Block- und inode
   Tabellen) als belegt markiert sind. Der einzige Fehler, der
   auftreten kann, ist, dass Ressourcen noch als "belegt" markiert
   sind, die tatsa:chlich "frei" sind. fsck(8) erkennt dies und
   korrigiert diese nicht mehr belegten Ressourcen. Die Notwendigkeit
   eines Dateisystem-Checks darf aus diesem Grunde auch ignoriert und
   das Dateisystem mittels mount -f zwangsweise eingebunden werden.
   Um noch allozierte Ressourcen freizugeben muss spa:ter ein fsck(8)
   nachgeholt werden. Das ist dann auch die Idee des background fsck:
   beim Starten des Systems wird lediglich ein Schnappschuss des
   Filesystems gemacht, mit dem fsck(8) dann spa:ter arbeiten kann.
   Alle Dateisysteme du:rfen "unsauber" eingebunden werden und das
   System kann sofort in den Multiuser-Modus gehen. Danach wird ein
   Hintergrund-fsck fu:r die Dateisysteme gestartet, die dies
   beno:tigen, um mo:glicherweise irrtu:mlich belegte Ressourcen
   freizugeben. (Dateisysteme ohne Soft Updates beno:tigen natu:rlich
   immer noch den u:blichen (Vordergrund-)fsck, bevor sie eingebunden
   werden ko:nnen.)

   Der Vorteil ist, dass die Metadaten-Operationen beinahe so schnell
   ablaufen wie im asynchronen Fall (also durchaus auch schneller als
   beim "logging", das ja die Metadaten immer zweimal schreiben
   muss). Als Nachteil stehen dem die Komplexita:t des Codes (mit
   einer erho:hten Fehlerwahrscheinlichkeit in einem bezu:glich
   Datenverlust hoch sensiblen Bereich) und ein erho:hter
   Speicherverbrauch entgegen. Ausserdem muss man sich an einige
   Eigenheiten gewo:hnen: Nach einem Absturz ist ein etwas a:lterer
   Stand auf der Platte - statt einer leeren, aber bereits angelegten
   Datei (wie nach einem herko:mmlichen fsck Lauf) ist auf einem
   Dateisystem mit Soft Updates keine Spur der entsprechenden Datei
   mehr zu sehen, da weder die Metadaten noch der Dateiinhalt je auf
   die Platte geschrieben wurden. Weiterhin kann der Platz nach einem
   rm -r nicht sofort wieder als verfu:gbar markiert werden, sondern
   erst dann, wenn der Update auch auf die Platte vermittelt worden
   ist. Dies kann besonders dann Probleme bereiten, wenn grosse
   Datenmengen in einem Dateisystem ersetzt werden, das nicht
   genu:gend Platz hat, um alle Dateien zweimal unterzubringen.

     --------------------------------------------------------------

11.13. Einstellungen von Kernel Limits

     --------------------------------------------------------------

  11.13.1. Datei und Prozess Limits

    11.13.1.1. kern.maxfiles

   Abha:ngig von den Anforderungen Ihres Systems kann kern.maxfiles
   erho:ht oder erniedrigt werden. Die Variable legt die maximale
   Anzahl von Dateideskriptoren auf Ihrem System fest. Wenn die
   Dateideskriptoren aufgebraucht sind, werden Sie die Meldung "file:
   table is full" wiederholt im Puffer fu:r Systemmeldungen sehen.
   Den Inhalt des Puffers ko:nnen Sie sich mit dmesg anzeigen lassen.

   Jede offene Datei, jedes Socket und jede FIFO verbraucht einen
   Dateideskriptor. Auf "dicken" Produktionsservern ko:nnen leicht
   Tausende Dateideskriptoren beno:tigt werden, abha:ngig von der Art
   und Anzahl der gleichzeitig laufenden Dienste.

   In a:lteren FreeBSD-Versionen wurde die Voreinstellung von
   kern.maxfile aus der Kernelkonfigurationsoption maxusers bestimmt.
   kern.maxfiles wa:chst proportional mit dem Wert von maxusers. Wenn
   Sie einen angepassten Kernel kompilieren, empfiehlt es sich diese
   Option entsprechend der maximalen Benutzerzahl Ihres Systems
   einzustellen. Obwohl auf einer Produktionsmaschine vielleicht
   nicht 256 Benutzer gleichzeitig angemeldet sind, ko:nnen die
   beno:tigten Ressourcen a:hnlich denen eines grossen Webservers
   sein.

   Seit FreeBSD 4.5 wird kern.maxusers beim Systemstart automatisch
   aus dem zur Verfu:gung stehenden Hauptspeicher bestimmt. Im
   laufenden Betrieb kann dieser Wert aus der (nur lesbaren)
   sysctl-Variable kern.maxusers ermittelt werden. Falls ein System
   fu:r diese Variable einen anderen Wert beno:tigt, kann der Wert
   u:ber den Loader angepasst werden. Ha:ufig verwendete Werte sind
   dabei 64, 128, sowie 256. Es ist empfehlenswert, die Anzahl der
   Dateideskriptoren nicht auf einen Wert gro:sser 256 zu setzen, es
   sei denn, Sie beno:tigen wirklich eine riesige Anzahl von ihnen.
   Viele der von kern.maxusers auf einen Standardwert gesetzten
   Parameter ko:nnen beim Systemstart oder im laufenden Betrieb in
   der Datei /boot/loader.conf (sehen Sie sich dazu auch
   loader.conf(5) sowie die Datei /boot/defaults/loader.conf an) an
   Ihre Bedu:rfnisse angepasst werden. Auf FreeBSD-Systemen vor
   FreeBSD 4.4 muss dieser Wert allerdings u:ber die
   Kernelkonfigurationsoption (siehe auch config(8)) maxusers gesetzt
   werden.

   A:ltere FreeBSD-Versionen setzen diesen Wert selbst, wenn Sie in
   der Konfigurationsdatei den Wert 0 [5] angeben. Wenn Sie den Wert
   selbst bestimmen wollen, sollten Sie maxusers mindestens auf 4
   setzen. Dies gilt insbesondere dann, wenn Sie beabsichtigen, das
   X Window-System zu benutzen oder Software zu kompilieren. Der
   Grund dafu:r ist, dass der wichtigste Wert, der durch maxusers
   bestimmt wird, die maximale Anzahl an Prozessen ist, die auf 20 +
   16 * maxusers gesetzt wird. Wenn Sie also maxusers auf 1 setzen,
   ko:nnen gleichzeitig nur 36 Prozesse laufen, von denen ungefa:hr
   18 schon beim Booten des Systems gestartet werden. Dazu kommen
   nochmals etwa 15 Prozesse beim Start des X Window-Systems. Selbst
   eine einfache Aufgabe wie das Lesen einer Manualpage beno:tigt
   neun Prozesse zum Filtern, Dekomprimieren und Betrachten der
   Datei. Fu:r die meisten Benutzer sollte es ausreichen, maxusers
   auf 64 zu setzen, womit 1044 gleichzeitige Prozesse zur Verfu:gung
   stehen. Wenn Sie allerdings den gefu:rchteten Fehler proc table
   full beim Start eines Programms oder auf einem Server mit einer
   grossen Benutzerzahl (wie ftp.FreeBSD.org) sehen, dann sollten Sie
   den Wert nochmals erho:hen und den Kernel neu bauen.

     Anmerkung: Die Anzahl der Benutzer, die sich auf einem Rechner
     anmelden kann, wird durch maxusers nicht begrenzt. Der Wert
     dieser Variablen legt neben der mo:glichen Anzahl der Prozesse
     eines Benutzers weitere sinnvolle Gro:ssen fu:r bestimmte
     Systemtabellen fest. Die Option pseudo-device pty 16 legt die
     Anzahl der erlaubten Anmeldungen von entfernten Systemen und
     X-Terminals fest. Unter FreeBSD 5.X brauchen Sie sich um die
     Anzahl dieser Gera:te nicht mehr zu ku:mmern, da der
     pty(4)-Treiber automatisch neue Gera:te erstellt, wenn Sie die
     Option device pty in Ihre Kernelkonfigurationsdatei aufnehmen
     und danach den Kernel neu bauen.

     --------------------------------------------------------------

    11.13.1.2. kern.ipc.somaxconn

   Die Variable kern.ipc.somaxconn beschra:nkt die Gro:sse der
   Warteschlange (Listen-Queue) fu:r neue TCP-Verbindungen. Der
   Vorgabewert von 128 ist normalerweise zu klein, um neue
   Verbindungen auf einem stark ausgelasteten Webserver zuverla:ssig
   zu handhaben. Auf solchen Servern sollte der Wert auf 1024 oder
   ho:her gesetzt werden. Ein Dienst (z.B. sendmail(8), oder Apache)
   kann die Gro:sse der Queue selbst einschra:nken. Oft gibt es die
   Mo:glichkeit, die Gro:sse der Listen-Queue in einer
   Konfigurationsdatei einzustellen. Eine grosse Listen-Queue
   u:bersteht vielleicht auch einen Denial of Service Angriff (DoS).

     --------------------------------------------------------------

  11.13.2. Netzwerk Limits

   Die Kerneloption NMBCLUSTERS schreibt die Anzahl der
   Netzwerkpuffer (Mbufs) fest, die das System besitzt. Eine zu
   geringe Anzahl Mbufs auf einem Server mit viel Netzwerkverkehr
   verringert die Leistung von FreeBSD. Jeder Mbuf-Cluster nimmt
   ungefa:hr 2 kB Speicher in Anspruch, so dass ein Wert von 1024
   insgesamt 2 Megabyte Speicher fu:r Netzwerkpuffer im System
   reserviert. Wie viele Cluster beno:tigt werden, la:sst sich durch
   eine einfache Berechnung herausfinden. Wenn Sie einen Webserver
   besitzen, der maximal 1000 gleichzeitige Verbindungen servieren
   soll und jede der Verbindungen je einen 16 kB grossen Puffer zum
   Senden und Empfangen braucht, brauchen Sie ungefa:hr 32 MB
   Speicher fu:r Netzwerkpuffer. Als Daumenregel verdoppeln Sie diese
   Zahl, so dass sich fu:r NMBCLUSTERS der Wert 2x32 MB / 2 kB =
   32768 ergibt. Fu:r Maschinen mit viel Speicher sollten Werte
   zwischen 4096 und 32768 genommen werden. Sie ko:nnen diesen Wert
   nicht willku:rlich erho:hen, da dies bereits zu einem Absturz beim
   Systemstart fu:hren kann. Mit der Option -m von netstat(1) ko:nnen
   Sie den Gebrauch der Netzwerkpuffer kontrollieren.

   Die Netzwerkpuffer ko:nnen beim Systemstart mit der
   Loader-Variablen kern.ipc.nmbclusters eingestellt werden. Nur auf
   a:lteren FreeBSD-Systemen mu:ssen Sie die Kerneloption NMBCLUSTERS
   verwenden.

   Die Anzahl der sendfile(2) Puffer muss auf ausgelasteten Servern,
   die den Systemaufruf sendfile(2) oft verwenden, vielleicht erho:ht
   werden. Dazu ko:nnen Sie die Kerneloption NSFBUFS verwenden oder
   die Anzahl der Puffer in /boot/loader.conf (siehe loader(8))
   setzen. Die Puffer sollten erho:ht werden, wenn Sie Prozesse im
   Zustand sfbufa sehen. Die schreibgeschu:tzte sysctl-Variable
   kern.ipc.nsfbufs zeigt die Anzahl eingerichteten Puffer im Kernel.
   Der Wert dieser Variablen wird normalerweise von kern.maxusers
   bestimmt. Manchmal muss die Pufferanzahl jedoch manuell
   eingestellt werden.

     Wichtig: Auch wenn ein Socket nicht blockierend angelegt wurde,
     kann der Aufruf von sendfile(2) blockieren, um auf freie struct
     sf_buf Puffer zu warten.

     --------------------------------------------------------------

    11.13.2.1. net.inet.ip.portrange.*

   Die sysctl-Variable net.inet.ip.portrange.* legt die Portnummern
   fu:r TCP- und UDP-Sockets fest. Es gibt drei Bereiche: den
   niedrigen Bereich, den normalen Bereich und den hohen Bereich. Die
   meisten Netzprogramme benutzen den normalen Bereich. Dieser
   Bereich umfasst in der Voreinstellung die Portnummern 500 bis 5000
   und wird durch die Variablen net.inet.ip.portrange.first und
   net.inet.ip.portrange.last festgelegt. Die festgelegten Bereiche
   fu:r Portnummern werden von ausgehenden Verbindungen benutzt.
   Unter bestimmten Umsta:nden, beispielsweise auf stark
   ausgelasteten Proxy-Servern, sind alle Portnummern fu:r ausgehende
   Verbindungen belegt. Bereiche fu:r Portnummern spielen auf Servern
   keine Rolle, die hauptsa:chlich eingehende Verbindungen
   verarbeiten (wie ein normaler Webserver) oder nur eine begrenzte
   Anzahl ausgehender Verbindungen o:ffnen (beispielsweise ein
   Mail-Relay). Wenn Sie keine freien Portnummern mehr haben, sollten
   Sie die Variable net.inet.ip.portrange.last langsam erho:hen. Ein
   Wert von 10000, 20000 oder 30000 ist angemessen. Beachten Sie auch
   eine vorhandene Firewall, wenn Sie die Bereiche fu:r Portnummern
   a:ndern. Einige Firewalls sperren grosse Bereiche (normalerweise
   aus den kleinen Portnummern) und erwarten, dass hohe Portnummern
   fu:r ausgehende Verbindungen verwendet werden. Daher kann es
   erforderlich sein, den Wert von net.inet.ip.portrange.first zu
   erho:hen.

     --------------------------------------------------------------

    11.13.2.2. TCP Bandwidth Delay Product Begrenzung

   Die TCP Bandwidth Delay Product Begrenzung gleicht TCP/Vegas von
   NetBSD. Die Begrenzung wird aktiviert, indem Sie die
   sysctl-Variable net.inet.tcp.inflight.enable auf den Wert 1
   setzen. Das System wird dann versuchen, fu:r jede Verbindung, das
   Produkt aus der U:bertragungsrate und der Verzo:gerungszeit zu
   bestimmen. Dieses Produkt begrenzt die Datenmenge, die fu:r einen
   optimales Durchsatz zwischengespeichert werden muss.

   Diese Begrenzung ist nu:tzlich, wenn Sie Daten u:ber Verbindungen
   mit einem hohen Produkt aus U:bertragungsrate und
   Verzo:gerungszeit wie Modems, Gigabit-Ethernet oder schnellen
   WANs, zur Verfu:gung stellen. Insbesondere wirkt sich die
   Begrenzung aus, wenn die Verbindung die TCP-Option Window-scaling
   verwendet oder grosse Sende-Fenster (send window) benutzt.
   Schalten Sie die Debug-Meldungen aus, wenn Sie die Begrenzung
   aktiviert haben. Dazu setzen Sie die Variable
   net.inet.tcp.inflight.debug auf 0. Auf Produktions-Systemen
   sollten Sie zudem die Variable net.inet.tcp.inflight.min
   mindestens auf den Wert 6144 setzen. Allerdings kann ein zu hoher
   Wert, abha:ngig von der Verbindung, die Begrenzungsfunktion
   unwirksam machen. Die Begrenzung reduziert die Datenmenge in den
   Queues von Routern und Switches, sowie die Datenmenge in der Queue
   der lokalen Netzwerkkarte. Die Verzo:gerungszeit (Round Trip Time)
   fu:r interaktive Anwendungen sinkt, da weniger Pakete
   zwischengespeichert werden. Dies gilt besonders fu:r Verbindungen
   u:ber langsame Modems. Die Begrenzung wirkt sich allerdings nur
   auf das Versenden von Daten aus (Uploads, Server). Auf den Empfang
   von Daten (Downloads) hat die Begrenzung keine Auswirkungen.

   Die Variable net.inet.tcp.inflight.stab sollte nicht angepasst
   werden. Der Vorgabewert der Variablen betra:gt 20, das heisst es
   werden maximal zwei Pakete zu dem Produkt aus U:bertragungsrate
   und Verzo:gerungszeit addiert. Dies stabilisiert den Algorithmus
   und verbessert die Reaktionszeit auf Vera:nderungen. Bei langsamen
   Verbindungen ko:nnen sich aber die Laufzeiten der Pakete erho:hen
   (ohne diesen Algorithmus wa:ren sie allerdings noch ho:her). In
   solchen Fa:llen ko:nnen Sie versuchen, den Wert der Variablen auf
   15, 10 oder 5 zu erniedrigen. Gleichzeitig mu:ssen Sie vielleicht
   auch net.inet.tcp.inflight.min auf einen kleineren Wert
   (beispielsweise 3500) setzen. A:ndern Sie diese Variablen nur ab,
   wenn Sie keine anderen Mo:glichkeiten mehr haben.

     --------------------------------------------------------------

  11.13.3. Virtueller Speicher (Virtual Memory)

    11.13.3.1. kern.maxvnodes

   Ein vnode ist die interne Darstellung einer Datei oder eines
   Verzeichnisses. Die Erho:hung der Anzahl der fu:r das
   Betriebssystem verfu:gbaren vnodes verringert also die Schreib-
   und Lesezugriffe auf Ihre Festplatte. vnodes werden im Normalfall
   vom Betriebssystem automatisch vergeben und mu:ssen nicht von
   Ihnen angepasst werden. In einigen Fa:llen stellt der Zugriff auf
   eine Platte allerdings einen Flaschenhals dar, daher sollten Sie
   in diesem Fall die Anzahl der mo:glichen vnodes erho:hen, um
   dieses Problem zu beheben. Beachten Sie dabei aber die Gro:sse des
   inaktiven und freien Hauptspeichers.

   Um die Anzahl der derzeit verwendeten vnodes zu sehen, geben Sie
   Folgendes ein:

 # sysctl vfs.numvnodes
 vfs.numvnodes: 91349

   Die maximal mo:gliche Anzahl der vnodes erhalten Sie durch die
   Eingabe von:

 # sysctl kern.maxvnodes
 kern.maxvnodes: 100000

   Wenn sich die Anzahl der genutzten vnodes dem maximal mo:glichen
   Wert na:hert, sollten Sie den Wert kern.maxvnodes zuerst um etwa
   1.000 erho:hen. Beobachten Sie danach die Anzahl der vom System
   genutzten vfs.numvnodes. Na:hert sich der Wert wiederum dem
   definierten Maximum, mu:ssen Sie kern.maxvnodes nochmals erho:hen.
   Sie sollten nun eine A:nderung Ihres Speicherverbrauches (etwa
   u:ber top(1)) registrieren ko:nnen und u:ber mehr aktiven Speicher
   verfu:gen.

     --------------------------------------------------------------

11.14. Hinzufu:gen von Swap-Bereichen

   Egal wie vorausschauend Sie planen, manchmal entspricht ein System
   einfach nicht Ihren Erwartungen. Es ist leicht, mehr Swap-Bereiche
   hinzuzufu:gen. Dazu stehen Ihnen drei Wege offen: Sie ko:nnen eine
   neue Platte einbauen, den Swap-Bereich u:ber NFS ansprechen oder
   eine Swap-Datei auf einer existierenden Partition einrichten.

   Fu:r Informationen zur Verschlu:sselung von Swap-Partitionen, zu
   den dabei mo:glichen Optionen sowie zu den Gru:nden fu:r eine
   Verschlu:sselung des Auslagerungsspeichers lesen Sie bitte
   Abschnitt 18.17 des Handbuchs.

     --------------------------------------------------------------

  11.14.1. Swap auf einer neuen Festplatte

   Der einfachste Weg, zusa:tzlich einen Swap-Bereich einzurichten,
   ist der Einbau einer neuen Platte, die Sie sowieso gebrauchen
   ko:nnen. Die Anordnung von Swap-Bereichen wird in Abschnitt 11.2
   des Handbuchs besprochen.

     --------------------------------------------------------------

  11.14.2. Swap-Bereiche u:ber NFS

   Swap-Bereiche u:ber NFS sollten Sie nur dann einsetzen, wenn Sie
   u:ber keine lokale Platte verfu:gen, da es durch die zur
   Verfu:gung stehende Bandbreite limitiert wird und ausserdem den
   NFS-Server zusa:tzlich belastet.

     --------------------------------------------------------------

  11.14.3. Swap-Dateien

   Sie ko:nnen eine Datei festgelegter Gro:sse als Swap-Bereich
   nutzen. Im folgenden Beispiel werden wir eine 64 MB grosse Datei
   mit Namen /usr/swap0 benutzen, Sie ko:nnen natu:rlich einen
   beliebigen Namen fu:r den Swap-Bereich benutzen.

   Beispiel 11-1. Erstellen einer Swap-Datei

    1. Stellen Sie sicher, dass der Kernel RAM-Disks (md(4))
       unterstu:tzt. Dies ist in der GENERIC-Konfiguration
       voreingestellt.

 device   md   # Memory "disks"

    2. Legen Sie die Swap-Datei /usr/swap0 an:

 # dd if=/dev/zero of=/usr/swap0 bs=1024k count=64

    3. Setzen Sie die richtigen Berechtigungen fu:r /usr/swap0:

 # chmod 0600 /usr/swap0

    4. Aktivieren Sie die Swap-Datei /etc/rc.conf:

 swapfile="/usr/swap0"   # Set to name of swapfile if aux swapfile desired.

    5. Um die Swap-Datei zu aktivieren, fu:hren Sie entweder einen
       Neustart durch oder geben das folgende Kommando ein:

 # mdconfig -a -t vnode -f /usr/swap0 -u 0 && swapon /dev/md0

     --------------------------------------------------------------

11.15. Energie- und Ressourcenverwaltung

   Verfasst von Hiten Pandya und Tom Rhodes.

   Es ist wichtig, Hardware effizient einzusetzen. Vor der
   Einfu:hrung des Advanced Configuration and Power Interface (ACPI)
   konnten Stromverbrauch und Wa:rmeabgabe eines Systems nur schlecht
   von Betriebssystemen gesteuert werden. Die Hardware wurde vom BIOS
   gesteuert, was die Kontrolle der Energieverwaltung fu:r den
   Anwender erschwerte. Das Advanced Power Management (APM) erlaubte
   es lediglich, einige wenige Funktionen zu steuern, obwohl die
   U:berwachung von Energie- und Ressourcenverbrauch zu den
   wichtigsten Aufgaben eines Betriebssystems geho:rt, um auf
   verschiedene Ereignisse, beispielsweise einen unerwarteten
   Temperaturanstieg, reagieren ko:nnen.

   Dieser Abschnitt erkla:rt das Advanced Configuration and Power
   Interface (ACPI).

     --------------------------------------------------------------

  11.15.1. Was ist ACPI?

   Advanced Configuration and Power Interface (ACPI) ist ein Standard
   verschiedener Hersteller, der die Verwaltung von Hardware und
   Energiesparfunktionen festlegt. Die ACPI-Funktionen ko:nnen von
   einem Betriebssystem gesteuert werden. Der Vorga:nger des ACPI,
   "Advanced Power Management" (APM), erwies sich in modernen
   Systemen als unzureichend.

     --------------------------------------------------------------

  11.15.2. Ma:ngel des Advanced Power Managements (APM)

   Das Advanced Power Management (APM) steuert den Energieverbrauch
   eines Systems auf Basis der Systemaktivita:t. Das APM-BIOS wird
   von dem Hersteller des Systems zur Verfu:gung gestellt und ist auf
   die spezielle Hardware angepasst. Der APM-Treiber des
   Betriebssystems greift auf das APM Software Interface zu, das den
   Energieverbrauch regelt. APM findet sich in der Regel nur noch in
   Systemen, die vor 2001 produziert wurden.

   Das APM hat hauptsa:chlich vier Probleme. Erstens la:uft die
   Energieverwaltung unabha:ngig vom Betriebssystem in einem
   (herstellerspezifischen) BIOS. Beispielsweise kann das APM-BIOS
   die Festplatten nach einer konfigurierbaren Zeit ohne die
   Zustimmung des Betriebssystems herunterfahren. Zweitens befindet
   sich die ganze APM-Logik im BIOS; das Betriebssystem hat gar keine
   APM-Komponenten. Bei Problemen mit dem APM-BIOS muss das Flash-ROM
   aktualisiert werden. Diese Prozedur ist gefa:hrlich, da sie im
   Fehlerfall das System unbrauchbar machen kann. Zum Dritten ist APM
   eine Technik, die herstellerspezifisch ist und nicht koordiniert
   wird. Fehler im BIOS eines Herstellers werden nicht unbedingt im
   BIOS anderer Hersteller korrigiert. Das letzte Problem ist, dass
   im APM-BIOS nicht genu:gend Platz vorhanden ist, um eine
   durchdachte oder eine auf den Zweck der Maschine zugeschnittene
   Energieverwaltung zu implementieren.

   Das Plug and Play BIOS (PNPBIOS) war ebenfalls unzureichend. Das
   PNPBIOS verwendet eine 16-Bit-Technik. Damit das Betriebssystem
   das PNPBIOS ansprechen kann, muss es in einer 16-Bit-Emulation
   laufen.

   Der APM-Treiber von FreeBSD ist in der Hilfeseite apm(4)
   beschrieben.

     --------------------------------------------------------------

  11.15.3. Konfiguration des ACPI

   Das Modul acpi.ko wird standardma:ssig beim Systemstart vom
   loader(8) geladen und sollte daher nicht fest in den Kernel
   eingebunden werden. Dadurch kann acpi.ko ohne einen Neubau des
   Kernels ersetzt werden und das Modul ist leichter zu testen. Wenn
   Sie in der Ausgabe von dmesg(8) das Wort ACPI sehen, ist das Modul
   geladen worden. Das ACPI-Modul im laufenden Betrieb zu laden,
   fu:hrt oft nicht zum gewu:nschten Ergebnis. Treten bei Ihrem
   System Probleme auf, ko:nnen Sie ACPI auch komplett deaktivieren.
   Dazu definieren Sie die Variable hint.acpi.0.disabled="1" in der
   Datei /boot/loader.conf. Alternativ ko:nnen Sie die Variable auch
   am loader(8)-Prompt eingeben. Das Modul kann im laufenden Betrieb
   nicht entfernt werden, da es zur Kommunikation mit der Hardware
   verwendet wird.

     Anmerkung: ACPI und APM ko:nnen nicht zusammen verwendet werden.
     Das zuletzt geladene Modul beendet sich, sobald es bemerkt, dass
     das andere Modul geladen ist.

   Mit acpiconf(8) ko:nnen Sie das System in einen Ruhemodus (sleep
   mode) versetzen. Es gibt verschiedene Modi (von 1 bis 5), die Sie
   auf der Kommandozeile mit -s angeben ko:nnen. Fu:r die meisten
   Anwender sind die Modi 1 und 3 vo:llig ausreichend. Der Modus 5
   schaltet das System aus (Soft-off) und entspricht dem folgenden
   Befehl:

 # halt -p

   Verschiedene Optionen ko:nnen als sysctl(8)-Variablen gesetzt
   werden. Lesen Sie dazu die Manualpages zu acpi(4) sowie
   acpiconf(8).

     --------------------------------------------------------------

11.16. ACPI-Fehlersuche

   Verfasst von Nate Lawson. Mit Beitra:gen von Peter Schultz und Tom
   Rhodes.

   ACPI ist ein ga:nzlich neuer Weg, um Gera:te aufzufinden und deren
   Stromverbrauch zu regulieren. Weiterhin bietet ACPI einen
   einheitlichen Zugriff auf Gera:te, die vorher vom BIOS verwaltet
   wurden. Es werden zwar Fortschritte gemacht, dass ACPI auf allen
   Systemen la:uft, doch tauchen immer wieder Fehler auf:
   fehlerhafter Bytecode der ACPI-Machine-Language (AML) einiger
   Systemplatinen, ein unvollsta:ndiges FreeBSD-Kernel-Subsystem oder
   Fehler im ACPI-CA-Interpreter von Intel.

   Dieser Abschnitt hilft Ihnen, zusammen mit den Betreuern des
   FreeBSD-ACPI-Subsystems, Fehlerquellen zu finden und Fehler zu
   beseitigen. Danke, dass Sie diesen Abschnitt lesen; hoffentlich
   hilft er, Ihre Systemprobleme zu lo:sen.

     --------------------------------------------------------------

  11.16.1. Fehlerberichte einreichen

     Anmerkung: Bevor Sie einen Fehlerbericht einreichen, stellen Sie
     bitte sicher, dass Ihr BIOS und die Firmware Ihres Controllers
     aktuell sind.

   Wenn Sie sofort einen Fehlerbericht einsenden wollen, schicken Sie
   bitte die folgenden Informationen an die Mailingliste
   freebsd-acpi:

     * Beschreiben Sie den Fehler und alle Umsta:nde, unter denen der
       Fehler auftritt. Geben Sie ebenfalls den Typ und das Modell
       Ihres Systems an. Wenn Sie einen neuen Fehler entdeckt haben,
       versuchen Sie mo:glichst genau zu beschreiben, wann der Fehler
       das erste Mal aufgetreten ist.

     * Die Ausgabe von dmesg(8) nach der Eingabe von boot -v. Geben
       Sie auch alle Fehlermeldungen an, die erscheinen, wenn Sie den
       Fehler provozieren.

     * Die Ausgabe von dmesg(8) nach der Eingabe von boot -v und mit
       deaktiviertem ACPI, wenn das Problem ohne ACPI nicht auftritt.

     * Die Ausgabe von sysctl hw.acpi. Dieses Kommando zeigt die vom
       System unterstu:tzten ACPI-Funktionen an.

     * Die URL, unter der die ACPI-Source-Language (ASL) liegt.
       Schicken Sie bitte nicht die ASL an die Mailingliste, da die
       ASL sehr gross sein kann. Eine Kopie der ASL erstellen Sie mit
       dem nachstehenden Befehl:

 # acpidump -td > name-system.asl

       Setzen Sie bitte fu:r name den Namen Ihres Kontos und fu:r
       system den Hersteller und das Modell Ihres Systems ein. Zum
       Beispiel: njl-FooCo6000.asl.

   Obwohl die meisten Entwickler die Mailingliste freebsd-current
   lesen, sollten Sie Fehlerberichte an die Liste freebsd-acpi
   schicken. Seien Sie bitte geduldig; wir haben alle Arbeit
   ausserhalb des Projekts. Wenn der Fehler nicht offensichtlich ist,
   bitten wir Sie vielleicht, einen offiziellen Fehlerbericht (PR)
   mit send-pr(1) einzusenden. Geben Sie im Fehlerbericht bitte
   dieselben Informationen wie oben an. Mithilfe der PRs verfolgen
   und lo:sen wir Probleme. Senden Sie bitte keinen PR ein, ohne
   vorher den Fehlerbericht an die Liste freebsd-acpi zu senden. Wir
   benutzen die PRs als Erinnerung an bestehende Probleme und nicht
   zum Sammeln aller Probleme. Es kann sein, dass der Fehler schon
   von jemand anderem gemeldet wurde.

     --------------------------------------------------------------

  11.16.2. ACPI-Grundlagen

   ACPI gibt es in allen modernen Rechnern der ia32- (x86), ia64-
   (Itanium) und amd64- (AMD) Architektur. Der vollsta:ndige Standard
   bietet Funktionen zur Steuerung und Verwaltung der CPU-Leistung,
   der Stromversorgung, von Wa:rmebereichen, Batterien, eingebetteten
   Controllern und Bussen. Auf den meisten Systemen wird nicht der
   vollsta:ndige Standard implementiert. Arbeitsplatzrechner besitzen
   meist nur Funktionen zur Verwaltung der Busse, wa:hrend Notebooks
   Funktionen zur Temperaturkontrolle und Ruhezusta:nde besitzen.

   Ein ACPI konformes System besitzt verschiedene Komponenten. Die
   BIOS- und Chipsatz-Hersteller stellen mehrere statische Tabellen
   bereit (zum Beispiel die Fixed-ACPI-Description-Table, FADT). Die
   Tabellen enthalten beispielsweise die mit SMP-Systemen benutzte
   APIC-Map, Konfigurationsregister und einfache Konfigurationen.
   Zusa:tzlich gibt es die Differentiated-System-Description-Table
   (DSDT), die Bytecode entha:lt. Die Tabelle ordnet Gera:te und
   Methoden in einem baumartigen Namensraum an.

   Ein ACPI-Treiber muss die statischen Tabellen einlesen, einen
   Interpreter fu:r den Bytecode bereitstellen und die Gera:tetreiber
   im Kernel so modifizieren, dass sie mit dem ACPI-Subsystem
   kommunizieren. Fu:r FreeBSD, Linux und NetBSD hat Intel den
   Interpreter ACPI-CA, zur Verfu:gung gestellt. Der Quelltext zu
   ACPI-CA befindet sich im Verzeichnis src/sys/contrib/dev/acpica.
   Die Schnittstelle von ACPI-CA zu FreeBSD befindet sich unter
   src/sys/dev/acpica/Osd. Treiber, die verschiedene ACPI-Gera:te
   implementieren, befinden sich im Verzeichnis src/sys/dev/acpica.

     --------------------------------------------------------------

  11.16.3. Ha:ufige Probleme

   Damit ACPI richtig funktioniert, mu:ssen alle Teile funktionieren.
   Im Folgenden finden Sie eine Liste mit Problemen und mo:glichen
   Umgehungen oder Fehlerbehebungen. Die Liste ist nach der
   Ha:ufigkeit, mit der die Probleme auftreten, sortiert.

     --------------------------------------------------------------

    11.16.3.1. Mausprobleme

   Es kann vorkommen, dass die Maus nicht mehr funktioniert, wenn Sie
   nach einem Suspend weiterarbeiten wollen. Ist dies bei Ihnen der
   Fall, reicht es meistens aus, den Eintrag
   hint.psm.0.flags="0x3000" in Ihre /boot/loader.conf aufzunehmen.
   Besteht das Problem weiterhin, sollten Sie einen Fehlerbericht an
   das FreeBSD Project senden.

     --------------------------------------------------------------

    11.16.3.2. Suspend/Resume

   ACPI kennt drei Suspend-to-RAM-Zusta:nde (STR): S1-S3. Es gibt
   einen Suspend-to-Disk-Zustand: S4. Der Zustand S5 wird Soft-Off
   genannt. In diesem Zustand befindet sich ein Rechner, wenn die
   Stromversorgung angeschlossen ist, der Rechner aber nicht
   hochgefahren ist. Der Zustand S4 kann auf zwei Arten implementiert
   werden: S4BIOS und S4OS. Im ersten Fall wird der
   Suspend-to-Disk-Zustand durch das BIOS hergestellt im zweiten Fall
   alleine durch das Betriebssystem.

     Anmerkung: Die Suspend-Zusta:nde sind Ruhezusta:nde, in denen
     der Rechner weniger Energie als im Normalbetrieb beno:tigt.
     Resume bezeichnet die Ru:ckkehr zum Normalbetrieb.

   Die Suspend-Zusta:nde ko:nnen Sie mit dem Kommando sysctl hw.acpi
   ermitteln. Das Folgende ko:nnte beispielsweise ausgegeben werden:

 hw.acpi.supported_sleep_state: S3 S4 S5
 hw.acpi.s4bios: 0

   Diese Ausgabe besagt, dass mit dem Befehl acpiconf -s die
   Zusta:nde S3, S4OS und S5 eingestellt werden ko:nnen. Ha:tte
   s4bios den Wert 1, ga:be es den Zustand S4BIOS anstelle von S4OS.

   Wenn Sie die Suspend- und Resume-Funktionen testen, fangen Sie mit
   dem S1-Zustand an, wenn er angeboten wird. Dieser Zustand wird am
   ehesten funktionieren, da der Zustand wenig Treiber-Unterstu:tzung
   beno:tigt. Der Zustand S2 ist a:hnlich wie S1, allerdings hat ihn
   noch niemand implementiert. Als na:chstes sollten Sie den Zustand
   S3 ausprobieren. Dies ist der tiefste STR-Schlafzustand. Dieser
   Zustand ist auf massive Treiber-Unterstu:tzung angewiesen, um die
   Gera:te wieder richtig zu initialisieren. Wenn Sie Probleme mit
   diesem Zustand haben, ko:nnen Sie die Mailingliste freebsd-acpi
   anschreiben. Erwarten Sie allerdings nicht zu viel: Es gibt viele
   Treiber und Gera:te, an denen noch gearbeitet und getestet wird.

   Um das Problem einzugrenzen, entfernen Sie soviele Treiber wie
   mo:glich aus dem Kernel. Sie ko:nnen das Problem isolieren, indem
   Sie einen Treiber nach dem anderen laden, bis der Fehler wieder
   auftritt. Typischerweise verursachen bina:re Treiber wie
   nvidia.ko, X11-Grafiktreiber und USB-Treiber die meisten Fehler,
   hingegen laufen Ethernet-Treiber fu:r gewo:hnlich sehr
   zuverla:ssig. Wenn ein Treiber zuverla:ssig geladen und entfernt
   werden kann, ko:nnen Sie den Vorgang automatisieren, indem Sie die
   entsprechenden Kommandos in die Dateien /etc/rc.suspend und
   /etc/rc.resume einfu:gen. In den Dateien finden Sie ein
   deaktiviertes Beispiel, das einen Treiber la:dt und wieder
   entfernt. Ist die Bildschirmanzeige bei der Wiederaufnahme des
   Betriebs gesto:rt, setzen Sie bitte die Variable
   hw.acpi.reset_video auf 0. Versuchen Sie auch, die Variable
   hw.acpi.sleep_delay auf ku:rzere Zeitspannen zu setzen.

   Die Suspend- und Resume-Funktionen ko:nnen Sie auch auf einer
   neuen Linux-Distribution mit ACPI testen. Wenn es mit Linux
   funktioniert, liegt das Problem wahrscheinlich bei einem
   FreeBSD-Treiber. Es hilft uns, das Problem zu lo:sen, wenn Sie
   feststellen ko:nnen, welcher Treiber das Problem verursacht.
   Beachten Sie bitte, dass die ACPI-Entwickler normalerweise keine
   anderen Treiber pflegen (beispielsweise Sound- oder ATA-Treiber).
   Es ist wohl das beste, die Ergebnisse der Fehlersuche an die
   Mailingliste freebsd-current und den Entwickler des Treibers zu
   schicken. Wenn Ihnen danach ist, versuchen Sie, den Fehler in der
   Resume-Funktion zu finden, indem Sie einige printf(3)-Anweisungen
   in den Code des fehlerhaften Treibers einfu:gen.

   Schliesslich ko:nnen Sie ACPI noch abschalten und stattdessen APM
   verwenden. Wenn die Suspend- und Resume-Funktionen mit APM
   funktionieren, sollten Sie vielleicht besser APM verwenden
   (insbesondere mit alter Hardware von vor dem Jahr 2000). Die
   Hersteller beno:tigten einige Zeit, um ACPI korrekt zu
   implementieren, daher gibt es mit a:lterer Hardware oft
   ACPI-Probleme.

     --------------------------------------------------------------

    11.16.3.3. Tempora:re oder permanente Systemha:nger

   Die meisten Systemha:nger entstehen durch verlorene Interrupts
   oder einen Interrupt-Sturm. Probleme werden verursacht durch die
   Art, in der das BIOS Interrupts vor dem Systemstart konfiguriert,
   durch eine fehlerhafte APIC-Tabelle und durch die Zustellung des
   System-Control-Interrupts (SCI).

   Anhand der Ausgabe des Befehls vmstat -i ko:nnen Sie verlorene
   Interrupts von einem Interrupt-Sturm unterscheiden. Untersuchen
   Sie die Ausgabezeile, die acpi0 entha:lt. Ein Interrupt-Sturm
   liegt vor, wenn der Za:hler o:fter als ein paar Mal pro Sekunde
   hochgeza:hlt wird. Wenn sich das System aufgehangen hat, versuchen
   Sie mit der Tastenkombination Ctrl+Alt+Esc in den Debugger DDB zu
   gelangen. Geben Sie dort den Befehl show interrupts ein.

   Wenn Sie Interrupt-Probleme haben, ist es vorerst wohl am besten,
   APIC zu deaktivieren. Tragen Sie dazu die Zeile
   hint.apic.0.disabled="1" in loader.conf ein.

     --------------------------------------------------------------

    11.16.3.4. Abstu:rze (Panics)

   Panics werden so schnell wie mo:glich behoben; mit ACPI kommt es
   aber selten dazu. Zuerst sollten Sie die Panic reproduzieren und
   dann versuchen einen backtrace (eine Ru:ckverfolgung der
   Funktionsaufrufe) zu erstellen. Richten Sie dazu den DDB u:ber die
   serielle Schnittstelle (siehe Abschnitt 26.6.5.3) oder eine
   gesonderte dump(8)-Partition ein. In DDB ko:nnen Sie den backtrace
   mit dem Kommando tr erstellen. Falls Sie den backtrace vom
   Bildschirm abschreiben mu:ssen, schreiben Sie bitte mindestens die
   fu:nf ersten und die fu:nf letzten Zeile der Ausgabe auf.

   Versuchen Sie anschliessend, das Problem durch einen Neustart ohne
   ACPI zu beseitigen. Wenn das funktioniert hat, ko:nnen Sie
   versuchen, das verantwortliche ACPI-Subsystem durch Setzen der
   Variablen debug.acpi.disable herauszufinden. Die Hilfeseite
   acpi(4) entha:lt dazu einige Beispiele.

     --------------------------------------------------------------

    11.16.3.5. Nach einem Suspend oder einem Stopp startet das System
    wieder

   Setzen Sie zuerst in loader.conf(5) die Variable
   hw.acpi.disable_on_poweroff auf 0. Damit wird verhindert, dass
   ACPI wa:hrend des Systemabschlusses die Bearbeitung verschiedener
   Ereignisse deaktiviert. Auf manchen Systemen muss die Variable den
   Wert 1 besitzen (die Voreinstellung). Normalerweise wird der
   unerwu:nschte Neustart des Systems durch Setzen dieser Variablen
   behoben.

     --------------------------------------------------------------

    11.16.3.6. Andere Probleme

   Wenn Sie weitere Probleme mit ACPI haben (Umgang mit einer
   Docking-Station, nicht erkannte Gera:te), schicken Sie bitte eine
   Beschreibung an die Mailingliste. Allerdings kann es sein, dass
   einige Probleme von noch unvollsta:ndigen Teilen des
   ACPI-Subsystems abha:ngen und es etwas dauern kann bis diese Teile
   fertig sind. Seien Sie geduldig und rechnen Sie damit, dass wir
   Ihnen Fehlerbehebungen zum Testen senden.

     --------------------------------------------------------------

  11.16.4. ASL, acpidump und IASL

   Ein ha:ufiges Problem ist fehlerhafter Bytecode des
   BIOS-Herstellers. Dies erkennen Sie an Kernelmeldungen auf der
   Konsole wie die folgende:

 ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.LPC0.FIGD._STA] \\
 (Node 0xc3f6d160), AE_NOT_FOUND

   Oft ko:nnen Sie das Problem dadurch lo:sen, dass Sie eine aktuelle
   BIOS-Version einspielen. Die meisten Meldungen auf der Konsole
   sind harmlos, wenn aber beispielsweise der Batteriestatus falsch
   angezeigt wird, ko:nnen Sie in den Meldungen nach Problemen mit
   der AML-Machine-Language (AML) suchen. Der Bytecode der AML wird
   aus der ACPI-Source-Language (ASL) u:bersetzt und in einer
   Tabelle, der DSDT, abgelegt. Eine Kopie der ASL ko:nnen Sie mit
   dem Befehl acpidump(8) erstellen. Verwenden Sie mit diesem Befehl
   sowohl die Option -t (die Inhalte der statischen Tabellen
   anzeigen) als auch die Option -d (die AML in ASL
   zuru:cku:bersetzen). Ein Beispiel fu:r die Syntax finden Sie im
   Abschnitt Fehlerberichte einreichen.

   Sie ko:nnen einfach pru:fen, ob sich die ASL u:bersetzen la:sst.
   Fu:r gewo:hnlich ko:nnen Sie Warnungen wa:hrend des U:bersetzens
   ignorieren. Fehlermeldungen fu:hren normal dazu, dass ACPI
   fehlerhaft arbeitet. Ihre ASL u:bersetzen Sie mit dem
   nachstehenden Kommando:

 # iasl ihre.asl

     --------------------------------------------------------------

  11.16.5. Die ASL reparieren

   Auf lange Sicht ist es unser Ziel, dass ACPI ohne Eingriffe des
   Benutzers la:uft. Zurzeit entwickeln wir allerdings noch
   Umgehungen fu:r Fehler der BIOS-Hersteller. Der
   Microsoft-Interpreter (acpi.sys und acpiec.sys) pru:ft die ASL
   nicht streng gegen den Standard. Daher reparieren BIOS-Hersteller,
   die ACPI nur unter Windows testen, ihre ASL nicht. Wir hoffen,
   dass wir das vom Standard abweichende Verhalten des
   Microsoft-Interpreters dokumentieren und in FreeBSD replizieren
   ko:nnen. Dadurch mu:ssen Benutzer ihre ASL nicht selbst
   reparieren. Sie ko:nnen Ihre ASL selbst reparieren, wenn Sie ein
   Problem umgehen und uns helfen mo:chten. Senden Sie uns bitte die
   mit diff(1) erstellte Differenz zwischen alter und neuer ASL. Wir
   werden versuchen, den Interpreter ACPI-CA zu korrigieren, damit
   die Fehlerbehebung nicht mehr erforderlich ist.

   Die nachfolgende Liste entha:lt ha:ufige Fehlermeldungen, deren
   Ursache und eine Beschreibung, wie die Fehler korrigiert werden:

     --------------------------------------------------------------

    11.16.5.1. Abha:ngigkeiten vom Betriebssystem

   Einige AMLs gehen davon aus, dass die Welt ausschliesslich aus
   verschiedenen Windows-Versionen besteht. FreeBSD kann vorgeben,
   irgendein Betriebssystem zu sein. Versuchen Sie das
   Betriebssystem, das Sie in der ASL finden, in der Datei
   /boot/loader.conf anzugeben: hw.acpi.osname="Windows 2001".

     --------------------------------------------------------------

    11.16.5.2. Fehlende Return-Anweisungen

   Einige Methoden verzichten auf die vom Standard vorgeschriebene
   Ru:ckgabe eines Wertes. Obwohl der Interpreter ACPI-CA dies nicht
   beheben kann, besitzt FreeBSD die Mo:glichkeit, den Ru:ckgabewert
   implizit zu setzen. Wenn Sie wissen, welcher Wert zuru:ckgegeben
   werden muss, ko:nnen Sie die fehlenden Return-Anweisungen selbst
   einsetzen. Die Option -f zwingt iasl, die ASL zu u:bersetzen.

     --------------------------------------------------------------

    11.16.5.3. U:berschreiben der vorgegebenen AML

   Nachdem Sie Ihre ASL in der Datei ihre.asl angepasst haben,
   u:bersetzen Sie die ASL wie folgt:

 # iasl ihre.asl

   Mit der Option -f erzwingen Sie das Erstellen der AML auch wenn
   wa:hrend der U:bersetzung Fehler auftreten. Beachten Sie, dass
   einige Fehler, wie fehlende Return-Anweisungen, automatisch vom
   Interpreter umgangen werden.

   In der Voreinstellung erstellt der Befehl iasl die Ausgabedatei
   DSDT.aml. Wenn Sie diese Datei anstelle der fehlerhaften Kopie des
   BIOS laden wollen, editieren Sie /boot/loader.conf wie folgt:

 acpi_dsdt_load="YES"
 acpi_dsdt_name="/boot/DSDT.aml"

   Stellen Sie bitte sicher, dass sich die Datei DSDT.aml im
   Verzeichnis /boot befindet.

     --------------------------------------------------------------

  11.16.6. ACPI-Meldungen zur Fehlersuche erzeugen

   Der ACPI-Treiber besitzt flexible Mo:glichkeiten zur Fehlersuche.
   Sie ko:nnen sowohl die zu untersuchenden Subsysteme als auch die
   zu erzeugenden Ausgaben festlegen. Die zu untersuchenden
   Subsysteme werden als so genannte "layers" angegeben. Die
   Subsysteme sind in ACPI-CA-Komponenten (ACPI_ALL_COMPONENTS) und
   ACPI-Hardware (ACPI_ALL_DRIVERS) aufgeteilt. Welche Meldungen
   ausgegeben werden, wird u:ber "level" gesteuert. "level" reicht
   von ACPI_LV_ERROR (es werden nur Fehler ausgegeben) bis zu
   ACPI_LV_VERBOSE (alles wird ausgegeben). "level" ist eine
   Bitmaske, sodass verschiedene Stufen auf einmal (durch Leerzeichen
   getrennt) angegeben werden ko:nnen. Die erzeugte Ausgabemenge
   passt vielleicht nicht in den Konsolenpuffer. In diesem Fall
   sollten Sie die Ausgaben mithilfe einer seriellen Konsole sichern.
   Die mo:glichen Werte fu:r "layers" und "level" werden in der
   Hilfeseite acpi(4) beschrieben.

   Die Ausgaben zur Fehlersuche sind in der Voreinstellung nicht
   aktiviert. Wenn ACPI im Kernel enthalten ist, fu:gen Sie options
   ACPI_DEBUG zur Kernelkonfigurationsdatei hinzu. Sie ko:nnen die
   Ausgaben zur Fehlersuche global aktivieren, indem Sie in der Datei
   /etc/make.conf die Zeile ACPI_DEBUG=1 einfu:gen. Das Modul acpi.ko
   ko:nnen Sie wie folgt neu u:bersetzen:

 # cd /sys/modules/acpi/acpi
 && make clean &&
 make ACPI_DEBUG=1

   Installieren Sie anschliessend acpi.ko im Verzeichnis
   /boot/kernel. In der Datei loader.conf stellen Sie "level" und
   "layer" ein. Das folgende Beispiel aktiviert die Ausgabe von
   Fehlern fu:r alle ACPI-CA-Komponenten und alle
   ACPI-Hardwaretreiber (wie CPU, LID):

 debug.acpi.layer="ACPI_ALL_COMPONENTS ACPI_ALL_DRIVERS"
 debug.acpi.level="ACPI_LV_ERROR"

   Wenn ein Problem durch ein bestimmtes Ereignis, beispielsweise den
   Start nach einem Ruhezustand, hervorgerufen wird, ko:nnen Sie die
   Einstellungen fu:r "level" und "layer" auch mit dem Kommando
   sysctl vornehmen. In diesem Fall mu:ssen Sie die Datei loader.conf
   nicht editieren. Auf der sysctl-Kommandozeile geben Sie dieselben
   Variablennamen wie in loader.conf an.

     --------------------------------------------------------------

  11.16.7. ACPI-Informationsquellen

   Weitere Informationen zu ACPI erhalten Sie an den folgenden
   Stellen:

     * die FreeBSD ACPI Mailingliste,

     * die Archive der ACPI-Mailingliste:
       http://lists.FreeBSD.org/pipermail/freebsd-acpi/,

     * die alten Archive der ACPI-Mailingliste:
       http://home.jp.FreeBSD.org/mail-list/acpi-jp/,

     * die ACPI-Spezifikation (Version 2.0):
       http://acpi.info/spec.htm,

     * in den nachstehenden FreeBSD-Hilfeseiten: acpi(4),
       acpi_thermal(4), acpidump(8), iasl(8) und acpidb(8),

     * DSDT debugging resource (als Beispiel wird Compaq erla:utert,
       die Ressource ist aber dennoch nu:tzlich).

     --------------------------------------------------------------

                    Kapitel 12. FreeBSDs Bootvorgang

   U:bersetzt von Hans-Christian Ebke.

12.1. U:bersicht

   Das Starten des Computers und das Laden des Betriebssystems wird
   im Allgemeinen als "Bootstrap-Vorgang" bezeichnet, oder einfach
   als "Booten". FreeBSDs Bootvorgang ermo:glicht grosse
   Flexibilita: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 gewa:hlt werden.

   Dieses Kapitel zeigt die zur Verfu:gung stehenden
   Konfigurationsmo:glichkeiten und wie man den Bootvorgang anpasst.
   Dies schliesst alles ein, bis der Kernel gestartet worden ist, der
   dann alle Gera:te gefunden hat und init(8) gestartet hat. Falls
   Sie sich nicht ganz sicher sind, wann dies passiert: Es passiert,
   wenn die Farbe des Textes wa:hrend des Bootvorgangs von weiss zu
   Hellgrau wechselt.

   Dieses Kapitel informiert u:ber folgende Punkte:

     * Die Komponenten des FreeBSD-Bootvorgangs und deren
       Interaktion.

     * Die Optionen, mit denen Sie den FreeBSD-Bootvorgang steuern
       ko:nnen.

     * Wie Gera:te mit device.hints(5) konfiguriert werden.

     nur x86: Dieses Kapitel erkla:rt den Bootvorgang von FreeBSD auf
     Intel X86 Plattformen.

     --------------------------------------------------------------

12.2. Das Problem des Bootens

   Wenn der Computer eingeschaltet wird und das Betriebssystem
   gestartet werden soll, entsteht ein interessantes Dilemma, denn
   der Computer weiss per Definition nicht, wie er irgendetwas tut,
   bis das Betriebssystem gestartet wurde. Das schliesst 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 a:hnelt einer Geschichte des Barons von
   Mu: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 abgeku:rzt.

   Auf x86-Plattformen ist das BIOS (Basic Input/Output System)
   dafu: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 selbststa:ndig laden und ausfu:hren
   und geht davon aus, dass dieser die restlichen Dinge, die fu:r das
   Laden des Betriebssystems notwendig sind, selbst oder mit Hilfe
   des BIOS erledigen kann.

   Der Code innerhalb des MBRs wird fu:r gewo:hnlich als Boot-Manager
   bezeichnet, insbesondere, wenn eine Interaktion mit dem Anwender
   stattfindet. Ist dies der Fall, verwaltet der Boot-Manager
   zusa:tzlichen Code im ersten Track der Platte oder in
   Dateisystemen anderer Betriebssysteme. (Boot-Manager werden
   manchmal auch als Boot Loader bezeichnet, unter FreeBSD wird
   dieser Begriff aber fu:r eine spa:tere Phase des Systemstarts
   verwendet.) Zu den bekanntesten Boot-Managern geho:ren boot0 (der
   auch als Boot Easy bekannte Standard-Boot-Manager von FreeBSD),
   Grub, GAG, sowie LILO. (Von diesen Boot-Managern hat nur boot0
   innerhalb des MBRs Platz.)

   Falls nur ein Betriebssystem installiert ist, ist der Standard MBR
   ausreichend. Dieser MBR sucht nach dem ersten bootbaren Slice (das
   dabei als active gekennzeichnet ist) auf dem Laufwerk und fu:hrt
   den dort vorhandenen Code aus, um das restliche Betriebssystem zu
   laden. Der von fdisk(8) in der Voreinstellung installierte MBR ist
   ein solcher MBR und basiert auf /boot/mbr.

   Falls mehrere Betriebssysteme installiert sind, sollte man einen
   anderen Boot-Manager installieren, der eine Liste der verfu:gbaren
   Betriebssysteme anzeigt und einen wa:hlen la:sst, welches man
   booten mo:chte. Der na:chste Abschnitt beschreibt zwei
   Boot-Manager mit diesen Fa:higkeiten.

   Das restliche FreeBSD-Bootstrap-System ist in drei Phasen
   unterteilt. Die erste Phase wird vom MBR durchgefu:hrt, der gerade
   genug Funktionalita:t besitzt um den Computer in einen bestimmten
   Status zu verhelfen und die zweite Phase zu starten. Die zweite
   Phase fu:hrt ein wenig mehr Operationen durch und startet
   schliesslich die dritte Phase, die das Laden des Betriebssystems
   abschliesst. Der ganze Prozess wird in drei Phasen durchgefu:hrt,
   weil der PC Standard die Gro:sse der Programme, die in Phase eins
   und zwei ausgefu:hrt werden, limitiert. Durch das Verketten der
   durchzufu:hrenden Aufgaben wird es FreeBSD mo:glich, ein sehr
   flexibles Ladeprogramm zu besitzen.

   Als na:chstes wird der Kernel gestartet, der zuna:chst nach
   Gera:ten sucht und sie fu:r den Gebrauch initialisiert. Nach dem
   Booten des Kernels u:bergibt dieser die Kontrolle an den Benutzer
   Prozess 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 fu:r die Kommunikation mit dem Netzwerk bereit und
   startet generell alle Prozesse, die auf einem FreeBSD-System
   normalerweise beim Hochfahren gestartet werden.

     --------------------------------------------------------------

12.3. Boot-Manager und Boot-Phasen

     --------------------------------------------------------------

  12.3.1. Der Boot-Manager

   Der Code im MBR oder im Boot-Manager wird manchmal auch als stage
   zero des Boot-Prozesses bezeichnet. Dieser Abschnitt beschreibt
   zwei der weiter oben erwa:hnten Boot-Manager: boot0 sowie LILO.

   Der boot0 Boot-Manager: Der vom FreeBSD-Installationsprogramm oder
   boot0cfg(8) in der Voreinstelung installierte Master Boot Record
   (MBR) basiert auf /boot/boot0. (Bei boot0 handelt es sich um ein
   sehr einfaches Programm, da im MBR lediglich 446 Bytes verfu:gbar
   sind, weil der restliche Platz fu:r die Partitionstabelle sowie
   den 0x55AA-Identifier am Ende des MBRs beno:tigt wird.) Falls Sie
   boot0 verwenden und mehrere Betriebssysteme auf Ihrer Festplatte
   installiert haben, werden Sie beim Starten des Computers eine
   Anzeige a:hnlich der folgenden sehen:

   Beispiel 12-1. boot0-Screenshot

 F1 DOS
 F2 FreeBSD
 F3 Linux
 F4 ??
 F5 Drive 1

 Default: F2

   Diverse Betriebssysteme, insbesondere Windows, u: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:

 # fdisk -B -b /boot/boot0 Gera:t

   Bei Gera:t handelt es sich um das Gera:t, von dem gebootet wird,
   also beispielsweise ad0 fu:r die erste IDE-Festplatte, ad2 fu:r
   die erste IDE-Festplatte am zweiten IDE-Controller, da0 fu:r die
   erste SCSI-Festplatte, usw. Diese Einstellungen ko:nnen aber u:ber
   boot0cfg(8) angepasst werden.

   Der LILO-Boot-Manager: Damit dieser Boot-Manager auch FreeBSD
   booten kann, starten Sie zuerst Linux und fu:gen danach folgende
   Zeilen in die Konfigurationsdatei /etc/lilo.conf ein:

 other=/dev/hdXY
 table=/dev/hdX
 loader=/boot/chain.b
 label=FreeBSD

   Dabei mu:ssen Sie die prima:re Partition von FreeBSD sowie dessen
   Platte im Linux-Format angeben. Dazu ersetzen Sie X durch die
   Linux-Bezeichnung der Platte und Y durch die von Linux verwendete
   Partitionsnummer. Wenn Sie ein SCSI-Laufwerk verwenden, mu:ssen
   Sie /dev/sd anstelle von /dev/hd verwenden. Die Zeile
   loader=/boot/chain.b kann weggelassen werden, wenn beide
   Betriebssysteme auf der gleichen Platte installiert sind. Geben
   Sie danach /sbin/lilo -v ein, um Ihre A:nderungen zu u:bernehmen.
   Achtung Sie dabei besonders auf etwaige Fehlermeldungen.

     --------------------------------------------------------------

  12.3.2. Phase Eins, /boot/boot1 und Phase Zwei, /boot/boot2

   Im Prinzip sind die erste und die zweite Phase Teile desselben
   Programms, im selben Bereich auf der Festplatte. Aufgrund von
   Speicherplatz-Beschra:nkungen wurden sie aufgeteilt, aber man
   installiert sie eigentlich generell zusammen. Beide werden
   entweder vom Installer oder von bsdlabel aus der kombinierten
   Datei /boot/boot kopiert.

   Beide Phasen befinden sich ausserhalb des Dateisystems im
   Bootsektor des Boot-Slices, wo boot0 oder ein anderer Boot-Manager
   ein Programm erwarten, das den weiteren Bootvorgang durchfu:hren
   kann. Die Anzahl der dabei verwendeten Sektoren wird durch die
   Gro:sse von /boot/boot bestimmt.

   boot1 ist ein sehr einfaches Programm, da es nur 512 Bytes gross
   sein darf, und es besitzt gerade genug Funktionalita:t, um
   FreeBSDs bsdlabel, das Informationen u:ber den Slice entha:lt,
   auszulesen, und um boot2 zu finden und auszufu:hren.

   boot2 ist schon ein wenig umfangreicher und besitzt genu:gend
   Funktionalita:t, um Dateien in FreeBSDs Dateisystem zu finden.
   Ausserdem hat es eine einfache Schnittstelle, die es ermo:glicht,
   den zu ladenden Kernel oder Loader auszuwa:hlen.

   Da der Loader einen weitaus gro:sseren Funktionsumfang hat und
   eine scho:ne und einfach zu bedienende
   Boot-Konfigurations-Schnittstelle zur Verfu:gung stellt, wird er
   gewo:hnlich von boot2 anstatt des Kernels gestartet. Fru:her war
   es jedoch dazu da den Kernel direkt zu starten.

   Beispiel 12-2. boot2-Screenshot

 >> FreeBSD/i386 BOOT
 Default: 0:ad(0,a)/boot/loader
 boot:

   Um das installierte boot1 und boot2 zu ersetzen, benutzt man
   bsdlabel(8):

 # bsdlabel -B diskslice

   Wobei Slice das Laufwerk und die Slice darstellt, von dem gebootet
   wird, beispielsweise ad0s1 fu:r die erste Slice auf der ersten
   IDE-Festplatte.

     Dangerously Dedicated Mode: Wenn man nur den Festplatten-Namen,
     also z.B. ad0, in bsdlabel(8) benutzt wird eine "dangerously
     dedicated disk" erstellt, ohne Slices. Das ist ein Zustand, den
     man meistens nicht hervorrufen mo:chte. Aus diesem Grund sollte
     man ein bsdlabel(8)-Kommando noch einmal pru:fen, bevor man
     Return beta:tigt.

     --------------------------------------------------------------

  12.3.3. Phase drei, /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, erga:nzt durch einen umfangreichen
   Interpreter mit einem komplexeren Befehlssatz.

     --------------------------------------------------------------

    12.3.3.1. Loader Ablauf

   Der Loader sucht wa: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.

   Danach liest der Loader die Datei /boot/loader.rc aus, welche ihn
   standardma:ssig anweist /boot/defaults/loader.conf zu lesen, wo
   sinnvolle Standardeinstellungen fu:r diverse Variablen festgelegt
   werden und wiederum /boot/loader.conf fu:r lokale A:nderungen an
   diesen Variablen ausgelesen wird. Anschliessend arbeitet dann
   loader.rc entsprechend dieser Variablen und la:dt die
   ausgewa:hlten Module und den gewu:nschten Kernel.

   In der Voreinstellung wartet der Loader 10 Sekunden lang auf eine
   Tastatureingabe und bootet den Kernel, falls keine Taste beta:tigt
   wurde. Falls doch eine Taste beta:tigt wurde wird dem Benutzer
   eine Eingabeaufforderung angezeigt. Sie nimmt einen einfach zu
   bedienenden Befehlssatz entgegen, der es dem Benutzer erlaubt,
   A:nderungen an Variablen vorzunehmen, Module zu laden, alle Module
   zu entladen oder schliesslich zu booten bzw. neu zu booten.

     --------------------------------------------------------------

    12.3.3.2. Die eingebauten Befehle des Loaders

   Hier werden nur die gebra:uchlichsten Befehle bearbeitet. Fu:r
   eine erscho:pfende Diskussion aller verfu:gbaren Befehle
   konsultieren Sie bitte loader(8).

   autoboot Sekunden

           Es wird mit dem Booten des Kernels fortgefahren, falls
           keine Taste in der gegebenen Zeitspanne beta: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,
           abha:ngig von den entsprechenden Variablen. Dieser Vorgang
           ist identisch zu dem Vorgang, den der Bootloader ausfu:hrt
           und daher nur sinnvoll, wenn zuvor unload benutzt wurde
           und Variablen (gewo:hnlich kernel) vera: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 Verfu:gung
           stehenden Hilfe-Themen angezeigt.

   include Dateiname ...

           Verarbeitet die angegebene Datei. Das Einlesen und
           Interpretieren geschieht Zeile fu:r Zeile und wird im
           Falle eines Fehlers umgehend unterbrochen.

   load [-t Typ] Dateiname

           La:dt den Kernel, das Kernel-Modul, oder die Datei des
           angegebenen Typs. Optionen, die auf den Dateinamen folgen,
           werden der Datei u:bergeben.

   ls [-l] [Pfad]

           Listet die Dateien im angegebenen Pfad auf, oder das
           root-Verzeichnis(/), falls kein Pfad angegeben wurde. Die
           Option -l bewirkt, dass die Dateigro:ssen ebenfalls
           angezeigt werden.

   lsdev [-v]

           Listet alle Gera:te auf, fu:r die Module geladen werden
           ko:nnen. Die Option -v bewirkt eine detailreichere
           Ausgabe.

   lsmod [-v]

           Listet alle geladenen Module auf. Die Option -v 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

           Entla:dt sa:mtliche geladenen Module.

     --------------------------------------------------------------

    12.3.3.3. Beispiele fu:r die Loader Bedienung

   Hier ein paar praktische Beispiele fu:r die Bedienung des Loaders.

     * Um den gewo:hnlichen Kernel im Single-User Modus zu starten:

 boot -s

     * Um alle gewo:hnlichen Kernelmodule zu entladen und dann nur
       den alten (oder jeden beliebigen anderen) Kernel zu laden:

 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).

         Anmerkung: Der folgende Befehl la:dt die gewo:hnlichen
         Module mit einem anderen Kernel:

 unload
 set kernel="kernel.old"
 boot-conf

     * Folgendes la:dt ein Kernelkonfigurations-Skript (ein
       automatisiertes Skript, dass dasselbe tut, was der Benutzer
       normalerweise von Hand an der Eingabeaufforderung durchfu:hren
       wu:rde):

 load -t userconfig_script /boot/kernel.conf

     --------------------------------------------------------------

12.4. Kernel Interaktion wa:hrend des Bootprozesses

   Wenn der Kernel einmal geladen ist, entweder durch den Loader (die
   Standardmethode) oder durch boot2 (den Loader umgehend), verha:lt
   sich gema:ss seiner Boot-Flags, falls es welche gibt.

     --------------------------------------------------------------

  12.4.1. Kernel Boot-Flags

   Es folgt eine Auflistung der gebra:uchlichsten Boot-Flags:

   -a

           Bewirkt, dass der Benutzer wa:hrend der
           Kernel-Initialisierung gefragt wird, welches Gera:t als
           Root-Dateisystem gemounted werden soll.

   -C

           Es wird von CD-ROM gebootet.

   -c

           UserConfig, das Boot-Zeit Konfigurationsprogramm, wird
           gestartet.

   -s

           Bewirkt den Start des Single-User Modus.

   -v

           Zeigt mehr Informationen wa:hrend des Starten des Kernels
           an.

     Anmerkung: Andere Boot-Flags sind in der Hilfeseite boot(8)
     erla:utert.

     --------------------------------------------------------------

12.5. Konfiguration von Gera:ten

   Beigetragen von Tom Rhodes.

     Anmerkung: Diese Funktion steht erst ab FreeBSD 5.0 zur
     Verfu:gung.

   Der Boot-Loader liest wa:hrend des Systemstarts die Datei
   device.hints(5), die Variablen, auch "device hints" genannt, zur
   Konfiguration von Gera:ten entha:lt.

   Die Variablen ko:nnen auch mit Kommandos in der Phase 3 des
   Boot-Loaders bearbeitet werden. Neue Variablen werden mit set
   gesetzt, unset lo:scht schon definierte Variablen und show zeigt
   Variablen an. Variablen aus /boot/device.hints ko:nnen zu diesem
   Zeitpunkt u:berschrieben werden. Die hier durchgefu:hrten
   A:nderungen sind nicht permanent und beim na:chsten Systemstart
   nicht mehr gu:ltig.

   Nach dem Systemstart ko:nnen alle Variablen mit kenv(1) angezeigt
   werden.

   Pro Zeile entha:lt /boot/device.hints eine Variable. Kommentare
   werden, wie u: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 Gera:tetreiber wird mit driver, die Nummer des Gera:ts mit
   unit angegeben. keyword ist eine Option aus der folgenden Liste:

     * at: Gibt den Bus, auf dem sich das Gera:t befindet, an.

     * port: Die Startadresse des I/O-Bereichs.

     * irq: Gibt die zu verwendende Unterbrechungsanforderung (IRQ)
       an.

     * drq: Die Nummer des DMA Kanals.

     * maddr: Die physikalische Speicheradresse des Gera:ts.

     * flags: Setzt verschiedene gera:tespezifische Optionen.

     * disabled: Deaktiviert das Gera:t, wenn der Wert auf 1 gesetzt
       wird.

   Ein Gera:tetreiber kann mehr Optionen, als die hier beschriebenen,
   besitzen oder beno:tigen. Schlagen Sie die Optionen bitte in der
   Online-Hilfe des Treibers nach. Weitere Informationen erhalten Sie
   in device.hints(5), kenv(1), loader.conf(5) und loader(8).

     --------------------------------------------------------------

12.6. Init: Initialisierung der Prozess-Kontrolle

   Nachdem der Kernel den Bootprozess abgeschlossen hat, u:bergibt er
   die Kontrolle an den Benutzer-Prozess init(8). Dieses Programm
   befindet sich in /sbin/init, oder dem Pfad, der durch die Variable
   init_path im Loader spezifiziert wird.

     --------------------------------------------------------------

  12.6.1. 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 fsck(8) behebbar ist,
   schaltet init(8) das System in den Single-User Modus, damit der
   Systemadministrator sich des Problems annehmen kann.

     --------------------------------------------------------------

  12.6.2. Der Single-User Modus

   Das Schalten in diesen Modus kann erreicht werden durch den
   automatischen Reboot-Vorgang, durch das Booten mit der Option -s
   oder das Setzen der boot_single Variable in Loader.

   Weiterhin kann der Single-User Modus aus dem Mehrbenutzermodus
   heraus durch den Befehl shutdown(8) ohne die reboot (-r) oder halt
   (-h) 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.

   Beispiel 12-3. Auf insecure gesetzte Konsole in /etc/ttys

 # 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

     Anmerkung: 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 ko:nnen. Es
     bedeutet nicht, dass die Konsole "unsicher" laufen wird. Daher
     sollte man insecure wa:hlen, wenn man auf Sicherheit bedacht
     ist, nicht secure.

     --------------------------------------------------------------

  12.6.3. Mehrbenutzermodus

   Stellt init(8) fest, dass das Dateisystem in Ordnung ist, oder der
   Benutzer den Single-User Modus beendet, schaltet das System in den
   Mehrbenutzermodus, in dem dann die Ressourcen Konfiguration des
   Systems gestartet wird.

     --------------------------------------------------------------

    12.6.3.1. 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 gema:ss /etc/fstab, startet die Netzwerkdienste,
   diverse System Daemons und fu:hrt schliesslich die Start-Skripten
   der lokal installierten Anwendungen aus.

   Die rc(8) Handbuch Seite ist eine gute Quelle fu:r Informationen
   u:ber das Ressourcen Konfigurationssystem und ebenso u:ber die
   Skripte an sich.

     --------------------------------------------------------------

12.7. Der Shutdown-Vorgang

   Im Falle eines regula:ren Herunterfahrens durch shutdown(8) fu:hrt
   init(8) /etc/rc.shutdown aus, sendet dann sa:mtlichen Prozessen
   ein TERM Signal und schliesslich ein KILL Signal an alle Prozesse,
   die sich nicht schnell genug beendet haben.

   FreeBSD-Systeme, die Energieverwaltungsfunktionen unterstu:tzen,
   ko:nnen Sie mit dem Kommando shutdown -p now ausschalten. Zum
   Neustart des Systems benutzen Sie shutdown -r now. Das Kommando
   shutdown(8) kann nur von root oder Mitgliedern der Gruppe operator
   benutzt werden. Sie ko:nnen auch die Kommandos halt(8) und
   reboot(8) verwenden. Weitere Informationen finden Sie in den
   Hilfeseiten der drei Kommandos.

     Anmerkung: Unter FreeBSD mu:ssen Sie die acpi(4)-Unterstu:tzung
     im Kernel aktivieren oder das Modul geladen haben, damit Sie die
     Energieverwaltungsfunktionen benutzen ko:nnen.

     --------------------------------------------------------------

        Kapitel 13. Benutzer und grundlegende Account-Verwaltung

   Beigetragen von Neil Blakey-Milner. U:bersetzt von Robert Drehmel.

13.1. U:bersicht

   Einen FreeBSD-Computer ko:nnen mehrere Benutzer zur selben Zeit
   benutzen, allerdings kann immer nur einer vor der Konsole sitzen
   [6], u:ber das Netzwerk ko:nnen beliebig viele Benutzer angemeldet
   sein. Jeder Benutzer muss einen Account haben, um das System
   benutzen zu ko:nnen.

   Nachdem Sie dieses Kapitel gelesen haben, werden Sie

     * die verschiedenen Account-Typen von FreeBSD kennen,

     * wissen, wie Accounts angelegt werden,

     * wissen, wie Sie Accounts lo:schen,

     * wie Sie Attribute eines Accounts, wie den Loginnamen oder die
       Login-Shell a:ndern,

     * wissen, wie Sie Limits fu:r einen Account setzen, um
       beispielsweise Ressourcen, wie Speicher oder CPU-Zeit,
       einzuschra:nken,

     * wie Sie mit Gruppen die Verwaltung der Accounts vereinfachen.

   Vor dem Lesen dieses Kapitels sollten Sie

     * die Grundlagen von UNIX und FreeBSD (Kapitel 3) verstanden
       haben.

     --------------------------------------------------------------

13.2. Einfu:hrung

   Jeder Zugriff auf das System geschieht u:ber Accounts und alle
   Prozesse werden von Benutzern gestartet, also sind Benutzer- und
   Account-Verwaltung von wesentlicher Bedeutung in FreeBSD-Systemen.

   Mit jedem Account eines FreeBSD-Systems sind bestimmte
   Informationen verknu:pft, die diesen Account identifizieren.

   Loginnamen

           Den Loginnamen geben Sie bei der Anmeldung ein, wenn Sie
           dazu mit login: aufgefordert werden. Loginnamen mu:ssen
           auf dem System eindeutig sein, das heisst auf einem System
           kann es nicht zwei Accounts mit demselben Loginnamen
           geben. In passwd(5) wird beschrieben, wie ein gu:ltiger
           Loginname gebildet wird. Normalerweise sollten Sie Namen
           verwenden, die aus Kleinbuchstaben bestehen und bis zu
           acht Zeichen lang sind.

   Passwort

           Mit jedem Account ist ein Passwort verknu:pft. Wenn das
           Passwort leer ist, wird es bei der Anmeldung nicht
           abgefragt. Das ist allerdings nicht zu empfehlen, daher
           sollte jeder Account ein Passwort besitzen.

   User ID (UID)

           Die UID ist u:blicherweise eine Zahl zwischen 0 und
           65535[7], die einen Account eindeutig identifiziert.
           Intern verwendet FreeBSD nur die UID, Loginnamen werden
           zuerst in eine UID umgewandelt, mit der das System dann
           weiter arbeitet. Das bedeutet, dass Sie Accounts mit
           unterschiedlichen Loginnamen aber gleicher UID einrichten
           ko:nnen. Vom Standpunkt des Systems handelt es sich dabei
           um denselben Account. In der Praxis werden Sie diese
           Eigenschaft des Systems wahrscheinlich nicht benutzen.

   Group ID (GID)

           Die GID ist u:blicherweise eine Zahl zwischen 0 und
           65536[7], die eine Gruppe eindeutig identifiziert. Mit
           Gruppen kann der Zugriff auf Ressourcen u:ber die GID
           anstelle der UID geregelt werden. Einige
           Konfigurationsdateien werden durch diesen Mechanismus
           deutlich kleiner. Ein Account kann mehreren Gruppen
           zugeho:ren.

   Login-Klasse

           Login-Klassen erweitern das Gruppenkonzept. Sie erho:hen
           die Flexibilita:t des Systems in der Handhabung der
           verschiedenen Accounts.

   Gu:ltigkeit von Passwo:rtern

           Ein regelma:ssiges A:ndern des Passworts wird in der
           Voreinstellung von FreeBSD nicht erzwungen. Sie ko:nnen
           allerdings einen Passwortwechsel nach einer gewissen Zeit
           auf Basis einzelner Accounts erzwingen.

   Verfallszeit eines Accounts

           In der Voreinstellung verfallen unter FreeBSD keine
           Accounts. Wenn Sie Accounts einrichten, die nur fu:r eine
           bestimmte Zeit gu:ltig sein sollen, beispielsweise
           Accounts fu:r Teilnehmer eines Praktikums, ko:nnen Sie
           angeben, wie lange der Account gu:ltig sein soll. Nachdem
           die angegebene Zeitspanne verstrichen ist, kann dieser
           Account nicht mehr zum Anmelden verwendet werden, obwohl
           alle Verzeichnisse und Dateien, die diesem Account
           geho:ren, noch vorhanden sind.

   vollsta:ndiger Benutzername

           FreeBSD identifiziert einen Account eindeutig u:ber den
           Loginnamen, der aber keine A:hnlichkeit mit dem richtigen
           Namen des Benutzers haben muss. Der vollsta:ndige
           Benutzername kann daher beim Einrichten eines Accounts
           angegeben werden.

   Heimatverzeichnis

           Das Heimatverzeichnis gibt den vollsta:ndigen Pfad zu dem
           Verzeichnis an, in dem sich der Benutzer nach
           erfolgreicher Anmeldung befindet. Es ist u:blich, alle
           Heimatverzeichnisse unter /home/Loginname oder
           /usr/home/Loginname anzulegen. Im Heimatverzeichnis oder
           in dort angelegten Verzeichnissen werden die Dateien eines
           Benutzers gespeichert.

   Login-Shell

           Grundsa:tzlich ist die Schnittstelle zum System eine
           Shell, von denen es viele unterschiedliche gibt. Die
           bevorzugte Shell eines Benutzers kann seinem Account
           zugeordnet werden.

   Es gibt drei Haupttypen von Accounts: Der Superuser,
   Systembenutzer und Benutzer-Accounts. Der Superuser-Account,
   normalerweise root genannt, wird benutzt, um das System ohne
   Beschra:nkungen auf Privilegien zu verwalten. Systembenutzer
   starten Dienste. Abschliessend werden Benutzer-Accounts von echten
   Menschen genutzt, die sich einloggen, Mails lesen und so weiter.

     --------------------------------------------------------------

13.3. Der Superuser-Account

   Der Superuser-Account, normalerweise root genannt, ist
   vorkonfiguriert und erleichtert die Systemverwaltung, sollte aber
   nicht fu:r allta:gliche Aufgaben wie das Verschicken und Empfangen
   von Mails, Entdecken des Systems oder Programmierung benutzt
   werden.

   Das ist so, da der Superuser im Gegensatz zu normalen
   Benutzer-Accounts ohne Beschra:nkungen operiert und falsche
   Anwendung des Superuser-Accounts in spektakula:ren Katastrophen
   resultieren kann. Benutzer-Accounts sind nicht in der Lage, das
   System versehentlich zu zersto:ren, deswegen ist es generell am
   besten normale Benutzer-Accounts zu verwenden, solange man nicht
   hauptsa:chlich die extra Privilegien beno:tigt.

   Kommandos, die Sie als Superuser eingeben, sollten Sie immer
   doppelt und dreifach u:berpru:fen, da ein zusa:tzliches
   Leerzeichen oder ein fehlender Buchstabe irreparablen Datenverlust
   bedeuten kann.

   Das erste, das Sie tun sollten, nachdem Sie dieses Kapitel gelesen
   haben, ist einen unprivilegierten Benutzer fu:r Ihre eigene
   normale Benutzung zu erstellen, wenn Sie das nicht bereits getan
   haben. Das trifft immer zu, egal ob Sie ein Mehrbenutzersystem
   oder ein System laufen haben, welches Sie alleine benutzen.
   Spa:ter in diesem Kapitel besprechen wir, wie man zusa:tzliche
   Accounts erstellt und wie man zwischen dem normalen Benutzer und
   dem Superuser wechselt.

     --------------------------------------------------------------

13.4. System-Accounts

   Systembenutzer starten Dienste wie DNS, Mail-Server, Web-Server
   und so weiter. Der Grund dafu:r ist die Sicherheit; wenn die
   Programme von dem Superuser gestartet werden, ko:nnen Sie ohne
   Einschra:nkungen handeln.

   Beispiele von Systembenutzern sind daemon, operator, bind (fu:r
   den Domain Name Service) und news und www.

   nobody ist der generische unprivilegierte Systembenutzer. Bedenken
   Sie aber, dass je mehr Dienste nobody benutzen, desto mehr Dateien
   und Prozesse diesem Benutzer geho:ren und dieser Benutzer damit
   umso privilegierter wird.

     --------------------------------------------------------------

13.5. Benutzer-Accounts

   Benutzer-Accounts sind das prima:re Mittel des Zugriffs fu:r
   Menschen auf das System und isolieren Benutzer und Umgebung,
   schu:tzen die Benutzer davor, das System oder Daten anderer
   Benutzer zu bescha:digen und erlauben Benutzern ihre Umgebung
   selbst einzurichten, ohne das sich dies auf andere auswirkt.

   Jede Person, die auf Ihr System zugreift, sollte ihren eigenen
   Account besitzen. Das erlaubt Ihnen herauszufinden, wer was macht
   und ha:lt Leute davon ab, die Einstellungen der anderen zu
   vera:ndern oder Mails zu lesen, die nicht fu:r sie bestimmt waren.

   Jeder Benutzer kann sich eine eigene Umgebung mit alternativen
   Shells, Editoren, Tastaturbelegungen und Sprachen einrichten.

     --------------------------------------------------------------

13.6. Accounts vera:ndern

   Unter UNIX gibt es verschiedene Kommandos, um Accounts zu
   vera:ndern. Die gebra:uchlichsten Kommandos sind unten, gefolgt
   von einer detaillierten Beschreibung, zusammengefasst.

    Kommando                      Zusammenfassung                     
   adduser(8) Das empfohlene Werkzeug, um neue Accounts zu erstellen. 
   rmuser(8)  Das empfohlene Werkzeug, um Accounts zu lo:schen.       
   chpass(1)  Ein flexibles Werkzeug, um Informationen in der         
              Account-Datenbank zu vera:ndern.                        
   passwd(1)  Ein einfaches Werkzeug, um Passwo:rter von Accounts zu  
              a:ndern.                                                
   pw(8)      Ein ma:chtiges und flexibles Werkzeug um alle           
              Informationen u:ber Accounts zu a:ndern.                

     --------------------------------------------------------------

  13.6.1. adduser

   adduser(8) ist ein einfaches Programm um neue Benutzer
   hinzuzufu:gen. Es erstellt passwd und group Eintra:ge fu:r den
   Benutzer, genauso wie ein home Verzeichnis, kopiert ein paar
   vorgegebene Dotfiles aus /usr/share/skel und kann optional dem
   Benutzer eine ,,Willkommen``-Nachricht zuschicken.

   Beispiel 13-1. Einen Benutzer unter FreeBSD anlegen

 # adduser
 Username: jru
 Full name: J. Random User
 Uid (Leave empty for default):
 Login group [jru]:
 Login group is jru. Invite jru into other groups? []: wheel
 Login class [default]:
 Shell (sh csh tcsh zsh nologin) [sh]: zsh
 Home directory [/home/jru]:
 Use password-based authentication? [yes]:
 Use an empty password? (yes/no) [no]:
 Use a random password? (yes/no) [no]:
 Enter password:
 Enter password again:
 Lock out the account after creation? [no]:
 Username   : jru
 Password   : ****
 Full Name  : J. Random User
 Uid        : 1001
 Class      :
 Groups     : jru wheel
 Home       : /home/jru
 Shell      : /usr/local/bin/zsh
 Locked     : no
 OK? (yes/no): yes
 adduser: INFO: Successfully added (jru) to the user database.
 Add another user? (yes/no): no
 Goodbye!
 #

     Anmerkung: Wenn Sie das Passwort eingeben, werden weder Passwort
     noch Sternchen angezeigt. Passen Sie auf, dass Sie das Passwort
     korrekt eingeben.

     --------------------------------------------------------------

  13.6.2. rmuser

   Benutzen Sie rmuser(8), um einen Account vollsta:ndig aus dem
   System zu entfernen. rmuser(8) fu:hrt die folgenden Schritte
   durch:

    1. Entfernt den crontab(1) Eintrag des Benutzers (wenn dieser
       existiert).

    2. Entfernt alle at(1) jobs, die dem Benutzer geho:ren.

    3. Schliesst alle Prozesse des Benutzers.

    4. Entfernt den Benutzer aus der lokalen Passwort-Datei des
       Systems.

    5. Entfernt das Heimatverzeichnis des Benutzers (falls es dem
       Benutzer geho:rt).

    6. Entfernt eingegange E-Mails des Benutzers aus /var/mail.

    7. Entfernt alle Dateien des Benutzers aus tempora:ren
       Dateispeicherbereichen wie /tmp.

    8. Entfernt den Loginnamen von allen Gruppen, zu denen er
       geho:rt, aus /etc/group.

         Anmerkung: Wenn eine Gruppe leer wird und der Gruppenname
         mit dem Loginnamen identisch ist, wird die Gruppe entfernt;
         das erga:nzt sich mit den einzelnen Benutzer-Gruppen, die
         von adduser(8) fu:r jeden neuen Benutzer erstellt werden.

   Der Superuser-Account kann nicht mit rmuser(8) entfernt werden, da
   dies in den meisten Fa:llen das System unbrauchbar macht.

   Als Vorgabe wird ein interaktiver Modus benutzt, der
   sicherzustellen versucht, dass Sie wissen, was Sie tun.

   Beispiel 13-2. Interaktives Lo:schen von Account mit rmuser

 # rmuser jru
 Matching password entry:
 jru:*:1001:1001::0:0:J. Random User:/home/jru:/usr/local/bin/zsh
 Is this the entry you wish to remove? y
 Remove user's home directory (/home/jru)? y
 Updating password file, updating databases, done.
 Updating group file: trusted (removing group jru -- personal group is empty) done.
 Removing user's incoming mail file /var/mail/jru: done.
 Removing files belonging to jru from /tmp: done.
 Removing files belonging to jru from /var/tmp: done.
 Removing files belonging to jru from /var/tmp/vi.recover: done.
 #

     --------------------------------------------------------------

  13.6.3. chpass

   chpass(1) a:ndert Informationen der Benutzerdatenbank wie
   Passwo:rter, Shells und perso:nliche Informationen.

   Nur Systemadministratoren, mit Superuser-Rechten, ko:nnen die
   Informationen und Passwo:rter der anderen Benutzer mit chpass(1)
   vera:ndern.

   Werden keine Optionen neben dem optionalen Loginnamen angegeben,
   zeigt chpass(1) einen Editor mit Account-Informationen an und
   aktualisiert die Account-Datenbank, wenn dieser verlassen wird.

     Anmerkung: Unter FreeBSD wird nach dem Verlassen des Editors
     nach dem Passwort gefragt, es sei denn, man ist als Superuser
     angemeldet.

   Beispiel 13-3. Interaktives chpass des Superusers

 #Changing user database information for jru.
 Login: jru
 Password: *
 Uid [#]: 1001
 Gid [# or name]: 1001
 Change [month day year]:
 Expire [month day year]:
 Class:
 Home directory: /home/jru
 Shell: /usr/local/bin/zsh
 Full Name: J. Random User
 Office Location:
 Office Phone:
 Home Phone:
 Other information:

   Der normale Benutzer kann nur einen kleinen Teil dieser
   Informationen vera:ndern und natu:rlich nur die Daten des eigenen
   Accounts.

   Beispiel 13-4. Interaktives chpass eines normalen Benutzers

 #Changing user database information for jru.
 Shell: /usr/local/bin/tcsh
 Full Name: J. Random User
 Office Location:
 Office Phone:
 Home Phone:
 Other information:

     Anmerkung: chfn(1) und chsh(1) sind nur Verweise auf chpass(1)
     genauso wie ypchpass(1), ypchfn(1) und ypchsh(1). NIS wird
     automatisch unterstu:tzt, deswegen ist es nicht notwendig das yp
     vor dem Kommando einzugeben. NIS wird spa:ter in Kapitel 29
     besprochen.

     --------------------------------------------------------------

  13.6.4. passwd

   passwd(1) ist der u:bliche Weg, Ihr eigenes Passwort als Benutzer
   zu a:ndern oder das Passwort eines anderen Benutzers als
   Superuser.

     Anmerkung: Um unberechtigte A:nderungen zu verhindern, muss bei
     einem Passwortwechsel zuerst das urspru:ngliche Passwort
     eingegeben werden.

   Beispiel 13-5. Wechseln des Passworts

 % passwd
 Changing local password for jru.
 Old password:
 New password:
 Retype new password:
 passwd: updating the database...
 passwd: done

 # passwd jru
 Changing local password for jru.
 New password:
 Retype new password:
 passwd: updating the database...
 passwd: done

   Beispiel 13-6. Als Superuser das Passwort eines anderen Accounts
   vera:ndern

 # passwd jru
 Changing local password for jru.
 New password:
 Retype new password:
 passwd: updating the database...
 passwd: done

     Anmerkung: Wie bei chpass(1) ist yppasswd(1) nur ein Verweis auf
     passwd(1). NIS wird von jedem dieser Kommandos unterstu:tzt.

     --------------------------------------------------------------

  13.6.5. pw

   pw(8) ist ein Kommandozeilenprogramm, mit dem man Accounts und
   Gruppen erstellen, entfernen, vera:ndern und anzeigen kann. Dieses
   Kommando dient als Schnittstelle zu den Benutzer- und
   Gruppendateien des Systems. pw(8) besitzt eine Reihe ma:chtiger
   Kommandozeilenschalter, die es fu:r die Benutzung in
   Shell-Skripten geeignet machen, doch finden neue Benutzer die
   Bedienung des Kommandos komplizierter, als die der anderen hier
   vorgestellten Kommandos.

     --------------------------------------------------------------

13.7. Benutzer einschra:nken

   Wenn ein System von mehreren Benutzern verwendet wird, ist es
   vielleicht notwendig, den Gebrauch des Systems zu beschra:nken.
   FreeBSD bietet dem Systemadministrator mehrere Mo:glichkeiten die
   System-Ressourcen, die ein einzelner Benutzer verwenden kann,
   einzuschra:nken. Diese Limitierungen sind in zwei Kategorien
   eingeteilt: Festplattenkontingente und andere
   Ressourcenbeschra:nkungen.

   Festplatten-Kontingente schra:nken den Plattenplatz, der einem
   Benutzer zur Verfu:gung steht, ein. Sie bieten zudem, ohne
   aufwa:ndige Berechnung, einen schnellen U:berblick u:ber den
   verbrauchten Plattenplatz. Kontingente werden in Abschnitt 18.15
   diskutiert.

   Die Login-Klassen werden in /etc/login.conf definiert. Auf die
   pra:zisen Semantiken gehen wir hier nicht weiter ein, sie ko:nnen
   jedoch in login.conf(5) nachgelesen werden. Es ist ausreichend zu
   sagen, dass jeder Benutzer einer Login-Klasse zugewiesen wird
   (standardma:ssig default) und dass jede Login-Klasse mit einem
   Satz von Login-Fa:higkeiten verbunden ist. Eine Login-Fa:higkeit
   ist ein Name=Wert Paar, in dem Name die Fa:higkeit bezeichnet und
   Wert ein willku:rlicher Text ist, der je nach Name entsprechend
   verarbeitet wird. Login-Klassen und -Fa:higkeiten zu definieren,
   ist fast schon selbsterkla:rend und wird auch in login.conf(5)
   beschrieben.

     Anmerkung: Das System verwendet die Datei /etc/login.conf
     normalerweise nicht direkt, sondern nur u:ber die Datenbank
     /etc/login.conf.db, da diese eine schnellere Abfrage erlaubt.
     Der nachstehende Befehl erzeugt die Datenbank /etc/login.conf.db
     aus der Datei /etc/login.conf:

 # cap_mkdb /etc/login.conf

   Ressourcenbeschra:nkungen unterscheiden sich von normalen
   Login-Fa:higkeiten zweifach. Erstens gibt es fu:r jede
   Beschra:nkung ein aktuelles und ein maximales Limit. Das aktuelle
   Limit kann vom Benutzer oder einer Anwendung beliebig bis zum
   maximalen Limit vera:ndert werden. Letzteres kann der Benutzer nur
   heruntersetzen. Zweitens gelten die meisten
   Ressourcenbeschra:nkungen fu:r jeden vom Benutzer gestarteten
   Prozess, nicht fu:r den Benutzer selbst. Beachten Sie jedoch, dass
   diese Unterschiede durch das spezifische Einlesen der Limits und
   nicht durch das System der Login-Fa:higkeiten entstehen (das
   heisst, Ressourcenbeschra:nkungen sind keine Login-Fa:higkeiten).

   Hier befinden sich die am ha:ufigsten benutzten
   Ressourcenbeschra:nkungen (der Rest kann zusammen mit den anderen
   Login-Fa:higkeiten in login.conf(5) gefunden werden):

   coredumpsize

           Das Limit der Gro:sse einer core-Datei, die von einem
           Programm generiert wird, unterliegt aus offensichtlichen
           Gru:nden anderen Limits der Festplattenbenutzung (zum
           Beispiel filesize oder Festplattenkontingenten). Es wird
           aber trotzdem oft als weniger harte Methode zur Kontrolle
           des Festplattenplatz-Verbrauchs verwendet: Da Benutzer die
           core-Dateien nicht selbst erstellen, und sie oft nicht
           lo:schen, kann sie diese Option davor retten, dass ihnen
           kein Festplattenspeicher mehr zur Verfu:gung steht, sollte
           ein grosses Programm, wie emacs, abstu:rzen.

   cputime

           Die maximale Rechenzeit, die ein Prozess eines Benutzers
           verbrauchen darf. U:berschreitet der Prozess diesen Wert,
           wird er vom Kernel beendet.

             Anmerkung: Die Rechenzeit wird limitiert, nicht die
             prozentuale Prozessorenbenutzung, wie es in einigen
             Feldern in top(1) und ps(1) dargestellt wird. Letzteres
             war zu der Zeit, als dies hier geschrieben wurde nicht
             mo:glich und wu:rde eher nutzlos sein: Ein Compiler -
             ein wahrscheinlich legitimer Vorgang - kann leicht fast
             100% des Prozessors in Anspruch nehmen.

   filesize

           Hiermit la:sst sich die maximale Gro:sse einer Datei
           bestimmen, die der Benutzer besitzen darf. Im Gegensatz zu
           Festplattenkontingenten ist diese Beschra:nkung nur fu:r
           jede einzelne Datei gu:ltig und nicht fu:r den Platz, den
           alle Dateien eines Benutzers verwenden.

   maxproc

           Das ist die maximale Anzahl von Prozessen, die ein
           Benutzer starten darf, und beinhaltet sowohl Vordergrund-
           als auch Hintergrundprozesse. Natu:rlich darf dieser Wert
           nicht ho:her sein als das System-Limit, das in
           kern.maxproc angegeben ist. Vergessen Sie auch nicht, dass
           ein zu kleiner Wert den Benutzer in seiner Produktivita:t
           einschra:nken ko:nnte; es ist oft nu:tzlich, mehrfach
           eingeloggt zu sein, oder Pipelines [8] zu verwenden. Ein
           paar Aufgaben, wie die Kompilierung eines grossen
           Programms, starten mehrere Prozesse (zum Beispiel make(1),
           cc(1) und andere).

   memorylocked

           Dieses Limit gibt an, wie viel virtueller Speicher von
           einem Prozess maximal im Arbeitsspeicher festgesetzt
           werden kann. (siehe auch mlock(2)). Ein paar
           systemkritische Programme, wie amd(8), verhindern damit
           einen Systemzusammenbruch, der auftreten ko:nnte, wenn sie
           aus dem Speicher genommen werden.

   memoryuse

           Bezeichnet den maximalen Speicher, den ein Prozess
           benutzen darf und beinhaltet sowohl Arbeitsspeicher-, als
           auch Swap- Benutzung. Es ist kein allu:bergreifendes Limit
           fu:r den Speicherverbrauch, aber ein guter Anfang.

   openfiles

           Mit diesem Limit la:sst sich die maximale Anzahl der von
           einem Prozess des Benutzers geo:ffneten Dateien festlegen.
           In FreeBSD werden Dateien auch verwendet, um Sockets und
           IPC-Kana:le [9] darzustellen. Setzen Sie es deshalb nicht
           zu niedrig. Das System-Limit ist im kern.maxfiles
           sysctl(8) definiert.

   sbsize

           Dieses Limit beschra:nkt den Netzwerk-Speicher, und damit
           die mbufs, die ein Benutzer verbrauchen darf. Es stammt
           aus einer Antwort auf einen DoS-Angriff, bei dem viele
           Netzwerk-Sockets geo:ffnet wurden, kann aber generell dazu
           benutzt werden Netzwerk-Verbindungen zu beschra:nken.

   stacksize

           Das ist die maximale Gro:sse, auf die der Stack eines
           Prozesses heranwachsen darf. Das allein ist natu:rlich
           nicht genug, um den Speicher zu beschra:nken, den ein
           Programm verwenden darf. Es sollte deshalb in Verbindung
           mit anderen Limits gesetzt werden.

   Beim Setzen von Ressourcenbeschra:nkungen sind noch andere Dinge
   zu beachten. Nachfolgend ein paar generelle Tipps, Empfehlungen
   und verschiedene Kommentare.

     * Von /etc/rc beim Hochfahren des Systems gestartete Prozesse
       werden der daemon Login-Klasse zugewiesen.

     * Obwohl das mitgelieferte /etc/login.conf eine Quelle von
       vernu:nftigen Limits darstellt, ko:nnen nur Sie, der
       Administrator, wissen, was fu:r Ihr System angebracht ist. Ein
       Limit zu hoch anzusetzen ko:nnte Ihr System fu:r Missbrauch
       o:ffnen, und ein zu niedriges Limit der Produktivita:t einen
       Riegel vorschieben.

     * Benutzer des X-Window Systems (X11) sollten wahrscheinlich
       mehr Ressourcen zugeteilt bekommen als andere Benutzer. X11
       beansprucht selbst schon eine Menge Ressourcen, verleitet die
       Benutzer aber auch, mehrere Programme gleichzeitig laufen zu
       lassen.

     * Bedenken Sie, dass viele Limits fu:r einzelne Prozesse gelten
       und nicht fu:r den Benutzer selbst. Setzt man zum Beispiel
       openfiles auf 50, kann jeder Prozess des Benutzers bis zu 50
       Dateien o:ffnen. Dadurch ist die maximale Anzahl von Dateien,
       die von einem Benutzer geo:ffnet werden ko:nnen, openfiles mal
       maxproc. Das gilt auch fu:r den Speicherverbrauch.

   Weitere Informationen u:ber Ressourcenbeschra:nkungen,
   Login-Klassen und -Fa:higkeiten enthalten die Hilfeseiten
   cap_mkdb(1), getrlimit(2) und login.conf(5).

     --------------------------------------------------------------

13.8. Gruppen

   Eine Gruppe ist einfach eine Zusammenfassung von Accounts. Gruppen
   werden durch den Gruppennamen und die GID (group ID)
   identifiziert. Der Kernel von FreeBSD (und den meisten anderen
   UNIX Systemen) entscheidet anhand der UID und der
   Gruppenmitgliedschaft eines Prozesses, ob er dem Prozess etwas
   erlaubt oder nicht. Im Unterschied zur UID kann ein Prozess zu
   einer Reihe von Gruppen geho:ren. Wenn jemand von der GID eines
   Benutzers oder Prozesses spricht, meint er damit meistens die
   erste Gruppe der Gruppenliste.

   Die Zuordnung von Gruppennamen zur GID steht in /etc/group, einer
   Textdatei mit vier durch Doppelpunkte getrennten Feldern. Im
   ersten Feld steht der Gruppenname, das zweite entha:lt ein
   verschlu:sseltes Passwort, das dritte gibt die GID an und das
   vierte besteht aus einer Komma separierten Liste der Mitglieder
   der Gruppe. Diese Datei kann einfach editiert werden (natu:rlich
   nur, wenn Sie dabei keine Syntaxfehler machen). Eine ausfu:hrliche
   Beschreibung der Syntax dieser Datei finden Sie in group(5).

   Wenn Sie /etc/group nicht ha:ndisch editieren mo:chten, ko:nnen
   Sie pw(8) zum Editieren benutzen. Das folgende Beispiel zeigt das
   Hinzufu:gen einer Gruppe mit dem Namen teamtwo:

   Beispiel 13-7. Setzen der Mitgliederliste einer Gruppe mit pw(8)

 # pw groupadd teamtwo
 # pw groupshow teamtwo
 teamtwo:*:1100:

   Die Zahl 1100 ist die GID der Gruppe teamtwo. Momentan hat teamtwo
   noch keine Mitglieder und ist daher ziemlich nutzlos. Um das zu
   a:ndern, nehmen wir nun jru in teamtwo auf.

   Beispiel 13-8. Ein Gruppenmitglied mit pw hinzufu:gen

 # pw groupmod teamtwo -M jru
 # pw groupshow teamtwo
 teamtwo:*:1100:jru

   Als Argument von -M geben Sie eine Komma separierte Liste von
   Mitgliedern an, die in die Gruppe aufgenommen werden sollen. Aus
   den vorherigen Abschnitten ist bekannt, dass die Passwort-Datei
   ebenfalls eine Gruppe fu:r jeden Benutzer entha:lt. Das System
   teilt dem Benutzer automatisch eine Gruppe zu, die aber vom
   groupshow Kommando von pw(8) nicht angezeigt wird. Diese
   Information wird allerdings von id(1) und a:hnlichen Werkzeugen
   angezeigt. Das heisst, dass pw(8) nur /etc/group manipuliert, es
   wird nicht versuchen, zusa:tzliche Informationen aus /etc/passwd
   zu lesen.

   Beispiel 13-9. Hinzufu:gen eines neuen Gruppenmitglieds mittels
   pw(8)

 # pw groupmod teamtwo -m db
 # pw groupshow teamtwo
 teamtwo:*:1100:jru,db

   Die Argumente zur Option -m ist eine durch Komma getrennte Liste
   von Benutzern, die der Gruppe hinzugefu:gt werden sollen. Anders
   als im vorherigen Beispiel werden diese Benutzer in die Gruppe
   aufgenommen und ersetzen nicht die Liste der bereits bestehenden
   Benutzer in der Gruppe.

   Beispiel 13-10. Mit id die Gruppenzugeho:rigkeit bestimmen

 % id jru
 uid=1001(jru) gid=1001(jru) groups=1001(jru), 1100(teamtwo)

   Wie Sie sehen, ist jru Mitglied von jru und teamtwo.

   Weitere Informationen entnehmen Sie bitte pw(8).

     --------------------------------------------------------------

                         Kapitel 14. Sicherheit

   Viel von diesem Kapitel stammt aus der security(7) Manualpage von
   Matthew Dillon. U:bersetzt von Martin Heinen.

     --------------------------------------------------------------

14.1. U:bersicht

   Dieses Kapitel bietet eine Einfu:hrung in die Konzepte der
   Systemsicherheit. Neben einigen Daumenregeln werden
   weiterfu:hrende Themen wie S/Key, OpenSSL und Kerberos diskutiert.
   Die meisten der hier besprochenen Punkte treffen sowohl auf die
   Systemsicherheit sowie die Internetsicherheit zu. Das Internet hat
   aufgeho:rt ein "friedlicher" Ort zu sein, an dem Sie nur nette
   Leute finden werden. Es ist unumga:nglich, dass Sie Ihre Daten,
   Ihr geistiges Eigentum, Ihre Zeit und vieles mehr vor dem Zugriff
   von Hackern schu:tzen.

   FreeBSD besitzt eine Reihe von Werkzeugen und Mechanismen, um die
   Integrita:t und die Sicherheit Ihrer Systeme und Netzwerke zu
   gewa:hrleisten.

   Nach dem Sie dieses Kapitel durchgearbeitet haben, werden Sie:

     * Grundlegende auf FreeBSD bezogene Sicherheitsaspekte kennen.

     * Die verschiedenen Verschlu:sselungsmechanismen von FreeBSD,
       wie DES oder MD5, kennen.

     * Wissen, wie Sie ein Einmalpasswo:rter zur Authentifizierung
       verwenden.

     * TCP-Wrapper fu:r inetd einrichten ko:nnen.

     * Wissen, wie Sie KerberosIV vor 5.0-Release einrichten.

     * Wissen, wie Sie Kerberos5 unter FreeBSD einrichten.

     * Firewalls mit IPFW erstellen ko:nnen.

     * Wissen, wie Sie IPsec konfigurieren und ein VPN zwischen
       FreeBSD/Windows Systemen einrichten,

     * OpenSSH, FreeBSDs Implementierung von SSH, konfigurieren und
       benutzen ko:nnen.

     * Portaudit anwenden ko:nnen, um Softwarepakete Dritter, die Sie
       u:ber die Ports-Sammlung installieren, auf bekannte
       Sicherheitslu:cken hin zu u:berpru:fen.

     * Mit FreeBSD-Sicherheitshinweisen umgehen ko:nnen.

     * Eine Vorstellung davon haben, was Prozessu:berwachung (Process
       Accounting) ist und wie Sie diese Funktion unter FreeBSD
       aktivieren ko:nnen.

   Bevor Sie dieses Kapitel lesen, sollten Sie

     * Grundlegende Konzepte von FreeBSD und dem Internet verstehen.

   Dieses Buch behandelt weitere Sicherheitsthemen. Beispielsweise
   werden vorgeschriebene Zugriffskontrollen in Kapitel 16 und
   Firewalls in Kapitel 30 besprochen.

     --------------------------------------------------------------

14.2. Einfu:hrung

   Sicherheit ist ein Konzept, das beim Systemadministrator anfa:ngt
   und aufho:rt. Obwohl alle BSD UNIX Mehrbenutzersysteme u:ber
   Sicherheitsfunktionen verfu:gen, ist es wohl eine der gro:ssten
   Aufgaben eines Systemadministrators zusa:tzliche
   Sicherheitsmechanismen zu erstellen und zu pflegen. Maschinen sind
   nur so sicher wie sie gemacht werden und Sicherheitsanforderungen
   stehen oft der Benutzerfreundlichkeit entgegen. Auf UNIX Systemen
   ko:nnen sehr viele Prozesse gleichzeitig laufen und viele dieser
   Prozesse sind Server, das heisst von aussen kann auf sie
   zugegriffen werden. In einer Zeit, in der die Minicomputer und
   Mainframes von gestern die Desktops von heute sind und Rechner
   immer mehr vernetzt werden, kommt der Sicherheit eine grosse
   Bedeutung zu.

   Zur Systemsicherheit geho:rt auch die Bescha:ftigung mit
   verschiedenen Arten von Angriffen, auch solchen, die versuchen,
   ein System still zu legen, oder sonst unbrauchbar zu machen ohne
   root zu kompromittieren. Sicherheitsaspekte lassen sich in mehrere
   Kategorien unterteilen:

    1. Denial-of-Service Angriffe.

    2. Kompromittierte Accounts.

    3. Kompromittierter root-Account durch zugreifbare Server.

    4. Kompromittierter root-Account durch kompromittierte Accounts.

    5. Einrichten von Hintertu:ren.

   Ein Denial-of-Service (Verhinderung von Diensten, DoS) Angriff
   entzieht einer Maschine Ressourcen, die sie zur Bereitstellung von
   Diensten beno:tigt. Meist versuchen Denial-of-Service Angriffe die
   Dienste oder den Netzwerkstack einer Maschine zu u:berlasten, um
   so die Maschine auszuschalten oder nicht nutzbar zu machen. Einige
   Angriffe versuchen, Fehler im Netzwerkstack auszunutzen, und die
   Maschine mit einem einzigen Paket auszuschalten. Diese Art des
   Angriffs kann nur verhindert werden, indem der entsprechende
   Fehler im Kernel behoben wird. Oft ko:nnen Angriffe auf Dienste
   durch die Angabe von Optionen verhindert werden, die die Last, die
   ein Dienst auf das System unter widrigen Umsta:nden ausu:ben kann,
   begrenzt. Angriffen auf das Netzwerk ist schwerer zu begegnen.
   Ausser durch Trennen der Internetverbindung ist zum Beispiel einem
   Angriff mit gefa:lschten Paketen nicht zu begegnen. Diese Art von
   Angriff wird Ihr System zwar nicht unbrauchbar machen, kann aber
   die Internetverbindung sa:ttigen.

   Kompromittierte Accounts kommen noch ha:ufiger als DoS Angriffe
   vor. Viele Systemadministratoren lassen auf ihren Maschinen noch
   die Dienste telnetd, rlogind, rshd und ftpd laufen. Verbindungen
   zu diesen Servern werden nicht verschlu:sselt. Wenn Sie eine
   gro:ssere Benutzerzahl auf Ihrem System haben, die sich von einem
   entfernten System anmelden, ist die Folge davon, dass das Passwort
   eines oder mehrerer Benutzer ausgespa:ht wurde. Ein aufmerksamer
   Systemadministrator wird die Logs u:ber Anmeldungen von entfernten
   Systemen auf verda:chtige Quelladressen, auch fu:r erfolgreiche
   Anmeldungen, untersuchen.

   Es ist immer davon auszugehen, dass ein Angreifer, der Zugriff auf
   einen Account hat, Zugang zum root-Account erlangt. Allerdings
   gibt der Zugriff auf einen Account auf einem gut gesicherten und
   gepflegten System nicht notwendig Zugriff auf den root-Account.
   Diese Unterscheidung ist wichtig, da ein Angreifer, der keinen
   Zugang zu root besitzt, seine Spuren nicht verwischen kann. Er
   kann ho:chstens die Dateien des betreffenden Benutzers vera:ndern
   oder die Maschine stilllegen. Kompromittierte Accounts sind sehr
   ha:ufig, da Benutzer meist nicht dieselben Vorsichtsmassnahmen wie
   Administratoren treffen.

   Es gibt viele Wege, Zugang zum root-Account eines Systems zu
   bekommen: Ein Angreifer kann das Passwort von root kennen, er kann
   einen Fehler in einem Server entdecken, der unter root la:uft und
   dann u:ber eine Netzwerkverbindung zu diesem Server einbrechen.
   Oder er kennt einen Fehler in einem SUID-root Programm, der es ihm
   erlaubt, root zu werden, wenn er einmal einen Account
   kompromittiert hat. Wenn ein Angreifer einen Weg gefunden hat,
   root zu werden, braucht er vielleicht keine Hintertu:r auf dem
   System installieren. Viele der heute bekannten und geschlossenen
   Sicherheitslo:cher, die zu einem root Zugriff fu:hren, verlangen
   vom Angreifer einen erheblichen Aufwand, um seine Spuren zu
   verwischen. Aus diesem Grund wird er sich wahrscheinlich
   entschliessen, eine Hintertu:r (engl. Backdoor) zu installieren.
   Eine Hintertu:r erlaubt es dem Angreifer leicht auf den
   root-Account zuzugreifen. Einem klugen Systemadministrator erlaubt
   sie allerdings auch, den Einbruch zu entdecken. Wenn Sie es einem
   Angreifer verwehren, Hintertu:ren zu installieren, kann das
   scha:dlich fu:r Ihre Sicherheit sein, da es vielleicht verhindert,
   dass die Lu:cke, die der Angreifer fu:r den Einbruch ausgenutzt
   hat, entdeckt wird.

   Sicherheitsmassnahmen sollten immer in mehreren Schichten angelegt
   werden. Die Schichten ko:nnen wie folgt eingeteilt werden:

    1. Absichern von root und Accounts.

    2. Absichern von unter root laufenden Servern und SUID/SGID
       Programmen.

    3. Absichern von Accounts.

    4. Absichern der Passwort-Datei.

    5. Absichern des Kernels, der Gera:te und von Dateisystemen.

    6. Schnelles Aufdecken von unbefugten Vera:nderungen des Systems.

    7. Paranoia.

   Die einzelnen Punkte der obigen Liste werden im na:chsten
   Abschnitt genauer behandelt.

     --------------------------------------------------------------

14.3. Absichern von FreeBSD

     Kommandos und Protokolle: In diesem Abschnitt werden Anwendungen
     fett gekennzeichnet, spezifische Kommandos werden in einer
     Fixschrift dargestellt und Protokolle verwenden die normale
     Schriftart. Diese typographische Konvention hilft, Begriffe wie
     ssh zu unterscheiden, die sowohl Protokoll als auch Kommando
     sein ko:nnen.

   Die folgenden Abschnitte behandeln die im letzten Abschnitt
   erwa:hnten Methoden Ihr FreeBSD-System zu sichern.

     --------------------------------------------------------------

  14.3.1. Absichern von root und Accounts

   Zuallererst, ku:mmern Sie sich nicht um die Absicherung von
   Accounts, wenn Sie root noch nicht abgesichert haben. Auf den
   meisten Systemen ist root ein Passwort zugewiesen. Sie sollten
   immer davon ausgehen, dass dieses Passwort kompromittiert ist. Das
   heisst nicht, dass Sie das Passwort entfernen sollten, da es meist
   fu:r den Konsolenzugriff notwendig ist. Vielmehr heisst es, dass
   Sie das Passwort nicht ausserhalb der Konsole, auch nicht zusammen
   mit su(1), verwenden sollten. Stellen Sie sicher, dass Ihre PTYs
   in ttys als unsicher markiert sind und damit Anmeldungen von root
   mit telnet oder rlogin verboten sind. Wenn Sie andere Anwendungen
   wie SSH zum Anmelden benutzen, vergewissern Sie sich, dass dort
   ebenfalls Anmeldungen als root verboten sind. Fu:r SSH editieren
   Sie /etc/ssh/sshd_config und u:berpru:fen, dass PermitRootLogin
   auf NO gesetzt ist. Beachten Sie jede Zugriffsmethode - Dienste
   wie FTP werden oft vergessen. Nur an der Systemkonsole sollte ein
   direktes Anmelden als root mo:glich sein.

   Natu:rlich mu:ssen Sie als Systemadministrator root-Zugriff
   erlangen ko:nnen. Dieser sollte aber durch zusa:tzliche
   Passwo:rter geschu:tzt sein. Ein Weg, Zugang zu root zu
   ermo:glichen, ist es, berechtigte Mitarbeiter in /etc/group in die
   Gruppe wheel aufzunehmen. Die Personen, die Mitglieder in der
   Gruppe wheel sind, ko:nnen mit su zu root wechseln. Ihre
   Mitarbeiter sollten niemals die Gruppe wheel als prima:re Gruppe
   in /etc/passwd besitzen. Mitarbeiter sollten der Gruppe staff
   angeho:ren und u:ber /etc/group in wheel aufgenommen werden. Es
   sollten auch nur die Mitarbeiter, die wirklich root Zugriff
   beno:tigen in wheel aufgenommen werden. Mit anderen
   Authentifizierungsmethoden mu:ssen Sie niemanden in wheel
   aufnehmen. Wenn Sie z.B. Kerberos benutzen, wechseln Sie mit
   ksu(1) zu root und der Zugriff wird mit der Datei .k5login
   geregelt. Dies ist vielleicht eine bessere Lo:sung, da es der
   wheel-Mechanismus einem Angreifer immer noch mo:glich macht, den
   root-Account zu knacken, nachdem er einen Mitarbeiter-Account
   geknackt hat. Obwohl der wheel-Mechanismus besser als gar nichts
   ist, ist er nicht unbedingt die sicherste Lo:sung.

   Um ein Konto komplett zu sperren, verwenden Sie den Befehl pw(8):

 #pw lock staff

   Danach ist es diesem Benutzer nicht mehr mo:glich (auch nicht mit
   ssh(1)), sich anzumelden.

   Eine weitere Mo:glichkeit, bestimmte Benutzer zu sperren, ist es,
   das verschlu:sselte Passwort durch das Zeichen "*" zu ersetzen. Da
   ein verschlu:sseltes Passwort niemals diesem Zeichen entsprechen
   kann, kann sich der betroffene Benutzer ebenfalls nicht mehr
   anmelden. Beispielsweise mu:sste dazu das Konto

 foobar:R9DT/Fa1/LV9U:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcsh

   wie folgt abgea:ndert werden:

 foobar:*:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcsh

   Durch diese A:nderung wird der Benutzer foobar daran gehindert,
   sich auf konventionellem Wege am System anzumelden. Diese
   Massnahmen greifen allerdings nicht, wenn das betroffene System
   auch eine Anmeldung u:ber Kerberos oder ssh(1) erlaubt.

   Diese Sicherheitsmechanismen setzen voraus, dass Sie sich von
   einer restriktiven Maschine auf einer weniger restriktiven
   Maschine anmelden. Wenn zum Beispiel auf Ihrem Hauptrechner alle
   mo:glichen Arten von Servern laufen, so sollten auf Ihrer
   Workstation keine Server laufen. Um Ihre Workstation vernu:nftig
   abzusichern, sollten auf Ihr so wenig Server wie mo:glich bis hin
   zu keinem Server laufen. Sie sollten zudem u:ber einen
   Bildschirmschoner verfu:gen, der mit einem Passwort gesichert ist.
   Natu:rlich kann ein Angreifer, der physikalischen Zugang zu einer
   Maschine hat, jede Art von Sicherheitsmechanismen umgehen. Dieses
   Problem sollten Sie daher auch in Ihren U:berlegungen
   beru:cksichtigen. Beachten Sie dabei aber, dass der Grossteil der
   Einbru:che u:ber das Netzwerk erfolgt und die Einbrecher keinen
   Zugang zu der Maschine besitzen.

   Mit Kerberos ko:nnen Sie das Passwort eines Mitarbeiters an einer
   Stelle a:ndern und alle Maschinen, auf denen der Mitarbeiter einen
   Account hat, beachten die A:nderung sofort. Wird der Account eines
   Mitarbeiters einmal kompromittiert, so sollte die Fa:higkeit, das
   Passwort mit einem Schlag auf allen Maschinen zu a:ndern, nicht
   unterscha:tzt werden. Mit einzelnen Passwo:rtern wird es
   schwierig, das Passwort auf N Maschinen zu a:ndern. Mit Kerberos
   ko:nnen Sie auch Beschra:nkungen fu:r Passwo:rter festlegen: Nicht
   nur das Ticket kann nach einiger Zeit ungu:ltig werden, Sie
   ko:nnen auch festlegen, dass ein Benutzer nach einer bestimmten
   Zeit, z.B. nach einem Monat, das Passwort wechseln muss.

     --------------------------------------------------------------

  14.3.2. Absichern von unter root laufenden Servern und SUID/SGID
  Programmen

   Ein kluger Systemadministrator la:sst nur die Dienste, die er
   wirklich braucht, laufen; nicht mehr und auch nicht weniger.
   Beachten Sie, dass Server von Dritten die fehleranfa:lligsten
   sind. Wenn Sie z.B. eine alte Version von imapd oder popper laufen
   lassen, ist das so, als wu:rden Sie der ganzen Welt freien Zugang
   zu root geben. Lassen Sie keine Server laufen, die Sie vorher
   nicht genau u:berpru:ft haben. Viele Server mu:ssen nicht unter
   root laufen, zum Beispiel ko:nnen ntalk, comsat und finger in
   speziellen Sandka:sten unter einem Benutzer laufen. Ein Sandkasten
   ist keine perfekte Lo:sung, wenn Sie nicht eine Menge Arbeit in
   die Konfiguration investieren, doch bewa:hrt sich hier das
   Prinzip, die Sicherheit in Schichten aufzubauen. Wenn es einem
   Angreifer gelingt, in einen Server, der in einem Sandkasten
   la:uft, einzubrechen, dann muss er immer noch aus dem Sandkasten
   selber ausbrechen. Je mehr Schichten der Angreifer zu durchbrechen
   hat, desto kleiner sind seine Aussichten auf Erfolg. In der
   Vergangenheit wurden praktisch in jedem Server, der unter root
   la:uft, Lu:cken gefunden, die zu einem root Zugriff fu:hrten. Dies
   betrifft selbst die grundlegenden Systemdienste. Wenn Sie eine
   Maschine betreiben, auf der man sich nur mit SSH anmelden kann,
   dann stellen Sie die Dienste telnetd, rshd oder rlogind ab!

   In der Voreinstellung laufen unter FreeBSD ntalkd, comsat und
   finger nun in einem Sandkasten. Ein weiteres Programm, das in
   einem Sandkasten laufen sollte, ist named(8). In
   /etc/defaults/rc.conf sind die notwendigen Argumente, um named in
   einem Sandkasten laufen zu lassen, in kommentierter Form schon
   enthalten. Abha:ngig davon, ob Sie ein neues System installieren
   oder ein altes System aktualisieren, sind die hierfu:r beno:tigten
   Benutzer noch nicht installiert. Ein kluger Systemadministrator
   sollte immer nach Mo:glichkeiten suchen, Server in einem
   Sandkasten laufen zu lassen.

   Einige Server wie sendmail, popper, imapd und ftpd werden
   normalerweise nicht in Sandka:sten betrieben. Zu einigen Servern
   gibt es Alternativen, aber diese wollen Sie vielleicht wegen der
   zusa:tzlich no:tigen Arbeit nicht installieren (ein weiteres
   Beispiel fu:r den Widerspruch zwischen Sicherheit und
   Benutzerfreundlichkeit). In diesem Fall mu:ssen Sie die Server
   unter root laufen lassen und auf die eingebauten Mechanismen
   vertrauen, Einbru:che zu entdecken.

   Weitere potentielle Lo:cher, die zu einem root-Zugriff fu:hren
   ko:nnen, sind die auf dem System installierten SUID- und
   SGID-Programme. Die meisten dieser Programme wie rlogin stehen in
   /bin, /sbin, /usr/bin, oder /usr/sbin. Obwohl nichts 100% sicher
   ist, ko:nnen Sie davon ausgehen, dass die SUID- und SGID-Programme
   des Basissystems ausreichend sicher sind. Allerdings werden ab und
   an in diesen Programmen Lo:cher gefunden. 1998 wurde in Xlib ein
   Loch gefunden, das xterm, der normal mit SUID installiert wird,
   verwundbar machte. Es ist besser auf der sicheren Seite zu sein,
   als sich spa:ter zu beklagen, darum wird ein kluger
   Systemadministrator den Zugriff auf SUID-Programme mit einer
   Gruppe, auf die nur Mitarbeiter zugreifen ko:nnen, beschra:nken.
   SUID-Programme, die niemand benutzt, sollten mit chmod 000
   deaktiviert werden. Zum Beispiel braucht ein Server ohne
   Bildschirm kein xterm Programm. SGID-Programme sind vergleichbar
   gefa:hrlich. Wenn ein Einbrecher Zugriff auf SGID-kmem Programm
   erha:lt, kann er vielleicht /dev/kmem und damit die
   verschlu:sselte Passwortdatei lesen. Dies kompromittiert unter
   Umsta:nden jeden Account, der mit einem Passwort geschu:tzt ist.
   Alternativ kann ein Einbrecher, der in die Gruppe kmem
   eingebrochen ist, die Tastendru:cke auf PTYs verfolgen. Dies
   schliesst auch PTYs mit ein, auf denen sich ein Benutzer mit
   sicheren Methoden anmeldet. Ein Einbrecher, der Zugriff auf die
   tty Gruppe hat, kann auf fast jeden Terminal anderer Benutzer
   schreiben. Wenn der Benutzer einen Terminal-Emulator benutzt, der
   u:ber eine Tastatur-Simulation verfu:gt, ko:nnte der Angreifer
   Daten generieren, die den Terminal veranlassen, ein Kommando unter
   diesem Benutzer laufen zu lassen.

     --------------------------------------------------------------

  14.3.3. Absichern von Accounts

   Accounts sind fu:r gewo:hnlich sehr schwierig abzusichern.
   Wa:hrend Sie drakonische Beschra:nkungen fu:r Ihre Mitarbeiter
   einrichten und deren Passwo:rter als ungu:ltig markieren ko:nnen,
   werden Sie das vielleicht bei den normalen Accounts nicht
   durchsetzen. Wenn Sie u:ber ausreichend Macht verfu:gen, gelingt
   es Ihnen vielleicht doch, ansonsten mu:ssen Sie diese Accounts
   aufmerksam u:berwachen. Wegen der zusa:tzlichen
   Administrationsarbeit und der no:tigen technischen Unterstu:tzung
   ist die Verwendung von SSH und Kerberos mit normalen Accounts
   erschwert, obwohl das natu:rlich sicherer als die Verwendung von
   verschlu:sselten Passwo:rtern ist.

     --------------------------------------------------------------

  14.3.4. Absichern der Passwort-Datei

   Der einzig sichere Weg ist, so viele Accounts wie mo:glich als
   ungu:ltig zu markieren und SSH oder Kerberos zu benutzen, um auf
   sie zuzugreifen. Obwohl die Datei /etc/spwd.db, die die
   verschlu:sselten Passwo:rter entha:lt, nur von root gelesen werden
   kann, mag ein Angreifer lesenden Zugriff auf diese Datei erlangen,
   ohne die Fa:higkeit sie auch zu beschreiben.

   Ihre U:berwachungsskripten sollten A:nderungen an der
   Passwort-Datei melden (siehe U:berpru:fen der Integrita:t von
   Dateien weiter unten).

     --------------------------------------------------------------

  14.3.5. Absichern des Kernels, der Gera:te und von Dateisystemen

   Wenn ein Angreifer root-Zugriff erlangt, kann er so ziemlich alles
   mit Ihrem System anstellen, doch sollten Sie es ihm nicht zu
   leicht machen. Die meisten modernen Kernel haben zum Beispiel
   einen Gera:tetreiber, der es erlaubt, Pakete abzuho:ren. Unter
   FreeBSD wird das Gera:t bpf genannt. Fu:r gewo:hnlich wird ein
   Angreifer versuchen, dieses Gera:t zu nutzen, um Pakete
   abzuho:ren. Sie sollten ihm diese Gelegenheit nicht geben und auf
   den meisten Systemen ist das Gera:t bpf nicht no:tig.

   Auch wenn Sie bpf nicht verwenden, mu:ssen Sie sich immer noch um
   /dev/mem und /dev/kmem sorgen. Ausserdem kann der Angreifer immer
   noch auf die rohen Gera:te (raw devices) schreiben. Weiterhin gibt
   es ein Programm zum Nachladen von Modulen in den Kernel:
   kldload(8). Ein unternehmungslustiger Angreifer kann dies
   benutzen, um sein eigenes bpf oder ein anderes zum Abho:ren
   geeignetes Gera:t in den laufenden Kernel einzubringen. Um diese
   Probleme zu vermeiden, mu:ssen Sie den Kernel auf einer ho:heren
   Sicherheitsstufe, mindestens 1, laufen lassen. Die
   Sicherheitsstufe wird durch die Variable kern.securelevel, die mit
   sysctl gesetzt werden kann, angegeben. Nachdem Sie die
   Sicherheitsstufe auf 1 gesetzt haben, sind schreibende Zugriffe
   auf rohe Gera:te verboten und die speziellen chflags Optionen, wie
   schg werden erzwungen. Sie mu:ssen sicherstellen, dass die schg
   Option auf allen kritischen Programmen, Verzeichnissen und
   Skripten, die bis zum Setzen der Option laufen, aktiviert ist. Das
   mag u:bertrieben sein da eine Migration des Systems erschwert
   wird, wenn Sie auf einer ho:heren Sicherheitsstufe arbeiten. Sie
   ko:nnen einen Kompromiss erreichen, indem Sie das System auf einer
   erho:hten Sicherheitsstufe laufen lassen, aber die schg Option
   nicht fu:r jede Datei und jedes Verzeichnis auf der Welt setzen.
   Eine andere Mo:glichkeit besteht darin, / und /usr einfach
   schreibgeschu:tzt einzuha:ngen. Bedenken Sie aber, dass Sie das
   Aufdecken eines Einbruchs vielleicht verhindern, wenn Sie zu
   drastische Massnahmen zum Schutz Ihres Systems verwenden.

     --------------------------------------------------------------

  14.3.6. U:berpru:fen der Integrita:t von Dateien

   Sie ko:nnen die Systemkonfiguration und die Dateien nur so weit
   schu:tzen, wie es die Benutzbarkeit des Systems nicht
   einschra:nkt. Wenn Sie zum Beispiel mit chflags die Option schg
   auf die meisten Dateien in / und /usr setzen, kann das Ihre Arbeit
   mehr behindern als nu:tzen. Die Massnahme schu:tzt zwar die
   Dateien, schliesst aber auch eine Mo:glichkeit, Vera:nderungen zu
   entdecken, aus. Die letzte Schicht des Sicherheitsmodells - das
   Aufdecken von Einbru:chen - ist sicherlich die wichtigste. Alle
   Sicherheitsmassnahmen sind nichts wert, oder wiegen Sie in
   falscher Sicherheit, wenn Sie nicht in der Lage sind, einen
   mo:glichen Einbruch zu entdecken. Die Ha:lfte der
   Sicherheitsmassnahmen hat die Aufgabe, einen Einbruch zu
   verlangsamen, um es zu ermo:glichen, den Einbrecher auf frischer
   Tat zu ertappen.

   Der beste Weg, einen Einbruch zu entdecken, ist es, nach
   vera:nderten, fehlenden oder unerwarteten Dateien zu suchen. Der
   wiederum beste Weg, nach vera:nderten Dateien zu suchen, ist es,
   die Suche von einem anderen (oft zentralen) besonders geschu:tzten
   System durchzufu:hren. Es ist wichtig, dass Ihre
   Sicherheitsu:berpru:fungen vor einem Angreifer verborgen bleiben
   und daher sind sie auf einem besonders geschu:tzten System gut
   aufgehoben. Um dies optimal auszunutzen, mu:ssen Sie dem besonders
   geschu:tzten System Zugriffsrechte auf die zu schu:tzenden Systeme
   geben. Sie ko:nnen die Dateisysteme der zu schu:tzenden Systeme
   schreibgeschu:tzt fu:r das besonders geschu:tzte System
   exportieren, oder Sie ko:nnen der besonders geschu:tzten Maschine
   SSH auf die anderen Maschinen erlauben, indem Sie SSH
   Schlu:sselpaare installieren. Mit Ausnahme des verursachten
   Netzwerkverkehrs ist die NFS-Methode die am wenigsten sichtbare.
   Sie erlaubt es Ihnen, nahezu unentdeckt die Dateisysteme der
   Clients zu beobachten. Wenn Ihr besonders geschu:tztes System mit
   den Clients u:ber einen Switch verbunden ist, ist die NFS-Methode
   oft das Mittel der Wahl. Wenn das besonders geschu:tzte System
   allerdings mit einem Hub verbunden ist, oder der Zugriff u:ber
   mehrere Router geschieht, ist die NFS-Methode aus der
   Netzwerksicht zu unsicher. In einem solchen Fall ist SSH besser
   geeignet, auch wenn es deutliche Spuren hinterla:sst.

   Wenn das besonders geschu:tzte System lesenden Zugriff auf die
   Clients hat, mu:ssen Sie Skripten schreiben, die die U:berwachung
   durchfu:hren. Wenn Sie die NFS-Methode verwenden, ko:nnen Sie dazu
   einfache Systemwerkzeuge wie find(1) und md5(1) benutzen. Am
   besten berechnen Sie einmal am Tag MD5-Pru:fsummen der Dateien,
   Konfigurationsdateien in /etc und /usr/local/etc sollten o:fter
   u:berpru:ft werden. Wenn Unstimmigkeiten zwischen den auf der
   besonders geschu:tzten Maschine gehaltenen MD5-Pru:fsummen und den
   ermittelten Pru:fsummen festgestellt werden, sollte Ihr System
   einen Systemadministrator benachrichtigen, der den Unstimmigkeiten
   dann nachgehen sollte. Ein gutes Skript u:berpru:ft das System
   auch auf verda:chtige SUID-Programme sowie gelo:schte oder neue
   Dateien in / und /usr.

   Wenn Sie SSH anstelle von NFS benutzen, wird das Erstellen der
   Skripten schwieriger. Sie mu:ssen die Skripten und die Programme
   wie find mit scp auf den Client kopieren. Damit machen Sie die
   U:berpru:fung fu:r einen Angreifer sichtbar. Ausserdem kann der
   SSH-Client auf dem Zielsystem schon kompromittiert sein.
   Zusammenfassend, kann der Einsatz von SSH no:tig sein, wenn Sie
   u:ber ungesicherte Verbindungen arbeiten, aber der Umgang mit
   dieser Methode ist auch sehr viel schwieriger.

   Ein gutes Sicherheitsskript wird auch Dateien von Benutzern, die
   den Zugriff auf ein System ermo:glichen, wie .rhosts, .shosts,
   .ssh/authorized_keys usw., auf Vera:nderungen untersuchen, die
   u:ber die Mo:glichkeiten einer U:berpru:fung mit MD5 (die ja nur
   Vera:nderungen erkennen kann) hinausgehen.

   Wenn Sie u:ber grosse Partitionen verfu:gen, kann es zu lange
   dauern, jede Datei zu u:berpru:fen. In diesem Fall sollten Sie
   beim Einha:ngen des Dateisystems Optionen setzen, die das
   Ausfu:hren von SUID-Programmen verbieten. mount(8) stellt dazu
   nosuid zur Verfu:gung. Sie sollten diese Dateien aber trotzdem
   mindestens einmal die Woche u:berpru:fen, da das Ziel dieser
   Schicht das Aufdecken eines Einbruchs, auch wenn er nicht
   erfolgreich war, ist.

   Die Prozessu:berwachung (siehe accton(8)) des Betriebssystems
   steht ein gu:nstiges Werkzeug zur Verfu:gung, dass sich bei der
   Analyse eines Einbruchs als nu:tzlich erweisen kann. Insbesondere
   ko:nnen Sie damit herausfinden, wie der Einbrecher in das System
   eingedrungen ist, vorausgesetzt die Dateien der
   Prozessu:berwachung sind noch alle intakt.

   Schliesslich sollten die Sicherheitsskripten die Logdateien
   analysieren. Dies sollte so sicher wie mo:glich durchgefu:hrt
   werden, nu:tzlich ist das Schreiben von Logdateien auf entfernte
   Systeme mit syslog. Ein Einbrecher wird versuchen, seine Spuren zu
   verwischen. Die Logdateien sind wichtig fu:r den
   Systemadministrator, da er aus ihnen den Zeitpunkt und die Art des
   Einbruchs bestimmen kann. Eine Mo:glichkeit, die Logdateien
   unvera:ndert aufzuheben, ist es, die Systemkonsole auf einen
   seriellen Port zu legen und die Informationen dort von einer
   gesicherten Maschine auszulesen.

     --------------------------------------------------------------

  14.3.7. Paranoia

   Es schadet nicht, ein bisschen paranoid zu sein. Grundsa:tzlich
   darf ein Systemadministrator jede Sicherheitsmassnahme treffen,
   die die Bedienbarkeit des Systems nicht einschra:nkt. Er kann auch
   Massnahmen treffen, die die Bedienbarkeit einschra:nken, wenn er
   diese vorher genau durchdacht hat. Was noch wichtiger ist: Halten
   Sie sich nicht sklavisch an dieses Dokument, sondern fu:hren Sie
   eigene Massnahmen ein, um nicht einem ku:nftigen Angreifer, der
   auch Zugriff auf dieses Dokument hat, alle Ihre Methoden zu
   verraten.

     --------------------------------------------------------------

  14.3.8. Denial-of-Service Angriffe

   Dieser Abschnitt behandelt Denial-of-Service Angriffe (DoS). Ein
   DoS-Angriff findet typischerweise auf der Paketebene statt.
   Wa:hrend Sie nicht viel gegen moderne Angriffe mit falschen
   Paketen, die das Netzwerk sa:ttigen, ausrichten ko:nnen, ko:nnen
   Sie sehr wohl den Schaden begrenzen, den solche Angriffe
   verursachen ko:nnen und insbesondere einen kompletten
   Serverausfall verhindern, indem Sie beispielsweise folgende
   Vorkehrungen treffen:

    1. Begrenzen von fork() Aufrufen.

    2. Begrenzen von Sprungbrett-Angriffen (ICMP response Angriffen,
       ping zu Broadcast-Adressen usw.).

    3. Kernel-Cache fu:r Routen.

   Ein ha:ufiger DoS-Angriff gegen forkende Server versucht den
   Server dazu zu bringen, solange neue Prozesse zu starten, bis das
   System den ganzen Speicher und alle Dateideskriptoren verbraucht
   hat, was dann zu einem Ausfall des Servers fu:hrt. inetd(8)
   besitzt einige Optionen, um diese Art von Angriffen zu begrenzen.
   Beachten Sie bitte, dass es mo:glich ist, einen Ausfall einer
   Maschine zu verhindern, doch ist es generell nicht mo:glich, den
   Ausfall eines Dienstes bei dieser Art von Angriffen zu verhindern.
   Lesen Sie sich bitte die Manualpages von inetd gut durch und
   achten Sie speziell auf die Optionen -c, -C und -R. Angriffe mit
   gefa:lschten IP-Adressen umgehen -C, so dass normalerweise eine
   Kombination der Optionen benutzt werden muss. Manche Server, die
   nicht von inetd gestartet werden, besitzen Optionen, um den Start
   u:ber fork() einzuschra:nken.

   Sendmail besitzt die Option -OMaxDaemonChildren, die besser als
   die eingebauten Optionen zur Begrenzung der Systemauslastung
   funktioniert. Sie sollten beim Start von sendmail
   MaxDaemonChildren so hoch setzen, dass Sie die erwartete
   Auslastung gut abfangen ko:nnen. Allerdings sollten Sie den Wert
   nicht so hoch setzen, dass der Rechner u:ber seine eigenen Fu:sse
   fa:llt. Es ist auch klug, Sendmail im Queue-Modus
   (-ODeliveryMode=queued) laufen zu lassen. Der Daemon (sendmail
   -bd) sollte getrennt von den Queue-La:ufen (sendmail -q15m)
   laufen. Wenn Sie trotzdem eine sofortige Auslieferung der Post
   wu:nschen, ko:nnen Sie die Queue in einem geringeren Intervall,
   etwa -q1m, abarbeiten. Geben Sie fu:r dieses Sendmail aber einen
   vernu:nftigen Wert fu:r MaxDaemonChildren an, um Fehler zu
   verhindern.

   Syslogd kann direkt angegriffen werden. Daher empfehlen wir Ihnen
   unbedingt die Option -s zu benutzen. Sollte das nicht mo:glich
   sein, benutzen Sie bitte -a.

   Vorsicht ist auch mit Diensten geboten, die automatisch eine
   Ru:ckverbindung ero:ffnen, wie der reverse-identd der TCP-Wrapper.
   Diese Funktion der TCP-Wrapper sollten Sie normalerweise nicht
   benutzen.

   Es empfiehlt sich sehr, interne Dienste vor externen Zugriffen
   durch eine Firewall an der Grenze Ihres Netzwerks zu schu:tzen.
   Dahinter steckt mehr die Idee, das Netzwerk vor U:berlastung durch
   Angriffe von aussen zu schu:tzen, als interne Dienste vor einem
   root-Zugriff aus dem Netz zu schu:tzen. Konfigurieren Sie immer
   eine Firewall, die alle Zugriffe blockiert, das heisst blockieren
   Sie alles ausser den Ports A, B, C, D und M-Z. Damit ko:nnen Sie
   Zugriffe auf alle niedrigen Ports blockieren und Zugriffe auf
   spezielle Dienste wie named, wenn Sie den prima:ren Namensdienst
   fu:r eine Zone anbieten, ntalkd oder sendmail erlauben. Wenn Sie
   die Firewall so konfigurieren, das sie in der Voreinstellung alle
   Zugriffe erlaubt, ist es sehr wahrscheinlich, dass Sie vergessen,
   eine Reihe von Diensten zu blockieren bzw. einen internen Dienst
   einfu:hren und dann vergessen die Firewall zu aktualisieren. Sie
   ko:nnen immer die ho:heren Portnummern o:ffnen, ohne die niedrigen
   Portnummern, die nur von root benutzt werden du:rfen, zu
   kompromittieren. Beachten Sie bitte auch, dass es FreeBSD erlaubt,
   die Portnummern, die fu:r dynamische Verbindungen zur Verfu:gung
   stehen, zu konfigurieren. Mit sysctl lassen sich verschiedene
   Bereiche der net.inet.ip.portrange Variablen setzen (eine Liste
   erhalten Sie mit sysctl -a | fgrep portrange). So ko:nnen Sie zum
   Beispiel die Portnummern 4000 bis 5000 fu:r den normalen Bereich
   und die Nummern 49152 bis 65535 fu:r den hohen Bereich vorsehen.
   Dies erleichtert Ihnen die Konfiguration der Firewall, da Sie nun
   Zugriffe auf Ports unterhalb von 4000, mit Ausnahme der Dienste,
   die von aussen erreichbar sein sollen, blockieren ko:nnen.

   Eine andere Form eines DoS-Angriffs nutzt einen Server als
   Sprungbrett, der Server wird dabei so angegriffen, dass seine
   Antworten ihn selber, das lokale Netzwerk oder einen anderen
   Server u:berlasten. Der am ha:ufigsten verwendete Angriff dieser
   Art ist der ICMP ping broadcast Angriff. Der Angreifer fa:lscht
   dazu ping-Pakete, die zu der Broadcast-Adresse Ihres LANs gesendet
   werden, indem er darin als Quelladresse die Adresse des Opfers
   einsetzt. Wenn die Router an der Grenze Ihres Netzwerks
   ping-Pakete auf Broadcast-Adressen nicht abwehren, wird Ihr LAN
   genu:gend Netzwerkverkehr generieren, um das Ziel des Angriffs zu
   u:berlasten. Dies kann besonders effektiv sein, wenn der Angreifer
   diese Methode mit mehreren Dutzend Broadcast-Adressen u:ber
   mehrere Netzwerke einsetzt. Es wurden schon Broadcast-Angriffe mit
   u:ber 120 Megabit pro Sekunde gemessen. Ein zweiter
   Sprungbrett-Angriff wird gegen das Fehlerbehandlungssystem von
   ICMP eingesetzt. Indem ein Angreifer Pakete konstruiert, die eine
   ICMP-Fehlermeldung hervorrufen, kann er das einkommende Netzwerk
   des Servers sa:ttigen und diesen wiederum veranlassen sein
   ausgehendes Netzwerk mit ICMP-Antworten zu sa:ttigen. Diese Art
   des Angriffs kann den kompletten Speicher des Servers aufbrauchen
   und damit den Server stilllegen, insbesondere wenn der Server
   nicht in der Lage ist, die generierten ICMP-Antworten schnell
   genug abzufu:hren. Verwenden Sie die sysctl-Variable
   net.inet.icmp.icmplim, um die Auswirkungen solcher Angriffe zu
   begrenzen. Die letzte weit verbreitete Form von
   Sprungbrett-Angriffen verwendet interne inetd-Dienste wie den UDP
   echo-Dienst. Der Angreifer fa:lscht dazu einfach ein UDP-Paket,
   indem er als Quellport den echo-Port von Server A und als Zielport
   den echo-Port von Server B angibt, wobei beide Server in Ihrem LAN
   stehen. Die beiden Server werden nun dieses Paket zwischen sich
   hin und her schicken. Der Angreifer kann die beiden Server und das
   LAN einfach damit u:berlasten, dass er mehrere Pakete dieser Art
   generiert. A:hnliche Probleme gibt es mit dem internen
   chargen-Port, daher sollten Sie die internen inetd-Testdienste
   abstellen.

   Gefa:lschte IP-Pakete ko:nnen dazu benutzt werden, den
   Kernel-Cache fu:r Routen zu u:berlasten. Schauen Sie sich bitte
   die sysctl-Parameter net.inet.ip.rtexpire, rtminexpire und
   rtmaxcache an. Ein Angriff der gefa:lschte Pakete mit zufa:lligen
   Quelladressen einsetzt, bewirkt, dass der Kernel eine Route im
   Route-Cache anlegt, die Sie sich mit netstat -rna | fgrep W3
   ansehen ko:nnen. Diese Routen verfallen fu:r gewo:hnlich nach 1600
   Sekunden. Wenn der Kernel feststellt, dass die Routingtabelle im
   Cache zu gross geworden ist, wird er dynamisch den Wert von
   rtexpire verringern. Dieser Wert wird aber nie kleiner werden als
   rtminexpire. Daraus ergeben sich zwei Probleme:

    1. Der Kernel reagiert nicht schnell genug, wenn ein Server mit
       einer niedrigen Grundlast plo:tzlich angegriffen wird.

    2. rtminexpire ist nicht klein genug, um einen anhaltenden
       Angriff zu u:berstehen.

   Wenn Ihre Server u:ber eine T3 oder eine noch schnellere Leitung
   mit dem Internet verbunden sind, ist es klug, mit sysctl(8) die
   Werte fu:r rtexpire und rtminexpire ha:ndisch zu setzen. Setzen
   Sie bitte keinen der Werte auf Null, ausser Sie wollen die
   Maschine zum Erliegen bringen. Ein Wert von 2 Sekunden fu:r beide
   Parameter sollte ausreichen, um die Routingtabelle vor einem
   Angriff zu schu:tzen.

     --------------------------------------------------------------

  14.3.9. Anmerkungen zum Zugriff mit Kerberos und SSH

   Es gibt ein paar Punkte, die Sie beachten sollten, wenn Sie
   Kerberos oder SSH einsetzen wollen. Kerberos 5 ist ein
   ausgezeichnetes Authentifizierungsprotokoll. Leider gibt es Fehler
   in den fu:r Kerberos angepassten Versionen von telnet und rlogin,
   die sie ungeeignet fu:r den Umgang mit bina:ren Datenstro:men
   machen. Weiterhin verschlu:sselt Kerberos Ihre Sitzung nicht, wenn
   Sie nicht die -x Option verwenden, mit SSH wird dagegen alles
   verschlu:sselt.

   Ein Problem mit SSH sind Weiterleitungen von Verbindungen. Wenn
   Sie von einer sicheren Maschine, auf der sich Ihre Schlu:ssel
   befinden, eine Verbindung zu einer ungesicherten Maschine
   aufmachen, wird fu:r die Dauer der Sitzung ein Port fu:r
   Weiterleitungen geo:ffnet. Ein Angreifer, der auf der unsicheren
   Maschine Zugang zu root hat, kann diesen Port benutzen, um Zugriff
   auf andere Maschinen zu erlangen, die mit Ihren Schlu:sseln
   zuga:nglich sind.

   Wir empfehlen Ihnen, fu:r die Logins Ihrer Mitarbeiter immer SSH
   zusammen mit Kerberos einzusetzen. Damit reduzieren Sie die
   Abha:ngigkeit von potentiell gefa:hrdeten Schlu:sseln und
   schu:tzen gleichzeitig die Passwo:rter mit Kerberos.
   SSH-Schlu:sselpaare sollten nur fu:r automatisierte Aufgaben von
   einem besonders gesicherten Server eingesetzt werden (Kerberos
   kann fu:r diese Art von Aufgaben nicht eingesetzt werden).
   Weiterhin empfehlen wir Ihnen, das Weiterreichen von Schlu:sseln
   in der SSH-Konfiguration abzustellen bzw. die from=IP/DOMAIN
   Option in authorized_keys zu verwenden, die den Schlu:ssel nur von
   bestimmten Maschinen aus nutzbar macht.

     --------------------------------------------------------------

14.4. DES, Blowfish, MD5, und Crypt

   Teile umgeschrieben und aktualisiert von Bill Swingle.

   Jedem Benutzer eines UNIX Systems ist ein Passwort zugeordnet. Es
   scheint offensichtlich, dass das Passwort nur dem Benutzer und dem
   System bekannt sein muss. Um die Passwo:rter geheim zu halten,
   werden sie mit einer nicht umkehrbaren Hash-Funktion
   verschlu:sselt, das heisst sie ko:nnen leicht verschlu:sselt aber
   nicht entschlu:sselt werden. Was wir gerade als offensichtlich
   dargestellt haben, ist also nicht wahr: Das Betriebssystem kennt
   das Passwort wirklich nicht, es kennt nur das verschlu:sselte
   Passwort. Die einzige Mo:glichkeit, das originale Passwort
   herauszufinden, besteht darin, alle mo:glichen Passwo:rter
   auszuprobieren (brute force Suche).

   Zu der Zeit als UNIX entstanden ist, war die einzig sichere
   Mo:glichkeit Passwo:rter zu verschlu:sseln, leider DES (Data
   Encryption Standard). Fu:r die Einwohner der USA stellte das kein
   Problem dar, aber da der Quellcode von DES nicht aus den USA
   exportiert werden durfte, musste ein Weg gefunden werden, der die
   Gesetze der USA nicht verletzte und gleichzeitig die
   Kompatibilita:t mit anderen UNIX Systemen, die immer noch DES
   benutzten, wahrte.

   Die Lo:sung bestand darin, die Verschlu:sselungsbibliotheken
   aufzuspalten. Benutzer in den USA konnten die DES-Bibliotheken
   installieren und nutzen. In der Grundeinstellung benutzt FreeBSD
   MD5 als Verschlu:sselungsmethode, das exportiert werden durfte und
   damit von jedem genutzt werden konnte. Es wird davon ausgegangen,
   dass MD5 sicherer als DES ist, so dass DES nur aus
   Kompatibilita:tsgru:nden installiert werden sollte.

     --------------------------------------------------------------

  14.4.1. Erkennen der Verschlu:sselungsmethode

   Derzeit werden DES-, MD5- und Blowfish-Hash-Funktionen
   unterstu:tzt. In der Voreinstellung benutzt FreeBSD die
   MD5-Hash-Funktion.

   Sie ko:nnen leicht herausfinden, welche Verschlu:sselungsmethode
   von FreeBSD verwendet wird. Ein Weg besteht darin, die
   verschlu:sselten Passwo:rter in /etc/master.passwd zu untersuchen.
   Passwo:rter, die mit MD5 verschlu:sselt wurden, sind la:nger als
   die mit DES verschlu:sselten und beginnen mit den Zeichen $1$.
   Passwo:rter, die mit $2a$ anfangen, wurden mit der
   Blowfish-Funktion verschlu:sselt. DES Passwo:rter besitzen keine
   offensichtlichen Merkmale, an denen sie identifiziert werden
   ko:nnten. Sie sind aber ku:rzer als MD5-Passwo:rter und sind in
   einem 64 Zeichen umfassenden Alphabet kodiert, das das $-Zeichen
   nicht entha:lt. Ein relativ kurzes Passwort, das nicht mit einem
   $-Zeichen anfa:ngt, ist wahrscheinlich ein DES-Passwort.

   Die Verschlu:sselungsmethode fu:r neue Passwo:rter wird durch
   passwd_format in /etc/login.conf bestimmt. Der Wert dieser
   Variablen kann entweder des, md5 oder blf sein. Na:heres schlagen
   Sie bitte in login.conf(5) nach.

     --------------------------------------------------------------

14.5. Einmalpasswo:rter

   In der Voreinstellung unterstu:tzt FreeBSD OPIE (One-time
   Passwords in Everything, das in der Regel MD5-Hash-Funktionen
   einsetzt.

   Im Folgenden werden drei verschiedene Passwo:rter verwendet. Das
   erste ist Ihr normales System- oder Kerberos-Passwort und wird im
   Folgenden "System-Passwort" genannt. Das zweite ist das
   Einmalpasswort, das bei OPIE von opiekey generiert und von
   opiepasswd und dem Login-Programm akzeptiert wird. Im Folgenden
   wird es "Einmalpasswort" genannt. Das dritte Passwort ist das
   geheime Passwort, das Sie mit opiekey (manchmal auch mit
   opiepasswd) zum Erstellen der Einmalpasswo:rter verwenden. Dieses
   Passwort werden wir im Folgenden "geheimes Passwort" oder schlicht
   "Passwort" nennen.

   Das geheime Passwort steht in keiner Beziehung zu Ihrem
   System-Passwort, beide ko:nnen gleich sein, obwohl das nicht
   empfohlen wird. Die geheimen Passwo:rter von OPIE sind nicht auf
   eine La:nge von 8 Zeichen, wie alte UNIX Passwo:rter[10],
   beschra:nkt. Sie ko:nnen so lang sein, wie Sie wollen.
   Gebra:uchlich sind Passwo:rter, die sich aus sechs bis sieben
   Wo:rtern zusammensetzen. Das OPIE-System arbeitet gro:sstenteils
   unabha:ngig von den auf UNIX-Systemen verwendeten
   Passwort-Mechanismen.

   Neben dem Passwort gibt es noch zwei Werte, die fu:r OPIE wichtig
   sind. Der erste ist der "Initialwert" (engl. seed oder key), der
   aus zwei Buchstaben und fu:nf Ziffern besteht. Der zweite Wert ist
   der "Iterationsza:hler", eine Zahl zwischen 1 und 100. OPIE
   generiert das Einmalpasswort, indem es den Initialwert und das
   geheime Passwort aneinander ha:ngt und dann die MD5-Hash-Funktion
   so oft, wie durch den Iterationsza:hler gegeben, anwendet. Das
   Ergebnis wird in sechs englische Wo:rter umgewandelt, die Ihr
   Einmalpasswort sind. Das Authentifizierungssystem (meistens PAM)
   merkt sich das zuletzt benutzte Einmalpasswort und Sie sind
   authentisiert, wenn die Hash-Funktion des Passworts dem vorigen
   Passwort entspricht. Da nicht umkehrbare Hash-Funktionen benutzt
   werden, ist es unmo:glich, aus einem bekannten Passwort weitere
   gu:ltige Einmalpasswo:rter zu berechnen. Der Iterationsza:hler
   wird nach jeder erfolgreichen Anmeldung um eins verringert und
   stellt so die Synchronisation zwischen Benutzer und Login-Programm
   sicher. Wenn der Iterationsza:hler den Wert 1 erreicht, muss OPIE
   neu initialisiert werden.

   In jedem System werden mehrere Programme verwendet, die weiter
   unten beschrieben werden. opiekey verlangt einen
   Iterationsza:hler, einen Initialwert und ein geheimes Passwort.
   Daraus generiert es ein Einmalpasswort oder eine Liste von
   Einmalpasswo:rtern. opiepasswd wird dazu benutzt, um OPIE zu
   initialisieren. Mit diesem Programm ko:nnen Passwo:rter,
   Iterationsza:hler oder Initialwerte gea:ndert werden. Als
   Parameter verlangt es entweder ein geheimes Passwort oder einen
   Iterationsza:hler oder einen Initialwert und ein Einmalpasswort.
   opieinfo hingegen gibt den momentanen Iterationsza:hler und
   Initialwert eines Benutzers aus. Diese werden aus der Datei
   /etc/opiekeys ermittelt.

   Im Folgenden werden vier verschiedene Ta:tigkeiten beschrieben.
   Zuerst wird erla:utert, wie opiepasswd u:ber eine gesicherte
   Verbindung eingesetzt werden, um Einmalpasswo:rter das erste Mal
   zu konfigurieren oder das Passwort oder den Initialwert zu
   a:ndern. Als na:chstes wird erkla:rt, wie opiepasswd u:ber eine
   nicht gesicherte Verbindung, oder zusammen mit opiekey u:ber eine
   gesicherte Verbindung eingesetzt werden, um dasselbe zu erreichen.
   Als drittes wird beschrieben, wie opiekey genutzt wird, um sich
   u:ber eine nicht gesicherte Verbindung anzumelden. Die vierte
   Ta:tigkeit beschreibt, wie mit opiekey eine Reihe von Schlu:sseln
   generiert wird, die Sie sich aufschreiben oder ausdrucken ko:nnen,
   um sich von Orten anzumelden, die u:ber keine gesicherten
   Verbindungen verfu:gen.

     --------------------------------------------------------------

  14.5.1. Einrichten u:ber eine gesicherte Verbindung

   Um OPIE erstmals zu initalisieren, rufen Sie opiepasswd auf:

 % opiepasswd -c
 [grimreaper] ~ $ opiepasswd -f -c
 Adding unfurl:
 Only use this method from the console; NEVER from remote. If you are using
 telnet, xterm, or a dial-in, type ^C now or exit with no password.
 Then run opiepasswd without the -c parameter.
 Using MD5 to compute responses.
 Enter new secret pass phrase:
 Again new secret pass phrase:
 ID unfurl OTP key is 499 to4268
 MOS MALL GOAT ARM AVID COED
      

   Nach der Aufforderung Enter new secret pass phrase: oder Enter
   secret password: geben Sie bitte Ihr Passwort ein. Dies ist nicht
   das Passwort, mit dem Sie sich anmelden, sondern es wird genutzt,
   um das Einmalpasswort zu generieren. Die Zeile, die mit "ID"
   anfa:ngt, entha:lt Ihren Login-Namen, den Iterationsza:hler und
   den Initialwert. Diese Werte mu:ssen Sie sich nicht behalten, da
   das System sie zeigen wird, wenn Sie sich anmelden. In der letzten
   Zeile steht das Einmalpasswort, das aus diesen Parametern und
   Ihrem geheimen Passwort ermittelt wurde. Wenn sie sich jetzt
   wieder anmelden wollten, dann mu:ssten Sie dieses Passwort
   benutzen.

     --------------------------------------------------------------

  14.5.2. Einrichten u:ber eine nicht gesicherte Verbindung

   Um Einmalpasswo:rter u:ber eine nicht gesicherte Verbindung
   einzurichten, oder das geheime Passwort zu a:ndern, mu:ssen Sie
   u:ber eine gesicherte Verbindung zu einer Stelle verfu:gen, an der
   Sie opiekey ausfu:hren. Dies kann etwa die Eingabeaufforderung auf
   einer Maschine, der Sie vertrauen, sein. Zudem mu:ssen Sie einen
   Iterationsza:hler vorgeben (100 ist ein guter Wert) und einen
   Initialwert wa:hlen, wobei Sie auch einen zufa:llig generierten
   benutzen ko:nnen. Benutzen Sie opiepasswd u:ber die ungesicherte
   Verbindung zu der Maschine, die Sie einrichten wollen:

 % opiepasswd

 Updating unfurl:
 You need the response from an OTP generator.
 Old secret pass phrase:
         otp-md5 498 to4268 ext
         Response: GAME GAG WELT OUT DOWN CHAT
 New secret pass phrase:
         otp-md5 499 to4269
         Response: LINE PAP MILK NELL BUOY TROY

 ID mark OTP key is 499 gr4269
 LINE PAP MILK NELL BUOY TROY
      

   Dru:cken Sie Return, um die Vorgabe fu:r den Initialwert zu
   akzeptieren. Bevor Sie nun das Zugriffspasswort (engl. access
   password) eingeben, rufen Sie u:ber die gesicherte Verbindung
   opikey mit denselben Parametern auf:

 % opiekey 498 to4268
 Using the MD5 algorithm to compute response.
 Reminder: Don't use opiekey from telnet or dial-in sessions.
 Enter secret pass phrase:
 GAME GAG WELT OUT DOWN CHAT

   Gehen Sie nun zuru:ck zu der nicht gesicherten Verbindung und
   geben dort das eben generierte Einmalpasswort ein.

     --------------------------------------------------------------

  14.5.3. Erzeugen eines einzelnen Einmalpasswortes

   Nachdem Sie OPIE eingerichtet haben, werden Sie beim na:chsten
   Anmelden wie folgt begru:sst:

 % telnet example.com
 Trying 10.0.0.1...
 Connected to example.com
 Escape character is '^]'.

 FreeBSD/i386 (example.com) (ttypa)

 login: <username>
 otp-md5 498 gr4269 ext
 Password:

   Anmerkung: OPIE besitzt eine nu:tzliche Eigenschaft, die hier
   nicht gezeigt ist. Wenn Sie an der Eingabeaufforderung Return
   eingeben, wird die echo-Funktion eingeschaltet, das heisst Sie
   sehen, was Sie tippen. Dies ist besonders nu:tzlich, wenn Sie ein
   generiertes Passwort von einem Ausdruck abtippen mu:ssen.

   Jetzt mu:ssen Sie Ihr Einmalpasswort generieren, um der
   Anmeldeaufforderung nachzukommen. Dies muss auf einem gesicherten
   System geschehen, auf dem Sie oder opiekey ausfu:hren ko:nnen.
   Dieses Programm gibt es u:brigens auch fu:r DOS, Windows und
   Mac OS. Es beno:tigt den Iterationsza:hler sowie den Initialwert
   als Parameter, die Sie mittels "cut-and-paste" direkt von der
   Login-Aufforderung nehmen ko:nnen.

   Auf dem sicheren System:

 % opiekey 498 to4268
 Using the MD5 algorithm to compute response.
 Reminder: Don't use opiekey from telnet or dial-in sessions.
 Enter secret pass phrase:
 GAME GAG WELT OUT DOWN CHAT

   Mit dem jetzt generierten Einmalpasswort ko:nnen Sie die
   Anmeldeprozedur fortsetzen.

     --------------------------------------------------------------

  14.5.4. Erzeugen von mehreren Einmalpasswo:rtern

   Manchmal mu:ssen Sie sich an Orte begeben, an denen Sie keinen
   Zugriff auf eine sichere Maschine oder eine sichere Verbindung
   haben. In diesem Fall ko:nnen Sie vorher mit opiekey einige
   Einmalpasswo:rter generieren, die Sie sich ausdrucken und
   mitnehmen ko:nnen. Zum Beispiel:

 % opiekey -n 5 30 zz99999
 Using the MD5 algorithm to compute response.
 Reminder: Don't use opiekey from telnet or dial-in sessions.
 Enter secret pass phrase: <secret password>
 26: JOAN BORE FOSS DES NAY QUIT
 27: LATE BIAS SLAY FOLK MUCH TRIG
 28: SALT TIN ANTI LOON NEAL USE
 29: RIO ODIN GO BYE FURY TIC
 30: GREW JIVE SAN GIRD BOIL PHI

   Mit -n 5 fordern Sie fu:nf Passwo:rter der Reihe nach an. Der
   letzte Iterationsza:hler wird durch 30 gegeben. Beachten Sie
   bitte, dass die Passwo:rter in der umgekehrten Reihenfolge, in der
   sie zu benutzen sind, ausgeben werden. Wenn Sie wirklich paranoid
   sind, schreiben Sie sich jetzt die Passwo:rter auf, ansonsten
   drucken Sie sie mit lpr aus. Beachten Sie, dass jede Zeile den
   Iterationsza:hler und das Einmalpasswort zeigt, trotzdem finden
   Sie es vielleicht hilfreich, eine Zeile nach Gebrauch
   durchzustreichen.

     --------------------------------------------------------------

  14.5.5. Einschra:nken der Benutzung von System-Passwo:rtern

   OPIE kann die Verwendung von System-Passwo:rtern abha:ngig von der
   Quell-IP-Adresse einschra:nken. Die dazu no:tigen Einstellungen
   werden in der Datei /etc/opieaccess vorgenommen, die bei der
   Installation des Systems automatisch erzeugt wird. Weitere
   Informationen u:ber diese Datei und Sicherheitshinweise zu ihrer
   Verwendung entnehmen Sie bitte der Hilfeseite opieaccess(5).

   Die Datei opieaccess ko:nnte beispielsweise die folgende Zeile
   enthalten:

 permit 192.168.0.0 255.255.0.0

   Diese Zeile erlaubt es Benutzern, die sich von einer der
   angegebenen Quell-IP-Adressen anmelden, ihr System-Passwort zu
   verwenden. Beachten Sie bitte, dass eine Quell-IP-Adresse leicht
   gefa:lscht werden kann.

   Findet sich in opieaccess kein passender Eintrag, muss die
   Anmeldung mit OPIE erfolgen.

     --------------------------------------------------------------

14.6. TCP-Wrapper

   Beigetragen von Tom Rhodes.

   Wahrscheinlich hat jeder, der inetd(8) kennt, schon mal von den
   TCP-Wrappern geho:rt. Die wenigsten erkennen den vollen Nutzen der
   TCP-Wrapper in einer Netzumgebung. Es scheint, dass die meisten
   Leute Netzverbindungen mit einer Firewall absichern wollen. Auch
   wenn eine Firewall ein ma:chtiges Instrument ist, gibt es Sachen,
   die eine Firewall nicht kann. Eine Firewall kann beispielsweise
   keine Nachricht an den Verbindungsursprung senden. Genau das und
   mehr ko:nnen aber die TCP-Wrapper. Im Folgenden werden die
   Funktionen der TCP-Wrapper und Beispiele fu:r deren Konfiguration
   vorgestellt.

   Die TCP-Wrapper erweitern die Steuerungsmo:glichkeiten, die inetd
   u:ber die Dienste unter seiner Kontrolle hat. Beispielsweise
   ko:nnen Verbindungen protokolliert, Nachrichten zuru:ckgesandt
   oder nur interne Verbindungen angenommen werden. Die TCP-Wrapper
   bieten nicht nur eine weitere Sicherheitsschicht, die teilweise
   auch von Firewalls geboten wird, sie bieten daru:ber hinaus
   Funktionen zur Steuerung von Verbindungen, die eine Firewall nicht
   bietet.

   Die erweiterten Funktionen der TCP-Wrapper sind kein
   Firewall-Ersatz. Sie sollten zusammen mit einer Firewall und
   anderen Sicherheitsvorkehrungen eingesetzt werden. Die TCP-Wrapper
   sind eine weitere Sicherheitsschicht zum Schutz eines Systems.

   Da die Wrapper die Funktion von inetd erweitern, wird im Folgenden
   vorausgesetzt, dass Sie den Abschnitt u:ber die
   inetd-Konfiguration schon gelesen haben.

     Anmerkung: Streng genommen handelt es sich bei den von inetd(8)
     gestarteten Programmen nicht um "Daemonen". Da sich diese
     Bezeichnung aber eingebu:rgert hat, wird sie auch in diesem
     Abschnitt verwendet.

     --------------------------------------------------------------

  14.6.1. TCP-Wrapper einrichten

   Um die TCP-Wrapper unter FreeBSD zu benutzen, muss nur der inetd
   aus rc.conf mit den voreingestellten Optionen -Ww gestartet
   werden. Die Konfigurationsdatei /etc/hosts.allow darf keine Fehler
   enthalten; falls doch, werden die Fehler mit syslogd(8)
   protokolliert.

     Anmerkung: Im Gegensatz zu anderen Implementationen der
     TCP-Wrapper wird vom Gebrauch der Datei hosts.deny abgeraten.
     Die Konfiguration sollte sich vollsta:ndig in der Datei
     /etc/hosts.allow befinden.

   In der einfachsten Konfiguration werden Dienste abha:ngig vom
   Inhalt der Datei /etc/hosts.allow erlaubt oder gesperrt. Unter
   FreeBSD wird in der Voreinstellung jeder von inetd gestartete
   Dienst erlaubt. Sehen wir uns zuna:chst die Grundkonfiguration an.

   Eine Konfigurationszeile ist wie folgt aufgebaut: Dienst : Adresse
   : Aktion. Dienst ist der von inetd gestartete Dienst (auch Daemon
   genannt). Die Adresse kann ein gu:ltiger Rechnername, eine
   IP-Adresse oder eine IPv6-Adresse in Klammern ([ ]) sein. Der Wert
   allow im Feld Aktion erlaubt Zugriffe, der Wert deny verbietet
   Zugriffe. Die Zeilen in hosts.allow werden fu:r jede Verbindung
   der Reihe nach abgearbeitet. Trifft eine Zeile auf eine Verbindung
   zu, wird die entsprechende Aktion ausgefu:hrt und die Abarbeitung
   ist beendet.

   Es gibt noch weitere Konfigurationsoptionen, die gleich erla:utert
   werden. Das bisher Gesagte reicht, um eine einfache Regel
   aufzustellen. Wenn Sie einkommende POP3-Verbindungen fu:r den
   Dienst mail/qpopper erlauben wollen, erweitern Sie hosts.allow um
   die nachstehende Zeile:

 # This line is required for POP3 connections:
 qpopper : ALL : allow

   Nachdem Sie die Zeile hinzugefu:gt haben, muss der inetd neu
   gestartet werden. Sie ko:nnen dazu das Kommando kill(1) verwenden
   oder /etc/rc.d/inetd restart ausfu:hren.

     --------------------------------------------------------------

  14.6.2. Erweiterte Konfiguration der TCP-Wrapper

   Die TCP-Wrapper besitzen weitere Optionen, die bestimmen, wie
   Verbindungen behandelt werden. In einigen Fa:llen ist es gut, wenn
   bestimmten Rechnern oder Diensten eine Nachricht geschickt wird.
   In anderen Fa:llen soll vielleicht der Verbindungsaufbau
   protokolliert oder eine E-Mail an einen Administrator versandt
   werden. Oder ein Dienst soll nur fu:r das lokale Netz
   bereitstehen. Dies alles ist mit so genannten Wildcards,
   Metazeichen und der Ausfu:hrung externer Programme mo:glich und
   wird in den na:chsten zwei Abschnitten erla:utert.

     --------------------------------------------------------------

    14.6.2.1. Externe Kommandos ausfu:hren

   Stellen Sie sich vor, eine Verbindung soll verhindert werden und
   gleichzeitig soll demjenigen, der die Verbindung aufgebaut hat,
   eine Nachricht geschickt werden. Auf welche Art mu:ssen die
   TCP-Wrapper konfiguriert werden? Die Option twist fu:hrt beim
   Verbindungsaufbau ein Kommando aus. In der Datei hosts.allow ist
   ein Beispiel fu:r diese Option enthalten:

 # Alle anderen Dienste sind geschu:tzt
 ALL : ALL \
         : severity auth.info \
         : twist /bin/echo "You are not welcome to use %d from %h."

   Fu:r jeden Dienst, der nicht vorher in der Datei hosts.allow
   konfiguriert wurde, wird die Meldung "You are not allowed to use
   daemon from hostname." zuru:ckgegegeben. Dies ist besonders
   nu:tzlich, wenn Sie die Gegenstelle sofort benachrichtigen wollen,
   nachdem die Verbindung getrennt wurde. Beachten Sie, dass der Text
   der Meldung in Anfu:hrungszeichen (") stehen muss, es gibt keine
   Ausnahmen zu dieser Regel.

     Warnung: Ein so konfigurierter Server ist anfa:llig fu:r
     Denial-of-Service-Angriffe. Ein Angreifer kann die gesperrten
     Dienste mit Verbindungsanfragen u:berfluten.

   Um einem Denial-of-Service-Angriff zu entgehen, benutzen Sie die
   Option spawn. Wie die Option twist verbietet spawn die Verbindung
   und fu:hrt externe Kommandos aus. Allerdings sendet die Option
   spawn der Gegenstelle keine Ru:ckmeldung. Sehen Sie sich die
   nachstehende Konfigurationsdatei an:

 # Verbindungen von example.com sind gesperrt:
 ALL : .example.com \
         : spawn (/bin/echo %a from %h attempted to access %d >> \
           /var/log/connections.log) \
         : deny

   Damit sind Verbindungen von der Domain *.example.com gesperrt.
   Jeder Verbindungsaufbau wird zudem in der Datei
   /var/log/connections.log protokolliert. Das Protokoll entha:lt den
   Rechnernamen, die IP-Adresse und den Dienst, der angesprochen
   wurde.

   In der Konfigurationsdatei wurde beispielsweise das Metazeichen %a
   verwendet. Es gibt weitere Metazeichen, die in der Hilfeseite
   hosts_access(5) beschrieben werden.

     --------------------------------------------------------------

    14.6.2.2. Wildcards

   Bisher verwendeten die Beispiele immer die Wildcard ALL. Die
   Wildcard ALL passt beispielsweise auf jeden Dienst, jede Domain
   oder jede IP-Adresse. Eine andere Wildcard ist PARANOID. Sie passt
   auf jeden Rechner dessen IP-Adresse mo:glicherweise gefa:lscht
   ist. Dies ist dann der Fall, wenn der Verbindungsaufbau von einer
   IP-Adresse erfolgt, die nicht zu dem u:bermittelten Rechnernamen
   passt. Fu:r solche Fa:lle werden mit der Wildcard PARANOID
   Aktionen festgelegt, beispielsweise:

 # Block possibly spoofed requests to sendmail:
 sendmail : PARANOID : deny

   In diesem Beispiel werden alle Verbindungen zu sendmail verboten,
   die von einer IP-Adresse ausgehen, die nicht zum Rechnernamen
   passt.

     Achtung: Die Wildcard PARANOID kann einen Dienst unbrauchbar
     machen, wenn der Client oder der Server eine fehlerhafte
     DNS-Konfiguration besitzt. Setzen Sie die Wildcard bitte
     umsichtig ein.

   Weiteres u:ber Wildcards und deren Funktion lesen Sie bitte in der
   Hilfeseite hosts_access(5) nach.

   In der Voreinstellung sind alle Dienste erlaubt. Damit die
   gezeigten Beispiele funktionieren, mu:ssen Sie die erste
   Konfigurationszeile in der Datei hosts.allow auskommentieren.

     --------------------------------------------------------------

14.7. KerberosIV

   Beigesteuert von Mark Murray. Basiert auf einem Beitrag von Mark
   Dapoz.

   Kerberos ist ein zusa:tzliches Netzwerkprotokoll, das es Benutzern
   erlaubt, sich u:ber einen sicheren Server zu authentifizieren.
   Dienste wie rlogin, rcp oder das sichere Kopieren von Dateien
   zwischen Systemen und andere risikoreiche Ta:tigkeiten werden
   durch Kerberos erheblich sicherer und kontrollierbarer.

   Die folgende Anleitung kann nur als Wegweiser dazu dienen, wie Sie
   Kerberos fu:r FreeBSD konfigurieren. Eine komplette Beschreibung
   des Systems finden Sie in den entsprechenden Hilfeseiten.

     --------------------------------------------------------------

  14.7.1. Installation von KerberosIV

   Kerberos ist eine optionale Komponente von FreeBSD. Am leichtesten
   installieren Sie die Software, wenn Sie bei der ersten
   Installation von FreeBSD in sysinstall die Distribution krb4 oder
   krb5 auswa:hlen. Damit installieren Sie entweder die "eBones"
   (KerberosIV) oder "Heimdal" (Kerberos5) Version von Kerberos.
   Beide Versionen werden mit FreeBSD ausgeliefert, da sie ausserhalb
   von den USA oder Kanada entwickelt werden. Sie unterliegen deshalb
   auch nicht den restriktiven Exportbeschra:nkungen der USA und sind
   auch fu:r Bewohner anderer La:nder zuga:nglich.

   Als Alternative steht die MIT Variante von Kerberos in der
   Ports-Sammlung unter security/krb5 zur Verfu:gung.

     --------------------------------------------------------------

  14.7.2. Erstellen der initialen Datenbank

   Die folgenden Schritte werden nur auf dem Kerberos-Server
   durchgefu:hrt. Stellen Sie bitte vorher sicher, dass keine alten
   Kerberos-Datenbanken mehr vorhanden sind. Im Verzeichnis
   /etc/kerberosIV sollten sich nur die folgenden Dateien befinden:

 # cd /etc/kerberosIV
 # ls
 README          krb.conf        krb.realms

   Wenn noch andere Dateien, wie principal.* oder master_key,
   existieren, mu:ssen Sie die alte Kerberos-Datenbank mit
   kdb_destroy lo:schen. Wenn Kerberos nicht la:uft, ko:nnen Sie die
   Dateien auch einfach lo:schen.

   Sie sollten nun die Dateien krb.conf und krb.realms editieren, um
   Ihr Kerberos-Realm zu definieren. Das folgende Beispiel zeigt dies
   fu:r das Realm EXAMPLE.COM auf dem Server grunt.example.com.
   krb.conf sollte wie folgt aussehen:

 # cat krb.conf
 EXAMPLE.COM
 EXAMPLE.COM grunt.example.com admin server
 CS.BERKELEY.EDU okeeffe.berkeley.edu
 ATHENA.MIT.EDU kerberos.mit.edu
 ATHENA.MIT.EDU kerberos-1.mit.edu
 ATHENA.MIT.EDU kerberos-2.mit.edu
 ATHENA.MIT.EDU kerberos-3.mit.edu
 LCS.MIT.EDU kerberos.lcs.mit.edu
 TELECOM.MIT.EDU bitsy.mit.edu
 ARC.NASA.GOV trident.arc.nasa.gov

   Die zusa:tzlich aufgefu:hrten Realms brauchen Sie nicht anzulegen.
   Sie zeigen hier nur, wie man Kerberos dazu bringt, andere Realms
   zu erkennen. Sie ko:nnen Sie also auch weglassen.

   Die erste Zeile benennt das Realm, in dem das System arbeitet. Die
   anderen Zeilen enthalten Realm/Host Paare. Der erste Wert jeder
   Zeile ist das Realm, der zweite Teil ein Host, der in diesem Realm
   "Key Distribution Center" ist. Die Schlu:sselwo:rter admin server
   nach einem Hostnamen bedeuten, dass dieser Host auch einen
   administrativen Datenbankserver zur Verfu:gung stellt. Weitere
   Erkla:rungen zu diesen Begriffen finden Sie in den Kerberos
   Manualpages.

   Als na:chstes muss grunt.example.com in das Realm EXAMPLE.COM
   aufgenommen werden. Des Weiteren erstellen wir einen Eintrag, der
   alle Rechner der Doma:ne .example.com in das Realm EXAMPLE.COM
   aufnimmt. krb.realms sollte danach so aussehen:

 # cat krb.realms
 grunt.example.com EXAMPLE.COM
 .example.com EXAMPLE.COM
 .berkeley.edu CS.BERKELEY.EDU
 .MIT.EDU ATHENA.MIT.EDU
 .mit.edu ATHENA.MIT.EDU

   Die zusa:tzlichen Realms sind hier wieder als Beispiel gedacht.
   Sie ko:nnen sie der Einfachheit halber auch weglassen.

   Die erste Zeile nimmt ein einzelnes System in das Realm auf. Die
   anderen Zeilen zeigen, wie bestimmte Subdoma:nen einem bestimmten
   Realm zugeordnet werden.

   Das folgende Kommando muss nur auf dem Kerberos-Server (oder "Key
   Distribution Center") laufen. Mit kdb_init ko:nnen wir die
   Datenbank anlegen:

 # kdb_init
 Realm name [default  ATHENA.MIT.EDU ]: EXAMPLE.COM
 You will be prompted for the database Master Password.
 It is important that you NOT FORGET this password.

 Enter Kerberos master key:

   Anschliessend muss der Schlu:ssel gespeichert werden, damit Server
   auf der lokalen Maschine darauf zugreifen ko:nnen. Dies geschieht
   mit kstash:

 # kstash

 Enter Kerberos master key:

 Current Kerberos master key version is 1.

 Master key entered. BEWARE!

   Das verschlu:sselte Master-Passwort wurde in
   /etc/kerberosIV/master_key gesichert.

     --------------------------------------------------------------

  14.7.3. Anlegen von Prinzipals

   Fu:r jedes System, das mit Kerberos gesichert werden soll, mu:ssen
   zwei Prinzipale in die Datenbank eingetragen werden. Ihre Namen
   sind kpasswd und rcmd. Beide Prinzipale mu:ssen fu:r jedes System
   angelegt werden, wobei die Instanz der Name des jeweiligen Systems
   ist.

   Die Daemonen kpasswd und rcmd erlauben es anderen Systemen,
   Kerberos-Passwo:rter zu a:ndern und Kommandos wie rcp(1),
   rlogin(1) und rsh(1) laufen zu lassen.

   Beide Eintra:ge werden im Folgenden angelegt:

 # kdb_edit
 Opening database...

 Enter Kerberos master key:

 Current Kerberos master key version is 1.

 Master key entered.  BEWARE!
 Previous or default values are in [brackets] ,
 enter return to leave the same, or new value.

 Principal name: passwd
 Instance: grunt

 <Not found>, Create [y] ? y

 Principal: passwd, Instance: grunt, kdc_key_ver: 1
 New Password:                    <---- geben Sie hier Zufallswerte ein
 Verifying password

 New Password: <---- geben Sie hier Zufallswerte ein

 Random password [y] ? y

 Principal's new key version = 1
 Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?
 Max ticket lifetime (*5 minutes) [ 255 ] ?
 Attributes [ 0 ] ?
 Edit O.K.
 Principal name: rcmd
 Instance: grunt

 <Not found>, Create [y] ?

 Principal: rcmd, Instance: grunt, kdc_key_ver: 1
 New Password:           <---- geben Sie hier Zufallswerte ein
 Verifying password

 New Password:           <---- geben Sie hier Zufallswerte ein

 Random password [y] ?

 Principal's new key version = 1
 Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?
 Max ticket lifetime (*5 minutes) [ 255 ] ?
 Attributes [ 0 ] ?
 Edit O.K.
 Principal name:         <---- geben Sie nichts an, um das Programm zu verlassen

     --------------------------------------------------------------

  14.7.4. Erstellen der Server-Datei

   Wir mu:ssen nun fu:r jede Maschine die Instanzen, die Dienste
   definieren, aus der Datenbank mit ext_srvtab extrahieren. Die
   erstelle Datei muss auf einem sicheren Weg in das Verzeichnis /etc
   jedes Clients kopiert werden. Die Datei muss auf jedem Server und
   auf jedem Client vorhanden sein und ist unabdingbar fu:r Kerberos.

 # ext_srvtab grunt
 Enter Kerberos master key:

 Current Kerberos master key version is 1.

 Master key entered. BEWARE!
 Generating 'grunt-new-srvtab'....

   Das Kommando erzeugt Dateien mit einem tempora:ren Namen, der es
   anderen Servern erlaubt, ihre Datei abzuholen. Die Datei muss auf
   dem entsprechenden System in srvtab umbenannt werden. Auf dem
   originalen System ko:nnen Sie mv(1) benutzen, um die Datei
   umzubenennen:

 # mv grunt-new-srvtab srvtab

   Wenn die Datei fu:r ein Client-System bestimmt ist und das
   Netzwerk nicht sicher ist, kopieren Sie die Datei auf ein
   bewegliches Medium und transportieren sie physikalisch. Kopieren
   Sie die Datei auf den Client in das Verzeichnis /etc. Benennen Sie
   die Datei in srvtab um und setzen Sie schliesslich noch die
   Berechtigungen auf 600:

 # mv grumble-new-srvtab srvtab
 # chmod 600 srvtab

     --------------------------------------------------------------

  14.7.5. Fu:llen der Datenbank

   Wir ko:nnen nun Benutzer in der Datenbank anlegen. Mit kdb_edit
   legen wir zuerst die Benutzerin jane an:

 # kdb_edit
 Opening database...

 Enter Kerberos master key:

 Current Kerberos master key version is 1.

 Master key entered.  BEWARE!
 Previous or default values are in [brackets] ,
 enter return to leave the same, or new value.

 Principal name: jane
 Instance:

 <Not found>, Create [y] ? y

 Principal: jane, Instance: , kdc_key_ver: 1
 New Password:                <---- geben Sie ein sicheres Passwort ein
 Verifying password

 New Password:                <---- wiederholen Sie die Eingabe
 Principal's new key version = 1
 Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?
 Max ticket lifetime (*5 minutes) [ 255 ] ?
 Attributes [ 0 ] ?
 Edit O.K.
 Principal name:            <---- geben Sie nichts an, um das Programm zu verlassen

     --------------------------------------------------------------

  14.7.6. Testen

   Zuerst mu:ssen die Kerberos-Daemonen gestartet sein. Wenn Sie
   /etc/rc.conf richtig angepasst haben, passiert das automatisch,
   wenn Sie booten. Dieser Schritt ist nur auf dem Kerberos-Server
   notwendig, die Clients bekommen alles was sie brauchen aus dem
   /etc/kerberosIV Verzeichnis.

 # kerberos &
 Kerberos server starting
 Sleep forever on error
 Log file is /var/log/kerberos.log
 Current Kerberos master key version is 1.

 Master key entered. BEWARE!

 Current Kerberos master key version is 1
 Local realm: EXAMPLE.COM
 # kadmind -n &
 KADM Server KADM0.0A initializing
 Please do not use 'kill -9' to kill this job, use a
 regular kill instead

 Current Kerberos master key version is 1.

 Master key entered.  BEWARE!

   Jetzt ko:nnen wir mit kinit versuchen, ein Ticket fu:r die ID
   jane, die wir oben angelegt haben, zu erhalten:

 % kinit jane
 MIT Project Athena (grunt.example.com)
 Kerberos Initialization for "jane"
 Password:

   Mit klist ko:nnen Sie sich vergewissern, dass Sie die Tickets auch
   erhalten haben:

 % klist
 Ticket file:    /tmp/tkt245
 Principal:      jane@EXAMPLE.COM

   Issued           Expires          Principal
 Apr 30 11:23:22  Apr 30 19:23:22  krbtgt.EXAMPLE.COM@EXAMPLE.COM

   Versuchen Sie nun das Passwort mit passwd(1) zu a:ndern, um zu
   u:berpru:fen, dass der kpasswd Daemon auch auf der
   Kerberos-Datenbank autorisiert ist:

 % passwd
 realm EXAMPLE.COM
 Old password for jane:
 New Password for jane:
 Verifying password
 New Password for jane:
 Password changed.

     --------------------------------------------------------------

  14.7.7. Anlegen von su Privilegien

   Mit Kerberos kann jedem Benutzer, der root-Privilegien braucht,
   ein eigenes Passwort fu:r su(1) zugewiesen werden. Dies wird
   dadurch erreicht, dass die Instanz eines Prinzipals root ist. Mit
   kbd_edit legen wir nun den Eintrag jane.root in der
   Kerberos-Datenbank an:

 # kdb_edit
 Opening database...

 Enter Kerberos master key:

 Current Kerberos master key version is 1.

 Master key entered.  BEWARE!
 Previous or default values are in [brackets] ,
 enter return to leave the same, or new value.

 Principal name: jane
 Instance: root

 <Not found>, Create [y] ? y

 Principal: jane, Instance: root, kdc_key_ver: 1
 New Password:                    <---- geben Sie ein sicheres Passwort ein
 Verifying password

 New Password:                    <---- geben Sie das Passwort erneut ein

 Principal's new key version = 1
 Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?
 Max ticket lifetime (*5 minutes) [ 255 ] ? 12 <--- Keep this short!
 Attributes [ 0 ] ?
 Edit O.K.
 Principal name:                  <---- geben Sie nichts an, um das Programm zu verlassen

   Versuchen Sie nun, fu:r diesen Prinzipal Tickets zu bekommen:

 # kinit jane.root
 MIT Project Athena (grunt.example.com)
 Kerberos Initialization for "jane.root"
 Password:

   Als na:chstes fu:gen wir den Prinzipal in .klogin von root ein:

 # cat /root/.klogin
 jane.root@EXAMPLE.COM

   Jetzt benutzen wir su(1):

 % su
 Password:

   und kontrollieren, welche Tickets wir haben:

 # klist
 Ticket file:    /tmp/tkt_root_245
 Principal:      jane.root@EXAMPLE.COM

   Issued           Expires          Principal
 May  2 20:43:12  May  3 04:43:12  krbtgt.EXAMPLE.COM@EXAMPLE.COM

     --------------------------------------------------------------

  14.7.8. Weitere Kommandos

   In einem der Beispiele haben wir einen Prinzipal mit dem Namen
   jane und der Instanz root angelegt. Der Prinzipal entstand aus
   einem Benutzer mit dem gleichen Namen. Unter Kerberos ist es
   Standard, dass ein principal.instance der Form username.root es
   dem Benutzer username erlaubt, mit su(1) root zu werden, wenn die
   entsprechenden Eintra:ge in .klogin von root existieren:

 # cat /root/.klogin
 jane.root@EXAMPLE.COM

   Das gilt auch fu:r die .klogin-Datei im Heimatverzeichnis eines
   Benutzers:

 % cat ~/.klogin
 jane@EXAMPLE.COM
 jack@EXAMPLE.COM

   Die Eintra:ge erlauben jedem, der sich im Realm EXAMPLE.COM als
   jane oder jack mit kinit authentifiziert hat, mittels rlogin(1),
   rsh(1) oder rcp(1) auf den Account jane und dessen Dateien
   zuzugreifen.

   Im folgenden Beispiel meldet sich jane mit Kerberos auf grunt an:

 % kinit
 MIT Project Athena (grunt.example.com)
 Password:
 % rlogin grunt
 Last login: Mon May  1 21:14:47 from grumble
 Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
         The Regents of the University of California.   All rights reserved.

 FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995

   Im folgenden Beispiel wurde der Prinzipal jack mit einer Instanz
   null angelegt. Mit der obigen .klogin-Datei kann er sich nun auf
   derselben Maschine als jane anmelden:

 % kinit
 % rlogin grunt -l jane
 MIT Project Athena (grunt.example.com)
 Password:
 Last login: Mon May  1 21:16:55 from grumble
 Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
         The Regents of the University of California.   All rights reserved.
 FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995

     --------------------------------------------------------------

14.8. Kerberos5

   Beigetragen von Tillman Hodgson. Beruht auf einem Beitrag von Mark
   Murray.

   Das Basissystem entha:lt ab FreeBSD 5.1 nur noch Kerberos5. Die
   Konfiguration von Kerberos5 ist der Konfiguration von KerberosIV
   sehr a:hnlich. Wenn Sie KerberosIV beno:tigen, installieren Sie
   den Port security/krb4. Der folgende Abschnitt beschreibt
   ausschliesslich Kerberos5 fu:r FreeBSD-Releases ab 5.0.

   Kerberos ist ein Netzwerk-Protokoll, das Benutzer mithilfe eines
   sicheren Servers authentifiziert. Mit Risiken behaftete Dienste,
   wie das Anmelden an entfernten Systemen oder das Kopieren von
   Daten auf entfernte Systeme, werden durch Kerberos erheblich
   sicherer und lassen sich leichter steuern.

   Kerberos hat eine Aufgabe: Die sichere Pru:fung der Identita:t
   eines Benutzers (Authentifizierung) u:ber das Netzwerk. Das System
   u:berpru:ft weder die Berechtigungen der Benutzer (Autorisierung),
   noch verfolgt es die durchgefu:hrten Aktionen (Audit). Daher
   sollte Kerberos zusammen mit anderen Sicherheits-Systemen
   eingesetzt werden, die diese Funktionen bereitstellen. Die Daten
   einer Kommunikation ko:nnen verschlu:sselt werden, nachdem die
   Kommunikationspartner mit Kerberos ihre Identita:t gepru:ft haben.

   Die folgenden Anweisungen beschreiben, wie Sie das mit FreeBSD
   gelieferte Kerberos einrichten. Eine vollsta:ndige Beschreibung
   des Systems entnehmen Sie bitte den entsprechenden Hilfeseiten.

   Die Beschreibung der Kerberos-Installation benutzt folgende
   Namensra:ume:

     * Die DNS-Domain (Zone) heisst example.org.

     * Das Kerberos-Realm heisst EXAMPLE.ORG.

     Anmerkung: Benutzen Sie echte Domain-Namen, wenn Sie Kerberos
     einrichten. Damit vermeiden Sie DNS-Probleme und stellen die
     Zusammenarbeit mit anderen Kerberos-Realms sicher.

     --------------------------------------------------------------

  14.8.1. Geschichte

   Das MIT entwickelte Kerberos, um Sicherheitsprobleme auf dem
   Netzwerk zu lo:sen. Das Kerberos-Protokoll verwendet starke
   Kryptographie, sodass ein Server die Identita:t eines Clients (der
   umgekehrte Vorgang ist auch mo:glich) u:ber ein unsicheres
   Netzwerk feststellen kann.

   Der Begriff Kerberos wird sowohl fu:r das Protokoll als auch fu:r
   Programme verwendet, die Kerberos benutzen (wie Kerberos-Telnet).
   Die aktuelle Protokollversion ist 5 und wird in RFC 1510
   beschrieben.

   Mehrere Implementierungen des Protokolls stehen frei zur
   Verfu:gung und decken viele Betriebssysteme ab. Das Massachusetts
   Institute of Technology (MIT), an dem Kerberos urspru:nglich
   entwickelt wurde, entwickelt seine Kerberos-Version weiter. In den
   USA wird diese Version ha:ufig eingesetzt, unterlag aber
   Export-Beschra:nkungen, da sie in den USA entwickelt wurde. Die
   MIT-Version von Kerberos befindet sich im Port security/krb5.
   Heimdal ist eine weitere Implementierung der Protokollversion 5.
   Sie wurde ausserhalb der USA entwickelt und unterliegt daher
   keinen Export-Beschra:nkungen. Heimdal-Kerberos befindet sich im
   Port security/heimdal und das Basissystem von FreeBSD entha:lt
   eine minimale Installation von Heimdal.

   Um mo:glichst viele Benutzer anzusprechen, verwenden die folgenden
   Beispiele die in FreeBSD enthaltene Heimdal-Distribution.

     --------------------------------------------------------------

  14.8.2. Das Heimdal KDC einrichten

   Kerberos authentifiziert Benutzer an einer zentralen Stelle: dem
   Key Distribution Center (KDC). Das KDC verteilt Tickets, mit denen
   ein Dienst die Identita:t eines Benutzers feststellen kann. Alle
   Mitglieder eines Kerberos-Realms vertrauen dem KDC, daher gelten
   fu:r das KDC erho:hte Sicherheitsanforderungen.

   Obwohl das KDC wenig Ressourcen eines Rechners beno:tigt, sollte
   es wegen der Sicherheitsanforderungen auf einem separaten Rechner
   installiert werden.

   Das KDC wird in /etc/rc.conf wie folgt aktiviert:

 kerberos5_server_enable="YES"
 kadmind5_server_enable="YES"

   Danach wird die Konfigurationsdatei von Kerberos, /etc/krb5.conf,
   erstellt:

 [libdefaults]
     default_realm = EXAMPLE.ORG
 [realms]
     EXAMPLE.ORG = {
         kdc = kerberos.example.org
         admin_server = kerberos.example.org
     }
 [domain_realm]
     .example.org = EXAMPLE.ORG

   Diese Einstellungen setzen voraus, dass der voll qualifizierte
   Name des KDCs kerberos.example.org ist. Wenn Ihr KDC einen anderen
   Namen hat, mu:ssen Sie in der DNS-Zone einen Alias-Eintrag
   (CNAME-Record) fu:r das KDC hinzufu:gen.

     Anmerkung: Auf grossen Netzwerken mit einem ordentlich
     konfigurierten BIND DNS-Server kann die Datei verku:rzt werden:

 [libdefaults]
       default_realm = EXAMPLE.ORG

     Die Zonendatei von example.org muss dann die folgenden Zeilen
     enthalten:

 _kerberos._udp      IN  SRV     01 00 88 kerberos.example.org.
 _kerberos._tcp      IN  SRV     01 00 88 kerberos.example.org.
 _kpasswd._udp       IN  SRV     01 00 464 kerberos.example.org.
 _kerberos-adm._tcp  IN  SRV     01 00 749 kerberos.example.org.
 _kerberos           IN  TXT     EXAMPLE.ORG

     Anmerkung: Damit Klienten die Kerberos-Dienste benutzen ko:nnen,
     muss die Datei /etc/krb5.conf entweder die vollsta:ndige
     Konfiguration enthalten oder eine minimale Konfiguration
     enthalten und zusa:tzlich ein DNS-Server richtig eingerichtet
     sein.

   Im na:chsten Schritt wird die Kerberos-Datenbank eingerichtet. Die
   Datenbank entha:lt die Schlu:ssel aller Prinzipale und ist mit
   einem Passwort geschu:tzt. Dieses Passwort brauchen Sie nicht zu
   behalten, da ein davon abgeleiteter Schlu:ssel in der Datei
   /var/heimdal/m-key gespeichert wird. Den Schlu:ssel erstellen Sie,
   indem Sie das Programm kstash aufrufen und ein Passwort eingeben.

   Nachdem Sie den Schlu:ssel in /var/heimdal/m-key erstellt haben,
   ko:nnen Sie die Datenbank mit dem Kommando kadmin initialisieren.
   Verwenden Sie hierbei die Option -l (lokal). Mit dieser Option
   wird die Datenbank lokal modifiziert. Normal wu:rde der
   kadmind-Dienst benutzt, der aber zu diesem Zeitpunkt noch nicht
   la:uft. An der Eingabeaufforderung von kadmin ko:nnen Sie mit dem
   Kommando init die Datenbank des Realms einrichten.

   Zuletzt erstellen Sie mit dem Kommando add Ihren ersten Prinzipal.
   Benutzen Sie die voreingestellten Optionen; Sie ko:nnen die
   Einstellungen spa:ter mit dem Kommando modify a:ndern. An der
   Eingabeaufforderung zeigt das Kommando ? Hilfetexte an.

   Zusammengefasst wird die Datenbank wie folgt eingerichtet:

 # kstash
 Master key: xxxxxxxx
 Verifying password - Master key: xxxxxxxx

 # kadmin -l
 kadmin> init EXAMPLE.ORG
 Realm max ticket life [unlimited]:
 kadmin> add tillman
 Max ticket life [unlimited]:
 Max renewable life [unlimited]:
 Attributes []:
 Password: xxxxxxxx
 Verifying password - Password: xxxxxxxx

   Jetzt kann das KDC gestartet werden. Fu:hren Sie zum Start der
   Dienste die Kommandos /etc/rc.d/kerberos start und
   /etc/rc.d/kadmind start aus. Obwohl zu diesem Zeitpunkt noch keine
   kerberisierten Dienste laufen, ko:nnen Sie die Funktion des KDCs
   schon u:berpru:fen. Fu:r den eben angelegten Benutzer ko:nnen Sie
   sich vom KDC Tickets holen und diese Tickets anzeigen:

 % kinit tillman
 tillman@EXAMPLE.ORG's Password:

 % klist
 Credentials cache: FILE: /tmp/krb5cc_500
         Principal: tillman@EXAMPLE.ORG

   Issued           Expires          Principal
 Aug 27 15:37:58  Aug 28 01:37:58  krbtgt/EXAMPLE.ORG@EXAMPLE.ORG

   Dieses Ticket kann, nachdem Sie Ihre Arbeit beendet haben,
   zuru:ckgezogen werden:

 % k5destroy

     --------------------------------------------------------------

  14.8.3. Kerberos-Dienste einrichten

   Alle Rechner, die kerberisierte Dienste anbieten, mu:ssen eine
   Kopie der Kerberos-Konfigurationsdatei /etc/krb5.conf besitzen.
   Sie ko:nnen die Datei einfach vom KDC kopieren.

   Anschliessend mu:ssen Sie die Datei /etc/krb5.keytab erzeugen. Im
   Gegensatz zu normalen Workstations beno:tigt jeder Server eine
   keytab. Diese Datei entha:lt den Schlu:ssel des Servers, mit dem
   sich der Server und das KDC gegenseitig authentifizieren ko:nnen.
   Die Datei muss sicher auf den Server transportiert werden
   (beispielsweise mit scp(1) oder einer Diskette). Unter keinen
   Umsta:nden darf die Datei im Klartext, zum Beispiel mit FTP,
   u:bertragen werden, da sonst die Sicherheit des Servers gefa:hrdet
   ist.

   Sie ko:nnen die keytab auch mit dem Programm kadmin u:bertragen.
   Da Sie mit kadmin sowieso einen Host-Prinzipal fu:r den Server
   einrichten mu:ssen, ist das ganz praktisch.

   Sie mu:ssen allerdings schon ein Ticket besitzen und berechtigt
   sein, kadmin auszufu:hren. Die Berechtigung erhalten Sie durch
   einen Eintrag in der Zugriffskontrollliste kadmind.acl. Weitere
   Informationen u:ber Zugriffskontrolllisten erhalten Sie in den
   Heimdal-Info-Seiten (info heimdal) im Abschnitt "Remote
   administration". Wenn der Zugriff auf kadmin von entfernten
   Maschinen verboten ist, mu:ssen Sie sich sicher auf dem KDC
   anmelden (lokale Konsole, ssh(1) oder kerberisiertes Telnet) und
   die keytab lokal mit kadmin -l erzeugen.

   Nachdem Sie die Datei /etc/krb5.conf installiert haben, ko:nnen
   Sie das Kommando kadmin benutzen. An der Eingabeaufforderung von
   kadmin erstellt das Kommando add --random-key den Host-Prinzipal
   und das Kommando ext extrahiert den Schlu:ssel des Prinzipals in
   eine Datei:

 # kadmin
 kadmin> add --random-key host/myserver.example.org
 Max ticket life [unlimited]:
 Max renewable life [unlimited]:
 Attributes []:
 kadmin> ext host/myserver.example.org
 kadmin> exit

   Das Kommando ext (von extract) speichert den extrahierten
   Schlu:ssel in der Datei /etc/krb5.keytab.

   Wenn auf dem KDC, vielleicht aus Sicherheitsgru:nden, kadmind
   nicht la:uft, ko:nnen Sie das Kommando kadmin von entfernten
   Rechnern nicht benutzen. In diesem Fall legen Sie den
   Host-Prinzipal host/myserver.EXAMPLE.ORG direkt auf dem KDC an.
   Den Schlu:ssel extrahieren Sie in eine tempora:re Datei (damit die
   Datei /etc/krb5.keytab nicht u:berschrieben wird):

 # kadmin
 kadmin> ext --keytab=/tmp/example.keytab host/myserver.example.org
 kadmin> exit

   Anschliessend mu:ssen Sie die erzeugte example.keytab sicher auf
   den Server kopieren (mit scp oder mithilfe einer Diskette). Geben
   Sie auf jeden Fall einen anderen Namen fu:r die keytab an, weil
   sonst die keytab des KDCs u:berschrieben wu:rde.

   Wegen der Datei krb5.conf kann der Server nun mit dem KDC
   kommunizieren und seine Identita:t mithilfe der Datei krb5.keytab
   nachweisen. Jetzt ko:nnen wir kerberisierte Dienste aktivieren.
   Fu:r telnet muss die folgende Zeile in /etc/inetd.conf eingefu:gt
   werden:

 telnet    stream  tcp     nowait  root    /usr/libexec/telnetd  telnetd -a user

   Ausschlaggebend ist, dass die Authentifizierungs-Methode mit -a
   auf user gesetzt wird. Weitere Details entnehmen Sie bitte der
   Hilfeseite telnetd(8).

   Nachdem sie die Zeile in /etc/inetd.conf eingefu:gt haben, starten
   Sie inetd(8) mit dem Kommando /etc/rc.d/inetd restart durch.

     --------------------------------------------------------------

  14.8.4. Kerberos-Clients einrichten

   Ein Client la:sst sich leicht einrichten. Sie beno:tigen nur die
   Kerberos-Konfigurationsdatei /etc/krb5.conf. Kopieren Sie die
   Konfigurationsdatei einfach vom KDC auf den Client.

   Sie ko:nnen jetzt mit kinit Tickets anfordern, mit klist Tickets
   anzeigen und mit kdestroy Tickets lo:schen. Sie ko:nnen mit
   Kerberos-Anwendungen kerberisierte Server ansprechen. Wenn das
   nicht funktioniert, Sie aber Tickets anfordern ko:nnen, hat
   wahrscheinlich der kerberisierte Server ein Problem und nicht der
   Client oder das KDC.

   Wenn Sie eine Anwendung wie telnet testen, ko:nnen Sie mit einem
   Paket-Sniffer (beispielsweise tcpdump(1)) u:berpru:fen, dass
   Passwo:rter verschlu:sselt u:bertragen werden. Probieren Sie auch
   die Option -x von telnet, die den gesamten Datenverkehr
   verschlu:sselt (analog zu ssh).

   Zu Heimdal geho:ren noch weitere Anwendungen. Allerdings entha:lt
   das FreeBSD-Basissystem nur eine minimale Heimdal-Installation mit
   nur einer kerberisierten Anwendung: telnet.

   Der Heimdal-Port entha:lt noch mehr kerberisierte Anwendungen wie
   ftp, rsh, rcp und rlogin. Der MIT-Port entha:lt ebenfalls weitere
   kerberisierte Anwendungen.

     --------------------------------------------------------------

  14.8.5. .k5login und .k5users

   Normalerweise wird ein Kerberos-Prinzipal wie tillman@EXAMPLE.ORG
   auf ein lokales Benutzerkonto, beispielsweise tillman, abgebildet.
   Daher beno:tigen Client-Anwendungen (zum Beispiel telnet) keinen
   Benutzernamen.

   Manchmal wird aber Zugriff auf ein lokales Benutzerkonto
   beno:tigt, zu dem es keinen passenden Kerberos-Prinzipal gibt. Der
   Prinzipal tillman@EXAMPLE.ORG bra:uchte beispielsweise Zugriff auf
   das Konto webdevelopers. Ebenso ko:nnten andere Prinzipale auf
   dieses Konto zugreifen wollen.

   Die Dateien .k5login und .k5users im Heimatverzeichnis eines
   Benutzerkontos gewa:hren Zugriffe a:hnlich wie die Dateien .hosts
   und .rhosts. Um den Prinzipalen tillman@example.org und
   jdoe@example.org auf das Konto webdevelopers zu geben, wird im
   Heimatverzeichnis von webdevelopers die Datei .k5login mit
   folgendem Inhalt angelegt:

 tillman@example.org
 jdoe@example.org

   Die angegebenen Prinzipale haben nun ohne ein gemeinsames Passwort
   Zugriff auf das Konto.

   Einzelheiten entnehmen Sie bitte den Hilfeseiten zu diesen
   Dateien. Die Datei .k5users wird in der Hilfeseite des Kommandos
   ksu beschrieben.

     --------------------------------------------------------------

  14.8.6. Tipps und Fehlersuche

     * Wenn Sie den Heimdal-Port oder den MIT-Port benutzen, muss in
       der Umgebungsvariable PATH der Pfad zu den Programmen des
       Ports vor dem Pfad zu den Kerberos-Programmen des Systems
       stehen.

     * Sind die Uhrzeiten der Systeme synchronisiert? Wenn nicht,
       schla:gt vielleicht die Authentifizierung fehl. Abschnitt
       29.10 beschreibt, wie Sie mithilfe von NTP die Uhrzeiten
       synchronisieren.

     * Die MIT- und Heimdal-Systeme arbeiten bis auf kadmin gut
       zusammen. Fu:r kadmin wurde das Protokoll nicht normiert.

     * Wenn Sie den Namen eines Rechners a:ndern, mu:ssen Sie auch
       den host/-Prinzipal a:ndern und die Datei keytab
       aktualisieren. Dies betrifft auch spezielle Eintra:ge wie den
       Prinzipal fu:r Apaches www/mod_auth_kerb.

     * Die Rechnernamen mu:ssen vor- und ru:ckwa:rts aufgelo:st
       werden (im DNS oder in /etc/hosts). CNAME-Eintra:ge im DNS
       funktionieren, aber die entsprechenden A- und PTR-Eintra:ge
       mu:ssen vorhanden und richtig sein. Wenn sich Namen nicht
       auflo:sen lassen, ist die Fehlermeldung nicht gerade
       selbstsprechend: "Kerberos5 refuses authentication because
       Read req failed: Key table entry not found".

     * Einige Betriebssysteme installieren ksu mit falschen
       Zugriffsrechten; es fehlt das Set-UID-Bit fu:r root. Das mag
       aus Sicherheitsgru:nden richtig sein, doch funktioniert ksu
       dann nicht. Dies ist kein Fehler des KDCs.

     * Wenn Sie fu:r einen Prinzipal unter MIT-Kerberos Tickets mit
       einer la:ngeren Gu:ltigkeit als der vorgegebenen zehn Stunden
       einrichten wollen, mu:ssen Sie zwei Sachen a:ndern. Benutzen
       Sie das modify_principal von kadmin, um die maximale
       Gu:ltigkeitsdauer fu:r den Prinzipal selbst und den Prinzipal
       krbtgt zu erho:hen.

     * Mit einem Packet-Sniffer ko:nnen Sie feststellen, dass Sie
       sofort nach dem Aufruf von kinit eine Antwort vom KDC bekommen
       - noch bevor Sie u:berhaupt ein Passwort eingegeben haben! Das
       ist in Ordnung: Das KDC ha:ndigt ein Ticket-Granting-Ticket
       (TGT) auf Anfrage aus, da es durch einen vom Passwort des
       Benutzers abgeleiteten Schlu:ssel geschu:tzt ist. Wenn das
       Passwort eingegeben wird, wird es nicht zum KDC gesendet,
       sondern zum Entschlu:sseln der Antwort des KDCs benutzt, die
       kinit schon erhalten hat. Wird die Antwort erfolgreich
       entschlu:sselt, erha:lt der Benutzer einen Sitzungs-Schlu:ssel
       fu:r die ku:nftige verschlu:sselte Kommunikation mit dem KDC
       und das Ticket-Granting-Ticket. Das Ticket-Granting-Ticket
       wiederum ist mit dem Schlu:ssel des KDCs verschlu:sselt. Diese
       Verschlu:sselung ist fu:r den Benutzer vo:llig transparent und
       erlaubt dem KDC, die Echtheit jedes einzelnen TGT zu pru:fen.

     * Wenn Sie OpenSSH verwenden und Tickets mir einer langen
       Gu:ltigkeit (beispielsweise einer Woche) benutzen, setzen Sie
       die Option TicketCleanup in der Datei sshd_config auf no.
       Ansonsten werden Ihre Tickets gelo:scht, wenn Sie sich
       abmelden.

     * Host-Prinzipale ko:nnen ebenfalls Tickets mit la:ngerer
       Gu:ltigkeit besitzen. Wenn der Prinzipal eines Benutzers u:ber
       ein Ticket verfu:gt, das eine Woche gu:ltig ist, das Ticket
       des Host-Prinzipals aber nur neun Stunden gu:ltig ist,
       funktioniert der Ticket-Cache nicht wie erwartet. Im Cache
       befindet sich dann ein abgelaufenes Ticket des
       Host-Prinzipals.

     * Wenn Sie mit krb5.dict die Verwendung schlechter Passwo:rter
       verhindern wollen, geht das nur mit Prinzipalen, denen eine
       Passwort-Policy zugewiesen wurde. Die Hilfeseite von kadmind
       beschreibt kurz, wie krb5.dict verwendet wird. Das Format von
       krb5.dict ist einfach: Die Datei entha:lt pro Zeile ein Wort.
       Sie ko:nnen daher einen symbolischen Link auf
       /usr/share/dict/words erstellen.

     --------------------------------------------------------------

  14.8.7. Unterschiede zum MIT-Port

   Der Hauptunterschied zwischen MIT-Kerberos und Heimdal-Kerberos
   ist das Kommando kadmin. Die Befehlssa:tze des Kommandos (obwohl
   funktional gleichwertig) und das verwendete Protokoll
   unterscheiden sich in beiden Varianten. Das KDC la:sst sich nur
   mit dem kadmin Kommando der passenden Kerberos-Variante verwalten.

   Fu:r dieselbe Funktion ko:nnen auch die Client-Anwendungen leicht
   gea:nderte Kommandozeilenoptionen besitzen. Folgen Sie bitte der
   Anleitung auf der Kerberos-Seite
   (http://web.mit.edu/Kerberos/www/) des MITs. Achten Sie besonders
   auf den Suchpfad fu:r Anwendungen. Der MIT-Port wird
   standardma:ssig in /usr/local/ installiert. Wenn die
   Umgebungsvariable PATH zuerst die Systemverzeichnisse entha:lt,
   werden die Systemprogramme anstelle der MIT-Programme ausgefu:hrt.

     Anmerkung: Wenn Sie den MIT-Port security/krb5 verwenden,
     erscheint bei der Anmeldung mit telnetd und klogind die
     Fehlermeldung "incorrect permissions on cache file". Lesen Sie
     dazu bitte die im Port enthaltene Datei
     /usr/local/share/doc/krb5/README.FreeBSD. Wichtig ist, dass zur
     Authentifizierung die Bina:rdatei login.krb5 verwendet wird, die
     fu:r durchgereichte Berechtigungen die Eigentu:mer korrekt
     a:ndert.

   In der Datei rc.conf mu:ssen folgende Zeilen aufgenommen werden:

 kerberos5_server="/usr/local/sbin/krb5kdc"
 kadmind5_server="/usr/local/sbin/kadmind"
 kerberos5_server_enable="YES"
 kadmind5_server_enable="YES"

   Diese Zeilen sind notwendig, weil die Anwendungen von MIT-Kerberos
   Bina:rdateien unterhalb von /usr/local installieren.

     --------------------------------------------------------------

  14.8.8. Beschra:nkungen von Kerberos

     --------------------------------------------------------------

    14.8.8.1. Kerberos muss ganzheitlich verwendet werden

   Jeder u:ber das Netzwerk angebotetene Dienst muss mit Kerberos
   zusammenarbeiten oder auf anderen Wegen gegen Angriffe aus dem
   Netzwerk geschu:tzt sein. Andernfalls ko:nnen Berechtigungen
   gestohlen und wiederverwendet werden. Es ist beispielsweise nicht
   sinnvoll, fu:r Anmeldungen mit rsh und telnet Kerberos zu
   benutzen, dagegen aber POP3-Zugriff auf einen Mail-Server zu
   erlauben, da POP3 Passwo:rter im Klartext versendet.

     --------------------------------------------------------------

    14.8.8.2. Kerberos ist fu:r Einbenutzer-Systeme gedacht

   In Mehrbenutzer-Umgebungen ist Kerberos unsicherer als in
   Einbenutzer-Umgebungen, da die Tickets im fu:r alle lesbaren
   Verzeichnis /tmp gespeichert werden. Wenn ein Rechner von mehreren
   Benutzern verwendet wird, ist es mo:glich, dass Tickets gestohlen
   werden.

   Dieses Problem ko:nnen Sie lo:sen, indem Sie mit der
   Kommandozeilenoption -c oder besser mit der Umgebungsvariablen
   KRB5CCNAME einen Ort fu:r die Tickets vorgeben. Diese
   Vorgehensweise wird leider selten benutzt. Es reicht, die Tickets
   im Heimatverzeichnis eines Benutzers zu speichern und mit
   Zugriffsrechten zu schu:tzen.

     --------------------------------------------------------------

    14.8.8.3. Das KDC ist verwundbar

   Das KDC muss genauso abgesichert werden wie die auf ihm
   befindliche Passwort-Datenbank. Auf dem KDC du:rfen keine anderen
   Dienste laufen und der Rechner sollte physikalisch gesichert sein.
   Die Gefahr ist gross, da Kerberos alle Passwo:rter mit einem
   Schlu:ssel, dem Haupt-Schlu:ssel, verschlu:sselt. Der
   Haupt-Schlu:ssel wiederum wird in einer Datei auf dem KDC
   gespeichert.

   Ein kompromittierter Haupt-Schlu:ssel ist nicht ganz so schlimm
   wie allgemein angenommen. Der Haupt-Schlu:ssel wird nur zum
   Verschlu:sseln der Passwort-Datenbank und zum Initialisieren des
   Zufallsgenerators verwendet. Solange der Zugriff auf das KDC
   abgesichert ist, kann ein Angreifer wenig mit dem Haupt-Schlu:ssel
   anfangen.

   Wenn das KDC nicht zur Verfu:gung steht, vielleicht wegen eines
   Denial-of-Service Angriffs oder wegen eines Netzwerkproblems, ist
   eine Authentifizierung unmo:glich. Damit ko:nnen die
   Netzwerk-Dienste nicht benutzt werden; das KDC ist also ein
   optimales Ziel fu:r einen Denial-of-Service Angriff. Sie ko:nnen
   diesem Angriff ausweichen, indem Sie mehrere KDCs (einen Master
   und einen oder mehrere Slaves) verwenden. Der Ru:ckfall auf ein
   sekunda:res KDC oder eine andere Authentifizierungs-Methode (dazu
   ist PAM bestens geeignet) muss sorgfa:ltig eingerichtet werden.

     --------------------------------------------------------------

    14.8.8.4. Ma:ngel von Kerberos

   Mit Kerberos ko:nnen sich Benutzer, Rechner und Dienste
   gegenseitig authentifizieren. Allerdings existiert kein
   Mechanismus, der das KDC gegenu:ber Benutzern, Rechnern oder
   Diensten authentifiziert. Ein vera:ndertes kinit ko:nnte
   beispielsweise alle Benutzernamen und Passwo:rter abfangen. Die
   von vera:nderten Programmen ausgehende Gefahr ko:nnen Sie lindern,
   indem Sie die Integrita:t von Dateien mit Werkzeugen wie
   security/tripwire pru:fen.

     --------------------------------------------------------------

  14.8.9. Weiterfu:hrende Dokumentation

     * The Kerberos FAQ

     * Designing an Authentication System: a Dialogue in Four Scenes

     * RFC 1510, The Kerberos Network Authentication Service (V5)

     * MIT Kerberos-Seite

     * Heimdal Kerberos-Seite

     --------------------------------------------------------------

14.9. OpenSSL

   Beigetragen von Tom Rhodes.

   Es wird oft u:bersehen, dass OpenSSL Teil des FreeBSD-Basissystems
   ist. OpenSSL bietet eine verschlu:sselte Transportschicht oberhalb
   der normalen Kommunikationsschicht und kann daher zusammen mit
   vielen Netzdiensten benutzt werden.

   Anwendungsbeispiele fu:r OpenSSL sind die verschlu:sselte
   Authentifizierung von E-Mail-Clients oder Web-Transaktionen wie
   das Bezahlen mit einer Kreditkarte. OpenSSL kann wa:hrend des Baus
   in viele Ports, wie www/apache13-ssl und mail/sylpheed-claws,
   integriert werden.

     Anmerkung: Ist beim Aufruf von make die Variable
     WITH_OPENSSL_BASE nicht explizit auf yes gesetzt, baut die
     Ports-Sammlung meist den Port security/openssl.

   Das OpenSSL von FreeBSD stellt die Protokolle Secure Sockets Layer
   v2/v3 (SSLv2/SSLv3) und Transport Layer Security v1 (TLSv1) zur
   Verfu:gung. Die OpenSSL-Bibliotheken stellen kryptographische
   Funktionen bereit.

     Anmerkung: Mit OpenSSL kann der IDEA-Algorithmus verwendet
     werden, wegen Patenten in den USA ist der Algorithmus in der
     Voreinstellung allerdings deaktiviert. Wenn Sie die IDEA-Lizenz
     akzeptieren, ko:nnen Sie den IDEA-Algorithmus aktivieren, indem
     Sie die Variable MAKE_IDEA in make.conf setzen.

   Meist wird OpenSSL eingesetzt, um Zertifikate fu:r Anwendungen
   bereitzustellen. Die Zertifikate stellen die Identita:t einer
   Firma oder eines Einzelnen sicher. Wenn ein Zertifikat nicht von
   einer Zertifizierungsstelle (Certificate Authority, CA)
   gegengezeichnet wurde, erhalten Sie normalerweise eine Warnung.
   Eine Zertifizierungsstelle ist eine Firma wie VeriSign, die
   Zertifikate von Personen oder Firmen gegenzeichnet und damit die
   Korrektheit der Zertifikate besta:tigt. Diese Prozedur kostet
   Geld, ist aber keine Voraussetzung fu:r den Einsatz von
   Zertifikaten, beruhigt aber sicherheitsbewusste Benutzer.

     --------------------------------------------------------------

  14.9.1. Zertifikate erzeugen

   Ein Zertifikat erzeugen Sie mit dem nachstehenden Kommando:

 # openssl req -new -nodes -out req.pem -keyout cert.pem
 Generating a 1024 bit RSA private key
 ................++++++
 .......................................++++++
 writing new private key to 'cert.pem'
 -----
 You are about to be asked to enter information that will be incorporated
 into your certificate request.
 What you are about to enter is what is called a Distinguished Name or a DN.
 There are quite a few fields but you can leave some blank
 For some fields there will be a default value,
 If you enter '.', the field will be left blank.
 -----
 Country Name (2 letter code) [AU]:US
 State or Province Name (full name) [Some-State]:PA
 Locality Name (eg, city) []:Pittsburgh
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:My Company
 Organizational Unit Name (eg, section) []:Systems Administrator
 Common Name (eg, YOUR name) []:localhost.example.org
 Email Address []:trhodes@FreeBSD.org

 Please enter the following 'extra' attributes
 to be sent with your certificate request
 A challenge password []:SOME PASSWORD
 An optional company name []:Another Name

   Beachten Sie bitte, dass die Eingabe bei "Common Name" ein
   gu:ltiger Domain-Name sein muss. Eine andere Eingabe erzeugt ein
   unbrauchbares Zertifikat. Das Zertifikat kann mit einer
   Gu:ltigkeitsdauer und anderen Verschlu:sselungsalgorithmen erzeugt
   werden. Die Hilfeseite openssl(1) beschreibt die zur Verfu:gung
   stehenden Optionen.

   Das Verzeichnis, in dem Sie den letzten Befehl ausgefu:hrt haben,
   entha:lt nun zwei Dateien: Die Anforderung fu:r ein neues
   Zertifikat wurde in req.pem gespeichert. Diese Datei ko:nnen Sie
   an eine Zertifizierungsstelle senden, wo Ihre Angaben gepru:ft
   werden. Nach erfolgreicher Pru:fung wird das Zertifikat an Sie
   zuru:ckgesandt. Die zweite Datei, cert.pem, entha:lt den privaten
   Schlu:ssel fu:r Ihr Zertifikat und darf auch keine Fall in fremde
   Ha:nde geraten, da ein Angreifer sonst in der Lage ist, anderen
   Personen oder Rechnern vorzugaukeln, dass es sich bei ihm um Sie
   handelt.

   Wenn Sie keine Signatur einer Zertifizierungsstelle beno:tigen,
   ko:nnen Sie ein selbst-signiertes Zertifikat erstellen. Erzeugen
   Sie dazu zuerst einen RSA-Schlu:ssel:

 # openssl dsaparam -rand -genkey -out myRSA.key 1024

   Erzeugen Sie dann den CA-Schlu:ssel:

 # openssl gendsa -des3 -out myca.key myRSA.key

   Erstellen Sie mit diesem Schlu:ssel das Zertifikat:

 # openssl req -new -x509 -days 365 -key myca.key -out new.crt

   Zwei neue Dateien befinden sich nun im Verzeichnis: Der Schlu:ssel
   der Zertifizierungsstelle myca.key und das Zertifikat selbst,
   new.crt. Sie sollten in einem Verzeichnis, vorzugsweise unterhalb
   von /etc abgelegt werden, das nur von root lesbar ist. Setzen Sie
   die Zugriffsrechte der Dateien mit chmod auf 0700.

     --------------------------------------------------------------

  14.9.2. Beispiel fu:r Zertifikate

   Was fangen Sie mit einem Zertifikat an? Sie ko:nnten damit
   beispielsweise die Verbindungen zu Sendmail verschlu:sseln. Dies
   wu:rde die Klartext-Authentifizierung fu:r Benutzer des lokalen
   MTA u:berflu:ssig machen.

     Anmerkung: Das ist nicht unbedingt die beste Lo:sung, da einige
     MUAs Warnungen ausgeben, wenn ein Zertifikat nicht lokal
     installiert ist. Die Installation von Zertifikaten wird in der
     Dokumentation der MUAs beschrieben.

   Erga:nzen Sie die Konfigurationsdatei von sendmail (.mc) um die
   nachstehenden Zeilen:

 dnl SSL Options
 define(`confCACERT_PATH',`/etc/certs')dnl
 define(`confCACERT',`/etc/certs/new.crt')dnl
 define(`confSERVER_CERT',`/etc/certs/new.crt')dnl
 define(`confSERVER_KEY',`/etc/certs/myca.key')dnl
 define(`confTLS_SRV_OPTIONS', `V')dnl

   Im Verzeichnis /etc/certs befindet sich der Schlu:ssel und das
   Zertifikat. Bauen Sie danach im Verzeichnis /etc/mail mit dem
   Kommando make install die .cf-Datei und starten Sie anschliessend
   sendmail mit make restart neu.

   Wenn alles gut ging, erscheinen keine Fehlermeldungen in der Datei
   /var/log/maillog und Sie sehen sendmail in der Prozessliste.

   Testen Sie nun den Mailserver mit dem Kommando telnet(1):

 # telnet example.com 25
 Trying 192.0.34.166...
 Connected to example.com.
 Escape character is '^]'.
 220 example.com ESMTP Sendmail 8.12.10/8.12.10; Tue, 31 Aug 2004 03:41:22 -0400 (EDT)
 ehlo example.com
 250-example.com Hello example.com [192.0.34.166], pleased to meet you
 250-ENHANCEDSTATUSCODES
 250-PIPELINING
 250-8BITMIME
 250-SIZE
 250-DSN
 250-ETRN
 250-AUTH LOGIN PLAIN
 250-STARTTLS
 250-DELIVERBY
 250 HELP
 quit
 221 2.0.0 example.com closing connection
 Connection closed by foreign host.

   Wenn in einer Zeile STARTTLS erscheint, hat alles funktioniert.

     --------------------------------------------------------------

14.10. VPNs mit IPsec

   Geschrieben von Nik Clayton.

   Dieser Abschnitt beschreibt, wie Sie mit FreeBSD-Gateways ein
   Virtual-Private-Network (VPN) einrichten. Als Beispiel wird ein
   VPN zwischen zwei Netzen verwendet, die u:ber das Internet
   miteinander verbunden sind.

     --------------------------------------------------------------

  14.10.1. IPsec Grundlagen

   Geschrieben von Hiten M. Pandya.

   Dieser Abschnitt zeigt Ihnen, wie Sie IPsec einrichten und damit
   FreeBSD-Systeme und Microsoft Windows 2000/XP Systeme sicher
   miteinander verbinden. Um IPsec einzurichten, sollten Sie einen
   neuen Kernel erzeugen ko:nnen (siehe Kapitel 8).

   IPsec ist ein Protokoll, das auf dem Internet-Protokoll (IP)
   aufbaut. Mit IPsec ko:nnen mehrere Systeme geschu:tzt miteinander
   kommunizieren. Das in FreeBSD realisierte IPsec-Protokoll baut auf
   der KAME-Implementierung auf und unterstu:tzt sowohl IPv4 als auch
   IPv6.

     Anmerkung: FreeBSD entha:lt eine von Hardware beschleunigte
     Variante des IPsec-Protokolls. Diese Variante wurde von OpenBSD
     u:bernommen und wird "Fast-IPsec" genannt. Das
     crypto(4)-Subsystem arbeitet mit Kryptographie-Hardware
     zusammen, die IPsec beschleunigt. Das Subsystem ist neu und
     bietet noch nicht alle Funktionen, die KAME-IPsec bietet. Wenn
     Sie die Hardware-Beschleunigung nutzen wollen, fu:gen Sie
     folgende Zeile der Kernelkonfiguration hinzu:

 options   FAST_IPSEC  # new IPsec (cannot define w/ IPSEC)

     Momentan ko:nnen Sie "Fast-IPsec" nicht zusammen mit KAME-IPsec
     benutzen. Weiteres zu "Fast-IPsec" erfahren Sie in der
     Hilfeseite fast_ipsec(4).

     Anmerkung: Damit Firewalls den Status von gif(4)-Tunneln
     u:berwachen ko:nnen, mu:ssen Sie die Option IPSEC_FILTERGIF in
     Ihrer Kernelkonfiguration aktivieren:

 options   IPSEC_FILTERGIF  #filter ipsec packets from a tunnel

   IPsec besteht wiederum aus zwei Protokollen:

     * Encapsulated Security Payload (ESP) verschlu:sselt IP-Pakete
       mit einem symmetrischen Verfahren (beispielsweise Blowfish
       oder 3DES). Damit werden die Pakete vor Manipulationen Dritter
       geschu:tzt.

     * Der Authentication Header (AH) entha:t eine kryptographische
       Pru:summe, die sicher stellt, dass ein IP-Paket nicht
       vera:ndert wurde. Der Authentication-Header folgt nach dem
       normalen IP-Header und erlaubt dem Empfa:nger eines
       IP-Paketes, dessen Integrita:t zu pru:fen.

   ESP und AH ko:nnen, je nach Situation, zusammen oder einzeln
   verwendet werden.

   IPsec kann in zwei Modi betrieben werden: Der Transport-Modus
   verschlu:sselt die Daten zwischen zwei Systemen. Der Tunnel-Modus
   verbindet zwei Subnetze miteinander. Durch einen Tunnel ko:nnen
   dann beispielsweise verschlu:sselte Daten u:bertragen werden. Ein
   Tunnel wird auch als Virtual-Private-Network (VPN) bezeichnet.
   Detaillierte Informationen u:ber das IPsec-Subsystem von FreeBSD
   entha:lt die Hilfeseite ipsec(4).

   Die folgenden Optionen in der Kernelkonfiguration aktivieren
   IPsec:

 options   IPSEC        #IP security
 options   IPSEC_ESP    #IP security (crypto; define w/ IPSEC)

   Wenn Sie zur Fehlersuche im IPsec-Subsystem Unterstu:tzung
   wu:nschen, sollten Sie die folgende Option ebenfalls aktivieren:

 options   IPSEC_DEBUG  #debug for IP security

     --------------------------------------------------------------

  14.10.2. Was ist ein VPN?

   Es gibt keinen Standard, der festlegt, was ein
   Virtual-Private-Network ist. VPNs ko:nnen mit verschiedenen
   Techniken, die jeweils eigene Vor- und Nachteile besitzen,
   implementiert werden. Dieser Abschnitt stellt eine Mo:glichkeit
   vor, ein VPN aufzubauen.

     --------------------------------------------------------------

  14.10.3. VPN zwischen zwei Netzen u:ber das Internet

   Dieses Szenario hat die folgenden Vorausetzungen:

     * Es mu:ssen zwei Netzwerke vorhanden sein.

     * Beide Netzwerke mu:ssen intern IP benutzen.

     * Beide Netzwerke sind u:ber einen FreeBSD-Gateway mit dem
       Internet verbunden.

     * Der Gateway jedes Netzwerks besitzt mindestens eine
       o:ffentliche IP-Adresse.

     * Die intern verwendeten IP-Adressen ko:nnen private oder
       o:ffentliche Adressen sein. Der Gateway kann, wenn no:tig,
       IP-Adressen mit NAT umschreiben.

     * Die IP-Adressen der internen Netzwerke du:rfen nicht
       u:berlappen. Mit NAT liesse sich diese Anforderung zwar
       umgehen, doch wa:re die Konfiguration und Pflege des
       resultierenden Netzwerks zu aufwa:ndig.

   Wenn die zu verbindenden Netzwerke intern dieselben IP-Adressen
   benutzen (beispielsweise 192.168.1.x), mu:ssen einem der Netzwerke
   neue IP-Adressen zugewiesen werden.

   Die Netzwerktopologie sieht wie folgt aus:

 Netzwerk #1           [ Interne Rechner ]    Privates Netz, 192.168.1.2-254
                       [   Win9x/NT/2K   ]
                       [      UNIX       ]
                                |
                                |
                         .---[fxp1]---.      Private IP, 192.168.1.1
                         |   FreeBSD  |
                         `---[fxp0]---'      O:ffentliche IP, A.B.C.D
                                |
                                |
                       -=-=- Internet -=-=-
                                |
                                |
                         .---[fxp0]---.      O:ffentliche IP, W.X.Y.Z
                         |   FreeBSD  |
                         `---[fxp1]---'      Private IP, 192.168.2.1
                                |
                                |
 Netzwerk #2           [ Interne Rechner ]
                       [   Win9x/NT/2K   ]    Privates Netz, 192.168.2.2-254
                       [      UNIX       ]

   Beachten Sie die beiden o:ffentlichen IP-Adressen. Im Folgenden
   werden sie durch Buchstaben (als Platzhalter) gekennzeichnet.
   Setzen Sie hierfu:r Ihre eigenen o:ffentlichen IP-Adressen ein.
   Beide Gateways besitzen die interne Adresse x.x.x.1 und beide
   Netzwerke besitzen unterschiedliche private IP-Adressen:
   192.168.1.x und 192.168.2.x. Die Default-Route aller internen
   Systeme ist jeweils die Gateway-Maschine (x.x.x.1).

   Aus der Sicht der Systeme sollen jetzt beide Netzwerke wie u:ber
   einen Router, der in diesem Fall etwas langsamer ist, verbunden
   werden.

   Auf dem Rechner 192.168.1.20 soll also beispielsweise der folgende
   Befehl funktionieren:

 ping 192.168.2.34

   Windows-Systeme sollen die Systeme auf dem anderen Netzwerk
   erkennen und Shares sollen funktionieren. Alles soll genauso wie
   in lokalen Netzwerken funktionieren.

   Zusa:tzlich soll die Kommunikation zwischen beiden Netzwerken noch
   verschlu:sselt werden.

   Das VPN wird in mehreren Schritten aufgebaut:

    1. Zuerst wird eine virtuelle Verbindung zwischen beiden
       Netzwerken u:ber das Internet eingerichtet. Die virtuelle
       Verbindung ko:nnen Sie mit Werkzeugen wie ping(8) pru:fen.

    2. Danach wird eine Sicherheitsrichtlinie (Security-Policy)
       festgelegt, die automatisch den Datenverkehr zwischen beiden
       Netzwerken verschlu:sselt und entschlu:sselt. Mit Werkzeugen
       wie tcpdump(1) ko:nnen Sie u:berpru:fen, dass die Daten
       tatsa:chlich verschlu:sselt werden.

    3. Wenn sich Windows-Systeme im VPN gegenseitig erkennen sollen,
       so sind noch weitere Konfigurationsschritte notwendig, die
       aber nicht in diesem Abschnitt beschrieben werden.

     --------------------------------------------------------------

    14.10.3.1. Schritt 1: Die virtuelle Verbindung einrichten

   Nehmen wir an, sie wollten von der Gateway-Maschine im Netzwerk #1
   (o:ffentliche IP-Adresse A.B.C.D, private IP-Adresse 192.168.1.1)
   das Kommando ping 192.168.2.1 absetzen. 192.168.2.1 ist die
   private IP-Adresse des Systems W.X.Y.Z im Netzwerk #2. Welche
   Voraussetzungen mu:ssen erfu:llt sein, damit der Befehl
   funktioniert?

    1. Die Gateway-Maschine muss das System 192.168.2.1 erreichen
       ko:nnen. Das heisst, eine Route zu diesem System muss
       existieren.

    2. Private IP-Adressen, wie der Bereich 192.168.x, sollten im
       Internet nicht verwendet werden. Jedes Paket zu 192.168.2.1
       muss daher in ein anderes Paket gepackt werden, das von
       A.B.C.D kommt und zu W.X.Y.Z geschickt wird. Das erneute
       Verpacken der Pakete wird als Kapselung bezeichnet.

    3. Wenn das Paket W.X.Y.Z erreicht, muss es dort ausgepackt und
       an 192.168.2.1 ausgeliefert werden.

   Sie ko:nnen sich diese Prozedur so vorstellen, dass ein Tunnel
   zwischen beiden Netzwerken existiert. Die beiden Tunnel-Enden
   besitzen die IP-Adressen A.B.C.D und W.X.Y.Z. Der Tunnel muss
   zudem Verkehr zwischen den privaten IP-Adressen erlauben und
   transportiert so Daten zwischen privaten IP-Adressen u:ber das
   Internet.

   Unter FreeBSD wird der Tunnel mit gif-Gera:ten (generic interface)
   erstellt. Auf jedem Gateway muss das gif-Gera:t mit vier
   IP-Adressen eingerichtet werden: Zwei o:ffentliche IP-Adressen und
   zwei private IP-Adressen.

   Die gif-Gera:te werden vom Kernel bereitgestellt und mu:ssen in
   der Kernelkonfigurationsdatei auf beiden Maschinen angegeben
   werden:

 device gif

   Wie gewo:hnlich mu:ssen Sie danach einen neuen Kernel erstellen,
   installieren und das System neu starten.

   Der Tunnel wird in zwei Schritten aufgebaut. Mit ifconfig(8)
   werden zuerst die o:ffentlichen IP-Adressen konfiguriert.
   Anschliessend werden die privaten IP-Adressen mit ifconfig(8)
   eingerichtet.

   Auf der Gateway-Maschine im Netzwerk #1 bauen Sie den Tunnel mit
   den folgenden Kommandos auf:

 # ifconfig gif0 create
 # ifconfig gif0 tunnel A.B.C.D W.X.Y.Z
 # ifconfig gif0 inet 192.168.1.1 192.168.2.1 netmask 0xffffffff
        

   Auf dem anderen Gateway benutzen Sie dieselben Kommandos,
   allerdings mit vertauschten IP-Adressen:

 # ifconfig gif0 create
 # ifconfig gif0 tunnel W.X.Y.Z A.B.C.D
 # ifconfig gif0 inet 192.168.2.1 192.168.1.1 netmask 0xffffffff
        

   Die Konfiguration ko:nnen Sie anschliessend mit dem folgenden
   Kommando u:berpru:fen:

 ifconfig gif0

   Auf dem Gateway in Netzwerk #1 sollten Sie beispielsweise die
   nachstehende Ausgabe erhalten:

 # ifconfig gif0
 gif0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1280
         tunnel inet A.B.C.D --> W.X.Y.Z
         inet 192.168.1.1 --> 192.168.2.1 netmask 0xffffffff
        

   Wie Sie sehen, ist ein Tunnel zwischen den IP-Adressen A.B.C.D und
   W.X.Y.Z aufgebaut worden, der Verkehr zwischen den Adressen
   192.168.1.1 und 192.168.2.1 zula:sst.

   Gleichzeitig wurde ein Eintrag in der Routing-Tabelle erstellt,
   den Sie sich mit netstat -rn ansehen ko:nnen. Auf der
   Gateway-Maschine in Netzwerk #1 sieht das so aus:

 # netstat -rn
 Routing tables

 Internet:
 Destination      Gateway       Flags    Refs    Use    Netif  Expire
 ...
 192.168.2.1      192.168.1.1   UH        0        0    gif0
 ...

   Die Route ist eine Host-Route, wie in der Spalte "Flags"
   angegeben. Das heisst die beiden Gateways wissen wie sie einander
   erreichen, sie kennen allerdings nicht das Netzwerk auf der
   anderen Seite. Dieses Problem werden wir gleich angehen.

   Wahrscheinlich ist auf beiden Gateways eine Firewall eingerichtet.
   Fu:r den VPN-Verkehr muss die Firewall umgegangen werden. Sie
   ko:nnen generell den Verkehr zwischen beiden Netzwerken erlauben
   oder Regeln erstellen, die beide Tunnel-Enden des VPNs voreinander
   schu:tzen.

   Der Test des VPNs wird erheblich leichter, wenn Sie jeden Verkehr
   zwischen den Tunnel-Enden in der Firewall erlauben. Wenn Sie auf
   der Gateway-Maschine ipfw(8) einsetzen, erlaubt die folgende Regel
   jeden Verkehr zwischen den Tunnel-Enden, ohne die anderen Regeln
   zu beeinflussen:

 ipfw add 1 allow ip from any to any via gif0

   Diese Regel muss offensichtlich auf beiden Gateway-Maschinen
   existieren.

   Damit sollten Sie das Kommando ping jetzt absetzen ko:nnen. Auf
   dem System 192.168.1.1 sollte der nachstehende Befehl Antworten
   erhalten:

 ping 192.168.2.1

   Denselben Test ko:nnen Sie auch auf der anderen Gateway-Maschine
   ausfu:hren.

   Allerdings ko:nnen Sie noch nicht die anderen internen Maschinen
   auf den Netzwerken erreichen. Die Ursache ist das Routing - die
   Gateway kennen sich zwar gegenseitig, wissen aber noch nichts von
   den Netzwerken hinter dem anderen Gateway.

   Um die Netzwerke bekannt zu geben, muss auf jeder Gateway-Maschine
   noch eine statische Route hinzugefu:gt werden. Auf der ersten
   Gateway-Maschine setzen Sie dazu das folgende Kommando ab:

 route add 192.168.2.0 192.168.2.1 netmask 0xffffff00

   Dies entspricht der Anweisung: "Um Rechner auf dem Netz
   192.168.2.0 zu erreichen, schicke die Pakete zum System
   192.168.2.1". Auf dem anderen Gateway muss das analoge Kommando
   (mit den IP-Adressen 192.168.1.x) abgesetzt werden.

   Damit ist jetzt der IP-Verkehr zwischen beiden Netzwerken
   mo:glich.

   Zwei Drittel des VPNs zwischen beiden Netzen ist nun eingerichtet.
   Es ist "virtuell" und es ist ein "Netzwerk". Es ist allerdings
   noch nicht "privat". Dies ko:nnen Sie mit ping(8) und tcpdump(1)
   u:berpru:fen. Setzen Sie auf dem ersten Gateway den folgenden
   Befehl ab:

 tcpdump dst host 192.168.2.1

   Starten Sie dann, ebenfalls auf dem ersten Gateway, den folgenden
   Befehl:

 ping 192.168.2.1

   Sie werden die nachstehende Ausgabe erhalten:

 16:10:24.018080 192.168.1.1 > 192.168.2.1: icmp: echo request
 16:10:24.018109 192.168.1.1 > 192.168.2.1: icmp: echo reply
 16:10:25.018814 192.168.1.1 > 192.168.2.1: icmp: echo request
 16:10:25.018847 192.168.1.1 > 192.168.2.1: icmp: echo reply
 16:10:26.028896 192.168.1.1 > 192.168.2.1: icmp: echo request
 16:10:26.029112 192.168.1.1 > 192.168.2.1: icmp: echo reply

   Die ICMP-Nachrichten werden unverschlu:sselt u:bertragen. Mit der
   Option -s von tcpdump(1) ko:nnen Sie sich weitere Daten der Pakete
   anzeigen lassen.

   Die Daten sollen aber automatisch verschlu:sselt werden. Wie das
   geht, wird im na:chsten Abschnitt erla:utert.

   Zusammenfassung

     * Fu:gen Sie in beiden Kerneln die Zeile "device gif" ein und
       bauen Sie die Kernel neu.

     * Fu:gen Sie auf dem Gateway in Netzwerk #1 folgende Zeilen in
       /etc/rc.conf ein:

 gif_interfaces="gif0"
 gifconfig_gif0="A.B.C.D W.X.Y.Z"
 ifconfig_gif0="inet 192.168.1.1 192.168.2.1 netmask 0xffffffff"
 static_routes="vpn"
 route_vpn="192.168.2.0 192.168.2.1 netmask 0xffffff00"

       Setzen Sie dabei die richtigen IP-Adressen fu:r die
       Platzhalter ein.

     * Fu:gen Sie auf beiden Gateways die nachstehende Regel in das
       Firewall-Skript (zum Beispiel /etc/rc.firewall) ein:

 ipfw add 1 allow ip from any to any via gif0

     * Nehmen Sie in /etc/rc.conf auf dem Gateway #2 analoge
       A:nderungen, die IP-Adressen mu:ssen vertauscht werden, vor.

     --------------------------------------------------------------

    14.10.3.2. Schritt 2: Die Verbindung mit IPsec schu:tzen

   Um die Verbindung zu schu:tzen, verwenden wir IPsec. IPsec bietet
   einen Mechanismus, mit dem sich zwei Systeme auf einen Schlu:ssel
   einigen ko:nnen. Mit diesem Schlu:ssel wird dann der Datenverkehr
   zwischen beiden Systemen verschlu:sselt.

   Es gibt hierbei zwei Sachen die konfiguriert werden mu:ssen:

    1. Die Security-Association bestimmt, mit welchen Methoden der
       Verkehr zwischen beiden Systemen verschlu:sselt wird.

    2. Die Security-Policy bestimmt, was verschlu:sselt wird. Es soll
       ja nicht der gesamte Datenverkehr nach aussen verschlu:sselt
       werden, sondern nur der Teil des Verkehrs, der zum VPN
       geho:rt.

   Die Security-Association wie auch die Security-Policy werden vom
   Kernel verwaltet und ko:nnen von Anwendungen vera:ndert werden.
   Dazu mu:ssen allerdings zuerst IPsec und das
   Encapsulated-Security-Payload (ESP) Protokoll in die
   Kernelkonfigurationsdatei eingetragen werden:

 options IPSEC
 options IPSEC_ESP

   Wie u:blich, mu:ssen Sie danach den Kernel u:bersetzen,
   installieren und das System neu starten. Die Kernel mu:ssen auf
   beiden Gateway-Maschinen neu erstellt werden.

   Sie ko:nnen die Security-Association auf zwei Arten konfigurieren:
   Manuell, dann mu:ssen Sie den Verschlu:sselungsalgorithmus, die
   Schlu:ssel und alles Weitere selbst konfigurieren. Oder
   automatisch, mithilfe eines Daemons, der das Internet-Key-Exchange
   Protokoll (IKE) beherrscht.

   Im Allgemeinen wird die letzte Variante bevorzugt. Sie ist auch
   wesentlich leichter einzurichten.

   Mit setkey(8) ko:nnen Sie Security-Policies editieren und
   anzeigen. Die Beziehung von setkey und der Tabelle der
   Security-Policies im Kernel entspricht dem Verha:ltnis von
   route(8) und der Routing-Tabelle. Die momentanen
   Security-Associations lassen sich ebenfalls mit setkey anzeigen;
   setkey verha:lt sich in diesem Fall wie netstat -r, um die
   Analogie fortzufu:hren.

   Sie haben die Wahl zwischen mehreren Programmen, wenn Sie
   Security-Associations mit FreeBSD verwalten wollen. Im Folgenden
   wird racoon beschrieben, das Sie u:ber den Port
   security/ipsec-tools installieren ko:nnen.

   Auf beiden Gateway-Maschinen muss racoon laufen. Konfiguriert wird
   jeweils die IP-Adresse der Gegenstelle sowie der geheime
   Schlu:ssel. Dabei muss auf beiden Gateway-Maschinen der gleiche
   Schlu:ssel verwendet werden.

   Die beiden raccon-Daemonen pru:fen mithilfe des geheimen
   Schlu:ssels gegenseitig ihre Identita:t. Anschliessend generieren
   Sie einen neuen geheimen Schlu:ssel, mit dem dann der Datenverkehr
   im VPN verschlu:sselt wird. Dieser Schlu:ssel wird von Zeit zu
   Zeit gea:ndert. Ein Angreifer, der einen der Schlu:ssel geknackt
   hat - das ist schon ziemlich unwahrscheinlich - kann somit nicht
   viel mit diesem Schlu:ssel anfangen, da schon wieder ein anderer
   Schlu:ssel verwendet wird.

   Die Konfiguration von racoon befindet sich in
   ${PREFIX}/etc/racoon. In der dort befindlichen Konfigurationsdatei
   sollten Sie nicht allzu viele A:nderungen vornehmen mu:ssen. Sie
   mu:ssen allerdings den so genannten "Pre-Shared-Key" (den vorher
   ausgetauschten Schlu:ssel) a:ndern.

   In der Voreinstellung befindet sich dieser Schlu:ssel in der Datei
   ${PREFIX}/etc/racoon/psk.txt. Dieser Schlu:ssel wird nicht zum
   Verschlu:sseln des Datenverkehrs verwendet. Er dient lediglich der
   Authentifizierung der beiden racoon-Daemonen.

   Fu:r jeden entfernten Kommunikationspartner entha:lt psk.txt eine
   Zeile. Damit besteht die Datei psk.txt in unserem Beispiel aus
   einer Zeile (wir verwenden einen entfernten
   Kommunikationspartner).

   Auf dem Gateway #1 sieht diese Zeile wie folgt aus:

 W.X.Y.Z            geheim

   Die Zeile besteht aus der o:ffentlichen IP-Adresse der
   Gegenstelle, Leerzeichen und dem geheimen Schlu:ssel. Sie sollten
   natu:rlich nicht geheim verwenden. Fu:r den geheimen Schlu:ssel
   gelten dieselben Regeln wie fu:r Passwo:rter.

   Auf dem anderen Gateway sieht die Zeile folgendermassen aus:

 A.B.C.D            geheim

   Die Zeile besteht aus der o:ffentlichen IP-Adresse der
   Gegenstelle, Leerzeichen und dem geheimen Schlu:ssel. Die
   Zugriffsrechte von psk.txt mu:ssen auf 0600 (Lese- und
   Schreibzugriff nur fu:r root) gesetzt sein, bevor racoon gestartet
   wird.

   Auf beiden Gateway-Maschinen muss racoon laufen. Sie brauchen
   ebenfalls Firewall-Regeln, die IKE-Verkehr erlauben. IKE verwendet
   UDP, um Nachrichten zum ISAKMP-Port (Internet Security Association
   Key Management Protocol) zu schicken. Die Regeln sollten fru:h in
   der Regelkette auftauchen:

 ipfw add 1 allow udp from A.B.C.D to W.X.Y.Z isakmp
 ipfw add 1 allow udp from W.X.Y.Z to A.B.C.D isakmp

   Wenn racoon la:uft, ko:nnen Sie versuchen, mit ping von einem
   Gateway-Rechner aus den anderen Gateway zu erreichen. Die
   Verbindung wird zwar immer noch nicht verschlu:sselt, aber racoon
   wird die Security-Association zwischen beiden Systemen einrichten.
   Dies kann eine Weile dauern, und Sie bemerken vielleicht eine
   kleine Verzo:gerung, bevor die Antworten von der Gegenstelle
   kommen.

   Die Security-Association ko:nnen Sie sich auf einem der beiden
   Gateway-Systeme mit setkey(8) ansehen:

 setkey -D

   Damit ist die erste Ha:lfte der Arbeit getan. Jetzt muss noch die
   Security-Policy konfiguriert werden.

   Damit wir eine sinnvolle Security-Policy erstellen ko:nnen, fassen
   wir das bisher geleistete zusammen. Die Diskussion gilt fu:r beide
   Enden des Tunnels.

   Jedes gesendete IP-Paket entha:lt im Header Informationen u:ber
   das Paket selbst. Im Header befinden sich die IP-Adressen des
   Senders und des Empfa:ngers. Wie wir bereits wissen, du:rfen
   private IP-Adressen, wie 192.168.x.y nicht auf das Internet
   gelangen. Pakete zu privaten IP-Adressen mu:ssen zuerst in einem
   anderen Paket gekapselt werden. In diesem Paket werden die
   privaten IP-Adressen durch o:ffentliche IP-Adressen ersetzt.

   Das ausgehende Paket hat beispielsweise wie folgt ausgesehen:

   .----------------------.
   | Src: 192.168.1.1     |
   | Dst: 192.168.2.1     |
   | <other header info>  |
   +----------------------+
   | <packet data>        |
   `----------------------'

   Es wird in ein anderes Paket umgepackt (gekapselt) und sieht
   danach wie folgt aus:

   .--------------------------.
   | Src: A.B.C.D             |
   | Dst: W.X.Y.Z             |
   | <other header info>      |
   +--------------------------+
   | .----------------------. |
   | | Src: 192.168.1.1     | |
   | | Dst: 192.168.2.1     | |
   | | <other header info>  | |
   | +----------------------+ |
   | | <packet data>        | |
   | `----------------------' |
   `--------------------------'

   Die Kapselung wird vom gif-Gera:t vorgenommen. Das neue Paket
   entha:lt im Header eine o:ffentliche IP-Adresse und der Datenteil
   des Pakets entha:lt das urspru:ngliche Paket.

   Natu:rlich soll der gesamte Datenverkehr des VPNs verschlu:sselt
   werden. Dies kann man wie folgt ausdru:cken:

   "Wenn ein Paket von A.B.C.D zu W.X.Y.Z geschickt wird,
   verschlu:ssele es entsprechend der Security-Association."

   "Wenn ein Paket von W.X.Y.Z kommt und fu:r A.B.C.D bestimmt ist,
   entschlu:ssele es entsprechend der Security-Association."

   Das ist fast richtig. Mit diesen Regeln wu:rde der ganze Verkehr
   von und zu W.X.Y.Z verschlu:sselt, auch wenn er nicht zum VPN
   geho:rt. Die richtige Formulierung lautet:

   "Wenn ein Paket, das ein gekapseltes Paket entha:lt, von A.B.C.D
   zu W.X.Y.Z geschickt wird, verschlu:ssele es entsprechend der
   Security-Association."

   "Wenn ein Paket, das ein gekapseltes Paket entha:lt, von W.X.Y.Z
   kommt und fu:r A.B.C.D bestimmt ist, entschlu:ssele es
   entsprechend der Security-Association."

   Dies ist eine zwar subtile aber eine notwendige A:nderung.

   Die Security-Policy ko:nnen Sie mit setkey(8) erstellen. setkey(8)
   besitzt eine Konfigurations-Syntax zur Erstellung der
   Security-Policy. Sie ko:nnen die Konfiguration u:ber die
   Standardeingabe oder in einer Datei, die Sie mit der Option -f
   angeben, erstellen.

   Gateway #1 (o:ffentliche IP-Adresse: A.B.C.D) muss folgendermassen
   konfiguriert werden, um alle ausgehenden Pakete an W.X.Y.Z zu
   verschlu:sseln:

 spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P out ipsec esp/tunnel/A.B.C.D-W.X.Y.Z/require;

   Speichern Sie dieses Kommando in einer Datei, beispielsweise
   /etc/ipsec.conf ab. Rufen Sie anschliessend das nachstehende
   Kommando auf:

 # setkey -f /etc/ipsec.conf

   spdadd weist setkey(8) an, der Security-Policy-Datenbank eine
   Regel hinzuzufu:gen. Der Rest der Zeile gibt an, auf welche Pakete
   diese Regel zutrifft. A.B.C.D/32 und W.X.Y.Z/32 sind die
   IP-Adressen und Netzmasken, die Systeme angeben, auf die diese
   Regel zutrifft. Im Beispiel gilt die Regel fu:r die beiden
   Gateway-Systeme. ipencap zeigt an, dass die Regel nur fu:r Pakete
   gilt, die gekapselte Pakete enthalten. -P out legt fest, dass die
   Regel nur fu:r ausgehende Pakete gilt.

   ipsec gibt an, dass die Pakete geschu:tzt werden. Das benutzte
   Protokoll wird durch esp angegeben. tunnel kapselt das Paket in
   ein IPsec-Paket. Die nochmalige Angabe von A.B.C.D und W.X.Y.Z
   gibt die Security-Association an. Das abschliessende require
   erzwingt die Verschlu:sselung der Pakete.

   Diese Regel gilt nur fu:r ausgehende Pakete. Sie brauchen eine
   analoge Regel fu:r eingehende Pakete:

 spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P in ipsec esp/tunnel/W.X.Y.Z-A.B.C.D/require;

   In dieser Regel wird in anstelle von out benutzt und die
   IP-Adressen sind notwendigerweise umgekehrt angegeben.

   Das zweite Gateway-System mit der IP-Adresse W.X.Y.Z braucht
   entsprechende Regeln:

 spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P out ipsec esp/tunnel/W.X.Y.Z-A.B.C.D/require;
 spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P in ipsec esp/tunnel/A.B.C.D-W.X.Y.Z/require;

   Schliesslich brauchen Sie auf beiden Gateway-Systemen noch
   Firewall-Regeln, die ESP- und IPENCAP-Pakete in beide Richtungen
   erlauben:

 ipfw add 1 allow esp from A.B.C.D to W.X.Y.Z
 ipfw add 1 allow esp from W.X.Y.Z to A.B.C.D
 ipfw add 1 allow ipencap from A.B.C.D to W.X.Y.Z
 ipfw add 1 allow ipencap from W.X.Y.Z to A.B.C.D

   Da die Regeln symmetrisch sind, ko:nnen sie auf beiden Systemen
   verwendet werden.

   Damit sehen ausgehende Pakete wie folgt aus:

   .------------------------------.  --------------------------.
   | Src: A.B.C.D                 |                            |
   | Dst: W.X.Y.Z                 |                            |
   | < weitere Header  >          |                            |  Encrypted
   +------------------------------+                            |  packet.
   | .--------------------------. |  -------------.            |  contents
   | | Src: A.B.C.D             | |               |            |  are
   | | Dst: W.X.Y.Z             | |               |            |  completely
   | | < weitere Header  >      | |               |            |- secure
   | +--------------------------+ |               |  Encap'd   |  from third
   | | .----------------------. | |  -.           |  packet    |  party
   | | | Src: 192.168.1.1     | | |   |  Original |- with real |  snooping
   | | | Dst: 192.168.2.1     | | |   |  packet,  |  IP addr   |
   | | | < weitere Header  >  | | |   |- private  |            |
   | | +----------------------+ | |   |  IP addr  |            |
   | | | <Paket-Daten>        | | |   |           |            |
   | | `----------------------' | |  -'           |            |
   | `--------------------------' |  -------------'            |
   `------------------------------'  --------------------------'
              

   Am anderen Ende des VPNs werden die Pakete zuerst entsprechend der
   von racoon ausgehandelten Security-Association entschlu:sselt. Das
   gif-Interface entfernt dann die zweite Schicht, damit das
   urspru:ngliche Paket zum Vorschein kommt. Dieses kann dann in das
   interne Netzwerk transportiert werden.

   Dass die Pakete wirklich verschlu:sselt werden, ko:nnen Sie wieder
   mit ping(8) u:berpru:fen. Melden Sie sich auf dem Gateway A.B.C.D
   an und rufen das folgende Kommando auf:

 tcpdump dst host 192.168.2.1

   Auf demselben Rechner setzen Sie dann noch das nachstehende
   Kommando ab:

 ping 192.168.2.1

   Dieses Mal wird die Ausgabe wie folgt aussehen:

 XXX tcpdump output

   Jetzt zeigt tcpdump(1) ESP-Pakete an. Auch wenn Sie diese mit der
   Option -s untersuchen, werden Sie wegen der Verschlu:sselung nur
   unversta:ndliche Zeichen sehen.

   Herzlichen Glu:ckwunsch. Sie haben soeben ein VPN zwischen zwei
   entfernten Netzen eingerichtet.

   Zusammenfassung

     * IPsec muss in beiden Kernelkonfigurationsdateien enthalten
       sein:

 options IPSEC
 options IPSEC_ESP

     * Installieren Sie den Port security/ipsec-tools. Tragen Sie auf
       beiden Rechnern in ${PREFIX}/etc/racoon/psk.txt jeweils die
       IP-Adresse des entfernten Gateways und den geheimen Schlu:ssel
       ein. Setzen Sie die Zugriffsrechte der Datei auf 0600.

     * Fu:gen Sie auf jedem Rechner die folgenden Zeilen zu
       /etc/rc.conf hinzu:

 ipsec_enable="YES"
 ipsec_file="/etc/ipsec.conf"

     * Erstellen Sie auf jedem Rechner die Datei /etc/ipsec.conf mit
       den no:tigen spadd-Zeilen. Auf dem Gateway #1 hat die Datei
       folgenden Inhalt:

 spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P out ipsec
   esp/tunnel/A.B.C.D-W.X.Y.Z/require;
 spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P in ipsec
   esp/tunnel/W.X.Y.Z-A.B.C.D/require;

       Auf dem Gateway #2 sieht die Datei so aus:

 spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P out ipsec
   esp/tunnel/W.X.Y.Z-A.B.C.D/require;
 spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P in ipsec
   esp/tunnel/A.B.C.D-W.X.Y.Z/require;

     * Fu:gen Sie auf beiden Rechnern Firewall-Regeln hinzu, die
       IKE-, ESP- und IPENCAP-Verkehr erlauben:

 ipfw add 1 allow udp from A.B.C.D to W.X.Y.Z isakmp
 ipfw add 1 allow udp from W.X.Y.Z to A.B.C.D isakmp
 ipfw add 1 allow esp from A.B.C.D to W.X.Y.Z
 ipfw add 1 allow esp from W.X.Y.Z to A.B.C.D
 ipfw add 1 allow ipencap from A.B.C.D to W.X.Y.Z
 ipfw add 1 allow ipencap from W.X.Y.Z to A.B.C.D

   Das VPN wurde in zwei Schritten eingerichtet. Maschinen auf beiden
   Netzen ko:nnen miteinander kommunizieren und der Datenverkehr
   zwischen beiden Netzen wird automatisch verschlu:sselt.

     --------------------------------------------------------------

14.11. OpenSSH

   Beigetragen von Chern Lee.

   OpenSSH stellt Werkzeuge bereit, um sicher auf entfernte Maschinen
   zuzugreifen. Die Kommandos rlogin, rsh, rcp und telnet ko:nnen
   durch OpenSSH ersetzt werden. Zusa:tzlich ko:nnen
   TCP/IP-Verbindungen sicher durch SSH weitergeleitet (getunnelt)
   werden. Mit SSH werden alle Verbindungen verschlu:sselt, dadurch
   wird verhindert, dass die Verbindung zum Beispiel abgeho:rt oder
   u:bernommen (Hijacking) werden kann.

   OpenSSH wird vom OpenBSD-Projekt gepflegt und basiert auf
   SSH v1.2.12 mit allen aktuellen Fixen und Aktualisierungen.
   OpenSSH ist mit den SSH-Protokollen der Versionen 1 und 2
   kompatibel.

     --------------------------------------------------------------

  14.11.1. Vorteile von OpenSSH

   Mit telnet(1) oder rlogin(1) werden Daten in einer
   unverschlu:sselten Form u:ber das Netzwerk gesendet. Daher besteht
   die Gefahr, das Benutzer/Passwort Kombinationen oder alle Daten an
   beliebiger Stelle zwischen dem Client und dem Server abgeho:rt
   werden. Mit OpenSSH stehen eine Reihe von Authentifizierungs- und
   Verschlu:sselungsmethoden zur Verfu:gung, um das zu verhindern.

     --------------------------------------------------------------

  14.11.2. Aktivieren von sshd

   Unter FreeBSD entscheidet der Anwender bei einer
   Standard-Installation, ob der sshd-Daemon aktiviert werden soll.
   Um zu u:berpru:fen, ob sshd auf Ihrem System aktiviert ist, suchen
   Sie in rc.conf nach der folgenden Zeile:

 sshd_enable="YES"

   Ist diese Zeile vorhanden, wird sshd(8), der OpenSSH-Daemon, beim
   Systemstart automatisch aktiviert. Alternativ ko:nnen Sie OpenSSH
   auch u:ber das rc(8)-Skript /etc/rc.d/sshd starten:

 /etc/rc.d/sshd start

     --------------------------------------------------------------

  14.11.3. SSH Client

   ssh(1) arbeitet a:hnlich wie rlogin(1):

 # ssh user@example.com
 Host key not found from the list of known hosts.
 Are you sure you want to continue connecting (yes/no)? yes
 Host 'example.com' added to the list of known hosts.
 user@example.com's password: *******

   Der Anmeldevorgang wird danach, wie von rlogin oder telnet
   gewohnt, weiterlaufen. SSH speichert einen Fingerabdruck des
   Serverschlu:ssels. Die Aufforderung, yes einzugeben, erscheint nur
   bei der ersten Verbindung zu einem Server. Weitere Verbindungen zu
   dem Server werden gegen den gespeicherten Fingerabdruck des
   Schlu:ssels gepru:ft und der Client gibt eine Warnung aus, wenn
   sich der empfangene Fingerabdruck von dem gespeicherten
   unterscheidet. Die Fingerabdru:cke der Version 1 werden in
   ~/.ssh/known_hosts, die der Version 2 in ~/.ssh/known_hosts2
   gespeichert.

   In der Voreinstellung akzeptieren aktuelle OpenSSH-Server nur
   SSH v2 Verbindungen. Wenn mo:glich, wird Version 2 verwendet, ist
   dies nicht mo:glich, fa:llt der Server auf Version 1 zuru:ck. Der
   Client kann gezwungen werden, nur eine der beiden Versionen zu
   verwenden, indem die Option -1 (fu:r die Version 1) oder -2 (fu:r
   die Version 2) u:bergeben wird. Die Unterstu:tzung fu:r Version 1
   ist nur noch aus Kompatibilita:tsgru:nden zu a:lteren Versionen
   enthalten.

     --------------------------------------------------------------

  14.11.4. Secure Copy

   Mit scp(1) lassen sich Dateien analog wie mit rcp(1) auf entfernte
   Maschinen kopieren. Mit scp werden die Dateien allerdings in einer
   sicheren Weise u:bertragen.

 #  scp user@example.com:/COPYRIGHT COPYRIGHT
 user@example.com's password:
 COPYRIGHT            100% |*****************************|  4735
 00:00
 #

   Da der Fingerabdruck schon im vorigen Beispiel abgespeichert
   wurde, wird er bei der Verwendung von scp in diesem Beispiel
   u:berpru:ft. Da die Fingerabdru:cke u:bereinstimmen, wird keine
   Warnung ausgegeben.

   Die Argumente, die scp u:bergeben werden, gleichen denen von cp in
   der Beziehung, dass die ersten Argumente die zu kopierenden
   Dateien sind und das letzte Argument den Bestimmungsort angibt. Da
   die Dateien u:ber das Netzwerk kopiert werden, ko:nnen ein oder
   mehrere Argumente die Form user@host:<path_to_remote_file>
   besitzen.

     --------------------------------------------------------------

  14.11.5. Konfiguration

   Die fu:r das ganze System gu:ltigen Konfigurationsdateien des
   OpenSSH-Daemons und des Clients finden sich in dem Verzeichnis
   /etc/ssh.

   Die Client-Konfiguration befindet sich in ssh_config, die des
   Servers befindet sich in sshd_config.

   Das SSH-System la:sst sich weiterhin u:ber die Anweisungen
   sshd_program (Vorgabe ist /usr/sbin/sshd) und sshd_flags in
   /etc/rc.conf konfigurieren.

     --------------------------------------------------------------

  14.11.6. ssh-keygen

   Mit ssh-keygen(1) ko:nnen DSA- oder RSA-Schlu:ssel fu:r einen
   Benutzer erzeugt werden, die anstelle von Passwo:rtern verwendet
   werden ko:nnen:

 % ssh-keygen -t dsa
 Generating public/private dsa key pair.
 Enter file in which to save the key (/home/user/.ssh/id_dsa):
 Created directory '/home/user/.ssh'.
 Enter passphrase (empty for no passphrase):
 Enter same passphrase again:
 Your identification has been saved in /home/user/.ssh/id_dsa.
 Your public key has been saved in /home/user/.ssh/id_dsa.pub.
 The key fingerprint is:
 bb:48:db:f2:93:57:80:b6:aa:bc:f5:d5:ba:8f:79:17 user@host.example.com

   ssh-keygen(1) erzeugt einen o:ffentlichen und einen privaten
   Schlu:ssel fu:r die Authentifizierung. Der private Schlu:ssel wird
   in ~/.ssh/id_dsa oder ~/.ssh/id_rsa gespeichert, wa:hrend sich der
   o:ffentliche Schlu:ssel in ~/.ssh/id_dsa.pub oder
   ~/.ssh/id_rsa.pub befindet, je nachdem, ob es sich um einen DSA-
   oder einen RSA-Schlu:ssel handelt. Der o:ffentliche Schlu:ssel
   muss sowohl fu:r RSA- als auch fu:r DSA-Schlu:ssel in die Datei
   ~/.ssh/authorized_keys auf dem entfernten Rechner aufgenommen
   werden, damit der Schlu:ssel funktioniert.

   Damit werden Verbindungen zu der entfernten Maschine u:ber
   SSH-Schlu:sseln anstelle von Passwo:rtern authentifiziert.

   Wenn bei der Erstellung der Schlu:ssel mit ssh-keygen(1) ein
   Passwort angegeben wurde, wird der Benutzer bei jeder Anmeldung
   zur Eingabe des Passworts aufgefordert. Um den Umgang mit
   SSH-Schlu:sseln zu erleichtern, kann ssh-agent(1) die Verwaltung
   dieser Schlu:ssel fu:r Sie u:bernehmen. Lesen Sie dazu den
   Abschnitt 14.11.7 weiter unten.

     Warnung: Die Kommandozeilenoptionen und Dateinamen sind
     abha:ngig von der OpenSSH-Version. Die fu:r Ihr System gu:ltigen
     Optionen finden Sie in der Hilfeseite ssh-keygen(1).

     --------------------------------------------------------------

  14.11.7. ssh-agent und ssh-add

   Mit ssh-agent(1) und ssh-add(1) ist es mo:glich, SSH-Schlu:ssel in
   den Speicher zu laden, damit die Passphrase nicht jedesmal
   eingegeben werden muss.

   ssh-agent(1) u:bernimmt die Authentifizierung von ihm geladener
   privater Schlu:ssel. ssh-agent(1) sollte nur dazu verwendet
   werden, ein anderes Programm zu starten, beispielsweise eine Shell
   oder einen Window-Manager.

   Um ssh-agent(1) in einer Shell zu verwenden, muss es mit einer
   Shell als Argument aufgerufen werden. Zusa:tzlich mu:ssen die zu
   verwaltende Identita:t (durch ssh-add(1)) sowie deren Passphrase
   fu:r den privaten Schlu:ssel u:bergeben werden. Nachdem dies
   erledigt ist, kann sich ein Benutzer u:ber ssh(1) auf jedem
   Rechner anmelden, der einen entsprechenden o:ffentlichen
   Schlu:ssel besitzt. Dazu ein Beispiel:

 % ssh-agent csh
 % ssh-add
 Enter passphrase for /home/user/.ssh/id_dsa:
 Identity added: /home/user/.ssh/id_dsa (/home/user/.ssh/id_dsa)
 %

   Um ssh-agent(1) unter X11 zu verwenden, mu:ssen Sie ssh-agent(1)
   in Ihre ~/.xinitrc aufnehmen. Dadurch ko:nnen alle unter X11
   gestarteten Programme die Dienste von ssh-agent(1) nutzen. Ihre
   ~/.xinitrc ko:nnte dazu etwas so aussehen:

 exec ssh-agent startxfce4

   Dadurch wird bei jedem Start von X11 zuerst ssh-agent(1)
   aufgerufen, das wiederum XFCE startet. Nachdem Sie diese A:nderung
   durchgefu:hrt haben, mu:ssen Sie X11 neu starten. Danach ko:nnen
   Sie mit ssh-add(1) Ihre SSH-Schlu:ssel laden.

     --------------------------------------------------------------

  14.11.8. SSH-Tunnel

   Mit OpenSSH ist es mo:glich, einen Tunnel zu erstellen, in dem ein
   anderes Protokoll verschlu:sselt u:bertragen wird.

   Das folgende Kommando erzeugt einen Tunnel fu:r telnet:

 % ssh -2 -N -f -L 5023:localhost:23 user@foo.example.com
 %

   Dabei wurden die folgenden Optionen von ssh verwendet:

   -2

           Erzwingt die Version 2 des Protokolls (Benutzen Sie die
           Option nicht mit langsamen SSH-Servern).

   -N

           Zeigt an, dass ein Tunnel erstellt werden soll. Ohne diese
           Option wu:rde ssh eine normale Sitzung o:ffnen.

   -f

           Zwingt ssh im Hintergrund zu laufen.

   -L

           Ein lokaler Tunnel wird in der Form
           localport:remotehost:remoteport angegeben. Die Verbindung
           wird dabei von dem lokalen Port localport auf einen
           entfernten Rechner weitergeleitet.

   user@foo.example.com

           Gibt den entfernten SSH server an.

   Ein SSH-Tunnel erzeugt ein Socket auf localhost und dem
   angegebenen Port. Jede Verbindung, die auf dem angegebenen Socket
   aufgemacht wird, wird dann auf den spezifizierten entfernten
   Rechner und Port weitergeleitet.

   Im Beispiel wird der Port 5023 auf die entfernte Maschine und dort
   auf localhost Port 23 weitergeleitet. Da der Port 23 fu:r Telnet
   reserviert ist, erzeugt das eine sichere Telnet-Verbindung durch
   einen SSH-Tunnel.

   Diese Vorgehensweise kann genutzt werden, um jedes unsichere
   TCP-Protokoll wie SMTP, POP3, FTP, usw. weiterzuleiten.

   Beispiel 14-1. Mit SSH einen sicheren Tunnel fu:r SMTP erstellen

 % ssh -2 -N -f -L 5025:localhost:25 user@mailserver.example.com
 user@mailserver.example.com's password: *****
 % telnet localhost 5025
 Trying 127.0.0.1...
 Connected to localhost.
 Escape character is '^]'.
 220 mailserver.example.com ESMTP

   Zusammen mit ssh-keygen(1) und zusa:tzlichen Benutzer-Accounts
   ko:nnen Sie leicht benutzbare SSH-Tunnel aufbauen. Anstelle von
   Passwo:rtern ko:nnen Sie Schlu:ssel benutzen und jeder Tunnel kann
   unter einem eigenen Benutzer laufen.

     --------------------------------------------------------------

    14.11.8.1. Beispiel fu:r SSH-Tunnel

      14.11.8.1.1. Sicherer Zugriff auf einen POP3-Server

   Nehmen wir an, an Ihrer Arbeitsstelle gibt es einen SSH-Server,
   der Verbindungen von aussen akzeptiert. Auf dem Netzwerk Ihrer
   Arbeitsstelle soll sich zudem noch ein Mail-Server befinden, der
   POP3 spricht. Das Netzwerk oder die Verbindung von Ihrem Haus zu
   Ihrer Arbeitsstelle ist unsicher und daher mu:ssen Sie Ihre E-Mail
   u:ber eine gesicherte Verbindung abholen ko:nnen. Die Lo:sung zu
   diesem Problem besteht darin, eine SSH-Verbindung von Ihrem Haus
   zu dem SSH-Server an Ihrer Arbeitsstelle aufzubauen, und von dort
   weiter zum Mail-Server zu tunneln.

 % ssh -2 -N -f -L 2110:mail.example.com:110 user@ssh-server.example.com
 user@ssh-server.example.com's password: ******

   Wenn Sie den Tunnel eingerichtet haben, konfigurieren Sie Ihren
   Mail-Client so, dass er POP3 Anfragen zu localhost Port 2110
   sendet. Die Verbindung wird dann sicher zu mail.example.com
   weitergeleitet.

     --------------------------------------------------------------

      14.11.8.1.2. Umgehen einer strengen Firewall

   Einige Netzwerkadministratoren stellen sehr drakonische
   Firewall-Regeln auf, die nicht nur einkommende Verbindungen
   filtern, sondern auch ausgehende. Es kann sein, dass Sie externe
   Maschinen nur u:ber die Ports 22 und 80 (SSH und Web) erreichen.

   Sie wollen auf einen Dienst, der vielleicht nichts mit Ihrer
   Arbeit zu tun hat, wie einen Ogg Vorbis Musik-Server, zugreifen.
   Wenn der Ogg Vorbis Server nicht auf den Ports 22 oder 80 la:uft,
   ko:nnen Sie aber nicht auf ihn zugreifen.

   Die Lo:sung hier ist es, eine SSH-Verbindung zu einer Maschine
   ausserhalb der Firewall aufzumachen und durch diese zum Ogg Vorbis
   Server zu tunneln.

 % ssh -2 -N -f -L 8888:music.example.com:8000 user@unfirewalled-system.example.org
 user@unfirewalled-system.example.org's password: *******

   Konfigurieren Sie Ihren Client so, dass er localhost und Port 8888
   benutzt. Die Verbindung wird dann zu music.example.com Port 8000
   weitergeleitet und Sie haben die Firewall erfolgreich umgangen.

     --------------------------------------------------------------

  14.11.9. Die Option AllowUsers

   Es ist in der Regel ein gute Idee, festzulegen, welche Benutzer
   sich von welchem Rechner aus anmelden ko:nnen. Dies la:sst sich
   beispielsweise u:ber die Option AllowUsers festlegen. Soll sich
   etwa nur root vom Rechner mit der IP-Adresse 192.168.1.32 aus
   einwa:hlen du:rfen, wu:rden Sie folgenden Eintrag in
   /etc/ssh/sshd_config aufnehmen:

 AllowUsers root@192.168.1.32

   Damit sich admin von jedem Rechner aus anmelden kann, geben Sie
   nur den Benutzernamen an:

 AllowUsers admin

   Sie ko:nnen auch mehrere Benutzer in einer Zeile auffu:hren:

 AllowUsers root@192.168.1.32 admin

     Anmerkung: Nur ein Benutzer, der in dieser Liste aufgefu:hrt
     ist, darf sich auf diesem Rechner anmelden.

   Nachdem Sie /etc/ssh/sshd_config angepasst haben, muss sshd(8)
   seine Konfigurationsdateien neu einlesen. Dazu geben Sie Folgendes
   ein:

 # /etc/rc.d/sshd reload

     --------------------------------------------------------------

  14.11.10. Weiterfu:hrende Informationen

   OpenSSH

   ssh(1) scp(1) ssh-keygen(1) ssh-agent(1) ssh-add(1) ssh_config(5)

   sshd(8) sftp-server(8) sshd_config(5)

     --------------------------------------------------------------

14.12. Zugriffskontrolllisten fu:r Dateisysteme

   Beigetragen von Tom Rhodes.

   Zusammen mit anderen Verbesserungen des Dateisystems wie
   Schnappschu:sse gibt es ab FreeBSD 5.0 Zugriffskontrolllisten
   (access control list, ACL).

   Zugriffskontrolllisten erweitern die normalen Zugriffsrechte von
   UNIX Systemen auf eine kompatible (POSIX.1e) Weise und bieten
   feiner granulierte Sicherheitsmechanismen.

   Zugriffskontrolllisten fu:r Dateisysteme werden mit der
   nachstehenden Zeile in der Kernelkonfiguration aktiviert:

 options UFS_ACL

   Diese Option ist in der GENERIC-Konfiguration aktiviert. Das
   System gibt eine Warnung aus, wenn ein Dateisystem mit ACLs
   eingehangen werden soll und die Unterstu:tzung fu:r ACLs nicht im
   Kernel aktiviert ist. Das Dateisystem muss weiterhin erweiterte
   Attribute zur Verfu:gung stellen, damit ACLs verwendet werden
   ko:nnen. Das neue UNIX-Dateisystem UFS2 stellt diese Attribute
   standardma:ssig zur Verfu:gung.

     Anmerkung: Die Konfiguration erweiterter Attribute auf UFS1 ist
     mit einem ho:heren Aufwand als die Konfiguration erweiterter
     Attribute auf UFS2 verbunden. Zudem ist UFS2 mit erweiterten
     Attributen leistungsfa:higer als UFS1. Zugriffskontrolllisten
     sollten daher mit UFS2 verwendet werden.

   Die Angabe der Option acl in /etc/fstab aktiviert
   Zugriffskontrolllisten fu:r ein Dateisystem. Die bevorzugte
   Mo:glichkeit ist die Verwendung von Zugriffskontrolllisten mit
   tunefs(8) (Option -a), im Superblock des Dateisystems
   festzuschreiben. Diese Mo:glichkeit hat mehrere Vorteile:

     * Nochmaliges Einha:ngen eines Dateisystems (Option -u von
       mount(8)) vera:ndert den Status der Zugriffskontrolllisten
       nicht. Die Verwendung von Zugriffskontrolllisten kann nur
       durch Abha:ngen und erneutes Einha:ngen eines Dateisystems
       vera:ndert werden. Das heisst auch, dass
       Zugriffskontrolllisten nicht nachtra:glich auf dem
       Root-Dateisystem aktiviert werden ko:nnen.

     * Die Zugriffskontrolllisten auf den Dateisystemen sind,
       unabha:ngig von den Option in /etc/fstab oder
       Namensa:nderungen der Gera:te, immer aktiv. Dies verhindert
       auch, dass Zugriffskontrolllisten aus Versehen auf Dateisystem
       ohne Zugriffskontrolllisten aktiviert werden und durch falsche
       Zugriffsrechte Sicherheitsprobleme entstehen.

     Anmerkung: Es kann sein, dass sich der Status von
     Zugriffskontrolllisten spa:ter durch nochmaliges Einha:ngen des
     Dateisystems (Option -u von mount(8)) a:ndern la:sst. Die
     momentane Variante ist aber sicherer, da der Status der
     Zugriffskontrolllisten nicht versehentlich gea:ndert werden
     kann. Allgemein sollten Zugriffskontrolllisten auf einem
     Dateisystem, auf dem sie einmal verwendet wurden, nicht
     deaktiviert werden, da danach die Zugriffsrechte falsch sein
     ko:nnen. Werden Zugriffskontrolllisten auf einem solchen
     Dateisystem wieder aktiviert, werden die Zugriffsrechte von
     Dateien, die sich zwischenzeitlich gea:ndert haben,
     u:berschrieben, was zu erneuten Problemen fu:hrt.

   Die Zugriffsrechte einer Datei werden durch ein + (Plus)
   gekennzeichnet, wenn die Datei durch Zugriffskontrolllisten
   geschu:tzt ist:

 drwx------  2 robert  robert  512 Dec 27 11:54 private
 drwxrwx---+ 2 robert  robert  512 Dec 23 10:57 directory1
 drwxrwx---+ 2 robert  robert  512 Dec 22 10:20 directory2
 drwxrwx---+ 2 robert  robert  512 Dec 27 11:57 directory3
 drwxr-xr-x  2 robert  robert  512 Nov 10 11:54 public_html

   Die Verzeichnisse directory1, directory2 und directory3 sind durch
   Zugriffskontrolllisten geschu:tzt, das Verzeichnis public_html
   nicht.

     --------------------------------------------------------------

  14.12.1. Zugriffskontrolllisten benutzen

   Das Werkzeug getfacl(1) zeigt Zugriffskontrolllisten an. Das
   folgende Kommando zeigt die ACLs auf der Datei test:

 % getfacl test
         #file:test
         #owner:1001
         #group:1001
         user::rw-
         group::r--
         other::r--

   Das Werkzeug setfacl(1) a:ndert oder entfernt ACLs auf Dateien.
   Zum Beispiel:

 % setfacl -k test

   Die Option -k entfernt alle ACLs einer Datei oder eines
   Dateisystems. Besser wa:re es, die Option -b zu verwenden, da sie
   die erforderlichen Felder beibeha:lt.

 % setfacl -m u:trhodes:rwx,g:web:r--,o::--- test

   Mit dem vorstehenden Kommando werden die eben entfernten
   Zugriffskontrolllisten wiederhergestellt. Der Befehl gibt die
   Fehlermeldung "Invalid argument" aus, wenn Sie nicht existierende
   Benutzer oder Gruppen als Parameter angeben.

     --------------------------------------------------------------

14.13. Sicherheitsprobleme in Software Dritter u:berwachen

   Beigetragen von Tom Rhodes.

   In den letzten Jahren wurden zahlreiche Verbesserungen in der
   Einscha:tzung und dem Umgang mit Sicherheitsproblemen erzielt. Die
   Gefahr von Einbru:chen in ein System wird aber immer gro:sser, da
   Softwarepakete von Dritten auf nahezu jedem Betriebssystem
   installiert und konfiguriert werden.

   Die Einscha:tzung der Verletzlichkeit eines Systems ist ein
   Schlu:sselfaktor fu:r dessen Sicherheit. FreeBSD vero:ffentlicht
   zwar Sicherheitshinweise (security advisories) fu:r das
   Basissystem, das Projekt ist allerdings nicht dazu in der Lage,
   dies auch fu:r die zahlreichen Softwarepakete von Dritten zu tun.
   Dennoch gibt es einen Weg, auch diese Programmpakete zu
   u:berwachen. Das in der Ports-Sammlung enthaltene Programm
   Portaudit wurde gezielt dafu:r entwickelt.

   Der Port security/portaudit fragt dazu eine Datenbank, die vom
   FreeBSD Security Team sowie den Ports-Entwicklern aktualisiert und
   gewartet wird, auf bekannte Sicherheitsprobleme ab.

   Bevor Sie Portaudit verwenden ko:nnen, mu:ssen Sie es u:ber die
   Ports-Sammlung installieren:

 # cd /usr/ports/security/portaudit && make install clean

   Wa:hrend der Installation werden die Konfigurationsdateien fu:r
   periodic(8) aktualisiert, was es Portaudit erlaubt, seine Ausgabe
   in den ta:glichen Sicherheitsbericht einzufu:gen. Stellen Sie auf
   jeden Fall sicher, dass diese (an das E-Mail-Konto von root
   gesendeten) Sicherheitsberichte auch gelesen werden. An dieser
   Stelle ist keine weitere Konfiguration no:tig.

   Nach der Installation kann ein Administrator die unter
   /var/db/portaudit lokal gespeicherte Datenbank aktualisieren und
   sich danach durch folgenden Befehl u:ber mo:gliche
   Sicherheitslu:cken der von ihm installierten Softwarepakete
   informieren:

 # portaudit -Fda

     Anmerkung: Die Datenbank wird automatisch aktualisiert, wenn
     periodic(8) ausgefu:hrt wird. Der eben genannte Befehl ist daher
     optional, er wird aber fu:r das folgende Beispiel beno:tigt.

   Nach erfolgter Installation der Datenbank kann ein Administrator
   u:ber die Ports-Sammlung installierte Softwarepakete Dritter
   jederzeit u:berpru:fen. Dazu muss er lediglich folgenden Befehl
   eingeben:

 # portaudit -a

   Existiert in Ihren installierten Softwarepaketen eine
   Sicherheitslu:cke, wird Portaudit eine Ausgabe a:hnlich der
   folgenden produzieren:

 Affected package: cups-base-1.1.22.0_1
 Type of problem: cups-base -- HPGL buffer overflow vulnerability.
 Reference: <http://www.FreeBSD.org/ports/portaudit/40a3bca2-6809-11d9-a9e7-0001020eed82.html>

 1 problem(s) in your installed packages found.

 You are advised to update or deinstall the affected package(s) immediately.

   Wenn Sie die angegebene URL u:ber einen Internetbrowser aufrufen,
   erhalten Sie weitere Informationen u:ber die bestehende
   Sicherheitslu:cke, wie die betroffenen Versionen, die Version des
   FreeBSD-Ports sowie Hinweise auf weitere Seiten, die ebenfalls
   Sicherheitshinweise zu diesem Problem bieten.

   Portaudit ist ein ma:chtiges Werkzeug und insbesondere in
   Zusammenarbeit mit dem Port Portupgrade a:usserst hilfreich.

     --------------------------------------------------------------

14.14. FreeBSD Sicherheitshinweise

   Beigesteuert von Tom Rhodes.

   Wie fu:r andere hochwertige Betriebssysteme auch werden fu:r
   FreeBSD Sicherheitshinweise herausgegeben. Die Hinweise werden
   gewo:hnlich auf den Sicherheits-Mailinglisten und in den Errata
   vero:ffentlicht, nachdem das Sicherheitsproblem behoben ist.
   Dieser Abschnitt beschreibt den Umgang mit den
   Sicherheitshinweisen.

     --------------------------------------------------------------

  14.14.1. Wie sieht ein Sicherheitshinweis aus?

   Der nachstehende Sicherheitshinweis stammt von der Mailingliste
   freebsd-security-notifications:

 =============================================================================
 FreeBSD-SA-XX:XX.UTIL                                     Security Advisory
                                                           The FreeBSD Project

 Topic:          denial of service due to some problem(1)

 Category:       core(2)
 Module:         sys(3)
 Announced:      2003-09-23(4)
 Credits:        Person@EMAIL-ADDRESS(5)
 Affects:        All releases of FreeBSD(6)
                 FreeBSD 4-STABLE prior to the correction date
 Corrected:      2003-09-23 16:42:59 UTC (RELENG_4, 4.9-PRERELEASE)
                 2003-09-23 20:08:42 UTC (RELENG_5_1, 5.1-RELEASE-p6)
                 2003-09-23 20:07:06 UTC (RELENG_5_0, 5.0-RELEASE-p15)
                 2003-09-23 16:44:58 UTC (RELENG_4_8, 4.8-RELEASE-p8)
                 2003-09-23 16:47:34 UTC (RELENG_4_7, 4.7-RELEASE-p18)
                 2003-09-23 16:49:46 UTC (RELENG_4_6, 4.6-RELEASE-p21)
                 2003-09-23 16:51:24 UTC (RELENG_4_5, 4.5-RELEASE-p33)
                 2003-09-23 16:52:45 UTC (RELENG_4_4, 4.4-RELEASE-p43)
                 2003-09-23 16:54:39 UTC (RELENG_4_3, 4.3-RELEASE-p39)(7)
 CVE Name:    CVE-XXXX-XXXX(8)

 For general information regarding FreeBSD Security Advisories,
 including descriptions of the fields above, security branches, and the
 following sections, please visit
 http://www.FreeBSD.org/security/.

 I.   Background(9)


 II.  Problem Description(10)


 III. Impact(11)


 IV.  Workaround(12)


 V.   Solution(13)


 VI.  Correction details(14)


 VII. References(15)

   (1)
           Das Feld Topic entha:lt eine Beschreibung des
           Sicherheitsproblems und benennt das betroffene Programm.
   (2)
           Das Feld Category beschreibt den betroffenen Systemteil.
           Mo:gliche Werte fu:r dieses Feld sind core, contrib oder
           ports. Die Kategorie core gilt fu:r Kernkomponenten des
           FreeBSD-Betriebssystems, die Kategorie contrib beschreibt
           zum Basissystem geho:rende Software Dritter beispielsweise
           sendmail. Die Kategorie ports beschreibt Software, die
           Teil der Ports-Sammlung ist.
   (3)
           Das Feld Module beschreibt die betroffene Komponente. Im
           Beispiel ist sys angegeben, das heisst dieses Problem
           betrifft eine Komponente, die vom Kernel benutzt wird.
   (4)
           Das Feld Announced gibt den Zeitpunkt der Bekanntgabe des
           Sicherheitshinweises an. Damit existiert das
           Sicherheitsproblem, ist vom Sicherheits-Team besta:tigt
           worden und eine entsprechende Korrektur wurde in das
           Quellcode-Repository von FreeBSD gestellt.
   (5)
           Das Feld Credits gibt die Person oder Organisation an, die
           das Sicherheitsproblem bemerkte und gemeldet hat.
   (6)
           Welche FreeBSD-Releases betroffen sind, ist im Feld
           Affects angegeben. Die Version einer Datei, die zum Kernel
           geho:rt, ko:nnen Sie schnell mit ident ermitteln. Bei
           Ports ist die Versionsnummer angegeben, die Sie im
           Verzeichnis /var/db/pkg finden. Wenn Sie Ihr System nicht
           ta:glich aktualisieren, ist Ihr System wahrscheinlich
           betroffen.
   (7)
           Wann das Problem in welchem Release behoben wurde, steht
           im Feld Corrected.
   (8)
           Reserviert fu:r Informationen, u:ber die in der Common
           Vulnerabilities Database nach Sicherheitslu:cken gesucht
           werden kann.
   (9)
           Im Feld Background wird das betroffene Werkzeug
           beschrieben. Meist finden Sie hier warum das Werkzeug
           Bestandteil von FreeBSD ist, wofu:r es benutzt wird und
           eine kurze Darstellung der Herkunft des Werkzeugs.
   (10)
           Im Feld Problem Description befindet sich eine genaue
           Darstellung des Sicherheitsproblems. Hier wird
           fehlerhafter Code beschrieben oder geschildert, wie ein
           Werkzeug ausgenutzt wird.
   (11)
           Das Feld Impact beschreibt die Auswirkungen des
           Sicherheitsproblems auf ein System, beispielsweise
           erweiterte Rechte oder gar Superuser-Rechte fu:r normale
           Benutzer.
   (12)
           Im Feld Workaround wird eine Umgehung des
           Sicherheitsproblems beschrieben. Die Umgehung ist fu:r
           Administratoren gedacht, die ihr System aus Zeitnot,
           Netzwerk-technischen oder anderen Gru:nden nicht
           aktualisieren ko:nnen. Nehmen Sie Sicherheitsprobleme
           ernst: Auf einem betroffenen System sollte das Problem
           entweder behoben oder, wie hier beschrieben, umgangen
           werden.
   (13)
           Im Feld Solution entha:lt eine getestete
           Schritt-fu:r-Schritt Anleitung, die das Sicherheitsproblem
           behebt.
   (14)
           Das Feld Correction Details entha:lt die CVS-Tags der
           betroffenen Dateien zusammen mit zugeho:rigen
           Revisionsnummern.
   (15)
           Im Feld References finden sich Verweise auf weitere
           Informationsquellen. Dies ko:nnen URLs zu Webseiten,
           Bu:cher, Mailinglisten und Newsgroups sein.

     --------------------------------------------------------------

14.15. Prozess-U:berwachung

   Beigetragen von Tom Rhodes.

   Prozess-U:berwachung (Process accounting) ist ein
   Sicherheitsverfahren, bei dem ein Administrator verfolgt, welche
   Systemressourcen verwendet werden und wie sich diese auf die
   einzelnen Anwender verteilen. Dadurch kann das System u:berwacht
   werden und es ist sogar mo:glich, zu kontrollieren, welche Befehle
   ein Anwender eingibt.

   Diese Fa:higkeiten haben sowohl Vor- als auch Nachteile. Positiv
   ist, dass man ein Einbruchsversuch bis an den Anfang
   zuru:ckverfolgen kann. Von Nachteil ist allerdings, dass durch
   diesen Prozess Unmengen an Protokolldateien erzeugt werden, die
   auch dementsprechenden Plattenplatz beno:tigen. Dieser Abschnitt
   beschreibt die Grundlagen der Prozess-U:berwachung.

     --------------------------------------------------------------

  14.15.1. Die Prozess-U:berwachung aktivieren und konfigurieren

   Bevor Sie die Prozess-U:berwachung verwenden ko:nnen, mu:ssen Sie
   diese aktivieren. Dazu fu:hren Sie als root die folgenden Befehle
   aus:

 # touch /var/account/acct
 # accton /var/account/acct
 # echo 'accounting_enable="YES"' >> /etc/rc.conf

   Einmal aktiviert, wird sofort mit der U:berwachung von
   CPU-Statistiken, Befehlen und anderen Vorga:ngen begonnen.
   Protokolldateien werden in einem nur von Maschinen lesbaren Format
   gespeichert, daher mu:ssen Sie diese u:ber sa(8) aufrufen. Geben
   Sie keine Optionen an, gibt sa Informationen wie die Anzahl der
   Aufrufe pro Anwender, die abgelaufene Zeit in Minuten, die gesamte
   CPU- und Anwenderzeit in Minuten, die durchschnittliche Anzahl der
   Ein- und Ausgabeoperationen und viel andere mehr aus.

   Um Informationen u:ber ausgefu:hrte Befehle zu erhalten, verwenden
   Sie lastcomm(1). So ko:nnen Sie etwa ermittlen, welche Befehle von
   wem auf welchem ttys(5) ausgefu:hrt wurden:

 # lastcomm ls
         trhodes ttyp1

   Das Ergebnis sind alle bekannten Einsa:tze von ls durch trhodes
   auf dem Terminal ttyp1.

   Zahlreiche weitere nu:tzliche Optionen finden Sie in den
   Manualpages zu lastcomm(1), acct(5) sowie sa(8).

     --------------------------------------------------------------

                           Kapitel 15. Jails

   Beigetragen von Matteo Riondato. U:bersetzt von Oliver Peter, Dirk
   Arlt und Johann Kois.

     --------------------------------------------------------------

15.1. U:bersicht

   Dieses Kapitel erkla:rt, was FreeBSD-Jails sind und wie man sie
   einsetzt. Jails, manchmal als Ersatz fu:r chroot-Umgebungen
   bezeichnet, sind ein sehr ma:chtiges Werkzeug fu:r
   Systemadministratoren, jedoch kann deren grundlegende Verwendung
   auch fu:r fortgeschrittene Anwender nu:tzlich sein.

   Nachdem Sie dieses Kapitel gelesen haben, werden Sie

     * Wissen, was eine Jail ist und welche Verwendungszwecke es
       dafu:r unter FreeBSD gibt.

     * Wissen, wie man eine Jail erstellt, startet und und anha:lt.

     * Die Grundlagen der Jail-Administration (sowohl innerhalb als
       auch ausserhalb des Jails) kennen.

   Weitere nu:tzliche Informationen u:ber Jails sind beispielsweise
   in folgenden Quellen zu finden:

     * Der jail(8) Manualpage. Diese umfassende Referenz beschreibt,
       wie man unter FreeBSD eine Jail startet, anha:lt und
       kontrolliert.

     * Den Mailinglisten und deren Archive. Die Archive der
       Mailingliste FreeBSD general questions und anderen
       Mailinglisten, welche vom FreeBSD list server bereitgestellt
       werden, beinhalten bereits umfangreiche Informationen zu
       Jails. Daher ist es sinnvoll, bei Problemen mit Jails zuerst
       die Archive der Mailinglisten zu durchsuchen, bevor Sie eine
       neue Anfrage auf der Mailingliste freebsd-questions stellen.

     --------------------------------------------------------------

15.2. Jails - Definitionen

   Um die fu:r den Einsatz von Jails beno:tigten FreeBSD-Funktionen,
   deren Interna sowie die Art und Weise, mit der diese mit anderen
   Teilen des Betriebssystems interagieren, zu erla:utern, werden in
   diesem Kapitel folgende Definitionen verwendet:

   chroot(2) (-Befehl)

           Ein FreeBSD-Systemaufruf, der das root-Verzeichnis eines
           Prozesses und dessen Abko:mmlinge vera:ndert.

   chroot(2) (-Umgebung)

           Die Umgebung eines Prozesses, der in einem "chroot"
           la:uft. Diese beinhaltet Ressourcen, wie zum Beispiel
           sichtbare Abschnitte des Dateisystems, verfu:gbare
           Benutzer- und Gruppenkennungen, Netzwerkschnittstellen und
           weitere IPC-Mechanismen und so weiter.

   jail(8) (-Befehl)

           Das Systemadministrationswerkzeug, welches es erlaubt,
           Prozesse innerhalb der Jail-Umgebung zu starten.

   Host (-Benutzer, -Prozess, -System)

           Das verwaltende System einer Jail-Umgebung. Das
           Host-System hat Zugriff auf alle verfu:gbaren
           Hardwareressourcen und kann sowohl innerhalb als auch
           ausserhalb der Jail-Umgebung Prozesse steuern. Einer der
           wichtigsten Unterschiede des Host-System einer Jails ist,
           dass die Einschra:nkungen, welche fu:r die
           Superuser-Prozesse innerhalb eines Jails gelten, nicht
           fu:r die Prozesse des Host-Systems gelten.

   Gast (-Benutzer, -Prozess, -System)

           Ein Prozess, ein Benutzer oder eine andere Instanz, deren
           Zugriff durch eine FreeBSD-Jail eingeschra:nkt ist.

     --------------------------------------------------------------

15.3. Einfu:hrung

   Da die Systemadministration oft eine schwierige Aufgabe ist,
   wurden viele ma:chtige Werkzeuge entwickelt, die Administratoren
   bei Installation, Konfiguration und Wartung ihrer Systeme
   unterstu:tzen sollen. Eine wichtige Aufgabe eines Administrators
   ist es, Systeme so abzusichern, dass es im regula:ren Betrieb zu
   keinen Sicherheitsversto:ssen kommt.

   Eines der Werkzeuge, mit dem die Sicherheit eines FreeBSD-Systems
   verbessert werden kann, sind Jails. Jails wurden schon in
   FreeBSD 4.X von Poul-Henning Kamp <phk@FreeBSD.org> eingefu:hrt,
   wurden jedoch mit FreeBSD 5.X stark verbessert, sodass sie
   inzwischen zu einem ma:chtigen und flexiblen Subsystem
   herangereift sind. Trotzdem geht die Entwicklung nach wie vor
   weiter. Wichtige Ziele sind derzeit: Bessere Zweckma:ssigkeit,
   Leistung, Ausfallsicherheit und allgemeine Sicherheit.

     --------------------------------------------------------------

  15.3.1. Was ist eine Jail?

   BSD-a:hnliche Betriebssysteme besitzen seit den Zeiten von 4.2BSD
   chroot(2). Das Werkzeug chroot(2) kann dazu benutzt werden, das
   root-Verzeichnis einer Reihe von Prozessen zu a:ndern, um so eine
   seperate sichere Umgebung (abgeschnitten vom Rest des Systems) zu
   schaffen. Prozesse, die in einer chroot-Umgebung erstellt wurden,
   ko:nnen nicht auf Dateien oder Ressourcen zugreifen, die sich
   ausserhalb der Umgebung befinden. Dadurch ist es einem
   kompromittierten Dienst nicht mo:glich, das gesamte System zu
   kompromittieren. chroot(8) eignet sich fu:r einfache Aufgaben, die
   keine flexiblen, komplexen oder fortgeschrittenen Funktionen
   beno:tigen. Obwohl seit der Entwicklung des chroot-Konzepts
   zahlreiche Sicherheitslo:cher geschlossen wurden, die es einem
   Prozess erlauben konnten, aus einer Jail auszubrechen, war seit
   langer Zeit klar, dass chroot(2) nicht die ideale Lo:sung ist,
   einen Dienst sicher zu machen.

   Dies ist einer der Hauptgru:nde, warum Jails entwickelt wurden.

   Jails setzen auf dem traditionellen chroot(2)-Konzept auf und
   verbessern es auf unterschiedlichste Art und Weise. In einer
   traditionellen chroot(2)-Umgebung sind Prozesse auf den Bereich
   des Dateisystems beschra:nkt, auf den sie zugreifen ko:nnen. Der
   Rest der Systemressourcen (wie zum Beispiel eine Reihe von
   Systembenutzern, die laufenden Prozesse oder das
   Netzwerk-Subsystem) teilen sich die chroot-Prozesse mit dem
   Host-System. Jails dehnen dieses Modell nicht nur auf die
   Virtualisierung des Zugriffs auf das Dateisystem, sondern auch auf
   eine Reihe von Benutzern, das Netzwerk-Subsystem des
   FreeBSD-Kernels und weitere Bereiche aus. Eine ausfu:hrlichere
   U:bersicht der ausgefeilten Bedienelemente zur Konfiguration einer
   Jail-Umgebung finden Sie im Abschnitt Abschnitt 15.5 des
   Handbuchs.

   Eine Jail zeichnet sich durch folgende Merkmale aus:

     * Einen Unterverzeichnisbaum, der die Jail entha:lt. Einem
       Prozess, der innerhalb der Jail la:ft, ist es nicht mehr
       mo:glich, aus diesem auszubrechen. Von der traditionellen
       chroot(2)-Umgebung bekannte Sicherheitsprobleme existieren bei
       FreeBSD-Jails nicht mehr.

     * Einen Hostname, der innerhalb der Jail verwendet wird. Jails
       werden vor allem dazu verwendet, Netzwerkdienste anzubieten,
       daher ist es fu:r Systemadministratoren von grossem Nutzen,
       dass jede Jail einen beschreibenden Hostname haben kann.

     * Eine IP Adresse, die der Jail zugewiesen wird und nicht
       vera:ndert werden kann, solange das Jail la:ft. Die IP-Adresse
       einer Jails ist u:blicherweise ein Adress-Alias auf eine
       existierende Netzwerkschnittstelle. Dies ist jedoch nicht
       zwingend erforderlich.

     * Einen Befehl (genauer den Pfad einer ausfu:hrbaren Datei) der
       innerhalb der Jail ausgefu:rht werden soll. Dieser Pfad wird
       relativ zum root-Verzeichnis einer Jail-Umgebung angegeben und
       kann sehr unterschiedlich aussehen (je nachdem, wie die
       Jail-Umgebung konfiguriert wurde).

   Unabha:ngig davon ko:nnen Jails eine Reihe eigener Benutzer und
   einen eigenen Benutzer root haben. Selbstversta:ndlich sind die
   Rechte des Benutzers root nur auf die Jail-Umgebung beschra:nkt.
   Aus der Sicht des Host-Systems ist der Benutzer root der
   Jail-Umgebung kein allma:chtiger Benutzer, da der Benutzer root
   der Jail-Umgebung nicht dazu berechtigt ist, kritische Operationen
   am System ausserhalb der angebundenen jail(8)-Umgebung
   durchzufu:hren. Weitere Informationen u:ber die
   Einsatzmo:glichkeiten und Beschra:nkungen des Benutzers root
   werden im Abschnitt Abschnitt 15.5 des Handbuchs besprochen.

     --------------------------------------------------------------

15.4. Einrichtung und Verwaltung von Jails

   Einige Administratoren unterscheiden zwei verschiedene Jail-Arten:
   "Komplette" Jails, die ein echtes FreeBSD darstellen und Jails
   fu:r einen bestimmten "Dienst", die nur einer bestimmten Anwendung
   oder einem Dienst (der mo:glicherweise mit besonderen Privilegien
   laufen soll) gewidmet sind. Dies ist aber nur eine konzeptuelle
   Unterscheidung, die Einrichtung einer Jail bleibt davon ga:nzlich
   unberu:hrt.

 # setenv D /hier/ist/die/jail
 # mkdir -p $D (1)
 # cd /usr/src
 # make buildworld (2)
 # make installworld DESTDIR=$D (3)
 # cd etc/ [11]
 # make distribution DESTDIR=$D (4)
 # mount -t devfs devfs $D/dev (5)

   (1)
           Das Festlegen des Installationsorts fu:r das Jail eignet
           sich am besten als Startpunkt. Hier wird sich die Jail
           innerhalb des Host-Dateisystems befinden. Eine gute
           Mo:glichkeit wa:re etwa /usr/jail/name_der_jail, wobei
           name_der_jail den Hostname darstellt, u:ber den die Jail
           identifiziert werden soll. Das Dateisystem unterhalb von
           /usr/ stellt normalerweise aussreichend Platz fu:r eine
           Jail zur Verfu:gung (bedenken Sie, dass eine "komplette"
           Jail ein Replikat einer jeden Datei der
           Standardinstallation des FreeBSD-Basissystems entha:lt.
   (2)
           Wenn Sie bereits ihre Systemanwendungen mittels make world
           oder make buildworld neu erstellt haben, ko:nnen Sie
           diesen Schritt u:berspringen und die Systemanwendungen in
           die neue Jail installieren.
   (3)
           Dieser Befehl wird den Verzeichnisbaum mit allen
           notwendigen Bina:rdateien, Bibliotheken, Manualpages usw.
           erstellen.
   (4)
           Der distribution-Befehl la:sst make alle beno:tigten
           Konfigurationsdateien installieren, es werden also alle
           installierbaren Dateien aus /usr/src/etc/ in das
           Verzeichnis /etc der Jail installiert (also nach $D/etc/).
   (5)
           Das Einha:ngen des devfs(8)-Dateisystems innerhalb der
           Jail ist nicht unbedingt notwendig. Allerdings beno:tigt
           fast jede Anwendung Zugriff auf wenigstens ein Gera:t. Es
           ist daher sehr wichtig, den Zugriff auf Devices aus der
           Jail heraus zu kontrollieren, da unsaubere Einstellungen
           es einem Angreifer erlauben ko:nnten, in das System
           einzudringen. Die Kontrolle u:ber devfs(8) erfolgt durch
           die in den Manualpages devfs(8) und devfs.conf(5)
           beschriebenen Regeln.

   Ist eine Jail einmal erst erstellt, kann sie durch jail(8)
   gestartet werden. jail(8) beno:tigt zwingend mindestens vier
   Argumente, die im Abschnitt Abschnitt 15.3.1 des Handbuchs
   beschrieben sind. Weitere Argumente sind mo:glich, um
   beispielsweise die Jail mit den Berechtigungen eines bestimmten
   Benutzers laufen zu lassen. Das Argument command ha:ngt vom Typ
   der Jail ab; fu:r ein virtuelles System ist /etc/rc eine gute
   Wahl, da dies dem Startvorgang eines echten FreeBSD-Systems
   entspricht. Bei einer Service-Jail ha:ngt dieses von der Art des
   Dienstes ab, der in der Jail laufen soll.

   Jails werden ha:ufig mit dem Betriebssystem gestartet, da der
   rc-Mechanismus von FreeBSD dafu:r eine einfach zu realisierende
   Mo:glichkeit bietet.

    1. Eine Liste der Jails, die mit dem Betriebssystem gestartet
       werden sollen, wird in die Datei rc.conf(5) geschrieben:

 jail_enable="YES"   # Set to NO to disable starting of any jails
 jail_list="www"     # Space separated list of names of jails

    2. Fu:r jede Jail in der jail_list sollten in rc.conf(5) einige
       Einstellungen vorgenommen werden:

 jail_www_rootdir="/usr/jail/www"     # jail's root directory
 jail_www_hostname="www.example.org"  # jail's hostname
 jail_www_ip="192.168.0.10"           # jail's IP address
 jail_www_devfs_enable="YES"          # mount devfs in the jail
 jail_www_devfs_ruleset="www_ruleset" # devfs ruleset to apply to jail

       Beim Start einer in rc.conf(5) konfigurierten Jail wird das
       /etc/rc-Skript der Jail (das "annimmt", dass es sich in einem
       kompletten System befindet) aufgerufen. Fu:r Service-Jails
       sollten die Startskripte der Jail durch das Setzen der Option
       jail_jailname_exec_start entsprechend angepasst werden.

         Anmerkung: Eine vollsta:ndige Liste der Optionen findet sich
         in der Manualpage zu rc.conf(5).

   Das /etc/rc.d/jail-Skript kann zum manuellen Starten und Stoppen
   der Jail genutzt werden, wenn ein Eintrag in rc.conf angelegt
   wurde:

 # /etc/rc.d/jail start www
 # /etc/rc.d/jail stop www

   Es gibt momentan keinen sauberen Weg, eine jail(8) zu stoppen.
   Dies liegt daran, dass die Kommandos zum sauberen Herunterfahren
   eines Systems innerhalb einer Jail nicht ausgefu:hrt werden
   ko:nnen. Der beste Weg eine Jail zu beenden ist es daher,
   innerhalb der Jail den folgenden Befehl auszufu:hren (alternativ
   ko:nnen Sie auch jexec(8) von ausserhalb der Jail aufrufen):

 # sh /etc/rc.shutdown

   Weitere Informationen zu diesem Thema finden Sie in der Manualpage
   jail(8).

     --------------------------------------------------------------

15.5. Feinabstimmung und Administration

   Es gibt verschiedene Optionen, die fu:r jede Jail gesetzt werden
   ko:nnen und verschiedene Wege, ein FreeBSD-Host-System mit Jails
   zu kombinieren. Dieser Abschnitt zeigt Ihnen:

     * Einige zur Verfu:gung stehende Optionen zur Abstimmung des
       Verhaltens und der Sicherheitseinstellungen, die mit einer
       Jail-Installation ausgefu:hrt werden ko:nnen.

     * Einige der Anwendungsprogramme fu:r das Jail-Management, die
       u:ber die FreeBSD Ports-Sammlung verfu:gbar sind und genutzt
       werden ko:nnen, um Jail-basierte Lo:sungen allumfassend
       umzusetzen.

     --------------------------------------------------------------

  15.5.1. Systemwerkzeuge zur Feinabstimmung von Jails in FreeBSD

   Die Feinabstimmung einer Jail-Konfiguration erfolgt zum Grossteil
   durch das Setzen von sysctl(8)-Variablen. Es gibt einen speziellen
   sysctl-Zweig, der als Basis fu:r die Organisation aller relevanten
   Optionen dient: Die security.jail.*-Hierarchie der
   FreeBSD-Kerneloptionen. Die folgende Liste entha:lt alle
   jail-bezogenen sysctls (inklusiver ihrer Voreinstellungen). Die
   Namen sollten selbsterkla:rend sein, fu:r weitergehende
   Informationen lesen Sie bitte die Manualpages jail(8) und
   sysctl(8).

     * security.jail.set_hostname_allowed: 1

     * security.jail.socket_unixiproute_only: 1

     * security.jail.sysvipc_allowed: 0

     * security.jail.enforce_statfs: 2

     * security.jail.allow_raw_sockets: 0

     * security.jail.chflags_allowed: 0

     * security.jail.jailed: 0

   Diese Variablen ko:nnen vom Administrator des Host-Systems genutzt
   werden, um Beschra:nkungen hinzuzufu:gen oder aufzuheben, die dem
   Benutzer root als Vorgabe auferlegt sind. Beachten Sie, dass es
   einige Beschra:nkungen gibt, die nicht vera:ndert werden ko:nnen.
   Der Benutzer root darf innheralb der jail(8) keine Dateisysteme
   mounten und unmounten. Ebenso ist es ihm untersagt, das
   devfs(8)-Regelwerk zu laden oder zu entladen. Er darf weder
   Firewallregeln setzen, noch administrative Aufgaben erledigen, die
   Modifikationen am Kernel selbst erfordern (wie bespielsweise das
   Setzen des Securelevels des Kernel.

   Das FreeBSD-Basissystem entha:lt einen Basissatz an Werkzeugen, um
   Informationen u:ber aktive Jails zu erlangen und einer Jail
   administrative Befehle zuzuordnen. Die Befehle jls(8) und jexec(8)
   sind Teil des FreeBSD-Basissystems und ko:nnen fu:r folgende
   Aufgaben verwendet werden:

     * Das Anzeigen einer Liste der aktiven Jails und ihrer
       zugeho:rigen Jail Identifier (JID), ihrer IP-Addresse, ihres
       Hostnames und ihres Pfades.

     * Das Herstellen einer Verbindung mit einer laufenden Jail, das
       Starten eines Befehls aus dem gastgebenen System heraus oder
       das Ausfu:hren einer administrativen Aufgabe innerhalb der
       Jail selbst. Dies ist insbesondere dann nu:tzlich, wenn der
       Benutzer root die Jail sauber herunterfahren mo:chte. jexec(8)
       kann auch zum Starten einer Shell innerhalb der Jail genutzt
       werden, um adminstrative Aufgaben durchzufu:hren:

 # jexec 1 tcsh

     --------------------------------------------------------------

  15.5.2. High-Level-Werkzeuge zur Jail-Administration in der FreeBSD
  Ports-Sammlung

   Unter den zahlreichen Fremdwerkzeugen fu:r die Administration von
   Jails sind die sysutils/jailutils die vollsta:ndigsten und
   brauchbarsten. Dabei handelt es sich um eine Sammlung kleiner
   Anwendungen, die das jail(8)-Management vereinfachen. Weitere
   Informationen zu diesen Werkzeugen finden Sie auf den
   entsprechenden Internetseiten.

     --------------------------------------------------------------

15.6. Anwendung von Jails

  15.6.1. Service-Jails

   Beigetragen von Daniel Gerzo.

   Dieser Abschnitt basiert auf einer von Simon L. Nielsen
   <simon@FreeBSD.org> auf http://simon.nitro.dk/service-jails.html
   pra:sentierten Idee und einem aktualisierten Artikel von Ken Tom
   (<locals@gmail.com>). Er beschreibt, wie ein FreeBSD-System durch
   Benutzung der jail(8)-Funktion mit zusa:tzlichen Sicherheitsebenen
   ausgestattet werden kann. Es wird dabei angenommen, dass auf Ihrem
   FreeBSD-System RELENG_6_0 oder neuer installiert ist und dass Sie
   die Informationen aus den vorangehenden Abschnitten gelesen und
   verstanden haben.

     --------------------------------------------------------------

    15.6.1.1. Design

   Eines der Hauptprobleme bei Jails ist das Management ihres
   Upgrade-Prozesses. Dieser neigt dazu, problematisch zu sein, da
   jede Jail bei jedem Upgrade komplett neu gebaut werden muss. Das
   stellt normalerweise kein Problem dar, wenn es sich um eine
   einzelne Jail handelt, da der Upgrade-Prozess recht einfach ist.
   Verwenden Sie aber eine gro:ssere Anzahl von Jails, kann dieser
   Prozess sehr zeitaufwendig werden.

     Warnung: Diese Konfiguration erfordert fortgeschrittene
     Kenntnisse im Umgang mit FreeBSD sowie der Benutzung seiner
     Funktionen. Sollten die unten vorgestellten Schritte zu
     kompliziert wirken, wird empfohlen, sich einfachere Verfahren
     wie sysutils/ezjail anzusehen, da diese einfachere Methoden zur
     Administration von Jails verwenden und daher nicht so
     anspruchsvoll sind wie der hier beschriebene Aufbau.

   Diese Konfiguration basiert darauf, Jails so weit als mo:glich
   gemeinsam zu verwalten. Dies passiert auf sichere Art und Weise
   durch den Einsatz von mount_nullfs(8)-Mounts (read-only). Dadurch
   werden Aktualisierungen erleichtert und das Verteilen von
   verschiedenen Diensten auf verschiedene Jails wird attraktiver.
   Ausserdem bietet dieses Verfahren einen einfachen Weg, Jails
   hinzuzufu:gen, zu entfernen und zu aktualisieren.

     Anmerkung: Beispiele fu:r Dienste sind in diesem Zusammenhang:
     Ein HTTP-Server, ein DNS-Server, ein SMTP-Server und so weiter.

   Die Ziele des in diesem Abschnitt beschriebenen Aufbaus sind:

     * Das Erstellen einer einfachen und gut versta:ndlichen Struktur
       von Jails. Dies beinhaltet, nicht fu:r jede Jail ein
       vollsta:ndiges installworld laufen lassen zu mu:ssen.

     * Es einfach zu machen, neue Jails zu erstellen oder alte zu
       entfernen.

     * Es einfach zu machen, bestehende Jails zu aktualisieren.

     * Es einfach zu machen, einen angepassten FreeBSD-Zweig zu
       nutzen.

     * Paranoid bezu:glich Sicherheit zu sein und
       Angriffsmo:glickeiten weitgehend zu reduzieren.

     * Soviel Platz und Inodes wie mo:glich einzusparen.

   Wie bereits erwa:hnt, ist dieses Design stark darauf angewiesen,
   dass eine read-only-Hauptvorlage in jede Jail hinein gemountet
   wird (bekannt als nullfs), und dass jede Jail u:ber wenigstens ein
   beschreibbares Gera:t verfu:gt. Das Gera:t kann hierbei eine
   separate physikalische Platte oder ein vnode unterstu:tztes
   md(4)-Gera:t sein. Im folgenden Beispiel wird ein nullfs-Mount
   genutzt, auf den nur Lesezugriff erlaubt ist.

   Das Layout des Dateisystems wird in der folgenden Liste
   beschrieben:

     * Jede Jail wird unterhalb des /home/j-Verzeichnisses gemountet.

     * /home/j/mroot ist die Vorlage fu:r jede Jail und die nur
       lesbare Partition fu:r alle Jails.

     * Unterhalb von /home/j wird fu:r jede Jail ein leeres
       Verzeichnis angelegt.

     * Jede Jail bekommt ein /s-Verzeichnis, das zum
       read/write-Teilbereich des Systems verlinkt wird.

     * Jede Jail bekommt ihr eigenes read/write-System, das auf
       /home/j/skel basiert.

     * Jeder Jailbereich (genauer der read/write-Teilbereich jeder
       Jail) wird in /home/js erstellt.

     Anmerkung: Es wird angenommen, dass die Jails sich unterhalb des
     /home Verzeichnisses befinden. Dieser Ort kann von Ihnen
     natu:rlich gea:ndert werden. Allerdings mu:ssen die Pfade in den
     folgenden Beispielen dann entsprechend angepasst werden.

     --------------------------------------------------------------

    15.6.1.2. Erstellen der Vorlage

   Dieser Abschnitt beschreibt die Schritte, die zum Erstellen der
   Hauptvorlage (die den nur lesbaren Bereich fu:r alle weiteren
   Jails darstellt) notwendig sind.

   

   Es ist immer eine gute Idee, FreeBSD auf den aktuellen
   -RELEASE-Zweig zu aktualisieren. Lesen Sie das entsprechende
   Kapitel des Handbuchs fu:r Informationen zu diesem Thema. Selbst
   wenn Sie auf eine Aktualisierung des Betriebssystems verzichten,
   mu:ssen Sie dennoch ein buildworld durchfu:hren, um fortfahren zu
   ko:nnen. Ausserdem mu:ssen Sie das Paket sysutils/cpdup
   installiert sein. In diesem Beispiel wird portsnap(8) verwendet,
   um die aktuelle FreeBSD Ports-Sammlung herunterzuladen. Der
   Abschnitt Portsnap des Handbuchs beschreibt, wie Sie dieses
   Werkzeug effektiv einsetzen.

    1. Zuerst erstellen wir eine Verzeichnissstruktur fu:r das
       read-only-Dateisystem, das die FreeBSD-Bina:rdateien fu:r
       unsere Jails enthalten wird. Anschliessend wechseln wir in den
       FreeBSD-Quellcodebaum und installieren das
       read-only-Dateisystem in die (Vorlage-)Jail.

 # mkdir /home/j /home/j/mroot
 # cd /usr/src
 # make installworld DESTDIR=/home/j/mroot

    2. Als na:chstes bereiten wir die Ports-Sammlung fu: die Jails
       vor und kopieren den FreeBSD Quellcodebaum in die Jail, da
       dieser fu:r mergemaster beno:tigt wird:

 # cd /home/j/mroot
 # mkdir usr/ports
 # portsnap -p /home/j/mroot/usr/ports fetch extract
 # cpdup /usr/src /home/j/mroot/usr/src

    3. Danach wird die Struktur fu:r den read/write-Bereich des
       Systems erstellt:

 # mkdir /home/j/skel /home/j/skel/home /home/j/skel/usr-X11R6 /home/j/skel/distfiles
 # mv etc /home/j/skel
 # mv usr/local /home/j/skel/usr-local
 # mv tmp /home/j/skel
 # mv var /home/j/skel
 # mv root /home/j/skel

    4. Nutzen Sie mergemaster, um fehlende Konfigurationsdateien zu
       installieren. Anschliessend werden die von mergemaster
       erstellten Extra-Verzeichnisse entfernt:

 # mergemaster -t /home/j/skel/var/tmp/temproot -D /home/j/skel -i
 # cd /home/j/skel
 # rm -R bin boot lib libexec mnt proc rescue sbin sys usr dev

    5. Nun wird das read/write-Dateisystem mit dem
       read-only-Dateisystem verlinkt. Bitte vergewissern Sie sich,
       dass die symbolischen Links an den korrekten s/ Positionen
       erstellt werden. Echte Verzeichnisse oder an falschen
       Positionen erstellte Verzeichnisse lassen die Installation
       fehlschlagen.

 # cd /home/j/mroot
 # mkdir s
 # ln -s s/etc etc
 # ln -s s/home home
 # ln -s s/root root
 # ln -s ../s/usr-local usr/local
 # ln -s ../s/usr-X11R6 usr/X11R6
 # ln -s ../../s/distfiles usr/ports/distfiles
 # ln -s s/tmp tmp
 # ln -s s/var var

    6. Zuletzt erstellen Sie eine allgemeine
       /home/j/skel/etc/make.conf mit folgendem Inhalt:

 WRKDIRPREFIX?=  /s/portbuild

       Ein gesetztes WRKDIRPREFIX erlaubt es, die FreeBSD-Ports
       innerhalb jeder Jail zu kompilieren. Das Ports-Verzeichnis ist
       Teil des read-only System. Der angepasste Pfad des
       WRKDIRPREFIX macht es mo:glich, innerhalb des
       read/write-Bereichs der Jail Ports zu bauen.

     --------------------------------------------------------------

    15.6.1.3. Jails erstellen

   Da nun eine komplette FreeBSD-Jailvorlage vorliegt, sind wir nun
   in der Lage, Jails einrichten und in /etc/rc.conf zu
   konfigurieren. Dieses Beispiel zeigt das Erstellen von drei Jails:
   "NS", "MAIL" und "WWW".

   

    1. Fu:gen Sie die folgenden Zeilen in /etc/fstab ein, damit die
       read-only-Vorlage und der read/write-Bereich fu:r alle Jails
       verfu:gbar sind:

 /home/j/mroot   /home/j/ns     nullfs  ro  0   0
 /home/j/mroot   /home/j/mail   nullfs  ro  0   0
 /home/j/mroot   /home/j/www    nullfs  ro  0   0
 /home/js/ns     /home/j/ns/s   nullfs  rw  0   0
 /home/js/mail   /home/j/mail/s nullfs  rw  0   0
 /home/js/www    /home/j/www/s  nullfs  rw  0   0

         Anmerkung: Mit der Pass-Nummer 0 markierte Partitionen
         werden beim Booten des Systems nicht von fsck(8) gepru:ft,
         mit 0 als Dump-Nummer markierte Partitonen werden von
         dump(8) nicht gesichert. Wir wollen nicht, dass fsck unsere
         nullfs-Mounts pru:ft oder dass dump die nur lesbaren
         nullfs-Mounts unserer Jails sichert. Deshalb werden diese
         Bereiche in den letzten beiden Spalten der obenstehenden
         fstab mit "0 0" markiert.

    2. Konfigurieren Sie die Jails in /etc/rc.conf:

 jail_enable="YES"
 jail_set_hostname_allow="NO"
 jail_list="ns mail www"
 jail_ns_hostname="ns.example.org"
 jail_ns_ip="192.168.3.17"
 jail_ns_rootdir="/usr/home/j/ns"
 jail_ns_devfs_enable="YES"
 jail_mail_hostname="mail.example.org"
 jail_mail_ip="192.168.3.18"
 jail_mail_rootdir="/usr/home/j/mail"
 jail_mail_devfs_enable="YES"
 jail_www_hostname="www.example.org"
 jail_www_ip="62.123.43.14"
 jail_www_rootdir="/usr/home/j/www"
 jail_www_devfs_enable="YES"

         Warnung: Der Grund dafu:r, dass die Variablen
         jail_name_rootdir nach /usr/home statt nach /home zeigen,
         liegt darin, dass der physikalische Pfad des
         /home-Verzeichnisses unter FreeBSD /usr/home lautet. Die
         Variable jail_name_rootdir darf im Pfad aber keinen
         symbolischen Link enthalten, weil das Jail ansonsten nicht
         gestartet werden kann. Verwenden Sie realpath(1), um den
         korrekten Wert fu:r diese Variable zu bestimmen. Weitere
         Informationen finden Sie im Security Advisory
         FreeBSD-SA-07:01.jail.

    3. Erstellen Sie die notwendigen Mountpunkte fu:r die nur
       lesbaren Bereiche jeder Jail:

 # mkdir /home/j/ns /home/j/mail /home/j/www

    4. Installieren Sie die read/write-Vorlage in jede Jail. Benutzen
       Sie hierfu:r sysutils/cpdup, welches es erleichtert, eine
       korrekte Kopie jedes Verzeichnisses zu erstellen:

 # mkdir /home/js
 # cpdup /home/j/skel /home/js/ns
 # cpdup /home/j/skel /home/js/mail
 # cpdup /home/j/skel /home/js/www

    5. An dieser Stelle werden die Jails erstellt und fu: den Betrieb
       vorbereitet. Zuerst mounten Sie die notwendigen Dateisysteme
       fu:r jede Jail und starten diese dann mit dem Skript
       /etc/rc.d/jail:

 # mount -a
 # /etc/rc.d/jail start

   Die Jails sollten nun laufen. Um zu pru:fen, ob sie korrekt
   gestartet wurden, verwenden Sie jls(8). Nach dem Aufruf dieses
   Befehls sollten Sie eine Ausgabe a:hnlich der folgenden erhalten:

 # jls
    JID  IP Address      Hostname                      Path
      3  192.168.3.17    ns.example.org                /home/j/ns
      2  192.168.3.18    mail.example.org              /home/j/mail
      1  62.123.43.14    www.example.org               /home/j/www

   An diesem Punkt sollte es mo:glich sein, sich an jeder Jail
   anzumelden, Benutzer anzulegen und Dienste zu konfigurieren. Die
   Spalte JID gibt die Jail-Identifikationsnummer jeder laufenden
   Jail an. Nutzen Sie den folgenden Befehl, um administrative
   Aufgaben in der Jail mit der JID 3 durchzufu:hren:

 # jexec 3 tcsh

     --------------------------------------------------------------

    15.6.1.4. Jails aktualisieren

   Mit der Zeit wird es notwendig sein, das System auf eine neuere
   Version von FreeBSD zu aktualisieren. Zum einen aus
   Sicherheitsgru:nden, zum anderen, um neu eingefu:hrte Funktionen
   nutzen zu ko:nnen, die fu:r die bestehenden Jails sinnvoll sind.
   Das Design dieses Aufbaus bietet einen einfachen Weg, bestehende
   Jails zu aktualisieren. Zudem reduziert es die Downtime, da die
   Jails erst im allerletzten Schritt gestoppt werden mu:ssen.
   Ausserdem bietet es die Mo:glichkeit, zu a:lteren Versionen
   zuru:ckzukehren, falls irgendwelche Probleme auftreten.

    1. Im ersten Schritt wird das Host-System aktualisiert.
       Anschliessend wird eine tempora:re neue read-only Vorlage
       /home/j/mroot2 erstellt.

 # mkdir /home/j/mroot2
 # cd /usr/src
 # make installworld DESTDIR=/home/j/mroot2
 # cd /home/j/mroot2
 # cpdup /usr/src usr/src
 # mkdir s

       Der installworld-Durchlauf erzeugt einige unno:tige
       Verzeichnisse, die nun entfernt werden sollten:

 # chflags -R 0 var
 # rm -R etc var root usr/local tmp

    2. Erzeugen Sie neue symbolische Links fu:r das Hauptdateisystem:

 # ln -s s/etc etc
 # ln -s s/root root
 # ln -s s/home home
 # ln -s ../s/usr-local usr/local
 # ln -s ../s/usr-X11R6 usr/X11R6
 # ln -s s/tmp tmp
 # ln -s s/var var

    3. Nun ist es an der Zeit, die Jails zu stoppen:

 # /etc/rc.d/jail stop

    4. Unmounten des originalen Dateisystems:

 # umount /home/j/ns/s
 # umount /home/j/ns
 # umount /home/j/mail/s
 # umount /home/j/mail
 # umount /home/j/www/s
 # umount /home/j/www

         Anmerkung: Die read/write-Systeme sind an das read-only
         System angeha:ngt (/s), das daher zuerst ausgeha:ngt werden
         muss.

    5. Verschieben Sie das alte read-only-Dateisystem und ersetzen
       Sie es durch das neue Dateisystem. Das alte Dateisystem kann
       so als Backup dienen, falls etwas schief geht. Die
       Namensgebung entspricht hier derjenigen bei der Erstellung
       eines neuen read-only-Dateisystems. Verschieben Sie die
       originale FreeBSD Ports-Sammlung in das neue Dateisystem, um
       Platz und Inodes zu sparen:

 # cd /home/j
 # mv mroot mroot.20060601
 # mv mroot2 mroot
 # mv mroot.20060601/usr/ports mroot/usr

    6. Nun ist die neue read-only-Vorlage fertig. Sie mu:ssen daher
       nur noch die Dateisysteme erneut mounten und die Jails
       starten:

 # mount -a
 # /etc/rc.d/jail start

   Nutzen Sie jls(8) um zu pru:fen, ob die Jails korrekt gestartet
   wurden. Vergessen Sie nicht, innerhalb jeder Jail mergemaster
   laufen zu lassen. Die Konfigurationsdateien mu:ssen (ebenso wie
   die rc.d-Skripten) aktualisiert werden.

     --------------------------------------------------------------

      Kapitel 16. Mandatory Access Control (noch nicht u:bersetzt)

   Dieses Kapitel ist noch nicht u:bersetzt. Lesen Sie bitte das
   Original in englischer Sprache. Wenn Sie helfen wollen, dieses
   Kapitel zu u:bersetzen, senden Sie bitte eine E-Mail an die
   Mailingliste 'FreeBSD German Documentation Project'
   <de-bsd-translators@de.FreeBSD.org>.

     --------------------------------------------------------------

                  Kapitel 17. Security Event Auditing

   Geschrieben von Tom Rhodes und Robert Watson. U:bersetzt von
   Daniel Seuffert.

17.1. Einleitung

   FreeBSD 6.2 und neuer unterstu:tzen ein feingranuliertes
   Sicherheits-Auditing. Ereignis-Auditing erlaubt die zuverla:ssige,
   feingranulierte und konfigurierbare Aufzeichnung einer Vielzahl
   von sicherheitsrelevanten Systemereignissen einschliesslich
   Benutzereingaben, Konfigurationsa:nderungen sowie Datei- und
   Netzwerkzugriffen. Diese Log-Datensa:tze ko:nnen unscha:tzbar
   wertvoll sein fu:r direkte Systemu:berwachung, Einbruchserkennung
   und Post-Mortem-Analyse. FreeBSD implementiert Suns o:ffentlich
   zuga:ngliche BSM API und Dateiformat. Die FreeBSD-Implementierung
   kann mit den Audit-Implementierungen von Sun Solaris und Apple(R)
   Mac OS X zusammenarbeiten.

   Dieses Kapitel konzentriert sich auf die Installation und
   Konfiguration des Ereignis-Auditings. Es erkla:rt
   Audit-Richtlinien und stellt ein Beispiel einer
   Audit-Konfiguration vor.

   Nach dem Lesen dieses Kapitels werden Sie Folgendes wissen:

     * Was Ereignis-Auditing ist und wie es arbeitet.

     * Wie man Ereignis-Auditing in FreeBSD fu:r Benutzer und
       Prozesse konfiguriert.

     * Wie man den Audit-Pfad mittels Audit-Reduktion und
       Revisionswerkzeugen u:berpru:ft.

   Vor dem Lesen dieses Kapitels sollten Sie:

     * Sowohl UNIX als auch FreeBSD-Basismechanismen beherrschen
       (Kapitel 3).

     * Mit den grundlegenden Mechanismen der Kernel-Konfiguration und
       -Kompilierung vertraut sein (Kapitel 8).

     * Mit den Massnahmen zur Sicherung von FreeBSD vertraut sein
       (Kapitel 14).

     Warnung: Die Audit-Funktionalita:t in FreeBSD 6.X ist nach wie
     vor experimentell. Ihre Anwendung auf Produktivsystemen sollte
     nur nach sorgfa:ltiger Abwa:gung der Risiken des Einsatzes
     experimenteller Software erfolgen. Zu den bekannten
     Einschra:nkungen geho:rt, dass zur Zeit nicht alle
     sicherheitsrelevanten System-Ereignisse auditierbar sind und
     dass einige Anmelde-Mechanismen, wie z.B. X11-basierte
     Bildschirm-Manager und Daemonen von Drittanbietern, das Auditing
     fu:r Benutzeranmeldungen nicht korrekt konfigurieren.

     Warnung: Das Sicherheits-Auditing ist in der Lage, sehr
     detaillierte Log-Dateien von Systemaktivita:ten zu erzeugen. Auf
     einem ausgelasteten System kann die Pfad-Datei sehr gross
     werden, wenn sie fu:r hohe Auflo:sung konfiguriert ist, und im
     Extremfall pro Woche um mehrere Gigabyte anwachsen.
     Administratoren sollten daher den beno:tigten Plattenplatz in
     Verbindung mit umfangreichen Audit-Konfigurationen
     beru:cksichtigen. So kann es wu:nschenswert sein, ein eigenes
     Dateisystem fu:r /var/audit einzusetzen, damit andere
     Dateisysteme nicht betoffen sind, wenn das Dateisystem des Audit
     voll la:uft.

     --------------------------------------------------------------

17.2. Schlu:sselbegriffe

   Vor dem Lesen dieses Kapitels mu:ssen einige Audit-bezogene
   Schlu:sselbegriffe erla:utert werden:

     * event: Ein auditierbares Ereignis ist ein Ereignis, das mit
       dem Audit-Subsystem aufgezeichnet werden kann. Beispiele fu:r
       sicherheitsrelevante Systemereignisse sind etwa das Anlegen
       von Dateien, das Erstellen einer Netzwerkverbindung oder eine
       Benutzeranmeldung. Ereignisse sind entweder "attributierbar",
       ko:nnen also zu einen authentifizierten Benutzer
       zuru:ckverfolgt werden, oder sind "nicht-attributierbar",
       falls dies nicht mo:glich ist. Nicht-attributierbare
       Ereignisse erfolgen daher vor der Authentifizierung im
       Anmeldeprozess (beispielsweise die Eingabe eines falschen
       Passworts).

     * class: Ereignisklassen sind benannte Zusammenstellungen von
       zusammengeho:renden Ereignissen und werden in
       Auswahl-Ausdru:cken benutzt. Ha:ufig genutzte Klassen von
       Ereignissen schliessen "file creation" (fc, Anlegen von
       Dateien), "exec" (ex, Ausfu:hrung) und "login_logout" (lo,
       Anmeldung-Abmeldung) ein.

     * record: Ein Datensatz ist ein Audit-Logeintrag, welcher ein
       Sicherheitsereignis entha:lt. Jeder Datensatz entha:lt einen
       Ereignistyp, Informationen u:ber den Gegenstand (Benutzer),
       welcher die Aktion durchfu:hrt, Datums- und Zeitinformationen,
       Informationen u:ber jedes Objekt oder Argument sowie den
       Zustand hinsichtlich Erfolg oder Scheitern der Operation.

     * trail: Ein Audit-Pfad (audit trail) oder eine Log-Datei
       besteht aus einer Reihe von Audit-Datensa:tzen, die
       Sicherheitsereignisse beschreiben. Normalerweise sind die
       Pfade in grober zeitlicher Reihenfolge bezu:glich des
       Zeitpunktes, an welchem ein Ereignis beendet wurde. Nur
       authorisierte Prozesse du:rfen Datensa:tze zum Audit-Pfad
       hinzufu:gen.

     * selection expression: Ein Auswahlausdruck ist eine
       Zeichenkette, welche eine Liste von Pra:fixen und
       Audit-Ereignisklassennamen entha:lt, um Ereignisse
       abzugleichen.

     * preselection: Die Vorauswahl ist der Prozess, durch den das
       System erkennt, welche Ereignisse von Interesse fu:r den
       Administrator sind, um die Erzeugung von Datensa:tze zu
       verhindern, welche nicht von Belang sind. Die Konfiguration
       der Vorauswahl benutzt eine Reihe von Auswahl-Ausdru:cken, um
       zu erkennen, welche Klassen von Ereignissen fu:r welche
       Benutzer aufgezeichnet werden sollen sowie globale
       Einstellungen, welche sowohl auf authorisierte als auch
       unauthorisierte Prozesse angewendet werden.

     * reduction: Die Reduzierung ist der Prozess, durch den
       Datensa:tze von bestehenden Audit-Pfaden ausgewa:hlt werden
       fu:r Speicherung, Ausdruck oder Analyse. Ebenso der Prozess,
       durch den unerwu:nschte Datensa:tze aus dem Audit-Pfad
       entfernt werden. Mittels Reduzierung ko:nnen Administratoren
       Richtlinien fu:r die Speicherung von Audit-Daten vorgeben. Zum
       Beispiel ko:nnen ausfu:hrliche Audit-Pfade fu:r einen Monat
       gespeichert werden, um danach den Pfad fu:r archivarische
       Zwecke auf die Anmeldeinformationen zu reduzieren.

     --------------------------------------------------------------

17.3. Installation der Audit-Unterstu:tzung

   Die Unterstu:tzung des Ereignis-Auditings fu:r den Benutzerbereich
   wird bereits als Teil des Basissystems installiert. Ab FreeBSD 7.0
   ist die Audit-Unterstu:tzung bereits im Standardkernel enthalten.
   Verwenden Sie hingegen noch FreeBSD 6.X, mu:ssen Sie folgende
   Zeile in Ihre Kernelkonfigurationsdatei aufnehmen und den Kernel
   neu bauen:

 options AUDIT

   Bauen und installieren Sie den Kernel wie in Kapitel 8 beschrieben
   ist.

   Nachdem der Kernel mit Audit-Unterstu:tzung gebaut und installiert
   ist und das System neu gestartet wurde, aktivieren Sie den
   Audit-Daemon durch das Einfu:gen der folgenden Zeile in die Datei
   rc.conf(5):

 auditd_enable="YES"

   Die Audit-Unterstu:tzung kann nun durch einen Neustart des Systems
   oder durch das manuelle Starten des Audit-Daemon aktiviert werden:

 /etc/rc.d/auditd start

     --------------------------------------------------------------

17.4. Die Konfiguration des Audit

   Alle Konfigurationsdateien fu:r das Sicherheits-Audit finden sich
   unter /etc/security. Die folgenden Dateien mu:ssen vorhanden sein,
   bevor der Audit-Daemon gestartet wird:

     * audit_class - Entha:lt die Definitionen der Audit-Klassen.

     * audit_control - Steuert Teile des Audit-Subsystems wie
       Audit-Klassen, minimaler Plattenplatz auf dem
       Audit-Log-Datentra:ger, maximale Gro:sse des Audit-Pfades usw.

     * audit_event - Wo:rtliche Namen und Beschreibungen von
       System-Audit-Ereignissen sowie eine Liste, welche Klassen
       welches Ereignis aufzeichnen.

     * audit_user - Benutzerspezifische Audit-Erfordernisse, welche
       mit den globalen Vorgaben bei der Anmeldung kombiniert werden.

     * audit_warn - Ein anpassbares Shell-Skript, welches von auditd
       benutzt wird, um Warnhinweise in aussergewo:hnlichen
       Situationen zu erzeugen, z.B. wenn der Platz fu:r die
       Audit-Datensa:tze knapp wird oder wenn die Datei des
       Audit-Pfades rotiert wurde.

     Warnung: Audit-Konfigurationsdateien sollten vorsichtig gewartet
     und bearbeitet werden, da Fehler in der Konfiguration zu
     falscher Aufzeichnung von Ereignissen fu:hren ko:nnten.

     --------------------------------------------------------------

  17.4.1. Ereignis-Auswahlausdru:cke

   Auswahlausdru:cke werden an einigen Stellen der
   Audit-Konfiguration benu:tzt, um zu bestimmen, welche Ereignisse
   auditiert werden sollen. Die Ausdru:cke enthalten eine Liste der
   Ereignisklassen, welche verglichen werden sollen, jede mit einem
   Pra:fix, welches anzeigt, ob verglichene Datensa:tze akzeptiert
   oder ignoriert werden sollen und optional, um anzuzeigen, ob der
   Eintrag beabsichtigt, erfolgreiche oder fehlgeschlagene
   Operationen zu vergleichen. Auswahlausdru:cke werden von links
   nach rechts ausgewertet und zwei Ausdru:cke werden durch
   Aneinanderha:ngen miteinander kombiniert.

   Die folgende Liste entha:lt die Standard-Ereignisklassen fu:r das
   Audit und ist in audit_class festgehalten:

     * all - all - Vergleiche alle Ereignisklassen.

     * ad - administrative - Administrative Aktionen ausgefu:hrt auf
       dem System als Ganzes.

     * ap - application - Aktionen definiert fu:r Applikationen.

     * cl - file close - Audit-Aufrufe fu:r den Systemaufruf close.

     * ex - exec - Ausfu:hrung des Audit-Programms. Auditierung von
       Befehlszeilen-Argumenten und Umgebungsvariablen wird gesteuert
       durch audit_control(5) mittels der argv und
       envv-Parametergema:ss der Richtlinien-Einstellungen.

     * fa - file attribute access - Auditierung des Zugriffs auf
       Objektattribute wie stat(1), pathconf(2) und a:hnlichen
       Ereignissen.

     * fc - file create - Audit-Ereignisse, bei denen eine Datei als
       Ergebnis angelegt wird.

     * fd - file delete - Audit-Ereignisse, bei denen
       Dateilo:schungen vorkommen.

     * fm - file attribute modify - Audit-Ereignisse, bei welchen
       Dateiattribute gea:ndert werden, wie chown(8), chflags(1),
       flock(2) etc.

     * fr - file read - Audit-Ereignisse, bei denen Daten gelesen
       oder Dateien zum lesen geo:ffnet werden usw.

     * fw - file write - Audit-Ereignisse, bei welchen Daten
       geschrieben oder Dateien geschrieben oder vera:ndert werden
       usw.

     * io - ioctl - Nutzung des Systemaufrufes ioctl(2) durch Audit.

     * ip - ipc - Auditierung verschiedener Formen von
       Inter-Prozess-Kommunikation einschliesslich POSIX-Pipes und
       System V IPC-Operationen.

     * lo - login_logout - Audit-Ereignisse betreffend login(1) und
       logout(1), welche auf dem System auftreten.

     * na - non attributable - Auditierung nicht-attributierbarer
       Ereignisse (Ereignisse, die nicht auf einen bestimmten
       Benutzer zuru:ckgefu:hrt werden ko:nnen).

     * no - invalid class - Kein Abgleich von Audit-Ereignissen.

     * nt - network - Audit-Ereignisse in Zusammenhang mit
       Netzwerkaktivita:ten wie z.B. connect(2) und accept(2).

     * ot - other - Auditierung verschiedener Ereignisse.

     * pc - process - Auditierung von Prozess-Operationen wie exec(3)
       und exit(3).

   Diese Ereignisklassen ko:nnen angepasst werden durch Modifizierung
   der Konfigurationsdateien audit_class und audit_event.

   Jede Audit-Klasse in dieser Liste ist kombiniert mit einem
   Pra:fix, welches anzeigt, ob erfolgreiche/gescheiterte Operationen
   abgebildet werden, und ob der Eintrag den Abgleich hinzufu:gt oder
   entfernt fu:r die Klasse und den Typ.

     * (none) Kein Pra:fix, sowohl erfolgreiche als auch gescheiterte
       Vorkommen eines Ereignisses werden auditiert.

     * + Auditiere nur erfolgreiche Ereignisse in dieser Klasse.

     * - Auditiere nur gescheiterte Operationen in dieser Klasse.

     * ^ Auditiere weder erfolgreiche noch gescheiterte Ereignisse in
       dieser Klasse.

     * ^+ Auditiere keine erfolgreichen Ereignisse in dieser Klasse.

     * ^- Auditiere keine gescheiterten Ereignisse in dieser Klasse.

   Das folgende Beispiel einer Auswahl-Zeichenkette wa:hlt
   erfolgreiche und gescheiterte Anmelde/Abmelde-Ereignisse aus, aber
   nur erfolgreich beendete Ausfu:hrungs-Ereignisse:

 lo,+ex

     --------------------------------------------------------------

  17.4.2. Konfigurationsdateien

   In den meisten Fa:llen mu:ssen Administratoren nur zwei Dateien
   a:ndern, wenn sie das Audit-System konfigurieren: audit_control
   und audit_user. Die erste Datei steuert systemweite
   Audit-Eigenschaften und -Richtlinien; die zweite Datei kann fu:r
   die Feinanpassung der Auditierung von Benutzern verwendet werden.

     --------------------------------------------------------------

    17.4.2.1. Die audit_control-Datei

   Die audit_control-Datei legt eine Anzahl Vorgabewerte fest. Beim
   Betrachten des Inhaltes der Datei sehen wir Folgendes:

 dir:/var/audit
 flags:lo
 minfree:20
 naflags:lo
 policy:cnt
 filesz:0

   Die Option dir wird genutzt, um eines oder mehrere Verzeichnisse
   festzulegen, in welchen Audit-Protokolle gespeichert werden. Gibt
   es mehrere Verzeichniseintra:ge, werden diese in der angegebenen
   Reihenfolge genutzt, bis sie jeweils gefu:llt sind. Es ist
   u:blich, Audit so zu konfigurieren, dass die Audit-Logs auf einem
   dedizierten Dateisystem abgelegt werden, um Wechselwirkungen
   zwischen dem Audit-Subsystem und anderen Subsystemen zu
   verhindern, falls das Dateisystem voll la:uft.

   Das flags-Feld legt die systemweite Standard-Vorauswahl-Maske fu:r
   attributierbare (direkt einem Benutzer zuordenbare) Ereignisse
   fest. Im obigen Beispiel werden alle gescheiterten und
   erfolgreichen Anmelde- und Abmelde-Ereignisse fu:r alle Benutzer
   aufgezeichnet.

   Die Option minfree definiert den minimalen Prozentsatz an freiem
   Plattenplatz fu:r das Dateisystem, in welchem der Audit-Pfad
   abgespeichert wird. Wenn diese Schwelle u:berschritten ist, wird
   ein Warnhinweis erzeugt. Das obige Beispiel legt den minimalen
   freien Platz auf zwanzig Prozent fest.

   Die naflags-Option bestimmt diejenigen Audit-Klassen, fu:r die
   nicht-attributierbare Ereignisse aufgezeichnet werden sollen
   (beispielsweise Anmeldeprozesse und System-Daemonen.

   Die Option policy legt eine durch Kommata getrennte Liste von
   policy-Flags fest, welche verschiedene Aspekte des
   Audit-Verhaltens steuern. Der vorgegebene Flag cnt zeigt an, dass
   das System trotz eines Audit-Fehlers weiterlaufen soll (dieses
   Flag wird dringend angeraten). Ein anderes, ha:ufig genutztes Flag
   ist argv, welches dazu fu:hrt, dass Befehlszeilen-Argumente fu:r
   den Systemauruf execve(2) als Teil der Befehlsausfu:hrung
   aufgezeichnet werden.

   Die filesz-Option spezifiziert die maximale Gro:sse in Bytes,
   welche eine Audit-Pfad-Datei wachsen darf, bevor sie automatisch
   beendet und rotiert wird. Die Standardvorgabe 0 setzt die
   automatische Log-Rotation ausser Kraft. Falls die angeforderte
   Dateigro:sse gro:sser Null und gleichzeitig unterhalb des Minimums
   von 512K ist, dann wird die Angabe verworfen und ein Log-Hinweis
   wird erzeugt.

     --------------------------------------------------------------

    17.4.2.2. Die Datei audit_user

   Die audit_user-Datei erlaubt es dem Administrator, weitere
   Audit-Erfordernisse fu:r bestimmte Benutzer festzulegen. Jede
   Zeile konfiguriert das Auditing fu:r einen Benutzer u:ber zwei
   Felder: Das erste Feld ist alwaysaudit, welches eine Ansammlung
   von Ereignissen vorgibt, welche immer fu:r diesen Benutzer
   aufgezeichnet werden. Das zweite Feld neveraudit legt eine Menge
   an Ereignissen fest, die niemals fu:r diesen Benutzer auditiert
   werden sollen.

   Das folgende Beispiel einer audit_user-Datei zeichnet
   Anmelde/Abmelde-Ereignisse, erfolgreiche Befehlsausfu:hrungen fu:r
   den Benutzer root, Anlegen von Dateien und erfolgreiche
   Befehlsausfu:hrungen fu:r den Benutzer www auf. Falls das Beispiel
   zusammen mit der vorstehend als Beispiel gezeigten Datei
   audit_control benutzt wird, dann ist der Eintrag lo fu:r Benutzer
   root u:berflu:ssig und Anmelde/Abmelde-Ereignisse werden fu:r den
   Benutzer www ebenfalls aufgezeichnet.

 root:lo,+ex:no
 www:fc,+ex:no

     --------------------------------------------------------------

17.5. Administration des Audit-Subsystems

  17.5.1. Audit-Pfade betrachten

   Audit-Pfade werden im bina:ren BSM-Format gespeichert, daher
   beno:tigen Sie spezielle Werkzeuge, um derartige Dateien zu
   a:ndern oder Sie in Textdateien zu konvertieren. Der Befehl
   praudit(1) wandelt alle Pfad-Dateien in ein einfaches Textformat
   um. Der Befehl auditreduce(1) kann genutzt werden, um die
   Pfad-Dateien fu:r Analyse, Ausdruck, Archivierung oder andere
   Zwecke zu reduzieren. auditreduce unterstu:tzt eine Reihe von
   Auswahl-Parametern einschliesslich Ereignistyp, Ereignisklasse,
   Benutzer, Datum oder Uhrzeit des Ereignisses und den Dateipfad
   oder das Objekt, mit dem gearbeitet wurde.

   Das Dienstprogramm praudit schreibt zum Beispiel den gesamten
   Inhalt einer angegebenen Audit-Protokolldatei in eine simple
   Textdatei:

 # praudit /var/audit/AUDITFILE

   AUDITFILE ist hier die zu schreibende Protokolldatei.

   Audit-Pfade bestehen aus einer Reihe von Datensa:tzen, die
   wiederum aus Ku:rzeln (token) gebildet werden, die von praudit
   fortlaufend zeilenweise ausgegeben werden. Jedes Ku:rzel ist von
   einem bestimmten Typ, z.B. entha:lt header einen
   audit-Datensatz-Header oder path entha:lt einen Dateipfad von
   einer Suche. Hier ein Beispiel eines execve-Ereignisses:

 header,133,10,execve(2),0,Mon Sep 25 15:58:03 2006, + 384 msec
 exec arg,finger,doug
 path,/usr/bin/finger
 attribute,555,root,wheel,90,24918,104944
 subject,robert,root,wheel,root,wheel,38439,38032,42086,128.232.9.100
 return,success,0
 trailer,133

   Dieser Audit stellt einen erfolgreichen execve-Aufruf dar, in
   welchem der Befehl finger doug ausgefu:hrt wurde. Das Ku:rzel des
   Argumentes entha:lt die Befehlszeile, welche die Shell an den
   Kernel weiterleitet. Das Ku:rzel path entha:lt den Pfad zur
   ausfu:hrbaren Datei (wie vom Kernel wahrgenommen). Das Ku:rzel
   attribute beschreibt die Bina:rdatei (insbesondere den
   Datei-Modus, der genutzt werden kann, um zu bestimmen, ob setuid
   auf die Applikation angewendet wurde). Das Ku:rzel subject
   beschreibt den untergeordneten Prozess und speichert daher in
   Aufeinanderfolge Audit-Benutzer-ID, effektive Benutzer-ID und
   Gruppen-ID, wirkliche Benutzer-ID und Grppen-ID, Process-ID,
   Session- ID, Port-ID und Anmelde-Adresse. Beachten Sie, dass
   Audit-Benutzer-ID und wirkliche Benutzer-ID abweichen: Der
   Benutzer robert wurde zum Benutzer root, bevor er diesen Befehl
   ausfu:hrte, aber er wird auditiert mit dem urspru:nglich
   authentifizierten Benutzer. Schliesslich zeigt das Ku:rzel return
   die erfolgreiche Ausfu:hrung an und trailer schliesst den
   Datensatz ab.

   Seit FreeBSD 6.3 unterstu:tzt praudit auch die Ausgabe im
   XML-Format (die sie u:ber die Option -x wa:hlen.

     --------------------------------------------------------------

  17.5.2. Audit-Pfade reduzieren

   Da Audit-Protokolldateien sehr gross sein ko:nnen, wird ein
   Administrator ho:chstwahrscheinlich eine Auswahl an Datensa:tzen
   verwenden, wie z.B. alle Datensa:tze zu einem bestimmten Benutzer:

 # auditreduce -u trhodes /var/audit/AUDITFILE | praudit

   Dies wird alle Audit-Datensa:tze des Benutzers trhodes auswa:hlen,
   die in der Datei AUDITFILE gespeichert sind.

     --------------------------------------------------------------

  17.5.3. Delegation von Rechten fu:r Audit-Reviews

   Mitglieder der Gruppe audit haben die Erlaubnis, Audit-Pfade in
   /var/audit zu lesen; standardma:ssig ist diese Gruppe leer, daher
   kann nur der Benutzer root die Audit-Pfade lesen. Benutzer ko:nnen
   der Gruppe audit hinzugefu:gt werden, um Rechte fu:r Audit-Reviews
   zu gewa:hren. Da die Fa:higkeit, Inhalte von
   Audit-Protokolldateien zu verfolgen, tiefgreifende Einblicke in
   das Verhalten von Benutzern und Prozessen erlaubt, wird empfohlen,
   dass die Gewa:hrung von Rechten fu:r Audit-Reviews mit Bedacht
   erfolgt.

     --------------------------------------------------------------

  17.5.4. Aktive U:berwachung mittles Audit-Pipes

   Audit-Pipes sind nachgebildete (geklonte) Pseudo-Gera:te im
   Dateisystem des Gera:tes, welche es Applikationen erlauben, die
   laufenden Audit-Datensa:tze anzuzapfen. Dies ist vorrangig fu:r
   Autoren von Intrusion Detection Software und
   Systemu:berwachungsprogrammen von Bedeutung. Allerdings ist fu:r
   den Administrator das Audit-Pipe-Gera:t ein angenehmer Weg, aktive
   U:berwachung zu gestatten, ohne Gefahr von Problemen durch
   Besitzerrechte der Audit-Pfad-Datei oder Unterbrechung des Stroms
   von Ereignissen durch Log-Rotation. Um den laufenden
   Audit-Ereignisstrom zu verfolgen, geben Sie bitte folgende
   Befehlszeile ein:

 # praudit /dev/auditpipe

   In der Voreinstellung kann nur der Benutzer root auf die
   Audit-Pipe-Gera:te-Knotenpunkte zugreifen. Um sie allen
   Mitgliedern der Gruppe audit zuga:nglich zu machen, fu:gen Sie
   eine devfs-Regel in devfs.rules hinzu:

 add path 'auditpipe*' mode 0440 group audit

   Lesen Sie devfs.rules(5) fu:r weitere Informationen, wie das
   devfs-Dateisystem konfiguriert wird.

     Warnung: Es ist sehr leicht, Ru:ckmeldungszyklen von
     Audit-Ereignissen hervorzurufen, in welcher das Betrachten des
     Resultates eines Audit-Ereignisses in die Erzeugung von mehr
     Audit-Ereignissen mu:ndet. Wenn zum Beispiel der gesamte
     Netzwerk-I/O auditiert wird, wa:hrend praudit(1) in einer
     SSH-Sitzung gestartet wurde, dann wird ein kontinuierlicher,
     ma:chtiger Strom von Audit-Ereignissen erzeugt, da jedes
     ausgegebene Ereignis wiederum neue Ereignisse erzeugt. Es ist
     anzuraten, praudit an einem Audit-Pipe-Gera:t nur von Sitzungen
     anzuwenden (ohne feingranuliertes I/O-Auditing), um dies zu
     vermeiden.

     --------------------------------------------------------------

  17.5.5. Rotation von Audit-Pfad-Dateien

   Audit-Pfade werden nur vom Kernel geschrieben und nur vom
   Audit-Daemon auditd verwaltet. Administratoren sollten nicht
   versuchen, newsyslog.conf(5) oder andere Werkzeuge zu benutzen, um
   Audit-Protokolldateien direkt zu rotieren. Stattdessen sollte das
   audit Management-Werkzeug benutzt werden, um die Auditierung zu
   beenden, das Audit-System neu zu konfigurieren und eine
   Log-Rotation durchzufu:hren. Der folgende Befehl veranlasst den
   Audit-Daemon, eine neue Protokolldatei anzulegen und dem Kernel zu
   signalisieren, die neue Datei zu nutzen. Die alte Datei wird
   beendet und umbenannt. Ab diesem Zeitpunkt kann sie vom
   Administrator bearbeitet werden.

 # audit -n

     Warnung: Falls der auditd-Daemon gegenwa:rtig nicht la:uft, wird
     dieser Befehl scheitern und eine Fehlermeldung wird ausgegeben.

   Das Hinzufu:gen der folgenden Zeile in /etc/crontab wird die
   Log-Rotation alle zwo:lf Stunden durch cron(8) erzwingen:

 0     */12       *       *       *       root    /usr/sbin/audit -n

   Die A:nderung wird wirksam, sobald Sie die neue /etc/crontab
   gespeichert haben.

   Die automatische Rotation der Audit-Pfad-Datei in Abha:ngigkeit
   von der Dateigro:sse ist mo:glich durch die Angabe der Option
   filesz in audit_control(5). Dieser Vorgang ist im Abschnitt
   Konfigurationsdateien dieses Kapitels beschrieben.

     --------------------------------------------------------------

  17.5.6. Komprimierung von Audit-Pfaden

   Da Audit-Pfad-Dateien sehr gross werden ko:nnen, ist es oft
   wu:nschenswert, Pfade zu komprimieren oder anderweitig zu
   archivieren, sobald sie vom Audit-Daemon geschlossen wurden. Das
   Skript audit_warn kann genutzt werden, um angepasste Aktionen fu:r
   eine Vielzahl von audit-bezogenen Ereignissen auszufu:hren,
   einschliesslich der sauberen Beendigung von Audit-Pfaden, wenn
   diese geschlossen werden. Zum Beispiel kann man die folgenden
   Zeilen in das audit_warn-Skript aufnehmen, um Audit-Pfade beim
   Beenden zu komprimieren:

 #
 # Compress audit trail files on close.
 #
 if [ "$1" = closefile ]; then
         gzip -9 $2
 fi

   Andere Archivierungsaktivita:ten ko:nnen das Kopieren zu einem
   zentralen Server, die Lo:schung der alten Pfad-Dateien oder die
   Reduzierung des alten Audit-Pfades durch Entfernung nicht
   beno:tigter Datensa:tze einschliessen. Das Skript wird nur dann
   ausgefu:hrt, wenn die Audit-Pfad-Dateien sauber beendet wurden,
   daher wird es nicht auf Pfaden laufen, welche durch ein unsauberes
   Herunterfahren des Systems nicht beendet wurden.

     --------------------------------------------------------------

                       Kapitel 18. Speichermedien

   U:bersetzt von Bernd Warken und Martin Heinen.

18.1. U:bersicht

   Dieses Kapitel behandelt die Benutzung von Laufwerken unter
   FreeBSD. Laufwerke ko:nnen speichergestu:tzte Laufwerke,
   Netzwerklaufwerke oder normale SCSI/IDE-Gera:te sein.

   Nachdem Sie dieses Kapitel gelesen haben, werden Sie Folgendes
   wissen:

     * Die Begriffe, die FreeBSD verwendet, um die Organisation der
       Daten auf einem physikalischen Laufwerk zu beschreiben
       (Partitionen und Slices).

     * Wie Sie ein weiteres Laufwerk zu Ihrem System hinzufu:gen.

     * Wie virtuelle Dateisysteme, zum Beispiel RAM-Disks,
       eingerichtet werden.

     * Wie Sie mit Quotas die Benutzung von Laufwerken einschra:nken
       ko:nnen.

     * Wie Sie Partitionen verschlu:sseln, um Ihre Daten zu
       schu:tzen.

     * Wie unter FreeBSD CDs und DVDs gebrannt werden.

     * Sie werden die Speichermedien, die Sie fu:r Backups einsetzen
       ko:nnen, kennen.

     * Wie Sie die unter FreeBSD erha:ltlichen Backup Programme
       benutzen.

     * Wie Sie ein Backup mit Disketten erstellen.

     * Was Dateisystem-Schnappschu:sse sind und wie sie eingesetzt
       werden.

   Bevor Sie dieses Kapitel lesen,

     * sollten Sie einen einen FreeBSD-Kernel installieren ko:nnen
       (Kapitel 8).

     --------------------------------------------------------------

18.2. Gera:tenamen

   Die folgende Tabelle zeigt die von FreeBSD unterstu:tzten
   Speichergera:te und deren Gera:tenamen.

   Tabelle 18-1. Namenskonventionen von physikalischen Laufwerken

         Laufwerkstyp                      Gera:tename                
   IDE-Festplatten           ad                                       
   IDE-CD-ROM Laufwerke      acd                                      
   SCSI-Festplatten und      da                                       
   USB-Speichermedien        
   SCSI-CD-ROM Laufwerke     cd                                       
   Verschiedene proprieta:re mcd Mitsumi CD-ROM und scd Sony CD-ROM   
   CD-ROM-Laufwerke          
   Diskettenlaufwerke        fd                                       
   SCSI-Bandlaufwerke        sa                                       
   IDE-Bandlaufwerke         ast                                      
   Flash-Laufwerke           fla fu:r DiskOnChip(R) Flash-Device      
                             aacd fu:r Adaptec(R) AdvancedRAID, mlxd  
   RAID-Laufwerke            und mlyd fu:r Mylex, amrd fu:r AMI       
                             MegaRAID, idad fu:r Compaq Smart RAID,   
                             twed fu:r 3ware(R) RAID.                 

     --------------------------------------------------------------

18.3. Hinzufu:gen von Laufwerken

   Im Original von David O'Brian.

   Angenommen, Sie wollen ein neues SCSI-Laufwerk zu einer Maschine
   hinzufu:gen, die momentan nur ein Laufwerk hat. Dazu schalten Sie
   zuerst den Rechner aus und installieren das Laufwerk entsprechend
   der Anleitungen Ihres Rechners, Ihres Controllers und Laufwerk
   Herstellers. Den genauen Ablauf ko:nnen wir wegen der grossen
   Abweichungen leider nicht beschreiben.

   Nachdem Sie das Laufwerk installiert haben, melden Sie sich als
   Benutzer root an und kontrollieren Sie /var/run/dmesg.boot, um
   sicherzustellen, dass das neue Laufwerk gefunden wurde. Das neue
   Laufwerk wird, um das Beispiel fortzufu:hren, da1 heissen und soll
   unter /1 angehangen werden. Fu:gen Sie eine IDE-Platte hinzu, wird
   diese den Namen ad1 erhalten.s

   Da FreeBSD auf IBM-PC kompatiblen Rechnern la:uft, muss es die PC
   BIOS-Partitionen, die verschieden von den traditionellen
   BSD-Partitionen sind, beru:cksichtigen. Eine PC Platte kann bis zu
   vier BIOS-Partitionen enthalten. Wenn die Platte ausschliesslich
   fu:r FreeBSD verwendet wird, ko:nnen Sie den dedicated Modus
   benutzen, ansonsten muss FreeBSD in eine der BIOS-Partitionen
   installiert werden. In FreeBSD heissen die PC BIOS-Partitionen
   Slices, um sie nicht mit den traditionellen BSD-Partitionen zu
   verwechseln. Sie ko:nnen auch Slices auf einer Platte verwenden,
   die ausschliesslich von FreeBSD benutzt wird, sich aber in einem
   Rechner befindet, der noch ein anderes Betriebssystem installiert
   hat. Dadurch stellen Sie sicher, dass Sie fdisk des anderen
   Betriebssystems noch benutzen ko:nnen.

   Im Fall von Slices wird die Platte als /dev/da1s1e hinzugefu:gt.
   Das heisst: SCSI-Platte, Einheit 1 (die zweite SCSI-Platte), Slice
   1 (PC BIOS-Partition 1) und die e BSD-Partition. Wird die Platte
   ausschliesslich fu:r FreeBSD verwendet ("dangerously dedicated"),
   wird sie einfach als /dev/da1e hinzugefu:gt.

     Anmerkung: Da bsdlabel(8) zum Speichern von Sektoren 32-Bit
     Integer verwendet, ist das Werkzeug in den meisten Fa:llen auf
     2^32-1 Sektoren pro Laufwerk oder 2 TB beschra:nkt. In fdisk(8)
     darf der Startsektor nicht gro:sser als 2^32-1 sein und
     Partitionen sind auf eine La:nge von 2^32-1 beschra:nkt. In den
     meisten Fa:llen beschra:nkt dies die Gro:sse einer Partition auf
     2 TB und die maximale Gro:sse eines Laufwerks auf 4 TB. Das
     sunlabel(8)-Format ist mit 2^32-1 Sektoren pro Partition und
     8 Partitionen auf 16 TB beschra:nkt. Mit gro:sseren Laufwerken
     ko:nnen gpt(8)-Partitionen benutzt werden.

     --------------------------------------------------------------

  18.3.1. Verwenden von sysinstall(8)

    1. Das sysinstall Menu:

       Um ein Laufwerk zu partitionieren und zu labeln, kann das
       menu:gestu:tzte sysinstall benutzt werden. Dazu melden Sie
       sich als root an oder benutzen su, um root zu werden. Starten
       Sie sysinstall und wa:hlen das Configure Menu:, wa:hlen Sie
       dort den Punkt Fdisk aus.

    2. Partitionieren mit fdisk

       Innerhalb von fdisk geben Sie A ein, um die ganze Platte fu:r
       FreeBSD zu benutzen. Beantworten Sie die Frage "remain
       cooperative with any future possible operating systems" mit
       YES. W schreibt die A:nderung auf die Platte, danach ko:nnen
       Sie fdisk mit Q verlassen. Da Sie eine Platte zu einem schon
       laufenden System hinzugefu:gt haben, beantworten Sie die Frage
       nach dem Master Boot Record mit None.

    3. Disk-Label-Editor

       Als na:chstes mu:ssen Sie sysinstall verlassen und es erneut
       starten. Folgen Sie dazu bitte den Anweisungen von oben, aber
       wa:hlen Sie dieses Mal die Option Label, um in den Disk Label
       Editor zu gelangen. Hier werden die traditionellen
       BSD-Partitionen erstellt. Ein Laufwerk kann acht Partitionen,
       die mit den Buchstaben a-h gekennzeichnet werden, besitzen.
       Einige Partitionen sind fu:r spezielle Zwecke reserviert. Die
       a Partition ist fu:r die Root-Partition (/) reserviert.
       Deshalb sollte nur das Laufwerk, von dem gebootet wird, eine a
       Partition besitzen. Die b Partition wird fu:r Swap-Partitionen
       benutzt, wobei Sie diese auf mehreren Platten benutzen
       du:rfen. Im "dangerously dedicated" Modus spricht die c
       Partition die gesamte Platte an, werden Slices verwendet, wird
       damit die ganze Slice angesprochen. Die anderen Partitionen
       sind fu:r allgemeine Zwecke verwendbar.

       Der Label Editor von sysinstall bevorzugt die e Partition fu:r
       Partitionen, die weder Root-Partitionen noch Swap-Partitionen
       sind. Im Label Editor ko:nnen Sie ein einzelnes Dateisystem
       mit C erstellen. Wa:hlen Sie FS, wenn Sie gefragt werden, ob
       Sie ein FS (Dateisystem) oder Swap erstellen wollen, und geben
       Sie einen Mountpoint z.B. /mnt an. Wenn Sie nach einer
       FreeBSD-Installation ein Dateisystem mit sysinstall erzeugen,
       so werden die Eintra:ge in /etc/fstab nicht erzeugt, so dass
       die Angabe des Mountpoints nicht wichtig ist.

       Sie ko:nnen nun das Label auf das Laufwerk schreiben und das
       Dateisystem erstellen, indem Sie W dru:cken. Ignorieren Sie
       die Meldung von sysinstall, dass die neue Partition nicht
       angehangen werden konnte, und verlassen Sie den Label Editor
       sowie sysinstall.

    4. Ende

       Im letzten Schritt fu:gen Sie noch in /etc/fstab den Eintrag
       fu:r das neue Laufwerk ein.

     --------------------------------------------------------------

  18.3.2. Die Kommandozeile

    18.3.2.1. Anlegen von Slices

   Mit der folgenden Vorgehensweise wird eine Platte mit anderen
   Betriebssystemen, die vielleicht auf Ihrem Rechner installiert
   sind, zusammenarbeiten und nicht das fdisk Programm anderer
   Betriebssysteme sto:ren. Bitte benutzen Sie den dedicated Modus
   nur dann, wenn Sie dazu einen guten Grund haben!

 # dd if=/dev/zero of=/dev/da1 bs=1k count=1
 # fdisk -BI da1 # Initialisieren der neuen Platte
 # bsdlabel -B -w da1s1 auto #Labeln.
 # bsdlabel -e da1s1 # Editieren des Disklabels und Hinzufu:gen von Partitionen
 # mkdir -p /1
 # newfs /dev/da1s1e # Wiederholen Sie diesen Schritt fu:r jede Partition
 # mount /dev/da1s1e /1 # Anha:ngen der Partitionen
 # vi /etc/fstab # A:ndern Sie /etc/fstab entsprechend

   Wenn Sie ein IDE-Laufwerk besitzen, a:ndern Sie da in ad.

     --------------------------------------------------------------

    18.3.2.2. Dedicated

   Wenn das neue Laufwerk nicht von anderen Betriebssystemen benutzt
   werden soll, ko:nnen Sie es im dedicated Modus betreiben. Beachten
   Sie bitte, dass Microsoft-Betriebssysteme mit diesem Modus
   eventuell nicht zurechtkommen, aber es entsteht kein Schaden am
   Laufwerk. Im Gegensatz dazu wird IBMs OS/2 versuchen, jede ihm
   nicht bekannte Partition zu reparieren.

 # dd if=/dev/zero of=/dev/da1 bs=1k count=1
 # bsdlabel -Bw da1 auto
 # bsdlabel -e da1  # Erstellen der `e' Partition
 # newfs /dev/da1e
 # mkdir -p /1
 # vi /etc/fstab # /dev/da1e hinzufu:gen
 # mount /1

   Eine alternative Methode:

 # dd if=/dev/zero of=/dev/da1 count=2
 # bsdlabel /dev/da1 | bsdlabel -BR da1 /dev/stdin
 # newfs /dev/da1e
 # mkdir -p /1
 # vi /etc/fstab # /dev/da1e hinzufu:gen
 # mount /1

     --------------------------------------------------------------

18.4. RAID

  18.4.1. Software-RAID

    18.4.1.1. Concatenated-Disk (CCD) konfigurieren

   Original von Christopher Shumway. U:berarbeitet von Jim Brown.

   Die wichtigsten Faktoren bei der Auswahl von Massenspeichern sind
   Geschwindigkeit, Zuverla:ssigkeit und Preis. Selten findet sich
   eine ausgewogene Mischung aller drei Faktoren. Schnelle und
   zuverla:ssige Massenspeicher sind fu:r gewo:hnlich teuer. Um die
   Kosten zu senken, muss entweder an der Geschwindigkeit oder an der
   Zuverla:ssigkeit gespart werden.

   Das unten beschriebene System sollte vor allem preiswert sein. Der
   na:chst wichtige Faktor war die Geschwindigkeit gefolgt von der
   Zuverla:ssigkeit. Die Geschwindigkeit war nicht so wichtig, da
   u:ber das Netzwerk auf das System zugegriffen wird. Da alle Daten
   schon auf CD-Rs gesichert sind, war die Zuverla:ssigkeit, obwohl
   wichtig, ebenfalls nicht von entscheidender Bedeutung.

   Die Bewertung der einzelnen Faktoren ist der erste Schritt bei der
   Auswahl von Massenspeichern. Wenn Sie vor allem ein schnelles und
   zuverla:ssiges Medium beno:tigen und der Preis nicht wichtig ist,
   werden Sie ein anderes System als das hier beschriebene
   zusammenstellen.

     --------------------------------------------------------------

      18.4.1.1.1. Installation der Hardware

   Neben der IDE-Systemplatte besteht das System aus drei Western
   Digital IDE-Festplatten mit 5400 RPM und einer Kapazita:t von je
   30 GB. Insgesamt stehen also 90 GB Speicherplatz zur Verfu:gung.
   Im Idealfall sollte jede Festplatte an einen eigenen Controller
   angeschlossen werden. Um Kosten zu sparen, wurde bei diesem System
   darauf verzichtet und an jeden IDE-Controller eine Master- und
   eine Slave-Platte angeschlossen.

   Beim Reboot wurde das BIOS so konfiguriert, dass es die
   angeschlossenen Platten automatisch erkennt und FreeBSD erkannte
   die Platten ebenfalls:

 ad0: 19574MB <WDC WD205BA> [39770/16/63] at ata0-master UDMA33
 ad1: 29333MB <WDC WD307AA> [59598/16/63] at ata0-slave UDMA33
 ad2: 29333MB <WDC WD307AA> [59598/16/63] at ata1-master UDMA33
 ad3: 29333MB <WDC WD307AA> [59598/16/63] at ata1-slave UDMA33

     Anmerkung: Wenn FreeBSD die Platten nicht erkennt, u:berpru:fen
     Sie, ob die Jumper korrekt konfiguriert sind. Die meisten
     IDE-Festplatten verfu:gen u:ber einen "Cable Select"-Jumper. Die
     Master- und Slave-Platten werden mit einem anderen Jumper
     konfiguriert. Bestimmen Sie den richtigen Jumper mithilfe der
     Dokumentation Ihrer Festplatte.

   Als na:chstes sollten Sie u:berlegen, auf welche Art der Speicher
   zur Verfu:gung gestellt werden soll. Schauen Sie sich dazu
   vinum(8) (Kapitel 21) und ccd(4) an. Im hier beschriebenen System
   wird ccd(4) eingesetzt.

     --------------------------------------------------------------

      18.4.1.1.2. Konfiguration von CCD

   Mit ccd(4) ko:nnen mehrere gleiche Platten zu einem logischen
   Dateisystem zusammengefasst werden. Um ccd(4) zu benutzen, muss
   der Kernel mit der entsprechenden Unterstu:tzung u:bersetzt
   werden. Erga:nzen Sie die Kernelkonfiguration um die nachstehende
   Zeile. Anschliessend mu:ssen Sie den Kernel neu u:bersetzen und
   installieren.

 pseudo-device   ccd

   Alternativ kann ccd(4) auch als Kernelmodul geladen werden.

   Um ccd(4) zu benutzen, mu:ssen die Laufwerke zuerst mit einem
   Label versehen werden. Die Label werden mit bsdlabel(8) erstellt:

 bsdlabel -w ad1 auto
 bsdlabel -w ad2 auto
 bsdlabel -w ad3 auto

   Damit wurden die Label ad1c, ad2c und ad3c erstellt, die jeweils
   das gesamte Laufwerk umfassen.

   Im na:chsten Schritt muss der Typ des Labels gea:ndert werden. Die
   Labels ko:nnen Sie mit bsdlabel(8) editieren:

 bsdlabel -e ad1
 bsdlabel -e ad2
 bsdlabel -e ad3

   Fu:r jedes Label startet dies den durch EDITOR gegebenen Editor,
   typischerweise vi(1).

   Ein unvera:ndertes Label sieht zum Beispiel wie folgt aus:

 8 partitions:
 #        size   offset    fstype   [fsize bsize bps/cpg]
   c: 60074784        0    unused        0     0     0   # (Cyl.    0 - 59597)

   Erstellen Sie eine e-Partition fu:r ccd(4). Dazu ko:nnen Sie
   normalerweise die Zeile der c-Partition kopieren, allerdings muss
   fstype auf 4.2BSD gesetzt werden. Das Ergebnis sollte wie folgt
   aussehen:

 8 partitions:
 #        size   offset    fstype   [fsize bsize bps/cpg]
   c: 60074784        0    unused        0     0     0   # (Cyl.    0 - 59597)
   e: 60074784        0    4.2BSD        0     0     0   # (Cyl.    0 - 59597)

     --------------------------------------------------------------

      18.4.1.1.3. Erstellen des Dateisystems

   Nachdem alle Platten ein Label haben, kann das ccd(4)-RAID
   aufgebaut werden. Dies geschieht mit ccdconfig(8):

 ccdconfig ccd0(1) 32(2) 0(3) /dev/ad1e(4) /dev/ad2e /dev/ad3e

   Die folgende Aufstellung erkla:rt die verwendeten
   Kommandozeilenargumente:

   (1)
           Das erste Argument gibt das zu konfigurierende Gera:t,
           hier /dev/ccd0c, an. Die Angabe von /dev/ ist dabei
           optional.
   (2)
           Der Interleave fu:r das Dateisystem. Der Interleave
           definiert die Gro:sse eines Streifens in Blo:cken, die
           normal 512 Bytes gross sind. Ein Interleave von 32 ist
           demnach 16384 Bytes gross.
   (3)
           Weitere Argumente fu:r ccdconfig(8). Wenn Sie spiegeln
           wollen, ko:nnen Sie das hier angeben. Die gezeigte
           Konfiguration verwendet keine Spiegel, sodass der Wert 0
           angegeben ist.
   (4)
           Das letzte Argument gibt die Gera:te des Plattenverbundes
           an. Benutzen Sie fu:r jedes Gera:t den kompletten
           Pfadnamen.

   Nach Abschluss von ccdconfig(8) ist der Plattenverbund
   konfiguriert und es ko:nnen Dateisysteme auf dem Plattenverbund
   angelegt werden. Das Anlegen von Dateisystemen wird in der
   Hilfeseite newfs(8) beschrieben. Fu:r das Beispiel genu:gt der
   folgende Befehl:

 newfs /dev/ccd0c

     --------------------------------------------------------------

      18.4.1.1.4. Automatisierung

   Damit ccd(4) beim Start automatisch aktiviert wird, ist die Datei
   /etc/ccd.conf mit dem folgenden Kommando zu erstellen:

 ccdconfig -g > /etc/ccd.conf

   Wenn /etc/ccd.conf existiert, wird beim Reboot ccdconfig -C von
   /etc/rc aufgerufen. Damit wird ccd(4) eingerichtet und die darauf
   befindlichen Dateisysteme ko:nnen angeha:ngt werden.

     Anmerkung: Wenn Sie in den Single-User Modus booten, mu:ssen Sie
     den Verbund erst konfigurieren, bevor Sie darauf befindliche
     Dateisysteme anha:ngen ko:nnen:

 ccdconfig -C

   In /etc/fstab ist noch ein Eintrag fu:r das auf dem Verbund
   befindliche Dateisystem zu erstellen, damit dieses beim Start des
   Systems immer angeha:ngt wird:

 /dev/ccd0c              /media       ufs     rw      2       2

     --------------------------------------------------------------

    18.4.1.2. Der Vinum-Volume-Manager

   Der Vinum Volume Manager ist ein Block-Gera:tetreiber, der
   virtuelle Platten zur Verfu:gung stellt. Er trennt die Verbindung
   zwischen der Festplatte und dem zugeho:rigen Block-Gera:t auf. Im
   Gegensatz zur konventionellen Aufteilung einer Platte in Slices
   lassen sich dadurch Daten flexibler, leistungsfa:higer und
   zuverla:ssiger verwalten. vinum(8) stellt RAID-0, RAID-1 und
   RAID-5 sowohl einzeln wie auch in Kombination zur Verfu:gung.

   Mehr Informationen u:ber vinum(8) erhalten Sie in Kapitel 21.

     --------------------------------------------------------------

  18.4.2. Hardware-RAID

   FreeBSD unterstu:tzt eine Reihe von RAID-Controllern. Diese
   Gera:te verwalten einen Plattenverbund; zusa:tzliche Software wird
   nicht beno:tigt.

   Der Controller steuert mithilfe eines BIOS auf der Karte die
   Plattenoperationen. Wie ein RAID System eingerichtet wird, sei
   kurz am Beispiel des Promise IDE RAID-Controllers gezeigt. Nachdem
   die Karte eingebaut ist und der Rechner neu gestartet wurde,
   erscheint eine Eingabeaufforderung. Wenn Sie den Anweisungen auf
   dem Bildschirm folgen, gelangen Sie in eine Maske, in der Sie mit
   den vorhandenen Festplatten ein RAID-System aufbauen ko:nnen.
   FreeBSD behandelt das RAID-System wie eine einzelne Festplatte.

     --------------------------------------------------------------

  18.4.3. Wiederherstellen eines ATA-RAID-1 Verbunds

   Mit FreeBSD ko:nnen Sie eine ausgefallene Platte in einem
   RAID-Verbund wa:hrend des Betriebs auswechseln, vorausgesetzt Sie
   bemerken den Ausfall vor einem Neustart.

   Einen Ausfall erkennen Sie, wenn in der Datei /var/log/messages
   oder in der Ausgabe von dmesg(8) Meldungen wie die folgenden
   auftauchen:

 ad6 on monster1 suffered a hard error.
 ad6: READ command timeout tag=0 serv=0 - resetting
 ad6: trying fallback to PIO mode
 ata3: resetting devices .. done
 ad6: hard error reading fsbn 1116119 of 0-7 (ad6 bn 1116119; cn 1107 tn 4 sn 11)\\
 status=59 error=40
 ar0: WARNING - mirror lost

   U:berpru:fen Sie den RAID-Verbund mit atacontrol(8):

 # atacontrol list
 ATA channel 0:
         Master:      no device present
         Slave:   acd0 <HL-DT-ST CD-ROM GCR-8520B/1.00> ATA/ATAPI rev 0

 ATA channel 1:
         Master:      no device present
         Slave:       no device present

 ATA channel 2:
         Master:  ad4 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5
         Slave:       no device present

 ATA channel 3:
         Master:  ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5
         Slave:       no device present

 # atacontrol status ar0
 ar0: ATA RAID1 subdisks: ad4 ad6 status: DEGRADED

    1. Damit Sie die Platte ausbauen ko:nnen, muss zuerst der
       ATA-Channel der ausgefallenen Platte aus dem Verbund entfernt
       werden:

 # atacontrol detach ata3

    2. Ersetzen Sie dann die Platte.

    3. Nun aktivieren Sie den ATA-Channel wieder:

 # atacontrol attach ata3
 Master:  ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5
 Slave:   no device present

    4. Nehmen Sie die neue Platte in den Verbund auf:

 # atacontrol addspare ar0 ad6

    5. Stellen Sie die Organisation des Verbunds wieder her:

 # atacontrol rebuild ar0

    6. Sie ko:nnen den Fortschritt des Prozesses durch folgende
       Befehle kontrollieren:

 # dmesg | tail -10
 [output removed]
 ad6: removed from configuration
 ad6: deleted from ar0 disk1
 ad6: inserted into ar0 disk1 as spare

 # atacontrol status ar0
 ar0: ATA RAID1 subdisks: ad4 ad6 status: REBUILDING 0% completed

    7. Warten Sie bis die Wiederherstellung beendet ist.

     --------------------------------------------------------------

18.5. USB Speichermedien

   Beigetragen von Marc Fonvieille.

   Der Universal Serial Bus (USB) wird heutzutage von vielen externen
   Speichern benutzt: Festplatten, USB-Thumbdrives oder CD-Brennern,
   die alle von FreeBSD unterstu:tzt werden.

     --------------------------------------------------------------

  18.5.1. USB-Konfiguration

   USB-Massenspeicher werden vom Treiber umass(4) betrieben. Wenn Sie
   den GENERIC-Kernel benutzen, brauchen Sie keine Anpassungen
   vorzunehmen. Benutzen Sie einen angepassten Kernel, mu:ssen die
   nachstehenden Zeilen in der Kernelkonfigurationsdatei enthalten
   sein:

 device scbus
 device da
 device pass
 device uhci
 device ohci
 device ehci
 device usb
 device umass

   Der Treiber umass(4) greift u:ber das SCSI-Subsystem auf die
   USB-Gera:te zu. Ihre USB-Gera:te werden daher vom System als
   SCSI-Gera:te erkannt. Abha:ngig vom Chipsatz Ihrer Systemplatine
   beno:tigen Sie in der Kernelkonfiguration entweder die Option
   device uhci oder die Option device ohci fu:r die Unterstu:tzung
   von USB 1.1. Die Kernelkonfiguration kann allerdings auch beide
   Optionen enthalten. Unterstu:tzung fu:r USB 2.0 Controller wird
   durch den ehci(4)-Treiber geleistet (die device ehci Zeile).
   Vergessen Sie bitte nicht, einen neuen Kernel zu bauen und zu
   installieren, wenn Sie die Kernelkonfiguration vera:ndert haben.

     Anmerkung: Wenn es sich bei Ihrem USB-Gera:t um einen CD-R- oder
     DVD-Brenner handelt, mu:ssen Sie den Treiber cd(4) fu:r
     SCSI-CD-ROMs in die Kernelkonfiguration aufnehmen:

 device cd

     Da der Brenner als SCSI-Laufwerk erkannt wird, sollten Sie den
     Treiber atapicam(4) nicht benutzen.

     --------------------------------------------------------------

  18.5.2. Die USB-Konfiguration testen

   Sie ko:nnen das USB-Gera:t nun testen. Schliessen Sie das Gera:t
   an und untersuchen Sie die Systemmeldungen (dmesg(8)), Sie sehen
   Ausgaben wie die folgende:

 umass0: USB Solid state disk, rev 1.10/1.00, addr 2
 GEOM: create disk da0 dp=0xc2d74850
 da0 at umass-sim0 bus 0 target 0 lun 0
 da0: <Generic Traveling Disk 1.11> Removable Direct Access SCSI-2 device
 da0: 1.000MB/s transfers
 da0: 126MB (258048 512 byte sectors: 64H 32S/T 126C)

   Die Ausgaben, wie das erkannte Gera:t oder der Gera:tename (da0)
   ha:ngen natu:rlich von Ihrer Konfiguration ab.

   Da ein USB-Gera:t als SCSI-Gera:t erkannt wird, ko:nnen Sie
   USB-Massenspeicher mit dem Befehl camcontrol anzeigen:

 # camcontrol devlist
 <Generic Traveling Disk 1.11>      at scbus0 target 0 lun 0 (da0,pass0)

   Wenn auf dem Laufwerk ein Dateisystem eingerichtet ist, sollten
   Sie das Dateisystem einha:ngen ko:nnen. Abschnitt 18.3 beschreibt,
   wie Sie USB-Laufwerke formatieren und Partitionen einrichten.

   Damit auch normale Anwender (ohne root-Rechte) USB-Laufwerke
   einha:ngen ko:nnen, mu:ssen Sie Ihr System erst entsprechend
   konfigurieren. Als erstes mu:ssen Sie sicherstellen, dass diese
   Anwender auf die beim Einha:ngen eines USB-Laufwerks dynamisch
   erzeugten Gera:tedateien zugreifen du:rfen. Dazu ko:nnen Sie
   beispielsweise mit pw(8) alle potentiellen Benutzer dieser
   Gera:tedateien in die Gruppe operator aufnehmen. Ausserdem muss
   sichergestellt werden, dass Mitglieder der Gruppe operator
   Schreib- und Lesezugriff auf diese Gera:tedateien haben. Dazu
   fu:gen Sie die folgenden Zeilen in die Konfigurationsdatei
   /etc/devfs.rules ein:

 [localrules=5]
 add path 'da*' mode 0660 group operator

     Anmerkung: Verfu:gt Ihr System auch u:ber SCSI-Laufwerke, gibt
     es eine Besonderheit. Haben Sie beispielsweise die
     SCSI-Laufwerke da0 bis da2 installiert, so sieht die zweite
     Zeile wie folgt aus:

 add path 'da[3-9]*' mode 0660 group operator

     Dadurch werden die bereits vorhandenen SCSI-Laufwerke nicht in
     die Gruppe operator aufgenommen.

   Vergessen Sie nicht, die devfs.rules(5)-Regeln in der Datei
   /etc/rc.conf zu aktivieren:

 devfs_system_ruleset="localrules"

   Als na:chstes mu:ssen Sie Ihre Kernelkonfiguration anpassen, damit
   auch normale Benutzer Dateisysteme mounten du:rfen. Dazu fu:gen
   Sie am besten folgende Zeile in die Konfigurationsdatei
   /etc/sysctl.conf ein:

 vfs.usermount=1

   Damit diese Einstellung wirksam wird, mu:ssen Sie Ihr System neu
   starten. Alternativ ko:nnen Sie diese Variable auch mit sysctl(8)
   setzen.

   Zuletzt mu:ssen Sie noch ein Verzeichnis anlegen, in das das
   USB-Laufwerk eingeha:ngt werden soll. Dieses Verzeichnis muss dem
   Benutzer geho:ren, der das USB-Laufwerk in den Verzeichnisbaum
   einha:ngen will. Dazu legen Sie als root ein Unterverzeichnis
   /mnt/username an (wobei Sie username durch den Login des
   jeweiligen Benutzers sowie usergroup durch die prima:re Gruppe des
   Benutzers ersetzen):

 # mkdir /mnt/username
  # chown username:usergroup /mnt/username

   Wenn Sie nun beispielsweise einen USB-Stick anschliessen, wird
   automatisch die Gera:tedatei /dev/da0s1 erzeugt. Da derartige
   Gera:te in der Regel mit dem FAT-Dateisystem formatiert sind,
   ko:nnen Sie sie beispielsweise mit dem folgenden Befehl in den
   Verzeichnisbaum einha:ngen:

 % mount -t msdosfs -o -m=644,-M=755 /dev/da0s1 /mnt/username

   Wenn Sie das Gera:t entfernen (das Dateisystem mu:ssen Sie vorher
   abha:ngen), sehen Sie in den Systemmeldungen Eintra:ge wie die
   folgenden:

 umass0: at uhub0 port 1 (addr 2) disconnected
 (da0:umass-sim0:0:0:0): lost device
 (da0:umass-sim0:0:0:0): removing device entry
 GEOM: destroy disk da0 dp=0xc2d74850
 umass0: detached

     --------------------------------------------------------------

  18.5.3. Weiteres zu USB

   Neben den Abschnitten Hinzufu:gen von Laufwerken und Anha:ngen und
   Abha:ngen von Dateisystemen lesen Sie bitte die Hilfeseiten
   umass(4), camcontrol(8) fu:r FreeBSD 8.X oder usbdevs(8) bei
   vorherigen Versionen.

     --------------------------------------------------------------

18.6. CDs benutzen

   Beigesteuert von Mike Meyer.

     --------------------------------------------------------------

  18.6.1. Einfu:hrung

   CDs besitzen einige Eigenschaften, die sie von konventionellen
   Laufwerken unterscheiden. Zuerst konnten sie nicht beschrieben
   werden. Sie wurden so entworfen, dass sie ununterbrochen, ohne
   Verzo:gerungen durch Kopfbewegungen zwischen den Spuren, gelesen
   werden ko:nnen. Sie konnten fru:her auch leichter als vergleichbar
   grosse Medien zwischen Systemen bewegt werden.

   CDs besitzen Spuren, aber damit ist der Teil Daten gemeint, der
   ununterbrochen gelesen wird, und nicht eine physikalische
   Eigenschaft der CD. Um eine CD mit FreeBSD zu erstellen, werden
   die Daten jeder Spur der CD in Dateien vorbereitet und dann die
   Spuren auf die CD geschrieben.

   Das ISO 9660-Dateisystem wurde entworfen, um mit diesen
   Unterschieden umzugehen. Leider hat es auch damals u:bliche
   Grenzen fu:r Dateisysteme implementiert. Glu:cklicherweise
   existiert ein Erweiterungsmechanismus, der es korrekt
   geschriebenen CDs erlaubt, diese Grenzen zu u:berschreiten und
   dennoch auf Systemen zu funktionieren, die diese Erweiterungen
   nicht unterstu:tzen.

   Der Port sysutils/cdrtools entha:lt das Programm mkisofs(8), das
   eine Datei erstellt, die ein ISO 9660-Dateisystem entha:lt. Das
   Programm hat Optionen, um verschiedene Erweiterungen zu
   unterstu:tzen, und wird unten beschrieben.

   Welches Tool Sie zum Brennen von CDs benutzen, ha:ngt davon ab, ob
   Ihr CD-Brenner ein ATAPI-Gera:t ist oder nicht. Mit
   ATAPI-CD-Brennern wird  burncd benutzt, das Teil des Basissystems
   ist. SCSI- und USB-CD-Brenner werden mit cdrecord aus
   sysutils/cdrtools benutzt. Zusa:tzlich ist es mo:glich, u:ber das
   Modul ATAPI/CAM SCSI-Werkzeuge wie cdrecord auch fu:r
   ATAPI-Gera:te einzusetzen.

   Wenn Sie eine Brennsoftware mit grafischer Benutzeroberfla:che
   beno:tigen, sollten Sie sich X-CD-Roast oder K3b na:her ansehen.
   Diese Werkzeuge ko:nnen als Paket oder aus den Ports
   (sysutils/xcdroast und sysutils/k3b) installiert werden. Mit
   ATAPI-Hardware beno:tigt K3b das ATAPI/CAM-Modul.

     --------------------------------------------------------------

  18.6.2. mkisofs

   Das Programm mkisofs(8) aus dem Port sysutils/cdrtools erstellt
   ein ISO 9660-Dateisystem, das ein Abbild eines Verzeichnisbaumes
   ist. Die einfachste Anwendung ist wie folgt:

 # mkisofs -o Imagedatei /path/to/tree

   Dieses Kommando erstellt eine Imagedatei, die ein ISO
   9660-Dateisystem entha:lt, das eine Kopie des Baumes unter
   /path/to/tree ist. Dabei werden die Dateinamen auf Namen
   abgebildet, die den Restriktionen des ISO 9660-Dateisystems
   entsprechen. Dateien mit Namen, die im ISO 9660-Dateisystem nicht
   gu:ltig sind, bleiben unberu:cksichtigt.

   Es einige Optionen, um diese Beschra:nkungen zu u:berwinden. Die
   unter UNIX Systemen u:blichen Rock-Ridge-Erweiterungen werden
   durch -R aktiviert, -J aktiviert die von Microsoft Systemen
   benutzten Joliet-Erweiterungen und -hfs dient dazu, um das von
   Mac OS benutzte HFS zu erstellen.

   Fu:r CDs, die nur auf FreeBSD-Systemen verwendet werden sollen,
   kann -U genutzt werden, um alle Beschra:nkungen fu:r Dateinamen
   aufzuheben. Zusammen mit -R wird ein Abbild des Dateisystems,
   ausgehend von dem Startpunkt im FreeBSD-Dateibaum, erstellt,
   obwohl dies den ISO 9660 Standard verletzen kann.

   Die letzte u:bliche Option ist -b. Sie wird benutzt, um den Ort
   eines Bootimages einer "El Torito" bootbaren CD anzugeben. Das
   Argument zu dieser Option ist der Pfad zu einem Bootimage
   ausgehend von der Wurzel des Baumes, der auf die CD geschrieben
   werden soll. In der Voreinstellung erzeugt mkisofs(8) ein
   ISO-Image im "Diskettenemulations"-Modus. Dabei muss das Image
   genau 1200, 1440 oder 2880 KB gross sein. Einige Bootloader,
   darunter der auf den FreeBSD-Disks verwendete, kennen keinen
   Emulationsmodus. Daher sollten Sie in diesen Fa:llen die Option
   -no-emul-boot verwenden. Wenn /tmp/myboot ein bootbares
   FreeBSD-System entha:lt, dessen Bootimage sich in
   /tmp/myboot/boot/cdboot befindet, ko:nnen Sie ein Abbild eines ISO
   9660-Dateisystems in /tmp/bootable.iso wie folgt erstellen:

 # mkisofs -R -no-emul-boot -b boot/cdboot -o /tmp/bootable.iso /tmp/myboot

   Wenn Sie md in Ihrem Kernel konfiguriert haben, ko:nnen Sie danach
   das Dateisystem einha:ngen:

 # mdconfig -a -t vnode -f /tmp/bootable.iso -u 0
 # mount -t cd9660 /dev/md0 /mnt

   Jetzt ko:nnen Sie u:berpru:fen, dass /mnt und /tmp/myboot
   identisch sind.

   Sie ko:nnen das Verhalten von mkisofs(8) mit einer Vielzahl von
   Optionen beeinflussen. Insbesondere ko:nnen Sie das ISO
   9660-Dateisystem modifizieren und Joliet- oder HFS-Dateisysteme
   brennen. Details dazu entnehmen Sie bitte der Hilfeseite
   mkisofs(8).

     --------------------------------------------------------------

  18.6.3. burncd

   Wenn Sie einen ATAPI-CD-Brenner besitzen, ko:nnen Sie burncd
   benutzen, um ein ISO-Image auf CD zu brennen. burncd ist Teil des
   Basissystems und unter /usr/sbin/burncd installiert. Da es nicht
   viele Optionen hat, ist es leicht zu benutzen:

 # burncd -f cddevice data imagefile.iso fixate

   Dieses Kommando brennt eine Kopie von imagefile.iso auf das Gera:t
   cddevice. In der Grundeinstellung wird das Gera:t /dev/acd0
   benutzt. burncd(8) beschreibt, wie die Schreibgeschwindigkeit
   gesetzt wird, die CD ausgeworfen wird und Audiodaten geschrieben
   werden.

     --------------------------------------------------------------

  18.6.4. cdrecord

   Wenn Sie keinen ATAPI-CD-Brenner besitzen, benutzen Sie cdrecord,
   um CDs zu brennen. cdrecord ist nicht Bestandteil des
   Basissystems. Sie mu:ssen es entweder aus den Ports in
   sysutils/cdrtools oder dem passenden Paket installieren.
   A:nderungen im Basissystem ko:nnen Fehler im bina:ren Programm
   verursachen und fu:hren mo:glicherweise dazu, dass Sie einen
   "Untersetzer" brennen. Sie sollten daher den Port aktualisieren,
   wenn Sie Ihr System aktualisieren bzw. wenn Sie STABLE verfolgen,
   den Port aktualisieren, wenn es eine neue Version gibt.

   Obwohl cdrecord viele Optionen besitzt, ist die grundlegende
   Anwendung einfacher als burncd. Ein ISO 9660-Image erstellen Sie
   mit:

 # cdrecord dev=device imagefile.iso

   Der Knackpunkt in der Benutzung von cdrecord besteht darin, das
   richtige Argument zu dev zu finden. Benutzen Sie dazu den Schalter
   -scanbus von cdrecord, der eine a:hnliche Ausgabe wie die folgende
   produziert:

 # cdrecord -scanbus
 Cdrecord 1.9 (i386-unknown-freebsd7.0) Copyright (C) 1995-2004 Jo:rg Schilling
 Using libscg version 'schily-0.1'
 scsibus0:
         0,0,0     0) 'SEAGATE ' 'ST39236LW       ' '0004' Disk
         0,1,0     1) 'SEAGATE ' 'ST39173W        ' '5958' Disk
         0,2,0     2) *
         0,3,0     3) 'iomega  ' 'jaz 1GB         ' 'J.86' Removable Disk
         0,4,0     4) 'NEC     ' 'CD-ROM DRIVE:466' '1.26' Removable CD-ROM
         0,5,0     5) *
         0,6,0     6) *
         0,7,0     7) *
 scsibus1:
         1,0,0   100) *
         1,1,0   101) *
         1,2,0   102) *
         1,3,0   103) *
         1,4,0   104) *
         1,5,0   105) 'YAMAHA  ' 'CRW4260         ' '1.0q' Removable CD-ROM
         1,6,0   106) 'ARTEC   ' 'AM12S           ' '1.06' Scanner
         1,7,0   107) *

   Fu:r die aufgefu:hrten Gera:te in der Liste wird das passende
   Argument zu dev gegeben. Benutzen Sie die drei durch Kommas
   separierten Zahlen, die zu Ihrem CD-Brenner angegeben sind, als
   Argument fu:r dev. Im Beispiel ist das CDRW-Gera:t 1,5,0, so dass
   die passende Eingabe dev=1,5,0 wa:re. Einfachere Wege das Argument
   anzugeben, sind in cdrecord(1) beschrieben. Dort sollten Sie auch
   nach Informationen u:ber Audiospuren, das Einstellen der
   Geschwindigkeit und a:hnlichem suchen.

     --------------------------------------------------------------

  18.6.5. Kopieren von Audio-CDs

   Um eine Kopie einer Audio-CD zu erstellen, kopieren Sie die
   Stu:cke der CD in einzelne Dateien und brennen diese Dateien dann
   auf eine leere CD. Das genaue Verfahren ha:ngt davon ab, ob Sie
   ATAPI- oder SCSI-Laufwerke verwenden.

   SCSI-Laufwerke

    1. Kopieren Sie die Audiodaten mit cdda2wav:

 % cdda2wav -v255 -D2,0 -B -Owav

    2. Die erzeugten .wav Dateien schreiben Sie mit cdrecord auf eine
       leere CD:

 % cdrecord -v dev=2,0 -dao -useinfo  *.wav

       Das Argument von dev gibt das verwendete Gera:t an, das Sie,
       wie in Abschnitt 18.6.4 beschrieben, ermitteln ko:nnen.

   ATAPI-Laufwerke

    1. Der ATAPI-CD-Treiber stellt die einzelnen Stu:cke der CD u:ber
       die Dateien /dev/acddtnn, zur Verfu:gung. d bezeichnet die
       Laufwerksnummer und nn ist die Nummer des Stu:cks. Die Nummer
       ist immer zweistellig, das heisst es wird, wenn no:tig, eine
       fu:hrende Null ausgegeben. Die Datei /dev/acd0t01 ist also das
       erste Stu:ck des ersten CD-Laufwerks. /dev/acd0t02 ist das
       zweite Stu:ck und /dev/acd0t03 das dritte.

       U:berpru:fen Sie stets, ob die entsprechenden Dateien im
       Verzeichnis /dev auch angelegt werden. Sind die Eintra:ge
       nicht vorhanden, weisen Sie Ihr System an, das Medium erneut
       zu testen:

 # dd if=/dev/acd0 of=/dev/null count=1

         Anmerkung: Unter FreeBSD 4.X werden diese Eintra:ge nicht
         mit dem Wert Null vordefiniert. Falls die entsprechenden
         Eintra:ge unter /dev nicht vorhanden sind, mu:ssen Sie diese
         hier von MAKEDEV anlegen lassen:

 # cd /dev
 # sh MAKEDEV acd0t99

    2. Die einzelnen Stu:cke kopieren Sie mit dd(1). Sie mu:ssen dazu
       eine spezielle Blockgro:sse angeben:

 # dd if=/dev/acd0t01 of=track1.cdr bs=2352
 # dd if=/dev/acd0t02 of=track2.cdr bs=2352
 ...

    3. Die kopierten Dateien ko:nnen Sie dann mit burncd brennen. Auf
       der Kommandozeile mu:ssen Sie angeben, dass Sie Audio-Daten
       brennen wollen und dass das Medium fixiert werden soll:

 # burncd -f /dev/acd0 audio track1.cdr track2.cdr ... fixate

     --------------------------------------------------------------

  18.6.6. Kopieren von Daten-CDs

   Sie ko:nnen eine Daten-CD in eine Datei kopieren, die einem Image
   entspricht, das mit mkisofs(8) erstellt wurde. Mit Hilfe dieses
   Images ko:nnen Sie jede Daten-CD kopieren. Das folgende Beispiel
   verwendet acd0 fu:r das CD-ROM-Gera:t. Wenn Sie ein anderes
   Laufwerk benutzen, setzen Sie bitte den richtigen Namen ein.

 # dd if=/dev/acd0 of=file.iso bs=2048

   Danach haben Sie ein Image, das Sie wie oben beschrieben, auf eine
   CD brennen ko:nnen.

     --------------------------------------------------------------

  18.6.7. Einha:ngen von Daten-CDs

   Nachdem Sie eine Daten-CD gebrannt haben, wollen Sie
   wahrscheinlich auch die Daten auf der CD lesen. Dazu mu:ssen Sie
   die CD in den Dateibaum einha:ngen. Die Voreinstellung fu:r den
   Typ des Dateisystems von mount(8) ist UFS. Das System wird die
   Fehlermeldung "Incorrect super block" ausgeben, wenn Sie
   versuchen, die CD mit dem folgenden Kommando einzuha:ngen:

 # mount /dev/cd0 /mnt

   Auf der CD befindet sich ja kein UFS Dateisystem, so dass der
   Versuch, die CD einzuha:ngen fehlschla:gt. Sie mu:ssen mount(8)
   sagen, dass es ein Dateisystem vom Typ ISO9660 verwenden soll.
   Dies erreichen Sie durch die Angabe von -t cd9660 auf der
   Kommandozeile. Wenn Sie also die CD-ROM /dev/cd0 in /mnt
   einha:ngen wollen, fu:hren Sie folgenden Befehl aus:

 # mount -t cd9660 /dev/cd0c /mnt

   Abha:ngig vom verwendeten CD-ROM kann der Gera:tename von dem im
   Beispiel (/dev/cd0) abweichen. Die Angabe von -t cd9660 fu:hrt
   mount_cd9660(8) aus, so dass das Beispiel verku:rzt werden kann:

 # mount_cd9660 /dev/cd0 /mnt

   Auf diese Weise ko:nnen Sie Daten-CDs von jedem Hersteller
   verwenden. Es kann allerdings zu Problemen mit CDs kommen, die
   verschiedene ISO9660-Erweiterungen benutzen. So speichern
   Joliet-CDs alle Dateinamen unter Verwendung von zwei Byte langen
   Unicode-Zeichen. Zwar unterstu:tzt der FreeBSD-Kernel derzeit noch
   kein Unicode, der CD9660-Treiber erlaubt es aber, zur Laufzeit
   eine Konvertierungstabelle zu laden. Tauchen bei Ihnen also statt
   bestimmter Zeichen nur Fragezeichen auf, so mu:ssen Sie u:ber die
   Option -C den beno:tigten Zeichensatz angeben. Weitere
   Informationen zu diesem Problem finden Sie in der Manualpage
   mount_cd9660(8).

     Anmerkung: Damit der Kernel diese Zeichenkonvertierung
     (festgelegt durch die Option -C) erkennt, mu:ssen Sie das
     Kernelmodul cd9660_iconv.ko laden. Dazu fu:gen Sie entweder
     folgende Zeile in die Datei loader.conf ein:

 cd9660_iconv_load="YES"

     Danach mu:ssen Sie allerdings Ihr System neu starten. Alternativ
     ko:nnen Sie das Kernelmodul auch direkt u:ber kldload(8) laden.

   Manchmal werden Sie die Meldung "Device not configured" erhalten,
   wenn Sie versuchen, eine CD-ROM einzuha:ngen. Fu:r gewo:hnlich
   liegt das daran, dass das Laufwerk meint es sei keine CD
   eingelegt, oder dass das Laufwerk auf dem Bus nicht erkannt wird.
   Es kann einige Sekunden dauern, bevor das Laufwerk merkt, dass
   eine CD eingelegt wurde. Seien Sie also geduldig.

   Manchmal wird ein SCSI-CD-ROM nicht erkannt, weil es keine Zeit
   hatte, auf das Zuru:cksetzen des Busses zu antworten. Wenn Sie ein
   SCSI-CD-ROM besitzen, sollten Sie die folgende Zeile in Ihre
   Kernelkonfiguration aufnehmen und einen neuen Kernel bauen:

 options SCSI_DELAY=15000

   Die Zeile bewirkt, dass nach dem Zuru:cksetzen des SCSI-Busses
   beim Booten 15 Sekunden gewartet wird, um dem CD-ROM-Laufwerk
   genu:gend Zeit zu geben, darauf zu antworten.

     --------------------------------------------------------------

  18.6.8. Brennen von rohen CDs

   Sie ko:nnen eine Datei auch direkt auf eine CD brennen, ohne
   vorher auf ihr ein ISO 9660-Dateisystem einzurichten. Einige Leute
   nutzen dies, um Datensicherungen durchzufu:hren. Diese
   Vorgehensweise hat den Vorteil, dass Sie schneller als das Brennen
   einer normalen CD ist.

 # burncd -f /dev/acd1 -s 12 data archive.tar.gz fixate

   Wenn Sie die Daten von einer solchen CD wieder zuru:ckbekommen
   wollen, mu:ssen Sie sie direkt von dem rohen Gera:t lesen:

 # tar xzvf /dev/acd1

   Eine auf diese Weise gefertigte CD ko:nnen Sie nicht in das
   Dateisystem einha:ngen. Sie ko:nnen Sie auch nicht auf einem
   anderen Betriebssystem lesen. Wenn Sie die erstellten CDs in das
   Dateisystem einha:ngen oder mit anderen Betriebssystemen
   austauschen wollen, mu:ssen Sie mkisofs(8) wie oben beschrieben
   benutzen.

     --------------------------------------------------------------

  18.6.9. Der ATAPI/CAM Treiber

   Beigetragen von Marc Fonvieille.

   Mit diesem Treiber kann auf ATAPI-Gera:te (wie CD-ROM-, CD-RW-
   oder DVD-Laufwerke) mithilfe des SCSI-Subsystems zugegriffen
   werden. Damit ko:nnen Sie SCSI-Werkzeuge, wie sysutils/cdrdao oder
   cdrecord(1), zusammen mit einem ATAPI-Gera:t benutzen.

   Wenn Sie den Treiber benutzen wollen, fu:gen Sie die folgende
   Zeile in /boot/loader.conf ein:

 atapicam_load="YES"

   Danach mu:ssen Sie Ihr System neu starten, um den Treiber zu
   aktivieren.

     Anmerkung: Alternativ ko:nnen Sie die Unterstu:tzung fu:r
     atapicam(4) auch in Ihren Kernel kompilieren. Dazu fu:gen Sie
     die folgende Zeile in Ihre Kernelkonfigurationsdatei ein:

 device atapicam

     Die folgenden Zeilen werden ebenfalls beno:tigt, sollten aber
     schon Teil der Kernelkonfiguration sein:

 device ata
 device scbus
 device cd
 device pass

   U:bersetzen und installieren Sie den neuen Kernel. Der CD-Brenner
   sollte nun beim Neustart des Systems erkannt werden:

 acd0: CD-RW <MATSHITA CD-RW/DVD-ROM UJDA740> at ata1-master PIO4
 cd0 at ata1 bus 0 target 0 lun 0
 cd0: <MATSHITA CDRW/DVD UJDA740 1.00> Removable CD-ROM SCSI-0 device
 cd0: 16.000MB/s transfers
 cd0: Attempt to query device size failed: NOT READY, Medium not present - tray closed

   U:ber den Gera:tenamen /dev/cd0 ko:nnen Sie nun auf das Laufwerk
   zugreifen. Wenn Sie beispielsweise eine CD-ROM in /mnt einha:ngen
   wollen, benutzen Sie das nachstehende Kommando:

 # mount -t cd9660 /dev/cd0 /mnt

   Die SCSI-Adresse des Brenners ko:nnen Sie als root wie folgt
   ermitteln:

 # camcontrol devlist
 <MATSHITA CDRW/DVD UJDA740 1.00>   at scbus1 target 0 lun 0 (pass0,cd0)

   Die SCSI-Adresse 1,0,0 ko:nnen Sie mit den SCSI-Werkzeugen, zum
   Beispiel cdrecord(1), verwenden.

   Weitere Informationen u:ber das ATAPI/CAM- und das SCSI-System
   erhalten Sie in den Hilfeseiten atapicam(4) und cam(4).

     --------------------------------------------------------------

18.7. DVDs benutzen

   Beigetragen von Marc Fonvieille. Mit Beitra:gen von Andy Polyakov.

     --------------------------------------------------------------

  18.7.1. Einfu:hrung

   Nach der CD ist die DVD die na:chste Generation optischer
   Speichermedien. Auf einer DVD ko:nnen mehr Daten als auf einer CD
   gespeichert werden. DVDs werden heutzutage als Standardmedium fu:r
   Videos verwendet.

   Fu:r beschreibbare DVDs existieren fu:nf Medienformate:

     * DVD-R: Dies war das erste verfu:gbare Format. Das Format wurde
       vom DVD-Forum festgelegt. Die Medien sind nur einmal
       beschreibbar.

     * DVD-RW: Dies ist die wiederbeschreibbare Version des DVD-R
       Standards. Eine DVD-RW kann ungefa:hr 1000 Mal beschrieben
       werden.

     * DVD-RAM: Dies ist ebenfalls ein wiederbeschreibbares Format,
       das vom DVD-Forum unterstu:tzt wird. Eine DVD-RAM verha:lt
       sich wie eine Wechselplatte. Allerdings sind die Medien nicht
       kompatibel zu den meisten DVD-ROM-Laufwerken und
       DVD-Video-Spielern. DVD-RAM wird nur von wenigen Brennern
       unterstu:tzt. Wollen Sie DVD-RAM einsetzen, sollten Sie
       Abschnitt 18.7.9 lesen.

     * DVD+RW: Ist ein wiederbeschreibbares Format, das von der
       DVD+RW Alliance festgelegt wurde. Eine DVD+RW kann ungefa:hr
       1000 Mal beschrieben werden.

     * DVD+R: Dieses Format ist die nur einmal beschreibbare Variante
       des DVD+RW Formats.

   Auf einer einfach beschichteten DVD ko:nnen 4.700.000.000 Bytes
   gespeichert werden. Das sind 4,38 GB oder 4485 MB (1 Kilobyte sind
   1024 Bytes).

     Anmerkung: Die physischen Medien sind unabha:ngig von der
     Anwendung. Ein DVD-Video ist eine spezielle Anordnung von
     Dateien, die auf irgendein Medium (zum Beispiel DVD-R, DVD+R
     oder DVD-RW) geschrieben werden kann. Bevor Sie ein Medium
     auswa:hlen, mu:ssen Sie sicherstellen, dass der Brenner und der
     DVD-Spieler (ein Einzelgera:t oder ein DVD-ROM-Laufwerk eines
     Rechners) mit dem Medium umgehen ko:nnen.

     --------------------------------------------------------------

  18.7.2. Konfiguration

   Das Programm growisofs(1) beschreibt DVDs. Das Kommando ist Teil
   der Anwendung dvd+rw-tools (sysutils/dvd+rw-tools). dvd+rw-tools
   kann mit allen DVD-Medien umgehen.

   Um die Gera:te anzusprechen, brauchen die Werkzeuge das
   SCSI-Subsystem. Daher muss der Kernel den ATAPI/CAM-Treiber zur
   Verfu:gung stellen. Der Treiber ist mit USB-Brennern nutzlos; die
   Konfiguration von USB-Gera:ten behandelt Abschnitt 18.5.

   Fu:r ATAPI-Gera:te mu:ssen Sie ebenfalls DMA-Zugriffe aktivieren.
   Fu:gen Sie dazu die nachstehende Zeile in die Datei
   /boot/loader.conf ein:

 hw.ata.atapi_dma="1"

   Bevor Sie dvd+rw-tools mit Ihrem DVD-Brenner benutzen, lesen Sie
   bitte die Hardware-Informationen auf der Seite dvd+rw-tools'
   hardware compatibility notes.

     Anmerkung: Wenn Sie eine grafische Oberfla:che bevorzugen,
     schauen Sie sich bitte den Port sysutils/k3b an. Der Port bietet
     eine leicht zu bedienende Schnittstelle zu growisofs(1) und
     vielen anderen Werkzeugen.

     --------------------------------------------------------------

  18.7.3. Daten-DVDs brennen

   growisofs(1) erstellt mit dem Programm mkisofs das Dateisystem und
   brennt anschliessend die DVD. Vor dem Brennen brauchen Sie daher
   kein Abbild der Daten zu erstellen.

   Wenn Sie von den Daten im Verzeichnis /path/to/data eine DVD+R
   oder eine DVD-R brennen wollen, benutzen Sie das nachstehende
   Kommando:

 # growisofs -dvd-compat -Z /dev/cd0 -J -R /path/to/data

   Die Optionen -J -R werden an mkisofs(8) durchgereicht und dienen
   zum Erstellen des Dateisystems (hier: ein ISO-9660-Dateisystem mit
   Joliet- und Rock-Ridge-Erweiterungen). Weiteres entnehmen Sie
   bitte der Hilfeseite mkisofs(8).

   Die Option -Z wird fu:r die erste Aufnahme einer Session
   beno:tigt, egal ob Sie eine Multi-Session-DVD brennen oder nicht.
   Fu:r /dev/cd0 mu:ssen Sie den Gera:tenamen Ihres Brenners
   einsetzen. Die Option -dvd-compat schliesst das Medium, weitere
   Daten ko:nnen danach nicht mehr angeha:ngt werden. Durch die
   Angabe dieser Option kann das Medium von mehr DVD-ROM-Laufwerken
   gelesen werden.

   Sie ko:nnen auch ein vorher erstelltes Abbild der Daten brennen.
   Die nachstehende Kommandozeile brennt das Abbild in der Datei
   imagefile.iso:

 # growisofs -dvd-compat -Z /dev/cd0=imagefile.iso

   Die Schreibgeschwindigkeit ha:ngt von den verwendeten Medium sowie
   dem verwendeten Gera:t ab und sollte automatisch gesetzt werden.
   Falls Sie die Schreibgeschwindigkeit vorgeben mo:chten, verwenden
   Sie den Parameter -speed=. Weiteres erfahren Sie in der Hilfeseite
   growisofs(1).

     --------------------------------------------------------------

  18.7.4. DVD-Videos brennen

   Ein DVD-Video ist eine spezielle Anordnung von Dateien, die auf
   den ISO-9660 und den micro-UDF (M-UDF) Spezifikationen beruht. Ein
   DVD-Video ist auf eine bestimmte Datei-Hierarchie angewiesen.
   Daher mu:ssen Sie DVDs mit speziellen Programmen wie
   multimedia/dvdauthor erstellen.

   Wenn Sie schon ein Abbild des Dateisystems eines DVD-Videos haben,
   brennen Sie das Abbild wie jedes andere auch. Eine passende
   Kommandozeile finden Sie im vorigen Abschnitt. Wenn Sie die DVD im
   Verzeichnis /path/to/video zusammengestellt haben, erstellen Sie
   das DVD-Video mit dem nachstehenden Kommando:

 # growisofs -Z /dev/cd0 -dvd-video /path/to/video

   Die Option -dvd-video wird an mkisofs(8) weitergereicht. Dadurch
   erstellt mkisofs(8) die Datei-Hierarchie fu:r ein DVD-Video.
   Weiterhin bewirkt die Angabe von -dvd-video, dass growisofs(1) mit
   der Option -dvd-compat aufgerufen wird.

     --------------------------------------------------------------

  18.7.5. DVD+RW-Medien benutzen

   Im Gegensatz zu CD-RW-Medien mu:ssen Sie DVD+RW-Medien erst
   formatieren, bevor Sie die Medien benutzen. Sie sollten
   growisofs(1) einzetzen, da das Programm Medien automatisch
   formatiert, wenn es erforderlich ist. Sie ko:nnen eine DVD+RW aber
   auch mit dem Kommando dvd+rw-format formatieren:

 # dvd+rw-format /dev/cd0

   Sie mu:ssen das Kommando nur einmal mit neuen Medien laufen
   lassen. Anschliessend ko:nnen Sie DVD+RWs, wie in den vorigen
   Abschnitten beschrieben, brennen.

   Wenn Sie auf einer DVD+RW ein neues Dateisystem erstellen wollen,
   brauchen Sie die DVD+RW vorher nicht zu lo:schen. U:berschreiben
   Sie einfach das vorige Dateisystem indem Sie eine neue Session
   anlegen:

 # growisofs -Z /dev/cd0 -J -R /path/to/newdata

   Mit dem DVD+RW-Format ist es leicht, Daten an eine vorherige
   Aufnahme anzuha:ngen. Dazu wird eine neue Session mit der schon
   bestehenden zusammengefu:hrt. Es wird keine Multi-Session
   geschrieben, sondern growisofs(1) vergro:ssert das
   ISO-9660-Dateisystem auf dem Medium.

   Das folgende Kommando fu:gt weitere Daten zu einer vorher
   erstellten DVD+RW hinzu:

 # growisofs -M /dev/cd0 -J -R /path/to/nextdata

   Wenn Sie eine DVD+RW erweitern, verwenden Sie dieselben
   mkisofs(8)-Optionen wie beim Erstellen der DVD+RW.

     Anmerkung: Um die Kompatibilita:t mit DVD-ROM-Laufwerken zu
     gewa:hrleisten, wollen Sie vielleicht die Option -dvd-compat
     einsetzen. Zu einem DVD+RW-Medium ko:nnen Sie mit dieser Option
     auch weiterhin Daten hinzufu:gen.

   Wenn Sie das Medium aus irgendwelchen Gru:nden doch lo:schen
   mu:ssen, verwenden Sie den nachstehenden Befehl:

 # growisofs -Z /dev/cd0=/dev/zero

     --------------------------------------------------------------

  18.7.6. DVD-RW-Medien benutzen

   Eine DVD-RW kann mit zwei Methoden beschrieben werden:
   Sequential-Recording oder Restricted-Overwrite. Voreingestellt ist
   Sequential-Recording.

   Eine neue DVD-RW kann direkt beschrieben werden; sie muss nicht
   vorher formatiert werden. Allerdings muss eine DVD-RW, die mit
   Sequential-Recording aufgenommen wurde, zuerst gelo:scht werden,
   bevor eine neue Session aufgenommen werden kann.

   Der folgende Befehl lo:scht eine DVD-RW im
   Sequential-Recording-Modus:

 # dvd+rw-format -blank=full /dev/cd0

     Anmerkung: Das vollsta:ndige Lo:schen (-blank=full) dauert mit
     einem 1x Medium ungefa:hr eine Stunde. Wenn die DVD-RW im
     Disk-At-Once-Modus (DAO) aufgenommen wurde, kann Sie mit der
     Option -blank schneller gelo:scht werden. Um eine DVD-RW im
     DAO-Modus zu brennen, benutzen Sie das folgende Kommando:

 # growisofs -use-the-force-luke=dao -Z /dev/cd0=imagefile.iso

     Die Option -use-the-force-luke=dao sollte nicht erforderlich
     sein, da growisofs(1) den DAO-Modus erkennt.

     Der Restricted-Overwrite-Modus sollte mit jeder DVD-RW verwendet
     werden, da er flexibler als der voreingestellte
     Sequential-Recording-Modus ist.

   Um Daten auf eine DVD-RW im Sequential-Recording-Modus zu
   schreiben, benutzen Sie dasselbe Kommando wie fu:r die anderen
   DVD-Formate:

 # growisofs -Z /dev/cd0 -J -R /path/to/data

   Wenn Sie weitere Daten zu einer Aufnahme hinzufu:gen wollen,
   benutzen Sie die Option -M von growisofs(1). Werden die Daten im
   Sequential-Recording-Modus hinzugefu:gt, wird eine neue Session
   erstellt. Das Ergebnis ist ein Multi-Session-Medium.

   Eine DVD-RW im Restricted-Overwrite-Modus muss nicht gelo:scht
   werden, um eine neue Session aufzunehmen. Sie ko:nnen das Medium
   einfach mit der Option -Z u:berschreiben, a:hnlich wie bei DVD+RW.
   Mit der Option -M ko:nnen Sie das ISO-9660-Dateisystem, wie mit
   einer DVD+RW, vergro:ssern. Die DVD entha:lt danach eine Session.

   Benutzen sie das nachstehende Kommando, um den
   Restricted-Overwrite-Modus einzustellen:

 # dvd+rw-format /dev/cd0

   Das folgende Kommando stellt den Modus wieder auf
   Sequential-Recording zuru:ck:

 # dvd+rw-format -blank=full /dev/cd0

     --------------------------------------------------------------

  18.7.7. Multi-Session

   Nur wenige DVD-ROM-Laufwerke ko:nnen Multi-Session-DVDs lesen.
   Meist lesen die Spieler nur die erste Session. Mehrere Sessions
   werden von DVD+R, DVD-R und DVD-RW im Sequential-Recording-Modus
   unterstu:tzt. Im Modus Restricted-Overwrite gibt es nur eine
   Session.

   Wenn das Medium noch nicht geschlossen ist, erstellt das
   nachstehende Kommando eine neue Session auf einer DVD+R, DVD-R
   oder DVD-RW im Sequential-Recording-Modus:

 # growisofs -M /dev/cd0 -J -R /path/to/nextdata

   Wird diese Kommandozeile mit DVD+RW- oder DVD-RW-Medien im
   Restricted-Overwrite-Modus benutzt, werden die neuen Daten mit den
   Daten der bestehenden Session zusammengefu:hrt. Das Medium
   entha:lt danach eine Session. Auf diesem Weg werden neue Daten zu
   einer bestehenden Session hinzugefu:gt.

     Anmerkung: Fu:r den Anfang und das Ende einer Session wird auf
     dem Medium zusa:tzlicher Platz verbraucht. Um den Speicherplatz
     auf dem Medium optimal auszunutzen, sollten Sie daher Sessions
     mit vielen Daten hinzufu:gen. Auf ein DVD+R-Medium passen
     maximal 154 Sessions, 2000 Sessions auf ein DVD-R-Medium und
     127 Sessions auf eine DVD+R Double Layer.

     --------------------------------------------------------------

  18.7.8. Weiterfu:hrendes

   Das Kommando dvd+rw-mediainfo /dev/cd0 zeigt Informationen u:ber
   eine im Laufwerk liegende DVD an.

   Weiteres zu den dvd+rw-tools lesen Sie bitte in der Hilfeseite
   growisofs(1), auf der dvd+rw-tools Web-Seite oder in den Archiven
   der cdwrite-Mailingliste.

     --------------------------------------------------------------

  18.7.9. DVD-RAM

     --------------------------------------------------------------

    18.7.9.1. Konfiguration

   DVD-RAM-fa:hige Brenner werden sowohl mit SCSI- als auch mit
   ATAPI-Schnittstelle angeboten. Verwenden Sie ein ATAPI-Gera:t,
   mu:ssen Sie den DMA-Modus aktivieren. Dazu fu:gen Sie die folgende
   Zeile in /boot/loader.conf ein:

 hw.ata.atapi_dma="1"

     --------------------------------------------------------------

    18.7.9.2. Das Medium vorbereiten

   Wie weiter oben in diesem Kapitel bereits erwa:hnt, kann man eine
   DVD-RAM mit einer Wechselplatte vergleichen. Wie diese muss auch
   eine DVD-RAM vor dem ersten Einsatz "vorbereitet" werden. In
   unserem Beispiel wird das gesamte Medium mit dem
   Standard-UFS2-Dateisystem formatiert.

   Dazu geben Sie als root bei eingelegter DVD-RAM die folgenden
   Befehle ein:

 # dd if=/dev/zero of=/dev/acd0 bs=2k count=1
 # bsdlabel -Bw acd0
 # newfs /dev/acd0

   Denken Sie dabei daran, dass Sie gegebenenfalls die Gera:tedatei
   (hier acd0) an Ihre Konfiguration anpassen mu:ssen.

     --------------------------------------------------------------

    18.7.9.3. Das Medium einsetzen

   Nachdem Sie das Medium vorbereitet haben, ko:nnen Sie das
   DVD-RAM-Medium in Ihren Verzeichnisbaum einha:ngen:

 # mount /dev/acd0 /mnt

   Danach ko:nnen Sie schreibend und lesend auf das Medium zugreifen.

     --------------------------------------------------------------

18.8. Disketten benutzen

   Original von Julio Merino. Umgeschrieben von Martin Karlsson.

   Disketten sind nu:tzlich, wenn kein anderes bewegliches
   Speichermedium vorhanden ist oder wenn nur kleine Datenmengen
   transferiert werden sollen.

   Dieser Abschnitt beschreibt die Handhabung von Disketten unter
   FreeBSD. Hauptsa:chlich geht es um die Formatierung und Benutzung
   von 3,5 Zoll Disketten, doch lassen sich die Konzepte leicht auf
   Disketten anderer Formate u:bertragen.

     --------------------------------------------------------------

  18.8.1. Disketten formatieren

    18.8.1.1. Die Gera:tedateien

   Wie auf jedes andere Gera:t auch, greifen Sie auf Disketten u:ber
   Eintra:ge im Verzeichnis /dev zu. Verwenden Sie dazu die Eintra:ge
   /dev/fdN.

     --------------------------------------------------------------

    18.8.1.2. Formatierung

   Bevor eine Diskette benutzt werden kann, muss Sie (low-level)
   formatiert werden, was normalerweise der Hersteller schon gemacht
   hat. Sie ko:nnen die Diskette allerdings noch einmal formatieren,
   um das Medium zu u:berpru:fen. Es ist mo:glich, die Kapazita:t der
   Diskette zu vera:ndern, allerdings sind die meisten Disketten auf
   1440 kB ausgelegt.

   Mit fdformat(1) formatieren Sie eine Diskette. Das Kommando
   erwartet die Angabe eines Gera:tenamens.

   Achten Sie bei der Formatierung auf Fehlermeldungen, die schlechte
   Speichermedien anzeigen.

     --------------------------------------------------------------

      18.8.1.2.1. Disketten formatieren

   Die Disketten werden mithilfe der Gera:tedatei /dev/fdN
   formatiert. Legen Sie eine 3,5 Zoll Diskette in Ihr Laufwerk ein
   und fu:hren das folgende Kommando aus:

 # /usr/sbin/fdformat -f 1440 /dev/fd0

     --------------------------------------------------------------

  18.8.2. Das Disklabel

   Nach dem Formatieren muss auf der Diskette ein Disklabel erstellt
   werden. Das Disklabel wird spa:ter zersto:rt, ist aber notwendig,
   um die Gro:sse und Geometrie der Diskette zu erkennen.

   Das Disklabel gilt fu:r die ganze Diskette und entha:lt alle
   Informationen u:ber die Geometrie der Diskette. Eine Liste der
   mo:glichen Geometrien finden Sie in /etc/disktab.

   Erstellen Sie nun das Label mit bsdlabel(8):

 # /sbin/bsdlabel -B -w /dev/fd0 fd1440

     --------------------------------------------------------------

  18.8.3. Das Dateisystem

   Auf der Diskette muss nun ein Dateisystem erstellt werden
   (high-level Formatierung), damit FreeBSD von der Diskette lesen
   und auf sie schreiben kann. Das Disklabel wird durch das Anlegen
   eines Dateisystems zersto:rt. Falls Sie die Diskette spa:ter
   erneut formatieren wollen, mu:ssen Sie dann auch ein neues
   Disklabel anlegen.

   Sie ko:nnen entweder UFS oder FAT als Dateisystem verwenden. Fu:r
   Floppies ist FAT das beste Dateisystem.

   Das folgende Kommando legt ein Dateisystem auf der Diskette an:

 # /sbin/newfs_msdos /dev/fd0

   Die Diskette kann nun benutzt werden.

     --------------------------------------------------------------

  18.8.4. Verwenden der Diskette

   Zum Einha:gen der Diskette in das Dateisystem verwenden Sie den
   Befehl mount_msdosfs(8). Sie ko:nnen auch den Port
   emulators/mtools verwenden, um mit der Diskette zu arbeiten.

     --------------------------------------------------------------

18.9. Bandmedien benutzen

   Die wichtigsten Bandmedien sind 4mm, 8mm, QIC, Mini-Cartridge und
   DLT.

     --------------------------------------------------------------

  18.9.1. 4mm (DDS: Digital Data Storage)

   Die 4mm-Ba:nder ersetzen mehr und mehr das QIC-Format als
   Backupmedium der Wahl fu:r Workstations. Dieser Trend nahm stark
   zu, als Conner die Firma Archive, einen fu:hrenden Hersteller von
   QIC-Laufwerken, aufkaufte und die Produktion von QIC-Laufwerken
   stoppte. 4mm-Laufwerke sind klein und ruhig, haben aber nicht den
   gleichen Ruf der Zuverla:ssigkeit, den die 8mm-Laufwerke
   geniessen. Die 4mm-Kassetten sind preiswerter und mit den Massen
   76,2 x 50,8 x 12,7 mm (3 x 2 x 0,5 Inch) kleiner als die
   8mm-Kassetten. Sowohl die 4mm- als auch die 8mm-Magnetko:pfe haben
   eine relativ kurze Lebensdauer, weil beide die gleiche
   Helical-Scan-Technik benutzen.

   Der Datendurchsatz dieser Laufwerke beginnt bei etwa 150 kByte/s,
   Spitzenwerte liegen bei etwa 500 kByte/s. Die Datenkapazita:t
   liegt zwischen 1,3 GB und 2 GB. Die meisten Gera:te haben eine
   Hardwarekompression eingebaut, die die Kapazita:t ungefa:hr
   verdoppelt. Es gibt Multi-Drive-Einheiten fu:r Bandbibliotheken
   mit bis zu 6 Laufwerken in einem Geha:use und automatischem
   Bandwechsel. Die Kapazita:t einer solchen Bibliothek liegt bei
   240 GB.

   Der Standard DDS-3 unterstu:tzt nun Bandkapazita:ten bis zu 12 GB
   (oder komprimiert 24 GB).

   4mm-Laufwerke, ebenso wie 8mm-Laufwerke, verwenden Helical-Scan.
   Alle Vor- und Nachteile von Helical-Scan gelten sowohl fu:r 4mm-
   als auch fu:r 8mm-Laufwerke.

   Ba:nder sollten nach 2.000 Banddurchla:ufen oder 100 vollen
   Backups ersetzt werden.

     --------------------------------------------------------------

  18.9.2. 8mm (Exabyte)

   8mm-Ba:nder sind die verbreitetsten SCSI-Bandlaufwerke; sie sind
   das geeignetste Bandformat zum Austausch von Ba:ndern. Fast an
   jedem Standort gibt es ein 8mm-Bandlaufwerk mit 2 GB. 8mm-Ba:nder
   sind zuverla:ssig, gut zu handhaben und arbeiten leise.
   Bandkassetten sind preiswert und klein mit 122 x 84 x 15 mm
   (4,8 x 3,3 x 0,6 Inch). Ein Nachteil der 8mm-Technik ist die
   relativ kurze Lebensdauer des Schreib-/Lesekopfs und der Ba:nder
   auf Grund der hohen Relativgeschwindigkeit des Bandes u:ber die
   Ko:pfe hinweg.

   Der Datendurchsatz liegt ungefa:hr zwischen 250 kByte/s und
   500 kByte/s. Die Datenkapazita:t beginnt bei 300 MB und erreicht
   bis zu 7 GB bei den Spitzengera:ten. Die meisten Gera:te haben
   eine Hardwarekompression eingebaut, die die Kapazita:t ungefa:hr
   verdoppelt. Diese Laufwerke sind erha:ltlich in Form von
   Einzelgera:ten oder als Multi-Drive-Bandbibliotheken mit 6
   Laufwerken und 120 Ba:ndern in einem Geha:use. Die Ba:nder werden
   von der Gera:teeinheit automatisch gewechselt. Die Kapazita:t
   einer solchen Bibliothek liegt bei 840 GB und mehr.

   Das Exabyte-Modell "Mammoth" unterstu:tzt 12 GB auf einem Band
   (24 GB mit Kompression) und kostet etwa doppelt so viel wie ein
   konventionelles Bandlaufwerk.

   Die Daten werden mittels Helical-Scan auf das Band aufgezeichnet,
   die Ko:pfe sind leicht schra:g zum Medium angebracht (mit einem
   Winkel von etwa 6 Grad). Das Band wickelt sich 270 Grad um die
   Spule, die die Ko:pfe tra:gt. Die Spule dreht sich, wa:hrend das
   Band daru:berla:uft. Das Resultat ist eine hohe Datendichte und
   eng gepackte Spuren, die von einem Rand des Bands zum
   gegenu:berliegenden quer u:ber das Band abgewinkelt verlaufen.

     --------------------------------------------------------------

  18.9.3. QIC

   QIC-150-Ba:nder und -Laufwerke sind wohl der am weitesten
   verbreitete Bandtyp u:berhaupt. QIC-Bandlaufwerke sind die
   preiswertesten "serio:sen" Backupgera:te, die angeboten werden.
   Der Nachteil dabei ist der hohe Preis der Ba:nder. QIC-Ba:nder
   sind im Vergleich zu 8mm- oder 4mm-Ba:ndern bis zu fu:nf Mal
   teurer, wenn man den Preis auf 1 GB Datenkapazita:t umrechnet.
   Aber wenn Ihr Bedarf mit einem halben Dutzend Ba:nder abgedeckt
   werden kann, mag QIC die richtige Wahl sein.

   QIC ist der ga:ngigste Bandlaufwerkstyp. Jeder Standort hat ein
   QIC-Laufwerk der einen oder anderen Dichte. Aber gerade das ist
   der Haken an der Sache, QIC bietet eine grosse Anzahl
   verschiedener Datendichten auf physikalisch a:hnlichen (manchmal
   gleichen) Ba:ndern. QIC-Laufwerke sind nicht leise. Diese
   Laufwerke suchen lautstark die richtige Bandstelle, bevor sie mit
   der Datenaufzeichnung beginnen. Sie sind wa:hrend des Lesens,
   Schreibens und Suchens deutlich ho:rbar.

   Die Abmessungen der QIC-Kassetten betragen 152 x 102 x 17 mm
   (6 x 4 x 0,7 Inch).

   Der Datendurchsatz liegt ungefa:hr zwischen 150 kByte/s und
   500 kByte/s. Die Datenkapazita:t reicht von 40 MB bis zu 15 GB.
   Hardwarekompression ist in vielen der neueren QIC-Laufwerke
   eingebaut. QIC-Laufwerke werden heute seltener eingesetzt; sie
   werden von den DAT-Laufwerken abgelo:st.

   Die Daten werden auf dem Band in Spuren aufgezeichnet. Die Spuren
   verlaufen entlang der La:ngsachse des Bandmediums von einem Ende
   zum anderen. Die Anzahl der Spuren, und damit auch die Breite
   einer Spur, variiert mit der Kapazita:t des Laufwerks. Die
   meisten, wenn nicht alle neueren Laufwerke sind
   ru:ckwa:rtskompatibel, zumindest zum Lesen (aber oft auch zum
   Schreiben). QIC hat einen guten Ruf bezu:glich der Datensicherheit
   (die Mechanik ist einfacher und robuster als diejenige der
   Helical-Scan-Laufwerke).

   Ba:nder sollten nach 5,000 Backups ersetzt werden.

     --------------------------------------------------------------

  18.9.4. DLT

   DLT hat die schnellste Datentransferrate von allen hier
   aufgelisteten Gera:tetypen. Das 1/2-Inch-Band (12,7 mm) befindet
   sich in einer Spulkassette mit den Abmessungen
   101,6 x 101,6 x 25,4 mm (4 x 4 x 1 Inch). Die eine Seite der
   Kassette hat eine bewegliche Abdeckung. Der Laufwerksmechanismus
   o:ffnet diese Abdeckung und zieht die Bandfu:hrung heraus. Die
   Bandfu:hrung tra:gt ein ovales Loch, die das Laufwerk zum
   "Einha:ngen" des Bandes benutzt. Die Aufwickelspule befindet sich
   im Innern des Bandlaufwerks. Bei allen anderen hier besprochenen
   Bandkassetten (9-Spur-Ba:nder sind die einzige Ausnahme) befinden
   sich sowohl die Auf- als auch die Abwickelspule im Inneren der
   Bandkassette.

   Der Datendurchsatz liegt bei etwa 1,5 MBytes/s, der dreifache
   Durchsatz der 4mm-, 8mm- oder QIC-Bandlaufwerke. Die
   Datenkapazita:t reicht von 10 GB bis 20 GB fu:r Einfachlaufwerke.
   Auch Mehrfachbandgera:te sind erha:ltlich, sowohl als Bandwechsler
   wie auch als Multi-Drive-Bandbibliotheken, die Platz fu:r 5 bis
   900 Ba:nder verteilt auf 1 bis 20 Laufwerke enthalten, mit einer
   Speicherkapazita:t von 50 GB bis 9 TB.

   Mit Kompression unterstu:tzt das Format DLT Type IV bis zu 70 GB
   Kapazita:t.

   Die Daten werden auf dem Band in Spuren aufgezeichnet, die
   parallel zur Bewegungsrichtung verlaufen (gerade so wie bei den
   QIC-Ba:ndern). Zwei Spuren werden dabei gleichzeitig beschrieben.
   Die Lebenszeit der Lese- und Schreibko:pfe sind relativ lang; denn
   sobald das Band anha:lt, gibt es keine Relativbewegung mehr
   zwischen den Ko:pfen und dem Band.

     --------------------------------------------------------------

  18.9.5. AIT

   AIT ist ein neues Format von Sony, das (mit Kompression) bis zu
   50 GB pro Band speichern kann. Die Ba:nder haben einen
   Speicherchip, der einen Index mit dem Inhalt des Bandes anlegt.
   Dieser Index kann vom Bandlaufwerk zur schnellen Bestimmung der
   Lage von Dateien auf dem Band benutzt werden, wa:hrend andere
   Ba:nder einige Minuten zur Lokalisierung beno:tigen.

   Entsprechende Software wie etwa SAMS:Alexandria ko:nnen 40 oder
   mehr AIT-Bandbibliotheken verarbeiten, indem sie direkt mit dem
   Speicherchip des Bandes kommunizieren, wenn der Bandinhalt am
   Bildschirm dargestellt werden soll oder bestimmt werden soll,
   welche Dateien auf welchem Band gespeichert sind, oder um das
   richtige Band zu lokalisieren, zu laden und Daten vom Band
   zuru:ckzuspielen. Bibliotheken dieser Art liegen in der
   Preiskategorie von $20,000, womit sie etwas aus dem Hobbymarkt
   herausfallen.

     --------------------------------------------------------------

  18.9.6. Die erste Benutzung eines neuen Bands

   Der Versuch ein neues, vollkommen leeres Band ohne weiteres zu
   lesen oder zu beschreiben wird schief gehen. Auf der Konsole
   werden dann Meldungen a:hnlich wie folgt ausgegeben:

 sa0(ncr1:4:0): NOT READY asc:4,1
 0(ncr1:4:0): Logical unit is in process of becoming ready

   Das Band entha:lt na:mlich keinen Identifier-Block (Blocknummer
   0). Alle QIC-Bandlaufwerke seit der Einfu:hrung des
   QIC-525-Standards schreiben einen Identifier-Block auf das Band.
   Es gibt zwei Lo:sungen:

     * mt fsf 1 veranlasst das Bandlaufwerk einen Identifier-Block
       auf das Band zu schreiben.

     * Das Band durch Dru:cken des Bandauswurfknopfs an der
       Vorderseite des Bandgera:ts auswerfen.

       Danach das Band wieder einlegen und mit dump Daten auf das
       Band u:bertragen.

       Das Kommando dump gibt die Meldung "DUMP: End of tape
       detected" zuru:ck und die Konsole zeigt: "HARDWARE FAILURE
       info:280 asc:80,96".

       Das Band zuru:ckspulen mit dem Kommando: mt rewind.

       Nachfolgende Bandoperationen werden dann erfolgreich
       ausgefu:hrt.

     --------------------------------------------------------------

18.10. Was ist mit Backups auf Disketten?

  18.10.1. Kann ich Disketten zum Backup meiner Daten verwenden?

   Disketten sind kein wirklich geeignetes Medium fu:r Backups aus
   folgenden Gru:nden:

     * Disketten sind unzuverla:ssig, besonders langfristig.

     * Speichern und Wiederherstellen ist sehr langsam.

     * Sie haben eine sehr eingeschra:nkte Kapazita:t (Die Zeiten
       sind la:ngst vorbei, wo eine ganze Festplatte auf ein Dutzend
       Floppies oder so gespeichert werden konnte).

   Wenn jedoch keine andere Mo:glichkeit zum Datenbackup vorhanden
   ist, dann sind Disketten immer noch besser als gar kein Backup.

   Wenn man gezwungen ist Disketten zu verwenden, dann sollte man auf
   eine gute Qualita:t achten. Floppies, die schon einige Jahre im
   Bu:ro herumgelegen haben, sind eine schlechte Wahl. Ideal sind
   neue Disketten von einem renommierten Hersteller.

     --------------------------------------------------------------

  18.10.2. Wie mache ich ein Backup auf Disketten?

   Die beste Art eines Diskettenbackups ist der Befehl tar(1) mit der
   Mehrfachband-Option -M, die es ermo:glicht ein Backup u:ber
   mehrere Floppies zu verteilen.

   Ein Backup aller Dateien im aktuellen Verzeichnis einschliesslich
   aller Unterverzeichnisse wird durch den folgenden Befehl
   veranlasst (als root):

 # tar Mcvf /dev/fd0 *

   Wenn die erste Floppy voll ist, meldet sich tar(1) und verlangt
   einen Diskettenwechsel (weil tar(1) unabha:ngig vom Medium
   arbeitet, wird das na:chste Band (Volume) verlangt, was in diesem
   Zusammenhang eine Diskette bedeutet), in etwa wie folgt:

 Prepare volume #2 for /dev/fd0 and hit return:

   Dies wird mit steigender Volumenzahl wiederholt, bis alle
   angegebenen Dateien archiviert sind.

     --------------------------------------------------------------

  18.10.3. Ko:nnen Diskettenbackups komprimiert werden?

   Leider erlaubt es tar(1) nicht, die Option -z fu:r
   Multi-Volume-Archive zu verwenden. Man kann natu:rlich alle
   Dateien mit gzip(1) komprimieren, sie mit tar(1) auf die Floppies
   aufspielen, und dann die Dateien wieder gunzip(1) entkomprimieren!

     --------------------------------------------------------------

  18.10.4. Wie werden Diskettenbackups wieder hergestellt?

   Zur Wiederherstellung des gesamten Archivs verwendet man:

 # tar Mxvf /dev/fd0

   Eine Methode um nur bestimmte Dateien wieder her zu stellen ist
   mit der ersten Diskette den folgenden Befehl auszufu:hren:

 # tar Mxvf /dev/fd0 filename

   tar(1) wird dann die folgenden Disketten anfordern, bis die
   beno:tigte Datei gefunden ist.

   Wenn man die Diskette kennt, auf der sich die Datei befindet, kann
   man alternativ diese Diskette auch direkt einlegen und den
   gleichen Befehl wie oben verwenden. Man beachte, dass, falls die
   erste Datei eine Fortsetzung einer Datei von einer der vorigen
   Disketten ist, tar(1) die Warnung ausgibt, dass diese Datei nicht
   wiederhergestellt werden kann, selbst dann, wenn dies gar nicht
   verlangt wurde!

     --------------------------------------------------------------

18.11. Backup-Strategien

   Beigetragen von Lowell Gilbert.

   Wenn Sie eine eigene Backup-Strategie planen, mu:ssen Sie darauf
   achten, dass jedes der folgenden Probleme von Ihrer Strategie
   abgedeckt wird:

     * Plattendefekte.

     * Versehentliches Lo:schen von Dateien.

     * Eine nicht vorhersehbare Korrumpierung von Dateien.

     * Die vollsta:ndige Zersto:rung Ihres Systems, etwa durch ein
       Feuer. Dazu geho:rt auch die Zersto:rung von Backups, die am
       gleichen Ort aufbewahrt werden.

   Es ist nicht nur mo:glich, dass ein System fu:r jedes dieser
   Probleme eine eigene (oft vo:llig unterschiedliche) Strategie
   beno:tigt. Es ist vielmehr unwahrscheinlich (sieht man von
   Systemen ab, die keine wichtigen Daten enthalten), dass eine
   Technik alle Problembereiche abdecken kann.

   Ha:ufig verwendeten Techniken sind unter anderen:

     * Die Archivierung des kompletten Systems auf externen
       Datentra:gern, die an einem gesonderten Ort aufbewahrt werden.
       Dieser Ansatz schu:tzt zwar vor allen oben angefu:hrten
       Problemen, ist aber zeitaufwa:ndig. Auch eine
       Wiederherstellung des Systems ist nicht ohne weiteres
       mo:glich. Zwar ko:nnen Sie Kopien Ihrer Backups auch vor Ort
       und/oder auf online zuga:ngigen Systemen aufbewahren, was aber
       nichts daran a:ndert, dass eine Wiederherstellung,
       insbesondere fu:r nicht privilegierte Benutzer, nach wie vor
       nicht ohne weiteres mo:glich ist.

     * Dateisystem-Snapshots. Diese Technik hilft zwar nur gegen das
       versehentliche Lo:schen von Dateien, in einem solchen Fall ist
       sie aber a:usserst hilfreich. Vorteile dieser Technik sind
       ausserdem die leichte und schnelle Implementierung und
       Handhabung.

     * Das Erstellen von Kopien ganzer Dateisysteme und/oder Platten
       (etwa durch einen periodischen rsync(1)-Transfer des
       kompletten Systems). Diese Technik ist insbesondere in
       Netzwerken mit besonderen Anforderungen nu:tzlich. Der Schutz
       vor Plattendefekten ist allerdings schlechter als beim Einsatz
       von RAID. Die Fa:higkeiten zur Wiederherstellung gelo:schter
       Dateien sind mit denen von UFS-Snapshots vergleichbar. Ob
       diese Technik fu:r Sie geeignet ist, ha:ngt also letztlich von
       Ihren Anforderungen ab.

     * RAID. Minimiert oder vermeidet Ausfallzeiten, die durch einen
       Plattendefekt verursacht werden ko:nnten. Zwar ko:nnen
       Plattendefekte (aufgrund der ho:heren Anzahl verwendeter
       Platten) ha:ufiger auftreten, sie stellen aber dann kein so
       akutes Problem dar.

     * Das U:berpru:fen von Datei-Fingerprints durch mtree(8). Dabei
       handelt es sich zwar um keine Backup-Technik im eigentlichen
       Sinne, Sie werden durch den Einsatz dieser Werkzeugs aber
       informiert, dass Sie auf Ihre Backups zuru:ckgreifen mu:ssen.
       Dies ist insbesondere beim Einsatz von Offline-Backups von
       grosser Bedeutung. Daher sollte diese Technik regelma:ssig
       eingesetzt werden.

   Es gibt noch zahlreiche weitere Techniken, von denen aber viele
   nur Variationen der eben beschriebenen Techniken sind. Spezielle
   Anforderungen erfordern dabei in der Regel auch spezielle
   Backup-Techniken (so erfordert das Backup einer aktiven Datenbank
   in der Regel ein auf die eingesetzte Datenbank-Software
   abgestimmtes Verfahren). Entscheidend ist daher immer, gegen
   welche Gefahren Sie sich schu:tzen und wie Sie diesen Schutz
   realisieren wollen.

     --------------------------------------------------------------

18.12. Datensicherung

   Die drei wichtigsten Programme zur Sicherung von Daten sind
   dump(8), tar(1) und cpio(1).

     --------------------------------------------------------------

  18.12.1. Sichern und Wiederherstellen

   dump und restore sind die traditionellen Backupprogramme in UNIX
   Systemen. Sie betrachten das Laufwerk als eine Ansammlung von
   Blo:cken, operieren also unterhalb des Abstraktionslevels von
   Dateien, Links und Verzeichnissen, die die Grundlage des
   Dateisystemkonzepts bilden. Im Gegensatz zu anderen
   Backupprogrammen sichert dump ein ganzes Dateisystem auf einem
   Gera:t. Es ist nicht mo:glich nur einen Teil des Dateisystems,
   oder einen Verzeichnisbaum, der mehr als ein Dateisystem umfasst,
   zu sichern. Das dump-Kommando schreibt keine Dateien oder
   Verzeichnise auf das Band, sondern die Blo:cke, aus denen Dateien
   und Verzeichnisse bestehen. Wenn restore fu:r das Extrahieren von
   Daten verwendet wird, werden tempora:re Dateien standardma:ssig in
   /tmp/ abgelegt - wenn Sie von einer Platte mit einem kleinen
   /tmp-Verzeichnis zuru:cksichern, mu:ssen Sie mo:glicherweise die
   Umgebungsvariable TMPDIR auf ein Verzeichnis mit mehr freiem
   Speicherplatz setzen, damit die Wiederherstellung gelingt.

     Anmerkung: Wenn Sie mit dump das Root-Verzeichnis sichern,
     werden /home, /usr und viele andere Verzeichnisse nicht
     gesichert, da dies normalerweise Mountpunkte fu:r andere
     Dateisysteme oder symbolische Links zu diesen Dateisystemen
     sind.

   dump hat einige Eigenarten, die noch aus den fru:hen Tagen der
   Version 6 von AT&T UNIX (ca. 1975) stammen. Die Parameter sind
   fu:r 9-Spur-Ba:nder (6250 bpi) voreingestellt, nicht auf die heute
   u:blichen Medien hoher Dichte (bis zu 62.182 ftpi). Bei der
   Verwendung der Kapazita:ten moderner Bandlaufwerke muss diese
   Voreinstellung auf der Kommandozeile u:berschrieben werden.

   rdump und rrestore ko:nnen Daten u:ber Netzwerk auf ein Band, das
   sich in einem Laufwerk eines anderen Computers befindet,
   u:berspielen. Beide Programme benutzen die Funktionen rcmd(3) und
   ruserok(3) zum Zugriff auf das entfernte Bandlaufwerk. Daher muss
   der Anwender, der das Backup durchfu:hrt, auf dem entfernten
   Rechner in .rhosts eingetragen sein.

   Die Argumente zu rdump und rrestore mu:ssen zur Verwendung auf dem
   entfernten Computer geeignet sein. Wenn Sie zum Beispiel mit rdump
   von einem FreeBSD-Rechner aus auf ein Exabyte-Bandlaufwerk einer
   Sun mit Namen komodo zugreifen mo:chten, setzen Sie das folgende
   Kommando ab:

 # /sbin/rdump 0dsbfu 54000 13000 126 komodo:/dev/nsa8 /dev/da0a 2>&1

   Zum Ausfu:hren dieses Kommandos mu:ssen Sie auf dem entfernten
   Rechner in .rhosts eingetragen sein. Die r-Kommandos sind ein
   grosses Sicherheitsrisiko, daher sollten Sie deren Verwendung
   sorgfa:ltig abwa:gen.

   Es ist auch mo:glich, dump und restore u:ber eine gesicherte
   Verbindung mit ssh einzusetzen:

   Beispiel 18-1. dump mit ssh benutzen

 # /sbin/dump -0uan -f - /usr | gzip -2 | ssh -c blowfish \
           targetuser@targetmachine.example.com dd of=/mybigfiles/dump-usr-l0.gz

   Sie ko:nnen ebenfalls mit der internen Methode von dump auf
   entfernte Rechner zugreifen, indem Sie die Umgebungsvariable RSH
   setzen:

   Beispiel 18-2. dump u:ber ssh mit gesetzter RSH benutzen

 # RSH=/usr/bin/ssh /sbin/dump -0uan -f tatargetuser@targetmachine.example.com:/dev/sa0 /usr

     --------------------------------------------------------------

  18.12.2. tar

   tar(1) stammt ebenfalls aus Version 6 von AT&T UNIX (ca. 1975).
   tar arbeitet mit dem Dateisystem, denn es schreibt Dateien und
   Verzeichnisse auf das Band. tar unterstu:tzt zwar nicht alle
   Optionen, die bei cpio(1) zur Verfu:gung stehen, aber dafu:r
   erfordert es auch nicht die ungewo:hnliche Kommando-Pipeline, die
   von cpio verwendet wird.

   Seit FreeBSD 5.3 sind sowohl GNU tar als auch bsdtar verfu:gbar.
   Die GNU-Version starten Sie u:ber gtar. Sie unterstu:tzt auch
   entfernte Gera:te, wobei die von rdump benutzte Syntax u:bernommen
   wurde. Um Daten mit tar auf ein an einer Sun-Workstation (namens
   komodo) angeschlossenes Exabyte-Bandlaufwerk zu archivieren, geben
   Sie Folgendes ein:

 # /usr/bin/gtar cf komodo:/dev/nsa8 . 2>&1

   Alternativ ko:nnen Sie fu:r diese Sicherung auch bsdtar verwenden,
   indem Sie die Daten u:ber eine Pipeline und rsh an das entfernte
   Laufwerk senden:

 # tar cf - . | rsh hostname dd of=tape-device obs=20b

   Wenn Sie Bedenken bezu:glich der Sicherheit beim Backup u:ber das
   Netz haben, sollten Sie ssh anstatt rsh benutzen.

     --------------------------------------------------------------

  18.12.3. Cpio

   cpio(1) ist das urspru:ngliche Programm von UNIX Systemen zum
   Dateitransfer mit magnetischen Medien. cpio hat (neben vielen
   anderen Leistungsmerkmalen) Optionen zum Byte-Swapping, zum
   Schreiben einer Anzahl verschiedener Archivformate und zum
   Weiterleiten von Daten an andere Programme u:ber eine Pipeline.
   Dieses letzte Leistungsmerkmal macht cpio zu einer ausgezeichneten
   Wahl fu:r Installationsmedien. Leider kann cpio keine Dateiba:ume
   durchlaufen, so dass eine Liste der zu bearbeitenden Dateien u:ber
   stdin angegeben werden muss.

   cpio unterstu:tzt keine Backups u:ber das Netzwerk. Man kann aber
   eine Pipeline und rsh verwenden, um Daten an ein entferntes
   Bandlaufwerk zu senden.

 # for f in directory_list; do
 find $f >> backup.list
 done
 # cpio -v -o --format=newc < backup.list | ssh user@host "cat > backup_device"

   Dabei steht directory_list fu:r eine Aufza:hlung der
   Verzeichnisse, die Sie sichern wollen. user@host gibt den Benutzer
   auf dem Zielrechner an, der die Sicherung laufen la:sst. Der Ort
   der Sicherung wird durch backup_device angegeben (z.B. /dev/nsa0).

     --------------------------------------------------------------

  18.12.4. pax

   pax(1) ist die Antwort von IEEE/POSIX auf tar und cpio. U:ber die
   Jahre hinweg sind die verschiedenen Versionen von tar und cpio
   leicht inkompatibel geworden. Daher hat POSIX, statt eine
   Standardisierung zwischen diesen auszufechten, ein neues
   Archivprogramm geschaffen. pax versucht viele der
   unterschiedlichen cpio- und tar-Formate zu lesen und zu schreiben,
   ausserdem einige neue, eigene Formate. Die Kommandostruktur
   a:hnelt eher cpio als tar.

     --------------------------------------------------------------

  18.12.5. Amanda

   Amanda (Advanced Maryland Network Disk Archiver) ist ein
   Client/Server-Backupsystem, nicht nur ein einzelnes Programm. Ein
   Amanda-Server kann auf einem einzigen Bandlaufwerk
   Datensicherungen von jeder beliebigen Anzahl von Computern
   speichern, sofern auf diesen jeweils ein Amanda-Client la:uft und
   sie u:ber Netzwerk mit dem Amanda-Server verbunden sind.

   Ein ha:ufiges Problem bei Standorten mit einer Anzahl grosser
   Festplatten ist, dass das Kopieren der Daten auf Band langsamer
   vor sich geht als solche Daten anfallen. Amanda lo:st dieses
   Problem durch Verwendung einer "Holding Disk", einer Festplatte
   zum gleichzeitigen Zwischenspeichern mehrerer Dateisysteme.

   Fu:r Datensicherungen u:ber einen la:ngeren Zeitraum erzeugt
   Amanda "Archivsets" von allen Dateisystemen, die in Amandas
   Konfigurationsdatei genannt werden. Ein Archivset ist eine Gruppe
   von Ba:ndern mit vollen Backups und Reihen von inkrementellen
   (oder differentiellen) Backups, die jeweils nur die Unterschiede
   zum vorigen Backup enthalten. Zur Wiederherstellung von
   bescha:digten Dateisystemen beno:tigt man Das Letzte volle Backup
   und alle darauf folgenden inkrementellen Backups.

   Die Konfigurationsdatei ermo:glicht die Feineinstellung der
   Backups und des Netzwerkverkehrs von Amanda. Amanda kann zum
   Schreiben der Daten auf das Band jedes der oben beschriebenen
   Backuprogramme verwenden. Amanda ist nicht Teil des Basissystems,
   Sie mu:ssen Amanda u:ber die Ports-Sammlung oder als Paket
   installieren.

     --------------------------------------------------------------

  18.12.6. Tue nichts

   "Tue nichts" ist kein Computerprogramm, sondern die am ha:ufigsten
   angewendete Backupstrategie. Diese kostet nichts, man muss keinen
   Backupplan befolgen, einfach nur nein sagen. Wenn etwas passiert,
   einfach grinsen und ertragen!

   Wenn Ihre Zeit und Ihre Daten nicht so wichtig sind, dann ist die
   Strategie "Tue nichts" das geeignetste Backupprogramm fu:r Ihren
   Computer. Aber UNIX ist ein nu:tzliches Werkzeug, Sie mu:ssen
   damit rechnen, dass Sie innerhalb von sechs Monaten eine Sammlung
   von Dateien haben, die fu:r Sie wertvoll geworden sind.

   "Tue nichts" ist die richtige Backupmethode fu:r /usr/obj und
   andere Verzeichnisba:ume, die vom Computer exakt wiedererzeugt
   werden ko:nnen. Ein Beispiel sind die Dateien, die diese
   Handbuchseiten darstellen - sie wurden aus Quelldateien im Format
   SGML erzeugt. Es ist nicht no:tig, Sicherheitskopien der Dateien
   in den sekunda:ren Formaten wie etwa HTML zu erstellen. Die
   Quelldateien in SGML sollten jedoch in die regelma:ssigen Backups
   mit einbezogen werden.

     --------------------------------------------------------------

  18.12.7. Welches Backup-Programm ist am Besten?

   dump, Punkt und Schluss. Elizabeth D. Zwicky hat alle hier
   genannten Backup-Programme bis zur Erscho:pfung ausgetestet. Ihre
   eindeutige Wahl zur Sicherung aller Daten mit Beru:cksichtigung
   aller Besonderheiten von UNIX Dateisystemen ist dump.

   Elizabeth erzeugte Dateisysteme mit einer grossen Vielfalt
   ungewo:hnlicher Bedingungen (und einiger gar nicht so
   ungewo:hnlicher) und testete jedes Programm durch ein Backup und
   eine Wiederherstellung dieser Dateisysteme. Unter den
   Besonderheiten waren Dateien mit Lo:chern, Dateien mit Lo:chern
   und einem Block mit Null-Zeichen, Dateien mit ausgefallenen
   Buchstaben im Dateinamen, unlesbare und nichtschreibbare Dateien,
   Gera:tedateien, Dateien, deren La:nge sich wa:hrend des Backups
   a:ndert, Dateien, die wa:hrend des Backups erzeugt und gelo:scht
   werden, u.v.m. Sie berichtete u:ber ihre Ergebnisse in LISA V im
   Oktober 1991, s. Torture-testing Backup and Archive Programs.

     --------------------------------------------------------------

  18.12.8. Die Wiederherstellung in einem Notfall

    18.12.8.1. Vor dem Unglu:ck

   Es sind nur vier Vorkehrungen zu treffen, um auf jedes erdenkliche
   Unglu:ck vorbereitet zu sein.

   Als erstes drucken Sie das bsdlabel jeder Ihrer Festplatten (z.B.
   mittels bsdlabel da0 | lpr), die Partitions- und
   Dateisystemtabelle jeder Festplatte (mit /etc/fstab) sowie alle
   Bootmeldungen, jeweils in zweifacher Ausfertigung.

   Zweitens, u:berzeugen Sie sich, dass sowohl die Bootdiskette als
   auch die Reparaturdiskette (boot.flp bzw. fixit.flp) all Ihre
   Gera:te ansprechen ko:nnen. Die einfachste Methode dies
   nachzupru:fen ist, Ihren Rechner mit der Boot-Diskette im
   Floppylaufwerk neu zu starten und die Bootmeldungen zu
   durchzusehen. Wenn all Ihre Gera:te aufgelistet sind und
   funktionieren, ko:nnen Sie weiter zu Schritt drei gehen.

   Ist das nicht der Fall, mu:ssen Sie sich eine eigene Version der
   beiden zum Booten beno:tigten Disketten erstellen. Diese mu:ssen
   einen Kernel enthalten, der all Ihre Platten mounten kann und
   Zugriff auf Ihr Bandlaufwerk gestattet. Diese Disketten mu:ssen
   ferner folgende Programme enthalten: fdisk, bsdlabel, newfs, mount
   sowie jedes Backup-Programm, das Sie verwenden. Diese Programme
   mu:ssen statisch gelinkt sein. Falls Sie dump verwenden, muss die
   Diskette auch restore enthalten.

   Drittens, machen Sie oft Backups auf Band. Jede A:nderung seit
   Ihrem letzten Backup kann unwiederbringlich verloren gehen.
   Versehen Sie die Backup-Ba:nder mit Schreibschutz.

   Viertens, testen Sie aus, wie die Disketten (entweder boot.flp und
   fixit.flp oder Ihre beiden eigenen Disketten aus Schritt zwei) und
   die Ba:nder mit den Backups zu behandeln sind. Machen Sie sich
   Notizen zu diesem Test. Bewahren Sie diese Notizen zusammen mit
   den Bootdisketten, den Ausdrucken und den Ba:ndern mit den Backups
   auf. Wenn der Ernstfall eintritt, werden Sie vielleicht so genervt
   sein, dass Sie ohne Ihre Notizen vielleicht das Backup auf Ihren
   Ba:ndern zersto:ren. (Wie das geht? Man braucht nur
   unglu:cklicherweise den Befehl tar cvf /dev/sa0 einzugeben um ein
   Band zu u:berschreiben).

   Als zusa:tzliche Sicherheitsvorkehrung, kann man jeweils die
   Disketten und Ba:nder zweifach erstellen. Eine der Kopien sollte
   an einem entfernten Standort aufbewahrt werden. Ein entfernter
   Standort ist NICHT der Keller im gleichen Bu:rogeba:ude. Eine
   Anzahl von Firmen im World Trade Center musste diese Lektion auf
   die harte Tour lernen. Ein entfernter Standort sollte von Ihrem
   Computer und Ihren Festplatten physikalisch durch eine erhebliche
   Entfernung getrennt sein.

   Beispiel 18-3. Ein Beispielskript zum Erstellen eigener
   Bootdisketten

 #!/bin/sh
 #
 # Erstellen einer Diskette zur Wiederherstellung eines Backups
 #
 # Diskette formatieren
 #
 PATH=/bin:/sbin:/usr/sbin:/usr/bin

 fdformat -q fd0
 if [ $? -ne 0 ]
 then
 echo "Bad floppy, please use a new one"
 exit 1
 fi

 # Die Bootbloecke auf die Diskette schreiben
 #
 bsdlabel -w -B /dev/fd0c fd1440

 #
 # Dateisystem fuer die (einzige) Partition auf der Diskette
 #
 newfs -t 2 -u 18 -l 1 -c 40 -i 5120 -m 5 -o space /dev/fd0a

 #
 # Diskette mounten
 #
 mount /dev/fd0a /mnt

 #
 # Benoetigte Verzeichnisse erstellen
 #
 mkdir /mnt/dev
 mkdir /mnt/bin
 mkdir /mnt/sbin
 mkdir /mnt/etc
 mkdir /mnt/root
 mkdir /mnt/mnt                  # fuer die Root-Partition
 mkdir /mnt/tmp
 mkdir /mnt/var

 #
 # die Verzeichnisse bevoelkern
 #
 if [ ! -x /sys/compile/MINI/kernel ]
 then
 cat << EOM
 Der MINI_Kernel existiert nicht, bitte einen erzeugen.
 Hier ein Beispiel einer Konfigurationsdatei:
 #
 # MINI -- Ein FreeBSD-Kernel, der auf die Diskette passt.
 #
 machine         "i386"
 cpu             "I486_CPU"
 ident           MINI
 maxusers        5

 options         INET                    # notwendig fuer _tcp _icmpstat _ipstat
 #               _udpstat _tcpstat _udb
 options         FFS                     #Berkeley Fast File System
 options         FAT_CURSOR              #Blockcursor in syscons oder pccons
 options         SCSI_DELAY=15           #traue nicht Joe's SCSI-Geraet
 options         NCONS=2                 #2 virtuelle Konsolen
 options         USERCONFIG              #Konfiguration mit -c XXX zulassen


 config          kernel  root on da0 swap on da0 and da1 dumps on da0

 controller      isa0
 controller      pci0

 controller      fdc0    at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
 disk            fd0     at fdc0 drive 0

 controller      ncr0

 controller      scbus0

 device          sc0     at isa? port "IO_KBD" tty irq 1 vector scintr
 device          npx0    at isa? port "IO_NPX" irq 13 vector npxintr

 device          da0
 device          da1
 device          da2

 device          sa0

 pseudo-device   loop            # von INET benoetigt
 pseudo-device   gzip            # komprimierte a.out-Dateien ausfuehren
 EOM
 exit 1
 fi

 cp -f /sys/compile/MINI/kernel /mnt

 gzip -c -best /sbin/init > /mnt/sbin/init
 gzip -c -best /sbin/fsck > /mnt/sbin/fsck
 gzip -c -best /sbin/mount > /mnt/sbin/mount
 gzip -c -best /sbin/halt > /mnt/sbin/halt
 gzip -c -best /sbin/restore > /mnt/sbin/restore

 gzip -c -best /bin/sh > /mnt/bin/sh
 gzip -c -best /bin/sync > /mnt/bin/sync

 cp /root/.profile /mnt/root

 chmod 500 /mnt/sbin/init
 chmod 555 /mnt/sbin/fsck /mnt/sbin/mount /mnt/sbin/halt
 chmod 555 /mnt/bin/sh /mnt/bin/sync
 chmod 6555 /mnt/sbin/restore

 #
 # Minimale Dateisystemtabelle erstellen
 #
 cat > /mnt/etc/fstab <<EOM
 /dev/fd0a       /       ufs     rw 1 1
 EOM

 #
 # Minimale Passwortdatei erstellen
 #
 cat > /mnt/etc/passwd <<EOM
 root:*:0:0:Charlie &:/root:/bin/sh
 EOM

 cat > /mnt/etc/master.passwd <<EOM
 root::0:0::0:0:Charlie &:/root:/bin/sh
 EOM

 chmod 600 /mnt/etc/master.passwd
 chmod 644 /mnt/etc/passwd
 /usr/sbin/pwd_mkdb -d/mnt/etc /mnt/etc/master.passwd

 #
 # Die Diskette aushaengen und den Benutzer informieren
 #
 /sbin/umount /mnt
 echo "Die Diskette wurde ausgehaengt und ist jetzt bereit."

     --------------------------------------------------------------

    18.12.8.2. Nach dem Unglu:ck

   Die Schlu:sselfrage ist, ob Ihre Hardware u:berlebt hat. Denn da
   Sie ja regelma:ssig Backups angefertigt haben, brauchen Sie sich
   um die Software keine Sorgen zu machen.

   Falls die Hardware bescha:digt wurde, ersetzen Sie zuerst die
   defekten Teile bevor Sie den Computer benutzen.

   Falls die Hardware funktioniert, u:berpru:fen Sie die Disketten.
   Wenn Sie eigene Bootdisketten verwenden, booten Sie im
   Single-User-Modus (geben dazu Sie -s am Boot-Prompt boot: ein).
   U:berspringen Sie den folgenden Paragrafen.

   Wenn Sie die Standarddisketten boot.flp und fixit.flp verwenden,
   lesen Sie hier weiter. Legen Sie die Bootdiskette boot.flp in das
   erste Floppylaufwerk ein und starten Sie den Computer. Wie u:blich
   wird dann das originale Installationsmenu: von FreeBSD gestartet.
   Wa:hlen Sie die Option Fixit--Repair mode with CD-ROM or floppy.
   Legen Sie die Diskette fixit.flp ein, wenn danach gefragt wird.
   restore und die anderen Programme, die Sie beno:tigen, befinden
   sich dann in /mnt2/rescue (/mnt2/stand vor FreeBSD 5.2).

   Stellen Sie die Dateisysteme nacheinander, getrennt von einander,
   wieder her.

   Versuchen Sie die Root-Partition Ihrer ersten Festplatte
   einzuha:ngen (z.B. mit mount /dev/sd0a /mnt). Wenn das Bsdlabel
   bescha:digt wurde, benutzen Sie bsdlabel um die Platte neu zu
   partitionieren und zu benennen und zwar so, dass die Festplatte
   mit dem Label u:bereinstimmt, das Sie ausgedruckt und aufbewahrt
   haben.

   Verwenden Sie newfs um neue Dateisysteme auf den Partitionen
   anzulegen. Ha:ngen Sie nun die Root-Partition der Festplatte mit
   Schreibzugriff ein (mit mount -u -o rw /mnt). Benutzen Sie Ihr
   Backup-Programm um die Daten fu:r das jeweilige Dateisystem aus
   den Backup-Ba:ndern wieder her zu stellen (z.B. durch restore vrf
   /dev/sta). Ha:ngen Sie das Dateisystem wieder aus (z.B. durch
   umount /mnt). Wiederholen Sie diesen Ablauf fu:r jedes betroffene
   Dateisystem.

   Sobald Ihr System wieder la:uft, machen Sie gleich wieder ein
   vollsta:ndiges Backup auf neue Ba:nder. Denn die Ursache fu:r den
   Absturz oder den Datenverlust kann wieder zuschlagen. Eine weitere
   Stunde, die Sie jetzt noch dranha:ngen, kann Ihnen spa:ter ein
   weiteres Missgeschick ersparen.

     --------------------------------------------------------------

18.13. Netzwerk-, speicher- und dateibasierte Dateisysteme

   Verbessert und neu strukturiert von Marc Fonvieille.

   Neben Laufwerken, die sich physikalisch im Rechner befinden wie
   Floppylaufwerke, CDs, Festplatten usw., kann FreeBSD auch mit
   anderen Laufwerken, den virtuellen Laufwerken, umgehen.

   Dazu za:hlen Netzwerkdateisysteme wie Network Filesystem und Coda,
   speicher- und dateibasierte Dateisysteme.

   Abha:ngig von der verwendeten FreeBSD Version werden speicher- und
   dateibasierte Dateisysteme mit unterschiedlichen Werkzeugen
   angelegt.

     Anmerkung: Gera:tedateien werden unter FreeBSD automatisch von
     devfs(5) angelegt.

     --------------------------------------------------------------

  18.13.1. Dateibasierte Laufwerke unter FreeBSD

   Unter FreeBSD werden virtuelle Laufwerke (md(4)) mit mdconfig(8)
   erzeugt. Dazu muss das Modul md(4) geladen sein oder das
   entsprechende Gera:t in der Kernelkonfiguration aktiviert sein:

 device md

   Mit mdconfig(8) ko:nnen drei verschiedene virtuelle Laufwerke
   angelegt werden: speicherbasierte Laufwerke, deren Speicher von
   malloc(9) zur Verfu:gung gestellt wird, oder dateibasierte
   Laufwerke, deren Speicher von einer Datei oder dem Swap-Bereich
   zur Verfu:gung gestellt wird. Eine mo:gliche Anwendung ist das
   Einha:ngen von Dateien, die Abbilder von CD-ROMs oder Floppies
   enthalten.

   Das Abbild eines Dateisystems wird wie folgt eingehangen:

   Beispiel 18-4. Einha:ngen eines existierenden Abbildes unter
   FreeBSD

 # mdconfig -a -t vnode -f diskimage -u 0
 # mount /dev/md0 /mnt

   Ein neues Dateisystem-Abbild erstellen Sie mit mdconfig(8) wie
   folgt:

   Beispiel 18-5. Erstellen eines dateibasierten Laufwerks mit
   mdconfig

 # dd if=/dev/zero of=newimage bs=1k count=5k
 5120+0 records in
 5120+0 records out
 # mdconfig -a -t vnode -f newimage -u 0
 # bsdlabel -w md0 auto
 # newfs md0a
 /dev/md0a: 5.0MB (10224 sectors) block size 16384, fragment size 2048
         using 4 cylinder groups of 1.25MB, 80 blks, 192 inodes.
 super-block backups (for fsck -b #) at:
  160, 2720, 5280, 7840
 # mount /dev/md0a /mnt
 # df /mnt
 Filesystem 1K-blocks Used Avail Capacity  Mounted on
 /dev/md0a       4710    4  4330     0%    /mnt

   Wenn Sie keine Gera:tenummer mit dem Schalter -u angeben, wird von
   md(4) automatisch eine ungenutzte Gera:tenummer zugewiesen. Das
   zugewiesene Gera:t wird auf der Standardausgabe ausgegeben (zum
   Beispiel md4). Weitere Informationen entnehmen Sie bitte der
   Hilfeseite mdconfig(8).

   Das Werkzeug mdconfig(8) ist sehr nu:tzlich, doch muss man viele
   Kommandos absetzen, um ein dateibasiertes Dateisystem zu
   erstellen. FreeBSD entha:lt das Werkzeug mdmfs(8), das die
   notwendigen Schritte in einem Befehl zusammenfasst. Es
   konfiguriert mit mdconfig(8) ein md(4)-Laufwerk, erstellt darauf
   mit newfs(8) ein Dateisystem und ha:ngt es anschliessend mit
   mount(8) ein. Das virtuelle Laufwerk aus dem obigen Beispiel kann
   somit einfach mit den nachstehenden Befehlen erstellt werden:

   Beispiel 18-6. Mit mdmfs ein dateibasiertes Dateisystem erstellen

 # dd if=/dev/zero of=newimage bs=1k count=5k
 5120+0 records in
 5120+0 records out
 # mdmfs -F newimage -s 5m md0 /mnt
 # df /mnt
 Filesystem 1K-blocks Used Avail Capacity  Mounted on
 /dev/md0        4718    4  4338     0%    /mnt

   Wenn sie die Option md ohne Gera:tenummer verwenden, wa:hlt md(4)
   automatisch ein ungenutztes Gera:t aus. Weitere Einzelheiten
   entnehmen Sie bitte der Hilfeseite mdmfs(8).

     --------------------------------------------------------------

  18.13.2. Speicherbasierte Laufwerke unter FreeBSD

   Verwenden Sie ein speicherbasiertes Dateisystem, sollten Sie die
   Option "swap backing" aktivieren. Setzen Sie diese Option, heisst
   dies allerdings nicht, dass das speicherbasierte Laufwerk
   automatisch auf ihre Festplatte ausgelagert wird, vielmehr wird
   der Speicherplatz danach aus einem Speicherpool angefordert, der
   bei Bedarf auf die Platte ausgelagert werden kann. Zusa:tzlich ist
   es mo:glich, malloc(9)-gestu:tzte speicherbasierte Laufwerke zu
   erstellen. Das Anlegen solcher Laufwerke kann allerdings zu einer
   System-Panic fu:hren, wenn der Kernel danach u:ber zu wenig
   Speicher verfu:gt.

   Beispiel 18-7. Erstellen eines speicherbasierten Laufwerks mit
   mdconfig

 # mdconfig -a -t swap -s 5m -u 1
 # newfs -U md1
 /dev/md1: 5.0MB (10240 sectors) block size 16384, fragment size 2048
         using 4 cylinder groups of 1.27MB, 81 blks, 192 inodes.
         with soft updates
 super-block backups (for fsck -b #) at:
  160, 2752, 5344, 7936
 # mount /dev/md1 /mnt
 # df /mnt
 Filesystem 1K-blocks Used Avail Capacity  Mounted on
 /dev/md1        4718    4  4338     0%    /mnt

   Beispiel 18-8. Erstellen eines speicherbasierten Laufwerks mit
   mdmfs

 # mdmfs -s 5m md2 /mnt
 # df /mnt

 # df /mnt
 Filesystem 1K-blocks Used Avail Capacity  Mounted on
 /dev/md2        4846    2  4458     0%    /mnt

     --------------------------------------------------------------

  18.13.3. Virtuelle Laufwerke freigeben

   Wenn ein virtuelles Laufwerk nicht mehr gebraucht wird, sollten
   Sie dem System die belegten Ressourcen zuru:ckgeben. Ha:ngen Sie
   dazu zuerst das Dateisystem ab und geben Sie dann die benutzten
   Ressourcen mit mdconfig(8) frei.

   Alle von /dev/md4 belegten Ressourcen werden mit dem nachstehenden
   Kommando freigegeben:

 # mdconfig -d -u 4

   Eingerichtete md(4)-Gera:te werden mit dem Befehl mdconfig -l
   angezeigt.

     --------------------------------------------------------------

18.14. Schnappschu:sse von Dateisystemen

   Beigetragen von Tom Rhodes.

   Zusammen mit Soft Updates bietet FreeBSD eine neue Funktion:
   Schnappschu:sse von Dateisystemen.

   Schnappschu:sse sind Dateien, die ein Abbild eines Dateisystems
   enthalten und mu:ssen auf dem jeweiligen Dateisystem erstellt
   werden. Pro Dateisystem darf es maximal 20 Schnappschu:sse, die im
   Superblock vermerkt werden, geben. Schnappschu:sse bleiben
   erhalten, wenn das Dateisystem abgehangen, neu eingehangen oder
   das System neu gestartet wird. Wenn Sie einen Schnappschuss nicht
   mehr beno:tigen, ko:nnen Sie ihn mit rm(1) lo:schen. Es ist egal,
   in welcher Reihenfolge Schnappschu:sse gelo:scht werden. Es kann
   allerdings vorkommen, dass nicht der gesamte Speicherplatz wieder
   freigegeben wird, da ein anderer Schnappschuss einen Teil der
   entfernten Blo:cke fu:r sich beanspruchen kann.

   Das unvera:nderliche Snapshot-Dateiflag wird nach der Erstellung
   des Snaphshots von mksnap_ffs(8) gesetzt. Durch die Verwendung von
   unlink(1) ist es allerdings mo:glich, einen Schnappschuss zu
   lo:schen.

   Schnappschu:sse werden mit mount(8) erstellt. Das folgende
   Kommando legt einen Schnappschuss von /var in /var/snapshot/snap
   ab:

 # mount -u -o snapshot /var/snapshot/snap /var

   Den Schnappschuss ko:nnen Sie auch mit mksnap_ffs(8) erstellen:

 # mksnap_ffs /var /var/snapshot/snap

   Um einen Schnappschuss auf Ihrem System zu finden, verwenden Sie
   find(1):

 # find /var -flags snapshot

   Nachdem ein Schnappschuss erstellt wurde, ko:nnen Sie ihn fu:r
   verschiedene Zwecke benutzen:

     * Sie ko:nnen den Schnappschuss fu:r die Datensicherung benutzen
       und ihn auf eine CD oder ein Band schreiben.

     * Sie ko:nnen den Schnappschuss mit fsck(8) manuell pru:fen.
       Wenn das Dateisystem zum Zeitpunkt der Erstellung des
       Schnappschusses in Ordnung war, sollte fsck(8) immer
       erfolgreich durchlaufen. Der Hintergrund-Prozess fsck(8) hat
       im U:brigen genau diese Aufgabe.

     * Sie ko:nnen den Schnappschuss mit dump(8) sichern. Sie
       erhalten dann eine konsistente Sicherung des Dateisystems zu
       dem Zeitpunkt, der durch den Zeitstempel des Schnappschusses
       gegeben ist. Der Schalter -L von dump(8) erstellt fu:r die
       Sicherung einen Schnappschuss und entfernt diesen am Ende der
       Sicherung wieder.

     * Sie ko:nnen einen Schnappschuss in den Verzeichnisbaum
       einha:ngen und sich dann den Zustand des Dateisystems zu dem
       Zeitpunkt ansehen, an dem der Schnappschuss erstellt wurde.
       Der folgende Befehl ha:ngt den Schnappschuss
       /var/snapshot/snap ein:

 # mdconfig -a -t vnode -f /var/snapshot/snap -u 4
 # mount -r /dev/md4 /mnt

   Sie ko:nnen sich nun den eingefrorenen Stand des /var Dateisystems
   unterhalb von /mnt ansehen. Mit Ausnahme der fru:heren
   Schnappschu:sse, die als leere Dateien auftauchen, wird zu Beginn
   alles so aussehen, wie zum Zeitpunkt der Erstellung des
   Schnappschusses. Wenn Sie den Schnappschuss nicht mehr beno:tigen,
   ko:nnen Sie ihn, wie nachfolgend gezeigt, abha:ngen:

 # umount /mnt
 # mdconfig -d -u 4

   Weitere Informationen u:ber Soft Updates und Schnappschu:sse von
   Dateisystemen sowie technische Artikel finden Sie auf der Webseite
   von Marshall Kirk McKusick.

     --------------------------------------------------------------

18.15. Dateisystem-Quotas

   Quotas sind eine optionale Funktion des Betriebssystems, die es
   Ihnen erlauben, den Plattenplatz und/oder die Anzahl der Dateien
   eines Benutzers oder der Mitglieder einer Gruppe, auf
   Dateisystemebene zu beschra:nken. Oft wird dies auf
   Timesharing-Systemen (Mehrbenutzersystemen) genutzt, da es dort
   erwu:nscht ist, die Ressourcen, die ein Benutzer oder eine Gruppe
   von Benutzern belegen ko:nnen, zu limitieren. Das verhindert, dass
   ein Benutzer oder eine Gruppe von Benutzern den ganzen
   verfu:gbaren Plattenplatz belegt.

     --------------------------------------------------------------

  18.15.1. Konfiguration des Systems, um Quotas zu aktivieren

   Bevor Quotas benutzt werden ko:nnen, mu:ssen sie im Kernel
   konfiguriert werden, wozu die folgende Zeile der
   Kernelkonfiguration hinzugefu:gt wird:

 options QUOTA

   Im gewo:hnlichen GENERIC Kernel sind Quotas nicht aktiviert, so
   dass Sie einen angepassten Kernel konfigurieren und bauen mu:ssen,
   um Quotas zu benutzen. Weitere Informationen finden Sie in Kapitel
   8.

   Durch Hinzufu:gen der folgenden Zeile in /etc/rc.conf wird das
   Quota-System aktiviert:

 enable_quotas="YES"

   Um den Start des Quota-Systems zu beeinflussen, steht eine weitere
   Variable zur Verfu:gung. Normalerweise wird beim Booten die
   Integrita:t der Quotas auf allen Dateisystemen mit quotacheck(8)
   u:berpru:ft. quotacheck(8) stellt sicher, dass die Quota-Datenbank
   mit den Daten auf einem Dateisystem u:bereinstimmt. Dies ist
   allerdings ein sehr zeitraubender Prozess, der die Zeit, die das
   System zum Booten braucht, signifikant beeinflusst. Eine Variable
   in /etc/rc.config erlaubt es Ihnen, diesen Schritt zu
   u:berspringen:

 check_quotas="NO"

   Schliesslich mu:ssen Sie noch in /etc/fstab die Plattenquotas auf
   Dateisystemebene aktivieren. Dort ko:nnen Sie fu:r alle
   Dateisysteme Quotas fu:r Benutzer, Gruppen oder fu:r beide
   aktivieren.

   Um Quotas pro Benutzer fu:r ein Dateisystem zu aktivieren, geben
   Sie fu:r dieses Dateisystem die Option userquota im Feld Optionen
   von /etc/fstab an. Beispiel:

 /dev/da1s2g   /home    ufs rw,userquota 1 2

   Um Quotas fu:r Gruppen einzurichten, verwenden Sie groupquota
   anstelle von userquota. Um Quotas fu:r Benutzer und Gruppen
   einzurichten, a:ndern Sie den Eintrag wie folgt ab:

 /dev/da1s2g    /home    ufs rw,userquota,groupquota 1 2

   Die Quotas werden jeweils im Rootverzeichnis des Dateisystems
   unter dem Namen quota.user fu:r Benutzer-Quotas und quota.group
   fu:r Gruppen-Quotas abgelegt. Obwohl fstab(5) beschreibt, dass
   diese Dateien an anderer Stelle gespeichert werden ko:nnen, wird
   das nicht empfohlen, da es den Anschein hat, dass die
   verschiedenen Quota-Utilities das nicht richtig unterstu:tzen.

   Jetzt sollten Sie Ihr System mit dem neuen Kernel booten. /etc/rc
   wird dann automatisch die richtigen Kommandos aufrufen, die die
   Quota-Dateien fu:r alle Quotas, die Sie in /etc/fstab definiert
   haben, anlegen. Deshalb mu:ssen vorher auch keine leeren
   Quota-Dateien angelegt werden.

   Normalerweise brauchen Sie die Kommandos quotacheck(8), quotaon(8)
   oder quotaoff(8) nicht ha:ndisch aufzurufen, obwohl Sie vielleicht
   die entsprechenden Seiten im Manual lesen sollten, um sich mit
   ihnen vertraut zu machen.

     --------------------------------------------------------------

  18.15.2. Setzen von Quota-Limits

   Nachdem Sie Quotas in Ihrem System aktiviert haben, sollten Sie
   u:berpru:fen, dass Sie auch tatsa:chlich aktiviert sind. Fu:hren
   Sie dazu einfach den folgenden Befehl aus:

 # quota -v

   Fu:r jedes Dateisystem, auf dem Quotas aktiviert sind, sollten Sie
   eine Zeile mit der Plattenauslastung und den aktuellen
   Quota-Limits sehen.

   Mit edquota(8) ko:nnen Sie nun Quota-Limits setzen.

   Sie haben mehrere Mo:glichkeiten, die Limits fu:r den
   Plattenplatz, den ein Benutzer oder eine Gruppe verbrauchen kann,
   oder die Anzahl der Dateien, die angelegt werden du:rfen,
   festzulegen. Die Limits ko:nnen auf dem Plattenplatz
   (Block-Quotas) oder der Anzahl der Dateien (Inode-Quotas) oder
   einer Kombination von beiden basieren. Jedes dieser Limits wird
   weiterhin in zwei Kategorien geteilt: Hardlimits und Softlimits.

   Ein Hardlimit kann nicht u:berschritten werden. Hat der Benutzer
   einmal ein Hardlimit erreicht, so kann er auf dem betreffenden
   Dateisystem keinen weiteren Platz mehr beanspruchen. Hat ein
   Benutzer beispielsweise ein Hardlimit von 500 Kilobytes auf einem
   Dateisystem und benutzt davon 490 Kilobyte, so kann er nur noch 10
   weitere Kilobytes beanspruchen. Der Versuch, weitere 11 Kilobytes
   zu beanspruchen, wird fehlschlagen.

   Im Gegensatz dazu ko:nnen Softlimits fu:r eine befristete Zeit
   u:berschritten werden. Diese Frist betra:gt in der
   Grundeinstellung eine Woche. Hat der Benutzer das Softlimit u:ber
   die Frist hinaus u:berschritten, so wird das Softlimit in ein
   Hardlimit umgewandelt und der Benutzer kann keinen weiteren Platz
   mehr beanspruchen. Wenn er einmal das Softlimit unterschreitet,
   wird die Frist wieder zuru:ckgesetzt.

   Das folgende Beispiel zeigt die Benutzung von edquota(8). Wenn
   edquota(8) aufgerufen wird, wird der Editor gestartet, der durch
   EDITOR gegeben ist oder vi falls EDITOR nicht gesetzt ist. In dem
   Editor ko:nnen Sie die Limits eingeben.

 # edquota -u test

 Quotas for user test:
 /usr: kbytes in use: 65, limits (soft = 50, hard = 75)
         inodes in use: 7, limits (soft = 50, hard = 60)
 /usr/var: kbytes in use: 0, limits (soft = 50, hard = 75)
         inodes in use: 0, limits (soft = 50, hard = 60)

   Fu:r jedes Dateisystem, auf dem Quotas aktiv sind, sehen Sie zwei
   Zeilen, eine fu:r die Block-Quotas und die andere fu:r die
   Inode-Quotas. Um ein Limit zu modifizieren, a:ndern Sie einfach
   den angezeigten Wert. Um beispielsweise das Blocklimit dieses
   Benutzers von einem Softlimit von 50 und einem Hardlimit von 75
   auf ein Softlimit von 500 und ein Hardlimit von 600 zu erho:hen,
   a:ndern Sie die Zeile

 /usr: kbytes in use: 65, limits (soft = 50, hard = 75)

   zu:

 /usr: kbytes in use: 65, limits (soft = 500, hard = 600)

   Die neuen Limits sind wirksam, wenn Sie den Editor verlassen.

   Manchmal ist es erwu:nscht, die Limits fu:r einen Bereich von UIDs
   zu setzen. Dies kann mit der -p Option von edquota(8)
   bewerkstelligt werden. Weisen Sie dazu die Limits einem Benutzer
   zu und rufen danach edquota -p protouser startuid-enduid auf.
   Besitzt beispielsweise der Benutzer test die gewu:nschten Limits,
   ko:nnen diese mit dem folgenden Kommando fu:r die UIDs 10.000 bis
   19.999 dupliziert werden:

 # edquota -p test 10000-19999

   Weitere Informationen erhalten Sie in edquota(8).

     --------------------------------------------------------------

  18.15.3. U:berpru:fen von Quota-Limits und Plattennutzung

   Sie ko:nnen quota(1) oder repquota(8) benutzen, um Quota-Limits
   und Plattennutzung zu u:berpru:fen. Um die Limits oder die
   Plattennutzung individueller Benutzer und Gruppen zu u:berpru:fen,
   kann quota(1) benutzt werden. Ein Benutzer kann nur die eigenen
   Quotas und die Quotas der Gruppe, der er angeho:rt untersuchen.
   Nur der Superuser darf sich alle Limits ansehen. Mit repquota(8)
   erhalten Sie eine Zusammenfassung von allen Limits und der
   Plattenausnutzung fu:r alle Dateisysteme, auf denen Quotas aktiv
   sind.

   Das folgende Beispiel zeigt die Ausgabe von quota -v fu:r einen
   Benutzer, der Quota-Limits auf zwei Dateisystemen besitzt:

 Disk quotas for user test (uid 1002):
      Filesystem  usage   quota   limit   grace   files   quota   limit   grace
            /usr      65*     50      75   5days       7      50      60
        /usr/var       0      50      75               0      50      60

   Im Dateisystem /usr liegt der Benutzer momentan 15 Kilobytes u:ber
   dem Softlimit von 50 Kilobytes und hat noch 5 Tage seiner Frist
   u:brig. Der Stern * zeigt an, dass der Benutzer sein Limit
   u:berschritten hat.

   In der Ausgabe von quota(1) werden Dateisysteme, auf denen ein
   Benutzer keinen Platz verbraucht, nicht angezeigt, auch wenn
   diesem Quotas zugewiesen wurden. Mit -v werden diese Dateisysteme,
   wie /usr/var im obigen Beispiel, angezeigt.

     --------------------------------------------------------------

  18.15.4. Quotas u:ber NFS

   Quotas werden von dem Quota-Subsystem auf dem NFS Server
   erzwungen. Der rpc.rquotad(8) Daemon stellt quota(1) die Quota
   Informationen auf dem NFS Client zur Verfu:gung, so dass Benutzer
   auf diesen Systemen ihre Quotas abfragen ko:nnen.

   Aktivieren Sie rpc.rquotad in /etc/inetd.conf wie folgt:

 rquotad/1      dgram rpc/udp wait root /usr/libexec/rpc.rquotad rpc.rquotad

   Anschliessend starten Sie inetd neu:

 # /etc/rc.d/inetd restart

     --------------------------------------------------------------

18.16. Partitionen verschlu:sseln

   Beigetragen von Lucky Green.

   FreeBSD bietet ausgezeichnete Mo:glichkeiten, Daten vor
   unberechtigten Zugriffen zu schu:tzen. Wenn das Betriebssystem
   la:uft, schu:tzen Zugriffsrechte und vorgeschriebene
   Zugriffskontrollen (MAC) (siehe Kapitel 16) die Daten. Die
   Zugriffskontrollen des Betriebssystems schu:tzen allerdings nicht
   vor einem Angreifer, der Zugriff auf den Rechner hat. Der
   Angreifer kann eine Festplatte einfach in ein anderes System
   einbauen und dort die Daten analysieren.

   Die fu:r FreeBSD verfu:gbaren kryptografischen Subsysteme GEOM
   Based Disk Encryption (gbde) und geli sind in der Lage, Daten auf
   Dateisystemen auch vor hoch motivierten Angreifern zu schu:tzen,
   die u:ber erhebliche Mittel verfu:gen. Dieser Schutz ist
   unabha:ngig von der Art und Weise, durch die ein Angreifer Zugang
   zu einer Festplatte oder zu einem Rechner erlangt hat. Im
   Gegensatz zu schwerfa:lligen Systemen, die einzelne Dateien
   verschlu:sseln, verschlu:sseln gbde und geli transparent ganze
   Dateisysteme. Auf der Festplatte werden dabei keine Daten im
   Klartext gespeichert.

     --------------------------------------------------------------

  18.16.1. Plattenverschlu:sselung mit gbde

    1. Wechseln sie zu root

       Sie beno:tigen Superuser-Rechte, um gbde einzurichten.

 % su -
 Password:

    2. Aktivieren Sie gbde(4) in der Kernelkonfigurationsdatei

       Fu:gen Sie folgende Zeile in Ihre Kernelkonfigurationsdatei
       ein:

       options GEOM_BDE

       U:bersetzen und installieren Sie den FreeBSD-Kernel wie in
       Kapitel 8 beschrieben.

       Starten sie das System neu, um den neuen Kernel zu benutzen.

    3. Alternativ zur Neukompilierung des Kernels ko:nnen Sie auch
       kldload verwenden, um das Kernelmodul gbde(4) zu laden:

 # kldload geom_bde

     --------------------------------------------------------------

    18.16.1.1. Einrichten eines verschlu:sselten Dateisystems

   Das folgende Beispiel beschreibt, wie ein Dateisystem auf einer
   neuen Festplatte verschlu:sselt wird. Das Dateisystem wird in
   /private eingehangen. Mit gbde ko:nnten auch /home und /var/mail
   verschlu:sselt werden. Die dazu no:tigen Schritte ko:nnen
   allerdings in dieser Einfu:hrung nicht behandelt werden.

    1. Installieren der Festplatte

       Installieren Sie die Festplatte wie in Abschnitt 18.3
       beschrieben. Im Beispiel verwenden wir die Partition
       /dev/ad4s1c. Die Gera:tedateien /dev/ad0s1* sind
       Standard-Partitionen des FreeBSD-Systems.

 # ls /dev/ad*
 /dev/ad0        /dev/ad0s1b     /dev/ad0s1e     /dev/ad4s1
 /dev/ad0s1      /dev/ad0s1c     /dev/ad0s1f     /dev/ad4s1c
 /dev/ad0s1a     /dev/ad0s1d     /dev/ad4

    2. Verzeichnis fu:r gbde-Lock-Dateien anlegen

 # mkdir /etc/gbde

       Die Lock-Dateien sind fu:r den Zugriff von gbde auf
       verschlu:sselte Partitionen notwendig. Ohne die Lock-Dateien
       ko:nnen die Daten nur mit erheblichem manuellen Aufwand wieder
       entschlu:sselt werden (dies wird auch von der Software nicht
       unterstu:tzt). Jede verschlu:sselte Partition beno:tigt eine
       gesonderte Lock-Datei.

    3. Vorbereiten der gbde-Partition

       Eine von gbde benutzte Partition muss einmalig vorbereitet
       werden:

 # gbde init /dev/ad4s1c -i -L /etc/gbde/ad4s1c.lock

       gbde(8) o:ffnet eine Vorlage in Ihrem Editor, in der Sie
       verschiedene Optionen einstellen ko:nnen. Setzen Sie
       sector_size auf 2048, wenn Sie UFS1 oder UFS2 benutzen.

 $FreeBSD: src/sbin/gbde/template.txt,v 1.1 2002/10/20 11:16:13 phk Exp $
 #
 # Sector size is the smallest unit of data which can be read or written.
 # Making it too small decreases performance and decreases available space.
 # Making it too large may prevent filesystems from working.  512 is the
 # minimum and always safe.  For UFS, use the fragment size
 #
 sector_size     =       2048
 [...]

       gbde(8) fragt dann zweimal eine Passphrase zum Schutz der
       Daten ab. Die Passphrase muss beides Mal gleich eingegeben
       werden. Die Sicherheit der Daten ha:ngt alleine von der
       Qualita:t der gewa:hlten Passphrase ab. [12]

       Mit gbde init wurde im Beispiel auch die Lock-Datei
       /etc/gbde/ad4s1c.lock angelegt. gbde-Lockdateien mu:ssen die
       Dateiendung ".lock" aufweisen, damit sie von /etc/rc.d/gbde,
       dem Startskript von gbde, erkannt werden.

         Achtung: Sichern Sie die Lock-Dateien von gbde immer
         zusammen mit den verschlu:sselten Dateisystemen. Ein
         entschlossener Angreifer kann die Daten vielleicht auch ohne
         die Lock-Datei entschlu:sseln. Ohne die Lock-Datei ko:nnen
         Sie allerdings nicht auf die verschlu:sselten Daten
         zugreifen. Dies ist nur noch mit erheblichem manuellen
         Aufwand mo:glich, der weder von gbde(8) noch seinem
         Entwickler unterstu:tzt wird.

    4. Einbinden der verschlu:sselten Partition in den Kernel

 # gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c.lock

       Das Kommando fragt die Passphrase ab, die Sie beim Vorbereiten
       der Partition eingegeben haben. Das neue Gera:t erscheint
       danach als /dev/device_name.bde im Verzeichnis /dev:

 # ls /dev/ad*
 /dev/ad0        /dev/ad0s1b     /dev/ad0s1e     /dev/ad4s1
 /dev/ad0s1      /dev/ad0s1c     /dev/ad0s1f     /dev/ad4s1c
 /dev/ad0s1a     /dev/ad0s1d     /dev/ad4        /dev/ad4s1c.bde

    5. Dateisystem auf dem verschlu:sselten Gera:t anlegen

       Wenn der Kernel die verschlu:sselte Partition kennt, ko:nnen
       Sie ein Dateisystem auf ihr anlegen. Benutzen Sie dazu den
       Befehl newfs(8). Da ein Dateisystem vom Typ UFS2 sehr viel
       schneller als eins vom Typ UFS1 angelegt wird, empfehlen wir
       Ihnen, die Option -O2 zu benutzen.

 # newfs -U -O2 /dev/ad4s1c.bde

         Anmerkung: newfs(8) muss auf einer dem Kernel bekannten
         gbde-Partition (einem Gera:t mit dem Namen *.bde laufen.

    6. Einha:ngen der verschlu:sselten Partition

       Legen Sie einen Mountpunkt fu:r das verschlu:sselte
       Dateisystem an:

 # mkdir /private

       Ha:ngen Sie das verschlu:sselte Dateisystem ein:

 # mount /dev/ad4s1c.bde /private

    7. U:berpru:fen des verschlu:sselten Dateisystem

       Das verschlu:sselte Dateisystem sollte jetzt von df(1) erkannt
       werden und benutzt werden ko:nnen.

 % df -H
 Filesystem        Size   Used  Avail Capacity  Mounted on
 /dev/ad0s1a      1037M    72M   883M     8%    /
 /devfs            1.0K   1.0K     0B   100%    /dev
 /dev/ad0s1f       8.1G    55K   7.5G     0%    /home
 /dev/ad0s1e      1037M   1.1M   953M     0%    /tmp
 /dev/ad0s1d       6.1G   1.9G   3.7G    35%    /usr
 /dev/ad4s1c.bde   150G   4.1K   138G     0%    /private

     --------------------------------------------------------------

    18.16.1.2. Einha:ngen eines existierenden verschlu:sselten
    Dateisystems

   Nach jedem Neustart mu:ssen verschlu:sselte Dateisysteme dem
   Kernel wieder bekannt gemacht werden, auf Fehler u:berpru:ft
   werden und eingehangen werden. Die dazu no:tigen Befehle mu:ssen
   als root durchgefu:hrt werden.

    1. gbde-Partition im Kernel bekannt geben

 # gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c.lock

       Das Kommando fragt nach der Passphrase, die Sie beim
       Vorbereiten der verschlu:sselten gbde-Partition festgelegt
       haben.

    2. Pru:fen des Dateisystems

       Das verschlu:sselte Dateisystem kann noch nicht automatisch
       u:ber /etc/fstab eingehangen werden. Daher muss es vor dem
       Einha:ngen mit fsck(8) gepru:ft werden:

 # fsck -p -t ffs /dev/ad4s1c.bde

    3. Einha:ngen des verschlu:sselten Dateisystems

 # mount /dev/ad4s1c.bde /private

       Das verschlu:sselte Dateisystem steht danach zur Verfu:gung.

     --------------------------------------------------------------

      18.16.1.2.1. Verschlu:sselte Dateisysteme automatisch einha:ngen

   Mit einem Skript ko:nnen verschlu:sselte Dateisysteme automatisch
   bekannt gegeben, gepru:ft und eingehangen werden. Wir raten Ihnen
   allerdings aus Sicherheitsgru:nden davon ab. Starten Sie das
   Skript manuell an der Konsole oder in einer ssh(1)-Sitzung.

   Zu diesem Zweck existiert ein rc.d-Skript, an das u:ber Eintra:ge
   in der Datei rc.conf(5) Argumente u:bergeben werden ko:nnen. Dazu
   ein Beispiel:

 gbde_autoattach_all="YES"
 gbde_devices="ad4s1c"
 gbde_lockdir="/etc/gbde"

   Durch diese Argumente muss beim Systemstart die gbde-Passphrase
   eingegeben werden. Erst nach Eingabe der korrekten Passphrase wird
   die gbde-verschlu:sselte Partition automatisch in den
   Verzeichnisbaum eingeha:ngt. Dieses Vorgehen ist insbesondere dann
   nu:tzlich, wenn Sie gbde auf einem Notebook einsetzen wollen.

     --------------------------------------------------------------

    18.16.1.3. Kryptografische Methoden von gbde

   gbde(8) benutzt den 128-Bit AES im CBC-Modus, um die Daten eines
   Sektors zu verschlu:sseln. Jeder Sektor einer Festplatte wird mit
   einem unterschiedlichen AES-Schlu:ssel verschlu:sselt. Mehr
   Informationen, unter anderem wie die Schlu:ssel fu:r einen Sektor
   aus der gegebenen Passphrase ermittelt werden, erhalten Sie in
   gbde(4).

     --------------------------------------------------------------

    18.16.1.4. Kompatibilita:t

   sysinstall(8) kann nicht mit verschlu:sselten gbde-Gera:ten
   umgehen. Vor dem Start von sysinstall(8) sind alle *.bde-Gera:te
   zu deaktivieren, da sysinstall(8) sonst bei der Gera:tesuche
   abstu:rzt. Das im Beispiel verwendete Gera:t wird mit dem
   folgenden Befehl deaktiviert:

 # gbde detach /dev/ad4s1c

     Anmerkung: Sie ko:nnen gbde nicht zusammen mit vinum benutzen,
     da vinum(4) das geom(4)-Subsystem nicht benutzt.

     --------------------------------------------------------------

  18.16.2. Plattenverschlu:sselung mit geli

   Beigetragen von Daniel Gerzo.

   Mit FreeBSD 6.0 wurde eine neue kryptografische GEOM-Klasse
   eingefu:hrt - geli. Diese wird derzeit von Pawel Jakub Dawidek
   <pjd@FreeBSD.org> weiterentwickelt. geli unterscheidet sich von
   gbde durch unterschiedliche Fa:higkeiten und einen
   unterschiedlichen Ansatz fu:r die Verschlu:sselung von
   Festplatten.

   Die wichtigsten Merkmale von geli(8) sind:

     * Der Einsatz des crypto(9)-Frameworks - verfu:gt das System
       u:ber kryptografische Hardware, wird diese von geli
       automatisch verwendet.

     * Die Unterstu:tzung verschiedener kryptografischer Algorithmen
       (derzeit AES, Blowfish, sowie 3DES).

     * Die Mo:glichkeit, die root-Partition zu verschlu:sseln. Um auf
       die verschlu:sselte root-Partition zugreifen zu ko:nnen, muss
       beim Systemstart die Passphrase eingegeben werden.

     * geli erlaubt den Einsatz von zwei voneinander unabha:ngigen
       Schlu:sseln (etwa einem privaten "Schlu:ssel" und einem
       "Unternehmens-Schlu:ssel").

     * geli ist durch einfache Sektor-zu-Sektor-Verschlu:sselung sehr
       schnell.

     * Die Mo:glichkeit, Master-Keys zu sichern und
       wiederherzustellen. Wenn ein Benutzer seinen Schlu:ssel
       zersto:rt, kann er u:ber seinen zuvor gesicherten Schlu:ssel
       wieder auf seine Daten zugreifen.

     * geli erlaubt es, Platten mit einem zufa:lligen
       Einmal-Schlu:ssel einzusetzen, was insbesondere fu:r
       Swap-Partitionen und tempora:re Dateisysteme interessant ist.

   Weitere Informationen zu den Fa:higkeiten von geli finden Sie in
   geli(8).

   Die folgenden Schritte beschreiben, wie Sie geli im FreeBSD-Kernel
   aktivieren und einen geli-Verschlu:sselungs-Provider anlegen
   ko:nnen.

   Voraussetzung fu:r die Nutzung von geli ist der Einsatz von
   FreeBSD 6.0-RELEASE oder neuer. Da Sie Ihren Kernel anpassen
   mu:ssen, beno:tigen Sie ausserdem root-Privilegien.

    1. Aufnahme der geli-Unterstu:tzung in Ihre
       Kernelkonfigurationsdatei

       Fu:gen Sie die folgenden Zeilen in Ihre
       Kernelkonfigurationsdatei ein:

 options GEOM_ELI
 device crypto

       Bauen und installieren Sie Ihren neuen Kernel wie in Kapitel 8
       beschrieben.

       Alternativ ko:nnen Sie aber auch das geli-Kernelmodul beim
       Systemstart laden. Dazu fu:gen Sie die folgende Zeile in
       /boot/loader.conf ein:

 geom_eli_load="YES"

       Ab sofort wird geli(8) vom Kernel unterstu:tzt.

    2. Erzeugen des Master-Keys

       Das folgende Beispiel beschreibt, wie Sie eine Schlu:sseldatei
       erzeugen, die als Teil des Master-Keys fu:r den
       Verschlu:sselungs-Provider verwendet wird, der unter /private
       in den Verzeichnisbaum eingeha:ngt ("gemountet") wird. Diese
       Schlu:sseldatei liefert zufa:llige Daten, die fu:r die
       Verschlu:sselung des Master-Keys beno:tigt werden. Zusa:tzlich
       wird der Master-Key durch eine Passphrase geschu:tzt. Die
       Sektorgro:sse des Providers betra:gt 4 KB. Ausserdem wird
       beschrieben, wie Sie einen geli-Provider aktivieren, ein vom
       ihm verwaltetes Dateisystem erzeugen, es mounten, mit ihm
       arbeiten und wie Sie es schliesslich wieder unmounten und den
       Provider deaktivieren.

       Um eine bessere Leistung zu erzielen, sollten Sie eine
       gro:ssere Sektorgro:sse (beispielsweise 4 KB) verwenden.

       Der Master-Key wird durch eine Passphrase sowie die Daten der
       Schlu:sseldatei (die von /dev/random stammen) geschu:tzt. Die
       Sektorgro:sse von /dev/da2.eli (das als Provider bezeichnet
       wird) betra:gt 4 KB.

 # dd if=/dev/random of=/root/da2.key bs=64 count=1
 # geli init -s 4096 -K /root/da2.key /dev/da2
 Enter new passphrase:
 Reenter new passphrase:

       Es ist nicht zwingend no:tig, sowohl eine Passphrase als auch
       eine Schlu:sseldatei zu verwenden. Die einzelnen Methoden
       ko:nnen auch unabha:ngig voneinander eingesetzt werden.

       Wird fu:r die Schlu:sseldatei der Wert "-" angegeben, wird
       dafu:r die Standardeingabe verwendet. Das folgende Beispiel
       zeigt, dass Sie auch mehr als eine Schlu:sseldatei verwenden
       ko:nnen.

 # cat keyfile1 keyfile2 keyfile3 | geli init -K - /dev/da2

    3. Aktivieren des Providers mit dem erzeugten Schlu:ssel

 # geli attach -k /root/da2.key /dev/da2
 Enter passphrase:

       Dadurch wird die (Normaltext-)Gera:tedatei /dev/da2.eli
       angelegt.

 # ls /dev/da2*
 /dev/da2  /dev/da2.eli

    4. Das neue Dateisystem erzeugen

 # dd if=/dev/random of=/dev/da2.eli bs=1m
 # newfs /dev/da2.eli
 # mount /dev/da2.eli /private

       Das verschlu:sselte Dateisystem wird nun von df(1) angezeigt
       und kann ab sofort eingesetzt werden.

 # df -H
 Filesystem     Size   Used  Avail Capacity  Mounted on
 /dev/ad0s1a    248M    89M   139M    38%    /
 /devfs         1.0K   1.0K     0B   100%    /dev
 /dev/ad0s1f    7.7G   2.3G   4.9G    32%    /usr
 /dev/ad0s1d    989M   1.5M   909M     0%    /tmp
 /dev/ad0s1e    3.9G   1.3G   2.3G    35%    /var
 /dev/da2.eli   150G   4.1K   138G     0%    /private

    5. Das Dateisystem unmounten und den Provider deaktivieren

       Wenn Sie nicht mehr mit dem verschlu:sselten Dateisystem
       arbeiten und die unter /private eingeha:ngte Partition daher
       nicht mehr beno:tigen, sollten Sie diese unmounten und den
       geli-Verschlu:sselungs-Provider wieder deaktivieren.

 # umount /private
 # geli detach da2.eli

   Weitere Informationen zum Einsatz von geli finden Sie in geli(8).

     --------------------------------------------------------------

    18.16.2.1. Der Einsatz des geli- rc.d-Skripts

   geli verfu:gt u:ber ein rc.d-Skript, das den Einsatz von geli
   deutlich vereinfacht. Es folgt nun ein Beispiel, in dem geli u:ber
   die Datei rc.conf(5) konfiguriert wird:

 geli_devices="da2"
 geli_da2_flags="-p -k /root/da2.key"

   Durch diese Eintra:ge wird /dev/da2 als geli-Provider festgelegt.
   Der Master-Key befindet sich in /root/da2.key. Beim Aktivieren des
   geli-Providers wird keine Passphrase abgefragt (beachten Sie, dass
   dies nur dann mo:glich ist, wenn Sie geli mit dem Parameter -P
   initialisieren). Wird das System heruntergefahren, wird der
   geli-Provider zuvor deaktiviert.

   Weitere Informationen zur Konfiguration der rc.d-Skripten finden
   Sie im Abschnitt rc.d des Handbuchs.

     --------------------------------------------------------------

18.17. Den Auslagerungsspeicher verschlu:sseln

   Geschrieben von Christian Bru:ffer.

   Die Verschlu:sselung des Auslagerungsspeichers ist unter FreeBSD
   einfach einzurichten und seit FreeBSD 5.3-RELEASE verfu:gbar. Je
   nach dem, welche FreeBSD-Version Sie einsetzen, ko:nnen
   Konfiguration und mo:gliche Optionen allerdings unterschiedlich
   sein. Seit FreeBSD 6.0-RELEASE ko:nnen Sie entweder das gbde(8)-
   oder das geli(8)-Verschlu:sselungs-Subsystem einsetzen. Verwenden
   Sie eine a:ltere FreeBSD-Version, sind Sie hingegen auf gbde(8)
   beschra:nkt. Beide Subsysteme werden u:ber das rc.d-Skript encswap
   gestartet.

   Der letzte Abschnitt, Partitionen verschlu:sseln, entha:lt eine
   kurze Beschreibung der verschiedenen Verschlu:sselungs-Subsysteme.

     --------------------------------------------------------------

  18.17.1. Warum sollte der Auslagerungsspeicher verschlu:sselt werden?

   Wie die Verschlu:sselung von Plattenpartitionen dient auch die
   Verschlu:sselung des Auslagerungsspeichers dem Schutz sensitiver
   Informationen. Stellen Sie sich etwa eine Anwendung vor, die ein
   Passwort erfordert. Solange dieses Passwort im Hauptspeicher
   verbleibt, ist alles in Ordnung. Beginnt Ihr Betriebssystem
   allerdings, Daten auf die Festplatte auszulagern, um im
   Hauptspeicher Platz fu:r andere Anwendungen zu schaffen, kann es
   passieren, dass Ihr Passwort im Klartext in den
   Auslagerungsspeicher geschrieben wird, was es einem potentiellen
   Angreifer leicht macht, Ihr Passwort herauszufinden. Die
   Verschlu:sselung Ihres Auslagerungsspeichers kann dieses Problem
   lo:sen.

     --------------------------------------------------------------

  18.17.2. Vorbereitungen

     Anmerkung: Fu:r die weiteren Ausfu:hrungen dieses Abschnitts
     stellt ad0s1b die Swap-Partition dar.

   Noch ist Ihr Auslagerungsspeicher nicht verschlu:sselt. Es ko:nnte
   allerdings sein, dass bereits Passwo:rter oder andere sensitive
   Daten als Klartext im Auslagerungsspeicher vorhanden sind. Daher
   sollten Sie den Auslagerungsspeicher komplett mit zufa:llig
   generierten Zeichen u:berschreiben, bevor Sie ihn verschlu:sseln:

 # dd if=/dev/random of=/dev/ad0s1b bs=1m

     --------------------------------------------------------------

  18.17.3. Den Auslagerungsspeicher mit gbde(8) verschlu:sseln

   Verwenden Sie FreeBSD 6.0-RELEASE oder neuer, sollten Sie in
   /etc/fstab das Suffix .bde an den Gera:tenamen der Swap-Partition
   anha:ngen:

 # Device                Mountpoint      FStype  Options         Dump    Pass#
 /dev/ad0s1b.bde         none            swap    sw              0       0
      

   Fu:r FreeBSD-Versionen vor 6.0-RELEASE beno:tigen Sie zusa:tzlich
   folgende Zeile in /etc/rc.conf:

 gbde_swap_enable="YES"

     --------------------------------------------------------------

  18.17.4. Den Auslagerungsspeicher mit geli(8) verschlu:sseln

   Alternativ ko:nnen Sie Ihren Auslagerungsspeicher auch mit geli(8)
   verschlu:sseln. Die Vorgehensweise ist dabei a:hnlich. Allerdings
   ha:ngen Sie bei der Verwendung von geli(8) in /etc/fstab das
   Suffix .eli an den Gera:tenamen der Swap-Partition an:

 # Device                Mountpoint      FStype  Options         Dump    Pass#
 /dev/ad0s1b.eli         none            swap    sw              0       0
      

   In der Voreinstellung verschlu:sselt geli(8) den
   Auslagerungsspeicher mit dem AES-Algorithmus und einer
   Schlu:ssella:nge von 256 Bit.

   Es ist mo:glich, diese Optionen durch das Setzen der
   geli_swap_flags-Option in /etc/rc.conf anzupassen. Die folgende
   Zeile weist das rc.d-Skript encswap an, geli(8)-Swap-Partitionen
   mit dem Blowfish-Algorithmus und einer Schlu:ssella:nge von
   128 Bit zu verschlu:sseln. Zusa:tzlich wird die Sektorgro:sse auf
   4 Kilobyte gesetzt und die Option "detach on last close"
   aktiviert:

 geli_swap_flags="-e blowfish -l 128 -s 4096 -d"

   Auf Systemen vor FreeBSD 6.2-RELEASE verwenden Sie hingegen die
   folgende Zeile:

 geli_swap_flags="-a blowfish -l 128 -s 4096 -d"

   Eine Auflistung mo:glicher Optionen fu:r den Befehl onetime finden
   Sie in der Manualpage zu geli(8).

     --------------------------------------------------------------

  18.17.5. Die korrekte Funktion testen

   Nachdem Sie Ihr System neu gestartet haben, ko:nnen Sie die
   korrekte Funktion Ihres verschlu:sselten Auslagerungsspeichers
   pru:fen, indem Sie sich die Ausgabe von swapinfo ansehen.

   Wenn Sie gbde(8) einsetzen, erhalten Sie eine Meldung a:hnlich der
   folgenden:

 % swapinfo
 Device          1K-blocks     Used    Avail Capacity
 /dev/ad0s1b.bde    542720        0   542720     0%
      

   Wenn Sie geli(8) einsetzen, erhalten Sie hingegen ein Ausgabe
   a:hnlich der folgenden:

 % swapinfo
 Device          1K-blocks     Used    Avail Capacity
 /dev/ad0s1b.eli    542720        0   542720     0%
      

     --------------------------------------------------------------

    Kapitel 19. GEOM: Modulares Framework zur Plattentransformation

   Geschrieben von Tom Rhodes. U:bersetzt von Daniel Seuffert und
   Johann Kois.

19.1. U:bersicht

   Dieses Kapitel behandelt den Einsatz von Laufwerken mit dem
   GEOM-Framework in FreeBSD. Dies beinhaltet auch die wichtigen
   RAID-U:berwachungswerkzeuge, welche das Framework zur
   Konfiguration nutzen. Dieses Kapitel entha:lt keine
   tiefschu:rfenden Betrachtungen, wie GEOM I/O nutzt oder steuert,
   sein zugrundeliegendes Subsystem oder den Quelltext von GEOM.
   Diese Information wird durch die geom(4)-Manualpage und seine
   zahlreichen "SEE ALSO"-Verweise bereitgestellt. Dieses Kapitel ist
   auch kein ausfu:hrlicher Fu:hrer fu:r RAID-Konfigurationen. Nur
   durch GEOM unterstu:tzte RAID-Klassen werden ero:rtert.

   Nach Lesen dieses Kapitels werden Sie folgendes wissen:

     * Welche Art von RAID-Unterstu:tzung durch GEOM verfu:gbar ist.

     * Wie man die Basis-Dienstprogramme nutzt, um verschiedene
       RAID-Stufen zu konfigurieren, zu manipulieren und zu warten.

     * Wie man mittels GEOM spiegelt, striped, verschlu:sselt und
       entfernte Laufwerke verbindet.

     * Wie man an Laufwerken, welche an das GEOM-Framework
       angeschlossen sind, Fehler behebt.

   Bevor Sie dieses Kapitel lesen, sollten Sie:

     * Verstehen, wie FreeBSD Laufwerke behandelt (Kapitel 18).

     * Wissen wie man einen neuen FreeBSD-Kernel installiert und
       konfiguriert (Kapitel 8).

     --------------------------------------------------------------

19.2. Einfu:hrung in GEOM

   GEOM erlaubt den Zugriff und die Kontrolle von Klassen -- Master
   Boot Records, BSD-Label usw. -- durch die Nutzung von
   Datentra:gern (Providern) oder den besonderen Dateien in /dev.
   Verschiedene Software RAID-Konfigurationen unterstu:tzend, wird
   GEOM Ihnen transparenten Zugriff auf das Betriebssystem und
   System-Dienstprogramme gewa:hren.

     --------------------------------------------------------------

19.3. RAID0 - Striping

   Geschrieben von Tom Rhodes und Murray Stokely.

   Striping (stripe = Streifen) ist eine Methode, um verschiedene
   Laufwerke in einem einzigen Datentra:ger zusammenzufassen. In
   vielen Fa:llen wird dies durch die Nutzung von
   Hardware-Controllern bewerkstelligt. Das GEOM-Subsystem
   unterstu:tzt Software-RAID0 (welches auch als Striping bekannt
   ist).

   In einem RAID0-System werden die Daten in einzelne Blo:cke
   aufgeteilt, welche u:ber alle angeschlossenen Laufwerke in einem
   Datenfeld (Array) geschrieben werden. Anstatt darauf warten zu
   mu:ssen, dass 256K auf ein einzelnes Laufwerk geschrieben werden,
   kann ein RAID0-System gleichzeitig 64K auf jedes von 4 Laufwerken
   schreiben mit entsprechend besserer I/O-Leistung. Dieser Durchsatz
   kann durch die Verwendung mehrerer Controller noch zusa:tzlich
   gesteigert werden.

   Jedes Laufwerk in einem RAID0-Stripe muss die gleiche Gro:sse
   haben, da I/O-Anforderungen fu:r das Lesen und Schreiben
   abwechselnd auf mehrere Laufwerke parallel erfolgen.

   Disk Striping Illustration

   Erzeugen eines Stripe von unformatierten ATA-Platten

    1. Laden Sie das geom_stripe.ko-Modul:

 # kldload geom_stripe

    2. Stellen Sie sicher, dass ein geeigneter Mount-Punkt existiert.
       Falls dieser Datentra:ger eine Root-Partition werden soll,
       dann nutzen Sie zeitweise einen anderen Mount-Punkt,
       beispielsweise /mnt:

 # mkdir /mnt

    3. Bestimmen Sie die Gera:tenamen derjenigen Platten, welche
       gestriped werden sollen, und erzeugen Sie ein neues
       Stripe-Gera:t. Das folgende Beispiel verwendet zwei unbenutzte
       und unpartitionierte ATA-Platten, die gestriped werden sollen.
       Lauten die Gera:tenamen /dev/ad2 und /dev/ad3, so verwenden
       Sie folgenden Befehl:

 # gstripe label -v st0 /dev/ad2 /dev/ad3
 Metadata value stored on /dev/ad2.
 Metadata value stored on /dev/ad3.
 Done.

    4. Schreiben Sie einen Standard-Label (auch als
       Partitions-Tabelle bekannt) auf den neuen Datentra:ger und
       installieren Sie den normalen Bootstrap-Code:

 # bsdlabel -wB /dev/stripe/st0

    5. Dieser Prozess sollte zwei weitere Gera:te im Verzeichnis
       /dev/stripe (zusa:tzlich zum Gera:t st0) erzeugt haben. Diese
       schliessen st0a und st0c ein. Nun kann ein Dateisystem auf dem
       Gera:t st0a mit dem newfs-Dienstprogramm erzeugt werden:

 # newfs -U /dev/stripe/st0a

       Viele Zahlen rauschen nun u:ber Ihren Bildschirm und nach ein
       paar Sekunden wird der Prozess abgeschlossen sein. Der
       Datentra:ger wurde erzeugt und kann in den Verzeichnisbaum
       eingeha:ngt werden.

   Um das erzeugte Stripe manuell zu mounten:

 # mount /dev/stripe/st0a /mnt

   Um das erzeugte Dateisystem automatisch wa:hrend des Startvorgangs
   zu mounten, mu:ssen Sie die Datentra:gerinformation in die Datei
   /etc/fstab schreiben. Dazu legen Sie einen permanenten Mountpunkt
   namens stripe an:

 # mkdir /stripe
 # echo "/dev/stripe/st0a /stripe ufs rw 2 2" \
     >> /etc/fstab

   Das geom_stripe.ko-Modul muss ebenfalls automatisch beim
   Systemstart geladen werden (durch die Aufnahme der folgenden Zeile
   in die Datei /boot/loader.conf):

 # echo 'geom_stripe_load="YES"' >> /boot/loader.conf

     --------------------------------------------------------------

19.4. RAID1 - Spiegelung

   Spiegelung (Mirroring) ist eine Technik, welche von vielen Firmen
   und Heimnutzern eingesetzt wird, um Daten ohne Unterbrechung zu
   sichern. Wenn ein Spiegel existiert, dann bedeutet dies einfach
   nur, dass PlatteB die PlatteA dupliziert. Oder PlatteC+D
   duplizieren PlatteA+A. Der wichtigste Aspekt ist, dass Daten einer
   Platte oder Partition dupliziert werden, unabha:ngig von der
   Konfiguration der Platte. Dadurch kann spa:ter diese Information
   leichter wiederhergestellt, ohne Zugriffsunterbrechung gesichert
   oder sogar physisch in einem Datentresor gelagert werden.

   Stellen Sie zu Beginn sicher, dass ihr System zwei Platten mit
   identischer Gro:sse aufweist. In dieser U:bung gehen wir davon
   aus, dass es direkt zuga:ngliche (da(4)) SCSI-Platten sind.

     --------------------------------------------------------------

  19.4.1. Die prima:re Platte spiegeln

   Angenommen, FreeBSD wurde auf der ersten Platte da0 installiert,
   dann sollte gmirror(8) angewiesen werden, seine prima:ren Daten
   auf dieser Platte zu speichern.

   Bevor Sie den Spiegel aufbauen, sollten Sie die maximale
   Protokollierung aktivieren und den Zugang zum Gera:t gestatten.
   Dazu setzen Sie die sysctl(8)-Option kern.geom.debugflags auf den
   folgenden Wert:

 # sysctl kern.geom.debugflags=17

   Nun ko:nnen Sie den Spiegel aufbauen. Beginnen Sie den Prozess,
   indem Sie die Metadaten-Informationen auf das Gera:t der prima:ren
   Platte speichern. Konkret erzeugen Sie dabei das Gera:t
   /dev/mirror/gm, indem Sie den folgenden Befehl ausfu:hren:

     Warnung: Die Spiegelung der Bootplatte kann zu Datenverlust
     fu:hren, wenn Sie Daten im letzten Sektor der Platte gespeichert
     haben. Dieses Risiko la:sst sich minimieren, wenn Sie den
     Spiegel unmittelbar nach der Installation von FreeBSD aufsetzen.

 # gmirror label -vb round-robin gm0 /dev/da0

   Ihr System sollte wie folgt antworten:

 Metadata value stored on /dev/da0.
 Done.

   Initialisieren Sie GEOM. Dadurch wird das Kernelmodul
   /boot/kernel/geom_mirror.ko geladen:

 # gmirror load

     Anmerkung: Wenn dieser Befehl erfolgreich ausgefu:hrt wurde,
     wird die Gera:tedatei gm0 im Verzeichnis /dev/mirror erzeugt.

   Stellen Sie sicher, dass das Kernelmodul geom_mirror.ko beim
   Systemstart automatisch geladen wird:

 # echo 'geom_mirror_load="YES"' >> /boot/loader.conf

   Bearbeiten Sie die Datei /etc/fstab und ersetzen Sie alle Verweise
   auf die alte Gera:tedatei da0 durch die neue Gera:tedatei gm0 des
   Plattenspiegels. Um die Datei /etc/fstab bearbeiten zu ko:nnen,
   mu:ssen Sie als Benutzer root am System angemeldet sein.

     Anmerkung: Sollte vi(1) ihr bevorzugter Texteditor sein,
     kouml;nnen Sie diese A:nderungen ganz einfach wie folgt
     durchfu:hren:

 # vi /etc/fstab

     Bevor Sie die Datei bearbeiten, sollten Sie ein Backup anlegen.
     Haben Sie die Datei mit vi(1) geo:ffnet, ko:nnen Sie durch die
     Eingabe von :w /etc/fstab.bak eine Sicherungskopie der Datei
     anlegen. Danach ersetzen Sie alle alten Referenzen auf da0 durch
     gm0, indem Sie :%s/da/mirror\/gm/g eingeben.

   Die gea:nderte fstab sollte nun a:hnlich wie im folgenden Beispiel
   aussehen. Es spielt dabei keine Rolle, ob Sie SCSI- oder
   ATA-Platten verwenden. Das RAID-Gera:t heisst in jedem Fall gm.

 # Device                Mountpoint      FStype  Options         Dump    Pass#
 /dev/mirror/gm0s1b                              none            swap    sw              0       0
 /dev/mirror/gm0s1a                              /               ufs     rw              1       1
 /dev/mirror/gm0s1d                              /usr            ufs     rw              0       0
 /dev/mirror/gm0s1f                              /home           ufs     rw              2       2
 #/dev/mirror/gm0s2d                             /store          ufs     rw              2       2
 /dev/mirror/gm0s1e                              /var            ufs     rw              2       2
 /dev/acd0               /cdrom          cd9660  ro,noauto       0       0

   Fu:hren Sie einen Systemneustart durch:

 # shutdown -r now

   Wenn das System gestartet wird, sollten Sie nun nur noch
   gm0-Gera:te anstatt der bisherigen da0-Gera:te sehen. Nachdem das
   System vollsta:ndig initialisiert wurde, ko:nnen Sie die neue
   Konfiguration testen, indem Sie den Befehl mount ausfu:hren:

 # mount
 Filesystem         1K-blocks    Used    Avail Capacity  Mounted on
 /dev/mirror/gm0s1a   1012974  224604   707334    24%    /
 devfs                      1       1        0   100%    /dev
 /dev/mirror/gm0s1f  45970182   28596 42263972     0%    /home
 /dev/mirror/gm0s1d   6090094 1348356  4254532    24%    /usr
 /dev/mirror/gm0s1e   3045006 2241420   559986    80%    /var
 devfs                      1       1        0   100%    /var/named/dev

   Hier ist alles in Ordnung. Alle Werte sehen aus wie erwartet. Um
   die Synchronisierung zu beginnen, integrieren Sie nun die Platte
   da1 in den Spiegel, indem Sie den folgenden Befehl eingeben:

 # gmirror insert gm0 /dev/da1

   Wa:hrend die Platten gespiegelt werden, ko:nnen Sie den
   Fortschritt durch die Eingabe des folgenden Befehls u:berpru:fen:

 # gmirror status

   Nachdem die Plattenspiegelung erfolgreich abgeschlossen wurde (und
   alle Daten synchronisiert wurden), sollte Sie eine Ausgabe
   a:hnlich der folgenden erhalten, wenn Sie den Befehl erneut
   ausfu:hren:

       Name    Status  Components
 mirror/gm0  COMPLETE  da0
                       da1

   Sollten Probleme aufgetreten oder sollte die Synchronisierung noch
   nicht abgeschlossen sein, wa:re der Status DEGRADED anstatt
   COMPLETE.

     --------------------------------------------------------------

  19.4.2. Fehlerbehebung

    19.4.2.1. Das System weigert sich zu starten

   Falls das System startet und eine Eingabeaufforderung a:hnlich der
   folgenden erscheint:

 ffs_mountroot: can't find rootvp
 Root mount failed: 6
 mountroot>

   Starten Sie den Rechner neu mit der Power- oder Resettaste.
   Wa:hlen Sie im Startmenu: Option sechs (6). Dadurch erscheint eine
   Eingabeaufforderung fu:r loader(8). Laden Sie nun das Kernelmodul
   ha:ndisch:

 OK? load geom_mirror
 OK? boot

   Falls dies funktioniert, wurde das Modul (aus welchen Gru:nden
   auch immer) nicht richtig geladen. Pru:fen Sie, ob Ihr Eintrag in
   der Datei /boot/loader.conf korrekt ist. Sollte das Problem
   weiterhin bestehen, nehmen Sie die Zeile

 options GEOM_MIRROR

   in die Konfigurationsdatei des Kernels auf und fu:hren Sie einen
   Rebuild und eine erneute Installation durch. Dies sollte das
   Problem beseitigen.

     --------------------------------------------------------------

  19.4.3. Wiederherstellung des Systems nach einem Plattenausfall

   Das Scho:ne an der Plattenspiegelung ist, dass eine kaputte Platte
   ersetzt werden kann, ohne dass Sie dabei Daten verlieren.

   Basierend auf der vorhin besprochenen RAID1-Konfiguration, nehmen
   wir nun an, dass die Platte da1 ausgefallen ist und daher ersetzt
   werden muss. Um dies zu tun, mu:ssen Sie feststellen, welche
   Platte ausgefallen ist und das System herunterfahren. Nun ko:nnen
   Sie die kaputte Platte gegen eine neue Platte austauschen und das
   System wieder starten. Nachdem der Systemstart abgeschlossen ist,
   verwenden Sie die folgenden Befehle, um die Plattenspiegelung
   wieder zu reaktivieren:

 # gmirror forget gm0

 # gmirror insert gm0 /dev/da1

   Der Befehl gmirror status erlaubt es Ihnen, den Fortschritt bei
   der Wiederherstellung der Plattenspiegelung zu beobachten. Das ist
   alles, was Sie tun mu:ssen.

     --------------------------------------------------------------

19.5. GEOM Gate Netzwerkgera:te

   GEOM unterstu:tzt die Verwendung entfernter Gera:te wie
   Festplatten, CD-ROMs, Dateien usw. mittels Nutzung der
   Gate-Dienstprogramme. Dies ist vergleichbar mit NFS.

   Zu Beginn muss eine Exportdatei erzeugt werden. Diese Datei legt
   fest, wer Zugriff auf die exportierten Ressourcen hat und welche
   Zugriffstechniken angeboten werden. Um zum Beispiel den vierten
   Slice auf der ersten SCSI-Platte zu exportieren, ist die folgende
   Datei /etc/gg.exports mehr als ausreichend:

 192.168.1.0/24 RW /dev/da0s4d

   Sie wird allen Hosts innerhalb des privaten Netzwerkes den Zugriff
   auf das Dateisystem auf der Partition da0s4d erlauben.

   Um dieses Gera:t zu exportieren, stellen Sie bitte sicher, dass es
   momentan nicht gemounted ist und starten Sie den ggated(8)
   Server-Daemon:

 # ggated

   Um nun mount auf der Client-Maschine auszufu:hren, geben Sie bitte
   die folgenden Befehle ein:

 # ggatec create -o rw 192.168.1.1 /dev/da0s4d
 ggate0
 # mount /dev/ggate0 /mnt

   Von nun an kann auf das Gera:t u:ber den Mount-Punkt /mnt
   zugegriffen werden.

     Anmerkung: Es sollte darauf hingewiesen werden, dass dies
     scheitern wird, falls das Gera:t momentan entweder auf dem
     Server oder irgendeiner anderen Maschine gemountet ist.

   Wenn das Gera:t nicht la:nger gebraucht wird, dann kann es mit dem
   Befehl umount(8) ausgeha:ngt werden (genauso wie jedes andere
   Laufwerk auch).

     --------------------------------------------------------------

19.6. Das Labeln von Laufwerken

   Wa:hrend der Initialisierung des Systems legt der FreeBSD-Kernel
   fu:r jedes gefundene Gera:t Knotenpunkte an. Diese Methode fu:r
   die U:berpru:fung auf vorhandene Gera:te wirft einige Fragen auf.
   Was passiert beispielsweise, wenn ein neues USB-Laufwerk
   hinzugefu:gt wird? Es ist sehr wahrscheinlich, dass ein
   Flash-Speicher-Gera:t den Gera:tenamen da0 erha:lt, wa:hrend
   gleichzeitig das bisherige da0 zu da1 wird. Dies verursacht
   Probleme beim Einha:ngen von Dateisystemen, wenn diese in der
   /etc/fstab aufgefu:hrt sind und schlussendlich mag das auch dazu
   fu:hren, dass das System nicht mehr startet.

   Eine Lo:sung fu:r dieses Problem ist das Aneinanderketten der
   SCSI-Gera:te, damit ein neues Gera:t, welches der SCSI-Karte
   hinzugefu:gt wird, unbenutzte Gera:tenummern erha:lt. Aber was
   geschieht, wenn ein USB-Gera:t mo:glicherweise die prima:re
   SCSI-Platte ersetzt? Dies kann passieren, weil USB-Gera:te
   normalerweise vor der SCSI-Karte gepru:ft werden. Eine Lo:sung ist
   das Hinzufu:gen dieser Gera:te, nachdem das System gestartet ist.
   Eine andere Lo:sung ko:nnte sein, nur ein einzelnes ATA-Laufwerk
   zu nutzen und die SCSI-Gera:te niemals in der /etc/fstab
   aufzufu:hren.

   Es gibt allerdings eine bessere Lo:sung. Durch Verwendung des
   glabel-Dienstprogramms kann ein Administrator oder Benutzer seine
   Laufwerke mit Labeln versehen und diese in der /etc/fstab nutzen.
   Da glabel seine Label im letzten Sektor jedes vorhandenen
   Datentra:gers speichert, wird das Label persistent bleiben (auch
   u:ber Neustarts hinweg). Durch Nutzung dieses Labels als Gera:t
   kann das Dateisystem immer gemountet sein, unabha:ngig davon,
   durch welchen Gera:te-Knotenpunkt auf ihn zugegriffen wird.

     Anmerkung: Der Label muss permanent (dauerhaft) sein. Man kann
     das Dienstprogramm glabel nutzen, um sowohl transiniente als
     auch permanente Label zu erzeugen. Aber nur permanente
     (persistente) Label bleiben konsistent u:ber Neustarts hinweg.
     Lesen Sie die glabel(8)-Manualpage fu:r weitere Unterschiede
     zwischen den Label-Typen.

     --------------------------------------------------------------

  19.6.1. Label-Typen und Beispiele

   Es gibt zwei Arten von Labeln: generische Label und
   Dateisystem-Label. Label ko:nnen dauerhaft (permanent) oder
   tempora:r sein. Permanente Label ko:nnen mit tunefs(8) oder
   newfs(8) in einem speziellen spezielles Verzeichnis in /dev
   erzeugt werden, welches entsprechend der Dateisystem-Art benannt
   wird. UFS2-Dateisystem-Label werden zum Beispiel im Verzeichnis
   /dev/ufs angelegt. Permanente Label ko:nnen ausserdem durch den
   Befehl glabel label erzeugt werden. Diese Label sind dann
   allerdings nicht dateisystemspezisch und werden im
   Unterverzeichnis /dev/label erzeugt.

   Ein tempora:res Label verschwindet mit dem na:chsten Systemstart.
   Diese Label werden im Verzeichnis /dev/label erzeugt und sind
   ideal fu:r Testzwecke. Ein tempora:res Label kann durch den Befehl
   glabel create erzeugt werden. Weitere Informationen finden sich in
   der Manualpage glabel(8).

   Um ein permanentes Label auf einem UFS2-Dateisystem ohne Lo:schung
   von Daten zu erzeugen, kann man folgenden Befehl verwenden:

 # tunefs -L home /dev/da3

     Warnung: Wenn das Dateisystem voll ist, kann dies zu
     Datenkorruption fu:hren; aber egal wie, falls das Dateisystem
     voll ist, sollte das Hauptziel die Entfernung ungenu:tzter
     Dateien und nicht das Hinzufu:gen von Labeln sein.

   Ein Label sollte nun in /dev/ufs vorhanden sein, der zu /etc/fstab
   hinzugefu:gt wird:

 /dev/ufs/home           /home            ufs     rw              2      2

     Anmerkung: Das Dateisystem darf nicht gemountet sein beim
     Versuch, tunefs auszufu:hren.

   Nun kann das Dateisystem wie u:blich gemountet werden:

 # mount /home

   Von nun an kann der Gera:te-Knotenpunkt sich ohne negative Effekte
   auf das System a:ndern, solange das Kernelmodul geom_label.ko beim
   Systemstart mittels /boot/loader.conf geladen wird oder die
   GEOM_LABEL-Kernel-Option aktiv ist.

   Dateisysteme ko:nnen auch mit einem Standard-Label erzeugt werden
   (mittels des Flags -L in newfs). Lesen Sie bitte die Manualpage
   von newfs(8) fu:r weitere Informationen.

   Der folgende Befehl kann genutzt werden, um das Label zu
   beseitigen:

 # glabel destroy home

   Das folgende Beispiel zeigt Ihnen, wie Sie Label fu:r die
   Partitionen einer Bootplatte erzeugen.

   Beispiel 19-1. Die Partitionen einer Bootplatte labeln

   Durch das Erstellen von permanenten Labeln fu:r die Partitionen
   einer Bootplatte sollte das System selbst dann noch normal starten
   ko:nnen, wenn Sie die Platte an einen anderen Controller
   anschliessen oder in ein anderes System installieren. In diesem
   Beispiel nehmen wir an, dass nur eine einzige ATA-Platte verwendet
   wird, die Ihr System derzeit als ad0 erkennt. Weiters nehmen wir
   an, dass Sie das Standard-Partionierungsschema von FreeBSD
   vewendet haben und Ihre Platte daher die Dateisysteme /, /var,
   /usr sowie /tmp aufweist. Zusa:tzlich wurde eine Swap-Partition
   angelegt.

   Starten Sie das System neu. Am loader(8)-Prompt dru:cken Sie die
   Taste 4, um in den Single-User-Modus zu gelangen. Dort fu:hren Sie
   die folgenden Befehle aus:

 # glabel label rootfs /dev/ad0s1a
 GEOM_LABEL: Label for provider /dev/ad0s1a is label/rootfs
 # glabel label var /dev/ad0s1d
 GEOM_LABEL: Label for provider /dev/ad0s1d is label/var
 # glabel label usr /dev/ad0s1f
 GEOM_LABEL: Label for provider /dev/ad0s1f is label/usr
 # glabel label tmp /dev/ad0s1e
 GEOM_LABEL: Label for provider /dev/ad0s1e is label/tmp
 # glabel label swap /dev/ad0s1b
 GEOM_LABEL: Label for provider /dev/ad0s1b is label/swap
 # exit

   Das System startet daraufhin in den Multi-User-Modus. Nachdem der
   Startvorgang abgeschlossen ist, editieren Sie die Datei /etc/fstab
   und ersetzen die konventionellen Gera:tedateien durch die
   entsprechenden Label. Ihre modifizierte /etc/fstab sollte nun
   a:hnlich der folgenden Ausgabe aussehen:

 # Device                Mountpoint      FStype  Options         Dump    Pass#
 /dev/label/swap         none            swap    sw              0       0
 /dev/label/rootfs       /               ufs     rw              1       1
 /dev/label/tmp          /tmp            ufs     rw              2       2
 /dev/label/usr          /usr            ufs     rw              2       2
 /dev/label/var          /var            ufs     rw              2       2

   Starten Sie Ihr System neu. Traten keine Probleme auf, wird das
   System normal hochfahren und Sie erhalten die folgende Ausgabe,
   wenn Sie den Befehl mount ausfu:hren:

 # mount
 /dev/label/rootfs on / (ufs, local)
 devfs on /dev (devfs, local)
 /dev/label/tmp on /tmp (ufs, local, soft-updates)
 /dev/label/usr on /usr (ufs, local, soft-updates)
 /dev/label/var on /var (ufs, local, soft-updates)

   Beginnend mit FreeBSD 7.2, unterstu:tzt glabel(8) einen neuen
   Labeltyp fu:r UFS-Dateisysteme. Dieser basiert auf der eindeutigen
   Dateisystem-ID ufsid. Derartige Label finden sich im Verzeichnis
   /dev/ufsid und werden wa:hrend des Systemstarts automatisch
   erzeugt. Es ist mo:glich, diese ufsid-Label zum automatischen
   Einha:ngen von Partitionen in der Datei /etc/fstab einzusetzen.
   Verwenden Sie den Befehl glabel status, um eine Liste aller
   Dateisysteme und ihrer ufsid-Label zu erhalten:

 % glabel status
                   Name  Status  Components
 ufsid/486b6fc38d330916     N/A  ad4s1d
 ufsid/486b6fc16926168e     N/A  ad4s1f

   In diesem Beispiel repra:sentiert ad4s1d das /var-Dateisystem,
   wa:hrend ad4s1f dem /usr-Dateisystem entspricht. Wenn Sie die
   angegebenen ufsid-Werte verwenden, ko:nnen diese Dateisysteme
   durch die folgenden Eintra:ge in der Datei /etc/fstab gemountet
   werden:

 /dev/ufsid/486b6fc38d330916        /var        ufs        rw        2      2
 /dev/ufsid/486b6fc16926168e        /usr        ufs        rw        2      2

   Jede Partition, die ein ufsid-Label aufweist, kann auf diese Art
   gemountet werden. Dies hat den Vorteil, dass Sie keine permanenten
   Label mehr anlegen mu:ssen, wobei sich die Platten nach wie vor
   u:ber gera:teunabha:ngige Namen ansprechen und mounten lassen.

     --------------------------------------------------------------

19.7. UFS Journaling in GEOM

   Mit FreeBSD 7.0 wurde eine lang erwartete Funktion, das
   UFS-Journaling, implementiert. Diese Funktion wird u:ber das
   GEOM-Subsystem realisiert und kann u:ber das Werkzeug gjournal(8)
   eingerichtet werden.

   Was ist Journaling? Bei Journaling wird ein Protokoll u:ber alle
   Dateisystemtransaktionen angelegt, inklusive aller Vera:nderungen,
   aus denen ein kompletter Schreibvorgang besteht, bevor diese
   A:nderungen (Metadaten sowie tatsa:chliche Schreibvorga:nge)
   physikalisch auf der Festplatte ausgefu:hrt werden. Dieses
   Protokoll kann spa:ter erneut aufgerufen werden, um diese
   Vorga:nge zu wiederholen (beispielsweise um Systeminkonsistenzen
   zu vermeiden).

   Diese Technik bietet eine weitere Mo:glichkeit, sich vor
   Datenverlust und Dateisystem-Inkonsistenzen zu schu:tzen. Im
   Gegensatz zu Soft Updates (die Metadaten-Aktualisierungen
   verfolgen und erzwingen) und Snapshots (die ein Image eines
   Dateisystems darstellen) wird bei Journaling ein tatsa:chliches
   Protokoll in einem speziell dafu:r bereitgestellten Bereich der
   Festplatte (oder manchmal sogar auf einer separaten Platte)
   gespeichert.

   Im Gegensatz zu anderen Journaling-Dateisystemen arbeitet die
   gjournal-Methode blockbasiert und wurde nicht als Teil des
   Dateisystems implementiert, sondern als GEOM-Erweiterung.

   Um die gjournal-Unterstu:tzung zu aktivieren, muss der
   FreeBSD-Kernel die folgende Option enthalten (was auf 7.X-Systemen
   bereits in der Voreinstellung der Fall ist):

 options UFS_GJOURNAL

   Um ein Volume mit Journalunterstu:tzung beim Systemstart
   automatisch zu mounten, muss das Kernelmodul geom_journal.ko
   ebenfalls automatisch geladen werden (durch einen entsprechenden
   Eintrag in der Datei /boot/loader.conf):

 geom_journal_load="YES"

   Alternativ ko:nnen Sie auch einen angepassten Kernel bauen, der
   diese Funktionalita:t entha:lt, indem Sie die folgende Zeile in
   Ihrer Kernelkonfigurationsdatei aufnehmen:

 options     GEOM_JOURNAL

   Das Anlegen eines neuen Journals auf einem freien Dateisystem
   erfolgt durch die folgenden Schritte (im Folgenden wird
   angenommen, dass es sich bei da4 um eine neue SCSI-Platte
   handelt):

 # gjournal label /dev/da4
 # gjournal load

   Danach sollten die Gera:tedateien /dev/da4 sowie /dev/da4.journal
   vorhanden sein. Nun ko:nnen Sie auf diesem Gera:t ein Dateisystem
   anlegen:

 # newfs -O 2 -J /dev/da4.journal

   Dieser Befehl erzeugt ein UFS2-Dateisystem, fu:r das Journaling
   aktiviert wurde.

   Danach ha:ngen Sie das neue Dateisystem mit mount in Ihren
   Verzeichnisbaum ein:

 # mount /dev/da4.journal /mnt

     Anmerkung: Falls auf Ihrem System mehrere Slices angelegt sind
     (beispielsweise ad4s1 sowie ad4s2), wird gjournal fu:r jedes
     Slice ein Journal anlegen (also ad4s1.journal sowie
     ad4s2.journal). Wird der Befehl zweimal ausgefu:hrt, werden auch
     fu:r jedes Slice zwei "Journale" angelegt.

   Unter bestimmten Umsta:nden ist es sinnvoll, das Journal auf eine
   externe Platte auszulagern. In einem solchen Fall geben Sie die
   Gera:tedatei der Platte nach dem Gera:t an, fu:r das Sie
   Journaling aktivieren wollen. Theoretisch ist es auch mo:glich,
   Journaling auf bereits existierenden Dateisystemen durch das
   Werkzeug tunefs zu aktivieren. Machen Sie aber in jedem Fall ein
   Backup Ihrer Daten, bevor Sie versuchen, ein existierendes
   Dateisystem zu a:ndern. gjournal wird zwar den Vorgang abbrechen,
   wenn es das Journal nicht erzeugen kann, allerdings schu:tzt Sie
   dies nicht vor Datenverlust durch einen fehlerhaften Einsatz von
   tunefs.

   Es ist mo:glich, Journale auch fu:r die Bootplatte eines
   FreeBSD-System zu verwenden. Lesen Sie bitte den Artikel
   Implementing UFS Journaling on a Desktop PC, wenn Sie an einer
   derartigen Konfiguration interessiert sind.

     --------------------------------------------------------------

                 Kapitel 20. Dateisystemunterstu:tzung

   Geschrieben von Tom Rhodes. U:bersetzt von Benedict Reuschling und
   Daniel Seuffert.

20.1. U:bersicht

   Dateisysteme sind ein wesentlicher Bestandteil von
   Betriebssystemen. Sie erlauben es den Benutzern Dateien zu laden
   und zu speichern, ermo:glichen den Zugriff auf die Daten und
   machen Festplatten u:berhaupt erst nu:tzlich. Unterschiedliche
   Betriebssysteme besitzen normalerweise eine Gemeinsamkeit,
   na:mlich deren mitgeliefertes Dateisystem. Bei FreeBSD ist dieses
   Dateisystem bekannt unter dem Namen Fast File System FFS, das
   direkt auf dem Original-Unix(TM) Dateisystem, UFS genannt,
   basiert. Dieses ist das von FreeBSD mitgelieferte Dateisystem, das
   auf Festplatten fu:r den Dateizugriff verwendet wird.

   FreeBSD unterstu:tzt auch eine Vielzahl von anderen Dateisystemen,
   um auf Daten von anderen Betriebssystemen lokal zuzugreifen, wie
   z.B. Daten auf USB-Speichermedien, Flash-Speichern und
   Festplatten. Es gibt auch Unterstu:tzung fu:r fremde Dateisysteme.
   Dabei handelt es sich um Dateisysteme, die auf anderen
   Betriebssystemen entwickelt wurden, wie beispielsweise das Linux
   Extended File System (EXT) und das Z-Dateisystem (ZFS) von Sun.

   Es gibt verschiedene Stufen der Unterstu:tzung in FreeBSD fu:r
   diese unterschiedlichen Dateisysteme. Manche beno:tigen ein
   geladenes Kernelmodul, andere die Installation bestimmter
   Werkzeuge. Dieses Kapitel dient dazu, den Benutzern von FreeBSD
   dazu helfen, auf andere Dateisysteme zuzugreifen, beginnend mit
   Suns Z-Dateisystem (ZFS).

   Nachdem Sie dieses Kapitel gelesen haben, werden Sie die folgenden
   Dinge wissen:

     * Den Unterschied zwischen eingebauten und unterstu:tzten
       Dateisystemen.

     * Welche Dateisysteme von FreeBSD unterstu:tzt werden.

     * Wie man fremde Dateisysteme aktiviert, konfiguriert, darauf
       zugreift und diese verwendet.

   Bevor Sie dieses Kapitel lesen, sollten Sie:

     * Grundlagen von UNIX und FreeBSD verstehen (Kapitel 3).

     * Mit den Grundlagen der Konfiguration und dem Bauen des Kernels
       vertraut sein (Kapitel 8).

     * Problemlos Software von Drittherstellern in FreeBSD
       installieren ko:nnen (Kapitel 4).

     * sich ein wenig mit Festplatten, Speicher und Gera:tenamen in
       FreeBSD auskennen (Kapitel 18).

     Warnung: Die ZFS-Funktionen sind als experimentell zu
     betrachten. Manchen Optionen werden mo:glicherweise bestimmte
     Funktionalita:ten fehlen, andere funktionieren eventuell gar
     nicht. Mit der Zeit werden diese Eigenschaften als fu:r den
     Produktivbetrieb geeignet erachtet werden und dann wird diese
     Dokumentation entsprechend gea:ndert, um diesem Zustand gerecht
     zu werden.

     --------------------------------------------------------------

20.2. Das Z-Dateisystem (ZFS)

   Das Z-Dateisystem ist eine neue von Sun entwickelte Technologie,
   mit dem Konzept einer gepoolten Speichermethodik. Das bedeutet,
   dass Speicher nur verwendet wird, wenn dieser als Datenspeicher
   benutzt wird. ZFS wurde auch fu:r maximale Datenintegrita:t
   entwickelt und unterstu:tzt dabei mehrfache Kopien,
   Schnappschu:sse und Pru:fsummen fu:r Daten. Ein neues
   Datenreplikationsmodell, bekannt als RAID-Z, wurde ebenfalls
   hinzugefu:gt. Das RAID-Z-Modell ist a:hnlich zu RAID5, wurde aber
   mit dem Ziel entworfen, Datenverfa:lschung beim Schreiben zu
   verhindern.

     --------------------------------------------------------------

  20.2.1. ZFS Einstellungen

   Das ZFS-Teilsystem beno:tigt viele Systemressourcen, weshalb
   gewisse Einstellungen notwendig sind, um maximale Effizienz
   wa:hrend des ta:glichen Gebrauchs zu gewa:hrleisten. Da es sich um
   eine experimentelle Funktion in FreeBSD handelt, wird sich das in
   naher Zukunft a:ndern. Wie dem auch sei, zum gegenwa:rtigen
   Zeitpunkt wird die Anwendung der folgenden Schritte empfohlen.

     --------------------------------------------------------------

    20.2.1.1. Hauptspeicher

   Der verfu:gbare Hauptspeicher im System sollte mindestens
   1 Gigabyte betragen, jedoch werden 2 Gigabyte oder mehr empfohlen.
   In allen gezeigten Beispielen in diesem Abschnitt verwendet das
   System 1 Gigabyte Hauptspeicher mit mehreren anderen
   Einstellungen.

   Manche Nutzer hatten Erfolg bei der Verwendung von weniger als
   1 GB Hauptspeicher, aber mit dieser begrenzten Menge an RAM ist es
   sehr wahrscheinlich, dass FreeBSD eine Panic wegen erscho:pftem
   Hauptspeicher erleiden wird, wenn es hohen Belastungen ausgesetzt
   ist.

     --------------------------------------------------------------

    20.2.1.2. Kernelkonfiguration

   Es wird vorgeschlagen, nicht beno:tigte Treiber und Optionen aus
   der Kernelkonfigurationsdatei zu entfernen. Da die meisten Gera:te
   als Module verfu:gbar sind, ko:nnen diese einfach mittels der
   Datei /boot/loader.conf geladen werden.

   Nutzer der i386-Architektur sollten die folgende Option in ihrer
   Kernelkonfigurationsdatei hinzufu:gen, den Kernel neu erstellen
   und anschliessend das System neustarten:

 options         KVA_PAGES=512

   Diese Option wird den Adressraum des Kernels vergro:ssern, was es
   ermo:glicht, die Einstellung vm.kvm_size u:ber die momentan
   verha:ngte Grenze von 1 GB (2 GB fu:r PAE) zu erho:hen. Um den
   passenden Wert dieser Option zu ermitteln, teilen Sie den
   gewu:nschten Adressraum in Megabyte durch vier. In diesem Fall
   betra:gt er 512 fu:r 2 GB.

     --------------------------------------------------------------

    20.2.1.3. Einstellungen des Loaders

   Der kmem-Addressraum sollte auf allen FreeBSD-Architekturen
   erho:ht werden. Die folgende Option, die dem Testsystem mit einem
   Gigabyte Hauptspeicher der Datei /boot/loader.conf hinzugefu:gt
   und welches anschliessend neu gestartet wurde, war erfolgreich:

 vm.kmem_size="330M"
 vm.kmem_size_max="330M"
 vfs.zfs.arc_max="40M"
 vfs.zfs.vdev.cache.size="5M"

   Eine detailliertere Liste von Vorschla:gen zu ZFS-verwandten
   Einstellungen finden Sie unter
   http://wiki.freebsd.org/ZFSTuningGuide.

     --------------------------------------------------------------

  20.2.2. Verwenden von ZFS

   Es existiert ein Startmechanismus, der es FreeBSD erlaubt, ZFS als
   Pool wa:hrend des Systemstarts zu initialisieren. Um das zu tun,
   geben Sie die folgenden Befehle ein:

 # echo 'zfs_enable="YES"' >> /etc/rc.conf
 # /etc/rc.d/zfs start

   Fu:r den Rest dieses Dokuments wird angenommen, dass drei
   SCSI-Platten im System verfu:gbar sind und dass deren Gera:tenamen
   da0, da1 und da2 lauten. Benutzer von IDE-Hardware ko:nnen
   ad-Gera:te an Stelle von SCSI-Hardware einsetzen.

     --------------------------------------------------------------

    20.2.2.1. Pool mit nur einer Platte

   Um ein einfaches, nicht-redundantes ZFS auf einer einzelnen
   Festplatte zu erstellen, benutzen Sie das zpool-Kommando:

 # zpool create example /dev/da0

   Um den neuen Pool anzusehen, u:berpru:fen Sie die Ausgabe von df:

 # df
 Filesystem  1K-blocks    Used    Avail Capacity  Mounted on
 /dev/ad0s1a   2026030  235230  1628718    13%    /
 devfs               1       1        0   100%    /dev
 /dev/ad0s1d  54098308 1032846 48737598     2%    /usr
 example      17547136       0 17547136     0%    /example

   Diese Ausgabe zeigt deutlich, dass der example-Pool nicht nur
   erstellt, sondern auch gemountet wurde. Er ist genau wie andere
   Dateisysteme verfu:gbar, Dateien ko:nnen darin erstellt und von
   den Benutzern aufgelistet werden, wie im folgenden Beispiel
   gezeigt wird:

 # cd /example
 # ls
 # touch testfile
 # ls -al
 total 4
 drwxr-xr-x   2 root  wheel    3 Aug 29 23:15 .
 drwxr-xr-x  21 root  wheel  512 Aug 29 23:12 ..
 -rw-r--r--   1 root  wheel    0 Aug 29 23:15 testfile

   Leider verwendet dieser Pool keine der Vorteile der
   ZFS-Eigenschaften. Erstellen Sie ein Dateisystem auf diesem Pool
   und aktivieren Sie die Komprimierung darauf:

 # zfs create example/compressed
 # zfs set compression=gzip example/compressed

   Jetzt ist example/compressed ein von ZFS komprimiertes
   Dateisystem. Versuchen Sie, ein paar grosse Dateien in das
   Verzeichnis /example/compressed zu kopieren.

   Die Komprimierung kann jetzt deaktiviert werden mittels:

 # zfs set compression=off example/compressed

   Um das Dateisystem aus dem Verzeichnisbaum abzuha:ngen, geben Sie
   den folgenden Befehl ein und vergewissern Sie sich u:ber df vom
   Erfolg dieser Aktion:

 # zfs umount example/compressed
 # df
 Filesystem  1K-blocks    Used    Avail Capacity  Mounted on
 /dev/ad0s1a   2026030  235232  1628716    13%    /
 devfs               1       1        0   100%    /dev
 /dev/ad0s1d  54098308 1032864 48737580     2%    /usr
 example      17547008       0 17547008     0%    /example

   Mounten Sie das Dateisystem erneut, um es wieder verfu:gbar zu
   machen und besta:tigen Sie mit df:

 # zfs mount example/compressed
 # df
 Filesystem         1K-blocks    Used    Avail Capacity  Mounted on
 /dev/ad0s1a          2026030  235234  1628714    13%    /
 devfs                      1       1        0   100%    /dev
 /dev/ad0s1d         54098308 1032864 48737580     2%    /usr
 example             17547008       0 17547008     0%    /example
 example/compressed  17547008       0 17547008     0%    /example/compressed

   Der Pool und das Dateisystem ko:nnen genausogut u:ber die Ausgabe
   von mount u:berwacht werden:

 # mount
 /dev/ad0s1a on / (ufs, local)
 devfs on /dev (devfs, local)
 /dev/ad0s1d on /usr (ufs, local, soft-updates)
 example on /example (zfs, local)
 example/data on /example/data (zfs, local)
 example/compressed on /example/compressed (zfs, local)

   Wie zu beobachten ist, ko:nnen ZFS-Dateisysteme nach deren
   Erstellung genauso wie normale Dateisysteme verwendet werden,
   jedoch sind auch noch viele andere Eigenschaften verfu:gbar. Im
   folgenden Beispiel wird ein neues Dateisystem, data, erstellt.
   Wichtige Dateien sollen hier gespeichert werden, weshalb das
   Dateisystem angewiesen wird, jeweils zwei Kopien jedes Datenblocks
   zu unterhalten:

 # zfs create example/data
 # zfs set copies=2 example/data

   Es ist nun mo:glich, den Speicherplatzverbrauch der Daten mittels
   df erneut zu betrachten:

 # df
 Filesystem         1K-blocks    Used    Avail Capacity  Mounted on
 /dev/ad0s1a          2026030  235234  1628714    13%    /
 devfs                      1       1        0   100%    /dev
 /dev/ad0s1d         54098308 1032864 48737580     2%    /usr
 example             17547008       0 17547008     0%    /example
 example/compressed  17547008       0 17547008     0%    /example/compressed
 example/data        17547008       0 17547008     0%    /example/data

   Beachten Sie, dass jedem Dateisystem des Pools die gleiche Menge
   an Speicher zur Verfu:gung steht. Das ist der Grund fu:r die
   Verwendung von df in all diesen Beispielen, da es zeigt, dass das
   Dateisystem nur den Speicher belegt, den es auch beno:tigt und
   alles wird von dem gleichen Pool abgezogen. ZFS macht Konzepte wie
   Volumen und Partitionen u:berflu:ssig und erlaubt mehrere
   Dateisysteme auf demselben Pool. Zersto:ren Sie die Datensysteme
   und anschliessend den Pool, da sie nicht la:nger gebraucht werden:

 # zfs destroy example/compressed
 # zfs destroy example/data
 # zpool destroy example

   Festplatten werden mit der Zeit schlechter und fallen aus, eine
   unvermeidliche Tatsache. Wenn diese Platte ausfa:llt, sind die
   Daten verloren. Eine Mo:glichkeit, diesen Datenverlust beim
   Plattenausfall zu vermeiden, ist die Verwendung von RAID. ZFS
   unterstu:tzt diese Eigenschaft im Entwurf seiner Pools und wird im
   na:chsten Abschnitt behandelt.

     --------------------------------------------------------------

    20.2.2.2. ZFS RAID-Z

   Wie zuvor bereits erwa:hnt, wird in diesem Abschnitt angenommen,
   dass drei SCSI-Gera:te vorhanden sind (da0, da1 und da1 bzw. ad0
   und so weiter, falls IDE-Platten verwendet werden). Um einen
   RAID-Z Pool zu erstellen, geben Sie das folgende Kommando ein:

 # zpool create storage raidz da0 da1 da2

     Anmerkung: Sun empfiehlt, dass die Anzahl von Gera:ten in einer
     RAID-Z Konfiguration drei bis neun betra:gt. Falls Ihre
     Anforderungen unbedingt einen einzelnen Pool, bestehend aus zehn
     oder mehr Platten, erfordern, sollten Sie u:berlegen, diesen in
     kleinere RAID-Z Gruppen aufzuteilen. Sollten Sie nur zwei
     Platten zur Verfu:gung haben und trotzdem Redundanz beno:tigen,
     ziehen Sie den Einsatz der ZFS-Mirror (Spiegel) Fa:higkeiten in
     Betracht. Lesen Sie die zpool(8) Manualpage, um mehr daru:ber zu
     erfahren.

   Der storage-zPool sollte jetzt erstellt worden sein. Sie ko:nnen
   das u:berpru:fen, indem Sie die Befehle mount(8) und df(1) wie
   zuvor verwenden. Weitere Plattenspeicher ko:nnen an das Ende der
   oben stehenden Liste hinzugefu:gt werden. Erstellen Sie ein neues
   Dateisystem in dem Pool, home genannt, in dem spa:ter Dateien von
   Benutzern platziert werden:

 # zfs create storage/home

   Nun kann die Komprimierung aktiviert und zusa:tzliche Kopien der
   Benutzerverzeichnisse und der darin enthaltenen Dateien angelegt
   werden. Dies geschieht u:ber die gleichen Befehle wie bereits
   zuvor:

 # zfs set copies=2 storage/home
 # zfs set compression=gzip storage/home

   Um dieses Verzeichnis als neues Benutzerverzeichnis zu verwenden,
   kopieren Sie die Nutzerdaten dort hin und erstellen Sie die
   entsprechenden Symlinks:

 # cp -rp /home/* /storage/home
 # rm -rf /home /usr/home
 # ln -s /storage/home /home
 # ln -s /storage/home /usr/home

   Anwender sollten jetzt ihre Daten in dem neu angelegten
   /storage/home Dateisystem auffinden. Pru:fen Sie das, indem Sie
   einen neuen Benutzer hinzufu:gen und sich als dieser Benutzer am
   System anmelden.

   Versuchen Sie, einen Schnappschuss anzulegen, der spa:ter wieder
   zuru:ckgerollt werden kann:

 # zfs snapshot storage/home@08-30-08

   Beachten Sie, dass die Schnappschuss-Option nur auf echte
   Dateisysteme, jedoch nicht auf Verzeichnisse oder eine Datei
   angewendet werden kann. Das @-Zeichen dient als Begrenzer zwischen
   dem Dateisystem- oder Volumenamen. Wenn ein Benutzerverzeichnis
   zersto:rt wird, ko:nnen Sie es u:ber den folgenden Befehl wieder
   herstellen:

 # zfs rollback storage/home@08-30-08

   Um eine Liste von allen verfu:gbaren Schnappschu:ssen zu erhalten,
   starten Sie das ls-Kommando in Verzeichnis .zfs/snapshot des
   entsprechenden Dateisystems. Beispielsweise ko:nnen Sie den vorhin
   angelegten Schnappschuss mit dem folgenden Befehl auflisten:

 # ls /storage/home/.zfs/snapshot

   Es ist mo:glich ein Skript zu schreiben, dass monatliche
   Schnappschu:sse der Nutzerdaten anlegt. Allerdings werden die
   Schnappschu:sse mit der Zeit eine grosse Menge an Speicherplatz
   einnehmen. Den vorherigen Schnappschuss ko:nnen Sie u:ber das
   folgende Kommando lo:schen:

 # zfs destroy storage/home@08-30-08

   Nach all diesen Tests gibt es keinen Grund, das Verzeichnis
   /storage/home noch la:nger in seinem momentanen Zustand zu
   belassen. Ernennen Sie es zum echten /home-Dateisystem:

 # zfs set mountpoint=/home storage/home

   Die Eingabe der Befehle df und mount zeigt, dass das System das
   Dateisystem nun als das echte /home behandelt:

 # mount
 /dev/ad0s1a on / (ufs, local)
 devfs on /dev (devfs, local)
 /dev/ad0s1d on /usr (ufs, local, soft-updates)
 storage on /storage (zfs, local)
 storage/home on /home (zfs, local)
 # df
 Filesystem   1K-blocks    Used    Avail Capacity  Mounted on
 /dev/ad0s1a    2026030  235240  1628708    13%    /
 devfs                1       1        0   100%    /dev
 /dev/ad0s1d   54098308 1032826 48737618     2%    /usr
 storage       26320512       0 26320512     0%    /storage
 storage/home  26320512       0 26320512     0%    /home

   Damit ist die RAID-Z-Konfiguration abgeschlossen. Um u:ber den
   Status des Dateisystems mittels des na:chtlichen
   periodic(8)-Skripts auf dem Laufenden gehalten zu werden, geben
   Sie das folgende Kommando ein:

 # echo 'daily_status_zfs_enable="YES"' >> /etc/periodic.conf

     --------------------------------------------------------------

    20.2.2.3. Wiederherstellung von RAID-Z

   Jedes Software-RAID besitzt Verfahren, um dessen Zustand zu
   u:berwachen. ZFS ist da keine Ausnahme. Der Status von RAID-Z
   Gera:ten kann mittels des folgenden Kommandos betrachtet werden:

 # zpool status -x

   Wenn alle Pools gesund sind und alles normal ist, wird die
   folgende Nachricht zuru:ckgegeben:

 all pools are healthy

   Wenn ein Problem existiert (mo:glicherweise ist eine Platte
   ausgefallen), wird der Zustand des Pools a:hnlich dem Folgenden
   ausgegeben:

   pool: storage
  state: DEGRADED
 status: One or more devices has been taken offline by the administrator.
         Sufficient replicas exist for the pool to continue functioning in a
         degraded state.
 action: Online the device using 'zpool online' or replace the device with
         'zpool replace'.
  scrub: none requested
 config:

         NAME        STATE     READ WRITE CKSUM
         storage     DEGRADED     0     0     0
           raidz1    DEGRADED     0     0     0
             da0     ONLINE       0     0     0
             da1     OFFLINE      0     0     0
             da2     ONLINE       0     0     0     

 errors: No known data errors

   Das bedeutet, dass das Gera:t vom Systemadministrator abgeschaltet
   wurde. In diesem Fall trifft das zu. Um eine Platte abzuschalten,
   wurde das folgende Kommando eingegeben:

 # zpool offline storage da1

   Es ist jetzt mo:glich, da1 zu ersetzen, nachdem das System
   ausgeschaltet wurde. Wenn das System wieder la:uft, kann der
   folgende Befehl benutzt werden, um die Platte zu ersetzen:

 # zpool replace storage da1

   Von da an kann der Status erneut u:berpru:ft werden, jedoch dieses
   Mal ohne die Option -x, um die Zustandsinformation zu bekommen:

 # zpool status storage
  pool: storage
  state: ONLINE
  scrub: resilver completed with 0 errors on Sat Aug 30 19:44:11 2008
 config:

         NAME        STATE     READ WRITE CKSUM
         storage     ONLINE       0     0     0
           raidz1    ONLINE       0     0     0
             da0     ONLINE       0     0     0
             da1     ONLINE       0     0     0
             da2     ONLINE       0     0     0

 errors: No known data errors

   Wie in diesem Beispiel gezeigt, scheint alles wieder normal zu
   sein.

     --------------------------------------------------------------

    20.2.2.4. Datenu:berpru:fung

   Wie bereits erwa:hnt, verwendet ZFS Pru:fsummen, um die
   Integrita:t der gespeicherten Daten zu verifizieren. Die
   Pru:fsummen werden automatisch beim Erstellen des Dateisystem
   aktiviert und ko:nnen u:ber den folgenden Befehl deaktiviert
   werden:

 # zfs set checksum=off storage/home

   Das ist jedoch kein schlauer Einfall, da die Pru:fsummen nur ganz
   wenig Speicherplatz einnehmen und viel nu:tzlicher sind, wenn Sie
   aktiviert bleiben. Es scheint auch kein nennenswerter
   Ressourcenverbrauch mit deren Aktivierung verbunden zu sein. Wenn
   die Pru:fsummen aktiv sind, kann ZFS die Datenintegrita:t u:ber
   den Vergleich der Pru:fsummen gewa:hrleisten. Dieser Prozess wird
   als "reinigen" bezeichnet. Um die Datenintegrita:t des
   storage-Pools zu u:berpru:fen, geben Sie den folgenden Befehl ein:

 # zpool scrub storage

   Dieser Prozess kann einige Zeit in Anspruch nehmen, abha:ngig
   davon, wieviele Daten gespeichert sind. Es handelt sich dabei auch
   um eine I/O-intensive Aktion, weshalb auch jeweils nur eine dieser
   Operationen durchgefu:hrt werden darf. Nachdem die Reinigung
   abgeschlossen ist, wird der Status aktualisiert und kann u:ber
   eine Statusabfrage eingesehen werden:

 # zpool status storage
  pool: storage
  state: ONLINE
  scrub: scrub completed with 0 errors on Sat Aug 30 19:57:37 2008
 config:

         NAME        STATE     READ WRITE CKSUM
         storage     ONLINE       0     0     0
           raidz1    ONLINE       0     0     0
             da0     ONLINE       0     0     0
             da1     ONLINE       0     0     0
             da2     ONLINE       0     0     0     

 errors: No known data errors

   Die Zeit des Abschlusses der Aktion kann in diesem Beispiel direkt
   abgelesen werden. Die Pru:fsummen helfen dabei, sicherzustellen,
   dass die Datenintegrita:t u:ber einen langen Zeitraum hinaus
   erhalten bleibt.

   Es gibt viele weitere Optionen fu:r das Z-Dateisystem, lesen Sie
   dazu die Manualpage zfs(8) und zpool(8).

     --------------------------------------------------------------

                  Kapitel 21. Der Vinum Volume Manager

   Urspru:nglich geschrieben von Greg Lehey. U:bersetzt von Johann
   Kois und Kay Abendroth.

21.1. U:bersicht

   Egal, u:ber welche und wieviele Festplatten Ihr System auch
   verfu:gt, immer wieder werden Sie mit den folgenden Problemen
   konfrontiert:

     * Ihre Platten sind zu klein.

     * Sie sind zu langsam.

     * Ihre Platten sind unzuverla:ssig.

   Um derartige Probleme zu lo:sen, wurden verschiedene Methoden
   entwickelt. Eine Mo:glichkeit bietet der Einsatz von mehreren,
   manchmal auch redundant ausgelegten Platten. Zusa:tzlich zur
   Unterstu:tzung verschiedener Erweiterungskarten und Controller
   fu:r Hardware-RAID-Systeme entha:lt das FreeBSD-Basissystem auch
   den Vinum Volume Manager, einen Blockgera:tetreiber, der die
   Einrichtung virtueller Platten unterstu:tzt. Bei Vinum handelt es
   sich um einen sogenannten Volume Manager, einen virtuellen
   Plattentreiber, der obige drei Probleme lo:st. Vinum bietet Ihnen
   gro:ssere Flexibilita:t, Leistung und Zuverla:ssigkeit als die
   klassische Datenspeicherung auf einzelne Festplatten. Dazu
   unterstu:tzt Vinum RAID-0, RAID-1 und RAID-5 (sowohl einzeln als
   auch in Kombination).

   Dieses Kapitel bietet Ihnen einen U:berblick u:ber potentielle
   Probleme der klassischen Datenspeicherung auf Festplatten sowie
   eine Einfu:hrung in den Vinum Volume Manager.

     Anmerkung: Fu:r FreeBSD 5.X wurde Vinum u:berarbeitet und an die
     GEOM-Architektur (Kapitel 19) angepasst, wobei die
     urspru:nglichen Ideeen und Begriffe sowie die auf der Platte
     beno:tigten Metadaten beibehalten wurden. Die u:berarbeitete
     Version wird als gvinum (fu:r GEOM-Vinum) bezeichnet. Die
     folgenden Ausfu:hrungen verwenden den Begriff Vinum als
     abstrakten Namen, unabha:ngig davon, welche Variante
     implementiert wurde. Sa:mtliche Befehlsaufrufe erfolgen u:ber
     gvinum, welches nun das Kernelmodul geom_vinum.ko (statt
     vinum.ko) beno:tigt. Analog finden sich alle Gera:tedateien nun
     unter /dev/gvinum statt unter /dev/vinum. Seit FreeBSD 6.x ist
     die alte Vinum-Implementierung nicht mehr im Basissystem
     enthalten.

     --------------------------------------------------------------

21.2. Ihre Platten sind zu klein.

   Festplatten werden zwar immer gro:sser, parallel dazu steigt aber
   auch die Gro:sse der zu speichernden Daten an. Es kann also nach
   wie vor vorkommen, dass Sie ein Dateisystem beno:tigen, welches
   die Gro:sse Ihrer Platten u:bersteigt. Zwar ist dieses Problem
   nicht mehr so akut wie noch vor einigen Jahren, aber es existiert
   nach wie vor. Einige Systeme lo:sen dieses Problem durch die
   Erzeugung eines abstrakten Gera:tes, das seine Daten auf mehreren
   Platten speichert.

     --------------------------------------------------------------

21.3. Mo:gliche Engpa:sse

   Moderne Systeme mu:ssen ha:ufig parallel auf Daten zugreifen.
   Grosse FTP- und HTTP-Server ko:nnen beispielsweise Tausende von
   parallelen Sitzungen verwalten und haben mehrere
   100 MBit/s-Verbindungen zur Aussenwelt. Diese Bandbreite
   u:berschreitet die durchschnittliche Transferrate der meisten
   Platten bei weitem.

   Aktuelle Plattenlaufwerke ko:nnen Daten mit bis zu 70 MB/s
   sequentiell u:bertragen, wobei dieser Wert in einer Umgebung, in
   der viele unabha:ngige Prozesse auf eine gemeinsame Platte
   zugreifen, die jeweils nur einen Bruchteil dieses Wertes
   erreichen, von geringer Aussagekraft ist. In solchen Fa:llen ist
   es interessanter, das Problem vom Blickwinkel des
   Platten-Subsystems aus zu betrachten. Der wichtigste Parameter ist
   dabei die Last, die eine U:bertragung auf dem Subsystem
   verursacht. Unter Last versteht man dabei die Zeit, in der die
   Platte mit der U:bertragung der Daten bescha:ftigt ist.

   Bei jedem Plattenzugriff muss das Laufwerk zuerst die Ko:pfe
   positionieren und auf den ersten Sektor warten, bis er den
   Lesekopf passiert. Dann wird die U:bertragung gestartet. Diese
   Aktionen ko:nnen als atomar betrachtet werden, da es keinen Sinn
   macht, diese zu unterbrechen.

   Nehmen wir beispielsweise an, dass wir 10 kB transferieren wollen.
   Aktuelle hochperformante Platten ko:nnen die Ko:pfe im
   Durchschnitt in 3,5 ms positionieren und drehen sich mit maximal
   15.000 U/min. Daher betra:gt die durchschnittliche Rotationslatenz
   (eine halbe Umdrehung) 2 ms. Bei einer Transferrate von 70 MB/s
   dauert die eigentliche U:bertragung von 10 kB etwa 150 ms, fast
   nichts im Vergleich zur Positionierungszeit. In einem solchen Fall
   betra:gt die effektive Transferrate nur etwas mehr als 1 MB/s. Die
   Tranferrate ist also stark von der Gro:sse der zu tranferierenden
   Daten abha:ngig.

   Die traditionelle und offensichtliche Lo:sung zur Beseitigung
   dieses Flaschenhalses sind "mehr Spindeln". Statt einer einzigen
   grossen Platte werden mehrere kleinere Platten mit demselben
   Gesamtspeicherplatz benutzt. Jede Platte ist in der Lage,
   unabha:ngig zu positionieren und zu transferieren, weshalb der
   effektive Durchsatz um einen Faktor nahe der Zahl der eingesetzten
   Platten steigt.

   Obwohl die Platten Daten parallel transferieren ko:nnen, ist es
   nicht mo:glich, Anfragen gleichma:ssig auf die einzelnen Platten
   zu verteilen. Daher wird die Last auf bestimmten Laufwerken immer
   ho:her sein als auf anderen Laufwerken. Daraus ergibt sich auch,
   dass die exakte Verbesserung des Datendurchsatzes immer kleiner
   ist als die Anzahl der involvierten Platten.

   Die gleichma:ssige Verteilung der Last auf die einzelnen Platten
   ist stark abha:ngig von der Art, wie die Daten auf die Laufwerke
   aufgeteilt werden. In den folgenden Ausfu:hrungen wird eine Platte
   als eine grosse Anzahl von Datensektoren dargestellt, die durch
   Zahlen adressierbar sind (a:hnlich den Seiten eines Buches). Die
   naheliegendste Methode ist es, die virtuelle Platte (wieder analog
   den Seiten eines Buches) in Gruppen aufeinanderfolgender Sektoren
   zu unterteilen, die jeweils der Gro:sse der einzelnen physischen
   Platten entsprechen. Diese Vorgehensweise wird als Konkatenation
   bezeichnet und hat den Vorteil, dass die Platten keine spezielle
   Gro:ssenbeziehung haben mu:ssen. Sie funktioniert gut, solange der
   Zugriff gleichma:ssig auf den Adressraum der virtuellen Platte
   verteilt wird. Wenn sich der Zugriff allerdings auf einen kleinen
   Bereich konzentriert, ist die Verbesserung vernachla:ssigbar
   klein. Abbildung 21-1 verdeutlicht die Verteilung der
   Speichereinheiten in einer konkatenierten Anordnung.

   Abbildung 21-1. Konkatenierte Anordnung

   Ein alternatives Mapping unterteilt den Adressraum in kleinere,
   gleich grosse Komponenten und speichert diese sequentiell auf
   verschiedenen Gera:ten. Zum Beispiel werden die ersten 256
   Sektoren auf der ersten Platte, die na:chsten 256 Sektoren auf der
   zweiten Platte gespeichert und so weiter. Nachdem die letzte
   Platte beschrieben wurde, wird dieser Vorgang solange wiederholt,
   bis die Platten voll sind. Dieses Mapping nennt man Striping oder
   RAID-0. [13]

   Striping erfordert einen etwas gro:sseren Aufwand, um die Daten zu
   lokalisieren, und kann zusa:tzliche E/A-Last verursachen, wenn
   eine U:bertragung u:ber mehrere Platten verteilt ist. Auf der
   anderen Seite erlaubt es aber eine gleichma:ssigere Verteilung der
   Last auf die einzelnen Platten. Abbildung 21-2 veranschaulicht die
   Abfolge, in der Speichereinheiten in einer striped-Anordnung
   alloziert werden.

   Abbildung 21-2. Striped-Anordnung

     --------------------------------------------------------------

21.4. Datenintegrita:t

   Das dritte Problem, welches aktuelle Platten haben, ist ihre
   Unzuverla:ssigkeit. Obwohl sich die Zuverla:ssigkeit von
   Festplatten in den letzten Jahren stark verbessert hat, handelt es
   sich bei ihnen nach wie vor um die Komponente eines Servers, die
   am ehesten ausfa:llt. Fa:llt eine Festplatte aus, ko:nnen die
   Folgen katastrophal sein: Es kann Tage dauern, bis eine Platte
   ersetzt und alle Daten wiederhergestellt sind.

   Die traditionelle Art, dieses Problem anzugehen, war es, Daten zu
   spiegeln, also zwei Kopien der Daten auf getrennten Platten zu
   verwahren. Diese Technik wird auch als RAID Level 1 oder RAID-1
   bezeichnet. Jeder Schreibzugriff findet auf beiden Datentra:gern
   statt. Ein Lesezugriff kann daher von beiden Laufwerken erfolgen,
   sodass beim Ausfall eines Laufwerks die Daten immer noch auf dem
   anderen Laufwerk verfu:gbar sind.

   Spiegeln verursacht allerdings zwei Probleme:

     * Es verursacht ho:here Kosten, da doppelt so viel
       Plattenspeicher wie bei einer nicht-redundanten Lo:sung
       beno:tigt wird.

     * Die Gesamtleistung des Systems sinkt, da Schreibzugriffe auf
       beiden Laufwerken ausgefu:hrt werden mu:ssen, daher wird im
       Vergleich zu einem nicht gespiegelten Datentra:ger die
       doppelte Bandbreite beno:tigt. Lesezugriffe hingegen sind
       davon nicht betroffen, es sieht sogar so aus, als wu:rden
       diese schneller ausgefu:hrt.

   Eine alternative Lo:sung ist Parity, das in den RAID-Leveln 2, 3,
   4 und 5 implementiert ist. Von diesen ist RAID-5 der
   interessanteste. So wie in VINUM implementiert, ist es eine
   Variante einer gestripten Anordung, welche einen Block jedes
   Stripes als Parita:tsblock fu:r einen der anderen Blo:cke
   verwendet. Wie in RAID-5 vorgeschrieben, ist die Position dieses
   Parita:tsblockes auf jedem Stripe unterschiedlich. Die Nummern in
   den Datenblo:cken geben die relativen Blocknummern an.

   Abbildung 21-3. RAID-5 Aufbau

   Im Vergleich zur Spiegelung hat RAID-5 den Vorteil, dass es
   signifikant weniger Speicherplatz beno:tigt. Lesezugriffe sind
   vergleichbar schnell mit jenen bei einem Striped-Aufbau, aber
   Schreibzugriffe sind deutlich langsamer (etwa 25% der
   Lesegeschwindigkeit). Wenn eine Platte ausfa:llt, kann das Array
   in einem "schwachen" Modus weiterarbeiten: Ein Lesezugriff auf
   eine der u:brigen erreichbaren Platten wird normal ausgefu:hrt,
   ein Lesezugriff auf die ausgefallene Platte muss aber zuna:chst
   mit dem zugeho:rigen Block aller verbleibender Platten
   ru:ckberechnet werden.

     --------------------------------------------------------------

21.5. Vinum-Objekte

   Um die in den vorigen Abschnitte besprochenen Probleme zu lo:sen,
   verwendet Vinum eine vierstufige Objekthierarchie:

     * Das auffa:lligste Objekt ist die virtuelle Platte, die Volume
       genannt wird. Volumes haben im Wesentlichen die gleichen
       Eigenschaften wie ein UNIX-Laufwerk, obwohl es ein paar kleine
       Unterschiede gibt. So existieren fu:r Volumes beispielsweise
       keine Gro:ssenbeschra:nkungen.

     * Volumes bestehen aus einem oder mehreren Plexus, von denen
       jeder den gesamten Adressraum eines Datentra:gers
       repra:sentiert. Diese Hierarchieebene ist fu:r die beno:tigte
       Redundanz der Daten erforderlich. Stellen Sie sich die Plexus
       als eigensta:ndige Platten in einem gespiegelten Array vor,
       von denen jede die gleichen Daten entha:lt.

     * Da Vinum im UNIX-Plattenspeicher-Framework arbeitet, wa:re es
       mo:glich, als Grundbaustein fu:r Multiplatten-Plexus
       UNIX-Partitionen zu verwenden. In der Praxis ist dieser Ansatz
       aber zu unflexibel, da UNIX-Platten nur eine begrenzte Anzahl
       von Partitionen haben ko:nnen. Daher unterteilt Vinum
       stattdessen eine einzige UNIX-Partition (die Platte) in
       zusammenha:ngende Bereiche, die als Subdisks bezeichnet werden
       und als Grundbausteine fu:r einen Plexus benutzt werden.

     * Subdisks befinden sich auf Vinum-Platten, eigentlich
       UNIX-Partitionen. Vinum-Platten ko:nnen eine beliebige Anzahl
       von Subdisks haben und den gesamten Speicher der Platte mit
       Ausnahme eines kleinen Bereiches am Anfang der Platte (welcher
       zur Speicherung von Konfigurations- und Statusinformationen
       verwenden wird) verwenden.

   Der folgende Abschnitt beschreibt, wie diese Objekte die von Vinum
   beno:tigten Funktionen zur Verfu:gung stellen.

     --------------------------------------------------------------

  21.5.1. U:berlegungungen zur Gro:sse eines Volumes

   Plexus ko:nnen mehrere Subdisks beinhalten, die u:ber alle Platten
   der Vinum-Konfiguration verteilt sind. Daraus folgt, dass die
   Gro:sse einer Platte nicht die Gro:sse eines Plexus (und damit
   eines Volumes) limitiert.

     --------------------------------------------------------------

  21.5.2. Redundante Datenspeicherung

   Vinum implementiert die Datenspiegelung, indem es ein Volume auf
   mehrere Plexus verteilt. Jeder Plexus ist dabei die
   Repra:sentation der Daten eines Volumes. Ein Volume kann aus bis
   zu acht Plexus bestehen.

   Obwohl ein Plexus die gesamten Daten eines Volumes repra:sentiert,
   ist es mo:glich, dass Teile der Repra:sentation physisch fehlen,
   entweder aufgrund des Designs (etwa durch nicht definierte
   Subdisks fu:r Teile des Plexus) oder durch Zufall (als ein
   Ergebnis eines Plattenfehlers). Solange wenigstens ein Plexus die
   gesamten Daten fu:r den kompletten Adressbereich des Volumes zur
   Verfu:gung stellen kann, ist das Volume voll funktionsfa:hig.

     --------------------------------------------------------------

  21.5.3. U:berlegungen zur Leistung

   Sowohl Konkatenation als auch Striping werden von Vinum auf der
   Plexus-Ebene realisiert:

     * Ein konkatenierter Plexus benutzt abwechselnd den Adressraum
       jeder Subdisk.

     * Ein gestripter Plexus striped die Daten u:ber jede Subdisk.
       Die Subdisks mu:ssen alle die gleiche Gro:sse haben, und es
       muss mindestens zwei Subdisks in Reihenfolge geben, um ihn von
       einem konkatenierten Plexus unterscheiden zu ko:nnen.

     --------------------------------------------------------------

  21.5.4. Wie ist ein Plexus aufgebaut?

   Die Version von Vinum, welche von FreeBSD-8.0 bereitgestellt wird,
   implementiert zwei Arten von Plexus:

     * Konkatenierte Plexus sind die flexibelsten: Sie ko:nnen aus
       einer beliebigen Anzahl von Subdisks unterschiedlicher Gro:sse
       bestehen. Der Plexus kann erweitert werden, indem man
       zusa:tzliche Subdisks hinzufu:gt. Sie brauchen weniger
       CPU-Zeit als gestripte Plexus, obwohl der Unterschied des
       CPU-Overheads nicht messbar ist. Auf der anderen Seite sind
       sie aber sehr anfa:llig fu:r das Entstehen von "hot spots",
       wobei eine Platte sehr aktiv ist, andere hingegen nahezu
       ungenutzt sind.

     * Der gro:sste Vorteil eines gestripten Plexus (RAID-0) ist die
       Verringerung von "hot spots". Dies wird durch die Auswahl
       eines Stripes optimaler Gro:sse (etwa 256 kB) erreicht,
       wodurch die Last gleichma:ssig auf die Platten verteilt werden
       kann. Nachteile dieser Vorgehensweise sind ein (geringfu:gig)
       komplexerer Code sowie einige Restriktionen fu:r die Subdisks:
       Diese mu:ssen alle die gleiche Gro:sse haben, und das
       Erweitern eines Plexus durch das Hinzufu:gen neuer Subdisks
       ist so kompliziert, dass es von Vinum derzeit nicht
       unterstu:tzt wird. Vinum fordert noch eine weitere triviale
       Beschra:nkung: Ein gestripter Plexus muss aus mindestens zwei
       Subdisks bestehen, da er ansonsten nicht von einem
       konkatenierten Plexus unterscheidbar ist.

   Tabelle 21-1 fasst die Vor- und Nachteile jedes Plexus-Aufbaus
   zusammen.

   Tabelle 21-1. Vinum-Plexus - Aufbau

                                       Mu:ssen                           
                 Minimum      Kann       die   
    Plexus-Typ     an       Subdisks   gleiche        Applikation
                Subdisks? hinzufu:gen? Gro:sse 
                                        haben  
                                               Grosser Datenspeicher mit 
   konkateniert 1         ja           nein    maximaler                 
                                               Platzierungsflexibilita:t 
                                               und moderater Leistung    
                                               Hohe Leistung in          
   gestriped    2         nein         ja      Kombination mit           
                                               gleichzeitigem Zugriff    

     --------------------------------------------------------------

21.6. Einige Beispiele

   Vinum verwaltet eine Konfigurationsdatenbank fu:r alle einem
   individuellen System bekannten Objekte. Zu Beginn erzeugt ein
   Benutzer mit gvinum(8) eine Konfigurationsdatenbank aus einer oder
   mehreren Konfigurationsdateien. Vinum speichert danach eine Kopie
   der Konfigurationsdatenbank in jedem von ihm kontrollierten Slice
   (von Vinum als Device bezeichnet). Da die Datenbank bei jedem
   Statuswechsel aktualisiert wird, kann nach einem Neustart der
   Status jedes Vinum-Objekts exakt wiederhergestellt werden.

     --------------------------------------------------------------

  21.6.1. Die Konfigurationsdatei

   Die Konfigurationsdatei beschreibt individuelle Vinum-Objekte. Die
   Beschreibung eines einfachen Volumes ko:nnte beispielsweise so
   aussehen:

     drive a device /dev/da3h
     volume myvol
       plex org concat
         sd length 512m drive a

   Diese Datei beschreibt vier Vinum-Objekte:

     * Die drive-Zeile beschreibt eine Plattenpartition (drive) sowie
       ihre Position in Bezug auf die darunter liegende Hardware. Die
       Partition hat dabei den symbolischen Namen a. Diese Trennung
       von symbolischen Namen und Gera:tenamen erlaubt es, die
       Position von Platten zu a:ndern, ohne dass es zu Problemen
       kommt.

     * Die volume-Zeile beschreibt ein Volume. Dafu:r wird nur ein
       einziges Attribut, der Name des Volumes, beno:tigt. In unserem
       Fall hat das Volume den Namen myvol.

     * Die plex-Zeile definiert einen Plexus. Auch hier wird nur ein
       Parameter, und zwar die Art des Aufbau, beno:tigt (in unserem
       Fall concat). Es wird kein Name beno:tigt, das System
       generiert automatisch einen Namen aus dem Volume-Namen und dem
       Suffix .px wobei x die Nummer des Plexus innerhalb des Volumes
       angibt. So wird dieser Plexus den Namen myvol.p0 erhalten.

     * Die sd-Zeile beschreibt eine Subdisk. Um eine Subdisk
       einzurichten, mu:ssen Sie zumindest den Namen der Platte, auf
       der Sie die Subdisk anlegen wollen, sowie die Gro:sse der
       Subdisk angeben. Analog zur Definition eines Plexus wird auch
       hier kein Name beno:tigt: Das System weist automatisch Namen
       zu, die aus dem Namen des Plexus und dem Suffix .sx gebildet
       werden, wobei x die Nummer der Subdisk innerhalb des Plexus
       ist. Folglich gibt Vinum dieser Subdisk den Namen myvol.p0.s0.

   Nach dem Verarbeiten dieser Datei erzeugt gvinum(8) die folgende
   Ausgabe:

       # gvinum -> create config1
       Configuration summary
       Drives:         1 (4 configured)
       Volumes:        1 (4 configured)
       Plexes:         1 (8 configured)
       Subdisks:       1 (16 configured)

         D a                     State: up       Device /dev/da3h        Avail: 2061/2573 MB (80%)

         V myvol                 State: up       Plexes:       1 Size:        512 MB

         P myvol.p0            C State: up       Subdisks:     1 Size:        512 MB

         S myvol.p0.s0           State: up       PO:        0  B Size:        512 MB

   Diese Ausgabe entspricht dem verku:rzten Ausgabeformat von
   gvinum(8) und wird in Abbildung 21-4 grafisch dargestellt.

   Abbildung 21-4. Ein einfaches Vinum-Volume

   Dieses und die folgenden Beispiele zeigen jeweils ein Volume,
   welches die Plexus entha:lt, die wiederum die Subdisk enthalten.
   In diesem trivialen Beispiel entha:lt das Volume nur einen Plexus,
   der wiederum nur aus einer Subdisk besteht.

   Eine solche Konfiguration ha:tte allerdings keinen Vorteil
   gegenu:ber einer konventionellen Plattenpartion. Das Volume
   entha:lt nur einen einzigen Plexus, daher gibt es keine redundante
   Datenspeicherung. Da der Plexus ausserdem nur eine einzige Subdisk
   entha:lt, unterscheidet sich auch die Speicherzuweisung nicht von
   der einer konventionellen Plattenpartition. Die folgenden
   Abschnitte beschreiben daher verschiedene interessantere
   Konfigurationen.

     --------------------------------------------------------------

  21.6.2. Verbesserte Ausfallsicherheit durch Spiegelung

   Die Ausfallsicherheit eines Volumes kann durch Spiegelung der
   Daten erho:ht werden. Beim Anlegen eines gespiegelten Volumes ist
   es wichtig, die Subdisks jedes Plexus auf verschiedene Platten zu
   verteilen, damit ein Plattenausfall nicht beide Plexus unbrauchbar
   macht. Die folgende Konfiguration spiegelt ein Volume:

         drive b device /dev/da4h
         volume mirror
       plex org concat
         sd length 512m drive a
           plex org concat
             sd length 512m drive b

   Bei diesem Beispiel war es nicht no:tig, noch einmal eine Platte a
   zu spezifizieren, da Vinum die U:bersicht u:ber alle Objekte und
   seine Konfigurationsdatenbank beha:lt. Nach dem Abarbeiten dieser
   Definition sieht die Konfiguration wie folgt aus:

         Drives:         2 (4 configured)
         Volumes:        2 (4 configured)
         Plexes:         3 (8 configured)
         Subdisks:       3 (16 configured)

         D a                     State: up       Device /dev/da3h        Avail: 1549/2573 MB (60%)
         D b                     State: up       Device /dev/da4h        Avail: 2061/2573 MB (80%)

     V myvol                 State: up       Plexes:       1 Size:        512 MB
     V mirror                State: up       Plexes:       2 Size:        512 MB

     P myvol.p0            C State: up       Subdisks:     1 Size:        512 MB
     P mirror.p0           C State: up       Subdisks:     1 Size:        512 MB
     P mirror.p1           C State: initializing     Subdisks:     1 Size:        512 MB

     S myvol.p0.s0           State: up       PO:        0  B Size:        512 MB
     S mirror.p0.s0          State: up       PO:        0  B Size:        512 MB
     S mirror.p1.s0          State: empty    PO:        0  B Size:        512 MB

   Abbildung 21-5 stellt diese Struktur grafisch dar.

   Abbildung 21-5. Ein gespiegeltes Vinum Volume

   In diesem Beispiel entha:lt jeder Plexus die vollen 512 MB des
   Adressraumes. Wie im vorangegangenen Beispiel entha:lt jeder
   Plexus nur eine Subdisk.

     --------------------------------------------------------------

  21.6.3. Die Leistung optimieren

   Das gespiegelte Volume des letzten Beispieles ist resistenter
   gegenu:ber Fehlern als ein ungespiegeltes Volume, seine Leistung
   ist hingegen schlechter, da jeder Schreibzugriff auf das Volume
   einen Schreibzugriff auf beide Platten erfordert und damit mehr
   der insgesamt verfu:gbaren Datentransferrate beno:tigt. Steht also
   die optimale Leistung im Vordergrund, muss anders vorgegangen
   werden: Statt alle Daten zu spiegeln, werden die Daten u:ber so
   viele Platten wie mo:glich gestriped. Die folgende Konfiguration
   zeigt ein Volume mit einem u:ber vier Platten hinwegreichenden
   Plexus:

         drive c device /dev/da5h
         drive d device /dev/da6h
         volume stripe
         plex org striped 512k
           sd length 128m drive a
           sd length 128m drive b
           sd length 128m drive c
           sd length 128m drive d

   Wie zuvor ist es nicht no:tig, die Platten zu definieren, die
   Vinum schon bekannt sind. Nach dem Abarbeiten dieser Definition
   sieht die Konfiguration wie folgt aus:

         Drives:         4 (4 configured)
         Volumes:        3 (4 configured)
         Plexes:         4 (8 configured)
         Subdisks:       7 (16 configured)

     D a                     State: up       Device /dev/da3h        Avail: 1421/2573 MB (55%)
     D b                     State: up       Device /dev/da4h        Avail: 1933/2573 MB (75%)
     D c                     State: up       Device /dev/da5h        Avail: 2445/2573 MB (95%)
     D d                     State: up       Device /dev/da6h        Avail: 2445/2573 MB (95%)

     V myvol                 State: up       Plexes:       1 Size:        512 MB
     V mirror                State: up       Plexes:       2 Size:        512 MB
     V striped               State: up       Plexes:       1 Size:        512 MB

     P myvol.p0            C State: up       Subdisks:     1 Size:        512 MB
     P mirror.p0           C State: up       Subdisks:     1 Size:        512 MB
     P mirror.p1           C State: initializing     Subdisks:     1 Size:        512 MB
     P striped.p1            State: up       Subdisks:     1 Size:        512 MB

     S myvol.p0.s0           State: up       PO:        0  B Size:        512 MB
     S mirror.p0.s0          State: up       PO:        0  B Size:        512 MB
     S mirror.p1.s0          State: empty    PO:        0  B Size:        512 MB
     S striped.p0.s0         State: up       PO:        0  B Size:        128 MB
     S striped.p0.s1         State: up       PO:      512 kB Size:        128 MB
     S striped.p0.s2         State: up       PO:     1024 kB Size:        128 MB
     S striped.p0.s3         State: up       PO:     1536 kB Size:        128 MB

   Abbildung 21-6. Ein Striped Vinum Volume

   Dieses Volume wird in Abbildung 21-6 dargestellt. Die Schattierung
   der Stripes zeigt die Position innerhalb des Plexus-Adressraumes
   an. Die hellsten Stripes kommen zuerst, die dunkelsten zuletzt.

     --------------------------------------------------------------

  21.6.4. Ausfallsicherheit und Leistung

   Mit entsprechender Hardware ist es mo:glich, Volumes zu bauen,
   welche gegenu:ber Standard-UNIX-Partitionen beides, na:mlich
   erho:hte Ausfallsicherheit und erho:hte Leistung, aufweisen
   ko:nnen. Eine typische Konfigurationsdatei ko:nnte etwa so
   aussehen:

         volume raid10
       plex org striped 512k
         sd length 102480k drive a
         sd length 102480k drive b
         sd length 102480k drive c
         sd length 102480k drive d
         sd length 102480k drive e
       plex org striped 512k
         sd length 102480k drive c
         sd length 102480k drive d
         sd length 102480k drive e
         sd length 102480k drive a
         sd length 102480k drive b

   Die Subdisks des zweiten Plexus sind gegenu:ber denen des ersten
   Plexus um zwei Platten verschoben. Dadurch wird sichergestellt,
   dass Schreibzugriffe nicht auf den gleichen Subdisks auftreten,
   auch wenn eine U:bertragung u:ber zwei Platten geht.

   Abbildung 21-7 veranschaulicht die Struktur dieses Volumes.

   Abbildung 21-7. Ein gespiegeltes, Striped Vinum Volume

     --------------------------------------------------------------

21.7. Objektbenennung

   Wie oben beschrieben, weist Vinum den Plexus und Subdisks
   Standardnamen zu, wenngleich diese u:berschrieben werden ko:nnen.
   Das U:berschreiben dieser Standardnamen wird allerdings nicht
   empfohlen. Erfahrungen mit dem VERITAS Volume Manager (der eine
   willku:rliche Benennung von Objekten erlaubt) haben gezeigt, dass
   diese Flexibilita:t keinen entscheidenden Vorteil bringt und zudem
   Verwirrung stiften kann.

   Namen du:rfen zwar alle nichtleeren Zeichen enthalten, es ist aber
   sinnvoll, nur Buchstaben, Ziffern und den Unterstrich zu
   verwenden. Die Namen von Volumes, Plexus und Subdisks ko:nnen bis
   zu 64 Zeichen lang sein, die Namen von Platten du:rfen hingegen
   nur bis zu 32 Zeichen lang sein.

   Vinum-Objekten werden Gera:tedateien in der /dev/gvinum-Hierarchie
   zugewiesen. Die weiter oben dargestellte Konfiguration wu:rde
   Vinum dazu veranlassen, die folgenden Gera:tedateien zu erstellen:

     * Anmerkung: Dies trifft nur fu:r die veraltete
         Vinum-Implementierung zu.

       Die Kontrollgera:te /dev/vinum/control und
       /dev/vinum/controld, welche von gvinum(8) beziehungsweise dem
       Vinum-Daemon verwendet werden.

     * Gera:te-Eintra:ge fu:r jedes Volume. Dieses sind die
       Hauptgera:te, die von Vinum benutzt werden. Somit wu:rde die
       Konfiguration von oben folgende Gera:te beinhalten:
       /dev/gvinum/myvol, /dev/gvinum/mirror, /dev/gvinum/striped,
       /dev/gvinum/raid5 sowie /dev/gvinum/raid10.

     * Anmerkung: Dies trifft nur fu:r die veraltete
         Vinum-Implementierung zu.

       Ein Verzeichnis /dev/vinum/drive mit Eintra:gen fu:r jede
       Platte. Diese Eintra:ge sind tatsa:chlich symbolische Links
       auf die korrespondierenden Plattendateien.

     * Alle Volumes bekommen direkte Eintra:ge unter /dev/gvinum/.

     * Die Verzeichnisse /dev/gvinum/plex und /dev/gvinum/sd, die
       Gera:tedateien fu:r jeden Plexus sowie jede Subdisk enthalten.

   Stellen Sie sich folgende Konfigurationsdatei vor:

         drive drive1 device /dev/sd1h
         drive drive2 device /dev/sd2h
         drive drive3 device /dev/sd3h
         drive drive4 device /dev/sd4h
     volume s64 setupstate
       plex org striped 64k
         sd length 100m drive drive1
         sd length 100m drive drive2
         sd length 100m drive drive3
         sd length 100m drive drive4

   Nach Abarbeitung dieser Datei erstellt gvinum(8) die folgende
   Struktur unter /dev/gvinum:

         drwxr-xr-x  2 root  wheel       512 Apr 13 16:46 plex
         crwxr-xr--  1 root  wheel   91,   2 Apr 13 16:46 s64
         drwxr-xr-x  2 root  wheel       512 Apr 13 16:46 sd

     /dev/vinum/plex:
     total 0
     crwxr-xr--  1 root  wheel   25, 0x10000002 Apr 13 16:46 s64.p0

     /dev/vinum/sd:
     total 0
     crwxr-xr--  1 root  wheel   91, 0x20000002 Apr 13 16:46 s64.p0.s0
     crwxr-xr--  1 root  wheel   91, 0x20100002 Apr 13 16:46 s64.p0.s1
     crwxr-xr--  1 root  wheel   91, 0x20200002 Apr 13 16:46 s64.p0.s2
     crwxr-xr--  1 root  wheel   91, 0x20300002 Apr 13 16:46 s64.p0.s3

   Es wird empfohlen, fu:r Plexus und Subdisks keine eigenen Namen zu
   vergeben. Dies gilt aber nicht fu:r Vinum-Platten. Durch die
   Benennung von Vinum-Platten wird es erst mo:glich, eine Platte an
   einen anderen Ort zu verschieben und sie trotzdem noch automatisch
   erkennen zu lassen. Plattennamen ko:nnen bis zu 32 Zeichen lang
   sein.

     --------------------------------------------------------------

  21.7.1. Dateisysteme erstellen

   Volumes erscheinen (mit einer Ausnahme) dem System nicht anders
   als Platten. Anders als UNIX-Platten partitioniert Vinum seine
   Volumes nicht, weshalb diese auch keine Partitionstabellen haben.
   Dies wiederum hat Modifikationen an einigen Platten-Tools,
   insbesondere newfs(8), no:tig gemacht, welche bis dahin den
   letzten Buchstaben eines Vinum-Volume-Namen als
   Partitionsbezeichner identifiziert haben. Zum Beispiel ko:nnte
   eine Platte einen Namen wie /dev/ad0a oder /dev/da2h haben. Diese
   Namen bedeuten, dass es sich um die erste Partition (a) der ersten
   (0) IDE-Platte (ad) und respektive die achte Partition (h) der
   dritten (2) SCSI-Platte (da) handelt. Im Vergleich dazu ko:nnte
   ein Vinum-Volume beispielsweise /dev/gvinum/concat heissen, ein
   Name, der in keiner Beziehung mit einem Partitionsnamen steht.

   Normalerweise interpretiert newfs(8) den Namen einer Platte und
   beschwert sich, wenn es ihn nicht versteht:

 # newfs /dev/gvinum/concat
 newfs: /dev/gvinum/concat: can't figure out file system partition

   Um nun ein Dateisystem auf diesem Volume anzulegen, benutzen Sie
   newfs(8):

 # newfs /dev/gvinum/concat

     Anmerkung: Bei FreeBSD-Versionen vor 5.0 beno:tigt newfs(8) ein
     zusa:tzliches -v Flag und das alte Gera:tenamen-Schema:

 # newfs -v /dev/vinum/concat

     --------------------------------------------------------------

21.8. Vinum konfigurieren

   Der GENERIC-Kernel entha:t kein Vinum. Es ist zwar mo:glich, einen
   speziellen Kernel zu bauen, der Vinum beinhaltet, empfohlen wird
   aber, Vinum als ein Kernelmodul (u:ber kld) zu laden. Dazu mu:ssen
   Sie nicht einmal kldload(8) benutzen, da beim Start von gvinum(8)
   automatisch u:berpru:ft wird, ob das Modul bereits geladen wurde.
   Falls das Modul noch nicht geladen wurde, wird es daraufhin
   geladen.

     --------------------------------------------------------------

  21.8.1. Inbetriebnahme

   Vinum speichert seine Konfigurationsinformationen auf den
   Platten-Slices im Wesentlichen genauso ab wie in den
   Konfigurationsdateien. Beim Lesen der Konfigurationsdatenbank
   erkennt Vinum eine Anzahl von Schlu:sselwo:rtern, die in den
   Konfigurationsdateien nicht erlaubt sind. Zum Beispiel ko:nnte
   eine Platten-Konfiguration den folgenden Text enthalten:

 volume myvol state up
 volume bigraid state down
 plex name myvol.p0 state up org concat vol myvol
 plex name myvol.p1 state up org concat vol myvol
 plex name myvol.p2 state init org striped 512b vol myvol
 plex name bigraid.p0 state initializing org raid5 512b vol bigraid
 sd name myvol.p0.s0 drive a plex myvol.p0 state up len 1048576b driveoffset 265b plexoffset 0b
 sd name myvol.p0.s1 drive b plex myvol.p0 state up len 1048576b driveoffset 265b plexoffset 1048576b
 sd name myvol.p1.s0 drive c plex myvol.p1 state up len 1048576b driveoffset 265b plexoffset 0b
 sd name myvol.p1.s1 drive d plex myvol.p1 state up len 1048576b driveoffset 265b plexoffset 1048576b
 sd name myvol.p2.s0 drive a plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 0b
 sd name myvol.p2.s1 drive b plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 524288b
 sd name myvol.p2.s2 drive c plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 1048576b
 sd name myvol.p2.s3 drive d plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 1572864b
 sd name bigraid.p0.s0 drive a plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 0b
 sd name bigraid.p0.s1 drive b plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 4194304b
 sd name bigraid.p0.s2 drive c plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 8388608b
 sd name bigraid.p0.s3 drive d plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 12582912b
 sd name bigraid.p0.s4 drive e plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 16777216b

   Die offensichtlichen Unterschiede sind hier die Anwesenheit von
   Informationen u:ber explizite Speicherorte und Benennungen (beides
   ist zwar erlaubt, aber es wird dem Benutzer davon abgeraten, es zu
   benutzen) und Informationen u:ber die Zusta:nde (welche fu:r den
   Benutzer nicht zur Verfu:gung stehen). Vinum speichert keine
   Informationen u:ber Platten in den Konfigurationsinformationen, es
   findet die Platten durch Scannen nach Vinum-Markierungen auf den
   eingerichteten Laufwerken. Dies ermo:glicht es, Vinum-Platten auch
   dann noch korrekt zu identifizieren, wenn sie schon andere
   UNIX-Platten-IDs zugewiesen bekommen haben.

     --------------------------------------------------------------

    21.8.1.1. Automatische Inbetriebnahme

     Anmerkung: Diese Information bezieht sich nur auf die veraltete
     Vinum-Implementierung. Gvinum unterstu:tzt eine automatische
     Inbetriebnahme immer, wenn das Kernelmodul u:ber loader.conf(5)
     geladen ist. Um das Gvinum Modul beim Hochfahren des Systems zu
     laden, fu:gen Sie die Zeile geom_vinum_load="YES" in
     /boot/loader.conf ein.

   Um Vinum automatisch zu starten, wenn Sie Ihr System starten,
   mu:ssen Sie sicherstellen, dass Ihre /etc/rc.conf (die in
   rc.conf(5) ausfu:hrlich beschrieben wird) folgende Zeile entha:lt:

 start_vinum="YES"               # set to YES to start vinum

   Durch diesen Eintrag wird das Vinum-kld geladen, das alle Objekte
   startet, die in der Konfiguration erwa:hnt werden. All dies wird
   vor dem Mounten der Dateisysteme getan, so dass ein automatisches
   fsck(8) und Mounten der Dateisysteme auf Vinum-Volumes mo:glich
   ist.

   Beim starten von Vinum durch den Befehl vinum start liest Vinum
   die Konfigurationsdatenbank von einer der Vinum-Platten. Unter
   normalen Umsta:nden entha:lt jede Platte eine identische Kopie der
   Konfigurationsdatenbank, so dass es keine Rolle spielt, von
   welcher der Platten diese eingelesen wird. Nach einem Plattencrash
   muss Vinum allerdings zuna:chst feststellen, welche der Platten
   zuletzt aktualisiert wurde und dann die Konfiguration von dieser
   Platte lesen. Danach werden (falls no:tig) die Konfigurationen der
   "alten" Platten aktualisiert.

     --------------------------------------------------------------

21.9. Vinum fu:r das Root-Dateisystem benutzen

   Auf einem System, das mit Hilfe von Vinum vollgespiegelte
   Dateisysteme hat, ist es wu:nschenswert, auch das Root-Dateisystem
   zu spiegeln. Solch eine Konfiguration ist allerdings weniger
   trivial als das Spiegeln eines gewo:hnlichen Dateisystems, weil:

     * Das Root-Dateisystem in einer sehr fru:hen Phase des
       Bootvorgangs verfu:gbar sein muss, und damit auch die
       Vinum-Infrastruktur.

     * Das Volume, welches das Root-Dateisystem entha:lt, auch den
       Bootstrap und den Kernel entha:lt, die wiederum nur mit den
       systemeigenen Tools (zum Beispiel dem BIOS bei
       handelsu:blichen PCs) gelesen werden ko:nnen und meist nicht
       dazu gebracht werden ko:nnen, Vinum zu verstehen.

   Im folgenden Abschnitt wird der Begriff "Root-Volume" benutzt, um
   das Vinum-Volume zu beschreiben, welches das Root-Dateisystem
   entha:lt. Es ist eine gute Idee, fu:r dieses Volume den Namen
   "root" zu benutzen, aber es ist in keiner Weise technisch no:tig
   (Das folgende Beispiel geht allerdings davon aus, dass dies der
   Fall ist.).

     --------------------------------------------------------------

  21.9.1. Vinum fu:r das Root-Dateisystem rechtzeitig starten

   Damit dies gelingt, mu:ssen Sie folgende Aufgaben erledigen:

     * Vinum muss zum Zeitpunkt des Bootvorganges im Kernel zur
       Verfu:gung stehen. Deswegen ist die Methode zum Start von
       Vinum, die in Abschnitt 21.8.1.1 beschrieben wird, fu:r diese
       Aufgabe nicht geeignet. Also muss auch der
       start_vinum-Parameter eigentlich nicht gesetzt werden, wenn
       man das folgende Setup einrichtet. Die erste Mo:glichkeit
       wa:re es, Vinum statisch in den Kernel zu kompilieren, so dass
       es sta:ndig verfu:gbar ist, was aber in der Regel nicht
       erwu:nscht ist. Ebenso gibt es die Mo:glichkeit /boot/loader
       (Abschnitt 12.3.3) das Vinum-Kernelmodul fru:h genug laden zu
       lassen (und zwar noch bevor der Kernel gestartet wird). Dies
       kann bewerkstelligt werden, indem die Zeile

 geom_vinum_load="YES"

       in die Datei /boot/loader.conf eingetragen wird.

     * Anmerkung: Fu:r Gvinum ist das oben beschriebene Prozedere
         alles, was Sie tun mu:ssen, da der gesamte Startvorgang
         automatisch erledigt wird, sobald das Kernelmodul geladen
         wurde. Der folgende Text dokumentiert das Verhalten des
         urspru:nglichen Vinum-Systems.

       Vinum muss fru:h initialisiert werden, weil es das Volume fu:r
       das Root-Dateisystem bereitstellen muss. In der Voreinstellung
       sucht das Vinum-Kernelmodul nicht nach Laufwerken, die
       vielleicht Vinum-Volumeninformationen enthalten ko:nnten, bis
       der Administrator (oder eines der Startskripte) den Befehl
       vinum start ausfu:hrt.

         Anmerkung: Der folgende Absatz gibt einen U:berblick u:ber
         die no:tigen Schritte fu:r FreeBSD.

       Durch Aufnahme der Zeile

 vinum.autostart="YES"

       in /boot/loader.confwird Vinum beim Starten des Kernels dazu
       veranlasst, automatisch alle Platten nach Vinuminformationen
       zu scannen.

       Beachten Sie, dass es nicht no:tig ist, den Kernel davon zu
       unterrichten, wo er nach dem Root-Dateisystem suchen soll.
       /boot/loader holt sich den Namen des Root-Gera:tes aus
       /etc/fstab und u:bergibt diesen dann dem Kernel. Sobald es
       Zeit wird, das Root-Dateisystem zu mounten, findet der Kernel
       anhand des Gera:tenamens heraus, welchen Treiber er fragen
       muss, um den Namen in die interne Gera:te-ID zu u:bersetzen
       (major/minor-Nummer).

     --------------------------------------------------------------

  21.9.2. Ein Vinum-basiertes Root-Volume dem Bootstrap verfu:gbar
  machen

   Da der aktuelle FreeBSD-Bootstrap nur 7,5 KB Code entha:lt und
   schon ohne Vinum die Aufgabe hat, bestimmte Dateien (wie
   /boot/loader) von einem UFS-Dateisystem zu lesen, ist es schier
   unmo:glich, ihm auch noch die Interna von Vinum beizubringen,
   damit er die Vinum-Konfigurationsdaten auslesen und die Elemente
   eines Boot-Volumes selbst herausfinden ko:nnte. Daher sind ein
   paar Tricks no:tig, um dem Bootstrap-Code die Illusion einer
   Standard-"a"-Partition mit einem Root-Dateisystem vorzugaukeln.

   Damit dies u:berhaupt mo:glich wird, mu:ssen die folgenden
   Bedingungen fu:r das Root-Dateisystem erfu:llt sein:

     * Das Root-Volume darf weder gestriped noch RAID-5 sein.

     * Das Root-Volume darf nicht mehr als eine konkatenierte Subdisk
       pro Plexus enthalten.

   Beachten Sie, dass es mo:glich und wu:nschenswert ist, mehrere
   Plexus zu haben, von denen jeder eine Kopie des Root-Dateisystems
   entha:lt. Der Bootstrap-Prozess wird hingegen nur einen dieser
   Plexus benutzen, um den Bootstrap und alle Dateien zu finden, bis
   der Kernel letztendlich das Root-Dateisystem selbst laden wird.
   Jede einzelne Subdisk innerhalb dieser Plexus wird dann ihre
   eigene Illusion der Partition "a" brauchen, damit das
   entsprechende Gera:t bootbar wird. Es ist nicht unbedingt
   notwendig, dass sich jede dieser gefa:lschten "a"-Partitionen auf
   seinem Gera:t an einem Ort befindet, der um den selben Wert
   verschoben ist wie auf den anderen Gera:ten, die Plexus des
   Root-Dateisystems enthalten. Um Unklarheiten zu verhindern, ist es
   jedoch eine gute Idee, die Vinum-Volumes so zu erstellen, dass die
   gespiegelten Gera:te symmetrisch sind.

   Damit diese "a"-Partitionen eingerichtet werden ko:nnen, muss fu:r
   alle Gera:te, die Teil des Root-Dateisystems sind, folgendes getan
   werden:

    1. Der Ort (Verschiebung vom Beginn des Gera:tes) und die Gro:sse
       der Subdisk, die Teil des Root-Volumes ist, muss untersucht
       werden:

 # gvinum l -rv root

       Beachten Sie, dass Vinum-Verschiebungen und -Gro:ssen in Bytes
       gemessen werden. Sie mu:ssen deshalb durch 512 geteilt werden,
       um die Blockanzahl zu erhalten, wie sie das bsdlabel-Kommando
       verwendet.

    2. Fu:hren Sie den Befehl

 # bsdlabel -e devname

       fu:r jedes Gera:t, dass am Root-Volume beteiligt ist, aus.
       devname muss entweder der Name der Platte (wie da0), im Falle
       einer Platte ohne Slice-Tabelle oder der Name des Slices (wie
       ad0s1) sein.

       Wenn es schon eine "a"-Partition auf dem Gera:t (in der Regel
       wahrscheinlich ein Pra:-Vinum-Root-Dateisystem) gibt, sollte
       diese umbenannt werden, damit sie weiterhin verfu:gbar bleibt
       (nur fu:r den Fall). Sie wird aber nicht la:nger benutzt, um
       das System zu starten. Beachten Sie aber, dass aktive
       Partitionen (wie ein gemountetes Root-Dateisystem) nicht
       umbenannt werden ko:nnen, sodass Sie entweder von einem
       "Fixit"-Medium booten mu:ssen, oder aber mittels eines
       zweistufigen Prozesses (sofern Sie in einer gespiegelten
       Umgebung arbeiten) zuerst die Platte a:ndern, von der gerade
       nicht gebootet wurde.

       Nun muss die Verschiebung der Vinum-Partition (sofern
       vorhanden) auf diesem Gera:t mit der Veschiebung der
       entsprechenden Root-Volume-Subdisk addiert werden. Das
       Resultat wird der "offset"-Wert fu:r die neue "a"-Partition.
       Der "size"-Wert fu:r diese Partition kann entsprechend der
       Berechnung ermittelt werden. "fstype" sollte 4.2BSD sein. Die
       "fsize"-, "bsize"-, und "cpg"- Werte sollten entsprechend dem
       eigentlichen Dateisystem gewa:hlt werden, obwohl sie in diesem
       Kontext ziemlich unwichtig sind.

       Auf diese Art und Weise wird eine neue Partition "a"
       etabliert, die die Vinum-Partition auf diesem Gera:t
       u:berschneidet. Beachte Sie, dass das bsdlabel-Kommando diese
       U:berschneidung nur erlaubt, wenn die Partition richtig mit
       dem "vinum"-fstype markiert ist.

    3. Das ist alles. Auf jedem Gera:t befindet sich nun eine
       gefa:lschte "a"-Partition, die eine Kopie des Root-Volumes
       entha:lt. Es wird dringend empfohlen, das Resultat dieser
       Konfiguration zu u:berpru:fen:

 # fsck -n /dev/devnamea

   Denken Sie stets daran, dass alle Dateien, die
   Kontrollinformationen enthalten, nun relativ zum Root-Dateisystem
   innerhalb des Vinum-Volumes sein mu:ssen. Denn ein neu
   eingerichtetes Vinum-Root-Dateisystem ist mo:glicherweise
   inkompatibel zum gerade aktiven Root-Dateisystem. Deshalb mu:ssen
   insbesondere die Dateien /etc/fstab und /boot/loader.conf
   u:berpru:ft werden.

   Beim na:chsten Systemstart sollte der Bootstrap die ada:quaten
   Kontrollinformationen des neuen Vinum-basierten Root-Dateisystems
   automatisch herausfinden und entsprechend handeln. Am Ende des
   Kernel-Initialisierungsprozesses (nachdem alle Gera:te angezeigt
   wurden) erhalten Sie bei einer erfolgreichen Konfiguration eine
   Nachricht a:hnlich der folgenden:

 Mounting root from ufs:/dev/gvinum/root

     --------------------------------------------------------------

  21.9.3. Beispiel eines Vinum-basierten Root-Setups

   Nachdem das Vinum-Root-Volume eingerichtet wurde, ko:nnte die
   Ausgabe von gvinum l -rv root bespielsweise so aussehen:

 ...
 Subdisk root.p0.s0:
                 Size:        125829120 bytes (120 MB)
                 State: up
                 Plex root.p0 at offset 0 (0  B)
                 Drive disk0 (/dev/da0h) at offset 135680 (132 kB)

 Subdisk root.p1.s0:
                 Size:        125829120 bytes (120 MB)
                 State: up
                 Plex root.p1 at offset 0 (0  B)
                 Drive disk1 (/dev/da1h) at offset 135680 (132 kB)
        

   Wichtig ist hier insbesondere ist der Wert 135680 fu:r die
   Verschiebung (relativ zur Partition /dev/da0h). Das entspricht
   beim Einsatz von bsdlabel 265 512-Byte-Plattenblo:cken. Dieses
   Root-Volume ist ebenso 245760 512-Byte-Blo:cke gross. /dev/da1h
   entha:lt die zweite Kopie dieses Root-Volumes und ist symmetrisch
   aufgebaut.

   Das Bsdlabel fu:r diese Gera:te ko:nnte so aussehen:

 ...
 8 partitions:
 #        size   offset    fstype   [fsize bsize bps/cpg]
   a:   245760      281    4.2BSD     2048 16384     0   # (Cyl.    0*- 15*)
   c: 71771688        0    unused        0     0         # (Cyl.    0 - 4467*)
   h: 71771672       16     vinum                        # (Cyl.    0*- 4467*)
        

   Wie man leicht feststellen kann, entspricht der Parameter "size"
   der gefa:lschten "a"-Partition dem ausgewiesenen Wert von oben,
   wa:hrend der Parameter "offset" gleich der Summe der Verschiebung
   innerhalb der Vinum-Partition "h" und der Verschiebung innerhalb
   des Gera:ts (oder Slice) ist. Dies ist ein typischer Aufbau, der
   no:tig ist, um die in Abschnitt 21.9.4.3 beschriebenen Probleme zu
   vermeiden. Die gesamte Partition "a" befindet sich in "h", die
   alle Vinum-Daten fu:r dieses Gera:t entha:lt.

   Beachten Sie, dass in dem oben beschriebenen Beispiel das gesamte
   Gera:t Vinum gewidmet ist und keine Pra:-Vinum-Partition
   zuru:ckgelassen wurde, da es sich im Beispiel um eine neu
   eingerichtete Platte handelt, die nur fu:r die Vinum-Konfiguration
   bestimmt war.

     --------------------------------------------------------------

  21.9.4. Fehlerbehebung

   Der folgende Abschnitt beschreibt einige bekannte Probleme und
   Fallstricke bei der Vinum-Konfiguration sowie deren Behebung.

     --------------------------------------------------------------

    21.9.4.1. Der System-Bootstrap la:dt zwar, das System startet aber
    nicht.

   Wenn aus irgendeinem Grund das System nicht mit dem Booten
   fortfa:hrt, kann man den Bootstrap wa:hrend der
   10-Sekunden-Warnung durch Dru:cken der Leertaste unterbrechen. Die
   loader-Variablen (wie vinum.autostart) ko:nnen mittels des
   show-Kommandos untersucht, und mit set oder unset gea:ndert
   werden.

   Wenn das einzige Problem das Fehlen des Vinum-Kernelmoduls in der
   Liste der automatisch zu ladenden Module ist, hilft ein einfaches
   load geom_vinum.

   Danach ko:nnen Sie den Bootvorgang mit boot -as fortsetzen. Die
   Optionen -as fordern den Kernel auf, nach dem zu mountenden
   Root-Dateisystem zu fragen (-a), und den Bootvorgang im
   Single-User-Modus (-s) zu beenden, in dem das Root-Dateisystem
   schon schreibgeschu:tzt gemountet ist. Auf diese Weise wird keine
   Dateninkonsistenz zwischen den Plexus riskiert, auch wenn nur ein
   Plexus eines Multi-Plexus-Volumes gemountet wurde.

   Beim Prompt, das nach einem Root-Dateisystem fragt, kann jedes
   Gera:t angegeben werden, dass ein gu:ltiges Root-Dateisystem hat.
   Wenn /etc/fstab richtig konfiguriert wurde, sollte die Vorgabe
   etwas wie ufs:/dev/gvinum/root sein. Eine typische Alternative
   wu:rde etwas wie ufs:da0d sein, welches eine hypothetische
   Partition sein ko:nnte, die ein Pre-Vinum-Root-Dateisystem
   entha:lt. Vorsicht sollte walten, wenn eine der alias
   "a"-Partitionen hier eingegeben wird, die eigentlich Referenzen
   auf die Subdisks des Vinum-Root-Dateisystems sind, da so nur ein
   Stu:ck eines gespiegelten Root-Gera:tes gemountet werden wu:rde.
   Wenn das Dateisystem spa:ter zum Lesen und Schreiben gemountet
   werden soll, ist es no:tig, die anderen Plexus des
   Vinum-Root-Volumes zu entfernen, weil diese Plexus andernfalls
   inkonsistente Daten enthalten wu:rden.

     --------------------------------------------------------------

    21.9.4.2. Nur der prima:re Bootstrap la:dt

   Wenn das Laden von /boot/loader fehlschla:gt, aber der prima:re
   Bootstrap dennoch la:dt (sichtbar an dem einzelnen Strich in der
   linken Spalte des Bildschirms gleich nachdem der Bootprozess
   startet), kann man versuchen, den prima:ren Bootstrap an diesem
   Punkt durch Benutzen der Leertaste zu unterbrechen. Dies wird den
   Bootstrap in der zweiten Phase stoppen (siehe dazu auch Abschnitt
   12.3.2). Hier kann nun der Versuch unternommen werden, von einer
   anderen Partition zu booten, wie beispielsweise dem vorhergehenden
   Root-Dateisystem, das von "a" verschoben wurde.

     --------------------------------------------------------------

    21.9.4.3. Nichts bootet, der Bootstrap ha:ngt sich auf

   Diese Situation wird vorkommen, wenn der Bootstrap durch die
   Vinum-Installation zersto:rt worden ist. Unglu:cklicherweise
   la:sst Vinum am Anfang seiner Partition nur 4 KB frei und schreibt
   dahinter seine Kopfinformationen. Allerdings beno:tigen
   Stufe-Eins- und -Zwei-Bootstraps plus dem dazwischen eingebetteten
   bsdlabel momentan 8 KB. Demzufolge wird die Vinum-Installation,
   wenn die Vinum-Partition mit der Verschiebung 0 (innerhalb eines
   Slice oder einer Platte, die zum Start bestimmt waren)
   eingerichtet wurde, den Bootstrap zersto:ren.

   Analog wird eine anschliessende Reinstallation eines Bootstrap
   (zum Beispiel durch Booten eines "Fixit"-Mediums) mit bsdlabel -B,
   wie in Abschnitt 12.3.2 beschrieben, den Vinum-Kopf zersto:ren und
   Vinum wird seine Platte(n) nicht mehr finden ko:nnen. Obwohl keine
   eigentlichen Vinum-Konfigurationsdaten oder Daten in den
   Vinum-Volumes zersto:rt werden und es mo:glich wa:re, alle Daten
   wiederherzustellen, indem die exakt gleichen
   Vinum-Konfigurationsdaten noch einmal eingegeben werden, bleibt
   die Situation schwer zu bereinigen, da es no:tig ist, die gesamte
   Vinum-Partition um mindestens 4 KB nach hinten zu verschieben,
   damit Bootstrap und Vinum-Kopf nicht mehr kollidieren.

     --------------------------------------------------------------

                      Kapitel 22. Virtualisierung

   Beigetragen von Murray Stokely. U:bersetzt von Oliver Peter.

22.1. U:bersicht

   Virtualisierungssoftware erlaubt es, mehrere Betriebssysteme
   gleichzeitig auf dem selben Computer laufen zu lassen. Derartige
   Softwaresysteme fu:r PCs setzen in der Regel ein
   Host-Betriebssystem voraus, auf dem die Virtualisierungssoftware
   la:uft und unterstu:tzen eine nahezu beliebige Anzahl von
   Gast-Betriebssystemen.

   Nachdem Sie dieses Kapitel gelesen haben,

     * Kennen Sie den Unterscheid zwischen einem Host-Betriebssystem
       und einem Gast-Betriebssystem.

     * Ko:nnen Sie FreeBSD auf einem Intel-basierenden Apple
       Macintosh installieren.

     * Wissen Sie, wie man FreeBSD unter Linux mit Xen(TM)
       installiert.

     * Ko:nnen Sie FreeBSD unter Microsoft Windows und Virtual PC
       installieren.

     * Wissen Sie, wie man ein virtualisiertes FreeBSD-System fu:r
       optimale Leistung konfiguriert.

   Bevor Sie dieses Kapitel lesen, sollten Sie

     * Die Grundlagen von UNIX und FreeBSD verstehen (Kapitel 3).

     * FreeBSD installieren ko:nnen (Kapitel 2).

     * Wissen, wie man seine Netzwerkverbindung konfiguriert (Kapitel
       31).

     * Software Dritter installieren ko:nnen (Kapitel 4).

     --------------------------------------------------------------

22.2. FreeBSD als Gast-Betriebssystem

  22.2.1. Parallels unter MacOS X

   Parallels Desktop fu:r Mac(R) ist ein kommerzielles
   Softwareprodukt, welches fu:r Intel-basierende Apple Mac-Computer
   mit Mac OS X 10.4.6 oder ho:her verfu:gbar ist. FreeBSD wird von
   diesem Softwarepaket als Gast-Betriebssystem vollsta:ndig
   unterstu:tzt. Nach der Installation von Parallels auf Mac OS X
   konfigurieren Sie als erstes eine virtuelle Maschine, in der Sie
   danach das gewu:nschte Gast-Betriebssystem (in unserem Fall
   FreeBSD) installieren.

     --------------------------------------------------------------

    22.2.1.1. Installation von FreeBSD unter Parallels/Mac OS(R) X

   Der erste Schritt bei der Installation von FreeBSD unter
   Parallels/Mac OS X ist es, eine virtuelle Maschine zu
   konfigurieren, in der Sie FreeBSD installieren ko:nnen. Dazu
   wa:hlen Sie bei der Frage nach dem Guest OS Type FreeBSD aus:

   Danach legen Sie geeignete Gro:ssen fu:r Festplatten- und
   Arbeitsspeicher fu:r die zu erstellende FreeBSD-Instanz fest. 4 GB
   Plattenplatz sowie 512 MB RAM sind in der Regel fu:r die Arbeit
   unter Parallels ausreichend:

   Wa:hlen Sie den gewu:nschten Netzwerktyp aus und konfigurieren Sie
   Ihre Netzwerkverbindung:

   Speichern Sie Ihre Eingaben, um die Konfiguration abzuschliessen:

   Nachdem Sie die virtuelle Maschine erstellt haben, installieren
   Sie im na:chsten Schritt FreeBSD in dieser virtuellen Maschine.
   Dazu verwenden Sie am besten eine offizielle FreeBSD-CDROM oder
   Sie laden von einem offiziellen FTP-Server ein ISO-Abbild auf
   Ihren Mac herunter. Danach klicken Sie auf das Laufwerksymbol in
   der rechten unteren Ecke des Parallels-Fensters, um ihr virtuelles
   Laufwerk mit dem ISO-Abbild oder mit dem physikalischen
   CD-ROM-Laufwerk ihres Computers zu verknu:pfen.

   Nachdem Sie diese Verknu:pfung hergestellt haben, starten sie die
   virtuelle FreeBSD-Maschine neu, indem Sie wie gewohnt auf das
   Symbol "Neustarten" klicken. Parallels startet nun ein
   Spezial-BIOS, das zuerst pru:ft, ob Sie eine CD-ROM eingelegt
   haben (genau so, wie es auch ein echtes BIOS machen wu:rde).

   In unserem Fall findet das BIOS ein FreeBSD-Installationsmedium
   und beginnt daher eine normale Installation mit sysinstall (wie in
   Kapitel 2 des Handbuchs beschreiben).

   Nachdem die Installation abgeschlossen ist, ko:nnen Sie die
   virtuelle Maschine starten.

     --------------------------------------------------------------

    22.2.1.2. FreeBSD fu:r den Einsatz unter Parallels/Mac OS X
    optimieren

   Nachdem Sie FreeBSD erfolgreich unter Mac OS X mit Parallels
   installiert haben, sollten Sie ihr virtuelles FreeBSD-System fu:r
   virtualisierte Operationen optimieren:

    1. Setzen der Bootloader-Variablen

       Die wichtigste A:nderung ist es, die Variable kern.hz zu
       verkleinern, um so die CPU-Auslastung in der
       Parallels-Umgebung zu verringern.

 kern.hz=100

       Ohne diese Einstellung kann ein unbescha:ftigtes FreeBSD unter
       Parallels trotzdem rund 15 Prozent der CPU-Leistung eines
       Single Prozessor iMac(R)'s verbrauchen. Nach dieser A:nderung
       reduziert sich dieser Wert auf etwa 5 Prozent.

    2. Erstellen einer neuen Kernelkonfigurationsdatei

       Sie ko:nnen alle SCSI-, FireWire- und USB-Laufwerks-Treiber
       entfernen. Parallels stellt einen virtuellen Netzwerkadapter
       bereit, der den ed(4)-Treiber verwendet. Daher ko:nnen alle
       Netzwerkgera:te bis auf ed(4) und miibus(4) aus dem Kernel
       entfernt werden.

    3. Netzwerkbetrieb einrichten

       Die einfachste Netzwerkkonfiguration ist der Einsatz von DHCP,
       um Ihre virtuelle Maschine mit dem gleichen lokalen Netzwerk,
       in dem sich der Host-Mac befindet, zu verbinden. Dazu fu:gen
       Sie die Zeile ifconfig_ed0="DHCP" in die Datei /etc/rc.conf
       ein. Weitere Informationen zur Konfiguration des Netzwerks
       unter FreeBSD finden Sie im Kapitel 31 des Handbuchs.

     --------------------------------------------------------------

  22.2.2. FreeBSD mit Xen(TM) unter Linux einsetzen

   Beigetragen von Fukang Chen (Loader).

   Der Xen Hypervisor ist ein als Open Source verfu:gbares
   Para-Virtualisierungsprodukt, das von der kommerziellen Firma
   XenSource unterstu:tzt wird. Gast-Betriebssysteme werden dabei als
   domU-Domains, Host-Betriebssysteme hingegen als dom0 bezeichnet.
   Um eine virtuelle FreeBSD-Instanz unter Linux auszufu:hren,
   mu:ssen Sie zuerst Xen fu:r Linux dom0 installieren. Als
   Host-Betriebssystem wird im folgenden Beispiel die Distribution
   Slackware verwendet.

     --------------------------------------------------------------

    22.2.2.1. Xen 3 unter Linux dom0

    1. Xen 3.0 von XenSource herunterladen

       Laden Sie die Datei xen-3.0.4_1-src.tgz von
       http://www.xensource.com/ herunter.

    2. Den Tarball entpacken

 # cd xen-3.0.4_1-src
 # KERNELS="linux-2.6-xen0 linux-2.6-xenU" make world
 # make install

         Anmerkung: Den dom0-Kernel neu kompilieren:

 # cd xen-3.0.4_1-src/linux-2.6.16.33-xen0
 # make menuconfig
 # make
 # make install

         A:ltere Versionen von Xen mu:ssen gegebenenfalls mit make
         ARCH=xen menuconfig na:her spezifiziert werden.

    3. Einen Menu:-Eintrag in die menu.lst von Grub aufnehmen

       Editieren Sie /boot/grub/menu.lst und fu:gen Sie die folgenden
       Zeilen hinzu:

 title Xen-3.0.4
 root (hd0,0)
 kernel /boot/xen-3.0.4-1.gz dom0_mem=262144
 module /boot/vmlinuz-2.6.16.33-xen0 root=/dev/hda1 ro

    4. Starten Sie Ihren Computer neu, um Xen zu aktivieren

       Anschliessend editieren Sie /etc/xen/xend-config.sxp und
       fu:gen die folgenden Zeilen hinzu:

 (network-script 'network-bridge netdev=eth0')

       Danach kann Xen gestartet werden:

 # /etc/init.d/xend start
 # /etc/init.d/xendomains start

       Damit ist dom0 gestartet:

 # xm list
 Name                                      ID   Mem VCPUs      State   Time(s)
 Domain-0                                   0   256     1     r-----  54452.9

     --------------------------------------------------------------

    22.2.2.2. FreeBSD 7-CURRENT als domU verwenden

   Laden Sie den FreeBSD-dumU-Kernel fu:r Xen 3.0 sowie das
   Festplattenabbild von http://www.fsmware.com/ herunter:

     * kernel-current

     * mdroot-7.0.bz2

     * xmexample1.bsd

   Kopieren Sie xmexample1.bsd nach /etc/xen/ und passen Sie die
   Eintra:ge fu:r Kernel und Festplattenabbild an Ihre Konfiguration
   an. Ihre Konfiguration sollte a:hnlich dem folgenden Beispiel
   aussehen:

 kernel = "/opt/kernel-current"
 memory = 256
 name = "freebsd"
 vif = [ '' ]
 disk = [ 'file:/opt/mdroot-7.0,hda1,w' ]
 #on_crash    = 'preserve'
 extra = "boot_verbose"
 extra += ",boot_single"
 extra += ",kern.hz=100"
 extra += ",vfs.root.mountfrom=ufs:/dev/xbd769a"

   Die Datei mdroot-7.0.bz2 sollte unkomprimiert sein.

   Als Na:chstes muss der __xen_guest-Abschnitt in kernel-current
   vera:ndert und das von Xen 3.0.3 beno:tigte VIRT_BASE hinzugefu:gt
   werden:

 # objcopy kernel-current -R __xen_guest
 # perl -e 'print "LOADER=generic,GUEST_OS=freebsd,GUEST_VER=7.0,XEN_VER=xen-3.0,BSD_SYMTAB,VIRT_BASE=0xC0000000\x00"' > tmp
 # objcopy kernel-current --add-section __xen_guest=tmp

 # objdump -j __xen_guest -s kernel-current

 kernel-current:     file format elf32-i386

 Contents of section __xen_guest:
  0000 4c4f4144 45523d67 656e6572 69632c47  LOADER=generic,G
  0010 55455354 5f4f533d 66726565 6273642c  UEST_OS=freebsd,
  0020 47554553 545f5645 523d372e 302c5845  GUEST_VER=7.0,XE
  0030 4e5f5645 523d7865 6e2d332e 302c4253  N_VER=xen-3.0,BS
  0040 445f5359 4d544142 2c564952 545f4241  D_SYMTAB,VIRT_BA
  0050 53453d30 78433030 30303030 3000      SE=0xC0000000.

   Nun kann die domU erstellt und gestartet werden:

 # xm create /etc/xen/xmexample1.bsd -c
 Using config file "/etc/xen/xmexample1.bsd".
 Started domain freebsd
 WARNING: loader(8) metadata is missing!
 Copyright (c) 1992-2006 The FreeBSD Project.
 Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
 The Regents of the University of California. All rights reserved.
 FreeBSD 7.0-CURRENT #113: Wed Jan  4 06:25:43 UTC 2006
     kmacy@freebsd7.gateway.2wire.net:/usr/home/kmacy/p4/freebsd7_xen3/src/sys/i386-xen/compile/XENCONF
 WARNING: DIAGNOSTIC option enabled, expect reduced performance.
 Xen reported: 1796.927 MHz processor.
 Timecounter "ixen" frequency 1796927000 Hz quality 0
 CPU: Intel(R) Pentium(R) 4 CPU 1.80GHz (1796.93-MHz 686-class CPU)
   Origin = "GenuineIntel"  Id = 0xf29  Stepping = 9
   Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,
   DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
   Features2=0x4400<CNTX-ID,<b14>>
 real memory  = 265244672 (252 MB)
 avail memory = 255963136 (244 MB)
 xc0: <Xen Console> on motherboard
 cpu0 on motherboard
 Timecounters tick every 10.000 msec
 [XEN] Initialising virtual ethernet driver.
 xn0: Ethernet address: 00:16:3e:6b:de:3a
 [XEN]
 Trying to mount root from ufs:/dev/xbd769a
 WARNING: / was not properly dismounted
 Loading configuration files.
 No suitable dump device was found.
 Entropy harvesting: interrupts ethernet point_to_point kickstart.
 Starting file system checks:
 /dev/xbd769a: 18859 files, 140370 used, 113473 free (10769 frags, 12838 blocks, 4.2% fragmentation)
 Setting hostname: demo.freebsd.org.
 lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
           inet6 ::1 prefixlen 128
           inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
           inet 127.0.0.1 netmask 0xff000000
 Additional routing options:.
 Mounting NFS file systems:.
 Starting syslogd.
 /etc/rc: WARNING: Dump device does not exist.  Savecore not run.
 ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/X11R6/lib /usr/local/lib
 a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout /usr/X11R6/lib/aout
 Starting usbd.
 usb: Kernel module not available: No such file or directory
 Starting local daemons:.
 Updating motd.
 Starting sshd.
 Initial i386 initialization:.
 Additional ABI support: linux.
 Starting cron.
 Local package initialization:.
 Additional TCP options:.
 Starting background file system checks in 60 seconds.

 Sun Apr  1 02:11:43 UTC 2007

 FreeBSD/i386 (demo.freebsd.org) (xc0)

 login:

   Die domU sollte nun den FreeBSD 7.0-CURRENT-Kernel ausfu:hren:

 # uname -a
 FreeBSD demo.freebsd.org 7.0-CURRENT FreeBSD 7.0-CURRENT #113: Wed Jan  4 06:25:43 UTC 2006
 kmacy@freebsd7.gateway.2wire.net:/usr/home/kmacy/p4/freebsd7_xen3/src/sys/i386-xen/compile/XENCONF  i386

   Das Netzwerk kann nun unter der domU konfiguriert werden. Die
   FreeBSD-domU wird ein spezielles Gera:t namens xn0 verwenden:

 # ifconfig xn0 10.10.10.200 netmask 255.0.0.0
 # ifconfig
 xn0: flags=843<UP,BROADCAST,RUNNING,SIMPLEX> mtu 1500
     inet 10.10.10.200 netmask 0xff000000 broadcast 10.255.255.255
     ether 00:16:3e:6b:de:3a
 lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
       inet6 ::1 prefixlen 128
       inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
       inet 127.0.0.1 netmask 0xff000000

   Unter der Slackware-dom0 sollten einige Xen-spezifische
   Netzwerkgera:te erscheinen:

 # ifconfig
 eth0      Link encap:Ethernet  HWaddr 00:07:E9:A0:02:C2
           inet addr:10.10.10.130  Bcast:0.0.0.0  Mask:255.0.0.0
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           RX packets:815 errors:0 dropped:0 overruns:0 frame:0
           TX packets:1400 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:0
           RX bytes:204857 (200.0 KiB)  TX bytes:129915 (126.8 KiB)

 lo        Link encap:Local Loopback
           inet addr:127.0.0.1  Mask:255.0.0.0
           UP LOOPBACK RUNNING  MTU:16436  Metric:1
           RX packets:99 errors:0 dropped:0 overruns:0 frame:0
           TX packets:99 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:0
           RX bytes:9744 (9.5 KiB)  TX bytes:9744 (9.5 KiB)

 peth0     Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF
           UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1
           RX packets:1853349 errors:0 dropped:0 overruns:0 frame:0
           TX packets:952923 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:1000
           RX bytes:2432115831 (2.2 GiB)  TX bytes:86528526 (82.5 MiB)
           Base address:0xc000 Memory:ef020000-ef040000

 vif0.1    Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF
           UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1
           RX packets:1400 errors:0 dropped:0 overruns:0 frame:0
           TX packets:815 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:0
           RX bytes:129915 (126.8 KiB)  TX bytes:204857 (200.0 KiB)

 vif1.0    Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF
           UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1
           RX packets:3 errors:0 dropped:0 overruns:0 frame:0
           TX packets:2 errors:0 dropped:157 overruns:0 carrier:0
           collisions:0 txqueuelen:1
           RX bytes:140 (140.0 b)  TX bytes:158 (158.0 b)

 xenbr1    Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF
           UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1
           RX packets:4 errors:0 dropped:0 overruns:0 frame:0
           TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:0
           RX bytes:112 (112.0 b)  TX bytes:0 (0.0 b)

 # brctl show
 bridge name     bridge id           STP enabled         interfaces
 xenbr1          8000.feffffffffff   no                  vif0.1
                                                         peth0
                                                         vif1.0

     --------------------------------------------------------------

  22.2.3. Virtual PC unter Windows

   U:bersetzt von Johann Kois.

   Virtual PC fu:r Windows wird von Microsoft kostenlos zum Download
   angeboten. Die Systemanforderungen fu:r dieses Programm finden Sie
   hier. Nachdem Sie Virtual PC unter Microsoft Windows installiert
   haben, mu:ssen Sie eine virtuelle Maschine konfigurieren und das
   gewu:nschte Betriebssystem installieren.

     --------------------------------------------------------------

    22.2.3.1. FreeBSD in Virtual PC/Microsoft(R) Windows installieren

   Der erste Schritt zur Installation von FreeBSD in
   Microsoft Windows/Virtual PC ist es, eine neue virtuelle Maschine
   zu erstellen, in die Sie FreeBSD installieren ko:nnen. Dazu
   wa:hlen Sie die Option Create a virtual machine, wenn Sie danach
   gefragt werden:

   Bei der Frage nach dem Operating system wa:hlen Sie Other:

   Danach mu:ssen Sie den von Ihnen gewu:schten Plattenplatz sowie
   die Gro:sse des Hauptspeichers angeben. 4 GB Plattenplatz sowie
   512 MB RAM sollten fu:r die Installation von FreeBSD in Virtual PC
   ausreichend sein:

   Speichern Sie Ihre Eingaben und beenden Sie die Konfiguration:

   Wa:hlen Sie nun die fu:r FreeBSD erstellte virtuelle Maschine aus
   und klicken Sie auf Settings, um das Netzwerk zu konfigurieren:

   Nun ko:nnen Sie FreeBSD installieren. Dazu verwenden Sie am besten
   eine offizielle FreeBSD-CD-ROM oder ein ISO-Image, das Sie von
   einem offiziellen FreeBSD-FTP-Server heruntergeladen haben. Wenn
   Sie ein ISO-Image auf Ihrer Festplatte gespeichert haben, oder
   eine FreeBSD-CD-ROM in Ihr CD-Laufwerk eingelegt haben,
   doppelklicken Sie auf die virtuelle Maschine, die Sie fu:r FreeBSD
   angelegt haben. Danach klicken Sie auf CD und wa:hlen die Option
   Capture ISO Image... im Virtual PC-Fenster. Danach ko:nnen Sie im
   folgenden Fenster das CD-Laufwerk mit Ihrem physikalischen
   CD-Laufwerk oder mit dem ISO-Image verknu:pfen.

   Danach starten Sie die virtuelle Maschine neu, indem Sie zuerst
   auf Action und danach auf Reset klicken. Virtual PC startet Ihre
   virtuelle Maschine nun neu und pru:ft zuerst, ob die virtuelle
   Maschine u:ber ein CD-Laufwerk verfu:gt.

   Da dies hier der Fall ist, beginnt nun eine normale, auf
   sysinstall basierende Installation, die in Kapitel 2 beschrieben
   wird. Sie ko:nnen FreeBSD nun installieren. Verzichten Sie an
   dieser Stelle aber unbedingt auf die X11-Konfiguration.

   Nachdem die Installation abgeschlossen ist, entfernen Sie die
   CD-ROM aus dem Laufwerk (oder lo:sen die Verknu:pfung zum
   ISO-Image). Danach starten Sie die virtuelle Maschine neu, um
   FreeBSD zu starten.

     --------------------------------------------------------------

    22.2.3.2. FreeBSD in Microsoft Windows/Virtual PC konfigurieren

   Nachdem Sie FreeBSD auf Ihrem Microsoft Windows-System erfolgreich
   unter Virtual PC installiert haben, sollten Sie ihr virtuelles
   FreeBSD noch anpassen, um eine optimale Funktion zu
   gewa:hrleisten.

    1. Setzen der Bootloader-Variablen

       Die wichtigste A:nderung ist es, die Variable kern.hz zu
       verkleinern, um so die CPU-Auslastung in der Virtual
       PC-Umgebung zu verringern. Dazu fu:gen Sie die folgende Zeile
       in die Datei /boot/loader.conf ein:

 kern.hz=100

       Ohne diese Einstellung kann ein unbescha:ftigtes FreeBSD unter
       Virutal PC trotzdem rund 40 Prozent der CPU-Leistung eines
       Ein-Prozessor-Systems verbrauchen. Nach dieser A:nderung
       reduziert sich dieser Wert auf etwa 5 Prozent.

    2. Erstellen einer neuen Kernelkonfigurationsdatei

       Sie ko:nnen alle SCSI-, FireWire- und USB-Laufwerks-Treiber
       entfernen. Virtual PC stellt einen virtuellen Netzwerkadapter
       bereit, der den de(4)-Treiber verwendet. Daher ko:nnen alle
       Netzwerkgera:te bis auf de(4) und miibus(4) aus dem Kernel
       entfernt werden.

    3. Das Netzwerk einrichten

       Die einfachste Netzwerkkonfiguration ist der Einsatz von DHCP,
       um Ihre virtuelle Maschine mit dem gleichen lokalen Netzwerk,
       in dem sich Ihr Host-Microsoft Windows befindet, zu verbinden.
       Dazu fu:gen Sie die Zeile ifconfig_de0="DHCP" in die Datei
       /etc/rc.conf ein. Weitere Informationen zur Konfiguration des
       Netzwerks unter FreeBSD finden Sie im Kapitel 31 des
       Handbuchs.

     --------------------------------------------------------------

  22.2.4. VMWare unter MacOS

   U:bersetzt von Johann Kois.

   VMWare Fusion fu:r Mac ist ein kommerzielles Programm, das fu:r
   Intel basierte Apple Mac-Computer mit Mac OS 10.4.9 oder neuer
   erha:ltlich ist. FreeBSD wird von diesem Produkt vollsta:ndig als
   Gast-Betriebssystem unterstu:tzt. Nachdem Sie VMWare Fusion unter
   Mac OS X installiert haben, ko:nnen Sie das gewu:nschte
   Gastbetriebssystem (in unserem Fall FreeBSD) installieren.

     --------------------------------------------------------------

    22.2.4.1. FreeBSD in VMWare/Mac OS X installieren

   Zuerst mu:ssen Sie VMWare Fusion starten, um eine virtuelle
   Maschine zu erstellen. Dazu wa:hlen Sie die Option "New":

   Dadurch wird ein Assistent gestartet, der Ihnen bei der Erzeugung
   einer neuen virtuellen Maschine behilflich ist. Clicken Sie auf
   "Continue", um den Prozess zu starten:

   Wa:hlen Sie Other als das Operating System, danach FreeBSD oder
   FreeBSD 64-bit, je nach dem, welche Version Sie installieren
   wollen, wenn Sie nach der zu installierenden Version gefragt
   werden:

   Vergeben Sie einen Namen fu:r virtuelle Maschine an und legen Sie
   den Speicherort fest:

   Legen Sie die Gro:sse Ihrer virtuellen Festplatte fest:

   Nachdem Sie auf "Finish" geklickt haben, wird die virtuelle
   Maschine gestartet:

   Nun ko:nnen Sie FreeBSD wie gewohnt installieren (lesen Sie dazu
   auch Kapitel 2 des Handbuchs):

   Nachdem die Installation abgeschlossen ist, ko:nnen Sie noch
   verschiedene Parameter der virtuellen Maschine, etwa den
   Speicherverbrauch, konfigurieren:

     Anmerkung: Die Hardware der virtuellen Maschine kann nicht
     gea:ndert werden, solange die virtuelle Maschine la:uft.

   Die Anzahl der CPUs der virtuellen Maschine:

   Den Status des CD-Laufwerks. Sie ko:nnen das CD-Laufwerk von der
   virtuellen Maschine lo:sen, wenn Sie es nicht beno:tigen.

   Zuletzt sollten Sie noch festlegen, wie sich die virtuelle
   Maschine mit dem Netzwerk verbinden soll. Sollen neben dem
   Gastsystem auch andere Rechner auf Ihre virtuelle Maschine
   zugreifen ko:nnen, mu:ssen Sie die Option Connect directly to the
   physical network (Bridged) wa:hlen. Ist dies nicht der Fall,
   sollten Sie die Option Share the host's internet connection (NAT)
   wa:hlen. In dieser Einstellung kann die virtuelle Maschine zwar
   auf auf das Internet zugreifen, andere Rechner du:rfen aber nicht
   auf die virtuelle Maschine zugreifen.

   Nachdem Sie die Konfiguration abgeschlossen haben, ko:nnen Sie
   FreeBSD starten.

     --------------------------------------------------------------

    22.2.4.2. FreeBSD unter Mac OS X/VMWare konfigurieren

   Nachdem Sie FreeeBSD erfolgreich unter VMWare fu:r Mac OS X
   installiert haben, sollten Sie ihr virtuelles FreeBSD noch
   anpassen, um eine optimale Funktion zu gewa:hrleisten.

    1. Die wichtigste A:nderung ist es, die Variable kern.hz zu
       verkleinern, um so die CPU-Auslastung in der VMWare-Umgebung
       zu verringern.

 kern.hz=100

       Ohne diese Einstellung kann ein unbescha:ftigtes FreeBSD unter
       VMWare trotzdem rund 15 Prozent der CPU-Leistung eines Single
       Prozessor iMac's verbrauchen. Nach dieser A:nderung reduziert
       sich dieser Wert auf etwa 5 Prozent.

    2. Erstellen einer neuen Kernelkonfigurationsdatei

       Sie ko:nnen alle FireWire- und USB-Laufwerks-Treiber
       entfernen. VMWare stellt einen virtuellen Netzwerkadapter
       bereit, der den em(4)-Treiber verwendet. Daher ko:nnen alle
       Netzwerkgera:te bis auf em(4) und miibus(4) aus dem Kernel
       entfernt werden.

    3. Netzwerkbetrieb einrichten

       Die einfachste Netzwerkkonfiguration ist der Einsatz von DHCP,
       um Ihre virtuelle Maschine mit dem gleichen lokalen Netzwerk,
       in dem sich der Host-Mac befindet, zu verbinden. Dazu fu:gen
       Sie die Zeile ifconfig_em0="DHCP" in die Datei /etc/rc.conf
       ein. Weitere Informationen zur Konfiguration des Netzwerks
       unter FreeBSD finden Sie im Kapitel 31 des Handbuchs.

     --------------------------------------------------------------

22.3. FreeBSD als Host-Betriebssystem

   U:bersetzt von Benedict Reuschling und Christoph Sold.

   Seit einigen Jahren wurde FreeBSD nicht offiziell von irgendeiner
   der verfu:gbaren Virtualisierungslo:sungen als Host-Betriebssystem
   unterstu:tzt. Viele Anwender verwenden aber noch a:ltere
   VMware-Versionen (z.B. emulators/vmware3), welches die
   Linux-Kompatibilita:tsschicht nutzt. Kurz nach der
   Vero:ffentlichung von FreeBSD 7.2 erschien VirtualBox(TM) als
   Open-Source Edition (OSE) von Sun in der Ports-Sammlung als ein
   direkt auf FreeBSD lauffa:higes Programm.

   VirtualBox ist ein vollsta:ndiges Virtualisierungspaket, das aktiv
   weiterentwickelt wird und fu:r die meisten Betriebssysteme
   einschliesslich Windows, Mac OS, Linux und FreeBSD zur Verfu:gung
   steht. Es kann sowohl Windows als auch UNIX-a:hnliche Gastsysteme
   betreiben. Es ist als Open Source und als proprieta:re Edition
   erha:ltlich. Die wichtigste Einschra:nkung der OSE aus
   Anwendersicht ist die fehlende USB-Unterstu:tzung. Weitere
   Unterschiede ko:nnen von der "Editions"-Seite des
   VirtualBox-Wikis, das unter
   http://www.virtualbox.org/wiki/Editions zu finden ist, entnommen
   werden. Momentan steht nur OSE unter FreeBSD zur Verfu:gung.

     --------------------------------------------------------------

  22.3.1. VirtualBox(TM) installieren

   VirtualBox steht als FreeBSD-Port in emulators/virtualbox bereit
   und kann u:ber den folgenden Befehl installiert werden:

 # cd /usr/ports/emulators/virtualbox
 # make install clean

   Eine nu:tzliche Option im Konfigurationsdialog ist die
   GuestAdditions-Programmsammlung. Diese stellen eine Reihe von
   nu:tzlichen Eigenschaften in den Gastbetriebssystemen zur
   Verfu:gung, wie beispielsweise Mauszeigerintegration (was es
   ermo:glicht, die Maus zwischen dem Host und dem Gast zu teilen
   ohne eine spezielle Tastenkombination fu:r diesen Wechsel zu
   dru:cken), sowie schnelleres Rendern von Videos, besonders in
   Windows Ga:sten. Diese Gastzusa:tze sind im Devices-Menu: zu
   finden, nachdem die Installation des Gastbetriebssystem
   abgeschlossen ist.

   Ein paar Konfigurationsa:nderungen sind notwendig, bevor
   VirtualBox das erste Mal gestartet wird. Der Port installiert ein
   Kernelmodul in /boot/modules, das in den laufenden Kernel geladen
   werden muss:

 # kldload vboxdrv

   Um sicherzustellen, dass das Modul immer nach einem Neustart
   geladen wird, fu:gen Sie die folgende Zeile in die Datei
   /boot/loader.conf ein:

 vboxdrv_load="YES"

   VirtualBox beno:tigt auch das eingeha:ngte proc-Dateisystem:

 # mount -t procfs proc /proc

   Um auch diese Einstellung nach einem Neustart zu erhalten, wird
   die folgende Zeile in /etc/fstab eingefu:gt:

 proc      /proc   procfs  rw      0       0

     Anmerkung: Mo:glicherweise erscheint eine Fehlermeldung a:hnlich
     der Folgenden, wenn VirtualBox von einem Terminal aus gestartet
     wird:

 VirtualBox: supR3HardenedExecDir: couldn't read "", errno=2 cchLink=-1

     Wahrscheinlich ist der U:belta:ter das proc-Dateisystem.
     Verwenden Sie bitte das mount-Kommando um zu u:berpru:fen, ob es
     korrekt eingeha:ngt ist.

   Die Gruppe vboxusers wird wa:hrend der Installation von VirtualBox
   angelegt. Alle Benutzer, die Zugriff auf VirtualBox haben sollen,
   mu:ssen in diese Gruppe aufgenommen werden. Der pw-Befehl kann
   benutzt werden, um neue Mitglieder hinzuzufu:gen:

 # pw groupmod vboxusers -m yourusername

   Um VirtualBox zu starten, wa:hlen Sie entweder den Eintrag Sun
   VirtualBox aus dem Menu: Ihrer graphischen Benutzeroberfla:che,
   oder geben Sie den folgenden Befehl in ein Terminal ein:

 % VirtualBox

   Besuchen Sie die offizielle Webseite von VirtualBox unter
   http://www.virtualbox.org, um weitere Informationen zur
   Konfiguration und Verwendung zu erhalten. Da der FreeBSD-Port noch
   recht neu ist, befindet er sich noch unter sta:ndiger Entwicklung.
   Um die aktuellen Nachrichten und Anleitungen zur Fehlerbehebung zu
   erhalten, besuchen Sie die entsprechende Seite im FreeBSD-Wiki
   unter http://wiki.FreeBSD.org/VirtualBox.

     --------------------------------------------------------------

  22.3.2. Andere Virtualisierungsmo:glichkeiten

   Zusa:tzlich wird daran gearbeitet, Xen als funktionierende
   Host-Umgebung (dom0) fu:r FreeBSD verfu:gbar zu machen. Eine
   experimentelle Version davon wird in FreeBSD 8.0 erscheinen.

     --------------------------------------------------------------

     Kapitel 23. Lokalisierung - I18N/L10N einrichten und benutzen

   Beigesteuert von Andrey Chernov. U:berarbeitet von Michael C. Wu.
   U:bersetzt von Alexander Langer und Martin Heinen.

23.1. U:bersicht

   FreeBSD ist ein u:ber die ganze Welt verteiltes Projekt. Dieses
   Kapitel behandelt die Internationalisierung und Lokalisierung von
   FreeBSD, mit denen nicht englisch sprechende Benutzer FreeBSD an
   ihre Bedu:rfnisse anpassen ko: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 fu:r nicht-englische Sprachen
       konfigurieren,

     * wie Sie das X Window System mit verschiedenen Sprachen
       benutzen,

     * wo Sie mehr Informationen u:ber das Erstellen von
       I18N-konformen Anwendungen erhalten.

   Bevor Sie dieses Kapitel lesen, sollten Sie

     * wissen, wie Sie zusa:tzliche Anwendungen installieren (Kapitel
       4).

     --------------------------------------------------------------

23.2. Grundlagen

  23.2.1. Was ist I18N/L10N?

   Entwickler ku:rzen das Wort internationalization (englisch fu: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 Abku:rzung des Worts
   localization (englisch fu:r Lokalisierung). Mit
   I18N/L10N-Methoden, -Protokollen und -Anwendungen ko: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 Menu:s und Texte an jede Sprache
   anzupassen. Wir mo:chten Programmierern empfehlen, fu:r ihre
   eigenen Anwendungen auf diese Techniken zuru:ckzugreifen.

     --------------------------------------------------------------

  23.2.2. Wieso soll ich I18N/L10N benutzen?

   I18N/L10N wird immer dann benutzt, wenn Sie Daten in anderen
   Sprachen als Englisch anzeigen, eingeben oder verarbeiten
   mo:chten.

     --------------------------------------------------------------

  23.2.3. Welche Sprachen werden von I18N unterstu:tzt?

   I18N und L10N sind nichts FreeBSD spezifisches. Momentan ko:nnen
   Sie unter den meisten der verbreitetsten Sprachen der Welt
   wa:hlen, unter anderen Chinesisch, Japanisch, Koreanisch,
   Franzo:sisch, Russisch und Deutsch.

     --------------------------------------------------------------

23.3. Lokale Anpassungen benutzen

   In seiner ganzen Scho:nheit ist L10N nichts, was auf FreeBSD
   alleine beschra:nkt ist, im Gegenteil, es ist eine Konvention, an
   die sich viele Programme fu:r verschiedene Betriebssysteme halten.
   Wir mo:chten Sie anregen, FreeBSD bei der Unterstu:tzung dieser
   Konvention zu helfen.

   Lokale Anpassungen werden durch die Angabe von drei Werten
   erreicht: dem Sprachcode, dem La:ndercode und der Codierung. Die
   Zusammenfassung dieser Werte wird "Locale" genannt und sieht wie
   folgt aus:

 Sprachcode_La:ndercode.Codierung

     --------------------------------------------------------------

  23.3.1. Sprach- und La:ndercodes

   Um FreeBSD (oder ein anderes UNIX System, das I18N unterstu:tzt)
   an lokale Gegebenheiten und Sprachen anzupassen, muss der Benutzer
   herausfinden, welche Codes fu:r sein Land und seine Sprache
   benutzt werden. La:ndercodes geben den Anwendungen dabei vor,
   welche Variation einer bestimmten Sprache zu benutzen ist. Eine
   Variation von Deutsch wa:re zum Beispiel de_CH, das eine lokale
   Anpassung an das in der Schweiz gesprochene Deutsch meint.
   Ausserdem benutzen Webbrowser, SMTP/POP Server, Webserver usw.
   diese, um Entscheidungen u:ber die Sprache zu fa:llen. Im
   Folgenden sind einige Beispiele fu:r Sprach- und La:ndercodes
   aufgelistet:

    Sprachcode/La:ndercode                 Beschreibung               
   en_US                     Englisch - USA                           
   ru_RU                     Russisch fu:r Russland                   
   zh_TW                     Traditionelles Chinesisch fu:r Taiwan    

     --------------------------------------------------------------

  23.3.2. Codierungen

   Einige Sprachen benutzen Codierungen, die nicht dem 7-Bit breitem
   ASCII-Standard entsprechen, wie 8-Bit Codierungen, Wide- oder
   Multibyte Zeichen (multibyte(3) geht darauf na:her ein). A:ltere
   Anwendungen erkennen diese Zeichen nicht und halten sie
   fa:lschlicherweise fu:r Steuerzeichen. Neuere Anwendungen erkennen
   fu:r gewo:hnlich 8-Bit Zeichen. Es ha:ngt allerdings von der
   Implementierung ab, ob man eine Anwendung neu kompilieren muss, um
   in den Genuss von lokalen Zeichensa:tzen zu kommen, oder ob man es
   sie nur nachtra:glich konfigurieren muss. Um es mo:glich zu
   machen, Wide- oder Multibyte-Zeichen einzugeben und zu
   verarbeiten, unterstu:tzt die FreeBSD-Ports-Sammlung verschiedene
   Sprachen fu:r diverse Programme. Bitte konsultieren Sie die
   I18N-Dokumentation des entsprechenden FreeBSD-Ports.

   In den meisten Fa:llen muss der Benutzer in die Dokumentation des
   Programms schauen, um herauszufinden, wie man es entsprechend fu:r
   die eigene Sprache und den eigenen Zeichensatz konfiguriert, oder
   welche Optionen beim U:bersetzen anzugeben sind.

   Einige Dinge, die man im Hinterkopf behalten sollte, sind:

     * Sprachbezogene C-char Zeichensa:tze[14] (siehe multibyte(3)),
       zum Beispiel ISO8859-1, ISO8859-15, KOI8-R, CP437.

     * Wide- oder Multibyte-Codierungen, zum Beispiel EUC, Big5.

   Eine aktuelle Liste der Zeichensa:tze ist in der IANA Registry.
   verfu:gbar.

     Anmerkung: Ab FreeBSD 4.5 werden X11-kompatible Codierungen
     verwendet.

     --------------------------------------------------------------

  23.3.3. 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
   beno:tigte Sprache nicht immer unterstu:tzt wird.

     --------------------------------------------------------------

  23.3.4. 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
   wu:nschen.

   Setzen Sie die zwei folgenden Umgebungsvariablen in Ihren
   Konfigurationsdateien:

     * LANG fu:r Funktionen der POSIX setlocale(3) Familie

     * MM_CHARSET gibt den den MIME Zeichensatz von Anwendungen an

   Damit ist die Locale fu:r die Shell, jede Anwendung und X11
   eingestellt.

     --------------------------------------------------------------

    23.3.4.1. Verfahren zum Einstellen der Locale

   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.

     --------------------------------------------------------------

      23.3.4.1.1. Lokalisierung in der Login-Klasse

   Wenn Sie diese Methode verwenden, werden die Umgebungsvariablen
   fu:r die Locale und den MIME Zeichensatz einmal fu:r alle Shells,
   anstatt einzeln fu:r jede Shell, gesetzt. Die Lokalisierung kann
   von einem Benutzer selbst oder von einem Administrator mit
   Superuser-Rechten fu:r alle eingestellt werden.

     --------------------------------------------------------------

        23.3.4.1.1.1. Einrichten als Benutzer

   .login_conf im Heimatverzeichnis eines Benutzers sollte mindestens
   die folgenden Eintra:ge enthalten, damit beide Variablen fu:r den
   Gebrauch der Latin-1 Codierung gesetzt werden:

 me:\
         :charset=ISO-8859-1:\
         :lang=de_DE.ISO8859-1:

   Damit traditionelles Chinesisch (BIG-5 Codierung) verwendet werden
   kann, sind in .login_conf die nachstehenden Erga:nzungen
   vorzunehmen. Einige Programme behandeln die Lokalisierung fu:r
   Chinesisch, Japanisch und Koreanisch falsch, daher mu:ssen mehr
   Variablen als u: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:\
         :setenv=LC_ALL=zh_TW.Big:\
         :setenv=LC_COLLATE=zh_TW.Big5:\
         :setenv=LC_CTYPE=zh_TW.Big5:\
         :setenv=LC_MESSAGES=zh_TW.Big5:\
         :setenv=LC_MONETARY=zh_TW.Big5:\
         :setenv=LC_NUMERIC=zh_TW.Big5:\
         :setenv=LC_TIME=zh_TW.Big5:\
         :charset=big5:\
         :xmodifiers="@im=gcin": #Set gcin as the XIM Input Server

   Weitere Informationen entnehmen Sie bitte login.conf(5).

     --------------------------------------------------------------

        23.3.4.1.1.2. 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 mu:ssen in /etc/login.conf vorgenommen
   werden:

 Sprache:Beschreibung:\
         :charset=MIME_Zeichensatz:\
         :lang=Locale:\
         :tc=default:

   Die fu:r Latin-1 erforderlichen Eintra:ge sehen wie folgt aus:

 german:German Users Accounts:\
         :charset=ISO-8859-1:\
         :lang=de_DE.ISO8859-1:\
         :tc=default:

   Bevor Sie die Login-Klasse eines Benutzers a:ndern, mu:ssen Sie
   den folgenden Befehl ausfu:hren:

 # cap_mkdb /etc/login.conf

   Erst danach werden Ihre A:nderungen in /etc/login.conf im System
   sichtbar.

      A:ndern der Login-Klasse mit vipw(8)

   Wenn Sie neue Accounts mit vipw anlegen, erstellen Sie Eintra:ge
   in folgender Art:

 user:password:1111:11:Sprache:0:0:Benutzername:/home/user:/bin/sh

      A:ndern der Login-Klasse mit adduser(8)

   Wenn Sie neue Accounts mit adduser anlegen, stehen Ihnen die
   folgenden Mo:glichkeiten zur Verfu:gung:

     * Geben Sie in /etc/adduser.conf mit defaultclass = Sprache eine
       Sprache vor. In diesem Fall mu:ssen Sie fu:r Benutzer anderer
       Sprachen eine andere Login-Klasse angeben.

     * Geben Sie die Sprache jedes Mal ein, wenn Sie dazu von
       adduser(8) aufgefordert werden:

 Enter login class: default []:

     * Sie ko:nnen die Login-Klasse auch auf der Kommandozeile von
       adduser(8) u:bergeben:

 # adduser -class Sprache

      A:ndern der Login-Klasse mit pw(8)

   Wenn Sie neue Accounts mit pw(8) anlegen, benutzen Sie die
   folgende Kommandozeile:

 # pw useradd Account -L Sprache

     --------------------------------------------------------------

      23.3.4.1.2. Lokalisierung in den Startdateien der Shells

     Anmerkung: Da Sie jede Shell unterschiedlich einrichten mu:ssen,
     sollten Sie diese Methode nicht verwenden. Benutzen Sie
     stattdessen bitte Login-Klassen.

   Um die Locale und den MIME Zeichensatz anzugeben, setzen Sie die
   unten aufgefu: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 ko: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 fu:r X11 in $HOME/.xinitrc sind von der
   verwendeten Login-Shell abha: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

     --------------------------------------------------------------

  23.3.5. Einrichten der Konsole

   Wenn Sie C-char Zeichensa:tze[14] verwenden, mu:ssen Sie die
   richtigen Zeichensa:tze fu:r die gewa: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.

   Stellen Sie sicher, dass Sie die richtige Tasten- und
   Bildschirmzuordnung (keymap und screenmap) verwenden. Dies ko:nnen
   Sie in sysinstall (vor FreeBSD 5.2 /stand/sysinstall) einstellen,
   indem Sie Configure und dann Console wa:hlen. Sie ko: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 zugeho:rige Zeichensatz verbreitert
   die Zeichenmatrix von VGA Karten im Pseudographik Modus von 8 Bit
   auf 9 Bit. Sie wird beno:tigt, wenn der Zeichensatz des
   Bildschirms 8 Bit verwendet.

   Lesen Sie den na:chsten Absatz, wenn Sie in /etc/rc.conf den
   moused Daemon mit der nachstehenden Anweisung aktiviert haben:

 moused_enable="YES"

   Der Mauszeiger des syscons(4) Treibers belegt in der
   Voreinstellung den Bereich von 0xd0 bis 0xd3 des Zeichensatzes.
   Wenn dieser Bereich ebenfalls von der eingestellten Sprache
   beno:tigt wird, mu:ssen Sie den Mauszeiger verschieben. Dazu
   fu:gen Sie die folgende Zeile in Ihre Kernelkonfigurationsdatei
   ein:

 mousechar_start=3

   keymap_name ist der Name einer Datei aus
   /usr/share/syscons/keymaps ohne die Endung .kbd. Welche
   Tastenzuordnung Sie benutzen mu:ssen, ko:nnen Sie ohne einen
   Neustart mit kbdmap(1) ausprobieren.

   Mit keychange ko:nnen die Funktionstasten so programmiert werden,
   dass Sie zu dem ausgesuchten Terminal passen. Die Sequenzen der
   Funktionstasten ko:nnen nicht in Tastenzuordnungen definiert
   werden.

   Stellen Sie sicher, dass der richtige Terminaltyp fu:r die ttyv*
   Konsolen in /etc/ttys angegeben ist. Momentan sind die folgenden
   Terminaltypen definiert:

                 Zeichensatz                       Terminaltyp        
   ISO8859-1 oder ISO8859-15                cons25l1                  
   ISO8859-2                                cons25l2                  
   ISO8859-7                                cons25l7                  
   KOI8-R                                   cons25r                   
   KOI8-U                                   cons25u                   
   CP437 (VGA default)                      cons25                    
   US-ASCII                                 cons25w                   

   Mit Wide- oder Multibyte-Zeichensa:tzen mu: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 genu:gend
   vtty's fu:r X11 und die Pseudo-seriellen Konsolen definiert haben.
   Nachstehend finden Sie eine unvollsta:ndige Liste der Ports, die
   eine andere Sprache als Englisch auf der Konsole verwenden:

            Sprache                            Port                   
   traditionelles Chinesisch chinese/big5con                          
   (BIG-5)                   
   Japanisch                 japanese/kon2-16dot oder                 
                             japanese/mule-freewnn                    
   Koreanisch                korean/han                               

     --------------------------------------------------------------

  23.3.6. Einrichten von X11

   Obwohl X11 nicht Teil des FreeBSD Projects ist, stellen wir hier
   einige Hinweise fu:r FreeBSD-Benutzer zusammen. Weitere Details
   entnehmen Sie bitte der Xorg Website oder der Dokumentation Ihres
   X11 Servers.

   Anwendungsspezifische I18N-Einstellungen (Zeichensa:tze, Menu:s,
   usw.) ko:nnen Sie in ~/.Xresources vornehmen.

     --------------------------------------------------------------

    23.3.6.1. Zeichensa:tze

   Installieren Sie den Xorg-Server (x11-servers/xorg-server) oder
   den XFree86-Server (x11-servers/XFree86-4-Server) und die TrueType
   Zeichensa:tze Ihrer Sprache. Wenn Sie die Locale gesetzt haben,
   sollten die Menu:s in Ihrer Sprache erscheinen.

     --------------------------------------------------------------

    23.3.6.2. Eingabe von nicht-englischen Zeichen

   Das X11 Input Method (XIM) Protokoll ist ein neuer Standard fu:r
   alle X11-Clients. Jede X11-Anwendung sollte als XIM-Client, der
   Eingaben von einem XIM-Server entgegen nimmt, implementiert sein.
   XIM-Server sind fu:r verschiedene Sprachen erha:ltlich.

     --------------------------------------------------------------

  23.3.7. Einrichten eines Druckers

   Drucker verfu:gen normalerweise schon u:ber einige C-char
   Zeichensa:tze[14]. Wide- oder Multibyte-Zeichensa:tze mu:ssen
   gesondert eingerichtet werden. Wir empfehlen Ihnen, dazu apsfilter
   zu benutzen. Weiterhin ko:nnen Sie mit sprachspezifischen
   Konvertern Ihre Dokumente auch in PostScript oder PDF umwandeln.

     --------------------------------------------------------------

  23.3.8. Kernel und Dateisysteme

   Das FreeBSD-Dateisystem (FFS) unterstu:tzt 8-Bit, so dass es mit
   C-char Zeichensa:tzen[14] (siehe multibyte(3)) verwendet werden
   kann. Der Zeichensatz wird allerdings nicht im Dateisystem
   gespeichert, das heisst es werden nur die 8-Bit Werte gespeichert
   und die Codierung wird nicht beru:cksichtigt. Offiziell werden
   Wide- oder Multibyte-Zeichensa:tze noch nicht unterstu:tzt, fu:r
   einige Zeichensa:tze existieren Patche, die eine solche
   Unterstu:tzung aktivieren. Sie sind allerdings nicht im Quelltext
   enthalten, da sie nur schwer pflegbare U:bergangslo:sungen sind.
   Die Patche und weitere Informationen erhalten Sie auf den
   Webseiten der betreffenden Sprache.

   Das MS-DOS Dateisystem von FreeBSD kann von MS-DOS- und
   Unicode-Zeichensa:tzen nach frei wa:hlbaren FreeBSD Zeichensa:tzen
   konvertieren. Weitere Details entnehmen Sie bitte
   mount_msdosfs(8).

     --------------------------------------------------------------

23.4. I18N-Programme u:bersetzen

   Viele FreeBSD-Ports besitzen I18N-Unterstu:tzung, einige davon
   enthalten -I18N im Namen. Fu:r diese und viele andere Programme
   ist keine spezielle Konfiguration notwendig.

   Einige Anwendungen wie MySQL mu:ssen allerdings speziell fu:r
   einen Zeichensatz in ihrem Makefile konfiguriert werden.
   Normalerweise wird dazu das Makefile angepasst oder configure mit
   einem speziellen Parameter aufgerufen.

     --------------------------------------------------------------

23.5. Lokalisierung fu:r einzelne Sprachen

  23.5.1. Russisch (KOI8-R Codierung)

   Beigetragen von Andrey Chernov.

   Weitere Informationen u:ber die KOI8-R Codierung erhalten Sie auf
   der Webseite KOI8-R References (Russian Net Character Set).

     --------------------------------------------------------------

    23.5.1.1. Einrichten der Locale

   Fu:gen Sie die folgenden Zeilen in ~/.login_conf ein:

 me:My Account:\
         :charset=KOI8-R:\
         :lang=ru_RU.KOI8-R:

   Weitere Erkla:rungen finden Sie in Einstellen der Locale.

     --------------------------------------------------------------

    23.5.1.2. Einrichten der Konsole

     * Fu:gen Sie folgende Zeile in /etc/rc.conf ein:

 mousechar_start=3

     * Nehmen Sie zusa:tzlich die folgenden Einstellungen in
       /etc/rc.conf auf:

 keymap="ru.koi8-r"
 scrnmap="koi8-r2cp866"
 font8x16="cp866b-8x16"
 font8x14="cp866-8x14"
 font8x8="cp866-8x8"

     * Benutzen Sie cons25r als Terminaltyp fu:r jeden ttyv* Eintrag
       in /etc/ttys.

   Weitere Beispiele finden Sie in Einrichten der Konsole.

     --------------------------------------------------------------

    23.5.1.3. Einrichten eines Druckers

   Die meisten Drucker mit russischen Zeichen besitzen die
   Codetabelle CP866, so dass ein spezielles Programm zur
   U:bersetzung von KOI8-R nach CP866 beno:tigt wird. Zu diesem Zweck
   ist /usr/libexec/lpr/ru/koi2alt im Basissystem enthalten. Der
   Eintrag fu:r einen Drucker mit russischer Sprachunterstu: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:

   Na:heres erfahren Sie in printcap(5).

     --------------------------------------------------------------

    23.5.1.4. 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 Option -L legt die Locale fest. Die Option -W legt die
   Zeichenumwandlung fest. Stellen Sie sicher, dass /usr eingehangen
   ist, bevor Sie die MS-DOS-Partition einha:ngen, da die Tabellen
   zur Zeichenumwandlung in /usr/libdata/msdosfs liegen. Weitere
   Informationen erhalten Sie in der Hilfeseite mount_msdosfs(8).

     --------------------------------------------------------------

    23.5.1.5. Einrichten von X11

    1. Richten Sie zuna:chst die normale Lokalisierung ein.

    2. Wenn Sie Xorg verwenden, installieren Sie den Port
       x11-fonts/xorg-fonts-cyrillic.

       Im Abschnitt "Files" von /etc/X11/xorg.conf fu:gen Sie die
       folgenden Eintra:ge vor allen anderen FontPath Eintra: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 Auflo:sung benutzen, vertauschen Sie bitte
       die Eintra:ge fu:r 75 dpi und 100 dpi.

         Anmerkung: Zusa:tzliche kyrillische Schriftarten finden Sie
         in der Ports-Sammlung.

    3. Die Unterstu:tzung fu:r eine russische Tastatur aktivieren Sie
       im "Keyboard" Abschnitt von xorg.conf:

 Option "XkbLayout"   "us,ru"
 Option "XkbOptions"  "grp:toggle"

       Stellen Sie zudem sicher, dass XkbDisable deaktiviert
       (auskommentiert) ist.

       Beim Einsatz von grp:toggle ko:nnen Sie mit Right Alt (Alt Gr)
       zwischen dem RUS- und LAT-Modus wechseln, verwenden Sie
       hingegen grp:ctrl_shift_toggle, so erfolgt der Wechsel mit
       Ctrl+Shift. Fu:r grp:caps_toggle ist zum Wechseln des
       RUS/LAT-Modus CapsLock zusta:ndig. Die alte Funktion von
       CapsLock steht nur im LAT-Modus mit der Tastenkombination
       Shift+CapsLock zur Verfu:gung. grp:caps_toggle funktioniert
       aus unbekannten Gru:nden unter Xorg nicht.

       Wenn Ihre Tastatur Windows-Tasten besitzt und
       nicht-alphanumerische Tasten im RUS-Modus nicht funktionieren,
       fu:gen Sie die folgende Zeile in xorg.conf ein:

 Option "XkbVariant" ",winkeys"

         Anmerkung: Die russische XKB-Tastatur funktioniert
         vielleicht nicht mit nicht-lokalisierten Anwendungen.

     Anmerkung: Lokalisierte Anwendungen sollten mindestens die
     Funktion XtSetLanguageProc (NULL, NULL, NULL); fru:hzeitig
     aufrufen.

     Weitere Informationen u:ber die Lokalisierung von
     X11-Anwendungen erhalten Sie auf der Webseite KOI8-R for X
     Window.

     --------------------------------------------------------------

  23.5.2. Traditionell chinesische Lokalisierung fu:r Taiwan

   Das taiwanesische FreeBSD Project stellt ein Tutorium unter
   http://netlab.cse.yzu.edu.tw/~statue/freebsd/zh-tut/ zur
   Verfu:gung, das viele chinesische Anwendungen benutzt. Der Editor
   des FreeBSD Chinese HOWTOs ist Shen Chuan-Hsing
   <statue@freebsd.sinica.edu.tw>.

   Chuan-Hsing Shen <statue@freebsd.sinica.edu.tw> hat mithilfe des
   Tutoriums die Chinese FreeBSD Collection (CFC) geschaffen. Die
   Pakete und Skripten stehen unter
   ftp://freebsd.csie.nctu.edu.tw/pub/taiwan/CFC/.

     --------------------------------------------------------------

  23.5.3. Deutsche Lokalisierung (fu:r alle ISO 8859-1 Sprachen)

   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
   http://user.cs.tu-berlin.de/~eserte/FreeBSD/doc/umlaute/umlaute.html
   verfu:gbar.

     --------------------------------------------------------------

  23.5.4. Griechische Lokalisierung

   Nikos Kokkalis <nickkokkalis@gmail.com> hat einen ganzen Artikel
   u:ber die Griechisch-Unterstu:tzung in FreeBSD geschrieben. Er ist
   als Teil der offiziellen FreeBSD Dokumentation auf Griechisch
   erha:ltlich unter
   http://www.freebsd.org/doc/el_GR.ISO8859-7/articles/greek-language-support/index.html.
   Bitte beachten Sie, dass dies nur fu:r Griechisch gilt.

     --------------------------------------------------------------

  23.5.5. Japanische und koreanische Lokalisierung

   Informationen u:ber die japanische Lokalisierung entnehmen Sie
   bitte http://www.jp.FreeBSD.org/, Informationen u:ber die
   koreanische Lokalisierung erhalten Sie unter
   http://www.kr.FreeBSD.org/.

     --------------------------------------------------------------

  23.5.6. Nicht-englische FreeBSD-Dokumentation

   Teile vor FreeBSD Dokumentation wurden in andere Sprachen
   u:bersetzt. Folgen Sie bitte den Links auf der FreeBSD-Webseite
   oder schauen Sie in /usr/share/doc nach.

     --------------------------------------------------------------

                   Kapitel 24. FreeBSD aktualisieren

   Umstrukturiert und aktualisiert von Jim Mock. Im Original von
   Jordan Hubbard, Poul-Henning Kamp, John Polstra und Nik Clayton.
   U:bersetzt von Martin Heinen.

24.1. U:bersicht

   FreeBSD wird zwischen einzelnen Releases konstant weiter
   entwickelt. Es gibt mehrere einfache Mo:glichkeiten, ein System
   auf dem aktuellen Stand der Entwicklung zu halten. Seien Sie
   jedoch gewarnt: Die neueste Version ist nicht fu: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 FreeBSD-STABLE
       und FreeBSD-CURRENT kennen,

     * wissen, wie Sie Ihr System mit CVSup, CVS oder CTM
       aktualisieren.

     * Wissen, wie Sie das komplette Basissystem mit make buildworld
       neu bauen und installieren.

   Bevor Sie dieses Kapitel lesen, sollten Sie

     * Ihr Netzwerk richtig konfiguriert haben (Kapitel 31) und

     * wissen, wie Sie Software Dritter installieren (Kapitel 4).

     --------------------------------------------------------------

24.2. FreeBSD Update (noch nicht u:bersetzt)

   Dieser Abschnitt ist noch nicht u:bersetzt. Lesen Sie bitte das
   Original in englischer Sprache. Wenn Sie helfen wollen, dieses
   Kapitel zu u:bersetzen, senden Sie bitte eine E-Mail an die
   Mailingliste 'FreeBSD German Documentation Project'
   <de-bsd-translators@de.FreeBSD.org>.

     --------------------------------------------------------------

24.3. Portsnap: A Ports Collection Update Tool (noch nicht u:bersetzt)

   Dieser Abschnitt ist noch nicht u:bersetzt. Lesen Sie bitte das
   Original in englischer Sprache. Wenn Sie helfen wollen, dieses
   Kapitel zu u:bersetzen, senden Sie bitte eine E-Mail an die
   Mailingliste 'FreeBSD German Documentation Project'
   <de-bsd-translators@de.FreeBSD.org>.

     --------------------------------------------------------------

24.4. Einem Entwicklungszweig folgen

   FreeBSD besitzt zwei Entwicklungszweige: FreeBSD-CURRENT und
   FreeBSD-STABLE. Dieser Abschnitt beschreibt beide Zweige und
   erla:utert, wie Sie Ihr System auf dem aktuellen Stand eines
   Zweiges halten. Zuerst wird FreeBSD-CURRENT vorgestellt, dann
   FreeBSD-STABLE.

     --------------------------------------------------------------

  24.4.1. FreeBSD-CURRENT

   Beachten Sie im Folgenden, dass FreeBSD-CURRENT die Spitze der
   Entwicklung von FreeBSD ist. Benutzer von FreeBSD-CURRENT sollten
   u:ber sehr gute technische Fa:higkeiten verfu:gen und in der Lage
   sein, schwierige Probleme alleine zu lo:sen. Wenn FreeBSD neu fu:r
   Sie ist, u:berlegen Sie sich genau, ob Sie FreeBSD-CURRENT
   benutzen wollen.

     --------------------------------------------------------------

    24.4.1.1. Was ist FreeBSD-CURRENT?

   FreeBSD-CURRENT besteht aus den neuesten Quellen des
   FreeBSD-Systems. Es entha:lt Sachen, an denen gerade gearbeitet
   wird, experimentelle A:nderungen und U:bergangsmechanismen, die im
   na:chsten offiziellen Release der Software enthalten sein ko:nnen
   oder nicht. Obwohl FreeBSD-CURRENT ta:glich von vielen Entwicklern
   gebaut wird, gibt es Zeitra:ume, in denen sich das System nicht
   bauen la:sst. Diese Probleme werden so schnell wie mo:glich
   gelo:st, aber ob Sie mit FreeBSD-CURRENT Schiffbruch erleiden oder
   die gewu:nschten Verbesserungen erhalten, kann von dem Zeitpunkt
   abha:ngen, an dem Sie sich den Quelltext besorgt haben!

     --------------------------------------------------------------

    24.4.1.2. Wer braucht FreeBSD-CURRENT?

   FreeBSD-CURRENT wird hauptsa:chlich fu:r 3 Interessengruppen zur
   Verfu:gung gestellt:

    1. Entwickler, die an einem Teil des Quellbaums arbeiten und
       daher u:ber die aktuellen Quellen verfu:gen mu:ssen.

    2. Tester, die bereit sind, Zeit in das Lo:sen von Problemen zu
       investieren und sicherstellen, dass FreeBSD-CURRENT so stabil
       wie mo:glich bleibt. Weiterhin Leute, die Vorschla:ge zu
       A:nderungen oder der generellen Entwicklung von FreeBSD machen
       und Patches bereitstellen, um diese Vorschla:ge zu
       realisieren.

    3. Fu: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
       Vorschla:ge oder steuert Quellcode bei.

     --------------------------------------------------------------

    24.4.1.3. Was FreeBSD-CURRENT nicht ist!

    1. 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.

    2. Ein schneller Weg, um an Fehlerbehebungen (engl. bug fixes) zu
       kommen. Jede Version von FreeBSD-CURRENT fu:hrt mit gleicher
       Wahrscheinlichkeit neue Fehler ein, mit der sie alte behebt.

    3. In irgendeiner Form "offiziell unterstu:tzt". Wir tun unser
       Bestes, um Leuten aus den drei "legitimen" Benutzergruppen von
       FreeBSD-CURRENT zu helfen, aber wir haben einfach nicht die
       Zeit, technische Unterstu:tzung zu erbringen. Das kommt nicht
       daher, dass wir kleinliche, gemeine Leute sind, die anderen
       nicht helfen wollen (wenn wir das wa:ren, wu:rden wir FreeBSD
       nicht machen), wir ko:nnen einfach nicht jeden Tag Hunderte
       Nachrichten beantworten und an FreeBSD arbeiten! Vor die Wahl
       gestellt, FreeBSD zu verbessern oder jede Menge Fragen zu
       experimentellem Code zu beantworten, haben sich die Entwickler
       fu:r ersteres entschieden.

     --------------------------------------------------------------

    24.4.1.4. Benutzen von FreeBSD-CURRENT

    1. Es ist essentiell, die Mailinglisten freebsd-current und
       cvs-all zu lesen. Wenn Sie freebsd-current nicht lesen,
       verpassen Sie die Kommentare anderer u:ber den momentanen
       Zustand des Systems und rennen demzufolge in viele bekannte
       Probleme, die schon gelo:st sind. Noch kritischer ist, dass
       Sie wichtige Bekanntmachungen verpassen, die erhebliche
       Auswirkungen auf die Stabilita:t Ihres Systems haben ko:nnen.

       In der cvs-all Mailingliste sehen Sie zu jeder A:nderung das
       Commit-Log, das Informationen zu mo:glichen Seiteneffekten
       entha:lt.

       Um diese Listen zu abonnieren (oder zu lesen) besuchen Sie
       bitte die Seite http://lists.FreeBSD.org/mailman/listinfo.
       Weitere Informationen erhalten Sie, wenn Sie dort auf die
       gewu:nschte Liste klicken.

    2. Beschaffen Sie sich die Quellen von einem FreeBSD-Spiegel. Sie
       haben dazu zwei Mo:glichkeiten:

         a. Benutzen Sie das Programm 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 A:nderungen beziehen.
            Viele lassen cvsup aus cron heraus laufen, um ihre
            Quellen automatisch auf Stand zu bringen. Sie mu:ssen die
            obige Sup-Datei anpassen und cvsup in Ihrer Umgebung
            konfigurieren.

         b. CTM kommt in Frage, wenn Sie u:ber eine schlechte
            Internet-Anbindung (hoher Preis oder nur E-Mail Zugriff)
            verfu:gen. Der Umgang mit CTM ist allerdings recht
            mu:hsam und Sie ko:nnen bescha:digte Dateien erhalten.
            Daher wird es selten benutzt, was wiederum dazu fu:hrt,
            dass es u:ber la:ngere Zeit nicht funktioniert. Wir
            empfehlen jedem mit einem 9600 bps oder schnellerem
            Modem, CVSup zu benutzen.

    3. Wenn Sie die Quellen einsetzen und nicht nur darin lesen
       wollen, besorgen Sie sich bitte die kompletten Quellen von
       FreeBSD-CURRENT und nicht nur ausgesuchte Teile. Der Grund
       hierfu:r ist, dass die verschiedenen Teile der Quellen
       voneinander abha:ngen. Es ist ziemlich sicher, dass Sie in
       Schwierigkeiten geraten, wenn Sie versuchen, nur einen Teil
       der Quellen zu u:bersetzen.

       Sehen Sie sich das Makefile in /usr/src genau an, bevor Sie
       FreeBSD-CURRENT u:bersetzen. Wenn Sie FreeBSD das erste Mal
       aktualisieren, sollten Sie sowohl einen Kernel als auch das
       System neu installieren. Lesen Sie bitte die Mailingliste
       FreeBSD-CURRENT und /usr/src/UPDATING, um u:ber A:nderungen im
       Installationsverfahren, die manchmal vor der Einfu:hrung eines
       neuen Releases notwendig sind, informiert zu sein.

    4. Seien Sie aktiv! Wenn Sie FreeBSD-CURRENT laufen lassen,
       wollen wir wissen, was Sie daru:ber denken, besonders wenn Sie
       Verbesserungsvorschla:ge oder Fehlerbehebungen haben.
       Verbesserungsvorschla:ge, die Code enthalten, werden u:brigens
       begeistert entgegengenommen.

     --------------------------------------------------------------

  24.4.2. FreeBSD-STABLE

    24.4.2.1. Was ist FreeBSD-STABLE?

   FreeBSD-STABLE ist der Entwicklungszweig, auf dem Releases
   erstellt werden. Dieser Zweig a:ndert sich langsamer als
   FreeBSD-CURRENT und alle A:nderungen hier sollten zuvor in
   FreeBSD-CURRENT ausgetestet sein. Beachten Sie, dass dies immer
   noch ein Entwicklungszweig ist und daher zu jedem Zeitpunkt die
   Quellen von FreeBSD-STABLE verwendbar sein ko:nnen oder nicht.
   FreeBSD-STABLE ist Teil des Entwicklungsprozesses und nicht fu:r
   Endanwender gedacht.

     --------------------------------------------------------------

    24.4.2.2. Wer braucht FreeBSD-STABLE?

   Wenn Sie den FreeBSD-Entwicklungsprozess, besonders im Hinblick
   auf das na:chste Release, verfolgen oder dazu beitragen wollen,
   sollten Sie erwa:gen, FreeBSD-STABLE zu benutzen.

   Auch wenn sicherheitsrelevante Fehlerbehebungen in den
   FreeBSD-STABLE Zweig einfliessen, mu:ssen Sie deswegen noch lange
   nicht FreeBSD-STABLE verfolgen. Jeder der FreeBSD
   Sicherheitshinweise beschreibt fu:r jedes betroffene Release, [15]
   wie sie einen sicherheitsrelevanten Fehler beheben. Wenn Sie den
   Entwicklungszweig aus Sicherheitsgru:nden verfolgen wollen,
   bedenken Sie, dass Sie neben Fehlerbehebungen auch eine Vielzahl
   unerwu:nschter A:nderungen erhalten werden.

   Obwohl wir versuchen sicherzustellen, dass der FreeBSD-STABLE
   Zweig sich jederzeit u:bersetzen la:sst und la:uft, ko:nnen wir
   dafu:r keine Garantie u:bernehmen. Auch wenn Neuentwicklungen in
   FreeBSD-CURRENT stattfinden, ist es jedoch so, dass mehr Leute
   FreeBSD-STABLE benutzen als FreeBSD-CURRENT und es daher
   unvermeidlich ist, dass Fehler und Grenzfa:lle erst in
   FreeBSD-STABLE auffallen.

   Aus diesen Gru:nden empfehlen wir Ihnen nicht, blindlings
   FreeBSD-STABLE zu benutzen. Es ist wichtig, dass Sie
   FreeBSD-STABLE zuerst sorgfa:ltig in einer Testumgebung austesten,
   bevor Sie Ihre Produktion auf FreeBSD-STABLE migrieren.

   Wenn Sie dies nicht leisten ko:nnen, empfehlen wir Ihnen, das
   aktuelle FreeBSD-Release zu verwenden. Benutzen Sie dann den
   bina:ren Update-Mechanismus, um auf neue Releases zu migrieren.

     --------------------------------------------------------------

    24.4.2.3. Benutzen von FreeBSD-STABLE

    1. Lesen Sie Mailingliste freebsd-stable, damit Sie u:ber
       Abha:ngigkeiten beim Bau von FreeBSD-STABLE und Sachen, die
       besondere Aufmerksamkeit erfordern, informiert sind.
       Umstrittene Fehlerbehebungen oder A:nderungen werden von den
       Entwicklern auf dieser Liste bekannt gegeben. Dies erlaubt es
       den Benutzern, Einwa:nde gegen die vorgeschlagenen A:nderungen
       vorzubringen.

       In der cvs-all Mailingliste sehen Sie zu jeder A:nderung das
       Commit-Log, das Informationen zu mo:glichen Seiteneffekten
       entha:lt.

       Um diese Listen oder andere Listen zu abonnieren besuchen Sie
       bitte die Seite http://lists.FreeBSD.org/mailman/listinfo.
       Weitere Informationen erhalten Sie, wenn Sie dort auf die
       gewu:nschte Liste klicken.

    2. Wenn Sie ein neues System installieren und dazu einen der
       monatlich aus FreeBSD-STABLE erzeugten Snapshots verwenden
       wollen, sollten Sie zuerst die Snapshot Website auf aktuelle
       Informationen u:berpru:fen. Alternativ ko:nnen Sie auch das
       neueste FreeBSD-STABLE-Release von den Spiegeln beziehen und
       Ihr System nach den folgenden Anweisungen aktualisieren.

       Wenn Sie schon ein a:lteres Release von FreeBSD und das System
       mit dem Quellcode aktualisieren wollen, benutzen Sie einen der
       FreeBSD-Spiegel. Sie haben dazu zwei Mo:glichkeiten:

         a. Benutzen Sie das Programm 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 A:nderungen beziehen.
            Viele lassen cvsup aus cron heraus laufen, um ihre
            Quellen automatisch auf Stand zu bringen. Sie mu:ssen das
            oben erwa:hnte supfile anpassen und cvsup konfigurieren.

         b. Benutzen Sie CTM. Wenn Sie u:ber keine schnelle und
            billige Internet-Anbindung verfu:gen, sollten Sie diese
            Methode in Betracht ziehen.

    3. Benutzen Sie cvsup oder ftp, wenn Sie schnellen Zugriff auf
       die Quellen brauchen und die Bandbreite keine Rolle spielt,
       andernfalls benutzen Sie CTM.

    4. Bevor Sie FreeBSD-STABLE u:bersetzen, sollten Sie sich das
       Makefile in /usr/src genau anschauen. Wenn Sie FreeBSD das
       erste Mal aktualisieren, sollten Sie sowohl einen Kernel als
       auch das System neu installieren. Lesen Sie bitte die
       Mailingliste FreeBSD-STABLE und /usr/src/UPDATING, um u:ber
       A:nderungen im Installationsverfahren, die manchmal vor der
       Einfu:hrung eines neuen Releases notwendig sind, informiert zu
       sein.

     --------------------------------------------------------------

24.5. Synchronisation der Quellen

   Sie ko:nnen eine Internet-Verbindung (oder E-Mail) dazu nutzen,
   Teile von FreeBSD, wie die Quellen zu einzelnen Projekten, oder
   das Gesamtsystem, aktuell zu halten. Dazu bieten wir die Dienste
   AnonymousCVS, CVSup und CTM an.

     Warnung: Obwohl es mo:glich ist, nur Teile des Quellbaums zu
     aktualisieren, ist die einzige unterstu:tze Migrationsprozedur,
     den kompletten Quellbaum zu aktualisieren und alles, das heisst
     das Userland (z.B. alle Programme in /bin und /sbin) und die
     Kernelquellen, neu zu u: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 U:bersetzungsfehlern u:ber Kernel-Panics bis hin zu
     Bescha:digungen Ihrer Daten reichen ko:nnen.

   Anonymous CVS und CVSup benutzen die Pull-Methode [16], 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 ko:nnen die Prozedur auf bestimmte Dateien oder
   Verzeichnisse einschra:nken, so dass Sie nur die Updates bekommen,
   die fu:r Sie von Interesse sind. Die Updates werden zur Laufzeit,
   abha: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, A:nderungen direkt aus
   einem entfernten CVS-Repository zu ziehen. Anonymous CVS ist
   leichter zu handhaben als CVSup, doch ist letzteres sehr viel
   effizienter.

   Im Gegensatz dazu vergleicht CTM Ihre Quellen nicht mit denen auf
   einem Server. Stattdessen la:uft auf dem Server ein Skript, das
   A:nderungen an Dateien gegenu:ber seinem vorigen Lauf bemerkt, die
   A:nderungen komprimiert, mit einer Sequenznummer versieht und fu:r
   das Verschicken per E-Mail kodiert (es werden nur druckbare
   ASCII-Zeichen verwendet). Wenn Sie diese "CTM-Deltas" erhalten
   haben, ko:nnen Sie sie mit ctm_rmail(1) benutzen, welches die
   Deltas dekodiert, verifiziert und dann die A: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 [17] verwendet.

   Es gibt natu:rlich noch weitere Unterschiede, die Sie beachten
   sollten. Wenn Sie unabsichtlich Teile Ihres Archivs lo:schen, wird
   das von CVSup wie Anonymous CVS erkannt und repariert. Wenn sich
   fehlerhafte Dateien in Ihrem Quellbaum befinden, lo:schen Sie
   diese einfach und synchronisieren erneut. CTM leistet das nicht,
   wenn Sie Teile des Quellbaums gelo:scht haben und keine Sicherung
   besitzen, mu:ssen Sie von neuem, das heisst vom letzten
   "Basis-Delta", starten und die A:nderungen wieder mit CTM
   nachziehen.

     --------------------------------------------------------------

24.6. Das komplette Basissystem neu bauen

   Wenn Sie Ihren lokalen Quellbaum mit einer bestimmten FreeBSD
   Version (FreeBSD-STABLE, FreeBSD-CURRENT, usw.) synchronisiert
   haben, ko:nnen Sie diesen benutzen, um das System neu zu bauen.

     Erstellen Sie eine Sicherungskopie!: Es kann nicht oft genug
     betont werden, wie wichtig es ist, Ihr System zu sichern, bevor
     Sie die nachfolgenden Schritte ausfu:hren. Obwohl der Neubau des
     Systems eine einfache Aufgabe ist, wenn Sie sich an die folgende
     Anleitung halten, kann es dennoch vorkommen, dass Sie einen
     Fehler machen, oder dass Ihr System nicht mehr bootet, weil
     andere Entwickler Fehler in den Quellbaum eingefu:hrt haben.

     Stellen Sie sicher, dass Sie eine Sicherung erstellt haben und
     u:ber eine Fixit-Floppy oder eine startfa:hige CD verfu:gen.
     Wahrscheinlich werden Sie die Startmedien nicht beno:tigen, aber
     gehen Sie auf Nummer Sicher!

     Abonnieren Sie die richtige Mailingliste: Die FreeBSD-STABLE und
     FreeBSD-CURRENT Zweige befinden sich in sta:ndiger Entwicklung.
     Die Leute, die zu FreeBSD beitragen, sind Menschen und ab und zu
     machen sie Fehler.

     Manchmal sind diese Fehler harmlos und lassen Ihr System eine
     Warnung ausgeben. Die Fehler ko:nnen allerdings auch
     katastrophal sein und dazu fu:hren, dass Sie Ihr System nicht
     mehr booten ko:nnen, Dateisysteme bescha:digt werden oder
     Schlimmeres passiert.

     Wenn solche Probleme auftauchen, wird ein "heads up" an die
     passende Mailingliste geschickt, welches das Problem erkla:rt
     und die betroffenen Systeme benennt. Eine "all clear" Meldung
     wird versendet, wenn das Problem gelo:st ist.

     Wenn Sie FreeBSD-STABLE oder FreeBSD-CURRENT benutzen und nicht
     die Mailinglisten FreeBSD-STABLE beziehungsweise FreeBSD-CURRENT
     lesen, bringen Sie sich nur unno:tig in Schwierigkeiten.

     Finger weg von make world: A:ltere Dokumentationen empfehlen,
     das Kommando make world fu:r den Neubau. Das Kommando
     u:berspringt wichtige Schritte. Setzen Sie es nur ein, wenn Sie
     wissen was Sie tun. In fast allen Fa:llen ist make world falsch,
     benutzen Sie stattdessen die nachstehende Anleitung.

     --------------------------------------------------------------

  24.6.1. Richtig aktualisieren

   Um Ihr System zu aktualisieren, sollten Sie zuerst
   /usr/src/UPDATING lesen, und eventuelle, fu:r Ihre
   Quellcodeversion no:tigen Aufgaben erledigen, bevor Sie das System
   bauen. Danach aktualisieren Sie Ihr System mit den folgenden
   Schritten:

 # make buildworld
 # make buildkernel
 # make installkernel
 # reboot

     Anmerkung: Es gibt einige, sehr seltene Situationen, in denen
     Sie mergemaster -p zusa:tzlich ausfu:hren mu:ssen, bevor Sie das
     System mit buildworld bauen. Diese Situationen werden in
     UPDATING beschrieben. Solche Situationen treten aber in der
     Regel nur dann auf, wenn Sie Ihr FreeBSD-System um eine oder
     mehrere Hauptversionen aktualisieren.

   Nachdem installkernel erfolgreich abgeschlossen wurde, starten Sie
   das System im Single-User-Modus (etwa durch die Eingabe von boot
   -s am Loaderprompt). Danach fu:hren Sie die folgenden Anweisungen
   aus:

 # mergemaster -p
 # make installworld
 # mergemaster
 # reboot

     Lesen Sie bitte weiter: Die obige Vorschrift ist nur eine
     Geda:chtnisstu:tze. Um die einzelnen Schritte zu verstehen,
     lesen Sie bitte die folgenden Abschnitte, insbesondere wenn Sie
     einen angepassten Kernel erstellen.

     --------------------------------------------------------------

  24.6.2. Lesen Sie /usr/src/UPDATING

   Bevor Sie etwas anderes tun, lesen Sie bitte /usr/src/UPDATING
   (oder die entsprechende Datei, wenn Sie den Quellcode woanders
   installiert haben). Die Datei entha:lt wichtige Informationen zu
   Problemen, auf die Sie stossen ko:nnten oder gibt die Reihenfolge
   vor, in der Sie bestimmte Kommandos laufen lassen mu:ssen. Die
   Anweisungen in UPDATING sind aktueller als die in diesem Handbuch.
   Im Zweifelsfall folgen Sie bitte den Anweisungen aus UPDATING.

     Wichtig: Das Lesen von UPDATING ersetzt nicht das Abonnieren der
     richtigen Mailingliste. Die beiden Voraussetzungen erga:nzen
     sich, es reicht nicht aus, nur eine zu erfu:llen.

     --------------------------------------------------------------

  24.6.3. U:berpru:fen Sie /etc/make.conf

   U:berpru:fen Sie die Dateien /usr/share/examples/etc/make.conf und
   /etc/make.conf. Die erste entha:lt Vorgabewerte, von denen die
   meisten auskommentiert sind. Um diese wa: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 NO_PROFILE
   enthalten, aus /usr/share/examples/etc/make.conf nach
   /etc/make.conf u:bertragen und dort aktivieren.

   Sehen Sie sich auch die anderen Definitionen, wie COPTFLAGS oder
   NOPORTDOCS an und entscheiden Sie, ob Sie diese aktivieren wollen.

     --------------------------------------------------------------

  24.6.4. Aktualisieren Sie die Dateien in /etc

   Das Verzeichnis /etc entha:lt den Grossteil der
   Konfigurationsdateien des Systems und Skripten, die beim Start des
   Systems ausgefu:hrt werden. Einige dieser Skripten a:ndern sich
   bei einer Migration auf eine neue FreeBSD-Version.

   Einige der Konfigurationsdateien, besonders /etc/group, werden
   fu:r den Normalbetrieb des Systems gebraucht.

   Es gab Fa:lle, in denen das Kommando make installworld auf
   bestimmte Accounts oder Gruppen angewiesen war, die aber wa:hrend
   der Aktualisierung fehlten. Demzufolge kam es zu Problemen bei der
   Aktualisierung. In einigen Fa:llen pru:ft make buildworld ob die
   Accounts oder Gruppen vorhanden sind.

   Ein Beispiel dafu:r trat beim Anlegen des Benutzers smmsp auf. Die
   Installationsprozedur schlug an der Stelle fehl, an der mtree(8)
   versuchte, /var/spool/clientmqueue anzulegen.

   Um dieses Problem zu umgehen,rufen Sie mergemaster(8)
   pra:-buildworld-Modus auf, der mit -p aktiviert wird. In diesem
   Modus werden nur Dateien verglichen, die fu:r den Erfolg von
   buildworld oder installworld essentiell sind. Wenn Ihre alte
   Version von mergemaster die Option -p noch nicht unterstu:tzt,
   nehmen Sie beim ersten Lauf die neue Version aus dem Quellbaum:

 # cd /usr/src/usr.sbin/mergemaster
 # ./mergemaster.sh -p

     Tipp: Wenn Sie besonders paranoid sind, sollten Sie Ihr System
     nach Dateien absuchen, die der Gruppe, die Sie umbenennen oder
     lo:schen, geho:ren:

 # 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) geho:ren.

     --------------------------------------------------------------

  24.6.5. Wechseln Sie in den Single-User-Modus

   Sie ko:nnen das System im Single-User-Modus u: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,
   vera:ndert. Sie bringen sich in Schwierigkeiten, wenn Sie diese
   Dateien auf einem laufenden System vera:ndern, besonders dann,
   wenn zu dieser Zeit Benutzer auf dem System aktiv sind.

   Eine andere Methode u:bersetzt das System im Mehrbenutzermodus und
   wechselt fu:r die Installation in 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 ko:nnen Sie mit dem folgenden Kommando ein laufendes
   System in den Single-User-Modus bringen:

 # shutdown now

   Alternativ ko:nnen Sie das System mit der Option "single user" in
   den Single-User-Modus booten. Danach geben Sie die folgenden
   Befehle ein:

 # fsck -p
 # mount -u /
 # mount -a -t ufs
 # swapon -a

   Die Kommandos u:berpru:fen die Dateisysteme, ha:ngen / wieder
   beschreibbar ein, ha:ngen dann alle anderen UFS Dateisysteme aus
   /etc/fstab ein und aktivieren den Swap-Bereich.

     Anmerkung: Zeigt Ihre CMOS-Uhr die lokale Zeit und nicht GMT an,
     dies erkennen Sie daran, dass date(1) die falsche Zeit und eine
     flasche Zeitzone anzeigt, setzen Sie das folgende Kommando ab:

 # adjkerntz -i

     Dies stellt sicher, dass Ihre Zeitzone richtig eingestellt ist.
     Ohne dieses Kommando werden Sie vielleicht spa:ter Probleme
     bekommen.

     --------------------------------------------------------------

  24.6.6. Entfernen Sie /usr/obj

   Die neugebauten Teile des Systems werden in der Voreinstellung
   unter /usr/obj gespeichert. Die Verzeichnisse dort spiegeln die
   Struktur unter /usr/src.

   Sie ko:nnen den make buildworld Prozess beschleunigen, indem Sie
   dieses Verzeichnis entfernen. Dies erspart Ihnen zudem einigen
   A:rger aufgrund von Abha:ngigkeiten.

   Einige Dateien unter /usr/obj sind vielleicht durch die
   immutable-Option (siehe chflags(1)) schreibgeschu:tzt, die vor dem
   Lo:schen entfernt werden muss.

 # cd /usr/obj
 # chflags -R noschg *
 # rm -rf *

     --------------------------------------------------------------

  24.6.7. U:bersetzen der Quellen des Basissystems

    24.6.7.1. Sichern der Ausgaben

   Fu:r den Fall, dass etwas schief geht, sollten Sie die Ausgaben
   von 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 FreeBSD-Mailinglisten schildern.

   Dazu ko:nnen Sie einfach das Kommando script(1) benutzen, dem Sie
   beim Aufruf als Parameter den Dateinamen fu:r die Ausgaben
   mitgeben. Setzen Sie das Kommando unmittelbar vor dem Neubau ab
   und geben Sie exit ein, wenn der Bau abgeschlossen ist:

 # script /var/tmp/mw.out
 Script started, output file is /var/tmp/mw.out
 # make TARGET
 ... Ausgaben des Kommandos ...
 # exit
 Script done, ...

   Sichern Sie die Ausgaben nicht in /tmp, da dieses Verzeichnis beim
   na:chsten Boot aufgera:umt werden kann. Ein geeigneteres
   Verzeichnis ist /var/tmp, wie im vorigen Beispiel gezeigt, oder
   das Heimatverzeichnis von root.

     --------------------------------------------------------------

    24.6.7.2. U:bersetzen des Basissystems

   Wechseln Sie in das Verzeichnis, in dem die Quellen liegen (in der
   Voreinstellung ist das /usr/src):

 # cd /usr/src

   Zum Neubau der Welt benutzen Sie make(1). Dieses Kommando liest
   ein Makefile, das Anweisungen entha:lt, wie die Programme, aus
   denen FreeBSD besteht, zu bauen sind und in welcher Reihenfolge
   diese zu bauen sind.

   Ein typischer Aufruf von make sieht wie folgt aus:

 # make -x -DVARIABLE target

   In diesem Beispiel ist -x eine Option, die Sie an make(1)
   weitergeben wollen. Eine Liste gu:ltiger Optionen finden Sie in
   der make(1) Manualpage.

   Das Verhalten eines Makefiles wird von Variablen bestimmt. Mit
   -DVARIABLE 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:

 # make -DNO_PROFILE target

   Dieser Aufruf entspricht dem folgenden Eintrag in /etc/make.conf:

 NO_PROFILE=    true     #    Avoid compiling profiled libraries

   Jedes Makefile definiert einige "Ziele", die festlegen, was genau
   zu tun ist. Mit target wa:hlen Sie eins dieser Ziele aus.

   Einige Ziele im Makefile sind nicht fu:r den Endanwender gedacht,
   sondern unterteilen den Bauprozess in eine Reihe von
   Einzelschritten.

   Im Regelfall mu:ssen Sie make(1) keine Parameter mitgeben, so dass
   Ihre Kommandozeile wie folgt aussehen wird:

 # make target

   target steht dabei fu:r die verschiedenen Ziele. Das erste Ziel
   sollte immer buildworld sein.

   Mit buildworld wird ein kompletter Baum unterhalb von /usr/obj
   gebaut, der mit installworld, einem weiteren Ziel, auf dem System
   installiert werden kann.

   U:ber seperate Optionen zu verfu:gen, ist aus mehreren Gru:nden
   nu:tzlich. Erstens ko:nnen Sie das System auf einem laufenden
   System bauen, da die Bauprozedur abgekapselt vom Rest des Systems
   ist. Das System la:sst sich im Mehrbenutzermodus ohne negative
   Seiteneffekte bauen. Die Installation mit installworld sollte aber
   immer noch im Single-User-Modus erfolgen.

   Zweitens ko: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 ko:nnen Sie
   die Verzeichnisse /usr/src und /usr/obj von A einha:ngen und
   brauchen dort nur noch make installworld auszufu: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:

 # make buildworld

   Mit -j ko:nnen Sie make anweisen, mehrere Prozesse zu starten.
   Besonders effektiv ist das auf Mehrprozessor-Systemen. Da aber der
   U:bersetzungsprozess hauptsa:chlich von IO statt der CPU bestimmt
   wird, ist diese Option auch auf Einprozessor-Systemen nu:tzlich.

   Auf einem typischen Einprozessor-System ko:nnen Sie den folgenden
   Befehl absetzen:

 # make -j4 buildworld

   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.

     --------------------------------------------------------------

    24.6.7.3. Laufzeiten

   Die Laufzeit eines Baus wird von vielen Faktoren beeinflusst, ein
   aktuelles System beno:tigt aber etwa zwei Stunden um
   FreeBSD-STABLE zu bauen. Der Bau von FreeBSD-CURRENT dauert etwas
   la:nger.

     --------------------------------------------------------------

  24.6.8. U:bersetzen und Installation des Kernels

   Um das Beste aus Ihrem System zu holen, sollten Sie einen neuen
   Kernel kompilieren. Praktisch gesehen ist das sogar notwendig, da
   sich einige Datenstrukturen gea:ndert haben und Programme wie
   ps(1) oder 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 Gera:te
   unterstu: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 ordnungsgema:ss funktioniert. Nachdem Sie
   mit GENERIC gebootet und sichergestellt haben, dass Ihr System
   funktioniert, ko:nnen Sie einen neuen Kernel mit Ihrer
   Konfigurationsdatei bauen.

   In aktuellen FreeBSD-Versionen mu:ssen Sie das Basissystem neu
   bauen, bevor Sie einen neuen Kernel erstellen.

     Anmerkung: Wenn Sie einen angepassten Kernel erstellen wollen
     und bereits u:ber eine Konfigurationsdatei verfu:gen, geben Sie
     diese, wie im folgenden Beispiel gezeigt, auf der Kommandozeile
     an:

 # cd /usr/src
 # make buildkernel KERNCONF=MYKERNEL
 # make installkernel KERNCONF=MYKERNEL

   Wenn kern.securelevel einen Wert gro:sser als 1 besitzt und der
   Kernel mit noschg oder a:hnlichen Optionen geschu:tzt ist, mu:ssen
   Sie installkernel im Einbenutzermodus ausfu:hren. Wenn das nicht
   der Fall ist, sollten die beiden Kommandos problemlos im
   Mehrbenutzermodus laufen. Weitere Informationen u:ber
   kern.securelevel finden Sie in init(8) und chflags(1) erla:utert
   Optionen, die Sie auf Dateien setzen ko:nnen.

     --------------------------------------------------------------

  24.6.9. Booten Sie in den Single-User-Modus

   Um zu pru:fen, ob der neue Kernel funktioniert, sollten Sie in den
   Single-User-Modus booten. Folgen Sie dazu der Anleitung aus
   Abschnitt 24.6.5.

     --------------------------------------------------------------

  24.6.10. 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:

 # cd /usr/src
 # make installworld

     Anmerkung: Wenn Sie mit dem make buildworld Kommando Variablen
     verwenden haben, mu:ssen Sie dieselben Variablen auch bei dem
     make installworld Kommando angeben. Auf die anderen Optionen
     trifft das nur bedingt zu: -j darf mit installworld nicht
     benutzt werden.

     Sie haben zum Bauen die folgende Kommandozeile verwendet:

 # make -DNO_PROFILE buildworld

     Bei der Installation setzen Sie dann das folgende Kommando ab:

 # make -DNO_PROFILE installworld

     Wu:rden Sie die Variable bei der Installation weglassen, so
     wu:rde das System versuchen, die "profiled" Bibliotheken, die
     aber gar nicht gebaut wurden, zu installieren.

     --------------------------------------------------------------

  24.6.11. Aktualisieren der von make installworld ausgelassenen Dateien

   Neue oder gea:nderte Konfigurationsdateien aus einigen
   Verzeichnissen, besonders /etc, /var und /usr werden bei der
   Installationsprozedur nicht beru:cksichtigt.

   Sie ko:nnen diese Dateien mit mergemaster(8) aktualisieren.
   Alternativ ko:nnen Sie das auch manuell durchfu:hren, obwohl wir
   diesen Weg nicht empfehlen. Egal welchen Weg Sie beschreiten,
   sichern Sie vorher den Inhalt von /etc fu:r den Fall, dass etwas
   schief geht.

     --------------------------------------------------------------

    24.6.11.1. mergemaster

   Beigetragen von Tom Rhodes.

   Das Bourne-Shell Skript 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.

   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 diff(1)-Format
   dargestellt. Neue oder gea:nderte Zeilen werden mit +
   gekennzeichnet. Zeilen die gelo:scht oder ersetzt werden, sind mit
   einem - gekennzeichnet. Das Anzeigeformat wird in diff(1) genauer
   erkla:rt.

   mergemaster(8) zeigt Ihnen jede gea:nderte Datei an und Sie haben
   die Wahl, die neue Datei (in mergemaster wird sie tempora:re Datei
   genannt) zu lo:schen, sie unvera:ndert zu installieren, den Inhalt
   der neuen Datei mit dem Inhalt der alten Datei abzugleichen, oder
   die diff(1) Ausgabe noch einmal zu sehen. Sie ko:nnen die aktuelle
   Datei auch u: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 tempora:re Datei lo:schen, geht mergemaster davon
   aus, dass Sie Ihre aktuelle Datei behalten mo:chten. Wa:hlen Sie
   die Option bitte nur dann, wenn Sie keinen Grund sehen, die
   aktuelle Datei zu a:ndern.

   Wenn Sie die tempora:re Datei installieren, wird Ihre aktuelle
   Datei mit der neuen Datei u:berschrieben. Sie sollten alle
   unvera:nderten Konfigurationsdateien auf diese Weise
   aktualisieren.

   Wenn Sie sich entschliessen den Inhalt beider Dateien
   abzugleichen, wird ein Texteditor aufgerufen, indem Sie beide
   Dateien nebeneinander betrachten ko:nnen. Mit der Taste l
   u:bernehmen Sie die aktuelle Zeile der links dargestellten Datei,
   mit der Taste r u:bernehmen Sie die Zeile der rechts dargestellten
   Datei. Das Ergebnis ist eine Datei, die aus Teilen der beiden
   urspru:nglichen Dateien besteht und installiert werden kann.
   Dieses Verfahren wird gewo:hnlich bei vera:nderten Dateien
   genutzt.

   Haben Sie sich entschieden die Differenzen noch einmal anzuzeigen,
   zeigt Ihnen mergemaster(8) dieselbe Ausgabe, die Sie gesehen
   haben, bevor die Eingabeaufforderung ausgegeben wurde.

   Wenn mergemaster(8) alle Systemdateien abgearbeitet hat, werden
   weitere Optionen abgefragt. Sie werden unter Umsta:nden gefragt,
   ob Sie die Passwort-Datei neu bauen lassen wollen. Am Ende haben
   Sie die Mo:glichkeit, den Rest der tempora:ren Dateien zu
   lo:schen.

     --------------------------------------------------------------

    24.6.11.2. Manueller Abgleich der Konfigurationsdateien

   Wenn Sie den Abgleich lieber selbst ausfu:hren wollen, beachten
   Sie bitte, dass Sie nicht einfach die Dateien aus /usr/src/etc
   nach /etc kopieren ko:nnen. Einige dieser Dateien mu:ssen zuerst
   installiert werden, bevor sie benutzt werden ko: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, ko:nnen Sie direkt
   in den na:chsten Abschnitt wechseln.

   Am einfachsten ist es, wenn Sie die neuen Dateien in ein
   tempora:res Verzeichnis installieren und sie nacheinander auf
   Differenzen zu den bestehenden Dateien durchsehen.

     Sichern Sie die Inhalte von /etc: Obwohl bei dieser Prozedur
     keine Dateien in /etc automatisch vera:ndert werden, sollten Sie
     dessen Inhalt an einen sicheren Ort kopieren:

 # cp -Rp /etc /etc.old

     Mit -R wird rekursiv kopiert und -p erha:lt die Attribute der
     kopierten Dateien, wie Zugriffszeiten und Eigentu:mer.

   Sie mu:ssen die neuen Dateien in einem tempora:ren Verzeichnis
   installieren. /var/tmp/root ist eine gute Wahl fu:r das tempora:re
   Verzeichnis, in dem auch noch einige Unterverzeichnisse angelegt
   werden mu:ssen.

 # mkdir /var/tmp/root
 # cd /usr/src/etc
 # make DESTDIR=/var/tmp/root distrib-dirs distribution

   Die obigen Kommandos bauen die no: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:

 # cd /var/tmp/root
 # find -d . -type d | xargs rmdir 2>/dev/null

   Im obigen Beispiel wurde die Fehlerausgabe nach /dev/null
   umgeleitet, um die Warnungen u:ber nicht leere Verzeichnisse zu
   unterdru:cken.

   /var/tmp/root entha:lt nun alle Dateien, die unterhalb von /
   installiert werden mu:ssen. Sie mu:ssen nun jede dieser Dateien
   mit den schon existierenden Dateien vergleichen.

   Einige der installierten Dateien unter /var/tmp/root beginnen mit
   einem ".". Als dieses Kapitel verfasst wurde, waren das nur die
   Startdateien fu:r die Shells in /var/tmp/root/ und
   /var/tmp/root/root/. Abha:ngig davon, wann Sie dieses Handbuch
   lesen, ko:nnen mehr Dateien dieser Art existieren. Verwenden Sie
   ls -a um sicherzustellen, dass Sie alle derartigen Dateien finden.

   Benutzen Sie diff(1) um Unterschiede zwischen zwei Dateien
   festzustellen:

 # 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 u:ber die
   alte kopieren wollen.

     Versehen Sie das tempora:re Verzeichnis mit einem Zeitstempel:
     Wenn Sie das System oft neu bauen, mu:ssen Sie /etc genauso oft
     aktualisieren. Dies kann mit der Zeit sehr la:stig werden.

     Sie ko: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.

      1. Folgen Sie der normalen Prozedur um das System zu bauen.
         Wenn Sie /etc und die anderen Verzeichnisse aktualisieren
         wollen, geben Sie dem tempora:ren Verzeichnis einen Namen,
         der das aktuelle Datum entha:lt. Wenn Sie dies zum Beispiel
         am 14. Februar 1998 durchfu:hrten, ha:tten Sie die folgenden
         Kommandos abgesetzt:

 # mkdir /var/tmp/root-19980214
 # cd /usr/src/etc
 # make DESTDIR=/var/tmp/root-19980214 \
     distrib-dirs distribution

      2. Gleichen Sie die A:nderungen entsprechend der Anleitung von
         oben ab.

         Wenn Sie fertig sind, entfernen Sie das Verzeichnis
         /var/tmp/root-19980214 nicht.

      3. 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.

      4. Sie ko:nnen nun die Unterschiede, die sich in einer Woche
         ergeben haben, sehen, indem Sie diff(1) rekursiv anwenden:

 # cd /var/tmp
 # diff -r root-19980214 root-19980221

         U: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 durchzufu:hren.

      5. Sie ko:nnen nun das a:lteste der beiden /var/tmp/root-*
         Verzeichnisse entfernen:

 # rm -rf /var/tmp/root-19980214

      6. Wiederholen Sie diesen Prozess jedes Mal wenn Sie Dateien in
         /etc abgleichen mu:ssen.

     Mit date(1) ko:nnen Sie den Verzeichnisnamen automatisch
     erzeugen:

 # mkdir /var/tmp/root-`date "+%Y%m%d"`

     --------------------------------------------------------------

  24.6.12. Das System neu starten

   Sie sind nun am Ende der Prozedur angelangt. Nachdem Sie sich
   davon u:berzeugt haben, dass Ihr System funktioniert, starten Sie
   Ihr System mit shutdown(8) neu:

 # shutdown -r now

     --------------------------------------------------------------

  24.6.13. Ende

   Herzlichen Glu:ckwunsch! Sie haben gerade erfolgreich Ihr FreeBSD
   System aktualisiert.

   Es ist u:brigens leicht einen Teil des Systems wiederherzustellen,
   fu:r den Fall, dass Ihnen ein kleiner Fehler unterlaufen ist. Wenn
   Sie beispielsweise wa:hrend des Updates oder Abgleichs /etc/magic
   aus Versehen gelo:scht haben, wird file(1) nicht mehr
   funktionieren. In diesem Fall ko:nnen Sie das Problem mit dem
   folgenden Kommando beheben:

 # cd /usr/src/usr.bin/file
 # make all install

     --------------------------------------------------------------

  24.6.14. Fragen

   24.6.14.1. Muss ich wirklich immer alles neu bauen, wenn sich
   etwas gea:ndert hat?

   24.6.14.2. Der Bau bricht mit vielen "Signal 11"-Fehlern (oder
   anderen Signalnummern) ab. Was ist da passiert?

   24.6.14.3. Kann ich /usr/obj lo:schen, wenn ich fertig bin?

   24.6.14.4. Kann ein abgebrochener Bau weitergefu:hrt werden?

   24.6.14.5. Wie kann ich den Bauprozesss beschleunigen?

   24.6.14.6. Was mache ich, wenn etwas nicht funktioniert?

   24.6.14.1. Muss ich wirklich immer alles neu bauen, wenn sich
   etwas gea:ndert hat?

   Darauf gibt es keine einfache Antwort. Was zu tun ist, ha:ngt von
   den A:nderungen ab. Es lohnt wahrscheinlich nicht, alles neu zu
   bauen, wenn sich bei einem CVSup-Lauf nur die folgenden Dateien
   gea: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 ko:nnen Sie in die entsprechenden
   Unterverzeichnisse wechseln und dort make all install ausfu:hren.
   Wenn sich allerdings etwas Wichtiges, wie src/lib/libc/stdlib,
   gea:ndert hat, sollten Sie die Welt oder mindestens die statisch
   gelinkten Teile des Systems (sowie Ihre statisch gelinkten
   Erga: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 A:nderungen zu sammeln. Wenn Sie sich
   zutrauen, alle Abha:ngigkeiten zu erkennen, bauen Sie vielleicht
   auch nur die gea:nderten Sachen neu.

   Das ha:ngt natu:rlich auch noch davon ab, wie oft Sie ein Update
   durchfu:hren wollen und ob Sie FreeBSD-STABLE oder FreeBSD-CURRENT
   benutzen.

   24.6.14.2. Der Bau bricht mit vielen "Signal 11"-Fehlern (oder
   anderen Signalnummern) ab. Was ist da passiert?

   Normalerweise zeigen diese Meldungen Hardwarefehler an. Ein Neubau
   der Welt ist ein guter Belastungstest fu:r Ihre Hardware und zeigt
   oft Probleme mit dem Speicher auf. Dies a:ussert sich darin, dass
   der Kompiler mit dem Erhalt von seltsamen Signalen abbricht.

   Es liegt garantiert ein Hardwarefehler vor, wenn ein neuer
   U:bersetzungslauf an einer anderen Stelle abbricht.

   In diesem Fall ko:nnen Sie nur einzelne Komponenten Ihres Systems
   tauschen, um zu bestimmen, welche Komponente den Fehler
   verursacht.

   24.6.14.3. Kann ich /usr/obj lo:schen, wenn ich fertig bin?

   Kurze Antwort: Ja.

   In /usr/obj werden alle Dateien abgelegt, die wa:hrend der
   U: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 ungefa:hr 340 MB, frei, wenn Sie es
   lo:schen.

   Wenn Sie allerdings genau wissen, was Sie tun, ko:nnen Sie diesen
   Schritt bei make buildworld auslassen. Nachfolgende Bauprozeduren
   werden dadurch erheblich schneller, da die meisten Quelldateien
   nicht mehr neu u:bersetzt werden. Dafu:r ko:nnen aber subtile
   Abha:ngigkeitsprobleme entstehen, die dazu fu:hren, dass der Bau
   auf merkwu:rdige Weise abbrechen kann. Dies fu:hrt ha:ufig zu
   unno:tigen Diskussionen auf den FreeBSD Mailinglisten, wenn sich
   jemand u:ber einen kaputten Bau beschwert, aber nicht sieht, dass
   er Probleme hat, weil er eine Abku:rzung genommen hat.

   24.6.14.4. Kann ein abgebrochener Bau weitergefu:hrt werden?

   Das ha:ngt davon ab, wieweit der Bauprozess fortgeschritten ist.

   U:blicherweise werden essentielle Werkzeuge, wie gcc(1) und
   make(1), und die Systembibliotheken wa:hrend des Bauprozesses neu
   erstellt (dies ist aber keine allgemein gu:ltige Regel). Die neu
   erstellen Werkzeuge und Bibliotheken werden dann benutzt, um sich
   selbst noch einmal zu bauen, und wieder installiert. Anschliessend
   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, ko:nnen Sie mit ziemlicher Sicherheit
   den Bau weiterfu:hren:

 ... Fehler beheben ...
 # cd /usr/src
 # make -DNO_CLEAN all

   Diese Variablen verhindern, dass make buildworld die vorher
   erstellten Dateien lo: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.

   24.6.14.5. 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 Mo:glichkeit
     auch getrennte Platten-Controller.

   * Noch besser ist es, diese Dateisysteme auf mehrere Festplatten
     mit ccd(4) zu verteilen.

   * Bauen Sie die "profiled"-Bibliotheken, die Sie wahrscheinlich
     sowieso nicht brauchen, nicht. /etc/make.conf sollte dazu
     NO_PROFILE=true enthalten.

   * Setzen Sie die CFLAGS in /etc/make.conf auf -O -pipe. Die
     Optimierungsstufe -O2 ist deutlich langsamer und die
     Performance-Unterschiede zwischen -O und -O2 sind
     vernachla:ssigbar klein. -pipe veranlasst den Kompiler Pipes
     anstelle von Dateien fu:r die Kommunikation zu benutzen. Dies
     spart einige Plattenzugriffe, geht aber auf Kosten des
     Speichers.

   * Benutzen Sie -jn, um mehrere Prozesse parallel laufen zu lassen.
     Normalerweise beschleunigt dies den Bauprozess unabha:ngig
     davon, ob Sie ein Einprozessor oder Mehrprozessor System
     einsetzen.

   * Sie ko:nnen das Dateisystem /usr/src mit der Option noatime
     einha:ngen. Dies verhindert, dass die Zugriffszeiten der Dateien
     aktualisiert werden (eine Information, die Sie vielleicht gar
     nicht brauchen).

 # mount -u -o noatime /usr/src

       Warnung: 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, mu:ssen Sie anstelle von /usr/src den
       Mountpoint des Dateisystems angeben.

   * Das Dateisystem, in dem sich /usr/obj befindet, kann mit der
     Option async eingehangen werden. Dies bewirkt, dass
     Schreibzugriffe auf die Platte asynchron stattfinden, das heisst
     ein Schreibzugriff ist sofort beendet, die Daten werden
     allerdings erst einige Sekunden spa:ter geschrieben. Dadurch
     ko:nnen Schreibzugriffe zusammengefasst werden, was einen
     erheblichen Geschwindigkeitszuwachs mit sich bringen kann.

       Warnung: Beachten Sie, dass dies Ihr Dateisystem anfa:lliger
       fu:r Fehler macht. Im Fall eines Stromausfalls besteht eine
       erho:hte Wahrscheinlichkeit, dass das Dateisystem beim Start
       der Maschine zersto: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.

 # mount -u -o async /usr/obj

       Warnung: Ersetzen Sie /usr/obj durch den Mountpoint des
       entsprechenden Dateisystems, wenn es sich nicht auf einem
       eigenen Dateisystem befindet.

   24.6.14.6. 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:

 # chflags -R noschg /usr/obj/usr
 # rm -rf /usr/obj/usr
 # cd /usr/src
 # make cleandir
 # make cleandir

   Ja, make cleandir muss wirklich zweimal aufgerufen werden.

   Nachdem Sie aufgera: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
   'Fragen und Antworten zu FreeBSD'
   <de-bsd-questions@de.FreeBSD.org>. Bereiten Sie sich darauf vor,
   weitere Fragen zu Ihrer Umgebung zu beantworten.

     --------------------------------------------------------------

24.7. Installation mehrerer Maschinen

   Beigetragen von Mike Meyer.

   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 u:bersetzen. Die
   Lo:sung dazu ist, eine Maschine den Grossteil der Arbeit
   durchfu:hren zu lassen und den anderen Maschinen das Ergebnis mit
   NFS zur Verfu:gung zu stellen. Dieser Abschnitt zeigt Ihnen wie
   das geht.

     --------------------------------------------------------------

  24.7.1. 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. Wa:hlen Sie aus der Baugruppe eine Maschine aus, auf der
   der Bau durchgefu:hrt wird, den Bau-Master. Dies sollte eine
   Maschine sein, die u:ber die no:tigen Ressourcen fu:r make
   buildworld und make installworld verfu: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 u:ber einen la:ngeren Zeitraum nicht zur
   Verfu:gung stehen kann.

   Alle Maschinen der Baugruppe mu:ssen /usr/obj und /usr/src von
   derselben Maschine an gleichem Ort einha:ngen. Idealerweise
   befinden sich die beiden Verzeichnisse auf dem Bau-Master auf
   verschiedenen Festplatten, sie ko:nnen allerdings auch auf dem
   Bau-Master u:ber NFS zur Verfu:gung gestellt werden. Wenn Sie
   mehrere Baugruppen haben, sollte sich /usr/src auf einem
   Bau-Master befinden und u:ber NFS fu:r den Rest der Maschinen zur
   Verfu:gung gestellt werden.

   Stellen Sie sicher, dass /etc/make.conf auf allen Maschinen einer
   Baugruppe mit der Datei des Bau-Masters u:bereinstimmt. Der
   Bau-Master muss jeden Teil des Systems bauen, den irgendeine
   Maschine der Baugruppe beno:tigt. Auf dem Bau-Master mu: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. Fu:r jeden zu bauenden Kernel muss auf dem Bau-Master
   die entsprechende Konfigurationsdatei unter /usr/src/sys/arch/conf
   abgelegt werden.

     --------------------------------------------------------------

  24.7.2. Installation des Basissystems

   Nach diesen Vorbereitungen ko:nnen Sie mit dem Bau beginnen. Bauen
   Sie auf dem Bau-Master, wie in Abschnitt 24.6.7.2 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 u:ber NFS
   bekommt, mu:ssen Sie das Netzwerk im Single-User-Modus aktivieren
   und die beiden Dateisysteme einha:ngen. Am einfachsten ist dies,
   wenn Sie auf der Testmaschine ausgehend vom Mehrbenutzermodus mit
   shutdown now in den Single-User-Modus wechseln. Sie ko:nnen dann
   mit der normalen Prozedur den neuen Kernel und das System
   installieren und anschliessend mergemaster laufen lassen. Wenn Sie
   damit fertig sind, ko:nnen Sie die Maschine wieder in den
   Mehrbenutzermodus booten.

   Nachdem Sie sichergestellt haben, dass die Testmaschine
   einwandfrei funktioniert, wiederholen Sie diese Prozedur fu:r jede
   Maschine in der Baugruppe.

     --------------------------------------------------------------

  24.7.3. Die Ports-Sammlung

   Dasselbe Verfahren ko:nnen Sie auch fu:r die Ports-Sammlung
   anwenden. Zuerst mu:ssen alle Maschinen einer Baugruppe /usr/ports
   von derselben Maschine u:ber NFS zur Verfu:gung gestellt bekommen.
   Setzen Sie dann ein Verzeichnis fu:r die Quellen auf, das sich
   alle Maschinen teilen. Dieses Verzeichnis ko:nnen Sie in
   /etc/make.conf mit der Variablen DISTDIR angeben. Das Verzeichnis
   sollte fu: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.

     --------------------------------------------------------------

                           Kapitel 25. DTrace

   Written by Tom Rhodes. U:bersetzt von Benedict Reuschling und
   Christoph Sold.

25.1. U:berblick

   DTrace, auch bekannt als Dynamic Tracing, wurde von Sun als ein
   Werkzeug zur Analyse von Performance-Problemen in Produktiv- und
   Entwicklungssystemen entwickelt. Es ist kein Debugging-Werkzeug,
   sondern ein Hilfsmittel fu:r Echtzeit-Systemanalysen.

   DTrace ist ein bemerkenswertes Werkzeug zur Profilerstellung, mit
   einer beeindruckenden Palette von Eigenschaften zur Diagnose von
   Systemereignissen. Es kann auch dazu verwendet werden, bestehende
   Skripte ablaufen zu lassen, um einen Nutzen aus deren
   Mo:glichkeiten zu ziehen. Nutzer ko:nnen mittels der
   Programmiersprache D von DTrace ihre eigenen Hilfsmittel
   schreiben, was es ermo:glicht, die eigenen Profile nach Ihren
   Bedu:rfnissen anzupassen.

   Nachdem Sie dieses Kapitel gelesen haben, werden Sie Folgendes
   wissen:

     * Was DTrace ist und welche Funktionen es zur Verfu:gung stellt.

     * Unterschiede zwischen der Solaris DTrace Implementierung und
       derjenigen, die FreeBSD bereitstellt.

     * Wie man DTrace auf FreeBSD aktiviert und verwendet.

   Bevor Sie dieses Kapitel lesen, sollten Sie:

     * UNIX und FreeBSD Grundlagen verstehen (Kapitel 3).

     * Einen Kernel konfigurieren und kompilieren ko:nnen (Kapitel
       8).

     * Vertraut sein mit Sicherheitsaspekten und wie diese FreeBSD
       betreffen (Kapitel 14).

     * Verstehen, wie man den Quellcode von FreeBSD beziehen und das
       Betriebssystem neu erstellen kann (Kapitel 24).

     Warnung: Diese Funktion ist als experimentell anzusehen. Manche
     Einstellungen enthalten mo:glicherweise nicht alle
     Funktionalita:ten, andere Teile ko:nnten gar nicht laufen. Mit
     der Zeit, wenn diese Funktion als fu:r den Produktivbetrieb
     geeignet erscheint, wird auch diese Dokumentation gea:ndert, um
     diesem Umstand gerecht zu werden.

     --------------------------------------------------------------

25.2. Unterschiede in der Implementierung

   Obwohl DTrace in FreeBSD sehr a:hnlich zu dem in Solaris ist,
   existieren doch Unterschiede, die vorher erkla:rt werden mu:ssen.
   Der Hauptunterschied fu:r die Anwender besteht darin, dass in
   FreeBSD DTrace explizit aktiviert werden muss. Es existieren
   Kerneloptionen und Module, die aktiviert sein mu:ssen, damit
   DTrace korrekt arbeitet. Diese werden spa:ter genauer erla:tert.

   Die Kerneloption DDB_CTF wird dafu:r verwendet, um die
   Unterstu:tzung im Kernel fu:r das Laden von CTF-Daten aus
   Kernelmodulen und dem Kernel selbst zu ermo:glichen. CTF ist das
   Compact C Type Format von Solaris, welches eine reduzierte Form
   von Debug-Informationen kapselt, a:hnlich zu DWARF und den antiken
   Stabs. Diese CTF-Daten werden dem Bina:rcode von den ctfconvert
   und ctfmerge Befehlen den Werkzeugen zum Bauen des Systems
   hinzugefu:gt. Das ctfconvert-Dienstprogramm parst die vom Compiler
   erstellten DWARF ELF Debug-Abschnitte und ctfmerge vereint CTF
   ELF-Abschnitte aus Objekten, entweder in ausfu:hrbare Dateien oder
   Shared-Libraries. In Ku:rze erfahren Sie, wie Sie dies fu:r den
   Kernel und den Bau von FreeBSD aktivieren.

   Einige Provider in FreeBSD unterscheiden sich von der
   Solaris-Implementierung. Am deutlichsten wird das beim
   dtmalloc-Provider, welcher das Aufzeichnen von malloc() nach Typen
   im FreeBSD-Kernel ermo:glicht.

   In FreeBSD darf DTrace wegen unterschiedlicher Sicherheitskonzepte
   nur von root verwendet werden. Solaris besitzt ein paar
   Audit-Funktionen auf den unteren Ebenen, die noch nicht in FreeBSD
   implementiert sind. Deshalb kann nur root auf /dev/dtrace/dtrace
   zugreifen.

   Zum Schluss muss noch erwa:hnt werden, dass die DTrace-Software
   unter Suns CDDL Lizenz fa:llt. Die Common Development and
   Distribution License wird von FreeBSD mitgeliefert, sehen Sie sich
   dazu /usr/src/cddl/contrib/opensolaris/OPENSOLARIS.LICENSE an,
   oder lesen Sie die Online-Version unter
   http://www.opensolaris.org/os/licensing.

   Diese Lizenz bedeutet, dass ein FreeBSD-Kernel mit den
   DTrace-Optionen immer noch BSD-lizenziert ist; allerdings tritt
   die CDDL in Kraft, wenn Module in Bina:rform vertrieben werden
   oder die Bina:rdateien geladen werden.

     --------------------------------------------------------------

25.3. Die DTrace Unterstu:tzung aktivieren

   Um Unterstu:tzung fu:r DTrace zu aktivieren, fu:gen Sie die
   folgenden Zeilen zu Ihrer Kernelkonfigurationsdatei hinzu:

 options         KDTRACE_HOOKS
 options         DDB_CTF

     Anmerkung: Besitzer der AMD-Architektur werden wahrscheinlich
     noch die folgende Zeile zur Kernelkonfigurationsdatei
     hinzufu:gen:

 options         KDTRACE_FRAME

     Diese Option liefert die Unterstu:tzung fu:r die
     FBT-Eigenschaft. DTrace wird auch ohne diese Option
     funktionieren; jedoch wird dann Function Boundary Tracing nur
     eingeschra:nkt unterstu:tzt.

   Der gesamte Quellcode muss neu gebaut und mit der CTF-Option
   installiert werden. Um das zu erreichen, bauen Sie FreeBSD aus dem
   Quellcode mittels:

 # cd /usr/src
 # make WITH_CTF=1 kernel

   Das System muss im Anschluss daran neu gestartet werden.

   Nachdem das System neu gestartet und der neue Kernel in den
   Hauptspeicher geladen wurde, sollte die Unterstu:tzung fu:r die
   Korn-Shell hinzugefu:gt werden. Dies wird beno:tigt, da die
   Sammlung von DTrace-Werkzeugen mehrere Dienstprogramme entha:lt,
   die in ksh implementiert sind. Installieren Sie shells/ksh93. Es
   ist auch mo:glich, diese Werkzeuge unter shells/pdksh oder
   shells/mksh laufen zu lassen.

   Zum Schluss sollten Sie noch den aktuellen DTrace-Werkzeugsatz
   beschaffen. Die aktuelle Version ist unter
   http://www.opensolaris.org/os/community/dtrace/dtracetoolkit/
   verfu:gbar. Ein Mechanismus zur Installation ist enthalten,
   allerdings ist eine Installation nicht unbedingt no:tig, um die
   darin enthaltenen Dienstprogramme einzusetzen.

     --------------------------------------------------------------

25.4. DTrace verwenden

   Bevor die DTrace-Funktionalta:t benutzt werden kann, muss das
   DTrace-Gera:t existieren. Um das Gera:t zu laden, geben Sie das
   folgende Kommando ein:

 # kldload dtraceall

   Die DTrace-Unterstu:tzung sollte jetzt verfu:gbar sein. Um alle
   Sonden anzuzeigen, kann der Administrator nun den folgenden Befehl
   eingeben:

 # dtrace -l | more

   Alle Ausgaben werden an das more-Programm u:bergeben, da der
   Bildschirmpuffer sehr schnell u:berlaufen wird. Ab diesem Punkt
   kann DTrace als einsatzbereit angesehen werden. Jetzt ist es an
   der Zeit, sich na:her mit dem Satz von Werkzeugen zu
   bescha:ftigen.

   Der Werkzeugsatz ist eine Sammlung von vorgefertigten Skripten,
   die von DTrace ausgefu:hrt werden ko:nnen, um Systeminformationen
   zu sammeln. Es gibt Skripte, die offene Dateien u:berpru:fen, den
   Speicher, CPU-Verbrauch und noch viel mehr. Entpacken Sie die
   Skripte mit dem folgenden Befehl:

 # gunzip -c DTraceToolkit* | tar xvf -

   Wechseln Sie mit dem cd-Kommando in dieses Verzeichnis und a:ndern
   Sie die Berechtigung zum Ausfu:hren von allen Dateien, deren Name
   klein geschrieben ist, auf 755.

   All diese Skripte mu:ssen inhaltlich vera:ndert werden.
   Diejenigen, die auf /usr/bin/ksh verweisen, mu:ssen in
   /usr/local/bin/ksh gea:ndert werden und die Anderen, welche
   /usr/bin/sh verwenden, mu:ssen so angepasst werden, dass sie
   /bin/sh verwenden. Schliesslich mu:ssen noch diejenigen, die
   /usr/bin/perl enthalten, auf /usr/local/bin/perl umgeschrieben
   werden.

     Wichtig: Zu diesem Zeitpunkt ist es klug, den Leser noch einmal
     daran zu erinnern, dass die Unterstu:tzung von DTrace in FreeBSD
     noch unvollsta:ndig und experimentell ist. Viele dieser Skripte
     werden nicht funktionieren, da diese entweder zu sehr
     Solaris-spezifisch sind oder Sonden verwenden, die zur Zeit noch
     nicht unterstu:tzt werden.

   Zum Zeitpunkt, an dem dieses Dokument geschrieben wurde,
   existieren nur zwei Skripte im DTrace-Werkzeugsatz, die von
   FreeBSD komplett unterstu:tzt werden: die Skripte hotkernel und
   procsystime. Diese beiden werden in den folgenden Teilen dieses
   Abschnitts genauer untersucht.

   hotkernel wurde entworfen, um zu identifizieren, welche Funktion
   die meiste Kernelzeit beansprucht. Normal ausgefu:hrt, wird es
   Ausgaben a:hnlich der Folgenden produzieren:

 # ./hotkernel
 Sampling... Hit Ctrl-C to end.

   Der Systemadministrator muss die Tastenkombination Ctrl+C
   dru:cken, um den Prozess zu stoppen. Nach dem Abbruch wird das
   Skript eine Liste von Kernelfunktionen und Zeitmessungen ausgeben,
   aufsteigend sortiert nach den Zeiten:

 kernel`_thread_lock_flags                                   2   0.0%
 0xc1097063                                                  2   0.0%
 kernel`sched_userret                                        2   0.0%
 kernel`kern_select                                          2   0.0%
 kernel`generic_copyin                                       3   0.0%
 kernel`_mtx_assert                                          3   0.0%
 kernel`vm_fault                                             3   0.0%
 kernel`sopoll_generic                                       3   0.0%
 kernel`fixup_filename                                       4   0.0%
 kernel`_isitmyx                                             4   0.0%
 kernel`find_instance                                        4   0.0%
 kernel`_mtx_unlock_flags                                    5   0.0%
 kernel`syscall                                              5   0.0%
 kernel`DELAY                                                5   0.0%
 0xc108a253                                                  6   0.0%
 kernel`witness_lock                                         7   0.0%
 kernel`read_aux_data_no_wait                                7   0.0%
 kernel`Xint0x80_syscall                                     7   0.0%
 kernel`witness_checkorder                                   7   0.0%
 kernel`sse2_pagezero                                        8   0.0%
 kernel`strncmp                                              9   0.0%
 kernel`spinlock_exit                                       10   0.0%
 kernel`_mtx_lock_flags                                     11   0.0%
 kernel`witness_unlock                                      15   0.0%
 kernel`sched_idletd                                       137   0.3%
 0xc10981a5                                              42139  99.3%

   Dieses Skript funktioniert auch mit Kernelmodulen. Um diese
   Eigenschaft zu verwenden, starten Sie das Skript mit dem Parameter
   -m:

 # ./hotkernel -m
 Sampling... Hit Ctrl-C to end.
 ^C
 MODULE                                                  COUNT   PCNT
 0xc107882e                                                  1   0.0%
 0xc10e6aa4                                                  1   0.0%
 0xc1076983                                                  1   0.0%
 0xc109708a                                                  1   0.0%
 0xc1075a5d                                                  1   0.0%
 0xc1077325                                                  1   0.0%
 0xc108a245                                                  1   0.0%
 0xc107730d                                                  1   0.0%
 0xc1097063                                                  2   0.0%
 0xc108a253                                                 73   0.0%
 kernel                                                    874   0.4%
 0xc10981a5                                             213781  99.6%

   Das procsystime Skript fa:ngt die Systemaufruf-Zeiten ab und zeigt
   diese fu:r eine gegebene PID oder einen Prozessnamen an. Im
   folgenden Beispiel wurde eine neue Instanz von /bin/csh erzeugt.
   procsystime wurde ausgefu:hrt und verbleibt so, wa:hrend ein paar
   Befehle in die andere Instanz von csh eingegeben werden. Dies sind
   die Ergebnisse dieses Versuchs:

 # ./procsystime -n csh
 Tracing... Hit Ctrl-C to end...
 ^C

 Elapsed Times for processes csh,

          SYSCALL          TIME (ns)
           getpid               6131
        sigreturn               8121
            close              19127
            fcntl              19959
              dup              26955
          setpgid              28070
             stat              31899
        setitimer              40938
            wait4              62717
        sigaction              67372
      sigprocmask             119091
     gettimeofday             183710
            write             263242
           execve             492547
            ioctl             770073
            vfork            3258923
       sigsuspend            6985124
             read         3988049784

   Wie aus der Ausgabe ersichtlich ist, verbraucht der
   read()-Systemaufruf die meiste Zeit in Nanosekunden, wa:hrend der
   Systemaufruf getpid() hingegen am schnellsten la:ft.

     --------------------------------------------------------------

25.5. Die Sprache D

   Der DTrace Werkzeugsatz entha:lt viele Skripte in der speziellen
   Sprache von DTrace. Diese Sprache wird als "die D Sprache" in der
   Dokumentation von Sun bezeichnet und ist C++ sehr a:hnlich. Eine
   tiefergehende Betrachtung dieser Sprache wu:rde den Rahmen dieses
   Dokuments sprengen. Ausfu:hrlich wird diese Sprache unter
   http://wikis.sun.com/display/DTrace/Documentation behandelt.

                             IV. Netzwerke

   FreeBSD ist eins der meist benutzten Betriebssysteme fu:r
   leistungsfa:hige Netzwerkserver. Die Kapitel in diesem Teil
   behandeln die nachstehenden Themen:

     * Serielle Datenu:bertragung

     * PPP und PPP over Ethernet

     * Electronic-Mail

     * Den Betrieb von Netzwerkdiensten

     * Firewalls

     * Weiterfu:hrende Netzwerkthemen

   Diese Kapitel sollten Sie lesen, wenn Sie die Informationen darin
   beno:tigen. Sie brauchen Sie nicht in einer bestimmten Reihenfolge
   zu lesen, noch mu:ssen Sie die Kapitel lesen, bevor Sie anfangen,
   FreeBSD zu benutzen.

   Inhaltsverzeichnis

   26. Serielle Datenu:bertragung

   27. PPP und SLIP

   28. Elektronische Post (E-Mail)

   29. Netzwerkserver

   30. Firewalls

   31. Weiterfu:hrende Netzwerkthemen

     --------------------------------------------------------------

                 Kapitel 26. Serielle Datenu:bertragung

   U:bersetzt von Martin Heinen.

26.1. U:bersicht

   UNIX Systeme unterstu:tzten schon immer die serielle
   Datenu:bertragung. Tatsa:chlich wurden Ein- und Ausgaben auf den
   ersten UNIX Maschinen u:ber serielle Leitungen durchgefu:hrt. Seit
   der Zeit, in der ein durchschnittlicher "Terminal" aus einem
   seriellen Drucker mit 10 Zeichen/Sekunde und einer Tastatur
   bestand, hat sich viel vera:ndert. Dieses Kapitel behandelt einige
   Mo:glichkeiten, serielle Datenu:bertragung unter FreeBSD zu
   verwenden.

   Nachdem Sie dieses Kapitel durchgearbeitet haben, werden Sie
   Folgendes wissen:

     * Wie Sie Terminals an Ihr FreeBSD anschliessen.

     * Wie Sie sich mit einem Modem auf einem entfernten Rechner
       einwa:hlen.

     * Wie Sie entfernten Benutzern erlauben, sich mit einem Modem in
       Ihr System einzuwa:hlen.

     * Wie Sie Ihr System u:ber eine serielle Konsole booten.

   Bevor Sie dieses Kapitel lesen, sollten Sie

     * einen neuen Kernel konfigurieren und installieren ko:nnen
       (Kapitel 8).

     * Das Berechtigungskonzept von UNIX und Prozesse verstehen
       (Kapitel 3).

     * Zudem sollten Sie Zugriff auf die Handbu:cher der seriellen
       Komponenten (Modem oder Multiportkarte) haben, die Sie mit
       FreeBSD verwenden wollen.

     --------------------------------------------------------------

26.2. Einfu:hrung

  26.2.1. Begriffe

   bps

           Bits pro Sekunde - Einheit fu:r die
           U:bertragungsgeschwindigkeit.

   DEE (DTE)

           Datenendeinrichtung (Data Terminal Equipment) - zum
           Beispiel Ihr Computer.

   DU:E (DCE)

           Datenu:bertragungseinrichtung (Data Communications
           Equipment) - Ein Modem.

   RS-232

           EIA (Electronic Industries Association) Norm fu:r die
           serielle Datenu:bertragung.

   In diesem Abschnitt wird der Begriff "Baud" nicht fu:r
   U:bertragungsgeschwindigkeiten gebraucht. Baud bezeichnet
   elektrische Zustandswechsel pro Zeiteinheit, die Taktfrequenz,
   wa:hrend "bps" (Bits pro Sekunde) der richtige Begriff fu:r die
   U:bertragungsgeschwindigkeit ist (die meisten Pedanten sollten
   damit zufrieden sein).

     --------------------------------------------------------------

  26.2.2. Kabel und Schnittstellen

   Um ein Modem oder einen Terminal an Ihr FreeBSD-System
   anzuschliessen, muss Ihr Computer u:ber eine serielle
   Schnittstelle verfu:gen. Zusa:tzlich brauchen Sie noch das
   passende Kabel, um das Gera:t mit der Schnittstelle zu verbinden.
   Wenn Sie mit Ihren Gera:ten und den no:tigen Kabeln schon vertraut
   sind, ko:nnen Sie diesen Abschnitt u:berspringen.

     --------------------------------------------------------------

    26.2.2.1. Kabel

   Es gibt verschiedene serielle Kabel. Die zwei ha:ufigsten sind
   Nullmodemkabel und Standard-RS-232-Kabel. Die Dokumentation Ihrer
   Hardware sollte beschreiben, welchen Kabeltyp Sie beno:tigen.

     --------------------------------------------------------------

      26.2.2.1.1. Nullmodemkabel

   Ein Nullmodemkabel verbindet einige Signale, wie die Betriebserde,
   eins zu eins, andere Signale werden getauscht: Die Sende- und
   Empfangsleitungen werden zum Beispiel gekreuzt.

   Sie ko:nnen das Kabel fu:r die Anbindung eines Terminals auch
   selbst herstellen. Die folgende Tabelle entha:lt die Signalnamen
   von RS-232C sowie die Pinbelegung fu:r einen Stecker vom Typ
   DB-25. Beachten Sie dabei aber, dass der Standard zwar eine
   direkte Verbindung beider Pin 1 (Protective Ground) vorschreibt,
   diese aber in vielen Fa:llen nicht vorhanden ist. Einige Terminals
   beno:tigen nur die Pins 2, 3 und 7 fu:r eine korrekte Funktion,
   wa:hrend andere eine unterschiedliche Konfiguration als die in den
   folgenden Beispielen gezeigte beno:tigen.

   Tabelle 26-1. Nullmodemkabel vom Typ DB-25-zu-DB-25

   Signal       Pin #                          Pin #      Signal      
   SG           7           verbunden mit      7          SG          
   TD           2           verbunden mit      3          RD          
   RD           3           verbunden mit      2          TD          
   RTS          4           verbunden mit      5          CTS         
   CTS          5           verbunden mit      4          RTS         
   DTR          20          verbunden mit      6          DSR         
   DTR          20          verbunden mit      8          DCD         
   DSR          6           verbunden mit      20         DTR         
   DCD          8           verbunden mit      20         DTR         

   Die folgenden zwei Schemata werden heutzutage ebenfalls ha:ufig
   eingesetzt:

   Tabelle 26-2. Nullmodemkabel vom Typ DB-9-zu-DB-9

   Signal       Pin #                          Pin #      Signal      
   RD           2           verbunden mit      3          TD          
   TD           3           verbunden mit      2          RD          
   DTR          4           verbunden mit      6          DSR         
   DTR          4           verbunden mit      1          DCD         
   SG           5           verbunden mit      5          SG          
   DSR          6           verbunden mit      4          DTR         
   DCD          1           verbunden mit      4          DTR         
   RTS          7           verbunden mit      8          CTS         
   CTS          8           verbunden mit      7          RTS         

   Tabelle 26-3. Nullmodemkabel vom Typ DB-9-zu-DB-25

   Signal       Pin #                          Pin #      Signal      
   RD           2           verbunden mit      2          TD          
   TD           3           verbunden mit      3          RD          
   DTR          4           verbunden mit      6          DSR         
   DTR          4           verbunden mit      8          DCD         
   SG           5           verbunden mit      7          SG          
   DSR          6           verbunden mit      20         DTR         
   DCD          1           verbunden mit      20         DTR         
   RTS          7           verbunden mit      5          CTS         
   CTS          8           verbunden mit      4          RTS         

     Anmerkung: Wird ein Pin eines Kabels mit zwei Pins des anderen
     Kabels verbunden, werden dazu in der Regel zuerst die beiden
     Pins mit einem kurzem Draht verbunden. Danach wird dieser Draht
     mit dem Pin des anderen Endes verbunden.

   Die eben besprochenen Schemata scheinen die beliebtesten zu sein.
   Es gibt aber noch weitere Varianten. Im Buch RS-232 Made Easy wird
   beispielsweise SG mit SG verbunden, TD mit RD, RTS und CTS mit
   DCD, DTR mit DSR, und umgekehrt.

     --------------------------------------------------------------

      26.2.2.1.2. Standard RS-232C Kabel

   Ein Standard-RS-232C-Kabel verbindet alle Signale direkt, das
   heisst das Signal "Transmitted Data" wird mit dem Signal
   "Transmitted Data" der Gegenstelle verbunden. Dieses Kabel wird
   beno:tigt, um ein Modem mit einem FreeBSD-System zu verbinden.
   Manche Terminals beno:tigen dieses Kabel ebenfalls.

     --------------------------------------------------------------

    26.2.2.2. Schnittstellen

   U:ber serielle Schnittstellen werden Daten zwischen dem
   FreeBSD-System und dem Terminal u:bertragen. Dieser Abschnitt
   beschreibt die verschiedenen Schnittstellen und wie sie unter
   FreeBSD angesprochen werden.

     --------------------------------------------------------------

      26.2.2.2.1. 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 DB-25-Stecker. Personal Computer
   haben DB-25- oder DB-9-Stecker. Wenn Sie eine serielle
   Multiportkarte fu:r Ihren PC besitzen, haben Sie vielleicht RJ-12-
   oder RJ-45-Anschlu:sse.

   Die Dokumentation Ihrer Gera:te sollte Aufschluss u:ber den Typ
   der beno:tigten Anschlu:sse geben. Oft hilft es, wenn Sie sich den
   Anschluss einfach ansehen.

     --------------------------------------------------------------

      26.2.2.2.2. Schnittstellenbezeichnung

   Unter FreeBSD sprechen Sie die serielle Schnittstelle (Port) u:ber
   einen Eintrag im /dev Verzeichnis an. Es gibt dort zwei
   verschiedene Eintra:ge:

     * Schnittstellen fu:r eingehende Verbindungen werden /dev/ttydN
       genannt. Dabei ist N die Nummer der Schnittstelle, deren
       Za:hlung bei Null beginnt. Allgemein wird diese Schnittstelle
       fu:r Terminals benutzt. Diese Schnittstelle funktioniert nur,
       wenn ein "Data Carrier Detect" Signal (DCD) vorliegt.

     * Fu:r ausgehende Verbindungen wird /dev/cuadN verwendet. Dieser
       Port wird normalerweise nur von Modems genutzt. Sie ko:nnen
       ihn allerdings fu:r Terminals benutzen, die das "Data Carrier
       Detect" Signal nicht unterstu:tzen.

   Wenn Sie einen Terminal an die erste serielle Schnittstelle (COM1
   in MS-DOS), angeschlossen haben, sprechen Sie ihn u:ber /dev/ttyd0
   an. Wenn er an der zweiten seriellen Schnittstelle angeschlossen
   ist, verwenden Sie /dev/ttyd1, usw.

     --------------------------------------------------------------

  26.2.3. Kernelkonfiguration

   In der Voreinstellung benutzt FreeBSD vier serielle
   Schnittstellen, die in MS-DOS-Kreisen als COM1, COM2, COM3 und
   COM4 bekannt sind. Momentan unterstu: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 Standardanschlu:ssen.

   Um zu u:berpru:fen, ob der Kernel eine Ihrer seriellen
   Schnittstellen erkennt, achten Sie auf die Meldungen beim Booten,
   oder schauen sich diese spa:ter mit /sbin/dmesg an. Insbesondere
   sollten Sie auf Meldungen achten, die mit den Zeichen sio
   anfangen.

     Tipp: Das folgende Kommando zeigt Ihnen nur die Meldungen an,
     die die Folge sio enthalten:

 # /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,
   mu:ssen Sie Ihren Kernel u:ber die Datei /boot/device.hints
   konfigurieren. Zusa:tzlich ko:nnen Sie Eintra:ge fu:r Gera:te, die
   auf Ihrem System nicht vorhanden sind, aus dem Kernel entfernen.

   Die Hilfeseite sio(4) entha:lt weitere Informationen zu seriellen
   Schnittstellen und Multiportkarten. Seien Sie vorsichtig, wenn Sie
   Konfigurationsdateien von a:lteren FreeBSD-Versionen verwenden, da
   sich die Syntax und die Bedeutung der Optionen zwischen
   verschiedenen Versionen gea:ndert hat.

     Anmerkung: port IO_COM1 ist ein Ersatz fu:r port 0x3f8, IO_COM2
     bedeutet port 0x2f8, IO_COM3 bedeutet port 0x3e8 und IO_COM4
     steht fu:r port 0x2e8. Die angegebenen IO-Adressen sind genau
     wie die Interrupts 4, 3, 5 und 9 u:blich fu:r serielle
     Schnittstellen. Beachten Sie bitte, dass sich normale serielle
     Schnittstellen auf ISA-Bussen keine Interrupts teilen ko:nnen.
     Multiportkarten besitzen zusa:tzliche Schaltkreise, die es allen
     16550As auf der Karte erlauben, sich einen oder zwei Interrupts
     zu teilen.

     --------------------------------------------------------------

  26.2.4. Gera:tedateien

   Die meisten Gera:te im Kernel werden durch Gera:tedateien in /dev
   angesprochen. Die sio Gera:te werden durch /dev/ttydN fu:r
   eingehende Verbindungen und durch /dev/cuadN fu:r ausgehende
   Verbindungen angesprochen. Zum Initialisieren der Gera:te stellt
   FreeBSD die Dateien /dev/ttydN.init und /dev/cuadN.init zur
   Verfu:gung. Zusa:tzlich existieren Dateien fu:r das Sperren von
   Gera:tedateien (Locking). Dabei handelt es sich um die Dateien
   /dev/ttydN.lock und /dev/cuadN.lock. Diese Dateien werden benutzt,
   um Kommunikationsparameter beim O:ffnen eines Ports vorzugeben.
   Fu:r Modems, die zur Flusskontrolle RTS/CTS benutzen, kann damit
   crtscts gesetzt werden. Die Gera:te /dev/ttyldN und /dev/cualaN
   (locking devices) werden genutzt, um bestimmte Parameter
   festzuschreiben und vor Vera:nderungen zu schu:tzen. Weitere
   Informationen zu Terminals finden Sie in termios(4), sio(4)
   erkla:rt die Dateien zum Initialisieren und Sperren der Gera:te,
   stty(1) beschreibt schliesslich Terminal-Einstellungen.

     --------------------------------------------------------------

  26.2.5. Konfiguration der seriellen Schnittstelle

   Anwendungen benutzen normalerweise die Gera:te ttydN oder cuadN.
   Das Gera:t besitzt einige Voreinstellungen fu:r Terminal-I/O, wenn
   es von einem Prozess geo:ffnet wird. Mit dem folgenden Kommando
   ko:nnen Sie sich diese Einstellungen ansehen:

 # stty -a -f /dev/ttyd1

   Sie ko:nnen diese Einstellungen vera:ndern, sie bleiben allerdings
   nur solange wirksam, bis das Gera:t geschlossen wird. Wenn das
   Gera:t danach wieder geo:ffnet wird, sind die Voreinstellungen
   wieder wirksam. Um die Voreinstellungen zu a:ndern, o:ffnen Sie
   das Gera:t, das zum Initialisieren dient und vera:ndern dessen
   Einstellungen. Um beispielsweise fu:r ttyd5 den CLOCAL Modus,
   8-Bit Kommunikation und XON/XOFF Flusssteuerung einzuschalten,
   setzen Sie das folgende Kommando ab:

 # stty -f /dev/ttyd5.init clocal cs8 ixon ixoff

   In /etc/rc.d/rc.serial werden die systemweiten Voreinstellungen
   fu:r serielle Gera:te vorgenommen.

   Um zu verhindern, dass Einstellungen von Anwendungen vera:ndert
   werden, ko:nnen Sie die Gera: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:

 # stty -f /dev/ttyld5 57600

   Eine Anwendung, die ttyd5 o:ffnet, kann nun nicht mehr die
   Geschwindigkeit a:ndern und muss 57600 bps benutzen.

   Die Gera:te zum Initialisieren und Festschreiben von Einstellungen
   sollten selbstversta:ndlich nur von root beschreibbar sein.

     --------------------------------------------------------------

26.3. Terminals

   Beigetragen von Sean Kelly.

   Wenn Sie sich nicht an der Konsole oder u:ber ein Netzwerk an
   Ihrem FreeBSD-System anmelden ko:nnen, sind Terminals ein bequemer
   und billiger Weg auf Ihr System zuzugreifen. Dieser Abschnitt
   beschreibt wie Sie Terminals mit FreeBSD benutzen.

     --------------------------------------------------------------

  26.3.1. Terminaltypen

   Das urspru:ngliche UNIX System besass 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 Grafikfa:higkeiten,
   trotzdem gibt es in fast jedem UNIX System die Mo:glichkeit, sich
   u:ber die serielle Schnittstelle anzumelden; FreeBSD ist da keine
   Ausnahme. Sie ko: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 ko:nnen Sie viele Terminals an ein
   FreeBSD-System anschliessen und diese auf den Arbeitspla:tzen
   Ihrer Angestellten aufstellen. Im privaten Umfeld kann ein
   a:lterer IBM PC oder Macintosh als Terminal dienen. Damit
   verwandeln Sie einen Einzelarbeitsplatz in ein leistungsfa:higes
   Mehrbenutzersystem.

   FreeBSD kennt drei verschiedene Terminals:

     * Dumb terminals,

     * PCs, die als Terminals fungieren,

     * X Terminals.

   Die folgenden Abschnitte beschreiben jeden dieser Terminals.

     --------------------------------------------------------------

    26.3.1.1. Dumb-Terminals

   Dumb-Terminals (unintelligente Datenstationen) sind Gera:te, die
   u: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 ko: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 Gera:te verfu:gen sogar u:ber Grafikfa: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 mu:ssen.

     --------------------------------------------------------------

    26.3.1.2. PCs, die als Terminal fungieren

   Jeder PC kann die Funktion eines Dumb-Terminals, der ja nur Text
   senden und empfangen kann, u:bernehmen. Dazu brauchen Sie nur das
   richtige Kabel und eine Terminalemulation, die auf dem PC la:uft.

   Diese Konfiguration ist im privaten Umfeld sehr beliebt. Wenn Ihr
   Ehepartner zum Beispiel gerade an der FreeBSD-Konsole arbeitet,
   ko:nnen Sie einen weniger leistungsstarken PC, der als Terminal
   mit dem FreeBSD-System verbunden ist, benutzen, um dort
   gleichzeitig im Textmodus zu arbeiten.

   Bereits im Basissystem sind mindestens zwei Werkzeuge vorhanden,
   die Sie zur Arbeit u:ber eine serielle Konsole einsetzen ko:nnen:
   cu(1) sowie tip(1).

   Um sich von einem FreeBSD-System aus u:ber eine serielle
   Verbindung mit einem anderen System zu verbinden, geben Sie
   folgenden Befehl ein:

 # cu -l serial-port-device

   "serial-port-device" ist hier der Name der Gera:tedatei, die einer
   bestimmten seriellen Schnittstelle Ihres Systems zugewiesen ist.
   Diese Gera:tedateien werden /dev/cuadN genannt.

   Der Buchstabe "N" muss dabei durch die Nummer des seriellen Ports
   Ihres Systems ersetzt werden.

     Anmerkung: Beachten Sie, dass die Numerierung dieses Daten (im
     Gegensatz etwa zu MS-DOS-kompatiblen Systemen) unter FreeBSD mit
     Null und nicht mit Eins beginnt. Die Schnittstelle "COM1"
     entspricht daher in der Regel /dev/cuad0 unter FreeBSD.

     Anmerkung: In der Ports-Sammlung finden sich weitere Programme
     (beispielsweise comms/minicom), mit denen Sie eine Verbindung
     u:ber eine serielle Schnittstelle herstellen ko:nnen.

     --------------------------------------------------------------

    26.3.1.3. X-Terminals

   X-Terminals sind die ausgereiftesten der verfu: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 beschra:nkt, sondern ko:nnen jede
   X-Anwendung darstellen.

   X-Terminals sind hier nur der Vollsta:ndigkeit halber aufgeza:hlt.
   Die Einrichtung von X-Terminals wird in diesem Abschnitt nicht
   beschrieben.

     --------------------------------------------------------------

  26.3.2. Konfiguration

   Im Folgenden wird beschrieben, wie Sie Ihr FreeBSD-System
   konfigurieren mu:ssen, um sich an einem Terminal anzumelden. Dabei
   wird vorausgesetzt, dass der Kernel bereits die serielle
   Schnittstelle, die mit dem Terminal verbunden ist, unterstu:tzt.
   Weiterhin sollte der Terminal schon angeschlossen sein.

   Aus Kapitel 12 wissen Sie, dass init fu: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 fu:r jeden verfu:gbaren Terminal einen getty Prozess.
   getty wiederum fragt beim Anmelden den Benutzernamen ab und
   startet login.

   Um Terminals auf Ihrem FreeBSD-System einzurichten, fu:hren Sie
   folgenden Schritte als root durch:

    1. Wenn er noch nicht da ist, fu:gen Sie einen Eintrag in
       /etc/ttys fu:r die serielle Schnittstelle aus /dev ein.

    2. Geben Sie /usr/libexec/getty als auszufu:hrendes Programm an.
       Als Parameter fu:r getty geben Sie den passenden
       Verbindungstyp aus /etc/gettytab an.

    3. Geben Sie den Terminaltyp an.

    4. Aktivieren Sie den Anschluss.

    5. Geben Sie die Sicherheit des Anschlusses an.

    6. Veranlassen Sie init /etc/ttys erneut zu lesen.

   Optional ko:nnen Sie in /etc/gettytab auch einen auf Ihre Zwecke
   angepassten Terminaltyp erstellen. Die genaue Vorgehensweise wird
   in diesem Abschnitt nicht erkla:rt, aber die Manualpages von
   gettytab(5) und getty(8) enthalten dazu weitere Informationen.

     --------------------------------------------------------------

    26.3.2.1. Hinzufu:gen eines Eintrags in /etc/ttys

   In /etc/ttys werden alle Terminals aufgefu:hrt, an denen Sie sich
   auf dem FreeBSD-System anmelden ko:nnen. Hier findet sich zum
   Beispiel ein Eintrag fu:r die erste virtuelle Konsole /dev/ttyv0,
   der es Ihnen ermo:glicht, sich dort anzumelden. Die Datei entha:lt
   des Weiteren Eintra:ge fu:r andere virtuelle Konsolen, serielle
   Schnittstellen und Pseudoterminals. Wenn Sie einen Terminal
   konfigurieren wollen, fu:gen sie einen Eintrag fu:r den Namen des
   Gera:tes aus /dev ohne das Pra:fix /dev hinzu. Zum Beispiel wird
   /dev/ttyv0 als ttyv0 aufgefu:hrt.

   In der Voreinstellung entha:lt /etc/ttys Eintra:ge fu:r die ersten
   vier seriellen Schnittstellen: ttyd0 bis ttyd3. Wenn Sie an eine
   von diesen einen Terminal anschliessen, brauchen Sie keinen
   weiteren Eintrag hinzuzufu:gen.

   Beispiel 26-1. Eintra:ge in /etc/ttys hinzufu:gen

   Angenommen, wir wollen an ein System zwei Terminals anschliessen:
   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 Eintra:ge in /etc/ttys wu:rden
   dann wie folgt aussehen:

 ttyd1(1)  "/usr/libexec/getty std.38400"(2)  wy50(3)  on(4)  insecure(5)
 ttyd5   "/usr/libexec/getty std.19200"  vt100  on  insecure
          

   (1)
           Das erste Feld gibt normalerweise den Namen der
           Gera:tedatei aus /dev an.
   (2)
           Im zweiten Feld wird das auszufu:hrende Kommando, normal
           ist das getty(8), angegeben. getty initialisiert und
           o:ffnet die Verbindung, setzt die Geschwindigkeit und
           fragt den Benutzernamen ab. Danach fu:hrt es login(1) aus.

           getty akzeptiert einen optionalen Parameter auf der
           Kommandozeile, den Verbindungstyp, der die Eigenschaften
           der Verbindung, wie die Geschwindigkeit und Parita:t,
           festlegt. Die Typen und die damit verbundenen
           Eigenschaften liest getty aus /etc/gettytab.

           /etc/gettytab entha:lt viele Eintra:ge sowohl fu:r neue
           wie auch alte Terminalverbindungen. Die meisten Eintra:ge,
           die mit std beginnen, sollten mit einem festverdrahteten
           Terminal funktionieren. Fu:r jede Geschwindigkeit zwischen
           110 bps und 115200 bps gibt es einen std Eintrag.
           Natu:rlich ko:nnen Sie auch eigene Eintra:ge erstellen,
           Informationen dazu finden Sie in gettytab(5).

           Wenn Sie den Verbindungstyp in /etc/ttys eintragen,
           stellen Sie bitte sicher, dass die
           Kommunikationseinstellungen auch mit denen des Terminals
           u:bereinstimmen.

           In unserem Beispiel verwendet der Wyse-50 keine Parita:t
           und 38400 bps, der 286 PC benutzt ebenfalls keine Parita:t
           und arbeitet mit 19200 bps.

   (3)
           Das dritte Feld gibt den Terminaltyp an, der normalerweise
           mit diesem Anschluss verbunden ist. Fu:r
           Einwa:hlverbindungen wird oft unknown oder dialup benutzt,
           da sich die Benutzer praktisch mit beliebigen Terminals
           oder Emulatoren anmelden ko:nnen. Bei festverdrahteten
           Terminals a:ndert sich der Typ nicht, so dass Sie in
           diesem Feld einen richtigen Typ aus der termcap(5)
           Datenbank angeben ko:nnen.

           In unserem Beispiel benutzen wir fu:r den Wyse-50 den
           entsprechenden Typ aus termcap(5), der 286 PC wird als
           VT-100, den er ja emuliert, angegeben.

   (4)
           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 ausgefu:hrt und folglich ko:nnen Sie sich dann an
           dem betreffenden Terminal nicht anmelden.
   (5)
           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) u:ber diese Verbindung
           anmelden. Wenn Sie insecure angeben, du:rfen sich nur
           unprivilegierte Benutzer anmelden. Diese ko:nnen spa:ter
           mit su(1) oder einem a:hnlichen Mechanismus zu root
           wechseln.

           Es wird dringend empfohlen, insecure nur fu:r Terminals
           hinter verschlossenen Tu:ren zu verwenden, da Sie mit su
           leicht zum Superuser werden ko:nnen.

     --------------------------------------------------------------

    26.3.2.2. init zwingen, /etc/ttys erneut zu lesen

   Nachdem Sie die no:tigen A:nderungen in /etc/ttys vorgenommen
   haben, schicken Sie init ein SIGHUP-Signal (hangup), um es zu
   veranlassen, seine Konfigurationsdatei neu zu lesen:

 # kill -HUP 1

     Anmerkung: 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 fu:r jeden Terminal ein
   getty Prozess laufen und auf jedem Terminal sollten Sie eine
   Anmeldeaufforderung sehen.

     --------------------------------------------------------------

  26.3.3. Fehlersuche

   Selbst wenn Sie den Anweisungen akribisch gefolgt sind, kann es
   immer noch zu Fehlern beim Einrichten eines Terminals kommen. Die
   folgende Aufza:hlung von Symptomen beschreibt mo:gliche Lo:sungen:

     --------------------------------------------------------------

    26.3.3.1. Es erscheint kein Anmeldeprompt

   Stellen Sie sicher, dass der Terminal verbunden und eingeschaltet
   ist. Wenn ein PC als Terminal fungiert, u:berpru:fen Sie, dass die
   Terminalemulation auf den richtigen Schnittstellen la: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 fu:r die
   Geschwindigkeit (bps) und Parita:t auf dem FreeBSD System und dem
   Terminal gleich sind. Wenn Ihr Terminal einen Bildschirm besitzt,
   u:berpru:fen Sie die richtige Einstellung von Helligkeit und
   Kontrast. Wenn Ihr Terminal druckt, stellen Sie die ausreichende
   Versorgung mit Papier und Tinte sicher.

   U:berpru:fen Sie mit ps, dass der getty Prozess fu:r den Terminal
   la:uft:

 # ps -axww|grep getty

   Fu:r jeden Terminal sollten Sie einen Eintrag sehen. Aus dem
   folgenden Beispiel erkennen Sie, dass getty auf der zweiten
   seriellen Schnittstelle tyyd1 la: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 la:uft, u:berpru:fen Sie, ob der Anschluss in
   /etc/ttys aktiviert ist. Haben Sie kill -HUP 1 abgesetzt, nachdem
   Sie /etc/ttys gea:ndert hatten?

   Wenn getty la:uft, aber der Terminal immer noch kein Anmeldeprompt
   ausgibt, oder Sie am Anmeldeprompt nichts eingeben ko:nnen, kann
   es sein, dass Ihr Terminal oder Kabel keinen Hardware-Handshake
   unterstu:tzt. A:ndern Sie dann den Eintrag std.38400 in /etc/ttys
   zu 3wire.38400. Nachdem Sie /etc/ttys gea:ndert haben, setzen Sie
   das Kommando kill -HUP 1 ab. Der Eintrag 3wire besitzt a:hnliche
   Eigenschaften wie der Eintrag std, ignoriert aber den
   Hardware-Handshake. Wenn Sie den Eintrag 3wire verwenden, mu:ssen
   Sie vielleicht die Geschwindigkeit verkleinern oder die
   Software-Flusssteuerung aktivieren, um Pufferu:berla:ufe zu
   vermeiden.

     --------------------------------------------------------------

    26.3.3.2. Es erscheinen nur unversta:ndliche Zeichen

   Stellen Sie sicher, dass die Einstellungen fu:r die
   Geschwindigkeit (bps) und Parita: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.

     --------------------------------------------------------------

    26.3.3.3. Zeichen erscheinen doppelt und eingegebene Passwo:rter
    erscheinen im Klartext

   Stellen Sie den Terminal oder die Terminalemulation von "half
   duplex" oder "local echo" auf "full duplex." um.

     --------------------------------------------------------------

26.4. Einwa:hlverbindungen

   Beigetragen von Guy Helmer. Mit Anmerkungen von Sean Kelly.

   Das Einrichten von Einwa:hlverbindungen a:hnelt dem Anschliessen
   von Terminals, nur dass Sie anstelle eines Terminals ein Modem
   verwenden.

     --------------------------------------------------------------

  26.4.1. Externe und interne Modems

   Externe Modems sind fu:r Einwa:hlverbindungen besser geeignet, da
   sie die Konfiguration in nicht flu:chtigem RAM speichern ko:nnen.
   Zudem verfu:gen Sie u:ber Leuchtanzeigen, die den Status wichtiger
   RS-232 Signale anzeigen und unter Umsta:nden Besucher beeindrucken
   ko:nnen.

   Interne Modems verfu:gen normalerweise nicht u:ber nicht
   flu:chtiges RAM und lassen sich meist nur u:ber DIP-Schalter
   konfigurieren. Selbst wenn ein internes Modem Leuchtanzeigen
   besitzt, sind diese meist schwer einzusehen, wenn das Modem
   eingebaut ist.

     --------------------------------------------------------------

    26.4.1.1. Modems und Kabel

   Mit einem externen Modem mu:ssen Sie das richtige Kabel benutzen:
   Ein Standard RS-232C Kabel, bei dem die folgenden Signale
   miteinander verbunden sind, sollte ausreichen:

   Tabelle 26-4. Signalnamen

   Abku:rzung Bedeutung                                               
   RD         Received Data                                           
   TD         Transmitted Data                                        
   DTR        Data Terminal Ready                                     
   DSR        Data Set Ready                                          
   DCD        Data Carrier Detect (dadurch erkennt RS-232 das Signal  
              Received Line)                                          
   SG         Signal Ground                                           
   RTS        Request to Send                                         
   CTS        Clear to Send                                           

   Ab Geschwindigkeiten von 2400 bps beno:tigt FreeBSD die Signale
   RTS und CTS fu:r die Flusssteuerung. Das Signal CD zeigt an, ob
   ein Tra:ger vorliegt, das heisst ob die Verbindung aufgebaut ist
   oder beendet wurde. DTR zeigt an, dass das Gera:t betriebsbereit
   ist. Es gibt einige Kabel, bei denen nicht alle no: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
   schliessen und das Modem zuru: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.

     --------------------------------------------------------------

  26.4.2. Schnittstellenbausteine

   FreeBSD unterstu:tzt EIA RS-232C (CCITT V.24) serielle
   Schnittstellen, die auf den NS8250, NS16450, NS16550 oder NS16550A
   Bausteinen basieren. Die Bausteine der Serie 16550 verfu:gen u:ber
   einen 16 Byte grossen Puffer, der als FIFO angelegt ist. Wegen
   Fehler in der FIFO-Logik kann der Puffer in einem 16550 Baustein
   allerdings nicht genutzt werden, das heisst 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
   grosser Systemlast erzeugt. Es sollten daher nach Mo:glichkeit
   serielle Schnittstellen, die auf 16550A Bausteinen basieren,
   eingesetzt werden.

     --------------------------------------------------------------

  26.4.3. U:berblick

   Wie bei Terminals auch, startet init fu:r jede serielle
   Schnittstelle, die eine Einwa:hlverbindung zur Verfu: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 einwa: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 O:ffnen
   der Schnittstelle durch getty. Dann sendet getty das Anmeldeprompt
   mit der ersten fu:r die Verbindung vereinbarten Geschwindigkeit
   und wartet auf eine Antwort. Wenn die Antwort unversta:ndlich ist,
   weil zum Beispiel die Geschwindigkeit des Modems von gettys
   Geschwindigkeit abweicht, versucht getty die Geschwindigkeit
   solange anzupassen, bis es eine versta:ndliche Antwort erha:lt.

   getty fu:hrt, nachdem der Benutzer seinen Namen eingegeben hat,
   /usr/bin/login aus, welches das Passwort abfragt und danach die
   Shell des Benutzers startet.

     --------------------------------------------------------------

  26.4.4. Konfigurationsdateien

   Drei Konfigurationsdateien in /etc steuern, ob eine Einwahl in Ihr
   FreeBSD-System mo:glich ist. Die erste, /etc/gettytab,
   konfiguriert den /usr/libexec/getty Daemon. In /etc/ttys wird
   festgelegt, auf welchen Schnittstellen /sbin/init einen getty
   Prozess startet. Schliesslich haben Sie in /etc/rc.d/serial die
   Mo:glichkeit, Schnittstellen zu initialisieren.

   Es gibt zwei Ansichten daru:ber, wie Modems fu:r
   Einwa:hlverbindungen unter UNIX zu konfigurieren sind. Zum einen
   kann die Geschwindigkeit zwischen dem Modem und dem Computer fest
   eingestellt werden. Sie ist damit unabha:ngig von der
   Geschwindigkeit, mit der sich der entfernte Benutzer einwa:hlt.
   Dies hat den Vorteil, dass der entfernte Benutzer das
   Anmeldeprompt sofort bekommt. Der Nachteil bei diesem Verfahren
   ist, dass das System die tatsa:chliche Geschwindigkeit der
   Verbindung nicht kennt. Damit ko:nnen bildschirmorientierte
   Programme wie Emacs ihren Bildschirmaufbau nicht an langsame
   Verbindungen anpassen, um die Antwortzeiten zu verbessern.

   Die andere Mo: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, wa: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
   unversta:ndliche Zeichen erha:lt, muss er solange Enter dru:cken,
   bis das Anmeldeprompt erscheint. Solange die Geschwindigkeiten
   nicht u:bereinstimmen, sind die Antworten der Gegenstelle fu:r
   getty ebenfalls unversta:ndlich. In diesem Fall wechselt getty zur
   na:chsten Geschwindigkeit und gibt wieder login: aus. In aller
   Regel erha:lt der Benutzer der Gegenstelle nach ein bis zwei
   Tastendru: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 ko:nnen.

   Im Folgenden wird die Konfiguration fu:r beide Methoden
   besprochen, doch die Methode der angepassten Geschwindigkeit wird
   bei der Diskussion bevorzugt.

     --------------------------------------------------------------

    26.4.4.1. /etc/gettytab

   Mit /etc/gettytab wird getty(8) im Stil von termcap(5)
   konfiguriert. Das Format dieser Datei und die Bedeutung der
   Eintra:ge wird in gettytab(5) beschrieben.

     --------------------------------------------------------------

      26.4.4.1.1. Konfiguration fu:r feste Geschwindigkeit

   Wenn Sie die Modemgeschwindigkeit vorgeben, werden Sie in
   /etc/gettytab nichts a:ndern mu:ssen.

     --------------------------------------------------------------

      26.4.4.1.2. Konfiguration fu:r angepasste Geschwindigkeit

   In /etc/gettytab mu:ssen Eintra:ge fu:r die Geschwindigkeiten, die
   Sie benutzen wollen, sein. Wenn Sie ein 2400 bps Modem besitzen,
   ko: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 ho:heren Geschwindigkeit besitzen,
   mu:ssen Sie wahrscheinlich in /etc/gettytab weitere Eintra:ge
   erstellen. Hier ist ein Beispiel, das Sie mit einem 14400 bps
   Modem benutzen ko: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
   Parita:t.

   Im obigen Beispiel startet die Geschwindigkeit bei 19200 bps (eine
   V.32bis Verbindung) und geht dann u:ber 9600 bps (V.32), 400 bps,
   1200 bps und 300 bps wieder zuru:ck zu 19200 bps. Das
   Schlu:sselwort nx= (next table) sorgt fu:r das zyklische
   Durchlaufen der Geschwindigkeiten. Jede Zeile zieht zudem noch mit
   tc= (table continuation) die Vorgabewerte fu:r die jeweilige
   Geschwindigkeit an.

   Wenn Sie ein 28800 bps Modem besitzen und/oder Kompression mit
   einem 14400 bps Modem benutzen wollen, brauchen Sie ho: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:

     Anmerkung: 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".

     --------------------------------------------------------------

    26.4.4.2. /etc/ttys

   /etc/ttys wurde bereits in Beispiel 26-1 besprochen. Die
   Konfiguration fu:r Modems ist a:hnlich, allerdings braucht getty
   ein anderes Argument und es muss ein anderer Terminaltyp angegeben
   werden. Der Eintrag fu: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 Gera:tedatei fu: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 fu:r dieses Gera:t startet (xxx wird durch einen passenden
   Eintrag aus /etc/gettytab ersetzt). Die Vorgabe fu:r den
   Terminaltyp, hier dialup, wird im dritten Feld angegeben. Das
   vierte Feld, on, zeigt init an, dass die Schnittstelle aktiviert
   ist. Im fu:nften Feld ko:nnte noch secure angegeben werden, um
   Anmeldungen von root zu erlauben, doch sollte das wirklich nur
   fu:r physikalisch sichere Terminals, wie die Systemkonsole,
   aktiviert werden.

   Die Vorgabe fu:r den Terminaltyp, dialup im obigen Beispiel,
   ha:ngt von lokalen Gegebenheiten ab. Traditionell wird dialup fu:r
   Einwa:hlverbindungen verwendet, so dass die Benutzer in ihren
   Anmeldeskripten den Terminaltyp auf ihren Terminal abstimmen
   ko:nnen, wenn der Typ auf dialup gesetzt ist. Wenn Sie aber
   beispielsweise nur VT102 Terminals oder Emulatoren einsetzen,
   ko:nnen Sie den Terminaltyp hier auch fest auf vt102 setzen.

   Nachdem Sie /etc/ttys gea:ndert haben, mu:ssen Sie init ein HUP
   Signal schicken, damit es die Datei wieder einliest. Sie ko:nnen
   dazu das folgende Kommando verwenden:

 # kill -HUP 1

   Wenn Sie das System zum ersten Mal konfigurieren, sollten Sie
   dieses Kommando erst ausfu:hren, wenn Sie Ihr Modem richtig
   konfiguriert und angeschlossen haben.

     --------------------------------------------------------------

      26.4.4.2.1. Konfiguration fu:r feste Geschwindigkeit

   Das Argument von getty muss in diesem Fall eine feste
   Geschwindigkeit vorgeben. Der Eintrag fu:r ein Modem, das fest auf
   19200 bps eingestellt ist, ko: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 gu:ltiger
   Verbindungstyp aus /etc/gettytab ist.

     --------------------------------------------------------------

      26.4.4.2.2. Konfiguration fu:r angepasste Geschwindigkeit

   Das Argument von getty muss hier auf einen der Eintra:ge aus
   /etc/gettytab zeigen, der zu einer Kette von Eintra:gen geho:rt,
   die die zu probierenden Geschwindigkeiten beschreiben. Wenn Sie
   dem obigen Beispiel gefolgt sind und zusa:tzliche Eintra:ge in
   /etc/gettytab erzeugt haben, ko:nnen Sie die folgende Zeile
   verwenden:

 ttyd0   "/usr/libexec/getty V19200"   dialup on

     --------------------------------------------------------------

    26.4.4.3. /etc/rc.d/serial

   Modems, die ho:here Geschwindigkeiten unterstu:tzen, zum Beispiel
   V.32, V.32bis und V.34 Modems, benutzen Hardware-Flusssteuerung
   (RTS/CTS). Fu:r die entsprechenden Schnittstellen ko:nnen Sie die
   Flusssteuerung mit stty in /etc/rc.d/serial einstellen.

   Um beispielsweise die Hardware-Flusssteuerung fu:r die Gera:te zur
   Ein- und Auswahl der zweiten seriellen Schnittstelle (COM2) zu
   aktivieren, benutzen Sie die Dateien zur Initialisierung der
   entsprechenden Gera:te und fu:gen die folgenden Zeilen in
   /etc/rc.d/serial hinzu:

 # Serial port initial configuration
 stty -f /dev/ttyd1.init crtscts
 stty -f /dev/cuad1.init crtscts

     --------------------------------------------------------------

  26.4.5. Modemkonfiguration

   Wenn Sie ein Modem besitzen, das seine Konfiguration in nicht
   flu:chtigem RAM speichert, werden Sie ein Terminalprogramm wie
   Telix unter MS-DOS oder tip unter FreeBSD beno:tigen, um die
   Parameter einzustellen. Verbinden Sie sich mit derselben
   Geschwindigkeit, die getty zuerst benutzen wu:rde, mit dem Modem
   und treffen Sie folgende Einstellungen:

     * DCD ist eingeschaltet, wenn das Tra:gersignal des entfernten
       Modems erkannt wird.

     * Im Betrieb liegt DTR an. Bei einem Verlust von DTR legt das
       Modem auf und setzt sich zuru:ck.

     * CTS Flusssteuerung ist fu:r ausgehende Daten aktiviert.

     * XON/XOFF Flusssteuerung ist ausgeschaltet.

     * RTS Flusssteuerung ist fu:r eingehende Daten aktiviert.

     * Keine Ru:ckmeldungen ausgeben.

     * Die Echo-Funktion ist deaktiviert.

   In der Dokumentation Ihres Modems finden Sie die no:tigen Befehle,
   die Sie absetzen mu:ssen, und/oder no:tigen
   DIP-Schalterstellungen, um die obigen Einstellungen zu treffen.

   Fu:r ein externes 14400 U.S. Robotics(R) Sportster(R) gelten zum
   Beispiel die folgenden Befehle:

 ATZ
 AT&C1&D2&H1&I0&R2&W

   Bei dieser Gelegenheit ko: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 U.S. Robotics Sportster mu:ssen Sie auch
   noch einige DIP-Schalter einstellen. Die folgenden Einstellungen
   ko:nnen Sie vielleicht als Beispiel fu:r andere Modems verwenden:

     * Schalter 1: OBEN - DTR normal

     * Schalter 2: N/A (Ru:ckmeldungen als Text/numerische
       Ru:ckmeldungen)

     * Schalter 3: OBEN - Keine Ru: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)

   Fu:r Einwa:hlverbindungen sollten die Ru: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 Ru:ckmeldung gibt. Das fu:hrt dann zu
   einer la:nglichen und fruchtlosen Kommunikation zwischen dem Modem
   und getty.

     --------------------------------------------------------------

    26.4.5.1. Konfiguration fu:r feste Geschwindigkeit

   Die Geschwindigkeit zwischen Modem und Computer muss auf einen
   festen Wert eingestellt werden. Mit einem externen 14400 U.S.
   Robotics Sportster Modem setzen die folgenden Kommandos die
   Geschwindigkeit auf den Wert der Datenendeinrichtung fest:

 ATZ
 AT&B1&W

     --------------------------------------------------------------

    26.4.5.2. Konfiguration fu:r angepasste Geschwindigkeit

   In diesem Fall muss die Geschwindigkeit der seriellen
   Schnittstelle des Modems der eingehenden Geschwindigkeit angepasst
   werden. Fu:r ein externes 14400 U.S. Robotics Sportster Modem
   erlauben die folgenden Befehle eine Anpassung der Geschwindigkeit
   der seriellen Schnittstelle fu:r Verbindungen, die keine
   Fehlerkorrektur verwenden:

 ATZ
 AT&B2&W

   Verbindungen mit Fehlerkorrektur (V.42, MNP) verwenden die
   Geschwindigkeit der Datenendeinrichtung.

     --------------------------------------------------------------

    26.4.5.3. U:berpru:fen der Modemkonfiguration

   Die meisten Modems verfu:gen u:ber Kommandos, die die
   Konfiguration des Modems in lesbarer Form ausgeben. Auf einem
   externen 14400 U.S. Robotics Sportster zeigt ATI5 die
   Einstellungen im nicht flu:chtigen RAM an. Um die wirklichen
   Einstellungen unter Beru: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 u:berpru:fen ko:nnen.

     --------------------------------------------------------------

  26.4.6. Fehlersuche

   Bei Problemen ko:nnen Sie die Einwa:hlverbindung anhand der
   folgenden Punkte u:berpru:fen:

     --------------------------------------------------------------

    26.4.6.1. U:berpru:fen des FreeBSD-Systems

   Schliessen Sie das Modem an das FreeBSD-System an und booten Sie
   das System. Wenn Ihr Modem u:ber Statusindikatoren verfu:gt,
   u:berpru: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 u:berpru:fen mit ps ax, ob FreeBSD einen
   getty-Prozess auf der entsprechenden Schnittstelle gestartet hat.
   Unter den angezeigten Prozessen sollten Sie a: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 geo:ffnet hat
   und zeigt Kabelprobleme oder eine falsche Modemkonfiguration an,
   da getty die Schnittstelle erst dann o:ffnen kann, wenn das CD
   Signal (Carrier Detect) vom Modem anliegt.

   Wenn Sie keine getty-Prozesse auf den gewu: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. U:berpru:fen Sie auch, ob die Gera:tedateien
   /dev/ttydN vorhanden sind.

     --------------------------------------------------------------

    26.4.6.2. Einwa:hlversuch

   Versuchen Sie, sich in Ihr System einzuwa:hlen. Auf dem entfernten
   System stellen Sie bitte die folgenden Kommunikationsparameter
   ein: 8 Bit, keine Parita:t, ein Stop-Bit. Wenn Sie kein
   Anmeldeprompt erhalten oder nur unleserliche Zeichen sehen,
   dru:cken Sie mehrmals, in Absta:nden von ungefa: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 fu:r ein U.S.
   Robotics Sportster).

   Wenn Sie jetzt immer noch kein Anmeldeprompt erhalten,
   u:berpru:fen Sie nochmals /etc/gettytab und stellen sicher, dass

     * der Verbindungstyp in /etc/ttys zu einem gu:ltigen Eintrag in
       /etc/gettytab geho:rt,

     * jeder der nx= Eintra:ge in gettytab gu:ltig ist und

     * jeder tc= Eintrag auf einen gu: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, ko:nnen Sie das
   Anliegen von DTR anhand der Leuchten u:berpru:fen.

   Wenn Sie alles schon mehrfach u:berpru:ft haben und es immer noch
   noch nicht funktioniert, machen Sie erst einmal eine Pause, bevor
   Sie weitermachen. Wenn es immer noch nicht funktioniert, ko:nnen
   Sie eine Mail an die Mailingliste 'Fragen und Antworten zu
   FreeBSD' <de-bsd-questions@de.FreeBSD.org> schicken, in der Sie
   Ihr Modem und Ihr Problem beschreiben und Ihnen sollte geholfen
   werden.

     --------------------------------------------------------------

26.5. Verbindungen nach Aussen

   Die folgenden Ratschla:ge beschreiben, wie Sie mit einem Modem
   eine Verbindung zu einem anderen Computer herstellen. Dies ko: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 nu:tzlich, wenn mal Ihr
   PPP nicht funktioniert. Wenn Sie zum Beispiel eine Datei mit FTP
   u:bertragen wollen und das u:ber PPP gerade nicht mo:glich ist,
   melden Sie sich auf dem entfernten Rechner an und fu:hren dort die
   FTP-Sitzung durch. Die Dateien ko:nnen Sie danach mit zmodem auf
   den lokalen Rechner u:bertragen.

     --------------------------------------------------------------

  26.5.1. Mein Hayes Modem wird nicht unterstu:tzt - was kann ich tun?

   Eigentlich ist die Onlinehilfe fu:r tip nicht mehr aktuell. Es
   gibt einen eingebauten, allgemeinen Hayes Wa: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 betra:gt 60 Sekunden. Ihr Modem sollte
   weniger verwenden, oder tip denkt, dass ein Kommunikationsfehler
   vorliegt. Versuchen Sie es mit ATS7=45&W.

     --------------------------------------------------------------

  26.5.2. Wie soll ich die AT-Befehle eingeben?

   Erstellen Sie einen so genannten direct Eintrag in /etc/remote.
   Wenn Ihr Modem zum Beispiel an der ersten seriellen Schnittstelle,
   /dev/cuad0, angeschlossen ist, dann fu:gen Sie die folgende Zeile
   hinzu:

 cuad0:dv=/dev/cuad0:br#19200:pa=none

   Verwenden Sie die ho:chste bps-Rate, die Ihr Modem in der br
   Fa:higkeit unterstu:tzt. Geben Sie dann tip cuad0 ein und Sie sind
   mit Ihrem Modem verbunden.

   Oder benutzen Sie cu als root mit dem folgenden Befehl:

 # cu -lline -sspeed

   line steht fu:r die serielle Schnittstelle (/dev/cuad0) und speed
   fu:r die Geschwindigkeit (57600). Wenn Sie mit dem Eingeben der AT
   Befehle fertig sind, beenden Sie mit ~..

     --------------------------------------------------------------

  26.5.3. Wieso funktioniert das @ Zeichen fu:r die pn Fa:higkeit nicht?

   Das @ Zeichen in der Telefonnummerfa: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 Fa:higkeiten
   beschrieben werden, wie /etc/remote. Schreiben Sie es mit einem
   Backslash:

 pn=\@

     --------------------------------------------------------------

  26.5.4. Wie kann ich von der Kommandozeile eine Telefonnummer wa:hlen?

   Stellen Sie einen allgemeinen Eintrag in /etc/remote. Zum
   Beispiel:

 tip115200|Dial any phone number at 115200 bps:\
         :dv=/dev/cuad0:br#115200:at=hayes:pa=none:du:
 tip57600|Dial any phone number at 57600 bps:\
         :dv=/dev/cuad0:br#57600:at=hayes:pa=none:du:

   Mit dem folgenden Befehl ko:nnen Sie dann wa:hlen:

 # tip -115200 5551234

   Sollten Sie cu gegenu:ber tip bevorzugen, verwenden Sie einen
   allgemeinen cu-Eintrag:

 cu115200|Use cu to dial any number at 115200bps:\
         :dv=/dev/cuad1:br#57600:at=hayes:pa=none:du:

   und benutzen zum Wa:hlen das Kommando:

 # cu 5551234 -s 115200

     --------------------------------------------------------------

  26.5.5. 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 unterstu:tzt.
   Leider denkt tip(1), dass 1200 bps ein guter Standardwert ist und
   deswegen sucht es nach einem tip1200-Eintrag. Natu:rlich mu:ssen
   Sie nicht 1200 bps benutzen.

     --------------------------------------------------------------

  26.5.6. Wie kann ich mo:glichst komfortabel u:ber einen
  Terminal-Server auf verschiedene Rechner zugreifen?

   Sie mu:ssen nicht warten bis Sie verbunden sind, und jedes Mal
   CONNECT Rechner eingeben, benutzen Sie tips cm-Fa:higkeit. Sie
   ko:nnen diese Eintra: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/cuad2:br#38400:at=hayes:du:pa=none:pn=5551234:

   Mit den Befehlen tip pain oder tip muffin ko:nnen Sie eine
   Verbindungen zu den Rechnern pain oder muffin herstellen; mit tip
   deep13 verbinden Sie sich mit dem Terminalserver.

     --------------------------------------------------------------

  26.5.7. Kann tip mehr als eine Verbindung fu:r jede Seite
  ausprobieren?

   Das ist oft ein Problem, wenn eine Universita:t mehrere
   Telefonleitungen hat und viele tausend Studenten diese benutzen
   wollen.

   Erstellen Sie einen Eintrag fu:r Ihre Universita:t in /etc/remote
   und benutzen Sie @ fu:r die pn-Fa:higkeit:

 big-university:\
         :pn=\@:tc=dialout
 dialout:\
         :dv=/dev/cuad3:br#9600:at=courier:du:pa=none:

   Listen Sie die Telefonnummern der Universita: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. Mo:chten Sie, dass tip beim Versuchen eine
   Verbindung herzustellen nicht aufgibt, lassen Sie es in einer
   while-Schleife laufen.

     --------------------------------------------------------------

  26.5.8. Warum muss ich zweimal Ctrl+P tippen, um ein Ctrl+P zu senden?

   Ctrl+P ist das voreingestellte Zeichen, mit dem eine U:bertragung
   erzwungen werden kann und wird benutzt, um tip zu sagen, dass das
   na:chste Zeichen direkt gesendet werden soll und nicht als
   Fluchtzeichen interpretiert werden soll. Mit Hilfe der
   Fluchtsequenz ~s, mit der man Variablen setzen kann, ko:nnen Sie
   jedes andere Zeichen als "force"-Zeichen definieren.

   Geben Sie ~sforce=Zeichen gefolgt von Enter ein. Fu:r Zeichen
   ko:nnen Sie ein beliebiges einzelnes Zeichen einsetzen. Wenn Sie
   Zeichen weglassen, ist das "force"-Zeichen "nul", das Sie mit
   Ctrl+2 oder Ctrl+Leertaste eingeben ko:nnen. Ein guter Wert fu:r
   Zeichen ist Shift+Ctrl+6, welches nur auf wenigen Terminal Servern
   benutzt wird.

   Sie ko:nnen das "force"-Zeichen auch bestimmen, indem Sie in
   $HOME/.tiprc das Folgende einstellen:

 force=single-char

     --------------------------------------------------------------

  26.5.9. Warum ist auf einmal alles was ich schreibe in
  GROSSBUCHSTABEN??

   Sie mu:ssen Ctrl+A, eingegeben haben, das "raise"-Zeichen von tip,
   das speziell fu: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. Tatsa:chlich
   kann die Variable auf das gleiche Zeichen wie das "force"-Zeichen
   gesetzt werden, wenn Sie diese Fa:higkeiten niemals benutzen
   wollen.

   Hier ist ein Muster der .tiprc Datei, perfekt fu:r Emacs Benutzer,
   die oft Ctrl+2 und Ctrl+A tippen mu:ssen:

 force=^^
 raisechar=^^

   Geben Sie fu:r ^^ Shift+Ctrl+6 ein.

     --------------------------------------------------------------

  26.5.10. Wie kann ich Dateien mit tip u:bertragen?

   Wenn Sie mit einem anderen UNIX System kommunizieren, ko: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.

     --------------------------------------------------------------

  26.5.11. Wie kann ich zmodem mit tip 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.

     --------------------------------------------------------------

26.6. Einrichten der seriellen Konsole

   Beigesteuert von Kazutaka YOKOTA. Auf Grundlage eines Dokuments
   von Bill Paul.

     --------------------------------------------------------------

  26.6.1. Einfu:hrung

   FreeBSD kann ein System mit einem Dumb-Terminal (unintelligente
   Datenstation) an einer seriellen Schnittstelle als Konsole booten.
   Diese Konfiguration ist besonders nu:tzlich fu:r
   Systemadministratoren, die FreeBSD auf Systemen ohne Tastatur oder
   Monitor installieren wollen, und Entwickler, die den Kernel oder
   Gera:tetreiber debuggen.

   Wie in Kapitel 12 beschrieben, besitzt FreeBSD drei Bootphasen.
   Der Code fu:r die ersten beiden Bootphasen befindet sich im
   Bootsektor am Anfang der FreeBSD-Slice der Bootplatte. Dieser
   Bootblock la:dt den Bootloader (/boot/loader) in Phase drei.

   Um eine serielle Konsole einzurichten, mu:ssen Sie den Bootblock,
   den Bootloader und den Kernel konfigurieren.

     --------------------------------------------------------------

  26.6.2. Serielle Konsole einrichten, Kurzfassung

   Dieser Abschnitt fasst zusammen, wie Sie eine serielle Konsole
   einrichten. Es wird vorausgesetzt, dass Sie die Voreinstellungen
   verwenden und wissen, wie serielle Schnittstellen verbunden
   werden.

    1. Verbinden Sie die serielle Konsole mit COM1 sowie dem
       Kontrollterminal.

    2. Um die Startmeldungen der seriellen Konsole zu sehen, geben
       Sie als root Folgendes ein:

 # echo 'console="comconsole"' >> /boot/loader.conf

    3. A:ndern Sie in /etc/ttys den Eintrag fu:r ttyd0 von off auf
       on. Zusa:tzlich sollten Sie den Wert dialup auf vt100 a:ndern.
       Nur so wird auf der seriellen Konsole eine Eingabeaufforderung
       mit einer Passwortabfrage aktiviert.

    4. Starten Sie nun das System neu, damit die serielle Konsole
       aktiviert wird.

   Wenn Sie eine unterschiedliche Konfiguration beno:tigen, sollten
   Sie Abschnitt 26.6.3 lesen.

     --------------------------------------------------------------

  26.6.3. Konfiguration der Konsole

    1. Bereiten Sie ein serielles Kabel vor.

       Sie beno:tigen entweder ein Nullmodemkabel oder ein serielles
       Standard Kabel mit einem Nullmodemkabel-Adapter. In Abschnitt
       26.2.2 wurden serielle Kabel beschrieben.

    2. 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, mu:ssen Sie
       das BIOS so konfigurieren, das es diesen Fehler ignoriert
       (wenn das mo:glich ist). Das Handbuch zu Ihrem Motherboard
       sollte beschreiben, wie das zu bewerkstelligen ist.

         Tipp: Selbst wenn Sie im BIOS "Not installed" fu:r die
         Tastatur einstellen, ko:nnen Sie eine Tastatur angeschlossen
         haben und diese auch weiterhin benutzen, da sie mit dieser
         Anweisung das BIOS lediglich anweisen, nach dem Einschalten
         des Rechners nicht nach einer Tastatur zu suchen und den
         Rechner ohne entsprechende Fehlermeldung zu starten. Wenn
         die oben beschriebene Option nicht im BIOS vorhanden ist,
         halten Sie stattdessen Ausschau nach einer "Halt on Error"
         Option. Sie ko:nnen den gleichen Effekt wie oben erzielen,
         wenn Sie diese Option auf "All but Keyboard" oder sogar "No
         Errors" setzen.

         Anmerkung: Wenn Ihr System u:ber eine PS/2(R) Maus verfu:gt,
         mu:ssen Sie diese wahrscheinlich auch abziehen. Da sich die
         PS/2 Maus und die Tastatur einige Hardwarekomponenten
         teilen, kann das dazu fu:hren, dass die Hardwareerkennung
         fa: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.

    3. Schliessen Sie einen Dumb-Terminal an COM1 (sio0) an.

       Wenn Sie keinen Dumb-Terminal besitzen, ko:nnen Sie einen
       alten PC/XT mit einem Terminalemulator oder die serielle
       Schnittstelle eines anderen UNIX Rechners benutzen. Sie
       beno:tigen auf jeden Fall eine freie erste serielle
       Schnittstelle (COM1). Zurzeit ist es nicht mo:glich, in den
       Bootblo:cken eine andere Schnittstelle zu konfigurieren, ohne
       diese neu zu kompilieren. Wenn Sie COM1 bereits fu:r ein
       anderes Gera:t benutzen, mu:ssen Sie dieses Gera:t tempora:r
       entfernen und einen neuen Bootblock sowie Kernel installieren,
       wenn Ihr FreeBSD erst einmal installiert ist. Auf einem Server
       sollte COM1 ohnehin verfu:gbar sein. Wenn Sie die
       Schnittstelle fu:r ein anderes Gera:t benutzen und Sie dieses
       nicht auf COM2 (sio1) legen ko:nnen, sollten Sie sich nicht an
       erster Stelle mit dem Aufsetzen einer seriellen Konsole
       bescha:ftigen.

    4. Stellen Sie sicher, dass Ihre Kernelkonfiguration die
       richtigen Optionen fu:r COM1 (sio0) entha:lt.

       Relevante Optionen sind:

            0x10

                    Aktiviert die Konsolenunterstu:tzung fu:r dieses
                    Gera:t. Zurzeit kann nur ein Gera:t die
                    Konsolenunterstu:tzung aktiviert haben. Das
                    erste, in der Konfigurationsdatei aufgefu:hrte
                    Gera:t, mit dieser Option, verfu:gt u:ber eine
                    aktivierte Konsolenunterstu: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 -h.

            0x20

                    Das erste Gera:t in der Kernelkonfigurationsdatei
                    mit dieser Option wird, unabha:ngig von dem unten
                    diskutierten Schalter -h, zur Konsole. Die Option
                    0x20 muss zusammen mit 0x10 verwendet werden.

            0x40

                    Reserviert dieses Gera:t und sperrt es fu:r
                    normale Zugriffe. Sie sollten diese Option nicht
                    auf dem Gera:t setzen, das Sie als serielle
                    Konsole verwenden wollen. Der Zweck dieser Option
                    ist es, dieses Gera:t fu:r das Remote-Debuggen zu
                    reservieren. Das FreeBSD Developers' Handbook
                    entha:lt dazu weitere Informationen.

       Beispiel:

 device sio0 at isa? port IO_COM1 tty flags 0x10 irq 4

       Weitere Einzelheiten entnehmen Sie bitte sio(4).

       Wenn diese Optionen nicht gesetzt sind, mu:ssen Sie auf einer
       anderen Konsole beim Booten UserConfig starten oder den Kernel
       neu kompilieren.

    5. Erstellen Sie boot.config im Rootverzeichnis der a-Partition
       des Bootlaufwerks.

       Der Code des Bootblocks entnimmt dieser Datei, wie Sie Ihr
       System booten mo:chten. Um die serielle Konsole zu aktivieren,
       mu:ssen Sie hier eine oder mehrere Optionen (alle in derselben
       Zeile) angeben. Die folgenden Optionen stehen zur Auswahl der
       Konsole zur Verfu:gung:

            -h

                    Schaltet zwischen der internen und der seriellen
                    Konsole um. Wenn Sie beispielsweise von der
                    internen Konsole (Bildschirm) booten, weist -h
                    den Bootloader und den Kernel an, die serielle
                    Schnittstelle als Konsole zu nehmen. Wenn die
                    Konsole normal auf der seriellen Schnittstelle
                    liegt, wa:hlen Sie mit -h den Bildschirm aus.

            -D

                    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 -h. Im
                    Dual-Konsolen Betrieb ist die Konsole,
                    unabha:ngig von -h, gleichzeitig der Bildschirm
                    und die serielle Schnittstelle. Dies trifft aber
                    nur zu, wenn der Bootblock ausgefu:hrt wird.
                    Sobald der Bootloader ausgefu:hrt wird, wird die
                    durch -h gegebene Konsole die alleinige Konsole.

            -P

                    Veranlasst den Bootblock nach einer Tastatur zu
                    suchen. Wenn keine Tastatur gefunden wird, werden
                    -D und -h automatisch gesetzt.

                      Anmerkung: Wegen Platzbeschra:nkungen in den
                      Bootblo:cken kann -P 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, ko:nnen Sie
                      -P nicht verwenden, da es leider noch keine
                      Umgehung fu:r dieses Problem gibt.

       Benutzen Sie also entweder -P, um die Konsole automatisch zu
       setzen, oder -h, um die serielle Konsole zu verwenden.

       In boot.config ko:nnen Sie auch andere, in boot(8)
       beschriebene Optionen, aufnehmen.

       Mit Ausnahme von -P werden die Optionen an den Bootloader
       (/boot/loader) weitergegeben. Der Bootloader untersucht dann
       einzig -h um festzustellen, welches Gera:t die Konsole wird.
       Wenn Sie also nur -D angegeben haben, ko:nnen Sie die serielle
       Schnittstelle nur als Konsole verwenden wa:hrend der Bootblock
       ausgefu:hrt wird. Danach wird der Bootloader, da ja -h fehlt,
       den Bildschirm zur Konsole machen.

    6. Booten Sie die Maschine.

       Wenn Sie das FreeBSD-System starten, werden die Bootblo: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 -P
       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                      
       -h                   der seriellen Konsole                     
       -D                   der seriellen und der internen Konsole    
       -Dh                  der seriellen und der internen Konsole    
       -P, mit Tastatur     der internen Konsole                      
       -P, ohne Tastatur    der seriellen Konsole                     

       Nach den oben gezeigten Meldungen gibt es eine kleine
       Verzo:gerung bevor die Bootblo:cke den Bootloader laden und
       weitere Meldungen auf der Konsole erscheinen. Sie ko:nnen die
       Ausfu:hrung der Bootblo:cke unterbrechen, um zu u:berpru:fen,
       ob auch alles richtig aufgesetzt ist, brauchen das aber unter
       normalen Umsta:nden nicht zu tun.

       Dru:cken Sie eine Taste ausser Enter um den Bootvorgang zu
       unterbrechen. Sie erhalten dann ein Prompt, an dem Sie weitere
       Eingaben ta:tigen ko:nnen:

 >> FreeBSD/i386 BOOT
 Default: 0:ad(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, dru: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 -h ein, um den Bootblock und den Bootloader auf die
       serielle Konsole umzustellen. Fu:hren Sie dann den Bootvorgang
       mit Enter weiter und wenn das System gebootet hat, ko:nnen Sie
       die fehlerhaften Einstellungen korrigieren.

   Nachdem der Bootloader geladen wurde und Sie sich in der dritten
   Bootphase befinden, ko:nnen Sie immer noch zwischen der internen
   und der seriellen Konsole auswa:hlen. Setzen Sie dazu, wie in
   Abschnitt 26.6.6 beschrieben, die entsprechenden Variablen des
   Bootloaders.

     --------------------------------------------------------------

  26.6.4. Zusammenfassung

   Die folgende U:bersicht zeigt, welche Konsole, abha:ngig von den
   getroffenen Einstellungen, ausgewa:hlt wird.

     --------------------------------------------------------------

    26.6.4.1. Fall 1: Option 0x10 fu:r sio0

 device sio0 at isa? port IO_COM1 tty flags 0x10 irq 4

   Optionen in       Konsole in den             Konsole im Konsole im 
   /boot.config      Bootblo:cken               Bootloader Kernel     
   keine             interne                    interne    interne    
   -h                serielle                   serielle   serielle   
   -D                serielle und interne       interne    interne    
   -Dh               serielle und interne       serielle   serielle   
   -P, mit Tastatur  interne                    interne    interne    
   -P, ohne Tastatur serielle und interne       serielle   serielle   

     --------------------------------------------------------------

    26.6.4.2. Fall 2: Option 0x30 fu:r sio0

 device sio0 at isa? port IO_COM1 tty flags 0x30 irq 4

   Optionen in       Konsole in den             Konsole im Konsole im 
   /boot.config      Bootblo:cken               Bootloader Kernel     
   keine             interne                    interne    serielle   
   -h                serielle                   serielle   serielle   
   -D                serielle und interne       interne    serielle   
   -Dh               serielle und interne       serielle   serielle   
   -P, mit Tastatur  interne                    interne    serielle   
   -P, ohne Tastatur serielle und interne       serielle   serielle   

     --------------------------------------------------------------

  26.6.5. Hinweise zur seriellen Konsole

    26.6.5.1. Verwenden einer ho:heren Geschwindigkeit

   Die Vorgabewerte fu:r die Kommunikationsparameter der seriellen
   Schnittstelle sind: 9600 baud, 8 Bit, keine Parita:t und ein
   Stopp-Bit. Wenn Sie die Standardgeschwindigkeit a:ndern wollen,
   haben Sie folgende Mo:glichkeiten:

     * Geben Sie die neue Konsolengeschwindigkeit mit
       BOOT_COMCONSOLE_SPEED an und kompilieren Sie die Bootblo:cke
       neu. Ausfu:hrliche Informationen zum Bau und zur Installation
       von neuen Bootblo:cken finden Sie im Abschnitt 26.6.5.2 des
       Handbuchs.

       Wenn die serielle Konsole nicht mit der Option -h gestartet
       wird, oder wenn die verwendete serielle Konsole sich von der
       von den Bootblo:cken verwendeten unterscheidet, mu:sssen Sie
       zusa:tzlich die folgende Option in Ihre
       Kernelkonfigurationsdatei aufnehmen und den Kernel neu bauen:

 options CONSPEED=19200

     * Verwenden Sie die Option -S, um den Kernel zu booten. Die
       Option -S kann auch in die Datei /boot.config aufgenommen
       werden. Eine Beschreibung dieses Vorgangs sowie eine
       Auflistung der von /boot.config unterstu:tzten Optionen finden
       Sie in der Manualpage boot(8).

     * Aktivieren Sie die Option comconsole_speed in der Datei
       /boot/loader.conf.

       Diese Option setzt voraus, dass auch die Optionen console,
       boot_serial, sowie boot_multicons in der Datei
       /boot/loader.conf gesetzt sind. Im Folgenden finden Sie ein
       Beispiel, in dem comconsole_speed verwendet wird, um die
       Geschwindigkeit der seriellen Konsole zu a:ndern:

 boot_multicons="YES"
 boot_serial="YES"
 comconsole_speed="115200"
 console="comconsole,vidconsole"

     --------------------------------------------------------------

    26.6.5.2. Eine andere Schnittstelle als sio0 benutzen

   Wenn Sie, warum auch immer, ein anderes Gera:t als sio0 fu:r die
   serielle Konsole einsetzen wollen, kompilieren Sie bitte die
   Bootblo:cke, den Bootloader und den Kernel nach dem folgenden
   Verfahren neu.

    1. Installieren Sie die Kernelquellen (siehe Kapitel 24).

    2. Setzen Sie in /etc/make.conf BOOT_COMCONSOLE_PORT auf die
       Adresse der Schnittstelle (0x3F8, 0x2F8, 0x3E8 oder 0x2E8),
       die Sie benutzen mo:chten. Sie ko:nnen nur sio0 bis sio3 (COM1
       bis COM4) benutzen, Multiportkarten ko:nnen Sie nicht als
       Konsole benutzen. Interrupts mu:ssen Sie hier nicht angeben.

    3. Erstellen Sie eine angepasste Kernelkonfiguration und geben
       Sie dort die richtigen Optionen fu:r die Schnittstelle, die
       Sie benutzen mo: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.

    4. U:bersetzen und installieren Sie die Bootblo:cke und den
       Bootloader:

 # cd /sys/boot
 # make clean
 # make
 # make install

    5. Bauen und installieren Sie einen neuen Kernel.

    6. Schreiben Sie die Bootblo:cke mit bsdlabel(8) auf die
       Bootplatte und booten Sie den neuen Kernel.

     --------------------------------------------------------------

    26.6.5.3. DDB Debugger u:ber die serielle Schnittstelle

   Wenn Sie den Kerneldebugger u:ber eine serielle Verbindung
   bedienen mo:chten (nu:tzlich, kann aber gefa: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

     --------------------------------------------------------------

    26.6.5.4. Benutzung der seriellen Konsole zum Anmelden

   Da Sie schon die Bootmeldungen auf der Konsole verfolgen ko:nnen
   und den Kerneldebugger u:ber die Konsole bedienen ko:nnen, wollen
   Sie sich vielleicht auch an der Konsole anmelden.

   O: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. A:ndern Sie fu:r die
   entsprechende Schnittstelle off zu on. Wenn Sie auch die
   Geschwindigkeit der seriellen Schnittstelle gea:ndert haben,
   mu:ssen Sie std.9600 auf die momentane Geschwindigkeit, zum
   Beispiel std.19200, anpassen.

   Sie sollten auch den Terminaltyp von unknown auf den tatsa:chlich
   verwendeten Terminal setzen.

   Damit die A:nderungen an der Datei wirksam werden, mu:ssen Sie
   noch kill -HUP 1 absetzen.

     --------------------------------------------------------------

  26.6.6. Die Konsole im Bootloader a:ndern

   In den vorigen Abschnitten wurde beschrieben, wie Sie die serielle
   Konsole durch A: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
   Bootblo:cken ausgefu:hrt wird, u:berschreiben seine Einstellungen
   die des Bootblocks.

     --------------------------------------------------------------

    26.6.6.1. Festlegen der Konsole

   Mit einer einzigen Zeile in /boot/loader.conf ko:nnen Sie den
   Bootloader und den Kernel anweisen, die serielle Schnittstelle zur
   Konsole zu machen:

 set console="comconsole"

   Unabha:ngig von den Einstellungen im Bootblock legt dies die
   Konsole fest.

   Die obige Zeile sollte die erste Zeile in /boot/loader.conf sein,
   so dass Sie die Bootmeldungen so fru:h wie mo:glich auf der
   Konsole sehen.

   Analog ko:nnen Sie die interne Konsole verwenden:

 set console="vidconsole"

   Wenn Sie console nicht setzen, bestimmt der Bootloader (und damit
   auch der Kernel) die Konsole u:ber die -h Option des Bootblocks.

   Sie ko:nnen die Bootkonsole in /boot/loader.conf.local oder
   /boot/loader.conf angeben.

   Weitere Informationen erhalten Sie in loader.conf(5).

     Anmerkung: Momentan gibt es im Bootloader nichts vergleichbares
     zu -P im Bootblock. Damit kann die Konsole nicht automatisch
     u:ber das Vorhandensein einer Tastatur festgelegt werden.

     --------------------------------------------------------------

    26.6.6.2. Eine andere Schnittstelle als sio0 benutzen

   Sie mu:ssen den Bootloader neu kompilieren, wenn Sie eine andere
   Schnittstelle als sio0 benutzen wollen. Folgen Sie der Anleitung
   aus Abschnitt 26.6.5.2.

     --------------------------------------------------------------

  26.6.7. Vorbehalte

   Hinter dem ganzen steckt die Idee, Server ohne Hardware fu: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 ko:nnen ohne Grafik booten, indem Sie den
   Grafikadapter im CMOS-Setup auf Not installed setzen.

   Viele Maschinen unterstu:tzen diese Option allerdings nicht. Damit
   diese Maschinen booten, mu:ssen sie u:ber eine Grafikkarte, auch
   wenn es nur eine alte Monochromkarte ist, verfu:gen. Allerdings
   brauchen Sie keinen Monitor an die Karte anzuschliessen. Sie
   ko:nnen natu:rlich auch versuchen, auf diesen Maschinen ein AMI
   BIOS zu installieren.

     --------------------------------------------------------------

                        Kapitel 27. PPP und SLIP

   Restrukturiert, neu organisiert und aktualisiert von Jim Mock.
   U:bersetzt von Thomas Schwarzkopf.

27.1. U:bersicht

   Unter FreeBSD stehen verschiedene Mo:glichkeiten zur Verfu:gung,
   um Computer miteinander zu verbinden. Der Aufbau einer Netzwerk-
   oder Internetverbindung mit Hilfe eines Einwahlmodems - fu:r den
   eigenen oder fu:r andere Rechner - erfordert den Einsatz von PPP
   oder SLIP.

   Nachdem Sie dieses Kapitel gelesen haben, werden Sie wissen:

     * Wie Sie User-PPP einrichten.

     * Wie Sie Kernel-PPP einrichten.

     * Was zu tun ist, um PPPoE (PPP over Ethernet) einzurichten.

     * Wie Sie PPPoA (PPP over ATM) einrichten.

     * Wie Sie einen SLIP-Client und -Server einrichten und
       konfigurieren

   Bevor Sie dieses Kapitel lesen, sollten Sie:

     * mit den grundlegenden Begriffen der Netzwerktechnik vertraut
       sein.

     * die Grundlagen und den Zweck einer Einwahlverbindung sowie PPP
       und/oder SLIP kennen.

   Sie fragen sich vielleicht, worin denn der Hauptunterschied
   zwischen User-PPP und Kernel-PPP liegt. Die Antwort ist einfach:
   User-PPP verarbeitet die ein- und ausgehenden Daten im Userland,
   statt im Kernel. Dies ist zwar aufwa:ndig, im Hinblick auf die
   Daten, die dadurch zwischen Kernel und Userland hin und her
   kopiert werden mu:ssen, doch es ermo:glicht auch eine
   PPP-Implementierung mit weitaus mehr Funktionen. User-PPP
   verwendet das Gera:t tun, um mit anderen Rechnern zu
   kommunizieren, wa:hrend Kernel-PPP hierfu:r das Gera:t ppp
   benutzt.

     Anmerkung: In diesem Kapitel wird durchga:ngig vom Programm ppp
     gesprochen, wenn damit User-PPP gemeint ist. Ausnahmen werden
     gemacht, wenn eine Unterscheidung gegenu:ber anderer
     PPP-Software, wie pppd, notwendig wird. Soweit nichts anderes
     angegeben ist, sollten alle Befehle, die in diesem Kapitel
     erkla:rt werden, als root ausgefu:hrt werden.

     --------------------------------------------------------------

27.2. User-PPP

   Aktualisiert und erweitert von Tom Rhodes. Urspru:nglich
   geschrieben von Brian Somers. Mit Beitra:gen von Nik Clayton, Dirk
   Fro:mberg und Peter Childs.

  27.2.1. User-PPP

    27.2.1.1. Voraussetzungen

   Dieses Dokument geht davon aus, dass Sie Folgendes zur Verfu:gung
   haben:

     * Einen Account bei einem Internet Service Provider (ISP), zu
       dem Sie mit PPP eine Verbindung aufbauen ko:nnen.

     * Ein Modem oder ein anderes Gera:t, das, richtig konfiguriert
       und mit Ihrem Rechner verbunden, Ihnen die Herstellung einer
       Verbindung zu Ihrem ISP erlaubt.

     * Die Einwahlnummer(n) Ihres ISP.

     * Ihren Login-Namen und Ihr Passwort (entweder ein regula:res
       Login/Passwort-Paar im UNIX-Stil oder ein PAP bzw. CHAP
       Login/Passwort-Paar).

     * Die IP-Adresse von einem oder mehreren Nameservern.
       U:blicherweise werden Ihnen von Ihrem ISP zwei IP-Adressen
       fu:r diesen Zweck zur Verfu:gung gestellt. Wenn Sie keine
       solche IP-Adresse von Ihrem Provider bekommen haben, ko:nnen
       Sie das Kommando enable dns in der Datei ppp.conf verwenden,
       um ppp anzuweisen, den Nameserver fu:r Sie einzutragen. Diese
       Funktion setzt allerdings voraus, dass Ihr ISP eine
       PPP-Implementierung verwendet, die das Aushandeln eines
       Nameservers unterstu:tzt.

   Die folgenden Informationen werden Ihnen mo:glicherweise von Ihrem
   ISP zur Verfu:gung gestellt, sie sind aber nicht zwingend
   erforderlich:

     * Die Gateway IP-Adresse Ihres ISP. Als Gateway wird der
       Computer bezeichnet, zu dem Sie eine Verbindung aufbauen. Die
       IP-Adresse dieses Rechners wird als default route eingetragen.
       Wenn Sie diese Information nicht zur Verfu:gung haben, kann
       PPP so konfiguriert werden, dass der PPP-Server Ihres ISP
       wa:hrend des Verbindungsaufbaus eine gu:ltige Adresse
       u:bermittelt.

       ppp bezieht sich mit HISADDR auf diese IP-Adresse.

     * Die Netzmaske, die Sie verwenden sollten. Falls Ihnen Ihr ISP
       keine Netzmaske vorgegeben hat, ko:nnen Sie 255.255.255.255
       verwenden.

     * Wenn Ihnen Ihr ISP eine statische IP-Adresse zur Verfu:gung
       stellt, ko:nnen Sie diese eintragen. Andernfalls lassen wir
       uns einfach von der Gegenstelle eine IP-Adresse zuweisen.

   Falls Ihnen die erforderlichen Informationen fehlen sollten,
   nehmen Sie bitte Kontakt mit Ihrem ISP auf.

     Anmerkung: Die Beispieldateien, die in diesem Kapitel
     dargestellt werden, enthalten Zeilennummern. Die Nummerierung
     dient lediglich einer leichteren Orientierung und sollte von
     Ihnen nicht in Ihre Dateien u:bernommen werden. Richtiges
     Einru:cken, durch Tabulatoren und Leerzeichen, ist ebenfalls
     wichtig.

     --------------------------------------------------------------

    27.2.1.2. Automatische Konfiguration von PPP

   Sowohl ppp als auch pppd (die PPP-Implementierung auf Kernelebene)
   verwenden die Konfigurationsdateien im Verzeichnis /etc/ppp.
   Beispiele fu:r User-PPP sind in /usr/share/examples/ppp/ zu
   finden.

   Die Konfiguration von ppp erfordert, je nach Ihren besonderen
   Bedingungen, die Bearbeitung einiger Dateien. Was Sie in diese
   Dateien eintragen, ha:ngt unter anderem davon ab, ob Ihnen Ihr ISP
   eine statische IP-Adresse (Sie verwenden immer dieselbe
   IP-Adresse, die Ihnen einmal zugeteilt wurde) oder eine dynamische
   IP-Adresse (Ihre IP-Adresse a:ndert sich bei jeder Verbindung mit
   dem ISP) zugewiesen hat.

     --------------------------------------------------------------

      27.2.1.2.1. PPP und statische IP-Adressen

   Sie mu:ssen die Konfigurationsdatei /etc/ppp/ppp.conf bearbeiten.
   Sie sollte so aussehen, wie in dem unten angegebenen Beispiel.

     Anmerkung: Zeilen die mit einem : enden, beginnen in der ersten
     Spalte (am Beginn der Zeile). Alle anderen Zeilen sollten wie
     dargestellt durch Leerzeichen oder Tabulatoren eingeru:ckt
     werden.

 1     default:
 2       set log Phase Chat LCP IPCP CCP tun command
 3       ident user-ppp VERSION (built COMPILATIONDATE)
 4       set device /dev/cuad0
 5       set speed 115200
 6       set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \
 7                 \"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT"
 8       set timeout 180
 9       enable dns
 10
 11    provider:
 12      set phone "(123) 456 7890"
 13      set authname foo
 14      set authkey bar
 15      set login "TIMEOUT 10 \"\" \"\" gin:--gin: \\U word: \\P col: ppp"
 16      set timeout 300
 17      set ifaddr x.x.x.x y.y.y.y 255.255.255.255 0.0.0.0
 18      add default HISADDR

   Zeile 1:

           Gibt den Standardeintrag an. Befehle dieses Eintrags
           werden automatisch ausgefu:hrt, wenn ppp la:uft.

   Zeile 2:

           Schaltet die Loggingparameter ein. Wenn die Verbindung
           zufriedenstellend funktioniert, ko:nnen Sie diese Zeile
           verku:rzen:

 set log phase tun

           Dies verhindert ein u:berma:ssiges Anwachsen der
           Logdateien.

   Zeile 3:

           Gibt PPP an, wie es sich gegenu:ber der Gegenstelle
           identifizieren soll. PPP identifiziert sich gegenu:ber der
           Gegenstelle, wenn es Schwierigkeiten bei der Aushandlung
           und beim Aufbau der Verbindung gibt. Dabei werden
           Informationen bereitgestellt, die dem Administrator der
           Gegenstelle helfen ko:nnen, die Ursache der Probleme zu
           finden.

   Zeile 4:

           Gibt das Device an, an dem das Modem angeschlossen ist.
           COM1 entspricht /dev/cuad0 und COM2 entspricht /dev/cuad1.

   Zeile 5:

           Legt die Geschwindigkeit fest, mit der Sie die Verbindung
           betreiben mo:chten. Falls ein Wert von 115200 nicht
           funktioniert (was aber bei jedem einigermassen neuen Modem
           funktionieren sollte), versuchen Sie es stattdessen mit
           38400.

   Zeilen 6 & 7:

           Die Zeichenfolge fu:r die Einwahl. User-PPP verwendet eine
           expect-send Syntax, a:hnlich dem chat(8)-Programm. Weitere
           Informationen zu den Eigenschaften dieser Sprache bietet
           die Manual-Seite.

           Beachten Sie, dass dieser Befehl aufgrund der besseren
           Lesbarkeit auf der na:chsten Zeile weitergeht. Das kann
           fu:r jeden Befehl in ppp.conf gelten, wenn \ das letzte
           Zeichen in einer Zeile ist.

   Zeile 8:

           Legt den Zeitrahmen fest, innerhalb dessen eine Reaktion
           erfolgen muss. Der Standardwert liegt bei 180 Sekunden, so
           dass diese Zeile lediglich einen kosmetischen Charakter
           hat.

   Zeile 9:

           Weist PPP an, bei der Gegenstelle eine Besta:tigung der
           lokalen Resolvereinstellungen anzufordern. Wenn Sie einen
           lokalen Nameserver betreiben, sollte diese Zeile
           auskommentiert oder gelo:scht werden.

   Zeile 10:

           Eine leere Zeile zur besseren Lesbarkeit. Leere Zeilen
           werden von PPP ignoriert.

   Zeile 11:

           Bestimmt einen Provider, namens "provider". Wenn Sie hier
           den Namen Ihres ISP einsetzen, ko:nnen Sie spa:ter die
           Verbindung mit load ISP aufbauen.

   Zeile 12:

           Gibt die Telefonnummer des Providers an. Mehrere
           Telefonnummern ko:nnen angegeben werden, indem
           Doppelpunkte (:) oder Pipe-Zeichen (|) als Trennzeichen
           verwendet werden. Der Unterschied zwischen diesen beiden
           Trennzeichen ist in ppp(8) beschrieben. Zusammenfassend:
           Wenn Sie die verschiedenen Nummern abwechselnd verwenden
           mo:chten, sollten Sie die Nummern durch einen Doppelpunkt
           trennen. Wenn Sie immer die erste Nummer verwenden
           mo:chten und die anderen nur zum Einsatz kommen sollen,
           wenn eine Einwahl mit der ersten Telefonnummer nicht
           mo:glich ist, sollten Sie das Pipe-Zeichen zur Trennung
           verwenden. Wie im Beispiel, sollten Sie die gesamte Reihe
           der Telefonnummern in Anfu:hrungszeichen setzen.

           Sie mu:ssen die Telefonnummer in Anfu:hrungszeichen (")
           setzen, wenn Sie Leerzeichen in der Telefonnummer
           verwenden, ansonsten rufen Sie einen Fehler hervor, der
           vielleicht schwer zu finden ist.

   Zeilen 13 & 14:

           Gibt den Benutzernamen und das Passwort an. Wenn Sie zur
           Verbindung einen Login-Prompt im UNIX-Stil verwenden,
           bezieht sich der Befehl set login mit den \U und \P
           Variablen auf diese Werte. Wenn Sie zum Verbindungsaufbau
           PAP oder CHAP verwenden, werden diese Werte zum Zeitpunkt
           der Authentifizierung verwendet.

   Zeile 15:

           Wenn Sie PAP oder CHAP einsetzen, gibt es an dieser Stelle
           keinen Login-Prompt, weshalb Sie diese Zeile
           auskommentieren oder lo:schen sollten. Der Abschnitt
           Authentifizierung mit PAP und CHAP entha:lt hierzu weitere
           Einzelheiten.

           Der Login-String hat die gleiche chat-a:hnliche Syntax,
           wie der Einwahlstring. Der String in diesem Beispiel
           funktioniert mit einem ISP, dessen Login-Session
           folgendermassen aussieht:

 J. Random Provider
 login: foo
 password: bar
 protocol: ppp

           Sie mu:ssen dieses Skript noch an Ihre eigenen
           Erfordernisse anpassen. Wenn Sie dieses Skript zum ersten
           Mal schreiben, sollten Sie sicherstellen, dass Sie
           "chat"-logging aktiviert haben, damit Sie u:berpru:fen zu
           ko:nnen, ob die Konversation zwischen Ihrem Rechner und
           dem Rechner des Providers wie erwartet abla:uft.

   Zeile 16:

           Setzt einen Zeitrahmen (in Sekunden), innerhalb dessen
           eine Reaktion erfolgen muss. In diesem Fall, wird die
           Verbindung nach 300 Sekunden automatisch geschlossen, wenn
           keine Aktivita:t zu verzeichnen ist. Wenn Sie keinen
           Zeitrahmen festlegen wollen, nach dessen U:berschreiten
           die Verbindung geschlossen wird, ko:nnen Sie diesen Wert
           auf 0 setzen oder die Kommandozeilen-Option -ddial
           verwenden.

   Zeile 17:

           Gibt die IP-Adresse fu:r das Interface an. Der String
           x.x.x.x sollte durch die IP-Adresse ersetzt werden, die
           Ihnen Ihr Provider zugeteilt hat. Der String y.y.y.y
           sollte durch die IP-Adresse ersetzt werden, die Ihr ISP
           als Gateway angegeben hat (das ist der Rechner, mit dem
           Ihr Rechner eine Verbindung aufbaut). Wenn Ihnen Ihr ISP
           keine Gateway Adresse zur Verfu:gung gestellt hat,
           verwenden Sie hier einfach 10.0.0.2/0. Wenn Sie eine
           "erratene" IP-Adresse verwenden mu:ssen, sollten Sie in
           der Datei /etc/ppp/ppp.linkup einen entsprechenden Eintrag
           machen. Folgen Sie dazu den Anweisungen im Abschnitt PPP
           und dynamische IP-Adressen. Wenn diese Zeile ausgelassen
           wird, kann ppp nicht im -auto Modus betrieben werden.

   Zeile 18:

           Fu:gt eine Defaultroute fu:r das Gateway Ihres Providers
           hinzu. Das Wort HISADDR wird dabei durch die in Zeile 17
           angegebene Gateway Adresse ersetzt. Wichtig ist, dass
           diese Zeile nach Zeile 17 erscheint, da andernfalls
           HISADDR noch nicht initialisiert ist.

           Wenn Sie ppp nicht im -auto Modus betreiben, sollte diese
           Zeile in die Datei ppp.linkup verschoben werden.

   Wenn Sie eine statische IP-Adresse verwenden und ppp im -auto
   Modus la:uft, ist es nicht notwendig, einen Eintrag in die Datei
   ppp.linkup hinzuzufu:gen. In diesem Fall hat ihre Routingtabelle
   bereits die richtigen Eintra:ge, bevor Sie die Verbindung
   aufbauen. Sie mo:chten aber vielleicht einen Eintrag hinzufu:gen,
   um ein Programm aufzurufen, nachdem die Verbindung aufgebaut ist.
   Dies wird weiter unten am Beispiel von Sendmail erkla:rt.

   Beispiele fu:r Konfigurationsdateien finden Sie im Verzeichnis
   /usr/share/examples/ppp/.

     --------------------------------------------------------------

      27.2.1.2.2. PPP und dynamische IP-Adressen

   Wenn Ihnen Ihr ISP keine statische IP-Adresse zuteilt, kann ppp so
   konfiguriert werden, dass die lokale und die entfernte IP-Adresse
   beim Verbindungsaufbau ausgehandelt werden. Dies geschieht, indem
   zuna:chst eine IP-Adresse "erraten" wird, die von ppp, unter
   Verwendung des IP Configuration Protocol (IPCP) durch eine
   richtige ersetzt wird, wenn die Verbindung aufgebaut ist. Die
   Konfiguration der Datei ppp.conf entspricht derjenigen, die im
   Abschnitt PPP und statische IP- Adressen dargestellt wurde, jedoch
   mit folgender A:nderung:

 17      set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.255

   Auch hier dient die Zeilennummerierung lediglich der besseren
   U:bersichtlichkeit. Einru:ckungen, von mindestens einem
   Leerzeichen, sind allerdings erforderlich.

   Zeile 17:

           Die Zahl nach dem / Zeichen, gibt die Anzahl der Bits der
           Adresse an, auf die ppp besteht. Sie mo:chten vielleicht
           andere IP-Adressen verwenden, die oben angegebenen werden
           aber immer funktionieren.

           Das letzte Argument (0.0.0.0) weist PPP an, den
           Verbindungsaufbau mit der Adresse 0.0.0.0 zu beginnen,
           statt 10.0.0.1 zu verwenden. Dies ist bei einigen ISPs
           notwendig. Verwenden Sie nicht 0.0.0.0 als erstes Argument
           fu:r set ifaddr, da so verhindert wird, dass PPP im -auto
           Modus eine initiale Route setzt.

   Wenn PPP nicht im -auto Modus la:uft, mu:ssen Sie die
   Datei/etc/ppp/ppp.linkup editieren. ppp.linkup kommt zum Einsatz,
   wenn eine Verbindung aufgebaut worden ist. Zu diesem Zeitpunkt hat
   ppp die Interface Adressen vergeben und es ist mo:glich, die
   Eintra:ge in der Routingtabelle hinzuzufu:gen:

 1     provider:
 2      add default HISADDR

   Zeile 1:

           Beim Aufbau einer Verbindung sucht ppp in der Datei
           ppp.linkup nach einem Eintrag. PPP geht dabei nach
           folgenden Regeln vor: Suche zuna:chst nach der gleichen
           Bezeichnung, die wir auch in der Datei ppp.conf verwendet
           haben. Falls das nicht funktioniert, suche nach einem
           Eintrag der IP-Adresse unseres Gateways. Dieser Eintrag
           ist eine Bezeichnung im Stil von IP-Adressen, die sich aus
           vier Oktetts zusammensetzt. Falls immer noch kein
           passender Eintrag gefunden wurde, suche nach dem Eintrag
           MYADDR.

   Zeile 2:

           Diese Zeile weist ppp an, eine Defaultroute zu verwenden,
           die auf HISADDR zeigt. HISADDR wird nach der Aushandlung
           mit IPCP durch die IP-Adresse des Gateways ersetzt.

   Die Dateien /usr/share/examples/ppp/ppp.conf.sample und
   /usr/share/examples/ppp/ppp.linkup.sample bieten detaillierte
   Beispiele fu:r pmdemand Eintra:ge.

     --------------------------------------------------------------

      27.2.1.2.3. Annahme eingehender Anrufe

   Wenn Sie ppp auf einem Rechner, der in ein LAN eingebunden ist, so
   konfigurieren, dass eingehende Anrufe angenommen werden, mu:ssen
   Sie entscheiden, ob Pakete an das LAN weitergeleitet werden
   sollen. Wenn Sie das mo:chten, sollten Sie an die Gegenstelle eine
   IP-Adresse aus Ihrem lokalen Subnetz vergeben und den Befehl
   enable proxy in die Datei /etc/ppp/ppp.conf einfu:gen. Ausserdem
   sollte die Datei /etc/rc.conf Folgendes enthalten:

 gateway_enable="YES"

     --------------------------------------------------------------

      27.2.1.2.4. Welches getty?

   Der Abschnitt Einwa:hlverbindungen bietet eine gute Beschreibung,
   wie Einwa:hlverbindungen unter Verwendung von getty(8) genutzt
   werden ko:nnen.

   Eine Alternative zu getty ist mgetty, eine raffiniertere Version
   von getty, die mit Blick auf Einwa:hlverbindungen entworfen wurde.

   Der Vorteil von mgetty ist, dass es auf aktive Weise mit Modems
   spricht, das heisst wenn ein Port in /etc/ttys ausgeschaltet ist,
   wird Ihr Modem nicht auf Anrufe reagieren.

   Spa:tere Versionen von mgetty (von 0.99beta aufwa:rts)
   unterstu:tzen auch die automatische Erkennung von PPP-Streams, was
   Ihren Clients den skriptlosen Zugang zu Ihren Servern erlaubt.

   Der Abschnitt Mgetty und AutoPPP bietet weitere Informationen zu
   mgetty.

     --------------------------------------------------------------

      27.2.1.2.5. PPP und Rechte

   Der Befehl ppp muss normalerweise als root ausgefu:hrt werden.
   Wenn Sie jedoch mo:chten, dass ppp im Server-Modus auch von einem
   normalen Benutzer, wie unten beschrieben, durch Aufruf von ppp
   ausgefu:hrt werden kann, mu:ssen Sie diesem Benutzer die Rechte
   erteilen, ppp auszufu:hren, indem Sie ihn in der Datei /etc/group
   der Gruppe network hinzufu:gen.

   Sie werden ihm ebenfalls den Zugriff auf einen oder mehrere
   Abschnitte der Konfigurationsdatei geben mu:ssen, indem Sie den
   allow Befehl verwenden:

 allow users fred mary

   Wenn dieser Befehl im default Abschnitt verwendet wird, erhalten
   die angegebenen Benutzer vollsta:ndigen Zugriff.

     --------------------------------------------------------------

      27.2.1.2.6. PPP-Shells fu:r dynamische IP-Adressen

   Erzeugen Sie eine Datei mit dem Namen /etc/ppp/ppp-shell, die
   Folgendes entha:lt:

 #!/bin/sh
 IDENT=`echo $0 | sed -e 's/^.*-\(.*\)$/\1/'`
 CALLEDAS="$IDENT"
 TTY=`tty`

 if [ x$IDENT = xdialup ]; then
         IDENT=`basename $TTY`
 fi

 echo "PPP for $CALLEDAS on $TTY"
 echo "Starting PPP for $IDENT"

 exec /usr/sbin/ppp -direct $IDENT

   Dieses Skript sollte ausfu:hrbar sein. Nun erzeugen Sie einen
   symbolischen Link ppp-dialup auf dieses Skript mit folgendem
   Befehl:

 # ln -s ppp-shell /etc/ppp/ppp-dialup

   Sie sollten dieses Skript als Shell fu:r alle Benutzer von
   Einwa:hlverbindungen verwenden. Dies ist ein Beispiel aus der
   Datei /etc/passwd fu:r einen Benutzer namens pchilds, der PPP fu:r
   Einwa:hlverbindungen verwenden kann (Denken Sie daran, die
   Passwortdatei nicht direkt zu editieren, sondern dafu:r vipw(8) zu
   verwenden).

 pchilds:*:1011:300:Peter Childs PPP:/home/ppp:/etc/ppp/ppp-dialup

   Erstellen Sie ein Verzeichnis /home/ppp, das von allen Benutzern
   gelesen werden kann und die folgenden leeren Dateien entha:lt:

 -r--r--r--   1 root     wheel           0 May 27 02:23 .hushlogin
 -r--r--r--   1 root     wheel           0 May 27 02:22 .rhosts

   Dies verhindert, dass /etc/motd angezeigt wird.

     --------------------------------------------------------------

      27.2.1.2.7. PPP-Shells fu:r statische IP-Adressen

   Erstellen Sie die Datei ppp-shell wie oben oben dargestellt.
   Erzeugen Sie nun fu:r jeden Account mit statischer IP-Adresse
   einen symbolischen Link auf ppp-shell.

   Wenn Sie beispielsweise die drei Kunden, fred, sam und mary haben,
   fu:r die Sie CIDR-/24-Netzwerke routen, schreiben Sie Folgendes:

 # ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-fred
 # ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-sam
 # ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-mary

   Jeder Einwa:hlzugang dieser Kunden sollte den oben erzeugten
   symbolischen Link als Shell haben (mary's Shell sollte also
   /etc/ppp/ppp-mary sein).

     --------------------------------------------------------------

      27.2.1.2.8. Einrichten von ppp.conf fu:r dynamische IP-Adressen

   Die Datei /etc/ppp/ppp.conf sollte in etwa wie folgt aussehen:

 default:
   set debug phase lcp chat
   set timeout 0

 ttyd0:
   set ifaddr 203.14.100.1 203.14.100.20 255.255.255.255
   enable proxy

 ttyd1:
   set ifaddr 203.14.100.1 203.14.100.21 255.255.255.255
   enable proxy

     Anmerkung: Die Einru:ckungen sind wichtig.

   Der Abschnitt default: wird fu:r jede Sitzung geladen. Erstellen
   Sie fu:r jede Einwa:hlverbindung, die Sie in der Datei /etc/ttys
   ermo:glicht haben, einen Eintrag, wie oben fu:r ttyd0: gezeigt.
   Jede Verbindung sollte eine eigene IP-Adresse aus dem Pool der
   Adressen bekommen, die sie fu:r diese Benutzergruppe reserviert
   haben.

     --------------------------------------------------------------

      27.2.1.2.9. Einrichten von ppp.conf fu:r statische IP-Adressen

   Zu dem bisher dargestellten Inhalt der Beispieldatei
   /usr/share/examples/ppp/ppp.conf sollten Sie einen Abschnitt fu:r
   jeden Benutzer mit statisch zugewiesener IP-Adresse hinzufu:gen.
   Wir werden nun unser Beispiel mit den Accounts fred, sam und mary
   weiterfu:hren.

 fred:
   set ifaddr 203.14.100.1 203.14.101.1 255.255.255.255

 sam:
   set ifaddr 203.14.100.1 203.14.102.1 255.255.255.255

 mary:
   set ifaddr 203.14.100.1 203.14.103.1 255.255.255.255

   Die Datei /etc/ppp/ppp.linkup sollte, falls erforderlich,
   ebenfalls Routinginformationen fu:r jeden Benutzer mit statischer
   IP-Adresse enthalten. Die unten dargestellte Zeile wu:rde dem
   Netzwerk 203.14.101.0/24 eine Route u:ber die PPP-Verbindung des
   Client hinzufu:gen.

 fred:
   add 203.14.101.0 netmask 255.255.255.0 HISADDR

 sam:
   add 203.14.102.0 netmask 255.255.255.0 HISADDR

 mary:
   add 203.14.103.0 netmask 255.255.255.0 HISADDR

     --------------------------------------------------------------

      27.2.1.2.10. mgetty und AutoPPP

   Wird mgetty mit der Option AUTO_PPP konfiguriert und kompiliert,
   kann mgetty die LCP Phase von PPP-Verbindungen erkennen und
   automatisch eine ppp-Shell starten. Da hierbei jedoch die
   Login/Passwort-Sequenz nicht durchlaufen wird, ist es notwendig,
   Benutzer durch PAP oder CHAP zu authentifizieren.

   In diesem Abschnitt wird davon ausgegangen, dass der Benutzer eine
   Version von mgetty mit der Option AUTO_PPP (v0.99beta oder neuer)
   erfolgreich konfiguriert, kompiliert und installiert hat.

   Stellen Sie sicher, dass die Datei
   /usr/local/etc/mgetty+sendfax/login.config Folgendes entha:lt:

 /AutoPPP/ -     -                     /etc/ppp/ppp-pap-dialup

   Hierdurch wird mgetty angewiesen, das Skript ppp-pap-dialup fu:r
   die erkannten PPP-Verbindungen auszufu:hren.

   Erstellen Sie nun die Datei /etc/ppp/ppp-pap-dialup mit folgendem
   Inhalt (die Datei sollte ausfu:hrbar sein):

 #!/bin/sh
 exec /usr/sbin/ppp -direct pap$IDENT

   Erstellen Sie bitte fu:r jede Einwa:hlverbindung, die Sie in
   /etc/ttys ermo:glicht haben, einen korrespondierenden Eintrag in
   der Datei /etc/ppp/ppp.conf. Diese Eintra:ge ko:nnen problemlos,
   mit den Definitionen die wir weiter oben gemacht haben,
   koexistieren.

 pap:
   enable pap
   set ifaddr 203.14.100.1 203.14.100.20-203.14.100.40
   enable proxy

   Jeder Benutzer, der sich auf diese Weise anmeldet, beno:tigt einen
   Benutzernamen und ein Passwort in der Datei /etc/ppp/ppp.secret.
   Sie haben auch die Mo:glichkeit, Benutzer mit Hilfe von PAP zu
   authentifizieren, indem Sie der Datei /etc/passwd folgende Option
   hinzufu:gen:

 enable passwdauth

   Wenn Sie bestimmten Benutzern eine statische IP-Adresse zuweisen
   mo:chten, ko:nnen Sie diese als drittes Argument in der Datei
   /etc/ppp/ppp.secret angeben. In
   /usr/share/examples/ppp/ppp.secret.sample finden Sie hierfu:r
   Beispiele.

     --------------------------------------------------------------

      27.2.1.2.11. MS-Erweiterungen

   Es ist mo:glich PPP so zu konfigurieren, dass bei Bedarf DNS und
   NetBIOS Nameserveradressen bereitgestellt werden.

   Um diese Erweiterungen fu:r die PPP Version 1.x zu aktivieren,
   sollte der entsprechende Abschnitt der Datei /etc/ppp/ppp.conf um
   folgende Zeilen erga:nzt werden:

 enable msext
 set ns 203.14.100.1 203.14.100.2
 set nbns 203.14.100.5

   Fu:r PPP Version 2 und ho:her:

 accept dns
 set dns 203.14.100.1 203.14.100.2
 set nbns 203.14.100.5

   Damit werden den Clients die prima:ren und sekunda:ren
   Nameserveradressen sowie ein NetBIOS Nameserver-Host mitgeteilt.

   In Version 2 und ho:her verwendet PPP die Werte, die in
   /etc/resolv.conf zu finden sind, wenn die Zeile set dns
   weggelassen wird.

     --------------------------------------------------------------

      27.2.1.2.12. Authentifizierung durch PAP und CHAP

   Einige ISPs haben ihr System so eingerichtet, dass der
   Authentifizierungsteil eines Verbindungsaufbaus mit Hilfe von PAP
   oder CHAP-Mechanismen durchgefu:hrt wird. Wenn dies bei Ihnen der
   Fall sein sollte, wird Ihnen Ihr ISP bei der Verbindung keinen
   login:-Prompt pra:sentieren, sondern sofort mit der Aushandlung
   der PPP-Verbindung beginnen.

   PAP ist nicht so sicher wie CHAP, doch die Sicherheit ist hierbei
   normalerweise kein Problem, da Passwo:rter, obgleich von PAP im
   Klartext versandt, lediglich u:ber die serielle Verbindung
   verschickt werden. Es gibt fu:r Cracker wenig Mo:glichkeiten zu
   "lauschen".

   Zuru:ckkommend auf die Abschnitte PPP und statische IP-Adressen
   oder PPP und dynamische IP-Adressen mu:ssen folgende
   Vera:nderungen vorgenommen werden:

 13      set authname MyUserName
 14      set authkey MyPassword
 15      set login

   Zeile 13:

           Diese Zeile legt Ihren PAP/CHAP Benutzernamen fest. Sie
           mu:ssen den richtigen Wert fu:r MyUserName eingeben.

   Zeile 14:

           Diese Zeile legt Ihr PAP/CHAP Passwort fest. Sie mu:ssen
           den richtigen Wert fu:r MyPassword eingeben. Sie ko:nnen
           eine zusa:tzliche Zeile, wie etwa:

 16      accept PAP

           oder

 16      accept CHAP

           verwenden, um deutlich zu machen, dass dies beabsichtigt
           ist, aber sowohl PAP wie auch CHAP als standardma:ssig
           akzeptiert werden.

   Zeile 15:

           Ihr ISP wird normalerweise nicht von Ihnen verlangen, dass
           Sie sich am Server einloggen, wenn Sie PAP oder CHAP
           verwenden. Sie mu:ssen deshalb den String "set login"
           deaktivieren.

     --------------------------------------------------------------

      27.2.1.2.13. Vera:nderung Ihrer ppp Konfiguration im laufenden
      Betrieb

   Es ist mo:glich, dem Programm ppp Befehle zu erteilen, wa:hrend es
   im Hintergrund la:uft. Dazu ist jedoch die Einrichtung eines
   passenden Diagnose-Ports erforderlich. Erga:nzen Sie hierzu Ihre
   Konfigurationsdatei um folgende Zeile:

 set server /var/run/ppp-tun%d DiagnosticPassword 0177

   Damit wird PPP angewiesen, auf den angegebenen UNIX-Domainsocket
   zu ho:ren und Clients nach dem angegebenen Passwort zu fragen,
   bevor der Zugang Gewa:hrt wird. Das %d wird durch die Nummer des
   benutzten tun-Devices ersetzt.

   Wenn ein Socket eingerichtet ist, kann das Programm pppctl(8) in
   Skripten verwendet werden, mit denen in das laufende Programm
   eingegriffen wird.

     --------------------------------------------------------------

    27.2.1.3. Interne NAT von PPP benutzen

   PPP kann Network Address Translation (NAT) ohne Hilfe des Kernels
   durchfu:hren. Wenn Sie diese Funktion benutzen wollen, fu:gen Sie
   die folgende Zeile in /etc/ppp/ppp.conf ein:

 nat enable yes

   Sie ko:nnen NAT mit der Option -nat auf der Kommandozeile von PPP
   aktivieren. Weiterhin kann NAT in /etc/rc.conf mit der Variablen
   ppp_nat aktiviert werden. Dies ist auch die Voreinstellung.

   Die nachstehende /etc/ppp/ppp.conf benutzt NAT fu:r bestimmte
   eingehende Verbindungen:

 nat port tcp 10.0.0.2:ftp ftp
 nat port tcp 10.0.0.2:http http

   Wenn Sie Verbindungen von aussen u:berhaupt nicht trauen, benutzen
   Sie die folgende Zeile:

 nat deny_incoming yes

     --------------------------------------------------------------

    27.2.1.4. Abschliessende Systemkonfiguration

   Sie haben ppp nun konfiguriert, aber bevor PPP eingesetzt werden
   kann, gibt noch einige weitere Dinge zu erledigen, die alle die
   Bearbeitung der Datei /etc/rc.conf erfordern.

   Gehen Sie diese Datei von oben nach unten durch, und stellen Sie
   als Erstes sicher, dass die Zeile hostname= vorhanden ist:

 hostname="foo.example.com"

   Wenn Ihnen Ihr ISP eine statische IP-Adresse und einen Namen
   zugewiesen hat, ist es wahrscheinlich am besten, wenn Sie diesen
   Namen als Hostnamen verwenden.

   Schauen Sie nach der Variable network_interfaces. Wenn Sie Ihr
   System so konfigurieren mo:chten, dass bei Bedarf eine Verbindung
   zu Ihrem ISP aufgebaut wird, sollten Sie das Device tun0 zu der
   Liste hinzufu:gen oder es andernfalls entfernen.

 network_interfaces="lo0 tun0"
 ifconfig_tun0=

     Anmerkung: Die Variable ifconfig_tun0 sollte leer sein und eine
     Datei namens /etc/start_if.tun0 sollte erstellt werden. Diese
     Datei sollte die nachfolgende Zeile enthalten:

 ppp -auto mysystem

     Dieses Skript startet Ihren ppp-Daemon im Automatik-Modus. Es
     wird bei der Netzwerkkonfiguration ausgefu:hrt. Wenn Ihr Rechner
     als Gateway fu:r ein LAN fungiert, mo:chten Sie vielleicht auch
     die Option -alias verwenden. In der Manual-Seite sind weitere
     Einzelheiten hierzu zu finden.

   Stellen Sie sicher, dass der Start eines Routerprogramms in
   /etc/rc.conf wie folgt deaktiviert ist:

 router_enable="NO"

   Es ist wichtig, dass der routed Daemon nicht gestartet wird da
   routed dazu tendiert, die von ppp erstellten Eintra:ge der
   Standardroute zu u:berschreiben.

   Es ist ausserdem sinnvoll, darauf zu achten, dass die Zeile
   sendmail_flags nicht die Option -q entha:lt, da sendmail sonst ab
   und zu die Netzwerkverbindung pru:fen wird, was mo:glicherweise
   dazu fu:hrt, dass sich Ihr Rechner einwa:hlt. Sie ko:nnen hier
   Folgendes angeben:

 sendmail_flags="-bd"

   Der Nachteil dieser Lo:sung ist, dass Sie sendmail nach jedem
   Aufbau einer ppp-Verbindung auffordern mu:ssen, die
   Mailwarteschlange zu u:berpru:fen, indem Sie Folgendes eingeben:

 # /usr/sbin/sendmail -q

   Vielleicht mo:chten Sie den Befehl !bg in der Datei ppp.linkup
   verwenden, um dies zu automatisieren:

 1     provider:
 2       delete ALL
 3       add 0 0 HISADDR
 4       !bg sendmail -bd -q30m

   Wenn Sie dies nicht mo:chten, ist es mo:glich, einen "dfilter"
   einzusetzen, um SMTP-Verkehr zu blockieren. Weitere Einzelheiten
   hierzu finden Sie in den Beispieldateien.

   Das Einzige, was nun noch zu tun bleibt, ist Ihren Rechner neu zu
   starten. Nach dem Neustart ko:nnen Sie entweder:

 # ppp

   und danach dial provider eingeben, um eine PPP-Sitzung zu starten,
   oder Sie geben:

 # ppp -auto provider

   ein, um ppp bei Datenverkehr aus Ihrem Netzwerk heraus,
   automatisch eine Verbindung herstellen zu lassen (vorausgesetzt
   Sie haben kein start_if.tun0 Skript erstellt).

     --------------------------------------------------------------

    27.2.1.5. Zusammenfassung

   Die folgenden Schritte sind no:tig, wenn ppp zum ersten Mal
   eingerichtet werden soll:

   Clientseite:

    1. Stellen Sie sicher, dass das tun Device in den Kernel
       eingebaut ist.

    2. Vergewissern Sie sich, dass die Gera:tedatei tunN im
       Verzeichnis /dev vorhanden ist.

    3. Bearbeiten Sie die Datei /etc/ppp/ppp.conf. Das Beispiel
       pmdemand sollte fu:r die meisten ISP ausreichen.

    4. Wenn Sie eine dynamische IP-Adresse haben, erstellen Sie einen
       Eintrag in der Datei /etc/ppp/ppp.linkup.

    5. Aktualisieren Sie die Datei /etc/rc.conf.

    6. Erstellen Sie das Skript start_if.tun0, wenn Sie einen
       bedarfgesteuerten Einwahlprozess (demand dialing) beno:tigen.

   Serverseite:

    1. Stellen Sie sicher, dass das tun Device in den Kernel
       eingebaut ist.

    2. Vergewissern Sie sich, dass die Gera:tedatei tunN im
       Verzeichnis /dev vorhanden ist

    3. Erstellen Sie einen Eintrag in der Datei /etc/passwd
       (verwenden Sie dazu das Programm vipw(8)).

    4. Erstellen Sie ein Profil im Heimatverzeichnis des Benutzers,
       das ppp -direct direct-server o.A:. ausfu:hrt.

    5. Bearbeiten Sie die Datei /etc/ppp/ppp.conf. Das Beispiel
       direct-server sollte ausreichen.

    6. Erzeugen Sie einen Eintrag in /etc/ppp/ppp.linkup.

    7. Aktualisieren Sie die Datei /etc/rc.conf.

     --------------------------------------------------------------

27.3. Kernel-PPP

   Teile wurden urspru:nglich beigetragen von Gennady B. Sorokopud
   und Robert Huff.

  27.3.1. Einrichtung von Kernel-PPP

   Bevor Sie PPP auf Ihrem Computer einrichten, sollten Sie dafu:r
   sorgen, dass pppd im Verzeichnis /usr/sbin vorhanden ist und
   /etc/ppp existiert.

   pppd kann auf zweierlei Weise arbeiten:

    1. Als "Client" - Sie mo:chten Ihren Rechner mit einem Netz
       verbinden, indem Sie eine serielle PPP-Verbindung aufbauen.

    2. Als "Server" - Ihr Rechner ist in ein Netzwerk eingebunden und
       stellt die PPP-Verbindung fu:r andere Rechner im Netzwerk her.

   In beiden Fa:llen werden Sie eine Datei mit den beno:tigten
   Optionen erstellen mu:ssen (/etc/ppp/options oder, wenn mehr als
   ein Benutzer PPP verwendet, ~/.ppprc).

   Sie beno:tigen ausserdem eine Software (vorzugsweise
   comms/kermit), mit der Sie seriell per Modem wa:hlen und eine
   Verbindung zu dem entfernten Host aufbauen ko:nnen.

     --------------------------------------------------------------

  27.3.2. Verwendung von pppd als Client

   Basierend auf Informationen von Trev Roydhouse.

   Die folgende Datei /etc/ppp/options kann fu:r einen
   Verbindungsaufbau mit PPP zu einem Cisco Terminalserver verwendet
   werden.

 crtscts         # enable hardware flow control
 modem           # modem control line
 noipdefault     # remote PPP server must supply your IP address
                 # if the remote host does not send your IP during IPCP
                 # negotiation, remove this option
 passive         # wait for LCP packets
 domain ppp.foo.com      # put your domain name here

 :remote_ip      # put the IP of remote PPP host here
                 # it will be used to route packets via PPP link
                 # if you didn't specified the noipdefault option
                 # change this line to local_ip:remote_ip

 defaultroute    # put this if you want that PPP server will be your
                 # default router

   Um eine Verbindung herzustellen, sollten Sie:

    1. Mit Kermit (oder einem anderen Modemprogramm) den entfernten
       Host anwa:hlen und Ihren Benutzernamen sowie Ihr Passwort
       (oder was sonst no:tig ist, um PPP auf dem entfernten Host zu
       aktivieren) eingeben.

    2. Kermit beenden (ohne die Verbindung abzubrechen).

    3. Folgendes eingeben:

 # /usr/sbin/pppd /dev/tty01 19200

       Achten Sie darauf, dass sie eine geeignete Geschwindigkeit
       wa:hlen und das richtige Device verwenden.

   Nun ist Ihr Computer mit Hilfe von PPP verbunden. Wenn die
   Verbindung nicht funktionieren sollte, ko:nnen Sie die Option
   debug in die Datei /etc/ppp/options eintragen und die Ausgaben auf
   der Konsole beobachten, um die Fehler zu finden.

   Das folgende Skript /etc/ppp/pppup fu:hrt alle 3 Schritte
   automatisch aus:

 #!/bin/sh
 pgrep -l pppd
 pid=`pgrep pppd`
 if [ "X${pid}" != "X" ] ; then
         echo 'killing pppd, PID=' ${pid}
         kill ${pid}
 fi
 pgrep -l kermit
 pid=`pgrep kermit`
 if [ "X${pid}" != "X" ] ; then
         echo 'killing kermit, PID=' ${pid}
         kill -9 ${pid}
 fi

 ifconfig ppp0 down
 ifconfig ppp0 delete

 kermit -y /etc/ppp/kermit.dial
 pppd /dev/tty01 19200

   /etc/ppp/kermit.dial ist ein Kermit-Skript das den Einwa:hlvorgang
   und alle notwendigen Autorisationen auf dem entfernten Host
   durchfu:hrt (ein Beispiel fu:r ein solches Skript ist im Anhang zu
   diesem Dokument zu finden).

   Verwenden Sie das folgende Skript /etc/ppp/pppdown, um die
   PPP-Verbindung abzubrechen:

 #!/bin/sh
 pid=`pgrep pppd`
 if [ X${pid} != "X" ] ; then
         echo 'killing pppd, PID=' ${pid}
         kill -TERM ${pid}
 fi

 pgrep -l kermit
 pid=`pgrep kermit`
 if [ "X${pid}" != "X" ] ; then
         echo 'killing kermit, PID=' ${pid}
         kill -9 ${pid}
 fi

 /sbin/ifconfig ppp0 down
 /sbin/ifconfig ppp0 delete
 kermit -y /etc/ppp/kermit.hup
 /etc/ppp/ppptest

   Pru:fen Sie, ob pppd immer noch la:uft, indem Sie
   /usr/etc/ppp/ppptest ausfu:hren. Dieses Skript sollte
   folgendermassen aussehen:

 #!/bin/sh
 pid=`pgrep pppd`
 if [ X${pid} != "X" ] ; then
         echo 'pppd running: PID=' ${pid-NONE}
 else
         echo 'No pppd running.'
 fi
 set -x
 netstat -n -I ppp0
 ifconfig ppp0

   Um die Modemverbindung abzubrechen, ko:nnen Sie das Skript
   /etc/ppp/kermit.hup verwenden, das Folgendes enthalten sollte:

 set line /dev/tty01     ; put your modem device here
 set speed 19200
 set file type binary
 set file names literal
 set win 8
 set rec pack 1024
 set send pack 1024
 set block 3
 set term bytesize 8
 set command bytesize 8
 set flow none

 pau 1
 out +++
 inp 5 OK
 out ATH0\13
 echo \13
 exit

   Hier ist eine alternative Methode, bei der chat an Stelle von
   Kermit eingesetzt wird:

   Die folgenden beiden Dateien reichen aus, um eine Verbindung u:ber
   pppd herzustellen.

   /etc/ppp/options:

 /dev/cuad1 115200

 crtscts         # enable hardware flow control
 modem           # modem control line
 connect "/usr/bin/chat -f /etc/ppp/login.chat.script"
 noipdefault     # remote PPP serve must supply your IP address
                 # if the remote host doesn't send your IP during
                 # IPCP negotiation, remove this option
 passive         # wait for LCP packets
 domain <your.domain>      # put your domain name here

 :               # put the IP of remote PPP host here
                 # it will be used to route packets via PPP link
                 # if you didn't specified the noipdefault option
                 # change this line to local_ip:remote_ip;

 defaultroute    # put this if you want that PPP server will be
                 # your default router

   /etc/ppp/login.chat.script:

     Anmerkung: Die folgenden Angaben sollten in einer Zeile stehen.

 ABORT BUSY ABORT 'NO CARRIER' "" AT OK ATDTphone.number
   CONNECT "" TIMEOUT 10 ogin:-\\r-ogin: login-id
   TIMEOUT 5 sword: password

   Wenn diese Dateien richtig installiert und modifiziert sind,
   mu:ssen Sie pppd, nur noch wie folgt starten:

 # pppd

     --------------------------------------------------------------

  27.3.3. Verwendung von pppd als Server

   /etc/ppp/options sollte etwa Folgendes enthalten:

 crtscts                         # Hardware flow control
 netmask 255.255.255.0           # netmask (not required)
 192.114.208.20:192.114.208.165  # IP's of local and remote hosts
                                 # local ip must be different from one
                                 # you assigned to the Ethernet (or other)
                                 # interface on your machine.
                                 # remote IP is IP address that will be
                                 # assigned to the remote machine
 domain ppp.foo.com              # your domain
 passive                         # wait for LCP
 modem                           # modem line

   Das folgende Skript /etc/ppp/pppserv la:sst pppd als Server zu
   arbeiten:

 #!/bin/sh
 pgrep -l pppd
 pid=`pgrep pppd`
 if [ "X${pid}" != "X" ] ; then
         echo 'killing pppd, PID=' ${pid}
         kill ${pid}
 fi
 pgrep -l kermit
 pid=`pgrep kermit`
 if [ "X${pid}" != "X" ] ; then
         echo 'killing kermit, PID=' ${pid}
         kill -9 ${pid}
 fi

 # reset ppp interface
 ifconfig ppp0 down
 ifconfig ppp0 delete

 # enable autoanswer mode
 kermit -y /etc/ppp/kermit.ans

 # run ppp
 pppd /dev/tty01 19200

   Verwenden Sie das Skript/etc/ppp/pppservdown, um den Server zu
   beenden:

 #!/bin/sh
 pgrep -l pppd
 pid=`pgrep pppd`
 if [ "X${pid}" != "X" ] ; then
         echo 'killing pppd, PID=' ${pid}
         kill ${pid}
 fi
 pgrep -l kermit
 pid=`pgrep kermit`
 if [ "X${pid}" != "X" ] ; then
         echo 'killing kermit, PID=' ${pid}
         kill -9 ${pid}
 fi
 ifconfig ppp0 down
 ifconfig ppp0 delete

 kermit -y /etc/ppp/kermit.noans

   Mit dem Kermit-Skript (/etc/ppp/kermit.ans) la:sst sich die
   Funktion Ihres Modems, automatisch zu antworten, ein- bzw.
   ausschalten. Es sollte folgendermassen aussehen:

 set line /dev/tty01
 set speed 19200
 set file type binary
 set file names literal
 set win 8
 set rec pack 1024
 set send pack 1024
 set block 3
 set term bytesize 8
 set command bytesize 8
 set flow none

 pau 1
 out +++
 inp 5 OK
 out ATH0\13
 inp 5 OK
 echo \13
 out ATS0=1\13   ; change this to out ATS0=0\13 if you want to disable
                 ; autoanswer mode
 inp 5 OK
 echo \13
 exit

   Ein Skript namens /etc/ppp/kermit.dial wird fu:r die Einwahl und
   Authentifizierung am entfernten Host verwendet. Sie mu:ssen es
   noch an Ihre lokalen Gegebenheiten anpassen. Geben Sie in diesem
   Skript Ihren Benutzernamen und Ihr Passwort ein. In Abha:ngigkeit
   von der Reaktion Ihres Modems und des entfernten Hosts, werden Sie
   auch noch die input Anweisungen vera:ndern mu:ssen.

 ;
 ; put the com line attached to the modem here:
 ;
 set line /dev/tty01
 ;
 ; put the modem speed here:
 ;
 set speed 19200
 set file type binary            ; full 8 bit file xfer
 set file names literal
 set win 8
 set rec pack 1024
 set send pack 1024
 set block 3
 set term bytesize 8
 set command bytesize 8
 set flow none
 set modem hayes
 set dial hangup off
 set carrier auto                ; Then SET CARRIER if necessary,
 set dial display on             ; Then SET DIAL if necessary,
 set input echo on
 set input timeout proceed
 set input case ignore
 def \%x 0                       ; login prompt counter
 goto slhup

 :slcmd                          ; put the modem in command mode
 echo Put the modem in command mode.
 clear                           ; Clear unread characters from input buffer
 pause 1
 output +++                      ; hayes escape sequence
 input 1 OK\13\10                ; wait for OK
 if success goto slhup
 output \13
 pause 1
 output at\13
 input 1 OK\13\10
 if fail goto slcmd              ; if modem doesn't answer OK, try again

 :slhup                          ; hang up the phone
 clear                           ; Clear unread characters from input buffer
 pause 1
 echo Hanging up the phone.
 output ath0\13                  ; hayes command for on hook
 input 2 OK\13\10
 if fail goto slcmd              ; if no OK answer, put modem in command mode

 :sldial                         ; dial the number
 pause 1
 echo Dialing.
 output atdt9,550311\13\10               ; put phone number here
 assign \%x 0                    ; zero the time counter

 :look
 clear                           ; Clear unread characters from input buffer
 increment \%x                   ; Count the seconds
 input 1 {CONNECT }
 if success goto sllogin
 reinput 1 {NO CARRIER\13\10}
 if success goto sldial
 reinput 1 {NO DIALTONE\13\10}
 if success goto slnodial
 reinput 1 {\255}
 if success goto slhup
 reinput 1 {\127}
 if success goto slhup
 if < \%x 60 goto look
 else goto slhup

 :sllogin                        ; login
 assign \%x 0                    ; zero the time counter
 pause 1
 echo Looking for login prompt.

 :slloop
 increment \%x                   ; Count the seconds
 clear                           ; Clear unread characters from input buffer
 output \13
 ;
 ; put your expected login prompt here:
 ;
 input 1 {Username: }
 if success goto sluid
 reinput 1 {\255}
 if success goto slhup
 reinput 1 {\127}
 if success goto slhup
 if < \%x 10 goto slloop         ; try 10 times to get a login prompt
 else goto slhup                 ; hang up and start again if 10 failures

 :sluid
 ;
 ; put your userid here:
 ;
 output ppp-login\13
 input 1 {Password: }
 ;
 ; put your password here:
 ;
 output ppp-password\13
 input 1 {Entering SLIP mode.}
 echo
 quit

 :slnodial
 echo \7No dialtone.  Check the telephone line!\7
 exit 1

 ; local variables:
 ; mode: csh
 ; comment-start: "; "
 ; comment-start-skip: "; "
 ; end:

     --------------------------------------------------------------

27.4. Probleme bei PPP-Verbindungen

   Beigetragen von Tom Rhodes.

   Dieser Abschnitt behandelt Probleme, die auftauchen ko:nnen, wenn
   PPP u:ber ein Modem verwendet wird. Sie mu:ssen beispielsweise
   genau die Eingabeaufforderung des Systems kennen, in das Sie sich
   einwa:hlen. Einige ISPs verwenden ssword andere verwenden
   password; wenn das Einwahlskript falsch ist, scheitert die
   Anmeldung. U:blicherweise suchen Sie nach Fehlern der
   PPP-Verbindung indem Sie sich manuell verbinden. Wie das genau
   geht, wird im Folgenden gezeigt.

     --------------------------------------------------------------

  27.4.1. Gera:tedateien u:berpru:fen

   Wenn Sie einen eigenen Kernel verwenden, stellen Sie sicher, dass
   die folgende Zeile in der Kernelkonfigurationsdatei vorhanden ist:

 device   sio

   Das sio-Gera:t ist bereits im GENERIC-Kernel vorhanden, deshalb
   sind in diesem Fall keine zusa:tzlichen Schritte vonno:ten.
   Kontrollieren Sie die Ausgabe von dmesg:

 # dmesg | grep sio

   In der Ausgabe sollten die entsprechenden sio-Gera:te,
   beispielsweise sio1 (COM2), angezeigt werden. Wird ein passendes
   Gera:t angezeigt, brauchen Sie keinen neuen Kernel zu erstellen.
   Wenn Ihr Modem an sio1 angeschlossen ist (in DOS ist dieser
   Anschluss als COM2 bekannt), ist /dev/cuad1 die dazugeho:rende
   Gera:tedatei.

     --------------------------------------------------------------

  27.4.2. Manuelle Verbindungen

   Ein Verbindungsaufbau zum Internet durch manuelle Steuerung von
   ppp geht schnell, ist einfach und stellt einen guten Weg dar, eine
   Verbindung auf Fehler hin zu u:berpru:fen oder einfach
   Informationen daru:ber zu sammeln, wie Ihr ISP Verbindungen
   handhabt. Lassen Sie uns PPP von der Kommandozeile aus starten.
   Beachten Sie, dass in allen Beispielen example der Hostname der
   Maschine ist, auf der PPP la:uft. Sie starten ppp, indem Sie
   einfach ppp eingeben:

 # ppp

   Wir haben ppp nun gestartet.

 ppp ON example> set device /dev/cuad1

   Wir geben das Device an, an das unser Modem angeschlossen ist. In
   diesem Fall ist es cuad1.

 ppp ON example> set speed 115200

   Wir geben die Verbindungsgeschwindigkeit an. Im Beispiel verwenden
   wir 115200 kbps

 ppp ON example> enable dns

   Wir weisen ppp an, unseren Resolver zu konfigurieren und in der
   Datei /etc/resolv.conf Eintra:ge fu:r den Nameserver
   hinzuzufu:gen. Falls ppp unseren Hostnamen nicht bestimmen kann,
   geben wir diesen spa:ter manuell an.

 ppp ON example> term

   Wir wechseln in den "Terminal"-Modus, um das Modem manuell
   kontrollieren zu ko:nnen.

 deflink: Entering terminal mode on /dev/cuad1
 type '~h' for help

 at
 OK
 atdt123456789

   Sie verwenden at zur Initialisierung Ihres Modems und dann atdt
   sowie die Nummer Ihres ISP, um den Einwa:hlprozess zu starten.

 CONNECT

   Dies ist die Besta:tigung, dass eine Verbindung aufgebaut wurde.
   Falls wir Verbindungsprobleme bekommen, die nicht mit der Hardware
   zusammenha:ngen, werden wir an dieser Stelle ansetzen mu:ssen, um
   eine Lo:sung zu finden.

 ISP Login:myusername

   Hier werden Sie nach einem Benutzernamen gefragt. Geben Sie am
   Prompt den Namen ein, den Ihnen Ihr ISP zur Verfu:gung gestellt
   hat.

 ISP Pass:mypassword

   An dieser Stelle mu:ssen Sie das Passwort angeben, das Ihnen von
   Ihrem ISP vorgegeben wurde. Das Passwort wird, analog dem normalen
   Anmeldevorgang, nicht angezeigt.

 Shell or PPP:ppp

   Abha:ngig von Ihrem ISP, kann es sein, dass dieser Prompt bei
   Ihnen gar nicht erscheint. Wir werden hier gefragt, ob wir eine
   Shell beim Provider verwenden oder ppp starten wollen. Weil wir
   eine Internetverbindung aufbauen wollen, haben wir uns in diesem
   Beispiel fu:r ppp entschieden.

 Ppp ON example>

   Beachten Sie, dass sich in diesem Beispiel das erste p in einen
   Grossbuchstaben verwandelt hat. Dies zeigt, dass wir erfolgreich
   eine Verbindung zu unserem ISP hergestellt haben.

 PPp ON example>

   An dieser Stelle haben wir uns erfolgreich bei unserem ISP
   authentifiziert und warten darauf, dass uns eine IP-Adresse
   zugewiesen wird.

 PPP ON example>

   Wir haben uns mit der Gegenstelle auf eine IP-Adresse geeinigt und
   den Verbindungsaufbau erfolgreich abgeschlossen

 PPP ON example> add default HISADDR

   Hier geben wir unsere Standardroute an. Weil zu diesem Zeitpunkt
   unsere einzige Verbindung zu unserer Gegenstelle besteht, mu:ssen
   wir dies tun, bevor wir Kontakt zu unserer Umwelt aufnehmen
   ko:nnen. Falls dies aufgrund bestehender Routen nicht
   funktionieren sollte, ko:nnen Sie ein Ausrufungszeichen ! vor add
   setzen. Sie ko:nnen diese Standardroute aber auch vor dem
   eigentlichen Verbindungsaufbau angeben und PPP wird entsprechend
   eine neue Route aushandeln.

   Wenn alles gut ging, sollten wir nun eine aktive
   Internetverbindung haben, die wir mit Ctrl+z in den Hintergrund
   schicken ko:nnen Wenn sie feststellen, dass PPP wieder zu ppp
   wird, ist die Verbindung abgebrochen. Es ist gut dies zu wissen,
   weil dadurch der Verbindungsstatus angezeigt wird. Grosse Ps
   zeigen an, dass wir eine Verbindung zum ISP haben und kleine ps
   zeigen an, dass wir aus irgendeinem Grund die Verbindung verloren
   haben. ppp hat nur diese beiden Zusta:nde.

     --------------------------------------------------------------

    27.4.2.1. Fehlersuche

   Wenn sie einen Direktanschluss haben und keine Verbindung aufbauen
   ko:nnen, schalten Sie die Hardware-Flusssteuerung CTS/RTS aus,
   indem Sie die Option set ctsrts off verwenden. Dies ist zumeist
   dann der Fall, wenn Sie mit einem PPP-fa:higen Terminalserver
   verbunden sind. Hier bleibt PPP bei dem Versuch ha:ngen, Daten
   u:ber Ihre Nachrichtenverbindung zu schicken, weil auf ein
   CTS-Signal (Clear-to-Send) gewartet wird, das nie kommt. Wenn Sie
   diese Option jedoch gebrauchen, sollten Sie auch die Option set
   accmap verwenden, die erforderlich sein kann, um bestimmte
   Hardware zu kontrollieren, die auf die U:bertragung bestimmter
   Zeichen zwischen den Kommunikations-Endpunkten (zumeist XON/XOFF)
   angewiesen ist. Die Manual-Seite ppp(8) bietet mehr Informationen
   zu dieser Option und ihrer Verwendung.

   Wenn Sie ein a:lteres Modem haben, beno:tigen Sie vielleicht die
   Option set parity even. Standardma:ssig wird keine Parita:t
   vorausgesetzt, sie ist aber fu:r die Fehlerpru:fung bei a:lteren
   Modems und bei bestimmten ISPs erforderlich. Sie ko:nnten diese
   Option fu:r den ISP Compuserve beno:tigen.

   PPP kehrt mo:glicherweise nicht in den Befehlsmodus zuru:ck, was
   normalerweise auf einen Fehler bei der Aushandlung hinweist, wobei
   der ISP wartet, dass Ihre Seite den Aushandlungsprozess beginnt.
   Die Option ~p erzwingt in diesem Fall den Beginn des
   Aushandlungsprozesses.

   Wenn Sie nie einen Login-Prompt erhalten, mu:ssen Sie statt des im
   Beispiel gezeigten UNIX-Stils ho:chst wahrscheinlich PAP oder CHAP
   fu:r die Authentifizierung verwenden. Um PAP oder CHAP zu
   verwenden, erga:nzen Sie PPP einfach um folgende Optionen, bevor
   Sie in den Terminalmodus wechseln:

 ppp ON example> set authname myusername

   Hierbei sollte myusername durch den Benutzernamen ersetzt werden,
   den Sie von Ihrem ISP bekommen haben.

 ppp ON example> set authkey mypassword

   mypassword sollten Sie durch das Passwort ersetzen, das Ihnen Ihr
   ISP gegeben hat.

   Wenn die Verbindung aufgebaut wird, Sie aber keine Rechner unter
   ihrem Doma:nen-Namen erreichen ko:nnen, versuchen Sie, einen
   Rechner mit ping(8) und seiner IP-Adresse zu erreichen. Wenn 100%
   der Pakete verloren gehen, ist es sehr wahrscheinlich, dass Ihnen
   keine Standardroute zugewiesen wurde. U:berpru:fen Sie, ob
   wa:hrend des Verbindungsaufbaus die Option add default HISADDR
   gesetzt war. Wenn Sie zu einer entfernten IP-Adresse eine
   Verbindung aufbauen ko:nnen, ist es mo:glich, dass die Adresse
   eines Nameservers nicht in die Datei /etc/resolv.conf eingetragen
   wurde. Diese Datei sollte folgendermassen aussehen:

 domain example.com
 nameserver x.x.x.x
 nameserver y.y.y.y

   Dabei sollten x.x.x.x und y.y.y.y durch die IP-Adressen der
   DNS-Server Ihres ISPs ersetzt werden. Diese Information ist Ihnen
   bei Vertragsabschluss mitgeteilt worden. Wenn nicht, sollte ein
   Anruf bei Ihrem ISP Abhilfe schaffen.

   Mit syslog(3) ko:nnen Sie Ihre PPP-Verbindung protokollieren.
   Fu:gen Sie einfach die folgende Zeile in /etc/syslog.conf ein:

 !ppp
 *.*     /var/log/ppp.log

   In den meisten Fa:llen existiert diese Funktionalita:t bereits.

     --------------------------------------------------------------

27.5. PPP over Ethernet (PPPoE)

   Beigetragen (durch
   http://node.to/freebsd/how-tos/how-to-freebsd-pppoe.html) von Jim
   Mock.

   Dieser Abschnitt beschreibt, wie Sie PPP over Ethernet (PPPoE)
   einrichten.

     --------------------------------------------------------------

  27.5.1. Konfiguration des Kernels

   Eine besondere Kernelkonfiguration ist fu:r PPPoE nicht mehr
   erforderlich. Sofern die notwendige NetGraph-Unterstu:tzung nicht
   in den Kernel eingebaut wurde, wird diese von ppp dynamisch
   geladen.

     --------------------------------------------------------------

  27.5.2. Einrichtung von ppp.conf

   Dies hier ist ein Beispiel einer funktionierenden ppp.conf:

 default:
   set log Phase tun command # you can add more detailed logging if you wish
   set ifaddr 10.0.0.1/0 10.0.0.2/0

 name_of_service_provider:
   set device PPPoE:xl1 # replace xl1 with your Ethernet device
   set authname YOURLOGINNAME
   set authkey YOURPASSWORD
   set dial
   set login
   add default HISADDR

     --------------------------------------------------------------

  27.5.3. ppp ausfu:hren

   Als root, geben Sie ein:

 # ppp -ddial name_of_service_provider

     --------------------------------------------------------------

  27.5.4. ppp beim Systemstart ausfu:hren

   Fu:gen Sie Folgendes in Ihre Datei /etc/rc.conf ein:

 ppp_enable="YES"
 ppp_mode="ddial"
 ppp_nat="YES"   # if you want to enable nat for your local network, otherwise NO
 ppp_profile="name_of_service_provider"

     --------------------------------------------------------------

  27.5.5. Verwendung einer PPPoE-Dienstbezeichnung (service tag)

   Manchmal kann es notwendig sein, eine Dienstbezeichnung (service
   tag) zu verwenden, um eine Verbindung aufzubauen.
   Dienstbezeichnungen werden eingesetzt, um zwischen verschiedenen
   PPPoE-Servern unterscheiden zu ko:nnen, die einem bestehenden
   Netzwerk zugeteilt sind.

   Die erforderlichen Dienstbezeichnungen sollten in der
   Dokumentation, zu finden sein, die Ihnen Ihr ISP zur Verfu:gung
   gestellt hat. Wenn Sie diese Informationen dort nicht finden,
   fragen Sie beim technischen Kundendienst Ihres ISP danach.

   Als letzte Mo:glichkeit, bleibt die Methode, die von dem Programm
   Roaring Penguin PPPoE vorgeschlagen wird, das in der
   Ports-Sammlung zu finden ist. Bedenken Sie aber, dass dadurch
   Daten Ihres Modems gelo:scht werden ko:nnen, so dass es nicht mehr
   benutzt werden kann. U:berlegen Sie also genau, ob Sie dies machen
   wollen. Installieren Sie einfach das Programm, das Ihnen Ihr
   Provider zusammen mit dem Modem geliefert hat. Gehen Sie dann in
   das Menu: System dieses Programms. Der Name Ihres Profils, sollte
   in der Liste aufgefu:hrt sein. Normalerweise ist dies ISP.

   Der Name des Profils (service tag) wird im Eintrag fu:r die
   PPPoE-Konfiguration in der Datei ppp.conf verwendet, als der Teil
   des Befehls set device (die manpage ppp(8) entha:lt Einzelheiten
   hierzu), der den Provider angibt. Dieser Eintrag sollte
   folgendermassen aussehen:

 set device PPPoE:xl1:ISP

   Vergessen Sie nicht, statt xl1 das richtige Device Ihrer
   Netzwerkkarte anzugeben.

   Denken sie auch daran, ISP durch das Profil, das Sie oben gefunden
   haben zu ersetzen.

   Weitere Informationen bieten:

     * Nutzung von T-DSL und T-Online mit FreeBSD von Udo Erdelhoff

     * Cheaper Broadband with FreeBSD on DSL von Renaud Waldura.

     --------------------------------------------------------------

  27.5.6. PPPoE mit einem 3Com(R) HomeConnect(R) ADSL Modem Dual Link

   Dieses Modem folgt nicht dem RFC 2516 (A Method for transmitting
   PPP over Ethernet (PPPoE), verfasst von L. Mamakos, K. Lidl, J.
   Evarts, D. Carrel, D. Simone, und R. Wheeler). Stattdessen wurden
   andere Pakettyp-Codes fu:r die Ethernet Frames verwendet. Bitte
   beschweren Sie sich unter 3Com, wenn Sie der Ansicht sind, dass
   dieses Modem die PPPoE-Spezifikation einhalten sollte.

   Um FreeBSD in die Lage zu versetzen, mit diesem Gera:t zu
   kommunizieren, muss ein sysctl Befehl angegeben werden. Dies kann
   beim Systemstart automatisch geschehen, indem die Datei
   /etc/sysctl.conf angepasst wird:

 net.graph.nonstandard_pppoe=1

   oder, wenn der Befehl unmittelbar wirksam werden soll, durch:

 # sysctl net.graph.nonstandard_pppoe=1

   Da hiermit eine systemweit gu:ltige Einstellung vorgenommen wird,
   ist es nicht mo:glich, gleichzeitig mit einem normalen
   PPPoE-Client oder Server und einem 3Com HomeConnect(R) ADSL Modem
   zu kommunizieren.

     --------------------------------------------------------------

27.6. PPP over ATM (PPPoA)

   Nachfolgend wird beschrieben, wie PPP over ATM (PPPoA)
   eingerichtet wird. PPPoA ist vor allem unter europa:ischen
   DSL-Providern popula:r.

     --------------------------------------------------------------

  27.6.1. Der Einsatz von PPPoA mit dem Alcatel SpeedTouch(TM) USB

   PPPoA-Unterstu:tzung fu:r dieses Gera:t ist unter FreeBSD als Port
   verfu:gbar, da die Firmware unter Alcatels Lizenzvereinbarung
   vertrieben wird und deshalb nicht mit dem FreeBSD-Basissystem frei
   verteilt werden kann.

   Um die Software zu installieren, verwenden Sie einfach die
   Ports-Sammlung. Installieren Sie den Port net/pppoa und folgen Sie
   den dabei angegebenen Instruktionen.

   Fu:r den ordnungsgema:ssen Betrieb muss das Alcatel SpeedTouch(TM)
   USB, wie viele USB-Gera:te, Firmware auf den Gastrechner laden.
   FreeBSD kann die Firmware automatisch laden, wenn das Gera:t mit
   dem USB-Anschluss verbunden wird. Dazu fu:gen Sie als Benutzer
   root die nachstehenden Zeilen in /etc/usbd.conf ein:

 device "Alcatel SpeedTouch USB"
     devname "ugen[0-9]+"
     vendor 0x06b9
     product 0x4061
     attach "/usr/local/sbin/modem_run -f /usr/local/libdata/mgmt.o"

   Den USB-Daemon aktivieren Sie mit der folgenden Zeile in
   /etc/rc.conf:

 usbd_enable="YES"

   Wenn die Verbindung beim Start von ppp aufgebaut werden soll,
   fu:gen Sie die nachstehenden Zeilen als Benutzer root in
   /etc/rc.conf ein:

 ppp_enable="YES"
 ppp_mode="ddial"
 ppp_profile="adsl"

   Verwenden Sie bitte diese Einstellungen zusammen mit der
   Beispielkonfiguration in ppp.conf des Ports net/pppoa.

     --------------------------------------------------------------

  27.6.2. Die Verwendung von mpd

   Sie ko:nnen mpd verwenden, um zu einer Reihe von Diensten,
   insbesondere PPTP-Diensten eine Verbindung herzustellen. Sie
   finden mpd in der Ports-Sammlung unter net/mpd. Viele ADSL Modems,
   wie das Alcatel SpeedTouch Home, sind auf einen PPTP-Tunnel
   zwischen dem Modem und dem Rechner angewiesen.

   Zuerst mu:ssen Sie den Port installieren, um danach mpd
   entsprechend Ihren Anforderungen und den Vorgaben Ihres Providers
   konfigurieren zu ko:nnen. Der Port installiert auch einige gut
   dokumentierte Beispielkonfigurationsdateien in PREFIX/etc/mpd/.
   Beachten Sie, dass PREFIX hier das Verzeichnis angibt, in das Ihre
   Ports installiert werden. Standardma:ssig ist dies das Verzeichnis
   /usr/local/. Ein kompletter Leitfaden zur Konfiguration von mpd
   ist im HTML-Format verfu:gbar, sobald der Port installiert ist.
   Dieser ist in PREFIX/share/doc/mpd/ zu finden. Hier ist eine
   Beispielkonfiguration, um mit mpd eine Verbindung zu einem
   ADSL-Dienst aufzubauen. Die Konfiguration ist auf zwei Dateien
   verteilt. Zuna:chst die Datei mpd.conf:

 default:
     load adsl

 adsl:
     new -i ng0 adsl adsl
     set bundle authname username (1)
     set bundle password password (2)
     set bundle disable multilink

     set link no pap acfcomp protocomp
     set link disable chap
     set link accept chap
     set link keep-alive 30 10

     set ipcp no vjcomp
     set ipcp ranges 0.0.0.0/0 0.0.0.0/0

     set iface route default
     set iface disable on-demand
     set iface enable proxy-arp
     set iface idle 0

     open

   (1)
           Der Benutzername, den Sie zur Authentifizierung bei Ihrem
           ISP verwenden.
   (2)
           Das Passwort, das Sie zur Authentifizierung bei Ihrem ISP
           verwenden.

   Die Datei mpd.links entha:lt Informationen u:ber die
   Verbindung(en), die Sie aufbauen mo:chten. Eine Beispieldatei
   mpd.links, die das vorige Beispiel erga:nzt, wird unten angegeben:

 adsl:
     set link type pptp
     set pptp mode active
     set pptp enable originate outcall
     set pptp self 10.0.0.1 (1)
     set pptp peer 10.0.0.138 (2)

   (1)
           Die IP-Adresse des FreeBSD-Rechners von dem aus Sie mpd
           verwenden.
   (2)
           Die IP-Adresse des ADSL-Modems. Das Alcatel SpeedTouch
           Home hat die Adresse 10.0.0.138 voreingestellt.

   Ein Verbindungsaufbau kann einfach durch Eingabe des folgenden
   Befehls als root gestartet werden:

 # mpd -b adsl

   Sie ko:nnen sich den Status der Verbindung durch folgenden Befehl
   anzeigen lassen:

 % ifconfig ng0
 ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1500
      inet 216.136.204.117 --> 204.152.186.171 netmask 0xffffffff

   Die Verwendung von mpd ist der empfehlenswerteste Weg, um mit
   FreeBSD eine Verbindung zu einem ADSL-Dienst aufzubauen.

     --------------------------------------------------------------

  27.6.3. Die Verwendung von pptpclient

   Es ist ausserdem mo:glich, mit FreeBSD eine Verbindung zu anderen
   PPPoA-Diensten aufzubauen. Dazu wird net/pptpclient verwendet.

   Um mit net/pptpclient eine eine Verbindung zu einem DSL-Dienst
   aufbauen zu ko:nnen, mu:ssen Sie den entsprechenden Port bzw. das
   Paket installieren und die Datei /etc/ppp/ppp.conf bearbeiten. Sie
   mu:ssen root sein, um diese Schritte durchfu:hren zu ko:nnen. Eine
   Beispieldatei fu:r ppp.conf ist weiter unten angegeben. Weitere
   Informationen zu den Optionen von ppp.conf bietet die Manual-Seite
   ppp ppp(8):

 adsl:
  set log phase chat lcp ipcp ccp tun command
  set timeout 0
  enable dns
  set authname username (1)
  set authkey password (2)
  set ifaddr 0 0
  add default HISADDR

   (1)
           Der Benutzername fu:r den Zugang zu den Diensten Ihres
           ISP.
   (2)
           Das Passwort fu:r Ihren Account.

     Warnung: Weil Sie Ihr Passwort in der Datei ppp.conf in Klartext
     angeben mu:ssen, sollten Sie sicherstellen, dass niemand den
     Inhalt dieser Datei lesen kann. Die folgende Reihe von Befehlen
     stellt sicher, dass die Datei nur von root lesbar ist.
     Zusa:tzliche Informationen bieten die Manual-Seiten chmod(1) und
     chown(8):

 # chown root:wheel /etc/ppp/ppp.conf
 # chmod 600 /etc/ppp/ppp.conf

   Dies wird einen Tunnel fu:r eine PPP-Session zu Ihrem DSL-Router
   o:ffnen. Ethernet-DSL-Modems haben eine vorkonfigurierte
   LAN-IP-Adresse, mit der Sie eine Verbindung aufbauen. Im Falle des
   Alcatel SpeedTouch Home handelt es sich dabei um die Adresse
   10.0.0.138. In der Dokumentation Ihres Routers sollte angegeben
   sein, welche Adresse Ihr Gera:t verwendet. Um den Tunnel zu
   o:ffnen und eine PPP-Session zu starten, fu:hren Sie bitte
   folgenden Befehl aus:

 # pptp address adsl

     Tipp: Vielleicht mo:chten Sie ein kaufma:nnisches Und ("&") an
     das Ende oben angegebenen Kommandos anfu:gen, da pptp sonst den
     Prompt nicht zuru:ckgibt.

   Ein virtuelles Tunnel-Device tun wird fu:r das Zusammenspiel der
   Prozesse pptp und ppp geschaffen. Wenn Sie den Prompt
   zuru:ckerhalten haben oder der pptp-Prozess das Vorliegen einer
   Verbindung besta:tigt, ko:nnen Sie den Tunnel folgendermassen
   u:berpru:fen:

 % ifconfig tun0
 tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
         inet 216.136.204.21 --> 204.152.186.171 netmask 0xffffff00
         Opened by PID 918

   Wenn Sie nicht in der Lage sein sollten, eine Verbindung
   aufzubauen, u:berpru:fen Sie die Konfiguration Ihres Routers, den
   Sie normalerweise per telnet oder mit einem Web-Browser erreichen
   ko:nnen. Falls dennoch keine Verbindung zustande kommt, sollten
   Sie die Ausgabe des Befehls pptp und die Logdatei /var/log/ppp.log
   von ppp nach Hinweisen auf die Ursache durchsuchen.

     --------------------------------------------------------------

27.7. SLIP

   Urspru:nglich beigetragen von Satoshi Asami. Mit Beitra:gen von
   Guy Helmer und Piero Serini.

     --------------------------------------------------------------

  27.7.1. Einrichtung eines SLIP-Clients

   Im Folgenden wird ein Weg beschrieben, SLIP auf einer
   FreeBSD-Maschine fu:r ein Netzwerk mit festen Hostnamen
   einzurichten. Bei einer dynamischen Zuweisung des Hostnamens (das
   heisst wenn sich Ihre Adresse bei jeder Einwahl a:ndert) wird die
   Einrichtung wahrscheinlich etwas komplexer aussehen.

   Bestimmen Sie zuerst, an welcher seriellen Schnittstelle Ihr Modem
   angeschlossen ist. Viele Leute erzeugen einen symbolischen Link,
   wie etwa /dev/modem, der auf den wirklichen Gera:tenamen
   /dev/cuadN verweist. Damit ist es Ihnen mo:glich, vom eigentlichen
   Gera:tenamen zu abstrahieren, sollten Sie das Modem einmal an eine
   andere Schnittstelle anschliessen mu:ssen. Es kann ziemlich
   umsta:ndlich sein, wenn Sie eine viele Dateien in /etc und
   .kermrc-Dateien, die u:ber das ganze System verstreut sind,
   anpassen mu:ssen!

     Anmerkung: /dev/cuad0 ist COM1, /dev/cuad1 ist COM2, etc.

   Stellen Sie sicher, dass Folgendes in Ihrer
   Kernelkonfigurationsdatei steht:

 device   sl      1

   Dieses pseudo-device ist im GENERIC Kernel enthalten. Falls es von
   Ihnen nicht gelo:scht wurde, sollten Sie hier kein Problem haben.

     --------------------------------------------------------------

    27.7.1.1. Dinge, die Sie nur einmal erledigen mu:ssen

    1. Tragen Sie Ihren lokalen Rechner, das Gateway, sowie die
       Nameserver in Ihre Datei /etc/hosts ein. Diese Datei sieht bei
       mir so aus:

 127.0.0.1               localhost loghost
 136.152.64.181          water.CS.Example.EDU water.CS water
 136.152.64.1            inr-3.CS.Example.EDU inr-3 slip-gateway
 128.32.136.9            ns1.Example.EDU ns1
 128.32.136.12           ns2.Example.EDU ns2

    2. Vergewissern Sie sich, dass in der Datei /etc/host.conf im
       Abschnitt hosts: files vor dns steht. Ohne diese Reihenfolge
       ko:nnten lustige Dinge passieren.

    3. Editieren Sie die Datei /etc/rc.conf.

         1. Ihren Hostnamen geben Sie an, indem Sie folgende Zeile
            bearbeiten:

 hostname="myname.my.domain"

            Hier sollte der vollsta:ndige Internethostname Ihres
            Rechners angegeben werden.

         2. Den Defaultrouter geben Sie durch die Modifikation
            folgender Zeile an:

 defaultrouter="NO"

            wird zu:

 defaultrouter="slip-gateway"

    4. Erstellen Sie die Datei /etc/resolv.conf, die Folgendes
       entha:lt:

 domain CS.Example.EDU
 nameserver 128.32.136.9
 nameserver 128.32.136.12

       Wie Sie sehen, werden hiermit die Nameserver angegeben.
       Natu:rlich ha:ngen die tatsa:chlichen Domainnamen und Adressen
       von Ihren Gegebenheiten ab.

    5. Legen Sie ein Passwort fu:r root und toor (sowie fu:r alle
       anderen Accounts die kein Passwort haben) fest.

    6. Starten Sie Ihren Rechner neu und u:berpru:fen Sie, ob er mir
       dem richtigen Hostnamen startet.

     --------------------------------------------------------------

    27.7.1.2. Aufbau einer SLIP-Verbindung

    1. Wa:hlen Sie sich ein, geben Sie slip und am Prompt den Namen
       Ihres Rechners sowie Ihr Passwort ein. Was Sie eingeben
       mu:ssen, ha:ngt von Ihren Gegebenheiten ab. Wenn Sie Kermit
       verwenden, ko:nnen Sie ein Skript a:hnlich dem Folgenden
       verwenden:

 # kermit setup
 set modem hayes
 set line /dev/modem
 set speed 115200
 set parity none
 set flow rts/cts
 set terminal bytesize 8
 set file type binary
 # The next macro will dial up and login
 define slip dial 643-9600, input 10 =>, if failure stop, -
 output slip\x0d, input 10 Username:, if failure stop, -
 output silvia\x0d, input 10 Password:, if failure stop, -
 output ***\x0d, echo \x0aCONNECTED\x0a

       Natu:rlich mu:ssen Sie hier Ihren Benutzernamen und Ihr
       Passwort eintragen. Wenn Sie das getan haben, ko:nnen Sie am
       Kermit-Prompt einfach slip eingeben, um sich zu verbinden.

         Anmerkung: Es ist generell eine schlechte Idee, Ihr Passwort
         in einer unverschlu:sselten Textdatei irgendwo im
         Dateisystem zu speichern. Tun Sie dies auf Ihr eigenes
         Risiko.

    2. Belassen Sie Kermit so (Sie ko:nnen es mit Ctrl-z
       unterbrechen) und geben Sie als root ein:

 # slattach -h -c -s 115200 /dev/modem

       Wenn Sie mit ping Hosts auf der anderen Seite des Routers
       erreichen ko:nnen, sind Sie verbunden! Wenn es nicht
       funktionieren sollte, ko:nnen Sie versuchen -a statt -c als
       Argument fu:r slattach zu verwenden.

     --------------------------------------------------------------

    27.7.1.3. Beenden der Verbindung

   Um slattach zu beenden, geben Sie Folgendes ein:

 # kill -INT `cat /var/run/slattach.modem.pid`

   Beachten Sie, dass Sie root sein mu:ssen, um dies durchfu:hren zu
   ko:nnen. Kehren Sie zu kermit zuru:ck (mit Hilfe von fg, wenn Sie
   es unterbrochen haben) und beenden Sie dieses Programm (q).

   slattach(8) gibt an, dass ifconfig sl0 down verwendet werden soll,
   um das Interface zu deaktivieren, doch das scheint keinen
   Unterschied zu machen. (ifconfig sl0 gibt dasselbe aus).

   Es kann vorkommen, dass Ihr Modem sich weigert, das Tra:gersignal
   zu beenden. In diesem Fall starten Sie kermit einfach neu und
   beenden es wieder. Beim zweiten Versuch geht es meist aus.

     --------------------------------------------------------------

    27.7.1.4. Lo:sungen bei Problemen

   Wenn es nicht funktionieren sollte, ko:nnen Sie an die
   Mailingliste freebsd-net schreiben. U:ber diese Dinge sind
   Benutzer bisher gestolpert:

     * Nicht -c oder -a in slattach verwenden (Das sollte nicht
       entscheidend sein, aber einige Benutzer haben berichtet, dass
       dies ihre Probleme lo:st).

     * Verwendung von s10 statt sl0 (bei einigen Schriftarten kann
       der Unterschied schwer zu erkennen sein).

     * Probieren Sie ifconfig sl0, um den Status Ihrer Schnittstelle
       abzufragen. Das Ergebnis ko:nnte beispielsweise so aussehen:

 # ifconfig sl0
 sl0: flags=10<POINTOPOINT>
         inet 136.152.64.181 --> 136.152.64.1 netmask ffffff00

     * Wenn ping(8) die Fehlermeldung "no route to host" ausgibt,
       kann die Routingtabelle falsch sein. Die Routen ko:nnen Sie
       sich mit dem Kommando netstat -r ansehen:

 # netstat -r
 Routing tables
 Destination      Gateway            Flags     Refs     Use  IfaceMTU    Rtt    Netmasks:

 (root node)
 (root node)

 Route Tree for Protocol Family inet:
 (root node) =>
 default          inr-3.Example.EDU  UG          8   224515  sl0 -      -
 localhost.Exampl localhost.Example. UH          5    42127  lo0 -       0.438
 inr-3.Example.ED water.CS.Example.E UH          1        0  sl0 -      -
 water.CS.Example localhost.Example. UGH        34 47641234  lo0 -       0.438
 (root node)

       Die Zahlen im Beispiel stammen von einer recht ausgelasteten
       Maschine. Die Zahlen auf Ihrem System werden, je nach
       Netzaktivita:t, von den gezeigten abweichen.

     --------------------------------------------------------------

  27.7.2. Einrichtung eines SLIP-Servers

   Dieses Dokument bietet Empfehlungen, wie Sie Ihr FreeBSD-System
   als SLIP-Server einrichten. Typischerweise bedeutet dies, Ihr
   System so zu, konfigurieren, dass beim Login automatisch eine
   Verbindung fu:r entfernte SLIP-Clients aufgebaut wird.

     --------------------------------------------------------------

    27.7.2.1. Voraussetzungen

   Dieser Abschnitt ist ausgesprochen technischer Natur, weshalb
   Hintergrundwissen erforderlich ist. Wir gehen davon aus, dass Sie
   mit dem TCP/IP Protokoll, insbesondere mit Netzwerk- und
   Rechneradressierung, Netzwerkmasken, Subnetzen, Routing und
   Routingprotokollen, wie RIP, vertraut sind. Die Konfiguration von
   SLIP-Diensten auf einem Einwa:hlserver erfordert die Kenntnis
   dieser Konzepte. Wenn Sie damit nicht vertraut sein sollten, lesen
   Sie bitte Craig Hunt's TCP/IP Network Administration publiziert
   von O'Reilly & Associates, Inc. (ISBN Nummer 0-937175-82-X) oder
   die Bu:cher von Douglas Comer u:ber das TCP/IP Protokoll.

   Wir gehen ausserdem davon aus, dass Sie Ihr(e) Modem(s)
   eingerichtet haben und die entsprechenden Systemdateien so
   konfiguriert haben, dass Logins durch Ihr Modem zugelassen sind.
   Wenn Sie Ihr System dafu:r noch nicht vorbereitet haben, lesen Sie
   bitte Abschnitt 26.4, um Ihre Einwahlverbindung zu konfigurieren.
   Hilfreich sind auch die Manualpages sio(4) mit Informationen zum
   Gera:tetreiber der seriellen Schnittstelle ttys(5), sowie
   gettytab(5), getty(8) und init(8) fu:r Informationen zur
   Konfiguration von Logins u:ber ein Modem. stty(1) bietet
   Informationen zur Einstellung der Parameter der seriellen
   Schnittstelle (etwa von clocal fu:r direkt angeschlossene serielle
   Gera:te).

     --------------------------------------------------------------

    27.7.2.2. Ein kurzer U:berblick

   Mit der normal verwendeten Konfiguration funktioniert der
   FreeBSD-SLIP-Server folgendermassen: Ein SLIP-Benutzer wa:hlt
   einen FreeBSD-SLIP-Server an und meldet sich mit einer speziellen
   SLIP-Login-ID ein, wobei /usr/sbin/sliplogin als Shell dieses
   besonderen Accounts dient. Das Programm sliplogin durchsucht die
   Datei /etc/sliphome/slip.hosts nach einer passenden Zeile fu:r
   diesen Account. Falls ein Treffer erzielt wird, verbindet es den
   seriellen Anschluss mit einem verfu:gbaren SLIP-Interface und
   fu:hrt das Shellskript /etc/sliphome/slip.login aus, um das
   SLIP-Interface zu konfigurieren.

     --------------------------------------------------------------

      27.7.2.2.1. Ein Beispiel fu:r ein Login eines SLIP-Servers

   Wenn beispielsweise die Kennung eines SLIP-Benutzers, Shelmerg
   wa:re, ko:nnte der Eintrag des Benutzers Shelmerg in der Datei
   /etc/master.passwd etwa so aussehen:

 Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:/usr/users/Shelmerg:/usr/sbin/sliplogin

   Wenn sich Shelmerg anmeldet, wird sliplogin die Datei
   /etc/sliphome/slip.hosts nach einer u:bereinstimmenden
   Benutzerkennung durchsuchen. So ko:nnte etwa folgende Zeile in
   /etc/sliphome/slip.hosts stehen:

 Shelmerg        dc-slip sl-helmer       0xfffffc00                autocomp

   sliplogin wird die passende Zeile finden, den seriellen Anschluss
   mit dem na:chsten verfu:gbaren SLIP-Interface verbinden und dann
   /etc/sliphome/slip.login wie hier dargestellt ausfu:hren:

 /etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp

   Wenn alles gut la:uft, wird /etc/sliphome/slip.login ein ifconfig
   fu:r das SLIP-Interface durchfu:hren, mit dem sich sliplogin
   verbunden hat (in obigem Beispiel ist das slip 0, der als erster
   Parameter in der Liste an slip.login u:bergeben wurde), um die
   lokale IP-Adresse (dc-slip), die entfernte IP-Adresse (sl-helmer),
   die Netzmaske des SLIP-Interface (0xfffffc00) und alle
   zusa:tzlichen Optionen (autocomp) festzulegen. Wenn etwas schief
   laufen sollte, bietet, sliplogin normalerweise informative
   Meldungen durch den syslogd-Daemon, der die Meldungen
   standardma:ssig nach /var/log/messages schreibt (sehen Sie hierzu
   auch in den Manual-Seiten fu:r syslogd(8) und syslog.conf(5)
   nach). U:berpru:fen Sie auch /etc/syslog.conf, um zu sehen, was
   syslogd aufzeichnet und wo es aufgezeichnet wird.

     --------------------------------------------------------------

    27.7.2.3. Kernelkonfiguration

   Der Standardkernel von FreeBSD (GENERIC) bietet bereits
   SLIP-Unterstu:tzung (sl(4)). Falls Sie einen angepassten Kernel
   verwenden, mu:ssen Sie sicherstellen, dass Ihre
   Kernelkonfigurationsdatei folgende Zeile entha:lt:

 device   sl

   In der Voreinstellung leitet Ihr FreeBSD-Rechner keine Pakete
   weiter. Wenn Sie Ihren FreeBSD-SLIP-Server als Router einsetzen
   mo:chten, mu:ssen Sie die Datei /etc/rc.conf bearbeiten und den
   Wert der Variable gateway_enable auf YES setzen. Dadurch ist
   sichergestellt, dass die Routingoptionen auch nach einem Neustart
   erhalten bleiben.

   Um die Einstellungen sofort anzuwenden, fu:hren Sie den folgenden
   Befehl als root-Benutzer aus:

 # /etc/rc.d/routing start

   Weitere Informationen zur Konfiguration Ihres Kernels, finden Sie
   in Kapitel 8 dieses Handbuches.

     --------------------------------------------------------------

    27.7.2.4. Konfiguration des Sliplogin

   Wie bereits erwa:hnt, gibt es im Verzeichnis /etc/sliphome drei
   Dateien, die Teil der Konfiguration fu:r /usr/sbin/sliplogin sind
   (sliplogin ist in sliplogin(8) beschrieben): slip.hosts, definiert
   die SLIP-Benutzer sowie deren IP-Adresse; slip.login, womit
   normalerweise nur das SLIP-Interface konfiguriert wird und
   (optional) slip.logout, womit die Auswirkungen von slip.login
   ru:ckga:ngig gemacht werden, wenn die serielle Verbindung beendet
   wird.

     --------------------------------------------------------------

      27.7.2.4.1. Konfiguration der Datei slip.hosts

   /etc/sliphome/slip.hosts entha:lt Zeilen, die mindestens vier
   durch Leerzeichen getrennte Elemente enthalten:

     * Login-Kennung des SLIP-Benutzers

     * Lokale Adresse (lokal fu:r den SLIP-Server) der
       SLIP-Verbindung

     * Entfernte Adresse der SLIP-Verbindung

     * Netzwerkmaske

   Die lokalen und entfernten Adressen ko:nnen Hostnamen sein, deren
   zugeho:rige IP-Adresse durch die Datei /etc/hosts oder mithilfe
   des Domain Name Service aufgelo:st wird. Wie die Adressen
   aufgelo:st werden, ha:ngt von den Einstellungen in
   /etc/nsswitch.conf ab. Die Netzwerkmaske kann ein Name sein, der
   durch eine Suche in /etc/networks aufgelo:st werden kann. Auf
   einem Beispielsystem, wu:rde die Datei /etc/sliphome/slip.hosts
   folgendermassen aussehen:

 #
 # login local-addr      remote-addr     mask            opt1    opt2
 #                                               (normal,compress,noicmp)
 #
 Shelmerg  dc-slip       sl-helmerg      0xfffffc00      autocomp

   Am Ende der Zeile stehen eine oder mehrere der folgenden Optionen.

     * normal - keine Header-Kompression

     * compress - Header werden komprimiert

     * autocomp - Header werden komprimiert, sofern die Gegenstelle
       es erlaubt

     * noicmp - ICMP-Pakete werden deaktiviert ("ping" Pakete werden
       unterdru:ckt, statt die Ihnen zur Verfu:gung stehende
       Bandbreite aufzubrauchen)

   Die Auswahl von lokalen und entfernten Adressen fu:r Ihre
   SLIP-Verbindung, ha:ngt davon ab, ob Sie ein TCP/IP-Subnetz
   reservieren oder ob Sie "proxy ARP" auf Ihrem SLIP-Server
   verwenden (es handelt sich nicht um "echtes" proxy ARP, aber
   dieser Begriff wird in diesem Abschnitt verwendet, um diesen
   Sachverhalt zu beschreiben). Wenn Sie nicht sicher sind, welche
   Methode Sie wa:hlen sollen oder wie IP-Adressen zugewiesen werden,
   lesen Sie bitte in den Bu:chern zum Thema TCP/IP nach, die als
   Voraussetzungen fu:r SLIP (Abschnitt 27.7.2.1) angegeben worden
   sind oder fragen Sie Ihren IP-Netzwerkadministrator.

   Wenn Sie fu:r Ihre SLIP-Clients ein eigenes Subnetz verwenden,
   werden Sie die Nummer des Subnetzes aus der Ihnen zugewiesenen
   IP-Netzwerknummer zuteilen und die IP-Adressen Ihrer SLIP-Clients
   aus diesem Subnetz verwenden mu:ssen. Dann ko:nnen Sie eine
   statische Route zu Ihrem SLIP-Subnetz u:ber Ihren SLIP-Server auf
   Ihren na:chsten IP-Router konfigurieren.

   Wenn Sie aber andererseits die "proxy ARP" Methode verwenden
   mo:chten, werden Sie die IP-Adressen Ihrer SLIP-Clients aus dem
   Subnetz Ihres SLIP-Server nehmen und die Skripte
   /etc/sliphome/slip.login /etc/sliphome/slip.logout anpassen
   mu:ssen, damit diese arp(8) zur Verwaltung der "proxy
   ARP"-Eintra:ge in der ARP-Tabelle Ihres SLIP-Servers verwenden.

     --------------------------------------------------------------

      27.7.2.4.2. Konfiguration von slip.login

   Eine typische Datei /etc/sliphome/slip.login sieht folgendermassen
   aus:

 #!/bin/sh -
 #
 #       @(#)slip.login  5.1 (Berkeley) 7/1/90

 #
 # generic login file for a slip line.  sliplogin invokes this with
 # the parameters:
 #      1        2         3        4          5         6     7-n
 #   slipunit ttyspeed loginname local-addr remote-addr mask opt-args
 #
 /sbin/ifconfig sl$1 inet $4 $5 netmask $6

   Diese slip.login Datei fu:hrt lediglich ifconfig fu:r das
   entsprechende SLIP-Interface mit den lokalen und entfernten
   Adressen und der Netzwerkmaske des SLIP-Interface aus.

   Wenn Sie sich dafu:r entschieden haben, die "proxy ARP" Methode zu
   verwenden (statt eines separaten Subnetzes fu:r Ihre SLIP-Clients)
   sollte Ihre Datei /etc/sliphome/slip.login etwa folgendermassen
   aussehen:

 #!/bin/sh -
 #
 #       @(#)slip.login  5.1 (Berkeley) 7/1/90

 #
 # generic login file for a slip line.  sliplogin invokes this with
 # the parameters:
 #      1        2         3        4          5         6     7-n
 #   slipunit ttyspeed loginname local-addr remote-addr mask opt-args
 #
 /sbin/ifconfig sl$1 inet $4 $5 netmask $6
 # Answer ARP requests for the SLIP client with our Ethernet addr
 /usr/sbin/arp -s $5 00:11:22:33:44:55 pub

   Die zusa:tzliche Zeile arp -s $5 00:11:22:33:44:55 pub in der
   Datei slip.login erzeugt einen ARP-Eintrag in der ARP-Tabelle des
   SLIP-Servers. Dieser ARP-Eintrag veranlasst den SLIP-Server mit
   seiner Ethernet MAC-Adresse zu antworten, sobald ein anderer
   IP-Knoten im Ethernet mit der IP-Adresse des SLIP-Clients Kontakt
   aufnehmen mo:chte.

   Wenn Sie das Beispiel von oben verwenden, achten Sie darauf die
   Ethernet MAC-Adresse (00:11:22:33:44:55) durch die MAC-Adresse der
   Ethernetkarte Ihres Systems zu ersetzen. Sonst wird Ihr "proxy
   ARP" sicher nicht funktionieren! Sie ko:nnen die MAC-Adresse Ihres
   SLIP-Servers herausfinden, indem Sie sich die Ausgabe von netstat
   -i ansehen. Die zweite Zeile der Ausgabe sollte ungefa:hr aussehen
   wie diese hier:

 ed0   1500  <Link>0.2.c1.28.5f.4a         191923  0   129457     0   116

   Dies zeigt an, dass die Ethernet MAC-Adresse dieses Systems
   00:02:c1:28:5f:4a lautet. Die Punkte in der Ethernet MAC-Adresse,
   die von netstat -i ausgegeben wird, mu:ssen durch Doppelpunkte
   ersetzt werden. Bei jeder einstelligen Hexadezimalzahl sollten
   ausserdem fu:hrende Nullen hinzugefu:gt werden, um die Adresse in
   die Form zu bringen, die von arp(8) verlangt wird. Die
   Manual-Seite von arp(8) bietet hierzu eine vollsta:ndige
   U:bersicht.

     Anmerkung: Wenn Sie die Dateien /etc/sliphome/slip.login und
     /etc/sliphome/slip.logout erstellen, mu:ssen diese ausfu:hrbar
     gemacht werden (chmod 755 /etc/sliphome/slip.login
     /etc/sliphome/slip.logout), da sliplogin auf deren
     Ausfu:hrbarkeit angewiesen ist.

     --------------------------------------------------------------

      27.7.2.4.3. Konfiguration von slip.logout

   Die Datei/etc/sliphome/slip.logout ist nicht zwingend erforderlich
   (ausser Sie verwenden "proxy ARP"), aber falls Sie diese Datei
   erzeugen mo:chten, ist hier ein Beispiel fu:r ein grundlegendes
   slip.logout Skript:

 #!/bin/sh -
 #
 #       slip.logout

 #
 # logout file for a slip line.  sliplogin invokes this with
 # the parameters:
 #      1        2         3        4          5         6     7-n
 #   slipunit ttyspeed loginname local-addr remote-addr mask opt-args
 #
 /sbin/ifconfig sl$1 down

   Wenn Sie "proxy ARP" einsetzen, muss /etc/sliphome/slip.logout den
   ARP-Eintrag fu:r den SLIP-Client lo:schen:

 #!/bin/sh -
 #
 #       @(#)slip.logout

 #
 # logout file for a slip line.  sliplogin invokes this with
 # the parameters:
 #      1        2         3        4          5         6     7-n
 #   slipunit ttyspeed loginname local-addr remote-addr mask opt-args
 #
 /sbin/ifconfig sl$1 down
 # Quit answering ARP requests for the SLIP client
 /usr/sbin/arp -d $5

   arp -d $5 lo:scht den ARP-Eintrag, den die "proxy ARP" slip.login
   hinzufu:gte, als der SLIP-Client sich eingeloggt hatte.

   Es soll nochmals darauf hingewiesen werden, dass fu:r die Datei
   /etc/sliphome/slip.logout das Ausfu:hrungs-Bit gesetzt werden
   muss, nachdem die Datei erstellt worden ist (z.B. chmod 755
   /etc/sliphome/slip.logout).

     --------------------------------------------------------------

    27.7.2.5. U:berlegungen zum Routing

   Wenn Sie nicht die "proxy ARP" Methode benutzen, um Datenpakete
   zwischen Ihren SLIP-Clients und dem Rest Ihres Netzwerkes (oder
   vielleicht dem Internet) zu routen, werden Sie wahrscheinlich
   statische Routen zu Ihrem na:chsten Standardrouter hinzufu:gen
   mu:ssen, um Pakete aus dem Subnetz Ihres SLIP-Clients u:ber Ihren
   SLIP-Server weiterzuleiten.

     --------------------------------------------------------------

      27.7.2.5.1. Statische Routen

   Das Hinzufu:gen von statischen Routen zu Ihrem na:chsten
   Standardrouter kann problematisch sein (oder unmo:glich, wenn Sie
   nicht die erforderliche Berechtigung haben...). Wenn Sie in Ihrer
   Organisation ein Netzwerk mit mehreren Routern haben, mu:ssen
   einige Router, wie etwa die von Cisco und Proteon hergestellten,
   nicht nur mit der statischen Route zum SLIP-Subnetz konfiguriert
   werden, sondern es muss ihnen auch mitgeteilt werden, u:ber welche
   statischen Routen sie andere Router informieren sollen. Daher ist
   einiges an Fachwissen und Problemlo:sungskompetenz erforderlich,
   um auf statischen Routen basierendes Routing erfolgreich
   einzurichten.

     --------------------------------------------------------------

                Kapitel 28. Elektronische Post (E-Mail)

   Urspru:glicher Text von Bill Lloyd. Neugeschrieben von Jim Mock.
   U:bersetzt von Robert Drehmel.

28.1. Terminologie

   Das Akronym MTA steht fu:r Mail Transfer Agent was u:bersetzt
   "Mailu:bertragungs-Agent" bedeutet.

   Wa:hrend die Bezeichnung Server-Da:mon die Komponente eines MTA
   benennt, die fu:r eingehende Verbindungen zusta:ndig ist, wird mit
   dem Begriff Mailer o:fters die Komponente des MTA bezeichnet, die
   E-Mails versendet.

     --------------------------------------------------------------

28.2. U:bersicht

   "Elektronische Post", besser bekannt als E-Mail, ist eine der am
   weit verbreitetsten Formen der Kommunikation heutzutage. Dieses
   Kapitel bietet eine grundlegende Einfu:hrung in das Betreiben
   eines E-Mail-Servers unter FreeBSD. Ebenfalls wird der Versand und
   Empfang von E-Mails unter FreeBSD behandelt. Das Kapitel ist
   jedoch keine komplette Referenz und es werden viele wichtige
   U:berlegungen ausser Acht gelassen. Wenn Sie das Thema
   detaillierter betrachten mo:chten, werden Sie bei einem der
   exzellenten Bu:cher fu:ndig, die in Anhang B aufgelistet sind.

   Dieses Kapitel behandelt die folgenden Punkte:

     * Welche Software-Komponenten beim Senden und Empfangen von
       elektronischer Post involviert sind.

     * Wo sich grundlegende sendmail Konfigurationsdateien in FreeBSD
       befinden.

     * Den Unterschied zwischen entfernten und lokalen Postfa:chern.

     * Wie man Versender von Massennachrichten daran hindern kann,
       Ihren E-Mail-Server illegalerweise als Weiterleitung zu
       verwenden.

     * Wie man den Standard-Mailer des Systems, sendmail, ersetzt.

     * Wie man oft auftretende E-Mail-Server Probleme behebt.

     * Wie E-Mails mit UUCP verschickt werden.

     * Wie E-Mails u:ber einen Relay verschickt werden.

     * Wie E-Mails u:ber eine Einwahlverbindung gehandhabt werden.

     * Wie Sie die SMTP-Authentifizierung einrichten.

     * Den Empfang und den Versand von E-Mails mithilfe von
       Programmen wie mutt.

     * Wie E-Mails von einem entfernten Server mit POP oder IMAP
       abgeholt werden.

     * Wie eingehende E-Mail automatisch gefiltert wird.

   Bevor Sie dieses Kapitel lesen, sollten Sie:

     * Ihre Netzwerk-Verbindung richtig einrichten. (Kapitel 31).

     * Die DNS-Information fu:r Ihren E-Mail-Server einstellen
       (Kapitel 29).

     * Wissen, wie man zusa:tzliche Dritthersteller-Software
       installiert (Kapitel 4).

     --------------------------------------------------------------

28.3. Elektronische Post benutzen

   Fu:nf gro:ssere Teile sind am E-Mail-Austausch beteiligt: Das
   Benutzerprogramm, der Server-Da:mon, DNS, ein entferntes oder
   lokales Postfach und natu:rlich der E-Mail-Server selbst.

     --------------------------------------------------------------

  28.3.1. Das Benutzerprogramm

   Das beinhaltet Kommandozeilenprogramme wie mutt, pine, elm, mail
   und Programme mit grafischer Benutzeroberfla:che, wie balsa und
   xfmail um einige zu nennen, und "aufwa:ndigere", wie WWW-Browser.
   Diese Programme geben die E-Mail-Transaktionen an den lokalen
   "E-Mail-Server", weiter, entweder u:ber einen der verfu:gbaren
   Server-Da:monen oder eine TCP-Verbindung.

     --------------------------------------------------------------

  28.3.2. E-Mail-Server Da:mon

   FreeBSD entha:lt standardma:ssig sendmail; es lassen sich aber
   auch andere E-Mail-Server Da:monen betreiben, beispielsweise

     * exim,

     * postfix oder

     * qmail.

   Der Server-Da:mon hat u:blicherweise zwei Funktionen: Er ku:mmert
   sich um das Empfangen von eingehenden E-Mails und stellt
   ausgehende E-Mails zu. Es ist nicht Aufgabe des Da:mons, E-Mails
   u:ber POP oder IMAP bereit zu stellen, noch Zugriffe auf das
   lokale Postfach mbox oder Verzeichnisse mit Postfa:chern zu
   gewa:hren. Dafu:r beno:tigen Sie einen zusa:tzlichen Da:mon.

     Warnung: Alte Versionen von sendmail enthalten schwerwiegende
     Sicherheitslo:cher, die einem Angreifer Zugriff auf Ihren
     Rechner verschaffen ko:nnen. Um Sicherheitsprobleme zu umgehen,
     sollten Sie eine aktuelle sendmail-Version benutzen. Sie ko:nnen
     auch einen anderen MTA aus der FreeBSD Ports-Sammlung benutzen.

     --------------------------------------------------------------

  28.3.3. E-Mail und DNS

   Das Domain Name System (DNS) und sein Da:mon named spielen eine
   grosse Rolle in der Auslieferung von E-Mails. Um E-Mails
   auszuliefern, fragt der Mail-Server-Da:mon im DNS den Rechner ab,
   der E-Mails fu:r das Zielsystem entgegennimmt. Der gleiche Vorgang
   la:uft ab, wenn eine E-Mail von einem entfernten Server auf Ihrem
   Mail-Server zugestellt wird.

   Im DNS werden Rechnernamen auf IP-Adressen abgebildet. Daneben
   werden spezielle Informationen fu:r das Mail-System gespeichert,
   die MX-Eintra:ge (MX record) genannt werden. Der MX-Eintrag (von
   Mail eXchanger) gibt an, welcher Rechner oder welche Rechner
   E-Mails fu:r eine Domain annehmen. Existiert kein MX-Record fu:r
   einen Rechner oder dessen Domain, werden E-Mails direkt an den
   Rechner zugestellt, vorausgesetzt der Rechner besitzt einen
   A-Eintrag, der den Rechnernamen auf seine IP-Adresse abbildet.

   Mit dem Kommando host(1) ko:nnen Sie die MX-Eintra:ge fu:r eine
   Domain abfragen:

 % host -t mx FreeBSD.org
 FreeBSD.org mail is handled (pri=10) by mx1.FreeBSD.org

     --------------------------------------------------------------

  28.3.4. E-Mails empfangen

   Der E-Mail-Server empfa:ngt alle E-Mails fu:r Ihre Doma:ne. Er
   speichert die E-Mails entweder im mbox-Format (die Vorgabe) oder
   im Maildir-Format. Die E-Mails ko:nnen lokal mit Programmen wie
   mail(1) oder mutt gelesen werden. Mithilfe von Protokollen wie POP
   oder IMAP ko:nnen die E-Mails auch von entfernten Rechnern gelesen
   werden. Wenn Sie die E-Mails direkt auf dem E-Mail-Server lesen
   mo:chten, wird kein POP- oder IMAP-Server gebraucht.

     --------------------------------------------------------------

    28.3.4.1. Auf entfernte Postfa:cher mit POP und IMAP zugreifen

   Wenn Sie auf entfernte Postfa:cher zugreifen wollen, beno:tigen
   Sie den Zugang zu einem POP- oder IMAP-Server. Beide Protokolle
   bieten einen einfachen Zugriff auf entfernte Postfa:cher. IMAP
   besitzt allerdings einige Vorteile, unter anderem:

     * IMAP kann sowohl Nachrichten auf einem entfernten Server
       speichern als auch von dort abholen.

     * IMAP unterstu:tzt gleichzeitig ablaufende Aktualisierungen.

     * Da es nicht gleich die komplette Nachricht herunterla:dt, ist
       IMAP u:ber langsame Verbindungen sehr nu:tzlich. Weiterhin
       ko:nnen E-Mails auf dem Server durchsucht werden, was den
       Datenverkehr zwischen Clients und dem Server minimiert.

   Wenn Sie einen POP- oder IMAP-Server installieren wollen, gehen
   Sie nach den folgenden Schritten vor:

    1. Wa:hlen Sie einen IMAP- oder POP-Server aus, der Ihre
       Anforderungen erfu:llt. Die nachstehenden Server sind sehr
       bekannt:

          * qpopper

          * teapop

          * imap-uw

          * courier-imap

    2. Installieren Sie den ausgewa:hlten POP- oder IMAP-Daemon aus
       der Ports-Sammlung.

    3. Wenn erforderlich, passen Sie die Datei /etc/inetd.conf an, um
       den POP- oder IMAP-Server zu starten.

     Warnung: Beachten Sie, dass sowohl POP als auch IMAP Daten, wie
     den Benutzernamen und das Passwort, im Klartext u:bertragen.
     Wenn Sie die mit diesen Protokollen u:bertragenen Daten
     schu:tzen wollen, ko:nnen Sie SSH-Tunnel (siehe Abschnitt
     14.11.8) verwenden.

     --------------------------------------------------------------

    28.3.4.2. Auf lokale Postfa:cher zugreifen

   Auf Postfa:cher ko:nnen Sie lokal mithilfe spezieller
   Benutzerprogramme, die Mail-User-Agents (MUAs) genannt werden,
   zugreifen. Beispiele fu:r solche Programme sind mutt oder mail(1).

     --------------------------------------------------------------

  28.3.5. Der E-Mail-Server

   "E-Mail-Server" wird der Rechner genannt, welcher fu:r die
   Zustellung und das Empfangen von E-Mails auf Ihrem Rechner oder
   vielleicht Ihrem Netzwerk zusta:ndig ist.

     --------------------------------------------------------------

28.4. sendmail-Konfiguration

   Beigesteuert von Christopher Shumway.

   sendmail(8) ist das standardma:ssig in FreeBSD installierte
   Mailu:bertragungsprogramm (MTA). Die Aufgabe von sendmail ist es,
   E-Mails von E-Mail-Benutzerprogrammen (MUA) anzunehmen und diese
   zu den entsprechenden Mailern zu liefern, die in der
   Konfigurationsdatei definiert sind. sendmail kann auch
   Netzwerkverbindungen annehmen und E-Mails zu lokalen Mailboxen
   [18] oder anderen Programmen liefern.

   sendmail benutzt folgende Konfigurationsdateien:

           Dateiname                         Funktion                 
   /etc/mail/access           Datenbank, in der Zugriffsrechte auf    
                              sendmail verwaltet werden               
   /etc/mail/aliases          Mailbox Aliase                          
   /etc/mail/local-host-names Liste der Rechner fu:r die sendmail     
                              E-Mails akzeptiert                      
   /etc/mail/mailer.conf      Mailer Programmkonfiguration            
   /etc/mail/mailertable      Mailer Versand-Zuordnungstabelle        
   /etc/mail/sendmail.cf      Hauptkonfigurationsdatei fu:r sendmail  
   /etc/mail/virtusertable    Virtuelle Benutzer und                  
                              Doma:nen-Tabellen                       

     --------------------------------------------------------------

  28.4.1. /etc/mail/access

   Die Zugriffsdatenbank bestimmt, welche(r) Rechner oder
   IP-Adresse(n) Zugriff auf den lokalen E-Mail-Server haben und
   welche Art von Zugriff ihnen gestattet wird. Rechner ko:nnen als
   OK, REJECT oder RELAY eingetragen oder einfach an sendmails
   Fehlerbehandlungsroutine mit einem angegebenen Mailer-Fehler
   u:bergeben werden. Rechner, die als OK eingetragen sind, was die
   Grundeinstellung ist, sind berechtigt E-Mails zu diesem Rechner zu
   schicken, solange die endgu:ltige Zieladresse der lokale Rechner
   ist. Verbindungen von Rechnern, die als REJECT aufgelistet sind,
   werden abgelehnt. Rechnern mit gesetzter RELAY-Option fu:r ihren
   Rechnernamen wird erlaubt Post fu:r jede Zieladresse durch diesen
   Mail-Server zu senden.

   Beispiel 28-1. Konfigurieren der sendmail Zugriffsdatenbank

 cyberspammer.com                550 We do not accept mail from spammers
 FREE.STEALTH.MAILER@            550 We do not accept mail from spammers
 another.source.of.spam          REJECT
 okay.cyberspammer.com           OK
 128.32                          RELAY

   In diesem Beispiel haben wir fu:nf Eintra:ge. E-Mail-Versender,
   die mit der linken Spalte der Tabelle u:bereinstimmen, sind
   betroffen von der Aktion in der rechten Spalte. Die ersten beiden
   Beispiele u:bergeben einen Fehlercode an sendmails
   Fehlerbehandlungsroutine. Die Nachricht wird an den entfernten
   Rechner gesendet, wenn eine Nachricht mit der linken Spalte der
   Tabelle u:bereinstimmt. Der na:chste Eintrag lehnt Post von einem
   bestimmten Rechner des Internets ab (another.source.of.spam). Der
   na:chste Eintrag akzeptiert E-Mail-Verbindungen des Rechners
   okay.cyberspammer.com, der exakter angegeben wurde als
   cyberspammer.com in der Zeile daru:ber. Genauere
   U:bereinstimmungen haben den Vorrang vor weniger genauen. Der
   letzte Eintrag erlaubt die Weiterleitung von elektronischer Post
   von Rechnern mit einer IP-Adresse die mit 128.32 beginnt. Diese
   Rechner wu:rden E-Mails durch diesen E-Mail-Server senden ko:nnen,
   die fu:r andere E-Mail-Server bestimmt sind.

   Wenn diese Datei gea:ndert wird, mu:ssen Sie make in /etc/mail
   ausfu:hren um die Datenbank zu aktualisieren.

     --------------------------------------------------------------

  28.4.2. /etc/mail/aliases

   Die Alias-Datenbank entha:lt eine Liste der virtuellen Mailboxen,
   die in andere Benutzer, Dateien, Programme oder andere Aliase
   expandiert werden. Hier sind ein paar Beispiele, die in
   /etc/mail/aliases benutzt werden ko:nnen:

   Beispiel 28-2. E-Mail Aliases

 root: localuser
 ftp-bugs: joe,eric,paul
 bit.bucket:  /dev/null
 procmail: "|/usr/local/bin/procmail"

   Das Dateiformat ist simpel; Der Name der Mailbox auf der linken
   Seite des Doppelpunkts wird mit den Zielen auf der rechten Seite
   ersetzt. Das erste Beispiel ersetzt die Mailbox root mit der
   Mailbox localuser, die dann wieder in der Alias-Datenbank gesucht
   wird. Wird kein passender Eintrag gefunden, wird die Nachricht zum
   lokalen Benutzer localuser geliefert. Das na:chste Beispiel zeigt
   eine E-Mail-Verteilerliste. E-Mails an die Mailbox ftp-bugs werden
   zu den drei lokalen Mailboxen joe, eric und paul gesendet. Eine
   lokale Mailbox kann auch als <user@example.com> angegeben werden.
   Das na:chste Beispiel zeigt das Schreiben von E-Mails in eine
   Datei, in diesem Fall /dev/null. Das letzte Beispiel verdeutlicht
   das Senden von E-Mails an ein Programm, in diesem Fall wird die
   Nachricht in die Standardeingabe von /usr/local/bin/procmail
   mittels einer UNIX Pipe geschrieben.

   Wenn diese Datei gea:ndert wird, mu:ssen Sie make in /etc/mail
   ausfu:hren um die A:nderungen in die Datenbank zu u:bernehmen.

     --------------------------------------------------------------

  28.4.3. /etc/mail/local-host-names

   Das ist die Liste der Rechnernamen, die sendmail(8) als lokalen
   Rechnernamen akzeptiert. Setzen Sie alle Doma:nen oder Rechner,
   fu:r die sendmail Mail empfangen soll, in diese Datei. Wenn dieser
   Mail-Server zum Beispiel E-Mails fu:r die Doma:ne example.com und
   den Rechner mail.example.com annehmen soll, ko:nnte seine
   local-host-names Datei so aussehen:

 example.com
 mail.example.com

   Wird diese Datei gea:ndert, muss sendmail(8) neu gestartet werden,
   damit es die Neuerungen einliest.

     --------------------------------------------------------------

  28.4.4. /etc/mail/sendmail.cf

   Die Hauptkonfigurations-Datei von sendmail (sendmail.cf)
   kontrolliert das allgemeine Verhalten von sendmail,
   einschliesslich allem vom Umschreiben von E-Mail Adressen bis hin
   zum U:bertragen von Ablehnungsnachrichten an entfernte
   E-Mail-Server. Mit solch einer mannigfaltigen Rolle ist die
   Konfigurationsdatei natu:rlich ziemlich komplex und ihre
   Einzelheiten ko:nnen in diesem Kapitel nicht besprochen werden.
   Glu:cklicherweise muss diese Datei selten fu:r Standard
   E-Mail-Server gea:ndert werden.

   Die sendmail Hauptkonfigurationsdatei kann mit m4(1) Makros
   erstellt werden, die Eigenschaften und Verhalten von sendmail
   definieren. Einige der Details finden Sie in
   /usr/src/contrib/sendmail/cf/README.

   Wenn A:nderungen an dieser Datei vorgenommen werden, muss sendmail
   neu gestartet werden, damit die A:nderungen Wirkung zeigen.

     --------------------------------------------------------------

  28.4.5. /etc/mail/virtusertable

   Die Datei virtusertable ordnet Adressen fu:r virtuelle Doma:nen
   und Mailboxen reellen Mailboxen zu. Diese Mailboxen ko:nnen lokal,
   auf entfernten Systemen, Aliase in /etc/mail/aliases oder eine
   Datei sein.

   Beispiel 28-3. Beispiel einer virtuellen Doma:nen Zuordnung

 root@example.com                root
 postmaster@example.com          postmaster@noc.example.net
 @example.com                    joe

   In dem obigen Beispiel haben wir einen Eintrag fu:r die Doma:ne
   example.com. Diese Datei wird nach dem ersten u:bereinstimmenden
   Eintrag durchsucht. Die erste Zeile ordnet <root@example.com> der
   lokalen Mailbox root zu. Der na:chste Eintrag ordnet
   <postmaster@example.com> der Mailbox postmaster auf dem Rechner
   noc.example.net zu. Zuletzt, wenn keine U:bereinstimmung von
   example.com gefunden wurde, wird der letzte Eintrag verglichen,
   der mit jeder Mail-Nachricht u:bereinstimmt, die an jemanden bei
   example.com adressiert wurde. Diese werden der lokalen Mailbox joe
   zugeordnet.

     --------------------------------------------------------------

28.5. Wechseln des Mailu:bertragungs-Agenten

   Geschrieben von Andrew Boothman. Informationen entnommen aus
   E-Mails geschrieben von Gregory Neil Shapiro.

   Wie bereits erwa:hnt, ist bei FreeBSD sendmail schon als Ihr
   Mailu:bertragungs-Agent installiert. Deswegen ist es
   standardma:ssig fu:r Ihre aus- und eingehenden E-Mails
   verantwortlich.

   Jedoch wollen einige Systemadministratoren den MTA ihres Systems
   wechseln, was eine Reihe von Gru:nden haben kann. Diese Gru:nde
   reichen von einfach einen anderen MTA ausprobieren wollen bis hin
   dazu eine bestimmte Besonderheit zu beno:tigen oder ein Paket,
   welches auf einen anderen Mailer angewiesen ist. Glu:cklicherweise
   macht FreeBSD das Wechseln einfach, egal aus welchem Grund.

     --------------------------------------------------------------

  28.5.1. Installieren eines neuen MTA

   Sie haben eine grosse Auswahl an verfu:gbaren MTA-Programmen. Ein
   guter Startpunkt ist die FreeBSD-Ports-Sammlung, wo Sie viele
   finden werden. Selbstversta:ndlich steht es Ihnen frei, jeden MTA
   von u:berall her zu verwenden, solange Sie ihn unter FreeBSD zum
   Laufen bekommen.

   Fangen Sie an, indem Sie Ihren neuen MTA installieren. Sobald er
   installiert ist, gibt er Ihnen die Chance zu entscheiden ob er
   wirklich Ihren Bedu:rfnissen genu:gt. Zusa:tzlich gibt er Ihnen
   die Mo:glichkeit die neue Software zu konfigurieren, bevor sie den
   Job von sendmail u:bernimmt. Dabei sollten Sie sicherstellen, dass
   beim Installieren der neuen Software keine Versuche unternommen
   werden, System-Programme wie /usr/bin/sendmail zu u:berschreiben.
   Ansonsten wurde Ihre neue E-Mail-Software in den Dienst gestellt,
   bevor Sie sie konfiguriert haben.

   Fu:r Informationen u:ber die Konfiguration des von Ihnen
   gewa:hlten MTAs sehen Sie bitte in der dazugeho:rigen
   Dokumentation nach.

     --------------------------------------------------------------

  28.5.2. Ausschalten von sendmail

     Warnung: Wenn Sie die Sendefunktion von sendmail deaktivieren,
     mu:ssen Sie fu:r den E-Mail-Versand ein alternatives System
     installieren. Tun Sie dies nicht, sind Systemfunktionen wie
     periodic(8) nicht mehr in der Lage, ihre Resulate und Meldungen
     als E-Mail zu versenden. Aber auch viele andere Teile Ihres
     Systems erwarten, dass Sie u:ber ein sendmail-kompatibles System
     verfu:gen. Sind Programme auf (die von Ihnen deaktivierten)
     sendmail-Bina:rdateien angewiesen, landen deren E-Mails
     ansonsten in einer inaktiven sendmail-Warteschlange und ko:nnen
     nicht ausgeliefert werden.

   Um sendmail komplett zu deaktivieren (also inklusive der Funktion
   zum Versand von E-Mails), fu:gen Sie die Zeile

 sendmail_enable="NO"
 sendmail_submit_enable="NO"
 sendmail_outbound_enable="NO"
 sendmail_msp_queue_enable="NO"

   in /etc/rc.conf ein.

   Wenn Sie lediglich die Funktion zum Empfang von E-Mails durch
   sendmail deaktivieren wollen, sollten Sie folgenden Eintrag in
   /etc/rc.conf einfu:gen:

 sendmail_enable="NO"

   Weitere Informationen zu den Startoptionen von sendmail finden Sie
   in der Manualpage rc.sendmail(8).

     --------------------------------------------------------------

  28.5.3. Starten Ihres neuen MTA beim Hochfahren des Systems

   Der neue MTA kann beim Hochfahren durch das Hinzufu:gen einer
   Konfigurationszeile in der /etc/rc.conf gestartet werden, wie das
   folgende Beispiel fu:r Postfix zeigt:

 # echo 'postfix_enable="YES"' >> /etc/rc.conf

   Der MTA wird jetzt automatisch beim Hochfahren des Systems
   gestartet.

     --------------------------------------------------------------

  28.5.4. Ersetzen von sendmail als Standard-Mailer des Systems

   Das Programm sendmail ist so allgegenwa:rtig als Standard-Software
   auf UNIX Systemen, dass einige Programme einfach annehmen es sei
   bereits installiert und konfiguriert. Aus diesem Grund stellen
   viele alternative MTAs ihre eigenen kompatiblen Implementierung
   der sendmail Kommandozeilen-Schnittstelle zur Verfu:gung. Das
   vereinfacht ihre Verwendung als "drop-in" Ersatz fu:r sendmail.

   Folglich werden Sie, wenn Sie einen alternativen Mailer benutzen,
   sicherstellen mu:ssen, dass ein Programm, das versucht sendmails
   Standard-Dateien wie /usr/bin/sendmail auszufu:hren, stattdessen
   Ihr gewa:hltes Mailu:bertragungsprogramm ausfu:hrt. Zum Glu:ck
   stellt FreeBSD das mailwrapper(8)-System zur Verfu:gung, das diese
   Arbeit fu:r Sie erledigt.

   Wenn sendmail arbeitet wie es installiert wurde, werden Sie in
   /etc/mail/mailer.conf etwas wie das Folgende vorfinden:

 sendmail        /usr/libexec/sendmail/sendmail
 send-mail       /usr/libexec/sendmail/sendmail
 mailq           /usr/libexec/sendmail/sendmail
 newaliases      /usr/libexec/sendmail/sendmail
 hoststat        /usr/libexec/sendmail/sendmail
 purgestat       /usr/libexec/sendmail/sendmail

   Das bedeutet, dass wenn eines der gewo:hnlichen Kommandos (wie zum
   Beispiel /usr/bin/sendmail selbst) ausgefu:hrt wird, das System
   tatsa:chlich eine Kopie des mailwrapper mit dem Namen sendmail
   startet, die mailer.conf u:berpru:ft und
   /usr/libexec/sendmail/sendmail ausfu:hrt. Mit diesem System lassen
   sich die Programme, die fu:r die sendmail-Funktionen gestartet
   werden, leicht a:ndern.

   Daher ko:nnten Sie, wenn Sie wollten, dass
   /usr/local/supermailer/bin/sendmail-compat anstelle von sendmail
   ausgefu:hrt wird, /etc/mailer.conf wie folgt aba:ndern:

 sendmail        /usr/local/supermailer/bin/sendmail-compat
 send-mail       /usr/local/supermailer/bin/sendmail-compat
 mailq           /usr/local/supermailer/bin/mailq-compat
 newaliases      /usr/local/supermailer/bin/newaliases-compat
 hoststat        /usr/local/supermailer/bin/hoststat-compat
 purgestat       /usr/local/supermailer/bin/purgestat-compat

     --------------------------------------------------------------

  28.5.5. Fertigstellen

   Sobald Sie alles Ihren Wu:nschen entsprechend konfiguriert haben,
   sollten Sie entweder die sendmail Prozesse beenden, die Sie nicht
   mehr beno:tigen, und die zu Ihrer neuen Software zugeho:rigen
   Prozesse starten, oder einfach das System neustarten. Das
   Neustarten des Systems gibt Ihnen auch die Gelegenheit
   sicherzustellen, dass Sie Ihr System korrekt konfiguriert haben,
   um Ihren neuen MTA automatisch beim Hochfahren zu starten.

     --------------------------------------------------------------

28.6. Fehlerbehebung

   Hier finden sich ein paar ha:ufig gestellte Fragen und ihre
   Antworten, die von der FAQ u:bernommen wurden.

   28.6.1. Warum muss ich einen FQDN (fully-qualified domain name/
   voll ausgeschriebenen Doma:nennamen) fu:r meine Rechner verwenden?

   28.6.2. Warum meldet Sendmail "mail loops back to myself"?

   28.6.3. Wie kann ich einen E-Mail-Server auf einem Anwahl-PPP
   Rechner betreiben?

   28.6.4. Warum bekomme ich die Fehlermeldung "Relaying Denied",
   wenn ich E-Mails von anderen Rechnern verschicke?

   28.6.1. Warum muss ich einen FQDN (fully-qualified domain name/
   voll ausgeschriebenen Doma:nennamen) fu:r meine Rechner verwenden?

   Vielleicht liegen die Rechner in einer unterschiedlichen Doma:ne;
   zum Beispiel, wenn Sie sich in foo.bar.edu befinden, und einen
   Rechner namens mumble in der bar.edu Doma:ne erreichen wollen,
   mu:ssen Sie ihn mit dem voll ausgeschriebenen Doma:nennamen
   mumble.bar.edu kontaktieren, anstatt bloss mit mumble.

   Traditionell wurde das von dem BSD BIND Resolver erlaubt. Wie auch
   immer, die aktuelle Version von BIND, die mit FreeBSD ausgeliefert
   wird, bietet keine Standardabku:rzungen fu:r nicht komplett
   angegebene Doma:nennamen ausserhalb der Doma:ne, in der Sie sich
   befinden. Daher muss ein nicht-qualifizierter Rechner mumble
   entweder als mumble.foo.bar.edu gefunden werden, oder er wird in
   der root Doma:ne gesucht.

   Damit unterscheidet es sich von vorherigem Verhalten, bei dem die
   Suche u:ber mumble.bar.edu und mumble.edu lief. Schauen Sie sich
   RFC 1535 an, wenn Sie wissen mo:chten, warum das als schlecht und
   sogar als Sicherheitsloch angesehen wurde.

   Um das zu umgehen, ko:nnen Sie die Linie

 search foo.bar.edu bar.edu

   anstatt der vorherigen

 domain foo.bar.edu

   in Ihre /etc/resolv.conf einsetzen. Aber stellen Sie sicher, dass
   die Suchordnung nicht die Begrenzung von "lokaler und
   o:ffentlicher Administration", wie RFC 1535 sie nennt,
   u:berschreitet.

   28.6.2. Warum meldet Sendmail "mail loops back to myself"?

   Dies wird in der Sendmail-FAQ wie folgt beantwortet:

   Ich erhalte folgende Fehlermeldungen:

   553 MX list for domain.net points back to relay.domain.net
   554 <user@domain.net>... Local configuration error

   Wie kann ich dieses Problem lo:sen?

           Sie haben durch die Benutzung eines MX-Eintrags eingestellt, dass
           Mail fu:r die Doma:ne (z.B. domain.net) an einen speziellen
           Host (in diesem Fall relay.domain.net) weitergeleitet wird,
           aber der Relay-Host erkennt sich selbst nicht als
           domain.net.  Fu:gen Sie domain.net in /etc/mail/local-host-names
           [die Datei hiess vor der Version 8.10 /etc/sendmail.cw]
           (falls Sie FEATURE(use_cw_file) benutzen) oder "Cw domain.net"
           in /etc/mail/sendmail.cf ein.

   Die aktuelle Version der Sendmail-FAQ wird nicht mehr mit dem
   Sendmail-Release verwaltet. Sie wird jedoch regelma:ssig nach
   comp.mail.sendmail, comp.mail.misc, comp.mail.smail, comp.answers
   und news.answers gepostet. Sie ko:nnen auch eine Kopie per E-Mail
   bekommen, indem Sie eine Mail mit dem Inhalt send
   usenet/news.answers/mail/sendmail-faq an mail-server@rtfm.mit.edu
   schicken.

   28.6.3. Wie kann ich einen E-Mail-Server auf einem Anwahl-PPP
   Rechner betreiben?

   Sie wollen einen FreeBSD-Rechner in einem LAN an das Internet
   anbinden. Der FreeBSD-Rechner wird ein E-Mail Gateway fu:r das
   LAN. Die PPP-Verbindung ist keine Standleitung.

   Es gibt mindestens zwei Wege um dies zu tun. Einer davon ist UUCP
   zu verwenden.

   Ein anderer Weg ist, von einem immer mit dem Internet verbundenen
   Server einen sekunda:ren MX-Dienst fu:r Ihre Doma:ne zur
   Verfu:gung gestellt zu bekommen. Wenn die Doma:ne Ihrer Firma
   example.com ist, und Ihr Internet-Dienstanbieter example.net so
   eingestellt hat, dass er Ihrer Doma:ne einen sekunda:ren MX-Dienst
   zur Verfu:gung stellt:

 example.com.            MX        10      bigco.com.
                       MX        20      example.net.

   Nur ein Rechner sollte als Endempfa:nger angegeben sein (fu:gen
   Sie Cw example.com zu /etc/sendmail.cf auf example.com).

   Wenn das sendmail des Versenders versucht, die E-Mail zuzustellen,
   wird es versuchen, Sie u:ber die Modem-Verbindung (example.com) zu
   erreichen. Wahrscheinlich wird es keine Verbindung zustande
   bringen ko:nnen, da Sie nicht eingewa:hlt sind. sendmail wird die
   E-Mail automatisch zu der sekunda:ren MX-Stelle geliefert, zu
   Ihrem Internet-Provider (example.net). Die sekunda:re MX-Stelle
   wird periodisch versuchen versuchen eine Verbindung zu Ihnen
   aufzubauen, um die E-Mail zu der prima:ren MX-Stelle (example.com
   zu liefern.

   Eventuell wollen Sie etwas wie dies als Login-Skript:

 #!/bin/sh
 # Put me in /usr/local/bin/pppmyisp
 ( sleep 60 ; /usr/sbin/sendmail -q ) &
 /usr/sbin/ppp -direct pppmyisp

   Wenn Sie ein separates Login-Skript fu:r einen Benutzer erstellen
   wollen, ko:nnten Sie stattdessen sendmail -qRexample.com in dem
   oben gezeigten Skript verwenden. Das erzwingt die sofortige
   Verarbeitung der E-Mails in Ihrer Warteschlange fu:r example.com

   Eine weitere Verfeinerung der Situation ist wie folgt:

   Die Nachricht wurde der FreeBSD Internet service providers
   entnommen.

 > wir stellen einem Kunden den sekunda:ren MX zur Verfu:gung.
 > Der Kunde verbindet sich mit unseren Diensten mehrmals am Tag
 > automatisch um die E-Mails zu seinem prima:ren MX zu holen
 > (wir wa:hlen uns nicht bei ihm ein, wenn E-Mails fu:r seine
 > Doma:ne eintreffen).  Unser sendmail sendet den Inhalt der
 > E-Mail-Warteschlange alle 30 Minuten.  Momentan muss er 30 Minuten
 > eingewa:hlt bleiben um sicher zu sein, dass alle seine E-Mails
 > beim prima:ren MX eingetroffen sind.
 >
 > Gibt es einen Befehl, der sendmail dazu bringt, alle E-Mails sofort
 > zu senden? Der Benutzer hat natu:rlich keine root-Rechte auf
 > unserer Maschine.

 In der "privacy flags" Sektion von sendmail.cf befindet sich die
 Definition Opgoaway,restrictqrun

 Entferne restrictqrun um nicht-root Benutzern zu erlauben, die Verarbeitung
 der Nachrichten-Warteschlangen zu starten.  Mo:glicherweise willst du
 auch die MX neu sortieren.  Wir sind der prima:re MX fu:r unsere
 Kunden mit diesen Wu:nschen und haben definiert:

 # Wenn wir der beste MX fu:r einen Rechner sind, versuche es direkt
 # anstatt einen lokalen Konfigurationsfehler zu generieren.
 OwTrue

 Auf diesem Weg liefern Gegenstellen direkt zu dir, ohne die Kundenverbindung
 zu versuchen.  Dann sendest du zu deinem Kunden.  Das funktioniert nur
 fu:r "Rechner", du musst also deinen Kunden dazu bringen,
 ihre E-Mail Maschine "customer.com" zu nennen, sowie
 "hostname.customer.com" im DNS.  Setze einfach einen A-Eintrag
 in den DNS fu:r "customer.com".

   28.6.4. Warum bekomme ich die Fehlermeldung "Relaying Denied",
   wenn ich E-Mails von anderen Rechnern verschicke?

   In der standardma:ssigen FreeBSD-Installation wird sendmail nur
   dazu konfiguriert, E-Mails von dem Rechner, auf dem es la:uft, zu
   senden. Wenn zum Beispiel ein POP-Server installiert ist, ko:nnen
   Benutzer ihre E-Mails von der Schule, von der Arbeit oder von
   anderen Orten u:berpru:fen. Sie werden jedoch keine E-Mails von
   aussen verschicken ko:nnen. Typischerweise wird ein paar Sekunden
   nach dem Versuch eine E-Mail von MAILER-DAEMON mit einer "5.7
   Relaying Denied" Fehlermeldung versendet werden.

   Es sind mehrere Wege mo:glich, dies zu umgehen. Die geradlinigste
   Lo:sung ist die Adresse Ihres Internet-Dienstanbieters in die
   Datei fu:r die Weiterleitungs-Doma:nen zu platzieren. Das la:sst
   sich schnell erreichen mit:

 # echo "your.isp.example.com" > /etc/mail/relay-domains

   Nach Erstellen oder Editieren dieser Datei mu:ssen Sie sendmail
   neu starten. Das funktioniert grossartig wenn Sie ein
   Server-Administrator sind und E-Mails nicht lokal versenden, oder
   gerne ein Client/System mit grafischer Oberfla:che auf einer
   anderen Maschine oder sogar u:ber einen anderen
   Internet-Dienstanbieter verwenden wollen. Es ist auch sehr
   nu:tzlich, wenn Sie nur ein oder zwei E-Mail Accounts eingerichtet
   haben. Soll eine gro:ssere Anzahl Adressen hinzugefu:gt werden,
   ko:nnen Sie die Datei einfach in Ihrem favorisierten Editor
   o:ffnen und die Doma:nen anfu:gen, je eine pro Zeile:

 your.isp.example.com
 other.isp.example.net
 users-isp.example.org
 www.example.org

   Jetzt wird jede E-Mail, die durch Ihr System von einem der in
   diese Liste eingetragenen Rechner geschickt wurde, ihr Ziel
   erreichen (vorausgesetzt, der Benutzer hat einen Account auf Ihrem
   System). Dies ist ein sehr scho:ner Weg, um Benutzern das
   entfernte E-Mail Versenden von Ihrem System zu erlauben, ohne dem
   Massenversand (SPAM) die Tu:r zu o:ffnen.

     --------------------------------------------------------------

28.7. Weiterfu:hrende Themen

   Die folgenden Abschnitte behandeln kompliziertere Themen wie
   E-Mail-Konfiguration und das Einrichten von E-Mail fu:r Ihre ganze
   Doma:ne.

     --------------------------------------------------------------

  28.7.1. Grundlegende Konfiguration

   Mit der Software im Auslieferungszustand sollten Sie fa:hig sein,
   E-Mails an externe Rechner zu senden, solange Sie /etc/resolv.conf
   eingerichtet haben oder Ihren eigenen Name Server laufen lassen.
   Wenn Sie die E-Mails fu:r Ihren Rechner zu einem anderen Rechner
   geliefert haben wollen, gibt es zwei Methoden:

     * Betreiben Sie Ihren eigenen Name Server und haben Sie Ihre
       eigene Doma:ne, zum Beispiel FreeBSD.org.

     * Lassen Sie sich E-Mails direkt zu Ihrem Rechner liefern. Dies
       geschieht indem E-Mails direkt zu dem aktuellen DNS Namen
       Ihrer Maschine geliefert werden. Zum Beispiel
       example.FreeBSD.org.

   Ungeachtet welche Methode Sie auswa:hlen, um E-Mails direkt zu
   Ihrem Rechner geliefert zu bekommen, beno:tigen Sie eine
   permanente (statische) IP-Adresse (keine dynamische PPP-Anwahl).
   Wenn Sie sich hinter einer Firewall befinden, muss diese den
   SMTP-Verkehr an Sie weiterleiten. Wollen Sie E-Mails an Ihrem
   Rechner selbst empfangen, mu:ssen Sie eines der folgenden Dinge
   sicherstellen:

     * Vergewissern Sie sich, dass der MX-Eintrag in Ihrem DNS zu der
       IP-Adresse Ihres Rechners zeigt.

     * Stellen Sie sicher, dass sich fu:r Ihren Rechner kein
       MX-Eintrag im DNS befindet.

   Jede der erwa:hnten Konfigurationsmo:glichkeiten erlaubt Ihnen,
   E-Mails direkt auf Ihrem Rechner zu empfangen.

   Versuchen Sie das:

 # hostname
 example.FreeBSD.org
 # host example.FreeBSD.org
 example.FreeBSD.org has address 204.216.27.XX

   Wenn Sie diese Ausgabe erhalten, sollten direkt an
   <yourlogin@example.FreeBSD.org> geschickte E-Mails ohne Probleme
   funktionieren.

   Sehen Sie stattdessen etwas wie dies:

 # host example.FreeBSD.org
 example.FreeBSD.org has address 204.216.27.XX
 example.FreeBSD.org mail is handled (pri=10) by hub.FreeBSD.org

   So wird jede an Ihren Rechner (example.FreeBSD.org) gesandte
   E-Mail auf hub unter dem gleichen Benutzernamen gesammelt anstatt
   direkt zu Ihrem Rechner geschickt zu werden.

   Die obige Information wird von Ihrem DNS-Server verwaltet. Der
   DNS-Eintrag, der die E-Mail Routen-Information entha:lt, ist der
   Mail eXchange Eintrag. Existiert kein MX-Eintrag, werden E-Mails
   direkt anhand der IP-Adresse geliefert.

   Der MX-Eintrag fu:r freefall.FreeBSD.org sah einmal so aus:

 freefall                MX      30      mail.crl.net
 freefall                MX      40      agora.rdrop.com
 freefall                MX      10      freefall.FreeBSD.org
 freefall                MX      20      who.cdrom.com

   Wie Sie sehen ko:nnen, hatte freefall viele MX-Eintra:ge. Die
   kleinste MX-Nummer ist der Rechner, der die E-Mails letztendlich
   bekommt, wobei die anderen tempora:r E-Mails in Warteschlangen
   einreihen wa:hrend freefall bescha:ftigt oder unerreichbar ist.

   Um besonders nu:tzlich zu sein, sollten stellvertretende MX-Seiten
   nicht dieselben Internet-Verbindungen wie Ihre eigene verwenden.
   Fu:r Ihren Internet-Dienstleister oder andere sollte es kein
   Problem darstellen, Ihnen diesen Dienst zur Verfu:gung zu stellen.

     --------------------------------------------------------------

  28.7.2. E-Mails fu:r Ihre Doma:ne

   Um einen "E-Mail-Server" (auch bekannt als Mail-Server)
   einzurichten, beno:tigen Sie eine Umlenkung jeglicher E-Mails zu
   Ihm, die an die verschiedenen Workstations gesendet werden. Im
   Grunde wollen Sie jede an Ihre Doma:ne gesendete E-Mail abfangen
   (in diesem Fall *.FreeBSD.org), damit Ihre Benutzer E-Mails
   mittels POP oder direkt auf dem Server u:berpru:fen ko:nnen.

   Am einfachsten ist es, wenn Accounts mit gleichen Benutzernamen
   auf beiden Maschinen existieren. Verwenden Sie adduser(8), um dies
   zu erreichen.

   Der E-Mail-Server, den Sie verwenden wollen, muss als fu:r den
   E-Mail-Austausch zusta:ndiger Rechner auf jeder Workstation im
   Netzwerk gekennzeichnet werden. Dies wird in der DNS-Konfiguration
   so ausgefu:hrt:

 example.FreeBSD.org     A       204.216.27.XX           ; Workstation
                         MX      10 hub.FreeBSD.org      ; Mailhost

   Diese Einstellung wird E-Mail fu:r die Workstations zu dem
   E-Mail-Server leiten, wo auch immer der A-Eintrag hinzeigt. Die
   E-Mails werden zum MX-Rechner gesandt.

   Sofern Sie nicht einen DNS-Server laufen haben, ko:nnen Sie diese
   Einstellung nicht selbst vornehmen. Ist es Ihnen nicht mo:glich
   einen eigenen DNS-Server laufen zu lassen, reden Sie mit Ihren
   Internet-Dienstleister oder wer auch immer Ihre DNS-Verwaltung
   u:bernimmt.

   Wenn Sie ein virtuelles E-Mail System anbieten, werden die
   folgenden Informationen nu:tzlich sein. Fu:r ein Beispiel nehmen
   wir an, Sie haben einen Kunden mit einer eigenen Doma:ne, in
   diesem Fall customer1.org und Sie wollen jegliche E-Mails fu:r
   customer1.org zu Ihrem E-Mail-Server gesendet haben, der
   mail.myhost.com heisst. Der Eintrag in Ihrem DNS sollte wie
   folgender aussehen:

 customer1.org           MX      10      mail.myhost.com
      

   Sie beno:tigen keinen A-Eintrag, wenn Sie fu:r die Domain nur
   E-Mails verwalten wollen.

     Anmerkung: Bedenken Sie, dass das Pingen von customer1.org nicht
     mo:glich ist, solange kein A-Eintrag fu:r diese Doma:ne
     existiert.

   Jetzt mu:ssen Sie nur noch sendmail auf Ihrem Mailrechner
   mitteilen, fu:r welche Doma:nen und/oder Rechnernamen es Mails
   akzeptieren soll. Es gibt einige Wege wie dies geschehen kann. Die
   Folgenden funktionieren alle gleichermassen:

     * Fu:gen Sie die Rechnernamen zu Ihrer /etc/sendmail.cw Datei
       hinzu, wenn Sie FEATURE(use_cw_file) verwenden. Ab
       sendmail 8.10 heisst diese Datei /etc/mail/local-host-names.

     * Tragen Sie eine Zeile mit dem Inhalt Cwyour.host.com in Ihre
       /etc/sendmail.cf Datei (beziehungsweise /etc/mail/sendmail.cf
       ab sendmail 8.10) ein.

     --------------------------------------------------------------

28.8. SMTP u:ber UUCP

   Die sendmail-Konfigurationsdatei, die mit FreeBSD ausgeliefert
   wird, ist fu:r Systeme geeignet, die direkt ans Internet
   angeschlossen sind. Systeme, die ihre E-Mails per UUCP austauschen
   wollen, mu:ssen eine andere Konfigurationsdatei installieren.

   Die manuelle Bearbeitung von /etc/mail/sendmail.cf ist nur etwas
   fu:r Puristen. Sendmail Version 8 bietet die neue Mo:glichkeit der
   Generierung von Konfigurationsdateien u:ber eine Vorverarbeitung
   mit m4(1), wobei die tatsa:chliche, ha:ndische Konfiguration auf
   einer ho:heren Abstraktionsstufe stattfindet. Sie sollten die
   Konfigurationsdateien unter /usr/src/usr.sbin/sendmail/cf
   benutzen. Die Datei README im Verzeichnis cf kann zur
   grundlegenden Einfu:hrung in die m4(1)-Konfiguration dienen.

   Zur Zustellung u:ber UUCP sind Sie am besten damit beraten, die
   mailertable-Datenbank zu benutzen. Mit dieser Datenbank ermittelt
   sendmail mit welchem Protokoll und wohin eine E-Mail zugestellt
   werden soll.

   Zuna:chst mu:ssen Sie Ihre .mc-Datei erstellen. Das Verzeichnis
   /usr/share/sendmail/cf/cf ist die Basis fu:r diese Dateien. Sehen
   Sie sich um, es gibt bereits einige Beispiele. Wenn Sie Ihre Datei
   foo.mc genannt haben, mu:ssen Sie die folgenden Befehle
   ausfu:hren, um sie in eine gu:ltige sendmail.cf umzuwandeln:

 # cd /etc/mail
 # make foo.cf
 # cp foo.cf /etc/mail/sendmail.cf

   Eine typische .mc-Datei ko:nnte so aussehen:

 VERSIONID(`Your version number')
 OSTYPE(bsd4.4)

 FEATURE(accept_unresolvable_domains)
 FEATURE(nocanonify)
 FEATURE(mailertable, `hash -o /etc/mail/mailertable')

 define(`UUCP_RELAY', your.uucp.relay)
 define(`UUCP_MAX_SIZE', 200000)
 define(`confDONT_PROBE_INTERFACES')

 MAILER(local)
 MAILER(smtp)
 MAILER(uucp)

 Cw    your.alias.host.name
 Cw    youruucpnodename.UUCP

   Die Einstellungen accept_unresolvable_domains, nocanonify und
   confDONT_PROBE_INTERFACES werden die Benutzung von DNS bei der
   Zustellung von Mails verhindern. Die Klausel UUCP_RELAY wird aus
   seltsamen Gru:nden beno:tigt - fragen Sie nicht, warum. Setzen Sie
   dort einfach den Namen eines Hosts ein, der in der Lage ist,
   Adressen mit der Pseudodoma:ne .UUCP zu behandeln; wahrscheinlich
   werden Sie dort den Relayhost Ihres ISP eintragen.

   Wenn Sie soweit sind, mu:ssen Sie die Datei /etc/mail/mailertable
   erzeugen. Hierzu wieder ein typisches Beispiel:

 #
 # makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
 #
 .  uucp-dom:your.uucp.relay

   Ein komplexeres Beispiel ko:nnte wie folgt aussehen:

 #
 # makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
 #
 horus.interface-business.de   uucp-dom:horus
 .interface-business.de        uucp-dom:if-bus
 interface-business.de         uucp-dom:if-bus
 .heep.sax.de                  smtp8:%1
 horus.UUCP                    uucp-dom:horus
 if-bus.UUCP                   uucp-dom:if-bus
 .                             uucp-dom:

   Die ersten drei Zeilen behandeln spezielle Fa:lle, in denen an
   Doma:nen adressierte E-Mails nicht u:ber die Standard-Route
   versendet werden sollen, sondern zu einem UUCP-Nachbarn, um den
   Zustellweg "abzuku:rzen". Die na:chsten Zeilen behandeln E-Mails
   an Rechner in der lokalen Domain. Diese Mails ko:nnen direkt per
   SMTP zugestellt werden. Schliesslich werden die UUCP-Nachbarn in
   der Notation mit der Pseudodoma:ne .UUCP aufgefu:hrt, um die
   Standardregeln mit uucp-neighbour!recipient zu u:berschreiben. Die
   letzte Zeile besteht stets aus einem einzelnen Punkt, der als Ihr
   Universalgateway in die Welt dient. Alle Knoten hinter dem
   Schlu:sselwort uucp-dom: mu:ssen gu:ltige UUCP-Nachbarn sein, was
   Sie mit dem Befehl uuname u:berpru:fen ko:nnen.

   Als Erinnerung daran, dass diese Datei in eine DBM-Datenbankdatei
   konvertiert werden muss, bevor sie benutzt werden kann, sollte der
   Befehl hierzu als Kommentar am Anfang der mailertable plaziert
   werden. Sie mu:ssen den Befehl jedes Mal ausfu:hren, wenn Sie die
   mailertable gea:ndert haben.

   Abschliessender Hinweis: Wenn Sie unsicher sind, ob bestimmte
   Zustellwege funktionieren, erinnern Sie sich an die Option -bt von
   sendmail. Sie startet sendmail im Adress-Testmodus; geben Sie
   einfach 3,0, gefolgt von der Adresse, fu:r die Sie den Zustellweg
   testen mo:chten, ein. Die letzte Zeile nennt Ihnen den benutzten
   Mailagenten, den Zielhost, mit dem dieser Agent aufgerufen wird
   und die (mo:glicherweise u:bersetzte) Adresse. Verlassen Sie
   diesen Modus, indem Sie Ctrl+D eingeben.

 % sendmail -bt
 ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
 Enter <ruleset> <address>
 > 3,0 foo@example.com
 canonify           input: foo @ example . com
 ...
 parse            returns: $# uucp-dom $@ your.uucp.relay $: foo < @ example . com . >
 > ^D

     --------------------------------------------------------------

28.9. Ausgehende E-Mail u:ber einen Relay versenden

   Beigetragen von Bill Moran.

   In vielen Fa:llen wollen Sie E-Mail nur u:ber einen Relay
   verschicken. Zum Beispiel:

     * Sie wollen von Ihrem Arbeitsplatz Programme wie send-pr(1)
       benutzen. Dazu soll der Relay Ihres ISPs verwendet werden.

     * Ein Server, der E-Mails nicht selbst verarbeitet, soll alle
       E-Mails zu einem Relay schicken.

   So ziemlich jeder MTA kann diese Aufgaben erfu:llen. Leider ist es
   oft schwierig, einen vollwertigen MTA so zu konfigurieren, dass er
   lediglich ausgehende E-Mails weiterleitet. Es ist u:bertrieben,
   Programme wie sendmail und postfix nur fu:r diesen Zweck
   einzusetzen.

   Weiterhin kann es sein, dass die Bestimmungen Ihres
   Internetzugangs es verbieten, einen eigenen Mail-Server zu
   betreiben.

   Um die hier beschriebenen Anforderungen zu erfu:llen, installieren
   Sie einfach den Port mail/ssmtp. Fu:hren Sie dazu als root die
   nachstehenden Befehle aus:

 # cd /usr/ports/mail/ssmtp
 # make install replace clean

   Nach der Installation konfigurieren Sie mail/ssmtp mit den
   folgenden vier Zeilen in /usr/local/etc/ssmtp/ssmtp.conf:

 root=yourrealemail@example.com
 mailhub=mail.example.com
 rewriteDomain=example.com
 hostname=_HOSTNAME_

   Stellen Sie sicher, dass Sie eine gu:ltige E-Mail-Adresse fu:r
   root verwenden. Geben Sie fu:r mail.example.com den Mail-Relay
   Ihres ISPs an (einige ISPs nennen den Relay "Postausgangsserver"
   oder "SMTP-Server").

   Deaktivieren Sie sendmail indem Sie in /etc/rc.conf
   sendmail_enable="NONE" angeben.

   mail/ssmtp verfu:gt u:ber weitere Optionen. Die
   Musterkonfiguration in /usr/local/etc/ssmtp oder die Hilfeseite
   von ssmtp enthalten weitere Beispiele.

   Wenn Sie ssmtp wie hier beschrieben eingerichtet haben,
   funktionieren Anwendungen, die E-Mails von Ihrem Rechner
   verschicken. Sie verstossen damit auch nicht gegen Bestimmungen
   Ihres ISPs und laufen nicht in Gefahr, dass Ihr Rechner zum
   Versenden von Spams missbraucht wird.

     --------------------------------------------------------------

28.10. E-Mail u:ber Einwahl-Verbindungen

   Wenn Sie eine feste IP-Adresse haben, mu:ssen Sie die
   Standardeinstellungen wahrscheinlich gar nicht a:ndern. Stellen
   Sie Ihren Hostnamen entsprechend Ihrem zugeordneten Internetnamen
   ein und sendmail u:bernimmt das U:brige.

   Wenn Sie eine dynamische IP-Adresse haben und eine
   PPP-Wa:hlverbindung zum Internet benutzen, besitzen Sie
   wahrscheinlich eine Mailbox auf dem Mailserver Ihres ISPs. Lassen
   Sie uns annehmen, die Doma:ne ihres ISPs sei example.net und Ihr
   Benutzername user; ausserdem nehmen wir an, dass Sie Ihre Maschine
   bsd.home genannt haben und, dass Ihr ISP ihnen gesagt hat, dass
   Sie relay.example.net als Mail-Relayhost benutzen ko:nnen.

   Um Mails aus Ihrer Mailbox abzuholen, mu:ssen Sie ein gesondertes
   Programm installieren; fetchmail ist eine gute Wahl, weil es viele
   verschiedene Protokolle unterstu:tzt. Das Programm ko:nnen Sie als
   Paket oder von der Ports-Sammlung (mail/fetchmail) installieren.
   Fu:r gewo:hnlich wird von Ihrem ISP POP zur Verfu:gung gestellt.
   Falls Sie sich dafu:r entschieden haben, User-PPP zu benutzen,
   ko:nnen Sie durch folgenden Eintrag in der Datei
   /etc/ppp/ppp.linkup Ihre Mails automatisch abholen lassen, wenn
   eine Verbindung zum Netz aufgebaut wird:

 MYADDR:
 !bg su user -c fetchmail

   Falls Sie (wie unten gezeigt) sendmail benutzen, um Mails an
   nicht-lokale Benutzer zu versenden, fu:gen Sie den Befehl

 !bg su user -c "sendmail -q"

   nach dem oben gezeigten Eintrag ein. Das veranlasst sendmail, Ihre
   ausgehenden Mails zu verarbeiten, sobald eine Verbindung zum
   Internet aufgebaut wird.

   Nehmen wir an, dass auf bsd.home ein Benutzer user existiert.
   Erstellen Sie auf bsd.home im Heimatverzeichnis von user die Datei
   .fetchmailrc:

 poll example.net protocol pop3 fetchall pass MySecret;

   Diese Datei sollte fu:r niemandem ausser user lesbar sein, weil
   sie das Passwort MySecret entha:lt.

   Um Mails mit dem richtigen from:-Header zu versenden, mu:ssen Sie
   sendmail mitteilen, dass es <user@example.net> und nicht
   <user@bsd.home> benutzen soll. Eventuell mo:chten Sie auch, dass
   sendmail alle Mails u:ber relay.example.net versendet, um eine
   schnellere U:bertragung von Mails zu gewa:hrleisten.

   Die folgende .mc-Datei sollte ausreichen:

 VERSIONID(`bsd.home.mc version 1.0')
 OSTYPE(bsd4.4)dnl
 FEATURE(nouucp)dnl
 MAILER(local)dnl
 MAILER(smtp)dnl
 Cwlocalhost
 Cwbsd.home
 MASQUERADE_AS(`example.net')dnl
 FEATURE(allmasquerade)dnl
 FEATURE(masquerade_envelope)dnl
 FEATURE(nocanonify)dnl
 FEATURE(nodns)dnl
 define(`SMART_HOST', `relay.example.net')
 Dmbsd.home
 define(`confDOMAIN_NAME',`bsd.home')dnl
 define(`confDELIVERY_MODE',`deferred')dnl

   Im vorherigen Abschnitt finden Sie Details dazu, wie Sie aus
   dieser .mc-Datei eine Datei sendmail.cf erstellen ko:nnen.
   Vergessen Sie auch nicht, sendmail neu zu starten, nachdem Sie
   sendmail.cf vera:ndert haben.

     --------------------------------------------------------------

28.11. SMTP-Authentifizierung

   Geschrieben von James Gorham.

   Ein Mail-Server, der SMTP-Authentifizierung verwendet, bietet
   einige Vorteile. Die erforderliche Authentifizierung erho:ht die
   Sicherheit von sendmail und Benutzer, die auf wechselnden
   entfernten Rechnern arbeiten, ko:nnen denselben Mail-Server
   verwenden ohne Ihr Benutzerprogramm jedes Mal neu zu
   konfigurieren.

    1. Installieren Sie den Port security/cyrus-sasl2. Der Port
       verfu:gt u:ber einige Optionen, die wa:hrend der U:bersetzung
       festgelegt werden. Fu:r die in diesem Abschnitt beschriebene
       Methode zur SMTP-Authentifizierung muss die Option LOGIN
       aktiviert werden.

    2. Editieren Sie nach der Installation von security/cyrus-sasl2
       die Datei /usr/local/lib/sasl2/Sendmail.conf (erstellen Sie
       die Datei, wenn sie nicht existiert) und fu:gen Sie die
       folgende Zeile hinzu:

 pwcheck_method: saslauthd

    3. Danach installieren Sie den Port
       security/cyrus-sasl2-saslauthd, und fu:gen die folgende Zeile
       in /etc/rc.conf ein:

 saslauthd_enable="YES"

       Zuletzt mu:ssen Sie noch den saslauthd-Daemon starten:

 # /usr/local/etc/rc.d/saslauthd start

       Dieser Daemon agiert als Broker zwischen sendmail und Ihrer
       FreeBSD-passwd-Datenbank. Dadurch mu:ssen zum Versenden von
       E-Mails keine zusa:tzlichen Accounts und Passwo:rter angelegt
       werden. Die Benutzer verwenden dasselbe Passwort zum Anmelden
       wie zum Verschicken von E-Mails.

    4. Fu:gen Sie jetzt in /etc/make.conf die nachstehenden Zeilen
       hinzu:

 SENDMAIL_CFLAGS=-I/usr/local/include/sasl -DSASL
 SENDMAIL_LDFLAGS=-L/usr/local/lib
 SENDMAIL_LDADD=-lsasl2

       Beim U:bersetzen von sendmail werden damit die
       cyrus-sasl2-Bibliotheken benutzt. Stellen Sie daher vor dem
       U:bersetzen von sendmail sicher, dass der Port cyrus-sasl2
       installiert ist.

    5. U:bersetzen Sie sendmail mit den nachstehenden Kommandos:

 # cd /usr/src/lib/libsmutil
 # make cleandir && make obj && make
 # cd /usr/src/lib/libsm
 # make cleandir && make obj && make
 # cd /usr/src/usr.sbin/sendmail
 # make cleandir && make obj && make && make install

       sendmail sollte sich ohne Probleme u:bersetzen lassen, wenn
       die Dateien in /usr/src nicht vera:ndert wurden und die
       beno:tigten Bibliotheken installiert sind.

    6. Nachdem Sie sendmail installiert haben, editieren Sie
       /etc/mail/freebsd.mc beziehungsweise die verwendete .mc-Datei.
       Viele Administratoren verwenden die Ausgabe von hostname(1),
       um der .mc-Datei einen eindeutigen Namen zu geben. Fu:gen Sie
       die folgenden Zeilen in die .mc-Datei ein:

 dnl set SASL options
 TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
 define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl

       Diese Anweisungen konfigurieren die Methoden, die sendmail zur
       Authentifizierung verwendet. Lesen Sie die mitgelieferte
       Dokumentation, wenn Sie eine andere Methode als pwcheck
       verwenden wollen.

    7. Abschliessend rufen Sie make(1) im Verzeichnis /etc/mail auf.
       Damit wird aus der .mc-Datei eine neue .cf-Datei (zum Beispiel
       freebsd.cf) erzeugt. Das Kommando make install restart
       installiert die Datei nach /etc/mail/sendmail.cf und startet
       sendmail neu. Weitere Informationen entnehmen Sie bitte
       /etc/mail/Makefile.

   Wenn alles funktioniert hat, tragen Sie in Ihrem
   Mail-Benutzerprogramm das Passwort fu:r die Authentifizierung ein
   und versenden Sie zum Testen eine E-Mail. Wenn Sie Probleme haben,
   setzen Sie den LogLevel von sendmail auf 13 und untersuchen die
   Fehlermeldungen in /var/log/maillog.

   Weitere Information erhalten Sie im WWW auf der Webseite von
   sendmail.

     --------------------------------------------------------------

28.12. E-Mail-Programme

   Beigetragen von Marc Silver.

   Anwendungen, die E-Mails versenden und empfangen, werden als
   E-Mail-Programme oder Mail-User-Agents (MUA) bezeichnet. Mit der
   Entwicklung und Ausbreitung von E-Mail wachsen auch die
   E-Mail-Programme und bieten Benutzern mehr Funktionen und ho:here
   Flexibilita:t. Unter FreeBSD laufen zahlreiche E-Mail-Programme,
   die Sie alle mit der FreeBSD Ports-Sammlung installieren ko:nnen.
   Sie ko:nnen wa:hlen zwischen Programmen mit grafischer
   Benutzeroberfla:che, wie evolution oder balsa,
   konsolenorientierten Programmen wie mutt, pine oder mail, oder
   auch Programmen mit Web-Schnittstellen, die von einigen grossen
   Institutionen benutzt werden.

     --------------------------------------------------------------

  28.12.1. mail

   Das standardma:ssig unter FreeBSD installierte E-Mail-Programm ist
   mail(1). Das Programm ist konsolenorientiert und entha:lt alle
   Funktionen, die zum Versand und Empfang textbasierter E-Mails
   erforderlich sind. Allerdings lassen sich Anha:nge mit mail nur
   schwer bearbeiten und kann mail kann nur auf lokale Postfa:cher
   zugreifen.

   mail kann nicht direkt auf POP- oder IMAP-Server zugreifen.
   Entfernte Postfa:cher ko:nnen aber mit einer Anwendung wie
   fetchmail in die lokale Datei mbox geladen werden. fetchmail wird
   spa:ter in diesem Kapitel besprochen (Abschnitt 28.13).

   Um E-Mails zu versenden oder zu empfangen, starten Sie einfach
   mail wie im nachstehenden Beispiel:

 % mail

   Das Werkzeug mail liest automatisch den Inhalt des
   Benutzer-Postfachs im Verzeichnis /var/mail. Sollte das Postfach
   leer sein, beendet sich mail mit der Nachricht, dass keine E-Mails
   vorhanden sind. Wenn das Postfach gelesen wurde, wird die
   Benutzeroberfla:che gestartet und eine Liste der E-Mails
   angezeigt. Die E-Mails werden automatisch nummeriert wie im
   folgenden Beispiel gezeigt:

 Mail version 8.1 6/6/93.  Type ? for help.
 "/var/mail/marcs": 3 messages 3 new
 >N  1 root@localhost        Mon Mar  8 14:05  14/510   "test"
  N  2 root@localhost        Mon Mar  8 14:05  14/509   "user account"
  N  3 root@localhost        Mon Mar  8 14:05  14/509   "sample"

   Einzelne Nachrichten ko:nnen Sie jetzt mit dem mail-Kommando t
   gefolgt von der Nummer der Nachricht lesen. Im nachstehenden
   Beispiel lesen wir die erste E-Mail:

 & t 1
 Message 1:
 From root@localhost  Mon Mar  8 14:05:52 2004
 X-Original-To: marcs@localhost
 Delivered-To: marcs@localhost
 To: marcs@localhost
 Subject: test
 Date: Mon,  8 Mar 2004 14:05:52 +0200 (SAST)
 From: root@localhost (Charlie Root)

 Das ist eine Test-Nachricht.  Antworte bitte!

   Die Taste t zeigt die Nachricht zusammen mit dem vollsta:ndigen
   Nachrichtenkopf an. Wenn Sie die Liste der E-Mails erneut sehen
   wollen, dru:cken Sie die Taste h.

   Um auf eine E-Mail zu antworten, benutzen Sie im Programm mail
   entweder die Taste R oder die Taste r. Mit der Taste R weisen Sie
   mail an, dem Versender der Nachricht zu antworten. Mit der Taste r
   antworten Sie nicht nur dem Versender sondern auch allen
   Empfa:ngern der Nachricht. Sie ko:nnen zusammen mit diesen
   Kommandos eine Zahl angeben, um die E-Mail, auf die Sie antworten
   wollen, auszusuchen. Wenn Sie den Befehl abgesetzt haben,
   schreiben Sie Ihre Antwort und beenden die Eingabe mit einem
   einzelnen Punkt (.) auf einer neuen Zeile. Den Vorgang zeigt das
   nachstehende Beispiel:

 & R 1
 To: root@localhost
 Subject: Re: test

 Danke, ich habe deine E-Mail erhalten.
 .
 EOT

   Neue E-Mails ko:nnen Sie mit der Taste m verschicken. Geben Sie
   dabei die E-Mail-Adresse des Empfa:ngers an. Sie ko:nnen auch
   mehrere durch Kommata (,) getrennte Empfa:nger angeben. Geben Sie
   dann den Betreff (subject) der Nachricht gefolgt von der Nachricht
   selbst ein. Schliessen Sie die Nachricht mit einem einzelnen Punkt
   (.) auf einer neuen Zeile ab.

 & mail root@localhost
 Subject: Ich habe die E-Mails im Griff!

 Jetzt kann ich E-Mails versenden und empfangen ... :)
 .
 EOT

   Die Taste ? zeigt zu jeder Zeit einen Hilfetext an. Wenn Sie
   weitere Hilfe beno:tigen, lesen Sie bitte die Hilfeseite mail(1).

     Anmerkung: Wie vorhin gesagt, wurde das Programm mail(1) nicht
     fu:r den Umgang mit Anha:ngen entworfen und kann daher sehr
     schlecht mit Anha:ngen umgehen. Neuere MUAs wie mutt gehen
     wesentlich besser mit Anha:ngen um. Sollten Sie dennoch das
     mail-Kommando benutzen wollen, werden Sie den Port
     converters/mpack sehr zu scha:tzen wissen.

     --------------------------------------------------------------

  28.12.2. mutt

   mutt ist ein schlankes aber sehr leistungsfa:higes E-Mail-Programm
   mit hervorrangenden Funktionen, unter anderem:

     * mutt kann den Verlauf einer Diskussion (threading) darstellen.

     * Durch die Integration von PGP ko:nnen E-Mails signiert und
       verschlu:sselt werden.

     * MIME wird unterstu:tzt.

     * Postfa:cher ko:nnen im Maildir-Format gespeichert werden.

     * mutt la:sst sich im ho:chsten Masse an lokale Bedu:rfnisse
       anpassen.

   Wegen des Funktionsumfangs ist mutt eins der ausgefeiltesten
   E-Mail-Programme. Mehr u:ber mutt erfahren Sie auf der Seite
   http://www.mutt.org.

   Der Port mail/mutt entha:lt die Produktionsversion von mutt, die
   aktuelle Entwicklerversion befindet sich im Port mail/mutt-devel.
   Wenn mutt installiert ist, wird das Programm mit dem nachstehenden
   Kommando gestartet:

 % mutt

   mutt liest automatisch den Inhalt des Benutzer-Postfachs im
   Verzeichnis /var/mail. Wenn E-Mails vorhanden sind, werden diese
   dargestellt. Sind keine E-Mails vorhanden, wartet mutt auf
   Benutzereingaben. Das folgende Beispiel zeigt, wie mutt eine
   Nachrichten-Liste darstellt:

   Wenn Sie eine Nachricht lesen wollen, wa:hlen Sie die Nachricht
   einfach mit den Pfeiltasten aus und dru:cken Enter. mutt zeigt
   E-Mails wie folgt an:

   Wenn Sie auf eine E-Mail antworten, ko:nnen Sie, wie in mail(1),
   aussuchen, ob Sie nur dem Versender oder auch allen Empfa:ngern
   antworten wollen. Wenn Sie nur dem Versender antworten wollen,
   dru:cken Sie die Taste r. Wenn sie dem Versender und allen
   Empfa:ngern antworten wollen, dru:cken Sie die Taste g.

     Anmerkung: Zum Erstellen oder zum Beantworten von E-Mails ruft
     mutt den Editor vi(1) auf. Wenn Sie den von mutt verwendeten
     Editor a:ndern mo:chten, erstellen oder editieren Sie in Ihrem
     Heimatverzeichnis die Datei .muttrc. Den Editor ko:nnen Sie in
     .muttrc mit der Variablen editor festlegen. Alternativ ko:nnen
     Sie auch die Umgebungsvariable EDITOR setzen. Weitere
     Informationen zur Konfiguration von mutt finden Sie unter
     http://www.mutt.org/.

   Dru:cken Sie die Taste m, wenn Sie eine neue Nachricht verfassen
   wollen. Nachdem Sie einen Betreff (subject) eingegeben haben,
   startet mutt den Editor vi(1) und Sie ko:nnen die Nachricht
   eingeben. Wenn Sie fertig sind, speichern Sie die Nachricht und
   verlassen den Editor. mutt wird dann wieder aktiv und zeigt eine
   Zusammenfassung der zu sendenden Nachricht an. Dru:cken Sie y, um
   die E-Mail zu versenden. Der nachstehende Bildschirmabzug zeigt
   die Zusammenfassung der E-Mail:

   mutt verfu:gt u:ber eine umfangreiche Hilfestellung. Aus fast
   jedem Menu: ko:nnen Sie Hilfeseiten mit der Taste ? aufrufen. In
   der oberen Statuszeile werden zudem die verfu:gbaren
   Tastenkombinationen angezeigt.

     --------------------------------------------------------------

  28.12.3. pine

   pine wendet sich an Anfa:nger bietet aber ebenfalls einige
   Funktionen fu:r Profis.

     Warnung: In der Vergangenheit wurden in pine mehrere
     Schwachstellen gefunden. Die Schwachstellen gestatteten
     entfernten Benutzern, durch das Versenden einer besonders
     verfassten E-Mail, Programme auf dem lokalen System laufen zu
     lassen. Alle bekannten Schwachstellen sind beseitigt worden,
     doch wird im Quellcode von pine ein sehr riskanter
     Programmierstil verwendet, sodass der FreeBSD-Security-Officer
     von weiteren unbekannten Schwachstellen ausgeht. Sie
     installieren pine auf eigene Verantwortung!

   Der Port mail/pine4 entha:lt die aktuelle Version von pine. Nach
   der Installation ko:nnen Sie pine mit dem nachstehenden Kommando
   starten:

 % pine

   Wenn Sie pine das erste Mal starten, zeigt das Programm eine Seite
   mit einer kurzen Einfu:hrung an. Um die pine-Benutzer zu za:hlen,
   bitten die Entwickler auf dieser Seite um eine anonyme E-Mail. Sie
   ko:nnen diese anonyme E-Mail senden, indem Sie Enter dru:cken oder
   den Begru:ssungsbildschirm mit der Taste E verlassen, ohne die
   anonyme E-Mail zu senden. Der Begru:ssungsbildschirm sieht wie
   folgt aus:

   Nach dem Begru:ssungsbildschirm wird das Hauptmenu: dargestellt,
   das sich leicht mit den Pfeiltasten bedienen la:sst. Mit
   Tastenkombinationen ko:nnen Sie aus dem Hauptmenu: neue E-Mails
   erstellen, Postfa:cher anzeigen und auch das Adressbuch verwalten.
   Unterhalb des Menu:s werden die Tastenkombinationen fu:r die
   verfu:gbaren Aktionen angezeigt.

   In der Voreinstellung o:ffnet pine das Verzeichnis inbox. Die
   Taste I oder der Menu:punkt MESSAGE INDEX fu:hrt zu einer
   Nachrichten-Liste:

   Die Liste zeigt die Nachrichten im Arbeitsverzeichnis. Sie ko:nnen
   Nachrichten mit den Pfeiltasten markieren. Wenn Sie eine Nachricht
   lesen wollen, dru:cken Sie Enter.

   Im na:chsten Bildschirmabzug sehen Sie, wie pine eine Nachricht
   darstellt. Die unteren Bildschirmzeilen zeigen die verfu:gbaren
   Tastenkombinationen. Mit der Taste r ko:nnen Sie zum Beispiel auf
   die gerade angezeigte Nachricht antworten.

   Zum Antworten auf eine E-Mail wird in pine der Editor pico, der
   mit installiert wird, benutzt. pico ist leicht zu bedienen und
   gerade fu:r Anfa:nger besser geeignet als vi(1) oder mail(1). Die
   Antwort wird mit der Tastenkombination Ctrl+X versendet. Vor dem
   Versand bittet pine noch um eine Besta:tigung.

   U:ber den Menu:punkt SETUP des Hauptmenu:s ko:nnen Sie pine an
   Ihre Bedu:rfnisse anpassen. Erla:uterungen dazu finden Sie auf der
   Seite http://www.washington.edu/pine/.

     --------------------------------------------------------------

28.13. E-Mails mit fetchmail abholen

   Beigetragen von Marc Silver.

   fetchmail ist ein vollwertiger IMAP- und POP-Client. Mit fetchmail
   ko:nnen Benutzer E-Mails von entfernten IMAP- und POP-Servern in
   leichter zuga:ngliche lokale Postfa:cher laden. fetchmail wird aus
   dem Port mail/fetchmail installiert. Das Programm bietet unter
   anderem folgende Funktionen:

     * fetchmail beherrscht die Protokolle POP3, APOP, KPOP, IMAP,
       ETRN und ODMR.

     * E-Mails ko:nnen mit SMTP weiterverarbeitet werden. Dadurch ist
       garantiert, dass Filter, Weiterleitungen und Aliase weiterhin
       funktionieren.

     * Das Programm kann als Dienst laufen und periodisch neue
       Nachrichten abrufen.

     * fetchmail kann mehrere Postfa:cher abfragen und je nach
       Konfiguration die E-Mails an verschiedene lokale Benutzer
       zustellen.

   Wegen des Funktionsumfangs von fetchmail ko:nnen hier nur
   grundlegende Funktionen beschrieben werden. fetchmail beno:tigt
   die Konfigurationsdatei .fetchmailrc. In dieser Datei werden
   Informationen u:ber Server wie auch Benutzerdaten und Passwo:rter
   hinterlegt. Wegen des kritischen Inhalts von .fetchmailrc sollte
   die Datei nur lesbar fu:r den Benutzer sein:

 % chmod 600 .fetchmailrc

   Die folgende .fetchmailrc zeigt, wie das Postfach eines einzelnen
   Benutzers mit POP heruntergeladen wird. fetchmail wird angewiesen,
   eine Verbindung zu example.com herzustellen und sich dort als
   Benutzer joesoap mit dem Passwort XXX anzumelden. Das Beispiel
   setzt voraus, dass es der Benutzer joesoap auch auf dem lokalen
   System existiert.

 poll example.com protocol pop3 username "joesoap" password "XXX"

   Im folgenden Beispiel werden mehrere POP- und IMAP-Server benutzt.
   Wo notwendig, werden E-Mails auf andere lokale Konten umgeleitet:

 poll example.com proto pop3:
 user "joesoap", with password "XXX", is "jsoap" here;
 user "andrea", with password "XXXX";
 poll example2.net proto imap:
 user "john", with password "XXXXX", is "myth" here;

   Sie ko:nnen fetchmail als Dienst starten. Verwenden Sie dazu die
   Kommandozeilenoption -d gefolgt von einer Zeitspanne in Sekunden,
   die angibt, wie oft die Server aus der Datei .fetchmailrc
   abgefragt werden sollen. Mit dem nachstehenden Befehl fragt
   fetchmail die Server alle 600 Sekunden ab:

 % fetchmail -d 600

   Mehr u:ber fetchmail erfahren Sie auf der Seite
   http://fetchmail.berlios.de/.

     --------------------------------------------------------------

28.14. E-Mails mit procmail filtern

   Beigetragen von Marc Silver.

   Mit procmail la:sst sich eingehende E-Mail sehr gut filtern.
   Benutzer ko:nnen Regeln fu:r eingehende E-Mails definieren, die
   E-Mails zu anderen Postfa:chern oder anderen E-Mail-Adressen
   umleiten. procmail befindet sich im Port mail/procmail. procmail
   kann leicht in die meisten MTAs integriert werden. Lesen Sie dazu
   bitte die Dokumentation des verwendeten MTAs. Alternativ kann
   procmail in das E-Mail-System eingebunden werden, indem die
   nachstehende Zeile in die Datei .forward im Heimatverzeichnis
   eines Benutzers eingefu:gt wird:

 "|exec /usr/local/bin/procmail || exit 75"

   Im Folgenden zeigen wir einige einfache procmail-Regeln und
   beschreiben kurz den Zweck der Zweck der Regeln. Die Regeln
   mu:ssen in die Datei .procmailrc im Heimatverzeichnis des
   Benutzers eingefu:gt werden.

   Den Grossteil dieser Regeln finden Sie auch in der Hilfeseite
   procmailex(5).

   Alle E-Mail von <user@example.com> an die externe Adresse
   <goodmail@example2.com> weiterleiten:

 :0
 * ^From.*user@example.com
 ! goodmail@example2.com

   Alle Nachrichten, die ku:rzer als 1000 Bytes sind, an
   <goodmail@example2.com> weiterleiten:

 :0
 * < 1000
 ! goodmail@example2.com

   Jede E-Mail, die an <alternate@example.com> geschickt wurde, im
   Postfach alternate speichern:

 :0
 * ^TOalternate@example.com
 alternate

   Jede E-Mail, die im Betreff Spam entha:lt, nach /dev/null
   schieben:

 :0
 ^Subject:.*Spam
 /dev/null

   Zuletzt ein nu:tzliches Rezept, das eingehende E-Mails von den
   FreeBSD.org-Mailinglisten in ein separates Postfach fu:r jede
   Liste einsortiert:

 :0
 * ^Sender:.owner-freebsd-\/[^@]+@FreeBSD.ORG
 {
         LISTNAME=${MATCH}
         :0
         * LISTNAME??^\/[^@]+
         FreeBSD-${MATCH}
 }

     --------------------------------------------------------------

                       Kapitel 29. Netzwerkserver

   U:berarbeitet von Murray Stokely. U:bersetzt von Johann Kois.

29.1. U:bersicht

   Dieses Kapitel beschreibt einige der ha:ufiger verwendeten
   Netzwerkdienste auf UNIX-Systemen. Beschrieben werden Installation
   und Konfiguration sowie Test und Wartung verschiedener
   Netzwerkdienste. Zusa:tzlich sind im ganzen Kapitel
   Beispielkonfigurationsdateien vorhanden, von denen Sie sicherlich
   profitieren werden.

   Nachdem Sie dieses Kapitel gelesen haben, werden Sie

     * Den inetd-Daemon konfigurieren ko:nnen.

     * Wissen, wie man ein Netzwerkdateisystem einrichtet.

     * Einen Network Information Server einrichten ko:nnen, um damit
       Benutzerkonten im Netzwerk zu verteilen.

     * Rechner durch Nutzung von DHCP automatisch fu:r ein Netzwerk
       konfigurieren ko:nnen.

     * In der Lage sein, einen Domain Name Server einzurichten.

     * Den Apache HTTP-Server konfigurieren ko:nnen.

     * Wissen, wie man einen File Transfer Protocol (FTP)-Server
       einrichtet.

     * Mit Samba einen Datei- und Druckserver fu:r Windows-Clients
       konfigurieren ko:nnen.

     * Unter Nutzung des NTP-Protokolls Datum und Uhrzeit
       synchronisieren sowie einen Zeitserver installieren ko:nnen.

   Bevor Sie dieses Kapitel lesen, sollten Sie

     * Die Grundlagen der /etc/rc-Skripte verstanden haben.

     * Mit der grundlegenden Netzwerkterminologie vertraut sein.

     * Wissen, wie man zusa:tzliche Softwarepakete von
       Drittherstellern installiert (Kapitel 4).

     --------------------------------------------------------------

29.2. Der inetd "Super-Server"

   Beigetragen von Chern Lee. Aktualisiert fu:r FreeBSD 6.1-RELEASE
   vom FreeBSD Documentation Project.

  29.2.1. U:berblick

   inetd(8) wird manchmal auch als "Internet Super-Server"
   bezeichnet, weil er Verbindungen fu:r mehrere Dienste verwaltet.
   Wenn eine Verbindung eintrifft, bestimmt inetd, welches Programm
   fu:r die eingetroffene Verbindung zusta:ndig ist, aktiviert den
   entsprechenden Prozess und reicht den Socket an ihn weiter (der
   Socket dient dabei als Standardein- und -ausgabe sowie zur
   Fehlerbehandlung). Der Einsatz des inetd-Daemons an Stelle viele
   einzelner Daemonen kann auf nicht komplett ausgelasteten Servern
   zu einer Verringerung der Systemlast fu:hren.

   inetd wird vor allem dazu verwendet, andere Daemonen zu
   aktivieren, einige Protokolle werden aber auch direkt verwaltet.
   Dazu geho:ren chargen, auth, sowie daytime.

   Dieser Abschnitt beschreibt die Konfiguration von inetd durch
   Kommandozeilenoptionen sowie die Konfigurationsdatei
   /etc/inetd.conf.

     --------------------------------------------------------------

  29.2.2. Einstellungen

   inetd wird durch das rc(8)-System initialisiert. Die Option
   inetd_enable ist in der Voreinstellung zwar auf NO gesetzt, sie
   kann aber in Abha:ngigkeit von der vom Benutzer bei der
   Installation gewa:hlten Konfiguration von sysinstall aktiviert
   werden. Die Verwendung von

 inetd_enable="YES"

   oder

 inetd_enable="NO"

   in /etc/rc.conf deaktiviert oder startet inetd beim Systemstart.
   U:ber den Befehl

 # /etc/rc.d/inetd rcvar

   ko:nnen Sie die aktuelle Konfiguration abfragen.

   Weitere Optionen ko:nnen u:ber die Option inetd_flags an inetd
   u:bergeben werden.

     --------------------------------------------------------------

  29.2.3. Kommandozeilenoptionen

   Wie die meisten anderen Server-Daemonen la:sst sich auch inetd
   u:ber verschiedene Optionen steuern. Die vollsta:ndige Syntax fu:r
   inetd lautet:

   inetd [-d] [-l] [-w] [-W] [-c maximum] [-C rate] [-a address |
   hostname] [-p filename] [-R rate] [-s maximum] [configuration
   file]

   Die verschiedenen Optionen ko:nnen u:ber die Option inetd_flags
   der Datei /etc/rc.conf an inetd u:bergeben werden. In der
   Voreinstellung hat diese Option den Wert -wW -C 60. Durch das
   Setzen dieser Werte wird das TCP-Wrapping fu:r alle inetd-Dienste
   aktiviert. Zusa:tzlich kann eine einzelne IP-Adresse jeden Dienst
   nur maximal 60 Mal pro Minute anfordern.

   Fu:r Einsteiger ist es erfreulich, dass diese Parameter in der
   Regel nicht angepasst werden mu:ssen. Da diese Parameter aber
   dennoch von Interesse sein ko:nnen (beispielsweise, wenn Sie eine
   enorme Anzahl von Verbindungsanfragen erhalten), werden einige
   dieser einschra:nkenden Parameter im Folgenden na:her erla:utert.
   Eine vollsta:ndige Auflistung aller Optionen finden Sie hingegen
   in inetd(8).

   -c maximum

           Legt die maximale Anzahl von parallen Aufrufen eines
           Dienstes fest; in der Voreinstellung gibt es keine
           Einschra:nkung. Diese Einstellung kann fu:r jeden Dienst
           durch Setzen des max-child -Parameters festgelegt werden.

   -C rate

           Legt fest, wie oft ein Dienst von einer einzelnen
           IP-Adresse in einer Minute aufgerufen werden kann; in der
           Voreinstellung gibt es keine Einschra:nkung. Dieser Wert
           kann fu:r jeden Dienst durch Setzen des Parameters
           max-connections-per-ip-per-minute festgelegt werden.

   -R rate

           Legt fest, wie oft ein Dienst in der Minute aktiviert
           werden kann; in der Voreinstellung sind dies 256
           Aktivierungen pro Minute. Ein Wert von 0 erlaubt
           unbegrenzt viele Aktivierungen.

   -s maximum

           Legt fest, wie oft ein Dienst in der Minute von einer
           einzelnen IP-Adresse aus aktiviert werden kann; in der
           Voreinstellung gibt es hier keine Beschra:nkung. Diese
           Einstellung kann fu:r jeden Dienst durch die Angabe
           max-child-per-ip angepasst werden.

     --------------------------------------------------------------

  29.2.4. inetd.conf

   Die Konfiguration von inetd erfolgt u:ber die Datei
   /etc/inetd.conf.

   Wenn /etc/inetd.conf gea:ndert wird, kann inetd veranlasst werden,
   seine Konfigurationsdatei neu einzulesen.

   Beispiel 29-1. Die inetd-Konfiguration neu einlesen

 # /etc/rc.d/inetd reload

   Jede Zeile der Konfigurationsdatei beschreibt jeweils einen
   Daemon. Kommentare beginnen mit einem "#". Ein Eintrag der Datei
   /etc/inetd.conf hat folgenden Aufbau:

 service-name
 socket-type
 protocol
 {wait|nowait}[/max-child[/max-connections-per-ip-per-minute[/max-child-per-ip]]]
 user[:group][/login-class]
 server-program
 server-program-arguments

   Ein Eintrag fu:r den IPv4 verwendenden ftpd(8)-Daemon ko:nnte so
   aussehen:

 ftp     stream  tcp     nowait  root    /usr/libexec/ftpd       ftpd -l

   service-name

           Der Dienstname eines bestimmten Daemons. Er muss einem in
           /etc/services aufgelisteten Dienst entsprechen. In dieser
           Datei wird festgelegt, welchen Port inetd abho:ren muss.
           Wenn ein neuer Dienst erzeugt wird, muss er zuerst in die
           Datei /etc/services eingetragen werden.

   socket-type

           Entweder stream, dgram, raw, oder seqpacket. stream muss
           fu:r verbindungsorientierte TCP-Daemonen verwendet werden,
           wa:hrend dgram das UDP-Protokoll verwaltet.

   protocol

           Eines der folgenden:

           Protokoll                  Bedeutung                 
           tcp, tcp4  TCP (IPv4)                                
           udp, udp4  UDP (IPv4)                                
           tcp6       TCP (IPv6)                                
           udp6       UDP (IPv6)                                
           tcp46      TCP sowohl unter IPv4 als auch unter IPv6 
           udp46      UDP sowohl unter IPv4 als auch unter IPv6 

   {wait|nowait}[/max-child[/max-connections-per-ip-per-minute[/max-child-per-ip]]]

           wait|nowait gibt an, ob der von inetd aktivierte Daemon
           seinen eigenen Socket verwalten kann oder nicht.
           dgram-Sockets mu:ssen die Option wait verwenden, wa:hrend
           Daemonen mit Stream-Sockets, die normalerweise auch aus
           mehreren Threads bestehen, die Option nowait verwenden
           sollten. Die Option wait gibt in der Regel mehrere Sockets
           an einen einzelnen Daemon weiter, wa:hrend nowait fu:r
           jeden neuen Socket einen Childdaemon erzeugt.

           Die maximale Anzahl an Child-Daemonen, die inetd erzeugen
           kann, wird durch die Option max-child festgelegt. Wenn ein
           bestimmter Daemon 10 Instanzen beno:tigt, sollte der Wert
           /10 hinter die Option nowait gesetzt werden. Geben Sie
           hingegen den Wert /0 an, gibt es keine Beschra:nkung.

           Zusa:tzlich zu max-child kann die maximale Anzahl von
           Verbindungen eines Rechners mit einem bestimmten Daemon
           durch zwei weitere Optionen beschra:nkt werden. Die Option
           max-connections-per-ip-per-minute legt die maximale Anzahl
           von Verbindungsversuchen fest, die von einer bestimmten
           IP-Adresse aus unternommen werden ko:nnen. Ein Wert von
           zehn wu:rde die maximale Anzahl von Verbindungsversuchen
           einer IP-Adresse mit einem bestimmten Dienst auf zehn
           Versuche in der Minute beschra:nken. Durch die Angabe der
           Option max-child-per-ip ko:nnen Sie hingegen festlegen,
           wieviele Child-Daemonen von einer bestimmten IP-Adresse
           aus gestartet werden ko:nnen. Durch diese Optionen lassen
           sich ein absichtlicher oder unabsichtlicher
           Ressourcenverbrauch sowie die Auswirkungen eines Denial of
           Service (DoS)-Angriffs auf einen Rechner begrenzen.

           Sie mu:ssen hier entweder wait oder nowait angeben. Die
           Angabe von max-child, max-connections-per-ip-per-minute
           und max-child-per-ip ist hingegen optional.

           Ein multithread-Daemon vom Streamtyp ohne die Optionen
           max-child, max-connections-per-ip-per-minute oder
           max-child-per-ip sieht so aus: nowait

           Der gleiche Daemon mit einer maximal mo:glichen Anzahl von
           10 parallelen Daemonen wu:rde so aussehen: nowait/10

           Wird zusa:tzlich die Anzahl der mo:glichen Verbindungen
           pro Minute fu:r jede IP-Adresse auf 20 sowie die mo:gliche
           Gesamtzahl von Childdaemonen auf 10 begrenzt, so sieht der
           Eintrag so aus: nowait/10/20

           All diese Optionen werden vom fingerd(8)-Daemon bereits in
           der Voreinstellung verwendet:

 finger stream  tcp     nowait/3/10 nobody /usr/libexec/fingerd fingerd -s

           Will man die maximale Anzahl von Child-Daemonen auf 100
           beschra:nken, wobei von jeder IP-Adresse aus maximal 5
           Child-Daemonen gestartet werden du:rfen, verwendet man den
           folgenden Eintrag: nowait/100/0/5.

   user

           Der Benutzername, unter dem der jeweilige Daemon laufen
           soll. Meistens laufen Daemonen als User root. Aus
           Sicherheitsgru:nden laufen einige Server aber auch als
           User daemon, oder als am wenigsten privilegierter User
           nobody.

   server-program

           Der vollsta:ndige Pfad des Daemons, der eine Verbindung
           entgegennimmt. Wird der Daemon von inetd intern
           bereitgestellt, sollte die Option internal verwendet
           werden.

   server-program-arguments

           Dieser Eintrag legt (gemeinsam mit server-program und
           beginnend mit argv[0]), die Argumente fest, die bei der
           Aktivierung an den Daemon u:bergeben werden. Wenn die
           Anweisung auf der Kommandozeile also mydaemon -d lautet,
           wa:re mydaemon -d auch der Wert der Option server program
           arguments. Wenn es sich beim Daemon um einen internen
           Dienst handelt, sollte wiederum die Option internal
           verwendet werden.

     --------------------------------------------------------------

  29.2.5. Sicherheit

   Abha:ngig von der bei der Installation festgelegten Konfiguration
   werden viele der von inetd verwalteten Dienste automatisch
   aktiviert! Wenn Sie einen bestimmten Daemon nicht beno:tigen,
   sollten Sie ihn deaktivieren! Dazu kommentieren Sie den jeweiligen
   Daemon in /etc/inetd.conf mit einem "#" aus, um danach die
   inetd-Konfiguration neu einzulesen. Einige Daemonen, zum Beispiel
   fingerd, sollten generell deaktiviert werden, da sie zu viele
   Informationen an einen potentiellen Angreifer liefern.

   Einige Daemonen haben unsichere Einstellungen, etwa grosse oder
   nichtexistierende Timeouts fu:r Verbindungsversuche, die es einem
   Angreifer erlauben, u:ber lange Zeit langsam Verbindungen zu einem
   bestimmten Daemon aufzubauen, um dessen verfu:gbare Ressourcen zu
   verbrauchen. Es ist daher eine gute Idee, diese Daemonen durch die
   Optionen max-connections-per-ip-per-minute, max-child sowie
   max-child-per-ip zu beschra:nken, wenn Sie sehr viele
   Verbindungsversuche mit Ihrem System registrieren.

   TCP-Wrapping ist in der Voreinstellung aktiviert. Lesen Sie
   hosts_access(5), wenn Sie weitere Informationen zum Setzen von
   TCP-Beschra:nkungen fu:r verschiedene von inetd aktivierte
   Daemonen beno:tigen.

     --------------------------------------------------------------

  29.2.6. Verschiedenes

   Bei daytime, time, echo, discard, chargen, und auth handelt es
   sich um intern von inetd bereitgestellte Dienste.

   Der auth-Dienst bietet Identifizierungsdienste u:ber das Netzwerk
   an und ist bis zu einem bestimmten Grad konfigurierbar, wa:hrend
   die meisten anderen Dienste nur aktiviert oder deaktiviert werden
   ko:nnen.

   Eine ausfu:hrliche Beschreibung finden Sie in inetd(8).

     --------------------------------------------------------------

29.3. NFS - Network File System

   Reorganisiert und erweitert von Tom Rhodes. Geschrieben von Bill
   Swingle.

   Eines der vielen von FreeBSD unterstu:tzten Dateisysteme ist das
   Netzwerkdateisystem, das auch als NFS bekannt ist. NFS ermo:glicht
   es einem System, Dateien und Verzeichnisse u:ber ein Netzwerk mit
   anderen zu teilen. U:ber NFS ko:nnen Benutzer und Programme auf
   Daten entfernter Systeme zugreifen, und zwar genauso, wie wenn es
   sich um lokale Daten handeln wu:rde.

   Einige der wichtigsten Vorteile von NFS sind:

     * Lokale Arbeitsstationen beno:tigen weniger Plattenplatz, da
       gemeinsam benutzte Daten nur auf einem einzigen Rechner
       vorhanden sind. Alle anderen Stationen greifen u:ber das
       Netzwerk auf diese Daten zu.

     * Benutzer beno:tigen nur noch ein zentrales Heimatverzeichnis
       auf einem NFS-Server. Diese Verzeichnisse sind u:ber das
       Netzwerk auf allen Stationen verfu:gbar.

     * Speichergera:te wie Disketten-, CD-ROM- oder Zip(R)-Laufwerke
       ko:nnen u:ber das Netzwerk von anderen Arbeitstationen genutzt
       werden. Dadurch sind fu:r das gesamte Netzwerk deutlich
       weniger Speichergera:te no:tig.

     --------------------------------------------------------------

  29.3.1. Wie funktioniert NFS?

   NFS besteht aus zwei Hauptteilen: Einem Server und einem oder
   mehreren Clients. Der Client greift u:ber das Netzwerk auf die
   Daten zu, die auf dem Server gespeichert sind. Damit dies korrekt
   funktioniert, mu:ssen einige Prozesse konfiguriert und gestartet
   werden:

   Der Server beno:tigt folgende Daemonen:

   Daemon                         Beschreibung                        
   nfsd    Der NFS-Daemon. Er bearbeitet Anfragen der NFS-Clients.    
   mountd  Der NFS-Mount-Daemon. Er bearbeitet die Anfragen, die      
           nfsd(8) an ihn weitergibt.                                 
   rpcbind Der Portmapper-Daemon. Durch ihn erkennen die NFS-Clients, 
           welchen Port der NFS-Server verwendet.                     

   Der Client kann ebenfalls einen Daemon aufrufen, und zwar den
   nfsiod-Daemon. Der nfsiod-Daemon bearbeitet Anfragen vom
   NFS-Server. Er ist optional und verbessert die Leistung des
   Netzwerks. Fu:r eine normale und korrekte Arbeit ist er allerdings
   nicht erforderlich. Mehr erfahren Sie in der Hilfeseite nfsiod(8).

     --------------------------------------------------------------

  29.3.2. NFS einrichten

   NFS la:sst sich leicht einrichten. Die no:tigen Prozesse werden
   durch einige A:nderungen in /etc/rc.conf bei jedem Systemstart
   gestartet.

   Stellen Sie sicher, dass auf dem NFS-Server folgende Optionen in
   der Datei /etc/rc.conf gesetzt sind:

 rpcbind_enable="YES"
 nfs_server_enable="YES"
 mountd_flags="-r"

   mountd la:uft automatisch, wenn der NFS-Server aktiviert ist.

   Auf dem Client muss in /etc/rc.conf folgende Option gesetzt sein:

 nfs_client_enable="YES"

   /etc/exports legt fest, welche Dateisysteme NFS exportieren
   (manchmal auch als "teilen" bezeichnet) soll. Jede Zeile in
   /etc/exports legt ein Dateisystem sowie die Arbeitsstationen, die
   darauf Zugriff haben, fest. Ausserdem ist es mo:glich,
   Zugriffsoptionen festzulegen. Es gibt viele verschiedene Optionen,
   allerdings werden hier nur einige von ihnen erwa:hnt. Wenn Sie
   Informationen zu weiteren Optionen beno:tigen, lesen Sie
   exports(5).

   Nun folgen einige Beispieleintra:ge fu:r /etc/exports:

   Die folgenden Beispiele geben Ihnen Anhaltspunkte zum Exportieren
   von Dateisystemen, obwohl diese Einstellungen natu:rlich von Ihrer
   Arbeitsumgebung und Ihrer Netzwerkkonfiguration abha:ngen. Das
   na:chste Beispiel exportiert das Verzeichnis /cdrom fu:r drei
   Rechner, die sich in derselben Doma:ne wie der Server befinden
   oder fu:r die entsprechende Eintra:ge in /etc/hosts existieren.
   Die Option -ro kennzeichnet das exportierte Dateisystem als
   schreibgeschu:tzt. Durch dieses Flag ist das entfernte System
   nicht in der Lage, das exportierte Dateisystem zu vera:ndern.

 /cdrom -ro host1 host2 host3

   Die na:chste Zeile exportiert /home auf drei durch IP-Adressen
   bestimmte Rechner. Diese Einstellung ist nu:tzlich, wenn Sie u:ber
   ein privates Netzwerk ohne DNS-Server verfu:gen. Optional ko:nnten
   interne Rechnernamen auch in /etc/hosts konfiguriert werden.
   Beno:tigen Sie hierzu weitere Informationen, lesen Sie bitte
   hosts(5). Durch das Flag -alldirs wird es mo:glich, auch
   Unterverzeichnisse als Mountpunkte festzulegen. Dies bedeutet aber
   nicht, dass alle Unterverzeichnisse eingeha:ngt werden, vielmehr
   wird es dem Client ermo:glicht, nur diejenigen Verzeichnisse
   einzuha:ngen, die auch beno:tigt werden.

 /home  -alldirs  10.0.0.2 10.0.0.3 10.0.0.4

   Die na:chste Zeile exportiert /a, damit Clients von verschiedenen
   Doma:nen auf das Dateisystem zugreifen ko:nnen. Das
   -maproot=root-Flag erlaubt es dem Benutzer root des entfernten
   Systems, als root auf das exportierte Dateisystem zu schreiben.
   Wenn dieses Flag nicht gesetzt ist, kann selbst root nicht auf das
   exportierte Dateisystem schreiben.

 /a  -maproot=root  host.example.com box.example.org

   Damit ein Client auf ein exportiertes Dateisystem zugreifen kann,
   muss ihm dies explizit gestattet werden. Stellen Sie also sicher,
   dass der Client in /etc/exports aufgefu:hrt wird.

   Jede Zeile in /etc/exports entspricht der Exportinformation fu:r
   ein Dateisystem auf einen Rechner. Ein entfernter Rechner kann
   fu:r jedes Dateisystem nur einmal festgelegt werden, und kann auch
   nur einen Standardeintrag haben. Nehmen wir an, dass /usr ein
   einziges Dateisystem ist. Dann wa:ren folgende Zeilen ungu:ltig:

 #Nicht erlaubt, wenn /usr ein einziges Dateisystem ist
 /usr/src   client
 /usr/ports client

   Das Dateisystem /usr wird hier zweimal auf den selben Rechner
   (client) exportiert. Dies ist aber nicht zula:ssig. Der korrekte
   Eintrag sieht daher so aus:

 /usr/src /usr/ports  client

   Die Eigenschaften eines auf einen anderen Rechner exportierten
   Dateisystems mu:ssen alle in einer Zeile stehen. Zeilen, in denen
   kein Rechner festgelegt wird, werden als einzelner Rechner
   behandelt. Dies schra:nkt die Mo:glichkeiten zum Export von
   Dateisystemen ein, fu:r die meisten Anwender ist dies aber kein
   Problem.

   Eine gu:ltige Exportliste, in der /usr und /exports lokale
   Dateisysteme sind, sieht so aus:

 # Export src and ports to client01 and client02, but only
 # client01 has root privileges on it
 /usr/src /usr/ports -maproot=root    client01
 /usr/src /usr/ports                  client02
 # The client machines have root and can mount anywhere
 # on /exports. Anyone in the world can mount /exports/obj read-only
 /exports -alldirs -maproot=root      client01 client02
 /exports/obj -ro

   Der Daemon mountd muss die Datei /etc/exports nach jeder A:nderung
   neu einlesen, damit die A:nderungen wirksam werden. Dies kann
   durch das Senden des HUP-Signals an den mountd-Prozess erfolgen:

 # kill -HUP `cat /var/run/mountd.pid`

   Alternativ ko:nnen Sie das mountd-rc(8)-Skript auch mit dem
   passenden Parameter aufrufen:

 # /etc/rc.d/mountd onereload

   Lesen Sie bitte Abschnitt 11.7 des Handbuchs fu:r Informationen
   zum Einsatz der rc-Skripte.

   Eine weitere Mo:glichkeit, diese A:nderungen zu u:bernehmen, wa:re
   der Neustart des Systems. Dies ist allerdings nicht no:tig. Wenn
   Sie die folgenden Befehle als root ausfu:hren, sollte alles
   korrekt gestartet werden.

   Auf dem NFS-Server:

 # rpcbind
 # nfsd -u -t -n 4
 # mountd -r

   Auf dem NFS-Client:

 # nfsiod -n 4

   Nun sollte alles bereit sein, um ein entferntes Dateisystem
   einha:ngen zu ko:nnen. In unseren Beispielen nennen wir den Server
   server, den Client client. Wenn Sie ein entferntes Dateisystem nur
   zeitweise einha:ngen wollen, oder nur Ihre Konfiguration testen
   mo:chten, fu:hren Sie auf dem Client als root einen Befehl
   a:hnlich dem folgenden aus:

 # mount server:/home /mnt

   Dadurch wird das Verzeichnis /home des Servers auf dem Client
   unter /mnt eingeha:ngt. Wenn alles korrekt konfiguriert wurde,
   sehen Sie auf dem Client im Verzeichnis /mnt alle Dateien des
   Servers.

   Wenn Sie ein entferntes Dateisystem nach jedem Systemstart
   automatisch einha:ngen wollen, fu:gen Sie das Dateisystem in
   /etc/fstab ein. Dazu ein Beispiel:

 server:/home    /mnt    nfs     rw      0       0

   Eine Beschreibung aller Optionen entha:lt die Hilfeseite fstab(5).

     --------------------------------------------------------------

  29.3.3. Dateien sperren (Locking)

   Einige Anwendungen (beispielsweise mutt) erfordern die Sperrung
   von Dateien, damit sie korrekt arbeiten. Verwenden Sie NFS, so
   ko:nnen Sie fu:r die Sperrung von Dateien rpc.lockd einsetzen. Um
   diesen Daemon zu aktivieren, mu:ssen Sie in /etc/rc.conf (sowohl
   auf Client- als auch auf Serverseite) folgende Zeilen aufnehmen
   (wobei vorausgesetzt wird, dasss NFS auf beiden Systemen bereits
   konfiguriert ist):

 rpc_lockd_enable="YES"
 rpc_statd_enable="YES"

   Danach starten Sie die Anwendung zur Verwaltung der Dateisperren
   durch folgenden Befehl:

 # /etc/rc.d/lockd start
 # /etc/rc.d/statd start

   Beno:tigen Sie keine echten Dateisperren zwischen den NFS-Clients
   und dem NFS-Server, ko:nnen Sie den NFS-Client durch die U:bergabe
   der Option -L an mount_nfs(8) zu einer lokalen Sperrung von
   Dateien zwingen. Lesen Sie dazu auch die Manualpage mount_nfs(8).

     --------------------------------------------------------------

  29.3.4. Praktische Anwendungen

   NFS ist in vielen Situationen nu:tzlich. Einige Anwendungsbereiche
   finden Sie in der folgenden Liste:

     * Mehrere Maschinen ko:nnen sich ein CD-ROM-Laufwerk oder andere
       Medien teilen. Dies ist billiger und ausserdem praktischer, um
       Programme auf mehreren Rechnern zu installieren.

     * In gro:sseren Netzwerken ist es praktisch, einen zentralen
       NFS-Server einzurichten, auf dem die Heimatverzeichnisse der
       Benutzer gespeichert werden. Diese Heimatverzeichnisse werden
       u:ber das Netzwerk exportiert. Dadurch haben die Benutzer
       immer das gleiche Heimatverzeichnis zur Verfu:gung,
       unabha:ngig davon, an welchem Arbeitsplatz sie sich anmelden.

     * Verschiedene Rechner ko:nnen auf ein gemeinsames Verzeichnis
       /usr/ports/distfiles zugreifen. Wenn Sie nun einen Port auf
       mehreren Rechnern installieren wollen, greifen Sie einfach auf
       dieses Verzeichnis zu, ohne die Quelldateien auf jede Maschine
       zu kopieren.

     --------------------------------------------------------------

  29.3.5. AMD

   Beigetragen von Wylie Stilwell. U:berarbeitet von Chern Lee.

   amd(8) (Automatic Mounter Daemon) ha:ngt ein entferntes
   Dateisystem automatisch ein, wenn auf eine Datei oder ein
   Verzeichnis in diesem Dateisystem zugegriffen wird. Dateisysteme,
   die u:ber einen gewissen Zeitraum inaktiv sind, werden von amd
   automatisch abgeha:ngt. amd ist eine einfache Alternative zum
   dauerhaften Einha:ngen von Dateisystemen in /etc/fstab.

   In der Voreinstellung stellt amd die Verzeichnisse /host und /net
   als NFS-Server bereit. Wenn auf eine Datei in diesen
   Verzeichnissen zugegriffen wird, sucht amd den entsprechenden
   Mountpunkt und ha:ngt das Dateisystem automatisch ein. /net wird
   zum Einha:ngen von exportierten Dateisystemen von einer IP-Adresse
   verwendet, wa:hrend /host zum Einha:ngen von exportierten
   Dateisystemen eines durch seinen Namen festgelegten Rechners
   dient.

   Ein Zugriff auf eine Datei in /host/foobar/usr wu:rde amd
   veranlassen, das von foobar exportierte Dateisystem /usr
   einzuha:ngen.

   Beispiel 29-2. Ein exportiertes Dateisystem mit amd in den
   Verzeichnisbaum einha:ngen

   Sie ko:nnen sich die verfu:gbaren Mountpunkte eines entfernten
   Rechners mit showmount ansehen. Wollen Sie sich die Mountpunkte
   des Rechners foobar ansehen, so verwenden Sie:

 % showmount -e foobar
 Exports list on foobar:
 /usr                               10.10.10.0
 /a                                 10.10.10.0
 % cd /host/foobar/usr

   Wie Sie an diesem Beispiel erkennen ko:nnen, zeigt showmount /usr
   als exportiertes Dateisystem an. Wenn man in das Verzeichnis
   /host/foobar/usr wechselt, versucht amd den Rechnernamen foobar
   aufzulo:sen und den gewu:nschten Export in den Verzeichnisbaum
   einzuha:ngen.

   amd kann durch das Einfu:gen der folgenden Zeile in /etc/rc.conf
   automatisch gestartet werden:

 amd_enable="YES"

   Mit der Option amd_flags kann amd angepasst werden. Die
   Voreinstellung fu:r amd_flags sieht so aus:

 amd_flags="-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map"

   /etc/amd.map legt die Standardoptionen fest, mit denen exportierte
   Dateisysteme in den Verzeichnisbaum eingeha:ngt werden.
   /etc/amd.conf hingegen legt einige der erweiterten Optionen von
   amd fest.

   Weitere Informationen finden Sie in den Hilfeseiten amd(8) und
   amd.conf(5).

     --------------------------------------------------------------

  29.3.6. Integrationsprobleme mit anderen Systemen

   Beigetragen von John Lind.

   Bestimmte ISA-Ethernetadapter haben Beschra:nkungen, die zu
   ernsthaften Netzwerkproblemen, insbesondere mit NFS fu:hren
   ko:nnen. Es handelt sich dabei nicht um ein FreeBSD-spezifisches
   Problem, aber FreeBSD-Systeme sind davon ebenfalls betroffen.

   Das Problem tritt fast ausschliesslich dann auf, wenn
   (FreeBSD)-PC-Systeme mit Hochleistungsrechnern verbunden werden,
   wie Systemen von Silicon Graphics, Inc. oder Sun Microsystems,
   Inc. Das Einha:ngen via NFS funktioniert problemlos, auch einige
   Dateioperationen ko:nnen erfolgreich sein. Plo:tzlich aber wird
   der Server nicht mehr auf den Client reagieren, obwohl Anfragen
   von anderen Rechnern weiterhin bearbeitet werden. Dieses Problem
   betrifft stets den Client, egal ob es sich beim Client um das
   FreeBSD-System oder den Hochleistungsrechner handelt. Auf vielen
   Systemen gibt es keine Mo:glichkeit mehr, den Client
   ordnungsgema:ss zu beenden. Die einzige Lo:sung ist es oft, den
   Rechner neu zu starten, da dieses NFS-Problem nicht mehr behoben
   werden kann.

   Die "korrekte" Lo:sung fu:r dieses Problem ist es, sich eine
   schnellere Ethernetkarte fu:r FreeBSD zu kaufen. Allerdings gibt
   es auch eine einfache und meist zufriedenstellende Lo:sung, um
   dieses Problem zu umgehen. Wenn es sich beim FreeBSD-System um den
   Server handelt, verwenden Sie beim Einha:ngen in den
   Verzeichnisbaum auf der Clientseite zusa:tzlich die Option -w=1024
   . Wenn es sich beim FreeBSD-System um den Client handelt, dann
   ha:ngen Sie das NFS-Dateisystem mit der zusa:tzlichen Option
   -r=1024 ein. Diese Optionen ko:nnen auf der Clientseite auch durch
   das vierte Feld der Eintra:ge in /etc/fstab festgelegt werden,
   damit die Dateisysteme automatisch eingeha:ngt werden. Um die
   Dateisysteme manuell einzuha:ngen, verwendet man bei mount(8)
   zusa:tzlich die Option -o.

   Es gibt ein anderes Problem, das oft mit diesem verwechselt wird.
   Dieses andere Problem tritt auf, wenn sich u:ber NFS verbundene
   Server und Clients in verschiedenen Netzwerken befinden. Wenn dies
   der Fall ist, stellen Sie sicher, dass Ihre Router die no:tigen
   UDP-Informationen weiterleiten, oder Sie werden nirgends
   hingelangen, egal was Sie machen.

   In den folgenden Beispielen ist fastws der Name des
   Hochleistungsrechners (bzw. dessen Schnittstelle), freebox
   hingegen ist der Name des FreeBSD-Systems, das u:ber eine
   Netzkarte mit geringer Leistung verfu:gt. /sharedfs ist das
   exportierte NFS -Dateisystem (lesen Sie dazu auch exports(5)). Bei
   /project handelt es sich um den Mountpunkt, an dem das exportierte
   Dateisystem auf der Clientseite eingeha:ngt wird. In allen Fa:llen
   ko:nnen zusa:tzliche Optionen, wie z.B. hard, soft oder bg
   wu:nschenswert sein.

   FreeBSD als Client (eingetragen in /etc/fstab auf freebox):

 fastws:/sharedfs /project nfs rw,-r=1024 0 0

   Manuelles Einha:ngen auf freebox:

 # mount -t nfs -o -r=1024 fastws:/sharedfs /project

   FreeBSD als Server (eingetragen in /etc/fstab auf fastws):

 freebox:/sharedfs /project nfs rw,-w=1024 0 0

   Manuelles Einha:ngen auf fastws:

 # mount -t nfs -o -w=1024 freebox:/sharedfs /project

   Nahezu alle 16-bit Ethernetadapter erlauben Operationen ohne
   obengenannte Einschra:nkungen auf die Lese- oder Schreibgro:sse.

   Fu:r alle technisch Interessierten wird nun beschrieben, was
   passiert, wenn dieser Fehler auftritt, und warum er irreversibel
   ist. NFS arbeitet u:blicherweise mit einer "Blockgro:sse" von
   8 kByte (obwohl es kleinere Fragmente zulassen wu:rde). Da die
   maximale Rahmengro:sse von Ethernet 1500 Bytes betra:gt, wird der
   NFS-"Block" in einzelne Ethernetrahmen aufgeteilt, obwohl es sich
   nach wie vor um eine Einheit handelt, die auch als Einheit
   empfangen, verarbeitet und besta:tigt werden muss. Der
   Hochleistungsrechner verschickt die Pakete, aus denen der
   NFS-Block besteht, so eng hintereinander, wie es der Standard
   erlaubt. Auf der anderen Seite (auf der sich die langsamere
   Netzkarte befindet), u:berschreiben die spa:teren Pakete ihre
   Vorga:nger, bevor diese vom System verarbeitet werden
   (U:berlauf!). Dies hat zur Folge, dass der NFS-Block nicht mehr
   rekonstruiert und besta:tigt werden kann. Als Folge davon glaubt
   der Hochleistungsrechner, dass der andere Rechner nicht erreichbar
   ist (Timeout!) und versucht die Sendung zu wiederholen. Allerdings
   wird wiederum der komplette NFS-Block verschickt, so dass sich der
   ganze Vorgang wiederholt, und zwar immer wieder (oder bis zum
   Systemneustart).

   Indem wir die Einheitengro:sse unter der maximalen Gro:sse der
   Ethernetpakete halten, ko:nnen wir sicherstellen, dass jedes
   vollsta:ndig erhaltene Ethernetpaket individuell angesprochen
   werden kann und vermeiden die Blockierung des Systems.

   U:berla:ufe ko:nnen zwar nach wie vor auftreten, wenn ein
   Hochleistungsrechner Daten auf ein PC-System transferiert. Durch
   die besseren (und schnelleren) Netzkarten treten solche
   U:berla:ufe allerdings nicht mehr zwingend auf, wenn
   NFS-"Einheiten" u:bertragen werden. Tritt nun ein U:berlauf auf,
   wird die betroffene Einheit erneut verschickt, und es besteht eine
   gute Chance, dass sie nun erhalten, verarbeitet und besta:tigt
   werden kann.

     --------------------------------------------------------------

29.4. NIS/YP - Network Information Service

   Beigetragen von Bill Swingle. Erweitert von Eric Ogren und Udo
   Erdelhoff.

  29.4.1. Was ist NIS?

   NIS wurde von Sun Microsystems entwickelt, um UNIX-Systeme
   (urspru:nglich SunOS) zentral verwalten zu ko:nnen. Mittlerweile
   hat es sich zu einem Industriestandard entwickelt, der von allen
   wichtigen UNIX-Systemen (Solaris, HP-UX, AIX(R), Linux, NetBSD,
   OpenBSD, FreeBSD und anderen) unterstu:tzt wird.

   NIS war urspru:nglich als Yellow Pages bekannt, aus
   markenrechtlichen Gru:nden wurde der Name aber gea:ndert. Die alte
   Bezeichnung (sowie die Abku:rzung YP) wird aber nach wie vor
   ha:ufig verwendet.

   Bei NIS handelt es sich um ein RPC-basiertes Client/Server-System.
   Eine Gruppe von Rechnern greift dabei innerhalb einer NIS-Doma:ne
   auf gemeinsame Konfigurationsdateien zu. Ein Systemadministrator
   wird dadurch in die Lage versetzt, NIS-Clients mit minimalem
   Aufwand einzurichten, sowie A:nderungen an der Systemkonfiguration
   von einem zentralen Ort aus durchzufu:hren.

   Die Funktion entspricht dem Doma:nensystem von Windows NT(R); auch
   wenn sich die interne Umsetzung unterscheidet, sind die
   Basisfunktionen vergleichbar.

     --------------------------------------------------------------

  29.4.2. Wichtige Prozesse und Begriffe

   Es gibt verschiedene Begriffe und Anwenderprozesse, auf die Sie
   stossen werden, wenn Sie NIS unter FreeBSD einrichten, egal ob Sie
   einen Server oder einen Client konfigurieren:

       Begriff                        Beschreibung                    
                    Ein NIS-Masterserver sowie alle Clients           
   NIS-Doma:nenname (inklusive der Slaveserver) haben einen           
                    NIS-Doma:nennamen. Dieser hat (a:hnlich den       
                    Windows NT-Doma:nennamen) nichts mit DNS zu tun.  
                    Muss laufen, damit RPC (Remote Procedure Call,    
   rpcbind          ein von NIS verwendetes Netzwerkprotokoll)        
                    funktioniert. NIS-Server sowie Clients            
                    funktionieren ohne rpcbind nicht.                 
                    "Bindet" einen NIS-Client an seinen NIS-Server.   
                    Der Client bezieht den NIS-Doma:nennamen vom      
                    System und stellt u:ber das RPC-Protokoll eine    
                    Verbindung zum NIS-Server her. ypbind ist der     
   ypbind           zentrale Bestandteil der                          
                    Client-Server-Kommunikation in einer              
                    NIS-Umgebung. Wird >ypbind auf einem Client       
                    beendet, ist dieser nicht mehr in der Lage, auf   
                    den NIS-Server zuzugreifen.                       
                    Sollte nur auf dem NIS-Server laufen, da es sich  
                    um den Serverprozess selbst handelt. Wenn         
                    ypserv(8) nicht mehr la:uft, kann der Server      
                    nicht mehr auf NIS-Anforderungen reagieren (wenn  
                    ein Slaveserver existiert, kann dieser als Ersatz 
                    fungieren). Einige NIS-Systeme (allerdings nicht  
   ypserv           das von FreeBSD) versuchen allerdings erst gar    
                    nicht, sich mit einem anderen Server zu           
                    verbinden, wenn der bisher verwendete Server      
                    nicht mehr reagiert. Die einzige Lo:sung dieses   
                    Problems besteht dann darin, den Serverprozess    
                    (oder gar den Server selbst) oder den             
                    ypbind-Prozess auf dem Client neu zu starten.     
                    Ein weiterer Prozess, der nur auf dem             
                    NIS-Masterserver laufen sollte. Es handelt sich   
   rpc.yppasswdd    um einen Daemonprozess, der es NIS-Clients        
                    ermo:glicht, sich auf dem NIS-Masterserver        
                    anzumelden, um ihr Passwort zu a:ndern.           

     --------------------------------------------------------------

  29.4.3. Wie funktioniert NIS?

   In einer NIS-Umgebung gibt es drei Rechnerarten: Masterserver,
   Slaveserver und Clients. Server dienen als zentraler Speicherort
   fu:r Rechnerkonfigurationen. Masterserver speichern die
   massgebliche Kopie dieser Informationen, wa:hrend Slaveserver
   diese Informationen aus Redundanzgru:nden spiegeln. Die Clients
   beziehen ihre Informationen immer vom Server.

   Auf diese Art und Weise ko:nnen Informationen aus verschiedenen
   Dateien von mehreren Rechnern gemeinsam verwendet werden.
   master.passwd, group, und hosts werden oft gemeinsam u:ber NIS
   verwendet. Immer, wenn ein Prozess auf einem Client auf
   Informationen zugreifen will, die normalerweise in lokalen Dateien
   vorhanden wa:ren, wird stattdessen eine Anfrage an den NIS-Server
   gestellt, an den der Client gebunden ist.

     --------------------------------------------------------------

    29.4.3.1. Arten von NIS-Rechnern

     * Ein NIS-Masterserver verwaltet, a:hnlich einem
       Windows NT-Doma:nencontroller, die von allen NIS-Clients
       gemeinsam verwendeten Dateien. passwd, group, sowie
       verschiedene andere von den Clients verwendete Dateien
       existieren auf dem Masterserver.

         Anmerkung: Ein Rechner kann auch fu:r mehrere NIS-Doma:nen
         als Masterserver fungieren. Dieser Abschnitt konzentriert
         sich im Folgenden allerdings auf eine relativ kleine
         NIS-Umgebung.

     * NIS-Slaveserver. A:hnlich einem
       Windows NT-Backupdoma:nencontroller, verwalten NIS-Slaveserver
       Kopien der Daten des NIS-Masterservers. NIS-Slaveserver bieten
       die Redundanz, die fu:r kritische Umgebungen beno:tigt wird.
       Zusa:tzlich entlasten Slaveserver den Masterserver:
       NIS-Clients verbinden sich immer mit dem NIS-Server, der
       zuerst reagiert. Dieser Server kann auch ein Slaveserver sein.

     * NIS-Clients. NIS-Clients identifizieren sich gegenu:ber dem
       NIS-Server (a:hnlich den Windows NT-Workstations), um sich am
       Server anzumelden.

     --------------------------------------------------------------

  29.4.4. NIS/YP konfigurieren

   Dieser Abschnitt beschreibt an Hand eines Beispiels die
   Einrichtung einer NIS-Umgebung.

     --------------------------------------------------------------

    29.4.4.1. Planung

   Nehmen wir an, Sie seien der Administrator eines kleinen
   Universita:tsnetzes. Dieses Netz besteht aus fu:nfzehn
   FreeBSD-Rechnern, fu:r die derzeit keine zentrale Verwaltung
   existiert, jeder Rechner hat also eine eigene Version von
   /etc/passwd und /etc/master.passwd. Diese Dateien werden manuell
   synchron gehalten; legen Sie einen neuen Benutzer an, so muss dies
   auf allen fu:nfzehn Rechnern manuell erledigt werden (unter
   Verwendung von adduser). Da diese Lo:sung sehr ineffizient ist,
   soll das Netzwerk in Zukunft NIS verwenden, wobei zwei der Rechner
   als Server dienen sollen.

   In Zukunft soll das Netz also wie folgt aussehen:

     Rechnername       IP-Adresse             Rechneraufgabe          
   ellington        10.0.0.2          NIS-Master                      
   coltrane         10.0.0.3          NIS-Slave                       
   basie            10.0.0.4          Workstation der Fakulta:t       
   bird             10.0.0.5          Clientrechner                   
   cli[1-11]        10.0.0.[6-17]     Verschiedene andere Clients     

   Wenn Sie NIS das erste Mal einrichten, ist es ratsam, sich zuerst
   u:ber die Vorgangsweise Gedanken zu machen. Unabha:ngig von der
   Gro:sse Ihres Netzwerks mu:ssen Sie stets einige Entscheidungen
   treffen.

     --------------------------------------------------------------

      29.4.4.1.1. Einen NIS-Doma:nennamen wa:hlen

   Dies muss nicht der "Domainname" sein. Es handelt sich vielmehr um
   den "NIS-Domainnamen". Wenn ein Client Informationen anfordert,
   ist in dieser Anforderung der Name der NIS-Doma:ne enthalten.
   Dadurch weiss jeder Server im Netzwerk, auf welche Anforderung er
   antworten muss. Stellen Sie sich den NIS-Doma:nennamen als den
   Namen einer Gruppe von Rechnern vor, die etwas gemeinsam haben.

   Manchmal wird der Name der Internetdoma:ne auch fu:r die
   NIS-Doma:ne verwendet. Dies ist allerdings nicht empfehlenswert,
   da dies bei der Behebung von Problemen verwirrend sein kann. Der
   Name der NIS-Doma:ne sollte innerhalb Ihres Netzwerks einzigartig
   sein. Hilfreich ist es, wenn der Name die Gruppe der in ihr
   zusammengefassten Rechner beschreibt. Die Kunstabteilung von Acme
   Inc. ha:tte daher die NIS-Doma:ne "acme-art". Fu:r unser Beispiel
   verwenden wir den NIS-Doma:nennamen test-domain.

   Es gibt jedoch auch Betriebssysteme (vor allem SunOS), die als
   NIS-Doma:nennamen den Name der Internetdoma:ne verwenden. Wenn
   dies fu:r einen oder mehrere Rechner Ihres Netzwerks zutrifft,
   mu:ssen Sie den Namen der Internetdoma:ne als Ihren
   NIS-Doma:nennamen verwenden.

     --------------------------------------------------------------

      29.4.4.1.2. Anforderungen an den Server

   Wenn Sie einen NIS-Server einrichten wollen, mu:ssen Sie einige
   Dinge beachten. Eine unangenehme Eigenschaft von NIS ist die
   Abha:ngigkeit der Clients vom Server. Wenn sich der Client nicht
   u:ber den Server mit seiner NIS-Doma:ne verbinden kann, wird der
   Rechner oft unbenutzbar, da das Fehlen von Benutzer- und
   Gruppeninformationen zum Einfrieren des Clients fu:hrt. Daher
   sollten Sie fu:r den Server einen Rechner auswa:hlen, der nicht
   regelma:ssig neu gestartet werden muss und der nicht fu:r
   Testversuche verwendet wird. Idealerweise handelt es sich um einen
   alleinstehenden Rechner, dessen einzige Aufgabe es ist, als
   NIS-Server zu dienen. Wenn Sie ein Netzwerk haben, das nicht zu
   stark ausgelastet ist, ist es auch mo:glich, den NIS-Server als
   weiteren Dienst auf einem anderen Rechner laufen zu lassen. Denken
   Sie aber daran, dass ein Ausfall des NIS-Servers alle NIS-Clients
   betrifft.

     --------------------------------------------------------------

    29.4.4.2. NIS-Server

   Die verbindlichen Kopien aller NIS-Informationen befinden sich auf
   einem einzigen Rechner, dem NIS-Masterserver. Die Datenbanken, in
   denen die Informationen gespeichert sind, bezeichnet man als
   NIS-Maps. Unter FreeBSD werden diese Maps unter
   /var/yp/[domainname] gespeichert, wobei [domainname] der Name der
   NIS-Doma:ne ist. Ein einzelner NIS-Server kann gleichzeitig
   mehrere NIS-Doma:nen verwalten, daher ko:nnen auch mehrere
   Verzeichnisse vorhanden sein. Jede Doma:ne verfu:gt u:ber ein
   eigenes Verzeichnis sowie einen eigenen, von anderen Doma:nen
   unabha:ngigen Satz von NIS-Maps.

   NIS-Master- und Slaveserver verwenden den ypserv-Daemon, um
   NIS-Anfragen zu bearbeiten. ypserv empfa:ngt eingehende Anfragen
   der NIS-Clients, ermittelt aus der angeforderten Doma:ne und Map
   einen Pfad zur entsprechenden Datenbank, und sendet die
   angeforderten Daten von der Datenbank zum Client.

     --------------------------------------------------------------

      29.4.4.2.1. Einen NIS-Masterserver einrichten

   Abha:ngig von Ihren Anforderungen ist die Einrichtung eines
   NIS-Masterservers relativ einfach, da NIS von FreeBSD bereits in
   der Standardkonfiguration unterstu:tzt wird. Sie mu:ssen nur
   folgende Zeilen in /etc/rc.conf einfu:gen:

    1. nisdomainname="test-domain"

       Diese Zeile setzt den NIS-Doma:nennamen auf test-domain, wenn
       Sie das Netzwerk initialisieren (beispielsweise nach einem
       Systemstart).

    2. nis_server_enable="YES"

       Dadurch werden die NIS-Serverprozesse gestartet.

    3. nis_yppasswdd_enable="YES"

       Durch diese Zeile wird der rpc.yppasswdd-Daemon aktiviert,
       der, wie bereits erwa:hnt, die A:nderung von NIS-Passwo:rtern
       von einem Client aus ermo:glicht.

     Anmerkung: In Abha:ngigkeit von Ihrer NIS-Konfiguration ko:nnen
     weitere Eintra:ge erforderlich sein. Weitere Informationen
     finden Sie im Abschnitt NIS-Server, die auch als NIS-Clients
     arbeiten.

   Nun mu:ssen Sie nur noch /etc/netstart als Superuser ausfu:hren,
   um alles entsprechend Ihren Vorgaben in /etc/rc.conf einzurichten.

     --------------------------------------------------------------

      29.4.4.2.2. Die NIS-Maps initialisieren

   NIS-Maps sind Datenbanken, die sich im Verzeichnis /var/yp
   befinden. Sie werden am NIS-Masterserver aus den
   Konfigurationsdateien unter /etc erzeugt. Einzige Ausnahme:
   /etc/master.passwd. Dies ist auch sinnvoll, da Sie die Passwo:rter
   fu:r Ihr root- oder andere Administratorkonten nicht an alle
   Server der NIS-Doma:ne verteilen wollen. Bevor Sie also die
   NIS-Maps des Masterservers einrichten, sollten Sie Folgendes tun:

 # cp /etc/master.passwd /var/yp/master.passwd
 # cd /var/yp
 # vi master.passwd

   Entfernen Sie alle Systemkonten (wie bin, tty, kmem oder games),
   sowie alle Konten, die Sie nicht an die NIS-Clients weitergeben
   wollen (beispielsweise root und alle Konten mit der UID 0
   (=Superuser).

     Anmerkung: Stellen Sie sicher, dass /var/yp/master.passwd weder
     von der Gruppe noch von der Welt gelesen werden kann
     (Zugriffsmodus 600)! Ist dies nicht der Fall, a:ndern Sie dies
     mit chmod.

   Nun ko:nnen Sie die NIS-Maps initialisieren. FreeBSD verwendet
   dafu:r das Skript ypinit (lesen Sie dazu auch ypinit(8)). Dieses
   Skript ist auf fast allen UNIX-Betriebssystemen verfu:gbar. Bei
   Digitals Unix/Compaq Tru64 UNIX nennt es sich allerdings ypsetup.
   Da wir Maps fu:r einen NIS-Masterserver erzeugen, verwenden wir
   ypinit mit der Option -m. Nachdem Sie die beschriebenen Aktionen
   durchgefu:hrt haben, erzeugen Sie nun die NIS-Maps:

 ellington# ypinit -m test-domain
 Server Type: MASTER Domain: test-domain
 Creating an YP server will require that you answer a few questions.
 Questions will all be asked at the beginning of the procedure.
 Do you want this procedure to quit on non-fatal errors? [y/n: n] n
 Ok, please remember to go back and redo manually whatever fails.
 If you don't, something might not work.
 At this point, we have to construct a list of this domains YP servers.
 rod.darktech.org is already known as master server.
 Please continue to add any slave servers, one per line. When you are
 done with the list, type a <control D>.
 master server   :  ellington
 next host to add:  coltrane
 next host to add:  ^D
 The current list of NIS servers looks like this:
 ellington
 coltrane
 Is this correct?  [y/n: y] y

 [..output from map generation..]

 NIS Map update completed.
 ellington has been setup as an YP master server without any errors.

   Dadurch erzeugt ypinit /var/yp/Makefile aus der Datei
   /var/yp/Makefile.dist. Durch diese Datei wird festgelegt, dass Sie
   in einer NIS-Umgebung mit nur einem Server arbeiten und dass alle
   Clients unter FreeBSD laufen. Da test-domain aber auch u:ber einen
   Slaveserver verfu:gt, mu:ssen Sie /var/yp/Makefile entsprechend
   anpassen:

 ellington# vi /var/yp/Makefile

   Sie sollten die Zeile

 NOPUSH = "True"

   auskommentieren (falls dies nicht bereits der Fall ist).

     --------------------------------------------------------------

      29.4.4.2.3. Einen NIS-Slaveserver einrichten

   Ein NIS-Slaveserver ist noch einfacher einzurichten als ein
   Masterserver. Melden Sie sich am Slaveserver an und a:ndern Sie
   /etc/rc.conf analog zum Masterserver. Der einzige Unterschied
   besteht in der Verwendung der Option -s, wenn Sie ypinit aufrufen.
   Die Option -s erfordert den Namen des NIS-Masterservers, daher
   sieht unsere Ein- und Ausgabe wie folgt aus:

 coltrane# ypinit -s ellington test-domain

 Server Type: SLAVE Domain: test-domain Master: ellington

 Creating an YP server will require that you answer a few questions.
 Questions will all be asked at the beginning of the procedure.

 Do you want this procedure to quit on non-fatal errors? [y/n: n]  n

 Ok, please remember to go back and redo manually whatever fails.
 If you don't, something might not work.
 There will be no further questions. The remainder of the procedure
 should take a few minutes, to copy the databases from ellington.
 Transferring netgroup...
 ypxfr: Exiting: Map successfully transferred
 Transferring netgroup.byuser...
 ypxfr: Exiting: Map successfully transferred
 Transferring netgroup.byhost...
 ypxfr: Exiting: Map successfully transferred
 Transferring master.passwd.byuid...
 ypxfr: Exiting: Map successfully transferred
 Transferring passwd.byuid...
 ypxfr: Exiting: Map successfully transferred
 Transferring passwd.byname...
 ypxfr: Exiting: Map successfully transferred
 Transferring group.bygid...
 ypxfr: Exiting: Map successfully transferred
 Transferring group.byname...
 ypxfr: Exiting: Map successfully transferred
 Transferring services.byname...
 ypxfr: Exiting: Map successfully transferred
 Transferring rpc.bynumber...
 ypxfr: Exiting: Map successfully transferred
 Transferring rpc.byname...
 ypxfr: Exiting: Map successfully transferred
 Transferring protocols.byname...
 ypxfr: Exiting: Map successfully transferred
 Transferring master.passwd.byname...
 ypxfr: Exiting: Map successfully transferred
 Transferring networks.byname...
 ypxfr: Exiting: Map successfully transferred
 Transferring networks.byaddr...
 ypxfr: Exiting: Map successfully transferred
 Transferring netid.byname...
 ypxfr: Exiting: Map successfully transferred
 Transferring hosts.byaddr...
 ypxfr: Exiting: Map successfully transferred
 Transferring protocols.bynumber...
 ypxfr: Exiting: Map successfully transferred
 Transferring ypservers...
 ypxfr: Exiting: Map successfully transferred
 Transferring hosts.byname...
 ypxfr: Exiting: Map successfully transferred

 coltrane has been setup as an YP slave server without any errors.
 Don't forget to update map ypservers on ellington.

   Sie sollten nun u:ber das Verzeichnis /var/yp/test-domain
   verfu:gen. Die Kopien der NIS-Masterserver-Maps sollten sich in
   diesem Verzeichnis befinden. Allerdings mu:ssen Sie diese auch
   aktuell halten. Die folgenden Eintra:ge in /etc/crontab erledigen
   diese Aufgabe:

 20      *       *       *       *       root   /usr/libexec/ypxfr passwd.byname
 21      *       *       *       *       root   /usr/libexec/ypxfr passwd.byuid

   Diese zwei Zeilen zwingen den Slaveserver, seine Maps mit denen
   des Masterservers zu synchronisieren. Diese Eintra:ge sind nicht
   zwingend, da der Masterserver versucht, alle A:nderungen seiner
   NIS-Maps an seine Slaveserver weiterzugeben. Da
   Passwortinformationen aber fu:r vom Server abha:ngige Systeme
   vital sind, ist es eine gute Idee, diese Aktualisierungen zu
   erzwingen. Besonders wichtig ist dies in stark ausgelasteten
   Netzen, in denen Map-Aktualisierungen unvollsta:ndig sein
   ko:nnten.

   Fu:hren Sie nun /etc/netstart auch auf dem Slaveserver aus, um den
   NIS-Server erneut zu starten.

     --------------------------------------------------------------

    29.4.4.3. NIS-Clients

   Ein NIS-Client bindet sich unter Verwendung des ypbind-Daemons an
   einen NIS-Server. ypbind pru:ft die Standarddoma:ne des Systems
   (die durch domainname gesetzt wird), und beginnt RPCs u:ber das
   lokale Netzwerk zu verteilen (broadcast). Diese Anforderungen
   legen den Namen der Doma:ne fest, fu:r die ypbind eine Bindung
   erzeugen will. Wenn der Server der entsprechenden Doma:ne eine
   solche Anforderung erha:lt, schickt er eine Antwort an ypbind.
   ybind speichert daraufhin die Adresse des Servers. Wenn mehrere
   Server verfu:gbar sind (beispielsweise ein Master- und mehrere
   Slaveserver), verwendet ypbind die erste erhaltene Adresse. Ab
   diesem Zeitpunkt richtet der Client alle Anfragen an genau diesen
   Server. ypbind "pingt" den Server gelegentlich an, um
   sicherzustellen, dass der Server funktioniert. Antwortet der
   Server innerhalb eines bestimmten Zeitraums nicht (Timeout),
   markiert ypbind die Doma:ne als ungebunden und beginnt erneut,
   RPCs u:ber das Netzwerk zu verteilen, um einen anderen Server zu
   finden.

     --------------------------------------------------------------

      29.4.4.3.1. Einen NIS-Client konfigurieren

   Einen FreeBSD-Rechner als NIS-Client einzurichten, ist recht
   einfach.

    1. Fu:gen Sie folgende Zeilen in /etc/rc.conf ein, um den
       NIS-Doma:nennamen festzulegen, und um ypbind bei der
       Initialisierung des Netzwerks zu starten:

 nisdomainname="test-domain"
 nis_client_enable="YES"

    2. Um alle Passworteintra:ge des NIS-Servers zu importieren,
       lo:schen Sie alle Benutzerkonten in /etc/master.passwd und
       fu:gen mit vipw folgende Zeile am Ende der Datei ein:

 +:::::::::

         Anmerkung: Diese Zeile legt fu:r alle gu:ltigen
         Benutzerkonten der NIS-Server-Maps einen Zugang an. Es gibt
         verschiedene Wege, Ihren NIS-Client durch A:nderung dieser
         Zeile zu konfigurieren. Lesen Sie dazu auch den Abschnitt
         u:ber Netzgruppen weiter unten. Weitere detaillierte
         Informationen finden Sie im Buch Managing NFS and NIS von
         O'Reilly.

         Anmerkung: Sie sollten zumindest ein lokales Benutzerkonto,
         das nicht u:ber NIS importiert wird, in Ihrer
         /etc/master.passwd behalten. Dieser Benutzer sollte
         ausserdem ein Mitglied der Gruppe wheel sein. Wenn es mit
         NIS Probleme gibt, ko:nnen Sie diesen Zugang verwenden, um
         sich anzumelden, root zu werden und das Problem zu beheben.

    3. Um alle mo:glichen Gruppeneintra:ge vom NIS-Server zu
       importieren, fu:gen sie folgende Zeile in /etc/group ein:

 +:*::

   Nachdem Sie diese Schritte erledigt haben, sollten Sie mit ypcat
   passwd die passwd-Map des NIS-Servers anzeigen ko:nnen.

     --------------------------------------------------------------

  29.4.5. Sicherheit unter NIS

   Im Allgemeinen kann jeder entfernte Anwender einen RPC an
   ypserv(8) schicken, um den Inhalt Ihrer NIS-Maps abzurufen, falls
   er Ihren NIS-Doma:nennamen kennt. Um solche unautorisierten
   Transaktionen zu verhindern, unterstu:tzt ypserv(8) "securenets",
   durch die man den Zugriff auf bestimmte Rechner beschra:nken kann.
   ypserv(8) versucht, beim Systemstart die Informationen u:ber
   securenets aus der Datei /var/yp/securenets zu laden.

     Anmerkung: Die Datei securenets kann auch in einem anderen
     Verzeichnis stehen, das mit der Option -p angegeben wird. Diese
     Datei entha:lt Eintra:ge, die aus einer Netzwerkadresse und
     einer Netzmaske bestehen, die durch Leerzeichen getrennt werden.
     Kommentarzeilen beginnen mit "#". /var/yp/securnets ko:nnte
     beispielsweise so aussehen:

 # allow connections from local host -- mandatory
 127.0.0.1     255.255.255.255
 # allow connections from any host
 # on the 192.168.128.0 network
 192.168.128.0 255.255.255.0
 # allow connections from any host
 # between 10.0.0.0 to 10.0.15.255
 # this includes the machines in the testlab
 10.0.0.0      255.255.240.0

   Wenn ypserv(8) eine Anforderung von einer zu diesen Regeln
   passenden Adresse erha:lt, wird die Anforderung bearbeitet. Gibt
   es keine passende Regel, wird die Anforderung ignoriert und eine
   Warnmeldung aufgezeichnet. Wenn /var/yp/securenets nicht vorhanden
   ist, erlaubt ypserv Verbindungen von jedem Rechner aus.

   ypserv unterstu:tzt auch das TCP-Wrapper-Paket von Wietse Venema.
   Mit diesem Paket kann der Administrator fu:r Zugriffskontrollen
   die Konfigurationsdateien von TCP-Wrapper anstelle von
   /var/yp/securenets verwenden.

     Anmerkung: Wa:hrend beide Kontrollmechanismen einige Sicherheit
     gewa:hren, beispielsweise durch privilegierte Ports, sind sie
     gegenu:ber "IP spoofing"-Attacken verwundbar. Jeder NIS-Verkehr
     sollte daher von Ihrer Firewall blockiert werden.

     Server, die /var/yp/securenets verwenden, ko:nnen
     Schwierigkeiten bei der Anmeldung von Clients haben, die ein
     veraltetes TCP/IP-Subsystem besitzen. Einige dieser
     TCP/IP-Subsysteme setzen alle Rechnerbits auf Null, wenn Sie
     einen Broadcast durchfu:hren und/oder ko:nnen die Subnetzmaske
     nicht auslesen, wenn sie die Broadcast-Adresse berechnen. Einige
     Probleme ko:nnen durch A:nderungen der Clientkonfiguration
     behoben werden. Andere hingegen lassen sich nur durch das
     Entfernen des betreffenden Rechners aus dem Netzwerk oder den
     Verzicht auf /var/yp/securenets umgehen.

     Die Verwendung von /var/yp/securenets auf einem Server mit einem
     solch veralteten TCP/IP-Subsystem ist eine sehr schlechte Idee,
     die zu einem Verlust der NIS-Funktionalita:t fu:r grosse Teile
     Ihres Netzwerks fu:hren kann.

     Die Verwendung der TCP-Wrapper verlangsamt die Reaktion Ihres
     NIS-Servers. Diese zusa:tzliche Reaktionszeit kann in
     Clientprogrammen zu Timeouts fu:hren. Dies vor allem in
     Netzwerken, die stark ausgelastet sind, oder nur u:ber langsame
     NIS-Server verfu:gen. Wenn ein oder mehrere Ihrer Clientsysteme
     dieses Problem aufweisen, sollten Sie die betreffenden Clients
     in NIS-Slaveserver umwandeln, und diese an sich selbst binden.

     --------------------------------------------------------------

  29.4.6. Bestimmte Benutzer an der Anmeldung hindern

   In unserem Labor gibt es den Rechner basie, der nur fu:r
   Mitarbeiter der Fakulta:t bestimmt ist. Wir wollen diesen Rechner
   nicht aus der NIS-Doma:ne entfernen, obwohl passwd des
   NIS-Masterservers Benutzerkonten sowohl fu:r Fakulta:tsmitarbeiter
   als auch fu:r Studenten entha:lt. Was ko:nnen wir also tun?

   Es gibt eine Mo:glichkeit, bestimmte Benutzer an der Anmeldung an
   einem bestimmten Rechner zu hindern, selbst wenn diese in der
   NIS-Datenbank vorhanden sind. Dazu mu:ssen Sie lediglich an diesem
   Rechner den Eintrag -Benutzername an das Ende von
   /etc/master.passwd setzen, wobei Benutzername der zu blockierende
   Benutzername ist. Diese A:nderung sollte bevorzugt durch vipw
   erledigt werden, da vipw Ihre A:nderungen an /etc/master.passwd
   auf Plausibilita:t u:berpru:ft und nach erfolgter A:nderung die
   Passwortdatenbank automatisch aktualisiert. Um also den Benutzer
   bill an der Anmeldung am Rechner basie zu hindern, gehen wir wie
   folgt vor:

 basie# vipw
 [add -bill to the end, exit]
 vipw: rebuilding the database...
 vipw: done

 basie# cat /etc/master.passwd

 root:[password]:0:0::0:0:The super-user:/root:/bin/csh
 toor:[password]:0:0::0:0:The other super-user:/root:/bin/sh
 daemon:*:1:1::0:0:Owner of many system processes:/root:/sbin/nologin
 operator:*:2:5::0:0:System &:/:/sbin/nologin
 bin:*:3:7::0:0:Binaries Commands and Source,,,:/:/sbin/nologin
 tty:*:4:65533::0:0:Tty Sandbox:/:/sbin/nologin
 kmem:*:5:65533::0:0:KMem Sandbox:/:/sbin/nologin
 games:*:7:13::0:0:Games pseudo-user:/usr/games:/sbin/nologin
 news:*:8:8::0:0:News Subsystem:/:/sbin/nologin
 man:*:9:9::0:0:Mister Man Pages:/usr/share/man:/sbin/nologin
 bind:*:53:53::0:0:Bind Sandbox:/:/sbin/nologin
 uucp:*:66:66::0:0:UUCP pseudo-user:/var/spool/uucppublic:/usr/libexec/uucp/uucico
 xten:*:67:67::0:0:X-10 daemon:/usr/local/xten:/sbin/nologin
 pop:*:68:6::0:0:Post Office Owner:/nonexistent:/sbin/nologin
 nobody:*:65534:65534::0:0:Unprivileged user:/nonexistent:/sbin/nologin
 +:::::::::
 -bill

 basie#

     --------------------------------------------------------------

  29.4.7. Netzgruppen verwenden

   Beigetragen von Udo Erdelhoff.

   Die im letzten Abschnitt beschriebene Methode eignet sich
   besonders, wenn Sie spezielle Regeln fu:r wenige Benutzer oder
   wenige Rechner beno:tigen. In grossen Netzwerken werden Sie
   allerdings mit Sicherheit vergessen, einige Benutzer von der
   Anmeldung an bestimmten Rechnern auszuschliessen. Oder Sie werden
   gezwungen sein, jeden Rechner einzeln zu konfigurieren. Dadurch
   verlieren Sie aber den Hauptvorteil von NIS, die zentrale
   Verwaltung.

   Die Lo:sung fu:r dieses Problem sind Netzgruppen. Ihre Aufgabe und
   Bedeutung ist vergleichbar mit normalen, von UNIX-Dateisystemen
   verwendeten Gruppen. Die Hauptunterschiede sind das Fehlen einer
   numerischen ID sowie die Mo:glichkeit, Netzgruppen zu definieren,
   die sowohl Benutzer als auch andere Netzgruppen enthalten.

   Netzgruppen wurden entwickelt, um grosse, komplexe Netzwerke mit
   Hunderten Benutzern und Rechnern zu verwalten. Sie sind also von
   Vorteil, wenn Sie von dieser Situation betroffen sind.
   Andererseits ist es dadurch beinahe unmo:glich, Netzgruppen mit
   einfachen Beispielen zu erkla:ren. Das hier verwendete Beispiel
   veranschaulicht dieses Problem.

   Nehmen wir an, dass Ihre erfolgreiche Einfu:hrung von NIS die
   Aufmerksamkeit Ihrer Vorgesetzten geweckt hat. Ihre na:chste
   Aufgabe besteht nun darin, Ihre NIS-Doma:ne um zusa:tzliche
   Rechner zu erweitern. Die folgenden Tabellen enthalten die neuen
   Benutzer und Rechner inklusive einer kurzen Beschreibung.

         Benutzername(n)                    Beschreibung              
   alpha, beta                 Bescha:ftigte der IT-Abteilung         
   charlie, delta              Die neuen Lehrlinge der IT-Abteilung   
   echo, foxtrott, golf, ...   Normale Mitarbeiter                    
   able, baker, ...            Externe Mitarbeiter                    

         Rechnername(n)                    Beschreibung               
   war, death, famine,        Ihre wichtigsten Server. Nur            
   pollution                  IT-Fachleute du:rfen sich an diesen     
                              Rechnern anmelden.                      
   pride, greed, envy, wrath, Weniger wichtige Server. Alle           
   lust, sloth                Mitarbeiter der IT-Abteilung du:rfen    
                              sich auf diesen Rechnern anmelden.      
                              Gewo:hnliche Arbeitsrechner. Nur die    
   one, two, three, four, ... wirklichen Mitarbeiter du:rfen diese    
                              Rechner verwenden.                      
                              Ein sehr alter Rechner ohne kritische   
   trashcan                   Daten. Sogar externe Mitarbeiter        
                              du:rfen diesen Rechner verwenden.       

   Wollten Sie diese Einschra:nkungen umsetzen, indem Sie jeden
   Benutzer einzeln blockieren, mu:ssten Sie auf jedem System fu:r
   jeden Benutzer eine entsprechende Zeile in passwd einfu:gen. Wenn
   Sie nur einen Eintrag vergessen, haben Sie ein Problem. Es mag
   noch angehen, dies wa:hrend der ersten Installation zu erledigen,
   im ta:glichen Betrieb werden Sie allerdings mit Sicherheit einmal
   vergessen, die entsprechenden Eintra:ge anzulegen. Vergessen Sie
   nicht: Murphy war Optimist.

   Die Verwendung von Netzgruppen hat in dieser Situation mehrere
   Vorteile. Sie mu:ssen nicht jeden Benutzer einzeln verwalten;
   weisen Sie stattdessen den Benutzer einer Netzgruppe zu und
   erlauben oder verbieten Sie allen Mitglieder dieser Gruppe die
   Anmeldung an einem Server. Wenn Sie einen neuen Rechner
   hinzufu:gen, mu:ssen Sie Zugangsbeschra:nkungen nur fu:r die
   Netzgruppen festlegen. Legen Sie einen neuen Benutzer an, mu:ssen
   Sie ihn nur einer oder mehrere Netzgruppen zuweisen. Diese
   Vera:nderungen sind voneinander unabha:ngig; Anweisungen der Form
   "fu:r diese Kombination aus Benutzer und Rechner mache Folgendes
   ..." sind nicht mehr no:tig. Wenn Sie die Einrichtung von NIS
   sorgfa:ltig geplant haben, mu:ssen Sie nur noch eine zentrale
   Konfigurationsdatei bearbeiten, um den Zugriff auf bestimmte
   Rechner zu erlauben oder zu verbieten.

   Der erste Schritt ist die Initialisierung der NIS-Maps der
   Netzgruppe. ypinit(8) kann dies unter FreeBSD nicht automatisch
   durchfu:hren. Sind die Maps aber erst einmal erzeugt, werden sie
   jedoch von NIS problemlos unterstu:tzt. Um eine leere Map zu
   erzeugen, geben Sie Folgendes ein:

 ellington# vi /var/yp/netgroup

   Danach legen Sie die Eintra:ge an. Fu:r unser Beispiel beno:tigen
   wir mindestens vier Netzgruppen: IT-Bescha:ftige, IT-Lehrlinge,
   normale Bescha:ftigte sowie Externe.

 IT_EMP  (,alpha,test-domain)    (,beta,test-domain)
 IT_APP  (,charlie,test-domain)  (,delta,test-domain)
 USERS   (,echo,test-domain)     (,foxtrott,test-domain) \
         (,golf,test-domain)
 INTERNS (,able,test-domain)     (,baker,test-domain)

   Bei IT_EMP, IT_APP usw. handelt es sich um Netzgruppennamen. In
   den Klammern werden diesen Netzgruppen jeweils ein oder mehrere
   Benutzerkonten hinzugefu:gt. Die drei Felder in der Klammer haben
   folgende Bedeutung:

    1. Der Name des Rechners, auf dem die folgenden Werte gu:ltig
       sind. Legen Sie keinen Rechnernamen fest, ist der Eintrag auf
       allen Rechnern gu:ltig. Dadurch gehen Sie vielen Problemen aus
       dem Weg.

    2. Der Name des Benutzerkontos, der zu dieser Netzgruppe geho:rt.

    3. Die NIS-Doma:ne fu:r das Benutzerkonto. Sie ko:nnen
       Benutzerkonten von anderen NIS-Doma:nen in Ihre Netzgruppe
       importieren, wenn Sie mehrere NIS-Doma:nen verwalten.

   Jedes Feld kann Wildcards enthalten. Die Einzelheiten entnehmen
   Sie bitte netgroup(5).

     Anmerkung: Netzgruppennamen sollten nicht la:nger als 8 Zeichen
     sein, vor allem dann, wenn Sie Rechner mit verschiedenen
     Betriebssystemen in Ihrer NIS-Doma:ne haben. Es wird zwischen
     Gross- und Kleinschreibung unterschieden. Die Verwendung von
     Grossbuchstaben fu:r Netzgruppennamen ermo:glicht eine leichte
     Unterscheidung zwischen Benutzern, Rechnern und Netzgruppen.

     Einige NIS-Clients (dies gilt nicht fu:r FreeBSD) ko:nnen keine
     Netzgruppen mit einer grossen Anzahl von Eintra:gen verwalten.
     Einige a:ltere Versionen von SunOS haben beispielsweise
     Probleme, wenn Netzgruppen mehr als fu:nfzehn Eintra:ge
     enthalten. Sie ko:nnen dieses Problem umgehen, indem Sie mehrere
     Subnetzgruppen mit weniger als fu:nfzehn Benutzern anlegen und
     diese Subnetzgruppen wiederum in einer Netzgruppe
     zusammenfassen:

 BIGGRP1  (,joe1,domain)  (,joe2,domain)  (,joe3,domain) [...]
 BIGGRP2  (,joe16,domain)  (,joe17,domain) [...]
 BIGGRP3  (,joe31,domain)  (,joe32,domain)
 BIGGROUP  BIGGRP1 BIGGRP2 BIGGRP3

     Sie ko:nnen diesen Vorgang wiederholen, wenn Sie mehr als 255
     Benutzer in einer einzigen Netzgruppe beno:tigen.

   Das Aktivieren und Verteilen Ihre neuen NIS-Map ist einfach:

 ellington# cd /var/yp
 ellington# make

   Dadurch werden die NIS-Maps netgroup, netgroup.byhost und
   netgroup.byuser erzeugt. Pru:fen Sie die Verfu:gbarkeit Ihrer
   neuen NIS-Maps mit ypcat(1).

 ellington% ypcat -k netgroup
 ellington% ypcat -k netgroup.byhost
 ellington% ypcat -k netgroup.byuser

   Die Ausgabe des ersten Befehls gibt den Inhalt von
   /var/yp/netgroup wieder. Der zweite Befehl erzeugt nur dann eine
   Ausgabe, wenn Sie rechnerspezifische Netzgruppen erzeugt haben.
   Der dritte Befehl gibt die Netzgruppen nach Benutzern sortiert
   aus.

   Die Einrichtung der Clients ist einfach. Sie mu:ssen lediglich auf
   dem Server war vipw(8) aufrufen und die Zeile

 +:::::::::

   durch

 +@IT_EMP:::::::::

   ersetzen.

   Ab sofort werden nur noch die Daten der in der Netzgruppe IT_EMP
   vorhandenen Benutzer in die Passwortdatenbank von war importiert.
   Nur diese Benutzer du:rfen sich am Server anmelden.

   Unglu:cklicherweise gilt diese Einschra:nkung auch fu:r die
   ~-Funktion der Shell und fu:r alle Routinen, die auf Benutzernamen
   und numerische Benutzer-IDs zugreifen. Oder anders formuliert, cd
   ~user ist nicht mo:glich, ls -l zeigt die numerische Benutzer-ID
   statt dem Benutzernamen und find . -user joe -print erzeugt die
   Fehlermeldung "No such user". Um dieses Problem zu beheben,
   mu:ssen Sie alle Benutzereintra:ge importieren, ohne ihnen jedoch
   zu erlauben, sich an Ihrem Server anzumelden.

   Dazu fu:gen Sie eine weitere Zeile in /etc/master.passwd ein.
   Diese Zeile sollte a:hnlich der folgenden aussehen:

   +:::::::::/sbin/nologin, was in etwa "Importiere alle Eintra:ge,
   aber ersetze die Shell in den importierten Eintra:gen durch
   /sbin/nologin" entspricht. Sie ko:nnen jedes Feld dieses Eintrages
   ersetzen, indem Sie einen Standardwert in /etc/master.passwd
   eintragen.

     Warnung: Stellen Sie sicher, dass die Zeile
     +:::::::::/sbin/nologin nach der Zeile +@IT_EMP:::::::::
     eingetragen ist. Sonst haben alle via NIS importierten
     Benutzerkonten /sbin/nologin als Loginshell.

   Danach mu:ssen Sie nur mehr eine einzige NIS-Map a:ndern, wenn ein
   neuer Mitarbeiter beru:cksichtigt werden muss. Fu:r weniger
   wichtige Server gehen Sie analog vor, indem Sie den alten Eintrag
   +::::::::: in den lokalen Versionen von /etc/master.passwd durch
   folgende Eintra:ge ersetzen:

 +@IT_EMP:::::::::
 +@IT_APP:::::::::
 +:::::::::/sbin/nologin

   Die entsprechenden Zeilen fu:r normale Arbeitspla:tze lauten:

 +@IT_EMP:::::::::
 +@USERS:::::::::
 +:::::::::/sbin/nologin

   Ab jetzt wa:re alles wunderbar, allerdings a:ndert sich kurz
   darauf die Firmenpolitik: Die IT-Abteilung beginnt damit, externe
   Mitarbeiter zu bescha:ftigen. Externe du:rfen sich an normalen
   Arbeitspla:tzen sowie an den weniger wichtigen Servern anmelden.
   Die IT-Lehrlinge du:rfen sich nun auch an den Hauptservern
   anmelden. Sie legen also die neue Netzgruppe IT_INTERN an, weisen
   Ihr die neuen IT-Externen als Benutzer zu und beginnen damit, die
   Konfiguration auf jedem einzelnen Rechner zu a:ndern ... Halt. Sie
   haben gerade die alte Regel "Fehler in der zentralisierten Planung
   fu:hren zu globaler Verwirrung." besta:tigt.

   Da NIS in der Lage ist, Netzgruppen aus anderen Netzgruppen zu
   bilden, lassen sich solche Situationen leicht vermeiden. Eine
   Mo:glichkeit ist die Erzeugung rollenbasierter Netzgruppen. Sie
   ko:nnten eine Netzgruppe BIGSRV erzeugen, um den Zugang zu den
   wichtigsten Servern zu beschra:nken, eine weitere Gruppe SMALLSRV
   fu:r die weniger wichtigen Server und eine dritte Netzgruppe
   USERBOX fu:r die normalen Arbeitsplatzrechner. Jede dieser
   Netzgruppen entha:lt die Netzgruppen, die sich auf diesen Rechnern
   anmelden du:rfen. Die Eintra:ge der Netzgruppen in der NIS-Map
   sollten a:hnlich den folgenden aussehen:

 BIGSRV    IT_EMP  IT_APP
 SMALLSRV  IT_EMP  IT_APP  ITINTERN
 USERBOX   IT_EMP  ITINTERN USERS

   Diese Methode funktioniert besonders gut, wenn Sie Rechner in
   Gruppen mit identischen Beschra:nkungen einteilen ko:nnen.
   Unglu:cklicherweise ist dies die Ausnahme und nicht die Regel.
   Meistens werden Sie die Mo:glichkeit zur rechnerspezischen
   Zugangsbeschra:nkung beno:tigen.

   Rechnerspezifische Netzgruppen sind die zweite Mo:glichkeit, um
   mit den oben beschriebenen A:nderungen umzugehen. In diesem
   Szenario entha:lt /etc/master.passwd auf jedem Rechner zwei mit
   "+" beginnende Zeilen. Die erste Zeile legt die Netzgruppe mit den
   Benutzern fest, die sich auf diesem Rechner anmelden du:rfen. Die
   zweite Zeile weist allen anderen Benutzern /sbin/nologin als Shell
   zu. Verwenden Sie auch hier (analog zu den Netzgruppen)
   Grossbuchstaben fu:r die Rechnernamen. Die Zeilen sollten also
   a:hnlich den folgenden aussehen:

 +@BOXNAME:::::::::
 +:::::::::/sbin/nologin

   Wenn Sie dies fu:r alle Rechner erledigt haben, werden Sie die
   lokalen Versionen von /etc/master.passwd nie mehr vera:ndern
   mu:ssen. Alle weiteren A:nderungen geschehen u:ber die NIS-Maps.
   Nachfolgend ein Beispiel fu:r eine mo:gliche Netzgruppen-Map, die
   durch einige Besonderheiten erweitert wurde:

 # Define groups of users first
 IT_EMP    (,alpha,test-domain)    (,beta,test-domain)
 IT_APP    (,charlie,test-domain)  (,delta,test-domain)
 DEPT1     (,echo,test-domain)     (,foxtrott,test-domain)
 DEPT2     (,golf,test-domain)     (,hotel,test-domain)
 DEPT3     (,india,test-domain)    (,juliet,test-domain)
 ITINTERN  (,kilo,test-domain)     (,lima,test-domain)
 D_INTERNS (,able,test-domain)     (,baker,test-domain)
 #
 # Now, define some groups based on roles
 USERS     DEPT1   DEPT2     DEPT3
 BIGSRV    IT_EMP  IT_APP
 SMALLSRV  IT_EMP  IT_APP    ITINTERN
 USERBOX   IT_EMP  ITINTERN  USERS
 #
 # And a groups for a special tasks
 # Allow echo and golf to access our anti-virus-machine
 SECURITY  IT_EMP  (,echo,test-domain)  (,golf,test-domain)
 #
 # machine-based netgroups
 # Our main servers
 WAR       BIGSRV
 FAMINE    BIGSRV
 # User india needs access to this server
 POLLUTION  BIGSRV  (,india,test-domain)
 #
 # This one is really important and needs more access restrictions
 DEATH     IT_EMP
 #
 # The anti-virus-machine mentioned above
 ONE       SECURITY
 #
 # Restrict a machine to a single user
 TWO       (,hotel,test-domain)
 # [...more groups to follow]
      

   Wenn Sie eine Datenbank verwenden, um Ihre Benutzerkonten zu
   verwalten, sollten Sie den ersten Teil der NIS-Map mit Ihren
   Datenbanktools erstellen ko:nnen. Auf diese Weise haben neue
   Benutzer automatisch Zugriff auf die Rechner.

   Eine letzte Warnung: Es ist nicht immer ratsam, rechnerbasierte
   Netzgruppen zu verwenden. Wenn Sie Dutzende oder gar Hunderte
   identische Rechner einrichten mu:ssen, sollten Sie rollenbasierte
   Netzgruppen verwenden, um die Gro:sse der NISs-Maps in Grenzen zu
   halten.

     --------------------------------------------------------------

  29.4.8. Weitere wichtige Punkte

   Nachdem Sie Ihre NIS-Umgebung eingerichtet haben, mu:ssen Sie
   einige Dinge anders als bisher erledigen.

     * Jedes Mal, wenn Sie einen neuen Benutzer anlegen wollen, tun
       Sie dies ausschliesslich am NIS-Masterserver. Ausserdem
       mu:ssen Sie anschliessend die NIS-Maps neu erzeugen. Wenn Sie
       diesen Punkt vergessen, kann sich der neue Benutzer nur am
       NIS-Masterserver anmelden. Wenn Sie also den neuen Benutzer
       jsmith anlegen, gehen Sie folgerndermassen vor:

 # pw useradd jsmith
 # cd /var/yp
 # make test-domain

       Statt pw useradd jsmith ko:nnten Sie auch adduser jsmith
       verwenden.

     * Tragen Sie die Administratorkonten nicht in die NIS-Maps ein.
       Administratorkonten und Passwo:rter du:rfen nicht auf Rechnern
       verbreitet werden, auf denen sich Benutzer anmelden ko:nnen,
       die auf diese Konten keine Zugriff haben sollen.

     * Sichern Sie die NIS-Master- und Slaveserver und minimieren Sie
       die Ausfallzeiten. Wenn diese Rechner gehackt oder einfach nur
       ausgeschaltet werden, haben viele Leute keinen Netzwerkzugriff
       mehr.

       Dies ist die gro:sste Schwa:che jeder zentralen Verwaltung.
       Wenn Sie Ihre NIS-Server nicht schu:tzen, werden Sie viele
       vera:rgerte Anwender haben.

     --------------------------------------------------------------

  29.4.9. Kompatibilita:t zu NIS v1

   ypserv unterstu:tzt NIS v1 unter FreeBSD nur eingeschra:nkt. Die
   NIS-Implementierung von FreeBSD verwendet nur NIS v2, andere
   Implementierungen unterstu:tzen aus Gru:nden der
   Abwa:rtskompatibilita:t mit a:lteren Systemen auch NIS v1. Die mit
   diesen Systemen gelieferten ypbind-Daemonen versuchen, sich an
   einen NIS-v1-Server zu binden (Dies selbst dann, wenn sie ihn nie
   beno:tigen. Ausserdem versuchen Sie auch dann, einen v1-Server zu
   erreichen, wenn Sie zuvor eine Antwort von einem v2-Server
   erhalten.). Wa:hrend normale Clientaufrufe unter FreeBSD
   unterstu:tzt werden, sind Anforderungen zum Transfer von v1-Maps
   nicht mo:glich. Daher kann FreeBSD nicht als Client oder Server
   verwendet werden, wenn ein NIS-Server vorhanden ist, der nur NIS
   v1 unterstu:tzt. Glu:cklicherweise sollte es heute keine Server
   mehr geben, die nur NIS v1 unterstu:tzen.

     --------------------------------------------------------------

  29.4.10. NIS-Server, die auch als NIS-Clients arbeiten

   Wenn Sie ypserv in einer Multi-Serverdoma:ne verwenden, in der
   NIS-Server gleichzeitig als NIS-Clients arbeiten, ist es eine gute
   Idee, diese Server zu zwingen, sich an sich selbst zu binden.
   Damit wird verhindert, dass Bindeanforderungen gesendet werden und
   sich die Server gegenseitig binden. Sonst ko:nnten seltsame Fehler
   auftreten, wenn ein Server ausfa:llt, auf den andere Server
   angewiesen sind. Letztlich werden alle Clients einen Timeout
   melden, und versuchen, sich an andere Server zu binden. Die
   dadurch entstehende Verzo:gerung kann betra:chtlich sein.
   Ausserdem kann der Fehler erneut auftreten, da sich die Server
   wiederum aneinander binden ko:nnten.

   Sie ko:nnen einen Rechner durch die Verwendung von ypbind sowie
   der Option -S zwingen, sich an einen bestimmten Server zu binden.
   Um diesen Vorgang zu automatisieren, ko:nnen Sie folgende Zeilen
   in /etc/rc.conf einfu:gen:

 nis_client_enable="YES" # run client stuff as well
 nis_client_flags="-S NIS domain,server"

   Lesen Sie ypbind(8), wenn Sie weitere Informationen beno:tigen.

     --------------------------------------------------------------

  29.4.11. Passwortformate

   Unterschiedliche Passwortformate sind das Hauptproblem, das beim
   Einrichten eines NIS-Servers auftreten kann. Wenn der NIS-Server
   mit DES verschlu:sselte Passwo:rter verwendet, werden nur Clients
   unterstu:tzt, die ebenfalls DES benutzen. Wenn sich auf Ihrem
   Netzwerk beispielsweise Solaris NIS-Clients befinden, mu:ssen die
   Passwo:rter mit DES verschlu:sselt werden.

   Welches Format die Server und Clients verwenden, steht in
   /etc/login.conf. Wenn ein System Passwo:rter mit DES
   verschlu:sselt, entha:lt die default-Klasse einen Eintrag wie den
   folgenden:

 default:\
         :passwd_format=des:\
         :copyright=/etc/COPYRIGHT:\
         [weitere Eintra:ge]

   Mo:gliche Werte fu:r passwd_format sind unter anderem blf und md5
   (mit Blowfish und MD5 verschlu:sselte Passwo:rter).

   Wenn die Datei /etc/login.conf gea:ndert wird, muss die
   Login-Capability Datenbank neu erstellt werden. Geben Sie dazu als
   root den folgenden Befehl ein:

 # cap_mkdb /etc/login.conf

     Anmerkung: Das Format der schon in /etc/master.passwd
     befindlichen Passwo:rter wird erst aktualisiert, wenn ein
     Benutzer sein Passwort a:ndert, nachdem die Datenbank neu
     erstellt wurde.

   Damit die Passwo:rter auch im gewa:hlten Format abgespeichert
   werden, muss mit crypt_default in der Datei /etc/auth.conf die
   richtige Priorita:t der Formate eingestellt werden. Das gewa:hlte
   Format sollte als Erstes in der Liste stehen. Sollen die
   Passwo:rter mit DES verschlu:sselt werden, verwenden Sie den
   folgenden Eintrag:

 crypt_default   =       des blf md5

   Wenn Sie alle FreeBSD NIS-Server und NIS-Clients entsprechend den
   obigen Schritten eingestellt haben, wird im ganzen Netzwerk
   dasselbe Passwortformat verwendet. Falls Sie Probleme mit der
   Authentifizierung eines NIS-Clients haben, kontrollieren Sie die
   verwendeten Passwortformate. In einer heterogenen Umgebung werden
   Sie DES benutzen mu:ssen, da dies der meist unterstu:tzte Standard
   ist.

     --------------------------------------------------------------

29.5. Automatische Netzwerkkonfiguration mit DHCP

   Geschrieben von Greg Sutter.

  29.5.1. Was ist DHCP?

   U:ber DHCP, das Dynamic Host Configuration Protocol, kann sich ein
   System mit einem Netzwerk verbinden und die fu:r die Kommunikation
   mit diesem Netzwerk no:tigen Informationen beziehen.
   FreeBSD-Versionen vor 6.0 verwenden die
   DHCP-Client-Implementierung (dhclient(8)) von ISC (Internet
   Software Consortium). Ab 6.0 wird der von OpenBSD 3.7 stammende
   dhclient zum Einsatz kommen. Die Informationen in diesem Abschnitt
   beziehen sich daher sowohl auf den dhclient von ISC als auch auf
   den von OpenBSD. Als DHCP-Server wird in beiden Fa:llen der
   DHCP-Server der ISC-Distribution verwendet.

     --------------------------------------------------------------

  29.5.2. U:bersicht

   Dieser Abschnitt beschreibt sowohl die Clientseite des ISC- als
   auch des OpenBSD-Clients sowie die Serverseite des DHCP-Systems
   von ISC. Das Clientprogramm dhclient ist in FreeBSD integriert,
   das Serverprogramm kann u:ber den Port net/isc-dhcp3-server
   installiert werden. Weiter Informationen finden Sie in
   dhclient(8), dhcp-options(5) sowie dhclient.conf(5).

     --------------------------------------------------------------

  29.5.3. Wie funktioniert DHCP?

   Der DHCP-Client dhclient beginnt von einem Clientrechner aus u:ber
   den UDP-Port 68 Konfigurationsinformationen anzufordern. Der
   Server antwortet auf dem UDP-Port 67, indem er dem Client eine
   IP-Adresse zuweist und ihm weitere wichtige Informationen u:ber
   das Netzwerk, wie Netzmasken, Router und DNS-Server mitteilt.
   Diese Informationen werden als DHCP-Lease bezeichnet und sind nur
   fu:r eine bestimmte Zeit, die vom Administrator des DHCP-Servers
   vorgegeben wird, gu:ltig. Dadurch fallen verwaiste IP-Adressen,
   deren Clients nicht mehr mit dem Netzwerk verbunden sind,
   automatisch an den Server zuru:ck.

   DHCP-Clients ko:nnen sehr viele Informationen von einem
   DHCP-Server erhalten. Eine ausfu:hrliche Liste finden Sie in
   dhcp-options(5).

     --------------------------------------------------------------

  29.5.4. Integration in FreeBSD

   In Abha:ngigkeit von der eingesetzten FreeBSD-Version wird
   entweder der ISC-DHCP-Client oder der DHCP-Client von OpenBSD in
   FreeBSD integriert. Sowohl wa:hrend der Installation als auch im
   Basissystem steht der DHCP-Client zur Verfu:gung. In Netzen mit
   DHCP-Servern wird dadurch die Konfiguration von Systemen erheblich
   vereinfacht. dhclient ist seit der Version 3.2 in FreeBSD
   enthalten.

   DHCP wird von sysinstall unterstu:tzt. Wenn Sie eine Netzwerkkarte
   mit sysinstall konfigurieren, lautet die zweite Frage "Do you want
   to try DHCP configuration of the interface?". Wenn Sie diese Frage
   bejahen, wird dhclient aufgerufen, und die Netzkarte wird
   automatisch eingerichtet.

   Um DHCP beim Systemstart zu aktivieren, mu:ssen Sie zwei Dinge
   erledigen:

     * Stellen Sie sicher, dass bpf in Ihren Kernel kompiliert ist.
       Dazu fu:gen Sie die Zeile device bpf in Ihre
       Kernelkonfigurationsdatei ein und erzeugen einen neuen Kernel.
       Weitere Informationen zur Kernelkonfiguration finden Sie in
       Kapitel 8 des Handbuchs.

       Das Gera:t bpf ist im GENERIC-Kernel bereits enthalten. Fu:r
       die Nutzung von DHCP muss also kein angepasster Kernel erzeugt
       werden.

         Anmerkung: Wenn Sie um die Sicherheit Ihres Systems besorgt
         sind, sollten Sie wissen, dass bpf auch zur Ausfu:hrung von
         Paketsniffern erforderlich ist (obwohl diese dennoch als
         root ausgefu:hrt werden mu:ssen). bpf muss vorhanden sein,
         damit DHCP funktioniert. Sind Sie sehr sicherheitsbewusst,
         sollten Sie bpf aus Ihrem Kernel entfernen, wenn Sie DHCP
         nicht verwenden.

     * Fu:gen Sie folgende Zeile in /etc/rc.conf ein:

 ifconfig_fxp0="DHCP"

         Anmerkung: Ersetzen Sie fxp0 durch den Eintrag fu:r die
         Netzkarte, die Sie dynamisch einrichten wollen. Lesen Sie
         dazu auch Abschnitt 11.8.

       Wenn Sie dhclient an einem anderen Ort installiert haben, oder
       zusa:tzliche Flags an dhclient u:bergeben wollen, fu:gen Sie
       auch folgende (entsprechend angepasste) Zeilen ein:

 dhclient_program="/sbin/dhclient"
 dhclient_flags=""

   Der DHCP-Server dhcpd ist als Teil des Ports net/isc-dhcp3-server
   verfu:gbar. Dieser Port entha:lt die komplette
   ISC-DHCP-Distribution, inklusive der Dokumentation.

     --------------------------------------------------------------

  29.5.5. Dateien

     * /etc/dhclient.conf

       dhclient beno:tigt die Konfigurationsdatei /etc/dhclient.conf.
       Diese Datei entha:lt normalerweise nur Kommentare, da die
       Vorgabewerte zumeist ausreichend sind. Lesen Sie dazu auch
       dhclient.conf(5).

     * /sbin/dhclient

       dhclient ist statisch gelinkt und befindet sich in /sbin.
       Weitere Informationen finden Sie in dhclient(8).

     * /sbin/dhclient-script

       Bei dhclient-script handelt es sich um das FreeBSD-spezifische
       Konfigurationsskript des DHCP-Clients. Es wird in
       dhclient-script(8) beschrieben und kann meist unvera:ndert
       u:bernommen werden.

     * /var/db/dhclient.leases

       Der DHCP-Client verfu:gt u:ber eine Datenbank, die alle
       derzeit gu:ltigen Leases entha:lt und als Logdatei erzeugt
       wird. Weitere Informationen finden Sie in dhclient(8).

     --------------------------------------------------------------

  29.5.6. Weitere Informationen

   Das DHCP-Protokoll wird vollsta:ndig im RFC 2131 beschrieben. Eine
   weitere, lehrreiche Informationsquelle existiert unter
   http://www.dhcp.org/.

     --------------------------------------------------------------

  29.5.7. Einen DHCP-Server installieren und einrichten

    29.5.7.1. U:bersicht

   Dieser Abschnitt beschreibt die Einrichtung eines FreeBSD-Systems
   als DHCP-Server. Dazu wird die DHCP-Implementation von ISC
   (Internet Software Consortium) verwendet.

   Der DHCP-Server ist nicht im Basissystem von FreeBSD enthalten,
   daher mu:ssen Sie als Erstes den Port net/isc-dhcp3-server
   installieren. Lesen Sie Kapitel 4, wenn Sie weitere Informationen
   zur Ports-Sammlung beno:tigen.

     --------------------------------------------------------------

    29.5.7.2. Den DHCP-Server installieren

   Stellen Sie sicher, dass bpf(4) in Ihren Kernel kompiliert ist.
   Dazu fu:gen Sie die Zeile device bpf Ihre
   Kernelkonfigurationsdatei ein und erzeugen einen neuen Kernel. Die
   Kernelkonfiguration wird in Kapitel 8 beschrieben.

   Das Gera:t bpf ist im GENERIC-Kernel bereits enthalten. Fu:r die
   Nutzung von DHCP muss also kein angepasster Kernel erzeugt werden.

     Anmerkung: Wenn Sie um die Sicherheit Ihres Systems besorgt
     sind, sollten Sie wissen, dass bpf auch zur Ausfu:hrung von
     Paketsniffern erforderlich ist (obwohl diese dennoch als root
     ausgefu:hrt werden mu:ssen). bpf muss vorhanden sein, damit DHCP
     funktioniert. Sind Sie sehr sicherheitsbewusst, sollten Sie bpf
     aus Ihrem Kernel entfernen, wenn Sie DHCP nicht verwenden.

   Danach mu:ssen Sie die vom Port net/isc-dhcp3-server erzeugte
   Vorlage fu:r dhcpd.conf anpassen. Die bei der Installation
   erzeugte Datei /usr/local/etc/dhcpd.conf.sample sollten Sie nach
   /usr/local/etc/dhcpd.conf kopieren, bevor Sie Vera:nderungen
   vornehmen.

     --------------------------------------------------------------

    29.5.7.3. Den DHCP-Server einrichten

   dhcpd.conf besteht aus Festlegungen zu Subnetzen und Rechnern und
   la:sst sich am besten an einem Beispiel erkla:ren:

 option domain-name "example.com";(1)
 option domain-name-servers 192.168.4.100;(2)
 option subnet-mask 255.255.255.0;(3)

 default-lease-time 3600;(4)
 max-lease-time 86400;(5)
 ddns-update-style none;(6)

 subnet 192.168.4.0 netmask 255.255.255.0 {
   range 192.168.4.129 192.168.4.254;(7)
   option routers 192.168.4.1;(8)
 }

 host mailhost {
   hardware ethernet 02:03:04:05:06:07;(9)
   fixed-address mailhost.example.com;(10)
 }

   (1)
           Diese Option beschreibt die Doma:ne, die den Clients als
           Standardsuchdoma:ne zugewiesen wird. Weitere Informationen
           finden Sie in man.resolv.conf.5;.
   (2)
           Diese Option legt eine, durch Kommata getrennte Liste von
           DNS-Servern fest, die von den Clients verwendet werden
           sollen.
   (3)
           Die den Clients zugewiesene Netzmaske.
   (4)
           Ein Client kann eine Lease einer bestimmten Dauer
           anfordern. Geschieht dies nicht, weist der Server eine
           Lease mit einer vorgegebenen Ablaufdauer (in Sekunden) zu.
   (5)
           Die maximale Zeitdauer, fu:r die der Server
           Konfigurationsinformationen vergibt. Sollte ein Client
           eine la:ngere Zeitspanne anfordern, wird dennoch nur der
           Wert max-lease-time in Sekunden zugewiesen.
   (6)
           Diese Option legt fest, ob der DHCP-Server eine
           DNS-Aktualisierung versuchen soll, wenn
           Konfigurationsdateien vergeben oder zuru:ckgezogen werden.
           In der ISC-Implementation muss diese Option gesetzt sein.
   (7)
           Dadurch werden die IP-Adressen festgelegt, die den Clients
           zugewiesen werden ko:nnen. IP-Adressen zwischen diesen
           Grenzen sowie die einschliessenden Adressen werden den
           Clients zugewiesen.
   (8)
           Legt das Standard-Gateway fest, das den Clients zugewiesen
           wird.
   (9)
           Die (Hardware-)MAC-Adresse eines Rechners (durch die der
           DHCP-Server den Client erkennt, der eine Anforderung an
           ihn stellt).
   (10)
           Einem Rechner soll immer die gleiche IP-Adresse zugewiesen
           werden. Beachten Sie, dass hier auch ein Rechnername
           gu:ltig ist, da der DHCP-Server den Rechnernamen auflo:st,
           bevor er die Konfigurationsinformationen zuweist.

   Nachdem Sie dhcpd.conf fertig konfiguriert haben, sollten Sie den
   DHCP-Server aktivieren, indem Sie folgende Zeilen in /etc/rc.conf
   aufnehmen:

 dhcpd_enable="YES"
 dhcpd_ifaces="dc0"

   Dabei mu:ssen Sie den Gera:teeintrag dc0 durch die Gera:tedatei
   (mehrere Gera:tedateien mu:ssen durch Leerzeichen getrennt werden)
   ersetzen, die Ihr DHCP-Server auf Anfragen von DHCP-Clients hin
   u:berwachen soll.

   Danach ko:nnen Sie den Server durch Eingabe des folgenden Befehls
   starten:

 # /usr/local/etc/rc.d/isc-dhcpd.sh start

   Sollten Sie die Konfiguration Ihres Servers einmal vera:ndern
   mu:ssen, reicht es nicht aus, ein SIGHUP-Signal an dhcpd zu
   senden, weil damit die Konfiguration nicht erneut geladen wird (im
   Gegensatz zu den meisten Daemonen). Sie mu:ssen den Prozess
   vielmehr mit dem Signal SIGTERM stoppen, um ihn anschliessend neu
   zu starten.

     --------------------------------------------------------------

    29.5.7.4. Dateien

     * /usr/local/sbin/dhcpd

       dhcpd ist statisch gelinkt und befindet sich in
       /usr/local/sbin. Lesen Sie auch die mit dem Port installierte
       Hilfeseite dhcpd(8), wenn Sie weitere Informationen zu dhcpd
       beno:tigen.

     * /usr/local/etc/dhcpd.conf

       dhcpd beno:tigt die Konfigurationsdatei
       /usr/local/etc/dhcpd.conf, damit der Server den Clients seine
       Dienste anbieten kann. Diese Datei muss alle Informationen
       enthalten, die an die Clients weitergegeben werden soll.
       Ausserdem sind hier Informationen zur Konfiguration des
       Servers enthalten. Die mit dem Port installierte Hilfeseite
       dhcpd.conf(5) entha:lt weitere Informationen.

     * /var/db/dhcpd.leases

       Der DHCP-Server hat eine Datenbank, die alle vergebenen Leases
       entha:lt. Diese wird als Logdatei erzeugt. Weitere
       Informationen finden Sie in der vom Port installierten
       Hilfeseite dhcpd.leases(5).

     * /usr/local/sbin/dhcrelay

       dhcrelay wird in komplexen Umgebungen verwendet, in denen ein
       DHCP-Server eine Anfrage eines Clients an einen DHCP-Server in
       einem separaten Netzwerk weiterleitet. Wenn Sie diese Funktion
       beno:tigen, mu:ssen Sie den Port net/isc-dhcp3-relay
       installieren. Weitere Informationen zu diesem Thema finden Sie
       in dhcrelay(8).

     --------------------------------------------------------------

29.6. DNS - Domain Name Service

   Beigetragen von Chern Lee, Tom Rhodes und Daniel Gerzo.

  29.6.1. U:berblick

   DNS ist das fu:r die Umwandlung von Rechnernamen in IP-Adressen
   zusta:ndige Protokoll. FreeBSD verwendet dazu BIND (Berkeley
   Internet Name Domain), die am ha:ufigsten verwendete
   Implementierung von DNS). Eine Anfrage nach www.FreeBSD.org gibt
   die IP-Adresse des FreeBSD-Webservers, eine Anfrage nach
   ftp.FreeBSD.org die IP-Adresse des entsprechenden FTP-Servers
   zuru:ck. Der umgekehrte Weg ist ebenso mo:glich, eine IP-Adresse
   kann also auch in ihren Rechnernamen aufgelo:st werden. Um eine
   DNS-Abfrage durchzufu:hren, muss auf dem jeweiligen Rechner kein
   Nameserver installiert sein.

   FreeBSD verwendet derzeit in der Voreinstellung BIND9 als
   DNS-Serversoftware. Unsere Installation bietet Ihnen eine erho:hte
   Sicherheit, ein neues Dateisystemlayout sowie eine automatisierte
   chroot(8)-Konfiguration.

   Im Internet wird DNS durch ein komplexes System von autoritativen
   Root-Nameservern, Top Level Domain-Servern (TLD) sowie anderen
   kleineren Nameservern verwaltet, die individuelle
   Rechnerinformationen speichern und untereinander abgleichen.

   Derzeit wird BIND vom Internet Software Consortium
   (http://www.isc.org/) verwaltet.

     --------------------------------------------------------------

  29.6.2. Begriffsbestimmungen

   Um dieses Dokument besser verstehen zu ko:nnen, mu:ssen einige
   DNS-spezifische Begriffe genauer definiert werden.

     Begriff                          Bedeutung                       
   Forward-DNS  Rechnernamen in IP-Adressen umwandeln.                
   Origin       Die in einer bestimmten Zonendatei beschriebene       
   (Ursprung)   Doma:ne.                                              
   named, BIND, Gebra:uchliche Namen fu:r das unter FreeBSD           
   Nameserver   verwendete BIND-Nameserverpaket.                      
   Resolver     Ein Systemprozess, durch den ein Rechner              
                Zoneninformationen von einem Nameserver anfordert.    
   Reverse-DNS  Das Gegenteil von Forward-DNS; die Umwandlung von     
                IP-Adressen in Rechnernamen                           
                Der Beginn der Internet-Zonenhierarchie. Alle Zonen   
                befinden sich innerhalb der Root-Zone. Dies ist       
   Root-Zone    analog zu einem Dateisystem, in dem sich alle Dateien 
                und Verzeichnisse innerhalb des Wurzelverzeichnisses  
                befinden.                                             
                Eine individuelle Doma:ne, Unterdoma:ne, oder ein     
   Zone         Teil von DNS, der von der gleichen Autorita:t         
                verwaltet wird.                                       

   Es folgen nun einige Zonenbeispiele:

     * . ist die Root-Zone.

     * org. ist eine Top level Domain (TLD) innerhalb der Root-Zone.

     * example.org. ist eine Zone innerhalb der org.-TLD.

     * 1.168.192.in-addr.arpa. ist die Zone mit allen IP-Adressen des
       192.168.1.*-IP-Adressraums.

   Wie man an diesen Beispielen erkennen kann, befindet sich der
   spezifischere Teil eines Rechnernamens auf der linken Seite der
   Adresse. example.org. beschreibt einen Rechner also genauer als
   org., wa:hrend org. genauer als die Root-Zone ist. Jeder Teil des
   Rechnernamens hat A:hnlichkeiten mit einem Dateisystem, in dem
   etwa /dev dem Wurzelverzeichnis untergeordnet ist.

     --------------------------------------------------------------

  29.6.3. Gru:nde fu:r die Verwendung eines Nameservers

   Es gibt zwei Arten von Nameservern: Autoritative Nameserver sowie
   zwischenspeichernde (cachende) Nameserver.

   Ein autoritativer Nameserver ist notwendig, wenn

     * Sie anderen verbindliche DNS-Ausku:nfte erteilen wollen.

     * eine Domain, beispielsweise example.org, registriert wird, und
       den zu dieser Domain geho:renden Rechnern IP-Adressen
       zugewiesen werden mu:ssen.

     * ein IP-Adressblock reverse-DNS-Eintra:ge beno:tigt, um
       IP-Adressen in Rechnernamen auflo:sen zu ko:nnen.

     * ein Backup-Nameserver (auch Slaveserver genannt) oder ein
       zweiter Nameserver auf Anfragen antworten soll.

   Ein cachender Nameserver ist notwendig, weil

     * ein lokaler DNS-Server Daten zwischenspeichern und daher
       schneller auf Anfragen reagieren kann als ein entfernter
       Server.

   Wird nach www.FreeBSD.org gesucht, leitet der Resolver diese
   Anfrage an den Nameserver des ISPs weiter und nimmt danach das
   Ergebnis der Abfrage entgegen. Existiert ein lokaler,
   zwischenspeichernder DNS-Server, muss dieser die Anfrage nur
   einmal nach aussen weitergeben. Fu:r alle weiteren Anfragen ist
   dies nicht mehr no:tig, da diese Information nun lokal gespeichert
   ist.

     --------------------------------------------------------------

  29.6.4. Wie funktioniert DNS?

   Unter FreeBSD wird der BIND-Daemon als named bezeichnet.

           Datei                         Beschreibung                 
   named                  Der BIND-Daemon.                            
   rndc(8)                Das Steuerprogramm fu:r named.              
   /etc/namedb            Das Verzeichnis, in dem sich die            
                          Zoneninformationen fu:r BIND befinden.      
   /etc/namedb/named.conf Die Konfigurationsdatei fu:r named.         

   Je nachdem, wie eine Zone auf dem Server konfiguriert wurde,
   finden sich die zur Zone geho:rendenden Dateien in den
   Unterverzeichnissen master, slave, oder dynamic des Verzeichnisses
   /etc/namedb. Diese Dateien enthalten die DNS-Informationen, die
   der Nameserver fu:r die Beantwortung von Anfragen beno:tigt.

     --------------------------------------------------------------

  29.6.5. BIND starten

   Da BIND automatisch installiert wird, ist die Konfiguration
   relativ einfach.

   In der Voreinstellung wird ein in einer chroot(8)-Umgebung
   betriebener named-Server eingerichtet. Um den Server manuell zu
   starten, verwenden Sie den folgenden Befehl:

 # /etc/rc.d/named forcestart

   Um den named-Daemon beim Systemstart automatisch zu starten,
   fu:gen Sie folgende Zeile in /etc/rc.conf ein:

 named_enable="YES"

   /etc/namedb/named.conf bietet zahlreiche Konfigurationsoptionen,
   die in diesem Dokument nicht alle beschrieben werden ko:nnen.
   Wollen Sie die Startoptionen von named unter FreeBSD anpassen,
   sollten Sie sich die named_*-Flags in der Datei
   /etc/defaults/rc.conf sowie die Manualpage zu rc.conf(5) na:her
   ansehen. Zusa:tzliche Informationen bietet Ihnen auch der
   Abschnitt Abschnitt 11.7 des Handbuchs.

     --------------------------------------------------------------

  29.6.6. Konfigurationsdateien

   Die Konfigurationsdateien von named finden sich unter /etc/namedb
   und mu:ssen in der Regel an Ihre Bedu:rfnisse angepasst werden. Es
   sei denn, Sie beno:tigen nur einen einfachen Resolver. Ein
   Grossteil der Konfigurationsarbeiten erfolgt dabei in diesem
   Verzeichnis.

     --------------------------------------------------------------

    29.6.6.1. make-localhost verwenden

   Um eine Master-Zone fu:r den lokalen Rechner zu erstellen,
   wechseln Sie in das Verzeichnis /etc/namedb und fu:hren dort den
   folgenden Befehl aus:

 # sh make-localhost

   Wenn es keine Probleme gab, sollte nun eine neue Datei im
   Unterverzeichnis master vorhanden sein. Diese heisst entweder
   localhost.rev (fu:r den lokalen Domain-Namen) oder
   localhost-v6.rev (wenn Sie IPv6 einsetzen). Als
   Standardkonfigurationsdatei wird dabei named.conf verwendet.

     --------------------------------------------------------------

    29.6.6.2. /etc/namedb/named.conf

 // $FreeBSD$
 //
 // Refer to the named.conf(5) and named(8) man pages, and the documentation
 // in /usr/share/doc/bind9 for more details.
 //
 // If you are going to set up an authoritative server, make sure you
 // understand the hairy details of how DNS works.  Even with
 // simple mistakes, you can break connectivity for affected parties,
 // or cause huge amounts of useless Internet traffic.

 options {
         directory       "/etc/namedb";
         pid-file        "/var/run/named/pid";
         dump-file       "/var/dump/named_dump.db";
         statistics-file "/var/stats/named.stats";

 // If named is being used only as a local resolver, this is a safe default.
 // For named to be accessible to the network, comment this option, specify
 // the proper IP address, or delete this option.
         listen-on       { 127.0.0.1; };

 // If you have IPv6 enabled on this system, uncomment this option for
 // use as a local resolver.  To give access to the network, specify
 // an IPv6 address, or the keyword "any".
 //      listen-on-v6    { ::1; };

 // In addition to the "forwarders" clause, you can force your name
 // server to never initiate queries of its own, but always ask its
 // forwarders only, by enabling the following line:
 //
 //      forward only;

 // If you've got a DNS server around at your upstream provider, enter
 // its IP address here, and enable the line below.  This will make you
 // benefit from its cache, thus reduce overall DNS traffic in the
 Internet.
 /*
         forwarders {
                 127.0.0.1;
         };
 */

   Um vom Cache Ihres Internetproviders zu profitieren, ko:nnen hier
   forwarders aktiviert werden. Normalerweise sucht ein Nameserver
   das Internet rekursiv ab, bis er die gesuchte Antwort findet.
   Durch diese Option wird stets der Nameserver Ihres
   Internetproviders zuerst abgefragt, um von dessen Cache zu
   profitieren. Wenn es sich um einen schnellen, viel benutzten
   Nameserver handelt, kann dies zu einer Geschwindigkeitssteigerung
   fu:hren.

     Warnung: 127.0.0.1 funktioniert hier nicht. A:ndern Sie diese
     Adresse in einen Nameserver Ihres Einwahlproviders.

         /*
          * If there is a firewall between you and name servers you want
          * to talk to, you might need to uncomment the query-source
          * directive below.  Previous versions of BIND always asked
          * questions using port 53, but BIND versions 8 and later
          * use a pseudo-random unprivileged UDP port by default.
          */
         // query-source address * port 53;
 };

 // If you enable a local name server, don't forget to enter 127.0.0.1
 // first in your /etc/resolv.conf so this server will be queried.
 // Also, make sure to enable it in /etc/rc.conf.

 zone "." {
         type hint;
         file "named.root";
 };

 zone "0.0.127.IN-ADDR.ARPA" {
         type master;
         file "master/localhost.rev";
 };

 // RFC 3152
 zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA" {
         type master;
         file "master/localhost-v6.rev";
 };

 // NB: Do not use the IP addresses below, they are faked, and only
 // serve demonstration/documentation purposes!
 //
 // Example slave zone config entries.  It can be convenient to become
 // a slave at least for the zone your own domain is in.  Ask
 // your network administrator for the IP address of the responsible
 // primary.
 //
 // Never forget to include the reverse lookup (IN-ADDR.ARPA) zone!
 // (This is named after the first bytes of the IP address, in reverse
 // order, with ".IN-ADDR.ARPA" appended.)
 //
 // Before starting to set up a primary zone, make sure you fully
 // understand how DNS and BIND works.  There are sometimes
 // non-obvious pitfalls.  Setting up a slave zone is simpler.
 //
 // NB: Don't blindly enable the examples below. :-)  Use actual names
 // and addresses instead.

 /* An example master zone
 zone "example.net" {
         type master;
         file "master/example.net";
 };
 */

 /* An example dynamic zone
 key "exampleorgkey" {
         algorithm hmac-md5;
         secret "sf87HJqjkqh8ac87a02lla==";
 };
 zone "example.org" {
         type master;
         allow-update {
                 key "exampleorgkey";
         };
         file "dynamic/example.org";
 };
 */

 /* Examples of forward and reverse slave zones
 zone "example.com" {
         type slave;
         file "slave/example.com";
         masters {
                 192.168.1.1;
         };
 };
 zone "1.168.192.in-addr.arpa" {
         type slave;
         file "slave/1.168.192.in-addr.arpa";
         masters {
                 192.168.1.1;
         };
 };
 */     

   Hierbei handelt es sich um Slave-Eintra:ge fu:r eine Reverse- und
   Forward-DNS-Zone, die in der Datei named.conf definiert sind.

   Fu:r jede neue Zone muss ein zusa:tzlicher Eintrag in named.conf
   erstellt werden.

   Ein einfacher Eintrag fu:r eine Zone example.org ko:nnte
   beispielsweise so aussehen:

 zone "example.org" {
         type master;
         file "master/example.org";
 };     

   Die Option type legt fest, dass es sich um eine Master-Zone
   handelt, deren Zoneninformationen sich in der Datei
   /etc/namedb/master/example.org befinden. Diese Datei wird durch
   die Option file festgelegt.

 zone "example.org" {
         type slave;
         file "slave/example.org";
 };     

   Hier handelt es sich um einen Slaveserver, der seine Informationen
   vom Masterserver der betreffenden Zone bezieht und diese in der
   angegebenen Datei speichert. Wenn der Masterserver nicht
   erreichbar ist, verfu:gt der Slaveserver u:ber die transferierten
   Zoneninformationen und kann diese an andere Rechner weitergeben.

     --------------------------------------------------------------

    29.6.6.3. Zonendateien

   Die in der Datei /etc/namedb/master/example.org definierte
   Zonendatei fu:r example.org ko:nnte etwa so aussehen:

           $TTL 3600        ; 1 hour
           example.org.    IN      SOA      ns1.example.org. admin.example.org. (
           2006051501      ; Serial
           10800           ; Refresh
           3600            ; Retry
           604800          ; Expire
           86400           ; Minimum TTL
           )

           ; DNS Servers
           IN      NS      ns1.example.org.
           IN      NS      ns2.example.org.

           ; MX Records
           IN      MX 10   mx.example.org.
           IN      MX 20   mail.example.org.

           IN      A       192.168.1.1

           ; Machine Names
           localhost       IN      A       127.0.0.1
           ns1             IN      A       192.168.1.2
           ns2             IN      A       192.168.1.3
           mx              IN      A       192.168.1.4
           mail            IN      A       192.168.1.5

           ; Aliases
           www             IN      CNAME   @

   Beachten Sie, dass jeder mit einem "." endende Rechnername ein
   exakter Rechnername ist, wa:hrend sich alles ohne einen
   abschliessenden "." auf den Ursprung bezieht. www steht daher fu:r
   www.Ursprung. In unserer fiktiven Zonendatei ist example.org. der
   Ursprung, daher steht www fu:r www.example.org.

   Eine Zonendatei hat folgenden Aufbau:

 recordname      IN recordtype   value

   Die am ha:ufigsten verwendeten DNS-Eintra:ge sind:

   SOA

           Start der Zonenautorita:t

   NS

           Ein autoritativer Nameserver

   A

           Eine Rechneradresse

   CNAME

           Der kanonische Name eines Alias

   MX

           Mail Exchanger

   PTR

           Ein (bei Reverse-DNS verwendeter) Domain Name Pointer

 example.org. IN SOA ns1.example.org. admin.example.org. (
                         2006051501      ; Serial
                         10800           ; Refresh after 3 hours
                         3600            ; Retry after 1 hour
                         604800          ; Expire after 1 week
                         86400 )         ; Minimum TTL of 1 day

   example.org.

           Der Name der Doma:ne und damit der Ursprung dieser
           Zonendatei.

   ns1.example.org.

           Der prima:re/autoritative Nameserver dieser Zone.

   admin.example.org.

           Die fu:r diese Zone verantwortliche Person. Das Zeichen
           "@" wird dabei ersetzt (<admin@example.org> wird also zu
           admin.example.org).

   2006051501

           Die Seriennummer der Datei. Sie muss stets inkrementiert
           werden, wenn die Zonendatei gea:ndert wird. Viele
           Administratoren bevorzugen ein JJJJMMTTRR-Format, um die
           Seriennummer festzulegen. 2006051501 steht also fu:r den
           15.05.2006, die beiden letzten Stellen fu:r die erste
           Modifikation der Zonendatei an diesem Tag. Die
           Seriennummer ist von grosser Bedeutung, da Slaveserver
           daran eine aktualisierte Zonendatei erkennen ko:nnen.

           IN NS           ns1.example.org.

   Ein NS-Eintrag. Jeder Nameserver, der fu:r eine Zone
   verantwortlich ist, muss u:ber einen solchen Eintrag verfu:gen.

           localhost       IN      A       127.0.0.1
           ns1             IN      A       192.168.1.2
           ns2             IN      A       192.168.1.3
           mx              IN      A       192.168.1.4
           mail            IN      A       192.168.1.5

   Der Eintrag A bezieht sich auf Rechnernamen. ns1.example.org
   wu:rde also zu 192.168.1.2 aufgelo:st werden.

           IN      A       192.168.1.1

   Diese Zeile weist die IP-Adresse 192.168.1.1 dem aktuellen
   Ursprung, in unserem Fall also example.org, zu.

           www             IN CNAME        @

   Der Eintrag fu:r den kanonischen Namen wird dazu verwendet, Aliase
   fu:r einen Rechner zu vergeben. Im Beispiel ist www ein Alias fu:r
   den "Master"-Rechner localhost.example.org oder 192.168.1.1).
   Durch die Option CNAME ko:nnen Aliasnamen vergeben werden. Ein
   Rechnername kann aber auch abwechselnd verschiedenen Rechnern
   zugewiesen werden.

           IN MX   10      mail.example.org.

   Die Option MX legt fest, welcher Mailserver fu:r eintreffende
   Mails der Zone verantwortlich ist. mail.example.org ist der
   Rechnername des Mailservers, der eine Priorita:t von 10 hat.

   Es ko:nnen auch mehrere Mailserver mit verschiedener Priorita:t
   (10, 20, ...) vorhanden sein. Ein Mailserver, der eine Mail an
   example.org verschicken will, verwendet zuerst den MX mit der
   ho:chsten Priorita:t (das heisst den mit der niedrigsten
   Priorita:tsnummer), danach den mit der na:chstho:heren Priorita:t.
   Und dies solange, bis die E-Mail zugestellt werden kann.

   Fu:r (bei Reverse-DNS verwendete) in-addr.arpa-Zonendateien wird
   das gleiche Format verwendet. Der einzige Unterschied besteht in
   der Verwendung der Option PTR an Stelle der Optionen A und CNAME.

           $TTL 3600

           1.168.192.in-addr.arpa. IN SOA ns1.example.org. admin.example.org. (
           2006051501      ; Serial
           10800           ; Refresh
           3600            ; Retry
           604800          ; Expire
           3600 )          ; Minimum

           IN      NS      ns1.example.org.
           IN      NS      ns2.example.org.

           1       IN      PTR     example.org.
           2       IN      PTR     ns1.example.org.
           3       IN      PTR     ns2.example.org.
           4       IN      PTR     mx.example.org.
           5       IN      PTR     mail.example.org.

   Durch diese Datei werden den Rechnernamen der fiktiven Doma:ne
   IP-Adressen zugewiesen.

     --------------------------------------------------------------

  29.6.7. Zwischenspeichernde (cachende) Nameserver

   Ein cachender Nameserver ist fu:r keine Zonen verantwortlich. Er
   stellt lediglich eigene Anfragen und speichert deren Ergebnisse
   ab. Um einen solchen Nameserver einzurichten, gehen Sie wie
   gewohnt vor, allerdings definieren Sie keine Zonen.

     --------------------------------------------------------------

  29.6.8. Sicherheit

   Obwohl BIND die am meisten verwendete (und kontrollierte)
   Implementierung von DNS darstellt, werden dennoch manchmal neue
   Sicherheitsprobleme entdeckt.

   Zwar startet FreeBSD named automatisch in einer
   chroot(8)-Umgebung, es gibt aber noch weitere
   Sicherheitsmechanismen, mit denen Sie potentielle
   DNS-Serviceattacken erschweren ko:nnen.

   Es ist daher eine gute Idee, die Sicherheitshinweise von CERT zu
   lesen sowie die Mailingliste FreeBSD security notifications zu
   abonnieren, um sich u:ber Sicherheitsprobleme im Zusammenhang mit
   dem Internet und FreeBSD zu informieren.

     Tipp: Tritt ein Problem auf, kann es nie schaden, die Quellen zu
     aktualisieren und named neu zu kompilieren.

     --------------------------------------------------------------

  29.6.9. Weitere Informationsquellen

     * Hilfeseiten zu BIND/named: rndc(8), named(8), named.conf(5)

     * Offizielle ISC-Seite zu BIND

     * Offizielles Forum zu ISC- BIND

     * BIND9 FAQs

     * O'Reilly DNS and BIND 5th Edition

     * RFC1034 - Domain Names - Concepts and Facilities

     * RFC1035 - Domain Names - Implementation and Specification

     --------------------------------------------------------------

29.7. Der Apache HTTP-Server

   Beigetragen von Murray Stokely.

     --------------------------------------------------------------

  29.7.1. U:berblick

   Einige der weltgro:ssten Internetauftritte laufen unter FreeBSD.
   Die Mehrzahl der Webserver im Internet nutzt den Apache
   HTTP-Server. Die Installationspakete fu:r den Apache sollten auf
   Ihrem Installationsmedium vorhanden sein. Wenn Sie den Apache noch
   nicht installiert haben, ko:nnen Sie dies jederzeit u:ber den Port
   www/apache13 oder www/apache22 nachholen.

   Nachdem der Apache erfolgreich installiert wurde, muss er noch
   konfiguriert werden.

     Anmerkung: Dieser Abschnitt beschreibt die Version 1.3.X des
     Apache HTTP-Servers, da diese Version unter FreeBSD am
     ha:ufigsten verwendet wird. Apache 2.X bringt zwar viele
     Verbesserungen mit sich, wird hier aber nicht beschrieben.
     Sollten Sie an Apache 2.X interessiert sein, informieren Sie
     sich bitte auf http://httpd.apache.org/.

     --------------------------------------------------------------

  29.7.2. Konfiguration

   Der Apache HTTP-Server wird unter FreeBSD prima:r u:ber die Datei
   /usr/local/etc/apache/httpd.conf konfiguriert. Bei dieser Datei
   handelt es sich um eine typische UNIX-Konfigurationsdatei, in der
   Kommentarzeilen mit einem #-Zeichen beginnen. Eine komplette
   Beschreibung aller Optionen wu:rde den Rahmen dieses Handbuchs
   sprengen, daher beschreiben wir hier nur die am ha:ufigsten
   verwendeten Optionen.

   ServerRoot "/usr/local"

           Legt das Standardwurzelverzeichnis fu:r die
           Apache-Installation fest. Bina:rdateien werden in die
           Verzeichnisse bin und sbin unterhalb des
           Serverwurzelverzeichnisses installiert, wa:hrend sich
           Konfigurationsdateien im Verzeichnis etc/apache befinden.

   ServerAdmin you@your.address

           Die E-Mail-Adresse, an die Mitteilungen u:ber
           Serverprobleme geschickt werden sollen. Diese Adresse
           erscheint auf vom Server erzeugten Seiten, beispielsweise
           auf Fehlerseiten.

   ServerName www.example.com

           U:ber die Option ServerName ko:nnen Sie einen Rechnernamen
           festlegen, den Ihr Server an die Clients sendet, wenn sich
           dieser von tatsa:chlichen Rechnernamen unterscheidet (sie
           ko:nnten etwa www statt des richtigen Rechnernamens
           verwenden).

   DocumentRoot "/usr/local/www/data"

           DocumentRoot: Das Verzeichnis, in dem Sie Ihre Dokumente
           ablegen. In der Voreinstellung befinden sich alle Seiten
           in diesem Verzeichnis, durch symbolische Links oder Aliase
           lassen sich aber auch andere Orte festlegen.

   Es ist empfehlenswert, eine Sicherungskopie Ihrer
   Konfigurationsdatei anzulegen, bevor Sie A:nderungen durchfu:hren.
   Nachdem Sie die Konfiguration beendet haben, ko:nnen Sie den
   Apache starten.

     --------------------------------------------------------------

  29.7.3. Den Apache betreiben

   Der Apache wird, im Gegensatz zu vielen anderen Netzwerkservern,
   nicht vom inetd-Super-Server verwaltet, sondern wird als
   eigensta:ndiger Server betrieben, um die Leistung fu:r
   eintreffende HTTP-Anfragen von den Clients (also von
   Internetbrowsern) zu verbessern. Gestartet, beendet oder neu
   gestartet wird der Server u:ber einen Shellskript-Wrapper. Um den
   Apache erstmals zu starten, geben Sie einfach Folgendes ein:

 # /usr/local/sbin/apachectl start

   Wenn Sie den Server beenden wollen, geben Sie Folgendes ein:

 # /usr/local/sbin/apachectl stop

   Wenn Sie die Konfigurationsdatei vera:ndern, mu:ssen Sie den
   Server neu starten:

 # /usr/local/sbin/apachectl restart

   Um den Apache ohne den Abbruch bestehender Verbindungen neu zu
   starten, geben Sie Folgendes ein:

 # /usr/local/sbin/apachectl graceful

   Diese und weitere Optionen werden in apachectl(8) beschrieben.

   Um den Apache beim Systemstart zu starten, fu:gen Sie folgende
   Zeile in /etc/rc.conf ein:

 apache_enable="YES"

   Um Apache 2.2 zu starten, fu:gen Sie hingegen folgende Zeile ein:

 apache22_enable="YES"

   Wenn Sie wa:hrend des Systemstarts weitere Parameter an den
   Apache-httpd-Daemon u:bergeben wollen, ko:nnen Sie diese durch
   eine zusa:tzliche Zeile in rc.conf angeben:

 apache_flags=""

   Nachdem der Webserver gestartet ist, ko:nnen Sie sich Ihre
   Internetseite ansehen, indem Sie in Ihren Browser die Adresse
   http://localhost/ eingeben. Die vordefinierte Standardstartseite
   ist /usr/local/www/data/index.html.

     --------------------------------------------------------------

  29.7.4. Virtual Hosting

   Der Apache unterstu:tzt zwei Formen des Virtual Hostings. Die
   erste Mo:glichkeit bezeichnet man als namenbasiertes virtuelles
   Hosting. Dabei wird der HTTP/1.1-Header der Clients dazu
   verwendet, den Rechnernamen zu bestimmen. Dadurch wird es
   mo:glich, mehrere Domains unter der gleichen IP-Adresse zu
   betreiben.

   Damit der Apache namenbasierte virtuelle Domains verwalten kann,
   fu:gen Sie die folgende Zeile in httpd.conf ein:

 NameVirtualHost *

   Wenn Ihr Webserver www.domain.tld heisst und Sie die virtuelle
   Domain www.someotherdomain.tld einrichten wollen, erga:nzen Sie
   httpd.conf um folgende Eintra:ge:

 <VirtualHost *>
 ServerName www.domain.tld
 DocumentRoot /www/domain.tld
 </VirtualHost>

 <VirtualHost *>
 ServerName www.someotherdomain.tld
 DocumentRoot /www/someotherdomain.tld
 </VirtualHost>

   Ersetzen Sie dabei die Adressen sowie den Pfad zu den Dokumenten
   durch Ihre eigenen Einstellungen.

   Ausfu:hrliche Informationen zum Einrichten von virtuellen Domains
   finden Sie in der offiziellen Apache-Dokumentation unter
   http://httpd.apache.org/docs/vhosts/.

     --------------------------------------------------------------

  29.7.5. Ha:ufig verwendete Apache-Module

   Es gibt viele verschiedene Apache-Module, die den Server um
   zusa:tzliche Funktionen erweitern. Die FreeBSD-Ports-Sammlung
   ermo:glicht es Ihnen, den Apache gemeinsam mit einigen der
   beliebtesten Zusatzmodule zu installieren.

     --------------------------------------------------------------

    29.7.5.1. mod_ssl

   Das Modul mod_ssl verwendet die OpenSSL-Bibliothek, um, unter
   Nutzung der Protokolle Secure Sockets Layer (SSL v2/v3) sowie
   Transport Layer Security (TLS v1) starke Verschlu:sselung zu
   ermo:glichen. Durch dieses Modul ko:nnen Sie ein signiertes
   Zertifikat von einer Zertifizierungsstelle anfordern, damit Sie
   einen sicheren Webserver unter FreeBSD betreiben ko:nnen.

   Wenn Sie den Apache 1.3.X noch nicht installiert haben, ko:nnen
   Sie u:ber den Port www/apache13-modssl eine Apache-Version
   installieren, in die mod_ssl als Modul einkompiliert wurde.
   Bevorzugen Sie den Apache 2.X, installieren Sie stattdessen den
   Port www/apache22, bei dem die SSL-Unterstu:tzung bereits in der
   Voreinstellung aktiviert ist.

     --------------------------------------------------------------

    29.7.5.2. Skriptsprachen

   Fu:r die wichtigsten Skriptsprachen existieren Module, die es
   erlauben, Apache-Module nahezu vollsta:ndig in einer Skriptsprache
   zu programmieren. Derartige Module dienen oft dazu, einen
   Sprach-Interpreter in den Webserver einzubetten. Dadurch wird ein
   zusa:tzlicher externer Interpreter u:berflu:ssig, was die
   Startzeit von dynamischen Internetseiten deutlich verringert.

     --------------------------------------------------------------

  29.7.6. Dynamische Webseiten

   In den vergangenen Jahren haben immer mehr Unternehmen das
   Internet als Mittel fu:r die Steigerung ihrer Einnahmen sowie fu:r
   die Erho:hung ihrer Reichweite entdeckt. Dadurch stieg auch die
   Nachfrage nach interaktiven Internetinhalten. Neben einigen
   Unternehmen, darunter Microsoft, die dafu:r proprieta:re Produkte
   entwickelt haben, hat auch die Open Source Community auf diesen
   Umstand reagiert und unter anderem mit Django, Ruby on Rails,
   mod_perl, und mod_php Mo:glichkeiten zur Generierung dynamischer
   Internetseiten geschaffen.

     --------------------------------------------------------------

    29.7.6.1. Django

   Bei Django handelt es sich um ein unter der BSD-Lizenz
   verfu:gbares Framework zur schnellen Erstellung von ma:chtigen
   Internet-Applikationen. Es beinhaltet einen objekt-relationalen
   Mapper (wodurch Datentypen als Phyton-Objekte entwickelt werden
   ko:nnen) sowie eine API fu:r den dynamischen Datenbankzugriff auf
   diese Objekte, ohne dass Entwickler jemals SQL-Code schreiben
   mu:ssen. Zusa:tzlich existiert ein umfangreiches Template-System,
   wodurch die Programmlogik von der HTML-Pra:sentation getrennt
   werden kann.

   Django setzt das Modul mod_python, den Apache-Webserver sowie eine
   SQL-Datenbank voraus. Fu:r FreeBSD gibt es einen Port, der alle
   Abha:ngigkeiten mit sinnvollen Optionen konfiguriert und
   installiert.

   Beispiel 29-3. Django mit Apache2, mod_python3, und PostgreSQL
   installieren

 # cd /usr/ports/www/py-django; make all install clean -DWITH_MOD_PYTHON3 -DWITH_POSTGRESQL

   Nachdem Django (sowie die abha:ngigen Pakete) installiert ist,
   mu:ssen Sie ein Projektverzeichnis erstellen. Danach konfigurieren
   Sie Apache so, dass der eingebettete Python-Interpreter
   spezifische URLs Ihrer Seiten aufruft.

   Beispiel 29-4. Apache-Konfiguration fu:r Django/mod_python

   Sie mu:ssen die Apache-Konfigurationsdatei httpd.conf anpassen,
   damit Apache Anfragen fu:r bestimmte URLs an Ihre
   Internet-Applikation u:bergibt:

 <Location "/">
     SetHandler python-program
     PythonPath "['/dir/to/your/django/packages/'] + sys.path"
     PythonHandler django.core.handlers.modpython
     SetEnv DJANGO_SETTINGS_MODULE mysite.settings
     PythonAutoReload On
     PythonDebug On
 </Location>

     --------------------------------------------------------------

    29.7.6.2. Ruby on Rails

   Bei Ruby on Rails handelt es sich um ein weiteres, als Open Source
   verfu:gbares Webframework. Es bietet einen kompletten
   Entwicklungsstack und erlaubt es Webentwicklern, umfangreiche und
   ma:chtige Applikationen in kurzer Zeit zu programmieren. Das
   Framework kann u:ber die Ports-Sammlung installiert werden.

 # cd /usr/ports/www/rubygem-rails; make all install clean

     --------------------------------------------------------------

    29.7.6.3. mod_perl

   Die Kombination Apache/Perl vereinigt die Vorteile der
   Programmiersprache Perl und des Apache HTTP-Servers. Durch das
   Modul mod_perl ist es mo:glich, vollsta:ndig in Perl geschriebene
   Apache-Module zu erzeugen. Da der Perl-Interpreter in den Server
   eingebettet wird, mu:ssen Sie weder einen externen Interpreter
   noch Perl zusa:tzlich aufrufen.

   mod_perl ist in verschiedenen Versionen erha:ltlich. Bevor Sie
   mod_perl einsetzen,denken Sie bitte daran, dass mod_perl 1.0 nur
   mit Apache 1.3 und mod_perl 2.0 nur mit Apache 2.X
   zusammenarbeitet. mod_perl 1.0 kann u:ber den Port www/mod_perl,
   eine statisch kompilierte Version hingegen u:ber den Port
   www/apache13-modperl installiert werden. Fu:r die Installation von
   mod_perl 2.0 schliesslich verwenden Sie den Port www/mod_perl2.

     --------------------------------------------------------------

    29.7.6.4. mod_php

   Geschrieben von Tom Rhodes.

   Bei PHP, dem "Hypertext Preprocessor", handelt es sich um eine
   vielseitig verwendbare Skriptsprache, die besonders fu:r die
   Internetprogrammierung geeignet ist. PHP kann in HTML eingebettet
   werden und a:hnelt von der Syntax her Sprachen wie C, Java und
   Perl. Das Hauptanliegen von PHP ist es, Internetprogrammierern die
   rasche Erstellung von dynamisch erzeugten Internetseiten zu
   ermo:glichen.

   Damit Ihr System PHP5 unterstu:tzt, mu:ssen Sie als Erstes den
   Apache Webserver u:ber den Port lang/php5 installieren.

   Wenn Sie den Port lang/php5 das erste Mal installieren, werden die
   verfu:gbaren Optionen (OPTIONS) automatisch angezeigt. Erscheint
   das Konfigurationsmenu: bei Ihnen nicht, so liegt dies daran, dass
   Sie den Port lang/php5 schon einmal auf Ihrem System installiert
   hatten. Es ist aber jederzeit mo:glich, dieses Menu: aus dem
   Ports-Verzeichnis heraus u:ber folgenden Befehl erneut aufzurufen:

 # make config

   In diesem Konfigurationsmenu: mu:ssen Sie die Option APACHE
   auswa:hlen, damit mod_php5 als ein vom Apache-Webserver ladbares
   Modul gebaut wird.

     Anmerkung: Viele Seiten verwenden nach wie vor (beispielsweise
     wegen der beno:tigten Kompatibilita:t zu bereits vorhandenen
     Web-Applikationen) PHP4. Ist dies bei Ihnen der Fall, so mu:ssen
     Sie statt mod_php5 mod_php4 u:ber den Port lang/php4
     installieren. Der Port lang/php4 unterstu:tzt viele der
     Konfigurations- und Laufzeitoptionen von lang/php5.

   Dieser Port installiert und konfiguriert die Module, die fu:r die
   Unterstu:tzung von dynamischen PHP-Anwendungen beno:tigt werden.
   Stellen Sie danach sicher, dass Ihre
   /usr/local/etc/apache/httpd.conf die folgenden Abschnitte
   entha:lt:

 LoadModule php5_module        libexec/apache/libphp5.so

 AddModule mod_php5.c
     <IfModule mod_php5.c>
         DirectoryIndex index.php index.html
     </IfModule>
     <IfModule mod_php5.c>
         AddType application/x-httpd-php .php
         AddType application/x-httpd-php-source .phps
     </IfModule>

   Nachdem dies erledigt ist, rufen Sie apachectl auf, um das
   PHP-Modul zu laden:

 # apachectl graceful

   Bei ku:nftigen Upgrades von PHP wird make config nicht mehr
   beno:tigt, da die von Ihnen urspru:nglich ausgewa:hlten Optionen
   (OPTIONS) vom FreeBSD-Ports-Framework automatisch gespeichert
   werden.

   Die PHP-Unterstu:tzung von FreeBSD ist stark modular aufgebaut,
   daher verfu:gt eine Basisinstallation nur u:ber wenige Funktionen.
   Eine Erweiterung um zusa:tzliche Funktionen ist allerdings sehr
   einfach u:ber den Port lang/php5-extensions mo:glich. Der Port
   bietet Ihnen ein Auswahlmenu:, u:ber das Sie verschiedene
   PHP-Erweiterungen installieren ko:nnen. Alternativ ko:nnen Sie
   einzelne Erweiterungen aber weiterhin direkt u:ber den jeweiligen
   Port installieren.

   Um beispielsweise die Unterstu:tzung des Datenbankservers MySQL in
   PHP5 zu aktivieren, installieren Sie den Port
   databases/php5-mysql.

   Nachdem Sie eine Erweiterung installiert haben, mu:ssen Sie den
   Apache-Server neu starten, damit die Erweiterung auch erkannt
   wird:

 # apachectl graceful

   Ab nun wird MySQL von PHP unterstu:tzt.

     --------------------------------------------------------------

29.8. FTP - File Transfer Protocol

   Beigetragen von Murray Stokely.

     --------------------------------------------------------------

  29.8.1. U:berblick

   Das File Transfer Protocol (FTP) ermo:glicht auf einfache Art und
   Weise den Dateiaustausch mit einem FTP-Server. Der FTP-Server ftpd
   ist bei FreeBSD bereits im Basisystem enthalten. Daher sind
   Konfiguration und Betrieb eines FTP-Servers unter FreeBSD relativ
   einfach.

     --------------------------------------------------------------

  29.8.2. Konfiguration

   Der wichtigste Punkt ist hier die Entscheidung daru:ber, welche
   Benutzer auf Ihren FTP-Server zugreifen du:rfen. Ein
   FreeBSD-System verfu:gt u:ber diverse Systembenutzerkonten, um
   einzelnen Daemonen den Zugriff auf das System zu ermo:glichen.
   Anonyme Benutzer sollten sich allerdings nicht u:ber diese
   Benutzerkonten anmelden du:rfen. Die Datei /etc/ftpusers entha:lt
   alle Benutzer, die vom FTP-Zugriff ausgeschlossen sind. In der
   Voreinstellung gilt dies auch die gerade erwa:hnten
   Systembenutzerkonten. Sie ko:nnen u:ber diese Datei weitere
   Benutzer vom FTP-Zugriff ausschliessen.

   Sie ko:nnen den Zugriff fu:r einige Benutzer einschra:nken, ohne
   FTP komplett zu verbieten. Dazu passen Sie /etc/ftpchroot
   entsprechend an. Diese Datei entha:lt Benutzer und Gruppen sowie
   die fu:r sie geltenden FTP-Einschra:nkungen und wird in
   ftpchroot(5) ausfu:hrlich beschrieben.

   Wenn Sie einen anonymen FTP-Zugriff auf Ihren Server ermo:glichen
   wollen, mu:ssen Sie den Benutzer ftp auf Ihrem FreeBSD-System
   anlegen. Danach ko:nnen sich Benutzer mit dem Benutzernamen ftp
   oder anonymous auf Ihrem FTP-Server anmelden. Das Passwort ist
   dabei beliebig (allerdings wird dazu in der Regel eine
   E-Mail-Adresse verwendet). Meldet sich ein anonymer Benutzer an,
   aktiviert der FTP-Server chroot(2), um den Zugriff auf das
   Heimatverzeichnis des Benutzers ftp zu beschra:nken.

   Es gibt zwei Textdateien, deren Inhalt Sie bei der Anmeldung an
   Ihrem FTP-Server anzeigen lassen ko:nnen. Der Inhalt von
   /etc/ftpwelcome wird angezeigt, bevor der Login-Prompt erscheint.
   Nach einer erfolgreichen Anmeldung wird der Inhalt von
   /etc/ftpmotd angezeigt. Beachten Sie aber, dass es dabei um einen
   Pfad relativ zur Umgebung des anzumeldenden Benutzers handelt. Bei
   einer anonymen Anmeldung wu:rde also die Datei ~ftp/etc/ftpmotd
   angezeigt.

   Nachdem Sie den FTP-Server konfiguriert haben, mu:ssen Sie Ihn in
   /etc/inetd.conf aktivieren. Dazu mu:ssen Sie lediglich das
   Kommentarsymbol "#" am Beginn der bereits vorhandenen ftpd-Zeile
   entfernen:

 ftp     stream  tcp     nowait  root    /usr/libexec/ftpd       ftpd -l

   Nachdem Sie diese A:nderung durchgefu:hrt haben, mu:ssen Sie, wie
   in Beispiel 29-1 beschrieben, die inetd-Konfiguration neu
   einlesen. Lesen Sie bitte Abschnitt Abschnitt 29.2.2 des Handbuchs
   fu:r weitere Informationen zur Aktivierung von inetd auf Ihren
   System.

   Alternativ ko:nnen Sie auch nur den ftpd-Server starten. In diesem
   Fall ist es ausreichend, die entsprechende Variable in der Datei
   /etc/rc.conf zu setzen:

 ftpd_enable="YES"

   Nachdem Sie diese Variable gesetzt haben, wird ku:nftig beim
   Systemstart nur der FTP-Server gestartet. Alternativ ko:nnen Sie
   den Server auch manuell starten, indem Sie als Benutzer root den
   folgenden Befehl ausfu:hren:

 # /etc/rc.d/ftpd start

   Danach ko:nnen Sie sich auf Ihrem FTP-Server anmelden:

 % ftp localhost

     --------------------------------------------------------------

  29.8.3. Wartung

   Der ftpd-Daemon verwendet syslog(3), um Protokolldateien zu
   erstellen. In der Voreinstellung werden alle FTP betreffenden
   Nachrichten in die Datei /var/log/xferlog geschrieben. Dies la:sst
   sich aber durch das Einfu:gen der folgenden Zeile in
   /etc/syslog.conf a:ndern:

 ftp.info      /var/log/xferlog

   Beachten Sie, dass mit dem Betrieb eines anonymen FTP-Servers
   verschiedene Sicherheitsrisiken verbunden sind. Problematisch ist
   hier vor allem die Erlaubnis zum anonymen Upload von Dateien.
   Dadurch ko:nnte Ihr Server zur Verbreitung von illegaler oder
   nicht lizensierter Software oder noch Schlimmeren missbraucht
   werden. Wollen Sie anonyme Uploads dennoch erlauben, sollten Sie
   die Zugriffsrechte so setzen, dass solche Dateien erst nach Ihrer
   Zustimmung von anderen Benutzern heruntergeladen werden ko:nnen.

     --------------------------------------------------------------

29.9. Mit Samba einen Datei- und Druckserver fu:r
Microsoft Windows-Clients einrichten

   Beigetragen von Murray Stokely.

     --------------------------------------------------------------

  29.9.1. U:berblick

   Samba ist ein beliebtes Open Source-Softwarepaket, das es Ihnen
   ermo:glicht, einen Datei- und Druckserver fu:r
   Microsoft Windows-Clients einzurichten. Clients ko:nnen sich
   dadurch mit einem FreeBSD-System verbinden und dessen
   Speicherplatz oder dessen Drucker verwenden. Dies genauso, als
   wenn es sich um lokale Drucker oder Festplatten handeln wu:rde.

   Samba sollte als Softwarepaket auf Ihren Installationsmedien
   vorhanden sein. Wenn Sie Samba noch nicht installiert haben,
   ko:nnen Sie dies jederzeit u:ber den Port oder das Paket
   net/samba3 nachholen.

     --------------------------------------------------------------

  29.9.2. Konfiguration

   Die Standardkonfigurationsdatei von Samba heisst
   /usr/local/share/examples/samba/smb.conf.default. Diese Datei muss
   nach /usr/local/etc/smb.conf kopiert und angepasst werden, bevor
   Samba verwendet werden kann.

   Die Datei smb.conf entha:lt Laufzeitinformationen fu:r Samba,
   beispielsweise Druckerdefinitionen oder filesystem shares, also
   Bereiche des Dateisystems, die Sie mit Windows-Clients teilen
   wollen. Die Konfiguration der Datei smb.conf erfolgt webbasiert
   u:ber das im Samba-Paket enthaltene Programm swat.

     --------------------------------------------------------------

    29.9.2.1. Das Samba Web Administration Tool (SWAT) verwenden

   Das Samba Web Administration Tool (SWAT) wird als Daemon von inetd
   aktiviert. Daher mu:ssen Sie den Kommentar vor der folgenden Zeile
   in /etc/inetd.conf entfernen, bevor Sie swat zur Konfiguration von
   Samba verwenden ko:nnen:

 swat   stream  tcp     nowait/400      root    /usr/local/sbin/swat    swat

   Wie bereits in Beispiel 29-1 beschrieben, mu:ssen Sie die
   inetd-Konfiguration neu einlesen, nachdem Sie diese A:nderung
   durchgefu:hrt haben.

   Nachdem swat in der Datei inetd.conf aktiviert wurde, rufen Sie in
   Ihrem Internetbrowser die Adresse http://localhost:901 auf und
   melden sich mit dem root-Benutzerkonto an.

   Nachdem Sie sich erfolgreich angemeldet haben, wird die
   Hauptkonfigurationseite von Samba geladen. Sie ko:nnen nun die
   Dokumentation lesen, oder durch einen Klick auf die
   Globals-Karteikarte mit der Konfiguration beginnen. Die
   Einstellungen, die Sie hier vornehmen ko:nnen, entsprechen denen
   des Abschnitts [global] von /usr/local/etc/smb.conf.

     --------------------------------------------------------------

    29.9.2.2. Globale Einstellungen

   Unabha:ngig davon, ob Sie swat verwenden, oder
   /usr/local/etc/smb.conf direkt editieren, sollten Sie zuerst
   folgende Einstellungen anpassen:

   workgroup

           Der NT-Doma:nenname oder der Arbeitsgruppenname der
           Rechner, die auf den Server Zugriff haben sollen.

   netbios name

           Legt den NetBIOS-Namen fest, unter dem der Samba-Server
           bekannt ist. In der Regel handelt es sich dabei um den
           ersten Teil des DNS-Namens des Servers.

   server string

           Legt die Beschreibung fest, die angezeigt werden soll,
           wenn mit net view oder u:ber andere Netzwerkprogramme
           Informationen u:ber den Server angefordert werden.

     --------------------------------------------------------------

    29.9.2.3. Samba absichern

   Zwei der wichtigsten Einstellungen in /usr/local/etc/smb.conf
   betreffen das zu verwendende Sicherheitsmodell sowie das
   Backend-Passwortformat fu:r die Benutzer der Samba-Clients.
   Folgende Optionen sind dafu:r verantwortlich:

   security

           Die ha:ufigsten Optionen sind security = share und
           security = user. Wenn Ihre Clients Benutzernamen
           verwenden, die den Benutzernamen auf Ihrem FreeBSD-Rechner
           entsprechen, dann sollten Sie die Einstellung user level
           verwenden. Dies ist auch die Standardeinstellung.
           Allerdings ist es dazu erforderlich, dass sich die Clients
           auf Ihrem Rechner anmelden, bevor sie auf gemeinsame
           Ressourcen zugreifen ko:nnen.

           In der Einstellung share level mu:ssen sich Clients nicht
           unter Verwendung eines gu:ltigen Logins auf Ihrem Rechner
           anmelden, bevor sie auf gemeinsame Ressourcen zugreifen
           ko:nnen. In fru:heren Samba-Versionen war dies die
           Standardeinstellung.

   passdb backend

           Samba erlaubt verschiedene
           Backend-Authentifizierungsmodelle. Sie ko:nnen Clients
           durch LDAP, NIS+, eine SQL-Datenbank oder eine
           Passwortdatei authentifizieren. In der Voreinstellung wird
           smbpasswd verwendet. Diese Methode wird im folgenden
           Abschnitt na:her beschrieben.

   Wenn Sie smbpasswd verwenden, mu:ssen Sie die Datei
   /usr/local/private/smbpasswd erzeugen, damit Samba in der Lage
   ist, Clients zu authentifizieren. Wenn Sie auf Ihrem UNIX-Rechner
   vorhandenen Benutzern den Zugriff von einem Windows-Client aus
   ermo:glichen wollen, verwenden Sie den folgenden Befehl:

 # smbpasswd -a username

     Anmerkung: Seit Samba 3.0.23c befinden sich dessen
     Authentifizierungsdateien in der Voreinstellung im Verzeichnis
     /usr/local/etc/samba. Als Backend wird inzwischen tdbsam
     empfohlen. Mit dem folgenden Befehl legen Sie neue
     Benutzerkonten an:

 # pdbedit -a -u username

   Ausfu:hrliche Informationen zur Konfiguration von Samba finden Sie
   im Official Samba HOWTO. Sie sollten aber bereits nach dem Lesen
   dieses Abschnitts in der Lage sein, Samba zu starten.

     --------------------------------------------------------------

  29.9.3. Samba starten

   Der Port net/samba3 legt ein neues Startskript an, mit dem Samba
   gesteuert (also etwa gestartet oder beendet) werden kann. Um
   dieses Skript zu aktivieren, fu:gen Sie folgende Zeile in
   /etc/rc.conf ein:

 samba_enable="YES"

   Alternativ ko:nnen Sie auch die folgenden beiden Eintra:ge
   verwenden:

 nmbd_enable="YES"

 smbd_enable="YES"

     Anmerkung: Durch diese Eintra:ge Samba beim Systemstart
     automatisch aktiviert.

   Danach ko:nnen Sie Samba jederzeit durch folgenden Befehl starten:

 # /usr/local/etc/rc.d/samba start
 Starting SAMBA: removing stale tdbs :
 Starting nmbd.
 Starting smbd.

   Weitere Informationen zu den rc-Startskripten finden Sie im
   Abschnitt 11.7 des Handbuchs.

   Samba verwendet drei Daemonen. Beachten Sie, dass sowohl nmbd als
   auch smbd durch das Skript samba gestartet werden. Wenn Sie die
   winbind name resolution services in smb.conf aktiviert haben, wird
   zusa:tzlich der winbindd-Daemon gestartet.

   Sie ko:nnen Samba jederzeit durch den folgenden Befehl beenden:

 # /usr/local/etc/rc.d/samba stop

   Samba ist ein komplexes Softwarepaket mit umfassenden Funktionen,
   die eine weitreichende Integration von
   Microsoft Windows-Netzwerken ermo:glichen. Fu:r eine Beschreibung
   dieser Zusatzfunktionen sollten Sie sich auf http://www.samba.org
   umsehen.

     --------------------------------------------------------------

29.10. Die Uhrzeit mit NTP synchronisieren

   Beigetragen von Tom Hukins.

     --------------------------------------------------------------

  29.10.1. U:berblick

   Da die interne Uhrzeit eines Computers nie ganz exakt ist, wurde
   mit NTP (Network Time Protocol) eine Mo:glichkeit geschaffen, die
   exakte Uhrzeit zu ermitteln und festzulegen.

   Viele Internetdienste sind von einer exakten Uhrzeit abha:ngig.
   Ein Webserver ko:nnte beispielsweise die Anforderung erhalten,
   eine Datei zu versenden, wenn sich diese in einer bestimmten
   Zeitspanne gea:ndert hat. In einem lokalen Netzwerk ist es
   unbedingt notwendig, dass Rechner, die Dateien von einem
   gemeinsamen Dateiserver beziehen, ihre Uhrzeit synchronisieren,
   damit die Zeitstempel der Dateien konstistent bleiben. Dienste wie
   cron(8) fu:hren Befehle zu einem bestimmten Zeitpunkt aus. Ist die
   Uhrzeit nicht korrekt, kann dies zu Problemen fu:hren.

   FreeBSD verwendet den ntpd(8)- NTP-Server, um die genaue Uhrzeit
   von anderen NTP-Servern abzufragen, die eigene Systemzeit zu
   setzen, oder um diese anderen Rechnern anzubieten.

     --------------------------------------------------------------

  29.10.2. Einen passenden NTP-Server auswa:hlen

   Um die Uhrzeit zu synchronisieren, mu:ssen Sie sich mit einem
   NTP-Server verbinden. Ihr Netzwerkadministrator oder Ihr
   Internetprovider haben vielleicht schon einen NTP-Server
   eingerichtet. Lesen Sie deren Dokumentation, um dies zu
   u:berpru:fen. Es gibt im Internet eine Liste mit frei
   zuga:nglichen NTP-Servern, aus der Sie sich einen in Ihrer Na:he
   gelegenen Server auswa:hlen ko:nnen. Beachten Sie aber auf jeden
   Fall die Nutzungsbedingungen des entsprechenden Servers, und
   fragen Sie um Erlaubnis, wenn dies no:tig ist.

   Die Auswahl von mehreren NTP-Servern kann sinnvoll sein, wenn ein
   Server ausfa:llt oder falsche Zeiten liefert. ntpd(8) verwendet
   die Antworten anderer Server, um zuverla:ssige Server zu
   bestimmen, die dann bevorzugt abgefragt werden.

     --------------------------------------------------------------

  29.10.3. NTP unter FreeBSD einrichten

     --------------------------------------------------------------

    29.10.3.1. NTP aktivieren

   Wenn Sie Ihre Uhrzeit nur beim Systemstart synchronisieren wollen,
   ko:nnen Sie ntpdate(8) verwenden. Fu:r Desktoprechner, die
   regelma:ssig neu gestartet werden und keine sta:ndige
   Synchronisation beno:tigen, ist dies akzeptabel. In allen anderen
   Fa:llen sollten Sie jedoch ntpd(8) verwenden.

   Die Ausfu:hrung von ntpdate(8) wa:hrend des Systemstarts ist aber
   auch fu:r Rechner, die ntpd(8) verwenden, sinnvoll. ntpd(8) passt
   die Systemzeit nur bei gro:sseren Abweichungen an, wa:hrend
   ntpdate(8) die Zeit immer synchronisiert, egal wie gross die
   Differenz zwischen Systemzeit und korrekter Zeit ist.

   Um ntpdate(8) beim Systemstart zu aktivieren, fu:gen Sie den
   Eintrag ntpdate_enable="YES" in /etc/rc.conf ein. Ausserdem
   mu:ssen Sie alle Server, mit denen Sie sich synchronisieren
   wollen, sowie alle an ntpdate(8) zu u:bergebenden Optionen in den
   ntpdate_flags angeben.

     --------------------------------------------------------------

    29.10.3.2. NTP einrichten

   Die Konfiguration von NTP erfolgt u:ber die Datei /etc/ntp.conf,
   und wird in der Hilfeseite ntp.conf(5) beschrieben. Dazu ein
   einfaches Beispiel:

 server ntplocal.example.com prefer
 server timeserver.example.org
 server ntp2a.example.net

 driftfile /var/db/ntp.drift

   Die Option server legt die zu verwendenden Server fest, wobei
   jeder Server in einer eigenen Zeile steht. Wenn ein Server mit der
   Option prefer versehen ist, wie dies hier bei ntplocal.example.com
   der Fall ist, wird dieser Server bevorzugt verwendet. Eine Antwort
   von einem bevorzugten Server wird nur dann verworfen, wenn sie
   signifikant von denen anderer Server abweicht, ansonsten wird sie
   ohne Abfrage weiterer Server verwendet. Die Option prefer wird
   gewo:hnlich nur fu:r sehr zuverla:ssige und genaue Server
   verwendet, die u:ber spezielle Hardware zur Zeitu:berwachung
   verfu:gen.

   Die Option driftfile legt fest, in welcher Datei die Abweichungen
   der Systemuhr protokolliert werden. ntpd(8) verwendet diese Datei,
   um die Systemzeit automatisch anzupassen, selbst wenn kurzzeitig
   kein NTP-Server zur Synchronisation verfu:gbar ist.

   Weiterhin legt die Option driftfile fest, wo Informationen u:ber
   fru:here Antworten des von Ihnen verwendeten NTP-Servers
   gespeichert werden sollen. Diese Datei entha:lt NTP-interne
   Informationen, sie sollte daher von anderen Prozessen nicht
   vera:ndert werden.

     --------------------------------------------------------------

    29.10.3.3. Den Zugang zu Ihrem NTP-Server beschra:nken

   In der Voreinstellung ist Ihr NTP-Server fu:r alle Rechner im
   Internet erreichbar. U:ber die Option restrict in der Datei
   /etc/ntp.conf ko:nnen Sie den Zugang zu Ihrem Server beschra:nken.

   Wenn Sie alle Rechner vom Zugriff auf Ihren NTP-Server
   ausschliessen wollen, fu:gen Sie folgende Zeile in /etc/ntp.conf
   ein:

 restrict default ignore

     Anmerkung: Durch diesen Eintrag verhindern Sie den Zugriff Ihres
     Servers auf alle auf Ihrem System konfigurierten Server. Mu:ssen
     Sie Ihren NTP-Server mit einem externen NTP-Server
     synchronisieren, mu:ssen Sie dies daher dezidiert zulassen.
     Lesen Sie in diesem Fall die Manualpage ntp.conf(5).

   Wenn Sie nur Rechnern Ihres eigenen Netzwerks die Synchronisation
   mit Ihrem NTP-Server erlauben, gleichzeitig aber verhindern
   wollen, dass diese den NTP-Server konfigurieren oder als Server
   fu:r andere Rechner dienen ko:nnen, fu:gen Sie folgende Zeile ein:

 restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

   Bei 192.168.1.0 handelt es sich um einen Rechner Ihres Netzwerks.
   255.255.255.0 ist die Netzmaske Ihres Netzwerks.

   /etc/ntp.conf kann verschiedene restrict-Optionen enthalten.
   Weiteres erfahren Sie im Abschnitt Access Control Support der
   Hilfeseite ntp.conf(5).

     --------------------------------------------------------------

  29.10.4. Den NTP-Server starten

   Damit der NTP-Server beim Systemstart automatisch gestartet wird,
   fu:gen Sie den Eintrag ntpd_enable="YES" in /etc/rc.conf ein. Wenn
   Sie weitere Argumente an ntpd(8) u:bergeben wollen, passen Sie die
   Option ntpd_flags in der Datei /etc/rc.conf entsprechend an.

   Um den NTP-Server ohne einen Systemneustart zu starten, rufen Sie
   ntpd mit den unter ntpd_flags in /etc/rc.conf festgelegten
   Parametern auf. Hierzu ein Beispiel:

 # ntpd -p /var/run/ntpd.pid

     --------------------------------------------------------------

  29.10.5. ntpd mit einer Einwahlverbindung verwenden

   ntpd(8) beno:tigt keine sta:ndige Internetverbindung. Wenn Sie
   sich ins Internet einwa:hlen, ist es sinnvoll, zu verhindern, dass
   NTP-Verkehr eine Verbindung aufbauen oder aufrechterhalten kann.
   Wenn Sie user-PPP verwenden, ko:nnen Sie dies in den
   filter-Direktiven von /etc/ppp/ppp.conf festlegen. Sehen Sie sich
   dazu das folgende Beispiel ein:

 set filter dial 0 deny udp src eq 123
 # Prevent NTP traffic from initiating dial out
 set filter dial 1 permit 0 0
 set filter alive 0 deny udp src eq 123
 # Prevent incoming NTP traffic from keeping the connection open
 set filter alive 1 deny udp dst eq 123
 # Prevent outgoing NTP traffic from keeping the connection open
 set filter alive 2 permit 0/0 0/0

   Weitere Informationen finden Sie im Abschnitt PACKET FILTERING von
   ppp(8) sowie in den Beispielen unter /usr/share/examples/ppp/.

     Anmerkung: Einige Internetprovider blockieren Ports mit
     niedrigen Nummern. In solchen Fa:llen funktioniert NTP leider
     nicht, da Antworten eines NTP-Servers Ihren Rechner nicht
     erreichen werden.

     --------------------------------------------------------------

  29.10.6. Weitere Informationen

   Weiterfu:hrende Dokumentation (im HTML-Format) zum NTP-Server
   finden Sie unter /usr/share/doc/ntp/.

     --------------------------------------------------------------

                         Kapitel 30. Firewalls

   Beigetragen von Joseph J. Barbish. Nach SGML konvertiert und
   aktualisiert von Brad Davis. Teilweise u:bersetzt von Michael
   Bunzel.

     --------------------------------------------------------------

30.1. Einfu:hrung

   Firewalls ermo:glichen es, den ein- und ausgehenden
   Netzwerkverkehr Ihres Systems zu filtern. Dazu verwendet eine
   Firewall eine oder mehrere Gruppen von "Regeln", um ankommende
   Netzwerkpakete zu untersuchen und entweder durchzulassen oder zu
   blockieren. Die Regeln einer Firewall untersuchen
   charakteristische Eigenschaften von Datenpaketen, darunter den
   Protokolltyp, die Quell- und Zieladresse sowie den Quell- und
   Zielport.

   Firewalls ko:nnen die Sicherheit eines Rechners oder eines
   Netzwerks erho:hen, indem sie folgende Aufgaben u:bernehmen:

     * Den Schutz der Anwendungen, Dienste und Rechner Ihres internen
       Netzwerks vor unerwu:nschtem Datenverkehr aus dem Internet.

     * Die Beschra:nkung des Zugriffs von Rechnern des internen
       Netzwerk auf Rechner oder Dienste des externen Internets.

     * Den Einsatz von Network Address Translation (NAT), die es
       Ihnen durch die Verwendung von privaten IP-Adressen
       ermo:glicht, eine einzige gemeinsame Internetverbindung fu:r
       mehrere Rechner zu nutzen (entweder u:ber eine einzige Adresse
       oder u:ber eine Gruppe von jeweils automatisch zugewiesenen
       o:ffentlichen IP-Adressen).

   Nachdem Sie dieses Kapitel gelesen haben, werden Sie:

     * Wissen, wie man korrekte Paketfilterregeln erstellt.

     * Die Unterschiede zwischen den in FreeBSD eingebauten Firewalls
       kennen.

     * Wissen, wie man die PF-Firewall von OpenBSD konfiguriert und
       einsetzt.

     * IPFILTER konfigurieren und einsetzen ko:nnen.

     * Wissen, wie man IPFW konfiguriert und einsetzt.

   Bevor Sie dieses Kapitel lesen, sollten Sie:

     * Die grundlegenden Konzepte von FreeBSD und dem Internet
       verstehen.

     --------------------------------------------------------------

30.2. Firewallkonzepte

   Es gibt zwei grundlegende Arten, Regelgruppen fu:r Firewalls zu
   erstellen: "einschliessend" (inclusive firewall) sowie
   "auschliessend" (exclusive Firewall). Eine auschliessende Firewall
   la:sst jeden Datenverkehr durch, der nicht durch eine Regel
   ausgeschlossen wurde. Eine einschliessende Firewall macht das
   genaue Gegenteil. Sie la:sst Datenverkehr nur dann durch, wenn er
   einer der definierten Regeln entspricht.

   Einschliessende Firewalls sind tendentiell sicherer als
   ausschliessende Firewalls, da sie das Risiko, dass unerwu:nschter
   Datenverkehr die Firewall passiert, signifikant reduzieren.

   Die Sicherheit einer Firewall kann durch den Einsatz einer
   "zustandsabha:ngigen Firewall" (stateful firewall) weiter erho:ht
   werden. Eine zustandsabha:ngige Firewall u:berwacht alle durch die
   Firewall gehenden offenen Verbindungen und erlaubt nur schon
   bestehenden Verkehr oder Datenverkehr, der eine neue Verbindung
   o:ffnet. Der Nachteil einer zustandsabha:ngigen Firewall ist
   allerdings, dass sie anfa:llig fu:r Denial of Service (DoS)
   -Attacken ist, wenn sehr schnell sehr viele neue Verbindungen
   erstellt werden. Bei den meisten Firewalls ko:nnen Sie eine
   Kombination aus zustandsabha:ngigem und nicht zustandsabha:ngigem
   Verhalten verwenden, um eine fu:r Ihre Bedu:rfnisse optimale
   Fireall einzurichten.

     --------------------------------------------------------------

30.3. Firewallpakete

   Das Basissystem von FreeBSD entha:lt bereits drei Firewallpakete:
   IPFILTER (auch als IPF bekannt), IPFIREWALL (auch als IPFW
   bezeichnet) sowie das von OpenBSD u:bernommene PacketFilter (das
   auch als PF bezeichnet wird). Zusa:tzlich verfu:gt FreeBSD u:ber
   zwei eingebaute Pakete fu:r das sogenannte traffic shaping (dabei
   handelt es sich die Steuerung des Bandbreitenverbrauchs): altq(4)
   sowie dummynet(4). Dummynet steht traditionell in enger Verbindung
   mit IPFW, wa:hrend ALTQ gemeinsam mit PF eingesetzt wird. Traffic
   Shaping fu:r IPFILTER ist derzeit mit IPFILTER fu:r NAT sowie
   Filterung und mit IPFW und dummynet(4) oder durch die Kombination
   von PF mit ALTQ mo:glich. Gemeinsam ist allen Firewallpaketen
   (IPF, IPFW sowie PF), dass sie Regeln einsetzen, um den Transfer
   von Datenpaketen auf und von Ihrem System zu regeln.
   Unterschiedlich sind aber die Art und Weise, wie dies realisiert
   wird. Auch die fu:r diese Regeln verwendete Syntax ist
   unterschiedlich.

   FreeBSD u:berla:sst es dem Anwender, das Firewallsystem zu
   wa:hlen, dass seinen Anforderungen und Vorlieben am Besten
   entspricht. Keines der im Basissystem enthaltenen Firewallpakete
   wird dabei als "das beste" angesehen.

   IPFILTER hat etwa den Vorteil, dass dessen zustandsabha:ngige
   Regeln relativ einfach in einer NAT-Umgebung implementiert werden
   ko:nnen. Ausserdem verfu:gt es u:ber einen eigenen FTP-Proxy, der
   die Erstellung von sicheren Regeln fu:r ausgehende
   FTP-Verbindungen vereinfacht.

   Da alle Firewalls auf der Untersuchung der Werte ausgewa:hlter
   Kontrollfelder von Datenpaketen basieren, ist es fu:r die
   Erstellung von Firewallregeln notwendig, die Funktionsweise von
   TCP/IP zu verstehen. Ausserdem muss man dazu wissen, was die Werte
   der einzelnen Kontrollfelder bedeuten und wie diese wa:hrend einer
   Verbindung eingesetzt werden. Eine gute Erkla:rung dieser Thematik
   finden Sie unter http://www.ipprimer.com/overview.cfm.

     --------------------------------------------------------------

30.4. Paket Filter (PF) von OpenBSD und ALTQ

   Im Juli 2003 wurde PF, die Standard-Firewall von OpenBSD, nach
   FreeBSD portiert und in die FreeBSD-Ports-Sammlung aufgenommen.
   Die erste FreeBSD-Version, die PF als Teil des Basisssytems
   enthielt, war FreeBSD 5.3 im November 2004. Bei PF handelt es sich
   um eine komplette, vollausgestattete Firewall, die optional auch
   ALTQ (Alternatives Queuing) unterstu:tzt. ALTQ bietet Ihnen
   Quality of Service (QoS)-Bandbreitenformung. Dadurch ko:nnen Sie,
   basierend auf Filterregeln, unterschiedlichen Diensten eine
   bestimmte Bandbreite garantieren. Da das OpenBSD-Projekt bereits
   u:ber eine hervorragende Dokumentation verfu:gt, wurde das
   PF-Handbuch nicht in dieses Kapitel aufgenommen.

   Weitere Informationen finden Sie unter
   http://pf4freebsd.love2party.net/.

     --------------------------------------------------------------

  30.4.1. PF aktivieren

   PF ist in Standardinstallationen von FreeBSD 5.3 oder neuer als
   eigenes, zur Laufzeit ladbares Kernelmodul enthalten. Das System
   la:dt das PF-Kernelmodul automatisch, wenn die Anweisung
   pf_enable="YES" in /etc/rc.conf enthalten ist. Das ladbare
   Kernelmodul wurde mit aktivierter pflog(4)-Protokollierung
   erstellt.

     Anmerkung: Das Kernelmodul geht davon aus, dass die Eintra:ge
     options INET sowie device bpf in Ihrer Kernelkonfigurationsdatei
     vorhanden sind. Haben Sie NO_INET6 (seit FreeBSD 6.X) oder
     NOINET6 (in FreeBSD-Versionen vor 6.X) nicht definiert,
     beno:tigen Sie (etwa in make.conf(5)) zusa:tzlich die Option
     options INET6.

   Nachdem Sie das Kernelmodul geladen oder die PF-Unterstu:tzung
   statisch in Ihren Kernel kompiliert haben, ko:nnen Sie pf u:ber
   den Befehl pfctl aktivieren beziehungsweise deaktivieren.

   Das folgende Beispiel zeigt, wie Sie pf aktivieren:

 # pfctl -e

   pfctl ermo:glicht es Ihnen, die pf-Firewall zu steuern. Lesen Sie
   pfctl(8), bevor Sie das Programm einsetzen.

     --------------------------------------------------------------

  30.4.2. Kernel-Optionen

   Es ist nicht zwingend no:tig, dass Sie PF durch die Angabe der
   folgenden Optionen in den FreeBSD-Kernel kompilieren. Kompilieren
   Sie die PF-Unterstu:tzung in Ihren Kernel, so wird das Kernelmodul
   nie verwendet werden. Die folgenden Angaben dienen daher nur als
   Hintergrundinformationen.

   /usr/src/sys/conf/NOTES entha:lt Beispiele fu:r die
   Kernelkonfigurationsoptionen von PF:

 device pf
 device pflog
 device pfsync

   device pf aktiviert die Unterstu:tzung fu:r die "Packet
   Filter"-Firewall.

   device pflog aktiviert das optionale
   pflog(4)-Pseudonetzwerkgera:t, das zum Protokollieren des
   Datenverkehrs u:ber einen bpf(4)-Deskriptor dient. pflogd(8) ist
   in der Lage, diese Protokolldateien auf Ihre Platte zu speichern.

   device pfsync aktiviert das optionale
   pfsync(4)-Pseudonetzwerkgera:t fu:r die U:berwachung von
   "Statusa:nderungen". Da es sich dabei nicht um einen Bestandteil
   des Kernelmoduls handelt, muss diese Option auf jeden Fall in den
   Kernel kompiliert werden, bevor man sie verwenden kann.

   Diese Einstellungen werden erst dann u:bernommen, wenn man einen
   Kernel mit diesen Optionen kompiliert und installiert.

     --------------------------------------------------------------

  30.4.3. Verfu:gbare rc.conf-Optionen

   Um PF beim Systemstart zu aktivieren, beno:tigen Sie die folgenden
   Eintra:ge in /etc/rc.conf:

 pf_enable="YES"                 # PF aktivieren(Modul, wenn no:tig, aktivieren)
 pf_rules="/etc/pf.conf"         # Datei mit Regeldefinitionen fu:r pf
 pf_flags=""                     # zusa:tzliche Parameter fu:r den Start von pfctl
 pflog_enable="YES"              # stare pflogd(8)
 pflog_logfile="/var/log/pflog"  # wo soll pflogd die Protokolldatei speichern
 pflog_flags=""                  # zusa:tzliche Parameter fu:r den Start von pflogd

   Wenn Sie ein lokales Netzwerk hinter dieser Firewall betreiben,
   und Pakete fu:r dessen Rechner weiterleiten oder NAT verwenden
   wollen, beno:tigen Sie zusa:tzlich die folgende Option:

 gateway_enable="YES"            # LAN Gateway aktivieren

     --------------------------------------------------------------

  30.4.4. ALTQ aktivieren

   ALTQ muss vor der Verwendung in den FreeBSD-Kernel kompiliert
   werden. Beachten Sie, dass ALTQ nicht von allen verfu:gbaren
   Netzwerkkartentreibern unterstu:tzt wird. Sehen Sie daher zuerst
   in altq(4) nach, ob Ihre Netzwerkkarte diese Funktion unter Ihrer
   FreeBSD-Version unterstu:tzt. Die folgenden Kerneloptionen
   aktivieren ALTQ sowie alle Zusatzfunktionen:

 options         ALTQ
 options         ALTQ_CBQ        # Class Bases Queuing (CBQ)
 options         ALTQ_RED        # Random Early Detection (RED)
 options         ALTQ_RIO        # RED In/Out
 options         ALTQ_HFSC       # Hierarchical Packet Scheduler (HFSC)
 options         ALTQ_PRIQ       # Priority Queuing (PRIQ)
 options         ALTQ_NOPCC      # Wird von SMP beno:tigt

   options ALTQ aktiviert das ALTQ-Framework.

   options ALTQ_CBQ aktiviert das Class Based Queuing (CBQ). CBQ
   erlaubt es, die Bandbreite einer Verbindung in verschiedene
   Klassen oder Warteschlangen zu unterteilen, um die Priorita:t von
   Datenpaketen basierend auf Filterregeln zu a:ndern.

   options ALTQ_RED aktiviert Random Early Detection (RED). RED wird
   zur Vermeidung einer Netzwerkverstopfung verwendet. Dazu ermittelt
   RED die Gro:sse der Warteschlange und vergleicht diesen Wert mit
   den minimalen und maximalen Grenzwerten der Warteschlange. Ist die
   Warteschlange gro:sser als das erlaubte Maximum, werden alle neuen
   Pakete verworfen. Getreu seinem Namen verwirft RED Pakete
   unterschiedlicher Verbindungen nach dem Zufallsprinzip.

   options ALTQ_RIO aktiviert Random Early Detection In and Out.

   options ALTQ_HFSC aktiviert den Hierarchical Fair Service Curve
   -Paketplaner. Weitere Informationen zu HFSC finden Sie unter
   http://www-2.cs.cmu.edu/~hzhang/HFSC/main.html.

   options ALTQ_PRIQ aktiviert Priority Queuing (PRIQ). PRIQ la:sst
   Verkehr einer Warteschlange mit ho:herer Priorita:t zuerst durch.

   options ALTQ_NOPCC aktiviert die SMP Unterstu:tzung von ALTQ.
   Diese Option ist nur auf SMP-System erforderlich.

     --------------------------------------------------------------

  30.4.5. Filterregeln generieren

   Der Packetfilter liest seine Konfiguration aus der Datei
   pf.conf(5) ein, um entsprechend der dort definierten Regeln Pakete
   durchzulassen oder zu verwerfen. Die Standardinstallation von
   FreeBSD entha:lt bereits eine beispielhafte Version der Datei
   /etc/pf.conf mit einigen hilfreichen Beispielen und Erkla:rungen.

   Obwohl FreeBSD eine eigene Version der Datei /etc/pf.conf
   entha:lt, wird dennoch die gleiche Syntax wie unter OpenBSD
   verwendet. Das OpenBSD-Team hat eine grossartige Dokumentation zur
   Konfiguration von pf geschrieben, die unter
   http://www.openbsd.org/faq/pf/ erha:ltlich ist.

     Warnung: Denken Sie beim Lesen des pf-Handbuch daran, dass die
     verschiedenen FreeBSD-Versionen unterschiedliche Versionen der
     pf-Firewall einsetzen. So wird unter FreeBSD 5.X noch die
     OpenBSD-Version 3.5 der Firewall verwendet, wa:hrend in den
     FreeBSD-6.X-Versionen die OpenBSD-Version 3.7 zum Einsatz kommt.

   Haben Sie weitere Fragen zur pf-Firewall, so ko:nnen Sie diese auf
   der Mailingliste FreeBSD packet filter mailing list stellen.
   Vergessen Sie aber nicht, vorher die Archive der Mailinglisten zu
   durchsuchen, bevor Sie dort eine Frage stellen.

     --------------------------------------------------------------

30.5. Die IPFILTER-Firewall (IPF)

   Dieses Kapitel ist noch nicht u:bersetzt. Lesen Sie bitte das
   Original in englischer Sprache. Wenn Sie helfen wollen, dieses
   Kapitel zu u:bersetzen, senden Sie bitte eine E-Mail an die
   Mailingliste 'FreeBSD German Documentation Project'
   <de-bsd-translators@de.FreeBSD.org>.

     --------------------------------------------------------------

30.6. IPFW

   Dieses Kapitel ist noch nicht u:bersetzt. Lesen Sie bitte das
   Original in englischer Sprache. Wenn Sie helfen wollen, dieses
   Kapitel zu u:bersetzen, senden Sie bitte eine E-Mail an die
   Mailingliste 'FreeBSD German Documentation Project'
   <de-bsd-translators@de.FreeBSD.org>.

     --------------------------------------------------------------

               Kapitel 31. Weiterfu:hrende Netzwerkthemen

   U:bersetzt von Johann Kois.

31.1. U:bersicht

   Dieses Kapitel beschreibt verschiedene weiterfu:hrende
   Netzwerkthemen.

   Nachdem Sie dieses Kapitel gelesen haben, werden Sie

     * Die Grundlagen von Gateways und Routen kennen.

     * Bluetooth- sowie drahtlose, der Norm IEEE(R) 802.11
       entsprechende, Gera:te mit FreeBSD verwenden ko:nnen.

     * Eine Bridge unter FreeBSD einrichten ko:nnen.

     * Einen plattenlosen Rechner u:ber das Netzwerk starten ko:nnen.

     * Wissen, wie man NAT (Network Address Translation) einrichtet.

     * Zwei Computer u:ber PLIP verbinden ko:nnen.

     * IPv6 auf einem FreeBSD-Rechner einrichten ko:nnen.

     * ATM einrichten ko:nnen.

     * CARP, das Common Address Redundancy Protocol, unter FreeBSD
       einsetzen ko:nnen.

   Bevor Sie dieses Kapitel lesen, sollten Sie

     * Die Grundlagen der /etc/rc-Skripte verstanden haben.

     * Mit der grundlegenden Netzwerkterminologie vertraut sein.

     * Einen neuen FreeBSD-Kernel konfigurieren und installieren
       ko:nnen (Kapitel 8).

     * Wissen, wie man zusa:tzliche Softwarepakete von
       Drittherstellern installiert (Kapitel 4).

     --------------------------------------------------------------

31.2. Gateways und Routen

   Beigetragen von Coranth Gryphon.

   Damit ein Rechner einen anderen u:ber ein Netzwerk finden kann,
   muss ein Mechanismus vorhanden sein, der beschreibt, wie man von
   einem Rechner zum anderen gelangt. Dieser Vorgang wird als Routing
   bezeichnet. Eine "Route" besteht aus einem definierten
   Adressenpaar: Einem "Ziel" und einem "Gateway". Dieses Paar zeigt
   an, dass Sie u:ber das Gateway zum Ziel gelangen wollen. Es gibt
   drei Arten von Zielen: Einzelne Rechner (Hosts), Subnetze und das
   "Standard"ziel. Die "Standardroute" wird verwendet, wenn keine
   andere Route zutrifft. Wir werden Standardrouten spa:ter etwas
   genauer behandeln. Ausserdem gibt es drei Arten von Gateways:
   Einzelne Rechner (Hosts), Schnittstellen (Interfaces, auch als
   "Links" bezeichnet), sowie Ethernet Hardware-Adressen
   (MAC-Adressen).

     --------------------------------------------------------------

  31.2.1. Ein Beispiel

   Um die verschiedenen Aspekte des Routings zu veranschaulichen,
   verwenden wir folgende Ausgaben von netstat:

 % netstat -r
 Routing tables

 Destination               Gateway            Flags       Refs     Use     Netif Expire

 default                   outside-gw         UGSc        37       418     ppp0
 localhost                 localhost          UH          0        181     lo0
 test0                     0:e0:b5:36:cf:4f   UHLW        5        63288   ed0    77
 10.20.30.255              link#1             UHLW        1        2421
 example.com               link#1             UC          0        0
 host1                     0:e0:a8:37:8:1e    UHLW        3        4601    lo0
 host2                     0:e0:a8:37:8:1e    UHLW        0        5       lo0 =>
 host2.example.com         link#1             UC          0        0
 224                       link#1             UC          0        0

   Die ersten zwei Zeilen geben die Standardroute (die wir im
   na:chsten Abschnitt behandeln), sowie die localhost Route an.

   Das in der Routingtabelle fu:r localhost festgelegte Interface
   (Netif-Spalte) lo0, ist auch als loopback-Gera:t (Pru:fschleife)
   bekannt. Das heisst, dass der ganze Datenverkehr fu:r dieses Ziel
   intern (innerhalb des Gera:tes) bleibt, anstatt ihn u:ber ein
   Netzwerk (LAN) zu versenden, da das Ziel dem Start entspricht.

   Der na:chste auffa:llige Punkt sind die mit 0:e0: beginnenden
   Adressen. Es handelt sich dabei um Ethernet Hardwareadressen, die
   auch als MAC-Adressen bekannt sind. FreeBSD identifiziert Rechner
   im lokalen Netz automatisch (im Beispiel test0) und fu:gt eine
   direkte Route zu diesem Rechner hinzu. Dies passiert u:ber die
   Ethernet-Schnittstelle ed0. Ausserdem existiert ein Timeout (in
   der Spalte Expire) fu:r diese Art von Routen, der verwendet wird,
   wenn dieser Rechner in einem definierten Zeitraum nicht reagiert.
   Wenn dies passiert, wird die Route zu diesem Rechner automatisch
   gelo:scht. Rechner im lokalen Netz werden durch einen als RIP
   (Routing Information Protocol) bezeichneten Mechanismus
   identifiziert, der den ku:rzesten Weg zu den jeweiligen Rechnern
   bestimmt.

   FreeBSD fu:gt ausserdem Subnetzrouten fu:r das lokale Subnetz
   hinzu (10.20.30.255 ist die Broadcast-Adresse fu:r das Subnetz
   10.20.30, example.com ist der zu diesem Subnetz geho:rige
   Domainname). Das Ziel link#1 bezieht sich auf die erste
   Ethernet-Karte im Rechner. Sie ko:nnen auch feststellen, dass
   keine zusa:tzlichen Schnittstellen angegeben sind.

   Routen fu:r Rechner im lokalen Netz und lokale Subnetze werden
   automatisch durch den routed Daemon konfiguriert. Ist dieser nicht
   gestartet, sind nur statisch definierte (explizit eingegebene)
   Routen vorhanden.

   Die Zeile host1 bezieht sich auf unseren Rechner, der durch seine
   Ethernetadresse bekannt ist. Da unser Rechner der Sender ist,
   verwendet FreeBSD automatisch das Loopback-Gera:t (lo0), anstatt
   den Datenverkehr u:ber die Ethernetschnittstelle zu senden.

   Die zwei host2 Zeilen sind ein Beispiel dafu:r, was passiert, wenn
   wir ein ifconfig(8) Alias verwenden (Lesen Sie dazu den Abschnitt
   u:ber Ethernet, wenn Sie wissen wollen, warum wir das tun
   sollten.). Das Symbol => (nach der lo0-Schnittstelle) sagt aus,
   dass wir nicht nur das Loopbackgera:t verwenden (da sich die
   Adresse auf den lokalen Rechner bezieht), sondern dass es sich
   zusa:tzlich auch um ein Alias handelt. Solche Routen sind nur auf
   Rechnern vorhanden, die den Alias bereitstellen; alle anderen
   Rechner im lokalen Netz haben fu:r solche Routen nur eine einfache
   link#1 Zeile.

   Die letzte Zeile (Zielsubnetz 224) behandelt das Multicasting, das
   wir in einem anderen Abschnitt besprechen werden.

   Schliesslich gibt es fu:r Routen noch verschiedene Attribute, die
   Sie in der Spalte Flags finden. Nachfolgend finden Sie eine kurze
   U:bersicht von einigen dieser Flags und ihrer Bedeutung:

   U Up: Die Route ist aktiv.                                         
   H Host: Das Ziel der Route ist ein einzelner Rechner (Host).       
   G Gateway: Alle Daten, die an dieses Ziel gesendet werden, werden  
     von diesem System an ihr jeweiliges Ziel weitergeleitet.         
   S Static: Diese Route wurde manuell konfiguriert, das heisst sie   
     wurde nicht automatisch vom System erzeugt.                      
     Clone: Erzeugt eine neue Route, basierend auf der Route fu:r den 
   C Rechner, mit dem wir uns verbinden. Diese Routenart wird         
     normalerweise fu:r lokale Netzwerke verwendet.                   
   W WasCloned: Eine Route, die automatisch konfiguriert wurde. Sie   
     basiert auf einer lokalen Netzwerkroute (Clone).                 
   L Link: Die Route beinhaltet einen Verweis auf eine Ethernetkarte  
     (MAC-Adresse).                                                   

     --------------------------------------------------------------

  31.2.2. Standardrouten

   Wenn sich der lokale Rechner mit einem entfernten Rechner
   verbinden will, wird die Routingtabelle u:berpru:ft, um
   festzustellen, ob bereits ein bekannter Pfad vorhanden ist.
   Geho:rt dieser entfernte Rechner zu einem Subnetz, dessen Pfad uns
   bereits bekannt ist (Cloned route), dann versucht der lokale
   Rechner u:ber diese Schnittstelle eine Verbindung herzustellen.

   Wenn alle bekannten Pfade nicht funktionieren, hat der lokale
   Rechner eine letzte Mo:glichkeit: Die Standardroute
   (Defaultroute). Bei dieser Route handelt es sich um eine spezielle
   Gateway-Route (gewo:hnlich die einzige im System vorhandene), die
   im Flags-Feld immer mit C gekennzeichnet ist. Fu:r Rechner im
   lokalen Netzwerk ist dieses Gateway auf welcher Rechner auch immer
   eine Verbindung nach aussen hat gesetzt (entweder u:ber eine
   PPP-Verbindung, DSL, ein Kabelmodem, T1 oder eine beliebige andere
   Netzwerkverbindung).

   Wenn Sie die Standardroute fu:r einen Rechner konfigurieren, der
   selbst als Gateway zur Aussenwelt funktioniert, wird die
   Standardroute zum Gateway-Rechner Ihres Internetanbieter (ISP)
   gesetzt.

   Sehen wir uns ein Beispiel fu:r Standardrouten an. So sieht eine
   u:bliche Konfiguration aus:

 [Local2]  <--ether-->  [Local1]  <--PPP--> [ISP-Serv]  <--ether-->  [T1-GW]
          

   Die Rechner Local1 und Local2 befinden sich auf Ihrer Seite.
   Local1 ist mit einem ISP u:ber eine PPP-Verbindung verbunden.
   Dieser PPP-Server ist u:ber ein lokales Netzwerk mit einem anderen
   Gateway-Rechner verbunden, der u:ber eine Schnittstelle die
   Verbindung des ISP zum Internet herstellt.

   Die Standardrouten fu:r Ihre Maschinen lauten:

         Host            Standard Gateway          Schnittstelle      
   Local2           Local1                     Ethernet               
   Local1           T1-GW                      PPP                    

   Eine ha:ufig gestellte Frage lautet: "Warum (oder wie) sollten wir
   T1-GW als Standard-Gateway fu:r Local1 setzen, statt den (direkt
   verbundenen) ISP-Server zu verwenden?".

   Bedenken Sie, dass die PPP-Schnittstelle fu:r die Verbindung eine
   Adresse des lokalen Netzes des ISP verwendet. Daher werden Routen
   fu:r alle anderen Rechner im lokalen Netz des ISP automatisch
   erzeugt. Daraus folgt, dass Sie bereits wissen, wie Sie T1-GW
   erreichen ko:nnen! Es ist also unno:tig, einen Zwischenschritt
   u:ber den ISP-Server zu machen.

   Es ist u:blich, die Adresse X.X.X.1 als Gateway-Adresse fu:r ihr
   lokales Netzwerk zu verwenden. Fu:r unser Beispiel bedeutet dies
   Folgendes: Wenn Ihr lokaler Klasse-C-Adressraum 10.20.30 ist und
   Ihr ISP 10.9.9 verwendet, sehen die Standardrouten so aus:

               Rechner (Host)                    Standardroute        
   Local2 (10.20.30.2)                    Local1 (10.20.30.1)         
   Local1 (10.20.30.1, 10.9.9.30)         T1-GW (10.9.9.1)            

   Sie ko:nnen die Standardroute ganz einfach in der Datei
   /etc/rc.conf festlegen. In unserem Beispiel wurde auf dem Rechner
   Local2 folgende Zeile in /etc/rc.conf eingefu:gt:

 defaultrouter="10.20.30.1"

   Die Standardroute kann u:ber route(8) auch direkt gesetzt werden:

 # route add default 10.20.30.1

   Weitere Informationen zum Bearbeiten von Netzwerkroutingtabellen
   finden Sie in route(8).

     --------------------------------------------------------------

  31.2.3. Rechner mit zwei Heimatnetzen

   Es gibt noch eine Konfigurationsmo:glichkeit, die wir besprechen
   sollten, und zwar Rechner, die sich in zwei Netzwerken befinden.
   Technisch gesehen, za:hlt jeder als Gateway arbeitende Rechner zu
   den Rechnern mit zwei Heimatnetzen (im obigen Beispiel unter
   Verwendung einer PPP-Verbindung). In der Praxis meint man damit
   allerdings nur Rechner, die sich in zwei lokalen Netzen befinden.

   Entweder verfu:gt der Rechner u:ber zwei Ethernetkarten und jede
   dieser Karten hat eine Adresse in einem separaten Subnetz, oder
   der Rechner hat nur eine Ethernetkarte und verwendet ifconfig(8)
   Aliasing. Die erste Mo:glichkeit wird verwendet, wenn zwei
   physikalisch getrennte Ethernet-Netzwerke vorhanden sind, die
   zweite, wenn es nur ein physikalisches Ethernet-Netzwerk gibt, das
   aber aus zwei logisch getrennten Subnetzen besteht.

   In beiden Fa:llen werden Routingtabellen erstellt, damit jedes
   Subnetz weiss, dass dieser Rechner als Gateway zum anderen Subnetz
   arbeitet (inbound route). Diese Konfiguration (der Gateway-Rechner
   arbeitet als Router zwischen den Subnetzen) wird ha:ufig
   verwendet, wenn es darum geht, Paketfilterung oder eine Firewall
   (in eine oder beide Richtungen) zu implementieren.

   Soll dieser Rechner Pakete zwischen den beiden Schnittstellen
   weiterleiten, mu:ssen Sie diese Funktion manuell konfigurieren und
   aktivieren. Lesen Sie den na:chsten Abschnitt, wenn Sie weitere
   Informationen zu diesem Thema beno:tigen.

     --------------------------------------------------------------

  31.2.4. Einen Router konfigurieren

   Ein Netzwerkrouter ist einfach ein System, das Pakete von einer
   Schnittstelle zur anderen weiterleitet. Internetstandards und gute
   Ingenieurspraxis sorgten dafu:r, dass diese Funktion in FreeBSD in
   der Voreinstellung deaktiviert ist. Sie ko:nnen diese Funktion
   aktivieren, indem Sie in rc.conf(5) folgende A:nderung
   durchfu:hren:

 gateway_enable="YES"          # Auf YES setzen, wenn der Rechner als Gateway arbeiten soll

   Diese Option setzt die sysctl(8)-Variable net.inet.ip.forwarding
   auf 1. Wenn Sie das Routing kurzzeitig unterbrechen wollen,
   ko:nnen Sie die Variable auf 0 setzen.

   Ihr neuer Router beno:tigt nun noch Routen, um zu wissen, wohin er
   den Verkehr senden soll. Haben Sie ein (sehr) einfaches Netzwerk,
   ko:nnen Sie statische Routen verwenden. FreeBSD verfu:gt u:ber den
   Standard BSD-Routing-Daemon routed(8), der RIP (sowohl Version 1
   als auch Version 2) und IRDP versteht. BGP v4, OSPF v2 und andere
   Protokolle werden von net/zebra unterstu:tzt. Es stehen auch
   kommerzielle Produkte wie gated zur Verfu:gung.

     --------------------------------------------------------------

  31.2.5. Statische Routen einrichten

   Beigetragen von Al Hoang.

    31.2.5.1. Manuelle Konfiguration

   Nehmen wir an, dass wir u:ber folgendes Netzwerk verfu:gen:

     INTERNET
       | (10.0.0.1/24) Default Router to Internet
       |
       |Interface xl0
       |10.0.0.10/24
    +------+
    |      | RouterA
    |      | (FreeBSD gateway)
    +------+
       | Interface xl1
       | 192.168.1.1/24
       |
   +--------------------------------+
    Internal Net 1      | 192.168.1.2/24
                        |
                    +------+
                    |      | RouterB
                    |      |
                    +------+
                        | 192.168.2.1/24
                        |
                      Internal Net 2
            

   RouterA, ein FreeBSD-Rechner, dient als Router fu:r den Zugriff
   auf das Internet. Die Standardroute ist auf 10.0.0.1 gesetzt,
   damit ein Zugriff auf das Internet mo:glich wird. Wir nehmen nun
   an, dass RouterB bereits konfiguriert ist und daher weiss, wie er
   andere Rechner erreichen kann. Dazu wird die Standardroute von
   RouterB auf 192.168.1.1 gesetzt, da dieser Rechner als Gateway
   fungiert.

   Sieht man sich die Routingtabelle fu:r RouterA an, erha:lt man
   folgende Ausgabe:

 % netstat -nr
 Routing tables

 Internet:
 Destination        Gateway            Flags    Refs      Use  Netif  Expire
 default            10.0.0.1           UGS         0    49378    xl0
 127.0.0.1          127.0.0.1          UH          0        6    lo0
 10.0.0/24          link#1             UC          0        0    xl0
 192.168.1/24       link#2             UC          0        0    xl1

   Mit dieser Routingtabelle kann RouterA unser internes Netz 2 nicht
   erreichen, da keine Route zum Rechner 192.168.2.0/24 vorhanden
   ist. Um dies zu korrigieren, kann die Route manuell gesetzt
   werden. Durch den folgenden Befehl wird das interne Netz 2 in die
   Routingtabelle des Rechners RouterA aufgenommen, indem 192.168.1.2
   als na:chster Zwischenschritt verwenden wird:

 # route add -net 192.168.2.0/24 192.168.1.2

   Ab sofort kann RouterA alle Rechner des Netzwerks 192.168.2.0/24
   erreichen.

     --------------------------------------------------------------

    31.2.5.2. Routen dauerhaft einrichten

   Das obige Beispiel ist fu:r die Konfiguration einer statischen
   Route auf einem laufenden System geeignet. Diese Information geht
   jedoch verloren, wenn der FreeBSD-Rechner neu gestartet werden
   muss. Um dies zu verhindern, wird diese Route in /etc/rc.conf
   eingetragen:

 # Add Internal Net 2 as a static route
 static_routes="internalnet2"
 route_internalnet2="-net 192.168.2.0/24 192.168.1.2"

   Die Variable static_routes entha:lt eine Reihe von Strings, die
   durch Leerzeichen getrennt sind. Jeder String bezieht sich auf den
   Namen einer Route. In unserem Beispiel hat static_routes
   internalnet2 als einzigen String. Zusa:tzlich verwendet man die
   Konfigurationsvariable route_internalnet2, in der alle sonstigen
   an route(8) zu u:bergebenden Parameter festgelegt werden. In
   obigen Beispiel ha:tte man folgenden Befehl verwendet:

 # route add -net 192.168.2.0/24 192.168.1.2

   Daher wird "-net 192.168.2.0/24 192.168.1.2" als Parameter der
   Variable route_ angegeben.

   Wie bereits erwa:hnt, ko:nnen bei static_routes auch mehrere
   Strings angegeben werden. Dadurch lassen sich mehrere statische
   Routen anlegen. Durch folgende Zeilen werden auf einem imagina:ren
   Rechner statische Routen zu den Netzwerken 192.168.0.0/24 sowie
   192.168.1.0/24 definiert:

 static_routes="net1 net2"
 route_net1="-net 192.168.0.0/24 192.168.0.1"
 route_net2="-net 192.168.1.0/24 192.168.1.1"

     --------------------------------------------------------------

  31.2.6. Verteilung von Routing-Informationen

   Wir haben bereits daru:ber gesprochen, wie wir unsere Routen zur
   Aussenwelt definieren, aber nicht daru:ber, wie die Aussenwelt uns
   finden kann.

   Wir wissen bereits, dass Routing-Tabellen so erstellt werden
   ko:nnen, dass sa:mtlicher Verkehr fu:r einen bestimmten Adressraum
   (in unserem Beispiel ein Klasse-C-Subnetz) zu einem bestimmten
   Rechner in diesem Netzwerk gesendet wird, der die eingehenden
   Pakete im Subnetz verteilt.

   Wenn Sie einen Adressraum fu:r Ihre Seite zugewiesen bekommen,
   richtet Ihr Diensteanbieter seine Routingtabellen so ein, dass der
   ganze Verkehr fu:r Ihr Subnetz entlang Ihrer PPP-Verbindung zu
   Ihrer Seite gesendet wird. Aber woher wissen die Seiten in der
   Aussenwelt, dass sie die Daten an Ihren ISP senden sollen?

   Es gibt ein System (a:hnlich dem verbreiteten DNS), das alle
   zugewiesenen Adressra:ume verwaltet und ihre Verbindung zum
   Internet-Backbone definiert und dokumentiert. Der "Backbone" ist
   das Netz aus Hauptverbindungen, die den Internetverkehr in der
   ganzen Welt transportieren und verteilen. Jeder Backbone-Rechner
   verfu:gt u:ber eine Kopie von Haupttabellen, die den Verkehr fu:r
   ein bestimmtes Netzwerk hierarchisch vom Backbone u:ber eine Kette
   von Diensteanbietern bis hin zu Ihrer Seite leiten.

   Es ist die Aufgabe Ihres Diensteanbieters, den Backbone-Seiten
   mitzuteilen, dass sie mit Ihrer Seite verbunden wurden. Durch
   diese Mitteilung der Route ist nun auch der Weg zu Ihnen bekannt.
   Dieser Vorgang wird als Bekanntmachung von Routen (routing
   propagation) bezeichnet.

     --------------------------------------------------------------

  31.2.7. Problembehebung

   Manchmal kommt es zu Problemen bei der Bekanntmachung von Routen,
   und einige Seiten sind nicht in der Lage, Sie zu erreichen.
   Vielleicht der nu:tzlichste Befehl, um festzustellen, wo das
   Routing nicht funktioniert, ist traceroute(8). Er ist ausserdem
   sehr nu:tzlich, wenn Sie einen entfernten Rechner nicht erreichen
   ko:nnen (lesen Sie dazu auch ping(8)).

   traceroute(8) wird mit dem zu erreichenden Rechner (Host)
   ausgefu:hrt. Angezeigt werden die Gateway-Rechner entlang des
   Verbindungspfades. Schliesslich wird der Zielrechner erreicht oder
   es kommt zu einem Verbindungsabbruch (beispielsweise durch
   Nichterreichbarkeit eines Gateway-Rechners).

   Weitere Informationen finden Sie in traceroute(8).

     --------------------------------------------------------------

  31.2.8. Multicast-Routing

   FreeBSD unterstu:tzt sowohl Multicast-Anwendungen als auch
   Multicast-Routing. Multicast-Anwendungen mu:ssen nicht
   konfiguriert werden, sie laufen einfach. Multicast-Routing muss in
   der Kernelkonfiguration aktiviert werden:

 options MROUTING

   Zusa:tzlich muss mrouted(8), der Multicast-Routing-Daemon, u:ber
   die Datei /etc/mrouted.conf eingerichtet werden, um Tunnel und
   DVMRP zu aktivieren. Weitere Informationen zu diesem Thema finden
   Sie in mrouted(8).

     Anmerkung: Ab FreeBSD 7.0 ist mrouted(8) (der Multicast Routing
     Daemon) nicht mehr im Basissystem enthalten. Dieser Daemon
     verwendet das DVMRP Multicast Routing Protocol, das inzwischen
     in den meisten Multicast-Installationen durch pim(4) ersetzt
     wurde. Die mit dem Daemon in Verbindung stehenden Werkzeuge
     map-mbone(8) und mrinfo(8) wurden ebenfalls aus dem Basissystem
     entfernt. All diese Programme sind aber weiterhin u:ber die
     FreeBSD-Ports-Sammlung (genauer den Port net/mrouted)
     verfu:gbar.

     --------------------------------------------------------------

31.3. Drahtlose Netzwerke

   Loader, Marc Fonvieille und Murray Stokely.

     --------------------------------------------------------------

  31.3.1. Grundlagen

   Die meisten drahtlosen Netzwerke basieren auf dem Standard
   IEEE 802.11. Sie bestehen aus Stationen, die in der Regel im
   2,4 GHz- oder im 5 GHz-Band miteinander kommunizieren. Es ist aber
   auch mo:glich, dass regional andere Frequenzen, beispielsweise im
   2,3 GHz- oder 4,9 GHz-Band, verwendet werden.

   802.11-Netzwerke ko:nnen auf zwei verschiedene Arten aufgebaut
   sein: Im Infrastruktur-Modus agiert eine Station als Master, mit
   dem sich alle andere Stationen verbinden. Die Summe aller
   Stationen wird als BSS (Basic Service Set), die Master-Station
   hingegen als Access Point (AP) bezeichnet. In einem BSS la:uft
   jedwede Kommunikation u:ber den Access Point. Die zweite Form
   drahtloser Netzwerke sind die sogenannten Ad-hoc-Netzwerke (auch
   als IBSS bezeichnet), in denen es keinen Access Point gibt und in
   denen die Stationen direkt miteinander kommunizieren.

   Die ersten 802.11-Netzwerke arbeiteten im 2,4 GHz-Band und nutzten
   dazu Prokolle der IEEE-Standards 802.11 sowie 802.11b. Diese
   Standards legen unter anderem Betriebsfrequenzen sowie Merkmale
   des MAC-Layers (wie Frames und Transmissionsraten) fest. Spa:ter
   kam der Standard 802.11a hinzu, der im 5 GHz-Band, im Gegensatz zu
   den ersten beiden Standards aber mit unterschiedlichen
   Signalmechanismen und ho:heren Transmissionsraten arbeitet. Der
   neueste Standard 802.11g implementiert die Signal- und
   Transmissionsmechanismen von 802.11a im 2,4 GHz-Band, ist dabei
   aber abwa:rtskompatibel zu 802.11b-Netzwerken.

   Unabha:ngig von den zugrundeliegenden Transportmechanismen
   verfu:gen 802.11-Netzwerke u:ber diverse Sicherheitsmechanismen.
   Der urspru:ngliche 802.11-Standard definierte lediglich ein
   einfaches Sicherheitsprotokoll namens WEP. Dieses Protokoll
   verwendet einen fixen (gemeinsam verwendeten) Schlu:ssel sowie die
   RC4-Kryptografie-Chiffre, um Daten verschlu:sselt u:ber das
   drahtlose Netzwerk zu senden. Alle Stationen des Netzwerks mu:ssen
   sich auf den gleichen fixen Schlu:ssel einigen, um miteinander
   kommunizieren zu ko:nnen. Dieses Schema ist sehr leicht zu knacken
   und wird deshalb heute kaum mehr eingesetzt. Aktuelle
   Sicherheitsmechanismen bauen auf dem Standard IEEE 802.11i auf,
   der neue kryptografische Schlu:ssel (Chiffren), ein neues
   Protokoll fu:r die Anmeldung von Stationen an einem Access Point
   sowie Mechanismen zum Austausch von Schlu:sseln als Vorbereitung
   der Kommunikation zwischen verschiedenen Gera:ten festlegt.
   Kryptografische Schlu:ssel werden regelma:ssig getauscht.
   Ausserdem gibt es Mechanismen, um Einbruchsversuche zu entdecken
   (und Gegenmassnahmen ergreifen zu ko:nnen). Ein weiteres ha:ufig
   verwendetes Sicherheitsprotokoll ist WPA. Dabei handelt es sich um
   einen Vorla:ufer von 802.11i, der von einem Industriekonsortium
   als Zwischenlo:sung bis zur endgu:ltigen Verabschiedung von
   802.11i entwickelt wurde. WPA definiert eine Untergruppe der
   Anforderungen des 802.11i-Standards und ist fu:r den Einsatz in
   a:lterer Hardware vorgesehen. WPA beno:tigt nur den (auf dem
   urspru:nglichen WEP-Code basierenden) TKIP-Chiffre. 802.11i
   erlaubt zwar auch die Verwendung von TKIP, fordert aber
   zusa:tzlich eine sta:rkere Chiffre (AES-CCM) fu:r die
   Datenverschlu:sselung. (AES war fu:r WPA nicht vorgesehen, weil
   man es als zu rechenintensiv fu:r den Einsatz in a:lteren Gera:ten
   ansah.)

   Neben den weiter oben erwa:hnten Standards ist auch der Standard
   802.11e von grosser Bedeutung. Dieser definiert Protokolle zur
   U:bertragung von Multimedia-Anwendungen wie das Streaming von
   Videodateien oder Voice-over-IP (VoIP) in einem 802.11-Netzwerk.
   Analog zu 802.11i verfu:gt auch 802.11e u:ber eine vorla:ufige
   Spezifikation namens WMM (urspru:nglich WME), die von einem
   Industriekonsortium als Untergruppe von 802.11e spezifiziert
   wurde, um Multimedia-Anwendungen bereits vor der endgu:ltigen
   Verabschiedung des 802.11e-Standards implementieren zu ko:nnen.
   802.11e sowie WME/WMM erlauben eine Priorita:tenvergabe beim
   Datentransfer im einem drahtlosen Netzwerk. Mo:glich wird dies
   durch den Einsatz von Quality of Service-Protokollen (QoS) und
   erweiterten Medienzugriffsprotokollen. Werden diese Protokolle
   korrekt implementiert, erlauben sie daher hohe
   Datenu:bertragungsraten und einen priorisierten Datenfluss.

   FreeBSD unterstu:tzt seit der Version 6.0 die Standards 802.11a,
   802.11b, sowie 802.11g. Ebenfalls unterstu:tzt werden WPA sowie
   die Sicherheitsprotokolle gema:ss 802.11i (dies sowohl fu:r 11a,
   11b als auch 11g). QoS und Verkehrpriorisierung, die von den
   WME/WMM-Protokollen beno:tigt werden, werden ebenfalls (allerdings
   nicht fu:r alle drahtlosen Gera:te) unterstu:tzt.

     --------------------------------------------------------------

  31.3.2. Basiskonfiguration

    31.3.2.1. Kernelkonfiguration

   Um ein drahtloses Netzwerk zu nutzen, beno:tigen Sie eine
   drahtlose Netzkarte und einen Kernel, der drahtlose Netzwerke
   unterstu:tzt. Der FreeBSD-Kernel unterstu:tzt den Einsatz von
   Kernelmodulen. Daher mu:ssen Sie nur die Unterstu:tzung fu:r die
   von Ihnen verwendeten Gera:te aktivieren.

   Als Erstes beno:tigen Sie ein drahtloses Gera:t. Die meisten
   drahtlosen Gera:te verwenden Bauteile von Atheros und werden
   deshalb vom ath(4)-Treiber unterstu:tzt. Um diesen Treiber zu
   verwenden, nehmen Sie die folgende Zeile in die Datei
   /boot/loader.conf auf:

 if_ath_load="YES"

   Der Atheros-Treiber besteht aus drei Teilen: dem Treiber selbst
   (ath(4)), dem Hardware-Support-Layer fu:r die chip-spezifischen
   Funktionen (ath_hal(4)) sowie einem Algorithmus zur Auswahl der
   korrekten Frame-U:bertragungsrate (ath_rate_sample). Wenn Sie die
   Unterstu:tzung fu:r diesen Treiber als Kernelmodul laden, ku:mmert
   sich dieses automatisch um diese Aufgaben. Verwenden Sie ein
   Nicht-Atheros-Gera:t, so mu:ssen Sie hingegen das fu:r dieses
   Gera:t geeignete Modul laden, beispielsweise

 if_wi_load="YES"

   fu:r Gera:te, die auf Bauteilen von Intersil Prism basieren und
   daher den Treiber wi(4) voraussetzen.

     Anmerkung: In den folgenden Abschnitten wird der ath(4)-Treiber
     verwendet. Verwenden Sie ein anderes Gera:t, mu:ssen Sie diesen
     Wert daher an Ihre Konfiguration anpassen. Eine Liste aller
     verfu:gbaren Treiber fu:r drahtlose Gera:te finden Sie in der
     Manualpage wlan(4). Gibt es keinen nativen FreeBSD-Treiber fu:r
     Ihr drahtloses Gera:t, ko:nnen Sie mo:glicherweise mit NDIS
     einen Windows-Treiber verwenden.

   Neben dem korrekten Treiber beno:tigen Sie auch die Unterstu:tzung
   fu:r 802.11-Netzwerke. Fu:r den ath(4)-Treiber werden dazu
   mindestens die Module wlan(4), wlan_scan_ap sowie wlan_scan_sta
   beno:tigt. Das wlan(4)-Kernelmodul wird automatisch mit dem
   Treiber des drahtlosen Gera:ts geladen, die beiden anderen Module
   werden jeweils durch einen Eintrag in der Datei /boot/loader.conf
   beim Systemstart geladen:

 wlan_scan_ap_load="YES"
 wlan_scan_sta_load="YES"

     Anmerkung: Die beiden Module wlan_scan_ap und wlan_scan_sta
     werden von FreeBSD 7.X beno:tigt, andere FreeBSD Versionen
     brauchen diese hingegen nicht.

   Zusa:tzlich beno:tigen Sie noch Module zur Verschlu:sselung ihres
   drahtlosen Netzwerks. Diese werden normalerweise dynamisch vom
   wlan(4)-Modul geladen. Im folgenden Beispiel erfolgt allerdings
   eine manuelle Konfiguration. Folgende Module sind verfu:gbar:
   wlan_wep(4), wlan_ccmp(4) sowie wlan_tkip(4). Sowohl wlan_ccmp(4)
   als auch wlan_tkip(4) werden nur beno:tigt, wenn Sie WPA und/oder
   die Sicherheitsprotokolle von 802.11i verwenden wollen. Wollen Sie
   Ihr Netzwerk hingegen offen betreiben (also vo:llig ohne
   Verschlu:sselung), beno:tigen Sie nicht einmal die
   wlan_wep(4)-Unterstu:tzung. Um alle drei Module beim Systemstart
   zu laden, fu:gen Sie folgende Zeilen in die Datei
   /boot/loader.conf ein:

 wlan_wep_load="YES"
 wlan_ccmp_load="YES"
 wlan_tkip_load="YES"

   Die beiden Module wlan_scan_ap und wlan_scan_sta werden von
   FreeBSD 7.X beno:tigt, andere FreeBSD Versionen brauchen diese
   hingegen nicht.

   Danach mu:ssen Sie Ihr FreeBSD-System neu starten. Alternativ
   ko:nnen Sie die Kernelmodule aber auch manuell mit kldload(8)
   laden.

     Anmerkung: Wollen Sie keine Kernelmodule verwenden, ko:nnen Sie
     die beno:tigten Treiber auch in Ihren Kernel kompilieren. Daz
     nehmen Sie folgende Zeilen in Ihre Kernelkonfigurationsdatei
     auf:

 device ath               # Atheros IEEE 802.11 wireless network driver
 device ath_hal           # Atheros Hardware Access Layer
 options AH_SUPPORT_AR5416       # enable AR5416 tx/rx descriptors
 device ath_rate_sample   # SampleRate tx rate control for ath
 device wlan              # 802.11 support
 device wlan_scan_ap      # 802.11 AP mode scanning
 device wlan_scan_sta     # 802.11 STA mode scanning
 device wlan_wep          # 802.11 WEP support
 device wlan_ccmp         # 802.11 CCMP support
 device wlan_tkip         # 802.11 TKIP support

     Danach bauen Sie den neuen Kernel und starten Ihr FreeBSD-System
     neu.

   Wa:hrend des Systemstarts sollten nun einige Informationen
   a:hnlich den folgenden u:ber das von Ihnen verwendete drahtlose
   Gera:t ausgegeben werden:

 ath0: <Atheros 5212> mem 0xff9f0000-0xff9fffff irq 17 at device 2.0 on pci2
 ath0: Ethernet address: 00:11:95:d5:43:62
 ath0: mac 7.9 phy 4.5 radio 5.6

     --------------------------------------------------------------

  31.3.3. Infrastruktur-Modus

   Drahtlose Netzwerke werden in der Regel im Infrastruktur-Modus
   (auch BSS-Modus genannt) betrieben. Dazu werden mehrere drahtlose
   Access Points zu einem gemeinsamen drahtlosen Netzwerk verbunden.
   Jedes dieser drahtlosen Netzwerke hat einen eigenen Namen, der als
   SSID bezeichnet wird. Alle Clients eines drahtlosen Netzwerks
   verbinden sich in diesem Modus mit einem Access Point.

     --------------------------------------------------------------

    31.3.3.1. FreeBSD-Clients

      31.3.3.1.1. Einen Access Point finden

   Um nach drahtlosen Netzwerken zu suchen, verwenden Sie ifconfig.
   Dieser Scanvorgang kann einige Zei in Anspruch nehmen, da dazu
   jede verfu:gbare Frequenz auf verfu:gbare Access Points hin
   u:berpru:ft werden muss. Um die Suche zu starten, mu:ssen Sie als
   Super-User angemeldet sein:

 # ifconfig ath0 up scan
 SSID            BSSID              CHAN RATE  S:N   INT CAPS
 dlinkap         00:13:46:49:41:76    6   54M 29:3   100 EPS  WPA WME
 freebsdap       00:11:95:c3:0d:ac    1   54M 22:1   100 EPS  WPA

     Anmerkung: Ihre Netzwerkkarte muss in den Status up versetzt
     werden, bevor Sie den ersten Scanvorgang starten ko:nnen. Fu:r
     spa:tere Scans ist dies aber nicht mehr erforderlich.

   Als Ergebnis erhalten Sie eine Liste mit allen gefundenen
   BSS/IBSS-Netzwerken. Zusa:tzlich zur SSID (dem Namen des
   Netzwerks) wird auch die BSSID ausgegeben. Dabei handelt es sich
   um MAC-Adresse des Access Points. Das Feld CAPS gibt den Typ des
   Netzwerks sowie die Fa:higkeiten der Stationen innerhalb des
   Netzwerks an:

   E

           Extended Service Set (ESS). Zeigt an, dass die Station
           Teil eines Infrastruktur-Netzwerks ist (und nicht eines
           IBSS/Ad-hoc-Netzwerks).

   I

           IBSS/Ad-hoc-Netzwerk. Die Station ist Teil eines
           Ad-hoc-Netzwerks (und nicht eines ESS-Netzwerks).

   P

           Privacy. Alle Datenframes, die innerhalb des BSS
           ausgetauscht werden, sind verschlu:sselt. Dieses BSS
           verwendet dazu kryptografische Verfahren wie WEP, TKIP
           oder AES-CCMP.

   S

           Short Preamble. Das Netzwerk verwendet eine kurze
           Pra:ambel (definiert in 802.11b High Rate/DSSS PHY). Eine
           kurze Pra:ambel verwendet ein 56 Bit langes Sync-Feld (im
           Gegensatz zu einer langen Pra:ambel, die ein 128 Bit
           langes Sync-Feld verwendet).

   s

           Short slot time. Das 802.11g-Netzwerk verwendet eine kurze
           Slotzeit, da es in diesem Netzwerk keine veralteten
           (802.11b) Gera:te gibt.

   Um eine Liste der bekannten Netzwerke auszugeben, verwenden Sie
   den folgenden Befehl:

 # ifconfig ath0 list scan

   Diese Liste kann entweder automatisch durch das drahtlose Gera:t
   oder manuell durch eine scan-Aufforderung aktualisiert werden.
   Veraltete Informationen werden dabei automatisch entfernt.

     --------------------------------------------------------------

      31.3.3.1.2. Basiseinstellungen

   Dieser Abschnitt beschreibt, wie Sie ein einfaches drahtloses
   Netzerk ohne Verschlu:sselung unter FreeBSD einrichten. Nachdem
   Sie sich mit den Informationen dieses Abschnitts vertraut gemacht
   haben, sollten Sie Ihr drahtloses Netzwerk mit WPA verschlu:sseln.

   Das Einrichten eines drahtlosen Netzwerks erfolgt in drei
   Schritten: Der Auswahl eines Access Points, der Anmeldung Ihrer
   Station sowie der Konfiguration Ihrer IP-Adresse.

     --------------------------------------------------------------

        31.3.3.1.2.1. Einen Access Point auswa:hlen

   Im Normalfall wird sich Ihre Station automatisch mit einem der zur
   Verfu:gung stehenden Access Points verbinden. Sie mu:ssen dazu
   lediglich Ihr drahtloses Gera:t aktivieren. Alternativ ko:nnen Sie
   auch einen Eintrag a:hnlich dem folgenden in /etc/rc.conf
   aufnehmen:

 ifconfig_ath0="DHCP"

   Wollen Sie sich hingegen mit einem bestimmten Access Point
   verbinden, mu:ssen Sie dessen SSID angeben:

 ifconfig_ath0="ssid Ihre_SSID DHCP"

   Gibt es in Ihrem Netzwerk mehrere Access Points mit der gleichen
   SSID (was der Einfachheit wegen ha:ufig der Fall ist), ko:nnen Sie
   sich dennoch mit einem bestimmten Access Point verbinden. Dazu
   mu:ssen Sie lediglich die BSSID des Access Points angeben (die
   Angabe der SSID ist in diesem Fall nicht erforderlich):

 ifconfig_ath0="ssid Ihre_SSID bssid xx:xx:xx:xx:xx:xx DHCP"

   Es gibt noch weitere Mo:glichkeiten, den Zugriff auf bestimmte
   Access Point zu beschra:nken, beispielsweise durch die Begrenzung
   der Frequenzen, auf denen eine Station nach einem Acces Point
   sucht. Sinnvoll ist ein solches Vorgehen beispielsweise, wenn Ihr
   drahtloses Gera:t in verschiedenen Frequenzbereichen arbeiten
   kann, da in diesem Fall das Pru:fen aller Frequenzen sehr
   zeitintensiv ist. Um nur innerhalb eines bestimmten
   Frequenzbereichs nach einem Access Point zu suchen, verwenden Sie
   die Option mode:

 ifconfig_ath0="mode 11g ssid Ihre_SSID DHCP"

   Dadurch sucht Ihr drahtloses Gera:t nur im 2,4 GHz-Band (802.11g),
   aber nicht innerhalb des 5 GHz-Bandes nach einem Access Point. Mit
   der Option channel ko:nnen Sie eine bestimmte Frequenz vorgeben,
   auf der gesucht werden soll. Die Option chanlist erlaubt die
   Angabe mehrerer erlaubter Frequenzen. Eine umfassende Beschreibung
   dieser Optionen finden Sie in der Manualpage ifconfig(8).

     --------------------------------------------------------------

        31.3.3.1.2.2. Authentifizierung

   Wenn Sie einen Access Point gefunden haben, muss sich Ihrem
   Station am Access Point anmelden, bevor Sie Daten u:bertragen
   kann. Dazu gibt es verschiedene Mo:glichkeiten. Am ha:ufigsten
   wird nach wie vor die sogenannte offene Authentifizierung
   verwendet. Dabei wird es jeder Station erlaubt, sich mit einem
   Netzwerk zu verbinden und Daten zu u:bertragen. Aus
   Sicherheitsgru:nden sollte diese Methode allerdings nur zu
   Testzwecken bei der erstmaligen Einrichtung eines drahtlosen
   Netzwerks verwendet werden. Andere Authentifizierungsmechanismen
   erfordern den Austausch kryptografischer Informationen, bevor Sie
   die U:bertragung von Daten erlauben. Dazu geho:ren der Austausch
   fixer (vorher vereinbarter) Schlu:ssel oder Kennwo:rter sowie der
   Einsatz komplexerer Verfahren mit Backend-Diensten wie RADIUS. Die
   meisten Netzwerke nutzen allerdings nach wie vor die offene
   Authentifizierung, da dies die Voreinstellung ist. Am
   zweitha:ufigsten kommt das weiter unten beschriebene WPA-PSK (das
   auch als WPA Personal bezeichnet wird) zum Einsatz.

     Anmerkung: Verwenden Sie eine Apple AirPort(R)
     Extreme-Basisstation als Access Point, beno:tigen Sie
     wahrscheinlich sowohl die Shared-Key-Authentifizierung als auch
     einen WEP-Schlu:ssel. Die entsprechende Konfiguration erfolgt
     entweder in der Datei /etc/rc.conf oder u:ber das Programm
     wpa_supplicant(8). Verwenden Sie nur eine einzige
     AirPort-Basisstation, beno:tigen Sie einen Eintrag a:hnlich dem
     folgenden:

 ifconfig_ath0="authmode shared wepmode on weptxkey 1 wepkey 01234567 DHCP"

     Normalerweise sollten Sie Shared-Key-Authentifizierung aber
     nicht verwenden, da diese die Sicherheit des WEP-Schlu:ssel noch
     weiter verringert. Mu:ssen Sie WEP einsetzen (beispielsweise
     weil Sie zu veralteten Gera:ten kompatibel bleiben mu:ssen),
     sollten Sie WEP nur zusammen mit der offenen Authentifizierung
     (open authentication) verwenden. WEP wird im Abschnitt
     31.3.3.1.4 na:her beschrieben.

     --------------------------------------------------------------

        31.3.3.1.2.3. Eine IP-Adresse u:ber DHCP beziehen

   Nachdem Sie einen Access Point gefunden und sich authentifiziert
   haben, beno:tigen Sie noch eine IP-Adresse, die Sie in der Regel
   u:ber DHCP zugewiesen bekommen. Dazu mu:ssen Sie lediglich die
   Option DHCP in Ihre in der Datei /etc/rc.conf vorhandene
   Konfiguration Ihres drahtlosen Gera:ts aufnehmen:

 ifconfig_ath0="DHCP"

   Nun ko:nnen Sie Ihr drahtloses Gera:t starten:

 # /etc/rc.d/netif start

   Nachdem Sie das Gera:t aktiviert haben, ko:nnen Sie mit ifconfig
   den Status des Gera:ts ath0 abfragen:

 # ifconfig ath0
 ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
         inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
         inet 192.168.1.100 netmask 0xffffff00 broadcast 192.168.1.255
         ether 00:11:95:d5:43:62
         media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/54Mbps)
         status: associated
         ssid dlinkap channel 6 bssid 00:13:46:49:41:76
         authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100

   status: associated besagt, dass sich Ihr Gera:t mit dem drahtlosen
   Netzwerk verbunden hat (konkret mit dem Netzwerk dlinkap). bssid
   00:13:46:49:41:76 gibt die MAC-Adresse Ihres Access Points aus und
   die Zeile mit authmode informiert Sie daru:ber, dass Ihre
   Kommunikation nicht verschlu:sselt wird (OPEN).

     --------------------------------------------------------------

        31.3.3.1.2.4. Statische IP-Adressen

   Alternativ zu dynamischen IP-Adressen ko:nnen Sie auch eine
   statische IP-Adresse verwenden. Dazu ersetzen Sie in Ihrer
   Konfiguration DHCP durch die zu verwendende IP-Adresse. Beachten
   Sie dabei, dass Sie die anderen Konfigurationsparameter nicht
   versehentlich vera:ndern:

 ifconfig_ath0="ssid Ihre_ssid inet 192.168.1.100 netmask 255.255.255.0"

     --------------------------------------------------------------

      31.3.3.1.3. WPA

   Bei WPA (Wi-Fi Protected Access) handelt es sich um ein
   Sicherheitsprotokoll, das in 802.11-Netzwerken verwendet wird, um
   die Nachteile von WEP (fehlende Authentifizierung und schwache
   Verschlu:sselung) zu vermeiden. WPA stellt das aktuelle
   802.1X-Authentifizierungsprotokoll dar und verwendet eine von
   mehreren Chiffren, um die Datensicherheit zu gewa:hrleisten. Die
   einzige Chiffre, die von WPA verlangt wird, ist TKIP (Temporary
   Key Integrity Protocol), eine Chiffre, die die von WEP verwendete
   RC4-Chiffre um Funktionen zur Pru:fung der Datenintegrita:t und
   zur Erkennung und Beka:mpfung von Einbruchsversuchen erweitert.
   TKIP ist durch Softwaremodifikationen auch unter veralteter
   Hardware lauffa:hig. Im Vergleich zu WEP ist WPA zwar sehr viel
   sicherer, es ist aber dennoch nicht vo:llig immun gegen Angriffe.
   WPA definiert mit AES-CCMP noch eine weitere Chiffre als
   Alternative zu TKIP. AES-CCMP (das ha:ufig als WPA2 oder RSN
   bezeichnet wird) sollte, wenn mo:glich, eingesetzt werden.

   WPA definiert Authentifizierungs- und Verschlu:sselungsprotokolle.
   Die Authentifizierung erfolgt in der Regel u:ber eine der
   folgenden Techniken: 802.1X gemeinsam mit einem
   Backend-Authentifizierungsdienst wie RADIUS, oder durch einen
   Minimal-Handshake zwischen der Station und dem Access Point mit
   einem vorher vereinbarten gemeinsamen Schlu:ssel. Die erste
   Technik wird als WPA Enterprise, die zweite hingegen als WPA
   Personal bezeichnet. Da sich der Aufwand fu:r das Aufsetzen eines
   RADIUS-Backend-Servers fu:r die meisten drahtlosen Netzwerke nicht
   lohnt, wird WPA in der Regel als WPA-PSK (WPA, Pre-Shared-Key)
   konfiguriert.

   Die Kontrolle der drahtlosen Verbindung sowie die vorangehende
   Authentifizierung (u:ber Schlu:ssel oder durch die Kommunikation
   mit einem Server) erfolgt u:ber das Programm wpa_supplicant(8),
   das u:ber die Datei /etc/wpa_supplicant.conf eingerichtet wird.
   Ausfu:hrliche Informationen zur Konfiguration des Programms finden
   sich in der Manualpage wpa_supplicant.conf(5).

     --------------------------------------------------------------

        31.3.3.1.3.1. WPA-PSK

   WPA-PSK oder WPA-Personal basiert auf einem gemeinsamen (vorher
   vereinbarten) Schlu:ssel (PSK), der aus einem Passwort generiert
   und danach als Master-Key des drahtlosen Netzwerks verwendet wird.
   Jeder Benutzer des drahtlosen Netzwerks verwendet daher den
   gleichen Schlu:ssel. WPA-PSK sollte nur in kleinen Netzwerken
   eingesetzt werden, in denen die Konfiguration eines
   Authentifizierungsservers nicht mo:glich oder erwu:nscht ist.

     Warnung: Achten Sie darauf, dass Sie immer starke Passwo:rter
     verwenden, die ausreichend lang sind und, wenn mo:glich, auch
     Sonderzeichen enthalten, damit diese nicht leicht erraten
     und/oder geknackt werden ko:nnen.

   Der erste Schritt zum Einsatz von WPA-PSK ist die Konfiguration
   der SSID und des gemeinsamen Schlu:ssels Ihres Netzwerks in der
   Datei /etc/wpa_supplicant.conf:

 network={
   ssid="freebsdap"
   psk="freebsdmall"
 }

   Danach geben Sie in /etc/rc.conf an, dass WPA zur Verschlu:sselung
   eingesetzt werden soll und dass die IP-Adresse u:ber DHCP bezogen
   wird:

 ifconfig_ath0="WPA DHCP"

   Nun ko:nnen Sie Ihr Netzgera:t aktivieren:

 # /etc/rc.d/netif start
 Starting wpa_supplicant.
 DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 5
 DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 6
 DHCPOFFER from 192.168.0.1
 DHCPREQUEST on ath0 to 255.255.255.255 port 67
 DHCPACK from 192.168.0.1
 bound to 192.168.0.254 -- renewal in 300 seconds.
 ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
       inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
       inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
       ether 00:11:95:d5:43:62
       media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/36Mbps)
       status: associated
       ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
       authmode WPA privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36
       protmode CTS roaming MANUAL bintval 100

   Alternativ ko:nnen Sie die Konfiguration von WPA-PSK auch manuell
   durchfu:hren, wobei Sie wiederum die Konfigurationsdatei
   /etc/wpa_supplicant.conf verwenden:

 # wpa_supplicant -i ath0 -c /etc/wpa_supplicant.conf
 Trying to associate with 00:11:95:c3:0d:ac (SSID='freebsdap' freq=2412 MHz)
 Associated with 00:11:95:c3:0d:ac
 WPA: Key negotiation completed with 00:11:95:c3:0d:ac [PTK=TKIP GTK=TKIP]

   Im zweiten Schritt starten Sie nun dhclient, um eine IP-Adresse
   vom DHCP-Server zu beziehen:

 # dhclient ath0
 DHCPREQUEST on ath0 to 255.255.255.255 port 67
 DHCPACK from 192.168.0.1
 bound to 192.168.0.254 -- renewal in 300 seconds.
 # ifconfig ath0
 ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
       inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
       inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
       ether 00:11:95:d5:43:62
       media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/48Mbps)
       status: associated
       ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
       authmode WPA privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36
       protmode CTS roaming MANUAL bintval 100

     Anmerkung: Entha:lt Ihre /etc/rc.conf bereits die Zeile
     ifconfig_ath0="DHCP", mu:ssen Sie dhclient nicht mehr manuell
     aufrufen, da dhclient in diesem Fall automatisch gestartet wird,
     nachdem wpa_supplicant die Schlu:ssel u:bergibt.

   Sollte der Einsatz von DHCP nicht mo:glich sein, ko:nnen Sie auch
   eine statische IP-Adresse angeben, nachdem wpa_supplicant Ihre
   Station authentifiziert hat:

 # ifconfig ath0 inet 192.168.0.100 netmask 255.255.255.0
 # ifconfig ath0
 ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
       inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
       inet 192.168.0.100 netmask 0xffffff00 broadcast 192.168.0.255
       ether 00:11:95:d5:43:62
       media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/36Mbps)
       status: associated
       ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
       authmode WPA privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36
       protmode CTS roaming MANUAL bintval 100

   Verwenden Sie DHCP nicht, mu:ssen Sie zusa:tzlich noch das
   Standard-Gateway sowie den/die Nameserver manuell festlegen:

 # route add default your_default_router
 # echo "nameserver your_DNS_server" >> /etc/resolv.conf

     --------------------------------------------------------------

        31.3.3.1.3.2. WPA und EAP-TLS

   Die zweite Mo:glichkeit, WPA einzusetzen, ist die Verwendung eines
   802.1X-Backend-Authentifizierungsservers. Diese Variante wird als
   WPA-Enterprise bezeichnet, um sie vom weniger sicheren
   WPA-Personal abzugrenzen, das auf dem Austausch gemeinsamer (und
   vorher vereinbarter Schlu:ssel) basiert. Die bei WPA-Enterprise
   verwendete Authentifizierung basiert auf EAP (Extensible
   Authentication Protocol).

   EAP selbst bietet keine Verschlu:sselung, sondern operiert in
   einem verschlu:sselten Tunnel. Es gibt verschiedene, auf EAP
   basierende Authentifizierungsmethoden, darunter EAP-TLS, EAP-TTLS
   sowie EAP-PEAP.

   Bei EAP-TLS (EAP with Transport Layers Security) handelt es sich
   um sehr gut unterstu:tztes Authentifizierungsprotokoll, da es sich
   dabei um die erste EAP-Methode handelt, die von der Wi-Fi Alliance
   zertifiziert wurde. EAP-TLS erfordert drei Zertifikate: Das (auf
   allen Rechnern installierte) CA-Zertifikat, das Server-Zertifikat
   Ihres Authentifizierungsservers, sowie ein Client-Zertifikat fu:r
   jeden drahtlosen Client. Sowohl der Authentifizierungsservers als
   auch die drahtlosen Clients authentifizieren sich gegenseitig
   durch ihre Zertifikate, wobei sie u:berpru:fen, ob diese
   Zertifikate auch von der Zertifizierungs-Authorita:t (CA) des
   jeweiligen Unternehmens signiert wurden.

   Die Konfiguration erfolgt (analog zu WPA-PSK) u:ber die Datei
   /etc/wpa_supplicant.conf:

 network={
   ssid="freebsdap" (1)
   proto=RSN  (2)
   key_mgmt=WPA-EAP (3)
   eap=TLS (4)
   identity="loader" (5)
   ca_cert="/etc/certs/cacert.pem" (6)
   client_cert="/etc/certs/clientcert.pem" (7)
   private_key="/etc/certs/clientkey.pem" (8)
   private_key_passwd="freebsdmallclient" (9)
 }

   (1)
           Der Name des Netzwerks (die SSID).
   (2)
           Das RSN/WPA2-Protokoll (IEEE 802.11i) wird verwendet.
   (3)
           Die key_mgmt-Zeile bezieht sich auf das verwendete
           Key-Management-Protokoll. In diesem Beispiel wird WPA
           gemeinsam mit der EAP-Authentifizierung verwendet
           (WPA-EAP).
   (4)
           Die fu:r die Verbindung verwendete EAP-Methode.
   (5)
           Das identity-Feld entha:lt den von EAP verwendeten
           Identifizierungsstring.
   (6)
           Das Feld ca_cert gibt den Pfad zum CA-Zertifikat an.
           Dieses Datei wird beno:tigt, um das Server-Zertifikat zu
           verifizieren.
   (7)
           Die client_cert-Zeile gibt den Pfad zum Client-Zertifikat
           an. Jeder Client hat ein eigenes, innerhalb des Netzwerks
           eindeutiges Zertifikat.
   (8)
           Das Feld private_key gibt den Pfad zum privaten Schlu:ssel
           des Client-Zertifikat an.
   (9)
           Das Feld private_key_passwd entha:lt die Passphrase fu:r
           den privaten Schlu:ssel.

   Danach fu:gen Sie die folgende Zeile in /etc/rc.conf ein:

 ifconfig_ath0="WPA DHCP"

   Nun ko:nnen Sie Ihr drahtloses Gera:t u:ber das rc.d-System
   aktivieren:

 # /etc/rc.d/netif start
 Starting wpa_supplicant.
 DHCPREQUEST on ath0 to 255.255.255.255 port 67
 DHCPREQUEST on ath0 to 255.255.255.255 port 67
 DHCPACK from 192.168.0.20
 bound to 192.168.0.254 -- renewal in 300 seconds.
 ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
       inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
       inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
       ether 00:11:95:d5:43:62
       media: IEEE 802.11 Wireless Ethernet autoselect (DS/11Mbps)
       status: associated
       ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
       authmode WPA2/802.11i privacy ON deftxkey UNDEF TKIP 2:128-bit
       txpowmax 36 protmode CTS roaming MANUAL bintval 100

   Alternativ ko:nnen Sie Ihr drahtloses Gera:lt wiederum manuell
   u:ber wpa_supplicant und ifconfig aktivieren.

     --------------------------------------------------------------

        31.3.3.1.3.3. WPA und EAP-TTLS

   Bei EAP-TLS mu:ssen sowohl der Authentifizierungsserver als auch
   die Clients jeweils ein eigenes Zertifikat aufweisen. Setzen Sie
   hingegen EAP-TTLS (EAP-Tunneled Transport Layer Security) ein, ist
   das Client-Zertifikat optional. EAP-TTLS geht dabei a:hnlich vor
   wie verschlu:sselte Webseiten, bei denen der Webserver einen
   sicheren SSL-Tunnel erzeugen kann, ohne dass der Besucher dabei
   u:ber ein client-seitiges Zertifikat verfu:gen muss. EAP-TTLS
   verwendet einen verschlu:sselten TLS-Tunnel zum sicheren Transport
   der Authentifizierungsdaten.

   Die Konfiguration von EAP-TTLS erfolgt in der Datei
   /etc/wpa_supplicant.conf:

 network={
   ssid="freebsdap"
   proto=RSN
   key_mgmt=WPA-EAP
   eap=TTLS (1)
   identity="test" (2)
   password="test" (3)
   ca_cert="/etc/certs/cacert.pem" (4)
   phase2="auth=MD5" (5)
 }

   (1)
           Die fu:r die Verbindung verwendete EAP-Methode.
   (2)
           Das identity-Feld entha:lt den Identifizierungsstring fu:r
           die EAP-Authentifizierung innerhalb des verschlu:sselten
           TlS-Tunnels.
   (3)
           Das password-Feld entha:lt die Passphrase fu:r die
           EAP-Authentifizierung.
   (4)
           Das Feld ca_cert gibt den Pfad zum CA-Zertifikat an, das
           beno:tigt wird, um das Server-Zertifikat zu verifizieren.
   (5)
           Die innerhalb des verschlu:sselten TLS-Tunnels verwendete
           Authentifizierungsmethode. In unserem Beispiel handelt es
           sich dabei um EAP und MD5. Diese Phase der "inneren
           Authentifizierung" wird oft als "phase2" bezeichnet.

   Folgende Zeile muss zusa:tzlich in die Datei /etc/rc.conf
   aufgenommen werden:

 ifconfig_ath0="WPA DHCP"

   Nun ko:nnen Sie Ihr drahtloses Gera:t aktivieren:

 # /etc/rc.d/netif start
 Starting wpa_supplicant.
 DHCPREQUEST on ath0 to 255.255.255.255 port 67
 DHCPREQUEST on ath0 to 255.255.255.255 port 67
 DHCPREQUEST on ath0 to 255.255.255.255 port 67
 DHCPACK from 192.168.0.20
 bound to 192.168.0.254 -- renewal in 300 seconds.
 ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
       inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
       inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
       ether 00:11:95:d5:43:62
       media: IEEE 802.11 Wireless Ethernet autoselect (DS/11Mbps)
       status: associated
       ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
       authmode WPA2/802.11i privacy ON deftxkey UNDEF TKIP 2:128-bit
       txpowmax 36 protmode CTS roaming MANUAL bintval 100

     --------------------------------------------------------------

        31.3.3.1.3.4. WPA und EAP-PEAP

   PEAP (Protected EAP) wurde als Alternative zu EAP-TTLS entwickelt.
   Es gibt zwei verschiedene PEAP-Methoden, wobei es sich bei
   PEAPv0/EAP-MSCHAPv2 um die ha:ufiger verwendete Methode handelt.
   In den folgenden Ausfu:hrungen wird der Begriff PEAP synonym fu:r
   diese EAP-Methode verwendet. PEAP ist nach EAP-TLS der am
   ha:ufigsten verwendete und am besten unterstu:tzte EAP-Standard.

   PEAP arbeitet a:hnlich wie EAP-TTLS: Es verwendet ein
   server-seitiges Zertifikat, um einen verschlu:sselten TLS-Tunnel
   zu erzeugen, u:ber den die sichere Authentifizierung zwischen den
   Clients und dem Authentifizierungsserver erfolgt. In Sachen
   Sicherheit unterscheiden sich EAP-TTLS und PEAP allerdings: PEAP
   u:bertra:gt den Benutzernamen im Klartext und verschlu:sselt nur
   das Passwort, wa:hrend EAP-TTLS sowohl den Benutzernamen als auch
   das Passwort u:ber den TLS-Tunnel u:bertra:gt.

   Um EAP-PEAP einzurichten, mu:ssen Sie die Konfigurationsdatei
   /etc/wpa_supplicant.conf anpassen:

 network={
   ssid="freebsdap"
   proto=RSN
   key_mgmt=WPA-EAP
   eap=PEAP (1)
   identity="test" (2)
   password="test" (3)
   ca_cert="/etc/certs/cacert.pem" (4)
   phase1="peaplabel=0" (5)
   phase2="auth=MSCHAPV2" (6)
 }

   (1)
           Die fu:r die Verbindung verwendete EAP-Methode.
   (2)
           Das identity-Feld entha:lt den Identifizierungsstring fu:r
           die innerhalb des verschlu:sselten TLS-Tunnels erfolgende
           EAP-Authentifizierung.
   (3)
           Das Feld password entha:lt die Passphrase fu:r die
           EAP-Authentifizierung.
   (4)
           Das Feld ca_cert gibt den Pfad zum CA-Zertifikat an, das
           zur Verifizierung des Server-Zertifikats beno:tigt wird.
   (5)
           Dieses Feld entha:lt die Parameter fu:r die erste Phase
           der Authentifizierung (also den TLS-Tunnel). Je nach dem,
           welchen Authentifizierungsserver Sie verwenden, mu:ssen
           Sie hier einen unterschiedlichen Wert angeben. In den
           meisten Fa:llen wird dieses Feld den Wert "client EAP
           encryption" aufweisen, der durch die Angabe von
           peaplabel=0 gesetzt wird. Weitere Informationen zur
           Konfiguration von PEAP finden Sie in der Manualpage
           wpa_supplicant.conf(5).
   (6)
           Das innerhalb des verschlu:sselten TLS-Tunnels verwendete
           Authentifizierungsprotokoll. In unserem Beispiel handelt
           es sich dabei um auth=MSCHAPV2.

   Danach fu:gen Sie die folgende Zeile in /etc/rc.conf ein:

 ifconfig_ath0="WPA DHCP"

   Zuletzt mu:ssen Sie die Netzkarte noch aktivieren:

 # /etc/rc.d/netif start
 Starting wpa_supplicant.
 DHCPREQUEST on ath0 to 255.255.255.255 port 67
 DHCPREQUEST on ath0 to 255.255.255.255 port 67
 DHCPREQUEST on ath0 to 255.255.255.255 port 67
 DHCPACK from 192.168.0.20
 bound to 192.168.0.254 -- renewal in 300 seconds.
 ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
       inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
       inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
       ether 00:11:95:d5:43:62
       media: IEEE 802.11 Wireless Ethernet autoselect (DS/11Mbps)
       status: associated
       ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
       authmode WPA2/802.11i privacy ON deftxkey UNDEF TKIP 2:128-bit
       txpowmax 36 protmode CTS roaming MANUAL bintval 100

     --------------------------------------------------------------

      31.3.3.1.4. WEP

   WEP (Wired Equivalent Privacy) ist Teil des urspru:nglichen
   802.11-Standards. Es entha:lt keinen Authentifzierungsmechanismus
   und verfu:gt lediglich u:ber eine schwache Zugriffskontrolle, die
   sehr leicht geknackt werden kann.

   WEP kann u:ber ifconfig aktiviert werden:

 # ifconfig ath0 ssid my_net wepmode on weptxkey 3 wepkey 3:0x3456789012 \
             inet 192.168.1.100 netmask 255.255.255.0

     * Mit weptxkey geben Sie an, welcher WEP-Schlu:ssel fu:r fu:r
       die Datenu:bertragung verwendet wird (in unserem Beispiel ist
       dies der dritte Schlu:ssel). Der gleiche Schlu:ssel muss auch
       am Access Point eingestellt sein. Kennen Sie den vom Access
       Point verwendeten Schlu:ssel nciht, sollten Sie zuerst den
       Wert 1 (d.h. den ersten Schlu:ssel) fu:r diese Variable
       verwenden.

     * Mit wepkey legen Sie den zu verwendenden WEP-Schlu:ssel in der
       Form Nummer:Schlu:ssel fest. Ist der Schlu:ssel "Nummer" nicht
       vorhanden, wird automatisch Schlu:ssel 1 verwendet. Die Angabe
       von "Nummer" ist zwingend no:tig, wenn Sie einen anderen als
       den ersten Schlu:ssel verwenden wollen.

         Anmerkung: In Ihrer Konfiguration mu:ssen Sie 0x3456789012
         durch den an Ihrem Access Point konfigurierten Schlu:ssel
         ersetzen.

   Weitere Informationen finden Sie in der Manualpage ifconfig(8).

   Das Programm wpa_supplicant eignet sich ebenfalls dazu, WEP fu:r
   Ihr drahtloses Gera:t zu aktivieren. Obige Konfiguration la:sst
   sich dabei durch die Aufnahme der folgenden Zeilen in die Datei
   /etc/wpa_supplicant.conf realisieren:

 network={
   ssid="my_net"
   key_mgmt=NONE
   wep_key3=3456789012
   wep_tx_keyidx=3
 }

   Danach mu:ssen Sie das Programm noch aufrufen:

 # wpa_supplicant -i ath0 -c /etc/wpa_supplicant.conf
 Trying to associate with 00:13:46:49:41:76 (SSID='dlinkap' freq=2437 MHz)
 Associated with 00:13:46:49:41:76

     --------------------------------------------------------------

  31.3.4. Ad-hoc-Modus

   Der IBSS-Modus (auch als Ad-hoc-Modus bezeichnet), ist fu:r
   Punkt-zu-Punkt-Verbindungen vorgesehen. Um beispielsweise eine
   Ad-hoc-Verbindung zwischen den Rechnern A und B aufzubauen,
   beno:tigen Sie lediglich zwei IP-Adressen und eine SSID.

   Auf dem Rechner A geben Sie Folgendes ein:

 # ifconfig ath0 ssid freebsdap mediaopt adhoc inet 192.168.0.1 netmask 255.255.255.0
 # ifconfig ath0
   ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
           inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
           inet6 fe80::211:95ff:fec3:dac%ath0 prefixlen 64 scopeid 0x4
           ether 00:11:95:c3:0d:ac
           media: IEEE 802.11 Wireless Ethernet autoselect <adhoc> (autoselect <adhoc>)
           status: associated
           ssid freebsdap channel 2 bssid 02:11:95:c3:0d:ac
           authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100

   Der adhoc-Parameter gibt an, dass die Schnittstelle im IBSS-Modus
   la:uft.

   Rechner B sollte nun in der Lage sein, Rechner A zu finden:

 # ifconfig ath0 up scan
   SSID            BSSID              CHAN RATE  S:N   INT CAPS
   freebsdap       02:11:95:c3:0d:ac    2   54M 19:3   100 IS

   Der Wert I (Spalte CAPS) gibt an, dass sich Rechner A im
   Ad-hoc-Modus befindet. Nun mu:ssen Sie nur noch Rechner B eine
   unterschiedliche IP-Adresse zuweisen:

 # ifconfig ath0 ssid freebsdap mediaopt adhoc inet 192.168.0.2 netmask 255.255.255.0
 # ifconfig ath0
   ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
           inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
           inet 192.168.0.2 netmask 0xffffff00 broadcast 192.168.0.255
           ether 00:11:95:d5:43:62
           media: IEEE 802.11 Wireless Ethernet autoselect <adhoc> (autoselect <adhoc>)
           status: associated
           ssid freebsdap channel 2 bssid 02:11:95:c3:0d:ac
           authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100

   Damit sind die Rechner A und B bereit und ko:nnen untereinander
   Daten austauschen.

     --------------------------------------------------------------

  31.3.5. FreeBSD Host Access Points

   Dieser Abschnitt ist noch nicht u:bersetzt. Lesen Sie bitte das
   Original in englischer Sprache. Wenn Sie helfen wollen, diesen
   Abschnitt zu u:bersetzen, senden Sie bitte eine E-Mail an die
   Mailingliste 'FreeBSD German Documentation Project'
   <de-bsd-translators@de.FreeBSD.org>.

     --------------------------------------------------------------

  31.3.6. Problembehandlung

   Die folgenden Auflistung zeigt, wie Sie einige ha:ufig auftretende
   Probleme bei der Einrichtung Ihres drahtlosen Netzwerks beheben
   ko:nnen.

     * Wird Ihr Access Point bei der Suche nicht gefunden, sollten
       Sie u:berpru:fen, ob Sie bei Konfiguration Ihres drahtlosen
       Gera:ts die Anzahl der Kana:le beschra:nkt haben.

     * Wenn Sie sich nicht mit Ihrem Access Point verbinden ko:nnen,
       sollten Sie u:berpru:fen, ob die Konfiguration Ihrer Station
       auch der des Access Points entspricht. Achten Sie dabei
       speziell auf die Authentifzierungsmethode und die
       Sicherheitsprotokolle. Halten Sie Ihre Konfiguration so
       einfach wie mo:glich. Verwenden Sie ein Sicherheitsprotokoll
       wie WPA oder WEP, sollten Sie testweise Ihren Access Point auf
       offene Authentifizierung und keine Sicherheit einstellen.
       Danach versuchen Sie sich erneut mit Ihren Access Point zu
       verbinden.

     * Nachdem Sie sich mit dem Access Point verbinden ko:nnen,
       pru:fen Sie die Sicherheitseinstellungen, beginnend mit
       einfachen Werkzeugen wie ping(8).

       Das Programm wpa_supplicant kann Ihnen bei der Fehlersuche
       helfen. Dazu starten Sie es manuell mit der Option -dd und
       durchsuchen anschliessend die Protokollinformationen nach
       eventuellen Fehlermeldungen.

     * Zusa:tzlich gibt es auch zahlreiche
       Low-Level-Debugging-Werkzeuge. Die Ausgabe von
       Debugging-Informationen des 802.11 Protocol Support Layers
       lassen sich mit dem Programm wlandebug (das sich unter
       /usr/src/tools/tools/net80211 befindet) aktivieren. Um
       beispielsweise wa:hrend der Suche nach Access Points und des
       Aufbaus von 802.11-Verbindungen (Handshake) auftretende
       Systemmeldungen auf die Konsole auszugeben, verwenden Sie den
       folgenden Befehl:

 # wlandebug -i ath0 +scan+auth+debug+assoc
   net.wlan.0.debug: 0 => 0xc80000<assoc,auth,scan>

       Der 802.11-Layer liefert umfangreiche Statistiken, die Sie mit
       dem Werkzeug wlanstats abrufen ko:nnen. Diese Statistiken
       sollten alle Fehler identifizieren, die im 802.11-Layer
       auftreten. Beachten Sie aber, dass einige Fehler bereits im
       darunterliegenden Gera:tetreiber auftreten und daher in diesen
       Statistiken nicht enthalten sind. Wie Sie Probleme des
       Gera:tetreibers identifizieren, entnehmen Sie bitte der
       Dokumentation Ihres Gera:tetreibers.

   Ko:nnen Sie Ihr Problem durch diese Massnahmen nicht lo:sen,
   sollten Sie einen Problembericht (PR) erstellen und die Ausgabe
   der weiter oben genannten Werkzeuge in den Bericht aufnehmen.

     --------------------------------------------------------------

31.4. Bluetooth

   Beigetragen von Pav Lucistnik.

     --------------------------------------------------------------

  31.4.1. U:bersicht

   Bluetooth ermo:glicht die Bildung von perso:nlichen Netzwerken
   u:ber drahtlose Verbindungen bei einer maximalen Reichweite von 10
   Metern und operiert im unlizensierten 2,4-GHz-Band. Solche
   Netzwerke werden normalerweise spontan gebildet, wenn sich mobile
   Gera:te, wie Mobiltelefone, Handhelds oder Notebooks miteinander
   verbinden. Im Gegensatz zu Wireless LAN ermo:glicht Bluetooth auch
   ho:herwertige Dienste, wie FTP-a:hnliche Dateiserver, Filepushing,
   Sprachu:bertragung, Emulation von seriellen Verbindungen und
   andere mehr.

   Der Bluetooth-Stack von FreeBSD verwendet das Netgraph-Framework
   (netgraph(4)). Viele Bluetooth-USB-Adapter werden durch den
   ng_ubt(4)-Treiber unterstu:tzt. Auf dem Chip BCM2033 von Broadcom
   basierende Bluetooth-Gera:te werden von den Treibern ubtbcmfw(4)
   sowie ng_ubt(4) unterstu:tzt. Die Bluetooth-PC-Card 3CRWB60-A von
   3Com verwendet den ng_bt3c(4)-Treiber. Serielle sowie auf UART
   basierende Bluetooth-Gera:te werden von sio(4), ng_h4(4) sowie
   hcseriald(8) unterstu:tzt. Dieses Kapitel beschreibt die
   Verwendung von USB-Bluetooth-Adaptern.

     --------------------------------------------------------------

  31.4.2. Die Bluetooth-Unterstu:tzung aktivieren

   Bluetooth-Unterstu:tzung ist in der Regel als Kernelmodul
   verfu:gbar. Damit ein Gera:t funktioniert, muss der entsprechende
   Treiber im Kernel geladen werden:

 # kldload ng_ubt

   Ist das Bluetooth-Gera:t beim Systemstart angeschlossen, kann das
   entsprechende Modul auch von /boot/loader.conf geladen werden:

 ng_ubt_load="YES"

   Schliessen Sie Ihren USB-Adapter an, sollte eine Meldung a:hnlich
   der folgenden auf der Konsole (oder in syslog) erscheinen:

 ubt0: vendor 0x0a12 product 0x0001, rev 1.10/5.25, addr 2
 ubt0: Interface 0 endpoints: interrupt=0x81, bulk-in=0x82, bulk-out=0x2
 ubt0: Interface 1 (alt.config 5) endpoints: isoc-in=0x83, isoc-out=0x3,
       wMaxPacketSize=49, nframes=6, buffer size=294

   Zum Starten und Beenden des Bluetooth-Stacks verwenden Sie das
   Skript /etc/rc.d/bluetooth. Es ist empfehlenswert, den
   Bluetooth-Stack zu beenden, bevor Sie den Adapter entfernen.
   Selbst wenn Sie dies nicht tun, kommt es (normalerweise) zu keinem
   fatalen Fehler. Wenn Sie den Bluetooth-Stack starten, erhalten Sie
   eine Meldung a:hnlich der folgenden:

 # /etc/rc.d/bluetooth start ubt0
 BD_ADDR: 00:02:72:00:d4:1a
 Features: 0xff 0xff 0xf 00 00 00 00 00
 <3-Slot> <5-Slot> <Encryption> <Slot offset>
 <Timing accuracy> <Switch> <Hold mode> <Sniff mode>
 <Park mode> <RSSI> <Channel quality> <SCO link>
 <HV2 packets> <HV3 packets> <u-law log> <A-law log> <CVSD>
 <Paging scheme> <Power control> <Transparent SCO data>
 Max. ACL packet size: 192 bytes
 Number of ACL packets: 8
 Max. SCO packet size: 64 bytes
 Number of SCO packets: 8

     --------------------------------------------------------------

  31.4.3. Das Host Controller Interface (HCI)

   Das Host Controller Interface (HCI) bietet eine
   Befehlsschnittstelle zum Basisbandcontroller und Linkmanager,
   sowie Zugriff auf den Hardwarestatus und die Kontrollregister.
   Dadurch wird ein einheitlicher Zugriff auf die Fa:higkeiten des
   Bluetooth-Basisbands mo:glich. Die HCI-Layer des Rechners tauschen
   Daten und Befehle mit der HCI-Firmware der Bluetooth-Gera:te aus.
   U:ber den Host Controller Transport Layer-Treiber (also den
   physikalischen Bus) ko:nnen beide HCI-Layer miteinander
   kommunizieren.

   Eine einzelne Netgraph-Gera:tedatei vom Typ hci wird fu:r ein
   einzelnes Bluetooth-Gera:t erzeugt. Die HCI-Gera:tedatei ist
   normalerweise mit der Bluetooth-Gera:tetreiberdatei (downstream)
   sowie der L2CAP-Gera:tedatei (upstream) verbunden. Alle
   HCI-Operationen mu:ssen u:ber die HCI-Gera:tedatei und nicht u:ber
   die Treiberdatei erfolgen. Der Standardname fu:r die
   HCI-Gera:tedatei (die in ng_hci(4) beschrieben wird) lautet
   "devicehci".

   Eine der wichtigsten Aufgaben ist das Auffinden von sich in
   Reichweite befindenden Bluetooth-Gera:ten. Diese Funktion wird als
   inquiry bezeichnet. Inquiry sowie andere mit HCI in Verbindung
   stehende Funktionen werden von hccontrol(8) zur Verfu:gung
   gestellt. Das folgende Beispiel zeigt, wie man herausfindet,
   welche Bluetooth-Gera:te sich in Reichweite befinden. Eine solche
   Abfrage dauert nur wenige Sekunden. Beachten Sie, dass ein Gera:t
   nur dann antwortet, wenn es sich im Modus discoverable befindet.

 % hccontrol -n ubt0hci inquiry
 Inquiry result, num_responses=1
 Inquiry result #0
        BD_ADDR: 00:80:37:29:19:a4
        Page Scan Rep. Mode: 0x1
        Page Scan Period Mode: 00
        Page Scan Mode: 00
        Class: 52:02:04
        Clock offset: 0x78ef
 Inquiry complete. Status: No error [00]

   BD_ADDR stellt, a:hnlich der MAC-Adresse einer Netzkarte, die
   eindeutige Adresse eines Bluetooth-Gera:tes dar. Diese Adresse ist
   fu:r die Kommunikation mit dem Gera:t no:tig. Es ist aber auch
   mo:glich, BD_ADDR einen Klartextnamen zuzuweisen. Die Datei
   /etc/bluetooth/hosts entha:lt Informationen u:ber die bekannten
   Bluetooth-Rechner. Das folgende Beispiel zeigt, wie man den
   Klartextnamen eines entfernten Gera:ts in Erfahrung bringen kann:

 % hccontrol -n ubt0hci remote_name_request 00:80:37:29:19:a4
 BD_ADDR: 00:80:37:29:19:a4
 Name: Pav's T39

   Wenn Sie ein entferntes Bluetooth-Gera:t abfragen, wird dieses
   Ihren Rechner unter dem Namen "your.host.name (ubt0)" finden.
   Dieser Name kann aber jederzeit gea:ndert werden.

   Bluetooth ermo:glicht Punkt-zu-Punkt-Verbindungen (an denen nur
   zwei Bluetooth-Gera:te beteiligt sind), aber auch
   Punkt-zu-Multipunkt-Verbindungen, bei denen eine Verbindung von
   mehreren Bluetooth-Gera:ten gemeinsam genutzt wird. Das folgende
   Beispiel zeigt, wie man die aktiven Basisbandverbindungen des
   lokalen Gera:tes anzeigen kann:

 % hccontrol -n ubt0hci read_connection_list
 Remote BD_ADDR    Handle Type Mode Role Encrypt Pending Queue State
 00:80:37:29:19:a4     41  ACL    0 MAST    NONE       0     0 OPEN

   Ein connection handle ist fu:r die Beendigung einer
   Basisbandverbindung nu:tzlich. Im Normalfall werden inaktive
   Verbindungen aber automatisch vom Bluetooth-Stack getrennt.

 # hccontrol -n ubt0hci disconnect 41
 Connection handle: 41
 Reason: Connection terminated by local host [0x16]

   Rufen Sie hccontrol help auf, wenn Sie eine komplette Liste aller
   verfu:gbaren HCI-Befehle beno:tigen. Die meisten dieser Befehle
   mu:ssen nicht als root ausgefu:hrt werden.

     --------------------------------------------------------------

  31.4.4. Das Logical Link Control and Adaptation Protocol (L2CAP)

   Das Logical Link Control and Adaptation Protocol (L2CAP) bietet
   ho:herwertigen Protokollen verbindungsorientierte und
   verbindungslose Datendienste an. Dazu geho:ren auch
   Protokollmultiplexing, Segmentierung und Reassemblierung. L2CAP
   erlaubt ho:herwertigen Protokollen und Programmen den Versand und
   Empfang von L2CAP-Datenpaketen mit einer La:nge von bis zu 64
   Kilobytes.

   L2CAP arbeitet kanalbasiert. Ein Kanal ist eine logische
   Verbindung innerhalb einer Basisbandverbindung. Jeder Kanal ist
   dabei an ein einziges Protokoll gebunden. Mehrere Gera:te ko:nnen
   an das gleiche Protokoll gebunden sein, es ist aber nicht
   mo:glich, einen Kanal an mehrere Protokolle zu binden. Jedes u:ber
   einen Kanal ankommende L2CAP-Paket wird an das entsprechende
   ho:herwertige Protokoll weitergeleitet. Mehrere Kana:le ko:nnen
   sich die gleiche Basisbandverbindung teilen.

   Eine einzelne Netgraph-Gera:tedatei vom Typ l2cap wird fu:r ein
   einzelnes Bluetooth-Gera:t erzeugt. Die L2CAP-Gera:tedatei ist
   normalerweise mit der Bluetooth-HCI-Gera:tedatei (downstream)
   sowie der Bluetooth-Socket-Gera:tedatei (upstream) verbunden. Der
   Standardname fu:r die L2CAP-Gera:tedatei, die in ng_l2cap(4)
   beschrieben wird, lautet "devicel2cap".

   Ein nu:tzlicher Befehl zum Anpingen von anderen Gera:ten ist
   l2ping(8). Einige Bluetooth-Gera:te senden allerdings nicht alle
   erhaltenen Daten zuru:ck. Die Ausgabe 0 bytes ist also kein
   Fehler:

 # l2ping -a 00:80:37:29:19:a4
 0 bytes from 0:80:37:29:19:a4 seq_no=0 time=48.633 ms result=0
 0 bytes from 0:80:37:29:19:a4 seq_no=1 time=37.551 ms result=0
 0 bytes from 0:80:37:29:19:a4 seq_no=2 time=28.324 ms result=0
 0 bytes from 0:80:37:29:19:a4 seq_no=3 time=46.150 ms result=0

   Das Programm l2control(8) liefert Informationen u:ber
   L2CAP-Dateien. Das folgende Beispiel zeigt, wie man die Liste der
   logischen Verbindungen (Kana:le) sowie die Liste der
   Basisbandverbindungen abfragen kann:

 % l2control -a 00:02:72:00:d4:1a read_channel_list
 L2CAP channels:
 Remote BD_ADDR     SCID/ DCID   PSM  IMTU/ OMTU State
 00:07:e0:00:0b:ca    66/   64     3   132/  672 OPEN
 % l2control -a 00:02:72:00:d4:1a read_connection_list
 L2CAP connections:
 Remote BD_ADDR    Handle Flags Pending State
 00:07:e0:00:0b:ca     41 O           0 OPEN

   btsockstat(1) ist ein weiteres Diagnoseprogramm. Es funktioniert
   analog zu netstat(1), arbeitet aber mit Bluetooth-Datenstrukturen.
   Das folgende Beispiel zeigt die gleiche Liste der logischen
   Verbindungen wie l2control(8) im vorherigen Beispiel.

 % btsockstat
 Active L2CAP sockets
 PCB      Recv-Q Send-Q Local address/PSM       Foreign address   CID   State
 c2afe900      0      0 00:02:72:00:d4:1a/3     00:07:e0:00:0b:ca 66    OPEN
 Active RFCOMM sessions
 L2PCB    PCB      Flag MTU   Out-Q DLCs State
 c2afe900 c2b53380 1    127   0     Yes  OPEN
 Active RFCOMM sockets
 PCB      Recv-Q Send-Q Local address     Foreign address   Chan DLCI State
 c2e8bc80      0    250 00:02:72:00:d4:1a 00:07:e0:00:0b:ca 3    6    OPEN

     --------------------------------------------------------------

  31.4.5. Das RFCOMM-Protokoll

   Das RFCOMM-Protokoll emuliert serielle Verbindungen u:ber das
   L2CAP-Protokoll. Es basiert auf dem ETSI-Standard TS 07.10. Bei
   RFCOMM handelt es sich um ein einfaches Transportprotokoll, das um
   Funktionen zur Emulation der 9poligen Schaltkreise von mit RS-232
   (EIATIA-232-E) kompatiblen seriellen Ports erga:nzt wurde. RFCOMM
   erlaubt bis zu 60 simultane Verbindungen (RFCOMM-Kana:e) zwischen
   zwei Bluetooth-Gera:ten.

   Eine RFCOMM-Kommunikation besteht aus zwei Anwendungen (den
   Kommunikationsendpunkten), die u:ber das Kommunikationssegment
   miteinander verbunden sind. RFCOMM unterstu:tzt Anwendungen, die
   auf serielle Ports angewiesen sind. Das Kommunikationssegment
   entspricht der (direkten) Bluetooth-Verbindung zwischen den beiden
   Gera:ten.

   RFCOMM ku:mmert sich um die direkte Verbindung von zwei Gera:ten,
   oder um die Verbindung zwischen einem Gera:t und einem Modem
   (Netzwerkverbindung). RFCOMM unterstu:tzt auch andere
   Konfigurationen. Ein Beispiel dafu:r sind Module, die drahtlose
   Bluetooth-Gera:te mit einer verkabelten Schnittstelle verbinden
   ko:nnen.

   Unter FreeBSD wurde das RFCOMM-Protokoll im Bluetooth Socket-Layer
   implementiert.

     --------------------------------------------------------------

  31.4.6. Erstmaliger Verbindungsaufbau zwischen zwei Bluetooth-Gera:ten
  (Pairing)

   In der Voreinstellung nutzt Bluetooth keine Authentifizierung,
   daher kann sich jedes Bluetoothgera:t mit jedem anderen Gera:t
   verbinden. Ein Bluetoothgera:t (beispielsweise ein Mobiltelefon)
   kann jedoch fu:r einen bestimmten Dienst (etwa eine
   Einwa:hlverbindung) eine Authentifizierung anfordern. Bluetooth
   verwendet zu diesem Zweck PIN-Codes. Ein PIN-Code ist ein maximal
   16 Zeichen langer ASCII-String. Damit eine Verbindung zustande
   kommt, muss auf beiden Gera:ten der gleiche PIN-Code verwendet
   werden. Nachdem der Code eingegeben wurde, erzeugen beide Gera:te
   einen link key, der auf den Gera:ten gespeichert wird. Beim
   na:chsten Verbindungsaufbau wird der zuvor erzeugte Link Key
   verwendet. Diesen Vorgang bezeichnet man als Pairing. Geht der
   Link Key auf einem Gera:t verloren, muss das Pairing wiederholt
   werden.

   Der hcsecd(8)-Daemon verarbeitet alle
   Bluetooth-Authentifzierungsanforderungen und wird u:ber die Datei
   /etc/bluetooth/hcsecd.conf konfiguriert. Der folgende Ausschnitt
   dieser Datei zeigt die Konfiguration fu:r ein Mobiltelefon, das
   den PIN-Code "1234" verwendet:

 device {
         bdaddr  00:80:37:29:19:a4;
         name    "Pav's T39";
         key     nokey;
         pin     "1234";
       }

   Von der La:nge abgesehen, unterliegen PIN-Codes keinen
   Einschra:nkungen. Einige Gera:te, beispielsweise
   Bluetooth-Headsets, haben einen festen PIN-Code eingebaut. Die
   Option -d sorgt dafu:r, dass der hcsecd(8)-Daemon im Vordergrund
   la:uft. Dadurch kann der Ablauf einfach verfolgt werden. Stellen
   Sie das entfernte Gera:t auf receive pairing und initiieren Sie
   die Bluetoothverbindung auf dem entfernten Gera:t. Sie erhalten
   die Meldung, dass Pairing akzeptiert wurde und der PIN-Code
   beno:tigt wird. Geben Sie den gleichen PIN-Code ein, den Sie in
   hcsecd.conf festgelegt haben. Ihr Computer und das entfernte
   Gera:t sind nun miteinander verbunden. Alternativ ko:nnen Sie das
   Pairing auch auf dem entfernten Gera:t initiieren.

   Unter FreeBSD 5.5, 6.1 und neuer ko:nnen Sie hcsecd durch das
   Einfu:gen der folgenden Zeile in /etc/rc.conf beim Systemstart
   automatisch aktivieren:

 hcsecd_enable="YES"

   Es folgt nun eine beispielhafte Ausgabe des hcsecd-Daemons:

 hcsecd[16484]: Got Link_Key_Request event from 'ubt0hci', remote bdaddr 0:80:37:29:19:a4
 hcsecd[16484]: Found matching entry, remote bdaddr 0:80:37:29:19:a4, name 'Pav's T39', link key doesn't exist
 hcsecd[16484]: Sending Link_Key_Negative_Reply to 'ubt0hci' for remote bdaddr 0:80:37:29:19:a4
 hcsecd[16484]: Got PIN_Code_Request event from 'ubt0hci', remote bdaddr 0:80:37:29:19:a4
 hcsecd[16484]: Found matching entry, remote bdaddr 0:80:37:29:19:a4, name 'Pav's T39', PIN code exists
 hcsecd[16484]: Sending PIN_Code_Reply to 'ubt0hci' for remote bdaddr 0:80:37:29:19:a4

     --------------------------------------------------------------

  31.4.7. Das Service Discovery Protocol (SDP)

   Das Service Discovery Protocol (SDP) erlaubt es Clientanwendungen,
   von Serveranwendungen angebotene Dienste sowie deren Eigenschaften
   abzufragen. Zu diesen Eigenschaften geho:ren die Art oder die
   Klasse der angebotenen Dienste sowie der Mechanismus oder das
   Protokoll, die zur Nutzung des Dienstes notwendig sind.

   SDP ermo:glicht Verbindungen zwischen einem SDP-Server und einem
   SDP-Client. Der Server entha:lt eine Liste mit den Eigenschaften
   der vom Server angebotenen Dienste. Jeder Eintrag beschreibt
   jeweils einen einzigen Serverdienst. Ein Client kann diese
   Informationen durch eine SDP-Anforderung vom SDP-Server beziehen.
   Wenn der Client oder eine Anwendung des Clients einen Dienst
   nutzen will, muss eine seperate Verbindung mit dem Dienstanbieter
   aufgebaut werden. SDP bietet einen Mechanismus zum Auffinden von
   Diensten und deren Eigenschaften an, es bietet aber keine
   Mechanismen zur Verwendung dieser Dienste.

   Normalerweise sucht ein SDP-Client nur nach Diensten, die
   bestimmte geforderte Eigenschaften erfu:llen. Es ist aber auch
   mo:glich, anhand der Dienstbeschreibungen eine allgemeine Suche
   nach den von einem Server angebotenen Diensten durchzufu:hren.
   Diesen Vorgang bezeichnet man als Browsing.

   Der Bluetooth-SDP-Server sdpd(8) und der Kommandozeilenclient
   sdpcontrol(8) sind bereits in der Standardinstallation von FreeBSD
   enthalten. Das folgende Beispiel zeigt, wie eine SDP-Abfrage
   durchgefu:hrt wird:

 % sdpcontrol -a 00:01:03:fc:6e:ec browse
 Record Handle: 00000000
 Service Class ID List:
         Service Discovery Server (0x1000)
 Protocol Descriptor List:
         L2CAP (0x0100)
                 Protocol specific parameter #1: u/int/uuid16 1
                 Protocol specific parameter #2: u/int/uuid16 1

 Record Handle: 0x00000001
 Service Class ID List:
         Browse Group Descriptor (0x1001)

 Record Handle: 0x00000002
 Service Class ID List:
         LAN Access Using PPP (0x1102)
 Protocol Descriptor List:
         L2CAP (0x0100)
         RFCOMM (0x0003)
                 Protocol specific parameter #1: u/int8/bool 1
 Bluetooth Profile Descriptor List:
         LAN Access Using PPP (0x1102) ver. 1.0

   ... und so weiter. Beachten Sie, dass jeder Dienst eine Liste
   seiner Eigenschaften (etwa den RFCOMM-Kanal) zuru:ckgibt. Je nach
   dem, welche Dienste Sie beno:tigen, sollten Sie sich einige dieser
   Eigenschaften notieren. Einige Bluetooth-Implementationen
   unterstu:tzen kein Service Browsing und geben daher eine leere
   Liste zuru:ck. Ist dies der Fall, ist es dennoch mo:glich, nach
   einem bestimmten Dienst zu suchen. Das folgende Beispiel
   demonstriert die Suche nach dem OBEX Object Push (OPUSH) Dienst:

 % sdpcontrol -a 00:01:03:fc:6e:ec search OPUSH

   Unter FreeBSD ist es die Aufgabe des sdpd(8)-Servers,
   Bluetooth-Clients verschiedene Dienste anzubieten. Unter FreeBSD
   5.5, 6.1 und neuer ko:nnen Sie dazu die folgende Zeile in die
   Datei /etc/rc.conf einfu:gen:

 sdpd_enable="YES"

   Nun kann der sdpd-Daemon durch folgene Eingabe gestartet werden:

 # /etc/rc.d/sdpd start

   Der lokale Server, der den entfernten Clients Bluetooth-Dienste
   anbieten soll, bindet diese Dienste an den lokalen SDP-Daemon. Ein
   Beispiel fu:r eine solche Anwendung ist rfcomm_pppd(8). Einmal
   gestartet, wird der Bluetooth-LAN-Dienst an den lokalen SDP-Daemon
   gebunden.

   Die Liste der vorhandenen Dienste, die am lokalen SDP-Server
   registriert sind, la:sst sich durch eine SDP-Abfrage u:ber einen
   lokalen Kontrollkanal abfragen:

 # sdpcontrol -l browse

     --------------------------------------------------------------

  31.4.8. Einwahlverbindungen (Dial-Up Networking (DUN)) oder
  Netzwerkverbindungen mit PPP (LAN)-Profilen einrichten

   Das Dial-Up Networking (DUN)-Profil wird vor allem fu:r Modems und
   Mobiltelefone verwendet. Dieses Profil ermo:glicht folgende
   Szenarien:

     * Die Verwendung eines Mobiltelefons oder eines Modems durch
       einen Computer als drahtloses Modem, um sich u:ber einen
       Einwahlprovider mit dem Internet zu verbinden oder andere
       Einwahldienste zu benutzen.

     * Die Verwendung eines Mobiltelefons oder eines Modems durch
       einen Computers, um auf Datenabfragen zu reagieren.

   Der Zugriff auf ein Netzwerk u:ber das PPP (LAN)-Profil kann in
   folgenden Situationen verwendet werden:

     * Den LAN-Zugriff fu:r ein einzelnes Bluetooth-Gera:t

     * Den LAN-Zugriff fu:r mehrere Bluetooth-Gera:te

     * Eine PC-zu-PC-Verbindung (unter Verwendung einer
       PPP-Verbindung u:ber eine emulierte serielle Verbindung)

   Beide Profile werden unter FreeBSD durch ppp(8) sowie
   rfcomm_pppd(8) implementiert - einem Wrapper, der RFCOMM
   Bluetooth-Verbindungen unter PPP nutzbar macht. Bevor ein Profil
   verwendet werden kann, muss ein neuer PPP-Abschnitt in
   /etc/ppp/ppp.conf erzeugt werden. Beispielkonfigurationen zu
   diesem Thema finden Sie in rfcomm_pppd(8).

   Im folgenden Beispiel verwenden wir rfcomm_pppd(8), um eine
   RFCOMM-Verbindung zu einem entfernten Gera:t mit der BD_ADDR
   00:80:37:29:19:a4 auf dem RFCOMM-Kanal DUN aufzubauen. Die
   aktuelle RFCOMM-Kanalnummer erhalten Sie vom entfernten Gera:t
   u:ber SDP. Es ist auch mo:glich, manuell einen RFCOMM-Kanal
   festzulegen. In diesem Fall fu:hrt rfcomm_pppd(8) keine
   SDP-Abfrage durch. Verwenden Sie sdpcontrol(8), um die
   RFCOMM-Kana:le des entfernten Gera:ts herauszufinden.

 # rfcomm_pppd -a 00:80:37:29:19:a4 -c -C dun -l rfcomm-dialup

   Der sdpd(8)-Server muss laufen, damit ein Netzzugriff mit dem PPP
   (LAN)-Profil mo:glich ist. Ausserdem muss fu:r den LAN-Client ein
   neuer Eintrag in /etc/ppp/ppp.conf erzeugt werden.
   Beispielkonfigurationen zu diesem Thema finden Sie in
   rfcomm_pppd(8). Danach starten Sie den RFCOMM PPP-Server u:ber
   eine gu:ltige RFCOMM-Kanalnummer. Der RFCOMM PPP-Server bindet
   dadurch den Bluetooth-LAN-Dienst an den lokalen SDP-Daemon. Das
   folgende Beispiel zeigt Ihnen, wie man den RFCOMM PPP-Server
   startet.

 # rfcomm_pppd -s -C 7 -l rfcomm-server

     --------------------------------------------------------------

  31.4.9. Das Profil OBEX-Push (OPUSH)

   OBEX ist ein ha:ufig verwendetes Protokoll fu:r den Dateitransfer
   zwischen Mobilgera:ten. Sein Hauptzweck ist die Kommunikation
   u:ber die Infrarotschnittstelle. Es dient daher zum Datentransfer
   zwischen Notebooks oder PDAs sowie zum Austausch von Visitenkarten
   oder Kalendereintra:gen zwischen Mobiltelefonen und anderen
   Gera:ten mit PIM-Funktionen.

   Server und Client von OBEX werden durch das Softwarepaket obexapp
   bereitgestellt, das als Port comms/obexapp verfu:gbar ist.

   Mit dem OBEX-Client werden Objekte zum OBEX-Server geschickt oder
   angefordert. Ein Objekt kann etwa eine Visitenkarte oder ein
   Termin sein. Der OBEX-Client fordert u:ber SDP die Nummer des
   RFCOMM-Kanals vom entfernten Gera:t an. Dies kann auch durch die
   Verwendung des Servicenamens anstelle der RFCOMM-Kanalnummer
   erfolgen. Folgende Dienste werden unterstu:tzt: IrMC, FTRN und
   OPUSH. Es ist mo:glich, den RFCOMM-Kanal als Nummer anzugeben. Es
   folgt nun ein Beispiel fu:r eine OBEX-Sitzung, bei der ein
   Informationsobjekt vom Mobiltelefon angefordert und ein neues
   Objekt (hier eine Visitenkarte) an das Telefonbuch des
   Mobiltelefons geschickt wird:

 % obexapp -a 00:80:37:29:19:a4 -C IrMC
 obex> get telecom/devinfo.txt
 Success, response: OK, Success (0x20)
 obex> put new.vcf
 Success, response: OK, Success (0x20)
 obex> di
 Success, response: OK, Success (0x20)

   Um OBEX-Push-Dienste anbieten zu ko:nnen, muss der sdpd-Server
   gestartet sein. Ein Wurzelverzeichnis, in dem alle ankommenden
   Objekt gespeichert werden, muss zusa:tzlich angelegt werden. In
   der Voreinstellung ist dies /var/spool/obex. Starten Sie den
   OBEX-Server mit einer gu:ltigen Kanalnummer. Der OBEX-Server
   registriert nun den OBEX-Push-Dienst mit dem lokalen SDP-Daemon.
   Um den OBEX-Server zu starten, geben Sie Folgendes ein:

 # obexapp -s -C 10

     --------------------------------------------------------------

  31.4.10. Das Profil Serial-Port (SPP)

   Durch dieses Profil ko:nnen Bluetooth-Gera:te RS232- (oder damit
   kompatible) serielle Kabelverbindungen emulieren. Anwendungen sind
   dadurch in der Lage, u:ber eine virtuelle serielle Verbindung
   Bluetooth als Ersatz fu:r eine Kabelverbindung zu nutzen.

   Das Profil Serial-Port wird durch rfcomm_sppd(1) verwirklicht.
   Pseudo-tty wird hier als virtuelle serielle Verbindung verwendet.
   Das folgende Beispiel zeigt, wie man sich mit einem entfernten
   Serial-Port-Dienst verbindet. Beachten Sie, dass Sie den
   RFCOMM-Kanal nicht angeben mu:ssen, da rfcomm_sppd(1) diesen u:ber
   SDP vom entfernten Gera:t abfragen kann. Wenn Sie dies nicht
   wollen, ko:nnen Sie einen RFCOMM-Kanal auch manuell festlegen.

 # rfcomm_sppd -a 00:07:E0:00:0B:CA -t /dev/ttyp6
 rfcomm_sppd[94692]: Starting on /dev/ttyp6...

   Sobald die Verbindung hergestellt ist, kann pseudo-tty als
   serieller Port verwenden werden.

 # cu -l ttyp6

     --------------------------------------------------------------

  31.4.11. Problembehandlung

    31.4.11.1. Ein entferntes Gera:t kann keine Verbindung aufbauen

   Einige a:ltere Bluetooth-Gera:te unterstu:tzen keinen
   Rollentausch. Wenn FreeBSD eine neue Verbindung akzeptiert, wird
   versucht, die Rolle zu tauschen, um zum Master zu werden. Gera:te,
   die dies nicht unterstu:tzen, ko:nnen keine Verbindung aufbauen.
   Beachten Sie, dass der Rollentausch ausgefu:hrt wird, sobald eine
   neue Verbindung aufgebaut wird, daher ist es nicht mo:glich, das
   entfernte Gera:t zu fragen, ob es den Rollentausch unterstu:tzt.
   Dieses Verhalten von FreeBSD kann aber durch eine HCI-Option
   gea:ndert werden:

 # hccontrol -n ubt0hci write_node_role_switch 0

     --------------------------------------------------------------

    31.4.11.2. Wo finde ich genaue Informationen daru:ber, was
    schiefgelaufen ist?

   Verwenden Sie hcidump, das Sie u:ber den Port comms/hcidump
   installieren ko:nnen. hcidump hat A:hnlichkeiten mit tcpdump(1).
   Es dient zur Anzeige der Bluetooth-Pakete in einem Terminal oder
   zur Speicherung der Pakete in einer Datei (Dump).

     --------------------------------------------------------------

31.5. LAN-Kopplung mit einer Bridge

   Geschrieben von Andrew Thompson.

  31.5.1. Einfu:hrung

   Manchmal ist es nu:tzlich, ein physikalisches Netzwerk (wie ein
   Ethernetsegment) in zwei separate Netzwerke aufzuteilen, ohne
   gleich IP-Subnetze zu erzeugen, die u:ber einen Router miteinander
   verbunden sind. Ein Gera:t, das zwei Netze auf diese Weise
   verbindet, wird als Bridge bezeichnet. Jedes FreeBSD-System mit
   zwei Netzkarten kann als Bridge fungieren.

   Die Bridge arbeitet, indem sie die MAC Layeradressen (Ethernet
   Adressen) der Gera:te in ihren Netzwerksegmenten lernt. Der
   Verkehr wird nur dann zwischen zwei Segmenten weitergeleitet, wenn
   sich Sender und Empfa:nger in verschiedenen Netzwerksegmenten
   befinden.

   In vielerlei Hinsicht entspricht eine Bridge daher einem
   Ethernet-Switch mit sehr wenigen Ports.

     --------------------------------------------------------------

  31.5.2. Situationen, in denen Bridging angebracht ist

   Es gibt zahlreiche Situationen, in denen der Einsatz einer Bridge
   sinnvoll ist:

     --------------------------------------------------------------

    31.5.2.1. Verbinden von Netzwerken

   Die Hauptaufgabe einer Bridge ist die Verbindung von zwei oder
   mehreren Netzwerksegmenten zu einem gemeinsamen Netzwerk. Es ist
   oft sinnvoller, eine hostbasierte Bridge anstelle normaler
   Netzwerkkomponenten (wie Kabelverbindungen), Firewalls oder
   Pseudonetzwerken u:ber die Schnittstelle einer virtuellen Maschine
   einzusetzen. Eine Bridge kann ausserdem ein drahtloses Gera:t mit
   einem Kabelnetzwerk verbinden. Diese Fa:higkeit der Bridge wird
   als HostAP-Modus bezeichnet. Die Bridge agiert in diesem Fall als
   Access Point fu:r das drahtlose Gera:t.

     --------------------------------------------------------------

    31.5.2.2. Filtering/Traffic Shaping Firewall

   Ha:ufig kommt es vor, dass Firewallfunktionen beno:tigt werden,
   ohne dass Routing oder Network Adress Translation (NAT) verwendet
   werden soll.

   Ein Beispiel dafu:r wa:re ein kleines Unternehmen, das u:ber DSL
   oder ISDN an seinen ISP angebunden ist. Es verfu:gt u:ber 13
   weltweit erreichbare IP-Adressen, sein Netzwerk besteht aus 10
   Rechnern. In dieser Situation ist der Einsatz von Subnetzen sowie
   einer routerbasierten Firewall schwierig.

   Eine brigdebasierte Firewall kann konfiguriert und in den
   ISDN/DSL-Downstreampfad ihres Routers eingebunden werden, ohne
   dass Sie sich um IP-Adressen ku:mmern mu:ssen.

     --------------------------------------------------------------

    31.5.2.3. Netzwerku:berwachung

   Eine Bridge kann zwei Netzwerksegmente miteinander verbinden und
   danach alle Ethernet-Rahmen u:berpru:fen, die zwischen den beiden
   Netzwerksegmenten ausgetauscht werden. Dazu verwendet man entweder
   bpf(4)/tcpdump(1) auf dem Netzgera:t der Bridge oder schickt
   Kopien aller Rahmen an ein zusa:tzliches Netzgera:t (den
   sogenannten Span Port).

     --------------------------------------------------------------

    31.5.2.4. Layer 2-VPN

   Zwei Ethernetnetzwerke ko:nnen u:ber einen IP-Link miteinander
   verbunden werden, indem Sie die beiden Netzwerke u:ber einen
   EtherIP-Tunnel koppeln oder eine tap(4)-basierte Lo:sung wie
   OpenVPN einsetzen.

     --------------------------------------------------------------

    31.5.2.5. Layer 2-Redundanz

   Die Systeme eines Netzwerks ko:nnen redundant miteinander
   verbunden sein. In diesem Fall verwenden Sie das Spanning Tree
   Protocol, um redundante Pfade zu blockieren. Damit ein
   Ethernetnetzwerk korrekt arbeitet, darf immer nur ein aktiver Pfad
   zwischen zwei Gera:ten des Netzwerks existieren. Aufgabe des
   Spanning Tree Protocols ist es daher, Schleifen zu entdecken und
   redundante Links in den Status blockiert zu versetzen. Fa:llt ein
   aktiver Link aus, so berechnet das Protokoll einen neuen Pfad.
   Dazu wird ein blockierter Pfad in den Status aktiv versetzt, damit
   alle Systeme des Netzwerks wieder miteinander kommunizieren
   ko:nnen.

     --------------------------------------------------------------

  31.5.3. Kernelkonfiguration

   Dieser Abschnitt beschreibt nur die
   if_bridge(4)-Bridge-Implementierung. Ein Netgraph-Bridge-Treiber
   ist ebenfalls verfu:gbar, wird hier aber nicht behandelt. Lesen
   Sie die Manualpage ng_bridge(4), wenn Sie diesen Treiber einsetzen
   wollen.

   Bei diesem Treiber handelt es sich um ein Kernelmodul, das von
   ifconfig(8) automatisch geladen wird, wenn ein Bridge-Interface
   erzeugt wird. Alternativ ist es aber auch mo:glich, die
   Unterstu:tzung fu:r den Treiber in Ihren Kernel zu kompilieren.
   Dazu fu:gen Sie die Zeile device if_bridge in Ihre
   Kernelkonfigurationsdatei ein und bauen danach den Kernel neu.

   Paketfilter ko:nnen mit allen Firewallpaketen verwendet werden,
   die das pfil(9)-Framework benutzen. Die Firewall kann dabei
   entweder als Kernelmodul geladen oder in den Kernel kompiliert
   werden.

   Eine Bridge kann auch als Traffic Shaper verwendet werden, wenn
   Sie altq(4) oder dummynet(4) einsetzen.

     --------------------------------------------------------------

  31.5.4. Die LAN-Kopplung aktivieren

   Eine Bridge wird durch das Klonen von Schnittstellen erzeugt. Um
   eine Bridge zu erzeugen, verwenden Sie den Befehl ifconfig(8). Ist
   der Bridge-Treiber nicht in Ihren Kernel kompiliert, wird er
   automatisch geladen.

 # ifconfig bridge create
 bridge0
 # ifconfig bridge0
 bridge0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
         ether 96:3d:4b:f1:79:7a
         id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
         maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200
         root id 00:00:00:00:00:00 priority 0 ifcost 0 port 0

   Im obigen Beispiel wird die Bridge erzeugt und erha:lt automatisch
   eine zufa:llig generierte Ethernet-Adresse zugewiesen. Die
   Parameter maxaddr sowie timeout legen fest, wie viele MAC-Adressen
   die Bridge in ihrer Forward-Tabelle halten kann beziehungsweise
   wie viele Sekunden jeder Eintrag erhalten bleiben soll, nachdem er
   zuletzt verwendet wurde. Die restlichen Parameter sind fu:r die
   Konfiguration von Spanning Tree notwendig.

   Im na:chsten Schritt werden die Schnittstellen, die die Bridge
   verbinden soll, zugewiesen. Damit die Bridge Datenpakete
   weiterleiten kann, mu:ssen sowohl die Bridge als auch die
   Schnittstellen (der zu verbindenden Netzwerksegmente) aktiviert
   sein:

 # ifconfig bridge0 addm fxp0 addm fxp1 up
 # ifconfig fxp0 up
 # ifconfig fxp1 up

   Danach ist die Bridge in der Lage, Ethernet-Rahmen zwischen den
   Schnittstellen fxp0 und fxp1 weiterzuleiten. Um diese
   Konfiguration beim Systemstart automatisch zu aktivieren, mu:ssen
   Sie folgende Eintra:ge in die Datei /etc/rc.conf aufnehmen:

 cloned_interfaces="bridge0"
 ifconfig_bridge0="addm fxp0 addm fxp1 up"
 ifconfig_fxp0="up"
 ifconfig_fxp1="up"

   Beno:tigen Sie fu:r die Bridge eine IP-Adresse, mu:ssen Sie diese
   der Schnittstelle der Bridge zuweisen (und nicht einer der
   Schnittstellen der gekoppelten Netzwerksegmente). Dabei ko:nnen
   Sie die IP-Adresse sowohl statisch als auch dynamisch u:ber DHCP
   zuweisen:

 # ifconfig bridge0 inet 192.168.0.1/24

   Sie ko:nnen der Bridge-Schnittstelle auch eine IPv6-Adresse
   zuweisen.

     --------------------------------------------------------------

  31.5.5. Firewalls

   Nachdem ein Paketfilter aktiviert wurde, ko:nnen Datenpakete, die
   von den Schnittstellen der gekoppelten Netzwerksegmente gesendet
   und empfangen werden, u:ber die Bridge weitergeleitet oder nach
   bestimmten Regeln gefiltert oder auch komplett geblockt werden.
   Ist die Richtung des Paketflusses wichtig, ist es am besten, eine
   Firewall auf den Schnittstellen der einzelnen Netzwerksegmente
   einzurichten und nicht auf der Bridge selbst.

   Eine Bridge verfu:gt u:ber verschiedene Optionen, u:ber die Sie
   die Weiterleitung von Nicht-IP- und ARP-Paketen sowie den Einsatz
   von Layer 2-Firewalls (mit IPFW) steuern ko:nnen. Lesen Sie die
   Manualpage if_bridge(4), wenn Sie diese Funktionen beno:tigen.

     --------------------------------------------------------------

  31.5.6. Spanning Tree

   Der Bridge-Treiber implementiert das Rapid Spanning Tree Protocol
   (RSTP oder 802.1w), das abwa:rtskompatibel zum veralteten Spanning
   Tree Protocol (STP) ist. Spanning Tree dient dazu, Schleifen in
   einer Netzwerktopologie zu entdecken und zu entfernen. RSTP
   arbeitet dabei schneller als das veraltete STP. RSTP tauscht
   Informationen mit benachbarten Switchen aus, um Pakete korrekt
   weiterzuleiten und eine Schleifenbildung zu verhindern.

   Die folgende Tabelle listet die von den verschiedenen
   FreeBSD-Versionen unterstu:tzten Betriebsmodi auf:

          FreeBSD-Version            STP-Modus        Standardmodus   
   FreeBSD 5.4--FreeBSD 6.2      STP                STP               
   FreeBSD 6.3+                  RSTP oder STP      STP               
   FreeBSD 7.0+                  RSTP oder STP      RSTP              

   Spanning Tree kann auf den Schnittstellen der durch die Bridge
   verbundenen Netzwerksegmente u:ber die Option stp aktiviert
   werden. Fu:r eine Bridge, die die Schnittstellen fxp0 und fxp1
   verbindet, aktivieren Sie STP wie folgt:

 # ifconfig bridge0 stp fxp0 stp fxp1
 bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
         ether d6:cf:d5:a0:94:6d
         id 00:01:02:4b:d4:50 priority 32768 hellotime 2 fwddelay 15
         maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200
         root id 00:01:02:4b:d4:50 priority 32768 ifcost 0 port 0
         member: fxp0 flags=1c7<LEARNING,DISCOVER,STP,AUTOEDGE,PTP,AUTOPTP>
                 port 3 priority 128 path cost 200000 proto rstp
                 role designated state forwarding
         member: fxp1 flags=1c7<LEARNING,DISCOVER,STP,AUTOEDGE,PTP,AUTOPTP>
                 port 4 priority 128 path cost 200000 proto rstp
                 role designated state forwarding

   Diese Bridge hat die Spanning-Tree-ID 00:01:02:4b:d4:50 und die
   Priorita:t 32768. Da diese ID mit der Root-ID identisch ist,
   handelt es sich um die Root-Bridge dieses Netzwerks.

   Auf einer anderen Bridge des Netzwerks ist Spanning Tree ebenfalls
   aktiviert:

 bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
         ether 96:3d:4b:f1:79:7a
         id 00:13:d4:9a:06:7a priority 32768 hellotime 2 fwddelay 15
         maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200
         root id 00:01:02:4b:d4:50 priority 32768 ifcost 400000 port 4
         member: fxp0 flags=1c7<LEARNING,DISCOVER,STP,AUTOEDGE,PTP,AUTOPTP>
                 port 4 priority 128 path cost 200000 proto rstp
                 role root state forwarding
         member: fxp1 flags=1c7<LEARNING,DISCOVER,STP,AUTOEDGE,PTP,AUTOPTP>
                 port 5 priority 128 path cost 200000 proto rstp
                 role designated state forwarding

   Die Zeile root id 00:01:02:4b:d4:50 priority 32768 ifcost 400000
   port 4 zeigt an, dass die Root-Bridge wie im obigen Beispiel die
   ID 00:01:02:4b:d4:50 hat. Die Pfadkosten hin zur Root-Bridge
   betragen 400000, wobei der Pfad zur Root-Bridge u:ber Port 4 geht
   (der wiederum der Schnittstelle fxp0 entspricht).

     --------------------------------------------------------------

  31.5.7. Fortgeschrittene Funktionen

    31.5.7.1. Den Datenfluss rekonstruieren

   Die Bridge unterstu:tzt den Monitormodus. Dabei werden alle Pakete
   verworfen, nachdem sie von bpf(4) verarbeitet wurden. In diesem
   Modus erfolgt keine weitere Bearbeitung und auch keine
   Weiterleitung von Datenpaketen. Es ist daher mo:glich, die Eingabe
   von zwei oder mehr Netzwerkschnittstellen in einen einzigen
   gemeinsamen bpf(4)-Stream zu vereinen. Ein solcher Datenstrom ist
   beispielsweise nu:tzlich, um den Datenverkehr fu:r ""network
   taps"" zu rekonstruieren, die ihre RX/TX-Signale u:ber
   verschiedene Schnittstellen senden.

   Um die Eingabe von vier Netzwerkschnittstellen in einzigen
   gemeinsamen Datenstrom zu vereinen, geben Sie Folgendes ein:

 # ifconfig bridge0 addm fxp0 addm fxp1 addm fxp2 addm fxp3 monitor up
 # tcpdump -i bridge0

     --------------------------------------------------------------

    31.5.7.2. Span Ports

   Eine Kopie jedes Ethernet-Rahmens, der an der Bridge ankommt, wird
   u:ber einen festgelegten Span Port verschickt. Auf einer Bridge
   ko:nnen beliebig viele Span Ports festgelegt werden. Wird eine
   Schnittstelle als Span Port konfiguriert, kann sie nicht mehr als
   normaler Bridge-Port verwendet werden. Eine derartige
   Konfiguration ist beispielsweise sinnvoll, um den Datenverkehr,
   der in einem Netzwerk u:ber die Bridge la:uft, auf einen Rechner
   zu u:bertragen, der mit einem Span Port der Bridge verbunden ist.

   Um eine Kopie aller Ethernet-Rahmen u:ber die Schnittstelle fxp4
   zu verschicken, geben Sie Folgendes ein:

 # ifconfig bridge0 span fxp4

     --------------------------------------------------------------

    31.5.7.3. Private Schnittstellen

   Eine private Schnittstelle leitet keine Daten an einen Port
   weiter, bei dem es sich ebenfalls um eine private Schnittstelle
   handelt. Der Datenverkehr wird dabei komplett blockiert, auch
   Ethernet-Rahmen und ARP-Pakete werden nicht weitergeleitet. Wollen
   Sie hingegen nur spezifische Datenpakete blockieren, sollten Sie
   eine Firewall einsetzen.

     --------------------------------------------------------------

    31.5.7.4. Schnittstellen als sticky kennzeichnen

   Wenn die Schnittstelle eines u:ber eine Bridge verbundenen
   Netzwerksegments als sticky gekennzeichnet wird, werden alle
   dynamisch gelernten Adressen als statische Adressen behandelt,
   sobald sie in den Forward-Cache der Bridge aufgenommen wurden.
   Sticky-Eintra:ge werden niemals aus dem Cache entfernt oder
   ersetzt. Selbst dann nicht, wenn die Adresse von einer anderen
   Schnittstelle verwendet wird. Sie ko:nnen dadurch die Vorteile
   statischer Adresseintra:ge nutzen, ohne die Forward-Tabelle vor
   dem Einsatz der Bridge mit statischen Eintra:gen fu:llen zu
   mu:ssen. Clients, die sich in einem bestimmten von der Bridge
   verwalteten Segmente befinden, ko:nnen dabei nicht in ein anderes
   Segment wechseln.

   Ein weiteres Beispiel fu:r den Einsatz von Sticky-Adressen wa:re
   die Kombination einer Bridge mit mehreren VLANs, um einen Router
   zu konfigurieren, der in in der Lage ist, einzelne Kundennetzwerke
   voneinander zu trennen, ohne IP-Adressbereiche zu verschwenden.
   Fu:r das folgende Beispiel nehmen wir an, dass sich der Client
   CustomerA im VLAN vlan100 und der Client CustomerB im VLAN vlan101
   befinden. Die Bridge hat die IP-Adresse 192.168.0.1 und ist als
   Internet-Router konfiguriert.

 # ifconfig bridge0 addm vlan100 sticky vlan100 addm vlan101 sticky vlan101
 # ifconfig bridge0 inet 192.168.0.1/24

   Beide Clients sehen 192.168.0.1 als Ihr Default-Gateway. Da der
   Bru:cken-Cache sticky ist, sind Sie nicht dazu in der Lage, die
   MAC-Adresse des anderen Kunden zu spoofen und dessen Datenverkehr
   abzufangen.

   Sie ko:nnen die Kommunikation zwischen den VLANs vollsta:ndig
   unterbinden, wenn Sie private Schnittstellen (oder eine Firewall)
   einsetzen:

 # ifconfig bridge0 private vlan100 private vlan101

   Die Kunden sind nun komplett voneinander isoliert und der
   komplette /24-Adressbereich kann zugewiesen werden, ohne dass Sie
   Subnetze einsetzen mu:ssen.

     --------------------------------------------------------------

    31.5.7.5. Adressen-Limitierung

   Die maximale mo:gliche Anzahl an eindeutigen MAC-Adressen hinter
   einer Schnittstelle kann festgelegt werden. Sobald das Limit
   erreicht ist, werden Pakete mit einer unbekannten Quell-Adresse
   solange verworfen, bis ein exisitierender Eintrag gelo:scht wird
   oder abla:uft.

   Das folgende Beispiel setzt die maximale Anzahl von Netzgera:ten
   fu:r CustomerA fu:r das VLAN vlan100 auf 10.

 # ifconfig bridge0 ifmaxaddr vlan100 10

     --------------------------------------------------------------

    31.5.7.6. SNMP-Monitoring

   Die Schnittstelle der Bridge sowie die STP-Parameter ko:nnen durch
   den bereits im Basissystem enthaltenen SNMP-Daemon u:berwacht
   werden. Die exportierten Bridge-MIBs entsprechen den
   IETF-Standards, daher ko:nnen Sie einen beliebigen SNMP-Client
   oder ein beliebiges Monitoring-Werkzeug einsetzen, um die
   beno:tigten Daten zu erhalten.

   Auf dem Rechner, auf dem die Bridge konfiguriert ist, aktivieren
   Sie die Zeile begemotSnmpdModulePath."bridge" =
   "/usr/lib/snmp_bridge.so" in der Datei /etc/snmp.config und
   starten danach den bsnmpd-Daemon. Eventuell beno:tigen Sie noch
   weitere Konfigurationsparameter wie Community-Namen und
   Zugriffslisten. Die Konfiguration dieser Parameter wird in den
   Manualpages bsnmpd(1) sowie snmp_bridge(3) beschrieben.

   Die folgenden Beispiele verwenden das Softwarepaket Net-SNMP
   (net-mgmt/net-snmp), um die Bridge abzufragen. Alternativ ko:nnen
   Sie dafu:r auch den Port net-mgmt/bsnmptools einsetzen. Auf dem
   SNMP-Client fu:gen Sie danach die folgenden Zeilen in die Datei
   $HOME/.snmp/snmp.conf ein, um die MIB-Definitionen der Bridge in
   Net-SNMP zu importieren:

 mibdirs +/usr/share/snmp/mibs
 mibs +BRIDGE-MIB:RSTP-MIB:BEGEMOT-MIB:BEGEMOT-BRIDGE-MIB

   Um eine einzelne Bridge u:ber den IETF BRIDGE-MIB (RFC4188) zu
   u:berwachen, geben Sie Folgendes ein:

 % snmpwalk -v 2c -c public bridge1.example.com mib-2.dot1dBridge
 BRIDGE-MIB::dot1dBaseBridgeAddress.0 = STRING: 66:fb:9b:6e:5c:44
 BRIDGE-MIB::dot1dBaseNumPorts.0 = INTEGER: 1 ports
 BRIDGE-MIB::dot1dStpTimeSinceTopologyChange.0 = Timeticks: (189959) 0:31:39.59 centi-seconds
 BRIDGE-MIB::dot1dStpTopChanges.0 = Counter32: 2
 BRIDGE-MIB::dot1dStpDesignatedRoot.0 = Hex-STRING: 80 00 00 01 02 4B D4 50
 ...
 BRIDGE-MIB::dot1dStpPortState.3 = INTEGER: forwarding(5)
 BRIDGE-MIB::dot1dStpPortEnable.3 = INTEGER: enabled(1)
 BRIDGE-MIB::dot1dStpPortPathCost.3 = INTEGER: 200000
 BRIDGE-MIB::dot1dStpPortDesignatedRoot.3 = Hex-STRING: 80 00 00 01 02 4B D4 50
 BRIDGE-MIB::dot1dStpPortDesignatedCost.3 = INTEGER: 0
 BRIDGE-MIB::dot1dStpPortDesignatedBridge.3 = Hex-STRING: 80 00 00 01 02 4B D4 50
 BRIDGE-MIB::dot1dStpPortDesignatedPort.3 = Hex-STRING: 03 80
 BRIDGE-MIB::dot1dStpPortForwardTransitions.3 = Counter32: 1
 RSTP-MIB::dot1dStpVersion.0 = INTEGER: rstp(2)

   Der Wert der Variable dot1dStpTopChanges.0 ist hier 2, die
   STP-Topologie der Bridge wurde also bereits zweimal gea:ndert.
   Unter einer A:nderung versteht man dabei die Anpassung eines oder
   mehrerer Links und die Kalkulation eines neuen Baums. Der Wert der
   Variable dot1dStpTimeSinceTopologyChange.0 gibt an, wann dies
   zuletzt geschah.

   Um mehrere Bridge-Schnittstellen zu u:berwachen, ko:nnen Sie den
   privaten BEGEMOT-BRIDGE-MIB einsetzen:

 % snmpwalk -v 2c -c public bridge1.example.com
 enterprises.fokus.begemot.begemotBridge
 BEGEMOT-BRIDGE-MIB::begemotBridgeBaseName."bridge0" = STRING: bridge0
 BEGEMOT-BRIDGE-MIB::begemotBridgeBaseName."bridge2" = STRING: bridge2
 BEGEMOT-BRIDGE-MIB::begemotBridgeBaseAddress."bridge0" = STRING: e:ce:3b:5a:9e:13
 BEGEMOT-BRIDGE-MIB::begemotBridgeBaseAddress."bridge2" = STRING: 12:5e:4d:74:d:fc
 BEGEMOT-BRIDGE-MIB::begemotBridgeBaseNumPorts."bridge0" = INTEGER: 1
 BEGEMOT-BRIDGE-MIB::begemotBridgeBaseNumPorts."bridge2" = INTEGER: 1
 ...
 BEGEMOT-BRIDGE-MIB::begemotBridgeStpTimeSinceTopologyChange."bridge0" = Timeticks: (116927) 0:19:29.27 centi-seconds
 BEGEMOT-BRIDGE-MIB::begemotBridgeStpTimeSinceTopologyChange."bridge2" = Timeticks: (82773) 0:13:47.73 centi-seconds
 BEGEMOT-BRIDGE-MIB::begemotBridgeStpTopChanges."bridge0" = Counter32: 1
 BEGEMOT-BRIDGE-MIB::begemotBridgeStpTopChanges."bridge2" = Counter32: 1
 BEGEMOT-BRIDGE-MIB::begemotBridgeStpDesignatedRoot."bridge0" = Hex-STRING: 80 00 00 40 95 30 5E 31
 BEGEMOT-BRIDGE-MIB::begemotBridgeStpDesignatedRoot."bridge2" = Hex-STRING: 80 00 00 50 8B B8 C6 A9

   Um die u:ber den mib-2.dot1dBridge-Subtree u:berwachte
   Bridge-Schnittstelle zu a:ndern, geben Sie Folgendes ein:

 % snmpset -v 2c -c private bridge1.example.com
 BEGEMOT-BRIDGE-MIB::begemotBridgeDefaultBridgeIf.0 s bridge2

     --------------------------------------------------------------

31.6. Link Aggregation und Failover

   Written by Andrew Thompson. U:bersetzt von Benedict Reuschling und
   Sharon Bahagi.

     --------------------------------------------------------------

  31.6.1. Einleitung

   Die lagg(4)-Schnittstelle erlaubt die Aggregation von mehreren
   Netzwerkadaptern als eine virtuelle Schnittstelle mit dem Ziel,
   Ausfallsicherheit (Failover) und Hochgeschwindigkeitsverbindungen
   bereitzustellen.

     --------------------------------------------------------------

  31.6.2. Anwendungsoptionen

   Ausfallsicherheit (Failover)

           Sendet und empfa:ngt Netzwerkverkehr nur auf dem
           Masterport. Sollte der Masterport nicht zur Verfu:gung
           stehen, wird der na:chste aktive Port verwendet. Der
           zuerst hinzugefu:gte Adapter wird zum Masterport, jeder
           weitere Adapter dient als Gera:t zur Ausfallsicherheit.

   Cisco(R) Fast EtherChannel(R)

           Cisco Fast EtherChannel (FEC), ist eine statische
           Konfiguration und handelt weder Aggregation mit der
           Gegenstelle aus, noch werden Frames zur U:berwachung der
           Verbindung ausgetauscht. Wenn der Switch LACP
           unterstu:tzt, sollte diese Option auch verwendet werden.

           FEC balanciert den ausgehenden Verkehr u:ber die aktiven
           Ports, basierend auf gehashten
           Protokollheaderinformationen und akzeptiert eingehenden
           Verkehr auf jedem aktiven Port. Der Hash entha:lt die
           Ethernet-Quell- und Zieladresse, und, falls verfu:gbar,
           den VLAN-Tag, sowie die IPv4/IPv6 Quell- und Zieladresse.

   LACP

           Das IEEE 802.3ad Link Aggregation Control Protokoll (LACP)
           und das Marker Protocol. LACP wird eine Menge von
           aggregierbaren Verbindungen mit der Gegenstelle in einer
           oder mehreren Link Aggregated Groups (LAG) aushandeln.
           Jede LAG besteht aus Ports der gleichen Geschwindigkeit,
           eingestellt auf Voll-Duplex-Betrieb. Der Verkehr wird
           u:ber die Ports in der LAG mit der gro:ssten
           Gesamtgeschwindigkeit balanciert, in den meisten Fa:llen
           wird es nur eine LAG geben, die alle Ports entha:lt. Im
           Falle von A:nderungen in der physischen Anbindung wird die
           Link Aggregation schnell zu einer neuen Konfiguration
           konvergieren.

           LACP balanciert ausgehenden Verkehr u:ber die aktiven
           Ports basierend auf der gehashten
           Protokollheaderinformation und akzeptiert eingehenden
           Verkehr auf jedem aktiven Port. Der Hash beinhaltet die
           Ethernet-Quell- und Zieladresse, und, soweit verfu:gbar,
           den VLAN-Tag, sowie die IPv4/IPv6 Quell- und Zieladresse.

   Lastverteilung (Loadbalance)

           Dabei handelt es sich um einen Alias des FEC-Modus.

   Round-Robin

           Verteilt ausgehenden Verkehr mittels einer
           Round-Robin-Zuteilung u:ber alle aktiven Ports und
           akzeptiert eingehenden Verkehr auf jedem aktiven Port.
           Dieser Modus verletzt die Reihenfolge von Ethernet-Frames
           und sollte mit Vorsicht eingesetzt werden.

     --------------------------------------------------------------

  31.6.3. Beispiele

   Beispiel 31-1. LACP Aggregation mit einem Switch von Cisco(R)

   Dieses Beispiel verbindet zwei Adapter auf einer FreeBSD-Maschine
   mit dem Switch als eine einzelne, lastverteilte und ausfallsichere
   Verbindung. Weitere Adapter ko:nnen hinzugefu:gt werden, um den
   Durchsatz zu erho:hen und die Ausfallsicherheit zu steigern. Da
   die Reihenfolge der Frames bei Ethernet zwingend eingehalten
   werden muss, fliesst auch jeglicher Verkehr zwischen zwei
   Stationen u:ber den gleichen physischen Kanal, was die maximale
   Geschwindigkeit der Verbindung auf die eines einzelnen Adapters
   beschra:nkt. Der U:bertragungsalgorithmus versucht, so viele
   Informationen wie mo:glich zu verwenden, um die verschiedenen
   Verkehrsflu:sse zu unterscheiden und balanciert diese u:ber die
   verfu:gbaren Adapter.

   Fu:gen Sie auf dem Cisco-Switch die Adapter FastEthernet0/1 und
   FastEthernet0/2 zu der channel-group 1 hinzu:

 interface FastEthernet0/1
  channel-group 1 mode active
  channel-protocol lacp
 !
 interface FastEthernet0/2
  channel-group 1 mode active
  channel-protocol lacp

   Auf der Maschine mit FreeBSD erstellen Sie die
   lagg(4)-Schnittstelle unter Verwendung von fxp0 und fxp1:

 # ifconfig lagg0 create
 # ifconfig lagg0 up laggproto lacp laggport fxp0 laggport fxp1

   U:berpru:fen Sie den Status der Schnittstelle, indem Sie folgendes
   eingeben:

 # ifconfig lagg0

   Ports, die als ACTIVE markiert sind, sind Teil der aktiven
   Aggregations-Gruppe, die mit dem Switch ausgehandelt wurde und der
   Verkehr wird u:ber diese u:bertragen und empfangen. Benutzen Sie
   die ausfu:hrliche Ausgabe von ifconfig(8), um sich die
   LAG-Identifikatoren anzeigen zu lassen.

 lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
         options=8<VLAN_MTU>
         ether 00:05:5d:71:8d:b8
         media: Ethernet autoselect
         status: active
         laggproto lacp
         laggport: fxp1 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
         laggport: fxp0 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>

   Um den Status der Ports auf dem Switch anzuzeigen, geben Sie show
   lacp neighbor ein:

 switch# show lacp neighbor
 Flags:  S - Device is requesting Slow LACPDUs
         F - Device is requesting Fast LACPDUs
         A - Device is in Active mode       P - Device is in Passive mode    

 Channel group 1 neighbors

 Partner's information:

                   LACP port                        Oper    Port     Port
 Port      Flags   Priority  Dev ID         Age     Key     Number   State
 Fa0/1     SA      32768     0005.5d71.8db8  29s    0x146   0x3      0x3D 
 Fa0/2     SA      32768     0005.5d71.8db8  29s    0x146   0x4      0x3D

   Benutzen Sie das Kommando show lacp neighbor detail, um weitere
   Informationen zu erhalten.

   Beispiel 31-2. Ausfallsicherer Modus

   Der ausfallsichere Modus kann verwendet werden, um zu einer
   zweiten Schnittstelle zu wechseln, sollte die Verbindung mit der
   Master-Schnittstelle ausfallen. Erstellen und konfigurieren Sie
   die lagg0-Schnittstelle, mit fxp0 als Master und fxp1 als die
   sekunda:re Schnittstelle:

 # ifconfig lagg0 create
 # ifconfig lagg0 up laggproto failover laggport fxp0 laggport fxp1

   Die Schnittstelle wird so a:hnlich wie im folgenden aussehen, mit
   dem grossen Unterschied, dass die MAC-Adresse und die Gera:tenamen
   unterschiedlich sein werden:

 # ifconfig lagg0
 lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
         options=8<VLAN_MTU>
         ether 00:05:5d:71:8d:b8
         media: Ethernet autoselect
         status: active
         laggproto failover
         laggport: fxp1 flags=0<>
         laggport: fxp0 flags=5<MASTER,ACTIVE>

   Der Verkehr wird auf fxp0 u:bertragen und empfangen. Wenn die
   Verbindung auf fxp0 abbricht, so wird fxp1 die Verbindung
   u:bernehmen. Sobald die Verbindung auf der Master-Schnittstelle
   wiederhergestellt ist, wird diese auch wieder als aktive
   Schnittstelle genutzt.

     --------------------------------------------------------------

31.7. Start und Betrieb von FreeBSD u:ber ein Netzwerk

   Aktualisiert von Jean-Franc,ois Dockes. Reorganisiert und
   erweitert von Alex Dupre.

   FreeBSD kann u:ber ein Netzwerk starten und arbeiten, ohne eine
   lokale Festplatte zu verwenden, indem es Dateisysteme eines
   NFS-Servers in den eigenen Verzeichnisbaum einha:ngt. Dazu sind,
   von den Standardkonfigurationsdateien abgesehen, keine
   Systema:nderungen no:tig. Ein solches System kann leicht
   installiert werden, da alle notwendigen Elemente bereits vorhanden
   sind:

     * Es gibt mindestens zwei Mo:glichkeiten, den Kernel u:ber das
       Netzwerk zu laden:

          * PXE: Das "Preboot eXecution Environment System" von Intel
            ist eine Art intelligentes Boot-ROM, das in einigen
            Netzkarten oder Hauptplatinen verwendet wird. Weitere
            Informationen finden Sie in pxeboot(8).

          * Der Port Etherboot (net/etherboot) erzeugt ROM-fa:higen
            Code, um einen Kernel u:ber das Netzwerk zu laden. Dieser
            Code kann entweder auf ein Boot-PROM einer Netzkarte
            gebrannt werden, was von vielen Netzkarten unterstu:tzt
            wird. Oder er kann von einer lokalen Diskette, Festplatte
            oder von einem laufenden MS-DOS-System geladen werden.

     * Das Beispielskript /usr/share/examples/diskless/clone_root
       erleichtert die Erzeugung und die Wartung des
       root-Dateisystems auf dem Server. Das Skript muss
       wahrscheinlich angepasst werden, dennoch werden Sie schnell zu
       einem Ergebnis kommen.

     * Die Startdateien, die einen plattenlosen Systemstart erkennen
       und unterstu:tzen, sind nach der Installation in /etc
       vorhanden.

     * Dateiauslagerungen ko:nnen sowohl via NFS als auch auf die
       lokale Platte erfolgen.

   Es gibt verschiedene Wege, einen plattenlosen Rechner
   einzurichten. Viele Elemente sind daran beteiligt, die fast immer
   an den perso:nlichen Geschmack angepasst werden ko:nnen. Im
   folgenden Abschnitt wird die Installation eines kompletten Systems
   beschrieben, wobei der Schwerpunkt auf Einfachheit und
   Kompatibilita:t zu den Standardstartskripten von FreeBSD liegt.
   Das beschriebene System hat folgende Eigenschaften:

     * Die plattenlosen Rechner haben ein gemeinsames /- sowie ein
       gemeinsames /usr-Dateisystem, die jeweils schreibgeschu:tzt
       sind.

       Das root-Dateisystem ist eine Kopie eines
       Standardwurzelverzeichnisses von FreeBSD (u:blicherweise das
       des Servers), bei dem einige Konfigurationsdateien durch fu:r
       den plattenlosen Betrieb geeignete Versionen ersetzt wurden.

       Fu:r die Bereiche des root-Dateisystems, die beschreibbar sein
       mu:ssen, werden mit md(4) virtuelle Dateisysteme erzeugt. Dies
       bedeutet aber auch, dass alle Vera:nderungen verloren gehen,
       wenn das System neu gestartet wird.

     * Der Kernel wird, in Abha:ngigkeit von der jeweiligen
       Situation, entweder von Etherboot oder von PXE transferiert
       und geladen.

     Achtung: Das hier beschriebene System ist nicht sicher. Es
     sollte nur in einem gesicherten Bereich eines Netzwerks
     verwendet werden und fu:r andere Rechner nicht erreichbar sein.

   Alle Informationen in diesem Abschnitt wurden unter
   FreeBSD 5.2.1-RELEASE getestet.

     --------------------------------------------------------------

  31.7.1. Hintergrundinformationen

   Die Einrichtung von plattenlosen Rechnern ist einfach, aber auch
   fehleranfa:llig. Der Grund dafu:r sind auftretende Fehler, die
   sich oft nur schwer zuordnen lassen. Unter anderem sind dafu:r
   folgende Umsta:nde verantwortlich:

     * Kompilierte Optionen haben zur Laufzeit unterschiedliche
       Auswirkungen.

     * Fehlermeldungen sind oft kryptisch oder fehlen vollsta:ndig.

   Daher ist es nu:tzlich, u:ber die im Hintergrund ablaufenden
   Mechanismen Bescheid zu wissen. Dadurch wird es einfacher,
   eventuell auftretende Fehler zu beheben.

   Verschiedene Operationen mu:ssen ausgefu:hrt werden, um ein System
   erfolgreich zu starten:

     * Der Rechner beno:tigt einige Startparameter, wie seine
       IP-Adresse, die Namen ausfu:hrbarer Dateien, den Servernamen
       sowie den root-Pfad. Fu:r die U:bermittlung dieser
       Informationen wird entweder das DHCP- oder das BOOTP-Protokoll
       verwendet. Bei DHCP handelt es sich um eine abwa:rtskompatible
       Erweiterung von BOOTP, die die gleichen Portnummern und das
       gleiche Paketformat verwendet.

       Es ist mo:glich, das System so zu konfigurieren, dass es nur
       BOOTP verwendet. Das Serverprogramm bootpd(8) ist bereits im
       FreeBSD-Basissystem enthalten.

       DHCP hat im Vergleich zu BOOTP allerdings mehrere Vorteile
       (bessere Konfigurationsdateien, die Mo:glichkeit zur
       Verwendung von PXE, sowie viele andere, die nicht in direktem
       Zusammenhang mit dem plattenlosen Betrieb stehen). Dieser
       Abschnitt beschreibt die Konfiguration mittels DHCP. Wenn
       mo:glich, werden aber entsprechende Beispiele fu:r bootpd(8)
       angefu:hrt. Die Beispielkonfiguration nutzt das Softwarepaket
       ISC DHCP.

     * Der Rechner muss ein oder mehrere Programme in den lokalen
       Speicher laden. Dazu wird entweder TFTP oder NFS verwendet.
       Die Auswahl zwischen TFTP und NFS erfolgt u:ber das Setzen von
       verschiedenen Kompilieroptionen. Ein ha:ufig gemachter Fehler
       ist es, Dateinamen fu:r das falsche Protokoll anzugeben: TFTP
       transferiert normalerweise alle Dateien aus einem einzigen
       Verzeichnis des Servers, und erwartet einen Pfad relativ zu
       diesem Verzeichnis. NFS verlangt hingegen absolute Dateipfade.

     * Die mo:glichen Bootstrap-Programme und der Kernel mu:ssen
       initialisiert und ausgefu:hrt werden. Dabei gibt es zwei
       Mo:glichkeiten:

          * PXE la:dt pxeboot(8). Dabei handelt es sich um eine
            modifizierte Version des FreeBSD-Laders der Boot-Phase
            drei. Der loader(8) beschafft alle fu:r den Systemstart
            notwendigen Parameter, und hinterlegt diese in der
            Kernelumgebung, bevor er die Kontrolle u:bergibt. Es ist
            hier mo:glich, den GENERIC-Kernel zu verwenden.

          * Etherboot la:dt den Kernel hingegen direkt. Dafu:r
            mu:ssen Sie allerdings einen Kernel mit spezifischen
            Optionen erzeugen.

       PXE und Etherboot sind zwar im Grossen und Ganzen
       gleichwertig, da der Kernel aber viele Aufgaben an loader(8)
       u:bergibt, sollte bevorzugt PXE eingesetzt werden.

       Wenn Ihr BIOS und Ihre Netzkarten PXE unterstu:tzen, sollten
       Sie es auch verwenden.

     * Zuletzt muss der Rechner auf seine Dateisysteme zugreifen
       ko:nnen. Dafu:r wird stets NFS verwendet.

   Weitere Informationen finden Sie in diskless(8).

     --------------------------------------------------------------

  31.7.2. Installationsanweisungen

    31.7.2.1. Konfiguration unter Verwendung von ISC DHCP

   Der ISC DHCP-Server kann Anfragen sowohl von BOOTP als auch von
   DHCP beantworten.

   isc-dhcp 3.0 ist nicht Teil des Basissystems. Sie mu:ssen es daher
   zuerst installieren. Verwenden Sie dazu den Port
   net/isc-dhcp30-server oder das entsprechende Paket.

   Nachdem ISC DHCP installiert ist, muss das Programm konfiguriert
   werden (normalerweise in /usr/local/etc/dhcpd.conf). Im folgenden
   Beispiel verwendet Rechner margaux Etherboot, wa:hrend Rechner
   corbieres PXE verwendet:

           default-lease-time 600;
           max-lease-time 7200;
           authoritative;

           option domain-name "example.com";
           option domain-name-servers 192.168.4.1;
           option routers 192.168.4.1;

           subnet 192.168.4.0 netmask 255.255.255.0 {
             use-host-decl-names on; (1)
             option subnet-mask 255.255.255.0;
             option broadcast-address 192.168.4.255;

             host margaux {
               hardware ethernet 01:23:45:67:89:ab;
               fixed-address margaux.example.com;
               next-server 192.168.4.4;(2)
               filename "/tftpboot/kernel.diskless";(3)
               option root-path "192.168.4.4:/data/misc/diskless";(4)
             }
            host corbieres {
              hardware ethernet 00:02:b3:27:62:df;
               fixed-address corbieres.example.com;
               next-server 192.168.4.4;
               filename "pxeboot";
               option root-path "192.168.4.4:/data/misc/diskless";
             }
           }
        

   (1)
           Diese Option weist dhcpd an, den Wert der host-Deklaration
           als Rechnernamen des plattenlosen Rechners zu senden.
           Alternativ kann man der host-Deklaration Folgendes
           hinzufu:gen: option host-name margaux
   (2)
           Die Anweisung next-server bestimmt den TFTP- oder
           NFS-Server, von dem der Loader oder der Kernel geladen
           werden (in der Voreinstellung ist das der DHCP-Server
           selbst).
   (3)
           Die Anweisung filename bestimmt die Datei, die Etherboot
           als na:chstes la:dt. Das genaue Format ha:ngt von der
           gewa:hlten Transfermethode ab. Etherboot kann sowohl mit
           NFS als auch mit TFTP kompiliert werden. In der
           Voreinstellung wird der FreeBSD-Port mit
           NFS-Unterstu:tzung kompiliert. PXE verwendet TFTP, daher
           wird im Beispiel ein relativer Dateipfad verwendet. Dies
           kann aber, je nach Konfiguration des TFTP-Servers, auch
           anders sein. Beachten Sie, dass PXE pxeboot la:dt, und
           nicht den Kernel. Es ist auch mo:glich, das Verzeichnis
           /boot einer FreeBSD-CD-ROM von pxeboot laden zu lassen.
           pxeboot(8) kann einen GENERIC-Kernel laden, dadurch ist es
           mo:glich, PXE von einer entfernten CD-ROM zu starten.
   (4)
           Die Option root-path bestimmt den Pfad des
           root-Dateisystems in normaler NFS-Schreibweise. Wird PXE
           verwendet, ist es mo:glich, die IP-Adresse des Rechners
           wegzulassen, solange nicht die Kerneloption BOOTP
           aktiviert wird. Der NFS-Server entspricht in diesem Fall
           dem TFTP-Server.

     --------------------------------------------------------------

    31.7.2.2. Konfiguration bei Verwendung von BOOTP

   Es folgt nun eine der Konfiguration von DHCP entsprechende
   Konfiguration (fu:r einen Client) fu:r bootpd. Zu finden ist die
   Konfigurationsdatei unter /etc/bootptab.

   Beachten Sie bitte, dass Etherboot mit der Option NO_DHCP_SUPPORT
   kompiliert werden muss, damit BOOTP verwendet werden kann. PXE
   hingegen beno:tigt DHCP. Der einzige offensichtliche Vorteil von
   bootpd ist, dass es bereits im Basissystem vorhanden ist.

 .def100:\
   :hn:ht=1:sa=192.168.4.4:vm=rfc1048:\
   :sm=255.255.255.0:\
   :ds=192.168.4.1:\
   :gw=192.168.4.1:\
   :hd="/tftpboot":\
   :bf="/kernel.diskless":\
   :rp="192.168.4.4:/data/misc/diskless":

 margaux:ha=0123456789ab:tc=.def100

     --------------------------------------------------------------

    31.7.2.3. Ein Startprogramm unter Verwendung von Etherboot erstellen

   Die Internetseite von Etherboot entha:lt ausfu:hrliche
   Informationen, die zwar vor allem fu:r Linux gedacht sind, aber
   dennoch nu:tzliche Informationen enthalten. Im Folgenden wird
   daher nur grob beschrieben, wie Sie Etherboot auf einem
   FreeBSD-System einsetzen ko:nnen.

   Als Erstes mu:ssen Sie net/etherboot als Paket oder als Port
   installieren.

   Sie ko:nnen Etherboot so konfigurieren, dass TFTP anstelle von NFS
   verwendet wird, indem Sie die Datei Config im Quellverzeichnis von
   Etherboot bearbeiten.

   Fu:r unsere Installation verwenden wir eine Startdiskette. Fu:r
   Informationen zu anderen Methoden (PROM oder MS-DOS-Programme)
   lesen Sie bitte die Dokumentation zu Etherboot.

   Um eine Startdiskette zu erzeugen, legen Sie eine Diskette in das
   Laufwerk des Rechners ein, auf dem Sie Etherboot installiert
   haben. Danach wechseln Sie in das Verzeichnis src des
   Etherboot-Verzeichnisbaums und geben Folgendes ein:

 # gmake bin32/devicetype.fd0

   devicetype ha:ngt vom Typ der Ethernetkarte ab, u:ber die der
   plattenlose Rechner verfu:gt. Lesen Sie dazu NIC im gleichen
   Verzeichnis, um den richtigen Wert fu:r devicetype zu bestimmen.

     --------------------------------------------------------------

    31.7.2.4. Das System mit PXE starten

   In der Voreinstellung la:dt der pxeboot(8)-Loader den Kernel u:ber
   NFS. Soll stattdessen TFTP verwendet werden, muss beim Kompilieren
   die Option LOADER_TFTP_SUPPORT in der Datei /etc/make.conf
   eingetragen sein. Sehen Sie sich die Datei
   /usr/share/examples/etc/make.conf fu:r weitere Anweisungen an.

   Es gibt zwei Optionen fu:r make.conf, die nu:tzlich sein ko:nnen,
   wenn Sie eine plattenlose serielle Konsole einrichten wollen:
   BOOT_PXELDR_PROBE_KEYBOARD, und BOOT_PXELDR_ALWAYS_SERIAL.

   Um PXE beim Systemstart zu verwenden, mu:ssen Sie im BIOS des
   Rechner die Option U:ber das Netzwerk starten aktivieren.
   Alternativ ko:nnen Sie wa:hrend der PC-Initialisierung auch eine
   Funktionstaste dru:cken.

     --------------------------------------------------------------

    31.7.2.5. Serverkonfiguration - TFTP und NFS

   Wenn Sie PXE oder Etherboot so konfiguriert haben, dass diese TFTP
   verwenden, mu:ssen Sie auf dem Dateiserver tftpd aktivieren:

    1. Erzeugen Sie ein Verzeichnis, in dem tftpd seine Dateien
       ablegt, beispielsweise /tftpboot.

    2. Fu:gen Sie folgende Zeile in /etc/inetd.conf ein:

 tftp    dgram   udp     wait    root  /usr/libexec/tftpd    tftpd -s /tftpboot

         Anmerkung: Anscheinend beno:tigen zumindest einige
         PXE-Versionen die TCP-Version von TFTP. Sollte dies bei
         Ihnen der Fall sein, fu:gen Sie eine zweite Zeile ein, in
         der Sie dgram udp durch stream tcp ersetzen.

    3. Weisen Sie inetd an, seine Konfiguration erneut einzulesen
       (Damit der folgende Befehl funktioniert, muss die Option
       inetd_enable="YES" in der Datei /etc/rc.conf vorhanden sein.):

 # /etc/rc.d/inetd restart

   Sie ko:nnen das Verzeichnis /tftpboot an einem beliebigen Ort auf
   dem Server ablegen. Stellen Sie aber sicher, dass Sie diesen Ort
   sowohl in inetd.conf als auch in dhcpd.conf eingetragen haben.

   Ausserdem mu:ssen Sie NFS aktivieren und die entsprechenden
   Verzeichnisse exportieren.

    1. Fu:gen Sie folgende Zeile in /etc/rc.conf ein:

 nfs_server_enable="YES"

    2. Exportieren Sie das Verzeichnis, in dem sich das
       Wurzelverzeichnis fu:r den plattenlosen Betrieb befindet,
       indem Sie folgende Zeile in /etc/exports einfu:gen (passen Sie
       dabei den mountpoint an und ersetzen Sie margaux corbieres
       durch den Namen Ihres plattenlosen Rechners):

 /data/misc -alldirs -ro margaux

    3. Weisen sie nun mountd an, seine Konfigurationsdatei erneut
       einzulesen. Wenn Sie NFS erst in der Datei /etc/rc.conf
       aktivieren mussten, sollten Sie stattdessen den Rechner neu
       starten. Dadurch wird die Konfigurationsdatei ebenfalls neu
       eingelesen.

 # /etc/rc.d/mountd restart

     --------------------------------------------------------------

    31.7.2.6. Einen plattenlosen Kernel erzeugen

   Wenn Sie Etherboot verwenden, mu:ssen Sie in die
   Kernelkonfigurationsdatei Ihres plattenlosen Clients zusa:tzlich
   folgende Optionen einfu:gen:

 options     BOOTP          # Use BOOTP to obtain IP address/hostname
 options     BOOTP_NFSROOT  # NFS mount root file system using BOOTP info

   Ausserdem ko:nnen Sie die Optionen BOOTP_NFSV3, BOOT_COMPAT sowie
   BOOTP_WIRED_TO verwenden (sehen Sie sich dazu auch die Datei NOTES
   an).

   Die Namen dieser Optionen sind historisch bedingt. Sie
   ermo:glichen eine unterschiedliche Verwendung von DHCP und BOOTP
   innerhalb des Kernels. Es ist auch mo:glich, eine strikte
   Verwendung von BOOTP oder DHCP zu erzwingen.

   Erzeugen Sie den neuen Kernel (lesen Sie dazu auch Kapitel 8) und
   kopieren Sie ihn an den in dhcpd.conf festgelegten Ort.

     Anmerkung: Wenn Sie PXE verwenden, ist die Erzeugung eines
     Kernels zwar nicht unbedingt no:tig, sie wird allerdings dennoch
     empfohlen. Die Aktivierung dieser Optionen bewirkt, dass die
     Anzahl der mo:glichen DHCP-Anforderungen wa:hrend des
     Kernelstarts erho:ht wird. Ein kleiner Nachteil sind eventuell
     auftretende Inkonsistenzen zwischen den neuen Werten und den von
     pxeboot(8) erhaltenen Werten. Der grosse Vorteil dieser Variante
     ist es, dass dabei der Rechnername gesetzt wird, den Sie
     ansonsten durch eine andere Methode, beispielsweise in einer
     clientspezifischen rc.conf-Datei festlegen mu:ssten.

     Anmerkung: Damit der Kernel von Etherboot geladen werden kann,
     mu:ssen device hints im Kernel einkompiliert sein. Dazu setzen
     Sie normalerweise folgende Option in die
     Kernelkonfigurationsdatei (sehen Sie sich dazu auch die
     kommentierte Datei NOTES an):

 hints         "GENERIC.hints"

     --------------------------------------------------------------

    31.7.2.7. Das root-Dateisystem erzeugen

   Sie mu:ssen fu:r den plattenlosen Rechner ein root-Dateisystem
   erzeugen, und zwar an dem in dhcpd.conf als root-path festgelegten
   Ort.

     --------------------------------------------------------------

      31.7.2.7.1. make world zum Fu:llen des Dateisystems einsetzen

   Diese schnelle Methode installiert ein komplettes
   "jungfra:uliches" System (und nicht nur ein root-Dateisystem) nach
   DESTDIR. Dazu mu:ssen Sie lediglich das folgende Skript
   ausfu:hren:

 #!/bin/sh
 export DESTDIR=/data/misc/diskless
 mkdir -p ${DESTDIR}
 cd /usr/src; make buildworld && make buildkernel
 cd /usr/src/etc; make distribution

   Danach mu:ssen Sie noch die dadurch in DESTDIR erzeugten Dateien
   /etc/rc.conf sowie /etc/fstab Ihren Wu:nschen anpassen.

     --------------------------------------------------------------

    31.7.2.8. Den Auslagerungsbereich konfigurieren

   Falls no:tig, kann eine auf dem NFS-Server liegende Datei als
   Auslagerungsdatei eingerichtet werden.

     --------------------------------------------------------------

      31.7.2.8.1. Eine NFS-Auslagerungsdatei einrichten

   Der Kernel unterstu:tzt beim Systemstart keine
   NFS-Auslagerungsdatei. Diese muss daher in den Startskripten
   aktiviert werden, indem ein beschreibbares Dateisystem eingeha:ngt
   wird, um dort die Auslagerungsdatei zu erzeugen und zu aktivieren.
   Um eine Auslagerungsdatei zu erzeugen, gehen Sie wie folgt vor:

 # dd if=/dev/zero of=/path/to/swapfile bs=1k count=1 oseek=100000

   Um die Auslagerungsdatei zu aktivieren, fu:gen Sie folgende Zeile
   in rc.conf ein:

 swapfile=/path/to/swapfile

     --------------------------------------------------------------

    31.7.2.9. Verschiedenes

      31.7.2.9.1. Schreibgeschu:tztes Dateisystem /usr

   Wenn am plattenlosen Rechner X la:uft, mu:ssen Sie die
   Konfigurationsdatei von XDM anpassen, da Fehlermeldungen in der
   Voreinstellung auf /usr geschrieben werden.

     --------------------------------------------------------------

      31.7.2.9.2. Der Server la:uft nicht unter FreeBSD

   Wenn das root-Dateisystem nicht auf einem FreeBSD-Rechner liegt,
   muss das Dateisystem zuerst unter FreeBSD erzeugt werden.
   Anschliessend wird es beispielsweise mit tar oder cpio an den
   gewu:nschten Ort kopiert.

   Dabei kann es Probleme mit den Gera:tedateien in /dev geben, die
   durch eine unterschiedliche Darstellung der Major- und
   Minor-Number von Gera:ten auf beiden Systemen hervorgerufen
   werden. Eine Problemlo:sung besteht darin, das root-Verzeichnis
   auf einem FreeBSD-Rechner einzuha:ngen und die Gera:tedateien dort
   mit devfs(5) zu erzeugen.

     --------------------------------------------------------------

31.8. ISDN - diensteintegrierendes digitales Netzwerk

   Eine gute Quelle fu:r Informationen zu ISDN ist die ISDN-Seite von
   Dan Kegel.

   Welche Informationen finden Sie in diesem Abschnitt?

     * Wenn Sie in Europa leben, ko:nnte der Abschnitt u:ber
       ISDN-Karten fu:r Sie interessant sein.

     * Wenn Sie ISDN hauptsa:chlich dazu verwenden wollen, um sich
       u:ber einen Anbieter ins Internet einzuwa:hlen, sollten Sie
       den Abschnitt u:ber Terminaladapter lesen. Dies ist die
       flexibelste Methode, die auch die wenigsten Probleme
       verursacht.

     * Wenn Sie zwei Netzwerke miteinander verbinden, oder sich u:ber
       eine ISDN-Standleitung mit dem Internet verbinden wollen,
       finden Sie entsprechende Informationen im Abschnitt u:ber
       Router und Bridges.

   Bei der Wahl der gewu:nschten Lo:sung sind die entstehenden Kosten
   ein entscheidender Faktor. Die folgenden Beschreibungen reichen
   von der billigsten bis zur teuersten Variante.

     --------------------------------------------------------------

  31.8.1. ISDN-Karten

   Beigetragen von Hellmuth Michaelis.

   Das ISDN-Subsystem von FreeBSD unterstu:tzt den DSS1/Q.931- (oder
   Euro-ISDN)-Standard nur fu:r passive Karten. Zusa:tzlich werden
   aber auch einige aktive Karten unterstu:tzt, bei denen die
   Firmware auch andere Signalprotokolle unterstu:tzt; dies schliesst
   auch die erste ISDN-Karte mit Prima:rmultiplex-Unterstu:tzung mit
   ein.

   isdn4bsd ermo:glicht es Ihnen, sich unter Nutzung von IP over raw
   HDLC oder synchronem PPP mit anderen ISDN-Routern zu verbinden.
   Dazu verwenden Sie entweder Kernel-ppp(8) (via isppp, einem
   modifizierten sppp-Treiber), oder Sie benutzen User-ppp(8). Wenn
   Sie User-ppp(8) verwenden, ko:nnen Sie zwei oder mehrere
   ISDN-B-Kana:le bu:ndeln. Im Paket enthalten ist auch ein Programm
   mit Anrufbeantworterfunktion sowie verschiedene Werkzeuge, wie ein
   Softwaremodem, das 300 Baud unterstu:tzt.

   FreeBSD unterstu:tzt eine sta:ndig wachsende Anzahl von
   PC-ISDN-Karten, die weltweit erfolgreich eingesetzt werden.

   Von FreeBSD unterstu:tzte passive ISDN-Karten enthalten fast immer
   den ISAC/HSCX/IPAC ISDN-Chipsatz von Infineon (ehemals Siemens).
   Unterstu:tzt werden aber auch Karten mit Cologne Chip (diese
   allerdings nur fu:r den ISA-Bus), PCI-Karten mit Winbond W6692
   Chipsatz, einige Karten mit dem Tiger 300/320/ISAC Chipsatz sowie
   einige Karten mit einem herstellerspezifischen Chipsatz, wie
   beispielsweise die Fritz!Card PCI V.1.0 und die Fritz!Card PnP von
   AVM.

   An aktiven ISDN-Karten werden derzeit die AVM B1 BRI-Karten (ISA
   und PCI-Version) sowie die AVM T1 PRI-Karten (PCI-Version)
   unterstu:tzt.

   Informationen zu isdn4bsd finden Sie im Verzeichnis
   /usr/share/examples/isdn/ Ihres FreeBSD-Systems, oder auf der
   Internetseite von isdn4bsd. Dort finden Sie auch Verweise zu
   Tipps, Korrekturen, sowie weiteren Informationen, wie dem
   isdn4bsd-Handbuch.

   Falls Sie an der Unterstu:tzung eines zusa:tzlichen
   ISDN-Protokolls, einer weiteren ISDN-Karte oder an einer anderen
   Erweiterung von isdn4bsd interessiert sind, wenden Sie sich bitte
   an Hellmuth Michaelis <hm@FreeBSD.org>.

   Fu:r Fragen zur Installation, Konfiguration und zu sonstigen
   Problemen von isdn4bsd gibt es die Mailingliste freebsd-isdn.

     --------------------------------------------------------------

  31.8.2. ISDN-Terminaladapter

   Terminaladapter (TA) sind fu:r ISDN, was Modems fu:r analoge
   Telefonleitungen sind.

   Die meisten Terminaladapter verwenden den Standardbefehlssatz fu:r
   Modems von Hayes (AT-Kommandos) und ko:nnen daher als Modemersatz
   verwendet werden.

   Ein Terminaladapter funktioniert prinzipiell wie ein Modem,
   allerdings erfolgt der Verbindungsaufbau um einiges schneller. Die
   Konfiguration von PPP entspricht dabei exakt der eines Modems.
   Stellen Sie dabei allerdings die serielle Geschwindigkeit so hoch
   wie mo:glich ein.

   Der Hauptvorteil bei der Verwendung eines Terminaladapters zur
   Verbindung mit einem Internetanbieter ist die Mo:glichkeit zur
   Nutzung von dynamischem PPP. Da IP-Adressen immer knapper werden,
   vergeben die meisten Provider keine statischen IP-Adressen mehr.
   Die meisten Router unterstu:tzen allerdings keine dynamische
   Zuweisung von IP-Adressen.

   Der PPP-Daemon bestimmt die Stabilita:t und Eigenschaften der
   Verbindung, wenn Sie einen Terminaladapter verwenden. Daher
   ko:nnen Sie unter FreeBSD einfach von einer Modemverbindung auf
   eine ISDN-Verbindung wechseln, wenn Sie PPP bereits konfiguriert
   haben. Allerdings bedeutet dies auch, das bereits bestehende
   Probleme mit PPP auch unter ISDN auftreten werden.

   Wenn Sie an maximaler Stabilita:t interessiert sind, verwenden Sie
   Kernel-PPP, und nicht das User-PPP.

   Folgende Terminaladapter werden von FreeBSD unterstu:tzt:

     * Motorola BitSurfer und Bitsurfer Pro

     * Adtran

   Die meisten anderen Terminaladapter werden wahrscheinlich
   ebenfalls funktionieren, da die Hersteller von Terminaladaptern
   darauf achten, dass ihre Produkte den Standardbefehlssatz
   mo:glichst gut unterstu:tzen.

   Das wirkliche Problem mit einem externen Terminaladapter ist,
   dass, a:hnlich wie bei Modems, eine gute serielle Karte eine
   Grundvoraussetzung ist.

   Sie sollten sich die Anleitung fu:r die Nutzung serieller Gera:te
   unter FreeBSD ansehen, wenn Sie detaillierte Informationen u:ber
   serielle Gera:te und die Unterschiede zwischen asynchronen und
   synchronen seriellen Ports beno:tigen.

   Ein Terminaladapter, der an einem (asynchronen) seriellen
   Standardport angeschlossen ist, beschra:nkt Sie auf 115,2 Kbs.
   Dies selbst dann, wenn Sie eine Verbindung mit 128 Kbs haben. Um
   die volle Leistungsfa:higkeit von ISDN (128 Kbs) nutzen zu
   ko:nnen, mu:ssen Sie den Terminaladapter daher an eine synchrone
   serielle Karte anschliessen.

   Kaufen Sie keinen internen Terminaladapter in der Hoffnung, damit
   das synchron/asynchron-Problem vermeiden zu ko:nnen. Interne
   Terminaladapter haben einen (asynchronen) seriellen
   Standardportchip eingebaut. Der einzige Vorteil interner
   Terminaladapter ist es, dass Sie ein serielles sowie ein
   Stromkabel weniger beno:tigen.

   Eine synchrone Karte mit einem Terminaladapter ist mindestens so
   schnell wie ein autonomer ISDN-Router, und, in Kombination mit
   einem einfachen 386-FreeBSD-System, wahrscheinlich flexibler.

   Die Entscheidung zwischen synchroner Karte/Terminaladapter und
   einem autonomen ISDN-Router ist beinahe eine religio:se
   Angelegenheit. Zu diesem Thema gibt es viele Diskussionen in den
   Mailinglisten. Suchen Sie in den Archiven danach, wenn Sie an der
   kompletten Diskussion interessiert sind.

     --------------------------------------------------------------

  31.8.3. ISDN-Bridges und Router

   ISDN-Bridges und Router sind keine Eigenheit von FreeBSD oder
   eines anderen Betriebssystems. Fu:r eine vollsta:ndigere
   Beschreibung von Routing und Netzwerkkopplungen mit einer Bridge
   informieren Sie sich bitte durch weiterfu:hrende Literatur.

   In diesem Abschnitt werden die Begriffe Router und Bridge synonym
   verwendet.

   ISDN-Router und Bridges werden immer gu:nstiger und damit auch
   immer beliebter. Ein ISDN-Router ist eine kleine Box, die direkt
   an Ihr lokales Ethernet-Netzwerk angeschlossen wird und sich mit
   einem Router oder einer Bridge verbindet. Die eingebaute Software
   ermo:glicht die Kommunikation u:ber PPP oder andere beliebte
   Protokolle.

   Ein Router ermo:glicht einen deutlich ho:heren Datendurchsatz als
   ein herko:mmlicher Terminaladapter, da er eine vollsynchrone
   ISDN-Verbindung nutzt.

   Das Hauptproblem mit ISDN-Routern und Bridges ist, dass die
   Zusammenarbeit zwischen Gera:ten verschiedener Hersteller nach wie
   vor ein Problem ist. Wenn Sie sich auf diese Weise mit einem
   Internetanbieter verbinden wollen, kla:ren Sie daher vorher ab,
   welche Anforderungen Ihre Gera:te erfu:llen mu:ssen.

   Eine ISDN-Bridge ist eine einfache und wartungsarme Lo:sung, zwei
   Netze, beispielsweise Ihr privates Netz und Ihr Firmennetz,
   miteinander zu verbinden. Da Sie die technische Ausstattung fu:r
   beide Seiten kaufen mu:ssen, ist sichergestellt, dass die
   Verbindung funktionieren wird.

   Um beispielsweise einen privaten Computer oder eine Zweigstelle
   mit dem Hauptnetzwerk zu verbinden, ko:nnte folgende Konfiguration
   verwendet werden:

   Beispiel 31-3. Kleines Netzwerk (Privatnetz)

   Das Netzwerk basiert auf der Bustopologie mit 10base2 Ethernet
   ("Thinnet"). Falls no:tig, stellen Sie die Verbindung zwischen
   Router und Netzwerkkabel mit einem AUI/10BT-Transceiver her.

 ---Sun Workstation
 |
 ---FreeBSD Rechner
 |
 ---Windows 95
 |
 Autonomer Router
    |
 ISDN BRI Verbindung
            

   Wenn Sie nur einen einzelnen Rechner verbinden wollen, ko:nnen Sie
   auch ein Twisted-Pair-Kabel (Cross-Over) verwenden, das direkt an
   den Router angeschlossen wird.

   Beispiel 31-4. Grosses Netzwerk (Firmennetz)

   Dieses Netzwerk basiert auf der Sterntopologie und 10baseT
   Ethernet ("Twisted Pair").

 -------Novell Server
     | H |
     |   ---Sun
     |   |
     | U ---FreeBSD
     |   |
     |   ---Windows 95
     | B |
     |___---Autonomer Router
                 |
         ISDN BRI Verbindung
            

   Ein grosser Vorteil der meisten Router und Bridges ist es, dass
   man gleichzeitig zwei unabha:ngige PPP-Verbindungen zu zwei
   verschiedenen Zielen aufbauen kann. Diese Funktion bieten die
   meisten Terminaladapter nicht. Die Ausnahme sind spezielle (meist
   teure) Modelle, die u:ber zwei getrennte serielle Ports verfu:gen.
   Verwechseln Sie dies aber nicht mit Kanalbu:ndelung oder MPP.

   Dies kann sehr nu:tzlich sein, wenn Sie eine ISDN-Standleitung in
   Ihrem Bu:ro haben, die sie aufteilen wollen, ohne eine
   zusa:tzliche ISDN-Leitung zu installieren. Ein ISDN-Router kann
   u:ber einen B-Kanal (64 Kbps) eine dedizierte Verbindung ins
   Internet aufbauen, und gleichzeitig den anderen B-Kanal fu:r eine
   separate Datenverbindung nutzen. Der zweite B-Kanal kann
   beispielsweise fu:r ein- oder ausgehende Verbindungen verwendet
   werden. Sie ko:nnen ihn aber auch dynamisch mit dem ersten B-Kanal
   bu:ndeln, um Ihre Bandbreite zu erho:hen.

   Eine Ethernet-Bridge kann Daten nicht nur im IP-Protokoll, sondern
   auch in beliebigen anderen Protokollen versenden.

     --------------------------------------------------------------

31.9. NAT - Network Address Translation

   Beigetragen von Chern Lee.

  31.9.1. U:berblick

   natd(8), der Network-Address-Translation-Daemon von FreeBSD,
   akzeptiert ankommende Raw-IP-Pakete, a:ndert den Sender der Daten
   in den eigenen Rechner und leitet diese Pakete in den ausgehenden
   IP-Paketstrom um, indem IP-Adresse und Port des Senders so
   gea:ndert werden, dass bei einer Antwort der urspru:ngliche Sender
   wieder bestimmt und die Daten an ihn weitergeleitet werden
   ko:nnen.

   Der ha:ufigste Grund fu:r die Verwendung von NAT ist die
   gemeinsame Nutzung einer Internetverbindung.

     --------------------------------------------------------------

  31.9.2. Einrichtung

   Wegen der begrenzten Verfu:gbarkeit von IPv4-Adressen und der
   gestiegenen Anzahl von Breitbandverbindungen u:ber Kabelmodem oder
   DSL, wird die gemeinsame Nutzung von Internetverbindungen immer
   wichtiger. Der natd(8)-Daemon ermo:glicht die Anbindung von
   mehreren Rechnern an das Internet unter Nutzung einer gemeinsamen
   Verbindung und einer IP-Adresse.

   Ha:ufig soll ein u:ber Kabelmodem oder DSL und eine IP-Adresse an
   das Internet angebundener Rechner mehreren Rechnern eines lokalen
   Netzwerks Internetdienste anbieten.

   Um dies zu ermo:glichen, muss der FreeBSD-Rechner als Gateway
   fungieren. Dazu sind zwei Netzkarten notwendig. Eine fu:r die
   Verbindung zum Internet, die zweite fu:r die Verbindung mit dem
   lokalen Netzwerk. Sa:mtliche Rechner des lokalen Netzwerks sind
   u:ber einen Hub oder einen Switch miteinander verbunden.

     Anmerkung: Es gibt verschiedene Mo:glichkeiten, ein LAN u:ber
     ein FreeBSD-Gateway an das Internet anzubinden. Das folgende
     Beispiel beschreibt ein Gateway, das zumindest zwei
     Netzwerkkarten entha:lt.

   _______       __________       ________
  |       |     |          |     |        |
  |  Hub  |-----| Client B |-----| Router |----- Internet
  |_______|     |__________|     |________|
      |
  ____|_____
 |          |
 | Client A |
 |__________|

   Eine derartige Netzwerkkonfiguration wird vor allem zur
   gemeinsamen Nutzung einer Internetverbindung verwendet. Ein
   Rechner des lokalen Netzwerks (LAN) ist mit dem Internet
   verbunden. Alle anderen Rechner des lokalen Netzwerks haben nur
   u:ber diesen "Gateway"-Rechner Zugriff auf das Internet.

     --------------------------------------------------------------

  31.9.3. Boot Loader Konfiguration

   Die Kerneleigenschaften fu:r Network Address Translation mit
   natd(8) sind im GENERIC-Kernel nicht aktiviert, ko:nnen aber
   bereits zur Bootzeit geladen werden, indem ein paar Zeilen in die
   Datei /boot/loader.conf hinzugefu:gt werden:

 ipfw_load="YES"
 ipdivert_load="YES"

   Zusa:tzlich kann die Option net.inet.ip.fw.default_to_accept auf 1
   gesetzt werden:

 net.inet.ip.fw.default_to_accept="1"

     Anmerkung: Es ist eine gute Idee, diese Option wa:hrend den
     ersten Versuchen, eine Firewall und ein NAT-Gateway aufzusetzen,
     zu aktivieren. Damit ist die Standardvorgehensweise von ipfw(8)
     diejenige, allow ip from any to any, anstatt der weniger
     freizu:gigen deny ip from any to any. Es wird dadurch etwas
     schwieriger, sich aus Versehen nach einem Neustart aus dem
     System auszusperren.

     --------------------------------------------------------------

  31.9.4. Kernelkonfiguration

   Wenn Module nicht in Frage kommen oder Sie bevorzugen, alle
   notwendigen Eigenschaften in den laufenden Kernel einzubauen,
   mu:ssen die folgenden Optionen in die Kernelkonfigurationsdatei
   eingetragen werden:

 options IPFIREWALL
 options IPDIVERT

   Die folgende Optionen ko:nnen ebenfalls eingetragen werden:

 options IPFIREWALL_DEFAULT_TO_ACCEPT
 options IPFIREWALL_VERBOSE

     --------------------------------------------------------------

  31.9.5. System Bootkonfiguration

   Um Firewall- und NAT-Unterstu:tzung zur Bootzeit zu aktivieren,
   tragen Sie Folgendes in /etc/rc.conf ein:

 gateway_enable="YES" (1)
 firewall_enable="YES" (2)
 firewall_type="OPEN" (3)
 natd_enable="YES"
 natd_interface="fxp0" (4)
 natd_flags="" (5)

   (1)
           Richtet den Rechner als Gateway ein. Die Ausfu:hrung von
           sysctl net.inet.ip.forwarding=1 ha:tte den gleichen
           Effekt.
   (2)
           Aktiviert die Firewallregeln in /etc/rc.firewall beim
           Systemstart.
   (3)
           Ein vordefinierter Satz von Firewallregeln, der alle
           Pakete durchla:sst. Sehen Sie sich /etc/rc.firewall an,
           wenn Sie diese Option verwenden wollen.
   (4)
           Die Netzkarte, die Pakete weiterleitet (und mit dem
           Internet verbunden ist).
   (5)
           Zusa:tzliche Konfigurationsoptionen, die beim Systemstart
           an natd(8) u:bergeben werden.

   Durch die Definition dieser Optionen in /etc/rc.conf wird die
   Anweisung natd -interface fxp0 beim Systemstart ausgefu:hrt. Dies
   kann aber auch manuell erfolgen.

     Anmerkung: Falls Sie viele Optionen an natd(8) u:bergeben
     mu:ssen, ko:nnen Sie auch eine Konfigurationsdatei verwenden.
     Dazu fu:gen Sie folgende Zeile in /etc/rc.conf ein:

 natd_flags="-f /etc/natd.conf"

     Die Datei /etc/natd.conf entha:lt verschiedene
     Konfigurationsoptionen, wobei jede Option in einer Zeile steht.
     Das Beispiel im na:chsten Abschnitt wu:rde folgende
     Konfigurationsdatei verwenden:

 redirect_port tcp 192.168.0.2:6667 6667
 redirect_port tcp 192.168.0.3:80 80

     Wenn Sie eine Konfigurationsdatei verwenden wollen, sollten Sie
     sich die Handbuchseite zu natd(8) durchlesen, insbesondere den
     Abschnitt u:ber die Nutzung der Option -f.

   Jedem Rechner und jeder Schnittstelle des lokalen Netzwerks sollte
   eine IP-Adresse des im RFC 1918 definierten privaten Adressraums
   zugewiesen werden. Der Standardgateway entspricht der internen
   IP-Adresse des natd-Rechners.

   Im Beispiel werden den LAN-Clients A und B die IP-Adressen
   192.168.0.2 und 192.168.0.3 zugewiesen, wa:hrend die LAN-Netzkarte
   des natd-Rechners die IP-Adresse 192.168.0.1 erha:lt. Der
   natd-Rechner mit der IP-Adresse 192.168.0.1 wird als
   Standardgateway fu:r die Clients A und B gesetzt. Die externe
   Netzkarte des natd-Rechners muss fu:r die korrekte Funktion von
   natd(8) nicht konfiguriert werden.

     --------------------------------------------------------------

  31.9.6. Ports umleiten

   Wenn Sie natd(8) verwenden, sind Ihre LAN-Clients von aussen nicht
   erreichbar. LAN-Clients ko:nnen zwar Verbindungen nach aussen
   aufbauen, sind aber fu:r ankommende Verbindungen nicht erreichbar.
   Wenn Sie Internetdienste auf einem LAN-Client anbieten wollen,
   haben Sie daher ein Problem. Eine einfache Lo:sung ist die
   Umleitung von bestimmten Internetports des natd-Rechners auf einen
   LAN-Client.

   Beispielsweise ko:nnte ein IRC-Server auf Client A und ein
   Webserver auf Client B laufen. Damit diese Konfiguration
   funktioniert, mu:ssen Verbindungen, die auf den Ports 6667 (IRC)
   und 80 (Web) ankommen, auf die entsprechenden Clients umgeleitet
   werden.

   Dazu wird die Option -redirect_port unter Nutzung folgender Syntax
   an natd(8) u:bergeben:

      -redirect_port proto targetIP:targetPORT[-targetPORT]
                  [aliasIP:]aliasPORT[-aliasPORT]
                  [remoteIP[:remotePORT[-remotePORT]]]

   Fu:r unser Beispiel heisst das:

     -redirect_port tcp 192.168.0.2:6667 6667
     -redirect_port tcp 192.168.0.3:80 80

   Dadurch werden die entsprechenden tcp-Ports auf die jeweiligen
   LAN-Clients umgeleitet.

   Mit -redirect_port ko:nnen auch ganze Portbereiche statt einzelner
   Ports umgeleitet werden. So werden mit tcp 192.168.0.2:2000-3000
   2000-3000 alle Verbindungen, die auf den Ports 2000 bis 3000
   ankommen, auf die entsprechenden Ports des Clients A umgeleitet.

   Diese Optionen ko:nnen wa:hrend des Betriebs von natd(8) oder
   u:ber die Option natd_flags="" in /etc/rc.conf gesetzt werden.

   Eine ausfu:hrliche Konfigurationsanleitung finden Sie in natd(8).

     --------------------------------------------------------------

  31.9.7. Adressen umleiten

   Die Umleitung von Adressen ist nu:tzlich, wenn mehrere IP-Adressen
   verfu:gbar sind, die aber alle auf einem Rechner verbleiben
   sollen. In diesem Fall kann natd(8) jedem LAN-Client eine eigene
   externe IP-Adresse zuweisen. Ausgehende Pakete eines LAN-Clients
   werden so der entsprechenden externen IP-Adresse des Clients
   zugeordnet. Ankommender Verkehr fu:r diese IP-Adresse wird
   automatisch an den entsprechenden LAN-Client weitergeleitet.
   Diesen Vorgang bezeichnet man auch als statisches NAT. Dem
   natd-Gatewayrechner ko:nnten beispielsweise die IP-Adressen
   128.1.1.1, 128.1.1.2 sowie 128.1.1.3 zugewiesen werden. 128.1.1.1
   wird als die externe IP-Adresse des natd-Gatewayrechners
   verwendet, wa:hrend 128.1.1.2 und 128.1.1.3 an die LAN-Clients A
   und B weitergegeben werden.

   -redirect_address benutzt folgende Syntax:

 -redirect_address localIP publicIP

   localIP            Die interne IP-Adresse des LAN-Clients          
   publicIP           Die externe IP-Adresse des LAN-Clients          

   Fu:r unser Beispiel hiesse dies:

 -redirect_address 192.168.0.2 128.1.1.2
 -redirect_address 192.168.0.3 128.1.1.3

   Analog zur Option -redirect_port ko:nnen Sie diese Argumente auch
   in der Option natd_flags="" in /etc/rc.conf angeben. Bei der
   Nutzung der Adressumleitung ist die Portumleitung u:berflu:ssig,
   weil alle fu:r eine bestimmte IP-Adresse ankommenden Daten
   umgeleitet werden.

   Die externe IP-Adresse des natd-Rechners muss aktiv sein und der
   externen Netzkarte zugewiesen sein. Weitere Informationen zu
   diesem Thema finden Sie in rc.conf(5).

     --------------------------------------------------------------

31.10. PLIP - Parallel Line IP

   PLIP ermo:glicht TCP/IP-Verbindungen zwischen zwei Rechnern, die
   u:ber ihre parallelen Schnittstellen verbunden sind. Eine solche
   Verbindung ist nu:tzlich, wenn zwei Rechner nicht mit Netzkarten
   ausgestattet sind, oder wenn eine Installation auf einem Laptop
   erfolgen soll. Dieser Abschnitt behandelt folgende Themen:

     * Die Herstellung eines parallelen (Laplink-) Kabels

     * Die Verbindung von zwei Computern u:ber PLIP

     --------------------------------------------------------------

  31.10.1. Ein paralleles Kabel herstellen

   Ein paralleles (Laplink-)Kabel ko:nnen Sie in fast jedem
   Computergescha:ft kaufen. Falls dies nicht mo:glich sein sollte,
   oder Sie einfach wissen wollen, wie ein solches Kabel aufgebaut
   ist, sollten Sie sich die folgende Tabelle ansehen. Sie beschreibt
   die Herstellung eines parallelen Netzwerkkabels aus einem
   gewo:hnlichen parallelen Druckerkabel.

   Tabelle 31-1. Die Netzwerk-Verdrahtung eines parallelen Kabels

   A-Name A-Ende B-Ende Beschreibung Post/Bit 
   DATA0  2      15     Data         0/0x01   
   -ERROR 15     2                   1/0x08   
   DATA1  3      13     Data         0/0x02   
   +SLCT  13     3                   1/0x10   
   DATA2  4      12     Data         0/0x04   
   +PE    12     4                   1/0x20   
   DATA3  5      10     Strobe       0/0x08   
   -ACK   10     5                   1/0x40   
   DATA4  6      11     Data         0/0x10   
   BUSY   11     6                   1/0x80   
   GND    18-25  18-25  GND          -        

     --------------------------------------------------------------

  31.10.2. PLIP einrichten

   Als Erstes beno:tigen Sie ein Laplink-Kabel. Danach mu:ssen Sie
   sicherstellen, dass beide Computerkernel den lpt(4)-Treiber
   unterstu:tzen:

 # grep lp /var/run/dmesg.boot
 lpt0: <Printer> on ppbus0
 lpt0: Interrupt-driven port

   Der Parallelport muss Interrupt-gesteuert sein, daher sollte die
   Datei /boot/device.hints zwei Zeilen a:hnlich den folgenden
   enthalten:

 hint.ppc.0.at="isa"
 hint.ppc.0.irq="7"

   Danach u:berpru:fen Sie, ob die Kernelkonfigurationsdatei die
   Zeile device plip entha:lt, oder ob das Kernelmodul plip.ko
   geladen wurde. In beiden Fa:llen sollte die parallele
   Schnittstelle von ifconfig(8) angezeigt werden:

 # ifconfig plip0
 plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500

   Verbinden Sie die parallelen Schnittstellen der beiden Computer
   u:ber das (Laplink-)Kabel.

   Konfigurieren Sie die Netzwerkparameter auf beiden Rechnern als
   root. Wenn Sie beispielsweise den Rechner host1 mit dem Rechner
   host2 verbinden wollen, gehen Sie folgendermassen vor:

                  host1 <-----> host2
 IP Address    10.0.0.1      10.0.0.2

   Richten Sie die parallele Schnittstelle von host1 ein, indem Sie
   Folgendes eingeben:

 # ifconfig plip0 10.0.0.1 10.0.0.2

   Danach richten Sie die parallele Schnittstelle von host2 ein:

 # ifconfig plip0 10.0.0.2 10.0.0.1

   Sie sollten nun u:ber eine funktionierende Verbindung verfu:gen.
   Bei Problemen lesen Sie bitte die Hilfeseiten lp(4) sowie lpt(4).

   Zusa:tzlich sollten beide Rechner in /etc/hosts eingetragen
   werden:

 127.0.0.1               localhost.my.domain localhost
 10.0.0.1                host1.my.domain host1
 10.0.0.2                host2.my.domain host2

   Um die Verbindung zu u:berpru:fen, pingen Sie jeden Rechner vom
   anderen Rechner aus an. Auf host1 gehen Sie dazu folgendermassen
   vor:

 # ifconfig plip0
 plip0: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1500
         inet 10.0.0.1 --> 10.0.0.2 netmask 0xff000000
 # netstat -r
 Routing tables

 Internet:
 Destination        Gateway          Flags     Refs     Use      Netif Expire
 host2              host1              UH          0       0       plip0
 # ping -c 4 host2
 PING host2 (10.0.0.2): 56 data bytes
 64 bytes from 10.0.0.2: icmp_seq=0 ttl=255 time=2.774 ms
 64 bytes from 10.0.0.2: icmp_seq=1 ttl=255 time=2.530 ms
 64 bytes from 10.0.0.2: icmp_seq=2 ttl=255 time=2.556 ms
 64 bytes from 10.0.0.2: icmp_seq=3 ttl=255 time=2.714 ms

 --- host2 ping statistics ---
 4 packets transmitted, 4 packets received, 0% packet loss
 round-trip min/avg/max/stddev = 2.530/2.643/2.774/0.103 ms

     --------------------------------------------------------------

31.11. IPv6 - Internet Protocol Version 6

   Beigetragen von Aaron Kaplan. U:berarbeitet und erweitert von Tom
   Rhodes. Erweitert von Brad Davis.

   Bei IPv6 (auch als IPng oder IP next generation bekannt) handelt
   es sich um die neueste Version des bekannten IP-Protokolls (das
   auch als IPv4 bezeichnet wird). FreeBSD entha:lt, genauso wie die
   anderen frei erha:ltlichen BSD-Systeme, die
   IPv6-Referenzimplementation von KAME. FreeBSD erfu:llt damit
   bereits alle fu:r die Nutzung von IPv6 no:tigen Voraussetzungen.
   Dieser Abschnitt konzentriert sich daher auf die Konfiguration und
   den Betrieb von IPv6.

   Anfang der 90er Jahre wurde man auf den stark steigenden Verbrauch
   von IPv4-Adressen aufmerksam. Im Hinblick auf das Wachstums des
   Internets gab es zwei Hauptsorgen:

     * Die drohende Knappheit von IPv4-Adressen. Dieses Problem
       konnte durch die Einfu:hrung von privaten Adressra:umen
       gema:ss RFC1918 (mit Adressen wie 10.0.0.0/8, 172.16.0.0/12,
       oder 192.168.0.0/16) sowie der Entwicklung von Network Address
       Translation (NAT) weitestgehend entscha:rft werden.

     * Die immer gro:sser werdenden Eintra:ge in Router-Tabellen.
       Dieses Problem ist auch heute noch aktuell.

   IPv6 ist in der Lage, diese, aber auch viele andere Probleme zu
   lo:sen:

     * IPv6 hat einen 128 Bit grossen Adressraum. Es sind also
       theoretisch
       340.282.366.920.938.463.463.374.607.431.768.211.456 Adressen
       verfu:gbar. In anderen Worten: Fu:r jeden Quadratmeter der
       Erdoberfla:che sind etwa 6,67 * 10^27 IPv6-Adressen
       verfu:gbar.

     * Router speichern nur noch Netzwerk-Aggregationsadressen in
       Ihren Routingtabellen. Dadurch reduziert sich die
       durchschnittliche Gro:sse einer Routingtabelle auf
       8192 Eintra:ge.

   Weitere nu:tzliche Eigenschaften von IPv6 sind:

     * Die automatische Konfiguration von Adressen, die im RFC2462
       beschrieben wird.

     * Anycast-Adressen ("eine-von-vielen")

     * Verpflichtende Multicast-Adressen

     * Die Unterstu:tzung von IPsec (IP-Security)

     * Eine vereinfachte Headerstruktur

     * Mobile IP-Adressen

     * Die Umwandlung von IPv4- in IPv6-Adressen

   Weitere Informationsquellen:

     * Beschreibung von IPv6 auf playground.sun.com

     * KAME.net

     --------------------------------------------------------------

  31.11.1. Hintergrundinformationen zu IPv6-Adressen

   Es gibt verschiedene Arten von IPv6-Adressen: Unicast-, Anycast-
   und Multicast-Adressen.

   Unicast-Adressen sind die herko:mlichen Adressen. Ein Paket, das
   an eine Unicast-Adresse gesendet wird, kommt nur an der
   Schnittstelle an, die dieser Adresse zugeordnet ist.

   Anycast-Adressen unterscheiden sich in ihrer Syntax nicht von
   Unicast-Adressen, sie wa:hlen allerdings aus mehreren
   Schnittstellen eine Schnittstelle aus. Ein fu:r eine
   Anycast-Adresse bestimmtes Paket kommt an der na:chstgelegenen
   (entsprechend der Router-Metrik) Schnittstelle an.
   Anycast-Adressen werden nur von Routern verwendet.

   Multicast-Adressen bestimmen Gruppen, denen mehrere Schnittstellen
   angeho:ren. Ein Paket, das an eine Multicast-Adresse geschickt
   wird, kommt an allen Schnittstellen an, die zur Multicast-Gruppe
   geho:ren.

     Anmerkung: Die von IPv4 bekannte Broadcast-Adresse
     (normalerweise xxx.xxx.xxx.255) wird bei IPv6 durch
     Multicast-Adressen verwirklicht.

   Tabelle 31-2. Reservierte IPv6-Adressen

     IPv6-Adresse   Pra:fixla:nge   Beschreibung      Anmerkungen     
   ::               128 Bit       nicht festgelegt entspricht 0.0.0.0 
                                                   bei IPv4           
   ::1              128 Bit       Loopback-Adresse entspricht         
                                                   127.0.0.1 bei IPv4 
                                                   Die niedrigen      
                                                   32 Bit entsprechen 
                                  Eingebettete     der IPv4-Adresse.  
   ::00:xx:xx:xx:xx 96 Bit        IPv4-Adresse     Wird auch als      
                                                   "IPv4-kompatible   
                                                   IPv6-Adresse       
                                                   bezeichnet".       
                                                   Die niedrigen      
                                                   32 Bit entsprechen 
                                  Eine auf IPv6    der IPv4-Adresse.  
   ::ff:xx:xx:xx:xx 96 Bit        abgebildete      Notwendig fu:r     
                                  IPv4-Adresse     Rechner, die IPv6  
                                                   nicht              
                                                   unterstu:tzen.     
                                                   Entspricht der     
   fe80:: - feb::   10 Bit        link-local       Loopback-Adresse   
                                                   bei IPv4           
   fec0:: - fef::   10 Bit        site-local                          
   ff::             8 Bit         Multicast                           
                                                   Alle globalen      
                                                   Unicastadressen    
   001 (im          3 Bit         Globaler Unicast stammen aus diesem 
   Dualsystem)                                     Pool. Die ersten   
                                                   3 Bit lauten       
                                                   "001".             

     --------------------------------------------------------------

  31.11.2. IPv6-Adressen verstehen

   Die kanonische Form von IPv6-Adressen lautet x:x:x:x:x:x:x:x,
   jedes "x" steht dabei fu:r einen 16-Bit-Hexadezimalwert. Ein
   Beispiel fu:r eine IPv6-Adresse wa:re etwa
   FEBC:A574:382B:23C1:AA49:4592:4EFE:9982.

   Eine IPv6-Adresse entha:lt oft Teilzeichenfolgen aus lauter
   Nullen. Eine solche Zeichenfolge kann zu "::" verku:rzt werden.
   Bis zu drei fu:hrende Nullen eines Hexquads ko:nnen ebenfalls
   weggelassen werden. fe80::1 entspricht also der Adresse
   fe80:0000:0000:0000:0000:0000:0000:0001.

   Eine weitere Mo:glichkeit ist die Darstellung der letzten 32 Bit
   in der bekannten (dezimalen) IPv4-Darstellung, bei der Punkte
   (".") zur Trennung verwendet werden. 2002::10.0.0.1 ist also nur
   eine andere Schreibweise fu:r die (hexadezimale) kanonische Form
   2002:0000:0000:0000:0000:0000:0a00:0001, die wiederum der Adresse
   2002::a00:1 entspricht.

   Sie sollten nun in der Lage sein, die folgende Ausgabe zu
   verstehen:

 # ifconfig
 rl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
          inet 10.0.0.10 netmask 0xffffff00 broadcast 10.0.0.255
          inet6 fe80::200:21ff:fe03:8e1%rl0 prefixlen 64 scopeid 0x1
          ether 00:00:21:03:08:e1
          media: Ethernet autoselect (100baseTX )
          status: active

   Bei fe80::200:21ff:fe03:8e1%rl0 handelt es sich um eine
   automatisch konfigurierte link-local-Adresse. Sie wird im Rahmen
   der automatischen Konfiguration aus der MAC-Adresse erzeugt.

   Weitere Informationen zum Aufbau von IPv6-Adressen finden Sie im
   RFC3513.

     --------------------------------------------------------------

  31.11.3. Eine IPv6-Verbindung herstellen

   Es gibt derzeit vier Mo:glichkeiten, sich mit anderen
   IPv6-Rechnern oder Netzwerken zu verbinden:

     * Fragen Sie Ihren Internetprovider, ob er IPv6 bereits
       unterstu:tzt.

     * SixXS bietet weltweit IPv6-Tunnelverbindungen an.

     * Die Verwendung eines 6-nach-4-Tunnels (RFC3068).

     * Die Verwendung des Ports /usr/ports/net/freenet6 bei der
       Einwahl ins Internet.

     --------------------------------------------------------------

  31.11.4. DNS in der IPv6-Welt

   Urspru:nglich gab es zwei verschiedene DNS-Eintra:ge fu:r IPv6. Da
   A6-Eintra:ge von der IETF fu:r obsolet erkla:rt wurden, sind
   AAAA-Eintra:ge nun Standard.

   Weisen Sie die erhaltene IPv6-Adresse Ihrem Rechnernamen zu, indem
   Sie den Eintrag

 MYHOSTNAME           AAAA    MYIPv6ADDR

   in Ihre prima:re DNS-Zonendatei einfu:gen. Falls Sie nicht fu:r
   Ihre DNS-Zone verantwortlich sind, bitten Sie den dafu:r
   Zusta:ndigen, diese A:nderung durchzufu:hren. Die aktuellen
   Versionen von bind (Version 8.3 oder 9) sowie dns/djbdns (bei
   Verwendung des IPv6-Patches) unterstu:tzen AAAA-Eintra:ge.

     --------------------------------------------------------------

  31.11.5. /etc/rc.conf fu:r die Nutzung von IPv6 anpassen

    31.11.5.1. Einen Client unter IPv6 einrichten

   Dieser Abschnitt beschreibt die Konfiguration eines Rechners, der
   in Ihrem LAN als Client, aber nicht als Router verwendet wird. Um
   die Schnittstelle wa:hrend des Systemstarts mit rtsol(8)
   automatisch einzurichten, fu:gen Sie folgende Zeile in
   /etc/rc.conf ein:

 ipv6_enable="YES"

   Durch die folgende Zeile weisen Sie Ihrer Schnittstelle fxp0 die
   statische IP-Adresse 2001:471:1f11:251:290:27ff:fee0:2093 zu:

 ipv6_ifconfig_fxp0="2001:471:1f11:251:290:27ff:fee0:2093"

   Um 2001:471:1f11:251::1 als Standardrouter festzulegen, fu:gen Sie
   folgende Zeile in /etc/rc.conf ein:

 ipv6_defaultrouter="2001:471:1f11:251::1"

     --------------------------------------------------------------

    31.11.5.2. Gateways und Router unter IPv6 einrichten

   Dieser Abschnitt beschreibt, wie Sie Ihren Rechner mit Hilfe der
   von Ihrem Tunnel-Anbieter erhaltenen Anweisungen dauerhaft fu:r
   die Nutzung von IPv6 einrichten. Um den Tunnel beim Systemstart
   wiederherzustellen, passen Sie /etc/rc.conf wie folgt an:

   Listen Sie die einzurichtenden Tunnelschnittstellen (hier gif0)
   auf:

 gif_interfaces="gif0"

   Um den lokalen Endpunkt MY_IPv4_ADDR u:ber diese Schnittstelle mit
   dem entfernten Endpunkt REMOTE_IPv4_ADDR zu verbinden, verwenden
   Sie folgende Zeile:

 gifconfig_gif0="MY_IPv4_ADDR REMOTE_IPv4_ADDR"

   Um die Ihnen zugewiesene IPv6-Adresse als Endpunkt Ihres
   IPv6-Tunnels zu verwenden, fu:gen Sie folgende Zeile ein:

 ipv6_ifconfig_gif0="MY_ASSIGNED_IPv6_TUNNEL_ENDPOINT_ADDR"

   Nun mu:ssen Sie nur noch die IPv6-Standardroute angeben. Diese
   legt das andere Ende des IPv6-Tunnels fest.

 ipv6_defaultrouter="MY_IPv6_REMOTE_TUNNEL_ENDPOINT_ADDR"

     --------------------------------------------------------------

    31.11.5.3. Einen IPv6-Tunnel einrichten

   Wenn Ihr Server IPv6-Verkehr zwischen Ihrem Netzwerk und der
   Aussenwelt routen muss, beno:tigen Sie zusa:tzlich die folgenden
   Zeilen in Ihrer /etc/rc.conf:

 ipv6_gateway_enable="YES"

     --------------------------------------------------------------

  31.11.6. Bekanntmachung von Routen und automatische
  Rechnerkonfiguration

   Dieser Abschnitt beschreibt die Einrichtung von rtadvd(8), das Sie
   bei der Bekanntmachung der IPv6-Standardroute unterstu:tzt.

   Um rtadvd(8) zu aktivieren, fu:gen Sie folgende Zeile in
   /etc/rc.conf ein:

 rtadvd_enable="YES"

   Es ist wichtig, die Schnittstelle anzugeben, u:ber die IPv6-Routen
   bekanntgemacht werden sollen. Soll rtadvd(8) fxp0 verwenden, ist
   folgender Eintrag no:tig:

 rtadvd_interfaces="fxp0"

   Danach erzeugen Sie die Konfigurationsdatei /etc/rtadvd.conf. Dazu
   ein Beispiel:

 fxp0:\
     :addrs#1:addr="2001:471:1f11:246::":prefixlen#64:tc=ether:

   Ersetzen Sie dabei fxp0 durch die zu verwendende Schnittstelle.

   Anschliessend ersetzen Sie 2001:471:1f11:246:: durch das Pra:fix
   der Ihnen zugewiesenen Verbindung.

   Wenn Sie eine /64-Netzmaske verwenden, mu:ssen Sie keine weiteren
   Anpassungen vornehmen. Anderenfalls mu:ssen Sie prefixlen# auf den
   korrekten Wert setzen.

     --------------------------------------------------------------

31.12. ATM - Asynchronous Transfer Mode

   Beigetragen von Harti Brandt.

  31.12.1. Classical IP over ATM als PVC-Verbindung einrichten

   Classical IP over ATM (CLIP) ist die einfachste Mo:glichkeit, um
   IP-Verkehr u:ber ATM (Asynchronous Transfer Mode-Verbindungen zu
   u:bertragen. CLIP kann sowohl mit geschalteten Verbindungen (SVCs)
   als auch mit permanenten Verbindungen (PVCs) verwendet werden.
   Dieser Abschnitt beschreibt die Einrichtung eines PVC-basierten
   Netzwerks.

     --------------------------------------------------------------

    31.12.1.1. Ein vollsta:ndig vermaschtes Netzwerk aufbauen

   Bei einem vollsta:ndig vermaschten (fully meshed) Netzwerk ist
   jeder Rechner u:ber eine dezidierte Verbindung mit jedem anderen
   Rechner des Netzwerks verbunden. Die Konfiguration ist - vor allem
   fu:r kleinere Netzwerke - relativ einfach. Unser Beispielnetzwerk
   besteht aus vier Rechnern, die jeweils u:ber eine ATM-Adapterkarte
   mit dem ATM-Netzwerk verbunden sind. Als ersten
   Konfigurationsschritt planen wir die Vergabe von IP-Adressen sowie
   die anzulegenden ATM-Verbindungen:

               Rechner                         IP-Adresse             
   hostA                            192.168.173.1                     
   hostB                            192.168.173.2                     
   hostC                            192.168.173.3                     
   hostD                            192.168.173.4                     

   Um ein vollsta:ndiges Netz aufzubauen, beno:tigen wir fu:r jedes
   Rechnerpaar eine eigene ATM-Verbindung:

              Rechnerpaar                      VPI.VCI-Paar           
   hostA - hostB                     0.100                            
   hostA - hostC                     0.101                            
   hostA - hostD                     0.102                            
   hostB - hostC                     0.103                            
   hostB - hostD                     0.104                            
   hostC - hostD                     0.105                            

   Die Werte VPI und VCI an den Verbindungsenden ko:nnen natu:rlich
   unterschiedlich sein. Wir nehmen hier aber an, dass sie gleich
   sind. Nun mu:ssen wir die ATM-Schnittstellen auf jedem Rechner
   einrichten:

 hostA# ifconfig hatm0 192.168.173.1 up
 hostB# ifconfig hatm0 192.168.173.2 up
 hostC# ifconfig hatm0 192.168.173.3 up
 hostD# ifconfig hatm0 192.168.173.4 up

   Dabei setzen wir voraus, dass hatm0 auf allen Rechnern die
   ATM-Schnittstelle darstellt. Danach werden, beginnend mit hostA,
   die PVCs auf den einzelnen Rechnern eingerichtet (Wir nehmen an,
   dass die PVCs auf den ATM-Switches bereits eingerichet sind. Lesen
   Sie die entsprechenden Handbu:cher, wenn Sie einen Switch
   einrichten mu:ssen.):

 hostA# atmconfig natm add 192.168.173.2 hatm0 0 100 llc/snap ubr
 hostA# atmconfig natm add 192.168.173.3 hatm0 0 101 llc/snap ubr
 hostA# atmconfig natm add 192.168.173.4 hatm0 0 102 llc/snap ubr

 hostB# atmconfig natm add 192.168.173.1 hatm0 0 100 llc/snap ubr
 hostB# atmconfig natm add 192.168.173.3 hatm0 0 103 llc/snap ubr
 hostB# atmconfig natm add 192.168.173.4 hatm0 0 104 llc/snap ubr

 hostC# atmconfig natm add 192.168.173.1 hatm0 0 101 llc/snap ubr
 hostC# atmconfig natm add 192.168.173.2 hatm0 0 103 llc/snap ubr
 hostC# atmconfig natm add 192.168.173.4 hatm0 0 105 llc/snap ubr

 hostD# atmconfig natm add 192.168.173.1 hatm0 0 102 llc/snap ubr
 hostD# atmconfig natm add 192.168.173.2 hatm0 0 104 llc/snap ubr
 hostD# atmconfig natm add 192.168.173.3 hatm0 0 105 llc/snap ubr

   Statt UBR ko:nnen auch andere traffic contracts verwendet werden.
   Voraussetzung ist allerdings, dass diese von Ihrem ATM-Adapter
   unterstu:tzt werden. Ist dies der Fall, folgen auf den Namen des
   traffic contracts die entsprechenden Konfigurationsparameter.
   Weitere Informationen zur Konfiguration von ATM-Adapterkarten
   erhalten Sie u:ber den Befehl

 # atmconfig help natm add

   oder durch das Lesen von atmconfig(8).

   Die Konfiguration von ATM-Adaptern kann auch u:ber die Datei
   /etc/rc.conf erfolgen. Fu:r hostA sa:he die Konfiguration so aus:

 network_interfaces="lo0 hatm0"
 ifconfig_hatm0="inet 192.168.173.1 up"
 natm_static_routes="hostB hostC hostD"
 route_hostB="192.168.173.2 hatm0 0 100 llc/snap ubr"
 route_hostC="192.168.173.3 hatm0 0 101 llc/snap ubr"
 route_hostD="192.168.173.4 hatm0 0 102 llc/snap ubr"

   Mit dem folgenden Befehl la:sst sich der derzeitige Status aller
   CLIP-Routen anzeigen:

 hostA# atmconfig natm show

     --------------------------------------------------------------

31.13. CARP - Common Address Redundancy Protocol

   Beigetragen von Tom Rhodes.

   Das Common Address Redundancy Protocol (CARP) erlaubt es, mehreren
   Rechnern die gleiche IP-Adresse zuzuweisen. Durch ein solches
   Vorgehen la:sst sich beispielsweise die Verfu:gbarkeit bestimmter
   Dienste verbessern oder die Last zwischen einzelnen Systemen
   besser verteilen. Den auf diese Art und Weise konfigurierten
   Systemen kann zusa:tzlich eine eigene (im Netzwerk eindeutige)
   IP-Adresse zugewiesen werden (wie dies auch im folgenden Beispiel
   erfolgt).

   Um CARP zu aktivieren, mu:ssen Sie die
   FreeBSD-Kernelkonfigurationsdatei um die folgende Option erweitern
   und danach den FreeBSD-Kernel neu bauen:

 device  carp

   Danach ist CARP auf Ihrem System verfu:gbar und kann u:ber
   verschiedene sysctl-Optionen (OIDs) gesteuert werden.

                OID                          Beschreibung             
   net.inet.carp.allow            Akzeptiert ankommende CARP-Pakete.  
                                  In der Voreinstellung aktiviert.    
                                  Diese Option deaktiviert alle       
   net.inet.carp.preempt          CARP-Gera:te, sobald eines von      
                                  ihnen ausfa:llt. In der             
                                  Voreinstellung deaktiviert.         
                                  Hat diese Variable den Wert 0, wird 
                                  kein Protokoll generiert, wa:hrend  
                                  mit dem Wert 1 nur inkorrekte       
                                  CARP-Pakete protokolliert werden.   
   net.inet.carp.log              Hat die Variable einen Wert         
                                  gro:sser 1, werden nur die          
                                  Statuswechsel von CARP-Gera:ten     
                                  protokolliert. In der               
                                  Voreinstellung hat diese Variable   
                                  den Wert 1.                         
                                  Gleicht die Netzwerklast im lokalen 
   net.inet.carp.arpbalance       Netzwerk durch den Einsatz von ARP  
                                  aus. In der Voreinstellung          
                                  deaktiviert.                        
                                  Eine nur lesbare OID, die den       
                                  Preemption Suppression-Status       
                                  anzeigt. Preemption kann verhindert 
                                  werden. Dies auch dann, wenn ein    
   net.inet.carp.suppress_preempt Gera:t ausfa:llt. Hat die Variable  
                                  den Wert 0, bedeutet dies, dass     
                                  Preemption nicht verhindert wird.   
                                  Tritt ein Problem auf, wird der     
                                  Wert dieser OID um 1 erho:ht.       

   Das CARP-Gera:t selbst erzeugen Sie mit dem ifconfig-Befehl:

 # ifconfig carp0 create

   Damit Sie dieses Protokoll in Ihrem Netzwerk einsetzen ko:nnen,
   muss jede Netzkarte eine eindeutige Identifikationsnummer, die
   sogenannte VHID (Virtual Host Identification), besitzen, da sich
   ansonsten die Rechner Ihres Netzwerks nicht voneinander
   unterscheiden lassen.

     --------------------------------------------------------------

  31.13.1. Die Serververfu:gbarkeit mit CARP verbessern

   Wie bereits weiter oben erwa:hnt wurde, ko:nnen Sie CARP dazu
   verwenden, die Verfu:barkeit Ihrer Server zu verbessern. Im
   folgenden Bespiel werden insgesamt drei Server (mit jeweils
   eigener, eindeutiger IP-Adresse), die alle den gleichen Inhalt
   anbieten, in einer Round Robin DNS-Konfiguration eingerichtet. Der
   Backup-Server verfu:gt u:ber zwei CARP-Schnittstellen (fu:r die
   beiden IP-Adressen der Content-Server). Tritt bei einem
   Content-Server ein Problem auf, u:bernimmt der Backup-Server die
   IP-Adresse des ausgefallenen Servers. Dadurch sollte die Auswahl
   eines Servers vom Anwender nicht bemerkt werden. Der Backup-Server
   muss identisch konfiguriert sein und die gleichen Daten und
   Dienste anbieten wie das System, das er ersetzen soll.

   Die beiden Content-Server werden (abgesehen von ihren jeweiligen
   Hostnamen und VHIDs) identisch konfiguriert und heissen in unserem
   Beispiel hosta.example.org beziehungsweise hostb.example.org.
   Damit Sie CARP einsetzen ko:nnen, mu:ssen Sie als Erstes die Datei
   rc.conf auf beiden Systemen anpassen. Fu:r das System
   hosta.example.org nehmen Sie dazu folgende Zeilen in rc.conf auf:

 hostname="hosta.example.org"
 ifconfig_fxp0="inet 192.168.1.3 netmask 255.255.255.0"
 cloned_interfaces="carp0"
 ifconfig_carp0="vhid 1 pass testpass 192.168.1.50/24"

   Fu:r das System hostb.example.org beno:tigen Sie zusa:tzlich
   folgende Zeilen in rc.conf:

 hostname="hostb.example.org"
 ifconfig_fxp0="inet 192.168.1.4 netmask 255.255.255.0"
 cloned_interfaces="carp0"
 ifconfig_carp0="vhid 2 pass testpass 192.168.1.51/24"

     Anmerkung: Achten Sie unbedingt darauf, dass die durch die
     Option pass an ifconfig u:bergebenen Passwo:rter auf beiden
     Systemen identisch sind, da carp-Gera:te nur mit Systemen
     kommunizieren ko:nnen, die u:ber ein korrektes Passwort
     verfu:gen. Beachten Sie weiters, dass sich die VHIDs der beiden
     Systeme unterscheiden mu:ssen.

   Nun richten Sie noch das dritte System, provider.example.org, ein,
   das aktiviert wird, wenn eines der beiden zuvor konfigurierten
   Systeme ausfa:llt. Dieses dritte System beno:tigt zwei
   carp-Gera:te, um bei Bedarf eines der beiden anderen Systeme
   ersetzen zu ko:nnen. Dazu konfigurieren Sie rc.conf analog zur
   folgenden Beispielkonfiguration:

 hostname="provider.example.org"
 ifconfig_fxp0="inet 192.168.1.5 netmask 255.255.255.0"
 cloned_interfaces="carp0 carp1"
 ifconfig_carp0="vhid 1 advskew 100 pass testpass 192.168.1.50/24"
 ifconfig_carp1="vhid 2 advskew 100 pass testpass 192.168.1.51/24"

   Durch die beiden carp-Gera:te ist es provider.example.org
   mo:glich, festzustellen, ob eines der beiden anderen Systeme nicht
   mehr reagiert. In diesem Fall u:bernimmt provider.example.org die
   IP-Adresse des betroffenen Systems.

     Anmerkung: Ist im installierten FreeBSD-Kernel die Option
     "preemption" aktiviert, kann es sein, dass provider.example.org
     die u:bernommene IP-Adresse nicht mehr an den Content-Server
     zuru:ckgibt (wenn dieser wieder funktioniert). In diesem Fall
     muss ein Administrator die entsprechende Schnittstelle dazu
     zwingen, dies zu tun. Dazu gibt er auf dem Rechner
     provider.example.org den folgenden Befehl ein:

 # ifconfig carp0 down && ifconfig carp0 up

     Dieser Befehl muss auf das carp-Gera:t ausgefu:hrt werden, das
     dem betroffenen System zugeordnet ist.

   Damit ist CARP vollsta:ndig konfiguriert und der Testbetrieb kann
   beginnen. Zuvor mu:ssen Sie allerdings noch alle Systeme neu
   starten (beziehungsweise die Netzwerkkonfiguration auf allen
   Systemen neu einlesen), um die Einstelllungen zu u:bernehmen.

   Fu:r weitere Informtionen lesen Sie bitte die Manualpage carp(4).

                               V. Anhang

   Inhaltsverzeichnis

   A. Bezugsquellen fu:r FreeBSD

   B. Bibliografie

   C. Ressourcen im Internet

   D. PGP Schlu:ssel

     --------------------------------------------------------------

                  Anhang A. Bezugsquellen fu:r FreeBSD

A.1. CD-ROM und DVD Verleger

  A.1.1. FreeBSD-Pakete

   FreeBSD-Pakete (FreeBSD-CDs, zusa:tzliche Software und gedruckte
   Dokumentation) erhalten Sie von mehreren Ha:ndlern:

     *     CompUSA
           WWW: http://www.compusa.com/
         

     *     Frys Electronics
           WWW: http://www.frys.com/
         

     --------------------------------------------------------------

  A.1.2. FreeBSD-CDs und -DVDs

   Die FreeBSD-CDs und -DVDs werden von vielen Online-Ha:ndlern
   angeboten:

     *     FreeBSD Mall, Inc.
           700 Harvest Park Ste F
           Brentwood, CA  94513
           USA
           Telefon: +1 925 240-6652
           Fax: +1 925 674-0821
           E-Mail: <info@freebsdmall.com>
           WWW: http://www.freebsdmall.com/
         

     *     Dr. Hinner EDV
           St. Augustinus-Str. 10
           D-81825 Mu:nchen
           Germany
           Telefon: (089) 428 419
           WWW: http://www.hinner.de/linux/freebsd.html
                 

     *     Ikarios
           22-24 rue Voltaire
           92000 Nanterre
           France
           WWW: http://ikarios.com/form/#freebsd
         

     *     JMC Software
           Ireland
           Telefon: 353 1 6291282
           WWW: http://www.thelinuxmall.com
         

     *     The Linux Emporium
           Hilliard House, Lester Way
           Wallingford
           OX10 9TA
           United Kingdom
           Telefon: +44 1491 837010
           Fax: +44 1491 837016
           WWW: http://www.linuxemporium.co.uk/products/bsd/
         

     *     Linux+ DVD Magazine
           Lewartowskiego 6
           Warsaw
           00-190
           Poland
           Telefon: +48 22 860 18 18
           E-Mail: <editors@lpmagazine.org>
           WWW: http://www.lpmagazine.org/
         

     *     Linux System Labs Australia
           21 Ray Drive
           Balwyn North
           VIC - 3104
           Australia
           Telefon: +61 3 9857 5918
           Fax: +61 3 9857 8974
           WWW: http://www.lsl.com.au/
                 

     *     LinuxCenter.Ru
           Galernaya Street, 55
           Saint-Petersburg
           190000
           Russia
           Telefon: +7-812-3125208
           E-Mail: <info@linuxcenter.ru>
           WWW: http://linuxcenter.ru/shop/freebsd
         

     --------------------------------------------------------------

  A.1.3. Lieferanten

   Wenn Sie FreeBSD-CD-ROM-Produkte weiterverkaufen mo:chten,
   kontaktieren Sie einen der folgenden Lieferanten:

     *     Cylogistics
           809B Cuesta Dr., #2149
           Mountain View, CA 94040
           USA
           Telefon: +1 650 694-4949
           Fax: +1 650 694-4953
           E-Mail: <sales@cylogistics.com>
           WWW: http://www.cylogistics.com/
         

     *     Ingram Micro
           1600 E. St. Andrew Place
           Santa Ana, CA 92705-4926
           USA
           Telefon: 1 (800) 456-8000
           WWW: http://www.ingrammicro.com/
         

     *     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>
         

     *     LinuxCenter.Kz
           Ust-Kamenogorsk
           Kazakhstan
           Telefon: +7-705-501-6001
           E-Mail: <info@linuxcenter.kz>
           WWW:  http://linuxcenter.kz/page.php?page=fr
         

     *     LinuxCenter.Ru
           Galernaya Street, 55
           Saint-Petersburg
           190000
           Russia
           Telefon: +7-812-3125208
           E-Mail: <info@linuxcenter.ru>
           WWW:  http://linuxcenter.ru/freebsd
         

     *     Navarre Corp
           7400 49th Ave South
           New Hope, MN 55428
           USA
           Telefon: +1 763 535-8333
           Fax: +1 763 535-0341
           WWW: http://www.navarre.com/
         

     --------------------------------------------------------------

A.2. FTP-Server

   Die offiziellen Quellen von FreeBSD sind mit anonymous FTP u:ber
   ein weltweites Netz von FTP-Spiegeln erha:ltlich. Obwohl
   ftp://ftp.FreeBSD.org/pub/FreeBSD/ u:ber eine gute Anbindung
   verfu:gt, sollten Sie einen Spiegel in Ihrer Na: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 erha:lt.

   Sie ko:nnen FreeBSD auch u:ber anonymous FTP von den folgenden
   Spiegeln beziehen. Wenn Sie FreeBSD u:ber anonymous FTP beziehen
   wollen, wa:hlen Sie bitte einen Spiegel in Ihrer Na:he. Die unter
   "Haupt-Spiegel" aufgefu:hrten Spiegel stellen normalerweise das
   komplette FreeBSD-Archiv (alle momentan erha:ltlichen Versionen
   fu:r jede unterstu:tzte Architektur) zur Verfu:gung.
   Wahrscheinlich geht es aber schneller, wenn Sie einen Spiegel in
   Ihrer Na:he benutzen. Die La:nder-Spiegel stellen die neusten
   Versionen fu:r die beliebtesten Architekturen bereit, sie stellen
   aber unter Umsta:nden nicht das komplette FreeBSD-Archiv bereit.
   Auf alle Server kann mit anonymous FTP zugegriffen werden, einige
   Server bieten auch andere Zugriffsmethoden an. Die zur Verfu:gung
   stehenden Zugriffsmethoden sind bei jedem Server in Klammern
   angegeben.

   Hauptserver, Hauptspiegel, Argentinien, Armenien, Australien,
   Brasilien, Bulgarien, China, Da:nemark, Deutschland, Estland,
   Finnland, Frankreich, Griechenland, Grossbritannien, Hong Kong,
   Indonesien, Irland, Island, Israel, Italien, Japan, Kanada, Korea,
   Kroatien, Lettland, Litauen, Neuseeland, Niederlande, Norwegen,
   O:sterreich, Polen, Portugal, Ruma:nien, Russland, Saudi Arabien,
   Schweden, Schweiz, Singapur, Slowakische Republik, Slowenien,
   Spanien, Su:dafrika, Taiwan, Tschechische Republik, Tu:rkei,
   Ukraine, Ungarn, USA.

   (aktualisiert am: 2009/05/21 21:02:58 UTC)

   Hauptserver

              * ftp://ftp.FreeBSD.org/pub/FreeBSD/ (ftp)

   Hauptspiegel

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <mirror-admin@FreeBSD.org> dieser Domain.

              * ftp://ftp1.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp2.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp3.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp4.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp5.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp6.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp7.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp8.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp9.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp10.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp11.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp12.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp13.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp14.FreeBSD.org/pub/FreeBSD/ (ftp)

   Argentinien

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@ar.FreeBSD.org> dieser Domain.

              * ftp://ftp.ar.FreeBSD.org/pub/FreeBSD/ (ftp)

   Armenien

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@am.FreeBSD.org> dieser Domain.

              * ftp://ftp1.am.FreeBSD.org/pub/FreeBSD/ (ftp)

   Australien

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@au.FreeBSD.org> dieser Domain.

              * ftp://ftp.au.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp2.au.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp3.au.FreeBSD.org/pub/FreeBSD/ (ftp)

   Brasilien

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@br.FreeBSD.org> dieser Domain.

              * ftp://ftp.br.FreeBSD.org/pub/FreeBSD/ (ftp / http)

              * ftp://ftp2.br.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp3.br.FreeBSD.org/pub/FreeBSD/ (ftp / rsync)

              * ftp://ftp4.br.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp5.br.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp6.br.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp7.br.FreeBSD.org/pub/FreeBSD/ (ftp)

   Bulgarien

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@bg.FreeBSD.org> dieser Domain.

              * ftp://ftp.bg.FreeBSD.org/pub/FreeBSD/ (ftp / rsync)

              * ftp://ftp2.bg.FreeBSD.org/pub/FreeBSD/ (ftp / rsync)

   China

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@cn.FreeBSD.org> dieser Domain.

              * ftp://ftp.cn.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp2.cn.FreeBSD.org/pub/FreeBSD/ (ftp)

   Da:nemark

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@dk.FreeBSD.org> dieser Domain.

              * ftp://ftp.dk.FreeBSD.org/pub/FreeBSD/ (ftp / ftpv6)

              * ftp://ftp2.dk.FreeBSD.org/pub/FreeBSD/ (ftp)

   Deutschland

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <de-bsd-hubs@de.FreeBSD.org > dieser Domain.

              * ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp2.de.FreeBSD.org/pub/FreeBSD/ (ftp / http /
                rsync)

              * ftp://ftp3.de.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp4.de.FreeBSD.org/pub/FreeBSD/ (ftp / http /
                rsync)

              * ftp://ftp5.de.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp6.de.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp7.de.FreeBSD.org/pub/FreeBSD/ (ftp / http)

              * ftp://ftp8.de.FreeBSD.org/pub/FreeBSD/ (ftp)

   Estland

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@ee.FreeBSD.org> dieser Domain.

              * ftp://ftp.ee.FreeBSD.org/pub/FreeBSD/ (ftp)

   Finnland

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@fi.FreeBSD.org> dieser Domain.

              * ftp://ftp.fi.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp3.fi.FreeBSD.org/pub/FreeBSD/ (ftp)

   Frankreich

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@fr.FreeBSD.org> dieser Domain.

              * ftp://ftp.fr.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp1.fr.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp2.fr.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp3.fr.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp5.fr.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp6.fr.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp7.fr.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp8.fr.FreeBSD.org/pub/FreeBSD/ (ftp)

   Griechenland

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@gr.FreeBSD.org> dieser Domain.

              * ftp://ftp.gr.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp2.gr.FreeBSD.org/pub/FreeBSD/ (ftp)

   Grossbritannien

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@uk.FreeBSD.org> dieser Domain.

              * ftp://ftp.uk.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp2.uk.FreeBSD.org/pub/FreeBSD/ (ftp / http /
                rsync)

              * ftp://ftp3.uk.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp4.uk.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp5.uk.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp6.uk.FreeBSD.org/pub/FreeBSD/ (ftp)

   Hong Kong

              * ftp://ftp.hk.FreeBSD.org/pub/FreeBSD/ (ftp)

   Indonesien

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@id.FreeBSD.org> dieser Domain.

              * ftp://ftp.id.FreeBSD.org/pub/FreeBSD/ (ftp / http /
                rsync)

   Irland

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@ie.FreeBSD.org> dieser Domain.

              * ftp://ftp.ie.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp2.ie.FreeBSD.org/pub/FreeBSD/ (ftp / http /
                rsync)

              * ftp://ftp3.ie.FreeBSD.org/pub/FreeBSD/ (ftp / http /
                rsync)

   Island

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@is.FreeBSD.org> dieser Domain.

              * ftp://ftp.is.FreeBSD.org/pub/FreeBSD/ (ftp / rsync)

   Israel

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@il.FreeBSD.org> dieser Domain.

              * ftp://ftp.il.FreeBSD.org/pub/FreeBSD/ (ftp / ftpv6)

   Italien

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@it.FreeBSD.org> dieser Domain.

              * ftp://ftp.it.FreeBSD.org/pub/FreeBSD/ (ftp)

   Japan

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@jp.FreeBSD.org> dieser Domain.

              * ftp://ftp.jp.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp2.jp.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp3.jp.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp4.jp.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp5.jp.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp6.jp.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp7.jp.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp8.jp.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp9.jp.FreeBSD.org/pub/FreeBSD/ (ftp)

   Kanada

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@ca.FreeBSD.org> dieser Domain.

              * ftp://ftp.ca.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp2.ca.FreeBSD.org/ (ftp)

              * ftp://ftp3.ca.FreeBSD.org/pub/FreeBSD/ (ftp)

   Korea

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@kr.FreeBSD.org> dieser Domain.

              * ftp://ftp.kr.FreeBSD.org/pub/FreeBSD/ (ftp / rsync)

              * ftp://ftp2.kr.FreeBSD.org/pub/FreeBSD/ (ftp)

   Kroatien

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@hr.FreeBSD.org> dieser Domain.

              * ftp://ftp.hr.FreeBSD.org/pub/FreeBSD/ (ftp)

   Lettland

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@lv.FreeBSD.org> dieser Domain.

              * ftp://ftp.lv.FreeBSD.org/pub/FreeBSD/ (ftp / http)

              * ftp://ftp2.lv.FreeBSD.org/pub/FreeBSD/ (ftp)

   Litauen

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@lt.FreeBSD.org> dieser Domain.

              * ftp://ftp.lt.FreeBSD.org/pub/FreeBSD/ (ftp)

   Neuseeland

              * ftp://ftp.nz.FreeBSD.org/pub/FreeBSD/ (ftp)

   Niederlande

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@nl.FreeBSD.org> dieser Domain.

              * ftp://ftp.nl.FreeBSD.org/pub/FreeBSD/ (ftp / http /
                rsync)

              * ftp://ftp2.nl.FreeBSD.org/pub/FreeBSD/ (ftp)

   Norwegen

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@no.FreeBSD.org> dieser Domain.

              * ftp://ftp.no.FreeBSD.org/pub/FreeBSD/ (ftp / rsync)

              * ftp://ftp3.no.FreeBSD.org/pub/FreeBSD/ (ftp)

   O:sterreich

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@at.FreeBSD.org> dieser Domain.

              * ftp://ftp.at.FreeBSD.org/pub/FreeBSD/ (ftp / http)

              * ftp://ftp2.at.FreeBSD.org/pub/FreeBSD/ (ftp / http /
                rsync)

   Polen

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@pl.FreeBSD.org> dieser Domain.

              * ftp://ftp.pl.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp2.pl.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp3.pl.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp5.pl.FreeBSD.org/pub/FreeBSD/ (ftp)

   Portugal

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@pt.FreeBSD.org> dieser Domain.

              * ftp://ftp.pt.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp2.pt.FreeBSD.org/pub/freebsd/ (ftp)

              * ftp://ftp4.pt.FreeBSD.org/pub/ISO/FreeBSD/ (ftp)

   Ruma:nien

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@ro.FreeBSD.org> dieser Domain.

              * ftp://ftp.ro.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp1.ro.FreeBSD.org/pub/FreeBSD/ (ftp / ftpv6)

   Russland

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@ru.FreeBSD.org> dieser Domain.

              * ftp://ftp.ru.FreeBSD.org/pub/FreeBSD/ (ftp / http /
                rsync)

              * ftp://ftp2.ru.FreeBSD.org/pub/FreeBSD/ (ftp / http /
                rsync)

              * ftp://ftp3.ru.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp4.ru.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp5.ru.FreeBSD.org/pub/FreeBSD/ (ftp / http /
                rsync)

              * ftp://ftp6.ru.FreeBSD.org/pub/FreeBSD/ (ftp)

   Saudi Arabien

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <ftpadmin@isu.net.sa> dieser Domain.

              * ftp://ftp.isu.net.sa/pub/mirrors/ftp.freebsd.org/
                (ftp)

   Schweden

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@se.FreeBSD.org> dieser Domain.

              * ftp://ftp.se.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp2.se.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp3.se.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp5.se.FreeBSD.org/pub/FreeBSD/ (ftp / http /
                rsync)

   Schweiz

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@ch.FreeBSD.org> dieser Domain.

              * ftp://ftp.ch.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp2.ch.FreeBSD.org/pub/FreeBSD/ (ftp)

   Singapur

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@sg.FreeBSD.org> dieser Domain.

              * ftp://ftp.sg.FreeBSD.org/pub/FreeBSD/ (ftp / http /
                rsync)

   Slowakische Republik

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@sk.FreeBSD.org> dieser Domain.

              * ftp://ftp.sk.FreeBSD.org/pub/FreeBSD/ (ftp / ftpv6 /
                http / httpv6 / rsync / rsyncv6)

   Slowenien

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@si.FreeBSD.org> dieser Domain.

              * ftp://ftp.si.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp2.si.FreeBSD.org/pub/FreeBSD/ (ftp)

   Spanien

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@es.FreeBSD.org> dieser Domain.

              * ftp://ftp.es.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp2.es.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp3.es.FreeBSD.org/pub/FreeBSD/ (ftp)

   Su:dafrika

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@za.FreeBSD.org> dieser Domain.

              * ftp://ftp.za.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp2.za.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp3.za.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp4.za.FreeBSD.org/pub/FreeBSD/ (ftp)

   Taiwan

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@tw.FreeBSD.org> dieser Domain.

              * ftp://ftp.tw.FreeBSD.org/pub/FreeBSD/ (ftp / ftpv6 /
                rsync / rsyncv6)

              * ftp://ftp2.tw.FreeBSD.org/pub/FreeBSD/ (ftp / ftpv6 /
                http / httpv6 / rsync / rsyncv6)

              * ftp://ftp3.tw.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp4.tw.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp5.tw.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp6.tw.FreeBSD.org/pub/FreeBSD/ (ftp / http /
                rsync)

              * ftp://ftp7.tw.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp8.tw.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp9.tw.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp10.tw.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp11.tw.FreeBSD.org/pub/FreeBSD/ (ftp / http)

              * ftp://ftp12.tw.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp13.tw.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp14.tw.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp15.tw.FreeBSD.org/pub/FreeBSD/ (ftp)

   Tschechische Republik

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@cz.FreeBSD.org> dieser Domain.

              * ftp://ftp.cz.FreeBSD.org/pub/FreeBSD/ (ftp / http /
                rsync)

              * ftp://ftp2.cz.FreeBSD.org/pub/FreeBSD/ (ftp / http)

   Tu:rkei

              * ftp://ftp.tr.FreeBSD.org/pub/FreeBSD/ (ftp / http /
                rsync)

              * ftp://ftp2.tr.FreeBSD.org/pub/FreeBSD/ (ftp / rsync)

   Ukraine

              * ftp://ftp.ua.FreeBSD.org/pub/FreeBSD/ (ftp / http)

              * ftp://ftp2.ua.FreeBSD.org/pub/FreeBSD/ (ftp / http)

              * ftp://ftp7.ua.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp8.ua.FreeBSD.org/pub/FreeBSD/ (ftp / http)

              * ftp://ftp11.ua.FreeBSD.org/pub/FreeBSD/ (ftp)

   Ungarn

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@hu.FreeBSD.org> dieser Domain.

              * ftp://ftp.hu.FreeBSD.org/pub/FreeBSD/ (ftp / http /
                rsync)

              * ftp://ftp2.hu.FreeBSD.org/pub/FreeBSD/ (ftp)

   USA

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@us.FreeBSD.org> dieser Domain.

              * ftp://ftp1.us.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp2.us.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp3.us.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp4.us.FreeBSD.org/pub/FreeBSD/ (ftp / ftpv6)

              * ftp://ftp5.us.FreeBSD.org/pub/FreeBSD/ (ftp / rsync)

              * ftp://ftp6.us.FreeBSD.org/pub/FreeBSD/ (ftp / http)

              * ftp://ftp7.us.FreeBSD.org/pub/FreeBSD/ (ftp / http /
                rsync)

              * ftp://ftp8.us.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp9.us.FreeBSD.org/pub/FreeBSD/ (ftp / http)

              * ftp://ftp10.us.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp11.us.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp12.us.FreeBSD.org/pub/FreeBSD/ (ftp / rsync)

              * ftp://ftp13.us.FreeBSD.org/pub/FreeBSD/ (ftp / http /
                rsync)

              * ftp://ftp14.us.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp15.us.FreeBSD.org/pub/FreeBSD/ (ftp)

     --------------------------------------------------------------

A.3. BitTorrent

   Die ISO-Images fu:r die Release-CDs sind via BitTorrent abrufbar.
   Eine Sammlung von Torrent-Dateien zum Herunterladen der Images ist
   unter http://torrents.freebsd.org:8080 verfu:gbar.

   Die BitTorrent Client-Software ist als Port net-p2p/py-bittorrent
   oder als vorkompiliertes Paket erha:ltlich.

   Nach dem Herunterladen der ISO-Images mit BitTorrent ko:nnen Sie
   diese auf CD oder DVD brennen, so wie im burncd-Abschnitt 18.6.3
   beschrieben.

     --------------------------------------------------------------

A.4. Anonymous CVS

  A.4.1. Einfu:hrung

   Anonymous CVS (oder anoncvs) dient zum Synchronisieren mit
   entfernten Repositories und steht mit den CVS Werkzeugen, die im
   FreeBSD Basissystem enthalten sind, zur Verfu:gung. Benutzer von
   FreeBSD ko:nnen damit unter anderem lesende Operationen auf den
   Anoncvs Servern des FreeBSD Projects durchfu:hren, ohne u:ber
   besondere Berechtigungen zu verfu: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
   ko:nnen Sie mit cvs(1) wie auf jedes lokale Repository (allerdings
   nur lesend) zugreifen.

     Anmerkung: cvs login speichert Passwo: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 Funktionalita: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 mu:ssen Sie
   zuerst einen speziellen Client installieren und konfigurieren,
   bevor Sie CVSup benutzen ko:nnen. Weiterhin ko:nnen Sie mit CVSup
   nur relativ grosse Teile der Quellen, die Sammlungen genannt
   werden, synchronisieren.

   Im Gegensatz dazu ko: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. Natu:rlich
   ko: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.

     --------------------------------------------------------------

  A.4.2. Benutzen von Anonymous CVS

   Setzen Sie einfach die CVSROOT Umgebungsvariable, um cvs(1) das
   CVS Repository eines FreeBSD Anoncvs-Servers bekannt zu geben.
   Zurzeit stehen folgende Server zur Verfu:gung:

     * Frankreich: :pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs
       (Das Passwort fu:r pserver ist anoncvs, ssh-Zugriffe verwenden
       kein Passwort.)

     * Japan: :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs
       (Benutzen Sie cvs login und das Passwort anoncvs.)

     * Taiwan: :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
       (pserver: Benutzen Sie cvs login und ein beliebiges Passwort.
       ssh: kein Passwort.)

 SSH2 HostKey: 1024 e8:3b:29:7b:ca:9f:ac:e9:45:cb:c8:17:ae:9b:eb:55 /etc/ssh/ssh_host_dsa_key.pub

     * USA: freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs (nur ssh
       ohne Passwort).

 SSH HostKey: 1024 a1:e7:46:de:fb:56:ef:05:bc:73:aa:91:09:da:f7:f4 root@sanmateo.ecn.purdue.edu
 SSH2 HostKey: 1024 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65 ssh_host_dsa_key.pub

     * USA: anoncvs@anoncvs1.FreeBSD.org:/home/ncvs (nur ssh ohne
       Passwort).

 SSH2 HostKey: 2048 53:1f:15:a3:72:5c:43:f6:44:0e:6a:e9:bb:f8:01:62 /etc/ssh/ssh_host_dsa_key.pub

   Mit CVS ko:nnen Sie praktisch jede Version von FreeBSD, die schon
   einmal existiert hat (oder in manchen Fa:llen existieren wird)
   auschecken. Sie sollten daher damit vertraut sein, wie Sie mit
   Tags unter cvs(1) arbeiten (die -r Option). Zudem mu:ssen Sie die
   Namen der Tags im FreeBSD-Repository kennen.

   Es gibt zwei verschiedene Tags[19]: 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 a:ndern.

   In Abschnitt A.7 finden Sie eine Liste der gu:ltigen Tags.
   Beachten Sie bitte, dass keines der Tags auf die Ports-Sammlung
   anwendbar ist, da diese nicht u:ber Zweige verfu:gt.

   Wenn Sie ein Tag eines Zweiges verwenden, erhalten Sie die
   aktuellsten Dateien dieses Entwicklungszweiges. Wenn Sie eine
   fru:here Revision erhalten mo:chten, ko:nnen Sie zum Beispiel
   einen Zeitpunkt mit der -D Option angeben. Weitere Informationen
   dazu entnehmen Sie bitte cvs(1).

     --------------------------------------------------------------

  A.4.3. Beispiele

   Im Folgenden finden Sie einige Beispiele fu:r den Umgang mit
   Anonymous CVS. Sie sollten sich aber die Manualpage von cvs(1)
   sorgfa:ltig durchlesen, bevor Sie anfangen.

   Beispiel A-1. ls(1) von -CURRENT auschecken

 % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
 % cvs login
 Wenn Sie dazu aufgefordert werden, benutzen Sie ein beliebiges "Passwort".
 % cvs co ls
          

   Beispiel A-2. Den src/-Baum u:ber SSH auschecken

 % cvs -d freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs co src
 The authenticity of host 'anoncvs.freebsd.org (128.46.156.46)' can't be establiestablished.
 DSA key fingerprint is 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65.
 Are you sure you want to continue connecting (yes/no)? yes
 Warning: Permanently added 'anoncvs.freebsd.org' (DSA) to the list of known hosts.

   Beispiel A-3. ls(1) aus dem 6-STABLE-Zweig auschecken

 % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
 % cvs login
 Wenn Sie dazu aufgefordert werden, benutzen Sie ein beliebiges "Passwort".
 % cvs co -rRELENG_6 ls
          

   Beispiel A-4. A:nderungen in ls(1) zwischen 5.3 RELEASE und
   5.4 RELEASE (als unified diff)

 % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
 % cvs login
 Wenn Sie dazu aufgefordert werden, benutzen Sie ein beliebiges "Passwort".
 % cvs rdiff -u -rRELENG_5_3_0_RELEASE -rRELENG_5_4_0_RELEASE ls
          

   Beispiel A-5. Gu:ltige Modulnamen herausfinden

 % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
 % cvs login
 Wenn Sie dazu aufgefordert werden, benutzen Sie ein beliebiges "Passwort".
 % cvs co modules
 % more modules/modules
          

     --------------------------------------------------------------

  A.4.4. Weitere Ressourcen

   Die folgenden Ressourcen sind nu: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.

     --------------------------------------------------------------

A.5. CTM

   Mit CTM[20] ko: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
   Hilfe beno:tigen oder CTM fu:r andere Zwecke einsetzen wollen,
   wenden Sie sich bitte an die Mailingliste ctm-users.

     --------------------------------------------------------------

  A.5.1. Warum soll ich CTM benutzen?

   Mit CTM erhalten Sie eine lokale Kopie des FreeBSD-Quellbaums, den
   es in mehreren "Varianten" gibt. Sie ko: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 A:nderungen einfach automatisch
   zugesandt bekommen wollen, dann ist CTM das Richtige fu:r Sie.
   Fu:r die Zweige mit der meisten Aktivita:t mu:ssen Sie sich
   ta:glich bis zu drei Deltas beschaffen, Sie sollten allerdings
   erwa:gen, die Deltas automatisch u:ber E-Mail zu beziehen. Die
   Gro:sse der Updates wird so klein wie mo:glich gehalten.
   Normalerweise sind sie kleiner als 5 kB, manchmal sind sie
   10-50 kB gross (etwa jedes 10. Update) und ab und an werden Sie
   auch einmal ein Update mit 100 kB oder mehr erhalten.

   Sie sollten sich u:ber die Vorbehalte gegen die Verwendung der
   Quellen anstelle eines offiziellen Releases bewusst sein. Das
   trifft besonders auf FreeBSD-CURRENT zu, lesen Sie dazu bitte den
   Abschnitt FreeBSD-CURRENT.

     --------------------------------------------------------------

  A.5.2. Was brauche ich, um CTM zu benutzen?

   Zwei Sachen: Das CTM Programm und die initialen Deltas, von denen
   aus Sie auf die "aktuellen" Sta: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.

   Die Deltas, die CTM verarbeitet, ko:nnen Sie u:ber FTP oder E-Mail
   beziehen. Wenn Sie u:ber einen FTP Zugang zum Internet verfu:gen,
   erhalten Sie die Deltas unter der folgenden URL:

   ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/

   Die Deltas werden auch von CTM Spiegeln bereitgehalten.

   Wechseln Sie in das passende Verzeichnisse zum Beispiel src-cur
   fu:r FreeBSD-CURRENT und laden Sie sich von dort die Deltas
   herunter.

   Sie ko:nnen die Deltas auch u:ber E-Mail beziehen.

   Abonnieren Sie dazu eine der CTM-Verteilerlisten. U:ber
   ctm-cvs-cur erhalten Sie den kompletten CVS-Baum, u:ber
   ctm-src-cur erhalten Sie FreeBSD-CURRENT und u:ber ctm-src-4
   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
   http://lists.FreeBSD.org/mailman/listinfo. Weitere Informationen
   erhalten Sie, wenn Sie dort auf die gewu: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 mo:chten, ko:nnen Sie dazu einen
   Eintrag in /etc/aliases verwenden. Genauere Informationen finden
   Sie in der Manualpage von ctm_rmail.

     Anmerkung: Sie sollten die Mailingliste ctm-announce abonnieren,
     egal wie Sie die CTM-Deltas erhalten. Anku: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
     http://lists.FreeBSD.org/mailman/listinfo, um diese Liste zu
     abonnieren.

     --------------------------------------------------------------

  A.5.3. Initialisieren von CTM

   Bevor Sie die CTM Deltas benutzen ko:nnen, brauchen Sie einen
   Startpunkt, auf den die nachfolgenden Deltas angewendet werden.

   Sie ko:nnen natu:rlich mit einem leeren Verzeichnis beginnen. In
   diesem Fall beno:tigen Sie ein XEmpty-Delta, mit dem Sie den
   CTM-Verzeichnisbaum initialisieren. Wenn Sie Glu:ck haben, finden
   Sie ein XEmpty-Delta, mit dem sie beginnen ko:nnen, auf einer der
   CDs Ihrer Distribution.

   Da die Verzeichnisba:ume mehrere Megabyte gross sind, sollten Sie
   nach Mo:glichkeit etwas schon vorhandenes benutzen. Wenn Sie eine
   -RELEASE CD besitzen, ko:nnen Sie die Quellen von dieser CD
   benutzen. Sie ersparen sich damit das U:bertragen grosser
   Datenmengen.

   Die Deltas, mit denen Sie beginnen ko: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 fu:r
   ein leeres Verzeichnis. Nach etwa 100 Deltas wird ein neues
   XEmpty-Delta erstellt. Mit ungefa:hr 75 Megabyte komprimierter
   Daten sind diese XEmpty-Deltas u:brigens sehr gross.

   Nachdem Sie Ihren Startpunkt festgelegt haben, beno:tigen Sie alle
   Deltas mit einer ho:heren Nummer.

     --------------------------------------------------------------

  A.5.4. Benutzen von CTM

   Um ein Delta einzuspielen, benutzen Sie das folgende Kommando:

 # cd /Pfad/zu/den/Quellen
 # 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 vera:ndert, wenn CTM die Deltas
   sauber verarbeiten kann. Die Integrita:t der Deltas und ihre
   Anwendbarkeit auf den Quellbaum lassen sich durch die Angabe des
   Schalters -c u:berpru:fen, CTM a:ndert in diesem Fall Ihren
   Quellbaum nicht.

   CTM verfu:gt u: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.

   Lo:schen Sie die Deltas nicht, wenn Sie diese nur schwer wieder
   beschaffen ko:nnen. Behalten Sie sie fu:r den Fall, das etwas
   passiert. Auch wenn Sie nur Disketten besitzen, sollten Sie
   erwa:gen, die Deltas mit fdwrite zu sichern.

     --------------------------------------------------------------

  A.5.5. Umgang mit lokalen A:nderungen

   Entwickler wollen mit den Dateien im Quellbaum experimentieren und
   diese vera:ndern. In beschra:nkter Weise werden lokale A:nderungen
   von CTM unterstu:tzt. Wenn CTM die Datei foo bearbeiten will,
   u:berpru:ft es zuerst ob die Datei foo.ctm existiert. Wenn diese
   Datei existiert, werden A:nderungen in ihr anstatt in foo
   vorgenommen.

   Mit diesem Verfahren ist eine leichte Handhabung lokaler
   A:nderungen mo:glich. Kopieren Sie die Dateien, die Sie a:ndern
   mo:chten, in Dateien, die das Suffix .ctm tragen. Sie ko:nnen dann
   ungesto:rt mit dem Quellcode arbeiten, wa:hrend CTM die .ctm
   Dateien aktualisiert.

     --------------------------------------------------------------

  A.5.6. Weitere CTM-Optionen

    A.5.6.1. Was wird aktualisiert?

   Eine Liste der A:nderungen, die CTM an Ihrem Quellbaum vornehmen
   wird, erhalten Sie, wenn Sie die Option -l angeben.

   Das ist nu:tzlich, wenn Sie Logs u:ber die A:nderungen fu:hren
   wollen, gea:nderte Dateien vor- oder nachbearbeiten wollen, oder
   einfach ein bisschen paranoid sind.

     --------------------------------------------------------------

    A.5.6.2. Sicherungen vor einer Aktualisierung erstellen

   Sie wollen vielleicht die Dateien, die durch eine CTM
   Aktualisierung vera:ndert werden, sichern.

   Mit -B backup-file weisen Sie CTM an, alle Dateien, die durch ein
   CTM Delta vera:ndert wu:rden, nach backup-file zu sichern.

     --------------------------------------------------------------

    A.5.6.3. Dateien ausschliessen

   Manchmal wollen Sie nur bestimmte Teile aktualisieren oder nur
   bestimmte Dateien aus einer Folge von Deltas extrahieren.

   Sie ko:nnen die Liste der Dateien, mit denen CTM arbeitet,
   einschra:nken, indem Sie regula:re Ausdru:cke mit den Optionen -e
   und -x angeben.

   Wenn Sie eine aktuelle Kopie von lib/libc/Makefile aus den
   gesicherten CTM Deltas erhalten wollen, setzen Sie das folgende
   Kommando ab:

 # cd /wo/Sie/es/auspacken/wollen/
 # ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.*

   Die Optionen -e und -x 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 -e und -x noch erlaubt ist.

     --------------------------------------------------------------

  A.5.7. Pla:ne fu:r CTM

   Mehrere:

     * Hinzufu:gen eines Authentifizierungsmechanismus, damit
       gefa:lschte CTM-Deltas erkannt werden ko:nnen.

     * Aufra:umen der CTM-Optionen, die mit der Zeit unu:bersichtlich
       und irrefu:hrend wurden.

     --------------------------------------------------------------

  A.5.8. Verschiedenes

   Es gibt Deltas fu:r die Ports-Sammlung, die aber nicht intensiv
   genutzt werden.

     --------------------------------------------------------------

  A.5.9. CTM-Spiegel

   Die CTM-Deltas ko:nnen Sie mit anonymous FTP von den folgenden
   Spiegeln beziehen. Versuchen Sie bitte einen Spiegel in Ihrer
   Na:he zu benutzen.

   Bei Problemen wenden Sie sich bitte an die Mailingliste ctm-users.

   Kalifornien, Bay Area, Offizieller Server

              * ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/

   Su:dafrika, Backup-Server fu:r alte Deltas

              * ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/

   Taiwan/R.O.C.

              * ftp://ctm.tw.FreeBSD.org/pub/FreeBSD/development/CTM/

              * ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/development/CTM/

              * ftp://ctm3.tw.FreeBSD.org/pub/FreeBSD/development/CTM/

   Wenn die Liste keinen Spiegel in Ihrer Na:he entha:lt oder Sie
   Probleme mit dem ausgewa:hlten Spiegel haben, versuchen Sie einen
   Spiegel mit einer Suchmaschine, wie alltheweb, zu finden.

     --------------------------------------------------------------

A.6. Benutzen von CVSup

  A.6.1. Einfu:hrung

   CVSup ist eine Anwendung, die Verzeichnisba: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 ko: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 heisst er verschickt
   nicht unaufgefordert Aktualisierungen. Somit gehen alle Anfragen
   vom Client aus und die Benutzer mu:ssen CVSup entweder manuell
   starten oder einen cron Job einrichten, um regelma:ssig
   Aktualisierungen zu erhalten.

   CVSup in genau dieser Schreibweise bezeichnet die Anwendung, die
   aus dem Client cvsup und dem Server cvsupd besteht. cvsup la:uft
   auf den Maschinen der Benutzer, cvsupd la:uft auf jedem der
   FreeBSD-Spiegel.

   Wenn Sie die FreeBSD-Dokumentation und die Mailinglisten lesen,
   werden Sie oft auf Sup, dem Vorga:nger von CVSup stossen. CVSup
   wird in gleicher Weise wie Sup benutzt und verfu:gt sogar u:ber
   Konfigurationsdateien, die kompatibel zu denen von Sup sind. Da
   CVSup schneller und flexibler als Sup ist, wird Sup vom FreeBSD
   Project nicht mehr benutzt.

     Anmerkung: Mit csup gibt es in inzwischen auch eine in C
     geschriebene Neuimplementierung von CVSup. Der gro:sste Vorteil
     dieser neuen Version ist neben einer ho:heren Geschwindigkeit
     der, dass dieses Programm nicht von der Sprache Modula-3
     abha:ngig ist und Sie daher dieses Paket nicht mitinstallieren
     mu:ssen. Ab FreeBSD 6.2 ist csup bereits im Basissystem
     enthalten und kann sofort verwendet werden. Verwenden Sie
     hingegen eine a:ltere FreeBSD-Version, ko:nnen Sie csup(1) u:ber
     den Port net/csup installieren. Alternativ ko:nnen Sie zur
     Installation auch ein vorkompiliertes Paket (Package) verwenden.
     csup unterstu:tzt allerdings keinen CVS-Modus. Wollen Sie
     komplette Repositories spiegeln, mu:ssen Sie also weiterhin
     CVSup einsetzen. Wollen Sie ku:nftig csup einsetzen,
     u:berspringen Sie in den folgenden Ausfu:hrungen einfach den
     Abschnitt zur Installation von CVSup und ersetzen alle Vorkommen
     von CVSup durch csup.

     --------------------------------------------------------------

  A.6.2. Installation von CVSup

   CVSup ko:nnen Sie leicht installieren, wenn Sie das vorkompilierte
   Paket net/cvsup aus der Ports-Sammlung benutzen. Alternativ
   ko:nnen Sie net/cvsup auch ausgehend von den Quellen bauen, doch
   seien Sie gewarnt: net/cvsup ha:ngt vom Modula-3 System ab, das
   viel Zeit und Platz zum Herunterladen und Bauen braucht.

     Anmerkung: Wenn Sie CVSup auf einer Maschine ohne XFree86 oder
     Xorg, beispielsweise einem Server, benutzen, stellen Sie sicher,
     dass Sie den Port ohne das CVSup-GUI, net/cvsup-without-gui
     verwenden.

   Wollen Sie csup unter FreeBSD 6.1 oder a:lter installieren,
   ko:nnen Sie dazu das vorkompilierte Paket net/csup oder den Port
   net/csup (zur Installation aus den Quellen) verwenden.

     --------------------------------------------------------------

  A.6.3. Konfiguration von CVSup

   Das Verhalten von CVSup wird mit einer Konfigurationsdatei
   gesteuert, die supfile genannt wird. Beispiele fu:r
   Konfigurationsdateien finden Sie in dem Verzeichnis
   file://localhost/usr/share/examples/cvsup/.

   Ein supfile entha:lt die folgenden Informationen:

     * Welche Dateien Sie erhalten wollen.

     * Welche Versionen der Dateien Sie beno: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 kla: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 ko: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
   Schlu:sselwort, wie delete oder compress und stehen alleine. Ein
   Parameterfeld beginnt mit einem Schlu:sselwort, dem = und ein
   Parameter, wie in release=cvs, folgt. Dieses Feld darf keine
   Leerzeichen enthalten.

   In einem supfile werden normalerweise mehrere Sammlungen
   angefordert. Die erforderlichen Felder ko:nnen explizit fu:r jede
   Sammlung angegeben werden, dann werden jedoch die Zeilen ziemlich
   lang. Ausserdem ist dieses Vorgehen sehr unhandlich, da die
   meisten Felder fu:r alle Sammlungen gleich sind. CVSup bietet die
   Mo:glichkeit, Vorgaben fu:r die Felder der Sammlungen festzulegen.
   Zeilen, die mit der Pseudo-Sammlung *default beginnen, legen
   Optionen und Parameter fu:r nachfolgende Sammlungen im supfile
   fest. Der Vorgabewert kann in der Zeile einer bestimmten Sammlung
   u:berschrieben werden. Durch Hinzufu:gen weiterer *default Zeilen
   ko:nnen die Vorgaben auch mitten im supfile u:berschrieben oder
   erweitert werden.

   Mit diesem Wissen ko: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
       erha:ltlichen Sammlungen werden spa:ter beschrieben. Wir
       wollen den Quellbaum von FreeBSD empfangen, der in der
       Sammlung src-all enthalten ist. Das supfile entha:lt pro Zeile
       eine Sammlung, in diesem Fall also nur eine einzige Zeile:

 src-all

     * Welche Versionen der Dateien werden beno:tigt?

       Mit CVSup ko:nnen Sie jede Version der Quellen bekommen, da
       der cvsupd-Server seine Daten direkt aus dem CVS-Repository
       bezieht. Sie ko:nnen die beno:tigten Versionen in den
       Parameterfeldern tag= und date= angeben.

         Warnung: Achten Sie darauf, dass Sie das richtige tag=-Feld
         angeben. Einige Tags sind nur fu:r spezielle Sammlungen
         gu:ltig. Wenn Sie ein falsches Tag angeben oder sich
         verschreiben, wird CVSup Dateien lo:schen, die Sie
         wahrscheinlich gar nicht lo:schen wollten. Achten Sie
         insbesondere bei den ports-*-Sammlungen darauf,
         ausschliesslich 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 a:ndern.

       Abschnitt A.7 za:hlt fu:r Benutzer relevante Tags auf. Wenn
       Sie in der Konfigurationsdatei ein Tag, wie RELENG_4, angeben,
       mu:ssen Sie diesem tag= vorstellen: tag=RELENG_4. Denken Sie
       daran, dass es fu:r die Ports-Sammlung nur tag=. gibt.

         Warnung: 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 ha:tten ein
         gu:ltiges Tag angegeben, dem nur keine Dateien zugeordnet
         sind. Die Folge davon ist, dass Ihre vorhandenen Quellen
         gelo: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 fru:here Revision erhalten mo:chten,
       ko:nnen Sie diese im date= Feld angeben. Einzelheiten dazu
       finden Sie in der Manualpage von cvsup.

       Wir mo:chten gerne FreeBSD-CURRENT beziehen und fu: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 Vera:nderungen von
       Dateien verfolgen ko: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 ko:nnen hier jeden der CVSup-Spiegel angeben, doch
       sollten Sie einen Server in Ihrer Na:he auswa:hlen. Fu:r
       dieses Beispiel wollen wir den erfundenen Server
       cvsup99.FreeBSD.org verwenden:

 *default host=cvsup99.FreeBSD.org

       Bevor Sie CVSup laufen lassen, sollten Sie hier einen
       existierenden Server einsetzen. Den zu verwendenden Server
       ko:nnen Sie auf der Kommandozeile mit -h hostname
       u: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 fu: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 Verzeichnis /var/db:

 *default base=/var/db

       Wenn das Verzeichnis fu: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 lo:schen. Diese Option
       sollten Sie immer angeben, damit CVSup Ihren Quellbaum auch
       wirklich aktuell halten kann. CVSup lo:scht nur Dateien fu:r
       die es auch verantwortlich ist. Andere Dateien, die sich in
       einem Baum unter Kontrolle von CVSup befinden, werden nicht
       vera:ndert.

       Wenn Sie wirklich etwas u: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 u:ber eine
       T1-Leitung oder eine schnellere Netzanbindung verfu:gen,
       brauchen Sie diese Option vielleicht nicht. In allen anderen
       Fa:llen beschleunigt sie aber den Ablauf.

     * Zusammenfassung:

       Das vollsta:ndige supfile unseres Beispiels sieht nun so aus:

 *default tag=.
 *default host=cvsup99.FreeBSD.org
 *default prefix=/usr
 *default base=/var/db
 *default release=cvs delete use-rel-suffix compress

 src-all

     --------------------------------------------------------------

    A.6.3.1. Die refuse Datei

   CVSup benutzt die Pull-Methode, das heisst wenn sich ein Client
   mit einem Server verbindet, erha:lt er eine Liste der verfu:gbaren
   Sammlungen und wa:hlt aus diesen die herunterzuladenden Dateien
   aus. In der Voreinstellung wa:hlt der Client alle Dateien aus, die
   zu einer gegebenen Sammlung und zu einem gegebenen Tag passen.
   Dieses Verhalten ist aber nicht immer erwu:nscht, besonders wenn
   Sie die doc, ports oder www Verzeichnisba:ume synchronisieren. Die
   wenigsten Leute beherrschen vier oder fu:nf Sprachen und
   beno:tigen Dateien mit speziellen Anpassungen fu:r eine Sprache.
   Wenn Sie die Ports-Sammlung synchronisieren, ko:nnen Sie anstelle
   von ports-all einzelne Ports, wie ports-astrology oder
   ports-biology angeben. Die doc und www Verzeichnisba:ume verfu:gen
   aber nicht u:ber Sammlungen fu:r spezielle Sprachen. In diesem
   Fall mu:ssen Sie eines der vielen eleganten Merkmale von CVSup
   benutzen: Die refuse Datei.

   Mit einer refuse Datei ko:nnen Sie bestimmte Dateien einer
   Sammlung von der U:bertragung ausschliessen. Der Ort der refuse
   ist base/sup/refuse, wobei base in Ihrem supfile festgelegt wurde.
   Wir verwenden das Verzeichnis /var/db, der Ort der refuse Datei
   ist daher /var/db/sup/refuse.

   Das Format der refuse Datei ist einfach: Sie entha:lt eine Liste
   der Dateien und Verzeichnisse, die Sie nicht herunterladen wollen.
   Wenn Sie zum Beispiel die Dokumentation nicht in anderen Sprachen
   als Englisch lesen wollen, ko:nnte Ihre refuse-Datei wie folgt
   aussehen:

 doc/bn_*
 doc/da_*
 doc/de_*
 doc/el_*
 doc/es_*
 doc/fr_*
 doc/hu_*
 doc/it_*
 doc/ja_*
 doc_mn_*
 doc/nl_*
 doc/no_*
 doc/pl_*
 doc/pt_*
 doc/ru_*
 doc/sr_*
 doc/tr_*
 doc/zh_*

   Die Aufza:hlung setzt sich fu:r andere Sprachen fort. Eine
   vollsta:ndige Liste finden Sie im FreeBSD CVS Repository.

   Die refuse Datei spart Anwendern von CVSup, die u:ber eine
   langsame Internetanbindung verfu:gen oder deren Internetverbindung
   zeitlich abgerechnet wird, wertvolle Zeit, da sie Dateien, die sie
   nicht beno:tigen, nicht mehr herunterladen mu:ssen. Weitere
   Informationen zu refuse Dateien und anderen Eigenschaften von
   CVSup entnehmen Sie bitte der Manualpage.

     --------------------------------------------------------------

  A.6.4. Ausfu:hren von CVSup

   Wir ko:nnen nun eine Aktualisierung mit der folgenden
   Kommandozeile starten:

 # cvsup supfile

   supfile gibt dabei das eben erstelle supfile an. Wenn Sie X11
   benutzen, wird cvsup ein GUI starten. Dru:cken Sie go und schauen
   Sie zu.

   Das Beispiel aktualisiert die Dateien im Verzeichnisbaum /usr/src.
   Sie mu:ssen cvsup als root starten, damit Sie die no:tigen Rechte
   haben, die Dateien zu aktualisieren. Sie sind vielleicht ein
   bisschen nervo:s weil Sie das Programm zum ersten Mal anwenden und
   mo:chten zuerst einmal einen Testlauf durchfu:hren. Legen Sie dazu
   ein tempora:res Verzeichnis an und u:bergeben es auf der
   Kommandozeile von cvsup:

 # mkdir /var/tmp/dest
 # 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 vera:ndern. Die vera:nderten Dateien finden
   Sie stattdessen in /var/tmp/dest/usr/src. Die Statusdateien von
   CVSup werden ebenfalls nicht gea: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 mo:gen, sollten
   Sie cvsup wie folgt aufrufen:

 # cvsup -g -L 2 supfile

   -g verhindert den Start des GUIs. Wenn Sie kein X11 laufen haben,
   passiert das automatisch, ansonsten mu:ssen Sie diesen Schalter
   angeben.

   Mit -L 2 gibt CVSup Einzelheiten zu jeder Aktualisierung aus. Die
   Wortfu:lle der Meldungen ko:nnen Sie von -L 0 bis -L 2 einstellen.
   In der Voreinstellung -L 0 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, ko:nnen
   Sie CVSup regelma:ssig aus cron(8) ausfu:hren. In diesem Fall
   sollten Sie natu:rlich nicht das GUI benutzen.

     --------------------------------------------------------------

  A.6.5. CVSup Sammlungen

   Die CVSup Sammlungen sind hierarchisch organisiert. Es gibt wenige
   grosse Sammlungen, die in kleinere Teilsammlungen unterteilt sind.
   Wenn Sie eine grosse Sammlung beziehen, entspricht das dem
   Beziehen aller Teilsammlungen. Der Hierarchie der Sammlung wird in
   der folgenden Aufza:hlung durch Einru:ckungen dargestellt.

   Die am ha: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 Verfu:gung stehen.

   cvs-all release=cvs

           Das FreeBSD-Haupt-Repository einschliesslich der
           Kryptographie-Module.

                distrib release=cvs

                        Dateien, die zum Verteilen und Spiegeln von
                        FreeBSD beno:tigt werden.

                doc-all release=cvs

                        Quellen des FreeBSD-Handbuchs und weiterer
                        Dokumentation. Diese Sammlung entha:lt nicht
                        die FreeBSD-Webseite.

                ports-all release=cvs

                        Die FreeBSD-Ports-Sammlung.

                          Wichtig: Wenn Sie nicht die gesamte
                          Ports-Sammlung (ports-all) aktualisieren
                          wollen, sondern nur eine der nachstehend
                          aufgefu:hrten Teilsammlungen, aktualisieren
                          Sie immer die Teilsammlung ports-base.
                          Diese Teilsammlung entha:lt das Bausystem
                          der Ports. Immer wenn ports-base gea:ndert
                          wird, ist es so gut wie sicher, dass diese
                          A:nderung auch tatsa:chlich von einem Port
                          benutzt wird. Der Bau eines Ports, der auf
                          A: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 merkwu:rdige Fehlermeldungen
                          erhalten und kein aktuelles Bausystem
                          benutzen.

                          Wichtig: Wenn Sie die Datei ports/INDEX
                          selbst erzeugen, brauchen Sie unbedingt die
                          Sammlung ports-all (den ganzen Ports-Baum).
                          Es ist nicht mo:glich, ports/INDEX nur mit
                          einem Teilbaum zu erstellen. Lesen Sie dazu
                          bitte die FAQ.

                             ports-accessibility release=cvs

                                    Werkzeuge fu:r behinderte
                                    Benutzer.

                             ports-arabic release=cvs

                                    Arabische Sprachunterstu:tzung.

                             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 geho:ren verschiedene
                                    Dateien in den
                                    Unterverzeichnissen Mk/ und
                                    Tools/ von /usr/ports.

                                      Anmerkung: 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 Sprachunterstu: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 fu:r Entwickler.

                             ports-dns release=cvs

                                    Software fu:r DNS.

                             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 fu:r FTP Clients und
                                    Server.

                             ports-games release=cvs

                                    Spiele.

                             ports-german release=cvs

                                    Deutsche Sprachunterstu:tzung.

                             ports-graphics release=cvs

                                    Graphik-Programme.

                             ports-hebrew release=cvs

                                    Hebra:ische Sprachunterstu:tzung.

                             ports-hungarian release=cvs

                                    Ungarische Sprachunterstu:tzung.

                             ports-irc release=cvs

                                    Internet Relay Chat Werkzeuge.

                             ports-japanese release=cvs

                                    Japanische Sprachunterstu:tzung.

                             ports-java release=cvs

                                    Java Werkzeuge.

                             ports-korean release=cvs

                                    Koreanische Sprachunterstu: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-net-im release=cvs

                                    Diverse Instant-Messenger.

                             ports-net-mgmt release=cvs

                                    Software zum Verwalten von
                                    Netzwerken.

                             ports-net-p2p release=cvs

                                    Software fu:r die Nutzung von
                                    Peer-to-Peer-Netzwerken.

                             ports-news release=cvs

                                    USENET News Werkzeuge.

                             ports-palm release=cvs

                                    Programme fu:r den Palm(TM).

                             ports-polish release=cvs

                                    Polnische Sprachunterstu:tzung.

                             ports-ports-mgmt release=cvs

                                    Werkzeuge zum Management von
                                    Ports und Paketen.

                             ports-portuguese release=cvs

                                    Portugiesische
                                    Sprachunterstu:tzung.

                             ports-print release=cvs

                                    Druckprogramme.

                             ports-russian release=cvs

                                    Russische Sprachunterstu:tzung.

                             ports-science release=cvs

                                    Wissenschaft.

                             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-ukrainian release=cvs

                                    Ukrainische Sprachunterstu:tzung.

                             ports-vietnamese release=cvs

                                    Vietnamesische
                                    Sprachunterstu: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-drivers release=cvs

                                    X11-Treiber.

                             ports-x11-fm release=cvs

                                    X11-Dateiverwalter.

                             ports-x11-fonts release=cvs

                                    X11-Zeichensa:tze und Werkzeuge
                                    dazu.

                             ports-x11-toolkits release=cvs

                                    X11-Werkzeuge.

                             ports-x11-servers release=cvs

                                    X11-Server.

                             ports-x11-themes release=cvs

                                    X11-Themes.

                             ports-x11-wm release=cvs

                                    X11-Fensterverwalter.

                projects-all release=cvs

                        Quelltexte der verschiedenen
                        FreeBSD-Projekte.

                src-all release=cvs

                        Die FreeBSD-Quellen einschliesslich 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-cddl release=cvs

                                    Werkzeuge und Bibliotheken, die
                                    der CDDL-Lizenz unterliegen
                                    (/usr/src/cddl).

                             src-contrib release=cvs

                                    Werkzeuge und Bibliotheken, die
                                    nicht aus dem FreeBSD Project
                                    stammen und wenig vera:ndert
                                    u:bernommen werden.
                                    (/usr/src/contrib).

                             src-crypto release=cvs

                                    Kryptographische Werkzeuge und
                                    Bibliotheken, die nicht aus dem
                                    FreeBSD Project stammen und wenig
                                    vera:ndert u: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 ausgefu:hrt werden
                                    (/usr/src/libexec).

                             src-release release=cvs

                                    Dateien, die zum Erstellen eines
                                    FreeBSD Releases notwendig sind
                                    (/usr/src/release).

                             src-rescue release=cvs

                                    Statisch gelinkte Programme zur
                                    Wiederherstellung eines defekten
                                    Systems. Lesen Sie dazu auch die
                                    Manualpage rescue(8)
                                    (/usr/src/rescue).

                             src-sbin release=cvs

                                    Werkzeuge fu: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
                                    ko: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.

     --------------------------------------------------------------

  A.6.6. Weiterfu:hrende Informationen

   Die CVSup FAQ und weitere Informationen u:ber CVSup finden Sie auf
   The CVSup Home Page.

   FreeBSD spezifische Diskussionen u:ber CVSup finden auf der
   Mailingliste FreeBSD technical discussions statt. Dort und auf der
   Liste FreeBSD announcements werden neue Versionen von CVSup
   angeku:ndigt.

   Bei Fragen und Problemberichten zu CVSup lesen Sie bitte die CVSup
   FAQ.

     --------------------------------------------------------------

  A.6.7. CVSup-Server

   Die folgende Aufza:hlung entha:lt CVSup Server fu:r FreeBSD:

   Hauptserver, Hauptspiegel, Argentinien, Armenien, Australien,
   Brasilien, Bulgarien, China, Costa Rica, Da:nemark, Deutschland,
   Estland, Finnland, Frankreich, Griechenland, Grossbritannien,
   Indonesien, Irland, Island, Israel, Italien, Japan, Kanada,
   Kirgisistan, Korea, Kuwait, Lettland, Litauen, Neuseeland,
   Niederlande, Norwegen, O:sterreich, Philippinen, Polen, Portugal,
   Ruma:nien, Russland, San Marino, Schweden, Schweiz, Singapur,
   Slowakische Republik, Slowenien, Spanien, Su:dafrika, Taiwan,
   Thailand, Tschechische Republik, Tu:rkei, Ukraine, Ungarn, USA.

   (aktualisiert am: 2009/05/21 21:02:58 UTC)

   Hauptserver

              * cvsup.FreeBSD.org

   Hauptspiegel

              * cvsup1.FreeBSD.org

              * cvsup2.FreeBSD.org

              * cvsup3.FreeBSD.org

              * cvsup4.FreeBSD.org

              * cvsup5.FreeBSD.org

              * cvsup6.FreeBSD.org

              * cvsup7.FreeBSD.org

              * cvsup8.FreeBSD.org

              * cvsup9.FreeBSD.org

              * cvsup10.FreeBSD.org

              * cvsup11.FreeBSD.org

              * cvsup12.FreeBSD.org

              * cvsup13.FreeBSD.org

              * cvsup14.FreeBSD.org

              * cvsup15.FreeBSD.org

              * cvsup16.FreeBSD.org

              * cvsup18.FreeBSD.org

   Argentinien

              * cvsup.ar.FreeBSD.org

   Armenien

              * cvsup1.am.FreeBSD.org

   Australien

              * cvsup.au.FreeBSD.org

   Brasilien

              * cvsup.br.FreeBSD.org

              * cvsup2.br.FreeBSD.org

              * cvsup3.br.FreeBSD.org

              * cvsup4.br.FreeBSD.org

              * cvsup5.br.FreeBSD.org

   Bulgarien

              * cvsup.bg.FreeBSD.org

   China

              * cvsup.cn.FreeBSD.org

              * cvsup2.cn.FreeBSD.org

              * cvsup3.cn.FreeBSD.org

              * cvsup4.cn.FreeBSD.org

              * cvsup5.cn.FreeBSD.org

   Costa Rica

              * cvsup1.cr.FreeBSD.org

   Da:nemark

              * cvsup.dk.FreeBSD.org

              * cvsup2.dk.FreeBSD.org

   Deutschland

              * cvsup.de.FreeBSD.org

              * cvsup2.de.FreeBSD.org

              * cvsup3.de.FreeBSD.org

              * cvsup4.de.FreeBSD.org

              * cvsup5.de.FreeBSD.org

              * cvsup6.de.FreeBSD.org

              * cvsup7.de.FreeBSD.org

              * cvsup8.de.FreeBSD.org

   Estland

              * cvsup.ee.FreeBSD.org

   Finnland

              * cvsup.fi.FreeBSD.org

              * cvsup2.fi.FreeBSD.org

   Frankreich

              * cvsup.fr.FreeBSD.org

              * cvsup1.fr.FreeBSD.org

              * cvsup2.fr.FreeBSD.org

              * cvsup3.fr.FreeBSD.org

              * cvsup4.fr.FreeBSD.org

              * cvsup5.fr.FreeBSD.org

              * cvsup8.fr.FreeBSD.org

   Griechenland

              * cvsup.gr.FreeBSD.org

              * cvsup2.gr.FreeBSD.org

   Grossbritannien

              * cvsup.uk.FreeBSD.org

              * cvsup2.uk.FreeBSD.org

              * cvsup3.uk.FreeBSD.org

              * cvsup4.uk.FreeBSD.org

   Indonesien

              * cvsup.id.FreeBSD.org

   Irland

              * cvsup.ie.FreeBSD.org

              * cvsup2.ie.FreeBSD.org

   Island

              * cvsup.is.FreeBSD.org

   Israel

              * cvsup.il.FreeBSD.org

   Italien

              * cvsup.it.FreeBSD.org

   Japan

              * cvsup.jp.FreeBSD.org

              * cvsup2.jp.FreeBSD.org

              * cvsup3.jp.FreeBSD.org

              * cvsup4.jp.FreeBSD.org

              * cvsup5.jp.FreeBSD.org

              * cvsup6.jp.FreeBSD.org

   Kanada

              * cvsup1.ca.FreeBSD.org

   Kirgisistan

              * cvsup.kg.FreeBSD.org

   Korea

              * cvsup.kr.FreeBSD.org

              * cvsup2.kr.FreeBSD.org

              * cvsup3.kr.FreeBSD.org

   Kuwait

              * cvsup1.kw.FreeBSD.org

   Lettland

              * cvsup.lv.FreeBSD.org

              * cvsup2.lv.FreeBSD.org

   Litauen

              * cvsup.lt.FreeBSD.org

              * cvsup2.lt.FreeBSD.org

              * cvsup3.lt.FreeBSD.org

   Neuseeland

              * cvsup.nz.FreeBSD.org

              * cvsup2.nz.FreeBSD.org

   Niederlande

              * cvsup.nl.FreeBSD.org

              * cvsup2.nl.FreeBSD.org

              * cvsup3.nl.FreeBSD.org

   Norwegen

              * cvsup.no.FreeBSD.org

   O:sterreich

              * cvsup.at.FreeBSD.org

              * cvsup2.at.FreeBSD.org

   Philippinen

              * cvsup1.ph.FreeBSD.org

   Polen

              * cvsup.pl.FreeBSD.org

              * cvsup2.pl.FreeBSD.org

              * cvsup3.pl.FreeBSD.org

   Portugal

              * cvsup.pt.FreeBSD.org

              * cvsup2.pt.FreeBSD.org

              * cvsup3.pt.FreeBSD.org

   Ruma:nien

              * cvsup.ro.FreeBSD.org

              * cvsup1.ro.FreeBSD.org

              * cvsup2.ro.FreeBSD.org

              * cvsup3.ro.FreeBSD.org

   Russland

              * cvsup.ru.FreeBSD.org

              * cvsup2.ru.FreeBSD.org

              * cvsup3.ru.FreeBSD.org

              * cvsup4.ru.FreeBSD.org

              * cvsup5.ru.FreeBSD.org

              * cvsup6.ru.FreeBSD.org

              * cvsup7.ru.FreeBSD.org

   San Marino

              * cvsup.sm.FreeBSD.org

   Schweden

              * cvsup.se.FreeBSD.org

              * cvsup3.se.FreeBSD.org

   Schweiz

              * cvsup.ch.FreeBSD.org

   Singapur

              * cvsup.sg.FreeBSD.org

   Slowakische Republik

              * cvsup.sk.FreeBSD.org

   Slowenien

              * cvsup.si.FreeBSD.org

              * cvsup2.si.FreeBSD.org

   Spanien

              * cvsup.es.FreeBSD.org

              * cvsup2.es.FreeBSD.org

              * cvsup3.es.FreeBSD.org

   Su:dafrika

              * cvsup.za.FreeBSD.org

              * cvsup2.za.FreeBSD.org

   Taiwan

              * cvsup.tw.FreeBSD.org

              * cvsup3.tw.FreeBSD.org

              * cvsup4.tw.FreeBSD.org

              * cvsup5.tw.FreeBSD.org

              * cvsup6.tw.FreeBSD.org

              * cvsup7.tw.FreeBSD.org

              * cvsup8.tw.FreeBSD.org

              * cvsup9.tw.FreeBSD.org

              * cvsup10.tw.FreeBSD.org

              * cvsup11.tw.FreeBSD.org

              * cvsup12.tw.FreeBSD.org

              * cvsup13.tw.FreeBSD.org

              * cvsup14.tw.FreeBSD.org

   Thailand

              * cvsup.th.FreeBSD.org

   Tschechische Republik

              * cvsup.cz.FreeBSD.org

   Tu:rkei

              * cvsup.tr.FreeBSD.org

              * cvsup2.tr.FreeBSD.org

   Ukraine

              * cvsup2.ua.FreeBSD.org

              * cvsup3.ua.FreeBSD.org

              * cvsup4.ua.FreeBSD.org

              * cvsup5.ua.FreeBSD.org

              * cvsup6.ua.FreeBSD.org

              * cvsup7.ua.FreeBSD.org

   Ungarn

              * cvsup.hu.FreeBSD.org

   USA

              * cvsup1.us.FreeBSD.org

              * cvsup2.us.FreeBSD.org

              * cvsup3.us.FreeBSD.org

              * cvsup4.us.FreeBSD.org

              * cvsup5.us.FreeBSD.org

              * cvsup6.us.FreeBSD.org

              * cvsup7.us.FreeBSD.org

              * cvsup8.us.FreeBSD.org

              * cvsup9.us.FreeBSD.org

              * cvsup10.us.FreeBSD.org

              * cvsup11.us.FreeBSD.org

              * cvsup12.us.FreeBSD.org

              * cvsup13.us.FreeBSD.org

              * cvsup14.us.FreeBSD.org

              * cvsup15.us.FreeBSD.org

              * cvsup16.us.FreeBSD.org

              * cvsup18.us.FreeBSD.org

     --------------------------------------------------------------

A.7. CVS-Tags

   Wenn Sie Quellen mit CVS oder CVSup erhalten oder aktualisieren
   wollen, mu:ssen Sie ein Tag angeben. Ein Tag kann einen bestimmten
   FreeBSD-Zweig oder einen bestimmten Zeitpunkt (Release-Tag)
   bestimmen.

     --------------------------------------------------------------

  A.7.1. Tags fu:r Zweige

   Mit Ausnahme von HEAD (das immer ein gu:ltiges Tag ist), ko:nnen
   die folgenden Tags nur im src/-Quellbaum verwendet werden. Die
   Quellba:ume ports/, doc/ und www/ sind nicht verzweigt.

   HEAD

           Symbolischer Name fu:r den Hauptzweig, auch
           FreeBSD-CURRENT genannt. Dies ist die Vorgabe, wenn keine
           Revision angegeben wird.

           In CVSup wird dieses Tag mit einem . (Punkt) bezeichnet.

             Anmerkung: In CVS ist das die Vorgabe, wenn Sie kein Tag
             oder eine Revision angeben. Ausser Sie wollen einen
             -STABLE Rechner auf -CURRENT aktualisieren, ist es nicht
             ratsam, die -CURRENT Quellen auf einem -STABLE Rechner
             einzuspielen.

   RELENG_7

           Der Entwicklungszweig fu:r FreeBSD-7.X, auch als FreeBSD
           7-STABLE bekannt.

   RELENG_7_2

           Der Zweig, auf dem sicherheitsrelevante oder kritische
           Fehlerbehebungen fu:r FreeBSD 7.2 durchgefu:hrt werden.

   RELENG_7_1

           Der Zweig, auf dem sicherheitsrelevante oder kritische
           Fehlerbehebungen fu:r FreeBSD 7.1 durchgefu:hrt werden.

   RELENG_7_0

           Der Zweig, auf dem sicherheitsrelevante oder kritische
           Fehlerbehebungen fu:r FreeBSD 7.0 durchgefu:hrt werden.

   RELENG_6

           Der Entwicklungszweig fu:r FreeBSD-6.X, auch als FreeBSD
           6-STABLE bekannt.

   RELENG_6_4

           Der Zweig, auf dem sicherheitsrelevante oder kritische
           Fehlerbehebungen fu:r FreeBSD 6.4 durchgefu:hrt werden.

   RELENG_6_3

           Der Zweig, auf dem sicherheitsrelevante oder kritische
           Fehlerbehebungen fu:r FreeBSD 6.3 durchgefu:hrt werden.

   RELENG_6_2

           Der Zweig, auf dem sicherheitsrelevante oder kritische
           Fehlerbehebungen fu:r FreeBSD 6.2 durchgefu:hrt werden.

   RELENG_6_1

           Der Zweig, auf dem sicherheitsrelevante oder kritische
           Fehlerbehebungen fu:r FreeBSD 6.1 durchgefu:hrt werden.

   RELENG_6_0

           Der Zweig, auf dem sicherheitsrelevante oder kritische
           Fehlerbehebungen fu:r FreeBSD 6.0 durchgefu:hrt werden.

   RELENG_5

           Der FreeBSD 5.X Entwicklungszweig, der auch FreeBSD
           5-STABLE genannt wird.

   RELENG_5_5

           Der Zweig, auf dem sicherheitsrelevante oder kritische
           Fehlerbehebungen fu:r FreeBSD 5.5 durchgefu:hrt werden.

   RELENG_5_4

           Der Zweig, auf dem sicherheitsrelevante oder kritische
           Fehlerbehebungen fu:r FreeBSD 5.4 durchgefu:hrt werden.

   RELENG_5_3

           Der Zweig, auf dem sicherheitsrelevante oder kritische
           Fehlerbehebungen fu:r FreeBSD 5.3 durchgefu:hrt werden.

   RELENG_5_2

           Der Zweig, auf dem sicherheitsrelevante oder kritische
           Fehlerbehebungen fu:r FreeBSD 5.2 und FreeBSD 5.2.1
           durchgefu:hrt werden.

   RELENG_5_1

           Der Zweig, auf dem sicherheitsrelevante oder kritische
           Fehlerbehebungen fu:r FreeBSD 5.1 durchgefu:hrt werden.

   RELENG_5_0

           Der Zweig, auf dem sicherheitsrelevante oder kritische
           Fehlerbehebungen fu:r FreeBSD 5.0 durchgefu:hrt werden.

   RELENG_4

           Der FreeBSD 4.X Entwicklungszweig, der auch FreeBSD
           4-STABLE genannt wird.

   RELENG_4_11

           Der Zweig, auf dem sicherheitsrelevante oder kritische
           Fehlerbehebungen fu:r FreeBSD 4.11 durchgefu:hrt werden.

   RELENG_4_10

           Der Zweig, auf dem sicherheitsrelevante oder kritische
           Fehlerbehebungen fu:r FreeBSD 4.10 durchgefu:hrt werden.

   RELENG_4_9

           Der Zweig, auf dem sicherheitsrelevante oder kritische
           Fehlerbehebungen fu:r FreeBSD 4.9 durchgefu:hrt werden.

   RELENG_4_8

           Der Zweig, auf dem sicherheitsrelevante oder kritische
           Fehlerbehebungen fu:r FreeBSD 4.8 durchgefu:hrt werden.

   RELENG_4_7

           Der Zweig, auf dem sicherheitsrelevante oder kritische
           Fehlerbehebungen fu:r FreeBSD 4.7 durchgefu:hrt werden.

   RELENG_4_6

           Der Zweig, auf dem sicherheitsrelevante oder kritische
           Fehlerbehebungen fu:r FreeBSD 4.6 und FreeBSD 4.6.2
           durchgefu:hrt werden.

   RELENG_4_5

           Der Zweig, auf dem sicherheitsrelevante oder kritische
           Fehlerbehebungen fu:r FreeBSD 4.5 durchgefu:hrt werden.

   RELENG_4_4

           Der Zweig, auf dem sicherheitsrelevante oder kritische
           Fehlerbehebungen fu:r FreeBSD 4.4 durchgefu:hrt werden.

   RELENG_4_3

           Der Zweig, auf dem sicherheitsrelevante oder kritische
           Fehlerbehebungen fu:r FreeBSD 4.3 durchgefu:hrt werden.

   RELENG_3

           Der FreeBSD-3.X Entwicklungszweig, der auch 3.X-STABLE
           genannt wird.

   RELENG_2_2

           Der FreeBSD-2.2.X Entwicklungszweig, der auch 2.2-STABLE
           genannt wird.

     --------------------------------------------------------------

  A.7.2. Release-Tags

   Diese Tags geben den Zeitpunkt an, an dem eine bestimme
   FreeBSD-Version vero:ffentlicht wurde. Das Erstellen einer Release
   ist in den Dokumenten Release Engineering Information und Release
   Process beschrieben. Der src-Baum benutzt Tags, deren Namen mit
   RELENG_ anfangen. Die Ba:ume ports und doc benutzen Tags, deren
   Namen mit RELEASE anfangen. Im Baum www werden keine Release-Tags
   verwendet.

   RELENG_7_2_0_RELEASE

           FreeBSD 7.2

   RELENG_7_1_0_RELEASE

           FreeBSD 7.1

   RELENG_7_0_0_RELEASE

           FreeBSD 7.0

   RELENG_6_4_0_RELEASE

           FreeBSD 6.4

   RELENG_6_3_0_RELEASE

           FreeBSD 6.3

   RELENG_6_2_0_RELEASE

           FreeBSD 6.2

   RELENG_6_1_0_RELEASE

           FreeBSD 6.1

   RELENG_6_0_0_RELEASE

           FreeBSD 6.0

   RELENG_5_5_0_RELEASE

           FreeBSD 5.5

   RELENG_5_4_0_RELEASE

           FreeBSD 5.4

   RELENG_4_11_0_RELEASE

           FreeBSD 4.11

   RELENG_5_3_0_RELEASE

           FreeBSD 5.3

   RELENG_4_10_0_RELEASE

           FreeBSD 4.10

   RELENG_5_2_1_RELEASE

           FreeBSD 5.2.1

   RELENG_5_2_0_RELEASE

           FreeBSD 5.2

   RELENG_4_9_0_RELEASE

           FreeBSD 4.9

   RELENG_5_1_0_RELEASE

           FreeBSD 5.1

   RELENG_4_8_0_RELEASE

           FreeBSD 4.8

   RELENG_5_0_0_RELEASE

           FreeBSD 5.0

   RELENG_4_7_0_RELEASE

           FreeBSD 4.7

   RELENG_4_6_2_RELEASE

           FreeBSD 4.6.2

   RELENG_4_6_1_RELEASE

           FreeBSD 4.6.1

   RELENG_4_6_0_RELEASE

           FreeBSD 4.6

   RELENG_4_5_0_RELEASE

           FreeBSD 4.5

   RELENG_4_4_0_RELEASE

           FreeBSD 4.4

   RELENG_4_3_0_RELEASE

           FreeBSD 4.3

   RELENG_4_2_0_RELEASE

           FreeBSD 4.2

   RELENG_4_1_1_RELEASE

           FreeBSD 4.1.1

   RELENG_4_1_0_RELEASE

           FreeBSD 4.1

   RELENG_4_0_0_RELEASE

           FreeBSD 4.0

   RELENG_3_5_0_RELEASE

           FreeBSD-3.5

   RELENG_3_4_0_RELEASE

           FreeBSD-3.4

   RELENG_3_3_0_RELEASE

           FreeBSD-3.3

   RELENG_3_2_0_RELEASE

           FreeBSD-3.2

   RELENG_3_1_0_RELEASE

           FreeBSD-3.1

   RELENG_3_0_0_RELEASE

           FreeBSD-3.0

   RELENG_2_2_8_RELEASE

           FreeBSD-2.2.8

   RELENG_2_2_7_RELEASE

           FreeBSD-2.2.7

   RELENG_2_2_6_RELEASE

           FreeBSD-2.2.6

   RELENG_2_2_5_RELEASE

           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

     --------------------------------------------------------------

A.8. AFS-Server

   Die folgende Aufza:hlung entha:lt AFS Server fu: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>

     --------------------------------------------------------------

A.9. rsync-Server

   rsync wird a:hnlich wie rcp(1) verwendet, besitzt aber mehr
   Optionen und verwendet das "rsync remote-update" Protokoll, das
   nur gea:nderte Dateien u:bertra:gt und damit viel schneller als
   ein normaler Kopiervorgang ist. rsync ist sehr nu:tzlich, wenn Sie
   einen FreeBSD-FTP-Spiegel oder einen CVS-Spiegel betreiben. Das
   Programm ist fu:r viele Betriebssysteme erha:ltlich, mit FreeBSD
   ko:nnen Sie den Port net/rsync oder das fertige Paket benutzen.
   Die folgenden Server stellen FreeBSD u:ber das rsync Protokoll zur
   Verfu:gung:

   Grossbritannien

           rsync://rsync.mirrorservice.org/

           Verfu:gbare Sammlungen:

              * sites/ftp.freebsd.org: Kompletter Spiegel des
                FreeBSD-FTP-Servers.

   Niederlande

           rsync://ftp.nl.FreeBSD.org/

           Verfu:gbare Sammlungen:

              * FreeBSD: Kompletter Spiegel des FreeBSD-FTP-Servers.

   Russia

           rsync://cvsup4.ru.FreeBSD.org/

           Verfu:gbare Sammlungen:

              * FreeBSD-gnats: Die GNATS-Datenbank zur Verwaltung von
                Problemberichten.

   Taiwan

           rsync://ftp.tw.FreeBSD.org/

           rsync://ftp2.tw.FreeBSD.org/

           rsync://ftp6.tw.FreeBSD.org/

           Verfu:gbare Sammlungen:

              * FreeBSD: Kompletter Spiegel des FreeBSD-FTP-Servers.

   Tschechische Republik

           rsync://ftp.cz.FreeBSD.org/

           Verfu:gbare Sammlungen:

              * ftp: Unvollsta:ndiger Spiegel des
                FreeBSD-FTP-Servers.

              * FreeBSD: Vollsta:ndiger Spiegel des
                FreeBSD-FTP-Servers.

   USA

           rsync://ftp-master.FreeBSD.org/

           Dieser Server darf nur von prima:ren Spiegeln benutzt
           werden.

           Verfu:gbare Sammlungen:

              * FreeBSD: Das Hauptarchiv des FreeBSD FTP Servers.

              * acl: Die prima:re ACL-Liste.

           rsync://ftp13.FreeBSD.org/

           Verfu:gbare Sammlungen:

              * FreeBSD: Kompletter Spiegel des FreeBSD-FTP-Servers.

     --------------------------------------------------------------

                         Anhang B. Bibliografie

   U:bersetzt von Frank Gru:nder <elwood@mc5sys.in-berlin.de>

   Wa:hrend die Manualpages die endgu:ltige Auskunft u:ber bestimmte
   Teile des FreeBSD-Betriebssystems geben, so ko:nnen sie jedoch
   nicht darstellen, wie man die einzelnen Teile zusammenfu:gt, um
   ein vollsta:ndig laufendes Betriebssystem herzustellen. Daher gibt
   es keinen Ersatz fu:r ein gutes Buch u:ber die Administration von
   UNIX Systemen und ein gutes Benutzerhandbuch.

   In der Regel handelt es sich im folgenden Kapitel um englische
   Ausgaben der genannten Werke. U:bersetzungen oder Ausgaben in
   anderen Sprachen sind mit entsprechenden Hinweisen versehen.

     --------------------------------------------------------------

B.1. Bu:cher und Magazine speziell fu:r FreeBSD

   Internationale Bu:cher und Magazine:

     * Using FreeBSD, herausgegeben von Drmaster, 1997 (in
       traditionellem Chinesisch). ISBN 9-578-39435-7.

     * FreeBSD Unleashed (in vereinfachtem Chinesisch), herausgegeben
       von China Press. ISBN 7-111-10201-0.

     * FreeBSD From Scratch First Edition (in vereinfachtem
       Chinesisch), herausgegeben von China Press. ISBN
       7-111-07482-3.

     * FreeBSD From Scratch Second Edition (in vereinfachtem
       Chinesisch), herausgegeben von China Press. ISBN
       7-111-10286-X.

     * FreeBSD Handbook Second Edition (in vereinfachtem Chinesisch),
       herausgegeben von Posts & Telecom Press. ISBN 7-115-10541-3.

     * FreeBSD 3.x Internet (in vereinfachtem Chinesisch),
       herausgegeben von Tsinghua University Press. ISBN
       7-900625-66-6.

     * FreeBSD & Windows (in vereinfachtem Chinesisch), herausgegeben
       von China Railway Publishing House. ISBN 7-113-03845-X.

     * FreeBSD Internet Services HOWTO (in vereinfachtem Chinesisch),
       herausgegeben von China Railway Publishing House. ISBN
       7-113-03423-3.

     * FreeBSD for PC 98'ers (in japanischer Sprache), herausgegeben
       von SHUWA System Co, LTD. ISBN 4-87966-468-5 C3055 P2900E.

     * FreeBSD (in japanischer Sprache), herausgegeben von CUTT. ISBN
       4-906391-22-2 C3055 P2400E.

     * Complete Introduction to FreeBSD (in Japanese), published by
       Shoeisha Co., Ltd. ISBN 4-88135-473-6 P3600E.

     * Personal UNIX Starter Kit FreeBSD (in japanischer Sprache),
       herausgegeben von ASCII. ISBN 4-7561-1733-3 P3000E.

     * FreeBSD Handbook (japanische U:bersetzung), herausgegeben von
       ASCII. ISBN 4-7561-1580-2 P3800E.

     * FreeBSD mit Methode (in deutscher Sprache), herausgegeben von
       Computer und Literatur Verlag /Vertrieb Hanser, 1998. ISBN
       3-932311-31-0.

     * FreeBSD 4 - Installieren, Konfigurieren, Administrieren (in
       deutscher Sprache), herausgegeben von Computer und Literatur
       Verlag, 2001. ISBN 3-932311-88-4.

     * FreeBSD 5 - Installieren, Konfigurieren, Administrieren (in
       deutscher Sprache), herausgegeben von Computer und Literatur
       Verlag, 2001. ISBN 3-936546-06-1.

     * FreeBSD de Luxe (in German), published by Verlag Modere
       Industrie, 2003. ISBN 3-8266-1343-0.

     * FreeBSD Install and Utilization Manual (in japanischer
       Sprache), herausgegeben von Mainichi Communications Inc.,
       1998. ISBN 4-8399-0112-0.

     * Onno W Purbo, Dodi Maryanto, Syahrial Hubbany, Widjil Widodo
       Building Internet Server with FreeBSD (in indonesischer
       Sprache), herausgegeben von Elex Media Komputindo.

     * Absolute BSD: The Ultimate Guide to FreeBSD (in traditionellem
       Chinesisch), herausgegeben von GrandTech Press, 2003. ISBN
       986-7944-92-5.

     * The FreeBSD 6.0 Book (in traditionellem Chinesisch,
       herausgegeben von Drmaster, 2006. ISBN 9-575-27878-X.

   Englischsprachige Bu:cher und Magazine:

     * Absolute BSD: The Ultimate Guide to FreeBSD, herausgegeben von
       No Starch Press, 2002. ISBN: 1886411743

     * The Complete FreeBSD, herausgegeben von O'Reilly, 2003. ISBN:
       0596005164

     * The FreeBSD Corporate Networker's Guide, herausgegeben von
       Addison-Wesley, 2002. ISBN: 0201704811

     * FreeBSD: An Open-Source Operating System for Your Personal
       Computer, herausgegeben von The Bit Tree Press, 2001. ISBN:
       0971204500

     * Teach Yourself FreeBSD in 24 Hours, herausgegeben von Sams,
       2002. ISBN: 0672324245

     * FreeBSD6 Unleashed, herausgegeben von Sams, 2006. ISBN:
       0672328755

     * FreeBSD: The Complete Reference, herausgegeben von McGrawHill,
       2003. ISBN: 0072224096

     --------------------------------------------------------------

B.2. Handbu:cher

     * Computer Systems Research Group, UC Berkeley. 4.4BSD User's
       Reference Manual. O'Reilly & Associates, Inc., 1994. ISBN
       1-56592-075-9

     * Computer Systems Research Group, UC Berkeley. 4.4BSD User's
       Supplementary Documents. O'Reilly & Associates, Inc., 1994.
       ISBN 1-56592-076-7

     * UNIX in a Nutshell. O'Reilly & Associates, Inc., 1990. ISBN
       093717520X

     * Mui, Linda. What You Need To Know When You Can't Find Your
       UNIX System Administrator. O'Reilly & Associates, Inc., 1995.
       ISBN 1-56592-104-6

     * Die Ohio State University hat ein UNIX Introductory Course
       vero:ffentlicht, welcher auch online im HTML- und
       PostScriptformat verfu:gbar ist.

       Eine italienische U:bersetzung ist Teil des FreeBSD Italian
       Documentation Projects.

     * Jpman Project, Japan FreeBSD Users Group. FreeBSD User's
       Reference Manual (japanische U:bersetzung). Mainichi
       Communications Inc., 1998. ISBN4-8399-0088-4 P3800E.

     * Edinburgh University hat einen Online Guide fu:r Anfa:nger in
       Sachen UNIX geschrieben.

     --------------------------------------------------------------

B.3. Administrations-Anleitungen

     * Albitz, Paul and Liu, Cricket. DNS and BIND, 4th Ed. O'Reilly
       & Associates, Inc., 2001. ISBN 1-59600-158-4

     * Computer Systems Research Group, UC Berkeley. 4.4BSD System
       Manager's Manual. O'Reilly & Associates, Inc., 1994. ISBN
       1-56592-080-5

     * Costales, Brian, et al. Sendmail, 2nd Ed. O'Reilly &
       Associates, Inc., 1997. ISBN 1-56592-222-0

     * Frisch, AEleen. Essential System Administration, 2nd Ed.
       O'Reilly & Associates, Inc., 1995. ISBN 1-56592-127-5

     * Hunt, Craig. TCP/IP Network Administration, 2nd Ed. O'Reilly &
       Associates, Inc., 1997. ISBN 1-56592-322-7

     * Nemeth, Evi. UNIX System Administration Handbook. 3rd Ed.
       Prentice Hall, 2000. ISBN 0-13-020601-6

     * Stern, Hal Managing NFS and NIS O'Reilly & Associates, Inc.,
       1991. ISBN 0-937175-75-7

     * Jpman Project, Japan FreeBSD Users Group. FreeBSD System
       Administrator's Manual (japanische U:bersetzung). Mainichi
       Communications Inc., 1998. ISBN4-8399-0109-0 P3300E.

     * Dreyfus, Emmanuel. Cahiers de l'Admin: BSD 2nd Ed. (in
       French), Eyrolles, 2004. ISBN 2-212-11463-X.

     --------------------------------------------------------------

B.4. Programmierhandbu:cher

     * Asente, Paul, Paul, Converse, Diana, and Swick, Ralph. X
       Window System Toolkit. Digital Press, 1998. ISBN 1-55558-178-1

     * Computer Systems Research Group, UC Berkeley. 4.4BSD
       Programmer's Reference Manual. O'Reilly & Associates, Inc.,
       1994. ISBN 1-56592-078-3

     * Computer Systems Research Group, UC Berkeley. 4.4BSD
       Programmer's Supplementary Documents. O'Reilly & Associates,
       Inc., 1994. ISBN 1-56592-079-1

     * Harbison, Samuel P. and Steele, Guy L. Jr. C: A Reference
       Manual. 4th ed. Prentice Hall, 1995. ISBN 0-13-326224-3

     * Kernighan, Brian and Dennis M. Ritchie. The C Programming
       Language. 2nd Ed., PTR Prentice Hall, 1988. ISBN 0-13-110362-9

     * Lehey, Greg. Porting UNIX Software. O'Reilly & Associates,
       Inc., 1995. ISBN 1-56592-126-7

     * Plauger, P. J. The Standard C Library. Prentice Hall, 1992.
       ISBN 0-13-131509-9

     * Spinellis, Diomidis. Code Reading: The Open Source
       Perspective. Addison-Wesley, 2003. ISBN 0-201-79940-5

     * Spinellis, Diomidis. Code Quality: The Open Source
       Perspective. Addison-Wesley, 2006. ISBN 0-321-16607-8

     * Stevens, W. Richard and Stephen A. Rago. Advanced Programming
       in the UNIX Environment. 2nd Ed. Reading, Mass. :
       Addison-Wesley, 2005. ISBN 0-201-43307-9

     * Stevens, W. Richard. UNIX Network Programming. 2nd Ed, PTR
       Prentice Hall, 1998. ISBN 0-13-490012-X

     * Wells, Bill. "Writing Serial Drivers for UNIX". Dr. Dobb's
       Journal. 19(15), December 1994. pp68-71, 97-99.

     --------------------------------------------------------------

B.5. Betriebssystem-Interna

     * Andleigh, Prabhat K. UNIX System Architecture. Prentice-Hall,
       Inc., 1990. ISBN 0-13-949843-5

     * Jolitz, William. "Porting UNIX to the 386". Dr. Dobb's
       Journal. January 1991-July 1992.

     * Leffler, Samuel J., Marshall Kirk McKusick, Michael J Karels
       and John Quarterman The Design and Implementation of the
       4.3BSD UNIX Operating System. Reading, Mass. : Addison-Wesley,
       1989. ISBN 0-201-06196-1

       Kapitel 2 dieses Buchs ist Teil des FreeBSD Documentation
       Projects und online erha:ltlich. Kapitel 9 findet sich hier.

     * Leffler, Samuel J., Marshall Kirk McKusick, The Design and
       Implementation of the 4.3BSD UNIX Operating System: Answer
       Book. Reading, Mass. : Addison-Wesley, 1991. ISBN
       0-201-54629-9

     * McKusick, Marshall Kirk, Keith Bostic, Michael J Karels, and
       John Quarterman. The Design and Implementation of the 4.4BSD
       Operating System. Reading, Mass. : Addison-Wesley, 1996. ISBN
       0-201-54979-4

     * Marshall Kirk McKusick, George V. Neville-Neil. The Design and
       Implementation of the FreeBSD Operating System. Boston, Mass.
       : Addison-Wesley, 2004. ISBN 0-201-70245-2

     * Stevens, W. Richard. TCP/IP Illustrated, Volume 1: The
       Protocols. Reading, Mass. : Addison-Wesley, 1996. ISBN
       0-201-63346-9

     * Schimmel, Curt. Unix Systems for Modern Architectures.
       Reading, Mass. : Addison-Wesley, 1994. ISBN 0-201-63338-8

     * Stevens, W. Richard. TCP/IP Illustrated, Volume 3: TCP for
       Transactions, HTTP, NNTP and the UNIX Domain Protocols.
       Reading, Mass. : Addison-Wesley, 1996. ISBN 0-201-63495-3

     * Vahalia, Uresh. UNIX Internals -- The New Frontiers. Prentice
       Hall, 1996. ISBN 0-13-101908-2

     * Wright, Gary R. and W. Richard Stevens. TCP/IP Illustrated,
       Volume 2: The Implementation. Reading, Mass. : Addison-Wesley,
       1995. ISBN 0-201-63354-X

     --------------------------------------------------------------

B.6. Sicherheits-Anleitung

     * Cheswick, William R. and Steven M. Bellovin. Firewalls and
       Internet Security: Repelling the Wily Hacker. Reading, Mass. :
       Addison-Wesley, 1995. ISBN 0-201-63357-4

     * Garfinkel, Simson and Gene Spafford. Practical UNIX & Internet
       Security. 2nd Ed. O'Reilly & Associates, Inc., 1996. ISBN
       1-56592-148-8

     * Garfinkel, Simson. PGP Pretty Good Privacy O'Reilly &
       Associates, Inc., 1995. ISBN 1-56592-098-8

     --------------------------------------------------------------

B.7. Hardware-Anleitung

     * Anderson, Don and Tom Shanley. Pentium Processor System
       Architecture. 2nd Ed. Reading, Mass. : Addison-Wesley, 1995.
       ISBN 0-201-40992-5

     * Ferraro, Richard F. Programmer's Guide to the EGA, VGA, and
       Super VGA Cards. 3rd ed. Reading, Mass. : Addison-Wesley,
       1995. ISBN 0-201-62490-7

     * Die Intel Corporation vero:ffentlicht Dokumentationen Ihrer
       CPUs, Chipsets und Standards auf ihrer developer web site,
       normalerweise als PDF-Dateien.

     * Shanley, Tom. 80486 System Architecture. 3rd ed. Reading,
       Mass. : Addison-Wesley, 1995. ISBN 0-201-40994-1

     * Shanley, Tom. ISA System Architecture. 3rd ed. Reading, Mass.
       : Addison-Wesley, 1995. ISBN 0-201-40996-8

     * Shanley, Tom. PCI System Architecture. 4th ed. Reading, Mass.
       : Addison-Wesley, 1999. ISBN 0-201-30974-2

     * Van Gilluwe, Frank. The Undocumented PC, 2nd Ed. Reading,
       Mass: Addison-Wesley Pub. Co., 1996. ISBN 0-201-47950-8

     * Messmer, Hans-Peter. The Indispensable PC Hardware Book, 4th
       Ed. Reading, Mass: Addison-Wesley Pub. Co., 2002. ISBN
       0-201-59616-4

     --------------------------------------------------------------

B.8. UNIX(R) Geschichte

     * Lion, John Lion's Commentary on UNIX, 6th Ed. With Source
       Code. ITP Media Group, 1996. ISBN 1573980137

     * Raymond, Eric S. The New Hacker's Dictionary, 3rd edition. MIT
       Press, 1996. ISBN 0-262-68092-0. Auch bekannt als das Jargon
       File

     * Salus, Peter H. A quarter century of UNIX. Addison-Wesley
       Publishing Company, Inc., 1994. ISBN 0-201-54777-5

     * Simon Garfinkel, Daniel Weise, Steven Strassmann. The
       UNIX-HATERS Handbook. IDG Books Worldwide, Inc., 1994. ISBN
       1-56884-203-1. Online verfu:gbar.

     * Don Libes, Sandy Ressler Life with UNIX -- special edition.
       Prentice-Hall, Inc., 1989. ISBN 0-13-536657-7

     * The BSD family tree.
       http://www.FreeBSD.org/cgi/cvsweb.cgi/src/share/misc/bsd-family-tree
       oder unter /usr/share/misc/bsd-family-tree auf einem
       FreeBSD-System.

     * Networked Computer Science Technical Reports Library.
       http://www.ncstrl.org/

     * Old BSD releases from the Computer Systems Research group
       (CSRG). http://www.mckusick.com/csrg/: Das Paket mit 4 CD-ROMs
       entha:lt alle BSD-Versionen von 1BSD bis 4.4BSD und
       4.4BSD-Lite2 (nicht aber 2.11BSD). Die letzte CD beinhaltet
       auch die finalen Sourcen inklusive den SCCS Dateien.

     --------------------------------------------------------------

B.9. Magazine und Journale

     * The C/C++ Users Journal. R&D Publications Inc. ISSN 1075-2838

     * Sys Admin -- The Journal for UNIX System Administrators Miller
       Freeman, Inc., ISSN 1061-2688

     * freeX - Das Magazin fu:r Linux - BSD - UNIX (in deutscher
       Sprache), Computer- und Literaturverlag GmbH, ISSN 1436-7033

     --------------------------------------------------------------

                    Anhang C. Ressourcen im Internet

   Gedruckte Medien ko:nnen mit der schnellen Entwicklung von FreeBSD
   nicht Schritt halten. Elektronische Medien sind ha:ufig die
   einzige Mo:glichkeit, u:ber aktuelle Entwicklungen informiert zu
   sein. Da FreeBSD ein Projekt von Freiwilligen ist, gibt die
   Benutzergemeinde selbst auch technische Unterstu:tzung. Die
   Benutzergemeinde erreichen Sie am besten u:ber E-Mail,
   Internetforen oder Usenet-News.

   Die wichtigsten Wege, auf denen Sie die FreeBSD-Benutzergemeinde
   erreichen ko:nnen, sind unten dargestellt. Wenn Sie weitere
   Ressourcen kennen, die hier fehlen, schicken Sie diese bitte an
   die Mailingliste des FreeBSD documentation project, damit sie hier
   aufgenommen werden ko:nnen.

     --------------------------------------------------------------

C.1. Mailinglisten

   Die Mailinglisten sind der direkteste Weg, um Fragen an das
   gesamte FreeBSD Publikum zu stellen oder eine technische
   Diskussion zu beginnen. Es existiert eine grosse Vielfalt von
   Listen mit einer Reihe von verschiedenen FreeBSD Themen. Wenn Sie
   ihre Fragen an die richtige Mailingliste richten ko:nnen Sie viel
   eher mit einer passenden Antwort darauf rechnen.

   Die Chartas der verschiedenen Listen sind unten wiedergegeben.
   Bevor Sie sich einer Mailingliste anschliessen 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 Qualita:t
   der Listen. Die Listen wu:rden ihren hohen Wert fu:r das Projekt
   verlieren, wenn wir weniger Regeln aufstellen wu:rden.

     Anmerkung: Um zu testen, ob Sie eine Nachricht an eine
     FreeBSD-Liste senden ko:nnen, verwenden Sie bitte Die Liste
     freebsd-test. Schicken Sie derartige Nachrichten bitte nicht an
     eine der anderen Listen.

   Wenn Sie Sich nicht sicher sind, auf welcher Liste Sie Ihre Frage
   stellen sollen, sollten Sie den Artikel How to get best results
   from the FreeBSD-questions mailing list lesen.

   Bevor Sie eine Nachricht an eine Mailingliste senden, sollten Sie
   die korrekte Nutzung der Mailinglisten erlernen. Dazu geho:rt auch
   das Vermeiden von sich ha:ufig wiederholenden Diskussionen (lesen
   Sie deshalb zuerst die Mailing List Frequently Asked Questions).

   Alle Mailinglisten werden archiviert und ko:nnen auf dem FreeBSD
   World Wide Web Server durchsucht werden. Das nach
   Schlu:sselwo:rtern durchsuchbare Archiv bietet die hervorragende
   Mo:glichkeit, Antworten auf ha:ufig gestellte Fragen zu finden.
   Nutzen Sie bitte diese Mo:glichkeit, bevor Sie Fragen auf einer
   Liste stellen. Beachten Sie auch, dass das zur Folge hat, dass die
   Nachrichten an die FreeBSD Mailinglisten fu:r die Ewigkeit
   erhalten bleiben. Wenn Sie am Schutz ihrer Privatspha:hre
   interessiert sind, ziehen Sie die Verwendung einer
   Wegwerf-E-Mail-Adresse in Betracht und schreiben Sie nur solche
   Nachrichten, die fu:r die O:ffentlichkeit bestimmt sind.

     --------------------------------------------------------------

  C.1.1. Beschreibung der Mailinglisten

   Allgemeine Listen: Jeder kann die folgenden allgemeinen Listen
   abonnieren (und ist dazu aufgefordert):

            Mailingliste                         Zweck                
   freebsd-advocacy               Verbreitung von FreeBSD             
   freebsd-announce               Wichtige Ereignisse und             
                                  Meilensteine des Projekts           
   freebsd-arch                   Architektur und Design von FreeBSD  
                                  Diskussionen u:ber die Pflege der   
   freebsd-bugbusters             FreeBSD Fehlerberichte-Datenbank    
                                  und die dazu benutzten Werkzeuge    
   freebsd-bugs                   Fehlerberichte                      
   freebsd-chat                   Nicht technische Themen, die die    
                                  FreeBSD-Gemeinschaft betreffen      
   freebsd-current                Gebrauch von FreeBSD-CURRENT        
   freebsd-isp                    Fu:r Internet-Service-Provider, die 
                                  FreeBSD benutzen                    
   freebsd-jobs                   Anstellung und Beratung im          
                                  FreeBSD-Umfeld                      
                                  Grundsatzentscheidungen des         
   freebsd-policy                 FreeBSD-Core-Teams. Wenig Verkehr   
                                  und nur zum Lesen                   
   freebsd-questions              Benutzerfragen und technische       
                                  Unterstu:tzung                      
   freebsd-security-notifications Anku:ndigungen zum Thema Sicherheit 
   freebsd-stable                 Gebrauch von FreeBSD-STABLE         
                                  Schicken Sie Testnachrichten an     
   freebsd-test                   diese Liste anstelle der wirklichen 
                                  Listen                              

   Technische Listen: Auf den folgenden Listen werden technische
   Diskussionen gefu: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                    
   freebsd-acpi           Entwicklung von ACPI                        
   freebsd-afs            Portierung von AFS nach FreeBSD             
   freebsd-aic7xxx        Entwicklung von Adaptec AIC 7xxx Treibern   
   freebsd-alpha          Portierung von FreeBSD auf Alpha-Maschinen  
   freebsd-amd64          Portierung von FreeBSD auf AMD64-Systeme    
   freebsd-apache         Diskussion u:ber Ports, die mit Apache      
                          zusammenha:ngen.                            
   freebsd-arm            Portierung von FreeBSD auf                  
                          ARM(R)-Prozessoren                          
   freebsd-atm            Benutzung von ATM-Netzen mit FreeBSD        
   freebsd-audit          Audit der FreeBSD-Quellen                   
                          Design und Entwicklung eines Systems, das   
   freebsd-binup          es erlaubt, ein FreeBSD-System mit bina:ren 
                          Paketen zu aktualisieren                    
   freebsd-bluetooth      Bluetooth unter FreeBSD verwenden           
   freebsd-cluster        Benutzung von FreeBSD in einem Cluster      
   freebsd-cvsweb         Pflege von CVSweb                           
   freebsd-database       Diskussion u:ber Datenbanken und            
                          Datenbankprogrammierung unter FreeBSD       
   freebsd-doc            Erstellen der FreeBSD-Dokumentation         
   freebsd-drivers        Gera:tetreiber fu:r FreeBSD schreiben       
                          Fu:r FreeBSD-Anwender, die die Eclipse IDE, 
   freebsd-eclipse        deren Werkzeuge, Anwendungen und Ports      
                          einsetzen                                   
   freebsd-embedded       FreeBSD in eingebetteten Anwendungen        
                          einsetzen                                   
   freebsd-emulation      Emulation anderer Systeme wie Linux, MS-DOS 
                          oder Windows                                
                          Support fu:r FreeBSD-bezogene Software, die 
   freebsd-eol            vom FreeBSD Project offiziell nicht mehr    
                          unterstu:tzt wird.                          
   freebsd-firewire       Technische Diskussion u:ber FireWire(R)     
                          (iLink, IEEE 1394)                          
   freebsd-fs             Dateisysteme                                
   freebsd-gecko          Angelegenheiten zur Gecko Rendering Engine  
   freebsd-geom           Diskussion u:ber GEOM                       
   freebsd-gnome          Portierung von GNOME und GNOME-Anwendungen  
   freebsd-hackers        Allgemeine technische Diskussionen          
   freebsd-hardware       Allgemeine Diskussion u:ber Hardware, auf   
                          der FreeBSD la:uft                          
   freebsd-i18n           Internationalisierung von FreeBSD           
   freebsd-ia32           FreeBSD fu:r die IA-32 (Intel x86)          
                          Plattform                                   
   freebsd-ia64           Portierung von FreeBSD auf Intels neue      
                          IA64-Systeme                                
   freebsd-ipfw           Technische Diskussion u:ber die             
                          Neubearbeitung der IP-Firewall Quellen      
   freebsd-isdn           Fu:r Entwickler des ISDN-Systems            
   freebsd-java           Fu:r Java Entwickler und Leute, die JDKs    
                          nach FreeBSD portieren                      
   freebsd-kde            Portierung von KDE und KDE-Anwendungen      
   freebsd-lfs            Portierung von LFS nach FreeBSD             
   freebsd-libh           Das na:chste Installations- und Paketsystem 
   freebsd-mips           Portierung von FreeBSD zu MIPS(R)           
   freebsd-mobile         Diskussionen u:ber mobiles Rechnen          
   freebsd-mono           Mono und C# Anwendungen auf FreeBSD         
   freebsd-mozilla        Portierung von Mozilla nach FreeBSD         
   freebsd-multimedia     Multimedia Anwendungen                      
   freebsd-new-bus        Technische Diskussionen u:ber die           
                          Architektur von Bussen                      
   freebsd-net            Diskussion u:ber Netzwerke und den TCP/IP   
                          Quellcode                                   
   freebsd-openoffice     Portierung von OpenOffice.org und           
                          StarOffice nach FreeBSD                     
   freebsd-performance    Fragen zur Optimierung der Leistung stark   
                          ausgelasteter Systeme                       
   freebsd-perl           Pflege der portierten Perl-Anwendungen.     
   freebsd-pf             Diskussionen und Fragen zu packet filter    
                          als Firewallsystem.                         
   freebsd-platforms      Portierungen von FreeBSD auf nicht-Intel    
                          Architekturen                               
   freebsd-ports          Diskussion u:ber die Ports-Sammlung         
   freebsd-ports-bugs     Diskussion u:ber Fehler und PRs der Ports   
   freebsd-ppc            Portierung von FreeBSD auf den PowerPC(R)   
                          Technische Diskussionen zum Einsatz von     
   freebsd-proliant       FreeBSD auf der ProLiant-Serverplattform    
                          von HP.                                     
   freebsd-python         FreeBSD-spezifische Diskussionen zu Python  
   freebsd-qa             Diskussion u:ber Qualita:tssicherung,       
                          normalerweise kurz vor einem Release        
   freebsd-rc             Diskussion u:ber das rc.d-System sowie      
                          dessen Weiterentwicklung                    
   freebsd-realtime       Entwicklung von Echtzeiterweiterungen fu:r  
                          FreeBSD                                     
   freebsd-ruby           FreeBSD-spezifische Diskussionen zu Ruby    
   freebsd-scsi           Diskussion u:ber das SCSI-Subsystem         
   freebsd-security       Sicherheitsthemen                           
                          Gebrauch von FreeBSD in eingebetteten       
   freebsd-small          Systemen (obsolet; verwenden Sie            
                          stattdessen freebsd-embedded)               
                          Diskussionen u:ber das Design von           
   freebsd-smp            asymmetrischen und symmetrischen            
                          Mehrprozessor-Programmen                    
   freebsd-sparc64        Portierung von FreeBSD auf Sparc Systeme    
   freebsd-standards      Konformita:t von FreeBSD mit den C99- und   
                          POSIX-Standards                             
   freebsd-sun4v          Portierung von FreeBSD auf                  
                          UltraSPARC-T1-basierte Systeme              
   freebsd-threads        Leichgewichtige Prozesse (Threads) in       
                          FreeBSD                                     
   freebsd-testing        Leistungs- und Stabilita:tstests von        
                          FreeBSD                                     
   freebsd-tokenring      Token-Ring Unterstu:tzung in FreeBSD        
   freebsd-usb            USB-Unterstu:tzung in FreeBSD               
                          Diskussion u:ber verschiedene               
   freebsd-virtualization Virtualisierungsverfahren, die von FreeBSD  
                          unterstu:tzt werden                         
   freebsd-vuxml          Diskussion u:ber die Infratruktur von VuXML 
   freebsd-x11            Wartung und Unterstu:tzung von X11 auf      
                          FreeBSD                                     
   freebsd-xen            Diskussionen u:ber die FreeBSD Portierung   
                          auf Xen - Implementierung und Verwendung    

   Eingeschra:nkte Listen: Die folgenden Listen wenden sich an
   Zielgruppen mit speziellen Anforderungen und sind nicht fu:r die
   O: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                      
   freebsd-hubs        Betrieb von FreeBSD-Spiegeln                   
   freebsd-user-groups Koordination von Benutzergruppen               
   freebsd-vendors     Koordination von Ha:ndlern vor einem Release   
   freebsd-wip-status  Status von in Arbeit befindlichen              
                       FreeBSD-Ta:tigkeiten                           
   freebsd-www         Betreuer von www.FreeBSD.org                   

   Zusammenfassungen: Alle eben aufgeza:hlten Listen sind auch in
   zusammengefasster Form (digest) erha:ltlich. In den Einstellungen
   Ihres Accounts legen Sie fest, in welcher Form Sie die Listen
   empfangen.

   CVS & SVN Listen: Die folgenden Listen versenden die Log-Eintra:ge
   zu A: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     
                                                 Alle A:nderungen im  
   cvs-all              /usr/(CVSROOT|doc|ports) Quellbaum (Obermenge 
                                                 der anderen          
                                                 Commit-Listen)       
   cvs-doc              /usr/(doc|www)           A:nderungen in den   
                                                 doc- und www Ba:umen 
   cvs-ports            /usr/ports               A:nderungen im       
                                                 ports-Baum           
   cvs-projects         /usr/projects            A:nderungen im       
                                                 projects-Baum        
                                                 A:nderungen im       
   cvs-src              /usr/src                 src-Baum (generiert  
                                                 aus den svn-zu-cvs   
                                                 Import-Commits       
                                                 A:nderungen im       
                                                 Subversion           
   svn-src-all          /usr/src                 Repository (ausser   
                                                 fu:r user und        
                                                 projects)            
                                                 A:nderungen im       
                                                 "head" Zweig des     
   svn-src-head         /usr/src                 Subversion           
                                                 Repository (der      
                                                 FreeBSD-CURRENT      
                                                 Zweig)               
                                                 A:nderungen im       
   svn-src-projects     /usr/projects            projects Bereich des 
                                                 src Subversion       
                                                 Repository           
                                                 A:nderungen im       
   svn-src-release      /usr/src                 releases Bereich des 
                                                 src Subversion       
                                                 Repository           
                                                 A:nderungen im       
                                                 releng Zweig des src 
   svn-src-releng       /usr/src                 Subversion           
                                                 Repository (der      
                                                 security / release   
                                                 engineering Zweige)  
                                                 A:nderungen an allen 
   svn-src-stable       /usr/src                 stable Zweigen des   
                                                 src Subversion       
                                                 Repository           
                                                 A:nderungen im       
   svn-src-stable-6     /usr/src                 stable/6 Zweig des   
                                                 src Subversion       
                                                 Repository           
                                                 A:nderungen im       
   svn-src-stable-7     /usr/src                 stable/7 Zweig des   
                                                 src Subversion       
                                                 Repository           
                                                 A:nderungen an       
                                                 a:lteren stable      
   svn-src-stable-other /usr/src                 Zweigen des src      
                                                 Subversion           
                                                 Repository           
                                                 A:nderungen an den   
                                                 administrativen      
                                                 Skripten, hooks, and 
   svn-src-svnadmin     /usr/src                 anderen Daten zur    
                                                 Konfiguration des    
                                                 src Subversion       
                                                 Repository           
                                                 A:nderungen am       
                                                 experimentellen user 
   svn-src-user         /usr/src                 Bereich des src      
                                                 Subversion           
                                                 Repository           
                                                 A:nderungen am       
   svn-src-vendor       /usr/src                 Herstellerbereich    
                                                 des src Subversion   
                                                 Repository           

     --------------------------------------------------------------

  C.1.2. Mailinglisten abonnieren

   Um eine Liste zu abonnieren, folgen Sie dem oben angegebenen
   Hyperlink der Liste oder Sie besuchen die Webseite
   http://lists.FreeBSD.org/mailman/listinfo und klicken dort auf die
   Liste, die Sie abonnieren wollen. Sie gelangen dann auf die
   Webseite der Liste, die weitere Anweisungen entha: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 ko:nnen das
   Abonnement auch mit einer E-Mail an
   <Liste-unsubscribe@FreeBSD.org> aufheben.

   Verwenden Sie bitte die technischen Listen ausschliesslich fu:r
   technische Diskussionen. Wenn Sie nur an wichtigen Anku:ndigungen
   interessiert sind, abonnieren Sie die Mailingliste FreeBSD
   announcements, auf der nur wenige Nachrichten versendet werden.

     --------------------------------------------------------------

  C.1.3. Chartas der Mailinglisten

   Alle FreeBSD-Mailinglisten besitzen Grundregeln, die von jedem
   beachtet werden mu:ssen. Fu:r die ersten beiden Male, in denen ein
   Absender gegen diese Regeln versto:sst, erha:lt er jeweils eine
   Warnung vom FreeBSD-Postmaster <postmaster@FreeBSD.org>. Ein
   dritter Verstoss gegen die Regeln fu: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 Massnahmen ergreifen mu:ssen, aber
   heutzutage ist das Internet eine recht rauhe Umgebung, in der
   immer weniger Leute Ru: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. Fortwa:hrendes Geschwa:tz oder
       Streit mindern den Wert der Liste fu:r alle Mitglieder und
       wird nicht toleriert. Benutzen Sie FreeBSD chat fu:r
       allgemeine Diskussionen u: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
       ungewo:hnlichen Kombinationen der Listen, wie "-stable" und
       "-scsi", gesendet werden. Wenn Sie eine Nachricht erhalten,
       die im Cc-Feld mehrere Listen entha:lt, sollten Sie das Feld
       ku:rzen, bevor Sie eine Antwort darauf verschicken.
       Unabha:ngig von dem urspru:nglichen Verteiler sind Sie fu:r
       Ihre eigenen Mehrfach-Sendungen selbst verantwortlich.

     * Perso:nliche Angriffe und Beschimpfungen sind in einer
       Diskussion nicht erlaubt. Dies gilt gleichermassen fu: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 erha:lt oder
       gesperrt wird.

     * Werbung fu: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:

   freebsd-acpi

           Die Entwicklung von ACPI und Energieverwaltungsfunktionen.

   freebsd-afs

           Andrew File System

           Auf dieser Liste wird die Portierung des AFS von
           CMU/Transarc diskutiert.

   freebsd-announce

           Wichtige Ereignisse und Meilensteine

           Diese Liste ist fu:r Personen, die nur an den wenigen
           Anku:ndigungen wichtiger Ereignisse interessiert sind. Die
           Anku:ndigungen betreffen Schnappschu:sse und Releases,
           neue Merkmale von FreeBSD und die Suche nach freiwilligen
           Mitarbeitern. Auf der Liste herrscht wenig Verkehr und sie
           wird streng moderiert.

   freebsd-arch

           Architektur und Design von FreeBSD

           Auf dieser technischen Liste wird die FreeBSD-Architektur
           diskutiert. Beispiele fu:r angemessene Themen sind:

              * Wie das Bausystem zu vera:ndern ist, damit
                verschiedene La:ufe gleichzeitig mo:glich sind.

              * Was am VFS gea:ndert werden muss, damit Heidemann
                Schichten eingesetzt werden ko:nnen.

              * Wie die Schnittstelle der Gera:tetreiber angepasst
                werden muss, damit derselbe Treiber auf verschiedenen
                Bussen und Architekturen eingesetzt werden kann.

              * Wie ein Netzwerktreiber geschrieben wird.

   freebsd-audit

           Source Code Audit Project

           Dies ist die Liste des FreeBSD-"Source Code Audit
           Projects". Urspru:nglich war vorgesehen, hier nur
           sicherheitsrelevante A:nderungen zu diskutieren, doch ist
           die Charta auf alle A:nderungen ausgedehnt worden.

           Zu dieser Liste werden viele Korrekturen gesandt, so dass
           sie fu:r den normalen FreeBSD-Benutzer von wenig Wert ist.
           Diskussionen u:ber Sicherheit, die sich nicht auf die
           A:nderung von Quellcode beziehen, finden auf der
           Mailingliste FreeBSD security statt. Auf der anderen Seite
           sind aber alle Entwickler aufgefordert, ihre Korrekturen
           zur U:berpru:fung an diese Liste zu senden. Dies trifft
           besonders auf A:nderungen zu, in denen ein Fehler die
           Integrita:t des Gesamtsystems gefa:hrdet.

   freebsd-binup

           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.

   freebsd-bluetooth

           Bluetooth unter FreeBSD

           Diese Liste diskutiert Probleme der Verwendung von
           Bluetooth unter FreeBSD. Designprobleme,
           Implementierungsdetails, Patches, Fehler- und
           Statusberichte, Verbesserungsvorschla:ge sowie alle
           anderen mit Bluetooth zusammenha:ngenden Themen werden
           hier behandelt.

   freebsd-bugbusters

           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.

   freebsd-bugs

           Fehlerberichte

           Auf dieser Liste werden Fehlerberichte gesammelt.
           Fehlerberichte sollten immer mit send-pr(1) oder dem Web
           Formular erstellt werden.

   freebsd-chat

           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
           grundsa:tzlich in Grossbuchstaben geschrieben werden soll,
           wer zuviel Kaffee trinkt, wo das beste Bier gebraut wird
           und wer Bier in seinem Keller braut. Gelegentlich ko:nnen
           auf den technischen Listen wichtige Ereignisse wie Feste,
           Hochzeiten oder Geburten angeku:ndigt werden, aber
           nachfolgende Nachrichten sollten auf die Liste FreeBSD
           chat gesendet werden.

   freebsd-core

           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 Pru:fung unterzogen werden muss, ko:nnen
           Nachrichten an diese Liste gesendet werden.

   freebsd-current

           Gebrauch von FreeBSD-CURRENT

           Diese Mailingliste ist fu:r die Benutzer von
           FreeBSD-CURRENT eingerichtet. Auf ihr finden sich
           Anku:ndigungen u:ber Besonderheiten von -CURRENT, von
           denen Benutzer betroffen sind. Sie entha:lt weiterhin
           Anweisungen, wie man ein System auf -CURRENT ha:lt. Jeder,
           der ein -CURRENT System besitzt, muss diese Liste lesen.
           Die Liste ist nur fu:r technische Inhalte bestimmt.

   freebsd-cvsweb

           FreeBSD CVSweb Project

           Technische Diskussion u:ber den Gebrauch, die Entwicklung
           und die Pflege von FreeBSD-CVSweb.

   freebsd-doc

           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.

   freebsd-drivers

           Gera:tetreiber fu:r FreeBSD schreiben

           Ein Forum fu:r technische Diskussionen u:ber das Schreiben
           von Gera:tetreibern fu:r FreeBSD. Daher werden hier vor
           allem Fragen behandelt, die sich um das Schreiben von
           Treibern, die die APIs des Kernels nutzen, drehen.

   freebsd-eclipse

           Fu:r FreeBSD-Anwender, die die Eclipse IDE deren
           Werkzeuge, Anwendungen und Ports einsetzen

           Das Ziel dieser Liste ist es, Unterstu:tzung fu:r all jene
           zu bieten, die mit der Installation, Verwendung,
           Entwicklung und Wartung der Eclipse-IDE sowie deren
           Werkzeugen und Anwendungen unter FreeBSD zu tun haben.
           Ausserdem wird Hilfe bei der Portierung der IDE und deren
           Plugins auf FreeBSD geboten.

           Zusa:tzlich soll diese Liste einen Informationsaustausch
           zwischen der Eclipse- und der FreeBSD-Gemeinde
           ermo:glichen, von dem beide Seiten profitieren ko:nnen.

           Obwohl sich diese Liste auf die Anforderungen von
           Anwendern konzentriert, mo:chte sie auch Entwickler
           unterstu:tzen, die an der Entwicklung von
           FreeBSD-spezifischen Anwendungen unter Nutzung des
           Eclipse-Frameworks arbeiten.

   freebsd-embedded

           FreeBSD in eingebetteten Anwendungen einsetzen

           Diese Liste diskutiert Themen im Zusammenhang mit dem
           Einsatz von ungewo:hnlich kleinen und eingebettenen
           FreeBSD-Installationen. Auf dieser Liste werden
           ausschliesslich technische Diskussionen gefu:hrt. Unter
           eingebetteten Systemen versteht diese Liste Systeme, bei
           denen es sich nicht um Desktopsysteme handelt, und die in
           der Regel nur einem einzigen Zweck dienen (im Gegensatz zu
           Desktopsystemen, die fu:r die Bewa:ltigung verschiedenster
           Aufgaben geeignet sind). In die Gruppe der eingebetteten
           Systeme geho:ren beispielsweise Telephone, Netzwerkgera:te
           wie Router, Switche oder PBX-Systeme, PDAs,
           Verkaufsautomaten und andere mehr.

   freebsd-emulation

           Emulation anderer Systeme wie Linux, MS-DOS oder Windows

           Hier werden technische Diskussionen zum Einsatz von
           Programmen, die fu:r andere Betriebssysteme geschrieben
           wurden, gefu:hrt.

   freebsd-eol

           Support fu:r FreeBSD-bezogene Software, die vom FreeBSD
           Project offiziell nicht mehr unterstu:tzt wird.

           Diese Liste ist fu:r all jene interessant, die
           Unterstu:tzung fu:r vom FreeBSD Project offiziell nicht
           mehr (in Form von Security Advisories oder Patches)
           unterstu:tzte Programme beno:tigen oder anbieten wollen.

   freebsd-firewire

           FireWire (iLink, IEEE 1394)

           Auf dieser Liste wird das Design und die Implementierung
           eines FireWire-Subsystems (auch IEEE 1394 oder iLink) fu:r
           FreeBSD diskutiert. Relevante Themen sind die Standards,
           Busse und ihre Protokolle, sowie Adapter, Karten und
           Chipsa:tze. Des Weiteren die Architektur und der
           Quellcode, die no:tig sind, diese Gera:te zu
           unterstu:tzen.

   freebsd-fs

           Dateisysteme

           Diskussionen u:ber FreeBSD-Dateisysteme. Dies ist eine
           technische Liste, in der nur technische Inhalte erwartet
           werden.

   freebsd-gecko

           Angelegenheiten zur Gecko Rendering Engine

           Dies ist ein Forum u:ber Gecko-Anwendungen, die FreeBSD
           verwenden.

           Die Diskussion dreht sich um die Portierung von
           Gecko-Anwendungen, deren Installation, die Entwicklung
           sowie deren Unterstu:tzung innerhalb von FreeBSD.

   freebsd-geom

           GEOM

           Diskussion u:ber GEOM und verwandte Implementierungen.
           Dies ist eine technische Liste, in der nur technische
           Inhalte erwartet werden.

   freebsd-gnome

           GNOME

           Diskussionen u:ber die grafische Benutzeroberfla:che
           GNOME. Dies ist eine technische Liste, in der nur
           technische Inhalte erwartet werden.

   freebsd-ipfw

           IP Firewall

           Diskussionen u:ber eine Neubearbeitung des IP-Firewall
           Quelltexts in FreeBSD. Dies ist eine technische Liste, in
           der nur technische Inhalte erwartet werden.

   freebsd-ia64

           Portierung von FreeBSD auf die IA64-Plattform

           Dies ist eine technische Liste fu:r diejenigen, die
           FreeBSD auf die IA-64 Plattform von Intel portieren.
           Themen sind die Probleme bei der Portierung und deren
           Lo:sung. Interessierte, die der Diskussion folgen wollen,
           sind ebenfalls willkommen.

   freebsd-isdn

           ISDN Subsystem

           Mailingliste fu:r die Entwickler des ISDN Subsystems von
           FreeBSD.

   freebsd-java

           Java Entwicklung

           Mailingliste, auf der die Entwicklung von Java Anwendungen
           fu:r FreeBSD sowie die Portierung und Pflege von JDKs
           diskutiert wird.

   freebsd-jobs

           Stellenangebote und Stellengesuche

           In diesem Forum ko:nnen Sie Stellenangebote und
           Stellengesuche, die mit FreeBSD zu tun haben, aufgeben.
           Wenn Sie beispielsweise eine Bescha:ftigung im
           FreeBSD-Umfeld suchen oder eine freie Stelle haben, die
           mit FreeBSD zu tun hat, ist dies der richtige Ort. Diese
           Mailingliste ist nicht der Ort, um u:ber allgemeine
           Bescha:ftigungsprobleme zu diskutieren; dazu gibt es
           anderswo geeignete Foren.

           Beachten Sie bitte, dass diese Liste, wie die anderen
           FreeBSD.org-Listen, weltweit gelesen wird. Geben Sie daher
           bitte den Arbeitsort genau an. Geben Sie bitte auch an, ob
           Telearbeit mo:glich ist und ob Hilfen fu:r einen Umzug
           angeboten werden.

           Benutzen Sie in der E-Mail bitte nur offene Formate -
           vorzugsweise nur das Textformat. Andere Formate, wie PDF
           oder HTML, werden von den Lesern akzeptiert. Nicht offene
           Formate wie Microsoft Word (.doc) werden vom Server der
           Liste abgelehnt.

   freebsd-hackers

           Technische Diskussionen

           Dies ist ein Forum fu:r technische Diskussionen u:ber
           FreeBSD. Leute, die aktiv an FreeBSD arbeiten, ko:nnen
           hier Probleme und deren Lo:sungen diskutieren.
           Interessierte, die den Diskussionen folgen wollen, steht
           die Liste ebenfalls offen. Auf dieser Liste finden nur
           technische Diskussionen statt.

   freebsd-hardware

           Allgemeine Diskussionen u:ber Hardware

           Allgemeine Diskussionen u:ber die Hardware, auf der
           FreeBSD la:uft: Probleme und Ratschla:ge welche Hardware
           man kaufen sollte und welche nicht.

   freebsd-hubs

           FreeBSD-Spiegel

           Anku:ndigungen und Diskussionsforum fu:r Leute, die
           FreeBSD-Spiegel betreiben.

   freebsd-isp

           Themen fu:r Internet Service Provider

           Diese Liste ist fu:r Internet Service Provider (ISP), die
           FreeBSD benutzen. Auf dieser Liste finden nur technische
           Diskussionen statt.

   freebsd-mono

           Mono und C# Anwendungen auf FreeBSD

           Diese Liste beinhaltet Diskussionen u:ber das Mono
           Entwicklungsframework auf FreeBSD. Dies ist eine
           technische Mailingliste. Es ist fu:r Personen gedacht, die
           aktiv an der Portierung von Mono oder C# Anwendungen auf
           FreeBSD sind, um Probleme oder alternative Lo:sungen zu
           beratschlagen. Personen die der technischen Diskussion
           folgen mo:chten sind ebenso willkommen.

   freebsd-kde

           KDE

           Diskussionen u:ber KDE auf FreeBSD-Systemen. Dies ist eine
           technische Liste, in der nur technische Inhalte erwartet
           werden.

   freebsd-openoffice

           OpenOffice.org

           Portierung und Pflege von OpenOffice.org und StarOffice.

   freebsd-performance

           Diskussionsforum mit dem Ziel, die Leistung von FreeBSD zu
           verbessern.

           Auf dieser Liste diskutieren Hacker, Systemadministratoren
           und andere Interessierte die Leistung von FreeBSD.
           Zula:ssige Themen sind beispielsweise Systeme unter hoher
           Last, Systeme mit Leistungsproblemen oder Systeme, die
           Leistungsgrenzen von FreeBSD u:berwinden. Jeder, der
           mithelfen will, die Leistung von FreeBSD zu verbessern,
           sollte diese Liste abonnieren. Die Liste ist technisch
           anspruchsvoll und geeignet fu:r erfahrene
           FreeBSD-Benutzer, Hacker oder Administratoren, die FreeBSD
           schnell, robust und skalierbar halten wollen. Auf der
           Liste werden Beitra:ge gesammelt oder Fragen nach
           ungelo:sten Problemen beantwortet. Sie ist kein Ersatz
           fu:r das gru:ndliche Studium der Dokumentation.

   freebsd-pf

           Diskussionen und Fragen zu packet filter als
           Firewallsystem.

           FreeBSD-spezische Diskussionen zur Benutzung von packet
           filter (pf) als Firewallsystem. Sowohl technische
           Diskussionen als auch Anwenderfragen sind auf dieser Liste
           willkommen. Fragen zum ALTQ QoS Framework ko:nnen
           ebenfalls gestellt werden.

   freebsd-platforms

           Portierung auf nicht-Intel Plattformen

           Plattformu:bergreifende Themen und Vorschla:ge fu:r die
           Portierung auf nicht-Intel Plattformen. Auf dieser Liste
           finden nur technische Diskussionen statt.

   freebsd-policy

           Grundsatzentscheidungen des Core Teams

           Diese Mailingliste ist fu:r Grundsatzentscheidungen des
           FreeBSD-Core-Teams. Sie tra:gt wenige Nachrichten und ist
           nur zum Lesen gedacht.

   freebsd-ports

           Diskussion u:ber die Ports-Sammlung

           Diskussionen u: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.

   freebsd-ports-bugs

           Diskussion u:ber Fehler in den Ports

           Diskussion u:ber Fehler in der Ports-Sammlung
           (/usr/ports), neue Ports oder A:nderungen an bestehenden
           Ports. Auf dieser Liste finden nur technische Diskussionen
           statt.

   freebsd-proliant

           Technische Diskussionen zum Einsatz von FreeBSD auf der
           ProLiant-Serverplattform von HP

           Diese Mailingliste bietet technische Diskussionen zum
           Einsatz von FreeBSD auf der ProLiant-Serverplattform von
           HP, darunter Fragen zu ProLiant-spezifischen Treibern,
           Konfigurationswerkzeugen sowie BIOS-Aktualisierungen.
           Daher ist sie die erste Anlaufstelle, um die Module
           hpasmd, hpasmcli, sowie hpacucli zu diskutieren.

   freebsd-python

           Python unter FreeBSD

           Diese technische Liste dient der Verbesserung der
           Python-Unterstu:tzung unter FreeBSD. Sie wird von Personen
           gelesen, die an der Portierung von Python, von
           Python-Modulen Dritter und von Zope nach FreeBSD arbeiten.
           Personen, die diese technischen Diskussion verfolgen
           wollen, sind ebenfalls willkommen.

   freebsd-questions

           Benutzerfragen

           Auf dieser Mailingliste ko:nnen Fragen zu FreeBSD gestellt
           werden. Fragen Sie bitte nicht nach Anleitungen, wenn Sie
           nicht sicher sind, dass Ihre Frage wirklich technischer
           Natur ist.

   freebsd-ruby

           Ruby unter FreeBSD

           Diese technische Liste dient der Verbesserung der
           Ruby-Unterstu:tzung unter FreeBSD. Sie wird von Personen
           gelesen, die an der Portierung von Ruby, von Bibliotheken
           Dritter und Frameworks arbeiten. Personen, die diese
           technischen Diskussionen verfolgen wollen, sind ebenfalls
           willkommen.

   freebsd-scsi

           SCSI Subsystem

           Diese Mailingliste ist fu:r die Entwickler des SCSI
           Subsystems von FreeBSD. Auf dieser Liste finden nur
           technische Diskussionen statt.

   freebsd-security

           Sicherheitsthemen

           Sicherheitsthemen, die FreeBSD betreffen, wie DES,
           Kerberos, bekannte Sicherheitslo:cher und
           Fehlerbehebungen. Stellen Sie bitte auf dieser Liste keine
           allgemeinen Fragen zum Thema Sicherheit. Willkommen sind
           allerdings Beitra:ge zur FAQ, das heisst eine Frage mit
           der passenden Antwort. Auf dieser Liste finden nur
           technische Diskussionen statt.

   freebsd-security-notifications

           Anku:ndigungen zum Thema Sicherheit

           Anku:ndigungen u:ber Sicherheitsprobleme von FreeBSD und
           deren Behebungen. Diese Liste ist kein Diskussionsforum,
           benutzen Sie FreeBSD security, um Sicherheitsthemen zu
           diskutieren.

   freebsd-small

           Gebrauch von FreeBSD in eingebetteten Systemen.

           Diese Liste fu:r ungewo:hnlich kleine FreeBSD Installation
           oder den Einsatz von FreeBSD in eingebetteten Systemen
           gedacht. Auf dieser Liste finden nur technische
           Diskussionen statt.

             Anmerkung: Diese Liste wurde durch freebsd-embedded
             ersetzt.

   freebsd-stable

           Gebrauch von FreeBSD-STABLE.

           Diese Mailingliste ist fu:r die Benutzer von
           FreeBSD-STABLE eingerichtet. Auf ihr finden sich
           Anku:ndigungen u:ber Besonderheiten von -STABLE, von denen
           Benutzer betroffen sind. Sie entha:lt weiterhin
           Anweisungen, wie man ein System auf -STABLE ha:lt. Jeder,
           der ein -STABLE System besitzt, muss diese Liste lesen.
           Die Liste ist nur fu:r technische Inhalte bestimmt.

   freebsd-standards

           Konformita:t von FreeBSD mit den C99- und POSIX Standards

           Dieses Forum ist fu:r technische Diskussionen u:ber die
           Konformita:t von FreeBSD mit den C99- und POSIX-Standards.

   freebsd-usb

           USB-Unterstu:tzung in FreeBSD.

           Auf dieser Liste finden nur technische Diskussionen statt.

   freebsd-user-groups

           Koordination von Benutzergruppen

           Diese Liste ist fu: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 beschra:nkt sein.

   freebsd-vendors

           Koordination von Ha:ndlern

           Koordination zwischen dem FreeBSD Project und Ha:ndlern,
           die Soft- und Hardware fu:r FreeBSD verkaufen.

   freebsd-virtualization

           Diskussion u:ber verschiedene Virtualisierungsverfahren,
           die von FreeBSD unterstu:tzt werden

           Eine Liste, auf der die verschiedenen
           Virtualisierungsverfahren, die von FreeBSD unterstu:tzt
           werden, diskutiert werden. Auf der einen Seite liegt der
           Fokus auf der Implementierung der zugrundeliegenden
           Funktionalita:ten, ebenso wie das Hinzufu:gen neuer
           Eigenschaften. Auf der anderen Seite haben die Benutzer
           ein Forum, um Fragen bei Problemen zu stellen oder um ihre
           Anwendungsfa:lle zu besprechen.

   freebsd-wip-status

           Status von in Arbeit befindlichen FreeBSD-Ta:tigkeiten

           Diese Mailingliste kann dazu verwendet werden, eigene
           Kreationen und deren Fortschritt von FreeBSD-verwandten
           Ta:tigkeiten anzuku:ndigen. Die Nachrichten werden
           moderiert. Es wird vorgeschlagen, die Nachricht "An:" eine
           mehr themenverwandte FreeBSD-Liste zu senden und diese
           Liste nur in Blindkopie zu setzen. Auf diese Weise kann
           ihre in Arbeit befindliche Ta:tigkeit auch auf der
           themenverwandten Liste diskutiert werden, da auf dieser
           Liste keine Diskussionen erlaubt sind.

           Sehen Sie sich das Archiv der Liste fu:r passende
           Nachrichten an.

           Redaktionelle Auszu:ge der Nachrichten an diese Liste
           werden eventuell alle paar Monate auf die FreeBSD Webseite
           als Teil der Statusberichte [21] gestellt. Weitere
           Beispiele und zuru:ckliegende Berichte ko:nnen Sie auch
           dort finden.

   freebsd-xen

           Diskussionen u:ber die FreeBSD Portierung auf Xen -
           Implementierung und Verwendung

           Eine Liste, die die FreeBSD Portierung auf Xen behandelt.
           Das erwartete Nachrichtenaufkommen ist klein genug, so
           dass es als Forum fu:r sowohl technische Diskussionen
           u:ber die Implementierung und Entwurfsdetails, als auch
           administrative Verteilaspekte ausgelegt ist.

     --------------------------------------------------------------

  C.1.4. Filter der Mailinglisten

   Um die Verbreitung von Spam, Viren und anderen nicht erwu:nschten
   E-Mails zu verhindern, werden auf den FreeBSD-Mailinglisten Filter
   eingesetzt. Dieser Abschnitt beschreibt nur einen Teil der zum
   Schutz der Listen eingesetzten Filter.

   Auf den Mailinglisten sind nur die unten aufgefu:hrten Anha:nge
   erlaubt. Anha: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-diff

     * text/x-patch

     Anmerkung: Einige Mailinglisten erlauben vielleicht Anha:nge mit
     anderem MIME-Typ. Fu:r die meisten Mailinglisten sollte die
     obige Aufza: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.

     --------------------------------------------------------------

C.2. Usenet-News

   Neben den Gruppen, die sich ausschliesslich mit BSD bescha:ftigen,
   gibt es viele weitere in denen u:ber FreeBSD diskutiert wird, oder
   die fu:r FreeBSD-Benutzer wichtig sind. Warren Toomey
   <wkt@cs.adfa.edu.au> stellte grosszu:gig suchbare Archive einiger
   dieser Gruppen bereit.

     --------------------------------------------------------------

  C.2.1. BSD spezifische Gruppen

     * comp.unix.bsd.freebsd.announce

     * comp.unix.bsd.freebsd.misc

     * de.comp.os.unix.bsd (deutsch)

     * fr.comp.os.bsd (franzo:sisch)

     * it.comp.os.bsd (italienisch)

     * tw.bbs.comp.386bsd (Traditionelles Chinesisch)

     --------------------------------------------------------------

  C.2.2. 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

     --------------------------------------------------------------

  C.2.3. 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

     --------------------------------------------------------------

C.3. World Wide Web Server

  C.3.1. Foren, Blogs und soziale Netzwerke

     * Die FreeBSD Foren dienen als webbasiertes Diskussionsforum
       fu:r Fragen und technische Diskussionen zu FreeBSD.

     * Planet FreeBSD bietet einen gesammelten Feed aus dutzenden von
       Blogs, die von den FreeBSD Entwicklern geschrieben werden.
       Viele Entwickler nutzen dies, um schnell Aufzeichnungen
       daru:ber zu vero:ffentlichen, woran sie gerade arbeiten,
       welche neuen Erweiterungen es gibt und andere Arbeiten, die
       gerade im Gange sind.

     * Der BSDConferences YouTube-Kanal beinhaltet eine Sammlung von
       qualitativ hochwertigen Videos von BSD Konferenzen aus der
       ganzen Welt. Dies ist eine ausgezeichnete Art und Weise, den
       Entwicklern beim Pra:sentieren von neuen Arbeiten an FreeBSD
       zuzuschauen.

     --------------------------------------------------------------

  C.3.2. Official Mirrors

   Hauptserver, Argentinien, Armenien, Australien, Belgien,
   Brasilien, Bulgarien, China, Costa Rica, Da:nemark, Deutschland,
   Estland, Finnland, Frankreich, Griechenland, Grossbritannien, Hong
   Kong, Indonesien, Irland, Island, Italien, Japan, Kanada,
   Kirgisistan, Korea, Kuwait, Lettland, Litauen, Neuseeland,
   Niederlande, Norwegen, O:sterreich, Philippinen, Polen, Portugal,
   Ruma:nien, Russland, San Marino, Schweden, Schweiz, Singapur,
   Slowakische Republik, Slowenien, Spanien, Su:dafrika, Taiwan,
   Thailand, Tschechische Republik, Tu:rkei, Ukraine, Ungarn, USA.

   (aktualisiert am: 2009/05/21 21:02:58 UTC)

     * Hauptserver

          * http://www.FreeBSD.org/

     * Argentinien

          * http://www.ar.FreeBSD.org/

     * Armenien

          * http://www1.am.FreeBSD.org/ (IPv6)

     * Australien

          * http://www.au.FreeBSD.org/

          * http://www2.au.FreeBSD.org/

     * Belgien

          * http://freebsd.unixtech.be/

     * Brasilien

          * http://www.br.FreeBSD.org/

          * http://www2.br.FreeBSD.org/www.freebsd.org/

          * http://www3.br.FreeBSD.org/

     * Bulgarien

          * http://www.bg.FreeBSD.org/

          * http://www2.bg.FreeBSD.org/

     * China

          * http://www.cn.FreeBSD.org/

     * Costa Rica

          * http://www1.cr.FreeBSD.org/

     * Da:nemark

          * http://www.dk.FreeBSD.org/ (IPv6)

          * http://www3.dk.FreeBSD.org/

     * Deutschland

          * http://www.de.FreeBSD.org/

     * Estland

          * http://www.ee.FreeBSD.org/

     * Finnland

          * http://www.fi.FreeBSD.org/

          * http://www2.fi.FreeBSD.org/

     * Frankreich

          * http://www.fr.FreeBSD.org/

          * http://www1.fr.FreeBSD.org/

     * Griechenland

          * http://www.gr.FreeBSD.org/

     * Grossbritannien

          * http://www1.uk.FreeBSD.org/

          * http://www3.uk.FreeBSD.org/

     * Hong Kong

          * http://www.hk.FreeBSD.org/

     * Indonesien

          * http://www.id.FreeBSD.org/

     * Irland

          * http://www.ie.FreeBSD.org/

          * http://www2.ie.FreeBSD.org/

     * Island

          * http://www.is.FreeBSD.org/

     * Italien

          * http://www.it.FreeBSD.org/

          * http://www.gufi.org/mirrors/www.freebsd.org/data/

     * Japan

          * http://www.jp.FreeBSD.org/www.FreeBSD.org/ (IPv6)

     * Kanada

          * http://www.ca.FreeBSD.org/

          * http://www2.ca.FreeBSD.org/

     * Kirgisistan

          * http://www.kg.FreeBSD.org/

     * Korea

          * http://www.kr.FreeBSD.org/

          * http://www2.kr.FreeBSD.org/

     * Kuwait

          * http://www.kw.FreeBSD.org/

     * Lettland

          * http://www.lv.FreeBSD.org/

          * http://www2.lv.FreeBSD.org/

     * Litauen

          * http://www.lt.FreeBSD.org/

     * Neuseeland

          * http://www.nz.FreeBSD.org/

     * Niederlande

          * http://www.nl.FreeBSD.org/

          * http://www2.nl.FreeBSD.org/

     * Norwegen

          * http://www.no.FreeBSD.org/

     * O:sterreich

          * http://www.at.FreeBSD.org/

          * http://www2.at.FreeBSD.org/ (IPv6)

     * Philippinen

          * http://www.FreeBSD.org.ph/

     * Polen

          * http://www.pl.FreeBSD.org/

          * http://www2.pl.FreeBSD.org/

     * Portugal

          * http://www.pt.FreeBSD.org/

          * http://www1.pt.FreeBSD.org/

          * http://www4.pt.FreeBSD.org/

          * http://www5.pt.FreeBSD.org/

     * Ruma:nien

          * http://www.ro.FreeBSD.org/

          * http://www1.ro.FreeBSD.org/

          * http://www2.ro.FreeBSD.org/

          * http://www3.ro.FreeBSD.org/

     * Russland

          * http://www.ru.FreeBSD.org/

          * http://www2.ru.FreeBSD.org/

          * http://www3.ru.FreeBSD.org/

          * http://www4.ru.FreeBSD.org/

          * http://www5.ru.FreeBSD.org/

     * San Marino

          * http://www.sm.FreeBSD.org/

     * Schweden

          * http://www.se.FreeBSD.org/

          * http://www2.se.FreeBSD.org/

     * Schweiz

          * http://www.ch.FreeBSD.org/

          * http://www2.ch.FreeBSD.org/

     * Singapur

          * http://www2.sg.FreeBSD.org/

     * Slowakische Republik

          * http://www.sk.FreeBSD.org/

     * Slowenien

          * http://www.si.FreeBSD.org/

          * http://www2.si.FreeBSD.org/

     * Spanien

          * http://www.es.FreeBSD.org/

          * http://www2.es.FreeBSD.org/

          * http://www3.es.FreeBSD.org/

     * Su:dafrika

          * http://www.za.FreeBSD.org/

          * http://www2.za.FreeBSD.org/

     * Taiwan

          * http://www.tw.FreeBSD.org/ (IPv6)

          * http://www2.tw.FreeBSD.org/

          * http://www3.tw.FreeBSD.org/

          * http://www4.tw.FreeBSD.org/

          * http://www5.tw.FreeBSD.org/ (IPv6)

          * http://www6.tw.FreeBSD.org/

          * http://www7.tw.FreeBSD.org/

     * Thailand

          * http://www.th.FreeBSD.org/

     * Tschechische Republik

          * http://www.cz.FreeBSD.org/

     * Tu:rkei

          * http://www.tr.FreeBSD.org/

          * http://www2.tr.FreeBSD.org/

          * http://www3.tr.FreeBSD.org/ (IPv6)

     * Ukraine

          * http://www.ua.FreeBSD.org/

          * http://www2.ua.FreeBSD.org/

          * http://www5.ua.FreeBSD.org/

          * http://www4.ua.FreeBSD.org/

     * Ungarn

          * http://www.hu.FreeBSD.org/

          * http://www2.hu.FreeBSD.org/

     * USA

          * http://www2.us.FreeBSD.org/

          * http://www4.us.FreeBSD.org/ (IPv6)

          * http://www5.us.FreeBSD.org/ (IPv6)

     --------------------------------------------------------------

C.4. E-Mail Adressen

   Die folgenden Benutzergruppen stellen ihren Mitgliedern fu:r die
   Arbeit an FreeBSD E-Mail-Adressen zur Verfu:gung. Der aufgefu:hrte
   Administrator beha:lt sich das Recht vor, die Adresse zu sperren,
   wenn sie missbraucht wird.

      Domain          Angebot          Benutzergruppe          Administrator     
ukug.uk.FreeBSD.org nur zum      <ukfreebsd@uk.FreeBSD.org> Lee Johnston         
                    Weiterleiten                            <lee@uk.FreeBSD.org> 

     --------------------------------------------------------------

                        Anhang D. PGP Schlu:ssel

   Verwenden Sie die nachstehenden Schlu:ssel, wenn Sie eine Signatur
   u:berpru:fen oder eine verschlu:sselte E-Mail an einen
   Ansprechpartner oder einen Entwickler schicken wollen. Den
   vollsta:ndigen Schlu:sselring der Benutzer von FreeBSD.org finden
   Sie unter http://www.FreeBSD.org/doc/pgpkeyring.txt.

     --------------------------------------------------------------

D.1. Ansprechpartner

  D.1.1. Security Officer Team <security-officer@FreeBSD.org>

 pub  1024D/CA6CDFB2 2002-08-27 FreeBSD Security Officer <security-officer@FreeBSD.org>
      Key fingerprint = C374 0FC5 69A6 FBB1 4AED  B131 15D6 8804 CA6C DFB2
 sub  2048g/A3071809 2002-08-27

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 KRrlaWusbYfqZn4BQsSpYw90evo=
 =BvhO
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.1.2. Core Team Secretary <core-secretary@FreeBSD.org>

 pub  1024R/FF8AE305 2002-01-08 core-secretary@FreeBSD.org
      Key fingerprint = CE EF 8A 48 70 00 B5 A9  55 69 DE 87 E3 9A E1 CD

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 mQCNAzw7fN4AAAEEALL1ENfbFYcAEmS6Hrb7CV7sWrbG+HlIwYvUUuqvr8+D3axd
 XuRJGFaWk8zNrTrwWROnlMMlctG3iXNsKzQNxAE6N64rbrUbKI5PzihfEsJW5/io
 XGXrRGdXvwob/Qdnd6mIlm3IJduChV7Nf3K2WbimUNkFeXrrh/ymwUj/iuMFAAUR
 tBpjb3JlLXNlY3JldGFyeUBGcmVlQlNELm9yZ4kAlQMFEDw7fN78psFI/4rjBQEB
 U4ID/1N6haUd+k+tzwNpX6pKnlCuTCJvJ619Lp83T8pRDGZom/uSLrfMrzvmKPeE
 abXGnreM41JRLAbGOclsONVBCLvwc/v+VVXTm24J1rdS1qY/SD+LE87pxPL6Ncyt
 Ug2sxPSo8fDVKu+MdcGK5zwP5ekNHDl+DB1mMsYDkZHTp9FMiQCVAwUQPDt+RafG
 T4fq3uQJAQFKvAQAl6+XaXQ1GzfqJoGqaTVW2O1OaodyBJjLxgRsVv7ps5Z4M4nl
 uYoe5ih+Lk3BVD9Y18QKUrnAPlbXDr1Ld0arq8uFkFsVzNDb2asg6tgcQe7mQ9lA
 QZPgVOU+siTmEuolSvxwsjxn/szBYBPv5EnU6lSmGf/RDJnbFXC9Z/LgPFU=
 =tMn4
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.1.3. Ports Management Team Secretary <portmgr-secretary@FreeBSD.org>

 pub   1024D/7414629C 2005-11-30
       Key fingerprint = D50C BA61 8DC6 C42E 4C05  BF9A 79F6 E071 7414 629C
 uid                  FreeBSD portmgr secretary <portmgr-secretary@FreeBSD.org>
 sub   2048g/80B696E6 2005-11-30

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEONy/ARBAC4Ke7ijFSAiNZ8eKGENunAPSCm5Q75nmJrc9QW3DKQydseMYn5
 kRPzybZ3IMTzIMkB4kydWoOFb5xlyQ2NLsf0nrn0Kc4DbnpmwFi+2Owv48XIoJ80
 4tTHkog+pC+3kMOmAbikOgHfT5DZCu0Vz4k343yg06uFB5RZkFDV3qdr6wCgp8ye
 cBFzt6Qnf7baiKC87mSy46ED/2Kw/sUT40JT57u5SL5rgrAt15Q/PdCbFlBX9N8f
 y0CA7KUL82ISxFwmuFESIi8zD4IOmx2ow4EBczVCVmbAw04GNKyVL4X3KdcZdLxr
 d5BEdu3WcEs9FfbHiJgpPonNQ7UHeaG/Oos0N/LZqGM5kjaopSjNX9QTZXnYtIeX
 v5WRA/9un7HooV6yVf/o6lhjpLg0Dgu/nGPwTVt6mz0dS2sg7FwuWwefnYMo1Hte
 YRJHhP8wR8MeRai5uwUHkn9OINTu2a1WSHxfjL0T8JGI2XWppqwg21llvBlJ9HDZ
 vlnpvG8vsD5+2HLvJe/tHQOXEaKqnlWGRt+6eeKLc2pTOeRrhbQ5RnJlZUJTRCBw
 b3J0bWdyIHNlY3JldGFyeSA8cG9ydG1nci1zZWNyZXRhcnlARnJlZUJTRC5vcmc+
 iGAEExECACAFAkONy/ACGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRB59uBx
 dBRinOoSAJ9dmofaKia2PRYmFrJ6VRV1qMEDiACbB/A1Qwv2jl5ra+Q/G28nrR4N
 IJGIRgQQEQIABgUCQ43N5QAKCRCrL1pbFSVpkP9bAKDpJAKn7gPuU+2dGxSh+O/q
 dkmPVwCg1nFrGigvTij6agMfoYAhqDmeIRmIRgQQEQIABgUCQ43Q1QAKCRCH2lwN
 JzWaUfzfAJ4xutImfjEERePh5E/p2WPRoYZWNgCbBZTRqSz9zuMM1fsvrMcFmCQs
 FPyIRgQQEQIABgUCQ43ROwAKCRAV1ogEymzfssaIAKCWan2+HILTdb2mgFu9aZkI
 tXUXlwCeP+W80VRiM6lGr6VjJFbkDqD6ak+5Ag0EQ43MFRAIALjm7U1vf218XrDD
 rO6ztZdMSoQfLnbqDB/RyNr6CnnFrgIaT4/hBABT7S9Hmb5rPiN3UOTDsgHUq7tC
 eGnf+9K8KA45KclMcayVhttyGlwAtO0kZebxZEAlWAhl4ixfejAwKdrjGe66b2up
 VFEmR6W7GhPitJDyWKK4/57fe3tSEs3yC2iJEbFpzYnVGK4DPUEsbSQ0Gv+COS1q
 l7QQW7H09dWt443r125I1Viv3nrIXlpmR5KFS0MvQ4bZyyAo4k2t0BxmAXNyxLh+
 1HZe5bh3dkk1XbJlooNwfr+WhqSlLsTGQsj1/9HmjVMWyzH6tA5tZ42Fu1ZGTA6D
 nc7BBLMAAwUH/jt/r2iJDiKFpjay4DIICXeKrKUP+mzYQJGJXX+Mls+TjDLFpm0Q
 ng/wUCjZH8+GQStKSiaY7Lqnt1V0aKpw74CznHzgu4+ve9QG1+O5ald61Yy7dPGH
 +9Adr3jYJzdMhojjzPSKxIuDkHYOvjka/VGPtYDBuCaVPGDHGvWT4YZiVvpDg/zB
 ucCAWF55WKphZXh7v7ZPvdfCj6DeZ+wQBF10d9HXlWulitc+27gQiBhA2JFXG2p6
 Qg6Zj1E4AUdK5Hpjx+HgqGATq3GqzyQdUxvhR6VoV1OjmQvz1paLT3V0ch3mvRNi
 Md/oNJsHCSL9yhmtonSaprKG51OboDbVOFqISQQYEQIACQUCQ43MFQIbDAAKCRB5
 9uBxdBRinHoLAKCLZP7CvMzL2+hGwUqJZFGEbJvdBwCgpcmwzwPPes0zlJdBdwJw
 JXoktV0=
 =AmvS
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

D.2. Mitglieder des Core Teams

  D.2.1. Wilko Bulte <wilko@FreeBSD.org>

 pub   1024D/186B8DBD 2006-07-29
       Key fingerprint = 07C2 6CB3 9C18 D290 6C5F  8879 CF83 EC86 186B 8DBD
 uid                  Wilko Bulte (wilko@FreeBSD.org) <wilko@FreeBSD.org>
 sub   2048g/1C4683F1 2006-07-29

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.4.2 (FreeBSD)

 mQGiBETLtf8RBAD12xaszO99wnMaNtuoyE3dIfsv4ijnLmKeFwXXGGe40tf5lDu1
 0X1DrI4wX6emUgSTsuxgZh4OJOuCz/YOLwO1AqL0v8Emjxa1VicZmoQ2zjMPY1GD
 6rWOIvgRC+6M3LstE7h0N49uouNANFHAaAfCNxyWw2EvZxnqc85TMd1BcwCgnEOe
 lHdj9PehNMRSp2TkNpcS5SUEAOEw+rs/vMXeqXHP910nd4U5DmBxIaoA7ARIqAS5
 F+SvNtDxlNeeLSMY7l64kCgB/RO4NGYxMTPklFMAm4cr0ri8s6+v/Y4vdoWsDluW
 MbzKsxBHVmPxr9WEU9iZxexbSlDdeJ2l19xgty4Jp3xPJ0iSo8Tip8w00kSN9cN3
 ULs1BADKhXiy9B2tfDUAQCstSr/04ZB015u1CZEAMxOfIZ97Y1RjSTdAAshqB/sX
 coKlQ5Sanx5shV4xARen/8d1EftgIfX1s0hL2QhA9xCHdHob/9Ok8SbpMq+H3WDj
 VEqpf9dJieU/IFE4wLc1y5M61jw5kX5bqbXPWtIuCJqC0DB9qLQzV2lsa28gQnVs
 dGUgKHdpbGtvQEZyZWVCU0Qub3JnKSA8d2lsa29ARnJlZUJTRC5vcmc+iGEEExEC
 ACEFAkTLtf8CGwMHCwkIBwMCAQQVAggDBBYCAwECHgECF4AACgkQz4Pshhhrjb07
 2gCfb5LcR2MiNHfyP2FEgQ2NphUkXDcAnREV1tDLlJy7KxOlub01Px8NhNkfiJwE
 EAECAAYFAkTLuj8ACgkQ/KbBSP+K4wXTDwQAjdsoW8icjSXo/hl8OBEeQfQCPtuu
 0MU4hJM4TRf6QCHXxtJPpMgGGqp6HbMEwmxO58yhKOLCZk5Xyo8rsVJG23pQvGqW
 UmphE6+9e8RuwneZiJ/yvbn7cOaS9EuUIHnIZnvNYTqLboIG1XaYwq8YqwNhsHVb
 8H1Jvx9fVSo9RGq5Ag0ERMu2DRAIANuJ6ZjYQnDhZFSVColje5oXGEmn3BBIeyLo
 TjzbmLo41iPlPPedLnnG7bGcWlwb8Y6CvsniC2+9Tf79O8rpGglQZQFAKS4qSToA
 CMWBlKPF2yaCLOlKezzn5Xo3D61WYs3z74ak+CKznqdFDkXYU7c428XprqqLnuzk
 jUQyfrNOCg9jjODB6eXVS0nkYlYhsfBe9Mh3xmaf8QGocH01dCaXNJASKbSgUtWJ
 aD0fXWexf6p04DX/84359mtOquZe4NCEy/o2RpKoHxaN8cggO3NUfsLkDBODQ1vr
 RS/H2sixVLbfNPx4XzIYc525ISyGGk1WJ0hxUPDaJeMtlUVE2HMAAwUH/AuwxkpX
 QT49Q3+kZf7hHcvR5fzaRKUcK/lIdPAhJBTZZQjZxH5Qo1MfDftizkIg4O9FcN3w
 eR7AKVhjVGLPna10Tb7PuNByKehsCMJM089OTJNEwRKu5AzpgE+pvkBeKTWwoGUE
 7hkaunpFXGv8TglO25G1hxKgryB3CBu6n4jN4pnlUtwBBQ6jTC+YRd5zeCiDJYvY
 R89ibrdmvFsI6Cy7K0iSFBFaJREOakXPTdmcWSxC71MMuefPrUhMsys0SN/EPd3g
 n/LDvcBtismvo8FAUKTHPlJhvXM87V7sDfCmtzG79NzlwjJto4pJoHyJg57T3kJy
 cQ2qe/WZTvl9OFeISQQYEQIACQUCRMu2DQIbDAAKCRDPg+yGGGuNvdVZAJsErSAN
 uN92IOQQttYydXNGTCUC4gCeOaQSjL1nW1ZwEJt2HuwEJ8LI8Bk=
 =RrPJ
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.2.2. Brooks Davis <brooks@FreeBSD.org>

 pub  1024D/F2381AD4 2001-02-10 Brooks Davis (The Aerospace Corporation) <brooks@aero.org>
      Key fingerprint = 655D 519C 26A7 82E7 2529  9BF0 5D8E 8BE9 F238 1AD4
 uid                            Brooks Davis <brooks@one-eyed-alien.net>
 uid                            Brooks Davis <brooks@FreeBSD.org>
 uid                            Brooks Davis <brooks@aero.org>
 sub  2048g/CFDACA7A 2003-01-25 [expires: 2008-01-24]
 sub  1024g/42921194 2001-02-10 [expires: 2009-02-08]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =k1pm
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.2.3. Giorgos Keramidas <keramida@FreeBSD.org>

 pub   1024D/318603B6 2001-09-21
       Key fingerprint = C1EB 0653 DB8B A557 3829  00F9 D60F 941A 3186 03B6
 uid                  Giorgos Keramidas <keramida@FreeBSD.org>
 uid                  Giorgos Keramidas <keramida@ceid.upatras.gr>
 uid                  Giorgos Keramidas <keramida@hellug.gr>
 uid                  Giorgos Keramidas <keramida@linux.gr>
 sub   1024g/50FDBAD1 2001-09-21

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 rbEo1sd9QlYk6uWfL5hII9Gm
 =81S1
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.2.4. George V. Neville-Neil <gnn@FreeBSD.org>

 pub   1024D/440A33D2 2002-09-17
       Key fingerprint = AF66 410F CC8D 1FC9 17DB  6225 61D8 76C1 440A 33D2
 uid                  George V. Neville-Neil <gnn@freebsd.org>
 uid                  George V. Neville-Neil <gnn@neville-neil.com>
 sub   2048g/95A74F6E 2002-09-17

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBD2Gwe4RBACw78PVfE2fA9U0mISJrV1ohjdkzVTly0WQ/YwMgyB/J/Z/M35G
 zIc8yKi8YR/6QYGqgEzeKAhrUIDyBfudhaJ527gyR3Xi+QHgWMQDvd41NlqM5DBn
 yIVKj10DmDYjcHm29M1OHAkXKZT6tHCqp1dKFD7EXtY1bOakvN7TIKld7wCg6AS/
 iPmIvGE7wpFlcFkYIjjL4ksD/iKpKneEwB7dEksyDQX8l18v58x0lH334WDgRO5a
 X3Wlc4He8b3kWzBWK0z81XE8Z7ip0Io13LHhamLp1P1eDX4sWKQpJmdRtHziC9R6
 4GwW9P7aCUCCf91XxaYEU2j755u1Zby3gF1tbookwO1iXQERYuo3ZHezH1bkdRk2
 HNecA/9+HCfVESjRFPfOEVqljx+Lm5atTx5VX/D/6iprDUARn0YgW5xrwM8doeNI
 UxkBOUszEUPDpXPnMI5RWB+0siQhZl3yX+lUPtASrEj84rpOSXZtNPAkHit/iwva
 pW75gZjt9yN7IhVQVw8O2OMTRGNoWsshzKzznqxNP3p1JYYq/rQtR2VvcmdlIFYu
 IE5ldmlsbGUtTmVpbCA8Z25uQG5ldmlsbGUtbmVpbC5jb20+iFkEExECABkFAj2G
 we4ECwcDAgMVAgMDFgIBAh4BAheAAAoJEGHYdsFECjPS6hUAni/U8Zbrr+TFHLt3
 cLg0VWnWxCI/AKCNqxRmA/HlZLPRzhVCQODgfbOG4LQoR2VvcmdlIFYuIE5ldmls
 bGUtTmVpbCA8Z25uQGZyZWVic2Qub3JnPohgBBMRAgAgBQJDtkW7AhsjBgsJCAcD
 AgQVAggDBBYCAwECHgECF4AACgkQYdh2wUQKM9LtQACfTi75crWjtxxVJUmGSn2+
 CDnlCesAnRqM+XSv9/KnZ3O/GRtpkNwT9NCJuQINBD2GwgUQCACvJfoCKfRo3y1J
 kaisLLtSVsqCeF1mlwfBGyvD0Lu0VnDGuy9aHExafNEbUaW+OQe0YXtZeX70CUPF
 nizBcDEsHEj1pC9HoZCSoYXtqORBa3ZIUwz+jJbjHJErs7XM/EshhAollC14rXKt
 K7+UVCw5JkCmialF7LAyWgqeBilwtKUBpIaXquf0/qws+uOikcZb3UttamQFUW0Y
 l4KKHP24cvCOXSlx8Kl9l2rQzfedjQPXI98zkcR3SEjZ07cDs+mQOTax2OgVS3F2
 nDUEqLQmAiftHFWQ0h3RBpEYLGTNd3gXXxJPxZdR7YIBnxvJ7RZM5qGgZfTc0Jm4
 aM5s+As3AAMFB/0dVB40Fvk74U6mwHLMwEkzHiZoVVZPBUMsuqb3FlgZrMYmwa3q
 APNhPhWSO9pLQlPJ99nFFj1lRUU7OO/oihsdKLEfT2CT5tqa6fAWoiSQIKBBbkrm
 bQedeXPWtvJezS0FY17rOfK8242Lnq+djS8ihBxSKpCVbwWO1DPktu6hGzWQz+x2
 B91jbMfM9/n00xEkZ4Z2H0dSZNY2WKqK+MkqAiYf6uJBs7BZV391WWQ1fagCP/Tf
 HPM0gDnwFfqSJmxJzPm3upTmYgoSRqri7NH3Wec5pY15b67JFHMpMFbgauEsiDSi
 CCk4YxHfge4SMe6noPICAjN6PCkIMDldxi+ZiEYEGBECAAYFAj2GwgUACgkQYdh2
 wUQKM9KJgACgwzfFmUB4diy5sTzLVLE3TCqwnJYAn39ByQnv/FeLGSY/blYrVsQK
 aCpC
 =SotO
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.2.5. Hiroki Sato <hrs@FreeBSD.org>

 pub   1024D/2793CF2D 2001-06-12
       Key fingerprint = BDB3 443F A5DD B3D0 A530  FFD7 4F2C D3D8 2793 CF2D
 uid                  Hiroki Sato <hrs@allbsd.org>
 uid                  Hiroki Sato <hrs@eos.ocn.ne.jp>
 uid                  Hiroki Sato <hrs@ring.gr.jp>
 uid                  Hiroki Sato <hrs@FreeBSD.org>
 uid                  Hiroki Sato <hrs@jp.FreeBSD.org>
 uid                  Hiroki Sato <hrs@vlsi.ee.noda.tus.ac.jp>
 uid                  Hiroki Sato <hrs@jp.NetBSD.org>
 uid                  Hiroki Sato <hrs@NetBSD.org>
 sub   1024g/8CD251FF 2001-06-12

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 OGg0F7Gi41lcFhA=
 =wurQ
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.2.6. Murray Stokely <murray@FreeBSD.org>

 pub  1024D/0E451F7D 2001-02-12 Murray Stokely <murray@freebsd.org>
      Key fingerprint = E2CA 411D DD44 53FD BB4B  3CB5 B4D7 10A2 0E45 1F7D
 sub  1024g/965A770C 2001-02-12

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Comment: For info see http://www.gnupg.org

 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
 qN+IdvKuAKC6p9c3lJBbYHFlhxPDhBvgBaSOKw==
 =WyeV
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.2.7. Kris Kennaway <kris@FreeBSD.org>

 pub  1024D/68E840A5 2000-01-14 Kris Kennaway <kris@citusc.usc.edu>
      Key fingerprint = E65D 0E7D 7E16 B212 1BD6  39EE 5ABC B405 68E8 40A5
 uid                            Kris Kennaway <kris@FreeBSD.org>
 uid                            Kris Kennaway <kris@obsecurity.org>
 sub  2048g/03A41C45 2000-01-14 [expires: 2006-01-14]

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 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
 =nTL1
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

D.3. Entwickler

  D.3.1. Ariff Abdullah <ariff@FreeBSD.org>

 pub   1024D/C5304CDA 2005-10-01
       Key fingerprint = 5C7C 6BF4 8293 DE76 27D9  FD57 96BF 9D78 C530 4CDA
 uid                  Ariff Abdullah <skywizard@MyBSD.org.my>
 uid                  Ariff Abdullah <ariff@MyBSD.org.my>
 uid                  Ariff Abdullah <ariff@FreeBSD.org>
 sub   2048g/8958C1D3 2005-10-01

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEM+MioRBACP2lgLXXL1cIqZ8sdgUMaon8gBQWTn40tjTV3N6GtR+NUYbQI2
 Fcg43aopA9VVoeVyBlCSAyaiLTzZkyg1XRDqsjz9BnRWotwTX2e26ndVgsUzmXs6
 NjBcCYYNfVQ09BN3B05FRlPRpveMzCkZCFmWJCzjAYBMg/60fSia2In4twCg6Pr9
 Bp/eR5Ny9z4WzpIsynAt6rMD/1pDoV+FbZ6iw80Zq7pdyspPdPCRIzXhYsoe5uTX
 kjWRWixctbphxgvMheQWZNPNhDyDo/YvuPa2qtrHCDqRYSgmAHPC+NWfyoJhCMjG
 WMjcW9wWZ0j2Oc2uCTvficrGKF8U9ol6E+x6tlc5Cw2jjrPkwJCd70W9SByrgIdv
 51bNA/4nBw7S9grYcnKChYu9mGMsAixCXzMeIVc043Y2SD1NBg59ZNiaSkmRyD6E
 dCYRDhQeF2CePV3ZhlXDxOm6vD2l4H+9sQ1TRlEP/ARejwJrPPRO+plCf8pLDgj+
 78Kj2OlEwC+ziMdXyk8W91FhtCCDXQgDnf3ND/h4IWTzrVD0dbQjQXJpZmYgQWJk
 dWxsYWggPGFyaWZmQE15QlNELm9yZy5teT6IYAQTEQIAIAIbAwIeAQIXgAUCQ1EY
 kQYLCQgHAwIEFQIIAwQWAgMBAAoJEJa/nXjFMEza1FsAnjbSH6NqUl+VC42MGNYG
 6xGCfJoxAJ93L2Zf9C/ug6afFr4Bh/HoJbFiOrQiQXJpZmYgQWJkdWxsYWggPGFy
 aWZmQEZyZWVCU0Qub3JnPohgBBMRAgAgAhsDAh4BAheABQJDURiFBgsJCAcDAgQV
 AggDBBYCAwEACgkQlr+deMUwTNqW7wCeLHdcpasWMJgoqfLIM8PTJ/UlZ28AoLF0
 V2UMd0CdWCANmPNdZcME6jietCdBcmlmZiBBYmR1bGxhaCA8c2t5d2l6YXJkQE15
 QlNELm9yZy5teT6IYAQTEQIAIAIbAwIeAQIXgAUCQ1EYnQYLCQgHAwIEFQIIAwQW
 AgMBAAoJEJa/nXjFMEzaMs0An0gHq10v/5mnLWBYqnwZ+SnZNCYbAKDaTpCa6ddQ
 7jdr/lmi8XwK+blRqLkCDQRDPjIxEAgAudaX6QqmUT7UjXmxjlNr6wdDT0BDCu9H
 ZJuYt9Nf5V0Yd9ExfhRKh2YoYoW0790gka92R7uvrs7FJiu35KrYvOUjmwbouVf8
 Cg2fQqDcw0Lj/CD0meEduZOS4moxv/5GcJc2vsQ1BDsRwX0DmLQYXIaqIsRSo4U4
 KxWi/zZC5TF1Iwo7JyGY1Gc1SMZuWeZC/qx8bQxvkLx1q3qyZybjUtE2WkfqH0bI
 /XCpN5kxDciq/U1IP0H2pU/Md/OAvylKID6uR9yPh9kaOOhcvmOID9oWIMbE8a7x
 eAQ0QkEVpoexA+5DbUarPzjfqUprpZCydaE8s7Gzy/ocegAYqiGQKwADBQf/fxph
 6IW/Be5YFg15+9wZ+1MlEszXw9pZnkLU4Ypwz6ksNjrbpHcEbBdK45kw17pOL+WW
 Yie5tA/b8ndzoga/qyaOa7lH3b4pA78GMhGd7gSzrziNkuE7Yc3WNqjpRVYmVgH+
 9K0rjJaK55hhKDdEGj1jMXNXAXtXra70DNWZt88HLs85goWm7vnnsiPBgOVquYEB
 /q5ExD/E46TkxF5/Kl02LyHTcyhWsUjksmoEi1O/wxXOAxi/GM3QRrkbF7voaC+d
 Og5pxQXsftoXsk5fBEDBD1iCqqs1m2IJIUwuMxVlcc+IvD/eYejrtNlkzh5NLash
 evj4a81s2LLPh5qd3YhJBBgRAgAJBQJDPjIxAhsMAAoJEJa/nXjFMEzaXHkAoLi5
 OZgXddFLJYSXXnK3iwzYho2tAJ0Ze7tHvJd2md4VSth52CSBYDEemA==
 =2tPN
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.2. Shaun Amott <shaun@FreeBSD.org>

 pub   1024D/6B387A9A 2001-03-19
       Key fingerprint = B506 E6C7 74A1 CC11 9A23  5C13 9268 5D08 6B38 7A9A
 uid                  Shaun Amott <shaun@inerd.com>
 uid                  Shaun Amott <shaun@FreeBSD.org>
 sub   2048g/26FA8703 2001-03-19
 sub   2048R/7FFF5151 2005-11-06
 sub   2048R/27C54137 2005-11-06

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 NnNrFxKZ
 =zwEb
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.3. Henrik Brix Andersen <brix@FreeBSD.org>

 pub   1024D/54E278F8 2003-04-09
       Key fingerprint = 7B63 EF32 7831 A704 220D  7E61 BFE4 387E 54E2 78F8
 uid                  Henrik Brix Andersen <henrik@brixandersen.dk>
 uid                  Henrik Brix Andersen <brix@FreeBSD.org>
 sub   1024g/3B13C209 2003-04-09

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 7w2qYVU=
 =4lil
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.4. Will Andrews <will@FreeBSD.org>

 pub  1024D/F81672C5 2000-05-22 Will Andrews (Key for official matters) <will@FreeBSD.org>
      Key fingerprint = 661F BBF7 9F5D 3D02 C862  5F6C 178E E274 F816 72C5
 uid                            Will Andrews <will@physics.purdue.edu>
 uid                            Will Andrews <will@puck.firepipe.net>
 uid                            Will Andrews <will@c-60.org>
 uid                            Will Andrews <will@csociety.org>
 uid                            Will Andrews <will@csociety.ecn.purdue.edu>
 uid                            Will Andrews <will@telperion.openpackages.org>
 sub  1024g/55472804 2000-05-22

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =inzo
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.5. Eric Anholt <anholt@FreeBSD.org>

 pub   1024D/6CF0EAF7 2003-09-08
       Key fingerprint = 76FE 2475 820B B75F DCA4  0F3E 1D47 6F60 6CF0 EAF7
 uid                  Eric Anholt <eta@lclark.edu>
 uid                  Eric Anholt <anholt@FreeBSD.org>
 sub   1024g/80B404C1 2003-09-08

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBD9dFQARBACzmGtuaKFqQwoRV32TI4ANBPHPlXkKXJ1WYQQkahzP/VfzNOUH
 VbjIMQqrNPawOcrFyEFuI/FJLWXewhrcrM+of831BXWqnQ7ketGqKUO3xT18N1MG
 BVCx7F1wpPW42YkhFVAubZ5tyHLOVSc+iJZVGgZ5mUi57odqZ1l+rnqpjwCgnXx5
 tas++vGBPk70vcIP+ZmswGMEAI0Lfr7Qy42P6hbYJZpk/NVAvXMZMUyK7fti2lR8
 BCOQr8lSdFUZMAqOhlGSfr75Lp8YhR4R4qCSISPXIbtkpYpS5A4YOk22qljLfyrC
 vki3U3Qum1eO2L67jswb+hQ7pCeaddNm9Jmsg+CJOZl6nfDIJpC8yoXH76W8tXAm
 1DgiA/96RKTseIR0z79ahlxX5HDr2A5bPM5CZBdPba4tSuFIwd28HVUdLhJmsGpC
 uVnQ5VnhBh5coNBhcb+ngZCOr9NvvyvwrxdYYGvuABeWS3v2UGx7XnJQmBQubWYq
 CEk3wScZWhEoFchvPEVfXtzNBjI6sF1FWMYkAhHaYiH4M7rBiLQgRXJpYyBBbmhv
 bHQgPGFuaG9sdEBGcmVlQlNELm9yZz6IWQQTEQIAGQUCP10VAAQLBwMCAxUCAwMW
 AgECHgECF4AACgkQHUdvYGzw6veNhgCgij4I47kRmhRkdzJeftLig2TG8/gAnRcb
 r7ah3d3nPKNLRN+nQDTp0uxctBxFcmljIEFuaG9sdCA8ZXRhQGxjbGFyay5lZHU+
 iF4EExECAB4FAj/CqF0CGwMGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQHUdvYGzw
 6vfvYgCeIy1G5U6YPFK2QZNhB7SazQXwvjgAoJmxWRZr8zKOmcMiYFf1tj05UDhC
 uQENBD9dFQEQBACpBlENAalxZonZ7K2NU6xiH/qz+XI+ZU6WQh58iUlM0QPUU8ta
 Ot8uQUL5DT6G5myFDZufYomYrdzaLxuZbzpWzDOFGqb9aWLlHC16ydWbIRvPif0D
 ar9wFJX3b5DFkVICUYXTKTx/O/VqcpGHH7tLInuipYRapOBrUw1LU87qLwADBQP+
 KbuF41ujgb7QfPX5x5Cdg9D9SZAQyxu5TbsSXmc4fuel10QFMdWyMEUW2rMLixYn
 cWw7AfziHCy3uWOOm1qxm8npYCIRp0jG3M/Jydc8iQTqL59v0/UBOxPQ1pYZxE/8
 EOmbHRHe9BQt4pfouuLVKXGzxg3NW6nXXNQVEeOyqFaIRgQYEQIABgUCP10VAQAK
 CRAdR29gbPDq9y8MAJ0dP1d27SdsNNU4d8nFpwrXfXXa2wCfRvgv8i7ziyodkgwl
 B8LNmWvWUn8=
 =2V8B
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.6. Mathieu Arnold <mat@FreeBSD.org>

 pub   1024D/FE6D850F 2005-04-25
       Key fingerprint = 2771 11F4 0A7E 73F9 ADDD  A542 26A4 7C6A FE6D 850F
 uid                  Mathieu Arnold <mat@FreeBSD.org>
 uid                  Mathieu Arnold <mat@mat.cc>
 uid                  Mathieu Arnold <mat@cpan.org>
 uid                  Mathieu Arnold <m@absolight.fr>
 uid                  Mathieu Arnold <m@absolight.net>
 uid                  Mathieu Arnold <mat@club-internet.fr>
 uid                  Mathieu Arnold <marnold@april.org>
 uid                  Mathieu Arnold <paypal@mat.cc>
 sub   2048g/EAD18BD9 2005-04-25

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =vtoU
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.7. Marcelo Araujo <araujo@FreeBSD.org>

 pub   1024D/53E4CFA8 2007-04-27
       Key fingerprint = 9D6A 2339 925C 4F61 ED88  ED8B A2FC 4977 53E4 CFA8
 uid                  Marcelo Araujo (Ports Committer) <araujo@FreeBSD.org>
 sub   2048g/63CC012D 2007-04-27

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEYxSRMRBACUOhoJNgNPJtP5AcENhALcif0n7o785oCDaTGrMNPV75DdnR8o
 +mHl4POS1bZ7RYHdo7SHCbJqu0nLO4OCeAagamnK4lW+qaa0KaC6WxBiS2/K3qFe
 Y4mDMQRPxBNUWUh7A6VpXMBWk8n6ieyMGLiLQj7+d0fImSY3NdX547qZswCgnjln
 RlpLKFjRIRtNt9RKZQbm0JcD+gMXo+MoUHHKKnSKIQt3u7rnN3Mpnr4OGsa7J6KJ
 whm6GPX0zHzjKUhXCDOJwaYBpOJYNLTTNS3nKpq7GOkQDg7Q4I89/Q8S6AVwCvX1
 N4Jdeebm0jJBrzVNdbezIYEBwL5k+2YN6FcaC1yKBTk3N7qF7/4dmfRNO14qLFaz
 E7T3A/94lP7YT9FHqmNr9RPuy9rmz1bZhU/7tEimLF2o2Y6ntxsbSY1StVHJj0ln
 cCNlMV4vrIP6Ce73W51Vw1iKNapQy2113lWVfc6dwLdhRxWDVMNPKW8ESxqrFSJ9
 IVTzZvPQoqrXOsuVKTej0MC395UbdiLGWckmsJIYVrPaX+C7lrQ1TWFyY2VsbyBB
 cmF1am8gKFBvcnRzIENvbW1pdHRlcikgPGFyYXVqb0BGcmVlQlNELm9yZz6IYAQT
 EQIAIAUCRjFJEwIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEKL8SXdT5M+o
 kMEAn26jMz7Tux/fTt8Z6V59+qhhd62EAKCGEPvDrh8Ye46LyJJj2ZeA8sWNtrkC
 DQRGMUkmEAgAgSVxd8hyDpx7nndMLjTIfpla4/mOP6VSkmzF0Enj1ESzOeTVC765
 gtnjjsFq5Vy5Gv3wdLwwDkcCij5FkBCgSi9EBcp5ooFpNfN9UtHT6/2Z9X7laLiS
 qQtS7xbqU1bxUQ4sK6AdjhOgzdDz8KOeWUjs6WO+/Touq/gouggxMbg/SWjywsfk
 SkgJ9SwH/o+QXvTEloyTwqwA7ptckvFKeBiyiA8RI/T2wqHUHmRE7YrI+HZz1b8q
 kPqALkZFoZVgYEVHjIuuuT5KttaQYvAdHgWjgTTjugeCfHj186yQbIG3TOD0ToLc
 KXFycft7oYFku55Elo0bRS2mxT6/SptmrwADBQf9Gws09t+AcOYUaLH3V8EKLg24
 1r/aEfu7tPYMZ/xHmibOkxxxQgJEUAIqE4jZY6fMrwUj4F9p4Q8E3mN/wkpY2qHJ
 4yUI71cv7NEOeXLvU3bdS5wwvlEK3obIJZfhzefmUncPQ+pEVdbtoGT2ehosqe4K
 nw+bBE9q1Q8elF4mr6mNTavSZBs2FTJ84S009pbMyqyZZZ61RL1H0XmZV4s03Ywf
 tJpc/uTSwgB5I9SiSi1clafGLRzWx4BzToIeHmE70Ycl1PGJQ5kmf2tmTPrVbKCX
 F/4+S3Sn85D9s3jk6LfxMfLiSzErBkkV/zZaXcNFTPfGZ21Dp6/0IyKF+HnNuYhJ
 BBgRAgAJBQJGMUkmAhsMAAoJEKL8SXdT5M+omBEAn3t4uIC5dceYeU8j15UnzECK
 pAWBAJwI/yul4wCtXeyIhg0vYCrExTl5Wg==
 =3ciY
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.8. Satoshi Asami <asami@FreeBSD.org>

 pub  1024R/1E08D889 1997-07-23 Satoshi Asami <asami@cs.berkeley.edu>
      Key fingerprint = EB 3C 68 9E FB 6C EB 3F  DB 2E 0F 10 8F CE 79 CA
 uid                            Satoshi Asami <asami@FreeBSD.ORG>

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 mQCNAzPVyoQAAAEEAL7W+kipxB171Z4SVyyL9skaA7hG3eRsSOWk7lfvfUBLtPog
 f3OKwrApoc/jwLf4+Qpdzv5DLEt/6Hd/clskhJ+q1gMNHyZ5ABmUxrTRRNvJMTrb
 3fPU3oZj7sL/MyiFaT1zF8EaMP/iS2ZtcFsbYOqGeA8E/58uk4NA0SoeCNiJAAUR
 tCVTYXRvc2hpIEFzYW1pIDxhc2FtaUBjcy5iZXJrZWxleS5lZHU+iQCVAwUQM/AT
 +EqGN2HYnOMZAQF11QP/eSXb2FuTb1yX5yoo1Im8YnIk1SEgCGbyEbOMMBznVNDy
 5g2TAD0ofLxPxy5Vodjg8rf+lfMVtO5amUH6aNcORXRncE83T10JmeM6JEp0T6jw
 zOHKz8jRzygYLBayGsNIJ4BGxa4LeaGxJpO1ZEvRlNkPH/YEXK5oQmq9/DlrtYOJ
 AEUDBRAz42JT8ng6GBbVvu0BAU8nAYCsJ8PiJpRUGlrz6rxjX8hqM1v3vqFHLcG+
 G52nVMBSy+RZBgzsYIPwI5EZtWAKb22JAJUDBRAz4QBWdbtuOHaj97EBAaQPA/46
 +NLUp+Wubl90JoonoXocwAg88tvAUVSzsxPXj0lvypAiSI2AJKsmn+5PuQ+/IoQy
 lywRsxiQ5GD7C72SZ1yw2WI9DWFeAi+qa4b8n9fcLYrnHpyCY+zxEpu4pam8FJ7H
 JocEUZz5HRoKKOLHErzXDiuTkkm72b1glmCqAQvnB4kAlQMFEDPZ3gyDQNEqHgjY
 iQEBFfUEALu2C0uo+1Z7C5+xshWRYY5xNCzK20O6bANVJ+CO2fih96KhwsMof3lw
 fDso5HJSwgFd8WT/sR+Wwzz6BAE5UtgsQq5GcsdYQuGI1yIlCYUpDp5sgswNm+OA
 bX5a+r4F/ZJqrqT1J56Mer0VVsNfe5nIRsjd/rnFAFVfjcQtaQmjiQCVAwUQM9uV
 mcdm8Q+/vPRJAQELHgP9GqNiMpLQlZig17fDnCJ73P0e5t/hRLFehZDlmEI2TK7j
 Yeqbw078nZgyyuljZ7YsbstRIsWVCxobX5eH1kX+hIxuUqCAkCsWUY4abG89kHJr
 XGQn6X1CX7xbZ+b6b9jLK+bJKFcLSfyqR3M2eCyscSiZYkWKQ5l3FYvbUzkeb6K0
 IVNhdG9zaGkgQXNhbWkgPGFzYW1pQEZyZWVCU0QuT1JHPg==
 =39SC
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.9. Gavin Atkinson <gavin@FreeBSD.org>

 pub   1024D/A093262B 2005-02-18
       Key fingerprint = 313A A79F 697D 3A5C 216A  EDF5 935D EF44 A093 262B
 uid                  Gavin Atkinson <gavin@16squared.co.uk>
 uid                  Gavin Atkinson (FreeBSD key) <gavin@FreeBSD.org>
 uid                  Gavin Atkinson (Work e-mail) <ga9@york.ac.uk>
 uid                  Gavin Atkinson <gavin.atkinson@ury.york.ac.uk>
 sub   2048g/58F40B3D 2005-02-18

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =w86g
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.10. Philippe Audeoud <jadawin@FreeBSD.org>

 pub   1024D/C835D40E 2005-04-13
       Key fingerprint = D090 8C96 3612 15C9 4E3E  7A4A E498 FC2B C835 D40E
 uid                  Philippe Audeoud <jadawin@tuxaco.net>
 uid                  Philippe Audeoud <philippe@tuxaco.net>
 uid                  Philippe Audeoud <philippe.audeoud@sitadelle.com>
 uid                  Philippe Audeoud <jadawin@freebsd.org>
 sub   2048g/EF8EA329 2005-04-13

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =Ed5M
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.11. Timur I. Bakeyev <timur@FreeBSD.org>

 pub   1024D/60BA1F47 2002-04-27
       Key fingerprint = 84BF EAD1 607D 362F 210E  69B3 0BF0 6412 60BA 1F47
 uid                  Timur I. Bakeyev (BaT) <timur@bat.ru>
 uid                  Timur I. Bakeyev <timur@gnu.org>
 uid                  Timur I. Bakeyev (BaT) <bat@cpan.org>
 uid                  Timur I. Bakeyev (BaT) <timur@FreeBSD.org>
 uid                  Timur I. Bakeyev (BaT) <timur@gnome.org>
 uid                  Timur I. Bakeyev <timur@gnome.org>
 sub   2048g/8A5B0042 2002-04-27

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =r3u1
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.12. John Baldwin <jhb@FreeBSD.org>

 pub  1024R/C10A874D 1999-01-13 John Baldwin <jbaldwin@weather.com>
      Key fingerprint = 43 33 1D 37 72 B1 EF 5B  9B 5F 39 F8 BD C1 7C B5
 uid                            John Baldwin <john@baldwin.cx>
 uid                            John Baldwin <jhb@FreeBSD.org>
 uid                            John Baldwin <jobaldwi@vt.edu>

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =BVS/
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.13. Nick Barkas <snb@FreeBSD.org>

 pub   1024D/7E7582A4 2006-02-10
       Key fingerprint = 5DF1 3ABB 4F75 F76C E83F  322F C8B2 427A 7E75 82A4
 uid                  S. Nicholas Barkas <snb@freebsd.org>
 uid                  S. Nicholas Barkas <snb@moduli.net>
 uid                  [jpeg image of size 13220]
 sub   2048g/AF72C3A3 2006-02-10
 sub   1024D/3F6C2D91 2009-04-21 [expires: 2010-04-21]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 SXtKr0viTRFOP09rUJVRvlLlVAtVMFZTV3VYllm2WtZb810RXi9fS2BoYYNinmO5
 ZNJl7GcFaB5pNmpNa2Vse22RbqVvuXDMcd5y73P/dQ12G3cneDJ5O3pDe0p8T31R
 flN/U4BRgU2CR4NAhDeFLYYghxKIA4jyid+Ky4u2jJ+Nh45uj1OQN5EakfyS3pO+
 lJ2Ve5ZZlzWYEZjsmceaoZt6nFOdKp4Cntmfr6CFoVqiLqMCo9akqaV8pk6nIKfy
 qMOplKpjqzOsA6zSraGub689sAuw2LGmsnOzQLQMtNi1pLZwtzu4B7jSuZ26Z7sy
 u/y8x72Rvlq/I7/twLbBfsJHww/D18SfxWfGLsb1x7zIgslIyg7K08uYzF3NIc3l
 zqnPbNAv0PLRtdJ30zjT+tS71XzWPNb917zYfNk72fvautt43Dfc9t203nPfMt/x
 4LHhceIy4vPjteR45T3mAubJ55LoXOkn6fXqxeuX7GztQ+4c7vfv1vC38ZvygvNr
 9Ff1RfY19yj4HPkT+gz7BvwA/Pv9+v76//8AAAFbAvMEbAXtB2kI4wpXC9UNSw7I
 ED4RtxMtFKkWGxeTGQgafxvzHWUe1SBJIbUjJCSPJfgnYCjGKisriizpLkYvnTDz
 MkYzlzTjNi43dDi3OfU7MjxsPaE+00AEQTBCWkN/RKNFxUbjR/9JGkoyS0dMW01s
 TnxPjFCZUaZSsVO9VMZVzlbXV99Y5lnuWvRb+l0BXgZfDGASYRhiHWMiZCdlLGYy
 ZzZoOmk/akNrRmxJbUtuTm9PcFBxUHJPc050THVIdkR3P3g5eTF6KHsffBR9CH37
 fu1/3oDOgb2Cq4OXhIOFbYZWhz+IJokMifKK14u6jJ6NgI5hj0KQIZEAkd6SvJOZ
 lHWVUZYslwaX4Ji5mZKaaptCnBmc8J3Hnp2fc6BJoR6h9KLJo56kcqVHphym8KfF
 qJmpbqpCqxar66zArZSuaK89sBKw5rG7spCzZbQ6tRC15ba6t5C4Zrk9uhO66rvA
 vJe9b75Hvx+/+MDSwazChsNhxD3FGcX2xtTHssiSyXLKU8s1zBjM/M3hzsfPrtCW
 0X/SadNU1EDVLtYc1wvX+9js2d/a0tvG3LrdsN6m35zgk+GK4oHjeORv5WbmXOdR
 6EbpOuos6x7sDuz87eju0u+68J/xg/Jk80L0H/T59c/2pPd2+Eb5FPng+qn7cPw3
 /P39wf6D/0P//wAAAQMCLAM/BFUFbQaKB6EIuQnPCucMAg0XDi0PQBBYEW0SgROT
 FKgVuxbNF94Y7xn/Gw0cGx0oHjIfOSBBIUkiSyNOJFAlTiZKJ0UoPSk0KicrGCwJ
 LPQt3y7HL60wkTFzMlMzMDQKNOM1uzaQN2Q4ODkHOdY6pDtxPD49Bz3QPpk/YUAp
 QO9BtUJ7Q0FEBUTKRY9GU0cXR9xIoElkSilK7kuyTHdNPU4BTsZPjFBTURhR3lKl
 U2xUM1T6VcFWiVdRWBlY4VmqWnJbO1wEXM1dll5gXypf9GC+YYliU2MeY+pktmWC
 Zk5nGmfnaLRpgWpPaxxr6my4bYZuVG8ib/Fwv3GOcltzKXP3dMV1k3Zgdy13+XjF
 eZF6XXsne/F8u32Ffk1/FX/dgKSBaoIwgvWDuoR+hUKGBYbHh4qIS4kNic6Kj4tP
 jA+Mzo2Ojk6PDY/NkIyRTJILksuTipRKlQqVy5aMl02YDpjQmZOaVpsZm92coZ1n
 ni2e9J+7oIOhTKIWouGjrKR5pUemFqbmp7eoiqleqjSrC6vkrL+tnK58r1+wQ7Er
 shazBbP4tO+167bst/O5AboVuzC8U71+vrK/8cE6wo3D7MVYxs7IVcnmy4jNOc73
 0MTSotSP1ovYl9qz3NvfFeFd47HmEuiB6vjte/AH8p/1M/fS+nv9Mv//AABuZGlu
 AAAAAAAABjYAAJeRAABYuAAAVUEAAIwVAAAoVwAAFqgAAFANAABUOQAC8KMAArXC
 AAGo9QADAQAAAgAAAAEABQAKABEAGQAjAC8AOwBJAFkAaQB7AI4AogC4AM8A5wEA
 ARoBNQFSAW8BjgGuAc8B8QIVAjkCXwKFAq0C1gMAAywDWAOGA7UD5AQWBEgEfASx
 BOcFHgVXBZEFzAYJBkgGhwbIBwsHTweUB9wIJAhvCLsJCQlYCakJ/ApRCqgLAQtb
 C7cMFgx2DNkNPQ2kDgwOdw7jD1IPwxA2EKsRIhGbEhYSkxMSE5MUFhSbFSIVqxY1
 FsIXURfhGHMZBxmcGjQazRtoHAUcpB1EHeYeih8wH9gggSEtIdoiiiM7I+8kpSVd
 Jhcm1CeTKFQpGSnfKqkrdSxELRYt7C7EL58wfjFgMkYzLzQcNQw2ADb4N/M48jn1
 Ovs8Bj0UPiY/O0BVQXJCkkO3RN9GCkc5SGxJokrcTBlNWU6dT+VRL1J9U89VJFZ8
 V9hZN1qZW/9daF7VYERhuGMuZKdmJGelaShqr2w4bcVvVXDpcn90GHW1d1R493qd
 fEZ98X+ggVKDCITAhnyIO4n9i8KNi49XkSeS+pTRlqyYipprnFGeOqAnohekDKYE
 qACqAKwErguwF7ImtDi2TrhouoS8o77EwOfDC8Uwx1bJe8ufzcHP4dH91BfWLdg+
 2krcUd5U4FLiSuQ+5i3oF+n+6+Dtv++b8XXzTPUg9vL4yPqb/Gv+Of//AAAAAgAF
 AAsAEgAcACYAMgBAAE8AYAByAIUAmgCwAMcA4AD6ARUBMgFPAW4BjwGwAdMB9wIc
 AkICagKTAr0C6QMVA0MDcwOjA9UECAQ9BHMEqgTjBR0FWQWWBdUGFQZXBpsG4Acn
 B28HuggGCFQIpAj2CUoJoQn5ClMKsAsPC3AL0ww5DKENDA15DegOWg7PD0YPvxA7
 ELoROxG/EkUSzRNYE+UUdRUGFZoWMRbJF2QYABifGT8Z4hqHGy0b1hyAHSwd2h6K
 Hzwf8CClIVwiFiLRI44kTSUPJdImmCdfKCko9SnEKpUraCw+LRct8i7QL7EwlTF8
 MmUzUjRCNTU2KzckOCA5IDojOyk8Mz1APlA/ZEB7QZVCs0PURPhGIEdLSHpJrErh
 TBpNVk6VT9hRHlJnU7RVBFZXV61ZBlpiW8FdI16HX+9hWWLGZDVlp2cbaJJqC2uH
 bQRuhHAHcYtzEnSbdiZ3s3lCetN8Zn38f5OBK4LGhGKGAIegiUCK4oyGjiqPz5F1
 kxyUw5ZrmBSZvZtmnQ+euKBhogqjs6VcpwWorapWq/6tpa9NsPSym7RCtem3j7k2
 ut28hL4sv9TBfcMnxNLGf8guyd7Lkc1Hzv/Qu9J71D/WB9fV2ajbgt1i30rhOeMw
 5S/nN+lK62Xtiu+58fH0M/Z++M37Jf2I//8AAAADAAkAEwAgADAAQgBXAG8AiQCm
 AMUA5gEKATABWQGDAbAB3wIRAkUCegKzAu0DKgNpA6oD7gQ0BHwExwUVBWUFtwYN
 BmUGvwcdB34H4ghJCLMJIQmSCgYKfwr7C3sL/wyHDRMNpA45DtIPcBASELgRZBIT
 EscTfxQ8FP0VwhaLF1gYKRj9GdYasRuRHHMdWR5CHy0gHCEOIgIi+iP0JPAl8Cby
 J/Yo/SoHKxQsIy00LkgvXzB4MZQysjPTNPU2GzdDOG05mTrHO/g9Kz5gP5dA0EIM
 Q0pEikXNRxJIWUmjSu9MP02RTuZQPlGZUvhUWlW/VyhYlVoFW3pc8l5vX+9hdGL9
 ZIpmG2exaUtq6GyKbjBv2XGHczh07HakeF56HHvcfZ9/ZYEsgvaEwYaOiFyKLIv9
 jc+PopF1k0iVHZbxmMWampxunkGgFKHmo7elh6dVqSGq66yzrnewN7H0s621YbcP
 uLi6W7v3vY2/G8CiwiHDmMUIxnDH0ckqynrLws0EzkDPdNCg0cfS6dQC1RfWJ9cw
 2DXZNdow2yjcGt0K3fTe3N+/4KHhfuJZ4zDkBuTX5ajmdedC6Ano0umW6lrrHOvc
 7JztWO4V7s/viPBB8Pjxr/Jk8xjzzPR+9TH14PaQ90H38/il+VT6BPqz+2D8Dvy6
 /WT+Dv61/1r//wAAZGVzYwAAAAAAAAAKQ29sb3IgTENEAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAG1sdWMAAAAAAAAADwAAAAxpdElUAAAAFAAAAMRmckZS
 AAAAQgAAANhuYk5PAAAAEgAAARplc0VTAAAAEgAAASxmaUZJAAAAEAAAAT5wdFBU
 AAAAGAAAAU56aFRXAAAADgAAAWZqYUpQAAAADgAAAXRubE5MAAAAFgAAAYJkZURF
 AAAAEAAAAZhrb0tSAAAADAAAAahlblVTAAAAEgAAAbRzdlNFAAAAEAAAAcZkYURL
 AAAAHAAAAdZ6aENOAAAADAAAAfIATABDAEQAIABjAG8AbABvAHIAaQDJAGMAcgBh
 AG4AIADgACAAYwByAGkAcwB0AGEAdQB4ACAAbABpAHEAdQBpAGQAZQBzACAAYwBv
 AHUAbABlAHUAcgBGAGEAcgBnAGUALQBMAEMARABMAEMARAAgAGMAbwBsAG8AcgBW
 AOQAcgBpAC0ATABDAEQATABDAEQAIABjAG8AbABvAHIAaQBkAG9faYJybbJmdphv
 eTpWaDCrMOkw/AAgAEwAQwBEAEsAbABlAHUAcgBlAG4ALQBMAEMARABGAGEAcgBi
 AC0ATABDAETO7LfsACAATABDAEQAQwBvAGwAbwByACAATABDAEQARgDkAHIAZwAt
 AEwAQwBEAEwAQwBEAC0AZgBhAHIAdgBlAHMAawDmAHIAbV9pgnIAIABMAEMARAAA
 bW1vZAAAAAAAAAYQAACcXwAAAADAHWWAAAAAAAAAAAAAAAAAAAAAAHRleHQAAAAA
 Q29weXJpZ2h0IEFwcGxlIENvbXB1dGVyLCBJbmMuLCAyMDA1AAAAAP/hAGhFeGlm
 AABNTQAqAAAACAAFARIAAwAAAAEAAQAAARoABQAAAAEAAABKARsABQAAAAEAAABS
 ASgAAwAAAAEAAgAAh2kABAAAAAEAAABaAAAAAAAAAEgAAAABAAAASAAAAAEAAAAA
 AAD/2wBDAAYEBQUFBAYFBQUHBgYHCQ8KCQgICRINDgsPFhMXFxUTFRUYGyMdGBoh
 GhUVHikfISQlJycnFx0rLiomLSMmJyX/2wBDAQYHBwkICRIKChIlGRUZJSUlJSUl
 JSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSX/wAAR
 CAEWAPADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL
 /8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0Kx
 wRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNk
 ZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5
 usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEB
 AQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAEC
 AxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygp
 KjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImK
 kpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk
 5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD6pooooAKKKKACiiigAooooAKK
 KKACiig0AFFJn1oJAGc0ALRWbqesWOmSW0d3MEN0xWP3IGT+lZzeMdAXVRphvh55
 HpxnOMU7MDo6KYkiv91lb6HNOpALRQKKACiiigAooooAKKKKACiiigAooooAKKKK
 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
 3MH9
 =8MQb
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.14. Simon Barner <barner@FreeBSD.org>

 pub   1024D/EBADA82A 2000-11-10
       Key fingerprint = 67D1 3562 9A2F 3177 E46A  35ED 0A49 FEFD EBAD A82A
 uid                  Simon Barner <barner@FreeBSD.org>
 uid                  Simon Barner <barner@in.tum.de>
 uid                  Simon Barner <barner@informatik.tu-muenchen.de>
 uid                  Simon Barner <barner@gmx.de>
 sub   2048g/F63052DE 2000-11-10

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 8o9/o+UAoI65F9bRERosGt0m0f0q1WwwdGcz
 =HMUk
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.15. Doug Barton <DougB@FreeBSD.org>

 pub   1024D/D5B2F0FB 2003-01-16
       Key fingerprint = 9DD1 E44C 8660 ADA6 580F  83B6 C886 A42B D5B2 F0FB
       uid                  Doug Barton <DougB@DougBarton.us>
       uid                  Doug Barton <DougB@DougBarton.net>
       uid                  Doug Barton <DougB@FreeBSD.org>
       sub   4096g/2DBB3F89 2003-01-16

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.4.7 (FreeBSD)
 Comment: Public key for DougB@{DougBarton.{us|net}|FreeBSD.org}

 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
 nQ==
 =McJg
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.16. Vitaly Bogdanov <bvs@FreeBSD.org>

 pub  1024D/B32017F7 2005-10-02 Vitaly Bogdanov <gad@gad.glazov.net>
      Key fingerprint = 402E B8E4 53CB 22FF BE62  AE35 A0BF B077 B320 17F7
 uid                            Vitaly Bogdanov <bvs@freebsd.org>
 sub  1024g/0E88C62E 2005-10-02

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEM/sJgRBAD26RM3o9QC+V5JO6/zr3ffRnNb08Bc6YIvpTd8yUhc4AIa1Zbg
 QHoUNZ0pOLffeZ3i0wnqV3lMV1cPMtvSRWlvh+XSiSg8hYlnh7+oAwmqs0Zev1r7
 w/In683ytXREuidcak8qWq4GAkET20sIICV7Ye56HJDlKrtOjUWDhVQJvwCg8jUp
 CDtJ8V6Cw6GgjxH1iaNR1X0EAMKCUJwZgIoh2Rpqfrbwv92AD7dmaJJLVfnUSMCE
 GvjcZ+O41PpvWi3PkxmgA3Zb0sJ3OSfgPi3Tnj3Nllyhqnf3WO1Yumzq3myBg+F/
 qH9a8BXvVJlk/2cbYUC6uJeGMCC971X3hceu51J41k0ano7/ALIWeoUC1HhkAOaP
 f7IoBADkQCDuIvdJ7KebBMgXIHwAJnycVZsXXQPlOx0gty4+OVMY9PfpEm7T+1DM
 mWwuckntM9tSYuInbUPco70LBxuHHBNnhiUOTkijZ5GK/VF+WPnqOEopkjL7LD2q
 wSYqGaBPbl/noAoEb3Nx7h8D94kJUF7Gchs9fCH6UxHd+/Q8jbQhVml0YWx5IEJv
 Z2Rhbm92IDxidnNAZnJlZWJzZC5vcmc+iF4EExECAB4FAkM/sJgCGwMGCwkIBwMC
 AxUCAwMWAgECHgECF4AACgkQoL+wd7MgF/cbhwCghoShm9pCHbiUjXin1mR+0HaU
 XvAAniOPVmeKUuBBKCc3KLPIhfCCKt9viEYEEBECAAYFAkM/zzcACgkQhdRQRWtp
 GwOrjACfRJUhoojMI3sBMsjH9IuCwj8CikoAn3RlHMmCAx7JIiAMmg2gC1qjIUsU
 tCRWaXRhbHkgQm9nZGFub3YgPGdhZEBnYWQuZ2xhem92Lm5ldD6IXgQTEQIAHgUC
 Qz+yTQIbAwYLCQgHAwIDFQIDAxYCAQIeAQIXgAAKCRCgv7B3syAX91XMAKDJ89F+
 46BctXCALIn53c89waWDrQCgmCHSVr/rVUMU6fnyHtoNvYXtkFuIRgQQEQIABgUC
 Qz/PMwAKCRCF1FBFa2kbA/bwAJ4mwlXag5w3scB7heyAtqr7w6491QCghh/fVv3t
 EOFNlmwonrudaMSIYTm5AQ0EQz+wmRAEAKke9/e3jLaDx8i86+J0eTOAypCQy7WU
 QajhZDFqBHbBQTDRbcYG1dLYd/sC9oUwqgaLe+yEYw3JdfsiaiHsE2yZ/S4S2wTL
 7MrUqOc1aVPu95c3Xcef13DKCMx36B4EbMwJa00bU5ut6/7tHly5Edb8nkn5vKP4
 00TbjMa/3ZCHAAMFA/9OffxCzJmwUjCOxAg2GBberPxovtCtwAw7goKZzuga9+9Q
 dZBICMIc4l/I+zjDlphF/k9I5CQGOwoKTo+OCsZN7SSAB94NV9BEoA1MX9drWv0y
 CZJlD1bSrcPFVjWajXqC6NpAAiCdQapvV1sJK0F09v/RTHdPAZcRnpg/YS2jDohJ
 BBgRAgAJBQJDP7CZAhsMAAoJEKC/sHezIBf3nP8AoNBIM6JqCrnzQealKln3Tc+t
 HMPIAJ9td+R2zFqwuX+IMk135J0T/PXeaw==
 =bBFz
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.17. Renato Botelho <garga@FreeBSD.org>

 pub   1024D/2244EDA9 2003-12-16 [expires: 2011-12-31]
       Key fingerprint = 4006 C844 BC51 AD75 CE60  6E24 E824 5B89 2244 EDA9
 uid                  Renato Botelho <garga@FreeBSD.org>
 uid                  Renato Botelho <rbgarga@gmail.com>
 uid                  Renato Botelho <garga@freebsdbrasil.com.br>
 sub   1024g/7B295760 2003-12-16

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBD/fJGwRBAC/raNISTKpkhGpJA6iYgLgHzfbJU8uwiej3s+7psND31ZYSEhH
 VkSxq10pHFeVCsbeyh/FMsru+pDJXRcsACkPTJR4CzC1VW/FmsDTKAbaZPFty433
 xbSU83u3XAqv7JQBtsTs8o7RBlJtiiAuFbtDcsotEASJ8UGKFVxdRSlHwwCgsspa
 c9VFTt28MSnF23UKv32YA5cD/iLUNRgZqkZHjdGHxaMcpEwVDWFC8nrygNNQ5LBo
 cfb+NAVT3vSIc5NDeuP7XPSdJcWqCkH0+XUTqzuspo9NIYyjHoOj+JulZtW7CFB8
 vFWjjbeajKlp6X4EisvdNdwfpzivp5UanNmNjDGth3caN3oPowyVDpZITeTYgRd7
 zUIyA/9Mx44O+40mpbYbyn0tatgeb7KYUKV7SZgrPwew0Pt10VzwzqXEQFbP2jS+
 AvO3A/zrEr1xUwMij++E7rvW/IgE6lEE+KYCI7y1Xg4wHo8WieVCn8PGNZWM+bEj
 UnUxRSH5l9fgHsJmcOauc1x0a+opNcMtvZmqPTjbZvAPjBhv3rQiUmVuYXRvIEJv
 dGVsaG8gPGdhcmdhQEZyZWVCU0Qub3JnPohnBBMRAgAnAhsDBgsJCAcDAgMVAgMD
 FgIBAh4BAheAAhkBBQJJbIJZBQkPH9TtAAoJEOgkW4kiRO2pH9UAn2eSV6G7SXU0
 ymjHzAIZ7FwOQBTdAKCaKIHAEMGLe/VmSHxFxwtb72HsiohnBBMRAgAnAhsDBQkL
 yEBgBgsJCAcDAgMVAgMDFgIBAh4BAheABQJC0mBOAhkBAAoJEOgkW4kiRO2pkPoA
 njnmuUHDUbjKNug/Zgu7qu0KICnZAKCplajp8xZ7xiUdpw8tTZJIpeesmrQiUmVu
 YXRvIEJvdGVsaG8gPHJiZ2FyZ2FAZ21haWwuY29tPohkBBMRAgAkAhsDBgsJCAcD
 AgMVAgMDFgIBAh4BAheABQJJbIJfBQkPH9TtAAoJEOgkW4kiRO2pjx0An1A0hyP0
 BgCSVZf+s1NZDzrF8ikeAJ9o8ixUlWnojXZYskywN6DlVM35WYhkBBMRAgAkBQJA
 4wTGAhsDBQkKTNfiBgsJCAcDAgMVAgMDFgIBAh4BAheAAAoJEOgkW4kiRO2pU+AA
 n1o76JDlXxlE0klr6jrmwzwxg74mAKCubxTs2QGcWa21XGt3JnjPLENz4LQrUmVu
 YXRvIEJvdGVsaG8gPGdhcmdhQGZyZWVic2RicmFzaWwuY29tLmJyPohkBBMRAgAk
 AhsDBgsJCAcDAgMVAgMDFgIBAh4BAheABQJJbIJfBQkPH9TtAAoJEOgkW4kiRO2p
 kPkAn2sxKiq4kCxvB8ZMDvJgWr/HIUNUAKCbcjVlpPf379ejLIO4uxkmi4kw04hk
 BBMRAgAkBQJFGCPmAhsDBQkLyEBgBgsJCAcDAgMVAgMDFgIBAh4BAheAAAoJEOgk
 W4kiRO2pDT4AoKyx7LzHHpcYBWfyC6jS1L2dA/BWAKCRK7SAp1Iln32qwg+Iu7LX
 lRCXRbQkUmVuYXRvIEJvdGVsaG8gPHJlbmF0b0BnYWxsZS5jb20uYnI+iGcEMBEC
 ACcFAkdz2pIgHSBUaGlzIGVtYWlsIGlzIG5vdCBtaW5lIGFueW1vcmUACgkQ6CRb
 iSJE7ammQgCgsR3rNJnwPPwXSCW5HyWrZQpyBc8AoJaTN9mfNKqnxSyyI5c4RPqe
 KAa3iFoEExECABsFAj/fJGwGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQ6CRbiSJE
 7akT0ACgkeOd/u5gJG833xM+oiRdjKYlzyEAmPgpMzDyTDJeLRNGxyDb0HsWIa6I
 YQQTEQIAIQYLCQgHAwIDFQIDAxYCAQIeAQIXgAUCQD5AfgUJBCGDEgAKCRDoJFuJ
 IkTtqU7FAJ9+ORyf52+toIQaIn/7fJoM4EPo8QCfXWD9EqIVxIbnhKp5nVHRRaTI
 NamIYQQTEQIAIQYLCQgHAwIDFQIDAxYCAQIeAQIXgAUJC8hAYAUCQkFjwQAKCRDo
 JFuJIkTtqcduAJ9cPzau4HWLpjwvWvR/eekeUVoGqQCgr+f4lAZxs3FQuB+GGKHb
 yTy1d1GIZAQTEQIAJAYLCQgHAwIDFQIDAxYCAQIeAQIXgAIZAQUCQMX60gUJCkzX
 4gAKCRDoJFuJIkTtqWhmAJ9uWFOmGL1/VSFC9Ci96jfdpgNhoACgp0Nh3LkAyShc
 TYqC2A9H/eJ8pIuIZAQTEQIAJAYLCQgHAwIDFQIDAxYCAQIeAQIXgAIZAQUCQMX6
 0gUJCkzX4gAKCRDoJFuJIkTtqWhmAJ90eDwLnpBVxL6NCKU2viOHJBMw2QCfd7sC
 rASlwuc+xaeSW9WF6Grsm+u0JVJlbmF0byBCb3RlbGhvIDxmcmVlYnNkQGdhbGxl
 LmNvbS5icj6IZwQwEQIAJwUCR3PaniAdIFRoaXMgZW1haWwgaXMgbm90IG1pbmUg
 YW55bW9yZQAKCRDoJFuJIkTtqUaUAJ4oQ8d69jMYeushjQqaSEE1E5SAPACgr0IN
 vCvZ3gLmJk3M5mhkbwJC7ieIZAQTEQIAJAUCQtKB3wIbAwUJC8hAYAYLCQgHAwID
 FQIDAxYCAQIeAQIXgAAKCRDoJFuJIkTtqYy9AJ96+O8BadhzBsV7ApTSdNbyrjHK
 QACfZz3JPUQji16l9QqnIUbeo3P1x/m0J1JlbmF0byBCb3RlbGhvIDxnYXJnYUBi
 cmFpbnNvZnQuY29tLmJyPohnBDARAgAnBQJHc9qrIB0gVGhpcyBlbWFpbCBpcyBu
 b3QgbWluZSBhbnltb3JlAAoJEOgkW4kiRO2px7EAoLG9dc1nRjo1vRAF0JUu30Uq
 k8xaAJ4sx/Jl4gz4hb5FDevNRTSzu7+FZ4hkBBMRAgAkAhsDBgsJCAcDAgMVAgMD
 FgIBAh4BAheABQJAxfrOBQkKTNfiAAoJEOgkW4kiRO2pr9kAn2eAuMiPWZgAu6ud
 ufUcWg9x/MrSAKCqMcUfE9ywTkzPIHl4rVF7NZni+4hkBBMRAgAkAhsDBgsJCAcD
 AgMVAgMDFgIBAh4BAheABQJCQWNPBQkLyEBgAAoJEOgkW4kiRO2pxJsAoJwQ1H8K
 k1E2/J76okyQDKfKRiajAJ9xe7FUqDBs/+gDY8m2nXY9Q1jYEIhkBBMRAgAkBQJA
 xfajAhsDBQkEIYMSBgsJCAcDAgMVAgMDFgIBAh4BAheAAAoJEOgkW4kiRO2pdO4A
 n0EeP6NKXMxuuyYGznhbrjy1i3O/AJ47i8d5H4wNnXSOKi8rNErYc2ldFrRAUmVu
 YXRvIEJvdGVsaG8gKEZyZWVCU0QgcmVsYXRlZCBzdWJqZWN0cykgPGZyZWVic2RA
 Z2FsbGUuY29tLmJyPohnBDARAgAnBQJHc9q6IB0gVGhpcyBlbWFpbCBpcyBub3Qg
 bWluZSBhbnltb3JlAAoJEOgkW4kiRO2puhMAnAmjYDrzDdUZUpie74gzaqALK4eK
 AJ98Xy8z9Jp7U+xXgjH/85oB+6yORohGBBERAgAGBQJCXWGxAAoJEEsqSJfTnaDj
 10MAn17wHlm4xS3HdXe4+OU0oqQflbURAKDWc2d8hr8FTscq3CBbvTKT+nXE/ohk
 BBMRAgAkAhsDBgsJCAcDAgMVAgMDFgIBAh4BAheABQkLyEBgBQJC0mBKAAoJEOgk
 W4kiRO2p0gAAn09QdDJ9Kk0xYAtnKkjCuxwzF97iAKCoq/rWsJTeWaw1jdY0ahew
 Hc/hfYhnBBMRAgAnAhsDBgsJCAcDAgMVAgMDFgIBAh4BAheABQkLyEBgBQJCQWPH
 AhkBAAoJEOgkW4kiRO2pMRkAn0OII+9C9K2zLDW9xO52R9GeNJb5AKCRKgARiz9y
 MQIBL7jgLGH9xhCnbLkBDQQ/3yRtEAQApbe0v2n44Ryi3dUr3dZ6HruyCEj/5GuW
 8F7yz2CyZjsKcnkUC+nnsUn18YOBQhGBei1aMvjs4j9xk8dORKxNcm6gsfAoApKS
 3TYUasaW2QmToJJRSFDVbMo9Bg4Ul/NbvlU1b81pu0Zww1OcJn3BctuKqG7mKGPI
 jA3KOYUfSH8AAwUEAIXm/DCsHGGIwJCHGDmEAsGIYJk9g2NWh2ObW/2uUblHbDd6
 h63gVWxd5Y4n1Ql9lNDqhaiJl4BRAVEaoW4tK0JNZOhtf2drAPZsrOm3/Jc29D74
 T55lgOILJd2GQ9a4sy+OzzXfrYsB77C21vkIUi/pYZfTz/f/Ar1MT1mVj3/uiEYE
 GBECAAYFAj/fJG0ACgkQ6CRbiSJE7amGagCgsHfJXA4PvaIw/d2hHS9VlAh5Z6cA
 oKPyew4gQHo/5fCeBunSpIQbAanR
 =YyLh
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.18. Konstantin Belousov <kib@FreeBSD.org>

 pub   1024D/DD4C6F88 2004-07-29
       Key fingerprint = 39DA E615 A45C 111D 777B  3AD0 0B7F 8C04 DD4C 6F88
 uid                  Konstantin Belousov <kib@freebsd.org>
 uid                  Konstantin Belousov <konstantin.belousov@zoral.com.ua>
 uid                  Kostik Belousov <kostikbel@ukr.net>
 uid                  Kostik Belousov <kostikbel@gmail.com>
 sub   2048g/18488597 2004-07-29

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEEIq/MRBADOl8+kLZyTRb2xRJmgwq0a0xIPuQxBvUa3Ac7T2d3r0mCXQAni
 MG6IoSxnTGhZd8JRMya03RNAEFDFIxozgBh7tWOBfCxWB5KHS6F2PfXoWpHz6APL
 9d1eSu8qMMJ0aHCk5icZdhMWlviFMwyl2x+VhJKsxpRbrU1hbWd27x6ouwCg+AD7
 cPohqZoWEAlbS9Pc0elxsq0EAJw4lcIrlUCc7Z9G0e92HXc4IyeTswv5is/yDz9g
 7LUyp1qJbqggV2LGtjTqit1ldccIB4D4N7afokMQiye1zAyntpPcef+oIBf4zFr0
 KmSnG0IgaUm8fpZJ/qumOkU8GX2SYiKUQtMQ1xdbnCQaRdOjC796C7PKgK7QDD7+
 qbLhBAC2ysSQZ824HHS1EN48NlV25vV9HBIag1VwUVmO7IVGHdxZKFfnyXrtiQmq
 wpb3okcsCls5x1QQsT54095kP20UrYDHho8yndB1bPRlLnAhtJQpGVTQ7P44ab1A
 SxIcp+gvgIoHFKRVsj949uhn7vcbzJEe15whWTj06WckVmuCL7Q2S29uc3RhbnRp
 biBCZWxvdXNvdiA8a29uc3RhbnRpbi5iZWxvdXNvdkB6b3JhbC5jb20udWE+iGAE
 ExECACAFAkM9SpYCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRALf4wE3Uxv
 iJ7ZAKCj7lMo10TeSyCYE3Y6/dr9RnqAtwCfZro6JLEIqa60+ef1NyHxscvQ0ce0
 I0tvc3RpayBCZWxvdXNvdiA8a29zdGlrYmVsQHVrci5uZXQ+iF4EExECAB4FAkEI
 q/MCGwMGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQC3+MBN1Mb4jQewCeJmg8ftV4
 x7l2AoSAPsIDoQgXZFkAn0v/zBXhfjFoDcMK0cJTyPhYm4vptCVLb3N0aWsgQmVs
 b3Vzb3YgPGtvc3Rpa2JlbEBnbWFpbC5jb20+iGAEExECACAFAkM9SmQCGwMGCwkI
 BwMCBBUCCAMEFgIDAQIeAQIXgAAKCRALf4wE3UxviMLdAKD2lvxZqIpK4J8s7f5g
 HZ/BeoqkLgCeMoiVpODH3W1jp7WmIAcPTX27OEe0JUtvbnN0YW50aW4gQmVsb3Vz
 b3YgPGtpYkBmcmVlYnNkLm9yZz6IYAQTEQIAIAUCRIECYwIbAwYLCQgHAwIEFQII
 AwQWAgMBAh4BAheAAAoJEAt/jATdTG+IhlkAoIR7laQrFh1QrZlIG95dj2oFOwDa
 AJ9rpiIgeCaPJZKediKAWDCaJ81IXLkCDQRBCKwAEAgAksTzLKLHecQ1G1mHaw0D
 5E4YmadGDnx/K4abjzzINUP033VgKdMXe3ocJOI4YeALGzhoFAjj3s5VvFqgUL8B
 8xBn5r2vSGLe1WZCZmq5kzfls7E1I6TSQSRqIm2CRBYzSAFaqs5uaOPGMZ+fSfYO
 W11wtIChNJBDVhO5YgRKJlxhMCaLTTH6qB1ZCrSswIFLgApssTUHcHW32eh9qxQW
 U7XD7MjMbkbr1Ig1scaGkjUGLoIHboqFYDS8sLMaJp/RUyflAbzizL3vI7G3i4jP
 zBLPrWnnhVDPWGJptuPedyFU2ZtgX4E+txP9yDoOrcjBgJEj5JAO+nTMIoabxtXR
 lwADBQf+JdFUtGznzSmMgjfjW1N1cuM8xe2JBA1TRx6Bg3Kn6bVixmpRBOxQ3gtl
 k+o2dOHZtPtB22J9IMsc72fAFHpDqogm5ADN+PdtHsjWYS4U64Pg008VYc+IWSXx
 fqLLRK3luwDFn9mpvgcWc8yue8Di4jZ+SojNtmvSSRofm8ruf+6uJS6EPUz9dzH2
 PcMqhI0+nJMn20Zeq4g84g4G2KUEo1Y+ruL4iUUQcVRTWIBHw4jkFdGdMG5z/2Ao
 myeZ35IoHFJF3NoY/H6/ZrBe2D2qbY4CsrvCutUEKIKtJqTHSB80pJS7hdlSH269
 3SSIuof00KCuWbrWQvGp3Mpx9kp76IhJBBgRAgAJBQJBCKwAAhsMAAoJEAt/jATd
 TG+I/pEAnA+MZs48oSlZF452F1xW9q75hhGVAKCzW5aFbJsAnJClz8JS27TynnPd
 CQ==
 =EJ3p
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.19. Anton Berezin <tobez@FreeBSD.org>

 pub  1024D/7A7BA3C0 2000-05-25 Anton Berezin <tobez@catpipe.net>
      Key fingerprint = CDD8 560C 174B D8E5 0323  83CE 22CA 584C 7A7B A3C0
 uid                            Anton Berezin <tobez@tobez.org>
 uid                            Anton Berezin <tobez@FreeBSD.org>
 sub  1024g/ADC71E87 2000-05-25

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 mQGiBDks22ERBACsqOob/YoPnaI/xubQKn/CCUFsaEMqL14TZ+FSlCphq3uZ7Y0W
 Qg2eqaTp97lG2NTVNEzF7K0yr/C3ofEQmTINQTd7DmEj04DDlR+t8BMFe6Xz2sBI
 WlEPD54ZfJVqhEX5P6T0xe9hiqjXKwQHHl1skKniKeO07o3K/4bCDDMfKwCg5DY1
 /2j/Gid0YmxsJCIlg9kzRGMD/1lkSkQ0KrPH3RVPMrkRWE3rvvMES/F7jYNfKDQj
 X5lJDKoIQyWh1JwAmW/O10V+24Vl6JEFNQ4QJ7ix9hlkI59YS4TERxCUGGDpl3jr
 Lae6FFxYc1D5H8LLpiTSApmZcLxUE8CFoZJLySHgjp8qzvA60wMOjkfkWMgw3BpE
 N8DVA/9UF+5ue4bLHsPn7Jv5NzOkzaTgC/9O3UZUj/jYOp/vkI+0wPnP0U5f304P
 iLpYl1tlCEpciWF88MS5k3+8zsk8trqorss/XQfFzhHVtvRtgVxj87V0Z01E2ZZr
 YlqrnzHKQZOAKM2X9FiRZOAkndkkpeB+7SSeXDP62I56B+690LQfQW50b24gQmVy
 ZXppbiA8dG9iZXpAdG9iZXoub3JnPohWBBMRAgAWBQI5LNthBAsKBAMDFQMCAxYC
 AQIXgAAKCRAiylhMenujwBepAKCCtVcVRS40E9SY4Su8GTOBVoH4UwCgu3gK3zMy
 /QhZnnhmTKaguG6XopqIRgQQEQIABgUCOSz5ngAKCRCBvdPEDh+beRnEAJ9xU+6P
 TJrLGk8PKtO+UY8Zt7MTxgCdHYzFsXZ81j9HY0Z4EaHkQBXv1JmITAQQEQIADAUC
 OS6PpwUDCWdTAAAKCRDXjLzlZqdLMXMaAJwOE+6Jh5PnfHc09x3JKN4/a0v63wCg
 6GdysmObSBQXATzYBuhy/0eFCCC0IUFudG9uIEJlcmV6aW4gPHRvYmV6QEZyZWVC
 U0Qub3JnPohXBBMRAgAXBQI7JNTmBQsHCgMEAxUDAgMWAgECF4AACgkQIspYTHp7
 o8CQ3wCeI+P8VsHzHpfmUMa5kCzjBeqj3zcAoKYmyZUSxhV9TBQPo2WQ7zF3zcoB
 tCFBbnRvbiBCZXJlemluIDx0b2JlekBjYXRwaXBlLm5ldD6IVwQTEQIAFwUCOyTV
 DwULBwoDBAMVAwIDFgIBAheAAAoJECLKWEx6e6PATIsAn3clXqExEiP/Q/IDQb7e
 /yolgMrRAKDPw+6ZxTOJFba2HWEto0PwQ/COE7kBDQQ5LNt+EAQAjHltp9g75EOw
 pEDSUvK/B0aRUsjoIyAokRuW9Tg8S0xIhtV8ogcklvcXjQbjiEsAiO13hX7zmdmb
 yH7xLiSjea/m/whmNr9K094BS1K5i7mmUqNEFOyPB7VkPbRs5gF0dCkHT5uVgqFJ
 HSbss3zPyGYEBi8uDokIfOt4o5CEMYsAAwUD/269N/UwZkO4+NYivNX0ZpcUouqV
 YDPQ8YLwSrkwWpG7UNvNHd1HS43OWwAOy585SkLpZkjlW58NqyXJuWVC0xJtdTrI
 MKTZ3IJNXMK2wdK+nBuTL4IvJwkf04pwFel80F2NtgUjR3ZgIlRNvFtvtCkNPg0j
 t7J8pPvL2vU5hz7HiEYEGBECAAYFAjks234ACgkQIspYTHp7o8Bj7wCfSZsld8vv
 iM02pWobJy/VvsBJKU8An2auT0HLmVLClDph/fQa+k1R2qsR
 =ISZ3
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.20. Damien Bergamini <damien@FreeBSD.org>

 pub   2048R/D129F093 2005-03-02
       Key fingerprint = D3AB 28C3 1A4A E219 3145  54FE 220A 7486 D129 F093
 uid                  Damien Bergamini <damien.bergamini@free.fr>
 uid                  Damien Bergamini <damien@FreeBSD.org>
 sub   2048R/9FBA73A4 2005-03-02

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =uQuq
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.21. Tim Bishop <tdb@FreeBSD.org>

 pub   1024D/5AE7D984 2000-10-07
       Key fingerprint = 1453 086E 9376 1A50 ECF6  AE05 7DCE D659 5AE7 D984
 uid                  Tim Bishop <tim@bishnet.net>
 uid                  Tim Bishop <T.D.Bishop@kent.ac.uk>
 uid                  Tim Bishop <tdb@i-scream.org>
 uid                  Tim Bishop <tdb@FreeBSD.org>
 sub   4096g/7F886031 2000-10-07

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 5ACdHjn4iuMiXZA8cDDPAi8VybndPak=
 =F66Y
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.22. Martin Blapp <mbr@FreeBSD.org>

 pub  1024D/D300551E 2001-12-20 Martin Blapp <mb@imp.ch>
      Key fingerprint = B434 53FC C87C FE7B 0A18  B84C 8686 EF22 D300 551E
 sub  1024g/998281C8 2001-12-20

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 mQGiBDwhwB0RBACelK3FYxd6cT5ukbiSdVLHPLfzgH3F34JfS6Q4FMXgEAPtx7iy
 U4Lc8A4Z2gCq1ZHBZTzKc61U+nzHe+eUWtAj0h3qDP4DOd7JCZbh4SW6dMIC7MAM
 /9J5br6e2fIIn3rzbROXSW7CJPox2D/zZcT1b727Wgy5NHUob3qej/zhwwCgrZ0o
 KBapUXgnKhesQzKlH2wWCJkD/3njAzJsFS7nDdTssMtd7ip9W97uNOFLuJ1/Sg5S
 332BUby73hNzSXlS4rhtQB6NVBRLfGASuEYBJQIEz6aao/lDprIxTusCTrO/EGqa
 Dy5y4XE1ClIyZ0yVw05UJiTOZ7Mu/kUTBBzQ2i15lxjzXBt9pNifvtcKBhcDmdzQ
 zepQA/9Jio4IBFmjPDsl3kpvA8KqP7VXKFMMBVT9SztYVIeiFgbvff/YCqzkE5RD
 0PWUFPF3o8rzsCovlpySfUNLUlfqxEZ+5+/5ky7AbJ6Vmyn7Tl+mBSZs4mTV7ktN
 526ngUaW2j+aO2SdWao/di+sRutrgRjJqyvgGn1YGnrSoKbMJ7QYTWFydGluIEJs
 YXBwIDxtYkBpbXAuY2g+iFcEExECABcFAjwhwB0FCwcKAwQDFQMCAxYCAQIXgAAK
 CRCGhu8i0wBVHh3IAKCDMueq8RCcRO+3Lc+uQyXqDKCf3QCgpVWa7oS6lTiNxwSP
 enZ7+4g+TkK5AQ0EPCHAIhAEAI3iAhZEDBjyJvPS74CXq1ypWvXfQUCYADCc/Cuv
 3xrr1p4ff3oYc+IIVdeOQktKWRP1dK7v1JLmqFsNQQIs+NtgHyO+azyX5vJGVRTg
 aCIuMMTnrDBC7VbAnWXtTHF5VKmmd891Y+nk68p5YVnRPc/fReXEY6dA9lqW0bN2
 f2jLAAMGA/9rMbPpnRy+uvaAQChkHvOV1RnDAhN2R+U9u3d0uNnv7sWa/TJrcdig
 KNUsUvXqIXVkqEMrYHTbCVC4mLMd51MLARiIKOaHeynRZYkEmdi5X7EiBLS9dCUe
 7+vMz4jV6MRIGyr8TBy3CEFIdAnpY6EIVd326PzYIgx8UZw3oEvjGIhGBBgRAgAG
 BQI8IcAiAAoJEIaG7yLTAFUetM4AoJg56qwlr8E1iEs0F33G6POGCWnCAJ4mW9E3
 25TD51pcom8Plwy1BkuBSw==
 =oE+K
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.23. Roman Bogorodskiy <novel@FreeBSD.org>

 pub   1024R/1DAACA46 2004-05-25 [expires: 2009-04-26]
       Key fingerprint = AC27 CF29 5E51 E53F 8C8D  DB90 8074 5B38 1DAA CA46
 uid                  Roman Bogorodskiy <novel@FreeBSD.org>
 uid                  Roman Bogorodskiy <bogorodskiy@gmail.com>
 uid                  Roman Bogorodskiy <bogorodskiy@inbox.ru>
 uid                  Roman Bogorodskiy <novel@clublife.ru>

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mIsEQLMkmwEEAM4cQe1CNDdIWcOlb8221icriocsnJOWZ4XMX1Ww7CTUfPZU31Ho
 boNl3sK/+KsJxwt6frqOBnnvtQYQEYzIQNJ4pMKC2Mz15jMYndwsuxg6L09e6+R1
 7RfIEFEXU7p6YWQFLoBFUW16XF7ye8YrjFJxAEfTa4jnXF27ERopVpUFAAYptCVS
 b21hbiBCb2dvcm9kc2tpeSA8bm92ZWxARnJlZUJTRC5vcmc+iL0EEwECACcCGwMG
 CwkIBwMCAxUCAwMWAgECHgECF4ACGQEFAkgS0BsFCQlA3vgACgkQgHRbOB2qykZG
 oAP8D28j3pBxbOch9/mlDL048M1lWMnJhAJ1wYpcAbmKseBrEWCz9czxPj/UgUNl
 6EfRLT71W0HOH/eN74zJqwWb80wviX9nOKApsmqtv528fujoMYF+XeweBX4a+Cta
 D+krJUxM0rA8kETvLcHCehl9EDJdNHHM5piSCTrnj8XBNJS0KVJvbWFuIEJvZ29y
 b2Rza2l5IDxib2dvcm9kc2tpeUBnbWFpbC5jb20+iLoEEwECACQCGwMGCwkIBwMC
 AxUCAwMWAgECHgECF4AFAkgS0B4FCQlA3vgACgkQgHRbOB2qykZ1+AP/ajL5tZdQ
 hoM075iBc+q34czeeLccV6nXGDkQSyJ2gp654+oOiDKIU+HeaaNVpgvvtzZqoFQZ
 GH38DWM0G/WLuaEJDsCPSVHdKMgAe98FaLWe/oekTS0KF/epuK73GHRBNZaCPrcn
 tVWALyo/O6V65023Lor4DcU6pjhDbwk6Yrq0KFJvbWFuIEJvZ29yb2Rza2l5IDxi
 b2dvcm9kc2tpeUBpbmJveC5ydT6IugQTAQIAJAIbAwYLCQgHAwIDFQIDAxYCAQIe
 AQIXgAUCSBLQHgUJCUDe+AAKCRCAdFs4HarKRnIcA/4iBqhJ7zdEx1j1qQ0rj9hO
 R/OQISesx17fRMwd/u3tmDjAyX22Pgqhhj56f2eJ2SQUr0PJXin6UwaYEQ4ifbz0
 z6zVZlmiLVEwJk6O43dhHc6k9RxM/eDltzbCa4aBQwuQg3Seyg4Z2HCvRrKv9ESZ
 9NZVI+hqVyQl9hyJ95b8CIi0BBMBAgAeBQJAsySbAhsDBgsJCAcDAgMVAgMDFgIB
 Ah4BAheAAAoJEIB0WzgdqspG/3kD/0isk4pKJTMKCcoaGcZsGW6C3e5CZw8Mr+OW
 AsxHGh/Iv3iGB7gGoO07R/I+uAMNR2VbPQAvYPlMwrIhubNzUZRzkdlBu7QQyT7C
 lyEIAn/ikUzfmxvD2U0D0SrHguz7YcSH1Vjb9R7J8dc+qlPJBRXIX6saNG6+FbSk
 KN+J8hOBtCVSb21hbiBCb2dvcm9kc2tpeSA8bm92ZWxAY2x1YmxpZmUucnU+iLwE
 EwECACYCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAUCSBLQHgUJCUDe+AAKCRCA
 dFs4HarKRpUEBACyMr1jFO6G1HTwixax4+jMmto+9Mdp3uifEr/Rwa6mFyIGQx1G
 3N/bHWgWNIUkD8ZAKoD4jaijPNpE9yEUsXSkZD7TOkvRfsFbGDb0PissDnraRr0o
 hNH2K/edi23vXQH/rHj7N/B4fjF+3x0jocg3+Dnh1ADEJcPBN2HQGVAkkA==
 =ilKf
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.24. Alexander Botero-Lowry <alexbl@FreeBSD.org>

 pub   1024D/12A95A7B 2006-09-13
       Key fingerprint = D0C3 47F8 AE87 C829 0613  3586 24DF F52B 12A9 5A7B
 uid                  Alexander Botero-Lowry <alexbl@FreeBSD.org>
 sub   2048g/CA287923 2006-09-13

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEUHm3YRBAC/bBl9E1saFAVuS5wtnBQ7BbXPOr21SBExZ3t+f8k2PG2SsKYL
 xNMAn1drC9UdbUVcQDzlGcWQONYRKj4kWoYSYNDOElwa7Rv/f4z4NnIhOxxT6G+M
 qQTFWj6MjrCVPZh+b5Y3DTdmNxuJq+Yf9+DFsxc0i+xhMrbbjuokWRFdxwCgvb8Y
 fLNYJqjf9V5hhnvt3K2/L9sD/2frMKR7o1Ie3CgQbhZgYLkGlMmAlyrKLamdRzRl
 AmjJ35mkIQ9iu36BpsUmVL9WPjy2sdep0FyRLRgu5/q9qhJxy31GsVYv5y9m9+px
 X+00CN1a/5g1d6gxLUY30KsOL8OXSqwmq36iJHEsRxFfs9NJ/dBui1cFW0dDNmdg
 nE9xA/0aX+9BPSiu/hXFa5A2Q8fCB1wOcaru+QzgbY7nWnse2PQ7Nsv0xEMkaYdT
 AqA9I/UyssYeRygD7H8edd24xy39EBAVLLCD57Tjye2fCOyWBIGJU7Jtc4b/DJgm
 6bP2bSscB44ybBmlWdza2sgui9D4beWQvEVZGgpsnqnCjJQDOLQrQWxleGFuZGVy
 IEJvdGVyby1Mb3dyeSA8YWxleGJsQEZyZWVCU0Qub3JnPohgBBMRAgAgBQJFB5t2
 AhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQJN/1KxKpWntZ4wCfWY5pLq6V
 rCpsAiGcIniMBUoueTYAn0b5suADC5pawqBP/Xbv95e69gDWuQINBEUHm5sQCADC
 7ynjQmBXd8q2Ei9ab6oO6Q4XbEu2eMLcm1C4b1cu8Riyb0bYI8fQ0JkYPWBDdgvG
 iVuDGHjLRCJm8LDV4VAhpkn6obPaDW2ZVf3urkAsCszSmv0jlEO+grOj48c7sLeR
 NpZX76FCKFtgHClQOSfR/9eoKFQh5jveWgSQ0gEW95gGQShy1cTi1XUdJdxilL6G
 GNBfSNgAFwQBkepgzjR853bVysoZEF0Z9MF/PZgmAXoPYTs54tA24LSETmBo5BjA
 yUTI6Dv4+jKXqmDphX6BjxeJkYxlKAyVBgNrKZahPoyOPd0FvMINn4MpOJdpq3sv
 PSXwbexIrroMJQz7nR9vAAQLB/95AIR3oGIOhDCAUwf18K0Uv+v2cKVhClHqyAGy
 zHjyoyEoSnhApWVXD2hNvqfxy37t5/5EzaU0mvC0GMpv0trBa9uBRk8GrXgILnzh
 dYjhbSPZStx3D/0lFBLHt9qYjFFQweKNun9coOV0TzdXigH5PFxiks90Qc/sfr6N
 v6hXA4MAe81zeEdQafBkreHDo9fL4i+GwxF9novXNZ0C+YNJ6+3wOIJwacCZ1bdy
 gWTM8pTa7vtvtA0Pk4CZpGKSICg/jDq9dZT+vaNGFnKvQOQv1RPNLs/QqfvUo4ZF
 khopn5yHXGJjLZp0Zds4MdqXLddUNHXW20Yki11eZ9NXK1KdiEkEGBECAAkFAkUH
 m5sCGwwACgkQJN/1KxKpWnuSYgCeOgBV4svD8sqNBVN467Le6aLzPxIAoKsNXerk
 njcpzY8FzVuY52JnLNP4
 =CUqZ
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.25. Hartmut Brandt <harti@FreeBSD.org>

 pub  1024D/5920099F 2003-01-29 Hartmut Brandt <brandt@fokus.fraunhofer.de>
      Key fingerprint = F60D 09A0 76B7 31EE 794B  BB91 082F 291D 5920 099F
 uid                            Hartmut Brandt <harti@freebsd.org>
 sub  1024g/21D30205 2003-01-29

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.2.1 (FreeBSD)

 mQGiBD43wzYRBACpuUuayKjLpf+tMndpkOwxmpaPkLFxiA/dI1iWjY8I9ItDLZyM
 LqgYXemOOga6vbTvIUq7Bjzl3oR72kjNX3J1EljsMj7dxksoY5lflEMdxAyzdVoI
 +/cu+cWiP0Z9unKpYmTk8S13sUTtZc0+ixioaUvHzSJ0nxQMpIW7dqCDewCgmSVR
 6i2aK4oImAa9+ZbCxg7fCxcD/2xgAAwJSmaiaV/0As3A6IO0eSkbkzFSkMF+ms7C
 OtrHr1zmdM7h8MaGg/jw0Z6eZalYD7AclLvXDW0rxCMFwh06SC2axUTk+aE+vcys
 fuSk/HJtnktHUxZDgb28jf4X6zfcdTKE5dt5a9w3XHHPgdTXjGn7+sQNR4CWDcvq
 1qNQBACOqNxJdCC9tDLycRoupNSwzldMKVBZ2/JdQjfCIq6d8HPMNVLU8PGlDjoy
 RN4QkMZLbwV9Gaigk2DR6vvi8meARADt53x4OjS4W3O/Pc/Aj8rsUcF2mRU/wiJC
 8VkQsnaci5GuaYAssgKroOTZQzxHkOjbk4FeQ70C+wxovRsTh7QrSGFydG11dCBC
 cmFuZHQgPGJyYW5kdEBmb2t1cy5mcmF1bmhvZmVyLmRlPohfBBMRAgAfAhsDBAsH
 AwIDFQIDAxYCAQIeAQIXgAIZAQUCPjlTfwAKCRAILykdWSAJnxpyAJ9eHCdgiEt/
 +Z5Ms8Qe3ekWTYTy1gCfdVWLF2MrZNL/MYOgBhhex70gKzu0IkhhcnRtdXQgQnJh
 bmR0IDxoYXJ0aUBmcmVlYnNkLm9yZz6IXAQTEQIAHAUCPjlT2QIbAwQLBwMCAxUC
 AwMWAgECHgECF4AACgkQCC8pHVkgCZ+BBQCeMpgFMMm4siEtrzqdisrRaxJJvosA
 nA7UDwOVoHDZaAkFD0HNcUsTkO3KuQENBD43wzcQBADsEH8o/9tD01ScNfhoMbK4
 N7GsIJNFwQf0+MQuplpXQx4eBpI9ST1ZoAUXeM1j4jk5PIAMJzt8w6BAGgcU4iUG
 Un0R/QMTTXVkfovdSe9FW7/QtUjRtTQz3QOfZTkekYauFIiW+lSmH3BDwRXhpKgM
 e19eQZYOPRfLCnLLwqdr9wADBQQA5tIdzlDS80CNZxxoFDKlvOghtrIzPG/wIwGV
 at2clZMLhXESxDxDkpwT7XP1GRLyN/Plh/4k2vwxni7nOJ8BIch7rRh3E48TJat1
 iZ99SFc9iibED5hY/HrKlc/kphFnUuEr/kk82UCv9p4/d2V1+8v1N+Cy2jCGvrip
 IQ6v2fOIRgQYEQIABgUCPjfDNwAKCRAILykdWSAJn0J4AJwMsjovUA6jCJRMEzOS
 kIakJgqJvgCeNLKyNEkyJZh0wZUcEg1zYLRYp/w=
 =+h/9
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.26. Oliver Braun <obraun@FreeBSD.org>

 pub  1024D/EF25B1BA 2001-05-06 Oliver Braun <obraun@unsane.org>
      Key fingerprint = 6A3B 042A 732E 17E4 B6E7  3EAF C0B1 6B7D EF25 B1BA
 uid                            Oliver Braun <obraun@obraun.net>
 uid                            Oliver Braun <obraun@freebsd.org>
 uid                            Oliver Braun <obraun@haskell.org>
 sub  1024g/09D28582 2001-05-06

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBDr1p9kRBADrTCmhk/+XY9Jc34z36wp8zy1rbxGBy80enJM+aFPHks/iYPxR
 WA1tB8BEdGPJliUMYcNGeo+ZX3As1+xxo7NJCc7Zd7Gfs1+fMOXPwKGt02mr+Nje
 +nF9XMfdGPP0IcK9lzkVeEdH2JP41pS2SmrMwsTE/eGv9pFEnnmRxeuFcwCg1RYc
 f8freOk8v68+J99mCUUAGl8EANePcxWbRYgH5KulTzE5nYIt9WBn247T7goE3yn1
 R2VddSXXGhs0byRxXpNAcrysyGshIQY0nnZSB5AUt27tZJucoT1p/BtBFQ6hLCQe
 kaIRL0sdXrVJZn3/Q1G7vJWD6wwS35dro5PsYYPDI+qL1tISlWHZNQ2Y6jGdqhc4
 Len0A/4nV78yB7cLvHksxwvbdtVVn8eVo1B2U+/b4cXhevHAl8AmNN+usmEodxxe
 8FYWV8jY323xiYSMrCpYT9FuD3r2qORMOGWpg0zth6BkhdgH1z2i7koKkGIfc4mV
 6oea3ep5uaU82r1sGe7/cVzMGUwzZq9xizwODfbmSW6E+vdAjLQgT2xpdmVyIEJy
 YXVuIDxvYnJhdW5AdW5zYW5lLm9yZz6IXwQTEQIAHwIbAwQLBwMCAxUCAwMWAgEC
 HgECF4ACGQEFAj4YDoEACgkQwLFrfe8lsbr7rgCg1K0Zl8CPgrQG7BEaZqzSiIM6
 IZAAnjz5ifN2xHJSOJiLYloidZsikNFQtCBPbGl2ZXIgQnJhdW4gPG9icmF1bkBv
 YnJhdW4ubmV0PohcBBMRAgAcBQI9Y1sqAhsDBAsHAwIDFQIDAxYCAQIeAQIXgAAK
 CRDAsWt97yWxuv0CAJ9lUDzKKdaCp/8mJjlXLjlSZaaJTgCfXIqQr58p5MSFkVdL
 hLbK1P1l8FK0IU9saXZlciBCcmF1biA8b2JyYXVuQGZyZWVic2Qub3JnPohcBBMR
 AgAcBQI9Y1tFAhsDBAsHAwIDFQIDAxYCAQIeAQIXgAAKCRDAsWt97yWxukHLAJ9u
 oP9cIdBXldt7XfQ/5xK2fUsHPgCdFIR7cK0l0spO2xjzbzhoPPVShbq0IU9saXZl
 ciBCcmF1biA8b2JyYXVuQGhhc2tlbGwub3JnPoheBBMRAgAeBQJAViQBAhsDBgsJ
 CAcDAgMVAgMDFgIBAh4BAheAAAoJEMCxa33vJbG6MhIAoJ3dqHVStQdGzLPTGbtP
 Zq8wG0jmAKCzMo+si/LFBZAnOqYN3g2yVOOc6rkBDQQ69afaEAQAlaNzX3ql+XfL
 obAAIWW/TdY9Yh6r0fFFoK2Mdt6vungWhzSWb63DprREXyW1k6QbPQxL+pAfeCYZ
 oXQuNBmsUpO1Xn6ViEGRd53D07sNJfBrE/5w3hwL+c9lWSJlt0vHKzFtPAmqenBd
 fA0fs9afiew2sHhk/jz/FAwWcnF4aC8AAwUD/0upFaHEZsf8sVmSEew5tAtZ6i3x
 zaBjhaDv3sYobza57S8mXYhscK+nNHx3bP036wJ0z8ypqb5oCqGzWUkj9OpYZs0u
 Tbpla/MoCI9N1Ch8LfQkWPuvYjHF6LSY3wpZKaNWfeZPCmMT5XPqjuxDB1pCmnAU
 OizLyimZU2Y8tfQWiEYEGBECAAYFAjr1p9oACgkQwLFrfe8lsbqmfgCffgEhvau1
 1EUoZmkdnzUg2rbKYnQAn1fVK9TjWnJWQ/YDOn9hmMZWYjib
 =wrrS
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.27. Max Brazhnikov <makc@FreeBSD.org>

 pub   1024D/ACB3CD12 2008-08-18
       Key fingerprint = 4BAA 200E 720A 0BD1 7BB0  9DFD FBD9 08C2 ACB3 CD12
 uid                  Max Brazhnikov <makc@FreeBSD.org>
 uid                  Max Brazhnikov <makc@issp.ac.ru>
 sub   1024g/5FAA4088 2008-08-18

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEipViERBACsCTYd7As236qQw4dG/xB8p3XbN7pFP/C4yjRJak2QZfsOQ4mR
 7liBgXc0FevU6FQOW4XrcRbQeGFlRE5pb3idwhTKNc58TEifGM2s2ZGgRrR0aIF+
 9s5ZbVNp75FgSsN+9ksAOmz1nSj+M9Ikz464YvA3bHvKP8QQCpPpBgiuSwCg5IBV
 XSvep/e502PHqsiP8H1zGjMD/0xDwDdLfnN1R5tuNDfZEN09BSRlYYFPmMlP177i
 DBCF/2gF1bQ7KL42qBCr49ngVMAEAUlmZwBIN0XvfGe0KWDvc4G/CYqcOiWhbBEA
 pvtJZHE1C/kIRFS/IiM7BVmkdVnn1MzJrGSVPAF85e/iyc1K05C/qCuulqm1aLpf
 8dOeBACDvyvk2uE7R11REnKa6FKvzS2X32YclSM2sApwl+LnFO9eT500Rxzy9ldP
 jKlKR/dO0DwUKxnUO6DOHAEZzvutx1f6ZJksXk/0OsSNkn7+TIt3pKb10udpcCag
 k/ik+o7v+2XB7BlydRBPwcaJE4fq+CWyAbgRfKROetwfTI3ItrQgTWF4IEJyYXpo
 bmlrb3YgPG1ha2NAaXNzcC5hYy5ydT6IYAQTEQIAIAUCSKlWIQIbIwYLCQgHAwIE
 FQIIAwQWAgMBAh4BAheAAAoJEPvZCMKss80S1+cAn0+WKUu5TxrXSF4N8WlRK0mU
 1tcdAJ9Fcv54PisOdQiVUSIw25LqSqWyJbQhTWF4IEJyYXpobmlrb3YgPG1ha2NA
 RnJlZUJTRC5vcmc+iGAEExECACAFAkiyz/wCGyMGCwkIBwMCBBUCCAMEFgIDAQIe
 AQIXgAAKCRD72QjCrLPNEjtdAJ4tcsvvos2CoXmZsTJxuVF0RaEwigCdHgBapPWu
 MPyv9FLRzdWelOfZ3m+5AQ0ESKlWIRAEAOzibN5tPXiGKAHPwaQgnVQiaKv/7HUr
 FVfqycyXJC0/nmJ59UNpJ+0Y4GDwDRYqWqGyyd9diKAUomUwbIuQ71BUibmIZQS0
 3v0jgcfnJAhgz7EFGewgQLHsYwzwTDtPNQCqxDEUwDLKla72ksuodqzx92Dj6SSP
 AfFN/6B2bvQbAAMGA/9XFhkt0SAqXV09CXs3QuHdzuJ0PLadaz31bWITmSLqW2FU
 /EwXt1615g/E/qIwa1PzjZT8JQDAEHKbT5XPXtTzvOAUp8JK2wW9P6JQ6YPT14Vy
 /9PiMvLThxNY3zWjWChWuEf8zohd922OSqlSE8vgOm0H7XUe480/FeP3RP1EKohJ
 BBgRAgAJBQJIqVYhAhsMAAoJEPvZCMKss80StqIAoKpjMeYK0fSi6GpfIaojuz59
 eHHiAJ9ws2o67xPKbWgdqMxn4MfLK+ojbg==
 =m+ns
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.28. Antoine Brodin <antoine@FreeBSD.org>

 pub   1024D/50CC2671 2008-02-03
       Key fingerprint = F3F7 72F0 9C4C 9E56 4BE9  44EA 1B80 31F3 50CC 2671
 uid                  Antoine Brodin <antoine@FreeBSD.org>
 sub   2048g/6F4AFBE5 2008-02-03

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEelsqARBAC37tcs27BitWt9YeIYmpRNgtRH/ndAm8ecJK+7IuEqo1t9IglY
 Uy+lI1xW1H4LrIbmSKmwfg3Gj3lm+12avQ8mf0vVbl2RVxfOQZY2C127Qv6Mg/Ox
 Fwxb7UCWzYi+XAf5XVHyzKLaLq/S56serWDX+mGY83kLhVKXy7pL98bwewCgtr1D
 miY3vAu1NMoWPuZ/2kvLLh8D/i1Zisp0EE5B4QjRFbaSUzfk3tImTKLQtbj4F3S2
 Zo4hh3IRYLGq2OMJ+gH5c5KXMhaxqiK8XCO1pHNdCyaL1PZDW9s0sxPiVv5DDxHU
 Lm1BXyTIJyuAC8KVnMWIfHVoqIX45m0Br6IFyiHU3CFBSsarkC8088HViilTYGd1
 8InNA/4+wVDMqnht2/YeMqyYevKOGw69Dqe+1jeTNOg7h/1EOL2Sytg9EIfyTf71
 IxJAhsKU1ibjAMubERoTN16rPgTx4yrDtRSdfbmnHxrreih6PKsbiaKy76cnYaxz
 sz4VontIIaH+Ye+VmVIQsBS/QIBBki0j9YAzNDcJqCdWKcoeb7QkQW50b2luZSBC
 cm9kaW4gPGFudG9pbmVARnJlZUJTRC5vcmc+iGAEExECACAFAkelsqACGwMGCwkI
 BwMCBBUCCAMEFgIDAQIeAQIXgAAKCRAbgDHzUMwmcdHwAKCrHa3q1ixEdvmpU1Ny
 2SpQrmvslgCfef8t/hiaMLSuyZEsjR1x8cp6hiK5Ag0ER6WyoBAIAJScQspDgp5D
 P/K1ZdT86Ux7Nv2UhZilYF0LPkvZBdfTC80RpjrUvz1m8ZObbCsUO5Ag0j3+Wtms
 6CVaQqfT2RoRyjcnNVJGadWqKmOWVkvZYzHQPl8SZNENYurFFhfy4MCxXf5drkH3
 CV5QqY1onhuvsfl69UZ54e6X3+DjQ3KdtqyyqUez7Qe20ZdIcgC43HcEuqAbAOxm
 /K0zDNvHpjwgleNoFBd8GZfD/biD9EMnhiCBq5rS8Jqh73e9wLtkMfssQunA7ELx
 ZVuC7M5dBBMjRUp0dswAKAgdcaLA0D1NGUNSno35Rzur7sluufivfjLwn+qRLRBM
 FPR+ggIO/Y8AAwUIAIBR74TtznV04mci4vHDds4HX0RI/hxawivtanEAGZvV54hS
 XUnVqpIVgTqKCtmS3gqoQMQBf1+25Rq7UJlVNl4/AoLcl9ZfR140hTSd888OwcB2
 MAHd9CgUXjTHcFQj8tXFhPiWY7SfFwheLDFJUgCqB/ilgPf1XGOYuZfvBxkyXd8p
 TC2sx4iFSUBbY4S6UZN8uokpRZDbTHUPgLHAoOg1lzrzUvZuknEzbcBDgQoVwLWD
 9UCZxl1wxly6oZkq+uggXg7zxWuE5CMdWtz9/FA3CRtRBTqZnHrMM9hlHGgxTYan
 bBTs793WWsKf8rhTRqNDqQdN07YxsmTi3129OSeISQQYEQIACQUCR6WyoAIbDAAK
 CRAbgDHzUMwmcYHKAJ0c3chle4XcJ5c7+0odRWmOZ8m0IwCgndOwp3kjZUZFbAu0
 AxHti2KSFZc=
 =HznU
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.29. Diane Bruce <db@FreeBSD.org>

 pub   1024D/E08F5B15 2007-01-18
       Key fingerprint = A5FB 296B 5771 C1CD 6183  0FAB 77FF DCBE E08F 5B15
 uid                  Diane Bruce <db@db.net>
 uid                  Diane Bruce <db@FreeBSD.org>
 sub   2048g/73281702 2007-01-18

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEWvrjsRBADPHOAUGtAny5WUa+5+6EFo83DOSCxMWqECyfgGcX0fLdQFTlNC
 oQwjuDPJoUX3l2U8+Pr0PbCnU9dAv/nfR4mefBYaSYKrOkKR2JMCUu6Z551wJIOo
 G65q410cwz3scHJ9m52iGRbZoz99+AjGymA/V4zHYV3phF+hXJKamS/DLwCghPo6
 Osexk+odFXJ+Yq8fz9MdvaMEAKPsHsY9gWyzmVtQ8toM3yudoZcjILTsNbX7oDM4
 Q0MWURvY1JkyH5vQ0l/BbJH50CGzFHb1CvDHDyR9wx74U4q58eRnx+HzSC/UukBT
 e/SOBwXM2MHv0D6fHgm7Tepwiy2uc7St5SawiJXEW5XdY2bleovVDanPvFhv2pSz
 z56IA/9O+rsGqWmgutoU97HyoIrHkY1aMAbcVkBocooeioXdm+V4AF+nlIp3pZQ+
 7YS0X7JkyQTRoxvGsGawjktbDGAzBFTYazAS2eKhBE3wyWME/14VR1OVG6EAvli+
 fL4tVUi3xBHDdb8Pd3PzWt1CduBW6RIs2NCrv5baMO35RQo71bQcRGlhbmUgQnJ1
 Y2UgPGRiQEZyZWVCU0Qub3JnPohgBBMRAgAgBQJFr647AhsDBgsJCAcDAgQVAggD
 BBYCAwECHgECF4AACgkQd//cvuCPWxUTzwCfcKKh+vsTusry/Ait8DtdpUse8YMA
 n2URXcmflBA8OQ1JrFFjiW/5N3iwtBdEaWFuZSBCcnVjZSA8ZGJAZGIubmV0Pohg
 BBMRAgAgBQJFr7DmAhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQd//cvuCP
 WxVIvwCdFGub9b6qt+L50ePcYnLy5sthiZIAn3PPdYTUPdXV6DfOtKFPcx6ArSHm
 uQINBEWvrlEQCAC5N9u/zG1ahYsV+kiytZ5Mgt+I+yi5aSCAQPThSGXsVptfZRW6
 0LVElbLL2v+r6ETRK92QrtZLSqM51sKWY+lyJfxRjuW2AsVAL6/NgV7bTuYs2etL
 vo347XX2ff7DrA07mGOAPrer9naBlaLPwWggWO9bU8HzphbL+kI15T0aUXLwIdeM
 LjHOQAypJ9iFsv/OY2A7epAw8zK4LCPA0boBQY6CKcFV9gxDl/kmsqobvBeyAru2
 jFAgeFytIJsP3O1kA1aKEFDolcoPwlVUQiAsFvNtUSX8k8r1HKfQpnjuSCXLU7jE
 82X5VWSAcoX/PyaXDY7AmHJFLpZGyGIs5sLrAAMFCACQPyOQmX0iDjJW8OCpmgE5
 yDv3Jedc/w4546OLOC4aT1wclNZh+iHR2meuFgm6J1bv9h78R6dCkGDJeh8MTCtn
 d9J/IDc/QElCqqndnn5XmXjtGqukXIlIg7iGF71T74K/Nb0Lepb9p9BQpiNqudHJ
 L+KqSAjFT03vfpJab65EpyeOq1ZIswDIWMRb2BFQs/El8rX8cXOSzTrKfWSamRw/
 6l1aBwsmqi8sW23GSBYCd7FKQADVKIu7EN68QT6Diyd9CB0s4U2DjHrr7snncyUF
 A9c6FTX+tIE8NXJ7ku40g7T0WnX8jpuoagdWpjlu/NS2cgaK3n8MwrL5kYYLc6+O
 iEkEGBECAAkFAkWvrlECGwwACgkQd//cvuCPWxWcygCbBuZU/pJ2tZXVsUrFSRts
 8Cvwa9MAn25/zFXyrtEDo+1imX3MjKZrdJC/
 =vYnO
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.30. Jonathan M. Bresler <jmb@FreeBSD.org>

 pub  1024R/97E638DD 1996-06-05 Jonathan M. Bresler <jmb@Bresler.org>
      Key fingerprint = 31 57 41 56 06 C1 40 13  C5 1C E3 E5 DC 62 0E FB
 uid                            Jonathan M. Bresler <jmb@FreeBSD.ORG>
 uid                            Jonathan M. Bresler
 uid                            Jonathan M. Bresler <Jonathan.Bresler@USi.net>
 uid                            Jonathan M. Bresler <jmb@Frb.GOV>

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 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
 pX25BMHqkEMHAxahVagzguPetlTIHxHGRSH3lg==
 =ttzj
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.31. Christian Bru:ffer <brueffer@FreeBSD.org>

 pub  1024D/A0ED982D 2002-10-14 Christian Brueffer <chris@unixpages.org>
      Key fingerprint = A5C8 2099 19FF AACA F41B  B29B 6C76 178C A0ED 982D
 uid                            Christian Brueffer <brueffer@hitnet.rwth-aachen.de>
 uid                            Christian Brueffer <brueffer@FreeBSD.org>
 sub  4096g/1DCC100F 2002-10-14

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBD2rQOwRBADLcEUFT8eaPCGT7y4xMjj7DY6CTI7t3TNjgTPj2tATbxOo3No8
 R0E8PR4MMMpccKTG71n1aNMag5r6y7FtbDyO5sgGKnoCOz8H5/kDVPoEAw8fKYI/
 Q/j05sLuNUShvV+IEHDx4aGdaQOZEnFMyxpXXxsaPIfI/rJ5K8i73+31JwCg/7rr
 OjDVEnXDNUZx12ujNyD9vq0D/jVhCxyKm6f7V6u2Lq3lKUmFFQsYBJmh2p1Inwsq
 tMMdYdT5onCi2EHhBw0nW4ysn7XfdN+Cri7Yk/EAx1DOwIem8mEQG2FcCJ5yOqVV
 p7sz3+bp7vmUzwOmXe1E8QWwcqyRFX+yqcGGxrD6ehgr9llVD3pCApD6N+e9d0vl
 ORy4A/46IvrNPVYlDiDekeQLH4MzXlnVGhX98Lq1o9LIFwl7hUPhqVpG6UatA24B
 K/azip0AMUeD3MeMsKuxFb0qqn/rZ85dW5SSz9cg3rVzmhuYfBdEm6xEWg+BoZpL
 8tFeoCVcX95q4lqjiHgE/d3/VQSRwoWVVG8DmmZFMnnmIt1WoLQoQ2hyaXN0aWFu
 IEJydWVmZmVyIDxjaHJpc0B1bml4cGFnZXMub3JnPohYBBARAgAYBQI9q0DtCAsJ
 CAcDAgEKAhkBBRsDAAAAAAoJEGx2F4yg7Zgt9tgAniNgDKTb5ZAQjBL/doFKFT7m
 s6c7AJ49RwfYfT4be7obYp2ZZ7aEJr+tmIhGBBIRAgAGBQI9tHFTAAoJED4s35lZ
 GelGqJEAoI8CT8/26OAozq7WpOpDQZLH2aI/AKCGizY0oJBtzMdEyYj303NFClV0
 IohGBBMRAgAGBQI9tIqxAAoJENSNEHJ4+KjUFf0AoOcwwaNv48o0G9OvnKVVGY9b
 edo+AJ9UCnX+rTiQOahO/tCiOOVnHgZEM4hGBBIRAgAGBQI99O1xAAoJEJcogidD
 tsgARQsAoNBxaBPOUhAN34qG6g9C+0oXHTC1AJ9vt7I/GfQcGCtPNnHxEm3AoXwh
 5YhGBBARAgAGBQI99RB+AAoJEKZaJJONqkR/Mi0AnRn/99VRozdca285prO+NPkA
 Cg/TAKDdL5bQLQei1SyloKlTqkuWAfVdIohGBBMRAgAGBQI99PpWAAoJEN+hCDdk
 3bohrC8AoKj1SB884tTunr9OdnKrfCtVVeQaAJ9QTSJf6yg0JMPYUI7T06zP0L/f
 B4hGBBARAgAGBQI99SgwAAoJELxQScEjmqjoyjsAoLPAcXFZOhXru+oOE465+lLq
 bgv0AJ44FB8ZXbw6u9neEPX7G1beX7yJV4hGBBARAgAGBQI99mg6AAoJEIMfett9
 H+vdYTUAoMeEBU2FdOB475V7CNUwpYJT+bRzAJ4/r+Q0qv8BVF1qJmokm0E+Bg/8
 YohGBBARAgAGBQI+QCnWAAoJEJWnRNJ6HmtfIP8AoOCcpXoIDXIOTZNckhICJQan
 s3wQAJwPyYCVxDZU+WQbNR8upItgo7s1fIhGBBMRAgAGBQI+QCWlAAoJEGxG8ZwW
 /bKYF6gAn3bT7wTVBIj8qdi7lspqagL4a285AJ4wJNnmqSOHaxGn/4c5p5DaAaJT
 hIkBHAQSAQEABgUCPkA0WAAKCRC1rDlKuf8qEU6sB/0RUUYV6tktIznR7MmiSTGn
 EEEdT/t//Il4ivTZorHBI1ULXaprpHFannSSB6KHUxj8aTOdTcnfTGY5fviuJ1X6
 cqL8vMMH+rKSohOfOzyvwS5Zl23cnNSrbCBr/nQnt1ml1yLDn0JSGf4bky9cso8u
 zqVcD+K3YlMhaEE3Zw+9j7bVB7EGTvagdEP7c+GnhOeL2bVsW/7BzKlfA6lMMkfb
 tw1ugYkNPvqON2ginJ5p+CAHytlcN/Hnh6jXchVkS4Xqinjg3pNeBlHeJE/mt9cE
 cZFa1iRo83INwXo2rRhhyXIE7AFYWpbhj4rRqGYPsQgwsv2luCeUSINxXj/vi6Cs
 iEYEExECAAYFAj5AStgACgkQlI/WoOEPUC6I7wCg0LPlcqHSoNJ8qnb/krs/TRvf
 N8MAn3JxT01fwnIbPsn3NUpPGxublJ5hiEYEEBECAAYFAj5ARsgACgkQHI0nZIQ3
 4x9UaACgqYp8Zm9oEGLlqJKl0jme36AD+9wAnjMSyiirb8IPdfTNakxbjzjQiQ1q
 iEYEEBECAAYFAj5AVSkACgkQgGcShyMVr6O0CACghtDd/756Qt8yRdA0fhiyER3k
 UzYAoMY4QyfLBvOTIaVLdg82XQjpUc5XiJwEEwECAAYFAj5AWbcACgkQhqAIGyKy
 lR0OSwQAsSzI3Jcqcv1cjX0IXh0h7SyUUDO8mxmeyv1YVk8Y/zuer8yclgrI8WXs
 DdoUpekxLcyDxlbVZTiP8Ou0/gbege4PZk+j1LXQMUK0QREtkFXDYkqoe9T8AfH4
 jHzPrE8oxZv5tEiH1DXGui1FVgYu43dj3iiPTXlGYfIXWaVkaQuIRgQTEQIABgUC
 PkCsmwAKCRBiSEuPG0iN6mH5AJ9TgzqSmdJwKuI8vs0JJX+NB4DeXgCg4836cQM5
 r4MHlS1cUdr+72vNxTSIRgQTEQIABgUCPkCqBgAKCRCuUcxBI0Z68Q2IAKCaIreJ
 /zUexMSd4HK0yFHuqNCixgCgnzFQgJGDnHTgvuXD4vP4Okd085mIRgQTEQIABgUC
 PkDJGQAKCRDVVqZgiOPvV2XRAJ4uhqgTVrMnAUY8Gp1HESewRT+IrQCfbgB5zcul
 S/zWaJxOOrl0eB2B9MWIRgQTEQIABgUCPkDghQAKCRA5o8lM/cSo/edaAJ9KGbXK
 FC8ndJQvQWaoFvePYu6cmQCfSQqYvPij62WG+toaZIhM6Ea9Y4SIRgQTEQIABgUC
 PkFUywAKCRC0deIHurWCKaWyAKCyeLFGK0Ng2gtDju8JFu9oXBqtRwCg5k/sK1St
 bay9MSi0Mb3iqtiroc2ITAQQEQIADAUCPkFeMwUDAeEzgAAKCRBPg4y3JqCoFhqY
 AJ9XaocRc8QsdRtLa17x6DRTPvUEkwCgkE8NaLHnYXtI3fSlv0QIO9s//qmIRgQT
 EQIABgUCPkGUsQAKCRDwJO+CNVGeqEl6AJ9kAk5RKEbYfC1KmMGR9jiZgfRylQCe
 KrhgE4mRczH0/gfRv4Q410kSPuCIRgQTEQIABgUCPkEWygAKCRDcNnQ35arLNExK
 AJ4npmE4HzSiX9hRypiUrpvFiAV2KQCeL1zn1FXYoHJb9o7QxPZPorixJyWIRgQT
 EQIABgUCPkFcSgAKCRAHJZTVR7A166TAAJoD4/EEobBLgMWcyjBkzzsQt61CcQCf
 eDUP4YPiXnOMWEHb6niniX2QMh6IRgQTEQIABgUCPkFcXQAKCRA/V8xvnmt231O1
 AKCUP6yVSLTUYArTYUDhbOtSK2EtpQCfS0jDuX3itbNFWAfY3IY1sBNJAveIRgQT
 EQIABgUCPkF1zQAKCRBBGPb8lSbpxfkTAJ4tO5Vy+EQue6JCYXIR8Apm9ox//ACb
 Bvt28q0wHMHKDRn6F39wutTcegOIRgQTEQIABgUCPkFzRQAKCRDQ5Ee9ESjyXz+K
 AJ4lZEVUWgVtQdna0Q1pvBLN/wXpMACfSSGBnPibuFJHmk5WAcJ0gExg4XSIRgQT
 EQIABgUCPkFzXQAKCRBrphakwVE7DH5IAJ9pLWlp71EvtZpk2KEvSceTQDX6swCg
 sMVAUl9aS57pfF0Z/bgDjsLdTUOIRgQTEQIABgUCPkEMYQAKCRDHON/LNYa6cfMR
 AKC66PdcgDznO/cpgjHPU8h5f4/9iACdETmErSDKXiqZpIR7b3RpXMaO/72IRgQQ
 EQIABgUCPkF6lgAKCRBueUUCoBl5wGR2AJ98AT0VpUCAg+qzzzT9aOuN42y53gCg
 37700zFkeQQoKMM4RRMnjNwTwaSIRgQQEQIABgUCPkF6pQAKCRCjGM7Esm5qufhS
 AJ9qt0EDKCtGjnXJqE+erVgLtbt2ogCdHke6r3Zky8VQFgh9fdfpiBIeV0GITAQQ
 EQIADAUCPkDKfgUDAeEzgAAKCRB1E6I2ExAs9WO5AKDnENHrOy8mgyRfgTIbMaHj
 sHKb1ACfWcSnEa8ABNE3v1mWS4zrSCAmBzqIRgQTEQIABgUCPkKmEAAKCRBADB62
 okjOY9vnAKCWd3f7VJFj3ffKNIqM63buaBFWagCfbshGLwLcdDyNhGE+aF16xY99
 neeIRgQTEQIABgUCPkQyogAKCRCwxLn3mg2CqeOMAJwLwFHjq4esWWMvVF9D9PUe
 7SZ5UQCdEOo13vMqocdwfRcKsv8gw1y4B9+InAQTAQIABgUCPkRPHgAKCRAS6T6J
 P9G2taeABACXK/ImUOOyX019EStwiXtS1HguI+Z4TjPJrxlSFWu6vdE+DhAREDSr
 OLFKAAmgHN2exOYGzJy54TwB3+Ka3FWVGicP3v0atQAmqkvF6v0z/LMdm6NNMOuc
 Kgn2L0aT4jEUwXuvC2+YNDhpRXnpNQiDSg6BYwpkuJrEJ77QZtDNCohGBBARAgAG
 BQI+RYMeAAoJEFv8diRAZaHa9YQAoI2Zih3rCykaUGKYBWvLS0TqawPCAKDboE5E
 U8y4Q5uRvqEfwIHxcgOc7ohGBBMRAgAGBQI+QY9dAAoJEC9KXfQQ64+oHEUAn2wo
 Kp8h/4YDJtM9Dnnoc+eXcLJuAJ4tWRDvtGyVAAnBP4tqRCUrWGuENIhGBBARAgAG
 BQI+RsZ1AAoJEJ71dopqzj+soRMAn1xrXwJJyYciiAa/UPfE0Vr9bhxZAJ92lOJS
 Hwe1fjxJcPv8eYYbYU3FeIhGBBARAgAGBQI+QFwRAAoJEGoCMg2CoDJeZ10An0mx
 yh+/gaAPt7s4yHch7b/7dVErAKDDfVJBxaLinkOYKDSXYYWHGZVH4IhGBBMRAgAG
 BQI+RsY3AAoJEOpKzVz2XGjNPxgAn3h2DoQFHXt140bwi9SR7SKDHcMqAKC97iDJ
 Xt550JBePnL4eGJH0j1lG4icBBMBAgAGBQI+Rs/1AAoJEEC/HpEdDdC5pVcD/3UD
 +r2NORap3l00GJgf63ljEgRH58o2u8909YF9BokreuY3s2mm5p8wljqe/4HkzLgK
 MFofakrriI71hYLwrxF4WHEc8jqU1m3fKTcRSFhFRkuAUJiiFwyMVLUdC9XJELZR
 oZhAl8KO4evsBisQPDQLgGYFeRfBUWvChNc/eiJ6iEYEEBECAAYFAj5H0HgACgkQ
 EMun3/wGpS3BbwCfajF2ODH35UF9TQS48rWxreb/Dz4AoKuT3EUMOUS4RVWj4Q0Z
 2UYmF7tJiEYEExECAAYFAj5IZ7kACgkQmpTNb38U76TgbgCfQlKPRZ4RBZfWlSjX
 B20sJlbYSUcAoIjHZYrroyuwb17VTh81Uf2iBip3iEYEExECAAYFAj5IaS8ACgkQ
 v7s1Bo4lI/2YkQCfR6M2yrdGc+79fKnSQpiD5sn63B8An1zzPpAh5HHqdtW01745
 j362VSmniEYEExECAAYFAj5JZJ0ACgkQ3uEZ6Jp2yaOK9ACeJ2bfNOX07BwChMzW
 UCZNyTS0h9sAnjLV+ObIWS57lTNwGdbVMPXgplBWiEYEExECAAYFAj5PlXMACgkQ
 cieKIj7SkS6LzwCeJPx3d2X5PXxmAsVIwF80r67SMhYAoII7hB+XhLyHAT5PW/BQ
 pCScXc6MiEkEExECAAkFAj7wz8ICBwAACgkQDbEkl9DbWrbO9QCfT4U7xi30Vt0A
 MPo8H8c0Lba+GWkAnR9vF6/1TzSu4EagOAtCSAIaWOd2iEYEEhECAAYFAj8IRKUA
 CgkQnIUccvEtoGX6CQCglL9GYYqEZbyv5dny2bEc6xNqj00AoK2EyoGeh7/cs29t
 G4vEa8anP6QDiEYEEBECAAYFAj8QSoMACgkQ1vr63ZUvP/+aFQCgrQmu2/c478cK
 KjkPMrlCzdZx+NoAoO5J+QmjnQDUekLYWwDB8i3TOsieiQEcBBMBAQAGBQI/EH+U
 AAoJEEAGFQ5ACertVIUH/Azn8fXwLlzayHQT3wQVmCHw6YfrZApvwVVLoeJI+8a6
 M9jpoNqNzljPNAeTjB37q7dlZvxnzFwl4BotfPAm4ngNUwXwlmKv3K+KEcvbRofW
 Mx/zJ8cn31LELBKbt+Qllppj1cWXQ5ChdOmGTu6lUPQLcwkh+e27DXHgf55XwuQg
 TtrhGQ+bq6oJags1XK2UHF2tByX9uZC/hLIu636ihUCglVWHYuyNhopQXiAT4sVf
 t9I7W/e08tqAwmk5iuMCYEcYh1sKg2JuceGyekW5KYGigZUEfpN3RYD6zuHdviwW
 QuZB1Xwq+Y1kkvYS1xu6QPNcVsd/CG+FPb7Vww0bSxOIRgQTEQIABgUCPw2/zQAK
 CRB8IsOfgHrFOkY9AJ96QFRLl+sl+pFfu2JJave2fV649QCfadnfBkTUPA6StFMA
 EDWvJ1ICzySIRgQTEQIABgUCPw6kogAKCRBN/6N0Q4ZdAUH0AKDp5kvDex6HCAnq
 fmybUAR9whYLQgCfbKFsDSX+qZL4Qq2HvUliDmwKJw6IRgQTEQIABgUCPxAeRgAK
 CRDhhSLXfHEryzoEAJ984Gzh3bKTkdDH08s2SWAJkCMMkQCfRNjYGcZNIUzYue/1
 7APruMSC5R+IRgQTEQIABgUCPxAotQAKCRCzNNMIli/S3m98AKC19CVUObRp4qR2
 JkYj09bxYFr/lACglnLd6Gz/LyTPGA9rvms+3KbIkcGIRgQTEQIABgUCPxD7LAAK
 CRDFwMXHIY0Y13QlAJ4xY/2Y+xuXIBbqhZl6Y+Jx7ZwS1ACdGIyyvrlPboGw4lqv
 KgpGA8TsLh6IRgQTEQIABgUCPxFJKAAKCRDqIZlBJHfK+J6bAJ4geeSsc4JL60AZ
 bkM1YN7A7FZB4wCgoiZScishDdFGVjb+QrBzc8sXu2eIRgQTEQIABgUCPxFcuAAK
 CRAZ/tg84r6jQUSoAJwN0bCkjnYRW6DWGGZWqSO8glSZCQCfft+I/6HvKRUuRdGf
 29xsLRTFNjaJARwEEAECAAYFAj8RQWQACgkQCen5CopyTkXXDwf/QiR+bCozEnSd
 Vi9DlLAaZzp7S8g0Vp+5xSd8e6Jq4/DqjNPx+r7Z6VtPt0sjcPb+d21NO3G+/wWg
 IfNc793nC3ICFVMb7oOiCLVZIy1N3gOT4hDB8p8lRxkfGjxUzHsMMAZi3Y2iGYUo
 jECY4N/mJC3UtJEwOKIAowkeB2U/wfHltDEaTI/SzbnkHykOChGIRIeih/E1/lA1
 q42ID3Zjsj2m4lUWkT91bb0AoZBlO6Ok01MC+2JgLUG4fBl36+ZsG28P8gv13SVy
 55R78N9A7tuUtITJ0OYTPPhlsrc0gFSGbTmY35pQtdsZEc5QkTO5E9pg47al8+hq
 s4MuStvIN4hGBBARAgAGBQI/EScLAAoJEPVrJqOmOZ5zz64Anj3t4jqCRQVOEm3T
 RuemkVOyeP83AKDHv8q6JjDeaEIi9oHd7aNTAoYTM4hGBBMRAgAGBQI/El8bAAoJ
 EKCQ+9OXGZ/Du/YAn129Pm1Iqj4Krj6OUM02FUP/79EjAKCL564QetVLIRjdb7dt
 mt+z9R0Fx4hGBBMRAgAGBQI/Eo7JAAoJEFZtNizuCXfoB4UAnAl1zmeSu4RDdxlb
 mqwZ5FBYW49pAKCfoRrxG+zqOPJUxiRWM7KL5QvabIhGBBMRAgAGBQI/EpRGAAoJ
 EI+5mXFO6zHxS1oAoNu5slCe2MxIcTOGSDq33CWkDB+eAJ9UvHRA9+FEL6QnGDDa
 f7cKLXGAn4hGBBARAgAGBQI/ErtaAAoJEEbMXGPzGKVqBKwAoIWVZi26MWxq91G7
 ytgdk+IAo1ljAJ4oxOjd8ktAxzpngemiQba6fcODhIhGBBARAgAGBQI/Eo1CAAoJ
 ENQ8swWV/so0IGsAoLgQbXksT3ky1H6PZT84riVZIYIhAJ9fhEFvggy+mk1c7Q83
 F4siBXPdo4hGBBIRAgAGBQI/EvrmAAoJEL9BWVtzcqKlY/EAn1jS/jDdL6Jt22bf
 kEumd6bXkybmAJ4k1h9wjnMJbO1e77abv/qEI+SpWYhGBBMRAgAGBQI/ExELAAoJ
 ELmCy9XA4x8d5moAnipVnLkzFFinxEI5FPryPZIZOSPlAJ9nL00dJBHPmdq+/aNX
 2uiG9o2vC4icBBMBAgAGBQI/EyqqAAoJELRrkjttir5xzgQD/Rx6E+XnZYugX81T
 gusbMr+3Nqvidy7sRITxcpdp4P/KEZ7TqgDYPiM2pcndmJ4H9cGgYjdOQPCXBnT1
 bgt8YrPR17UaD5SEHRHkCSrq+kArqhXzRyi1fHDp+y/tuW9LYwQwJtADBlzewVJI
 lAu4i/YhYnrIbqSslK8RbuPMFGSSiEYEEhECAAYFAj8TLZsACgkQNfZhfFE679nk
 3wCeLdsBGmcMlV2/Fq5bvg9n3sZEib8An29knbRciT9i2YiYFHy3biaWWeT2iEYE
 ExECAAYFAj8S58IACgkQklW9n+aETbmJFgCgsX2fJUE0P1sSyBNv1vGns5SsZyMA
 oIHA4TSpCkuIBkXuw/zccPUsK8ZEiEYEEBECAAYFAj8TQ0MACgkQrews0RqVN+dj
 oQCcCt3DtSKMn0jxKoFS2yNKFg/fwOEAn2miXA/DS14nMD2/8Xo+twofkN9xiJwE
 EAECAAYFAj8TXYAACgkQ722CQfCBGV2UugP/Ry/90QFKOTobYclldwH6/Sz8FbfW
 cv+7MehDTGDwpdaEDEBpBmcQOTgSAX58B8Pp+pCxzrMBMj0+X4IKOFGxv3qAVqgg
 pEdYwOOAAFIuL7ZijYd5dzIE4js2D6CT2L3hYFoV0e3+OtJ8cZTSliRsdT/FZNnm
 zM+3T5Zk2GzSMf2IRgQTEQIABgUCPxGixQAKCRAoxvVrgXw1aC/4AJ96fwHv2e3+
 UfXBq8PYyVhfUlyRHQCfZwSwcBi72xgw48PYLUnrtJ4d68GIRgQTEQIABgUCPxQj
 DgAKCRBRrPatdb6Al0noAJ9YIZEaWBg8wW3eaufla8kBM/FkjQCgqmKGpsT5MADz
 sQPYnVmKOPczbfmIRgQTEQIABgUCPxRZnwAKCRCELNt6RHeeGLS9AKCGcRi1Ga3I
 jSTwa8Ixg+NfqReVQgCfShNW3daI34t7bSXgmN/hHZ6mLraIRgQTEQIABgUCPxRS
 GQAKCRBYKVdQBQCDi8ojAJ4h8c0qO9HoaQ8mqFKA9qVBSIB9ggCgs0O7CNw39RtJ
 a7iPBSGikcpQat2IRgQQEQIABgUCPxRgmwAKCRB3+BUzuw7ox2t4AJ9QxWGJLAbw
 NchwY3fZGJ4nSDcqqQCfS/yf2Of/6auZaKWcaM/6oTMMzE2IRgQSEQIABgUCPxUO
 mgAKCRDVTq5LyZhwscJ7AKCbv7SLVqf2T8EapBaReRaL5NcoNACbBqnuJh8Pc/3t
 48Fog112zOqkxyGIRgQQEQIABgUCPxUqvgAKCRCJzUshYHVZ5uKiAKCtW4l39m7T
 IqF8u8pfqkgpz8Z2DgCdFiBCMi/FyPfVULc//LVKwwcZaciIRgQTEQIABgUCPxUq
 9AAKCRDTW7yZvH0CCv8DAJ9hWSxUcOEVML9AaFJ5+3fkXlUSaACfRyvdPSRAHcfo
 bjdv8BmWsH7WYJKIRgQTEQIABgUCPxVegwAKCRCe0HjvSzoTXFEHAJ9s5QrMG7TV
 B7mWxE+O/VwCRKNHOACfYuq+wytbP9pFJkZQwX1rW0lWgvuIRgQTEQIABgUCPxVe
 hQAKCRDwI/gLJoQdW+9AAJ9VvvZW5R7ppcZfYrJ1SZChveCnvQCfR2sWHPSbzGrp
 sii0DbkB3x4GE6GIRgQTEQIABgUCPxWL9AAKCRBTtrgdwTzuB+GUAJ4yxAtvBEqG
 tDKsySqR2Ywv7xcRzwCfRQBmGdzar/OeLVHUziwduAoeShWIRgQTEQIABgUCPxPz
 IQAKCRBL7yYkIt9Ah2GWAJ4kpQG83TGrnIR0p6Web4T1QZjBsACgiBqEfjSGxngU
 cTRrQxx/bs8TX6iIRgQTEQIABgUCPxPzKAAKCRCVZB9rJT5Y45ftAJ9fNjIStddg
 GjgMs3jcGo6oak8QjQCgq4Q7ivzJ2HJUawLk0hOM1p8BT3eIRgQTEQIABgUCPxXW
 bwAKCRBBufToW3E98CEaAKCAodx0EjodNg5VE5AF3oPAVPlZSgCgrIh3fheMXgTy
 32bqzny8BV5yjhSJAdcEEwECAMEFAj8V9CqGFIAAAAAAGgBjc2lnbmF0dXJlLW5v
 dGVzQHBlbmd1aW4uZGUiaHR0cDovL3d3dy5wZW5ndWluLmRlL35iYi9jb250YWN0
 L3BncC9zaWduaW5ncy9ub3Rlcy5BNUM4MjA5OTE5RkZBQUNBRjQxQkIyOUI2Qzc2
 MTc4Q0EwRUQ5ODJELmFzYyIzGmh0dHA6Ly93d3cucGVuZ3Vpbi5kZS9+YmIvY29u
 dGFjdC9wZ3AvcG9saWN5L3YxLjEvAAoJEBmiaAmIOP2URR0IANjcbSgJNDnmGxUg
 lEcaoUk6QEeo9iNa11OJP4+Uv1XXEEbHiyWpvALvzQ6v7Vwhofo2KGLVCTEhZHz7
 MVIl+0c/zbCd7v99iOPySRRN3DhJvqPnD22Kc2KTM7WknZSW2WOKd1fU29vENFr7
 7Z59UPqiB55zbXIobObbJOwu3x/vRNC/5bE4t2H7zLNRxmeNKt3S/ch6odJdCM/B
 lYy0Df2REc2s2EVLcOYsL+RXwWQp33BFt4/YqmGJQUus2nxz6GraY4J925p2S4Y7
 3RcTDcWZTAeexwpxHSw4VmJ5Vupa9Jll/vAdurLUVCDd4Dd1pGJAnsHsLqD5/zdX
 YIxNST2JAQEEExECAMEFAj8V9DuGFIAAAAAAGgBjc2lnbmF0dXJlLW5vdGVzQHBl
 bmd1aW4uZGUiaHR0cDovL3d3dy5wZW5ndWluLmRlL35iYi9jb250YWN0L3BncC9z
 aWduaW5ncy9ub3Rlcy5BNUM4MjA5OTE5RkZBQUNBRjQxQkIyOUI2Qzc2MTc4Q0Ew
 RUQ5ODJELmFzYyIzGmh0dHA6Ly93d3cucGVuZ3Vpbi5kZS9+YmIvY29udGFjdC9w
 Z3AvcG9saWN5L3YxLjEvAAoJEKseS2BGdWse/3oAn297V8QlgeWSsvqfNYPKpqWp
 OGRhAKCIuuT96Pn38WtlGOBa7zZrECTNvohGBBMRAgAGBQI/E7DoAAoJEOfJ26/j
 Vu/ApXcAn0Czyiw503iLkF53c2qHJ2HUelW7AKDDiDT1zAGHdsdcaH9svMxWOa0l
 dIhGBBMRAgAGBQI/Ft47AAoJEDu/z3e9iwUNnssAoK6lcUf4GkqjwYYqH08P1J+r
 HaJHAJ9c9pAx86VmCaV6wQ26cKLBKUNdgohGBBARAgAGBQI/EaO3AAoJENAZ9e+Q
 J6uIx6UAn11HUO9dUXyAcUXqx8lyaEa20cW7AJ9kMTvSqDHkvci2MhcUkGzjpUv6
 xYhGBBIRAgAGBQI/ERsxAAoJEPS0sMx5fr+r/m0AmwT/dtstpPJs7wEOejhbgGqm
 vc/PAJ9Ynh+eN+noydvRINXMXigzuuoX1YhGBBMRAgAGBQI/F9G0AAoJEJEfSuaG
 oRjmlD0Anj1mLd5E3VlkwvE2/tjgs6fQ7Zy4AJ0Z7vIFQjFnMIGJwhFqYsLbKsy4
 +ohGBBMRAgAGBQI/GE0WAAoJEBp0fkUw4LnYvPgAoIUWj1ZA98QOQqcjUoC2XYom
 fJl+AJ9O71OiZXEgbccf2oQeY0B9mD00IIhGBBMRAgAGBQI/GX6nAAoJEGZmcXrb
 g1Z57xIAoNUVFg9YL70dNJk6t9ktEEjzb2QrAJoCbcLt/dEXOcWXWbY6hDrpkKro
 oohGBBMRAgAGBQI/GX7LAAoJEA2WS2ZXDm3qO3MAniLwLC8Yy9QYRDWNfPNgkOhO
 L9lVAJ9AL3wmTAeNsmupBo6rUaw+gFw4sohGBBMRAgAGBQI/GX74AAoJEE4CrK4d
 1rOArlMAn31ZFiAi9SPYMbK4MUgJjmVvF0znAKCPp7dwDl1Xi4hTigwPlgC+aqvF
 o4hGBBMRAgAGBQI/GNSkAAoJEM6KedeYAW3H84gAnAu3PMqTcX+JptdB37ZOmijC
 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
 azal4I/N1CX9sOu/2R/ABgCeMyo5M0vG06uLFkVKidTP0t838QOIRgQTEQIABgUC
 PxVehQAKCRDwI/gLJoQdWzvhAJ90ieEwIPKGXlPEmCnLlaCfGAhpCgCg9H/SGzS4
 V+jAaEqmSIvltHTf/c+IRgQTEQIABgUCPxWL+QAKCRBTtrgdwTzuByH/AJ9S0n5U
 egb5DNIUMt05ImWfQ+uWEQCfTRu3SC9Yn/YGW18W65mSeoGEkqmIRgQTEQIABgUC
 PxPzIgAKCRBL7yYkIt9Ah08pAJwMs9tctTxNv/QGhPmlonaQ6ugxcACfcTmKFWST
 9tpWQGJYMdPIymVW3+SIRgQTEQIABgUCPxPzKQAKCRCVZB9rJT5Y4xYwAJsEa4Zi
 Ib+DJ3f1K3KX7ofvADBQ7ACgkAR1nIokfD6rFzMhfWGCIfmgXU2IRgQTEQIABgUC
 PxXWdAAKCRBBufToW3E98CnFAKCH+yj3Fo+mwbSpXoHJmDk9pd+BfQCfXgANpSPQ
 qib0Wtteoo2PPtgiMi2JAdcEEwECAMEFAj8V9DCGFIAAAAAAGgBjc2lnbmF0dXJl
 LW5vdGVzQHBlbmd1aW4uZGUiaHR0cDovL3d3dy5wZW5ndWluLmRlL35iYi9jb250
 YWN0L3BncC9zaWduaW5ncy9ub3Rlcy5BNUM4MjA5OTE5RkZBQUNBRjQxQkIyOUI2
 Qzc2MTc4Q0EwRUQ5ODJELmFzYyIzGmh0dHA6Ly93d3cucGVuZ3Vpbi5kZS9+YmIv
 Y29udGFjdC9wZ3AvcG9saWN5L3YxLjEvAAoJEBmiaAmIOP2UEw0H/RVZqajm10VQ
 cFpumvPC/qvWRIxZdQASPdMGKAASqPnrNQmfqHo/3rnU3BoquWWlZikwn22BGkuR
 aytvAI+AAyrrkA3R5HgwlIgtCQpTzljJPVEOA261BDlXLvttZipW6DvjZ8+s7QWW
 fKZYwbRCm5mcri1JQAmxtjZkK3E1K7yfDL7onLrHDx6H1d0njgN1j5K/82m3e6eF
 YOoi0Qpq17yH1HggGXx04rGgn9yaBOTmP0fJPsfnzWo4+GIfmQjfG0rrJhdakRgW
 a1JO4aI+goaxu6KSTFhpOnd2Rw34bkQICL6jZC6G4MtVSao0IsVtNiP1YcBbv2Bs
 0ueQduyvaJiJAQEEExECAMEFAj8V9D2GFIAAAAAAGgBjc2lnbmF0dXJlLW5vdGVz
 QHBlbmd1aW4uZGUiaHR0cDovL3d3dy5wZW5ndWluLmRlL35iYi9jb250YWN0L3Bn
 cC9zaWduaW5ncy9ub3Rlcy5BNUM4MjA5OTE5RkZBQUNBRjQxQkIyOUI2Qzc2MTc4
 Q0EwRUQ5ODJELmFzYyIzGmh0dHA6Ly93d3cucGVuZ3Vpbi5kZS9+YmIvY29udGFj
 dC9wZ3AvcG9saWN5L3YxLjEvAAoJEKseS2BGdWseZeQAoIz9KlFMtajFGHN2dxGK
 sG6mO3oCAJ0X8Z4DETXm/K8ILQ1Z/pP4RodIP4hGBBMRAgAGBQI/E7DrAAoJEOfJ
 26/jVu/Aw+4AoO4wBXNHbVE/rPsMbKPufe7Ec31YAJ4/1ioDRk5fR5TEb+vvXSW8
 nofiqohGBBMRAgAGBQI/Ft48AAoJEDu/z3e9iwUNDfQAn2WxsohG5n9Aq43Ct95k
 koqBFturAJ9+96R3ERPGKh9swWnJ9rBlkUFGZ4hGBBARAgAGBQI/EaO6AAoJENAZ
 9e+QJ6uI8fYAn2tnCEZv5HogN3Abkr0XrmYL+7KPAJ9H4zrNiI2xha68apWA5qlV
 LqyHPohGBBIRAgAGBQI/ERszAAoJEPS0sMx5fr+r7kYAnRw1oK6hqhlDWUHxmPRW
 VbnYP5NxAJ9GDLHgyWasYFj4rFsBHleIAmu+yYhGBBMRAgAGBQI/GE0WAAoJEBp0
 fkUw4LnYihIAoMSxOoAUqwrOSZZfAT1PN5tnh7X6AJ4pe0/QNg+zIB9/mvZAJbvg
 bSHfsIhGBBMRAgAGBQI/GX6qAAoJEGZmcXrbg1Z5GsoAoNPTcGZB/zlLarfBlJdN
 cyTkaTN+AKDAj9c7kZqVwQRvfgO19viKFqOuEIhGBBMRAgAGBQI/GX7NAAoJEA2W
 S2ZXDm3qNhcAn16xPNxTE4U9eqCCT26dCf7VqAyzAJ9RT4KTUEUGKseS8f13FzTo
 T1ueoIhGBBMRAgAGBQI/GX76AAoJEE4CrK4d1rOA1O0An1WBdZaCJRIthN1/ymMm
 Q6HnRPotAJ955kGEkWDp8s5SL6NDI0zBBkGvVohGBBMRAgAGBQI/GNSpAAoJEM6K
 edeYAW3H1z4AnjSEKHleKRyOb/kG37ko+eIB9FD2AJ9GQ/q0P754ZtxqaFUiqHAJ
 NHkKI4hGBBMRAgAGBQI/GvN9AAoJECyYPlrSilXWwDYAoKUwfgKjZAsl0coktJZv
 14OHy3tRAJ9VAy9BEUSWIFSaKPsC8WCrs4eXjohGBBMRAgAGBQI/HE8FAAoJEHFe
 1qB+e4rJ2f8AnjihYtaFRbsEwGtuE9C+5wjKZYkEAKCGJ8lgK5447GtFvs9sc0Kk
 OcJyxIhGBBARAgAGBQI/FbTZAAoJECole3fGNyjSTqQAnjzG6RQUZB2fHuOOv97X
 PEUxf6VyAKCAu1JdTxOl7uvOSgzX/l5hhZ9SHYhGBBIRAgAGBQI/HGcoAAoJEMgP
 dFmtwp7NENYAn1wYpBppW2AV2J+LS+4UqyzwUgx+AJ4rmKBgfE8OkM1QHOiYqpy0
 MTkL0YhGBBARAgAGBQI/HanwAAoJEIsCZlm2jV9/1N4AoI19E9A4I1vz5at3XRlR
 EbRDIA+dAKC8ih/vVhLc8dZ49H56mvqPO4ZIjYhGBBMRAgAGBQI/HasHAAoJEN56
 r26UwJx/dQsAnAisenAR0GJXx2M1KEZqOEVN81+IAKDi4FQbYnuBNYkp3mmut5CX
 SSpeKYhGBBARAgAGBQI/HagwAAoJECjdsP0Zyba6/0AAn0j5wJOnIcQfDKStVSoi
 QcKv3qxEAJ47GNt06E1oPDpBFSyHaX0EicKupIiOBBMRAgBOBQI/FzFmRxpodHRw
 Oi8vd3d3Lm1hdGhlbWF0aWsudW5pLWJpZWxlZmVsZC5kZS9+bW11dHovc2lnbi1w
 b2xpY3ktMjAwMy0wNy5odG1sAAoJEN6Fg/i9v+g48LIAoJ9sjzxj49V+IkmTST5q
 N1rn2aueAKDSswvpJjjC4WCe0fCZk8NvnCOLP4hGBBMRAgAGBQI/HsRyAAoJEPhZ
 kLAkiutzRcgAni/Tdya62QESUwbPY192zUnpZCUZAJ4p0eMJaTtAFgfUz6k1s9nx
 B9hHEohGBBARAgAGBQI/HoSRAAoJEG8ji8JP2loMP8UAnRgUejZZNVhjDeuOy3cH
 M8UQ2fNgAKCbpsSxJs6JFR+yS/N9jx8xcWKvyIhGBBMRAgAGBQI/HuFWAAoJEJSb
 JewHRHJS5fIAoIvtsVi2+q1/HNomoog68sSbV3/8AJ9lafbGsCje3wLB59bdpLx6
 bfvcCYhGBBIRAgAGBQI/Hw1dAAoJEOdNKbgr4W0B8hkAoILgUU+r59s3zs7CL83+
 W27m+AxgAJ9gnOZb4OFx0xRKGXWI26XyL6cQFIhGBBIRAgAGBQI/I5jUAAoJEBig
 zI1XBqS0N0wAnA1VvaIzKG9Sx1YRKvtT6Y7kGhjTAKDbqwjDwn0D3Fzf7NYSs2LV
 icJVAIhGBBMRAgAGBQI/JXRuAAoJEPK1Kl0KX7aHFCgAn09gsKJwPCNoEwVSnGy5
 UDc/sVfSAJ9cc/IJ1M0xWIddrgpzP2O5+V+4W4hGBBMRAgAGBQI/JuGsAAoJEIkh
 tdzNFaiDmcQAnRQnqsobCou74MLykzwtmFlZUZbhAJ0dmMVtHYC74K2zt+lJvz49
 /G1YfIhGBBMRAgAGBQI/JuG3AAoJEAcXdOAA2M0WDRAAoILMsRMzn0aCdR/d7TVe
 39qvyzLMAKCpgKEyrjeLLn85zYQt/mEHlJBF+oiNBBMRAgBNBQI/J8ifRhpodHRw
 Oi8vd3d3LnRyYXNoLm5ldC9+dGhvbWFzYi9jcnlwdG8va2V5c2lnbmluZy9rZXlz
 aWduaW5nLnZlcjEuMC50eHQACgkQpHnNxFq0YGrGIQCgpqtvf2JAIBFJj2ZEAjar
 xQHUk8sAnR1PKOzaTtbULulLAfboR5j38Jg+iQFjBBMBAgBNBQI/J8iqRhpodHRw
 Oi8vd3d3LnRyYXNoLm5ldC9+dGhvbWFzYi9jcnlwdG8va2V5c2lnbmluZy9rZXlz
 aWduaW5nLnZlcjEuMC50eHQACgkQ+Xz54zpLf11CkQf+L6ndlBkMOsXAHSRpruI8
 FEip58dRE3PEWCR5Cs3Zj/TrV9mF0pCnbU+5wlfCBz2Ieuj2ddNwI+9kWicCF4Xs
 9avqRAasSO5sUSgpq405nKmNu7KdJEQG33expmPz/AX+agHOwTKpniohjlEa67Qd
 TG2ewcKvmLEQW0LjY0Rq2gRJ4cGFYkSmynOBp6agg6bITiwXPNQZKQ5VafjOQVUR
 tXtQTjInZ8gJGVdkrGD46D5a8yznX/KQU4ZEgRmDb6vl9POybhOihDvszahBfwzs
 c5QBZPHEXCdeCNA3rdCYbaqkxohS+y5PjcYchfO12YOaOB0Gg8SWOnow/M0FFmFc
 FYiNBBMRAgBNBQI/J8i1RhpodHRwOi8vd3d3LnRyYXNoLm5ldC9+dGhvbWFzYi9j
 cnlwdG8va2V5c2lnbmluZy9rZXlzaWduaW5nLnZlcjEuMC50eHQACgkQeQV2j3WE
 9dg9VACfcYe3EhS4Nh/EaOlsxtBPfa8k5jUAniNbDyUG3T3TZv9p6fCzIMIoG569
 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
 YXR1cmUtbm90ZXNAcGVuZ3Vpbi5kZSJodHRwOi8vd3d3LnBlbmd1aW4uZGUvfmJi
 L2NvbnRhY3QvcGdwL3NpZ25pbmdzL25vdGVzLkE1QzgyMDk5MTlGRkFBQ0FGNDFC
 QjI5QjZDNzYxNzhDQTBFRDk4MkQuYXNjIjMaaHR0cDovL3d3dy5wZW5ndWluLmRl
 L35iYi9jb250YWN0L3BncC9wb2xpY3kvdjEuMS8ACgkQGaJoCYg4/ZT6JAgAvfif
 YdKHBnC3Ezv483f2fsdF/jbUNa+1iz77iFI1dRa+SRWKRVbglKeznpT8GYbw6+82
 gxWZ7Xotbn3s5yGLXNYP0vBhek1YG0zYig498ROlIc8OPwNgCEVUHj962FFfQSwF
 2CQ+2e7h5PRll2PRpZNQCzm+c5Xj9p/tslSBWQ23/1p1U7eI3bvfMLVRx9tC/nyP
 sQo/V/yhIYPi4Ys1anBCl0Gin9g+eg4ghhWl7ksOZqG/Oc6c6viQsgVME4eKVHpl
 jdOj9WCpWIYar2Jsf16ITOMlYnGB4a3SJ1kxfXVR4lhZCaZ7PhVAaEH/GZC1ElPz
 jbKLNdvCTfe3GMNTBokBAQQTEQIAwQUCPxX0PYYUgAAAAAAaAGNzaWduYXR1cmUt
 bm90ZXNAcGVuZ3Vpbi5kZSJodHRwOi8vd3d3LnBlbmd1aW4uZGUvfmJiL2NvbnRh
 Y3QvcGdwL3NpZ25pbmdzL25vdGVzLkE1QzgyMDk5MTlGRkFBQ0FGNDFCQjI5QjZD
 NzYxNzhDQTBFRDk4MkQuYXNjIjMaaHR0cDovL3d3dy5wZW5ndWluLmRlL35iYi9j
 b250YWN0L3BncC9wb2xpY3kvdjEuMS8ACgkQqx5LYEZ1ax7SjwCgmoUN3NUQ0fQw
 bmHqkVnBCc/jL8YAmweyJNMQNKsDC0frsHFyejRnNGumiEYEExECAAYFAj8TsOsA
 CgkQ58nbr+NW78AkMACfWs9ycteAylXk2RTrD5RHIYXgrVQAn0VpM3W6vemovNt5
 zQWuHwUHKMELiEYEExECAAYFAj8W3jwACgkQO7/Pd72LBQ2EJgCgqRYVlay6OEUR
 eBS4I1Rj2wKtZrcAnidL9ET5crzLbhC9Gx6/tHWhhPPriEYEEBECAAYFAj8Ro7oA
 CgkQ0Bn175Anq4jOzACeLP5omUoyFcsNXRdWv/IYPBW3jLIAn1Vg4cqudANdKnKB
 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
 otqKGK6X6iceCg==
 =yns3
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.32. Markus Bru:ffer <markus@FreeBSD.org>

 pub   1024D/78F8A8D4 2002-10-21
       Key fingerprint = 3F9B EBE8 F290 E5CC 1447  8760 D48D 1072 78F8 A8D4
 uid                  Markus Brueffer <markus@brueffer.de>
 uid                  Markus Brueffer <buff@hitnet.rwth-aachen.de>
 uid                  Markus Brueffer <mbrueffer@mi.rwth-aachen.de>
 uid                  Markus Brueffer <markus@FreeBSD.org>
 sub   4096g/B7E5C7B6 2002-10-21

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBD20hPARBADzumxDOkMdttpWKphTxFC/j0+MJRW5UmFjd43c301LEMFSJMkv
 06EukQSOVWGyGL70v/4NWx25BiLhLDIb4feE5SZccQTnjxXYCjkQ4LfcolqTAzga
 L3GLNF356vKLQPlv6J5ah3vdZHa8Djh8q0s6CHAPi2rhEVbO2x7IcRW6MwCg/0+E
 KmRtdsifDJ00iBEMpJAApccD/As/bzVXI4FZwjwIMdep9+He7rwL/xGK+ZmRUEoN
 iiIxfd2oOkwDXZuFqTGftONd9Apao+FefTbcpEfv7sBVzHCJBn2bTr5mTjDwuA8v
 hGQ/7+QyKIFPmsL5KZYPkBcRA195UBSdwEPdERGH+aWvDTVJieyetAiD78WTd5ez
 T0V1BADwVnc1ABRMz6e8HK+78G/4vMHKPPEC7YbSmOo25FKR7XimUIlvGfj+CNO5
 w6QSDJaIRo9yOCPEacMe91NeZskPlEEXN/KIOlV11vTZ/pVDMETnzdarNo2B7J2K
 4HQzTYBzfFHdCrKP0tExSCy0iN2lWzSI57S9o8YxgnwrmuJPN7QtTWFya3VzIEJy
 dWVmZmVyIDxicnVlZmZlckBwaG9lbml4LXN5c3RlbXMuZGU+iEkEMBECAAkFAkTZ
 3xQCHSAACgkQ1I0Qcnj4qNRBCwCglhvWAuZ+9bWZ64EXP9wHLiQYT1sAoPGL96ae
 YBK0wnq1TWjE9GPTYFXAiFUEEBECABUICwkIBwMCAQoFGwMAAAAFAkTZzskACgkQ
 1I0Qcnj4qNTguQCdHFTLRplJE7g607rCVSxDCefYw8QAoIMaWQv0Iflm5aAR0F47
 3WrjQplWiEYEExECAAYFAj20imoACgkQbHYXjKDtmC1WawCfUZkir7Dy7wP3hiNA
 X8yo78CpuFYAoMJtyYVOf8fayYICxujAO3zU2pjViEwEEBECAAwFAj53axIFAwHi
 hQAACgkQT4OMtyagqBYphwCdFiRae7gCvrB/jFA8ceyXaEP44doAnj41sLHZFGWI
 ZUmQmNTiNfZXYoQQiEwEEBECAAwFAj53IYwFAwHihQAACgkQdROiNhMQLPXCqgCf
 SgcJhp/6tnpjypjXWH9t6uKHg+MAoMYnXWc7iXVFvi99BonJW15V63uptCxNYXJr
 dXMgQnJ1ZWZmZXIgPGJ1ZmZAaGl0bmV0LnJ3dGgtYWFjaGVuLmRlPohPBBARAgAP
 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
 =rJ5H
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.33. Oleg Bulyzhin <oleg@FreeBSD.org>

 pub   1024D/78CE105F 2004-02-06
       Key fingerprint = 98CC 3E66 26DE 50A8 DBC4  EB27 AF22 DCEF 78CE 105F
 uid                  Oleg Bulyzhin <oleg@FreeBSD.org>
 uid                  Oleg Bulyzhin <oleg@rinet.ru>
 sub   1024g/F747C159 2004-02-06

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEAjnDYRBACecNDd39vZ9wnodFlATK+xvhlyX4M3FBEV34t9eVZtJz4916yb
 nLZmHwY6awt+nm6FGciSPucfu7stBCqvPURWEThJgAyXbxEVNyXmXrZ2F5OyNMyM
 EcbuqLZTjYxxN5mxUYswtiNDmdWn+Ivmw46wTOl5Pu+B7W2KVl8mwwbAjwCgl9hA
 puTWWN0zFklDJIuLx9eVxnsEAI+QaACe8H2l3XFpNkp6n680ZlW7FBZDDOYjCS4z
 nhFg7Bca74t6vnn5Q4miLnDDyOPkZqMBD2nLUkcK/kMfe5uqDUWf/i6sFDwv7d6I
 9Ag4tUWLkhxAqaqomesfI2yS4o+QGTJgQdGU3IUrOnMJD7Ascwj7304lYuqYcaqT
 KQHSA/9eTg26Ihn9uBpGit+slgkmTHmKgAbg7IaSHSEYRbpmnc0Je794zeWns/oI
 vAyGNxEFpPQMVrSXHnFmK9AOcLcfssE24a3zw7So33asH2Ha9yYBrfKGrTCPZAsa
 uUGrKbGmXQ0oXDjjqV4anvC2QI5pEJvMbHJ+Xyq5xQN73ttJxrQdT2xlZyBCdWx5
 emhpbiA8b2xlZ0ByaW5ldC5ydT6IXgQTEQIAHgUCQCOcNgIbAwYLCQgHAwIDFQID
 AxYCAQIeAQIXgAAKCRCvItzveM4QXzXVAJ9RD4kKNcvV8UmuBM66osVfZ/7yIwCg
 htVf/ZfKdcob1zQsBNNpmzkpduKIRgQTEQIABgUCQCOgsQAKCRD9LjUgMMgeateB
 AKC0iX0NNspa5EnBYGE/eEe+LxRs6ACfUqA0s50e2goJznaIcLTgZXtDECGIRgQT
 EQIABgUCQDIZWwAKCRCF1FBFa2kbA7N9AKCbDyp3g6vRN7dQKBb35s7gLp8yIwCd
 EH/ivmrxZSaHlrOMJjt6rnmuFqa0IE9sZWcgQnVseXpoaW4gPG9sZWdARnJlZUJT
 RC5vcmc+iGAEExECACAFAkOMPS0CGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAK
 CRCvItzveM4QX+tfAKCLk3zeTyzbbN6TqYpnqocno4H9kACePQaaDytLX+zk4plw
 sywqPLv67SG5AQ0EQCOcNxAEAIUR6Uj/bLAu0/FSGDSCXfjuThVT1lh1rCLQkbBw
 TxNiwHPHHSQRa654aoYbQdi9x6M7fzE6Uzmdj1Gs/UBYZhhsrlkL+Ls/xuhe3Kh3
 E6lho11qPhjYXmFHk42VhtVlOcikZ/Azgqgycfql81H3bKWv6jA0el9SnX4yk5qf
 tgZTAAMFA/9T7/ty76bNeP3/LcY9ZL9KYWB8v8pJ9jEt/RfBXB0GTuV/H+bzTjSc
 PwhT8Fam9Fo+r02tUJfqA+XlOJf6IXPlLPRfvzHhiBJSBPuMvB6vYs5zrlUzkgNE
 VFHBr+TxpUWBq4ZtI9K8YUbPD+s86irYn9fHlnj9qnYsod3ySvU0xYhJBBgRAgAJ
 BQJAI5w3AhsMAAoJEK8i3O94zhBfFzAAnAg+W9rkVVdYu33hNqpX8E1t2kShAJwK
 V8DuSaXJtEgVE7Wp5CeArqtwUg==
 =/2pb
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.34. Michael Bushkov <bushman@FreeBSD.org>

 pub   1024D/F694C6E4 2007-03-11 [expires: 2008-03-10]
       Key fingerprint = 4278 4392 BF6B 2864 C48E  0FA9 7216 C73C F694 C6E4
 uid                  Michael Bushkov <bushman@rsu.ru>
 uid                  Michael Bushkov <bushman@freebsd.org>
 sub   2048g/5A783997 2007-03-11 [expires: 2008-03-10]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEXzleYRBADIqilbqBfzstvMByOY3QlvQD9QIGQLwZbziOMByQPwgzgBFk6x
 OA7NOfSKONPTsLtIOSc+CbuyEfw5jJiXsQ3Ox71Zp2JTra/bTim/WwJKC5Kc+egl
 CD6KO7GMTCBb102m2x97G+rNjGS8n7Uf7ITgoj9QtxBjpAC3K1ZcPoAcjwCgobcT
 q5MUrCqPHrnlZ87BnbT/3m0D/15hcV+qndPCShIqFTYbTSG18X7lBNTONZXmCm04
 5dRcJrz4qLvsCYkBrmOCrKbYViQCQWiT7/G3Jzc+WtGFirYibU1TxBprZuP99gX0
 Hea3gvgodlje7eq3Dz7Hx9uFgN8pfw2wWlEgdkuYk72s3lSJN6+TGWzXuWnRYYJ1
 H8XtBACpByr9qcCaJ9yNAwDbDZhj03zSeZoIQz6d/3tDv7SkzDlVyxErJCO7CiHg
 JlxN0+paX0gW06xkLmwSESerJVbxEIoejdkdxebqPEIQN+9Se6Q2tkefMWd93IwL
 MP8sXgUBE6PEmFZTwI1/Av+vR7aI1pPk+yIrKTV2KyC7yCULMrQlTWljaGFlbCBC
 dXNoa292IDxidXNobWFuQGZyZWVic2Qub3JnPohmBBMRAgAmBQJF85XmAhsDBQkB
 4TOABgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQchbHPPaUxuSKCQCdEAIOx9JT
 lAxIOwL6ApsukCI1bgcAnjkybnn6t4WWYy7IvmwMMJJ17oe0tCBNaWNoYWVsIEJ1
 c2hrb3YgPGJ1c2htYW5AcnN1LnJ1PohmBBMRAgAmBQJF85xpAhsDBQkB4TOABgsJ
 CAcDAgQVAggDBBYCAwECHgECF4AACgkQchbHPPaUxuS8xgCgjJ4lLhI3wDP8Rnhv
 Iy9UW5BuBEYAoI22XNE3OHvBdsmUyUvVji8yKt4auQINBEXzlgAQCADnAWwYquUZ
 mbrZ9/UO4abD7Nm0vipplm/O078SMdonir+HKWZStjuvIHhpPDGI0wCpg/v24B3w
 QVGiQhXWRL1cbvjDmiQG7GFdG6u4c1+2S6Evx+fp5DCjUMaoygd/KwF5tmxE5M2R
 7SOYueuuxcDiYi4qJs9lroNxnwG2/VkrcPxlek1QbRVjs+TuRnzTaUzXbU7kli6y
 PUhBucf6nB0cPHG6VVn8N0Kki+HBaQjYOxtBCO2B5E0uRq0Y25l9Vt9s/0TfYnYb
 E0/sLj0XSBu8WWmXtW7QrtLPN0Tb6XrTeIaWW7HLy1ACVlzniu5oeumVKiW5nsW4
 uJ/6kF5Fuu2PAAMFCADNuQ0Irmhub799B7h+FJVtNu1IxptmvJnD/RoWXhAtVo79
 c176MEqS/8tghzdq/zXhr4DPMiTDWf1p4ynKFFkpQaWkHO28cvu3rc0tdpkI2d+s
 zKT6fFNn3kqQ7Eq5xgijSK8+aTWoUhqFvxkhLIcColuPK2TmQ+uIxjtu62lU52eZ
 DDePyHFGVWqtkZ99k1vGxZRf+vVXaKTBkGY3Pek04knpP5ROGA+JjL/Ew5o4SWfn
 FeD9aJ+xtZ9VqTUyl+U4XwIYlRcWzbqsbGp0D0jgry5Xhiggngd7xtNSB9/44HuU
 C5EQWVi35HKNdXMq4wsOMG68DCTE3XOABa5yPY7TiE8EGBECAA8FAkXzlgACGwwF
 CQHhM4AACgkQchbHPPaUxuQTrQCcCfrtwSXFegD9D0DpYWa6iIy9glIAniDIOvRb
 4L8/nn1Nbu+PBNHamCHi
 =zD+p
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.35. Jesus R. Camou <jcamou@FreeBSD.org>

 pub   1024D/C2161947 2005-03-01
       Key fingerprint = 274C B265 48EC 42AE A2CA  47D9 7D98 588A C216 1947
 uid                  Jesus R. Camou <jcamou@FreeBSD.org>
 sub   2048g/F8D2A8DF 2005-03-01

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEIkZzcRBACrskMO6BYlK30ghgpDYTou1UEgp0Y4QdghWeEP5kppuDy7kf87
 CoKVvE/u+pVd7aFoTMa7ikqxKH4Kh7wnDEbFnzeZGtsf0Fzw5oHgoaQQlZHGRtr1
 49UuyFnRWVKyI8IXS25Ie5p6ZlbAVFINOdJuP81gku8SffsoifnKIiWrTwCgzhTU
 uS1rg+TpKkiRnkXXtpVF9k0D/3/OADlTo77GAWMXl6HBTaB3BXB53Q4PozvGDter
 lWGKbx6uYvLq3ZPX1XBUapzJ3eoEfCsA++FeSzK+tue/ulbLiXmFhXSQWtXoRo5D
 I75uOoXlrc45uLc9XkOpeZ5dF4a1iJOGHe/hD4mmyrWIM+E6cy1lL4EetM35ZiEM
 lHqDBACehJoEdCAVMOcfQLs33/iTBRBE7Z6fN9DCH3kTvoYcgpZsFAX2WQFz085/
 zHJ3NVFSH8LCi/6ck5ZeXCasAS3L99Q/io4WwmlqDj/b4PBdfoefInLJkroijcQ5
 B2I2cH2Ss5kkwqj9PovanMWNY6Irv2szIViIeThB+l6hiuzaK7QjSmVzdXMgUi4g
 Q2Ftb3UgPGpjYW1vdUBGcmVlQlNELm9yZz6IXgQTEQIAHgUCQiRnNwIbAwYLCQgH
 AwIDFQIDAxYCAQIeAQIXgAAKCRB9mFiKwhYZR31UAJ91fYdpk0PNNr14jtURyeeS
 upTEEACdH7tOg9LmYNxAi0iKWVInoA/TNmW5Ag0EQiRnPBAIAIKVE+F4De4BWuab
 6LREy3VmvNQgHSF8lHJm4TWKYGEkNhG+sIRFdJExqKG+N+El9QY4QGgezdogQIYk
 RBSg7nWzVrs7DiHJqC4PB/f23bzJl24Cg05jtxvZBz7t4lNXwY9G4kTmDb815FXd
 1p8gwa1KCNsTlKVRJxbaku9gHsO2JZigLMzzF1Zt1vGtaSHX5SyjhOdMOFtjuLed
 NAgl9vgAoMpXLf2Saom38Lgv/jnWz9OfST0P+OA/JmqN5DqeRTlyVZdQ8i8bduYX
 xmtbBPOGHWxwUDxiXMULkdjkLLrY1UaizR6/ULI6+cPrPLZFdnr+5GK6ZoTXyJ2n
 EUUxpGMAAwUH/iPguYUdGVnwKiwqojHq9DzDb09qvPg+UIEjwZA9mPExfMPLo/1b
 2NLgOF7pqeluXfiN84i58sipi4/ntlsNSzCYKCH2t2Wmfjdfpa3N4JaVptLR650x
 Lzj3egnWJKpHVSO+v1U7BSYBnaVPGfOMQVlSO5ra41SiVyZq6laX30PXXIFP6Ocx
 VWECVLmTR+L1g/5Nvq/L6NPv3ziuSLbSpvkLhTxLosaQwYFwPE7mLKgERUKDNc1u
 EXqyf8No4LKyO9V6VLckMgG4qbjQZhm9ozCmEYoKFZLafsq8czdNIKi4JV/8aUjU
 CsR5Dc8XAdwzPq6DBcikn1UBnvotbHtAFNiISQQYEQIACQUCQiRnPAIbDAAKCRB9
 mFiKwhYZRw2hAJ4mmNxtlCe9yUHRCzxsUxl36gQYtwCfQZ3f8K4dxPU2ClJ46fTf
 FqQS584=
 =KYGd
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.36. Jose Alonso Cardenas Marquez <acm@FreeBSD.org>

 pub   1024D/9B21BC19 2006-07-18
       Key fingerprint = 4156 2EAC A11C 9651 713B  3FC1 195F D4A8 9B21 BC19
 uid                  Jose Alonso Cardenas Marquez <acm@FreeBSD.org>
 sub   2048g/ADA16C52 2006-07-18

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBES8etwRBADeB8shuQ3GGp/AozsOggqLnSmFwCS8nGN+rnE+4LHuRzkL4Kh0
 pgzalpPre7DohKjX2uzq9lTjjmsrTKZLM+yaNZ9fFMHC1uHxZnV9/c7tC97oQQXl
 FjMmemGZGA3VMhh5jEtjT5EJIvPBB4SBVhVhBJ24ananUD9KmUHTyP8GrwCgxMJ6
 +NrGKVeu5QYVLo9oVo26J+0EALkWeeHI8PE3f0jOqS+Voym3jQPLw7pvx+HoySw1
 X0c0YRa9uJVH2e8aFMMsCzT/sP492IksJvtRNpzDSJJyYM3zukzH+l7J2vwDvKgD
 YknZJE0pAS0GRAVbZQ9u6bez2+CUrGZW7Bvablo7r3nBHyhI2SpeM6naXlS4AJ6I
 9dbaBACm82l0Uwip/WoJM0r/lB6eXMz9tFeRgfnPY3+G0Y9pFpdxTX0q5M73L6u2
 PeXbWI2XPyPqw0wqda5YNlcRylXJmzLFGQzR6opqIbOEzRE+IinyQwQlcAv3qzBU
 p7qCplhjblcyAhWTlM5XsrAWxXHyNFrSCCPDgW296+8b6b94s7QuSm9zZSBBbG9u
 c28gQ2FyZGVuYXMgTWFycXVleiA8YWNtQEZyZWVCU0Qub3JnPohgBBMRAgAgBQJE
 vHrcAhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQGV/UqJshvBm6wgCgqtDd
 lyjakeTr7YVdNmpaI/UxpG8An0jtgTDD2M+CioUqGN1SNTkA/6cWuQINBES8euQQ
 CACt+RPVEUX/qDk3Qh6E1Zrm410mAJLfgG70tz02ApDXhW6aZccW97rH3pec+RDW
 fZVaSW4xHjUQMu1JaXK0dD++UWifuhYF+GUfi2NQflcy600VjM4v1HMZulTE5/0n
 NfPU4s2Vu0w1JcuXryjy5O8+ur10wQ4HFnL+qSDmXY2UKKTHA7vVrBTmysELDuj5
 N6T9+xxuR7EJG3lwTREgPnr5nRlyZBxgAd6k/AJ8i2X1YiGix2KI2fk/HYdgl3FL
 xnLXrLE43mAwQjcmkMruNkebjfAAnp6vKvSOLZ3mqoPNhP6SPGTPxoskcHqHhvXh
 L3Y7/Qqga4sg+P8tZ4YTx4SHAAMFB/92KAG0TePM8+gtp64oOp9RuUELjT35f5RZ
 0ZJZ1JromyMjOc6FRh1a9HiVzY2Vq99S/r8S5QoNH6vppxGjSL3Vs6vJg79eT5Jc
 ODdEZhoSzqmc/TwTHfOeHiFJJk8kAtX33CIHBUDM0p3OaJDj3weYi0TUWcxcvlFg
 p4RIYHCkmJj1/sI+0U8Jw35nSK4uNwW8MCl9a2hwHCtfnvQBfotybc4+YuwFesT2
 SDRit/mXxYkmi/a5GPB0To/e/QSBuk7MMNtLv0oF8LCrfaN76XOmahxjaSYidA4H
 LUFNqtRL9J5/T4VSZsrSl+Gb6HQIaMoGPbXmFk3i6FzNP7VDViZ2iEkEGBECAAkF
 AkS8euQCGwwACgkQGV/UqJshvBlwLQCgqDaWuJOgfV0r5li2gRPUMI5XCscAoIG2
 pLZLUWFiL2unIMhkFZSQbZZj
 =I2hD
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.37. Pietro Cerutti <gahr@FreeBSD.org>

 pub   1024D/9571F78E 2006-05-17
       Key fingerprint = 1203 92B5 3919 AF84 9B97  28D6 C0C2 6A98 9571 F78E
 uid                  Pietro Cerutti <gahr@gahr.ch>
 uid                  Pietro Cerutti (The FreeBSD Project) <gahr@FreeBSD.org>
 sub   2048g/F24227D5 2006-05-17 [expires: 2011-05-16]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =fVQ7
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.38. Hye-Shik Chang <perky@FreeBSD.org>

 pub  1024D/CFDB4BA4 1999-04-23 Hye-Shik Chang <perky@FreeBSD.org>
      Key fingerprint = 09D9 57D6 58BA 44DD CAEC  71CD 0D65 2C59 CFDB 4BA4
 uid                            Hye-Shik Chang <hyeshik@gmail.com>
 sub  1024g/A94A8ED1 1999-04-23

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 b7AAzA==
 =dqQP
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.39. Jonathan Chen <jon@FreeBSD.org>

 pub  1024D/2539468B 1999-10-11 Jonathan Chen <jon@spock.org>
      Key fingerprint = EE31 CDA1 A105 C8C9 5365  3DB5 C2FC 86AA 2539 468B
 uid                            Jonathan Chen <jon@freebsd.org>
 uid                            Jonathan Chen <chenj@rpi.edu>
 uid                            Jonathan Chen <spock@acm.rpi.edu>
 uid                            Jonathan Chen <jon@cs.rpi.edu>
 sub  3072g/B81EF1DB 1999-10-11

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 mQGiBDgBZiARBADgByjeXtfBseo67ZhVuyAMTk4vWu+bh966TDx29E+cS2Ud+mYe
 X8eQYKfiCQXlAzspXFVy4nmqsBY6KJKGFek5lPoCKhh2xpftYq+M+2N/oznrMzK9
 GZvMdd/zhVp/HvrdpLrIxjMVA4dai5p9pYB1kgr3EjV5ed3onKrWP/soLQCg/3LP
 TAJ8ngyQvH+YieZpZRJn/IUD/2ZQGOSSPhJTiYmPR6+dI4Mj+ep+NlrC0bel8RBh
 ANV5eaIbh+rKFPPj1Pdei+Fbkixft7Ne/jH4s3d1li4L255T4Zapw+JMCOQf0+Ps
 7za7uE88ofBK6nxdmJSR8vLoVKJLSD3cxyJs+BmldqZTzOuh945I7ajwyaqnPEiI
 GG6vA/9bRbnqnvUgMUml0kNq9ItjvdyUM4fgdS+sICjnFtwuPC29+0/FP2qmiEm0
 W7GyQNBqDHlyiEe+R/G+3hA0/ey2dMVeOI7ti5+oQXYD2dccrQT2ixHAyko+N4Nn
 XVy8nIzUWNFprXLpC4WPfK2VjSJpp0nrm2DN07LDN0NcJMrQiLQdSm9uYXRoYW4g
 Q2hlbiA8am9uQHNwb2NrLm9yZz6ITgQQEQIADgUCOAFmIAQLAwECAhkBAAoJEML8
 hqolOUaLYDgAoO6YPC4qnUXmHkRA7p4e8t4ZTe1GAJ9Yv3qqNB6M+/60uN0MCshb
 a35lsohGBBARAgAGBQI57on6AAoJENN4FMlqzsGqwIkAnR513+/0KzDMUI2GLsG7
 R5q3cpqjAKD+IOPgbJHgIK0akA9GNA1z/P0/v4hGBBARAgAGBQI57opmAAoJECAV
 MdWEXf7dDMgAn1djbz2wTeCG09TEdvSATrPmj3eWAJ4/syRYBR/qLqBdiyLW238F
 BQ7uuohGBBARAgAGBQI57o74AAoJELYkBuZbwVKh+g0AoIxeOw1l0FGdy/hKdluz
 9mrb6EexAJ9VOHWxZKgTTln8+ZyfxBd5ruFB8IhGBBARAgAGBQI57o/JAAoJELjx
 LUz3PH1EZS4AnihF2U43bwiEGWkT/JLLy7TSfRjFAJ94xSfSt39smgMQmVeYMBHu
 HSLMrYkAlQMFEDnul3dNVigheQUMEQEBKw4D/iWjX6ZnnmDStbXxWmEH+e2M7G16
 R3nY2TuOCpjXsZqqRe8XHS15DKspNJwUZNHh+Zjr9U2sRqalmkIFt2nB2X8CdMyR
 pHFf0SrTwnapIYRHEZ74fkAsu6qb7YatSNhzwcmALx4mzgLX7ARsrau9NzUgrY/G
 RqH8GOyB5lHPFpAdiEYEEBECAAYFAjnvJEQACgkQGPUDgCTCeALPGwCfeoJCW9cs
 4K6OtnvLJIiB1oqV6FEAoN8JjdYrOwgykMjyq9f/PFRm6WiOiEYEEBECAAYFAjnv
 JFcACgkQiOF7HfzlZWFTxACfTQ6LjXC6kmyqBEjgSQvc17Ypaz8An1Ab704SKRwR
 r3eLdUOBTFdDXbU9tB9Kb25hdGhhbiBDaGVuIDxqb25AZnJlZWJzZC5vcmc+iEsE
 EBECAAsFAjgBZmIECwMBAgAKCRDC/IaqJTlGi3A3AKD3HgdSlRjb2PNY9fmpEeYH
 4lFhpgCgocDA03BR5C9wuSKhaBVFULlm8OuIRgQQEQIABgUCOe6J/QAKCRDTeBTJ
 as7BqsDJAJ47uf3WrmN057AwozmuZtb9vMm5EgCgsykRluwbCgC6ZewHezoaiOow
 jzeIRgQQEQIABgUCOe6KaQAKCRAgFTHVhF3+3bZUAKCApjy6fQvR7tLP1reuVofJ
 oeTofwCfetmE1PO1XcTZxUer5PN01sqA0TmIRgQQEQIABgUCOe6PzAAKCRC48S1M
 9zx9ROChAJ4zQm6DLDcRdU6Tuk9/OCdKnHMnhACgtDI6x3Jw8FPXci2P2tdRtKN3
 B1KJAJUDBRA57pefTVYoIXkFDBEBAUr7A/4vnr99JzFe44a674uECQbpoEQkYYnH
 f/LLbUMhQkmp9nRwI/pS4lpEMxPhKBPtOjL3tkpXfhFRGClMKbRLB58Qj9QNVzHq
 nnN9MV83+fhH4fYU5isO5sVl817AN8NJdE6OsyL7LZWT3n9Ri5+qgeMa5rjMLw60
 hUAISXJKZ1r16ohGBBARAgAGBQI57yRHAAoJEBj1A4AkwngCApcAoKmg+EZV4ev5
 RW/Y8LqjShfezs/QAJoDCln4Q/DTjxMw0JqaGB4ueI6CwYhGBBARAgAGBQI57yRa
 AAoJEIjhex385WVh+ygAnimdjrEtTQA77QEZ2PF0BEf9//V8AJ0S73bH8sBgmy12
 ke3p9QDxZDYHi7QdSm9uYXRoYW4gQ2hlbiA8Y2hlbmpAcnBpLmVkdT6ISwQQEQIA
 CwUCOAFmeQQLAwECAAoJEML8hqolOUaLDKAAn0Qd6pBHUKZwZ4PNnVZFBagD3mQ5
 AJ41koGIb6g7Q1Xtu4HEBQZAvsgpKIhGBBARAgAGBQI57on9AAoJENN4FMlqzsGq
 u2kAn2POi/O3+sJ3G7mN4rBkHf6S7eF1AKDjdY7lbIjkJ8+fUyIrvuVigzAQRYhG
 BBARAgAGBQI57o/MAAoJELjxLUz3PH1E1Q4Anix3+MKXfnwrgUmhkReBQS4sp6Qe
 AKDN04ovFaX+oElfkglOxltBumSqfYkAlQMFEDnul4pNVigheQUMEQEBX2QEAIQO
 PgnwB5rBnqA0kNW0jNy4fq7UgikOYKjps/NVvuGhR4cfn6uZQUNPeO7S3BKL3JPu
 BlGm1cSwLZES3xTDpnq7dEQWYyc8c+/U/mUrSDQH1hVVo0rZwYFqr+5ZL20M1Fw+
 ve+XgfV8RvrMBXtphnVl4Qo6yghuWmf5pBEpElp9iEYEEBECAAYFAjnvJEcACgkQ
 GPUDgCTCeAJSiwCfT8ClDVDP37K+RE0wI+0o+YTrCCAAnR1pTuctZsNefOKbSWXk
 8BiHHfW4iEYEEBECAAYFAjnvJFoACgkQiOF7HfzlZWHbuQCdFwi9MWCX+1ppGDcu
 YFwdNYfNn7wAoJSIogi5+KgCWhyoQWogYlgCs4WZtCFKb25hdGhhbiBDaGVuIDxz
 cG9ja0BhY20ucnBpLmVkdT6IVwQTEQIAFwUCOe6N+gULBwoDBAMVAwIDFgIBAheA
 AAoJEML8hqolOUaLEEYAoPHfT4twSf2tKV8moPhqgQFgN2hxAJ9K7Lhc8HWSpvgh
 4jIaHaM8eiJnookAlQMFEDnul7dNVigheQUMEQEBYvAD/j4EQzuAKhSdaJ54F1hH
 8PMmOwxM9HJ4U8BvWY/wQJa0Hgkxg8UdQE9O7ZFWj/KypTEheSEreV6JWtkCdtpg
 KADWPRwKEnH2oz4y0/GjwoHfpyIZFlAC9WYYo0+glKLnH/FQSt7W33eJxLkepE23
 2hMOa6nEO3OFbik5PxaxpkzciEYEEBECAAYFAjnvJEcACgkQGPUDgCTCeAKdJgCg
 qtwHztlKh2pWO5FlSpMZ3ilXLEgAmQH9OUO+28K2b6DYqGPSn+UDWfi/iEYEEBEC
 AAYFAjnvJFoACgkQiOF7HfzlZWEi6wCg3uFRxhC+wR5304Lq/pJzX2HuqqUAnicZ
 7taSto90zR/xwcYEdcSaRHRAtB5Kb25hdGhhbiBDaGVuIDxqb25AY3MucnBpLmVk
 dT6IVwQTEQIAFwUCPRgU4gULBwoDBAMVAwIDFgIBAheAAAoJEML8hqolOUaLXVYA
 niQtgvTgGqxqsxRkd/aFegjCw9zIAJ95e7tBtTbBFgWZ/TeMIpLVAgZJUbkDDQQ4
 AWYiEAwAzB13VyQ4SuLE8OiOE2eXTpITYfbb6yUOF/32mPfIfHmwch04dfv2wXPE
 gxEmK0Ngw+Po1gr9oSgmC66prrNlD6IAUwGgfNaroxIe+g8qzh90hE/K8xfzpEDp
 19J3tkItAjbBJstoXp18mAkKjX4t7eRdefXUkk+bGI78KqdLfDL2Qle3CH8IF3Ki
 utapQvMF6PlTETlPtvFuuUs4INoBp1ajFOmPQFXz0AfGy0OplK33TGSGSfgMg71l
 6RfUodNQ+PVZX9x2Uk89PY3bzpnhV5JZzf24rnRPxfx2vIPFRzBhznzJZv8V+bv9
 kV7HAarTW56NoKVyOtQa8L9GAFgr5fSI/VhOSdvNILSd5JEHNmszbDgNRR0PfIiz
 HHxbLY7288kjwEPwpVsYjY67VYy4XTjTNP18F1dDox0YbN4zISy1Kv884bEpQBgR
 jXyEpwpy1obEAxnIByl6ypUM2Zafq9AKUJsCRtMIPWakXUGfnHy9iUsiGSa6q6Je
 w1XpTDJvAAICC/sF510YKnZ/qLcx8LfgpeHXSwVzk6/wZnnplNMAr5CvgYWa8fWJ
 L3DcbYUsZ4+eG86RULQ7WwaTXvuRXxiDsc7Rf3pKlZJGgOdIPS+VmCasO26/ohlE
 tWZ/5VoOJD1fRdoI6gttwhBXURY2ydl0cy+rCv7hLBTEOLunCWiA0fiPC8mw06vK
 ckaEdbhsB5WfH2XVEpF1db2zliNLeCAFEjxoo429/2JcaKaq91hqxa/ylAz8W4ku
 jCxTifWF9Ef8qz7wE9tyAplw7/j8E4lo/xSAOQLL7sh99B32bPo5sXCVS9IdZQCx
 GRsZM1JIlSbhdMKWrWaKpJIxWwNxlWHyVIHCY8PiZr1GB+qBICQL8egBtkurQoB1
 mBPBjjVtYS9VUXx2GtG92mLR4QV5obkqz9O3ZM7fVBjpCVHKdf5s3g8IOWPmP6oX
 0IgOQXC8PDOcpSYhgccap0PcEwh5wWaTCTFlxRG7cUesFODM1RnP9X4sFygNCVOy
 TYxI06oLAc40TH2IRgQYEQIABgUCOAFmIgAKCRDC/IaqJTlGixddAKC6OtCIquKb
 qnfGSEooSVFz5kPTaACgtZYK1PfljVCb4e0xoy8XkArq/8s=
 =cJgh
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.40. Fukang Chen <loader@FreeBSD.org>

 pub   1024D/40AB1752 2007-08-01 [expires: 2010-07-31]
       Key fingerprint = 98C4 6E6B 1C21 15E4 5042  01FC C7B7 E152 40AB 1752
 uid                  loader <loader@FreeBSD.org>
 sub   4096g/9E53A5C7 2007-08-01 [expires: 2010-07-31]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =PrOy
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.41. Luoqi Chen <luoqi@FreeBSD.org>

 pub  1024D/2926F3BE 2002-02-22 Luoqi Chen <luoqi@FreeBSD.org>
      Key fingerprint = B470 A815 5917 D9F4 37F3  CE2A 4D75 3BD1 2926 F3BE
 uid                            Luoqi Chen <luoqi@bricore.com>
 uid                            Luoqi Chen <lchen@onetta.com>
 sub  1024g/5446EB72 2002-02-22

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 mQGiBDx2qBMRBADYSjvWKVcUxUb1aR1VjHTlFo6zc6PHMK8W3CRin7lY3NgsYsmZ
 n0IvGQIDEHhTpOEWLS0S6A/bseaGUir52X6spZ8i5hfd7Ps9RmeS0oHx0XDS9JTJ
 HXFE5RjExHbLnw4DbsaqR4Fl1V7NJU2U/nkiJILJd/PGPZsdstKYv5QvnwCgmwr7
 QZlkTV/m61MmbMAEpEFWaecD/Rp5Qb9S5NGVplNeNqub4fC+Ydarkorr8qBJN9Va
 xu1Qgj3sOAoxmuOnZ99YAgXhs9Bqe4QsrQfs1cMUVzZsl3FIffh92HkrLmdJlsjX
 8lrRT694cIP7+ELNGKJ/zaXI3j2cnQPVqUO1icVfijqatqDg8bgQS8C8CGQX6e6h
 ADKGA/9cIY450gMvrtbR3/bqH+IgvBCUog5RXv0y8c80sJnzeqawx2BuziFvv6mZ
 Kv0PJ2vnWok0NHcyuBHkkEt+ujYlMQXHZ6wRykYxIUzM8tl+9129tSNEK+GdcCOZ
 rfbwm8scs+VmzrHXP+saOPcHPBr0e/KPPixNN1I5HB3yI0ILSLQeTHVvcWkgQ2hl
 biA8bHVvcWlAYnJpY29yZS5jb20+iFcEExECABcFAjx2qnEFCwcKAwQDFQMCAxYC
 AQIXgAAKCRBNdTvRKSbzvmmrAJ9FVK0lT4Qym+qzj0EA6TP3V42cwACfQl+ClPzJ
 zngykscMJW07MBXkQ9i0HUx1b3FpIENoZW4gPGxjaGVuQG9uZXR0YS5jb20+iFcE
 ExECABcFAjx2qpkFCwcKAwQDFQMCAxYCAQIXgAAKCRBNdTvRKSbzvkEwAKCRteUw
 2X3XbPsVDCBZarrkf113YgCeIHmhkDHbauw4UlUO1tYNVObn5dO0Hkx1b3FpIENo
 ZW4gPGx1b3FpQEZyZWVCU0Qub3JnPohXBBMRAgAXBQI8dq6XBQsHCgMEAxUDAgMW
 AgECF4AACgkQTXU70Skm876CUQCggJuwNIJy6f05Ka17RYn+j8hEQhwAnicDXnsy
 5SEYN6amlHdqN/HwXCsbuQENBDx2qBUQBACifA9hUBBYNqCcXTs8Jk1MCcToMFob
 vRt/SK2EcwjZ9aF9sIX3tJFrOHEe/bIcDMX19e480T4+BBs9MyHdnKgPR6vP8ZEe
 FvT8+44Wd6psLB1LwsE8UpJ3CbLjkgafTpJIlh4NP5iM2p+2ugUIRM2ZaAG7MOMK
 Ec47KOEb6yI9ywADBgP9F+p+zQ1Z/qVekBooIKU4xKBryGb/XIPJi/Pgapgr3oE9
 kKH4iObbvMBSV3kd4a0+FSEXSZyRnMD1AG+dWhAHgb9rbjtICp3hZOKCMfdZxFVg
 QStZO8vP5EhQYYtIXiNmOvkkBPqb+to5RgFFez8oIdPlMUq2Hf9MBIY6XDoNJl+I
 RgQYEQIABgUCPHaoFQAKCRBNdTvRKSbzvh9GAJ9K3KifYIBOHlsmRLF75mgKQk/c
 0wCeIOeVykZkImOxs0pEQMR/4g47Wjs=
 =RNuY
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.42. Andrey A. Chernov <ache@FreeBSD.org>

 pub   1024D/964474DD 2006-12-26
       Key fingerprint = 0F63 1B61 D76D AA23 1591  EA09 560E 582B 9644 74DD
 uid                  Andrey Chernov <ache@freebsd.org>
 uid                  [jpeg image of size 4092]
 sub   2048g/08331894 2006-12-26

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v2.0.1 (FreeBSD)

 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
 AJ9RFN/fKYunmZzi/STcxm8mj4AJRw==
 =XTXc
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.43. Sean Chittenden <seanc@FreeBSD.org>

 pub  1024D/EE278A28 2004-02-08 Sean Chittenden <sean@chittenden.org>
      Key fingerprint = E41F F441 7E91 6CBA 1844  65CF B939 3C78 EE27 8A28
 sub  2048g/55321853 2004-02-08

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEAlrEIRBACQ1ZZIej0e8esRdDxmuSv96bv1NTDBaEx7P649JM8a3afUvnQl
 JkA/ryZsKAnw1OeIK907Cs5HdaG1lD9ttpQolG5ZN23K01CuHUvq6yY+evwDV31D
 rKwYfALKfdhtAaymxM7RRsNNV8OkXLg0SEtBit4lbdY79vqiVC3PeWYvIwCgyOlb
 7dw3f2mNtm280LybDSjn5KcD/2gWssJVtQgssnCi0Jto8csULw4OKyJHvXX06Qkf
 lnXKcCJTBMgXZf0cZpYhuyqMUZfsVJaF0lMJ85J8zD+Of3G/KwuCqW7jqpom0zw9
 mgsmhZ1rZCbf4cG1orpGSSfmsi5IFoe+mWEJgHwIKlLYd/XDfT1q81swa2AlcjbE
 Pod+A/0cNSOWz4rj1ZjcxYsxg0sZES5eFEHfIJ+5g3yMbNPcvbQhlSClgDD1Z46p
 6bEZA4+vL2kJH+29E1Q0M6H4OB2rY/Co5TypocuazZR1kwkJY+bQtFqPrcCm67Er
 GYl3qcbtV8Wgn153k6DnMUc7by2iTrJiRjWw4LNVhRZn3/dj8LQlU2VhbiBDaGl0
 dGVuZGVuIDxzZWFuQGNoaXR0ZW5kZW4ub3JnPoheBBMRAgAeBQJAJaxCAhsDBgsJ
 CAcDAgMVAgMDFgIBAh4BAheAAAoJELk5PHjuJ4ooG+EAoJP+RzGsCHKYGaLhok0/
 B0hBnIKtAJ0YTlDINuquFtqFTeZgwTUg4jeHFbkCDQRAJaxTEAgAqKA+B8+oo31g
 N7Q6uw1rR5F6M2fFBwPrYU9w6bM7qX6e/oy3epL8BgtzdlHyzcux/hLGDHGP6mku
 lwH5wGSjqfbk3guI1ogl+e0EjblIeUEAA1R/k2o8xt/HINhXiCjQhY6AJL9cljGz
 NQY/ecR9d4HEvjc+Ticgyt4h6WSGMTpjjY+Y0bWrxsXi5ZAsCNYEuRgdaRM52aXR
 gGkSqMBOKSKAPGc35Jh4nzvPSKjXmkXutCnPNcO+qPoro5j2Dx53ZkfB7Raj6CiY
 C8VQ8PDEpjELTq8fuOqqrl911RDYAOECWEqyim78qROuhgq5750w1CJj3K8o2FDE
 Qap5jNPiUwADBQf/bk9Es1QDyDTPLC7Look1OS50vhotrHce7P+uab++khm03ajq
 XmNuTYifQY0kgzzEBaELw4+isBf1NV1vvPK9P6k6FCx+1mcNYzItRLBo15MtcXlB
 IqkD3v/BnhVgT0PqJT6jO8glKCmhEq+GurXqydIfEzWCbz0+snVK769Q9rJHHUf8
 icDKfUI1m7javdnXVrpA1kKZM8Omis+BfO17XDBLYZuVW5rAJDzG42YM8H1mrqBa
 GL806X/3i55d2RfgrljiZvXBpdOZRnM21w6hxNuj3OaVxqrQn9hOgzBcVdSZWc9b
 vxpmZ2j1vx7i4xNq5dzcBqxMKDcAcwomLWgjHohJBBgRAgAJBQJAJaxTAhsMAAoJ
 ELk5PHjuJ4oob8sAoI0szWtufl86pHsG0AwxjsykDS38AJ0SAW5Nr1N1HlZlrtlG
 0ev24JoBxQ==
 =yGes
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.44. Junho CHOI <cjh@FreeBSD.org>

 pub  1024D/E60260F5 2002-10-14 CHOI Junho (Work) <cjh@wdb.co.kr>
      Key fingerprint = 1369 7374 A45F F41A F3C0  07E3 4A01 C020 E602 60F5
 uid                            CHOI Junho (Personal) <cjh@kr.FreeBSD.org>
 uid                            CHOI Junho (FreeBSD) <cjh@FreeBSD.org>
 sub  1024g/04A4FDD8 2002-10-14

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.2.0 (FreeBSD)

 mQGiBD2qLwkRBADbZ6Rsv7guMTzGT9lj4eIE29vj0ZZNWFepFEqEmWK0jMLAATX0
 koXkP/qWsuGBhVHcSyZtVG+MYTwAzo5nBszx12CNL/GkEokQ/9FXi+cA3W5TJZTE
 ssMq0PPwqCB7+s/4DBmc3uI22TCOI7J26XkftuwkdihCMG/gk+cgKkzZ7wCggaBp
 02a96DwV/78wUZy9C8B6uMMD/j5jAO2HOubn5CRZrOpko3za+qVsk6yTCmq12z+t
 r9veYORoVohxVTIY+xpeHQVlOe5URTiKO0Uvu34Tl34x0BbSLBWrGU8UTMA4+hpl
 QTUK1GI1DheFPGGGxbt9w40nslRVw2Or7GA/XHexCDwx5KZpJNtO8c/MqdlzAae5
 CuYQA/9bb5T8xhamrsOFTmdLY3wPM2efnp5d3luwA2Fe3SdC5Rkoa2fDye5w7fy1
 9YX638Nw0YU6P/xmygdBjqxKs28/6evo79KAWONL0dl20pEYoj3yVz58C3YGLEFe
 p9ggrBf41MjnnMg+D7NdBOHtISfOrU3TtB/1DiGE3+QpMwuOHrQqQ0hPSSBKdW5o
 byAoUGVyc29uYWwpIDxjamhAa3IuRnJlZUJTRC5vcmc+iFkEExECABkFAj2qLwkE
 CwcDAgMVAgMDFgIBAh4BAheAAAoJEEoBwCDmAmD1SyYAn3JBBPs/6lAQ55HLjew2
 suN8XP8RAJ9OBFQhUphqmQ/shjrwbNRBsgDbc7QmQ0hPSSBKdW5obyAoRnJlZUJT
 RCkgPGNqaEBGcmVlQlNELm9yZz6IXAQTEQIAHAUCPa7Z7gIbAwQLBwMCAxUCAwMW
 AgECHgECF4AACgkQSgHAIOYCYPW9MgCeOYgOUTCIsagnCymketJwQoGBEpsAnik+
 bL1lPnomVghlMMUgU8wxB9sQtCFDSE9JIEp1bmhvIChXb3JrKSA8Y2poQHdkYi5j
 by5rcj6IXAQTEQIAHAUCPa7aJwIbAwQLBwMCAxUCAwMWAgECHgECF4AACgkQSgHA
 IOYCYPVI0gCbBZEg/a9K4BAY5HQ7wFOp6u/G+nYAnRgb4zUmf2M57dxEx2hm93pI
 aKP/uQENBD2qLxAQBADMGxA9f5QYLFnR/XZ+Hqa/YCeqFMZ3hC4KnjWBDDXfI0Cv
 HMLBIW5027NPIDeN95998T5YJPDm1TY5Cort72CTDS3eIfoG0iGwIzzLfXrZB7Zc
 1BukNV5NMFeKPO7pX6k4R0aQr0SQUmcdYD7t6V/M4xswVOwcECk/W9BuGA/9NwAD
 BwQAy8LmYyssQdjImAASQABcpdOua5orv0ojYMu+edGmjd0WqhXToUHcDfQgL6YA
 kO/4g37ysvGwlpj8U7cZwabMO/zwnryyOEeGEA+5aCsji4VRZHOkdflcuBOXj0nR
 9yHmPFfwWTxLtV9ajLCP4vXqKPrKciS8SbuLYzvx+lnUiCqIRgQYEQIABgUCPaov
 EAAKCRBKAcAg5gJg9eZZAJ90E4gu6VACob81uH3MxWmgjpG2iwCfeNTe1Wz7EO3K
 z54TjDmC4biJg2M=
 =g8A3
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.45. Crist J. Clark <cjc@FreeBSD.org>

 pub  1024D/FE886AD3 2002-01-25 Crist J. Clark <cjclark@jhu.edu>
      Key fingerprint = F04E CCD7 3834 72C2 707F  0A8F 259F 8F4B FE88 6AD3
 uid                            Crist J. Clark <cjclark@alum.mit.edu>
 uid                            Crist J. Clark <cjc@freebsd.org>
 sub  1024g/9B6BAB99 2002-01-25

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 mQGiBDxRQfMRBACvHk6znTM5boH4k+2+anGxRuPxPPIJgo6Ny385v60FtJjwLwDh
 9LwvZZjpjXi7MM/0FRfUE4bqzrdBtUm6XXGC8v/FTH72TemXR54yr2zuCTcX3jML
 e7wjrO0SO1cttASSeb8OsVQEqiMT4VRm94AYdQvS8bNxbqlog9PYmhh6lwCgwDYl
 Br/IhYSKQTugPEb8nSyP3e0D/izp3mt4NXcULIp0PZFpvnGZAMLq8moZ3cYa+8nM
 kRCWd/1/94lCd1YM8f3lQsaEvRuWaw7rT1ENknSb5TZnEMsTvV03CM4DMzH63Zde
 wgl8Xne5lF/WyiSsjUeSkmvCExFA83fz/Cv8/fk6K2O2Ajo0b33Rb7WLH/gb4U4s
 9ZkEA/48XB6/s0vGFVnELRSXbc6wCHbnhG0/58ewSbJ2XjyIFFFmeqIF2bpLhuRT
 YTBz3styfrjeAqsi9t4gtcEK3vyvF83ql5b23u5/V/+O/ZLwk3kceYmjM0mbETil
 FajrLZjaWXpTRQauL/tsqxItBI4BNuTvnh9bizQY8V7xzAgMwLQlQ3Jpc3QgSi4g
 Q2xhcmsgPGNqY2xhcmtAYWx1bS5taXQuZWR1PohXBBMRAgAXBQI8UUHzBQsHCgME
 AxUDAgMWAgECF4AACgkQJZ+PS/6IatMaGgCgqdklRK39OoUma5sl44pEl7R3GhAA
 n1680hBnTGdIR4wxFY39uX9zK708tCBDcmlzdCBKLiBDbGFyayA8Y2pjQGZyZWVi
 c2Qub3JnPohXBBMRAgAXBQI8UUKgBQsHCgMEAxUDAgMWAgECF4AACgkQJZ+PS/6I
 atPX0wCghHE+X/oyrMbMrCsdwubBf1WudnAAn2WHoVNZpzgMck2MhFdwa/1rAJI1
 tCBDcmlzdCBKLiBDbGFyayA8Y2pjbGFya0BqaHUuZWR1PohXBBMRAgAXBQI8UULc
 BQsHCgMEAxUDAgMWAgECF4AACgkQJZ+PS/6IatOKKACgsnfy7ZCxEWmdnY+c9KLm
 x0V1Zy0An34Ky4kzHxDYDTIoO6XRS48+/aljuQENBDxRQfoQBADouiAUldDORJkG
 K7fN81SWvocuySMOL/dEv6UQnBgR4lmjmaLog3QMbGIsJqiPRLDDS3PMkYf1dgDy
 6hPmMkWF/xd13Vpk4S5sIjrqTBGoE9f0SPbcDPIjRj+htXFcI+qvhvdceYi24Zvs
 xGX90jb+fimZdrJNtobfEqJaYOkrDwADBQQAsCwtAczuP/aM624+UYBrNMCmHpRS
 ZAOAnp7Hz83GafkWynaNRDYan2KsBrZJmbZ3MJ6kyUj6k37Keh1c7pR5DsY202on
 9haB3lTZv+j2QooPyj9Ityd985eqiRwAMBuOrpaCpot7zYlwiG/Lx/0P00RZ+Jdz
 hyidSKrsudGAp0OIRgQYEQIABgUCPFFB+gAKCRAln49L/ohq06htAKC7SFr0uQmS
 9fjEOFsF9oPMMxgFwQCgjvMA6reNmNAm0i6ycFh3QVYEUic=
 =C4zW
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.46. Joe Marcus Clarke <marcus@FreeBSD.org>

 pub  1024D/FE14CF87 2002-03-04 Joe Marcus Clarke (FreeBSD committer address) <marcus@FreeBSD.org>
      Key fingerprint = CC89 6407 73CC 0286 28E4  AFB9 6F68 8F8A FE14 CF87
 uid                            Joe Marcus Clarke <marcus@marcuscom.com>
 sub  1024g/B9ACE4D2 2002-03-04

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 mQGiBDyDmj4RBADa/Icz5Xl+cJUGNxC/tWgXWqcA9VA8GN+PeqKhXS0BnVHntdsQ
 xbpFUUKK4ld0Zex/Rec1jgC/ikExJHHIee8ZVcHqP+tsWexi83/ZvEdzI95diBp2
 Is5fYp8P8hdIBNQSOoc1jVYrTJUaZgJK2uBzbkh/WbipwsQbueRzXqPORwCgsPNr
 StLzqOpjrA7FdUz/JVQf5+8D/1SiKAOFiW4TxY+fS09lqiLs3mbXjvw23iQwLxje
 4vBd4+b9iAUWOsSretSKv6OE9ZlD4FYea8HmMgEkuKfXGc8GvTq4J1uHZ0gcVbrB
 GmxAUBPPaAENYEJfJf7dcysKVAl14ZQVIvzAGJAZHGuegD7uekGKnOEA61R3ze4a
 M2zNA/96I77l0qiMc6J7gXmiD5uxC7FsSCFj5sqTYMgBqzIYEZjU/tTUbth84xcR
 i4X0WNkaILqq1mOcBfmzQMvzG1n1CydmJU6iF1ewle6cIui9TQYg5CESrJF7xid4
 vVXRz+xi6hc1+0bSaoJa3sfpNrSSr0lKGdWHZozWdQjOvTMCXbQoSm9lIE1hcmN1
 cyBDbGFya2UgPG1hcmN1c0BtYXJjdXNjb20uY29tPohXBBMRAgAXBQI8g5o+BQsH
 CgMEAxUDAgMWAgECF4AACgkQb2iPiv4Uz4c6rgCgg7XXmcYqcIlJdDl0aGU8r0Dl
 kfYAn3W4oHUReFhATFkj2d+7zu+Rsu2MtEJKb2UgTWFyY3VzIENsYXJrZSAoRnJl
 ZUJTRCBjb21taXR0ZXIgYWRkcmVzcykgPG1hcmN1c0BGcmVlQlNELm9yZz6IVwQT
 EQIAFwUCPK4tTQULBwoDBAMVAwIDFgIBAheAAAoJEG9oj4r+FM+H7U0AoICIVoBe
 9B8bo1lrvHh+UF7GY/WaAJ9C2mCThFrmqxCr2bCtR12UoPCPqrkBDQQ8g5pAEAQA
 qk1J4LBDLeWs6ZOkPDYYcKCSAu0qlzEf5YP/TcSeZcjJyXILgesFXcayoy1v7ILP
 QSXj4p5uzRyn0fuGqiTvajjxMZz1aSkvgGyS+gc+PDmi4SJ2N/tX2isrul8MK+NG
 eUsLuZaM1JKhgKpq9yuu3D3ELG7ESga7xsOs1V/sSd8AAwUD/20XByIlsUUC/65K
 G/DQ1WfX2gNuy5If9tSPQ6h1Lno5Hv3ow3ktybIoQSxbcBo28nA/Gzg5NFGVkkqf
 OkH2xtS6V0K/WjzsrloBHCPFiKp2yHpXfKubxl8yefQPTMj8hLwlBKrNiN1fz5/6
 29TIkEwDwrUwHxQreE7FAzPMqHORiEYEGBECAAYFAjyDmkAACgkQb2iPiv4Uz4cn
 uQCfX1zNrahRTWz/HRpF7ms8qZqzdOIAn1uuu6Jst43pDzanBHUOBzUP6ymA
 =Bu/6
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.47. Nik Clayton <nik@FreeBSD.org>

 pub  1024D/2C37E375 2000-11-09 Nik Clayton <nik@freebsd.org>
      Key fingerprint = 15B8 3FFC DDB4 34B0 AA5F  94B7 93A8 0764 2C37 E375
 uid                            Nik Clayton <nik@slashdot.org>
 uid                            Nik Clayton <nik@crf-consulting.co.uk>
 uid                            Nik Clayton <nik@ngo.org.uk>
 uid                            Nik Clayton <nik@bsdi.com>
 sub  1024g/769E298A 2000-11-09

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 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
 PbUkrewAn0exWATudMNC4IQf18YvII1t4Cn8
 =9wNg
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.48. Benjamin Close <benjsc@FreeBSD.org>

 pub   1024D/4842B5B4 2002-04-10
       Key fingerprint = F00D C83D 5F7E 5561 DF91  B74D E602 CAA3 4842 B5B4
 uid                  Benjamin Simon Close <Benjamin.Close@clearchain.com>
 uid                  Benjamin Simon Close <benjsc@FreeBSD.org>
 uid                  Benjamin Simon Close <benjsc@clearchain.com>
 sub   2048g/3FA8A57E 2002-04-10

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =/2rY
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.49. Aaron Dalton <aaron@FreeBSD.org>

 pub   1024D/8811D2A4 2006-06-21 [expires: 2011-06-20]
       Key fingerprint = 8DE0 3CBB 3692 992F 53EF  ACC7 BE56 0A4D 8811 D2A4
 uid                  Aaron Dalton <aaron@freebsd.org>
 sub   2048g/304EE8E5 2006-06-21 [expires: 2011-06-20]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBESZZ5YRBADZ18WQp9eda97kmLEVNkYUkTbWn90/9ViXP5lWhWDvdIwXXa+S
 byVbZI75QkYrvhhyDQPwK2pwF3v/nGaBhQvO666uWWyqBAC+FTjc6GQ/tVTe67Pp
 dBVlY3X2QadAIWOYHFWNhG58jAXDnuz9po/w/h5t/6wayVElamu/jPBwBwCg48VZ
 4q1oQ7M474YPBsyLfmkLEu8EAJwdgos/BxJ0a39PFtI768+6SS4e+B7qt5UDd30l
 87rvKoW3gXuf4Vn00Y8m+aK+mUjsWeQfDCF6Kj7/ecGNSkfvwmsEDnRMujyapX6J
 wuJ6DzKgrc3zEBXVK5g+JBrSZDGetkdl8jndG0lmxIqxqnx1R+uxiWNs9NAdeP1P
 F7vCBADAPoKaAEW0LlsOE0zIylP5e+LTBd6MQeZ8zISlNqMHDX9F174Fo4CFH/pI
 nW588yf/ChScuONLPIPbMBkvoC34yLEGluvjZov0cjySqzcTN/TkZ7iH1NrkYe71
 /z0Pe6jWY8p4KjK6C6dKok8b1ZI/btmJyuv6bkTzM5kQlxg43bQgQWFyb24gRGFs
 dG9uIDxhYXJvbkBmcmVlYnNkLm9yZz6IZgQTEQIAJgUCRJlnlgIbIwUJCWYBgAYL
 CQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEL5WCk2IEdKkTFIAoJwahC11/B2TXIk8
 9PioqX0c5nU5AJ0YGkpXIzDzF6QskMWWQq64fMuE6rkCDQREmWehEAgAzFoPIPXW
 +sMFJs/DzCYMzHglYmNzHr8wCfvNq3hiiHUfk9EtcUaMnVI6TMkoEEF4mXMpf7oc
 uCjU0+CZMf2GV+bLkxs2rNePyjzTuoig1vsl9RFA+1tMfLrUsUKwoPjLZUbHHApl
 S1x4k+TaLanT+tSQar//WNuA5JrmxRXSyYXu/2y5VSi+niaNKupNYXfqr53SuW2J
 xh90I90hzgBzQypWNNDEIN1c/lkgIvWm7RbbBliX9Y23iUeFkzmLbOUcpLSy3zj3
 9I3eCshQdFv5UT54N8rMAg6hGC5jfeqy4mVpMLWst3Y/Od+DBv/F9xnaquGW7LYp
 Pz+H4fJzdC79hwADBQf/XyMpsvO4z1N+8DaVybwMedLd4ExSkIAsAI3MTS1mtNu9
 mFm9GQULWvUH1YXBFnVVidibc7zdTwVEAPFhc/uZ5unxqzbUAj5whkCBUF53ZpVv
 nsskZZ3aUEh4hEM6S1t1kc7+HptpMgaSxEcjy+ylybMEzBQ14Mh38sEavfoeDvfb
 aP1AtLQh/+ehQZHeA6px3PvdDeevM6zLoAY6yEKtd5QaSrvhIuP91HKeQjPgM8yy
 IZTWM050axPzKZOCf2VsB78QUNVGcfFrbScleBvaVbdOh/ZgxGOgD7LOhhgivV1m
 dLQ+3W66/GuUVDHap5hdzPuoUgFTodlzilfqjpaekohPBBgRAgAPBQJEmWehAhsM
 BQkJZgGAAAoJEL5WCk2IEdKkNGoAoMBfaOMRp7+OtWsx8pkGGlFszVCDAKC0rEFY
 lBcUW4xcel1cl7I40JK+lQ==
 =bsX2
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.50. Ceri Davies <ceri@FreeBSD.org>

 pub   1024D/34B7245F 2002-03-08
       Key fingerprint = 9C88 EB05 A908 1058 A4AE  9959 A1C7 DCC1 34B7 245F
 uid                  Ceri Davies <ceri@submonkey.net>
 uid                  Ceri Davies <ceri@FreeBSD.org>
 uid                  Ceri Davies <ceri@opensolaris.org>
 sub   1024g/0C482CBC 2002-03-08

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 kY8idgc=
 =eKfA
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.51. Brad Davis <brd@FreeBSD.org>

 pub   1024D/ED0A754D 2005-05-14 [expires: 2014-02-21]
       Key fingerprint = 5DFD D1A6 BEEE A6D4 B3F5  4236 D362 3291 ED0A 754D
 uid                  Brad Davis <so14k@so14k.com>
 uid                  Brad Davis <brd@FreeBSD.org>
 sub   2048g/1F29D404 2005-05-14 [expires: 2014-02-21]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =HfL5
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.52. Pawel Jakub Dawidek <pjd@FreeBSD.org>

 pub  1024D/B1293F34 2004-02-02 Pawel Jakub Dawidek <Pawel@Dawidek.net>
      Key fingerprint = A3A3 5B4D 9CF9 2312 0783  1B1D 168A EF5D B129 3F34
 uid                            Pawel Jakub Dawidek <pjd@FreeBSD.org>
 uid                            Pawel Jakub Dawidek <pjd@FreeBSD.pl>
 sub  2048g/3EEC50A7 2004-02-02 [expires: 2006-02-01]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEAeUYARBAD2RoYfLkSt38R06MpFesDgXVvgSb7q2GGTiMLZE7iJ8iKQU7Rx
 DkpW7EkpJ/YGPXro0KumkIGoPCsMF1eLENUhGhyMosN5Yb9Y7DXsOv3QcCKIfBlM
 P3Y+Y7By0GvSYPvYK9GZI2ZvSXyTraxB1eO/7c+aqS7wdwx3bCsVKnyzBwCg+nXQ
 izSD3wmwDYxffxN4dawiD2sD/00L95dq5XhM9nISjWJOjGsPJqyzoZZH2pemOgcq
 SeNimi0yWOWeZh/bxbjUYI5RXdBXGdwQxW6DKFU9o9NFe4se1jZcbPjuRtkbBXqz
 Mkh4kv2pvZ+rHu41kqzOZ0z+rbZld2U28R76xtx3RI4OXvJ8z01RHzAEwJ1G6s3D
 wI6iBADy+KSjJmfgP1rAcNPuwW7T7L2H9fLNTp3mmWZZDj6n4fykcwM9Jtz/K4QE
 i3GHNB2AnmR8yiPE2m87ObsKV7d8UK4WP0OLfbr7d7TZ0jDscBhlyfYgKYDFHaJH
 8O+L7df2oQU31wYEvYOP/mSTPO7F5TJZm3/Pygp/JkKnPDCnY7QlUGF3ZWwgSmFr
 dWIgRGF3aWRlayA8cGpkQEZyZWVCU0Qub3JnPohkBBMRAgAkBQJAHlGAAhsDBQkD
 wmcABgsJCAcDAgMVAgMDFgIBAh4BAheAAAoJEBaK712xKT80dOwAoNjy2Xrebr+p
 AQroKNQnIzaR2QysAKCXRA9XldUcwxSOzRJNhDktAKQbZbQkUGF3ZWwgSmFrdWIg
 RGF3aWRlayA8cGpkQEZyZWVCU0QucGw+iGQEExECACQFAkAeUbQCGwMFCQPCZwAG
 CwkIBwMCAxUCAwMWAgECHgECF4AACgkQForvXbEpPzQudACbB3QlE/GfSY+umOHI
 y+3UjdMKuGMAn2JC4vrcEPwg8XMF5iEIaEZ0tNmVtCdQYXdlbCBKYWt1YiBEYXdp
 ZGVrIDxQYXdlbEBEYXdpZGVrLm5ldD6IZAQTEQIAJAUCQB5R1AIbAwUJA8JnAAYL
 CQgHAwIDFQIDAxYCAQIeAQIXgAAKCRAWiu9dsSk/NByVAJ91gG7VGmIK1H1LyHnW
 ZPI8T7WRBwCeP644asOCGfje3+NjA0F9OHoL2z+5Ag0EQB5RhhAIALfZ2Kq/Yd1j
 X4+kdVgCQqHP9tEHjYLwGICL3Y1i+whLqUx/X+MZmt4vNZLaoaqRXhMD8A5c9tN4
 06ODB6afzS0feQE/s3j0bKRviTvUedg+CLvt9anqf092gRt1MnKAAWsw+WNqfCNI
 xsONpWWS5LL11PLyEOhxqsEvcx2IpswjG398MINFwHo7dUielCDpAPgu8tCVLpWb
 GqUBiWdqzq9jxvIS7obYUmr0VBqElP16LrcvoUs8W+AGvkfTZW3iX6yPhfpnycKy
 OnStwtO28Ud2BlRrp1YLJWv8oZcYDP5p0GyhbmCbj6qG+BrA8XbIgASFZHK65CWr
 ++Zc5tztIBMAAwUIAJVrsEErdqxbj7qdJXVebkQZLe/hr5fFOGdOwMmvNbsI2nHj
 0B/L8Gfw1v2N6K5ST68mSH5gPpDDkLqDfqY6OcN2LBhVvOdEGJv7kp8x0XK/vsbj
 jARiO6l7ZrtH4E78oiHzYK1yGFNMi6c5zpO6BXRUAVmKptL/BRu0UPRMfScyIbnP
 gT0dcOiTazJ5U9Ol+Mjk4S/YLqe/05JQvmzKzSht6E8BbgiZxwsrWB+CLpLwglbg
 f4NX+BAjApvoesbhkLOY03bSgP6CsRbL7izgVmfAHbOJk5eIYjSEIOcqIMyg3cp0
 kZI7omon6uhjl36Ad1uEwjkW7jPgCz9a62bLr3eITwQYEQIADwUCQB5RhgIbDAUJ
 A8JnAAAKCRAWiu9dsSk/NOa+AKC/grZ0DrDsO9LtCEQKwTcP7EQYBQCgsk9ZmVug
 9caBiftOC/+/0ej5qqg=
 =/cMH
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.53. Brian S. Dean <bsd@FreeBSD.org>

 pub  1024D/723BDEE9 2002-01-23 Brian S. Dean <bsd@FreeBSD.org>
      Key fingerprint = EF49 7ABE 47ED 91B3 FC3D  7EA5 4D90 2FF7 723B DEE9
 sub  1024g/4B02F876 2002-01-23

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 mQGiBDxOCiIRBACyyyoMk5OyGdOkR0a4fj8zPJ2AOielQ1BYv7JlIWdNeMHdQ0gj
 liTgXwDimeBnElw7sNrmdfocfwKbmX33exFPa3AkJgLflBcuH9+xE3ozgzMl6t76
 QL90PPIc24Er670NnhF7Smvubus4IdckvM24kuUTINmiuFzVwuwWdXdwvwCght6R
 HPpuFeiMZHRJAiHmu9AkKrkEAJRLmRGgdqTQ6RRIQobqGS+1grl6AsXHzKfvjx8I
 //12yrFiUcXE+167I529OW2i4ilmVjBmnwwe3750ZKBIp8OUBkMkfMuTSyCCFD22
 CX4N7D68d8eCJiCqv0jMZGnoWoMulmWzdyplcg/FhdLzUfpXLWX7/9gzy9k8hKBT
 Ou2UBACRLG7zwgKcYx4yjHhsCxuqGOeKtcfF49ghCp1s+wPsnXy8b6ZAY3wFeHC5
 LFyUsQFarizV0aeqJoOXEB296xZYPpgW6C+rajd1WVi7zhPxsfYedldX8HtGDMKm
 FRN88P75OGjMdFOYrpXTqUAJnoTUN4UynLV6WbfM7Cne0syg9rQfQnJpYW4gUy4g
 RGVhbiA8YnNkQEZyZWVCU0Qub3JnPohXBBMRAgAXBQI8TgoiBQsHCgMEAxUDAgMW
 AgECF4AACgkQTZAv93I73un4TwCfWqT0UeeEn9qstLTycDZF6oiKUusAn2dZRiNX
 06KUv2qJk2g88nUsBXgDuQENBDxOCiQQBADXY+I+CYMmiant5TBMzh5JfqhW2FXa
 aZDgi5XTVAStL6AaygeLIaVSSUUuOxiD4JB7vxHYB7pyVg71/lg5moud8NP2HNKW
 YR2mZjCQ9bHRQRqqPBTMrSHJpq10cZ6grxvVmte/oC4cI35wL8HEe2WwChZgk0tS
 YrA5PRt/UGWLLwAECwP/SxokqxcRa3lZqkpdwLgLWpyx1KNBg7wIJYLmALI0UxpS
 ezweD7OukikqZ1BYlaaWZ7N++r4sNDR9WTIv0ySNovxJnnlyo6FzD9RD7ijQbAvp
 nhpikigC+GvdnvmreMXYztc9WvFeJT/S8LGDkDHcm0ECmBDo3EA8W0+sOQsZxk2I
 RgQYEQIABgUCPE4KJAAKCRBNkC/3cjve6eroAKCCMN4s5AqvTy38BWmspFvSu90I
 IwCfTGutfs+PGUY9JJoabnnfJhfIgNA=
 =MFJO
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.54. Vasil Dimov <vd@FreeBSD.org>

 pub   1024D/F6C1A420 2004-12-08
       Key fingerprint = B1D5 04C6 26CC 0D20 9525  14B8 170E 923F F6C1 A420
 uid                  Vasil Dimov <vd@FreeBSD.org>
 uid                  Vasil Dimov <vd@datamax.bg>
 sub   4096g/A0148C94 2004-12-08

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 XmPkHj0KHckscg/fYw==
 =Yp1b
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.55. Roman Divacky <rdivacky@FreeBSD.org>

 pub   1024D/3DC2044C 2006-11-15
       Key fingerprint = 6B61 25CA 49BC AAC5 21A9  FA7A 2D51 23E8 3DC2 044C
 uid                  Roman Divacky <rdivacky@freebsd.org>
 sub   2048g/39BDCE16 2006-11-15

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEVa4hkRBADRcg44myl39Jv+OO9DMl2XjrS9JwguZSVjCHY2Tj4urjsEjcwf
 3ykYpJbXkK0KHHP5VTfoIp0MwoQdS4Xx5uHMHg/re5gws7KU4DXFmc9gWd1+eVXK
 PEMfWVG94qS7pG9e5aS7znglPNVUUBMKVI0VgD4fsML/92RFJl7iLFY7uwCghVfP
 952asGrNrV9T9+GBOxKUjvMD/3be37yXGBcS2f3Py6gHbv4vC0CFtfXUM6Zclz6Z
 8FGv0sYDaTW94FPkXqmcUaIjH5KMyig8Y93UquZ04stFgYkxwku1drHZb4hnuqmv
 NR4qvycMye1dMC9824+FpZkhP6ItjMcbE1PxRhQVU7dyO0dFyUlEEiMrTPhzLiJj
 aR6pA/9nW7NSJIaSnDrJ8Uq4NEIjyTidU5JCZLJJxTbSbEe5FrOSINENppVbmUzj
 CMXqyP4sHXtEA53Dl38dDjWz08A/c4dK+lwxtjDQ0NrLpXHrnqWc7tNW3XtayCiH
 KjYTUbj2kHV4Kva73zJBAlN0N+D58TfQQDisnaw/cGebU+5/ULQkUm9tYW4gRGl2
 YWNreSA8cmRpdmFja3lAZnJlZWJzZC5vcmc+iGAEExECACAFAkVa4hkCGwMGCwkI
 BwMCBBUCCAMEFgIDAQIeAQIXgAAKCRAtUSPoPcIETDXXAJ4t7ojZLL46SN/zLVTT
 4qylgoqfNACfSvpuziRIUKGLO/YdkYe1hiJqknG5Ag0ERVriIxAIAInh7G4TY8ky
 NObKXToSjpvxNhY4JQMsJ43dCHTkT6CwAes96mhAscYF3KfBcIFhv3Oj6LhyMe8l
 J9A8wcAPnYzOzjiZLrITF0IlVM1L9VT49tkvidOUMykKvluYKMmntH8fCi5pBKc8
 Y7FQ5Kc3MZ/2dge5k95mpuWmuAjAVJXKd2ONAPSRwnxplJo1kA7Bvp632TRbDEjx
 mwtg48FI4Blwu19i8rpwzRf0iCp78UF2ypoyrRqzudLXcMT4yS2yU4z4mbU91qbc
 PNCkaMP9/HyoHnIA38bs0tMUUawKCeQZgCkTV1R+V/J5uoRIMsSBGfX81RADvEB6
 HtYPrUFCYs8ABA0H/0PBej8RqZJmWU7qlpoEX4gEG8FpcsNG2RGNjuSu6l19xk1E
 RF5tYg2N3hnqioWri1t3BJn1qpHgSL+mJJRqf00c2U5XUKuxAvTWjARyqa2G+WiF
 hPc1pmE9Ty2n9XkmT7G3jidTNHXbqsjEK0OCZdLJHOkTuStUjn8Mz2PpvlZoj0Mo
 VYEE3Paet8mFH+Y/EjHKTe30RymAOQOlc3gKEP/2qkp0Zqkb0FqklLCUQvvjn37k
 /oIcF/lvmIieN/on565dggchLRWCX7dMI6QDtEnd72jwpGo30oVUC3NlKoEggcFA
 jiVbPR/F4UhBtjcB6GCiLHvREKjL17gCVwMv4mKISQQYEQIACQUCRVriIwIbDAAK
 CRAtUSPoPcIETGfTAJ4tppNp16pURW2x6Yi3GwY12/Rb9gCdGiT6lz3e0Ffo3EDl
 3I1WppEoQQw=
 =5OWm
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.56. Alexey Dokuchaev <danfe@FreeBSD.org>

 pub  1024D/3C060B44 2004-08-23 Alexey Dokuchaev <danfe@FreeBSD.org>
      Key fingerprint = D970 08A4 922C 8D63 0C19  8D27 F421 76EE 3C06 0B44
 sub  1024g/70BAE967 2004-08-23

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEEpzAURBACu7RDb0dP0oorBa7j0Do1auzG1N2wQgTMIHoo7DhspaGjvN0RJ
 /dozO04jqyWopb/cA7iWMqn/7gX9ckHrKa1ugQRb8P7AhIZNmfc0B5AOCqeGo8gi
 o9y/XBhFRS3Osxxe0j2bIoL3pk0EBjHaa477yiZyWNjq5j8rPf/h7DudtwCgx14M
 iEwmKZ4hWMzeaKYcOFTIn1UEAJtUMrBbxMxchDnIuAn3Oz3ESpGpxSDVcTHUxoIl
 3A+mizXetzWX8lmEP8GM2oM1/dRCiF+l2v5tcnBO52PT1cFst28W6Ytyf1PamIFC
 GNL2CZUz/ZVRBPEZb7CfXJYupYd1AiYNCoSyh9bOv4Fin3Uhm+Ds1n6x3yulCFyo
 PJ9pA/wOMpGwCNSpNLcfz3gG5dh7PR2rhh0D0w7jZbO/l8D/81inThfBRb7B4KIP
 v1Cl/ynm+M4XS7Fy3xjfPHbUvHY/DNr9rqI0qsGU9qTubuBO+I647tjLFem8gaue
 yESeoU4okXMPblPXh8r93JIfbmi/rMcuddblJ5kw6U/IYYGGS7QkQWxleGV5IERv
 a3VjaGFldiA8ZGFuZmVARnJlZUJTRC5vcmc+iF4EExECAB4FAkEpzAUCGwMGCwkI
 BwMCAxUCAwMWAgECHgECF4AACgkQ9CF27jwGC0QXdwCgwTxjqqG9DppWUVvfQklR
 7O7d/QoAnj9qF7prbDCAq43MQJIJ1AP6x/4UuQENBEEpzAYQBACsVmYX94l7jndx
 byPUZl5SlKLJFSTIymPGLebcdNg8rF86aq/9d8nRrkrqUWtpQtWeAZw2GZn0n/vz
 kRbmaqMaHkmdg9g9xT2qstOL0rZhCyvLWVeNYUjgkNWi7Be3yjb11RLPOanpug5z
 Rfu6I/7qjOcVEoa3cjlahdK//xleWwADBQP9EWsXY1iKSQ1k1B3N3+EEWbzuOzaH
 upo7fLwamIVuX7K95YIqOawMlhERBD8MUxfrzJkOIbVI/81g802Iq1D2Xv46hvCP
 J8oszCeFjqixsOkg3HmdUyvTHnODBHsQMoy/37r5voAElx/LXc4Dm9DSR0rSTpXh
 mUdHtM0Y6XYEcoCISQQYEQIACQUCQSnMBgIbDAAKCRD0IXbuPAYLRD9GAJ91NEgg
 OHfLL9Taov5GEDVjEaD8MACfeTqtFRD4Piuxg64CGOdNBCJ5+p4=
 =abIH
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.57. Dima Dorfman <dd@FreeBSD.org>

 pub   1024D/69FAE582 2001-09-04
       Key fingerprint = B340 8338 7DA3 4D61 7632  098E 0730 055B 69FA E582
 uid                  Dima Dorfman <dima@trit.org>
 uid                  Dima Dorfman <dima@unixfreak.org>
 uid                  Dima Dorfman <dd@freebsd.org>
 sub   2048g/65AF3B89 2003-08-19 [expires: 2005-08-18]
 sub   2048g/8DB0CF2C 2005-05-29 [expires: 2007-05-29]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =hGAK
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.58. Bruno Ducrot <bruno@FreeBSD.org>

 pub   1024D/7F463187 2000-12-29
       Key fingerprint = 7B79 E1D6 F5A1 6614 792F  D906 899B 4D28 7F46 3187
 uid                  Ducrot Bruno (Poup Master) <ducrot@poupinou.org>
 sub   1024g/40282874 2000-12-29

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBDpMfbARBADvuMgOIlEdTWlb4XvAu1YEfCijox47muRNbkA0yb0drMwYnV05
 tZ5cOK1uVELQ+gtGK7lDS5rQ68LPpXFMVva98skkVimzgfmQiqDOXiYW4BVE1qmO
 THpb5dIpHoXqTDILTLVomf6d8Z2re+IJUNvbrBFM616wndIQqux/O5LHDwCg1Hky
 KrYDoOT1lcDgSGH6RcqSoAkEAI+D4y6JpBctutEGWNcgijLv36g09LYNeC/gD2aq
 0bS/4c44eoPkMCBBn8MM9AIsK5sfne2GuglHcUM2U82s5UbZcQl8vzcyG9AVGQGl
 aoO/duxFKPQC70/xEa26Bwjv78cVWm6hLHoMZRXvsprr3pQpuZHmzPWwwxipqXkY
 gYApA/wMrLwdewzd4yEMB5O6y9WSd+FUA/y1MS1+9epdbzPnpUszR2QKlA+XblfD
 8KdxxUjIjt6WOXEhQ0GCWfRauB0MAZHTMkA/NVnmR+pI6FSJ9LJ4s6+BoFRbKdDp
 JY6yJUZzqRgxgo7tIcpRsRuXP4zu8KYlCPL0Al3gSW2DlKYxirQwRHVjcm90IEJy
 dW5vIChQb3VwIE1hc3RlcikgPGR1Y3JvdEBwb3VwaW5vdS5vcmc+iFYEExECABYF
 AjpMfbAECwoDBAMVAwIDFgIBAheAAAoJEImbTSh/RjGHWXsAn0/3nHkOH2WxLdWl
 ANdjJDzkMLywAJwN6CBCDKSbN7OzfNHTx3XAEVUUmbkBDQQ6TH21EAQAiEIQKsg7
 Pi2k3L9fFnDDAcFgh2oL/MpHgN4kKYx2aoTr02O3rBmK3ADCIBqj3dlWMavIOuzu
 1DvmvsloIcDwsMsc846bjQq0R20VaiNz4NJqZfhS2/xYPzJo9sPTncJOGQowjv+J
 GqlkmvLVSLSzYPh7OZjdw3SxS3zFPEQg0ccAAwcD/iZIddUIenySJdgs8WIe26X5
 r34/0TlyxiwtlzefYpVHHYD8CzVhYPD+iWUpDv/10HC7c58JTxNUGyN2UGcaDNRc
 g/VJqRahYxz9LokB+vRPmCyoP8bhLkrp0fHZFnFpH4IY4WQecLBfYJZZF/K7TLLz
 O5tine3BIL/LpM0nhVWJiEYEGBECAAYFAjpMfbUACgkQiZtNKH9GMYe/7ACfTNKi
 dschnmutxCWw5fcsyqP9oYcAn0Cf7InoUX5AUFaj4dFZ4IN+9L/m
 =LTGr
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.59. Alex Dupre <ale@FreeBSD.org>

 pub  1024D/CE5F554D 1999-06-27 Alex Dupre <sysadmin@alexdupre.com>
      Key fingerprint = DE23 02EA 5927 D5A9 D793  2BA2 8115 E9D8 CE5F 554D
 uid                            Alex Dupre <ale@FreeBSD.org>
 uid                            [jpeg image of size 5544]
 uid                            Alex Dupre <ICQ:5431856>
 sub  2048g/FD5E2D21 1999-06-27

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 hQVIUSh0Um5WsNHU+9T5ARAAAQEAAAAAAAAAAAAAAAD/2P/gABBKRklGAAEBAQCQ
 AJAAAP/bAEMABQMEBAQDBQQEBAUFBQYHDAgHBwcHDwsLCQwRDxISEQ8RERMWHBcT
 FBoVEREYIRgaHR0fHx8TFyIkIh4kHB4fHv/bAEMBBQUFBwYHDggIDh4UERQeHh4e
 Hh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHv/A
 ABEIAJAAeAMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJ
 Cgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgj
 QrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFla
 Y2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
 uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQAD
 AQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncA
 AQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYn
 KCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeI
 iYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri
 4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/AOJFx4keL/hHrOVYLJmS2eNd
 qGJVbK5IAyo78n1Oal8U+GtMdhDout2etXkUgjuIixxIwQMxXbwcYbIzngnnBrmr
 qO0gLXl8s9sl1GGE7XJ3HoPl5yWwMcc9Saz5bLUdPvRqMAnhtY5VXz7iMxg4B2qx
 K4dyCQD1xnNedC7OmrHkkrGddqNP8QajaPF5UUu2VU27cKRnjPbk1Y8OXMMOv3mo
 XSpKpOY2mG4hhjkVX8RTzvrFtesx3RxGMyKXbcuTt5ct1yR6cdKwLq/dZWAZV7cd
 MVvGnzb9UVKUqbsz06+1+zu52mTZHO/LSqBlvw9f8aqQXLI6lJo0jCgAMACBnpx9
 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
 =CMdE
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.60. Peter Edwards <peadar@FreeBSD.org>

 pub  1024D/D80B4B3F 2004-03-01 Peter Edwards <peadar@FreeBSD.org>
      Key fingerprint = 7A8A 9756 903E BEF2 4D9E  3C94 EE52 52F7 D80B 4B3F
 uid                            Peter Edwards <pmedwards@eircom.net>

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEBDlWwRBACjdnvu/rCOVEjpYmlmQmmmYZ0hbUdustNozm8dtKpg2w+zED3z
 9kHcoXEY2i1jxmJrHd4PPcvMutJB5AuYU4NiBmdMgBgfZvW7yaD+tHfvgozNyEKa
 3Gcddamy/ENCFKoSTEuCDxH77zf6DXh/B/Ekjav0sZnGHPqFhUdKzwh21wCg57uM
 Z3aL0+sIhiNYEJK93yjXt0sD/2F6+T7dj7wjdCPsb3mh5YSTjGeSXjnXHfeFQmmA
 /dPyOkWOAuTo2uR3AeVRrJ6rslKLqyl773HX+eM5b52gIsFZ+CzSEiHSrHEqOR/o
 3jzzGWhZb3Q/dbeWsPrtw32XUOdiijH5h2PyfKQ6reu+lpH8oKTbvOoycguHnsiN
 8zt/BACCRoxdjw3f5L4RMfbdxN8/9GLcDzjv27s4Jn17snXuOyNzWxky+hNW5InM
 wG92m9/a4XtZX6viK4sY8kfFLvAx95vaRiPJOPdUIx6Hk34HHsXdQ6XbUaadlBuG
 Mxr+aT2o01qzxi+dS8+SWXjCBwT5mRVdOZq7RFYd73I+FrzltLQkUGV0ZXIgRWR3
 YXJkcyA8cG1lZHdhcmRzQGVpcmNvbS5uZXQ+iF4EExECAB4FAkBEXVYCGwMGCwkI
 BwMCAxUCAwMWAgECHgECF4AACgkQ7lJS99gLSz9lewCgtKJX8EySD4x42LoZ8imS
 gYzQ2AMAnjAlfeFF6q4Lqiv6ikUW7uSGu2WitCJQZXRlciBFZHdhcmRzIDxwZWFk
 YXJARnJlZUJTRC5vcmc+iGEEExECACECGwMGCwkIBwMCAxUCAwMWAgECHgECF4AF
 AkBEXiQCGQEACgkQ7lJS99gLSz/1ugCgwj+RyWcUk2WtWZlox7rmTG9ymDsAoJ+r
 ckrEYUJfPdH0GKonpipJQwL6
 =73v6
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.61. Josef El-Rayes <josef@FreeBSD.org>

 pub  2048R/A79DB53C 2004-01-04 Josef El-Rayes <josef@FreeBSD.org>
      Key fingerprint = 58EB F5B7 2AB9 37FE 33C8  716B 59C5 22D9 A79D B53C
 uid                            Josef El-Rayes <josef@daemon.li>

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQELBD/4Zd0BCADEH+EDDjEX2ztufB5dele5Bt4XBg3cYncvlTsVEDLR89xtwmFs
 3no9Hs0ImTQwplsDgbixBL3DXWi46dwVK0MGYIUycJxLfsgFdlWngcXYkpWF3O8g
 v4YhytcVi9uSBy8oNB7huiY8IXh4XPgiOKztgCVJZbIgi8ahoif04eHTT9YGOL5x
 Qu+n7D74zAcgzK0XO+O+WXB8EoO/saJxzcCIeEGzfCjq4VyL6JB+1c9CgWlrpI7K
 LOpFqrN2qHygIMxCicp/163AdxD9I1hUtlF/sZYY9BpkbweLLqxKf4qtDYAMZLuS
 xFGfIG8f0imfFeTXt85FgYGxqLMlmdjFefIpAAYptCBKb3NlZiBFbC1SYXllcyA8
 am9zZWZAZGFlbW9uLmxpPokBOgQTAQIAJAUCP/hl3QIbAwUJAeEzgAYLCQgHAwID
 FQIDAxYCAQIeAQIXgAAKCRBZxSLZp521PM0PB/91jWBC7yI2obxE+VGsItduiPhC
 0x+Z33suGP8f7ewGBlztKC8y5N9jCGCfG9auwkJ9Xo27zCpMIkba4CfbRqyLxWoh
 ZluHQg5uge7AGefmsdfDsfZq5mPNtUkB8uVn3tXGwVVsxknw8PGtw25wbDCOXTCi
 t6L70v1gJfK8UxFhu0VCdOxbRAuQoIkE+bSO6g8bJrt6JFzhVpuHdgxwJbziWYSp
 nEJUN4Eou4UfCteVQrkh2O7ArHMmAEb89s5xbfNrQ4NdVBXHfsrzEDhWOqgiQ/4m
 o2DAs8iy2aCbWRaKG6G57g+uwhbqEN3gkeDfjhcpBMLqQy8drqx+erNGVYnKtCJK
 b3NlZiBFbC1SYXllcyA8am9zZWZARnJlZUJTRC5vcmc+iQE6BBMBAgAkBQJABsPr
 AhsDBQkB4TOABgsJCAcDAgMVAgMDFgIBAh4BAheAAAoJEFnFItmnnbU8miAIALbu
 Y15l3+9kNlv4Arv26aYrRcIYEUcCLIGZnD93NPnyEza4WwsUbCvYgNpKb/wojAA3
 xUdzHtRUfDp++eQU72S7DcRkkTt5vrnwKnH9kMsr2/hCIaO3ESiOVoPeJy91fHEF
 I9K1qP5noJQjfjr1w4ib86spyVb5LH3QPEnyvDX/UTBYiYu8UUYonitLZ3iHk1Ku
 x9SQoPszvkxdM1+d25pbG1uSV8JQRym6TsPQp3RwpbCy5hnwMbDLaWl6fbRwtAxZ
 i6A0cppdbgi+DDrOFoFKuU25YKKOKl76Vy+cpjYPBPRH3mOTYd/i2xliEP56dTJU
 4QqDJPpnJdmvXiCFt5k=
 =UfKm
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.62. Lars Engels <lme@FreeBSD.org>

 pub   1024D/C0F769F8 2004-08-27
       Key fingerprint = 17FC 08E1 5E09 BD21 489E  2050 29CE 75DA C0F7 69F8
 uid                  Lars Engels <lars.engels@0x20.net>
 sub   1024g/8AD5BF9D 2004-08-27

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEEvjRYRBAC1jMkUf5HrEQcNSLSK4NogjNTuwxE9d4PjgOiJ04L/haKeUAaB
 x21REw659FNCOW/HDuCzNH4POFQYoe2dyS3lV4xk+YsoJ50NuoCro/tiigBztKB6
 u/Ukq8bReroNwjP1Q2TnCHWxzDIq2HJ2FQtbXXlWKe7ZBu/LFwAsHLenLwCgzkp1
 i0gxqzxWrzIApMiKWB+HORED/3Jjom3MOEZfr27aYvY18700uXui6GAkcxTj2/6X
 s1MVpQt8F/BAgKYkw8Q3qOgoaJPHpnBQXMIB5TXCkXxZYwvUFlLHMOghpZE6/eHn
 3+UdvqsxHGa59Ym7HYzS1IExBVNfof4MVsunQtnGaHyQDMrKt2zF2MmTgASzITWW
 GyOjA/0Qc0K+hUBPsiaVpNcCZs6vPxeU1qSZamyZlVIjfQgRkTGN94bJD7l4qzaK
 hpmOLF8eD6+pA936HVhLfmPsNFkpFgw10oQQVYIVx/Thj5tOX2o7VbXUdQEkdTTO
 t75c2UqZIdPKet/btF+NPnnT3P8u0UdVvpvMeq7thLuJLkDDo7QiTGFycyBFbmdl
 bHMgPGxhcnMuZW5nZWxzQDB4MjAubmV0PoheBBMRAgAeBQJBL40WAhsDBgsJCAcD
 AgMVAgMDFgIBAh4BAheAAAoJECnOddrA92n4OuIAn08LIWiZX5vZ5GvClSsa30Wp
 2LG5AJ98fEToSwavm0tAuDHU1kPoDhPSqohGBBMRAgAGBQJBL48NAAoJEI90JpT7
 YBR5I/kAnA3vnk2qg91m3nocHy6nS2tShMUzAJ9RQ1orEGxFGukfgtY9iTTG4Tpg
 /4hzBBARAgAzBQJCVYkTBYMB4TOAJhpodHRwOi8vd3d3LmNhY2VydC5vcmcvaW5k
 ZXgucGhwP2lkPTEwAAoJENK7DQFl0P1Yg9UAn0/WHYshCUKP551shW3EtjUFvSF/
 AJ9EhPPzNRdgS5cs8Hifvd29McguHohGBBARAgAGBQJD/deEAAoJEAwB9WIgsQYJ
 9lYAn3MTmAp+MZn64phFp346NFhy1tRwAJ4xd16I6dRhDMSiNVPQPybwAZTfirkB
 DQRBL40XEAQAobWOOZBUJm+Twj/sGj0bUdlZ5H1Qos5uWEEjamcElcmN4dG6Dyjl
 X+X4dmcAQADm2JH5aajdWKKDjDNaTRbdV9XCe/iogYD9UhbPEQuHovTuDaOQrRsF
 nSCcXH1GABWF+Cp2JA4FVS1gmHykr+u9DZP7CsOosI6PWmOYwySidHsAAwUD/jVL
 iRLUj2qR3ejYTa61ATT5wb6UtuIohpvBNFj4t3V+LWATXmuOP1mYhy3SmoxUcmFj
 uULJ2GHHb+wNnP8YpGdxRVFkBV2grnpKqPdCkcm1ON707w2d3aDCEl9KGzhEvg68
 c4CF0hVkLGIs0qeZfsOwxE4jdYpPl8YuuRZV2ah3iEkEGBECAAkFAkEvjRcCGwwA
 CgkQKc512sD3afjgrgCguloybHuwhKsmOnnD6HSp1G/s4mkAn2VeB3Euh8fg6W/9
 gcKK4GHoPC8/
 =T+Zj
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.63. Udo Erdelhoff <ue@FreeBSD.org>

 pub  1024R/E74FA871 1994-07-19 Udo Erdelhoff <uer@de.uu.net>
      Key fingerprint = 8C B1 80 CA 2C 52 73 81  FB A7 B4 03 C5 32 C8 67
 uid                            Udo Erdelhoff <ue@nathan.ruhr.de>
 uid                            Udo Erdelhoff <ue@freebsd.org>
 uid                            Udo Erdelhoff <uerdelho@eu.uu.net>
 uid                            Udo Erdelhoff <uerdelho@uu.net>

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 mQCNAi4rWsAAAAEEAM1u8Y60omElX7Wtrh75P8K0L2Gp6omV6iDuwl9kXYhN94jF
 DE1F4xpkRDWvQxsWbYeIk2F3VYGuN12BhbRNcNqoyniQt2XMmbdEmp6ltumH5WbG
 jR5Xg0LkJ5AJmxvjJXXA9q+/eTfmyTfPjnCL70cTMWHdUl+EBUPoh1XnT6hxAAUR
 tCFVZG8gRXJkZWxob2ZmIDx1ZUBuYXRoYW4ucnVoci5kZT6JAJUDBRA0K3Q0Q+iH
 VedPqHEBAe9vBAC+el5mJpqPkC/+om/SSE7mxyuUqHAx1tNUymL8gTuV3mFB0goM
 xkxhUOMMYe9z2zyi+RXrECfLT2OqqUA60EZpl6Mgymj8SVZSv4ZwXdU8cgynYNfX
 T1pC57mN9mxL10vTTJEix7QsrVz0W479/IkBrhW9nTidQtORW1Si5T5IA7QeVWRv
 IEVyZGVsaG9mZiA8dWVAZnJlZWJzZC5vcmc+iQCVAwUTOwzFWUPoh1XnT6hxAQGl
 eQP/bLMp1qSdkt2/BKchpx+lhOemCmT3LHQ1sNzelb7dBwnsvE3Z9lOycH2pm1ro
 j6x3vmcDAqZ1yh2eFEVNK5abfhuI3QH+9QdgvMcSIQgF3VIMer7JXxNtFFX8JRKm
 +YfLfDifcK+B2HRkpMt9ETY8b3/cYz+gbdKNe4nVde5KPT20IlVkbyBFcmRlbGhv
 ZmYgPHVlcmRlbGhvQGV1LnV1Lm5ldD6JAJUDBRM7DMX9Q+iHVedPqHEBAYHUA/4l
 j98KC7y8cjapO4Hi0r/eO7gUwDujvrBMYbWuhmNCO6xlPfwRNm76tnNiTFdqVLat
 XSrQwEUys9Mq9xe2F2RuqSfYWjmHKX3/gNW3gRJbnBqO1QN6CDqo39a7LgllqFf4
 yFj9V6i1c0WSBiOeWy75DHpsfXHupMxZWPPRWh0TnbQfVWRvIEVyZGVsaG9mZiA8
 dWVyZGVsaG9AdXUubmV0PokAlQMFEzsMxhFD6IdV50+ocQEBzqsD/0nX9rV5cAcd
 jFTayQvoAjb/nIN+TJVHumuC/Glp9fKHlfTjMnsUawma+iQESjUB8XgyeJ0WvR8M
 vQGEMowYr1YTtFiYfFOvrzXZmhB6NfhFV3s34ZLDeBnncUqkas79Pi9G9AP2Y/Mc
 c//i2owj58xTfocYNT5IxVVYjB72Py+3tB1VZG8gRXJkZWxob2ZmIDx1ZXJAZGUu
 dXUubmV0PokAlQMFEzsMxiND6IdV50+ocQEBBJsD/1SVP70fNa3ShAn18+yEXOIL
 TlFYCUmGaBIeAsd7r8tXFYbf5STAOEOiqBB9Y7V1tV4IriACru+9wo5wBQoCLBT1
 RNj4NhwVvkGReTDsA+Zz/vUULrbklVKO724DktO0+WRbn/w99trttuUTGvTHRER3
 BjuOfJ/QoLlnLAsDBMov
 =TCJD
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.64. Ruslan Ermilov <ru@FreeBSD.org>

 pub  1024D/996E145E 2004-06-02 Ruslan Ermilov (FreeBSD) <ru@FreeBSD.org>
      Key fingerprint = 274E D201 71ED 11F6 9CCB  0194 A917 E9CC 996E 145E
 uid                            Ruslan Ermilov (FreeBSD Ukraine) <ru@FreeBSD.org.ua>
 uid                            Ruslan Ermilov (IPNet) <ru@ip.net.ua>
 sub  1024g/557E3390 2004-06-02 [expires: 2007-06-02]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 xfUIyIEOONF8sN1I
 =tea/
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.65. Lukas Ertl <le@FreeBSD.org>

 pub  1024D/F10D06CB 2000-11-23 Lukas Ertl <le@FreeBSD.org>
      Key fingerprint = 20CD C5B3 3A1D 974E 065A  B524 5588 79A9 F10D 06CB
 uid                            Lukas Ertl <a9404849@unet.univie.ac.at>
 uid                            Lukas Ertl <l.ertl@univie.ac.at>
 uid                            Lukas Ertl <le@univie.ac.at>
 sub  1024g/5960CE8E 2000-11-23

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.2.5 (FreeBSD)

 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
 Fv2s0kptGIN2izILm1myaA==
 =qAVp
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.66. Rong-En Fan <rafan@FreeBSD.org>

 pub   1024D/86FD8C68 2004-06-04
       Key fingerprint = DC9E 5B4D 2DDA D5C7 B6F8  6E69 D78E 1091 86FD 8C68
 uid                  Rong-En Fan <rafan@infor.org>
 uid                  Rong-En Fan <rafan@csie.org>
 uid                  Rong-En Fan <rafan@FreeBSD.org>
 sub   2048g/42A8637E 2009-01-25 [expires: 2012-07-08]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 D/Fet8nCx6Ef1M1J4Q==
 =1iVI
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.67. Stefan Farfeleder <stefanf@FreeBSD.org>

 pub  1024D/8BEFD15F 2004-03-14 Stefan Farfeleder <stefan@fafoe.narf.at>
      Key fingerprint = 4220 FE60 A4A1 A490 5213  27A6 319F 8B28 8BEF D15F
 uid                            Stefan Farfeleder <stefanf@complang.tuwien.ac.at>
 uid                            Stefan Farfeleder <stefanf@FreeBSD.org>
 uid                            Stefan Farfeleder <stefanf@ten15.org>
 sub  2048g/418753E9 2004-03-14 [expires: 2007-03-14]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEBUhZkRBACOyBTXaf9n0gkvq52yhACaPjUpAY4c+Z+xDM5jZZNpcaEyuU5N
 ipJdvlKIIkfB+Jka5TxiUBskSo6cegPW7k3G9/as+39SeOexEw5aH1WROcrqD1Wq
 iBTJ/Ey8eVleGTP/3vpbUoT3gcNZuus00J75OmJV06xyTA9M0tSy1/aIxwCgrbCJ
 Xr3wLOPYiGXf5WbWfy08DmUEAI2xYIycYgZ7ogcqFcu6gShO/uTcXkZL0xOIC8el
 rAC/HciJagmvYPjQimQeKhqyX+uvnhguiS+XZYx9yqegOG1dSOVWw6FJTYgzKeT7
 6tHmaplB4JQLkUSBn8p2fsyXAaIA4M+2c9fYf59El5+OyfOhGfAEJNJv1oGLYWic
 Bbt0A/98H+rPmPwtv4ntIvCq5xkvjENzmG6WerNF5dXHsoG6Lnhe++4jUquHseEI
 +u4ou+v1it5vBTnPI2Wz02WP1Oyz7JC0cPAbrTGz+eaaNV+M1wD7yqj1poW74buk
 4hJ+myIqC1dRrliAyrr75xHl3pr212+8Cty8RTiNF9xgICtH3bQoU3RlZmFuIEZh
 cmZlbGVkZXIgPHN0ZWZhbkBmYWZvZS5uYXJmLmF0PohnBBMRAgAnAhsDBQkFo5qA
 BgsJCAcDAgMVAgMDFgIBAh4BAheABQJAmCd/AhkBAAoJEDGfiyiL79FfqEoAn0cP
 NQJYvSLWsU4gD/cffKUtLEKiAJ47lf0I7dFdAJSqqxSCOrw7iuWhTrQxU3RlZmFu
 IEZhcmZlbGVkZXIgPHN0ZWZhbmZAY29tcGxhbmcudHV3aWVuLmFjLmF0PohkBBMR
 AgAkBQJAVIenAhsDBQkFo5qABgsJCAcDAgMVAgMDFgIBAh4BAheAAAoJEDGfiyiL
 79FfeOMAnR6XllE6b+BKnoRjBOC06PXfoK0jAJ4yDtL0vkYkW9LRmoFkWpxJYilU
 ALQnU3RlZmFuIEZhcmZlbGVkZXIgPHN0ZWZhbmZARnJlZUJTRC5vcmc+iGUEExEC
 ACUFAkCYJIMCGwMFCQWjmoAHCwkIBwMCAQMVAgMDFgIBAh4BAheAAAoJEDGfiyiL
 79FfwykAoIes15zWxNJ7iQr1n4rP+x1LidM5AKCDakRpNHAdMiaJJRNrHt9I1kOu
 FbQlU3RlZmFuIEZhcmZlbGVkZXIgPHN0ZWZhbmZAdGVuMTUub3JnPohlBBMRAgAl
 BQJAmC7cAhsDBQkFo5qABwsJCAcDAgEDFQIDAxYCAQIeAQIXgAAKCRAxn4soi+/R
 X//IAKCmPHdkW+JyvXq8Ph/4AcoSYGltQgCeOyA+WXLvjD8s36h1ITQXleLr0Ju5
 Ag0EQFSFrBAIANrcNEggDb7bS/TkhZg5CEw0HP0bFOogCowNgGZ/9EzZA1SvABYb
 vun0RyK0Ceh51Vr0Lb01i6cIDTH/cBVMqXX75YPusncMzsEuMdBCzMqKRPCpimUD
 jFmMIBrkbtu8OTwaL+Xy1j7/SyfYv8fV6q6ibGWgN4pcyDmItTWYRNnR1G4EdIvl
 a2CgQr7AgzWPGeeZLrUqUuLjYKwZ5JUqch3ooU4e+eFkYjovMyiC5E23UxZWyDZQ
 DA1aOizxH7519R5l1YDsrqjZdVz3Ks7iCPYZ+T2QMGM7oUDjbt0xAhQCt15yj2K7
 f0m6KtmHWzwgf5Dagcph00anBMldDQ1RqscAAwUIAMReNMLnk1jhYUYoitYNDJTO
 Pp1X5bk66+b5yHW2Ul9DDboe9tp37AoSJf1hEI7eyB1qkKO3bt9nePKOuAe64ft9
 jMYEm70IS3tmo3hHyTbLuOpxF3f7ZHmai2gXPdDmIczDqkE1PneX9gJQadQTqvky
 4PVHKVUGTBScI0S830ZBbIsvoYimjGCPMuz4UT0vKR3XLay4RjwCYC6waqRuJoBq
 rfm/vmx6/GNfb/jwZgN3QYPgTptx65eAdEAy2C3Y7RbMrbx9qqvx5TxaS2yVFy6X
 6gIrSmFSFE8rplPDActw1V4YMyuwnyVvGe93pYwYfxzM/BxN09V9QBQUhIa7TMiI
 TwQYEQIADwUCQFSFrAIbDAUJBaOagAAKCRAxn4soi+/RXy2fAJ99u5jBvCIXuEPa
 rLB9utH3lU/ymgCcD/fpfY9v7wyOrivOy6Wz3ZWjdnQ=
 =9khA
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.68. Babak Farrokhi <farrokhi@FreeBSD.org>

 pub   1024D/7C810476 2005-12-22
       Key fingerprint = AABD 388F A207 58B4 2EE3  5DFD 4FC1 32C3 7C81 0476
 uid                  Babak Farrokhi <farrokhi@FreeBSD.org>
 uid                  Babak Farrokhi <babak@farrokhi.net>
 sub   2048g/2A5F93C7 2005-12-22

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEOquWMRBADPeAMeFy9OMbD3PxFjNmPIuY9CMb/fP9G3KNugVwLoHj29pXHS
 QDo9OGHmA6udL6ZjZt/cWsU6CBwrVmr7nnqIXwOFGsvv4sT4cQJd51ypMFcvrYvi
 UmdfnNZWeggviCMYdZErMqVdH7QKZyZ/7xB1IBV/66Bu768nQlSpTmqTYwCgwpUr
 8V37ACzVXUZ/1CPqtadIe50D/1rlR4GTzMnmJGBbqY4c2nNtaUA2HEzI11QsHvFp
 jTEcHI/RdhLv8dcFFAD0PmLC+5W7OydXvQXBfWzVXmrEPzFprwOc79wfCB+JzOt9
 JzyClVDYvhYd0f2kxrXOR3ddLaBCMU9A/NxvDL05TCE8b3rSuV2VRT6E6A45/88t
 aKKvA/9ewMdS3zicyyK33FTYTecGJc6Kt1ke/spq6jo6k3+L94Z7eZrZrhXGMRYg
 Ibbm3VuxoPeIqyY8SujHwNNzP7PqGp8MVefjzktldMyvbJex8oIyB0NMrHTJ2JTp
 ScJAetOE/mXYhMSACgWbebu6uBEigmaz1D4WNU/ITf8xuX784rQjQmFiYWsgRmFy
 cm9raGkgPGJhYmFrQGZhcnJva2hpLm5ldD6IYAQTEQIAIAUCQ6q5YwIbAwYLCQgH
 AwIEFQIIAwQWAgMBAh4BAheAAAoJEE/BMsN8gQR2iM4AoKXtRmdbGhmrJ3cW6lcd
 gP4IUfUkAJ9mqLQk3ztstsPzzovhwV4sIH2VgbQlQmFiYWsgRmFycm9raGkgPGZh
 cnJva2hpQEZyZWVCU0Qub3JnPohgBBMRAgAgBQJFUO2LAhsDBgsJCAcDAgQVAggD
 BBYCAwECHgECF4AACgkQT8Eyw3yBBHZd/gCgmHXJVgY+AwvJvL2v2qG6+P2EsP4A
 nimm5LNueFg2PbDsRb+Iz53zw8d6uQINBEOquXEQCADPKrfxmpqJEbVpJV1PfcLJ
 KpvF/0s1NEhvrXVnm0GhId8R96n22E9oD7QYTw/+TkdCksw0dcAIvFH2y++HNQoE
 NVgoyVW32Rw076Va8nizA2icB6hEJwKiI400qKjZknj2pnILPHORq+Zl43sHaXnB
 imchl5U9gZI4EXCRC0u87oLd0IHuFMUGYEfhsxninLpmFNPjS55zEhPDIBTuFFiN
 NFZ8aLxq6APGd1lbLJhYnQIYZJreaI3lXc0VYqjkaB5WBeYXKNNF3y39yNY3SXFt
 /dwIP60IoaIAjARFLqvUNYOsHpjsVAItxxMdTpAlX28VYWsr3quGL97Xhd4NfDvb
 AAMFB/9ep1jcpFocEOurMYZkIrPE0CdgdeWzlhHhW2F38cZTj46WxoAY21QOfjRx
 tCcGDrKNNwoHO3TIsuPrEI1OtJ4y8b7Pj2zuv/kUAEMUjl5dutg2kIDz5cs5zxI6
 4HhUx17vQGTOK3l1I2JxoNrMKPcDKxegHqYqpzb6vEr3gsKT7GSeMBREq0rvfZfQ
 ZmZTLfdy0AiQ6KsVt1YV9wUE7Kq5OmhjVZNovhZtxO/tzppQLNX/62wdf1OmFZIn
 xWrYFHeH/N+QGBmMRf0NMb0oOn4nEMem9QhSRcW9UcyU1K7Usa3m3WG7qrmcq+ri
 9RVM7/8wJCKNJD1ej35rMQYVrolIiEkEGBECAAkFAkOquXECGwwACgkQT8Eyw3yB
 BHZy+ACgqz3KenkNoTQKFv4nrGUHnAqMm5sAn2Z+BhMOzEhuimOTVLXVzKuipov0
 =vL0B
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.69. Chris D. Faulhaber <jedgar@FreeBSD.org>

 pub  1024D/FE817A50 2000-12-20 Chris D. Faulhaber <jedgar@FreeBSD.org>
      Key fingerprint = A47D A838 9216 F921 A456  54FF 39B6 86E0 FE81 7A50
 uid                            Chris D. Faulhaber <jedgar@fxp.org>
 sub  2048g/93452698 2000-12-20

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 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
 6r7mPk8=
 =R6MH
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.70. Brian F. Feldman <green@FreeBSD.org>

 pub  1024D/41C13DE3 2000-01-11 Brian Fundakowski Feldman <green@FreeBSD.org>
      Key fingerprint = 6A32 733A 1BF6 E07B 5B8D  AE14 CC9D DCA2 41C1 3DE3
 sub  1024g/A98B9FCC 2000-01-11 [expires: 2001-01-10]

 pub  1024D/773905D6 2000-09-02 Brian Fundakowski Feldman <green@FreeBSD.org>
      Key fingerprint = FE23 7481 91EA 5E58 45EA  6A01 B552 B043 7739 05D6
 sub  2048g/D2009B98 2000-09-02

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 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
 uPPUsA==
 =oR1w
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.71. Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>

 pub   1024D/75A63712 2006-02-23 [expires: 2007-02-23]
       Key fingerprint = 42F2 2F74 8EF9 5296 898F  C981 E9CF 463B 75A6 3712
 uid                  Mario Sergio Fujikawa Ferreira (lioux) <lioux@FreeBSD.org>
 uid                  Mario Sergio Fujikawa Ferreira <lioux@uol.com.br>
 sub   4096g/BB7D80F2 2006-02-23 [expires: 2007-02-23]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEP9+FkRBACKcQPLBb7vcUuQTM+Zqfwsd44vzULREV7qHVvTqJWDsFyQd4hz
 /rX86mmHiS/fOh68SonP6QdXO2i+d+LshgLTVPBlW92TXsFYP09FUWWx2dm0P249
 P7xoIcQ7slhHnSVuPDObzm5T7yDXL02OeO6qonN62IjjxB8xzFo+W6SsAwCg2BtA
 gvPq1hyeXVXlbItG/9Hbul8D/0yjvmED7dj7eQpm6LvjswjkMoRdg6cgR+/N9LdP
 GIdjGHkfFnW8hRg7QAPzmstkhtY1I3zEjVVCcYjJrIibaqBAUAx0v5HszLKKRnrI
 ZZm4IXKFpkVC2sV475FpFTPXIiHmyzq1lbpgAQXX71yFNJ7hsEuYx1z2Ihblz/B+
 KHJ8A/9UNVEPc4s2YgjntQSDWRY+Vcr6M4bN/+ogCJ7XYN5lcHjB+gUD8kAWupEH
 1hDV3WFahpG1i0MusOZM+dggTXSshd76z0JlOJjbywEv2Z2nb+1b1GU4EY+2RlTi
 nP9rO7EqtPhHjNkpXfsSHFOC3qfcsDhphXOJeOFwwhMhkxmkHbQxTWFyaW8gU2Vy
 Z2lvIEZ1amlrYXdhIEZlcnJlaXJhIDxsaW91eEB1b2wuY29tLmJyPohmBBMRAgAm
 BQJD/fhZAhsDBQkB4TOABgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQ6c9GO3Wm
 NxJtqwCfZrWhCzRFNX2TkVEW1zMS0mw5aLwAnRUNKvayClkvdqHMLksYTFtUu4RT
 tDpNYXJpbyBTZXJnaW8gRnVqaWthd2EgRmVycmVpcmEgKGxpb3V4KSA8bGlvdXhA
 RnJlZUJTRC5vcmc+iGYEExECACYFAkP9+lYCGwMFCQHhM4AGCwkIBwMCBBUCCAME
 FgIDAQIeAQIXgAAKCRDpz0Y7daY3EiNhAKCLZTyIxlE0tU91Cy6YxRKCu1Kv5ACg
 rbLcuizHmkAx/du+XaG+aveC4Ui5BA0EQ/35pBAQAL9uIr9y2BwxMeHbj6LLmoPC
 DmQnzXWWWIZPtEyWlUv6ANLvtNX8M0ZWzfy4Z4EXof6/m3Z8KsAEZf22AObR+CA1
 mgRRmDxVfWDU3fYYIVwMTQ/IqjWz5TPfldXySqxtW/Zm16ODYv3c+tnu/KX/M/WQ
 1l9pLfIB9G3NlnHwHTWBdIQhomXLzurW0yuq4LXobA/nQmOWmrQwjXNk1zzO+p5t
 v18thaXoF9pGObS86oCCfwaUMg4RD6PtizVUSA+frFmcR0/kpNGAWw4gIqHY++9c
 Ri+Tjvbii0ZhBZNb3l2spqhg7zMAqzQ/wR0kJt09FegN6vClMLDBJW5Rveb7u4XT
 e01JY5E9h2Nt/RaJQ2RgaoD0bNLx32Zda0GOzidFAK+0QzOGvfMKimaye3YkWRXg
 GFZFHH4k0FIcRd461ta4aN0VMKbpRbYxZP8oxmN3VrJdrf91Qqton2Ljrqk4ndQA
 xb6zbtJeobx6MiYlDf4GB4Wgm4g2L/BYH+ObV5QqnTnwMIjP6Y3BvP941d7eX6VM
 cpJq3ueDK+FHbF+KEozHycvlZrj+el5SuWXtNdOVma/DUQjHJ1DHMmciVqZwArnm
 Ygg7f0G7dMxBi4n4OdHHSkJXwth4ojbZf+zDDQnHmt7J04/EArgEvBKxOGEh8EcR
 evS6bR8NvH7lfXjl+7AbAAMFD/9DHsJNi6bx5sciwo7xvwx9NZY2MTHBxaWV3iWj
 9OIoiklZt8Ca8a4ukDc5d2t/DrGr/rtKsUyQ7utEhfdKr17TYZH9mW9ZzOKp5sjO
 aWOcmFCGMjemejPedAlH8sBD4I4zg+Ph/tMRgAjyw/ZkhXlUbVJ4ooibU1uix5Wy
 AcxXSyrCOCLbVfpcCphiXCRlFsVuyiTkjM1D3STr6M6YSq5vTpbWkUvHs9c1pgqh
 51SoGR8tcyUM3JUvY5fTos1sRlIS6XexXEvmBe51jcuV+4I9cI2cXWVpWU09zBTE
 mF0WSgs2pXZftMpbLwaTSjzGA4VNQQ5jocsfWUP58HgBCyO4x8G+N1A9PWYtKUoB
 WVcjjl2ak8G0mbTGb03QaIDAy2CVkeKYVws6ZTQBZtfKiO8Vz2UQcklRNTPTxYHo
 69kIY47+6WW44huXc81ACGx2GXXDZtqxasysRtzAzl6U/FKy2lHE7Buyjh7VKYI1
 7IncPhl/XyEBWTESAppWvd3WiCdT0zq6wpwxrdpLprWblqxLRttK2Emwe2KhvDk4
 3jdj/KOlMi2OUa600mbRfjX78MbNHisLUEG1ceMXaQY3quaerb3Q1N8Rptn8sT1U
 RMqbVlP4fxFwJg9F8nyLYzBcVm1H9WGFoojCqQ3htuvI8kca6I/UQxHG7V9Meqbm
 uFqP7YhPBBgRAgAPBQJD/fmkAhsMBQkB4TOAAAoJEOnPRjt1pjcSt1UAn19TWL7b
 atBvRWIroNaSp6+y2jWHAJwMSHg8w1dVEw3XxYR1fhEhE1hBWA==
 =lXvC
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.72. Felippe de Meirelles Motta <lippe@FreeBSD.org>

 pub   1024D/F2CF7DAE 2008-09-02 [expires: 2010-09-02]
       Key fingerprint = 0532 A900 286D DAFD 099D  394D 231B AF20 F2CF 7DAE
 uid                  Felippe de Meirelles Motta (FreeBSD Ports Committer) <lippe@FreeBSD.org>
 sub   2048g/38E8EEF3 2008-09-02 [expires: 2010-09-02]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEi8sBIRBADJt1SLW/mX5HmXKgbG72GXupRR8V+lDbtquXx6dJ+3E62S9xFx
 KehNrX8YcYnp+dcuHktXxQPJ/BAzOnvPdHKgzdXMARO5ApOfQ2VDgZgAcs0dVEnn
 LILvxiwQ7YlyJjOTJwbcHBpsTdolhNooi2FEE3N5ShSMRlPoH3GXF1qdnwCgqV/g
 IlQTCLudKrApFqNIbDCrPh8D/AmN2MdnlnIk6d7zUgLWuu3coohYIYOxaZ+ovKDb
 S8siSZ5uaEZOhWHVLVGYXTmzLrCK7TUBKdK1sW7YrYKQdPjhYnYXrwS4AaWupWwX
 K+fZWTaZsJiGLbOIrszAd2hRHUgQ5VeeoM0eD9eyAWHp5SVi9YcixMUNbn5ERPu4
 ppK2A/sHynDjmkXHXzuNwN8dwcUjTMTVt9bxGrLVJHcJUsK527dv6/UG1CfZYnzT
 nca4GNO42/FBjQtyJaTQd76aJQ/PSU88MMGuMUh9LYl9rRdMQKn4FXm/6t7NZOqx
 qvXzEC8jFw1BOvxhmykSEZDlwZFwQngDre9Ux68Eu6Nut554yrRIRmVsaXBwZSBk
 ZSBNZWlyZWxsZXMgTW90dGEgKEZyZWVCU0QgUG9ydHMgQ29tbWl0dGVyKSA8bGlw
 cGVARnJlZUJTRC5vcmc+iGYEExECACYFAki8sBICGwMFCQPCZwAGCwkIBwMCBBUC
 CAMEFgIDAQIeAQIXgAAKCRAjG68g8s99rlhsAJwNTFc1W0eu3Em6+RjD9WZWtX/1
 0QCfb2riDssKYX42D7HhVjDvTe1BtXq5Ag0ESLywEhAIAOQrj0PRt1WOC3Gh1njF
 KDacQl1aJ5f52yaz0FLpu7igTRS/8ET1+uHvIwzcSbbG/4xWqPwirMxpNZwpFMzX
 9l8bURIX5szmJ+bEl4VH+La1p+w31YswBn0PDTSYtWhaIn1LMXED4e2Kg/wUCpLT
 M8htMa1pg0F2ZcmvbNZFuXMd3BBAkvWrRJTYuDXy8HHnbALjUd40laUDT3Wi6FRB
 W3HFj5lIiEjnJG52iTSxWVEkoChy7l/qDQ0zsguCCZZvLfdQz2DAFscjX/HltuUK
 s/gkzVR4jZDVMQPqCATuCvDYHrDWJnfU/R317Eg2kp2tJrNibrnFX+ciISSuq1+t
 UmMAAwUH/1XXvFtLACv8NFLVFVWM9wA70ZTLjZEEfewbWRYgT1yvOChn7H2ef3mn
 I7/WoLF3ntm8Qcw6TcSrzVbZjgdWpS65Wc5YZn1rMb6nP419kjDQPjvB8RUA1g9v
 7LuOv8qeqqo1/mT6PIh8ZnhWR42ei8l3QcbyGJMQGPHyUZk84qbd1TI9gO5GjWHZ
 LIi80DPb0cpazMCIgYjrqZsOoq4XcYJZah85Eu9jdqbx8aDNnag4NeO+9jhy1msg
 xC7WuLYPctfFZ3q5ZwdvvtfluyeKjqY5mzkAuXKbtK66yMLugU4NnR1IeS7oI212
 NF2FmCRAkCMB26n8sd7xavpd9uF+6ciITwQYEQIADwUCSLywEgIbDAUJA8JnAAAK
 CRAjG68g8s99rkWyAJ9b53BhFJ6+49cr0IIZLxVBGlWNnACfX4O3OOhx8kClRzsH
 1wm6VFjn7qg=
 =q3W+
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.73. Fabien Thomas <fabient@FreeBSD.org>

 pub   1024D/07745930 2009-03-16
       Key fingerprint = D8AC EFA2 2FBD 7788 9628  4E8D 3F35 3B88 0774 5930
 uid                  Fabien Thomas <fabient@FreeBSD.org>
 sub   2048g/BC173395 2009-03-16

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEm+vTYRBAC03EXAZTDbUh/ShE+8WHHaB98hrIyAlHsMBRpWdouqNVbvEWBQ
 08to2fDMF8zpWY7GB6U1w8bH274bWjIFk9KkK9fLbfoKnwQOWBEB1IFOei/G/4Ro
 xfufEQUOWGjAcVlZp+/crXEJQEljWe4OOjh2Seruxo86qWmm6Pp8LkmPvwCg5+t8
 iQL/1Ud2c8fyLAS+AARuAhsD/R6MSZtQSselAtbGB5S01reSKO4enb7yFdU7Pcbp
 iBAqgE0khMZqcQFeOWyAiTFTqyt4t076R1s0G9uBoTCI5/sDslVvyaglnGVrL/Ej
 6WEyBEHXFHOS+pf7Aofke0wHyQhl9YrN22cEFEKWNDMCu2T+K0mP1AVKtnbLqwVG
 clIuA/9+qeScAK7n1Nu33c4WTkbhxdpxqcQGuUti+vHLrSy+wpZgEP4e3A1AurRs
 JXUGTuqT0g8wxpCMEassWuoOphrNUz3Y3ckspvo3PLbht8iWhkAS+YjvTgBPu+at
 rxqS4vuog8z12Gl5C69oUihXozh0c+9WNQUahsy2RM4ldFu3qbQjRmFiaWVuIFRo
 b21hcyA8ZmFiaWVudEBGcmVlQlNELm9yZz6IYAQTEQIAIAUCSb69NgIbAwYLCQgH
 AwIEFQIIAwQWAgMBAh4BAheAAAoJED81O4gHdFkwWz4An1Jps5d16oHpy7qh7jro
 87IPMczmAJ0f4rYdOnxuFuRDnBLwVbdb1gLQcbkCDQRJvr02EAgAlrdKSnI726B0
 hGobE1BE7jwjS+u0ozmeTh1JLZH1rKNJd/LszO7ubB6X0VGA5ustPYVb1eVoSn6L
 LkvbspsdvNitklU8Ys4FF0dI9+AvrT4u84f8AjKKSTMHoTu6vv07Vm0qEdt2ZTim
 YTwG0OKuRbwCDNaMNzshkncWxWNd/KgrP9NlfdVJ/3NxlEl/GUm6v4bw1CM3F+n8
 DanJa1jKPk0krg0bdZc90flknwaH1rQckFrxICLa/9MnV8HjZEiE/h6M4Ay3Okb8
 zQnYywHqklRfvi2nUm85AZ+fJ1X06QCJD+Idg+/Tgk2SZ3oG+yOBS5GASiYiY5Bu
 3fUtBVc3CwADBQf+NFw7Lw9mLYqd7E8VFr81U6JH4WU2sG7YEqbcZ95jqiaOby99
 jaSZ0FKPGvm2V3VpgvXchzf7noqNMWUXbQadg5U/iJnRRhdhnVUbMq/T/mx5u9RL
 jH8Bp3zF5hElGpa/rPQ0TJSI9lltUUHD4c59FbgEXqmG69sTNcXBeH+w1LBoqmyS
 VQvLsPKan6FKfFDzvvuOxdP2SFor36zu7ecEuDz+teETk5ixRiu5wpEq7geqgZfW
 rgO/2HN5OgHJCIGvQfttUwzrDLw+RHiy5wM2f+S8wSi1bka3ggE39KPODMHQR6z8
 zunYn+Xjw+jL3zrDu/FAa58nbaFRuuFEqG/V5YhJBBgRAgAJBQJJvr02AhsMAAoJ
 ED81O4gHdFkwb+AAoKtrw8aIkc31k+gGotiqv2Z+v6ZoAKDKsv5LDbNe2fncnihP
 0wGrqiKLdg==
 =HImo
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.74. Tony Finch <fanf@FreeBSD.org>

 pub  1024D/84C71B6E 2002-05-03 Tony Finch <dot@dotat.at>
      Key fingerprint = 199C F25B 2679 6D04 63C5  2159 FFC0 F14C 84C7 1B6E
 uid                            Tony Finch <fanf@FreeBSD.org>
 uid                            Tony Finch <fanf@apache.org>
 uid                            Tony Finch <fanf2@cam.ac.uk>
 sub  2048g/FD101E8B 2002-05-03

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.7 (FreeBSD)

 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
 KnkOqXNQ7FzYXOIPK74=
 =7TEa
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.75. Marc Fonvieille <blackend@FreeBSD.org>

 pub  1024D/4F8E74E8 2004-12-25 Marc Fonvieille <blackend@FreeBSD.org>
      Key fingerprint = 55D3 4883 4A04 828A A139  A5CF CD0F 51C0 4F8E 74E8
 uid                            Marc Fonvieille <marc@blackend.org>
 uid                            Marc Fonvieille <marc@freebsd-fr.org>
 sub  1024g/37AD4E7D 2004-12-25

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEHNnEURBADK+anixdFH+aSxIGLw1soiwMXSiVPD56dmoA/VAFqrE3XVo/y6
 bPqpSNwvvhL8Um2v9G/7EDMorqekYErS3sgUOtrA05NSJlOUJk/97ZFzAlGZ4/u3
 CwtpFBdiATaCvAdMocWhxVkyIFvo6AqVNz6RkTldJUuwVzGelXWk9IfI1wCg586A
 r7CU9HIsVJD7/vIbIIsKDncEAKYh6XKEBHWI1pF3Ony+rPhlXCV9W3yraiBb/YXS
 XaPr2Wy3XC86ufHZs8ewug40DqcSfRobj7qV5II1CMoVrwhUuJ9Y087ETjt7xC9d
 xI4jrkVZlaRt0m/LUKLLfz6L9KaLWRkBfFhOjJH6TAv779q0n/KfaiU48Xuue6ff
 KNDtA/96/oTg9+NWjm47zCdQeyZGzEE27btvzbrLZuG6TcP7gAV0F6udGbImgw1f
 mKrQZn4ZtVKCKS8IzTn/UM/P26Pn9JOzDKd2voPE9Ee8D0L8ywg3mxmBdm+TY9vs
 r2OEV89Nc2sJZm5CeiqEvfACI8KwbExqWy5TW7Qz+zLi3zk+ErQjTWFyYyBGb252
 aWVpbGxlIDxtYXJjQGJsYWNrZW5kLm9yZz6IXgQTEQIAHgIbAwYLCQgHAwIDFQID
 AxYCAQIeAQIXgAUCQhzb7QAKCRDND1HAT4506BdRAKCaBqu+lvdAp3fhgIJxL0XY
 YG6vhgCeIyaLMYFzQfii5s20wePEhG3rfMq0JU1hcmMgRm9udmllaWxsZSA8bWFy
 Y0BmcmVlYnNkLWZyLm9yZz6IXgQTEQIAHgUCQc2dRAIbAwYLCQgHAwIDFQIDAxYC
 AQIeAQIXgAAKCRDND1HAT4506PmiAKDanV0mSeUSRJuDmfA13o4ELsQ38gCfaEgn
 LyzKfRawEhJdqsGPWW/fnte0Jk1hcmMgRm9udmllaWxsZSA8YmxhY2tlbmRARnJl
 ZUJTRC5vcmc+iGEEExECACECGwMGCwkIBwMCAxUCAwMWAgECHgECF4AFAkIc2/AC
 GQEACgkQzQ9RwE+OdOisEwCfY8xxYIhN0w9CSUbsN1/EoYp0D+gAoLedf7wiwvmQ
 O0XpcJaXgtlO4x6fuQENBEHNnEgQBADPHKv6eOKxk2HPrm180rVAM6/d3LQkBEGL
 Ma4QuSXXbTDXpzfrt6YOLi+ILe/hu5DNnGbQyvkBB1lLdmqW03lat1ape9wytNoA
 kHOX2C4kom2WA3FvtAoxojmylEn8S0koH7RUuhhTM29rVBap0W+UpwpnxmtbGXEO
 NciLWy5CzwADBQP8CSp5Hh4+7uXIRpp+RQ8PKJ2vQVnf7c+QTPDN5MLXEv1UK9gK
 vtb4sms2yr2IuBMP1FSAFN6DpedjoZSKimxqCyMNbyy0io2pMrNDCpqCadKOyLWN
 gJhJTxE+3kYeZqzZExvf8q+faQqXp91bbS4XZ4JzgAkT3B0mvQ1OHlVlAauISQQY
 EQIACQUCQc2cSAIbDAAKCRDND1HAT4506PAVAKCWlLnQdfJsRZtt0Q880glcLzc8
 SwCg47K+qs1q5klc1cCIaCj+/TtsLCk=
 =rg/z
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.76. Pete Fritchman <petef@FreeBSD.org>

 pub  1024D/74B91CFD 2001-01-30 Pete Fritchman <petef@FreeBSD.org>
      Key fingerprint = 9A9F 8A13 DB0D 7777 8D8E  1CB2 C5C9 A08F 74B9 1CFD
 uid                            Pete Fritchman <petef@databits.net>
 uid                            Pete Fritchman <petef@csh.rit.edu>
 sub  1024g/0C02AF0C 2001-01-30

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 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
 oIDNzwMAwpXoLZkEkk/dMUDTsFCy
 =ZbG1
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.77. Bill Fumerola <billf@FreeBSD.org>

 pub  1024D/7F868268 2000-12-07 Bill Fumerola (FreeBSD Developer) <billf@FreeBSD.org>
      Key fingerprint = 5B2D 908E 4C2B F253 DAEB  FC01 8436 B70B 7F86 8268
 uid                            Bill Fumerola (Security Yahoo) <fumerola@yahoo-inc.com>
 sub  1024g/43980DA9 2000-12-07

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 mQGhBDov9skRBADzrOg1JwL+kHv1dTePFR2lNrErbMe+WVeP1sdGuKcYTP15VQyJ
 WV/6ZoUGsihAmFGcGyJuhcUJbvlvqRf4ZlwD80a1y33SNxxsqe8n5dm4Wy9FElL5
 bjs4L0kGJlSL8KnYYUTQKEDBcTch3+GTjgS4NQBZWy4h0W6EWqgxr7CZYwCgpeB3
 tnDcY3ELA5EP6Bx8wZN97zUEAJo972g6HplZyuyjqqTjdztXNgD+DlsyNpNkEfqs
 AnZcr4aqEeyMNtGl8gPIc9JwPPSlX5OfmjCm3zWtEjwrHway6YPggXqX8efuY3lo
 LxVfjRt6NLI0TuV0FhojgHuJYB9RsXQFZxbYH8A/j6jQHbiN3wTyYHtaAJJ/iELg
 82oWA/dTeR0kjvjgrfB1MiFCH4AL77bZWuxSv1CvV09DlYtSxfLpyBm4OHvDZmOv
 V6zT9COM2+f2/EMI15cNllYXB3WnwfYit9tZtEFBl1+OshqYBbcNkser1pBd5jP7
 fDAkpDYGx5OgpqAS8hz4XLPZdS/HXSegodYKinU0p0Rzza6KtDdCaWxsIEZ1bWVy
 b2xhIChTZWN1cml0eSBZYWhvbykgPGZ1bWVyb2xhQHlhaG9vLWluYy5jb20+iFcE
 ExECABcFAjov9skFCwcKAwQDFQMCAxYCAQIXgAAKCRCENrcLf4aCaPIbAJ41RzBA
 OuxYwZFUSbMbU5PHENe6ngCfcnVzDC5+lkssh628m3GTG0EjINS0NUJpbGwgRnVt
 ZXJvbGEgKEZyZWVCU0QgRGV2ZWxvcGVyKSA8YmlsbGZARnJlZUJTRC5vcmc+iFcE
 ExECABcFAjvw0YEFCwcKAwQDFQMCAxYCAQIXgAAKCRCENrcLf4aCaMcVAJ9brBw2
 LPC2RcZpsm5S//dETM/qFwCgiuPpVVwBP7ibzn5xQVNAdB12xOa5AQ0EOi/2yxAE
 AL/FYZQw0b7NrD04j6dxrp7wBjgd19ux4zQocXgXPlzpBZxQ4A4/icGOLnIU+vDu
 ltbpf7aMTd/mJokJwx9pE82pOgxk6i42c5qKkwkmjhO2/4FFk8HXco2DJ9roRi0n
 eBJztXskUY4cVavKdXNeJY2JUeBYvmrnREWG1W2/0ZMzAAMFA/4ytkv46phPokQe
 s7yy67bEeHiydjvf3uM+v1z3xWoLw5ZU+8hLdFkESpZ7u+qA1mj3i7LNBZhfA5Bt
 Cgl10v9DWX9cda2HlMjyyI9p3dfPlOcAh69PMwexJ1VYPtizK4ZkC8dNk0rTVPOf
 SYftSsFGdDbUAq3ZokhjLkVRFY1LxYhGBBgRAgAGBQI6L/bLAAoJEIQ2twt/hoJo
 ewUAnRRikiShfD9wCuyMazVJ9+FZLWiiAJ0YFgos24sNEFq5rA4I8UZU0LZ5Iw==
 =y5FR
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.78. Andriy Gapon <avg@FreeBSD.org>

 pub   2048R/A651FE2F 2009-02-16
       Key fingerprint = F234 4D58 DEFF 5E3A 4E0F  13BC 74A5 2D27 A651 FE2F
 uid                  Andriy Gapon (FreeBSD) <avg@freebsd.org>
 uid                  Andriy Gapon (FreeBSD) <avg@icyb.net.ua>
 sub   4096R/F9A4D312 2009-02-16

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQENBEmZYYwBCADCrWmjbSj/846S7irndSa66XI//DVoOrTu/thqFyluQQmhhRuB
 +ndX79CWe2IRvr3l4bIaD3Lx2pq6OsUPWOsOAJSt90FGkynqSmO9MbcjD8ZE9Hkb
 mgqIW2NtEnCiVw20OlI2OfjhyavEcFAHxHsITRFVDlmjxutlyDkPmWXPNjsjfCaI
 FmzObn+W1adLT3r835x5mst9vBfuRFCTnm/yCHStkPTpW2mZ3njfDWEiQKc0ANaw
 EOEthnekr0jRvJmnC53JsJlwVH9yv9CY5EM5gVehmKuRok8NcVaPdNA7M9CATpaC
 eYQ+by4j5RBSMgXlFxhjHxM6VfGNv5vb6KG/ABEBAAG0KEFuZHJpeSBHYXBvbiAo
 RnJlZUJTRCkgPGF2Z0BpY3liLm5ldC51YT6JATYEEwECACAFAkmZYl4CGwMGCwkI
 BwMCBBUCCAMEFgIDAQIeAQIXgAAKCRB0pS0nplH+LxrvB/0R7uiYKZE63nqMbL2P
 9mqrbpC3PmrA0bNpfonu4wSOyvgeK/xJ0MTnSUTv5LLb1g+qF45LZSkYXsjncD+i
 HfLID68iSHBSWxQwgLePN1cEpDgcec/2YTpWBdzlC6Q4EtGunZs5jhEC9a4wDqBx
 uRzhexNDEiRzN0bZwqg/E2T7eY0oXfpwpdwsfAeuPniEwEJSFjSreMwg71wPIAb5
 HcuMieKnxjlqDEW7xQ0nrTydWnhxVvJoeVdB93mKnmhtQ9K/G6cV0q75Au5qy0au
 ztmXi8XaK/pyYxCbmhSPRC/u6Bo9K7rx6+MxtGX8YQd1VLC1kfNCx3JfETA8P1QE
 nJQstChBbmRyaXkgR2Fwb24gKEZyZWVCU0QpIDxhdmdAZnJlZWJzZC5vcmc+iQE5
 BBMBAgAjAhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AFAkmZZdACGQEACgkQdKUt
 J6ZR/i9dkggAlly9aIHTmseVjpdHD67VZ3sZWPvb/QaZ905mOj6fhxb4MVlwl49o
 9VmO0Pd1Als5FziaDnRBGiB61MjqDiCNxRfn7K1LJ+hf52ax3o+4oWQ7pDWwNPfS
 4qdnqnwpZL3uL4EtaU6r4Ix5bz7ekoYUV88sORR0fYueJqxDJcom6ZnDKEG6RrCM
 mzuiXhDfEWdLD2mdMvKeTAd1hGK+dLrIy8hmjH3zn4POkXe+d4qIJ0ENG1rlXTST
 KdrIUPUjQSmS6W9fCrBF97C8ii384XbPUd/rQkDBLC3jcqGpuHhzGTLYza53dlvB
 4qk0CaXOd8cOu3i1ac5ldiMuAcmv/bqg6okBNgQTAQIAIAUCSZlhjAIbAwYLCQgH
 AwIEFQIIAwQWAgMBAh4BAheAAAoJEHSlLSemUf4v8+YIAKgxK/MtfJ+CpAc/HPR3
 JFy8jWEkFanKgYIClzydEb3ONHkhFzNIUJIdPHNq4NGpWT7sKJg7u/0ojjPuAI+y
 AniD632Ki6q2MGBZp7jVll4B3q3+wKvaTT+h+Q1UvNjOmTbTZaHifRP6ufBNjlQ4
 BoXFUpYYLGNcH8Zal5G3CcBWAsfXt0iAM5mLVVpJEzaQTDFCEKpeSInhiKYxGyFG
 dGcffr98sUZhLrdx2Pl5H1hD6G+DBRYZLXag7cEumPjuikrgxZNAeHEyz3QfhPFh
 l6YJKm7HBy3DNwrg57+jDBHx7AWviq87MzU1XnWWns5Fi1WLPSlyAKSGWMHqITfj
 7NqIRgQQEQIABgUCSZmGVgAKCRB8Pwz8BJPKAl0OAJ9OvtFwX62D5OfoZ+jwtRka
 qv1scgCeLrS4nYea2JBdVmDi9dS/d4LdOF25Ag0ESZlhwAEQANe1Q5ZfTOc+6I7S
 S7KBrbz+Rdo0iEg6or7rrKUC62Vm8aX97yzBsgXzwQXBjD64DiJ1Lely+RRdE1Rs
 77/b81WHOYYBExtrcNXmbwxWqSs7Vxf8yBd/uB9n24sf2KhbVFKOeGXiB+76Ls6Q
 F3cOmQeeyGR+Rk7Trk4O/UxUPnoGFTM7yuFjZnf5R2c2BfprUvZ1OdIax3BxqDAk
 TF1BvmdAYeTqf+45+2DY1qD5w0o5AcCOovOk0mj/3qUbFMngtaVgiEnQEUYpH8RK
 vFecaB13JAOjvcf8HppNtMiY/WC2vKeBI8XTVP4JB8h0agalQUabcXpMdA+J8Q5s
 0zFAueYfzfDOtjxjgoA3c7GKk8Hkj4rtaa1nbTgIGJ4of+gpuNSA+AmLOPrLAcSm
 xQWsayfvrMdCWIwjSkbqB4yAiffIdI11buH44XmU9VoB/EuyxZ0eWft61kBQIKtM
 ES+YMiEEEHb8R8I/2wgJx35hywHUlOKn163em8Rcwbm/i9Myx4pc9RVSsz9IBsUe
 bHOi3v0kfVrxLIwpqfUc/Ryla/+BW3W08WeJ5AW/hv+OU7HHnNTaBeNTX0MRe6Bx
 jbDYT+M0iizIU7itI8Ki/wDYhhbwKq+WLvozPHoHQv4rRnuwdvW8LQmdrIE21k+5
 XrphH1jIOMo3GosT2wEopaIbjC9dABEBAAGJAR8EGAECAAkFAkmZYcACGwwACgkQ
 dKUtJ6ZR/i8Gswf/WvKsYhmIPPzshU9e2LYXCNYSsoaayqcwpH4z2UzFOQ6GdOJq
 DaPYCvFS+gllkktfKJ+qXjvwMrJOyyONVIr34XJTKc+5dX2kKMu/CnSNkBD+nfDo
 tUk9Hd1Z5zGaNrPwy02y9KWqYASKIWNNFIttL0XEnMfW8CLWQrLzmKRlxWZPC1Lk
 TnYVtxH7RrM3VTbBBfyeMypbdj7Wc1/kEu4xqXgTI6FhXkgTR8Ag1LGP4x32rzBS
 QtuMayhOSUUQZrJpcQYQpSl3j/AGaXuC4sHRpgpomR3B98cCUwcJuQJtCK03W57U
 maATzhsOLAzTARzC9+OmDsItyFnveYUKQQEUwg==
 =4PiO
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.79. Beat Ga:tzi <beat@FreeBSD.org>

 pub   1024D/774249DB 2009-01-28 [expires: 2014-01-27]
       Key fingerprint = C410 3187 5B29 DD02 745F  0890 40C5 BCF7 7742 49DB
 uid                  Beat Gaetzi <beat@FreeBSD.org>
 sub   2048g/173CFFCA 2009-01-28 [expires: 2014-01-27]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEmAbU8RBACOi7LAumjK/zBMpQDMrR55L9xJh1vTYpiKayLth9ZPlsg57pa8
 4p93pSTs7XKcHIO8zqr+LpFFxtafUVoFwzDhwwhO8mX97oakPK/LG2ItUYYZ5302
 RX0UclTrMNt2UM+0nrTI/uoh/azn5S+gJNYYTEJy96QzOtY0eGj/dDvOWwCgg3hb
 fN0crXO6FKY+fshrgQUdKX8D/1PWjcXge7sM3tlR9z0ETZe35qEljmTXpT4sPky6
 KmUF4ymBqhWCTn10WQjuOjhEXhF3rHQ/omgOr/dBQFZefBtcYKHUBq3lvmd0cuFB
 xVJRQErw5U8r343EeaZOFY+ale9iNTfwkl8AyrkaazUH/j3qu4ZnGdf+Wum1P/SF
 8ijyA/9XcujJJuXMT717d5yY1Vx1Dn+aYLV4y3OiniJBQFP9CU2lX+Iw1sfuTGml
 zx8+RPTlL+S3+nz2XkiYwHVi6wlthhGIOgE5DfG1r9FG5PZJtBr3pQau9BilT1TU
 3rXZp2z/tkNEQTagSB4ObCAQ5bTOuxli41TPFuHxmn4Q1YrmkLQeQmVhdCBHYWV0
 emkgPGJlYXRARnJlZUJTRC5vcmc+iGYEExECACYFAkmAbU8CGyMFCQlmAYAGCwkI
 BwMCBBUCCAMEFgIDAQIeAQIXgAAKCRBAxbz3d0JJ20jPAJwOdzYWw9hZSEFtUf40
 lGSurerRAwCfWN8iMDBntKPMBt3j5QQWWSkPxx25Ag0ESYBtTxAIAK2WncBXO3CK
 VTcGY5jvbqKWsJ+JUJqZylaV3FW6YzAMKKw380m2khT823qgC5XBja+nm0IQn2ec
 34D3XKl8gjf4WWJog6y/DAnxvwdtsS+Wwq0/ownCF1pvFiIt1tAw54i5fmqpwZj1
 UPQE2IRc54y9yFdGNSuV0He9ZdJGxXKx2GW71rHlgWCfxXmD+GtwzFs76jn04bwk
 lj3YM/AVr+6C3OGrUv0lIzD26kPxpbZHPSx2a6imBk5HQKVsuYqqeI5ZMOnkbwPn
 GuEu7tVn0Y0lwVyBqYf1qe4u2e/38Kg7e/X7Vk/OTSh0FMJ5ZsakKUjedvJ5DA91
 gUJBmGkopmMAAwUH/jQX8T1IlDgmZN2T8FUc3hnQjcYdOPRJv2Qx2DeXK4OI4DCX
 KWxVGXeGVd+EpKgYCSmBYx5UA6MKN17nmoQei2MuVigxE07cCx6BjASTmHxex3r9
 EGl8luGmEkzhTajYfu+13dvMMQVYuyQTwB6dMioaw7j6lE5GBG06NvRfzik3mI5n
 ms487lKYcqAJ+iFk1a8Lbtof3xoHi9gYl3pWQ/rXirY8sp02e2FgC6iFvE/4+hD+
 DCdkkCZOJMIl23JVm4VLWC8Ak1Z5PnOXPzXwS1hEX1KjRyrW/Z1EwNcCK8zSNQH+
 bknf8dxan+46/iwig5ejA9N0lyy6gooFXeiYCQqITwQYEQIADwUCSYBtTwIbDAUJ
 CWYBgAAKCRBAxbz3d0JJ28NNAJ9II48hjLq4PRAYpsDHXGH+2wSr1wCdF1Kq1fEU
 WlCtH7Ew40yBxy/bVJ0=
 =h59X
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.80. Daniel Gerzo <danger@FreeBSD.org>

 pub   1024D/DA913352 2007-08-30 [expires: 2008-08-29]
       Key fingerprint = 7372 3F15 F839 AFF5 4052  CAC7 1ADA C204 DA91 3352
 uid                  Daniel Gerzo <gerzo@rulez.sk>
 uid                  Daniel Gerzo <danger@rulez.sk>
 uid                  Daniel Gerzo (The FreeBSD Project) <danger@FreeBSD.org>
 uid                  Daniel Gerzo (Micronet, a.s.) <gerzo@micronet.sk>
 sub   2048g/C5D57BDC 2007-08-30 [expires: 2008-08-29]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =z5Yc
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.81. Sebastien Gioria <gioria@FreeBSD.org>

 pub  1024D/7C8DA4F4 2002-02-09 Sebastien Gioria <eagle@freebsd-fr.org>
      Key fingerprint = 41F4 4885 7C23 6ED3 CC24  97AA 6DDD B426 7C8D A4F4
 uid                            Sebastien Gioria <gioria@FreeBSD.ORG>
 uid                            Sebastien Gioria <gioria@Francenet.fr>
 uid                            Sebastien Gioria <gioria@fluxus.net>
 sub  4096g/F147E4D3 2002-02-09

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 mQGiBDxlUM0RBACvTeKRqOnxJ6rIhOdf9vCoPA46hxkjTRgWCd14oxC/P5SxlC6D
 kGDg+Cd/FeY347+C0fwmoaEJrzQcUMGIBdjOa6UywIcbuYFUY42T2+hsMVr2SSK+
 qz8hmpnmgX2PRmN6veuXI5L1S+3wEUDv/wpJLaPhnIs8Zt3OuwVD+oxmxwCggdzr
 SyxiA+f0tOqFlREV80qh9mkD/jCaBzww4rfSQrXsiyEOzDVP3v/EA3vYmkwyzm7X
 //+3ouHrUTPt4w7s7EbGF9xyTj0zi6J+6PADjt4yGgO85BfUyIiOp7oqLyu1lc+v
 lfgfOUSTr95/jfMfI5QXVoswUqLzAe/kZK8yH+mmd9PNDEXqXhSzWQd0O3kBrvlX
 KEEaBACB3SslcYkfdh7/kAoC8fyT4eDdJUPXLMgfjks+W4wngu2sHv0fCMhJuW8i
 5fhcFUnMNNuxw7LJ/+3NIYx0yacfx3DPeWEtYAlj1AggQJPiXNUIH2hKEh1Md28J
 JyvfGg5yjFk0QkZXEr/UIjCi2ooUtXSgI99HYn2soOxiKI6cBLQlU2ViYXN0aWVu
 IEdpb3JpYSA8Z2lvcmlhQEZyZWVCU0QuT1JHPohXBBMRAgAXBQI8ZVDNBQsHCgME
 AxUDAgMWAgECF4AACgkQbd20JnyNpPTrhgCZAU1wpIXOP+v2CsyPYGcIC03GsDIA
 n0qxuR2OP+YyFrsnA+yogEETkzbktCZTZWJhc3RpZW4gR2lvcmlhIDxnaW9yaWFA
 RnJhbmNlbmV0LmZyPohXBBMRAgAXBQI8ZVH0BQsHCgMEAxUDAgMWAgECF4AACgkQ
 bd20JnyNpPQGWgCfWL/2Q6PBPbDB7xMz+uV18ovl96oAn03b9L6/soWmPDnNN9rX
 GO0esJ5xtCRTZWJhc3RpZW4gR2lvcmlhIDxnaW9yaWFAZmx1eHVzLm5ldD6IVwQT
 EQIAFwUCPGVSDQULBwoDBAMVAwIDFgIBAheAAAoJEG3dtCZ8jaT0A4oAmQEQvmqK
 s9Y6EaJSnNLD6Qy2MKtHAJ4yoimf+lPR85jP4jKoQaMLeYpvCbQnU2ViYXN0aWVu
 IEdpb3JpYSA8ZWFnbGVAZnJlZWJzZC1mci5vcmc+iFcEExECABcFAjxlUiEFCwcK
 AwQDFQMCAxYCAQIXgAAKCRBt3bQmfI2k9AMpAJoC9f5tZH0s1LBDksqJF+yDY55Z
 rACdG+9SsE2SJUOUE8Zfh1h0L13EOWm5BA0EPGVRxxAQAN/O6Tfq3h6bKUDyVtPJ
 m4qmkAq2dMF/IwTjeiLCgGEEGK9lDxLWtXCZi85NdDqQjM6Az6bqNnj7ZDkxkhXo
 PBjLbfKH1ZGGYKaZqzDTTX90aNXS5ZkyJ2vTZ5UDv2G3BPzuBkfLoCfieo/ygqs8
 2njdJWS7zVYx57ZnYqpSwc0BTl6jeoFXFS0VWnGzHjF8glaDlJbcsveM3oe/kOB4
 Cdi6Qw/2XFqxZyTGiDaESbLUw1bMgNXe+sowbx9o4r0IoM/QO8mhe4vVhh3+KuQR
 wOfuh8FHu3uJ1uEdK3sXZJiyRnFhDokPimiHHI2XOZ+U2EigwvEO34NDgHMz/ax1
 vvV1GkpEm2RGjhIaGl3sbytpp/LIzQh+cVEqcrGvRMJ/web+P8W4NM/ygxtpEpJx
 lpBsMrmMB2jYF3Ry9oCSDBwQSIbMoS+akSR+dySoBlAP7bvseHdPjEG9k7DljcKF
 y6Bg3X1lcg/Ire6uxLaHfXjRKz5YAvaNJZl7n5uYpvnBh9izYzWxp+EucGqRrz0y
 +5MB5mMa5czKQ5Bn/qxJEduLNgaM7DgBDaJ+0m6DuJvb2Vd1ifXWeqDhxi9T/ugt
 drZjvk+FCfsw6JdV8Te8hB2W3NXjsYke7TapAM5sLh7tJ3S2fHHKjgdXIyl3wVr5
 CAzHkssJkVT7oP0feryaG7TnAAMFD/928Up+8kdlvOCD48eIwhNeOD8dV+2oLMap
 S6vsMKUnS7/hIff/gntk5Fiaf3pjio7qJK7GRKvOTvkGd5AnRgvqbYzIqB63OrGI
 dnUJ3NqZJaNPcHxfMCu3RwgBiKjLAaNhK9PUo1N7FaU+4Gb7MGPdduWFncgX/n5u
 CxIfY8lkOr74MXwe+gJ7Ybuk5DU+s2tgj5IcI4Qe1VEmD7npv8eekf7VURi6Ga91
 Qp5uNDyEAkqrHGJVPEWUZJ891kqOhhheMb3y/AIaeCw1hznOQaEdxlR9zzLP9LeP
 Wio6XnTLLbRhrk/uDCfjQ/mlZl96WV6SiZzF92jTJhJNRidtr1yENwNMi8cDVG8D
 D3d1jvBBZNIrB6CLHVAhRxPB11ThPwQuGkVNNrP8VquCXuoOIqJGGX0ivpCmemWi
 nQ+e+2ASx55rqweUz7urwyLRH5l0JlcOWuTCblwM6ZIqebQeiVm+pZ789fY8FOdI
 B5TawBkoAHgvSiWLv5iz5d53B1BSV2LigrJ6I+30DXAsbkldvtaeiYKAPRLnk/yn
 TZZ9nbNPhKTuRXSsUiPrRqgndtVdhWPS5RFJUKV0duSC5qwls3AxUDKf9p2Ci1vZ
 XmK9iohF5JhGiMe083CuIQITp/PY7xwPgleV0xROGWjiO1MC14wRK+uSRf585yRJ
 lyGwkugKgYhGBBgRAgAGBQI8ZVHHAAoJEG3dtCZ8jaT0onoAnRqetkw0IQGEHDis
 P2T/ZtaLVqp2AJwOwHDdKXMLcfeuVe0egqgkY48Vog==
 =U7Mx
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.82. Philip M. Gollucci <pgollucci@FreeBSD.org>

 pub   1024D/DB9B8C1C 2008-04-15
       Key fingerprint = B90B FBC3 A3A1 C71A 8E70  3F8C 75B8 8FFB DB9B 8C1C
 uid                  Philip M. Gollucci (FreeBSD Foundation) <pgollucci@freebsd.org>
 uid                  Philip M. Gollucci (Riderway Inc.) <pgollucci@riderway.com>
 uid                  Philip M. Gollucci <pgollucci@p6m7g8.com>
 uid                  Philip M. Gollucci (ASF) <pgollucci@apache.org>
 sub   2048g/73943732 2008-04-15

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEgER9QRBADEnqKDo2SQwM99dEQW6sEoFafQm592R98bDFZC1CqmBhZaj9nG
 ksxyX82s/PaOoosKZR3hsMcDOJgYkHfTKIMU6aDVMrONfsgLF4V6meTaBHW5uSOI
 cJBsW/TSTsOq21yrp6995jSTsHZxV0CpFDZWGCowefxvbRoAz/89pUBxYwCglOYk
 btty+eanC+la8LUuLn1na1kEAI9wXI6wRbc4Qv4dppmNwiBsu0aDW2bOe6TNU5nj
 MMU5dMQkQ+FkHBFNyF3Fy5Uvm5zhGhlPKRTW9nOmLzZQBf9kj1G2giq5MN3fs4jg
 k15/93Jm3TnyV8LZxP4cBU42HhuL3b6rzFFNVgDLw4PJuSqjt/JTNhNtCwYW+nqS
 g08zBAC0FuxTJzna5X8Y2o5o+J2yU0kIB+y+fmGeaN5zg4VsM64Nexhc2X3HJbXd
 31hPqySdBl6DQP/I9U00S/C2Qb6MVwTDYR2DBltoeqoHOJKGLvqB5N01DAVg8kAK
 31PpMdFhkfZwM2ZsHfoGbnEB2fMd4Fb/+DwbjrckwdG1w8P2t7Q7UGhpbGlwIE0u
 IEdvbGx1Y2NpIChSaWRlcndheSBJbmMuKSA8cGdvbGx1Y2NpQHJpZGVyd2F5LmNv
 bT6IYAQTEQIAIAUCSARRtAIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEHW4
 j/vbm4wcSz8Anj92jZBlcifpDwdiUvTZdGO28CjQAKCT4jeiJcLCbhnXaXonBCzw
 DRw5s7QpUGhpbGlwIE0uIEdvbGx1Y2NpIDxwZ29sbHVjY2lAcDZtN2c4LmNvbT6I
 YAQTEQIAIAUCSARH1AIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEHW4j/vb
 m4wcM20An10tzTX41D6qcEjOBqMzwyydrYoyAJ0Qs9fj/ct7iDCphvNwCcjNGMlx
 ZrQvUGhpbGlwIE0uIEdvbGx1Y2NpIChBU0YpIDxwZ29sbHVjY2lAYXBhY2hlLm9y
 Zz6IYAQTEQIAIAUCSARRmwIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEHW4
 j/vbm4wchSkAn2DyHStIDMIXwKH8LAgut1wpf4sgAJwNKynACF0+sok5YupxxZkm
 QFJsNbQ/UGhpbGlwIE0uIEdvbGx1Y2NpIChGcmVlQlNEIEZvdW5kYXRpb24pIDxw
 Z29sbHVjY2lAZnJlZWJzZC5vcmc+iGAEExECACAFAkiGRaMCGwMGCwkIBwMCBBUC
 CAMEFgIDAQIeAQIXgAAKCRB1uI/725uMHK3IAJ9n6VjOWpymuzHE7xN/xlJu2j5l
 uACeIqegqdXAaqRS4+olfTDN/nvoYWe5Ag0ESARH1BAIAJGalt0PcCClgFjAWdKr
 2+wNm8CrgW8cm62p1KZ9rxTHqpDEQopa8Y2G86pKDmhjJQmPmepcZx2ZhnBc0UVj
 qBA9bEDnVJU/ysuxjYrjswYNP+5ZemUsk5IZgnZOLQod6ewWtcdZ7EPJYOfKNAvo
 1TMNFZqA6CLKUgjPpokRdolseRkyuS5q5XM4InraptSvv6G6SXRiDBwChbwfbJG/
 82ClmnuInhDzmc4gg5flrU6RprLu/PPx8SSIRkVHNZdPL3cF5pocETruqdkcb8yD
 aC4kIIqsn1XeBYLXS5lYbZBexR0i4i0xkjXnErrGu2lgGm65RwF+hvRsDC7RIC0c
 9hMAAwUH/0UY8w+pGeGMgZJHiLSoaK6pTXv1/ega4na1vGglnBeGXB2Cj6jKgv3j
 6a9XLRtaw5owhTLAX0uWt1XOw8ojm+vgVBvXJO7ljUI99/Zov5IQRZfy4TN8dOY4
 1TNgGiwaUU/rh+MIQy5hFCQPGRjIUKIkOGEBKOaZEkTV6Hr9rFCokpcTILF73JB+
 hI2EHwnXzpFKmzB1zwbNvtv4QiyozROvc558n13WP8OdmdGNv0jNcytqEIaB+PZM
 wMcLMjikPHKUxfHcdmwCezpIBKG2T/5xgzTCMxQ0UbfIYLnsOfJrCm+akw2VbQ+R
 TdP5dVLKITdFUk3nydirHpN5JYkH31WISQQYEQIACQUCSARH1AIbDAAKCRB1uI/7
 25uMHPq4AKCSdNolzpw8MfWfj4LU2ZVlbflHHQCfWUK39VTu4mNu5nPmuM6gmewD
 rNE=
 =SgIy
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.83. Daichi GOTO <daichi@FreeBSD.org>

 pub  1024D/09EBADD6 2002-09-25 Daichi GOTO <daichi@freebsd.org>
      Key fingerprint = 620A 9A34 57FB 5E93 0828  28C7 C360 C6ED 09EB ADD6
 sub  1024g/F0B1F1CA 2002-09-25

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.2.0 (FreeBSD)

 mQGiBD2RGpURBACZe4DKSXi6jCkn4eZHJr7nGPISQr4YUq3rDqcOSUlFPBZlVd8S
 pYnfkNNW8HTxl0+qd5kIXiQxuvWxCrTNzoS0gPO3IQcICkAqbIICK0A1KFFx4Zen
 +muTp/e7bDhStcMEelXc+/3mLReBJf/d6e4For6P/rqVmMAcm5A2GO4quwCgmrSD
 fLt9NGJ+mtiXFxloHe57l/sD/3nanV7H4zk9gPJZA9b8UKpbZZmsyljTuYOAULL1
 oh3CZDYvKZZ3E1v9exVDadSGvbps1bL1okku27nNd9BnlnSxZ+sQbfJtvEoBMUwH
 HJnAhTU5sW0UJv6K7goZ283npX8fFjyDWJ4+XJ1Qq1e+VMF5QeZVRFiIJ6NztM7F
 6b1NA/0dwFApYGf2r8YV5uJPeSsWH94Mx4PTtIXp+WOovQ434wzuBUMiHxeeuv4z
 LP9Vjf40s0GoC0TLz8wB2awUrO8aWwgg9SUf5yO+jKZ9BchBgnqjju81zAG5sbUc
 ogMUrENjqIJgFCkHcnbxo2IHOygwjezvZeM/svcxJ1bW/gZlwLQgRGFpY2hpIEdP
 VE8gPGRhaWNoaUBmcmVlYnNkLm9yZz6IWQQTEQIAGQUCPZEalQQLBwMCAxUCAwMW
 AgECHgECF4AACgkQw2DG7QnrrdZetACfY5hq9W8pDo/vGEaCZWQtpTpW+EUAn0jx
 G2nWbw6EDoGxa62mmqy9rFyMuQENBD2RGpYQBADjmTUn3Gk/tkVzIgVm8wdfuMPb
 n08JkuNLUDYjxWRfRmVZHpT3L+e7rUwKFrcmMRM+kMSsnWKhmhwpkI4Tqgi5/lmg
 kN8R+kr6gm40lEAc8tNPNzbE4ueKSAwW8QKqC2iHAqe0l4SjvDEns5M3mARPEtfn
 tdEsQGeyGYlxsG+MhwADBQQA0HSyz2a2mMvyn7IfG7f7t3zuL5tXoFARYQ2FYMWn
 VSkydfzYuBc6kX3oskR1QMv4EDgX0hIUglvTIb918Qj+4tx5CKsUKnZFflGYfY2C
 qwVwR9SPPdX7rhytqkalH8HyuLm2XuRaf/pzo23tAivSXNFhfQhvybFtLdPBJ6yK
 3XaIRgQYEQIABgUCPZEalgAKCRDDYMbtCeut1qqBAKCDnLRYCpUm4eyVG+Ycsn6B
 giZvyQCeKeQZPCnz6RKllxb8E/E17bdhN24=
 =T2MZ
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.84. Marcus Alves Grando <mnag@FreeBSD.org>

 pub   1024D/CDCC273F 2005-09-15 [expires: 2010-09-14]
       Key fingerprint = 57F9 DEC1 5BBF 06DE 44A5  9A4A 8BEE 5F3A CDCC 273F
 uid                  Marcus Alves Grando <marcus@sbh.eng.br>
 uid                  Marcus Alves Grando <marcus@corp.grupos.com.br>
 uid                  Marcus Alves Grando <mnag@FreeBSD.org>
 sub   2048g/698AC00C 2005-09-15 [expires: 2010-09-14]

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.4.2 (FreeBSD)

 mQGiBEMpwEsRBADcnD1kRdYoPvpKLjT1w1T5p1fT/LAimANGHXVoZxusjNdJjleF
 7SNfN6V+sjm8bdUjZb3VJr3oA21sdwIKXzamhtbaDRAAvKdYIRecTaLId8SqI3dO
 mZtLVo0A7XNkjVMtyLn8lPKpdiHPOc05/x8sVLNZ2LR/xFJnbdT5bomy2wCgmIOF
 EaoJmSuh5trZRiKIAeIodfMD/3zaTMjI7eLziJG2IWdxceN40vUX555gCpeFEQtD
 DfVV++32c7BN0j9o8VFl3W1vsQ3Elhm9GRlb5hZbRo53Z1YTJEzogXTGBVipJGID
 cDo/bCmRuMSarsT+M6R1NF6uToSBeVZyCtA/DDbJHNvYD5VeOJKsdaQ7hYtctoJ6
 ms7hBADD8AeV5gLZOjOIFTAkX1ibEksxz/P8aUFjnj0QmPe98/RI02e/iYVVdPgz
 HgrTA+gF0X7nIicn+KhBgOT0MTx6bf9DFzmk1KaFBA6vnQ9alw1WtRHGsIm0OgD/
 Jn5tRQFriUS5PWQP8FKXcUfmqOd0WtLebPicX66nOba+NKdU+LQvTWFyY3VzIEFs
 dmVzIEdyYW5kbyA8bWFyY3VzQGNvcnAuZ3J1cG9zLmNvbS5icj6IZgQTEQIAJgUC
 QynBHgIbAwUJCWYBgAYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEIvuXzrNzCc/
 UUwAmwVe85K4Ljml9AgBKbNn5juVRkr7AJ96PWlTFr/IdKq+1m3Zw7Hyt93cf7Qm
 TWFyY3VzIEFsdmVzIEdyYW5kbyA8bW5hZ0BGcmVlQlNELm9yZz6IZgQTEQIAJgUC
 QynASwIbAwUJCWYBgAYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEIvuXzrNzCc/
 6koAnjbYaFve7vZz3DW2qTBnYXp/n5IAAJ9+2EStzCP3tnKb/hjOxotstQufCrQn
 TWFyY3VzIEFsdmVzIEdyYW5kbyA8bWFyY3VzQHNiaC5lbmcuYnI+iGYEExECACYF
 AkMpzVMCGwMFCQlmAYAGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRCL7l86zcwn
 P+oFAJ4tcY+w4DVH+x7euh4K6ECBqM73PACbB2QBuJrDOtTxoYdmiH3XdHCytT+5
 Ag0EQynAUhAIAKD52CU2Xp69qfo/j/1aLgiMhgLpx56ySAb9SzZySUHadyptFpJR
 i3glUnoUh9dfU1jr8Y0f1oChCmm9TOZnQJWR7LOrO+av3gxnRtVMkvVr8eAPG3o6
 C3VZop7FPxR05Jmy0EtIxweEgNGmCX/p58T9LAM50E9FacmwYAIn77O5zXcJVnBI
 m9Ih05Hy4nGIoyF4iBA/NZQL10glMnwc6p82AiMj1FI6i6iDdPYBeiHKUXkyZ+Q7
 Df+HkelT3zot4DPKBeGBSFyQENOjHCp4wl27DsfiJXViy2NRz5lzrSFgvc0ZIUus
 Ia5d9nG+OE67JKU4qT5xgJL5+eOe1lXsHgcAAwUIAJKuSmq6lvF4NWN8HWDimXBE
 Ol8jNHf+miaLgMxOhAOeD4TQHpqgEhnf02koUbGDbli/AS1oC6WGhKSekgYKZCkf
 zmvRNEkCJCOMG3bOcKEokHiujcyQHWf8k4WmBQe0hGalrE+oaLti5H2/jAqUqYFi
 tHWRUeJDgfwOXRalI3YJJyjfBzE6ckE1kFWoEeXDuZdER9kusWWVrX38mdniwoKj
 7e+GtfYo+riB4Nb/TSuQjw45DKVaqYNi13P2P1EmHwmrSjnL3Yrck3x/vDrCKa0c
 2+BAMAaLVnOGdaYT1xsaMBGcgSkybQoOmvMm5hdtxURqi7k/TbaNhV/etSzfB/CI
 TwQYEQIADwUCQynAUgIbDAUJCWYBgAAKCRCL7l86zcwnPw4iAJ9rVaOA1zKrzwRX
 CLE2Xxf/FkN6JQCfZU7PjkJvE9jqgsBVfMhi6S6kNZ8=
 =rDV2
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.85. Peter Grehan <grehan@FreeBSD.org>

 pub  1024D/EA45EA7D 2004-07-13 Peter Grehan <grehan@freebsd.org>
      Key fingerprint = 84AD 73DC 370E 15CA 7556  43C8 F5C8 4450 EA45 EA7D
 sub  2048g/0E122D70 2004-07-13

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEDzjb8RBADNg1Ak3kReZLn5N6aGm/0ofeBsZDK31HgXFoQnXpZWuPf4Dcuz
 EztxDMfAhCdQPuFm+u2av7YiOc4Xmxmety18CwBP4E0w2Wf2RKdI7CdeVshn5epo
 kTMTn8pDu3ZDzui6Uvnjuc6y51VzL4zJwNNZAF5Vs1gXr+V7aDbvb1/6PwCgtX5K
 XQHfTdms5d6yhYwyQ4SrJ6sD/izS3iZBHe/nDdTBnSIA4sIdcZUn+sRfX7/GPs3H
 9JgYbI/+fatLEUShiKaNTCCibNRXx1OqFk0w+vs1pRz/ziE+G7uV7tglS3h8LMnO
 Q/6y8WwTMiv2seCKyiuvGxG2NMT7OAdrSNe8xPIlNRBdxvANFlgnfPsypXRfjJ5g
 1mqxBACaho98/zNgFpClOwAxw1Il0TX1c2EGB0e10FJ77rDNiPCWSnsPu5LB8mhL
 FfeGdx+zVVj5G4tMVIdJgZ5T4IpELPY1rpqf75F4mBrWTnmd7g9X1S//U8j7pNet
 JDVlymYg9DJvtKnfOHXqViwV8g2X0EwKsOpjo3IBZ0Oepw3wfbQhUGV0ZXIgR3Jl
 aGFuIDxncmVoYW5AZnJlZWJzZC5vcmc+iFsEExECABsFAkDzjb8GCwkIBwMCAxUC
 AwMWAgECHgECF4AACgkQ9chEUOpF6n19yACeNpRdDKA7qDA1vKGyjJIEdeAhqT4A
 nRC1CUpFTve3psN3cPWymDzSiHl5uQINBEDzjcsQCACkCgzuJRaPnoWmOZCk58ya
 +2Tbxd3qHtDDwMnY8NKi15FA0Cs40PUffHtWrxW1qcmm7QRmhHpR49tR1f7xT7CR
 OX5QKPa2axjv1mk9MKC4BtMe851UIMZ8vWbm/Obo9UdNYqEQEXT5TY6PbkiC8tDH
 5i00MBg6mkYtK9xU1OjJUp1YHuqalWgMEW1nUFM1CV1Fbk/SqLzyNcC0biTRMUkZ
 aZ1MgF6oxBIj/InO0f7gVoL3Jb5BC9bOUo3NkHCUQDBPwfLXR3lfrQLo7fLckYaN
 j85Ap6NXJr88vINfU+xn/MeVwTGYw9ejh4sujp3d57wP9Ym3PaR2SkoPdZO323oH
 AAQLB/wMC99y55a2jnP9IOsI+UIgWFWDmVqDhdgdp7asKjW2aUhX1k4CGPw7AdTL
 dtBdxqxFNp72fZPZ53ZIn0z2bogyYOOT4aWbTFiqKyU6CScCpeunKs+/qz0pw0f5
 /TdHgDCBrlMLihNiC0Tvtf/BzTLR3pqDshts8x82qKSjhxExazbBxJ23A4El53I8
 zZLQLD+vqJaFylhze8DNC3J/V4NgD1Vdporrz9L+QZuJXDGUyp6Gj4uteAu0W/My
 4+5zrs9Ym/TSmC4y3PLoqAeJv5I3E+6YqMo4c7XcLuJWO8jzg6aRlQmc/WgvVANW
 juieqW0bcYqNu2F/GeUcgvD3dWt7iEYEGBECAAYFAkDzjcsACgkQ9chEUOpF6n2l
 QACglTS9Ryv4oLwvXTNK2j2RLiH1VZEAn1YaLCp5rtafXPpdMdCOuJXo7MjC
 =UNPF
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.86. Jamie Gritton <jamie@FreeBSD.org>

 pub   1024D/8832CB7F 2009-01-29
       Key fingerprint = 34F8 1E62 C7A5 7CB9 A91F  7864 8C5A F85E 8832 CB7F
 uid                  James Gritton <jamie@FreeBSD.org>
 sub   2048g/94E3594D 2009-01-29

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEmCOzURBACOSQ8S2bwRYqXrfV9/pT8BmnGl7GYrkbDtJqL0IaTV1Bmdw7ed
 qcDjMT55c2LEQlO7w2EG5z7JfaBnP+jV3X/gtH37gcqClcJRxJ2uhT7fShzmRR/U
 5iTbAt0BwDF/W5LFmxajhZvw8NJKeMk8j0kUwdTzSKalN+iAhXEhqx/uWwCgz2qg
 9utCYdwfeSmRwebBIQhPq4MD/2bWpo3/Vw3PZzNsja1l/s8jQjxkMoXJ8LlYFoYW
 vc5lMBeR0nb1lZrnBvQGkEJVSPLXLvTBYireyqai8pt+Uk7D1oRevpsD/rIsSZBV
 MVSa8jUqPF0HC0vWrDd98HDq/RJ3SD4HHhiWJ2wA8YrftyeHzZ0kiJYzggQ3UPM6
 +x52A/0U2kBqBq+HqA7YWTEo4pn2W3adZCT8mwmsDdEnC/uTvA0BHBN1HfgCxwee
 TSqOwssFioHCVu+N/lxKjqy9ftHI4ljSuYOPpC3q+LwFdVjbCQ6ynILNKp89QiK6
 B5TphmOTQJ4ytVxr/tcvzDOCxbtyG6t7eCJBlfEgGjZLQu7uYrQhSmFtZXMgR3Jp
 dHRvbiA8amFtaWVARnJlZUJTRC5vcmc+iGAEExECACAFAkmCOzUCGwMGCwkIBwMC
 BBUCCAMEFgIDAQIeAQIXgAAKCRCMWvheiDLLfwhyAKCP4JGKCayDfY1f7sBXhYSa
 6Zr5KwCfSy1evNxNmp5TwB7RBpEZpL2R2C+5Ag0ESYI7NRAIANiluE6e3GNLyLTc
 cc/SQ5NdW4/B89yDQkZi/f7mUAMiS73iKoe555EVI/JIFsHUduHeYMB/ERDHNSUj
 RmWVkb4r8eVSlMVvoU8sBYGqihoYtFXYT7rj8vvq6ufkF9RtBJLTLzikEg07jfQk
 EzKr1eFOl0v76UGnmqrYiTXOAJoXQIH4+Kt3pWd8jz0Lsc3Kd4+eMW2A+eXSpShb
 yuQhvtIkSdOLDa9PV03Y/GweSCbTKa5+oTmCoKvXJYjDHwkuj7n2dog8vo64Oy1h
 z8mPPFyDXr1OitDdA78Vvpu8afz3Uev9DMaKd6WIEtVUprLOXyuSixn0x0rvImes
 t6lHX3MAAwUIANKigPUT7boxzc93BdWUOKrZEnjN7zVnIqUMizVgi0K9nLM+lSpm
 exPfoEZqCIBmAmDRYO50Y5Lwb2R6V0qHFBmIvZZ9Ih4YosXuu6oFhKHjamRK6JXI
 hh5mMrOZnfDRn5YGEr3ZCEOGzdW0pY1t8THd6mtXmK7iIKKy+3u/WHf0tCJDRXk6
 7ETBWwqFTE3XpZz09aHRV2470GKESSbs1Q4Cobc8ZIifNzr8kfnWPm/EH2UCNpnZ
 K2UvAxi6SRYVWIY11SRS/am+DRGweKfm9+NZpHEk2yJknHd95Q3IVw+fX+2yKVQe
 L+X9H5BR1y6XxKbxqrlWF5I2FDJo4BzOA1eISQQYEQIACQUCSYI7NQIbDAAKCRCM
 WvheiDLLf1rdAJ976PPYVcvK8Q/zKQrMv7pff09z2QCgut3uY8LEhlK39qZCF9Cl
 2+bu5gU=
 =Uux7
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.87. John-Mark Gurney <jmg@FreeBSD.org>

 pub  1024R/3F9951F5 1997-02-11 John-Mark Gurney <johnmark@gladstone.uoregon.edu>
      Key fingerprint = B7 EC EF F8 AE ED A7 31  96 7A 22 B3 D8 56 36 F4
 uid                            John-Mark Gurney <gurney_j@efn.org>
 uid                            John-Mark Gurney <jmg@cs.uoregon.edu>
 uid                            John-Mark Gurney <gurney_j@resnet.uoregon.edu>

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 mQCNAzL/8IwAAAEEANuX7fcIa0S5fVATYQCGwgBJo9DxRr0m/QjrP4dJh/JEIjmv
 h37FMs9qsMPtyAZWlRSnbVFyQiz5ptFuL1irClW2UHzlLvd5s+pKMfIkJWDTnrvp
 0jFebYQt0chZeLcKT9s5sSo9ua+fUumOfaWyubUZPIqmDYqy98Em7wI/mVH1AAUR
 tCNKb2huLU1hcmsgR3VybmV5IDxndXJuZXlfakBlZm4ub3JnPokAlQMFEDMBDfTB
 Ju8CP5lR9QEBmnsEALAS5dZyQXxsDAROz+yHizsbgV1Ok9vFwE5en7QnOGcSkQX9
 pE7MzzlbpP63toF9zWLF75dbXE5X0yYLoB0pvNi1NXhXqA0YbDeAi1Ed6uBXbomW
 MDdm0s+O0Y1NfuS0uKiFiJUDOjdBrgEbnmPZM/77dhr5UbmAtQUHFftaQfY6tDFK
 b2huLU1hcmsgR3VybmV5IDxqb2hubWFya0BnbGFkc3RvbmUudW9yZWdvbi5lZHU+
 iQCVAwUQMwF753W7bjh2o/exAQGjjwP+MKiFH9EfOGS7yr5NQ4+vWXuHe1N6fi9N
 jJsFfzT/RCM/wo/dNG/xhTgdCoCWRt0gKkv3SLEPYGDPDtC3Nf7HV/66wOiYYnxD
 3cmjgpLn5u/Ju0oS5xxNb5Ly8EZnfz967lIHjp/qhbZ9o7kO7Nkb7bUgozNqBaRy
 9Yo81fVAtrOJAJUDBRAzARCXwSbvAj+ZUfUBAeUyBACKoIXfYBpsKqmmnTg944Tw
 5t8lAFZ8qJz42Fjw+hswC6c+7b87imwaH3AjPnFmsA6f1ES7xDHG8RQleDtKsyik
 gHc9Yos/neVqwfrr4zSV1PdNPPpG5uNT/jI1k1M3pH8kwYdKiwaIHQb5+sGUQsO1
 ZoxCdzT7HJq4jJtBGVIRULQlSm9obi1NYXJrIEd1cm5leSA8am1nQGNzLnVvcmVn
 b24uZWR1PokAlQMFEDMBEHfBJu8CP5lR9QEBak8D/2V+1pP6zA1dvhRLcO2pGldn
 Q/dcVAAtZIZ7AUUap1pKXZF/Tt4gWKMtAHj01xUbwU1fmI6DF1p4AVjDqOxJDnoZ
 RD9gv0RiZXdUesXL2UBNHc/7f+amAJgmXNrP/m70ejgzPluniR5hQm76fKYjkxV1
 opRhhchTjhrFndoQ9nvQtC5Kb2huLU1hcmsgR3VybmV5IDxndXJuZXlfakByZXNu
 ZXQudW9yZWdvbi5lZHU+iQCVAwUQMwEQWsEm7wI/mVH1AQHxMgP8D7VM+qUo0qGM
 uFUKqxoQcDPVKt2W1X6wWTHdj9cxo3oW1tlLEZ24Y2v5v1pzonvseaTjsse134dP
 a9qjcwXjs/zxXzHoQs3B9BZB2qXaR4T3YeuCjq2qIXGwsrrY5fkoch4OLg0/FOui
 dmNbFjVQkIma2rIRPa8GhXZJtGl+UEk=
 =bUtb
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.88. Daniel Harris <dannyboy@FreeBSD.org>

 pub  1024D/84D0D7E7 2001-01-15 Daniel Harris <dannyboy@worksforfood.com>
      Key fingerprint = 3C61 B8A1 3F09 D194 3259  7173 6C63 DA04 84D0 D7E7
 uid                            Daniel Harris <dannyboy@freebsd.org>
 uid                            Daniel Harris <dh@askdh.com>
 uid                            Daniel Harris <dh@wordassault.com>
 sub  1024g/9DF0231A 2001-01-15

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.7 (FreeBSD)

 mQGiBDpjbB4RBADW+4fkXvVjAZ0A1X4wgXJQ4Eyes1LH7sTexP/Zm7sg1D/R9zV5
 w2kBwOhICRX/hxVL76YZv2MTNL/d3pV3ZW2yV3Z6H7Pq7s4oVn2q35owUwLQZfSI
 SBTnBiVN7NqMZ/kzCCdWBwg/4G2FVNFwc7RyuOFQL3ly1PBtgbANbpCyfwCg3QXB
 K6AtFaEP2MA+SWWHQD2dNxcEAI11cbOHbYU8asIxbqYYyPOMgPsaLlPiTh6JQOO0
 2OiGxoQlmZvkhlWf8B9ahCeYoKgA1zPqdHA2C9YMvOV2LvN+/Qi0n3hpqkfM7lLC
 QMJgm1KxIzccWY9Iz09GRlIFm2JPaCVLsKh1QPW50c3yO9TMSa6lXwiRgvxPz76C
 JHniBACa25NHH3x8zx5KA0FgMM15Wc481777CFVsKazNay00G0HogSICZ5lHffdi
 1O5u+qQHchVKL0Lbe1zhdbVHdSAbEqnKTqseVMQ6I1TVu4gO89B72aY1RxAnAYjh
 PAb5W/RhZBSR5NDVZyANnqaGE7U7KMqn4/E0lC7w1TzoIZvDMrQkRGFuaWVsIEhh
 cnJpcyA8ZGFubnlib3lAZnJlZWJzZC5vcmc+iFcEExECABcFAjpjbB4FCwcKAwQD
 FQMCAxYCAQIXgAAKCRBsY9oEhNDX55peAJ9NKai2qEcFLxzC14qDz80zBGwP0ACf
 YhsW5qhTw/Rck1Id2W1alUEXMre0KURhbmllbCBIYXJyaXMgPGRhbm55Ym95QHdv
 cmtzZm9yZm9vZC5jb20+iFoEExECABoFCwcKAwQDFQMCAxYCAQIXgAIZAQUCOmOL
 hgAKCRBsY9oEhNDX5wXyAKC6VLe3svRc+FgmmjPS/EWvi83sDACeOpmPRbViajOw
 4MUhKA7hxnRlBeG0HERhbmllbCBIYXJyaXMgPGRoQGFza2RoLmNvbT6IXAQTEQIA
 HAUCPSJfQAIbAwQLBwMCAxUCAwMWAgECHgECF4AACgkQbGPaBITQ1+dSxQCgsBwM
 uDviakYEKswiv6zMHfYBBCEAnjMyu+oxjKOWOo+of2qmtQH2LNg9tCJEYW5pZWwg
 SGFycmlzIDxkaEB3b3JkYXNzYXVsdC5jb20+iFwEExECABwFAj0iX2ACGwMECwcD
 AgMVAgMDFgIBAh4BAheAAAoJEGxj2gSE0Nfn6bIAoJlPaQlqk4wbNGoscjigAp0R
 B9ooAJ41JxSh9w2S16mFTGNKvVpjXw15BbQyRGFuaWVsIEhhcnJpcyA8ZGFubnli
 b3lAZGFubnlib3kud29ya3Nmb3Jmb29kLmNvbT6ISQQwEQIACQUCPSJiFAIdIAAK
 CRBsY9oEhNDX558OAJ9iOqCDUX4cdNMSZ1KBQg1gfTn1yACfZNL6BY+mYC+XV83L
 7DXacstXHlSIVwQTEQIAFwUCOmOLtgULBwoDBAMVAwIDFgIBAheAAAoJEGxj2gSE
 0NfnaM4An1YVu3iDtrG314UIuZoTw3zd9ucxAJ4yg3vWB6ceg06KuyaGTJSdZ1Oa
 p7kBDQQ6Y2wkEAQA0RSR8vkmX33oyYl+LwlOmemSKbSQFZNImw5TDcRYX83fa1Z1
 4oIgJSk1h5l2jx/+29chVR1nTNqPYlRQEDMxVby9rMq2RAnjorM6oDdtIQIBNJ63
 vmUcUiORGnKhC0waajpmZibcxoUFk1KcLyfxOT0JTOLgsJfqdqUENIc6NqsAAwUE
 ALaLYnBOoIr5Wm/KC7wRtS4gHeeOeskZyyoa3+AeBorDl0VvpgYwlNdAaP4xJrx+
 CH6UYnxrMgCXG1l4dupkGXOCRPlAcM2ouEyDIGHRTVqHy40khZnWzN7xfZhKNcVd
 FxeHqOG61ZrhcMboxZrdJC7hK+sYrbngeKRiDs4VRoOuiEYEGBECAAYFAjpjbCQA
 CgkQbGPaBITQ1+foeACgme+2LKdFkytbn/JUhBqPYVAD8KQAnjP+IDVQ3PDEKRkv
 AFGJ6i5SrWJ6
 =j+GD
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.89. Daniel Hartmeier <dhartmei@FreeBSD.org>

 pub  1024R/6A3A7409 1994-08-15 Daniel Hartmeier <dhartmei@freebsd.org>
      Key fingerprint = 13 7E 9A F3 36 82 09 FE  FD 57 B8 5C 2B 81 7E 1F

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQCNAi5P5owAAAEEAMIKNuDnLGiTOzk3kGMmz1ii9FbYEM6fKdf0jSi0YSTxSWAn
 7EZbBehJ3yTAYuCaGSEGXEWismycc98LnH2Fb0uI2EsJ0CVLJqxsOL3DK8XE0YOk
 HjSKUpmJkh/BKrMAmUnqhbD6YIBiKnZh3ABt9+a7A+SakJQxvtQ9cYxqOnQJAAUR
 tFVEYW5pZWwgSGFydG1laWVyIChMYW5nYWNrZXJzdHJhc3NlIDE2LCA2MzMwIENo
 YW0sIFN3aXR6ZXJsYW5kKSA8ZGFuaWVsQGJlbnplZHJpbmUuY3g+iQCVAwUQQGso
 RdQ9cYxqOnQJAQFBSwP+IIm2bFprpayabQ/VgXp10OD3sgIEtH8c99sU91LyotNT
 ySif8DS+ujliDk5wVnaOlzqrV4sga8d2ybM81hdW0nxI9dNxLIp+ti90OecZMF6M
 4PlsdkYGnqZDzXlFg4o70GSAWKjL9RTG5JvNnYWS453mCjYc3O4dm+1zzADfgcy0
 J0RhbmllbCBIYXJ0bWVpZXIgPGRoYXJ0bWVpQG9wZW5ic2Qub3JnPokAlQIFE0Br
 JFTUPXGMajp0CQEBkqMD/0D1K1hTJc8u5K3gpsk9LrnOVYpP3zHbSe94oLO5tHv/
 b/Y1626xqcMKYfAIk435asuPnGRkMjgpsxPUKksfWMlUqW4aIiX7di6aMuWkgSBI
 BXguu1Dk/qRImOZkNzWc3V+/CQ+PIauy2rZubfW2+oVkW1iEmmO7I/nPqDxDBNBI
 tCdEYW5pZWwgSGFydG1laWVyIDxkaGFydG1laUBmcmVlYnNkLm9yZz6JAJUDBRBA
 cX8u1D1xjGo6dAkBATkoA/9aDk7yNvh6urP9EWcPv5mjJt0yYIIjGpV7VH2P+mTa
 dK14ah24HSaTjh4psJg/uFw4egAs2XxDKXrf1SHCaaVajC3VQGvKq6V2Ytmgw6qe
 Rtt+NtrXVJn5EUnMY3+G8YCXugulym6bUWaC1x6PC0Y2IEzRkM3H5Et78gd2zujB
 o7QqRGFuaWVsIEhhcnRtZWllciA8ZGhhcnRtZWlAanVuaXNwaGVyZS5uZXQ+iQCV
 AgUTQGsk+NQ9cYxqOnQJAQEV6QP/ZFHefmwjiex7zEU9uhzjEdZhDlM0szKULUoo
 TB4x3yiXiYlzK2aqppXbV+vl+t2VLhd3McH+SKSiKwoBVWrdqsXguruIjUYGMAJI
 aE+Zh3OGUs8sZhtQqn3nE4+VngpyXwPwXPrDhQiwwJRxj+01lupNwS0Z6cAPmD4A
 W1L0aSc=
 =HsTV
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.90. John Hay <jhay@FreeBSD.org>

 pub  2048R/A9275B93 2000-05-10 John Hay <jhay@icomtek.csir.co.za>
      Key fingerprint = E7 95 F4 B9 D4 A7 49 6A  83 B9 77 49 28 9E 37 70
 uid                            John Hay <jhay@mikom.csir.co.za>
 uid                            Thawte Freemail Member <jhay@mikom.csir.co.za>
 uid                            John Hay <jhay@csir.co.za>
 uid                            John Hay <jhay@FreeBSD.ORG>

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 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
 =l5Xu
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.91. Sheldon Hearn <sheldonh@FreeBSD.org>

 pub  1024D/74A06ACD 2002-06-20 Sheldon Hearn <sheldonh@starjuice.net>
      Key fingerprint = 01A3 EF91 9C5A 3633 4E01  8085 A462 57F1 74A0 6ACD
 sub  1536g/C42F8AC8 2002-06-20

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 mQGiBD0R0hQRBACPEDZc2XKdvIq9F4ofeq/EUB8ISFQ6kaVPcb5ingy5ND+0MUbz
 K9U+q6Ik8d67KfHHvqGn7XTOXxGu2WS6rIa4ElFHtG/9lpgYtOFRZJxM8nv5+zCn
 elu18skUNup1y3uIwvhNUY3OPSzVkHC+tUPWfW/8DqdJzud/l8sDFDRtBwCgtixB
 FHJ2jRXInApVzwLcjpgVJq8D/ixzt0O/Zg2p62/qyAHac7M1sEc2QarCAGwRbuNw
 jHRtglxQw/GT2NACWqy7lVHKd37ciCrXg9QrTjotJtMcoJbCitYvbQo2RHfEeIyN
 yw7rffTQ4CpB51KxNhUWHcUfe6Jhx2hgHzehJg7hYnbtSv5hJcn2DXMSHHyHwBri
 hpldBACI7iJxl2MtFUHBo3XW27WYDzTNTh2LUaMcIaowMW/+vIDds6EI71dCAjuU
 Ai8DcNacMtE0xRdtNzDMS8vgYWBVLkHv2ENVdLfpxhM72iu4tmPKGF5AXK191dvJ
 qPge41Z2/57191Xt+keYtuSQDtXwZfSu1uLOHBa0BBvmppBOtrQmU2hlbGRvbiBI
 ZWFybiA8c2hlbGRvbmhAc3Rhcmp1aWNlLm5ldD6IVwQTEQIAFwUCPRHSFAULBwoD
 BAMVAwIDFgIBAheAAAoJEKRiV/F0oGrNMRsAnAlWdC5LkmEF3hZjNAIA8gMxkfnZ
 AJ4k6LXdmHMSSPbd48MbDYq67yzOG7kBjQQ9EdIrEAYAib54xuFqjHpvLxXmqFRl
 qAgAD5XpavuJisxGjfm7aTVWIpR/OOVFYkW59YInHM7dDHL0Y7tQETeEKf9pj6kF
 TMyWFoBjtdazqSmq2YXOvI00N27IKT9eqxJ/qR8QgIqBMNkraP9QKi60ASDIRUtl
 OZSfokSbAKkZMTyS086CgWw0bCPXRCvQLHDjga3KCbht0AjrZFkGmi6r4+rXFnT6
 D3JrNSQ0Hj2qFEixHtZvXTsqgsEkOEtoe5taMFSygM0jAAMFBf97Ip2a/kPkXNt0
 p+2xmWIFEDim7J9Cwl5viTb1t8fOKx69hFDQ2BwPNDZd1HvlrYTpuJ23uTrDOZsw
 IT/wVc/IQ9nn4+mkxOmq9iTHCBS99OXz4IsODT3W1sgzUfl+mdqJP8xfEnsyqy6G
 ivOoR3QdZg7rxvOU98HhDQ1iJX3rCtLNFGisrovDF33oHMEE4oHvSMXeg65JXWiU
 EpEpioINjrA3P+TL+fMv1tb4+wSUPqTWX34Gx4UfDKnMedxl6j2IRgQYEQIABgUC
 PRHSKwAKCRCkYlfxdKBqzVtaAJ42mqzwmJCpk8fdsfkHUt5uGTN8sgCfdmDni1OD
 NWQi1mhQOXZX9oGgyso=
 =PTeT
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.92. Mike Heffner <mikeh@FreeBSD.org>

 pub  1024D/CDECBF99 2001-02-02 Michael Heffner <mheffner@novacoxmail.com>
      Key fingerprint = AFAB CCEB 68C7 573F 5110  9285 1689 1942 CDEC BF99
 uid                            Michael Heffner <mheffner@vt.edu>
 uid                            Michael Heffner <mikeh@FreeBSD.org>
 uid                            Michael Heffner <spock@techfour.net>
 uid                            Michael Heffner (ACM sysadmin) <mheffner@acm.vt.edu>
 sub  1024g/3FE83FB5 2001-02-02

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 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
 2Q8=
 =/joR
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.93. Martin Heinen <mheinen@FreeBSD.org>

 pub  1024D/116C5C85 2002-06-17 Martin Heinen <mheinen@freebsd.org>
      Key fingerprint = C898 3FCD EEA0 17ED BEA9  564D E5A6 AFF2 116C 5C85
 uid                            Martin Heinen <martin@sumuk.de>
 sub  1024g/EA67506B 2002-06-17

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBD0NjbIRBACZTF4rK66+y43uXsV8CHSefx5lRHaLPFMNga+sUBRIFcwu9WbS
 KSP/r60Gf/mNK4EUX3/+3gVljrgpAbQL9X9MV/SO50aZM8JMrUkUwjuzzzFKplT7
 bdB2zWhexWemFsE0F1G5NpxkqMg/E0aiZb5P9MVJyGLlF1hCwhWsNG0OewCgzQ/b
 yAEMk03PPk3DOaM4d/Vdf38D/j4O+TJPSjMf58wRGkrT+BmLCvFvg1OsUOMgyQPC
 Y07yO6WmSiZV5ynqb4bS5m3jfQmG1I2wK+dIf8SHyaVgqZiUpfqrsFV2qwfZXcod
 C8a8b/kmEbdMk1j+jZ8qxSScrKCHKqdEs1UihCt/F1kVVd8gqYbWouICxF4GoU4Z
 ANmHA/4xVNIInKVghFk9lMaK9lDgQs02laaTWLWzcSfe28ADds3Jdur0Ox06tgeU
 zdktWQvRYpIjqiQCCFLN18l6Lc5qyTg6fnx2yWpWJMb/xumUz7A79X0TBN8WG71n
 zfJLHtn7fCjsi5009s7Ahu//Q7pGN8FvkrZHZ3xNw+3pAaoawrQfTWFydGluIEhl
 aW5lbiA8bWFydGluQHN1bXVrLmRlPohZBBMRAgAZBQI9DY2yBAsHAwIDFQIDAxYC
 AQIeAQIXgAAKCRDlpq/yEWxchZjRAJ4s0v1VXJmkm7kj3kMM0Z8xMNoJaACgkcMu
 T1ID/2v+A1X7+suOzrWMr5aIRgQTEQIABgUCPZGohAAKCRCteU9X9uLnUzW3AJ9T
 0Hzs6ZZq3HAYuSVkLReaZEhyGQCfb7goCt5RLbxx+3AMyyX5uh1boQmIRgQTEQIA
 BgUCPZGlrAAKCRD5Ay7lt7i0eYdWAKDEeKMbkRTSZKsKelQwiD+T3me3tQCfVMLi
 9mkjolOAXpAOVX3Igy5QHUS0I01hcnRpbiBIZWluZW4gPG1oZWluZW5AZnJlZWJz
 ZC5vcmc+iFwEExECABwFAj/Q6/UCGwMECwcDAgMVAgMDFgIBAh4BAheAAAoJEOWm
 r/IRbFyFjSMAniK+uu6ts+tLchT7+npgPJ0wmyCXAKCmCmXrSUTnPG5DwiVD66h6
 aL2GHbkBDQQ9DY20EAQAh4G77oKy6pQB1+dhbbLsfb3UeRWv7i/w21Y1tSriZ5gm
 HhofJRuczvrhI9V23wRVOKs417TGJzytDIfp/huycYMigAQXikmFBJSqIC2ktJEi
 0DGhhne4XBdJENiHV8rb3/mk+Ffes/88DmoU45fpAwY1YN1jH8WO5mEq2aKCjHcA
 AwUD/jBsaAoUeNO00hwuZuWYNM4nvX57nptObVzP54/TfKs4GmdWzcfI2JB+5eFp
 rjtNCK+tosTQd73VzMWKk0fwiIew+GsB+g/ibK/WJW0lS6fktW2nPG2mGRblLtf4
 8W4ZmtZUqFTBSbmZOcsxQ/LahRosX82NbQyFPwuFMEBqYho5iEYEGBECAAYFAj0N
 jbQACgkQ5aav8hFsXIU0ogCeLnzxBftyPv5iS52Ear+q/mPZL7oAniB0B6mFArQV
 gtLJNL6KejWqSh3V
 =Z84i
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.94. Niels Heinen <niels@FreeBSD.org>

 pub  1024D/5FE39B80 2004-12-06 Niels Heinen <niels.heinen@ubizen.com>
      Key fingerprint = 75D8 4100 CF5B 3280 543F  930C 613E 71AA 5FE3 9B80
 uid                            Niels Heinen <niels@defaced.be>
 uid                            Niels Heinen <niels@heinen.ws>
 uid                            Niels Heinen <niels@FreeBSD.org>
 sub  2048g/057F4DA7 2004-12-06

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 9RkYrA9581ilMd2RCkU=
 =x4MH
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.95. Guy Helmer <ghelmer@FreeBSD.org>

 pub  1024R/35F4ED2D 1997-01-26 Guy G. Helmer <ghelmer@freebsd.org>
      Key fingerprint = A2 59 4B 92 02 5B 9E B1  B9 4E 2E 03 29 D5 DC 3A
 uid                            Guy G. Helmer <ghelmer@cs.iastate.edu>
 uid                            Guy G. Helmer <ghelmer@palisadesys.com>

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 mQCNAzLrzf0AAAEEALuGJUgTVleE9HeqPAi+AqBDMMfa76kC63xx98Hqv1N9TlT3
 jlWVShX7Da/9h9WgK98wkb7613Ur7dPl2qVcSns5w7MCustbtt4YEaQwXZ2jOEZf
 snKt82+DYxZRyfUlY4h/8WA79R8BwTGd/l6g3kDoQuD/446BT8c0Yd819O0tAAUR
 tCZHdXkgRy4gSGVsbWVyIDxnaGVsbWVyQGNzLmlhc3RhdGUuZWR1PokAlQMFEDLr
 znbHNGHfNfTtLQEBxIUD/2Lk7Ds8Rt5ZPVNB2Xv2kzEByndv+r1FUDSDcWUn7MaG
 HdgIqfkNespNzv8K7ORW+qrgIAtCRGXhc0Z1q1/Mb3kzC0g4UW5BuleZEur8Ys7t
 lc13ZV94Wb/rVEnY5wh2s3mCmMeXVA9CAiNBzzI9O1RKVZrLLYJk62ysSoq1os+A
 tCdHdXkgRy4gSGVsbWVyIDxnaGVsbWVyQHBhbGlzYWRlc3lzLmNvbT6JAJUDBRA7
 8tH9xzRh3zX07S0BAdUDA/4poipXJFYG6r7+Hk32P5unYZt6dJZ4qSwsnc4+DVuk
 krv5L1jC8Wg/Ojerk2hYTyArM7xQkw0tELOADL2KBUlHp+Ipz7UuO55n/9aOHnWr
 YJLjT3+9eliYkPqJ4t7sHqlCeuyKc7HkoaaN1ErJTmLLy/Jfcx8BsyVsgihI9V1s
 VLQjR3V5IEcuIEhlbG1lciA8Z2hlbG1lckBmcmVlYnNkLm9yZz6JAJUDBRA78tIj
 xzRh3zX07S0BAXQ6A/4zKB/ROfSAUmVQGm0tH1IC4lZX1qV/PZ4z2KUWQPmXP3jr
 jzYFdlAPaUNIwVqW8Mwj+p9njnL/Ltd3NzAjTP2I7bSzBtg4NcEBRNclOOnbCamX
 B4mSGt07WgfT1QGCY8HyKXNhUBbqvPShfeH1OM7iyooLWU79V/1v8utB/mHxYw==
 =nrvZ
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.96. Maxime Henrion <mux@FreeBSD.org>

 pub  1024D/881D4806 2003-01-09 Maxime Henrion <mux@FreeBSD.org>
      Key fingerprint = 81F1 BE2D 12F1 184A 77E4  ACD0 5563 7614 881D 4806
 sub  2048g/D0B510C0 2003-01-09

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.2.1 (FreeBSD)

 mQGiBD4dlrYRBADhXves+DDbhv8dD1LyC7e+RIASp8rEN0mJDVarhEy45KxRZcD2
 hE9dLXZU/5hcdK7yfatneg5xGFiedFJ+u/HcsMkxeb60+RUcF6Ec5L8PJmCwIQl3
 3xP7UmC203YufvyidQSayOk4LDyg5WVGEXiN5KuShJC+feAwvtAao5eHnwCg5CmE
 y6rO8Bh/K2MQxP8CXCoLG80EAINd8twMsRIIqAxtVWeG0yudtgYdvhpbGrNKoq2b
 cxmfunLAQmHim1jL5run1St3ZACyuP4brckPiBAOxVoRcIMOGPk04Lw3blKQ7u02
 6aOKKlGvW2pF5/Wh6v/q7gzAucn1HJYcGK7Xc8IvfdIZJl/tTeCo0/smxND4EWhU
 C94zA/0bvNhgntEwLF8x6UJnZXfQ8/LGl/NkSTyTMA1QqRrrik1oN4mYOAHE05Y4
 Oija6MSgD8YDRcrxxr8Dwh4pqS/+FlEsV5y4A4OoYbPW5L6FAbEpKO86jbE3FK20
 lX9Li5+woBWaTuLRcU2Tk69WLeOTdOrs+f50S1xWB4DJKBjmu7QgTWF4aW1lIEhl
 bnJpb24gPG11eEBGcmVlQlNELm9yZz6IWQQTEQIAGQUCPh2WtgQLBwMCAxUCAwMW
 AgECHgECF4AACgkQVWN2FIgdSAaZtQCcDxSj1KNFQXWXPl+U27Sl2/IbKEgAoNDq
 Yn86zUh4NPJZJb3P174CFRK0uQINBD4dlxYQCADaMWMhYNWemjrdioJoZU3vYkup
 IcQg422OZoxWYcUz6zKVHZuPdXSAFO+Edrt8QwvYrjhSiOSF9NNnFgNGMBGmqOg9
 Kfk5rIKnENNQP8H8CZtzlDjJXVoMAeTfaeV9+ztHwWKk6XagjLApl9Fx42Quu4Po
 JdvJNHhq5Bf299jecRsWmSo7DtpNnzGC2HFWRkGdkkNmpK7hFe9m3YsFuP3nCFps
 RXCFMx9t2Bneh1eM+NqogjON+vyZzOUB32WY+x9Kz6Xf29auU1PSNYz+1LC7JAYk
 f4CrFA6wexQHKe/nXwlik3/JeFSPAsp/VsmvaHOenZTOfmtBT4ruOwqn8DGzAAMF
 B/4tHAo7/sAMgvkz0qHAxV1DjOjB5AQSs4phksYWYN1uaJq2//oD/jjifmmkhAq0
 JLEeKDquvuNot9dtJ/75DF/XNa0Upt4Hq509Wm4o5NBN/CxRzMn6oU+K86S6RF1x
 JidNNI+CsTfdkNnCn0x6OjRsG0j+CUbwRrs4CJ/7ZWkuMCclLBKoI+rAwd5YM4eI
 noSrSZ4/2Uct7CyVm2aGIh5ofR75L7k92qZ/D5hN0wwKrL42bO8gJqPGPgsCtr9m
 OcT2DtOxkS9ir2QRyD7SelKM4pmSbxvk8S/IzrNS7dvKiO0xQXsvf+sG9rZOJ2vF
 i3in0uB9SeXAzsqNCqtEkSbeiEYEGBECAAYFAj4dlxYACgkQVWN2FIgdSAadQACg
 z3dGbsy32PBhRn/t1lXp1120VrAAn04hxsFX0HEKt6sqAcpIuzdTVrEM
 =8gWX
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.97. Peter Holm <pho@FreeBSD.org>

 pub   1024D/CF244E81 2008-11-17
       Key fingerprint = BE9B 32D8 89F1 F285 00E4  E4C5 EF3F B4B5 CF24 4E81
 uid                  Peter Holm <pho@FreeBSD.org>
 sub   2048g/E20A409F 2008-11-17

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEkh8ugRBAC6djNybj/k+sW8z4TZeC9M1PuSSuJlmCxF/h35rN1bJMHiaVaz
 umG5AjNwYtKilXO+bpj3OUQDz86j/vMpETy44lOaxr5f65lkP/tXATjVpSkxuimp
 vUHi6wRaCHLbyMGHRfuOX1E1yrYm6E3UvjrNnl8bhOJ9paUkk3El+gKm/wCgtIS4
 07Fb+Mft+7a9Ti8cUKP4rSEEALh/nGAsKInUmw3ybZ4c68yVjOUOhbDgAjU8zwb7
 vVzVpCythAEailx0l5UDzVSD8oszLiSDFLf93rfS7AyWx2/C/6kayLH7nYnmHmI6
 Evv/uZ/o4Tw8l2BmqEMwMIBRi37et9tTJNEKMAAUaah81KRcE9CPp91f3oKutOAq
 BkG6A/9e2II1FvJRLzeGRB4FuNm4yqnRvA+LCPE24qEWGoVu55KvSsrb/kQEUxHh
 46K6d1UCWYIlAPhV/CGstv2CfW4zDXOBlDg8kdQz9VFlzyz8sSs6ZP6b7kUzrSRp
 tq6mgiLKaTFYtm/BaUgYXpSI2uTlgujhC2v40pzeKN65Ph2H8bQcUGV0ZXIgSG9s
 bSA8cGhvQEZyZWVCU0Qub3JnPohgBBMRAgAgBQJJIfLoAhsDBgsJCAcDAgQVAggD
 BBYCAwECHgECF4AACgkQ7z+0tc8kToFTVgCfU8q5hy5tJ9ZEs9ScXPuIZ/vA4XkA
 njuLqq+giT5SvrrckuA8I1iFgsezuQINBEkh8ugQCADzK4XaJN07zeKtivb4sass
 fejhXyMJ5kwNqK+DRqMcHkbh6PCKpoOo7xjnk7e1MdTp2UeGifzTUEXz9iPdLFoW
 0O2iCppIgUEVfeShzOqEtiP0qpdDmc9RHbA17R8V8jaNWxmJtbI3Oid/7ubVPBfv
 KkPlsyut4A0yXBSxhqpLnaDpDVfMuUFbdMK+aYLABZMQaj6SJOf8bsHrBL6/j05T
 A0ZJkwPrV+ATbCXLUCAQ8q9rza292OFdLq5/iOQQa8mXhR+egd+NP1GLDEze/kx7
 5gNQJLnfS5GUBJMSIzLIC5Nn+WPzdmK5tMT/NLhzRbtqmWoAfQcW/kcEAUlNbGJP
 AAMFCADe1t3CP+Utgy0QAmqkipgKwvs32CsRgye2ocxtrN8GRaunFSutyESBNCHP
 VH/jh2rTZ6KjVvgBcruaT8B83YtYgOnFpe+4FZr7iwlSVL1CcEwWRDD+oujebAUL
 MaLTcToWbggvbUbOtu+VNKooDYFbFoZvUs9I/49RRdcLfC7dxOfl0+51WTUTB4g+
 d/rxtExYkvh19QEWsj6lyR6icwRhtrn2S+0oZ0JQ/mjCoqdrGNiiGPXzKrUnpSK1
 b1hrtZ3E5BoWJuXu4Y4hHHzoxGW3ggVeTp/+X2K0DfKu0itGJML98oe1hXbbDaht
 O+s3+Nrro2j0Hx3JiQB1wB9merWsiEkEGBECAAkFAkkh8ugCGwwACgkQ7z+0tc8k
 ToElPACgjLamE6WKd9zLyyoyZcV2H55qlZAAnitC7OHmghbHiw+LuQZ5Je7M6sik
 =KODn
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.98. Michael L. Hostbaek <mich@FreeBSD.org>

 pub  1024D/0F55F6BE 2001-08-07 Michael L. Hostbaek <mich@freebsdcluster.org>
      Key fingerprint = 4D62 9396 B19F 38D3 5C99  1663 7B0A 5212 0F55 F6BE
 uid                            Michael L. Hostbaek <mich@freebsdcluster.dk>
 uid                            Michael L. Hostbaek <mich@icommerce-france.com>
 uid                            Micahel L. Hostbaek <mich@freebsd.dk>
 uid                            Michael L. Hostbaek <mich@the-lab.org>
 uid                            Michael L. Hostbaek <mich@freebsd.org>
 sub  1024g/8BE4E30F 2001-08-07

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 nQO5zgCfXsb8wtA8I0ngWwOQxrnRRE7+Smw=
 =j3Mm
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.99. Li-Wen Hsu <lwhsu@FreeBSD.org>

 pub   1024D/2897B228 2005-01-16
       Key fingerprint = B6F7 170A 6DC6 5D1A BD4B  D86A 416B 0E39 2897 B228
 uid                  Li-wen Hsu <lwhsu@lwhsu.org>
 uid                  Li-wen Hsu <lwhsu@lwhsu.ckefgisc.org>
 uid                  Li-wen Hsu <lwhsu@lwhsu.csie.net>
 uid                  Li-wen Hsu <lwhsu@ckefgisc.org>
 uid                  Li-wen Hsu <lwhsu@csie.nctu.edu.tw>
 uid                  Li-wen Hsu <lwhsu@ccca.nctu.edu.tw>
 uid                  Li-wen Hsu <lwhsu@iis.sinica.edu.tw>
 uid                  Li-wen Hsu <lwhsu@cs.nctu.edu.tw>
 uid                  Li-Wen Hsu <lwhsu@FreeBSD.org>
 sub   2048g/16F82238 2005-01-16

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 MTZHdxZQQYQ=
 =uV7d
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.100. Howard F. Hu <foxfair@FreeBSD.org>

 pub  1024D/4E9BCA59 2003-09-01 Foxfair Hu <foxfair@FreeBSD.org>
      Key fingerprint = 280C A846 CA1B CAC9 DDCF  F4CB D553 4BD5 4E9B CA59
 uid                            Foxfair Hu <foxfair@drago.fomokka.net>
 uid                            Howard Hu <howardhu@yahoo-inc.com>
 sub  1024g/3356D8C1 2003-09-01

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBD9TDBwRBACs0PcLGuginQVidy1QScHuKS9G7gd8smYI2FcSsk/AkBhqIkWv
 hieu+iXlpxyZYCDDPKPhieDLkTHc9hYOGG7oTJhBMXUrUqBIk+sqeeUAl/eh0grX
 wUU2khj8EkYC1f6p9AKu25zoyXHxjnKulMhrZRIItg7jVJLaFQn2A9KCkwCgyVeF
 jCegTvZWikBuoXmDI/K3OuUD/19Za3DHV+H0dmfAG7JdVwTW7mJ3nCWJFvlpTSSU
 9Di4VCVj8kUGmo/kRgpZ6gwlCaPmwh/wWiT/vHVQqdd+EH/k/ITs+zWrPOnWCxLY
 zV0BEKtW4kdaP5H9ttNh3Wj1GRpyxh/FrMP7zJfdgze2WoRY57j+H9Kuw2s/42RU
 zYDAA/9wIriNXAj6pFB+J2sCqYXIMNDNDQh6lYFNFgTS/WPYJoA8PWY62oFc0V6n
 ES8GOXjyEya428vedVy/G9kj7cB/IiTTy8Hj7JjhUk/rSIPXMMtNyvM6vQ++f1IV
 1qSzR9sijpmpk/M2RusUQwBP131PnCzSCmAZB8gvcNSlbA9gnrQmRm94ZmFpciBI
 dSA8Zm94ZmFpckBkcmFnby5mb21va2thLm5ldD6IXgQTEQIAHgIbAwYLCQgHAwID
 FQIDAxYCAQIeAQIXgAUCQh1SIQAKCRDVU0vVTpvKWcmhAJ996hkp7RKzCsO1R4wh
 81QBqxZ87QCdH2JXwcclPFAF/XKpS5kbQbKdW8a0IEZveGZhaXIgSHUgPGZveGZh
 aXJARnJlZUJTRC5vcmc+iGEEExECACECGwMGCwkIBwMCAxUCAwMWAgECHgECF4AF
 AkIdUuwCGQEACgkQ1VNL1U6bylmL+gCgle9BEVLP/FKDTEsz6pYH/hdVMzgAn2kg
 KyplWAdJKjQ4AHlKOzi1DKj0tCJIb3dhcmQgSHUgPGhvd2FyZGh1QHlhaG9vLWlu
 Yy5jb20+iF4EExECAB4CGwMGCwkIBwMCAxUCAwMWAgECHgECF4AFAkIdUiUACgkQ
 1VNL1U6bylmacACglEvdvs5wMSB3EEP4qp46uKdXlt8Anivwqzf9dhjw07omH35k
 Ll7D5wGouQENBD9TDB8QBAD+sEewy1REDPQWycqdZVWzxmiS1X+TzSAgfcc7/QKv
 AZEsGADvhHcvaACTBuYRVr8DyzUxFUxeNByWSkLe7N5Hmaqauw681zsI+2osfXbW
 Jkp3JUybeFSIN5pacLNP5+DEAOzzphCF8ALv9H/MB8J9dRhZwDkY7SKt/cSNh4Cz
 xwADBQP/aD4exhzoF1iXR4879xEAAsRy3CCaoiPNeE4Aj9mWmjqEMzWYOjDeZ2zF
 W8Jrn2i+tOVGFpg2FKwtuqU8JRs/lqbedYUlM3UQl2pqGSV2tAziuLKKkzPnKWo6
 79hIhrjQCEPk1MqipoL6l8qZb8vbBpoCee5NF772jR85ai0ZdGmISQQYEQIACQIb
 DAUCP3rhagAKCRDVU0vVTpvKWU/OAKCE4tEk79yRFtmSNNa+ddafxcuyagCeI9MA
 byQOCAi708pPSIquH3oiM8o=
 =P50z
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.101. Chin-San Huang <chinsan@FreeBSD.org>

 pub   1024D/350EECFA 2006-10-04
       Key fingerprint = 1C4D 0C9E 0E68 DB74 0688  CE43 D2A5 3F82 350E ECFA
 uid                  Chin-San Huang (lab) <chinsan@chinsan2.twbbs.org>
 uid                  Chin-San Huang (FreeBSD committer) <chinsan@FreeBSD.org>
 uid                  Chin-San Huang (Gmail) <chinsan.tw@gmail.com>
 sub   2048g/35F75A30 2006-10-04

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEUjcNoRBACNcrOsDaRrFQMnMjnNViPfgBakMnwy28P/tfZvg+vx/5iRt73p
 5RrBE3dJZyAIOg+3st7sgtVuqeymh8JmoRlVFqLKEpCM1NNqq6TNHhlLBAuIYtTL
 hqN2knPM1m/IZp1Y4a5Z1OVnM6/fqItkxql4SX+GJ5815Lvh+1lokr8eMwCg9w2Q
 HgsgytJkYiFGJpkw1YOfwFUD/2oALyshDDCQIshX2xHPk+zLTMQva7uqDy8AUJLO
 o0DfaofDhkGjZnLpuFrc16eyfaYZw+mO149WTMpWrzCi+SmCXje6MSywINHneql+
 X6OzJCazYCGUfkSbwtAH89gIRKJiQKQfi4xhDrn8Iu+x3YtOKKxnrEVGX2S8fKka
 6YJ9A/99q0NX+543o6/kjfOz6Q44xzoyalBXT36THsFm239AaOejufu+HeyTZs02
 rvrF7IGgga1eUeQwx9gvRNFX65CkUc3AOTVfK2Tn36QJcGfm6r3ZYFWKjAMJ3haf
 aElE7Bs2zGergI0KNOid8rjC6osA3NVYSGI4mKIuQcBoxUNf6bQ4Q2hpbi1TYW4g
 SHVhbmcgKEZyZWVCU0QgY29tbWl0dGVyKSA8Y2hpbnNhbkBGcmVlQlNELm9yZz6I
 YAQTEQIAIAUCRSNw2gIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJENKlP4I1
 Duz6zsMAn1oP0sY1yRMo8jr7iCCdGtw2FuISAJ9crrnri2tcPS3281HX/4xk66dq
 c7QtQ2hpbi1TYW4gSHVhbmcgKEdtYWlsKSA8Y2hpbnNhbi50d0BnbWFpbC5jb20+
 iGAEExECACAFAkUjdFgCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRDSpT+C
 NQ7s+pzxAJ98bMcpWM9Vd/YvB2tx2tK3zH89GQCgqOGeoJQvB+MWFM1oVbP5jmJS
 wDu0MUNoaW4tU2FuIEh1YW5nIChsYWIpIDxjaGluc2FuQGNoaW5zYW4yLnR3YmJz
 Lm9yZz6IYAQTEQIAIAUCRSN1FwIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJ
 ENKlP4I1Duz6QX0AnRiAfY8Ngh14cBzYH193/LSIuebEAJ9wY9Gz9WQbwb7QlJEX
 cOmrejGiTbkCDQRFI3FNEAgAsPAXITBR7gx+9AyYwzvtIUjzo+viSfVHusyZccu8
 82qzPKYF3J1QewFczrL6GbPCNqw2c/IZ0Sn8leGgVw5cwP+eUNtcbuQIa8Hpgl0Y
 Ns5WZlr94NXTdU8+mO8WXugzsumUnScnKFhrzEQQKYbbAIavBAzVAoj8Bu2UDaCB
 fCc4S6OwHgUTuLHDRA0b8YXe4Zc/VbblSIZFosga3vishPOCuj0YWjLjdkXHFZ+Y
 We4oDxnMT/yPBcp1/7wqEhTid1dgJvu9R2N9IFSxHTxoHiEsEFa9z619/imVPXGF
 rmcoJb5vG/NSH6cMHr5KP60H4ze0pwMKJ3had+YJSIJGBwADBQgAm9eGbCZ3RUin
 Kh/AJSsVfzW0snA4V1sv3ovSOekROs9YoUkalx8Ywt4fZkGHFWvYXLVb1KnmW3+O
 juhfrjsgmaizQhSMHT47C21XJSvAWuXXZrF6PaIiPAo6q56wjfSS62ycj7z1UlSS
 SDEusPgFG3LfYBuM2wjRYYXZ2plAcxhGt2oM5Mf4Tjom1Y1GHp4m9VOIa+0D0HZI
 +oNYlOteR6I2tWg90bXJcAd6VlSwYi25b/KRkzYyHlU84o11UJnBnG8HgaN6E92w
 QAQTtIUd6PxLWYBG0ni4vtD2ZwyGKAH26QJIUC4bLYdfoZ7V7/MbwI4JEliGjZCl
 INqt4mrYsohJBBgRAgAJBQJFI3FNAhsMAAoJENKlP4I1Duz6TJkAoNRkeWHFV+q1
 WHzk4XJLFtL8cNyBAJ4u3Mfd7xo3Bx8pAs1vSTWooWb7Pg==
 =IROz
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.102. Jordan K. Hubbard <jkh@FreeBSD.org>

 pub  1024R/8E542D5D 1996-04-04 Jordan K. Hubbard <jkh@FreeBSD.org>
      Key fingerprint = 3C F2 27 7E 4A 6C 09 0A  4B C9 47 CD 4F 4D 0B 20

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 mQCNAzFjX0IAAAEEAML+nm9/kDNPp43ZUZGjYkm2QLtoC1Wxr8JulZXqk7qmhYcQ
 jvX+fyoriJ6/7ZlnLe2oG5j9tZOnRLPvMaz0g9CpW6Dz3nkXrNPkmOFV9B8D94Mk
 tyFeRJFqnkCuqBj6D+H8FtBwEeeTecSh2tJ0bZZTXnAMhxeOdvUVW/uOVC1dAAUR
 tCNKb3JkYW4gSy4gSHViYmFyZCA8amtoQEZyZWVCU0Qub3JnPog/AwUQND7kZgis
 sbaj1yqUEQIhvACeJ58983s/0jjThuj6WeTP6hLZNHgAn0o2KINvhw+Oc8uQk5m2
 aTiVgVQxiQEVAwUQNcJNdAyPjrKngh89AQHA7wgAg3QnT0BcF/zp0VRMUZwAysRC
 o4Xkgv4oaisCPO5jERGEp8NlXuMD6wJCrGRZ9xVwTbSRXJVirNkiSKj1rnNc/pPA
 DbjsmQ+3nhLU+YwNgc2VEhiVpeU2iOL7ircc/YN8epdFPbzn2timb98b+/qlaSiz
 m+g8pxnY4USn1b4CnzyirD7mvHhV61k0mrUSmaKzgg2Ppeo2qPzn4w44hgT5/jjm
 iEMzoH8zFrN3pwcUYYhH5rNWNnqUIMwuPOEHn4Wp+sMti4yOqQxNHnP0Mv6mxS8+
 UKRhtDXU0Ra0SaIhaNRw0k0YLEbO/lteTRc+7cAPBs+QUTa6xbVxIzsBAWLC7IkA
 lQMFEDF8ldoff6kIA1j8vQEBDH4D/0Zm0oNlpXrAE1EOFrmp43HURHbij8n0Gra1
 w9sbfo4PV+/HU8ojTdWLy6r0+prH7NODCkgtIQNpqLuqM8PF2pPtUJj9HwTmSqfa
 T/LMztfPA6PQcsyT7xxdXl0+4xTDl1avGSJfYsI8XCAy85cTs+PQwuyzugE/iykJ
 O1Bnj/paiD8DBRA0FhC0XatM0mFMec0RAgaSAJ4kHkYXQO/74W5m/7ZvQa3CPR8E
 /QCgpHafK/S6PWQsSOChmVjwrZDVP8qJAJUDBRAxe+Q9a1pnjYGyp3kBAV7XA/oC
 SL/Cc2USpQ2ckwkGpyvIkYBPszIcabSNJAzm2hsU9Qa6WOPxD8olDddBuJNiW/gz
 nPC4NsQ0N8Zr4IqRX/TTDVf04WhLmd8AN9SOrVv2q0BKgU6fLuk979tJutrewH6P
 R2qBOjAaR0FJNk4pcYAHeT+e7KaKy96YFvWKIyDvc4hGBBARAgAGBQI1f/BdAAoJ
 ELwCvAMsr1lwqUEAnjOz1VWwJeI2QZMNEHO8RLURWHSYAKDqG+S3NzCeiKM3RRzc
 FubwdsfYLIhGBBARAgAGBQI5ZAxAAAoJEMN1Z4b84RmYUt4AoOtidEj2yIZubvvT
 kB+moQ1+ZscyAJ9dhz4GLNev7zNNfdAKi8JqoqfMlokAlQMFEDF75Qb1FVv7jlQt
 XQEBdn0D/0X2Auka6RU2R46NqrFB0kZNL5rGH8BuTRz+cqEATLGkCXknJDeJ9iTo
 EeE++VOL0utmhcYDyyT95Th5FNlXO8YQLgb7Gxq+UT/HOS7zznlBMs+mQK6dSlB6
 7XDNoitRQTpmOHTmKYVsljJA4GBMWm6pawKuxSmX7aavwgYjEbmsiEYEEBECAAYF
 AjmtSQAACgkQLKRaTx+AVKjiTQCg9FfHlNeMts2GcXWplPQya7GEQtMAn0nrzupn
 fRNx6+Gi0Km+WSlUQkMF
 =ZyVN
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.103. Konrad Jankowski <versus@FreeBSD.org>

 pub   1024D/A01C218A 2008-10-28
       Key fingerprint = A805 21DC 859F E941 D2EA  9986 2264 8E5D A01C 218A
 uid                  Konrad Jankowski <versus@freebsd.org>
 sub   2048g/56AE1959 2008-10-28

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEkHYgARBACdbmFESh/3csPP37dJBDTkAfWcUck6myVTVYu3dFgwDPA0iCs9
 HolmEV9qZA6m/ljZYG6b9ycHe2M7Xq3Mopdvw7Sa3ab7b2PRLu1WbKUIS/HlOXNH
 p3Dg3/Zhf1raBKMg4F0x0pbQm9+friN44SlnLlQK5M2224X786/VTlVv/wCg3YFE
 CufrZUsIPZndUVGh+/seBbMD/2fhNQhreWxF9QFCMohC/pGSfg1sddpWMqh6R0bF
 aSXfJwYivDLcTp4JYPpZilScBFgSxsfLKboRBElj+k7cj2e8nK4xzfoX+xsGrRDm
 t8uPqISnw8bvRGS3bZNuTt3NqHpXeiL1aEEEEMk7tKuGwlwf/KmA4BYq+eWDM7Hz
 EWPLA/kBJn5jAO99l/h1yGzYiWwy4a5iQd2sZg+M60bC3s9xP8ZvCPhm4qGuis9/
 dxzKxz7hPQ2CamU9DlpnoCeZQ8mttyqnipsnMVniI3A79xSjCP2dNkVWvimc5uWw
 e9ME6DAa2ldmN7fkj/b6ahvCiBZLVc2jv/fcmHcP8IzvhHLhT7QlS29ucmFkIEph
 bmtvd3NraSA8dmVyc3VzQGZyZWVic2Qub3JnPohgBBMRAgAgBQJJB2IAAhsDBgsJ
 CAcDAgQVAggDBBYCAwECHgECF4AACgkQImSOXaAcIYr8cwCgzjJgksYSmXwES8lI
 vri3HicZZUIAoKfdyp1VxyUvbm39iwIMsUBpMCTduQINBEkHYgAQCACT3lbgvRwF
 lzEkL7JnyMaHkw5Lh77Sl2cRu1+fouQeGxRw5CZFwcIUkZWJDgBLxFHJiAtjw5xz
 UnVDm1RWBLXdNn4/KvWOUx2ElPweL58q+j/45qfwISg7JyJckRAvACQ2bLT+2jlc
 iDInZiV9OAnwT3OhBb0a6dvMsbDcIk25QlcS/axVdCYp/ELN4jlgL3Vk0NoQfalo
 rtj/vALu5soRJgq5keyroDlCc2fDp3iISCBngx1xoFBaYaJHo7XSbXnCes3NhAEd
 DkY0QCBWQGyqW/ULGrIdgyGtszpxSlecPmaRlxpmTjAQT0mX+rGE8vBkgH/pDgqt
 icql1p3f9ofnAAMFB/9NCp6oARpDfPTG6upM+oUPwginu23w2ux7uecZuouL640w
 Yj4vssTGDhuP3QRQsDrlhXdHdkUvSuguXpG8EGf4GjflV/AvvXJDmOO3LB4TCQmw
 I+Umsc/4BCP6r/YowSyYmQENJ8VIf+Ps+WfoeGS6UzbEpZbAFfBMpNSQbzwDSa+6
 kh+eAHOZiPUjtoao+eyrvqEK+rpydN3G2D3UOJVsbYbG/3R0zD1sBnNBaqAub4zr
 vMBB0Fuml/pBzhFl+2VrS420Bfy6d83uPriNmlXlTyrX/kSxYVMkVm+lfqrjhSO9
 dj2t5lqpUSCRLO3Wbs/97zIi6Vn2fphH5iA1qI/fiEkEGBECAAkFAkkHYgACGwwA
 CgkQImSOXaAcIYoobwCeK8Jy/4hOkaFBHbi/WJ/SHaJGyNkAn35fpqrdHuOO2L6C
 Tuizqar0AwZZ
 =xCbj
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.104. Weongyo Jeong <weongyo@FreeBSD.org>

 pub   1024D/22354D7A 2007-12-28
       Key fingerprint = 138E 7115 A86F AA40 B509  5883 B387 DCE9 2235 4D7A
 uid                  Weongyo Jeong <weongyo.jeong@gmail.com>
 uid                  Weongyo Jeong <weongyo@freebsd.org>
 sub   2048g/9AE6DAEE 2007-12-28

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEd0e+0RBACwYdXNeIplh+WEQ9ywP1wJyTpGe2rVvkOLlJNpTJpVX7JT508G
 KuYI2B+Rn/V+1+AicL9tsUAnWX/tDma3bYw0Ls68LvD/571k2GYG3CMTy5FSrrtp
 3v3N75jHDsfulUzHL3LHsa/CA5qzuL819KIaUfTKY0A107vcI3m0v4emEwCg2BaW
 OyiO9pic/WnPi4tuFjLpeEcEAIzLSKzAiZZ7U8ESKAtonwYqdu0BIRFpp0kedXqD
 M9cTts8VjqjdMOm55xvI7h9EGjH+crFZBlZD0NWXD00NrrQdHifulSrv5l3Wtgn8
 xilqUhiYUcPQu2DHSuVlShvNZO6/rYA8R45axAfQv8rFo8NV0oElH+bvGq1mwRKY
 ciJ0A/9lN68t6G3LKmaSfWz13IUJT0E2qy27NnSb4RuKE2TuqyIMFzXh5+jjnp3U
 zRDX6KrYLju5Ire9GGJEMsGs28B5r3HXUPADqVIS8i6dW/npZlyizU7MfoRDFiRe
 btMpnYx7d4qnpKMpEm1J15JF84YrNGvkE55z7+g5zG0ua9KZgLQjV2Vvbmd5byBK
 ZW9uZyA8d2Vvbmd5b0BmcmVlYnNkLm9yZz6IYAQTEQIAIAUCR3R77QIbAwYLCQgH
 AwIEFQIIAwQWAgMBAh4BAheAAAoJELOH3OkiNU16VAEAoKnaR60kp0PF+O70GH7y
 v4k26FJqAKCycX2eM5PzjVzbAKHq0yMRj7tkbbQnV2Vvbmd5byBKZW9uZyA8d2Vv
 bmd5by5qZW9uZ0BnbWFpbC5jb20+iGAEExECACAFAkd0fKQCGwMGCwkIBwMCBBUC
 CAMEFgIDAQIeAQIXgAAKCRCzh9zpIjVNenkDAKCGZSCJTG2dSCbEH3kLTpYdAnfM
 gwCfay7fmNNMrN31IhC2jddWylvSDlW5Ag0ER3R8ARAIALZoci+sXDkhF0ahtePy
 ZszOeKUg8MHIac5RID5CfjGsTsbfAv7eM7TBocAJOKBxhD/suqsdomMBMwoMKYdv
 R4tKCosDopYGwNFNtryXrOQctNKxIf31kc8UnqGfgRAwjABorBRJCQdBZEBm+93k
 lDl0azEWPFuwzZ+dA12dw0jF1/n7TAIkvaA7joFfNvZ8a2WAfJvoal0/nUqmJCmB
 ntaWEdZP5rOEUvVBn117W8D5B8YHp//TM7T3eT4M4Lp7wUQIiwT7fGgRWCIfIrGd
 GZSEykjB/keyIip2Hh//0Ft0Ot8D+4wYz9YhH/RRmfBDMBhW898B1rEewhc0wmjH
 txMAAwUH/iB1/HLYV9ckHT6i/UDl8lEsw5CMxftnEI6wY2i9MWqTSTiuoNE+PQAA
 kicGwxrxxtvLccdFE4WOOQsh9oyzbOeWWBrtxzloRBzaxC9dx+tQaOzzJAUjaEaV
 wneSg2x62naLiztaQ9U66g81BwSyT8NF7uYjsCyvPsrHwDELNcPdDXQ2q0GKj0I5
 tSgqMOPwohYRRS3hYfoPnYZOshdwYErtMCola0hZn7LXJopRByQyT/x2N6WW0zGY
 YxJemF80JqLrf9RtZVSsTeqT7Sd0+kcgPq3wcoqDXKTEQ+K4yjcE7c3hqhowQU72
 2S6S4JjYQhKvdJykZRuvynQGeuT8H8KISQQYEQIACQUCR3R8AQIbDAAKCRCzh9zp
 IjVNepJjAKCIgdGxVdwuToMZ7z1n2mJEulHr8wCfdimx3iKjNLlAE154wBx3v9Rr
 trI=
 =5yOU
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.105. Michael Johnson <ahze@FreeBSD.org>

 pub  1024D/3C046FD6 2004-10-29 Michael Johnson (FreeBSD key) <ahze@FreeBSD.org>
      Key fingerprint = 363C 6ABA ED24 C23B 5F0C  3AB4 9F8B AA7D 3C04 6FD6
 uid                            Michael Johnson (pgp key) <ahze@ahze.net>
 sub  2048g/FA334AE3 2004-10-29

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEGCy1ARBAD/K2SbL6XiTJ3Rn/weuN/L78ROUltIoRGOkZE4971fLcAbtIsf
 nANWDrpDqbhLgEbZLeCn/EIWOPqrYyKpCGu/IoZ6kx7UPtUH4eooJBarrrQPJVV1
 mfW5ktDry3AoiaUH+jL47AxFCb/bh7Rc11vrhLKdnc74wI+nu2cyk2llkwCgwX78
 nlN2qTrbXxOEAPpJjMontfsEAL+4sS9DOay7NkZq2B2p9AZnSsXQg6/r8Epqznqj
 yPQBm489UcIZy2FiBwaUR7w0fMh5xNX0FE3xFiTd4VUTgUJUSqpYtdfI7IHvJXml
 P/VK14CtgRY2B24wpDPMae32hGBFUwSE9Frb5NiKlxMC4+fR71wZS7MtxTnwJ1v/
 MoVaA/9FyoKCAw3Dqnf5W89dj5W5x35jLKSLobEhhUB2S2LPiwBa5A79euMvgtk0
 gKeh6IslXKOmCO148ws7HSaErBIBVBDpfOsqcQJTcd5lvEbslp+z2oCKeQK3pgQ5
 aEHp8IJ3YgQEHz+YityOF0jCMGNJTFAz18U4RzVxSe55iyT/17QpTWljaGFlbCBK
 b2huc29uIChwZ3Aga2V5KSA8YWh6ZUBhaHplLm5ldD6IWwQTEQIAGwUCQYLLUAYL
 CQgHAwIDFQIDAxYCAQIeAQIXgAAKCRCfi6p9PARv1oW2AKC0xjNgjhL1EHPtFOXH
 kGz24lF4QQCfQxkoJBq0CkLQrYvdA3MLP+IJ6ba0ME1pY2hhZWwgSm9obnNvbiAo
 RnJlZUJTRCBrZXkpIDxhaHplQEZyZWVCU0Qub3JnPoheBBMRAgAeBQJBgtexAhsD
 BgsJCAcDAgMVAgMDFgIBAh4BAheAAAoJEJ+Lqn08BG/W4JwAoJaU6MbisTlg4EMF
 jfE+wNptwO4kAJ46A0W6SiLWbK09gu7YlgfLgdYAmbkCDQRBgstcEAgAvD4PzCsh
 muLtNkPVKSlk2eZbqlIuyapbuIo6rHk8fo7fkfqVOOrnGOrAT5/sflmnG3H0BLvF
 4pkk7tyRtg3hz8qGACCA4SRf48TxRERpIUoW5R2cVBsMBTnpspRaFu8OdBL0dwXs
 LmH797gxDXCGXzSU5xKBSQN4LfoEuLr1qQmPbuPW+Rdi3hrdk1eGsJ03rU5RExzQ
 ck+J7a5VWsyghNCSj1Rzuw+0OVGBijJW51FD9QU+Eqb3seL7E19mWC3FMU34RFwn
 5lbxolY43iPV0jc0MFcV4POHUSZ8ot9xbQpcAClTyXZh21QEIFzYjJe9ZeVWKOqH
 UZS1naB4k98G6wADBggAnRlPolzcjJvqvv5Hfv7oDeDARNxqeKTj+fPXIHR0Gh34
 8HMfmxsFzS6nsrrVc43Q6Iaso5hbdP4UvE0/HzhPALzCTeZGpZF54pffg9Pqb84U
 p+D59I+b88RDBvvfwF0OBg6du08Rdkv9JfG3R+QZembK+IhUa5yxhtfbQmI6Y01r
 phtx4FAKZw4Xp2eb7IBoZWktfcOE99UJcl9hUmBHJXRznQoCHz5OwAKA6a/0b7j7
 B3bPxj+tLlQksdmRbEJKVBa3LQm09PkxfZj8iahvQbp23p5VSJDKzNDrgmsqaCpV
 CFNgMvYLvtxC2xA0uNtaRpdZRLS/11NUj3oJIULv8IhGBBgRAgAGBQJBgstcAAoJ
 EJ+Lqn08BG/WFK0AnjdWWBxG7slwI8u1W+7uRsuh6NXMAJ9r+6Br6mlEtsoWrMel
 IlhG1mVq6A==
 =I7wA
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.106. Trevor Johnson <trevor@FreeBSD.org>

 pub  1024D/3A3EA137 2000-04-20 Trevor Johnson <trevor@jpj.net>
      Key fingerprint = 7ED1 5A92 76C1 FFCB E5E3  A998 F037 5A0B 3A3E A137
 sub  1024g/46C24F1E 2000-04-20

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 mQGiBDj+agARBAC1AfvgGQEVdLwS0dirwaN+pDDWWiaSWBNRNo4T4KKG2vyhhnUi
 f2PcjPx8rYLvbokJFltoTWos3lS8hD8PZGBDlImOPzffdm/GYEmr1mE8fQvzjdKD
 iOTqQi5IYYhLZIMmUpBTK7XN2zrM8VrkgCpb5TYtBrQUPheWs/SZ31EvLwCglUPA
 T54Joolfvk0Y8I6dSGYctpUD/3teZiYwem99CE3b1tsqavQ1MUfjwSPZQq8wjVe8
 GZUtwaeExugAxNjXIJeXiaCij7S6JSTS0ytyxZ5/O1QFmBhuD/7zjNFD8yB8nu8x
 slma7mVhMuhqkwU06hTkp6MNNJ7kRItoVETtLqR5mW+0UUSZyePQFIH9U7TKPG3W
 vYMIA/9btsMQD/7QA9p/m5OP4sfdVdNCZ32tJ534bMjDYyf/P8k7QzvDWU8f7lbk
 3vX5pSmHplws0PwSZITmRarMdEH9ucP+24m06MQ7YmDYyLlUCestT2gAxnB5/X1h
 fJnmdCLi/Vt19WrVM79ebddbCqCaoz0xv+1qOQmPue/vKXIH87QfVHJldm9yIEpv
 aG5zb24gPHRyZXZvckBqcGoubmV0PohWBBMRAgAWBQI4/moABAsKBAMDFQMCAxYC
 AQIXgAAKCRDwN1oLOj6hN4YuAJwOTOURcLpgAx4HT43jNxDYCsT7DACdFdGCwsi4
 w5ZiCeoizmoBMFvYTa65AQ0EOP5qIhAEAMAerdyvcs7DOxpsli24gkKJxCwHSq9U
 23k283XpZHOp/0eS6WEJMHMyQ7BRrx3X6mkSgBEnHdO6MetBQjOHdjSb8ycotrJa
 H9eMkZ/Iky6dbiWpPLI4ytS4Q8Z4oEGjUTm7pJiE/pgmaCX/kv0WMs/35En+42sY
 VoVU9bDI+X+3AAMFA/435RbM6ywO/kL8D3lhwINGEIqmxWpJDlXPPJf2pLiWZZVK
 MLGkHOTe2kUdd+E6WcoRZdGblOKxLACrlKpJa91aw1ftQT6rt0k8GDCGLT/33FWx
 2IRSf5sHmz8IOm6L8TcZU31hdWqpDLmiIj+IjUCx8+eAUjZcVRoj6BYnWc1Z64hG
 BBgRAgAGBQI4/moiAAoJEPA3Wgs6PqE3PKYAnikfYo//UA7/jrDuTXzqPmi/Un5f
 AKCFsfcXDbLGfWaAqe2YzeDR2Z55/A==
 =N4HT
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.107. Poul-Henning Kamp <phk@FreeBSD.org>

 pub  1024R/0358FCBD 1995-08-01 Poul-Henning Kamp <phk@FreeBSD.org>
      Key fingerprint = A3 F3 88 28 2F 9B 99 A2  49 F4 E2 FA 5A 78 8B 3E

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 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
 =GwRf
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.108. Coleman Kane <cokane@FreeBSD.org>

 pub   1024D/C5DAB797 2007-07-22
       Key fingerprint = FC09 F326 4318 E714 DE45  6CB0 70C4 B141 C5DA B797
 uid                  Coleman Kane (Personal PGP Key) <cokane@cokane.org>
 uid                  Coleman Kane (Personal PGP Key) <cokane@FreeBSD.org>
 sub   2048g/5C680129 2007-07-22

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEaj6Z4RBADnHGSN+HpgYx4kwj2c//kuW91OOYhYlstDCeVTlNc/7YpbgF3T
 KQKBWHu7uqygI7IeboCuCltP7D+PcXTVdBlh6X4aiwV0XSBCAF4ZngCb56OsSBYd
 MPjygHV3TH2TKe4PGqH+MZ3umogB3TZVMLpz4S0WyxXjUxLm5tYn7rOCCwCghTRd
 00JiGg0u59cT1/GiD2KYE40D/03DKCm4IvMRFsxc3IGhXQc3rQJVhBBAxnnzBA+s
 R3i0xKzGqBslEUG+AxUMFjohjQgTWjFRa1PTFgHih95Z1lR0/oO5teyDfxjeAPA5
 2hUoB3PF5NUFeMWXPCoSyb48uswJ5CCeX/IA5lVO891+jQh1LHIFQDa/rB6zeYzQ
 HaSXBAC3RheXdRaEFGt2JkNqAZxEQVtiWe5tebdm2oh1RaIfMQ+U1p4X9EBQQjGq
 6JeeUsO56HXECEgCyk46fgo2xNwIXqYi42sQlIGn8JDBwOLyjD4iJpz2uxC2NO9J
 GKUOMdsdydUpfdkF7tWu1rGXXmzGcUUkHXgKsF3jf739FyGAubQzQ29sZW1hbiBL
 YW5lIChQZXJzb25hbCBQR1AgS2V5KSA8Y29rYW5lQGNva2FuZS5vcmc+iGMEExEC
 ACMCGyMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAUCRqPskwIZAQAKCRBwxLFBxdq3
 l7aXAJ9829PUx9ST75k3L6/nfkejftuUFwCeN5vqGr5uZlkCQr+Bx45HbcyFQp+0
 NENvbGVtYW4gS2FuZSAoUGVyc29uYWwgUEdQIEtleSkgPGNva2FuZUBGcmVlQlNE
 Lm9yZz6IYAQTEQIAIAUCRqPstQIbIwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJ
 EHDEsUHF2reXPTgAn2uPDHMfAoaLp+Eg2FfIuMlVNgfEAJ9xBcFz8kLTrAbKnthL
 S0yBqAUrv7kCDQRGo+meEAgA22OriKy6l+mvGIqbwk67Yz2zcVtHx8Jq8uuyt4Ue
 JfuK9H8rDOz783oF3++ywf07xqtl70rH+KHSNfVyXUetVXfBUZfo5bTwxokQWE54
 eJukJyZeDYXpaJ8ro083lkHsqE9vtTSwJfU4rqRpu67nC80WSkke0t/35sHKqwJI
 WXlHniGD3dJt+ZTy6hxzcx3WjlNDNUEq6iSl28XNzWdvpKIrah/ksO5O2akmaZcB
 SXtHthWdX58hOCHBhS1QQSKvThL3VlFtsi7EhW4/rNekDomypLxHGErprjMGV3GF
 509kI2vn7NoA1G4sxrESZK9sNIC+KmdWO0MQ4NYhB0NAnwADBQf/XFiDa83fYJUN
 LBqGGgeOPE+pyBS6gVrw6Kz62nFFgfW9hHtYgItzS4XrDHCc8TCSG4zOBqBY4Qvh
 HgJ1Fa8rppbMUMI32egtfY0/cu8NVWtHlYp9aQp5tM/0zPu5RaRpQxafs9e5j4gf
 fd6mY3ro3vJjZ6UczORKFBHxLDg/F6UCeOZsv8Ii72YDqzZEFdBUMJH7ArHFKndd
 ZxkN7+iGXZorHnTJj8mXSDYmvyaI+Gfn/dea9RDp9h75257cHhnbaDd4ZvlUK7JQ
 8HFb6jM0LsadfDuSSMLUYFozqeG1MVCJgn/Rv0i4FMlI0QK/6r7njvvfR6p4mLl5
 n9r0NOG11YhJBBgRAgAJBQJGo+meAhsMAAoJEHDEsUHF2reXJO0AnitUss1PV58K
 ++igcU+jU/EAsjbNAJkBlxLkkDzmxfWATLWri1+qzA5WDA==
 =L430
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.109. Josef Karthauser <joe@FreeBSD.org>

 pub  1024D/E6B15016 2000-10-19 Josef Karthauser <joe@FreeBSD.org>
      Key fingerprint = 7266 8EAF 82C2 D439 5642  AC26 5D52 1C8C E6B1 5016
 uid                            Josef Karthauser <joe@tao.org.uk>
 uid                            Josef Karthauser <joe@uk.FreeBSD.org>
 uid                            [revoked] Josef Karthauser <josef@bsdi.com>
 uid                            [revoked] Josef Karthauser <joe@pavilion.net>
 sub  2048g/1178B692 2000-10-19

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 mQGiBDnuWJERBAChyOg7jb+Cj5UDqGfChHZDAN5GqF28W0GwrvV0RVWqlGx3pn+S
 XzDur7ijNQfj3jAAGgFErCptXWcDz7CLzS2GxddaMAaQcPWP9hDjJtUJ633xwjU6
 H0U0VPdLcWtJJCva1LvKp67ICkM4Wx8OdVHhCQN4akvNkYzdt4AG+s9vFwCg8Ddq
 naF901g4VlK1IUqWTxPUtocEAJROiv4o3aIWrXvD9YBxkwIrrvtR8V+QaB6drOer
 AU9NC3T2Vkm90lgmUpP+HCmpZt/T2v1t5a4HHjyf2ljD5ANeznAZORA6SowuWRhv
 ObmYoN9B+vzHCitVTXLNksJCK9kpEvbS5shzbU6UsecCUTohjCU4po2RrsSSILqE
 oXYjA/4/j3Qg/w0RabnS6RJyGDls3FBqS4gyVByaJpH81snvZUbw/y9aT9xdo1YW
 gUaLcEW09whi00M50vaMzXJ0KYcWHZzk7LrhOqcIiCAUm5Dfve3dwk0DbgVD6iCb
 LRI7NuB1Tm8YyvZRRqG2ZcfYVPZgVm3zj748sRaRSPWfb4wGgbQhSm9zZWYgS2Fy
 dGhhdXNlciA8am9lQHRhby5vcmcudWs+iF0EExECAB0FAjpsFVcFCQvE8cYFCwcK
 AwQDFQMCAxYCAQIXgAAKCRBdUhyM5rFQFnG1AJ95ZZo5g7AhYtfJOrmrP5fboYCV
 XQCeKruSz2WhPM0ss7qsTA/e94XlAeyIpwQQAQEAEQUCOe5hEwoGYWRwcHJ0bXMA
 AAoJEDGmPZbsFAuB22UD/Am9JP6EHolhUPH4vccPMoaZ7u8ng06npVXXYjnLGbC8
 UsKlQsoLxMsC7c1A3iumQ4geIF2/R8Ihj4jpOXYbcx6okDjhZIyqB1gv+RighsW9
 uwhsVF7fhk1uRc3asswNZgi9sBGqNnfCqMF351UMTvfBXHnqzDJ8vPMOStsWDzCY
 iEYEEBECAAYFAjnuhiUACgkQc4fikq0QxsR0aQCfZF8RKRaKqR4emQjub87fAVYo
 Pk4Anj0WaSOwC1CX34RUN4bxzNi57xReiEYEEBECAAYFAjnuhmIACgkQtiQG5lvB
 UqHYbgCg8AFs2jQ6xhKIziO/xhupEXT9ZZUAn3IpjCum/oIZOGUELJoajAG3Gckj
 iEYEEBECAAYFAjnuhusACgkQIBUx1YRd/t11SgCggKU5NOYpsG/04L1LkCcV2lT5
 V7UAn3d0EdAIb8tMvCgL1npDSYphoSzdiQCVAwUQOe6J0E1WKCF5BQwRAQG6MAP/
 YMLUSid+HBJtNH5AjuZlX52Z0Oh1AInqX6igHrQYutSG7j2Sd8cpk3j6vT9V03rm
 be2IAK3CRdnkIRQt5nH0acijgjnAyUqJ+q5WYTUksFh5b7i3qbhNj7fw/6Dw3A5O
 dGlhgTzMSpPSSXuxeeognqkNKUmWw9yjrr2q0Gi3UK+IRgQQEQIABgUCOe6X9QAK
 CRCI4Xsd/OVlYTzDAJ0RX5Vn8KhP+zdFBxdlNQcO1/vNywCeOlwHD7oY36yog46R
 iVjyTV+s2EmIRgQQEQIABgUCOe8i7AAKCRAY9QOAJMJ4Ai9JAJ94rFed7/tJJgbm
 9qOOMAXdC9MW+ACeJLRW04xTW430Y9G05+4mczcfUbmIRgQQEQIABgUCOmwoagAK
 CRCTqAdkLDfjdctAAJ9ikjH2Q56jO48RqUcK81V+QZWu6wCfTXXII7m9DX77OJZ9
 MK/kXB45OfyIRgQQEQIABgUCOoShAQAKCRAuIEybiwa+dYnRAJ0T1R/7noje9yl3
 G1X6XJk2q93QFwCbBXaSGauZ7sYH7kc/iR2yQBP5iTOIRgQQEQIABgUCOe9xLAAK
 CRDNC4o1+1fXk/gLAJ9jzY1qmkpPqzb9lIzb0Tlt7pCRQwCfe+R8BoGODBcVckr3
 jdP6/rTPECW0Ikpvc2VmIEthcnRoYXVzZXIgPGpvZUBGcmVlQlNELm9yZz6IXQQT
 EQIAHQUCOmwVXAUJC8TxxgULBwoDBAMVAwIDFgIBAheAAAoJEF1SHIzmsVAWgm4A
 mQGnViGPYiGgaULvlYM35mN2N/TrAKCDsiQ4Gwlj+NgPHwQKa1bQUbyqiIhGBBAR
 AgAGBQI57oYnAAoJEHOH4pKtEMbEWs0AmgMYEMEB2C0+7x6X7BSfb49c8NbjAKDc
 bL+B37ri/JXth2rMWGUAHjAb/oicBBABAQAGBQI57ofcAAoJEB9/qQgDWPy9HyED
 /2rdYa4tS4wXcfx3M1+okMZZERrWaO8rtYORLfvrZY72EJ90giB6bzw5kuUJeeWZ
 oZsJVnd7ITBtXolBWrOt+s1B4SdV4gt02G4L/lJ42ok1sOlQLVh0UDZgGxc7WUag
 z9l8F0OsVFLxjlEFI+NDogbv+kz0a2bTMjiWLLAu14ixiEYEEBECAAYFAjnuhu4A
 CgkQIBUx1YRd/t29dACeJTWyfb0Df5fPm1XPsswweYLjGDQAnjpMDUHOFc5fnNMV
 qJop9jq/AF5JiQCVAwUQOe6J3E1WKCF5BQwRAQFhugP+KQYQsQKeYB+gPoSI2egK
 EynZMAJG0YiI5cA5Co4hyNY5YIbIMeo4GixHvwQcnTH/3PzZFcmDzXm22oc654po
 +hryLx8X7dZnCN8RmvoyMaJfx0664PXWq5zLnfaJnr3gV/IvVHj0uVbDaizWUyK7
 dLLe9nLE3nP608/AKuc06dGJAJUDBRA57oYKAdtd0pfmON0BAU7bBACXXkeG3A8b
 DMLtG2QlmF279GbeQ0ZBG3HojyTzUbk0I6nlM5yeS9/SBkWWeWxkWZgIDhN6FWuR
 OF9Vh1jIrnZ0wihWitIVsytHdwET4MlfYh0sH+7GW1zUi8syiyGPCd89zBL3EVs2
 8pJs+btK/kD2DGQkRWHZN7BuNLb0yM3/R4hGBBARAgAGBQI57pf5AAoJEIjhex38
 5WVhw64AoNaWiodMqbzSGBs1Xp/6mDr7rsiPAJ46bAmdjezkyTDC2z6fa6Bzh9o4
 dohGBBARAgAGBQI57yLvAAoJEBj1A4AkwngCtqMAoMdXR32u0WIfAE7me3+CucX0
 GNAQAJ9daEBWjNbT+VlRQ/Jc1iIdxSBxHohGBBARAgAGBQI6bChtAAoJEJOoB2Qs
 N+N1zm4AoJXqvlK1b/8LgNxyqh961iRMxsIsAJ9T8aXUpFGCaL/r+109xHrXWkig
 F4hGBBARAgAGBQI6hKEDAAoJEC4gTJuLBr51GuEAoJSeVEPTlr8zVC0A0fL9zSQ+
 ZWNGAKCMlkL3XhHZ/tKaAbJtlf+jymTW7ohGBBARAgAGBQI573EyAAoJEM0LijX7
 V9eT8bUAoIOLIiocVylJa8udF+9Q/+AorbkvAJ9sI+JVeywpgFZchlHyb189aocw
 FrQlSm9zZWYgS2FydGhhdXNlciA8am9lQHVrLkZyZWVCU0Qub3JnPohdBBMRAgAd
 BQI6bBVcBQkLxPHGBQsHCgMEAxUDAgMWAgECF4AACgkQXVIcjOaxUBY5YACeNT4b
 YadZLhfd+UVab4JLmH6ss9wAnjTBYX5zCu30yWfszSeWGd2p5TbwiEYEEBECAAYF
 AjnuhicACgkQc4fikq0QxsSzVACgnCcE565FTv9LhGJmmxjNZi4jNzUAnAkJn9QV
 DkwFp54Vtl921duYZQX5iQCVAwUQOe6KFU1WKCF5BQwRAQEUagQAiJqlq1zf+Irj
 iffxGzKP1vcCkeaXRiPyBHkS0yCSy6OBxPhdUsvOzT93qgRUqPGBB4Q7jM7abSuM
 99gZW9uQN59nwbBFzWRKK/Cz8xHMlEWIdMZHUXupWUTDBHdHERaj4NaZvE6RXgAd
 k4saIRT1IFLeWejpaBvLMN8XQXHL3XGIRgQQEQIABgUCOe6X+QAKCRCI4Xsd/OVl
 YY8eAJ40vquX/AaE+KslwUBVTBmNpQo/UwCgvAbcnU4rzYZ+TCBB4ZRUW+MpdhOI
 RgQQEQIABgUCOe8i7wAKCRAY9QOAJMJ4ApoRAKC5Wcxx1y8Dr9u4ePt0SA9IhZ22
 sgCfTOrGFzNJcy5nI2qDz1VoZPVJQOuIRgQQEQIABgUCOmwobQAKCRCTqAdkLDfj
 dfNDAKCNnoZlc3cI19gPeP78V+mV83sVFQCbBjBaWkwYqPh4EY2E86U20STnb3KI
 RgQQEQIABgUCOoShAwAKCRAuIEybiwa+dQ+QAKCoRMM/CeUdTbKrF+Z5W72JlXbq
 WACfQtCaQuUBN1ibVKQr6HimK1z4cRuIRgQQEQIABgUCOe9xMgAKCRDNC4o1+1fX
 kx/UAKCf6sSugsIEgu/PD36fUKjmTCa2EQCgzkMVRzIuMcIA0G0493IeecKply20
 IUpvc2VmIEthcnRoYXVzZXIgPGpvc2VmQGJzZGkuY29tPohjBDARAgAjBQI7i8YN
 HB0gSSBubyBsb25nZXIgd29yayBmb3IgQlNEaS4ACgkQXVIcjOaxUBZdHACeP4xT
 8uykptHJHuS94P6bwuNeek8AoOlLQUlfadwu/7sdbWtjdWI/0iysiF0EExECAB0F
 AjpsFVwFCQvE8cYFCwcKAwQDFQMCAxYCAQIXgAAKCRBdUhyM5rFQFsGhAKDCrR9J
 n4qKt8Hqljofy9M9xT4lMACcCcSKt0PKE1oL/UaNgUVn7tAu/ymIRgQQEQIABgUC
 OmwobAAKCRCTqAdkLDfjdVxZAKCMp+S6JstAa8HtrAfh41j6LHNf/wCcDq8dJ9nq
 wEHqP2sFK6Z/NtPu7p2IRgQQEQIABgUCOoShAwAKCRAuIEybiwa+dSOPAJ0cMSzB
 Jy0H2UGSiVGNK3m19biG2gCgum7/cxqt54aEM3V+SbTYmrkipgi0I0pvc2VmIEth
 cnRoYXVzZXIgPGpvZUBwYXZpbGlvbi5uZXQ+iGcEMBECACcFAjpxdZUgHSBJIG5v
 IGxvbmdlciB3b3JrIGZvciBQYXZpbGlvbi4ACgkQXVIcjOaxUBar+gCgxUakd2xJ
 oUH6+D1mRfndDAqzjkQAoKLSTYReJMHwhXZc2OmOTTH3xsy+iEYEEBECAAYFAjnv
 Iu8ACgkQGPUDgCTCeAJiSgCg50cRCYSeXmnBCPR/r9uhcT9imtUAn32umZNXmL/y
 XcfXg7bXzku/DKSJiF0EExECAB0FAjpsFVwFCQvE8cYFCwcKAwQDFQMCAxYCAQIX
 gAAKCRBdUhyM5rFQFk3LAJ0Wpi09EOAOMXinfOseIOD7Uv1vcgCgoYHE/liKe6p8
 2akulQniyJvXnHCIRgQQEQIABgUCOe6GJwAKCRBzh+KSrRDGxHASAKDDqv+grb04
 Y6qIx70hBmr1BN7ICgCg1JgK1HW2sJ8xfEO+FSmfwpqwpnyIRgQQEQIABgUCOe6X
 +QAKCRCI4Xsd/OVlYVDyAKCC6wlp1qGx5/Tu285+eALovxhumgCfVu30XvpgDrFB
 Jin09OMykkJkCvOIRgQQEQIABgUCOmwobQAKCRCTqAdkLDfjdeDJAJ4mMYP2ItaQ
 FEOrtC7a+3L1A115FwCeMYSBxtUHjngsaU6Hsdkj7dIQEu+5Ag0EOe5YuhAIAMun
 iz0umurHI9PJ71ETF+cZLsykYDBMTnUirUoBk/eRJL2nfj4NBbClTLDT2xCUOHya
 bDEtMYdubzjfs92N6yCRK4v+318bT7d6XMHG6B5vBHCcMhS7O0luNX099S605NWR
 F+G25B3v0opmJ6p5hsnCfsEOqXe5g8Yoqql4yjbOFVM3L3gfxg9L0tGS610Vqx/Z
 nHF1rd5BBlmEO+t0U3FMWHidnEMBEE42eKA43U1DqmOUPHeIo46UipGVARO7sW8U
 N0dRKSfxLwZQEiYvmMTABER1HUi+H/0M1N0IYFMqQ8hpfjocsZUNYfcCoblboCau
 XkybB/gLAURTapYZ0kcAAwUIAIwxcA7GU1mxYIY1uA4WRjpGfT4w0qRSbonO5W+p
 JZ/TmM+1cuqe4QetAe+2p599TLckisDvz17ZxBnMZs3adxr18C8oPDlTgReqeVY0
 UA/r72AL+i0PXSriFusD3AH3YwsSmNfF48qZ4RapdZUWPGO8L9TNy7eTz07rD2Wr
 p0kDng9vGBeMMNGGbyTnpYHdSNW5mf3+2VT70HAzR105v8cBAn4wx46yQPEINeTW
 XnsNbYy6EfJ2iVAyNAnrQW77NJhFBsI8kg86L9S8/o2UFCSXEHAsd7uEXBPLJ3m+
 IwA8they6czCm5i8pufRRCveTJUBPsJ5IsWXLrWtScFau8yIRgQYEQIABgUCOe5Y
 ugAKCRBdUhyM5rFQFhseAKDdFw3usXZLVrKHo30sPv2jNdPM+QCfRqjP/hfxMa+T
 p5J1gj4xWykgTuA=
 =U6zf
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.110. Vinod Kashyap <vkashyap@FreeBSD.org>

 pub  1024R/04FCCDD3 2004-02-19 Vinod Kashyap (gnupg key) <vkashyap@freebsd.org>
      Key fingerprint = 9B83 0B55 604F E491 B7D2  759D DF92 DAA0 04FC CDD3

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mIsEQDQwdAEEANxnThVC8GNO9VXTjWFhJh7XgMLHf9jDd0B1804WUqc3c76r8y/k
 AXZ8e3kNH1rpa+VJ0rYQnurQg5BeFQny8TzU6PC9QSdqNKSCvhai6B+w3t15sKJK
 nGZ7DwyoyuShMFNMVF250KS7dEZnYy8yrtopCIWJAWzuzuQQtmUYk4B5AAYptDBW
 aW5vZCBLYXNoeWFwIChnbnVwZyBrZXkpIDx2a2FzaHlhcEBmcmVlYnNkLm9yZz6I
 tAQTAQIAHgUCQDQwdAIbAwYLCQgHAwIDFQIDAxYCAQIeAQIXgAAKCRDfktqgBPzN
 031cA/9ZuwCRbYhTHWzOhQuT8dm7Bby0wEq+KzkULXd/ExgxCu/54t9M7csD378X
 /Fg2erLP2J8cYIcVXmdtIJO8AwZRw5GgmVP+h1sEY+KT8jiJNlX2hB/9qCmng3FY
 ItLBY2t7XVmTPMw8BLANE7PJ1LKT/OoUHEk0OjK53KKGNU2oUA==
 =VzLE
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.111. Kris Kennaway <kris@FreeBSD.org>

 pub  1024D/68E840A5 2000-01-14 Kris Kennaway <kris@citusc.usc.edu>
      Key fingerprint = E65D 0E7D 7E16 B212 1BD6  39EE 5ABC B405 68E8 40A5
 uid                            Kris Kennaway <kris@FreeBSD.org>
 uid                            Kris Kennaway <kris@obsecurity.org>
 sub  2048g/03A41C45 2000-01-14 [expires: 2006-01-14]

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 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
 =nTL1
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.112. Steven Kreuzer <skreuzer@FreeBSD.org>

 pub   1024D/E0D6F907 2009-03-16 [expires: 2011-03-16]
       Key fingerprint = 8D8F 14D6 ED9F 6BD0 7756  7A46 66BA B4B6 E0D6 F907
 uid                  Steven Kreuzer <skreuzer@freebsd.org>
 uid                  Steven Kreuzer <skreuzer@exit2shell.com>
 sub   4096g/76940A06 2009-03-16 [expires: 2011-03-16]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 97ttC8vSig==
 =cR2i
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.113. Max Khon <fjoe@FreeBSD.org>

 pub  1024D/414420F4 2003-04-29 Max Khon <fjoe@freebsd.org>
      Key fingerprint = CE1F 29CA A6BF 2F26 13E8  1B61 62AE 6B8F 4144 20F4
 uid                            Max Khon <fjoe@iclub.nsu.ru>
 sub  1024g/6585039B 2003-04-29

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBD6urdgRBADQpkTC4vQZ0QvJaenfB5vMGNzpxq3shsQD5C/ExNtZ2PTrPe8A
 GAcsNUmZD2O2d0r7VSDmPWQ2zDB8bE+gak1pEmooOZ+lb9t+1UwtkzDWK5MEgbRj
 8dlNEagiWZ70jwbm+q8P09LMmjB2ez3OFpDzROjvA0/rU7FMWlo893aqxwCg+0P1
 d6tf6xfiE0Dgz0h7aoOBNhUEAIds+i+l14zzp5Dg8nVcrp8GhsDhGUERkpmnu4Ks
 iXRAbgnhv7XD1qD4EKagITMXmHQ1A6IXVqGjKuEPW3otOEhOMkfOrvI9TCcp4s7s
 6d4eHt0wgjptmWF4pV8KCjj6hAkakFuli/ZjVMNiGAb3cXVocw/Q847Df6jNI5vp
 OfPtA/9kGOoNIssPPa1Ni0k5MPAXB6jm658pmQShlHv1GCG+tbbzqawvimwcal31
 m20DwVc/ocRQFf0/2Rqx0h9GfU/QtB+uq2qk6HTEvDfzGv7SRpPwx43fscF3Sn8N
 K9VXs4Xtbrs5OYGJAMFOWg5SHd9jddTnViNtJQPGD6Bd12BB1bQcTWF4IEtob24g
 PGZqb2VAaWNsdWIubnN1LnJ1PohXBBMRAgAXBQI+rq3YBQsHCgMEAxUDAgMWAgEC
 F4AACgkQYq5rj0FEIPTqigCg2Qe8X9Qw88N7mk9llaZqs+3A+FkAn0Hy5JfEudVm
 /3rXsNKkDf95Z9cmtBtNYXggS2hvbiA8ZmpvZUBmcmVlYnNkLm9yZz6IVwQTEQIA
 FwUCPq6uzAULBwoDBAMVAwIDFgIBAheAAAoJEGKua49BRCD02zMAmgLFdtcfQwJ3
 ctRFpJf8dHyClNQZAKDzqyItbtqEsWQGgN3QsG9+dpsbmrkBDQQ+rq4AEAQAyLyK
 nyVL7VVb7oJh3n8H6CMXcBy/5OV4bATxxCJLQIP/eJkOWv8H+feYnv8Z1LpMI6CT
 qhtVpobIpejR1CA/jo0NStQ5phhejvg08K+wgLMPFEOCCI/RUdHjNGHW4CXmhy6G
 Pm1PPwBiIJGG2AvZie+7NdYjnyd7Q77lE/bFQV8ABRcD/2B36PEMQJu2HpivP/hU
 15sVnYim3phBpGeYTV4e8PLhx1TFDgxnplBkCrEB24hqIFge5zjDVvJyE6t4Zlkz
 IilsEanYbzBUkO/3qYCnwrUefxLxmzMx3tkNVK9W7Z22j3H6Dtvcxb17kMuJNHoV
 KIufCJXylZFXAp7t03T3uo2miEYEGBECAAYFAj6urgAACgkQYq5rj0FEIPSc0QCg
 3Jjbq8a/pI2C+MXDMrW1sC/PhkQAn3vNQqLa/nntV0b3V4lWRI3wk3k+
 =AcmI
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.114. Manolis Kiagias <manolis@FreeBSD.org>

 pub   1024D/6E0FB494 2006-08-22
       Key fingerprint = F820 5AAF 7112 2CDD 23D8  3BDF 67F3 311A 6E0F B494
 uid                  Manolis Kiagias <manolis@FreeBSD.org>
 uid                  Manolis Kiagias <sonicy@otenet.gr>
 uid                  Manolis Kiagias (A.K.A. sonic, sonicy, sonic2000gr) <sonic@diktia.dyndns.org>
 sub   2048g/EB94B411 2006-08-22

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBETrHk0RBADYhjqulMVEFFnTMQcFbUpNad/uZ589qbTFE0wzbEy1EOQZfcCW
 p1m6gq5e/aijOC5cj7bg1OBPSiDZWXT2/Y22eiEYK0ghpTrb0Y69xhLtZI5om5eD
 HmdNhytM48cyhvc7gqm3hBNtLWVNskcHRQU7rd/S1cjQHS5LnHgpPgnVrwCghFub
 wCn4j+jZtbwjuksX9TIreC8D/jlA2Q4CfoJuXTBkTCIXwFSXWRg71VIP/Mv54JaN
 g778e5QxiEowNJ6OwYfbkOa491QEERGWxs1FI0WCrrc1OXJVCUau3/kiKpZYC/cW
 CiTEDIeEsw2AHKuOVWhkbbhtUTms57gBqQ2+9IHmkcmKcusw9I5mAiGLLfGLgfBC
 VpDrBACc8jLhV8kMmfW1x0QGYkQ0/k/rA8/nDo2bfe7+bXoGmGjFvUKiMJT7C54O
 nnMfTKWlOvSrc6HZ3ijKNMTL/NteI5TeBO7Cd24BzzwEnqyAx+2wI4WUSKcxmew7
 BcXQi1UYhim+bobn1ksQ/vlDDWBBqYyyh+l/h4m5S5lG5dXGebQiTWFub2xpcyBL
 aWFnaWFzIDxzb25pY3lAb3RlbmV0LmdyPohgBBMRAgAgBQJGX/+iAhsDBgsJCAcD
 AgQVAggDBBYCAwECHgECF4AACgkQZ/MxGm4PtJRMsACePa4SsmNDWV8DXv/oo5D7
 XJwoAlUAn2sO1W8dSzyt8dKcU4a9/8/7UGSniEYEEBECAAYFAkfmBh8ACgkQ1g+U
 GjGGA7YpWACfa0OiwJ498UvMtC7FO1IDaz1XCCUAnApZ6SbLcInAs8HiWc7MxwQy
 CYAmtE1NYW5vbGlzIEtpYWdpYXMgKEEuSy5BLiBzb25pYywgc29uaWN5LCBzb25p
 YzIwMDBncikgPHNvbmljQGRpa3RpYS5keW5kbnMub3JnPoheBBMRAgAeBQJE6x5N
 AhsDBgsJCAcDAgMVAgMDFgIBAh4BAheAAAoJEGfzMRpuD7SUA84An2lUyH/uT4WO
 6VnWvAojQn67VlI1AJ97ZjmCpjDzesP/ymHtsfLqZN7BqoheBBMRAgAeBQJE6x5N
 AhsDBgsJCAcDAgMVAgMDFgIBAh4BAheAAAoJEGfzMRpuD7SUA84An3wjXvFKgYi2
 3n0tI1s+fmhvW6+0AJ9tLgfRP8kfsJ5k5cIQiGp2+NbGsohGBBARAgAGBQJH5gYf
 AAoJENYPlBoxhgO2nnwAoLD6IlMVRwFPZwJUpdnaBvllZshiAKCImg/wIzfQ1OOg
 +325y5Ym+a0TWbQlTWFub2xpcyBLaWFnaWFzIDxtYW5vbGlzQEZyZWVCU0Qub3Jn
 PohgBBMRAgAgBQJIMxZ9AhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQZ/Mx
 Gm4PtJSDCgCZARCfhV4ITYxz5lOJrhpLlBmFjhsAnisPyWloawVqmZgq/k46r8Om
 IgyxuQINBETrHnEQCACMx04CokMkxgtf1Jt/XqIFL7PT+ieA5n4cSkUwMmFcHN/Z
 W26WjAbhOXYCgnMH58fZa8qD25ao5KGdYbL7t1Zbt01hbyQiZgh1J92jvSQ9cg1A
 q6cq465Wng9W16X1D4MNi97F37DEp5g0T4sFVBoAnApGU4kVpjfKcdb0IU//eQBJ
 KGuhG8BtHM8w2RmAvHV4Kyf3VROXh9Hsk+VRDmCQRO9D9ZZFC8zxG0KNcqtC3hym
 qlIgIpZVK/INqRocdLMhQxL2ULZpneGzHDTqVCmfSSeNfnFr9d5GLd7ROMBuYMTx
 KS7TQyAN/xC3RMKyZmFSliSpQFw/AOUnG9i0Z/nDAAMFB/wIarW6c1h+lgP+B6vn
 sRI9StPYzS9QYogCpK6jwEMsmAzRGUrWgw+uIyxujKqcIlWypELDzPZJ34sjoRYy
 CCIHfdyNhFAGiZXKmdjETFFsFEN+Q3c58mXHYnVg65taQU01ISpwRhL0wsG4uws6
 QFVzX6lgIwtoIEPUr7ptr8N0zLUI9BE3S077WuscEnQMUiRcY9XmnP3ms1tQviVa
 ShTRG0yhVAg77YH7/PAS5tflVD8RlY5B3QFX9gTEXz9vhfgIy3FxWppP3GiVkXsy
 29GMMW8/sq9k8cpJrBRyfEXGhR+FCpgT9Vixo60iWpIfF2RaxxI0yUu5XnjcyAQj
 tWO6iEkEGBECAAkFAkTrHnECGwwACgkQZ/MxGm4PtJTy8QCfY3IIv45shk4Um8ts
 x4PX/wzHxscAoIHPNcR8OKoESON7vCoepxdHTQ9n
 =3/vj
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.115. Jung-uk Kim <jkim@FreeBSD.org>

 pub   1024D/BF6A9D53 2004-04-07
       Key fingerprint = F841 0339 93EF D27D 32AD  3261 9A56 B2D5 BF6A 9D53
 uid                  Jung-uk Kim <jkim@FreeBSD.org>
 uid                  Jung-uk Kim <jkim@niksun.com>
 sub   4096g/B01CA5A0 2004-04-07

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 E5Fbf9wkC8rs
 =HTXi
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.116. Andreas Klemm <andreas@FreeBSD.org>

 pub  1024D/6C6F6CBA 2001-01-06 Andreas Klemm <andreas.klemm@eu.didata.com>
      Key fingerprint = F028 D51A 0D42 DD67 4109  19A3 777A 3E94 6C6F 6CBA
 uid                            Andreas Klemm <andreas@klemm.gtn.com>
 uid                            Andreas Klemm <andreas@FreeBSD.org>
 uid                            Andreas Klemm <andreas@apsfilter.org>
 sub  2048g/FE23F866 2001-01-06

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 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
 7A==
 =E/l3
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.117. Johann Kois <jkois@FreeBSD.org>

 pub  1024D/DD61C2D8 2004-06-27 Johann Kois <J.Kois@web.de>
      Key fingerprint = 8B70 03DB 3C45 E71D 0ED4  4825 FEB0 EBEF DD61 C2D8
 uid                            Johann Kois <jkois@freebsd.org>
 sub  1024g/568307CB 2004-06-27

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEDetekRBAD7mBgP351FCNnqp360OUy+ZKCr2IxUU/Tyffqyrrgiol16kTEO
 bpImo5cgZcw+y3wTSgGxwbb+UmUcJhLDO0olDNOCOYdBzzKfTyZwLzgVaC/XZ2dE
 LQa+3FnIp0btyU9vermk7GqWJqvVUTnMSjinqWS0MfgrcuEXjXTQ1b3b6wCgutKz
 BhEasg38JthFvIownezYwHcEALNJsxEnsfEMm+DQXPUvWTiScu2QR2v0BVVzfg1w
 DMaEnSjw44NF+cyyKXfqx3hYkboRw66GMvcbfl7AYh7ThfDjof5MHfBbe6aeJwd+
 pyVS9BRiXMDbwnuPm31K1zsyCr6XeQquM204Jb1fdMiFEi22A2VxQxAY4cjenvgx
 2UIFBACBHtPfsK8QyAXlNtTQqvMEQe01pXm3u90pL8DBoWsWR9vDIlnJLaMgi2jG
 xBNQp9UP9ZxS+BiAoEkUficsoPvoMkzQBSnfcDJfnyCXranBuuhsF4mzvEO8uLJw
 4NwT+7jij0udeWe3Ymd4ppWHEADhx7PLdYdq4Kczuu0XcGqHarQbSm9oYW5uIEtv
 aXMgPEouS29pc0B3ZWIuZGU+iGEEExECACECGwMGCwkIBwMCAxUCAwMWAgECHgEC
 F4AFAkGV02gCGQEACgkQ/rDr791hwtgJbwCfeBGfFaR0IIUhvfVy7GYFQUjHuYQA
 nR0Vl/9xS9SbGpk9nqDCHooXgrCPtB9Kb2hhbm4gS29pcyA8amtvaXNAZnJlZWJz
 ZC5vcmc+iF4EExECAB4FAkGTw+cCGwMGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQ
 /rDr791hwtg4zgCeNkjhClKqeDjTWvoSuh805WDuXnUAoKFid8813Hg7HATB4UwD
 3KvmHBIFuQENBEDetekQBADtrxEvnshp47wNGP33Vwas4RtDVp40lC51yVFj9Ior
 zXhq9SD20gz8qPCwG3a4Srhbh3rgjPvzzqcjSE/axk5+LwJ2KHySlpfwu4wTtddf
 o6JzlJYWtQE+bcp65vnd6L5DGJsm1KmRTOZOL6wWxTXft4lgxfg1MEbzOKcL5YnU
 BwADBQP9FCPfDZYwAsZya5h3aAd9yg6dvDsObs1D1MMIiygr54/cmGUiPcI6zaga
 hTfDiDGanlBk1idFVKh0A6ZEza55NA45lJ02W9amWvrjG+PB8wTX4IWRAmDN4ql4
 QuahtHsciUVzw4BtHhPtM1+DpT+C6aPwclpmxX2Az8tHDjHKdq+ISQQYEQIACQUC
 QN616QIbDAAKCRD+sOvv3WHC2ICsAJ0fvZ0rq70bwTIWfgYq3N3fSZfR6wCfdrgZ
 /8nwcdMpTA2LAo1YbndxFW8=
 =VCND
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.118. Sergei Kolobov <sergei@FreeBSD.org>

 pub  1024D/3BA53401 2003-10-10 Sergei Kolobov <sergei@FreeBSD.org>
      Key fingerprint = A2F4 5F34 0586 CC9C 493A  347C 14EC 6E69 3BA5 3401
 uid                            Sergei Kolobov <sergei@kolobov.com>
 sub  2048g/F8243671 2003-10-10

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBD+GP80RBACjmIRFKqJ337zOjW51eExucWRny0pu5fuGaxuJmGSbKaJRAORU
 1jx9i/Cxcw7iwrnbR5xeyjWLDb7FIAemPltBItt0tE9H4pQXgP8d8VL3eehguMda
 o0yfP7WUm3U9uriJEJ8141Yql5IR0e8isQa+YsYbkd2RmDdCMDdC3W0Q9wCgsquv
 jc1gvAh7ypvhk8VLhflAeZcD/jQclE6S2zLZ1DSP2Q5mmuMS2ouRV6Z+fbWKF9XF
 TSxdLevWcXmPqvsXFT75cz8pcBIw4c/wVd8OsPU2fd+1LZCFdms1PqLjhUfXgVbP
 Q1Pl8zCAyriSnR2+BDwUMGzEgidkTjmjlbwhGzPsSJ8rv4i18xYs/JbmkeAV/ZBA
 e6jrA/wMU3ho5aIJ69KxZb3bmPVHYrqL8Q3n51uYausLxdHDMxVvjL06VAGWbF/h
 TdiFJ1ngMKfcfzI5/awpKwb9FPbERuNvmT10MDKumFW3xSAJMRzxh7O61u8N7dmc
 xLdirICQMRN2jPo3v8T2ANsdydVTn89nqdpg4Bo9Rsz/Fdnrm7QjU2VyZ2VpIEtv
 bG9ib3YgPHNlcmdlaUBrb2xvYm92LmNvbT6IXgQTEQIAHgUCP4Y/zQIbAwYLCQgH
 AwIDFQIDAxYCAQIeAQIXgAAKCRAU7G5pO6U0ASlRAJ4mnVHx0rA5dhw0scFGOddP
 cH/w9wCdG6HPWlDpXFB5nkpQalMnGzLAkka0I1NlcmdlaSBLb2xvYm92IDxzZXJn
 ZWlARnJlZUJTRC5vcmc+iF4EExECAB4FAj+VJGgCGwMGCwkIBwMCAxUCAwMWAgEC
 HgECF4AACgkQFOxuaTulNAHJ7wCfbcMzZiTmwuTD7wLTxvzC35OQE1YAn3et7KAt
 aLZuVXYIDROr33RIlfcUuQINBD+GQA4QCACIrLJbs3SkUJpuvYC1N/iykFYGHKPM
 L+XCCK3A4HL6f+GyCpvajz62cjUfuXv/pkLjcYANnqKKPJu6Bj2rFmOG785R/RPD
 o2dl+zlZ0fggQAv8zZqIP2KyQRSVa44Pxc/G1V5odcg/QOcKU+FZrkRXoz8SqfDU
 OEfarQP687+DU+Th0Nwn5M20+0ml7yw0/y9DtggWXzlWyIdYfhU+8HckvzgXnUFA
 tPdfDUzUxEjvVBUwZ5iHtUlId6sHiiTCS/fbnRzwJA1Pu1E52B2AfsLxFrwV5cRC
 ASfi7IGhZazGCctqZi4hbWQCB/+ipEVGct+bD9BpW9yS/JiMAxcwE0ubAAMFB/9F
 k6mZUzBbxQkSbXP4w1VSxf2m/lIV9v9M0LCMwjmcsJzsdLUG/i3Zo+hAjT+GznMU
 DVzPHq55LiNs2MKC8WKHXgXFCB2uoZvlGu88I2JjucoeibtC7zbKmVOntuY55zTk
 uiGkGRawIIKC6oqVFV0EGXxrcJ6v3/0vgBQSva08reETZaUFe3ivt0rU0NSbhVJ0
 1WiPXk9wFY0ccemUVmdcX4hhC0yyBB0px4qbEBY3+mtHpFVh/r24GXvWXkbLowGd
 nmKeigX/tlRyYgPHLM2goUHUYe0erbKp2fyeQhockLOWY0DBFcFRK2kSx9HYdtcI
 N45tvtkBza2O8C7uCtwgiEkEGBECAAkFAj+GQA4CGwwACgkQFOxuaTulNAGwbwCe
 P3RXUuqmNGYCM0IXPlop9XLZIcQAn1B9zRfHFJm7tgMI0A6Avybs7V8i
 =EDjf
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.119. Maxim Konovalov <maxim@FreeBSD.org>

 pub  1024D/2C172083 2002-05-21 Maxim Konovalov <maxim@FreeBSD.org>
      Key fingerprint = 6550 6C02 EFC2 50F1 B7A3  D694 ECF0 E90B 2C17 2083
 uid                            Maxim Konovalov <maxim@macomnet.ru>
 sub  1024g/F305DDCA 2002-05-21

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =WWB9
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.120. Joseph Koshy <jkoshy@FreeBSD.org>

 pub  1024D/D93798B6 2001-12-21 Joseph Koshy (FreeBSD) <jkoshy@freebsd.org>
      Key fingerprint = 0DE3 62F3 EF24 939F 62AA  2E3D ABB8 6ED3 D937 98B6
 sub  1024g/43FD68E9 2001-12-21

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 mQGiBDwi3FcRBADkiWSSJSOX38CIPgbUnnDQ8S79eZ0zQYnYn5aeRMi7w0B4SnQP
 1DcFZ/EHNtQWJTCaQBWQZZWvL1ZjdK284YrpSKs7gfoV5BufcFqKatewWZUfsUad
 FEKTXLXlZa55151UtFy9erkA22VWHmqkauDFYl4DiOtaUWCX1Gg8xCvB3wCg0sbC
 /VtANEu2XbxUp5pGmReNn50EAM4vLWfZk3T2woHN0VBOwEk0BM216zfJQGLFUFqT
 nLKezO/QqoCCcVpH7rwV0V6NI1w6YOSx14CU+s83iyyO0KlRypoptWKBoA+cjs/y
 3Iy05K147YfWUhgkKcyw/Qwx8wCDaetG+qZCX4nY0EByezFe504uDkcxk5BrqBX8
 E6kzA/9vSG+J4aejKRw9z7Ku5cLV9ygXCksu325uY2t+J6b+48cT8eFMOpgUHyNV
 m5ypOL31KYRPkOzK+iiDoTPODh4Zg8YZLsgWdTrC0ZQW2nWPNd3Zv+tLAmiwVjIV
 x4XqtFXh4nhI2eM/PXhdN37R48OKB0DmrvdH819/2+9upNvO/bQrSm9zZXBoIEtv
 c2h5IChGcmVlQlNEKSA8amtvc2h5QGZyZWVic2Qub3JnPohXBBMRAgAXBQI8IuKv
 BQsHCgMEAxUDAgMWAgECF4AACgkQq7hu09k3mLaWwQCbBEeFWt8z4HlnAys0FYB8
 /U63eqkAnjKz2Lxj14N8QYtbtFThZRB5fq5cuQENBDwi3GIQBAC79Y5tcPi18bZd
 REXZmDOnLc0gHD9y6PHgR92BUCWQuafcxfQqqY2ESF/JQ0dFfBEkCAmYU2YkPZA5
 A7skmv9zHun/bXAP02hrvMU1Gt0ZHIzDV0EaO+uxY8eSKg4JuxZzpgzWCIxI/6uh
 ZhOuEF/uql7IDKMQcOfsvVrF8cZfNwAECwP/UvxNG/RUOlOHdRo3hY3H5l7zmaCi
 AwUU6Z+LxDn+fwERX7wL5rasafi1r7/9VvGADfelpxKR0kZM1eKYPtri1zS6Zm5a
 CC+QVyyoTcb+x0mWForq6FxLDf7+l/O0TuEG7VOH4RgLaT2N33yoScEvxdB/Qo4w
 KnT39F7lYjbzBvGIRgQYEQIABgUCPCLcYgAKCRCruG7T2TeYth30AKCzp2KXBqsa
 N6wOyM+tHQ4DKNMasgCglJCipoxpnnvCsGiZJv9AgNQFDGM=
 =a9D2
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.121. Wojciech A. Koszek <wkoszek@FreeBSD.org>

 pub   1024D/C9F25145 2006-02-15
       Key fingerprint = 6E56 C571 9D33 D23E 9A61  8E50 623C AD62 C9F2 5145
 uid                  Wojciech A. Koszek <dunstan@FreeBSD.czest.pl>
 uid                  Wojciech A. Koszek <wkoszek@FreeBSD.org>
 sub   4096g/3BBD20A5 2006-02-15

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =sg8v
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.122. Gabor Ko:vesdan <gabor@FreeBSD.org>

 pub   1024D/2373A6B1 2006-12-05
       Key fingerprint = A42A 10D6 834B BEC0 26F0  29B1 902D D04F 2373 A6B1
 uid                  Gabor Kovesdan <gabor@FreeBSD.org>
 sub   2048g/92B0A104 2006-12-05

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEV1zhcRBAC4T9pbx3J+/0qY5k3IVGMGpI31SZHwtO0ijDBA3V0mIOUpty/E
 2AnAQ/7GZEvWtMd3pE5xwoicgSQbPcnsHG9kqG43vvr2DdByY9lavqoXPOXKeQnr
 U/Z5eYvOgT5Da6USxXI5obFdNsCwwKYt7Sbvfj6L+FVWSS8HW54f9xuqLwCgwCRv
 TxVBZJ4xERWsk3nJH4B/GKkD/20ddbTHSTBuBpulmoOUNBcrnIEYPRCDvF/e07yz
 sp3KJeMegdPEwBoy6bF9R8HkVgSEx/jdMSZNeMeAOpAKDlTUyTNJRgzVwqu+SgOj
 GT8IzhLNFaZ7wiKoA0yRhGb77C3IPzjSbcOI9A3vn9DkStWfDtjTIOxh7FxF9+H5
 c5z9A/9++LOF8L9VPHUNi4h/L/jE6CWSZgeTUIMkSwALrochNi9xIr+kS5pPxUPZ
 MHVdG0+gK3wNLD6KGpBnHB65wWbb85fukY9y4YgEv0+TjpPwkbwlAbKtt7cf7RA1
 mYtYStbOedPBAE8Y89cAcmQ4a4ViJFWfSTLJorAAy73pVns7ibQiR2Fib3IgS292
 ZXNkYW4gPGdhYm9yQEZyZWVCU0Qub3JnPohgBBMRAgAgBQJFdc4XAhsDBgsJCAcD
 AgQVAggDBBYCAwECHgECF4AACgkQkC3QTyNzprFGOACfYLDfWSz4Ke3HN+suyrD4
 iwnZpycAni9084/VZ5iAadc6I1o81cGFX9GtuQINBEV1ziAQCADQBlmiWzgTaAem
 j1rFzVhEe3bSRg4qmcyiUyIbVWj8Ecc71c33fSHdgjHnAqKGjxKIkf7qoSziLWL7
 b2dxUiI/M7OUTi2Tdy3nJa/GJ+PK3CK4oM/oSMGOSUz7d3ZaKwZX4d/GmpCZ6U6w
 XFPymLOQtlDRTyz31QPCQXnI2CD2yswSdrHID/LuBDx+24vA2NyGy7WdUmSSchnE
 aw0fYTiHbjqI4xsTS6wkRJ4QRcHg8vyXc9Xd0/TKtaFBURWfHDC9RWNjisrhc6q1
 89o0QHBW+UqcYdWPUgTO38hr7k8U8LNJT0a7axsgwiwLr1oSS8z/RjdiFwuArM5M
 PQgkvMYLAAMFCACIMIO2gjtPL64mLy6If2TPBTqb+g+HaWWk4lxsUN3A7A5y9TXk
 w3Hx2jcig6P95jIKyiTJkV5ZqcUuwtEWK/nK6M4o8x7QQwLAfH6x/wfsb9Gays+K
 wT448Xhi05cOnIuKyFXXzaNRgGe/G+fxpxqEjmgP5y2NjB+KG/h4/Am25h9Ylm+P
 EYq8QMxwYS+3TpfCMmgnqTymegNZpbQ32nJYKnxn9j58sLqgp7BjekgAYi79z+Zx
 0HoeGPiehGLdymoj5aaiTCZfTB5CRMyn+dbvXUpl8hdAEG72q5D7JH8yicOANHUd
 NdMIcDxTJcHnDQeXdSrVWGTQmt4iuwfweKlmiEkEGBECAAkFAkV1ziACGwwACgkQ
 kC3QTyNzprFoGQCfZdGMd7cQFoCW1DBGMnNJ9AO5WmQAoIM4BtfriXvx3Tov88ES
 DHOhFMi+
 =jLzS
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.123. Roman Kurakin <rik@FreeBSD.org>

 pub   1024D/C8550F4C 2005-12-16 [expires: 2008-12-15]
       Key fingerprint = 25BB 789A 6E07 E654 8E59  0FA9 42B1 937C C855 0F4C
 uid                  Roman Kurakin <rik@FreeBSD.org>
 sub   2048g/D15F2AB6 2005-12-16 [expires: 2008-12-15]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEOikikRBADU4oWe1rkbd6R8HeOR5I/Uw6gGk0zrBPNkyT9PAtNKFYgAOotZ
 fJbo1czDlN5cstvqBOUKbmeOwqkMi3/DT1N0VjGq6eocBCvBhHZ/PIyIonV18JGI
 /wYYQ2k0jAOpehd7QYYB6w06gi+siJ9UY6iEhVxrO8rF5Er7RYXICubDEwCgszsF
 U/rIMr+yw52uGDe4d1wyICkEAKI7uw05tkwQutLzjx1ZOCu1o8zLepZ1QMRDn8io
 EyMRY/pCvge7k1kjmm/6eZ3M39fPrvwcpfsRF/dlgEeQI9Pn0HDJWG7eU/zg0wrQ
 VkvELJ6qtJvlQRKMh51EfLkR00Fy0HsBWfc4U82GvBLU5fPL1FujMeVLJtZ0W3q+
 nHjUA/4z0JVp6vNCkPOr+BiJhdJsiAYkGUdqHR/mZcChcRD9jJVRO1JDQQSvP3o1
 GvFqqRU5VsvYXKVKlVoWQiKGu0Hf/ZIOnY8ek49nTsUTm1MDPIFqMl182uxr3s40
 DhBmKzhufDBkgtNdpC2SU0h5mwkF09Xo1goVMn5DTbQfRfNfF7QfUm9tYW4gS3Vy
 YWtpbiA8cmlrQEZyZWVCU0Qub3JnPohmBBMRAgAmBQJDopIpAhsDBQkFo5qABgsJ
 CAcDAgQVAggDBBYCAwECHgECF4AACgkQQrGTfMhVD0yS6gCfQyXa2JPiyfy0EFzQ
 HGwWrDPjzjsAn0IJZGfMUiTegcmtpu0lNv6nMUiEiEYEEBECAAYFAkOjJ6YACgkQ
 TclL2LcfYF1uNACgxXMrlmzdzmMwriLK+T4OKcffa/sAoOCL19v4pPw4R4KI3o7O
 MOacY9bIiEYEEBECAAYFAkOjvw0ACgkQryLc73jOEF8XvQCfWcxEwIwZ4eZld/Qf
 eB1hsxJeDxUAnA/ftOsZtbG4o299udw71y57GHMPiEYEEBECAAYFAkOj44IACgkQ
 hdRQRWtpGwOERQCdH2AVEiuQohXgOX2PdCIZYiufCEEAoJgGONTdR1U3cp1X4Hhc
 cuAX+Z1IiEYEEBECAAYFAkOj7gcACgkQXeTX/hlJ3IB1CgCfbgMdPkgLWLQ0HHKx
 rR1nB3hzAiIAnjOwE3TRytoNLPAAuECgudqkqpnRuQINBEOiklMQCACBiZ5wcv8t
 jUjCX2iZ7D5qQiWuJYPhMpBS4hV4mZXhM+pSjFctc9PFw+WHlaRFXn7zGYP404AS
 tvqmnZBInBdal+L7r9OhPj7vrQcYDHJTMDflHK/YhfBwMj8/r2jkV4Ja4ji9nazr
 Gbq1wJpP1jrsBuFU0Qy4HRZwSyKrFNGqAEsiZPxgMAY16fi3IuVbE78HlUq+0I6Z
 C90z5MbGFGSsZRbWJSxSCOqQ7YxqoaCqxxNeF6fIYQdL4hatuH287dqmru6ST6j0
 ApQF+mnmlwKnrLSzXw0Hbvfj8ZrGyAc9cLz2oCwVwvLsP+ohiNBDHc+FFXcBxIcy
 kZi1+6AxjhXfAAMFB/9abRCZ9AoTa+Hd6ajC77l/Ul4jlj+R+DKQ466kj+WYOdeO
 XQtF3e1g89cEX1S3lnjIZGS3uGZ9YehtxMwBXlOCIyyLhNxlRWS4YJeC2E1q1kZm
 +xs6IC47g1E5yVpm3qcUp6HKwO0SGLQiN3ECSZfBtNEcEScAFGq802lLLKnMRBfV
 DpwXP4jop+90NSKP4RKzgYdXXz3SAq3heKeuBOHl3biaTmvh/FSoZtcGSqWLPR85
 d+5GZVJRzrwGqrGN/3zRvd1PbTpeJ/pbT/saFtsVCmlPoUOpKeyDHGlPotQo67gu
 1cwcr8h0D+oYPMLlspZFuMXvLPxaNB8oRLyxVzUhiE8EGBECAA8FAkOiklMCGwwF
 CQWjmoAACgkQQrGTfMhVD0wzaQCglkceiB8ksT3+rwFRApwaWTO8ey0An3w0Diff
 8juSFfJ2ZBIPyPzTGgMu
 =0i68
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.124. Hideyuki KURASHINA <rushani@FreeBSD.org>

 pub  1024D/439ADC57 2002-03-22 Hideyuki KURASHINA <rushani@bl.mmtr.or.jp>
      Key fingerprint = A052 6F98 6146 6FE3 91E2  DA6B F2FA 2088 439A DC57
 uid                            Hideyuki KURASHINA <rushani@FreeBSD.org>
 uid                            Hideyuki KURASHINA <rushani@jp.FreeBSD.org>
 sub  1024g/64764D16 2002-03-22

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.2.1 (FreeBSD)

 mQGiBDybt48RBAC/KCE5CLVZsYvpmgrbum7JHgIgnX39EPMQmL9Y3LmYy6Iwh+OF
 iIjIqW6cDeCcxHoJBwbSUerC5ueriwZCh46gSnLVjnmBLlGFXyxYbSfFGetMVVSR
 6OpiQuITp4ZhVw/UoCGloNsIFKg6l4JMwqZmsrZPdl+zUU79RV9Zb4XhFwCgsRIo
 1mf9I3rNZ8f1Jv69nUR/lJkEAJB6fY1rtUNUwq+JXOnFGD0KnC8isQNyOeQ7Y1il
 HQ9mGVKuUC3Zh0FzvdsU7Ks2ss9ynxfbFXnyyAOqXwTzU9pMuW5oLOUmjqwEfAhV
 4S0xcnPcfGGJ671NNeqa8X4LQv6ECWai6O4CbA4aluRqhHNxT9dgEai8RN434LQE
 tGxcA/4mIlvVoM2c2DRjD4+/Oj+i80ZMpOgE1RkuQmXoZ/DwLD3EHbIBX4cNffOd
 FzxYrKCrXD50MehIw/IhFfHN/GdEN7NT87M3j/ydSYFluoiLv8FXO00mr8cDi3wF
 q+LGbniEhVcW6wpUz9zVFmdLAp3HQi1uRAHqYmdSs6gqjl/+pLQqSGlkZXl1a2kg
 S1VSQVNISU5BIDxydXNoYW5pQGJsLm1tdHIub3IuanA+iF8EExECAB8CGwMECwcD
 AgMVAgMDFgIBAh4BAheAAhkBBQI+L/K/AAoJEPL6IIhDmtxXgj8An1YuXcp0iurB
 ZYHiaYMzAb+lYhALAJsEAKTyeqO0plIvHBV49L5CErZo87QoSGlkZXl1a2kgS1VS
 QVNISU5BIDxydXNoYW5pQEZyZWVCU0Qub3JnPohcBBMRAgAcBQI+OM7uAhsDBAsH
 AwIDFQIDAxYCAQIeAQIXgAAKCRDy+iCIQ5rcVwyNAJ9Y5N6lIMXVy4sYCdgQvqDR
 xkUN0gCgrsbQwfTOBcy8Mw/UmGOE4/fwrNa0K0hpZGV5dWtpIEtVUkFTSElOQSA8
 cnVzaGFuaUBqcC5GcmVlQlNELm9yZz6IXAQTEQIAHAUCPjjO/wIbAwQLBwMCAxUC
 AwMWAgECHgECF4AACgkQ8vogiEOa3FerLwCfRPWW7lC/pAVdD2Jo+8rcWTKQ1xEA
 oIQ/on62k7YBO+buO+K472a/cW2MuQENBDybt6UQBAD/ZGmvwhzt9YWhF9q7mLOT
 iEMzL2AzBryLzzUphejgDlJN/TIoDtaJfMyNkO16FbUq/WLQbKYFKfDunqx+eVSi
 PsneeYw9nAdlcXVgHRjoL3vj5O7PIg4qqps2mnLKEOXLAH2PNTYY6+8T0NQicdht
 YIraowzLoKRdINuDQrCpEwADBgP9H4CwbNJtQAHwS9ATmfL6F2Bg9LWe1godSWkM
 N+nBxKvMqrajJWfxV09f9gzn0qmMZT9u2DwcADzRQLC3jkzgOD1f8UiAuCuDEE1a
 vg1iCuyiI6m+MMWCkOCj/69wIu1ilmWqkn8SeoEwN+hwqHa20ue7vBhXreQanJim
 sq38ZdCIRgQYEQIABgUCPJu3pQAKCRDy+iCIQ5rcVzT/AKCgYOyEMpIxXYVI5gYM
 CwQ3hkJ28gCePnTu3Ke6lPoQsMAo3TzKkUO9Wj0=
 =cXJQ
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.125. Jun Kuriyama <kuriyama@FreeBSD.org>

 pub  1024D/FE3B59CD 1998-11-23 Jun Kuriyama <kuriyama@imgsrc.co.jp>
      Key fingerprint = 5219 55CE AC84 C296 3A3B  B076 EE3C 4DBB FE3B 59CD
 uid                            Jun Kuriyama <kuriyama@FreeBSD.org>
 uid                            Jun Kuriyama <kuriyama@jp.FreeBSD.org>
 sub  2048g/1CF20D27 1998-11-23

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 mQGiBDZZXiQRBACWc1PcCjIpTl6aCyOMVfz4jlRSKblwib2s07TBwbgR1zMhbPie
 O2K4ZJqTcG4EnbMLEyYMbYwvNdOfUIjMW3VI1PJhRwWthTcbUjubzTu8Zxw+sKME
 ansth0xZW7Ax29UWQcTPxs4SRsCPFO8t+aWwZOm6z0fb5l1vMmKNJuw1+wCg3ZZB
 qK93hQPaOObwglnAIrgNpScD/j0VCEeC8fTMk+ZIo+z0+bUGPGU5cq+4XVXABYLn
 wMfR6Wr5Ys/3VCx4Oyzzgp/HBzcE5HxJukJ2ur3m9IE+uFfY4+HEFiwL++Ke4TWU
 7rn4rKjJYhGJ6iqGFwuxwmHdjcBh/38X0kmrCxyPYpt6xO+sJBP+QOABw3PFlMkF
 PUY5A/9RGU4mm6K7cteNdbHDI8yFNorQs8W8fRb8yP8bw1T8qB5+/rQ5jxAfA5sr
 FCuZsKNFdph9z/I3eFYVW4P8+9gmI2FAAAocWheSyKttAFHx63JRyBqXq9xmHKST
 kuaoQVXeFycSULAPkV67j0/zDL2mis6bRpPopINGgjkia16u6LQjSnVuIEt1cml5
 YW1hIDxrdXJpeWFtYUBGcmVlQlNELm9yZz6IVwQTEQIAFwUCOmRRlgULBwoDBAMV
 AwIDFgIBAheAAAoJEO48Tbv+O1nN4+YAoKeQztEcbPBbbX7DZAHOsGZLrZ2NAJ9a
 WEoFGMT3keQDjtjUI9c8IMh/l7QmSnVuIEt1cml5YW1hIDxrdXJpeWFtYUBqcC5G
 cmVlQlNELm9yZz6IVwQTEQIAFwUCPE3sswULBwoDBAMVAwIDFgIBAheAAAoJEO48
 Tbv+O1nNMp4An22RFzdv9zdNLlcY9GLPFyUrniqiAJ9F9Rhic6qBaXynksNw51Do
 +cLWkbQkSnVuIEt1cml5YW1hIDxrdXJpeWFtYUBpbWdzcmMuY28uanA+iFcEExEC
 ABcFAjxN7RoFCwcKAwQDFQMCAxYCAQIXgAAKCRDuPE27/jtZzYFdAJ9BFckSo4/r
 SMe9UqbRMPK+8FUumwCfYH1pt4t6jFlulLk+9wYA9wISL3e5Ag0ENllesBAIAMSU
 hrKdEdKzQXHzkoE4Nzl3hb6dtDmjgYr+3X95wBkUvtrk2CeYG3RC1PNwd1sEFEWp
 IiSzOaQDzxZmtBGpMkQ1It+CW4sC5Cs2TQ59VHLFw7HWSYMNj+RchWuWkhwipnX5
 8wu6To12Mu2MnyLszX2QIUxrQme7UpKkJgCct60C1DZLoQuZmfEZEyXmSfJsizeq
 eeJuusZwOWDH0ixuFVK/5A2RwaWFMftdhh/Vw0EkxdQnMJ+7zJ/hbY64VR7uz8oI
 5smfjVe0yqXMACREUzXmqn+Dc6Pz6ESVTv2XwIy0UxqxiYk1J98Cf3ffi5+e/q1d
 rej2PzArpfzaygu88uMAAwUIAI/IiiQJupz9BaCws/K6j4Qs5iWRiSB7vaZfgCr9
 c6vx+mIXX1Pblity5TOn9qXMv7vUM/dgmWSBbkkrvfD++H4ybJjpcOZN+peeGd0G
 /UfiQFMarsj9MozAmhzI5L00JqLOf4u/XBv0rh5HOX6t+M9MfZYL3C7bn/LxmDif
 prT8jxoA2SC+lPGSzI+M+ay/mz8kDmGD7fCS+uAFo5T1kjU+ed2dhXnl16gRR8NO
 6yAdURIC+xs6P+7L8uOiZfuk0gzn5RC6CYrEKiGZf9VqTRA2vcirPNEZR44jYXS3
 nL7x9pIsHyCyxEvojut7iGWO6qbaW/c+MRjcA8jgp9OuFROIRgQYEQIABgUCNlle
 sAAKCRDuPE27/jtZzZksAKDbznARmDIIxZjHfAry2UJFBPQbvgCgl/ERQfF++Uvw
 hLaVfesP/NCIt5Y=
 =AoU9
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.126. Rene Ladan <rene@FreeBSD.org>

 pub   1024D/E5642BFC 2008-11-03
       Key fingerprint = ADBC ECCD EB5F A6B4 549F  600D 8C9E 647A E564 2BFC
 uid                  Rene Ladan <rene@freebsd.org>
 sub   2048g/C54EA560 2008-11-03

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEkPa+MRBACUFlLWm3NomhEGr/Aj+rvLo6ayjrDP4Z7ihGTLMDFbhISurcAD
 8nW0MaFtBiUPxXFA1AC7L7In1cX8PFnQqgNcZiyZ4DOU6S8MndbUYwesM7oHs5zR
 KnvC5fZxY57cq9+L0r4qXdm6PvWr3Ca0T+E0QyWDn0AkYdLGYDafk5C/OwCg/zBe
 RExgeevWoBrieKK3F8dz/48D/jGNn4s+LPMtKNlaqYph0hyUmuZrQXXAmVTqfm0h
 9BBhby4qla9GqnYy0iiDqTCOzbckXQDBvXWFusmZx4AMnJTW/XQDHo9Kw9quWnjU
 YvMbgvqOIUu0mSS8gVLT4550dD1AUJucBzLUa6h5qi7EIh2c/nYwdimZ6Rv9DnV4
 lm64A/0cVk1m4mWC3jJzAS4tNtWbvhDbgWtqEiy1q/U116GtmnirZLJd8HE1nrVD
 VYCjhEHlA15GlLwN7zgnG9PBN4LXMWdccDwYAtsUAeZ5tTu4cU5k84ukxxOrzUAl
 d4p+UBef8QbpUkkEJm/0YWmim7+bTfH93FBGIXiG7x2UYVD93rQdUmVuZSBMYWRh
 biA8cmVuZUBmcmVlYnNkLm9yZz6IYAQTEQIAIAUCSQ9r4wIbAwYLCQgHAwIEFQII
 AwQWAgMBAh4BAheAAAoJEIyeZHrlZCv8LboAoO4/qyTTRwaKzRA5xvt0H2eFh4tH
 AKDLMSXjX+HX7U4zomwrekN7sJBd7bkCDQRJD2vjEAgAmPMCmdnoQu+Q3Z0pCYcA
 YJr1NyAu3xlpD4+dYBimEp2bAknPDCmaoVrSh7e7Mh754give4Hzz56QZsksIuEm
 rROafrecpxoAdMtOm/qa2CjlCKWVId5wbQSuuz8TV54CmoyUtruvKfUPDbK74TZQ
 BX1PyjaZ0FMrFPg69qoNcku2Wjc0BJsNFQ8+TzMzTbL1GKcM7kHZc4Wa/nSqwhnI
 hf7mgvd5NQEZs/7I3DVWxrqzEHFPPMPKE6weJJ56NEAd5W9rs2/eezUjnzAXYwyf
 IYCyWWqYeOCa4a7zYu84H0KxVQvUStVUWpTFLaZOpXJvgJkKPPXbPDTh6PV26t3a
 QwADBgf+PArSxdwEsXZWy73mcE9DjlnI/bRX/XN2tsZppzUyi5mOXZG7H+ZJGAU8
 DZ1+8QgQAwhCGAAKWt4jHq785usSUUa453N9k5X9JURTeMLrYVK8EXA9URQqCQpK
 iw8Om6xYoUHJZbgvTArySyw9mLgxo+hqLdEQdkJmSPfDcBsBS6d4dvv/NJyJDEAd
 vm1EXZQ0fmj+qzhCXhr5GVDGYcF152EHHpLLgFVgrKyVeIA748pxq84hvS65ieDn
 s/YuebWVLbexzqUkEN5arNahxk2kY32ZehzrhaC4DYAcJVEalMHS7X8V5LLhOrd2
 hTusyDPzEjlQi69AjtnBZUkxgVmviYhJBBgRAgAJBQJJD2vjAhsMAAoJEIyeZHrl
 ZCv8MAgAniHMkbReHW4Rlsj0/8s3r7dUuz0iAKDlFOXqYtStrWXWn5y1IU+gTHLW
 Bw==
 =uP9y
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.127. Clement Laforet <clement@FreeBSD.org>

 pub  1024D/0723BA1D 2003-12-13 Clement Laforet (FreeBSD committer address) <clement@FreeBSD.org>
      Key fingerprint = 3638 4B14 8463 A67B DC7E  641C B118 5F8F 0723 BA1D
 uid                            Clement Laforet <sheepkiller@cultdeadsheep.org>
 uid                            Clement Laforet <clement.laforet@cotds.org>
 sub  2048g/23D57658 2003-12-13

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBD/bH3wRBADoVem06r8ivhxQhCOEH06GAg5J6iqqlKIo5BmOiQ8IHo8JzA9z
 TwFNbhUCMWzUusH56nNHKOTuFV7wHiR8nvK0y2yU5qTK3MHbfSeMVy4rFAKgyZae
 Wf1lxRHU+W/EksFaC31ljkF01TGHVMtpKPzDSttgrrMtgstT7QKWTKcggwCg8bVn
 g7MH9udGaSNY5hO3l9wIcusEAMD+erpSZgVfwojT/pliCwnvKRwNByhIWqz2y3Ly
 M2+VR/IjFlpOvT4Ytrn2VC4V1duahdowNQh5x0vUPagRRYKx67OEbIcisKsGQTnT
 m4FSRUfULKZ3M016uSsYNbuopctjrxHE1YJfskHmLnIHjnXhJjfmouQqOX8nQSh0
 ryjCBADTi6z4ZvH3CF/C1egPsmYzJ14H2t51JUSHwEWWaj3LkILEGvHsywCIT7Xd
 R34B0hPIn/ihsJF4XBEiqJlZmFhfFUmSR3/No4TYKOtMAzfo6GtMv8q19U/LQaVY
 1wYY0rWCqfzwcH9vSLlpHL9afqNBnVK3XiBGMCmXZw+4klu+f7QvQ2xlbWVudCBM
 YWZvcmV0IDxzaGVlcGtpbGxlckBjdWx0ZGVhZHNoZWVwLm9yZz6IXgQTEQIAHgIb
 AwIeAQIXgAUCP9sirQYLCQgHAwIDFQIDAxYCAQAKCRCxGF+PByO6HcPlAJ9gLehC
 AhRMepAZrGdPsPFoMB283gCbB6y04aeQlXaa9+xAm6C0ciAiXj+0K0NsZW1lbnQg
 TGFmb3JldCA8Y2xlbWVudC5sYWZvcmV0QGNvdGRzLm9yZz6IXgQTEQIAHgIbAwIe
 AQIXgAUCP9siqgYLCQgHAwIDFQIDAxYCAQAKCRCxGF+PByO6HT+eAKCBj8MXtxmq
 l0PuLGLnR04gnauqPACg8Rtgb2XwCrgcZFcjS1Fl7/SmTE20QUNsZW1lbnQgTGFm
 b3JldCAoRnJlZUJTRCBjb21taXR0ZXIgYWRkcmVzcykgPGNsZW1lbnRARnJlZUJT
 RC5vcmc+iF4EExECAB4FAj/gQ+4CGwMGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQ
 sRhfjwcjuh2wLwCfZ0Sqh6DY5U2ZDj+JrdqX1qzEaGMAn30UALtH14r1jMPPq6xn
 UuMfFjyLuQINBD/bH4QQCACbO8LantesOQKcxZS6WPSLhIoZerdMJ/b4DCd22GGu
 IM4eoWiYPX73cTMbN9cTEObaA0hvXEdn8vWl9/RBV6aL/fYhAqTVGWhXu6MBJiAv
 0zFeliJl2+7MqzZjjr8GSFkhM3tXEzFr+7r7/Bqnp8hdzMFUS2dLcL+ZTXJuq9s+
 xUNnwt0+Qy13VQU9whTZNZy3PHHa3XRc5IbZ5FnqMM3D7twlt0sS6j253b3CXw31
 qEREoLutw25X8pbQeYJW8st0xIEY9z0MikBOJvKPAUani5+eWjuJC0FlXYM4qSnz
 zhBpDbQBuhQu5JgPPiXlBq+ta/prm6FyJjcK+EyJsMGnAAMFB/9DIGugG/5F+4XC
 dTvFluD8zbP6zwqWRuHX9JmA+oso6ruDHiZ+Ckdz0xBfD8yoyENIRnLmBxx11uZN
 upAlM2itsvAwHMm6zKGLwlN+74vhoCTzvDFtnyTSgC8as4kk4XCax2QMAueFpW+2
 8/SSLqIK2UWT8/5SkP0QaN5qSFgRwhGxYgyVP8pflrjL32u+fEwo8EjNnOUHX4WY
 uzdzq1t+0K2AnZH5TiUCPy9iLP8o3rBm89Qdh45wzqN9DOGePoc0v4opQK9+3TRa
 vYAx6izrRajiGgUHLcYeL2nQxyi3LBkKvbp4Bw/dpxGTdmPhtyU8jYqdP5SQbrFJ
 4DwXqs4biEkEGBECAAkFAj/bH4QCGwwACgkQsRhfjwcjuh3mfgCguHMdGD3Orm8e
 pAU+aCOCPVkkx7AAn2yhe79FYbHDx5Dx2LAfRRRyfxjR
 =lVoL
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.128. Max Laier <mlaier@FreeBSD.org>

 pub   1024D/3EB6046D 2004-02-09
       Key fingerprint = 917E 7F25 E90F 77A4 F746  2E8D 5F2C 84A1 3EB6 046D
 uid                  Max Laier <max@love2party.net>
 uid                  Max Laier <max.laier@ira.uka.de>
 uid                  Max Laier <mlaier@freebsd.org>
 uid                  Max Laier <max.laier@tm.uka.de>
 sub   4096g/EDD08B9B 2005-06-28

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEAnrX4RBADpu3Q03zK8ehNRHgNzTPCEVK/sWWr3hR39/hfFmdYcovwyMTis
 OhW87G6uOA5C84cewrEP866l3xmkS43dkgYhcaLxPYFB94OWzSk95AEgFACohnw3
 l7WgcmHyZbdfCbqtuew4RY6Vqf/UzMVzOlvrAOsla5c4ImpaFmxBAFANIwCggiRI
 o0P2iw3gBY2y1aG+mTWKidcD/3O4LPoZItTzx3vWq2wQ5mwoF0n01wIhQk66UtJj
 LvZV53LzEEuS6JL6LKkl/AlxKaUoS9OUf9D7nyJu/dDYHDKCj+m1UBo3AkKUcutn
 FLgGFwHU4Apcy3CCblMm8j0w62EFnXjIjUoPBqgDUUrePvVfIgJbkFjl8e0LcnTT
 m+KaA/98+/pHRh9EvGKpHWIUc2qHNF1BfFFmq2wzmzu9MCk67IstOWq4GiRChyCL
 V9SYGJ5upRRPMvxAQD3DAclfuyMKk2a43rXM4DRbePPeqH7ZGi/yyzPOGvqLgLDF
 VboM4bNJPa+Z0PX0QU6o70fyWPXQk+23suxDUgYvFrPEufATO7QeTWF4IExhaWVy
 IDxtYXhAbG92ZTJwYXJ0eS5uZXQ+iGEEExECACECGwMGCwkIBwMCAxUCAwMWAgEC
 HgECF4AFAkYBsV0CGQEACgkQXyyEoT62BG3+aACfbtsTiMA94ttjwscgLB9cr0qQ
 PtAAn1j+sAozCf68cpUFjNc1YQyR47pRiEYEEhECAAYFAkES18UACgkQTVOzajVB
 ZGAPoACgv7gaBQqC40XWmJI5CqvsjBKupPsAnRWFhc/QkldYxGG7Zchg697ohuaU
 iEYEExECAAYFAkK+7JUACgkQbHYXjKDtmC2aqQCePdVXxOSZ/jEYuKnJe3HD2fl/
 JXgAoOUsrK0IldUrazH9GBcxY4hl3CmbiEYEEBECAAYFAkO4ZKQACgkQ8nRzewv2
 yFNmigCeJyZdNoRip/NXG7tNwXNQGq9npT0Anie+9MkjaCOWOWMO4XFyXBm0O8Ls
 iQEcBBABAgAGBQJEALTWAAoJEILS9urEu56fkYQH/A+t3UGC/te9e7Ubr/iZ6hkL
 tF/JANBV2YSBrM4O8wh9l0tjd+qGlq2+2VoW38fb6RmZVcAH+sXKm0BiP+v/EmDL
 oxp2DlR9V8QRcuLIITsAVSCIEhuzpMG8EiPSDQvc+Rx0ptYdCYaUvvp+aLYhc8BA
 cKoSDEygmtcOGo1tvAjXKoPnRqo4YFlfhguQB4UVfcf3jPUcGFRrYjGUu0NC33p8
 N5fcCo0VxPnA/jdh87rYq4EWZYBThu6Gx9Mb7Jfzl+Ab8OJs0t/2nNFZlR76V/Ha
 6NPM8iZ8qisVIRcUr5R9btXbjXxfFeNjDDv6R+0OTnuHOLvtEauJ2xAM8yaxvUiI
 cwQQEQIAMwUCQdbJMwWDAeEzgCYaaHR0cDovL3d3dy5jYWNlcnQub3JnL2luZGV4
 LnBocD9pZD0xMAAKCRDSuw0BZdD9WLjLAJ9zn1Xwr4/J4WAlJmRVg1FVaW/qgwCg
 oAb8wcvCIk37Vc4ibHoaLDlnx02IRgQQEQIABgUCRHSMSgAKCRDYNLsu7fxYhyQn
 AJ0dZKh3s95ck9EmRxwQhGHNZzE8CgCgolKTUWyAmMGfwQR4CTC+xKPwzKqIRgQQ
 EQIABgUCRHSVJwAKCRCrGD+pQphAQSKDAJ47Qtr4yLOnAoNrO0CIq2hADRoYuACc
 DMkwU7/tb4/wbhP8qPCayIEe6dWIRgQQEQIABgUCRHSgswAKCRA5vzeqwUN7dxVs
 AKCaTRCe6EZjB44i5pVDPNIjg99AiwCggpSqIFnz/lls5BcaSmqBeRYcj9SIRgQQ
 EQIABgUCRHSjDAAKCRCvZCSxPb07IB2BAJ4h74XSn/a5MJbif3mxZEi2arTRqwCf
 UwQZc1DwKjaCzupo4Y7Oe9oiX4aIRgQQEQIABgUCRHStHAAKCRDieO2QMatLNiS/
 AJwP6dD8FKsbHNapegEppE6kK+Pu3wCfWyN0ZQa06MLQn/xJunzze2w9RaGIRgQT
 EQIABgUCRHSdvAAKCRAy22ifJoR+hI5qAKCO/nr4gFed8oqYUVG3Eg6GCXVh+gCf
 XZd9Z4DCd71FaJQ5bYvLRjodWg+IRgQTEQIABgUCRHSlxQAKCRAqTbBO7XfqQzOM
 AKCEWs7qjrLYe+FSsgKKTsqtlZUgCwCbBYtG4KsMNqlbs8nPHezcRYWrEiWInAQT
 AQIABgUCRHSrOwAKCRAitKPqdki4FQ5gBACAqUEeFuLKCYHCRMkwWrCcMw2KRDLo
 Pt3fJwDc//lUQsNZe0KpXCJv9K86+bgYNEByAPdGbxGC3ARED9dAg2WC6tF7UfGY
 w+AsA4oj/s/O7HeTTzlGGab/nIpzeZI671KXf9bZoohjjGm+V2gWtcVcpfnrqrLc
 7pfQoH01jJ7LrIhGBBARAgAGBQJEdMpmAAoJEM1qd61qq03bnisAoN/orlD1u0wK
 dcptumJjoUnjOCwvAKCP2/K9c8xNqgQXBqgNDVKLLslgzYhGBBARAgAGBQJEdNZN
 AAoJEAM3EQzGj6jtffwAnRfgHkJYCVA6DHvRx8JBJNokZY2hAJwP20A0C+vIEoN3
 fsuKPNhQyI3Eg4hGBBMRAgAGBQJEdK00AAoJEKHrLLXDSN7Ik1kAnRC2aJGdtUWh
 CfaHDvCXBJ6TAV94AJ0ay9Myhjmunw7+fPolmNIpCV90TYhGBBMRAgAGBQJEdXbJ
 AAoJEOWLS9iqGXOkxJQAniacHefxA0jAqU2PAeEL+g7mlLTqAKD3Cr3QGtEnTirj
 1h3RD2TCOIbIKIhGBBARAgAGBQJEdJUeAAoJEKsYP6lCmEBBj2gAoKdscfFF1obc
 Oxy/645pZ7d77/XrAJ9syfxjyzPJGfgD+YV8ycOI/mGO6ohGBBARAgAGBQJEdKdG
 AAoJEMuu3ahKVag6yegAoOhVuTF2b/FTzFC/hXn7+6J4ecauAKCZc7xvSMvRYrE7
 PZDWW4kzl4hAa4hGBBARAgAGBQJEdWzHAAoJEJsk77nPF6IOP/IAn09PBdGa3z9u
 AhVt52wO/8XOLSlIAKCJR+ZJDoOA3Mb4Wgoe0PQZ+QIHDohGBBARAgAGBQJEdu+e
 AAoJEHvDNTBle/A9ekYAn2Pj+m0YOFwVX9mExNGCIPgy5RRAAJ9MK5Lkktxgk1pW
 0E+uYLcd4T9UnohGBBARAgAGBQJEecXNAAoJEGII2gDlIth8IaoAmgK7bk2lh6i0
 hqIt3ICN2+NCmEk+AJ9J9TiJU4WXnna8ua/FyvquDpElQIhGBBARAgAGBQJEedT6
 AAoJEP4Sv5MWA2EcPaUAnRYYL2HqMzaolazxkoLqo7ONNbp1AKCaxl4zHvXEJTMQ
 rryGG70jR+GtSYhGBBARAgAGBQJEeqbfAAoJEBS/1KonENpIoA4An3phAsRH8Z5k
 cgVAt8YOGQ4Bs5X3AJ4qsndyIqer1Q5BafiL/HdqWUWXEIhGBBARAgAGBQJEeqbi
 AAoJEBS/1KonENpI/nUAn0V+hM29bICBnCj/pn5PwzIDQ3UJAJ9+sJMC9YcQ7h37
 Zh5lmTtEbnvuMYhGBBARAgAGBQJEfAIDAAoJEKVSUOZXTbpfYQQAnAvQZ9mqODTy
 w4QbR7FwoP24luyfAJ9FsJGTayFl/uhmoPGSPT7+Z5cXgYhGBBARAgAGBQJEhE+L
 AAoJEEdQmW/OAoFhAwEAoImXPk9xrkY0Eu7Qx+8RhH8Z2r/wAJ9735kIvFdemDKK
 lI9LppKXu+Tkn4hGBBMRAgAGBQJEdXbJAAoJEOWLS9iqGXOkjSgAn3Kvup48ST3E
 g5gtAELFhWoYHAexAJsF7O8sTSEGDpavTQmP6w+X75seJ4hLBBMRAgAMBQJEeetZ
 BYMB4BQHAAoJECJ2djMwHcD7z/MAlRb+6OEt7kiit8QC7VBcs2U5jvQAmQFfsHH0
 V5CTC4D+WSsqzvB8AafJiQJIBBABAgAyBQJFVLZnKxpodHRwOi8vd3d3LnBhZXBz
 LmN4L2dwZy9zaWduaW5nLXBvbGljeS5hc2MACgkQJknmKMXTTQVkpw//fMOY/ado
 SF4u0a7yBqLmHlJZnKqv3kH+ZwbRtHF+Avn4/GWXr/6NatRx5JZ8nljD1xUJWhcS
 9hy3BprkvE2mANbIDCVO87ilZhBfTQCJn2SblWbBGBrNnRuVwGZ9EmP41Xb+ysjV
 UFead61upEXtovGE2apova4es3JqLdNXYcarjMizycpcxxPXNcaZxL9zu1mWYYaM
 weIl3Li9q0hCP/hdo7WxgX57ImY3cvbmHFtcaCOlx9OmgCZyFP/NtBfOMJw8cP35
 B1n9ebgfwtuz5AbMirG2FdKu1wb2jaBxq3SMZ4LTkoUelu119cNgL8v0lG/ckwW8
 dHBAKrwqZcYoJ23oRRTdtyrGyHHxSt/bew4Qsip/K3b5BpF9frFTqCTCuDWBWn1W
 wwy4Grd0PrtRprf2UeBctP2xdqACbSYsvuQQHlCv6KdprzHLVM1/o99/Mn6eBspu
 J581P5R9nWknEKSZwKIg2q0lkRX6Cg30LnbLJqKjaeyNEmbLXut81dA77L0PGRYX
 gr9oK2+eGIXNYz0NjXkMw10QxCLACG6MUZbQc1iIIX6pnpIjNNzoEzWhGk80eQGP
 fWRnOuD27U/RL6KyccjreJbQc0pCVz4Ug+ghQpkFh8rxuHrkD+W3FL2CHQufByJs
 yWU6mDzkqYFnQB+mcnllzERymco7N/GvYquIawQQEQIAKwUCRrSXCwWDAeKFAB4a
 aHR0cDovL3d3dy5jYWNlcnQub3JnL2Nwcy5waHAACgkQ0rsNAWXQ/VjrXQCfcfo0
 Erz7IlfnYn7HIzAxF31nbQYAnR3HJjerhgDSzfzjWpgUCuS4Arn6tCBNYXggTGFp
 ZXIgPG1heC5sYWllckBpcmEudWthLmRlPohgBBMRAgAgBQJGAa7JAhsDBgsJCAcD
 AgQVAggDBBYCAwECHgECF4AACgkQXyyEoT62BG1kHACfYM3aVAFcAbb0vNL4So/P
 27k6CbAAn3D+8gt3GoTL7Q+B0LJ/TkI5HM+9iGsEEBECACsFAka0lwsFgwHihQAe
 Gmh0dHA6Ly93d3cuY2FjZXJ0Lm9yZy9jcHMucGhwAAoJENK7DQFl0P1Y0tQAn0zy
 sIJERZoTKY/rLw3e1C7oo39SAJ4i2BoH4lHdpW1oDnv1e7hlqXFTC7QeTWF4IExh
 aWVyIDxtbGFpZXJAZnJlZWJzZC5vcmc+iF4EExECAB4FAkAop8sCGwMGCwkIBwMC
 AxUCAwMWAgECHgECF4AACgkQXyyEoT62BG2wxQCeIRPC2d5IdKNyy5CHsdTZ4R4F
 RvoAnRWWKFoNd0I4Ing7oOetUH6wD/BHiEYEEhECAAYFAkES174ACgkQTVOzajVB
 ZGAnVwCeM6pxzqKkDmkUP2+CtJZVw+fpxOEAoORU3tdMV6Z/sggWVvt+T+9xGRMS
 iEYEExECAAYFAkK+7JMACgkQbHYXjKDtmC3MEQCg3/t3MX0hBoMDyum+kiGYgHSQ
 Z/wAoLhnkPNS7wQkr4uTTE0xcmPsKU3wiEYEEBECAAYFAkO4ZJ4ACgkQ8nRzewv2
 yFMr4gCeK1fA3Yhvln5VCaCoYLyqUZ+eNAsAnA4ZSB1wLhy1+KmGveraS0nxkFYI
 iQEcBBABAgAGBQJEALTRAAoJEILS9urEu56f0hUH/A3zAQrzrLPPMWnNN/neJmss
 h6eyLEx9eABX1EOrrwapqu3+g4MvvLDFL4t6IgKxSx1wdOueJhPNESLpVAZH6e+3
 VIE0iyvrCT/nWS1IzLHiv+zF9JgoPhjOVXbyo0Do9Eix2gYSybIdTGkP28a4zQf2
 0nkJr60hwcRO9ZbdECSg7Lex+0iNrEZGzWKxMp1AUMG5k00/+7i/zteJ3Am6gEbP
 mttW4lwOjHxPHBmjKOvdABrTHeqtwbCA/NGl2PJ2MrRTI8NINvPIVpVOLvPGwyUp
 7IQ9Yb6iTP3NBuGSfU40+rdQUTdGsWJYTUzLN2oY7JSDyBNNFSMfe3tahIkn4U6I
 cwQQEQIAMwUCQdbJMwWDAeEzgCYaaHR0cDovL3d3dy5jYWNlcnQub3JnL2luZGV4
 LnBocD9pZD0xMAAKCRDSuw0BZdD9WIaiAJwMr18Qw9ovub4LbTQp/UKQd6lQTACf
 U6b4ZL3Ep3RmIVOH8Q704RUXlfWIRgQQEQIABgUCRHSMQAAKCRDYNLsu7fxYh/Zh
 AJ93yDd8YEhcLn2cHY28l2SrWw9I4wCfdobz6wJxvP/p8+yPhZr2F7NDJ/WIRgQQ
 EQIABgUCRHSVHgAKCRCrGD+pQphAQY9oAKCnbHHxRdaG3Dscv+uOaWe3e+/16wCf
 bMn8Y8szyRn4A/mFfMnDiP5hjuqIRgQQEQIABgUCRHSgsAAKCRA5vzeqwUN7d9VF
 AKCeiTDoLZ9owe8IlDKUW1W4fCNj9QCgl+CM244j+7y85/MG10JFwmz4g0SIRgQQ
 EQIABgUCRHSjCgAKCRCvZCSxPb07IEQhAJ9Tug2UAZApuYyLwrjx3JQ58xQkbQCg
 n9Qm1svpN4DPbEB7qGnk2ugVl3eIRgQQEQIABgUCRHStGgAKCRDieO2QMatLNsns
 AJ9JjtQresPmW6OwfTnJxucYX0dmfACgu4ZH+pcWYdriAMt4IPJXexxXm7yIRgQT
 EQIABgUCRHSdugAKCRAy22ifJoR+hAf/AKDQhZzsIQ+cQSC1Xn0HCxJWhz5aPgCd
 HhfJQsQIMF1Oujrr6LtBezm61g+IRgQTEQIABgUCRHSlvgAKCRAqTbBO7XfqQy/V
 AJ0TdStk1PeDZbPvZeJxyHgDRv6XDgCePGqa1MwyzEc9JNJxMbtMhOSrWx2InAQT
 AQIABgUCRHSrMgAKCRAitKPqdki4FZRvBADsdB04GwtGs0nbsiMIp3SG0u3IYnr3
 98i94hFd8wUnvUe4u975gPLqaCSRJkbPb779M9hzlF3BfzFaZWxS2ot0fVdhJwcA
 RDkI5Jpvo40/4pE57oe5b8dnAJLOBnndYLVPo41RAGk4f6bp6IFlprZ54YPRs6IN
 cBppqDcBaqHb/YhGBBARAgAGBQJEdMpdAAoJEM1qd61qq03b1hgAoIxTgdmUjPu2
 3BlDr3ZQee7jrNs0AKDRQkQBTLswRXA7N+9k5j2QJh9mDohGBBARAgAGBQJEdNZK
 AAoJEAM3EQzGj6jth44AnRVEkCik7krnfQP/JsDGcbIUSVhlAJ41FRQkeVJ2GthJ
 LZOwKkCTVuEhFohGBBMRAgAGBQJEdK0wAAoJEKHrLLXDSN7IR7oAn0w/CnOKOa4b
 +GC37OZ3hM2UG0L1AJ9lGwKBuFdjpIptrxkXqt/54M1GLIhGBBMRAgAGBQJEdXbJ
 AAoJEOWLS9iqGXOkjSgAn3Kvup48ST3Eg5gtAELFhWoYHAexAJsF7O8sTSEGDpav
 TQmP6w+X75seJ4hGBBARAgAGBQJEdKdBAAoJEMuu3ahKVag6mLcAoLjxXvtS4p/j
 RZrUuJgtpUXNTc02AJ9Y4e7DMhiUj+7w1C69pMSX4kbuTYhGBBARAgAGBQJEdWzE
 AAoJEJsk77nPF6IOy8UAoK1xUj5X6dzg+Ln1bYNhW3KHLKfuAKCAYZ+h7k+4WUh1
 iP6CutcydStAYYhGBBARAgAGBQJEdu+bAAoJEHvDNTBle/A9G3EAnAtAByfabr6H
 8Ah/jFjYBguLBAwUAKCAV7fnhHshZpnj/oQLDds+zQFenIhGBBARAgAGBQJEecXE
 AAoJEGII2gDlIth8HUkAoIH5taCNbcyJxtpsHM25cfyucyKZAJ9liCQYp80BwO4z
 nOgCVHspkJoVZIhGBBARAgAGBQJEedT2AAoJEP4Sv5MWA2EcTSgAn1ZzLhn7ENjq
 8GLh+U4ZYZ1a8Qq7AKDT+LJnt/rMwM9F2GsgAnkQuIyeJIhGBBARAgAGBQJEeqbf
 AAoJEBS/1KonENpIoA4An3phAsRH8Z5kcgVAt8YOGQ4Bs5X3AJ4qsndyIqer1Q5B
 afiL/HdqWUWXEIhGBBARAgAGBQJEfAH/AAoJEKVSUOZXTbpfeg0An1Po8Xqi85hk
 +veH0+oru+VQUlZJAJsFKAgGAp4gxrFT9wx/0eXpBfYtXYhGBBARAgAGBQJEhE+G
 AAoJEEdQmW/OAoFhwiUAoJ7hb15pudkdCiWc1nibsWfIMeoHAJ97prq8n0NuIbKJ
 oHCyhC3h4dMsWYhMBBMRAgAMBQJEeetZBYMB4BQHAAoJECJ2djMwHcD7lqIAnjAP
 jyE5E5UnMBI/EaKR9kJLiCPPAJ9chDiiQs1etWET832850wSsDTDTokCSAQQAQIA
 MgUCRVS2XSsaaHR0cDovL3d3dy5wYWVwcy5jeC9ncGcvc2lnbmluZy1wb2xpY3ku
 YXNjAAoJECZJ5ijF000FIYkQAL4x6yQu/FZfI/aaCy7O1gr2B03i2yvV2GaaOaHY
 gAmt40f3DzX9AYk/ISLWVB9zt9wEdt7S1Cm/DUlX3lfVfi5I9eEM9l3DDsRjxXz8
 slgbIR5Rkfx9wDHaQ0FUPE/m1BLFArzyr16ek77TDxzQdo2jfWQfzfgfUGsIEUSz
 VmqpJTExPfsxPW53I+vUhtQfrglnCtFr85A/CtYeq17qtKIZsUGgrWGqasJB3Dg5
 u+tDJPbfbwq+ipu6DKJctt+E74mKvLskZAqq3aWtYWSax+xPBxAaLYLeEs3o3H/8
 qxsBch9/C3TeN5CJKOtcMw41nq6cofTCBCEucsR25pjRGexmmmtX9boBBqFC8JXx
 MyFWvW7t3lt2iKLEt/4FiQ68spB+VsLZeSTBt3xXg3yqRaMfSoJ0AzHegK6O7iz7
 eFwWIgAX/129cUfJ/KAnvShtNrFZg+T0p/0w9nMh3dtOj/YEn6Kzi3J5+4ATlN57
 ln29VH80238RjudDiHbDRNEaBQnBYKnJp0nqyK9yhbx0VeeP0dFqoQk0JmPojCm0
 xixLQEzBoO+vDBOBZfBtqIfeV6QwTDdEu/XcAM1ka0eJxIxnyIs5hbkoWjpbH4Yo
 Rmj2AIEwwNOUFCov2c0m4Sakl3qO9IJrggQPCURwbxWU95lkVEnsMWXDXInUS92V
 g7XMiGsEEBECACsFAka0lwsFgwHihQAeGmh0dHA6Ly93d3cuY2FjZXJ0Lm9yZy9j
 cHMucGhwAAoJENK7DQFl0P1YrskAnjIDlGZV152iILDR4rWOffMh9UE4AJ9acnJu
 H0f+7Twsx+0kZLVarN6+eLQfTWF4IExhaWVyIDxtYXgubGFpZXJAdG0udWthLmRl
 PohgBBMRAgAgBQJGAcSkAhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQXyyE
 oT62BG0dBgCfccJy3a+19YjynymN8l0Qym/hcaQAn0Va5OryzscQKFRaiSlgEnyl
 C0XdiGsEEBECACsFAka0lwsFgwHihQAeGmh0dHA6Ly93d3cuY2FjZXJ0Lm9yZy9j
 cHMucGhwAAoJENK7DQFl0P1YBrAAoIkmja1bQynop5qJ8K9p8rbCnj8UAJ0SqUf/
 01aCH6xDxGqPTgwY3QusGbkEDQRCwU/HEBAAhl9u9dVzrISpDQv3tT9nQlQw6AW6
 4uW6ZXMprO9Abp6j452hpC/t/LSbGonB322QpHxpYeFr6NQcKbk0I0XAN39tq1E1
 nDqNBaB3FpqFgsOlpSNqULSn1y/t7XXu/hDd/J/s7FXKr2vko5stZDTHEW+9oR9s
 8vEVWjU8DAHltY7vIsHUEZwebotIbGObfUEkiNLoG/aP+1Fo6Gm7HyPO66oUtEmP
 vnrFcfGO5djvc0/3jxKNvpjdRO8fFE/B1996M+DFmevQbxXTupQ9QCY2Bc3sT4Ej
 w7hBB1Byo6AbkcfLn2A+Kua1zSn8jdQ+BEInCpYoOqfyNjY2RmLGX3iSIiDeldUB
 saa6E0sJhmR4PfQ1A9q31fLTIgw3Lnk5cWjIFIbxV1775B9JLNUKk70mGN0afPlT
 0HUd6irME2yiASJk/pYC+O3aGYxQYfDCxIgPYgOVMyYCXnfp6OcvhkACiF1+0S/z
 XxZmEP9WVR8zVKPC0tXxcw6k5nmcwe9pgNABrUdWvo8KifN1NNkZB9+ZxAs+1wln
 DZvh08X6o6TjWOh8123R1G5gfPEH94huiQKZN70lpALI33vF/M9W3C/jzIZBMXLJ
 +bSIbj3oSSM9tNWni8mKBMUDuTGKKqaUdSXC73YP/BoJ34KqRsmhRMhBBBvvGfwK
 2sBO2EoBSFXMzGcAAwUP/i8dNzyBAZrqCQLU0/LL4uztlpIenZT7suFjBmX4ntZl
 9QQndVBeMF+YbyrdO/0tkpeu3lz0exJt4g3Zao7K8hCqxUTPS7+QExTMusAiQpQv
 te20zvJ2DbN63YXW3EGgBPlAmPQjtU0duzxa1dq4WHQy0dbBgBVWipMGBKpYj4mZ
 itIMLBZYDVOQbb/0NNtYc9OJXZtpffw/txiPbkdbYIkm1UQ5uh2uUI/N7bswhxef
 inn2ZHtMh7U+8EPXiA3V/Ved5gGjWDddt4AAYFDasKrHeb133kn94hBfPd/eyHJ2
 tPMvgS2XBdhg5/rKpbL09YeuZGoW1QSj9a/1dE+5s15lhqCB2a4xA3Kyr7XWwt/e
 ZFBK55Sk115Z+Dt6Q0ZipXoZ7reKIdeZElM4IRR2GyZLK5W3TmcWLDllboluD5nX
 0FI/LLazZJzTEWfMb8F5WvzyceQSsjc3Ngdt+alWYyIgGqXhhVlnUlCN+9R2/+Kh
 e9/ftBkqaaKph/O2+KImxJVgU1SNAEfsddDkV93sUFTpQ731l+j/1Oj+yopuR10k
 Ny1npFXVkfpUEn4r8dItKVPm6AtI7UMwR15DBdNSDA/v1n12M/koGOLovF9IZPTK
 88hphpkHpVreSixBSv/KHF0mUeSEqFgtGNKbZUM+5KyO0I5jYMKpW90dtdHs5QD0
 iEkEGBECAAkFAkLBT8cCGwwACgkQXyyEoT62BG0ivwCdGnHCqBuQeSM/FBOB0h/f
 01jfP2YAn3DLpgqbfVb0MZfxffpFg3K6fWkX
 =jGQA
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.129. Erwin Lansing <erwin@FreeBSD.org>

 pub   1024D/15256990 1998-07-03
       Key fingerprint = FB58 9797 299A F18E 2D3E  73D6 AB2F 5A5B 1525 6990
 uid                  Erwin Lansing <erwin@lansing.dk>
 uid                  Erwin Lansing <erwin@FreeBSD.org>
 uid                  Erwin Lansing <erwin@droso.dk>
 uid                  Erwin Lansing <erwin@droso.org>
 uid                  Erwin Lansing <erwin@aauug.dk>
 sub   2048g/7C64013D 1998-07-03

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =5i3W
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.130. Greg Larkin <glarkin@FreeBSD.org>

 pub   1024D/1C940290 2003-10-09
       Key fingerprint = 8A4A 80AA F26C 8C2C D01B  94C6 D2C4 68B8 1C94 0290
 uid                  Greg Larkin (The FreeBSD Project) <glarkin@FreeBSD.org>
 uid                  Gregory C. Larkin (SourceHosting.Net, LLC) <glarkin@sourcehosting.net>
 uid                  [jpeg image of size 6695]
 sub   2048g/47674316 2003-10-09

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBD+FkxMRBADL3ErUi1Ma8ItiZAyif8+XF+sjNQkEzw49rLGShJhVGWqRXbPT
 zGtTkyDmvhWXx0Wo0ogcEZPuKG8gJyTvrDktLVeDus33zNzemuBVZWYyvdOAA+6e
 3kDIodoFC/ZjrdD3fFO+CyisIKfAee3xqX++izsbxw5BRZ0ra0gFlcVcnwCgzkdF
 I6KcvzNUso6rxD7yaKXAY+MD/2OpMpMIbUDCUh+oTyV2WZsEhhZqlg1L5omSnzM7
 D8weSSedaLXyfxcrNhvuhJ7pX2sTccIWwmaDZ0cvw9jK54hZuBs+GdpglWIxyKIN
 j+V9rQdZbpFk2/36LpxB/FDC2r9ZrQYXSEghl8gVKcFYfPgayvhZK0qSbux8LPzV
 mDMhBACn+e4vBMZykbTGaCT3GvFX0uj/zu/gm0WrgLjg0K/aDPuF3CF63FMX7O36
 ui9WAW561UPEq8r0rpZCCWlUXuAsI1vaVrGn9Qp65LmBaVC102LlKGd1rULw2wOo
 LUF1zuHv4E+kftv5caYD0uY18ZA47VKGA2iRElDvPT3gs1KJdrRGR3JlZ29yeSBD
 LiBMYXJraW4gKFNvdXJjZUhvc3RpbmcuTmV0LCBMTEMpIDxnbGFya2luQHNvdXJj
 ZWhvc3RpbmcubmV0PohaBBMRAgAbBQI/hZMTBgsJCAcDAgMVAgMDFgIBAh4BAheA
 AAoJENLEaLgclAKQhNcAn3vHb2b2ar/sCchPl+lR5KPI4WaIAJjp9HHUeEUIJ759
 BxRYO1W08nv/iEYEEhECAAYFAkg/sKoACgkQJqR8av5thQ8htwCdFGhhoo6q6UOc
 tmLIunGOgQHpK0wAn39DnvAi22Xj8ed96mjRNmyZNAk1iEYEEBECAAYFAkg/TK4A
 CgkQAklOUvzaV4dcAACffajzObxNZVd/VC3rCd81XsK38VwAn0XTT5jNSbZRIi28
 5WjLpnGZ9tcy0dl62XgBEAABAQAAAAAAAAAAAAAAAP/Y/+AAEEpGSUYAAQIAAGQA
 ZAAA/+wAEUR1Y2t5AAEABAAAAEkAAP/uAA5BZG9iZQBkwAAAAAH/2wCEAAQCAgID
 AgQDAwQFAwMDBQYEBAQEBgcFBQYFBQcJBwgHBwgHCQkKCwsLCgkMDAwMDAwPDw8P
 DxEREREREREREREBBAQEBwYHDQkJDRMODQ4TFBEREREUERERERERERERERERERER
 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
 =VNnr
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.131. Frank J. Laszlo <laszlof@FreeBSD.org>

 pub   4096R/012360EC 2006-11-06 [expires: 2011-11-05]
       Key fingerprint = 3D93 21DB B5CC 1339 E4B4  1BC4 AD50 C17C 0123 60EC
 uid                  Frank J. Laszlo <laszlof@FreeBSD.org>

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQINBEVPgQYBEACvR8zsof8gLi7pF4331BIVluP61Z4ICzkg2lWLB0Gj1feCbBcA
 neds8gqHJ7vxArQeYTBV6Gefk4mvCecxo2LGFEcsDuns2X1hf1pXz4AKvtYoVL0e
 ytW5s3bRdxX+gekv3KxVQjv4tJU2surbW0Hv17Z4m4ZbRfn17dzvpMwtiZmP3kMX
 N0qAeBs4MZxmWhfYHapc8du75XfpvvD2W4I9VBJXd6DLKNksjq0/Ih3Ygh4kEVxH
 6xQT+lL+6yVWTl8XQpJs3u0OPpY/dVjI98DaZucW/Lkh/+uxZm5ndExi4bFJ40rY
 KfqCsbGAYPOj4HKDkcgNZu+MbC6nIuIuh/eK8ZIpSlSdkzJ2r46wOBHLUJlJoxH/
 P4Ly5cXu5lUX2Mf8/HahPSY++5xIoSI1mpqruJyQZxhF4J56X1Bn0BnMmFt+uXF7
 O8bjQi4XQJBurcSkAuBnTQlohuAXDfIqeGqqMN6iDGTGCOL9R5WZ6nasyDL+qPA5
 WK/ooxINQWPWbTikYb3PZK7v8ABBj6TYAAGxAYrly7boIVKxYUFbotH4Y8dmXUEr
 p8Hj+tFZCk6AKBn/lCLsM/vTs0ylaSHJOhQc49fj/PETGSQLVjd8iH0l87MfLd9i
 iLnd0m/Y+ecCobgQDGnDQiFqvsJF6VI+/bisOJiE/HdOyo9j9K3jJ1l4gQARAQAB
 tCVGcmFuayBKLiBMYXN6bG8gPGxhc3psb2ZARnJlZUJTRC5vcmc+iQI8BBMBAgAm
 BQJFT4EGAhsDBQkJZgGABgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQrVDBfAEj
 YOwJtw/+Pe7qOPCqTUyi+w9k0829sinZIkLxpqJPSzzYaHQ1QGIOg4wO5yCER49n
 Sp7V/S1cNKXTIR+YU2Pf2dj/s7Ot6bRXl9dDnUgMjkvNEEIO6a9gazZSfD6+5ECL
 DFEcJ6n4En02dCjsZQ3uR9DITAZcd/Y3Gczaplwd9LHpUoh/nG1Dj02+6fB0E1wQ
 ebm518PDvbCaQvggYIPc8DvS5DO3GSRLQ64a2bILYOP1UXPGn4X/0yoayieyO6lD
 HFA1gVCROtgG1II0ylDWH+Klp4nAyRcqoYfF5kHWsvQS9N27gf90F0XEALjxCCEu
 Osy4rtDvg1mU1AK0eflyZImJBFfEOXZrEM2TYo+H5X1KLEMlCzgz/5MoOQ3F896u
 K1Rb95LuF2BJOJsnYbHTEURwloif0U5VIbuH6s37bVjkXDbHcQo1UGwQM/v6tPaG
 YirZCgh+NpKChuO43XvQTG7CL21qqten+DOh6MBPtBK9TeZIeuGPiUkS1WcCwRbp
 QwmK2wZeVaZKReqLJO0QXq06dgd4iaiN7W8p6HZe3LYbnR5d8SWyPp2RQxESOOF7
 3atOTQXB5hn+pXuHpH1qKK6RkiD62pMd2RgRJlCdKZXM5UKjpAV7w/k15qiZuZg+
 N0Jkod50e8O7CLTZdXTTYpifOkjdnycBY24X1Ra0IqkTC69zPrs=
 =xm1s
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.132. Sam Lawrance <lawrance@FreeBSD.org>

 pub   1024D/32708C59 2003-08-14
       Key fingerprint = 1056 2A02 5247 64D4 538D  6975 8851 7134 3270 8C59
 uid                  Sam Lawrance <lawrance@FreeBSD.org>
 uid                  Sam Lawrance <boris@brooknet.com.au>
 sub   2048g/0F9CCF92 2003-08-14

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBD87mDQRBADpSK4q7J5JpjHMPdlp4ieo4jJR9V63tvptpBOAk/nuhWnY3fpu
 Z7pcxOy5I5hZDIu2kn2zkBv4CTsn9yxdWgJaSKU9nQMYpfFdCnajo0HTwV72+7eK
 u86VDWZeWuuUIiHVNBUILClbOadmRFDxuCCjyE+V97o4CiUu350M28YdBwCg6LE8
 dpO9NELy9LJxyhPBE51iS4cD/2CdsCXzmKaFTa+w5fCOSBzNv516qY1GEkNvmDrD
 e3dgeyxaembidWjjU2vqOZmWFP64jgayvyFZChGMlRab78GKXH7DIGGrXWp9v7B9
 JjCqDyuX3NGaxCDFUNJYR6nt7Q93sAT85oAV9EPeFFEx7Ksd4C1iKlGlohGwleb5
 TCngBADX+A5DR9eI9E8loh9NmT4HVzvjk9kvk/vq9i0MqxgcEBodgRPibVKWTWOj
 MR0T+3qOzLGiVjIL2FzVF1na27hGJmXupxU4dWoKVGR85JYNOoFBNuR2HZsim+iy
 sX0gK6ejsxVhhx6Q+CQgCQ80TzuY/dD2qFuOGkda0P9Ro62yt7QkU2FtIExhd3Jh
 bmNlIDxib3Jpc0Bicm9va25ldC5jb20uYXU+iFsEExECABsFAj87mDQGCwkIBwMC
 AxUCAwMWAgECHgECF4AACgkQiFFxNDJwjFmBaQCcDJfb0SfPgEimiFVhsQOJccxJ
 F1UAoKJrgMOoY10RAqM822JzOnn9mGXutCNTYW0gTGF3cmFuY2UgPGxhd3JhbmNl
 QEZyZWVCU0Qub3JnPoheBBMRAgAeBQJCWzEGAhsjBgsJCAcDAgMVAgMDFgIBAh4B
 AheAAAoJEIhRcTQycIxZWoEAoNefUsJBBCoZSmfVIPEh4g1oDmOFAJ9H6Q4/hfh4
 hFTLxU7p2bLgbdjGHbkCDQQ/O5hBEAgA5LFaiwqsnyrdVB+Y7S511ZPmQOi8UwfQ
 04PIWyt9a1MwGSYdUpzGAieMLe4KG6olMlLH0X/qxkVjbukwPyybeN7RNUZE1DD7
 KGbVOWpyQHhAB4EPfzRJFYQEmT1x7tk0nVbF7emuK9iG+Z3et6Io58QjOgyEMLYU
 UjwzCE2NYjJmMLEy1e+icfEkOs30s8XPrus/GNffVlsxmHEzxtsicw+AVnlrjLtG
 xZ5DsNRqJM14L9X5qR3O0dq3BnKGZPOctIF6bRv0AC9lX9kQ1saFqv8iEHoHZ2vD
 2eIplYu/bviD+lI+w6zrq/KgNHQ1n9ngzs/N14lN9C57dHTS7U9nJwADBQgAhWSk
 YnYr5vUskZgVmf0joVgYNBqXIBKo3qXx0DYxGOT18EbKhtSYCar4Uhjob9fUhQop
 nEd00GQVZwDTL3/STCXUUSaHRJhK9yCwgvQ+/q58yW1JvMrCA6uaca89y9DnfWxv
 0lFbOdLJJQNrgLCyNweLhZcEjOSTQO6EZB5OX+z4Dgfxd/5DKWr19JKw54Qtus3s
 9zZhVoQoXzWiDlYdtuGUjnVQvycegOxwjFN/TP9IQpQS8HFMfEu5GLTbRAQ3zirS
 W4FtGaeI7cUqap6ot2BRd1prAXyThXHxYAARaYib/xvCLRDTfXCHgJXbqEiJ72Yy
 FgGYqFTRrTTgxiXo9IhGBBgRAgAGBQI/O5hBAAoJEIhRcTQycIxZLQgAniGrL6cw
 +rQG5xLeJ6hrbllYV+8cAKCmIpsp54t97HWvJTKN9GhbpQhojQ==
 =iBxM
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.133. Nate Lawson <njl@FreeBSD.org>

 pub   1024D/60E5AC11 2007-02-07
       Key fingerprint = 18E2 7E5A FD6A 199B B08B  E9FB 73C8 DB67 60E5 AC11
 uid                  Nate Lawson <nate@root.org>
 sub   2048g/CDBC7E1B 2007-02-07

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEXKYeQRBACVxgl1l+IwFK3aZ96X+BHzeUuGfAAWSqzZuJq0rVXhUU0KnGy6
 r2HLJKwGlSQ0tP7rsYy34fDZy5BB1JajHNUIhb5SJFZH3VltQuZ3mnaLWJajm4Q2
 c3TRBVVFcm4y0x/QiCcz3JvCUWHaPUUWlpbrkt57O5NTVlneOtruZtYPwwCg+3Ft
 WjNU4ppXEbbsLHsIri5gPCUD/2e7RFkq1KaaqA0wfwictFgxuOZX00Do1kIFfoE6
 0jKSxU3P8E01H68vZs8vGuVOLVE1pXoWoJa68zVOWkLCTE1z2U5YJumZL1mDRRHt
 VfqlsaHNBLIRd9qAZsj3F5aSFu1/hCOiUkgLWQa9e/BAv76L+mCIJ+g5bU0YTEhx
 XoFwA/9dF3JFdQCkrzbhS9/BSjEIXDCl7e9Yt4/6jTg14fr9Pb5hyUYYxu6i5v59
 TgSdxSFUd3MaZmH3Kewg++9oqewNEYdOu/gmx7GiSKr3k0FlX+aK7UsVDjEr55Gi
 XH5pqUce7y8bmx03a/pa0Lq5WLvPnfUaplWeoCmmAXeYmRFYqbQbTmF0ZSBMYXdz
 b24gPG5hdGVAcm9vdC5vcmc+iGAEExECACAFAkXKYeQCGwMGCwkIBwMCBBUCCAME
 FgIDAQIeAQIXgAAKCRBzyNtnYOWsEUGfAKC9mTqJd/PjHdTG0YZkBr0Y0PLmCwCb
 Bl/VHprr5SrFDBdZy+vB5GIEhme5Ag0ERcph7BAIAJKt5PBfx/CEqBDS+JkDyYLG
 RA3johtfG5HPVPOX1iFJgDLx/5ZKIsK3oxJLkkZQDBjzJgU+GcffBwafaTObEbid
 D2rtwtqfM2EgoSntvJhrP09Qfx1/MOZs4MVJbGEec9egMgFRzUSKZ2xiYNqKOWL4
 dL0TOyeLg7HQne1fuOOFEJZJtCxHAm75z6Q8deYHr7bQQ6NZuYc2qsOLjBX+M6Ig
 d+r5p3vhkeg0uUzkRR9bAmtaDT3BFfxfMG0b4iTBpDW5UQ2Cp0NG+SAEaXVCYNcA
 kKHZGTTI9e6a8AimsP1wOKs1TsE7WSLsk0Y1U6E7OuHLdmGwZygipfkUXR5v/hMA
 AwUH/jLrMCAzZaCh6m6mrJ2HYCASRSfGKAbmfqPymEICfZ3Y+FeCCFopeatMZPyE
 R6gEzHyu1hlSHV6yTfxRDV+gO6Pl9snsucJtD//ZnfNZenKsFoGJM8qu758jBA5m
 FY5bTlkySmFJYHGAtpMap85j32iA3B24VmgIZ+rE/YVQUbbkaFrKN7Crvm+PgH1u
 xbLrkjypklyo3iZZQo75W7SobSvyqnG3LRXkXsS1U1m3QWcLqIjKZTrrhbV3IIRK
 +A0rSRKXpDt5lOYIqbJ+PwwGexlgzb31vJa0+N8qjdvbbMZIOA7mDVauEYsETkU0
 Wtl5Rc1M8Qx2IISH+K3AGXHqn3iISQQYEQIACQUCRcph7AIbDAAKCRBzyNtnYOWs
 EcVTAKDj9JrwUwygZFNG+oWsOA3/ikA7qQCfQkYnj9q6E0Z21p/ZTDptic+qSEI=
 =yO1b
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.134. Yen-Ming Lee <leeym@FreeBSD.org>

 pub   1024D/93FA8BD6 2007-05-21
       Key fingerprint = DEC4 6E7F 69C0 4AC3 21ED  EE65 6C0E 9257 93FA 8BD6
 uid                  Yen-Ming Lee <leeym@leeym.com>
 sub   2048g/899A3931 2007-05-21

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEZQ5iYRBADg09p5ljHhIDwhH8i265BFEL1AyW3EPEOb0CyFErp3K4H7+IpG
 FeaHUrB2i4MYs2r9gAMHadBMTXZJv7ECq2AUQfm3vTKeBjVVz/N7jsEDcmH6bObY
 XvfRlp9618IBRCDdcbD3Qs0Bv4tM+e0oNYBTsOWAO+bfpHYPk5wORxq6ewCg8DWN
 J/THLd42Fd4HTfxTC4tTa6UEAMPz7iASUbyJr7//O/Uu+05MBKX8wuNdrH2XPUWq
 MwLcgEpKSFl0xjpJUMpr3eWGvAg0Vz1UzxDUvZUwbj/5nXh2olNoMH2LQY0QwXGG
 TPudevBeJ6W+UaEGCAH4Yy25hxxr9h8XI5KRlPCOjQ8i6H+EZbLRTLgOrvBWvD8B
 Ob8dBACGxoySAQP+leHIe9nrKyZ00tkNI6WPEPAG+14yiCgWLJnWKi7maIHzjG+1
 1Fz5+nyMUtHofmLvNyDA/V1e2LFXDjH3v/PcTCQON8EnHAoYmqSRAZMBMmDpU1Af
 f/vbiOg1zwhwAhdO8y6GZHcJGJjJ8lJYs151ehSS2Oa+NRCfH7QeWWVuLU1pbmcg
 TGVlIDxsZWV5bUBsZWV5bS5jb20+iGAEExECACAFAkZQ5iYCGwMGCwkIBwMCBBUC
 CAMEFgIDAQIeAQIXgAAKCRBsDpJXk/qL1q9tAJ0fy0MkFt+hNcvb0OMqTRJvjYlB
 KACgluazpF5ATo+dNtJifOd8kMBxB+C5Ag0ERlDmLBAIAKOlmONAuOtrVXvRw2gr
 wYNA4bjQrv44PLCMGuicddC1S6+Ngp+F2bjq43iyDk06i4eXBop0uqzkGA56pCVW
 51mSLThl5q/1dixiLDOSy/9Scuei57KuP5MOk5GpFBU/OZv0R+1ZaK+718+jI8/E
 NGOt/rZ3ZaTR94rAn9yQzVp4prVw4F7r6Vrp9mVu2qgoYKpwpfuR4nw1kq80Z1R8
 TxtUrGFYSY7nRTPI6FI6fo6BVPMAw01Xh3oKfDfrecaNtNNgM/DvkrBvZsVHu3NO
 M2yAVL6LP/Sjv0uF1pK/WjP27hzvO3yha2KYS3oBu4zysyVbi7QuFvm5FmF0mKik
 JosAAwYH/RWHzWWtpgXdbMUrPxFTmFhXCVVuyiHG0h3bMZigKtAMcjjYRMenhiRm
 e5Z5si4VzzpaaZaVY6T7hmzM3cran4VH6dFdZy6qhBFzlJphpLwnJti/FMrF2CdY
 1kthUC0fxeEDPBkYvV1izBrPQ915XYXuXdJjbk/ATqeIKsqEHWSmTCLcLLtWn9Nt
 X8DWU+GHMbaMAbtEfL+i8vg0WIOeSE4tlQwIkvSzfXh6Rysr7NtOuYzADD6ORRkg
 Q9K802n7IYXqWhZTWKijXpf+n+NzWdXC/1UZambcfo1gcS1fotmrO3Fmq3+FgJ/A
 YPmudGbHwUlAXVfJ47Atxggoe0znf5CISQQYEQIACQUCRlDmLAIbDAAKCRBsDpJX
 k/qL1tpnAJ9MKjKh4P+ePXeQ+yIwfPza+MnFcwCgvVONrkQ6Byi+tZ1ilTlKR+8+
 xnc=
 =XiOT
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.135. Sam Leffler <sam@FreeBSD.org>

 pub   1024D/BD147743 2005-03-28
       Key fingerprint = F618 F2FC 176B D201 D91C  67C6 2E33 A957 BD14 7743
 uid                  Samuel J. Leffler <sam@freebsd.org>
 sub   2048g/8BA91D05 2005-03-28

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEJHnP8RBACRTtM4Fb2oRITEwfTLIKSa5Mk0m1A7Pitd1qkjtAyFCi5V6uF/
 2FXPP3Ux3M8xzrvkQNnWkYvGh5MSgkkJ0nszUvh63m5Lp1Yr/EMQr03v1HfqGKF2
 SALv7eVJ3XHEEGsYq6KOcJ+2n3FkL6bwGXkXSya85a+EwQ+/aBhpEOEKwwCgl4N4
 oTMEgh2Z06ZkMJrqbf4/P38EAIAN93nvAN14v41zw25b4USFzqH/JFTG3utAVxiB
 NgTEkD+OkktxJFoTrZxfxoU6Od4tl+yIyhKJgj/QlH5pA/mpMeaXh+TQ0/EQAzml
 d/sw7vXV3WJ+zXIZeh51yuHBY817e7izcnfmY33UrOdf4DtcplmUrfQd1eVMSo45
 K2b3A/9a0tg7NhdfkL06b97oyKb0L8F92Q1sO6J5sgsEjNrUVrFnNU0DIDgbi/0t
 oBpnqIDa09hhBJ1XYcxU4KMxBLpuIeuk2cDCUCVeeEDmx98GIss3hKO8YWzB40y6
 7vtdh5lveaNV4+CA2xL/cDXscl+poRQA5tR0efR16jckEaEcVrQjU2FtdWVsIEou
 IExlZmZsZXIgPHNhbUBmcmVlYnNkLm9yZz6IXgQTEQIAHgUCQkec/wIbAwYLCQgH
 AwIDFQIDAxYCAQIeAQIXgAAKCRAuM6lXvRR3Q7whAJ9e9jjfVscKVirvWN5IM2j0
 60Q50QCglAppekJH6jWStTwoq1EroBFPKUy5Ag0EQkedCBAIAKmxNvJW/W+PrE+T
 JjKw6dbqUqAUNIGWnr6xgL7KYBpx5eo0XH3RCVzvRSfboA1+nXauTn/FhOtWMw0J
 dkHrMQhxKSDhWOxeftKuiRiVLPXxF7PX0JMOadxOuqNSt1VWcuTxxBB2wva2Rb48
 JscdFbT2u7+PHNarDgUnEobobdvbzh4F1ACaesUq4s2y8jH+YJTaBqJJuZLjLwti
 C2zv7skf40I5ldud4/7ARGuumpjTrqZFQeQwPKX975X+jw5SBUJXA1ckKcgTp0s5
 Yk+O5+yUkt6yzDO+CAYEaZ/xfpOhwmqSIXtdo+ilm2q3y5l+nyEVidYncRWRWYyO
 iaXOJdcAAwUH/0Ixl92WezOXBqMrKVaA+abCN6t6n9zxSnwfVo92Vlfqj8Huz3Hk
 55e1in3P01xXdNKnapYNkCg70WbtNQtCh0nJdGGDEWVqJsjiqDDMYa7QLahV7HPB
 RyOtoAXnTWPpyk0d5WEXPLJ3vPjxqv5wKTmav3JcvVahSVWi2wmWAgfQJXYRvCU3
 EEQ5KqtCBrQNdBsSRnzgDsMY2kAh02VuGTbkVlQz/rI7HAYEOL8SoR489O/MTE+b
 5HtUT70rk57/3jR3QtiH/3Q7OqnPh/ATjO+pnPuhfqHiQWLWRDigJNheH/B+1Hmn
 sHiSWrUmlaI0bzyIVW4Xft3nu/wH3QVSSWOISQQYEQIACQUCQkedCAIbDAAKCRAu
 M6lXvRR3Q1SUAJ45iX7Ka9rb5pwAmY+fyfpuO4qgJwCfW4VAl3+NLCCP4A0Y8wlb
 UtEtg3M=
 =kR9a
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.136. Jean-Yves Lefort <jylefort@FreeBSD.org>

 pub   1024D/A3B8006A 2002-09-07
       Key fingerprint = CC99 D1B0 8E44 293D 32F7  D92E CB30 FB51 A3B8 006A
 uid                  Jean-Yves Lefort <jylefort@FreeBSD.org>
 uid                  Jean-Yves Lefort <jylefort@brutele.be>
 sub   4096g/C9271AFC 2002-09-07

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 3bMQAJ4soo0qCyPCVz4Y0Ly5jvYWToXt0w==
 =kszM
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.137. Alexander Leidinger <netchild@FreeBSD.org>

 pub   1024D/72077137 2002-01-31
       Key fingerprint = AA3A 8F69 B214 6BBD 5E73  C9A0 C604 3C56 7207 7137
 uid                  Alexander Leidinger <netchild@FreeBSD.org>
 uid                  [jpeg image of size 19667]
 sub   2048g/8C9828D3 2002-01-31

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBDxZg2YRBADEFCcKKsa/VS6z7aq+04C4rJ925MPEdQnGo4EVKtRv38AnqUaW
 M6w2CJuDQ4iS+FL+nWaSwRnfGufftkEx0mSum1FMXQQ6+buC11LkgUYcF2f0wlak
 HGr6Vo48RGz76Vi7u5tcoEaLb6uYjJfOOAzYX1aOv/T+qeGVc+JJG4LhNwCggBHB
 1DpYSy35o1I7EyVufjruQJkEAKp11sHwuPcc6Q4q5hSKG3VM5TJKHwRkdoRxgfjT
 UJGecH9GA4Td7vh11dMyS22RnFNS5hcCdCdoe9PkDEvwp+w30pi8uNOFmpCF9TlA
 FRgwFC9pq6VveHd1PHWSRgiTFxeTXgJ0Y/zCZSitURCtlqMXMg9qnUe1tTAF99yp
 zmQZA/sFaFGTLzCbPrUY+2q13b5PSQsv2D5FHFGuH3FL/rIyPexKmm9Fcs+LAQM7
 rx94ipa0OpwapUwCFPg6zNqQ+67JM4KCzRsoSQPsVtCNNcEODQRMXqx6DK1tYUvf
 ymCAmXUqqqVXARyDh954uBqTfRSASsqPsVAxtwmVA7rceEcIfrQqQWxleGFuZGVy
 IExlaWRpbmdlciA8bmV0Y2hpbGRARnJlZUJTRC5vcmc+iF8EExECABcFAjxZg2YF
 CwcKAwQDFQMCAxYCAQIXgAASCRDGBDxWcgdxNwdlR1BHAAEBQuIAnRn2yTAmJACp
 PB9Nc1WjeQpipeDAAJ900VXCYeRbwhfldpGMbiGlkj4Ly4hGBBARAgAGBQI8WYOm
 AAoJEHninGCwBj/nkIMAoLd0ACBW+D47AAGAHLvbnoVOUcysAJ48WGg7PqFVvxq5
 66+s+xtIsYOK1YhGBBARAgAGBQI8WsZXAAoJEPSMqBtpqFhziTsAn1jBAxq4biI6
 ZMO9tPDjXdgGWCu9AKDW3KmsBTCEZomtitZtbKTPiun6M4hGBBMRAgAGBQI/jTT0
 AAoJEGx2F4yg7ZgtPz0AoMP+vntzMwK6UNZiXNqnicGBn1fRAJ9gslYqStRTXgv0
 GytGmbrqAvKUt4hGBBMRAgAGBQJCNujQAAoJELNT4Gpva4J6gesAnjrWpLWWUFF/
 Yt4GUP7Dd2dCqTNyAJ9St58kCHv3XQPIOWScicMrGTebBYhGBBMRAgAGBQJCOoAp
 AAoJEOMv2scF+1/ZKEcAoKssBpCFMaSAq5VWLCO4ggxb6WodAKCv2hiiV3dHswxe
 I/l25PCDATjTSIhGBBARAgAGBQJDpJAeAAoJEIXUUEVraRsDpIcAnR2iRPpS1w3i
 SCqV5/5+jJx5SyjtAJ46/73g9swXtLEIUgl7z+RGg1/IQ4kBIgQQAQIADAUCQ7Gf
 MwUDABJ1AAAKCRCXELibyletfH57CACMkpmNhmUxfx9Bp9ifKhvZ12ZOvv0wYlBD
 3XJsXEq4aHJ+Bq2GmQLyEFX8ryV0HwSl1UfDEVsJ7IRjds66Wmo218eZp33tHMbq
 02QvrroY6nbaPHXpydhAaHmY0iZcFtUJXRa9VqiAUwTVlKbUkAL0r87RBTxhIzDq
 xaNZC+MTxUJphyDQYnJ8OvOuHeeMRhLrwQZJEevtb8JR5CzyrjoIn351ff86hz7R
 PsThwMXTMqT9T2w98GhuP5UYRp1bFNCbAlWJwgNiLKd+6AXdyQIOouCzY5tnD1wf
 vPB1v+wTi6KnU6E2VsQ8yggFcPaPovO3uKkRRAkATgN/meGtDBYhiEYEEBECAAYF
 AkY8hosACgkQ524iJyD+6d0B/QCePfnQ95VTfwRpSMHu0GxbWi5ZUlgAnjwAONqq
 L+iionCmk3WCHjeFvv9WiGsEEBECACsFAkY/XkwFgwHihQAeGmh0dHA6Ly93d3cu
 Y2FjZXJ0Lm9yZy9jcHMucGhwAAoJENK7DQFl0P1Y5VYAnAjxx4bU+zNPpIRO4QiD
 gpYZ69ruAJ4gdxhkupzsuLeXEdoZjngqbtDf3YhGBBARAgAGBQJGSaS/AAoJEI2O
 PuD3c7zgVlEAn1nKfTF8E16RhQM1cqV3YU1odL9zAJ96gPRqe2GHv8yEQLtJfTsz
 NkXcndH/AABM6f8AAEzkARAAAQEAAAAAAAAAAAAAAAD/2P/gABBKRklGAAEBAQBI
 AEgAAP/bAEMAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB
 AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/bAEMBAQEBAQEBAQEBAQEBAQEBAQEB
 AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/A
 ABEIALkAjAMBIgACEQEDEQH/xAAfAAAABwEBAQEBAAAAAAAAAAAEBQYHCAkKAwEL
 AgD/xABLEAACAQMDAwMCAwUDCAUMAwABAgMEBREGEiEHEzEAIkEIUQkUMhUjQmFx
 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
 dXwnxzx0crfv30hhYSiFRJUGE/v5JXXClwxj+M8LHsCKHZvYWKlyWVdNFIiKEQ5b
 ZCdxLLuyFkIjGWIQq7KC+AG5fgkAZkMMSmNgjGRG8MQ7yOo2kAHnau1do9oCkYb3
 elAtNskO+Z1KOI22oiHeZfB3KWUv/dhNwIBLPuO0hgkxj3dgf6QbmWU9NDF693/m
 uPMvjg6eviuaoKVsv/ZefAmNFSSONVONkjNglS8wVFjBbcVLRpuk2BHO4jGz3N6O
 IYGdg4p4o1kAO6Q722lmYEqYwzODIBtPbCEvH7VQn0Gp4og8TZnITvlyB20fgDB9
 gZ8BgwwACEYFQA3pR0NO0siGQOwQllD/AKfcvbjXb7VbJ3MXdjjCgRl1YlHc7ssS
 Ne9pHnkuLY3T6ktrlUUEP1Qn/wDDv2Oer7fDDfUzo2fXf069fNK29DLV6p6V9QbL
 RhE93dqdL3GPhS0Q3yVO1tqNE8m6MuzIkatkK/DJ0/S2f6f7Wi0y0tXXan1XJWns
 hJDNTXaehPd4BZkFMkfOAMY8Aj1uQFuhrIJlkiSSjdpo5GkfajJIm+VQrAI2935I
 BUEluZFwuFjrnfeo30sXLXegdJ6h0L0v0dpnqV1YQ6w1FbZL7W181X1J1W9msllt
 FMRBFLFZxS1TSSEy1BqIEp4XRXPqm/WmOUtHpoGbYz1JGSmWkIzQjCMWUp5GRCok
 pNkQBR1//BrU49N57rpZMU8m3QuSEIMItmXFFueWePFCO2V7sk4Rq7VrxbRd7tWU
 Vpip4/zP5SRYgzwthC7bU920EIS3KqTkecZPqLvUu108EMtbWqyyVgkYRSNg/AGG
 IBzxufg8v/CPFd/0n/WlrbqtrKq0Zq7Xtl1XHFOTT6itOm7tp6J6WKoSEftCmqqe
 OjRO88MQqfaiySRo7BpFyxv1g/Ujr263+o0VorUt0tdfU3Q0SXSlpZjWiNN8bw06
 1EKmn4wTIY9y4UKPh8zlHL/V/wBK4J45wImTMxzRhii44y+7kjkhDKBFSmDIl3Hk
 v03DW6X+gPMcKTx5ZenBjyYJZcuVltMJPFlniZSbkMMlbSzg8OR1dpNslXUYjEOG
 JKuPby3tbhvOSQRyCQCT6pX+rvQd3NwpNT0tLLPZamJInq4w0kUM/JCTMFIiZlGE
 LDBGOc8enovq3iw3tqXUzdeam/0lRDFW6unutZUWU1JC5kpaL8tJQ3Ggj3fvZAks
 EkRba7cL6f8Avdvg1j0j1PQv+Vu6y2qppcrFJS1UtVTU5q1ulNSfl9rwiURpmGRG
 aoZ+yhjR2Q95cPk2o02rx5TLjlkjHLGUXHHZlvc45Rm71WxyO+XW0Eug+ezh9QaL
 VabLicOXZky4TC5Ms90GgyXhxoDcZsSWNesqieHg/ss+nVuH4m71M1JJUGydBup1
 xSZQ5/Z7Gq0xQPUmPekc2YKyemVKhJYQ86yBRIkZH0hKigTvSZQodxkjQlAIomRp
 JJZn27WkdEEMccUeQ8oAAC59fP3/ALM+bD0Q+uOTUnU6KtslN1v6b3zpH047I3rU
 atud2tGoqeK77GElFSV0WmnpaCV0lR7jUUyTRIhMifQtNBM8jRAbJFE3caMntwLC
 UWGIuw3M7OacsF2L7/e4C86Zi8wwa2eT+nnDIQkYpmNJEMkSEWJVx/J95S23IeYe
 PM31J5XrfLtZgNZp8uA1Glx6jTOWE4Rz6dnOMMsGZcoqSjdDZaF14bOote6paTDJ
 uV13kEO28gBE3rIyyltpbbtYBCCcuGBLU207QrxA9oKPcQsay7aqR3YknfKrRhIj
 xt7kxbhsFz6yiCsuGbb+py53SAZ4YjBI5O7AYke1cljgJ2opmIYIp5YKxZQoXKls
 MW4DFEb+7J/9oQDuyZVbYu6TcgeO+CFG1V4PjpXpKK2d/r56/nni6uv34a+ptTMI
 w4wojMYjJ29yNAQkSoEcLz2pGI59uHPJHona1RREKBAParfv1aRySoJww/hBygBA
 IKnPp1pKNd4YAhTs/eFcARsezM4BwuAkryHyu6LJc4A9EElDCSvdGCF9qqGfahZm
 UMy8Fvdk555GfTcClLip3vjuKu+Wo+/bV3ZyvDloWD3Vnb18vXzX8+54Z6204hbY
 Tuk/Q8kgy2ws2HkZio/zlFQiNQsYYIp3jB9H9EjGp7bMilTLLJk4PZIdIixxjDu0
 ZVfb7t5O9YiACt4jSSVmDOu2fEjOu6Ry8ZQiPaB+7SOQo4JCqc7mYgg+pI5CaKmk
 YMZFrJq6eRlVGVamoqo4pTIu8otIJFSNQinYsSlOAZzJ97qRRX80FX883fAtdJ4l
 J1+67/s/Hse3fI8c+DOnpSn5aPgFp5Gwg9747ky5kJAUGPe7vt4bCIQFUejWGl7n
 bDqFDNHUO28MV2MrLGmc4fcTmVj8OQQwjHoCJ0VYqsYnUB1pnxl5MplnBVAC4kPa
 GxDhAzo4IC+jyGJVkYyzQl12oCHzFBvCuYz+8ZZJVk9m8459qKCxyneSpBY8+/pI
 tKj7tDQUvCoNjMot8nJ+v2Ff/k9jrrwNo4FdWZ+cllwDtAJG3t8MzZ8ByxTc3ARQ
 y5U9tggcJIgJcRogU+5FZI2WEHtgZKJKS+wsEMih2BUbSmnUGmMYZHeWWWeNSi9q
 JD2yqlRvZyYYRJMzhAz7uFAHpaW2m7NPNL7pZJahJO2duXghiAWL3JkQxvIJDyol
 dwCEVUAVzcfTcRO4xVpFtHu3hvi6pUpmqi3/ALX/ANttHt2L2/PzyrrXS3CzXGiq
 nr0o6qlqIpp6KsrLfWdgiZJDSVdBUQ1lJOCG7c9JPFPGCjxSCQq3rIV9V30z1Fl6
 x60sN+oz2rXrfU9ztDy29NS/+Tr9qKuu1JW7a2GoqIbotprIaear7dSKunCuXedp
 R62NxQyiA9yQb1V5MDLAHD7QVVQo3FMLgr7VJUbgCKRPxGNMy2nqfYdR/k56ekvG
 i6MSV0iRiK4XG1T1CVCRdsko8NJNQrhyXaNo3VnjZXNH/wAQMBPyqGrhCTLR5d04
 Hp/y5sSVyOYbZfb2Sf8AqN4y41//AAV12HB9Uug1EISxeY4WO9QnHJp/82MYXTKM
 4Syb4xbkxg/gSujrSPSLTWjrtWX61xVNwvjUs1VVz11qqrYKSCOmmgp4YaeOmt9E
 IqiWpeQrHTygJSsXCSFHapzqrZYZes1fd77UikQ3WMVJQulIiJUk08jyCMtBlZOx
 PIhCldrSBtisk7PqZ67XGwVstq0bfr/NqT81Uftq36dp6GsjjpZKRqWmp60yqakL
 TyyJL26aWB5ZDLG2/dgUx60vnWmtuBu12td9qbDfJHqakXak/KVkoppMyrDTz7Km
 BWdMjE0izBWQIQu31m/kkpzw7JRx6Vnjk7tRnx/cyGQ9MQmR5IYrHI3ZUaSL49Se
 dZdBHGxMeXVRxZ45cn9Linlx4pwMcCTsJEYwlthJiJEjLduXa2PdQtF2GoslHcWt
 tQ9VNArCpa7S3OA08iqq9qFpTCNwO4P22KodyrkAqmdE6Ygp5Iu1BGIaipjj7GS0
 YR8h0CshVlKn9JHtVtoHO4IvoxrSm1Zo1rM8tyeOgpP3Irz3HgVCyyQJKwDmKJ0e
 JFf3JtZCx2nMrOiPTu79SdXaS0HYpo4r3qe/0Vgtk80DzR09ZdqoUFDUyRR4kkii
 mnjmlRGLsqhQ2CPQ/EOLJLTShWbDqI4yt8o7ZSK+27p2yAuNtTJcRt8BPONbpZaa
 OoxMI48mn3zyJyRjGV/c4g1AZPMC653Xfh8fwjvp/wBT9bfr501V21JKbRvRTWNV
 1blvNJQtSUf7M069Tb7PbYlMS00hfUNTarcXiH7yk/MSFXZD63oLCFXKuVjA2t3V
 Z5ZJV2SO7nazsZZEBJDBSSU2gYC1jfhqfh5V/wBEGltWVGt9UWHWvUfWddaEuV10
 5bp6K1WixW1nqaK0U89wjFfUmasqJrlcyY6anMnahTurTrPLadIpXYAm8sq7z4Hs
 IeSQs/CgRrIccsS0RwpyBrv03op6DR/58Pt58spZJwtWFVCMHa8qR3zoPWyi8ka8
 wf4l/UWD6i88xGhzR1Hl3lejw6DRZoRlGGcLzZ83+bjhkd+fJOEd8S4QjKHEuUXW
 Uxkd2IilDtunYAJtREimcKvJ2gl1+MjtqudpHoqqaUtMqiBVZSxcOY3Ykrh96oMR
 A9thEgyyq+3hXY+lhLBuL+z920wiMhYuziPlwqICqpJEqlWyeFUEYCqxe0KM+1FB
 GY5pWcFnG5UGwAe2MvGg4flT/Amc+rPu3N81Z7rdHxtJe3HfN8+M3qr6Xs46/H4e
 jpqyq6fCFqaM7gjRksFLMVXZH2s9uQ7mzlVlcgOV3OZECA+QQtQqjN+8MYY7gpqD
 GSAAgbajL52cEgMR/LHpwp4s5yhHcUuFjZ/cqhZyrNglo4pYyBnCu/uRZGcYJZ6J
 y4J7cZZFcoyxyMhfL7WYkksAwDDPByDz6VCIqSGRZ+dH4kKVSNrfFtcPCc+FLRd1
 z/5r4vqvb/14ihQNL2UbvR47phDEqoqHaIRTdtQGdmZHyOSR2yBtJwyiFPLKwRmh
 2tRrGpkULEHkmpYpQwyqtIImn2ptchgGIOAPSXt8kkQicHAhhkePGz2PKRsAIG0M
 +xm2q3nYo5T0cQyTM+8uyOaekMAWQYRmDtLKFXOJWM6O3sLK8cahtyMPUjIG/pSQ
 r3VpYNXKr/1S/mr8S2x449T7HyPF10HfXPx2tKczswCp35KSQwRZdYooomIRZXWI
 MAoUPUyEA5aOZBhsj0oKWILTNGrl+2zBpIht7splzM4eQeO4WjTH6VVlBwrEpKmZ
 aM1hUn8kn5WlowC4eeWBp/zMsjSe5tu0xYPcLSbyuN77lFTyrFRhtrZlqjlfcS0R
 ZpZjuyoQbcxmRyAisxG5wF9cibYm799oxTgoQG5S2rubB49O5Y7y1/HZzfHCdd8t
 cX+68KeiWZ/dGWiikCq8hXMkqiRUKxlz+4jdTLGGEedp3AZwxWVApZEBkcKrAuoA
 DSqzIHADSF2jjjhVVkIUEK+3HhW8gqCQ7qcinWnYnuZUinkjmNOiIpZUOY5ZTuG6
 F9jgtIAq1pJ3j7ssu/twuU7UUYJmkVe624mItud1mTJYbol3LsQb35LaHum6KvMe
 Laeo+kY/6eeeRDw2Dx13R1XtR/D+/c4PCxp2yvCrudJak+1B7I1WD8w8jKzE1BRU
 UoudqEqBk4hn9dHRufqV0PuNdZaVq3VOhEGp6anRRNV1tFHRSxXmhjQBjvmt0SSU
 0Ct3HltkUaosjkGYsCSCneeeV42lnaBkTBX8pTSoise4oDb1ieVcntoJOM/xDleG
 okaR9sUU6vKoYqEEc8RkDyNJhXAVyy5Uq29GUcn1B8w0mHX6fVaXPHdiz48mFiIb
 SQDOMZVTGSZIfltltC6vwQ8r8w1HlGv0fmOkmx1Gjz4tRjeUZY0WEuvROO7HPq4y
 kf6vGBes6M6MuV56i6wp6rUBv1xvb1IoaStmiiEccHdjp2pDMEKSTTTGOo7asjKo
 ct2w3qv2/aJtGrb9crNdtJ6sojSzSzNJerjJLNWPHuWNEllqZ8ouBGwjUOi+MfN3
 v4hVBS/Tj9SHU/VGnrBv6cXeulr5qKzU81SbPWFZt9ZTwRmQi0V9wjrgTFiKhqEK
 RolJt7VBvU76wdKXa4LV2xPy9bba0ikpo27k4gmYrMsiLGj1EjM74LgyRlN3IYZw
 jB5fq9LkzYMGSeolgy5dP96EJEsUoyccZbyVsZ11uuEJXEjKXr9q+X/XP/wuD0Yt
 Dj1unhqZ4ckNLKWeGphDImPNkxSyRlEUk45xfukogeqlULrp3Q9xXTmn6KC2J+w6
 eGemiVEMTpVPKzqoAlZ5nlf8xLI5MzsG8rzaD+GjrfS9v+rDoDUX4NU0K66tf52a
 Jo1itwqO9TUFxrpJAUjpYLtLQyzOVYlULIAxA9UYaPj1V1P1JVX2SOS1wV0scUdR
 MjM8VFE5YMUO1jJM7tK6FlO0IGOVJ9Wb9KHsPSazrUwVYiqI0WprbxUVCx1Urwjc
 shnG0QxxMCYo4yiw4BVd2WLhpXR59Oxlvz48uPJOpEvu5yUJsCXJO30u0chZC2zb
 RfN/NcWu0uqwz3Rnq8WfFiI7o/axZoygTyDSSIz3wjwsgvabt30fUUxgts3CTYQi
 DdhwGVNzMzFmA2glsksThfv3eMjIKl3CozbmIXYr+1SVwBkA7gvBwVJZcA4bvwJv
 xz6y1/UbrX6H/qs6r3nWeguoXU640f009XteahrL9XaevdZdpoaHphfdS3epnrKn
 T+og1NDo+43Gqm/Zd6RbMZXobxQi3bkw5kMi4BXfEj5IKKGCM6qcAybUJy2AoZs+
 7BxtGHftxsxhOUIZCPrajOO8QlGD+KCyIsZWSBFPM+r0stJmniZbyMpRMgVGW1po
 5RJCI/p6fBa8KtKshkMj+514ARe5Cy7lA9vIkDbycgovgBz6CiAjZEO0FChiM7in
 dLSOZW5XczcHJ3SPuCrjycZIU4jBJV4Y1bBZ+1lMAAcB1QbTkhsnjG3dy2e18Rj9
 cZduAGCkYI8KEiXJ4HxgAl2Im4zixq5Fje6uOO/72Ld83w+B8zl+Pb+wf7V7f2rv
 wmpaRgWaRc5WOOPtqDhVVjKoXc2ZJgNoyu1SB7NpOSKWnmeRiO+ecfu41IBHke1M
 ZB8AeFwPS1eJC3bVMhAzAgsVEkJVQD8ARphNoIwwyQW59EToMjLvyoYCIAKu4biv
 6jypJXn4AAGMen+mlbPkbr0e5Gniiu2uAPDdfxfp5b9+u0pvvnn9+IDUlVRvBC6M
 ChUTIUCuPYxZO3uB3MFOYwMnABJ25BU1uqIVLzsO20URKE4dgzu7Ju5ILbmxgg43
 7QvgemsFdBT0EaJ3BEshjRRt42x09IoADe1DDTQqm45MRLtjexJzT3SBIlTexLiJ
 u0g97MWYh84zgxRoplOVjj3sMkFhIdvKyBuuAN1kQf1IeNv5cy+CPghKDwN9vx/K
 X8f2q66rw4ArFkqKVAZJKj95MquU7dNErxlmYsd7TzOyR7Y1VmFQ7EogLBWwVUIE
 HcnUiKJ1ipY1BWSYxieMPksZH/dyqq8ksfOMD00FJcY1lYK0RZ3cF4y2cSvB35AS
 FZWkihjIOR+lBuBY+l3SVtPSq8hlHejj3YVtxwsILAHYNojOwOy4aQjbnbwUSK7d
 3qOW1KS2hiXfbKnd/c8MyOQ5ODo7sq+em329r+FFTqLWmktBaZuOrdcagsuldMWS
 hqrhfNRaguNJaLJa7fTxmaWpuVxrpoKSljUR4aSWZFZ8KuWKD1VB1a/tAX4ZnReh
 1GB1sfqlf7YC9HYumWlr3qRLtUzK7mOgv89JQ6XZlkpqdJama+RwxiRNhZVK+sy/
 9pI+vzV3Un6jI/o20jf6u39Kuh1Ja67XVuoKxoqfV/Um7W9LiBdxCy/m6PTVtraS
 ko6SYvHHcpbnKY94hdMu9yuUz9sF/dMxwSTn3YxjgADnwc+BjjgOGlyZ4xlLOafH
 uE2xhLIhtLJT3YyUldt4pNXOVUDK02kxsIyy8s43GO6o0JVo3Hd/Jw8LfGwz6jv7
 Wn1lvUtbZ/pg6BaL0NQtG9PTao6r3Cs1rfpUZi/5hbDZprFZaGYMXKRTVt5hSNli
 O9UOaWtb/il/iM/Wr1R0pp7qP9VvVKmo9X6ssGm6bTWhb/L0z0fSrfbrR2pImtGh
 2sFNUU0H5gb2uRqpO0h7szKMin+JjJLzKxIbcWxg4U+PnPzwDk5Bzk59O30iv81g
 6laDrYI6iorG1NQ01HDTbRMKqrL0tLJCSVwaapniqAxHs7e8EEA+k5tDh0+DNlMZ
 mnHFPJGGacs3rC6GTKMCUWNSjHERVisEj4L6DFg+/ggQjCMs2OEpETiEpQjJ912i
 8d8DTz41+9cPxAfpR6h65TRWldXVdbaukukf2TqfXl9t7RaK1HR0ctPbRaNP1lfU
 petXXLvmWspqq2WmsoqhY6p46xxOjSq1/o8+jPWeirb1BorFpzXUWrLdBeqbUtnq
 Km10LpUAusVuht1XBJB2n3w1Qqi9StTHJHPFCYzCmWvVxh0JElp1A1NWXCgEtEd7
 lO6aWMK+YlH5jbUjaYiVRN7MoY5PqxP8Nrr31MqtJdWNH3mllfpVpK3x6wtt8lIp
 qbTkz1C016ot00u6WmuMRS5zCAFaSroq6aQBq129YJ5l5NPUQy6/S5ckds4M80Mm
 XFHLOeWONcUXZKS5u4KEYSSNyJsvV3n3lOl+n/I/LDH5x/USzYdPqMXl+fS4PvQw
 anBHUpkyxZSgRxyJ48YyJeqUmPRNTXnTron0rsl0vFDQ/wCTthtENRPJNPc5jDEk
 AJYmSpkY7Rg4ycsFIHkAZ7/qe+rq+9SbjctK6Hrquz6Cgllpu7BI0dbfUUlO7PKp
 DxUTYzHChQyId0pIbt+nD+vP60KjrTfJun+g6+WLp3Z6hkq66B3T/Kevjcq83s82
 2JgTTKTioYGYjYUzWbu85J+Bj4yfAyV4wRxkcnHjPOj/AEb9J5NJp4eY+bOTLqpp
 LTYMsnIYI1uMmSM8iffk2dXiCJW69nnz6h88+/llp9Gxhgi7cmWDTlbqUIJGiItt
 czHgTs5s1fV0VbT11HUz0lZRVENTSVFPLJDUQVNPIJoKiGaMh4poZVWSOWNw6sod
 CDz62zfhRf2pHW+n75pHoh+IpNRaj6ftT2vTtj+oizWaaLVWlDSUyW6nqupVmtgn
 TVtvqlij/P6ktVDTX6jmeStrqO8iWaelxA08+MiJe4xbG84EceODyPLgnBUD245K
 8j0p6GrWmjUHLkZ9/wAe7LcDbwACQR/0c85ORd9XpIZyK+jJEPtZILFgr7xEhKM5
 EYkZbzitskFqTsylZCMotCIXudp6Wt0aabK9hsUft89P+pWheq2jbBr/AKZ6v07r
 vROpKOGt07qzS94or1ZLxRPCjJV0NzoJ56eoU7mjlZXLRz7opdrRNhXNO0oIAPbc
 pvC8KHyruu5s4CI0bBgF43H9W7HyC/oR/Fo+sn8POru0P09dSTBpC+Sd+8dN9Z0S
 as0DWVjAK1zgsNfJH+ybq0aiOe42KrtlbVR7Eq5p1iiVNhP4bn9qT6M9dLjRdLfr
 isFi6Aayr5Ejt/VqzVVfUdILtM4gSSn1BSV0lbeNDVMojLQVVTW3awOe6Ku5WoNE
 sg7JHPpY/wCbFljGR93GO3bHZbKElyYqXkDJ9vlnkKlIF5fLpiuKRkP+XrJ17cbZ
 naMH1cBE9tbr97uMAA+5hsIzsWMLmWNQx3FpmkKKdwGN0smQcKDWUKWR3kj7ZVEV
 JERQixpjwDvbOdzkks2fGMBP6c1Zp/XNhserNJ3m2ai07qS3U93sF8sVbS3O0XS2
 VUSzUNZa6yjllpqqiraeVJYamF3idWRw4UejuNagmTswBwH2uXdc9xUQMFJdQVwA
 QVG3kjyD6XjlGSTguSMvxpjzGW2Q9I2In8csqKFtxW6ESxFbs4eR74qror9eKnxc
 4A0P7jYzIxjjlfuNHGjtEWmRSVjAVO0igku3kMw9HCX6jjhPaqDLVzhAcbgqqq/5
 0yFlwsAJWJGJP6xtGX5QpqY3aQ7lXuPvaULhQm6R4Y4QCTuVWAZiDu/UB7hjhUXR
 e60Y7YTYqs2cARYYtHkKu1SURSo5O0+Tz6KRxjR6o+l6jTzR6iIDK+2mypfi0FMh
 0odh2+3PFnsvzzfPfhybZUxvxK6yQe6ZV4be7TAsjMGBcNJ3GkJ/hKqBt5MIvxHv
 r30x9Cf066h6j10qVOvtTPVaY6VabLp3brrCshnqI7hPES5/Y9lRhc7tI429lIaN
 R36uBfUl31BClP2odgCLsBPIaQksWIU5xhcKoxwAOD4wi/j0/VHdetP1l3jpxSXO
 on0d0ItdLo6z0PeJpf8AKKsp4btqy5mJGZFqpq6ogtkh5aOG2Qxbvac/OByZIwSR
 GTc9tfjQsYpH0sqAWJ+Ueb7TjjulGPfJ2XwJVhf6+fZr28U+9Y+p2r+rHUnW3UvX
 t8rNRay1tqCrv2ob3XNuqbjc66WSeeeTaFVFy+2ONVWOGNVijVY1VQ11xmO6mx4H
 aJHIwSeQT9uQc4Pn4wfXCvrO8wO4FmkBbJJywVR/UgAbuR8854xwrZd4pWO3OEHH
 3B2nI/oM4AHIxzg+iMIRjxGOQpdterbSFbW5U1EFaqPVIeJ3VBXX40V1e3qirK9q
 jZ4MaU+T4yccgHGG/wBmMBRjnI+/Hp9fpymsiddNDV2o45p7Rp/9qagqKWnAMtZV
 UFuqWttGm/Cqam4NSxPIeYY2eQbtg9MJE4QlRj4OAfac5Ixgf0xz/P8Aq8PQSjWv
 6g11ewHbtVjmYyEMVjepnigjnYKGL9o87MHeTjkZ9DPOdSaTyrX6kjO8WmyEC6Zz
 nEx4uIvq9SA3FkNXyQbl9AeRx+o/rP6c8mk1i1vmmmjqZQYqaXDJ1GqR6P8AIw5N
 rIapkFFrh9etSyXrWRrarMk1Q7TSOAU735mqM47Z2xtII/3kReRGRVRAmAoxLr6s
 frp0on0/9LvpY+nahorBY7VoyhTqzrG0UkVDXX+8XWGnqrlpChrIlSeS2Q1K79QV
 buRcq5mpUzTQyGor86818dLqRYI3Aqvy+Z0BAkiMhyQ4UARiRt0kcQUbUPJznEee
 4XJJ4BJ/pg84zx88kKCSCCPAPqs/TfkmDV6Py7WZ45pOJ/qMGNvbLJK7y5Lefym4
 jagSujitD/xo+oT/AIq838o0koH9LqDT5p4NuzFihh05j0cCLcHFGJHKXxX2vTKO
 TwOMuSSxLFmHOcjH2OMk+eT/AC8H1/BsEs+Ao+TgZ8HAAHnkY4zwfQTfg7UwW5O0
 FvP3J3EYJyeckgfp8+vO6FYbysh/hUA7EOTjj75PDHBH9SfV5ljix27SK8vq4UBo
 e4sb7KRHckuTD2W75eIy6OVTteLSg+D2OfAuLeGkKBkjbDKmPnkM2D+kHI4J5OSM
 c+hSttGcsQFB+2cfOeDx4Gfj+XJBK5ALvheB+piDnIOMAYOQCcn/AFj1+hLuw/jP
 6MjgAAgPgj9RJ45+VI9Mzgh7sPTyxL4Y8wL3VaXwFRNxW3xz1J+/gqgq3kHqvmVV
 RzF8GsczE8/93wc/zYk//wB5J55AM4K+aMjY5QDA4GD5x7scE8HHP3yfI9JqOXP2
 znOP6AHA+AAcjzzjGfsNjfcwxhic5zyPgA5+Bn7DcT858s5fVKSRktzT0y23fJIS
 Rdnq92fL6ZO5UGmJFmIFvF80X7170HCdHHG0f+y5/iS6603r7V/0QdTNRXbUHTq8
 6Wuevuj0FxrJKl9F6g088EuqNNWd6lpJIbHqC0VMl6W1xsKWhudkqqijhjmu1a8m
 1Os6/aap5e12ZHwpIJ2qcF3IGCc+OT/M+vl+fgUVFwX8SjoU9vB/dW/qWa7lti0J
 6a6rSUyFRkAyPCCCSNxUZ8Eb/wCqvMzTMY5gEGAN28EkDkgAcKT+kfbGOMehn2iG
 ScI0RJboMCExut7TtC03vHEpO2ylF+YQJaj7m0jvhGUuwu2JyIqhb7PdWr4SZft9
 9ll2iMxgh9u5pI4zEgRvGHIQHge1eMswJJa2WRMSGVnbuKxxKM43sYowpYBUUMC5
 PkZY5HpNUVdWOglklUQyuZyRKHDjfElOihhl3d3yrYxhS36ceiDWOtbXovTt81pq
 662+waU01baq7Xu73SWGnpqSiooHkmeWWUpGPYmxQSSz9tFBY7SajjhjLZBEBVNp
 bV08hdN1QF2/C5skAjyyrnk4Q75eOPivbxA78UD6y5fpD+my83+x3mW29Udcx3HS
 3St/yctVAuoZoUevus52NSRfsO0y1FfSfmmEc1XFTxBWJIODK81PUfrfru4V0cOo
 +oPULU09xvt2mp4Ki8Xu6ViJLW3a51Ip1aSUKiyVFRMUWONAxO1QAdCXWbqzqr6o
 uqlm+o36ndF1GpvozvtBqi09INN2SpnuVP00pkr4qC1dRtWWCgAlqK+60VLVS1lX
 uqnoIqyMGCKGnI9MzqP6b676OOpWh/rE6AxU3UDo/fKa4RX7TVmm/Omo0HqWi/LX
 WSwVSb2d46GU1sdG+JEmplgDvE8kSg8/1DpdPnyYoRlk1LiZ6Yl/9DJkxwjKWD7w
 7Y5JIcSb/HcwxpJv3lP0Hr82k0vmGuyfY0mTU6f+txQjJ8w0egy7dmudLOBLJhlC
 Upk8TN2koEZZY5IRoAuENba6iqobpSVFFcKKpkgqqOrianqKeeP2vFNDIokjkjbg
 hgDxgfc8GlPbhJOTtz5AJzlhg45weSec4+ePVjX4kXSC06f1fp7q/oeopLronqVQ
 0d4pLhbQZKc0lciNQyTOm7bUop/K1QfayyIiEBgV9VvVjkOEUEBVCqCTn9P2znHG
 fkk/f0W8s1+PzLR4dbD0OUqWMjzjyQsyY2NM4MZFG6wBfmXgD575Tk8k801fluSf
 3fszPtZwCOfTzIuHOHX+ZCl2SmLYSTnwM/MFRlcgsBnk45APOfv4BA4ByRx6eDor
 qaj0rFr3UFaUBpLXb4aZGx/nNVPJWqlHEDHIO9ODlXIAiWJ5TygIYR522rjwvB+T
 gnP3OSPge0g4xwT65LUvBFMC8m2peOR4gfbI8assOVBALgSvtOPaHcDA59c8x0WP
 zLST0uWUoY8k8X3kCjHiz48koSamx+5tYSskCqbufBD6S+pM/wBJee6T6g0uKGXV
 6HFrv6MlTCOp1fl2p0WHPIQJx0+XUw1DC4k9mwrcTDm+3irv9zrbtcJWlnq55JpG
 ZuB3DkRqTnCRrhEGCAoUccZKDLuGVJjTgFzje2M/pDeF8e48jHg+gzSMyhm4IwFU
 HgcZA/8AefnOSOM8YOWPN5GOfOBnA8DnnnAPHk8E+M8efUmJhx4iEWMCESETZwwx
 7AibZFhuIxitEijqmvajVZ9XqM+q1OXLm1GoyTzZ805M8mfLmk5MmScpLJlkWUpL
 cmTbK+he4ADbwvPIOC2F8k5ySRnOVPgZweT7CwZ1JzjIz7v4eOSMYIHH2/l5I9AG
 kwPjaRyM8HIwQAMfB+wGSf6j0TmJWbBGFxgnHP2zxyPgY8g58+u/cjujIWJOPKBO
 yJXO0eOLVlV8A/isj7UtBK/xR4a4pW+Tm1q+LPBm1QZZVgU+0YdiPAVScqceCScc
 EcDnwfQkE+SQQRkD/YAfPj+eT8Z55JqJj2jM36523H4wozjz8/Pz5/kfQ0zcYBz4
 PPA8HA5wPOTyPnPj0m4XZuibo0UG6VlWbZBfK1Dh3Vu2xPDvPZz7MXlCy/e+LE92
 74OzBZRkgkYXgHAwcDz4/n9zz/sMKNtzg4Jzt5zggYyQf58kfpYcHJIyPREkjEjC
 Zz54zwRwOQT+nPg/0+fRzbg8kqKq8lhyM+ft/pHB84x4PpvJkNq+ngaSPUdt8hbK
 NLSN/He7x0AvhfbuNUyj/wBVVdfN0Hd+NJ39nH6NXbUH1QdRutb2wnTHS7prXWNb
 pIY1jh1XrquoaW3UkJlYF5msNu1A0wXcIUZCwHeQHY5WVUX5iQtOQSQeXZTyPkQS
 CP8ApgZ24HgD1TP+Av0Zpulf0K0GvauNpLv1w1pf9YTAwAdm0WSY6QsdP3G97RsL
 RcbkpXODcCECp7mt5qbgTPKIo41VWwQd4wxAY/oQj+L75++PADYZk8uR3ejckWQ0
 kUicnPBFpR5f9JXiHqdspylJPyAZdUIFFJT2bQofZHwgO01NDO4lqJBHIGAjLAF4
 Y0SNNxYkIgQsMEBdzNjx6zB/jS/XTYNaai0j9GWk9ZPbrD/lVYq7rXq2hqhU262U
 9XWQilsjmlmY1v7HgqP25eoBhFmgpabDMkqLZ1+Kb9QOoOh30RdS9RaQvlx05rG9
 y2fSNmulNUqtVRz6nuJp7h+UmWTuQ1Mdj/PIlRFh4WUPGQyq3rBnXXCquNXPWVk0
 1TUzyvNPUVEzzTzyzNulmmmkYyTSuzO0jOxLuSTls+jMmeoyfbk7SMYs5EI3DK3K
 rFBgxJG7iSgv57l4ftxyRntJEJxkwlN2zBFi7ZRmReRkV/yj0+NGPTttefQTVUtv
 1FfU6+/RbqWoc1dTQU8d1u/TyO9FTDqiihgaqp3tpZ+/dKOilamlSV6xIIqjf+Yk
 NVXbSej6uq6cafvHa6F9YYFrtMT96Oaw6X1DqFZZrRd9OlyFt1n1BLUxJXUELChp
 q+oiq4FgE9SfWYLQ3XDqV01qQdH6tvFLRupjq7HU1kldp2thZdhhrLNVNJQTAqSM
 9pXUfodTnLxWH60OpFJpGTp/qG22PUWm6Z6trODHUW64aehqpmqlobTU08rRR26k
 qnkloaJqcikDGKnligSKOOi+a/THmWon93DLTZp5Jv3nGuklnT04p7YylEzY/wD7
 kjJEzV637hL7m5+Qf4i+RaPHDT59PqtLhx45Y9LhzSn5hDRQQ+5p4amNZ8miyofa
 xTwLo5xGMpwccdPInryl40vpjqb0C1S1Qj6PvVZqDSbTkSRC318qzVtLT+VEDViR
 1dMqY7TSEKBvb1WFUuGmbg5yR9uGBH/24AxjH2H3mp1Q+qah6wVln1Dd7cItV2+1
 i2XKeSmTN0jjpIoI3qZYyYpxI8Iml3qrMzO20eRB2qqHaaaSSN07kjsAF9o3Nn2K
 oOBk4UDBC4BwfVi8g02fS6bNDV4YY9RkYSzMVmOYrG5IyuNuSMYWgeqUpWVTnn1j
 r9Fr9Zhy6HUY8+njjljxS/GccBPfjhlhXpMbkniIre2Mb9V+OU00cbbpN2xP1KP1
 MTjCr4yzHCgknAPj0FR5JJO7J/eNnEaciFOcRjHBOOWPz8HAI9cn/eSqWBwj9wAg
 jdt4GRjd85wAM4+fXiyDuFmZRkn52jwQfIGMYzxg+7HyMHY/9rxdrtlVN28lc0AX
 fIvdU0nzztCrGw6YjyVURPdD0vDZ4Fs2MgnJzuxz8+CTkZwBgfYj4x65bznzgZGM
 Dk/68Z4wc8HHkfHoK77jkYxzzkHnGfPPz8Ej4wOT6/DyqoHuGS3JDDPJzu+B8j4I
 4x9/TbKmlIsiLSrw8EbSr2o8tRp2kbsTulHkC7pp7XaPXJffBXHA8eBW4AZG4AHj
 H2HGfjGSefOBnnIHoOzfmJEgyw3nDsB4QZ3EcZyccEZDE/fA9fgvuXK4JUg8H4+4
 5PJ8ccf4+ulMjQl3kwXbAAyPapOQnPgZwTjGSRwdox9GXIOwkbSvS2HpXj1ltRA2
 mQeROfHWUqH2qLe4UoP5t5ew9gfg1XYqrGp2qgAABBAx45J/l9iePjn13BGMHA4A
 P8gOMgYySfGQOD4PkAsMn+LAgEgjAGByCeDnHgcjH2x6EK2QC3nHJyoHycDbx/uG
 RwD8fNXFCO144i8ESI7niLtLoo+QqXDgp6eG/wDqsbauJfTT7t9SeOTNW5O18Hwe
 fOAeQAcj+RxzjJ9Of0r0XeOoWuNJaF05SvXag1lqOyaXs1LGC8lRc77cKe20MaqM
 5D1NSgORkAZ+Mlp4X5244yME+ScHB+Co5XAJJ44zjHq5D8D7olXdZ/xC+h0KUrz2
 np1crh1Uv0+wvFRUWi6CWtt8kxUe0T6ilstImSMtOAPPqDrNR9vT5pG2ownTIkRc
 iSxxpkFElAibbb5RadxO6pMT01V8AhH4ObURGuxBfG7Do/0otXQToh0r6N2dE/Zv
 TbQdh0tG+3sGeS026Cnr7jOuQvfuVwNXWT7WyZ6hwHcgn0MqKl2mclAnJAQndtGS
 QMqcEkHJwTgkgkkeno1RbZGV3VFEZjU5zhWAUlCcg+4jzkZ4UDwSWLraOFaqYNGj
 MW3FmMjMSwDc7GYLgEALnOACfOSJ0Oa4G5GPNpueTg9red1KBygvFoy4yVBElyAc
 PF/z/vxfy9+Myn46mo6qX6X9A0lKZVpK3q5RG4hawzxYg05fXo4ZIgAARKWKscDK
 n5IAyY1MrRxqqgh3x8+MjBzj5xn+EYH88etbP4oekrjr36RNbbszzaJulj1rTBUk
 3NHb638pXsucgLHbblVSyNkARoSTzj1kdlDvMfBHGOeBgkDBBx9wMEDgeCAPVs1O
 ncepnEVi/blEhOQyJRjAWQG25QfTJ2vZXTA00mcGXIEkbqwor59J/Db12V4m1EjX
 GD5ZvB8Enn/EH+Z8euDyAO5bnIPg+4AbgQcA4I45448c+vJplUe3k8c/zxznkHkf
 c58Z+/oDl3OfJ5HOcn/b5JGcYHg/y9MJKAd2JKLxG1a59Q7gOVZflIONxKR1yyjb
 6QpP7RDkic03dB00+B8U53bY8ICAXfdhiG8jJGAMkYAOCB849cnnw3GSc8ZLHGM/
 IzgZ5IIbP2BJPoK8yw+1eWIG4knI5J45+TnOCDjPoIZCTjP9R58AY+QcnBH3PyOf
 Xd0tpYBYVPbL9xlxQHIBLbES9p34Rz7LyLw/uP8APLXJTzV8UeB7Ts24bsfbBB92
 eOABz45A4554A9SC+nz6e719QV9rrdBWNadO2aCOovt6ZcrT90sKamTKlDLMyM2C
 Qqxgsx/6Ubg5PO3JHjBwfknHnycYJwQeBn1fj+H1pHTlk6OU89ZdLXT1WqblU1lx
 k7wjrYZYMR08ci5CvDCgAkhqHCujlo1yCTX/AKg80n5VoHPGZGcpmKNVwNSs4Yxs
 gvJEL9aBxa/o3yE8+81MOoGem0+F1OaIsCbcYxhJjztlKRuRHaNbXliTqr8Py3Wi
 hlksOrLhW1MELu9PN+TJzztlj2xJvUcDYvuJI2sSSPUM9YfTp1E00JKmCjW7UiMR
 +4ZoahcD9Jhf271wNyrJx7gBjxoz6h33oVpWklravX+krMYR/nlLPeaLtRMF21Gy
 leplmRZgGZIYSN8m0JGDkCp3qh9XnSWirqu1aZpr1qaEGULWQUMdHbu7hl3q1bMl
 RJCxyBKKUAqd4ySfQXyrzbzjWY1hiyZ8dwuUsTGxfRFzG2G6i+eaWStni2+ffT30
 3pN33MuLy6TF2xxajndw39tJyQra+iSLXHI1fikrqGqkpa2llpJ6ZtskM6sjq4/h
 YH3cY5xgY+T8CTJlmb/YGyB+ofPO054488/y9crveJLxeLjcjlDX1dTVktJ3Cvek
 aRUZTtI2ghMrwBjGAMACtS36XADckEfpOf55xx5+39OfV4jj4tamoNn4zeEPyaXg
 Lr4fYyaVE0hLdGLLZLlkl8WoeqUYp+NVz6Q8Gm/OV2455Iwc5OMjCnx9h5A54wT1
 RyTknA+eSFGeBnBxyOPHO7GcDks7vPuPBxxzxjPw3wfH+JA9C4yOPJ5Hg+POR5OB
 +k5GPIxnx6anGSPrkl7g27QiJzuRXa7liQZClkqKVFnL8pBdJbSSGK9rynHxx6e7
 8HVKd0gHkEjI+fOPuRgf055OPn1uW/syf0qnR3RHqj9U+paAQXPqxeE0FoeomSMV
 C6Q0jM0t8rKV5EBSC8amqUpWZCquNPI5LDC+sbP0w9C9XfUn1y6adENEUpn1D1F1
 VbNP0sgRnioaaeQyXO61AUFhR2a1w1t0q2zxTUkhznGfqe9COlmlPp+6PaB6K6Gp
 DR6U6aaXsmlrNTQQmN54rXSolxuVZIqhHr7rXyS1tXNs3T1U0sjOc+2t+dZp44Qw
 kllJjlluC9kU+3uiVUZspMVY1tQHdHbOwQWPQl8e7Vle9PBd8AnFe631DRQVqgNu
 KvPGsqxqCEgVmd449z47ksO7IbaFhIb25XDHXK1hayZKd2VY2KMI+4QXBJJzGdpI
 BVR9lUAYAAD1Xa5MsYYR7VhDBNxVu2rqBIR7VBlcEhnG52ywDD2n0yFyuUi1LLG2
 wAcq0keQ7MzNkkglgWw3nDAjJxn1E0ZkY+nkoX0L2FBbf6p5CukqKpxjdd29HL3f
 s10/3a6LukS/2Kz6ssVzsN+WG72O+22stN3tdS+2mq7dcIJKWrpZd/JSWnZoywCs
 pbKlSAwzqfWB+FtqvpzS3bqP0EW4ay0PCJa+46QkZKzVmm6Y5mZqIwYN/tlPHn+7
 jW5wRJukhqEV5vWhGG7wNT9hTNFIwKs7JvcLj37AQV3FdwyWIB5Oc49GFPWbjIkT
 x4KllBmTdkKqAPlRk7R7wvgcY851fVaSGpjFlcJx3fbnGNPRYnO/Gz7hJJXLdCQ2
 xrRkcUpSgyGyy1JFnslB7WH+1+MJdTTSwzvHOjRyIzxyxSqySJKmVeNkYKySKcqy
 tgqwOduMeiueoK+yIAMWAJ8k+QeM54PABJz8fz1T/VD+G90i+oW8z6v0/Uy9LNdV
 jM91uNmt9NWWC/Sscfm7rZhJSLFXEn95XUVTC8uc1ME8v7wVD9e/wrfqD6R2y5ap
 0y1m6oaStdFUXC41unZvyN4t9JSxPPUz1NiuTxzyxwxo7u9BPWnZltg5HoJm0mr0
 3qniZQjb9zDUoLEC2yWWLbJmpEI8fcY8ykR1mHIhuceRaCTJ4UUKinHCcdvNcPis
 ZMkljgkYJ5Pk/H3H3HOcfbBB8ZuT/COCcN5PjnjyM4z/ALDj15UpJTvKjRyBYpu0
 SCsq7mTcB3IiyE/qIwMMufsQA+7Cpkgb1Y7A3K7WZCHHBBOM459pDbiCQYv3Iqf6
 xku2NB7N1zVhUajH02fjwO3w07Zc1dm4SJ2oVdDxdp1XP9UV5pDGwAZw+dpPGFOe
 eMY5/mOcnjPpeUfVfXcdpaz02obhb7Sx4oqCd6RfGGzJGRKVYYyFkwxJJBHPppqh
 zPVuDkjwM8KABu+cY5+DxyefQyBwsYH8QGM85znP6QOd2PP+oYPKJ4dPkFyYo5Ak
 7RSVIcNTiRikv9VbuDaWV4kabXarTEzBqc2Ayx2y+1NxsoJHdGU4u6UHuUVR96fC
 gqLlPUMZJpZJnclnklleSQtkks7MSSxHksx5PGPPoqkmYys58sFU8EjK55B8j74B
 xxn1xMnHwPkePkZySB5P6SD/AEznGeBcZGR/0SB4ycg/Bx8+0nj758h2wiDvX39V
 FVwokyXN7bi0d9+GWV7ndzbYt91fF3fv3d3b34FMc848Z5z4zyM7fGPPg+Oc4Pr8
 JL/C3uxz7jngeMce3n53DOSefXFX2njBGAR8YOcg4OM/bgH5+3r0Ng5PyT8/J+Oc
 ZJyCf1f7OfmX2xP9MXdFXmPwB7WgqlG3cbb4RcXnriKhEu+L/SfNJ2hQeBkbgEA7
 hxx4OP5c5245+B8ffHo1p33chRjAwOf6+4AYyPGMfHn7EquGI3beMZHBGMf4ZKj/
 AJf4uL000s2tdfaJ0ej9ttU6q0/pxZEK74zebtSW4SJuyNyipLICNpbyPgx80yI5
 G9sVlJfuIRiEnjakZNNlBEhXvfh6HqUenoLH8g4/mwaXcc9eNb39m3+iVIDqb63+
 oFueHP7U6f8AReCsiCxyboxFrTWEW9SzYUf5OWuSP+I3oHK9vOt2W+CKKZS2IxhX
 LZXuyRKcIPa5OMo0gXBLDwQCnqLPRfSGkOiHSjp50p0BbqazaZ0Fpa2aestFG0RF
 NHRU4jlrKnAVXrq6oE1bWTyYlqKqpklkLMWPpY1mq0LyFHym+bazHASM7ju453zM
 pUDdnGGPjmmyXPmlObJckxewicMYfjEKjQtUsZT43SfBeENkYl91fXMrP5sK46Kr
 38KXVGqF2SH83jckuS3cTBUCNGQKFYAkgLvCjO4AZOQwNfqULUMEMk2RlnEaSYYM
 y4LMxOdoUkcefGeT11FqOKVZXCqdjL2lBxH3DtYMxZlEhG7czBQgyckFgPTK1l6R
 p3JcfywwAxk8+wkHJyc8eeBjBJrQaeO1jKC0tqrbcbk3V29HsDxUeIWpyyF2dEig
 OOhOvcvnqjn+K9aqOgIJjR1/hIEjKFZufvjOCCScZx/gSxFRGRQz7lYjiTDZIwMl
 sMwySOOOTjnx1qf1z/8AWH/gHoob+9b+g/3L606DKIyZXsaiBRxtOeX54LoKPYoH
 miSjuoN2SEaCqJF9/r+C/wBeD8LIinY8jZkRzskPuQsS2A2VOfd4J58rn1EL69Na
 3DRP0ndWqqlrZaOpuVqptPU0oqGjnYXmvp6GaKJhtYuaaSbdgcoW+PM0R/cxf6I/
 8Xqsb8V//wBWit/+L9Of8c/pHmOpnDR6ooT7MYPZZlYR/ZYTbat5pjfELFji5sL8
 yOKONrEPYH5pKK4Dxl0rOXJDEHcHUrwQQeCMY5BztORyM8Zz6LmqHBG4lwgYKGz7
 QWy2PLDkE45+QPt6H13j/tH/AIZPRI/lf6n/AHv6q2SBCQe3wAcsoRi87j0k323N
 HqHnwalKQR5/K3qJVbFOA7X/AM934/C+2V5CeXJPgkg/qPj/AFfbn4OMfveDyD5I
 4yPuT8+ck58cYGPPPFvC/wBP+Q9eHwP/APfwr6axvUdsak7my+Zl/IWW8gfPsUgp
 3NVt/wDCw4567976/b4EFh4Hxxyc/q4wvPH3+2Pnn14SD4Pg8jkgffj+fOBj/D49
 fj7/AOkv/h9c1/8AEv8Az9Kmgb9px6Et9XpG+3+Kq/34+t3bb4NzwB1z8ddUdFe/
 jsZM8ePB88n5+ScED+LwM48D1+t5xtPAH8/OB554+3+7+v4fz/2D/uX14P1yf6R/
 3n0uRPHIgTscwNjwxliiMfVxd3I6aDgK8fM0aQdxd8e7t9x+L4rn/fwKiOWHkkkH
 jO3BH2xjxk5JPJB5HhZ6SvlRYNRWC90EzxVVhvtou1NNGx3R1FBXQVcMikcqY5Ik
 ZSc+APOcIqD+8/7Lf8J9GVq/vP8Auf8A5R6i5Wna8xkNlF+mMLbrteT/AJXopRex
 37NIxbq/hCleDd/c7558fTe0Z1ClvOhtJ3zvhjd9LWK6FizIHlq7ZBUvORv9xJmL
 DAHBU5GfQer1VIFdvzAj3gmNXycB9pMso3k72QAICCRuwqLwSx3Rv/0N9MP/AJea
 H/8A0VD6UNz/AFy//R/429VvTYoyhCb/AKzqPG2iNc29bj46rrjwXnJser3PHFba
 l/HN11x4O7tqFXAWSqd2JD9vcFwo24JjRAcEkcFuB7QNwx6Q8t5mZyUdtvgYaNB/
 3SeP5/z9F1d/5zJ/1bf74/RQ365P9M/8vRzAuONxWPERY8SkMccuZc3TJrj/APdj
 ckmUubepHLRzIriuOP8A0Hj/2YhgBBMRAgAgBQJGPQt/AhsjBgsJCAcDAgQVAggD
 BBYCAwECHgECF4AACgkQxgQ8VnIHcTcumQCbBP+z4pnIHcDuPSxIsZlsngm5KjEA
 n31uxCGN+rZ3vMWdpIk4HM8Dw1j7iEYEExECAAYFAkY9DeQACgkQeeKcYLAGP+fz
 5QCgmajf8630aMQCUBCh9SzHXOfSY30An3zb2t3YMx14hRxGObDTt4YuZixliGsE
 EBECACsFAkY/XkwFgwHihQAeGmh0dHA6Ly93d3cuY2FjZXJ0Lm9yZy9jcHMucGhw
 AAoJENK7DQFl0P1Y7kgAn0WEK7x31T2HW7L6JH+hyYilpQoPAJ4nbljvJsEJXos3
 3w5cIBzxGrQAB7kCDQQ8WYNzEAgAv7uBtwBXWw1+Z9Z3/n/Ny1eYkP2fGkADE312
 HtLwV/46nDxfqrZtagk0YsuJS7MEvsnJBae/zcS0Sjz139BapA5f2K5kVHpixWo8
 itml98Nx7JUaVdkE0ZIxRNv/PqJaki0PyvqPn8b+xWb7gGbxShJYaS7nfhVV5gJw
 aIXGwRBVPtbccecTQmfkhowDKds2w0Ljhwcd7ZLbH3SMJLtebYqFfgkUOW0D4cAQ
 WzT3CoXXlgKjglgZV3laI0nEMTVfb2IjnSCRGJmfFHd8M5gKw4rn+m7yHWPz9KBQ
 xZG3oDn6veON+c+If0TCUDB273Gblee6XTj93fekjU2tShR56wADBQgAivI848cL
 Na6EWe/D43z/cBg/CUs5CDwM8FTZqQBf2CMY7oo3lMqFtV+e0yk0RH+PRADSwNS6
 zk9pNs9wuB0knI8Lx+F7sTFQyYFRX7lWFZwQqYJUSjaL54qvXG4WzUiHOA2YMHVX
 jmfOFwAm9A0SSIXTcGSdQgHdyTnCpdAoa57S40HHRMk5ooR4GWt3nWZrvld9VeaC
 29eWh2gi2IIwj8nDm6YAd5JCn+hwHT/XRTcrBE7clld1e/7HNo6CnVHYNPtLhf5O
 zm9fuxGEwxFn1Fw42G8txU3m6hRiPGAuD6QzEl9FmuH8plLmCWfH4qDjFxJW5Pui
 us7pV+ZXMBCMgohOBBgRAgAGBQI8WYNzABIJEMYEPFZyB3E3B2VHUEcAAQFE9ACb
 BJmDy7UZOmvcCZ83fBsMArrC8MkAn3zKySx5vPY/ocOMjEcB099D7B/I
 =H22z
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.138. Dejan Lesjak <lesi@FreeBSD.org>

 pub  1024D/96C5221F 2004-08-18 Dejan Lesjak <lesi@FreeBSD.org>
      Key fingerprint = 2C5C 02EA 1060 1D6D 9982  38C0 1DA7 DBC4 96C5 221F
 uid                            Dejan Lesjak <dejan.lesjak@ijs.si>
 sub  1024g/E0A69278 2004-08-18

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEEj2LwRBACdxv/Z/TqPsaxTmKrXZSOPnQca8L9UksW+71kI7YouAkbnnTyB
 maf7zCs0BDcUU6t2mO5ijJlxXe7Y4yMx/3mwGX9iWfWh5U9xobG0STcU8ET3ZQmZ
 /AM1vSL/weLK42YHxyqSrudt/oWxH4iDZFz5I/HI1DRwZMFhft3ja+pdYwCggAu5
 GwYrQlQJHJcCFbxnYUGJX/sEAJXyzea8rzP7dTUsaOYcLitIpy/eDI3vkB0aW7Uh
 JSicWASPW2erv99f1p2gkVQ0b0lrpMwPrysotfN6wLLYR0fowCWHm7hnASgohFpq
 VwB7aj0HDEHne7EIr6geSpnO8Y4QUtbFVWo9cq7HGzrB8NhwpLXQ5g9RgB+H9SS7
 SzVXA/4qPOAoJ8Fp+ZSznd46yd+dgFmVpSJuTs3g+hFolSioEkbi66fHwPMWeifS
 i02AkU8m/qiGMAXRwBm7s5jeLwQyJX38S4PnupPg8pOjZtLVYoTWaM19yuMGS5S/
 ryF5MaCGtuB72Wnsp67aZIkaHjfS4QAKo0WVH8yucnyOS+BFsrQiRGVqYW4gTGVz
 amFrIDxkZWphbi5sZXNqYWtAaWpzLnNpPoheBBMRAgAeBQJBI9i8AhsDBgsJCAcD
 AgMVAgMDFgIBAh4BAheAAAoJEB2n28SWxSIfMJkAnjxPSokKlZtVhYhAcgX9as76
 sadXAJ4yo003F9ilZw6avaThCBltR/MqWbQfRGVqYW4gTGVzamFrIDxsZXNpQEZy
 ZWVCU0Qub3JnPoheBBMRAgAeBQJBJQwqAhsDBgsJCAcDAgMVAgMDFgIBAh4BAheA
 AAoJEB2n28SWxSIfOHYAnA9quQ97rU3eJHb1LzOTpwZVMSDxAJwJnLzSFQHfJu1f
 seG9fTyt5UpBAbkBDQRBI9jCEAQAza9XDZevfbu9BYjDESbKo38SRgyTd5/lIgzH
 IlF+9zGr2e9PH1WOIPr0m9m3LYQzkL3YiUm23UoJO7uhvWvCpxfChwVx3VFwM7Yz
 WqWBV+W27aZNROEmh5KheJACE/m6j0R6UECiRHZS/EsHP8FNG8roWro23ApNR0Vh
 zZ6iVNcABAsD/3glWDyCWMA/eX/YGPw3xN3hkENgruwtWKkK6TW6kYv94k4iD/b5
 bRsmIvGd31AM5/Qv/IQd7epXb2ovDaKvMl6+jAJb1NMCSzOkCnoqcQoKB0ed33d0
 JOVWuA34WCMZ2zHLFEtwuQkHZqmyNQcxRLGLkODo4WWsYNU7KeGHvAJDiEkEGBEC
 AAkFAkEj2MICGwwACgkQHafbxJbFIh9+8ACeNr7M+KLI/eWu6Nig8877cjrEP3QA
 n1Kfo14Pijwx26kysheLFV1jutrq
 =IfeN
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.139. Chuck Lever <cel@FreeBSD.org>

 pub   1024D/8FFC2B87 2006-02-13
       Key fingerprint = 6872 923F 5012 F88B 394C  2F69 37B4 8171 8FFC 2B87
 uid                  Charles E. Lever <cel@freebsd.org>
 sub   2048g/9BCE0459 2006-02-13

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEPxAWERBACkn7HyvqMEJbJcf5eSJ57WR4Xoo1PU1GIsAYhdFhDOvmeWRZcH
 kwUyFyol4X3P7RyibrvZwnvc+nrqXqATzVeDHT2NhcTTeG7fq4E4a3VpdqR10uV5
 nswMRw/Arci7vuAQnmHzOYfnNP1ng6qLjA/CUizQ01WakhQeHGtbM9Q5XwCg2GEW
 H6d78/rWY2Lb2wo6cS+9Du0D/01cO9zPg+Mh2T43XdLMjnVp17jR99SuNajqJbBJ
 pNehq8yA6wb3ahZPjKtXpgELu7YI7omxhqcq1mxKvXa262aV72qdWqWoqvZzX0hU
 lOckg6Q6EO7qGvU/jOY02/tmHdzQy6UJzHB7JVsfZ9DGH5xW23AYmbD4WF8jXtyL
 Ey2eA/91IZpxEK7guIBt0FE0qMSCh5VOOlzOQkV+KtLswzEVPOWw/93wGpd/uilx
 jZESPZ70cSWuCWwY15FEFts/gs5gPhCs1h4asQI0Shft3sgQrBhE1/hg2uENccHR
 y1Af75hwezkwFkE2DUXFQqLuUlGu0sOtG+b7+IPrYuaGAB/yBLQiQ2hhcmxlcyBF
 LiBMZXZlciA8Y2VsQGZyZWVic2Qub3JnPohgBBMRAgAgBQJD8QFhAhsDBgsJCAcD
 AgQVAggDBBYCAwECHgECF4AACgkQN7SBcY/8K4dpvQCeMv7yFBMFOPxa8lF15IYP
 8LRYjaYAoJyIupvj/RgaM5zZXZdPUS+gro9SuQINBEPxAWkQCACPOzcRL0LbFubW
 3c8aJODeBG91aQRPz+ndMItFW6/+CW3EmyCGyaG8uxdtY0SOx0yALj4PiSj35s8u
 wqfsWFRuNixODl9lE8ihq4d5qfeiwpcAR9wVNwgnXD9boKXOOFwb70W+9pI/I4zX
 igHFxZQpndROhIFO1RLdoBlB89vV5iX/qzPKHFfmbbIkY4zvAsvW2MCly1WiEC2y
 GT5GJTFZgko5/VBFzb3VDvA0grCGGTbHK1hnfuuvouQPnbuawdSZO2XGMc2pFcKW
 gh+fgdw5Y/oQZelJKhLaL8Lz27buTz2sj5O/cYv5n7wDD/kSnb7+pd//qagox3JZ
 bGXKTED3AAMFB/42KW+FULr4keaGuhAZ07hrNs73Uw3QTTNIUYYOkSJVvgold8RX
 HMP38WANIkHtB3LBaZBxhqAOp2R5AppIPfyDrp1q0lTOGpzWfsQNQd10KRsXZGkf
 K6INVa6kpzQhNDxBUyLh4onp7hZyt9zXdZrfYJLexbxrxkP1LDRDNJJAY29LnVR2
 vyDHPrB6mmgijy07S6yKwC6iJIRoU8w4X3xFqIQ+KcA6VBhXqtqxSjk7GQnwyB7Z
 7l4Qg8iZvX5qj753w6BDEwDtXlCCbocDVsu5xcLRPwMN8BgH7XcYCwmZFEU7IgEk
 RAhqiHsjpnO7al5a+HQJi/KMOs5aDfwdkI48iEkEGBECAAkFAkPxAWkCGwwACgkQ
 N7SBcY/8K4fTZgCgiVDpYWzuROUmau+CUT/UVCatpHUAoIyg/KnHhe9PUB9Gav5+
 /KWhtyRy
 =T2Vu
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.140. Greg Lewis <glewis@FreeBSD.org>

 pub  1024D/1BB6D9E0 2002-03-05 Greg Lewis (FreeBSD) <glewis@FreeBSD.org>
      Key fingerprint = 2410 DA6D 5A3C D801 65FE  C8DB DEEA 9923 1BB6 D9E0
 uid                            Greg Lewis <glewis@eyesbeyond.com>
 sub  2048g/45E67D60 2002-03-05

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBDyFNecRBACKn+4b36n2/e55yTfpLXS9a57gQNgx0WXBfbK9LMLf2D8otD+0
 z1DW2eclAOwJVtPftjvYP0HKFVC8Pes9Wvp6Z0sIEPpdkL2NPlUuxXUyh1b92u7n
 Bpt7Uwsom88fnn+BOPrvvPL8Arg3JBen+Jd8o9yRoABCYku8vQF6CEUDcwCgmHJd
 9hZ/kRb1rLdSLssB4VMQ3zED/0/SVm+6XV+2ObXn9FKQpCC6sMSq+PCoR9NzAVRI
 njTtkpyR0fjJZr69IN2E2MWPonv38Xg1tWJnR3fKUOnNqwiVHBQKKrKa9lGWsZQp
 TrR+ihtJ9hC626dCq9JDb1Ls7TXn9ha+d0WNuqiwugto/myHm/GVlCANhGzUuDNU
 Mo27A/46YEAMuhSQWOxgSZ/Z5g0ybgpswVePrxvD4sX2/AVfKClOYpPiNJe+S7YT
 JmfIPkpP2P7v+87BaN/uWgaFmxlhpUOIuat44w52EwwGB+K24cGgq52XncZsYTYH
 SrLitkRtt35tVdnn1v3gmDi83M8W/YunflpeJAgJC0QzxKuar7QiR3JlZyBMZXdp
 cyA8Z2xld2lzQGV5ZXNiZXlvbmQuY29tPohXBBMRAgAXBQI8hTXnBQsHCgMEAxUD
 AgMWAgECF4AACgkQ3uqZIxu22eCkCACfUuNYpGGlFboDl5FZeXlor/k/hogAnjyq
 /Vw8amjEN34PGuqBPQpMnFrwtClHcmVnIExld2lzIChGcmVlQlNEKSA8Z2xld2lz
 QEZyZWVCU0Qub3JnPoheBBMRAgAeBQJA/XNpAhsDBgsJCAcDAgMVAgMDFgIBAh4B
 AheAAAoJEN7qmSMbttnguMYAn14cqGfabS626P1D4GMcSkSagzaZAJ9LyH+vMrfn
 OI2x9+VLyaTSAvm4zbkCDQQ8hTajEAgAmuQukPFaefkzE7DTIgSDIc5vRmUHDs01
 bGp36R7f5GEmXwNtCZ+Mf+H54QSzuNh1QaJ6Nq/iYd35LA03/I7AgUFwSX1cEc/n
 fNjxqS27CAab6nIt9Syb9WAAKUKDMwZCjHBNv49CAPyVVb1aTUCJyUcv1gGSMNHX
 r2bkWpa4nIN4+rqD3hifHCX1j/2XMkmYY8NCVTY52zqO4sCbh+ohAMfYtW2yV2Iz
 z4ngppp0fUbmlGV6DVvTC1Mi61UCDkhO+TZFlE3qXeGlP5GR0SbpdQmPiI0Jpinq
 Zs43gcd2xtiUBM7HAMoQDpyFirDuyDKUgMWJrtJtAwWa4cf4Luh/fwAFEQf/dqpH
 bl48tu+REAPrjk9NWaGVqi1vv0r4LJXo8db9aGxwwAzKXDhwqHo69E6l4/Rd+hsa
 sIJE7vGNbGK+uerTg/W3jot90MqraplXHuS54TjOMyzWSSG7S6ypmDf5YnK3xQE4
 NfTYvC2GxphotkE+QmBzmeft/Mo3opVYlv3OOBqiQoCYB348rXczxEUPam3bFBw1
 wp5XjA0kqYRcUbxNE5AK9c+g6R2c/jT96EnDZDpMRCNZiAKHFLEjtHy66BiVHKvg
 tijWD0kxtlWV8KAKN6OhUpSSsCv53jsCIntNARAVENOKOV0RQVDfJgykeK+3eeNr
 UdIjAWFAWcVOEw5TQohGBBgRAgAGBQI8hTajAAoJEN7qmSMbttngHb4An37mZU8r
 E3SGCAlTJCLV1JxRDXVyAJsFBVshxisn1GycdT3UCwcJVAHJ5Q==
 =bx2+
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.141. Xin Li <delphij@FreeBSD.org>

 pub   1024D/CAEEB8C0 2004-01-28
       Key fingerprint = 43B8 B703 B8DD 0231 B333  DC28 39FB 93A0 CAEE B8C0
 uid                  Xin LI <delphij@FreeBSD.org>
 uid                  Xin LI <delphij@frontfree.net>
 uid                  Xin LI <delphij@delphij.net>
 uid                  Xin LI <delphij@geekcn.org>

 pub   1024D/42EA8A4B 2006-01-27 [expired: 2008-01-01]
       Key fingerprint = F19C 2616 FA97 9C13 2581  C6F3 85C5 1CCE 42EA 8A4B
 uid                  Xin LI <delphij@geekcn.org>
 uid                  Xin LI <delphij@FreeBSD.org>
 uid                  Xin LI <delphij@delphij.net>

 pub   1024D/18EDEBA0 2008-01-02 [expires: 2010-01-02]
       Key fingerprint = 79A6 CF42 F917 DDCA F1C2  C926 8BEB DB04 18ED EBA0
 uid                  Xin LI <delphij@geekcn.org>
 uid                  Xin LI <delphij@FreeBSD.org>
 uid                  Xin LI <delphij@delphij.net>
 sub   4096g/8ED8F128 2008-01-02 [expires: 2010-01-02]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 bnb9gHFGpH1QylHtTuqRnaA=
 =Cm8W
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.142. Tai-hwa Liang <avatar@FreeBSD.org>

 pub  1024R/F4013AB1 1998-05-13 Tai-hwa Liang <avatar@FreeBSD.org>
      Key fingerprint = 5B 05 1D 37 7F 35 31 4E  5D 38 BD 07 10 32 B9 D0
 uid                            Tai-hwa Liang <avatar@mmlab.cse.yzu.edu.tw>

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQCNAzVZoYQAAAEEANP5N0PqWEDO1ml4yfxXCQ+hEhaXyaGyNboh6uLX7uNPXQTI
 9veETXNd20Fu+8yuzVFJk+KmmGerUzduHLXm6q+szHBvEQoJ2ZGk9AL9jj2JjFRj
 rCRsf6mk8SWuL0xDBTu04bZZ2ttNDxNiymNTqdBVZmX6Mdg/T2i3mv/0ATqxAAUR
 tCtUYWktaHdhIExpYW5nIDxhdmF0YXJAbW1sYWIuY3NlLnl6dS5lZHUudHc+iQCV
 AwUTNz0HC2i3mv/0ATqxAQGQ2QQAww0WfeHFmupfTBWWdmNSX9eCDIfN7Wsuiu54
 DgCi7T7ixQa6reIsMAKx1KHNX/GSBr+t3nyHT7N12Ee09qKXywQAw9W2nrdMGE1V
 nENHEFgJtvnoN76U1goANEfZGnLLhyuDoMyZGCZmVG6FiV6EoKrWxfwq+jV0Y9K0
 3AI/Cny0IlRhaS1od2EgTGlhbmcgPGF2YXRhckBGcmVlQlNELm9yZz6JAJUDBRNC
 H/ubaLea//QBOrEBASTEA/9H+78uZl6JvHwGKOXyZkrRCLTUgifJcR3thVfynGrM
 AImheJwqgVP7FQojDk8xBCBQ1b3tpwpeRPwE0V/Dr5MkFLfiaVgCIfMibqcc9zuH
 i4RYcRqKswiO3pFeDMyHiSxylURcHfx73CYijIDyG+HPiCQ4OGd95VJywUzOVddn
 +g==
 =jIT8
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.143. Ying-Chieh Liao <ijliao@FreeBSD.org>

 pub  1024D/11C02382 2001-01-09 Ying-Chieh Liao <ijliao@CCCA.NCTU.edu.tw>
      Key fingerprint = 4E98 55CC 2866 7A90 EFD7  9DA5 ACC6 0165 11C0 2382
 uid                            Ying-Chieh Liao <ijliao@FreeBSD.org>
 uid                            Ying-Chieh Liao <ijliao@csie.nctu.edu.tw>
 uid                            Ying-Chieh Liao <ijliao@dragon2.net>
 uid                            Ying-Chieh Liao <ijliao@tw.FreeBSD.org>
 sub  4096g/C1E16E89 2001-01-09

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 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
 gJ4OtCdZaW5nLUNoaWVoIExpYW8gPGlqbGlhb0B0dy5GcmVlQlNELm9yZz6ISwQQ
 EQIACwUCOuXFUQQLAwECAAoJEKzGAWURwCOCLMgAoJGhtnPbzYhZWHm5S9Dkgmvj
 QsgvAKDq9LzJ14Sojrtpxka5F5iViLoqEYhGBBARAgAGBQI7J4TCAAoJEGvZyNJ3
 mDKxzzAAoJFFuWMLf6HHO0TiPdafPjuruVpuAKCC0eE7oh9t4xMlTb2SYWMpZS9p
 hokBFQMFEDsyHL7DfcPfQ7mVNQEB9KQH/iLaexNwzgB9efMXg6RH+TtaWzxBdeEc
 7CD9oxjG/1tsfd8S10UScnr+JHTDNn3eh5KdQDjPmKkedPngAIjKHvb/Jux7jcxO
 OLmRnVeFD1kMyNlv5ggtJcHJ4QXe4rBko68qyU5ON9pvA/h7Xe/ulGw71dOCx0T6
 jBlpmLF8AZlHW7z8OS+DYa7fJFI65cDbtd6c9hM+O4WNj8PK7p6MPgilIaWsnJq1
 lS5fkaQK+dqaIaVEE4WqTt8v8xC805X58HZXRFma5D39yGFNd3LRCpu48mM5LDLT
 Q7tfs9jn1Ru7iUHyjI1Jel0hvRGblL8iW/zvwmS/XTXPsh3H0U/WfWG0KVlpbmct
 Q2hpZWggTGlhbyA8aWpsaWFvQENDQ0EuTkNUVS5lZHUudHc+iFcEExECABcFAjrt
 DlEFCwcKAwQDFQMCAxYCAQIXgAAKCRCsxgFlEcAjgknjAJ47s3GGw/KsEHKDjjRi
 D/kcOgiNZACgxKgabQRGmvwKMl8fTtNxiTbAyDOIRgQQEQIABgUCOyeEwgAKCRBr
 2cjSd5gysSzKAJwOKSwO0ZIm9II4sjcxWPeNUHAl5ACfXShCxB2mVs6kRDsD1o7f
 aWeuChCJARUDBRA7MhzCw33D30O5lTUBAaMTB/0S70cAqqqAqrJBZosRZhmXWixk
 Ah1gMH8SkNVygA3BE3k4A9LC3LNyvlnbCGPFH8PYvN8ymcn3sSPu9nyHVZ31VDU0
 mp7JvKeW49tWxBeoFWpNJeNxTv2aNpFCLahpiwcDt/HW8/1NC5dJirDrIrVTrhWG
 85UUYeGmMX/5qC7bFh+Y5FC6HxnFTCWlxpZQDtWw4Dbf8r4dMrw/2I9Uubj6brEx
 LeOG2gB5UAuSS5Brp/9eiAlJs6jRgLU883IzpIhYanz37nJcLV5MVHhbGiR1Yyhr
 IQlO4pQ2f3VhaEpkUu63x6lxfyVVJsZZ+vZU6EvtJSFACWR1nK2SbszGt/FRuQQN
 BDpaoxcQEAD5GKB+WgZhekOQldwFbIeG7GHszUUfDtjgo3nGydx6C6zkP+NGlLYw
 SlPXfAIWSIC1FeUpmamfB3TT/+OhxZYgTphluNgN7hBdq7YXHFHYUMoiV0MpvpXo
 Vis4eFwL2/hMTdXjqkbM+84X6CqdFGHjhKlP0YOEqHm274+nQ0YIxswdd1ckOEri
 xPDojhNnl06SE2H22+slDhf99pj3yHx5sHIdOHX79sFzxIMRJitDYMPj6NYK/aEo
 Jguuqa6zZQ+iAFMBoHzWq6MSHvoPKs4fdIRPyvMX86RA6dfSd7ZCLQI2wSbLaF6d
 fJgJCo1+Le3kXXn11JJPmxiO/CqnS3wy9kJXtwh/CBdyorrWqULzBej5UxE5T7bx
 brlLOCDaAadWoxTpj0BV89AHxstDqZSt90xkhkn4DIO9ZekX1KHTUPj1WV/cdlJP
 PT2N286Z4VeSWc39uK50T8X8dryDxUcwYc58yWb/Ffm7/ZFexwGq01uejaClcjrU
 GvC/RgBYK+X0iP1YTknbzSC0neSRBzZrM2w4DUUdD3yIsxx8Wy2O9vPJI8BD8KVb
 GI2Ou1WMuF040zT9fBdXQ6MdGGzeMyEstSr/POGxKUAYEY18hKcKctaGxAMZyAcp
 esqVDNmWn6vQClCbAkbTCD1mpF1Bn5x8vYlLIhkmuquiXsNV6z3WFwACAhAA4vXK
 JfvHChbHRCc0z99UHVCluHwRUDopIFNfuBmiAOA7Ozz19dmYBKDgudZpDNZtbE4w
 0S2eW3xVTkPUWdrhr0jDcibkhpdFI+Cp3x2zOhL16Yug1xFSqWDSOo3QX4eBVxMH
 0sCHiZMlcx/QGl1bwZ9PpO10PttjloI2SqWGUNK9FGDjVfJoX8YMy5DG4rLcaS8+
 m2IOb9BiYoRs2Dot9KZjWtL7+CDrFmLH4q8P6OHiE0RJy+7YoTvsHr0JU6suasHK
 NPfzrXlWZ8C5sKX0XuZTJNkfKojMVucM6olzpaE04NAtKjDffHr7Rr0md/6Zy7ru
 gJIOwClDyfMmVud0J9Sx/pLKlldakJl25Xfctcz/DXZJNGpvfeMm5+pzR/zulQc1
 zDopdrSq261hJKE/5N6tPflXz9UreUdRm1mZV7SEgCKODMxSxexRfw51O0fk3vZ3
 rfSjSgeIz9Fs3ypJHCd2q5C4LDa5XgX8vNSYxLKIevu62BnQXJVTKCyuvzUGOrvs
 nhKzR4GjrMm2575e+pxojQPVXcytFqzn4CS3QTWHvm+J1EzFwhdpR2kXAmaarpye
 JbUjuCDHDhJPegXY0oRa51lLhvcij1U6smqutADIQSck5JmyQKuC+x7Y8iLk/HSO
 3uni8G44oFCf9KJG69f5Va0RHgjBUOZgKMAlKA2IPwMFGDpaoxesxgFlEcAjghEC
 3KEAoK+jSxWG0hQa1aK0vkQ+IvD+Ag7EAKDahnKlbMifGmPSpYjK0zcUeojzyw==
 =NLH6
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.144. Ulf Lilleengen <lulf@FreeBSD.org>

 pub   1024D/ADE1B837 2009-08-19 [expires: 2014-08-18]
       Key fingerprint = 3822 B4E6 6D1C 6F71 4AA8  7A27 ADDF C400 ADE1 B837
 uid                  Ulf Lilleengen <ulf.lilleengen@gmail.com>
 uid                  Ulf Lilleengen <lulf@pvv.ntnu.no>
 uid                  Ulf Lilleengen <lulf@stud.ntnu.no>
 uid                  Ulf Lilleengen <lulf@FreeBSD.org>
 uid                  Ulf Lilleengen <lulf@idi.ntnu.no>
 sub   2048g/B5409122 2009-08-19 [expires: 2014-08-18]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 L1JhS/1K
 =sCn9
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.145. Clive Lin <clive@FreeBSD.org>

 pub  1024D/A008C03E 2001-07-30 Clive Lin <clive@tongi.org>
      Key fingerprint = FA3F 20B6 A77A 6CEC 1856  09B0 7455 2805 A008 C03E
 uid                            Clive Lin <clive@CirX.ORG>
 uid                            Clive Lin <clive@FreeBSD.org>
 sub  1024g/03C2DC87 2001-07-30 [expires: 2005-08-25]

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: PGP Key Server 0.9.6

 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
 tF/cItKqIqZ9RhFcg+IisxgUtQ==
 =g51D
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.146. Yi-Jheng Lin <yzlin@FreeBSD.org>

 pub   2048R/A34C6A8A 2009-07-20
       Key fingerprint = 7E3A E981 BB7C 5D73 9534  ED39 0222 04D3 A34C 6A8A
 uid                  Yi-Jheng Lin (FreeBSD) <yzlin@FreeBSD.org>
 sub   2048R/B4D776FE 2009-07-20

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQENBEpkXvABCADnsekA8rnN29OpRPBgLBo2RzYI3b+FCSkPqDatHJuGSfTqFUgi
 2WI8QItI0toqcePNpNtgyHie5jqsX3/yFBRGO1xyCSIEMSbMiOtZZizYLqlLW9pZ
 seNxwHBetogToNoveYHXNGsrptkqir5mx+vtSO5o6DFcDZYQRgZq9NTnKnuJkYwK
 wnujkHcTpUVw9pmnwj6ZxZ5V8fboCzd9ET1SmWH6194tpJ0Fq/HX9qGfF/c6Kl+e
 Hwz7TFi/hpMwsdwjz07SrDi8bumuWNpwZprOzHKORbHfdg3GZaEPcLhF7qjvYunk
 osYrnyUmz7+FpTJVg3u2Pp3eL0xdXU4TuwTfABEBAAG0KllpLUpoZW5nIExpbiAo
 RnJlZUJTRCkgPHl6bGluQEZyZWVCU0Qub3JnPokBNgQTAQIAIAUCSmRe8AIbAwYL
 CQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEAIiBNOjTGqKQTYH/3kkQL00ibVSNCHH
 2VNfnV9tyIDBIorMHFctEZ+zTQ/mQRxXUS3gpD9pg4nYNJtrstIWxH9Y8GxDTjQ/
 pJsVbZ6WcYXANwihoH1jQetSR4ZZDLrVynSWQ2WeYg0XEedKxV6ZmxZQPAbN742o
 T8ehZpThFSaPVDtIYFh0eVnPkwsmR/mC5DQDGkwb2p2bsxdbkYCWLLRiS5buGFyZ
 iHZSe+D+mRJq5kxZriy2pSXcQUlqZk3jvpC9mXr8QzAwyzbPwHRak5NNuQxxCJGh
 CBDzTSB9OsJrLd7WOxISii2k9ZszP69EymO3wTpSnoCPyUllOsdMa0291xv8kw0c
 3ytWz/65AQ0ESmRe8AEIAMYk6s/25zGN9qnfbTjwtxPD2/K5AeyJaQ+kZ5kiOZqn
 DlpMawMccq+yvh25oX3j0NUug4j35FKFZqnzpLx4KizbJjhZX+V826lVsf9kx6mR
 UmpYAlOb1qQUZMuR2+41eVnuieAqNyFH4pjp2zR6mhaoI82a1AMeOdhVOLfTl1+Z
 mj2sL+1J+fkcBxuhMEC30elVKxuQo/8NphZlnZe/819Q3HDsuw2mEiQMWH2y/5B3
 aSpm7/LY/L13YI8oUNWZrvjJZYSYyFyhDryzkP60251Dhfwlu2792Jt2Y4dm/zVW
 Yi/QpUdoPLRqEQjipiBg1sWLH1UGYys4muUxBoUQItcAEQEAAYkBHwQYAQIACQUC
 SmRe8AIbDAAKCRACIgTTo0xqimB4CAC9MJzYzpUgnlhh275aZs6pXJnK9dty7HpQ
 zJ6UpoR7oBcmYivlAXaFBB0jxsAAzu3wKXwC9IOZZAB5y9keXWkG/2zdutJJ687a
 HAjXUUPi3QIF1uPGgvpEQPNfn+Gki8c3B/QOCVhKg9UEtewRzT8tZqCubeZLmc7L
 NbNX5xOta92KD29XOCXX+6htRJ3aBTn6nNzRdBpuVxKhzd+eLg4gRMKJebDfDXrG
 fkDmHta2l1EdhlLxyLCvLd0x0mMGS9rMBuEaTvc5hka6YsM7hhGMZe//CjCO8mGl
 CZyUepEymoFG7nCPpMTgZFxCHzOOljsoaEeOxg6aS2kNv2sTcDkJ
 =cF/N
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.147. Mark Linimon <linimon@FreeBSD.org>

 pub   1024D/84C83473 2003-10-09
       Key fingerprint = 8D43 1B55 D127 0BFC 842E  1C96 803C 5A34 84C8 3473
 uid                  Mark Linimon <linimon@FreeBSD.org>
 uid                  Mark Linimon <linimon@lonesome.com>
 sub   1024g/24BFF840 2003-10-09

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBD+E2XERBADU5F4DbwP8KaHN1H+yz8zaPjOSLJushNA8Qu0hN7GXqd5vgRDc
 zzzeZIzVVxPVdrQ+I24UwSIYu4ww6nfum6kRv/i5khxbYM4zGGPG7s5pmqIECum1
 tKvJ21IE823lcJtUp0C4qhCTZvoc3lADMn9cPgOSJClzHjAYDasOTy9hhwCgsTqP
 aHntu6Uj3BYpurWHJSePWrED+QExF2asNPehIOZ4l7dwpaeGSTxeINH1FYnlF+J1
 N8lvpFQ2H3sfSViVgAtqM27Y/jOf3EkQH0Wym0iCczOxEUFbNH5NWAm6IOVT9owo
 tkh2PZgyfN0AJZBPh9d/oMN2MEKPb6wcqr3c67ZmQG7B+LGliBSVYhWDbd6E2YHb
 bvKVBAC0pL8fzNldEQUUYDTTrWhMVCr7IGzwrd6cEhIZ6b5kqQd1IsIChVG3jCVL
 wWGSgmXY4J7i4Ujsx8k/f6CluNLwmP5t9caycz32QdJAWkzQq2x4AQUy56HDbvui
 QFOqD+PGWqvoUUyJqLbzoASI5dcV35OY+m37Z1Wxhsn22WBE0rQjTWFyayBMaW5p
 bW9uIDxsaW5pbW9uQGxvbmVzb21lLmNvbT6IWwQTEQIAGwUCP4TZcQYLCQgHAwID
 FQIDAxYCAQIeAQIXgAAKCRCAPFo0hMg0c5j/AJwO+VSVExRY8saToDKF3hVe4wNE
 EwCeKFf5ysZjQIJY3pJ9tUzm8o3tX+i0Ik1hcmsgTGluaW1vbiA8bGluaW1vbkBG
 cmVlQlNELm9yZz6IXgQTEQIAHgUCP4yK4wIbAwYLCQgHAwIDFQIDAxYCAQIeAQIX
 gAAKCRCAPFo0hMg0c8c4AJ99m0hHLctAVXjfZYurZBnl2dUL7gCgiG83BXm30rBa
 POtWm2AstMb6uVm5AQ0EP4TZcxAEAMQPPoRMfBR3cRc/T5NsWunFlZA6nB+3BkVd
 p0ham4FoseEh7q+hqa8udARMpTc4LIIL4FU6lIa4L0s3Z77d4bXfJmwlUHuUMSk0
 tnG003D4VDBc3HWSSX/W/CRyN+OBxPljJywTjI4goyXx9Lc31qwpGqYy5Ao8X6EA
 TT9g3IgzAAMFA/wMgON1JxPGr8MSvSLHLMY/xn2PR8lSVZmOlbhNE5hL2FzyFME+
 Pnc8hR31cohFjSXR7hb6SOWrZjYpdIVsa6qdqXIRDbcb5sKEGv9959W8yt+L/kNr
 RlN3oExA2pkYpEQfLpH0HdMmbU61NR0cI6p4ZZly4p6JR0kEajaUOlq/cohGBBgR
 AgAGBQI/hNlzAAoJEIA8WjSEyDRz9lwAn0pJVzrxxaB/PqtJsu034bH5PnlDAJ9G
 axdzE7A6F/UPmrURep9QFDq70w==
 =GflG
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.148. Tilman Linneweh <arved@FreeBSD.org>

 pub   1024D/807AC53A 2002-06-03 [expires: 2009-06-15]
       Key fingerprint = A92F 344F 31A8 B8DE DDFA  7FB4 7C22 C39F 807A C53A
 uid                  Tilman Linneweh <e0025974@student.tuwien.ac.at>
 uid                  Tilman Linneweh <arved@arved.at>
 uid                  Tilman Linneweh <arved@FreeBSD.org>
 uid                  Tilman Linneweh <arved@inso.tuwien.ac.at>
 sub   1024g/FA351986 2002-06-03 [expires: 2009-06-15]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 zPaI6PcaY6bQs0sU+vx/y2EAniX01//zLLCf32/SFgoz+sKCCVdViGsEMBECACsF
 AkAL2agkHSBQbGVhc2UgdXNlIHRpbG1hbkBhcnZlZC5hdCBpbnN0ZWFkAAoJEHwi
 w5+AesU6XeAAoIAsTf+iRoJ2Ssz3I0NVCDq5C7sdAJwPk0jhHcp+Smx7JUf0EjiZ
 IhlqDYhtBBERAgAtBQI985fUBYMCyqa9IBpodHRwOi8vd3d3LnRvZWhvbGQuY29t
 L3JvYm90Y2EvAAoJEBBYFoXFIQl+sLkAnAhFTAtrsVGOk1PhWYdYGCUB3rKNAJ0b
 6UcNJBcuDLsMWrhmr342rubgQYiMBBMRAgBMBQI9BRkQBYMDuSWBPxpodHRwOi8v
 d3d3Lm1hdGhlbWF0aWsudW5pLWJpZWxlZmVsZC5kZS9+bW11dHovc2lnbi1wb2xp
 Y3kuaHRtbAAKCRDehYP4vb/oOAp6AJ9sbAZYVOAK9KJnrXG6M4HyFIn7zQCgx7YZ
 3lauFFTDeQtC6f8O/YqL6ZSIkwQTEQIAUwUCPyFXhAWDAZznDUYaaHR0cDovL3d3
 dy50cmFzaC5uZXQvfnRob21hc2IvY3J5cHRvL2tleXNpZ25pbmcva2V5c2lnbmlu
 Zy52ZXIxLjAudHh0AAoJEKR5zcRatGBqDhAAn07IqzEqiDQAq9ZuHVA9q/Se0BhL
 AKCDNey4KgYxDLmHlccdugDvlo4RT4iTBBMRAgBTBQI/IWPJBYMBnNrIRhpodHRw
 Oi8vd3d3LnRyYXNoLm5ldC9+dGhvbWFzYi9jcnlwdG8va2V5c2lnbmluZy9rZXlz
 aWduaW5nLnZlcjEuMC50eHQACgkQeQV2j3WE9djt4gCfZmdTVNllaafXbvEDqU76
 dY3QKHQAn1P8Dr+OhFqTx8i8xse1R4dDKAa1iQCVAgUQPSHiMMRGkei8OaXNAQEP
 rwP9E5Zt9bK6y9VYcIsbBFDvAYLhjhvT9IKOfQrHIzsnNgIfec6R0B8LRXGaOlUf
 6jMTP1p06OvuyRNGHHusWDui1nVPcN+t/uXB7QT16UefXv11czXqmzCKtDaEDQHC
 qAJMWAFGjL96IESNMTFGGSx87nMUgDmL5HJVaw+WLG5kcVqJAJUDBRA9Is6DvUCm
 6Q/OhUkBAbbpBACdcJbmmeUz2kxRjtB2dBr3l0mVGpIMdVMC/NaKqHqk5gxRm98c
 Onq2we9PSBI7H5xBmJSqX+ZJHRVUSDzoGaJ73A/yPFi8t7Q9MRMb/Xepw/bEx7js
 vV7Lg+tXRedxG/gMQ5E8KS6CXRtQIprLUGQJ/rOA/wxylXPIUMGNaiEbmoiiBBMB
 AQAMBQI9I3u8BYMDmsLVAAoJEMRGkei8OaXNks0D+QH0rq8qJNlZQIKrjHRPX8Bf
 gN2401rOk1cRZF3SJ3zC+FK/uOM9NKfZI5E+SCaxHmzGamB7J8jYsdqMJIAMnXTj
 aPpXRgMs01GMBFmOiGNJJtZ/e0589n+kkjmDah1SedId48bHJQ+bBwYh/tTnQwgh
 8ss1f4C+ustiU2y2YWziiKIEEwECAAwFAj3aoBwFgwLjnnUACgkQ5RUoJTMc2l1s
 vgQAk1Ep1LH00RT/M7baFu//UnQ2gal6jtTcKQlkpt+5LHqcHQRc0eritnByi5Uh
 HRlz8qkotdmUpbk4Qe6pi2py3PXyDcqIXiNj7WqVmrMiDVhuabjG6rz7TjTBvCkb
 /cOwKA/E+Wq9EYd47CDFYhaeCaJibtaaJAgpACjLwdOBtJiIogQTAQIADAUCPyFk
 iwWDAZzaBgAKCRAbsIu/KpIyJbiKA/9tGaHm/H1E8+nZbVNLycF4XHysp3AIfThF
 ycrtF76BDzUBhMJP1wqIFoTOVpNEZyfcaRdxenBuFdfevylp0S4HKt5Njunck+KF
 YhwHE313f4Khx5tfVji4PCtdDqDTKaDnC8+bkMBlz2aN702bQT3JYVMd++yMkUuD
 QFdFQ1dBFYiiBBMBAgAMBQI/SiLRBYMBdBvAAAoJEJugaRW/hasxf3kD/20udTH6
 KqiBG6O25k3furoU220pjInNW4MLl9gWwx5pffmx0ht50NdP3W6Zi9Bcmdto0IbR
 luIiuBKMIgkaN6GJfy+BDs+Q4sPfvFYbt29Gbq9S0+5GbTRx91cAlcx5nffuCQL+
 QDle2tQQWz9buIDppqkcz5Ec0SK1U7Dtk+DbiQEHBBMRAgDHBQI/FpZTBYMBp6g+
 hhSAAAAAABoAY3NpZ25hdHVyZS1ub3Rlc0BwZW5ndWluLmRlImh0dHA6Ly93d3cu
 cGVuZ3Vpbi5kZS9+YmIvY29udGFjdC9wZ3Avc2lnbmluZ3Mvbm90ZXMuQTkyRjM0
 NEYzMUE4QjhERURERkE3RkI0N0MyMkMzOUY4MDdBQzUzQS5hc2MiMxpodHRwOi8v
 d3d3LnBlbmd1aW4uZGUvfmJiL2NvbnRhY3QvcGdwL3BvbGljeS92MS4xLwAKCRCr
 HktgRnVrHmr/AJ40BMVSZ0DdOYNUzMjA9DinC6rJGACaAvMqo1iyaHhyjSetEUGy
 bb/xM5mJARIDBRA9A+0UlWBhpt2TQTkBAS1UB+ICtY+/MOSiz1j5xqhC7STAxOPP
 QD18HmO3AHZywXr3G8iOh7iyJU3EphQID6B43Tvu8VjaX2mvJur0rppMlHqGDJSv
 k1J8diwkuhb5jwmKBBTOoPdh6QEhi8GanAizKd/rnppwAfzeP0CmiKjzQQJUiAK/
 P4KLhd0ObpjtfBu2D3azTLinMURTI8vYmlyK8kVgDG5fsnnL0/ksnsKw990znbxz
 7unlnGCL+MSyt43CCdoaIjiaK82pt7vTVf6K5yIXbRAfphsyG4KG3ZO1pvsFygD0
 sRs+NSx8Oij/zXQUhELw0/zCTF63zNDIe0w5JRcUOXdK9a8Q2j3HVJ6oiQESAwUQ
 PQPtFJVgYabdk0E5AQEtVAfiArWPvzDkos9Y+caoQu0kwMTjz0A9fB5jtwB2csF6
 9xvIjoe4siVNxKYUCA+geN077vFY2l9prybq9K6aTJR6hgyUr5NSfHYsJLoW+Y8J
 igQUzqD3YekBIYvBmpwIsynf656acAH83j9Apoio80ECVIgCvz+Ci4X/////////
 ////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////
 /////////////////////////////////////////4kBFQMFED0D7Q8BVbrioJTa
 JQEB1xwH/RyMspXEKjRWrceEwuCwfFb7jGo8twuLcbFOSIJKQkJZMb+zgS1GsU7c
 4tFGk7sy9aIDTq7g+Q8/7FOVtbxQQzdP52/xYIrwj5UGVPMF9/di8GSfgbMlXmDU
 jg03iiwMWHom1z2Bq1wV/oPe/4LbFYodnQBX4JQebnbgkBvf/5+JGR49p6gqv+jG
 Jsib+Y2ic9C6nsoE5+kGygdJ4Rpj/sqiAqKeJXZ0LOHm4uffNCfD8wcqQmsWNweN
 kXPOOYNoL22KRdRxjYaxCD5Knhe/V+mO6NP0Eogor5qi2wb9Vnocu+ZRoVjdbh1D
 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
 bAhj/K/uFB1MfShas4juFIkB3QQTAQIAxwUCPxaWBwWDAaeoioYUgAAAAAAaAGNz
 aWduYXR1cmUtbm90ZXNAcGVuZ3Vpbi5kZSJodHRwOi8vd3d3LnBlbmd1aW4uZGUv
 fmJiL2NvbnRhY3QvcGdwL3NpZ25pbmdzL25vdGVzLkE5MkYzNDRGMzFBOEI4REVE
 REZBN0ZCNDdDMjJDMzlGODA3QUM1M0EuYXNjIjMaaHR0cDovL3d3dy5wZW5ndWlu
 LmRlL35iYi9jb250YWN0L3BncC9wb2xpY3kvdjEuMS8ACgkQGaJoCYg4/ZQ2Wgf/
 ZA+qzqf1y3r9j+jgf8M/BrI3aXSgtL8ZDfek+rYdVcPMRKLMfnBuqV1mhOa1vPsE
 snUW4Q7LWKZOcCrcQcS+eGXi8QyjHED0Tu5t5jF6laq1qy52kVav08oc+0dDuwae
 sIxMKvFW/qO4kM2lL3CPK0uEBkrcKMN8sasjr/Cb/O34q0v4/TtdPgz6e6OIAAsk
 fEi785Ld0JWykmH70IYAGKmNKqboimuax3NlZrh3BInH8VWWjubIKji/AhPAu8zf
 4NMC006t9BJ+BRFeNlS7Xkit5fLDyZ7JaR4LWkrsEdBmIVG2Dm42WKKRiQJoJHiP
 1CaJb95p0+z4SRLYOMXfaYhJBDARAgAJBQJAknnFAh0gAAoJEHwiw5+AesU611MA
 n3ULEacZE+cuEpQ0oJTvfgUgNQzjAJ9BAeF+jToC/Rxe0Ic+BrxDxPLU0LQhVGls
 bWFuIExpbm5ld2VoIDx0aWxtYW5AYXJ2ZWQuZGU+iEYEEBECAAYFAj0BJlYACgkQ
 Z8MDCHJbN8btKwCfSU2UKty39Piam6JpXhWbY6MIJOkAnAshBsejr/3qNQFK82Zb
 y600y2uziEYEEBECAAYFAj0B/C8ACgkQlWQfayU+WOPKEQCeN+03m6Ueah9FB33d
 gYoMlmhsC84AnRNPqKH0SJL58TXHN9hOFXagVpGMiEYEEBECAAYFAj0D8JkACgkQ
 eMu5lRpXJ7murQCfYyLs4CIisOCdQ4NDpNiuprjbNRsAnjt4yxhRQ23HUltvX3NH
 QvFhcJRciEYEEBECAAYFAj0EsGwACgkQzjzRQHYXE2f3VQCfaf8ar8a0IkcUbp9Q
 QoY66doC8c4An0qYBmAlpdBbfgbAzaIeNIb2npiQiEYEEBECAAYFAj0EwDoACgkQ
 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
 VzBpowkGRYhrBDARAgArBQJAC9mlJB0gUGxlYXNlIHVzZSB0aWxtYW5AYXJ2ZWQu
 YXQgaW5zdGVhZAAKCRB8IsOfgHrFOslUAJ91ZD1UvplEZjoex4ZLAiNHRuLR8gCe
 LqYTaUelXjL+4qr86BiuSHnxavCIbQQREQIALQUCPfOX7AWDAsqmpSAaaHR0cDov
 L3d3dy50b2Vob2xkLmNvbS9yb2JvdGNhLwAKCRAQWBaFxSEJfs7aAKCmKM4Hx30W
 cwzBgka77dKmrawX8wCeNqMZAlB0vc3VU9VVlnx7dh/cqbWIjAQTEQIATAUCPQUZ
 EAWDA7klgT8aaHR0cDovL3d3dy5tYXRoZW1hdGlrLnVuaS1iaWVsZWZlbGQuZGUv
 fm1tdXR6L3NpZ24tcG9saWN5Lmh0bWwACgkQ3oWD+L2/6DjilgCdEkk7NvpsXr46
 p2p9eADs8ORpkmcAnjZcBlDIj2c0O1pPEXOKs5BJSfQpiJMEExECAFMFAj8hV4QF
 gwGc5w1GGmh0dHA6Ly93d3cudHJhc2gubmV0L350aG9tYXNiL2NyeXB0by9rZXlz
 aWduaW5nL2tleXNpZ25pbmcudmVyMS4wLnR4dAAKCRCkec3EWrRgalC3AJ9178Sp
 mCYvZ5VbpNH64LUegUTgRgCgtllyIHMjemzT5g7r3i6qwR2uRTqIkwQTEQIAUwUC
 PyFjyQWDAZzayEYaaHR0cDovL3d3dy50cmFzaC5uZXQvfnRob21hc2IvY3J5cHRv
 L2tleXNpZ25pbmcva2V5c2lnbmluZy52ZXIxLjAudHh0AAoJEHkFdo91hPXYu6gA
 n1a3sukcIHGqXltKgB3x9ktToAF+AKCXZGKayZGwC5Ir0Njxhsx3zwKom4kAlQIF
 ED0h4ivERpHovDmlzQEBFtcD/1qUujCOYiJQVN3SzyXzR6fvnHqcpc6+J55uN7+L
 XQVBdW7tjc7vOcClBzKI3V1Y6a2V6VQSNX1yxGBaB+ftoCog0OyqanYgcNR+3iIv
 MJ4Z26V28Mptyc9Ub8cd60pADHKcWM0r4f5/5UNugnwCNg/EvjdkHg2MLqKpA2Jj
 w4YqiQCVAwUQPSLOeb1ApukPzoVJAQE8lQQAiCSul7FIad4Pder4RTB8ow2nE52U
 4W0G0mjD78CBaETZOHGJuO8llrqnx/rYDS7rsAL8Rj/v5YrsYOBbPY/6s94W6Jy6
 iWijwccQJRw91CtGueCTab9EsQE6WQnp1kxDyJC3FMytBchVE+gLmcn/7MhPnWj0
 5xA4wLS5N0maYEaIogQTAQEADAUCPSN7vAWDA5rC1QAKCRDERpHovDmlzaE3A/99
 qZ1tpSrkk3Mp/Hkbwdn/cbKpYtkMfm4yQyjaeRL52CrOtVVK68DobMTaRz+KYTOh
 I9QMhkwSn3sxFpA7YmJ5NcQbw9lp4UU+42+KNj5szfEM/C+tDOyMHjBw4sgBXvsy
 Y5w05SLXMN9KU48OChg8TWKyLCaGZybsl0FG3D5zC4iiBBMBAgAMBQI92qAcBYMC
 4551AAoJEOUVKCUzHNpdoJgD/iTuEAKeayuvv9jrK+8dpFt44/Tk/094H6xVIYui
 06ywdD+S5+fTNohceNNAwexSIeS81sc9TsJr+hSAKoH/K9eTLrVM1EsgPR3yVwjP
 1NglCJbqZ4NcYV+51Dn/049qQL3ekeSLNeXJs/AmYOIxLhcB8Qa734PBOBpSfs60
 wRMdiKIEEwECAAwFAj8TM04FgwGrC0MACgkQtGuSO22KvnEuPAQAh8oEB8HrrihR
 nt0ydhBQRDRPj4rtAEJ9Ft7G1D6cY32LsGlQgBRRy5IH/YmI9Ktwpi6ltX7qULUU
 vjPeLTxbBiKEcZgI9j8a+oon6L61T6P001uD65DHw0W/Hg8D6vzKDZyI0OTqAi/0
 MTir6otSNWB/TDhbUWX9NfABiBJ4rA2IogQTAQIADAUCPyFkiwWDAZzaBgAKCRAb
 sIu/KpIyJe5QA/kBgBlYScZSjhj9g/v9o+8vl/PuBu0LceqONiJ8kKu04CId1E3S
 bJx8hiQqWuvYaSJMZz+WmcYM4r8n8T1yQ9QLE7c2jIbU86irykBXKixX+af1vDo8
 4B4moPZpvTs8jHBJDTWsBuGlWxxd6GHgOP7L/u1K4ZE2PC796zuSlegRNIiiBBMB
 AgAMBQI/SiLRBYMBdBvAAAoJEJugaRW/hasxDu4D/0DGiGqNXNF/cSeoAkt0hywx
 HKqEjzjGb1DTtJ4kLD1x7hC98LE4AaOAocDoK4FekUPbVgiyy0PtD3mNoJORWz28
 leSxNXowWz3cPIrkn/Y5wrmw7Xy9ZJXJNv0h8tcxRJgUgLVN3BFrS4sx3sSjFMLb
 UH8znaZjxI9Et1iRl6VCiQEHBBMRAgDHBQI/FpZTBYMBp6g+hhSAAAAAABoAY3Np
 Z25hdHVyZS1ub3Rlc0BwZW5ndWluLmRlImh0dHA6Ly93d3cucGVuZ3Vpbi5kZS9+
 YmIvY29udGFjdC9wZ3Avc2lnbmluZ3Mvbm90ZXMuQTkyRjM0NEYzMUE4QjhERURE
 RkE3RkI0N0MyMkMzOUY4MDdBQzUzQS5hc2MiMxpodHRwOi8vd3d3LnBlbmd1aW4u
 ZGUvfmJiL2NvbnRhY3QvcGdwL3BvbGljeS92MS4xLwAKCRCrHktgRnVrHsTuAJ9c
 TEySl64e6UJgYUVyQ9FUhDBT7wCghZWaFgusjbcUY/8wh9C/OvsSCp6JARIDBRA9
 A+ZYlWBhpt2TQTkBAQY9B+MFdy8EKYP1mgbIXhZC8sScs2sSUsLhF0ZpSq6JcAMG
 IqjZZRSPfvDgt9Aqe8GnG6AtZ7NXdfYARBq301Vaf1t/kNwVK0zcL3TswpGZ/j9A
 o+HhJFA1ivPHb3zrazrmEluFHbbPHZ+33Lvx1APLw2AXP2ise5XmO/Ra52I5TgeN
 P9HJs1R+Qk8Pt+Pir5EfgegoJngRgdySfvcFFo9O2Kinx1sV3a/KTzmP4kzmygsk
 2zVjTN9uLv/RV7U/MheTshFxIfQUxCFUofTz16Z5/nPEt2ePOWXQGPZrcW8grx6j
 QA3TnNQpy45kpBns7nWhvJAI7UWzBBdMaBwJUjLUiQEVAwUQPQPmUwFVuuKglNol
 AQHpUQf/Rw37iEBl3wVsGFQqsz3n6tqrfO9ZGKG/EHRO+l7iCPHjt0UHwUWLPJ0d
 vE6wHbfNGFjBzWcIukJSnv7erLPgTgIv2mClN+uyMLXttYBL8OXAxG2uCsE98VG8
 E5fio88T5V9a6/NqkQQYlIQj98JO8SIMwvs/EMBFD2PzEUVj/pEFONl8Wh6cFE9G
 untvx3+7nUPNC3lw9dbmdTjYKTq/JHJ/rqAW0qoRbzDNSB8tTWitQznLe8srQK3g
 p5qq+SqGvy5L6U2X8YusQSGm730QWEwqG0ek67TwIhq/TujYopw5VhXUJZukCGSn
 +ASABCVregwXgZnhyrvgeAxNiE6U2okBHAQQAQIABgUCPSeWQgAKCRCM9myBE905
 UO4VCACdm9qniy8LWH5uOktlSqHKbzoI/qTofUmLFHuzuh5idJl/JXImM/516u5r
 3uZBmRpnPYImOi8TetADuwLjLTIHpxkfhVA3NRtrq1HwtHtice2K8cHUYne5RC8B
 igRv/M+AP6EmgftoQ8v4mbTgT8jf4IwggJz8GX9m70zpGSMXgCkcltLfJYYPXuDT
 u4bw0g7OOeQi2hjDlxm8b/stB5xJ9Qw3+TyhdT4z2msmt2h0UBDr3Ejs2Iaj3Vr3
 KmN3hhnClcE7dXQNK7ry1V2J0JBBSOO2IZeBekvLHD15iwMxPL5SHz1L/95B2Jfh
 M7V+QMadsQaaEYnHUh/GXXCc6nSziQEcBBABAgAGBQI9J5Z5AAoJEPy64gyiEfXt
 ntQIAJYAw+AjUbAot7HWUhfqYXcw5Q6F36TY7VjNk1aD+Bh6WjKxwNUVPZH91fjw
 skCZ9hDqrwJs/KciU2zeWz7k9KhFj/1PGtfducx1k5zwJUB/HmgtNk7dsUJ09GjV
 +Sy9a+SdwLOgjizIl+jDY/YUAs3V2f0eOEmANdUntXDvhyiu07uo3aN0VdhB31T6
 pakGObK3E+oAh/jkPw1I/dWBdKoKSHEfFeU1RgC9xBaJmoKVfCxedo3wFhZa7klg
 HurVOOs1WWLwUagqGRq/kQ4+n8B8mRQNTlXtTjkL3pEMYmesP0UwmNlBFL4fl4Yu
 nu5wFpB4LdXrNLWLpM/0WZfA7GCJASIEEAEBAAwFAj0Ew6wFgwO5euUACgkQCen5
 CopyTkVHggf/XyO3p5CQ+sqbLVr8IyBGBReqgXgNV98UbhngBm+BL9VFNJwJyb+Q
 qaJGQZxBvn8Ng13cRBDgGIlzPzUWccs66zOuZoHkR9IeLnKYQud2VWG1bGFfUrq4
 p49xZsV/bD3kzORUUNF0zzTzc4EK2/xHgooqrbcsjCXsCS1598uaDOo8nzMnQBO9
 tRiiyYNE0gIAYsG766ZhdUHkIWJquCK+A1U0PljBTF4HORVruJfViaCvYguZCP22
 vyYbpXmOZzGIWQ//m0yXJ40mhWae2AjtJJyQEm4zRLsWv6TRwa8+DSW2OMKM/uXb
 z/nLV4OSj64IEF+VKdznwRpcVVHkAKPRjokBIgQTAQEADAUCPxEOgAWDAa0wEQAK
 CRBABhUOQAnq7RL7CAC3H+vBpE14/d06iAiGV1QFIuiNF3/V+REu5/bbxqzuGY6X
 CmCmS8lXva08Rr29yoShJMUsvbtgQTbF80wQ5ZUlZpdlxkH88MW522rmkWD/PzxC
 F5tR6hBOW7p0ccbbAns5s4BoFh7bHSU7tDmaTrVZ5t5hcHGoXFfFvMOIRbNoxvid
 pxQOiqPbVNPqUUt/e1JTKucRjCaC91hXgPtCGR5Nbc4isImlUrMIfHqebsUzPxH6
 6vW4ecktSCJQhRY32KBDs/fY5AiPZ3FMfN5QcnLPesJgvK5BkQ0DB1uDbG0ODL0Y
 nilzR4HZYtTv3kbCg2Kyz068ql6+Z16L5qfJC/11iQEiBBMBAgAMBQI/T3IPBYMB
 bsyCAAoJEKWgYMJuwmZt67wH/if3kjo34L91/rzgIwlyimeM4ncnzfsCGG6q2fjT
 MkIWH6DN9l7geF2T3IN2VeC2cXE6n0o+7T/pA9pw4MnwqSxfgw7yiefSaLKlWt8f
 p+XIVNN4egyQ2AEA7wS0j0rQdpGt1j9P989F9iSh5sxdqXXF8NiJSLNk/6Qc3CBP
 +7JoOh4Z532jvx7/q1atd4qYXhFx2b9vA20FLUQwJOyMbpYoiG8d0a3uQ0xivTUE
 RUkOrbHkum1Q1b7R81lDYSnts+Z2PtThb/RW21BgllkLhqwg8xQKjTQ0S/Y9UdYu
 bffvegMXuUAT9RMyuwKjxlPnACE81oPS/nS5fdvz0WaXf9iJAWkEEwECAFMFAj8h
 Y58FgwGc2vJGGmh0dHA6Ly93d3cudHJhc2gubmV0L350aG9tYXNiL2NyeXB0by9r
 ZXlzaWduaW5nL2tleXNpZ25pbmcudmVyMS4wLnR4dAAKCRD5fPnjOkt/XSZCB/45
 brff7zO0wtcSO55jnl1ef/ivPg4jTKDRRLtTo9BEGf0NDYM4laaeFV2DAP/upFTG
 7I3vtRG20W64jCxzuBPto6Om8DobzCWaqr4vnuwi0sHFpqeX+pULRHFodBPv2PMe
 vLMDHTq7wVIh62hzJrWYPrX8CP3Fgl7s9f0O8YeoGIWQRTR+oJ9qwDqY55uVzKfh
 alrxoC/MWz+Au8HAcdDJvZsTN0jEF7byIuKjnL0BQXjuMiEcIAmNZ8G+mU3F1tZa
 MaEkvIC0VuhgbuuUc8CvuSdSeu2jtVdAR1T4+o7JXl7T3cMe6VMRpIZSw8S9c9oY
 ANM9W4Fv/CcfXjM0YZGViQHdBBMBAgDHBQI/FpYHBYMBp6iKhhSAAAAAABoAY3Np
 Z25hdHVyZS1ub3Rlc0BwZW5ndWluLmRlImh0dHA6Ly93d3cucGVuZ3Vpbi5kZS9+
 YmIvY29udGFjdC9wZ3Avc2lnbmluZ3Mvbm90ZXMuQTkyRjM0NEYzMUE4QjhERURE
 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
 RJ8BW5n4BK4l3CkRqV4sVIUwjohMBBMRAgAMBQI/Z35CBYMBVsBPAAoJEMlPfflm
 8tnG/gAAoKNNWKg6/a853L964H0oiP8slYtBAJ4s6x8gzvT/HS6tg9v7MvZgdDbV
 fIhMBBMRAgAMBQI/dYOQBYMBSLsBAAoJEGEkmiEwk5ylZ+AAoKIAJXyoxoPk9vtf
 sKnp0Yito20LAJ9WJ2azDAfLAcWAwesTyGkZ0Nwg44hMBBMRAgAMBQI/dt5VBYMB
 R2A8AAoJEBfCLtczeVos9EMAnir2nU+yKliFfYi/+752sPnBOsC2AKCiuKmXw75r
 dDj4HuteorVT6yqUgohMBBMRAgAMBQI/gyDqBYMBOx2nAAoJEE2gIIoT4pCkzQYA
 n1nX4diOXWc1gZ45lrFoHQBCjRLIAKCDUuJa7efN29sMA7JMU5DRUqmnaIhMBBMR
 AgAMBQI/jxJ2BYMBLywbAAoJEBnKfwIxvJ3WbfgAn39ogXp0+YDH1/9yzj+zlyZO
 hL24AJ9uzyVUwnKGCh5n7OoAS0FsXdfYLYhiBBMRAgAiAhsDBAsHAwIDFQIDAxYC
 AQIeAQIXgAUCQPwPkgUJB8Ke/wAKCRB8IsOfgHrFOm1eAJ0boiU8exzWwueG259F
 lMmE9O34GQCfX0DtGbMndyRtcwbXqX5ih14WHd2IYgQTEQIAIgIbAwQLBwMCAxUC
 AwMWAgECHgECF4AFAkD8D5IFCQfCnv8ACgkQfCLDn4B6xTptXgCggbpZQyKe8BvY
 bC1NUXc9my720h0AnROeWBYTqf5E64r2kr3LEzijdJhbiG0EERECAC0FAj3zl+QF
 gwLKpq0gGmh0dHA6Ly93d3cudG9laG9sZC5jb20vcm9ib3RjYS8ACgkQEFgWhcUh
 CX6JWwCfWBLfY0MNvg76j1aFNiDSN0+Kc+MAnjyL6sZi65007O2iMN5ZrpizKHEg
 iJMEExECAFMFAj8hV4QFgwGc5w1GGmh0dHA6Ly93d3cudHJhc2gubmV0L350aG9t
 YXNiL2NyeXB0by9rZXlzaWduaW5nL2tleXNpZ25pbmcudmVyMS4wLnR4dAAKCRCk
 ec3EWrRgauA7AJ42KOLGN/ovjnxEdHD7xzzRcHktAACgkyi3zR2G3oL5a3nit4rQ
 vihA+xCIkwQTEQIAUwUCPyFjyQWDAZzayEYaaHR0cDovL3d3dy50cmFzaC5uZXQv
 fnRob21hc2IvY3J5cHRvL2tleXNpZ25pbmcva2V5c2lnbmluZy52ZXIxLjAudHh0
 AAoJEHkFdo91hPXY9CcAoKrjRA8ND3y6T1aQSgRZeJeYu/LAAJ9sJeTFMk2uR098
 SDRCUcfTeKC8xYiiBBABAgAMBQJADIE/BYMDwb/PAAoJEL/W7lhX938JNtkD/3/2
 RKm28v6btjL2UrCJg8LjxoqxSOdU6N5SLplZ2YOef3+gZUTZSsYT1K4XvPoBvPif
 +6zd0a9bFp+fP2j7SGMrlhHTd6+aDQ/BHaEZzt4dY2dfFcDNyvqIKeOTXw8/HR+d
 wryHDNwRcEMOb00IPVjfVirOcdPNbn6jYP1LYnPniKIEEwECAAwFAj3aoBwFgwLj
 nnUACgkQ5RUoJTMc2l3FHAQAki+C6EKYQRullCePZ2GMJ8SR54xI42JaPbSBzxpb
 684J/jabcr8WHHJvGXlapUmdl3vqlks5tatn5iFJvbE4qAPOdo6C5NXIpD5OSbHA
 ocXj43QdrftuMVF7w1fyJBkWFoMrMZoa4FxiFLENbm7DknLebp1Bp282O/XR9R52
 PJSIogQTAQIADAUCPyFkiwWDAZzaBgAKCRAbsIu/KpIyJW/MBACnClO5+acvjHnf
 aUd53tcKfLkb+vWzMXWKNt37RG1d04bKqlkZdzJKT+noMBqflVf91rk3goPPJPDj
 wUtm51gGlSgPG4mPnhQRrUHwC8BM0lGiuB68Z1QdxF1iUx8B623GtPrJbfufCexr
 AxIL6La7KosErbR1JXbjS9+d+M1p9oiiBBMBAgAMBQI/SiLRBYMBdBvAAAoJEJug
 aRW/hasxbHUD/RqcGxjUaJgELwAfNcTpm86BsNL5tu6WJFe3DdIIzQTb27GGgbOf
 j5NRLFnk75xgQtk8lnKqsXQHMC6hm+pwh4ZGISBZE7NIqYokUSYDT2mbplDo2kDP
 yO2V1fWf8P5f8rI5e2QYIvn4kNFWidfQKh1Rw86MlZVIieVf8eVeS5qCiQEHBBMR
 AgDHBQI/FpZTBYMBp6g+hhSAAAAAABoAY3NpZ25hdHVyZS1ub3Rlc0BwZW5ndWlu
 LmRlImh0dHA6Ly93d3cucGVuZ3Vpbi5kZS9+YmIvY29udGFjdC9wZ3Avc2lnbmlu
 Z3Mvbm90ZXMuQTkyRjM0NEYzMUE4QjhERURERkE3RkI0N0MyMkMzOUY4MDdBQzUz
 QS5hc2MiMxpodHRwOi8vd3d3LnBlbmd1aW4uZGUvfmJiL2NvbnRhY3QvcGdwL3Bv
 bGljeS92MS4xLwAKCRCrHktgRnVrHo45AJ0dD92uCPhsjLWrVsbhMJfwmkVOnwCg
 lKPYurVXyo6uXC/Q5KdueASb3iWJASIEEAECAAwFAj8RTT8FgwGs8VIACgkQCen5
 CopyTkVorwf/ZHfXpigg+qo5D9nzURNgsckj7d5F6M3QfYUSpE7Hl8826m80iVci
 BIkZEo9R2H9mFOf8CJFBLqcbz6vxRC0Q+xMbZSw8o0tRrfVTEPyvdh5ayIwKsV1m
 gFuxJwyDPN3zy7LejqsLQUA2IGY+pCz2kv7P0iWRvK4uaRO/z5qaF1QLd+aYssol
 kidmcMnkJph3+/UiN8Tvlr6UAcsAolj+ZShPM1whJ6aAOL1EnDmnHScVVmGIl6Qf
 2q1jtPlF3qG6CY9CyIaUSxSudAEMaGthTeM+MjP108aJcTYVF1PbyHnKy0e4tJlU
 /MW5OohVH3/KEmIj2lT2AvBUHbCYL4NW2IkBIgQTAQEADAUCPxEOgAWDAa0wEQAK
 CRBABhUOQAnq7TmRCAC1UpdCGBG6ahH7Rmw39bsX4YqExVEuCHnTvMe3RvVqx5uV
 kzsvHQU5wNYm6g+VOpMH1JMpQ7EsI4IUELbBAHfVHOOS4xWVYuPsP95o+uSGzJYs
 67p42cEcrHHvHh4BFYKOMnw38ghfizR0hTlQyAWsJ1E5uI/T2Yl++Iav1tmhj2nC
 p/mrNDy80iTLuzLZgn/6XbPUwVS6E5YUV3AOPqOj/eDpDD9GDEjS3v9AavkmoECg
 LScHU25khmXwp3fogXU0LBMglGJ47yavnpzWYCk1nzR3kWGwwSb6MgN/Ryono3kX
 IuCow30IZ9RAw8/6vZkK+dHF31sWA/i181nhepJ2iQEiBBMBAgAMBQI/T3IPBYMB
 bsyCAAoJEKWgYMJuwmZtssAH/3ctJgr6Mh+JctTcxzMdMtVAsP1xe2CGzvVbryCz
 tpeCQLfq/Bu3m16dfKurzArT56FQK+q+3uGrKe/tAYbzF5I+J8f+DdFt6Rvbsdf5
 jxfa6VqvYUXI23B1OyKs0vFamkvm1YCLhm/fUU+GHqPZwPYasL01xUSj8yJr/bgk
 Xzy3A+Ddp1IFFnFBdhonANYFUOhoSaxgkTky7dLPtJS5gla5E/z4OmacV7qIGath
 hxGT6gVIj8kW4Zs+BrWRxhGYzGDt1fJzIDJB6ZO5bodnUoQycyKKn37YE5s7kEdK
 oRMkZXWZaJk4bdF1b9EQZxlDvCBIRDPyYV1HQyk3R7az4S2JAWkEEwECAFMFAj8h
 Y58FgwGc2vJGGmh0dHA6Ly93d3cudHJhc2gubmV0L350aG9tYXNiL2NyeXB0by9r
 ZXlzaWduaW5nL2tleXNpZ25pbmcudmVyMS4wLnR4dAAKCRD5fPnjOkt/XUa7B/9E
 12tRF4ZZ6zu04Ml0342x+tMNCW7BNNIYaY8vzGv5L/1XbZnUsvMbODbswjtUIm7f
 TMd4QUlM0Onl8Os2jIKpk879oAptDdDZ9qW2aF49Y2xshn+OAMdnqg/siiQuHIx7
 bQBdM0y0hxlw86be9ioeZxSeXPcsOfEoig7f/q2nepDnrJCOqf1L5G98v/Wur7iM
 kPCoB6hb1VG6lwoATTeTqcQnBVKbxAYkNrRlzydQFMVyC1S26tkxebwURCCQ21gI
 Uv1WtE/dPwffygd/GnwIDnRaTq5GqkylB1//x97Y4dUy0Im7QXqNN7E9eRpSKOZg
 Cz50g4AL4vkIWiBz5NoeiQHdBBMBAgDHBQI/FpYHBYMBp6iKhhSAAAAAABoAY3Np
 Z25hdHVyZS1ub3Rlc0BwZW5ndWluLmRlImh0dHA6Ly93d3cucGVuZ3Vpbi5kZS9+
 YmIvY29udGFjdC9wZ3Avc2lnbmluZ3Mvbm90ZXMuQTkyRjM0NEYzMUE4QjhERURE
 RkE3RkI0N0MyMkMzOUY4MDdBQzUzQS5hc2MiMxpodHRwOi8vd3d3LnBlbmd1aW4u
 ZGUvfmJiL2NvbnRhY3QvcGdwL3BvbGljeS92MS4xLwAKCRAZomgJiDj9lDjmB/9+
 xx4CERYCnN4lFiVjVFzj+kf8CSIypWi9eV4Cgm+KD4Rzp0mykx9RaOPS80YGxNoZ
 nWs3rLou2HZDTvMSFRewgkOcqC/FHrgGidboA+rUKTqswfoItSHnkk405mw9WeZH
 KIzuqYuTPjldEXqXt0Q6fUR34S2c539ddSST2fmZWZihKo7wTfVYr1tZf4I3tgzk
 o4RbKka1kTCNaN7brJ1Lnsxsv+qWpZXkkeBxzFm+ci1whREIRlCRd++KZ10UeBO8
 efZjNQRJ6MtZaT2l2NjAMtOtUVYoQQp62U8MaGSN4GYUlx6EeGliVG25BxIp25aq
 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
 b2xkLmNvbS9yb2JvdGNhLwAKCRAQWBaFxSEJfi42AJ42PjJMjXqUqTVmXbxU2PEJ
 4svdcwCfRPxi46JV2VDJ4W63G1DaUDiWiWGIkwQTEQIAUwUCPyFXhAWDAZznDUYa
 aHR0cDovL3d3dy50cmFzaC5uZXQvfnRob21hc2IvY3J5cHRvL2tleXNpZ25pbmcv
 a2V5c2lnbmluZy52ZXIxLjAudHh0AAoJEKR5zcRatGBq03YAn2agRerjydLAVZj7
 1bDEOOp+x66RAJ9ShytdZkMoPvUd9CV/8H5HxooLEYiTBBMRAgBTBQI/IWPJBYMB
 nNrIRhpodHRwOi8vd3d3LnRyYXNoLm5ldC9+dGhvbWFzYi9jcnlwdG8va2V5c2ln
 bmluZy9rZXlzaWduaW5nLnZlcjEuMC50eHQACgkQeQV2j3WE9di+ywCfasORltrD
 CeqxTVRCt5ApJnGqJ+wAoIHdbs0xxl/6vW9hya8xiNLH6bv4iQCVAgUQPSL5m8RG
 kei8OaXNAQFIEwQAjU0nYZWZedJSmP1p95TXWPHU7H5EK63z/pNlbVzHyxiCwR2M
 6OacN7sEIL/PndMM2R0wVbfjmtEogotpKeghoAxnHzZiFJPT/VSjk/pJ0Vskoi57
 VlsXztfiaShSbWN2mXe2bcr5ypfY6EMNKyBZno2nSUZRdZ8pd0tZWf3JzbqJAJUD
 BRA9Is6DvUCm6Q/OhUkBAUbCA/45odKyNdrcQ1n6i1aDW+LCw8lTxsOikdW5GJQR
 hHr8CX38zQG9I80Mc7OqspyVCiJ7RrbJB3q8i/QSauaWBGw7Hfxi2+KL0kkYnLVz
 yGwinRfH9jH2N7AV4c5pK2T6qPIqAlqvbahpiBgW3N7F23yeSkQmnZf77bwCoZ1E
 GBksoYiiBBABAgAMBQJADIE/BYMDwb/PAAoJEL/W7lhX938JWHQD/0KGlDZTHafA
 rjeelk1yI0Em+7wRI1Qi6zqhsewE6O8DVobsOOeEWpc+sTsBCxignllpVq18ovEQ
 1uqAGtb7mSKmS6qicn23/WgEE32ZmWInkZTAra2a0UPaSZl/1AYVEXrEEYRT8c55
 pbaJljPCmMeTPv4bOZ26jlnRuP1ZHnu4iKIEEwEBAAwFAj0je7wFgwOawtUACgkQ
 xEaR6Lw5pc1InAP8DiZIr+zbc88sTKSIAta6rJgXOen9D3IfF1uf31chOcwtXqXA
 ZgF3PFoQMUUvsnF2nR0FdxKYx81u+DhUJf8LEzSu7KDscr1fQfnEHY8XQZkH28Nf
 5A4Pvif4SokGIFXPJenvivZvRXm3w3vDxWsXNDeavEwruCLwTKIQFKW/7kaIogQT
 AQIADAUCPdqgHAWDAuOedQAKCRDlFSglMxzaXXqEBACRD+dGF2xlUYAuWPS1NrK8
 y9TdelmV9j8JkRPyxoFOUjTJima+I1mBIpvKw0cmcRMrXd1QBbgjL10PhpYZUdF3
 hHOqpSmG1HptytFefLb/STybLvixEeq6UGJkkAZB+nwR4Wv05fW9/o0++/02xO1f
 qyQgG2+3zk0id6nVQyo16YiiBBMBAgAMBQI/IWSLBYMBnNoGAAoJEBuwi78qkjIl
 2BQD/11SvcUGwoDdPSv1OzKIdLM8u57m2WA1FAOtlJYjDbra6p2n5ClbpNwQ6phj
 75Hi09kcEatm2WgM5zLD7laFk31ZTPVnRK8C65ZfJ91oH0Wlkz4eojSaTag3WHKq
 EcvaEBK6Mo1iiXU4o0pDq5IGuVMJeOE87Ly11fB9QCuOQacBiKIEEwECAAwFAj9K
 ItEFgwF0G8AACgkQm6BpFb+FqzHE8AQAkMxtg+wV+VOJ3NNNiouacu7qllxp9N4W
 gKsdRLJQDV+hcnIMnqhOcwewKS8/ievIC1lloZ1bIiTpwtkli9qLtZMvXKYETj34
 YEwuc4sB9eVkxiGsh8t56s6ERgKEQMr872ZZ10F9YRqjs31whrMwylRrBEU2SOLm
 5RMOzC2V8GOJAQcEExECAMcFAj8WllMFgwGnqD6GFIAAAAAAGgBjc2lnbmF0dXJl
 LW5vdGVzQHBlbmd1aW4uZGUiaHR0cDovL3d3dy5wZW5ndWluLmRlL35iYi9jb250
 YWN0L3BncC9zaWduaW5ncy9ub3Rlcy5BOTJGMzQ0RjMxQThCOERFRERGQTdGQjQ3
 QzIyQzM5RjgwN0FDNTNBLmFzYyIzGmh0dHA6Ly93d3cucGVuZ3Vpbi5kZS9+YmIv
 Y29udGFjdC9wZ3AvcG9saWN5L3YxLjEvAAoJEKseS2BGdWseDesAoKCjFDCU3jIC
 6z+0nRKimHPzV3aoAKCrm+owZ1w6bBXMB6tZc4ZwRLbztYkBEgMFED0D7RyVYGGm
 3ZNBOQEBq+gH4QFz5MNM6veSfl4uzf3ftMDylYkMjJknlg/DXVlv0tKShrJf3MSl
 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
 GK6EQPMWrZL7+ywh4ty/0MzfXNlWQssZU2pZQRyDVUl+EBmkGlXmUu/dQHBLlanD
 YlVDyBUy3iWPINDoDdba2ny2g2oRmvMXlkh+4MbeVkU+B2cE5MMe+K3uJKP7vTbZ
 KCWPUFJ/SyPju7aoM+D45BylEpzlIDa53DlkgIkBaQQTAQIAUwUCPyFjnwWDAZza
 8kYaaHR0cDovL3d3dy50cmFzaC5uZXQvfnRob21hc2IvY3J5cHRvL2tleXNpZ25p
 bmcva2V5c2lnbmluZy52ZXIxLjAudHh0AAoJEPl8+eM6S39dkwwIAKjo94Mz7+ry
 atxk1pmMylgu5u77qqnvJ4gwOLB7lvYJCLou/QAyyy0I5iwKSQpnWJmkzV1XZdnQ
 /qqvMSH9l49cgxA/kQTM5laAXf4JXCM+JdLqcWlvoNAApJB1T8uQzi3+vU2RdVKJ
 gl4HehvyTOAS4fWMqQBhz1ha5xaXUdPFrnC6ih3bflmWxFxjK6OtEOi+q+sTlALf
 PZ5S7tUazNCHXYSjtC2AncW8zq1tp+TYMJ9/Cj2j30M3752HW73oXQAHW4E3cgfi
 NWlxRY8eC/9XR7PpnZYV9s3gbHoYrn5vkbxOmzW+bbw//y8CBV5vtLdJo4J2bR1Q
 ueKjIAv6rBiJAd0EEwECAMcFAj8WlgcFgwGnqIqGFIAAAAAAGgBjc2lnbmF0dXJl
 LW5vdGVzQHBlbmd1aW4uZGUiaHR0cDovL3d3dy5wZW5ndWluLmRlL35iYi9jb250
 YWN0L3BncC9zaWduaW5ncy9ub3Rlcy5BOTJGMzQ0RjMxQThCOERFRERGQTdGQjQ3
 QzIyQzM5RjgwN0FDNTNBLmFzYyIzGmh0dHA6Ly93d3cucGVuZ3Vpbi5kZS9+YmIv
 Y29udGFjdC9wZ3AvcG9saWN5L3YxLjEvAAoJEBmiaAmIOP2UNN4H/iI98ocmrlSs
 XKH4kvKrAXdVR6Zt/eWN7bDhufaiCq5gPpkySvANnBSHv083bor6AoK4v77Otwl5
 SiTnK9A2YkPqfk54mYzX6Wyd9rkXfvq7gx1FZIv7Ad8Ht2aJqAhGlSZWQ9DE7b7l
 DtCDwrDREimWAdGozy2sjNsqPYyF0R6okrHfkOVheXEw9ogZY8hrPQYENabv4R5n
 Ig0QsK3P5QA9c6uwcEPYvz9YLsJNPgub5PnU9hWwhinttwq5byt5f787YFF+61Lo
 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
 n4B6xTqoNgCfSm+e6Dv4s4Wtr73ovH6Lbs1TUAkAn0QKGHaINuoDhsxIfNOlL9lb
 rCu5iGIEExECACICGwMECwcDAgMVAgMDFgIBAh4BAheABQJA/A+SBQkHwp7/AAoJ
 EHwiw5+AesU6qDYAn2zcDnGt+xqpHa0UV/spcQZNacwUAJ9koQddSQY7o0Qd6qX+
 +yU7yz4REIhtBBERAgAtBQI985fcBYMCyqa1IBpodHRwOi8vd3d3LnRvZWhvbGQu
 Y29tL3JvYm90Y2EvAAoJEBBYFoXFIQl+suMAoK9wMiePGVWghspdqtP9CzYpY/ZG
 AJ0bZJu2VkMvAWRlGOzRgT36eZA9uIiLBBMRAgBMBQI9BRkQBYMDuSWBPxpodHRw
 Oi8vd3d3Lm1hdGhlbWF0aWsudW5pLWJpZWxlZmVsZC5kZS9+bW11dHovc2lnbi1w
 b2xpY3kuaHRtbAAKCRDehYP4vb/oOGeJAJ9Fj3VCUQIZk0qd9UGUEJIXBH4m2QCY
 xLYupcwjq5IpO3TDnf1pcPonSIiTBBMRAgBTBQI/IVeEBYMBnOcNRhpodHRwOi8v
 d3d3LnRyYXNoLm5ldC9+dGhvbWFzYi9jcnlwdG8va2V5c2lnbmluZy9rZXlzaWdu
 aW5nLnZlcjEuMC50eHQACgkQpHnNxFq0YGqazgCfaWuFD/Y3mWHymdnU3CL15fZu
 daYAoMYSpXJwS+IQh7rsdske4ac4u1oniJMEExECAFMFAj8hY8kFgwGc2shGGmh0
 dHA6Ly93d3cudHJhc2gubmV0L350aG9tYXNiL2NyeXB0by9rZXlzaWduaW5nL2tl
 eXNpZ25pbmcudmVyMS4wLnR4dAAKCRB5BXaPdYT12CdDAJ9wa2zL0+9ucn4EEYye
 2ewY2ftnLgCfV0GGtD6qqswRXSX8xg1uVT8BvTqJAJUCBRA9IeIwxEaR6Lw5pc0B
 AU7xA/40Pz2+U1DqLqhc9q+gjGYaKbvB9cp1XD7TdtaZGQflFatqzjUWMFx6moDB
 NpH2ewJwERxaLFPIvl80RwhcBVOanPYXS/Tk0AGwhsXYnNmSXQz5esxe9UIFk0Ng
 ZNF8je9vMOgD7+sNVu+3NPQc45XajKsoRq6i+vOiy48grLPrvIkAlQMFED0izoO9
 QKbpD86FSQEBPwwEAJyHvOQPxpnXgPRkcH+WBATeDfYACi8wRtYqpBHrUWo0i8x+
 05V9QWEaeJSauaKEhEoF5zjG0CQ+FZ77gWcF+W2AU3sBXXt3yK7hu2yVDu0dZ4V1
 ycN2d4LvV9s2X+Gig+lnF3m9n+hE7XkR3kjcvlToi7D1rAtQg4G5xJFFVxmPiKIE
 EAECAAwFAkAMgT8FgwPBv88ACgkQv9buWFf3fwm2fwQAsZtoL1euv11o+Jx/BSax
 ObERXUMTQ4WQHRh+uZSTWdxM0H+lLCvhBpquwZ1bTRKFnmb1JZTpkefUJ5h/ZG1M
 WBP8TA3vQMzVhwu5VrDiWehp8OK5hliRQKzXy7qiup30DbSB/bDo/70+jDGU1Scl
 MdVWIAHB0RZ4+sMz0vm6LfuIogQTAQEADAUCPSN7vAWDA5rC1QAKCRDERpHovDml
 zaUUBACDoo52K7TgUbPWPP5OCCSXu3gq0MmsZkGa9ri/FQGErQB2UyxJlldsih1J
 Hs9UDsxvcvi0PHS2d4UgAL7fYp7BY64JfC1XA4lkrdrGD3DkYWDjkaGHwdzkXUzl
 TKro29bJvuqLtdSaEfmozp6oNyuG8I5NEIsY8Fczynj5or9PRIiiBBMBAgAMBQI9
 2qAcBYMC4551AAoJEOUVKCUzHNpdilQEAJ2mlcltB/DyQtNOneX+qAQJe2L6fusQ
 rfQxDg4c10Wk+66Hp3mvooRORBJFOei1V1elBSrqwkihrioKVubPpHVVMSACsdbx
 f+OnCzp2xcEAlTca60RCk3Vr7HovwC3ok3FQYenOsjN1mim671DrEuShZdcXr28N
 mVbS/BxXdeBqiKIEEwECAAwFAj8TM1MFgwGrCz4ACgkQtGuSO22KvnGBFAQAp5y1
 TghvnXEw0D7SVExX4YBjBc4WkjdYJNcPGv+e+lzhBQr4omRWfaXyJ1QI4wJhIOu9
 UAaeXncBRObPTawsD7bROf9kCois/pPxwq8U76O7jHc0U1o243izjxloa52vlUVo
 lysBTQ+9wbtB79YWCL76AxBRjZZ8ncq8IZ8AbrSIogQTAQIADAUCPyFkiwWDAZza
 BgAKCRAbsIu/KpIyJSKcA/sFG59sCKxjoDnvAIy7tKe5zETyZg9esDUP3UE2EcLm
 P/ahWMPwAEU1Fm43WhKf96vLH94Td7rZisji7zxlU/6/g5z+iUA3zFBTJQ6O5WYV
 KGGRG/P2MfZlmAEUTIYYuPDn8Wo5lOw/eJF2jOAGAi7ILPeHhXxjjn72X1tqQuJO
 W4iiBBMBAgAMBQI/SiLRBYMBdBvAAAoJEJugaRW/hasxz+MEAJE2ZbBrCenJ67wV
 bJzITCAIgbC5s8K7DqHhEIxIRG/O2DbU1g3mgxbV+6PaAonnPvl+HEF3k82g217t
 PkTXYJuBrt5T/NgcwxzlkMZ3xUKZybz50KvxDAnKw5OIcpSnh2E7+Ja1AkBbzF5w
 /rYMdVKdlj11CUcEY9CVkwQgc0KriQEHBBMRAgDHBQI/FpZTBYMBp6g+hhSAAAAA
 ABoAY3NpZ25hdHVyZS1ub3Rlc0BwZW5ndWluLmRlImh0dHA6Ly93d3cucGVuZ3Vp
 bi5kZS9+YmIvY29udGFjdC9wZ3Avc2lnbmluZ3Mvbm90ZXMuQTkyRjM0NEYzMUE4
 QjhERURERkE3RkI0N0MyMkMzOUY4MDdBQzUzQS5hc2MiMxpodHRwOi8vd3d3LnBl
 bmd1aW4uZGUvfmJiL2NvbnRhY3QvcGdwL3BvbGljeS92MS4xLwAKCRCrHktgRnVr
 HlyZAJ9DfCRr/epketGKHgFJqEtUpKY5HwCfV2vAA6M5/ECBMbzYgnvk0AyXR/uJ
 AREDBRA9A+0klWBhpt2TQTkBAXlOB949F4PDm6NH+kr4CRk1ZBe9XPvpDwi92dtW
 8XbnSuQeEiTyuuhsh6hxznc0E6hxp0TkSyyQQvCkM7jdepYUz0YTcrv/7B3l8PcS
 m3LptluQmsuaoE1DNh9jrngLwjQlF31/4DIAAb8R5FDA2E2Yes6S0EwPHH3jjvae
 YT16+krw3Lt2cja6vnmslelegCc8HvxqPRvOQAZJKg2cOwQyNz30yYBaFEcEKCFD
 msAKPd95/pOHzaAAkYlDHrzlNBQ/9ieuApOGnWe5zrTJ4U7zmnJk1wSOpVQtzliO
 j0nRdVtPGSzAy71XeiDkwX1ZpuJs+6WnAsJysZRF7xSe+8+JARUDBRA9A/EIAVW6
 4qCU2iUBAXx8B/0VFgPg08KC1EjdkdTmruI5RRhnurqrEDNuh9zhGoc+DIx5OMBp
 Kdv/FuBMLvHy9s4rpg2q94Nb4fCoU2vz8KJMyFvDIPlLwixriqBBeITPqSdJmGQz
 h3bNOJ7tBoSBzRg+TDCCPyI3zWnoZpnv5ASu3nDODiImcBaMEM8XlvR4ciiv44kg
 16C6d8TZ1KlYUyYzGmBA1AiwIuPnZdwkmHL1OOgviBZdopLUNdxMmuSpoZC7fkUP
 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
 SP8Rml2yzyTKryNM3iVKy429/kPItJvOPYg4kxE3+FI+sGI62uIyvlo0PDQAMrng
 BRPLr5pvW0yI/cdz8U0cUnX0X/OJAd0EEwECAMcFAj8WlgcFgwGnqIqGFIAAAAAA
 GgBjc2lnbmF0dXJlLW5vdGVzQHBlbmd1aW4uZGUiaHR0cDovL3d3dy5wZW5ndWlu
 LmRlL35iYi9jb250YWN0L3BncC9zaWduaW5ncy9ub3Rlcy5BOTJGMzQ0RjMxQThC
 OERFRERGQTdGQjQ3QzIyQzM5RjgwN0FDNTNBLmFzYyIzGmh0dHA6Ly93d3cucGVu
 Z3Vpbi5kZS9+YmIvY29udGFjdC9wZ3AvcG9saWN5L3YxLjEvAAoJEBmiaAmIOP2U
 CZ8IALz2EVXVA8GCZl76kXlvGSmV3hz8/q4bBIlnYy6aLzsauR6wpyWmdqZMPU+K
 st0mo78V+ervN04nxOmoBZVdaeMlRyTyiqWQ0ROVNao12qZPyWMhiio9RMU/mno8
 APLjGeYW55Jk9DB5xduJb96VdzV4dbc9gu5rDeNu2yjryjtxTXdx+oTOY3mfUcqd
 eLFPskwu/B2BuKQYYiAOrFceu/XX8VtqUR5dAv48X13DYbS6BdJPQ6WtOSxKHIS/
 k2qbjzStLwTrjFchpr/gpv47BT3HogLTJX9f56sm8r7qxhxKiqmq7tOyRMwGM28R
 JquO5Q9LOmLcvCya8pR34EytUQuIRgQTEQIABgUCQJQrewAKCRCLCMMOVLxyY/vL
 AJ4003CSouFl94u7OVa8A6nnBnS85ACeNFSQ19KQEERCs1SuHtEIfbgjf7mITAQS
 EQIADAUCQOpisQWDAuPeXQAKCRAdR29gbPDq96o5AJ9nh//vF3E2avfO4IAq/+vY
 xgtSBgCdFN+7wMBiqBWOPoN8KW3t/ptHZ1CITAQTEQIADAUCQJjtNQWDAzVT2QAK
 CRDthAJ60Bobc5K8AJ9nqIQdRzbAYh2C7ugn7XZgZ0tQPQCdHvklVlsUQfcvs0Sn
 XPLRO4i4vMqIYgQTEQIAIgIbAwQLBwMCAxUCAwMWAgECHgECF4AFAkAL2hEFCQbS
 aX0ACgkQfCLDn4B6xTr+iwCdFReAd2YstulCrK0fu6MSfDh2E9sAn2X8hpotkUZ0
 pV4keeMIfgm33P/hiGIEExECACIFAjz72OgCGwMFCQPCZwAECwcDAgMVAgMDFgIB
 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
 /DCnBQED8w==
 =lqQ3
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.149. Dryice Liu <dryice@FreeBSD.org>

 pub   1024D/77B67874 2005-01-28
       Key fingerprint = 8D7C F82D D28D 07E5 EF7F  CD25 6B5B 78A8 77B6 7874
 uid                  Dryice Dong Liu (Dryice) <dryice@FreeBSD.org>
 uid                  Dryice Dong Liu (Dryice) <dryice@liu.com.cn>
 uid                  Dryice Dong Liu (Dryice) <dryice@hotpop.com>
 uid                  Dryice Dong Liu (Dryice) <dryiceliu@gmail.com>
 uid                  Dryice Dong Liu (Dryice) <dryice@dryice.name>
 sub   2048g/ECFA49E4 2005-01-28

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =No5H
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.150. Tong Liu <nemoliu@FreeBSD.org>

 pub   1024D/ECC7C907 2007-07-10
       Key fingerprint = B62E 3109 896B B283 E2FA  60FE A1BA F92E ECC7 C907
 uid                  Tong LIU <nemoliu@FreeBSD.org>
 sub   4096g/B6D7B15D 2007-07-10

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =nL7g
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.151. Zachary Loafman <zml@FreeBSD.org>

 pub   1024D/4D65492D 2009-05-26
       Key fingerprint = E513 4AE9 5D6D 8BF9 1CD3  4389 4860 D79B 4D65 492D
 uid                  Zachary Loafman <zml@FreeBSD.org>
 sub   2048g/1AD659F0 2009-05-26

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEocVOYRBACUSj+Rt8ZAKD0QoT4yHgh+f74lmw0pegpzvQ1DNBhGdVWfIM77
 n6hK4QSYPhSNT/Zz6qqsZlcnuSyXwKDcu82rOUJmo44UalWbWF/wvz4ICuMMttCy
 WRko6Z+lfzILBr+simnAUX2v9mIxfnkg8mEN5/rMc4rOda49Vbcdc0aFEwCg4/or
 HctUnKwa6r+ArXlZ8bxLX4sD/2A3JzXegkrD6LOwGA/STqNhuolad6ZZpvJGpr1n
 gsYX5ihLaYuxBBWK1ech3Rm8GojvsOpmcc5YTtjb37n/YU9WYoKcmpJukdEYNeSZ
 BQPi7jVXUb3joJobOT1LFYjrOX8/MoOgIxPI7RBM27G5Uarxe0RpF8r94bUxEqMb
 SkgHA/9KqKfxHB7suexO993OtM4fTcnJjCfarcL8qpBOQlYLAP2Q3IGZpjE39Bmy
 tnDNwrZ/8jZrJxBttZ5Fjt01pvMAEpFVHm+QNheqBOqpyN4jmyOsvmSjd4YL5ZZQ
 hUhuPS/dtInONvWvBmOHBsoKdrgoUPO2EuMW1pCm/0i7xHGCtLQhWmFjaGFyeSBM
 b2FmbWFuIDx6bWxARnJlZUJTRC5vcmc+iGAEExECACAFAkocVOYCGwMGCwkIBwMC
 BBUCCAMEFgIDAQIeAQIXgAAKCRBIYNebTWVJLe4bAJ0Q8l/7TIpaYFGoaHUkv/YF
 VdcR/QCfVOdEcCe3gPZ2k5KLC1D8V4ESKue5Ag0EShxU5hAIAI7OSBr9s4l3skaB
 +lVNxA/eEkigb0ghP+OoLVRvd7k3LZpjM27jqMhdmu/8U9bTRTX6kA7Ur7uRF1La
 aSrc6unoufkWcm+w7M9sQv1vwdxOg/D9CZttjMxNJs18VRQokair4OAR9mMXybMT
 hBw3H8B+H0AZh7eLTMXUX8q6fc/Dy7u+sOq6fnCY3vIVUUDaw5XaRKI/mWDmQcMa
 4hB79gvNxHjCs2oF5ntyaCF4nsggmZ2guOjN9oBoo6gm09QFlVA5Nwz/g5s84m0t
 Gtz8sGSPK339kwaT2Tym6yR8UszENlyjG1wVVaQhBPHvE706jOlPXc2JasNKoSqX
 Flyj7icAAwUH/0z2SEPs78Ws3eZq58axkafUowgB31tEM9Ke0jLNy1nGkcC+poyh
 Shl4DNyUbLb86J4FrkFa7bmJi8VHteZYjTxrY9usKLKGkbZV8qNd8ry1emG0Lx2g
 JM5jcRp6ghT2qufHF9PukKwkmNRJJgvAbgSgLi9dWkMymmpo0LsKfKmnoVCy34tV
 704K7JOOBHob6Gi9vMXLYkBUPJCn8BALbZi0WRR/D5bB+OHucjJpEp6lHXYihkX7
 xgSyrzkI2fvDLmJg6/jmtsrQwJFScf2E24IWO5JGLRsuqoE1UUcnmqQKLZ+iH7vI
 fSYNaY/TcB55V2TmpzpYmkGBgI8G1dygrAqISQQYEQIACQUCShxU5gIbDAAKCRBI
 YNebTWVJLTvyAKC5FWGAM6MJaj/cNvWfkdMFaZqAGgCfaktgPFqyozZiZQuoJM5D
 +FztFoI=
 =isE1
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.152. Juergen Lock <nox@FreeBSD.org>

 pub   1024D/1B6BFBFD 2006-12-22
       Key fingerprint = 33A7 7FAE 51AF 00BC F0D3  ECCE FAFD 34C1 1B6B FBFD
 uid                  Juergen Lock <nox@FreeBSD.org>
 sub   2048g/251229D1 2006-12-22

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEWMWfERBAC6P55NRPt7PWHQk3e3cp6yAYpxsNH4TyMZUNKFjE9E+g4GDe1F
 fd1ebE/as+qcZ7rnIoEqXMYyXW/8X8kdE7FJVoJBmH3RdlaJhHSxogrAHZJ87PWH
 yGC4mP7F2zvLjUqB2fUC6gYUJybmYi7F6run1zPKLr5A5Polx/SpqL52IwCg/5Kq
 vo2Lc3ceBT0L5BKOWFLHBWMEAI/OIOXhv4Hsu0k0Ol+Zdwp3vkw+geBo0MVHp0/P
 XItW5TM5Xi0iqQAcBU2KmPKUinaIJEEPAat5sPMZ/0BUsdmhlD6BqIp0qC8LXm9g
 Tqmenm3WpiJPsd486lW6dxzFqOZKdb6qq87SJ7ajnPB12SykRW26VkyHzNCqiETL
 LigDA/sFPsm499ccL62BwkRGax93iYylhsrV7zXT8FXAPIS/S7JasvaiyHTvRv8K
 u9XSO453WZtzN7TkNp6i3Vw1SSxbrwCRZZ7nspEdMXWF9ZdTtSq8mpA3R74X7dKM
 SXPbbsTFfQ5JR9v8x5T201nFiM/jPteU6WbfyQc1MuMCUqwzm7QeSnVlcmdlbiBM
 b2NrIDxub3hARnJlZUJTRC5vcmc+iGAEExECACAFAkWMWfECGwMGCwkIBwMCBBUC
 CAMEFgIDAQIeAQIXgAAKCRD6/TTBG2v7/bkFAJ9/NodQJ3G3mLhNkT/rv4ncgpOV
 KQCdGm6jx53ESn4s8YJAPKWgym0AKTq5Ag0ERYxZ/RAIAMR6vbusFDGVMpB6AWhC
 cru/N6Qz/kfB6+Ufy2nXcYMMaD2c4MiSUSV6pF08s+xx8oqh6DiGdPvdJQ19ZAdw
 BJaD3tc2EeIv7Eh0upHhC7CuRk3eHHd+KaKFquLGU4HNMEvxXkW+DZ0wWrbVIu0N
 vRBYXJlil7B3RE9+9yQLdoK1IA/N7DtUvbezVC3Px/ZuNe+cnI5neXZVnm9ks9E4
 qlghKSdb2LLghwfBy0JRqssZnvvqS+kRz0LJgKIX57pSrHfx0L5Rwu1JWqvmWKYV
 hkCogZFXpn31ArmmJ54O5KEP4hYNR2FcF8hwNjMqfij29QRi7xpxDLQYgUjM/kTl
 g1MAAwUH/2TJn6E3LtPX7ceMUKVyJRO/OsS7/r8nX8hPRmX/cnnoHTtYOQ1S2F9J
 0IFTZKubxfyhp9ldRx55GiDWyRvGhhjCOuUH7VCSPMCURbMOHi67EDfqbHPzhKcZ
 1lmeqpETmPx4SbVQ9vQ1802gsyZzNy3BQcoK9GIw1Bg6KLYVQ/9rcSDHAB+ULVF+
 YkthjJcPDQPdcn8Zy+xGDuciav9HPaeRXK8nXvx8ERDti99GiuHI/S5+t3wDeTPT
 dZuMiiJYsVc3QuuEN4eMseohFUX6R/Mnm2L0qFc43k3h0vmOoTu65dMEnYZdsKiI
 wXTiy7GaMXH69Iuq9QK5wAQGHwTDbJGISQQYEQIACQUCRYxZ/QIbDAAKCRD6/TTB
 G2v7/Z/1AJ9MfhLFFNtQHDgvIwjgQa2xJX+N5QCfQKUy9vBwNhrVvrH86hoDMhjV
 d1Y=
 =E5fg
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.153. Remko Lodder <remko@FreeBSD.org>

 pub   1024D/8F494B77 2004-09-03 [expires: 2009-06-25]
       Key fingerprint = 575D 8AD6 8646 E6D2 1226  0A8C D2A9 0DFF 8F49 4B77
 uid                  Remko Lodder (Remko Lodder) <remko@elvandar.org>
 uid                  Remko Lodder (my FreeBSD.org uid) <remko@FreeBSD.org>
 sub   2048g/6BF55109 2006-02-25 [expires: 2008-02-25]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEE4vPoRBAC4dNWQ87nDcZoYBN06IANIh9vEomUme0YimbljsIozq+BLDgZi
 6A6iQXWpoEWSCOHX5nCnQDS0selxJ7easE8tm2NXHIKLOCStDh9Jk9/dPpvAPAKF
 ZRyRf6emtNFewvQqxaP16Rs3mlvyfzKDWhIp9QPz5SohpgrpsNR0HcU63wCg34zJ
 uXgWapznE1e/gpFHVSdao0MD/ieMQBXiusNFj+ULjm9w+XossGiSuk5t9n5YlLtl
 Y+wpfeXq0bAlAjCHMmL3ZpPsksyTcJT4NEYyd+JUKBT9YVOitXHUfW005qHDFXBw
 5hMl8SritJLxNY7OfEvVeGM06Ipeaw2IwxrSBiN9vmPMpdO9hZl1Vbj0vJ+CTgnb
 l2fDA/9rsMfj8rsFNZipEprRo3tJQ4G+SaZAIvaHxwFC6ecTrIJ16qYfSPOB50RU
 Yuiz2UTQeVUHYcUqzpcVmUAij5WX1gcIrQdYL9BC3Kpp+POc2IPlpHcqcijhHbi0
 WlbRyaMTkARVJ6NTU6wFChvS7WTHwApo7dUJJEYNSYkggksiGrQ1UmVta28gTG9k
 ZGVyIChteSBGcmVlQlNELm9yZyB1aWQpIDxyZW1rb0BGcmVlQlNELm9yZz6IZAQT
 EQIAJAIbAwYLCQgHAwIDFQIDAxYCAQIeAQIXgAUCRKAV1wUJCQrzXQAKCRDSqQ3/
 j0lLdzhiAKDXhajHOwIGMBW2fRE9kspcC0pfugCdE6uMVulTQyHVUZ+gdV5ngPLS
 axG0MFJlbWtvIExvZGRlciAoUmVta28gTG9kZGVyKSA8cmVta29AZWx2YW5kYXIu
 b3JnPohfBBMRAgAfBAsCBwMDFQIDAxYCAQIeAQIXgAUCRKAV2gUJCQrzXQAKCRDS
 qQ3/j0lLd+PcAJ4oQDiFAGq0gCH0hcNu/yvRyeuFOQCeKbycSr2jMe2m9LR++UQp
 QaaGq9S5Ag0ERAChRRAIAM6a31FevymHZ79ZCv/oG5DjsSVGtM1cYbWvA4C+EStc
 vEWZL/tEMqJipi3tjaxyHPfuwAGd8NyagY89i+YXrpe97OxtbXk8DUDL5KHJH92H
 rLvm40uBIULeQgdXP23RQQxLt6UYQ7nmAMbbU0NKkErNG4KxEc7wX5XFtMoRn06o
 s+CQ6ynS1XYH5yaVRFAOo/kiC0DsQUE/k1e79UvVo7kq++Zmx20bQ8EN8fJWCjpz
 gnXbNArUw3w4Srsbq0mOQqtlLQTuZkwnDdPzmTa7AREDLE3NrEt4xXdCT9iHPyIg
 yqikm5YR/FCLJ3trEq1l/5YLQLC8ygvg4dd6aBm27a8AAwUIAJUg4wJvh6F989Er
 h3bsnlrv6rlo5Ij4ktJeptXjkzT12uI7mBhM5UuLkjrwN2+XCq1qnKtjaYW4yt2f
 rUYXLMQ0jFAH3wus/9rX1AMQMjErDvUj2lZWyc77ETFo6cJQDyy7BQb5A/5fOSv0
 astxip4m4xDAyeiM672jwEJ0H0vIRMXIIfVXj8bmg7da2mylTkku2gsA6moTLKx0
 jBg5P0Q5XmFO+H21Am4XFlIJEyeooaP5CON08tKyE7GyQZTrbRWJe/8G+rNs0jbB
 cpqPHa/0n+G3E7G0zho7QCYGtNh5iIn0/IOXhhoP/wQhh7Ay4Gi4BxtsNfgNWwoq
 q4hHxY+ITwQYEQIADwUCRAChRQIbDAUJA8JnAAAKCRDSqQ3/j0lLd5WJAKCiNEXw
 yNgsPsGLogwW+0OZLjrMsQCg0i8S8DLj+bQdZtkh58Ifdq3nXlQ=
 =jkQz
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.154. Alexander Logvinov <avl@FreeBSD.org>

 pub   1024D/1C47D5C0 2009-05-28
       Key fingerprint = 8B5F 880A 382B 075E E707  9DB2 E135 4176 1C47 D5C0
 uid                  Alexander Logvinov <alexander@logvinov.com>
 uid                  Alexander Logvinov (FreeBSD Ports Committer) <avl@FreeBSD.org>
 uid                  Alexander Logvinov <ports@logvinov.com>
 uid                  Alexander Logvinov <logvinov@gmail.com>
 uid                  Alexander Logvinov <logvinov@yandex.ru>
 sub   2048g/60BDD4BB 2009-05-28

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEoeNvgRBADOJSDLfbgPuLl4Y1QO/1BjX2MFveYtMacSLpaJURRewkBmoKBz
 iXa9a5A+uKiQTtX8S8bnkvwmpzEua8RMWUN/XXb8aZc7DPcZbP9NFNaNZ8BLgnLC
 FK1gIEpJpcodAQ0K5HAGiLwjsK3RdM78pvDUJDDmWPaflk8llx4H7kjjTwCgwIRy
 /8f8FHQV3zUIGqmJDt5019cEALE+LTHjCOZkk0YKqVETY7IAKX48t/o3t+ybkqcC
 zFYIRA0v7FR/ipxkNgSzi+tKMaExDuFuV9aZEhepS54eXriXyGmzvevINlHlFgh+
 60WrUGIlkVtQYCW4EeP7kB66u6uV6PnKqFUXPLoF7MDg5nrJqaX7r4+9d0JopClN
 1L52BADKV1retnbON3PP460z4j9IJspst9n1AZ3y9S5ojZ0IvhL9UsjazvRheTCm
 fArizJMTtDUo9SxWXCtpfxruYJSB5jlhkZFMC1oj484mxm/MgNxJ8mov2RAT1Pu4
 85PjDNtAKq7yrTf8x7PbNVpoJkU98lZQ84Bt4RbaqechA3l/l7QrQWxleGFuZGVy
 IExvZ3Zpbm92IDxhbGV4YW5kZXJAbG9ndmlub3YuY29tPohjBBMRAgAjAhsDBgsJ
 CAcDAgQVAggDBBYCAwECHgECF4AFAkoeN8wCGQEACgkQ4TVBdhxH1cBPpgCfYR9i
 yz3P8GnzGKzKacDhYSSRdlAAnikohHSQEqzFyKimalh+Vk+yv1mutD5BbGV4YW5k
 ZXIgTG9ndmlub3YgKEZyZWVCU0QgUG9ydHMgQ29tbWl0dGVyKSA8YXZsQEZyZWVC
 U0Qub3JnPohgBBMRAgAgBQJKHjeCAhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AA
 CgkQ4TVBdhxH1cCloQCdGWWbAGInaDd3AqGI07kIeHUfZjMAoKmujjBeu/1n8bsO
 OwUIcOutIiBRtCdBbGV4YW5kZXIgTG9ndmlub3YgPHBvcnRzQGxvZ3Zpbm92LmNv
 bT6IYAQTEQIAIAUCSh43kwIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEOE1
 QXYcR9XA8FUAn2F8Y9LTsvK/GJAMU2gboZY1DCxnAJ9XnCdD3w7uQscd+sqIJKuV
 KlYsDbQnQWxleGFuZGVyIExvZ3Zpbm92IDxsb2d2aW5vdkBnbWFpbC5jb20+iGAE
 ExECACAFAkoeN6UCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRDhNUF2HEfV
 wG/MAJoDJLimxPsysGqpRWMYb36855NBLACgn8ICeVtfyqCoxAv0YIYk3K0M9we0
 J0FsZXhhbmRlciBMb2d2aW5vdiA8bG9ndmlub3ZAeWFuZGV4LnJ1PohgBBMRAgAg
 BQJKHje5AhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQ4TVBdhxH1cBWygCf
 fvEVUFOSzEPylUJMZt2NKaiwomQAoKY66bHiWUIReF5NliBlsM3bv5qyuQINBEoe
 NvgQCACVC9Ks/nhrOVuHu9rj52KRW5J7S+20ZOZFOb90iVFCwFSn3/TstqGnao9X
 NQBiopv+i5s5AdmVjUyHnTSMggqVGfxltgG6ttxmY+iU7N/+aIXkbPzHZ/qZgKv5
 ey5MhS+kFV8Jh2IGV6beaQM0KNJ9LV9Hq1+V4ae0ulaGYFrNnbwI/rdXZ7vEETCF
 EVM3NP6xsgiw1NQ/V6b7iriTroeRytu7XoRlchik/7sQBLBwUvIVAD7BdHqjQ1NF
 SILyTr3aPagu1CxARmkCCDX2sfcqT2/9wVECubbgcUMRjVHm7k5BsZK7fGmHcBZg
 /5Rl7ngtUYwsR4h47A0aH4IPZ7AzAAMFB/47qL+Rb4wqF+sCWM/QqCrgFqMwz1JI
 qc26U0+a6bZ6kJBbMzvBcdrVFRfn52qacCdfFpdI6Yz3fWQyzrAZwqjCTPaGBeEd
 rSVbonW5dDjJTkSiKMlo53D19PcNklSjFnCrPeF4aFQ4VbT3RioWh9P00xhCHPQB
 hsg+cU9rm5ZASMht3K+k+bgpHT9gPVzckZTC73l3xaNetTDnHlRDw8ATvBYcUfYr
 kDp3tgkZ7a1pPRMz1oOKNWtxW5Z07HLj0Lt2xyZDe0BSImiAa7MYC4PKLi5VlDKB
 GPjLDrM9K1XUM3Gp8O3bd5qjnsueu6XOdGZA93g4wjXmzDqhFIXy5T69iEkEGBEC
 AAkFAkoeNvgCGwwACgkQ4TVBdhxH1cA3KwCfV8uCW9P5gm0+Dfm1miO/j6rvexcA
 niBfAchAUVjJn+UKjAd5RD1SFTAm
 =bSSP
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.155. Scott Long <scottl@FreeBSD.org>

 pub  1024D/017C5EBF 2003-01-18 Scott A. Long (This is my official FreeBSD key) <scottl@freebsd.org>
      Key fingerprint = 34EA BD06 44F7 F8C3 22BC  B52C 1D3A F6D1 017C 5EBF
 sub  1024g/F61C8F91 2003-01-18

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.2.1 (FreeBSD)

 mQGiBD4p5ccRBAC+tbiJm4bc9dO8oaRhVGqWmNhYfi2GnX4AM2h+L7bcIU/7jWVn
 uWGe/PFHDcuOpEov/XRw1gmgoNh2DopTxf363DVMevmGW3R1842YMmLvCYZ7C0Rd
 0GdbHW1xXeRSygs6peLcPGQ/7ISK0BHMudFim5FrpD0tq3qrqRmuGgls2wCgyF37
 u+ZoP3xiP0wANhoWJtyBWQEEAIeYSHvIPKFIo9FG/+wckx9Fc+hLXPKwoETBPof7
 Wft9zXiYyowuGj6/ydb6v229nI3lJwVPR8X6Ptjf6rO1vjf7uUED9dNBLr10vdW6
 jYClBT8lqJAq3DzEpDk2kOlhYwtrykyld9Ys/7vgliuBB0XRUxGVNieqDck7PZWL
 ewz5A/947m/ZrlZbn6+jsshGk30/pEXZUhcDnUBwW26GuFk0TGlXBha3N0NFwqz3
 a7qnJcvSTKfeZJY5NCwqzCo/rLpmaNd9JCUrgwSd1MI9Txrbj3lDRy5dj4FZBQ2N
 BVgni7SRKaiPw1KeEprSOR8yiM9ZjbV1g5zPeZ2bZhSMCP7mdbREU2NvdHQgQS4g
 TG9uZyAoVGhpcyBpcyBteSBvZmZpY2lhbCBGcmVlQlNEIGtleSkgPHNjb3R0bEBm
 cmVlYnNkLm9yZz6IWQQTEQIAGQUCPinlxwQLBwMCAxUCAwMWAgECHgECF4AACgkQ
 HTr20QF8Xr9fvgCfUMy+qlN9qQtwMFAKWViSllk0xYgAnApLMv95d6Ecrj7+U9Et
 liAwNQXWiEYEEhECAAYFAj4p8nkACgkQtNcQog5FH332EQCghR98TNpvYGdrsg6Q
 S3BngO5n3VgAn1zo89iPy8VMP/kXq2jlzs/74+i2iEYEExECAAYFAj4p9igACgkQ
 2MoxcVugUsOwsQCfY34hwJIc8MapwIy8fWmCeLs4T0IAn0aVpewWF99H6SapelNP
 hvDzTYLIiQCVAwUQPioA7mVgqaw0+fnVAQEUHgP9EJXxzQlkaN8VsfRJo/UFmC4z
 wGkwu2yatUjMSZR58VpS9rF6CH1rzmNFtZZmIh6ItQ/mPaUDW2yObWBRL2r9vkVx
 e+DPcpcZAebM3ibjsOg05cftcphv41rLak0C2Nec3MXnxT15O7fcO6aO+d4oJ2Yi
 oL7YJX6RHrqNCTQn6/65AQ0EPinlyxAEAIGtuZXdf7K51Gb9jijgdV1NMPKwujoq
 K9f1PZocpDve0vwXN6AvzJ1L/LTrZPvBZ0UCAJR/zVtz4H2bnSqalbd8j8bmxfYx
 0SA3QNAKJhgBGNlnK4HvAGJCs8oXYp+6Ph9WWlTcPzkfscPFc42VcUEdfL/5kyLr
 OvGAUW6D7iCnAAMFA/9CWXarz2QMrkduiasc8bhSmv2lVOfUVcIdz9imc72Z5GUk
 FBiQJ2kuqJrxMUqAgoccnJ9R0QVZwCaQyRNakEQEcENBKq9Haa5LLo7nD3CAiqIi
 URqloJORSzXoQCrw8OelbBp9RaEqVdCecbNqAbA8Ru4NIwcyZCgvnX/bUTKq54hG
 BBgRAgAGBQI+KeXLAAoJEB069tEBfF6/XBkAoJtQ4ECj3ntS2xlODgB8N+cKIsdb
 AJ9Lwk2EEIZhvzhwvhpwIKAhWhHcmQ==
 =C3Jv
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.156. Pav Lucistnik <pav@FreeBSD.org>

 pub  1024D/C14EB282 2003-08-25 Pav Lucistnik <pav@FreeBSD.org>
      Key fingerprint = 2622 B7E3 7DA5 5C53 2079  855B 9ED7 583F C14E B282
 uid                            Pav Lucistnik <pav@oook.cz>
 sub  1024g/7287A947 2003-08-25

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =Jmz+
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.157. Rick Macklem <rmacklem@FreeBSD.org>

 pub   1024D/7FB9C5F1 2009-04-05
       Key fingerprint = B9EA 767A F6F3 3786 E0C7  434A 05C6 70D6 7FB9 C5F1
 uid                  Rick Macklem <rmacklem@freebsd.org>
 sub   1024g/D0B20E8A 2009-04-05

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEnY+RIRBAClGSwgcIr4i7G4CYEa2cBHRC2UOB75/AXFqxmzAOcype8WInbX
 f4xLBa63VMoM7eis27BouVRcHI64oREIL9yvvMPwRD2ZINY5UD/zkls7fw9F2NyJ
 AgntQEPRDkk14AEiIX5uvB3l+JyKmbMNpJuhrKpbxc5qvaDTgD02y9TurwCgguAy
 pMVQu2mtVccXkSb7WEh95SkD/0jTFzDTcuowbxALrPgQtlGEXo7RYLPIFxTI748F
 h8Tgra3flWp2QPAnWBJEzrz+9rl8wqQ2ddb9IydwtY49BjKIrXhj2Lh+8l/1oDKr
 RXzRbNH/lGHhmphW42DgM9mOCCoSWugUEu458I89FjuoncdBiDdi7HUxPy/rZ5MA
 tnRRBACWL22M5MPfD9dl9SHvnoBz47nwlBeg0Oxl22oNfiyTQdJ1q+g/wGpDPAll
 eqs3Svky7gj+f5375K/DEYaeFSRynXeetpdqpkBDlp4mRdDGcpd/4ImAx6deQTXo
 EraidVlZ0Fjr5cP+mFzoI41LAhTJa/VUoUkMxq+gJAsXsSF39LQjUmljayBNYWNr
 bGVtIDxybWFja2xlbUBmcmVlYnNkLm9yZz6IWQQTEQIAGQUCSdj5EgQLBwMCAxUC
 AwMWAgECHgECF4AACgkQBcZw1n+5xfFFBQCfbFJpzSEXUgmoEl4RBgoPNzu9SOgA
 mwW8fBCx0RDGfho/8S/PjZLQ38JCuQENBEnY+RYQBADMlW1YS4ZhBh4PCOXTJsjT
 Vda2DEn1W+2BzZw9j/DFAFjm0U05rlEsfz584Y/SLlPNbCZ979//3K7XxicRw7zm
 E1Mzahy2jrmGGJv2GfAZ+YyJPGA/xndNA3/ocT1x03LMWNbZwFBe4Kk5ShoqPgl3
 cO28w3TJUnrUZyo+h3WhpwAEDQQAkwVB18LmtI0CW4H0/jMgiz5B0z3yZdlinbif
 +EEFHhhdp1tXtxA/jyp3FsW7hOlGXQi/tACcxJ2UBcYAZh03+x7bUMnJpisPDnJ3
 UilCuwk5cAkQmGeAQ7ukNNBwVhJ0ZfW7p2lZ2RwW7zSjPK7RMW1EL4Scwpey/ojb
 Tv9fVXmIRgQYEQIABgUCSdj5FgAKCRAFxnDWf7nF8WUfAJ0TTs+DTEkwHeE4mHAA
 CqfpXJXMhACggkoKIIAH+lHNqv3Uy9q5RFd8t3I=
 =F39a
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.158. Bruce A. Mah <bmah@FreeBSD.org>

 pub   1024D/5BA052C3 1997-12-08
       Key fingerprint = F829 B805 207D 14C7 7197  7832 D8CA 3171 5BA0 52C3
 uid                  Bruce A. Mah <bmah@acm.org>
 uid                  Bruce A. Mah <bmah@ca.sandia.gov>
 uid                  Bruce A. Mah <bmah@ieee.org>
 uid                  Bruce A. Mah <bmah@cisco.com>
 uid                  Bruce A. Mah <bmah@employees.org>
 uid                  Bruce A. Mah <bmah@freebsd.org>
 uid                  Bruce A. Mah <bmah@packetdesign.com>
 uid                  Bruce A. Mah <bmah@kitchenlab.org>
 sub   2048g/B4E60EA1 1997-12-08

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =D0KC
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.159. Mike Makonnen <mtm@FreeBSD.org>

 pub  1024D/7CD41F55 2004-02-06 Michael Telahun Makonnen <mtm@FreeBSD.Org>
      Key fingerprint = AC7B 5672 2D11 F4D0 EBF8  5279 5359 2B82 7CD4 1F55
 uid                            Michael Telahun Makonnen <mtm@tmsa-inc.com>
 uid                            Mike Makonnen <mtm@identd.net>
 uid                            Michael Telahun Makonnen <mtm@acs-et.com>
 sub  2048g/E7DC936B 2004-02-06

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =TuyI
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.160. David Malone <dwmalone@FreeBSD.org>

 pub   512/40378991 1994/04/21 David Malone <dwmalone@maths.tcd.ie>
             Key fingerprint = 86 A7 F4 86 39 2C 47 2C  C1 C2 35 78 8E 2F B8 F5

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: 2.6.3ia

 mQBNAi22tqgAAAECAPARUB5VpJvYQyHAzL0WITkJmKG1lpwFMPz4jenjJRplPr33
 OvKxQcXh1bAWNVFiJVDJsWwnfif94wQdVUA3iZEABRG0JERhdmlkIE1hbG9uZSA8
 ZHdtYWxvbmVAbWF0aHMudGNkLmllPokAlQIFEDCwQ4yqxsuiiP+uKQEBricEAKAE
 f18kbKpFKU/DPRVhVYlLHCkzXLzZCiTxBUGjMaXZswKwrjVLF2l8mrNQhqC9L953
 AGyUYNfPLtqw7b088v3ATCIrZ+izWyE27IrjZWSS57GZiDtnkm6moarG79yANBql
 LBc0sK077cHEC+/gDwXNBLg0NNpHkaVXPxixt/ETiQBVAgUQMK+p+pFKk8pIl/up
 AQF0QQH+ME6vPoS2+FgSN1q9R1hwmwEPAaYdyfhv2lj1/6KYDEaO9Lhw2u57nW7z
 CDpir9gNN0X9U3XrIxlJ7wWxa1k2PokAVQIFEC7vu/zjBB1VQDeJkQEBWFsCANX+
 qJO8J6qeJW8gcrmxMBA0l2MjEHcu8XNky6YT3yS6So72yL1lZbG78Sew03fXnWNS
 GyhRrPz7sURNLtJDNDo=
 =wpn4
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.161. Sergey Matveychuk <sem@FreeBSD.org>

 pub   1024D/B71F605D 1999-10-13
       Key fingerprint = 4704 F374 DB28 BEC6 51C8  1322 4DC9 4BD8 B71F 605D
 uid                  Sergey Matveychuk <sem@FreeBSD.org>
 uid                  Sergey Matveychuk <sem@ciam.ru>
 uid                  Sergey Matveychuk <sem@core.inec.ru>
 sub   2048g/DEAF9D91 1999-10-13

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 /CYAn14opUDUCjxXXd3vrkwzNCIrYQ5i
 =iDu9
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.162. Emanuel Haupt <ehaupt@FreeBSD.org>

 pub   1024D/90215DB9 2007-02-06 [expires: 2008-02-06]
       Key fingerprint = 741B C70F 100B F360 0B52  E92D 5F01 7A86 9021 5DB9
 uid                  Emanuel Haupt <ehaupt@FreeBSD.org>
 uid                  Emanuel Haupt <ehaupt@critical.ch>
 sub   2048g/6DD0929C 2007-02-06 [expires: 2008-02-06]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEXIhOYRBACqxbx/nLwG1OVuFs1wt2zASY5P1JbyZ+DA0+21YKpYz6EjRIcn
 j3Y1FFJO5T6pR8yTMz47rEaT4K9OLigYZkwWg8G0WUqby/CJPylEkAwrhg8do7ys
 kwTJMg8nOlSyv+m9KFK2C8mhcp/dGqp/Ev91iAKE9M7wCNxYzZGk/lHnVwCgi3yc
 rQReRXDrXkOnJr0v4g93T58D/3rrIQJoFa90o0iUCatDJxvQ5eG0vxVPcERssGF1
 vUAWFJn83cImWHltpOEWyBgOnfjfkFKZolG7QXBejJEPXYdSKzinDT5yqWXQXCHn
 YCQxtO4OPxgtlV56sAlAeZgytuGfmkNfzkhoN8nRD3YXBlVWrhQwhVdmv5MBi7Pz
 RFdCBACk+4WuKIVkRCKualPZocELQnAXuD30AFqGP3w7EAac8dlXumsgdQsP667G
 R/RaBo2nks+tA8L3LXkMCgSCHFP3y4F82BFaNufkf5aTGDk4KOeEOLa4Wn2kyAQb
 kxIApsN1T7y//EFu/VoRRIx7sU91ep1O4Ww3TPhpaqm92OGfsrQiRW1hbnVlbCBI
 YXVwdCA8ZWhhdXB0QGNyaXRpY2FsLmNoPohmBBMRAgAmBQJFyITmAhsDBQkB4TOA
 BgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQXwF6hpAhXble+ACeL4FCsn3oEeNo
 3OSZGqK7HyeSTvAAnjSUwB+7Fi1OIiOzQVIKo4a76IyJtCJFbWFudWVsIEhhdXB0
 IDxlaGF1cHRARnJlZUJTRC5vcmc+iGYEExECACYFAkXIhRECGwMFCQHhM4AGCwkI
 BwMCBBUCCAMEFgIDAQIeAQIXgAAKCRBfAXqGkCFduYUwAJ4gfS+qakG4VbU4zMW4
 uBMXB9jg9ACgguQQkvNLpX0HktmO0BvhVRkGUsy5Ag0ERciE7xAIAJzXp5NhJ2vr
 E1mxRlgeWrTzQ9/W2D1+MAQvH/nEZLq3yS1snyLvk6KQooRN9MP1hftWMOSsAs5u
 cvrnKJOxouK2bIAdd/dk4dwVky9kq95PHow1NNiVEdWX+CxjmZXZ6uzr5XpXqSVl
 A8aaZTaSoAT0hzDWnQ59HdwzbEDwNGQrSmLmxK4TxmYsVM//KyPnG2tGb+lrIsf+
 6j7m/QrHrf/5j0hv5OGtnD75f8no7BpNZ6nKfusM8j1qECf4GA0rQheXLsMalst8
 MwZecaxWdvdHugiJUFbyRrBFWYWK2Ne0wyPTx9mK/CP2ayLJro9vsA7Tix6d1S8z
 4kkFShsxveMAAwYH/3EnNUO2EpN/R9uogeEUobHifbTz3Da/xe9/+k3iMZbW+6TF
 ntw7aFzemeAYVabFPwqyn9FfzMAsOlz0u7djn8X+lp22Nvr+eYjfnSyGfGu8Uso/
 KKdg4QeshrCcIDVdYBa314aatPRIBUO0qPRJISOhXC3NV+6QDaODT6p1xtsDSfdK
 BDct6uqntgHRssTzTlBZzwoZeoC0RqcIipG1Ly+y/yoTou1MiOoN1SvLMsJtrENz
 3+oG4p2yoZY5zodvJNmus3ArxHyVpn/iM/8onOufSZnftgDay3XPqxUIBVlpXLZt
 CuKP1XuWS8odKzGYrFAuWq4TW9QbkuRY0rwpCs6ITwQYEQIADwUCRciE7wIbDAUJ
 AeEzgAAKCRBfAXqGkCFdudl+AJ9Ik+uq4ank2SalIwfF2iFnNb0ATwCeLqLQIWnM
 2KoyQBvRCcKpNGcqYUY=
 =8Iic
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.163. Dmitry Marakasov <amdmi3@FreeBSD.org>

 pub   1024D/F9D2F77D 2008-06-15 [expires: 2010-06-15]
       Key fingerprint = 55B5 0596 FF1E 8D84 5F56  9510 D35A 80DD F9D2 F77D
 uid                  Dmitry Marakasov <amdmi3@amdmi3.ru>
 uid                  Dmitry Marakasov <amdmi3@FreeBSD.org>
 sub   2048g/2042CDD8 2008-06-15

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =6qxA
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.164. Koop Mast <kwm@FreeBSD.org>

 pub  1024D/F95426DA 2004-09-10 Koop Mast <kwm@rainbow-runner.nl>
      Key fingerprint = C66F 1835 0548 3440 8576  0FFE 6879 B7CD F954 26DA
 uid                            Koop Mast <kwm@FreeBSD.org>
 sub  1024g/A782EEDD 2004-09-10

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.2.6 (FreeBSD)

 mQGiBEFCGHYRBACI9ERMi5j2009Juy2kpXS860i9tJJ10mM9TNuCZVYcPRRTiSWe
 Q+YySmBtR9TA3OZfd6BA9EqusEgcwUJpxjZ8zjGzirj/OjcPtKwM9ZO6dadeMNaE
 wT32bJDUw//2ky2xflJCsjg+TSO7PxQi3g/YEWfau6Istg8PKfzHQan0EwCgxwrV
 6JijZQ85jIgQoceJjkwBLHsD+gKeeSUG7g2CO+NJf2d0tBj+l22QzmeAtlnuUskd
 nHKDAzzty80e4HXkUYw8IMueR7Fe2Tjx20OvVSkzMwiZYqevIJHVhiouCFZxYpSa
 JQHPYLpMXMVZ1X8d17tjbFRBXWmNrDcEhb4m3WoDKfQD/qbMCwBErsQ0t15dddnQ
 BVyqA/93dSzMYRC+Zm6Hzfk5Dz2MsvsxEE30ysSwFjIZ06RtYPKlN0x3ABCGba8f
 o5H0P6+gobJRLTQfK4xDS4J3G/d7TWO1bZGk9MPEzCJDexTt5yfKsY2jZRVRrikE
 fIbdSUgLnczBdUno5qC9IyMhGNa8O92GsjleDm7D+p+wkkoyCrQbS29vcCBNYXN0
 IDxrd21ARnJlZUJTRC5vcmc+iF4EExECAB4FAkFCGHYCGwMGCwkIBwMCAxUCAwMW
 AgECHgECF4AACgkQaHm3zflUJtqlWgCfWKIRLzsvZjBjuck31Ep8sEDP0GgAn17m
 X0hYq8W+2gbHbmYeqIFefHs9tCFLb29wIE1hc3QgPGt3bUByYWluYm93LXJ1bm5l
 ci5ubD6IXgQTEQIAHgUCQUK9MgIbAwYLCQgHAwIDFQIDAxYCAQIeAQIXgAAKCRBo
 ebfN+VQm2sH2AKCnwIQ3C8+62/uQh05mqXqdzAaU8gCdEkRN+L9HY1OwFlSDi6Tc
 OAWLTPG5AQ0EQUIYdxAEAItGBQMO4f4rHYh9zc4fd62RhBfMHJpY1ex6HeiHt3pb
 i6KfBUai1zRYxgq9F+8qR9WgBLF1VhA4O0nCU9/FKOChc19W7xKa2auvE22Kq1ta
 xjCszahtPTDGIBs4K8u0fH/Gx4VSikQcfIGNd3IK4vALbLfH+iK/1RJNXPzQ9A4H
 AAMFA/4+UBNqZPucstZgmEwVB2H1Bt671fQqODpWj2eOMIYJWXKraUxdIjUqzm9K
 QhC7LBj9ihsn+LRsO49oWIAv5bks4zC0STACJ+Lx+FMb1i5ayAp/03DoZyrjRnGb
 SIY8Dtqonut2nic0NQ4XD5uqTkx2t7xlKJay/n4Nop2uqwajOYhJBBgRAgAJBQJB
 Qhh3AhsMAAoJEGh5t835VCbaOZEAn3wkQ7xISlGUox1/aiPU1CafRrZyAKCXgDLa
 wlCa23ftqh2DPxkAXtCnEA==
 =FIQv
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.165. Makoto Matsushita <matusita@FreeBSD.org>

 pub   1024D/20544576 1999-04-18
       Key fingerprint = 71B6 13BF B262 2DD8 2B7C  6CD0 EB2D 4147 2054 4576
 uid                  Makoto Matsushita <matusita@matatabi.or.jp>
 uid                  Makoto Matsushita <matusita@FreeBSD.org>
 uid                  Makoto Matsushita <matusita@jp.FreeBSD.ORG>
 uid                  Makoto Matsushita <matusita@ist.osaka-u.ac.jp>
 sub   1024g/F1F3C94D 1999-04-18

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBDcZe6YRBACDOZSZ5cWE6IvNkx2Ht6S/VdIY1OXFU8n+cOVxNIHFWXPUOrFG
 F526VZoPfjURnslubdxXC8TKGspX96uc1jdROHvEwsxUUELyzZ7G5oJ5wd4jHwjq
 K5zwV5FZoNm1SHdeN0FqZB9rlJdOt0kxVZS+b1PUc0j1i4oDNZz7+8rc0wCgltLi
 c2i5RQzjuvJvF9P8OYGujHcD/3Tq02ov/aNX+jIoO58uuOBZpYFL7ZfbCeiMs+4A
 dmvjTI9MpfLBP711iu1asuikx6HLQts9UTVk36qP9ubNmFi54kDHsej7Ce8m+dOu
 Cjcjle6Be71MGLq4YUxd9xZmGGDPhEFnHWbB/QPP4n/m3DN3hblWBgP2PsgmqDyK
 518dA/0bhL5pvw5LSaRtGxxWvFBInfWGzC5EuLw4ERZW+bEFB0To08ZnocLRN/E6
 tZ2JTr2O5aMLqUEM3jgsIvs9EOGUBwPRzyOQXpc2uQemn7J0pL6PQfuBIaUI/NOu
 ULM0gQfLIV3wOP6Y5gH0FBcLt/ofrqdYys0C6zTq3LqDW5FdQbQoTWFrb3RvIE1h
 dHN1c2hpdGEgPG1hdHVzaXRhQEZyZWVCU0Qub3JnPohfBBMRAgAXBQI71CCFBQsH
 CgMEAxUDAgMWAgECF4AAEgkQ6y1BRyBURXYHZUdQRwABAc3PAJ0VtHlKCmR8IjdR
 KJxY0C5fdmaDGwCfecy3f/dYGQsljHhv0Wr2PxciscS0K01ha290byBNYXRzdXNo
 aXRhIDxtYXR1c2l0YUBtYXRhdGFiaS5vci5qcD6IYAQTEQIAGAMLCgMDFQMCAxYC
 AQIXgAUCQ5F4YAIZAQASB2VHUEcAAQEJEOstQUcgVEV23p8AoJKAqle5nC6Wi6yO
 TZtcr4axeBnAAJ9ABx4gqACagCDc/OMk3pmtb4sy1bQrTWFrb3RvIE1hdHN1c2hp
 dGEgPG1hdHVzaXRhQGpwLkZyZWVCU0QuT1JHPohdBBMRAgAVBQI3GX1RAwsKAwMV
 AwIDFgIBAheAABIJEOstQUcgVEV2B2VHUEcAAQE6EwCdEPG7N7vmhgYEqmZqPLm6
 oqjHOpIAnAr1FfVDPXpfE2SmXUZenG7+5MwntC5NYWtvdG8gTWF0c3VzaGl0YSA8
 bWF0dXNpdGFAaXN0Lm9zYWthLXUuYWMuanA+iGAEExECACAFAkORd40CGyMGCwkI
 BwMCBBUCCAMEFgIDAQIeAQIXgAAKCRDrLUFHIFRFdraSAJ91gKAjNH0XzAKohpQV
 vo3uT7LNvwCeJSxDm0hpmaOpa+LCcabNP91SyhS5AQ0ENxl8HhAEAITl4uP+i5aY
 Wr7mPBLAaWfoQ4fyT3pUThtStiymqsrEDFKhVqA/KD3PUV1CeOBc9oq69x1+pUlk
 VYz3vDrvk0hP+dy6nerUEbkdGtMKLvGzakdond55jgSTZ6CPHxqyLva06QpY8tj9
 CODunFUE+MPVV4Lf9U4wMeEDZFEYvcajAAMFA/9kKoDY1ur1mAPJRWAcEONxnwiW
 qe7l++fg/294wra8IkAbF760iMnqq63qavsGT6xStMi9EwZC687p86sFex6KF+uv
 P04CTAyt+FAph7oa44AdWJo4tJ4SP8xIznOiZS8clWwxTaqv9Ncy6LZwbZf/P427
 egF1zuv5A/MTO3KD7YhOBBgRAgAGBQI3GXweABIJEOstQUcgVEV2B2VHUEcAAQEr
 7gCdHJTTs41XBpfprQCErm3tGXwRrG0An1zUSEtG1AA4jFXNgIlud0OO4aMm
 =aY+v
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.166. Martin Matuska <mm@FreeBSD.org>

 pub   1024D/4261B0D1 2007-02-05
       Key fingerprint = 17C4 3F32 B3DE 3ED7 E84E  5592 A76B 8B03 4261 B0D1
 uid                  Martin Matuska <martin@matuska.org>
 uid                  Martin Matuska <mm@FreeBSD.org>
 uid                  Martin Matuska <martin.matuska@wu-wien.ac.at>
 sub   2048g/3AC9A5A6 2007-02-05

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEXHDPMRBACme6PyRAt6LcfVO5LiPbtq6rYu4e8zrUjd7o+FiCEYjdF8VwXU
 3RQ76f1cx2tnNyvv7KEQX2/NyPHQH/3n3Cu5w8BToQrV6sEAMP59nWOIKSNTXNGN
 BAbFXvRDC1vlPXyXaeRt6InF90FmJ/ZJpTX1wYGenYymZtBSPd3q1iK6DwCgn/I2
 9FLTUjOm2qknqLGGZJ/w96cD/i6CDQa1VzwyplIKCbPDqNyJh3qW23JMkW3OGwRk
 nY8H4RrR3LNfCpiBuzw8JtO8vDT/NoUKG4rXFMYz0pPfPbWnJD+qtGEl3fXtNC3f
 a4YwTTDil5VSi846IjHK2rEwDvUkMAyiEbthOIf2U8JRn0KThPYb0alPyNuF+zaM
 HUUxA/wNYHb/qjqCI0iwSNxTYKeruBcua4yg7NKeeHtA0an95CfT+AyEW6inQ0Od
 WSrDljmZbq0YGFndRZnxlwClzA2ueS3+/F4ADvn0kONhzXfVewRayOHXLiXlcV2d
 4+g3oYMWVsR/DAi12ezzvkHnDWsSeeXPKkBXMAczmKd484RpbLQfTWFydGluIE1h
 dHVza2EgPG1tQEZyZWVCU0Qub3JnPohgBBMRAgAgBQJGEkt4AhsDBgsJCAcDAgQV
 AggDBBYCAwECHgECF4AACgkQp2uLA0JhsNH48wCfbHM5Tu8ABaGHO1Nlv0jtrc8L
 D4UAnjIzKUyR6A0ReHlqZyAQA7XQ0lxztCNNYXJ0aW4gTWF0dXNrYSA8bWFydGlu
 QG1hdHVza2Eub3JnPohiBBMRAgAjAhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AF
 AkYSS5kCGQEACgkQp2uLA0JhsNH6FQCdH3LhF9TLVQbd5q5sYYR48zmXaPoAljRf
 JtDTR6ZLdjVowmZAmSlsFda0LU1hcnRpbiBNYXR1c2thIDxtYXJ0aW4ubWF0dXNr
 YUB3dS13aWVuLmFjLmF0PohgBBMRAgAgBQJGEkthAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQp2uLA0JhsNHkiQCeMQACotd+npbhK1pJMKBcFOHrzUwAoJYn
 ZRIacsYvjMBNsx4UUkfYs70wuQINBEXHDQUQCADlHvWxPueR0sgha8L1Fwp4yTE6
 AbqAnkYw/nC/2q/oUDg97VFdZM0tOi67sLYHic3Fj/Il7w78jctdlpagW52b+R2J
 l3LFOYlbmbWkUj7iUFrDA0QZwO9IZw2yxDP3zkEMvPh9YtngmgI8CKRtXrxgY3+7
 9gEN/evBiEgS9rN5/tGI5V2Pt+VTXWfw25zRnOTTThgL/sRtqKykSJ6nsJfwO2DY
 0VFpb9ndFR/zG4ozJLupV+ku0EQv2xXlOdvhdWkLgXN+JRtrP1CxWzPTA6CP+m/X
 cYiT498yBauwk+JTGqeOKUfn27vpycGmf/VGwBoh2GrhzXRnOVBkDXb20ztzAAMF
 B/4/cFjtT3rdyJpFRoSl81Nvj8/DvP1ICovH2YUY+bIdUU83Id6AqKv5vOWhlhbR
 5Np9EtWkdyInXHhzs1MDm1xdNFmwkVFJB+M/XNmj5lgZ+e1riuoo07WcwKN8LdBY
 oOoSoKViSzEoJwlkQazOCAURSWHIlr7rYwM17oAgDjJ4PjBs4l3zjIt+wNU40wYy
 JOnBxjyK5ucKUAHq/6vgLmvj+QZvhcDLpKxRvw5M9PLeD1iomiY3qzNRlOF4aUr7
 GX8wbk+a9rsiC8dIGn++9D3BrvGvVLqxEruflXmpokyalalitIL3N3WitPjMu7gW
 EUotHnqcf3TGK7N7ffv0SXRpiEkEGBECAAkFAkXHDQUCGwwACgkQp2uLA0JhsNHl
 SgCgn7/wkepKhD2TrONJELS0/iy8WjcAnRhJSMsrJApfDOhu0ER1TqP+cFy5
 =HbmE
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.167. Tom McLaughlin <tmclaugh@FreeBSD.org>

 pub   1024D/E2F7B3D8 2005-05-24
       Key fingerprint = 7692 B222 8D23 CF94 1993  0138 E339 E225 E2F7 B3D8
 uid                  Tom McLaughlin (Personal email address) <tmclaugh@sdf.lonestar.org>
 uid                  Tom McLaughlin (Work email address) <tmclaughlin@meditech.com>
 uid                  Tom McLaughlin (FreeBSD email address) <tmclaugh@FreeBSD.org>
 sub   2048g/16838F62 2005-05-24

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEKSlvMRBACEIyrOE2NlPjwg7bS3nUC4S/D1nPV22eEJ0ga9+LNHlQnsJON3
 lGOU6iMGa6QaBoqg7Qw3aL6FaJlogNQfIPWZCRZdfJjlbw0Yd6EzCpMqoowB+4y6
 XuObOhie5bdHFK8NVk9n1BZGUELcnPGMdhPPIQ/UHq7Rlhbqh8qkcA0imwCgzNEV
 oPAY1SeozW0kBE6YUXXGQXkD+wRzl9As4+1CE3ZgxUWtoNqYvZMNWYTbO0ZWMx6i
 YWJ5GkLCMdVqNZ7iCteeDBVoRzLEbD/FyVzazPm7FBSxzK71EC+C4Ybt2IQPWfBK
 Q0GI+2ghQ/HyLh4gLCLP5XEk9aw9DwXGJt2q7HngEJli5o8LFVo3Qiu5X+QeC7QN
 r6uGA/9/raZnDF33jfAlx1jrHnFVEa1xzs81q2LK2ii+RdU5bvTJQchoHFRKZMBW
 HszbXB4f+wqkSkj6B7od8hBINJwdumQXdjO6nybh2abkCT2f/nyK7ktCcq027AD4
 BjWWFltUZpvspzq724SOEyBsbYJp4YTB2wys+gcyDF/ugaJCl7Q+VG9tIE1jTGF1
 Z2hsaW4gKFdvcmsgZW1haWwgYWRkcmVzcykgPHRtY2xhdWdobGluQG1lZGl0ZWNo
 LmNvbT6IYAQTEQIAIAUCQyJDcgIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJ
 EOM54iXi97PYq4MAoJeuQSfnGZsPBIpzOZ0vHmf/ZV4ZAJ4kKyQrqbxup6u/vMWG
 lS9JqYlZj4hGBBARAgAGBQJDnF0IAAoJEMYEPFZyB3E3kccAnRcxLZQIxgo0T22x
 GUDB8tkAUUOTAJ93N4aVydp/zrDo+OE1HStNFEsWvohGBBARAgAGBQJDnGKmAAoJ
 EHninGCwBj/nLhoAn3sa1+X0ccAhA+iPHo1mypN2uKUqAJ9B46J73q8E7PU17U6k
 RHY/7eCLaIkBIgQQAQIADAUCQ826swUDABJ1AAAKCRCXELibyletfK2IB/9GoKeE
 G2qDTfQbwG2Gbj4sW2FjaeNryneSTxXRMpK5dBwiMi07iM8Ze+8NdE9KlOzA9I1r
 tkYgR32UCfteyQXU8YvsKf6Q4wRqKbpckqI43zXMdvXyzG23P6/gR/Ozqh96Z9vA
 i6WdnvxjZaY6jItk357LJPQDP6zQncKFfcw7W+QAPx2N8BrUUy8U94kW6URhS01R
 d3NP8JylEXqqF6L7cSxcmO3A2QAVjzDpmfWu6AvREuYY7dkSSZWGK9hpoEjPN5GS
 LDgwRaiYZKHYz8Bx2UUA6sqaoebqAHY09bHIZ4fMiEkm7SSf5PsoS0emb9O0q5U1
 tHI8+6LkM6Zhs57CtENUb20gTWNMYXVnaGxpbiAoUGVyc29uYWwgZW1haWwgYWRk
 cmVzcykgPHRtY2xhdWdoQHNkZi5sb25lc3Rhci5vcmc+iGMEExECACMCGwMGCwkI
 BwMCBBUCCAMEFgIDAQIeAQIXgAUCQyJDgwIZAQAKCRDjOeIl4vez2IaCAJ98fPNG
 gmITFIYH+M3UBkw1YTvfAgCfQdAkDAFJxVrvDZBDliO2NB6jAu+IRgQQEQIABgUC
 Q5xdBgAKCRDGBDxWcgdxN2PzAJ9d7HmdkCyM5CN7cgG6BaZ87AHY5wCfUjblYg9y
 tsrTj2+ip8f05PC7zhCIRgQQEQIABgUCQ5xipAAKCRB54pxgsAY/5+exAJ94yol5
 HuRwmESdxzjj9S70GoYbsgCgxad9osFjtuxHHX37vaxUgJyLEbGJASIEEAECAAwF
 AkPNurMFAwASdQAACgkQlxC4m8pXrXxT7wf+Ji6vtaE5wjEI3/puKsHfGJmmHklL
 UBkcl5acntPLPxhXa2Z742ZZW+3QXeUyyXnqU1/BSn6/NBYO6I8yUJc5QptnlCvQ
 sJpwJlnTd7jBhSzN+L1xGxxvmmq2LfzLIleW8ye27vBOW4JDPDSgz4gVTKRqc0JV
 1EYULkWCGpfDA/xPP+4Lhizz57Q6EqLVurxMjNLE2mqV7feIvYoGLxOX0RxbNSpT
 +uJ+6ydpyE8UhykkQwgN0vhaokwSHC1KWWFH0ET38hcdFvaVrWZsrG/GwGg0T0mG
 23CvIdBUGH9U0roJjUa6CDDQz8ohR0P04lFpVsgDi9AVPEFWTX4gcUwyILQ9VG9t
 IE1jTGF1Z2hsaW4gKEZyZWVCU0QgZW1haWwgYWRkcmVzcykgPHRtY2xhdWdoQEZy
 ZWVCU0Qub3JnPohgBBMRAgAgBQJDIkMNAhsDBgsJCAcDAgQVAggDBBYCAwECHgEC
 F4AACgkQ4zniJeL3s9hsCQCgjLOKwwiG6bABO6ue0mjHpvR6nhUAnidSAywDgVQa
 nv8Ev+hIv4/QpD2PiEYEEBECAAYFAkOcXQgACgkQxgQ8VnIHcTcenACeNyN5PiZU
 TJ72eTxbc60q6PpkVOIAnRInAWvK8iW8I7uGOMBmyYtZWfu8iEYEEBECAAYFAkOc
 YqYACgkQeeKcYLAGP+czFwCgkAtsuKGoojwfo/Rg6p9RCazIUjYAoJ0xxWeuZ/df
 7lkbyqcRGJOfLeBBiQEiBBABAgAMBQJDzbqzBQMAEnUAAAoJEJcQuJvKV618rKkH
 /1kUl4Cqj3n9a+acjUnl5gH1r6SVUuNK6pPJPVpBXDOGWQQPfVYl2LTtFfzIh+e0
 q7J5os8timFbi/6HaI3RNV21XoqrDVgmRA8lApxM3dfB0hlJ6jx9eoUjHgi4n08w
 nX3g43I0zoRc3lQPHFc0jV9yRhgAln2yHmrvdcW0SUb8Zv/FvyG26W1gyEvl0cPE
 /AvKerTr2oP3aKnWtQfylovIw6Y+MmP3AynlvYghY7qw5QSnw3PhITvoFh4Lg4hI
 c/AoY69TAdf4d+kHtbo9vssMoT/NAIaAN3K8hdzSmJ0Ifsj7/K9+qtYz3r3c/+Qz
 1pH6hqz1u13upXLo/slPV7S5Ag0EQpKW9hAIANJJ8W4+BYSzM6ihW2ElYyt3h2hp
 WXptNPnrZDAoqx7YtCyPnUpn6dJrlsz2NTJiW7ahdsCQqrCyMTRCzAZAbFN1s8Se
 0hlREeHxGBIw+trapap/B2u0VQHDfVEL/9ib+jUFm+Gp3izgcgf4y3tvJRmmPCgj
 Y9fFcFu7PrntYsK91OkgungUriZ1fbjx0OkHRaz7nnq+On+dVElFh2iTwpZKrG3L
 7Qws/iVWamLOSQ14d3fzWN/Y7pF09QjOo5i/iyN1QEYiOffYaUthWr7lJ35muuaH
 yEMeodSNkKCF+BqpmmWKgJohopQ1/f36WjwlaVKaRh0zCIxcpX5xPtSoMzMAAwYH
 /2OiL+gBLaaTC5okydoeHAE+G5TobT4CI2fw2P9htDWVYf1eIriTRYKywSyjF+YS
 nCc8hleBDCwrUY03GXCFEOq0SAR97cfRhzxlHps3n3iAuZp9TwcGDiskL0wAaNS8
 43AKNHlKRNWxXoCE4oBlq/t1+DV+7BnjdI+MCAUe8h4y/jACIxpxnRKjmAcN2qDh
 THauJKvmUjw5W9SvgDU8sHNXRAdTbCrDj3iEAvZ2bTUMLmh9h0tKhwmVD14IMpDp
 7ZELqCgJgtHjv9kAg0Yz/Dy34jdLgypTJzUreQcJYvv5Krp1QLRTMMtoMtkop56+
 oKcUsj5bqschZLFzuL2hj3WISQQYEQIACQUCQpKW9gIbDAAKCRDjOeIl4vez2KQu
 AJ999gXGK70qxOzC8xOb3luxRKE/TwCgleUyV4VszS8i918p+td30+xsf1M=
 =DTOK
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.168. Jean Milanez Melo <jmelo@FreeBSD.org>

 pub   1024D/AA5114BF 2006-03-03
       Key fingerprint = 826D C2AA 6CF2 E29A EBE7  4776 D38A AB83 AA51 14BF
 uid                  Jean Milanez Melo <jmelo@FreeBSD.org>
 uid                  Jean Milanez Melo <jmelo@freebsdbrasil.com.br>
 sub   4096g/E9E1CBD9 2006-03-03

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEQItSoRBAC0Dd1LYWYUcjRH9XabIefY+5q+Mwi7iBdvUjq96c/LgGZLXbG8
 ZlK92kraOdWvwrPcYUCjYQwwesOmjXryXPoS+AYiz9iVs7AR/A9drFECh50wfaiL
 J7X4kSpR9zDgju/yVPyT3rhE4ZEZ/81txqdu5DSG5+vD8dLoXdb3EziXFwCg8Njt
 Lcb+ETI3MvK0M4A5HpuBvTEEAK2H7mNZ5BoLCrB81244e1BFwd16raITUv7DiF11
 Wl4kFowGt0K9P0d6QxmL3bEdeud2wfNaVjAuiO2B32XlV4xskZmfalniN6fsX9b9
 jnzJzpFvR4tPeZdpw07ePYJXh5vZjx4Mkflv9X2+rWafLiw5vkmwPnkQPcnhWnD+
 Ia0UA/40hZZvC9h20eH9hAcJA865wLxzmUijzgAGHjXVjhNT2oYGneNeY70auub7
 hGVL7GwsDSYc76W6IhJOcAjgHcCfa3uGerFR56T9se0ysmlBrONiYTokVZ3vKFp6
 m9ZceaPiE94RtHsVVkDa+F2KWeGU1As8gskVBP8MycodYb8XgLQuSmVhbiBNaWxh
 bmV6IE1lbG8gPGptZWxvQGZyZWVic2RicmFzaWwuY29tLmJyPohgBBMRAgAgBQJE
 CLUqAhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQ04qrg6pRFL/NCgCgg1C8
 cFGpWahx1wgZ8IQxsmCSUV0An2YnP/Q4w10WTe6qp+I+H7c7k900tCVKZWFuIE1p
 bGFuZXogTWVsbyA8am1lbG9ARnJlZUJTRC5vcmc+iGAEExECACAFAkQxmpoCGwMG
 CwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRDTiquDqlEUv6McAKDC5MusdUU0kl9T
 /ymavKEu9a349wCfXWEu9GgVb0CCZ8Agx3BHHIuZNo65BA0ERAi2QBAQAPB4mj53
 L9vbS2WLCAPMMn4ZGDYGXbe1pB/mjRbZlTGnUYWE3NO1fLYXEaoilRsvcEKtbsWp
 Ynuk8Ou4DaNoVyX9I6I18rs5KMZBiLOvQZFYCBbJYSIn/nNycOqsTy6Nw9mz7mrw
 I6e6EhiYh/AQ+MI3zID3iYnbQlQFZo4gLMFTLKklpiV+DaPoDiEkQPGn+0mmLEIO
 pmCqiDTxCIrig7feExCXJa2+CXLj2OS+r6su38O7WJiGMq0i9nCeu+4NnezoKPwt
 +s5kVYAjOSzDRybWz0UDzi9M7Kxu9tFoxEQUikLDMdqSklPfRs95TEmpXIvksn3A
 lub2Vfum6/kdRNkxPPbUuyEvtzeCc87LB2cLpP2+EXcfHCe7MdrtowWleRqXymXa
 Lyun7uKk2etFpEIfAqCPC1Yd8Jf2coyVY/n+a6yotWzCtQ4vogO2dTTKmj17kkcW
 1CXZz4W73Jut9ixZmYL/zOJj61j+2S7K7VLfSNrP8H8SACH0oHxYP89BaqOSOO2N
 0DtvyhFfS0OsxAEBa/EgtCAZiON4nZdQGPyDvq2/uQ1SGxbykTCvgxElAQfyUh7x
 lctdQQ6f6MEEPHapdDwpnqX5TAcdY7v9eE+/DZNTeswUBc03qtqxee1II3K3+Rvl
 4R+DuGn/oPdgksnX0kX0wtHgclXRsZ6x+wEfAAMFD/9S7Z0ee7WeH4WwU9Mf9gSp
 3JGafoInoJZNSRsKAl4VFC8axivUGyUzJdTbADoRXDR6NfqJE94u+pP3vx4AAvVH
 cvzfGj10GlUOwQGbQxaYGgYtqVgQ6MKeS6A3xaj63WgBFtx8bbt3e9XTnjPto2ZC
 U/pM3lmwsvxHoJGgisRvEfdQeWW2cJlxcBfpqat1/2MFBK60Wd0WAr0x6A3m5xpy
 ejftkcUa08BT4LSiGAsmuNKtUYULA9OrbvJreUa90lrM+6sZy2Edh/kulNmXgS4Q
 Y+OVptuhHSgBeME+j/fM5+p3Uyyaa45xmCFxnx5u/XBWhzMiPvi/m+qYkXPECFLx
 CiZ4OC7Xso79UeMmYq+CTDMWR6pe6iGVQZhRH69ShA+c545Eic/RoOv4ra8se7/U
 R5BU29AWWtapMq50/h321Oi+JmmfJHrte9Kd6RdyahuvtlWb7bgnKPwzpaRXYtbt
 H9SskRTdESK14AwH2eUVAP66Dfr5xBoyuS2g9MkRxxhjHWmMi4TAyh47VgXUxOPF
 Uh1eFsIqVa1scXFaimmicdnbg7N5iVoqIIiuc2Q5P1xIuTUdxw1SjXOInmjAszO7
 Ckad599/WaNFS/pkDOgt8yfQaLOKCqVuKkimWa8YuZkm0g/aY1n1cE7TvNpxdrS+
 dw6TU3idxbY/DuNsWfHfrYhJBBgRAgAJBQJECLZAAhsMAAoJENOKq4OqURS/QrYA
 oIelyoPYInm4v6UTBo3XhOwNkHWbAJ0XXqE5J3Zv8FCqjQsJTFCmmNSoGg==
 =CyrL
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.169. Kenneth D. Merry <ken@FreeBSD.org>

 pub  1024D/54C745B5 2000-05-15 Kenneth D. Merry <ken@FreeBSD.org>
      Key fingerprint = D25E EBC5 F17A 9E52 84B4  BF14 9248 F0DA 54C7 45B5
 uid                            Kenneth D. Merry <ken@kdm.org>
 sub  2048g/89D0F797 2000-05-15

 pub  1024R/2FA0A505 1995-10-30 Kenneth D. Merry <ken@plutotech.com>
      Key fingerprint = FD FA 85 85 95 C4 8E E8  98 1A CA 18 56 F0 00 1F

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 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
 sGDiYyJDVnPYxZcEN0h06w==
 =CRmh
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.170. Dirk Meyer <dinoex@FreeBSD.org>

 pub  1024R/331CDA5D 1995-06-04 Dirk Meyer <dinoex@FreeBSD.org>
      Key fingerprint = 44 16 EC 0A D3 3A 4F 28  8A 8A 47 93 F1 CF 2F 12
 uid                            Dirk Meyer <dirk.meyer@dinoex.sub.org>
 uid                            Dirk Meyer <dirk.meyer@guug.de>

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 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
 =b0g6
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.171. Yoshiro Sanpei MIHIRA <sanpei@FreeBSD.org>

 pub  1024R/391C5D69 1996-11-21 sanpei@SEAPLE.ICC.NE.JP
      Key fingerprint = EC 04 30 24 B0 6C 1E 63  5F 5D 25 59 3E 83 64 51
 uid                            MIHIRA Yoshiro <sanpei@sanpei.org>
 uid                            Yoshiro MIHIRA <sanpei@FreeBSD.org>
 uid                            MIHIRA Yoshiro <sanpei@yy.cs.keio.ac.jp>
 uid                            MIHIRA Yoshiro <sanpei@cc.keio.ac.jp>
 uid                            MIHIRA Yoshiro <sanpei@educ.cc.keio.ac.jp>
 uid                            MIHIRA Yoshiro <sanpei@st.keio.ac.jp>

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 mQCNAzKTzO0AAAEEAMVsAcUX89qHkwlI03RlAYBqQa00TFmgPwZs8sWvNUqTGtlK
 kOXcN9WNBvwzMYtEk/u5C1HukqISnFkDW7ZKYm+Um1sQPioFHTwDC6R2HRDZBCV7
 0fROlQpb479iBlr8wNAYDhOs0rl25FpE/uAXYThW9Ik/apgXN4rTGxk5HF1pAAUR
 tCJNSUhJUkEgWW9zaGlybyA8c2FucGVpQHNhbnBlaS5vcmc+iQCVAwUQNu4ch4rT
 Gxk5HF1pAQHYiQP+IoxOpfpSPg8Gr7MUtoU3WZPY/5IuKoOwnFNFcSyuhrgn/OOB
 pbxkYjTO3MLh7Xa+9sPigevHy/sNA4vVZdjk05sjRfAZxIWPrinRy/kzva0KOY69
 u1QfX+Vx2mfq/EfMJMHP/Am0H71nOfAZsscKlb/jmuo1TxIpCUx+wWmNn5+0I1lv
 c2hpcm8gTUlISVJBIDxzYW5wZWlARnJlZUJTRC5vcmc+iQCVAwUQOY7IlorTGxk5
 HF1pAQGQBgP+MXSjPfcnNhNfUmeLu8sM63DnrFIfRP9E+n/yhZT0wO51r2LmF4ZX
 YI04IJCywJiPjEpCFXNAhqDfypkTXWcbLTxX6gE5GNqii5iq+z+UuO4panpJO5OY
 4H0/90cH6I/zl93EZN9wfZJghn66vgL4tDTgILdRPekIOB23JQIXsf60KE1JSElS
 QSBZb3NoaXJvIDxzYW5wZWlAeXkuY3Mua2Vpby5hYy5qcD6JAJUDBRAyk8ztitMb
 GTkcXWkBAf3zA/9sDB0n/UlsH9hzaw4r2k0FT9F7Ixtk2i/vqmHDUUcrlEqGaeko
 /3Q+et2KzepX981mI7N2jdClqJgjlHapGoIQWZL3Jy7ocgCXDTYwGU2cFRF7kzkz
 h3FyYotm6bMi5F53GamkVbYZfogLo1MW7jmqIydJNdT1oseDbrwkjvXwdLQlTUlI
 SVJBIFlvc2hpcm8gPHNhbnBlaUBjYy5rZWlvLmFjLmpwPokAlQMFEDKUUFiK0xsZ
 ORxdaQEBjuIEALtVC6fjyDiRnZ3ReckdTO7k83VUTZiQH+2cMFNd8gi+O2sZ3YnW
 6veQI45VB3oHD9kzMjol3B1ld7iKcQzHC6qUEviW+mTRRN2Y26DB704FNeUrqm1A
 LO8NPL6iNKFvUNsu3T0ZRY7oX9a9nMmcD7M2bm6jxrhckS8hY7x1D0xftCpNSUhJ
 UkEgWW9zaGlybyA8c2FucGVpQGVkdWMuY2Mua2Vpby5hYy5qcD6JAJUDBRAylFA5
 itMbGTkcXWkBARgCA/0RBudh/8z/HWdX0GC0m3I0zIAOiGfmnJMPkzLryXuOQsbE
 dg28b193QnwTz6/ASF6PLJkivcd1vREXCz3C+jHz6OGs5jUKcSf5c0ZaIE4T21Hq
 LPKHSj0cYxgiC0auwY46m/yfO8I0bdiM6Ki3fSBTlTmDlNhWxOQ4Ic2RamKNNrQl
 TUlISVJBIFlvc2hpcm8gPHNhbnBlaUBzdC5rZWlvLmFjLmpwPokAlQMFEDKUTtSK
 0xsZORxdaQEBjWYD/i3EOU8lEoje9jTBHfQaps9BQgviFSaHk0G41emKszLSLnGQ
 BeMGZTyWda6sTSqeLKg56HEmmVGzC/nHlhwspC6bdYaBmOpnSmmzxVstcYq8oiXI
 mlfFEcL5DJEau1VTBP56Fk4GCffaibCTRGYrQcJz4yLfATjYsni5Y8zXqhWItBdz
 YW5wZWlAU0VBUExFLklDQy5ORS5KUIkAlQMFEDrvMx2K0xsZORxdaQEBTgAD/jO7
 tb78V3muNw+rfD8tA+yWXw8IdC4QHCa+Ga6Uwf9nw0WD+fuuz0I2La4iaC3FPtTs
 1hz1QlmrztffL3tfsePDeN59nz89m+WPW/Cu+mLY2Eim2Hm6AWKVvtxtndunOSls
 xQLr0uhvNN5BOzEqv2V+l0MrwadPxUrHG0izqmGJ
 =cmvD
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.172. Marcel Moolenaar <marcel@FreeBSD.org>

 pub  1024D/61EE89F6 2002-02-09 Marcel Moolenaar <marcel@xcllnt.net>
      Key fingerprint = 68BB E2B7 49AA FF69 CA3A  DF71 A605 A52D 61EE 89F6
 sub  1024g/6EAAB456 2002-02-09

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 mQGiBDxk42sRBACyzSSCLYA90zaZoMlg4zhMXhciG/YuiBZ005q0s9W9cuFFxwOM
 0mLFbBHQKj5TG5TNswnf9VreRg8lRPCzgQ63atc10RU2tfa88hIjWZ4G4WEFDeXS
 hlj4dIA6KO93UEoJmIyR7hswisb086mK4dM9hq9FxJT7YQ63PkUYmd+pfwCgjX/y
 xM6+aPj0sXuOvAcVVmrnp8UD/2pEd8kxAKIaWmxOm9aGB0/E6vjZWxCk1+CO7tgG
 4gInFYUnqniPB4JOXOWriwBGPx5IqWYwYpgeuoi/KeE/Wn7bRUEeCbBGEmJkHO9l
 3xJuPX8JKDkGuTNDvR3SINKSzx7gb77eGorwxV7e4FXBeXOyXLxgDqDhh7Sjv5/4
 ikr2A/99b5t1akHlNe1ITpuEETDNRcfu38/KW/nF3p1IKQ4Q+exSlEJzPFupYNoZ
 O7uD3A0YCNf3jIY52ufkZXqhqfsp6aRLetbqDcKVrZWSudAzGAEk3Q85a6Ei4mUB
 tfv4dmXQOLzfAFHezhCQIt5LIPJ5Dmz/a26+u0DmlfisgP5ltbQkTWFyY2VsIE1v
 b2xlbmFhciA8bWFyY2VsQHhjbGxudC5uZXQ+iFcEExECABcFAjxk42sFCwcKAwQD
 FQMCAxYCAQIXgAAKCRCmBaUtYe6J9pN3AJ982m/rtLgyiuHl1IM+/xfsZ460SACb
 BM7V955SU4T2b+1FW1ieOuuZEKC5AQ0EPGTjbBAEAKbxUKuiOJsAQnGKTXtbyRdR
 Y6BZQK9tPNXEIjIUZ94Crs9lVq/P3kyvpR/ziL+Yt3agUAELiX+cggUZ5KRzKBmo
 PJ6ZdWOuKLRN2+PfK1QVOQayeZV11XZAsPwyHI2v/hvjJnFvQNTEXWLZsBNnfTdx
 0zi5RBNhf5Gt1hyuT4cvAAMFA/9xKQ7aKkvi+C7KafwH6B5X6lIQxRbTQuaZaqKL
 M8pDmVLqo3er7S1ullwMWfarQLHtlwirX9IOQN833TCDev9QeeYZZ5g2MpWO5nx4
 kxEOAK6Lg+QBg4RcoLK9CpHUpLoChGQzNaDudztUixwVaaigj21O4PXFr9pmLLZk
 vj7AN4hGBBgRAgAGBQI8ZONsAAoJEKYFpS1h7on2XgAAnj0B9B7g4XPMXjizKVNP
 YLC2BYjgAJ4tZI/tGYxHex5RCeFv/fG4wN593g==
 =R/4a
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.173. Kris Moore <kmoore@FreeBSD.org>

 pub   1024D/6294612C 2009-05-26
       Key fingerprint = 8B70 9876 346F 1F97 5687  6950 4C92 D789 6294 612C
 uid                  Kris Moore <kmoore@freebsd.org>
 sub   2048g/A7FFE8FB 2009-05-26

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEob9xURBACHaqCbAqwyIXO0HHHCAVYPqVkhhr2FIS+yTvVJnCQa6G1KIasT
 LKGK0Z/Ae+suMsQoT9e1Pw/zhErm++aRSYqdTzyuMUjEDXtgsfp27rdQZRNiWDwz
 2/gd1nSEWYAKqUh5i0iJ89tkiL3JJx7/FD1+Nfp2sk318usUshT9/T+L6wCgmRvG
 A61Yo0rszOQexAwZ6PqE9fUD/3tGobQB17xQIca/AwUDyR2cw1lGs3S2ZN2G5xAT
 QL+h30wplhrrIO3lkyZQ7p71ZTPiAf5b5eTrXWrXVtO2Um3+wU04yhBVcmO9DeO/
 F6SLVzJLCRyTSNUSZNmWrl1EOFWooNnfBI4Emjke46g89hIbhYlS+qRL+qN0ugpR
 SnfmA/9d/UiazKlhp3fX9EwYRQmOC4WXDxuWS91I7kH0xsbHR/BHFJbUHDr0shsB
 lNRmfxwaZjiC6oHsJE0Du6FcSncYSfAChLrt+fqGvNgXf4hDIjsUtu2d5sxgoarv
 EvaSwfh/gelNuTnsgQll26LaeYjgmJgwf4Hb7I62UkkPuU5LMrQfS3JpcyBNb29y
 ZSA8a21vb3JlQGZyZWVic2Qub3JnPohgBBMRAgAgBQJKG/cVAhsDBgsJCAcDAgQV
 AggDBBYCAwECHgECF4AACgkQTJLXiWKUYSypOQCcCQagomGK/P/P4OedoFUDw5ZY
 2qIAnjRRTC0mRqUbIjaf/FWNuU2qtbiMuQINBEob9xUQCAD/zeiP1+Ru7ffCZwZo
 QTPjuYvm/PnAeeL2fBqN/Q367UuqR6RlqV03lo5nFxD1phheP0BmH6b0qyMh2dxi
 /6nq32g9b0Wb8s93pqYimxtujpNnWmZhwparaUm9tPyIGRdJ6wj8G43gOwyjDdwi
 GBPDAdSAqVZI0m+l59F5lsPiYJDGSkYENjLd6T7aAd0JzDjd0YLTx1+WLir6OrLG
 p1j81rBRCGRNipN7tGB0/pEB/mutU8GlDTTFaD1cWT4X3RGGP9MOH1UuS4wZXzJX
 8duq+4fKlpKEPOyJ9R51D25a9V71Dybdx/5mo+Bsec8T5+N0f4hK6utrnJvSQTes
 vinLAAMGB/wNS78TRKqFdjz83F/LB42srwFqDCKz03Pns6Fzespha8zWKOTiNOk7
 2WuXl6qWXhZ1aSithGzoWX3Xm6m0m3ZYk9wE+rDqT7Z3/T0tKiHmwG5z3QpuLOnp
 LGuBH/ra2gbyC+Ycj/faYXOz6Chf0e67bNRru9OGf289Q/EVcm39DinYBK1jrHcq
 xZ+b8jxtOWygo2D0SIS/hl4ljMDMaj/J8itwJXj0OyuoJ1IZkW32L4RN3jIXTUgn
 pGyhtw3wO4V5nhdj+YgvhP2VW1K2SVW1SqExlYdvB+HigKV5oHzTNluILcJgs4BY
 ntHqlJQ57QKxWImxvFZmS9MBaf69Tb68iEkEGBECAAkFAkob9xUCGwwACgkQTJLX
 iWKUYSziLQCeOWM0aLs+/NIGsNo/Lc2N4YTQ4pUAn0rL6J3fe3flPx5pBoj/SSto
 jjB9
 =yaw0
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.174. Dmitry Morozovsky <marck@FreeBSD.org>

 pub   1024D/6B691B03 2001-07-20
       Key fingerprint = 39AC E336 F03D C0F8 5305  B725 85D4 5045 6B69 1B03
 uid                  Dmitry Morozovsky <marck@rinet.ru>
 uid                  Dmitry Morozovsky <marck@FreeBSD.org>
 sub   2048g/44D656F8 2001-07-20

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =M8uk
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.175. Thomas Mo:stl <tmm@FreeBSD.org>

 pub  1024D/419C776C 2000-11-28 Thomas Moestl <tmm@FreeBSD.org>
      Key fingerprint = 1C97 A604 2BD0 E492 51D0  9C0F 1FE6 4F1D 419C 776C
 uid                            Thomas Moestl <tmoestl@gmx.net>
 uid                            Thomas Moestl <t.moestl@tu-bs.de>
 sub  2048g/ECE63CE6 2000-11-28

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 mQGiBDoj/ekRBACnO84k2i5lLHZKscyV8tjQSkkr26hasdbc/uyV7HTiPhMUjEAz
 Pamk+bDmy/Ls8k0SJ1l0vILBBd31G5VYtKonIrgp4vZ9gV0fBdCyFDXb8bh11Pk3
 pEZiG9vJevq40OPvsThLKHCLNhZ5zLPp6gd0IHwRJ0LU94pouFXd33MzrwCg4gTJ
 K00Dw0w1hFtUsq6WjNC+1B8D/2WiEuzBMnO6gz0p/eJ1eZ7mvrBXLQZ0u5vJ3eg2
 CCPrtS1ZITq3ICPDN6biEiMgtRmlYn/VYvDQqxwNE0X2yMfB/9sdah45zma9EeVn
 Iy8meaCFDLhm4aIYc1foUuz3WbCNlJFY5xYPXCMXLkC65xdybHKng5TXh6NOOWf3
 PfCWBACPMotTRKttAuw5YcZE5VDrSXPYHu/jm2CpIVmrac7+kDj9pGH9sB7BdUxw
 vczqtAT0jk7MrT+u3FH9wBtEFTXl7ksGTmDOFWJgYn3ZOEaVaX/OqD89UNhrOA2v
 ZOaaoKMYxK/pszPdr1Ghd6BQCmYKtLBlFYiTDRM5UMVHTqN7VrQfVGhvbWFzIE1v
 ZXN0bCA8dG1vZXN0bEBnbXgubmV0PohXBBMRAgAXBQI6I/3pBQsHCgMEAxUDAgMW
 AgECF4AACgkQH+ZPHUGcd2xMLwCfdEkPZVBgEmYnlyOKfyTSslMhud0AoKDKZNXA
 huNslb4KF8yKWBNRwfPStCFUaG9tYXMgTW9lc3RsIDx0Lm1vZXN0bEB0dS1icy5k
 ZT6IVwQTEQIAFwUCOo01FgULBwoDBAMVAwIDFgIBAheAAAoJEB/mTx1BnHdsOfMA
 n1xd4f7iAe6id42DLg4W3fibsCwsAJ0cT2lf08RhHkT+zLVoubyIDoY6ILQfVGhv
 bWFzIE1vZXN0bCA8dG1tQEZyZWVCU0Qub3JnPohXBBMRAgAXBQI6pO9pBQsHCgME
 AxUDAgMWAgECF4AACgkQH+ZPHUGcd2z+7gCdF5fq/lebn3/gp40O8xP/J0XFbiIA
 oKJP186L04qpSNamc/qG3gs7h3DGuQINBDoj/wkQCACl8M8ObSTJaOY4SgoQkKgB
 CkJJP5ScUpfYV9w3dxKL/77cyfghfYsnAWuA9yXJcjA0F+u+jRf8gS7OaHD9H9Mm
 pMGq54Aa0KUQaDbL/Jzf5zrKS/RASHzl1vYXuZB1OIzPfeAIx9u3UaziVEGXJha3
 1KgTur+TU+F94ZFTi8uApq2VoNT6sFi/V2x79bxlLFr9M9yD/0+kMZKovWRODy6T
 gWJzzcdd//dkvKp22tNf6C2wq8Bu60cWR81+awgG2otgZjCPUs2Bwhqa5opeUqGn
 J+f+PXo6+m2UF21m1vLARENuumu6SXf3XqGIUiQbT6jCdJORzwaxeCiMfu0qNnUX
 AAQLB/9u9gZN0N0r21ZjM6ZRmDC/REouCdYHEj49+f9g/xLXCfacpWVcrK9lIrcg
 hxRE2mQ/nlQLeHroC3Dp1AfThKSPFX3PRD/9CcRu480imT84ljf+6vonAZ20Edm5
 vVO+UoJMZQ2G+rWRRf4bDfwFoyDw3DsNmUL4yH8m2RpTxXn0pQtD2riJD8CBCXEP
 K95TYT4MomJ7Szg7O5/QLngfw0q6QdKRm1vEIP7r6t+UbVNp9+5g9qvz4aqm3beY
 pw1QCDHcqpDITnlTxTdV2SgNpF8JPg7joaOa36AxWwRzfLFyzyw/JGQE8RwJa8BN
 iTu0IrKuiF1biRxqiYO887GBA/8QiEYEGBECAAYFAjoj/wkACgkQH+ZPHUGcd2xN
 TACgkS0AGqqd2nLtWhpbE72tD660tv8AoI24cRkUa2op32mti5zfLLMsM4AZ
 =76WN
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.176. Alexander Motin <mav@FreeBSD.org>

 pub   1024D/0577BACA 2007-04-20 [expires: 2012-04-18]
       Key fingerprint = 0E84 B263 E97D 3E48 161B  98A2 D240 A09E 0577 BACA
 uid                  Alexander Motin <mav@freebsd.org>
 uid                  Alexander Motin <mav@mavhome.dp.ua>
 uid                  Alexander Motin <mav@alkar.net>
 sub   2048g/4D59D1C2 2007-04-20 [expires: 2012-04-18]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEYouBIRBACKCnll/QyL7oh1g8bNwX4mX4QDz26jOjGW624VOCOb0jarxzV/
 s8NF5V7ddCLMbf8wqA2QqeyrNm+e0FdsLbxVAN6NtF6hRCK0Uwc438toERXBLq5j
 Ss6Ofc3n9KBdTbUDfTp3t9Tda1oajF7JqembMz6cIWXmcU5P+7a5b48KCwCg6dhG
 X2f8H0s3WZkFi4gDXkUOMMUD/AxfkpYNv3CMGZx/6XVAlNltOoNRG2j41tn1Bhkz
 3xgPueod38HbXewTESMVm1qPW3IdNLCrVXg8/TxeUw97h8d1Xa3wfX2DEDfUSCWp
 IyH+gAchvZxJebdf8UpGtXMrJPzVznMHmChs8pavhnZfqtJ2tplFEf18HLbvzU8r
 0GpGA/4hNHGvKtts3CTV7XoQlQrWqhl9okjAUarLjrf2iCVsUhyE3UpXmp0il5bq
 mhfVv5b4FHUkrSipOsJmVSLgoc0muL9G0BNvLkMi3/vUi/6TOjANYOCnUF324cKv
 9o7ojNylp6eTh79wx80tHt99ZgNh1butSlQAQSTXk0aLLbOSqrQjQWxleGFuZGVy
 IE1vdGluIDxtYXZAbWF2aG9tZS5kcC51YT6IZgQTEQIAJgUCRii9JQIbIwUJCWYB
 gAYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJENJAoJ4Fd7rKBAsAnR3+WbuhVRDu
 7AVndqKop+Qwg68hAJ9W8/4LOHr2XjLT37RQyxPgtodbvrQfQWxleGFuZGVyIE1v
 dGluIDxtYXZAYWxrYXIubmV0PohmBBMRAgAmBQJGKL0GAhsjBQkJZgGABgsJCAcD
 AgQVAggDBBYCAwECHgECF4AACgkQ0kCgngV3uspZMgCfafiI8rCSzlLwyWRXCpyH
 smEYsgcAoMuqcyGJ9P1yzcddYw9SZUjkoj1dtCFBbGV4YW5kZXIgTW90aW4gPG1h
 dkBmcmVlYnNkLm9yZz6IaQQTEQIAKQIbIwUJCWYBgAYLCQgHAwIEFQIIAwQWAgMB
 Ah4BAheABQJGKL0sAhkBAAoJENJAoJ4Fd7rKJFoAoNe3pxIgHjKb+mjocFUrzkAn
 O5pkAKClil44JNQKWePpy+xNRNG8ko5487kCDQRGKLgSEAgA8Y2EXU8EbnSyZ5AL
 RyHn7axmxr7p2qzEkDI8EidMlJOxfyCj7b3t+5QbIbieb/pnDMGuXPc+7lcK7Owf
 pu9DTvWPdLRjvXNFJbuRH5mXVUdHS3j7GnAqqgb8ydTbUrKRwY2BijJaU8imXibc
 +ujXgO/ZVrvYpiXtZx38cwfoIDA+LFpQlLBUUkV7GRpBYcrkrVEGMrLBAPht+l71
 Y/IBMht4z5VBFMxJ13TogMseOKKDrRVsxmMqbBjr/S23pVZqpjQYGwkNo96+JxeD
 pQGlbbbRftiuObXEZsk4yGp56jXTieZLUlq9L1ELkzHIjPhNoeudx/tdtgZPSwsp
 I6M7SwADBQgA2eUilFtIbEsAizp1Jd88J+2Z/dZ3M0LK7rqZuBVQdeJZbpYBfL9v
 +JEbjw1e8HV2goYtwkVgfP3tJX/xqzmwIZxd3wLLzDucPrtmQJfDDcD3fDBVvCeZ
 Z+EjaGp8/rIE/h0LCk9XXHjK+JOZaKt8tsCtkpp5nbAMaPRBrCm9sGB9Oyt0rrU2
 /ryvMIf4W602iKDka5oUl1fhNP7R2lnkLRK8OPEPdboVxOrzzdBB8XN67B3kzDRt
 +nBHqFZNn6GafIYpvoJS1jqAskug2IjmEUIxDxEuD2EhIiayLAuwmGnR8d3iPVcJ
 /KF/URy/Y7PBtkE2amogd725uRTxXOXAA4hPBBgRAgAPBQJGKLgSAhsMBQkJZgGA
 AAoJENJAoJ4Fd7rKMlYAoNZbw8I7WBascnxVyObkqE5rLKxJAJ46TGlVlvBS+PXT
 L4EaOMcBYbTvTg==
 =ZML6
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.177. Rich Murphey <rich@FreeBSD.org>

 pub  1024R/583443A9 1995-03-31 Rich Murphey <rich@lamprey.utmb.edu>
      Key fingerprint = AF A0 60 C4 84 D6 0C 73  D1 EF C0 E9 9D 21 DB E4

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 mQCNAy97V+MAAAEEALiNM3FCwm3qrCe81E20UOSlNclOWfZHNAyOyj1ahHeINvo1
 FBF2Gd5Lbj0y8SLMno5yJ6P4F4r+x3jwHZrzAIwMs/lxDXRtB0VeVWnlj6a3Rezs
 wbfaTeSVyh5JohEcKdoYiMG5wjATOwK/NAwIPthB1RzRjnEeer3HI3ZYNEOpAAUR
 tCRSaWNoIE11cnBoZXkgPHJpY2hAbGFtcHJleS51dG1iLmVkdT6JAJUDBRAve15W
 vccjdlg0Q6kBAZTZBACcNd/LiVnMFURPrO4pVRn1sVQeokVX7izeWQ7siE31Iy7g
 Sb97WRLEYDi686osaGfsuKNA87Rm+q5F+jxeUV4w4szoqp60gGvCbD0KCB2hWraP
 /2s2qdVAxhfcoTin/Qp1ZWvXxFF7imGA/IjYIfB42VkaRYu6BwLEm3YAGfGcSw==
 =QoiM
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.178. Akinori MUSHA <knu@FreeBSD.org>

 pub  1024D/9FD9E1EE 2000-03-21 Akinori MUSHA <knu@and.or.jp>
      Key fingerprint = 081D 099C 1705 861D 4B70  B04A 920B EFC7 9FD9 E1EE
 uid                            Akinori MUSHA <knu@FreeBSD.org>
 uid                            Akinori MUSHA <knu@idaemons.org>
 uid                            Akinori MUSHA <knu@ruby-lang.org>
 sub  1024g/71BA9D45 2000-03-21

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 mQGiBDjXWqERBACDCxgN9+yMfpm3yvkYp+P4Uw6xxPdcZ9RvnTRkBX9zXaRgSPmM
 zeZ63LpB99uVphVZrv/EdlyTf+cRdz6VXXRcTBloA/FsyY86IluBnWCH054WyXzr
 7az5WB9yDbPnlwcSL919bq0UqTuQUlQswdQAoDQG5LNNZNa0T01ydYtNlwCg3weS
 I/nEJrGCXGy2wrjg8LiwQ28D/Re2JHQPTYqDEZl6wj5U83wT55ChnTrjPRbGmr/C
 UdJP6CZQg6+DXYGYulcp3oL4btcdFDRFglJzmQNkUYmqiVC20SMVKUctrOCAI60P
 7VE40UtXz9EounPSRQQ1lSdMNeRwrZ9o7IcrSj0EBw8lw3d2WxyM2Rs2crZWfOI2
 mu8dA/9LbmAw5sLk5Lo5i41nAWP76pyuGxSia6zMRdML6ynoC5kmyrI9TwW5LNU/
 Lsq1Ru2XSA+CwSBpTt0vdwS88dDwPGxRuUHhWVpa1M5t7K7uYODB1cD5AyNoNnR/
 lHpxfPZOJNdA3OPgfssN9K+PIuhbBU5xONCoAcdC9TEqSezfUrQfQWtpbm9yaSBN
 VVNIQSA8a251QEZyZWVCU0Qub3JnPohWBBMRAgAWBQI411qhBAsKBAMDFQMCAxYC
 AQIXgAAKCRCSC+/Hn9nh7n1bAJ4vkEQX0JkcYgltt0Vv5qkS3bGqNgCguxfhuEzZ
 vBzpAW9/XdstjA/DSPS0HUFraW5vcmkgTVVTSEEgPGtudUBhbmQub3IuanA+iFYE
 ExECABYFAjnly3oECwoEAwMVAwIDFgIBAheAAAoJEJIL78ef2eHu7RoAoKn5Lw0y
 C+/lju5+pV0WI5dmxTzxAKDJRtsRSTBcJ7ohvzztxZqyjfSK+bQgQWtpbm9yaSBN
 VVNIQSA8a251QGlkYWVtb25zLm9yZz6IVgQTEQIAFgUCOZGiowQLCgQDAxUDAgMW
 AgECF4AACgkQkgvvx5/Z4e4t+ACgnr8RmYw81/oC7MKS2CSoFb9cg6sAnjKay6ho
 14iMG+YcFNbjxwGvSE9EtCFBa2lub3JpIE1VU0hBIDxrbnVAcnVieS1sYW5nLm9y
 Zz6IVgQTEQIAFgUCOeXLZwQLCgQDAxUDAgMWAgECF4AACgkQkgvvx5/Z4e5+zQCf
 Z/09J5FOgAqw3UrTTAzR6QWicG0AoJdlBcdUltEO4WV+q3FRlw4RVnA8uQENBDjX
 WqwQBAC09OxAmKbGn9FETdMA/5abvOY7JgNcFhQutEVnJ90mF/npBucWkCRbOr83
 t+NB0h5Te+lV/c+mjPyOemfWdAK4R9zQsat+ZqATv4Vgiy0UbJ/5TPfSraNK+QkX
 nxcDrhpcJXZhX6VYzbWdRSn8xSZzPT19qq0BFafz9UhZKXnLDwAEDQP/dpZe0jWw
 rED/Kbyr8CDoEKuun/5gPi5xmNz9iJlyvcsdOgok7yen0HHWgdaZAGX3GzjpB5gA
 aISX/kK66s+NeM1XQ7YXpcI8naf0jPa6N3SNWjLf3xPxLbMk0SyaGnrnSQNikk/H
 Bk2Nqyn0kcEaaBbdfrgkuuQWPnBDrq2EdOOIRgQYEQIABgUCONdarAAKCRCSC+/H
 n9nh7oxxAKC+gMyhZmSZdTvT3a2Y0RDOx5kRLACeP3JEvGZAZuo1sJeEw504+jr8
 1Xo=
 =M+Al
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.179. Masafumi NAKANE <max@FreeBSD.org>

 pub  1024D/CE356B59 2000-02-19 Masafumi NAKANE <max@wide.ad.jp>
      Key fingerprint = EB40 BCAB 4CE5 0764 9942  378C 9596 159E CE35 6B59
 uid                            Masafumi NAKANE <max@FreeBSD.org>
 uid                            Masafumi NAKANE <max@accessibility.org>
 uid                            Masafumi NAKANE <kd5pdi@qsl.net>
 sub  1024g/FA9BD48B 2000-02-19

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.2.2 (FreeBSD)

 mQGiBDiuMYURBACEgL3d4mL0pojugj8TZFEQef+MKkXB3lazrqV2ahgWqt6K24qr
 5fZrGkI8vxmYR4VkI1eLfe0Q4LoBZifL5nJYEvMvWPmdLuYjp4iwjgBdzLnwr59+
 k8+T/fohGDOqx45voCdq68Jmxg283zFGQ4FChMP3ZMlOPmFRIp01C84xxwCguNFG
 BVPeuM0y7JH0ucRygUqc4acD/jfe/UEjGBWxOCfZYOnXEp4NXWis3xRyUDO3cuoG
 8M8MEmg0dX0onFuNU5yrEBFtzPw2GO6DMM8h5hJXdSWkiyusn05PGk/jVSP9/MD5
 TYyqKL1tG/fKUgtevZSi7o1x/N0bgIBqmzd30Cqx29p7juVV+SBcKCRT1qloz6fc
 a5B6A/wJD5n3HOAStsWpZ6To/Apdb4A3PD4+ePfQxSICsHCFg/M04FkrG48So2qc
 7dSq6UH3xLsoiRIUonwCQsT+PaQQMrZNKjfal9xlEFfw1TV/squ+oNE8E24Lkzxt
 8Kkn86Ec5uiUlRulSMG9HJuWM+9Qu7TF76FWP8llVp6ELkYCGrQhTWFzYWZ1bWkg
 TkFLQU5FIDxtYXhARnJlZUJTRC5vcmc+iFcEExECABcFAjv4RDQFCwcKAwQDFQMC
 AxYCAQIXgAAKCRCVlhWezjVrWUEIAKCgwVSawCg1Lzrbf8uZdMAfeOWFXQCcD7EF
 tsdhbEV62AOUeQQWPr9de1O0J01hc2FmdW1pIE5BS0FORSA8bWF4QGFjY2Vzc2li
 aWxpdHkub3JnPohXBBMRAgAXBQI7+ERfBQsHCgMEAxUDAgMWAgECF4AACgkQlZYV
 ns41a1lUuwCgsIhWJdtPBebkV6w+NQ/8jlkJgrwAnj9lZkiTAgl1E/vcF7yPbY7f
 HlHetCBNYXNhZnVtaSBOQUtBTkUgPGtkNXBkaUBxc2wubmV0PohXBBMRAgAXBQI7
 +ESBBQsHCgMEAxUDAgMWAgECF4AACgkQlZYVns41a1nv1ACggYgtKhaprmMs30oz
 yoC0NatFJ44AoI0XSPh2G9zHEjF8AyYAe6sVCLqvtCBNYXNhZnVtaSBOQUtBTkUg
 PG1heEB3aWRlLmFkLmpwPohXBBMRAgAXBQI7+EljBQsHCgMEAxUDAgMWAgECF4AA
 CgkQlZYVns41a1lYRwCcC8l4PdrwHKNrZlTW6vod6kYgR3YAni8iLUZW5Se6nTH9
 WuN0XYPpZRG5uQENBDiuMdYQBADVzBBn5+1UQVCLS51y6eCD3TidT/uJAr+eeiWZ
 IbTmXrltNm5rGs7OT9QYNLhCFFPYKJxa9hFbrGpgserEFnqBfxcbMLa/wyIm9m/l
 MI+NNCAU4IpgDWtgjf1kjzwnJPwH69YzcqS2jlEKIjkCrEa/Bpr1Nvo4aLvqlTR8
 tJh+1wAECwP/YBMEMx/zgTvS3Jtji6nPceRe8icGRHb4SD7MVF/WxYu5VK7wlmuw
 9I9WXnHyYaL4c6Q49FAvwhkppByqJFL0txyJ8+nNa6H5mit8m6dcsCMG3NzyvxBP
 082h/MWbJn3Xdg89lp4UG3UP8sV1oWyIchd8rqxFk/EVB7fVQWNz/gKIRgQYEQIA
 BgUCOK4x1gAKCRCVlhWezjVrWUlcAJ467I5lFNlkwcENe5vND+DPaWyreQCfddOu
 6Va2/bf7Ln4TKyl17uRro7Y=
 =VmY5
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.180. Maho Nakata <maho@FreeBSD.org>

 pub   1024D/F28B4069 2009-02-09
       Key fingerprint = 3FE4 99A9 6F41 8161 4F5F  240C 8615 A60C F28B 4069
 uid                  Maho NAKATA (NAKATA's FreeBSD.org alias) <maho@FreeBSD.org>
 sub   2048g/6B49098E 2009-02-09

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEmPtPkRBADEcSQQGME+Df6I9jnjUBNMxvX8aMAH0+SKJEn0xTZvu9WLQmJv
 Bx1Hh6AN8fD7OONFBYGsDAxbbgFnwxc/KPBctXHUxoTE3lRTFRwYJJKIKvrDhFjr
 qDWwLJ9TsUn/pDsBflPFe57okBlPgSywTLGLuurOaT7oda6Z2K0FOiALVwCgn/b2
 7R19gm0uKjzsEPejafW6lZMD+wQK4qETffrdqRoVRnzzpTa+xa60kQxxsIeibffy
 dovqH7HIWeqiqDwls17zmbMc7auNliyN7VJ1bQ2C5SkojMUqgEsVle/8gfe0cWhS
 2jJ8A3Xg+/IzYwj+TtlWqUkzx/b1Ck8v/9aRmLtTNo9OdC8H9Nu1onF3Cp0WqsiN
 gwNHA/4+8w5D5gouNWfuYkkzoQQ2jIFJ4zhe0GCb2MIrqKrf0N40NOcYFLi4eJ8F
 W1DAdQbQjfMMlYAknm7MBpnsagTqjS9MniPVygYUUre/xMx0tszvWdGdRSjEY/5U
 AXoCevBci0meKTm5ZSDb2RPOLezF/zOV82IY3T+OKXTHcLSeubQ7TWFobyBOQUtB
 VEEgKE5BS0FUQSdzIEZyZWVCU0Qub3JnIGFsaWFzKSA8bWFob0BGcmVlQlNELm9y
 Zz6IYAQTEQIAIAUCSY+0+QIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEIYV
 pgzyi0Bpf4UAnjOqrSHlb4NdW+ulVFu3o8W1hbTKAJwIdn91S2W9V3ueKsbFqq62
 8dPYsbkCDQRJj7T5EAgAuaHr5IuEXaxoUcoZryGZweRs+G2Oh+jsMIvMABVGMZJ1
 iov7vSypm1EF6/cO3O+rn+Zcpuf4XKPP3TK1oKWLIYRgdkvTWwzVc/PGWRHdr6/S
 fo1B8/jr9tWW50p+s+KZoMPV/Rdz84AN8bNZVAMxNWXooYrGMxMvEDg3rX8KZW57
 25KF+GlYYBoIXxatMYGlZKz2lcaeD7Mf9EFs9jtpyZ2lhlXjWu3NZBdf4ClzWt/C
 uQI2mM2oEX6oZEDCgWvGoIPKzMruI/lAPi8I4Q9A3fH7azEz/BHW6yqLcXfmUrMe
 jsGTS/ovpV/dyxqNzsVpt203ZBxSSkSjOOMO4OzBOwADBQf+LVc888G6GxeCJGxp
 X+uACx6ziuaGO2AIvfUWN2KlDEpiCHwKf1L4FBE6mKm2l9ZloNyisnL8nvC/lmes
 whiTQkiVgB014EDhR7IoljZQJwpJqWC6HCwED08In2O/fI4JX3XiPbUzYSmQSpd0
 tMMBVBwkB3m8SnTaF7cnYrZVGL2oCrBxfbYYhxDtxmGnD3q1/me7dixUJLbEHSmj
 wXvORtzMuADmNuz3RkkEKrtHXgqtqYluZwb3VNlRa9T/MxMYMfMA9V8IYw4gQkM0
 xEM4UOUuweNyXRUSyuvcLQJthhWiw+Yfi9ATzdbnbwh1rwwVOoIhcM4QHBgPhnir
 vrn/k4hJBBgRAgAJBQJJj7T5AhsMAAoJEIYVpgzyi0BpqXQAnjkUgOmypg8bF5kd
 ZDVC/M0s8sUfAJwIJuJHTepRSP6qVkZKiXF5TRMt2A==
 =Rtch
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.181. Yoichi NAKAYAMA <yoichi@FreeBSD.org>

 pub  1024D/E0788E46 2000-12-28 Yoichi NAKAYAMA <yoichi@assist.media.nagoya-u.ac.jp>
      Key fingerprint = 1550 2662 46B3 096C 0460  BC03 800D 0C8A E078 8E46
 uid                            Yoichi NAKAYAMA <yoichi@eken.phys.nagoya-u.ac.jp>
 uid                            Yoichi NAKAYAMA <yoichi@FreeBSD.org>
 sub  1024g/B987A394 2000-12-28

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (GNU/Linux)
 Comment: KUHASIKU WA http://www.gnupg.org/ WO GORANKUDASAI

 mQGiBDpK8uIRBACY5SwFQXiqzDlO1k/syoFoiFIFl/Dp+QmwK2oovIvlBVo/1gbx
 EhXrKRrfC67KSxxdUsgN290v/VVTmq8Opy1/RF+RAdxM3JrUfkcm5+IBWbSUfXFP
 i8OXBVgh7wNENVtwwD52F+0CFIWZXkClaif4DGkf38V6LJ6hBIycxuNDQwCggXTT
 Kj5SP2hFC0ueyQtPDoJEgbED/0bPL9R08io82IQqksOR9IUy0OdFJkLVWLnollEY
 LGjXa/AHgE8L8oWU/2eF1WM4JrtVRdcKe0Ja2e9LuH6IonGAdwqUeeAOwA/RdGj3
 63EglH5ugv4rZZKWZ3/piuNXvtq0bhAfl6zBHi5iUB4bgPVoVJGn3VyykPWxdqfX
 sT5+A/wIml11cFMogN3RXy/2Y3JRWeBtUCfdoRjeQPgK8++krm2Pr/AtHgcqNSjI
 W0slX4cLou2TEhV3BHb/4npsdaY0BzYgL7V1YggCv0Pu1s2D53Nzi30V66SRP0BZ
 OlNTA88WdMfoF3ttb04swSenG9X8dbpyYEdlvxNbbKKbUiBORbQxWW9pY2hpIE5B
 S0FZQU1BIDx5b2ljaGlAZWtlbi5waHlzLm5hZ295YS11LmFjLmpwPohXBBMRAgAX
 BQI6SvLiBQsHCgMEAxUDAgMWAgECF4AACgkQgA0MiuB4jkZz3wCeIi857V2zyRA7
 gRVsx+DcoCLeC3YAn2G3gFd+v14iZHXrPaqpd1gSjjayiEYEEhECAAYFAj2pty0A
 CgkQFwU5DuZsm7CchQCfdD/itI8d/uhmH9A0upJYYoYS46YAoOAfpFKvAGe/vBpw
 dy40SxBG/qELtCRZb2ljaGkgTkFLQVlBTUEgPHlvaWNoaUBGcmVlQlNELm9yZz6I
 VwQTEQIAFwUCPai4HwULBwoDBAMVAwIDFgIBAheAAAoJEIANDIrgeI5GKx0An1kh
 KzDAfR7Fzba/V7DHq2BRLcRQAJ9nZFgBncerxFMYAanwJruIYtPnJYhGBBIRAgAG
 BQI9qbcxAAoJEBcFOQ7mbJuwe4kAn1E2VVFpLajGFYgipCmMgpxRXPmxAKCUa/ee
 BEW5LPNf8xhaeIGlAtPZm7Q0WW9pY2hpIE5BS0FZQU1BIDx5b2ljaGlAYXNzaXN0
 Lm1lZGlhLm5hZ295YS11LmFjLmpwPohXBBMRAgAXBQI9qLhMBQsHCgMEAxUDAgMW
 AgECF4AACgkQgA0MiuB4jkYrnQCfUgkHO/ioUTHeBtYJHGeL9qthlnMAnikYzk6K
 gDV8cHI/ETcNoh542Q6piEYEEhECAAYFAj2ptzEACgkQFwU5DuZsm7A/JgCgvX8u
 hjU7WPofTfM2d11+j+ywHm4AnRS8iRNMqbP9+crcNzCRSQ7OZFqluQENBDpK8vEQ
 BAClmz0m/wuG01nst/7X+riyNgZ3j3oRurb9Fg2pb7wkci6nlhzCHTcFNCZiY1nS
 Vp+/3tRkC7HQPz3zhYo3ieCf12NUweJ8jhbZubp1fYY9ubKoj12I+LXTfZf3kA5G
 UD/n1nkAqxH2yP3eVz1BpKUc+Lz+5USiDo+XfrvfxQcZHwADBQP9GejakrIdVKcA
 /4UTWnMh8HK2b7tDLwLKyJg/8lagBkIAH5tPpCXi1qXuvHe+T9SjbdwW/lyxSARV
 FAz1ejp4QEWsAGQ/pchjb+S+iYvNq0VfzkZPqFFllLMaQc9mo6blgGgSEqLNpba6
 gDmVTJZ5jAhVxFBhRPwchSdPP3ewVRWIRgQYEQIABgUCOkry8QAKCRCADQyK4HiO
 RpwtAJ0alZHYWdBCXaPF9G9HCl/T40wzJQCdF5K4aEEsIG1P0WmNjbY4PEAVndc=
 =NZ/b
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.182. Edward Tomasz Napierala <trasz@FreeBSD.org>

 pub   1024D/8E53F00E 2007-04-13
       Key fingerprint = DD8F 91B0 12D9 6237 42D9  DBE1 AFC8 CDE9 8E53 F00E
 uid                  Edward Tomasz Napierala <trasz@FreeBSD.org>
 sub   2048g/7C1F5D67 2007-04-13

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEYfTV8RBADcVRh6fWX1XI43cTrdJBctCOxf9jZ6eedmhajkpMRhg7b0JPPL
 cYL6H1x1xqKbXtKxWE+BzQfdDJNJhwjQIwaXityWHihnkw5XBCRMuCGrUuaW/pPQ
 31EX1Am9d8k+ckUK8tPMNuWM8+ZYjXTJppLg20pIPBRwvmRR/hrHDhMvbwCglDGC
 ZfTHYkv36MFnkPHJH4iaQIkEAKoy+bcyOiJK0iuAx5KeF3CxP53Nd4sbsHKcbibP
 OsWJKKUHPlVTts6bUvM6RH+zUHOeWpXmgNvZTsvmoLU/E0I80BN5ngdOwV7oqeAk
 V03iltsBGIeBv5B0xxYDyQBuo52LV5CGZ7F65o1jGF8LWfZbtPh02gTmhYymmLeV
 QryDA/0WbmKavL5Dh7L4Ugz1JVIC6miD399IsLV+XewJjcaXnnngIplz0ZjK9hHx
 kuG4w3pi450z6gMTmpY1IPC7R158j/fLhygYLhB0sffXaGs50nizBlBoZNR/RZRJ
 7Ik1Q1E4dV5kVhgqBs6qPCfAdVMKGTWpM3xF2uyFT5xbuVPxIbQrRWR3YXJkIFRv
 bWFzeiBOYXBpZXJhbGEgPHRyYXN6QEZyZWVCU0Qub3JnPohgBBMRAgAgBQJGH01f
 AhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQr8jN6Y5T8A7L7wCfa7dxDhHm
 WYOcaZ3PiBCxbMyMeW4An2regIquPmK4ZyrJkfXGd7BmmgGKuQINBEYfTV8QCACv
 /cPnRLjvnYJdozvbzoBqC4m2sAmBClDV9cRtIGXu//ULZ0CnDmEByfp7W2Aqlm4a
 +WnDBlbKaP4td0uwvly3m2hNH3DS/7/aBaDYhPUeetmIP3GZrelGlQHqe1ldJuwD
 KEiR0ANagAikuSiO8Fv76YY2dFmUSWh6mNd6+/F6hYahByJbDXrsYNSMI7BtpH/C
 fPaSew66982uu86IGIZPREfKSYouLuuHPUwrGRbcwyeIL5y/0i6Eyxi3JuPHCYSa
 a0jX5VQ8Gn3P3SukTdK+rWaJQMlzjbdaZknB/GeRDEc6ND3eqdmQa/PdnkGVwHeI
 S17IutKHDCsxDqSJgak7AAMGCACJtwmr70SqnOxtHugDB0G4tAEN+poeol9zfEnE
 A1nZImvDNLUoX11YZRLHCc9nz2V7HIzTacNL8ue5DenmtSs72S3zHM/DnIhXjx8r
 hBFrSW/DdJB80LLcC/NhRcl3U6sof4nzYuipkgr7evAeoZqWpHiYcuag0ZRRH5Jv
 4Yh3R8zFYAg2NSKs2Q3CCX4c0vs1boZ1f2x4QQhxTpsDkjJxGPJ8OEAR7W5BjDOY
 KZBL9+02bzJKnOcbrtRkbylGZAQCxX9DoZDGHSCqaUBZMJZzWauW6xcwd4s91pMQ
 MVG1u5WHvZlOEo1Cg3Y9QSyehMKkcLwyuBj2zP+ijlkIBuFhiEkEGBECAAkFAkYf
 TV8CGwwACgkQr8jN6Y5T8A6VnwCfZdSh5TaDbb0wjcyUkVYAWZIo4n0AoJOfSvnF
 MeOHsJ51PEblZGwvjW0k
 =hc/r
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.183. Alexander Nedotsukov <bland@FreeBSD.org>

 pub  1024D/D004116C 2003-08-14 Alexander Nedotsukov <bland@FreeBSD.org>
      Key fingerprint = 35E2 5020 55FC 2071 4ADD  1A4A 86B6 8A5D D004 116C
 sub  1024g/1CCA8D46 2003-08-14

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBD87tOARBACkfv0/19ar/kUNsj2vL+APjo/cx0A0bubEmaPhwNuLOjtafdNm
 /pUULYi28lDVDxQJ8UM1voqrCcue+finCyy+k2L0nR37tlUA4t/+GH4gq4y2xL7S
 o/D5DqHDA0cTDAIQCbdD/rj3Z7nJw2Vkn3tAwZ6NUXV7OdLS+csbpJIjmwCg0HB1
 tzahpgegUe5XauCly+NXNMMD/3UcnNA7kBKSZMcuOVq7TkqYYvQZPoroK3yYcAZL
 Yo4WoPEyjtlD/ZpZVysQiSMxLXRHjsEbMAMZL7Tx/Sav01XUiBHBGDHXaWWVdqmg
 efxtBeoG7MZxAAXBLfcSeV0bjkd9oGWW/inHrl0NgEljZQqo1kbIEb5asooyT18v
 vZgjA/9l8xZdOlSJv7Ct+VGrfMStMmpBCn7IRSjeJRq2pNe0pbJtzXAnAwyrB62X
 gF6n7ONKdLk/WPihRdfrc4BZnNIWZU0q5P11rOENQEnToprAOYebhmS6cY0lx0SR
 M00HVTTgzsNVWDy9h+uOobicBSHPh2La7KGnFRtMb6pZFg5Y2LQoQWxleGFuZGVy
 IE5lZG90c3Vrb3YgPGJsYW5kQEZyZWVCU0Qub3JnPohbBBMRAgAbBQI/O7TgBgsJ
 CAcDAgMVAgMDFgIBAh4BAheAAAoJEIa2il3QBBFsAUoAoIGf7gn1DPL+Miw3/2W1
 YdJPT3TjAJ9LOVjgV1mZks+FjRdl1IETcJ4fPLkBDQQ/O7TjEAQA9yIaEvU/Vbj0
 L1xFjIOGEyM5vFvn5xP2LibOI7hUH+cMDaWkBgrSLqsI7k6P3HSTVWpkKUTl+vJe
 OJnIx1gFE/WJDPK5trnjzHQI9kWf6j8EREXCFuuvDy3QhuJiHTjB+I8IVYh+oiXl
 6SNo0ekvQd6KZlkPUXy8rczb8Y+A7GsAAwUD/iPYrIWC4xSX8kL6HFjaE2fS42EW
 iyfyb7slFSE2xtRf+xZyBa2Mu5XQsg+vJcSBsjrxpYdd+OuyTLuYRsYvuLZnB65H
 tTli1/ous2J56useJyeik9wJfFyZBlOtmw1QFLxELly+XgKiyGRNkTrws+smyFjC
 GWwhlhc40r824oWPiEYEGBECAAYFAj87tOMACgkQhraKXdAEEWySXACgwFVr9ZgH
 TYnmgWGXAmQWvJV+xAQAn2HlGDmOpuTDzfO5PvXOOWnFjvIt
 =bcPN
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.184. Simon L. Nielsen <simon@FreeBSD.org>

 pub   1024D/FF7490AB 2007-01-14
       Key fingerprint = 4E92 BA8D E45E 85E2 0380  B264 049C 7480 FF74 90AB
 uid                  Simon L. Nielsen <simon@FreeBSD.org>
 uid                  Simon L. Nielsen <simon@nitro.dk>
 sub   2048g/E3F5A76E 2007-01-14

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEWqLYARBADUgEaHYK73qi4nXVO1DfcVKqzWZw0lDYXv3mVQO74Y41hP7QV4
 IyvRuuWmKK0vm+ibh4WQTRGhqeSr+tDrgUIqs/tavDVx27DdBeOi5fQwFiyM0s3B
 1o3VOzfmW3nOEAEEfAd/zQJVrz0GG6ao22zFSVRHEpJle8QD/HTsZ5sWIwCgiYNX
 Ok6oK9IdCky3kl0xwE/wkpMD/jKoZaj2/rc7t8ZtwBf9mQFECou+SsM5YFFMx2JV
 nHShx/6z/d1PWu59fnPOP/t+QkqBa4ds5msot4wJFqsFwuTmtCYySsK8j9yBbh6B
 KH2Iyjwnr3IFU2PopIxzscuGT4EKbLes925X6tjCfx+r4uGIVSJ6Xzu+9jGXK0KI
 TZshBADIuS+wneCYZ1Wnc/cwaG3SMXaVTOkThQS+l66o3BfXX77TN0HbjB+/CmP/
 lWjcUv4tTYfmI5kQg4pRA7rSEsMBwec19CIy+mf9QD1HDVNGex1tGdGNz7oaOvwm
 oT2nug8mCt+77q4ESQOmfHzLjIQqKh9D8zX08atp7EVhHw2sH7QhU2ltb24gTC4g
 TmllbHNlbiA8c2ltb25Abml0cm8uZGs+iGAEExECACAFAkWqLeQCGwMGCwkIBwMC
 BBUCCAMEFgIDAQIeAQIXgAAKCRAEnHSA/3SQqxOqAJ9qfsJx+6hT6qXy9k0Hkuto
 pyh+lgCfS+cAvWkzwcTlZwmj7xnVMqex1T2IRgQQEQIABgUCRao0HgAKCRAV1ogE
 ymzfsoOMAJ4qsIQaHkhYT6FB06o9Hjd0JElbzACgkPVfATTcp5dDhiry+UMCPxfl
 4Wu0JFNpbW9uIEwuIE5pZWxzZW4gPHNpbW9uQEZyZWVCU0Qub3JnPohjBBMRAgAj
 AhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AFAkWqMP8CGQEACgkQBJx0gP90kKtq
 rwCfc6UlwvCI+OQ8PV4Y7xVVNK8ZWLsAnjAOOQET1C1XacStkK9icK7u/n/fiEYE
 EBECAAYFAkWqNBwACgkQFdaIBMps37LD1wCgmeJUFusBpliqQMpOYaP3KL9/HDIA
 oJox4FwHo8yhvqG7ww92FMeknNCxuQINBEWqLa0QCADNQVSiZOL9KwsEGkCLtUGQ
 l7hmf9iuis/GxokTE/9aPYiCKx29wjo4b4pURS/gHdNGU70KNfqli96Q1zlS9CGY
 KhQoce0ZDOxpO/6ZZzaOtLw5x2/8M45BDJU45STx54+F/7Lt3hZMNMlNvjZGF/W7
 f5vcsPHqGAyFjDkjuL8QQqhsbaPsCTlqngFYh8/4F06+cd4GM85xGu/LM9M91TP6
 9ulvz4H/5TiUNvDjt1e82soRhwY9bwHxq7b6s3Q4Wgwo9l2Y2oW4T+TVpcCvgu2D
 vUSXo4U1ygPFl/CQ2Mz5IEp7e0aanzOU5FhMeEoAkJewRq5747noEcnygiPUuoOT
 AAMFB/9KyjWpXwovVjmNITIB1JPuZSO7NLhA10SpeFz0YXJVIiteQcHnUHOUn+7i
 tO8XbOg79a2Pz/5tLuX8YqNQQjODFKpFnFymlFr+aPpzEJPoXWHG1FkcM7rjmLpy
 gj6eokmEdQdr5CflY+IkJMNC0DxDfhsI17fQVAsaScWgnmSgfCNYT7uPFw8K8omH
 WawyIlZuAKa+l1Q03IFt0oDLqLrcMK7DnSJvSkyM7WcH+3ObsMaCXVziD9LOlW5B
 M3mZyXS3Z5A8/menv1lRYm7kxCt17HEmhxnHM5waqFyK0y++X86lNpwmBQZgzTN0
 2bCE2wlPqyT1LCVu4s9RAyET4hy6iEkEGBECAAkFAkWqLa0CGwwACgkQBJx0gP90
 kKt1pACfS9WAfr2P8Vx/ps3WYdd8QYumnQsAnAwoaIe1d968x4FIKOewpptF/JdB
 =ggBj
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.185. Robert Noland <rnoland@FreeBSD.org>

 pub   1024D/8A9F44E3 2007-07-24
       Key fingerprint = 107A 0C87 E9D0 E581 677B  2A28 3384 EB43 8A9F 44E3
 uid                  Robert C. Noland III <rnoland@FreeBSD.org>
 uid                  Robert C. Noland III (Personal Key) <rnoland@2hip.net>
 sub   2048g/76C3CF00 2007-07-24

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEamZvMRBACgUM3B+Z/7yw5DtYP+4jNaSvvJBNPtLbHeCcXzAytD/Le3Tx/g
 /joJFJZS92agbQSt6p9SPnw1xguQ2YMdBQ5LFbE5ZgrXnDX9JUWjhyjTPKRbkFPx
 5G+JkTG9I75/ZVq6AhcOjXwsq/mkANhu87uOPRO2Uf/e01o3CplYIjRVPwCgiqwz
 wycuIxPvmWX3ao5gkV5iUgMD/2cVqZQ/uareIN2HF559LZkfjGdBA7U4H1cOD7hr
 pK27HTNcSAMpHP368AY5nSEUezQ8iOArCxx2xYMIvyxeaQ5wFgQ0kuwb21JieUdm
 6+cQ3uynJMSVVic5T4qoyC3mpu00VNBpCLJIk2zLk8CPDPQot6yB41622xXXHaix
 1efSA/9oJBP+6Ffdrni7hxAEgP2uG/lXQ/oG67UljMC1LFkiV0irE9O6G5UXFEVE
 FOQfXmXqLRoIjWaqDLdfADerSl6jeva70UfbiGfxHHkbltMZi2v3Xd6H2wmZKcSl
 RDYhdvNIhNDXfGAoaYneHN+JWYPDYebG5MyN1QyU5+kB7n7grrQ2Um9iZXJ0IEMu
 IE5vbGFuZCBJSUkgKFBlcnNvbmFsIEtleSkgPHJub2xhbmRAMmhpcC5uZXQ+iGAE
 ExECACAFAkamZvMCGyMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRAzhOtDip9E
 47ceAKCI+rqu84IxKD8Rb+a1hL/+NqHotACeIg6ZGwFCNA2OOUchxF3hXvJ+mfqI
 RgQQEQIABgUCRqZ50wAKCRACwq9DxPQf7Ay9AJ9xShA298xcySmevKvX8sWC3LQ4
 iwCfbsQ7+AB2L4j25YgHK9CjF6f8s2K0KlJvYmVydCBDLiBOb2xhbmQgSUlJIDxy
 bm9sYW5kQEZyZWVCU0Qub3JnPohgBBMRAgAgBQJIhOEYAhsjBgsJCAcDAgQVAggD
 BBYCAwECHgECF4AACgkQM4TrQ4qfROOE6QCcC085r5aDgvzVDPvrZU+pSitB+BgA
 niwufou7zDg3AJGyf1MeuuFaZ1r9uQINBEamZvMQCACOvnyHYPRaWC7fFfrdqGxj
 C5ZnjHjYTg4vIUgVmPE096H+WflesmgOZ8bQH6J+3Pzpf+l6HimYtF+gMvDLIz0I
 HD1K2z75Ne6WlPKh8Is4lty1+knbOIDLqCSgFWcU1hAkj+Yr//oqUTlJ9qIrghoj
 L4w7QdMHGb7jMMLL/VHg+MXnQliD/UFAk9oF+/UbTfQwsanJXaydby0yjmXecyMo
 X20orSA/UKJe59Rc7sGOHf7uFoVByqsWQ/yesRmVsjxMNFGNMz1ekKFKHop7xcAj
 8DLYnrvdilD3MuC28USAZjSa2b84+oQJADQL1r+wT1bqWCEUvaIqf64b3Tpt8bIf
 AAMFB/9J9pOfPljyE3D0jy2azVr41mK7FG32FBpz4S1SIeq8DAz9OI+XuCoXd2Ol
 FA6oSepyBxG1Cz2dzhkobE3COPzwS6jRzPdsmZtkJ1Lp/t7w0FSMlOYqNkdD9OCb
 OxraGoL4PfoPgCsH80dY/On7e8COQs6rRPTOmx+FGqkdEaNXVyF8A7EoIUNi881j
 Cn82QjfR4pwFJ4KNeJRt+kBVE2j//VmsqlMcc1xBPzSwcO2YaURhF90qB9ql+bZx
 ENkoYgqdbkQwcPugdKJm4GzaX7OhdGprjH/E7Yj7fFmXhE2VsyQ8heGjKrRHgy/g
 4mTYKTTJnYHSXO+MThJ6JPwcgHxUiEkEGBECAAkFAkamZvMCGwwACgkQM4TrQ4qf
 ROMFAgCfYpxRT6ReISfiSqGLMBQndCh2ol0Anie8hp/BanOvY2jOiUUcfvyhIqrZ
 =bQIC
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.186. Anders Nordby <anders@FreeBSD.org>

 pub  1024D/00835956 2000-08-13 Anders Nordby <anders@fix.no>
      Key fingerprint = 1E0F C53C D8DF 6A8F EAAD  19C5 D12A BC9F 0083 5956
 uid                            Anders Nordby <anders@FreeBSD.org>
 sub  2048g/4B160901 2000-08-13

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 mQGiBDmXNAsRBAD0WcmPy11DRvDsEpadBPCATmPrvAImfj5XjcxBAJlBJoc9fiq4
 8OcnipVdId6STdVKvB3K3h9aNsb75+rD/W3nMi8MumjyXJoHAf8d68cnjppizcPd
 uQPOy76lkbiyV9OYBtaNQqmU8hE8MTr5Kew9NBCoC4SB4NX8kVh8iglrZwCg8J4F
 ltBYDz+Z5ZGoh54fnYN6IAED/jO7ISCvWbFtnzCw1FOghcgueqrWoy0OYKq8ZfuO
 m046fuIlHcswJOKLLexTajsYAC0WWe9H3SvKvv1etexMh5SsrgWTsSuIvlPfG4oj
 D5vIYqvH5NiqJdh9qiFEzGsv44jgESDVy9qaErbXRVe9htuRZqbtEPnB5cRRwTr1
 WhfuBADW1VLXj3UGw4OeBBd5KPIYXCx7RKS4nfrlBCqMcIaiD+K42U+7PXEJB8uM
 2sJ6uRYs0j4tTLBbDC2TC1QfT5NIVLG5wWkIh+jL7PODH+i4LF8n0pQyuLwJOFAx
 s6RIHNPB2fdI5sqB9lMIBszlb896wVJf9PPWFAt/5Aekw7eTLbQiQW5kZXJzIE5v
 cmRieSA8YW5kZXJzQEZyZWVCU0Qub3JnPohXBBMRAgAXBQI76xZsBQsHCgMEAxUD
 AgMWAgECF4AACgkQ0Sq8nwCDWVZnYgCg4fzk40pYLg3iNayO9dDNp4yHS/MAoLi/
 WCYhNOS0TMpap9SQXC/2e0MZtB1BbmRlcnMgTm9yZGJ5IDxhbmRlcnNAZml4Lm5v
 PohXBBMRAgAXBQI76xekBQsHCgMEAxUDAgMWAgECF4AACgkQ0Sq8nwCDWVaoNACd
 HR57Uuyyti+OqVr4zaVEIgg+bYwAoMcFR3xdqArQmp561541p+k1IBUWuQINBDmX
 NGsQCADRkDqg2uW9mn5YCXlzx9KlhAfPRny6kF4+B+ga0ZaIzJng2pY8EsAxKn88
 yH6ERs/PYdsy/AyksG8vzuc9CalW8JFEc+kvtJIL0HhBonlInaeUWHPixGEcOPcW
 ab8dPhW3zfEgOqquky21d8Zg+G3Z29tmKGcYKSQgt6W59z7vITK7+gv7tOGp2IpZ
 1kGqPZn+JqvB3n/uWo3rTxOGA/tduMwfESA5gHmEzKmU/17yIkE0SflKOp0VIGdl
 Fp1A1ULJDDVXjtDkxFvZ1I+WpqF7p9FCgy/OHUfUa0py3uHIEKMahqpAZ9e8D+GI
 nGizPR33ZY5PfM72ABXeGhFnweP/AAQNB/9HPBzxoJJFJNLyosSlI+Wkmh51K/nC
 EawQG6a+tgL6cPHgJQkgthPUywkI+2g7SUSurgPz0hRCPg2PjHP3PwVhjKzUgfAj
 y9eVnu+JSpst/a0Y5LEQdNnwG+Y+Cs0q9xj4T1VXw8B9fA3y1wS1a13zCQjfLrZP
 ziIGjHIBvpOFrSU3ML1rRaVfQpm2wQXsGHzjkaZq7HQy2EOVLzik34XkPBY1DrnY
 nSEwSurfjTrKTLNYsN53xCGwJ2w2347qXr04j87XhRmGCJQ/Nrrin4z4LQ/zNm5Z
 bErlts8PAfR13kqP7rx/H1n5obhpOoXUqb4Rm94c0r/s9JRah9ppgADRiEYEGBEC
 AAYFAjmXNGsACgkQ0Sq8nwCDWVbTvwCcCG0X50Tq7V4NeGgREttltmR7UlYAoOgK
 1OFsIdCCq6JjrwvfN7ry3pwc
 =clge
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.187. Michael Nottebrock <lofi@FreeBSD.org>

 pub  1024D/6B2974B0 2002-06-06 Michael Nottebrock <michaelnottebrock@gmx.net>
      Key fingerprint = 1079 3C72 0726 F300 B8EC  60F9 5E17 3AF1 6B29 74B0
 uid                            Michael Nottebrock <lofi@freebsd.org>
 uid                            Michael Nottebrock <lofi@tigress.com>
 uid                            Michael Nottebrock <lofi@lofi.dyndns.org>
 uid                            Michael Nottebrock <michaelnottebrock@web.de>
 uid                            Michael Nottebrock <michaelnottebrock@meitner.wh.uni-dortmund.de>
 sub  1024g/EF652E04 2002-06-06 [expires: 2004-06-15]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 isNkDxI+R1w=
 =LE25
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.188. David O'Brien <obrien@FreeBSD.org>

 pub  1024R/34F9F9D5 1995-04-23 David E. O'Brien <defunct - obrien@Sea.Legent.com>
      Key fingerprint = B7 4D 3E E9 11 39 5F A3  90 76 5D 69 58 D9 98 7A
 uid                            David E. O'Brien <obrien@NUXI.com>
 uid                            deobrien@ucdavis.edu
 uid                            David E. O'Brien <whois Do38>
 uid                            David E. O'Brien <obrien@FreeBSD.org>
 uid                            David E. O'Brien <dobrien@seas.gwu.edu>
 uid                            David E. O'Brien <obrien@cs.ucdavis.edu>
 uid                            David E. O'Brien <defunct - obrien@media.sra.com>
 uid                            David E. O'Brien <obrien@elsewhere.roanoke.va.us>
 uid                            David E. O'Brien <obrien@Nuxi.com>

 pub  1024D/7F9A9BA2 1998-06-10 "David E. O'Brien" <obrien@cs.ucdavis.edu>
      Key fingerprint = 02FD 495F D03C 9AF2 5DB7  F496 6FC8 DABD 7F9A 9BA2
 uid                            "David E. O'Brien" <obrien@NUXI.com>
 uid                            "David E. O'Brien" <obrien@FreeBSD.org>
 sub  3072g/BA32C20D 1998-06-10

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 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
 wFQ+RbHSXThyO1HZCYdfSaaYVfrrLv5ooTBRHzP5DlSXk13nddBOE4g/AwUQOT3B
 NOMeMj1ArjBSEQKxUQCfY3XjdW3Yun2hWKmKaPpXDBKonz0An1Wr4nbjBvlsovrs
 eysWYs1ovDgKtCdEYXZpZCBFLiBPJ0JyaWVuIDxkb2JyaWVuQHNlYXMuZ3d1LmVk
 dT6JAJUDBRAw9rraP9k6yEHOCYkBAZjmA/9lczxVp0UjLAXM3jfErQv2dzpLDAiT
 QVp10pi+a8mAzPVCnmCfcNy4fQJbInAfe5FC8gxBe9DnsjLfHh5vlZzDHANpbq5P
 MLW5C2igBoAg0Im4RpevDhD664ZgYgB6HXHhPBSB3Gaarnpx+R6JpfDBolSg6Boi
 IN3q+kzftlTaDIkAlQMFEC+a5SFlYKmsNPn51QEB/tEEALKURfb7Y7metDHx5oV5
 LybWyV8cTJKINUllX8HDnz6zZQ7bMYlQ0qsqRqEIDMpMk1tojT+/HI4te21uW0T/
 FCemdm7leZM6g38Ne358L8jY/34iz0bIFeZjDzLoOKW5C8wtG/N88voiE0grVR3e
 iFEmtwWT5lRaV+DmKYQ4kXxAiQCVAwUQL6UVDceLqoSSZB6ZAQFokgP9G9xfWcKj
 CxbEr9TAEDsKIsNkKQKEFlfqGuAjSVWOBqEIyG0Wb1pZEQKHI379aEK9nVNSsQ5m
 Qk/E6JRvYENt9q5uJ9mp6+wPUVYt83YL7uv1YJJSy788tdr1esutgiAeLNmNMmOg
 Rw3vz8iKYJozmSyDSK/HwHS7zZ2Q9K5hpDCJAJUDBRAvoGvwym8rg/wMAtUBATFj
 A/9h8jSR5py9wPy6WkjsYQbml8B2fVjsLzoQbMI+b5IFYeDkRYLTnSLJKzuK8zHn
 1aFeXIhD0CRY5PC9jMAu84I59iE90x95uLPAH00rSJam2gEqPovRYcinADluivOT
 XGAn5qN9bKlmdsFNLMIFs/rohnIFab7wG3+t+i+8YYY2YIkAdQMFEC/kX5DT8j9C
 J2rqEQEBOFcDAKcdXpMcMjw+uSDwNc0pjOEYkfnpaW6MKnOo0qbwALmuSn/l21+J
 eypp1kr9VeWKn9tcUHucBHyTzswxeu21jI/KUUIRzuQsupgnop5LyNNrpDjxbQvN
 uiBIX+jAVQvxsbQoRGF2aWQgRS4gTydCcmllbiA8b2JyaWVuQGNzLnVjZGF2aXMu
 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
 lSVmAKDF3kyQAZDAyz+21MQJnmJ2O5dFJg==
 =cMCa
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.189. Philip Paeps <philip@FreeBSD.org>

 pub   4096R/C5D34D05 2006-10-22
       Key fingerprint = 356B AE02 4763 F739 2FA2  E438 2649 E628 C5D3 4D05
 uid                  Philip Paeps <philip@paeps.cx>
 uid                  Philip Paeps <philip@nixsys.be>
 uid                  Philip Paeps <philip@fosdem.org>
 uid                  Philip Paeps <philip@freebsd.org>
 uid                  Philip Paeps <philip@pub.telenet.be>
 sub   1024D/035EFC58 2006-10-22 [expires: 2008-10-21]
 sub   2048g/6E5FD7D6 2006-10-22 [expires: 2008-11-17]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 l8RtrT+2K2WI9QQQEQIAtQUCRT5aCIcUgAAAAAAQAG5zaWdub3Rlc0BncmVwLmJl
 Imh0dHA6Ly93d3cuZ3JlcC5iZS9ncGcvNDI2NzEwMTNGOTRBMEFCRUI0Q0U5QjZE
 M0RGQzJDNjJBRjc5RDI5RS8zNTZCQUUwMjQ3NjNGNzM5MkZBMkU0MzgyNjQ5RTYy
 OEM1RDM0RDA1LmFzYyImGmh0dHA6Ly93d3cuZ3JlcC5iZS9ncGcvY2VydC1wb2xp
 Y3ktdjIACgkQPfwsYq950p5ImQCeJo41Qrs93qfxYgL+GsMhmoV1phAAoKT2UTKH
 OaxnC4TDwXz67uxbP+0EiQEcBBABAgAGBQJFPLwpAAoJEILS9urEu56fXz0H/jGb
 lglqrcuH1KX12m3OTCWr8exda+NQ9fqaLd42xMHw8l0wEjq1hB14J+vVEQBLqcaP
 NA8YUT6rF5feQwZCSfvTIZtxIYiufXuLPnl8xmNGWMVMjqraSkg6eYlwAHYD//R5
 YgOXuY8byDKM2OyRYwAHSCDGGQyObdxlKBnBTiPskubLgTEKtluAiYRUPlLJOWC6
 TribgLa4o/+1P0fnb+qUOelSE063CX0toVfxZGUptMraSxm8M5AWnYkFHtqSN6/R
 f8zBkqM/R0cowKJOco1eSx2YQM3qrBVPLNBV5Eyf4w22M+5g83TpDocZJ438Vlcd
 Yz5JxFHPl8avzRi9eD2JARwEEAECAAYFAkVXTTYACgkQLtRdZmGgc+nvfggAlq4o
 amMXxVclsWrL0O/BSmqyu7cvONkT77IhAs6olFvHJDVjpMEafrXCe2NH3/OWbxZv
 8KK3into/X1ex55ht0vuhNax+hR/GUYY/MF+C+snZgWiyvYAmv7zQw4UQG3RB30A
 tODe6jPozNwzzVzGCNZ9w5G1HqIIFrYJJs+nLpvdIE9CPpoHVcZdZG3vx0QpIUob
 3DpihUnRje/ieIioIoD9e878g7KvkbOMqdCNrgrgEl7VvSqnoeWiJ5bpAm5lOAkJ
 eDE7vEtqSHhI6oE/UjiLVMb+qAbmnF7q2Apg2Wpg09tR6my2PJj38hwkla/MX9bt
 meG4gV8AM+MZ7LqnsIkBHAQQAQIABgUCReNH2QAKCRDo4GL2DcsEMV1/CACcggZE
 u0pl6VGj8O3MJITaRI8MPT+5n1pu7Hx4rH7dr9CX439eCP5SHRka9WGOVSSc4FAs
 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
 DMqZMRvgMohGBBMRAgAGBQJFV02UAAoJECHFCRYOSnh10uUAn2ezAN0+I3dUjkhd
 HZCAa5r75EPHAJ9Q7EBC1k8QaXJeD2+nZVHD8jDlzohGBBMRAgAGBQJFWZnQAAoJ
 EHu7RcYqQ9NMn1cAn16BP5LMMC9OXGm1PYJCOmsf3f5qAJ0bxM+TfSmz8eS4MRWQ
 eSUmidfHQ4hGBBMRAgAGBQJFZgjJAAoJEEIUTAYlN20+ESMAoKD3f3VAttEfuI1f
 YEkU7ucnP/LmAKCDNJaUcrhvO12AbT8dEKzLDJ3v4YhGBBMRAgAGBQJF40+5AAoJ
 EIwl7g8NwLfWYAsAoLq+OAImI6LTxtiUrrAki4E5vUj7AJsFMhAr8ag/ik/9ZASV
 qykQj24mXohGBBMRAgAGBQJF6t/bAAoJEEHcHJByRJcLlCoAn2JzVAARDE7hSzyd
 vtcOZrSaClzSAKCm6DTZAXYYd9Zlx3W5E/LK0gQJqohKBBARAgAKBQJFVLM6AwUD
 eAAKCRBfLIShPrYEbejZAJ4/cA1B4JmqR5g5jvooGSZvya8liACfbzZLKezZAFdp
 F2HfYJKjA6NVQraIjQQQEQIATQUCRfGDJUYUgAAAAAAOAC8gZmFsY29AbTR4Lm9y
 Z2h0dHA6Ly9mYWxjYWwubmV0L2dwZy8weDAyMUM1QkQyLTB4QzVEMzREMDUuYXNj
 AAoJEKd8S94CHFvSBbIAn0O9v7RMedOfOOm6MrjqrHfDgaNuAKCTv7WyO28RpxHP
 OwVelEHUa1E2ZYi8BBABAgAGBQJF776SAAoJEO2iHpS1ZXFvHjUE/2qc1qF9Vx2g
 hTH5JbSqCeIK+mSol74wRmRb5Ry2ZzUwcx3Qix+a8vCw0ktVIq9uydaGugakcpqz
 4v4hDj9z8id9D7ZyBTaVi56p8k1B4vkpdVa9+7DxOwsM7z1Y1ZFrGo8CaHzOarSD
 dIy9l5gYd9ShNqYJsYgV0/olO0P/smvm7QD9VDU20cU6cqfJB4vEqJQTpVyqQKsf
 BkNTT6Q1zdGI9QQQEQIAtQUCRT5aDIcUgAAAAAAQAG5zaWdub3Rlc0BncmVwLmJl
 Imh0dHA6Ly93d3cuZ3JlcC5iZS9ncGcvNDI2NzEwMTNGOTRBMEFCRUI0Q0U5QjZE
 M0RGQzJDNjJBRjc5RDI5RS8zNTZCQUUwMjQ3NjNGNzM5MkZBMkU0MzgyNjQ5RTYy
 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
 QNVW6YmIRgQTEQIABgUCRVdNlAAKCRAhxQkWDkp4dVawAJ0Qi/e/AJvrrZfbJsC3
 jkR1Kft/GQCfSzbVMAdXdQ4NQwQm3zVhfK0nnaCIRgQTEQIABgUCRVmZ0AAKCRB7
 u0XGKkPTTHYrAKDM7KsXxNKk1XcD/60H0heHtyOt7wCgpTxEoam8z77FBDVVnWHS
 +7wp1tWIRgQTEQIABgUCRWYIyQAKCRBCFEwGJTdtPtvGAKCcU+LVUPpFQyDEt13x
 WuGarKiCyACeLnBpN8ILgG0Ix3A4CPX13TUCMouIRgQTEQIABgUCReNPuQAKCRCM
 Je4PDcC31oLRAKCN4+UL+bNbezmMWYiN9/h1nfR5pQCgp1d/qP8QsaYBXgQ1I2ZZ
 RF6vnJeIRgQTEQIABgUCRerf2wAKCRBB3ByQckSXC7KiAJsG2V6/MAW2b0IJgVrs
 eZB7eDw4bwCgj7pvROowKRuixAqI8fOqKAE0la+ISgQQEQIACgUCRVSzOgMFA3gA
 CgkQXyyEoT62BG0z/wCfUz0NkUHdQFAByg0Z5ld5qsZXC1wAn01/a40+PqeYLNlp
 CSba9mD88sLNiI0EEBECAE0FAkXxgyVGFIAAAAAADgAvIGZhbGNvQG00eC5vcmdo
 dHRwOi8vZmFsY2FsLm5ldC9ncGcvMHgwMjFDNUJEMi0weEM1RDM0RDA1LmFzYwAK
 CRCnfEveAhxb0ozMAKCSkVIWJt4NxkHOwMeTL4nvTKLP3ACgiR7dwRhFOLF62UHK
 uOpm/P8/6eCI9QQQEQIAtQUCRT5aDIcUgAAAAAAQAG5zaWdub3Rlc0BncmVwLmJl
 Imh0dHA6Ly93d3cuZ3JlcC5iZS9ncGcvNDI2NzEwMTNGOTRBMEFCRUI0Q0U5QjZE
 M0RGQzJDNjJBRjc5RDI5RS8zNTZCQUUwMjQ3NjNGNzM5MkZBMkU0MzgyNjQ5RTYy
 OEM1RDM0RDA1LmFzYyImGmh0dHA6Ly93d3cuZ3JlcC5iZS9ncGcvY2VydC1wb2xp
 Y3ktdjIACgkQPfwsYq950p4mugCfVjyHTpSiCMDnkggcdLmJTFDNrUAAn0Cm6oc2
 yjPEcjt0FzuFxNwsmyfGiQEcBBABAgAGBQJFPLwsAAoJEILS9urEu56fudwH/0Uj
 WYWlAtAfg9OnKzCH5KnwNnNiuhCWrXJvXO5lx+VS1ypJKox+8fNMDrQ4txis2Szs
 ApMJZOnfPHiEqcfXQTIqcVFJSamAvmvRTFjGmYHC3exD7g07qpB3wh0C6T5DA1xS
 I/lz/E+Kbd6XRtWvnqBlHc9NCsqUs9hZOuMpc53dVxxHXsZVvyOBNWQJVhJnCxDa
 G42q14iB83LySY/RkFywsTvm+h/THsNDgS8XCWSc67q3JaOzYTcIdCUhMJKAe8Uu
 o3q30p3W3ioOpidXxppoZMr4XtPP87+Gcsz967QKwaiauLDyd8wl/4KqpH5ukODj
 A/LHGggrOfcen3bmz0+JARwEEAECAAYFAkVXTTwACgkQLtRdZmGgc+lshgf/U66C
 +Oog9mGt+ZPv3kFRCc6UbTV2WegZEorJpFmNdabDRomBckybige9rPIPgQIo/F5l
 58sK2WLpM+yHR8FmtGr5DBkO5J3uQE59utvVE270Mvf3HkrU2Zlo6kz9foNhEQzJ
 lzPN+HEopmxSQQltUmZZUQanIUwQbUqwS0aJgTqrhIWvsH36XpjERuxe3dwERhbF
 xuKFoDldwYirPifj1fGo6JQtYw6u0563cvhWzmSbp5MHRpryhxlNUJ482VevfoNH
 czon94CotYLK4q3Ht2DEE6WsiDbdw2SnWcPZItwwq4s6kyVOYYbmPyRZWfG4+BMF
 g212NTHn8uM8GTafvIkBHAQQAQIABgUCReNH2QAKCRDo4GL2DcsEMadlB/9Me2M6
 4+EQDhFZJgZedeJvzqgQdvvhH7VoQgo/kKWtXYno2SqJe//sWHf+qvP9s10yB6Ik
 SgsNWi3x5sttaqBi3Yn0J6R8C4dDWcRtjG+CPU2mDuj4ikYpZOlq1uABPLNC84fh
 lCuLXvv31n+JH+eIYCZMVfp5HRFyXDdX0osUoKwM8ldaYoV4FfkqUgbtqfRbPuy4
 bkBI1J+3haJZJ/GhOCFNNH/9c/R49eX0w1j6KgmGaLSohgXyaW4hGO+VDewMcsNS
 3dCPj+tPQeQEzHrwQIY3Kgbp1d0GipV/UxJpyRmH5WQBwGDz+VtH3DoGkmbZe8eG
 9EJAQ6i5CwnxjqaHiQIcBBABAgAGBQJFRK5MAAoJEFeTDasLhrBnU6YP/2GdaIVR
 kmW2srw5mnXt8AKSmQpq+GQnlV/7zLQ81uoPKiMIHwFa7RwNpoIrWRJ/LtzKlqwy
 93eFTTRxLp3oU3wuedV8PpQOKt/stctyfMCCeueXO2KQ2wUVBVvIGjKJSK8mWSc7
 Vv25Y6gwiP3DFqoDWN3WZJhnpW67M8WEO+ZUQIRKLtwgtKRdz2O8bQYKpZ6AHP70
 1QAKkqVlK+MtK6T3OdWR7IkoUieVs1PqdnnGC6WvwKZ6xCtjRRtbdSlcKCPlCEgP
 VaAT3m9YnmBexAkt9Nny/4/1H0FGhXFNi+GSrZKK5I9kUf6UZ253041gAmVbkkiH
 2JmdUnpA095cR2ZEmpZQ2JLHASbHxmbWLeDAljul21BbWy62psZBUt29oCqZ/4pp
 v7rnwVL1iZ+P1YDOjxXPd4RmUNLaakOxGfcGMMgaDVyQcaR/B+b0vAC0K5Nlfbk/
 p+28bahoWhSD90ynzebTWRQ1ZhGG5k9JBWa6e63J4xC8BHlLusqmboaAWV3rn/Ng
 KtN47Zt/MN6ZfPVaYMDrUO67Uh43t2GrCaiDa7qnFrZEJlVDcj26zzHG7CGpTjFF
 SVBqnYVyLWC1BS9qifkkaXQDCJ2reQyEt2BUIYk8goGCXxZWIE5VLdDaU/YyImhh
 fmR3Rrn2v0qQjFlFs3nr3uwuQeJllm0uATt1iQIcBBABAgAGBQJFRRrDAAoJEPJx
 4K5ucD2VDcUP+wV7mrkU+6FhrK0jZVSydUyrs3AtqRu/noyMI9PRBybIQGKgIBUl
 pYjF/+ZfVYrRpBgF3CIIQaGERBVELOJ2bqYdeZ79QWdkKDp6oNA2/1MoJ2r1QYoQ
 qD0FfesKgbm+scps7Ufawj0Iyyuv49xuGylM2Mm25Ep4ovyOXF2Z7EwR9mnD+iJO
 GX+ENp9Lj5FwtgKHupOXdaTwT2TGf7agYEGXXJkyFcQ2mly5eWAmHZf8ETKuCVn2
 0g0kdHL+bIhHBtqq1h1yBPb5IAOmBC0hJR46C7ZFdxL+JxS+gUuMJtl5M1T00Qoy
 zMpelKJBxMsF3eKqm51b+V7DZjJ8TLAqMFgp2FwFhJVVtRys6VbYnIbyYdeNuOz6
 umE325H3jdpPD09ijpNxBCaxencdocOVdDTYmT2dVe3sFfhE9/UgwXmxivBJXAky
 mbDHsJ7UyuQJLA0qIon0qIMiOXrn/laW0/siEvOC23DVMGv9qHkac0mtpgjyhSxf
 kWuifKrfFsYPgUUBxtQ1MysuLP80BHwfuJjIHyPZ645rC6PwWVwLK9Wp2PD1yq6x
 qPScC/AdaUWa3nnKH4c0pIsWDT5qYy2KOarl10c1dq4cCsAZ1z4qN9qah7b6D6aW
 9JX8gecpfKXreKQGAD0Vzno8cB3XG/PjKoV0Dfgh+aPMxRyWLrvymOijiQIcBBAB
 AgAGBQJF4sRDAAoJEFIiU8PXJzmBjxoP/2rCnGGcRsRoF/exd2MsZnoNse4xMK6u
 XkaJfxlW1Rd3q0Bs27E/gKcYjk7+d82JfG+4P2eaLjbZCYM+P67Md39UufmCcHJ2
 GjzUlpIP+3mSPDv7YG3dY9j3jjG/7DYV0DSeTksI0bjplNJ6+MJ/WKPfCWtSZeu7
 VL8XmsaVPMeQbrsMYPAkWUEhGHvN440bs7HSfBQUfzxxKF6jsp3SbA0YSLgesYMK
 DzLgqJK3gVnooNYQGbyCKSpgaWp5Q86uSetuMR+5tKIHEsiF33rB7B7ABXE8//PG
 CC4wrlLnT51gKowNY5W+sMkAGurkt/A0HU5gZiW1fqtr3xYQ+A/Yardp1H1a7fbH
 /zSAsv5l+816ArEhYkAXsqxLfYyLrSiPXe4HmYrm6Z2cEWXI3vkn14MF5JbkAAwv
 YlXugUfB7cvu+qTNqJKgrEvghgfoZKP58ZWlAyNiVTwVCkQbPlNjZLxQBYrBYflV
 HYRzTIZAZ5kczLyMt+/0mlUAnM0ZMZXtdY3/Tra+sxR9+4c7gZoBaT9qiWqKSLBd
 wElXkg6KaRvSfAPZzNuTys5ZgMIeW+W99sHpeg1APjCzRH/mVP/RBMJrQZ8NHTnF
 URxskzvlp14wKDx4vGLuA5M+zzIo/3GJSU2csY2zrkQmv/WqPfvsG+ZdA0A6Azh6
 zAh7YMZpgaSXiQIcBBABAgAGBQJF4vyVAAoJEDOWFYjhwhhFg18QAIoCtnXDD1Wz
 P/lUo3APc18HmOCWR9JA225ih91YeXebWc+YIAJwt73tcFIgpVjVLBTfavUv+Flh
 IxSmqCChCer5iFJ7W+nMMkPx2nhX08+93fcSELv1HANlp2aEqwus8QRJxUGxuVa1
 eAEz8M88PEHg1oePC0xt1cmw1xbxcbRGdv0O+qzzG23ehsOrFTXpyJBURPECXQNP
 M+EeAWb1BedbSZo8hOgI4fmStdE4b90R9fo+tYp9jqZ4gML67KoksUtyzsbi7+sf
 Gic/ieQcdp5GdVx0vHD9RmTVEPAdrChEsQsndGBJGgFvmLs0lnNeaB3L40jzI78d
 dnTaymtiBb5lT1nNio0TVlSS+JiFRUZX+NJ9ElUbxLgInKgpoITuwRTT9PqiGq7C
 MC4BVU6rL/vlGtvGykli2DQlSB9hh3O8V1wy4rp3/Wu7FuYiDxZ5Ao3+Sgy7jZ2N
 ldgfykUBShbr/dy37lVPGNAx3Zl/JwQipesRn2cuHtND/4/jCrNhG6hoIoECAxFe
 bW7ZFohtRhQuw0iHXAVequeJYp6YX3APn2Z8emxQJXJOzHar69t9ygKLF1yHBYj1
 K1MJordxnCPqGn6WTs+iRLxUatTFODQzb4YCx/7EkA5fgI3JUXPw3/wMwqSIfOqh
 4yhhdSl+Nfa9bD13mkeRcipoVBS6XCKBiQI2BBMBAgAgAhsDBgsJCAcDAgQVAggD
 BBYCAwECHgECF4AFAkU785MACgkQJknmKMXTTQUTPBAAuoXbG2AnDlaBpM/Y+Qzy
 1QWMWv+eOIix8rvdReNKnT8UO4rJI5q06MihTsvWbP+dt5fbMHO/3hXHdXQySMwb
 rGLEVpTHUZZG53aUmDIB1W6A6BGiaswNNQD+oSS+OGUP2zw5X2wJXgdZ0fYezWTm
 ovsEPq9JsknwyoJ+M+UcFWwU6mbgmh80gJJtu+hPU6y6g+m2cheC4wVm5Ds0+YEw
 dKSN0IJel4YCxjLpKTI7v4Vx6r2AUv3FHrR4aeyBxUAH1rhoRD26WMK3/90qF/J/
 U0wCeD9QDwykiiykeJsl/Ga2WFE/anjW9arko03rJgLUN1WTxBCPNn/eoxw1WJwy
 Th5YvUAmk/VpY56HCekiym3CSLu7E8WeCw05I95HziSJfaWQQTaJFURbuvU7UTH3
 1h0XhxKNZgoVwEenDI8e3kE7achjX378hCXMddZ5KajRYkoq9i6wBT0+VxJ3axZu
 ORrePVKpoFW/ZJ3RlPeG0RZob7DBtbD2sQuB7Stn5G56mjLRAgKR7D+jSK1NPe9y
 sWzlAxAlStSDn3Y+6vR7/HY6+NC6ZZMplD86UHl8RD24cFOC8UmiZtH5V0rBfCgQ
 Oxw9XasK+SogO1q8BTlx9MxqTW1lLXYa4emxky1AXDIbJ+JqNCHoL8fNZrGWX5ne
 06mjbzJ+QEicd4B3OM5FABWJAkAEEwECACoFAkXtt6ojGmh0dHA6Ly93d3cuZWxo
 by5uZXQvY3J5cHRvL3BvbGljeS8ACgkQlXlS1880AanLqg//fqsVeJPJfp2FA//a
 4s5Ai+sSilWuOaHZ3xgmNq7pCF3DWnAT5tFhnUjAxnJb9CbhHuhoYx2BPDEWDrhL
 1fBoDcW0gNRg5/8gSdz/IElbykKXUjWB/mTtKVDAUKW3Xpdp+JZfjkz0aLhYDWSS
 nS0RI6srHlhi+fEovv8MAIAiY8FD4ToV8m2afK62Hb+eWJlSFfIJr5Ydhq3EDG2G
 l8FIetYA/UUuige1FhiyvcG49aza6IeteLC/OFzX7VdwLYw0MTRVCLOREclVIzwk
 GPSgtp/RYN2fBn2rQn+fe8QXxbdtW6qq8Jj+75wvnl+hkzJl/zSEr04rUT+0o0QT
 YF6dgzIXkoqxzy/uS0mZhJBOGeEvXlkDQbNnS1DnPSeVMKMm4LPck/Bn0rbGoAox
 tB7uHXDhHAaWBOuc94XYyqjV4DiY/PbVu8rv4RSHsTlGEnYIh5KYM9AJ7koWUjFM
 K+Oj+AVMuy8AJ7b22byZSc2AAnGeo8dGLZe3ttWHkd3/yIq88+G4+auVD6+O+2gs
 4cdLkxmYEkoWlMnoCjfcnl6v9gLOek9YCtu9LhAZPFXnhiarHF6BYVw18n2gTEnG
 8QQ75U9EyWYj6PSJOrEUr6okm68CoFgy6KScErL5eW8JKUeHCjEa3yJiO5kIa3D5
 qc/dtS+FDDdudgSzeXcIsQDc3FOIRgQQEQIABgUCRlL7mgAKCRAiGMgejnwD/9cI
 AJ9OFbYDu1ZYgwq3yyMY1etSslNSNQCZATvgqRVLX77SkdvpcwbF/dFDLZeIRgQQ
 EQIABgUCRm6AxwAKCRCPqYpv7u1w8zGJAJ96VH1HN36XdzK+fUnZZZXMY6M2lQCg
 3dWoKEatkH5VxaK8MoTSg/zsDDeIRgQQEQIABgUCRpH24wAKCRCptvcwuD12HC6Z
 AKDGSqcb8afNGYCCH4/vjZ7PHhPpFwCg3zhuxS54H4vy02R+L83J6dDsaIeIRgQT
 EQIABgUCRp7w9QAKCRCYYg1FtYEYLFE7AKCShU9RBetlhxp5SvN7qp8q7A6/QQCd
 EaesE7em/L3or45E1nLzcS37TCqIRgQQEQIABgUCRqSyNwAKCRCYtF5mZjk0FRMH
 AKCyXFH8t21KZ29SFHuWnKGqgs5GbgCfZuK60wqkdMYYflL2qwhT1+5mokmIRQQQ
 EQIABgUCRqSyTgAKCRCizvCpOtm9p1M9AJ43+CWBqUWrUbLWqhk5IRWJs8pDJQCX
 d8fvnI7Kb+139T7YzW9a4R2DKohGBBIRAgAGBQJG0atyAAoJEElQ4SqycpHykAQA
 n2XOzEDvnkVIworYUsgkc9aDHwpUAJ9GAHuZ6/DwOFfl9YAYiR9yn9HQmIhGBBIR
 AgAGBQJG1XvXAAoJEPbI6ZxnaB08sVwAoKpUkF2sYhb4Xa9JpcNo4JK9ln1+AJ92
 WhalBpLXFZKcViM3meic+BHr/LQhUGhpbGlwIFBhZXBzIDxwaGlsaXBAZnJlZWJz
 ZC5vcmc+iEYEEBECAAYFAkU79LIACgkQv0vQ5gSduHmmzQCaAyEk96XHpYdXvY3j
 pYILjdcibswAoOKRGSIPdG3lno9nMma3haVrvURHiEYEEBECAAYFAkU8cQEACgkQ
 qy9aWxUlaZDBTQCghiiYrQ9qF4SN5LC3D4n35mNdkEYAn0xgXMxI8HYx2cNzJQla
 0k5chpLriEYEEBECAAYFAkU8cg4ACgkQ24TUdhJtR8BovQCeKyvrmAhSRCc9hhZG
 TklONt4bG6gAn24SXgjDsfdNjjt4vrtZg1LtD9mPiEYEEBECAAYFAkU8j5kACgkQ
 JqR8av5thQ/5GgCg9WAQKyyf4NNng4+SgpvZfGM5RnQAn0bxrzynlhbwXsCEJjCd
 94Wn24riiEYEEBECAAYFAkU8qOYACgkQVkEm8inxm9GjyACeICWIVgKS64NoacEt
 yDNHU0DMWUMAn2WYT8gdfFC+XFeVI2HZyXUBpva8iEYEEBECAAYFAkU8s1kACgkQ
 11ldN0tyliV7DgCgnQPlcAiI8qrEr7egdCfSSrvyagoAoL2kAFMf8OE+uRz/Ilwg
 Q99Wb0h7iEYEEBECAAYFAkU88S0ACgkQaOElK32lxTsmgACfbcZ7Wm2tMQpL6bIN
 URxtf8agm+kAoNqRbHLpgBJO982mfixeLzeLOTqNiEYEEBECAAYFAkU897QACgkQ
 c95pjMcUBaLcFwCggnKLgL1S/aVQ03Tn8oqkASx3j8QAni+OCqoZP0cVRByrXb3D
 9pXhUzE0iEYEEBECAAYFAkU9KCUACgkQBvKlIm0I16EyCQCbBSJ+SuT6CnRLO/+Q
 B51vzOQ7qJcAoLM1mH9U6bCfOhSnKrScIcsibz3ziEYEEBECAAYFAkU95xcACgkQ
 qs+zhiEbbu+cBQCg6Wv7SDsq/frK9SrthO6Kp4t+iKAAnRMKitDx1ZKkgXmLB0WS
 /acb4FJkiEYEEBECAAYFAkU+HD8ACgkQqRfpzJluFF7Y7wCfdc/W0x02JyWFTh8M
 IaeiSPYjvpQAoI2KhTzIpsgjFkWNrc/WYQCK3MHtiEYEEBECAAYFAkU+TwoACgkQ
 L5UVCKrmAi7/SgCdFJdKOUcZIgcqF5cSkNlcBXV8lS0An2Bo/p6RPJchVjATSrzh
 tjMLwGm4iEYEEBECAAYFAkU/0SIACgkQlGrTC4csugQsfQCbBR946oojKKYE5kYT
 fHBR6cK2QEYAmgPuxHv+seFHWVkFyxEFs6xDJ5OSiEYEEBECAAYFAkVAZ1MACgkQ
 tyijP0V3UfcycgCeOaDmmLkJXiVBhUfwxyi12TCb6p0AnRYUuZEwClECxD2KQKfI
 zbGGzCdHiEYEEBECAAYFAkVCb48ACgkQBgac8paUV/AqhQCaAhscxgtnemzHX+gd
 ce1g9ezfDfoAn0H7K5BKw5nKQoldQDoYyCNtVwg5iEYEEBECAAYFAkVCdgcACgkQ
 JdKMxZV9WM9mlwCfQUIYLc8EKz+PA+luhY6dYCXOohcAn2Y0d7qGP02HPcXxuub6
 UnmVf9i7iEYEEBECAAYFAkVDhcEACgkQbHYXjKDtmC0iIgCghwkSGaFEcJ9PfI1B
 R1BVJYl47HMAnioswicq7Mnz5bNUMTJt8cFFI4ywiEYEEBECAAYFAkVFv/8ACgkQ
 s84tIzqr+ZKWoQCeOPv9+2futZN2DQ2FI1/E7YNQoe8An0F4H4S20Rio274q4eRj
 u2LamAdviEYEEBECAAYFAkVGGiAACgkQyjl0WeUbLpH1ggCeKvVEqvoNmJnMkuzK
 gmGgmMYvbDsAn2EIs+9zg2vgJOiU/vXxWxblRNGOiEYEEBECAAYFAkVGIk4ACgkQ
 oE/7G33K6dO7HgCcDzOZjYJ/0TKpoW/PquXStDQQvUAAmgLcse6JKtxmPN8zgqmP
 1wVKPRbxiEYEEBECAAYFAkVHgqcACgkQl87mEquOPtWMWgCfUuXnVpDjeB+zj+KC
 bT+HL8abt/AAn2WxNIQNon1AmZdtADwzS9U5g86uiEYEEBECAAYFAkVJreAACgkQ
 Wabn9OjuTnjI3gCbBn7FlAnZRhM4+rkcX3Hxceaqk4kAni2FR5xXPK7vylFozJC+
 98Lk5f86iEYEEBECAAYFAkVLHEwACgkQrCFWJqEhh1eITwCdEgxlrLXD460UYHmk
 rni24DtlUQcAniudz8sY6usMaxb2/wn8bF1A8bAyiEYEEBECAAYFAkVUZu0ACgkQ
 2Mp4pR7Fa+ym3ACgsQmGP0Yd7KxoguOvn7lqfTPNV5gAn3fqaxqEsoAT2/2lR3iD
 vE23MBvZiEYEEBECAAYFAkVV2hAACgkQForvXbEpPzQjUwCgzh7s68u6zqhfijKb
 jXlU4AycD8IAniV7gc3XvQFtAOImAQZQRBgNxkEJiEYEEBECAAYFAkVWHD4ACgkQ
 HKlaY1awyggt3QCfaS3m6v5ikKl1nKvQb4AlrjcmMDgAoIQaO3acjZa13nm0ad9o
 RRa6MEaYiEYEEBECAAYFAkVXG4cACgkQFdaIBMps37Ks+wCgkt+KLSCZPh5lPmq8
 iCJ/w5jB72wAniM1TyyLqxGKe4mRH2gTA/4YJ2tIiEYEEBECAAYFAkVXG54ACgkQ
 MNQ6bmTr4iCHWgCfZrZMUNndKLUIhNyXR4sRm9BMaegAnjPbpvjiWT7Dsn+IcX8D
 Wp7LFBKiiEYEEBECAAYFAkVXKrYACgkQv+Q4flTiePgZmgCgif/Xh5fAWrpczRw7
 4QDSYwSO5XwAnRhcn78tLU08Ih3csa/feNffFSNeiEYEEBECAAYFAkVXSRsACgkQ
 XY6L6fI4GtSKFACgoccy4EIqwMqnhUh0h0K9hzYt2S8An1Q/6IC/8ovwY+65e4rm
 NuEAihPdiEYEEBECAAYFAkVXSdMACgkQT7HIixwTm8VbgACfZBLqnvqmE/dQ9Qxj
 2NGBRa6CXosAn3x/KmkctYEwKbovua/TQVkWjj+KiEYEEBECAAYFAkVXSwoACgkQ
 MxEkbVFH3PQsNACeNbYqL1kamDXmGolcsCVyAWPGrusAn1Ld435IoJ1vBMUzS/YU
 UGWmxa5oiEYEEBECAAYFAkVaERoACgkQFGWX3NzDmcesQQCgpuy2XcY+s+ydAIE9
 /a6zR5Ft10wAoKOYp0b0IeqOuLKmZXkYrQ8+Ym8/iEYEEBECAAYFAkVazuAACgkQ
 F3Kdd/SoUS+RdwCeLg/HPHTaFq8Te8wKjSE1wD84zCEAoIO4zWdvSwAlUpNq4LLM
 yXi3RieHiEYEEBECAAYFAkXhk8kACgkQmEvTgKxfcAwPogCgxQmp0asZTyP5Cv73
 lZv8PyysTZAAoL5m88A/GvOeWRXRBltO7h22kxcliEYEEBECAAYFAkXhtMUACgkQ
 UALvsZYuOJD1qACeIulDnAmIToH3bP+CoyXnFwejunAAniS6PUjwECYQW1FGE36T
 +fyBWUX5iEYEEBECAAYFAkXh3dIACgkQTUTAIMXAW64xCgCdEPDShmxLJNORmIEl
 w7bUngzpm1EAoIO1ZJNtcQgyvuD0oPE8jJxJvmRpiEYEEBECAAYFAkXh5U8ACgkQ
 JX7cEyXxWZQeUwCgsqV8HaGPXcsMtDXDXJg3hp5OGYQAniXxGpvmEfkqx1HEdljJ
 WvSMoWEFiEYEEBECAAYFAkXh6cUACgkQeGfVPHR5Nd1mhgCgjbGiBrG7cJfs30Ut
 ONTFgdNH9ToAoMkPVLyb1i0XXt2TOq/ULfcinJGGiEYEEBECAAYFAkXh7UIACgkQ
 WIPeXaIim3isSACfRXolP+WWaUj3KrENKspNZs5G03gAn0a3kw3qJ+FZ7vDV1NQc
 sonLGRh0iEYEEBECAAYFAkXh8lYACgkQVRVgdpFh6RFe3ACfT3BjBY/FknHR8L3p
 0WmU1T6OFCsAnR2y9lGRx+f3XNeT7pJpAavYLD+7iEYEEBECAAYFAkXh/CwACgkQ
 x9kwJZ3/qtSdxQCfXXB7wfAJq+DT4UoET+6xzQL0gB4AoKSX+PVSstlfTyKNCERx
 2J6oV2KfiEYEEBECAAYFAkXiBCUACgkQs7H4GgJ4eIBUSwCaAq4jYXojtiMgpBsZ
 ztaTOzUngKYAoJBdEeOZveU8hr3lEpHJiPyDEnusiEYEEBECAAYFAkXiEhMACgkQ
 5UTeB5t8Mo2YOACgxfpVt8BCn8RbMWwWWO7F71ksNX8An1qsp6CTwUsmJIkPDjyX
 APQofl4XiEYEEBECAAYFAkXiIhsACgkQfk6lT9CrQHVTQACcD09PXdi6uw5o/e6B
 UThYOkS8bPIAnA3Re9Pd8y63FAshTav8yByMtF24iEYEEBECAAYFAkXiJxMACgkQ
 dklABUmu6/Z/lACgueQz3y5wlyVRThYh30Doj5JQHYUAn3dK2WQ5zjNbHeLBAP4I
 TrzV6jVtiEYEEBECAAYFAkXiL3EACgkQBlWsEPLYRi8pVgCgoaBSjJ4c2iGnk1BZ
 olOzwLR+sk0AnifR7gGQzqYO8irzDcWIeCw+JRiDiEYEEBECAAYFAkXiULsACgkQ
 W5PAL55KnJ1O4wCgic6wnaQenjfTEf2meS6jYEl73ZEAn3St8VyKK//g9yKVqQ7+
 ADinP5jWiEYEEBECAAYFAkXiq5EACgkQAyVwhE0jE9U1fgCfaL77L6cAAOAi8Q8e
 yWA5zYMDtTkAn3AS0EgskYq8Gf7hQoIxhaZ6erHwiEYEEBECAAYFAkXiwSwACgkQ
 cxyv01PBoy+0bgCfTxXfzF3JrRWSweU1Jfwm7HSYSbEAoNumyFsdNUe461pReeu5
 Xg70YzQHiEYEEBECAAYFAkXiyz8ACgkQ2hliNwI7P0/A5QCgmJxf2IwQcnSYWlT6
 L236EzxcJy4An2PQ/HuiSeYGe6wZAQplAAoSMmpqiEYEEBECAAYFAkXi8FMACgkQ
 i0rEgawecV43hQCghhc0TulpPQPZ1F1VwK92e3R8WiIAn3UqbmiaKS+Fji9gOnYo
 Kc5aSSCOiEYEEBECAAYFAkXjBd4ACgkQMAKNJEgTtf6qqgCfaOJUjXBfNaaHEpWY
 fJkHrr+2xBgAnirKEbvhYSPOnNbNdqIL6khZY67riEYEEBECAAYFAkXjJRkACgkQ
 06NwBK5NHNRSpgCgroeyoe/A42VQ52Cw7jSzWIT5S2wAoN7y5PpW+kKLIvUybc7V
 CgC1CkskiEYEEBECAAYFAkXjK70ACgkQH38yahLu9iphcQCfRl6hY15rkdL+YuEf
 rTuAbKWUbsoAnR97XdzuysxFJ1te3MWKxHb4Sl5tiEYEEBECAAYFAkXjLq0ACgkQ
 OJpWPMJyoSZLrQCfW8hTLnVFEE1ocUAC49DadLj0REYAn2IFns9NctORQGHgCYtt
 2XDjKmjxiEYEEBECAAYFAkXjSNAACgkQIae1O4AJae/G4QCfYOwKbO/q8qNzPuQu
 0kR6TQ2j+ZAAnjecEaLLLhYyPHIH72g0HgF3CTaviEYEEBECAAYFAkXjSYQACgkQ
 KJz/wOY81tZrwwCcCwotjIsh17iknyb5tw2jQdq02E8AnRnBY6WbT5i+wlo6QBPg
 HA7PX1wNiEYEEBECAAYFAkXjVM8ACgkQStsfiGuIVEP2FACgwYetOw+WWRx9v3R0
 IdM71Byl5EQAn03AGcFBtNZWgkTDcvRaENFBlY86iEYEEBECAAYFAkXjhGcACgkQ
 zxI0fJaL1YdnJgCfUzKFueLc0irdhNZqsH0uCzGyZMwAnRVk7k1YSutV9dSth9kK
 LfBEFU2WiEYEEBECAAYFAkXjlzIACgkQOHNNd4eQFFKBqwCeLhtFig4QyYSOC8cQ
 TVMzyyGhau8AoMIcAhUeF/AUgQQsidP33NITK17fiEYEEBECAAYFAkXko4UACgkQ
 SViWlxucwupumACgnUvuuKQPAOE3gGbnbXdMtpDeOIcAoIkzED+79ImQu9NFx4zy
 bS/pjkCliEYEEBECAAYFAkXkwAYACgkQcLIDITr1nRb9pACaArVVdHkbd0juT8fy
 2tgemy7YJc4An1h4HoefFi/NJYzekAAQsEMzj1BniEYEEBECAAYFAkXldgMACgkQ
 eQ6MlGH/2qu5SQCgg/5E1munJEyn7EzZQiCgbwZDmm4An22MO43/Djh8MBUD6t9u
 ln1+9UrOiEYEEBECAAYFAkXlqYUACgkQzoDvxJGnB+TPyACeLA1G1uswwVDKoO2M
 r9Vm4U6hMfMAnRO7cVTrNw+lmHKk/MLZcMVfX7Z1iEYEEBECAAYFAkXpli8ACgkQ
 FViURZnoHaCN+QCfWVqziWZaCMt1cwjs0q1PegNFTfYAoJrtDQs0j8Mr718bSifZ
 ARsnou8TiEYEEBECAAYFAkXpuC4ACgkQLkc/9x1zhDRQeQCfRAXmlJ9ti5xVBhk1
 mlPWOIqyW88An0fRJVYnLI84CAAOrGFwhxrSrfo2iEYEEBECAAYFAkXt23kACgkQ
 MGnpIbeahxw/CgCeJNBfyAvjDPhlqqrkmd/PTT+ZzcwAoKsyBz6XLYejG5RjQZey
 PvMIfyeIiEYEEBECAAYFAkXxz9QACgkQadKmHeJj/NQ6mgCgihm439eDpdWf9C19
 YGKFKYwJwysAn0UWP5RRTEabxscB0n8YsaQoEUuBiEYEEBECAAYFAkX1UycACgkQ
 6mLTtmqrwqGM1ACfXYoemJ0wtG0UJrTAdw83Ne4bTjIAoNxP/fwmOqZ6DWZ2xdxJ
 jFgLcHvkiEYEEBECAAYFAkX/Mf0ACgkQOpD/wRQI1/H7gwCeOxawK2PWFPUlzPr8
 FBWde0nySOcAoJcfuJmx2x165GCV7brPJulxHsn3iEYEEBECAAYFAkYKOjsACgkQ
 imdxnC3oJ7OSuQCfaGITyALXZe74lD/6zTeVFGkCJ30AnjqCnlt77KWGHgDTha6I
 ExUCvFI8iEYEEBECAAYFAkYKiRAACgkQPa9Uoh7vUnZu3QCeKSdhH76uoNEDFD6t
 JLhxxvNItjoAn3MF7mkibWqTEjIX9DfzQF0f5LbaiEYEEBECAAYFAkZPzLEACgkQ
 YGXVM/3CBbmjfgCgg3yJEuwDvE9R8U8I740RiNFuFJwAnRH3g8U4hFQ0OV2cBohC
 zQEPB5JviEYEEBECAAYFAkZSBygACgkQFdaIBMps37LwHwCgn28rdcY6wyDYiu8m
 KLcKnJ99OKUAoIk4P+rSzWGtQSZAkeFRH7z29V1AiEYEEBECAAYFAkZSbbIACgkQ
 SMnO3Fce5JjT8gCbBqwnvXiBYESgGiv+t0ZrrWDYsIcAnjn1mSDpfJ2QjArWgN3p
 2YJjerTAiEYEEBECAAYFAkZcT7cACgkQcc6vrOyiitu5wwCeJeqA1qQyeoCPN0Rw
 hsaSDPb00RUAn0wr34TI8CZgWDujoWKDk2ltNPGliEYEEhECAAYFAkZQ7W4ACgkQ
 eQODqXRm5lMw3ACfX8c2SE352xAdhOy4eQINBMWro0sAnieNhqEYZWrCww/Yr+I6
 U6AxkElGiEYEEhECAAYFAkZQ7awACgkQAklOUvzaV4dlaACcCN07xQXpNY+D3/Nl
 JuJYUOPb+8MAnRckOZvaNDlG9C2ug2x9EWnLuAHFiEYEEhECAAYFAkZUtlAACgkQ
 MojebXoUJMYZ6QCfcxB2x+T05nX4Pe6SNPKLTqGIqTkAn3WVyDikk5xT9FGMxYVu
 p5JmXm6CiEYEExECAAYFAkU8fD4ACgkQ7Ri2jRYZRVPhtACbBhF/A+1iln68OW+P
 IBVwojt3M9YAn3U5xGwempO8xNUxaw7nL8EEJ5loiEYEExECAAYFAkU9Dk8ACgkQ
 OyvlYhSROJfLIQCfXxVuAm+Nli3ChAvJ87Ts6tpTAJUAnRwZB5nURCV3rh+MW3DT
 JUd5SjIqiEYEExECAAYFAkVFzv8ACgkQViHMurgFpBZHlgCgsQT/b01et4dtMv2t
 Gl2BQ1mj6o0AnReDm8nEXJ3kDgKfHlfSwO5lYVGfiEYEExECAAYFAkVKZBwACgkQ
 ocfcwTS3JF/jzQCgmM72wJO4Soo0ie4QTVI9dZOHYxEAnRH7Re3ogovLCM2Gn15w
 N1z0DzKwiEYEExECAAYFAkVXTZQACgkQIcUJFg5KeHVDBQCbBbN+Hg20tuIPnfmB
 Mx09G3NG3WkAni2OG8FTQBtDWQEq1qBuXJdJ8FJtiEYEExECAAYFAkVZmdAACgkQ
 e7tFxipD00w5BgCfZETUIlxOdn9AOVY6Q6oI1RmdUgcAoK1hPdszkxR1epNcbqh8
 HuEv7hptiEYEExECAAYFAkVmCMkACgkQQhRMBiU3bT60gwCgjWxCvbu8mMTGiJAb
 BLrvhf8zA/kAnRmPXZtIb4QHEKAwIW2/HkLsQTK4iEYEExECAAYFAkXjT7kACgkQ
 jCXuDw3At9YTpgCgw/PoZTSqOv5MqVimGOUkpm0dxooAoI02BdH/eweFxzQbzPRr
 AZTKYXyaiEYEExECAAYFAkXq39sACgkQQdwckHJElwuNNACfXvKR/6bT5EE3b9SP
 VRbgzbIvqDcAnj+F+7xush+wnQczGl4oS1VG9B52iEoEEBECAAoFAkVUszoDBQN4
 AAoJEF8shKE+tgRto1UAn10JJSSYp1KLzxHE8oOF6f0zUIFhAJ0VGEmXIDr6kLHq
 wpqztu/pmV4sC4iNBBARAgBNBQJF8YMlRhSAAAAAAA4ALyBmYWxjb0BtNHgub3Jn
 aHR0cDovL2ZhbGNhbC5uZXQvZ3BnLzB4MDIxQzVCRDItMHhDNUQzNEQwNS5hc2MA
 CgkQp3xL3gIcW9JVRgCfVU4aNqWLlwYFAFw7Y5dd6k0hLXQAoJySGsIbgBoEZ+Gh
 Z0km5dISlMJ9iJwEEAECAAYFAkVVzKsACgkQH3+pCANY/L2QuAP9EgKkqwfjWozW
 a3pdl47roBleOjQ7XIH02XldIE+IT5GznAN8syF4VtuAA7CF9O/AziDt4GItvRTv
 sM/m4Ir/yu+wijCElibAlppCtzhLNC6Igep7bbJtQ45w/rw0FGjMBK55yDbeGWZw
 028fPQjoiZflCXRCmBPlFhLG6l6O6g+IvAQQAQIABgUCRe++kwAKCRDtoh6UtWVx
 b08CBP9xgVRDdGx08+mJ3OqnTeG2zLHhGP3W6AqYxJDe5yJQqY52kl8Cv0+MTh5A
 QyD+rUoc7EsaU4eOlh2U2AY6wRkdcgbI0Vsp0LLqI9vf+6F8RZdwpUwSSva4o31u
 BDfEwdHcueaojCvz9/vbJhfHQxdg3lN+wN0baCeV8ICOZZ5kOF2gFHA6cR0LYjoS
 HZAoKVuAZK7ndX9JKySmWvKkyf++iPUEEBECALUFAkU+WgyHFIAAAAAAEABuc2ln
 bm90ZXNAZ3JlcC5iZSJodHRwOi8vd3d3LmdyZXAuYmUvZ3BnLzQyNjcxMDEzRjk0
 QTBBQkVCNENFOUI2RDNERkMyQzYyQUY3OUQyOUUvMzU2QkFFMDI0NzYzRjczOTJG
 QTJFNDM4MjY0OUU2MjhDNUQzNEQwNS5hc2MiJhpodHRwOi8vd3d3LmdyZXAuYmUv
 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
 Z8IAn2Q1yNALKj9i4XWsNZjizw4xSB0VAJ4yqVaUcRzj55M6Fcw57GqO67FskYhG
 BBMRAgAGBQJFWZnQAAoJEHu7RcYqQ9NMRmgAn0OJGibBGfdjrpnKDgroRFiOdV/k
 AKC/34An2i/kc0jrIWgGizzKd9BO74hGBBMRAgAGBQJFZgjJAAoJEEIUTAYlN20+
 5xsAoI4Sr9+55ZsMJIOYn7QNq6+7oeS4AJ40PNcnsnMBniacY37FXuGf9O70rohG
 BBMRAgAGBQJF40+5AAoJEIwl7g8NwLfW0YoAn2zNQYcAyrHdZn95gtRCx/KsUAnl
 AKC4BX7jXX/o5pj5oavzBgstYfpLrohGBBMRAgAGBQJF6t/bAAoJEEHcHJByRJcL
 SGYAnjeLCAj1bYyYa/05jFW/py2NmSFpAKC/v/BkHy1Dr5n12iwv3YDkwskBFIhK
 BBARAgAKBQJFVLM6AwUDeAAKCRBfLIShPrYEbXH6AJ9ig0i2ffCooj/teQH4+CU/
 s+NxkgCfQlAfDOKsNZ0t8mDO1n6yuUAKcCSIjQQQEQIATQUCRfGDJUYUgAAAAAAO
 AC8gZmFsY29AbTR4Lm9yZ2h0dHA6Ly9mYWxjYWwubmV0L2dwZy8weDAyMUM1QkQy
 LTB4QzVEMzREMDUuYXNjAAoJEKd8S94CHFvSXnsAn1x4MXGs5pvzaojpcqE5pdvG
 5neNAKCB6f/sWrWfVcm8PDNNB6mayvVw94i8BBABAgAGBQJF776TAAoJEO2iHpS1
 ZXFvEHME/2id8ZhcpQQ8Go/P5Wu1gWV8cyvPQ+AT2e3Bzqd9tbkH+hSMIt9ubVl3
 IyQWdiZzZzVQaUapMirKxFdiQmo+JkrOEs/mcUUVq6XnDy8lJdxCQOz8ZFenUkGQ
 aovNuHRQAVvd1GQppK35T7x00lRwu4jhdgiF4GJ2dyV7T8NTN7O2ADEDnXClHyCG
 B6EWy2QsdOtKMckN16UxC4sajo5/VRqI9QQQEQIAtQUCRT5aDIcUgAAAAAAQAG5z
 aWdub3Rlc0BncmVwLmJlImh0dHA6Ly93d3cuZ3JlcC5iZS9ncGcvNDI2NzEwMTNG
 OTRBMEFCRUI0Q0U5QjZEM0RGQzJDNjJBRjc5RDI5RS8zNTZCQUUwMjQ3NjNGNzM5
 MkZBMkU0MzgyNjQ5RTYyOEM1RDM0RDA1LmFzYyImGmh0dHA6Ly93d3cuZ3JlcC5i
 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
 =hU+Z
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.190. Josh Paetzel <jpaetzel@FreeBSD.org>

 pub   1024D/27AFAECB 2007-05-11
       Key fingerprint = 8A48 EF36 5E9F 4EDA 5A8C  11B4 26F9 01F1 27AF AECB
 uid                  Josh Paetzel (BSD UNIX) <josh@tcbug.org>
 uid                  Josh Paetzel <josh@rephunter.net>
 uid                  Josh Paetzel <josh@pcbsd.org>
 uid                  Josh Paetzel <jpaetzel@FreeBSD.org>
 sub   2048g/E0F5996B 2007-05-11

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =Xmyn
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.191. Gabor Pali <pgj@FreeBSD.org>

 pub   1024D/9E3F9BE6 2008-04-17 [expires: 2013-04-16]
       Key fingerprint = DA0B 2143 0FC8 EE5F E211  D329 7D4B 6E18 9E3F 9BE6
 uid                  Gabor PALI <pgj@FreeBSD.org>
 uid                  PALI Gabor Janos <pali.gabor@gmail.com>
 sub   2048g/A780C60B 2008-04-17 [expires: 2013-04-16]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEgGzt8RBADdmkWC/Q4tpLhYpw9oidgWjyRRx/MgPRrGhtAvVdNTjbVoT4bl
 5e+v3CHoBih7KIh0BVQrux+H4UJ1Fou1wwwCrPH6ismBR5P9iZEGmBR/K0+1gBph
 /aUBANM1QG1FpAKMsYytqXiNk7mH/+oxomsbXBg8ZFGzlOWCwp3gvMZBGwCg7UY8
 YtV9L46nZMFIfzlj/tkNzh8EAMeF8nLv2qFsBT3ihYJRb27c/GtsnSUCQgwU5CVS
 Zx0QVb/zpy0syLHO+AeJnUIQWBKOhPpysXRlyMpjDlPu2b/VS9av01uLeHCCR9YE
 G/Jp4mCNswD0RLoQh0WrNtdr0kR0htr8mZrkRbZo+YoZPCdp/lD5JNq6fkS/Dgc+
 OGBsBACIOunHi0iEMnThJNznfLSA4hmjSdkrI249U5Ie8KfA5aXxaCX5o68tMgUV
 s/9hUBIc9cKoAkUf8t1XEADTik544HYm9FNULU55K1yEoG6dQrVm1HYVSl7uklE2
 mHkkg15nqapedChp2a+UhXYK4IthrBYcI4YVvQMBsMIFvo63krQqUMOBTEkgR8Oh
 Ym9yIErDoW5vcyA8cGFsaS5nYWJvckBnbWFpbC5jb20+iGYEExECACYFAkgG0YIC
 GyMFCQlmAYAGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRB9S24Ynj+b5rQSAKCs
 f7zv5XU0wXzKF9Y/9kIH2CKg2ACcDIvhQGclbBZy1NWr96IEkesPVd20HEdhYm9y
 IFBBTEkgPHBnakBGcmVlQlNELm9yZz6IaQQTEQIAKQIbIwUJCWYBgAYLCQgHAwIE
 FQIIAwQWAgMBAh4BAheABQJIBtGPAhkBAAoJEH1LbhieP5vmlK8An3aLBPTXu/f0
 dWAovygPqgvjreGXAKDUrndv2PP84EhK4f4HDDwfeIVyPbkCDQRIBs7fEAgAyLRw
 XdnvIKENQFgcjI2XyPtcbe+mCs2miAdRWKPRq+RuVLu7ub1kYK13W9pYTJL5LAiF
 TBVm31uuoiN/sQaJMDz/Hz2DOLRsEcb+d5f/9ssiPUxMdYKnE+kYwXRvm15y6Z6G
 dNhFZWleNpFRuPYqy/HaUb5q8/quF5VcH/cDVS1tSTErPtM7i3mmnJOpdIdBrCPe
 VVJXZo5MWUp1wG2IIuyap8ddM5S/kHhhyujLxLNDnlTxYogGZz0qad/R3LeiYTfl
 Drn9cZzvFdPlmrSvdw78RH0tB09fRLoI8KjGHi/bTiF9Pai75OUwVMv4PmxjAF6s
 OLU9q8zGpr8XE2ykwwADBQf/XVmkCPL+BRd45e40ayCo4sqfMoh0mK6dP66FmO90
 tAHtlIfkK74mcb/XrHC0KoX7c/TSaG9C8uJ7NGYzEFQzlzY8LlAfW/P+LjIpXjk5
 frEItGm0fCNU/+eBwcobO9gfWHDHucfocar8/pnot2PhwJpRFy1/xUa8oHXxNfW5
 IXnb67uCDPl4xFy9GkPPsgFZ4QI9+S7do0XYDEwfvzELeNTANAzMK+jIs5yzJ7mB
 mwI9orFltPfmc1y/EVc08LlR7qCsbosb/HMHO3jaMeKq1NIHyzRd70RZn5ow4B0Z
 zPQTJCWzfM0L5vAF96N/Rmrigwsg83+dE/a5e2791WRCRIhPBBgRAgAPBQJIBs7f
 AhsMBQkJZgGAAAoJEH1LbhieP5vmWAMAn2t7GwTeP9Hq3t1I1uU8AUGgS47cAJ0Q
 0CAkpRuxhi2FZn58aNBhvQPcog==
 =JvPF
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.192. Hiten Pandya <hmp@FreeBSD.org>

 pub  1024D/938CACA8 2004-02-13 Hiten Pandya (FreeBSD) <hmp@FreeBSD.org>
      Key fingerprint = 84EB C75E C75A 50ED 304E  E446 D974 7842 938C ACA8
 uid                            Hiten Pandya <hmp@backplane.com>
 sub  2048g/783874B5 2004-02-13

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEAscLQRBADERe+RX2eJpYLoaJ7d29B8YcTYzNlsfzghM1R1/Dx2RDy5poKa
 Jn9j+Iptq1qS9GkTHXFcQh8LT2K7wnE/MZTCxkZvg2ZkfQbJ4Z+0z3A1A6Kvg0tH
 X5aqmPUeLXvnps7nqZxkhl2ibcjhH/VYZK3mdRikd1wtJD1EhbbeqaR8BwCgkQAG
 vdJHN9gfjLLcM12EitkjoUcEALoo1bPoULWd4YhVH7W5L3Qp0dr1vf5pYC/V7FQ+
 8yPXZtGzMvIld8iX1sv/zsw4EoXXsaRzJo/ixdCS1WYBPowryu0G/LX5w0RTTGHc
 ihcHLm6ZmyNuIsTQ1ifLNASJoLkNBlQAuA0VG4evAujrmaWyEHbbIDSQKUJOjL9u
 jb2HA/9pycrr3+735Aa7B5jThN6p1XEC8GQg5MDx23QnTPj9QHXH4qs7s+hwxZq9
 3WkVFBcJtDBi8PeEVqfD/QPeU3ewbnNnfaF46miGV1iG1mzU4zMq4n5oBdijf5eL
 cRRdOJytYKTvlSCe8gf0MzfaB3RqD8+Cjcs3PtQOy1VT4aQiv7QgSGl0ZW4gUGFu
 ZHlhIDxobXBAYmFja3BsYW5lLmNvbT6IXgQTEQIAHgUCQCxw7AIbAwYLCQgHAwID
 FQIDAxYCAQIeAQIXgAAKCRDZdHhCk4ysqEPZAJ9ByMndfTtnnVIbsyHc2NjDp5F/
 vgCeP6o87Lw4aHuGo5guA9yeWwtwAla0KEhpdGVuIFBhbmR5YSAoRnJlZUJTRCkg
 PGhtcEBGcmVlQlNELm9yZz6IYQQTEQIAIQIbAwYLCQgHAwIDFQIDAxYCAQIeAQIX
 gAUCQCxxDgIZAQAKCRDZdHhCk4ysqLchAJ4+01/uQVdqdDeESGodcvgKsrieqACb
 BIW7HMvh85WqofTeAK5pJu7hCM25Ag0EQCxw2BAIAPXEkkg6lSxGRmVH1yzRnSKr
 /M48xyRXYDrRPaVVBFkC4Af3CR5MjncJtjbzm7xH82glC67cksRTfTZRs7kJsid+
 g62V53dAu1Uoj8ecSDhblb8yW3rTLKVqGcliGcTRFivcm+ZFm0kc0xCQE3rd1COX
 NLEomMV6xuZ9PVzDAbJwAoGdpCYsCl09eZrTErueQ7pEVsLx9/0zQSmC/uDFEVZ7
 23GsJg23+EUBT5KuTxQ4i0k++Ccr4HR/OiUy6KmyXSNsKsBsXwm3map3Debqqqx1
 ssrDXa+PHkKEUrONQBoYbZ17DpPZb+NKWibi0Vp1HKPP2vZl4NZQC0GBLXbEudMA
 AwYIAOYhwVTWKQSgeEZUNe4PwvHczx8/3VNjYZGY6/ZRjgmfO3+MagjonZqfxYha
 GpsEV17NXm4WIg6HWtI43JwIWfkUybsdxQVH4i5lWYuA26wD6UtNXw9laPHKXonR
 DvmKDC6K0iFbSxTqXRZVQ//wMxh58/Yw/fX+fYtmH6u6kPaL+CPRkhQLezTzZWHj
 2wF6v+frdglW1/LpwpCFndb1i5+36ogZ5ZudG/iz53QzlOF0IZSGHIb9tlQ+4gUn
 KfxpQloI+5vAyqpHDKIH9K26wTBzKsp5Mt4W6cLfgjXs7TNc8BVT8d4rmmbGpGnG
 pSjj7b1q6EhpIVBkAMLw7qanLlCISQQYEQIACQUCQCxw2AIbDAAKCRDZdHhCk4ys
 qAuZAJ0VNEtJSZOAGetxBJ/BMWahVD8xeQCfVKwTHdPh83Qcf28xx81icY5OKY0=
 =rF4D
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.193. Dima Panov <fluffy@FreeBSD.org>

 pub   1024D/93E3B018 2006-11-08
       Key fingerprint = C73E 2B72 1FFD 61BD E206  1234 A626 76ED 93E3 B018
 uid                  Dima Panov (FreeBSD.ORG Committer) <fluffy@FreeBSD.ORG>
 uid                  Dima Panov (at home) <Fluffy@Fluffy.Khv.RU>
 uid                  Dima Panov (at home) <fluffy.khv@gmail.com>
 sub   2048g/89047419 2006-11-08

 pub   4096R/D5398F29 2009-08-09
       Key fingerprint = 2D30 2CCB 9984 130C 6F87  BAFC FB8B A09D D539 8F29
 uid                  Dima Panov (FreeBSD.ORG Committer) <fluffy@FreeBSD.ORG>
 uid                  Dima Panov (at Home) <fluffy@Fluffy.Khv.RU>
 uid                  Dima Panov (at GMail) <fluffy.khv@gmail.com>
 sub   4096R/915A7785 2009-08-09

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 gvGn3mxLairK5wBG/6nAxa+uon8t9tl7FKwiMg==
 =Jlk7
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.194. Andrew Pantyukhin <sat@FreeBSD.org>

 pub   1024D/6F38A569 2006-05-06
       Key fingerprint = 4E94 994A C2EF CB86 C144  3B04 3381 67C0 6F38 A569
 uid                  Andrew Pantyukhin <infofarmer@gubkin.ru>
 uid                  Andrew Pantyukhin <sat@FreeBSD.org>
 uid                  Andrew Pantyukhin <infofarmer@gmail.com>
 uid                  Andrew Pantyukhin <infofarmer@mail.ru>
 sub   2048g/5BD4D469 2006-05-06

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =47um
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.195. Navdeep Parhar <np@FreeBSD.org>

 pub   1024D/ACAB8812 2009-06-08
       Key fingerprint = C897 7AFB AFC0 4DA9 7B76  D991 CAB2 2B93 ACAB 8812
 uid                  Navdeep Parhar <np@FreeBSD.org>
 sub   2048g/AB61D2DC 2009-06-08

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEosaGcRBACOXnXquGEW53BjpMt2jViod/TUf1xgjMekcbDxqOODPeX7eYfr
 wJ8G6BCNOpGjBmWDu/JcNj4Z+gmTilJ6WLZQ7ecFZfEeO91pt6ys0cyWh0xfO+/m
 T83D7W81S/kqrJBkQbBIdV6LumevdErHo272r8RcMELC4Ru87eRtX3hmEwCgnnGN
 JMpQFUfYTt5XE7nY0yQoeV8D/0OcWmJbEZWxX9O7AuliCe3zd2Dw0B4LB9SZ2Dis
 7+gpVd3xVgYnt5wRE9kM+ThgrMA/wqr807qmEG6bcfUsfwwGN9YUtNF3xAN07cXT
 s026sCIFNZK816PrThBzCgkwR7pDpkMzGWIBr8WiXXy0eB+JlQ6UV4PEiXuZ5ulz
 P0b1A/9CZm3wJfrNC0r1gMyrfVedg4zwKU997bmPLGcYs+rWXDTI9CvMseOUYn4C
 oDZQCp/9zxuHK+VU7Y/w0c/hVE5ERACSn4SjN2unEDstK9njZBMHEPVkAe/YvSG5
 cmc97SHlVE+eu/bbLKcvFb6rRLPOaVFQJMJA2VJEGWtYhvP7ZbQfTmF2ZGVlcCBQ
 YXJoYXIgPG5wQEZyZWVCU0Qub3JnPohgBBMRAgAgBQJKLGhnAhsDBgsJCAcDAgQV
 AggDBBYCAwECHgECF4AACgkQyrIrk6yriBL0MQCfUJOiS2PbJFDeiav1ylcXXwfp
 ggAAoJRoS7GDENGyM4BzjJ4b0ptZqTLRuQINBEosaGcQCACFCWs47SL4DQA6bNDl
 VJu4w8wLf8uVOyatuGmdXX8Y/OTVQJgA3vS+ODNVJCxhKVlvhcn7bhBdGdWKS9K+
 lr8+eEvr4hf2bQpesoHC+uFgKyILkCBNL8raixbhysyq0pfZWWDJMyn+G42BG1yJ
 Ji+bykygdpYnbIVA8dYHmBibI8mkPKOHSohjXT1SRfGGn+l1w54OO4NlJhCXMkjT
 A/Z9Bt4XeaiR85uJi0UUfV8FGZHhgSvT+/P1xIvz+nytuehSP/QLXl13CtAG/nKV
 kAcZnsT/3NrJ4Z2r45k+c50Wrf210scAaBogrrV5eIHfNGgOANApN8+8vj+aXO4p
 XRuXAAMFB/44ea8rd+P5N3OMrfuM8i91Qe1bJ+BIoroKPOr8jvCry0h3QpdfLKUN
 IgaqbS3JZeBJ8HHnWSGCF+o6H5gzRe1hvylPEclLPDCuPe7T746h9Mzejf2hNDJv
 Og+BuweDZW4KhovVbdS+syJEvpGF4bO8qgHT2CKgruXSHbFetdQWbkM0rfMmTuo0
 GcR2BEVrPb/SPFv64ZZyAZzmnGO4vT1bzClnTzJixrDpH74M3vSEYegMB4KdbLYB
 i8Jx4QUKgVEhJHjJubKWX4etyU/uuehOC3xYrmr1UXvsom3U8r36Dvdo77Yr3dgD
 VXa7bolNx0TIhdWxZI+R4z9E75QY+/wgiEkEGBECAAkFAkosaGcCGwwACgkQyrIr
 k6yriBI+JQCfUxgyqGtzZvLh5Al7gsTmRc11PLwAniD3NfWGRcO2+9uxSSQqRH1y
 wC4n
 =tqY8
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.196. Rui Paulo <rpaulo@FreeBSD.org>

 pub   1024D/0493CA02 2007-09-19
       Key fingerprint = 8E4A 0A83 680E ADB1 96F8  402B 7C3F 0CFC 0493 CA02
 uid                  Rui Paulo <rpaulo@fnop.net>
 uid                  Rui Paulo <rpaulo@FreeBSD.org>
 sub   2048g/D0851F30 2007-09-19

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEbxejARBADbFk7g7VmkWH7doKstfPCcbdBzoo6JZrXrYWXtgkLUeE89E/LT
 I2yAqDYHgUZu0UMI9OJWg11LOzqAPC+ToKSqbYWYG0PnL7Rq+47L86Xvqc2Ms74q
 Z2bXw3bion+EVOKcUsV6slcPFPuRPZPkO34E2drqZSlrUX0SXQwMBuuikwCg4/1O
 7L0+ui0yvMZ6Pt3X8z6IRwUEAJWx6vGV1QCs+4tlmZZCv24Lrxx/4RVQ+TBLdhG7
 ryM9PbCDAexlkvQCl6s+/jbW3o/NXk1pjcdS4SC4Oz0jG4id7meVqAReDP827pBK
 QyjdS600ZX3znaQ9Bu5j/SpD+h/AIEysuRnkecxZmbIEynqMjSIMHjvum/97i5g0
 g2mwBACnO4Li799RCtv6A+pQKYFzKPFnAyAJoHmcU68h5jOgW7EULHfuyByE4v4w
 hyB62j9kw+/W6ZfQjaPHqvxHhAwWRfxhlCtFXYm0zzzioKQXSh8m2H+3ccOKbcms
 nzD7Rmp5TVHg1CeMqtqgvv+iF9b/EmTMugPh0oaWdsNI/+yQf7QeUnVpIFBhdWxv
 IDxycGF1bG9ARnJlZUJTRC5vcmc+iGAEExECACAFAkbxejACGwMGCwkIBwMCBBUC
 CAMEFgIDAQIeAQIXgAAKCRB8Pwz8BJPKAkKtAKCK1kvvihrs0VCzN1IEusdzozli
 lQCdFvctTgbV7vy4DwtITeM7AtHNziq0G1J1aSBQYXVsbyA8cnBhdWxvQGZub3Au
 bmV0PohgBBMRAgAgBQJG8XqIAhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQ
 fD8M/ASTygJHYQCeLmU9ughT2PEnhRMaKlTtMQeenbUAnRdvVGOOYtPPk7/U0gam
 XUgPFZb5uQINBEbxejAQCACVmIHUutWQPeHUwArYN9v7F7ynduQCWvroFa6QVBM3
 YA6kBAGOV4LAaCyVSIAQz9yytMZT2pBpZb+daH12q0myif2OPbAMFMkld3zmxm7D
 P7Gek0mtM7/U2IP3L2pL47SSYipEBfUM6Up3ULL1qiEVnGDUQUeHO0CdhsJiM+Zi
 GEpDk1B8G9yYWYLjcTjOyiy7MvqnEl+ZBLyIwl2Veks6Yd+pnswpQi4LS+9CpMRR
 UZdpRO5SbydwNZmupdIgA0rYHwArL4FG7aWPPNhG+JjWf05KNo0AeAvbfQGp2H8Q
 FfW3GqzPbWOBirY3+KQ/KRAFMSx/6cYQBBdanu5E4KvzAAMGB/9AY9tCVnwp2r23
 UbNCJlVOb6Aa0Uv662h+eQjm3Oe5zUbMH7D+Jz/8vUHLe7gdpbYs/+/6bbithQTz
 wWk/n1+rvtOxNt/nVJXDYAooZOSMB8p9VDxslrhsCJFHnR+P5yONhFrGWhKrN3gC
 UGd8/y1j1e4b2xdI/bvuQaDOJOMo0w4oYveaxPvyiox4Dx5ZR1ZxTXK4yoddIUgq
 rwOyfcrPEs4o6f4U15dw0TSfUQhPzTXlKFmN6d4YPI2r3vAP8uBJA5DQuQPDuUE1
 WsHfK2IWnz7heC+cH101qV48L+gNSV/jeYcyslTx7uEBaI/O52hC4IRcCMcwf3tY
 7mABsIyViEkEGBECAAkFAkbxejACGwwACgkQfD8M/ASTygIrEgCePXhaDztEZx6c
 42RyssmLKlqelLwAoN/WxnCCqQon6L+pEZA1wW0GdgEM
 =DGcG
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.197. Mark Peek <mp@FreeBSD.org>

 pub  1024D/330D4D01 2002-01-27 Mark Peek <mp@FreeBSD.org>
      Key fingerprint = 510C 96EE B4FB 1B0A 2CF8  A0AF 74B0 0B0E 330D 4D01
 sub  1024g/9C6CAC09 2002-01-27

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 mQGiBDxThkERBACPf5/QHmyM944qrl3hWlWvK9fZZR2c37rhxAeqDJ8WsEMPBTZK
 WPn9BsMk+2d8e62FkzYo6L5juekd8invwd1nnszFFJdTDWx+vpMMgYuHBmme0QuP
 OnlU2FwJUCknw5Ed5pYV8F6azGgUNjYKIIJi/L3D9S2qDZ7l+3DgD0knKwCg4o8Z
 ZE2vd9uQw0AZ7lIa+li3hB8D/jHrVZqHxhOuUbxIXoJG3g54mH4i9GF8uN8ZdhA0
 9AxLVLzjLr4CQd97++LdSLagSvgD9N6OrtMPeqge4Frr1anJ+LRPDeOQhd0meJZB
 iCiekil4DSOsowqgmIG7DlAJx+PNV66qO1ExX1fv1ugyoWHJqYmdBSF9x1fHU788
 GxCtBACC9DLBMmMVu1Fsw3rnkZaR7xX1a1Bu95ZUu6TKJP6qUS5GnQOxF7dDjuwX
 /uRinkQ7W9vR4UuVvcV+Ct5R/yq7e+SfLb+YFQ2BmWeGNs5AVLxIZsZ0ar16fwB9
 XdxxHU/IkA3kYo4JfTvi3QXjLn4mbYUuBIVGAL63UO1kx1c8crQaTWFyayBQZWVr
 IDxtcEBGcmVlQlNELm9yZz6IVwQTEQIAFwUCPFOGQQULBwoDBAMVAwIDFgIBAheA
 AAoJEHSwCw4zDU0BXeQAoMlSoeOO5WtFMyC8viNAafpPcT6hAKCcjmQyI/cI0id2
 PMX9ZOfrKd/ma7kBDQQ8U4ZDEAQAw9gcDj02cAlUh8G9bLIQazPLJnX0fah7KB3O
 kxh8wFn0LliP7W7HLB+nQNyO4TfNgI0bhVyKDQQbKI2xJ4hylo9Z1K2R7GilgCnB
 FUqIp0MdqAswX2Dq7KXoyYAZRBOnQounUMaQ+6cfRI37mWc6dC2uY5qHne4zmLML
 /lVOjVMAAwYD/1ZArkN4IDk/VALPnzW4VYcCcT+101DMZfIMvHK2MiwWFmO+Er/K
 gIo9DrybHNQ6+bVQh/F6PSlxDrgWey7dQbHQSssC364v3RPOCmuBJCMTEszaais3
 VekHF9i9NMsUzbGpowaQv+YKMFQu4Rtlwaq7NUp/cD4a+jaxto9ij4EliEYEGBEC
 AAYFAjxThkMACgkQdLALDjMNTQHvuQCg1PrMlcafQ3BUaXAQRlGoyvF2WcQAn17c
 HA1RAO/MXM99nT62+AKLlpeb
 =mfY+
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.198. Peter Pentchev <roam@FreeBSD.org>

 pub   1024D/16194553 2002-02-01
       Key fingerprint = FDBA FD79 C26F 3C51 C95E  DF9E ED18 B68D 1619 4553
 uid                  Peter Pentchev <roam@ringlet.net>
 uid                  Peter Pentchev <roam@cnsys.bg>
 uid                  Peter Pentchev <roam@sbnd.net>
 uid                  Peter Pentchev <roam@online.bg>
 uid                  Peter Pentchev <roam@orbitel.bg>
 uid                  Peter Pentchev <roam@FreeBSD.org>
 uid                  Peter Pentchev <roam@techlab.office1.bg>
 sub   1024g/7074473C 2002-02-01

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 svk0OHOC6GZbyg==
 =2fQZ
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.199. Denis Peplin <den@FreeBSD.org>

 pub  1024D/485DDDF5 2003-09-11 Denis Peplin <den@FreeBSD.org>
      Key fingerprint = 495D 158C 8EC9 C2C1 80F5  EA96 6F72 7C1C 485D DDF5
 sub  1024g/E70BA158 2003-09-11

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBD9gSfARBAC0ZC5VEuEzqk8KQ3tFam5rugDTaigVzYDmT6XBrQuVwYrFY5zj
 gz3o87e/KGmvh0FgpulhoJpkOW9l7oPQpp0wvEm45WRq17+7quW9VppgVCzs79FL
 Cc77A4g5LAuO27i1yygfMfPrr6J/M5bM2FyuUS35QvKBTlkZiB/Zt1d1QwCgzJML
 PdRvozXQdg6/bPc+M3Wh9AsD/0NxL7cwGExg57hnxA3oNB4M7IM1MwbDDaEQvJbW
 Ls8c+x2UMzdE4XHMhr940GiwUzEa1lyy0M7FmB+cdFgqhJ1VFjYE6VyGkyYtticL
 my6Im5S4Pfvx7pO2qLmYW+OnbnC6FFgFPbsAZVl/1fy4hN7U2zQIMw3kIodFBnyN
 RMsvA/9uzITCim3ov/9x4OYX0BfUNNmczIZMvXbmcuDH+NfwkGu9pmRitx/AWHGJ
 chOv4vMuMnBHU12TV1dstlWrb+Q5DVrnbVUq90mUbxg2emvlv+xK2oZ9EBKjAv/z
 NFqySi52vd+OmgopbVI6bI2+VdKrKeNcDByt/2zRGo9Y9hDULbQeRGVuaXMgUGVw
 bGluIDxkZW5ARnJlZUJTRC5vcmc+iFsEExECABsFAj9gSfAGCwkIBwMCAxUCAwMW
 AgECHgECF4AACgkQb3J8HEhd3fUzKwCgj1hA+IDNLHGdD+ua2bs3nPcL+vMAnjR8
 6CwsvOZIL5cr0EyveMsGNWqnuQENBD9gSfIQBAD+YKY2v46TD994B3h0KtAI8/Zd
 aJ+K1yUNIDxjueo7v+c3jKaWPgX1h+Cr/O936IVnG1zg81zEF0Ly6NcwWrj70UDO
 deA4tvx8HQoYfjwRA2kYAv73yvt+UG6WS3cGkX28dcLb8/JEV5M64AYKhgqRX12m
 VJWIKdqMYzho8n0mCwADBQQA9WcaZB8RVj22I88DA6okYxiU2vqAN+QUvZfX0X1/
 7Rh3mB8iAXBuASEw6NbQnGtky8RlkTDgYu1UJt0aSV2U2CXKOyPCJut0Ka+YYtOM
 prdHmnNSksNvwThju8F6js51nrf3D/7L9SFhc+W8JTfa8iz9Zfgq1HQkZ3foSO5J
 W0CIRgQYEQIABgUCP2BJ8gAKCRBvcnwcSF3d9Ut3AJ9WFh2gFxmqE8O3B85dO4yx
 z/OvxQCgsQynjVGZI9JJn1W0KOAYSbihdu4=
 =kQUf
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.200. Colin Percival <cperciva@FreeBSD.org>

 pub   1024D/0C6A6A6E 2009-01-12
       Key fingerprint = EAF4 8BBA 7CC7 7A30 FEFC  0DA9 38CE CA69 0C6A 6A6E
 uid                  Colin Percival <cperciva@tarsnap.com>
 uid                  Colin Percival <cperciva@FreeBSD.org>
 uid                  Colin Percival <cperciva@alumni.sfu.ca>
 sub   2048g/DC606691 2009-01-12

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGhBElrAAcRBACDfDys4ZtK+ErCJ1HAzYeteKpm3OEsvT/49AjUTLihkF79HhIK
 rCQU+1KCzv7BwHCMLb6hq30As9L7iFKG7n5QFLFC4Te/VcITUnWHMG/c3ViLOfJG
 vi+9/nOEHaM1dVJYD6tEp5yM1nHmVQpo9932j4KGuGFR0LhOK5IHXOSfGwCgxSFD
 Pdgxe2OEjWxjGgY+oV3EafcD+JROXCTjlcQiG/OguQH4Vks3mhHfFnEppLxTkDuY
 gHZQiUtpcT9ssH5khgqoTyMar05OUdAjZIhNbWDh4LgTj+7ZmvLhXT5Zxw8LX9d7
 T36aTB8XDQSenDqEtinMWOb0TCBBLbsB8EFG1WTTESbZci9jJS5yhtktuZoY/eM8
 uXMD/3k4FWFO80VRRkELSp+XSy/VlSQjyi/rhl2nQq/oOA9FoJbDaB0yq9VNhxP+
 uFBzBWSqeIX0t1ZWLtNfVFr4TRP5hihI5ICrg/0OpqgisKsU2NFe9xyOhyJLYmfD
 8ebpDJ/9k30C7Iju9pVrwLm1QgS4S2fqJRcR+U4WbjvP7CgStCVDb2xpbiBQZXJj
 aXZhbCA8Y3BlcmNpdmFAdGFyc25hcC5jb20+iGEEExECACEFAklrALYCGwMHCwkI
 BwMCAQQVAggDBBYCAwECHgECF4AACgkQOM7KaQxqam6/igCgn+z2k3V5ggNppmWr
 Zstt1U2lugsAoL7LwS9V9yLtil3oWmHtwpUqYruEiEUEEBECAAYFAklrARsACgkQ
 Mt4ezdCTR/ypIwCUD1achcqLYCm9tnYSIyuok4AulQCdFRgS0m8oCL/rxIIkEks9
 t82rF4aIRgQQEQIABgUCSWsBPQAKCRAV1ogEymzfsl7TAJ0U5P1tP6rpuqZV2IUk
 upOlKO3uUwCgnhMuyzumLyYdSShkVkxjT3wd6kG0JUNvbGluIFBlcmNpdmFsIDxj
 cGVyY2l2YUBGcmVlQlNELm9yZz6IYQQTEQIAIQUCSWsAjgIbAwcLCQgHAwIBBBUC
 CAMEFgIDAQIeAQIXgAAKCRA4zsppDGpqboJ3AJ9ClLZrhs07z89f2E/ViccT4zwF
 3ACgvC4IjEa7Mruk0E1TJUxaHLXWEf6IRgQQEQIABgUCSWsBGwAKCRAy3h7N0JNH
 /LImAJ9wRXlqUl7q3TLtGiVDlGgemAF8ogCg04iFw407ersxQ/xhQpy9EqFxZ6yI
 RgQQEQIABgUCSWsBPQAKCRAV1ogEymzfshucAJ0dnr9H56NugiUFe8hgJ3DMHYQ9
 8gCfYamgijrAHz3UkJ1FJSveYU5FcMG0J0NvbGluIFBlcmNpdmFsIDxjcGVyY2l2
 YUBhbHVtbmkuc2Z1LmNhPohhBBMRAgAhBQJJawAHAhsDBwsJCAcDAgEEFQIIAwQW
 AgMBAh4BAheAAAoJEDjOymkMampuZt8AoIqJnoMkMc72nzSWO4W/esjLboT/AKDC
 JqQ39yUJWuE0icnXI52OzFSlP4hGBBARAgAGBQJJawEbAAoJEDLeHs3Qk0f8CSMA
 n2i/wVFfvQAglYiAROYTktla8756AKD870BxM2AZHngm47QxhfkQaFfij4hGBBAR
 AgAGBQJJawE9AAoJEBXWiATKbN+y06MAn0BEvVhscv5jNNHohbxVvPOhz46yAJ9m
 qMFnnWz5K1jNNXKR9AFXapn1lbkCDQRJawAHEAgA92SzCLD+AiA6CTkYPmGNJai1
 QYHJxe6RW+FMtvir3VqHzfgyh+ta2S44F15DRPTOBEAtQeJRrbQT/CGNoLONctwF
 KIBnchW4navfawgc+y07IAER8BcWaGh5l8omSxFNUGbjKsD2VdZgr4kYTeRN60am
 DV1XK51wALoQabzco/57R73Azdv5vqHIYrgWLnlOJF95R8mu7Do/pk7J3XFpkPbK
 DlMq/DtK/wRtPPGzJ+KqrVMOHZef6YJV5I25e7jjj4pyn9FlXdq+jNMCzyQg+DTx
 6wlkSyywI8H467aEkb18Q214QnYBgWu9vivHmC81bIYKu7STqAVs41Sul0cUewAD
 Bgf/TKN4idg8ag3nHdNiggeQbBQyAmyRoT5bVOxcK7Wwu3Y0m11K8LBFSx4uLLeH
 G3RjQlgq6dAUXs12SqISpzQDxTkyvvmX4Hisa1drCaHfkPUSCxfOrUOFxewO2Jnu
 Ycvdrf1oIlOL3P31m4D/IFf9fX/J7p2k9hPTUmu9JmRY2TbuIrsE4aFFDuQld1qN
 GFCErJ0SvFw9fi0dwNqlci4hUcIf5ogtYYCxQkxgkNxi8WXmcyKWEpRnUCdC+ZYs
 VuWUA/a9SPIv/M4ROqkRQDNLqVDCNxrdTqtsNNw4l62VNBbv0fEZvK5Z5ECgPveZ
 kU1KtcS+T+TWSIuICWeevTjzBYhJBBgRAgAJBQJJawAHAhsMAAoJEDjOymkMampu
 NYoAn22pXZxU7ubgHa564IRErxCNwgKPAKC5DTJLNaU4ZdgSTUZuArUyvcWXhw==
 =RYUS
 -----END PGP PUBLIC KEY BLOCK-----
 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.4.9 (FreeBSD)
 Comment: A revocation certificate should follow

 iHgEIBECADgFAklrBn0xHQFOZXcga2V5LCBJZCAweDBDNkE2QTZFIGdlbmVyYXRl
 ZCBvbiAyMDA5LTAxLTEyLgAKCRAy3h7N0JNH/J60AKCk8fKCpx2gXrbWMHrulX8Z
 mxuFNwCg+1koNtGfe3LQZj/CSV2zfr1mTA4=
 =GSTt
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.201. Gerald Pfeifer <gerald@FreeBSD.org>

 pub  1024D/745C015A 1999-11-09 Gerald Pfeifer <gerald@pfeifer.com>
      Key fingerprint = B215 C163 3BCA 0477 615F  1B35 A5B3 A004 745C 015A
 uid                            Gerald Pfeifer <Gerald.Pfeifer@vibe.at>
 uid                            Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
 uid                            Gerald Pfeifer <gerald@pfeifer.at>
 uid                            Gerald Pfeifer <gerald@FreeBSD.org>
 sub  1536g/F0156927 1999-11-09

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =3Uph
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.202. John Polstra <jdp@FreeBSD.org>

 pub  1024R/BFBCF449 1997-02-14 John D. Polstra <jdp@polstra.com>
      Key fingerprint = 54 3A 90 59 6B A4 9D 61  BF 1D 03 09 35 8D F6 0D

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 mQCNAzMElMEAAAEEALizp6ZW9QifQgWoFmG3cXhzQ1+Gt+a4S1adC/TdHdBvw1M/
 I6Ok7TC0dKF8blW3VRgeHo4F3XhGn+n9MqIdboh4HJC5Iiy63m98sVLJSwyGO4oM
 dkEGyyCLxqP6h/DU/tzNBdqFzetGtYvU4ftt3RO0a506cr2CHcdm8Q+/vPRJAAUR
 tCFKb2huIEQuIFBvbHN0cmEgPGpkcEBwb2xzdHJhLmNvbT6JAJUDBRAzBNBE9RVb
 +45ULV0BAWgiA/0WWO3+c3qlptPCHJ3DFm6gG/qNKsY94agL/mHOr0fxMP5l2qKX
 O6a1bWkvGoYq0EwoKGFfn0QeHiCl6jVi3CdBX+W7bObMcoi+foqZ6zluOWBC1Jdk
 WQ5/DeqQGYXqbYjqO8voCScTAPge3XlMwVpMZTv24u+nYxtLkE0ZcwtY9IkAlQMF
 EDMEt/DHZvEPv7z0SQEBXh8D/2egM5ckIRpGz9kcFTDClgdWWtlgwC1iI2p9gEhq
 aufy+FUJlZS4GSQLWB0BlrTmDC9HuyQ+KZqKFRbVZLyzkH7WFs4zDmwQryLV5wkN
 C4BRRBXZfWy8s4+zT2WQD1aPO+ZsgRauYLkJgTvXTPU2JCN62Nsd8R7bJS5tuHEm
 7HGmiQCVAwUQMwSvHB9/qQgDWPy9AQFAhAQAgJ1AlbKITrEoJ0+pLIsov3eQ348m
 SVHEBGIkU3Xznjr8NzT9aYtq4TIzt8jplqP3QoV1ka1yYpZf0NjvfZ+ffYp/sIaU
 wPbEpgtmHnVWJAebMbNs/Ad1w8GDvxEt9IaCbMJGZnHmfnEqOBIxF7VBDPHHoJxM
 V31K/PIoYsHAy5w=
 =cHFa
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.203. Kirill Ponomarew <krion@FreeBSD.org>

 pub   1024D/AEB426E5 2002-04-07
       Key fingerprint = 58E7 B953 57A2 D9DD 4960  2A2D 402D 46E9 AEB4 26E5
 uid                  Kirill Ponomarew <krion@voodoo.bawue.com>
 uid                  Kirill Ponomarew <krion@guug.de>
 uid                  Kirill Ponomarew <krion@FreeBSD.org>
 sub   1024D/05AC7CA0 2006-01-30 [expires: 2008-01-30]
 sub   2048g/C3EE5537 2006-01-30 [expires: 2008-01-30]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 6MXOtw==
 =3Md4
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.204. Stephane E. Potvin <sepotvin@FreeBSD.org>

 pub   1024D/3097FE7B 2002-08-06
       Key fingerprint = 6B56 62FA ADE1 6F46 BB62  8B1C 99D3 97B5 3097 FE7B
 uid                  Stephane E. Potvin <sepotvin@videotron.ca>
 uid                  Stephane E. Potvin <stephane.potvin@telcobridges.com>
 uid                  Stephane E. Potvin <stephane_potvin@telcobridges.com>
 uid                  Stephane E. Potvin <sepotvin@FreeBSD.org>
 sub   2048g/0C427BC9 2002-08-06

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBD1QNM0RBADbw1IMsD6ShBkXQirwG9TUFkBfZOaGUB9nZZTGZzkDWsj9/8FP
 TacAKze6REEdtfADFyYolZrps+o0xVUI3ib5kzXnzz8yj41HTzR7PG0FcgINt5Ls
 yuq+d3ETSu2AALwNfolKy/9yIIcRFl1bI5cawOua5MB4VUaf4JHiyOikfwCg/zsO
 QReMvoKLcZkn9pcCH6EZHtkEAIxZKMcRaIuGe0vF3oP4GfuEXIa7K7R9ez0u3iiD
 inNPQ5vQuY0qJMLbZAu6wyqEP9wVXCdAiclBbPYRb9tabcV5gFkuXpLvq5E7pGkN
 hRF/rUeDxf/EKIklqe63KNqgzMZ2nM8lvoDkUrdSQL5dc2Y5a6VIq22QsgaraYmo
 j4p7BACAfCiZjND9VcNAQmTvEyNGslQ63gzUfE7D8Xlx2Glv4PP9AmZ2X+FRliY4
 YaARKDK+62bNTrJjQGiaIzz9LsFV5zpYvHBQ9KP6NIp5bP3ljaUwyAJt5+GT8sGZ
 ZOBpSmau+s8RmSPajjvSwACjWF9tP19IJMtnk+pMn1SGiVbMA7QqU3RlcGhhbmUg
 RS4gUG90dmluIDxzZXBvdHZpbkB2aWRlb3Ryb24uY2E+iEYEEBECAAYFAj3s8qYA
 CgkQpvaYsfdm3ZH1VgCg3x3Qbvq/n5W/xonGXqI6+LJXLw0Anj5AgE0GPTC1naYn
 KpFmD9Hb+m6LiFgEEBECABgFAj1QNM0ICwMJCAcCAQoCGQEFGwMAAAAACgkQmdOX
 tTCX/nvccgCeIGN+hK7GND/4+9BbHpXOOnnlsJ0AoOavUpZeUj/t6pw+ld4CU7t5
 iUrhtDVTdGVwaGFuZSBFLiBQb3R2aW4gPHN0ZXBoYW5lLnBvdHZpbkB0ZWxjb2Jy
 aWRnZXMuY29tPohGBBARAgAGBQI94tEZAAoJEJnTl7Uwl/57WiQAniYT7h0K32tZ
 1+PkyM0UUvu/Vg3JAKD2VXNsiI3w3o/xm20IqR/UwZtAVLQ1U3RlcGhhbmUgRS4g
 UG90dmluIDxzdGVwaGFuZV9wb3R2aW5AdGVsY29icmlkZ2VzLmNvbT6IRgQQEQIA
 BgUCPeLNjQAKCRCZ05e1MJf+e0K7AJ9YssAR7btTX0oE9MNYYVQBbfYNpACfdyiD
 QeQhD+7FNqs4cZ+GEsWMxJ+0LVN0ZXBoYW5lIEUuIFBvdHZpbiA8c3RlcGhhbmVf
 cG90dmluQG5tc3MuY29tPohxBDARAgAxBQJD6jKhKh0gSSBubyBsb25nZXIgd29y
 ayBmb3IgTk1TIENvbW11bmljYXRpb25zLgAKCRCZ05e1MJf+ewE7AJsEexwRGNC9
 uR8JUPjttVJG012/VQCfVg4M1xq2+h3Ys/DecKUVxt0uVsK0KVN0ZXBoYW5lIEUu
 IFBvdHZpbiA8c2Vwb3R2aW5ARnJlZUJTRC5vcmc+iGAEExECACAFAkXQf8MCGwMG
 CwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRCZ05e1MJf+ey10AJsHFjVs9WEaui/i
 L9xfITeCmwkd/gCcDlRcmGUW3ov/jmeDzGFrE+MQsqK5Ag0EPVA0zRAIAPZCV7cI
 fwgXcqK61qlC8wXo+VMROU+28W65Szgg2gGnVqMU6Y9AVfPQB8bLQ6mUrfdMZIZJ
 +AyDvWXpF9Sh01D49Vlf3HZSTz09jdvOmeFXklnN/biudE/F/Ha8g8VHMGHOfMlm
 /xX5u/2RXscBqtNbno2gpXI61Brwv0YAWCvl9Ij9WE5J280gtJ3kkQc2azNsOA1F
 HQ98iLMcfFstjvbzySPAQ/ClWxiNjrtVjLhdONM0/XwXV0OjHRhs3jMhLLUq/zzh
 sSlAGBGNfISnCnLWhsQDGcgHKXrKlQzZlp+r0ApQmwJG0wg9ZqRdQZ+cfL2JSyIZ
 Jrqrol7DVekyCzsAAgIH/3fG4jw0qo+iUk3wwS3oLPf5USbiPYOjUZ9jpaII8pYE
 iH7i741cPL8qNpFgshJANd4sz3Iu/hu3xj8aWaZ+jDOM674U69lcv1hl/rrHESIR
 oHIwfjmExLtnFl/2NvQ7uKM2jKoJNERtbi5P7PfLqD2Y8xK1W8cFZmPuD404SBRu
 ubk5BrYXv94VU8rxE34uhOEuAW/I6uv7DhCcr+bVJzJQYCsHxHh79kHsHEW6KAGb
 W34S96t9m8mgl7Kb+KCS7CqmqlmP4/itf/26wfXf5ynhRrWpUuc+jbf6n9afjjzm
 0CWCBS6/f2OALgJX+J5DUG5TggtFVKMMQRf5Bv79F0mITAQYEQIADAUCPVA0zQUb
 DAAAAAAKCRCZ05e1MJf+e4YEAKD8ArLrD9l/sJDn45ZDBjs3PxAEWwCgoy+go5Wt
 0MmiyLIGfKRYTeFnh6A=
 =AbPN
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.205. Mark Pulford <markp@FreeBSD.org>

 pub  1024D/182C368F 2000-05-10 Mark Pulford <markp@FreeBSD.org>
      Key fingerprint = 58C9 C9BF C758 D8D4 7022  8EF5 559F 7F7B 182C 368F
 uid                            Mark Pulford <mark@kyne.com.au>
 sub  2048g/380573E8 2000-05-10

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 mQGiBDkY4OYRBADvB+3Uh68SGrlbrq1MTAN/gnVaj4ztmA15X13bunGYdLKLEJdq
 rd9xFv5OgxGZXJ+sDhbKomJ7yrBGtUwC5kIrKXN+MPbO60yy30+kIVLKjXIv1d+c
 MlWhjFzHra7WGFmvhzYnbOI/zjlOR68iKHnwxhtKFOK9m2O3voURWLEuqwCgzK/S
 j4UGrPUmZf9XOZcKdnN07nMEAJrNh6aoVgK1xwpyO9uTURuCppqAUym/fr4xNQqh
 mngblwIACnV9FpBi1ogtX1iDo4YeQa7t7ALgdwTBbU8upVFYzoVByid9ibNu3OKv
 j9JvL55jUVg0wv6a8bEWjxnNK/zVa/HCzTbAzHob0CSgH9WmEJJEUIqI2/PG2dj+
 ZX3QA/4y6Gon6iya2wk0Zs7mrTj80kxLRMnuPN6geTGVNTfrxat+sA1PVpT2WWSo
 qOrPoyxcpUBbJ3VlFmuYDDgld4lJiGD/2SG5BkD6OoGlRnD5AMgUxQtQFnkloao0
 3md8UDucIJnJRF94pttQtv4lVKaocm4z0Fx6cWC4Ysupj1AG0rQfTWFyayBQdWxm
 b3JkIDxtYXJrQGt5bmUuY29tLmF1PohWBBMRAgAWBQI5GODmBAsKBAMDFQMCAxYC
 AQIXgAAKCRBVn397GCw2jxyVAKCbPwK2rDZx/oahfd4M7XJ4GoF0xQCcDExtL+DK
 wOugUQwfVIExB+HBM3y0IE1hcmsgUHVsZm9yZCA8bWFya3BARnJlZUJTRC5vcmc+
 iFcEExECABcFAjse9k4FCwcKAwQDFQMCAxYCAQIXgAAKCRBVn397GCw2j/OXAJsF
 bdYQGgCs3sXMOdb7pNUi2DL2kgCdFOFSojmWV9mulpzH6ceb/fKgoJC5Ag0EORjh
 UxAIAMrmc2VXtnp/WWhGne6yTirnnWjR/c+rSK8ixbAqTkdYnocY6gtBJliR7LSh
 Cv2RD8TaUc0ZZseHC5vR7VZKXobXUF7QqB1Rgzz/CpsFeEmxxQxZrVKNjwcMloSt
 wmH17yW5tBDg8+6KhFwHj40oV88/49L8utVMEW80gh9O9TlYw5qCAp5QKqkFS52A
 hO54xjTNdEpv/9yXpwQfgUqkAHM8MQhsaxmKCIQXUGt6Lp13aHDAYtMizED0LBjV
 3P3qCoc03P9k2nWwGGU7dukncYNNuLDW9xwkAfV9VQuPYCHEBiPTcRnn99imyvNz
 FNhOElHDttCyKtt1FdZZVAQzXusAAwYH/18mnEMMv4rMZglYb0PRCxaxwQYkxESt
 KyXEclTc0kgyaZnf4Vbdz1rroxxZLIf+16p/MVNFierz/7d5FbJYggCDSsBAaj4r
 Qe2/Os3oCnHyyQY+zF9Ac30CsxzgDxMYxYGJHr6x+s9cloZ3WwBFAO0bMoS/9T/9
 /S7L0d0litecox5et2yEw4AqHdCslGx5mX0os66uh99eeEwW2EQHSLklwUPReb7U
 6m+fNyWxq5w+qTPG+zcXdiW/117T1aONVmg29tSNW8S/syha2PCJ+IoordBus4mU
 kfa49yCuXyZAYDNLbkiqMVTDCqrH2+n1mbUuhRBaSZEvgqVfVLZzRziIRgQYEQIA
 BgUCORjhUwAKCRBVn397GCw2j7T3AJ0ZDGzVqNQBE07ntRKuzQQmou8YhwCgibYR
 ZJyP31xlO+Lt5FgzzeqcQwU=
 =DKp2
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.206. Alejandro Pulver <alepulver@FreeBSD.org>

 pub   1024D/945C3F61 2005-11-13
       Key fingerprint = 085F E8A2 4896 4B19 42A4  4179 895D 3912 945C 3F61
 uid                  Alejandro Pulver (Ale's GPG key pair) <alepulver@FreeBSD.org>
 uid                  Alejandro Pulver (Ale's GPG key pair) <alejandro@varnet.biz>
 sub   2048g/6890C6CA 2005-11-13

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEN3W2YRBACt8uucrC3Gv8Q2PoAppL0Gdmy+ufJkvp+e3QpNnEvYPU7jivtZ
 MBuMVzadeiE2FMfzAhD90bLOxomZSwIKAc+uiMqqXrciOGMEBFFcHNOgHGI48me3
 fBvzQ4weJjGQrdUVOuQOtCNEmPHHdXOG0Vks+2ZD2czYDmixUkysso1gXwCg5ETt
 H/u9qXgKHxwQN1znhppBHu8D/2/ikj7Y8S5evZauwQ5m1qBMz7GS4FyXH8LZPPC3
 KJW9AHiNSOl4a0g6bH17OTaa6OOljyO0MzbM0UQDJON9JvGLH4q3ML0QQ145yfvQ
 fxLbFMU0B3MSOgFUkpRrWflbsleBp0BH6MCUNzdhDVgyQxyLkyr+mdX6m7N+EiF1
 m882A/9hz6+cmex12xdJnhx/frVL2Ji2deY4JntneNcZS7FBCWCe5d4weYUlLUJa
 sAZuwe/8q5BftMfHXeJzwLc+8zJ2EU6HEX7QdJTezSb7Mjh8Py8T/7TkyjK9LYJ7
 hg8BSx7hQ0xo1KJoDx057GjkE2PGW+ngUyAExGvZHc4Gos3lgLQ8QWxlamFuZHJv
 IFB1bHZlciAoQWxlJ3MgR1BHIGtleSBwYWlyKSA8YWxlamFuZHJvQHZhcm5ldC5i
 aXo+iF4EExECAB4FAkN3W2YCGwMGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQiV05
 EpRcP2HiqACfSVe9jQLEj8zM/iMLO3S5aLY6EawAnjIo6VapDopNW66BjRzFKQ+D
 P56HtD1BbGVqYW5kcm8gUHVsdmVyIChBbGUncyBHUEcga2V5IHBhaXIpIDxhbGVw
 dWx2ZXJARnJlZUJTRC5vcmc+iGAEExECACAFAkQy/PwCGwMGCwkIBwMCBBUCCAME
 FgIDAQIeAQIXgAAKCRCJXTkSlFw/YcLPAKDTcYP8Uso5mQls/wFYuOsfruyyXQCa
 A/xZlNpAz+akVuPQZRh4qqHH0nC5Ag0EQ3dbdRAIALqYTavt1809JFOCuiaOZBeC
 /qK5Hvi70rgyIyUJj6q0RrC6FzEOTKGQIaLZSdxhG50lw2KFOCkq0ARfhdrezR0a
 0WQApeSb63hd1lvOz8ocyPkUI1IKc7aD0aQfcplaf3NmQJ6HF0rEzenRUoxy3mro
 R1yddUO/HosbvaeSCRabM1ORqx/G3WFfmX6dHuLltvbModDmOr04QbQ4+gctmplR
 qtk7eRXAFAG+Fo7lkhF0z1KUFQF56kL3rDXaAQzE/Vv6Rgk9vOYGXLJQdngNIXhC
 KVzrkqrZXj4El1gfSR1Dl32AzZtY6acGF2GvMGm2R2udTHsYeyCYXKlBRu6xakMA
 AwUH/iRn8SsuszctzdLqNxideej+9FQ+nHaMBw3Y+N1tlkHeDVmPDNiTotOzYo/V
 aRhW3bAebwEQr5bOs/6bnDrK86b2PUuwC/XtE9nXF9f1QQvApIyKzW6VG/FsQIpd
 +5lNWfRDKmoUZpMeKg9bQCjeFk8tFXsnp6kn8NhEAMCCeDwiWYUl8pcFlNIwPs1M
 brkZ7QCbA8OFAK0YkzUqYmvKPIS2SjpMA+uPJ0674v8kMuh9VhcQj/1RKKR0q2Fm
 sUykWFoGEp1FAVpMkKa2cKS3vYgpobMjVYeMWhsWXAFM9hZT9gI5oKVo7ECUZEBO
 f9dufNDZ1UHAHlAojMMCW53/fGSISQQYEQIACQUCQ3dbdQIbDAAKCRCJXTkSlFw/
 YY8XAKCxojHrj/8OzUI3PFFTS1/afkj3HwCgz5wfMMjyDZG8rUt9ZFbUVN/RPs8=
 =iWC8
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.207. Thomas Quinot <thomas@FreeBSD.org>

 pub  1024D/393D2469 1999-09-23 Thomas Quinot <thomas@cuivre.fr.eu.org>
  Empreinte de la cle = 4737 A0AD E596 6D30 4356  29B8 004D 54B8 393D 2469
 uid                            Thomas Quinot <thomas@debian.org>
 uid                            Thomas Quinot <thomas@FreeBSD.org>
 sub  1024g/8DE13BB2 1999-09-23

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.7 (FreeBSD)

 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
 =mFN1
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.208. Herve Quiroz <hq@FreeBSD.org>

 pub  1024D/85AC8A80 2004-07-22 Herve Quiroz <hq@FreeBSD.org>
      Key fingerprint = 14F5 BC56 D736 102D 41AF  A07B 1D97 CE6C 85AC 8A80
 uid                            Herve Quiroz <herve.quiroz@esil.univ-mrs.fr>
 sub  1024g/8ECCAFED 2004-07-22

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBED/zxERBADJcZlF+Rzm8wL5lPTTPA1zLwa9u4ZZeVheS9vRGTOC6Sfi2NV9
 feWCM4TR9CVtp2tAcVlrXjBzvhbeNajssCPn94qUh4z8ERJKT1R8n4zlilTcMTSQ
 qZ9t7mIpcpsmpCO1FvfozjfexpUSeLHONKlwHhXXQFdJm6bw3X+kZKUeQwCgut4g
 ilrxtY66n6pzC7jt8GaM1ikD+gLzk88lPNHA8hZurRaYoRD2cD7jOMk0WNuuRZLA
 4LsG+hJUyrPU5vLKou+2iXl6MBvjlYwY3FS5wc1PZ9tRRbMNIq71xCTXmSapks50
 M+/cVYhJhQTVWCFhY+HZLDJpiaeMEkTHqoXo6ePVSMgFDQXADv/hMIPkNheXzmXM
 yhw0BAC75FBSMcRJz8jOaHXSZ7AM9EdMhH4mru1YyfLzwqk0DQS7ToXc8mEpo9SJ
 c/rYfSHf6Egx9856sncCfLvoTScZDwWXvB7kJPOfXK0u8KK1uZBDAqEacmm2oEHd
 Xi0KbfW1zyqIPnLKjgu57OqSGyDBKzC2XuQvWcNk7Sol/Yxp9rQsSGVydmUgUXVp
 cm96IDxoZXJ2ZS5xdWlyb3pAZXNpbC51bml2LW1ycy5mcj6IXgQTEQIAHgUCQP/P
 EQIbAwYLCQgHAwIDFQIDAxYCAQIeAQIXgAAKCRAdl85shayKgHKNAJ9/qmkJgaMW
 zOFnMUGcH/fc9ksrZwCbBhYIuo/nnHe9tC53mIlqDoXOz/a0HUhlcnZlIFF1aXJv
 eiA8aHFARnJlZUJTRC5vcmc+iF4EExECAB4FAkEOc8MCGwMGCwkIBwMCAxUCAwMW
 AgECHgECF4AACgkQHZfObIWsioA0SgCdF2eAlmqyihMQVf/T8r/x6x385vIAoIhZ
 hhYxTsWZ4dUA1XmbEfZxMQPvuQENBED/zxMQBAC8M+1oDgxVjVnYlhapOHWNMDlU
 1LolN2B9sUm56K0UaCpnCsrm2Jc/kzr1egmjqxGkV1dIih65W+oPZQOBqq4mAvPI
 SRlE0MrcPCeRyzN4zSwqwu1o0rcCWaacPpNxnG5icluD1RPBDucRPhc8gFMmcfEq
 5pgw3LU58ZIrvB3FLwADBQQAjM9l/u6o0CVwRZ6XshuJQnc7Kt+su/xyZjkYqURp
 sZ8Q9xWgKI4Tv/x+IbgkU5D2vCu6FyfDpBMWsNnSxVJ8FaHCWDKLpDHxB0+RUcme
 HRcpvV+HnLvJtF1V0dRB3XVtD8h6TcGuntFlKHFTKKQk4H5X+fbsUdq4ycNwgNm/
 IfyISQQYEQIACQUCQP/PEwIbDAAKCRAdl85shayKgJrjAJ9S1aS1G9Vpq0kYjZHp
 pFmvrw+CbgCeIgeeepmX9+n+2YEAuWfJlX2KZCs=
 =Snnd
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.209. Doug Rabson <dfr@FreeBSD.org>

 pub   1024D/59F57821 2004-02-07
       Key fingerprint = 9451 C4FE 1A7E 117B B95F  1F8F B123 456E 59F5 7821
 uid                  Doug Rabson <dfr@nlsystems.com>
 sub   1024g/6207AA32 2004-02-07

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEAlXqcRBADYFElOoUIMntNwwMiVO/7bQQGYgo0HOz2ih10GpP3iyNletvOt
 AbH7AFCB/D6eHO/pOs3khk3ys3xL618e8vxttN7/jC+GWlPb6zReE92A75iP7+ud
 aDCccDlpfsoLfTt8FlZnFuA+d6gJ48Aie5meq1T/IlFV/EJGZ3BfTyKkAwCg545G
 dnVFL0hRjIJkz6Bs5xKqpxUEAIpfe1Ik8aXgwgbW35dZPUtUNDU3OmullZO8z2BU
 HefkZDyL+y5MBO/9aGtjN+TpnhmhWcVKD7rhTsL4w8v719Kq3cGFfNL/E1D6YyCp
 /BU0/Hm9+1MMxPg+nIUkhU4HmtZGoLT71xRSendbZjCr+s31XXxA5YbLruztTRFT
 YcNyA/oDbsyMIcEemO7F2ypq2FPlnjjCISS2Fr0HsBQltedY1Kr+hfOnjYAcMfIQ
 QyojMPl3bV4IFcavIhkiQBPBwGJsj/SNgNhOek9v9c4iuLpXzzbOfO4WiRBkpUY/
 Fzefogi7d+9t/PyPVzd5Rzwx4eqrTYOeMT8TJmGLWkoUwbMe1rQfRG91ZyBSYWJz
 b24gPGRmckBubHN5c3RlbXMuY29tPohbBBMRAgAbBQJAJV6nBgsJCAcDAgMVAgMD
 FgIBAh4BAheAAAoJELEjRW5Z9Xghhw8An02BsS5+rEgyF+f+byeZy5sIrDnJAKDK
 GpoGPWfwZ8leK1MqENlxZZerx7kBDQRAJV6oEAQAvo0FvU58ew8t5XAo27wvwpxV
 pdWoKRTF7lS7ENfhwoiHVW2qsX/TfxyRw50BEtDUlFe7lBqSyskJ/3ejcVXuJ5cm
 vYmxrUEfas57AnBsJqFerQhqB2Pr6BwDUU9kpmJv9vAlt/vdX6lIkXTfvGcrSFWF
 7cDEL++0tD63ULOVQ4sAAwYD/1CUpkXjwmFkg72LddRrvmXtKxk3crql4dYj/wjQ
 JeWeZQT+HKOOIHYFENZAqC8GSfQ621DeFD+TIN9SNeBG8K1LNqxUk71QAwiYSz2R
 Cm3n97esKKD2SB0yJDQJo+MsQ7PKdQPJtCDk34x0JvA4eijiTj9yGdQX8jWi8Sd7
 H0NPiEYEGBECAAYFAkAlXqgACgkQsSNFbln1eCGOuwCeLy66OJdIebn1pU3UXo8O
 xlFnyncAoOYrXS8vPETOhlx/yeBVsgfX1vcL
 =ZXPM
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.210. Lars Balker Rasmussen <lbr@FreeBSD.org>

 pub   1024D/9EF6F27F 2006-04-30
       Key fingerprint = F251 28B7 897C 293E 04F8  71EE 4697 F477 9EF6 F27F
 uid                  Lars Balker Rasmussen <lbr@FreeBSD.org>
 sub   2048g/A8C1CFD4 2006-04-30

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBERUw7QRBADJY85JY9QB4nxv3rXAPnlW59gLmWzuuVNnKBrQsoD5jq6WrDEs
 fqqU2h/JwHB06RZMm/VUSH9MnsrxpGGKbIuJ9bRn9zA4qbgP0kPCMoyb9AmyGEYx
 bIp0N1PeYni64IQH3XGaycloWNhNDDLv6o+c6e+wNnRfUv1qygKhM8vf5wCgyN3/
 KgxrTIo27FnrLDatjxYgHeMEAKtOpeyGk8VhkxXX7t6/sD1HPvDiuYLfM/14VKWB
 ZXaWcOzhytZRFbu/DDG2sMiMFdK8Xu7a1Zsfa683kmpgqHkG0FYcS14Y8yHDU1IM
 GpCRz18v8tZwW4N1npJ/vthpL1B4Hx0SUhGo2HgE85pRHdsDbhp0S6pZW2ff25wZ
 ljhABACI2/zM6SbfibbyRsvJcyW/TOfnEOxHUFfqT3SFYAP79hRBsqCN8v4fSR54
 Tf+jHv7uYVH2lK3zED3sXn2VCgjD3jJNLkeGB6qY/WnWYCB63YwUXk2igOqGijJq
 XEVplNG6ExaQIco5vilOseqWuW5ONJKMM+iEi5TpfV1cPGFpAbQnTGFycyBCYWxr
 ZXIgUmFzbXVzc2VuIDxsYnJARnJlZUJTRC5vcmc+iGAEExECACAFAkRUw7QCGwMG
 CwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRBGl/R3nvbyf/xeAJ98F2AdELJxK6Po
 3rTPUqnJK+GZawCfX/0jvc82JWnGwbDcpyp0+xUJ/xe5Ag0ERFTEKxAIAP2AWduS
 +WfuTAqZlD2aIzyvzZPOJ7a8ZDmUtBDxbxuBetLMqC3oFMoZ1/857wV3J7Jvxx7u
 LFbpdYS/0zXTjyKE/NWqeHIuGH9fDOIDuUKT1ZkEh+OzfWQaUihYTib330LwWP1s
 9J8zLCJM1SdQSHVDOG9m+28JXH4ITmK3LkR3zdb/QYEOyFmHfhSqVQpZ/KEBYZ1K
 Kn0gItwqDILuk4v8BvR3ioWF1Ywod6JEMAgJvwypyDlyglvVVvav8UcOYIYfyv2i
 6g2EjIqmCpzaEa3m/RumCWaCLIIeZUqpM+rIfQyKcjgU8J254dFMqFYFIX7iFGnO
 FVhT8tyNXolkKWMAAwYIAPrna0LxXoNVdwCyAW6pcNR9LkWsalQ+cCTS15jnguq5
 V6HmMHsbAIwcXqZn6benX5g6Gx68gIrSS/c3iBMS3jiauIu/bjvhdTMLr0v/jXpp
 7HjdOkgwfdE184hxVzsO0w3UeWFVhmb6sW/Wb9OtdRTj160mHj5UsCycg7Q75R20
 2sBke5vP6o22CCNOZQxM615oFDgotYO/D5I8h/x08IQHlyxzgG2VXFbb/vvibOVs
 iFA246TaRzxYjo4pJ7apRKhXWX9Bm6Tl/X3X41idqbkZXXcdOV8i1jjJ+8hvmUXX
 BTrU4DyOHeRrKD2GRBGMn8WxhPL0DN+w2zBRpRdM7sWISQQYEQIACQUCRFTEKwIb
 DAAKCRBGl/R3nvbyfw7kAKCnpl/jNh5Hx0mkJ6BEDWlmGzuvMACeM95BWxxghmcn
 J6BmOEuZ+TPmHxc=
 =6byw
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.211. Jim Rees <rees@FreeBSD.org>

 pub   512/B623C791 1995/02/21 Jim Rees <rees@umich.edu>
           Key fingerprint =  02 5F 1B 15 B4 6E F1 3E  F1 C5 E0 1D EA CC 17 88

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.7 (OpenBSD)

 mQBNAi9Kb+IAAAECAOaa/3k5Zo+9i/fUPQfU4fzrRFwNifp7ujcxLNFsnMgcWeJZ
 XMd6iGiomTlBSlIHeNKa+JMGPmBTRrL7I7Yjx5EABRG0GUppbSBSZWVzIDxyZWVz
 QHVtaWNoLmVkdT6JAFUDBRBDA7AqRrL7I7Yjx5EBAQSTAf0WL+tTm+n0NFF2xQUO
 ZfxpuqnERjNQY5KaWQuC6qk4UOVCwoBNA24ZxY7TifvhsNErMHMc6HTKGvzhyGyV
 q/pGiQEVAwUQOhrmBjZ8FqYKL4flAQGcEwgAwPj2xt3ITbeUWf6HiqA1u6FiIy+w
 T+GZC2Mit4UQNdjKuNJad7t56Wqem57IhOGDWGYZJoZki65y9jD0BB7MixjuQhhW
 CV/vjdiX+pDxa0HG/75CNS7PVribIuhpbTFR2tG/EZh0sl8yMUpYho81yUDMeHVN
 UV8YqerlqntgqVra2cfPanScFve9YYXVgEbM2wQyWnEG6q0wPL+upmoZ8ppozHfr
 dVYiOonwl6QrgtzavI3tHTHtxDajMJpnQLC0rWHQRmY0Xd9xs+YUpaoUcOQFUH8L
 PEp7d1OQDd6KJOV+mQ/Bf7tZwl7as3cl/16nCMZoDJVGNGCuug4vEeV36IkAlQIF
 EDMEqXeGvtRXff+FMwEBX3sD/1Uf0sqHFBfFtuphKG5ZK9cz12NRANLpVf0welRX
 Y/Yp9AIL9xGGiEFvlma1TN8IA50Gxgxq7cEiHDWT2Zh4Hps0VWmuH9vGwc84D6PW
 JXuuPV4sdfCZnJUj+g13P7ypSlPSS8WIDVET5vG+K5m8jOQJ0NPsWGaZMGknXfLT
 ZDWDiQCVAwUQL8yKYkDqOE5/AdFlAQEmFgP/VwyNP37Vaunu7DdvBblDMpfMStds
 9GY0Jmhe7q1EkkGjwSJHtkn31yPwdb/93d25puCU6rZ1+qw5jKMY9qa8RvCOnnNF
 vN0fOqGso+We3q2rGamjBYtVnihYBni7jCBTJ1lvHixWM5XjyGkIQsRBoh3qNUNA
 I3LeH1ArE3IHzDSJAJUDBRAvxTnlxS1HbQ2/kG0BAeaxA/wPKsCrDl3qJsxrLPUP
 tMfXhGBeOZWPMx1rulCknHpTgfjPpA7soh7K9zi9LAatR08sotD7oAFWslP/OR/F
 DsaLWztFjSmu1laZyU5E7yCIsHgILX0aIsazYW0UoYqCm87FDzHP1kjXs7c6mgOJ
 g2YIY6o3UH4azIigo37B52J6Ng==
 =O0QA
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.212. Benedict Reuschling <bcr@FreeBSD.org>

 pub   1024D/4A819348 2009-05-24
       Key fingerprint = 2D8C BDF9 30FA 75A5 A0DF  D724 4D26 502E 4A81 9348
 uid                  Benedict Reuschling <bcr@FreeBSD.org>
 sub   2048g/8DA16EDD 2009-05-24

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEoZOPQRBADIhhxLB7VS78ooK4j9HuEjamF7QZTXvti7rtJdnJRZtpHW2Tzo
 GWbmlyYBQoGTk8DVuUoQCO6yy0PNe9CVUDxyXz5dUL8/fSfAOhwZowXF7X5mSP5I
 2G70oN9PgdMhxazIPoUlRFAtuDEZl8udtCOVyhiLylXnHj3LJS6XG2oetwCg33hC
 UWM/ZW2XZUt7+LQfdbTvgycD/AqrDrqazX86fI5MjeRuXB75i6OCUGorcWH2T8i+
 P6r3+1A1zjxhXcYMsCI4CDBHo2Z9oq2LN7ullvutfQA3sFR2KxuJmOa7GqHFI7Zl
 PYiRD4Zkuma2bAxIzer65IwQaaC58MCoBxTUqyKys4cv0Lalj6bh+yVArG0v8is2
 5E8aBAC4GptIHT6kfx1515W/1aBiPo+2Qu3227FLyNypKu3x/EwmFu3igbir6EOf
 uQLbjWclnJv2IXZhxiS08EoD6sFFrgDYAcXa3qPpIMjYEEmH5RziISGDwqCazgFY
 63paO2B8aHJB1W+A7jz7PYMsLNXt0JhwG4hLgK8fWT0NKG2TSLQlQmVuZWRpY3Qg
 UmV1c2NobGluZyA8YmNyQEZyZWVCU0Qub3JnPohgBBMRAgAgBQJKGTj0AhsjBgsJ
 CAcDAgQVAggDBBYCAwECHgECF4AACgkQTSZQLkqBk0hwvACeKQW/gMO7z6hv57J2
 4Ed012vx6mIAoL2JyQyqhtwjM3QJ90ZCvB073uTmuQINBEoZOPQQCACi/zTUlqiY
 dA+XNPPH93JSArILJcRIamP8n+Ans6akcluVONe5qRG1txgpclh9/v0Cv3qkr3hM
 Whm3Hh0zCtlrpZbd3oS1qdejpnCJxWTyISI/n6LXyoZ9YHI+IdYkcQowxxFDw+0J
 jIF/ROzHRyAmHqN0ORPyN0a+Xu4st+lgWBCj84op2xzzId+d4mTTyjvlAzbBaijI
 xMdbca3R5V4ISFzGiOHtEWQYb0lUz/DZVXYC22JnQdqtOJy/vZ9IMsSdi0tWsugo
 DGRtfdLAsg6PHIQZgTwbfehQmdSsLAAy43uvs1ywT7Nh0ffCmQawvvOhUOlIrYXU
 jxnIxQkncTqDAAMFB/91mznM5M2NWRhEIG5p0SKJaq4rrXUngMA0Tl4dhrJhlkol
 TfTTlS2u8jSjEK+39Lbs8uWZDXg8PHK2i8LOmgmuf1JfRV0clJMa01D/ZHIBRVB/
 TrJ3ia9rM7EG+2GBFzjkuMEpKBFrW/YLtCJZUdYfyQRjtLRCa3NEfQolvUvA3V+W
 ehixnxIpUJrz3JjLGcDVJx0tkgtFV8f1D6O9WEUc9jLzAM7ehrqbA1QQFlnwDcZo
 T1m0+Js3cIOfiLMqHB6iZi0tBTj5A2h5C/lWVCdw0HYjZkRKc2uG7nFfv++9mqS4
 HyiCcDiyStR01S/CuV5TCLZ17tW1Ihi53EGO8K3hiEkEGBECAAkFAkoZOPQCGwwA
 CgkQTSZQLkqBk0jJ8ACcDgRWhxql58ou07O1MZZbCBzDnkwAoI0ngzxuGBDgIIyx
 vPpqAjKmWnR2
 =WFIY
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.213. Tom Rhodes <trhodes@FreeBSD.org>

 pub   1024D/FB7D88E1 2008-05-07
       Key fingerprint = 8279 3100 2DF2 F00E 7FDD  AC2C 5776 23AB FB7D 88E1
 uid                  Tom Rhodes (trhodes) <trhodes@FreeBSD.org>
 sub   4096g/7B0CD79F 2008-05-07

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v2.0.9 (FreeBSD)

 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
 =S+Kg
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.214. Benno Rice <benno@FreeBSD.org>

 pub  1024D/87C59909 2002-01-16 Benno Rice <benno@FreeBSD.org>
      Key fingerprint = CE27 DADA 08E3 FAA3 88F1  5B31 5E34 705A 87C5 9909
 uid                            Benno Rice <benno@jeamland.net>
 sub  1024g/4F7C2BAD 2002-01-16 [expires: 2007-01-15]

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.7 (FreeBSD)

 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
 YbCuiDguaEN052KDrSoDvk4S
 =L0S4
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.215. Beech Rintoul <beech@FreeBSD.org>

 pub   1024D/790DB7C7 2009-01-23
       Key fingerprint = 3AFC 32D4 093B 63F1 28A8  1A18 B378 28D2 790D B7C7
 uid                  Beech Rintoul <beech@FreeBSD.org>
 sub   2048g/9F3B61BF 2009-01-23

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEl5FK8RBACFkDT67YK9/ruzIsOMdo903UH3E7wlWRyI0A1KFk6BuBNhDVNb
 QswVV7ZAn7sWCLST3ZNA0c36DAVanrU6Ur1qaX0+4J3+P0RkTsTp/x5iusOWWA8y
 ZPmnZG5QrWeokYCl0WFUI/0n24a/ALQ7mYhASHgY/JqOsqKuHyhc7TYFKwCgh9W8
 lFUjrOmbBxSy8A+gtxA1QtsD/15grmcjTeS6poBpcLgvF5MyVBS9DpgrL1IU/B1v
 X1punyUBO02h1qh+lS3gLoMsY/IxiC23cgItVkOS6xMgrasWlVr6poPovVdzyV0V
 nXkEiZsYV/DafX1WfdBO9Lierb9H057ToWRElVg1HNglvqsOxYNbuMcPQqMvatXt
 M9BzA/94Y4jfIJ1kdX1sORutRNML0YxJvJ5dUV1ZrrGTTEUyPOvvJKo59VYXc8b/
 6u/0GQbDkO/o8n0ZmYaxU++IurtmmdlTTE7Y58saXOUC7TYrbJVQqbWbm0ovRBuU
 57/m0MsNCc3OVOkEhj7YciE0UkIy+wgHdIhSMVvC5s2bIzoMErQhQmVlY2ggUmlu
 dG91bCA8YmVlY2hARnJlZUJTRC5vcmc+iGAEExECACAFAkl5FK8CGwMGCwkIBwMC
 BBUCCAMEFgIDAQIeAQIXgAAKCRCzeCjSeQ23x5i8AJ9Git9M9ajDfaMXQ1hxzfyn
 2GMzpgCeMgVJsGfb9vRWnKxjyugMKyL/PQ25Ag0ESXkUrxAIALUY+/ysAMjyHKFB
 s2Ye0zgPI40yWi0bSXVGhvY8phRo2b9cHtuBRy0wFnYjF7I1Ep4CIjUnNCT0C7S/
 bZQ07HnrCK+tgLDCIZawikDm7MqvJe/vacMKT3k+jYaN5/iK8IN9qwwWQSsylX5F
 O2HoifAA1lBg7iKnCLgwMHTkL6wx2YjLRingTh6dOaHPOnEXPmA57asMVQ1QIF4H
 trHkM1m06yIxtLt5ho8G7DQ/EfOvXEEIYFtP91gTM0yJwA8i5jjxNVMDuemFSxA1
 FtTuRidGIvA+zXSgNbpFhtBYZFYqD3rN5HALh0E3RcGhwTiHld+hYHku72BKdfVR
 vr6+hFcAAwUIAKlWnCWT2byzkMncxI8VyIZuu5SkOreTMRx88EKA5PbDaJkiN2+k
 m/6iKCHSneUNMd9LPuzUhMPgP4fBi84ib8Ume6ZhSd9d+lp28B84fPg2pIZG/gA3
 vRvMN3sxCVa+Qb3NpiKpVt0vfDLG+lRcEJWHMed109ym8kLF099Hc9Odi+9EUflt
 qYEP9/wLJcc+vvd/MytB7n25ykQeQmOoKLs1NZHnDuowzobn7tMxxpW89pZWT1zd
 atMXk6E7ja7G2+T/ugcto8fhqTAztg3+JKaZ3aHyziD5tMREMvzwnSRe4Pb7urja
 7lkeQ7PFCnz6BlU2uNFKvNrGGOgxNDAAnG6ISQQYEQIACQUCSXkUrwIbDAAKCRCz
 eCjSeQ23x4H5AJ9zODtX+BYdDUhH5yl0IxFPFnTdtgCcDXbA5aDUILIgIps1qEN+
 fQOwId4=
 =FPRG
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.216. Matteo Riondato <matteo@FreeBSD.org>

 pub   1024D/1EC56BEC 2003-01-05 [expires: 2009-09-07]
       Key fingerprint = F0F3 1B43 035D 65B1 08E9  4D66 D8CA 78A5 1EC5 6BEC
 uid                  Matteo Riondato (Rionda) <matteo@FreeBSD.ORG>
 uid                  Matteo Riondato (Rionda) <rionda@riondabsd.net>
 uid                  Matteo Riondato (Rionda) <rionda@gufi.org>
 uid                  Matteo Riondato (Rionda) <matteo@riondato.com>
 uid                  Matteo Riondato (Rionda) <rionda@riondato.com>
 uid                  Matteo Riondato (Rionda) <rionda@FreeSBIE.ORG>
 uid                  Matteo Riondato (Rionda) <rionda@autistici.org>
 sub   2048g/87C44A55 2008-09-23 [expires: 2009-09-23]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 zIEAn1IOi7barh7DDNvdtZ5nQ6V31XmDAJ9Lh/KNe/dgiX6GnqA5ti0fEwB8N4hf
 BBMRAgAfBAsHAwIDFQIDAxYCAQIeAQIXgAUCQXVk4gUJBTfOpgAKCRDYynilHsVr
 7IKJAKDU1KY9xWJZmmoLaHnOjNcMt7OsewCfVaLCIj5OI51InSN6rube6W5gmtWJ
 AkgEEAECADIFAkVVuYgrGmh0dHA6Ly93d3cucGFlcHMuY3gvZ3BnL3NpZ25pbmct
 cG9saWN5LmFzYwAKCRAmSeYoxdNNBcf/D/9erGdyo3vlqA2jUIOQRPQMNCS/71J+
 2CFBSmJ2I9WmeFDR/aMFSVrd8AQ8YmgaeC0qA9Ql0IYaT0dTfd0FSb/vwFlPsd0J
 xBSTAtnNVxwFm70WT/Ny11MDqveZwbG2/k/JKICDQ9bgfe5CVwTybrtl4scvTPDS
 KIPUG73BDMurgRsUF4zHXbzo9ltEO/b2++sq3Y0f+V1IMMMGGWMU1NF1SbkbQyx4
 T7jGJUPbDrMF7lmdZKRW89EIxYQ3jLPVB9A5zksSrc7oWSQ02NUjLffju4wi2nbp
 4SVYmkaL1rDP03j3QrCVHA76wtNg3A9Z7pwPmau17dcvFxmrc8VTiiaIwz0ssClK
 Mcf19qeWNDvnD8Yx/4xUL5QpJe0QpRzY0kI8IWhiLqZAB0NveemmIZT3OoeDBXDM
 Xa8d+WD7N8O8LZkjWqKDAP6aMAlZ+Vc6Rr6xkdvQlZejMWqNIgQTnfi+DbEGG03t
 CFTiH+ymssuph1yz0EaP3wwwmIqLO6onFmemVfStgfww7jRifnpeD3jWKicgL7PY
 6k39Lsn1WTBHXrCM3nIfHGn6toKdoPMUsf7tCKcjEcdpzWih1lEbBwRK9GExXeKw
 3FtEToJJtyCEWVIaWPR4js86/NwQOhWpIZqYLaGMy3OtNdTYfvDSKQmoOhfU9Ma1
 MdgFreifHUYrO4hfBBMRAgAfBAsHAwIDFQIDAxYCAQIeAQIXgAUCRvJKowUJCrtL
 5QAKCRDYynilHsVr7Ct0AKDGZfOIDsaFhDfcgsQyosFn8MGztgCcCSCU7JryVjKj
 fDuu8pFy1BNwema0Lk1hdHRlbyBSaW9uZGF0byAoUmlvbmRhKSA8cmlvbmRhQHJp
 b25kYXRvLmNvbT6IZAQTEQIAJAIbAwYLCQgHAwIDFQIDAxYCAQIeAQIXgAUCSMP1
 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
 LlxcQeUB
 =cJab
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.217. Ollivier Robert <roberto@FreeBSD.org>

 pub   1024D/7DCAE9D3 1997-08-21
       Key fingerprint = 2945 61E7 D4E5 1D32 C100  DBEC A04F FB1B 7DCA E9D3
 uid                  Ollivier Robert <roberto@keltia.freenix.fr>
 uid                  Ollivier Robert <roberto@FreeBSD.org>
 sub   2048g/C267084D 1997-08-21

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.4.2 (FreeBSD)

 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
 izq3ic4=
 =mgE0
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.218. Craig Rodrigues <rodrigc@FreeBSD.org>

 pub   1024D/3998479D 2005-05-20
       Key fingerprint = F01F EBE6 F5C8 6DC2 954F  098F D20A 8A2A 3998 479D
 uid                  Craig Rodrigues <rodrigc@freebsd.org>
 uid                  Craig Rodrigues <rodrigc@crodrigues.org>
 sub   2048g/AA77E09B 2005-05-20

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEKOK8MRBADOO9VIucM2dGygVera0+Hcu9ud2f3MrcfVgsB7/awfE/MgIYtC
 CFtCJrD1Ml+p/spmiuzJNDSamT8NHywsG5R+GO0EC76+mfL3hwXvGUJoQV+NcDu6
 99s6OUWTimi5OPOURzG7lXYpO0wVysx3R5Nzg7tIC06fmXNXuj02JvCm+wCgqkPx
 nZgCFoqq2mHoiLL59CUExbED/iOnglDOuZsncR9xRZJfbSLUJf5z9NE413FXAx3f
 THY7+akGk8kWChrOeyIvLvSGmkHHFQXgh1umG4fFd7TCJ0Sexh44s5q0ROjEK4ge
 nwAsS0iheMB6JqW8ibBfawr2iwu3ZAkqfelU+NSbHm4sEeHxEGyJtZKA7rOPGDm8
 YOBZA/45n2E/Z6hv6D4Bm1xEDGNICK28uTqzXh0wyCJJtVOortd4CmKZZrZJj7am
 3aDdtFUZ1yZc5FW2E0xLa7Oz8HUj7eMT7Ljfd0c5yNna7WcNjqWNAz6WMhHByRZv
 nOPiUMQNvCbyrKw9OsFKNNbrSnjQcc/5yy0SiIMVm4rydXzK0bQoQ3JhaWcgUm9k
 cmlndWVzIDxyb2RyaWdjQGNyb2RyaWd1ZXMub3JnPoheBBMRAgAeBQJCjivDAhsD
 BgsJCAcDAgMVAgMDFgIBAh4BAheAAAoJENIKiio5mEedzB0AoIXeENkxV41KlJMV
 z0ozHJ/q1ESdAKCimzfOMwz7Qyauo4VHs4rk7NEPerQlQ3JhaWcgUm9kcmlndWVz
 IDxyb2RyaWdjQGZyZWVic2Qub3JnPoheBBMRAgAeBQJCjjVzAhsDBgsJCAcDAgMV
 AgMDFgIBAh4BAheAAAoJENIKiio5mEedT6wAn0IjcGqARj8Qe+JZThbQCQbH0ERp
 AJ4w1pYLdsKphwaEB8GakvaeRsrBTLkCDQRCjivkEAgAo5DHUcjEBK54Vo2S403y
 InnfqiiUDXqb8Oof18CICB6JgA3NjP5g9BE5+7dI8relt4Q0ILg2IJvISIlfmyDl
 +GuegA3dMo1IrghmtI5+IWN2mm1iNy96jpJ1TQhvHTFDlETdV/BE57CcO1ZnKHiW
 m9G3GjnMrunVyLMEY+6TJ6ykqP2VzYBsc847iCv477LdYFe1+vedZb8Bk9xpeeZJ
 tuT3O+JiR+B/SHISpycxyM3ei+C7eRRC8wV+khOw/8xirJ1Wzyg3GrolQPtJsTNG
 mqg6DXIYPY5wbF3SUBT5ZA7pLPxXhUWNewU/8mXisuM0hp7nz9VLQ4JfbMuvGF2j
 wwADBQf/SCUw06q5l8qdJ9G3WFfPOE449mq5uXHGlfeamCkjx9/SzI/8yldrxwdF
 5XiAZWRpeQoksUbPI+tmxWqi8NDxt+KLDNhSCg0+C8KRFBY0ZI4CDmUg+MX9Mix2
 ir/RK6eoEYNXdt32raX7MzQP87LTL+cnxJzbQ702HYpVqrJUOgSRwQ3posbp7hwV
 djfiE38r9Hd/E4ZxxAIT3GafZ12KzxQZ8dSxoa/2tP8VfAfe9jt/XX4F0QD2yIGV
 2wJMd/CZWTZgDfNW1anGR+9AyV9dT+8cYi36fkgTQb5rN25rJKzHd9RA/EGJXSU4
 l1hNG4gBpYjF5gD/UTuSgGI6XInycYhJBBgRAgAJBQJCjivkAhsMAAoJENIKiio5
 mEedTS8AoIa+gNX84jClqNvPR5lMlQGKeB4HAKCaEmhTA9kGSY5JW3hsfDiwfr0a
 PA==
 =hHZm
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.219. Guido van Rooij <guido@FreeBSD.org>

 pub  1024R/599F323D 1996-05-18 Guido van Rooij <guido@gvr.org>
      Key fingerprint = 16 79 09 F3 C0 E4 28 A7  32 62 FA F6 60 31 C0 ED
 uid                            Guido van Rooij <guido@gvr.win.tue.nl>

 pub  1024D/A95102C1 2000-10-25 Guido van Rooij <guido@madison-gurkha.nl>
      Key fingerprint = 5B3E 51B7 0E7A D170 0574  1E51 2471 117F A951 02C1
 uid                            Guido van Rooij <guido@madison-gurkha.com>
 sub  1024g/A5F20553 2000-10-25

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 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
 jwCgnb++jBLoAgqu7BiWMBVe9sCLfMY=
 =qL8T
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.220. Niklas Saers <niklas@FreeBSD.org>

 pub  1024D/C822A476 2004-03-09 Niklas Saers <niklas@saers.com>
      Key fingerprint = C41E F734 AF0E 3D21 7499  9EB1 9A31 2E7E C822 A476
 sub  1024g/81E2FF36 2004-03-09

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEBNxyoRBAC22NnMqcH1hXXkz+jC+U2QGzOJdGHZtLRXDRpS4blFtRgAf4ab
 tZY6LJUMnjmdgaPP3Mc7YE/ITF1hGnzYF2jbJazNm17nMSP/66dGJt9dK4XAE4cc
 5nYo3GnEkacAa1zUvM6e9OGaAIkndBDUW6+a9aSQNcNyMnYL1/APv+wdIwCg2G4C
 N221QrjrGbxVQPiBM51lY98D/11d/h8aOHYkf+nirhIj9GvRmXJfD3RANZUDjOsj
 OKGgUNlXm/AT6I226v9urfdtrhMg+5zdO+I2p7dZMad/RpnSYo0GMdLRzOlN6aoI
 +4JYoACq2C7iR8pmItb+L4Nl5nNBwmcLBXD+HaZebGffZy9Uvy/A5G0ty08I8LKm
 5STvA/kBMybZhX+RTq5v1Kzau63bMBJR8MPHyWYAIBW2wTMJM1ndW5RrbIMJ71qC
 8DFFTHFJd97s/fqBMQ9rj094CdDxCYQJUkZy5+qiBkRta//iSlgsi54Xhj9prgPj
 nBMWxUjAI5Ih0VPIp3/z/q5aQRvey8Ro5JWmduzH0KpLv2Qe17QfTmlrbGFzIFNh
 ZXJzIDxuaWtsYXNAc2FlcnMuY29tPoheBBMRAgAeBQJATccqAhsDBgsJCAcDAgMV
 AgMDFgIBAh4BAheAAAoJEJoxLn7IIqR2/y0AnRetbhzvjj3kKOV28bx2Qt+YRA/j
 AJ4yY9wDPJpwq63IsGeo3BYXi32zPbkBDQRATcc5EAQA2SipeeJJjvrzqqILHNA7
 X+m/PAJonO4QhyIEXXMhzNGdiUVJ7wli23gGVF0Cj3V97Yw5KFGco3qOvvsWkO4c
 CLwd3NHbVL6OHKM36LcFd+a6RiJO9qAGGixyqUIkqYeWCmpObihrkZy9WADsSJTc
 /qOrLghJ0GyR4Ga8CoFNT/sAAwUEANfA3lWeTj3QZcDnJZYejt1aJWt7oUBQ/KOc
 HhTjY/A7zkQsAdgbcmuhzSiIH6eoofTwNOl/Kl0ieSdIyFMFfVxrmYEN/HUUUI4q
 J+BgWZgppinaeUEabnZPfY03T+ZanJ3DmB8s8x4HdpFi3jgtWY0KfDhDfHtNIeRu
 CYmLAzjYiEkEGBECAAkFAkBNxzkCGwwACgkQmjEufsgipHbIOQCfSaudT6wnsh4G
 6D9TZkji6aDqUBwAoKqxWnOya/v/MqcgrXGSCih7phIL
 =Hz+C
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.221. Boris Samorodov <bsam@FreeBSD.org>

 pub   1024D/ADFD5C9A 2006-06-21
       Key fingerprint = 81AA FED0 6050 208C 0303  4007 6C03 7263 ADFD 5C9A
 uid                  Boris Samorodov (FreeBSD) <bsam@freebsd.org>
 sub   2048g/7753A3F1 2006-06-21

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBESZt5sRBACyDUDxsmkdq0XNNJfbsdVO07/vtUc+rP5hBEdMzbetPnLdujSX
 JtwzS2b5kQFk1ONAuTs9udlcZhhq5T2FIyhqpvgLG3tnt4gDabRgFsOL6oB4dFKv
 yL5emRwnch+wYlwfaoWXsXpWfdHQCwFfL39lsYLIR/aXcMwjXF1wl9yl6wCglkCt
 NECUgmsoUYE1iOyC5PnqHkMD/088reqeJuH2hWHupCOihIOOddQPiKX3EY1Y6piO
 I3aQFxOq8BdYw+3WAlBs4vegMmzk9MYEwP2STsVcPE+eu55m1GCRRds++oyv9tQO
 TFZVsYEuvJALvHSW3InTGHWfhQPrHcdodyRjhgo2bKY1RwO3RHYDRRQj5i8LDn/9
 kRSiA/9Y9Cl8Abr7kuPbgw7uWb8lRta9/le1UWQXpU6GAZHXEgppHenDaRqvbaag
 MhXXiKuuFAz4LNHf8UDqyQ4fjjfR0EajIivV17hpzagPWIzzEdr4j3RBpwHMYLbV
 1yfyml5QT46amMd2Vwq83Zgn0cUObu8E0IITqTMkweEvH+soOrQsQm9yaXMgU2Ft
 b3JvZG92IChGcmVlQlNEKSA8YnNhbUBmcmVlYnNkLm9yZz6IYAQTEQIAIAUCRJm3
 mwIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGwDcmOt/Vyam2gAoJHvCp76
 i+XiNv4R3pJgG0ZxTCjOAJ0S46VswPDByVJZNF95pfy1qEDb/rkCDQREmbekEAgA
 vAUui6QrSn//3FHeSvH1smd0432C1r8IHvR7m0Ki+F1cRolkWF29y6JMpoPcXrWC
 D5OpGfZaZQ9SwhedFr776xAwMDWAHlrHEpPC4OE3RPq7YWENc40hL+ZKfsZhGA89
 H8fiU18UdDlARgg1PDBbVi+F4ZFfKSyNcTUO3brIIpUy5OfAdTkgl3JFKERlqZic
 ZWjS9PXjsyaeTYn1Ny2T9WZqbk9Ghsb2/t8bIyayu9KNnI+vRSafRtaomeUEsKme
 YZyU4pLutea2Zj6u8BtEVyxp9Gcy0Whn/HwQc/FZE91Z6UzViucBqKmFmw3A/OHF
 HV3DAxd2ctkBrt5jzgJA2wADBQf/dD7RVzfD2ea+jpgqJW5EFDqYebjPLab5GZJ6
 uUWWZu73ynDm92lemzcT67JYirU0H0sQ6QmcZ9ZwqqdW/taCjvpsXPFb88B9AL9c
 aQD41otxgpCF/zMQwgS24DCrdtPXiKceTjHNEAMOM9xS3FBNAWjy23Jz6rIt3ROD
 o0X3iAta9cT71Q6/u6BYo1YRuLIAWZ1rpkELb06NUxsVuEQmBKGMBKf00LEw+AV8
 0FkaEukzFuG1u3k2qkeFJEZW0C6d04JT5jsskRiTrIzkd1FTyaEdueaZoiPBQybX
 KE9GyClXn1RMWA+dzAjjNvJOo556NAIpebgvXMd1rHSRxumHdIhJBBgRAgAJBQJE
 mbekAhsMAAoJEGwDcmOt/VyaOikAnRQNCxBdrbQSOLIxrChaMU5tNejQAJ4hpoO4
 tGfWhh+Ib0+vCD7UaSphYg==
 =fafd
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.222. Mark Santcroos <marks@FreeBSD.org>

 pub   1024D/DBE7EB8E 2005-03-08
       Key fingerprint = C0F0 44F3 3F15 520F 6E32  186B BE0A BA42 DBE7 EB8E
 uid                  Mark Santcroos <marks@ripe.net>
 uid                  Mark Santcroos <mark@santcroos.net>
 uid                  Mark Santcroos <marks@freebsd.org>
 sub   2048g/FFF80F85 2005-03-08

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 IdA=
 =F4/l
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.223. Wolfram Schneider <wosch@FreeBSD.org>

 Type Bits/KeyID    Date       User ID
 pub  1024/2B7181AD 1997/08/09 Wolfram Schneider <wosch@FreeBSD.org>
             Key fingerprint = CA 16 91 D9 75 33 F1 07  1B F0 B4 9F 3E 95 B6 09

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: 2.6.3ia

 mQCNAzPs+aEAAAEEAJqqMm2I9CxWMuHDvuVO/uh0QT0az5ByOktwYLxGXQmqPG1G
 Q3hVuHWYs5Vfm/ARU9CRcVHFyqGQ3LepoRhDHk+JcASHan7ptdFsz7xk1iNNEoe0
 vE2rns38HIbiyQ/2OZd4XsyhFOFtExNoBuyDyNoe3HbHVBQT7TmN/mkrcYGtAAUR
 tCVXb2xmcmFtIFNjaG5laWRlciA8d29zY2hARnJlZUJTRC5vcmc+iQCVAwUQNxnH
 AzmN/mkrcYGtAQF5vgP/SLOiI4AwuPHGwUFkwWPRtRzYSySXqwaPCop5mVak27wk
 pCxGdzoJO2UgcE812Jt92Qas91yTT0gsSvOVNATaf0TM3KnKg5ZXT1QIzYevWtuv
 2ovAG4au3lwiFPDJstnNAPcgLF3OPni5RCUqBjpZFhb/8YDfWYsMcyn4IEaJKre0
 JFdvbGZyYW0gU2NobmVpZGVyIDxzY2huZWlkZXJAemliLmRlPokAlQMFEDcZxu85
 jf5pK3GBrQEBCRgD/jPj1Ogx4O769soiguL1XEHcxhqtrpKZkKwxmDLRa0kJFwLp
 bBJ3Qz3vwaB7n5gQU0JiL1B2M7IxVeHbiIV5pKp7FD248sm+HZvBg6aSnCg2JPUh
 sHd1tK5X4SB5cjFt3Cj0LIN9/c9EUxm3SoML9bovmze60DckErrRNOuTk1IntCJX
 b2xmcmFtIFNjaG5laWRlciA8d29zY2hAYXBmZWwuZGU+iQEVAwUQNmfWXAjJLLJO
 sC7dAQEASAgAnE4g2fwMmFkQy17ATivljEaDZN/m0GdXHctdZ8CaPrWk/9/PTNK+
 U6xCewqIKVwtqxVBMU1VpXUhWXfANWCB7a07D+2GrlB9JwO5NMFJ6g0WI/GCUXjC
 xb3NTkNsvppL8Rdgc8wc4f23GG4CXVggdTD2oUjUH5Bl7afgOT4xLPAqePhS7hFB
 UnMsbA94OfxPtHe5oqyaXt6cXH/SgphRhzPPZq0yjg0Ef+zfHVamvZ6Xl2aLZmSv
 Cc/rb0ShYDYi39ly9OPPiBPGbSVw2Gg804qx3XAKiTFkLsbYQnRt7WuCPsOVjFkf
 CbQS31TaclOyzenZdCAezubGIcrJAKZjMIkAlQMFEDPs+aE5jf5pK3GBrQEBlIAD
 /3CRq6P0m1fi9fbPxnptuipnoFB/m3yF6IdhM8kSe4XlXcm7tS60gxQKZgBO3bDA
 5QANcHdl41Vg95yBAZepPie6iQeAAoylRrONeIy6XShjx3S0WKmA4+C8kBTL+vwa
 UqF9YJ1qesZQtsXlkWp/Z7N12RkueVAVQ7wRPwfnz6E3tC5Xb2xmcmFtIFNjaG5l
 aWRlciA8d29zY2hAcGFua2UuZGUuZnJlZWJzZC5vcmc+iQCVAwUQNxnEqTmN/mkr
 cYGtAQFnpQP9EpRZdG6oYN7d5abvIMN82Z9x71a4QBER+R62mU47wqdRG2b6jMMh
 3k07b2oiprVuPhRw/GEPPQevb6RRT6SD9CPYAGfK3MDE8ZkMj4d+7cZDRJQ35sxv
 gAzQwuA9l7kS0mt5jFRPcEg5/KpuyehRLckjx8jpEM7cEJDHXhBIuVg=
 =3V1R
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.224. Ed Schouten <ed@FreeBSD.org>

 pub   1024D/0D9E0B05 2006-03-21 [expires: 2011-03-20]
       Key fingerprint = 9476 D3D6 52BD F249 08A0  ACD5 E764 8318 0D9E 0B05
 uid                  Ed Schouten (FreeBSD) <ed@FreeBSD.org>
 uid                  Ed Schouten <ed@fxq.nl>
 uid                  Ed Schouten (Fontys Hogescholen Eindhoven) <e.schouten@student.fontys.nl>
 uid                  Ed Schouten (Dispuut Interlink) <ed@il.fontys.nl>
 uid                  Ed Schouten <ed@80386.nl>
 sub   4096g/80043EEA 2006-03-21 [expires: 2011-03-20]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 VpO5deIuX1jgjgdlB/1aiEYEEBECAAYFAkgL0BEACgkQt1EUCfwV2+wyjACeKrvJ
 xd/J3jMQslv8B5umfUkSvRQAoNx+Fs+WpBzLrUcCCXQLKvJ0hD/4iEYEEBECAAYF
 AkgTgF4ACgkQFViURZnoHaA4BwCeO1oJGxBp/k0Qk2GK0WHwdS7jNCsAoKEpnAEB
 3YNLMx5y40bgUCPGMocxiEYEEBECAAYFAkgnPYoACgkQIKyzvlFcI430WwCfWJBw
 6yaO48o/7dmacBW68Pk2wvsAnRa1yqEZpKAdys0WE343cWTBDtAViEYEEhECAAYF
 AkfFZVoACgkQb9E93NfN6eYtQwCbBzeymBCt4Twf75UB8eRAolJG+Y0An1T3/B3I
 moU8A+HIQmyUGi6FMrlciEYEExECAAYFAkfBpoAACgkQ7oGSpuRD1ti4AQCfWzdt
 AWo5shtaNMV8fL8yCshCfOMAnin1N1aGzlqhy/m4+XSZb2MjssumiEYEExECAAYF
 AkfGEzMACgkQ3FzfxAeN+kE24ACfYVQNQwenEAjUWpAI07BzUQIQ9PkAnjTleimi
 X49WRdl2Z3FDURfIZosfiEwEEBECAAwFAkfFxr4FgwXAItUACgkQJGLEG1jrYMir
 AACdFZtYoLpo2DTnfYuGtqRXZEIHeykAnRsWOnMRtpd8464dJZQQruNjL9EliHoE
 ExECADoFAkfFlHgzGmh0dHA6Ly93d3cuc2MtZGVscGhpbi1lc2Nod2VpbGVyLmRl
 L3BncC9pbmRleC5odG1sAAoJELR14ge6tYIp2vMAoMoFLMgK/nBCUQecr/HugnAP
 SSMYAJ0V75bc+aA8jahMj0PsWrB6KRvdfoh6BBMRAgA6BQJHxZSFMxpodHRwOi8v
 d3d3LnNjLWRlbHBoaW4tZXNjaHdlaWxlci5kZS9wZ3AvaW5kZXguaHRtbAAKCRCU
 j9ag4Q9QLq9AAKDs8db4x8ZHrWSlIxysFS9MK2EoFgCg1lUwdKAdsE/gKwbOdLUy
 KWQUAGWI9QQQEQIAtQUCR9R7rocUgAAAAAAQAG5zaWdub3Rlc0BncmVwLmJlImh0
 dHA6Ly93d3cuZ3JlcC5iZS9ncGcvNDI2NzEwMTNGOTRBMEFCRUI0Q0U5QjZEM0RG
 QzJDNjJBRjc5RDI5RS85NDc2RDNENjUyQkRGMjQ5MDhBMEFDRDVFNzY0ODMxODBE
 OUUwQjA1LmFzYyImGmh0dHA6Ly93d3cuZ3JlcC5iZS9ncGcvY2VydC1wb2xpY3kt
 djIACgkQPfwsYq950p43gQCgnmJj7CiBrBO6yU6n6OXxOFnOebIAn3HiErkPWeHB
 ONMQT1Dv1BB0G/9HiQEcBBABAgAGBQJH3DHwAAoJEOjgYvYNywQxCkkIAIy3/mle
 eMjuG2/fZJUwydRz9zQixZa0YBkPKaCgsV+5shYJtzTT04kai++8K+9AIrNRQ8k7
 8YgJqlgRpwWkwn+p2hxPOw56VB0ulXeI6wGXz/LEU38Pb34IymGWUgACvVfCy7pc
 xpMvHdOSHsKm3mHh0r1N9V6rNtAedO6ftB9wDKZtbruCytxg3Rkw0tQgBAgacM9W
 EpnzkwrTLtj/GhSgn/QxMQrrrzxDKDHoXwKS2K68/LUewYuT5Zsgb3v0V0azCVFY
 7/4raoR+AQEcKCZkNa4SldfIbS0NDEEEfSQitwE0IeNKkGfg4jSc8eghZ7XQM97f
 5XMjuB3FoCEoEYO0SUVkIFNjaG91dGVuIChGb250eXMgSG9nZXNjaG9sZW4gRWlu
 ZGhvdmVuKSA8ZS5zY2hvdXRlbkBzdHVkZW50LmZvbnR5cy5ubD6IZgQTEQIAJgUC
 RPMFcgIbAwUJCWYBgAYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEOdkgxgNngsF
 K4AAn1MSzq90PwueUym7iRvJtxoyGJOfAJ9PbMnvmE4RDlkWNABKMyH9oViPq4kC
 HAQQAQIABgUCR8FsKQAKCRAmSeYoxdNNBcdND/45lII0S/gZZ9D0Omyd5Kmwsqdx
 SzzqigX4eYYGVrN9rBgEo2rFeNQWmzVGUaPlelbPt9KJME+5EvPfjy1PQL7TFmYZ
 /Am/S88lLHszqJo7tro4oFbqMMJyxSD3iDvlsPYUYmkEie8Vo+RO+Ike2e3kmfMV
 XWxYaEsQ5r/0Gj6bvEO18exCENckGWjXnUcZIcMhJEBTH9TizvvNKZJPnrSEFI9T
 1OVOs/CxLSuBVha9AbMSw+ZgPIvu92eep/QcfAW2i2YNVv0y7q2kElhDB0ebWW38
 6iqHo+/vi0hXap9rdd8xZz4Egncl/EwrAFi0e5vOoNG4L2uEOa7HnKVfRwszUAqF
 lfV/UI0A+nd03E5JxDFcNOmX+wwspMNrKPa1zeBTwLTWtUpS5y0aS2d6GW4mKWAY
 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
 L2luZGV4Lmh0bWwACgkQlI/WoOEPUC6WbQCg5HxltfxKJko/DGzDIOB6bS/UmI0A
 oLzf5Hg+fCc038HSU99v7xz9wk4ciPUEEBECALUFAkfUe66HFIAAAAAAEABuc2ln
 bm90ZXNAZ3JlcC5iZSJodHRwOi8vd3d3LmdyZXAuYmUvZ3BnLzQyNjcxMDEzRjk0
 QTBBQkVCNENFOUI2RDNERkMyQzYyQUY3OUQyOUUvOTQ3NkQzRDY1MkJERjI0OTA4
 QTBBQ0Q1RTc2NDgzMTgwRDlFMEIwNS5hc2MiJhpodHRwOi8vd3d3LmdyZXAuYmUv
 Z3BnL2NlcnQtcG9saWN5LXYyAAoJED38LGKvedKepaQAn3T6UbOVbz4DrbRKA04b
 nFlFLHGqAJ40XuTPwiGdOwnZ0ASbrEzOYu0XGrQxRWQgU2Nob3V0ZW4gKERpc3B1
 dXQgSW50ZXJsaW5rKSA8ZWRAaWwuZm9udHlzLm5sPohmBBMRAgAmBQJE8wWCAhsD
 BQkJZgGABgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQ52SDGA2eCwWfDgCeLyhW
 aysPJErgwTSCk7cKQJ1/JW0AnR7AFqounCUdDXx50k191R1SLu34iQIcBBABAgAG
 BQJHwWwpAAoJECZJ5ijF000FosAP/jdhAOMfPg8JZ8r9ZGmI87AJMFv9JJNHytxj
 oDL7Sj8Xiv+JlsxSnSbtVgUEmPF/e/Ni3c+CuQe/KCG2OI7wuT48+yyeAprK1+H/
 z/4CJfloshNF+RhW7A9ouJ7eN5lWUEcHKFvHZAlmDSSlgxRJZByu0wd/2POIyEsa
 xwO3qYfqQYuOFuAakB2TFl+Rfvp5SgB9uHZGEOsAYE7GslM1w0fGYUvBhKZiWlXI
 9pqdb94w1KexJfgCcTaePnIustmJ9FkEYogEcnr3nJP1Hy//AYUnFugxd9PVQRZH
 pOq7hvrCN7zpPma65cqnK6G2Q4tiv79EppcvatENfS0ih4miurgo9uta+dZ0mzwq
 hN1vquDVDauZnf9MYjwitaWZ/+XLOi/i83NfNn6pWtUKNZ8BJR/Ohj5ZPsBQXf2P
 7Se11FfEu3zg4G8+oG29aVkoPbMvbAJ2rCL2eB9CYqz+/0qn//0Vn59nwUYPqWfK
 x5nxOnPOUWilyyeDAuX5XN+L3i2w5jWSbf8ybqPeoZfEDtcEldtNZsq3z5dl6R1a
 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
 BQJIE4BeAAoJEBVYlEWZ6B2gYTIAnjbtm0cSTpJSAAK/fffIjYIal17WAJ40rFL0
 IiKhBE0J4rNCwc7KANhxfYhGBBARAgAGBQJIJz2KAAoJECCss75RXCONjaEAoMyA
 GK0GnRB1OU9AXcOV6lFgN9qrAKCnrldogboGNzIn85zNz2VBro93WohGBBIRAgAG
 BQJHxWVaAAoJEG/RPdzXzenmxoEAoK2aV2iE+N3+9ksnpuQXYHtUgPd+AJwK3BKV
 MbieieLo6dFDLS1JBxNDlYhGBBMRAgAGBQJHwaaAAAoJEO6BkqbkQ9bYMJwAoKAD
 w7xOY9QT1KJirzvQ6Pczi3uWAKCXjRsGf3B6ugR0xPmBHNfHbHFMmIhGBBMRAgAG
 BQJHxhMzAAoJENxc38QHjfpBwSoAoKDISSmPkSvv4nqgooSKhuxW6ICUAKC1IPe0
 xewwd9PGJBRbvkIlxDJRkYhMBBARAgAMBQJHxca+BYMFwCLVAAoJECRixBtY62DI
 rRIAnjbntWRbM0h559jf04fqWwt3DWc+AJ945rZ5P8EygnFiMTPJwU2f8sd2uoh6
 BBMRAgA6BQJHxZR4MxpodHRwOi8vd3d3LnNjLWRlbHBoaW4tZXNjaHdlaWxlci5k
 ZS9wZ3AvaW5kZXguaHRtbAAKCRC0deIHurWCKdQeAJ9eBQz63gNDDU8P5pJfYt2N
 2UXw0gCggi0lx4qyct2K5RMN2Ypk079v9eyIegQTEQIAOgUCR8WUhTMaaHR0cDov
 L3d3dy5zYy1kZWxwaGluLWVzY2h3ZWlsZXIuZGUvcGdwL2luZGV4Lmh0bWwACgkQ
 lI/WoOEPUC7t9wCginPUqn4mHwiooQbx/RJj6MijclYAn2UmHf7cjIURmcBdwI6P
 agziWBS+iPUEEBECALUFAkfUe66HFIAAAAAAEABuc2lnbm90ZXNAZ3JlcC5iZSJo
 dHRwOi8vd3d3LmdyZXAuYmUvZ3BnLzQyNjcxMDEzRjk0QTBBQkVCNENFOUI2RDNE
 RkMyQzYyQUY3OUQyOUUvOTQ3NkQzRDY1MkJERjI0OTA4QTBBQ0Q1RTc2NDgzMTgw
 RDlFMEIwNS5hc2MiJhpodHRwOi8vd3d3LmdyZXAuYmUvZ3BnL2NlcnQtcG9saWN5
 LXYyAAoJED38LGKvedKeinsAniR/Z891MA1TUahdVK89b0Q8/s2vAKCLN2KHRuVU
 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
 =wVoU
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.225. David Schultz <das@FreeBSD.org>

 pub  1024D/BE848B57 2001-07-19 David Schultz <das@FreeBSD.ORG>
      Key fingerprint = 0C12 797B A9CB 19D9 FDAF  2A39 2D76 A2DB BE84 8B57
 uid  David Schultz <dschultz@uclink.Berkeley.EDU>
 uid  David Schultz <das@FreeBSD.ORG>
 sub  2048g/69206E8E 2001-07-19

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBDtXc9MRBADg4tN94el8rq0ZMUqB2jEVACg/UfYjtsaboDL4HBBUH+P+Wxic
 9JqotcTbT8pJGeRpeXbfO0YHaAFnUfilhoFkeLyAgDvnUP9Z77DjFpliLAKlvuCz
 Lxi4UxgQXRdedNCg3omrxQWx7Yx067GT/yw4RgvogOuYBX0l3AJ25/WBxQCg/6Dj
 TMTu6iYR2Y6dEL4NGs9PnBMEAKBlhelAhzYoMpcWpk2VITUgONMW+Oi2JDTmwDd+
 1FAUDc1mHSoNBKPUrCWyXiwfzL09/ROlK/KMR6YoYtV6d66zZ/dQNuzrMhsis+Ou
 PCtvcaR5NGln49THgcw7/K5gTjwrG1xA/wcwnvUp6sxjh4p88meI/LNBAstixb3z
 FiLDA/9pAqn42B9ZBL1le98DTiLDemHvQFgXu8Oj20IIF0umyJRBfKwDY6iIx0gd
 1rUKua6XnqMSEg+LmHmSfDBaAOsFTdnL7wVU0tLF0V9goxU4qDZjw5EeMEqnk7tg
 /6REIvtdOA/GLOmr/Q0WA4JEukcih3AQ9iFnwg7WAp0S4GF6gLQsRGF2aWQgU2No
 dWx0eiA8ZHNjaHVsdHpAdWNsaW5rLkJlcmtlbGV5LkVEVT6JAEsEEBECAAsFAjtX
 c9MECwMBAgAKCRAtdqLbvoSLV78JAKD4iJ2kNeTsYQnWZ2DeytAeqVaKFwCfTIQE
 lFPZyaQr7yjthREE+8SPZCG0H0RhdmlkIFNjaHVsdHogPGRhc0BGcmVlQlNELk9S
 Rz6JAEsEEBECAAsFAj5S1iEECwMBAgAKCRAtdqLbvoSLV4b5AKCljokqRgi/pbDa
 ZebYLluQCIkbgQCg+jSKAIi1r+CZiaCJdqk193IZVnm5Ag0EO1dz0xAIAPZCV7cI
 fwgXcqK61qlC8wXo+VMROU+28W65Szgg2gGnVqMU6Y9AVfPQB8bLQ6mUrfdMZIZJ
 +AyDvWXpF9Sh01D49Vlf3HZSTz09jdvOmeFXklnN/biudE/F/Ha8g8VHMGHOfMlm
 /xX5u/2RXscBqtNbno2gpXI61Brwv0YAWCvl9Ij9WE5J280gtJ3kkQc2azNsOA1F
 HQ98iLMcfFstjvbzySPAQ/ClWxiNjrtVjLhdONM0/XwXV0OjHRhs3jMhLLUq/zzh
 sSlAGBGNfISnCnLWhsQDGcgHKXrKlQzZlp+r0ApQmwJG0wg9ZqRdQZ+cfL2JSyIZ
 Jrqrol7DVekyCzsAAgIH/1AtvAGCJchvLFoaR5KNocKcoUMe2NrpRrFS3DsYOsXU
 0U95pmAHJaMt+wv4UDs/wNzOzC6stRML+3lg6sYnSgddH+N/DA0b5jQSAyNWlL87
 j08h3ATaPeDD6qhqFRe3uzpQMAJJWbeTdyiT2vwgglgcaJWuVjYSfkkxX7AVDFHw
 C4IOuZ0aQhHyHQsGQURTg+sotMx+kX68o7oGZqBBOcr8VdFyrlq0Tq1b/i0fJnn2
 Nz5hY+OOXbyeoJbaY0KiGnnMwHmeZ2eJWk1cCHUZnrY5WOxYQHail2KHXxhYuPoI
 xsL0y+XdErX+lc2BiEbvXROs+VxEo/3/BVJXAIar3nCJAD8DBRg7V3PTLXai276E
 i1cRAsj2AKC26JMJWsvd93UUWRXDKmU46MgLggCfTOIjPheQwY9VCN3jO9YROzij
 QVE=
 =qhh7
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.226. Jens Schweikhardt <schweikh@FreeBSD.org>

 pub  1024D/0FF231FD 2002-01-27 Jens Schweikhardt <schweikh@FreeBSD.org>
      Key fingerprint = 3F35 E705 F02F 35A1 A23E  330E 16FE EA33 0FF2 31FD
 uid                            Jens Schweikhardt <schweikh@schweikhardt.net>
 sub  1024g/6E93CACC 2002-01-27 [expires: 2005-01-26]

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 mQGiBDxUIHoRBACGAbIspofa2HTwV0Y81ZgrizVgvsHduKRMYmu9scX6eFSQWC2a
 JLXXnMJMK97LG2m6qX/hzjxZKU/n2eNpHa3h9zLYQ/8VdN+AFHGZtgmZ7xe7UpBI
 V2YohykdmgKqg8WuVQGrNTwbkaAFeLnG3yXhR83qukRvv+qFfXbEF+1S2wCg6lLg
 YJ6U4J1pfTO95Rd4hw5v6DsD/0hUfa6C6C6xjME6P7r/ORd91+nJsfO0pcV1rK0s
 yCMdAy/zdUlKpsNF9vS0qhCFonuOHWxMEe7D8L80oUAwlk4RrFBm+Ch7RoBGYGru
 aEom/7JGNoRqUD2CKbFnkAYi9HP6XlXcpgm3GO4c4VtIcEbgywjw7rNhmNoYLrZV
 YUb0A/9mNCqpPTd8ngm7kPyTTMJitYEVaBPXEdiPueYJND+eI9AQkcqYhs6LWq4c
 jgmTNeImQ+kR1UeDj3dOwUDqhGmLPN60nD+Q2oHHBif8NJOu47mx1dgdriM9FsTN
 3UbeSve+mY8Z8zcPIYKl2UJLPZckWgq4pZRrE147cnKHSHHM9LQtSmVucyBTY2h3
 ZWlraGFyZHQgPHNjaHdlaWtoQHNjaHdlaWtoYXJkdC5uZXQ+iF0EExECAB0FAjxU
 IHoFCQWjmoAFCwcKAwQDFQMCAxYCAQIXgAAKCRAW/uozD/Ix/ZB8AJ989jyDH1G2
 T1KMoNd7gPk9tAw1VACfXJgkrI42ShC4cHz37xrVLXeJp9i0KEplbnMgU2Nod2Vp
 a2hhcmR0IDxzY2h3ZWlraEBGcmVlQlNELm9yZz6IXQQTEQIAHQUCPFQ+0AUJBaOa
 gAULBwoDBAMVAwIDFgIBAheAAAoJEBb+6jMP8jH9P+YAoM72fnNwxxcDjb+3Mv3A
 CfbHonYCAJ9lfK9fIbkgfAHo+2kwnOEN4yWxzLkBDQQ8VCB/EAQAzzIqOgms7u+e
 UKampP/5U9G78HA3GIkVLcAeq5FfpFtls4NmSKz240zNxXmABWTSlBmOQvMdhB08
 vRbzEsxPoVdNaF+QvRZYEr5+2bOM1pnHqYYMyUKwN83LXgTDnXxas4mtrkgngZTe
 tGdFQ3PIVqW4jV0MmnEmaqde0nMJ6XsAAwUD/2z82PDDwFBu1Ogogh63qE69HSQt
 8weHX+Skmi75jE3r2niUlx6B0IfLXzFqP33vyrsov7QHgAuOjNficisbC73o3gjp
 voJ2RYB2IfUCgeFvipLpqY1TWJ3bF52TYnJg4rrEWd5OWs4FB0iaJ78LVWgq3WsN
 zfgcgfQ38d+scJu4iEwEGBECAAwFAjxUIH8FCQWjmoAACgkQFv7qMw/yMf1PIwCg
 nSP0i+q9jhEf9T5xA0+qg2yYB/IAnjvd/tA+2/5bP4pObE/oRNjIVZBZ
 =YPu9
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.227. Stanislav Sedov <stas@FreeBSD.org>

 pub   4096R/092FD9F0 2009-05-23
       Key fingerprint = B83A B15D 929A 364A D8BC  B3F9 BF25 A231 092F D9F0
 uid                  Stanislav Sedov <stas@FreeBSD.org>
 uid                  Stanislav Sedov <stas@SpringDaemons.com>
 uid                  Stanislav Sedov (Corporate email) <stas@deglitch.com>
 uid                  Stanislav Sedov (Corporate email) <stas@ht-systems.ru>
 uid                  Stanislav Sedov (Corporate email) <ssedov@3playnet.com>
 uid                  Stanislav Sedov (Corporate email) <stasss@yandex-team.ru>
 uid                  Stanislav Sedov <ssedov@mbsd.msk.ru>
 sub   4096R/6FD2025F 2009-05-23
 sub   4096R/98BC2774 2009-05-23

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQINBEoYDBgBEADUmBbdo9dx/NCOEEfKNYdf5IiWNe2SDdOThEGY7jLx0BIB6ybl
 QItGt3A5BXhI05/2T86HxcetXTaO/nW+toFopY+3aSEJO9EFtYAXxDG9KaFk0twf
 r410Y9yIR7KeDlEp+2Exqd0y0qqmpwUun0M21m5qkCiNp5/XxF1nMMjJK3NqNh7p
 Yo++O7X/bQVAaz8IDl4WN+w23x3ec7vR1Wr50VGvzQAma/RWhXYyXMwyHiELnxPx
 M2ZnQY88WgQgw/DRITQbmZvltmVlFncUHRrY1zL3aLmjQxU2fSLCukFxISJLLVgz
 tqccwSCmcLE4MxhvsjSTUlLGqylIGPcoNXUu5HuaM3/uJQQIEfaKhafUjEgo8xso
 6fFI5jQklCTrr7xMf+LwSpplPiq40ZKJU2Gri6eoJMbxfEhuEsLjI5/BEjwAycnW
 V9edOB4AdfQMYsU0/PPJddZZieexePISoV/r3JiHqz48omwEmG7Sc8pO1Sv88nRa
 RnmnY7jnmM4DtrLXt9GKBjtIADAf0C9wrsNzU38OYrPkGYg6poLhCUiE/2DUh73b
 GSa5aE6eVLHWT8oCZdrVBk7MJC8zSpH7AcR7EGJcV5AlplvdwmwvZCU0KkaSgw+D
 +FP+i0uvJTReoEjuPBJ4dpL2SzjFUB3H30skdkY7bn73/GZdDt1/uULKFQARAQAB
 tCJTdGFuaXNsYXYgU2Vkb3YgPHN0YXNARnJlZUJTRC5vcmc+iQI5BBMBAgAjAhsD
 BgsJCAcDAgQVAggDBBYCAwECHgECF4AFAkoYDfICGQEACgkQvyWiMQkv2fAwsg//
 WSgTSoNV0/iHIQDYtOTyNJRzJhwAu7s2FmPvC4DgVKPoEptiUZgKsroWvCpF2RUl
 JczxJZKbtPsuo3vOINQ/+Wekrdseox5DJ9KIY6guM/V/L13xn8w/RyC82G5YUocs
 JdcfB1IA1Zi6fGJiP//BCDzW7xmgMqZCOeWGx6Po6VbVt24fuZ1Fer42FHUdY45B
 MUH7UzeO6Or7rcVi1e0tb1qnT3CjhjixA7H7xq+cOKqO5m81jxQYNHeuyOwTaAiN
 bE5pfy6ECeZnf9Wdumnnr8OpD8PAnR5oid0QwszEclQR/byvKcplNfFfaIVx2pQv
 Th2y2TRemcqvHR17Hbwu9JaMrVvpqdldlqm6Pjw13sXJi4k9FZUFSn+Ivt/lNFED
 gM7b5Lil3cUM2I/cm0wnBe7SRpfgIh/DcylAboBWaSaNqCxmjKZI3OdAZkIia4LL
 MCw1+dPgLuCFUBqd5SZZinx7wbJ+UFL2kVjKWPKOyGud5wrKBpymMjWbTWnqxmNW
 NVjqOmNBUrKsV7IuuNSfMScz9S2Fez6GbWbaWdA8cvod81LPG2bPlrYKMqJSfkoy
 RbabA7M3Etn2g6S/Xb/s11ahtO5xgtLsru5M9rXbxgV9mECSW4xsxeoGl5BD+MGH
 UudPO/YL4Ik7dPtWkrSwnKvk9WSEVn+BNk/yJXEFIkCIRgQQEQIABgUCShgTpAAK
 CRAr9VmT6yaVgUrPAJ0ZnMBNA/EwTXsop0DBJ2lHqX8fVQCggbwAAyFm/YA5yFCf
 y3eKimqkTpW0KFN0YW5pc2xhdiBTZWRvdiA8c3Rhc0BTcHJpbmdEYWVtb25zLmNv
 bT6JAjYEEwECACAFAkoYDPYCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRC/
 JaIxCS/Z8EVhD/0b7oiRR5UkF0CRSoFERU+vGvIWs6hiz33rKW4CR6HOBVqF/f6L
 RyvH9QKWYDIFlhqo8zPxPl5Y5eovC3ry0XmNUd0JTD+UFqqCD45diWkJL507/8EC
 9q1OTSwV/z/RLccyJZ5YdIa1nlBpysJTp2U9G6PBWh+Vnc/3U7pshzirjHxcdiVC
 JEPX5E+QPuYHG4ciOP/gJcesYxdv2eB0H/8CiJSRe4MPyyOBsIDrNPaPobAIQmpe
 z7dgzskw55YAVGUqUk9rb6U2g2DeU9/CmX97IUGx5XXgZqkp7F3QY78uVnSpJZrj
 Ir4qtCc60QrQ5RYCiIcqd37dfVCXj67j/A0cXyLLbr0isj73MARef1gi4A1QR2dG
 nXsfpOTeMn9ok9UP8jnjEd0KiyOUgOs84n6bE1nXNi/NDgaI4MBNa84GDaciktwZ
 6FjyyNSU/hAP40Td7peyHOoF7jP8WrClMyjFcTaToGxKamOKbpF6sE+6NJ4GtjaA
 4BNfxlZgZ07x8UPdZQcCYN/v08RB9hrDKNsqO/bG9ICIqLrld3i2ryDwMylqumo+
 ZdCNdNOisLH0ArjF7C08GxTd+ZVZ2o+9Ry9A5jpgEmEP4U+WwXz5Y2NgFiMKbcsX
 yUUp69ZxKaKhhN0FIwj7+3woqcJHoPJnUdzmAnJaj5PLjQ5uRQJkdiAxx4hGBBAR
 AgAGBQJKGBOkAAoJECv1WZPrJpWBlCQAnRD5WUcJ8WIc8Xn95+vwMd5wa3RMAJkB
 1aId8PuT3fjEfjFX9A9pzN0x5bQ1U3RhbmlzbGF2IFNlZG92IChDb3Jwb3JhdGUg
 ZW1haWwpIDxzdGFzQGRlZ2xpdGNoLmNvbT6JAjYEEwECACAFAkoYDSECGwMGCwkI
 BwMCBBUCCAMEFgIDAQIeAQIXgAAKCRC/JaIxCS/Z8J39D/0S0HAG0Y+a3DQNycud
 /3BTffuox23ORQLIKCW6KWZQV0QNdlTbJt3vDr7DcB7Yaiiv8PPkHx58DEOlNwuV
 KWEV2l9vihpbPdajU23SdjGC1Q0X4bTeqgzCn6rFrFIicE9z8cmwyaFPH08dyIpz
 tzFQJRc2+NObVKiZ4+Mel8/psJMjhj4XFkoRiScZ0N1XYDuykWn+x3sYkeDfVL5J
 5imHGBgR/mEO89CVgGfb4VdirkI3qSmXewxvBCUhxihyiSYnzFGPJnwDFPVXFlE2
 Jgu0oAPk8XhY1lzgiOPyuuEqg9/FwJo8+VBz4JL74rW7lsLHERG2bnYZxurez/tL
 WQ6XznssIeKajjPDwP3EGkduraG5Jx3od+On6/6Ue2sm9Ax3CjifvKcc/q641RiK
 vL/2FywX2zoXLP2eBEFMBoHUk0oPWd9jWdiWugrqGpFktglMAeWXsnTFJWa12XbO
 hNCFx2M+mv9cRaHEKwrYgNAmtfoeLybT1UpiPze+CynqtlXp6DWKGlK/mOrpFz8p
 CCinMs4kkEhMkKHJ+U1tnt1vuakbY867ml0G0/gTEGKcL9MWbEsQPZhfYGpBqBy+
 UssZMrh+KuUnHGiT3JCyrdneoFu7RP2mUN69GOq9jNetbSh46z8/R3EdCX/oGcPV
 st4O0AknZhJmJ95zGeBEs7zIUohGBBARAgAGBQJKGBOkAAoJECv1WZPrJpWBJfkA
 njoDYQvKxX307JqYTbiP1WqmtV+vAJ97mkgPyVhsxUREtF22mibksrwGrLQ2U3Rh
 bmlzbGF2IFNlZG92IChDb3Jwb3JhdGUgZW1haWwpIDxzdGFzQGh0LXN5c3RlbXMu
 cnU+iQI2BBMBAgAgBQJKGA1zAhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQ
 vyWiMQkv2fCbtw/9HSvZ2Nfb2jHysKImuxUmKUu8bN+qfgCGxMSEU4sogiphe5Hi
 iOXBH/Dzsh9UzivLR6Snzb8uHqg9OaeieSFl+Y88mE2yzqDT1WL3Ctshd2g1BIEl
 qn6qQL/xD36iNwABKx4vGRThTTVZTQCIee9AMiH2kdl/PUH9lLPO/zU1iSRl/TA9
 cQzn6iG/2v3BwEMernP6ZtmEiHQTYo8S9f99w+BwVBk9z47uc2fr9HmKeLEVQAr0
 sJsnP1vxVvCSw3qZANm9OPquWfxQizOop4er8oaW+gqLHloaDmzyev3XicvdQBcK
 Oqe6DtOcmvMqRrgPlhAok8qx5n4EAmQ19Ui8GpBfK03ZLjpGV1rQSSCsMUxQ6xvZ
 aOE+fdcYO5OVh6d3EiknoF4wbPxFQOv61KcnTOr4ZTMthPiRtFBM4ji1AAKXeiTJ
 kTuOD8heScTr6MEUnC3EsCJy6Eh1XHAqoRHSEI/AoXtWPHCiUUZ8PL1tpSZukLRT
 raWCk/1G/QNrCdqLR5E8tAdlV6Kv4QmO+B5ayJCQ4UKdsqHXlIA+SykRLvumvC4q
 FNvt+8UUALB/GHTq2K17l530FyNinKIin6DmxjcgE34vDKACJnYQ/ggACZmGvFHV
 5VAq2yzh51K6cOKrPDNuc9tH5V7Zk8kWB+19g2iFBV5ljPCnhQmCVLL0ijGIRgQQ
 EQIABgUCShgTpAAKCRAr9VmT6yaVgU9XAJ43KKGtYElTZsLh2IYl9sEN/mhHTwCf
 Sf7j8S26ksEEWOoznRboQeKB8hq0N1N0YW5pc2xhdiBTZWRvdiAoQ29ycG9yYXRl
 IGVtYWlsKSA8c3NlZG92QDNwbGF5bmV0LmNvbT6JAjYEEwECACAFAkoYDZwCGwMG
 CwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRC/JaIxCS/Z8CwcD/4wglG94aV6o48h
 PjdzaBYllKBRGbxISiYJKwjQXo/ZdIWgjkjN+J5W0IwiFCjbmdvTqLNMIoXJ2bG/
 Fcwz1Idrcee45bN3rBHoXrzyyQ3yR4SOzmoROxqWzNoBRIrgoQpxLlyl1/HEWa5H
 HGITKPqBW4SwxK4o4amfm+0MC9AMSAYt+GBlkldnk3BFeSSTuQacEs4kHayYbag1
 o80tWDpqRB4wGbuiKVRqqPBLFtEz3MKKQZTcmEgLB542yK4tP33pQVvmUulfpyJh
 p/AlESrmS40mDW8Fl7VX9vK5sSfPQT41peZ6QgSt60Sl74VO1SfxPWLryRx8MO7q
 FswKO4KetiKW+L7+DzxLF11F1xV1zNf3fRkx4VGXURQBZ3Dn3uMLbDBeH7YNj60i
 XTsgVOjgko8YTOg17HEnApzO+9DT5uMEVj950DHNMmJpLdnpz8sqPnHEaemsYz1I
 KCO/VtEXGfvXFCzNCawvtf4Xbnn3X6MPl9Ny2qNUby3xYu5a8YNSd7a+51VfPCAy
 pCcfIJ6M47RQ9rW0GV6lcqGhq0p1nQV3uKemL50ZtIZ1P69GUfoi7FmepmsHZPWi
 LrXOlHaZsBq/Iwu0ntb/Q+D/MxLA0EX+d8xokJB4nykaVtUka36bo164AK2yzWOW
 x2/6fX+LuO9Y2HnQ5eHmzHBLbYWtU4hGBBARAgAGBQJKGBOkAAoJECv1WZPrJpWB
 sTgAn2d2cgTr4LvMuI2gxCOM3E8+rVSFAJ0fZb3ntcwuCozX85IA68GOKIH1eLQ5
 U3RhbmlzbGF2IFNlZG92IChDb3Jwb3JhdGUgZW1haWwpIDxzdGFzc3NAeWFuZGV4
 LXRlYW0ucnU+iQI2BBMBAgAgBQJKGA2+AhsDBgsJCAcDAgQVAggDBBYCAwECHgEC
 F4AACgkQvyWiMQkv2fDT+w//XLM41hG87jJKDHy8H5ZMPQrayIEtqzq5cMnviHDj
 z5SMB7HbQYGJgHF8xSZ3HI6qYwQpe0gvJ6FLmYGV5Cqg5Jadk8S98BEeRNaJipDy
 +LaIyECl+JeMe8rnuDGnqaUiggF1DJMytJEU51TVWdsSx4fAWccAc+Y116h7j96F
 3/cDuwA8VFnB6kjo2Jvikol2WqfuxU/ZU86zBNA4l6ZDkwMaDhrpJ98yeC98SkMF
 05hPPahR67+H+fR0+F0Ysdl5DJ20fesvlXHtz2ERSuHsH47zC518PiSXnoGLc1ZF
 yNBVZaxqUy9u69bT57/izy2qeB1ey02RHSdSStxGwRFlilRs2RwTtiq2tq+h4xts
 fn9EeNdf/pOsKasEsqMxiOXfFnd5PTZ+YCDJkzaqeu8+tkNg3XlQhkfX4npvAahi
 xY/2zottHJn+oldUZsAq6hsJ35m2QxRyWt1SzPd4REVFz/eTFqfNIsLrGHBObFJd
 /uiw9Hy1BweBpYMS2PEMYWCgeCBbUJhp61ca6bquAKq/pmnr9N2QvYUnx7vRiGDx
 RkolidpQKtiLuXVYzuGNaQkY8CWnVtu4DdeW22udvERdOjt+3qdCsc7DdguWVrk2
 pwYY7PQRvAIkdhj+g5ew4BH3K8P/55KpB6ynC8VbxG0byomz4Fpnff9Q+HmlDOCf
 3mqIRgQQEQIABgUCShgTpAAKCRAr9VmT6yaVgb1MAKCFjOyUWnFQVGwUL2WAEhR3
 nlUDUQCeKbnbG1bZAeWltVq0RhlYnHycphq0JFN0YW5pc2xhdiBTZWRvdiA8c3Nl
 ZG92QG1ic2QubXNrLnJ1PokCNgQTAQIAIAUCShgN4QIbAwYLCQgHAwIEFQIIAwQW
 AgMBAh4BAheAAAoJEL8lojEJL9nwQooP/Ahl4PO+qWe2PfvKqys5VhuFYMhSxVAS
 7llQVyWvvcbmJxJyrcF3ZOk0e8y9rrVmnBAvHd51mejmZM8VgpeCd5vNRmi/mgkr
 Krsn18jYXkKdm16ni12ooh7tMgNKPTpiCKQOPMw0/YI9OTKUKSPGxFB4NY66svIp
 qlHUO4HHDYQtTPiMj5QSMgaIGetHdZposiJKKgFpLcYrfiwicPTZtjRTl4P5Ve8k
 BgraYg57zwPJhC5Xsr/wk9I8fWurckrdYltp6WMrwwg2QEJAz4X9K+1CqCnF7Ffi
 TEYC6mR+Oqsoytgah6B1HwCKbHJpU4HUKrnvNq7UJhMyQwyXOcGoc3DaGGvWhrq4
 fKU60HLEKlhQusQR8IGpL9ae49Y567Vn6dBYDmyMIo31dB8Rjv+4LZ9d+sgfLh/6
 /CAqYeSEeQgRz4jdjTMJNNm7/QLJeLWeHTdEi/9WhC5iWhobsh4aaZbYkWgMLyo9
 dqOtQWMeA44gPJ3FNN0kAgDzFfH1cuwp7/qvah6PS0fSxwl8PWZjyC0qFdaJ5K59
 9lvVQyMf3tP524LIPOBa/yKwFaW1KnBx+BaPqMi/EKGS5xO2mrjRcFoPTJ+u0Kez
 Yp3Gwt8E9Y/PTquyuQLnTezEHIPQXcj/zar4P0l4eB+H5WLgwg7F1Rq1heeZ5KCe
 72lKyDG/bXCGiEYEEBECAAYFAkoYE6QACgkQK/VZk+smlYGElACeJYXaOjpFue9I
 7S3YBuG0usl/7SgAnRxJ9vLV129u/iA7gL/QzXCzU4+9uQINBEoYDJQBEADCpPPX
 BcK9UQASA5xagkVFg4Vr8gZUzKZhOcPmPvvPm6zGAF2szI7V/JEyr7Kv4a/9ODfp
 yRW42LGGIW9pNgKrzhGoaFMS2RKBFub0SXx6loPFWPgUuFmQhncNmjh5R+/nBUiU
 nriVSRmmbZKa7JfMOraFvXBSLtq6Wio7dmRdVR6fLGPG0WSN3dduI7sEa+0ZbdGi
 V7BJJuzNAFzMa/vJOfi+nfk6Ay2sEl1+ek6KO6glls0cdW+RiVX0Hddzyy+Zyhh6
 FUl1E8fTV3DMtCHLsciKoi3olr/W+YnO478DoK462Hibw1BfZ4OldTY1dAlUgc5T
 MLvFbmsvgHbe8RhsZVBc7ziefbbGs1CkP0PI1f9PiFs/JuxGYoW2DB1ar6WkCnY2
 ZmpT6yPWREvLPEGBi37/C5x3Mo2gDgAbdJVL7L+Q9bAnPx3z5wsSNX2Yo3GSlm7v
 +pLg62tDxuGYIqvEY6tLM3j3lk0/8AFxZ1Osspgg/M7h5QZ065kWpJvkMEqE6+k1
 5I6vA3Ti0MCtnB6jVfzA6Rb+zbqR1IsBNQy1zaiIOcWRyn4gyRFtCBYW2joqnWdW
 XgfPR2TaadN3fdXyP2H/Svk49jVxUe5eeN/b2XXR3OuiuifRu/NU2Q79SsMY/ojK
 leMYd+LCAwKVH7J1524QiY7mEezhAjxC1wDrqwARAQABiQIfBBgBAgAJBQJKGAyU
 AhsMAAoJEL8lojEJL9nwFHUP/0vlyftAPfIbAdiYTj/cTr84NB82pCPqKzPbWrUD
 JCPjqnVHZzMN5kOHIOFW/wDMI03OAFszdFOBGBnx+BziZAQo0Pa3h4dS6LWID7a1
 X+HioXk/rP6GPsxuWYd1Lhi0Gjs8e/g3FPGGmnuXpixwWfTkvASi2zLl5KHx3OB2
 ZJcxWMbBLzJR20oVH7WMKkKQKdHlAEMi/8J1dsvfvvmSb6/mnmqR6GlbuZNSbrbM
 E1xnqx2QkpH7IYDiNjkn6oIVx2QOdCQ2XCVDOZEIn/IcPSeLe490p7p2Yd9DOPMd
 xHz6WVU5AqoE63734QLh5uvyaH5FFGsDwoEvme/ZxhnKTxab+UNTGWgY3Hx6I9sP
 q5VloH75JlWTMLlr1AuhxP0jgjxhnS5NF3JKKMrB62KmLn8mhqMSh1+4/dmAvaSa
 ULfddfxk7SWGqbhlX56WNqUr2r79XB5wHUfl9ESLQgIPzh047vcgfT8gSl5mgXy/
 rTh0Ocd2wwQ9Ayn2iMG0RW//Y9Q+ZvEqPPjBUh9QH1YAMUKHcDqVoNdXGoHDTrj7
 pyudWXfXJvDZKcvksoNwxF3u2jYxopgOafK+4lCkDR2AgMUlGM0YU7JnDnb8dkOT
 mFy741THpw/3C7Tri/cNhI2PV+GjNjKUtaeuMokOZunAT2b78Ms80x4xQ5LJuSmz
 e/y2uQINBEoYDLYBEADAAVgN9kHeuF5fQ+WrwGyyusRVfK8VXcpsbbpEd2q0yg8E
 rwDrtWZ6OkXNf1JqEiqeQlqGgIaBgJHzJChTYSbh279nXuOTeTwZcPhVGJVMjUb0
 yxEQIYmtYelb2XFjq68z4SxgJJi/E6KwPTSrYQG4ch76LUxuWDL7JN1WXn8NsHAP
 4TXzLy2THfmukl00PcjCa5vUT/jXUf1OfS50jo6A33dm5h76iJPClVbj42eHWLnQ
 aDWEc/vGTkYzn1x/zAVUdO/mBfCOKbPvu/esJ6FdzBxCIT50+KJBe71s6e2JNw0L
 nEI/B43b4fiwIWnMSfTae05Iz3aWwoSDQ2a5e2bSkOd5m+eTOQTFnVo29OcOAHGS
 oresJ4XjQGgPxOM+LGg30+1vhmNsMQNn//Tuir1FdY+cA7hEr/qWwnbjmkptO/9R
 Gx8PcQjeWbnihBSU+TVmtHkofPgsJ0Wzuqx0QROMitCHr80AihSi8eiS5Rng6fs1
 5bYWvBwiWx9Sx24SJHRWIxewoTUvMGIuAcNj2ejG7W5/Ox5RYV3WtWpFLhmqZjnb
 Czwsyu7dsLSbQPFMzha1EbYwcxRFukEIoLXrA0EahzY2BouuMTd0dBuVI675WIC+
 6KolhgWkJ5NoFzHBlzr7vaBVp4Rc/cn/NUV6mJCSDMQqTK9DuQTSWl1zaSWL3wAR
 AQABiQQ+BBgBAgAJBQJKGAy2AhsCAikJEL8lojEJL9nwwV0gBBkBAgAGBQJKGAy2
 AAoJEKN82nOYvCd0Y/YP/jH2bea0nYwFezldQi0gJEfYxGbylXIdtVHrmBk4oRMy
 50w6HkKBmUGIpDb0Dl9doUe8hLURm/EZJjHKd9DCGzrP7FIJFHO7HAEtdfuIzNAd
 6UaV4Na4CakelhrNLcbJRafQDkCOm7FRIn5qvaZbRDcSwUO0du7LXQi+aSKY7Ufm
 8y2/ODD5dg9uiN6oDfzLgIHjp34U4jmDwhcgtQD8OlmDbnz3x0D3TWryLXCgTaNs
 MnzYlbAFWt+CvC2W7FBoeWx4Ebe/RNihSeLkYZhS5LwJgZ7InUaw5w+oMSaE2KAZ
 up4BzZqkmZ9bEeA2p4L4uvAXOXPlZ+NZztjGn6U+iu0xPQDCUB/lUKsOx4E7M5kK
 BsiTinLGds2mVa2B3cxhRMlwZvl/4Xi7MKxPodfgnG2+P6AcDB9P4xNHI83i0uH0
 4O7G7c7htVoa/a5758zF7pSepb/c7lDWOjDv+BXEgxK+i/kA42YOFgA4IwGAt7qe
 MPuN8tCAPT54qeTHLxq689i1mBW1hkvCkH1/zQMAn9GPsBx0KhXSOr+iykwOFaeU
 xOC8U80bwnQua5Ed+WmHl2R5vDcJ3kZiFfGp1z7VUnBxRKdt1r7Yr415z6h1G2C4
 f2DCFr8b4PHWrOIp1eEFp5FggbqwHSS9dMcfBRwqgzTQTdMNTvFCxxOvS/OYVHiI
 Qw0P/1A50x5S/R03tctbxEAkjSYdU0zHiTfhkPv0ArAqKWcF39cGYV+wQ2W3ugj9
 XhtnzEMYgmpoGosmQ/7kTX+MYq35N2jJvXKD8DpQ+H7IRkEm2nwbBCngCEJ7O0m0
 4WMpgKqHgrMLrUMaVkSNg0muKqEDq8iEctB1dfQAFxqosI2QEtodA7R0tEmqCdMC
 legGTXQBWs2SPrcwCsZIDrcQCam4/3bbj3vtVRdJxvMqoWZSiEsFtoj3KzpEplRb
 iM2/oojUcoZz2KDC5Q8twUm1dBvpV9KjQu2sZzhIJ+G9lkpaT8Skvhorx1WAo4rZ
 fFn3W808ZmxsrtO7TT6iMbKBTHt3I7xkQBHl+b63UB5QHn5yAqR6RPxKFyA8lQf4
 WsG0fqBCPqWZIpdNYLC7whCDrjnuFZH8IFrTlPjpVxZleR3w22E4vgY2PmKPWWR4
 LJUnbSTmDz09zTx9Mzw7H+hV2QuB5StYU9BetZiMetB6if0zR5BN0o9hgTZSy396
 0quVLtsMunIeo+zNuvxFi9qyCZZ/BzelPJ0EG87XmEwq32m/U683vGSpNn0YkFxQ
 5yb2wRZJ5oRAbFBh4Wh3z5dHwqounZnqfV2MOFiChBSOkBFZItg5Y3OOd/WEesl0
 d8wvwMGzPBs2CxHW1XEGzW1QTu/Cv06RC6IbDfNJcrMoisYe
 =6u7/
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.228. Johan van Selst <johans@FreeBSD.org>

 pub   1024D/7DA5C53B 2001-03-03
       Key fingerprint = 3021 482B 52C1 3FFE 4752  4D57 68E1 252B 7DA5 C53B
 uid                  Johan van Selst <johans@stack.nl>
 uid                  Johan van Selst <johans@unix.nl>
 uid                  Johan van Selst <johans@gletsjer.net>
 uid                  Johan van Selst <johans@vrijschrift.org>
 uid                  Johan van Selst <johans@FreeBSD.org>
 sub   2048g/EF1C75DD 2001-03-03
 sub   1024R/355F8408 2005-11-05
 sub   1024R/9AF7EE88 2005-11-05

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 mt1yi04nJIim7A==
 =7U0i
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.229. Bakul Shah <bakul@FreeBSD.org>

 pub   1024D/86AEE4CB 2006-04-20
       Key fingerprint = 0389 26E8 381C 6980 AEC0  10A5 E540 A157 86AE E4CB
 uid                  Bakul Shah <bakul@freebsd.org>
 sub   2048g/5C3DCC24 2006-04-20

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBERHS6MRBAC60MHcIa5gqGjSmHLxJeZTkLTDK0zEo7MRJuMeF90Py7wdP9Fy
 jmRhyBS/tYfOtPrpHwAdn5FIkVzajEklv9L0/JiUx5WDrmJFWqIgRLdRPYw909hE
 7pW3uTs2qotWjeA8ecefzlTX9gdZVgy2uPhihMG9cn7pL1aXluca8AUsIwCg4lUf
 8pL0Pn6pZ6xP7nG1hEvkzr8D/1LR5Bm47RboJ+dvoMf9lwlXiEBP0m40100urcxR
 7e+AHDX2yr6s4edx7pPRCq2ubPgzK2rYv4NHN943AY8EYbrazp5F3EItDOLHmIus
 JasvCgPTb7HYWO7Q28redJyUIfBUTPgVVk2z4EuCb5QKDU2/2DyqWThrLEwTCTRh
 mR82A/sHQE/xib0291VjMxGKiatd2Xm5hu7dSzCeZwc/5uF0g33OYcd02fosyERd
 96SWmGigFWLbQ/kFiAoN0OAlQQoNPuWjGzIJVrxiy9y3Fw2hnoiV3MAWAGr43+UI
 FR+XB/MxOKIozYrMouhZHtmw237fKVH6Ewe/rFkthkgm9P9BpLQeQmFrdWwgU2hh
 aCA8YmFrdWxAZnJlZWJzZC5vcmc+iGAEExECACAFAkRHS6MCGwMGCwkIBwMCBBUC
 CAMEFgIDAQIeAQIXgAAKCRDlQKFXhq7ky+oMAJ9Cth9LlPV2on7lTedInW/6T2mh
 YQCgm6bY4yyoJbjUxop0bcuKYGVVuSO5Ag0EREdLsRAIAK/+InMhz/qJB/+Rwq08
 K6TtPPkAs5+IcFQqjShCtFWiaZrvBqvcTPDqVIMu6CAnBf6QTOKQc+L7lSUE6QdI
 0mE3jiieYJ/cDzSqntYZBkC5glW0AzemgyllQRlqKrIawWu8M+SwZipvKb0YCIFo
 rmhoHCjzK/DKlSi0MOjPVTbsyS/rTvhAoXxodogKfNzRpb4MwDjM4Lda9mO+hKlI
 93CsBCzNZaOECYJ/1vkpuGqOBhvezrLtNCYFmul2JtVMyCb86mOIJAeiwn/hiZu5
 eU3QYdvcCOfYh//B8AZOVSW1x8HYzMFXuznVtx1P5ygvtWY3u+uIlXC274XuV0aJ
 NNMAAwUH/1rSg/fSdVGEG3ge+sGtFKHPOaGW014dt5nHCePrhLwHIe/udyZPCD3a
 axp6RVlx5Yvw2+nMBWiW65KACBUQslSHbeM5u2aPH6HaAAEYCJ682vKUWyEHGljJ
 zDBBANYKThYwle1xRxiE5MT9B2Bz33z2/BQnCgo21KYAU/2bwi2qVG0jyF0i6ryP
 6r5w2zZbZA/0IINcwENYRhYdtU+QtyB/HqX//nshVnxZFgG0pIPET5ltq9VM+6Fj
 hxJ2RXwGOxBJW3+yLw5JuDVrqoOz2lAOulY2uiQY1Nk9xHDBKZ1U172BugHuOIbW
 EAgbLB4QFuIE0HF1h6bNSISULLt0/yuISQQYEQIACQUCREdLsQIbDAAKCRDlQKFX
 hq7kyxbGAKDdITbPvXRBxINGLWTcNxtRqjXl0gCbBVmMqSG99Tl8uB7wTZRDjtCX
 5DU=
 =iFzp
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.230. Gregory Neil Shapiro <gshapiro@FreeBSD.org>

 pub  1024R/4FBE2ADD 2000-10-13 Gregory Neil Shapiro <gshapiro@gshapiro.net>
      Key fingerprint = 56 D5 FF A7 A6 54 A6 B5  59 10 00 B9 5F 5F 20 09
 uid                            Gregory Neil Shapiro <gshapiro@FreeBSD.org>

 pub  1024D/F76A9BF5 2001-11-14 Gregory Neil Shapiro <gshapiro@FreeBSD.org>
      Key fingerprint = 3B5E DAF1 4B04 97BA EE20  F841 21F9 C5BC F76A 9BF5
 uid                            Gregory Neil Shapiro <gshapiro@gshapiro.net>
 sub  2048g/935657DC 2001-11-14

 pub  1024D/FCE56561 2000-10-14 Gregory Neil Shapiro <gshapiro@FreeBSD.org>
      Key fingerprint = 42C4 A87A FD85 C34F E77F  5EA1 88E1 7B1D FCE5 6561
 uid                            Gregory Neil Shapiro <gshapiro@gshapiro.net>
 sub  1024g/285DC8A0 2000-10-14 [expires: 2001-10-14]

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 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
 LsOLmQ==
 =GprF
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.231. Wesley Shields <wxs@FreeBSD.org>

 pub   1024D/17F0AA37 2007-12-27
       Key fingerprint = 96D1 2E6B F61C 2F3D 83EF  8F0B BE54 310C 17F0 AA37
 uid                  Wesley Shields <wxs@FreeBSD.org>
 uid                  Wesley Shields <wxs@atarininja.org>
 sub   2048g/2EDA1BB8 2007-12-27

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEdzy+MRBACwXYsfLwZzbzYru+XqMIFKVIIszXJK61UejvQqcuaZRNLSQyM8
 Fc5dI6AfciZV9tH8LDqYmd/vDtzjmBp/h2SPqQfiVuREQ0+c+aplvWvWc2TjFQg6
 CZbb730TtazPXbObZvSMRvLeRM32W9Abj5L8DXoQbpMtC8cllG21fsY4hwCgyngp
 xK9e32zih9ddXk+NgjK627MD/iPPyo0N4cb9omNwOCot8YIRpdJhmvR/yPh+8rmW
 NUu61gV8jn2XB6Ldto8/dR7chqqbBU7bS+hsk/lmbOuLNe2XkQA3e7dd0EEHSYYf
 mx6zjw/dEb9EBANAWI6QOyjNM9npWb/shZi8Pehcty08t2eytd4M7wPI9zLAXsMV
 M3nUBACgxIoW4e9yXeNQ3CI2KD/Dbup+SNha1uCEmzN5A0VfPJzyi4Avdtl9URGC
 HUFnUAs5B366yQTgmkjUcfcWqTKBicp4TAZ2KbuDzMX6f6cikb9bdbl4P62vN718
 5iclN77KfTfc6j4aOdIbnc6J9GStvYY0R2eZRKkr3CsqSuebxrQjV2VzbGV5IFNo
 aWVsZHMgPHd4c0BhdGFyaW5pbmphLm9yZz6IYAQTEQIAIAUCR3PL4wIbAwYLCQgH
 AwIEFQIIAwQWAgMBAh4BAheAAAoJEL5UMQwX8Ko3juoAn3bIDWeVAWOfi1XjXdaA
 HN7HKkMKAJ9RJ4F67NZKo37U5E3UnnVSRLCZ27QgV2VzbGV5IFNoaWVsZHMgPHd4
 c0BGcmVlQlNELm9yZz6IYAQTEQIAIAUCR348ggIbAwYLCQgHAwIEFQIIAwQWAgMB
 Ah4BAheAAAoJEL5UMQwX8Ko3KPQAoJYfbksQ/n/1FitmpqJb+AmpOmkPAKCVXF0g
 Clk43/Af2rVb3Vm91NmuvLkCDQRHc8voEAgA6Tped4TSVLcdXmDMeHvt29i/9rGw
 EO6lbwUZfamHGasMALyhWC2/nWhoCdo6tTP2XT9guEX5eu/FoN+nAEIKKHqNiiuZ
 6jyOuzUFD/d6n8pUkjHRLqLxFznbgW8f0aaG4rNJTQEQy6+X4/yKEvzRxjroNbZQ
 l300+liw6Q5OztzgMjhkcva4Gxf+aVhVMueGVuANj1QhPPqvIT2roRsBY6PPNCGY
 AaymLWBq51UbvE5j2jtCF2nfxYnajauqnJpZK0tSkLMkxWd/Khvv7GmO4v47qx/U
 DTx6iQP/i43JZIqSg8zSGjY9Lr9XJpzxr4FVyW/rs5X3Fp9ZCQxF3Sty5wAECwf/
 Zs93KXphXLWhCal07JQsu0T2y81+EXRue7QltZs+VTHvGZuc949dgnZrq6iRckpD
 unMRJUXNrKP6BFNOJuDAVRVOxxDQc+ydVGwpQFzJes8/9C0TYOaw0k+ayCZapfVf
 L6zktK+g8oYOXVjjdo8hX9xsus5ie69x73Csve59VmGgCwvywuLUcjCWEgMZGRY0
 hBL9ec4uRDVRIdsl15hQ3NGwdxiDEPkJu8QzQv/t4cde+omnI0UdH+Ywk6FZ2qxj
 62QaoTvFhuNfWUdmnEAbIkfRCFnHVEL5KcQs0Z9CM2V6qS4kdD9wzthhYtcRgWjS
 paW/fPyNYLmXuYgvfyk8XIhJBBgRAgAJBQJHc8voAhsMAAoJEL5UMQwX8Ko3AxYA
 mgKQnqx2baAJtOI7VsgWeTBFEi+HAKCaIQDFpsRsUtsuEYpqj+/zH1bwhA==
 =kNwv
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.232. Arun Sharma <arun@FreeBSD.org>

 pub  1024D/7D112181 2003-03-06 Arun Sharma <arun@sharma-home.net>
      Key fingerprint = A074 41D6 8537 C7D5 070E  0F78 0247 1AE2 7D11 2181
 uid                            Arun Sharma <arun@freebsd.org>
 uid                            Arun Sharma <arun.sharma@intel.com>
 sub  1024g/ACAD98DA 2003-03-06 [expires: 2005-03-05]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBD5my2cRBADKOgeJz+IX/4UT65iwvAMoR5SMctMAEGNHvTk96H0DSYmDmqPE
 6D4PWxjiAmbFdMmxGvmPlZDGRk7IpZhrvmsAuAvwImA/UyGb3Qnb0zOoOlAIQiGz
 NXRvum8vzoTeW5r9ghLOKkBuze1qi8PZdT+ztreaYcPPZBI9zPNfnZd29wCg4Sqo
 eWA46NgWICUsOpC3dkhAmdMEAKBUmh8p4kOZQq5LPv3y1fo+5MBI1gnawiJoO955
 nzVuisH5h1yaNjz0nkB5VtEG2Ub2mhBjckze4EP4FzPgIpOhSMdGfNh67rrByvv5
 DD/SBwjULSEGbBlywn462QDb1X0PxFX5C6IYK2Q6i/vbWkOFMI2dVuQX0PUq9zjN
 D5QJA/sFeXR7NcutCUaLknFCaV1cBTITJNurKn5Vm3QQq5s6R2cFTxdouHcSNkto
 EbhcAvMapxlWl146h7mAtLsXXa5s3wuMWq+igOXUk0wkcm8CqvSQtnVYl4Xy/Ll3
 zXKxtzKHZ1YxAdYQXGkesBuaSafCN6VYDFFSEwChHrwe1sV9obQiQXJ1biBTaGFy
 bWEgPGFydW5Ac2hhcm1hLWhvbWUubmV0PohiBBMRAgAiBQkDwmcABAsHAwIDFQID
 AxYCAQIeAQIXgAIZAQUCPmbLaAAKCRACRxrifREhgYRWAJwLdcAEvjkJf5bHy975
 R7q7Rp4KUACgq214dvKu35ysWriNNxu2jtIj1he0HkFydW4gU2hhcm1hIDxhcnVu
 QGZyZWVic2Qub3JnPohiBBMRAgAiBQI+ZsydAhsDBQkDwmcABAsHAwIDFQIDAxYC
 AQIeAQIXgAAKCRACRxrifREhgVrxAKCXiBsYhu++BPQX9prGf2BeKNYaswCfaS2Z
 eNyZsxSNedBb26k8ARWrZzq0I0FydW4gU2hhcm1hIDxhcnVuLnNoYXJtYUBpbnRl
 bC5jb20+iGIEExECACIFAj5q4pcCGwMFCQPCZwAECwcDAgMVAgMDFgIBAh4BAheA
 AAoJEAJHGuJ9ESGBbWIAnRAlo9PVZzdar5pmWDGspeyGk63ZAJ9X3x6ZQSD7uYeB
 ajKe61NpPAamJbkBDQQ+ZstqEAQAkgu4UWlgyF1IeMM+vwHQ43zik3Rn6nhpJXRb
 Arpg4QyVHQNQshVT4XsmSvcgw0TSUub0x5m23dqnhcoB/mk0kAIymVQiEaa4SLjI
 tTXd93yRvSgPd8JEUNFwcSE43ZJrrmSAqIc6MUJ0hI/pAeCFvRWYQ80+82xx30Vn
 fJLOJR8AAwUD/R2xFX5geJ7W8OyLtB5XQirkL1YPGLNNx4lyAPXFJc1s1KwfZ90q
 LYNw2qLRIacYKmY2X9BrWADXPrEZIDKljn+Awz34lSwerLHWwYDDoeyjfMt4Mmra
 MsV8UIjaBGO1ptbqEDSVeb1tiWQGa622pT5YaZp/r/OFdlmg+JvkAzHkiEwEGBEC
 AAwFAj5my2oFCQPCZwAACgkQAkca4n0RIYGWkgCgxhDAezhK5kiSC4N74g9ifsF2
 jl8AnjujFRJcMfV2R28jiZ2BS9mnvqjU
 =klyl
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.233. Norikatsu Shigemura <nork@FreeBSD.org>

 pub   1024D/7104EA4E 2005-02-14
       Key fingerprint = 9580 60A3 B58A 0864 79CB  779A 6FAE 229B 7104 EA4E
 uid                  Norikatsu Shigemura <nork@cityfujisawa.ne.jp>
 uid                  Norikatsu Shigemura <nork@ninth-nine.com>
 uid                  Norikatsu Shigemura <nork@FreeBSD.org>
 sub   4096g/EF56997E 2005-02-14

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =/u/r
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.234. Shteryana Shopova <syrinx@FreeBSD.org>

 pub   1024D/1C139BC5 2006-10-07
       Key fingerprint = B83D 2451 27AB B767 504F  CB85 4FB1 C88B 1C13 9BC5
 uid                  Shteryana Shopova (syrinx) <shteryana@FreeBSD.org>
 sub   2048g/6D2E9C98 2006-10-07

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEUn9lsRBADbufFsrk3YtL2jzdLYUufYV9goSp7joMMOwSLhSWf/98DoaW/d
 1bhwr9yAFfA81/ByuCEkigZl6jUW5AEEDuoJ4hxZG6th7OasSMCLHrGv4QCIDsiR
 Yo3TUFlh3Fg7SYZAxmGsMm44u/nB/0oZOWJeTzu4IkoG2QCfoRi+RUIEZwCgupdk
 xn2tovdQA+y5l7uxhm6MW2ED/Am3BVCM5EojGESa8QKTynKoWOzPFSvUvarqORru
 pEpmy5JdPjmf5mnfPvWcyccgAIi4VyuyGeqckFOJBBUaQ7w0Es7G9p+egp/e7UVC
 vgAVRKtSzix3TuXaaB04K3IJVY9vmEwTGO8Jy70Ab1hI/R4MbUUfzuWVaKUic9jB
 p3oRBAC8RgIM9zBTOtbsFTQ/LpiBL2X6oSRrJBvaLtFZEyG4aDGPxF/ESdfzIPrW
 3YePPinAgB1EhVawmP/uj3zhZQML3g69tVu9YhMhRb6C7v1h/nVC73wT3KDnGrPS
 eZzFhgHDr4zfEomXoR+HLjP3u9EMguyzlCfEO58QtTgeXKzZcrQyU2h0ZXJ5YW5h
 IFNob3BvdmEgKHN5cmlueCkgPHNodGVyeWFuYUBGcmVlQlNELm9yZz6IYAQTEQIA
 IAUCRSf2WwIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEE+xyIscE5vFGEEA
 nAhEEHq5H3tzKRdgX+PFn8wyzSgqAJsECHYU7maqvBfs8l34AOwuoK+TR7kCDQRF
 J/Z0EAgAxyVxRfbMBrSUGeCXI1FSWvqZJkrLUeQ2aCN0FiEmrjUMqTgkiZcxortS
 BS9Iuk8aEXv7d4S6qhJLfidM5XgxZs/wXFHNO30S+HHw5EwQuSDg1OGM/vY2i5y0
 hJqZuQos3SpUWx2Hl3y/BlExt+D5jwFyU9hUE1nNru3SltmryJwr+6PDFfom5iYc
 1FZpfnm60ZPK0cWDYk04uMYebgXd55acArmPvZMdzEYl/ChrB2GEv/JTVCJZZY0q
 rfI7WE2wwPb6/+WK+QINb9fqAdGsOlpOgkuFo7Xu+iKdH/EDGWnKQkLMPClM1xMK
 dclJKMz5y+l/GB/dTYWH4NtGeiIk5wADBwf/TLTluCRCFKDHkBuV68mJs/ShXpXw
 tnhaFF5snAmmtAH0zk81byw4Wt1+MUMYZ1rYrmhqyhXcqnAcHYatUbj2lyvzvCxo
 W2qdW6CE+0bj/pCM41oeRZi4LzJx3pYwSS2fPWaBWAeWZ6qLrHWT8lc0RrJMlteJ
 kDnchDP9AVxmi4bvpmUbNPdERDEE66XFtQ3zXpzmb0hLV1Hcv60KVYd3zzRADOaM
 tRnRMN53/yC0C+DDDoV6H4TJwxiTo5MTT7s9a9H/EfMY40RxFGjwojRukCTGWpuh
 pJf2WBCsnvBqVsqJLeOHyxwlbJhm/KXVRbFoAp6rZTshQ8M2kplmygIJEYhJBBgR
 AgAJBQJFJ/Z0AhsMAAoJEE+xyIscE5vFzHMAnjcjCi17pcNEGqdUuGWLXFCyQ5X/
 AKCNc4ZJinPdFRM5W3TXJmKRuGTOVw==
 =DE3R
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.235. Vanilla I. Shu <vanilla@FreeBSD.org>

 pub  1024D/ACE75853 2001-11-20 Vanilla I. Shu <vanilla@FreeBSD.org>
      Key fingerprint = 290F 9DB8 42A3 6257 5D9A  5585 B25A 909E ACE7 5853
 sub  1024g/CE695D0E 2001-11-20

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 mQGiBDv5ys0RBACm/dkRFFWNFb6pafzsHX3YHfyYBQAhyoT5ZPvvh7e6RdHYdxYc
 tYjgtOid4jL20Uz7kXYwT5OVYo/l9j/AqknacYoboO5AHcJrfO3QjfztJaorUSqv
 w9dv6DSOQWwTmexeshp6v5aEsOpDbfPtUnFBwcJe5lOBsokk2CqkzI/XqwCgv49G
 uNLbdtIN87CrUwyiLG5nsSED/35/A/9b/KNwjBoBbheCJDByHNPd9svQIpVWTuk5
 i5RKVQQET4ZD5tPQWPnSZ95ztkkwcjjOak+esHK85yTYXXjrfcP7JiE3HIZhyj3S
 dxWaOFEbSE3Xc0BT+8BOAPFfb2WMSdCQFowkRqbMiFudLnz4tZnBmTQcuxqp4G7S
 AFh8A/4jBhhkKaw0KeWtkFKugVgUWZNWZ54aJhUaLg5wGbSTNME74YLO0Xc+wkjY
 id3gG5ayJyecZXCMUf175/ZaSPeNRCBOfMjDnl3G05b/huBFUnXzxTkWCcmopOwW
 5tz4C69UVP1UHg4XMu+f6D48srIaFu+DOMTwniL95vqcGkCUJrQkVmFuaWxsYSBJ
 LiBTaHUgPHZhbmlsbGFARnJlZUJTRC5vcmc+iFcEExECABcFAjv5ys0FCwcKAwQD
 FQMCAxYCAQIXgAAKCRCyWpCerOdYU/oHAJ4kKjpX6iMF1Y0FjPMyFiyUlgjT7ACf
 a3czQMrflxJC/VNuzMAmzA19j3y5AQ0EO/nKzRAEALHq1lBY0OBQBeV7sGOvTaBN
 itMZeVDrGDYUQ9xunaDsEHfz2fD3jXCZLaUayv4LZeWzRr4DbnK4F0AmZLR1v5h3
 LxBuvqHPRma5RyyFRftwTNHM+DWu6TSqnE43QS7Ci+z8ua96CmcDa+PnEfubyNLE
 dco8gfE4oHDqni1R2qVfAAMFA/4uVSYj/DvIzckbZ05FjG+pg4HKsyxyFeFsrm9D
 8JD9tC26k4YxLG5FPBdKRsDrN/lZbnLWHTtZqhE3WlX6DRlea93T9Vi2skbujKcN
 mbao5pyVXWl1dboFquP8ku91CRTZvmdLF6IBnPo0LfOu4jD6DsD5O0UZ7lD/Y+6p
 8WcDfohGBBgRAgAGBQI7+crNAAoJELJakJ6s51hTsJUAoIB80SN0z90ocSdxYGwl
 xkOSm2cvAJ93DigXb3moOsw3BRLlLPQRS6TZxg==
 =aR5H
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.236. Bruce M. Simpson <bms@FreeBSD.org>

 pub  1024D/860DB53B 2003-08-06 Bruce M Simpson <bms@freebsd.org>
      Key fingerprint = 0D5F 1571 44DF 51B7 8B12  041E B9E5 2901 860D B53B
 sub  2048g/A2A32D8B 2003-08-06 [expires: 2006-08-05]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBD8xcj4RBADp/ttN/vrU8xXimyZDEJ3NbJXMRAdWin8hhY5cVDT6n6t6Kih2
 5Z+orVfRUA77yyYprxpkMKJvfsRspWvJeM9/7duQe6C7CSUNwB3bXCj5Q7PG9Oqa
 a6ZNPQ8k0EGZkFRgbbkru8wpcttMr4ngsdIm5cU7Y/bk3O2L8kh/Do1XwwCgraUA
 0z9KKZR+PpMgM6YXmAy0fh0D/3EP//MLIF7RW+wyabjmTGxMB9RapZXlZLTjFFeX
 sOrAhgcjFodwigDHEqLtG5I75wz+z2vuyaLtTPHYy9fkFxKXNE8wNWj++6GMJO3l
 OWRyWNlDLX0d3D22vVWOeh/rLq+PvsEHso1TnOJrYn4Dn4VwVXzSIaGmzGAPuPoO
 KaT7A/9Pgc8gwGPtG31yrp6AixoMZ32wVdxuqndD3M9XK+jtcdDtKvICQcMWCL5T
 E8dwmb2qzN13bBILJHktut5JvjgOgYOJeLZKPAMRZz4MON7KcKNZKmPBuNw1a6cF
 KGkBJfbCh1GIx7DyF/CcFeg4/7IhQoANYZQNc9Zm/tRbg531SLQhQnJ1Y2UgTSBT
 aW1wc29uIDxibXNAZnJlZWJzZC5vcmc+iGEEExECACEFAj8xcj4FCQWjmoAGCwkI
 BwMCAxUCAwMWAgECHgECF4AACgkQueUpAYYNtTv0bgCgkdyW3YFhooTeMExQJT5Q
 FbCTYS4AnReju20M/WngliTt9bdbnbmPeGFOuQINBD8xclEQCADhc4W1TgKJBO6M
 bEnWC16IXR3U8sXU7meMMbclb5vWt3j1jHVczrYVdkEyGxzu+ydxVlPhdGXtxT1W
 8CBjXsfz8DRKs9nMttqPj5u6KQdr+O0zWiZZkoqOdT29X7WZNKWQreKK10PgvmDu
 1rzf0Y87B7M0qnqjKjhqinVhLrOHqJIwfFQmB/E06MOhE3BQqYXc5qvBuq4U9y7X
 Qt/Cxfobw47iwAJEJIExai4mMsbXXtydsj9O1tg20c7IBzJEEDecOFJPhIKtcQ7p
 kRNjVGwAkQhWmXsPZHKkMjgnkhTmH0L7MT2YGK6LHvLiuAbjULYiSZ7WLXMDe3iJ
 al4lDNSrAAMGB/9X9K1Dmdu6pWOub3zkgNybFFh8OoguKJkdO/bh1RejzeNfI9Q1
 M8gO3ePzgXF3+BgJIblOA77t6OhNUQLRcjSs/xZwXG5KVQjRF3XJGkLZQIl3JGmB
 i5eNE/rBIMHSPn4GM8FSDZ8bPGzgaTBhEIos/8nCMpyxf70f+gsbjjW/Dq2HXHNr
 wToHezXX1LzzCqIl2fJgubrMXVbKYQBLy7d/IQnfZp1sGfvTcSJSZXT3wo6MH1EP
 jUpwmfVOGDN1NDQTbuu1vYqSETt2xzIq4R/+y8/xbm8YKBYDCL2EyCGQcwWhFU4C
 RAgXFkuWPiXx/PjfYC4YpKd57/7xgRO9i++LiEwEGBECAAwFAj8xclEFCQWjmoAA
 CgkQueUpAYYNtTtwzQCfc42CUSzItmXxtmWaVRxFSbnwJTsAoKPQ1LsUmEHNo+1s
 X7criQoU0Axa
 =iL/w
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.237. Dmitry Sivachenko <demon@FreeBSD.org>

 pub  1024D/13D5DF80 2002-03-18 Dmitry Sivachenko <mitya@cavia.pp.ru>
      Key fingerprint = 72A9 12C9 BB02 46D4 4B13  E5FE 1194 9963 13D5 DF80
 uid                            Dmitry S. Sivachenko <demon@FreeBSD.org>
 sub  1024g/060F6DBD 2002-03-18

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 mQGiBDyVYkARBAC2Z/8odq3zwRIQZ9XOF4ZoQ8ITJRrTUwwYjwOf4Kz6gTH+zIGt
 Q57m5w1Scse3J/fDdIZzw0gJgH0XRpKOonWi23di4B3Oyvrdr1Zm6OlqUjoty8CC
 7jo5WlLF/05Vai2HCUmFeqiukCN0mfm3Fd8S+hf1IpE1gaIxCKNvYaf14wCgpoVG
 Tqi+lIMCktV/vxUf3h7KgOsD/3nBeANz3U+Izr9g/AsF/FnHXeawl2m7USaIB7b1
 4CFrQp8FDl6TCAtPHQyQ6pdnh0HZ3h+7cfPB1poRaXUvDimQZR9KHZO9uIilpC2n
 MdBjbkXmvVQ5FhOJz49cXw51Lck11n/+OuP4N4TcIHdt0DQJoUrGIB6X6Op9aOrP
 Ob70A/sFsFfebYdfH8loLsJkHU8VbB2Y0KZBXSnhysQ9muvj1HqT+n66o/3SliCE
 R3cNVMgg51pqxzUC0o6qTVKJbfOrI5b2tbYjvx87ejugQwafhKu8t1liDuUYQK0Q
 S549pzLKUr/NUvJaYU//6QlFIPNSzwB6x4wjrWAKBv6Vn+x0c7QoRG1pdHJ5IFMu
 IFNpdmFjaGVua28gPGRlbW9uQEZyZWVCU0Qub3JnPohXBBMRAgAXBQI8lWJABQsH
 CgMEAxUDAgMWAgECF4AACgkQEZSZYxPV34DFVgCfREoIUfpKaEeGyzl0zKThVC7J
 XccAnjiB85SwuNAxMraQuGDJXojukUfwtCVEbWl0cnkgU2l2YWNoZW5rbyA8bWl0
 eWFAY2F2aWEucHAucnU+iFcEExECABcFAjyVY4cFCwcKAwQDFQMCAxYCAQIXgAAK
 CRARlJljE9XfgA6GAJ9RFwXlNqYap2SI14IPRjX9ZAzvjACeOC/Elh0HkwQ2HZMT
 edpgzOuknUK5AQ0EPJViRRAEAO4VdFfYGd/amgG2MDGqD269Kb5vTFbS5mDczgjM
 6gXZgOjhbvj3x2auo+Pfos6M/bOtHuIk7QFOeOEJ1wcg8wgE3L3kFQPeEPeOgKBk
 /eA1ExIW3hiPeuwNxT3iWEv0GF/rvCSeSK3nuuDBNmkSpJ4LHIyO8Kf5YJNp8+6D
 yJ8rAAMFA/4jaulRHxSsWlFIm3gpBR9aiXGGX1pZTuJpXqjAQcRzDa9cuVatiSJS
 H9wzfE8R4353s5HpaY3AkVRjY6s9AB8bygGdUCQjuIuifTS4+tG/wmaXNgyqBqaB
 6V9gTgfW/7XqcJUGeLLMUpccSRZhlQvHd18aTfPWPB49xu2+arw6P4hGBBgRAgAG
 BQI8lWJFAAoJEBGUmWMT1d+AYlgAoKZWZs7rDLdQbn2d0CVwmWb6hQLhAJ9E/r8N
 n3jf2PI8Psl2wtgvWazpaA==
 =mkxU
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.238. Jesper Skriver <jesper@FreeBSD.org>

 pub  1024D/F9561C31 2001-03-09 Jesper Skriver <jesper@FreeBSD.org>
      Key fingerprint = 6B88 9CE8 66E9 E631 C9C5  5EB4 22AB F0EC F956 1C31
 uid                            Jesper Skriver <jesper@skriver.dk>
 uid                            Jesper Skriver <jesper@wheel.dk>
 sub  1024g/777C378C 2001-03-09

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 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
 Crfzumk=
 =Ru0+
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.239. Ville Skytta: <scop@FreeBSD.org>

 pub  1024D/BCD241CB 2002-04-07 Ville Skytta: <ville.skytta@iki.fi>
      Key fingerprint = 4E0D EBAB 3106 F1FA 3FA9  B875 D98C D635 BCD2 41CB
 uid                            Ville Skytta: <ville.skytta@xemacs.org>
 uid                            Ville Skytta: <scop@FreeBSD.org>
 sub  2048g/9426F4D1 2002-04-07

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.7 (GNU/Linux)

 mQGiBDywu5YRBACKxY/5WzdUtpL2aK2Yy/Yde2spYiEP2vKj3bs+ovV7a9129lki
 ldCu8PhoJO+x+96+AwbrR/T5FlXyQrInMa9U5os/8/HQjTXtY/oeq+UNDNFZrnMR
 Gu0zYICbzgd1rW/tnZJBkB3X2Ao6k0hSATGmP5/sowT7EBSdaM7ZhhqOywCg5A5n
 J7+062MfzdS/3KoSn+Utex8D/2BN/BMLvrItQBUjy0tn8Vsomx+FHbFKOm1cuOeq
 smhsOmsANwIafiZnK4+SnQlVbXJLM6exNTqSimH93y7Q9BX7hmWYl0XVpUui0mBR
 UrVG00PEa0jTLasOkvlyYBS1En4gZ5J2ArE2cYFPkv7jndqJ/pAAZkG+tQnXJ8l5
 g0SLA/4tJHLJ6kPad98V3cVbTfhY2Dn/i+QbHvzBbBj+bETLEUdqOKzADGrWoJeE
 fADfxYi24wHkpH3U781p4SldZpOUvkyYj7YmjqZP0AH6SsKI3i52z1BDQF49gRcD
 uc0sSmv57yvjKCk1Cehen4/qaVcqXWTZ5NfyGb+hbHLtA2FxSrQjVmlsbGUgU2t5
 dHTDpCA8dmlsbGUuc2t5dHRhQGlraS5maT6IWgQTEQIAGgULBwoDBAMVAwIDFgIB
 AheAAhkBBQI8sLuXAAoJENmM1jW80kHL8KkAn1yTiwsMLq9GsqA44hkh1Sk0etM/
 AJ9BiDSqgX0S/wzyXAqfYcsmxS96qbQnVmlsbGUgU2t5dHTDpCA8dmlsbGUuc2t5
 dHRhQHhlbWFjcy5vcmc+iFcEExECABcFAj0dWzwFCwcKAwQDFQMCAxYCAQIXgAAK
 CRDZjNY1vNJBywFtAJ9NCVHRa6GxtfTxae+6ZkTh08xQZQCfcGNMwhcSGJUyjKI2
 eYucgrkwp2C0IFZpbGxlIFNreXR0w6QgPHNjb3BARnJlZUJTRC5vcmc+iFwEExEC
 ABwFAj0di4oCGwMECwcDAgMVAgMDFgIBAh4BAheAAAoJENmM1jW80kHLzoYAoLqR
 3unds+O73Z3EppJna4gECkQ0AJ0Uye7ZXLMTJo7pNmZSBSz6bA/qFLkCDQQ8sLvS
 EAgAinenfe1g5Cdp8bf72+idBePq0zHyPUOpCuFGkiKXecXpgQUHCVYM8IiafB1M
 Or9V97vy1H56sr+HaBsC75mpuPC7lnltoY+zq0zIkNbi20+p/546W7A5MV66xtTx
 D6uUSyZ3jksAaVch+6yQNNxr3CDWiNSjomkK1ExPsjaPAA82L4yExAJJGwUYAPOS
 B1Gw6N3dUtoNuQwJdcw8fjsaRektXsHm6Nnm++3gB0YJ4/x3gcvxlNlONHNp5vdW
 msQAJtWj4isSMfqi6Y4SQsw2MWOKrYr8Lt++m4cQC6/VZXafTR/TrDZCqYhwovyX
 vgLMdKfxTZLqsyZwgWDxFKOEewADBQf8CCEh65lRfWQG3MopboOs2fFp3BsfVMvA
 stV5AYktLHvwGXTW0rx7sCdb3kBtKjiuNFob3gis2Nd05NUxFrzrZsyaktyDiZmT
 gjmEL1LvodDg/mXLRQgl3QDzUL1nlfFQRkcKqlDfCYezbgYFxCy4EGsC86cf8s8F
 ZI0hyXXY+zir+xJ/w4KBtL+cY5LJExh0FyPfNnL+tXUthRuN9wxZwVyQ9I4RTlkv
 ybb8VTWEgzkIf5BiDZalvcOJNAujptlgz2cLnV4Kzu55Xy7jOi5YfYjMbSDa6W5c
 vO/wbcAG3gwZOoeHBRjwTNkn4iBkDPq71o1LDDxHvWUVAO+jU3TrZYhGBBgRAgAG
 BQI8sLvSAAoJENmM1jW80kHL1RMAoNsmDIuxlUf3YwjAr/fSqBOKWgN0AKDc0CBV
 uZAqlAL0tDv8Fiz3HvICMQ==
 =mEvy
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.240. Andrey Slusar <anray@FreeBSD.org>

 pub   1024D/AE7B5418 2005-12-12
       Key fingerprint = DE70 C24B 55A0 4A06 68A1  D425 3C59 9A9B AE7B 5418
 uid                  Andrey Slusar <anray@ext.by>
 uid                  Andrey Slusar <anrays@gmail.com>
 uid                  Andrey Slusar <anray@FreeBSD.org>
 sub   2048g/7D0EB77D 2005-12-12

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEOdg/YRBACkP7DeG+wypqbAvKYmIYMBHsYFCmIf5928MvpCgwO4idtg76IX
 Qd/AQH0sF2uFJiikI9NiJuq3OUXsyRk+7xltLLrgzl7/0GTT6jej8tWFH0AU1/0r
 nYhUJ/svVe+QNNEbMOvCCcZLslv4/fuak4Ilvgcb/SAir8iUL+nfNzwLwwCgw+fG
 2DBpULmZtyMUMZYwyi2UQ2cD/jycHnx1+AHLt24OajcWBoBG88DlcK3ERpg/J+D3
 PYoNfs4qcEhU4UVQw5vhMXBnWxD+BiZf6yrh/GRay11oqShMWl/B4UQrZZBwXBVN
 Lvx4aY6LRA/DAUd0R2CUIwsjaaeBQ2gmvISau4UjtE1ezNI5s/E7oFDNDKkv06Z2
 hrucA/9G3+UlrLhDWd2+VMt99O5FFEhtHbClMUXIhXYwFS/41zy7cGf9p4wA+IQC
 SeXns1bvdZYBxPAYTgDK0XGP8yi0TMpICcXB4v9gkqKIIuO3scB3mH+We66RG5mI
 7sls5BoJ3ARfsJuidRS1Uu0TXqCTcj2NTCtDNWd82nRarNpDwLQgQW5kcmV5IFNs
 dXNhciA8YW5yYXlzQGdtYWlsLmNvbT6IYAQTEQIAIAUCQ52D9gIbAwYLCQgHAwIE
 FQIIAwQWAgMBAh4BAheAAAoJEDxZmpuue1QYMTQAnRGPeBTIOHdEj4nOmVtECGhv
 jpqsAJ4pcMFoOwSyCqy5YXoetkQWrsq3IrQhQW5kcmV5IFNsdXNhciA8YW5yYXlA
 RnJlZUJTRC5vcmc+iGAEExECACAFAkOdhSwCGwMGCwkIBwMCBBUCCAMEFgIDAQIe
 AQIXgAAKCRA8WZqbrntUGGMkAJ45WS+CK9Uh2UYk3kGG6/jmx3kVFACgl3ALZehS
 E1Z1ifNha7XLh8C+U3G0HEFuZHJleSBTbHVzYXIgPGFucmF5QGV4dC5ieT6IYAQT
 EQIAIAUCQ52FUAIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEDxZmpuue1QY
 MzsAnA1T9Wkp8yaxQmPBuuvZNrTdJOBjAJ0TJrwVeQW/+3zffBICU+rptKA8xLkC
 DQRDnYP9EAgAjavYUHgBttL7+qFwfeOJ3oW+sNVNsMp4VGWvy6QeVCeFvVK+Kpb/
 eN9ScAFJM+8wzhNHv3eyXFht0jwSadX48a0FzcYApm+pP3OH6y4Osxhz27P2tc2u
 yzKMV19nZz28cikY2mtH3Y2GtSyn8pOIL2Ar4sc+hK1LnszGTPf6YgLSBlJSnGH5
 +TMg1Pxq/CSDIq4zEv9IyBLlbuK+w1/fqDzLBT5L51FdKDUpsCBZNPaRiin+ZkBx
 LI742GusIYz+aIcwsRBDONnWdemAHbtSFDxMup5SSEvlAtEU5O0gO6bZx3tv+WZT
 6EJ66QsE5IszzTGkw0qK/H/BrsEbyOPbOwADBQf9FOrU6qF1Zj/ONad4vzbjDrn5
 nI1vnrBkJ2QJnMM/d6V2ItUVjz9myqXTgteERmwN60DD1jrTqsw5xWHJ/rjJCoW6
 mUHWjVkUram3OL/HO96t8zmTZDynrGXfnzLqykkLgJVsVmoU/1OCusY6h0CMAiWr
 altooE6mD4dpBQq1svwJEe98/X97LJix0J8W1QLOwOi8lD5kApFf6feTRCzJKcOy
 Szr3NiiwYGGRyHDQhe13KiGoJZQbhoJlbpS7krBTAxyUll6RRtQmlITLF5wmP0jV
 JWPN2tZ5BdmqYEqOoH4h6Dj+D1glXT19YN6kh+CV1w/d6iWWiB1lDXwDOQMtFYhJ
 BBgRAgAJBQJDnYP9AhsMAAoJEDxZmpuue1QY+tUAoK4RQLo2F+0c9PlfrfUOYpOk
 GAzYAJ0dMZ6xeDy4UKlIBdDq4KPZk8IGzQ==
 =vOBB
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.241. Gleb Smirnoff <glebius@FreeBSD.org>

 pub   1024D/1949DC80 2003-08-25
       Key fingerprint = 872C E14A 2F03 A3E8 D882  026E 5DE4 D7FE 1949 DC80
 uid                  Gleb Smirnoff <glebius@FreeBSD.org>
 uid                  Gleb Smirnoff <glebius@cell.sick.ru>
 uid                  Gleb Smirnoff <glebius@bestcom.ru>
 uid                  Gleb Smirnoff <glebius@rambler-co.ru>
 uid                  Gleb Smirnoff <glebius@freebsd.org>
 uid                  Gleb Smirnoff <glebius@freebsd.int.ru>
 sub   1024g/A05118BD 2003-08-25

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =buTJ
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.242. Ken Smith <kensmith@FreeBSD.org>

 pub  1024D/29AEA7F6 2003-12-02 Ken Smith <kensmith@cse.buffalo.edu>
      Key fingerprint = 4AB7 D302 0753 8215 31E7  F1AD FC6D 7855 29AE A7F6
 uid                            Ken Smith <kensmith@freebsd.org>
 sub  1024g/0D509C6C 2003-12-02

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBD/MDZIRBACfyWbQW/cZnu504r57DAQbCbTYNG7V/TgfZwphIPyC8YnLtmJv
 vLdtl7+ToiG7UJUJsBE9OJdb1qA7JP5+jha/TlzIAUMW8doWNyI52nM1zHzBAZVE
 aB4Gxy7pib9yBsrGYiLbuV5YfB7TUyea31OXpZ4jPl1E6RxlYdVuzEhq0wCgnOeC
 SuO0cJZMXisY7DhoF1Q8ucEEAIALzShJ6bbjABbcvMWmoRwXvIcBsAcjKSdRcIp0
 AP+9i3PSZkNXV7rfYM3+SydTa3sJIVBbdXChQakcZqu9+rmfL53rErErYuRwKqhX
 mkp4+3GO7cKm0Oya1xLF9es/OfkKcQ9LxkEytNEnU7xlUNoP8fkCMJcBIwagzPfY
 7UAzBACEwGP/o1e0R36jOAjrUZsxe63Zopz5138bYdZtmsqwI+QHK6+/tS5I7FCL
 EQZL6fEjR7gF1lcj3gC2nypjO1aqodx0hShlNnz9d3uJ0q8EChjJuc30UhjgTcbb
 ZQv3hssKHkvTJ5ch0x+ohYCfH+Gcd8jbXCZvvS8PcI66DRaz3rQgS2VuIFNtaXRo
 IDxrZW5zbWl0aEBmcmVlYnNkLm9yZz6IXgQTEQIAHgUCP8wW5gIbAwYLCQgHAwID
 FQIDAxYCAQIeAQIXgAAKCRD8bXhVKa6n9nfpAJ9MHcwNehlbFRJn8B9tlLBE2JvU
 aQCeLuore1PhiLZPjHriz0/npGn9xDuIRgQTEQIABgUCQLQblAAKCRDYyjFxW6BS
 wyFIAJkBI9/2PBvvTvB0FZUF2yd3JEQJMgCgpWVGTdChec2z/YGMQ/EeTgNDThy0
 JEtlbiBTbWl0aCA8a2Vuc21pdGhAY3NlLmJ1ZmZhbG8uZWR1PohhBBMRAgAhAhsD
 BgsJCAcDAgMVAgMDFgIBAh4BAheABQI/zB/pAhkBAAoJEPxteFUprqf2oVkAnj0Y
 vcFOkVU9JWyJJKieWL/+OuNSAJkBvi/uFt2RgkNgUOvHR61SxZrGeYhGBBMRAgAG
 BQJAtBtxAAoJENjKMXFboFLDvxkAn21uVgtvwLN82vOpKTvBzwAUVK/gAKCKEQDk
 vfyMyQZayoFeC8cMagaUCbkBDQQ/zA2UEAQAqYnqd58qHyrKfsw3SrTE74/4qneU
 ra7FY74jcUhGhrxOElG5hXrHHEHo+0M+0zFwhqedecj2GZbrzGEl5SxVsme3slAf
 Gt5OaAk/ojOY5d5rTezG5v7jSr4EX0JKDkdlve8RozHsutXznsXmUY/BfO1qACek
 herQeczznycJPZ8AAwUD/1MF+jo626W+4/gMgjgCQ+saOiNI6AnGlS879MUjV0Ef
 j6aPfAJ5Xi7zNqkM+HdNBxjPtyxIK8RqmdAjHDMR8FjlZjf+svwuL2CfXk4jCk02
 OXD4dxJK74w/ZTK2kSW1VW63+5K1lgsRmZvnTpGZ4ijxj4H0r2bJFQ7iUd2kNxpO
 iEkEGBECAAkFAj/MDZQCGwwACgkQ/G14VSmup/YeOgCfcaCQpDfKaEvYiw7XJryW
 b4OXclEAnArceW10G489Csi2QR94q7clHU0G
 =gLKU
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.243. Ben Smithurst <ben@FreeBSD.org>

 pub  1024D/2CEF442C 2001-07-11 Ben Smithurst <ben@LSRfm.com>
      Key fingerprint = 355D 0FFF B83A 90A9 D648  E409 6CFC C9FB 2CEF 442C
 uid                            Ben Smithurst <ben@vinosystems.com>
 uid                            Ben Smithurst <ben@smithurst.org>
 uid                            Ben Smithurst <ben@FreeBSD.org>
 uid                            Ben Smithurst <csxbcs@comp.leeds.ac.uk>
 uid                            Ben Smithurst <ben@scientia.demon.co.uk>
 sub  1024g/347071FF 2001-07-11

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 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
 =D508
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.244. Dag-Erling C. Smo/rgrav <des@FreeBSD.org>

 pub   1024D/64EBE220 2006-11-11 [expires: 2009-11-10]
       Key fingerprint = 3A1C 8E68 952C 3305 6984  6486 30D4 3A6E 64EB E220
 uid                  Dag-Erling Smo/rgrav <des@des.no>
 uid                  Dag-Erling Smo/rgrav <des@freebsd.org>
 uid                  [jpeg image of size 3315]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 Xs6/KdvxlqedD9DedjAIXDY=
 =qa1a
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.245. Maxim Sobolev <sobomax@FreeBSD.org>

 pub  1024D/888205AF 2001-11-21 Maxim Sobolev <sobomax@FreeBSD.org>
      Key fingerprint = 85C9 DCB0 6828 087C C977  3034 A0DB B9B7 8882 05AF
 uid                            Maxim Sobolev <sobomax@mail.ru>
 uid                            Maxim Sobolev <sobomax@altavista.net>
 uid                            Maxim Sobolev <vegacap@i.com.ua>

 pub  1024D/468EE6D8 2003-03-21 Maxim Sobolev <sobomax@portaone.com>
      Key fingerprint = 711B D315 3360 A58F 9A0E  89DB 6D40 2558 468E E6D8
 uid                            Maxim Sobolev <sobomax@FreeBSD.org>
 uid                            Maxim Sobolev <sobomax@mail.ru>
 uid                            Maxim Sobolev <vegacap@i.com.ua>

 pub  1024D/6BEC980A 2004-02-13 Maxim Sobolev <sobomax@portaone.com>
      Key fingerprint = 09D5 47B4 8D23 626F B643  76EB DFEE 3794 6BEC 980A
 uid                            Maxim Sobolev <sobomax@FreeBSD.org>
 uid                            Maksym Sobolyev (It's how they call me in official documents. Pretty lame...) <sobomax@portaone.com>
 uid                            Maksym Sobolyev (It's how they call me in official documents. Pretty lame...) <sobomax@FreeBSD.org>
 sub  2048g/16D049AB 2004-02-13 [expires: 2005-02-12]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBDv7rWERBADAnp/1Nc02OyU3eiXisqYDw2CaFNG7CpTNalQbJCX9KDuCzNbh
 RKS7slRG0Cp/IsCIoJ0WLugslAZHBtLigl5XxdVeTYKJfXV1gKXLBnzW942oswUu
 zMeZzpcrCYHK7AVaTtZJEQTDf/SIx/ZYu8DJPv/7m9I7aY3EYXQsHIqj7wCghRzg
 vhbpzqR9KiIsH82z5ctlGHUD/AixgJJ6dCf/bxIq3siaijMs1fM1JNLTIL5W7i+I
 LWUjM9PJztfasAZMj4kXjimZl9345CW+0+jV2oe7y+AFWGZUsQHKb3azruH9frZc
 a6JSUOwvy4mQjMwtQC2ngJsUQGqrfGl3DLaa4hJzlgQ6i0PHTN1ljKvrMNgtgnZg
 dypDBAClZuCCjn1RffnM4FzWuDZLYL/wLhqbtzMNvQXe5gwnDeg1QM1xgfUtaaa0
 7f071Ayv+K54wVk+7XIRZLP0Kbgo07kJlXw5AzznzY4167RkcrifLPtG4nbDQCaS
 QreYjUG902h8T7ckkmTV6VAPGUEh/ms9aAeFxAg2XOXiwCaYerQfTWF4aW0gU29i
 b2xldiA8c29ib21heEBtYWlsLnJ1PohlBBMRAgAdBQI8INsQBQkB4TOABQsHCgME
 AxUDAgMWAgECF4AAEgkQoNu5t4iCBa8HZUdQRwABAZRqAJ4ypOHGqZA7mf+m+R1k
 kUCSxtirZACeIXLS54rLLTauEHQtuHfNKEQolCC0JU1heGltIFNvYm9sZXYgPHNv
 Ym9tYXhAYWx0YXZpc3RhLm5ldD6IZQQTEQIAHQUCPDcdsAUJAeEzgAULBwoDBAMV
 AwIDFgIBAheAABIJEKDbubeIggWvB2VHUEcAAQEdMQCgg67lgOG0NlSy6RlNxeqT
 mREvqt0AnjoRX4MwyfWsHmD63XoByM5XjdketCBNYXhpbSBTb2JvbGV2IDx2ZWdh
 Y2FwQGkuY29tLnVhPohlBBMRAgAdBQI8Nx30BQkB4TOABQsHCgMEAxUDAgMWAgEC
 F4AAEgkQoNu5t4iCBa8HZUdQRwABAYJvAJsGythE5SUctWSmAYIxYHagnEUU/gCd
 FQv6AywESIEMOLK5iaONMFb5NGO0I01heGltIFNvYm9sZXYgPHNvYm9tYXhARnJl
 ZUJTRC5vcmc+iGUEExECAB0FAjw3HwsFCQHhM4AFCwcKAwQDFQMCAxYCAQIXgAAS
 CRCg27m3iIIFrwdlR1BHAAEBbJQAn1tcab5GD07XKi33AdcyP521kGhHAJ9eo7wb
 PMLk4e7y6ZiQEeMd4DF1/5kBogQ+e3iWEQQAsxiirVfUk5G6X5YyhHT3pX2Tt6n0
 F5hj36BLxU/Cbn7viUMP2x6qafIolWC5wW3JEklsql3wXovUl6Uuaah6S57XD+45
 YNAztjJ2rOp4wW9KD6i7IWkbtgz0eRLQBNzEvcvdMfGqH/1XujGn033Q3tpgT8sH
 WfbT68DXuaUTJCMAoJhav+twkmoLhT0o5KSjSgcmtjOvA/4oJZ9D5H4rSRKWhQNG
 5A5FZlNX1q7K9/WYcSKWsE6R+jnOFigZOt/wEXA4tUiI1b7SaVnSPNgQ26iMPDIZ
 uauEmvjQmVDSdO0ZsS545VQ9xJtksJdHZXnTVKWyTNiRWGHWT3ucR2XFJ40U+so/
 AxKch0N5CqtYy9A27aO6KLqBOwP9GJUvIE1zB5plWP70d9Kii6Gf9c84VwK8sYcd
 w45M4DozPUJqMUcfP4ycvK5AY80MRvNr+UP0VgfpuKElh2JCUpgj9XTE48vuAdyd
 3q6lVEC4SpjZu29oFNyzcX0dILPHy49pTaNOUK7EQgdS1S7OWksP6XCWQ+Fmd8E7
 vtcT+BO0JE1heGltIFNvYm9sZXYgPHNvYm9tYXhAcG9ydGFvbmUuY29tPohiBBMR
 AgAiBQkB4TOABAsHAwIDFQIDAxYCAQIeAQIXgAIZAQUCPnt4lwAKCRBtQCVYRo7m
 2FP7AJ9QC+MpLfOgfrBZ62ylXJbgV9rSfQCbB+djelAeWNwsPCSI1ztdLW71gIW0
 I01heGltIFNvYm9sZXYgPHNvYm9tYXhARnJlZUJTRC5vcmc+iGIEExECACIFAj57
 eW8CGwMFCQHhM4AECwcDAgMVAgMDFgIBAh4BAheAAAoJEG1AJVhGjubYpG8An1bD
 +5ViByos/wyRoQ3fL5eRnPbYAJ9orRZWWPheXO7sO4kRB4p0tUGZQ7QfTWF4aW0g
 U29ib2xldiA8c29ib21heEBtYWlsLnJ1PohiBBMRAgAiBQI+e3mWAhsDBQkB4TOA
 BAsHAwIDFQIDAxYCAQIeAQIXgAAKCRBtQCVYRo7m2EMFAJ0SKWhO8mbbRHNjJZhr
 Z6gRvtM7RACfXwBb7dbxG1ZEcJHfvaJxo/VxF2G0IE1heGltIFNvYm9sZXYgPHZl
 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
 =Z1Sd
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.246. Brian Somers <brian@FreeBSD.org>

 pub  1024R/666A7421 1997-04-30 Brian Somers <brian@freebsd-services.com>
      Key fingerprint = 2D 91 BD C2 94 2C 46 8F  8F 09 C4 FC AD 12 3B 21
 uid                            Brian Somers <brian@awfulhak.org>
 uid                            Brian Somers <brian@FreeBSD.org>
 uid                            Brian Somers <brian@OpenBSD.org>
 uid                            Brian Somers <brian@uk.FreeBSD.org>
 uid                            Brian Somers <brian@uk.OpenBSD.org>

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 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
 3mPjEgv3yQyXxmScDQ==
 =g4uu
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.247. Nicolas Souchu <nsouch@FreeBSD.org>

 pub  1024D/C744F18B 2002-02-13 Nicholas Souchu <nsouch@freebsd.org>
      Key fingerprint = 992A 144F AC0F 40BA 55AE  DE6D 752D 0A6C C744 F18B
 sub  1024g/90BD3231 2002-02-13

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: Pour information voir http://www.gnupg.org

 mQGiBDxq4ZARBACJSN3t0e7d8A7LNfvsKsNNfMWbANu/f3vEhDEj4D4X2QLKyk8t
 Ti5/wO2Z7HJiT5QfI3zeRWetvHMWXhAYc24GrTUMdCt2zhUjufi5BdysmcbLiZFt
 9wjJpJITW4A6W7YP55ORkZs6ye/j4Luf7YN4xISWvM9/kzpUtU8R6txC3wCgq28H
 0tdFPUDvyAwr+97vHs97z/UEAIFPSIAsrH00DuudiLpqZB0LE+BcDsSKgxBQsZJT
 06EQQaE9XMN4f46nAtxzFhSbGZL4qIBUO3Ny1Pp0rqjCfumuwONLXZSK829LaaJn
 WfZ5ux9ZjvfYJ86NgUV2tFnwZm2UYQXc4234FfzfebeiSmYI27BMvLJ28xXU+pNw
 vUvhA/9uPu+i3Dk+ha+0UaBTp/HNTAveoTKH6lNOS12XhCNNPQUL0gonJTeWThRO
 z4YttxgLa5I/MoNsub0+GtNrlyhLyHKzjBBHEqJHJp7+zkyfCODnJaxUqoKskUSD
 QF5VX6v6vEQl5UBjGwonHmzsrnuqTb9pyYhfPTch9n22eS6ZqrQkTmljaG9sYXMg
 U291Y2h1IDxuc291Y2hAZnJlZWJzZC5vcmc+iFcEExECABcFAjxq4ZAFCwcKAwQD
 FQMCAxYCAQIXgAAKCRB1LQpsx0Txi0J7AJ9q3/ulyXnWjGWlR0L+3QtfPKI5EgCf
 WTLlr+SXYF+nrW4VvQcJvuyzZyG5AQ0EPGrhlBAEAKQjsjIRO+kHT+9qCYsw6HPi
 BYzH++xP0i5143trUJ66FoEfqOl4UqHwNJ7GEXq9MWgzBH9wDL69Bb4kSKQ9vKwD
 EgAnXObS3FOUPLK5AMXc5jy8rRaUru58+cGs1cNIg69zgQ3FQyWF0FHI7kGsAdz9
 8iUZhXL22I7+EVBgd9DLAAMGA/9oK+Xjo7xdLZvkW8b4nNIA7Xyml2uMLYjg/OVg
 qRkVU5f7KM2oHna7+VtvdJrIl9bTVc6mrTl6GY1/0GYb1edgSu2Axg+msj3fVkGd
 8hWuNQ/T5v45kgPcoJxWLzaWWkDeLQAf5tq/QVmN8hofl6UsrsNDvYTBbl7129uo
 3BJbG4hGBBgRAgAGBQI8auGUAAoJEHUtCmzHRPGLta8An39UVQwz3OgsZQ5e8upC
 VEBCvTUmAJ9/8mbmXF+Ii/JdY6STmU1MMfmQvQ==
 =A6my
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.248. Suleiman Souhlal <ssouhlal@FreeBSD.org>

 pub  1024D/2EA50469 2004-07-24 Suleiman Souhlal <ssouhlal@FreeBSD.org>
      Key fingerprint = DACF 89DB 54C7 DA1D 37AF  9A94 EB55 E272 2EA5 0469
 sub  2048g/0CDCC535 2004-07-24

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEECPOARBACeiKSpedo952tApwSI+rrDIrp5LOC5FG1crAiTpAqy6aP+n60z
 c2euoVDGjH/ncUZ+TxUK/MkzSOFXTjU0TETFgq2UMxSzZCLwPrmQibfHbmnF08+g
 0EjlslsszccPgTEZz6F85aZGYWjU4dhQ1VYP+y5Im88CgahggCB6J+8hHwCggMu3
 f51egcdCrodzFvL8poUYKi8D/i644gOjVN/YamHS5QUGNPJ9xkcq5G4OfK+Ubjq8
 6T1dd7UkJ22sePpKGtRhPNATeEar/HwzLB7r2h+UAD4Yrl6+//EwWB73BgxyCqcB
 X57s57K3+UMblbLR3NWJAD/HpxIBFxXfj55VPk6aH6GX5LzayMxfZVYccMyWOcsK
 UZaNA/0aJkearTpmitBL49fOhz8Je/QIF6riigkdOuyx62yAtYRNrVbDrQvvornR
 Z1CLUp+mixUc3bT+emLFpz2ZXmGqCr9BMAqENh0gayGeekyk8IYLQudFSidL3yHo
 WErc76neXoBE/5M/v7jZCrQS9loS0vITFsui0Rv95BcsNbV0iLQnU3VsZWltYW4g
 U291aGxhbCA8c3NvdWhsYWxARnJlZUJTRC5vcmc+iF4EExECAB4FAkECPOACGwMG
 CwkIBwMCAxUCAwMWAgECHgECF4AACgkQ61Xici6lBGkj0QCbBe+RP2fX0+t1fiU/
 oOcORVeRc3UAn3Y7M2TfTKmSh+5RXsaxcVKWDqZauQINBEECPPgQCACOxltxnJKq
 MHIW1P1u4pjby/v0ZsVWbhqmPzW1L/o0SHbBdPkLn+NZmOKG3sXFkitq1nnXQMq0
 pdWwEK55rN3+iYMpq2OJgubsEDJbo39Lom49w3xXs3ElHKWmgjNUMmiGi3yA3Q5P
 p9E13ze+ZBTTZrlj9xtTsXYPCkoihcjA8iD1G52CJYuVQOCxeKo3d8EZi4sFXhTs
 yGfK7ipLN2jO4H8LSrImMlT5z/ePmhTgo59A+vsIShklJpRlHqYB861sMobUlbCd
 0n7Fng8pD9jIG63usHJgU32AVEeZ9BMaZ5Gjsm7KvIwJH+w8DGnR7016hleSXSEk
 wVbS7zjXKfAPAAQNB/9GQcWpnuKYlVa7olq9XOVHe2pHrnK20wLy14ormB245Aip
 gTCN/SEIgwc09nF2QXXXhzZrxsFCPphgJh7CT8g25LCJ2rchOhCpShNS43I1ol3d
 II4nK0DtXUJc/3qG5PgPaNLHHyskwIIyfL2rKRlufTgByzF3AKXHweJQ9suxGkGS
 i2+l1NBwLwsjee59gEyKXT/cbfkV/IgA+NBpj7QaDs0yhsbPSDAJszbo53aBAB9U
 sZjWP9tkrzaP1eoSbl+LFttLtrivG/v8HZuPlI4lELeRboslI1aUUfZVt7xx4A6P
 u3L1DWOYm9rQ0q1KMlhGQKa/JBtaKy73wwzZujSWiEkEGBECAAkFAkECPPgCGwwA
 CgkQ61Xici6lBGnrNQCbBljRUNo/9EHyCk0D07YM27DYC+8Anj9wU0uuZE798XZ6
 n4y0m1iMcuSh
 =Fl75
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.249. Rink Springer <rink@FreeBSD.org>

 pub   1024D/ECEDBFFF 2003-09-19
       Key fingerprint = A8BE 9C82 9B81 4289 A905  418D 6F73 BAD2 ECED BFFF
 uid                  Rink Springer <rink@il.fontys.nl>
 uid                  Rink Springer (FreeBSD Project) <rink@FreeBSD.org>
 uid                  Rink Springer <rink@stack.nl>
 sub   2048g/3BC3E67E 2003-09-19

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 hpneRV17ciF5APqU2SSiDrugQg==
 =Gfya
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.250. Vsevolod Stakhov <vsevolod@FreeBSD.org>

 pub   1024D/213D0033 2005-03-14 [expires: 2008-03-13]
       Key fingerprint = B852 0010 761E 944A C76D  D447 A25D C12C 213D 0033
 uid                  Vsevolod Stakhov <vsevolod@FreeBSD.org>
 uid                  Vsevolod Stakhov <cebka@jet.msk.su>
 uid                  Vsevolod Stakhov <vsevolod@highsecure.ru>
 sub   2048g/786F2187 2005-03-14 [expires: 2008-03-13]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEI1ezcRBADE9OSKYo4FwkV9/HZCsEuq3afu/4cEiRlaS/pod5b5/tv1DGAl
 QQdQeNxW8nzDLrODbyCtmJDxvOib4Z2qz2NZOgjTujnlHeKecJJKkXg7bYIgMWy+
 JQNX613fcsgQicUQDyi0nMKcvd8BcKuzDUCGEuyMxEE5UyBPXOKDuPLZNwCgznDP
 rjh6cffp737SBR1ViasIresD/RYo8N+aMdwIQwqWXYXuSj6sCDutU2MUsRe9RxaP
 iDE+XvLuxRa5BTAitMWrDJqKdCjysADTXl6Owic6+Y9ppk35+VHDq7vsow3v4HrI
 znJVb5ZOl7nyaBtsd7v/nRFjQEcko11PxbmAAY8UevbGSmUsOmyT2ZMgYkNgGrvl
 jsGZA/9UtsG0IaR9+EGAuvOGey3Rh5AfNVontxJ+FXpCyHgKXWFrJIzbFPJ+iaYN
 xd2uUnEcAeGkY6UsK3z6MAvAorJC383tcRyfZQ7nAYhR2tmPVjFCNU/wPLT6MiZQ
 LgPbYh+SBWTpofpnAcVmVRk18tqtAXuH3kb+m+JG1EppxT4WMrQjVnNldm9sb2Qg
 U3Rha2hvdiA8Y2Via2FAamV0Lm1zay5zdT6IZAQTEQIAJAUCQjV7lAIbAwUJBaOa
 gAYLCQgHAwIDFQIDAxYCAQIeAQIXgAAKCRCiXcEsIT0AMwPVAJ4z7YKxK+3XB8ic
 Ml40/9QdnfzA8QCcDbtrLjTHVfMsLZls+CpS7SVOZLK0KVZzZXZvbG9kIFN0YWto
 b3YgPHZzZXZvbG9kQGhpZ2hzZWN1cmUucnU+iGQEExECACQFAkI1ezcCGwMFCQWj
 moAGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQol3BLCE9ADOu+wCgvhaDI/qqW88t
 h1qkpZiSoj1QGhAAn0aH/9Ln20qZlzOzflE+RMNroro2tCdWc2V2b2xvZCBTdGFr
 aG92IDx2c2V2b2xvZEBGcmVlQlNELm9yZz6IZAQTEQIAJAUCQt/YkgIbAwUJBaOa
 gAYLCQgHAwIDFQIDAxYCAQIeAQIXgAAKCRCiXcEsIT0AM18MAKCYLPaRezw9CggX
 0WGxZ4V2AO/H4QCfe9H8leQkgkf81O3xijejFh4yo225Ag0EQjV7RBAIAPegYMuM
 CjkzEiNYAWZNa+IgCrfWTZWuiCkvfvbYlnx2CLCMhtCi6kDIGm8k8ub0MrgI7JnR
 z3dVaKUi/ky7lbTCkl5lqLdJCX7lAOmbXrtV8Z/w4ke/9aoA5mRcA5U6IDKemkr3
 2mfEEDY6ZOYltLaOh0oPcX1M3v2NIeJhITi6QeDLOpprcCB2fBaZLNC7elgExxaf
 4Ij/Y+QYvZ8ejdOG+AOYHm4DOhWXPyfhhHLRG/U8QY40mYY1BhXZnm8ki/n6ATNn
 5/iUzVZVYYOFuuOhl0B4TG01TlDuhvzm3nBblXx4TkXmlJGY+jy9pzyqyI8OpwpF
 b5/+Q68f2OBltX8AAwUH/iaq0BjgK3Rk6Z/0Efw0ZVk4oO/RhQWcY0f5QDzPnoBk
 DgQcsraDpK+fMRAbNXNjRA7qnTDzyVSjURHEJluNGpXQVXkrO1j5+N5yJXZy7Y+8
 nlUm31UKp8bgzCSck5LcluV9dOQKSD4FvgRmyrt7Zf1Ge824/KkoQaw8MqXGd3hL
 vWta5S3YRJZ1xKKYdld9P7GI9PkOSsD1f4fYQpaHiHTQB+/LIsLiiEWzEnVvWnqN
 CJoatLuznMB4uTjAmKMrOAjVw85+x98Iz/tgIjA/eFO1OlOx1+3UpwdpAibKXDf3
 dIxbuhsp6xy2G7xbYr+ErgZcpOePy+vvnOxc1gwS4q+ITwQYEQIADwUCQjV7RAIb
 DAUJBaOagAAKCRCiXcEsIT0AM/LDAJ900L1+vJyKrr3hP0al12mE3cy+9wCcDeQp
 6wzJCGiOCfCGViOv+39ADh4=
 =gaWL
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.251. Volker Stolz <vs@FreeBSD.org>

 pub  1024R/3FD1B6B5 1998-06-16 Volker Stolz <vs@freebsd.org>
      Key fingerprint = 69 6F BD A0 2E FE 19 66  CF B9 68 6E 41 7D F9 B9
 uid                            Volker Stolz <stolz@i2.informatik.rwth-aachen.de> (LSK)
 uid                            Volker Stolz <vs@foldr.org>

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 G7oQ/NdFiVk5IOo=
 =r3Jh
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.252. So/ren Straarup <xride@FreeBSD.org>

 pub   1024D/E683AD40 2006-09-28
       Key fingerprint = 8A0E 7E57 144B BC25 24A9  EC1A 0DBC 3408 E683 AD40
 uid                  Soeren Straarup <xride@xride.dk>
 uid                  Soeren Straarup <xride@FreeBSD.org>
 uid                  Soeren Straarup <xride@x12.dk>
 sub   2048g/2B18B3B8 2006-09-28

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEUcBVMRBACN3a/+siykVNlKvwCmd4HVMogG+Oljeu9wyLsI8dJ9Y81bkY0h
 fi7ve3Tfu4GeRcirnrc2FV9Fcsv4dt9DtYQ7PQTPH8kjrSXr3kQoiHE4fGGJl4IK
 IVIHj+iC26JJgbqFcSU7CKGdvZIOJ17IPPh/HhunKBv9ljNJ5MM+WL8kJwCg20Ez
 J3CRnHM90EFk/nfAlJRvXk0D/3rqR1ODyY/8fFDtpOIjkApkw7k2eoJsfqy7tbtX
 YwdMKQptAvz2NxW4Qjfo3NbgGbfN6eAlhoy9Srcfm886KPMA22ZAvCWopFNbqAGX
 e2iOEwbU4JflSq5vLsIhOVz133W6mK1c7VJ0cf2zl+iRWtISES4fOY5s9rEacIjA
 NcAHA/0ak6bks8LqzC64zFdI6bj2FfJbOoTrga1/FQEBSw8bET14S20G/713ZCD+
 tQXXrs8I9YjBQREsKYmy0ixFYFmxMvG0NxkIyrwD/GEqpBbNdkJlx7pUhqv3zyRY
 rzvcmca7jIguu6K9nYi3t45nmCVo4ku9EE34YHzvgFQ15+1LdbQjU29lcmVuIFN0
 cmFhcnVwIDx4cmlkZUBGcmVlQlNELm9yZz6IYAQTEQIAIAUCRRwGPAIbAwYLCQgH
 AwIEFQIIAwQWAgMBAh4BAheAAAoJEA28NAjmg61AFysAmgIisxdd6032Jk2xeI17
 gcHuzXvuAKC5z1x4XxCwELWC9mk9HUlVTWcMW7QeU29lcmVuIFN0cmFhcnVwIDx4
 cmlkZUB4MTIuZGs+iGAEExECACAFAkUcBVMCGwMGCwkIBwMCBBUCCAMEFgIDAQIe
 AQIXgAAKCRANvDQI5oOtQAvaAJwIhTZcNVO1HKFwW5+hfnpE55hAMwCgtgTvelBA
 dhl0HgdkEN+HWtZzEnC0IFNvZXJlbiBTdHJhYXJ1cCA8eHJpZGVAeHJpZGUuZGs+
 iGAEExECACAFAkUcBtACGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRANvDQI
 5oOtQBgzAJ0e+6mp3n17yH4hAzcE2toJ/CPBPgCgrDC3mRdXEOD8Gegm80agUykc
 Fq65Ag0ERRwFhBAIAPf3jtvf8pJMZoO7SQ3/Et3jla1POUcJuk9T70om/Fqi9Y1b
 mxTXR7yu5Rue/ZSN20laoywnJQAJ3BENx7mZHZwCzZDfEU9QU6WipPykt7KbhBG7
 DjXBONGY34wl4RearvGn61FuL77/pkSA1XQ4+5U/hWIisTWnHRufxoykhlyo7QTN
 x/S1bEXA6eTtfT7acA8sZfMRiqb8opOtJPiSMO7vBEYHfkleUGhSJwI7R7ghux2z
 y92Sp1sFO7xb7ZVlKVPo+edqbu5mKRLvhykLiA7keNv/YGkfVjPgLthAo14JIL3b
 95dOkGV/iI+DlYWPa/sDOM2KL0S/wJ7dXMtMVO8AAwUIANqJ9nqvDnWMoiJ2/Zuc
 H9y7CMmSZEdzQwKqaJysyDqiV6LAK9TXsxzzl1UXximPMCb2qwtVGOaRKAPR8qjD
 9GQc0Lb/BCFQ213o0eb+pvq7fFmUxrt7kMUvbwRGhiRbHyo1qf/z+VA2bntosYmW
 9YSpa9eoE3iXr3cF6wQVw/nUF7jm6QQ4M3ak1MiaoICxxCy1x2WzW9mrUePPWz25
 x0Pj0+R3mnWMTewLC6kk3QFM3usdxudGXJqDVch3w47BHV59WgSnzYPshGFp0VlU
 xeJNWJYu0DM/8WeOvRdf/5VdxwJGDtxRyQSDX6niYHWg6tL2Bx1cCxJnnzLLnXDp
 PziISQQYEQIACQUCRRwFhAIbDAAKCRANvDQI5oOtQObqAJ4gRDoYRjl6DWCd2DgO
 ECDwvMM5wACgiAYFjP/BOSY6RZdSBTxOSdyeVdk=
 =Dgd4
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.253. Marius Strobl <marius@FreeBSD.org>

 pub   1024D/E0AC6F8D 2004-04-16
       Key fingerprint = 3A6C 4FB1 8BB9 4F2E BDDC  4AB6 D035 799C E0AC 6F8D
 uid                  Marius Strobl <marius@FreeBSD.org>
 uid                  Marius Strobl <marius@alchemy.franken.de>
 sub   1024g/08BBD875 2004-04-16

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEB/3xIRBADGjxOPVRN2LvXTd6jXqKf4/6pPVPQlKqtwpOZj9JgDVE+V0Elf
 kjvwfCXA0gqt7kkal8i2TU9v2g6IIKP1eUoNpBy/s15Wc8JMlESB6CkfFPNkqj5o
 ohRSoKuB8dud0KR3T531rPfQNmsVRWtxrPYigkrtYZHiTPSZFgL0e+RiBwCg+i3+
 p9+1JBby6tthOolOGdr54xUEAIYounibXk8p54DJeunp0rMbzKYvbXYTOyc4HbD0
 t9kOH+VI3BJ+DlEuCejgwRkxkisjhQbSTa4+EGROKYcVIBBTtsj8JGHiNyRVSQ0D
 +A1KDuZQh7iDwuyatT0xvcvFw52In0dj3RK5hDV2ZX1ec1WiEMKdf8It+WdTSQPT
 UUF+BAC1WEPU92FZefdEDIQQHu17xsCestDOyd6xUBpxyPV2dyUwm8k7OhRalNuk
 nAIXfbZcVVZ/+RWDdfiftoSxQmODQg0JtzhtGEQO2q/FozsCy4Bx8XPk6CQmPMJk
 x/o8MwR50qDlsmcMRR2NDF+I1QOyRpEmugZ6sO+WXm8bkj1J6rQpTWFyaXVzIFN0
 cm9ibCA8bWFyaXVzQGFsY2hlbXkuZnJhbmtlbi5kZT6IXgQTEQIAHgUCQH/fEgIb
 AwYLCQgHAwIDFQIDAxYCAQIeAQIXgAAKCRDQNXmc4KxvjaHxAJ9+D0jNIIFzozzz
 6n/bx6N+yV2rwgCfZRtKVbN4QNEBod9tfer2TgmRlqGIawQQEQIAKwUCR3O7DgWD
 AeKFAB4aaHR0cDovL3d3dy5jYWNlcnQub3JnL2Nwcy5waHAACgkQ0rsNAWXQ/VgC
 ywCgjtPLCzZAAgOuFiLwNw4vF6ZXJBQAnRPxbc9SwccyaGrkk8kiCX1nxVmFiJwE
 EAECAAYFAkd2QQ0ACgkQ722CQfCBGV1D4QQAgo9MiuMFTfyjZn/qfQmSenruVgSW
 GpKiz6DTPhmT767GqaVqaaChoWqPY6/PGPTbk71NleF1v2HU1Orzoj3KqgzE6vVM
 MMfmMXJ7y/A9hg+xImKuThiwMzfJJQ+nrvCc1beJIiMxhJJLHxmBJZve/mbMUs3V
 HC4tGEcdrGecFY2IRgQQEQIABgUCR4ekWwAKCRD09yJxgsm6KU0pAKCIgvYV8BNI
 ES5/8AK02J2lApE5kwCgxetWv8ToTTbUhW2AhaIEHlg8KQi0Ik1hcml1cyBTdHJv
 YmwgPG1hcml1c0BGcmVlQlNELm9yZz6IYAQTEQIAIAUCR3QWxQIbAwYLCQgHAwIE
 FQIIAwQWAgMBAh4BAheAAAoJENA1eZzgrG+NU0AAn1xgOlGk3+FpLagxQh6/O94Y
 8iz1AKDvu7Im3yfxj4LRh5UVKnNYMIJTtIicBBABAgAGBQJHdkEIAAoJEO9tgkHw
 gRld4JcD/j52TeNiPNJ4hDyd0QJUItk8RXcvBtrg2dSl0TGmNs2f1+3fjZ6vdrE+
 5Ry0qh38ywsxs7sEFURPavre4i7EbdOWv6NawUfaIsgXp8Os91bQr+UrXe2esAEC
 SICQS9hHI3qEl8hPqay7rPl/lXM3ivofmrRXXfBRCtxUqy8+CFoeiEYEEBECAAYF
 AkeHpFsACgkQ9PcicYLJuikeVQCdG97q3ZUAYRy7za8JihUzddma5wIAnRS7veJj
 ENbiKHg6MJc2BMFGZ9H4uQENBEB/3xUQBADFOTE426iijaR8FaZLMIRaSexGfOvc
 nPJFF+rkoktpQzP+9BKDwKvt1HmlDXaiaeJfwEfQdK7/oORh9+ynL9ag/KaocJtT
 8eAqhVnoC240NF+PhMlX7YblUwa9+M5MfNmDkNEV92ZFIJ8QjRAzn/G3rQIMo6ax
 BmsF+1P71QEIgwADBgP+Kbmf5TjcU45Wuc3ceZCAEm9o7VMhsU/tVu69x6QRu379
 HqJ9RDuAOdcBWQ/67Jw7blSbe3yWZpqhxLTWwYELJG7/XSNnIsFl3osF34lm0Y9M
 lJl+XBQ3UV2kPgtIMDTXDuklzuhdhbIlhWOXJJf48WkSxeB2WGnnlVvBCjBTx3+I
 SQQYEQIACQUCQH/fFQIbDAAKCRDQNXmc4KxvjWiAAKC5xnCwJYOHHwqreNa98Dah
 W9e6+QCgjchyumMlSJfpEEnGG8vU08TmXrs=
 =QOvV
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.254. Cheng-Lung Sung <clsung@FreeBSD.org>

 pub  1024D/956E8BC1 2003-09-12 Cheng-Lung Sung <clsung@FreeBSD.org>
      Key fingerprint = E0BC 57F9 F44B 46C6 DB53  8462 F807 89F3 956E 8BC1
 uid                            Cheng-Lung Sung (Software Engineer) <clsung@dragon2.net>
 uid                            Cheng-Lung Sung (Alumnus of CSIE, NCTU, Taiwan) <clsung@sungsung.csie.nctu.edu.tw>
 uid                            Cheng-Lung Sung (AlanSung) <clsung@tiger2.net>
 uid                            Cheng-Lung Sung (FreeBSD@Taiwan) <clsung@freebsd.csie.nctu.edu.tw>
 uid                            Cheng-Lung Sung (Ph.D. Student of NTU.EECS) <d92921016@ntu.edu.tw>
 uid                            Cheng-Lung Sung (FreeBSD Freshman) <clsung@tw.freebsd.org>
 uid                            Cheng-Lung Sung (ports committer) <clsung@FreeBSD.org>
 sub  1024g/1FB800C2 2003-09-12

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBD9iAJ0RBACJHmAyofYftDx6hFkYRkCrM999YrKxfYGybHI+MoN2fFPXMvSh
 idYzBGhij1a8E7DGuZ2fGwSxdUZXcUA9PlDPuTmxs/xI/ZgX/qnG4yPgeT7KfZ5g
 UqRpm0/gz/7g5UsvNBw0iUzSbI7tTXprErflhUXX6cC1bPHTeEQbHe+nSwCglpMT
 cpcV93CQpMX+GC16UvwC8MUD/2TzigXSQ9rJNoTLuhsibSK9fh0vzq6rhCrzy2Ma
 G4M9kLvApu7+8YEk9ydVk9EE0PxHTTXGAxnpZzTW/bCCcLubhBqv8eXs2GOOxzHG
 YXb9Oyo+FDe0EAEZ5Swmf/V2eAHV4bYDmXzW9okxIUK6skXtFxQ70DxqcmtAxlxa
 QLgbA/9plT+d5g2s1c11Z0p5CQbxa8sJu4nLFT36DzhR2BmhTEM/X2wSARGe7PKu
 LdWI1WfU4Avoj9sWehSF531tMekMSZ4lp0gb0rYOyzGTqTWjq32mkqep8MDP9cT9
 6H1UaSU96yyc1sprUdU7XDf7TA4jZp2LSLlOEB2UCOa0mBL9QLQ4Q2hlbmctTHVu
 ZyBTdW5nIChTb2Z0d2FyZSBFbmdpbmVlcikgPGNsc3VuZ0BkcmFnb24yLm5ldD6I
 YQQTEQIAIQIbAwYLCQgHAwIDFQIDAxYCAQIeAQIXgAUCP4IzGQIZAQAKCRD4B4nz
 lW6Lwc3gAJ91P1UQoV68L7emHnjqlf3nK6qzmwCgiVtWyaqQJq4fayifeKfFmT2U
 0EyIRgQTEQIABgUCP2SPxwAKCRDm4NvoVAvGHGhiAJ90wTMq0zYb41tG8M+RoMyv
 oVsgtwCdGko61SUEB+884zRD2bHhwFMg+OiIXgQTEQIAHgUCP2IAnQIbAwYLCQgH
 AwIDFQIDAxYCAQIeAQIXgAAKCRD4B4nzlW6LweOrAKCRWdRCC8hQYwWCa4/upt6N
 hc+SRgCfVybP7alAFua8F010HJiSfXdNtFuIXgQTEQIAHgIbAwYLCQgHAwIDFQID
 AxYCAQIeAQIXgAUCQSQbpgAKCRD4B4nzlW6LwVB9AJ42/CQFoYKDRYz+XmCqBou9
 Y+Nm/QCfZv19FBbMSOfvRW6R7nJTSkf3Uj+IYQQTEQIAIQIbAwYLCQgHAwIDFQID
 AxYCAQIeAQIXgAUCP+GGogIZAQAKCRD4B4nzlW6LwUZ8AJ9q3BbkGIsEuhnp6rWX
 uSkcXYkWWACeNSCb9l9g/650wnXPEHcHsRpzBLK0UkNoZW5nLUx1bmcgU3VuZyAo
 QWx1bW51cyBvZiBDU0lFLCBOQ1RVLCBUYWl3YW4pIDxjbHN1bmdAc3VuZ3N1bmcu
 Y3NpZS5uY3R1LmVkdS50dz6IXgQTEQIAHgUCP2SMCwIbAwYLCQgHAwIDFQIDAxYC
 AQIeAQIXgAAKCRD4B4nzlW6Lwb3bAJ9mJttWnct/3ej1XlvmnAxRq6ZkOACfdZDT
 sLSo8DN73ZKDbiP73KqDPdmIRgQTEQIABgUCP2SPxQAKCRDm4NvoVAvGHONyAJ9t
 QrXQSZDkm71qAw+6HiERQ+qsEgCfWuA857Lrda9ZR8X7IJJ3XLO2HPi0LkNoZW5n
 LUx1bmcgU3VuZyAoQWxhblN1bmcpIDxjbHN1bmdAdGlnZXIyLm5ldD6IXgQTEQIA
 HgUCP4IyxQIbAwYLCQgHAwIDFQIDAxYCAQIeAQIXgAAKCRD4B4nzlW6LwecsAJ9F
 HNrKHPsCJ6ZesY1gJI5HOVijvwCfb5G6dT2YW8TH8GNRFe7rWPXO1E60QkNoZW5n
 LUx1bmcgU3VuZyAoRnJlZUJTREBUYWl3YW4pIDxjbHN1bmdAZnJlZWJzZC5jc2ll
 Lm5jdHUuZWR1LnR3PoheBBMRAgAeBQI/gjLeAhsDBgsJCAcDAgMVAgMDFgIBAh4B
 AheAAAoJEPgHifOVbovBz+wAoIJhcDpcOVIACy+wboHG4nGOQfiWAJ45qvE09ckd
 IX+MDl7xez7OMqDU/rRCQ2hlbmctTHVuZyBTdW5nIChQaC5ELiBTdHVkZW50IG9m
 IE5UVS5FRUNTKSA8ZDkyOTIxMDE2QG50dS5lZHUudHc+iF4EExECAB4FAkAoN7AC
 GwMGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQ+AeJ85Vui8HhdACeNn9owhjpYr2y
 cYCkOFDv+q3xIF0AnAijfOOUq2oT0d0+B9sALIz0HHrEtDpDaGVuZy1MdW5nIFN1
 bmcgKEZyZWVCU0QgRnJlc2htYW4pIDxjbHN1bmdAdHcuZnJlZWJzZC5vcmc+iF4E
 ExECAB4FAkESZaACGwMGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQ+AeJ85Vui8Em
 ywCdEDYOgC1/YxPHqyvEXGs+JTFFqfkAnjfkTpRPM492elqZkBlQimFGLeWutCRD
 aGVuZy1MdW5nIFN1bmcgPGNsc3VuZ0BGcmVlQlNELm9yZz6IXgQTEQIAHgUCQSQc
 2QIbAwYLCQgHAwIDFQIDAxYCAQIeAQIXgAAKCRD4B4nzlW6LwZ4TAJ9hByDD2ep6
 ixTnazmBJSg3epv9tQCeOM4JaWNwvbOrF528n8PQcgpe/3W0NkNoZW5nLUx1bmcg
 U3VuZyAocG9ydHMgY29tbWl0dGVyKSA8Y2xzdW5nQEZyZWVCU0Qub3JnPoheBBMR
 AgAeBQJBJBoPAhsDBgsJCAcDAgMVAgMDFgIBAh4BAheAAAoJEPgHifOVbovB564A
 mQGePiZdxv8qVwvtdyf6m9SvosGoAJwPuv0oR/D4PIDKFYtlTqfYN35I47kBDQQ/
 YgCgEAQAwHkhKy54M/yuuJgb4Gcit2+fDnlRZ8yRJkGe8OSl7qx9Gaz0+kwe1Gir
 V+DQFGC/W3gJqjEN12jh11ZUabE3Seeofec94rDZz/YBkf5ofMT1+tN1kwr+ju7C
 lQdZCwNewaS2p6C5PsXCUQQ8ZHfgs8YB7Ze/TY6GvpOoDKqYHO8AAwUD/1ZvVV9P
 e36FE4RkHg3P1YLkMNs5fxleXD1l6LZ8ElQy1V0RVg8sD2W22xh0wP2W9RplsDYj
 UwFKuRtxxoEsdXvDNLaUyG4hXmNUVBz3b3tmZSvENiuj5EchJWO85T+AFT0g7ap5
 wWlxOqmvHC5NZRiAP1fpKpwoSvYTLP418YSsiEkEGBECAAkFAj9iAKACGwwACgkQ
 +AeJ85Vui8E94gCdEqq8xPwuUc/LJQyc1ziacZJ/FmQAnA41/zThbZg2nf994Wre
 OT332jJ8
 =EtCd
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.255. Gregory Sutter <gsutter@FreeBSD.org>

 pub  1024D/845DFEDD 2000-10-10 Gregory S. Sutter <gsutter@zer0.org>
      Key fingerprint = D161 E4EA 4BFA 2427 F3F9  5B1F 2015 31D5 845D FEDD
 uid                            Gregory S. Sutter <gsutter@freebsd.org>
 uid                            Gregory S. Sutter <gsutter@daemonnews.org>
 uid                            Gregory S. Sutter <gsutter@pobox.com>
 sub  2048g/0A37BBCE 2000-10-10

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 sTEQABKrEX0m
 =fxvp
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.256. Koichi Suzuki <metal@FreeBSD.org>

 pub  1024D/AE562682 2004-05-23 SUZUKI Koichi <metal@FreeBSD.org>
      Key fingerprint = 92B9 A202 B5AB 8CB6 89FC  6DD1 5737 C702 AE56 2682
 sub  4096g/730E604B 2004-05-23

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =xwme
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.257. Gary W. Swearingen <garys@FreeBSD.org>

 pub   1024D/FAA48AD5 2005-08-22 [expires: 2007-08-22]
       Key fingerprint = 8292 CC3E 81B5 E54F E3DD  F987 FA52 E643 FAA4 8AD5
 uid                  Gary W. Swearingen <garys@freebsd.org>
 sub   2048g/E34C3CA0 2005-08-22 [expires: 2007-08-22]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEMJW1ERBACGUsHdqFuQjrrtjpvx2pQ7GpZYl+HS/jVPn+0MjMcZwRtk2T+g
 b0/EzS/0oeOqv1biX/aZN19T31JGdlSm8FumpTc9zPgh830omlJx8V3g8wi0ZHzl
 UjGa2MkmkaCEVeP5bX/NyRljP6fpnOy+5h4F0WcpkqwlXRuhOzM8UgpXlwCgjjPk
 0CLI2jSVsnqIKtMdunOfsd0D/RaALnZrVkGtQfDX6MDo1Ws+ADGj8rGtmdN5TIoo
 ivJvilG/5HSL2nsqOcIKWA+C4lZqzMIlo5iPSz3BijMc1Ni6LaQo4E4zvh7ID5fs
 fXsMhiE7H2KNSGTjmmL/8Weq8Zgpu9TBD8CHUZLD6BU4Wmm9I/R49A16T5Gbylgs
 fEwaA/0VYP+u8TEechtQKLuAfOwL2ruFE0YKmnXq2S7MixFvSNaRilB/t41I1YcZ
 mcWbRlIBezvchln5qRommEKfp/sWVcocR+AuSTcLT3683SkeJ+9205bFx9xXJnrE
 PBhqjMmRNNlmijcBFZHk+W7tCJQBbLGJkpLfqllfVkJ+rY/NVrQmR2FyeSBXLiBT
 d2VhcmluZ2VuIDxnYXJ5c0BmcmVlYnNkLm9yZz6IZgQTEQIAJgUCQwlbUQIbAwUJ
 A8JnAAYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEPpS5kP6pIrVGPkAn0i58Ikn
 S9M9e7cMI9Fis6lXDoAxAJ9eRxZEgPn3aQ4DZ2ObnuKbKSqcw7kCDQRDCVtWEAgA
 7jU7l7ssKXwc+/ynNfiLAm9nvCY4jMw+CK6hwhtuOmrgFH14jeEY8wRVBrOUkVi9
 Y13Z3qkTk5DD4iX9f25iK8PJELU5XJWStuX64hIEyqowRZ5KkvsdydHjQ1x2koS5
 oTW5kD2nWChnBKI7iWPgRnFnfthrXE83ZY1sV+/OBRZH1ZS5KVxOzClcoTiTE5Q0
 Q4Py1vlS/Bw95Nhejef7gSf6fN+iV2DQn8KDF81+MIj1jTWt5LDa80G+T5yGWeuz
 asAZVzBfPEHbWbVmRjT9Ajmump1D/0gUvxSr0fpnVfPtEFJ/MbLdcV1kyTtI9YLm
 EWnov/J31bGCDlhGjYfaLwADBwf/TBu+b48oClOPFJznnNGVVJUdD528hfVor4Wy
 3ph3KXSfaysOmG1xo+nQ3JpdzbC3nXgfVGM2wGvFEgq7ogBZ9YZNzwSP0vseJlwn
 oXNKvKKDdCyVJC6Xi0Pd6L4beJRTjxf0LPQUjYdQbwrk2RqHXZ/RUapYjlfOWS2l
 4ZqHiMoO7ZIAj/bdBKxySu8qVs3zmu59SE+ZQgxSXwxw2mF09XWOLgXsKTfhXlkl
 ZyKhjcSlVfjy4SXiXy2zFCh9+T0eiCeEzz5kS0QkA3npOooIFftI2q0IKbHOExSA
 YwOocuVEW7eLzeBfCoDa0SoapeXcjyF7KbiDwQ8xu9gEIUkpXYhPBBgRAgAPBQJD
 CVtWAhsMBQkDwmcAAAoJEPpS5kP6pIrV3wIAniAehy9Ttb00FbjcevJetKN5PWe9
 AJ9XhpsYKAyHxoZLFzGdR3EGBJNAbQ==
 =EQll
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.258. Yoshihiro Takahashi <nyan@FreeBSD.org>

 pub  1024D/8394B81F 2001-10-15 Yoshihiro TAKAHASHI <nyan@jp.FreeBSD.org>
      Key fingerprint = D4FA D8CA 2AED FCF4 90A3  3569 8666 0500 8394 B81F
 uid                            Yoshihiro TAKAHASHI <nyan@furiru.org>
 uid                            Yoshihiro TAKAHASHI <nyan@FreeBSD.org>
 sub  1024g/B796F020 2001-10-15

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 mQGiBDvKlwgRBADKGTPgNos5F4dobTyIhNN1nVHwKtvdTM06orzFj8VccmdZlJF7
 DLp1UH1gwiVGLu1NPOrQXKeaZmK3iO11fTV0zbCUlUnfgSQsJJeGUFMx7/tgu/F3
 L1qe1p37txNYN09SSEBJe7rlTLhM4VWa3LeEG58Td0d2qP/fJeikz9HIVwCgzIJd
 aEclfjgNmsx2lM8jn6qxJXED/jyqV1eAgTD8C6MRPGYcqyLUZoIy7SwdhvQLKlT3
 rAI4yHy5m8Njj0bk1oJM+2PAhZN3o16tpsjQEJuWoIGWxe9P4AX2Rr6htpidn2Gc
 UOXaMFZyy0MX4ULfph78FEzRC8WGEV1hWLW9pNnzaASY/RwNNvW/YnGyKSCq9ilC
 YG9mBACfcmN76QnFFDHd76otrltwwjj1zTRoHEnBgfj/EldDeOaU5cBG0HiV6cbv
 94MYUi16AnN6462qG8RHJmSPblsm2Og1e7aaZl0CpVgOq86QBwqDHFXh0q0UtgXU
 EQChaBe68ydZRwd9TScAknuj5iAXfXtwAeyhWbzmVyJH0Kk8QbQlWW9zaGloaXJv
 IFRBS0FIQVNISSA8bnlhbkBmdXJpcnUub3JnPohXBBMRAgAXBQI7ypcIBQsHCgME
 AxUDAgMWAgECF4AACgkQhmYFAIOUuB9UUQCgwTQSPrbTxhJvi1DdGsYhHOsT0PsA
 nRNBwMyeLPQPhLxw8EPLgyno7+EHtCZZb3NoaWhpcm8gVEFLQUhBU0hJIDxueWFu
 QEZyZWVCU0Qub3JnPohXBBMRAgAXBQI7ypdXBQsHCgMEAxUDAgMWAgECF4AACgkQ
 hmYFAIOUuB8q0ACfTgzsn+Q6wc4aDQ7nT3+M4HPWXhUAn3nhtyq4Ucu2A6oHXvVt
 1oAhhGyPtClZb3NoaWhpcm8gVEFLQUhBU0hJIDxueWFuQGpwLkZyZWVCU0Qub3Jn
 PohXBBMRAgAXBQI8VVkOBQsHCgMEAxUDAgMWAgECF4AACgkQhmYFAIOUuB/XmgCa
 AgHmONlOiOhKdY5LtVJoDi0+cOgAoK4wJFYzstYbpXayj0LqbgmYiY3QuQENBDvK
 lwwQBACBBH7cM4WCT6D1w1XAQnWgL4eE/fMcR3aPiHBDd8eDWFFOhwSPh3W6jZ5T
 STUEZCF7lgD3k+QJtDhVKE0U/hha1ZFMgdTTbhEW9Pl9DHW3BYxPXxq/SURwpGFg
 0GriV65Hx3Dq6cxkBfzGZzrZA2JfRwb3pXisNSGDILAtNRw3jwADBQP+OSbFQWL2
 n+KrBX4dPbp5cuFVL1/NNOWhSOwU+IsR8jDaCYpLy+Zkn7Bn90bIee7zsdWOkGWf
 /qV0qm6dY7xLs/hoCKgk+0jPPevVcCayfCTzBZ+d76qPjWQtEgKN7/LJZn8rMCBf
 B4kHxrcclf9z3OdI+BzTNrPZaCeHLd7nMKeIRgQYEQIABgUCO8qXDAAKCRCGZgUA
 g5S4H1r/AJ973EUo0J+SF83Sj/hL0zDTQBKlKgCcDy1o6LmSduT3NE28KB3Iw10I
 kqA=
 =eB3G
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.259. TAKATSU Tomonari <tota@FreeBSD.org>

 pub   1024D/67F58F29 2009-05-17
       Key fingerprint = 6940 B575 FC4A FA26 C094  279A 4B9B 6326 67F5 8F29
 uid                  TAKATSU Tomonari <tota@FreeBSD.org>
 sub   2048g/18B112CD 2009-05-17

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEoPodURBACCCL74hQbB00H/yUtv9No6sBynaWyH/blLogfrVbNL+86XIKDz
 yricgZ6/GDT4tbpaxs+o0wPdI0SrvvZuvvLfiV4ZxiCa8TNJF5/4GEzjKE89Pmtr
 DMK/i4RCzhRfs+PfzQdTRA7aQ77mds/tYGJYsqk3m1bWwOGggMti4TBk4wCg21tx
 RTopEa+HVDn1NTLgsAs9a/0D/3lvX6trmF07ENwCp4VGzBRTAZUAGgXziQ2zdjVD
 WcIWPO9PLxM1C1Crifbh5IOFoCsrUZeEsuLalzEVWZ2O4NqLRiRfuSD4ku6Rnd/k
 DBwkHiDy03JfGybBNEKUGvhXhhu53uij6ZXxNW9xR0KclDmrBxxEyj/Y/GYMte3b
 gV0SA/97szSEf8LmQmUD1sd+VHDBaJ9QUe5xNEJ9+8ZfCsVh0zamLvrAOLnZY0mU
 hPr61esTetdjDv1UAbn/OPTMfp4oY6/4Xa59APshxuK6urXaKExwWrvio4OYTHq5
 N0Bq73HwZV1beY+yP8wRRI4AzPoeHa+vIOhfIIJO++v5u9Hrp7QjVEFLQVRTVSBU
 b21vbmFyaSA8dG90YUBGcmVlQlNELm9yZz6IYAQTEQIAIAUCSg+h1QIbAwYLCQgH
 AwIEFQIIAwQWAgMBAh4BAheAAAoJEEubYyZn9Y8pRqYAoIpC8dx4p/BaKVxueFll
 Jm/w5qD5AKCC5KSc0zMxM0Iq3FigA/tDjiyj9LkCDQRKD6HVEAgAqVPZwxV9bFbv
 PU20xAQ6HA8YxPp6QYUbb+r8AoRmqPNLoDqfNglhMimj5nPEFLvBgDHQaPQcqcja
 5Qiz7j3I8xFrBbkCrx8xp4XYAQB8An4iy8np4Ys/YjvDjittYUn8CywN4rVGIppz
 S8BDY9Ufjy6v9iFERXGEGcW3x5gFA3S1hGJZ308QhlWMw6OachMadUnAXcoO30fe
 q8eITtyJZN2MESq7G5TtaywDHz3Gg1K7m68bPeQaeAHwkQBwC/0xvDtJ4uyq/Yp6
 sQrlWJN50vaTnSAQ9q+b0tHQMVxQnxU0dVYgtE50jpPHApbc21Krc6H7a8VhNu9R
 JIanzAEUEwADBggAgJ1JY8XGrOVeYJ9F6S7F6pZKxyj/pYYBYA5dAIOm1df+cpvu
 Knen7UTOb6CgkZqGlX0BbYwYsfzr3B4oS0P5ScqE5gNVeWrCItZrZV6fuA1ZGnNn
 bvnEZ3xCZsb49CtfUcMLqNp1KGVGg1iVvh5YA7mtBmp6W12sq5YM4jx20ph+AHrs
 8/eIts+MMJ70QDI+GoXtwgS5IfFQK4x62K8W0RAmp77/qvRE4hrdsL55UYwD1zuY
 qzwfQVNaPNUUiVDEyL6K3K5GYfkZ5zPz8iJ6sWtsuLEyG4CSWLwkAtJj0Xuc71vN
 W/gkbM4ZpQgqQGQDZvN44Sj/prcJlnbyh26ajohJBBgRAgAJBQJKD6HVAhsMAAoJ
 EEubYyZn9Y8p4EkAoI+bYGMuNB+i74EdgubvW/fTinfPAKDGBmZorrcBfYrnictP
 T1jCoBbEow==
 =0Wta
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.260. Ion-Mihai Tetcu <itetcu@FreeBSD.org>

 pub   1024D/21FFA1E5 2008-05-08 [expires: 2010-05-08]
       Key fingerprint = A880 42DD BD71 BAA5 AED7  AEA2 27B1 88BA 21FF A1E5
 uid                  Ion-Mihai "IOnut" Tetcu <itetcu@FreeBSD.org>
 sub   2048g/0B30E680 2008-05-08 [expires: 2010-05-08]

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v2.0.9 (FreeBSD)

 mQGiBEgiuBIRBACCfhdBIfKQoYWIJBFmDWoGi/FISis2XH8eupI+0iiUwjAUDScY
 dCuGAxQEekdsIXrpqAEnUOGsqIi+AINub8KM1ibcN8vdlFSd1RGG6mpQNSlTZ4QT
 BWFpHylCe7SRW22kU5e++LVXcViTlAvSzMs8YB/a9j3DPKzh/IXMwSaqKwCguN5R
 L36o7GJDqTIPx5pD12SaDFMD/1FJ+V3xXeKtulLzTFKVrUJhXlDTBiLVcpzAeR0E
 V5/trtZM9tJldeIX/nqKvR2QF9i0VzoCIUWNS2M8MneCFIzuhQSnt6uGWvj58V6t
 gKtNhqTNPt61BrkaTtWgg7UX6kTUcEV5nztkAePGbOAfShtK6gVBcn8MHXBRZ7De
 nqj6A/9sD7tymktX1hD7i7UlBcQhBr/Fr324qv4E33dfGKuykH+HWFxg9FAD5PTG
 CyNYoKLvl82zZso5PaDXIa42ZphviKHttMKVidKR/FuI/gTqX8Oz3mYfDoxkvFpO
 7PzMZ2+KVBxoXBwXYf6R9nZWv5cd869A18dyNvhE9tK6exVJQbQsSW9uLU1paGFp
 ICJJT251dCIgVGV0Y3UgPGl0ZXRjdUBGcmVlQlNELm9yZz6IZgQTEQIAJgUCSCK4
 EgIbAwUJA8JnAAYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJECexiLoh/6HlhDEA
 n0viPwOZWOfZGT/nbOSPmg+vvpuLAJ9Y6+VqpB9fdzyjW0GI26TlkcEpaohGBBAR
 AgAGBQJIIribAAoJEAV+n4tJOil7ptkAn1HjJyNBvKgXB4OY/SRbSmSikBXfAJ0X
 uSuQRMFbLqHM05bXqY95Ih3iArkCDQRIIrgSEAgAot/xHX8AzSLS7u2xyiraitRH
 fYcaMBpRYRqv0ceC95XUnBWZdy6piPBOr0p5LEGVaPN8RC6fM/9KIMCL+mEJtvZn
 dmxxCk+6GE2UsdDzMWdI2GZppjIAwPVY2YEB0kfa6fqSTV087hlyrkf7vMOl6dTp
 kAb50G1avwhy1jBoYR9f0LLn83kJV+77B/IUTe9sdgPsi3kovJNYIiAhTw62XqHL
 V59OZN/QVd1qPI0t5XXxpKbdyTRImtfF/EQ1HbqIha8ao8trmz2MtFMsT60piAoQ
 Q+usY3tHG5PPM4GxRnLW8Z0nZ0dWii42v5W5ETal2FaPUSH/9cDPAEphlcUomwAD
 BQf/RiXuGG3CBDiUYeVHlQiyNHQP4Rm5iVclcezhPstcQbb1R5rZ/sAu4FaUQVc8
 LRJ8c1UiemEhetGfTSAZnoeWxWfJgtcO0yK+fM5Q+ThqxCIlGPjAgmlbZw5R3Own
 BxiQAJMiax21BNVrxHMW0DigJqLVxvYEQDbw/DuMPwLG3Bf82zy1z3RUZ2pc8DEi
 nV3vtKfMH3UEvBHOxwdubOnmal/JYTWL7IR9mp+csXs0ZxJ5S5ELh5JlMWMa54Le
 3lujnkaTZYrdTxF+GWaFOxseNiLr6OcT4oZzTDnZ1Xn+CqS4TJDM1yczRrYPDA5c
 khpeSvqlv28UV0GvfDL0LR0mo4hPBBgRAgAPBQJIIrgSAhsMBQkDwmcAAAoJECex
 iLoh/6HlyokAniQgaL2Gi++v6kKS0faitctj+x9aAJsGV06R80EabXHH0d6Qd0vU
 ZMG9UQ==
 =e2YQ
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.261. Mikhail Teterin <mi@FreeBSD.org>

 pub  1024R/3FC71479 1995-09-08 Mikhail Teterin <mi@aldan.star89.galstar.com>
      Key fingerprint = 5F 15 EA 78 A5 40 6A 0F  14 D7 D9 EA 6E 2B DA A4

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 mQCNAzBPh/0AAAEEAKiF0rNVbbuQue8Mo+knlGKtZJXWkLOhmdzE+FPxTSRv3TOS
 OHOfFbEbTlcuplvYv1US6o4liAyyx6vGLGa7ZW0zLFAtTOJTfwW3GPmcMTieOIK3
 wwzJtjH+wi7VeXIQCU/mOcLC9A8QaLqhJ86e3m9FODSFMIluSoucrgI/xxR5AAUR
 tC1NaWtoYWlsIFRldGVyaW4gPG1pQGFsZGFuLnN0YXI4OS5nYWxzdGFyLmNvbT6J
 AJUDBRAwT4kMH2ldntvsCqUBAVAcA/4x53VCfOx5Bm+BtneQNEvHgV8aqWW0tM4r
 31KtsSjMwuHF3kl7PJtCfVk4OpRvog4u9V5G7gtUhUIOi/Qfuia2YHvvxIh3sx7Z
 Gg22e4FxNzNob3qV+YiPOr+Aa6EoYfHB45eHSLFXryCBS60a0CfZies+CSzcHBy9
 /Zu51dCtnQ==
 =f57V
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.262. Gordon Tetlow <gordon@FreeBSD.org>

 pub  1024D/357D65FB 2002-05-14 Gordon Tetlow <gordont@gnf.org>
      Key fingerprint = 34EF AD12 10AF 560E C3AE  CE55 46ED ADF4 357D 65FB
 uid                            Gordon Tetlow <gordon@FreeBSD.org>
 sub  1024g/243694AB 2002-05-14

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.7 (FreeBSD)

 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
 =1nJ4
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.263. Lars Thegler <lth@FreeBSD.org>

 pub  1024D/56B0CA08 2004-05-31 Lars Thegler <lth@FreeBSD.org>
      Key fingerprint = ABAE F98C EA78 1C8D 6FDD  CB27 1CA9 5A63 56B0 CA08
 uid                            Lars Thegler <lars@thegler.dk>
 sub  1024g/E8C58EF3 2004-05-31

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEC7Hq8RBACUBh7OsXzgLr6Hz1QigRoSr5nWAUdj7Z9wNIcoE9t6J61MIUtP
 qGL3x73LspmwBGu/aC9muJ5b4Ont+BBBkVkC3Cdl7pKSvT70/ZB7TKw9f9HA9S67
 jK/NnrgG4R9amixfd0KyycNpf3yvug2FV5VZBiUqvuqWipqXacOxsD8rAwCgksWW
 74+msARYAf+mTeR7/NCEH3MEAJFfoV3APPGGECWfwrDmQT1IiBhObbjsVKbo4z7w
 yHxK+3Qm9nCG/sVthRll96C+rtAJKf+FEN8nvIx/9Z1UQ3Y7zTMgzlbz83BhhPnZ
 lAZEZI+EfmWsltzmyjJHnsvShRvjEp/YQ+0tfZV5uAPy2yrICw/rvozhCmqTox5l
 zOgXA/9mfbgbJR8NS7IwzcVSH+YEW06lyxLHjEd31aIj6wgX7O9H7JdXOytTqbSR
 VXN+5GjJhEaw9GmAd6tsvusHMy+1GBgY7TFFUNYO+JqHn6FKGzfPiFyxDyvyrF01
 QL033peqiNVxTS5nvJzmKQCpftlU3S85R+K62Alv6xO70HyaALQeTGFycyBUaGVn
 bGVyIDxsYXJzQHRoZWdsZXIuZGs+iF4EExECAB4FAkC7Hq8CGwMGCwkIBwMCAxUC
 AwMWAgECHgECF4AACgkQHKlaY1awygj74QCggWeR8IRwgHIsxVv5zItpzdtnkSsA
 n31ytm6noxfetU5J/5NnR6bwV4WetB5MYXJzIFRoZWdsZXIgPGx0aEBGcmVlQlNE
 Lm9yZz6IXgQTEQIAHgUCQLsjTQIbAwYLCQgHAwIDFQIDAxYCAQIeAQIXgAAKCRAc
 qVpjVrDKCPikAJ9a/Or2be00A9PeXyoo+b7VuLAzhgCcCX9kI2DduTtitld/mY93
 vZDnQPO5AQ0EQLseuBAEALDSStxYn/CidImaPKwDZoYVpXpHucmBZ/nK/rFwMNh/
 /RZD8ZdBF1PEDf3EA78qTxEk7PfSnoEWcxmcNfiMSALiTkehI4nWQH7j0ZSwqC/5
 Du4lP1v1PSeR35IkC58n8kur74olLMdoYxlpVOwh7jGR9W/3MSEjQ7NJP9AZ4yw/
 AAMFBACv3/ZxNdO78IPVJ1kQsfGUnwfpiw9syDqK+CMA6FyTCI2VUc6kY0Wc23Qv
 uoGv8ROk75pa2MJxEH/GQJNSZerJCSzLqdCyEW4tuxxJPQ7celSZ7PL5QutBzytL
 4rUQ5bUlYQBFlCx6aOuG2+zQqiFbm1RqX7RYdOf3LnlRmkaTDIhJBBgRAgAJBQJA
 ux64AhsMAAoJEBypWmNWsMoIibYAn1x8xlAkuQC2ZlUID9ORxSIgEMyjAJ99nQWi
 rCVB/qZMKoL16f9mHKvJ4g==
 =OYqV
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.264. David Thiel <lx@FreeBSD.org>

 pub   1024D/A887A9B4 2006-11-30 [expires: 2011-11-29]
       Key fingerprint = F08F 6A12 738F C9DF 51AC  8C62 1E30 7CBE A887 A9B4
 uid                  David Thiel <lx@FreeBSD.org>
 sub   2048g/B9BD92C5 2006-11-30 [expires: 2011-11-29]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEVueHgRBACBqHSbbyc8BoznmojkguHMrDQtqISv33b9tpIsNSHDgz4Wpoqs
 MRwMPZpStu/FwULPzRUkceoYFIkyRyBwyIqTAD3uq2nisPR23ffDKRe8Q44Y8ccz
 sAtc7zPz/XpoI+2tLVGBCZyk9UOuIK1HkrmEjJ8uG2/eqyuckjO39oA/3wCgorer
 I3uzG/mJG7V0hHaCEkhQVx8D/3/i9YwqVVf2kqfKEGUASik/PXDpoeHfC/v6GFik
 Ss47TSaiuMOCoxF92m9EcOSoYCHOmdkJ1l+AVAWCZvKHKDM6J20dRr1zNqvR37jf
 FlmbF5B/MhRcjaSvrOLnZsP1wlz5sRkdAOdHNN/J/mwqkaatkFwtf7XcFMheB2qi
 1XvRA/kBi8lvPw7/PGibDIZXBxUmWVHLCU0dtrwKjbHE1HIpMwgjbTFrvh0pjmXh
 +qjn9VTcduP50Lrd/J3bh6WSgdc16xT2zxSAg9G8nJctDSJVgOJiYFUfLBpPBeLS
 O5ZN3GHw3TyLnDV/NvaAfzp1GXaGUB4kEuIaiaxxNugT82R3OLQcRGF2aWQgVGhp
 ZWwgPGx4QEZyZWVCU0Qub3JnPohmBBMRAgAmBQJFbnh4AhsDBQkJZgGABgsJCAcD
 AgQVAggDBBYCAwECHgECF4AACgkQHjB8vqiHqbTvNQCghqU1WwfsIQgI4bQn94M7
 z3PY/ZYAnRPT7soJ0GrlKAMRplxFoRWH1C1TuQINBEVueIUQCAC2nNYNyuKG/uCP
 l6/GUoumFRE8tcbH1jW5yrFbi8ahcoi71iCQ6Ozdx+XM/qIu13/iEJmTOvoVyOFf
 0pn0vVjgJ6yWek2oZmqh9Loj0WX2bRvV2uemOfvNwqUvDLCvbdftHgQAHOff5Tij
 GJxEBzDylhkAlF7MlZbCejiIJ7Of9fMC066Yi5M1lg5wAX1gPG27PiXJLMjcLI1B
 BsaIEtJsInd+UWsgjUE4tq1xoFhCeDZZWHCAyc7XyI7cy9FFQIII7SWkZ8TkZwKO
 T4UYyIHKtRFtgrMTkcXAc/Eul0LEo2z2e4L/G+8vF7q9LicIyv3/BF62fgx3iCKe
 HkJRWueDAAMFB/4lX+vF95ESlWuZ6DH1orSDKMzWlaJfl8ImE8nCT+QN/3ZauO7Y
 4kQ11jy2Q+vURzltl5r1uMgAheBR//qDp4OTlqxqSyYFx49iysd3rjP0vnc8WGD9
 BpGobsbcgw9axW6z278IZzJ7aroYBaceOHkEM6nNboZ1aKCn7jYqxFyzNUuJqqEY
 0vxx82C2wHIPb+b9k5LCz+kMrq8fGDPERYYcFFKHMuKZ9oyide/8hQ83KadXbvJB
 /GAqx+prMs8axuAMoGgksMRV7Er+eRZNqYyeCr31j+Oh4qpUbe1q3UPzkoUg9OMI
 qJXvBn5S1M2B8epkggu4y6HDsbVXqgT+NCaWiE8EGBECAA8FAkVueIUCGwwFCQlm
 AYAACgkQHjB8vqiHqbS5dACfWGE7OYOJs3lJUh0fHYJEYGfcOKMAn3Spx9LXSIcR
 mVETDDKHRmZTSiZX
 =iAPM
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.265. Thierry Thomas <thierry@FreeBSD.org>

 pub   1024D/C71405A2 1997-10-11
       Key fingerprint = 3BB8 F358 C2F1 776C 65C9  AE51 73DE 698C C714 05A2
 uid                  Thierry Thomas <thierry@pompo.net>
 uid                  Thierry Thomas <tthomas@mail.dotcom.fr>
 uid                  Thierry Thomas (FreeBSD committer) <thierry@FreeBSD.org>
 sub   1024R/C5529925 2003-11-26
 sub   2048g/05CF3992 2008-02-05

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 oMybWISax+SEH2PZ7dgbNw9pgQub
 =oY1+
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.266. Andrew Thompson <thompsa@FreeBSD.org>

 pub   1024D/BC6B839B 2005-05-05
       Key fingerprint = DE74 3F49 B97C A170 C8F1  8423 CAB6 9D57 BC6B 839B
 uid                  Andrew Thompson <thompsa@freebsd.org>
 uid                  Andrew Thompson <andy@fud.org.nz>
 sub   2048g/92E370FB 2005-05-05

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEJ5esIRBACGrMoYYIu2yCvXUOUgySagPjKetJ5zKOCFDa/Gl65tFtCcc3YR
 IjSDCvKuxcuS/qPo87pNP1sHPT0gVhMr+zcTrj8rgLWfC+CTzV3FPTdIA7LhVwer
 +evZ1jSHo/MY+GHTYBiDj/GiDkk8zBk6Sppo0OdzqZ0O8IW6tvh9n7RNZwCgrPYX
 rzBYHlAZxmZfQTDhgi8rPPcD/jH740waoG4l564X9hfkHDbxe2mrwKrcxfUbNi0h
 yIOTyl3glTULTno/xG6zxh4qG/COxIWhjC3Nkwllq+VzWqzYFoPIV4E/nvPNrLLY
 5a4/19ANLLkrw2kiLxNKLPu+SwnAF6cLdnbpPrGZSGOg/DhquXulAs8foTxv0SVN
 F5dAA/9O9GFOk9IcZ6D77A7Unysoxoa3WwqNHikJTo+bHvENJJw6BM1e93keLXbo
 bljw02y2cBXMz+cwd0S3ysj2tEPvEWpUJCVbCk7bB565R1TBb8SJB08MQ7PuOzbh
 PCCc9nB2TditjUTuL1yTrOW4qki1fHMA8ySNuYBiw/iUOkHgbbQhQW5kcmV3IFRo
 b21wc29uIDxhbmR5QGZ1ZC5vcmcubno+iF4EExECAB4FAkJ5esICGwMGCwkIBwMC
 AxUCAwMWAgECHgECF4AACgkQyradV7xrg5vQjACfboFkm4m9zZmor2J1+T5IknZ2
 z2EAnjX7sCxeTxGAUp0gv1+ijFir8Ju4tCVBbmRyZXcgVGhvbXBzb24gPHRob21w
 c2FAZnJlZWJzZC5vcmc+iF4EExECAB4FAkKUyikCGwMGCwkIBwMCAxUCAwMWAgEC
 HgECF4AACgkQyradV7xrg5tJswCdHh+UXADhzk4yJKgLuJlLYsSCK4YAn26SPktp
 Q2fQpBC3mGRRUYVRowhZuQINBEJ5eu8QCADgBVHTfrvthg1lDFvuZVlSgZueFEuq
 dBn0tyJULht4MyHAYzY1fBkKtRPxp/c+sGKzd/nXZ+zqQIJRYtrAviGAi9CyHTiI
 URcpMACCvofuRoMJ8djl35UzioL8O+icL2aoSq1w0MBzzkwTDcmaiceWVIC/RZka
 U0/irf31HSzAxGYO1wXtZuYp6BrEwcRezDZQUkO/riGKT9+UUppnTFVBbyelvVjt
 D9iyeRnL3GEOH0IvXbPRo400EwOHs4ieOZhNO4xyzj2qexMcbFq2nUis/qctukth
 lynv0mYVstLgS+GQiX8+VsbmK1QkTfKTY2ufTQDPJTcAa7Kneb+luDYzAAMFB/wP
 UyXix1pw1+qSJS6m6T7m6wmPj93/BoB+sadJvmjdaGcE5yKtCLdQYHZyI8Pvl3aA
 uktn+k/IxqSwLgJCSHv9CQ0AwN+kuIPHyy+hsJk1w5C8Qd4q8sYWecyt+aycYz7X
 Op9EB2rpKgg5E+RHFsuyx/X2dI4/n9XsF0xTDXmvBYHLw1E22rliiS9WlJ1C8UHn
 gjVZ8nqd4bI9HcwQMadtjXj0EcyarnJnrqLkJopzmLSJfOtnQvXyaTzwfS7fyQYs
 lnj+k/jJFULvgolWLmmfx149+3ou9c6c9KItAE8kfl7dSaEwOo4oE9cKluzhFHeC
 ezponq9OPdSpXUwBXjJgiEkEGBECAAkFAkJ5eu8CGwwACgkQyradV7xrg5szjQCf
 WQNYMndCd/TFxFqNF8k6Nu45/lIAn3oxSJ0Gc09OwQB4oiL6kHscyL/z
 =SFfV
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.267. Florent Thoumie <flz@FreeBSD.org>

 pub   1024D/5147DCF4 2004-12-04
       Key fingerprint = D203 AF5F F31A 63E2 BFD5  742B 3311 246D 5147 DCF4
 uid                  Florent Thoumie (FreeBSD committer address) <flz@FreeBSD.org>
 uid                  Florent Thoumie (flz) <florent@thoumie.net>
 uid                  Florent Thoumie (flz) <flz@xbsd.org>
 uid                  [jpeg image of size 1796]
 sub   2048g/15D930B9 2004-12-04

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEGyCSARBACWd64iJ+56C42einT4AIwy9qon61Lx+LO4BOMgeaQTGy9/fKq0
 XqQmPddhp9awRtm0+QoeZQ00q2qyY6ufmSZJCr9iQg2a1b/fG/UKZSIKBguDuCCk
 O6acsAd3H0fmZRu8jAD+pMsJb9gO5T6YLIHK9p8uVPG0lRKzulTXm5zsEwCgkoi9
 h+S/dIPXfX94thtJgVcUeLEEAJK9ZO2KFfGx+YRKDpbj7ocGgjqMlhkDFw13Lycq
 jopPipNwpey4ZKjJa2w2fmIbcqpUZW3EH1Ld8KBOt1bhGlI92uqvrssalNH82PGL
 cbiuvYMHXOfE05tOWD2JgxJE5tY0KtED4SDaF77RAcy4z9nFt4og4YknB/seOQZ/
 5oSKA/980pHAvnm3TFK7jQN+AIckWxOS3mXxvwHmvM/MzQEVUrFAPp0C/aCh4JJF
 7Tvy54cRKEUJQpXuTeyBT0pMU0ataaESMfk4hM/WDhvlV0AXebah44uJfBAcHwJt
 f/d3c+1I5eRkWuN+ey+6FfBCooW4KvqVCnrWC/Kk16VqAyn9UrQrRmxvcmVudCBU
 aG91bWllIChmbHopIDxmbG9yZW50QHRob3VtaWUubmV0PoheBBMRAgAeBQJBsgpP
 AhsDBgsJCAcDAgMVAgMDFgIBAh4BAheAAAoJEDMRJG1RR9z0Y7sAmwT9GkO3Wcrl
 y9KcPtsQV4x6dvJhAJ0cGtclPmdOM34jMC7U5NQol2bV/rQkRmxvcmVudCBUaG91
 bWllIChmbHopIDxmbHpAeGJzZC5vcmc+iF4EExECAB4FAkGyCSACGwMGCwkIBwMC
 AxUCAwMWAgECHgECF4AACgkQMxEkbVFH3PQ5igCgiRkJPRjrvitfZOrvLhx+oScK
 3moAnifC/FHLFLr7hG/NlgLbF2yjN7Fv0cZXxlUBEAABAQAAAAAAAAAAAAAAAP/Y
 /+AAEEpGSUYAAQEAAAEAAQAA//4AbwoKQ1JFQVRPUjogWFYgVmVyc2lvbiAzLjEw
 YSBSZXY6IDEyLzI5Lzk0IChqcC1leHRlbnNpb24gNS4zLjMgKyBQTkcgcGF0Y2gg
 MS4yZCkgIFF1YWxpdHkgPSA3NSwgU21vb3RoaW5nID0gMAr/2wBDAAgGBgcGBQgH
 BwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5
 PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIy
 MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABgAGADASIAAhEBAxEB
 /8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUF
 BAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcY
 GRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqD
 hIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW
 19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAEC
 AwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMi
 MoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
 U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaan
 qKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6
 /9oADAMBAAIRAxEAPwD3Fic02nkAmmleagsSiikJ496AAnsOtN3Y7ivNfHnxL/sb
 dY6KFmuwcPcHlIiDggf3m/T8a8b1DxL4h1KYtdaheyZ6BpTgfQDgflTsGp9W5z1o
 zivlTT/E/iDS5EaDVL2IKwOwTttOD3XofxFe1+BviNB4hCWGokR6l/CyKQswx/46
 evH5Z6UWA9CDetOqPqKkpANY9qRetOIzTQMGgCbuaKO5ooARq4z4ja3Jpegra28p
 juL4mIMOyfx49DggZ7ZJ7V2bV538Qrb7brWgwAH70mT+KZ/lQJnPaV4Ksrq1iuNR
 V5ZnAJTdgKOw4rbTwdoaqQunoAePvsf61qoViVRwAOBVtCPUUyTl5/BHh90I+wfj
 5jf41y+reC4tMzf6W7L5RD7CfTuD7V6XK2AefyrKv4i9tIigncCOKAub3gvWJtb8
 MwXV04e4BaN3wBuIJwSBxnBXPvXSVwHwwR49Kv42PCXRGMYwdozXfg0ikFJjnNLQ
 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
 YhEx5U7AKdGZ55po
 =hxwJ
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.268. Yar Tikhiy <yar@FreeBSD.org>

 pub   1024D/EA04CF5A 2008-08-31
       Key fingerprint = C063 6788 AFF2 A62F 06B7  516D 200F 06AF EA04 CF5A
 uid                  Yar Tikhiy <yar@freebsd.org>
 sub   2048g/20443F06 2008-08-31

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEi6nDMRBADDmOkKUcTtDy4VHqTIJfILJsWmfnYBNzEzqQiRTO9qWDpmt9ah
 8lb2/MYT45AMdpUQu3NagY9oZq8bkUsUZ527gDHYOIclgwVulGEcDuwGSJrUi7mV
 5SrEWqi9FspzRgaEwjVSB1XDXqb60J7UHXzyxcUb//f5Qibxco2k9fqzxwCgtZF9
 XBidVm+Vsj/cKoJ1FXm9NWsD/RgYQzE4WUlZ3wVw+EX4+kIgHgPh5vfx2KdK4R1u
 KdWLOnamegQRQG1pe/4nAHH8WTZOkoL+eN0Vgd4Y/2/vrohQWEknqz5f4uxpOXgA
 cWp9B4Dfk4i280vNvWWoCclDTvk5Ukm305YaR4sSVHpSdwu8s+KBIZ9ia5LXpZIQ
 iKVvBACT6K15alAx71Shv8XRGiU8aYiRHq2/vBzDOPsEwomM1mIeCrJddZbangab
 GtbyizFtz4ZG2aA7ctOFVDnfbU9PHfXD1wywkjz+LBHAr32z5QU1irSUJSRGP8vr
 pOvNsrLaSS/L4Ux+kjfrJ1o/sX7isr9izsxuob2RKULBZMFx+rQcWWFyIFRpa2hp
 eSA8eWFyQGZyZWVic2Qub3JnPohgBBMRAgAgBQJIupwzAhsDBgsJCAcDAgQVAggD
 BBYCAwECHgECF4AACgkQIA8Gr+oEz1omLwCgkAutx32AF5bws/pj7R+zSWy6bcIA
 oLC9q/1fLyeiFMyurmx92vT9d9W9uQINBEi6nDMQCACnALycl1uAKREjUAYiWjO1
 CjLEmjFXNM4gryW+gm2ZMk0kWCFzdCSMTyk0pkMV33wa2H+BOMRk5XhwY3AdPnmN
 mwYwNnptRxeIrHc4J8RuQkI4apKwZ8Z62iA+c56LZCYluJGzNCrQa65LgW70fDuP
 Z6BeBCvF0pSAmUCaivezhJPQAuiZg3B2Nf2Ty7ZsX2DwuyvJVwx5mGudQ+b9YKS6
 A+nkBke0AE7Q/CS04LpCewlK+acNka3b2JlAtDpOLSvx5bzzFsZcyMmhJYF8Am2C
 4yv0F6aD4cTdH7mSvFRND9pkDtpUYDuPpJt+RgSSelXEp+nksvwTIqX3tM+vn7qL
 AAMFB/wO3l7LM8z3QaQB/eMZV4U+14wJLsWvVU1vAAR0GG5GqefSgDQOvcw1MmSm
 YsX50lGKBdtpaq6UqXcEVKJtyg84HySwMBNRGFeibiiTO2ldaWaGS4c9e0eVu7vY
 Pch+DA2rrCNuE+lb2bWlDfkDsrK/doOiYVu0XiIQK3WFF8bTXRW+9T2OWyCjAcTl
 Yml4eKqedob/PWApJPMvMzLpg1h+VfV1JPcG1xmeoT+mtRSDME14GZwoF8JLfci8
 Gnp4odmfgx5f7dTU60DPbpps94idR7dkFrTeWervPeXvFWb4+hSENb6fgJKoBkt+
 SsC+h7OmCBsWu3GCEVQ1XhB6jezfiEkEGBECAAkFAki6nDMCGwwACgkQIA8Gr+oE
 z1qM4wCfc6TUkmIxEfS6j6S358z+qkLadQ0AoK6vPNvtYK734zGuUg7w0Lm4KmHY
 =xzp4
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.269. Jilles Tjoelker <jilles@FreeBSD.org>

 pub   1024D/A813D5EE 2001-02-18
       Key fingerprint = 0C82 44F5 0A1B 84E4 A9DD  7032 5102 275F A813 D5EE
 uid                  Jilles Tjoelker <jilles@stack.nl>
 uid                  Jilles Tjoelker <tjoelker@zonnet.nl>
 uid                  Jilles Tjoelker (FreeBSD) <jilles@FreeBSD.org>
 sub   2048g/B94834AC 2001-02-18

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 YjItxp6TYtl3DovuEK1DXg==
 =BnuK
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.270. Ganbold Tsagaankhuu <ganbold@FreeBSD.org>

 pub   1024D/78F6425E 2008-02-26 [expires: 2013-02-24]
       Key fingerprint = 9B8E DC41 D3F4 F7FC D8EA  417C D4F7 2AEF 78F6 425E
 uid                  Ganbold <ganbold@freebsd.org>
 sub   2048g/716FCBF9 2008-02-26 [expires: 2013-02-24]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEfEDpoRBACh+3G72OFXvEjpBhfsiLhudF39C+E4zZ47xuWC9oAV/8y4jJdD
 70TjTBYydonraDCxhx+GdjfCzaN3PYw5fOMTric9xi3g8s11oKtzHG5NfgHfMIMV
 R1+7D2uXzgl/10JeYIz8DriaUBdHSKOhge5eNyXy6l1z1dPvnkP+/sQ0QwCgnaaU
 gIVvEj7qRiemJG0WRtWPU5sEAII5NYtidbx5SKM7/JzRtRI/BG497VVrcNVKbEZF
 jH5WklnTTQ1v9TnQfP7iksTZ6Ik6k86/opOagqtCRZ/Pdm9ldU/dZNFoA2f/4iER
 Od4Hhnm4rQ/rSUwXl6aZfE/26iBmH4/KkfkOX/mnRHAhs4EttXl1Nt7ew1BYwIAu
 +1eFA/40VV0lL93ab5aqvZ0fX6MmbXWjZXQ4q7YscqKclvGJK/BL4C7GTHk5Sn38
 uv+b9l39YR5yuZt2mByWyNCBBu8nXQ/vSjQ2V6wzFizAVZv3b6k13aGj4/ZUZiV3
 Q1WuU6qHvafvl0BJJBw4ywOC5gSU9eR2roGQb37fvcwH7nd747QdR2FuYm9sZCA8
 Z2FuYm9sZEBmcmVlYnNkLm9yZz6IZgQTEQIAJgUCR8QOmgIbIwUJCWYBgAYLCQgH
 AwIEFQIIAwQWAgMBAh4BAheAAAoJENT3Ku949kJe/EAAoIFqc0wekId4QcEDk35R
 OBMT0mpPAJsE2LsdqX17BXJLuVfuQuxIR9RLP7kCDQRHxA6aEAgA4w40fvHBJOqJ
 1RtowjBEX8uDEOwH2LlnKK7S5P5Z0PRM4/p+a4/P7KKRYAVehaBPc56TW4eqIXWE
 sjGNoJd8SIS+M7LIhlgBe0E0qKO1PXq7Alr5QMSR9aSS3z8NPWdKHU6+bJRomM8h
 1v8l0dBfFdYsrP11FXoAtRhkRnxB5E+A3rMJ35Uz5WPs/omz422M6SNziVn9lTXT
 N0Xk/pg3KHIVjosIakfbV25ZbrX0XYWNvh3zEhGyvbV5A4QuEXg4HSjYd43l5p+z
 FreZCrQh7IN4Oj1SfIbWzsoIygn9IacXQW/iASvpVcqP3yozcL8oi3VNSZtWY4fg
 jZZTIEJ04wADBggAoha5dSArTS2Tq04ArO/Mew4ZSZyOYg8Zay2TURrx1y2BU6on
 F56WwV2/C1qPzCOGDeVnYiXKKHnc9bNIefzKTMsJdIihw9N1CfD9h8MZ23GbhKcg
 VbiRC6t1b2BR1C7H52rPs8mXtywSGiI9pjzl8bA+ARCsvWHKe8R8iwL+jw+IVF6R
 94xcbHtK9EKOD7U2bVhiRb/uQiY6df6+VjL9lLoJMSLSWXWMtk3KJoFt6peB/XVu
 NIvbdxcU+xpgqz/SBPUs3MIgt9dG29UBsez56l0hgDAU7lcR0EIpCeBA4MskhInp
 AEJ38BJ6zL5MNmOOXWki2+FT4PbLjndwqxP0Y4hPBBgRAgAPBQJHxA6aAhsMBQkJ
 ZgGAAAoJENT3Ku949kJeYScAnAxcM/ZxE+XdjWrIazFTBJITMR0LAKCdaevdwU2m
 HFVwUGCsG1R5u7ctUQ==
 =rUEt
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.271. Michael Tuexen <tuexen@FreeBSD.org>

 pub   1024D/04EEDABE 2009-06-08
       Key fingerprint = 493A CCB8 60E6 5510 A01D  360E 8497 B854 04EE DABE
 uid                  Michael Tuexen <tuexen@FreeBSD.org>
 sub   2048g/F653AA03 2009-06-08

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEos/K0RBACA1Ck3ZLIpeSiYRNYG8RXCxbvHFOsI56DCwbRm6VXwjbbH32wv
 FZTxIR+A6LQQLCLDEvfklgI06Ksi4uWfAoLRB/CoiX7crEZGvYDc4kYSVjumjORh
 OzDtUiechd17/gyo4j+u1PDtw/5XXpSaTIRJO3g/UobVpUPjl4dMz4Ks/wCg25PC
 MPQI2rqriwffFak4PZdJ/JED/RSqsLqjsBOpk0hrY22VQrDhCHrWsVopq5hcqElw
 W1iuLMBhGK/Lursari5M8pSmjJVeWMEQwDqfF64MctbbfmOfMaRRggX2meVdMq3c
 o7bAWWEfstFB5WlUkCg6TIQjLV/4QbATfX2YkIcwuxiwC+CMq2trAJ/X8A6VdaOY
 tkHaA/4iyk4gCbvCxB1bhDp2HiDZfAWm5OlkHefzWeMIY7O4k5+vpaS69ui1xgYO
 WhXKB6RpDXcJzvZdBQqrXqFXdfBgOwhbUj1uOgkBCMpC7EXT07sxzvrnaW/RR51f
 KTeplrRMX0tXMij7nFh/WzJFSfFK+0W6+yaRVzXa42ds+VARd7QjTWljaGFlbCBU
 dWV4ZW4gPHR1ZXhlbkBGcmVlQlNELm9yZz6IYAQTEQIAIAUCSiz8rQIbAwYLCQgH
 AwIEFQIIAwQWAgMBAh4BAheAAAoJEISXuFQE7tq+FHAAn36ou5m91emjHT6ziIWw
 80iHtiyiAJ9RL3W/bShdgmG0U3UKDnPrSwebdLkCDQRKLPytEAgApnToBctsJKyI
 YBJp2wusPzd+8H1Ab0VCcL4pcKWzCIy7dTJSknLpJV7c6ts82+pZBKUMp1XHfnsT
 Q8YwoaIUOQjkBqqlkrxqkexidwj3VVZfUvHfXvU8Hw4JM862MtYa6ZHRoz+ZSVQi
 x8idPMFhs+zD9Pb0ct6YsINeKiEGTGnanm3XJIIeNg1bOlrTjDiWB6KnlMmmeZ/R
 o4vGdnO7wsP03VtJBUnPNaQ8luAs4SHBTmC+tXNhBYwn7Kh5PGR1TVH2ROpPOYTS
 StOktseR6iMJ//6mJEBOt3cypOx2d7hbXfy/LOijg5Ku4FkUUmJrM4yDMgN/2bPw
 RGw8KgOvFwAFEQgAlw5VA4FwTgo/2+pDtQxtp96WuvQxw1IL1fPPNwGO7b2TVlj5
 KTqvsqx5MP9jLCTPi93KKAFzwFfzXxOD+Isd6AxeuotlxLOUXeCdcpeyYHepURYT
 7bjYg0DaaoqZopm0L+8c+hvOLfPaJLWVbUCEy219SeCA3xtGvRtFY1JXIFk9sbgZ
 y23S592sG/5CAantKyI+SHzZim2mj4iRiI9HlGDLpGn6QAyz5HX6a+TXdHijg/xK
 3T0xfBLn/xh5tSlBdzKR7cXSmzbtP9HL5rewVgVAqqg/Mzc93nD+gY67bMwAeyHq
 u2OCE6YkLNJz9kSqsSygcMDI8vKoPU8cqDvyyohJBBgRAgAJBQJKLPytAhsMAAoJ
 EISXuFQE7tq+/EgAoLrfM3GP7IAcTezTbs+BjUQcoWHhAJ9sJmO1S8JcXD8f9G2J
 AOE2UIkbvg==
 =adk0
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.272. Hajimu UMEMOTO <ume@FreeBSD.org>

 pub   1024D/BF9071FE 2005-03-17
       Key fingerprint = 1F00 0B9E 2164 70FC 6DC5  BF5F 04E9 F086 BF90 71FE
 uid                  Hajimu UMEMOTO <ume@mahoroba.org>
 uid                  Hajimu UMEMOTO <ume@FreeBSD.org>
 uid                  Hajimu UMEMOTO <ume@jp.FreeBSD.org>
 sub   2048g/748DB3B0 2005-03-17

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEI5K/4RBAD0LiHx/Tl4UyaX8yFUGjX1+PvATTJloNZGXl+jagSUQxCOp6Hv
 emDinSPskld/viupoAxjRImlkP905Y0Q6iDMne4s5fM/75lpeG9ztKRSgDQrQLTL
 HhXPXKNMtDV91yDqFEkwptS+0MaTMY0KrlR29RtGnpjoa347TU2BzU6TcwCgw+SL
 YdOWeSGs/7LKdUIyYlrldjkEAMqIQwnDl14vZBe9EOCrjSA4gHv6g2IQP1TRCpBu
 +/Fpi2+xcj117xO++uqMMzoi3aWwsqarao0/VSJ7ZD81by1H56Hnsp1d0r67neJy
 PKsyh2JfSQww9cxVkQjuZAjZNN1SLzDeA6xtSZrcmim+f0GIxlz3JFS9za/scs8x
 mGqzBADRF2My4V5HEMeScREj2hoquRv/uG727Nw+jftwiE+7TB7+JUwwyakAStNv
 x4+YEFAVSpKxyWgOeMqOWYd9bOSwJk40t9y1Gk6TTgV2C6sYwGHMSNOWYZbhYX7c
 84cxm2PtQFIq7g4Q30IkfAhYFzEwKmPJ8eV1zO0uNIhE+SO9QbQgSGFqaW11IFVN
 RU1PVE8gPHVtZUBGcmVlQlNELm9yZz6IXgQTEQIAHgIbAwYLCQgHAwIDFQIDAxYC
 AQIeAQIXgAUCQjxiFQAKCRAE6fCGv5Bx/qe3AJ99w7Ipfxs4CF3/+eCf53HO3FuI
 +wCdF/xyvVjjNdAYXCMxCHtUF85bD++0IUhhamltdSBVTUVNT1RPIDx1bWVAbWFo
 b3JvYmEub3JnPohhBBMRAgAhAhsDBgsJCAcDAgMVAgMDFgIBAh4BAheABQJCPGIY
 AhkBAAoJEATp8Ia/kHH+3c4An3RGo6JduyjPTZFh0eCBezNgzxdnAJsGRRE6ERs8
 nyORm56bvSgRTw9VKLQjSGFqaW11IFVNRU1PVE8gPHVtZUBqcC5GcmVlQlNELm9y
 Zz6IXgQTEQIAHgUCQjxgkwIbAwYLCQgHAwIDFQIDAxYCAQIeAQIXgAAKCRAE6fCG
 v5Bx/iTtAKC+8mS7jAYMz3QsCe4dJeIPaJcFGQCcDQITgNpJcUmBZ5u21Jotvp1X
 T/y5Ag0EQjksbhAIAP1+LeYSauTBi/ST3343W0lkqYr6HgZMNS7RtoCGFWcjfiYU
 99ybRgr0XwH5yJrn6JASp27f/ve5cwt/7ERLZ7flcfFi53AekeuRjFDkThLx2N4I
 s29ZQZsYubdOKHapnMflnFE3PQfkB7Og1MoFxkp0kOAEP/rOyuLMc9CbUaWczxWo
 FS8bmZDJ5ZNzAQ2vQFu5ExxomOENApy3ZCm/Z6MU5YJ2trsP3dkYStyG+1pT4NsU
 R4+TIbQfFzwZjowiC5w8rM4FIV4FMQ+3YvIEVkT+M/93hLGakh5tQENsitj7JsrC
 VA2mkomV4Hnjj94YCxUiPu59kHgiKGgXbdnceX8AAwUIALF64I+guwCaHbjoRPVg
 HWRuU2NzuKN93xii+xyIpImf+S30aTbFy0D6ZTQRSCs34oVNMSkUzySVcVn9DTG5
 +KVCHCOnGMH/Iv3dRWlHZ3HX6Gvr/cRyhDfWYDEec7KCDGT7Q87UbmTZ9cmOh+/h
 M4ND0NoYU6/EaaOqyRH4D8/LAeg0YsEpilClYWhlXT7VS7noOBf1JuB9Q0nOGycR
 DstkHWJf5om82lH5FzAuh9kEAduv8JdBdsMh3Zh4N80tCV7OyBQFWHV0UgjARSLY
 msEuelzzaFcfR2vIrmpYIElr6JzHGBiux0XK3Qk98kexGRdbrDFpaxbrsjs1/8m9
 MVOISQQYEQIACQUCQjksbgIbDAAKCRAE6fCGv5Bx/mRWAKCAQQ67iDvQq08n+bHa
 QkK3EDOmqACfZmJe9AepCkPAUkvp0ketnOPBXAE=
 =QZ8N
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.273. Stephan Uphoff <ups@FreeBSD.org>

 pub  2048R/D684B04A 2004-10-06 Stephan Uphoff <ups@freebsd.org>
      Key fingerprint = B5D2 04AE CA8F 7055 7474  3C85 F908 7F55 D684 B04A
 uid                            Stephan Uphoff <ups@tree.com>
 sub  2048R/A15F921B 2004-10-06

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =93PR
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.274. Jacques Vidrine <nectar@FreeBSD.org>

 pub  2048R/33C1627B 2001-07-05 Jacques A. Vidrine <nectar@celabo.org>
      Key fingerprint = CB CE 7D A0 6E 01 DC 61  E5 91 0A BE 79 17 D3 82
 uid                            Jacques A. Vidrine <jvidrine@verio.net>
 uid                            Jacques A. Vidrine <n@nectar.com>
 uid                            Jacques A. Vidrine <jacques@vidrine.cc>
 uid                            Jacques A. Vidrine <nectar@FreeBSD.org>
 uid                            Jacques A. Vidrine <n@nectar.cc>

 pub  1024D/1606DB95 2001-07-05 Jacques A. Vidrine <nectar@celabo.org>
      Key fingerprint = 46BC EA5B F70A CC81 5332  0832 8C32 8CFF 1606 DB95
 uid                            Jacques A. Vidrine <jvidrine@verio.net>
 uid                            Jacques A. Vidrine <n@nectar.com>
 uid                            Jacques A. Vidrine <jacques@vidrine.cc>
 uid                            Jacques A. Vidrine <nectar@FreeBSD.org>
 uid                            Jacques A. Vidrine <n@nectar.cc>
 sub  2048g/57EDEA6F 2001-07-05

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.2.1 (FreeBSD)

 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
 =lY5L
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.275. Nicola Vitale <nivit@FreeBSD.org>

 pub   1024D/F11699E5 2006-12-05
       Key fingerprint = 2C17 C591 2C6D 82BD F3DB  F1BF 8FC9 6763 F116 99E5
 uid                  Nicola Vitale (Public key for nivit@FreeBSD.org) <nivit@FreeBSD.org>
 sub   2048g/4C90805D 2006-12-05

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEV1n44RBADfkt4OUwHA7c8DbobkvhyXCRHC6w0NDQER6Q/uAE68nvEgPcdO
 dAvGXUpNNWFXbKEnIc7ANCm0V7F2VDfwANAzePY1wBfVM8UQBLuSV2WIAfs1beLl
 MZzO7sth2oeMuF7l7WwM31qwgRLTOOzXs7zG+m2uh1c1nMTKG9wgQ4rz8wCgmT5i
 oJ25GpzaM0kgX3HQWP/MkFMEAK5GUSesXqHc37fEnO4WVvdB5afc4RTDJzvniXBm
 nXkHin6uAWw4HSJOEOLPv8MtRZuIxOfznukjBpHnz19R0fEvWdRKzmDoc3Yn0BW+
 FdszOxY9Nt+LtY3/ZdcbgAtWu662/t3SvgWULgCQ7bvi0Nu75Zn3nui4j2uU5fNf
 6v4KA/9x8FXQ18BPO7EuYe5ewQwVaGWKvzrMmz8NsiZuRs4oxWXL1x0nSCumetKA
 03UHxGAQli+vuMNDcDXg5zpaGN7hIqS1N1fR7XEouvkgTDTUPsjjQUdmQ98lnEBf
 URB5D+qDq8nq7H9R/4rOmxKdiA8xmBzadnolJ69Iz9nyJ4mvb7RETmljb2xhIFZp
 dGFsZSAoUHVibGljIGtleSBmb3Igbml2aXRARnJlZUJTRC5vcmcpIDxuaXZpdEBG
 cmVlQlNELm9yZz6IXwQTEQIAIAUCRXWfjgIbAwYLCQgHAwIEFQIIAwQWAgMBAh4B
 AheAAAoJEI/JZ2PxFpnlNbMAoJWh5Yg1lOayXo3b8seKn09ers2UAJQLxlE9lS9G
 qzU9FITOFNllI+duuQINBEV1n5MQCADqyPgr+kjhfCz/2N8y3FmWr4CSE0b1S7rH
 i7fy27u0QcNK3vN/l0Vbj6dsacfP9DC3+aGw3W8uY8LK8q72AIAwLh1aoYtJfzMs
 v1kqY4shMAANF55VgcAb7lyHpSymFraVZCai0nzNyccjJtSNQgC9s1BkXeUrRTS2
 su078DDYVgbXs1S14PkZOyrZ+0R4y4M6QKvD8Th46K+mZMaXdcn+wlIvOISFQppP
 1htkyCnHexg5L6PE/VsdobiCyZ2zNKd+d6GUillVuO2Qpkq1dlLTPtRgFMnpjhRi
 L0+a84b8rs6TE9g/ZLKNOmfmbGTTk3u4vQ7u6Mky6GCGO8W8WHW7AAMFCAC9NGWK
 RU0l0hfHY3kjLll9Ygcnt42nAj4ipmnzMp0jAPV2AgShnzDJLZ1KHmJcUfby4I6c
 HDKrI5lt6B8OD1hAWbHaAJ1Js1vfiwGDqisra5ZvkfJQMY1CDv1orXeM/ZnWzLSp
 +PqVXA30ei/NtngXFYlw+BJHnbB18eKw25jT6n72Ls0T9xZscwgseAmSKZsrb6M+
 N0tjZkkueWRbvrFum1i8Hf+VYhCgRkQFcTtEEo/Ulb6GRDXaFLPZzklfQMvjgWel
 yfWpv5Qg6knJFGbQyZrJ/jNBAi7aM8XAuNhhjC1oHVyNlIRM1V+1MybvoheREjMY
 qcdWjs5YCrg43SWAiEkEGBECAAkFAkV1n5MCGwwACgkQj8lnY/EWmeXXJQCfW3pc
 YuXRQYv5d2NC5AfgnvxmjnEAmgPFcYvU/gGprH9Hz/bvXp3KrT7M
 =NcNR
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.276. Stefan Walter <stefan@FreeBSD.org>

 pub   3072R/12B9E0B3 2003-03-06
       Key fingerprint = 85D8 6A49 22C7 6CD9 B011  5D6A 5691 111B 12B9 E0B3
 uid                  Stefan Walter <stefan@freebsd.org>
 uid                  Stefan Walter <sw@gegenunendlich.de>
 sub   3072R/6D35457A 2003-03-06

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 Sjk9E6QR
 =iXXA
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.277. Kai Wang <kaiw@FreeBSD.org>

 pub   1024D/AEB910EB 2006-09-27
       Key fingerprint = 3534 10A3 F143 B760 EF3E  BEDF 8509 6A06 AEB9 10EB
 uid                  Kai Wang <kaiw@FreeBSD.org>
 uid                  Kai Wang <kaiw@student.chalmers.se>
 uid                  Kai Wang <kaiwang27@gmail.com>
 uid                  Kai Wang <kaiw27@gmail.com>
 sub   2048g/1D5AA4DD 2006-09-27

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 Hps0V71KXA==
 =v7/U
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.278. Adam Weinberger <adamw@FreeBSD.org>

 pub  1024D/42C743FD 2002-10-12 Adam Weinberger <adam@vectors.cx>
      Key fingerprint = A980 3F2E 80A8 9619 9D1C  82E8 A3C2 8CD9 42C7 43FD
 sub  1024g/15D67628 2002-10-12

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.2.0 (FreeBSD)

 mQGiBD2neE8RBADgkTfNUPbm3AVnVPn/Ds5lDO89yKowW3ULixWqJ6Mti+7sIQ6y
 A4v5/dlUODTH0sdL4Cl3q36pCOP13IIq7o14h4YOjMhdMhsv43678VYK0PvR70hK
 /PxqIRV3lQsP2g8LihKLpRy6sHleIXu1hRLbIBI6/iJTmFcENQfivyHpBwCg31J6
 6jew1OrTLlB76aWmmRJIlVkEAII7j0gAqV/zjR16sAsfiCSHSg9A8RGBmC67zUfK
 PxnrLiw0gqyrt77YnXvANGWDdIMHEZrcDBrb8ciSO8agBO2+/7mOVDVDU5I/SJRi
 rfJTQvFphcnOe7F3MaxdfA/vZE9woXq4JLXfnmcgUAey4iYB2QbV/+v1HBo6wys6
 qyDXBACMsXFWZbDNDwUZBxGVS66bLwpZ/UhWqkrAyvK/7M/HQjkFTUUX2fSTPnWh
 AkcA82asPxQFTdbd7BOs4JnXUY4m+wfP3pzGaCbgL6WYumRjvmvkmeyZtFD+2wxL
 nu/F3oO9PC2f4mGa6E928BLy2bRCV75L0OMmbR5Fd0Z+95k3kLQhQWRhbSBXZWlu
 YmVyZ2VyIDxhZGFtQHZlY3RvcnMuY3g+iFkEExECABkFAj2neE8ECwcDAgMVAgMD
 FgIBAh4BAheAAAoJEKPCjNlCx0P9I7UAmQGWPEjqlXfxptWgb5WKskfl+rkkAJwI
 OSvOdiBFM7/EBBgn9pUQ/6PVUrkBDQQ9p3haEAQAzc17FQj9ePY4tW2+nWiQzj8I
 GVG+8fsVwFhDb4hFcpJxPiR3/J07tU4iyKek/qUiOQdW/dI30vm3rOSIUa3r9iaj
 OaJilRVDO3ErUCdcrJjGf+fTWZFa8t2TLwOooyV8tJ5IUYLwJ8s7/3OpwWh1pfCQ
 qxGACCiXeKQo0a9jxJcAAwUD/35x0sm6jV2OZaHxX/JteeLu1hJOE4hc8oRqiE93
 4j8frz33jIsRFpKJ+H28LXtRmVXtVTdq3RuHll5JRCMG+IPLT3Tns/d0L90twpOj
 4r+2BFIK6SYE6JYngf+J5clwve3vE7Y/b8NbSawEApvVxdrpsevGH0Sn5MSdiukm
 EkJviEYEGBECAAYFAj2neFoACgkQo8KM2ULHQ/1NRgCeJ6ZJYvc1oOUBdEKd7SoH
 rFA6N/8An3A9ukQlZm3lPMutMia2vnsb108k
 =0qTN
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.279. Peter Wemm <peter@FreeBSD.org>

 pub  1024D/7277717F 2003-12-14 Peter Wemm <peter@wemm.org>
      Key fingerprint = 622B 2282 E92B 3BAB 57D1  A417 1512 AE52 7277 717F
 uid                            Peter Wemm <peter@FreeBSD.ORG>
 sub  1024g/8B40D9D1 2003-12-14
 pub  1024R/D89CE319 1995-04-02 Peter Wemm <peter@netplex.com.au>
      Key fingerprint = 47 05 04 CA 4C EE F8 93  F6 DB 02 92 6D F5 58 8A
 uid                            Peter Wemm <peter@perth.dialix.oz.au>
 uid                            Peter Wemm <peter@haywire.dialix.com>

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =7AWH
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.280. Nate Williams <nate@FreeBSD.org>

 pub  1024D/C2AC6BA4 2002-01-28 Nate Williams (FreeBSD) <nate@FreeBSD.org>
      Key fingerprint = 8EE8 5E72 8A94 51FA EA68  E001 FFF9 8AA9 C2AC 6BA4
 sub  1024g/03EE46D2 2002-01-28

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 mQGiBDxVl7cRBADbXnR4t/xRvvOSiPuGPnOGeamrphPbpPXsWD8Nm/pjfN3fhSfa
 0gv3Y2n/IyLTg93gWZhWloMznkdg59Oj0oPSUxjgPauVw4q6l3JJIcurJNlp/Q7l
 DH0KLFJ8GuL6zxAz7Jcx1BpAIEu+G2SnI8+ZuGvq+YwaDxPFavfCqmVaBwCg/iPu
 OI+84/W54yZXvxfUN7dkDmED/3CxYLGeWqPqE8B8Eq8BlmgfP/FwaqXXb6xR7jsE
 XBaqNOIita6Iz49sYTYKYY2rMv6dMXjX1FM13wNW3rS73xkNvuJz0WU6sWl9Hw1e
 kjNjCN2oIqkqB5/1H14NMSOcUPLqERP7goFIK7OAJejUmm5Nc3KjG1S2G97xxjPe
 39mlBAC0QFfa8J0Z6TORFa8Uqyx90pC/Y+I/S+y0vP/59ReP/PnQq/aUdDPLt5OZ
 edtpz7M4A2GtoVkWtedPRsw0hYK+Q3CtOMemQSnlfVjTZq5edL05Po09N89M/WMz
 hB9aRcdY7IN/btsQ0H12ZH+rEj+O4Adu+qEjsWePfW60Uj74GbQqTmF0ZSBXaWxs
 aWFtcyAoRnJlZUJTRCkgPG5hdGVARnJlZUJTRC5vcmc+iFcEExECABcFAjxVl7cF
 CwcKAwQDFQMCAxYCAQIXgAAKCRD/+YqpwqxrpMSwAKCVuyt4B1Pc1tAwRMEOmmZw
 2nGIIQCgyRvB49snyBl86TikYv97ZifyLmK5AQ0EPFWXuRAEAIghycOZtElvBhfw
 r7TisjtVtzKhbF0Kj9cGg5brCC8/bJLK7PxNe48NSdlqMJ7algumsgYR37b/QBmq
 sOSEa2wXCnvCSD0ol+bdPn+Psb+hyi+AVNmVgdlJwuxHUHny0lWQnxeQLrt07SAw
 Ye/Nnc+arH6GXzBwXSpsQ2sOaMajAAMGA/9Hzjkv6HmJkPlKT2TNx33mbLaDk8xv
 vAJXxogxDcUqDDwqszWPcqShaW0IkMZo+grZfykZJjA0/8QUCaEUwhnYIwHMQRdA
 uNegCF/D2x4yzkF4d9gKYCCykDUrwvFDztIhGkinyzu6+xwe9qFcL/esIxnnonz7
 Wx8/3e7pRvS2QIhGBBgRAgAGBQI8VZe5AAoJEP/5iqnCrGukuikAnAt8uA1EIv/5
 WDCIpvNp0lgmwes9AJ4vD1R35+Db6UIw+R5EJaxNBY84zg==
 =xbGI
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.281. Garrett Wollman <wollman@FreeBSD.org>

 pub  1024D/0B92FAEA 2000-01-20 Garrett Wollman <wollman@FreeBSD.org>
      Key fingerprint = 4627 19AF 4649 31BF DE2E  3C66 3ECF 741B 0B92 FAEA
 sub  1024g/90D5EBC2 2000-01-20

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 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
 iq7OH/kskwCfeEvJINcMBk0UEdjpgO85woB6QKI=
 =stB+
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.282. Martin Wilke <miwi@FreeBSD.org>

 pub   1024D/B1E6FCE9 2009-01-31
       Key fingerprint = C022 7D60 F598 8188 2635  0F6E 74B2 4884 B1E6 FCE9
 uid                  Martin Wilke <miwi@FreeBSD.org>
 sub   4096g/096DA69D 2009-01-31

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =S3Qn
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.283. Thomas Wintergerst <twinterg@FreeBSD.org>

 pub   1024D/C45CB978 2006-01-08
       Key fingerprint = 04EE 8114 7C6D 22CE CDC8  D7F8 112D 01DB C45C B978
 uid                  Thomas Wintergerst <twinterg@gmx.de>
 uid                  Thomas Wintergerst <twinterg@freebsd.org>
 uid                  Thomas Wintergerst
 uid                  Thomas Wintergerst <thomas.wintergerst@nord-com.net>
 uid                  Thomas Wintergerst <thomas.wintergerst@materna.de>
 sub   2048g/3BEBEF8A 2006-01-08
 sub   1024D/8F631374 2006-01-08
 sub   2048g/34F631DC 2006-01-08

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 B5lKgt0VCQCfdhlL5hMDBDoaMdMtBZXFL4/Vn10=
 =ArNG
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.284. Jo:rg Wunsch <joerg@FreeBSD.org>

 pub  1024D/69A85873 2001-12-11 Joerg Wunsch <j@uriah.heep.sax.de>
      Key fingerprint = 5E84 F980 C3CA FD4B B584  1070 F48C A81B 69A8 5873
 pub  1024D/69A85873 2001-12-11 Joerg Wunsch <j@uriah.heep.sax.de>
 uid                            Joerg Wunsch <joerg_wunsch@interface-systems.de>
 uid                            Joerg Wunsch <joerg@FreeBSD.org>
 uid                            Joerg Wunsch <j@ida.interface-business.de>
 sub  1024g/21DC9924 2001-12-11

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.2.6 (FreeBSD)

 mQGiBDwWI2kRBADM4C4YlBiLozC/bZDedK12BMLyfnv9yOppj/doC1cOEaE+xZNQ
 7/aDZfhi7FNQzt+ehh52DLihV91G7gOsACtUk3gLR8G+0q6U76dBY/gvAGzCYUu0
 bJwlQCcPMysF4sNEwvsuct1fIVAHa+660X6Q+WI+eADIwZyN8wR1GrEqswCg3uGM
 xm85EYtxPFx7tyxfA8q/d+MD/i+SPmt9xEZ/KZOMbQVPw/vYmeWW4lVZGG2HLKmH
 J2FiAW4YjryoNqhpbbqlJigxf6staqgnQL4uuzBrr6v+OIjbljTHA7fs0WA4mtTX
 u7YcAKPXBTztw/O+f3tZz08Ep+AHJ3Q+pTbbRQZpikGGdOpjfLcEyAQBh1rNA3zl
 /MiLA/9IL7yfpyiA6cjX+MuUCqlqbPW2awQOCsmDBOcpXdOYC+MsBUhlT7IcFtQd
 BUxUiqdIKlRtIT4l4LnqzhL2HASv6Zzc06zGS+tlG6BlpCGlSxz8fp4asbTYdJnp
 d7lqme75jOUNjygal5lxJApincaLjv+4IaNUWCC5RjQuRsd3t7QwSm9lcmcgV3Vu
 c2NoIDxqb2VyZ193dW5zY2hAaW50ZXJmYWNlLXN5c3RlbXMuZGU+iF8EExECAB8C
 GwMCHgECF4AFAkGkelUHCwkIBwMCAQMVAgMDFgIBAAoJEPSMqBtpqFhz3+0An1WU
 SyLW5PtVk8AN2wZOZoIbdpWJAJ9UZjNCICVixY7lc+me/lfu7+nCsIhzBBARAgAz
 BQJB4lonBYMB4TOAJhpodHRwOi8vd3d3LmNhY2VydC5vcmcvaW5kZXgucGhwP2lk
 PTEwAAoJENK7DQFl0P1Yu+kAn27zpfl6Angb/DIsaV6srJ6SB/hmAJoDHPErifuG
 2L4KGF3NcagZRoUl77QgSm9lcmcgV3Vuc2NoIDxqb2VyZ0BGcmVlQlNELm9yZz6I
 XwQTEQIAHwIbAwIeAQIXgAUCQaR6QgcLCQgHAwIBAxUCAwMWAgEACgkQ9IyoG2mo
 WHNIRwCgnTUFJ1krhK0XISLLossxl68fS0MAoJEjQcOZTKtIp8S4Dqo7/VJYUVKF
 iHMEEBECADMFAkHiWicFgwHhM4AmGmh0dHA6Ly93d3cuY2FjZXJ0Lm9yZy9pbmRl
 eC5waHA/aWQ9MTAACgkQ0rsNAWXQ/VjuVACeKGyJ5VTFr26fxsDgqrlfXjksoBMA
 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
 =SfCl
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.285. Maksim Yevmenkin <emax@FreeBSD.org>

 pub  1024D/F050D2DD 2003-10-01 Maksim Yevmenkin <m_evmenkin@yahoo.com>
      Key fingerprint = 8F3F D359 E318 5641 8C81  34AD 791D 53F5 F050 D2DD

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.2.2 (FreeBSD)

 mQGiBD97XL8RBACC3CMLdwZY/RcLw4PM6h2KYj+cG7TNSfNWszZO5HdQYrd6HZKQ
 h0cL7cyW1Low8a2ZulxtEjM1SfofzDlhNaTYhyjlO4xBnJM13dMFchmM4j4qF0Mu
 al1MEeO3EbLntFsh/aDX2sOKEavz5id8eKmAZKez2O5Z27bymkFf4o2UbwCg841B
 WuuWHsy4O1zrac0WidkS3G0D/jeVbYA09gylZA1KSd3djHE55lQDQrUt3+2xWxjG
 Lg60WIqys/yxei6nVO7/Wr6Q1WISiX0bYXAxHCZZQrT6cuNtEBntPPa9PnXRewUx
 8xwVCBIuSLK5Kw2WZ2FMuQWTzfd4fwt8P9vghJlaV3h5Byw3e6/MdoDID9Jkg/ml
 f5FuA/9kZBwtE4zKJvx3Pv7EG6T0w82QA0SFtcFyRnNarUIfqyUsFXNkr8hoQT3Z
 J5haO/lW2HW70KMr26GxK61XcF8LQtfvphv9M+4yF3+DZSu1YxUM1Vs/q27EQhXa
 3Cs4kJkKdzW2xDbIbuD5ZJQqFAzWX7IiTTNXnEGZStPTQMYZLbQnTWFrc2ltIFll
 dm1lbmtpbiA8bV9ldm1lbmtpbkB5YWhvby5jb20+iFsEExECABsFAj97XL8GCwkI
 BwMCAxUCAwMWAgECHgECF4AACgkQeR1T9fBQ0t01FQCfUR367fJJ37Wl4HvZVBoF
 peBX9ZEAniaaK/D+n/JttkgY8jJf2ZvjF0SSuQENBD97XMIQBACPpJjDdDw42++u
 vPMW/R7Iwqdpgs22T/bzVlFxDGx2uD9xaoNKI03jkOyUWiFlHbuifMRhxTwO5Vyg
 nj91Y0fk8hdd9bjT0ee7lJuQ8PBqzb/uEVGFIC+56/ocFzuBANdN5fzEfxp5AA0o
 zAPotyGEmLLK8+3ApZmAbsnQEveOwwADBQP+KgIxPzWAxYSn/MFPK2QBEjHuCCsS
 JB+VOShc/QaSn/wFEKc8Brjpr1KeAEi7dFrK4Sa2Rn2+k9tRSJptxi1m3Hrr0J2z
 0JofnF6cKkvmIsCse5OGCK/LJmuWHuNVqYI2X9Q0am+soHEYsRaqB/BDLT5Mw0mE
 5NO6455cKEcyizmIRgQYEQIABgUCP3tcwgAKCRB5HVP18FDS3b1HAJ9ZjWomBkE4
 1vaMSXyIopmSQNVxSQCg3J+fBmk0yhD2A8CIfxhpSRJDwus=
 =wV5Z
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.286. Bjoern A. Zeeb <bz@FreeBSD.org>

 pub   1024D/3CCF1842 2007-02-20
       Key fingerprint = 1400 3F19 8FEF A3E7 7207  EE8D 2B58 B8F8 3CCF 1842
 uid                  Bjoern A. Zeeb <bz@zabbadoz.net>
 uid                  Bjoern A. Zeeb <bzeeb@zabbadoz.net>
 uid                  Bjoern A. Zeeb <bz@FreeBSD.org>
 uid                  Bjoern A. Zeeb <bzeeb-lists@lists.zabbadoz.net>
 sub   4096g/F36BDC5D 2007-02-20

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 B8U1cYUAoI3ftziD88BkkQf1aD7jpiQwlW7/
 =N1dt
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.287. Alexey Zelkin <phantom@FreeBSD.org>

 pub  1024D/9196B7D9 2002-01-28 Alexey Zelkin <phantom@FreeBSD.org>
      Key fingerprint = 4465 F2A4 28C1 C2E4 BB95  1EA0 C70D 4964 9196 B7D9
 sub  1024g/E590ABA4 2002-01-28

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: For info see http://www.gnupg.org

 mQGiBDxVhBMRBAD20EH9hS3S3gy73E1s//vYS1yo4GmmvzUzMTJo4HH6OMFT/MVn
 B51RXK5YlQ1cau4MWt2sifpWsG2hmmmPtOIaC6Mn4X8cEXmzy6qW5m+3RUdXB8rM
 pFSEVVEGhE9Sq+pTI1wB4VUJ5mhQtvWVJKsmuyf1YRa/zrr2zbZTIXg5EwCggloA
 GdcoFNm7p+cW56HJI1jZTpcD/jUyc4KLeimo+6Fn3z6NZh64GS+JmmCDe7mlcK2S
 XNPVq3tXXP3ZUKdv3faoMAgI1hSi82/32GINDkhiLPc0Q2tQZRDYKvyY/swgJSnV
 1LV8jlpk2VsmsYOp9hW4SJLAQUaejpZe4CwHpOfJWbPkXE83nVygA0lnN89dfhIH
 JaB8A/9VottMl88+CLzqF3AzN72R5tFWnSFMWumaODis+UvLW0XAMP4AHhvux/FS
 Pl+m2YtilHhib6lfMYuGalN84H7VxOBxjc9L4qORV9jP4cWEYXpxx0DTmmtFfLae
 xGGTyYNM1RiqmScXMF28Am1I+WhnLTql8DVFWr8XoZUbususg7QjQWxleGV5IFpl
 bGtpbiA8cGhhbnRvbUBGcmVlQlNELm9yZz6IVwQTEQIAFwUCPFWEEwULBwoDBAMV
 AwIDFgIBAheAAAoJEMcNSWSRlrfZ9yQAn0bnLWBjo47dKrS82X1VvbuokkNXAJsH
 oANWk5PoOZzySJ7st8/IyaLBErkBDQQ8VYQXEAQA2cEOpYzl8L5y8TErdj1lfpHt
 gxm1QFETl8HvZGb/hTRWVhIcUhtOLA2uftk1oDHbnp+FPsJuFTxanCaCSQVdtMEE
 I1zK/Qy384FjS1B6L3yq84yTKn+Gp8SbMX3ZWT+dVmy88yJpmo/yFiiN9d2hYy1q
 fCUWhbAoWeD7sqSeGL8ABA0D/Au95rpaYunrMhu5nVdvZpTbNEIEDLOTS337GWy7
 n1E9RG72ujCLFg8tbEmjEUFYfCZ/cW+6+2/Nj7zoGH9xXH6bRTfSKXojdKgNkUvL
 SLynpmFpUlFKc4fzSxx5EkCxH/zog9X2CQjMvxHmSD1/x+LeD0v/5WMsLvIdj6Op
 0KmziEYEGBECAAYFAjxVhBcACgkQxw1JZJGWt9nbrQCcCvSJho7n1r4+1PGTlcep
 ABxplbsAn05jPrtZLjln7aKcavCp8FICJ2TY
 =GYHE
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.288. David Xu <davidxu@FreeBSD.org>

 pub   1024D/48F2BDAB 2006-07-13 [expires: 2009-07-12]
       Key fingerprint = 7182 434F 8809 A4AF 9AE8  F1B5 12F6 3390 48F2 BDAB
 uid                  David Xu <davidxu@freebsd.org>
 sub   4096g/ED7DB38A 2006-07-13 [expires: 2009-07-12]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =jyox
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.289. Randall R. Stewart <rrs@FreeBSD.org>

 pub   1024D/0373B8B2 2006-09-01
       Key fingerprint = 74A6 810E 6DEA D69B 6496  5FA9 8AEF 4166 0373 B8B2
 uid                  Randall R Stewart <randall@lakerest.net>
 uid                  Randall R Stewart <rrs@cisco.com>
 uid                  Randall R Stewart <rrs@FreeBSD.org>
 sub   2048g/88027C0B 2006-09-01

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBET3848RBADitK8bahB8Ftqi9wtYsFRGfdm645cTF5fAnxFjC+ouPfLk+cfD
 I6VG1Vib3T+SYTTJ3xPm7tV6RLLlRsdAfSE4P73o5qVe85Dq4JBKYgdCms+0Z7B+
 O0yB7B0KClaXhZpsQtK8yLtROjiJxw1WQ9uOS/me5AHi2cZruoOcYxkzbwCguMmd
 tOy1SL5V2RLfJiQKAFQ23M8D/3m42RjkoMB791fuJ/pH3i98EuXhCwrSv7eZ3xYU
 TY93OwMEwPYaABK3jSygMETj9hu2pYFbrAFKSHQVPLcUBrKYw9+Fjd4XTOOxYZeI
 /+n0xSRk4W+sIQX97jCbvCrtk9jqIz2NQt9IlKxG0Xniio/Q8PsNNbO+jd5HSXqE
 ja2oA/9+r3LUi3jKH9rpY6x4Qz/DBpcNK4v5Fz24mtkwTfjyfC2nTlG58bSbmulE
 1tfOLDL5BHmGoyWIqaFzIVIA5oGo9EYG2RCx7Vr+WgsY6jr5tX7HlhByoE5Wemoz
 YN5CDC9KCKe7TCpVJtlq57c02kE0OT3gqYsflidfV50Qzt9jI7QhUmFuZGFsbCBS
 IFN0ZXdhcnQgPHJyc0BjaXNjby5jb20+iGAEExECACAFAkT3848CGwMGCwkIBwMC
 BBUCCAMEFgIDAQIeAQIXgAAKCRCK70FmA3O4suHBAJ9kvtlm5qy8c6qSizjcvuzj
 q4gFJQCgqthVasQ5jNFZf1p4vM+gD1T84M+0I1JhbmRhbGwgUiBTdGV3YXJ0IDxy
 cnNARnJlZUJTRC5vcmc+iGAEExECACAFAkT39KoCGwMGCwkIBwMCBBUCCAMEFgID
 AQIeAQIXgAAKCRCK70FmA3O4slQYAKCNWFpgxPkfqz7PoTUcobiXbu7EAQCcCj0F
 mj5AKPyuPbwP3JT7Cyf4Fs60KFJhbmRhbGwgUiBTdGV3YXJ0IDxyYW5kYWxsQGxh
 a2VyZXN0Lm5ldD6IYAQTEQIAIAUCRPf07QIbAwYLCQgHAwIEFQIIAwQWAgMBAh4B
 AheAAAoJEIrvQWYDc7iyy60AmgLBwWw0LjdY6+zyUyUhRm9s4vZEAJ9F6dw61khm
 NQlfhpvoBh24pl6GTrkCDQRE9/OUEAgA7GAeZ2BgjNDYa42+GV6uo1FxadTNppdN
 gG22xgg+4SXnWZ25O8dofrHIwP9rk/qomw452MoAlVevV20uYthVqAXBWRGEhO/q
 zKfyZxTe8aCOs1mjCKu9fPkSgNUDoCl6jCac/5mDdcLdVT3domBJvGiqqSQ/B1JA
 3YWrYCnnLTUN2a2aPW0ZK14zCSjaWQFDcm8kPi1WwKu9yldGnAPoT03+JF4KN0kB
 YkdmfEAFOJ4kjm2UROJc2aVUtjeMH3nqvdlTmuw6c6cmMMSIlXkcrTO7gRLmnx2J
 HgSdukq0vEtgND6O/o0n9Rnr+UccOCCz6EJkltL9knjKwutdQz9x8wADBQgAkEfc
 D/VQ1sUCgS5xyrer45zxW5NdeuFI+h12D94MKopczr73p+7Tc1bSDZK1M4e432qV
 8hNy8Q6gYowhuuBqxI0LYcEtrJld0ma4cnMraRjkId2jmyK82c+O/K1w+vcGUsYu
 nxYBiGwtTTo/R+202kp6VGD7jnIxGQs5WsMmnh8EL1m4BXeFm6BzfT29SuV4bdoZ
 6/YHyPLGVgtnPBCNQUjLvXqdaOlk3E1wCBd4A90pC1dDiN1rsAxOTcxwgyKfasXx
 CZsdBaXEYYUIfm9WrAFc1S/baV613184I1duBfCJWMKxGXMSr68CeFQ+I1036lsZ
 IdHoq+Y3nZ5jPRUIYohJBBgRAgAJBQJE9/OUAhsMAAoJEIrvQWYDc7iyXiAAn3XC
 FR1XLpBIlAr5dn8ozSpbwfoHAJ9ZDFSqbQt/EDawxqaoYP+4p4Q85w==
 =jM4N
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.290. Sepherosa Ziehau <sephe@FreeBSD.org>

 pub   2048R/3E51FB42 2005-10-21
       Key fingerprint = 5F47 3861 7ABA 8773 9E32  0474 5C33 841C 3E51 FB42
 uid                  Sepherosa Ziehau (freebsd) <sephe@freebsd.org>
 uid                  Sepherosa Ziehau (sephe) <sepherosa@gmail.com>
 sub   2048R/7AA31321 2005-10-21

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 AshLLfnD1BoaFl+lzNnL2Q==
 =F5Wg
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.291. Tatuya JINMEI <jinmei@FreeBSD.org>

 pub   1024D/ABA82228 2002-08-15
       Key fingerprint = BB70 3050 EE39 BE00 48BB  A5F3 5892 F203 ABA8 2228
 uid                  JINMEI Tatuya <jinmei@FreeBSD.org>
 uid                  JINMEI Tatuya <jinmei@jinmei.org>
 uid                  JINMEI Tatuya (the KAME project) <jinmei@isl.rdc.toshiba.co.jp>
 sub   1024g/8B43CF66 2002-08-15

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBD1b+Q4RBACetpZD+bWytVmQ3Itmu0ZBfSDF6FVyUQuKS3OZmvsZHxxqq1+u
 erHNhmyte/aCI/YrEUzHPT5LU+9LMpRQD0AwSs3Ot2vUzokSiTu8ZqhoWBcsosKK
 eKM73V7NiTgBGuJ3UxVmKNXzUZhRjGHuekB/ZCCv1pDg9B3HPL8ty+2M6wCgu02T
 +vMZW0VeByn79Lpmm2nu/F0D/3NN4e8ZtLTbUJxJb/hHhLzOr8XahZCqsNF2bj0C
 0u2SzkelDa5iVDWwiOkg7xI154REAALOG1FnLyO4bRPkcQ/EO5tbzXoVn0I6MPWA
 EiwBfVRXzP10MDHhqH0NvT8pyA4ex/BflaeFem9HItRjfojdqEUYVAACceAdLQLG
 MknWA/4hfAAp+dPcU8iHmd7AemuGoOhu5AAKbp2S4vwozJEFiv67wD/+WFXVggUx
 wbQ3X7oNiOLeg9OASDV5qtbGPATHikYagWVjndqmvxO1FiL6BnQBnzAVzOEN3L2K
 Ex566bUw/2R/dr/zhOc3BKxCV50T2Xe4u/cEiYkUbLj6+Y8V2bQhSklOTUVJIFRh
 dHV5YSA8amlubWVpQGppbm1laS5vcmc+iGAEExECACAFAkYDPqYCGyMGCwkIBwMC
 BBUCCAMEFgIDAQIeAQIXgAAKCRBYkvIDq6giKEOZAJ0Z/iUCa6UrrsVmKiP4a9qB
 0jFUCgCgn/3mQxdtXTA6SOlFFsisaxsIXIW0P0pJTk1FSSBUYXR1eWEgKHRoZSBL
 QU1FIHByb2plY3QpIDxqaW5tZWlAaXNsLnJkYy50b3NoaWJhLmNvLmpwPohZBBMR
 AgAZBQI9W/kOBAsHAwIDFQIDAxYCAQIeAQIXgAAKCRBYkvIDq6giKBtcAJ9DRqXt
 h8WEpjgr+sD9OuaYqmV8nACfSdo2Ml+Qfz2Rad9OtZodmELCCi20IkpJTk1FSSBU
 YXR1eWEgPGppbm1laUBGcmVlQlNELm9yZz6IYAQTEQIAIAUCRhkdkgIbIwYLCQgH
 AwIEFQIIAwQWAgMBAh4BAheAAAoJEFiS8gOrqCIo11cAoIJT7N2GMSNXAujnuIvc
 HnBtgk5zAJ4qDo/En3ic8E7h7zc4lT/WQQDhRrkBDQQ9W/kQEAQA1Q07/j0kScL1
 WF9EeXVEyLpTxHZ7owTI+KrRcQ6Vc6KABu1cwhE78ANVfn/CkWVXHyDEnWEIvaz2
 QYwz47sqOxdOg/AmHFVd8xouengw32KNjViVBMsW/l8VzyAVvvGGNuQ+f7zDZ/P9
 v9WwwRcrgL9g+uAnrJJo/wttIBqhSk8AAwUEAIqcIez2zlkwGayFeLqgwuw4PCbd
 kGtXs0l2mQljv8GWuTRJ5D8aD0nlM9MNaSLB7xq6igMriP/NyfIVv0aLJwRH8ilx
 RBYosGvm+nEmUtakhU/77uXcLtipoUGi+y1reFRVSoypJil6lqDTjKtWQlWA7xOG
 QzGMdgoBC1d55jXXiEYEGBECAAYFAj1b+RAACgkQWJLyA6uoIigNBwCgsUFgZMfR
 sEybYW4cWwBNhNTqE9wAnRf9BFkzpn3ZyD+NBkjx2INcitoD
 =ISn8
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.292. Thomas Abthorpe <tabthorpe@FreeBSD.org>

 pub   1024D/D069F2A0 2005-07-06
       Key fingerprint = 62EB 68F5 C1A4 8FCE 5A87  BE22 E469 BF8C D069 F2A0
 uid                  Thomas Abthorpe (FreeBSD Committer) <tabthorpe@FreeBSD.org>
 uid                  Thomas Abthorpe <thomas@goodking.ca>
 uid                  Thomas Abthorpe <tabthorpe@gmail.com>
 uid                  Thomas Abthorpe <thomasa@tbaytel.net>
 uid                  Thomas Abthorpe <tabthorpe@FreeBSD.org>
 uid                  Thomas Abthorpe <tabthorpe@goodking.ca>
 uid                  Thomas Abthorpe <thomas@stthomasanglican.org>
 uid                  Thomas Abthorpe <tabthorpe@stthomasanglican.org>
 sub   2048g/16752D82 2005-07-06

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 vGEZL/jiI8Wngym8F7UR8mjQPbJJsJcJ6lm81dR4UKinG2XF3wRuU86XeU4Ld6jt
 PiV3pMYNriiQKHYlFAZvjxEtDJkB/9dwN/TcQomNj0MZs7QBMKXzVY21UTMPaqCj
 eEO9f2iSqDgbE4K/1x6kqvTfNEd+sA73tEPEPgcOE8nWxDIYk/Xl2HQnJ84L72+P
 GrK1Y+odFQ5p2Kw800btrzOw2NoLd+6qCOBYuI9mXNyEjnWQqKNb/00CYHY8p5q7
 WkzqF3YEvDOIj5WE0jub1Rib/34awk3si5CB5UBMuZ9ef7ERoJEdEs6fxwe0JVRo
 b21hcyBBYnRob3JwZSA8dGFidGhvcnBlQGdtYWlsLmNvbT6IYAQTEQIAIAUCRzTI
 GQIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEORpv4zQafKgdWcAn3w4sSnM
 61bo8iJ+b+E+zmVjFleXAJ4q/1XG+Q1xwilc/FCvVtTveM9grLQlVGhvbWFzIEFi
 dGhvcnBlIDx0aG9tYXNhQHRiYXl0ZWwubmV0PohGBBARAgAGBQJHHtctAAoJEOSY
 /CvINdQO0SYAn2S56W0WXCj0vGS0afl12pl1h772AKCgNaKyuWu0eHdH9Wk6jCqJ
 tVgqBYhgBBMRAgAgBQJGuSP4AhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQ
 5Gm/jNBp8qCruACfTnIPAG5u90p15gmJOQH2jHN31iIAnRfdwkMTxRAfnM67jyqq
 FS/kFGZRtCdUaG9tYXMgQWJ0aG9ycGUgPHRhYnRob3JwZUBGcmVlQlNELm9yZz6I
 YAQTEQIAIAUCRzTINwIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEORpv4zQ
 afKguIUAni2L1qJa3ikUbkU52VEAnJ5t1FluAJ43vqKiMSlrL8zorbVZCU5Tjs6x
 ybQnVGhvbWFzIEFidGhvcnBlIDx0YWJ0aG9ycGVAZ29vZGtpbmcuY2E+iEYEEBEC
 AAYFAkce1y0ACgkQ5Jj8K8g11A52ngCgvhSJxD7X6wmIbtlnrKG2VHI6sQwAoMCf
 jEIywruJ3/7Kbq56RdJYzFaFiGAEExECACAFAkWdORwCGwMGCwkIBwMCBBUCCAME
 FgIDAQIeAQIXgAAKCRDkab+M0GnyoKYpAJ0XQrKjZxVwinq4uIW7LMlP/M/kJQCb
 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
 DJze1jo7nwtF4D34H75dAUWU0Q==
 =Bijf
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.293. Ivan Voras <ivoras@FreeBSD.org>

 pub   1024D/569C05C8 2000-05-24
       Key fingerprint = AB9A A555 C47C B61D BF83  154C 95D9 C041 569C 05C8
 uid                  Ivan Voras <ivoras@fer.hr>
 uid                  Ivan Voras <ivan.voras@fer.hr>
 uid                  Ivan Voras <ivoras@geri.cc.fer.hr>
 uid                  [jpeg image of size 4567]
 uid                  Ivan Voras <ivoras@sharanet.org>
 uid                  Ivan Voras <ivoras@gmail.com>
 uid                  Ivan Voras <ivoras@yahoo.com>
 uid                  Ivan Voras <ivoras@freebsd.org>
 uid                  Ivan Voras <ivan.voras@zg.t-com.hr>
 sub   1536g/149FDD60 2000-05-24

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBDkrvE4RBADgl43F4E9yq9uGfw/sc7ulsKvz64g8Sj4XjtG2K1VoEzJ+eKZB
 rgaH//pbAH7ULpV89oVpvBbvVkIlM6WSrCOWydTlvFGZgRHL10nl9FxFyuX+yykJ
 Qw3I/zhpE7TbowDwEivNtBt3p+PE6xRCpvPA++BhMs3RADvDXSeq1a1LGQCg/wUn
 1cZgybe/i0KEgOLjSYIcfWcD/05bn0WkRXUq3evT7wYZ/zi+HEQsCUV/LOPY7Zom
 sDkKTuLKlNXx8xk4EcIb1LOqmcI8qct6CLEhGfa9ek0KrxpaFkR/1fj5zZWlLbxj
 UREeaVXt7ESlawmHTwVwRAmyMDAUulxDz7MgYcJjfi0RICHCsEeopgyo6Mm7z5SH
 MKqIA/0er6aLclMRbE8+AW+4TYFyYYmlc8ek7tz3KTCGrustE4ZJXSGt9pA5puiS
 +KvlWEm7XjG5H8xUJGQuhcv6L1sY0U+1LLFZOoU9l06Rbi5QaR/J7beRqKhitLIt
 5/43PpQZ3tmdHjvIRX1EfPV3M/QS/yB2xsiJu2nChutM0n6hB7QaSXZhbiBWb3Jh
 cyA8aXZvcmFzQGZlci5ocj6ISQQQEQIACQUCPBddlQIZAQAKCRCV2cBBVpwFyOnX
 AKDsmTv7Unk0LeLnzrNHKrM2Cd00RwCffqq2vBc8Okr6cu19JJRqcRLlC+uIRgQQ
 EQIABgUCRh9mWQAKCRBtO67R6hYNC70GAJ96UzOIyYn0HMCpE3IvUAKfmPXBjQCd
 FM1iFq5IKcHYW7Chf2RBy40NtZa0IUl2YW4gVm9yYXMgPGl2b3Jhc0BmbHkuY2Mu
 ZmVyLmhyPohJBBARAgAJBQI8F10WAhkAAAoJEJXZwEFWnAXIx+8AoJYexih6EYDs
 iVst13lTI61claABAJ0WRoRfejnHcgBDidpt3P86xOv5iYhJBDARAgAJBQJErs38
 Ah0AAAoJEJXZwEFWnAXI4FQAnjATnWkW6jqhS4B0q0Fyu/PSomVjAKDX3n5peLqe
 n7copp3k3fvNTD8AXbQeSXZhbiBWb3JhcyA8aXZhbi52b3Jhc0BmZXIuaHI+iEYE
 EBECAAYFAjsrwhwACgkQldnAQVacBcj8hACeOJt1Oqq6erPIEh9smx3Ri3TUHwUA
 nAxb1miM4siElBik0NbqaRJUqBtriEYEEBECAAYFAkYfZl0ACgkQbTuu0eoWDQsp
 VACgkQr2lvyRsMrLz9Kt2FS4MOgZpeoAn3B32Z1QNnkT81A39SS21I5i6b2ntCJJ
 dmFuIFZvcmFzIDxpdm9yYXNAZ2VyaS5jYy5mZXIuaHI+iEYEEBECAAYFAjsrwnoA
 CgkQldnAQVacBcjnYACeMY0ipykUA4WTTVYsjE8H89r85JkAoKwO6L6QUprO5qSB
 me6M6QldoV2RiEYEEBECAAYFAkYfZl0ACgkQbTuu0eoWDQvFKQCfbWH3vb6MRQx5
 lAxLQuUEDPt0EAYAn0UX3UduAYZMR/dAsXSVooSOWDP+0dEt/wAAEegBEAABAQAA
 AAAAAAAAAAAAAP/Y/+AAEEpGSUYAAQEAAAEAAQAA/9sAQwAKBwcIBwYKCAgICwoK
 Cw4YEA4NDQ4dFRYRGCMfJSQiHyIhJis3LyYpNCkhIjBBMTQ5Oz4+PiUuRElDPEg3
 PT47/9sAQwEKCwsODQ4cEBAcOygiKDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7
 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7/8AAEQgAkAB4AwEiAAIRAQMRAf/EAB8A
 AAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAAB
 fQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYn
 KCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeI
 iYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh
 4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYH
 CAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRC
 kaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZX
 WFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKz
 tLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwD
 AQACEQMRAD8Ara2MX591X+WK5mU41d2I6Kp4HoAK6jXRi9Unug/ma5i5BGpOf+mQ
 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
 =9LWk
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.294. Nathan Whitehorn <nwhitehorn@FreeBSD.org>

 pub   1024D/FC118258 2008-07-03
       Key fingerprint = A399 BEA0 8D2B 63B3 47B5  056D 8513 5B96 FC11 8258
 uid                  Nathan Whitehorn <nwhitehorn@freebsd.org>
 uid                  Nathan Whitehorn <nwhitehorn@icecube.wisc.edu>
 uid                  Nathan Whitehorn <nwhitehorn@physics.wisc.edu>
 uid                  Nathan Whitehorn <whitehorn@wisc.edu>
 sub   2048g/EDB55363 2008-07-03

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEhs+ZMRBACu6CWtdlJ/GkGO4O6epy4SKwxV2s64od5j3ZG/+CkdXfHVnvDf
 NAdvytDwRPjFdQtwDmLTcotdm9akMpmoI+nuTDOC/wyoojh3NlTp/YmzSLntBoaQ
 W2uwp8oAW4dszTMptgb3Dpce17cHQcCuQ8Ql9tnZlFOvm4XCP00y7pmGrwCg65cu
 0wxbDYVp2fpPIG0D67q03j8D/01g68qU+JQqCZtCTDSJ7tG4w5zlOH6Hu7Q9wRhb
 XBDKX6fiO9CiRDorgi54DoKqjQoHWnFXrKBcAughLEjle5BSZ+Z+eu/tfMwDEfhL
 FMMPuvT9BVG/nukn4ufmk8BqPbw5PGalYGbdJvvjbyWhVIu/dexqGe9mT3DD7gk0
 WZArA/95nvE5+LRH31Jugq1GJ7cqjJyd/IPQC96z7JXdme7oPQ8IYDsLjsT982MO
 8WvwNbQPnRrj3Sgjp7EcuaFt/J66P7KvpU1lQKJDfZgk1LTL0Nm8wzLj2tXSwZWg
 tSOZewMItr2yKwBlpGDsS5K7CCpbocsndrI5DOPEzuYr7y+56rQuTmF0aGFuIFdo
 aXRlaG9ybiA8bndoaXRlaG9ybkBpY2VjdWJlLndpc2MuZWR1PohgBBMRAgAgBQJI
 bPmTAhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQhRNblvwRglgkxwCgmC82
 iM6zfYaJwcFsqETyxS+9Vv4AoJCemsKBmBQiN7o5K84/DuaCZTWutC5OYXRoYW4g
 V2hpdGVob3JuIDxud2hpdGVob3JuQHBoeXNpY3Mud2lzYy5lZHU+iGAEExECACAF
 Akhs+tgCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRCFE1uW/BGCWCFSAJwL
 f5HwF8PEUIEo/25Dwr72JCW6DwCeIm2wQjiyXl+wy1QIP5eX5Emy+Pa0JU5hdGhh
 biBXaGl0ZWhvcm4gPHdoaXRlaG9ybkB3aXNjLmVkdT6IYAQTEQIAIAUCSGz66wIb
 AwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEIUTW5b8EYJY+GsAoINx6fjsHpdy
 JT0UWgiIr48kEhtcAKDetW0OzAVCF8HmXMHWR/zyjVqHSLQpTmF0aGFuIFdoaXRl
 aG9ybiA8bndoaXRlaG9ybkBmcmVlYnNkLm9yZz6IYAQTEQIAIAUCSGz7AQIbAwYL
 CQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEIUTW5b8EYJYgiQAoM04WRCQ0LI5L78O
 d4VFwQSiUiDtAJ43eEJzvlPmvR2geTEaB6lJGNrBMrkCDQRIbPmTEAgAypfp7UhW
 ZPvGO8EfI90WkCclB/H7hSfpTgcZfQafWis6YllJ/EC+orAdQ79I/vdp5x5as6VS
 HsvN/IXXxoL30uHj2PTFV4qi0Tx8YMcw3xUK+wskQ0HonWsmZZvqHBSMbh0+JpXg
 75ZHXxOg/kpaFIjYz7cML9jSFBxD1S1/kmHqFnJISJ5wFAeXJj1loPfTbu6x5NB5
 BGbR/ysii9FidJUAXPk2EviD82oltntcNrUJS29ghFwM3FO/sZFdStQppNTgDnwO
 mUFyYxpwzG8vMjWYl3DWlc8ozXtKRotGzzsXuwUvdnC9e9MRX8xsF7x1vMrV5j6+
 5SGMnz6KvRzRIwADBQgAhDEuTI6+glgo0Kale3FKlKaOdz9R26uTCWVlK32O98jp
 mrdCfG1u1cknYrLlIVZIlrTgu3WqjRS9j23z8mIKQNW6wudu+/50/N7wtlV8k/s3
 DKmoUjcXH1b7vPxxnhFbtg41COFOUziIyXkupHEOJeaF+Sz4EEi8nXMKBEoGFlYD
 rh61rOFsfrf24E3dIwdLyjoTify8trdL5pgug27pHPMgXXx5cjLooq73VFvzlqCA
 3zFyypgED7UsYMH9NjmyLlA77gK4gfuAlGXwEWyh99SVksrvvHqntHyg9p+HdCQJ
 GyYwRMNUXTfdSn4cWVc+Qip1jpgdH/bbIwZeTIMaIYhJBBgRAgAJBQJIbPmTAhsM
 AAoJEIUTW5b8EYJYA0wAoJ5oqyCt4TZRVfofTeTGcm8K+a8lAJ0YGUPg2rEaTf06
 QaoupCN+daK2wQ==
 =hP6F
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.295. Stacey Son <sson@FreeBSD.org>

 pub   1024D/CE8319F3 2008-07-08
       Key fingerprint = 64C7 8D92 C1DF B940 1171  5ED3 186A 758A CE83 19F3
 uid                  Stacey Son <sson@FreeBSD.org>
 uid                  Stacey Son <stacey@son.org>
 uid                  Stacey Son <sson@byu.net>
 uid                  Stacey Son <sson@secure.net>
 uid                  Stacey Son <sson@dev-random.com>
 sub   2048g/0F724E52 2008-07-08

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =uagC
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.296. Marcus von Appen <mva@FreeBSD.org>

 pub   1024D/B267A647 2009-02-14
       Key fingerprint = C7CC 1853 D8C5 E580 7795  B654 8BAF 3F12 B267 A647
 uid                  Marcus von Appen <freebsd@sysfault.org>
 uid                  Marcus von Appen <mva@freebsd.org>
 sub   2048g/D34A3BAF 2009-02-14

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEmWjSoRBACy4CsdR35YB6pGzU1aa1mbTkLuF44VBjV8O9qji80zo/VJs3JL
 El0wIhM9pg6zObKkzOU5HJFU/6uazzzDnc+A8y3NJL3u+HoX/7c03e3yUZ6xl7PC
 ua8tO3IAQiB/cg/Ltb6iJa8FflfmCKGE0I2DXeR2vN9PpgQVkJW+/NSDbwCg2Nxm
 mfeO83a7C28G/MV70z5CTg0EAKdHCkACr+iB1WpOIKEmFkZRD0NXHEXYa6L2kPdY
 XPNJ893yu5YUmHMFNUdVxoIKaUKpIGPa+V4q6ojAilWJiaEB74W+teqNBzwhzyNv
 xfp/W6fNJtvC1DJkrxkag0penU9ZROkVEnZajIclFh5la3muxX07Qf2HjGZM3Cqb
 nz6PA/9gdPecNwo1N+9aX/CGrCw0DC1QVFc1HJqcL3pe2qQkMVDO7sfQkewtQOW9
 H2ZrDWlVxIohQ9/+vbKV1uOcJr5+egSGNTCNNuimh9Kp4LYMc1vNouQe1D9fsCXW
 2kcgO8FozH0O3uJ60gCak2K06iA+mGziNYLQH3IvjVswivxOyLQiTWFyY3VzIHZv
 biBBcHBlbiA8bXZhQGZyZWVic2Qub3JnPohgBBMRAgAgBQJJlo0qAhsDBgsJCAcD
 AgQVAggDBBYCAwECHgECF4AACgkQi68/ErJnpkfulACeI1WVnhrKTq/+O2Djbpuu
 Nyj/MYMAn0BMDpy4frZjlIMfhazixfk4cbjNtCdNYXJjdXMgdm9uIEFwcGVuIDxm
 cmVlYnNkQHN5c2ZhdWx0Lm9yZz6IYAQTEQIAIAUCSZwX8QIbAwYLCQgHAwIEFQII
 AwQWAgMBAh4BAheAAAoJEIuvPxKyZ6ZH48AAnRraNz0aFuSHUFaw8LXjROOTwld/
 AKCvawhTgwYKX3YjLzu9Jcc1t3UNj7kCDQRJlo0qEAgA2acv4O4JFQCzgJXhCQqn
 KHFeEqOcgpKlvIGlgfP4/hVOCms2LK3qk10JpcbDbkBn0cBW7usxvA3mDiF2ZnrY
 wIwAROI7SNSY60PydR6DXc6I21VAd7hmmcpqkJFXaSMvKkQcq7sAJGlSYVpPuBqZ
 1kCIu2vlPBdpT4W1hHxf7l4Q+h2ge4+C2beRv9V9vRVdlXeSqJT1o5EgE5CjZ6sV
 Eh+9/TQdkRAoGgQG4LZvDuhWfsSkDU6x/soFKOPCdTF/LytW8YZ6asN1EpVJihAe
 GseQdkwP8iK9Co90Ab27+5WVVrP+xkY+rULOngW2vIwJrWic6nk/a0/0MrPjFn3k
 IwADBQf/dMsSQncKSSn8Tg9KeeBLftirddz+Mos1j+1PYOc88vrMrHVodBfNtJlG
 zxAGwFyLtk/yA8/MuW219t57O3W49VYh+I8NenzlRmZr/ahn8t79UD7+SWmy8L5e
 3XD2+w9WTj9Lx1V41wFKvxVLItNAik58Oi9MHa/wR1LMRIeGFAVHWAZcxYLLKfGR
 lYcMmMTY4906sjJ6Z+ZVYILnTR360JdeiZbFdaCFGf2yUoM+HeA2+975CaRagu+N
 /HZKW4JSsiu15fvaLTPwFG6YXKcHL2zI0Vc5UF5nd9GGZdX9Y4ffBi3aPXgIOJm5
 eAf29A6Ne3/llt3RG3TduGacd1WghYhJBBgRAgAJBQJJlo0qAhsMAAoJEIuvPxKy
 Z6ZHPMYAn1s6Sdc/4Kkv8KQ0KaJNwmkQYkcSAKDLkzy/Ph4mOMm8jO6ZL+Orpo21
 CQ==
 =HKIb
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.297. Dmitry Chagin <dchagin@FreeBSD.org>

 pub   1024D/738EFCED 2009-02-27
       Key fingerprint = 3F3F 8B87 CE09 9E10 3606  6ACA D2DD 936F 738E FCED
 uid                  Dmitry Chagin <dchagin@freebsd.org>
 uid                  Dmitry Chagin (dchagin key) <chagin.dmitry@gmail.com>
 sub   2048g/6A3FDFF9 2009-02-27

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEmoPBkRBACM2PQ+WGI38Z5NtkF50MuYyv0u4qSaWtx5Tquch2sgBDjxjebI
 XQYuyzM9piV4ZSZHFyjvFCHjLhPg7Ae6xaeaOwPsGQ2Q+bSC92PoTC3bDdHW1hPV
 6s8KxrFcelHLwhmF56WIALoI6E6IF60KztuISLm0VDG0Wy3lP8QAeoWbgwCg0fY1
 iOETR0ZP09ophWg8CPUxyvcD/3NFr6GEVUuFX4ENQkX2GTrvEB1IBS3v9JvEMlUX
 bShFXWGHB+3ynBvw/EiuOgIB6Jzay3prP9rdGW4NSV7ZMa3Yw6OdhVpQ0ticn4zU
 FiqLL6x8SKXKSm9BvjFuWADe3Lnu/ekY1lYTM4iWPNdA2LjRUHwpDIHcHWgcCzkn
 CfY+A/0eKkj+/VTddCspDaXuTmgGlkz90LsA0cLv6gRO3IV+0t80TgohtsCdR2X/
 Yf7fi8GsaMdhgJZNm9dMz/zD7ZkQ+OyQN7NkB1zkwg2RwOnbbjTa+HECtsr2Znb6
 B85MamlnHN0WHNgexaC6c7ezEFq+RMBKRVJJGwehZXpT185T57Q1RG1pdHJ5IENo
 YWdpbiAoZGNoYWdpbiBrZXkpIDxjaGFnaW4uZG1pdHJ5QGdtYWlsLmNvbT6IYAQT
 EQIAIAUCSag8GQIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJENLdk29zjvzt
 eLcAn3hUOTepQzeJqPuTFl2Z2dM10HHKAJ9DJRmSIAwHBGPzlAFFzKKFW+OoV7Qj
 RG1pdHJ5IENoYWdpbiA8ZGNoYWdpbkBmcmVlYnNkLm9yZz6IYAQTEQIAIAUCSam5
 zAIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJENLdk29zjvztRJYAn0cIluug
 IS7YO6a+Bf0FByX3jlndAJ9k3HAxpt9i9R0wFkFmbMX0He86bLkCDQRJqDwZEAgA
 jMe9QT4KYOHsLQsF5vHBq/+W+Lniy6OqEB1GSK9P/vqVIqVa7v7NXX/B5R8UiQMz
 fSNcYH/BTN1lb8Pe7pAIBpqPhKBi7NAW1Ddy9399co1c37ncf6HEa2P0tpJbTrG0
 Eww9nUiFbhjWUHSY0MT57mHQHdCSlqNFl2jaV91CQaNybt9z8JLO301vQXP4LLND
 a/FQ3TdBEIXFLs/H8QKLBe5TBgd2lXy9qpZsii7xpfNXKG1qqIa8sfUoJO5Ng2GB
 K6tJUFh/J548BLt/c/p1KJo8ovJB70DiOaznRc+Tu8rR03ehdfrJ5FpDoxC6UAa8
 7FpXWxjM6L3N/T01NcaXUwADBQf7BpNvsT/QzV74wnGXoi9aUE84ojkIAm9X4Q78
 dfdCvSFWUACcvsB/d7XLcCXOZ1NJ1E8Tdjjmr24MRQRUY8MhDt47ngsTyDhDW5l9
 EQ/ByjX3wlRBNP5qEDVkLudfRE6LlEye2NSNpXYs1Naw6U/deUggNZMwriVCuRI6
 TPc/bKeq7+378EBaKc8ckuRdv8LWsIdaKQ6rQZh1CB6LpSsL9OjcRpKvK8yYas6I
 kWUr07xvvlVyRVLcrNyQwp2QnfK8fXeH2I/Qg9QwcV+cXyKzH4vka9zrR1A9SAHJ
 iOyMXJBy+GzoYLf/y7/u/LOVAm09P4tQ/7V/DY7nxiOabSioTIhJBBgRAgAJBQJJ
 qDwZAhsMAAoJENLdk29zjvztGEAAoNFpe2XX37q3yAaNfiZgEABrxsgZAJ9yH0YJ
 QrmO4sxq5l7AD6K+KNahRQ==
 =ER/k
 -----END PGP PUBLIC KEY BLOCK-----

     --------------------------------------------------------------

  D.3.298. Dennis Herrmann <dhn@FreeBSD.org>

 pub   1024D/65181EA0 2008-09-07 [expires: 2009-03-06]
       Key fingerprint = D4DB A438 EB5E 1B26 C782  F969 820B 66B3 6518 1EA0
 uid                  Dennis Herrmann (Vi veri universum vivus vici) <adox@mcx2.org>
 sub   4096g/C003C5DD 2008-09-07 [expires: 2009-03-06]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =b9AS
 -----END PGP PUBLIC KEY BLOCK-----

                            FreeBSD Glossar

   Dieser Abschnitt entha:lt Begriffe und Abku:rzungen, die innerhalb
   des FreeBSD-Projekts sowie der zugeho:rigen Dokumentation
   verwendet werden.

                                   A

   ACL

           Siehe: Access Control List

   ACPI

           Siehe: Advanced Configuration and Power Interface

   AMD

           Siehe: Automatic Mount Daemon

   AML

           Siehe: ACPI Machine Language

   API

           Siehe: Application Programming Interface

   APIC

           Siehe: Advanced Programmable Interrupt Controller

   APM

           Siehe: Advanced Power Management

   APOP

           Siehe: Authenticated Post Office Protocol

   ASL

           Siehe: ACPI Source Language

   ATA

           Siehe: Advanced Technology Attachment

   ATM

           Siehe: Asynchronous Transfer Mode

   ACPI Machine Language (AML)

           Pseudocode, der von einer virtuellen Maschine innerhalb
           eines ACPI-konformen Betriebssystems ausgefu:hrt wird.
           Bietet eine Verbindungsschicht (Layer) zwischen der
           verwendeten Hardware und der dokumentierten Schnittstelle,
           auf die das Betriebssystem zugreift.

   ACPI Source Language (ASL)

           Die Programmiersprache, in der die AML geschrieben ist.

   Access Control List (ACL)

           Eine Liste von Zugriffsrechten, die einem Objekt,
           normalerweise eine Datei oder ein Gera:t im Netzwerk,
           angeha:ngt ist.

   Advanced Configuration and Power Interface (ACPI)

           Eine Spezifikation, die eine Abstrahierung der
           Schnittstelle darstellt, die Hardware und Betriebssystem
           verbindet. Dadurch beno:tigt das Betriebssystem keine
           Informationen u:ber die vorhandene Hardware, um diese
           einsetzen zu ko:nnen. ACPI ist eine Weiterentwicklung von
           APM, PNPBIOS und anderen Technologien und bietet
           Funktionen zur Kontrolle des Energieverbrauchs, zur
           Versetzung von Rechnern in den Ruhezustand, zur
           Aktivierung und Deaktivierung von Gera:ten und andere
           mehr.

   Application Programming Interface (API)

           Eine Sammlung von Prozeduren, Protokollen und Werkzeugen,
           die das Zusammenspiel von verschiedenen Programmteilen
           festlegt. Wie, wann und warum arbeiten sie zusammen,
           welche Daten werden zwischen ihnen ausgetauscht und
           anderes mehr.

   Advanced Power Management (APM)

           Eine API, die es dem Betriebssystem ermo:glicht, zusammen
           mit dem BIOS die Stromversorgung zu verwalten. APM wurde
           fu:r die meisten Anwendungen durch die allgemeinere und
           leistungsfa:higere ACPI Spezifikation abgelo:st.

   Advanced Programmable Interrupt Controller (APIC)

   Advanced Technology Attachment (ATA)

   Asynchronous Transfer Mode (ATM)

   Authenticated Post Office Protocol (APOP)

   Automatic Mount Daemon (AMD)

           Ein Daemon, der ein Dateisystem automatisch einha:ngt,
           wenn auf eine Datei oder ein Verzeichnis dieses
           Dateisystems zugegriffen wird.

                                   B

   BAR

           Siehe: Base Address Register

   BIND

           Siehe: Berkeley Internet Name Domain

   BIOS

           Siehe: Basic Input/Output System

   BSD

           Siehe: Berkeley Software Distribution

   Base Address Register (BAR)

           Register, die den zu einem PCI-Gera:t geho:renden
           Adressbereich festlegen.

   Basic Input/Output System (BIOS)

           Die Bedeutung des Begriffs BIOS ha:ngt vom Kontext ab, in
           dem es verwendet wird. Einmal wird damit der ROM-Chip
           bezeichnet, der u:ber einen Basisbefehlssatz eine
           Schnittstelle zwischen Hard- und Software schafft. Aber
           auch die Routinen, die in diesen Chip implementiert
           wurden, und die dabei helfen, Ihr System zu starten,
           werden als BIOS bezeichnet. Und nicht zuletzt wird
           manchmal die Bildschirmmaske, u:ber die der Bootprozess
           konfiguriert werden kann, ebenfalls als BIOS bezeichnet.
           Der Begriff BIOS ist zwar PC-spezifisch, andere Systeme
           verfu:gen aber u:ber a:hnliche Systeme.

   Berkeley Internet Name Domain (BIND)

           Eine Implementierung des DNS-Protokolls.

   Berkeley Software Distribution (BSD)

           Diesen Namen gab die Computer Systems Research Group
           (CSRG) der The University of California at Berkeley den
           Verbesserungen und A:nderungen an AT&Ts 32V UNIX. FreeBSD
           beruht auf der Arbeit der CSRG.

   Bikeshed Building

           Die Beobachtung, dass viele Leute Meinungen zu
           unkomplizierten Themen a:ussern, wa:hrend gleichzeitig
           u:ber ein kompliziertes Thema gar nicht oder nur wenig
           diskutiert wird. Die Herkunft des Ausdrucks wird in den
           FAQ erla:utert.

                                   C

   CD

           Siehe: Carrier Detect

   CHAP

           Siehe: Challenge Handshake Authentication Protocol

   CLIP

           Siehe: Classical IP over ATM

   COFF

           Siehe: Common Object File Format

   CPU

           Siehe: Central Processing Unit

   CTS

           Siehe: Clear To Send

   CVS

           Siehe: Concurrent Versions System

   Carrier Detect (CD)

           Ein RS232C-Signal. Notwendig, um eine serielle Verbindung
           aufbauen zu ko:nnen.

   Central Processing Unit (CPU)

           Auch als Prozessor bekannt. Dieser stellt das Gehirn eines
           Computers dar, in dem alle Berechnungen erfolgen. Es gibt
           verschiedene Prozessor-Architekturen, die u:ber
           verschiedene Befehlssa:tze verfu:gen, beispielsweise
           Intel-x86-, Sun SPARC-, PowerPC- und Alpha-Systeme.

   Challenge Handshake Authentication Protocol (CHAP)

           Eine Vorgehensweise, einen Benutzer anhand eines
           Geheimnisses zu authentisieren, dass zwischen Client und
           Server ausgetauscht wird.

   Classical IP over ATM (CLIP)

   Clear To Send (CTS)

           Ein RS232C-Signal. Das entfernte System erha:lt durch
           dieses Signal die Erlaubnis, Daten zu senden.

           Siehe auch: Request To Send.

   Common Object File Format (COFF)

   Concurrent Versions System (CVS)

           Ein Versionskontrollsystem, das es erlaubt, mit vielen
           verschiedenen Versionen einer Datei zu arbeiten und die an
           diesen Dateien durchgefu:hrten A:nderungen zu verfolgen.
           CVS ermo:glicht es, individuelle A:nderungen
           durchzufu:hren, in ein Repository einzubringen und auch
           wieder ru:ckga:ngig zu machen. Ausserdem ist es mo:glich,
           nachzuvollziehen, welche A:nderungen wann, von wem und
           warum erfolgten.

                                   D

   DAC

           Siehe: Discretionary Access Control

   DDB

           Siehe: Debugger

   DES

           Siehe: Data Encryption Standard

   DHCP

           Siehe: Dynamic Host Configuration Protocol

   DNS

           Siehe: Domain Name System

   DSDT

           Siehe: Differentiated System Description Table

   DSR

           Siehe: Data Set Ready

   DTR

           Siehe: Data Terminal Ready

   DVMRP

           Siehe: Distance-Vector Multicast Routing Protocol

   Discretionary Access Control (DAC)

   Data Encryption Standard (DES)

           Eine Methode zur Verschlu:sselung von Informationen. Wird
           traditionellerweise zur Verschlu:sselung von
           UNIX-Passwo:rtern und von crypt(3) verwendet.

   Data Set Ready (DSR)

           Ein RS232C-Signal, das von einem Modem an einen Computer
           oder ein Terminal geschickt wird und die Sende- und
           Empfangsbereitschaft des Modems meldet.

           Siehe auch: Data Terminal Ready.

   Data Terminal Ready (DTR)

           Ein RS232C-Signal, das von einem Computer oder einem
           Terminal an das Modem geschickt wird und die Sende- und
           Empfangsbereitschaft des Computers oder des Terminals
           meldet.

   Debugger (DDB)

           Eine interaktive, in den Kernel eingebaute Funktion, um
           den Status eines Systems zu untersuchen. Wird in der Regel
           nach einem Systemabsturz eingesetzt, um die Ursache fu:r
           den Absturz zu finden.

   Differentiated System Description Table (DSDT)

           Eine ACPI-Tabelle, die Informationen u:ber die
           Konfiguration des Basissystems entha:lt.

   Distance-Vector Multicast Routing Protocol (DVMRP)

   Domain Name System (DNS)

           Das System, dass Klartext-Rechnernamen (wie
           mail.example.net) in Internet-IP-Adressen (oder umgekehrt)
           konvertiert.

   Dynamic Host Configuration Protocol (DHCP)

           Ein Protokoll, das auf Anforderung dynamisch eine
           IP-Adresse an einen Rechner vergibt. Diese Adresszuweisung
           wird als "Lease" bezeichnet.

                                   E

   ECOFF

           Siehe: Extended COFF

   ELF

           Siehe: Executable and Linking Format

   ESP

           Siehe: Encapsulated Security Payload

   Encapsulated Security Payload (ESP)

   Executable and Linking Format (ELF)

   Extended COFF (ECOFF)

                                   F

   FADT

           Siehe: Fixed ACPI Description Table

   FAT

           Siehe: File Allocation Table

   FAT16

           Siehe: File Allocation Table (16-bit)

   FTP

           Siehe: File Transfer Protocol

   File Allocation Table (FAT)

   File Allocation Table (16-bit) (FAT16)

   File Transfer Protocol (FTP)

           Ein auf TCP aufsetzendes Protokoll, das zum Transfer von
           Daten u:ber ein TCP/IP-Netzwerk verwendet wird.

   Fixed ACPI Description Table (FADT)

                                   G

   GUI

           Siehe: Graphical User Interface

   Giant

           Der Name fu:r einen wechselseitigen Ausschluss (mutual
           exclusion), der einen grossen Teil der Kernel-Ressourcen
           schu:tzt. Zu Zeiten, als auf einer Maschine nur ein paar
           Prozesse liefen und die Maschine nur eine Netzwerkkarte
           und insbesondere nur einen Prozessor besass, war dieser
           einfache Mechanismus zum Verriegeln (lock) einer Ressource
           vo:llig ausreichend. Heutzutage entstehen durch den
           wechselseitigen Ausschluss Geschwindigkeitsengpa:sse. Die
           FreeBSD-Entwickler arbeiten daran, Giant durch Locks zu
           ersetzten, die einzelne Ressourcen schu:tzen. Auf
           Einprozessor- und Mehrprozessor-Maschinen ko:nnen dadurch
           mehr Prozesse parallel ausgefu:hrt werden.

   Graphical User Interface (GUI)

           Eine grafische Oberfla:che, u:ber die der Anwender mit dem
           System interagiert.

                                   H

   HTML

           Siehe: HyperText Markup Language

   HUP

           Siehe: HangUp

   HangUp (HUP)

   HyperText Markup Language (HTML)

           Die Auszeichnungssprache, mit der Internetseite erstellt
           werden ko:nnen.

                                   I

   I/O

           Siehe: Input/Output

   IASL

           Siehe: Intel's ASL-Compiler

   IMAP

           Siehe: Internet Message Access Protocol

   IP

           Siehe: Internet Protocol

   IPFW

           Siehe: IP Firewall

   IPP

           Siehe: Internet Printing Protocol

   IPv4

           Siehe: IP Version 4

   IPv6

           Siehe: IP Version 6

   ISP

           Siehe: Internet Service Provider

   IP Firewall (IPFW)

   IP Version 4 (IPv4)

           Die IP-Protokollversion 4, die 32-Bit-Adressen einsetzt.
           Diese Version stellt derzeit noch den in der Praxis am
           meisten verwendeten Standard dar, sollt aber sukzessive
           durch IPv6 ersetzt werden.

           Siehe auch: IP Version 6.

   IP Version 6 (IPv6)

           Das neue IP-Protokoll. Es wurde entwickelt, weil der
           Adressraum von IPv4 nicht mehr ausreichend ist. IPv6
           verwendet 128-Bit-Adressen.

   Input/Output (I/O)

   Intel's ASL-Compiler (IASL)

           Intel's Compiler zur Konvertierung von ASL nach AML.

   Internet Message Access Protocol (IMAP)

           Ein Protokoll fu:r den Zugriff auf einen E-Mail-Server.
           Charakteristisch fu:r dieses Protokoll ist, dass die
           Nachrichten in der Regel auf dem Server verbleiben und
           nicht vom E-Mail-Client heruntergeladen werden.

           Siehe auch: Post Office Protocol Version 3.

   Internet Printing Protocol (IPP)

   Internet Protocol (IP)

           Das Standardprotokoll zur Paketu:bertragung im Internet.
           Wurde urspru:nglich vom U.S. Department of Defense
           entwickelt, und ist ein zentraler Bestandteile des
           TCP/IP-Stacks. Ohne das Internet Protocol wa:re das
           Internet in der heutigen Form nicht mo:glich. Das Internet
           Protocol ist im RFC 791 definiert.

   Internet Service Provider (ISP)

           Ein Unternehmen, das anderen den Zugang zum Internet
           ermo:glicht.

                                   K

   KAME

           Japanisch fu:r "Schildkro:te". Der Begriff KAME wird in
           Computerkreisen fu:r das KAME Project verwendet, das an
           einer IPv6-Implementierung arbeitet.

   KDC

           Siehe: Key Distribution Center

   KLD

           Siehe: Kernel ld(1)

   KSE

           Siehe: Kernel Scheduler Entities

   KVA

           Siehe: Kernel Virtual Address

   Kbps

           Siehe: Kilo Bits Per Second

   Kernel ld(1) (KLD)

           Eine Methode, um den Kernel dynamisch um zusa:tzliche
           Funktionen zu erweitern, ohne das System neu zu starten.

   Kernel Scheduler Entities (KSE)

           Threads, die im Kernel laufen. Na:heres entnehmen Sie der
           Home-Page des Projekts.

   Kernel Virtual Address (KVA)

   Key Distribution Center (KDC)

   Kilo Bits Per Second (Kbps)

           Masseinheit, in der die Bandbreite (also die Menge der
           Daten, die in einer bestimmten Zeit u:bertragen werden
           kann) angegeben wird. Statt Kilo ko:nnen auch Mega, Giga,
           Tera und weitere Pra:fixe verwendet werden.

                                   L

   LAN

           Siehe: Local Area Network

   LOR

           Siehe: Lock Order Reversal

   LPD

           Siehe: Line Printer Daemon

   Line Printer Daemon (LPD)

   Local Area Network (LAN)

           Ein Netzwerk, das nur in einem lokalen Bereich, wie einem
           Bu:ro, einen Unternehmen oder einem Haus, eingesetzt wird.

   Lock Order Reversal (LOR)

           Der FreeBSD-Kernel benutzt eine Reihe von Ressource-Locks,
           um den Zugriff auf Ressourcen zu regeln. In
           FreeBSD-CURRENT-Kerneln (nicht in Release-Kerneln)
           befindet sich das Diagnose-System witness(4), das
           Verklemmungen (deadlock) zur Laufzeit erkennt. witness(4)
           ist vorsichtig: daher gibt es schon mal Falschmeldungen
           aus. Eine richtig erkannte Verklemmung bedeutet soviel wie
           "Wenn Sie Pech gehabt ha:tten, wa:re es jetzt zu einer
           Verklemmung gekommen".

           Richtig erkannte Verklemmungen (LOR) werden schnell
           behoben. Pru:fen Sie daher
           http://lists.FreeBSD.org/mailman/listinfo/freebsd-current
           und die Seite LORs Seen bevor Sie die Mailinglisten
           kontaktieren.

                                   M

   MAC

           Siehe: Mandatory Access Control

   MADT

           Siehe: Multiple APIC Description Table

   MFC

           Siehe: Merge From Current

   MFP4

           Siehe: Merge From Perforce

   MFS

           Siehe: Merge From Stable

   MIT

           Siehe: Massachusetts Institute of Technology

   MLS

           Siehe: Multi-Level Security

   MOTD

           Siehe: Message Of The Day

   MTA

           Siehe: Mail Transfer Agent

   MUA

           Siehe: Mail User Agent

   Mail Transfer Agent (MTA)

           Eine Anwendung zum Transfer von E-Mails. Ein MTA war von
           jeher im BSD-Basissystem enthalten. Aktuell handelt es
           sich dabei um Sendmail. Es exisitieren aber auch
           zahlreiche andere MTAs, darunter postfix, qmail und Exim.

   Mail User Agent (MUA)

           Ein Programm zur Anzeige und zum Verfassen von E-Mails.

   Mandatory Access Control (MAC)

   Massachusetts Institute of Technology (MIT)

   Merge From Current (MFC)

           Das Einbringen von Funktionen oder Fehlerbehebungen aus
           dem -CURRENT-Zweig in einen anderen Zweig, meist -STABLE.

   Merge From Perforce (MFP4)

           Das Einbringen von Funktionen oder Fehlerbehebungen aus
           dem Perforce-Repository des -CURRENT-Zweigs.

           Siehe auch: Perforce.

   Merge From Stable (MFS)

           Normalerweise werden A:nderungen an FreeBSD zuerst im
           -CURRENT-Zweig getestet und dann in den -STABLE-Zweig
           u:bernommen. Selten kommt es vor, dass eine A:nderung
           zuerst im -STABLE-Zweig vorgenommen wird und anschliessend
           im -CURRENT-Zweig u:bernommen wird.

           Dieser Ausdruck wird auch benutzt, wenn eine
           Fehlerbehebung von -STABLE in einem der Sicherheitszweige
           u:bernommen wird.

           Siehe auch: Merge From Current.

   Message Of The Day (MOTD)

           Eine Nachricht, die in der Regel beim Anmelden an einem
           System angezeigt wird. Entha:lt ha:ufig Informationen fu:r
           die Benutzer des Systems.

   Multi-Level Security (MLS)

   Multiple APIC Description Table (MADT)

                                   N

   NAT

           Siehe: Network Address Translation

   NDISulator

           Siehe: Project Evil

   NFS

           Siehe: Network File System

   NTFS

           Siehe: New Technology File System

   NTP

           Siehe: Network Time Protocol

   Network Address Translation (NAT)

           Eine Technik bei der IP-Pakete auf dem Weg durch ein
           Gateway umgeschrieben werden und dadurch vielen Rechnern
           hinter dem Gateway ermo:glichen, sich eine einzige
           IP-Addresse zu teilen.

   Network File System (NFS)

   New Technology File System (NTFS)

           Ein von Microsoft entwickeltes Dateisystem, das in dessen
           "New Technology"-Betriebssystemen, wie Windows 2000,
           Windows NT und Windows XP, eingesetzt wird.

   Network Time Protocol (NTP)

           Ein Protokoll, um die Systemzeit u:ber ein Netzwerk zu
           synchronisieren.

                                   O

   OBE

           Siehe: Overtaken By Events

   ODMR

           Siehe: On-Demand Mail Relay

   OS

           Siehe: Operating System

   On-Demand Mail Relay (ODMR)

   Operating System (OS)

           Eine Sammlung von Programmen, Bibliotheken und Werkzeugen,
           die den Zugriff auf die Hardware eines Computers erlauben.
           Die Bandbreite aktueller Betriebssysteme reicht von
           einfachen Designs, die lediglich die Ausfu:hrung eines
           einzigen Programms und die Nutzung eines einzigen Gera:ts
           zur gleichen Zeit erlauben bis hin zu Multitasking- und
           Multiprozess-Systemen, die gleichzeitig Tausende Benutzer
           bedienen ko:nnen, von denen jeder wiederum Dutzende
           Programme laufen lassen kann.

   Overtaken By Events (OBE)

           Zeigt an, dass eine gewu:nschte A:nderung (aus einem
           Fehlerbericht oder einer Anforderung) u:berholt ist. Die
           Ursache ko:nnen beispielsweise spa:tere A:nderungen in
           FreeBSD, gea:nderte Netzwerk-Standards oder jetzt
           veraltete Hardware sein.

                                   P

   p4

           Siehe: Perforce

   PAE

           Siehe: Physical Address Extensions

   PAM

           Siehe: Pluggable Authentication Modules

   PAP

           Siehe: Password Authentication Protocol

   PC

           Siehe: Personal Computer

   PCNSFD

           Siehe: Personal Computer Network File System Daemon

   PDF

           Siehe: Portable Document Format

   PID

           Siehe: Process ID

   POLA

           Siehe: Principle Of Least Astonishment

   POP

           Siehe: Post Office Protocol

   POP3

           Siehe: Post Office Protocol Version 3

   PPD

           Siehe: PostScript Printer Description

   PPP

           Siehe: Point-to-Point Protocol

   PPPoA

           Siehe: PPP over ATM

   PPPoE

           Siehe: PPP over Ethernet

   PPP over ATM (PPPoA)

   PPP over Ethernet (PPPoE)

   PR

           Siehe: Problem Report

   PXE

           Siehe: Preboot eXecution Environment

   Password Authentication Protocol (PAP)

   Perforce

           Ein von Perforce Software entwickeltes
           Versionskontrollsystem, das mehr Funktionen als CVS
           aufweist. Obwohl es sich dabei nicht um Open-Source
           handelt, du:rfen Open-Source-Projekte wie FreeBSD die
           Software kostenlos einsetzen.

           Einige FreeBSD-Entwickler verwenden ein
           Perforce-Repository, um Quellcode zu verwalten, der selbst
           fu:r den -CURRENT-Zweig zu experimentell ist.

   Personal Computer (PC)

   Personal Computer Network File System Daemon (PCNFSD)

   Physical Address Extensions (PAE)

           Eine Mo:glichkeit, um auf Systemen, die physikalisch nur
           u:ber einen 32-Bit-Adressraum verfu:gen, bis zu 64 GB RAM
           ansprechen zu ko:nnen. Ohne PAE wa:ren diese Systeme auf
           maximal 4 GB Hauptspeicher beschra:nkt.

   Pluggable Authentication Modules (PAM)

   Point-to-Point Protocol (PPP)

   Pointy Hat

           Ein Kopfschmuck, a:hnlich den Eselsohren, der
           FreeBSD-Committern gereicht wird, wenn sie den Bau
           kaputtmachen, Revisionsnummern verkleinern oder sonstigen
           Schaden im Quellbaum anrichten. Jeder Committer, der etwas
           taugt, besitzt schnell eine stattliche Sammlung. Der
           Begriff wird (meist?) scherzhaft verwendet.

   Portable Document Format (PDF)

   Post Office Protocol (POP)

           Siehe auch: Post Office Protocol Version 3.

   Post Office Protocol Version 3 (POP3)

           Ein Protokoll fu:r den Zugriff auf einen E-Mail-Server.
           Dadurch gekennzeichnet, dass neue Nachrichten vom
           E-Mail-Client heruntergeladen und nicht auf dem Server
           verbleiben.

           Siehe auch: Internet Message Access Protocol.

   PostScript Printer Description (PPD)

   Preboot eXecution Environment (PXE)

   Principle Of Least Astonishment (POLA)

           Prinzip der kleinsten U:berraschung

           A:nderungen an FreeBSD sollten nach Mo:glichkeit fu:r den
           Benutzer nachvollziehbar sein. Das willku:rliche Umordnen
           der Variablen in /etc/defaults/rc.conf verletzt zum
           Beispiel dieses Prinzip. Entwickler beachten das Prinzip,
           wenn Sie u:ber fu:r Benutzer sichtbare A:nderungen
           nachdenken.

   Problem Report (PR)

           Die Beschreibung eines Problems, das im FreeBSD-Quellcode
           oder in der Dokumentation gefunden wurde. Lesen Sie dazu
           auch den Artikel Writing FreeBSD Problem Reports.

   Process ID (PID)

           Eine eindeutige Zahl, die einem Prozess zugewiesen ist.
           Identifiziert den Prozess und erlaubt es, diesen Prozess
           zu bearbeiten.

   Project Evil

           Der Arbeitstitel des von Bill Paul geschriebenen
           NDISulator. Der Name bezieht sich darauf, dass es
           (philosophisch gesehen) schlimm ist, einen solchen Treiber
           u:berhaupt schreiben zu mu:ssen. Der NDISulator ist ein
           Kompatibilita:tsmodul, das es erlaubt, Microsoft
           Windows(TM) NDIS-Miniport-Netzwerktreiber mit FreeBSD/i386
           zu benutzen. Fu:r gewo:hnlich ist dies die einzige
           Mo:glichkeit, Karten mit einem Treiber, dessen Quellen
           verschlossen sind, zu benutzen. Siehe
           src/sys/compat/ndis/subr_ndis.c.

                                   R

   RA

           Siehe: Router Advertisement

   RAID

           Siehe: Redundant Array of Inexpensive Disks

   RAM

           Siehe: Random Access Memory

   RD

           Siehe: Received Data

   RFC

           Siehe: Request For Comments

   RISC

           Siehe: Reduced Instruction Set Computer

   RPC

           Siehe: Remote Procedure Call

   RS232C

           Siehe: Recommended Standard 232C

   RTS

           Siehe: Request To Send

   Random Access Memory (RAM)

   Received Data (RD)

           Ein RS232C-Pin oder -Draht, u:ber den neue Daten ankommen.

           Siehe auch: Transmitted Data.

   Recommended Standard 232C (RS232C)

           Ein Standard fu:r die Kommunikation zwischen seriellen
           Gera:ten.

   Reduced Instruction Set Computer (RISC)

           Ein Ansatz im Prozessordesign, bei dem die von der
           Hardware durchzufu:hrenden Operationen so weit als
           mo:glichst vereinfacht und verallgemeinert werden.
           Vorteile dieses Design sind ein geringerer
           Energieverbrauch, eine geringere Transistoranzahl und
           u:bersichtlicherer Code. Zu den RISC-Plattformen geho:ren
           Alpha, Sparc, ARM sowie PowerPC.

   Redundant Array of Inexpensive Disks (RAID)

   Remote Procedure Call (RPC)

   repocopy

           Siehe: Repository Copy

   Repository Copy

           Eine direkte Kopie von Dateien innerhalb eines
           Repositories.

           Ohne eine Repocopy mu:sste ein Committer eine Datei mit
           cvs add an der neuen Position einfu:gen und mit cvs rm an
           der alten Position lo:schen.

           Der Nachteil dieser Methode wa:re allerdings, dass dabei
           die Datei-Historie (also die CVS-Logs) nicht an die neue
           Position kopiert werden wu:rde. Da das FreeBSD-Project
           diese Informationen als a:sserst nu:tzlich ansieht, wird
           stattdessen ha:fig eine Repocopy durchgefu:hrt. Bei diesem
           Prozess kopiert ein Repositoy Meister die Datei direkt
           innerhalb des Repository an die neue Position, statt
           cvs(1) einzusetzen.

   Request For Comments (RFC)

           Eine Sammlung von Dokumenten, die wichtige
           Internetstandards, Protokolle und so weiter definieren und
           die unter www.rfc-editor.org zu finden sind.

           Kann aber auch allgemein verwendet werden, wenn jemand
           eine A:nderung vorschla:gt und dazu Feedback mo:chte.

   Request To Send (RTS)

           Ein RS232C-Signal, das der Gegenstelle signalisiert, dass
           sie mit dem Senden der Daten beginnen kann.

           Siehe auch: Clear To Send.

   Router Advertisement (RA)

                                   S

   SCI

           Siehe: System Control Interrupt

   SCSI

           Siehe: Small Computer System Interface

   SG

           Siehe: Signal Ground

   SMB

           Siehe: Server Message Block

   SMP

           Siehe: Symmetric MultiProcessor

   SMTP

           Siehe: Simple Mail Transfer Protocol

   SMTP AUTH

           Siehe: SMTP Authentication

   SSH

           Siehe: Secure Shell

   STR

           Siehe: Suspend To RAM

   SVN

           Siehe: Subversion

   SMTP Authentication (SMTP AUTH)

   Server Message Block (SMB)

   Signal Ground (SG)

           Ein RS232-Pin oder -Draht, der als Untergrundreferenz fu:r
           das Signal verwendet wird.

   Simple Mail Transfer Protocol (SMTP)

   Secure Shell (SSH)

   Small Computer System Interface (SCSI)

   Subversion (SVN)

           Subversion ist ein Versionskontrollsystem, a:hnlich wie
           CVS, aber mit einer gro:sseren Liste von Eigenschaften.

           Siehe auch: Concurrent Versions System.

   Suspend To RAM (STR)

   Symmetric MultiProcessor (SMP)

   System Control Interrupt (SCI)

                                   T

   TCP

           Siehe: Transmission Control Protocol

   TCP/IP

           Siehe: Transmission Control Protocol/Internet Protocol

   TD

           Siehe: Transmitted Data

   TFTP

           Siehe: Trivial FTP

   TGT

           Siehe: Ticket-Granting Ticket

   TSC

           Siehe: Time Stamp Counter

   Ticket-Granting Ticket (TGT)

   Time Stamp Counter (TSC)

           Ein interner Za:hler bei modernen Pentium-Prozessoren, der
           die Ticks der core frequency clock bestimmt.

   Transmission Control Protocol (TCP)

           Ein Protokoll, das auf dem IP-Protokoll aufsetzt. Es
           garantiert, dass Datenpakete zuverla:ssig und geordnet
           transportiert werden.

   Transmission Control Protocol/Internet Protocol (TCP/IP)

           Die Kombination aus TCP- und IP-Protokoll. Ein Grossteil
           des Internets basiert auf TCP/IP.

   Transmitted Data (TD)

           Ein RS232C-Pin oder -Draht, u:ber den Daten verschickt
           werden.

           Siehe auch: Received Data.

   Trivial FTP (TFTP)

                                   U

   UDP

           Siehe: User Datagram Protocol

   UFS1

           Siehe: Unix File System Version 1

   UFS2

           Siehe: Unix File System Version 2

   UID

           Siehe: User ID

   URL

           Siehe: Uniform Resource Locator

   USB

           Siehe: Universal Serial Bus

   Uniform Resource Locator (URL)

           Eine Methode um eine Ressource, z.B. ein Dokument im
           Internet, zu lokalisieren und eine Art, diese Ressource zu
           identifizieren.

   Unix File System Version 1 (UFS1)

           Das Original UNIX Dateisystem, manchmal auch das Berkeley
           Fast File System genannt.

   Unix File System Version 2 (UFS2)

           Eine Erweiterung fu:r UFS1, eingefu:hrt in
           FreeBSD5-CURRENT. UFS2 entha:lt 64-bit Blockzeiger
           (durchbricht dadurch die 1T Grenze), Unterstu:tzung fu:r
           extended file storage und andere Merkmale.

   Universal Serial Bus (USB)

           Ein Hardware-Standard, der verwendet wird um eine grosse
           Vielfalt von Computerperipherie an eine einheitliche
           Schnittstelle anzuschliessen.

   User ID (UID)

           Eine eindeutige Nummer, die einem Benutzer eines Computers
           zugewiesen wird. Kann zur Identifizierung von zugewiesenen
           Ressourcen und Berechtigungen verwendet werden.

   User Datagram Protocol (UDP)

           Ein einfaches, nicht-zuverla:ssiges Protokoll fu:r
           Datagramme, das beim Datenaustausch in einem TCP/IP
           Netzwerk benutzt wird. UDP entha:lt keine
           Fehleru:berpru:fung und -korrektur wie TCP.

                                   V

   VPN

           Siehe: Virtual Private Network

   Virtual Private Network (VPN)

           Eine Methode ein o:ffentliches Netzwerk wie das Internet
           zu nutzen, um einen entfernten Zugriff auf ein lokales
           Netz, wie etwa ein Unternehmens-LAN, zu ermo:glichen.

     --------------------------------------------------------------

                                Kolophon

   Dieses Buch ist aus den Beitra:gen vieler Freiwilliger zum
   "FreeBSD Documentation Project" entstanden. Der Text ist in SGML
   entsprechend der Docbook DTD verfasst. Mit Hilfe von Jade, einem
   Open Source DSSSL-Prozessor, wird er in verschiedene Formate
   umgewandelt. Die Umwandlung wird von Norm Walsh's DSSSL
   Stylesheets und eigens entwickelten Stylesheets gesteuert. Die
   gedruckte Ausgabe des Buchs wa:re ohne die
   Satzbeschreibungssprache TeX von Donald Knuth, LaTeX von Leslie
   Lamport oder den JadeTeX-Makros von Sebastian Rahtz nicht
   mo:glich.

  Fussnoten

   [1]  Genau das ist mit i386 gemeint. Auch wenn Ihr System keine    
        Intel 386 CPU besitzt, wird i386 ausgegeben. Es wird immer    
        die Architektur und nicht der Typ des Prozessors ausgegeben.  
   [2]  Startskripten sind Programme, die FreeBSD automatisch bei     
        jedem Startvorgang ausfu:hrt. Der Zweck der Skripte besteht   
        darin, das System zu konfigurieren und nu:tzliche Dienste im  
        Hintergrund zu starten.                                       
   [3]  Eine recht technische und genaue Beschreibung der             
        FreeBSD-Konsole und der Tastatur-Treiber finden Sie in den    
        Hilfeseiten syscons(4), atkbd(4), vidcontrol(1) und           
        kbdcontrol(1). Lesen Sie diese Seiten, wenn Sie an den        
        Einzelheiten interessiert sind.                               
   [4]  Das stimmt nicht ganz: Es gibt Fa:lle, in denen ein Prozess   
        nicht unterbrochen werden kann. Wenn der Prozesss zum         
        Beispiel eine Datei von einem anderen Rechner auf dem         
        Netzwerk liest und dieser Rechner aus irgendwelchen Gru:nden  
        nicht erreichbar ist (ausgeschaltet, oder ein                 
        Netzwerkfehler), dann ist der Prozess nicht zu unterbrechen.  
        Wenn der Prozess den Lesezugriff nach einem Timeout von       
        typischerweise zwei Minuten aufgibt, dann wir er beendet.     
   [5]  Der verwendete Algorithmus setzt maxusers auf die             
        Speichergro:sse des Systems. Der minimale Wert betra:gt dabei 
        32, das Maximum ist 384.                                      
   [6]  Ausser Sie verwenden, wie in Kapitel 26 besprochen,           
        zusa:tzliche Terminals                                        
   [7]  Fu:r UIDs und GIDs ko:nnen Zahlen bis einschliesslich         
        4294967295 verwendet werden. Allerdings ko:nnen solche IDs    
        erhebliche Probleme mit Anwendungen verursachen, die Annahmen 
        u:ber den Wertebereich der IDs treffen.                       
   [8]  Pipeline = Leitung. Mit Pipes sind Verbindungen zwischen zwei 
        Sockets in meistens zwei verschiedenen Prozessen gemeint.     
   [9]  IPC steht fu:r Interprocess Communication.                    
   [10] Unter FreeBSD darf das System-Passwort maximal 128 Zeichen    
        lang sein.                                                    
   [11] Dieser Schritt ist seit FreeBSD 6.0 nicht mehr notwendig.     
   [12] Die Auswahl einer sicheren und leicht zu merkenden Passphrase 
        wird auf der Webseite Diceware Passphrase beschrieben.        
   [13] RAID steht fu:r Redundant Array of Inexpensive Disks und      
        bietet verschiedene Formen der Fehlertorleranz, obwohl der    
        letzte Begriff etwas irrefu:hrend ist, da RAID keine          
        Redundanz bietet.                                             
   [14] Mit C-char Zeichensa:tzen werden Zeichensa:tze bezeichnet,    
        die zur Codierung den C-Datentyp char verwenden.              
   [15] Das stimmt nicht ganz. Obwohl wir alte FreeBSD Releases fu:r  
        einige Jahre unterstu:tzen, ko:nnen wir sie nicht ewig        
        unterstu:tzen. Eine vollsta:ndige Beschreibung der            
        Sicherheitspolitik fu:r alte FreeBSD Releases entnehmen Sie   
        bitte http://www.FreeBSD.org/security/.                       
   [16] Von engl. to pull = ziehen. Der Client holt sich bei dieser   
        Methode die Dateien ab.                                       
   [17] Von engl. to push = schieben. Der Server schickt dem Client   
        die Dateien.                                                  
   [18] Mailbox = Post- beziehungsweise Briefkasten                   
   [19] Tags sind symbolische Namen, die im Repository vergeben       
        werden.                                                       
   [20] Abku:rzung fu:r "CVS Through eMail"                           
   [21] http://www.freebsd.org/news/status/                           

     --------------------------------------------------------------

     Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an
                   <de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail
                an <de-bsd-translators@de.FreeBSD.org>.
