                              Das FreeBSD-Handbuch

  The FreeBSD German Documentation Project

   Version: 43184

   Copyright (c) 1995-2012 The FreeBSD German Documentation Project

   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, OS/2, PowerPC, PS/2, S/390 und ThinkPad 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, JDK, JSP, JVM, Netra,
   Solaris, StarOffice und SunOS 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.

   Februar 1999 von .
   Zusammenfassung

   Willkommen bei FreeBSD! Dieses Handbuch beschreibt die Installation und
   den ta:glichen Umgang mit FreeBSD 8.4-RELEASE und FreeBSD 9.2-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.

   [ einzelne Abschnitte / komplettes Dokument ]

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

   Inhaltsverzeichnis

   Vorwort

   I. Erste Schritte

                1. Einfu:hrung

                             1.1. U:bersicht

                             1.2. Willkommen bei FreeBSD!

                             1.3. Das FreeBSD Project

                2. FreeBSD 8.X (und a:lter) 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. FreeBSD 9.x (und neuer) installieren

                             3.1. U:bersicht

                             3.2. Hardware-Anforderungen

                             3.3. Vor der Installation

                             3.4. Die Installation starten

                             3.5. Das bsdinstall-Werkzeug

                             3.6. Installation aus dem Netzwerk

                             3.7. Plattenplatz bereitstellen

                             3.8. Die Installation festschreiben

                             3.9. Arbeiten nach der Installation

                             3.10. Fehlerbehebung

                4. Grundlagen des UNIX Betriebssystems

                             4.1. U:bersicht

                             4.2. Virtuelle Konsolen und Terminals

                             4.3. Zugriffsrechte

                             4.4. Verzeichnis-Strukturen

                             4.5. Festplatten, Slices und Partitionen

                             4.6. Anha:ngen und Abha:ngen von Dateisystemen

                             4.7. Prozesse

                             4.8. Da:monen, Signale und Stoppen von Prozessen

                             4.9. Shells

                             4.10. Text-Editoren

                             4.11. Gera:te und Gera:tedateien

                             4.12. Bina:rformate

                             4.13. Weitere Informationen

                5. Installieren von Anwendungen: Pakete und Ports

                             5.1. U:bersicht

                             5.2. Installation von Software

                             5.3. Suchen einer Anwendung

                             5.4. Benutzen des Paketsystems

                             5.5. Benutzen der Ports-Sammlung

                             5.6. Nach der Installation

                             5.7. Kaputte Ports

                6. Das X-Window-System

                             6.1. U:bersicht

                             6.2. X-Grundlagen

                             6.3. X11 installieren

                             6.4. X11 konfigurieren

                             6.5. Schriftarten in X11 benutzen

                             6.6. Der X-Display-Manager

                             6.7. Grafische Oberfla:chen

   II. Oft benutzte Funktionen

                7. Desktop-Anwendungen

                             7.1. U:bersicht

                             7.2. Browser

                             7.3. Bu:roanwendungen

                             7.4. Anzeigen von Dokumenten

                             7.5. Finanzsoftware

                             7.6. Zusammenfassung

                8. Multimedia

                             8.1. U:bersicht

                             8.2. Soundkarten einrichten

                             8.3. MP3-Audio

                             8.4. Videos wiedergeben

                             8.5. TV-Karten einrichten

                             8.6. MythTV

                             8.7. Scanner

                9. Konfiguration des FreeBSD-Kernels

                             9.1. U:bersicht

                             9.2. Wieso einen eigenen Kernel bauen?

                             9.3. Informationen u:ber die vorhandene Hardware
                             beschaffen

                             9.4. Kerneltreiber, Subsysteme und Module

                             9.5. Erstellen und Installation eines
                             angepassten Kernels

                             9.6. Die Kernelkonfigurationsdatei

                             9.7. Wenn etwas schiefgeht

                10. Drucken

                             10.1. U:bersicht

                             10.2. Einfu:hrung

                             10.3. Grund-Konfiguration

                             10.4. Erweiterte Drucker-Konfiguration

                             10.5. Drucker verwenden

                             10.6. Alternativen zum LPD-Drucksystem

                             10.7. Problembehandlung

                11. Linux-Bina:rkompatibilita:t

                             11.1. U:bersicht

                             11.2. Installation

                             11.3. Mathematica(R) installieren

                             11.4. Maple(TM) installieren

                             11.5. MATLAB(R) installieren

                             11.6. Oracle(R) installieren

                             11.7. Weiterfu:hrende Themen

   III. Systemadministration

                12. Konfiguration und Tuning

                             12.1. U:bersicht

                             12.2. Vorbereitende Konfiguration

                             12.3. Basiskonfiguration

                             12.4. Konfiguration von Anwendungen

                             12.5. Start von Diensten

                             12.6. Programme mit cron starten

                             12.7. Das rc-System fu:r Systemdienste

                             12.8. Einrichten von Netzwerkkarten

                             12.9. Virtual Hosts

                             12.10. Konfigurationsdateien

                             12.11. Einstellungen mit sysctl

                             12.12. Tuning von Laufwerken

                             12.13. Einstellungen von Kernel Limits

                             12.14. Hinzufu:gen von Swap-Bereichen

                             12.15. Energie- und Ressourcenverwaltung

                             12.16. ACPI-Fehlersuche

                13. FreeBSDs Bootvorgang

                             13.1. U:bersicht

                             13.2. Das Problem des Bootens

                             13.3. Boot-Manager und Boot-Phasen

                             13.4. Kernel Interaktion wa:hrend des
                             Bootprozesses

                             13.5. Konfiguration von Gera:ten

                             13.6. Init: Initialisierung der
                             Prozess-Kontrolle

                             13.7. Der Shutdown-Vorgang

                14. Benutzer und grundlegende Account-Verwaltung

                             14.1. U:bersicht

                             14.2. Einfu:hrung

                             14.3. Der Superuser-Account

                             14.4. System-Accounts

                             14.5. Benutzer-Accounts

                             14.6. Accounts vera:ndern

                             14.7. Benutzer einschra:nken

                             14.8. Gruppen

                15. Sicherheit

                             15.1. U:bersicht

                             15.2. Einfu:hrung

                             15.3. Absichern von FreeBSD

                             15.4. DES, Blowfish, MD5, und Crypt

                             15.5. Einmalpasswo:rter

                             15.6. TCP-Wrapper

                             15.7. Kerberos5

                             15.8. OpenSSL

                             15.9. VPNs mit IPsec

                             15.10. OpenSSH

                             15.11. Zugriffskontrolllisten fu:r Dateisysteme

                             15.12. Sicherheitsprobleme in Software Dritter
                             u:berwachen

                             15.13. FreeBSD Sicherheitshinweise

                             15.14. Prozess-U:berwachung

                16. Jails

                             16.1. U:bersicht

                             16.2. Jails - Definitionen

                             16.3. Einfu:hrung

                             16.4. Einrichtung und Verwaltung von Jails

                             16.5. Feinabstimmung und Administration

                             16.6. Anwendung von Jails

                17. Verbindliche Zugriffskontrolle

                             17.1. U:bersicht

                             17.2. Schlu:sselbegriffe

                             17.3. Erla:uterung

                             17.4. MAC Labels verstehen

                             17.5. Planung eines Sicherheitsmodells

                             17.6. Modulkonfiguration

                             17.7. Das MAC Modul seeotheruids

                             17.8. Das MAC Modul bsdextended

                             17.9. Das MAC Modul ifoff

                             17.10. Das MAC Modul portacl

                             17.11. Das MAC Modul partition

                             17.12. Das MAC Modul Multi-Level Security

                             17.13. Das MAC Modul Biba

                             17.14. Das MAC Modul LOMAC

                             17.15. Beispiel 1: Nagios in einer MAC Jail

                             17.16. Beispiel 2: User Lock Down

                             17.17. Fehler im MAC beheben

                18. Security Event Auditing

                             18.1. Einleitung

                             18.2. Schlu:sselbegriffe

                             18.3. Installation der Audit-Unterstu:tzung

                             18.4. Die Konfiguration des Audit

                             18.5. Administration des Audit-Subsystems

                19. Speichermedien

                             19.1. U:bersicht

                             19.2. Gera:tenamen

                             19.3. Hinzufu:gen von Laufwerken

                             19.4. RAID

                             19.5. USB Speichermedien

                             19.6. CDs benutzen

                             19.7. DVDs benutzen

                             19.8. Disketten benutzen

                             19.9. Bandmedien benutzen

                             19.10. Was ist mit Backups auf Disketten?

                             19.11. Backup-Strategien

                             19.12. Datensicherung

                             19.13. Netzwerk-, speicher- und dateibasierte
                             Dateisysteme

                             19.14. Schnappschu:sse von Dateisystemen

                             19.15. Dateisystem-Quotas

                             19.16. Partitionen verschlu:sseln

                             19.17. Den Auslagerungsspeicher verschlu:sseln

                             19.18. Highly Available Storage (HAST)

                20. GEOM: Modulares Framework zur Plattentransformation

                             20.1. U:bersicht

                             20.2. Einfu:hrung in GEOM

                             20.3. RAID0 - Striping

                             20.4. RAID1 - Spiegelung

                             20.5. GEOM Gate Netzwerkgera:te

                             20.6. Das Labeln von Laufwerken

                             20.7. UFS Journaling in GEOM

                21. Dateisystemunterstu:tzung

                             21.1. U:bersicht

                             21.2. Das Z-Dateisystem (ZFS)

                22. Der Vinum Volume Manager

                             22.1. U:bersicht

                             22.2. Ihre Platten sind zu klein.

                             22.3. Mo:gliche Engpa:sse

                             22.4. Datenintegrita:t

                             22.5. Vinum-Objekte

                             22.6. Einige Beispiele

                             22.7. Objektbenennung

                             22.8. Vinum konfigurieren

                             22.9. Vinum fu:r das Root-Dateisystem benutzen

                23. Virtualisierung

                             23.1. U:bersicht

                             23.2. FreeBSD als Gast-Betriebssystem

                             23.3. FreeBSD als Host-Betriebssystem

                24. Lokalisierung - I18N/L10N einrichten und benutzen

                             24.1. U:bersicht

                             24.2. Grundlagen

                             24.3. Lokale Anpassungen benutzen

                             24.4. I18N-Programme u:bersetzen

                             24.5. Lokalisierung fu:r einzelne Sprachen

                25. FreeBSD aktualisieren

                             25.1. U:bersicht

                             25.2. FreeBSD-Update

                             25.3. Portsnap: Ein Werkzeug zur Aktualisierung
                             der Ports-Sammlung

                             25.4. Aktualisieren der Dokumentationssammlung

                             25.5. Einem Entwicklungszweig folgen

                             25.6. Synchronisation der Quellen

                             25.7. Das komplette Basissystem neu bauen

                             25.8. Veraltete Dateien, Verzeichnisse und
                             Bibliotheken lo:schen

                             25.9. Installation mehrerer Maschinen

                26. DTrace

                             26.1. U:berblick

                             26.2. Unterschiede in der Implementierung

                             26.3. Die DTrace Unterstu:tzung aktivieren

                             26.4. DTrace verwenden

                             26.5. Die Sprache D

   IV. Netzwerke

                27. Serielle Datenu:bertragung

                             27.1. U:bersicht

                             27.2. Einfu:hrung

                             27.3. Terminals

                             27.4. Einwa:hlverbindungen

                             27.5. Verbindungen nach Aussen

                             27.6. Einrichten der seriellen Konsole

                28. PPP und SLIP

                             28.1. U:bersicht

                             28.2. User-PPP

                             28.3. Kernel-PPP

                             28.4. Probleme bei PPP-Verbindungen

                             28.5. PPP over Ethernet (PPPoE)

                             28.6. PPP over ATM (PPPoA)

                             28.7. SLIP

                29. Elektronische Post (E-Mail)

                             29.1. Terminologie

                             29.2. U:bersicht

                             29.3. Elektronische Post benutzen

                             29.4. sendmail-Konfiguration

                             29.5. Wechseln des Mailu:bertragungs-Agenten

                             29.6. Fehlerbehebung

                             29.7. Weiterfu:hrende Themen

                             29.8. SMTP u:ber UUCP

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

                             29.10. E-Mail u:ber Einwahl-Verbindungen

                             29.11. SMTP-Authentifizierung

                             29.12. E-Mail-Programme

                             29.13. E-Mails mit fetchmail abholen

                             29.14. E-Mails mit procmail filtern

                30. Netzwerkserver

                             30.1. U:bersicht

                             30.2. Der inetd "Super-Server"

                             30.3. NFS - Network File System

                             30.4. NIS/YP - Network Information Service

                             30.5. Automatische Netzwerkkonfiguration mit
                             DHCP

                             30.6. DNS - Domain Name Service

                             30.7. Der Apache HTTP-Server

                             30.8. FTP - File Transfer Protocol

                             30.9. Mit Samba einen Datei- und Druckserver
                             fu:r Microsoft(R) Windows(R)-Clients einrichten

                             30.10. Die Uhrzeit mit NTP synchronisieren

                             30.11. Protokollierung von anderen Hosts mittels
                             syslogd

                31. Firewalls

                             31.1. Einfu:hrung

                             31.2. Firewallkonzepte

                             31.3. Firewallpakete

                             31.4. Paket Filter (PF) von OpenBSD und ALTQ

                             31.5. Die IPFILTER-Firewall (IPF)

                             31.6. IPFW

                32. Weiterfu:hrende Netzwerkthemen

                             32.1. U:bersicht

                             32.2. Gateways und Routen

                             32.3. Drahtlose Netzwerke

                             32.4. Bluetooth

                             32.5. LAN-Kopplung mit einer Bridge

                             32.6. Link-Aggregation und Failover

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

                             32.8. ISDN - diensteintegrierendes digitales
                             Netzwerk

                             32.9. NAT - Network Address Translation

                             32.10. PLIP - Parallel Line IP

                             32.11. IPv6 - Internet Protocol Version 6

                             32.12. ATM - Asynchronous Transfer Mode

                             32.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

   Stichwortverzeichnis

   Abbildungsverzeichnis

   2.1. FreeBSD Boot Loader Menu

   2.2. Ausgabe der Gera:teerkennung

   2.3. Ihr Land auswa:hlen

   2.4. Die Tastaturbelegung auswa:hlen

   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

   3.1. Das FreeBSD-Bootloader Menu:

   3.2. Typical Device Probe Results

   3.3. Auswahl der Verwendung des Installationsmediums

   3.4. Tastaturbelegung festlegen

   3.5. Tastaturauswahlbildschirm

   3.6. Festlegen des Rechnernamens

   3.7. Komponenten fu:r die Installation auswa:hlen

   3.8. Installation u:ber das Netzwerk

   3.9. Einen Spiegelserver wa:hlen

   3.10. Gefu:hrte oder manuelle Partitionierung auswa:hlen

   3.11. Aus mehreren Platten eine auswa:hlen

   3.12. Auswahl der gesamten Platte oder einer Partition

   3.13. U:berpru:fen der erstellen Partitionen

   3.14. Partitionen manuell erstellen

   3.15. Partitionen manuell anlegen

   3.16. Partitionen manuell erzeugen

   3.17. Letzte Besta:tigung

   3.18. Herunterladen der Distributionsdateien

   3.19. U:berpru:fen der Distributionsdateien

   3.20. Entpacken der Distributionsdateien

   3.21. Das root-Passwort setzen

   3.22. Eine zu konfigurierende Netzwerkschnittstelle auswa:hlen

   3.23. Nach drahtlosen Access Points scannen

   3.24. Ein drahtloses Netzwerk auswa:hlen

   3.25. Verbindungsaufbau mit WPA2

   3.26. Auswahl von IPv4

   3.27. Auswa:hlen der IPv4-Konfiguration u:ber DHCP

   3.28. Statische IPv4-Konfiguration

   3.29. Auswahl von IPv6

   3.30. Auswahl der IPv6 SLAAC-Konfiguration

   3.31. Statische IPv6-Konfiguration

   3.32. DNS-Konfiguration

   3.33. Lokale oder UTC-Zeit

   3.34. Das Gebiet auswa:hlen

   3.35. Das Land auswa:hlen

   3.36. Wa:hlen einer Zeitzone

   3.37. Besta:tigen der Zeitzone

   3.38. Auswahl zusa:tzlicher Dienste

   3.39. Aktivierung der Absturzaufzeichnung

   3.40. Benutzerkonten hinzufu:gen

   3.41. Benutzerinformationen eingeben

   3.42. Verlassen der Benutzer- und Gruppenverwaltung

   3.43. Letzte Schritte der Konfiguration

   3.44. Manuelle Konfiguration

   3.45. Die Installation vervollsta:ndigen

   22.1. Konkatenierte Anordnung

   22.2. Striped-Anordnung

   22.3. RAID-5 Aufbau

   22.4. Ein einfaches Vinum-Volume

   22.5. Ein gespiegeltes Vinum Volume

   22.6. Ein Striped Vinum Volume

   22.7. Ein gespiegeltes, Striped Vinum Volume

   Tabellenverzeichnis

   2.1. Gera:tekonfiguration

   2.2. Partitionen auf dem ersten Laufwerk

   2.3. Partitionen auf weiteren Laufwerken

   2.4. FreeBSD 7.X und 8.X ISO-Abbilder

   3.1. Partitionierungsschemas

   4.1. Laufwerk-Codes

   19.1. Namenskonventionen von physikalischen Laufwerken

   22.1. Vinum-Plexus - Aufbau

   27.1. Nullmodemkabel vom Typ DB-25-zu-DB-25

   27.2. Nullmodemkabel vom Typ DB-9-zu-DB-9

   27.3. Nullmodemkabel vom Typ DB-9-zu-DB-25

   27.4. Signalnamen

   32.1. Die Netzwerk-Verdrahtung eines parallelen Kabels

   32.2. Reservierte IPv6-Adressen

   Liste der Beispiele

   2.1. Eine bestehende Partition verwenden

   2.2. Eine bestehende Partition verkleinern

   3.1. Eine existierende Partition vera:ndern

   3.2. Verkleinern einer bestehenden Partition

   3.3. Ein traditionelles, partitioniertes Dateisystem erstellen

   4.1. Namen von Platten, Slices und Partitionen

   4.2. Aufteilung einer Festplatte

   5.1. Download vor Installation eines Pakets

   12.1. Erstellen einer Swap-Datei

   13.1. boot0-Screenshot

   13.2. boot2-Screenshot

   13.3. Auf insecure gesetzte Konsole in /etc/ttys

   14.1. Einen Benutzer unter FreeBSD anlegen

   14.2. Interaktives Lo:schen von Account mit rmuser

   14.3. Interaktives chpass des Superusers

   14.4. Interaktives chpass eines normalen Benutzers

   14.5. Wechseln des Passworts

   14.6. Als Superuser das Passwort eines anderen Accounts vera:ndern

   14.7. Setzen der Mitgliederliste einer Gruppe mit pw(8)

   14.8. Ein Gruppenmitglied mit pw hinzufu:gen

   14.9. Hinzufu:gen eines neuen Gruppenmitglieds mittels pw(8)

   14.10. Mit id die Gruppenzugeho:rigkeit bestimmen

   15.1. Mit SSH einen sicheren Tunnel fu:r SMTP erstellen

   19.1. dump mit ssh benutzen

   19.2. dump u:ber ssh mit gesetzter RSH benutzen

   19.3. Einha:ngen eines existierenden Abbildes unter FreeBSD

   19.4. Erstellen eines dateibasierten Laufwerks mit mdconfig

   19.5. Mit mdmfs ein dateibasiertes Dateisystem erstellen

   19.6. Erstellen eines speicherbasierten Laufwerks mit mdconfig

   19.7. Erstellen eines speicherbasierten Laufwerks mit mdmfs

   20.1. Die Partitionen einer Bootplatte labeln

   27.1. Eintra:ge in /etc/ttys hinzufu:gen

   29.1. Konfigurieren der sendmail Zugriffsdatenbank

   29.2. E-Mail Aliases

   29.3. Beispiel einer virtuellen Doma:nen Zuordnung

   30.1. Die inetd-Konfiguration neu einlesen

   30.2. Ein exportiertes Dateisystem mit amd in den Verzeichnisbaum
   einha:ngen

   30.3. Django mit Apache2, mod_python3, und PostgreSQL installieren

   30.4. Apache-Konfiguration fu:r Django/mod_python

   32.1. LACP Aggregation mit einem Switch von Cisco(R)

   32.2. Ausfallsicherer Modus

   32.3. Failover Modus zwischen drahtgebundenen und drahtlosen
   Schnittstellen

   32.4. Kleines Netzwerk (Privatnetz)

   32.5. 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 8-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, Bibliografie.

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 26, DTrace, DTrace, ein neues Kapitel, informiert Sie u:ber
       die ma:chtigen Funktionen zur Leistungsmessung, die dieses Werkzeug
       bietet.

     * Kapitel 21, Dateisystemunterstu:tzung, 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 18, Security Event Auditing, Security Event Auditing, wurde
       neu angelegt, um u:ber die neuen Auditing-Fa:higkeiten von FreeBSD zu
       informieren.

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

     * Kapitel 3, FreeBSD 9.x (und neuer) installieren, FreeBSD 9.x (und
       neuer) installieren, wurde hinzugefu:gt, um die Installation von
       FreeBSD mit dem neuen Installationswerkzeug, bsdinstall, zu
       dokumentieren.

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 12, Konfiguration und Tuning, Konfiguration und Tuning,
       entha:lt neue Abschnitte u:ber ACPI, Energie- und Ressourcenverwaltung
       und das Werkzeug cron.

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

     * Kapitel 17, Verbindliche Zugriffskontrolle, 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 22, Der Vinum Volume Manager, 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 28, PPP und SLIP, PPP und SLIP, wurde ein
       Abschnitt u:ber Fehlersuche hinzugefu:gt.

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

     * Kapitel 30, Netzwerkserver, 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 32, Weiterfu:hrende Netzwerkthemen, Weiterfu:hrende
       Netzwerkthemen, befinden sich nun, wegen des thematischen
       Zusammenhangs, in diesem Kapitel.

     * Das Kapitel 32, Weiterfu:hrende Netzwerkthemen, 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 8.X (und a:lter) installieren ("FreeBSD
       installieren") wurde komplett neu geschrieben und mit Abbildungen
       versehen, die Einsteigern das Versta:ndnis des Texts erleichtern.

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

     * Das Kapitel 5, Installieren von Anwendungen: Pakete und Ports
       ("Installieren von Anwendungen") behandelt nun auch Pakete.

     * Kapitel 6, Das X-Window-System ("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 13, FreeBSDs Bootvorgang ("FreeBSDs Bootvorgang") wurde
       erweitert.

     * Kapitel 19, Speichermedien ("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 27, Serielle Datenu:bertragung ("Serielle
       Datenu:bertragung") wurde umorganisiert und auf FreeBSD 4.X/5.X
       angepasst.

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

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

     * Kapitel 29, Elektronische Post (E-Mail) ("Electronic Mail") wurde um
       einen Abschnitt u:ber die Konfiguration von sendmail erweitert.

     * Kapitel 11, Linux-Bina:rkompatibilita:t ("Linux(R) Compatibility")
       behandelt zusa:tzlich die Installation von Oracle(R) und
       Mathematica(R).

     * Neu hinzugekommen sind:

          * Konfiguration und Tuning (Kapitel 12, Konfiguration und Tuning)
            und

          * Multimedia (Kapitel 8, Multimedia).

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, Einfu:hrung

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

   Kapitel 2, FreeBSD 8.X (und a:lter) installieren, FreeBSD 8.x (und a:lter)
   installieren

           Beschreibt den Ablauf der Installation von FreeBSD 8.x und fru:her
           mittels sysinstall. Spezielle Installationsmethoden, wie die
           Installation mit einer seriellen Konsole, werden ebenfalls
           behandelt.

   Kapitel 3, FreeBSD 9.x (und neuer) installieren, FreeBSD 9.x (und neuer)
   installieren

           Beschreibt den Ablauf der Installation von FreeBSD 9.x und neuere
           mittels bsdinstall.

   Kapitel 4, Grundlagen des UNIX Betriebssystems, Grundlagen des UNIX(R)
   Betriebssystems

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

   Kapitel 5, Installieren von Anwendungen: Pakete und Ports, Installieren
   von Anwendungen

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

   Kapitel 6, Das X-Window-System, 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 7, Desktop-Anwendungen, Desktop-Anwendungen

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

   Kapitel 8, Multimedia, Multimedia

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

   Kapitel 9, Konfiguration des FreeBSD-Kernels, 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 10, Drucken, Drucken

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

   Kapitel 11, Linux-Bina:rkompatibilita:t, Linux(R)-Bina:rkompatibilita:t

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

   Kapitel 12, Konfiguration und Tuning, 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 13, FreeBSDs Bootvorgang, FreeBSDs Bootvorgang

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

   Kapitel 14, Benutzer und grundlegende Account-Verwaltung, 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 15, Sicherheit, Sicherheit

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

   Kapitel 16, Jails, Jails

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

   Kapitel 17, Verbindliche Zugriffskontrolle, Mandatory Access Control

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

   Kapitel 18, Security Event Auditing, 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 19, Speichermedien, Speichermedien

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

   Kapitel 20, GEOM: Modulares Framework zur Plattentransformation, GEOM

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

   Kapitel 21, Dateisystemunterstu:tzung, File Systems Support

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

   Kapitel 22, Der Vinum Volume Manager, Vinum

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

   Kapitel 23, Virtualisierung, Virtualisierung

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

   Kapitel 24, Lokalisierung - I18N/L10N einrichten und benutzen,
   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 25, FreeBSD aktualisieren, 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 26, DTrace, DTrace

           Beschreibt, wie das von Sun(TM) 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 27, Serielle Datenu:bertragung, 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 28, PPP und SLIP, PPP und SLIP

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

   Kapitel 29, Elektronische Post (E-Mail), 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 30, Netzwerkserver, 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 31, Firewalls, Firewalls

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

   Kapitel 32, Weiterfu:hrende Netzwerkthemen, Weiterfu:hrende Netzwerkthemen

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

   Anhang A, Bezugsquellen fu:r FreeBSD, 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, 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, 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, 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(R) Windows(R) 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.

                             Teil 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(R) 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(R) 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

                1.1. U:bersicht

                1.2. Willkommen bei FreeBSD!

                1.3. Das FreeBSD Project

   2. FreeBSD 8.X (und a:lter) 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. FreeBSD 9.x (und neuer) installieren

                3.1. U:bersicht

                3.2. Hardware-Anforderungen

                3.3. Vor der Installation

                3.4. Die Installation starten

                3.5. Das bsdinstall-Werkzeug

                3.6. Installation aus dem Netzwerk

                3.7. Plattenplatz bereitstellen

                3.8. Die Installation festschreiben

                3.9. Arbeiten nach der Installation

                3.10. Fehlerbehebung

   4. Grundlagen des UNIX Betriebssystems

                4.1. U:bersicht

                4.2. Virtuelle Konsolen und Terminals

                4.3. Zugriffsrechte

                4.4. Verzeichnis-Strukturen

                4.5. Festplatten, Slices und Partitionen

                4.6. Anha:ngen und Abha:ngen von Dateisystemen

                4.7. Prozesse

                4.8. Da:monen, Signale und Stoppen von Prozessen

                4.9. Shells

                4.10. Text-Editoren

                4.11. Gera:te und Gera:tedateien

                4.12. Bina:rformate

                4.13. Weitere Informationen

   5. Installieren von Anwendungen: Pakete und Ports

                5.1. U:bersicht

                5.2. Installation von Software

                5.3. Suchen einer Anwendung

                5.4. Benutzen des Paketsystems

                5.5. Benutzen der Ports-Sammlung

                5.6. Nach der Installation

                5.7. Kaputte Ports

   6. Das X-Window-System

                6.1. U:bersicht

                6.2. X-Grundlagen

                6.3. X11 installieren

                6.4. X11 konfigurieren

                6.5. Schriftarten in X11 benutzen

                6.6. Der X-Display-Manager

                6.7. Grafische Oberfla:chen

Kapitel 1. Einfu:hrung

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

   1.1. U:bersicht

   1.2. Willkommen bei FreeBSD!

   1.3. Das FreeBSD Project

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 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 Itanium(R), AMD64,
       und UltraSPARC(R)) 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(R) 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(R) 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, Bezugsquellen fu:r FreeBSD.

  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

     * Experts Exchange

   und viele andere.

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(R)
   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 6.4-RELEASE (erschienen im November 2008) ist das letzte Release
   aus RELENG_6-Zweig. RELENG_6 ist der letzte Zweig, der die
   Alpha-Architektur noch unterstu:tzt.

   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.4-RELEASE (dem keine weiteren RELENG_7-Versionen folgen werden)
   erschien im Februar 2011.

   Im August 2009 wurde der RELENG_8-Zweig angelegt. 8.0-RELEASE, das erste
   Release des 8.X-Zweiges, erschien im November 2009. Das aktuelle
   9.2-RELEASE (dem weitere RELENG_8-Versionen folgen werden) wurde im Juli
   2010 vero:ffentlicht.

   Zurzeit werden Projekte mit langem Entwicklungshorizont im Zweig
   9.X-CURRENT verfolgt, Schnappschu:sse von 9.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 2010 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, Ressourcen im
           Internet.

           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(R) Pro, Celeron(R), Pentium(R) II, Pentium(R) III, Pentium(R) 4
   (oder ein dazu kompatibler Prozessor), Xeon(TM), und Sun UltraSPARC(R)
   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 haben 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 24,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 500 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 5, Installieren von Anwendungen:
   Pakete und Ports 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 auf der FreeBSD-Homepage anzusehen.

Kapitel 2. FreeBSD 8.X (und a:lter) 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.
   Inhaltsverzeichnis

   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

2.1. U:bersicht

   FreeBSD wird mit dem textorientierten und einfach zu benutzendem
   Installationsprogramm installiert. Beginnend mit FreeBSD 9.0-RELEASE
   handelt es sich dabei um das Programm bsdinstall. A:ltere
   FreeBSD-Versionen verwenden hingegen nach wie vor sysinstall fu:r die
   Installation. Dieses Kapitel beschreibt die Installation von FreeBSD u:ber
   sysinstall. Der Einsatz von bsdinstall wird hingegen in Kapitel 3,
   FreeBSD 9.x (und neuer) installieren besprochen.

   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(TM)-Architektur
   (PC-kompatible Rechner). Abweichende Anweisungen fu:r andere Plattformen
   werden, falls 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 den
   folgenden Abschnitten dieses Kapitels. 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, "Das Startmedium vorbereiten" 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/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(R) Core(TM) 2 Duo-, Quad-, und
   Extreme-Prozessoren sowie die Intel(R) Xeon(TM)-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.3. Die FreeBSD/sparc64-Architektur

   Um FreeBSD/sparc64 zu installieren, beno:tigen Sie eine unterstu:tzte
   Plattform (lesen Sie dazu auch Abschnitt 2.2.2, "Unterstu:tzte Hardware"
   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(R) 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 IDE-Controller   14    0x1f0                                        
   Netzwerkkarte           -     -         Intel(R) 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 MS-DOS(R) und dem verwandten Windows(R)
   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 MS-DOS(R)
   oder Windows(R)).

   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. Sowohl
   GParted als auch PartitionMagic(R) ko:nnen auch NTFS-Partitionen
   vera:ndern. GParted ist auf vielen Linux-Live-CDs, beispielsweise der
   SystemRescueCD, verfu:gbar.

   Bei der Vera:nderung von Microsoft(R) 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(R) 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(R) installiert ist. Wa:hrend der
   Installation von Windows(R) 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(R)-Partition und installieren Sie
       Windows(R) erneut auf einer 2 GB grossen Partition.

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

  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 einem USB-Stick

     * von einer MS-DOS(R)-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, "Das Startmedium vorbereiten")
   weiter.

   Wenn Sie sich die FreeBSD-Installationsdateien noch nicht besorgt haben,
   lesen Sie bitte zuerst den Abschnitt 2.13, "Eigene Installationsmedien
   herstellen". 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, "Das
   Startmedium vorbereiten" 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. Aktuelle Rechner ko:nnen in der Regel auch von einer CD-ROM oder
   von einem USB-Stick starten.

  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 einen bootbaren USB-Stick zu erstellen, gehen Sie wie folgt vor:

    1. Das Speicherabbild fu:r den USB-Stick herunterladen

       Das Speicherabbild finden Sie auf dem FreeBSD-FTP-Server
       ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/arch/ISO-IMAGES/version/FreeBSD-version-RELEASE-arch-memstick.img
       (oder einem Spiegelserver) im Verzeichnis ISO-IMAGES/. Ersetzen Sie
       arch und version durch die von Ihnen verwendete Architektur und die
       FreeBSD-Version, die Sie einsetzen wollen. Fu:r
       FreeBSD/i386 9.2-RELEASE finden Sie das Speicherabbild fu:r den
       USB-Stick beispielsweise unter folgenden Link:
       ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/ISO-IMAGES/9.2/FreeBSD-9.2-RELEASE-i386-memstick.img.

       Das beno:tigte Speicherabbild hat den Dateityp .img. Das Verzeichnis
       ISO-IMAGES/ entha:lt verschiedene Speicherabbilder. Sie mu:ssen also
       (basierend auf der zu installierenden FreeBSD-Version und/oder Ihrer
       Hardware) das fu:r Sie passende Speicherabbild herunterladen.

  Wichtig:

       Sichern Sie Ihre Daten, bevor Sie fortfahren, da im na:chsten Schritt
       alle auf dem USB-Stick befindlichen Daten gelo:scht werden.

    2. Den USB-Stick vorbereiten

       Prozedur 2.1. Den USB-Stick unter FreeBSD vorbereiten

  Warnung:

       Das Beispiel im na:chsten Schritt verwendet /dev/da0 als die
       Gera:tedatei, u:ber die Sie den USB-Stick ansprechen. Achten Sie
       besonders darauf, dass Sie die richtige Gera:tedatei verwenden, da Sie
       ansonsten unbeabsichtigt Daten lo:schen ko:nnten.

          * Das Image mit dd(1) auf den Stick schreiben

            Bei der .img-Datei handelt es sich nicht um eine normale Datei,
            die Sie einfach auf den Stick kopieren ko:nnen. Vielmehr handelt
            es sich dabei um ein Image des kompletten Dateisystems, das Sie
            mit dd(1) direkt auf den USB-Stick schreiben mu:ssen:

 # dd if=FreeBSD-9.2-RELEASE-i386-memstick.img of=/dev/da0 bs=64k

            Wird dabei die Fehlermeldung Operation not permitted angezeigt,
            stellen Sie bitte sicher, dass das Zielgera:t nicht verwendet,
            manuell eingeha:ngt oder von einem Systemprogramm automatisch
            eingeha:ngt wurde. Dann versuchen Sie es erneut.

       Prozedur 2.2. Den USB-Stick unter Windows(R) vorbereiten

  Warnung:

       Stellen Sie unbedingt sicher, dass Sie im folgenden Schritt den
       korrekten Laufwerkbuchstaben fu:r Ihren USB-Stick angeben, da Sie
       ansonsten unbeabsichtigt Daten lo:schen ko:nnten.

         1. Image Writer fu:r Windows herunterladen

            Image Writer fu:r Windows ist ein frei verfu:gbares Programm, mit
            dem Sie ein Image auf einen USB-Stick schreiben ko:nnen. Laden
            Sie das Programm von https://launchpad.net/win32-image-writer/
            herunter und entpacken Sie es in einen Ordner auf Ihrer
            Festplatte.

         2. Das Image mit Image Writer auf den Stick schreiben

            Klicken Sie doppelt auf das Symbol Win32DiskImager, um das
            Programm zu starten. Vergewissern Sie sich, dass es sich bei dem
            unter Device angezeigten Laufwerk um Ihren USB-Stick handelt.
            Danach klicken Sie auf das Ordnersymbol und wa:hlen die zuvor
            heruntergeladene Image-Datei aus. Klicken Sie auf Save, um die
            Image-Datei zu laden. Nachdem Sie alle Eingaben nochmals gepru:ft
            haben, mu:ssen Sie noch sicherstellen, dass kein anderes Programm
            auf den USB-Stick zugreift. Danach klicken Sie auf den Button
            Write, um das Image auf den USB-Stick zu schreiben.

   Um Startdisketten zu erzeugen, benutzen Sie die nachstehende Anleitung:

    1. Abbilder der Startdisketten besorgen

  Wichtig:

       Beachten Sie, dass ab FreeBSD 8.X Startdisketten nicht mehr
       unterstu:tzt werden. Lesen Sie bitte weiter oben in diesem Kapitel,
       wie Sie FreeBSD von einer CD-ROM, einer DVD oder einem USB-Stick
       installieren ko:nnen.

       Die Abbilder der 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.4-RELEASE unter
       ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/8.4-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(R) 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(R) oder Windows(R) 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(R) 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(R)
       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 von einer CD-ROM starten, stellen Sie sicher, das das
       CD-ROM-Laufwerk ausgewa:hlt ist. Starten Sie hingegen von einem
       USB-Stick oder von einer Startdiskette, wa:hlen Sie ebenfalls den
       entsprechenden Eintrag aus. 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, "Das Startmedium vorbereiten"
       beschrieben) ein bootbaren USB-Stick vorbereitet haben, sto:pseln Sie
       diesen bitte ein, bevor Sie Ihren Rechner einschalten.

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

  Anmerkung:

       Bis einschliesslich FreeBSD 7.3 kann FreeBSD auch von einer
       Startdiskette aus installiert werden. Eine Anleitung hierzu finden Sie
       in Abschnitt 2.3.7, "Das Startmedium vorbereiten"). Legen Sie die
       erste Diskette (diese entha:lt das Abbild boot.flp) in das
       Diskettenlaufwerk ein und starten Sie den Rechner.

       Wenn Ihr Rechner wieder 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...
 645MB medium detected
 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.02
 Consoles: internal video/keyboard
 BIOS CD is cd0
 BIOS drive C: is disk0
 BIOS drive D: is disk1
 BIOS 636kB/261056kB 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
       FreeBSD Boot Loader Menu

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

    2.4.1.2. 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, "Ausgabe der
   Gera:teerkennung" 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.

   Sie gelangen 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, "Ihr Land auswa:hlen"). Durch die Besta:tigung mit der
   Enter-Taste wird automatisch das von Ihnen gewa:hlte Land sowie die dazu
   passende Tastaturbelegung gewa:hlt.

   Abbildung 2.3. Ihr Land auswa:hlen
   Ihr Land auswa:hlen

   Haben Sie als Land United States gewa:hlt, wird automatisch die
   amerikanische Standardtastatur verwendet. Haben Sie hingegen ein anderes
   Land angegeben, erscheint das folgende Menu:, in dem Sie Ihre
   Tastaturbelegung auswa:hlen ko:nnen (besta:tigen Sie Ihre Auswahl mit der
   Enter-Taste).

   Abbildung 2.4. Die Tastaturbelegung auswa:hlen
   Die Tastaturbelegung auswa:hlen

   Nachdem Sie das Land ausgewa:hlt haben, erscheint das Hauptmenu: von
   sysinstall.

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, "Die Gebrauchsanweisung von sysinstall auswa:hlen" 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
   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
   Die Dokumentation abrufen

   Es wird das Dokumentationsmenu: angezeigt.

   Abbildung 2.7. Das Dokumentationsmenu: von sysinstall
   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
   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
   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
   Das Hauptmenu: von sysinstall
   Abbildung 2.11. Optionen von sysinstall
   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(R)- 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
   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(R) oder Microsoft(R) Windows(R) 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 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.

   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, "Ein Laufwerk fu:r Fdisk aussuchen" 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
   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, "Typischer Fdisk-Bildschirm vor dem
   Editieren".

   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(R)/Windows(R) als Laufwerk C: auftaucht und eine erweiterte
   Slice, die unter MS-DOS(R)/Windows(R) weitere Laufwerke enthalten kann.

   Im dritten Abschnitt sind die Kommandos von Fdisk zusammengefasst.

   Abbildung 2.14. Typischer Fdisk-Bildschirm vor dem Editieren
   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, "Eine Partition u:ber die gesamte Platte"
   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(R)), 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
   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:
   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 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. 1 GB    
                                      ist eine vernu:nftige Gro:sse fu:r      
                                      dieses Dateisystem. Sie werden hier     
   a         /           1 GB         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.                
                                                                              
   b         N/A         2-3 x RAM    Besitzt das System mehr als ein         
                                      Laufwerk, ko:nnen Sie auf 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       
   e         /var        512 MB bis   Normalbetrieb oft zugegriffen wird.     
                         4096 MB      Liegen diese 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 des Alle anderen Dateien werden             
   f         /usr        Laufwerks    normalerweise im Verzeichnis /usr oder  
                         (mindestens  einem Unterverzeichnis von /usr         
                         8 GB)        abgelegt.                               

  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 wenn die a-Partition    
   b         -           -            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    
                         Der Rest des brauchen die Konvention nicht zu        
   e         /diskn      Laufwerks    beachten, 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 (1GB 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, "Sysinstall Disklabel-Editor" 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
   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, "Sysinstall
   Disklabel-Editor mit automatischen Vorgaben" 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
   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,
   "Die Gro:sse einer Partition festlegen", 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 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, "Die Gro:sse einer Partition a:ndern"
   gezeigt. Dru:cken Sie anschliessend [ OK ].

   Abbildung 2.21. Die Gro:sse einer Partition a:ndern
   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, "Den Partitionstyp festlegen"). 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
   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, "Den
   Mountpoint festlegen" dargestellt. Das Root-Dateisystem wird in /
   eingehangen, geben Sie daher / ein und dru:cken Sie die Taste Enter.

   Abbildung 2.23. Den Mountpoint festlegen
   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,
   "Sysinstall Disklabel-Editor" 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
   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, mu:ssen
   Sie die Konfiguration des X-Servers und die Auswahl der
   Benutzeroberfla:che nach erfolgreicher Installation durchfu:hren. Die
   Installation und Konfiguration des X-Servers wird in Kapitel 6, Das
   X-Window-System besprochen.

   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 9,
   Konfiguration des FreeBSD-Kernels.

   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, "Die
   Distribution auswa:hlen") 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
   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 5, Installieren von
   Anwendungen: Pakete und Ports 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 9.2
   nimmt die Ports-Sammlung ungefa:hr 500 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 24,000 ported software packages,
  at a cost of around 500 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
   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
   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 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
   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 30.5, "Automatische Netzwerkkonfiguration mit DHCP" 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
   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 the ed0 interface up 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 30.2.1,
   "U:berblick" 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
   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 15.10, "OpenSSH" 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 15,
   Sicherheit) 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,
   "IP-Dienste einrichten" 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
   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
   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 30.3, "NFS - Network File System" 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
   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
   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
   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
   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
   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
   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
   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
   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

  Anmerkung:

   Die folgenden Anweisungen sind nur fu:r FreeBSD 7.X gu:ltig. Installieren
   Sie eine FreeBSD 8.X-Version, wird der folgende Bildschirm nicht
   angezeigt.

                       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
   Das Mausprotokoll festlegen

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

   Abbildung 2.42. Das Mausprotokoll festlegen
   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
   Den Mausport einstellen

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

   Abbildung 2.44. Den Mausport einstellen
   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
   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
   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
   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
   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
   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
   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
   Benutzerkonto auswa:hlen

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

   Abbildung 2.52. Benutzerkonto anlegen
   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
   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
   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.

                             [ Yes ]   No

   Wa:hlen Sie [ Yes ]. Wenn Sie von einer CD-ROM gestartet haben, erhalten
   Sie die folgende Meldung, die Sie daran erinnert, die CD-ROM aus dem
   Laufwerk zu entfernen:

                     Message
 Be sure to remove the media from the drive.

                     [ OK ]
            [ Press enter or space ]

   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, "FreeBSD starten" 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
   Netzwerkdienste - obere Ha:lfte

   Die erste Option, Interfaces, wurde schon in Abschnitt 2.10.1,
   "Netzwerkkonfiguration" 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
   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 30.3, "NFS - Network File System" 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
   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(R)).

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

   Abbildung 2.58. Netzwerkdienste - untere Ha:lfte
   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.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(R) oder
   Windows(R) 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(R)-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(R)-Dateisystems sieht so aus:

 # mount -t msdosfs /dev/ad0s1 /mnt

   Das MS-DOS(R)-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(R)-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 13.1, 
             "U:bersicht" 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 MS-DOS(R)-Partition am Beginn Ihrer        
             Bootplatte an und installieren Sie anschliessend FreeBSD auf     
             diese Platte. Das FreeBSD-Installationsprogramm wird die         
             MS-DOS(R)-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 MS-DOS(R), 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        
             MS-DOS(R) 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.
   Aktualisiert von Marc Fonvieille.

   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 (wie
   in Abschnitt 2.3.7, "Das Startmedium vorbereiten" beschrieben) einen
   bootbaren USB-Stick oder laden Sie das passende CD-ISO-Abbild herunter.

   Um von diesen Medien in eine serielle Konsole booten zu ko:nnen, mu:ssen
   Sie die folgenden Schritte durchfu:hren (bei Verwendung einer Boot-CD kann
   der erste Schritt entfallen):

    1. Den USB-Stick fu:r eine serielle Konsole anpassen

       Wenn Sie ein System mit den frisch erstellten USB-Stick starten,
       la:uft der normale FreeBSD-Installationsprozess an. Diese Installation
       soll aber u:ber die serielle Konsole gesteuert werden. Daher mu:ssen
       Sie den USB-Stick mit dem Befehl mount(8) in den Verzeichnisbaum
       einha:ngen:

 # mount /dev/da0a /mnt

  Anmerkung:

       Passen Sie den Mountpunkt und die Gera:tedatei falls no:tig an Ihre
       Gegebenheiten an.

       Nachdem Sie den USB-Stick eingeha:ngt haben, mu:ssen Sie ihn
       rekonfigurieren, damit er in eine serielle Konsole startet. Dazu
       nehmen Sie in die Datei loader.conf des USB-Sticks eine Zeile auf, die
       die serielle Konsole als Systemkonsole festlegt:

 # echo 'console="comconsole"' >> /mnt/boot/loader.conf

       Damit ist Ihr USB-Stick fu:r die Installation vorbereitet. Sie ko:nnen
       ihn daher wieder aus dem Dateisystem ausha:ngen:

 # umount /mnt

       Entfernen Sie nun den USB-Stick und machen Sie direkt mit Schritt 3
       weiter.

    2. Die Installations-CD fu:r eine serielle Konsole anpassen

       Wenn Sie von dem soeben heruntergeladenen CD-ISO-Abbild (siehe
       Abschnitt 2.13.1, "Eine Installations-CD-ROM erzeugen") starten,
       gelangen Sie in den normalen Installationsmodus von FreeBSD. Da wir
       aber in eine serielle Konsole booten wollen, muss das CD-Image
       extrahiert, modifiziert und neu erzeugt werden, bevor Sie es auf eine
       CD-R brennen.

       Entpacken Sie alle Dateien des CD-ISO-Abbilds (beispielsweise
       FreeBSD-9.2-RELEASE-i386-disc1.iso) auf dem System, auf das Sie das
       Abbild heruntergeladen haben unter Verwendung von tar(1):

 # mkdir /path/to/headless-iso
 # tar -C /path/to/headless-iso -pxvf FreeBSD-9.2-RELEASE-i386-disc1.iso

       Nun mu:ssen Sie das entpackte ISO-Abbild rekonfigurieren, damit es
       ku:nftig in eine serielle Konsole startet. Dazu nehmen Sie in die
       Datei loader.conf des entpackten ISO-Abbild eine Zeile auf, die die
       serielle Konsole als Systemkonsole festlegt:

 # echo 'console="comconsole"' >> /path/to/headless-iso/boot/loader.conf

       Damit ist der Dateibaum des entpackten ISO-Abbilds fu:r die
       Installation vorbereitet und Sie ko:nnen u:ber den Befehl mkisofs(8)
       (das Sie u:ber den Port sysutils/cdrtools installieren ko:nnen) ein
       neues CD-ISO-Abbild erzeugen:

 # mkisofs -v -b boot/cdboot -no-emul-boot -r -J -V "Headless_install" \
             -o Headless-FreeBSD-9.2-RELEASE-i386-disc1.iso /path/to/headless-iso

       Dieses rekonfigurierte ISO-Abbild brennen Sie nun mit dem
       Brennprogramm Ihrer Wahl auf eine CD-R.

    3. 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.

    4. Die Installation starten

       Sie ko:nnen die Installation jetzt starten. Sto:pseln Sie den
       vorbereiteten USB-Stick ein und starten Sie Ihren Computer. Alternativ
       starten Sie Ihren Computer und legen die vorbereitete Installations-CD
       ein.

    5. Die Verbindung mit der zur installierenden Maschine herstellen

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

 # cu -l /dev/cuau0

       Unter FreeBSD 7.X verwenden Sie hingegen den folgenden Befehl:

 # cu -l /dev/cuad0

   Fertig! U:ber die cu-Sitzung ko:nnen Sie nun die zu installierende
   Maschine steuern. Der Kernel wird automatisch geladen und Sie ko:nnen
   anschliessend den Terminaltyp festlegen. 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(R)-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(R)/Windows(R) das CD- oder DVD-Laufwerk nicht. Sie
       ko:nnen die Installationsdateien auf eine MS-DOS(R)-Partition
       desselben Rechners kopieren und FreeBSD von der MS-DOS(R)-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 7.X und 8.X ISO-Abbilder

                       Dateiname                            Inhalt            
                                                 Entha:lt alles, was Sie      
                                                 beno:tigen, um um den        
                                                 FreeBSD-Kernel zu laden und  
                                                 das Installationsprogramm zu 
                                                 starten. Die zu              
       FreeBSD-version-RELEASE-arch-bootonly.iso installierenden Dateien      
                                                 mu:ssen allerdings u:ber FTP 
                                                 oder eine andere geeignete   
                                                 Quelle bezogen werden, da    
                                                 sie in diesem Abbild nicht   
                                                 enthalten sind.              
                                                 Dieses DVD-Abbild entha:lt   
                                                 alle zur Installation von    
                                                 FreeBSD no:tigen Dateien,    
                                                 eine Auswahl an Paketen      
       FreeBSD-version-RELEASE-arch-dvd1.iso.gz  Dritter sowie die            
                                                 Dokumentation. Zusa:tzlich   
                                                 ermo:glicht es Ihnen dieses  
                                                 Abbild, einen                
                                                 "livefs"-basierten           
                                                 Rettungsmodus zu starten.    
                                                 Dieses Abbild kann auf einen 
                                                 USB-Stick geschrieben        
                                                 werden. Dieser kann danach   
                                                 als Installationsmedium      
                                                 verwendet werden (wenn Ihr   
                                                 System dies unterstu:tzt).   
                                                 Zusa:tzlich ermo:glicht es   
       FreeBSD-version-RELEASE-arch-memstick.img Ihnen dieses Abbild, einen   
                                                 "livefs"-basierten           
                                                 Rettungsmodus zu starten.    
                                                 Die FreeBSD-Dokumentation    
                                                 ist ebenfalls enthalten,     
                                                 aber keine Pakete Dritter.   
                                                 Dieses Abbild ist erst ab    
                                                 FreeBSD 8.0 verfu:gbar.      
                                                 Dieses CD-Abbild entha:lt    
                                                 alle fu:r die Installation   
       FreeBSD-version-RELEASE-arch-disc1.iso    von FreeBSD no:tigen Dateien 
                                                 sowie die Dokumentation. Es  
                                                 sind allerdings keine Pakete 
                                                 Dritter enthalten.           
                                                 So viele Pakete Dritter, wie 
                                                 auf dem Installationsmedium  
       FreeBSD-version-RELEASE-arch-disc2.iso    Platz hatten. Dieses Abbild  
                                                 ist fu:r FreeBSD 8.X nicht   
                                                 mehr verfu:gbar.             
                                                 Ein weiteres Abbild mit so   
                                                 vielen Paketen Dritter, wie  
       FreeBSD-version-RELEASE-arch-disc3.iso    auf dem Installationsmedium  
                                                 Platz hatten. Dieses Abbild  
                                                 ist fu:r FreeBSD 8.X nicht   
                                                 mehr verfu:gbar.             
       version-RELEASE-arch-docs.iso             Die FreeBSD-Dokumentation.   
                                                 Dieses Abbild entha:t einen  
                                                 "livefs"-basierten           
       FreeBSD-version-RELEASE-arch-livefs.iso   Rettungsmodus. Eine          
                                                 Installation von FreeBSD ist 
                                                 mit diesem Abbild allerdings 
                                                 nicht mo:glich.              

  Anmerkung:

       Die Abbilder fu:r FreeBSD 7.X-Releases vor FreeBSD 7.3 sowie fu:r
       FreeBSD 8.0 wurden noch unterschiedlich benannt. Bei Ihnen fehlt die
       Bezeichnung FreeBSD- am Anfang des Abbildnamens.

       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 5, Installieren von Anwendungen: Pakete und
       Ports) herunterladen.

       Benutzen Sie das dvd1-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 19.6, "CDs benutzen" erla:utert (sehen
       Sie sich insbesondere Abschnitt 19.6.3, "burncd" und Abschnitt 19.6.4,
       "cdrecord" 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(R) erstellen,
   mu:ssen Sie die Disketten mit dem MS-DOS(R)-Kommando FORMAT formatieren.
   Unter Windows(R) 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 MS-DOS(R)-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(R)-Partition installieren

   Um eine Installation von einer MS-DOS(R)-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 MS-DOS(R)-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
   9.2/base/.

   Kopieren Sie jede Distribution, die Sie von einer MS-DOS(R)-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 (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!

   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(R) 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,
   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 9.2 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. FreeBSD 9.x (und neuer) installieren

   Restructured, reorganized, and parts rewritten by Jim Mock.
   The sysinstall walkthrough, screenshots, and general copy by Randy Pratt.
   Updated for bsdinstall by Gavin Atkinson und Warren Block.
   U:bersetzt von Benedict Reuschling.
   Inhaltsverzeichnis

   3.1. U:bersicht

   3.2. Hardware-Anforderungen

   3.3. Vor der Installation

   3.4. Die Installation starten

   3.5. Das bsdinstall-Werkzeug

   3.6. Installation aus dem Netzwerk

   3.7. Plattenplatz bereitstellen

   3.8. Die Installation festschreiben

   3.9. Arbeiten nach der Installation

   3.10. Fehlerbehebung

3.1. U:bersicht

   FreeBSD entha:lt ein text-basiertes, einfach zu verwendendes
   Installationsprogramm. FreeBSD 9.0-RELEASE und neuer verwendet ein
   Installationsprogramm genannt bsdinstall, wa:hrend Versionen vor
   FreeBSD 9.0-RELEASE stattdessen sysinstall zur Installation einsetzten.
   Dieses Kapitel beschreibt die Verwendung von bsdinstall. Der Einsatz von
   sysinstall wird in Kapitel 2, FreeBSD 8.X (und a:lter) installieren
   behandelt.

   Nachdem Sie dieses Kapitel gelesen haben, werden Sie wissen:

     * wie man FreeBSD Installationsmedien erstellt.

     * wie FreeBSD Festplatten unterteilt und darauf verweist.

     * wie man bsdinstall startet.

     * welche Fragen Sie von bsdinstall gestellt bekommen, was sie bedeuten
       und und wie man diese beantwortet.

   Bevor Sie dieses Kapitel lesen, sollten Sie:

     * Die Liste von unterstu:tzter Hardware lesen, die mit Ihrer zu
       installierenden Version von FreeBSD ausgeliefert wird, um
       sicherzustellen, dass Ihre Hardware auch unterstu:tzt wird.

  Anmerkung:

   Generell wurden diese Installationsanweisungen fu:r Rechner der i386(TM)
   ("PC-kompatibel") Architektur verfasst. An Stellen, an denen sich die
   Anweisungen speziell auf eine andere Plattform beziehen, wird darauf
   hingewiesen. Es mag kleinere Unterschiede geben zwischen dem
   Installationsprogramm und dem, was hier beschrieben steht. Sie sollten
   daher dieses Kapitel als eine Art Wegweiser und keine exakte Anleitung
   betrachten.

3.2. Hardware-Anforderungen

  3.2.1. Minimalkonfiguration

   Die Minimalkonfiguration zur Installation von FreeBSD variiert mit der
   Version von FreeBSD und der Hardwarearchitektur.

   Eine Zusammenfassung dieser Informationen wird in den folgenden
   Abschnitten gegeben. Abha:ngig von der Installationsmethode, die Sie
   verwenden, um FreeBSD zu installieren, werden Sie unter Umsta:nden ein
   unterstu:tztes CD-ROM-Laufwerk beno:tigen und in manchen Fa:llen eine
   Netzwerkkarte. Dies wird im Abschnitt Abschnitt 3.3.5, "Die
   Installationsmedien beschaffen" genauer betrachtet.

    3.2.1.1. FreeBSD/i386

   FreeBSD/i386 beno:tigt einen 486er oder einen schnelleren Prozessor und
   mindestens 64 MB RAM. Es sollte mindestens 1.1 GB freier
   Festplattenspeicher fu:r die Installation zur Verfu:gung stehen.

  Anmerkung:

   Auf alten Rechnern hat die Aufru:stung von RAM und dem Festplattenplatz
   normalerweise einen ho:heren geschwindigkeitssteigernden Effekt als einen
   schnelleren Prozessor einzubauen.

    3.2.1.2. FreeBSD/amd64

   Es gibt zwei Klassen von Prozessoren, die in der Lage sind, auf
   FreeBSD/amd64 zu laufen. Die erste Klasse sind AMD64-Prozessoren, was
   sowohl AMD Athlon(TM)64, AMD Athlon(TM)64-FX, AMD Opteron(TM) oder bessere
   Prozessoren beinhaltet.

   Die zweite Klasse von Prozessoren, die FreeBSD/amd64 benutzen kann,
   besteht aus der Intel(R) EM64T-Architektur. Beispiele dieser Prozessoren
   beinhalten die Intel(R) Core(TM) 2 Duo, Quad, Extreme Prozessorfamilien,
   die Intel(R) Xeon(TM) 3000, 5000, und 7000 Reihe von Prozessoren, sowie
   die Intel(R) Core(TM) i3, i5 and i7 Prozessoren.

   Sollten Sie einen Rechner basierend auf der nVidia nForce3 Pro-150
   besitzen, mu:ssen Sie im BIOS das IO APIC deaktivieren. Falls Sie keine
   solche Option zum deaktivieren besitzen, werden Sie wahrscheinlich ACPI
   deaktivieren mu:ssen. Der Pro-150 Chipsatz entha:lt Fehler, fu:r die wir
   noch keine Abhilfe gefunden haben.

    3.2.1.3. FreeBSD/powerpc Apple(R) Macintosh(R)

   Alle neuen Apple(R) Macintosh(R) Systeme mit eingebautem USB werden
   unterstu:tzt. SMP wird auf Maschinen mit mehreren CPUs unterstu:tzt.

   Ein 32-bit Kernel kann nur die ersten 2 GB des Hauptspeichers verwenden.
   FireWire(R) wird auf den blauen und weissen PowerMac G3s nicht
   unterstu:tzt.

    3.2.1.4. FreeBSD/sparc64

   Systeme, die von FreeBSD/sparc64 unterstu:tzt werden, sind auf der
   FreeBSD/sparc64-Projektseite aufgelistet.

   Eine dedizierte Platte wird fu:r FreeBSD/sparc64 beno:tigt. Es ist nicht
   mo:glich, eine Platte mit einem anderen Betriebssystem zur gleichen Zeit
   zu teilen.

  3.2.2. Unterstu:tzte Hardware

   Hardwarearchitekturen und von FreeBSD unterstu:tzte Gera:te werden in der
   Datei mit Hardware Notes aufgelistet. Normalerweise heisst diese Datei
   HARDWARE.TXT und befindet sich im Wurzelverzeichnis des
   Vero:ffentlichungsmediums. Kopien dieser unterstu:tzten Hardwareliste ist
   ebenfalls auf der Seite Release Information der FreeBSD Webseite abrufbar.

3.3. Vor der Installation

  3.3.1. Sichern Sie Ihre Daten

   Sichern Sie alle wichtigen Daten auf dem Zielcomputer, auf dem FreeBSD
   installiert werden soll. u:berpru:fen Sie diese Sicherungen, bevor Sie
   fortfahren. Die FreeBSD Installation wird Sie vor A:nderungen an den
   Platten danach fragen, jedoch kann dies nicht mehr ru:ckga:ngig gemacht
   werden, sobald der Prozess gestartet wurde.

  3.3.2. Den Installationsort von FreeBSD festlegen

   Falls FreeBSD das einzige installierte Betriebssystem sein wird und die
   gesamte Platte dazu verwenden kann, kann der Rest dieses Abschnitts
   u:bersprungen werden. Sollten Sie allerdings die Platte mit anderen
   Betriebssystemen teilen, ist ein Versta:ndnis des Plattenlayouts hilfreich
   fu:r die Installation.

    3.3.2.1. Festplattenlayout fu:r FreeBSD/i386 und FreeBSD/amd64

   Festplatten ko:nnen in mehrere verschiedene Bereiche aufgeteilt werden.
   Diese Bereiche werden Partitionen genannt.

   Es gibt zwei Arten, eine Festplatte in mehrere Partitionen einzuteilen.
   Traditionell entha:lt ein Master Boot Record (MBR) eine Partitionstabelle,
   welche bis zu vier prima:re Partitionen aufnehmen kann (aus historischen
   Gru:nden werden diese prima:ren Partitionen in FreeBSD slices genannt).
   Eine Begrenzung von nur vier Partitionen ist fu:r grosse Platten sehr
   beschra:nkt, so dass eine dieser prima:ren Partitionen als erweiterte
   Partition eingesetzt wird. Mehrere logische Partitionen ko:nnen dann
   innerhalb der erweiterten Partition angelegt werden. Dies mag etwas
   unhandlich erscheinen und das ist auch der Fall.

   Die GUID-Partitionstabelle (GPT) ist eine neuere und einfachere Methode
   zur Partition einer Festplatte. GPT ist weitaus flexibler als die
   traditionelle MBR-Partitionstabelle. Gela:ufige GPT-Implementierungen
   erlauben bis zu 128 Partitionen pro Platte, was die Notwendigkeit von
   umsta:ndlichen Behelfen wie logische Partitionen eliminiert.

  Warnung:

   Manche a:lteren Betriebssysteme wie Windows(R) XP sind mit dem
   GPT-Partitionsschema nicht kompatibel. Wenn sich FreeBSD die Platte mit
   einem solchen Betriebssystem teilen soll, werden MBR Partitionen
   beno:tigt.

   FreeBSDs Standard-Bootloader beno:tigt entweder eine prima:re oder eine
   GPT-Partition (lesen Sie dazu Kapitel 13, FreeBSDs Bootvorgang fu:r
   weitere Informationen zum FreeBSD Bootvorgang). Wenn alle der prima:ren
   oder GPT-Partitionen bereits in Verwendung sind, muss eine davon fu:r
   FreeBSD zur Verfu:gung gestellt werden.

   Eine Minimalinstallation von FreeBSD braucht ungefa:hr 1 GB Plattenplatz.
   Dies ist jedoch eine sehr minimale Installation, die fast gar keinen
   freien Speicherplatz u:brig la:sst. Eine etwas realistischere
   Minimalangabe sind 3 GB ohne eine graphische Umgebung und 5 GB oder mehr,
   falls eine graphische Benutzeroberfla:che verwendet werden soll.
   Anwendungen von Drittanbietern beno:tigt sogar noch mehr Platz.

   Eine Vielzahl freier und kommerzieller Werkzeuge zur Vera:nderung der
   Partitionsgro:ssen sind verfu:gbar. GParted Live ist eine freie Live-CD,
   die den GParted-Partitionseditor entha:lt. GParted ist auch in einer
   Vielzahl von anderen Linux Live-CD Distributionen enthalten.

  Warnung:

   Anwendungen zur Festplattenpartition kann Daten zersto:ren. Erstellen Sie
   eine Vollsicherung und u:berpru:fen Sie deren Integrita:t bevor Sie die
   Partitionen auf der Platte vera:ndern.

   Die Vera:nderung der Gro:sse von Microsoft(R) Vista-Partitionen kann
   schwierig sein. Eine Vista Installations-CD-ROM kann hilfreich sein, wenn
   eine solche Aktion versucht wird.

   Beispiel 3.1. Eine existierende Partition vera:ndern

   Ein Windows(R)-Computer besitzt eine einzelne 40 GB Platte, die in zwei
   20 GB Partitionen aufgeteilt wurde. Windows(R) nennt diese C: und D:. Die
   C: Partition entha:lt 10 GB und the D: Partition 5 GB an Daten.

   Durch kopieren der Daten von D: nach C: macht die zweite Partition frei,
   so dass FreeBSD sie benutzen kann.

   Beispiel 3.2. Verkleinern einer bestehenden Partition

   Ein Windows(R)-Computer besitzt eine einzelne 40 GB Platte und eine grosse
   Partition, welche die gesamte Platte einnimmt. Windows(R) zeigt diese
   40 GB Partition als einzelne C: Partition. 15 GB Plattenplatz wird
   verwendet. Das Ziel ist, fu:r Windows(R) eine 20 GB Partition einzurichten
   und eine weitere 20 GB-Partition fu:r FreeBSD bereitzustellen.

   Es gibt zwei Wege, dieses Ziel zu erreichen.

    1. Sichern Sie Ihre Windows(R)-Daten. Installieren Sie dann Windows(R)
       neu, indem Sie eine 20 GB-Partition wa:hrend der Installation anlegen.

    2. Verwenden Sie ein Werkzeug zur Vera:nderung einer Partition wie
       GParted, um die Windows(R)-Partition zu verkleinern und eine neue
       Partition im freigewordenen Plattenplatz fu:r FreeBSD anzulegen.

   Festplattenpartitionen, die unterschiedliche Betriebssysteme enthalten,
   ermo:glichen es, jeweils eines dieser Systeme zu verwenden. Eine andere
   Methode, die es erlaubt, mehrere Betriebssysteme gleichzeitig einzusetzen,
   wird in Kapitel 23, Virtualisierung behandelt.

  3.3.3. Netzwerkparameter ermitteln

   Manche FreeBSD Installationsarten beno:tigen eine Netzwerkverbindung, um
   Dateien herunter zu laden. Um zu einem Ethernet-Netzwerk (bzw. Kabel oder
   DSL-Modem mit einem Ethernet-Anschluss) eine Verbindung herzustellen, wird
   das Installationsprogramm bestimmte Information zum Netzwerk abfragen.

   DHCP wird allgemein verwendet, um automatisch Netzwerkeinstellungen
   vorzunehmen. Falls DHCP nicht verfu:gbar ist, mu:ssen diese
   Netzwerkeinstellungen vom lokalen Netzwerkadministrator oder Provider
   erfragt werden:

   Informationen zum Netzwerk
    1. IP-Adresse

    2. Subnetz-Maske

    3. Default-Router IP-Adresse

    4. Doma:nenname des lokalen Netzwerks

    5. DNS-Server IP-Adresse(n)

  3.3.4. Lesen Sie die FreeBSD-Errata

   Obwohl das FreeBSD Projekt sich bemu:ht, jede vero:ffentlichte Version von
   FreeBSD so stabil wie mo:glich zu machen, ko:nnen sich doch gelegentlich
   Fehler in den Vero:ffentlichungsprozess einschleichen. In sehr seltenen
   Fa:llen betreffen diese Fehler den Installationsvorgang. Wenn diese
   Probleme entdeckt und behoben sind, werden dazu Hinweise in der FreeBSD
   Errata auf der FreeBSD Webseite vero:ffentlicht. Pru:fen Sie die Errata
   vor der Installation, um sicherzustellen, dass es keine Probleme gibt,
   welche die Installation betreffen.

   Informationen und Errata fu:r all diese Vero:ffentlichungen ko:nnen u:ber
   den Abschnitt release information der FreeBSD Webseite abgerufen werden.

  3.3.5. Die Installationsmedien beschaffen

   Eine FreeBSD-Installation wird durch das starten des Computers mit einer
   eingelegten FreeBSD-Installations-CD/DVD oder eines USB-Sticks begonnen.
   Das Installationsprogramm ist kein Programm das aus einem anderen
   Betriebssystem heraus gestartet werden kann.

   Zusa:tzlich zum Standardinstallationsmedium, welches Kopien von allen
   FreeBSD-Installationsdateien entha:lt, gibt es auch eine
   bootonly-Variante. Ein solches Installationsmedium besitzt keine Kopien
   der Installationsdateien, jedoch kann es diese wa:hrend der Installation
   aus dem Netzwerk nachladen. Die bootonly Installations-CD ist dadurch viel
   kleiner und reduziert die beno:tigte Bandbreite wa:hrend der Installation
   durch herunterladen der allerno:tigsten Dateien.

   Kopien der FreeBSD-Installationsmedien sind auf der FreeBSD Webseite
   verfu:gbar.

  Tipp:

   Falls Sie bereits eine Kopie von FreeBSD auf CD-ROM, DVD oder USB-Stick
   besitzen, kann dieser Abschnitt u:bersprungen werden.

   CD und DVD-Images von FreeBSD sind startfa:hige ISO-Dateien. Nur eine CD
   oder DVD wird fu:r eine Installation beno:tigt. Brennen Sie ein ISO-Image
   auf eine startfa:hige CD oder DVD mit Hilfe eines CD-Brennprogramms, das
   fu:r Ihr aktuelles Betriebssystem zur Verfu:gung steht.

   Um einen startfa:higen USB-Stick zu erstellen, fu:hren Sie die folgenden
   Schritte durch:

    1. Das Image fu:r den USB-Stick herunterladen

       Das Image fu:r FreeBSD 9.0-RELEASE und ho:here kann von dem
       ISO-IMAGES/-Verzeichnis unter
       ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/arch/arch/ISO-IMAGES/version/FreeBSD-version-RELEASE-arch-memstick.img
       bezogen werden. Ersetzen Sie jeweils arch und version mit der
       Architektur und der Versionsnummer, die Sie installieren mo:chten.
       Beispielsweise sind die USB-Stick Images fu:r FreeBSD/i386 9.0-RELEASE
       verfu:gbar unter
       ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/i386/ISO-IMAGES/9.0/FreeBSD-9.0-RELEASE-i386-memstick.img.

  Tipp:

       Fu:r FreeBSD 8.X und fru:here Versionen wird ein anderer Pfad
       verwendet. Details fu:r das Herunterladen und Installieren von
       FreeBSD 8.X und fru:here werden in Kapitel 2, FreeBSD 8.X (und a:lter)
       installieren behandelt.

       Das USB-Stick Image hat die Endung .img. Das ISO-IMAGES/-Verzeichnis
       entha:lt eine Vielzahl von verschiedenen Installations-Images und die
       jeweils beno:tigte Version von FreeBSD, sowie in manchen Fa:llen die
       Zielhardware.

  Wichtig:

       Bevor Sie fortfahren, machen Sie Sicherungskopien der Daten auf dem
       USB-Stick, da die folgende Prozedur alle Daten lo:scht.

    2. Das Image auf den USB-Stick schreiben

       Prozedur 3.1. Den USB-Stick unter FreeBSD vorbereiten

  Warnung:

       Das Beispiel unten verwendet /dev/da0 als das Zielgera:t, auf welches
       das Image geschrieben werden soll. Seien Sie vorsichtig, dass das
       richtige Gera:t als das Ausgabe benutzt wird oder Sie zersto:ren
       wichtige Daten.

          * Das Image mit dd(1) schreiben

            Die .img-Datei ist keine gewo:hnliche Datei. Es ist ein Image des
            kompletten spa:teren Inhalts des USB-Sticks. Es kann nicht
            einfach wie eine gewo:hnliche Datei kopiert werden, sondern muss
            direkt auf das Zielgera:t mit dd(1) geschrieben werden:

 # dd if=FreeBSD-9.0-RELEASE-i386-memstick.img of=/dev/da0 bs=64k

       Prozedur 3.2. Das Image unter Windows(R) schreiben

  Warnung:

       Versichern Sie sich, dass Sie den korrekten Laufwerksbuchstaben als
       Ausgabe angeben oder Sie u:berschreiben und zersto:ren bestehende
       Daten.

         1. Image Writer fu:r Windows(R) herunterladen

            Image Writer fu:r Windows(R) ist eine frei verfu:gbare Anwendung,
            welche eine Imagedatei korrekt auf einen SB-Stick schreiben kann.
            Laden Sie diese von https://launchpad.net/win32-image-writer/
            herunter und entpacken Sie sie in einen Ordner.

         2. Das Image mit Image Writer auf den USB-Stick schreiben

            Klicken Sie doppelt auf das Win32DiskImager-Icon, um das Programm
            zu starten. Pru:fen Sie dabei, dass der Laufwerksbuchstabe unter
            Device dem Gera:t entspricht, in dem sich der USB-Stick befindet.
            Klicken Sie auf das Ordnersymbol und wa:hlen Sie das Image aus,
            welches auf den USB-Stick geschrieben werden soll. Um den
            Image-Dateinamen zu akzeptieren, klicken Sie auf [ Save ].
            U:berpru:fen Sie erneut, ob alles stimmt und dass keine Ordner
            auf dem USB-Stick in anderen Fenstern geo:ffnet sind. Sobald
            alles bereit ist, klicken Sie auf [ Write ], um die Imagedatei
            auf den USB-Stick zu schreiben.

  Anmerkung:

   Die Installation von Disketten wird nicht mehr unterstu:tzt.

   Sie sind jetzt dazu bereit, mit der Installation von FreeBSD zu beginnen.

3.4. Die Installation starten

  Wichtig:

   Es werden durch die Installation keine A:nderungen an Ihren Festplatten
   durchgefu:hrt, so lange Sie nicht die folgende Meldung sehen:

 Your changes will now be written to disk.  If you
 have chosen to overwrite existing data, it will
 be PERMANENTLY ERASED. Are you sure you want to
 commit your changes?

   Die Installation kann vor dieser Warnung zu jeder Zeit abgebrochen werden,
   ohne dass die Inhalte der Festplatte gea:ndert davon betroffen sind. Falls
   Sie besorgt sind, dass etwas falsch konfiguriert wurde, schalten Sie
   einfach den Computer vor diesem Punkt aus und es wird kein Schaden
   angerichtet.

  3.4.1. Der Systemstart

    3.4.1.1. Systemstart von i386(TM) und amd64

    1. Falls Sie einen "startfa:higen" USB-Stick einsetzen, wie in
       Abschnitt 3.3.5, "Die Installationsmedien beschaffen" beschrieben ist,
       dann stecken Sie diesen vor dem Anschalten des Computers hinein.

       Falls Sie von einer CD-ROM starten, mu:ssen Sie den Computer
       anschalten und die CD-ROM so bald wie mo:glich einlegen.

    2. Konfigurieren Sie Ihren Rechner so, dass er entweder von der CD-ROM
       oder dem USB-Stick startet, abha:ngig davon, welches
       Installationsmedium Sie verwenden. Die Konfiguration im BIOS erlaubt
       es, das Gera:t, von dem gestartet werden soll, auszuwa:hlen. Die
       meisten Systeme erlauben es auch, das Startgera:t wa:hrend des
       Startvorgangs zu wa:hlen, typischerweise durch dru:cken von entweder
       F10, F11, F12 oder Escape.

    3. Falls Ihr Computer wie normal startet und Ihr bestehendes
       Betriebssystem la:dt, befolgen Sie einen der hier aufgefu:hrten
       Schritte:

         1. Die Medien wurden wa:hrend des Startvorgangs nicht fru:h genug
            eingelegt. Lassen Sie diese wo sie sind und versuchen Sie, den
            Rechner davon neu zu starten.

         2. Die A:nderungen am BIOS haben nicht richtig funktioniert. Sie
            sollten diese erneut durchfu:hren, um die richtige Option
            auszuwa:len.

         3. Das von Ihnen verwendete BIOS unterstu:tzt das starten vom
            gewa:hlten Medium nicht. Der Plop Boot Manager kann in diesem
            Fall verwendet werden, um a:ltere Computer von CD or USB-Medien
            zu starten.

    4. FreeBSD wird anfangen zu starten. Falls Sie von CD-ROM starten, werden
       Sie eine Anzeige a:hnlich wie die folgende zu sehen bekommen
       (Versionsinformationen wurden hier entfernt):

 Booting from CD-ROM...
 645MB medium detected
 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.02
 Consoles: internal video/keyboard
 BIOS CD is cd0
 BIOS drive C: is disk0
 BIOS drive D: is disk1
 BIOS 636kB/261056kB 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]
 \

    5. Der FreeBSD-Bootloader wird angezeigt:

       Abbildung 3.1. Das FreeBSD-Bootloader Menu:
       Das FreeBSD-Bootloader Menu:

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

    3.4.1.2. Systemstart beim Macintosh(R) PowerPC(R)

   Auf den meisten Maschinen ko:nnen Sie C auf der Tastatur gedru:ckt halten,
   um von der CD zu starten. Andernfalls, halten Sie Command+Option+O+F, oder
   Windows+Alt+O+F auf nicht-Apple(R) Tastaturen gedru:ckt. Geben Sie an der
   0 >-Eingabeaufforderung folgendes ein:

 boot cd:,\ppc\loader cd:0

   Fu:r Xserves ohne Tastatur, lesen Sie Apple(R)s Support Webseite u:ber das
   starten in die Open Firmware.

    3.4.1.3. Systemstart fu:r SPARC64(R)

   Die meisten SPARC64(R)-Systeme sind so eingerichtet, dass diese
   automatisch von CD starten. Um FreeBSD zu installieren, mu:ssen Sie u:ber
   das Netzwerk oder von einer CD-ROM starten, was es no:tig macht, in die
   PROM OpenFirmware einzubrechen.

   Um dies zu tun, starten Sie das System neu und warten Sie bis die
   Startmeldungen erscheinen. Abha:ngig vom Modell sollte dies in etwa
   folgendermassen 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.

   Falls Ihr System damit fortfa:hrt, von diesem Zeitpunkt an von Platte zu
   starten, mu:ssen Sie L1+A oder Stop+A auf der Tastatur eingeben oder ein
   BREAK-Kommando (indem Sie z.B. ~# in tip(1) oder cu(1) absetzen) u:ber die
   serielle Konsole senden, um zur PROM Befehlszeile zu gelangen. Es sieht
   dann so aus:

 ok     1
 ok {0} 2

   1 Dies ist die Eingabeaufforderung, welche auf Systemen mit nur einer CPU  
     verwendet wird.                                                          
   2 Dies ist die Eingabeaufforderung auf SMP-Systemen. Die Zahl gibt die     
     Nummer der aktiven CPU an.                                               

   An dieser Eingabeaufforderung angekommen, legen Sie nun die CD-ROM in Ihr
   Laufwerk und geben Sie boot cdrom ein.

  3.4.2. Die Gera:teerkennung pru:fen

   Die letzten hundert Zeilen, die am Bildschirm angezeigt wurden, sind
   gespeichert worden und ko:nnen erneut abgerufen werden.

   Um diesen Puffer anzusehen, dru:cken Sie Scroll Lock. Das bewirkt, dass
   Sie die Bildschirmanzeige hoch und runter bewegen (scrollen) ko:nnen. Sie
   ko:nnen dann die Pfeiltasten oder PageUp und PageDown benutzen, um die
   Meldungen zu sehen. Dru:cken Sie Scroll Lock erneut, um das scrollen zu
   stoppen.

   Tun Sie dies jetzt, um den Text, der aus den Bildschirm gelaufen ist, als
   der Kernel die Gera:teerkennung durchgefu:hrt hat, erneut zu pru:fen. Sie
   werden einen Text a:hnlich zu Abbildung 3.2, "Typical Device Probe
   Results" sehen, obwohl sich der genaue Text, abha:ngig von den Gera:ten in
   Ihrem Computer, unterscheiden wird.

   Abbildung 3.2. Typical Device Probe Results

 Copyright (c) 1992-2011 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 is a registered trademark of The FreeBSD Foundation.
 FreeBSD 9.0-RELEASE #0 r225473M: Sun Sep 11 16:07:30 BST 2011
     root@psi:/usr/obj/usr/src/sys/GENERIC amd64
 CPU: Intel(R) Core(TM)2 Duo CPU     T9400  @ 2.53GHz (2527.05-MHz K8-class CPU)
   Origin = "GenuineIntel"  Id = 0x10676  Family = 6  Model = 17  Stepping = 6
   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=0x8e3fd<SSE3,DTES64,MON,DS_CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1>
   AMD Features=0x20100800<SYSCALL,NX,LM>
   AMD Features2=0x1<LAHF>
   TSC: P-state invariant, performance statistics
 real memory  = 3221225472 (3072 MB)
 avail memory = 2926649344 (2791 MB)
 Event timer "LAPIC" quality 400
 ACPI APIC Table: <TOSHIB A0064   >
 FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
 FreeBSD/SMP: 1 package(s) x 2 core(s)
  cpu0 (BSP): APIC ID:  0
  cpu1 (AP): APIC ID:  1
 ioapic0: Changing APIC ID to 1
 ioapic0 <Version 2.0> irqs 0-23 on motherboard
 kbd1 at kbdmux0
 acpi0: <TOSHIB A0064> on motherboard
 acpi0: Power Button (fixed)
 acpi0: reservation of 0, a0000 (3) failed
 acpi0: reservation of 100000, b6690000 (3) failed
 Timecounter "ACPI-safe" frequency 3579545 Hz quality 850
 acpi_timer0: <24-bit timer at 3.579545MHz> port 0xd808-0xd80b on acpi0
 cpu0: <ACPI CPU> on acpi0
 ACPI Warning: Incorrect checksum in table [ASF!] - 0xFE, should be 0x9A (20110527/tbutils-282)
 cpu1: <ACPI CPU> on acpi0
 pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
 pci0: <ACPI PCI bus> on pcib0
 vgapci0: <VGA-compatible display> port 0xcff8-0xcfff mem 0xff400000-0xff7fffff,0xe0000000-0xefffffff irq 16 at device 2.0 on pci0
 agp0: <Intel GM45 SVGA controller> on vgapci0
 agp0: aperture size is 256M, detected 131068k stolen memory
 vgapci1: <VGA-compatible display> mem 0xffc00000-0xffcfffff at device 2.1 on pci0
 pci0: <simple comms> at device 3.0 (no driver attached)
 em0: <Intel(R) PRO/1000 Network Connection 7.2.3> port 0xcf80-0xcf9f mem 0xff9c0000-0xff9dffff,0xff9fe000-0xff9fefff irq 20 at device 25.0 on pci0
 em0: Using an MSI interrupt
 em0: Ethernet address: 00:1c:7e:6a:ca:b0
 uhci0: <Intel 82801I (ICH9) USB controller> port 0xcf60-0xcf7f irq 16 at device 26.0 on pci0
 usbus0: <Intel 82801I (ICH9) USB controller> on uhci0
 uhci1: <Intel 82801I (ICH9) USB controller> port 0xcf40-0xcf5f irq 21 at device 26.1 on pci0
 usbus1: <Intel 82801I (ICH9) USB controller> on uhci1
 uhci2: <Intel 82801I (ICH9) USB controller> port 0xcf20-0xcf3f irq 19 at device 26.2 on pci0
 usbus2: <Intel 82801I (ICH9) USB controller> on uhci2
 ehci0: <Intel 82801I (ICH9) USB 2.0 controller> mem 0xff9ff800-0xff9ffbff irq 19 at device 26.7 on pci0
 usbus3: EHCI version 1.0
 usbus3: <Intel 82801I (ICH9) USB 2.0 controller> on ehci0
 hdac0: <Intel 82801I High Definition Audio Controller> mem 0xff9f8000-0xff9fbfff irq 22 at device 27.0 on pci0
 pcib1: <ACPI PCI-PCI bridge> irq 17 at device 28.0 on pci0
 pci1: <ACPI PCI bus> on pcib1
 iwn0: <Intel(R) WiFi Link 5100> mem 0xff8fe000-0xff8fffff irq 16 at device 0.0 on pci1
 pcib2: <ACPI PCI-PCI bridge> irq 16 at device 28.1 on pci0
 pci2: <ACPI PCI bus> on pcib2
 pcib3: <ACPI PCI-PCI bridge> irq 18 at device 28.2 on pci0
 pci4: <ACPI PCI bus> on pcib3
 pcib4: <ACPI PCI-PCI bridge> at device 30.0 on pci0
 pci5: <ACPI PCI bus> on pcib4
 cbb0: <RF5C476 PCI-CardBus Bridge> at device 11.0 on pci5
 cardbus0: <CardBus bus> on cbb0
 pccard0: <16-bit PCCard bus> on cbb0
 isab0: <PCI-ISA bridge> at device 31.0 on pci0
 isa0: <ISA bus> on isab0
 ahci0: <Intel ICH9M AHCI SATA controller> port 0x8f58-0x8f5f,0x8f54-0x8f57,0x8f48-0x8f4f,0x8f44-0x8f47,0x8f20-0x8f3f mem 0xff9fd800-0xff9fdfff irq 19 at device 31.2 on pci0
 ahci0: AHCI v1.20 with 4 3Gbps ports, Port Multiplier not supported
 ahcich0: <AHCI channel> at channel 0 on ahci0
 ahcich1: <AHCI channel> at channel 1 on ahci0
 ahcich2: <AHCI channel> at channel 4 on ahci0
 acpi_lid0: <Control Method Lid Switch> on acpi0
 battery0: <ACPI Control Method Battery> on acpi0
 acpi_button0: <Power Button> on acpi0
 acpi_acad0: <AC Adapter> on acpi0
 acpi_toshiba0: <Toshiba HCI Extras> on acpi0
 acpi_tz0: <Thermal Zone> on acpi0
 attimer0: <AT timer> port 0x40-0x43 irq 0 on acpi0
 Timecounter "i8254" frequency 1193182 Hz quality 0
 Event timer "i8254" frequency 1193182 Hz quality 100
 atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
 atkbd0: <AT Keyboard> irq 1 on atkbdc0
 kbd0 at atkbd0
 atkbd0: [GIANT-LOCKED]
 psm0: <PS/2 Mouse> irq 12 on atkbdc0
 psm0: [GIANT-LOCKED]
 psm0: model GlidePoint, device ID 0
 atrtc0: <AT realtime clock> port 0x70-0x71 irq 8 on acpi0
 Event timer "RTC" frequency 32768 Hz quality 0
 hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on acpi0
 Timecounter "HPET" frequency 14318180 Hz quality 950
 Event timer "HPET" frequency 14318180 Hz quality 450
 Event timer "HPET1" frequency 14318180 Hz quality 440
 Event timer "HPET2" frequency 14318180 Hz quality 440
 Event timer "HPET3" frequency 14318180 Hz quality 440
 uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
 sc0: <System console> at flags 0x100 on isa0
 sc0: VGA <16 virtual consoles, flags=0x300>
 vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
 ppc0: cannot reserve I/O port range
 est0: <Enhanced SpeedStep Frequency Control> on cpu0
 p4tcc0: <CPU Frequency Thermal Control> on cpu0
 est1: <Enhanced SpeedStep Frequency Control> on cpu1
 p4tcc1: <CPU Frequency Thermal Control> on cpu1
 Timecounters tick every 1.000 msec
 hdac0: HDA Codec #0: Realtek ALC268
 hdac0: HDA Codec #1: Lucent/Agere Systems (Unknown)
 pcm0: <HDA Realtek ALC268 PCM #0 Analog> at cad 0 nid 1 on hdac0
 pcm1: <HDA Realtek ALC268 PCM #1 Analog> at cad 0 nid 1 on hdac0
 usbus0: 12Mbps Full Speed USB v1.0
 usbus1: 12Mbps Full Speed USB v1.0
 usbus2: 12Mbps Full Speed USB v1.0
 usbus3: 480Mbps High Speed USB v2.0
 ugen0.1: <Intel> at usbus0
 uhub0: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0
 ugen1.1: <Intel> at usbus1
 uhub1: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus1
 ugen2.1: <Intel> at usbus2
 uhub2: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus2
 ugen3.1: <Intel> at usbus3
 uhub3: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus3
 uhub0: 2 ports with 2 removable, self powered
 uhub1: 2 ports with 2 removable, self powered
 uhub2: 2 ports with 2 removable, self powered
 uhub3: 6 ports with 6 removable, self powered
 ugen2.2: <vendor 0x0b97> at usbus2
 uhub8: <vendor 0x0b97 product 0x7761, class 9/0, rev 1.10/1.10, addr 2> on usbus2
 ugen1.2: <Microsoft> at usbus1
 ada0 at ahcich0 bus 0 scbus1 target 0 lun 0
 ada0: <Hitachi HTS543225L9SA00 FBEOC43C> ATA-8 SATA 1.x device
 ada0: 150.000MB/s transfers (SATA 1.x, UDMA6, PIO 8192bytes)
 ada0: Command Queueing enabled
 ada0: 238475MB (488397168 512 byte sectors: 16H 63S/T 16383C)
 ada0: Previously was known as ad4
 ums0: <Microsoft Microsoft 3-Button Mouse with IntelliEyeTM, class 0/0, rev 1.10/3.00, addr 2> on usbus1
 SMP: AP CPU #1 Launched!
 cd0 at ahcich1 bus 0 scbus2 target 0 lun 0
 cd0: <TEAC DV-W28S-RT 7.0C> Removable CD-ROM SCSI-0 device
 cd0: 150.000MB/s transfers (SATA 1.x, ums0: 3 buttons and [XYZ] coordinates ID=0
 UDMA2, ATAPI 12bytes, PIO 8192bytes)
 cd0: cd present [1 x 2048 byte records]
 ugen0.2: <Microsoft> at usbus0
 ukbd0: <Microsoft Natural Ergonomic Keyboard 4000, class 0/0, rev 2.00/1.73, addr 2> on usbus0
 kbd2 at ukbd0
 uhid0: <Microsoft Natural Ergonomic Keyboard 4000, class 0/0, rev 2.00/1.73, addr 2> on usbus0
 Trying to mount root from cd9660:/dev/iso9660/FREEBSD_INSTALL [ro]...

   Pru:fen Sie die Ergebnisse der Gera:teerkennung genau, um sicher zu
   stellen, dass FreeBSD alle Gera:te, die Sie erwarten, auch gefunden hat.
   Falls ein Gera:t nicht gefunden wurde, wird es auch nicht aufgelistet.
   Kernelmodule erlauben es, Unterstu:tzung fu:r Gera:te, die nicht im
   GENERIC-Kernel vorhanden sind, hinzuzufu:gen.

   Nach der Gera:teerkennungsprozedur, werden Sie Abbildung 3.3, "Auswahl der
   Verwendung des Installationsmediums" sehen. Das Installationsmedium kann
   auf drei Arten verwendet werden: um FreeBSD zu installieren, als eine
   "live CD" oder um einfach eine FreeBSD-Shell zu o:ffnen. Benutzen Sie die
   Pfeiltasten, um eine Option auszuwa:hlen und druu:cken Sie Enter zum
   besta:tigen.

   Abbildung 3.3. Auswahl der Verwendung des Installationsmediums
   Auswahl der Verwendung des Installationsmediums

   Wa:hlen Sie hier [ Install ], gelangen Sie in das Installationsprogramm.

3.5. Das bsdinstall-Werkzeug

   bsdinstall ist ein textbasiertes FreeBSD Installationsprogramm,
   geschrieben von Nathan Whitehorn und im Jahr 2011 fu:r FreeBSD 9.0
   vorgestellt wurde.

  Anmerkung:

   Kris Moores pc-sysinstall ist in PC-BSD enthalten und kann ebenfalls
   verwendet werden, um FreeBSD zu installieren. Obwohl es manchmal mit
   bsdinstall verwechselt wird, sind die beiden Programme nicht miteinander
   verwandt.

   Das bsdinstall Menu:system wird durch die Pfeiltasten gesteuert, Enter,
   Tab, Space und andere Tasten.

  3.5.1. Die Tastaturbelegung auswa:hlen

   Abha:ngig davon, welche Systemkonsole verwendet wird, fragt bsdinstall am
   Anfang ab, ob eine nicht-Standard Tastaturbelegung festgelegt werden soll.

   Abbildung 3.4. Tastaturbelegung festlegen
   Tastaturbelegung festlegen

   Wenn [ YES ] ausgewa:hlt wird, wird der folgende Tastaturauswahlbildschirm
   angezeigt. Andernfalls wird dieser Auswahlbildschirm nicht gezeigt und
   eine Standardtastaturbelegung genutzt.

   Abbildung 3.5. Tastaturauswahlbildschirm
   Tastaturauswahlbildschirm

   Wa:hlen Sie die Tastenbelegung, die Ihrer am System angeschlossenen
   Tastatur am na:chsten kommt, indem Sie die Pfeiltasten Hoch/Runter
   verwenden und anschliessend Enter dru:cken.

  Anmerkung:

   Durch dru:cken von Esc wird die Standardbelegung eingestellt. United
   States of America ISO-8859-1 ist eine sichere Option, falls Sie sich
   unsicher sind, welche Auswahl Sie treffen sollen.

  3.5.2. Den Rechnernamen festlegen

   Als na:chstes fragt Sie bsdinstall nach dem Rechnernamen, der in dem neu
   zu installierenden System verwendet werden soll.

   Abbildung 3.6. Festlegen des Rechnernamens
   Festlegen des Rechnernamens

   Der eingegebene Rechnername sollte ein voll-qualifizierter Rechnername
   sein, so wie z.B. machine3.example.com

  3.5.3. Auswahl der zu installierenden Komponenten

   Im na:chsten Schritt fragt Sie bsdinstall, die optionalen Komponenten fu:r
   die Installation auszuwa:hlen.

   Abbildung 3.7. Komponenten fu:r die Installation auswa:hlen
   Komponenten fu:r die Installation auswa:hlen

   Die Entscheidung, welche Komponenten auszuwa:hlen sind, ha:ngt
   gro:sstenteils davon ab, fu:r was das System ku:nftig eingesetzt werden
   soll und der zur Verfu:gung stehende Plattenplatz. Der FreeBSD-Kernel und
   die Systemprogramme (zusammengenommen auch als "Basissystem" bezeichnet)
   werden immer installiert.

   Abha:ngig vom Typ der Installation, werden manche dieser Komponenten nicht
   erscheinen.

   Optionale Komponenten
     * doc - Zusa:tzliche Dokumentation, meistens eher von historischem
       Interesse. Dokumentation, wie Sie vom FreeBSD Dokumentationsprojekt
       bereitgestellt wird, kann zu einem spa:teren Zeitpunkt noch
       installiert werden.

     * games - Mehrere traditionelle BSD-Spiele, sowohl fortune, rot13 und
       andere.

     * lib32 - Kompatibilita:ts-Bibliotheken, um 32-bit Anwendungen auf der
       64-bit Version von FreeBSD laufen zu lassen.

     * ports - Die FreeBSD Ports-Sammlung.

       Die Ports-Sammlung stellt eine einfache und praktische Art dar,
       Software zu installieren. Die Ports-Sammlung entha:lt nicht den
       no:tigen Quellcode, um die Software zu erstellen. Stattdessen handelt
       es sich um einen Sammlung von Dateien, die das herunterladen,
       erstellen und installieren von Drittanbietersoftware automatisiert.
       Kapitel 5, Installieren von Anwendungen: Pakete und Ports behandelt
       die Verwendung der Ports-Sammlung.

  Warnung:

       Das Installationsprogramm pru:ft nicht, ob genu:gend Plattenplatz zur
       Verfu:gung steht. Wa:hlen Sie diese Option nur, wenn Sie u:ber
       ausreichend Festplattenspeicher verfu:gen. Seit FreeBSD 9.0, nimmt die
       Ports-Sammlung etwa ports.size; Plattenplatz ein. Sie ko:nnen fu:r
       neuere Versionen von FreeBSD einen gro:sseren Wert annehmen.

     * src - Quellcode fu:r das System.

       FreeBSD wird mit allen Quellen fu:r den Kernel und die Systemprogramme
       ausgeliefert. Obwohl dies fu:r die meisten Anwendungen nicht beno:tigt
       wird, kann es doch fu:r manche Software, die als Quellcode verbreitet
       wird (beispielsweise Gera:tetreiber oder Kernelmodule), oder um an
       FreeBSD selbst mitzuentwickeln, notwendig sein.

       Der komplette Quellcodebaum beno:tigt 1 GB Plattenplatz und um das
       gesamte Betriebssystem neu zu erstellen, werden zusa:tzliche 5 GB
       Platz beno:tigt.

3.6. Installation aus dem Netzwerk

   Die bootonly-Installationsmedien entha:lt keine Kopien der
   Installationsdateien. Wenn eine bootonly-Installationsmethode verwendet
   wird, mu:ssen die Dateien u:ber eine Netzwerkverbindung u:bertragen
   werden, sobald diese beno:tigt werden.

   Abbildung 3.8. Installation u:ber das Netzwerk
   Installation u:ber das Netzwerk

   Nachdem die Netzwerkverbindung wie in Abschnitt 3.9.2, "Die
   Netzwerkschnittstelle konfigurieren" konfiguriert wurde, kann ein
   Spiegelserver ausgewa:hlt werden. Spiegelserver dienen zur
   Zwischenspeicherung von Kopien der FreeBSD-Dateien. Wa:hlen Sie einen
   Spiegelserver, welcher in der gleichen Region auf der Welt beheimatet ist,
   wie der Computer, auf dem FreeBSD installiert werden soll. Dateien ko:nnen
   so viel schneller u:bertragen werden, wenn der Spiegelserver sich n"her am
   Zielcomputer befindet und die Installationszeit wird somit reduziert.

   Abbildung 3.9. Einen Spiegelserver wa:hlen
   Einen Spiegelserver wa:hlen

   Die Installation wird auf die gleiche Weise fortfahren, als wu:rden die
   Installationsdateien auf einem lokalen Medium vorliegen.

3.7. Plattenplatz bereitstellen

   Es gibt drei Arten, Plattenplatz fu:r FreeBSD zur Verfu:gung zu stellen.
   Gefu:hrte Partitionierung richtet Partitionen automatisch ein, wa:hrend
   manuelle Partitionierung es fortgeschrittenen Anwendern erlaubt,
   selbstgewa:hlte Partitionen zu erzeugen. Schliesslich gbt es noch die
   Option eine Shell zu starten, auf der Kommandozeilenprogramme wie
   gpart(8), fdisk(8) und bsdlabel(8) direkt ausgefu:hrt werden ko:nnen.

   Abbildung 3.10. Gefu:hrte oder manuelle Partitionierung auswa:hlen
   Gefu:hrte oder manuelle Partitionierung auswa:hlen

  3.7.1. Gefu:hrte Partitionierung

   Sollten mehrere Platten angeschlossen sein, wa:hlen Sie diejenige aus, auf
   der FreeBSD installiert werden soll.

   Abbildung 3.11. Aus mehreren Platten eine auswa:hlen
   Aus mehreren Platten eine auswa:hlen

   Die gesamte Festplatte oder nur ein Teil davon kann fu:r FreeBSD verwendet
   werden. Ein allgemeines Partitionslayout, das die gesamte Platte einnimmt
   wird erstellt, wenn [ Entire Disk ] ausgewa:hlt wird. Durch die Wahl von
   [ Partition ] wird ein Partitionslayout im unbenutzten Speicherplatz der
   Platte eingerichtet.

   Abbildung 3.12. Auswahl der gesamten Platte oder einer Partition
   Auswahl der gesamten Platte oder einer Partition

   Nachdem das Partitionslayout nun erstellt wurde, sollten Sie es danach
   noch einmal auf Korrektheit pru:fen. Sollten Sie einen Fehler gemacht
   haben, ko:nnen Sie durch Auswahl von [ Revert ] wieder die urspru:nglichen
   Partitionen setzen oder durch [ Auto ] die automatischen FreeBSD
   Partitionen wiederherstellen. Partitionen ko:nnen manuell erstellt,
   gea:ndert oder gelo:scht werden. Sollte die Partitionierung richtig sein,
   wa:hlen Sie [ Finish ] aus, um mit der Installation fortzufahren.

   Abbildung 3.13. U:berpru:fen der erstellen Partitionen
   U:berpru:fen der erstellen Partitionen

  3.7.2. Manuelle Partitionierung

   Manuelle Partitionierung fu:hrt Sie direkt zum Partitionseditor.

   Abbildung 3.14. Partitionen manuell erstellen
   Partitionen manuell erstellen

   Durch hervorheben einer Platte (in diesem Fall ada0) und die Auswahl von
   [ Create ], wird ein Menu: zur Wahl des Partitionierungsschemas angezeigt.

   Abbildung 3.15. Partitionen manuell anlegen
   Partitionen manuell anlegen

   GPT-Partitionierung ist normalerweise die passendste Auswahl fu:r
   PC-kompatible Rechner. A:ltere PC Betriebssysteme, die nicht mit GPT
   kompatibel und beno:tigen stattdessen MBR-Partitionen. Die anderen
   Partitionsschemata werden fu:r gewo:hnlich fu:r a:ltere Computersysteme
   benutzt.

   Tabelle 3.1. Partitionierungsschemas

   Abku:rzung Beschreibung                                                    
   APM        Apple Partition Map, von PowerPC(R) Macintosh(R) verwendet.     
   BSD        BSD-Labels ohne einen MBR, manchmal auch "dangerously dedicated 
              mode" genannt. Lesen Sie dazu bsdlabel(8).                      
   GPT        GUID Partition Table.                                           
   MBR        Master Boot Record.                                             
   PC98       MBR-Variante, verwendet von NEC PC-98 Computern.                
   VTOC8      Volume Table Of Contents, von Sun SPARC64 und UltraSPARC        
              Computern verwendet.                                            

   Nachdem das Partitionierungsschema ausgewa:hlt und erstellt wurde, werden
   durch erneute Auswahl von [ Create ] neue Partitionen erzeugt.

   Abbildung 3.16. Partitionen manuell erzeugen
   Partitionen manuell erzeugen

   Eine FreeBSD-Standardinstallation mit GPT legt mindestens die folgenden
   drei Partitionen an:

   Standard-FreeBSD GPT-Partitionen
     * freebsd-boot - FreeBSD-Bootcode. Diese Partition muss die erste auf
       der Festplatte sein.

     * freebsd-ufs - Ein FreeBSD UFS-Dateisystem.

     * freebsd-swap - FreeBSD Auslagerungsbereich (swap space).

   Mehere Dateisystempartitionen ko:nnen benutzt werden und manche Leute
   ziehen es vor, ein traditionelles Layout mit getrennten Partitionen fu:r
   die Dateisysteme /, /var, /tmp und /usr zu erstellen. Lesen Sie dazu
   Beispiel 3.3, "Ein traditionelles, partitioniertes Dateisystem erstellen",
   um ein Beispiel zu erhalten.

   Lesen Sie gpart(8) fu:r eine vollsta:ndige Liste von verfu:gbaren
   GPT-Partitionstypen.

   Gro:ssenangaben ko:nnen mit ga:ngigen Abku:rzungen eingegeben werden: K
   fu:r Kilobytes, M fu:r Megabytes oder G fu:r Gigabytes.

  Tipp:

   Korrekte Sektorausrichtung ermo:glicht gro:sstmo:gliche Geschwindigkeit
   und das Anlegen von Partitionsgro:ssen als vielfaches von 4K-Bytes hilft,
   die passende Ausrichtung auf Platten mit entweder 512-Bytes oder 4K-Bytes
   Sektorgro:ssen, festzulegen. Generell sollte die Verwendung von
   Partitionsgro:ssen, die sogar vielfache von 1M oder 1G sind, den
   einfachsten Weg darstellen, um sicher zu stellen, dass jede Partition an
   einem vielfachen von 4K beginnt. Eine Ausnahme gibt es: momentan sollte
   die freebsd-boot-Partition aufgrund von Beschra:nkungen im Bootcode nicht
   gro:sser sein als 512K.

   Ein Einha:gepunkt wird beno:tigt, falls diese Partition ein Dateisystem
   entha:lt. Falls nur eine einzelne UFS-Partition erstellt wird, sollte der
   Einha:ngepunkt / lauten.

   Ein label wird ebenfalls beno:tigt. Ein Label ist ein Name, durch den
   diese Partition angesprochen wird. Festplattennamen oder -nummern ko:nnen
   sich a:ndern, falls die Platte einmal an einem anderen Controller oder
   Port angeschlossen sein sollte, doch das Partitionslabel a:ndert sich
   dadurch nicht. Anstatt auf Plattennamen und Partitionsnummern in Dateien
   wie /etc/fstab zu verweisen, sorgen Labels dafu:r, dass das System
   Hardwa:rea:nderungen eher toleriert. GPT-Labels erscheinen in /dev/gpt/,
   wenn eine Platte angeschlossen wird. Andere Partitionierungsschemas
   besitzen unterschiedliche Fa:higkeiten, Labels zu verwenden und diese
   erscheinen in anderen /dev/-Verzeichnissen.

  Tipp:

   Vergeben Sie ein einzigartiges Label auf jedem Dateisystem um Konflikte
   mit identischen Labels zu verhindern. Ein paar Buchstaben des
   Computernamens, dessen Verwendungszweck oder Ortes kann dem Label
   hinzugefu:gt werden. Beispielsweise "labroot" oder "rootfs-lab" fu:r die
   UFS root-Partition auf einem Laborrechner.

   Beispiel 3.3. Ein traditionelles, partitioniertes Dateisystem erstellen

   Fu:r ein traditionelles Partitionslayout, in dem sich /, /var, /tmp und
   /usr in getrennten Partitionen befinden sollen, erstellen Sie ein
   GPT-Partitionsschema und anschliessend die Partitionen selbst. Die
   gezeigten Partitionsgro:ssen sind typisch fu:r eine Festplatte von 20 G.
   Falls mehr Platz verfu:gbar ist, sind gro:ssere Swap oder /var-Partitionen
   nu:tzlich. Den hier gezeigten Beschreibungen sind bsp fu:r "Beispiel"
   vorangestellt, jedoch sollten Sie andere, einzigartige Beschreibungen
   verwenden, wie oben beschrieben.

   Partitionstyp             Gro:sse             Eingeha:ngt als Beschreibung 
   freebsd-boot  512K                                                         
   freebsd-ufs   2G                              /               bsprootfs    
   freebsd-swap  4G                                              bspswap      
   freebsd-ufs   2G                              /var            bspvarfs     
   freebsd-ufs   1G                              /tmp            bsptmpfs     
                 Akzeptieren Sie die                                          
   freebsd-ufs   Standardeinstellungen (Rest der /usr            bspusrfs
                 Platte)                         

   Nachdem die selbstgewa:hlten Partitionen erzeugt wurden, wa:hlen Sie
   [ Finish ], um mit der Installation fortzusetzen.

3.8. Die Installation festschreiben

   Dies ist die letzte Chance, die Installation abzubrechen, ohne A:nderungen
   an den Festplatten vorzunehmen.

   Abbildung 3.17. Letzte Besta:tigung
   Letzte Besta:tigung

   Wa:hlen Sie [ Commit ] und dru:cken Sie Enter, um fortzufahren. Fall noch
   A:nderungen zu machen sind, wa:hlen Sie [ Back ], um zum Partitionseditor
   zuru:ck zu gelangen. Mittels [ Revert & Exit ] wird das
   Installationsprogramm beendet, ohne A:nderungen an den Festplatten
   durchzufu:hren.

   Die Installationsdauer ha:ngt von den gewa:hlten Distributionen, dem
   Installationsmedium und der Geschwindigkeit des Computers ab. Eine Reihe
   von Nachrichten werden angezeigt, um den Fortschritt darzustellen.

   Zuerst wird das Installationsprogramm die Partitionen auf die Platte
   schreiben und den Befehl newfs ausfu:hren, um die Partitionen zu
   initialisieren.

   Falls Sie eine Netzwerkinstallation vornehmen, wird bsdinstall dann mit
   dem herunterladen der beno:tigten Distributionsdateien fortfahren.

   Abbildung 3.18. Herunterladen der Distributionsdateien
   Herunterladen der Distributionsdateien

   Als na:chstes wird die Integrita:t der Distributionsdateien u:berpru:ft,
   um sicherzustellen, dass diese wa:hrend des Ladevorgangs nicht bescha:digt
   oder unsauber vom Installationsmedium gelesen wurden.

   Abbildung 3.19. U:berpru:fen der Distributionsdateien
   U:berpru:fen der Distributionsdateien

   Zum Schluss werden die u:berpru:ften Distributionsdateien auf die
   Festplatte entpackt.

   Abbildung 3.20. Entpacken der Distributionsdateien
   Entpacken der Distributionsdateien

   Sobald alle beno:tigten Distributionsdateien entpackt wurden, wird
   bsdinstall direkt mit den Arbeiten nach der Installation fortsetzen (siehe
   Abschnitt 3.9, "Arbeiten nach der Installation").

3.9. Arbeiten nach der Installation

   Die Konfiguration von verschiedenen Optionen folgt auf eine erfolgreiche
   FreeBSD-Installation. Eine solche Option kann durch das erneute betreten
   der Konfigurationsoptionen aus dem letzten Menu: vor dem Neustart in das
   gerade installierte FreeBSD-System angepasst werden.

  3.9.1. Setzen des root-Passworts

   Das root-Password muss gesetzt werden. Wichtig ist dabei zu wissen, dass
   die eingegebenen Zeichen nicht auf dem Bildschirm angezeigt werden.
   Nachdem das Passwort eingegeben wurde, muss es zur Besta:tigung erneut
   eingetippt werden. Damit werden auch Tippfehler verhindert.

   Abbildung 3.21. Das root-Passwort setzen
   Das root-Passwort setzen

   Nachdem das Passwort erfolgreich gesetzt wurde, wird die Installation nun
   fortgesetzt.

  3.9.2. Die Netzwerkschnittstelle konfigurieren

  Anmerkung:

   Die Netzwerkkonfiguration wird u:bersprungen, falls dies bereits als Teil
   der bootonly durchgefu:hrt worden ist.

   Eine Liste aller gefundenen Netzwerkschnittstellen, die auf diesem
   Computer gefunden wurden, wird als na:chstes angezeigt. Wa:hlen Sie davon
   eine aus, um diese zu konfigurieren.

   Abbildung 3.22. Eine zu konfigurierende Netzwerkschnittstelle auswa:hlen
   Eine zu konfigurierende Netzwerkschnittstelle auswa:hlen

    3.9.2.1. Eine drahtlose Netzwerkverbindung einrichten

   Sollte eine drahtlose Netzwerkverbindung ausgewa:hlt worden sein, mu:ssen
   WLAN-Identifikation und Sicherheitsparameter nun eingegeben werden, um die
   Verbindung mit dem Netzwerk herzustellen.

   Drahtlose Netzwerke werden durch einen Service Set Identifier oder auch
   SSID genannt, identifiziert. Der SSID ist ein kurzer, eindeutiger Namen,
   der fu:r jedes Netzwerk vergeben wird.

   Die meisten drahtlosen Netzwerke verschlu:sseln die u:bertragenen Daten,
   um die Information darin vor unautorisiertem Zugriff zu schu:tzen. Die
   Verwendung von WPA2-Verschlu:sselung wird empfohlen. A:ltere
   Verschlu:sselungstypen, wie WEP, bieten nur sehr wenig Sicherheit.

   Der erste Schritt des Verbindungsaufbaus ist das drahtlose Netzwerk nach
   drahtlosen Zugriffspunkten (access points) zu scannen.

   Abbildung 3.23. Nach drahtlosen Access Points scannen
   Nach drahtlosen Access Points scannen

   SSIDs, die wa:hrend des scannens gefunden wurden, werden aufgelistet,
   gefolgt von einer Beschreibung der Verschlu:sselungsarten, die fu:r dieses
   Netzwerk verfu:gbar sind. Falls die gewu:nschte SSID nicht in der Liste
   auftaucht, wa:hlen Sie [ Rescan ], um erneut einen Scanvorgang
   durchzufu:hren. Falls dann das gewu:nschte Netzwerk immer noch nicht
   erscheint, u:berpru:fen Sie Ihre Antenne auf Verbindungsprobleme oder
   versuchen Sie, na:her an den Access point zu gelangen. Scannen Sie erneut
   nach jeder vorgenommenen A:nderung.

   Abbildung 3.24. Ein drahtloses Netzwerk auswa:hlen
   Ein drahtloses Netzwerk auswa:hlen

   Die Verschlu:sselungsinformationen, um sich mit dem Netzwerk zu verbinden,
   werden nach der Auswahl des Netzwerks eingegeben. Mit WPA2 wird nur ein
   Passwort (auch bekannt als Pre-Shared Key oder PSK) beno:tigt. Zeichen,
   die in die Eingabebox getippt werden, erscheinen aus Sicherheitsgru:nden
   als Sternchen.

   Abbildung 3.25. Verbindungsaufbau mit WPA2
   Verbindungsaufbau mit WPA2

   Die Netzwerkkonfiguration wird fortgesetzt, nachdem das drahtlose Netzwerk
   und die Verbindungsinformationen eingegeben wurden.

    3.9.2.2. Konfiguration des IPv4-Netzwerks

   Wa:hlen Sie, ob Sie ein IPv4-Netzwerk verwenden mo:chten. Dies ist der am
   ha:ufigsten vorkommende Typ einer Netzwerkverbindung.

   Abbildung 3.26. Auswahl von IPv4
   Auswahl von IPv4

   Es gibt zwei Arten, ein IPv4-Netzwerk zu konfigurieren. DHCP wird
   automatisch die Netzwerkschnittstelle richtig konfigurieren und sollte als
   bevorzugte Methode verwendet werden. Statische Konfiguration erfordert die
   manuelle Eingabe von Netzwerkinformationen.

  Anmerkung:

   Geben Sie keine zufa:llig gewa:hlten Netzwerkinformationen ein, da dies
   nicht funktionieren wird. Holen Sie sich die in Abschnitt 3.3.3,
   "Netzwerkparameter ermitteln" gezeigten Informationen von Ihrem
   Netzwerkadministrator oder Serviceprovider.

      3.9.2.2.1. Netzwerkkonfiguration von IPv4 mittels DHCP

   Falls ein DHCP-Server zur Verfu:gung steht, wa:hlen Sie [ Yes ], um die
   Netzwerkschnittstelle automatisch einrichten zu lassen.

   Abbildung 3.27. Auswa:hlen der IPv4-Konfiguration u:ber DHCP
   Auswa:hlen der IPv4-Konfiguration u:ber DHCP

      3.9.2.2.2. Statische IPv4-Netzwerkkonfiguration

   Statische Konfiguration der Netzwerkschnittstelle erfordert die die
   Eingabe einiger IPv4-Informationen.

   Abbildung 3.28. Statische IPv4-Konfiguration
   Statische IPv4-Konfiguration
     * IP-Adresse - Die manuell festgelegte IPv4-Adresse, welche diesem
       Computer zugewiesen werden soll. Diese Adresse muss eindeutig sein und
       darf von keinem anderen Gera:t im lokalen Netzwerk bereits verwendet
       werden.

     * Subnetzmaske - Die Subnetzmaske, die im lokalen Netzwerk Verwendung
       findet. Typischerweise ist dies 255.255.255.0.

     * Defaultrouter - Die IP-Adresse des Defaultrouters in diesem Netzwerk.
       Normalerweise ist das die Adresse des Routers oder einer anderen
       Netzwerkkomponente, die das lokale Netzwerk mit dem Internet
       verbindet. Auch bekannt als das Default Gateway.

    3.9.2.3. Konfiguration des IPv6-Netzwerks

   IPv6 ist eine neuere Methode der Netzwerkkonfiguration. Falls IPv6
   verfu:gbar ist und verwendet werden soll, wa:hlen Sie [ Yes ] aus.

   Abbildung 3.29. Auswahl von IPv6
   Auswahl von IPv6

   IPv6 besitzt ebenfalls zwei Arten der Konfiguration. SLAAC, oder StateLess
   Address AutoConfiguration, wird die Netzwerkschnittstelle automatisch
   richtig konfigurieren. Statische Konfiguration verlangt die manuelle
   Eingabe von Netzwerkinformationen.

      3.9.2.3.1. IPv6 Stateless Address Autoconfiguration

   SLAAC erlaubt es einer IPv6-Netzwerkkomponente, die Information zur
   automatischen Konfiguration von einem lokalen Router abzufragen. Lesen Sie
   RFC4862 fu:r weitere Informationen.

   Abbildung 3.30. Auswahl der IPv6 SLAAC-Konfiguration
   Auswahl der IPv6 SLAAC-Konfiguration

      3.9.2.3.2. Statische IPv6-Netzwerkkonfiguration

   Statische Konfiguration der Netzwerkschnittstelle beno:tigt die Eingabe
   von IPv6-Konfigurationsinformationen.

   Abbildung 3.31. Statische IPv6-Konfiguration
   Statische IPv6-Konfiguration
     * IPv6-Adresse - The manuell zugewiesene IP-Adresse, welche dem Computer
       zugeteilt werden soll. Diese Adresse muss eindeutig sein und nicht
       bereits von einer anderen Netzwerkkomponente im lokalen Netzwerk
       verwendet werden.

     * Defaultrouter - Die IPv6-Adresse des Defaultrouters in diesem
       Netzwerk. Normalerweise ist dies die Adresse des Routers oder einer
       anderen Netzwerkkomponente, welche das lokale Netz mit dem Internet
       verbindet. Auch bekannt als Default Gateway.

    3.9.2.4. DNS-Konfiguration

   Der Domain Name System (oder auch DNS) Auflo:ser wandelt Hostnamen von und
   zu Netzwerkadressen um. Falls DHCP oder SLAAC verwendet wurde, um die
   Netzwerkschnittstelle zu konfigurieren, ist die Konfiguration fu:r den
   Auflo:ser mo:glicherweise bereits vorhanden. Andernfalls geben Sie den
   lokalen Netzwerkdoma:nennamen in das Suchfeld ein. DNS #1 und DNS #2 sind
   die IP-Adressen der lokalen DNS-Server. Zumindest ein DNS-Server wird
   beno:tigt.

   Abbildung 3.32. DNS-Konfiguration
   DNS-Konfiguration

  3.9.3. Setzen der Zeitzone

   Das Setzen der Zeitzone fu:r Ihre Maschine erlaubt es, diese auf regionale
   Zeitvera:nderungen hin anzupassen und um andere zeitzonenbezogene
   Funktionen richtig durchzufu:hren.

   Das hier Beispiel gezeigte Beispiel bezieht sich auf einen Rechner in der
   o:stlichen Zeitzone der Vereinigten Staaten. Ihre Auswahl wird von Ihrer
   geographischen Position davon abweichen.

   Abbildung 3.33. Lokale oder UTC-Zeit
   Lokale oder UTC-Zeit

   Wa:hlen Sie [ Yes ] oder [ No ], abha:ngig davon, wie die Rechneruhr
   konfiguriert ist und dru:cken Sie dann Enter. Wenn Sie nicht wissen, ob
   Ihr System UTC oder lokale Zeit verwendet, wa:hlen Sie [ No ], um die am
   ha:ufigsten verwendete lokale Zeit zu setzen.

   Abbildung 3.34. Das Gebiet auswa:hlen
   Das Gebiet auswa:hlen

   Das passende Gebiet wird durch die Pfeiltasten und das anschliessende
   druu:cken von Enter gewa:hlt.

   Abbildung 3.35. Das Land auswa:hlen
   Das Land auswa:hlen

   Wa:hlen Sie das zutreffende Land mit den Pfeiltasten und durch
   anschliessendes dru:cken von Enter aus.

   Abbildung 3.36. Wa:hlen einer Zeitzone
   Wa:hlen einer Zeitzone

   Die passende Zeitzone wird durch die Pfeiltasten und anschliessendes
   dru:cken von Enter ausgewa:hlt.

   Abbildung 3.37. Besta:tigen der Zeitzone
   Besta:tigen der Zeitzone

   Besta:tigen Sie, dass die Abku:rzung fu:r die Zeitzone richtig ist. Wenn
   Ihnen diese richtig erscheint, dru:cken Sie Enter, um mit dem Rest der
   Konfiguration nach der Installation fortzufahren.

  3.9.4. Zu aktivierende Dienste auswa:hlen

   Zusa:tzliche Systemdienste, die zur Startzeit aktiviert werden sollen,
   ko:nnen eingeschaltet werden. All diese Dienste sind optional.

   Abbildung 3.38. Auswahl zusa:tzlicher Dienste
   Auswahl zusa:tzlicher Dienste
   Zusa:tzliche Dienste
     * sshd - Secure Shell (SSH)-Dienst fu:r sicheren Fernzugriff.

     * moused - Sorgt fu:r Mausunterstu:tzung innerhalb der Systemkonsole.

     * ntpd - Network Time Protocol (NTP)-Dienst zur automatischen
       Uhrzeitsynchronisation.

     * powerd - Systemleistungskontrollwerkzeug zur Leistungsregelung und
       fu:r Stromsparfunktionen.

  3.9.5. Absturzaufzeichnung aktivieren

   bsdinstall wird Sie fragen, ob die Absturzaufzeichnung auf dem Zielsystem
   aktiviert werden soll. Die Aktivierung von Absturzaufzeichnungen kann sehr
   nu:tzlich sein, um Systemfehler aufzuspu:ren, deswegen wird Anwendern
   empfohlen, diese so oft wie mo:glich einzusetzen. Wa:hlen Sie [ Yes ], um
   Absturzaufzeichnungen zu aktivieren oder [ No ], um ohne die Aufzeichnung
   von Abstu:rzen fortzufahren.

   Abbildung 3.39. Aktivierung der Absturzaufzeichnung
   Aktivierung der Absturzaufzeichnung

  3.9.6. Benutzer hinzufu:gen

   Das hinzufu:gen von mindestens einem Benutzer wa:hrend der Installaton
   erlaubt das Benutzen des Systems ohne als root-Benutzer angemeldet zu
   sein. Wenn man als root angemeldet ist, gibt es so gut wie keine
   Beschra:nkungen oder Schutz vor dem, was man tun kann. Anmeldenals
   normaler Benutzer ist daher sicherer und bietet mehr Schutz.

   Wa:hlen Sie [ Yes ], um neue Benutzer hinzuzufu:gen.

   Abbildung 3.40. Benutzerkonten hinzufu:gen
   Benutzerkonten hinzufu:gen

   Geben Sie die no:tigen Informationen fu:r den Benutzer ein, der dem System
   hinzugefu:gt werden soll.

   Abbildung 3.41. Benutzerinformationen eingeben
   Benutzerinformationen eingeben
   Benutzerinformationen
     * Username - Der Name des Benutzers, den man zur Anmeldung eingeben
       muss. Typischerweise der erste Buchstabe des Vornamens, gefolgt vom
       Nachnamen.

     * Full name - Der volle Name des Benutzers.

     * Uid - User ID. Normalerweise wird dieses Feld leer gelassen, so dass
       das System einen Wert vergibt.

     * Login group - Die Benutzergruppe. Normalerweise bleibt dieses Feld
       leer, um die Standardgruppe zu akzeptieren.

     * Invite user into other groups? - Zusa:tzliche Gruppen zu denen der
       Benutzer als Mitglied hinzugefu:gt werden soll.

     * Login class - In der Regel bleibt dieses Feld leer.

     * Shell - Die interaktive Shell fu:r diesen Benutzer. In diesem Beispiel
       wurde csh(1) ausgewa:lt.

     * Home directory - Das Heimatverzeichnis des Benutzers. Die Vorgabe ist
       fu:r gewo:hnlich richtig.

     * Home directory permissions - Zugriffsrechte auf das Heimatverzeichnis
       des Benutzers. Die Vorgabe ist normalerweise die passende.

     * Use password-based authentication? Normalerweise "yes".

     * Use an empty password? - Normalerweise "no".

     * Use a random password? - Normalerweise "no".

     * Enter password - Das Passwort f"r diesem Benutzer. Eingegebene Zeichen
       werden nicht am Bildschirm angezeigt.

     * Enter password again - Das Passwort muss zur U:berpru:fung erneut
       eingegeben werden.

     * Lock out the account after creation? - Normalerweise "no".

   Nachdem alles eingegeben wurde, wird eine Zusammenfassung angezeigt und
   das System fragt Sie, dies so korrekt ist. Falls ein Eingabefehler gemacht
   wurde, geben Sie no ein und versuchen es erneut. Falls alles in Ordnung
   ist, dru:cken Sie yes, um den neuen Benutzer anzulegen.

   Abbildung 3.42. Verlassen der Benutzer- und Gruppenverwaltung
   Verlassen der Benutzer- und Gruppenverwaltung

   Falls es mehr Benutzer hinzuzufu:gen gibt, beantworten Sie die Frage "Add
   another user?" mit yes. Geben Sie no ein, wird das hinzufu:gen von
   Benutzern beendet und die Installation fortgesetzt.

   Fu:r weitere Informationen zum hinzufu:gen von Benutzern und deren
   Verwaltung, lesen Sie Kapitel 14, Benutzer und grundlegende
   Account-Verwaltung.

  3.9.7. Letzte Konfigurationsschritte

   Nachdem alles installiert und konfiguriert wurde, bekommen Sie noch eine
   letzte Chance, um Einstellungen zu vera:ndern.

   Abbildung 3.43. Letzte Schritte der Konfiguration
   Letzte Schritte der Konfiguration

   Verwenden Sie dieses Menu:, um noch letzte A:nderungen oder zusa:tzliche
   Konfigurationen vor dem Abschliessen der Installation zu ta:tigen.

   Letzte Konfigurationsoptionen
     * Add User - Beschrieben in Abschnitt 3.9.6, "Benutzer hinzufu:gen".

     * Root Password - Beschrieben in Abschnitt 3.9.1, "Setzen des
       root-Passworts".

     * Hostname - Beschrieben in Abschnitt 3.5.2, "Den Rechnernamen
       festlegen".

     * Network - Beschrieben in Abschnitt 3.9.2, "Die Netzwerkschnittstelle
       konfigurieren".

     * Services - Beschrieben in Abschnitt 3.9.4, "Zu aktivierende Dienste
       auswa:hlen".

     * Time Zone - Beschrieben in Abschnitt 3.9.3, "Setzen der Zeitzone".

     * Handbook - Herunterladen und installieren des FreeBSD Handbuchs
       (welches Sie gerade lesen).

   Nachdem die lezten Konfigurationsschritte beendet sind, wa:hlen Sie Exit,
   um die Installation zu verlassen.

   Abbildung 3.44. Manuelle Konfiguration
   Manuelle Konfiguration

   bsdinstall wird nach zusa:tzlichen Konfigurationen, die noch zu ta:tigen
   sind, fragen, bevor in das neue System gebootet wird. Wa:hlen Sie [ Yes ],
   um in eine Shell innerhalb des neuen Systems zu wechseln oder [ No ], um
   mit dem letzten Schritt der Installation zu beginnen.

   Abbildung 3.45. Die Installation vervollsta:ndigen
   Die Installation vervollsta:ndigen

   Wenn weitere Konfigurationen oder besondere Einstellungen beno:tigt
   werden, kann durch auswa:hlen von [ Live CD ] das Installationsmedium im
   Live CD Modus gestartet werden.

   Wenn die Installation vollsta:ndig ist, wa:hlen Sie [ Reboot ], um den
   Computer neu zu starten und das neu installierte FreeBSD-System zu booten.
   Vergessen Sie nicht, die FreeBSD Installations-CD, -DVD oder den USB-Stick
   zu entfernen, oder der Computer wird erneut davon starten.

  3.9.8. FreeBSD starten und herunterfahren

    3.9.8.1. FreeBSD/i386 starten

   Wenn FreeBSD startet, werden viele Informationsmeldungen ausgegeben. Die
   meisten davon werden aus dem Bildschirm verschwinden, das ist normal.
   Nachdem das System den Startvorgang abgeschlossen hat, wird eine
   Anmeldeaufforderungen angezeigt. Um Nachrichten, die aus dem Bildschirm
   gelaufen sind, zu sehen, aktivieren Sie durch dru:cken von Scroll-Lock den
   scroll-back buffer. Die Tasten PgUp, PgDn und die Pfeiltasten dienen zur
   Navigation durch die Nachrichten. Durch erneutes dru:cken von Scroll-Lock
   wird der Bildschirm wieder entsperrt und kehrt zur normalen Anzeige
   zuru:ck.

   Am login:-Bildschirm geben Sie den Benutzernamen ein, den Sie wa:hrend der
   Installation angelegt haben, in diesem Fall ist das asample. Vermeiden Sie
   die Anmeldung als root, ausser wenn es wirklich notwendig ist.

   Der oben beschriebene scroll-back buffer ist in der Gro:sse beschra:nkt,
   somit werden vielleicht nicht alle Nachrichten sichtbar sein. Nach dem
   Anmelden ko:nnen die meisten davon aus der Kommandozeile aus durch eingabe
   von dmesg | less betrachtet werden. Durch dru:cken von q kehren Sie wieder
   zur Kommandozeile zuru:ck.

   Typische Startmeldungen (Versionsinformationen wurden hier weggelassen):

 Copyright (c) 1992-2011 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 is a registered trademark of The FreeBSD Foundation.

     root@farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64
 CPU: Intel(R) Core(TM)2 Duo CPU     E8400  @ 3.00GHz (3007.77-MHz K8-class CPU)
   Origin = "GenuineIntel"  Id = 0x10676  Family = 6  Model = 17  Stepping = 6
   Features=0x783fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE,SSE2>
   Features2=0x209<SSE3,MON,SSSE3>
   AMD Features=0x20100800<SYSCALL,NX,LM>
   AMD Features2=0x1<LAHF>
 real memory  = 536805376 (511 MB)
 avail memory = 491819008 (469 MB)
 Event timer "LAPIC" quality 400
 ACPI APIC Table: <VBOX   VBOXAPIC>
 ioapic0: Changing APIC ID to 1
 ioapic0 <Version 1.1> irqs 0-23 on motherboard
 kbd1 at kbdmux0
 acpi0: <VBOX VBOXXSDT> on motherboard
 acpi0: Power Button (fixed)
 acpi0: Sleep Button (fixed)
 Timecounter "ACPI-fast" frequency 3579545 Hz quality 900
 acpi_timer0: <32-bit timer at 3.579545MHz> port 0x4008-0x400b on acpi0
 cpu0: <ACPI CPU> on acpi0
 pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
 pci0: <ACPI PCI bus> on pcib0
 isab0: <PCI-ISA bridge> at device 1.0 on pci0
 isa0: <ISA bus> on isab0
 atapci0: <Intel PIIX4 UDMA33 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xd000-0xd00f at device 1.1 on pci0
 ata0: <ATA channel 0> on atapci0
 ata1: <ATA channel 1> on atapci0
 vgapci0: <VGA-compatible display> mem 0xe0000000-0xe0ffffff irq 18 at device 2.0 on pci0
 em0: <Intel(R) PRO/1000 Legacy Network Connection 1.0.3> port 0xd010-0xd017 mem 0xf0000000-0xf001ffff irq 19 at device 3.0 on pci0
 em0: Ethernet address: 08:00:27:9f:e0:92
 pci0: <base peripheral> at device 4.0 (no driver attached)
 pcm0: <Intel ICH (82801AA)> port 0xd100-0xd1ff,0xd200-0xd23f irq 21 at device 5.0 on pci0
 pcm0: <SigmaTel STAC9700/83/84 AC97 Codec>
 ohci0: <OHCI (generic) USB controller> mem 0xf0804000-0xf0804fff irq 22 at device 6.0 on pci0
 usbus0: <OHCI (generic) USB controller> on ohci0
 pci0: <bridge> at device 7.0 (no driver attached)
 acpi_acad0: <AC Adapter> on acpi0
 atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
 atkbd0: <AT Keyboard> irq 1 on atkbdc0
 kbd0 at atkbd0
 atkbd0: [GIANT-LOCKED]
 psm0: <PS/2 Mouse> irq 12 on atkbdc0
 psm0: [GIANT-LOCKED]
 psm0: model IntelliMouse Explorer, device ID 4
 attimer0: <AT timer> port 0x40-0x43,0x50-0x53 on acpi0
 Timecounter "i8254" frequency 1193182 Hz quality 0
 Event timer "i8254" frequency 1193182 Hz quality 100
 sc0: <System console> at flags 0x100 on isa0
 sc0: VGA <16 virtual consoles, flags=0x300>
 vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
 atrtc0: <AT realtime clock> at port 0x70 irq 8 on isa0
 Event timer "RTC" frequency 32768 Hz quality 0
 ppc0: cannot reserve I/O port range
 Timecounters tick every 10.000 msec
 pcm0: measured ac97 link rate at 485193 Hz
 em0: link state changed to UP
 usbus0: 12Mbps Full Speed USB v1.0
 ugen0.1: <Apple> at usbus0
 uhub0: <Apple OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0
 cd0 at ata1 bus 0 scbus1 target 0 lun 0
 cd0: <VBOX CD-ROM 1.0> Removable CD-ROM SCSI-0 device
 cd0: 33.300MB/s transfers (UDMA2, ATAPI 12bytes, PIO 65534bytes)
 cd0: Attempt to query device size failed: NOT READY, Medium not present
 ada0 at ata0 bus 0 scbus0 target 0 lun 0
 ada0: <VBOX HARDDISK 1.0> ATA-6 device
 ada0: 33.300MB/s transfers (UDMA2, PIO 65536bytes)
 ada0: 12546MB (25694208 512 byte sectors: 16H 63S/T 16383C)
 ada0: Previously was known as ad0
 Timecounter "TSC" frequency 3007772192 Hz quality 800
 Root mount waiting for: usbus0
 uhub0: 8 ports with 8 removable, self powered
 Trying to mount root from ufs:/dev/ada0p2 [rw]...
 Setting hostuuid: 1848d7bf-e6a4-4ed4-b782-bd3f1685d551.
 Setting hostid: 0xa03479b2.
 Entropy harvesting: interrupts ethernet point_to_point kickstart.
 Starting file system checks:
 /dev/ada0p2: FILE SYSTEM CLEAN; SKIPPING CHECKS
 /dev/ada0p2: clean, 2620402 free (714 frags, 327461 blocks, 0.0% fragmentation)
 Mounting local file systems:.
 vboxguest0 port 0xd020-0xd03f mem 0xf0400000-0xf07fffff,0xf0800000-0xf0803fff irq 20 at device 4.0 on pci0
 vboxguest: loaded successfully
 Setting hostname: machine3.example.com.
 Starting Network: lo0 em0.
 lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
         options=3<RXCSUM,TXCSUM>
         inet6 ::1 prefixlen 128
         inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
         inet 127.0.0.1 netmask 0xff000000
         nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
 em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
         options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
         ether 08:00:27:9f:e0:92
         nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
         media: Ethernet autoselect (1000baseT <full-duplex>)
         status: active
 Starting devd.
 Starting Network: usbus0.
 DHCPREQUEST on em0 to 255.255.255.255 port 67
 DHCPACK from 10.0.2.2
 bound to 192.168.1.142 -- renewal in 43200 seconds.
 add net ::ffff:0.0.0.0: gateway ::1
 add net ::0.0.0.0: gateway ::1
 add net fe80::: gateway ::1
 add net ff02::: gateway ::1
 ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/local/lib
 32-bit compatibility ldconfig path: /usr/lib32
 Creating and/or trimming log files.
 Starting syslogd.
 No core dumps found.
 Clearing /tmp (X related).
 Updating motd:.
 Configuring syscons: blanktime.
 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:
 10:a0:f5:af:93:ae:a3:1a:b2:bb:3c:35:d9:5a:b3:f3 root@machine3.example.com
 The key's randomart image is:
 +--[RSA1 1024]----+
 |    o..          |
 |   o . .         |
 |  .   o          |
 |       o         |
 |    o   S        |
 |   + + o         |
 |o . + *          |
 |o+ ..+ .         |
 |==o..o+E         |
 +-----------------+
 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:
 7e:1c:ce:dc:8a:3a:18:13:5b:34:b5:cf:d9:d1:47:b2 root@machine3.example.com
 The key's randomart image is:
 +--[ DSA 1024]----+
 |       ..     . .|
 |      o  .   . + |
 |     . ..   . E .|
 |    . .  o o . . |
 |     +  S = .    |
 |    +  . = o     |
 |     +  . * .    |
 |    . .  o .     |
 |      .o. .      |
 +-----------------+
 Starting sshd.
 Starting cron.
 Starting background file system checks in 60 seconds.

 Thu Oct  6 19:15:31 MDT 2011

 FreeBSD/amd64 (machine3.example.com) (ttyv0)

 login:

   Das Generieren der RSA- und DSA-Schlu:ssel kann auf langsameren Rechnern
   einige Zeit beno:tigen. Dies geschieht nur wa:hrend der Startphase einer
   neuen Installation und auch nur, wenn sshd zum automatischen Start gesetzt
   ist. Die nachfolgenden Startvorga:nge werden schneller sein.

   FreeBSD installiert standardma:ssig keine graphische Umgebung, jedoch
   stehen viele zur Verfu:gung. Lesen Sie Kapitel 6, Das X-Window-System fu:r
   weitere Informationen.

  3.9.9. FreeBSD herunterfahren

   Das korrekte herunterfahren eines FreeBSD-Computers hilft, beugt dem
   Datenverlust vor und schu:tzt sogar die Hardware vor Scha:den. Schalten
   Sie nicht einfach den Strom ab. Wenn der Benutzer ein Mitglied der
   wheel-Gruppe ist, ko:nnen Sie zum Superuser durch die Eingabe von su und
   der anschliessenden Eingabe des Passworts von root werden. Andernfalls
   melden Sie sich mit root an und verwenden den Befehl shutdown -p now. Das
   System wird jetzt sauber heruntergefahren und den Rechner ausschalten.

   Die Ctrl+Alt+Del Kombination kann verwendet werden, um das System neu zu
   starten, jedoch wird dies nicht wa:hrend des normalen Betriebs empfohlen.

3.10. Fehlerbehebung

   Der folgende Abschnitt behandelt einfache Fehlerbehebungen fu:r die
   Installation, wie beispielsweise ha:ufig auftretende Fehler, die von
   Anwendern berichtet wurden.

  3.10.1. Was man tun sollte, wenn etwas schiefgeht

   Wegen verschiedener Limitierungen der PC-Architektur ist es unmo:glich
   dass die Gera:teerkennung 100% verla:sslich funktioniert. Jedoch gibt es
   ein paar Dinge, die man tun kann, wenn es fehlschla:gt.

   U:berpru:fen Sie das Dokument Hardware Notes nach Ihrer Version von
   FreeBSD, um sicher zu stellen, dass Ihre Hardware auch unterstu:tzt wird.

   Wenn Ihre Hardware unterstu:tzt wird und Sie immer noch Abstu:rze oder
   andere Probleme erleben, mu:ssen Sie einen eigenen Kernel bauen. Das wird
   Ihnen erlauben, Unterstu:tzung fu:r Gera:te, die im GENERIC-Kernel nicht
   vorhanden sind, hinzuzufu:gen. Der Kernel auf den Bootmedien ist mit der
   Annahme konfiguriert, dass die Hardwaregera:te sich in Ihren
   Fabrikeinstellungen in Bezug auf IRQs, I/O-Adressen und DMA-Kana:len
   befinden. Wenn Ihre Hardware neu konfiguriert wurde, werden Sie
   mo:glicherweise die Konfiguration des Kernels bearbeiten und diesen neu
   erstellen mu:ssen, um FreeBSD mitzuteilen, wo es gewisse Dinge zu finden
   hat.

   Es ist auch mo:glich, dass ein fehlerhaft erkanntes Gera:t die Erkennung
   eines vorhandenen, spa:teren Gera:ts ebenfalls fehlschlagen la:sst. In
   diesem Fall sollte die Erkennung des fehlerhaften Gera:tetreibers
   deaktiviert werden.

  Anmerkung:

   Manche Installationsprobleme ko:nnen Aktualisierung der Firmware auf
   verschiedenen Hardwarekomponenten verhindert oder verringert werden,
   meistens am Mainboard. Mit Mainboard-Firmware ist fu:r gewo:hnlich das
   BIOS gemeint. Die meisten Mainboard- und Computerhersteller haben eine
   Webseite mit Aktualisierungen und Informationen zur Durchfu:hrung.

   Hersteller raten meist von einer Aktualisierung des Mainboard-BIOS ab,
   ausser es gibt einen guten Grund dafu:r, wie beispielsweise eine kritische
   Aktualisierung. Der Aktualisierungsvorgang kann schiefgehen, was das BIOS
   unvollsta:ndig macht und den Computer nicht mehr starten la:sst.

  3.10.2. Fragen und Antworten zur Fehlerbehebung

   3.10.2.1. Mein System ha:ngt wa:hrend die Gera:teerkennung beim Starten
   durchgefu:hrt wird oder verha:lt sich merkwu:rdig wa:hrend der
   Installation.

   3.10.2.1. Mein System ha:ngt wa:hrend die Gera:teerkennung beim Starten    
             durchgefu:hrt wird oder verha:lt sich merkwu:rdig wa:hrend der   
             Installation.                                                    
             FreeBSD macht starken Gebrauch vom ACPI-Dienst des Systems auf   
             den i386-, amd64-, and ia64-Platformen, um den System bei der    
             Konfiguration wa:hrend des Startvorgangs zu helfen. Leider       
             existieren immer noch Fehler im ACPI-Treiber, in den Mainboards  
             und der BIOS-Firmware. ACPI kann durch setzen der Einstellung    
             hint.acpi.0.disabled im dritten Teil des Bootloaders deaktiviert 
             werden:                                                          
                                                                              
             set hint.acpi.0.disabled="1"                                     
                                                                              
             Dies wird nach jedem Neustart des Systems wieder zuru:ckgesetzt, 
             also ist es notwendig, die Zeile hint.acpi.0.disabled="1" zu der 
             Datei /boot/loader.conf hinzuzufu:gen. Weitere Informationen     
             u:ber den Bootloader lassen sich in Abschnitt 13.1, "U:bersicht" 
             nachlesen.                                                       

Kapitel 4. Grundlagen des UNIX Betriebssystems

   Umgeschrieben von Chris Shumway.
   U:bersetzt von Uwe Pierau.
   Inhaltsverzeichnis

   4.1. U:bersicht

   4.2. Virtuelle Konsolen und Terminals

   4.3. Zugriffsrechte

   4.4. Verzeichnis-Strukturen

   4.5. Festplatten, Slices und Partitionen

   4.6. Anha:ngen und Abha:ngen von Dateisystemen

   4.7. Prozesse

   4.8. Da:monen, Signale und Stoppen von Prozessen

   4.9. Shells

   4.10. Text-Editoren

   4.11. Gera:te und Gera:tedateien

   4.12. Bina:rformate

   4.13. Weitere Informationen

4.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(R)-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(R) 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.

4.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(R) Betriebssystems zur Verfu:gung. Dieser
   Abschnitt beschreibt was Terminals und Konsolen sind und wie sie unter
   FreeBSD eingesetzt werden.

  4.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(R) 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.

  4.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(R)-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.

  4.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.

  4.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.

  4.2.5. Die Konsole im Single-User-Modus

   Eine eingehende Beschreibung des Single-User-Modus finden Sie in
   Abschnitt 13.6.2, "Der Single-User Modus". 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.

  4.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"

4.3. Zugriffsrechte

   FreeBSD, das ein direkter Abko:mmling von BSD UNIX(R) ist, stu:tzt sich
   auf mehrere Grundkonzepte von UNIX(R) 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, Ausfu:hren      --x                       
   2    Kein Lesen, Schreiben, Kein Ausfu:hren      -w-                       
   3    Kein Lesen, Schreiben, Ausfu:hren           -wx                       
   4    Lesen, Kein Schreiben, Kein Ausfu:hren      r--                       
   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).

  4.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

  4.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).

  4.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(R)-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.

4.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 4.5, "Festplatten, Slices und
   Partitionen" 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 4.6.1, "Die fstab Datei".

   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).           
   /etc/periodic/  Ta:glich, wo:chentlich oder monatlich ablaufende Skripte,  
                   die von cron(8) gestartet werden. Siehe periodic(8).       
   /etc/ppp/       Konfigurationsdateien von ppp, siehe ppp(8).               
   /mnt/           Ein leeres Verzeichnis, das von 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.                                 
   /sbin/          Systemprogramme und administrative Werkzeuge, die          
                   grundlegend fu:r den Single-User-Modus und den             
                   Mehrbenutzerbetrieb sind.                                  
   /tmp/           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 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.                             
   /usr/local/     Lokale Programme, Bibliotheken usw. Die Ports-Sammlung     
                   benutzt dieses Verzeichnis als Zielverzeichnis fu:r zu     
                   installierende Anwendungen. Innerhalb von /usr/local       
                   sollte das 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.                
   /var/           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 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.                                               
   /var/tmp/       Tempora:re Dateien. Dateien in diesem Verzeichnis 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.                                                  

4.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(R) 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:

   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:

   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:

   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:

   C ko:nnte auch im Verzeichnis A1 eingehangen werden:

   Der MS-DOS(R)-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(R)-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                          
   c         Ist normalerweise genauso gross wie die Slice in der die         
             Partition liegt. Werkzeuge, die auf der kompletten Slice         
             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.                                                  
   d         Fru:her hatte die d-Partition eine besondere Bedeutung. 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(R)-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 4.1,
   "Laufwerk-Codes" 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 4.1, "Namen von Platten, Slices und Partitionen".

   Der Aufbau einer Festplatte wird in Beispiel 4.2, "Aufteilung einer
   Festplatte" 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 4.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 4.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 4.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(R)-Partitionen) mit je 2 GB besitzen. Die erste Slice
   entha:lt ein MS-DOS(R)-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.

4.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.

  4.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 19.2,
           "Gera:tenamen" 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.

  4.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 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.

  4.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.

4.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.

4.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.

   Prozedur 4.1. 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(R) 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.

4.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(R) 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.

  4.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.

4.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.

4.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(R) Systemen u:ber spezielle
   Gera:tedateien im /dev Verzeichnis zugegriffen.

  4.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.

    4.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).

4.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(R) Systeme wissen:

     * a.out(5)

       Das a:lteste und "klassische" Objektformat von UNIX(R) 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(R) 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.

4.13. Weitere Informationen

  4.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 das folgende Kommando auf:

 % cd /usr/bin
 % man -f *

   Dasselbe erreichen Sie durch Eingabe von:

 % cd /usr/bin
 % whatis *

  4.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 ein:

 % info

   Eine kurze Einfu:hrung gibt es mit h; eine Befehlsreferenz erhalten Sie
   durch Eingabe von: ?.

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

   [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 wird er beendet.

Kapitel 5. Installieren von Anwendungen: Pakete und Ports

   U:bersetzt von Uwe Pierau.
   Inhaltsverzeichnis

   5.1. U:bersicht

   5.2. Installation von Software

   5.3. Suchen einer Anwendung

   5.4. Benutzen des Paketsystems

   5.5. Benutzen der Ports-Sammlung

   5.6. Nach der Installation

   5.7. Kaputte Ports

5.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.

5.2. Installation von Software

   Wenn Sie schon einmal ein UNIX(R) 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 24,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.

5.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.

5.4. Benutzen des Paketsystems

   Beigesteuert von Chern Lee.

   Es gibt viele unterschiedliche Werkzeuge um Pakete in FreeBSD zu
   verwalten:

     * Auf einem laufenden System kann sysinstall benutzt werden, um Pakete
       zu installieren, zu lo:schen und verfu:gbare und installierte
       anzuzeigen. Weitere Informationen finden Sie unter Abschnitt 2.10.11,
       "Pakete installieren".

     * Die Paketverwaltungswerkzeuge der Kommandozeile sind die Themen von
       diesem Kapitel.

  5.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 5.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 8.1-RELEASE installiert haben, versucht pkg_add(1)
   in der Voreinstellung die Pakete von
   ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.1-release/Latest/
   zu laden. Wollen Sie pkg_add(1) dazu zwingen, nur FreeBSD 8-STABLE-Pakete
   herunterzuladen, setzen Sie die Umgebungsvariable PACKAGESITE auf
   ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8-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.

  5.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.                    

  5.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.

  5.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.

5.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.

  5.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:

   Prozedur 5.1. 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 im Basissystem enthaltene Variante des CVSup-Protokolls heisst csup.

   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.

   Prozedur 5.2. Installieren mit Portsnap

   Bei Portsnap handelt es sich um ein alternatives System zur Distribution
   der Ports-Sammlung. Eine detaillierte Beschreibung von Portsnap finden Sie
   im Abschnitt Portsnap: Ein Werkzeug zur Aktualisierung der Ports-Sammlung
   des Handbuchs.

    1. 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

    2. 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

   Prozedur 5.3. 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 aus:

 # 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.

  5.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 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/firefox,
   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.

    5.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.

    5.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.

    5.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.

  5.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

  5.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

    5.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.

    5.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 wie jeden anderen Port mit make install clean
   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.

    5.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).

    5.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).

  5.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.

5.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 12.5, "Start von Diensten".

5.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
       <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 6. Das X-Window-System

   Erweitert um X.Orgs X11-Server von Ken Tom und Marc Fonvieille.
   U:bersetzt von Martin Heinen.
   Inhaltsverzeichnis

   6.1. U:bersicht

   6.2. X-Grundlagen

   6.3. X11 installieren

   6.4. X11 konfigurieren

   6.5. Schriftarten in X11 benutzen

   6.6. Der X-Display-Manager

   6.7. Grafische Oberfla:chen

6.1. U:bersicht

   Mit X11 steht unter FreeBSD eine leistungsfa:hige frei verfu:gbare
   grafische Benutzeroberfla:che zur Verfu:gung, die in Xorg (sowie in
   weiteren, hier nicht diskutierten Varianten) implementiert wurde. Xorg von
   der X.Org Foundation ist der voreingestellte Standard-X11-Server, der
   unter einer Lizenz a:hnlich der von FreeBSD steht. Zusa:tzlich sind einige
   kommerzielle X-Server fu:r FreeBSD verfu:gbar.

   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 5, Installieren
       von Anwendungen: Pakete und Ports).

6.2. X-Grundlagen

   Anwendern anderer grafischer Benutzeroberfla:chen, wie
   Microsoft(R) Windows(R) oder Mac OS(R), 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.

  6.2.1. Warum heisst es X?

   X ist nicht die erste grafische Benutzeroberfla:che, die fu:r UNIX(R)
   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).

  6.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(R) 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(R) Windows(R)
   oder Apples Mac OS(R) betrieben werden, wie viele kostenlose und
   kommerzielle Anwendungen zeigen.

  6.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(R) Windows(R)), 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(R) Windows(R) 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.

  6.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(R) Windows(R) werden Widgets Controls genannt.

   Microsoft(R) Windows(R) und Apples Mac OS(R) 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(R) Windows(R) 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.

6.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(TM) 4.4RC2 und X11R6.6. Derzeit ist die Version 7.7 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.

   Alternativ ko:nnen Sie x11/xorg-minimal verwenden, um eine minimale
   X11-Distribution zu installieren.

   Der Rest dieses Kapitels erkla:rt, wie Sie X11 konfigurieren und sich eine
   Arbeitsumgebung einrichten.

6.4. X11 konfigurieren

   Beigetragen von Christopher Shumway.

  6.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.

  6.4.2. X11 konfigurieren

   Xorg verwendet HAL, um Tastaturen und Ma:use automatisch zu erkennen. Die
   Ports sysutils/hal und devel/dbus werden als Abha:ngigkeiten von x11/xorg
   installiert, mu:ssen aber durch die folgenden Eintra:ge in /etc/rc.conf
   aktiviert werden:

 hald_enable="YES"
 dbus_enable="YES"

   Diese Dienste sollten (entweder manuell oder durch einen Neustart)
   gestartet werden, bevor mit der weiteren Konfiguration oder Verwendung von
   Xorg begonnen wird.

   Xorg kann oft schon ohne weitere Konfigurationsschritte laufen, indem am
   Prompt folgendes eingegeben wird:

 % startx

   Die automatische Konfiguration kann mit bestimmter Hardware fehlschlagen
   oder gewisse Dinge nicht so einrichten, wie gewu:nscht. In diesen Fa:llen
   ist eine manuelle Konfiguration notwendig.

  Anmerkung:

   Grafische Oberfla:chen wie GNOME, KDE oder Xfce besitzen eigene Werkzeuge,
   die es dem Benutzer erlauben, auf einfache Art und Weise die
   Bildschirmparameter wie die Auflo:sung zu a:ndern. Falls die
   Standardkonfiguration fu:r Sie nicht akzeptabel ist und die Installation
   einer grafischen Oberfla:che geplant ist, fahren Sie damit fort und
   benutzen Sie dann das entsprechende Werkzeug fu:r die
   Bildschirmeinstellungen.

   Die X11 Konfiguration spielt sich in mehreren Schritten ab. 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 -retro

   Wenn jetzt ein graues Raster und der X-Mauszeiger erscheinen, war die
   Konfiguration erfolgreich. Beenden Sie den Test, indem Sie auf die
   virtuelle Konsole wechseln, die Sie verwendet haben, um den Test zu
   starten, durch gleichzeitiges dru:cken von Ctrl+Alt+Fn (F1 fu:r die erste
   virtuelle Konsole) und dru:cken anschliessend Ctrl+C.

  Anmerkung:

   Die Tastenkombination Ctrl+Alt+Backspace kann verwendet werden, um Xorg zu
   beenden. Um diese zu aktivieren, fu:gen geben Sie entweder den folgenden
   Befehl von einem X-Terminalemulator ein:

 % setxkbmap -option terminate:ctrl_alt_bksp

   oder erstellen Sie eine Tastaturkonfigurationsdatei fu:r hald,
   x11-input.fdi genannt, und legen Sie diese im Verzeichnis
   /usr/local/etc/hal/fdi/policy ab. Diese Datei sollte die folgenden Zeilen
   enthalten:

 <?xml version="1.0" encoding="iso-8859-1"?>
 <deviceinfo version="0.2">
    <device>
      <match key="info.capabilities" contains="input.keyboard">
            <merge key="input.x11_XkbOptions" type="string">terminate:ctrl_alt_bksp</merge>
      </match>
    </device>
 </deviceinfo>

   Sie mu:ssen anschliessend ihren Computer neu starten, um hald zu zwingen,
   diese Datei einzulesen.

   Die folgende Zeile muss ebenfalls zu xorg.conf.new hinzugefu:gt werden,
   entweder in den Abschnitt ServerLayout oder ServerFlags:

 Option  "DontZap"       "off"

   Wenn die Maus nicht funktioniert, pru:fen Sie, ob die Maus konfiguriert
   wurde. Die Mauskonfiguration wird in Abschnitt 2.10.10, "Die Maus
   konfigurieren" im FreeBSD-Installationskapitel beschrieben. In neueren
   Xorg-Versionen werden die InputDevice-Abschnitte in xorg.conf ignoriert,
   um stattdessen die automatisch erkannten Gera:te zu verwenden. Um das alte
   Verhalten wiederherzustellen, fu:gen Sie die folgende Zeile zum
   ServerLayout- oder dem ServerFlags-Abschnitt dieser Datei hinzu:

 Option "AutoAddDevices" "false"

   Eingabegera:te ko:nnen dann wie in den vorherigen Versionen konfiguriert
   werden, zusammen mit anderen beno:tigen Optionen (z.B. wechseln des
   Tastaturlayouts).

  Anmerkung:

   Wie zuvor erwa:hnt, wird standardma:ssig der hald-Dienst automatisch Ihre
   Tastatur erkennen. Es kann passieren, dass ihr Tastaturlayout oder das
   Modell nicht korrekt erkannt wird. Grafische Oberfla:chen wie GNOME, KDE
   oder Xfce stellen Werkzeuge fu:r die Konfiguration der Tastatur bereit. Es
   ist allerdings auch mo:glich, die Tastatureigenschaften direkt zu setzen,
   entweder mit Hilfe von setxkbmap(1) oder mit einer Konfigurationsregel von
   hald.

   Wenn Sie zum Beispiel eine PC 102-Tasten Tastatur mit franzo:sischem
   Layout verwenden mo:chten, mo:ssen Sie eine Tastaturkonfigurationsdatei
   fu:r hald, genannt x11-input.fdi, im Verzeichnis
   /usr/local/etc/hal/fdi/policy ablegen. Diese Datei sollte die folgenden
   Zeilen enthalten:

 <?xml version="1.0" encoding="iso-8859-1"?>
 <deviceinfo version="0.2">
    <device>
      <match key="info.capabilities" contains="input.keyboard">
            <merge key="input.x11_options.XkbModel" type="string">pc102</merge>
            <merge key="input.x11_options.XkbLayout" type="string">fr</merge>
      </match>
    </device>
 </deviceinfo>

   Wenn diese Datei bereits existiert, kopieren Sie nur die Zeilen in diese
   Datei, welche die Tastaturkonfiguration betreffen.

   Sie mo:ssen Ihren Computer neu starten, um hald zu zwingen, diese Datei
   einzulesen.

   Es ist mo:glich, die gleiche Konfiguration von einem X-Terminal oder einem
   Skript u:ber den folgenden Befehl heraus zu ta:tigen:

 % setxkbmap -model pc102 -layout fr

   Die Datei /usr/local/share/X11/xkb/rules/base.lst listet die verschiedenen
   Tastatur- und Layoutoptionen auf, die Ihnen zur Verfu:gung stehen.

   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.

  6.4.3. Spezielle Konfigurationen

    6.4.3.1. Konfiguration des Intel(R) i810 Graphics Chipsets

   Der Intel(R) 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.

    6.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.

6.5. Schriftarten in X11 benutzen

   Beigetragen von Murray Stokely.

  6.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(R) 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(R)-Schriftarten verwendet. Mehr dazu erfahren Sie in der
   Hilfeseite X(7) und im Abschnitt TrueType(R) 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.

  6.5.2. TrueType(R)-Schriftarten

   Xorg kann TrueType(R)-Schriftarten mithilfe von zwei Modulen darstellen.
   Im folgenden Beispiel wird das Freetype-Modul benutzt, da es besser mit
   anderen Werkzeugen, die TrueType(R)-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(R)-Schriftarten (z.B.
   /usr/local/lib/X11/fonts/TrueType) und kopieren Sie alle Schriftarten
   dorthin. Die Schriftarten mu:ssen im UNIX(R)/MS-DOS(R)/Windows(R)-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(R)-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(R), Gimp, StarOffice(TM) und alle
   anderen X-Anwendungen die TrueType(R)-Schriftarten benutzen. Extrem kleine
   Schriftarten (Webseiten, die mit hoher Auflo:sung betrachtet werden) und
   sehr grosse Schriftarten (in StarOffice(TM)) sollten jetzt viel besser
   aussehen.

  6.5.3. Anti-aliasing

   Aktualisiert von Joe Marcus Clarke.

   Alle Schriftarten in X11, die in den Verzeichnissen
   /usr/local/lib/X11/fonts/ und ~/.fonts/ gefunden werden, werden
   automatisch fu:r Anti-aliasing an Anwendungen zur Verfu:gung gestellt, die
   Xft beherrschen. Die meisten aktuellen Anwendungen beherrschen Xft, dazu
   geho:ren auch KDE, GNOME und Firefox.

   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 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.

   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>

  Anmerkung:

   Abha:ngig von der Art Ihres Bildschirms mu:ssen Sie anstelle von rgb eines
   der folgenden verwenden: bgr, vrgb oder vbgr. Experimentieren Sie und
   vergleichen, was besser aussieht.

6.6. Der X-Display-Manager

   Beigetragen von Seth Kingsley.

  6.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 27.3.2, "Konfiguration") 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.

  6.6.2. XDM einrichten

   Um XDM verwenden zu ko:nnen, installieren Sie den Port x11/xdm (dieser
   wird standardma:ssig nicht in aktuellen Xorg-Versionen mitinstalliert).
   Der XDM-Daemon befindet sich dann 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 27.3.2.1, "Hinzufu:gen eines Eintrags in /etc/ttys") 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 27.3.2.2, "init zwingen,
   /etc/ttys erneut zu lesen" 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.

  6.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.

    6.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).

    6.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.

    6.6.3.3. Xservers

   Diese Datei entha:lt eine Liste entfernter Maschinen, die in der
   Bildschirmauswahl angeboten werden.

    6.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.

    6.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.

    6.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.

    6.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.

  6.6.4. Einrichten eines Bildschirm-Servers auf dem Netzwerk

   Damit sich Clients mit dem Bildschirm-Server verbinden ko:nnen, muss der
   Zugriffsregelsatz editiert 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.

  6.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.

6.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.

  6.7.1. GNOME

    6.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.

    6.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

   Damit GNOME korrekt funktioniert, muss das /proc-Dateisystem eingeha:ngt
   sein. Fu:gen Sie daher die folgende Zeile in /etc/fstab ein, damit
   procfs(5) beim Systemstart automatisch eingeha:ngt wird:

 proc           /proc       procfs  rw  0   0

   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 wird zwar als Teil des GNOME-Desktops installiert, ist aber in der
   Voreinstellung deaktiviert. Um GDM zu aktivieren, fu:gen Sie folgende
   Zeile in /etc/rc.conf ein:

 gdm_enable="YES"

   Nach einem Systemneustart wird GDM ab sofort automatisch gestartet.

   In der Regel ist es ratsam, alle GNOME-Dienste beim Start von GDM zu
   aktivieren. Um dies zu erreichen, fu:gen Sie die folgende Zeile in
   /etc/rc.conf ein:

 gnome_enable="YES"

   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.

  6.7.2. KDE

    6.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(R)-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.

   Es sind zwei Versionen von KDE unter FreeBSD verfu:gbar. Version 3 ist
   schon seit einiger Zeit erha:ltlich und ist sehr ausgereift. Version 4,
   die na:chste Generation, ist ebenfalls u:ber die Ports-Sammlung
   verfu:gbar. Beide Versionen ko:nnen sogar gleichzeitig installiert werden.

    6.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 KDE3 u:ber das Netz zu installieren, setzen Sie den nachstehenden
   Befehl ab:

 # pkg_add -r kde

   Um KDE4 u:ber das Netzwerk zu installieren, geben Sie folgendes ein:

 # pkg_add -r kde4

   pkg_add(1) installiert automatisch die neuste Version einer Anwendung.

   Benutzen Sie die Ports-Sammlung, wenn Sie den Quellcode von KDE3
   u:bersetzen wollen:

 # cd /usr/ports/x11/kde3
 # make install clean

   Um KDE4 aus dem Quellcode zu u:bersetzen, geben Sie folgendes ein:

 # cd /usr/ports/x11/kde4
 # make install clean

   Nachdem KDE installiert ist, muss der X-Server KDE anstelle eines
   Window-Managers starten. Legen Sie dazu die Datei .xinitrc an:

   Fu:r KDE3:

 % echo "exec startkde" > ~/.xinitrc

   Fu:r KDE4:

 % echo "exec /usr/local/kde4/bin/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.

  6.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(R) 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.

    6.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.

   Die Art und Weise, wie kdm aktiviert wird, ha:ngt dabei von der von Ihnen
   eingesetzten KDE-Version ab.

   Fu:r KDE3 mu:ssen die ttyv8-Zeile wie folgt anpassen:

 ttyv8 "/usr/local/bin/kdm -nodaemon" xterm on secure

   Verwenden Sie hingegen KDE4, mu:ssen Sie folgende Zeilen in die Datei
   /etc/rc.conf aufnehmen:

 local_startup="${local_startup} /usr/local/kde4/etc/rc.d"
 kdm4_enable="YES"

  6.7.4. Xfce

    6.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(R) 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.

    6.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.

                        Teil 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

   7. Desktop-Anwendungen

                7.1. U:bersicht

                7.2. Browser

                7.3. Bu:roanwendungen

                7.4. Anzeigen von Dokumenten

                7.5. Finanzsoftware

                7.6. Zusammenfassung

   8. Multimedia

                8.1. U:bersicht

                8.2. Soundkarten einrichten

                8.3. MP3-Audio

                8.4. Videos wiedergeben

                8.5. TV-Karten einrichten

                8.6. MythTV

                8.7. Scanner

   9. Konfiguration des FreeBSD-Kernels

                9.1. U:bersicht

                9.2. Wieso einen eigenen Kernel bauen?

                9.3. Informationen u:ber die vorhandene Hardware beschaffen

                9.4. Kerneltreiber, Subsysteme und Module

                9.5. Erstellen und Installation eines angepassten Kernels

                9.6. Die Kernelkonfigurationsdatei

                9.7. Wenn etwas schiefgeht

   10. Drucken

                10.1. U:bersicht

                10.2. Einfu:hrung

                10.3. Grund-Konfiguration

                10.4. Erweiterte Drucker-Konfiguration

                10.5. Drucker verwenden

                10.6. Alternativen zum LPD-Drucksystem

                10.7. Problembehandlung

   11. Linux-Bina:rkompatibilita:t

                11.1. U:bersicht

                11.2. Installation

                11.3. Mathematica(R) installieren

                11.4. Maple(TM) installieren

                11.5. MATLAB(R) installieren

                11.6. Oracle(R) installieren

                11.7. Weiterfu:hrende Themen

Kapitel 7. Desktop-Anwendungen

   Beigetragen von Christophe Juniet.
   U:bersetzt von Martin Heinen.
   Inhaltsverzeichnis

   7.1. U:bersicht

   7.2. Browser

   7.3. Bu:roanwendungen

   7.4. Anzeigen von Dokumenten

   7.5. Finanzsoftware

   7.6. Zusammenfassung

7.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 11,
   Linux-Bina:rkompatibilita:t 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), Chromium)

     * Bu:roanwendungen (KOffice, AbiWord, The GIMP, OpenOffice.org,
       LibreOffice)

     * Dokumentformate(Acrobat Reader(R), gv, Xpdf, GQview)

     * Finanzsoftware ( GnuCash, Gnumeric, Abacus)

   Bevor Sie dieses Kapitel lesen, sollten Sie

     * Software Dritter installieren ko:nnen (Kapitel 5, Installieren von
       Anwendungen: Pakete und Ports) und

     * Linux-Anwendungen installieren ko:nnen (Kapitel 11,
       Linux-Bina:rkompatibilita:t).

   Wie Sie Multimedia-Anwendungen einrichten, wird in einem gesonderten
   Kapitel erkla:rt. Wie Sie E-Mail einrichten und benutzen, wird in
   Kapitel 29, Elektronische Post (E-Mail) beschrieben.

7.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 6.7, "Grafische
   Oberfla:chen" 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 Abha:ngigkeiten  
                                 aus den Ports     
   Firefox   mittel           hoch                 Gtk+                       
                                                   Es gibt eine FreeBSD- und  
                                                   eine Linux-Version. Die    
                                                   Linux-Version ha:ngt von   
   Opera     niedrig          niedrig              der Linux-Kompatibilita:t  
                                                   (Linux Binary              
                                                   Compatibility) und         
                                                   linux-openmotif ab.        
   Konqueror mittel           hoch                 KDE-Biliotheken            
   Chromium  mittel           mittel               Gtk+                       

  7.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 10.0, wenn Sie stattdessen Firefox 3.6
   einsetzen mo:chten, geben Sie folgenden Befehl ein:

 # pkg_add -r firefox36

   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 firefox36, falls Sie
   Firefox 3.6 verwenden wollen.

  7.2.2. Firefox und das Java(TM)-Plugin

  Anmerkung:

   Dieser und die beiden na:chsten Abschnitte gehen davon aus, dass Sie
   Firefox bereits installiert haben.

   Die Schritte zur Installation des Plugins ha:ngen davon, welche Firefox
   Sie installiert haben.

   Installieren Sie das OpenJDK 6 u:ber die Ports-Sammlung:

 # cd /usr/ports/java/openjdk6
 # make install clean

   Danach installieren Sie den Port java/icedtea-web:

 # cd /usr/ports/java/icedtea-web
 # make install clean

   Stellen Sie dabei sicher, dass Sie jeweils die Standardoptionen verwenden.

   Starten Sie nun Ihren Browser, geben Sie in der Adresszeile about:plugins
   ein und besta:tigen Sie diese Eingabe mit der Enter-Taste. Dadurch wird
   eine Seite geo:ffnet, die alle installierten Plugins auflistet. In dieser
   Liste sollte sich nun auch das Java(TM)-Plugin befinden.

   Wird das Plugin nicht gefunden, muss fu:r jeden Benutzer der folgende
   Befel ausgefu:hrt werden:

 % ln -s /usr/local/lib/IcedTeaPlugin.so \
   $HOME/.mozilla/plugins/

  7.2.3. Firefox und das Adobe(R) Flash(R)-Plugin

   Das Adobe(R) Flash(R)-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(R) 9.X installiert, denn diese Version la:uft
       zuverla:ssig auf FreeBSD 7.X.

    2. Fu:r FreeBSD 8.X oder Neuere

       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 Flash(R) 11.X aus dem Port
       www/linux-f10-flashplugin11.

       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/

       Falls das Verzeichnis /usr/local/lib/browser_plugins auf Ihrem System
       nicht existiert, mu:ssen Sie es manuell anlegen.

   Sobald der richtige Flash(R)-Port passend zu ihrer FreeBSD Version
   installiert ist, muss das Plugin von jedem Benutzer mittels
   nspluginwrapper installiert werden:

 % nspluginwrapper -v -a -i

   Das Linux(R) Prozessdateisystem, linprocfs(5), muss unter
   /compat/linux/proc eingeha:ngt werden, wenn Sie Flash(R)-Animationen
   abspielen mo:chten. Dies kann mittels des folgenden Kommandos geschehen:

 # mount -t linprocfs linproc /compat/linux/proc

   Dieser Schritt kann automatisiert zur Bootzeit ablaufen, indem Sie die
   passende Zeile in /etc/fstab eintragen:

 linproc   /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.

  7.2.4. Firefox und das Swfdec Flash(R)-Plugin

   Swfdec ist die Bibliothek zum Dekodieren und Rendern von Flash(R)
   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.

  7.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.

   Das Adobe(R) Flash(R)-Plugin ist fu:r FreeBSD nicht verfu:gbar. Es gibt
   aber eine Linux(R)-Version des Plugins, die auch unter FreeBSD installiert
   werden kann. Dazu installieren Sie zuerst den Port
   www/linux-f10-flashplugin11, danach den Port www/opera-linuxplugins:

 # cd /usr/ports/www/linux-f10-flashplugin11
 # make install clean
 # cd /usr/ports/www/opera-linuxplugins
 # make install clean

   Danach sollte das Plugin installiert sein. Um dies zu u:berpru:fen,
   starten Sie den Browser und geben in die Adresszeile opera:plugins ein und
   besta:tigen diese Eingabe mit der Return-Taste. Dadurch erhalten Sie eine
   Liste aller derzeit installierter Plugins.

   Um das Java(TM)-Plugin zu installieren, folgen Sie bitte den
   entsprechenden Anweisungen fu:r Firefox.

  7.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(R)-Seiten darstellen. Wie Sie die
   Flash(R)-Unterstu:tzung aktiviern, ko:nnen Sie unter
   http://freebsd.kde.org/howtos/konqueror-flash.php nachlesen.

  7.2.7. Chromium

   Chromium ist ein quelloffenes Browserprojekt mit dem Ziel ein sicheres,
   schnelleres und stabileres Surferlebnis im Web zu ermo:glichen. Chromium
   ermo:glicht surfen mit Tabs, Blockieren von Pop-Ups, Erweiterungen und
   vieles mehr. Chromium ist das Open Source Projekt, welches auf dem Google
   Chrome Webbrowser basiert.

   Chromium kann als Paket durch die Eingabe des folgenden Befehls
   installiert werden:

 # pkg_add -r chromium

   Als Alternative kann Chromium aus dem Quellcode durch die Ports Collection
   u:bersetzt werden:

 # cd /usr/ports/www/chromium
 # make install clean

  Anmerkung:

   Chromium wird als /usr/local/bin/chrome installiert und nicht als
   /usr/local/bin/chromium.

  7.2.8. Chromium und das Java(TM)-Plug-In

  Anmerkung:

   Dieser Abschnitt setzt voraus, dass Chromium bereits installiert ist.

   Installieren Sie OpenJDK 6 mit Hilfe der Ports Collection durch Eingabe
   von:

 # cd /usr/ports/java/openjdk6
 # make install clean

   Als na:chstes installieren Sie java/icedtea-web aus der Ports Collection:

 # cd /usr/ports/java/icedtea-web
 # make install clean

   Starten Sie Chromium und geben Sie about:plugins in die Addresszeile ein.
   IcedTea-Web sollte dort als eines der installierten Plug-Ins aufgelistet
   sein.

   Falls Chromium das IcedTea-Web Plug-In nicht anzeigt, geben Sie das
   folgende Kommando ein und starten Sie den Webbrowser anschliessend neu:

 # mkdir -p /usr/local/share/chromium/plugins
 # ln -s /usr/local/lib/IcedTeaPlugin.so \
    /usr/local/share/chromium/plugins/

  7.2.9. Chromium und das Adobe(R) Flash(R)-Plug-In

  Anmerkung:

   Dieser Abschnitt setzt voraus, dass Chromium bereits installiert ist.

   Die Konfiguration von Chromium und Adobe(R) Flash(R) ist a:hnlich zur
   Anleitung fu:r Firefox. Fu:r genauere Hinweise zur Installation von
   Adobe(R) Flash(R) auf FreeBSD, wenden Sie sich bitte an diesen Abschnitt.
   Es sollte keine weitere Konfiguration notwendig sein, da Chromium in der
   Lage ist, Plug-Ins von anderen Browsern mit zu benutzen.

7.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 aus      wichtige     
                                           den Ports         Abha:ngigkeiten  
   KOffice        niedrig          hoch                      KDE              
   AbiWord        niedrig          niedrig                   Gtk+ oder GNOME  
   The Gimp       niedrig          hoch                      Gtk+             
   OpenOffice.org hoch             enorm                     JDK(TM), Mozilla 
   LibreOffice    etwas hoch       enorm                     Gtk+, KDE/ GNOME 
                                                             oder JDK(TM)     

  7.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 fu:r KDE4:

 # pkg_add -r koffice-kde4

   Wenn das Paket nicht zur Verfu:gung steht, benutzen Sie bitte die
   Ports-Sammlung. Wenn Sie beispielsweise KOffice fu:r KDE4 installieren
   wollen, setzen Sie die nachstehendenen Befehle ab:

 # cd /usr/ports/editors/koffice-kde4
 # make install clean

  7.3.2. AbiWord

   AbiWord ist eine freie Textverarbeitung, die a:hnlich wie Microsoft(R)
   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(R), 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

  7.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.

  7.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(R), Solaris(TM), Linux, FreeBSD und Mac OS(R) 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.org 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-3
 # 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

  7.3.5. LibreOffice

   LibreOffice ist ein als freie Software verfu:gbares Office-Paket, welches
   von The Document Foundation entwickelt wird, das mit anderen grossen
   Office-Paketen kompatibel ist und auf einer Vielzahl von Plattformen
   lauffa:hig ist. Es ist ein Fork von OpenOffice.org unter neuem Namen, der
   alle notwendigen Anwendungen in einem kompletten Bu:roanwendungspaket
   entha:lt: eine Textverarbeitung, eine Tabellenkalkulation, ein
   Pra:sentationsmanager, ein Zeichenprogramm, ein
   Datenbankmanagementprogramm und ein Werkzeug zum Erstellen und Bearbeiten
   von mathematischen Formeln. Es steht in einer Reihe von Sprachen zur
   Verfu:gung; die Internationalisierung wurde auf die Oberfla:che,
   Rechtschreibkorrektur und die Wo:rterbu:cher ausgeweitet.

   Das Textverarbeitungsprogramm von LibreOffice benutzt ein natives
   XML-Dateiformat fu:r erho:hte Portabilita:t und Flexibilita:t. Die
   Tabellenkalkulation entha:lt eine Makrosprache und kann mit externen
   Datenbanken Verbindungen herstellen. LibreOffice ist bereits stabil genug
   und la:uft nativ auf Windows(R), Linux, FreeBSD und Mac OS(R) X. Weitere
   Informationen zu LibreOffice ko:nnen auf der LibreOffice Webseite
   abgerufen werden.

   Um LibreOffice als Paket zu installieren, geben Sie folgenden Befehl ein:

 # pkg_add -r libreoffice

  Anmerkung:

   Dies sollte funktionieren, wenn Sie eine -RELEASE-Version von FreeBSD
   einsetzen.

   Sobald das Paket installiert ist, geben Sie das folgende Kommando ein, um
   LibreOffice zu starten:

 % libreoffice

  Anmerkung:

   Wa:hrend des ersten Starts werden Sie ein paar Fragen gestellt bekommen
   und es wird ein Verzeichnis .libreoffice in Ihrem Heimatverzeichnis
   erstellt.

   Wenn die LibreOffice-Pakete nicht verfu:gbar sind, haben Sie immer noch
   die Mo:glichkeit, den Port zu verwenden. Jedoch mu:ssen Sie bedenken, dass
   dies eine Menge Speicherplatz beno:tigt und viel Zeit in Anspruch nimmt,
   bis der Port fertig gebaut ist.

 # cd /usr/ports/editors/libreoffice
 # make install clean

  Anmerkung:

   Wenn Sie eine Version in Ihrer Sprache bauen mo:chten, ersetzen Sie das
   vorhergehende Kommando mit dem folgenden:

 # make LOCALIZED_LANG=ihre_Sprache install clean

   Sie mu:ssen ihre_Sprache mit dem richtigen ISO-Code fu:r ihre Sprache
   ersetzen. Eine Liste von unterstu:tzten Sprachcodes sind im Makefile des
   Ports als pre-fetch-Target verfu:gbar.

   Sobald dies abgeschlossen ist, kann LibreOffice mit dem folgenden Befehl
   gestartet werden:

 % libreoffice

7.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(R) niedrig          niedrig                 Linux Binary    
                                                              Compatibility   
   gv                niedrig          niedrig                 Xaw3d           
   Xpdf              niedrig          niedrig                 FreeType        
   GQview            niedrig          niedrig                 Gtk+ oder GNOME 

  7.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(R) 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(R) 8 u:ber die Ports-Sammlung zu installieren, geben Sie
   Folgendes ein:

 # cd /usr/ports/print/acroread8
 # make install clean

   Aufgrund der Lizenzbedinungen ist eine Paketversion leider nicht
   verfu:gbar.

  7.4.2. gv

   gv kann PostScript(R)- 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

  7.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(R) 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.

  7.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

7.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 oder Excel verwendet werden.

   Dieser Abschnitt behandelt die folgenden Anwendungen:

   Anwendung Ressourcenbedarf  Installationsaufwand aus den      wichtige     
                                           Ports              Abha:ngigkeiten 
   GnuCash   niedrig          hoch                            GNOME           
   Gnumeric  niedrig          hoch                            GNOME           
   Abacus    niedrig          niedrig                         Tcl/Tk          
   KMyMoney  niedrig          hoch                            KDE             

  7.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

  7.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

  7.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(R) 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

  7.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

7.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                    
   Chromium                 chromium           www/chromium                   
   KOffice                  koffice-kde4       editors/koffice-kde4           
   AbiWord                  abiword            editors/abiword                
   The GIMP                 gimp               graphics/gimp                  
   OpenOffice.org           openoffice         editors/openoffice.org-3       
   LibreOffice              libreoffice        editors/libreoffice            
   Acrobat Reader(R)        acroread           print/acroread8                
   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 8. Multimedia

   U:berarbeitet von Ross Lippert.
   Inhaltsverzeichnis

   8.1. U:bersicht

   8.2. Soundkarten einrichten

   8.3. MP3-Audio

   8.4. Videos wiedergeben

   8.5. TV-Karten einrichten

   8.6. MythTV

   8.7. Scanner

8.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 6, Das X-Window-System 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 9, Konfiguration des FreeBSD-Kernels).

  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.

8.2. Soundkarten einrichten

   Von Moses Moore.
   Aktualisiert von Marc Fonvieille.
   U:bersetzt von Benedikt Ko:hler und Uwe Pierau.

  8.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.

    8.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(R) 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(R) 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).

  8.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 8.2.2.1,
   "Ha:ufige Probleme" 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.

  Anmerkung:

   Die Gera:tedateien /dev/dsp* werden automatisch erzeugt, wenn sie das
   erste Mal beno:tigt werden. Werden sie nicht verwendet, sind sie hingegen
   nicht vorhanden und tauchen daher auch nicht in der Ausgabe von ls(1) auf.

   Die Einstellungen des Mixers ko:nnen Sie mit dem Kommando mixer(8)
   vera:ndern. Weiteres lesen Sie bitte in der Hilfeseite mixer(8) nach.

    8.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 attached, Es ist nicht genug Speicher verfu:gbar, um das  
   out of memory              Gera:t zu betreiben.                            
                              U:berpru:fen Sie mit fstat | grep dsp ob eine   
   xxx: can't open /dev/dsp!  andere Anwendung das Gera:t geo:ffnet hat.      
                              Ha:ufige Sto:renfriede sind esound oder die     
                              Sound-Unterstu:tzung von KDE.                   

   Ein weiterer Fall ist der, dass moderne Graphikkarten oft auch ihre
   eigenen Soundtreiber mit sich fu:hren, um HDMI oder a:hnliches zu
   verwenden. Diese Audiogera:te werden manchmal vor der eigentlichen,
   separaten Soundkarte aufgefu:hrt und dadurch nicht als das Standardgera:t
   zum Abspielen von To:nen benutzt. Um zu pru:fen, ob das bei Ihnen der Fall
   ist, fu:hren Sie dmesg aus und suchen Sie nach der Zeichenfolge pcm. Die
   Ausgabe sieht in etwa so aus wie folgt:

 ...
 hdac0: HDA Driver Revision: 20100226_0142
 hdac1: HDA Driver Revision: 20100226_0142
 hdac0: HDA Codec #0: NVidia (Unknown)
 hdac0: HDA Codec #1: NVidia (Unknown)
 hdac0: HDA Codec #2: NVidia (Unknown)
 hdac0: HDA Codec #3: NVidia (Unknown)
 pcm0: <HDA NVidia (Unknown) PCM #0 DisplayPort> at cad 0 nid 1 on hdac0
 pcm1: <HDA NVidia (Unknown) PCM #0 DisplayPort> at cad 1 nid 1 on hdac0
 pcm2: <HDA NVidia (Unknown) PCM #0 DisplayPort> at cad 2 nid 1 on hdac0
 pcm3: <HDA NVidia (Unknown) PCM #0 DisplayPort> at cad 3 nid 1 on hdac0
 hdac1: HDA Codec #2: Realtek ALC889
 pcm4: <HDA Realtek ALC889 PCM #0 Analog> at cad 2 nid 1 on hdac1
 pcm5: <HDA Realtek ALC889 PCM #1 Analog> at cad 2 nid 1 on hdac1
 pcm6: <HDA Realtek ALC889 PCM #2 Digital> at cad 2 nid 1 on hdac1
 pcm7: <HDA Realtek ALC889 PCM #3 Digital> at cad 2 nid 1 on hdac1
 ...

   Hier wurde die Graphikkarte (NVidia) vor der Soundkarte (Realtek ALC889)
   aufgefu:hrt. Um die Soundkarte als Standardabspielgera:t einzusetzen,
   a:ndern Sie hw.snd.default_unit auf die Einheit, welche fu:r das Abspielen
   benutzt werden soll, wie folgt:

 # sysctl hw.snd.default_unit=n

   Hier repra:sentiert n die Nummer der Soundkarte, die verwendet werden
   soll, in diesem Beispiel also 4. Sie ko:nnen diese A:nderung dauerhaft
   machen, indem Sie die folgende Zeile zu der /etc/sysctl.conf Datei
   hinzufu:gen:

 hw.snd.default_unit=4

  8.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.

   Die korrekte pcm-Gera:tedatei wird automatisch zugeteilt, wenn ein
   Programm das Gera:t /dev/dsp0 anfordert.

  8.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.

8.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.

  8.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

  8.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 19.6.5, "Kopieren von Audio-CDs"
   erla:utert.

  8.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.

  8.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:

     * 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 19.6, "CDs benutzen" in diesem Handbuch, um mehr
   Informationen zur Benutzung von CD-Brennern mit FreeBSD zu erhalten.

8.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 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

  8.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 wahrscheinlich erhebliche Verbesserungen 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.

    8.4.1.1. XVideo

   Die Erweiterung XVideo (auch Xvideo, Xv oder xv) von Xorg 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 8.4.3, "Weiterfu:hrende Quellen" zu
   Rate ziehen, um die Geschwindigkeit Ihres Systems zu steigern.

    8.4.1.2. Simple Directmedia Layer

   Die Simple Directmedia Layer, SDL, ist eine zwischen
   Microsoft(R) Windows(R), BeOS und UNIX(R) 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.

    8.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.

  8.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.

    8.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(R) 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.

      8.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(R) beno:tigen,
   sollten Sie die MPlayer-Dokumentation auf jeden Fall lesen.

      8.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.

      8.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.

    8.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

    8.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.

  8.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(R) 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.

8.5. TV-Karten einrichten

   Beigetragen von Josef El-Rayes.
   U:berarbeitet von Marc Fonvieille.

  8.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.

  8.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.

  8.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.

  8.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.

8.6. MythTV

   MythTV ist ein Open Source PVR-Softwareprojekt.

   Es ist in der Linux(R)-Welt als komplexe Anwendung mit vielen
   Abha:ngigkeiten bekannt und deshalb schwierig zu installieren. Das FreeBSD
   Portssystem vereinfacht diesen Prozess sehr stark, jedoch mu:ssen manche
   Komponenten manuell eingerichtet werden. Dieser Abschnitt soll dazu
   dienen, bei der Einrichtung von MythTV zu helfen.

  8.6.1. Hardware

   MythTV wurde entwickelt, um V4L zu verwenden, so dass auf
   Videoeingabegera:te wie Kodierer und Empfa:nger zugegriffen werden kann.
   Aktuell funktioniert MythTV am besten mit USB DVB-S/C/T Karten, die von
   multimedia/webcamd unterstu:tzt werden, weil webcamd eine V4L-Anwendung
   zur Verfu:gung stellt, die als Benutzerprogramm la:ft. Jede DVB-Karte,
   welche von webcamd unterstu:tzt wird, sollte mit MythTV funktionieren,
   jedoch gibt es eine Liste von Karten, die hier abgerufen werden kann. Es
   existieren auch Treiber fu:r Hauppauge-Karten in den folgenden Paketen:
   multimedia/pvr250 und multimedia/pvrxxx, allerdings liefern diese nur eine
   Treiberschnittstelle, die nicht dem Standard entspricht und die nicht mit
   MythTV-Versionen gro:sser als 0.23 funktionieren.

   HTPC entha:lt eine Liste von allen verfu:gbaren DVB-Treibern.

  8.6.2. Abha:ngigkeiten

   Da MythTV flexibel und modular aufgebaut ist, ist der Benutzer in der
   Lage, das Frontend und Backend auf unterschiedlichen Rechnern laufen zu
   lassen.

   Fu:r das Frontend wird multimedia/mythtv-frontend, sowie ein X-Server
   beno:tigt, welcher in x11/xorg zu finden ist. Idealerweise besitzt der
   Frontend-Computer auch eine Videokarte, die XvMC unterstu:tzt, sowie
   optional eine LIRC-kompatible Fernbedienung.

   Fu:r das Backend wird multimedia/mythtv beno:tigt, ebenso wie eine
   MySQL(TM)-Datenbank, sowie zusa:tzlich einen Empfa:nger und Speicherplatz
   fu:r Aufzeichnungen. Das MySQL(TM)-Paket sollte automatisch als
   Abha:ngigkeit mitinstalliert werden, wenn multimedia/mythtv gebaut wird.

  8.6.3. MythTV einrichten

   Um MythTV zu installieren, befolgen Sie die hier aufgefu:hrten Schritte.
   Zuerst installieren Sie MythTV aus der Ports-Sammlung:

 # cd /usr/ports/multimedia/mythtv
 # make install

   Richten Sie anschliessend die MythTV-Datenbank ein:

 # mysql -uroot -p < /usr/local/share/mythtv/database/mc.sql

   Konfigurieren Sie dann das Backend:

 # mythtv-setup

   Zum Schluss starten Sie das Backend:

 # echo 'mythbackend_enable="YES"' >> /etc/rc.conf
 # /usr/local/etc/rc.d/mythbackend start

8.7. Scanner

   Beigetragen von Marc Fonvieille.

  8.7.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. Bei Systemen vor FreeBSD 8.X za:hlt
   die Hilfeseite uscanner(4) ebenfalls die unterstu:tzten USB-Scanner auf.

  8.7.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.

    8.7.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 ehci

   Bei Systemen vor FreeBSD 8.X wird ausserdem noch die folgende Zeile
   beno:tigt:

 device uscanner

   Bei diesen FreeBSD-Versionen liefert das uscanner(4)-Gera:t die
   Unterstu:tzung fu:r USB-Scanner. Seit FreeBSD 8.0 ist diese Unterstu:tzung
   direkt in der libusb(3)-Bibliothek enthalten.

   Nachdem Sie das System mit dem richtigen Kernel neu gestartet 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:

 ugen0.2: <EPSON> at usbus0

   bzw. auf einem FreeBSD 7.X System:

 uscanner0: EPSON EPSON Scanner, rev 1.10/3.02, addr 2

   Diese Meldung besagt, dass der Scanner entweder die Gera:tedatei
   /dev/ugen0.2 oder /dev/uscanner0 benutzt, je nachdem, welche
   FreeBSD-Version eingesetzt wird. In diesem Beispiel wurde ein EPSON
   Perfection(R) 1650 USB-Scanner verwendet.

    8.7.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.

  8.7.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
   mit 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

   Oder, fu:r das Beispiel mit dem USB-Scanner in Abschnitt 8.7.2.1,
   "USB-Scanner":

 # scanimage -L
 device 'epson2:libusb:/dev/usb:/dev/ugen0.2' is a Epson GT-8200 flatbed scanner

   Diese Ausgabe stammt von einem FreeBSD 8.X System, die Zeile
   'epson2:libusb:/dev/usb:/dev/ugen0.2' nennt das Backend (epson2) und die
   Gera:tedatei (/dev/ugen0.2), die der Scanner verwendet.

  Anmerkung:

   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 8.7.2.1, "USB-Scanner" zeigt
   sane-find-scanner unter FreeBSD 8.X 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/epson2.conf editiert werden. Der verwendete Scanner
   war ein EPSON Perfection(R) 1650, daher wird das epson2-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.

  8.7.4. Den Scanner fu:r Benutzerkonten freigeben

   Zuvor 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/ugen0.2 verwendet, die faktisch nur ein Symlink auf die echte
   Gera:tedatei, /dev/usb/0.2.0 genannt, darstellt (ein kurzer Blick auf das
   /dev-Verzeichnis besta:tigt dies). Sowohl der Symlink als auch die
   Gera:tedatei sind jeweils im Besitz der Gruppen wheel und operator. Damit
   der Benutzer joe auf den Scanner zugreifen kann, muss das Konto in die
   Gruppe operator aufgenommen werden. Allerdings sollten Sie, aus
   Sicherheitsgru:nden, genau u:berlegen, welche Benutzer Sie zu welcher
   Gruppe hinzufu:gen, besonders bei der Gruppe wheel. Eine bessere Lo:sung
   ist es, eine spezielle Gruppe fu:r den Zugriff auf USB-Gera:te anzulegen
   und den Scanner fu:r Mitglieder dieser Gruppe zuga:nglich zu machen.

   Beispielsweise kann man eine usb-Gruppe verwenden. Der erste Schritt dazu
   ist das erstellen der Gruppe mit Hilfe des pw(8)-Kommandos:

 # pw groupadd usb

   Anschliessend muss der /dev/ugen0.2-Symlink und der Gera:tename
   /dev/usb/0.2.0 fu:r die usb-Gruppe mit den richtigen Schreibrechten (0660
   oder 0664) ausgestattet werden, denn standardma:ssig kann nur der Besitzer
   dieser Dateien (root) darauf schreiben. All dies kann durch das
   Hinzufu:gen der folgenden Zeile in die /etc/devfs.rules-Datei erreicht
   werden:

 [system=5]
 add path ugen0.2 mode 0660 group usb
 add path usb/0.2.0 mode 0660 group usb

   FreeBSD 7.X-Anwender beno:tigen unter Umsta:nden die folgenden Zeilen mit
   der korrekten Gera:tedatei /dev/uscanner0:

 [system=5]
 add path uscanner0 mode 660 group usb

   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).

   Jetzt braucht man nur noch Benutzer der Gruppe usb hinzufu:gen, um ihnen
   Zugriff auf den Scanner zu erlauben:

 #pw groupmod usb -m joe

   Weitere Details ko:nnen Sie in der pw(8)-Manualpage nachlesen.

Kapitel 9. Konfiguration des FreeBSD-Kernels

   Erweitert und neu strukturiert von Jim Mock.
   Urspru:nglich vero:ffentlicht von Jake Hamby.
   U:bersetzt von Robert Altschaffel.
   Inhaltsverzeichnis

   9.1. U:bersicht

   9.2. Wieso einen eigenen Kernel bauen?

   9.3. Informationen u:ber die vorhandene Hardware beschaffen

   9.4. Kerneltreiber, Subsysteme und Module

   9.5. Erstellen und Installation eines angepassten Kernels

   9.6. Die Kernelkonfigurationsdatei

   9.7. Wenn etwas schiefgeht

9.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.

9.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.

9.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(R) Windows(R), ko:nnen Sie dafu:r den Gera:temanager verwenden,
   den Sie in der "Systemsteuerung" finden.

  Anmerkung:

   Einige Versionen von Microsoft(R) Windows(R) 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.

9.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.

9.5. Erstellen und Installation eines angepassten Kernels

  Anmerkung:

   Sie beno:tigen den kompletten Quellcodebaum, um den Kernel zu bauen.

   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, 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/-Verzeichnis vorfinden (oder dieses leer ist), so
   sind die Quellen nicht installiert. Der einfachste Weg, dies nachzuholen,
   ist sysinstall als root auszufu:hren. Dort wa:hlen Sie Configure, dann
   Distributions, dann src, und schliesslich All. Falls nicht vorhanden,
   sollten Sie auch noch einen symbolischen Link auf /usr/src/sys/ anlegen:

 # ln -s /usr/src/sys /sys

   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(TM) 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.

   Prozedur 9.1. Den Kernel bauen

  Anmerkung:

   Sie beno:tigen den kompletten Quellcodebaum, um den Kernel zu 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

  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 ntfs

   Durch das Setzen dieser Variable werden werden alle Module auf oberster
   Ebene 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.

9.6. Die Kernelkonfigurationsdatei

   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.

   Es ist mo:glich, eine include-Anweisung in die Kernelkonfigurationsdatei
   aufzunehmen. 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 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_ULE        # ULE scheduler

   Der 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 15.11, "Zugriffskontrolllisten
   fu:r Dateisysteme". 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(R)
   File-Server u:ber TCP/IP einha:ngen wollen, ko:nnen Sie diese Zeile
   auskommentieren.

 options          MSDOSFS           # MSDOS Filesystem

   Das MS-DOS(R) 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

   Kernel, die PROCFS verwenden, mu:ssen auch die Option PSEUDOFS verwenden.

 options          GEOM_PART_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

   Diese Option stellt 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(TM)-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          COMPAT_FREEBSD6   # Compatible with FreeBSD6

   Diese Option wird ab FreeBSD 7.X beno:tigt, um Programme, die unter
   FreeBSD 6.X-Versionen mit FreeBSD 6.X-Systemaufrufen kompiliert wurden,
   unter FreeBSD 7.X ausfu:hren zu ko:nnen.

 options          COMPAT_FREEBSD7   # Compatible with FreeBSD7

   Diese Option wird ab FreeBSD 8.X beno:tigt, um Programme, die unter
   FreeBSD 7.X-Versionen mit FreeBSD 7.X-Systemaufrufen kompiliert wurden,
   unter FreeBSD 8.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(TM) 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-RELEASE 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          hptrr      # Highpoint RocketRAID 17xx, 22xx, 23xx, 25xx
 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(R)- und Windows(R)-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.

  9.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(R) Pro und neueren CPUs hat Intel den Adressraum auf 36-Bit
   erweitert.

   Die Physical-Address-Extension (PAE) von Intel(R)s Pentium(R) 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.

9.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 boot
           kernel.old oder den Namen eines anderen Kernels ein, der sauber
           bootet. 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 10. Drucken

   Beigetragen von Sean Kelly.
   Restrukturiert und aktualisiert durch Jim Mock.
   U:bersetzt von Stefan Bethke.
   Inhaltsverzeichnis

   10.1. U:bersicht

   10.2. Einfu:hrung

   10.3. Grund-Konfiguration

   10.4. Erweiterte Drucker-Konfiguration

   10.5. Drucker verwenden

   10.6. Alternativen zum LPD-Drucksystem

   10.7. Problembehandlung

10.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(R)-, Mac OS(R)- 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 9, Konfiguration des FreeBSD-Kernels).

10.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.

  10.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.

10.3. Grund-Konfiguration

  Warnung:

   Mit FreeBSD 8.0 wurden die Gera:tedateien fu:r serielle Ports von
   /dev/ttydN in /dev/ttyuN umbenannt. Setzen Sie noch FreeBSD 7.X ein,
   mu:ssen Sie die Befehle in den folgenden Abschnitten entsprechend
   anpassen.

   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.

  10.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.

    10.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.

      10.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(R) 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(R) beherrscht.

   Da ein PostScript(R)-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(R)-Programm ermittelt
   jeweils vor und direkt nach einem Druckauftrag den Seitenza:hler des
   Druckers, und vergleicht die beiden Za:hlerwerte.

      10.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.

      10.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.

    10.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.

      10.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.

    10.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 mitlptcontrol(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.

    10.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(R)-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(R)-Drucker ko:nnen in der Regel keinen normalen
   Text direkt verarbeiten, weil sie ein PostScript(R)-Programm erwarten, das
   eine Seite produziert.

      10.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(R) (oder eine andere
            Seitenbeschreibungssprache) versteht, senden Sie ein passendes
            Testprogramm an den Drucker. Geben Sie folgenden Befehl ein:

 # cat file > /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.

      10.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/port:br#bps-rate:pa=parity

       Ersetzen Sie Gera:t durch den Gera:tenamen der seriellen Schnittstelle
       (ttyu0 fu:r die erste, ttyu1 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/ttyu2: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
       /dev/cuaaN und verwenden Sie /dev/cuaaN statt /dev/ttyuN.

    4. Senden Sie Testdaten an den Drucker.

          * Wenn Ihr Drucker reinen Text direkt drucken kann, verwenden Sie
            lptest(1):

 % $lptest

          * Wenn Ihr Drucker PostScript(R) (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.

    10.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(R) 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(R)-Drucker installieren,
   und Sie sowohl PostScript(R)- als auch Textdateien drucken mo:chten,
   sollten Sie einen weiteren Konfigurationsschritt ausfu:hren und einen
   Text-zu-PostScript(R)-Filter installieren. Der Abschnitt Drucken von
   reinen Textdateien auf einem PostScript(R)-Drucker erkla:rt, wie Sie dies
   tun ko:nnen.

      10.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(R)-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.

      10.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 \.

      10.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/printer-name

   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.

      10.3.1.5.4. Festlegen der Drucker-Gera:tedatei

   Nachdem Sie die korrekte Gera:tedatei fu:r die Schnittstelle im Abschnitt
   Hardware-Konfiguration identifiziert und angelegt haben, mu:ssen Sie dem
   LPD-System mitteilen, welche Gera:tedatei im Verzeichnis /dev 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/ttyu5:

   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.

      10.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:

      10.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/ttyu5:ms#-parenb cs8 clocal crtscts:\
         :if=/usr/local/libexec/if-simple:

  Anmerkung:

   Das Shell-Skript if-simple steht im Verzeichnis
   /usr/share/examples/printing.

      10.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

      10.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(R) versteht, mu:ssen Sie ein PostScript(R)-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(R)-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(R)-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.

10.4. Erweiterte Drucker-Konfiguration

   U:bersetzt von Johann Kois.

  Warnung:

   Mit FreeBSD 8.0 wurden die Gera:tedateien fu:r serielle Ports von
   /dev/ttydN in /dev/ttyuN umbenannt. Setzen Sie noch FreeBSD 7.X ein,
   mu:ssen Sie die Befehle in den folgenden Abschnitten entsprechend
   anpassen.

   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.

  10.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(R)- (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(R)-Druckern drucken beschreibt, wie Sie dieses Problem
       lo:sen ko:nnen. Besitzen Sie einen PostScript(R)-Drucker, sollten Sie
       diesen Abschnitt lesen.

     * PostScript(R) ist ein popula:res Ausgabeformat, das von vielen
       Programmen unterstu:tzt wird. Es ist sogar mo:glich,
       PostScript(R)-Code direkt zu schreiben. Leider sind
       PostScript(R)-Drucker in der Regel relativ teuer. Der Abschnitt
       PostScript(R) auf Nicht-PostScript(R)-Druckern emulieren beschreibt,
       wie Sie einen Textfilter anpassen mu:ssen, um PostScript(R)-Daten auf
       einem nicht-PostScript(R)-fa:higen Drucker auszugeben. Haben Sie
       keinen PostScript(R)-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.

    10.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.

    10.4.1.2. Normalen Text auf PostScript(R)-Druckern drucken

   Sie sind der alleinige Benutzer Ihres Computers und Ihres
   PostScript(R)-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(R) 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(R)-Daten
   handelt. Jeder PostScript(R)-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(R)-Daten, die direkt gedruckt werden
   ko:nnen. Fehlen diese Zeichen allerdings, muss der Textfilter den Inhalt
   der Datei nach PostScript(R) 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(R)-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(R) 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(R)-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(R)-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(R) zu konvertieren. Sie ko:nnen aber auch
   jeden anderen Text-nach-PostScript(R)-Konverter verwenden. Die FreeBSD
   Ports-Sammlung entha:lt mit a2ps ein umfangreiches Programm zur
   Konvertierung von normalem Text nach PostScript(R).

    10.4.1.3. PostScript(R) auf Nicht-PostScript(R)-Druckern emulieren

   Bei PostScript(R) handelt es sich um den de facto-Standard fu:r
   hochwertigen Schriftsatz und Druck. Leider ist PostScript(R) aber auch ein
   teurer Standard. Glu:cklicherweise hat Aladdin Enterprises daher eine
   freie PostScript(R)-a:hnliche Implementierung namens Ghostscript
   entwickelt, die auch unter FreeBSD lauffa:hig ist. Ghostscript kann fast
   jede PostScript(R)-Datei lesen und auf den verschiedensten Gera:ten
   ausgeben, darunter auch auf vielen Nicht-PostScript(R)-Druckern. Durch die
   Installation von Ghostscript und die Nutzung eines speziellen Textfilters
   erreichen Sie, dass sich Ihr Nicht-PostScript(R)-Drucker wie ein echter
   PostScript(R)-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(R) zu emulieren, muss der Textfilter erkennen, ob er eine
   PostScript(R)-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.

    10.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.

      10.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(R)-Drucker verfu:gen.
   Eine vom TeX-System erzeugte DVI-Datei kann erst dann gedruckt werden,
   nachdem diese nach PostScript(R) 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.

      10.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.

      10.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/ttyu5: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(R)-Druckerfilter lprps (lesen Sie dazu auch den Abschnitt
   Drucken von reinen Textdateien auf einem PostScript(R)-Drucker) mit den
   von LPD u:bergebenen Argumenten gestartet. Das lprps-Werkzeug wiederum
   nutzt diese Argumente, um die gedruckten Seiten zu verrechnen.

      10.4.1.4.4. Beispiele fu:r Konvertierungsfilter

   Da es keine verbindliche Prozedur zur Installation eines Druckerfilters
   gibt, folgen nun weitere Beispiele in diesem Abschnitt. 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(R)-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 print/dvi2xx ein
   solches Programm. Nach der Installation des Pakets 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   

      10.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 (print/apsfilter) einen
   Textfilter, der diese automatische Konvertierung durchfu:hren kann. Er ist
   in der Lage, normalen Text, PostScript(R), DVI und beinahe jede Art von
   Datei zu erkennen, diese zu konvertieren und auf Ihren Drucker auszugeben.

    10.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.

    10.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.

  10.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(R)-Drucker, beno:tigen Sie ein externes Programm, um die
   Deckbla:tter zu generieren (Lesen Sie dazu auch den Abschnitt Deckbla:tter
   auf PostScript(R)-Druckern erzeugen.).

    10.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.

    10.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.

    10.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.

    10.4.2.4. Deckbla:tter auf PostScript(R)-Druckern ausgeben

   In der Regel erzeugt LPD ein Deckblatt mit normalem Text, das fu:r viele
   verschiedene Drucker geeignet ist. Da PostScript(R)-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(R)-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(R)-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(R)-Drucker geeignetes Deckblatt.

   Haben Sie Ihren PostScript(R)-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.

  10.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.

    10.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. Ein Benutzer gibt auf orchid beispielsweise ein:

 % lpr -P bamboo -d sushi-review.dvi

   Die Anwendung LPD auf dem Rechner orchid kopiert daraufhin den
   Druckauftrag in das Spooling-Verzeichnis /var/spool/lpd/bamboo und stellt
   fest, 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
   LPD 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(R) konvertiert werden, da es sich bei bamboo um einen an
   den Rechner rose angeschlossenen PostScript(R)-Drucker handelt.

    10.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

  10.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.

    10.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/ttyu5: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.

    10.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(R) 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.

   Wenn Benutzer, die dieser Gruppe nicht angeho:ren (dies gilt auch fu:r
   root), werden diese durch die Meldung begru:sst, wenn Sie diesen Drucker
   verwenden wollen.

 lpr: Not a member of the restricted group

   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/ttyu5: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.

    10.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(R)-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/ttyu5: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.

    10.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/ttyu5: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.

  10.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.

    10.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. Das Kommando 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.

    10.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(R)-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(R)-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.

10.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.

  10.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.

  10.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

  10.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-Nummer

   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
        

  10.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.

    10.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.

    10.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!

    10.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.

  10.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.

10.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(R)-artigen
           Betriebsystemen ermo:glicht. CUPS wurde von Easy Software
           entwickelt, um UNIX(R)-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/.

   HPLIP

           HPLIP, das HP Linux(R) Imaging and Printing System, ist eine von
           HP entwickelte Sammlung von Programmen, die Unterstu:tzung fu:r
           das drucken, scannen und faxen bei HP-Gera:ten bieten. Diese
           Programm-Sammlung verwendet CUPS als Grundlage fu:r einige seiner
           Druck-Eigenschaften.

           Die Hauptseite fu:r HPLIP ist
           http://hplipopensource.com/hplip-web/index.html.

10.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(R)-a:hnliche Betriebssysteme verwenden dafu:r ein
           einzelnes Zeichen: ASCII-Code 10, auch als Line Feed (LF) bekannt.
           MS-DOS(R), 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(R), 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 Anfrage zum Senden/Lo:schen des
                Sende-Hardware-Handshakes (allgemein bekannt als RTS/CTS,
                dann sollten Sie den crtscts-Modus in der ms#-Fa:higkeit
                aktivieren. Stellen Sie aber sicher, dass das verwendete
                Druckerkabel auch fu:r die Hardware-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 11. Linux-Bina:rkompatibilita:t

   Restrukturiert und teilweise aktualisiert von Jim Mock.
   Beigetragen von Brian N. Handy und Rich Murphey.
   U:bersetzt von Johann Kois.
   Inhaltsverzeichnis

   11.1. U:bersicht

   11.2. Installation

   11.3. Mathematica(R) installieren

   11.4. Maple(TM) installieren

   11.5. MATLAB(R) installieren

   11.6. Oracle(R) installieren

   11.7. Weiterfu:hrende Themen

11.1. U:bersicht

   FreeBSD bietet Bina:rkompatibilita:t zu verschiedenen anderen UNIX(R)
   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(TM), Open
   Office, die Linux-Versionen von Netscape(R), Adobe(R) Acrobat(R),
   RealPlayer(R), Oracle(R), 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(TM)-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 5, Installieren
       von Anwendungen: Pakete und Ports).

11.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 9, Konfiguration des FreeBSD-Kernels beschrieben.

  11.2.1. Linux-Laufzeitbibliotheken installieren

   Dies kann auf zwei Arten geschehen, entweder u:ber den linux_base-Port
   oder durch manuelle Installation der Bibliotheken.

    11.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-f10
 # make install distclean

  Anmerkung:

   Bei FreeBSD-Systemen vor FreeBSD 8.0 mu:ssen Sie den Port
   emulators/linux_base-fc4 anstatt emulators/linux_base-f10 installieren.

   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.

    11.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.

    11.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.

  11.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.

  11.2.3. Installieren einer beliebigen RPM-basierten Linuxanwendung

   FreeBSD besitzt seine eigene Paketdatenbank und diese wird dazu verwendet,
   um alle Ports (auch Linux(R)-Ports) zu verfolgen. Deshalb wird die
   Linux(R) RPM-Datenbank nicht benutzt (fehlende Unterstu:tzung).

   Falls Sie jedoch eine beliebige RPM-basierte Linux(R)-Anwendung
   installieren wollen, erreichen Sie das mittels:

 # cd /compat/linux
 # rpm2cpio -q < /path/to/linux.archive.rpm | cpio -id

   Benutzen Sie dann brandelf auf die installierten ELF-Bina:rdateien (nicht
   die Bibliotheken!). Sie werden keine saubere Deinstallation hinbekommen,
   aber evtl. helfen ein paar Tests weiter.

  11.2.4. 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.

11.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(R) oder Mathematica(R) fu:r Studenten
   kann direkt von Wolfram unter http://www.wolfram.com/ bestellt werden.

  11.3.1. Den Mathematica(R)-Installer starten

   Zuerst mu:ssen Sie FreeBSD mitteilen, dass die Linux-Bina:rversion von
   Mathematica(R) 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(R)-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(R) anschliessend installiert werden.

  11.3.2. Die Mathematica(R)-Programmdateien anpassen

   Das von Mathematica(R) wa:hrend der Installation erzeugte Shell-Skript
   muss angepasst werden, bevor Sie es einsetzen ko:nnen. Wenn Sie die
   Mathematica(R)-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

  11.3.3. Ihr Mathematica(R)-Passwort anfordern

   Wenn Sie Mathematica(R) 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(R)-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.

  11.3.4. Das Mathematica(R)-Frontend u:ber ein Netzwerk ausfu:hren

   Mathematica(R) 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(R) installiert ist, auf Ihren Rechner kopieren mu:ssen. Diese
   Schriftarten befinden sich normalerweise in
   /cdrom/Unix/Files/SystemFiles/Fonts (Mathematica(R)-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.

   Wenn Sie noch kein /usr/X11R6/lib/X11/fonts/Type1-Verzeichnis haben,
   ko:nnen Sie das MathType1-Verzeichnis im vorherigen Beispiel in Type1
   umbenennen.

11.4. Maple(TM) installieren

   Beigetragen von Aaron Kaplan.
   Mit Unterstu:tzung durch Robert Getschmann.

   Maple(TM) ist ein mit Mathematica(R) 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(TM)-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(TM)
       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(TM) 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(TM) 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.

  11.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).

11.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 11.5.3, "Einrichten der
   Java(TM)-Laufzeitumgebung") la:uft die Anwendung auch ganz gut.

   Die Linux-Version von MATLAB(R) 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.

  11.5.1. Das MATLAB(R)-Installationsskript

   Um MATLAB(R) 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(R)-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(R)-Installation ist jetzt abgeschlossen. Die folgenden Schritte
   passen MATLAB(R) an FreeBSD an.

  11.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

  11.5.3. Einrichten der Java(TM)-Laufzeitumgebung

   Erstellen Sie einen symbolischen Link auf eine unter FreeBSD laufende
   Java(TM)-Laufzeitumgebung (JRE):

 # cd $MATLAB/sys/java/jre/glnx86/
 # unlink jre; ln -s ./jre1.1.8 ./jre

  11.5.4. Ein MATLAB(R)-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

  11.5.5. Stopp-Skript fu:r MATLAB(R) erstellen

   Das nachstehende Skript beendet MATLAB(R) 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(R) 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:

 #!/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

  11.5.6. MATLAB(R) benutzen

   Jetzt ko:nnen Sie MATLAB(R) mit dem matlab starten.

11.6. Oracle(R) installieren

   Beigetragen von Marcel Moolenaar.

  11.6.1. U:bersicht

   Dieses Dokument beschreibt die Installation von Oracle(R) 8.0.5 und
   Oracle(R) 8.0.5.1 Enterprise Edition fu:r Linux auf einem FreeBSD-Rechner.

  11.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.

  11.6.3. Die Oracle(R)-Umgebung erzeugen

   Bevor Sie Oracle(R) 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(R) unter FreeBSD zu
   installieren, nicht aber, was bereits in der Installationsanleitung von
   Oracle(R) beschrieben wird.

    11.6.3.1. Kernel-Tuning

   Wie in der Installationsanleitung von Oracle(R) 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(R) 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

    11.6.3.2. Oracle(R)-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.

    11.6.3.3. Umgebung

   Neben den normalen Oracle(R)-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 /compat/linux/usr/bin 
   PATH            /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

  11.6.4. Oracle(R) 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(R) nun ohne Probleme installieren ko:nnen.
   Treten dennoch Probleme auf, u:berpru:fen Sie zuerst Ihre
   Oracle(R)-Distribution und Ihre Konfiguration. Nachdem Sie Oracle(R)
   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!

    11.6.4.1. root.sh patchen

   Wa:hrend der Oracle(R)-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(R) 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.

    11.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

  11.6.5. Oracle(R) starten

   Wenn Sie den Anweisungen gefolgt sind, sollten Sie nun in der Lage sein,
   Oracle(R) zu starten, genau so, wie Sie dies auch unter Linux tun wu:rden.

11.7. 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>).

  11.7.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(TM), 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(TM)
   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(R) 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".

                         Teil 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

   12. Konfiguration und Tuning

                12.1. U:bersicht

                12.2. Vorbereitende Konfiguration

                12.3. Basiskonfiguration

                12.4. Konfiguration von Anwendungen

                12.5. Start von Diensten

                12.6. Programme mit cron starten

                12.7. Das rc-System fu:r Systemdienste

                12.8. Einrichten von Netzwerkkarten

                12.9. Virtual Hosts

                12.10. Konfigurationsdateien

                12.11. Einstellungen mit sysctl

                12.12. Tuning von Laufwerken

                12.13. Einstellungen von Kernel Limits

                12.14. Hinzufu:gen von Swap-Bereichen

                12.15. Energie- und Ressourcenverwaltung

                12.16. ACPI-Fehlersuche

   13. FreeBSDs Bootvorgang

                13.1. U:bersicht

                13.2. Das Problem des Bootens

                13.3. Boot-Manager und Boot-Phasen

                13.4. Kernel Interaktion wa:hrend des Bootprozesses

                13.5. Konfiguration von Gera:ten

                13.6. Init: Initialisierung der Prozess-Kontrolle

                13.7. Der Shutdown-Vorgang

   14. Benutzer und grundlegende Account-Verwaltung

                14.1. U:bersicht

                14.2. Einfu:hrung

                14.3. Der Superuser-Account

                14.4. System-Accounts

                14.5. Benutzer-Accounts

                14.6. Accounts vera:ndern

                14.7. Benutzer einschra:nken

                14.8. Gruppen

   15. Sicherheit

                15.1. U:bersicht

                15.2. Einfu:hrung

                15.3. Absichern von FreeBSD

                15.4. DES, Blowfish, MD5, und Crypt

                15.5. Einmalpasswo:rter

                15.6. TCP-Wrapper

                15.7. Kerberos5

                15.8. OpenSSL

                15.9. VPNs mit IPsec

                15.10. OpenSSH

                15.11. Zugriffskontrolllisten fu:r Dateisysteme

                15.12. Sicherheitsprobleme in Software Dritter u:berwachen

                15.13. FreeBSD Sicherheitshinweise

                15.14. Prozess-U:berwachung

   16. Jails

                16.1. U:bersicht

                16.2. Jails - Definitionen

                16.3. Einfu:hrung

                16.4. Einrichtung und Verwaltung von Jails

                16.5. Feinabstimmung und Administration

                16.6. Anwendung von Jails

   17. Verbindliche Zugriffskontrolle

                17.1. U:bersicht

                17.2. Schlu:sselbegriffe

                17.3. Erla:uterung

                17.4. MAC Labels verstehen

                17.5. Planung eines Sicherheitsmodells

                17.6. Modulkonfiguration

                17.7. Das MAC Modul seeotheruids

                17.8. Das MAC Modul bsdextended

                17.9. Das MAC Modul ifoff

                17.10. Das MAC Modul portacl

                17.11. Das MAC Modul partition

                17.12. Das MAC Modul Multi-Level Security

                17.13. Das MAC Modul Biba

                17.14. Das MAC Modul LOMAC

                17.15. Beispiel 1: Nagios in einer MAC Jail

                17.16. Beispiel 2: User Lock Down

                17.17. Fehler im MAC beheben

   18. Security Event Auditing

                18.1. Einleitung

                18.2. Schlu:sselbegriffe

                18.3. Installation der Audit-Unterstu:tzung

                18.4. Die Konfiguration des Audit

                18.5. Administration des Audit-Subsystems

   19. Speichermedien

                19.1. U:bersicht

                19.2. Gera:tenamen

                19.3. Hinzufu:gen von Laufwerken

                19.4. RAID

                19.5. USB Speichermedien

                19.6. CDs benutzen

                19.7. DVDs benutzen

                19.8. Disketten benutzen

                19.9. Bandmedien benutzen

                19.10. Was ist mit Backups auf Disketten?

                19.11. Backup-Strategien

                19.12. Datensicherung

                19.13. Netzwerk-, speicher- und dateibasierte Dateisysteme

                19.14. Schnappschu:sse von Dateisystemen

                19.15. Dateisystem-Quotas

                19.16. Partitionen verschlu:sseln

                19.17. Den Auslagerungsspeicher verschlu:sseln

                19.18. Highly Available Storage (HAST)

   20. GEOM: Modulares Framework zur Plattentransformation

                20.1. U:bersicht

                20.2. Einfu:hrung in GEOM

                20.3. RAID0 - Striping

                20.4. RAID1 - Spiegelung

                20.5. GEOM Gate Netzwerkgera:te

                20.6. Das Labeln von Laufwerken

                20.7. UFS Journaling in GEOM

   21. Dateisystemunterstu:tzung

                21.1. U:bersicht

                21.2. Das Z-Dateisystem (ZFS)

   22. Der Vinum Volume Manager

                22.1. U:bersicht

                22.2. Ihre Platten sind zu klein.

                22.3. Mo:gliche Engpa:sse

                22.4. Datenintegrita:t

                22.5. Vinum-Objekte

                22.6. Einige Beispiele

                22.7. Objektbenennung

                22.8. Vinum konfigurieren

                22.9. Vinum fu:r das Root-Dateisystem benutzen

   23. Virtualisierung

                23.1. U:bersicht

                23.2. FreeBSD als Gast-Betriebssystem

                23.3. FreeBSD als Host-Betriebssystem

   24. Lokalisierung - I18N/L10N einrichten und benutzen

                24.1. U:bersicht

                24.2. Grundlagen

                24.3. Lokale Anpassungen benutzen

                24.4. I18N-Programme u:bersetzen

                24.5. Lokalisierung fu:r einzelne Sprachen

   25. FreeBSD aktualisieren

                25.1. U:bersicht

                25.2. FreeBSD-Update

                25.3. Portsnap: Ein Werkzeug zur Aktualisierung der
                Ports-Sammlung

                25.4. Aktualisieren der Dokumentationssammlung

                25.5. Einem Entwicklungszweig folgen

                25.6. Synchronisation der Quellen

                25.7. Das komplette Basissystem neu bauen

                25.8. Veraltete Dateien, Verzeichnisse und Bibliotheken
                lo:schen

                25.9. Installation mehrerer Maschinen

   26. DTrace

                26.1. U:berblick

                26.2. Unterschiede in der Implementierung

                26.3. Die DTrace Unterstu:tzung aktivieren

                26.4. DTrace verwenden

                26.5. Die Sprache D

Kapitel 12. 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.
   Inhaltsverzeichnis

   12.1. U:bersicht

   12.2. Vorbereitende Konfiguration

   12.3. Basiskonfiguration

   12.4. Konfiguration von Anwendungen

   12.5. Start von Diensten

   12.6. Programme mit cron starten

   12.7. Das rc-System fu:r Systemdienste

   12.8. Einrichten von Netzwerkkarten

   12.9. Virtual Hosts

   12.10. Konfigurationsdateien

   12.11. Einstellungen mit sysctl

   12.12. Tuning von Laufwerken

   12.13. Einstellungen von Kernel Limits

   12.14. Hinzufu:gen von Swap-Bereichen

   12.15. Energie- und Ressourcenverwaltung

   12.16. ACPI-Fehlersuche

12.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(R) und FreeBSD (Kapitel 4, Grundlagen des UNIX
       Betriebssystems) verstehen.

     * Damit vertraut sein, wie Sie einen Kernel konfigurieren und
       kompilieren (Kapitel 9, Konfiguration des FreeBSD-Kernels).

12.2. Vorbereitende Konfiguration

  12.2.1. Layout von Partitionen

    12.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 der /var-Partition ist abha:ngig vom Zweck der Maschine. Das
   /var-Dateisystem 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. Die meisten Benutzer werden
   selten mehr als etwa ein Gigabyte in /var beno:tigen.

  Anmerkung:

   Ein paar Mal wird es vorkommen, dass viel Festplattenspeicher in /var/tmp
   gebraucht wird. Wenn neue Software mit pkg_add(1) installiert wird,
   extrahieren die Paketwerkzeuge eine voru:bergehende Kopie der Pakete unter
   /var/tmp. Die Installation grosser Softwarepakete wie Firefox, Openoffice
   oder LibreOffice kann sich wegen zu wenig Speicherplatz in /var/tmp als
   trickreich herausstellen.

   Die /usr-Partition entha:lt viele der Hauptbestandteile des Systems, dazu
   geho:hren die ports(7)-Sammlung (empfohlen) und die Quellen (optional).
   Sowohl die Ports als auch die Quellen des Basissystems sind zum Zeitpunkt
   der Installation optional, trotzdem sollten Sie mindestens zwei Gigabyte
   fu:r diese Partition 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.

    12.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.

    12.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.

12.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.
   /etc/rc.conf.local. Zum Beispiel so:

     * /etc/rc.conf:

 sshd_enable="YES"
 keyrate="fast"
 defaultrouter="10.1.1.254"

     * /etc/rc.conf.local:

 hostname="node1.example.org"
 ifconfig_fxp0="inet 10.1.1.1/8"

   Die rc.conf Datei kann dann auf jedes System mit rsync oder einem
   a:hnlichen Programm verteilt werden, wa:hrend die rc.conf.local Datei
   dabei systemspezifisch bleibt.

   Bei einem Upgrade des Systems mit sysinstall(8) oder make world wird
   rc.conf nicht u:berschrieben, so dass die Systemkonfiguration erhalten
   bleibt.

  Tipp:

   Die Konfigurationsdatei /etc/rc.conf wird von sh(1) gelesen. Dies erlaubt
   es dem Systemadministrator, eine bestimmte Menge an Logik dieser Datei
   hinzuzufu:gen, was dabei helfen kann, komplexe Konfigurationsszenarien zu
   erstellen. Lesen Sie dazu rc.conf(5), um weitere Informationen zu diesem
   Thema zu erhalten.

12.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.

12.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.

  12.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

 . /etc/rc.subr

 name=utility
 rcvar=utility_enable

 command="/usr/local/sbin/utility"

 load_rc_config $name

 #
 # DO NOT CHANGE THESE DEFAULT VALUES HERE
 # SET THEM IN THE /etc/rc.conf FILE
 #
 utility_enable=${utility_enable-"NO"}
 pidfile=${utility_pidfile-"/var/run/utility.pid"}

 run_rc_command "$1"

   Dieses Skript stellt sicher, dass utility nach den DAEMON-Pseudodiensten
   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.

  12.5.2. Andere Arten, um Dienste zu starten

   Dienste wie POP3 oder IMAP ko:nnen u:ber 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 in der
   aktuellen Konfiguration durch Entfernen der Kommentare aktiviert werden.
   Der Abschnitt Abschnitt 30.2, "Der inetd "Super-Server"" 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.

12.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.

  12.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.

12.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(R) 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.

12.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.

  12.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
 miibus0: <MII bus> on dc0
 bmtphy0: <BCM5201 10/100baseTX PHY> PHY 1 on miibus0
 bmtphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
 dc0: Ethernet address: 00:a0:cc:da:da:da
 dc0: [ITHREAD]
 dc1: <82c169 PNIC 10/100BaseTX> port 0x9800-0x98ff mem 0xd3000000-0xd30
 000ff irq 11 at device 12.0 on pci0
 miibus1: <MII bus> on dc1
 bmtphy1: <BCM5201 10/100baseTX PHY> PHY 1 on miibus1
 bmtphy1:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
 dc1: Ethernet address: 00:a0:cc:da:da:db
 dc1: [ITHREAD]

   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 9, Konfiguration des FreeBSD-Kernels beschrieben. Wenn
       Ihre Karte wa:hrend des Systemstarts vom Kernel (GENERIC) erkannt
       wurde, mu:ssen Sie den Kernel nicht neu u:bersetzen.

    12.8.1.1. Windows(R)-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(R) Windows(R)-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 eine "native"
   Unterstu:tzung der Network Driver Interface Specification (NDIS) gibt. Der
   FreeBSD NDISulator (auch als Project Evil bekannt) nutzt den bina:ren
   Windows(R)-Treiber, indem er diesem vorgibt, unter Windows(R) zu laufen.
   Da der ndis(4)-Treiber eine Windows(R)-Bina:rdatei nutzt, kann er nur auf
   i386(TM)- 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(R) XP-Bina:rtreiber (mit der Erweiterung .SYS)

    3. Die Konfigurationsdatei des Windows(R) 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(R)/i386-Treiber nicht unter FreeBSD/amd64
   einsetzen, vielmehr beno:tigen Sie dafu:r einen Windows(R)/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_SYS.ko) in das Verzeichnis /boot/modules. Danach fu:gen Sie die
   folgende Zeile in /boot/loader.conf ein:

 W32DRIVER_SYS_load="YES"

  12.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> metric 0 mtu 1500
         options=80008<VLAN_MTU,LINKSTATE>
         ether 00:a0:cc:da:da:da
         inet 192.168.1.3 netmask 0xffffff00 broadcast 192.168.1.255
         media: Ethernet autoselect (100baseTX <full-duplex>)
         status: active
 dc1: flags=8802<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
         options=80008<VLAN_MTU,LINKSTATE>
         ether 00:a0:cc:da:da:db
         inet 10.0.0.1 netmask 0xffffff00 broadcast 10.0.0.255
         media: Ethernet 10baseT/UTP
         status: no carrier
 plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> metric 0 mtu 1500
 lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
         options=3<RXCSUM,TXCSUM>
         inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
         inet6 ::1 prefixlen 128
         inet 127.0.0.1 netmask 0xff000000
         nd6 options=3<PERFORMNUD,ACCEPT_RTADV>

   Im Beispiel werden Informationen zu den folgenden Gera:ten angezeigt:

     * dc0: Der erste Ethernet-Adapter

     * dc1: Der zweite Ethernet-Adapter

     * plip0: Die parallele Schnittstelle (falls Ihr System u:ber eine
       derartige Schnittstelle verfu:gt)

     * lo0: Das Loopback-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> metric 0 mtu 1500
         options=80008<VLAN_MTU,LINKSTATE>
         ether 00:a0:cc:da:da:da
         media: Ethernet autoselect (100baseTX <full-duplex>)
         status: active

   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.

  Anmerkung:

   Soll Ihr System sich auch mit dem Internet verbinden ko:nnen, mu:ssen Sie
   Default-Gateway und Nameserver manuell konfigurieren:

 # echo 'defaultrouter="Ihr_Default_Gateway"' >> /etc/rc.conf
 # echo 'nameserver Ihr_DNS_Server' >> /etc/resolv.conf

  12.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. Alternativ ko:nnen Sie auch lediglich die
   Netzwerkeinstellungen neu initialisieren:

 # /etc/rc.d/netif restart

  Anmerkung:

   Haben Sie ein Default-Gateway definiert (in der Datei /etc/rc.conf),
   mu:ssen Sie auch den folgenden Befehl ausfu:hren:

 # /etc/rc.d/routing restart

   Wenn das System gestartet ist, sollten Sie die Netzwerkkarten testen.

    12.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.

    12.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 32, Weiterfu:hrende
   Netzwerkthemen.

   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 31, Firewalls.

   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).

12.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"

12.10. Konfigurationsdateien

  12.10.1. /etc Layout

   Konfigurationsdateien finden sich in einigen Verzeichnissen unter anderem
   in:

   /etc                Entha:lt generelle 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 named(8)      
   /etc/namedb         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.                                           
   /var/db             Automatisch generierte systemspezifische Datenbanken,  
                       wie die Paket-Datenbank oder die locate-Datenbank.     

  12.10.2. Hostnamen

    12.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 abfragen     
   nameserver 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. Die     
   search     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.

    12.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.  Replace 'my.domain' below with the domainname of your
 # machine.
 #
 # 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
 127.0.0.1       localhost localhost.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.  Do not try to invent your own network
 # numbers but instead get one from your network provider (if any) or
 # from your regional registry (ARIN, APNIC, LACNIC, RIPE NCC, or AfriNIC.)
 #

   /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).

  12.10.3. Konfiguration von Logdateien

    12.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).

    12.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).

  12.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

12.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 12.10.4, "sysctl.conf".

  12.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.

12.12. Tuning von Laufwerken

  12.12.1. Sysctl Variablen

    12.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.

    12.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.

    12.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.

    12.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.

    12.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).

    12.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 (durch Setzen
   der sysctl-Variable kern.cam.scsi_delay). Die Variable sowie die
   Kerneloption verwenden fu:r die Zeitangabe Millisekunden und nicht
   Sekunden.

  12.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.

    12.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.

12.13. Einstellungen von Kernel Limits

  12.13.1. Datei und Prozess Limits

    12.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.

   Die Variable kern.maxusers wird 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, so
   wie es bereits an anderer Stelle dieses Dokuments beschrieben ist.

   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.

    12.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).

  12.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.

    12.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.

    12.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.

  12.13.3. Virtueller Speicher (Virtual Memory)

    12.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.

12.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 19.17, "Den
   Auslagerungsspeicher verschlu:sseln" des Handbuchs.

  12.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 12.2, "Vorbereitende
   Konfiguration" des Handbuchs besprochen.

  12.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.

  12.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 12.1. Erstellen einer Swap-Datei
    1. Der GENERIC-Kernel unterstu:tzt bereits RAM-Disks (md(4)), welche fu:r
       diese Aktion beno:tigt werden. Wenn Sie einen eigenen Kernel
       erstellen, vergewissern Sie sicher, dass die folgende Zeile in ihrer
       Kernel-Konfigurationsdatei enthalten ist:

 device   md

       Informationen, wie man einen eigenen Kernel erstellen kann, erhalten
       Sie in Kapitel 9, Konfiguration des FreeBSD-Kernels.

    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

12.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).

  12.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.

  12.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.

  12.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).

12.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(R).

   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.

  12.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.

  12.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(R) 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.

  12.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.

    12.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.

    12.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.

   Ein ha:ufiges Problem mit Suspend/Resume ist, dass viele Gera:tetreiber
   ihre Firmware, Register und Gera:tespeicher nicht korrekt speichern,
   wiederherstellen und/oder reinitialisieren. Um dieses Problem zu lo:sen,
   sollten Sie zuerst die folgenden Befehle ausfu:hren:

 # sysctl debug.bootverbose=1
 # sysctl debug.acpi.suspend_bounce=1
 # acpiconf -s 3

   Dieser Test emuliert einen Suspend/Resume-Zyklus fu:r alle Gera:te (ohne
   dass diese dabei wirklich in den Status S3 wechseln). In vielen Fa:llen
   reicht dies bereits aus, um Probleme (beispielsweise verlorener
   Firmware-Status, Timeouts, ha:ngende Gera:te) zu entdecken. Beachten Sie
   dabei, dass das Gera:t bei diesem Test nicht wirklich in den Status S3
   wechseln. Es kann also vorkommen, dass manche Gera:te weiterhin mit Strom
   versorgt werden (dies wa:re bei einem wirklichen Wechsel in den Status S3
   NICHT mo:glich. Andere Gera:te werden normal weiterarbeiten, weil sie
   u:ber keine Suspend/Resume-Funktionen verfu:gen.

   Schwierigere Fa:lle ko:nnen den Einsatz zusa:tzlicher Hardware
   (beispielsweise serielle Ports/Kabel fu:r die Verbindung u:ber eine
   serielle Konsole oder Firewire-Ports/Kabel fu:r dcons(4)) sowie Kenntnisse
   im Bereich Kerneldebugging erforderlich machen.

   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.

    12.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.

    12.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 27.6.5.3, "DDB Debugger u:ber die serielle Schnittstelle") 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.

    12.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.

    12.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.

  12.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

  12.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(R)-Interpreter (acpi.sys und acpiec.sys)
   pru:ft die ASL nicht streng gegen den Standard. Daher reparieren
   BIOS-Hersteller, die ACPI nur unter Windows(R) testen, ihre ASL nicht. Wir
   hoffen, dass wir das vom Standard abweichende Verhalten des
   Microsoft(R)-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:

    12.16.5.1. Abha:ngigkeiten vom Betriebssystem

   Einige AMLs gehen davon aus, dass die Welt ausschliesslich aus
   verschiedenen Windows(R)-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".

    12.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.

    12.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.

  12.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.

  12.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).

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

   [5] Der verwendete Algorithmus setzt maxusers auf die Speichergro:sse des
   Systems. Der minimale Wert betra:gt dabei 32, das Maximum ist 384.

Kapitel 13. FreeBSDs Bootvorgang

   U:bersetzt von Hans-Christian Ebke.
   Inhaltsverzeichnis

   13.1. U:bersicht

   13.2. Das Problem des Bootens

   13.3. Boot-Manager und Boot-Phasen

   13.4. Kernel Interaktion wa:hrend des Bootprozesses

   13.5. Konfiguration von Gera:ten

   13.6. Init: Initialisierung der Prozess-Kontrolle

   13.7. Der Shutdown-Vorgang

13.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.

13.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.

13.3. Boot-Manager und Boot-Phasen

  13.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 13.1. boot0-Screenshot

 F1 DOS
 F2 FreeBSD
 F3 Linux
 F4 ??
 F5 Drive 1

 Default: F2

   Diverse Betriebssysteme, insbesondere Windows(R), 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.

  13.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 13.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.

  13.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.

    13.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.

    13.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. Das u:bergeben eines
           Kernelnamens ist nur nach einem unload-Befehl anwendbar,
           andernfalls wird der zuvor verwendete Kernel benutzt.

   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.

    13.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
       kompiliert 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

    13.3.3.4. Willkommmensbildschirme wa:hrend des Bootvorgangs

   Contributed by Joseph J. Barbish.
   U:bersetzt von Benedict Reuschling.

   Die Willkommmensbildschirme erzeugen einen visuell viel ansprechenderen
   Bootvorgang im Vergleich zu den herko:mmlichen Bootmeldungen. Diese
   Bildschirme werden entweder bis zu einem Konsolen-Login-Prompt oder dem
   eines X-Display Managers angezeigt.

   Es existieren zwei grundlegende Umgebungen in FreeBSD. Die erste ist die
   altbekannte, auf virtuellen Konsolen basierte Kommandozeile. Nachdem das
   System den Bootvorgang abgeschlossen hat, wird ein Anmeldebildschirm auf
   der Konsole anzeigt. Die zweite Umgebung ist die graphische X11-Desktop
   Umgebung. Nachdem X11 und eine der Graphischen Oberfla:chen, wie GNOME,
   KDE, oder XFce installiert wurden, kann der X11-Desktop u:ber das Kommando
   startx gestartet werden.

   Manche Benutzer ziehen den graphischen Anmeldebildschirm von X11 dem
   traditionellen, textbasierten Anmeldeprompt vor. Display-Manager wie XDM
   fu:r Xorg, gdm fu:r GNOME und kdm fu:r KDE (und viele weitere aus der
   Ports-Sammlung) bieten einen graphischen statt dem konsolenbasierten
   Anmeldebildschirm. Nach einer erfolgreichen Anmeldung kann der Benutzer
   die graphische Oberfla:che verwenden.

   In der Kommandozeilen-Umgebung wu:rde der Willkommensbildschirm alle
   Erkennungsmeldungen des Bootvorgangs und die Startmeldungen von Diensten
   verstecken, bevor der Anmeldebildschirm erscheint. In der X11-Umgebung
   erhalten die Anwender einen klareren visuellen Eindruck des Startvorgangs,
   a:hnlich zu dem, den Microsoft(R) Windows(R) (oder ein nicht-Unix-artiger
   Systemtyp) zur Verfu:gung stellt.

      13.3.3.4.1. Willkommensbildschirm-Funktionalita:t

   Die Willkommensbildschirm-Funktionalita:t unterstu:tzt nur 256-Farben
   Bitmaps (.bmp), ZSoft PCX (.pcx) oder TheDraw (.bin) Dateien. Zusa:tzlich
   muss die Willkommensbildschirm-Datei eine Auflo:sung von 320 mal 200
   Pixeln oder weniger besitzen, damit Standard-VGA Gera:te damit arbeiten
   ko:nnen.

   Um gro:ssere Bilder bis zu einer maximalen Auflo:sung von 1024 mal 768
   Pixeln zu verwenden, muss Unterstu:tzung fu:r VESA in FreeBSD enthalten
   sein. Dies kann durch das Laden des VESA-Moduls wa:hrend des Systemstarts
   geschehen, oder durch Hinzufu:gen der VESA-Kernelkonfigurationsoption und
   anschliessendem Bau des Kernels (Lesen Sie dazu Kapitel 9, Konfiguration
   des FreeBSD-Kernels). Die VESA-Unterstu:tzung ermo:glicht es den
   Benutzern, Willkommensbildschirme als Vollbild anzuzeigen, die den
   gesamten Bildschirm ausfu:llen.

   Wenn der Willkommensbildschirm beim Bootvorgang angezeigt wird, kann
   dieser jederzeit mit einem beliebigen Tastendruck ausgeschaltet werden.

   Der Willkommensbildschirm ist standardma:ssig so eingestellt, dass er als
   Bildschirmschoner ausserhalb von X11 verwendet wird. Nach einer bestimmten
   Zeit der Unta:tigkeit wird der Willkommensbildschirm angezeigt und
   wechselt durch verschiedene Stufen der Intensita:t von hell zu einem sehr
   dunklen Bild und wieder zuru:ck. Dieses Verhalten des
   Standard-Willkommensbildschirms (Screen-Saver) kann durch hinzufu:gen
   einer saver=-Zeile in /etc/rc.conf gea:ndert werden. Die Option saver=
   besitzt mehrere eingebaute Screen-Saver, aus denen man wa:hlen kann, und
   deren komplette Liste in der splash(4)-Manualpage enthalten ist. Der
   Standard-Screen-Saver ist "warp". Beachten Sie, dass sich die
   saver=-Option in /etc/rc.conf nur auf virtuelle Konsolen bezieht. Sie hat
   keinen Effekt auf X11-Display-Manager.

   Ein paar Nachrichten des Bootloaders und ganz besonders das Menu: mit den
   Bootoptionen und dem Warte-Countdown werden zur Bootzeit angezeigt, selbst
   wenn der Willkommensbildschirm aktiviert ist.

   Dateien mit Beispiel-Willkommensbildschirmen ko:nnen von der Galerie auf
   http://artwork.freebsdgr.orgb heruntergeladen werden. Durch die
   Installation des Ports sysutils/bsd-splash-changer ko:nnen
   Willkommensbildschirme von einer zufa:llig ausgewa:hlten Sammlung von
   Bildern bei jedem Neustart angezeigt werden.

      13.3.3.4.2. Aktivieren der Willkommensbildschirm-Funktionalita:t

   Die Willkommensbildschirm-Datei (.bmp, .pcx oder .bin) muss im
   Wurzelverzeichnis, z.B. /boot abgelegt werden.

   Fu:r die Standard-Auflo:sung (256-Farben, 320 mal 200 Pixel oder weniger)
   beim Booten bearbeiten Sie die Datei /boot/loader.conf, so dass diese die
   folgenden Zeilen entha:lt:

 splash_bmp_load="YES"
 bitmap_load="YES"
 bitmap_name="/boot/splash.bmp"

   Fu:r gro:ssere Video-Auflo:sungen bis zum Maximum von 1024 mal 768 Pixeln
   a:ndern Sie die Datei /boot/loader.conf, damit diese die folgenden Zeilen
   entha:lt:

 vesa_load="YES"
 splash_bmp_load="YES"
 bitmap_load="YES"
 bitmap_name="/boot/splash.bmp"

   Das Beispiel oben nimmt an, dass /boot/splash.bmp als
   Willkommensbildschirm verwendet wird. Wenn eine PCX-Datei verwendet werden
   soll, benutzen Sie die folgenden Zeilen, inklusive der
   vesa_load="YES"-Zeile, abha:ngig von der Auflo:sung.

 splash_pcx_load="YES"
 bitmap_load="YES"
 bitmap_name="/boot/splash.pcx"

   In der Version 8.3 kann als weitere Option ascii-Kunst im TheDraw Format
   verwendet werden.

 splash_txt="YES"
 bitmap_load="YES"
 bitmap_name="/boot/splash.bin"

   Wie das Beispiel oben demonstriert, ist der Dateiname nicht auf "splash"
   beschra:nkt. Es ist beliebig, so lange es den Dateityp BMP oder PCX
   besitzt, z.B. splash_640x400.bmp oder blue_wave.pcx.

   Weitere interessante Optionen fu:r loader.conf sind:

   beastie_disable="YES"

           Diese Option verhindert die Anzeige des Menu:s mit den
           Bootoptionen, aber der Countdown ist immer noch aktiv. Selbst wenn
           das Bootmenu: deaktiviert ist, kann wa:hrend des Countdowns eine
           der korrespondierenden Optionen ausgewa:hlt werden.

   loader_logo="beastie"

           Dies ersetzt die Standardanzeige des Wortes "FreeBSD". Stattdessen
           wird wie in der Vergangenheit auf der rechten Seite des Bootmenu:s
           das bunte Beastie-Logo angezeigt.

   Fu:r weitere Informationen lesen Sie die Manualpages splash(4),
   loader.conf(5) und vga(4).

13.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.

  13.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.

13.5. Konfiguration von Gera:ten

   Beigetragen von Tom Rhodes.

   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).

13.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.

  13.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.

  13.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 13.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.

  13.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.

    13.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.

13.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 14. Benutzer und grundlegende Account-Verwaltung

   Beigetragen von Neil Blakey-Milner.
   U:bersetzt von Robert Drehmel.
   Inhaltsverzeichnis

   14.1. U:bersicht

   14.2. Einfu:hrung

   14.3. Der Superuser-Account

   14.4. System-Accounts

   14.5. Benutzer-Accounts

   14.6. Accounts vera:ndern

   14.7. Benutzer einschra:nken

   14.8. Gruppen

14.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(R) und FreeBSD (Kapitel 4, Grundlagen des UNIX
       Betriebssystems) verstanden haben.

14.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.

14.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.

14.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.

14.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.

14.6. Accounts vera:ndern

   Unter UNIX(R) 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.                                      

  14.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 14.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]:
 Home directory permissions (Leave empty for default):
 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.

  14.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 eingegangene 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 14.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.
 #

  14.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 14.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 14.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 30, Netzwerkserver besprochen.

  14.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 14.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 14.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.

  14.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.

14.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 19.15, "Dateisystem-Quotas" 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).

14.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(R) 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 14.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 14.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 14.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 14.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).

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

   [6] Ausser Sie verwenden, wie in Kapitel 27, Serielle Datenu:bertragung
   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.

Kapitel 15. Sicherheit

   Viel von diesem Kapitel stammt aus der security(7) Manualpage von Matthew
   Dillon.
   U:bersetzt von Martin Heinen.
   Inhaltsverzeichnis

   15.1. U:bersicht

   15.2. Einfu:hrung

   15.3. Absichern von FreeBSD

   15.4. DES, Blowfish, MD5, und Crypt

   15.5. Einmalpasswo:rter

   15.6. TCP-Wrapper

   15.7. Kerberos5

   15.8. OpenSSL

   15.9. VPNs mit IPsec

   15.10. OpenSSH

   15.11. Zugriffskontrolllisten fu:r Dateisysteme

   15.12. Sicherheitsprobleme in Software Dritter u:berwachen

   15.13. FreeBSD Sicherheitshinweise

   15.14. Prozess-U:berwachung

15.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.

   Nachdem 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 Kerberos5 unter FreeBSD einrichten.

     * Firewalls mit IPFW erstellen ko:nnen.

     * Wissen, wie Sie IPsec konfigurieren und ein VPN zwischen
       FreeBSD/Windows(R) 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 17, Verbindliche
   Zugriffskontrolle und Firewalls in Kapitel 31, Firewalls besprochen.

15.2. Einfu:hrung

   Sicherheit ist ein Konzept, das beim Systemadministrator anfa:ngt und
   aufho:rt. Obwohl alle BSD UNIX(R) 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(R) 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.

15.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.

  15.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.

  15.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.

  15.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.

  15.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).

  15.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 dieses
   Problem zu vermeiden, mu:ssen Sie den Kernel auf einem ho:heren
   Sicherheitslevel laufen lassen, mindestens auf securelevel 1.

   Das Securelevel des Kernels kann auf verschiedene Wege gesetzt werden. Der
   einfachste Weg ist das erho:hen des Securelevel des laufenden Kernels
   durch ein sysctl der kern.securelevel Kernel Variablen:

 # sysctl kern.securelevel=1

   Standardma:ssig bootet der FreeBSD Kernel mit einem Securelevel von -1.
   Der Securelevel wird solange bei -1 bleiben, bis er entweder durch den
   Administrator oder von init(8) durch einen Eintrag im Startup Script
   vera:ndert wird. Der Securelevel kann wa:hrend des Systemstarts durch das
   Setzen der Variable kern_securelevel_enable auf YES und der Wert der
   Variable kern_securelevel auf den gewu:nschten Securelevel in der
   /etc/rc.conf erho:ht werden.

   Der Standard Securelevel von einem FreeBSD-System direkt nach dem Start
   ist -1. Dies wird "insecure mode" genannt, da zum Beispiel unvera:ndeliche
   Dateiflags abgeschaltet werden ko:nnten, von allen Gera:ten gelesen und
   auf alle geschrieben werden kann.

   Sobald der Securelevel auf den Wert 1 oder ho:her gesetzt ist, werden die
   append-only und die unvera:nderlichen Dateien geschu:tzt, die Flags
   ko:nnen nicht abgeschaltet werden und der Zugriff auf raw Devices ist
   verboten. Ho:here Levels verbieten mehr Aktionen. Fu:r einen vollsta:ndige
   Liste aller Securelevels, lesen Sie bitte die security(7) Manual Seite
   (oder die Manual Seite von init(8) fu:r a:ltere Releases als FreeBSD 7.0).

  Anmerkung:

   Das Erho:hen des Securelevels auf 1 oder ho:her kann einige Probleme mit
   X11 verursachen (Zugriff auf /dev/io wird geblockt), ebenso die
   Installation von FreeBSD aus den Quellen (der installworld Teil muss
   zeitweilig die append-only und die unvera:nderlichen Flags einiger Dateien
   zuru:cksetzen), und auch noch in einigen anderen Fa:llen. Manchmal kann
   es, wie bei X11, durch das sehr fru:he Starten von xdm(1) im Boot Prozess
   mo:glich sein, dies zu umgehen, wenn der Securelevel noch niedrig genug
   ist. Workarounds wie dieser sind nicht f"r alle Securelevels und fu:r alle
   Einschra:nkungen, die sie schaffen, mo:glich. Ein bisschen Vorausplanung
   ist eine gute Idee. Das Versta:ndnis fu:r die Beschra:nkungen, die durch
   jedes Securelevel verursacht werden, ist wichtig, da sie die einfache
   Benutzung des Systems verschlechtern. Es vereinfacht auch die Wahl einer
   Standardeinstellung und schu:tzt vor U:berraschungen.

   Wenn das Securelevel des Kernel auf einen Wert von 1 oder ho:her gesetzt
   ist, kann es sinnvoll sein das schg Flag auf kritische Startdateien,
   Verzeichnisse und Scripte (z.B. alles was la:uft bis zu dem Punkt auf dem
   das Securelevel gesetzt ist) zu setzen. Dies ko:nnte etwas u:bertrieben
   sein, und auch das Upgrade des Systems ist sehr viel schwerer, wenn es auf
   einem hohen Securelevel la:uft. Ein strengerer Kompromiss ist es, das
   System auf einem ho:heren Securelevel laufen zu lassen, aber keine schg
   Flags fu:r alle Systemdateien und Verzeichnisse zu setzen. Eine andere
   Mo:glichkeit ist es, einfach die Verzeichnisse / und /usr read-only zu
   mounten. Es sei darauf hingewiesen, dass Sie nicht vor lauter U:berlegen
   das Wichtigste, na:mlich die Entdeckung eines Eindringens, vergessen.

  15.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.

  15.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.

  15.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.

  15.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.

15.4. DES, Blowfish, MD5, und Crypt

   Teile umgeschrieben und aktualisiert von Bill Swingle.

   Jedem Benutzer eines UNIX(R) 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(R) 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(R) 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.

  15.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.

15.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(R) 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(R)-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.

  15.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.

  15.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.

  15.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(R) und Mac OS(R). 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.

  15.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.

  15.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.

15.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.

  15.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.

  15.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.

    15.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 die Option 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.

    15.6.2.2. Wildcards

   Bisher verwendeten die Beispiele immer die Wildcard ALL. Es gibt andere
   Wildcards, welche die Funktionalita:t ein bisschen erweitern. 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. Das folgende Beispiel
   sollte das ganze etwas klarer werden lassen:

 # 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. Seien
   Sie daher besonders vorsichtig, wenn Sie diese Wildcard in Ihre
   Konfiguration aufnehmen wollen.

   Weiteres u:ber Wildcards und deren Funktion lesen Sie bitte in der
   Hilfeseite hosts_access(5) nach.

   Damit die gezeigten Beispiele funktionieren, mu:ssen Sie die erste
   Konfigurationszeile in der Datei hosts.allow auskommentieren.

15.7. Kerberos5

   Beigetragen von Tillman Hodgson.
   Beruht auf einem Beitrag von Mark Murray.

   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.

  15.7.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.

  15.7.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:

 % kdestroy

  15.7.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.

  15.7.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.

  15.7.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.

  15.7.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 30.10, "Die Uhrzeit
       mit NTP synchronisieren" 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.

  15.7.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.

  15.7.8. Beschra:nkungen von Kerberos

    15.7.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.

    15.7.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.

    15.7.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.

    15.7.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.

  15.7.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

15.8. 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/apache22 und mail/claws-mail, 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.

  15.8.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.

  15.8.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.

15.9. 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.

  15.9.1. IPsec Grundlagen

   Geschrieben von Hiten M. Pandya.

   Dieser Abschnitt zeigt Ihnen, wie Sie IPsec einrichten. Um IPsec
   einzurichten, sollten Sie einen neuen Kernel bauen ko:nnen (siehe
   Kapitel 9, Konfiguration des FreeBSD-Kernels).

   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.

   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:fsumme, 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
 device    crypto

   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

  15.9.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.

  15.9.3. Das Szenario: Zwei Netzwerke, ein Heim- und ein Firmennetzwerk. Beide
  sind mit dem Internet verbunden und verhalten sich dank VPN wie ein Netzwerk.

   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 ein 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. Sie du:rfen sich nicht u:berlappen; zum Beispiel: nicht
       beide sollten 192.168.1.x benutzen.

  15.9.4. Konfiguration von IPsec in FreeBSD

   Geschrieben von Tom Rhodes.

   Als erstes muss security/ipsec-tools aus der Ports-Sammlung installiert
   werden. Dieses Softwarepaket Dritter entha:lt einige Anwendungen, die
   ihnen bei der Konfiguration von IPsec helfen.

   Als na:chstes mu:ssen zwei gif(4)-Pseudogera:te angelegt werden, um die
   Pakete zu tunneln und dafu:r zu sorgen, dass beide Netzwerke richtig
   miteinander kommunizieren ko:nnen. Geben Sie als Benutzer root die
   folgenden Befehle ein: Austausch der internen und externen Werte durch die
   realen internen und externen Gateways:

 # ifconfig gif0 create

 # ifconfig gif0 internal1 internal2

 # ifconfig gif0 tunnel external1 external2

   Beispiel: Die o:ffentliche IP-Adresse des Firmennetzwerkes (LAN) ist:
   172.16.5.4 mit einer internen IP-Adresse von 10.246.38.1. Das Heimnetzwerk
   (LAN) hat die o:ffentliche IP-Adresse 192.168.1.12 mit der internen
   privaten IP-Adresse 10.0.0.5.

   Dies mag verwirrend erscheinen, schauen Sie sich deshalb das folgende
   Beispiel aus dem ifconfig(8)-Befehl an:

 Gateway 1:

 gif0: flags=8051 mtu 1280
 tunnel inet 172.16.5.4 --> 192.168.1.12
 inet6 fe80::2e0:81ff:fe02:5881%gif0 prefixlen 64 scopeid 0x6
 inet 10.246.38.1 --> 10.0.0.5 netmask 0xffffff00

 Gateway 2:

 gif0: flags=8051 mtu 1280
 tunnel inet 192.168.1.12 --> 172.16.5.4
 inet 10.0.0.5 --> 10.246.38.1 netmask 0xffffff00
 inet6 fe80::250:bfff:fe3a:c1f%gif0 prefixlen 64 scopeid 0x4

   Wenn Sie fertig sind, sollten beide privaten IPs mit dem ping(8) Befehl,
   wie die folgende Darstellung zeigt, erreichbar sein:

 priv-net# ping 10.0.0.5
 PING 10.0.0.5 (10.0.0.5): 56 data bytes
 64 bytes from 10.0.0.5: icmp_seq=0 ttl=64 time=42.786 ms
 64 bytes from 10.0.0.5: icmp_seq=1 ttl=64 time=19.255 ms
 64 bytes from 10.0.0.5: icmp_seq=2 ttl=64 time=20.440 ms
 64 bytes from 10.0.0.5: icmp_seq=3 ttl=64 time=21.036 ms
 --- 10.0.0.5 ping statistics ---
 4 packets transmitted, 4 packets received, 0% packet loss
 round-trip min/avg/max/stddev = 19.255/25.879/42.786/9.782 ms

 corp-net# ping 10.246.38.1
 PING 10.246.38.1 (10.246.38.1): 56 data bytes
 64 bytes from 10.246.38.1: icmp_seq=0 ttl=64 time=28.106 ms
 64 bytes from 10.246.38.1: icmp_seq=1 ttl=64 time=42.917 ms
 64 bytes from 10.246.38.1: icmp_seq=2 ttl=64 time=127.525 ms
 64 bytes from 10.246.38.1: icmp_seq=3 ttl=64 time=119.896 ms
 64 bytes from 10.246.38.1: icmp_seq=4 ttl=64 time=154.524 ms
 --- 10.246.38.1 ping statistics ---
 5 packets transmitted, 5 packets received, 0% packet loss
 round-trip min/avg/max/stddev = 28.106/94.594/154.524/49.814 ms

   Wie erwartet, ko:nnen nun beiden Seiten ICMP-Pakete von ihren privaten
   Adressen senden und empfangen. Als na:chstes mu:ssen beide Gateways so
   konfiguriert werden, dass sie die Pakete des anderen Netzwerkes richtig
   routen. Mit dem folgenden Befehl erreicht man das Ziel:

 # corp-net# route add 10.0.0.0 10.0.0.5 255.255.255.0

 # corp-net# route add net 10.0.0.0: gateway 10.0.0.5

 # priv-net# route add 10.246.38.0 10.246.38.1 255.255.255.0

 # priv-net# route add host 10.246.38.0: gateway 10.246.38.1

   Ab jetzt sollten die Rechner von den Gateways sowie von den Rechnern
   hinter den Gateways erreichbar sein. Dies wird an dem folgendem Beispiel
   deutlich:

 corp-net# ping 10.0.0.8
 PING 10.0.0.8 (10.0.0.8): 56 data bytes
 64 bytes from 10.0.0.8: icmp_seq=0 ttl=63 time=92.391 ms
 64 bytes from 10.0.0.8: icmp_seq=1 ttl=63 time=21.870 ms
 64 bytes from 10.0.0.8: icmp_seq=2 ttl=63 time=198.022 ms
 64 bytes from 10.0.0.8: icmp_seq=3 ttl=63 time=22.241 ms
 64 bytes from 10.0.0.8: icmp_seq=4 ttl=63 time=174.705 ms
 --- 10.0.0.8 ping statistics ---
 5 packets transmitted, 5 packets received, 0% packet loss
 round-trip min/avg/max/stddev = 21.870/101.846/198.022/74.001 ms

 priv-net# ping 10.246.38.107
 PING 10.246.38.1 (10.246.38.107): 56 data bytes
 64 bytes from 10.246.38.107: icmp_seq=0 ttl=64 time=53.491 ms
 64 bytes from 10.246.38.107: icmp_seq=1 ttl=64 time=23.395 ms
 64 bytes from 10.246.38.107: icmp_seq=2 ttl=64 time=23.865 ms
 64 bytes from 10.246.38.107: icmp_seq=3 ttl=64 time=21.145 ms
 64 bytes from 10.246.38.107: icmp_seq=4 ttl=64 time=36.708 ms
 --- 10.246.38.107 ping statistics ---
 5 packets transmitted, 5 packets received, 0% packet loss
 round-trip min/avg/max/stddev = 21.145/31.721/53.491/12.179 ms

   Das Konfigurieren der Tunnel ist der einfache Teil. Die Konfiguration
   einer sicheren Verbindung geht sehr viel mehr in die Tiefe. Die folgende
   Konfiguration benutzt pre-shared (PSK) RSA-Schlu:ssel. Abgesehen von den
   IP-Adressen, sind beide /usr/local/etc/racoon/racoon.conf identisch und
   sehen a:hnlich aus wie:

 path    pre_shared_key  "/usr/local/etc/racoon/psk.txt"; #location of pre-shared key file
 log     debug;  #log verbosity setting: set to 'notify' when testing and debugging is complete

 padding # options are not to be changed
 {
         maximum_length  20;
         randomize       off;
         strict_check    off;
         exclusive_tail  off;
 }

 timer   # timing options. change as needed
 {
         counter         5;
         interval        20 sec;
         persend         1;
 #       natt_keepalive  15 sec;
         phase1          30 sec;
         phase2          15 sec;
 }

 listen  # address [port] that racoon will listening on
 {
         isakmp          172.16.5.4 [500];
         isakmp_natt     172.16.5.4 [4500];
 }

 remote  192.168.1.12 [500]
 {
         exchange_mode   main,aggressive;
         doi             ipsec_doi;
         situation       identity_only;
         my_identifier   address 172.16.5.4;
         peers_identifier        address 192.168.1.12;
         lifetime        time 8 hour;
         passive         off;
         proposal_check  obey;
 #       nat_traversal   off;
         generate_policy off;

                         proposal {
                                 encryption_algorithm    blowfish;
                                 hash_algorithm          md5;
                                 authentication_method   pre_shared_key;
                                 lifetime time           30 sec;
                                 dh_group                1;
                         }
 }

 sainfo  (address 10.246.38.0/24 any address 10.0.0.0/24 any)    # address $network/$netmask $type address $network/$netmask $type ( $type being any or esp)
 {                                                               # $network must be the two internal networks you are joining.
         pfs_group       1;
         lifetime        time    36000 sec;
         encryption_algorithm    blowfish,3des,des;
         authentication_algorithm        hmac_md5,hmac_sha1;
         compression_algorithm   deflate;
 }

   Die Erkla:rung einer jeden verfu:gbaren Option wu:rde den Rahmen dieses
   Textes sprengen. Es gibt sehr viele relevante Informationen in der
   racoon-Konfigurationsanleitung.

   Die SPD-Methoden mu:ssn noch konfiguriert werden so dass, FreeBSD und
   racoon in der Lage sind den Netzwerkverkehr zwischen den Hosts zu ver- und
   entschlu:sseln.

   Dies wird durch ein einfaches Shellscript a:hnlich wie das folgende, das
   auf dem Firmennetzwerk-Gateway liegt, ausgefu:hrt. Diese Datei wird
   wa:hrend der Systeminitialisierung ausgefu:hrt und sollte unter
   /usr/local/etc/racoon/setkey.conf abgespeichert werden.

 flush;
 spdflush;

 # To the home network
 spdadd 10.246.38.0/24 10.0.0.0/24 any -P out ipsec esp/tunnel/172.16.5.4-192.168.1.12/use;
 spdadd 10.0.0.0/24 10.246.38.0/24 any -P in ipsec esp/tunnel/192.168.1.12-172.16.5.4/use;

   Einmal abgespeichert, kann racoon durch das folgende Kommando auf beiden
   Gateways gestartet werden:

 # /usr/local/sbin/racoon -F -f /usr/local/etc/racoon/racoon.conf -l /var/log/racoon.log

   Die Ausgabe sollte so a:hnlich aussehen:

 corp-net# /usr/local/sbin/racoon -F -f /usr/local/etc/racoon/racoon.conf
 Foreground mode.
 2006-01-30 01:35:47: INFO: begin Identity Protection mode.
 2006-01-30 01:35:48: INFO: received Vendor ID: KAME/racoon
 2006-01-30 01:35:55: INFO: received Vendor ID: KAME/racoon
 2006-01-30 01:36:04: INFO: ISAKMP-SA established 172.16.5.4[500]-192.168.1.12[500] spi:623b9b3bd2492452:7deab82d54ff704a
 2006-01-30 01:36:05: INFO: initiate new phase 2 negotiation: 172.16.5.4[0]192.168.1.12[0]
 2006-01-30 01:36:09: INFO: IPsec-SA established: ESP/Tunnel 192.168.1.12[0]->172.16.5.4[0] spi=28496098(0x1b2d0e2)
 2006-01-30 01:36:09: INFO: IPsec-SA established: ESP/Tunnel 172.16.5.4[0]->192.168.1.12[0] spi=47784998(0x2d92426)
 2006-01-30 01:36:13: INFO: respond new phase 2 negotiation: 172.16.5.4[0]192.168.1.12[0]
 2006-01-30 01:36:18: INFO: IPsec-SA established: ESP/Tunnel 192.168.1.12[0]->172.16.5.4[0] spi=124397467(0x76a279b)
 2006-01-30 01:36:18: INFO: IPsec-SA established: ESP/Tunnel 172.16.5.4[0]->192.168.1.12[0] spi=175852902(0xa7b4d66)

   Um sicherzustellen, dass der Tunnel richtig funktioniert, wechseln Sie auf
   eine andere Konsole und benutzen Sie tcpdump(1) mit dem folgenden Befehl,
   um sich den Netzwerkverkehr anzusehen. Tauschen Sie em0 durch die richtige
   Netzwerkkarte aus.

 # tcpdump -i em0 host 172.16.5.4 and dst 192.168.1.12

   Die Ausgabe der Konsole sollte dem hier a:hneln. Wenn nicht, gibt es ein
   Problem und ein Debuggen der ausgegebenen Daten ist notwendig.

 01:47:32.021683 IP corporatenetwork.com > 192.168.1.12.privatenetwork.com: ESP(spi=0x02acbf9f,seq=0xa)
 01:47:33.022442 IP corporatenetwork.com > 192.168.1.12.privatenetwork.com: ESP(spi=0x02acbf9f,seq=0xb)
 01:47:34.024218 IP corporatenetwork.com > 192.168.1.12.privatenetwork.com: ESP(spi=0x02acbf9f,seq=0xc)

   An diesem Punkt sollten beide Netzwerke verfu:gbar sein und den Anschein
   haben, dass sie zum selben Netzwerk geho:ren. Meistens sind beide
   Netzwerke durch eine Firewall geschu:tzt. Um den Netzwerkverkehr zwischen
   den beiden Netzwerken zu erlauben, ist es notwendig Regeln zu erstellen.
   Fu:r die ipfw(8) Firewall fu:gen Sie folgende Zeilen in ihre
   Firewall-Konfigurationsdatei ein:

 ipfw add 00201 allow log esp from any to any
 ipfw add 00202 allow log ah from any to any
 ipfw add 00203 allow log ipencap from any to any
 ipfw add 00204 allow log udp from any 500 to any

  Anmerkung:

   Die Regelnummern mu:ssen eventuell, je nach ihrer Hostkonfiguration,
   angepasst werden.

   Fu:r Benutzer der pf(4)- oder ipf(8)-Firewall sollte folgendes
   funktionieren:

 pass in quick proto esp from any to any
 pass in quick proto ah from any to any
 pass in quick proto ipencap from any to any
 pass in quick proto udp from any port = 500 to any port = 500
 pass in quick on gif0 from any to any
 pass out quick proto esp from any to any
 pass out quick proto ah from any to any
 pass out quick proto ipencap from any to any
 pass out quick proto udp from any port = 500 to any port = 500
 pass out quick on gif0 from any to any

   Zum Ende, um dem Computer den Start vom VPN wa:hrend der
   Systeminitialisierung zu erlauben, fu:gen Sie folgende Zeilen in ihre
   /etc/rc.conf: ein

 ipsec_enable="YES"
 ipsec_program="/usr/local/sbin/setkey"
 ipsec_file="/usr/local/etc/racoon/setkey.conf" # allows setting up spd policies on boot
 racoon_enable="yes"

15.10. 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.

  15.10.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.

  15.10.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

  15.10.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.

  15.10.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.

  15.10.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.

  15.10.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 15.10.7, "ssh-agent und ssh-add" 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).

  15.10.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.

  15.10.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 15.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.

    15.10.8.1. Beispiel fu:r SSH-Tunnel

      15.10.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.

      15.10.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.

  15.10.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

  15.10.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)

15.11. Zugriffskontrolllisten fu:r Dateisysteme

   Beigetragen von Tom Rhodes.

   Zusammen mit anderen Verbesserungen des Dateisystems wie Schnappschu:sse
   bietet FreeBSD auch Zugriffskontrolllisten (access control list, ACL).

   Zugriffskontrolllisten erweitern die normalen Zugriffsrechte von UNIX(R)
   Systemen auf eine kompatible (POSIX(R).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.

  15.11.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.

15.12. 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 ports-mgmt/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.

15.13. 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.

  15.13.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 problem1

 Category:       core2
 Module:         sys3
 Announced:      2003-09-234
 Credits:        Person5
 Affects:        All releases of FreeBSD6
                 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-XXXX8

 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.   Background9


 II.  Problem Description10


 III. Impact11


 IV.  Workaround12


 V.   Solution13


 VI.  Correction details14


 VII. References15

   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.                                      

15.14. 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 einen 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.

  15.14.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).

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

   [10] Unter FreeBSD darf das System-Passwort maximal 128 Zeichen lang sein.

Kapitel 16. Jails

   Beigetragen von Matteo Riondato.
   U:bersetzt von Oliver Peter, Dirk Arlt und Johann Kois.
   Inhaltsverzeichnis

   16.1. U:bersicht

   16.2. Jails - Definitionen

   16.3. Einfu:hrung

   16.4. Einrichtung und Verwaltung von Jails

   16.5. Feinabstimmung und Administration

   16.6. Anwendung von Jails

16.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.

16.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(8) (-Befehl)

           Ein Werkzeug, das den FreeBSD-Systemaufruf chroot(2) verwendet, um
           das Wurzelverzeichnis eines Prozesses und all seiner
           Nachko:mmlinge zu a:ndern.

   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.

16.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 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.

  16.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 16.5,
   "Feinabstimmung und Administration" des Handbuchs.

   Eine Jail zeichnet sich durch folgende Merkmale aus:

     * Einen Unterverzeichnisbaum, der die Jail entha:lt. Einem Prozess, der
       innerhalb der Jail la:uft, 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:uft. 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:hrt 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 16.5, "Feinabstimmung und Administration" des
   Handbuchs besprochen.

16.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
 # 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 16.3.1, "Was ist eine Jail?" 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

  Anmerkung:

       Die Namen der Jails in der jail_list sollten nur alphanumerische
       Zeichen enthalten.

    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).

16.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.

  16.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

  16.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.

16.6. Anwendung von Jails

  16.6.1. Service-Jails

   Beigetragen von Daniel Gerzo.

   Dieser Abschnitt basiert auf einer von Simon L. B. Nielsen 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.

    16.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.

    16.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.

    16.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

    16.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 17. Verbindliche Zugriffskontrolle

   Written by Tom Rhodes.
   U:bersetzt von Benjamin Lukas.
   Inhaltsverzeichnis

   17.1. U:bersicht

   17.2. Schlu:sselbegriffe

   17.3. Erla:uterung

   17.4. MAC Labels verstehen

   17.5. Planung eines Sicherheitsmodells

   17.6. Modulkonfiguration

   17.7. Das MAC Modul seeotheruids

   17.8. Das MAC Modul bsdextended

   17.9. Das MAC Modul ifoff

   17.10. Das MAC Modul portacl

   17.11. Das MAC Modul partition

   17.12. Das MAC Modul Multi-Level Security

   17.13. Das MAC Modul Biba

   17.14. Das MAC Modul LOMAC

   17.15. Beispiel 1: Nagios in einer MAC Jail

   17.16. Beispiel 2: User Lock Down

   17.17. Fehler im MAC beheben

17.1. U:bersicht

   In FreeBSD 5.X wurden neue Sicherheits-Erweiterungen verfu:gbar, die aus
   dem TrustedBSD-Projekt u:bernommen wurden und auf dem Entwurf POSIX(R).1e
   basieren. Die beiden bedeutendsten neuen Sicherheits-Mechanismen sind
   Berechtigungslisten (Access Control Lists, ACL) und die verbindliche
   Zugriffskontrolle (Mandatory Access Control, MAC). Durch die MAC ko:nnen
   Module geladen werden, die neue Sicherheitsrichtlinien bereitstellen. Mit
   Hilfe einiger Module kann beispielsweise ein eng umgrenzter Bereich des
   Betriebssystems gesichert werden, indem die Sicherheitsfunktionen
   spezieller Dienste unterstu:tzt bzw. versta:rkt werden. Andere Module
   wiederum betreffen in ihrer Funktion das gesamte System - alle vorhandenen
   Subjekte und Objekte. Das "Verbindliche" in der Namensgebung erwa:chst aus
   dem Fakt, dass die Kontrolle allein Administratoren und dem System obliegt
   und nicht dem Ermessen der Nutzer, wie es mit Hilfe der
   benutzerbestimmbaren Zugriffskontrolle (Discrectionary Access Control /
   DAC), dem Zugriffstandard fu:r Dateien, gar der System V IPC in FreeBSD,
   normalerweise umgesetzt wird.

   Dieses Kapitel wird sich auf die Grundstruktur der Verbindlichen
   Zugriffskontrolle und eine Auswahl der Module, die verschiedenste
   Sicherheitsfunktionen zur Verfu:gung stellen, konzentrieren.

   Beim Durcharbeiten dieses Kapitels erfahren Sie:

     * Welche MAC Module fu:r Sicherheitsrichtlinien derzeit in FreeBSD
       eingebettet sind und wie die entsprechenden Mechanismen funktionieren.

     * Was die einzelnen MAC Module an Funktionen realisieren und auch, was
       der Unterschied zwischen einer Richtlinie, die mit Labels arbeitet,
       und einer, die ohne Labels arbeitet, ist.

     * Wie Sie die MAC in ein System einbetten und effizient einrichten.

     * Wie die verschiedenen Richtlinienmodule einer MAC konfiguriert werden.

     * Wie mit einer MAC und den gezeigten Beispielen eine sicherere Umgebung
       erstellt werden kann.

     * Wie die Konfiguration einer MAC auf korrekte Einrichtung getestet
       wird.

   Vor dem Lesen dieses Kapitels sollten Sie bereits:

     * Grundzu:ge von UNIX(R) und FreeBSD verstanden haben. (Kapitel 4,
       Grundlagen des UNIX Betriebssystems).

     * Mit den Grundzu:gen der Kernelkonfiguration und -kompilierung vertraut
       sein (Kapitel 9, Konfiguration des FreeBSD-Kernels).

     * Einige Vorkenntnisse u:ber Sicherheitskonzepte im Allgemeinen und
       deren Umsetzung in FreeBSD im Besonderen mitbringen (Kapitel 15,
       Sicherheit).

  Warnung:

   Der unsachgema:sse Gebrauch der in diesem Kapitel enthaltenen
   Informationen kann den Verlust des Systemzugriffs, A:rger mit Nutzern oder
   die Unfa:higkeit, grundlegende Funktionen des X-Windows-Systems zu nutzen,
   verursachen. Wichtiger noch ist, dass man sich nicht allein auf die MAC
   verlassen sollte, um ein System zu sichern. Die MAC verbessert und
   erga:nzt lediglich die schon existierenden Sicherheits-Richtlinien - ohne
   eine gru:ndliche und fundierte Sicherheitspraxis und regelma:ssige
   Sicherheitspru:fungen wird Ihr System nie vollsta:ndig sicher sein.

   Ausserdem sollte angemerkt werden, dass die Beispiele in diesem Kapitel
   auch genau dasselbe sein sollen, na:mlich Beispiele. Es wird nicht
   empfohlen, diese bestimmten Beispiele auf einem Arbeitssystem umzusetzen.
   Das Einarbeiten der verschiedenen Sicherheitsmodule erfordert eine Menge
   Denkarbeit und viele Tests. Jemand, der nicht versteht, wie diese Module
   funktionieren, kann sich schnell darin wiederfinden, dass er (oder sie)
   das ganze System durchforsten und viele Dateien und Verzeichnisse neu
   konfigurieren muss.

  17.1.1. Was in diesem Kapitel nicht behandelt wird

   Dieses Kapitel behandelt einen grossen Teil sicherheitsrelevanter Themen,
   bezogen auf die Verbindliche Zugriffskontrolle (MAC). Die gegenwa:rtige
   Entwicklung neuer MAC Module ist nicht abgedeckt. Einige weitere Module,
   die im MAC Framework enthalten sind, haben besondere Charakteristika, die
   zum Testen und Entwickeln neuer Module gedacht sind. Dies sind unter
   anderem mac_test(4), mac_stub(4) und mac_none(4). Fu:r weitere
   Informationen zu diesen Modulen und den entsprechend angebotenen
   Funktionen lesen Sie bitte die Manpages.

17.2. Schlu:sselbegriffe

   Bevor Sie weiterlesen, mu:ssen noch einige Schlu:sselbegriffe gekla:rt
   werden. Dadurch soll jegliche auftretende Verwirrung von vornherein
   beseitigt und die plo:tzliche Einfu:hrung neuer Begriffe und Informationen
   vermieden werden.

     * Verbund: Ein Verbund ist ist ein Satz von Programmen und Daten, die
       speziell und zusammen abgeschottet wurden, um Nutzern Zugriff auf
       diese ausgewiesenen Systembereiche zu gewa:hren. Man kann sagen, ein
       solcher Verbund ist eine Gruppierung, a:hnlich einer Arbeitsgruppe,
       einer Abteilung, einem Projekt oder einem Thema. Durch die Nutzung von
       Verbu:nden (compartments) kann man Sicherheitsrichtlinien erstellen,
       die alles notwendige Wissen und alle Werkzeuge zusammenfassen.

     * Hochwassermarkierung: Eine solche Richtlinie erlaubt die Erho:hung der
       Sicherheitsstufe in Abha:ngigkeit der Klassifikation der gesuchten
       bzw. bereitzustellenden Information. Normalerweise wird nach Abschluss
       des Prozesses die urspru:ngliche Sicherheitsstufe wieder hergestellt.
       Derzeit entha:lt die MAC Grundstruktur keine Mo:glichkeit, eine solche
       Richtlinie umzusetzen, der Vollsta:ndigkeit halber ist die Definition
       hier jedoch aufgefu:hrt.

     * Integrita:t: Das Schlu:sselkonzept zur Klassifizierung der
       Vertraulichkeit von Daten nennt man Integrita:t. Je weiter die
       Integrita:t erho:ht wird, umso mehr kann man den entsprechenden Daten
       vertrauen.

     * Label: Ein Label ist ein Sicherheitsmerkmal, welches mit Dateien,
       Verzeichnissen oder anderen Elementen im System verbunden wird. Man
       sollte es wie einen Vertraulichkeitsstempel auffassen, der Dateien
       angeho:rt wie beispielsweise die Zugriffszeit, das Erstellungsdatum
       oder auch der Name; sobald Dateien derart gekennzeichnet werden,
       bezeichnen diese Label die sicherheitsrelevanten Eigenschaften.
       Zugriff ist nur noch dann mo:glich, wenn das zugreifende Subjekt eine
       korrespondierende Kennzeichnung tra:gt. Die Bedeutung und Verarbeitung
       der Label-Werte ist von der Einrichtung der Richtlinie abha:ngig:
       Wa:hrend einige Richtlinien das Label zum Kennzeichnen der
       Vertraulichkeit oder Geheimhaltungsstufe eines Objekts nutzen, ko:nnen
       andere Richtlinien an derselben Stelle Zugriffsregeln festschreiben.

     * Level: Eine erho:hte oder verminderte Einstellung eines
       Sicherheitsmerkmals. Wenn das Level erho:ht wird, wird auch die
       ensprechende Sicherheitsstufe angehoben.

     * Niedrigwassermarkierung: Eine solche Richtlinie erlaubt das
       Herabstufen des Sicherheitslevels, um weniger sensible Daten
       verfu:gbar zu machen. In die meisten Fa:llen wird das urspru:ngliche
       Sicherheitslevel des Nutzers wiederhergestellt, sobald der Vorgang
       abgeschlossen ist. Das einzige Modul in FreeBSD, welches von dieser
       Richtlinie Gebrauch macht, ist mac_lomac(4).

     * Multilabel: Die Eigenschaft multilabel ist eine Dateisystemoption, die
       entweder im Einzelbenutzermodus mit Hilfe des Werkzeugs tunefs(8),
       wa:hrend des Bootvorgangs in der Datei fstab(5) oder aber beim
       Erstellen einen neues Dateisystems aktiviert werden kann. Diese Option
       erlaubt einem Administrator, verschiedenen Objekten unterschiedliche
       Labels zuzuordnen - kann jedoch nur zusammen mit Modulen angewendet
       werden, die auch tatsa:chlich mit Labels arbeiten.

     * Objekt: Ein Objekt oder auch Systemobjekt ist theoretisch eine
       Einheit, durch welche Information fliesst, und zwar unter der Lenkung
       eines Subjektes. Praktisch schliesst diese Definition Verzeichnisse,
       Dateien, Felder, Bildschirme, Tastaturen, Speicher, Bandlaufwerke,
       Drucker und jegliche anderen Datenspeicher- oder -verarbeitungsgera:te
       ein. Im Prinzip ist ein Objekt ein Datenkontainer oder eine
       Systemressource - Zugriff auf ein Objekt bedeutet, auf Daten
       zuzugreifen.

     * Richtlinie: Eine Sammlung von Regeln, die definiert, wie Zielvorgaben
       umgesetzt werden, nennt man Richtlinie. Eine Richtlinie dokumentiert
       normalerweise, wie mit bestimmten Elementen umgegangen wird. Dieses
       Kapitel fasst den Begriff in diesem Kontext als Sicherheitsrichtlinie
       auf; als eine Sammlung von Regeln, die den Fluss von Daten und
       Informationen kontrolliert und die gleichzeitig definiert, wer auf
       diese Daten und Informationen zugreifen darf.

     * Anfa:lligkeit: Dieser Begriff wird normalerweise verwendet, wenn man
       u:ber MLS (Multi Level Security) spricht. Das Anfa:lligkeits-Level
       beschreibt, wie wichtig oder geheim die Daten sein sollen. Um so
       ho:her das Anfa:lligkeits-Level, um so wichtiger die Geheimhaltung
       bzw. Vertraulichkeit der Daten.

     * Einzel-Label: Von einem Einzel-Label spricht man, wenn fu:r ein ganzes
       Dateisystem lediglich ein einziges Label verwendet wird, um
       Zugriffskontrolle u:ber den gesamten Datenfluss zu erzwingen. Sobald
       diese Option verwendet wird - und das ist zu jeder Zeit, wenn die
       Option multilabel nicht explizit gesetzt wurde - sind alle Dateien und
       Verzeichnisse mit dem gleichen Label gekennzeichnet.

     * Subjekt: Ein Subjekt ist jedwede Einheit, die Information in Fluss
       zwischen Objekten bringt: Zum Beispiel ein Nutzer, ein
       Nutzerprozessor, ein Systemprozess usw. In FreeBSD handelt es sich
       meistens um einen Thread, der als Prozess im Namen eines Nutzers
       arbeitet.

17.3. Erla:uterung

   Mit all diesen neuen Begriffen im Kopf ko:nnen wir nun u:berlegen, wie die
   Mo:glichkeiten der verbindlichen Zugriffskontrolle (MAC) die Sicherheit
   eines Betriebssystems als Ganzes erweitern. Die verschiedenen Module, die
   durch die MAC bereitgestellt werden, ko:nnen verwendet werden, um das
   Netzwerk oder Dateisysteme zu schu:tzen, Nutzern den Zugang zu bestimmten
   Ports oder Sockets zu verbieten und vieles mehr. Die vielleicht beste
   Weise, die Module zu verwenden, ist, sie miteinander zu kombinieren, indem
   mehrere Sicherheitsrichtlinienmodule gleichzeitig eine mehrschichtige
   Sicherheitsumgebung schaffen. Das ist etwas anderes als singula:re
   Richtlinien wie zum Beispiel die Firewall, die typischerweise Elemente
   eines Systems stabilisiert, das nur fu:r einen speziellen Zweck verwendet
   wird. Der Verwaltungsmehraufwand ist jedoch von Nachteil, zum Beispiel
   durch die Verwendung von mehreren Labels oder dem eigenha:ndigen Erlauben
   von Netzwerkzugriffen fu:r jeden einzelnen Nutzer.

   Solche Nachteile sind allerdings gering im Vergleich zum bleibenden Effekt
   der erstellten Struktur. Die Mo:glichkeit zum Beispiel, fu:r konkrete
   Anwendungen genau die passenden Richtlinien auszuwa:hlen und einzurichten,
   senkt gleichzeitig die Arbeitskosten. Wenn man unno:tige Richtlinien
   aussortiert, kann man die Gesamtleistung des Systems genauso steigern wie
   auch eine ho:here Anpassungsfa:higkeit gewa:hrleisten. Eine gute Umsetzung
   der MAC beinhaltet eine Pru:fung der gesamten Sicherheitsanforderungen und
   einen wirksamen Einsatz der verschiedenen Module.

   Ein System, auf dem eine MAC verwendet wird, muss zumindest garantieren,
   dass einem Nutzer nicht gestattet wird, Sicherheitsmerkmale nach eigenem
   Ermessen zu vera:ndern; dass Arbeitswerkzeuge, Programme und Skripte,
   innerhalb der Beschra:nkungen arbeiten ko:nnen, welche die Zugriffsregeln
   der ausgewa:hlten Module dem System auferlegen; und dass die volle
   Kontrolle u:ber die Regeln der MAC beim Administrator ist und bleibt.

   Es ist die einsame Pflicht des zusta:ndigen Administrators, die richtigen
   Module sorgfa:ltig auszuwa:hlen. Einige Umgebungen ko:nnten eine
   Beschra:nkung der Zugriffe u:ber die Netzwerkschnittstellen beno:tigen -
   hier wa:ren die Module mac_portacl(4), mac_ifoff(4) und sogar mac_biba(4)
   ein guter Anfang. In anderen Fa:llen muss man sehr strenge Vertraulichkeit
   von Dateisystemobjekten gewa:hrleisten - dafu:r ko:nnte man
   mac_bsdextended(4) oder mac_mls(4) einsetzen.

   Die Entscheidung, welche Richtlinien angewandt werden, kann auch anhand
   der Netzwerk-Konfiguration getroffen werden. Nur bestimmten Benutzern soll
   erlaubt werden, via ssh(1) auf das Netzwerk oder Internet zuzugreifen -
   mac_portacl(4) wa:re eine gute Wahl. Aber fu:r was entscheidet man sich im
   Falle eines Dateisystems? Soll der Zugriff auf bestimmte Verzeichnisse von
   spezifischen Nutzern oder Nutzergruppen separiert werden? Oder wollen wir
   den Zugriff durch Nutzer oder Programme auf spezielle Dateien
   einschra:nken, indem wir gewisse Objekte als geheim einstufen?

   Der Zugriff auf Objekte kann einigen vertraulichen Nutzern gestattet
   werden, anderen wiederum verwehrt. Als Beispiel sei hierzu ein grosses
   Entwicklerteam angefu:hrt, das in kleine Gruppen von Mitarbeitern
   aufgeteilt wurde. Die Entwickler von Projekt A du:rfen nicht auf Objekte
   zugreifen, die von den Entwicklern von Projekt B geschrieben wurden. Sie
   mu:ssen aber trotzdem auf Objekte zugreifen ko:nnen, die von einem dritten
   Entwicklerteam geschaffen wurden - alles in allem eine verzwickte
   Situation. Wenn man die verschiedenen Module der MAC richtig verwendet,
   ko:nnen Anwender in solche Gruppen getrennt und ihnen der Zugriff zu den
   gewu:nschten Systemobjekten gestattet werden - ohne Angst haben zu
   mu:ssen, dass Informationen in die falschen Ha:nde geraten.

   So hat jedes Modul, das eine Sicherheitsrichtlinie verfu:gbar macht, einen
   eigenen Weg, die Sicherheit des Systems zu versta:rken. Die Auswahl der
   Module sollte auf einem gut durchdachten Sicherheitskonzept gru:nden. In
   vielen Fa:llen muss das gesamte Konzept eines Systems u:berarbeitet und
   neu eingepflegt werden. Ein guter U:berblick u:ber die Mo:glichkeiten der
   verschiedenen von der MAC angebotenen Module hilft einem Administrator,
   die besten Richtlinien fu:r seine spezielle Situation auszuwa:hlen.

   Im FreeBSD-Standardkernel ist die Option zur Verwendung der MAC nicht
   enthalten. Daher muss die Zeile

 options      MAC

   der Kernelkonfiguration hinzugefu:gt und der Kernel neu u:bersetzt und
   installiert werden.

  Achtung:

   Verschiedenen Anleitungen fu:r die MAC empfehlen, die einzelnen Module
   direkt in den Kernel einzuarbeiten. Dabei ist es jedoch mo:glich, das
   System aus dem Netzwerk auszusperren oder gar schlimmeres. Die Arbeit mit
   der MAC ist a:hnlich der Arbeit mit einer Firewall - man muss, wenn man
   sich nicht selbst aus dem System aussperren will, genau aufpassen. Man
   sollte sich eine Mo:glichkeit zurechtlegen, wie man eine Implementation
   einer MAC ru:ckga:ngig machen kann - genauso wie eine Ferninstallation
   u:ber das Netzwerk nur mit a:usserster Vorsicht vorgenommen werden sollte.
   Es wird daher empfohlen, die Module nicht in den Kernel einzubinden,
   sondern sie beim Systemstart via /boot/loader.conf zu laden.

17.4. MAC Labels verstehen

   MAC Label sind Sicherheitsmerkmale, die, wenn sie zum Einsatz kommen,
   allen Subjekten und Objekten im System zugeordnet werden.

   Wenn ein Administrator ein solches Merkmal bzw. Attribut setzen will, muss
   er/sie verstehen ko:nnen, was da genau passiert. Die Attribute, die im
   speziellen Fall zu vergeben sind, ha:ngen vom geladenen Modul und den
   darin jeweils implementierten Richtlinien ab. Jedes dieser
   Richtlinienmodule setzt die Arbeit mit seinen entsprechenden Attributen in
   individueller Weise um. Falls der Nutzer nicht versteht, was er da
   konfiguriert, oder auch, was seine Konfiguration fu:r Begleiterscheinungen
   mit sich bringt, ergibt sich meist als Resultat ein unerwartetes, ja sogar
   unerwu:nschtes Verhalten des gesamten Systems.

   Ein Label, einem Objekt verliehen, wird verwendet, um anhand einer
   Richtlinie eine sicherheitsrelevante Entscheidung u:ber Zugriffsrechte zu
   fa:llen. In einigen Richtlinien entha:lt bereits das Label selbst alle
   dafu:r no:tigen Informationen. Andere Richtlinien verwenden diese
   Informationen, um zuna:chst ein komplexes Regelwerk abzuarbeiten.

   Wenn man zum Beispiel einer Datei das Attribut biba/low zuordnet, wird
   dieses durch das Biba Sicherheitsrichtlinienmodul, und zwar mit dem Wert
   "low", verarbeitet.

   Einige der Richtlinienmodule, die die Mo:glichkeit zum Vergeben von Labels
   unter FreeBSD unterstu:tzen, bieten drei vordefinierte Labels an. Dieses
   nennen sich "high", "low" und "equal". Obwohl die verschiedenen Module die
   Zugriffskontrolle auf verschiedene Weisen regeln, kann man sich sicher
   sein, das das "low"-Label der untersten, unsichersten Einstellung
   entspricht, das "equal"-Label die Verwendung des Moduls fu:r das jeweilige
   Objekt oder Subjekt deaktiviert - und das "high"-Label die
   ho:chstmo:gliche Einstellung erzwingt. Im Speziellen gilt diese Aussage
   fu:r die Richtlinien(-module) MLS und Biba.

   In den meisten Umgebungen, sogenannten Single Label Environments, wird
   Objekten nur ein einzelnes Label zugewiesen. Dadurch wird nur ein
   Regelsatz fu:r die Zugriffskontrolle auf das gesamte System verwendet -
   und das ist meistens auch tatsa:chlich ausreichend. Es gibt wenige Fa:lle,
   in denen mehrere Labels auf Dateisystemobjekte oder -subjekte verwendet
   werden. In einem solchen Fall muss das Dateisystem mit der
   tunefs(8)-Option multilabel angepasst werden, da single label die
   Standardeinstellung ist.

   Bei der Verwendung von Biba oder MLS kann man numerische Labels vergeben,
   die genau das Level angeben, an welcher Stelle in der Hierarchie das
   Subjekt oder Objekt einzuordnen ist. Dieses numerische Level wird
   verwendet, um Informationen in verschiedene Gruppen aufzuteilen oder zu
   sortieren - damit zum Beispiel nur Subjekte, die zu einer gewissen
   Vertraulichkeitsstufe geho:ren, Zugang zu einer Gruppe von Objekten
   erhalten.

   In den meisten Fa:llen wird ein Administrator nur ein einzelnes Label fu:r
   das gesamte Dateisystem verwenden.

   Moment mal, dass ist doch dasselbe wie DAC! Ich dachte, MAC wu:rde die
   Kontrolle strengstens an den Administrator binden! Diese Aussage ha:lt
   immer noch stand  - root ist derjenige, der die Kontrolle ausu:bt und die
   Richtlinie konfiguriert, so dass Nutzer in die entsprechenden,
   angemessenen Kategorien / Zugriffsklassen eingeordnet werden. Nunja,
   einige Module schra:nken root selbst ein. Die Kontrolle u:ber Objekte wird
   dann einer Gruppe zugewiesen, jedoch hat root die Mo:glichkeit, die
   Einstellungen jederzeit zu widerrufen oder zu a:ndern. Dies ist das
   Hierarchie/Freigabe-Modell, das durch Richtlinien wie MLS oder Biba
   bereitgestellt wird.

  17.4.1. Konfigurieren der Labels

   Gewissermassen alle Aspekte der Labelkonfiguration werden durch Werkzeuge
   das Basissystems umgesetzt. Die entsprechenden Kommandos bieten eine
   einfache Schnittstelle zum Konfigurieren, Manipulieren und auch
   Verifizieren der gekennzeichneten Objekte.

   Mit den beiden Kommandos setfmac(8) und setpmac(8) kann man eigentlich
   schon alles machen. Das Kommando setfmac wird verwendet, um ein MAC-Label
   auf einem Systemobjekt zu setzen, setpmac hingegen zum Setzen von Labels
   auf Systemsubjekte. Als Beispiel soll hier dienen:

 # setfmac biba/high test

   Wenn bei der Ausfu:hrung dieses Kommandos keine Fehler aufgetreten sind,
   gelangt man zur Eingabeaufforderung zuru:ck. Nur wenn ein Fehler auftritt,
   verhalten sich diese Kommandos nicht still, ganz wie auch die Kommandos
   chmod(1) und chown(8). In einigen Fa:llen wird dieser Fehler Permission
   denied lauten und gewo:hnlich dann auftreten, wenn ein Label an einem
   Objekt angebracht oder vera:ndert werden soll, das bereits
   (Zugriffs-)Beschra:nkungen unterliegt.[11] Der Systemadministrator kann so
   eine Situation mit Hilfe der folgenden Kommandos u:berwinden:

 # setfmac biba/high test
 Permission denied
 # setpmac biba/low setfmac biba/high test
 # getfmac test
 test: biba/high

   Wie wir hier sehen, kann setpmac verwendet werden, um die vorhandene
   Einstellungen zu umgehen, indem dem gestarteten Prozess ein anderes,
   valides Label zugeordnet wird. Das Werkzeug getpmac wird normalerweise auf
   gerade laufende Prozesse angewendet. A:hnlich sendmail: Als Argument wird
   statt eines Kommandos eine eine Prozess-ID u:bergeben, es verbirgt sich
   doch dieselbe Logik dahinter. Wenn ein Nutzer versucht, eine Datei zu
   vera:ndern, auf die er keinen Zugriff hat, entsprechend der Regeln eines
   geladenen Richtlinienmoduls, wird der Fehler Operation not permitted durch
   die Funktion mac_set_link angezeigt.

    17.4.1.1. U:bliche Typen von Labeln

   Wenn man die Module mac_biba(4), mac_mls(4) und mac_lomac(4) verwendet,
   hat man die Mo:glichkeit, einfache Label zu vergeben. Diese nennen sich
   high, low und equal. Es folgt eine kurze Beschreibung, was diese Labels
   bedeuten:

     * Das Label low ist definitionsgema:ss das niedrigeste Label, das einem
       Objekt oder Subjekt verliehen werden kann. Wird es gesetzt, kann die
       entsprechende Entita:t nicht mehr auf Entita:ten zugreifen, die das
       Label high tragen.

     * Das Label equal wird Entita:ten verliehen, die von der Richtlinie
       ausgenommen sein sollen.

     * Das Label high verleiht einer Entita:t die ho:chstmo:gliche
       Einstellung.

   Unter Beachtung jedes einzelnen Richtlinienmoduls moduliert und
   beschra:nkt jede dieser Einstellungen den Informationsfluss
   unterschiedlich. Genaue Erkla:rungen zu den Charakteristika der einfachen
   Labels in den verschiedenen Modulen finden sich im entsprechenden
   Unterabschnitt dieses Kapitels oder in den Manpages.

      17.4.1.1.1. Fortgeschrittene Label-Konfiguration

   Numerische klassifizierte Labels werden verwendet in der Form
   Klasse:Verbund+Verbund. Demnach ist das Label

 biba/10:2+3+6(5:2+3-15:2+3+4+5+6)

   folgendermassen zu lesen:

   "Biba Policy Label"/"effektive Klasse 10" :"Verbund 2,3 und 6":
   ("Low-Klasse 5:..."- "High-Klasse 15:...")

   In diesem Beispiel ist die erstgenannte Klasse als "effektive Klasse" zu
   bezeichnen. Ihr werden die "effektiven Verbu:nde" zugeordnet. Die zweite
   Klasse ist die "Low"-Klasse und die letzte die "high"-Klasse. Die
   allermeisten Konfigurationen kommen ohne die Verwendungen von solchen
   Klassen aus, nichtsdestotrotz kann man sie fu:r erweiterte Konfigurationen
   verwenden.

   Sobald sie auf Systemsubjekte angewendet werden, haben diese eine
   gegenwa:rtige Klasse/Verbund- Konfiguration und diese muss im definierten
   Rahmen gegebenenfalls angepasst (erho:ht oder gesenkt) werden. Im
   Gegensatz dazu haben Systemobjekte alle eingestellten (effektive, High-
   und Low-Klasse) gleichzeitig. Dies ist notwendig, damit auf Sie von den
   Systemsubjekten in den verschiedenen Klassen gleichzeitig zugegriffen
   werden kann.

   Die Klasse und und die Verbu:nde in einem Subjekt-Objekt-Paar werden zum
   Erstellen einer sogenannten Dominanz-Relation verwendet, in welcher
   entweder das Subjekt das Objekt, das Objekt das Subjekt, keines das andere
   dominiert oder sich beide gegenseitig dominieren. Der Fall, dass sich
   beide dominieren, tritt dann ein, wenn die beiden Labels gleich sind.
   Wegen der Natur des Informationsflusses in Biba kann man einem Nutzer
   Rechte fu:r einen Reihe von Abteilungen zuordnen, die zum Beispiel mit
   entsprechenden Projekten korrespondieren. Genauso ko:nnen aber auch
   Objekten mehrere Abteilungen zugeordnet sein. Die Nutzer mu:ssen eventuell
   ihre gegenwa:rtigen Rechte mithilfe von su or setpmac anpassen um auf
   Objekte in einer Abteilung zuzugreifen, zu der sie laut ihrer effektiven
   Klasse nicht berechtigt sind.

    17.4.1.2. Nutzer- und Label-Einstellungen

   Nutzer selbst brauchen Labels damit ihre Dateien und Prozesse korrekt mit
   der Sicherheitsrichtlinie zusammenarbeitet, die fu:r das System definiert
   wurde. Diese werden in der Datei login.conf durch die Verwendung von
   Login- Klassen zugeordnet. Jedes Richtlinienmodul, das Label verwendet,
   arbeitet mit diesen Login-Klassen.

   Beispielhaft wird der folgende Eintrag, der fu:r jede Richtlinie eine
   Einstellung entha:lt, gezeigt:

 default:\
 :copyright=/etc/COPYRIGHT:\
 :welcome=/etc/motd:\
 :setenv=MAIL=/var/mail/$,BLOCKSIZE=K:\
 :path=~/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:\
 :manpath=/usr/share/man /usr/local/man:\
 :nologin=/usr/sbin/nologin:\
 :cputime=1h30m:\
 :datasize=8M:\
 :vmemoryuse=100M:\
 :stacksize=2M:\
 :memorylocked=4M:\
 :memoryuse=8M:\
 :filesize=8M:\
 :coredumpsize=8M:\
 :openfiles=24:\
 :maxproc=32:\
 :priority=0:\
 :requirehome:\
 :passwordtime=91d:\
 :umask=022:\
 :ignoretime@:\
 :label=partition/13,mls/5,biba/10(5-15),lomac/10[2]:

   Die Label-Option in der letzten Zeile legt fest, welches Standard-Label
   fu:r einen Nutzer erzwungen wird. Nutzern darf niemals gestattet werden,
   diese Werte selbst zu vera:ndern, demnach haben Nutzer in dieser Beziehung
   auch keine Wahlfreiheit. In einer richtigen Konfiguration jedoch wird kein
   Administrator alle Richtlinienmodule aktivieren wollen. Es wird an dieser
   Stelle ausdru:cklich empfohlen, dieses Kapitel zu Ende zu lesen, bevor
   irgendein Teil dieser Konfiguration ausprobiert wird.

  Anmerkung:

   Nutzer ko:nnen ihr eigenes Label nach dem Loginvorgang durchaus a:ndern.
   Jedoch kann diese A:nderung nur unter den Auflagen der gerade gu:ltigen
   Richtlinie geschehen. Im Beispiel oben wird fu:r die Biba-Richtlinie eine
   minimale Prozessintegrita:t von 5, eine maximale von 15 angegeben, aber
   die Voreinstellung des tatsa:chlichen Labels ist 10. Der Nutzerprozess
   la:uft also mit einer Integrita:t von 10 bis das Label vera:ndert wird,
   zum Beispiel durch eine Anwendung des Kommandos setpmac, welches jedoch
   auf den Bereich eingeschra:nkt wird, der zum Zeitpunkt des Logins
   angegeben wurde, in diesem Fall von 5 bis 15.

   Nach einer A:nderung der Datei login.conf muss in jedem Fall die
   Befa:higungsdatenbank mit dem Kommando cap_mkdb neu erstellt werden - und
   das gilt fu:r alle im weiteren Verlauf gezeigten Beispiele und
   Diskussionspunkte.

   Es ist nu:tzlich anzumerken, dass viele Einsatzorte eine grosse Anzahl von
   Nutzern haben, die wiederum viele verschiedenen Nutzerklassen angeho:ren
   sollen. Hier ist eine Menge Planungsarbeit notwendig, da die Verwaltung
   sehr unu:bersichtlich und schwierig ist.

    17.4.1.3. Netzwerkschnittstellen und die zugeho:rigen Label

   Labels ko:nnen auch, wenn man sie an Netzwerkschittstellen vergibt,
   helfen, den Datenfluss durch das Netzwerk zu kontrollieren. Das
   funktioniert in allen Fa:llen genau so wie mit Objekten. Nutzer, die in
   der Biba-Richtlinie das Label high tragen, du:rfen nicht auf
   Schnittstellen zugreifen, die low markiert sind usw.

   Die Option maclabel wird via ifconfig u:bergeben. Zum Beispiel

 # ifconfig bge0 maclabel biba/equal

   belegt die Schnittstelle bge(4) mit dem MAC Label biba/equal. Wenn eine
   komplexe Einstellung wie biba/high(low-high) verwendet wird, muss das
   gesamte Label in Anfu:hrungszeichen geschrieben werden, da sonst eine
   Fehlermeldung zuru:ckgegeben wird.

   Jedes Richtlinienmodul, das die Vergabe von Labels unterstu:tzt, stellt
   einen Parameter bereit, mit dem das MAC Label fu:r Netzwerkschnittstellen
   deaktiviert werden kann. Das Label der Netzwerkschnittstelle auf equal zu
   setzen, fu:hrt zum selben Ergebnis. Beachten Sie die Ausgabe von sysctl,
   die Manpages der verschiedenen Richtlinien oder eben die Informationen,
   die im weiteren Verlauf dieses Kapitels angeboten werden, um mehr zu
   diesen Parametern zu erfahren.

  17.4.2. Single- oder Multilabel?

   Als Standardeinstellung verwendet das System die Option single label. Was
   bedeutet das fu:r den Administrator? Es gibt einige Unterschiede zwischen
   single label und multilabel. In ihrer ureigenen Weise bieten beide Vor-
   und Nachteile bezogen auf die Flexibilita:t bei der Modellierung der
   Systemsicherheit.

   Die Option single label gibt jedem Subjekt oder Objekt genau ein einziges
   Label, zum Beispiel biba/high. Mit dieser Option hat man einen geringeren
   Verwaltungsaufwand, aber die Flexibilita:t beim Einsatzes von Richtlinien
   ist ebenso gering. Viele Administratoren wa:hlen daher auch die Option
   multilabel im Sicherheitsmodell, wenn die Umsta:nde es erfordern.

   Die Option multilabel gestattet, jedem einzelnen Subjekt oder Objekt seine
   eigenen unabha:ngigen Label zu zuzuordnen. Die Optionen multilabel und
   singlelabel betreffen jedoch nur die Richtlinien, die Labels als
   Leistungsmerkmal verwenden, einschliesslich der Richtlinien Biba, Lomac,
   MLS und SEBSD.

   Wenn Richtlinien benutzt werden sollen, die ohne Labels auskommen, wird
   die Option multilabel nicht beno:tigt. Dies betrifft die Richtlinien
   seeotheruids, portacl und partition.

   Man sollte sich dessen bewusst sein, dass die Verwendung der Option
   multilabel auf einer Partition und die Erstellung eines Sicherheitsmodells
   auf der Basis der FreeBSD multilevel Funktionalita:t einen hohen
   Verwaltungsaufwand bedeutet, da alles im Dateisystem ein Label bekommt.
   Jedes Verzeichnis, jede Datei und genauso jede Schnittstelle.

   Das folgende Kommando aktiviert multilabel fu:r ein Dateisystem. Dies
   funktioniert nur im Einzelbenutzermodus:

 # tunefs -l enable /

   In einer Swap-Partition wird dies nicht beno:tigt.

  Anmerkung:

   Falls Sie Probleme beim Setzen der Option multilabel auf der
   Root-Partition bemerken, lesen Sie bitte Abschnitt 17.17, "Fehler im MAC
   beheben" dieses Kapitels.

17.5. Planung eines Sicherheitsmodells

   Wann immer eine neue Technologie eingepflegt werden soll, ist es wichtig,
   vorher einen Plan zu erstellen. In den verschiedenen Etappen der Planung
   sollte der Administrator nie das "Grosse Ganze" aus den Augen verlieren
   und mindestens die folgenden Punkte beachten:

     * Die Anforderungen

     * Die Ziele

   Wenn Sie MAC verwenden mo:chten, sind das im Besonderen folgende Punkte:

     * Wie werden Informationen und Ressourcen auf den Zielsystemen
       klassifiziert?

     * Welche Arten von Informationen bzw. Ressourcen sollen im Zugang
       beschra:nkt sein und welche Art Einschra:nkung soll verwendet werden?

     * Welche(s) MAC Modul(e) wa:hlt man, um sein Ziel zu erreichen?

   Es ist immer mo:glich, die Einstellungen des Systems und der
   Systemressourcen im Nachhinein zu "optimieren". Es ist aber wirklich
   la:stig, das gesamte Dateisystem zu durchsuchen, um Dateien oder
   Benutzerkonten zu reparieren. Eine gute Planung hilft dem Administrator,
   sich einer sorgenfreien und effizienten Umsetzung eines Sicherheitsmodells
   zu versichern. Testlauf des Sicherheitsmodells vor dem Einsatz in seiner
   richtigen Arbeitsumgebung ist auf jeden Fall empfehlenswert. Die Idee, ein
   System mit einer MAC einfach loslaufen zu lassen, ist wie direkt auf einen
   Fehlschlag hinzuarbeiten.

   Jede Umgebung hat ihre eigenen Anforderungen. Ein tiefgreifendes und
   vollsta:ndiges Sicherheitsprofil zu erstellen spart weitere A:nderungen,
   nachdem das System in Betrieb genommen wurde. Also werden die folgenden
   Abschnitte die verschiedenen Module vorstellen, die den Administratoren
   zur Verfu:gung gestellt werden, die Nutzung und Konfiguration der
   einzelnen Module beschreiben; und in einigen Fa:llen Einblicke gewa:hren,
   fu:r welche Situationen welche Module besonders geeignet sind. Zum
   Beispiel ein Webserver kann von der Verwendung der mac_biba(4) oder der
   mac_bsdextended(4) Richtlinie profitieren. In anderen Fa:llen, an einem
   Rechner mit nur wenigen lokalen Benutzern, ist die mac_partition(4) die
   Richtlinie der Wahl.

17.6. Modulkonfiguration

   Jedes Modul, das in der MAC enthalten ist, kann entweder direkt in den
   Kernel eingefu:gt werden oder als Kernelmodul in der Laufzeit des Systems
   geladen werden. Empfohlen wird, den Modulnamen in der Datei
   /boot/loader.conf anzufu:gen, so dass das Modul am Anfang des Bootvorgangs
   eingebunden wird.

   Die folgenden Abschnitte werden verschiedene MAC Module und ihre
   jeweiligen Vor- und Nachteile vorstellen. Ausserdem wird erkla:rt, wie sie
   in bestimmte Umgebungen eingearbeitet werden ko:nnen. Einige Module
   unterstu:tzen die Verwendung von Labels, das heisst Zugriffskontrolle
   durch hinzufu:gen einer Kennzeichnung in der Art von "dieses ist erlaubt,
   jenes aber nicht". Eine Label-Konfigurationdatei kontrolliert unter
   anderem, wie auf Dateien zugegriffen oder wie u:ber das Netzwerk
   kommuniziert werden darf. Im vorangehenden Abschnitt wurde bereits
   erla:utert, wie die Option multilabel auf Dateisysteme angewendet wird, um
   eine Zugriffskontrolle auf einzelne Dateien oder ganze Dateisysteme zu
   konfigurieren.

   Eine single label Konfiguration erzwingt ein einzelnes Label fu:r das
   gesamte System. Daher wird die tunefs-Option multilabel genannt.

17.7. Das MAC Modul seeotheruids

   Modulename: mac_seeotheruids.ko

   Parameter in der Kernelkonfiguration: options MAC_SEEOTHERUIDS

   Bootparameter: mac_seeotheruids_load="YES"

   Das Modul mac_seeotheruids(4) erweitert die sysctl-Variablen
   security.bsd.see_other_uids und security.bsd.see_other_gids. Diese
   Optionen beno:tigen keine im Vorhinein zu setzenden Labels und ko:nnen
   leicht durchschaubar mit den anderen MAC-Modulen zusammenarbeiten.

   Nachdem das Modul geladen wurde, ko:nnen die folgenden sysctl Variablen
   verwendet werden.

     * security.mac.seeotheruids.enabled dient zur Aktivierung des Moduls,
       zuna:chst mit den Standardeinstellungen. Diese verhindern, dass Nutzer
       Prozesse und Sockets sehen ko:nnen, die ihnen nicht selbst geho:en.

     * security.mac.seeotheruids.specificgid_enabled kann eine spezifizierte
       Nutzergruppe von dieser Richtlinie ausnehmen. Die entsprechende Gruppe
       muss an den Parameter security.mac.seeotheruids.specificgid=XXX
       u:bergeben werden, wobei XXX die ID der Gruppe ist, die von der
       Richtlinie ausgenommen werden soll.

     * security.mac.seeotheruids.primarygroup_enabled kann verwendet werden,
       um eine spezifische, prima:re Nutzergruppe von der Richtlinie
       auszuschliessen. Dieser Parameter und
       security.mac.seeotheruids.specificgid_enabled schliessen einander aus.

17.8. Das MAC Modul bsdextended

   Modulname: mac_bsdextended.ko

   Parameter in der Kernelkonfiguration: options MAC_BSDEXTENDED

   Bootparameter: mac_bsdextended_load="YES"

   Das Modul mac_bsdextended(4) erstellt eine Firewall fu:r das Dateisystem
   und ist eine Erweiterung des sonst u:blichen Rechtemodells. Es erlaubt
   einem Administrator einen Regelsatz zum Schutz von Dateien, Werkzeugen und
   Verzeichnissen in der Dateisystemhierarchie zu erstellen, der einer
   Firewall a:hnelt. Sobald auf ein Objekt im Dateisystem zugegriffen werden
   soll, wird eine Liste von Regel abgearbeitet, bis eine passende Regel
   gefunden wird oder die Liste zu Ende ist. Das Verhalten kann durch die
   A:nderung des sysctl(8) Parameters
   security.mac.bsdextended.firstmatch_enabled eingestellt werden. A:hnlich
   wie bei den anderen Firewallmodulen in FreeBSD wird eine Datei erstellt,
   welche die Zugriffsregeln entha:lt. Diese wird beim Systemstart durch eine
   Variable in rc.conf(5) eingebunden.

   Der Regelsatz kann mit dem Programm ugidfw(8) eingepflegt werden, welches
   eine Syntax bereitstellt, die der von ipfw(8) gleicht. Weitere Werkzeuge
   ko:nnen auch selbst erstellt werden, indem die Funktionen der Bibliothek
   libugidfw(3) verwendet werden.

   Bei der Arbeit mit diesem Modul ist a:usserste Vorsicht geboten - falscher
   Gebrauch kann den Zugriff auf Teile des Dateisystems komplett unterbinden.

  17.8.1. Beispiele

   Nachdem das Modul mac_bsdextended(4) erfolgreich geladen wurde, zeigt das
   folgende Kommando die gegenwa:rtig aktiven Regeln an:

 # ugidfw list 0 slots, 0 rules

   Wie erwartet, sind keine Regeln definiert. Das bedeutet, das auf alle
   Teile des Dateisystems zugegriffen werden kann. Um eine Regel zu
   definieren, die jeden Zugriff durch Nutzer blockiert und nur die Rechte
   von root unangetastet la:sst, muss lediglich dieses Kommando ausgefu:hrt
   werden:

 # ugidfw add subject not uid root new object not uid root mode n

   Das ist allerdings keine gute Idee, da nun allen Nutzern der Zugriff auf
   selbst die einfachsten Programme wie ls untersagt wird. Angemessener wa:re
   etwas wie:

 # ugidfw set 2 subject uid user1 object uid user2 mode n
 # ugidfw set 3 subject uid user1 object gid user2 mode n

   Diese Befehle bewirken, dass user1 keinen Zugriff mehr auf Dateien und
   Programme hat, die user2 geho:ren. Dies schliesst das Auslesen von
   Verzeichniseintra:gen ein.

   Anstelle uid user1 ko:nnte auch not uid user2 als Parameter u:bergeben
   werden. Dies wu:rde diesselben Einschra:nkungen fu:r alle Nutzer bewirken
   anstatt nur einen einzigen.

  Anmerkung:

   root ist von diesen Einstellungen nicht betroffen.

   Dies sollte als U:berblick ausreichen, um zu verstehen, wie das Modul
   mac_bsdextended(4) helfen kann, das Dateisystem abzuschotten. Weitere
   Informationen bieten die Manpages mac_bsdextended(4) und ugidfw(8).

17.9. Das MAC Modul ifoff

   Modulname: mac_ifoff.ko

   Parameter fu:r die Kernelkonfiguration: options MAC_IFOFF

   Bootparameter: mac_ifoff_load="YES"

   Das Modul mac_ifoff(4) ist einzig dazu da, Netzwerkschnittstellen im
   laufenden Betrieb zu deaktivieren oder zu verhindern, das
   Netzwerkschnittstellen wa:hrend der Bootphase gestartet werden. Dieses
   Modul beno:tigt fu:r seinen Betrieb weder Labels, die auf dem System
   eingerichtet werden mu:ssen, noch hat es Abha:ngigkeiten zu anderen MAC
   Modulen.

   Der gro:sste Teil der Kontrolle geschieht u:ber die im folgenden
   aufgelisteten sysctl-Parameter:

     * security.mac.ifoff.lo_enabled schaltet den gesamten Netzwerkverkehr
       auf der Loopback-Schnittstelle lo(4) an bzw. aus.

     * security.mac.ifoff.bpfrecv_enabled macht das Gleiche fu:r den Berkeley
       Paket Filter bpf(4).

     * security.mac.ifoff.other_enabled schaltet den Verkehr fu:r alle
       anderen Netzwerkschnittstellen.

   Die wahrscheinlich ha:ufigste Nutzung von mac_ifoff(4) ist die
   U:berwachung des Netzwerks in einer Umgebung, in der kein Netzwerkverkehr
   wa:hrend des Bootvorgangs erlaubt werden soll. Eine andere mo:gliche
   Anwendung wa:re ein Script, das mit Hilfe von security/aide automatisch
   alle Schnittstellen blockiert, sobald Dateien in geschu:tzten
   Verzeichnissen angelegt oder vera:ndert werden.

17.10. Das MAC Modul portacl

   Modulname: mac_portacl.ko

   Parameter fu:r die Kernelkonfiguration: options MAC_PORTACL

   Bootparameter: mac_portacl_load="YES"

   Mit Hilfe des Moduls mac_portacl(4) ko:nnen die Anbindungen an die lokalen
   TCP und UDP Ports durch eine Vielzahl von sysctl Variablen beschra:nkt
   werden. Genauer gesagt ermo:glicht mac_portacl(4) Nutzern ohne
   root-Rechten den Zugriff auf zu bestimmende privilegierte Ports, also
   denen innerhalb der ersten 1024.

   Sobald das Modul geladen wurde, ist die Richtlinie fu:r alle Sockets
   verfu:gbar. Die folgenden Variablen ko:nnen fu:r die Konfiguration
   verwendet werden:

     * security.mac.portacl.enabled schaltet die Anwendung der Richtlinie ein
       oder aus.

     * security.mac.portacl.port_high gibt den ho:chsten Port an, der von der
       Richtlinie mac_portacl(4) betroffen sein soll.

     * security.mac.portacl.suser_exempt nimmt, wenn es einen Wert ungleich
       Null zugewiesen bekommt, root von der Richtlinie aus.

     * security.mac.portacl.rules entha:lt als Wert die eigentliche
       mac_portacl Richtlinie.

   Die eigentliche Konfiguration der mac_portacl Richtlinie wird der
   sysctl-Variablen security.mac.portacl.rules als Zeichenkette der Form
   rule[,rule,...] u:bergeben. Jede einzelne Regel hat die Form
   idtype:id:protocol:port. Der Parameter idtype ist entweder uid oder gid
   und wird verwendet, um den Parameter id als Nutzer-ID oder Gruppen-ID zu
   kennzeichnen. Der Parameter protocol gibt an, ob die Regel u:r TCP oder
   UDP gelten soll (indem man den Wert auf tcp oder udp setzt). Und der
   letzte Parameter, port, entha:lt die Nummer des Ports, auf den der
   angegebene Nutzer bzw. die angegebene Gruppe Zugriff erhalten soll.

  Anmerkung:

   Da der Regelsatz direkt vom Kernel ausgewertet wird, ko:nnen nur
   Zahlenwerte u:bergeben werden. Das heisst, Namen von Nutzern, Gruppen oder
   Dienstnamen aus der Datei /etc/services funktionieren nicht.

   Auf UNIX(R)-artigen Betriebssystemen sind die Ports kleiner 1024
   privilegierten Prozessen vorbehalten, mu:ssen also mit als/von root
   gestartet werden und weiterhin laufen. Damit mac_portacl(4) die Vergabe
   von Ports kleiner als 1024 an nicht privilegierte Prozesse u:bernehmen
   kann, muss die UNIX(R) Standardeinstellung deaktiviert werden. Dazu
   a:ndert man die sysctl(8) Variablen net.inet.ip.portrange.reservedlow und
   net.inet.ip.portrange.reservedhigh auf den Wert "0".

   Weiterfu:hrende Informationen entnehmen Sie bitte den unten aufgefu:hrten
   Beispielen oder der Man-Page mac_portacl(4)!

  17.10.1. Beispiele

   Die folgenden Beispiele sollten ein wenig Licht in die obige Diskussion
   bringen:

 # sysctl security.mac.portacl.port_high=1023
 # sysctl net.inet.ip.portrange.reservedlow=0 net.inet.ip.portrange.reservedhigh=0

   Zuna:chst bestimmen wir, dass mac_portacl(4) fu:r alle privilegierten
   Ports gelten soll und deaktivieren die normale UNIX(R)-Beschra:nkung.

 # sysctl security.mac.portacl.suser_exempt=1

   Da root von dieser Richtlinie nicht beeintra:chtigt werden soll, setzen
   wir hier security.mac.portacl.suser_exempt auf einen Wert ungleich Null.
   Das Modul mac_portacl(4) ist nun so eingerichtet, wie es UNIX(R)-artige
   Betriebssysteme normal ebenfalls tun.

 # sysctl security.mac.portacl.rules=uid:80:tcp:80

   Nun erlauben wir dem Nutzer mit der UID 80, normalerweise dem Nutzer www,
   den Port 80 zu verwenden. Dadurch kann der Nutzer www einen Webserver
   betreiben, ohne dafu:r mit root-Privilegien ausgestattet zu sein.

 # sysctl security.mac.portacl.rules=uid:1001:tcp:110,uid:1001:tcp:995

   Hier wird dem Nutzer mit der UID 1001 erlaubt, die TCP Ports 110 ("pop3")
   und 995 ("pop3s") zu verwenden. Dadurch kann dieser Nutzer einen Server
   starten, der Verbindungen an diesen beiden Ports annehmen kann.

17.11. Das MAC Modul partition

   Modulname: mac_partition.ko

   Parameter fu:r die Kernelkonfiguration: options MAC_PARTITION

   Bootparameter mac_partition_load="YES"

   Die Richtlinie mac_partition(4) setzt Prozesse in spezielle "Partitionen",
   entsprechend dem zugewiesenen MAC Label. Man kann sich das vorstellen wie
   eine spezielle Art jail(8), auch wenn das noch kein wirklich guter
   Vergleich ist.

   Es wird empfohlen, dieses Modul durch einen Eintrag in loader.conf(5) zu
   aktivieren, so dass die Richtlinie wa:hrend des Bootvorganges eingebunden
   wird.

   Der Grossteil der Konfiguration geschieht mit dem Kommando setpmac(8), wie
   gleich erkla:rt wird. Ausserdem gibt es folgenden sysctl Parameter fu:r
   diese Richtlinie.

     * security.mac.partition.enabled erzwingt die Verwendung von MAC
       Prozess-Partitionen.

   Sobald diese Richtlinie aktiv ist, sehen Nutzer nur noch ihre eigenen
   Prozesse, und alle anderen Prozesse, die ebenfalls derselben
   Prozess-Partition zugeordnet sind. Sie ko:nnen jedoch nicht auf Prozesse
   oder Werkzeuge ausserhalb des Anwendungsbereich dieser Partition
   zugreifen. Das bedeutet unter anderem, das ein Nutzer, der einer Klasse
   insecure zugeordnet ist, nicht auf das Kommando top zugreifen kann - wie
   auch auf viele anderen Befehle, die einen eigenen Prozess erzeugen.

   Um einen Befehl einer Prozess-Partition zuzuordnen, muss dieser durch das
   Kommando setpmac mit einem Label versehen werden:

 # setpmac partition/13 top

   Diese Zeile fu:gt das Kommando top dem Labelsatz fu:r Nutzer der Klasse
   insecure hinzu, sofern die Partition 13 mit der Klasse insecure
   u:bereinstimmt. Beachten Sie, dass alle Prozesse, die von Nutzern dieser
   Klasse erzeugt werden, das Label partition/13 erhalten, und dieses auch
   nicht durch den Nutzer gea:ndert werden kann.

  17.11.1. Beispiele

   Der folgende Befehl listet die vergebenen Label fu:r Prozess-Partitionen
   und die laufenden Prozesse auf.

 # ps Zax

   Das na:chste Kommando liefert das Label der Prozess-Partition eines
   anderen Nutzers trhodes und dessen gegenwa:rtig laufenden Prozesse
   zuru:ck.

 # ps -ZU trhodes

  Anmerkung:

   Jeder Nutzer kann die Prozesse in der Prozess-Partition von root
   betrachten, solange nicht die Richtlinie mac_seeotheruids(4) geladen
   wurde.

   Eine ausgefeilte Umsetzung dieser Richtlinie deaktiviert alle Dienste in
   /etc/rc.conf und startet diese dann spa:ter durch ein Skript, das jedem
   Dienst das passende Label zuordnet.

  Anmerkung:

   Die folgenden Richtlinien verwenden Zahlenwerte anstatt der drei
   Standardlabels. Diese Optionen, und ihre Grenzen, werden in den
   zugeho:rigen Manpages genauer erkla:rt.

17.12. Das MAC Modul Multi-Level Security

   Modulname: mac_mls.ko

   Parameter fu:r die Kernelkonfiguration: options MAC_MLS

   Bootparameter: mac_mls_load="YES"

   Die Richtlinie mac_mls(4) kontrolliert die Zugriffe zwischen Subjekten und
   Objekten, indem sie den Informationsfluss strengen Regeln unterwirft.

   In MLS Umgebungen wird jedem Subjekt oder Objekt ein "Freigabe"-Level
   zugeordnet, und diese werden wiederum zu einzelnen Verbu:nden
   zusammengefasst. Da diese Freigabe- oder Anfa:lligkeits-Level Zahlen
   gro:sser 6000 erreichen ko:nnen, ist es fu:r jeden Systemadministrator
   eine undankbare Aufgabe, jede Entita:t von Grund auf zu konfigurieren. Zum
   Glu:ck gibt es 3 "instant" Labels, die in der Richtlinie zur Anwendung
   bereit stehen.

   Diese drei Labels heissen mls/low, mls/equal und mls/high. Da sie in den
   Manpages mac_mls(4) ausfu:hrlich beschrieben werden, gibt es hier nur
   einen kurzen Abriss:

     * Das Label mls/low ist eine niedrige Einstellung, die von allen anderen
       dominiert werden darf. Alles, was mit mls/low versehen wird, hat ein
       niedriges Freigabe-Level und darf auf keine Informationen zugreifen,
       denen ein ho:heres Freigabe-Level zugeordnet wurde. Einem Objekt mit
       diesem Label kann ausserdem keine Information durch ein Objekt
       ho:herer Freigabe u:bergeben werden, es kann also auch nicht durch
       solche Objekte editiert oder u:berschrieben werden.

     * Das Label mls/equal wird an Objekte vergeben, die von dieser
       Richtlinie ausgenommen werden sollen.

     * Das Label mls/high verko:rpert das ho:chstmo:gliche Freigabe-Level.
       Objekte, denen dieses Label zugeordnet wird, dominieren alle anderen
       Objekte des Systems. Trotzdem ko:nnen sie Objekten mit einem
       niedrigeren Freigabe-Level keine Informationen zuspielen.

   MLS bietet:

     * Eine hierarchische Sicherheitsschicht und Zuordnung
       nichthierarchischer Kategorien;

     * Feste Regeln: kein "Read-Up", kein "Write-Down" (ein Subjekt kann nur
       Objekte gleicher oder niedrigerer Stufe lesen, und es kann nur Objekte
       gleicher oder ho:herer Stufe schreiben);

     * Geheimhaltung (indem unangemessene Offenlegung von Daten verhindert
       wird);

     * Eine Basis zum Entwerfen von Systemen, die Daten verschiedener
       Vertraulichkeitsebenen gleichzeitig handhaben sollen (ohne das geheime
       und vertrauliche Informationen untereinander ausgetauscht werden
       ko:nnen).

   Nachfolgend werden die sysctl-Variablen vorgestellt, die fu:r die
   Einrichtung spezieller Dienste und Schnittstellen vorhanden sind.

     * security.mac.mls.enabled schaltet die Richtlinie MLS ein (oder aus).

     * security.mac.mls.ptys_equal sorgt dafu:r, dass wa:hrend der
       Initialisierung alle pty(4)-Gera:te als mls/equal gekennzeichnet
       werden.

     * security.mac.mls.revocation_enabled sorgt dafu:r, dass die
       Zugriffsrechte von Objekten wieder zuru:ckgesetzt werden, nachdem
       deren Label voru:bergehend auf ein niedrigeres Freigabe-Level
       gea:ndert wurde.

     * security.mac.mls.max_compartments gibt die maximale Anzahl von
       Verbu:nden an. Im Prinzip ist es die ho:chste Nummer eines Verbundes
       auf dem System.

   Um die Labels der MLS Richtlinie zu bearbeiten verwendet man setfmac(8).
   Um ein Objekt zu kennzeichnen, benutzen Sie folgendes Kommando:

 # setfmac mls/5 test

   Um das MLS-Label der Datei test auszulesen, verwenden Sie dieses Kommando:

 # getfmac test

   Dies ist eine Zusammenstellung der Merkmale von test. Ein anderer Ansatz
   ist, fu:r diese Richtlinie eine Konfigurationsdatei in /etc abzulegen, die
   alle Informationen entha:lt und mit der dann das Kommando setfmac
   gefu:ttert wird. Diese Vorgehensweise wird erkla:rt, nachdem alle
   Richtlinien vorgestellt wurden.

  17.12.1. Verbindlicher Vertraulichkeit in der Planungsphase

   Mit dem Richtlinienmodul Multi-Level Security bereitet sich ein
   Administrator darauf vor, den Fluss vertraulicher Informationen zu
   kontrollieren. Beim Starten der Richtlinie ist immer mls/low
   voreingestellt - alles kann auf alles zugreifen. Der Administrator a:ndert
   dies wa:hrend der eigentlichen Konfiguration, indem er die Vertraulichkeit
   bestimmter Objekte erho:ht.

   Jenseits der drei Grundeinstellungen des Labels kann der Administrator
   einzelne Nutzer oder Nutzergruppen nach Bedarf zusammenschliessen und den
   Informationsaustausch zwischen diesen gestatten oder unterbinden. Es ist
   sicher eine Vereinfachung, die Freigabe-Level mit Begriffen wie
   vertraulich, geheim oder streng geheim zu bezeichnen. Einige
   Administratoren erstellen einfach verschiedene Gruppen auf der Ebene von
   gegenwa:rtigen Projekten. Ungeachtet der Herangehensweise bei der
   Klassifizierung muss ein gut durchdachter Plan existieren, bevor eine
   derart einengende Richtlinie umgesetzt wird.

   Exemplarisch fu:r die Anwendung dieses Moduls bzw. dieser Richtlinie seien
   angefu:hrt:

     * Ein E-Commerce Webserver

     * Ein Dateiserver, der vertrauliche Informationen einer Firma oder eines
       Konzerns speichert

     * Umgebungen in Finanzeinrichtungen

   Der unsinnigste Einsatzort fu:r diese Richtlinie wa:re ein
   Arbeitsplatzrechner mit nur zwei oder drei Benutzern.

17.13. Das MAC Modul Biba

   Modulname: mac_biba.ko

   Parameter fu:r die Kernelkonfiguration: options MAC_BIBA

   Bootparameter: mac_biba_load="YES"

   Das Modul mac_biba(4) la:dt die MAC Biba Richtlinie. Diese a:hnelt stark
   der MLS Richtlinie, nur das die Regeln fu:r den Informationsfluss ein
   wenig vertauscht sind. Es wird in diesem Fall der absteigende Fluss
   sicherheitskritischer Information geregelt, wa:hrend die MLS Richtlinie
   den aufsteigenden Fluss regelt. In gewissen Sinne treffen dieses und das
   vorangegangene Unterkapitel also auf beide Richtlinien zu.

   In einer Biba-Umgebung wird jedem Subjekt und jedem Objekt ein
   "Integrita:ts"-Label zugeordnet. Diese Labels sind in hierarchischen
   Klassen und nicht-hierarchischen Komponenten geordnet. Je ho:her die
   Klasse, um so ho:her die Integrita:t.

   Die unterstu:tzten Labels heissen biba/low, biba/equal und biba/high. Sie
   werden im Folgenden erkla:rt:

     * biba/low ist die niedrigste Stufe der Integrita:t, die einem Objekt
       verliehen werden kann. Wenn sie einem Objekt oder Subjekt zugeordnet
       wird, kann dieses auf Objekte oder Subjekte, die biba/high markiert
       wurden, zwar lesend zugreifen, nicht jedoch schreibend.

     * Das Label biba/equal ist, wie der aufmerksame Leser sicherlich schon
       ahnt, fu:r die Ausnahmen dieser Richtlinie gedacht und sollte nur
       diesen Ausnahmen entsprechenden Objekten verliehen werden.

     * biba/high markierte Subjekte und Objekte ko:nnen Objekte niedrigerer
       Stufe schreiben , nicht jedoch lesen. Es wird empfohlen, dass dieses
       Label an Objekte vergeben wird, die sich auf Integrita:t des gesamten
       Systems auswirken.

   Biba stellt bereit:

     * Hierarchische Integrita:tsstufen mit einem Satz nichthierarchischer
       Integrita:tskategorien;

     * Festgeschriebene Regeln: kein "Write-Up", kein "Read-Down" (der
       Gegensatz zu MLS - ein Subjekt erha:lt schreibenden Zugriff auf
       Objekte gleicher oder geringerer Stufe, aber nicht bei ho:herer, und
       lesenden Zugriff bei gleicher Stufe oder ho:erer, aber nicht bei
       niedrigerer);

     * Integrita:t (es wird die Echtheit der Daten gewa:hrleistet, indem
       unangemessene Vera:nderungen verhindert werden);

     * Eine Abstufung der Gewa:hrleistung (im Gegensatz zu MLS, bei der eine
       Abstufung der Vertraulichkeit vorgenommen wird).

   Folgende sysctl Parameter werden zur Nutzung der Biba-Richtlinie
   angeboten:

     * security.mac.biba.enabled zum Aktivieren/Deaktivieren der Richtlinie
       auf dem Zielsystem.

     * security.mac.biba.ptys_equal wird verwendet, um die Biba-Richtlinie
       auf der pty(4)-Schnittstelle zu deaktivieren.

     * security.mac.biba.revocation_enabled erzwingt das Zuru:cksetzen des
       Labels, falls dieses zeitweise gea:ndert wurde um ein Subjekt zu
       dominieren.

   Um Einstellungen der Biba Richtlinie fu:r Systemobjekte zu vera:ndern
   werden die Befehle setfmac und getfmac verwendet:

 # setfmac biba/low test
 # getfmac test
 test: biba/low

  17.13.1. Verbindliche Integrita:t in der Planungsphase

   Integrita:t garantiert, im Unterschied zu Sensitivita:t, dass
   Informationen nur durch vertraute Parteien vera:ndert werden ko:nnen. Dies
   schliesst Informationen ein, die zwischen Subjekten ausgetauscht werden,
   zwischen Objekt, oder auch zwischen den beiden. Durch Integrita:t wird
   gesichert, das Nutzer nur Informationen vera:ndern, oder gar nur lesen
   ko:nnen, die sie explizit beno:tigen.

   Das Modul mac_biba(4) ero:ffnet einem Administrator die Mo:glichkeit zu
   bestimmen, welche Dateien oder Programme ein Nutzer oder eine Nutzergruppe
   sehen bzw. aufrufen darf. Gleichzeitig kann er zusichern, dass dieselben
   Programme und Dateien frei von Bedrohungen sind und das System die
   Echtheit gewa:hrleistet - fu:r diesen Nutzer oder die Nutzergruppe.

   Wa:hrend der anfa:nglichen Phase der Planung muss der Administrator
   vorbereitet sein, Nutzer in Klassen, Stufen und Bereiche einzuteilen. Der
   Zugriff auf Dateien und insbesondere auch Programme wird verhindert sowohl
   vor als auch nachdem sie gestartet wurden. Das System selbst erha:lt als
   Voreinstellung das Label biba/high sobald das Modul aktiviert wird - und
   es liegt allein am Administrator, die verschiedenen Klassen und Stufen
   fu:r die einzelnen Nutzer zu konfigurieren. Anstatt mit Freigaben zu
   arbeiten, wie weiter oben gezeigt wurde, ko:nnte man auch U:berbegriffe
   fu:r Projekte oder Systemkomponenten entwerfen. Zum Beispiel,
   ausschliesslich Entwicklern den Vollzugriff auf Quellcode, Compiler und
   Entwicklungswerkzeuge gewa:hren, wa:hrend man andere Nutzer in Kategorien
   wie Tester, Designer oder einfach nur "allgemeiner Nutzer" zusammenfasst,
   die fu:r diese Bereiche lediglich lesenden Zugriff erhalten sollen.

   Mit seinem urspru:nglichen Sicherheits-Standpunkt ist ein Subjekt
   niedrigerer Integrita:t unfa:hig, ein Subjekt ho:herer Integrita:t zu
   vera:ndern. Ein Subjekt ho:herer Integrita:t kann ein Subjekt niedrigerer
   Integrita:t weder beobachten noch lesen. Wenn man ein Label fu:r die
   niedrigstmo:gliche Klasse erstellt, kann man diese allen Subjekten
   verwehren. Einige weitsichtig eingerichtete Umgebungen, die diese
   Richtlinie verwenden, sind eingeschra:nkte Webserver, Entwicklungs- oder
   Test-Rechner oder Quellcode-Sammlungen. Wenig sinnvoll ist diese
   Richtlinie auf einer Arbeitsstation, oder auf Rechnern die als Router oder
   Firewall verwendet werden.

17.14. Das MAC Modul LOMAC

   Modulname: mac_lomac.ko

   Parameter fu:r die Kernelkonfiguration: options MAC_LOMAC

   Bootparameter: mac_lomac_load="YES"

   Anders als die Biba Richtlinie erlaubt die mac_lomac(4) Richtlinie den
   Zugriff auf Objekte niedrigerer Integrita:t nur, nachdem das
   Integrita:tslevel gesenkt wurde. Dadurch wird eine Sto:rung
   derIntegrita:tsregeln verhindert.

   Die MAC Version der "Low-Watermark" Richtlinie, die nicht mit der a:lteren
   lomac(4)-Implementierung verwechselt werden darf, arbeitet fast genauso
   wie Biba. Anders ist, dass hier "schwebende" Label verwendet werden, die
   ein Herunterstufen von Subjekten durch Hilfsverbu:nde ermo:glichen. Dieser
   zweite Verbund wird in der Form [auxgrade] angegeben und sollte in etwa
   aussehen wie lomac/10[2], wobei die Ziffer zwei (2) hier den Hilfsverbund
   abbildet.

   Die MAC Richtlinie LOMAC beruht auf einer durchga:ngigen Etikettierung
   aller Systemobjekte mit Integrita:tslabeln, die Subjekten das Lesen von
   Objekten niedriger Integrita:t gestatten und dann das Label des Subjektes
   herunterstufen - um zuku:nftige Schreibvorga:nge auf Objekte hoher
   Integrita:t zu unterbinden. Dies ist die Funktion der Option [auxgrade],
   die eben vorgestellt wurde. Durch sie erha:lt diese Richtlinie eine
   bessere Kompatibilita:t und die Initialisierung ist weniger aufwa:ndig als
   bei der Richtlinie Biba.

  17.14.1. Beispiele

   Wie schon bei den Richtlinien Biba und MLS werden die Befehle setfmac und
   setpmac verwendet, um die Labels an den Systemobjekten zu setzen:

 # setfmac /usr/home/trhodes lomac/high[low]
 # getfmac /usr/home/trhodes lomac/high[low]

   Beachten Sie, dass hier der Hilfswert auf low gesetzt wurde - dieses
   Leistungsmerkmal ist nur in der MAC LOMAC Richtlinie enthalten.

17.15. Beispiel 1: Nagios in einer MAC Jail

   Die folgende Demonstration setzt eine sichere Umgebung mithilfe
   verschiedener MAC Module und sorgfa:ltig konfigurierter Richtlinien um. Es
   handelt sich jedoch nur um einen Test und sollte nicht als Antwort auf
   jedes Problem in Fragen Sicherheit gesehen werden. Eine Richtlinie nur
   umzusetzen und dann einfach laufen zu lassen, funktioniert nie und kann
   eine echte Arbeitsumgebung in eine Katastrophe stu:rzen.

   Bevor es losgeht, muss jedes Dateisystem mit der Option multilabel, wie
   weiter oben beschrieben, markiert werden. Dies nicht zu tun, fu:hrt zu
   Fehlern. Ausserdem mu:ssen die Ports net-mngt/nagios-plugins,
   net-mngt/nagios und www/apache13 installiert und konfiguriert sein, so
   dass sie ordentlich laufen.

  17.15.1. Erstellen einer Nutzerklasse insecure

   Beginnen wir die Prozedur mit dem Hinzufu:gen einer Nutzerklasse in der
   Datei /etc/login.conf:

 insecure:\
 :copyright=/etc/COPYRIGHT:\
 :welcome=/etc/motd:\
 :setenv=MAIL=/var/mail/$,BLOCKSIZE=K:\
 :path=~/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin--
 :manpath=/usr/share/man /usr/local/man:\
 :nologin=/usr/sbin/nologin:\
 :cputime=1h30m:\
 :datasize=8M:\
 :vmemoryuse=100M:\
 :stacksize=2M:\
 :memorylocked=4M:\
 :memoryuse=8M:\
 :filesize=8M:\
 :coredumpsize=8M:\
 :openfiles=24:\
 :maxproc=32:\
 :priority=0:\
 :requirehome:\
 :passwordtime=91d:\
 :umask=022:\
 :ignoretime@:\
 :label=biba/10(10-10):

   Zusa:tzlich fu:gen wir beim Standardnutzer folgende Zeile hinzu:

 :label=biba/high:

   Anschliessend muss die Datenbank neu erstellt werden:

 # cap_mkdb /etc/login.conf

  17.15.2. Boot-Konfiguration

   Starten Sie den Rechner noch nicht neu. Fu:gen Sie zuna:chst noch die
   folgenden Zeilen in die Datei /boot/loader.conf ein, damit die beno:tigten
   Module wa:hrend des Systemstarts geladen werden:

 mac_biba_load="YES"
 mac_seeotheruids_load="YES"

  17.15.3. Nutzer einrichten

   Ordnen Sie den Superuser root der Klasse default zu:

 # pw usermod root -L default

   Alle Nutzerkonten, die weder root noch Systemkonten sind, brauchen nun
   eine Loginklasse, da sie sonst keinen Zugriff auf sonst u:bliche Befehle
   erhalten, wie bspw. vi(1). Das folgende sh Skript wird diese Aufgabe
   erledigen:

 # for x in `awk -F: '($3 >= 1001) && ($3 != 65534) { print $1 }' \
       /etc/passwd`; do pw usermod $x -L default; done;

   Verschieben Sie die Nutzer nagios und www in die insecure Klasse:

 # pw usermod nagios -L insecure

 # pw usermod www -L insecure

  17.15.4. Die Kontextdatei erstellen

   Nun muss eine Kontextdatei erstellt werden. Die folgende Beispieldatei
   soll dazu in /etc/policy.contexts gespeichert werden:

 # This is the default BIBA policy for this system.

 # System:
 /var/run                        biba/equal
 /var/run/*                      biba/equal

 /dev                            biba/equal
 /dev/*                          biba/equal

 /var                            biba/equal
 /var/spool                      biba/equal
 /var/spool/*                    biba/equal

 /var/log                        biba/equal
 /var/log/*                      biba/equal

 /tmp                            biba/equal
 /tmp/*                          biba/equal
 /var/tmp                        biba/equal
 /var/tmp/*                      biba/equal

 /var/spool/mqueue               biba/equal
 /var/spool/clientmqueue         biba/equal

 # For Nagios:
 /usr/local/etc/nagios
 /usr/local/etc/nagios/*         biba/10

 /var/spool/nagios               biba/10
 /var/spool/nagios/*             biba/10

 # For apache
 /usr/local/etc/apache           biba/10
 /usr/local/etc/apache/*         biba/10

   Die Richtlinie erzwingt Sicherheit, indem der Informationsfluss
   Einschra:nkungen unterworfen wird. In der vorliegenden Konfiguration kann
   kein Nutzer, weder root noch andere, auf Nagios zugreifen.
   Konfigurationsdateien und die Prozesse, die Teil von Nagios sind, werden
   durch unsere MAC vollsta:ndig abgegrenzt.

   Die Kontextdatei kann nun vom System eingelesen werden, indem folgender
   Befehl ausgefu:hrt wird:

 # setfmac -ef /etc/policy.contexts /
 # setfmac -ef /etc/policy.contexts /

  Anmerkung:

   Das obenstehende Dateisystem-Layout kann, je nach Umgebung, sehr
   unterschiedlich aussehen. Ausserdem muss es auf jedem einzelnen
   Dateisystem ausgefu:hrt werden.

   In die Datei /etc/mac.conf mu:ssen nun noch diese A:nderungen eingetragen
   werden:

 default_labels file ?biba
 default_labels ifnet ?biba
 default_labels process ?biba
 default_labels socket ?biba

  17.15.5. Netzwerke einbinden

   Tragen Sie die folgende Zeile in die Datei /boot/loader.conf ein:

 security.mac.biba.trust_all_interfaces=1

   Und das Folgende geho:rt in Datei rc.conf zu den Optionen fu:r die
   Netzwerkkarte. Falls die Netzwerkverbindung(-en) via DHCP konfiguriert
   werden, muss man dies nach jedem Systemstart eigenha:ndig nachtragen:

 maclabel biba/equal

  17.15.6. Testen der Konfiguration

   Versichern Sie sich, dass der Webserver und Nagios nicht automatisch
   geladen werden und starten Sie den Rechner neu. Pru:fen Sie nun, ob root
   wirklich keinen Zugriff auf die Dateien im Konfigurationsverzeichnis von
   Nagios hat. Wenn root den Befehl ls(1) auf /var/spool/nagios ausfu:hren
   kann, ist irgendwas schief gelaufen. Es sollte ein permission denied
   Fehler ausgegeben werden.

   Wenn alles gut aussieht, ko:nnen Nagios, Apache und Sendmail gestartet
   werden - allerdings auf eine Weise, die unserer Richtlinie gerecht wird.
   Zum Beispiel durch die folgenden Kommandos:

 # cd /etc/mail && make stop && \
 setpmac biba/equal make start && setpmac biba/10\(10-10\) apachectl start && \
 setpmac biba/10\(10-10\) /usr/local/etc/rc.d/nagios.sh forcestart

   Versichern Sie sich lieber doppelt, dass alles ordentlich la:uft. Wenn
   nicht, pru:fen Sie die Logs und Fehlermeldungen. Verwenden Sie das
   sysctl(8) Werkzeug um die Sicherheitsrichtlinie sysctl(8) zu deaktivieren
   und versuchen Sie dann alles noch einmal zu starten.

  Anmerkung:

   Der Superuser kann den Vollzug der Richtlinie schalten und die
   Konfiguration ohne Furcht vera:ndern. Folgender Befehl stuft eine neu
   gestartete Shell herunter:

 # setpmac biba/10 csh

   Um dies zu vermeiden, werden die Nutzer durch login.conf(5)
   eingeschra:nkt. Wenn setpmac(8) einen Befehl ausserhalb der definierten
   Schranken ausfu:hren soll, wird ein Fehler zuru:ckgeliefert. In so einem
   Fall muss root auf biba/high(high-high) gesetzt werden.

17.16. Beispiel 2: User Lock Down

   Grundlage dieses Beispiels ist ein relativ kleines System zur
   Datenspeicherung mit weniger als 50 Benutzern. Diese haben die
   Mo:glichkeit, sich einzuloggen und du:rfen nicht nur Daten speichern,
   sondern auch auf andere Ressourcen zugreifen.

   Die Richtlinien mac_bsdextended(4) und mac_seeotheruids(4) ko:nnen
   gleichzeitig eingesetzt werden. Zusammen kann man mit ihnen nicht nur den
   Zugriff auf Systemobjekte einschra:nken, sondern auch Nutzerprozesse
   verstecken.

   Beginnen Sie, indem Sie die folgende Zeile in die Datei /boot/loader.conf
   eintragen:

 mac_seeotheruids_load="YES"

   Die Richtlinie mac_bsdextended(4) wird durch den anschliessenden Eintrag
   in /etc/rc.conf hinzugefu:gt:

 ugidfw_enable="YES"

   Die Standardregeln, welche in /etc/rc.bsdextended gespeichert sind, werden
   zum Systemstart geladen. Sie mu:ssen aber noch angepasst werden. Da dieser
   Computer nur Nutzern dienen soll und weitere Dienste gestartet werden,
   kann alles bis auf die beiden letzten Zeilen auskommentiert werden. Das
   sorgt dafu:r dass jeder Nutzer seine eigenen Systemobjekte erha:lt.

   Nun fu:gen wir alle beno:tigten Nutzer auf der Maschine hinzu und starten
   neu. Zum Testen der Einstellungen loggen Sie sich parallel zwei mal mit
   unterschiedlichen Nutzernamen ein und starten Sie das Kommando ps aux.
   Dort sehen Sie, dass Sie die Prozesse des anderen Nutzers nicht sehen
   ko:nnen. Versuchen Sie, ls(1) auf das Heimatverzeichnis eines anderen
   Nutzers auszufu:hren. Auch dieser Versuch wird fehlschlagen.

   Solange nicht die speziellen sysctl-Variablen gea:ndert wurden, hat der
   Superuser noch vollen Zugriff. Sobald auch diese Einstellungen angepasst
   wurden, fu:hren Sie ruhig auch den obigen Test als root aus.

  Anmerkung:

   Wenn ein neuer Benutzer hinzugefu:gt wird, ist fu:r diesen zuna:chst keine
   mac_bsdextended(4) Regel im Regelsatz vorhanden. Schnelle Abhilfe schafft
   hier, einfach das Kernelmodul mit kldunload(8) zu entladen und mit
   kldload(8) erneut einzubinden.

17.17. Fehler im MAC beheben

   Wa:hrend der Entwicklung des Frameworks haben einige Nutzer auf Probleme
   hingewiesen. Einige davon werden hier aufgefu:hrt:

  17.17.1. Die Option multilabel greift nicht auf der /-Partition

   Es scheint, dass etwa jedem fu:nfzigsten Nutzer dieses Problem
   widerfa:hrt. Und in der Tat - auch wir kennen es aus der Entwicklung.
   Genauere Untersuchungen dieses "Bugs" machten uns glauben, dass es sich
   entweder um einen Fehler in oder eine fehlerhafte Interpretation der
   Dokumentation handelt. Warum auch immer dieser Fehler auftritt - er kann
   mit folgender Prozedur behoben werden:

    1. O:ffnen Sie die Datei /etc/fstab und setzen Sie die Rootpartition auf
       ro wie "read-only".

    2. Starten Sie in den Einzelnutzermodus.

    3. Rufen Sie tunefs -l enable fu:r / auf.

    4. Starten Sie in den Mehrbenutzermodus.

    5. Fu:hren Sie mount -urw / aus und a:ndern Sie anschliessend in der
       Datei /etc/fstab die Option ro zuru:ck in rw. Starten Sie das System
       noch einmal neu.

    6. Achten Sie besonders auf die Ausgabe von mount um sich zu versichern,
       dass die multilabel korrekt fu:r das root-Dateisystem gesetzt wurde.

  17.17.2. Mit der aktivierten MAC kann ich keinen X11 Server starten

   Dies kann durch die Richtlinie partition oder einer fehlerhaften
   Verwendung einer Richtlinie, die mit Labels arbeitet, auftreten. Zum
   debuggen versuchen Sie folgendes:

    1. Schauen Sie sich die Fehlermeldungen genau an. Wenn der Nutzer einer
       insecure Klasse angeho:rt, ist wahrscheinlich die Richtlinie partition
       die Ursache. Versuchen Sie, die Nutzerklasse auf default zu stellen
       und danach die Datenbank mit cap_mkdb zu erneuern. Wenn das Problem
       dadurch nicht gelo:st wird, gehen Sie weiter zu Schritt 2.

    2. Gehen Sie die Label-Richtlinien Schritt fu:r Schritt nocheinmal durch.
       Achten Sie darauf, dass fu:r den Nutzer, bei dem das Problem auftritt,
       fu:r X11 und das Verzeichnis /dev alle Einstellungen korrekt sind.

    3. Falls all dies nicht helfen sollte, senden Sie die Fehlermeldung und
       eine Beschreibung ihrer Arbeitsumgebung an die (englisch-sprachige)
       TrustedBSD Diskussionsliste auf der TrustedBSD Webseite oder an die
       FreeBSD general questions Mailingliste.

  17.17.3. Error: _secure_path(3) cannot stat .login_conf

   Wenn ich versuche, von root zu einem anderen Nutzer des Systems zu
   wechseln, erhalte ich die Fehlermeldung _secure_path: unable to state
   .login_conf.

   Diese Meldung wird gewo:hnlich ausgegeben, wenn der Nutzer ein ho:here
   Label-Einstellung hat als der, dessen Identita:t man annehmen mo:chte.
   Ausfu:hrlich: Wenn ein Nutzer joe als biba/low gelabelt wurde, kann root,
   der biba/high als Voreinstellung tra:gt, das Heimatverzeichnis von joe
   nicht einsehen. Das passiert unabha:nig davon, ob root vorher mit su die
   Identita:t von joe angenommen hat oder nicht, da das Label sich nicht
   a:ndert. Hier haben wir also einen Fall, in dem das Gewa:hrleistungsmodell
   von Biba verhindert, das der Superuser Objekte einer niedrigeren
   Integrita:t betrachten kann.

  17.17.4. Der Nutzer root ist kaputt!

   Im normalen oder sogar im Einzelbenutzermodus wird root nicht anerkannt.
   Das Kommando whoami liefert 0 (null) und su liefert who are you? zuru:ck.
   Was geht da vor?

   Das kann passieren, wenn eine Label-Richtlinie ausgeschaltet wird -
   entweder durch sysctl(8) oder wenn das Richtlinienmodul entladen wurde.
   Wenn eine Richtlinie deaktiviert oder auch nur voru:bergehen deaktiviert
   wird, muss die Befa:higungsdatenbank neu konfiguriert werden, d.h. die
   label Option muss entfernt werden. U:berpru:fen Sie, ob alle label
   Eintra:ge aus der Datei /etc/login.conf entfernt wurden und bauen Sie die
   Datenbank mit cap_mkdb neu.

   Dieser Fehler kann auch auftreten, wenn eine Richtlinie den Zugriff auf
   die Datei master.passwd einschra:nkt. Normalerweise passiert das nur, wenn
   ein Administrator ein Label an diese Datei vergibt, das mit der
   allgemeingu:ltigen Richtlinie, die das System verwendet, in Konflikt
   steht. In solchen Fa:llen werden die Nutzerinformationen vom System
   ausgelesen und jeder weitere Zugriff wird blockiert, sobald das neue Label
   greift. Wenn man die Richtlinie via sysctl(8) ausschaltet, sollte es
   erstmal wieder gehen.

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

   [11] Andere Vorbedingungen fu:hren natu:rlich zu anderen Fehlern. Zum
   Beispiel wenn das Objekt nicht dem Nutzer geho:rt, der das Label a:ndern
   mo:chte, das Objekt vielleicht gar nicht existiert oder es sich um ein nur
   lesbares Objekt handelt. Oder eine verbindliche Richtlinie erlaubt dem
   Prozess die Vera:nderung des Labels nicht, weil die Eigenschaften der
   Datei, die Eigenschaften des Prozesses oder der Inhalt des neuen Labels
   nicht akzeptiert werden. Beispiel: Ein Anwender mit geringer
   Vertraulichkeit versucht, das Label einer Datei mit hoher Vertraulichkeit
   zu a:ndern. Oder er versucht, eine Datei mit geringer Vertraulichkeit zu
   einer Datei mit hoher Vertraulichkeit zu machen.

Kapitel 18. Security Event Auditing

   Geschrieben von Tom Rhodes und Robert Watson.
   U:bersetzt von Daniel Seuffert.
   Inhaltsverzeichnis

   18.1. Einleitung

   18.2. Schlu:sselbegriffe

   18.3. Installation der Audit-Unterstu:tzung

   18.4. Die Konfiguration des Audit

   18.5. Administration des Audit-Subsystems

18.1. Einleitung

   Das FreeBSD-Betriebssystem unterstu:tzt 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 Sun(TM)s o:ffentlich zuga:ngliche BSM API und Dateiformat.
   Die FreeBSD-Implementierung kann mit den Audit-Implementierungen von
   Sun(TM) Solaris(TM) und Apple(R) Mac OS(R) 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(R) als auch FreeBSD-Basismechanismen beherrschen
       (Kapitel 4, Grundlagen des UNIX Betriebssystems).

     * Mit den grundlegenden Mechanismen der Kernel-Konfiguration und
       -Kompilierung vertraut sein (Kapitel 9, Konfiguration des
       FreeBSD-Kernels).

     * Mit den Massnahmen zur Sicherung von FreeBSD vertraut sein
       (Kapitel 15, Sicherheit).

  Warnung:

   Die Audit-Funktionalita:t in FreeBSD besitzt die Einschra:nkungen, 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.

   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.

18.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.

18.3. Installation der Audit-Unterstu:tzung

   Die Unterstu:tzung des Ereignis-Auditings fu:r den Benutzerbereich wird
   bereits als Teil des Basissystems installiert. Die Audit-Unterstu:tzung
   ist bereits im FreeBSD-Standardkernel enthalten, jedoch mu:ssen Sie die
   folgende Zeile explizit in Ihre Kernelkonfigurationsdatei aufnehmen und
   den Kernel neu bauen:

 options AUDIT

   Bauen und installieren Sie den Kernel wie in Kapitel 9, Konfiguration des
   FreeBSD-Kernels 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

18.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.

  18.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

  18.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.

    18.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.

    18.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

18.5. Administration des Audit-Subsystems

  18.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.

   praudit unterstu:tzt auch die Ausgabe im XML-Format (die sie u:ber die
   Option -x auswa:hlen ko:nnen).

  18.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.

  18.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.

  18.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.

  18.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.

  18.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 19. Speichermedien

   U:bersetzt von Bernd Warken und Martin Heinen.
   Inhaltsverzeichnis

   19.1. U:bersicht

   19.2. Gera:tenamen

   19.3. Hinzufu:gen von Laufwerken

   19.4. RAID

   19.5. USB Speichermedien

   19.6. CDs benutzen

   19.7. DVDs benutzen

   19.8. Disketten benutzen

   19.9. Bandmedien benutzen

   19.10. Was ist mit Backups auf Disketten?

   19.11. Backup-Strategien

   19.12. Datensicherung

   19.13. Netzwerk-, speicher- und dateibasierte Dateisysteme

   19.14. Schnappschu:sse von Dateisystemen

   19.15. Dateisystem-Quotas

   19.16. Partitionen verschlu:sseln

   19.17. Den Auslagerungsspeicher verschlu:sseln

   19.18. Highly Available Storage (HAST)

19.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 9, Konfiguration des FreeBSD-Kernels).

19.2. Gera:tenamen

   Die folgende Tabelle zeigt die von FreeBSD unterstu:tzten Speichergera:te
   und deren Gera:tenamen.

   Tabelle 19.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 und mlyd 
   RAID-Laufwerke            fu:r Mylex(R), amrd fu:r AMI MegaRAID(R), idad   
                             fu:r Compaq Smart RAID, twed fu:r 3ware(R) RAID. 

19.3. Hinzufu:gen von Laufwerken

   Im Original von David O'Brian.

   Der folgende Abschnitt beschreibt, wie Sie 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 des
   Laufwerkherstellers. 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 eingeha:ngt werden.
   Fu:gen Sie eine IDE-Platte hinzu, wird diese den Namen ad1 erhalten.

   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, um GPT-Partitionen zu erstellen. GPT
   hat den zusa:tzlichen Vorteil, dass es nicht auf 4 Slices beschra:nkt ist.

  19.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.

  19.3.2. Die Kommandozeile

    19.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.

    19.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(R) 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

19.4. RAID

  19.4.1. Software-RAID

    19.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.

      19.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(4)
   (Kapitel 22, Der Vinum Volume Manager) und ccd(4) an. Im hier
   beschriebenen System wird ccd(4) eingesetzt.

      19.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)

      19.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 ccd01 322 03 /dev/ad1e4 /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

      19.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

    19.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(4)
   stellt RAID-0, RAID-1 und RAID-5 sowohl einzeln wie auch in Kombination
   zur Verfu:gung.

   Mehr Informationen u:ber vinum(4) erhalten Sie in Kapitel 22, Der Vinum
   Volume Manager.

  19.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.

  19.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.

19.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.

  19.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.

  19.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 19.3, "Hinzufu:gen von
   Laufwerken" beschreibt, wie Sie USB-Laufwerke formatieren und Partitionen
   einrichten.

  Warnung:

   Aus Sicherheitsgru:nden sollten Sie Benutzern, denen Sie nicht vertrauen,
   das Einha:ngen (z.B. durch die unten beschriebene Aktivierung von
   vfs.usermount) beliebiger Medien verbieten. Die meisten Dateisysteme in
   FreeBSD wurden nicht entwickelt, um sich vor bo:swilligen Gera:ten zu
   schu:tzen.

   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

  19.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.

19.6. CDs benutzen

   Beigesteuert von Mike Meyer.

  19.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.

  19.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(R) 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(R) 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).

  19.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.

  19.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.

  19.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.

   Prozedur 19.1. SCSI-Laufwerke
    1. Kopieren Sie die Audiodaten mit cdda2wav:

 % cdda2wav -vall -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 19.6.4, "cdrecord" beschrieben, ermitteln ko:nnen.

   Prozedur 19.2. ATAPI-Laufwerke

  Anmerkung:

   U:ber das Modul ATAPI/CAM kann cdda2wav auch mit ATAPI-Laufwerken
   verwendet werden. Diese Methode ist fu:r die meisten Anwender besser
   geeignet als die im folgenden beschriebenen Methoden (Jitter-Korrektur,
   Big-/Little-Endian-Probleme und anderes mehr spielen hierbei eine Rolle).

    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

  19.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.

  19.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 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.

  19.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.

  19.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).

19.7. DVDs benutzen

   Beigetragen von Marc Fonvieille.
   Mit Beitra:gen von Andy Polyakov.

  19.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 19.7.9, "DVD-RAM" 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.

  19.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 19.5, "USB Speichermedien".

   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.

  19.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).

  Anmerkung:

   Um gro:ssere Dateien als 4.38GB in ihre Sammlung aufzunehmen, ist es
   notwendig ein UDF/ISO-9660 Hybrid-Dateisystem zu erstellen. Dieses
   Dateisystem muss mit zusa:tzlichen Parametern -udf -iso-level 3 bei
   mkisofs(8) und allen relevanten Programmen (z.B. growisofs(1)) erzeugt
   werden. Dies ist nur notwendig wenn Sie ein ISO-Image erstellen oder
   direkt auf eine DVD schreiben wollen. DVDs, die in dieser Weise
   hergestellt worden sind, mu:ssen als UDF-Dateisystem mit mount_udf(8)
   eingehangen werden. Sie sind nur auf Betriebssystemen, die UDF
   unterstu:tzen brauchbar, ansonsten sieht es so aus, als ob sie kaputte
   Dateien enthalten wu:rden.

   Um so eine ISO Datei zu bauen, geben Sie den folgenden Befehl ein:

 % mkisofs -R -J -udf -iso-level 3 -o imagefile.iso /path/to/data

   Um Daten direkt auf eine DVD zu brennen, geben Sie den folgenden Befehl
   ein:

 # growisofs -dvd-compat -udf -iso-level 3 -Z /dev/cd0 -J -R /path/to/data

   Wenn Sie ein ISO-Image haben das bereits grosse Dateien entha:lt, sind
   keine weiteren zusa:tzlichen Optionen fu:r growisofs(1) notwendig, um das
   Image auf die DVD zu brennen.

   Beachten Sie noch, dass Sie die aktuelle Version von sysutils/cdrtools
   haben (welche mkisofs(8) entha:lt), da die a:lteren Versionen nicht den
   Support fu:r grosse Dateien enthalten. Wenn Sie Probleme haben sollten,
   ko:nnen Sie auch das Entwicklerpaket von sysutils/cdrtools-devel einsetzen
   und lesen Sie die mkisofs(8) Manualpage.

  19.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.

  19.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

  19.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

  19.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.

  19.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.

  19.7.9. DVD-RAM

    19.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"

    19.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.

    19.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.

19.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.

  19.8.1. Disketten formatieren

    19.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.

    19.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.

      19.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

  19.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

  19.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
   Disketten 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.

  19.8.4. Verwenden der Diskette

   Zum Einha:ngen 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.

19.9. Bandmedien benutzen

   Die wichtigsten Bandmedien sind 4mm, 8mm, QIC, Mini-Cartridge und DLT.

  19.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.

  19.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:ber la: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.

  19.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.

  19.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.

  19.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.

  19.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.

19.10. Was ist mit Backups auf Disketten?

  19.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 Disketten
       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. Disketten, die schon einige Jahre im Bu:ro
   herumgelegen haben, sind eine schlechte Wahl. Ideal sind neue Disketten
   von einem renommierten Hersteller.

  19.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
   Disketten 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 Diskette 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.

  19.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 Disketten aufspielen, und dann die Dateien wieder
   gunzip(1) dekomprimieren!

  19.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!

19.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 dieses 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.

19.12. Datensicherung

   Die drei wichtigsten Programme zur Sicherung von Daten sind dump(8),
   tar(1) und cpio(1).

  19.12.1. Sichern und Wiederherstellen

   dump und restore sind die traditionellen Backup-Programme in UNIX(R)
   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 Backup-Programmen 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 Verzeichnisse 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 19.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 19.2. dump u:ber ssh mit gesetzter RSH benutzen

 # RSH=/usr/bin/ssh /sbin/dump -0uan -f tatargetuser@targetmachine.example.com:/dev/sa0 /usr

  19.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.

   Um Daten mit tar auf ein an einer Sun-Workstation (namens komodo)
   angeschlossenes Exabyte-Bandlaufwerk zu archivieren, geben Sie Folgendes
   ein:

 # tar cf - . | rsh komodo 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.

  19.12.3. Cpio

   cpio(1) ist das urspru:ngliche Programm von UNIX(R) 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).

  19.12.4. pax

   pax(1) ist die Antwort von IEEE/POSIX(R) auf tar und cpio. U:ber die Jahre
   hinweg sind die verschiedenen Versionen von tar und cpio leicht
   inkompatibel geworden. Daher hat POSIX(R), 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.

  19.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.

  19.12.6. Tue nichts

   "Tue nichts" ist kein Computerprogramm, sondern die am ha:ufigsten
   angewendete Backupstrategie. Diese kostet nichts, man muss keinen Backup
   Plan 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 Backup-Programm fu:r Ihren
   Computer. Aber UNIX(R) 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.

  19.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(R) 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.

  19.12.8. Die Wiederherstellung in einem Notfall

    19.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 brennen Sie eine "livefs"-CD. Diese CD-ROM entha:lt alle no:tigen
   Programme, um in einen Reperaturmodus zu starten, aus dem heraus Sie unter
   anderem dump(8), restore(8), fdisk(8), bsdlabel(8), newfs(8) sowie
   mount(8) starten ko:nnen. ISO-Abbilder fu:r das "livefs"-System finden Sie
   unter
   ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/ISO-IMAGES/9.2/FreeBSD-9.2-RELEASE-i386-livefs.iso.

   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 das in Schritt 2 erstellte "livefs"-System sowie die
   fu:r das Backup notwendigen Ba:nder. Dokumentieren Sie diesen Test und
   bewahren Sie diese Notizen zusammen mit der "livefs"-CD und den Ba:ndern
   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 "livefs"-CD
   und Ba:nder doppelt 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.

    19.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, legen Sie die "livefs"-CD in das Laufwerk
   ein und starten den Rechner, wodurch das originale Installationsprogramm
   von FreeBSD gestartet wird. Legen Sie zuerst Ihr Land fest. Danach o:ffnen
   Sie das Menu: Fixit -- Repair mode with CDROM/DVD/floppy or start a shell.
   und wa:hlen den Eintrag CDROM/DVD -- Use the live filesystem CDROM/DVD
   aus. restore und die anderen Programme, die Sie beno:tigen, befinden sich
   dann im Verzeichnis /mnt2/rescue.

   Stellen Sie die Dateisysteme nacheinander 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.

19.13. Netzwerk-, speicher- und dateibasierte Dateisysteme

   Verbessert und neu strukturiert von Marc Fonvieille.

   Neben Laufwerken, die sich physikalisch im Rechner befinden wie
   Diskettenlaufwerke, 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.

  19.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 Disketten enthalten.

   Das Abbild eines Dateisystems wird wie folgt eingehangen:

   Beispiel 19.3. 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 19.4. 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 19.5. 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).

  19.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 19.6. 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 19.7. 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

  19.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.

19.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.

19.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.

  19.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 9, Konfiguration des
   FreeBSD-Kernels.

   Durch Hinzufu:gen der folgenden Zeile in /etc/rc.conf wird das
   Quota-System in FreeBSD 7.X und a:ltere aktiviert:

 enable_quotas="YES"

   Seit FreeBSD 8.0-RELEASE und dessen Nachfolger fu:gen Sie stattdessen die
   folgende Zeile hinzu:

 quota_enable="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.

  19.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).

  19.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.

  19.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

19.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 17, Verbindliche Zugriffskontrolle) 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.

  19.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 9,
       Konfiguration des FreeBSD-Kernels 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

    19.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 19.3, "Hinzufu:gen
       von Laufwerken" 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.36.1 2009/08/03 08:13:06 kensmith 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

    19.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.

      19.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.

    19.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).

    19.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.

  19.16.2. Plattenverschlu:sselung mit geli

   Beigetragen von Daniel Gerzo.

   geli ist als alternative kryptografische GEOM-Klasse verfu:gbar und wird
   derzeit von Pawel Jakub Dawidek 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.

   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 9,
       Konfiguration des FreeBSD-Kernels 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).

    19.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.

19.17. Den Auslagerungsspeicher verschlu:sseln

   Geschrieben von Christian Bru:ffer.

   Die Verschlu:sselung des Auslagerungsspeichers ist unter FreeBSD einfach
   einzurichten. Je nach dem, welche FreeBSD-Version Sie einsetzen, ko:nnen
   Konfiguration und mo:gliche Optionen allerdings unterschiedlich sein. Sie
   ko:nnen entweder das gbde(8)- oder das geli(8)-Verschlu:sselungs-Subsystem
   einsetzen. 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.

  19.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.

  19.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

  19.17.3. Den Auslagerungsspeicher mit gbde(8) verschlu:sseln

   In der Datei /etc/fstab sollte das Suffix .bde an den Gera:tenamen der
   Swap-Partition anha:ngt werden:

 # Device                Mountpoint      FStype  Options         Dump    Pass#
 /dev/ad0s1b.bde         none            swap    sw              0       0

  19.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 128 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"

   Eine Auflistung mo:glicher Optionen fu:r den Befehl onetime finden Sie in
   der Manualpage zu geli(8).

  19.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 eine Ausgabe a:hnlich
   der folgenden:

 % swapinfo
 Device          1K-blocks     Used    Avail Capacity
 /dev/ad0s1b.eli    542720        0   542720     0%

19.18. Highly Available Storage (HAST)

   Beigetragen von Daniel Gerzo.
   Mit Beitra:gen von Freddie Cash, Pawel Jakub Dawidek, Michael W. Lucas und
   Viktor Petersson.
   U:bersetzt von Benedict Reuschling.

  19.18.1. U:berblick

   Hochverfu:gbarkeit ist eine der Hauptanforderungen von ernsthaften
   Gescha:ftsanwendungen und hochverfu:gbarer Speicher ist eine
   Schlu:sselkomponente in solchen Umgebungen. Highly Available STorage, oder
   HASTHighly Available STorage, wurde von Pawel Jakub Dawidek als ein
   Framework entwickelt, welches die transparente Speicherung der gleichen
   Daten u:ber mehrere physikalisch getrennte Maschinen ermo:glicht, die
   u:ber ein TCP/IP-Netzwerk verbunden sind. HAST kann als ein netzbasiertes
   RAID1 (Spiegel) verstanden werden und ist dem DRBD(R)-Speichersystem der
   GNU/Linux(R)-Plattform a:hnlich. In Kombination mit anderen
   Hochverfu:gbarkeitseigenschaften von FreeBSD wie CARP, ermo:glicht es
   HAST, hochverfu:gbare Speichercluster zu bauen, die in der Lage sind,
   Hardwareausfa:llen zu widerstehen.

   Nachdem Sie diesen Abschnitt gelesen haben, werden Sie folgendes wissen:

     * Was HAST ist, wie es funktioniert und welche Eigenschaften es besitzt.

     * Wie man HAST auf FreeBSD aufsetzt und verwendet.

     * Wie man CARP und devd(8) kombiniert, um ein robustes Speichersystem zu
       bauen.

   Bevor Sie diesen Abschnitt lesen, sollten Sie:

     * die Grundlagen von UNIX(R) und FreeBSD verstanden haben (Kapitel 4,
       Grundlagen des UNIX Betriebssystems).

     * wissen, wie man Netzwerkschnittstellen und andere Kernsysteme von
       FreeBSD konfiguriert (Kapitel 12, Konfiguration und Tuning).

     * ein gutes Versta:ndnis der FreeBSD-Netzwerkfunktionalita:t besitzen
       (Teil IV, "Netzwerke").

     * FreeBSD 8.1-RELEASE oder ho:her einsetzen.

   Das HAST-Projekt wurde von der FreeBSD Foundation mit Unterstu:tzung der
   OMCnet Internet Service GmbH und TransIP BV gesponsert.

  19.18.2. HAST-Merkmale

   Die Hauptmerkmale des HAST-Systems sind:

     * Es kann zur Maskierung von I/O-Fehlern auf lokalen Festplatten
       eingesetzt werden.

     * Dateisystem-unabha:ngig, was es erlaubt, jedes von FreeBSD
       unterstu:tzte Dateisystem zu verwenden.

     * Effiziente und schnelle Resynchronisation: es werden nur die Blo:cke
       synchronisiert, die wa:hrend der Ausfallzeit eines Knotens gea:ndert
       wurden.

     * Es kann in einer bereits bestehenden Umgebung eingesetzt werden, um
       zusa:tzliche Redundanz zu erreichen.

     * Zusammen mit CARP, Heartbeat, oder anderen Werkzeugen, ist es
       mo:glich, ein robustes und dauerhaftes Speichersystem zu bauen.

  19.18.3. HAST im Einsatz

   HAST stellt auf Block-Ebene eine synchrone Replikation eines beliebigen
   Speichermediums auf mehreren Maschinen zur Verfu:gung. Daher werden
   mindestens zwei Knoten (physikalische Maschinen) beno:tigt: der primary
   (auch bekannt als master) Knoten, sowie der secondary (slave) Knoten.
   Diese beiden Maschinen zusammen werden als Cluster bezeichnet.

  Anmerkung:

   HAST ist momentan auf insgesamt zwei Knoten im Cluster beschra:nkt.

   Da HAST in einer prima:r-sekunda:r-Konfiguration funktioniert, ist immer
   nur ein Knoten des Clusters zu jeder Zeit aktiv. Der prima:re Knoten, auch
   active genannt, ist derjenige, der alle I/O-Anfragen verarbeitet, die an
   die HAST-Schnittstelle gesendet werden. Der secondary-Knoten wird
   automatisch vom primary-Knoten aus synchronisiert.

   Die physischen Komponenten des HAST-Systems sind:

     * lokale Platte (am Prima:rknoten)

     * Platte am entfernten Rechner (Sekunda:rknoten)

   HAST arbeitet synchron auf Blockebene, was es fu:r Dateisysteme und
   Anwendungen transparent macht. HAST stellt gewo:hnliche GEOM-Provider im
   Verzeichnis /dev/hast/ fu:r die Verwendung durch andere Werkzeuge oder
   Anwendungen zur Verfu:gung, somit gibt es keinen Unterschied zwischen dem
   Einsatz von durch HAST bereitgestellten Gera:ten und herko:mmlichen
   Platten, Partitionen, etc.

   Jede Schreib-, Lo:sch- oder Entleerungsoperation wird an die lokale und
   u:ber TCP/IP zu der entfernt liegenden Platte gesendet. Jede Leseoperation
   wird von der lokalen Platte durchgefu:hrt, es sei denn, die lokale Platte
   ist nicht aktuell oder es tritt ein I/O-Fehler auf. In solchen Fa:llen
   wird die Leseoperation an den Sekunda:rknoten geschickt.

    19.18.3.1. Synchronisation und Replikationsmodi

   HAST versucht, eine schnelle Fehlerbereinigung zu gewa:hrleisten. Aus
   diesem Grund ist es sehr wichtig, die Synchronisationszeit nach dem
   Ausfall eines Knotens zu reduzieren. Um eine schnelle Synchronisation zu
   ermo:glichen, verwaltet HAST eine Bitmap von unsauberen Bereichen auf der
   Platte und synchronisiert nur diese wa:hrend einer regula:ren
   Synchronisation (mit Ausnahme der initialen Synchronisation).

   Es gibt viele Wege, diese Synchronisation zu behandeln. HAST implementiert
   mehrere Replikationsarten, um unterschiedliche Methoden der
   Synchronisation zu realisieren:

     * memsync: meldet Schreiboperationen als vollsta:ndig, wenn die lokale
       Schreiboperation beendet ist und der entfernt liegende Knoten die
       Ankunft der Daten besta:tigt hat, jedoch bevor die Daten wirklich
       gespeichert wurden. Die Daten werden auf dem entfernt liegenden Knoten
       direkt nach dem Senden der Besta:tigung gespeichert. Dieser Modus ist
       dafu:r gedacht, Latenzen zu verringern und zusa:tzlich eine gute
       Verla:sslichkeit zu bieten. Der memsync-Replikationsmodus ist momentan
       noch nicht implementiert.

     * fullsync: meldet Schreiboperationen als vollsta:ndig, wenn die lokale
       Schreiboperation beendet ist und die entfernte Schreiboperation
       ebenfalls abgeschlossen wurde. Dies ist der sicherste und zugleich der
       langsamste Replikationsmodus. Er stellt den momentanen Standardmodus
       dar.

     * async: meldet Schreiboperationen als vollsta:ndig, wenn lokale
       Schreibvorga:nge abgeschlossen wurden. Dies ist der schnellste und
       gefa:hrlichste Replikationsmodus. Er sollte verwendet werden, wenn die
       Latenz zu einem entfernten Knoten bei einer Replikation zu hoch ist
       fu:r andere Modi. Der async-Replikationsmodus ist zum gegenwa:rtigen
       Zeitpunkt nicht implementiert.

  Warnung:

   Momentan wird nur der fullsync-Replikationsmodus unterstu:tzt.

  19.18.4. HAST-Konfiguration

   HAST beno:tigt GEOM_GATE-Unterstu:tzung, um korrekt zu funktionieren. Der
   GENERIC-Kernel entha:lt jedoch GEOM_GATE nicht von vornherein, jedoch ist
   in der Standardinstallation von FreeBSD geom_gate.ko als ladbares Modul
   vorhanden. Stellen Sie bei Systemen, bei denen nur das Allerno:tigste
   vorhanden sein soll, sicher, dass dieses Modul zur Verfu:gung steht. Als
   Alternative la:sst sich die GEOM_GATE-Unterstu:tzung direkt in den Kernel
   statisch einbauen, indem Sie die folgende Zeile zu Ihrer
   Kernelkonfigurationsdatei hinzufu:gen:

 options GEOM_GATE

   Das HAST-Framework besteht aus Sicht des Betriebssystems aus mehreren
   Bestandteilen:

     * Dem hastd(8)-Dienst, welcher fu:r die Datensynchronisation
       verantwortlich ist,

     * Dem hastctl(8) Management-Werkzeug,

     * Der Konfigurationsdatei hast.conf(5).

   Das folgende Beispiel beschreibt, wie man zwei Knoten als master-slave /
   primary-secondary mittels HAST konfiguriert, um Daten zwischen diesen
   beiden auszutauschen. Die Knoten werden als hasta mit der IP-Adresse
   172.16.0.1 und hastb mit der IP-Adresse 172.16.0.2 bezeichnet. Beide
   Knoten besitzen eine dedizierte Festplatte /dev/ad6 mit der gleichen
   Gro:sse fu:r den HAST-Betrieb. Der HAST-Pool (manchmal auch Ressource
   genannt, z.B. der GEOM-Provider in /dev/hast/) wird als test bezeichnet.

   Die Konfiguration von HAST wird in der Datei /etc/hast.conf vorgenommen.
   Diese Datei sollte auf beiden Knoten gleich sein. Die denkbar einfachste
   Konfiguration ist folgende:

 resource test {
         on hasta {
                 local /dev/ad6
                 remote 172.16.0.2
         }
         on hastb {
                 local /dev/ad6
                 remote 172.16.0.1
         }
 }

   Schlagen Sie in der hast.conf(5)-Manualpage nach, wenn Sie an erweiterten
   Konfigurationsmo:glichkeiten interessiert sind.

  Tipp:

   Es ist ebenfalls mo:glich, den Hostnamen in den remote-Anweisungen zu
   verwenden. Stellen Sie in solchen Fa:llen sicher, dass diese Rechner auch
   aufgelo:st werden ko:nnen, also in der Datei /etc/hosts aufgefu:hrt sind,
   oder alternativ im lokalen DNS.

   Da nun die Konfiguration auf beiden Rechnern vorhanden ist, sind Sie in
   der Lage, den HAST-Pool zu erstellen. Lassen Sie die folgenden Kommandos
   auf beiden Knoten ablaufen, um die initialen Metadaten auf die lokale
   Platte zu schreiben und starten Sie anschliessend den hastd(8)-Dienst:

 # hastctl create test
 # /etc/rc.d/hastd onestart

  Anmerkung:

   Es ist nicht mo:glich, GEOM-Provider mit einem bereits bestehenden
   Dateisystem zu verwenden (z.B. um einen bestehenden Speicher in einen von
   HAST verwalteten Pool zu konvertieren), weil diese Prozedur bestimmte
   Metadaten auf den Provider schreiben muss und dafu:r nicht genug freier
   Platz zur Verfu:gung stehen wird.

   HAST ist nicht dafu:r verantwortlich, die Rolle (primary oder secondary)
   fu:r den jeweiligen Knoten festzulegen. Die Rolle des Knotens muss vom
   Administrator oder einer anderen Software wie Heartbeat mittels des
   hastctl(8)-Werkzeugs festgelegt werden. Auf dem prima:ren Knoten (hasta)
   geben Sie nun den folgenden Befehl ein:

 # hastctl role primary test

   Geben Sie nun, a:hnlich wie zuvor, das folgende Kommando auf dem
   sekunda:ren Knoten (hastb) ein:

 # hastctl role secondary test

  Achtung:

   Es kann passieren, dass beide Knoten nicht in der Lage sind, miteinander
   zu kommunizieren und dadurch beide als prima:re Knoten konfiguriert sind;
   die Konsequenz daraus wird als split-brain bezeichnet. Um diese Situation
   zu bereinigen, folgen Sie den Schritten, die in Abschnitt 19.18.5.2,
   "Auflo:sung des Split-brain-Zustands" beschrieben sind.

   Es ist mo:glich das Ergebnis des hastctl(8)-Werkzeugs auf jedem Knoten zu
   u:berpru:fen:

 # hastctl status test

   Der wichtigste Teil ist die status-Textzeile der Ausgabe, die auf jedem
   Knoten complete lauten sollte. Falls der Status als degraded
   zuru:ckgemeldet wird, ist etwas schief gegangen. Zu diesem Zeitpunkt hat
   die Synchronisation zwischen den beiden Knoten bereits begonnen. Die
   Synchronisation ist beendet, wenn das Kommando hastctl status meldet, dass
   die dirty-Bereiche 0 Bytes betragen.

   Der letzte Schritt ist, ein Dateisystem auf dem /dev/hast/test
   GEOM-Provider anzulegen und dieses ins System einzuha:ngen. Dies muss auf
   dem primary-Knoten durchgefu:hrt werden (da /dev/hast/test nur auf dem
   primary-Knoten erscheint). Dies kann ein paar Minuten dauern, abha:ngig
   von der Gro:sse der Festplatte:

 # newfs -U /dev/hast/test
 # mkdir /hast/test
 # mount /dev/hast/test /hast/test

   Sobald das HAST-Framework richtig konfiguriert wurde, besteht der letzte
   Schritt nun darin, sicherzustellen, dass HAST wa:hrend des Systemstarts
   automatisch gestartet wird. Die folgende Zeile sollte zur Datei
   /etc/rc.conf hinzugefu:gt werden:

 hastd_enable="YES"

    19.18.4.1. Failover-Konfiguration

   Das Ziel dieses Beispiels ist, ein robustes Speichersystem zu bauen,
   welches Fehlern auf einem beliebigen Knoten widerstehen kann. Die
   Schlu:sselaufgabe in diesem Szenario besteht darin, zu verhindern, dass
   der primary-Knoten des Clusters ausfa:llt. Sollte es dennoch passieren,
   ist der secondary-Knoten da, um nahtlos einzuspringen, das Dateisystem zu
   pru:fen, einzuha:ngen und mit der Arbeit fortzufahren, ohne dass auch nur
   ein einzelnes Bit an Daten verloren ging.

   Um diese Aufgabe zu bewerkstelligen, ist es no:tig, eine weitere
   Eigenschaft zu nutzen, die unter FreeBSD verfu:gbar ist, welche ein
   automatisches Failover auf der IP-Schicht ermo:glicht: CARP. CARP steht
   fu:r Common Address Redundancy Protocol und erlaubt es mehreren Rechnern
   im gleichen Netzsegment, die gleiche IP-Adresse zu verwenden. Setzen Sie
   CARP auf beiden Knoten des Clusters anhand der Dokumentation in
   Abschnitt 32.13, "CARP - Common Address Redundancy Protocol" auf. Nachdem
   dieser Schritt abgeschlossen ist, sollte jeder Knoten seine eigene
   carp0-Schnittstelle mit der geteilten IP-Adresse 172.16.0.254 besitzen.
   Selbstversta:ndlich muss der prima:re HAST-Knoten des Clusters der
   CARP-Masterknoten sein.

   Der HAST-Pool, welcher im vorherigen Abschnitt erstellt wurde, ist nun
   bereit fu:r den Export u:ber das Netzwerk auf den anderen Rechner. Dies
   kann durch den Export u:ber NFS, Samba etc. erreicht werden, indem die
   geteilte IP-Addresse 172.16.0.254 verwendet wird. Das einzige ungelo:ste
   Problem ist der automatische Failover, sollte der prima:re Knoten einmal
   ausfallen.

   Falls die CARP-Schnittstelle aktiviert oder deaktiviert wird, generiert
   das FreeBSD-Betriebssystem ein devd(8)-Ereignis, was es ermo:glicht,
   Zustandsa:nderungen auf den CARP-Schnittstellen zu u:berwachen. Eine
   Zustandsa:nderung auf der CARP-Schnittstelle ist ein Indiz dafu:r, dass
   einer der Knoten gerade ausgefallen oder wieder verfu:gbar ist. In diesem
   Fall ist es mo:glich, ein Skript zu starten, welches den Failover
   automatisch durchfu:hrt.

   Um diese Zustandsa:nderungen auf der CARP-Schnittstelle abzufangen,
   mu:ssen die folgenden Zeilen in der Datei /etc/devd.conf auf jedem Knoten
   eingefu:gt werden:

 notify 30 {
         match "system" "IFNET";
         match "subsystem" "carp0";
         match "type" "LINK_UP";
         action "/usr/local/sbin/carp-hast-switch master";
 };

 notify 30 {
         match "system" "IFNET";
         match "subsystem" "carp0";
         match "type" "LINK_DOWN";
         action "/usr/local/sbin/carp-hast-switch slave";
 };

   Um diese neue Konfiguration zu aktivieren, starten Sie devd(8) auf beiden
   Knoten neu, um die neue Konfiguration wirksam werden zu lassen:

 # /etc/rc.d/devd restart

   Fu:r den Fall, dass die carp0-Schnittstelle aktiviert oder deaktiviert
   wird (sich also der Status der Schnittstelle a:ndert), erzeugt das System
   eine Meldung, was es dem devd(8)-Subsystem ermo:glicht, ein beliebiges
   Skript zu starten, in diesem Fall also /usr/local/sbin/carp-hast-switch.
   Dies ist das Skript, dass den automatischen Failover durchfu:hrt. Fu:r
   genauere Informationen zu der obigen devd(8)-Konfiguration, lesen Sie die
   devd.conf(5)-Manualpage.

   Ein Beispiel fu:r ein solches Skript ko:nnte wie folgt aussehen:

 #!/bin/sh

 # Original script by Freddie Cash <fjwcash@gmail.com>
 # Modified by Michael W. Lucas <mwlucas@BlackHelicopters.org>
 # and Viktor Petersson <vpetersson@wireload.net>

 # The names of the HAST resources, as listed in /etc/hast.conf
 resources="test"

 # delay in mounting HAST resource after becoming master
 # make your best guess
 delay=3

 # logging
 log="local0.debug"
 name="carp-hast"

 # end of user configurable stuff

 case "$1" in
         master)
                 logger -p $log -t $name "Switching to primary provider for ${resources}."
                 sleep ${delay}

                 # Wait for any "hastd secondary" processes to stop
                 for disk in ${resources}; do
                         while $( pgrep -lf "hastd: ${disk} \(secondary\)" > /dev/null 2>&1 ); do
                                 sleep 1
                         done

                         # Switch role for each disk
                         hastctl role primary ${disk}
                         if [ $? -ne 0 ]; then
                                 logger -p $log -t $name "Unable to change role to primary for resource ${disk}."
                                 exit 1
                         fi
                 done

                 # Wait for the /dev/hast/* devices to appear
                 for disk in ${resources}; do
                         for I in $( jot 60 ); do
                                 [ -c "/dev/hast/${disk}" ] && break
                                 sleep 0.5
                         done

                         if [ ! -c "/dev/hast/${disk}" ]; then
                                 logger -p $log -t $name "GEOM provider /dev/hast/${disk} did not appear."
                                 exit 1
                         fi
                 done

                 logger -p $log -t $name "Role for HAST resources ${resources} switched to primary."


                 logger -p $log -t $name "Mounting disks."
                 for disk in ${resources}; do
                         mkdir -p /hast/${disk}
                         fsck -p -y -t ufs /dev/hast/${disk}
                         mount /dev/hast/${disk} /hast/${disk}
                 done

         ;;

         slave)
                 logger -p $log -t $name "Switching to secondary provider for ${resources}."

                 # Switch roles for the HAST resources
                 for disk in ${resources}; do
                         if ! mount | grep -q "^/dev/hast/${disk} on "
                         then
                         else
                                 umount -f /hast/${disk}
                         fi
                         sleep $delay
                         hastctl role secondary ${disk} 2>&1
                         if [ $? -ne 0 ]; then
                                 logger -p $log -t $name "Unable to switch role to secondary for resource ${disk}."
                                 exit 1
                         fi
                         logger -p $log -t $name "Role switched to secondary for resource ${disk}."
                 done
         ;;
 esac

   Im Kern fu:hrt das Skript die folgenden Aktionen durch, sobald ein Knoten
   zum master / primary wird:

     * Es ernennt den HAST-Pool als den prima:ren fu:r einen gegebenen
       Knoten.

     * Es pru:ft das Dateisystem, dass auf dem HAST-Pool erstellt wurde.

     * Es ha:ngt die Pools an die richtige Stelle im System ein.

   Wenn ein Knoten zum backup / secondary ernannt wird:

     * Ha:ngt es den HAST-Pool aus dem Dateisystem aus.

     * Degradiert es den HAST-Pool zum sekunda:ren.

  Achtung:

   Bitte beachten Sie, dass dieses Skript nur ein Beispiel fu:r eine
   mo:gliche Lo:sung darstellt. Es behandelt nicht alle mo:glichen Szenarien,
   die auftreten ko:nnen und sollte erweitert bzw. abgea:ndert werden, so
   dass z.B. beno:tigte Dienste gestartet oder gestoppt werden usw.

  Tipp:

   Fu:r dieses Beispiel wurde ein Standard-UFS Dateisystem verwendet. Um die
   Zeit fu:r die Wiederherstellung zu verringern, kann ein UFS mit Journal
   oder ein ZFS-Dateisystem benutzt werden.

   Weitere detaillierte Informationen mit zusa:tzlichen Beispielen ko:nnen
   auf der HAST Wiki-Seite abgerufen werden.

  19.18.5. Fehlerbehebung

    19.18.5.1. Allgemeine Tipps zur Fehlerbehebung

   HAST sollte generell ohne Probleme funktionieren. Jedoch kann es, wie bei
   jeder anderen Software auch, zu gewissen Zeiten sein, dass sie sich nicht
   so verha:lt wie angegeben. Die Quelle dieser Probleme kann unterschiedlich
   sein, jedoch sollte als Faustregel gewa:hrleistet werden, dass die Zeit
   fu:r beide Knoten im Cluster synchron la:uft.

   Die Anzahl an Debugging-Meldungen von hastd(8) sollte erho:ht werden, wenn
   Fehler von HAST bereinigt werden. Dies kann durch das Starten des
   hastd(8)-Dienstes mit der Option -d erreicht werden. Wichtig zu wissen
   ist, dass diese Option mehrfach angegeben werden kann, um die Anzahl an
   Meldungen weiter zu erho:hen. Sie ko:nnen viele nu:tzliche Informationen
   auf diese Art bekommen. Sie sollten ebenfalls die Verwendung der Option -F
   in Erwa:gung ziehen, die den hastd(8)-Dienst in den Vordergrund bringt.

    19.18.5.2. Auflo:sung des Split-brain-Zustands

   Die Konsequenz aus der Situation, wenn beide Knoten des Clusters nicht in
   der Lage sind, miteinander zu kommunizieren und dadurch beide als prima:re
   Knoten fungieren, wird als split-brain bezeichnet. Dies ist ein
   gefa:hrlicher Zustand, weil es beiden Knoten erlaubt ist, A:nderungen an
   den Daten vorzunehmen, die miteinander nicht in Einklang gebracht werden
   ko:nnen. Diese Situation sollte vom Systemadministrator ha:ndisch
   bereinigt werden.

   Um diese Situation zu beheben, muss der Administrator entscheiden, welcher
   Knoten die wichtigsten A:nderungen von beiden besitzt (oder diese manuell
   miteinander vermischen) und anschliessend den HAST-Knoten die volle
   Synchronisation mit jenem Knoten durchfu:hren zu lassen, welcher die
   bescha:digten Daten besitzt. Um dies zu tun, geben Sie die folgenden
   Befehle auf dem Knoten ein, der neu synchronisiert werden soll:

 # hastctl role init <resource>
 # hastctl create <resource>
 # hastctl role secondary <resource>

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

   [12] Die Auswahl einer sicheren und leicht zu merkenden Passphrase wird
   auf der Webseite Diceware Passphrase beschrieben.

Kapitel 20. GEOM: Modulares Framework zur Plattentransformation

   Geschrieben von Tom Rhodes.
   U:bersetzt von Daniel Seuffert und Johann Kois.
   Inhaltsverzeichnis

   20.1. U:bersicht

   20.2. Einfu:hrung in GEOM

   20.3. RAID0 - Striping

   20.4. RAID1 - Spiegelung

   20.5. GEOM Gate Netzwerkgera:te

   20.6. Das Labeln von Laufwerken

   20.7. UFS Journaling in GEOM

20.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 19,
       Speichermedien).

     * Wissen wie man einen neuen FreeBSD-Kernel installiert und konfiguriert
       (Kapitel 9, Konfiguration des FreeBSD-Kernels).

20.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.

20.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
   Prozedur 20.1. 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

20.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.

  20.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. Die im folgenden beschriebene Vorgehensweise ist
   ebenfalls nicht kompatibel mit den Standard-Installationseinstellungen von
   FreeBSD 9.X, die das neue GPT-Partitionsschema verwenden. GEOM wird
   GPT-Metadaten u:berschreiben, was zu Datenverlust und einem
   mo:glicherweise nicht bootbarem System fu:hrt.

 # 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.

  20.4.2. Fehlerbehebung

    20.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.

  20.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.

20.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).

20.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.

  20.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 20.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.

20.7. UFS Journaling in GEOM

   Mit FreeBSD 7.0 wurde eine lang erwartete Funktion, das 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) physisch 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 seit FreeBSD 7.0 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 load
 # gjournal label /dev/da4

   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 auf dem Gera:t, fu:r das im
   letzten Schritt 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).

   Um die Leistung zu optimieren, kann das Journal auf eine externe Platte
   ausgelagert werden. 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 21. Dateisystemunterstu:tzung

   Geschrieben von Tom Rhodes.
   U:bersetzt von Benedict Reuschling und Daniel Seuffert.
   Inhaltsverzeichnis

   21.1. U:bersicht

   21.2. Das Z-Dateisystem (ZFS)

21.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(R) Extended File System (EXT) und das
   Z-Dateisystem (ZFS) von Sun(TM).

   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 Sun(TM)s 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(R) und FreeBSD verstehen (Kapitel 4, Grundlagen
       des UNIX Betriebssystems).

     * Mit den Grundlagen der Konfiguration und dem Bauen des Kernels
       vertraut sein (Kapitel 9, Konfiguration des FreeBSD-Kernels).

     * Problemlos Software von Drittherstellern in FreeBSD installieren
       ko:nnen (Kapitel 5, Installieren von Anwendungen: Pakete und Ports).

     * sich ein wenig mit Festplatten, Speicher und Gera:tenamen in FreeBSD
       auskennen (Kapitel 19, Speichermedien).

21.2. Das Z-Dateisystem (ZFS)

   Das Z-Dateisystem ist eine neue von Sun(TM) 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.

  21.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.

    21.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.

    21.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(TM)-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.

    21.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.

  21.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.

    21.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.

    21.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(TM) 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

    21.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.

    21.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 22. Der Vinum Volume Manager

   Urspru:nglich geschrieben von Greg Lehey.
   U:bersetzt von Johann Kois und Kay Abendroth.
   Inhaltsverzeichnis

   22.1. U:bersicht

   22.2. Ihre Platten sind zu klein.

   22.3. Mo:gliche Engpa:sse

   22.4. Datenintegrita:t

   22.5. Vinum-Objekte

   22.6. Einige Beispiele

   22.7. Objektbenennung

   22.8. Vinum konfigurieren

   22.9. Vinum fu:r das Root-Dateisystem benutzen

22.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 20, GEOM: Modulares Framework zur Plattentransformation)
   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.

22.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.

22.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 22.1, "Konkatenierte Anordnung" verdeutlicht die Verteilung der
   Speichereinheiten in einer konkatenierten Anordnung.

   Abbildung 22.1. Konkatenierte Anordnung
   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 22.2, "Striped-Anordnung" veranschaulicht die
   Abfolge, in der Speichereinheiten in einer striped-Anordnung alloziert
   werden.

   Abbildung 22.2. Striped-Anordnung
   Striped-Anordnung

22.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 22.3. RAID-5 Aufbau
   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.

22.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(R)-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(R)-Plattenspeicher-Framework arbeitet, wa:re es
       mo:glich, als Grundbaustein fu:r Multiplatten-Plexus
       UNIX(R)-Partitionen zu verwenden. In der Praxis ist dieser Ansatz aber
       zu unflexibel, da UNIX(R)-Platten nur eine begrenzte Anzahl von
       Partitionen haben ko:nnen. Daher unterteilt Vinum stattdessen eine
       einzige UNIX(R)-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(R)-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.

  22.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.

  22.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.

  22.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.

  22.5.4. Wie ist ein Plexus aufgebaut?

   Die Version von Vinum, welche von FreeBSD-9.2 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 22.1, "Vinum-Plexus - Aufbau" fasst die Vor- und Nachteile jedes
   Plexus-Aufbaus zusammen.

   Tabelle 22.1. Vinum-Plexus - Aufbau

                                         Mu:ssen                              
                Minimum an Kann Subdisks   die   
    Plexus-Typ  Subdisks?  hinzufu:gen?  gleiche         Applikation
                                         Gro:sse 
                                          haben  
                                                 Grosser Datenspeicher mit    
   konkateniert 1          ja            nein    maximaler                    
                                                 Platzierungsflexibilita:t    
                                                 und moderater Leistung       
   gestriped    2          nein          ja      Hohe Leistung in Kombination 
                                                 mit gleichzeitigem Zugriff   

22.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.

  22.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 22.4, "Ein einfaches Vinum-Volume" grafisch dargestellt.

   Abbildung 22.4. Ein einfaches Vinum-Volume
   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.

  22.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 22.5, "Ein gespiegeltes Vinum Volume" stellt diese Struktur
   grafisch dar.

   Abbildung 22.5. Ein gespiegeltes Vinum Volume
   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.

  22.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 22.6. Ein Striped Vinum Volume
   Ein Striped Vinum Volume

   Dieses Volume wird in Abbildung 22.6, "Ein Striped Vinum Volume"
   dargestellt. Die Schattierung der Stripes zeigt die Position innerhalb des
   Plexus-Adressraumes an. Die hellsten Stripes kommen zuerst, die dunkelsten
   zuletzt.

  22.6.4. Ausfallsicherheit und Leistung

   Mit entsprechender Hardware ist es mo:glich, Volumes zu bauen, welche
   gegenu:ber Standard-UNIX(R)-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 22.7, "Ein gespiegeltes, Striped Vinum Volume" veranschaulicht
   die Struktur dieses Volumes.

   Abbildung 22.7. Ein gespiegeltes, Striped Vinum Volume
   Ein gespiegeltes, Striped Vinum Volume

22.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:

     * 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.

     * 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.

  22.7.1. Dateisysteme erstellen

   Volumes erscheinen (mit einer Ausnahme) dem System nicht anders als
   Platten. Anders als UNIX(R)-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.

   Um nun ein Dateisystem auf diesem Volume anzulegen, benutzen Sie newfs(8):

 # newfs /dev/gvinum/concat

22.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.

  22.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(R)-Platten-IDs zugewiesen bekommen haben.

    22.8.1.1. Automatische Inbetriebnahme

  Anmerkung:

   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.

   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.

22.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.).

  22.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 22.8.1.1, "Automatische Inbetriebnahme" 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 13.3.3, "Phase drei,
       /boot/loader") 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.

     * 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.

  22.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

  22.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 22.9.4.3, "Nichts bootet, der Bootstrap ha:ngt sich auf"
   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.

  22.9.4. Fehlerbehebung

   Der folgende Abschnitt beschreibt einige bekannte Probleme und Fallstricke
   bei der Vinum-Konfiguration sowie deren Behebung.

    22.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.

    22.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 13.3.2, "Phase Eins, /boot/boot1 und Phase Zwei,
   /boot/boot2"). Hier kann nun der Versuch unternommen werden, von einer
   anderen Partition zu booten, wie beispielsweise dem vorhergehenden
   Root-Dateisystem, das von "a" verschoben wurde.

    22.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 13.3.2, "Phase Eins, /boot/boot1 und Phase Zwei, /boot/boot2"
   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.

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

   [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.

Kapitel 23. Virtualisierung

   Beigetragen von Murray Stokely.
   U:bersetzt von Oliver Peter.
   Inhaltsverzeichnis

   23.1. U:bersicht

   23.2. FreeBSD als Gast-Betriebssystem

   23.3. FreeBSD als Host-Betriebssystem

23.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(R)-basierenden Apple(R)
       Macintosh(R) installieren.

     * Ko:nnen Sie FreeBSD unter Microsoft(R) Windows(R) 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(R) und FreeBSD verstehen (Kapitel 4,
       Grundlagen des UNIX Betriebssystems).

     * FreeBSD installieren ko:nnen (Kapitel 2, FreeBSD 8.X (und a:lter)
       installieren).

     * Wissen, wie man seine Netzwerkverbindung konfiguriert (Kapitel 32,
       Weiterfu:hrende Netzwerkthemen).

     * Software Dritter installieren ko:nnen (Kapitel 5, Installieren von
       Anwendungen: Pakete und Ports).

23.2. FreeBSD als Gast-Betriebssystem

  23.2.1. Parallels unter MacOS X

   Parallels Desktop fu:r Mac(R) ist ein kommerzielles Softwareprodukt,
   welches fu:r Intel(R)-basierende Apple(R) Mac(R)-Computer mit
   Mac OS(R) 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(R) X konfigurieren Sie als erstes
   eine virtuelle Maschine, in der Sie danach das gewu:nschte
   Gast-Betriebssystem (in unserem Fall FreeBSD) installieren.

    23.2.1.1. Installation von FreeBSD unter Parallels/Mac OS(R) X

   Der erste Schritt bei der Installation von FreeBSD unter
   Parallels/Mac OS(R) 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(R) 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,
   FreeBSD 8.X (und a:lter) installieren des Handbuchs beschreiben).

   Nachdem die Installation abgeschlossen ist, ko:nnen Sie die virtuelle
   Maschine starten.

    23.2.1.2. FreeBSD fu:r den Einsatz unter Parallels/Mac OS(R) X optimieren

   Nachdem Sie FreeBSD erfolgreich unter Mac OS(R) 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(R) 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 32, Weiterfu:hrende Netzwerkthemen des Handbuchs.

  23.2.2. Virtual PC unter Windows(R)

   U:bersetzt von Johann Kois.

   Virtual PC fu:r Windows(R) wird von Microsoft(R) kostenlos zum Download
   angeboten. Die Systemanforderungen fu:r dieses Programm finden Sie hier.
   Nachdem Sie Virtual PC unter Microsoft(R) Windows(R) installiert haben,
   mu:ssen Sie eine virtuelle Maschine konfigurieren und das gewu:nschte
   Betriebssystem installieren.

    23.2.2.1. FreeBSD in Virtual PC/Microsoft(R) Windows(R) installieren

   Der erste Schritt zur Installation von FreeBSD in
   Microsoft(R) Windows(R)/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, FreeBSD 8.X (und a:lter)
   installieren 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.

    23.2.2.2. FreeBSD in Microsoft(R) Windows(R)/Virtual PC konfigurieren

   Nachdem Sie FreeBSD auf Ihrem Microsoft(R) Windows(R)-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(R) Windows(R) 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 32, Weiterfu:hrende Netzwerkthemen des Handbuchs.

  23.2.3. VMware unter MacOS

   U:bersetzt von Johann Kois.

   VMware Fusion fu:r Mac(R) ist ein kommerzielles Programm, das fu:r
   Intel(R) basierte Apple(R) Mac(R)-Computer mit Mac OS(R) 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(R) X installiert haben, ko:nnen Sie das gewu:nschte
   Gastbetriebssystem (in unserem Fall FreeBSD) installieren.

    23.2.3.1. FreeBSD in VMware/Mac OS(R) 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, FreeBSD 8.X (und a:lter) installieren 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.

    23.2.3.2. FreeBSD unter Mac OS(R) X/VMware konfigurieren

   Nachdem Sie FreeeBSD erfolgreich unter VMware fu:r Mac OS(R) 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(R)'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(R) 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 32, Weiterfu:hrende Netzwerkthemen des Handbuchs.

23.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(R)-Kompatibilita:tsschicht
   nutzt. Kurz nach der Vero:ffentlichung von FreeBSD 7.2 erschien
   VirtualBox(TM) als Open-Source Edition (OSE) von Sun(TM) in der
   Ports-Sammlung als ein direkt auf FreeBSD lauffa:higes Programm.

   VirtualBox(TM) ist ein vollsta:ndiges Virtualisierungspaket, das aktiv
   weiterentwickelt wird und fu:r die meisten Betriebssysteme einschliesslich
   Windows(R), Mac OS(R), Linux(R) und FreeBSD zur Verfu:gung steht. Es kann
   sowohl Windows(R) als auch UNIX(R)-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(TM)-Wikis, das unter
   http://www.virtualbox.org/wiki/Editions zu finden ist, entnommen werden.
   Momentan steht nur OSE unter FreeBSD zur Verfu:gung.

  23.3.1. VirtualBox(TM) installieren

   VirtualBox(TM) steht als FreeBSD-Port in emulators/virtualbox-ose bereit
   und kann u:ber den folgenden Befehl installiert werden:

 # cd /usr/ports/emulators/virtualbox-ose
 # 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(R) 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(TM)
   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"

   A:ltere Versionen als 3.1.2 von VirtualBox(TM) beno:tigen auch das
   eingeha:ngte proc-Dateisystem. Dies wird in aktuellen Versionen nicht mehr
   beno:tigt, da dort die Funktionen von der sysctl(3) Bibliothek
   bereitgestellt werden.

   Wenn Sie eine a:ltere Version aus den Ports benutzen, befolgen Sie die
   unten stehenden Anweisungen und stellen Sie sicher, dass proc eingehangen
   ist.

 # 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(TM) 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(TM)
   angelegt. Alle Benutzer, die Zugriff auf VirtualBox(TM) 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(TM) 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(TM) 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.

Kapitel 24. Lokalisierung - I18N/L10N einrichten und benutzen

   Beigesteuert von Andrey Chernov.
   U:berarbeitet von Michael C. Wu.
   U:bersetzt von Alexander Langer und Martin Heinen.
   Inhaltsverzeichnis

   24.1. U:bersicht

   24.2. Grundlagen

   24.3. Lokale Anpassungen benutzen

   24.4. I18N-Programme u:bersetzen

   24.5. Lokalisierung fu:r einzelne Sprachen

24.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 5,
       Installieren von Anwendungen: Pakete und Ports).

24.2. Grundlagen

  24.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.

  24.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.

  24.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.

24.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

  24.3.1. Sprach- und La:ndercodes

   Um FreeBSD (oder ein anderes UNIX(R) 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        

  24.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.

  24.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.

  24.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(R) 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.

    24.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.

      24.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.

        24.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.Big5:\
         :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).

        24.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|Account-Typ-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

      24.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

  24.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.

   Setzen Sie bei Bedarf die richtige Tasten- und Bildschirmzuordnung (keymap
   und screenmap). Dies ko:nnen Sie in 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                                 

  24.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.

    24.3.6.1. Zeichensa:tze

   Installieren Sie den Xorg-Server (x11-servers/xorg-server) und die
   TrueType(R) Zeichensa:tze Ihrer Sprache. Wenn Sie die Locale gesetzt
   haben, sollten die Menu:s in Ihrer Sprache erscheinen.

    24.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.

  24.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(R) oder PDF umwandeln.

  24.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(R) Dateisystem von FreeBSD kann von MS-DOS(R)- und
   Unicode-Zeichensa:tzen nach frei wa:hlbaren FreeBSD Zeichensa:tzen
   konvertieren. Weitere Details entnehmen Sie bitte mount_msdosfs(8).

24.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.

24.5. Lokalisierung fu:r einzelne Sprachen

  24.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).

    24.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.

    24.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.

    24.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).

    24.5.1.4. MS-DOS(R) Dateisystem und russische Dateinamen

   Russische Dateinamen auf MS-DOS(R) 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(R)-Partition einha:ngen, da die Tabellen zur
   Zeichenumwandlung in /usr/libdata/msdosfs liegen. Weitere Informationen
   erhalten Sie in der Hilfeseite mount_msdosfs(8).

    24.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 den folgende
       Eintrag vor allen anderen FontPath Eintra:gen ein:

 FontPath   "/usr/local/lib/X11/fonts/cyrillic"

  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(R)-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.

  24.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/.

  24.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.

  24.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.

  24.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/.

  24.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.

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

   [14] Mit C-char Zeichensa:tzen werden Zeichensa:tze bezeichnet, die zur
   Codierung den C-Datentyp char verwenden.

Kapitel 25. 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.
   Inhaltsverzeichnis

   25.1. U:bersicht

   25.2. FreeBSD-Update

   25.3. Portsnap: Ein Werkzeug zur Aktualisierung der Ports-Sammlung

   25.4. Aktualisieren der Dokumentationssammlung

   25.5. Einem Entwicklungszweig folgen

   25.6. Synchronisation der Quellen

   25.7. Das komplette Basissystem neu bauen

   25.8. Veraltete Dateien, Verzeichnisse und Bibliotheken lo:schen

   25.9. Installation mehrerer Maschinen

25.1. U:bersicht

   FreeBSD wird zwischen einzelnen Releases sta:ndig weiter entwickelt.
   Manche Leute bevorzugen die offiziellen Release-Versionen, wa:hrend andere
   wiederum lieber auf dem aktuellen Stand der Entwicklung bleiben mo:chten.
   Wie dem auch sei, sogar offizielle Release-Versionen werden oft mit
   Sicherheitsaktualisierungen und anderen kritischen Fehlerbereinigungen
   versorgt. Unabha:ngig von der eingesetzten Version bringt FreeBSD alle
   no:tigen Werkzeuge mit, um ihr System aktuell zu halten und es innerhalb
   verschiedener Versionen zu aktualisieren. Dieses Kapitel hilft Ihnen bei
   der Entscheidung, ob Sie mit dem Entwicklungssystem Schritt halten oder
   ein Release verwenden wollen. Die zugrundeliegenden Werkzeuge um Ihr
   System aktuell zu halten werden ebenfalls vorgestellt.

   Nachdem Sie dieses Kapitel gelesen haben, werden Sie

     * wissen, welche Werkzeuge verwendet werden ko:nnen, um das System und
       die Port-Sammlung zu aktualisieren.

     * wissen, wie Sie Ihr System mit freebsd-update, CVSup, CVS oder CTM
       aktualisieren.

     * wissen, wie man das aktuell installierte System mit einer
       urspru:nglichen Version vergleicht.

     * wissen, wie Sie ihre Dokumentation mit CVSup oder Dokumentations-Ports
       aktuell halten ko:nnen.

     * den Unterschied zwischen den beiden Entwicklungszweigen FreeBSD-STABLE
       und FreeBSD-CURRENT kennen.

     * 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 32, Weiterfu:hrende
       Netzwerkthemen) und

     * wissen, wie Sie Software Dritter installieren (Kapitel 5, Installieren
       von Anwendungen: Pakete und Ports).

  Anmerkung:

   Im gesamten Kapitel wird der Befehl cvsup verwendet, um die FreeBSD
   Quellen zu beziehen und zu aktualisieren. Um es zu verwenden, beno:tigen
   Sie einen Port oder ein Paket wie net/cvsup (falls Sie den graphischen
   cvsup-Client nicht beno:tigen, ko:nnen Sie auch nur den Port
   net/cvsup-without-gui installieren). Alternativ ko:nnen Sie auch csup(1)
   verwenden, das bereits Teil des Basissystems ist.

25.2. FreeBSD-Update

   Geschrieben von Tom Rhodes.
   Basierend auf bereitgestellten Mitschriften von Colin Percival.
   U:bersetzt von Benedict Reuschling.

   Das Einspielen von Sicherheitsaktualisierungen ist ein wichtiger
   Bestandteil bei der Wartung von Computersoftware, besonders wenn es um das
   Betriebssystem geht. Fu:r lange Zeit war dieser Prozess unter FreeBSD
   nicht einfach. Fehlerbehebungen mussten auf den Quellcode angewendet
   werden, danach wurde der Code zu neuen Bina:rdateien u:bersetzt und
   schliesslich mussten diese Dateien neu installiert werden.

   Das ist seit la:ngerem nicht mehr der Fall, da FreeBSD jetzt ein Werkzeug
   namens freebsd-update entha:lt. Dieses Werkzeug bringt zwei getrennte
   Funktionen mit sich. Die erste Funktion ermo:glicht die Anwendung von
   Sicherheitsaktualisierungen im Bina:rformat auf das FreeBSD Basissystem,
   ohne dieses neu zu u:bersetzen und zu installieren. Die zweite Funktion
   unterstu:tzt Aktualisierungen zwischen Haupt- und Unterversionen.

  Anmerkung:

   Bina:re Aktualisierungen sind fu:r alle Architekturen und Releases
   verfu:gbar, die aktuell vom FreeBSD Security Team betreut werden. Vor der
   Aktualisierung auf eine neue Release-Version sollten die aktuellen
   Anku:ndigungen zu dem Release gelesen werden, da diese wichtige
   Informationen zu der gewu:nschten Version enthalten. Diese Anku:ndigungen
   finden Sie unter dem folgenden Link: http://www.FreeBSD.org/releases/.

   Wenn eine crontab existiert, welche die Eigenschaften von freebsd-update
   verwendet, muss diese deaktiviert werden, bevor die folgende Aktion
   gestartet wird.

  25.2.1. Die Konfigurationsdatei

   Manche Anwender mo:chten sicherlich Einstellungen in der
   Standard-Konfigurationsdatei unter /etc/freebsd-update.conf vornehmen, um
   bessere Kontrolle u:ber den gesamten Prozess zu besitzen. Die Optionen
   sind sehr gut dokumentiert, jedoch beno:tigen die folgenden ein paar
   zusa:tzliche Erkla:rungen:

 # Components of the base system which should be kept updated.
 Components src world kernel

   Dieser Parameter kontrolliert, welche Teile von FreeBSD auf dem aktuellen
   Stand gehalten werden sollen. Die Voreinstellung ist es, den Quellcode zu
   aktualisieren, das gesamte Basissystem sowie den Kernel. Die Komponenten
   sind die gleichen wie wa:hrend der Installation, also wu:rde
   beispielsweise das hinzufu:gen von world/games an dieser Stelle es
   erlauben, Aktualisierungen fu:r Spiele anzuwenden. Die Verwendung von
   src/bin erlaubt es, den Quellcode in src/bin aktuell zu halten.

   Die beste Einstellung ist, diese Option so zu belassen, da eine A:nderung
   es bedingt, dass man als Benutzer jede Komponente auflisten muss, die
   aktualisiert werden soll. Dies ko:nnte katastrophale Folgen nach sich
   ziehen, da der Quellcode und die Bina:rdateien dadurch nicht mehr synchron
   wa:ren.

 # Paths which start with anything matching an entry in an IgnorePaths
 # statement will be ignored.
 IgnorePaths

   Fu:gen Sie Pfade wie /bin oder /sbin hinzu, um diese speziellen
   Verzeichnisse wa:hrend des Aktualisierungsprozesses unberu:hrt zu lassen.
   Diese Option kann verwendet werden, um zu verhindern, dass freebsd-update
   lokale A:nderungen u:berschreibt.

 # Paths which start with anything matching an entry in an UpdateIfUnmodified
 # statement will only be updated if the contents of the file have not been
 # modified by the user (unless changes are merged; see below).
 UpdateIfUnmodified /etc/ /var/ /root/ /.cshrc /.profile

   Aktualisieren Sie Konfigurationsdateien in den angegebenen Verzeichnissen
   nur, wenn diese nicht gea:ndert wurden. Jegliche A:nderung, die der
   Benutzer daran vorgenommen hat, wird die automatische Aktualisierung
   dieser Dateien ungu:ltig machen. Es gibt eine weitere Option
   KeepModifiedMetadata, die freebsd-update instruiert, die A:nderungen
   wa:hrend der Zusammenfu:hrung zu speichern.

 # When upgrading to a new FreeBSD release, files which match MergeChanges
 # will have any local changes merged into the version from the new release.
 MergeChanges /etc/ /var/named/etc/

   Eine Liste von Verzeichnissen mit Konfigurationsdateien, in denen
   freebsd-update Zusammenfu:hrungen versuchen soll. Dieser
   Verschmelzungsprozess von Dateien ist eine Serie von diff(1)-Korrekturen,
   a:hnlich wie mergemaster(8) mit weniger Optionen. Die A:nderungen werden
   entweder akzeptiert, o:ffnen einen Editor oder freebsd-update bricht ab.
   Wenn Sie im Zweifel sind, sichern Sie das /etc Verzeichnis und akzeptieren
   einfach die A:nderungen. Lesen Sie Abschnitt 25.7.11.1, "mergemaster", um
   Informationen u:ber das mergemaster-Kommando zu erhalten.

 # Directory in which to store downloaded updates and temporary
 # files used by FreeBSD Update.
 # WorkDir /var/db/freebsd-update

   In diesem Verzeichnis werden alle Korrekturen und tempora:ren Dateien
   abgelegt. Fu:r Fa:lle in denen der Anwender eine Versionsaktualisierung
   vornimmt, sollte diesem Verzeichnis mindestens ein Gigabyte
   Festplattenspeicher zur Verfu:gung stehen.

 # When upgrading between releases, should the list of Components be
 # read strictly (StrictComponents yes) or merely as a list of components
 # which *might* be installed of which FreeBSD Update should figure out
 # which actually are installed and upgrade those (StrictComponents no)?
 # StrictComponents no

   Wenn dies auf yes gesetzt ist, wird freebsd-update annehmen, dass die
   Components-Liste vollsta:ndig ist und nicht versuchen, A:nderungen
   ausserhalb dieser Liste zu ta:tigen. Tatsa:chlich wird freebsd-update
   versuchen, jede Datei zu aktualisieren, die zu der Components-Liste
   geho:rt.

  25.2.2. Sicherheitsaktualisierungen

   Sicherheitsaktualisierungen sind auf einer entfernten Maschine abgelegt
   und ko:nnen durch das folgende Kommando heruntergeladen und installiert
   werden:

 # freebsd-update fetch
 # freebsd-update install

   Wenn irgendeine A:nderung auf den Kernel angewendet wurde beno:tigt das
   System einen Neustart. Wenn alles gut verlaufen ist, sollte das System
   aktualisiert sein und freebsd-update kann als na:chtlicher cron(8)-Job
   ablaufen. Ein Eintrag in der Datei /etc/crontab ist fu:r diese Aufgabe
   ausreichend:

 @daily                                  root    freebsd-update cron

   Dieser Eintrag besagt, dass einmal am Tag freebsd-update ausgefu:hrt wird.
   Auf diese Weise kann freebsd-update nur durch die Verwendung des
   cron-Arguments pru:fen, ob Aktualisierungen vorliegen. Wenn Korrekturen
   existieren, werden diese automatisch auf die lokale Festplatte
   heruntergeladen, aber nicht eingespielt. Der root-Benutzer bekommt eine
   Nachricht, damit dieser die Korrekturen manuell installiert.

   Sollte irgendetwas schief gelaufen sein, kann freebsd-update den letzten
   Satz von A:nderungen mit dem folgenden Befehl zuru:ckrollen:

 # freebsd-update rollback

   Sobald dieser Vorgang abgeschlossen ist, sollte das System neu gestartet
   werden, wenn der Kernel oder ein beliebiges Kernelmodul gea:ndert wurde.
   Dies ermo:glicht es FreeBSD, die neuen Bina:rdateien in den Hauptspeicher
   zu laden.

   Das freebsd-update-Werkzeug kann nur den GENERIC-Kernel automatisch
   aktualisieren. Wenn ein selbstkonfigurierter Kernel verwendet wird, muss
   dieser neu erstellt und installiert werden, nachdem freebsd-update den
   Rest der Aktualisierungen durchgefu:hrt hat. Allerdings wird
   freebsd-update den GENERIC-Kernel in /boot/GENERIC erkennen und
   aktualisieren (falls dieser existiert), sogar dann, wenn dies nicht der
   aktuell verwendete Kernel des Systems ist.

  Anmerkung:

   Es ist eine gute Idee, immer eine Kopie des GENERIC-Kernels in
   /boot/GENERIC aufzubewahren. Das wird bei der Diagnose von verschiedenen
   Problemen eine grosse Hilfe sein, sowie bei der Durchfu:hrung von
   Versionsaktualisierungen mit freebsd-update, wie in Abschnitt 25.2.3,
   "Aktualisierungen an Haupt- und Unterversionen" beschrieben ist.

   Solange die Standardkonfiguration in /etc/freebsd-update.conf nicht
   gea:ndert wurde, wird freebsd-update die aktualisierten Quellcodedateien
   des Kernels zusammen mit dem Rest der Neuerungen installieren. Die erneute
   U:bersetzung und Installation ihres neuen, selbstkonfigurierten Kernels
   kann dann auf die u:bliche Art und Weise durchgefu:hrt werden.

  Anmerkung:

   Die Aktualisierungen, die u:ber freebsd-update verteilt werden, betreffen
   nicht immer den Kernel. Es ist nicht notwendig, den selbstkonfigurierten
   Kernel neu zu erstellen, wenn die Kernelquellen nicht durch die
   Ausfu:hrung von freebsd-update install gea:ndert wurden. Allerdings wird
   freebsd-update auf alle Fa:lle die Datei /usr/src/sys/conf/newvers.sh
   aktualisieren. Der aktuelle Patch-Level (angegeben durch die -p-Nummer,
   die von dem Kommando uname -r ausgegeben wird) wird aus dieser Datei
   ausgelesen. Die Neuinstallation des selbstkonfigurierten Kernels, selbst
   wenn sich daran nichts gea:ndert hat, erlaubt es uname(1), den aktuellen
   Patch-Level des Systems korrekt wiederzugeben. Dies ist besonders
   hilfreich, wenn mehrere Systeme gewartet werden, da es eine schnelle
   Einscha:tzung der installierten Aktualisierungen in jedem einzelnen System
   ermo:glicht.

  25.2.3. Aktualisierungen an Haupt- und Unterversionen

   Dieser Prozess entfernt alte Objekt-Dateien und Bibliotheken, was dazu
   fu:hrt, dass die meisten Anwendungen von Drittherstellern nicht mehr
   funktionieren. Es wird empfohlen, dass alle installierten Ports entweder
   entfernt und neu installiert oder zu einem spa:teren Zeitpunkt mittels
   ports-mgmt/portupgrade aktualisiert werden. Die meisten Anwender werden
   wahrscheinlich einen Testlauf mittels des folgenden Kommandos durchfu:hren
   wollen:

 # portupgrade -af

   Dies sorgt dafu:r, dass alles korrekt neu installiert wird. Beachten Sie,
   dass das Setzen der BATCH-Umgebungsvariable auf yes wa:hrend dieses
   Prozesses auf jede Eingabe mit ja antwortet, was es nicht mehr notwendig
   macht, manuell eingreifen zu mu:ssen.

   Wenn ein selbstkonfigurierter Kernel verwendet wird, ist der
   Aktualisierungsprozess ein kleines bisschen aufwa:ndiger. Eine Kopie des
   GENERIC-Kernels wir beno:tigt und sollte in /boot/GENERIC abgelegt sein.
   Wenn der GENERIC-Kernel nicht bereits im System vorhanden ist, kann dieser
   u:ber eine der folgenden Methoden bezogen werden:

     * Wenn ein eigener Kernel genau einmal gebaut wurde, ist der Kernel im
       Verzeichnis /boot/kernel.old in Wirklichkeit der GENERIC-Kernel.
       Benennen Sie einfach dieses Verzeichnis in /boot/GENERIC um.

     * Angenommen, direkter Zugriff auf die Maschine ist mo:glich, so kann
       eine Kopie des GENERIC-Kernels von den CD-ROM-Medien installiert
       werden. Legen Sie die Installations-CD ein und benutzen Sie die
       folgenden Befehle:

 # mount /cdrom
 # cd /cdrom/X.Y-RELEASE/kernels
 # ./install.sh GENERIC

       Ersetzen Sie X.Y-RELEASE mit der richtigen Version der
       Vero:ffentlichung, die Sie verwenden. Der GENERIC-Kernel wird
       standardma:ssig in /boot/GENERIC installiert.

     * Falls alle obigen Schritte fehlschlagen, kann der GENERIC-Kernel
       folgendermassen aus den Quellen neu gebaut und installiert werden:

 # cd /usr/src
 # env DESTDIR=/boot/GENERIC make kernel
 # mv /boot/GENERIC/boot/kernel/* /boot/GENERIC
 # rm -rf /boot/GENERIC/boot

       Damit dieser Kernel als GENERIC-Kernel von freebsd-update erkannt
       wird, darf die GENERIC-Konfigurationsdatei in keiner Weise gea:ndert
       worden sein. Es wird ebenfalls empfohlen, dass dieser ohne
       irgendwelche speziellen Optionen erstellt wird (bevorzugt mit einer
       leeren /etc/make.conf).

   Der Neustart in den GENERIC-Kernel ist zu diesem Zeitpunkt nicht
   notwendig.

   Aktualisierungen an Haupt- und Unterversionen ko:nnen durchgefu:hrt
   werden, wenn man freebsd-update eine Release-Version als Ziel u:bergibt.
   Beispielsweise wird das folgende Kommando das System auf FreeBSD 8.1
   aktualisieren:

 # freebsd-update -r 8.1-RELEASE upgrade

   Nachdem das Kommando empfangen wurde, u:berpru:ft freebsd-update die
   Konfigurationsdatei und das aktuelle System, um die no:tigen Informationen
   fu:r die Systemaktualisierung zu sammeln. Eine Bildschirmausgabe wird
   anzeigen, welche Komponenten erkannt und welche nicht erkannt wurden. Zum
   Beispiel:

 Looking up update.FreeBSD.org mirrors... 1 mirrors found.
 Fetching metadata signature for 8.0-RELEASE from update1.FreeBSD.org... done.
 Fetching metadata index... done.
 Inspecting system... done.

 The following components of FreeBSD seem to be installed:
 kernel/smp src/base src/bin src/contrib src/crypto src/etc src/games
 src/gnu src/include src/krb5 src/lib src/libexec src/release src/rescue
 src/sbin src/secure src/share src/sys src/tools src/ubin src/usbin
 world/base world/info world/lib32 world/manpages

 The following components of FreeBSD do not seem to be installed:
 kernel/generic world/catpages world/dict world/doc world/games
 world/proflibs

 Does this look reasonable (y/n)? y

   An diesem Punkt wird freebsd-update versuchen, alle notwendigen Dateien
   fu:r die Aktualisierung herunter zu laden. In manchen Fa:llen wird der
   Benutzer mit Fragen konfrontiert, um festzustellen, was installiert werden
   soll oder auf welche Art und Weise fortgesetzt werden soll.

   Wenn ein selbstkonfigurierter Kernel benutzt wird, produziert der
   vorherige Schritt eine Warnung a:hnlich zu der folgenden:

 WARNING: This system is running a "MYKERNEL" kernel, which is not a
 kernel configuration distributed as part of FreeBSD 8.0-RELEASE.
 This kernel will not be updated: you MUST update the kernel manually
 before running "/usr/sbin/freebsd-update install"

   Diese Warnung kann an dieser Stelle problemlos ignoriert werden. Der
   aktualisierte GENERIC-Kernel wird als ein Zwischenschritt im
   Aktualisierungsprozess verwendet.

   Nachdem alle Korrekturen auf das lokale System heruntergeladen wurden,
   werden diese nun eingespielt. Dieser Prozess kann eine gewisse Zeit in
   Anspruch nehmen, abha:ngig von der Geschwindigkeit und Auslastung der
   Maschine. Konfigurationsdateien werden ebenfalls zusammengefu:gt - dieser
   Teil der Prozedur beno:tigt einige Benutzereingaben, da eine Datei
   mo:glicherweise von Hand zusammengefasst werden muss oder ein Editor
   erscheint auf dem Bildschirm zum manuellen bearbeiten. Die Ergebnisse von
   jeder erfolgreichen Zusammenfassung werden dem Benutzer angezeigt,
   wa:hrend der Prozess weiterla:uft. Eine fehlgeschlagene oder ignorierte
   Zusammenfassung wird den Prozess sofort beenden. Benutzer sollten eine
   Sicherung von /etc anlegen und wichtige Dateien spa:ter manuell vereinen,
   beispielsweise master.passwd oder group.

  Anmerkung:

   Das System ist noch nicht vera:ndert worden, alle Korrekturen und
   Vereinigungen sind in einem anderen Verzeichnis vorgenommen worden. Wenn
   alle Korrekturen erfolgreich eingespielt, alle Konfigurationsdateien
   zusammengefu:gt wurden und es den Anschein hat, dass der Prozess
   problemlos verlaufen wird, mu:ssen die A:nderungen vom Anwender noch
   angewendet werden.

   Sobald dieser Prozess abgeschlossen ist, ko:nnen die Aktualisierungen
   u:ber das folgende Kommando auf die Platte geschrieben werden:

 # freebsd-update install

   Der Kernel und die Module werden zuerst aktualisiert. Zu diesem Zeitpunkt
   muss die Maschine neu gestartet werden. Wenn das System einen
   selbstkonfigurierten Kernel verwendet, benutzen Sie das
   nextboot(8)-Kommando, um den Kernel fu:r den na:chsten Neustart auf
   /boot/GENERIC zu setzen (welcher aktualisiert wurde):

 # nextboot -k GENERIC

  Warnung:

   Bevor mit dem GENERIC-Kernel das System neu gestartet wird, vergewissern
   Sie sich, dass alle notwendigen Treiber fu:r ihr System enthalten sind, um
   korrekt zu starten (und schliessen Sie ihn ans Netzwerk an, falls auf die
   Maschine, die aktualisiert wird, von der Ferne aus zugegriffen wird).
   Achten Sie besonders darauf, dass wenn der vorherige selbstkonfigurierte
   Kernel Funktionalita:t beinhaltet, die von Kernelmodulen zur Verfu:gung
   gestellt wurde, dass diese tempora:r in den GENERIC-Kernel u:ber die Datei
   /boot/loader.conf u:bernommen werden. Sie sollten ebenfalls nicht
   beno:tigte Dienste, eingeha:ngte Platten, verbundene Netzlaufwerke, usw.
   deaktivieren, bis der Aktualisierungsprozess abgeschlossen ist.

   Die Maschine sollte nun mit dem aktualisierten Kernel neu gestartet
   werden:

 # shutdown -r now

   Sobald das System wieder hochgefahren wurde, muss freebsd-update erneut
   gestartet werden. Der Zustand des Prozesses wurde zuvor gesichert und
   deshalb wird freebsd-update nicht von vorne beginnen, jedoch alle alten
   Shared-Libraries und Objektdateien lo:schen. Um zu diesem Zustand zu
   gelangen, setzen Sie das folgende Kommando ab:

 # freebsd-update install

  Anmerkung:

   Abha:ngig davon, ob irgendwelche Bibliotheksversionen erho:ht wurden, kann
   es sein, dass nur zwei Installationsphasen anstatt drei durchlaufen
   werden.

   Nun muss alle Drittanbieter-Software neu erstellt und neu installiert
   werden. Dies ist notwendig, da die installierte Software mo:glicherweise
   Abha:ngigkeiten zu Bibliotheken entha:lt, die wa:hrend der Aktualisierung
   entfernt wurden. Der ports-mgmt/portupgrade-Befehl kann verwendet werden,
   um diesen Vorgang zu automatisieren. Die folgenden Kommandos ko:nnen
   verwendet werden, um diesen Prozess zu starten:

 # portupgrade -f ruby
 # rm /var/db/pkg/pkgdb.db
 # portupgrade -f ruby18-bdb
 # rm /var/db/pkg/pkgdb.db /usr/ports/INDEX-*.db
 # portupgrade -af

   Sobald dies abgeschlossen ist, beenden Sie den Aktualisierungsprozess mit
   einem letzten Aufruf von freebsd-update. Geben Sie den folgenden Befehl
   ein, um alle losen Enden des Aktualisierungsprozesses miteinander zu
   verknu:pfen:

 # freebsd-update install

   Wenn der GENERIC-Kernel tempora:r Verwendung fand, ist dies der richtige
   Zeitpunkt, einen neuen, selbstkonfigurierten Kernel zu bauen und u:ber die
   u:bliche Methode zu installieren.

   Booten Sie anschliessend die Maschine in die neue FreeBSD-Version. Der
   Prozess ist damit abgeschlossen.

  25.2.4. Vergleich des Systemzustands

   Das freebsd-update-Werkzeug kann verwendet werden, um den Zustand der
   installierten FreeBSD-Version gegenu:ber einer bekannten und
   funktionierenden Kopie zu vergleichen. Diese Option vergleicht die
   aktuelle Version von Systemwerkzeugen, Bibliotheken und
   Konfigurationsdateien. Um diesen Vergleich zu starten, geben Sie den
   folgenden Befehl ein:

 # freebsd-update IDS >> outfile.ids

  Warnung:

   Obwohl der Befehlsname IDS lautet, sollte er in keiner Weise als Ersatz
   fu:r ein Intrusion Detection System wie security/snort angesehen werden.
   Da freebsd-update seine Daten auf Platte ablegt, ist die Mo:glichkeit von
   Verfa:lschungen offensichtlich. Obwohl diese Mo:glichkeit durch die
   Verwendung von kern.securelevel oder die Ablage von freebsd-update auf
   einem Nur-Lese Dateisystem, wenn es gerade nicht gebraucht wird,
   eingeda:mmt werden kann, besteht eine bessere Lo:sung darin, das System
   gegen ein gesichertes Medium, wie eine DVD oder einen externen, separat
   aufbewahrten USB-Plattenspeicher, zu vergleichen.

   Das System wird jetzt untersucht und eine Liste von Dateien ausgegeben,
   zusammen mit deren sha256(1)-Hashwerten, sowohl der von der
   Release-Version bekannte Wert als auch der des aktuell installierten
   Systems. Das ist der Grund dafu:r, warum die Ausgabe an die Datei
   outfile.ids geschickt wurde. Es scrollt zu schnell vorbei, um diese mit
   den Augen zu vergleichen und bald wird auch der Konsolenpuffer damit
   u:berfu:llt.

   Diese Zeilen sind dazu noch extrem lang, aber das Ausgabeformat kann sehr
   einfach verarbeitet werden. Um beispielsweise eine Liste von allen Dateien
   zu erhalten, die sich vom aktuellen Release unterscheiden, geben Sie das
   folgende Kommando ein:

 # cat outfile.ids | awk '{ print $1 }' | more
 /etc/master.passwd
 /etc/motd
 /etc/passwd
 /etc/pf.conf

   Diese Ausgabe wurde abgeschnitten, es existieren noch viel mehr Dateien
   dazu. Manche dieser Dateien besitzen ganz selbstversta:ndliche
   Vera:nderungen, /etc/passwd wurde beispielsweise gea:ndert, um Benutzer
   zum System hinzuzufu:gen. In manchen Fa:llen kann es anderen Dateien wie
   Kernelmodule geben, welche sich gea:ndert haben, weil freebsd-update diese
   aktualisiert hat. Um bestimmte Dateien oder Verzeichnisse auszuschliessen,
   ha:ngen Sie diese an die IDSIgnorePaths-Option in /etc/freebsd-update.conf
   an.

   Diese Vorgehensweise kann als Teil einer ausgeklu:gelten
   Aktualisierungsmethode benutzt werden, unabha:ngig von der zuvor
   angesprochenen Variante.

25.3. Portsnap: Ein Werkzeug zur Aktualisierung der Ports-Sammlung

   Geschrieben von Tom Rhodes.
   Basierend auf bereitgestellten Mitschriften von Colin Percival.
   U:bersetzt von Benedict Reuschling.

   Das Basissystem von FreeBSD entha:lt auch ein Programm zum Aktualisieren
   der Ports-Sammlung: das portsnap(8) Werkzeug. Wenn es ausgefu:hrt wird,
   verbindet es sich mit einem entfernten Rechner, u:berpru:ft den
   Sicherungsschlu:ssel und la:dt eine neue Kopie der Ports-Sammlung
   herunter. Der Schlu:ssel wird dazu verwendet, um die Integrita:t aller
   heruntergeladenen Dateien zu pru:fen und um sicherzustellen, dass diese
   unterwegs nicht vera:ndert wurden. Um die aktuellsten Dateien der
   Ports-Sammlung herunter zu laden, geben Sie das folgende Kommando ein:

 # portsnap fetch
 Looking up portsnap.FreeBSD.org mirrors... 3 mirrors found.
 Fetching snapshot tag from portsnap1.FreeBSD.org... done.
 Fetching snapshot metadata... done.
 Updating from Wed Aug  6 18:00:22 EDT 2008 to Sat Aug 30 20:24:11 EDT 2008.
 Fetching 3 metadata patches.. done.
 Applying metadata patches... done.
 Fetching 3 metadata files... done.
 Fetching 90 patches.....10....20....30....40....50....60....70....80....90. done.
 Applying patches... done.
 Fetching 133 new ports or files... done.

   Dieses Beispiel zeigt, dass portsnap(8) mehrere Korrekturen fu:r die
   aktuellen Ports-Daten gefunden und verifiziert hat. Es zeigt auch, dass
   das Programm zuvor schon einmal gestartet wurde. Wa:re es das erste Mal,
   wu:rde nur die Ports-Sammlung heruntergeladen werden.

   Wenn portsnap(8) erfolgreich die fetch-Operation abgeschlossen hat,
   befinden sich die Ports-Sammlung und die dazugeho:rigen Korrekturen auf
   dem lokalen System, welches die U:berpru:fung bestanden hat. Wenn Sie
   portsnap das erste Mal ausgefu:hrt haben, mu:ssen Sie den Befehl portsnap
   extract verwenden, um die Ports-Sammlung zu installieren:

 # portsnap extract
 /usr/ports/.cvsignore
 /usr/ports/CHANGES
 /usr/ports/COPYRIGHT
 /usr/ports/GIDs
 /usr/ports/KNOBS
 /usr/ports/LEGAL
 /usr/ports/MOVED
 /usr/ports/Makefile
 /usr/ports/Mk/bsd.apache.mk
 /usr/ports/Mk/bsd.autotools.mk
 /usr/ports/Mk/bsd.cmake.mk
 ...

   Um Ihre bereits installierte Ports-Sammlung zu aktualisieren, verwenden
   Sie hingegen den Parameter update:

 # portsnap update

   Der Prozess ist jetzt abgeschlossen und Anwendungen ko:nnen mittels der
   aktuellen Ports-Sammlung installiert oder aktualisiert werden.

   Die Operationen fetch und extract oder update ko:nnen auch nacheinander
   ausgefu:hrt werden, wie im folgenden Beispiel gezeigt:

 # portsnap fetch update

   Dieser Befehl la:dt die aktuelle Version der Ports-Sammlung herunter und
   aktualisiert anschliessend Ihre lokale Version im Verzeichnis /usr/ports.

25.4. Aktualisieren der Dokumentationssammlung

   U:bersetzt von Benedict Reuschling.

   Neben dem Basissystem und der Ports-Sammlung ist die Dokumentation ein
   wichtiger Bestandteil des FreeBSD Betriebssystems. Obwohl eine aktuelle
   Version der FreeBSD Dokumentation jederzeit auf der FreeBSD Webseite
   verfu:gbar ist, verfu:gen manche Benutzer nur u:ber eine langsame oder
   u:berhaupt keine Netzwerkverbindung. Glu:cklicherweise gibt es mehrere
   Mo:glichkeiten, die Dokumentation, welche mit jeder Version ausgeliefert
   wird, zu aktualisieren, indem eine lokale Kopie der aktuellen
   FreeBSD-Dokumentationssammlung verwendet wird.

  25.4.1. Verwenden von CVSup um die Dokumentation zu aktualisieren

   Die Quellen und die installierte Kopie der FreeBSD Dokumentation kann
   mittels CVSup aktualisiert werden, indem ein a:hnlicher Mechanismus
   angewendet wird, wie derjenige fu:r die Betriebssystemquellen (vergleichen
   Sie mit Abschnitt 25.7, "Das komplette Basissystem neu bauen"). Dieser
   Abschnitt beschreibt:

     * Wie die Dokumentations-Werkzeugsammlung installiert wird, welche die
       Werkzeuge entha:lt, die no:tig sind, um die FreeBSD Dokumentation aus
       den Quellen neu zu erstellen.

     * Wie man eine Kopie der Dokumentationsquellen nach /usr/doc
       herunterla:dt, unter Verwendung von CVSup.

     * Wie man die FreeBSD Dokumentation aus den Quellen baut und unter
       /usr/share/doc installiert.

     * Manche der Optionen zum Erstellen, die vom System zum Bauen der
       Dokumentation unterstu:tzt werden, z.B. die Optionen welche nur ein
       paar der unterschiedlichen Sprachu:bersetzungen der Dokumentation
       erstellen oder die Optionen, die ein bestimmtes Ausgabeformat
       auswa:hlen.

  25.4.2. CVSup und die Werkzeugsammlung der Dokumentation installieren

   Die FreeBSD Dokumentation aus dem Quellen zu erstellen beno:tigt eine
   ziemlich grosse Anzahl an Werkzeugen. Diese Werkzeuge sind nicht Teil des
   FreeBSD Basissystems, da sie eine grosse Menge an Plattenplatz verbrauchen
   und nicht von allen FreeBSD-Anwendern beno:tigt werden. Sie sind nur fu:r
   diejenigen Benutzer notwendig, die aktiv an neuer Dokumentation fu:
   FreeBSD schreiben oder ha:ufig ihre Dokumentation aus den Quellen bauen
   lassen.

   Alle beno:tigten Werkzeuge sind als Teil der Ports-Sammlung verfu:gbar.
   Der Port textproc/docproj dient als Masterport, der vom FreeBSD
   Documentation Project entwickelt wurde, um die initiale Installation und
   zuku:nftige Aktualisierungen dieser Werkzeuge zu vereinfachen.

  Anmerkung:

   Wenn Sie die Dokumentation nicht als PostScript(R) oder PDF beno:tigen,
   ko:nnen Sie alternativ die Installation des
   textproc/docproj-nojadetex-Ports in Erwa:gung ziehen. Diese Version der
   Dokumentations-Werkzeugsammlung entha:lt alles ausser das
   teTeX-Textsatzsystem. teTeX ist eine sehr grosse Sammlung an Werkzeugen,
   deshalb ist es vernu:nftig, deren Installation auszulassen, wenn die
   Ausgabe von PDF nicht unbedingt gebraucht wird.

   Fu:r weitere Informationen u:ber das Installieren und Verwenden von CVSup,
   lesen Sie CVSup verwenden.

  25.4.3. Die Dokumentationsquellen aktualisieren

   Das Programm CVSup kann eine saubere Kopie der Dokumentationsquellen
   holen, indem es die Datei /usr/share/examples/cvsup/doc-supfile als
   Konfigurationsvorlage verwendet. Der Standard-Host zum Aktualisieren ist
   auf einen Platzhalterwert im doc-supfile gesetzt, aber cvsup(1) akzeptiert
   auch einen Hostnamen u:ber die Kommandozeile. Somit ko:nnen die
   Dokumentationsquellen von einem der CVSup-Server geholt werden, indem man
   eingibt:

 # cvsup -h cvsup.FreeBSD.org -g -L 2 /usr/share/examples/cvsup/doc-supfile

   A:ndern Sie cvsup.FreeBSD.org auf den Ihnen am na:chsten gelegenen
   CVSup-Server. Eine vollsta:ndige Liste von Spiegelservern finden Sie unter
   Abschnitt A.6.7, "CVSup-Server".

   Es dauert eine Weile, wenn die Dokumentationsquellen das allererste Mal
   heruntergeladen werden. Lassen Sie es laufen, bis es fertig ist.

   Zuku:nftige Aktualisierungen der Dokumentationsquellen ko:nnen Sie u:ber
   den gleichen Befehl bekommen. Das Programm CVSup la:dt und kopiert nur
   diejenigen Aktualisierungen herunter, die seit seinem letzten Aufruf
   hinzugekommen sind. Deshalb sollte jeder weitere Aufruf von CVSup nach dem
   Ersten wesentlich schneller abgeschlossen sein.

   Nachdem die Quellen einmal ausgecheckt wurden, besteht ein anderer Weg,
   die Dokumentation zu aktualisieren, darin, das Makefile im Verzeichnis
   /usr/doc anzupassen. Durch setzen von SUP_UPDATE, SUPHOST und DOCSUPFILE
   in der Datei /etc/make.conf ist es jetzt mo:glich, folgendes zu tun:

 # cd /usr/doc
 # make update

   Ein typischer Satz dieser make(1)-Optionen fu:r /etc/make.conf ist:

 SUP_UPDATE= yes
 SUPHOST?= cvsup.freebsd.org
 DOCSUPFILE?= /usr/share/examples/cvsup/doc-supfile

  Anmerkung:

   Das Setzen des Werts von SUPHOST und DOCSUPFILE auf ?= erlaubt es, diese
   in der Kommandozeile von make zu u:berschreiben. Diese Methode wird
   empfohlen, um Optionen zu make.conf hinzuzufu:gen, um zu verhindern, dass
   man die Datei jedes Mal bearbeiten muss, um einen anderen Wert fu:r die
   Option auszuprobieren.

  25.4.4. Einstellbare Optionen der Dokumentationsquellen

   Das System zum aktualisieren und erstellen der FreeBSD-Dokumentation
   unterstu:tzt ein paar Optionen, welche den Prozess der Aktualisierung von
   Teilen der Dokumentation oder einer bestimmten U:bersetzung erleichtert.
   Diese Optionen lassen sich entweder systemweit in der Datei /etc/make.conf
   setzen, oder als Kommandozeilenoptionen, die dem make(1)-Werkzeug
   u:bergeben werden.

   Die folgenden Optionen sind ein paar davon:

   DOC_LANG

           Eine Liste von Sprachen und Kodierungen, die gebaut und
           installiert werden sollen, z.B. en_US.ISO8859-1, um nur die
           englische Dokumentation zu erhalten.

   FORMATS

           Ein einzelnes Format oder eine Liste von Ausgabeformaten, das
           gebaut werden soll. Momentan werden html, html-split, txt, ps,
           pdf, und rtf unterstu:tzt.

   SUPHOST

           Der Hostname des CVSup-Servers, der verwendet werden soll, um
           Aktualisierungen zu holen.

   DOCDIR

           Wohin die Dokumentation installiert werden soll. Der Standardpfad
           ist /usr/share/doc.

   Fu:r weitere make-Variablen, die als systemweite Optionen in FreeBSD
   unterstu:tzt werden, lesen Sie make.conf(5).

   Fu:r weitere make-Variablen, die vom System zum Erstellen der
   FreeBSD-Dokumentation unterstu:tzt werden, lesen Sie die Fibel fu:r neue
   Mitarbeiter des FreeBSD-Dokumentationsprojekts.

  25.4.5. Die FreeBSD-Dokumentation aus den Quellen installieren

   Wenn ein aktueller Schnappschuss der Dokumentationsquellen nach /usr/doc
   heruntergeladen wurde, ist alles bereit fu:r eine Aktualisierung der
   bestehenden Dokumentation.

   Eine komplette Aktualisierung aller Sprachoptionen, definiert durch die
   DOC_LANG Makefile-Option, kann durch folgende Eingabe erreicht werden:

 # cd /usr/doc
 # make install clean

   Wenn make.conf mit den richtigen Optionen DOCSUPFILE, SUPHOST und
   SUP_UPDATE eingerichtet wurde, kann der Installationsschritt mit einer
   Aktualisierung der Dokumentationsquellen kombiniert werden, indem man
   eingibt:

 # cd /usr/doc
 # make update install clean

   Wenn nur eine Aktualisierung einer bestimmten Sprache gewu:nscht wird,
   kann make(1) in einem sprachspezifischen Unterverzeichnis von /usr/doc
   aufgerufen werden, z.B.:

 # cd /usr/doc/en_US.ISO8859-1
 # make update install clean

   Die zu installierenden Ausgabeformate ko:nnen durch das Setzen der
   make-Variablen FORMATS angegeben werden, z.B.:

 # cd /usr/doc
 # make FORMATS='html html-split' install clean

  25.4.6. Verwendung von Dokumentations-Ports

   Basierend auf der Arbeit von Marc Fonvieille.

   Im vorherigen Abschnitt wurde eine Methode gezeigt, wie die
   FreeBSD-Dokumentation aus den Quellen gebaut werden kann. Allerdings sind
   quellbasierte Aktualisierungen mo:glicherweise nicht fu:r alle
   FreeBSD-Systeme geeignet oder praktikabel. Das Erstellen der
   Dokumentationsquellen beno:tigt eine grosse Anzahl an Werkzeugen,
   Programmen und Hilfsmitteln, die documentation toolchain, ein gewisser
   Grad an Vertrautheit mit CVS und ausgecheckte Quellen von einem
   Repository, sowie ein paar manuelle Schritte, um diese ausgecheckten
   Quellen zu bauen. In diesem Abschnitt wird eine alternative Art und Weise
   vorgestellt, wie man die installierte Kopie der FreeBSD-Dokumentation
   aktualisieren kann. Diese Methode verwendet die Ports-Sammlung und erlaubt
   es:

     * vorgefertigte Schnappschu:sse der Dokumentation herunter zu laden und
       zu installieren, ohne vorher irgendetwas lokal zu erstellen (dadurch
       ist es nicht mehr notwendig, den kompletten Werkzeugkasten der
       Dokumentation zu installieren).

     * die Dokumentationsquellen herunterzuladen und durch das Ports-System
       erstellen zu lassen (was die Schritte zum Auschecken und Erstellen
       etwas erleichtert).

   Diese beiden Methoden der Aktualisierung der FreeBSD-Dokumentation werden
   durch eine Menge von Dokumentations-Ports unterstu:tzt, die von
   Documentation Engineering Team <doceng@FreeBSD.org> monatlich aktualisiert
   wird. Diese sind in der Ports-Sammlung unter der virtuellen Kategorie,
   docs genannt, gelistet.

    25.4.6.1. Erstellen und Installieren von Dokumentations-Ports

   Die Dokumentations-Ports nutzen das Ports-System, um das Erstellen von
   Dokumentation wesentlich einfacher zu machen. Es automatisiert den Prozess
   des Auscheckens der Dokumentationsquellen, aufrufen von make(1) mit den
   passenden Umgebungsvariablen und Kommandozeilenoptionen und macht die
   Installation und Deinstallation von Dokumentation so einfach wie die
   Installation von jedem anderen Port oder Paket.

  Anmerkung:

   Als zusa:tzliche Eigenschaft zeichnen sie eine Abha:ngigkeit zum
   Dokumentations-Werkzeugsatz auf, wenn die Dokumentations-Ports lokal
   erstellt werden, weshalb dieser auch automatisch mitinstalliert wird.

   Die Dokumentations-Ports sind wie folgt organisiert:

     * Es existiert ein "Master-Port", misc/freebsd-doc-en, in dem alle
       Dateien zu den Dokumentations-Ports abgelegt sind. Es dient als Basis
       fu:r alle Dokumentations-Ports. Als Voreinstellung wird nur die
       englische Dokumentation gebaut.

     * Es gibt einen "Alles-in-Einem-Port", misc/freebsd-doc-all, welcher die
       komplette Dokumentation in allen verfu:gbaren Sprachen erstellt und
       installiert.

     * Schliesslich gibt es noch einen sogenannten "slave port" fu:r jede
       U:bersetzung, z.B.: misc/freebsd-doc-hu fu:r Dokumentation in
       ungarischer Sprache. All diese beno:tigen den Master-Port und
       installieren die u:bersetzte Dokumentation in der entsprechenden
       Sprache.

   Um einen Dokumentations-Port aus den Quellen zu installieren, geben Sie
   das folgende Kommando (als root) ein:

 # cd /usr/ports/misc/freebsd-doc-en
 # make install clean

   Auf diese Weise wird die englische Dokumentation gebaut und als getrenntes
   HTML-Format im Verzeichnis /usr/local/share/doc/freebsd installiert (genau
   wie unter http://www.FreeBSD.org zu finden).

      25.4.6.1.1. Gebra:uchliche Schalter und Optionen

   Es gibt viele Optionen, um das Standarderhalten der Dokumentations-Ports
   zu vera:ndern. Im Folgenden sind nur ein paar davon aufgefu:hrt:

   WITH_HTML

           Erlaubt das Erstellen im HTML-Format: eine einzige HTML-Datei pro
           Dokument. Die formatierte Dokumentation wird als Datei mit dem
           Namen article.html gespeichert, oder, je nachdem, als book.html,
           zuzuu:glich der Bilder.

   WITH_PDF

           Erlaubt das Erstellen von Adobe(R) Portable Document Format, fu:r
           die Verwendung mit Adobe(R) Acrobat Reader(R), Ghostscript oder
           anderen PDF-Betrachtern. Die formatierte Dokumentation wird als
           Datei mit dem Namen article.pdf oder, soweit angemessen, als
           book.pdf gespeichert.

   DOCBASE

           Wohin die Dokumentation installiert werden soll. Der Standardpfad
           ist /usr/local/share/doc/freebsd.

  Anmerkung:

           Beachten Sie, dass sich der Standardpfad von dem Verzeichnis
           unterscheidet, das von der CVSup-Methode verwendet wird. Das liegt
           daran, dass ein Port installiert wird und diese u:blicherweise im
           Verzeichnis /usr/local abgelegt werden. Durch setzen der
           PREFIX-Variablen kann dieses Verhalten gea:ndert werden.

   Es folgt ein kurzes Beispiel, wie die Variablen verwendet werden, um die
   oben erwa:hnte ungarische Dokumentation als Portable Document Format zu
   installieren:

 # cd /usr/ports/misc/freebsd-doc-hu
 # make -DWITH_PDF DOCBASE=share/doc/freebsd/hu install clean

    25.4.6.2. Verwendung von Dokumentations-Paketen

   Das Erstellen der Dokumentations-Ports aus den Quellen, wie im vorherigen
   Abschnitt beschrieben, beno:tigt die lokale Installation der
   Dokumentations-Werkzeugsammlung und ein wenig Festplattenspeicher fu:r das
   Bauen der Ports. Sollten die Ressourcen zum Bauen der
   Dokumentations-Werkzeugsammlung nicht zur Verfu:gung stehen, oder weil das
   erstellen zuviel Plattenplatz beno:tigen wu:rde, ist es trotzdem mo:glich,
   bereits zuvor gebaute Schnappschu:sse der Dokumentations-Ports zu
   installieren.

   Documentation Engineering Team <doceng@FreeBSD.org> erstellt monatliche
   Schnappschu:sse der Dokumentations-Pakete von FreeBSD. Diese Bina:rpakete
   ko:nnen mit jedem der mitgelieferten Paketwerkzeuge installiert werden,
   beispielsweise pkg_add(1), pkg_delete(1) und so weiter.

  Anmerkung:

   Wenn Bina:rpakete zu Einsatz kommen, wird die FreeBSD-Dokumentation in
   allen verfu:gbaren Formaten in der gegebenen Sprache installiert.

   Zum Beispiel installiert das folgende Kommando das aktuelle, vorgefertigte
   Paket der ungarischen Dokumentation:

 # pkg_add -r hu-freebsd-doc

  Anmerkung:

   Pakete haben das folgende Namensformat, welches sich von dem Namen des
   dazugeho:rigen Ports unterscheidet: lang-freebsd-doc. lang entspricht hier
   der Kurzform des Sprachcodes, z.B. hu fu:r Ungarisch, oder zh_cn fu:r
   vereinfachtes Chinesisch.

    25.4.6.3. Dokumentations-Ports aktualisieren

   Um einen zuvor installierten Dokumentations-Port zu aktualisieren, kann
   jedes Werkzeug, das auch zum Aktualisieren von Ports verwendet wird,
   eingesetzt werden. Beispielsweise aktualisiert das folgende Kommando die
   installierte ungarische Dokumentation mittels des Programms
   ports-mgmt/portupgrade indem nur Pakete verwendet werden sollen:

 # portupgrade -PP hu-freebsd-doc

25.5. 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.

  25.5.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.

    25.5.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!

    25.5.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.

    25.5.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.

    25.5.1.4. Benutzen von FreeBSD-CURRENT

    1. Es ist essentiell, die Mailinglisten freebsd-current und svn-src-head
       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 svn-src-head 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. Wenn
       Sie daran interessiert sind, die A:nderungen am gesamten Quellbaum mit
       zu verfolgen, schlagen wir vor, die Liste svn-src-all zu abonnieren.

    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.

  Anmerkung:

            Die standard-supfile-Beispieldatei ist dafu:r vorgesehen, einen
            bestimmten Sicherheitszweig zu verfolgen und nicht
            FreeBSD-CURRENT. Sie mu:ssen diese Datei bearbeiten und die
            folgende Zeile:

 *default release=cvs tag=RELENG_X_Y

            durch diese ersetzen:

 *default release=cvs tag=.

            Lesen Sie den Abschnitt u:ber CVS Tags im Handbuch, um eine
            genaue Beschreibung von verwendbaren Tags zu erhalten.

         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.

  25.5.2. FreeBSD-STABLE

    25.5.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.

    25.5.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.

    25.5.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.

       Abonnieren Sie die passende SVN-Liste fu:r den jeweiligen Branch, den
       Sie verfolgen. Wenn Sie beispielsweise den Zweig 7-STABLE verfolgen,
       lesen Sie die svn-src-stable-7. Dort 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. Wenn Sie daran interessiert sind, A:nderungen am gesamten
       Quellbaum zu verfolgen, dann empfehlen wir, dass Sie svn-src-all
       abonnieren.

    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.

25.6. 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.

25.7. 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.

  25.7.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.

   Bei den hier dargestellten Aktualisierungsschritten wird davon
   ausgegangen, dass Sie momentan eine alte FreeBSD-Version verwenden, die
   aus einem alten Compiler, Kernel, sowie einem alten Basissystem und
   veralteten Konfigurationsdateien besteht. Mit "Basissystem" sind hier die
   zentralen Bina:rdateien, Bibliotheken und Entwicklerdateien gemeint. Der
   Compiler ist Teil des "Basissystems", beinhaltet aber ein paar
   Besonderheiten.

   Es wird ausserdem davon ausgegangen, dass Sie bereits die Quellen fu:r ein
   neues System bezogen haben. Falls die Quellen in dem vorliegenden System
   zu alt sind, lesen Sie Abschnitt 25.6, "Synchronisation der Quellen", um
   detaillierte Hilfe u:ber die Aktualisierung der Quellen zu erhalten.

   Die Aktualisierung des Systems aus den Quellen ist ein wenig
   ausgetu:ftelter als es zuna:chst den Anschein hat. Die Entwickler von
   FreeBSD haben es u:ber die Jahre fu:r No:tig befunden, den vorgeschlagenen
   Ablauf ziemlich stark zu vera:ndern, da neue Arten von unvermeidlichen
   Abha:ngigkeiten mit der Zeit ans Licht kamen. Der u:brige Teil dieses
   Abschnitts beschreibt die U:berlegungen hinter der aktuell empfohlenen
   Aktualisierungsreihenfolge.

   Jede erfolgreiche Aktualisierung muss sich mit den folgenden Sachverhalten
   auseinandersetzen:

     * Der alte Compiler ist mo:glicherweise nicht in der Lage, den neuen
       Kernel zu u:bersetzen (alte Compiler besitzen manchmal Fehler).
       Deshalb sollte der neue Kernel mit dem neuen Compiler u:bersetzt
       werden. Ganz besonders muss darauf geachtet werden, dass der neue
       Compiler vor dem neuen Kernel gebaut wird. Das bedeutet nicht
       unbedingt, dass der neue Compiler auch installiert werden muss, bevor
       der neue Kernel gebaut wird.

     * Das neue Basissystem beno:tigt eventuell neue Eigenschaften des
       Kernels. Also muss der neue Kernel installiert sein, bevor das neue
       Basissystem installiert wird.

   Diese ersten beiden Sachverhalte sind die Grundlage fu:r die zentrale
   Sequenz von buildworld, buildkernel, installkernel und installworld, die
   in den folgenden Abschnitten beschrieben wird. Dies ist keine
   vollsta:ndige Liste all der Gru:nde, warum Sie den aktuell empfohlenen
   Prozess der Aktualisierung bevorzugen sollten. Ein paar der weniger
   naheliegenden Gru:nde sind im folgenden aufgeza:hlt:

     * Das alte Basissystem wird mo:glicherweise nicht korrekt mit dem neuen
       Kernel funktionieren, weshalb Sie das neue Basissystem sofort nach der
       Installation des neuen Kernels installieren mu:ssen.

     * Manche A:nderungen an der Konfiguration mu:ssen erledigt worden sein,
       bevor das neue Basissystem installiert wird, jedoch ko:nnen andere die
       Funktionalita:t des alten Basissystems beeintra:chtigen. Aus diesem
       Grund sind zwei verschiedene Schritte notwendig, um eine
       Aktualisierung der Konfiguration durchzufu:hren.

     * Der Aktualisierungsprozess ersetzt zum Grossteil Dateien oder fu:gt
       neue hinzu, bestehende Dateien werden nicht gelo:scht. In wenigen
       Ausnahmefa:llen kann dies Probleme verursachen. Aus diesem Grund wird
       der Aktualisierungsprozess manchmal bestimmte Dateien zum manuellen
       Lo:schen vorschlagen. Dies wird eventuell in der Zukunft automatisch
       durchgefu:hrt.

   Diese Bedenken haben zu der folgenden Reihenfolge gefu:hrt. Beachten Sie,
   dass der genaue Ablauf fu:r bestimmte Aktualisierungen zusa:tzliche
   Schritte nach sich zieht, jedoch sollte der Kernprozess davon nicht
   beeintra:chtigt werden:

    1. make buildworld

       Dieser Schritt u:bersetzt zuerst den neuen Compiler und ein paar damit
       zusammenha:ngende Werkzeuge und verwendet dann den neuen Compiler, um
       den Rest des Basissystems zu erstellen. Das Ergebnis landet dann in
       /usr/obj.

    2. make buildkernel

       Statt dem alten Ansatz, config(8) und make(1) zu verwenden, nutzt
       dieser den neuen Compiler, der in /usr/obj abgelegt ist. Das schu:tzt
       Sie vor falschen Compiler-Kernel-Kombinationen.

    3. make installkernel

       Platziert den neuen Kernel und Kernelmodule auf der Platte, was es
       erlaubt, mit dem frisch aktualisierten Kernel zu starten.

    4. Starten Sie das System neu in den Single-User-Modus.

       Der Single-User-Modus minimiert Probleme mit der Aktualisierung von
       Programmen, die bereits gestartet sind. Ebenso minimiert es Probleme,
       die mit der Verwendung des alten Basissystems und des neuen Kernels zu
       tun haben ko:nnten.

    5. mergemaster -p

       Dieser Schritt aktualisiert ein paar initiale Konfigurationsdateien
       als Vorbereitung fu:r das neue Basissystem. Beispielsweise fu:gt es
       neue Benutzergruppen zum System oder neue Benutzernamen in die
       Passwortdatenbank hinzu. Dies wird oftmals beno:tigt, wenn neue
       Gruppen oder bestimmte Systembenutzerkonten seit der letzten
       Aktualisierung hinzu gekommen sind, so dass der installworld-Schritt
       in der Lage ist, auf dem neu installierten System die Benutzer oder
       Systemgruppennamen ohne Probleme zu verwenden.

    6. make installworld

       Kopiert das Basissystem aus /usr/obj. Sie haben jetzt den neuen Kernel
       und das neue Basissystem auf der Festplatte.

    7. mergemaster

       Sie ko:nnen nun die verbleibenden Konfigurationsdateien aktualisieren,
       da Sie nun das neue Basissystem auf der Platte haben.

    8. Starten Sie das System neu.

       Ein kompletter Systemneustart ist notwendig, um den neuen Kernel und
       das neue Basissystem mit den neuen Konfigurationsdateien zu laden.

   Beachten Sie, dass wenn Sie von einem Release des gleichen FreeBSD-Zweigs
   auf ein aktuelleres Release des gleichen Zweigs, z.B. von 7.0 auf 7.1,
   aktualisieren, dann ist diese Vorgehensweise nicht unbedingt notwendig, da
   Sie nur sehr unwahrscheinlich in ungu:nstige Kombinationen zwischen
   Compiler, Kernel, Basissystem und den Konfigurationsdateien geraten
   werden. Die a:ltere Vorgehensweise von make world, gefolgt von der
   Erstellung und Installation des neuen Kernels funktioniert mo:glicherweise
   gut genug, um kleinere Aktualisierungen vorzunehmen.

   Wenn Sie allerdings zwischen Hauptversionen aktualisieren wollen und
   befolgen diese Schritte nicht, sollten Sie sich auf Probleme gefasst
   machen.

   Es ist auch wichtig zu wissen, dass viele Aktualisierungen, z.B. von 4.X
   auf 5.0, viele spezielle und zusa:tzliche Schritte beno:tigt, wie
   beispielsweise das umbennen oder lo:schen von speziellen Dateien vor
   installworld. Lesen Sie die Datei /usr/src/UPDATING gru:ndlich, besonders
   am Ende, wo die aktuell vorgeschlagene Aktualisierungssequenz explizit
   aufgelistet ist.

   Diese Prozedur hat sich mit der Zeit weiterentwickelt, da die Entwickler
   es fu:r unmo:glich erachtet haben, bestimmte Arten von
   Kombinationsproblemen vollsta:ndig auszuschliessen. Hoffentlich wird die
   aktuelle Aktualisierungsprozedur fu:r lange Zeit stabil bleiben.

   Als Zusammenfassung ist hier nochmal die aktuell vorgeschlagene
   Vorgehensweise fu:r die Aktualisierung von FreeBSD aus den Quellen
   aufgelistet:

 # cd /usr/src
 # make buildworld
 # make buildkernel
 # make installkernel
 # shutdown -r now

  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:

 # mount -u /
 # mount -a -t ufs
 # adjkerntz -i
 # mergemaster -p
 # cd /usr/src
 # 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.

  25.7.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.

  25.7.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.

  25.7.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.

  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.

  25.7.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 falsche 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.

  25.7.6. Entfernen Sie /usr/obj

   Die neu gebauten 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 *

  25.7.7. U:bersetzen der Quellen des Basissystems

    25.7.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.

    25.7.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 separate 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.

    25.7.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.

  25.7.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.

  25.7.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 25.7.5, "Wechseln Sie in den Single-User-Modus".

  25.7.10. Installation des Systems

   Nun ko:nnen Sie das neue System mit installworld installieren. Rufen Sie
   dazu das folgende Kommando auf:

 # cd /usr/src
 # make installworld

  Anmerkung:

   Wenn Sie mit dem make buildworld Kommando Variablen verwendet 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.

  25.7.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.

    25.7.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.

    25.7.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"`

  25.7.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

  25.7.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

  25.7.14. Fragen

   25.7.14.1. Muss ich wirklich immer alles neu bauen, wenn sich etwas
   gea:ndert hat?

   25.7.14.2. Der Bau bricht mit vielen Signal 11-Fehlern (oder anderen
   Signalnummern) ab. Was ist da passiert?

   25.7.14.3. Kann ich /usr/obj lo:schen, wenn ich fertig bin?

   25.7.14.4. Kann ein abgebrochener Bau weitergefu:hrt werden?

   25.7.14.5. Wie kann ich den Bauprozess beschleunigen?

   25.7.14.6. Was mache ich, wenn etwas nicht funktioniert?

   25.7.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.                                       
   25.7.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 Compiler 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.                                                     
   25.7.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 2 GB, 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.                                        
   25.7.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.                                                     
   25.7.14.5. Wie kann ich den Bauprozess 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 Compiler      
                  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            
                  Mehrprozessorsystem 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.                               
   25.7.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.           

25.8. Veraltete Dateien, Verzeichnisse und Bibliotheken lo:schen

   Basiert auf Notizen von Anton Shterenlikht.

   Aufgrund der sta:ndigen Weiterentwicklung von FreeBSD kann es dazu kommen,
   dass Dateien (und deren Inhalte) obsolet werden, weil deren
   Funktionalita:t entweder in anderen Dateien implementiert wurde, sich die
   Versionsnummer der Bibliothek gea:ndert hat oder deren Funktion nicht mehr
   beno:tigt wird. Dies kann sowohl Dateien und Verzeichnis, aber auch
   Bibliotheken betreffen. Diese veralteten Dateien sollten daher entfernt
   werden, bevor Sie Ihr System aktualisieren. Der Vorteil fu:r den Benutzer
   ist darin zu sehen, dass dessen System (sowie dessen Backup) von nicht
   mehr beno:tigten Dateien gereinigt wird. Falls die obsolete Bibliothek
   Sicherheits- oder Stabilita:tsprobleme aufweist, sollte das System
   ebenfalls aktualisiert werden, um Ihr System sicher zu halten und/oder
   durch die fehlerhafte Bibliothek verursachte Systemabstu:rze zu vermeiden.
   Veraltete Dateien, Verzeichnisse und Bibliotheken sind in der Datei
   /usr/src/ObsoleteFiles.inc aufgelistet. Die folgenden Anweisungen sollen
   Ihnen dabei helfen, diese Dateien wa:hrend der Systemaktualisierung zu
   entfernen.

   Im Folgenden wird angenommen, dass Sie den Anweisungen von
   Abschnitt 25.7.1, "Richtig aktualisieren" folgen. Nachdem Sie make
   installworld sowie mergemaster erfolgreich ausgefu:hrt haben, sollten Sie
   Ihr System auf veraltete Dateien und Bibliotheken hin u:berpru:fen:

 # cd /usr/src
 # make check-old

   Werden dabei veraltete Dateien gefunden, ko:nnen diese im na:chsten
   Schritt entfernt werden:

 # make delete-old

  Tipp:

   Weitere interessante Targets finden sich in der Datei /usr/src/Makefile.

   Bei jeder Datei wird nachgefragt, ob Sie diese wirklich lo:schen wollen.
   Es ist aber auch mo:glich, alle Dateien automatisch lo:schen zu lassen.
   Dies erreichen Sie, indem Sie die Umgebungsvariable BATCH_DELETE_OLD_FILES
   entsprechend setzen:

 # make -DBATCH_DELETE_OLD_FILES delete-old

   Alternativ ko:nnen Sie auch den folgenden Befehl einsetzen (und jeweils
   die Antwort yes an die einzelnen Abfragen weiterreichen):

 # yes | make delete-old

  Warnung:

   Das Lo:schen veralteter Dateien kann dazu fu:hren, dass Programme, die auf
   diese Dateien angewiesen sind, nicht mehr funktionieren. Dies gilt
   insbesondere fu:r veraltete Bibliotheken. In den meisten Fa:llen ist es
   dann notwendig, Programme, Ports und Bibliotheken, welche die veraltete
   Bibliothek verwenden, neu zu bauen, bevor Sie den Befehl make
   delete-old-libs ausfu:hren.

   Die Ports-Sammlung entha:lt Werkzeuge, die Ihnen beim Pru:fen von
   Bibliothek-Abha:ngigkeiten helfen ko:nnen: sysutils/libchk sowie
   sysutils/bsdadminscripts.

   Veraltete Bibliotheken ko:nnen zu Konflikten mit neueren Bibliotheken
   fu:hren und beispielsweise folgende Meldungen verursachen:

 /usr/bin/ld: warning: libz.so.4, needed by /usr/local/lib/libtiff.so, may conflict with libz.so.5
 /usr/bin/ld: warning: librpcsvc.so.4, needed by /usr/local/lib/libXext.so, may conflict with librpcsvc.so.5

   Um diese Probleme zu lo:sen, mu:ssen Sie zuerst herausfinden, welcher Port
   die Bibliothek installiert hat:

 # pkg_info -W  /usr/local/lib/libtiff.so
 /usr/local/lib/libtiff.so was installed by package tiff-3.9.4
 # pkg_info -W /usr/local/lib/libXext.so
 /usr/local/lib/libXext.so was installed by package libXext-1.1.1,1

   Danach deinstallieren Sie den Port und bauen ihn neu, um ihn danach erneut
   zu installieren. Dieser Vorgang kann durch den Einsatz der Werkzeuge
   ports-mgmt/portmaster oder ports-mgmt/portupgrade automatisiert werden.
   Nachdem Sie alle Ports erfolgreich neu gebaut haben (und Sie daher keine
   veralteten Bibliotheken mehr verwenden) ko:nnen Sie die veralteten
   Bibliotheken endgu:ltig entfernen:

 # make delete-old-libs

25.9. 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.

  25.9.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 und /etc/src.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.

  25.9.2. Installation des Basissystems

   Nach diesen Vorbereitungen ko:nnen Sie mit dem Bau beginnen. Bauen Sie auf
   dem Bau-Master, wie in Abschnitt 25.7.7.2, "U:bersetzen des Basissystems"
   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.

  25.9.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.

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

   [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.

Kapitel 26. DTrace

   Written by Tom Rhodes.
   U:bersetzt von Benedict Reuschling und Christoph Sold.
   Inhaltsverzeichnis

   26.1. U:berblick

   26.2. Unterschiede in der Implementierung

   26.3. Die DTrace Unterstu:tzung aktivieren

   26.4. DTrace verwenden

   26.5. Die Sprache D

26.1. U:berblick

   DTrace, auch bekannt als Dynamic Tracing, wurde von Sun(TM) 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(TM) DTrace Implementierung und
       derjenigen, die FreeBSD bereitstellt.

     * Wie man DTrace auf FreeBSD aktiviert und verwendet.

   Bevor Sie dieses Kapitel lesen, sollten Sie:

     * UNIX(R) und FreeBSD Grundlagen verstehen (Kapitel 4, Grundlagen des
       UNIX Betriebssystems).

     * Einen Kernel konfigurieren und kompilieren ko:nnen (Kapitel 9,
       Konfiguration des FreeBSD-Kernels).

     * Vertraut sein mit Sicherheitsaspekten und wie diese FreeBSD betreffen
       (Kapitel 15, Sicherheit).

     * Verstehen, wie man den Quellcode von FreeBSD beziehen und das
       Betriebssystem neu erstellen kann (Kapitel 25, FreeBSD aktualisieren).

  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.

26.2. Unterschiede in der Implementierung

   Obwohl DTrace in FreeBSD sehr a:hnlich zu dem in Solaris(TM) 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(TM),
   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(TM)-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(TM) 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
   Sun(TM)s 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.

26.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.

26.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(TM)-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.

26.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(TM) 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.

                               Teil 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

   27. Serielle Datenu:bertragung

                27.1. U:bersicht

                27.2. Einfu:hrung

                27.3. Terminals

                27.4. Einwa:hlverbindungen

                27.5. Verbindungen nach Aussen

                27.6. Einrichten der seriellen Konsole

   28. PPP und SLIP

                28.1. U:bersicht

                28.2. User-PPP

                28.3. Kernel-PPP

                28.4. Probleme bei PPP-Verbindungen

                28.5. PPP over Ethernet (PPPoE)

                28.6. PPP over ATM (PPPoA)

                28.7. SLIP

   29. Elektronische Post (E-Mail)

                29.1. Terminologie

                29.2. U:bersicht

                29.3. Elektronische Post benutzen

                29.4. sendmail-Konfiguration

                29.5. Wechseln des Mailu:bertragungs-Agenten

                29.6. Fehlerbehebung

                29.7. Weiterfu:hrende Themen

                29.8. SMTP u:ber UUCP

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

                29.10. E-Mail u:ber Einwahl-Verbindungen

                29.11. SMTP-Authentifizierung

                29.12. E-Mail-Programme

                29.13. E-Mails mit fetchmail abholen

                29.14. E-Mails mit procmail filtern

   30. Netzwerkserver

                30.1. U:bersicht

                30.2. Der inetd "Super-Server"

                30.3. NFS - Network File System

                30.4. NIS/YP - Network Information Service

                30.5. Automatische Netzwerkkonfiguration mit DHCP

                30.6. DNS - Domain Name Service

                30.7. Der Apache HTTP-Server

                30.8. FTP - File Transfer Protocol

                30.9. Mit Samba einen Datei- und Druckserver fu:r
                Microsoft(R) Windows(R)-Clients einrichten

                30.10. Die Uhrzeit mit NTP synchronisieren

                30.11. Protokollierung von anderen Hosts mittels syslogd

   31. Firewalls

                31.1. Einfu:hrung

                31.2. Firewallkonzepte

                31.3. Firewallpakete

                31.4. Paket Filter (PF) von OpenBSD und ALTQ

                31.5. Die IPFILTER-Firewall (IPF)

                31.6. IPFW

   32. Weiterfu:hrende Netzwerkthemen

                32.1. U:bersicht

                32.2. Gateways und Routen

                32.3. Drahtlose Netzwerke

                32.4. Bluetooth

                32.5. LAN-Kopplung mit einer Bridge

                32.6. Link-Aggregation und Failover

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

                32.8. ISDN - diensteintegrierendes digitales Netzwerk

                32.9. NAT - Network Address Translation

                32.10. PLIP - Parallel Line IP

                32.11. IPv6 - Internet Protocol Version 6

                32.12. ATM - Asynchronous Transfer Mode

                32.13. CARP - Common Address Redundancy Protocol

Kapitel 27. Serielle Datenu:bertragung

   U:bersetzt von Martin Heinen.
   Inhaltsverzeichnis

   27.1. U:bersicht

   27.2. Einfu:hrung

   27.3. Terminals

   27.4. Einwa:hlverbindungen

   27.5. Verbindungen nach Aussen

   27.6. Einrichten der seriellen Konsole

27.1. U:bersicht

   UNIX(R) Systeme unterstu:tzten schon immer die serielle Datenu:bertragung.
   Tatsa:chlich wurden Ein- und Ausgaben auf den ersten UNIX(R) 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 9,
       Konfiguration des FreeBSD-Kernels).

     * Das Berechtigungskonzept von UNIX(R) und Prozesse verstehen
       (Kapitel 4, Grundlagen des UNIX Betriebssystems).

     * Zudem sollten Sie Zugriff auf die Handbu:cher der seriellen
       Komponenten (Modem oder Multiportkarte) haben, die Sie mit FreeBSD
       verwenden wollen.

27.2. Einfu:hrung

  Warnung:

   Mit FreeBSD 8.0 wurden die Gera:tedateien fu:r serielle Ports von
   /dev/ttydN in /dev/ttyuN umbenannt. Setzen Sie noch FreeBSD 7.X ein,
   mu:ssen Sie die Befehle in den folgenden Abschnitten entsprechend
   anpassen.

  27.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).

  27.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.

    27.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.

      27.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 27.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 27.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 27.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.

      27.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.

    27.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.

      27.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.

      27.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/ttyuN 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(R)), angeschlossen haben, sprechen Sie ihn u:ber /dev/ttyu0 an.
   Wenn er an der zweiten seriellen Schnittstelle angeschlossen ist,
   verwenden Sie /dev/ttyu1, usw.

  27.2.3. Kernelkonfiguration

   In der Voreinstellung benutzt FreeBSD vier serielle Schnittstellen, die in
   MS-DOS(R)-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.

  27.2.4. Gera:tedateien

   Die meisten Gera:te im Kernel werden durch Gera:tedateien in /dev
   angesprochen. Die sio Gera:te werden durch /dev/ttyuN fu:r eingehende
   Verbindungen und durch /dev/cuadN fu:r ausgehende Verbindungen
   angesprochen. Zum Initialisieren der Gera:te stellt FreeBSD die Dateien
   /dev/ttyuN.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/ttyuN.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.

  27.2.5. Konfiguration der seriellen Schnittstelle

   Anwendungen benutzen normalerweise die Gera:te ttyuN 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/ttyu1

   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 ttyu5 den CLOCAL Modus, 8-Bit Kommunikation und
   XON/XOFF Flusssteuerung einzuschalten, setzen Sie das folgende Kommando
   ab:

 # stty -f /dev/ttyu5.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 ttyu5
   auf 57600 bps festlegen wollen, benutzen Sie das folgende Kommando:

 # stty -f /dev/ttyld5 57600

   Eine Anwendung, die ttyu5 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.

27.3. Terminals

   Beigetragen von Sean Kelly.

  Warnung:

   Mit FreeBSD 8.0 wurden die Gera:tedateien fu:r serielle Ports von
   /dev/ttydN in /dev/ttyuN umbenannt. Setzen Sie noch FreeBSD 7.X ein,
   mu:ssen Sie die Befehle in den folgenden Abschnitten entsprechend
   anpassen.

   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.

  27.3.1. Terminaltypen

   Das urspru:ngliche UNIX(R) 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(R) 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(R)
   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.

    27.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.

    27.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(R)-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.

    27.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.

  27.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 13, FreeBSDs Bootvorgang 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.

    27.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: ttyu0 bis ttyu3. Wenn Sie an eine von diesen
   einen Terminal anschliessen, brauchen Sie keinen weiteren Eintrag
   hinzuzufu:gen.

   Beispiel 27.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:

 ttyu11  "/usr/libexec/getty std.38400"2  wy503  on4  insecure5
 ttyu5   "/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.                                                          

    27.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.

  27.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:

    27.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 ttyu1

   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.

    27.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.

    27.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.

27.4. Einwa:hlverbindungen

   Beigetragen von Guy Helmer.
   Mit Anmerkungen von Sean Kelly.

  Warnung:

   Mit FreeBSD 8.0 wurden die Gera:tedateien fu:r serielle Ports von
   /dev/ttydN in /dev/ttyuN umbenannt. Setzen Sie noch FreeBSD 7.X ein,
   mu:ssen Sie die Befehle in den folgenden Abschnitten entsprechend
   anpassen.

   Das Einrichten von Einwa:hlverbindungen a:hnelt dem Anschliessen von
   Terminals, nur dass Sie anstelle eines Terminals ein Modem verwenden.

  27.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.

    27.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 27.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(R) 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.

  27.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.

  27.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/ttyu0 angeschlossen ist, sollte in der
   Ausgabe von ps ax eine Zeile wie die folgende erscheinen:

  4850 ??  I      0:00.09 /usr/libexec/getty V19200 ttyu0

   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.

  27.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(R) 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.

    27.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.

      27.4.4.1.1. Konfiguration fu:r feste Geschwindigkeit

   Wenn Sie die Modemgeschwindigkeit vorgeben, werden Sie in /etc/gettytab
   nichts a:ndern mu:ssen.

      27.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".

    27.4.4.2. /etc/ttys

   /etc/ttys wurde bereits in Beispiel 27.1, "Eintra:ge in /etc/ttys
   hinzufu:gen" 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:

 ttyu0   "/usr/libexec/getty xxx"   dialup on

   Das erste Feld der obigen Zeile gibt die Gera:tedatei fu:r diesen Eintrag
   an - ttyu0 bedeutet, dass getty mit /dev/ttyu0 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.

      27.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:

 ttyu0   "/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.

      27.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:

 ttyu0   "/usr/libexec/getty V19200"   dialup on

    27.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/ttyu1.init crtscts
 stty -f /dev/cuad1.init crtscts

  27.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(R)
   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(R) Sportster(R) 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.

    27.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(R) Sportster(R)
   Modem setzen die folgenden Kommandos die Geschwindigkeit auf den Wert der
   Datenendeinrichtung fest:

 ATZ
 AT&B1&W

    27.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(R) Sportster(R) 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.

    27.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(R) Sportster(R) 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.

  27.4.6. Fehlersuche

   Bei Problemen ko:nnen Sie die Einwa:hlverbindung anhand der folgenden
   Punkte u:berpru:fen:

    27.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 ttyu0
   115 ??  I      0:00.10 /usr/libexec/getty V19200 ttyu1

   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 ttyu0

   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 ttyuN 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/ttyuN vorhanden sind.

    27.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(R)
   Sportster(R)).

   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.

27.5. Verbindungen nach Aussen

  Warnung:

   Mit FreeBSD 8.0 wurden die Gera:tedateien fu:r serielle Ports von
   /dev/ttydN in /dev/ttyuN umbenannt. Setzen Sie noch FreeBSD 7.X ein,
   mu:ssen Sie die Befehle in den folgenden Abschnitten entsprechend
   anpassen.

   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.

  27.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.

  27.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 ~..

  27.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=\@

  27.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

  27.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.

  27.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.

  27.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.

  27.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

  27.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.

  27.5.10. Wie kann ich Dateien mit tip u:bertragen?

   Wenn Sie mit einem anderen UNIX(R) 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.

  27.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.

27.6. Einrichten der seriellen Konsole

   Beigesteuert von Kazutaka YOKOTA.
   Auf Grundlage eines Dokuments von Bill Paul.

  Warnung:

   Mit FreeBSD 8.0 wurden die Gera:tedateien fu:r serielle Ports von
   /dev/ttydN in /dev/ttyuN umbenannt. Setzen Sie noch FreeBSD 7.X ein,
   mu:ssen Sie die Befehle in den folgenden Abschnitten entsprechend
   anpassen.

  27.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 13, FreeBSDs Bootvorgang 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.

  27.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 ttyu0 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 27.6.3, "Konfiguration der Konsole" lesen.

  27.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 27.2.2, "Kabel
       und Schnittstellen" 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(R) Maus und die
       Tastatur einige Hardwarekomponenten teilen, kann das dazu fu:hren,
       dass die Hardwareerkennung fa:lschlicherweise eine Tastatur findet,
       wenn eine PS/2(R) 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(R) 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 27.6.6, "Die Konsole
   im Bootloader a:ndern" beschrieben, die entsprechenden Variablen des
   Bootloaders.

  27.6.4. Zusammenfassung

   Die folgende U:bersicht zeigt, welche Konsole, abha:ngig von den
   getroffenen Einstellungen, ausgewa:hlt wird.

    27.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       

    27.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       

  27.6.5. Hinweise zur seriellen Konsole

    27.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 27.6.5.2, "Eine andere Schnittstelle als sio0
       benutzen" 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"

    27.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 25, FreeBSD
       aktualisieren).

    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.

    27.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

    27.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:

 ttyu0 "/usr/libexec/getty std.9600" unknown off secure
 ttyu1 "/usr/libexec/getty std.9600" unknown off secure
 ttyu2 "/usr/libexec/getty std.9600" unknown off secure
 ttyu3 "/usr/libexec/getty std.9600" unknown off secure

   ttyu0 bis ttyu3 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.

  27.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.

    27.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:

 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:

 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.

    27.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 27.6.5.2, "Eine andere Schnittstelle als sio0 benutzen".

  27.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 28. PPP und SLIP

   Restrukturiert, neu organisiert und aktualisiert von Jim Mock.
   U:bersetzt von Thomas Schwarzkopf.
   Inhaltsverzeichnis

   28.1. U:bersicht

   28.2. User-PPP

   28.3. Kernel-PPP

   28.4. Probleme bei PPP-Verbindungen

   28.5. PPP over Ethernet (PPPoE)

   28.6. PPP over ATM (PPPoA)

   28.7. SLIP

28.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 (nur fu:r FreeBSD 7.X relevant).

     * 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
       ((nur fu:r FreeBSD 7.X relevant)

   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 (nur unter
   FreeBSD 7.X), notwendig wird. Soweit nichts anderes angegeben ist, sollten
   alle Befehle, die in diesem Kapitel erkla:rt werden, als root ausgefu:hrt
   werden.

28.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.

  Warnung:

   Mit FreeBSD 8.0 wurden die Gera:tedateien fu:r serielle Ports umbenannt:
   /dev/cuadN wurde zu /dev/cuauN, /dev/ttydN zu /dev/ttyuN. Verwenden Sie
   noch FreeBSD 7.X, mu:ssen Sie dies beim Lesen der folgenden Abschnitte
   beru:cksichtigen.

  28.2.1. User-PPP

    28.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(R)-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.

    28.2.1.2. Automatische Konfiguration von PPP

   Sowohl ppp als auch pppd (die PPP-Implementierung auf Kernelebene, nur
   unter FreeBSD 7.X) 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.

      28.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/cuau0
 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/.

      28.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 0.0.0.0

   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.

      28.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"

      28.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. Sie ko:nnen
   dieses Paket u:ber den Port comms/mgetty+sendfax installieren.

   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.

      28.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.

      28.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.

      28.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).

      28.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

 ttyu0:
   set ifaddr 203.14.100.1 203.14.100.20 255.255.255.255
   enable proxy

 ttyu1:
   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 ttyu0: gezeigt. Jede Verbindung sollte eine
   eigene IP-Adresse aus dem Pool der Adressen bekommen, die sie fu:r diese
   Benutzergruppe reserviert haben.

      28.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

      28.2.1.2.10. mgetty und AutoPPP

   In der Voreinstellung wird mgetty mit der Option AUTO_PPP konfiguriert und
   kompiliert. Dadurch 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 den Port
   comms/mgetty+sendfax auf seinem System 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.

      28.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.

      28.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.

      28.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.

    28.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

    28.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).

    28.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.

28.3. Kernel-PPP

   Teile wurden urspru:nglich beigetragen von Gennady B. Sorokopud und Robert
   Huff.

  Warnung:

   Der folgende Abschnitt ist ausschliesslich fu:r FreeBSD 7.X relevant und
   gu:ltig.

  28.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.

  28.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

  28.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:

28.4. Probleme bei PPP-Verbindungen

   Beigetragen von Tom Rhodes.

  Warnung:

   Mit FreeBSD 8.0 wurde der sio(4)-Treiber durch den Treiber uart(4)
   ersetzt. Parallel dazu wurden auch die entsprechenden Gera:tedateien fu:r
   die seriellen Ports umbenannt: /dev/cuadN wurde zu /dev/cuauN, /dev/ttydN
   zu /dev/ttyuN. Verwenden Sie noch FreeBSD 7.X, mu:ssen Sie dies beim Lesen
   der folgenden Abschnitte beru:cksichtigen.

   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.

  28.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   uart

   Das uart-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 uart

   In der Ausgabe sollten die entsprechenden uart-Gera:te, beispielsweise
   uart1 (COM2), angezeigt werden. Wird ein passendes Gera:t angezeigt,
   brauchen Sie keinen neuen Kernel zu erstellen. Wenn Ihr Modem an uart1
   angeschlossen ist (in DOS ist dieser Anschluss als COM2 bekannt), ist
   /dev/cuau1 die dazugeho:rende Gera:tedatei.

  28.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/cuau1

   Wir geben das Device an, an das unser Modem angeschlossen ist. In diesem
   Fall ist es cuau1.

 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/cuau1
 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.

    28.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.

28.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.

  28.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.

  28.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

  28.5.3. ppp ausfu:hren

   Als root, geben Sie ein:

 # ppp -ddial name_of_service_provider

  28.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"

  28.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:

     * Cheaper Broadband with FreeBSD on DSL von Renaud Waldura.

  28.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(R) HomeConnect(R) ADSL Modem zu kommunizieren.

28.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.

  28.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.

  28.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(TM) 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(TM) 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.

  28.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(TM) 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.

28.7. SLIP

   Urspru:nglich beigetragen von Satoshi Asami.
   Mit Beitra:gen von Guy Helmer und Piero Serini.

  Warnung:

   Der folgende Abschnitt ist ausschliesslich fu:r FreeBSD 7.X relevant und
   gu:ltig.

  28.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/cuau0 ist COM1, /dev/cuau1 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.

    28.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.

    28.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.

    28.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.

    28.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.

  28.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.

    28.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 27.4, "Einwa:hlverbindungen",
   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).

    28.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.

      28.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.

    28.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 9, Konfiguration des FreeBSD-Kernels dieses Handbuches.

    28.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.

      28.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 28.7.2.1, "Voraussetzungen") 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.

      28.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.

      28.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).

    28.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.

      28.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 29. Elektronische Post (E-Mail)

   Urspru:glicher Text von Bill Lloyd.
   Neugeschrieben von Jim Mock.
   U:bersetzt von Robert Drehmel.
   Inhaltsverzeichnis

   29.1. Terminologie

   29.2. U:bersicht

   29.3. Elektronische Post benutzen

   29.4. sendmail-Konfiguration

   29.5. Wechseln des Mailu:bertragungs-Agenten

   29.6. Fehlerbehebung

   29.7. Weiterfu:hrende Themen

   29.8. SMTP u:ber UUCP

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

   29.10. E-Mail u:ber Einwahl-Verbindungen

   29.11. SMTP-Authentifizierung

   29.12. E-Mail-Programme

   29.13. E-Mails mit fetchmail abholen

   29.14. E-Mails mit procmail filtern

29.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.

29.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, Bibliografie 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 32,
       Weiterfu:hrende Netzwerkthemen).

     * Die DNS-Information fu:r Ihren E-Mail-Server einstellen (Kapitel 30,
       Netzwerkserver).

     * Wissen, wie man zusa:tzliche Dritthersteller-Software installiert
       (Kapitel 5, Installieren von Anwendungen: Pakete und Ports).

29.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.

  29.3.1. Das Benutzerprogramm

   Das beinhaltet Kommandozeilenprogramme wie mutt, alpine, 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.

  29.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.

  29.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

  29.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.

    29.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

          * dovecot

    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 die Sitzung
   mittels ssh(1) tunneln oder SSL verwenden. Tunneln von Sitzungen wird in
   Abschnitt 15.10.8, "SSH-Tunnel" beschrieben und SSL wird in
   Abschnitt 15.8, "OpenSSL" dargestellt.

    29.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).

  29.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.

29.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        

  29.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 29.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.

  29.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 29.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.

  29.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.

  29.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.

  29.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 29.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.

29.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.

  29.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.

  29.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).

  29.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.

  29.5.4. Ersetzen von sendmail als Standard-Mailer des Systems

   Das Programm sendmail ist so allgegenwa:rtig als Standard-Software auf
   UNIX(R) 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

  29.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.

29.6. Fehlerbehebung

   Hier finden sich ein paar ha:ufig gestellte Fragen und ihre Antworten, die
   von der FAQ u:bernommen wurden.

   29.6.1. Warum muss ich einen FQDN (fully-qualified domain name/ voll
   ausgeschriebenen Doma:nennamen) fu:r meine Rechner verwenden?

   29.6.2. Warum meldet Sendmail mail loops back to myself?

   29.6.3. Wie kann ich einen E-Mail-Server auf einem Anwahl-PPP Rechner
   betreiben?

   29.6.4. Warum bekomme ich die Fehlermeldung Relaying Denied, wenn ich
   E-Mails von anderen Rechnern verschicke?

29.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.                     
29.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.  
29.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".                                              
29.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.                 

29.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.

  29.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.

  29.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.

29.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

29.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.

29.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.

29.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.

29.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, alpine oder mail, oder auch
   Programmen mit Web-Schnittstellen, die von einigen grossen Institutionen
   benutzt werden.

  29.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 29.13, "E-Mails mit fetchmail abholen").

   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.

  29.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.

  29.12.3. alpine

   alpine wendet sich an Anfa:nger bietet aber ebenfalls einige Funktionen
   fu:r Profis.

  Warnung:

   In der Vergangenheit wurden in alpine 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 alpine ein sehr riskanter Programmierstil verwendet, sodass
   der FreeBSD-Security-Officer von weiteren unbekannten Schwachstellen
   ausgeht. Sie installieren alpine auf eigene Verantwortung!

   Der Port mail/alpine entha:lt die aktuelle Version von alpine. Nach der
   Installation ko:nnen Sie alpine mit dem nachstehenden Kommando starten:

 % alpine

   Wenn Sie alpine das erste Mal starten, zeigt das Programm eine Seite mit
   einer kurzen Einfu:hrung an. Um die alpine-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/.

29.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/.

29.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}
 }

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

   [18] Mailbox = Post- beziehungsweise Briefkasten

Kapitel 30. Netzwerkserver

   U:berarbeitet von Murray Stokely.
   U:bersetzt von Johann Kois.
   Inhaltsverzeichnis

   30.1. U:bersicht

   30.2. Der inetd "Super-Server"

   30.3. NFS - Network File System

   30.4. NIS/YP - Network Information Service

   30.5. Automatische Netzwerkkonfiguration mit DHCP

   30.6. DNS - Domain Name Service

   30.7. Der Apache HTTP-Server

   30.8. FTP - File Transfer Protocol

   30.9. Mit Samba einen Datei- und Druckserver fu:r
   Microsoft(R) Windows(R)-Clients einrichten

   30.10. Die Uhrzeit mit NTP synchronisieren

   30.11. Protokollierung von anderen Hosts mittels syslogd

30.1. U:bersicht

   Dieses Kapitel beschreibt einige der ha:ufiger verwendeten Netzwerkdienste
   auf UNIX(R)-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(R)-Clients
       konfigurieren ko:nnen.

     * Unter Nutzung des NTP-Protokolls Datum und Uhrzeit synchronisieren
       sowie einen Zeitserver installieren ko:nnen.

     * Wissen, wie man den Standard-Protokollierungsdienst, syslogd,
       konfiguriert, um Protokolle von anderen Hosts zu akzeptieren.

   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 5, Installieren von Anwendungen: Pakete und
       Ports).

30.2. Der inetd "Super-Server"

   Beigetragen von Chern Lee.
   Aktualisiert vom FreeBSD Documentation Project.

  30.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.

  30.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.

  30.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.

  30.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 30.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, wie viele 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.

  30.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.

  30.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).

30.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.

  30.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).

  30.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 12.7, "Das rc-System fu:r Systemdienste" 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).

  30.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).

  30.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.

  30.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 30.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).

  30.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.

30.4. NIS/YP - Network Information Service

   Beigetragen von Bill Swingle.
   Erweitert von Eric Ogren und Udo Erdelhoff.

  30.4.1. Was ist NIS?

   NIS wurde von Sun Microsystems entwickelt, um UNIX(R)-Systeme
   (urspru:nglich SunOS(TM)) zentral verwalten zu ko:nnen. Mittlerweile hat
   es sich zu einem Industriestandard entwickelt, der von allen wichtigen
   UNIX(R)-Systemen (Solaris(TM), 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.

  30.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 (inklusive der    
   NIS-Doma:nenname Slaveserver) haben einen NIS-Doma:nennamen. Dieser hat    
                    (a:hnlich den Windows NT(R)-Doma:nennamen) nichts mit DNS 
                    zu tun.                                                   
                    Muss laufen, damit RPC (Remote Procedure Call, ein von    
   rpcbind          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        
   ypbind           NIS-Server her. ypbind ist der 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     
   ypserv           nicht 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    
   rpc.yppasswdd    laufen sollte. Es handelt sich um einen Daemonprozess,    
                    der es NIS-Clients ermo:glicht, sich auf dem              
                    NIS-Masterserver anzumelden, um ihr Passwort zu a:ndern.  

  30.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.

    30.4.3.1. Arten von NIS-Rechnern

     * Ein NIS-Masterserver verwaltet, a:hnlich einem
       Windows NT(R)-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(R)-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(R)-Workstations), um sich am Server
       anzumelden.

  30.4.4. NIS/YP konfigurieren

   Dieser Abschnitt beschreibt an Hand eines Beispiels die Einrichtung einer
   NIS-Umgebung.

    30.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.

      30.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(TM)), 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.

      30.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.

    30.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.

      30.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.

   Nachdem Sie obige Parameter konfiguriert haben, mu:ssen Sie nur noch
   /etc/netstart als Superuser ausfu:hren, um alles entsprechend Ihren
   Vorgaben in der Datei /etc/rc.conf einzurichten. Bevor Sie die NIS-Maps
   einrichten ko:nnen, mu:ssen Sie nun noch den ypserv-Daemon manuell
   starten:

 # /etc/rc.d/ypserv start

      30.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).

      30.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 zwar nicht
   unbedingt no:tig, da der Masterserver automatisch versucht, alle
   A:nderungen seiner NIS-Maps an seine Slaveserver weiterzugeben. Da
   Passwortinformationen aber auch fu:r nur vom Slaveserver 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.

    30.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.

      30.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:

 +:*::

   Um den NIS-Client sofort zu starten, fu:hren Sie als Superuser die
   folgenden Befehle aus:

 # /etc/netstart
 # /etc/rc.d/ypbind start

   Nachdem Sie diese Schritte erledigt haben, sollten Sie mit ypcat passwd
   die passwd-Map des NIS-Servers anzeigen ko:nnen.

  30.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.

  30.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#

  30.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, pollution Ihre wichtigsten Server. Nur IT-Fachleute    
                                 du:rfen sich an diesen Rechnern anmelden.    
   pride, greed, envy, wrath,    Weniger wichtige Server. Alle Mitarbeiter    
   lust, sloth                   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 Daten. 
   trashcan                      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(TM) 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.

  30.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.

  30.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.

  30.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.

  30.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(TM) 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.

30.5. Automatische Netzwerkkonfiguration mit DHCP

   Geschrieben von Greg Sutter.

  30.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 verwendet den von
   OpenBSD 3.7 stammenden dhclient. 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.

  30.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-dhcp42-server installiert werden. Weiter
   Informationen finden Sie in dhclient(8), dhcp-options(5) sowie
   dhclient.conf(5).

  30.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).

  30.5.4. Integration in FreeBSD

   FreeBSD verwendet den DHCP-Client von OpenBSD. 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.

   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 9, Konfiguration des
       FreeBSD-Kernels 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.

     * Standardma:ssig la:uft die DHCP-Konfiguration bei FreeBSD im
       Hintergrund oder auch asynchron. Andere Startskripte laufen weiter,
       wa:hrend DHCP fertig abgearbeitet wird, was den Systemstart
       beschleunigt.

       DHCP im Hintergrund funktioniert gut, wenn der DHCP-Server schnell auf
       Anfragen antwortet und der DHCP-Konfigurationsprozess ebenso schnell
       abla:uft. Jedoch kann DHCP eine lange Zeit beno:tigen, um auf manchen
       Systemen fertig zu werden. Falls Netzwerkdienste versuchen, vor DHCP
       zum Ende zu kommen, werden diese fehlschlagen. Durch die Verwendung
       von DHCP im asynchronen-Modus wird das Problem verhindert, so dass die
       Startskripte pausiert werden, bis die DHCP-Konfiguration abgeschlossen
       ist.

       Um sich zu einem DHCP-Server im Hintergrund zu verbinden, wa:hrend
       andere Startskripte fortfahren (asynchroner Modus), benutzen Sie den
       "DHCP"-Wert in /etc/rc.conf:

 ifconfig_fxp0="DHCP"

       Um den Start zu pausieren, damit DHCP vorher abgeschlossen werden
       kann, benutzen Sie den synchronen Modus mit dem Eintrag "SYNCDHCP":

 ifconfig_fxp0="SYNCDHCP"

  Anmerkung:

       Ersetzen Sie fxp0, das in diesen Beispielen verwendet wurde, durch den
       Namen Ihrer Netzwerkschnittstelle, so wie es in Abschnitt 12.8,
       "Einrichten von Netzwerkkarten" beschrieben ist.

       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-dhcp42-server
   verfu:gbar. Dieser Port entha:lt die komplette ISC-DHCP-Distribution,
   inklusive der Dokumentation.

  30.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).

  30.5.6. Weitere Informationen

   Das DHCP-Protokoll wird vollsta:ndig im RFC 2131 beschrieben. Eine
   weitere, lehrreiche Informationsquelle existiert unter
   http://www.dhcp.org/.

  30.5.7. Einen DHCP-Server installieren und einrichten

    30.5.7.1. U:bersicht

   Dieser Abschnitt beschreibt die Einrichtung eines FreeBSD-Systems als
   DHCP-Server. Dazu wird die DHCP-Implementation von ISC (Internet Systems
   Consortium) verwendet.

   Der DHCP-Server ist nicht im Basissystem von FreeBSD enthalten, daher
   mu:ssen Sie als Erstes den Port net/isc-dhcp42-server installieren. Lesen
   Sie Kapitel 5, Installieren von Anwendungen: Pakete und Ports, wenn Sie
   weitere Informationen zur Ports-Sammlung beno:tigen.

    30.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 9,
   Konfiguration des FreeBSD-Kernels 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-dhcp42-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.

    30.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 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.

    30.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-dhcp42-relay installieren. Weitere
       Informationen zu diesem Thema finden Sie in dhcrelay(8).

30.6. DNS - Domain Name Service

   Beigetragen von Chern Lee, Tom Rhodes und Daniel Gerzo.

  30.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 Systems Consortium (https://www.isc.org/)
   verwaltet.

  30.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 (Ursprung) Die in einer bestimmten Zonendatei beschriebene Doma:ne. 
   named, BIND       Gebra:uchliche Namen fu:r das unter FreeBSD verwendete   
                     BIND-Nameserverpaket.                                    
   Resolver          Ein Systemprozess, durch den ein Rechner                 
                     Zoneninformationen von einem Nameserver anfordert.       
   Reverse-DNS       die Umwandlung von IP-Adressen in Rechnernamen           
                     Der Beginn der Internet-Zonenhierarchie. Alle Zonen      
                     befinden sich innerhalb der Root-Zone. Dies ist analog   
   Root-Zone         zu einem Dateisystem, in dem sich alle Dateien und       
                     Verzeichnisse innerhalb des Wurzelverzeichnisses         
                     befinden.                                                
   Zone              Eine individuelle Doma:ne, Unterdoma:ne, oder ein Teil   
                     von DNS, der von der gleichen Autorita:t verwaltet wird. 

   Es folgen nun einige Zonenbeispiele:

     * Innerhalb der Dokumentation wird die Root-Zone in der Regel mit .
       bezeichnet.

     * 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-Bereichs.

   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.

  30.6.3. Gru:nde fu:r die Verwendung eines Nameservers

   Es gibt zwei Arten von Nameservern: Autoritative Nameserver sowie
   zwischenspeichernde (cachende, auch bekannt als auflo:sende) 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.

  30.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.

  30.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 zur einfachen Namensauflo:sung eingerichtet, der nur im
   lokalen IPv4-Loopback-Adressbereich (127.0.0.1) lauscht. Um den Server
   manuell zu starten, verwenden Sie den folgenden Befehl:

 # /etc/rc.d/named onestart

   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 12.7, "Das rc-System fu:r Systemdienste" des
   Handbuchs.

  30.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.

    30.6.6.1. /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 {
 // All file and path names are relative to the chroot directory,
 // if any, and should be fully qualified.
     directory   "/etc/namedb/working";
         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; };

 // These zones are already covered by the empty zones listed below.
 // If you remove the related empty zones below, comment these lines out.
         disable-empty-zone "255.255.255.255.IN-ADDR.ARPA";
         disable-empty-zone "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.0.IP6.ARPA";
         disable-empty-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";

 // 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;
         };
 */

 // If the 'forwarders' clause is not empty the default is to 'forward first'
 // which will fall back to sending a query from your local server if the name
 // servers in 'forwarders' do not have the answer.  Alternatively you can
 // force your name server to never initiate queries of its own by enabling the
 // following line:
 //      forward only;

 // If you wish to have forwarding configured automatically based on
 // the entries in /etc/resolv.conf, uncomment the following line and
 // set named_auto_forward=yes in /etc/rc.conf.  You can also enable
 // named_auto_forward_only (the effect of which is described above).
 //      include "/etc/namedb/auto_forward.conf";
        

   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.

         /*
            Modern versions of BIND use a random UDP port for each outgoing
            query by default in order to dramatically reduce the possibility
            of cache poisoning.  All users are strongly encouraged to utilize
            this feature, and to configure their firewalls to accommodate it.

            AS A LAST RESORT in order to get around a restrictive firewall
            policy you can try enabling the option below.  Use of this option
            will significantly reduce your ability to withstand cache poisoning
            attacks, and should be avoided if at all possible.

            Replace NNNNN in the example with a number between 49160 and 65530.
         */
         // query-source address * port NNNNN;
 };

 // 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.

 // The traditional root hints mechanism. Use this, OR the slave zones below.
 zone "." { type hint; file "/etc/namedb/named.root"; };

 /*      Slaving the following zones from the root name servers has some
         significant advantages:
         1. Faster local resolution for your users
         2. No spurious traffic will be sent from your network to the roots
         3. Greater resilience to any potential root server failure/DDoS

         On the other hand, this method requires more monitoring than the
         hints file to be sure that an unexpected failure mode has not
         incapacitated your server.  Name servers that are serving a lot
         of clients will benefit more from this approach than individual
         hosts.  Use with caution.

         To use this mechanism, uncomment the entries below, and comment
         the hint zone above.

         As documented at http://dns.icann.org/services/axfr/ these zones:
         "." (the root), ARPA, IN-ADDR.ARPA, IP6.ARPA, and ROOT-SERVERS.NET
         are availble for AXFR from these servers on IPv4 and IPv6:
         xfr.lax.dns.icann.org, xfr.cjr.dns.icann.org
 */
 /*
 zone "." {
         type slave;
         file "/etc/namedb/slave/root.slave";
         masters {
                 192.5.5.241;    // F.ROOT-SERVERS.NET.
         };
         notify no;
 };
 zone "arpa" {
         type slave;
         file "/etc/namedb/slave/arpa.slave";
         masters {
                 192.5.5.241;    // F.ROOT-SERVERS.NET.
         };
         notify no;
 };
 */

 /*      Serving the following zones locally will prevent any queries
         for these zones leaving your network and going to the root
         name servers.  This has two significant advantages:
         1. Faster local resolution for your users
         2. No spurious traffic will be sent from your network to the roots
 */
 // RFCs 1912 and 5735 (and BCP 32 for localhost)
 zone "localhost"        { type master; file "/etc/namedb/master/localhost-forward.db"; };
 zone "127.in-addr.arpa" { type master; file "/etc/namedb/master/localhost-reverse.db"; };
 zone "255.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };

 // RFC 1912-style zone for IPv6 localhost address
 zone "0.ip6.arpa"       { type master; file "/etc/namedb/master/localhost-reverse.db"; };

 // "This" Network (RFCs 1912 and 5735)
 zone "0.in-addr.arpa"   { type master; file "/etc/namedb/master/empty.db"; };

 // Private Use Networks (RFCs 1918 and 5735)
 zone "10.in-addr.arpa"     { type master; file "/etc/namedb/master/empty.db"; };
 zone "16.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
 zone "17.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
 zone "18.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
 zone "19.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
 zone "20.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
 zone "21.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
 zone "22.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
 zone "23.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
 zone "24.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
 zone "25.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
 zone "26.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
 zone "27.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
 zone "28.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
 zone "29.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
 zone "30.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
 zone "31.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
 zone "168.192.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };

 // Link-local/APIPA (RFCs 3927 and 5735)
 zone "254.169.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };

 // IETF protocol assignments (RFCs 5735 and 5736)
 zone "0.0.192.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };

 // TEST-NET-[1-3] for Documentation (RFCs 5735 and 5737)
 zone "2.0.192.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
 zone "100.51.198.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
 zone "113.0.203.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };

 // IPv6 Range for Documentation (RFC 3849)
 zone "8.b.d.0.1.0.0.2.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };


 // Domain Names for Documentation and Testing (BCP 32)
 zone "test" { type master; file "/etc/namedb/master/empty.db"; };
 zone "example" { type master; file "/etc/namedb/master/empty.db"; };
 zone "invalid" { type master; file "/etc/namedb/master/empty.db"; };
 zone "example.com" { type master; file "/etc/namedb/master/empty.db"; };
 zone "example.net" { type master; file "/etc/namedb/master/empty.db"; };
 zone "example.org" { type master; file "/etc/namedb/master/empty.db"; };


 // Router Benchmark Testing (RFCs 2544 and 5735)
 zone "18.198.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
 zone "19.198.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };

 // IANA Reserved - Old Class E Space (RFC 5735)
 zone "240.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
 zone "241.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
 zone "242.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
 zone "243.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
 zone "244.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
 zone "245.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
 zone "246.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
 zone "247.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
 zone "248.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
 zone "249.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
 zone "250.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
 zone "251.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
 zone "252.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
 zone "253.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
 zone "254.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };

 // IPv6 Unassigned Addresses (RFC 4291)
 zone "1.ip6.arpa"       { type master; file "/etc/namedb/master/empty.db"; };
 zone "3.ip6.arpa"       { type master; file "/etc/namedb/master/empty.db"; };
 zone "4.ip6.arpa"       { type master; file "/etc/namedb/master/empty.db"; };
 zone "5.ip6.arpa"               { type master; file "/etc/namedb/master/empty.db"; };
 zone "6.ip6.arpa"               { type master; file "/etc/namedb/master/empty.db"; };
 zone "7.ip6.arpa"               { type master; file "/etc/namedb/master/empty.db"; };
 zone "8.ip6.arpa"               { type master; file "/etc/namedb/master/empty.db"; };
 zone "9.ip6.arpa"               { type master; file "/etc/namedb/master/empty.db"; };
 zone "a.ip6.arpa"               { type master; file "/etc/namedb/master/empty.db"; };
 zone "b.ip6.arpa"               { type master; file "/etc/namedb/master/empty.db"; };
 zone "c.ip6.arpa"               { type master; file "/etc/namedb/master/empty.db"; };
 zone "d.ip6.arpa"               { type master; file "/etc/namedb/master/empty.db"; };
 zone "e.ip6.arpa"               { type master; file "/etc/namedb/master/empty.db"; };
 zone "0.f.ip6.arpa"             { type master; file "/etc/namedb/master/empty.db"; };
 zone "1.f.ip6.arpa"             { type master; file "/etc/namedb/master/empty.db"; };
 zone "2.f.ip6.arpa"             { type master; file "/etc/namedb/master/empty.db"; };
 zone "3.f.ip6.arpa"             { type master; file "/etc/namedb/master/empty.db"; };
 zone "4.f.ip6.arpa"             { type master; file "/etc/namedb/master/empty.db"; };
 zone "5.f.ip6.arpa"             { type master; file "/etc/namedb/master/empty.db"; };
 zone "6.f.ip6.arpa"             { type master; file "/etc/namedb/master/empty.db"; };
 zone "7.f.ip6.arpa"             { type master; file "/etc/namedb/master/empty.db"; };
 zone "8.f.ip6.arpa"             { type master; file "/etc/namedb/master/empty.db"; };
 zone "9.f.ip6.arpa"             { type master; file "/etc/namedb/master/empty.db"; };
 zone "a.f.ip6.arpa"             { type master; file "/etc/namedb/master/empty.db"; };
 zone "b.f.ip6.arpa"             { type master; file "/etc/namedb/master/empty.db"; };
 zone "0.e.f.ip6.arpa"           { type master; file "/etc/namedb/master/empty.db"; };
 zone "1.e.f.ip6.arpa"           { type master; file "/etc/namedb/master/empty.db"; };
 zone "2.e.f.ip6.arpa"           { type master; file "/etc/namedb/master/empty.db"; };
 zone "3.e.f.ip6.arpa"           { type master; file "/etc/namedb/master/empty.db"; };
 zone "4.e.f.ip6.arpa"           { type master; file "/etc/namedb/master/empty.db"; };
 zone "5.e.f.ip6.arpa"           { type master; file "/etc/namedb/master/empty.db"; };
 zone "6.e.f.ip6.arpa"           { type master; file "/etc/namedb/master/empty.db"; };
 zone "7.e.f.ip6.arpa"           { type master; file "/etc/namedb/master/empty.db"; };

 // IPv6 ULA (RFC 4193)
 zone "c.f.ip6.arpa"             { type master; file "/etc/namedb/master/empty.db"; };
 zone "d.f.ip6.arpa"             { type master; file "/etc/namedb/master/empty.db"; };

 // IPv6 Link Local (RFC 4291)
 zone "8.e.f.ip6.arpa"           { type master; file "/etc/namedb/master/empty.db"; };
 zone "9.e.f.ip6.arpa"           { type master; file "/etc/namedb/master/empty.db"; };
 zone "a.e.f.ip6.arpa"           { type master; file "/etc/namedb/master/empty.db"; };
 zone "b.e.f.ip6.arpa"           { type master; file "/etc/namedb/master/empty.db"; };

 // IPv6 Deprecated Site-Local Addresses (RFC 3879)
 zone "c.e.f.ip6.arpa"           { type master; file "/etc/namedb/master/empty.db"; };
 zone "d.e.f.ip6.arpa"           { type master; file "/etc/namedb/master/empty.db"; };
 zone "e.e.f.ip6.arpa"           { type master; file "/etc/namedb/master/empty.db"; };
 zone "f.e.f.ip6.arpa"           { type master; file "/etc/namedb/master/empty.db"; };

 // IP6.INT is Deprecated (RFC 4159)
 zone "ip6.int"                  { type master; file "/etc/namedb/master/empty.db"; };

 // 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
 // master name server.
 //
 // Do not forget to include the reverse lookup zone!
 // This is named after the first bytes of the IP address, in reverse
 // order, with ".IN-ADDR.ARPA" appended, or ".IP6.ARPA" for IPv6.
 //
 // Before starting to set up a master zone, make sure you fully
 // understand how DNS and BIND work.  There are sometimes
 // non-obvious pitfalls.  Setting up a slave zone is usually simpler.
 //
 // NB: Don't blindly enable the examples below. :-)  Use actual names
 // and addresses instead.

 /* An example dynamic zone
 key "exampleorgkey" {
         algorithm hmac-md5;
         secret "sf87HJqjkqh8ac87a02lla==";
 };
 zone "example.org" {
         type master;
         allow-update {
                 key "exampleorgkey";
         };
         file "/etc/named/dynamic/example.org";
 };
 */

 /* Example of a slave reverse zone
 zone "1.168.192.in-addr.arpa" {
         type slave;
         file "/etc/namedb/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.

    30.6.6.2. 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 default TTL
 example.org.    IN      SOA      ns1.example.org. admin.example.org. (
                                 2006051501      ; Serial
                                 10800           ; Refresh
                                 3600            ; Retry
                                 604800          ; Expire
                                 300             ; Negative Response 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   example.org.

   Beachten Sie, dass jeder mit einem "." endende Rechnername ein exakter
   Rechnername ist, wa:hrend sich alles ohne einen abschliessenden "."
   relativ auf den Ursprung bezieht. ns1 steht daher beispielsweise fu:r
   ns1.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
                         300 )           ; Negative Response TTL

   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, dessen Name dem Domainnamen example.org (oder
   192.168.1.1) entspricht. CNAMEs ko:nnen daher niemals gleichzeitig mit
   einem anderen Eintrag fu:r denselben Hostname eingerichtet 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
                         300 )           ; Negative Response TTL

         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.

   Beachten Sie bitte, dass es sich bei allen Namen auf der rechten Seite
   eines PTR-Eintrags um absolute (fully qualified) Domainnamen handeln muss,
   die mit "." enden.

  30.6.7. Zwischenspeichernde (cachende) Nameserver

   Ein cachender Nameserver hat prima:r die Aufgabe, rekursive Abfragen
   aufzulo:sen. Er stellt lediglich eigene Anfragen und speichert deren
   Ergebnisse ab.

  30.6.8. DNSSEC

   Domain Name System Security Extensions, oder kurz DNSSEC, ist eine
   Sammlung von Spezifikationen, um auflo:sende Nameserver von gefa:lschten
   DNS-Daten, wie beispielsweise vorgeta:uschte DNS-Eintra:ge, zu schu:tzen.
   Durch die Verwendung von digitalen Signaturen kann ein Resolver die
   Integrita:t des Eintrages u:berpru:fen. Wichtig dabei ist, dass DNSSEC nur
   die Integrita:t u:ber digital signierte Resource Records (RRe)
   bereitstellt. Weder wird die Vertraulichkeit noch der Schutz vor falschen
   Annahmen des Endbenutzers sichergestellt. Dies bedeutet, dass es Leute
   nicht davor schu:tzen kann, zu example.net anstatt zu example.com zu
   gelangen. Das einzige, was DNSSEC tut, ist die Authentifizierung, dass die
   Daten wa:hrend der U:bertragung nicht vera:ndert wurden. Die Sicherheit
   von DNS ist ein wichtiger Schritt in der generellen Absicherung des
   Internets. Fu:r weitere, tiefergehende Details u:ber die Funktionsweise
   von DNSSEC sind die dazugeho:rigen RFCs ein guter Einstieg in die
   Thematik. Sehen Sie sich dazu die Liste in Abschnitt 30.6.10, "Weitere
   Informationsquellen" an.

   Der folgende Abschnitt wird zeigen, wie man DNSSEC fu:r einen
   autoritativen DNS-Server und einen rekursiven (oder cachenden) DNS-Server,
   der jeweils BIND 9 verwenden, einrichten kann. Obwohl alle Versionen von
   BIND 9 DNSSEC unterstu:tzen, ist es notwendig, mindestens die Version
   9.6.2 zu verwenden, um in der Lage zu sein, die signierten Root-Zonen zu
   benutzen, wenn DNS-Abfragen gepru:ft werden. Der Grund dafu:r ist, dass
   fru:heren Versionen die Algorithmen fehlen, um die U:berpru:fung des
   Root-Zonenschlu:ssels zu aktivieren. Es wird dringend empfohlen, die
   letzte Version von BIND 9.7 oder ho:her einzusetzen, um von den Vorteilen
   der automatischen Schlu:sselaktualisierung des Root-Zonenschlu:ssels
   Gebrauch zu machen, genauso wie andere Eigenschaften, um automatisch Zonen
   signieren zu lassen und Signaturen aktuell zu halten. Unterschiede
   zwischen den Versionen 9.6.2 und 9.7 und ho:her werden an den betreffenden
   Stellen angesprochen.

    30.6.8.1. Rekursive DNS-Server Konfiguration

   Die Aktivierung der DNSSEC-U:berpru:fung von Anfragen, die von einem
   rekursiven DNS-Server stammen, beno:tigt ein paar A:nderungen in der
   named.conf. Bevor man jedoch diese A:nderungen durchfu:hrt, muss der
   Root-Zonenschlu:ssel oder Vertrauensanker erworben werden. Momentan ist
   der Root-Zonenschlu:ssel nicht in einem Dateiformat verfu:gbar, dass von
   BIND benutzt werden kann, so dass dieser manuell in das richtige Format
   konvertiert werden muss. Der Schlu:ssel selbst kann durch Abfrage an die
   Root-Zone erhalten werden, indem man dazu dig verwendet. Durch Aufruf von

 % dig +multi +noall +answer DNSKEY . > root.dnskey

   wird der Schlu:ssel in root.dnskey abgelegt. Der Inhalt sollte so a:hnlich
   wie folgt aussehen:

 . 93910 IN DNSKEY 257 3 8 (
         AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQ
         bSEW0O8gcCjFFVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh
         /RStIoO8g0NfnfL2MTJRkxoXbfDaUeVPQuYEhg37NZWA
         JQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaDX6RS6CXp
         oY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3
         LQpzW5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGO
         Yl7OyQdXfZ57relSQageu+ipAdTTJ25AsRTAoub8ONGc
         LmqrAmRLKBP1dfwhYB4N7knNnulqQxA+Uk1ihz0=
         ) ; key id = 19036
 . 93910 IN DNSKEY 256 3 8 (
         AwEAAcaGQEA+OJmOzfzVfoYN249JId7gx+OZMbxy69Hf
         UyuGBbRN0+HuTOpBxxBCkNOL+EJB9qJxt+0FEY6ZUVjE
         g58sRr4ZQ6Iu6b1xTBKgc193zUARk4mmQ/PPGxn7Cn5V
         EGJ/1h6dNaiXuRHwR+7oWh7DnzkIJChcTqlFrXDW3tjt
 ) ; key id = 34525

   Seien Sie nicht alarmiert, wenn der von Ihnen bezogene Schlu:ssel anders
   als in diesem Beispiel aussieht. Diese ko:nnten sich in der Zwischenzeit
   gea:ndert haben. In dieser Ausgabe sind eigentlich zwei Schlu:ssel
   enthalten. Der erste Schu:ssel mit dem Wert 257 nach dem DNSKEY-Eintrag
   ist derjenige, der beno:tigt wird. Der Wert zeigt an, dass es sich um
   einen sicheren Einstiegspunkt (SEP), gemein auch als
   Schlu:sselsignierungsschlu:ssel (KSK) bekannt, handelt. Der zweite
   Schu:ssel mit dem Wert 256 ist der untergeordnete Schlu:ssel, im
   allgemeinen auch als Zonen-Signaturschlu:ssel (ZSK) bezeichnet. Weitere
   Schlu:sselarten werden spa:ter in Abschnitt 30.6.8.2, "Autoritative
   DNS-Server Konfiguration" erla:utert.

   Nun muss der Schlu:ssel verifiziert und so formatiert werden, dass BIND
   diesen verwenden kann. Um den Schlu:ssel zu verifizieren, erzeugen Sie
   einen DS RR-Satz. Erstellen Sie eine Datei, welche die RRs entha:lt,
   mittels

 % dnssec-dsfromkey -f root-dnskey . > root.ds

   Diese Eintra:ge verwenden SHA-1 sowie SHA-256 und sollten a:hnlich zu
   folgendem Beispiel aussehen, in dem der la:ngere, SHA-256, benutzt wird.

 . IN DS 19036 8 1 B256BD09DC8DD59F0E0F0D8541B8328DD986DF6E
 . IN DS 19036 8 2 49AAC11D7B6F6446702E54A1607371607A1A41855200FD2CE1CDDE32F24E8FB5

   Der SHA-256 RR kann nun mit dem Abriss in
   https://data.iana.org/root-anchors/root-anchors.xml verglichen werden. Um
   absolut sicher zu sein, dass der Schlu:ssel nicht zusammen mit den
   XML-Daten vera:ndert wurde, kann die Datei mittels der PGP Signatur in
   https://data.iana.org/root-anchors/root-anchors.asc u:berpru:ft werden.

   Als na:chstes muss der Schlu:ssel in das passende Format gebracht werden.
   Dies unterscheidet sich ein bisschen von den BIND Versionen 9.6.2 und 9.7
   und ho:here. In Version 9.7 wurde die U:nterstu:tzung zur automatischen
   Verfolgung und notwendigen Aktualisierung von A:nderungen am Schlu:ssel
   eingebaut. Dies wird durch den Einsatz von managed-keys erreicht, wie in
   dem Beispiel unten gezeigt ist. Wenn die a:ltere Version eingesetzt wird,
   kann der Schlu:ssel durch eine trusted-keys-Anweisung eingebaut werden und
   die Aktualisierung muss ha:ndisch erfolgen. In BIND 9.6.2 sollte das
   Format folgendermassen aussehen:

 trusted-keys {
         "." 257 3 8
         "AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF
         FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX
         bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD
         X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz
         W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relS
         Qageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq
         QxA+Uk1ihz0=";
 };

   In 9.7 wird das Format stattdessen wie folgt aussehen:

 managed-keys {
         "." initial-key 257 3 8
         "AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF
         FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX
         bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD
         X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz
         W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relS
         Qageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq
         QxA+Uk1ihz0=";
 };

   Der Root-Schlu:ssel kann nun zu named.conf hinzugefu:gt werden, entweder
   direkt oder durch Inkludierung der Datei, die den Schlu:ssel entha:lt.
   Nachdem diese Schritte absolviert sind, muss BIND konfiguriert werden, um
   DNSSEC-Validierung fu:r Anfragen durchzufu:hren, indem named.conf
   bearbeitet und die folgende options-Direktive hinzugefu:gt wird:

 dnssec-enable yes;
 dnssec-validation yes;

   Um zu pru:fen, dass es tatsa:chlich funktioniert, benutzen Sie dig, um
   eine Anfrage zu einer signierten Zone durch den Resolver, der gerade
   konfiguriert wurde, zu stellen. Eine erfolgreiche Antwort wird den
   AD-Eintrag aufweisen, um anzudeuten, dass die Daten authentisiert sind.
   Eine Anfrage wie

 % dig @resolver +dnssec se ds

   sollte den DS RR fu:r die .se-Zone zuru:ckgeben. In dem Abschnitt flags:
   sollte der AD-Eintrag gesetzt sein, wie im folgenden zu sehen ist:

 ...
 ;; flags: qr rd ra ad; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
 ...

   Der Resolver ist nun in der Lage, Anfragen ans DNS zu authentisieren.

    30.6.8.2. Autoritative DNS-Server Konfiguration

   Um einen autoritativen Nameserver dazu zu bringen, als eine
   DNSSEC-signierte Zone zu fungieren, ist ein wenig mehr Aufwand no:tig.
   Eine Zone ist durch kryptographische Schlu:ssel signiert, die erzeugt
   werden mu:ssen. Es ist mo:glich, nur einen Schlu:ssel dazu zu verwenden.
   Die vorgeschlagene Methode ist jedoch, einen starken, gut geschu:tzten
   Schlu:sselsignierungsschlu:ssel (KSK) einzusetzen, der nicht oft
   gewechselt wird und einen Zonensignierungsschlu:ssel (ZSK), der o:fter
   ausgewechselt wird. Informationen zu vorgeschlagenen Einsatzarten ko:nnen
   in RFC 4641: DNSSEC Operational Practices nachgelesen werden.
   Einsatzszenarien, welche die Root-Zone betreffen, finden Sie in DNSSEC
   Practice Statement for the Root Zone KSK operator sowie DNSSEC Practice
   Statement for the Root Zone ZSK operator. Der KSK wird dazu verwendet, um
   eine Kette von Autorita:t fu:r die Daten, die diese Validierung
   beno:tigen, zu erschaffen und wird als solche auch als sicherer
   Einstiegspunkt (SEP)-Schlu:ssel bezeichnet. Ein Nachrichtenabriss dieses
   Schlu:ssels, der auch Delegation Signer (DS)-Eintrag genannt wird, muss in
   der Elternzone vero:ffentlicht werden, um die Vertrauenskette
   herzustellen. Wie dies erreicht wird, ha:ngt von dem Besitzer der
   Elternzone ab. Der ZSK wird verwendet, um die Zone zu signieren und muss
   nur dort o:ffentlich zuga:nglich gemacht werden.

   Um DNSSEC fu:r die example.com-Zone, welche in den vorherigen Beispielen
   verwendet wird, zu aktivieren, muss als erster Schritt dnssec-keygen
   benutzt werden, um das KSK und ZSK Schlu:sselpaar zu generieren. Dieses
   Schlu:sselpaar kann unterschiedliche kryptographische Algorithmen nutzen.
   Es wird empfohlen, RSA/SHA256 fu:r die Schlu:ssel zu nutzen. Eine
   Schlu:ssella:nge von 2048 Bits sollte genu:gen. Um den KSK fu:r
   example.com zu generieren, geben Sie

 % dnssec-keygen -f KSK -a RSASHA256 -b 2048 -n ZONE example.com

   ein und um den ZSK zu erzeugen, setzen Sie folgenden Befehl ab:

 % dnssec-keygen -a RSASHA256 -b 2048 -n ZONE example.com

   dnssec-keygen gibt zwei Dateien aus, den o:ffentlichen und den privaten
   Schlu:ssel und zwar in Dateinamen, die a:hnlich lauten wie
   Kexample.com.+005+nnnnn.key (o:ffentlich) und
   Kexample.com.+005+nnnnn.private (privat). Der nnnnn-Teil des Dateinamens
   ist eine fu:nfstellige Schlu:sselkennung. Passen Sie genau auf, welche
   Kennung zu welchem Schlu:ssel geho:rt. Das ist besonders wichtig, wenn
   mehrere Schlu:ssel in einer Zone vorliegen. Es ist auch mo:glich, die
   Schlu:ssel umzubenennen. Fu:r jede KSK-Datei tun Sie folgendes:

 % mv Kexample.com.+005+nnnnn.key Kexample.com.+005+nnnnn.KSK.key
 % mv Kexample.com.+005+nnnnn.private Kexample.com.+005+nnnnn.KSK.private

   Fu:r die ZSK-Dateien ersetzen Sie KSK fu:r ZSK wenn no:tig. Die Dateien
   ko:nnen nun in der Zonendatei inkludiert werden, indem die $include
   Anweisung verwendet wird. Es sollte folgendermassen aussehen:

 $include Kexample.com.+005+nnnnn.KSK.key    ; KSK
 $include Kexample.com.+005+nnnnn.ZSK.key    ; ZSK

   Schliesslich signieren Sie die Zone und weisen BIND an, die signierte
   Zonendatei zu benutzen. Um eine Zone zu signieren, wird dnssec-signzone
   eingesetzt. Der Befehl, um eine Zone example.com zu signieren, die in
   example.com.db liegt, sollte wie folgt aussehen:

 % dnssec-signzone -o example.com -k Kexample.com.+005+nnnnn.KSK example.com.db Kexample.com.+005+nnnnn.ZSK.key

   Der Schlu:ssel, welcher mit dem Argument -k u:bergeben wird, ist der KSK
   und die andere Schlu:sseldatei ist der ZSK, welcher fu:r die Signatur
   benutzt werden soll. Es ist mo:glich, mehr als einen KSK und ZSK
   anzugeben, was das Ergebnis zur Folge hat, dass die Zone mit allen
   u:bergebenen Schlu:sseln signiert wird. Dies kann dann beno:tigt werden,
   um Zonendaten mit mehr als einem Algorithmus zur Signierung zu verwenden.
   Die Ausgabe von dnssec-signzone ist eine Zonendatei mit allen signierten
   RRs. Diese Ausgabe wird in einer Datei mit der Endung .signed abgelegt,
   wie beispielsweise example.com.db.signed. Die DS-Eintra:ge werden
   ebenfalls in eine separate Datei dsset-example.com geschrieben. Um diese
   signierte Zone zu verwenden, a:ndern Sie die Zonendirektive in named.conf,
   so dass example.com.db.signed benutzt wird. Standardma:ssig sind die
   Signaturen nur 30 Tage gu:ltig, was bedeutet, dass die Zone in etwa 15
   Tagen erneut signiert werden muss, um sicher zu stellen, dass Resolver
   keine Eintra:ge mit veralteten Signaturen zwischenspeichern. Es ist
   mo:glich, ein Skript und einen cron-Job zu schreiben, um dies zu
   erledigen. Lesen Sie dazu die relevanten Anleitungen, um Details zu
   erfahren.

   Stellen Sie sicher, dass die privaten Schlu:ssel vertraulich bleiben,
   genau wie mit allen anderen kryptographischen Schlu:sseln auch. Wenn ein
   Schlu:ssel gea:ndert wird, ist es gute Praxis den neuen Schlu:ssel in die
   Zone zu inkludieren, noch wa:hrend der alte Schlu:ssel noch zum signieren
   eingesetzt wird, um dann auf den neuen Schlu:ssel zum signieren zu
   wechseln. Nachdem diese Schritte erfolgt sind, kann der alte Schlu:ssel
   aus der Zone entfernt werden. Wenn das nicht geschieht, ko:nnen DNS-Daten
   fu:r einige Zeit nicht verfu:gbar sein, bis der neue Schlu:ssel durch die
   DNS-Hierarchie propagiert wurde. Fu:r weitere Informationen bezu:glich
   Schlu:sselu:bergabe und andere DNSSEC-Einsatzszenarien lesen Sie RFC 4641:
   DNSSEC Operational practices.

    30.6.8.3. Automatisierung mittels BIND 9.7 oder ho:her

   Beginnend mit der Version 9.7 von BIND wurde eine neue Eigenschaft
   vorgestellt, die Smart Signing genannt wird. Diese zielt darauf ab, das
   Schlu:sselmanagement und den Signierungsprozess einfacher zu gestalten und
   zu automatisieren. Durch ablegen der Schlu:ssel in ein Verzeichnis,
   genannt key repository und die Verwendung der neuen Option auto-dnssec,
   ist es mo:glich eine dynamische Zone zu erzeugen, welche dann erneut
   signiert wird, wenn dazu der Bedarf besteht. Um diese Zone zu
   aktualisieren, benutzen Sie nsupdate mit der neuen Option -l. Es hat also
   rndc die Fa:higkeit gewonnen, Zonen mit Schlu:sseln im Key Repository zu
   verwenden, indem die Option sign eingesetzt wird. Um BIND anzuweisen,
   diese automatische Signierung und Zonenaktualisierung fu:r example.com zu
   nutzen, fu:gen Sie die folgenden Zeilen zur named.conf hinzu:

 zone example.com {
         type master;
         key-directory "/etc/named/keys";
         update-policy local;
         auto-dnssec maintain;
         file "/etc/named/dynamic/example.com.zone";
 };

   Nachdem diese A:nderungen durchgefu:hrt wurden, erzeugen Sie die
   Schlu:ssel fu:r die Zone wie in Abschnitt 30.6.8.2, "Autoritative
   DNS-Server Konfiguration" beschrieben wird, legen diese Schlu:ssel im Key
   Repository ab, dass als Argument key-directory in der Zonenkonfiguration
   steht und die Zone wird automatisch signiert. Aktualisierungen fu:r eine
   Zone, die auf diese Art und Weise konfiguriert wurde, muss mittels
   nsupdate erfolgen, dass sich um die erneute Signierung der Zone mit den
   hinzugefu:gten Daten ku:mmern wird. Fu:r weitere Details, lesen Sie
   Abschnitt 30.6.10, "Weitere Informationsquellen" und die Dokumentation von
   BIND.

  30.6.9. 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.

  30.6.10. Weitere Informationsquellen

   Hilfeseiten zu BIND/named: rndc(8) named(8) named.conf(5) nsupdate(8)
   dnssec-signzone(8) dnssec-keygen(8)

     * Offizielle ISC-Seite zu BIND

     * Offizielles Forum zu ISC- BIND

     * O'Reilly DNS and BIND 5th Edition

     * Root DNSSEC

     * DNSSEC Vertrauensanker-Publikation fu:r die Root-Zone

     * RFC1034 - Domain Names - Concepts and Facilities

     * RFC1035 - Domain Names - Implementation and Specification

     * RFC4033 - DNS Security Introduction and Requirements

     * RFC4034 - Resource Records for the DNS Security Extensions

     * RFC4035 - Protocol Modifications for the DNS Security Extensions

     * RFC4641 - DNSSEC Operational Practices

     * RFC 5011 - Automated Updates of DNS Security (DNSSEC) Trust Anchors

30.7. Der Apache HTTP-Server

   Beigetragen von Murray Stokely.

  30.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/.

  30.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(R)-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.

  30.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.

  30.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/.

  30.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.

    30.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.

    30.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.

  30.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(R), 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.

    30.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 30.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 30.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>

    30.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

    30.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.

    30.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(TM) 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.

30.8. FTP - File Transfer Protocol

   Beigetragen von Murray Stokely.

  30.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.

  30.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 30.1, "Die inetd-Konfiguration neu einlesen" beschrieben, die
   inetd-Konfiguration neu einlesen. Lesen Sie bitte Abschnitt
   Abschnitt 30.2.2, "Einstellungen" 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

  30.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.

30.9. Mit Samba einen Datei- und Druckserver fu:r
Microsoft(R) Windows(R)-Clients einrichten

   Beigetragen von Murray Stokely.

  30.9.1. U:berblick

   Samba ist ein beliebtes Open Source-Softwarepaket, das es Ihnen
   ermo:glicht, einen Datei- und Druckserver fu:r
   Microsoft(R) Windows(R)-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/samba34 nachholen.

  30.9.2. Konfiguration

   Die Standardkonfigurationsdatei von Samba heisst
   /usr/local/share/examples/samba34/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(R)-Clients teilen wollen. Die
   Konfiguration der Datei smb.conf erfolgt webbasiert u:ber das im
   Samba-Paket enthaltene Programm swat.

    30.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 30.1, "Die inetd-Konfiguration neu einlesen"
   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.

    30.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.

    30.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/etc/samba/smbpasswd erzeugen, damit Samba in der Lage ist,
   Clients zu authentifizieren. Wenn Sie auf Ihrem UNIX(R)-Rechner
   vorhandenen Benutzern den Zugriff von einem Windows(R)-Client aus
   ermo:glichen wollen, verwenden Sie den folgenden Befehl:

 # smbpasswd -a username

  Anmerkung:

   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.

  30.9.3. Samba starten

   Der Port net/samba34 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 wird 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 12.7, "Das rc-System fu:r Systemdienste" 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(R) Windows(R)-Netzwerken
   ermo:glichen. Fu:r eine Beschreibung dieser Zusatzfunktionen sollten Sie
   sich auf http://www.samba.org umsehen.

30.10. Die Uhrzeit mit NTP synchronisieren

   Beigetragen von Tom Hukins.

  30.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.

  30.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.

  30.10.3. NTP unter FreeBSD einrichten

    30.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.

    30.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 eine 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.

    30.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).

  30.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

  30.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.

  30.10.6. Weitere Informationen

   Weiterfu:hrende Dokumentation (im HTML-Format) zum NTP-Server finden Sie
   unter /usr/share/doc/ntp/.

30.11. Protokollierung von anderen Hosts mittels syslogd

   Beigetragen von Tom Rhodes.
   U:bersetzt von Benedict Reuschling.

   Die Interaktion mit Systemprotokollen ist ein wichtiger Aspekt, sowohl was
   Sicherheit als auch Systemadministration anbelangt. U:berwachen der
   Protokolldateien von mehreren Hosts kann sehr unhandlich werden, wenn
   diese Hosts u:ber mittlere oder grosse Netze verteilt sind oder wenn sie
   Teile von unterschiedlichen Netzwerken sind. In diesen Fa:llen macht die
   Konfiguration der Protokollierung von anderen Hosts diesen Prozess
   wesentlich komfortabler.

   Die zentralisierte Protokollierung auf einen bestimmten
   Protokollierungshost kann manche der administrativen Belastungen der
   Protokolldateiadministration reduzieren. Protokolldateiaggregation,
   -zusammenfu:hrung und -rotation kann an einer zentralen Stelle mit den
   FreeBSD-eigenen Werkzeugen wie syslogd(8) und newsyslog(8) konfiguriert
   werden. In der folgenden Beispielkonfiguration sammelt Host A, genannt
   logserv.example.com, Protokollinformationen fu:r das lokale Netzwerk. Host
   B, genannt logclient.example.com wird seine Protokollinformationen an den
   Server weiterleiten. In realen Konfigurationen beno:tigen beide Hosts
   passende Vorwa:rts- und Umkehr-Eintra:ge im DNS oder in /etc/hosts.
   Andernfalls werden die Daten vom Server abgelehnt.

  30.11.1. Konfiguration des Protokollierungs-Servers

   Protokollierungs-Server sind Maschinen, die konfiguriert sind,
   Protokollinformationen von anderen Hosts zu akzeptieren. In den meisten
   Fa:llen wird dies zur Vereinfachung der Konfiguration eingesetzt, in
   anderen Fa:llen ist es einfach nur ein Schritt in eine bessere Verwaltung.
   Was auch immer die Gru:nde sind, ein paar Anforderungen mu:ssen vorher
   erfu:llt sein.

   Ein richtig konfigurierter Protokollierungs-Server muss minimal die
   folgenden Anforderungen erfu:llen:

     * Das Regelwerk der Firewall muss UDP auf Port 514 sowohl auf Client-
       als auch auf Serverseite erlauben;

     * syslogd wurde so konfiguriert, dass es Nachrichten von anderen
       Clientrechnern akzeptiert;

     * Der syslogd-Server und alle Clientrechner mu:ssen gu:ltige Eintra:ge
       fu:r sowohl Vorwa:rts- als auch Umkehr-DNS besitzen, oder in
       /etc/hosts korrekt eingetragen sein.

   Um den Protokollierungs-Server zu konfigurieren, muss der Client in
   /etc/syslog.conf eingetragen sein und der Verbindungsweg der
   Protokollierung muss spezifiziert sein:

 +logclient.example.com
 *.*     /var/log/logclient.log

  Anmerkung:

   Weitere Informationen zu den verschiedenen unterstu:tzten und verfu:gbaren
   Verbindungswegen finden sich in der Manualpage syslog.conf(5).

   Einmal hinzugefu:gt, werden alle Nachrichten u:ber den Verbindungsweg in
   die zuvor angegebene Datei, /var/log/logclient.log protokolliert.

   Der Server beno:tigt ausserdem die folgenden Zeilen in der /etc/rc.conf:

 syslogd_enable="YES"
 syslogd_flags="-a logclient.example.com -v -v"

   Die erste Option aktiviert den syslogd-Dienst wa:hrend des Systemstarts
   und die zweite Option erlaubt es, Daten von dem spezifizierten Client auf
   diesem Server zu akzeptieren. Die Verwendung von -v -v im letzten Teil
   erho:ht die Anzahl von Protokollnachrichten. Dies ist sehr hilfreich fu:r
   die Feineinstellung der Verbindungspfade, da Administratoren auf diese
   Weise erkennen, welche Arten von Nachrichten unter welchen Einstellungen
   protokolliert werden.

   Mehrere -a-Optionen ko:nnen angegeben werden, um die Protokollierung von
   mehreren Clients zu erlauben. IP-Adressen und ganze Netzblo:cke ko:nnen
   ebenfalls spezifiziert werden. Lesen Sie dazu die syslog(3)-Manualpage, um
   eine vollsta:ndige Liste von mo:glichen Optionen zu erhalten.

   Zum Schluss muss noch die Protokolldatei erstellt werden. Auf welche Weise
   dies geschieht ist nicht wichtig, aber in den meisten Fa:llen funktioniert
   touch(1) grossartig, wie hier dargestellt:

 # touch /var/log/logclient.log

   Zu diesem Zeitpunkt sollte der syslogd-Dienst neu gestartet und
   u:berpru:ft werden:

 # /etc/rc.d/syslogd restart
 # pgrep syslog

   Wenn eine PID zuru:ckgegeben wird, wurde der Server erfolgreich neu
   gestartet und die Clientkonfiguration kann beginnen. Wenn der Server nicht
   neu gestartet wurde, suchen Sie im /var/log/messages-Protokoll nach
   eventuellen Fehlermeldungen.

  30.11.2. Konfiguration des Protokollierungs-Clients

   Ein Protokollierungs-Client ist eine Maschine, die Protokollinformationen
   an einen Protokollierungs-Server sendet, zusa:tzlich zu ihren lokalen
   Kopien.

   A:hnlich wie Protokollierungs-Server mu:ssen Clients auch ein paar
   minimale Anforderungen erfu:llen:

     * syslogd(8) muss so konfiguriert sein, dass es Nachrichten eines
       bestimmten Typs an einen Protokollierungs-Server schickt, welcher
       diese akzeptieren muss;

     * Die Firewall muss UDP-Pakete durch Port 514 erlauben;

     * Sowohl Vorwa:rts- als auch Umkehr-DNS muss konfiguriert sein oder es
       mu:ssen passende Eintra:ge in /etc/hosts vorhanden sein.

   Die Clientkonfiguration ist ein bisschen entspannter, verglichen mit der
   des Servers. Der Clientrechner muss ebenfalls die folgenden Eintra:ge in
   der /etc/rc.conf besitzen:

 syslogd_enable="YES"
 syslogd_flags="-s -v -v"

   Wie zuvor aktivieren diese Eintra:ge den syslogd-Dienst wa:hrend des
   Systemstarts und erho:hen die Anzahl der Protokollnachrichten. Die Option
   -s verhindert, dass dieser Client Protokolle von anderen Hosts akzeptiert.

   Verbindungspfade beschreiben den Systemteil, fu:r den eine Nachricht
   generiert wird. Beispielsweise sind ftp und ipfw beides Verbindungspfade.
   Wenn Protokollnachrichten fu:r diese beiden Dienste generiert werden, sind
   diese beiden Werkzeuge normalerweise in jeder Protokollnachricht
   enthalten. Verbindungspfade sind mit einer Priorita:t oder Stufe
   verbunden, die dazu verwendet wird, zu markieren, wie wichtig eine
   Nachricht im Protokoll ist. Die Ha:ftigste ist warning und info. Bitte
   lesen Sie die syslog(3) Manualpage, um eine komplette Liste der
   verfu:gbaren Verbindungspfade und Priorita:ten zu erhalten.

   Der Protokollierungs-Server muss in der /etc/syslog.conf des Clients
   eingetragen sein. In diesem Beispiel wird das @-Symbol benutzt, um
   Protokolldaten an einen anderen Server zu senden. Der Eintrag sieht wie
   folgt aus:

 *.*               @logserv.example.com

   Einmal hinzugefu:gt, muss syslogd neu gestartet werden, damit diese
   A:nderungen wirksam werden:

 # /etc/rc.d/syslogd restart

   Um zu testen, ob Protokollnachrichten u:ber das Netzwerk gesendet werden,
   kann logger(1) auf dem Client benutzt werden, um eine Nachricht an syslogd
   zu schicken:

 # logger "Test message from logclient"

   Diese Nachricht sollte jetzt sowohl in /var/log/messages auf dem Client,
   als auch in /var/log/logclient.log auf dem Server vorhanden sein.

  30.11.3. Fehlerbehebung beim Protokollierungs-Server

   In bestimmten Fa:llen ist die Fehlerbehebung notwendig, wenn Nachrichten
   nicht auf dem Protokollierungs-Server empfangen werden. Es gibt mehrere
   Gru:nde dafu:r, jedoch treten am ha:ufigsten Probleme bei der
   Netzwerkverbindung und beim DNS auf. Um diese Fa:lle zu u:berpru:fen,
   stellen Sie sicher, dass beide Hosts in der Lage sind, sich gegenseitig
   u:ber den Hostnamen zu erreichen, der in /etc/rc.conf angegeben ist. Wenn
   das funktioniert, ist mo:glicherweise eine A:nderung der
   syslogd_flags-Option in /etc/rc.conf notwendig.

   Im folgenden Beispiel ist /var/log/logclient.log leer und die
   /var/log/messages-Dateien enthalten keine Gru:nde fu:r den Fehler. Um die
   Fehlerausgabe zu erho:hen, a:ndern Sie die syslogd_flags-Option so, dass
   diese wie in dem folgenden Beispiel aussieht und initiieren Sie dann einen
   Neustart:

 syslogd_flags="-d -a logclien.example.com -v -v"

 # /etc/rc.d/syslogd restart

   Fehlerausgabedaten a:hnlich der Folgenden werden sofort nach dem Neustart
   auf dem Bildschirm erscheinen:

 logmsg: pri 56, flags 4, from logserv.example.com, msg syslogd: restart
 syslogd: restarted
 logmsg: pri 6, flags 4, from logserv.example.com, msg syslogd: kernel boot file is /boot/kernel/kernel
 Logging to FILE /var/log/messages
 syslogd: kernel boot file is /boot/kernel/kernel
 cvthname(192.168.1.10)
 validate: dgram from IP 192.168.1.10, port 514, name logclient.example.com;
 rejected in rule 0 due to name mismatch.

   Es scheint klar zu sein, dass die Nachrichten aufgrund eines fehlerhaften
   Namens abgewiesen werden. Nach genauer Untersuchung der Konfiguration,
   kommt ein Tippfehler in der folgenden Zeile der /etc/rc.conf als Fehler in
   Betracht:

 syslogd_flags="-d -a logclien.example.com -v -v"

   Die Zeile sollte logclient und nicht logclien enthalten. Nachdem die
   entsprechenden Vera:nderungen gemacht wurden, ist ein Neustart fa:llig,
   mit den entsprechenden Ergebnissen:

 # /etc/rc.d/syslogd restart
 logmsg: pri 56, flags 4, from logserv.example.com, msg syslogd: restart
 syslogd: restarted
 logmsg: pri 6, flags 4, from logserv.example.com, msg syslogd: kernel boot file is /boot/kernel/kernel
 syslogd: kernel boot file is /boot/kernel/kernel
 logmsg: pri 166, flags 17, from logserv.example.com,
 msg Dec 10 20:55:02 <syslog.err> logserv.example.com syslogd: exiting on signal 2
 cvthname(192.168.1.10)
 validate: dgram from IP 192.168.1.10, port 514, name logclient.example.com;
 accepted in rule 0.
 logmsg: pri 15, flags 0, from logclient.example.com, msg Dec 11 02:01:28 trhodes: Test message 2
 Logging to FILE /var/log/logclient.log
 Logging to FILE /var/log/messages

   Zu diesem Zeitpunkt werden die Nachrichten korrekt empfangen und in die
   richtige Datei geschrieben.

  30.11.4. Sicherheitsbedenken

   Wie mit jedem Netzwerkdienst, mu:ssen Sicherheitsanforderungen in Betracht
   gezogen werden, bevor diese Konfiguration umgesetzt wird. Manchmal
   enthalten Protokolldateien sensitive Daten u:ber aktivierte Dienste auf
   dem lokalen Rechner, Benutzerkonten und Konfigurationsdaten. Daten, die
   vom Client an den Server geschickt werden, sind weder verschlu:sselt noch
   mit einem Passwort geschu:tzt. Wenn ein Bedarf fu:r Verschlu:sselung
   besteht, ist es mo:glich, security/stunnel zu verwenden, welches die Daten
   u:ber einen verschlu:sselten Tunnel versendet.

   Lokale Sicherheit ist ebenfalls ein Thema. Protokolldateien sind wa:hrend
   der Verwendung oder nach ihrer Rotation nicht verschlu:sselt. Lokale
   Benutzer versuchen vielleicht, auf diese Dateien zuzugreifen, um
   zusa:tzliche Einsichten in die Systemkonfiguration zu erlangen. In diesen
   Fa:llen ist es absolut notwendig, die richtigen Berechtigungen auf diesen
   Dateien zu setzen. Das newsyslog(8)-Werkzeug unterstu:tzt das Setzen von
   Berechtigungen auf gerade erstellte oder rotierte Protokolldateien.
   Protokolldateien mit Zugriffsmodus 600 sollten verhindern, dass lokale
   Benutzer darin herumschnu:ffeln.

Kapitel 31. Firewalls

   Beigetragen von Joseph J. Barbish.
   Nach SGML konvertiert und aktualisiert von Brad Davis.
   U:bersetzt von Michael Bunzel, Johann Kois und Benjamin Lukas.
   Inhaltsverzeichnis

   31.1. Einfu:hrung

   31.2. Firewallkonzepte

   31.3. Firewallpakete

   31.4. Paket Filter (PF) von OpenBSD und ALTQ

   31.5. Die IPFILTER-Firewall (IPF)

   31.6. IPFW

31.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.

31.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.

   Eine inclusive Firewall bietet eine wesentlich bessere Kontrolle des
   ausgehenden Verkehrs, macht sie zur besseren Wahl fu:r Systeme, die
   Services fu:r das Internet anbieten. Sie kontrolliert auch den Verkehr vom
   Internet zu ihrem privaten Netzwerk. Jeder Verkehr, der keiner Regel
   entspricht wird geblockt und geloggt. Inclusive Firewalls sind generell
   sicherer als exclusive Firewalls, da sie das Risiko, dass unerwu:nschter
   Verkehr hindurch geht, drastisch reduzieren.

  Anmerkung:

   Wenn nicht anders vermerkt, verwenden alle Konfigurationen und
   Beispielregelsets dieses Kapitels inclusive Firewalls.

   Die Sicherheit einer Firewall kann durch den Einsatz einer
   "zustandsabha:ngigen Firewall" (stateful firewall) weiter erho:ht werden.
   Dieser Typ einer 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 Firewall
   einzurichten.

31.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.

31.4. Paket Filter (PF) von OpenBSD und ALTQ

   Revised and updated by John Ferrell.

   Im Juli 2003 wurde PF, die Standard-Firewall von OpenBSD, nach FreeBSD
   portiert und in die FreeBSD-Ports-Sammlung aufgenommen. 2004 war PF in
   FreeBSD 5.3 Teil des Basissystems. 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.

   Das OpenBSD-Projekt leistet bereits hervorragende Dokumentationsarbeit mit
   der PF FAQ. Aus diesem Grund konzentriert sich dieser Handbuchabschnitt
   nur auf diejenigen Besonderheiten von PF, die FreeBSD betreffen, sowie ein
   paar allgemeine Informationen hinsichtlich der Verwendung. Genauere
   Informationen zum Einsatz erhalten Sie in der PF FAQ.

   Weitere Informationen zu PF fu:r FreeBSD finden Sie unter
   http://pf4freebsd.love2party.net/.

  31.4.1. Verwendung der PF-Kernelmodule

   Um die PF Kernel Module zu laden, fu:gen Sie folgende Zeile in ihre
   /etc/rc.conf ein:

 pf_enable="YES"

   Danach starten Sie das Startup Script um die Module zu laden:

 # /etc/rc.d/pf start

   Das PF Modul wird nicht geladen, falls es die Ruleset Konfigurationsdatei
   nicht findet. Standardma:ssig befindet sich diese Datei in /etc/pf.conf.
   Falls das PF Ruleset sich an einem anderen Platz befindet, ko:nnen Sie das
   durch Hinzufu:gen einer Zeile a:hnlich der folgenden, in ihrer
   /etc/rc.conf a:ndern:

 pf_rules="/path/to/pf.conf"

  Anmerkung:

   Ein Beispiel fu:r die Datei pf.conf finden Sie im Verzeichnis
   /usr/share/examples/pf/.

   Das PF-Modul kann auch manuell u:ber die Kommandozeile geladen werden:

 # kldload pf.ko

   Protokollierungsfunktionen fu:r PF werden durch das Modul pflog.ko zur
   Verfu:gung gestellt und ko:nnen durch folgenden Eintrag in der
   /etc/rc.conf aktiviert werden:

 pflog_enable="YES"

   Danach starten Sie das Startup Script, um das Modul zu laden:

 # /etc/rc.d/pflog start

   Falls Sie noch weitere Features fu:r PF beno:tigen, mu:ssen Sie diese in
   den Kernel einbauen.

  31.4.2. PF Kernel-Optionen

   Es ist nicht zwingend no:tig, dass Sie PF-Unterstu:tzung in den
   FreeBSD-Kernel kompilieren. Sie werden dies tun mu:ssen, um eine von PFs
   fortgeschritteneren Eigenschaften nutzen zu ko:nnen, die nicht als
   Kernelmodul verfu:gbar ist. Genauer handelt es sich dabei um pfsync(4),
   ein Pseudo-Gera:t, welches bestimmte A:nderungen der PF-Zustandstabelle
   offenlegt. Es kann mit carp(4) kombiniert werden, um ausfallsichere
   Firewalls mit PF zu realisieren. Weitere Informationen zu CARP erhalten
   Sie in Abschnitt 32.13, "CARP - Common Address Redundancy Protocol" des
   Handbuchs.

   Die Kernelkonfigurationsoptionen von PF befinden sich in
   /usr/src/sys/conf/NOTES und sind im Folgenden wiedergegeben:

 device pf
 device pflog
 device pfsync

   Die Option device pf aktiviert die Unterstu:tzung fu:r die "Packet
   Filter"-Firewall (pf(4)).

   Die Option 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.

   Die Option device pfsync aktiviert das optionale
   pfsync(4)-Pseudonetzwerkgera:t fu:r die U:berwachung von
   "Statusa:nderungen".

  31.4.3. Verfu:gbare rc.conf-Optionen

   Die folgenden rc.conf(5)-Eintra:ge konfigurieren PF und pflog(4) beim
   Systemstart:

 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"              # starte 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

  31.4.4. Filterregeln erstellen

   PF liest seine konfigurierten Regeln aus pf.conf(5) (standardma:ssig
   /etc/pf.conf) und modifiziert, verwirft oder la:sst Pakete passieren
   anhand der Regeln oder Definitionen, die in dieser Datei gespeichert sind.
   FreeBSD entha:lt dazu nach der Installation mehrere Beispieldateien, die
   in /usr/share/examples/pf/ abgelegt sind. Fu:r eine ausfu:hrliche
   Behandlung des PF-Regelwerks lesen Sie bitte die PF FAQ.

  Warnung:

   Beim Lesen der PF FAQ wollten Sie darauf achten, dass verschiedene
   Versionen von FreeBSD auch unterschiedliche Versionen von PF enthalten.
   FreeBSD 8.X (und a:lter) FreeBSD-Versionen benutzen PF aus OpenBSD 4.1.
   FreeBSD 9.X (und neuer) benutzen hingegen PF aus OpenBSD 4.5.

   Die FreeBSD packet filter mailing list ist eine erste Anlaufstelle fu:r
   Fragen zur Konfiguration und dem Einsatz der PF Firewall. Vergessen Sie
   nicht, vorher die Mailinglistenarchive zu durchsuchen, bevor Sie dort eine
   Frage stellen!

  31.4.5. Arbeiten mit PF

   Benutzen Sie pfctl(8), um PF zu steuern. Unten finden Sie ein paar
   nu:tzliche Befehle (lesen Sie auch die Manualpage zu pfctl(8), um alle
   verfu:gbaren Optionen nachzuschlagen):

            Befehl                                Zweck                       
   pfctl -e                 PF aktivieren                                     
   pfctl -d                 PF deaktivieren                                   
   pfctl -F all -f          Alle Filterregeln zuru:cksetzen (NAT, Filter,     
   /etc/pf.conf             Zustand, Tabelle, etc.) und erneut aus der Datei  
                            /etc/pf.conf auslesen                             
   pfctl -s [ rules | nat | Bericht u:ber die Filterregeln, NAT-Regeln, oder  
   states ]                 Zustandstabellen                                  
   pfctl -vnf /etc/pf.conf  u:berpru:ft /etc/pf.conf auf Fehler, la:dt aber   
                            das Regelwerk nicht neu                           

  31.4.6. 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.

31.5. Die IPFILTER-Firewall (IPF)

   Geschrieben wurde IPFILTER von Darren Reed. IPFILTER ist vom
   Betriebssystem unabha:ngig: Es ist eine Open Source Anwendung, die auf die
   Betriebssysteme FreeBSD, NetBSD, OpenBSD, SunOS(TM), HP/UX und Solaris(TM)
   portiert wurde. IPFILTER wird aktiv betreut und gepflegt. Es werden
   regelma:ssig neue Versionen herausgegeben.

   IPFILTER basiert auf einer kernelseitigen Firewall und einem NAT
   Mechanismus, der durch Anwenderprogramme betreut und gesteuert werden
   kann. Die Regeln der Firewall werden mit dem Programm ipf(8) gesetzt oder
   gelo:scht. Fu:r die Manipulation der NAT Regeln verwendet man ipnat(1).
   Mit ipfstat(8) werden Laufzeitstatistiken der kernelseitigen Anteile von
   IPFILTER aufgelistet. Und mit dem Programm ipmon(8) kann man die Aktionen
   von IPFILTER in die Protokolldateien des Systems speichern.

   IPF funktionierte urspru:nglich mit einer Regel-Prozess-Logik `a la "die
   letzte Regel, die passt, entscheidet" und verwendete ausschliesslich
   Regeln ohne feste Zusta:nde. Inzwischen wurde die Regel-Prozess-Logik
   drastisch modernisiert: Es gibt eine quick und eine zustandsorientierte
   keep-state Option. Die offizielle Dokumentation beinhaltet leider nur die
   veralteten Parameter zur Regelerstellung - die neuen Funktionen werden nur
   als Zusatzoptionen aufgelistet, was ihre Vorteile beim Erstellen einer
   weit u:berlegenen und viel sichereren Firewall vo:llig untergra:bt.

   Die Anweisungen in diesem Kapitel basieren darauf, Regeln mit den Optionen
   quick und keep-state zu erstellen. Mit diesem Grundwissen wird man einen
   kompletten einschliessenden Regelsatz erstellen ko:nnen.

   Fu:r eine ausfu:hrliche Erla:uterung der alten Methode zur
   Regelverarbeitung schauen Sie bitte auf
   http://www.obfuscation.org/ipf/ipf-howto.html#TOC_1 oder
   http://coombs.anu.edu.au/~avalon/ip-filter.html.

   Antworten auf ha:ufige Fragen finden Sie unter
   http://www.phildev.net/ipf/index.html.

   Und ein durchsuchbares Archiv der Mailingliste zu IPFILTER gibt es unter
   http://marc.theaimsgroup.com/?l=ipfilter.

  31.5.1. Aktivieren von IPF

   FreeBSD entha:lt IPF in der Standardversion als ladbares Kernelmodul.
   Dieses Modul wird vom System automatisch geladen, wenn in der rc.conf der
   Eintrag ipfilter_enable="YES" angelegt wird. In dieser urspru:nglichen
   Konfiguration ist die Protokollierung aktiv und die Option default pass
   all ("Pakete passieren lassen") als Standard gesetzt. Um die block all
   ("alles Blockieren") Option zu setzen, muss man nicht gleich einen neuen
   Kernel bauen - es reicht, block all als letzte Position des Regelsatzes
   aufzulisten.

  31.5.2. Kernel-Optionen

   Es ist nicht unbedingt notwendig, IPF durch die folgenden Optionen direkt
   in der Kernel einzubinden. Diese Mo:glichkeit der Verwendung von IPF wird
   hier mehr als Hintergrundwissen angeboten. Man sollte nur wissen, dass
   dadurch nicht mehr das Kernelmodul geladen wird - und dementsprechend auch
   nicht mehr entladen werden kann.

   Die Beschreibung der einzelnen Optionen von IPF fu:r die Verwendung in der
   Kernelkonfiguration finden Sie auch in der Datei /usr/src/sys/conf/NOTES.

 options IPFILTER
 options IPFILTER_LOG
 options IPFILTER_DEFAULT_BLOCK

   options IPFILTER aktiviert die Verwendung der "IPFILTER" Firewall.

   options IPFILTER_LOG aktiviert den Logging-Mechanismus. Das bedeutet, dass
   jedes Paket geloggt wird, auf das eine Regel passt, die das Schlu:sselwort
   log entha:lt. Dazu wird der Pseudo-Device ipl verwendet.

   options IPFILTER_DEFAULT_BLOCK a:ndert das Verhalten der Firewall
   dahingehend, dass jedes Paket, dass nicht explizit von einer pass Regel
   Zugang erha:lt, abgewiesen, bzw. geblockt, wird.

   Diese Einstellungen werden erst aktiv, wenn der Kernel, in den sie
   eingebunden wurden, kompiliert, installiert und gebootet wurde.

  31.5.3. Optionen in rc.conf

   Um IPF wa:hrend des Bootvorgangs einzubinden, braucht man lediglich die
   folgenden Zeilen der Datei /etc/rc.conf anzufu:gen:

 ipfilter_enable="YES"             # Startet IPF
 ipfilter_rules="/etc/ipf.rules"   # liest den Regelsatz aus einer Datei
 ipmon_enable="YES"                # Startet das IP-Monitor Log
 ipmon_flags="-Ds"                 # D = Als Da:mon starten
                                   # s = Protokollierung via syslog
                                   # v = Protokollierung von tcp window, ack, seq
                                   # n = Namen statt IP & port ausgeben
      

   Falls sich hinter der Firewall ein lokales Netzwerk befindet, das den
   reservierten privaten Adressbereich verwendet, mu:ssen die folgenden
   Zeilen zur Aktivierung von NAT ebenfalls in /etc/rc.conf eingetragen
   werden:

 gateway_enable="YES"              # Aktivierung des LAN-Gateways
 ipnat_enable="YES"                # Startet die ipnat Funktion
 ipnat_rules="/etc/ipnat.rules"    # Liest die ipnat-Regeldefinitionen aus einer Datei
      

  31.5.4. Der Befehl ipf

   Mit dem Befehl ipf(8) liest man die Datei, die den Regelsatz entha:lt ein.
   Mit dem folgenden Befehl ko:nnen Sie Ihre eigenen, fu:r Ihr System
   massgeschneiderten Regeln einlesen und so in einem Schritt alle Regeln der
   laufenden Firewall ersetzen:

 # ipf -Fa -f /etc/ipf.rules

   -Fa bedeutet, dass alle intern gespeicherten Tabellen mit Regeln gelo:scht
   werden.

   -f gibt die Datei an, aus der die neuen Regeln gelesen werden sollen.

   Mit diesen beiden Optionen erhalten Sie die Mo:glichkeit, A:nderungen an
   der Datei mit Ihrem Regelsatz vorzunehmen und gleich die Firewall mit den
   neuen Regeln zu bestu:cken, ohne den Rechner neu starten zu mu:ssen. Da
   dieser Vorgang beliebig wiederholt werden kann, ist es ein sehr bequemer
   Weg, neue Regeln einzuarbeiten und zu testen.

   Um mehr u:ber diese und weitere Optionen von ipf(8) zu erfahren,
   konsultieren Sie bitte die Manpage.

   ipf(8) erwartet, dass es sich bei der Datei mit dem Regelsatz um eine
   Standard-Textdatei handelt. Eine Datei, die ein Skript oder Variablen
   entha:lt, wird nicht verarbeitet.

   Es gibt allerdings doch einen Weg, IPF Regeln mit Hilfe von Skripten und
   Variablen zu erstellen. Weitere Informationen dazu finden Sie unter
   Abschnitt 31.5.9, "Die Erstellung eines Regelsatzes mit Variablen".

  31.5.5. IPFSTAT

   Das normale Verhalten von ipfstat(8) ist, die Zusammenfassung der
   angefallenen Statistiken, die als Resultat der Anwendung von
   nutzerspezifischen Regeln auf ein- und ausgehende Pakete seit dem letzten
   Start der Firewall oder seit dem letzten Zuru:cksetzen der Za:hler auf
   Null durch das Kommando ipf -Z angesammelt wurden, abzurufen und
   anzuzeigen.

   Fu:r weiterfu:hrende Informationen schauen Sie bitte auf die Manpage von
   ipfstat(8)!

   Die Ausgabe von ipfstat(8), wenn keine Parameter u:bergeben wurden, sieht
   etwa so aus:

 input packets: blocked 99286 passed 1255609 nomatch 14686 counted 0
 output packets: blocked 4200 passed 1284345 nomatch 14687 counted 0
 input packets logged: blocked 99286 passed 0
 output packets logged: blocked 0 passed 0
 packets logged: input 0 output 0
 log failures: input 3898 output 0
 fragment state(in): kept 0 lost 0
 fragment state(out): kept 0 lost 0
 packet state(in): kept 169364 lost 0
 packet state(out): kept 431395 lost 0
 ICMP replies: 0 TCP RSTs sent: 0
 Result cache hits(in): 1215208 (out): 1098963
 IN Pullups succeeded: 2 failed: 0
 OUT Pullups succeeded: 0 failed: 0
 Fastroute successes: 0 failures: 0
 TCP cksum fails(in): 0 (out): 0
 Packet log flags set: (0)

   Wenn die Option -i fu:r "eingehend" oder -o fu:r "ausgehend" u:bergeben
   wird, liefert das Kommando eine entsprechende Liste von Filter-Regeln, die
   gerade installiert sind und vom Kernel verwendet werden.

   ipfstat -in zeigt alle aktive Regeln fu:r eingehende Verbindungen zusammen
   mit ihren Nummern.

   ipfstat -on erledigt dasselbe fu:r die ausgehenden Verbindungen.

   Die Ausgabe sieht in etwa folgendermassen aus:

 @1 pass out on xl0 from any to any
 @2 block out on dc0 from any to any
 @3 pass out quick on dc0 proto tcp/udp from any to any keep state

   ipfstat -ih zeigt die Tabelle der aktiven Regeln fu:r eingehende
   Verbindungen zusammen mit der Anzahl, wie oft jeder einzelnen Regel
   entsprochen wurde.

   ipfstat -oh zeigt das Gleiche fu:r die ausgehenden Verbindungen.

   Hier wird die Ausgabe so oder so a:hnlich aussehen:

 2451423 pass out on xl0 from any to any
 354727 block out on dc0 from any to any
 430918 pass out quick on dc0 proto tcp/udp from any to any keep state

   Einer der wichtigsten Funktionen von ipfstat wird u:ber die Option -t
   bereitgestellt. Mit ihr wird eine Statustabelle vergleichbar der
   Prozess-Tabelle von top(1) ausgegeben. Mit dieser Funktion erhalten Sie im
   Falle eines Angriffs die Mo:glichkeit, die angreifenden Pakete zu
   identifizieren, abzufangen und auszuwerten. Weitere Unteroptionen
   ero:ffnen, die IP-Adresse, den Port oder das Protokoll, geteilt nach
   Herkunft und Ziel, auszuwa:hlen und dann in Echtzeit zu beobachten. Lesen
   Sie dazu bitte auch die Manpage von ipfstat(8).

  31.5.6. IPMON

   Damit der Befehl ipmon korrekt arbeiten kann, muss die Option IPFILTER_LOG
   in die Kernelkonfiguration eingearbeitet werden. Das Kommando selbst
   arbeitet in zwei verschiedenen Modi. Fu:r den nativen Modus startet man
   ipmon auf der Kommandozeile ohne die Option -D.

   Der Hintergrundmodus (daemon mode) dient der Erstellung eines stetigen
   Systemprotokolls, so dass Eintra:ge vergangener Ereignisse inspiziert
   werden ko:nnen. So sollen FreeBSD und IPFILTER entsprechend ihrer
   Konfiguration zusammen arbeiten. FreeBSD kann mit einem eingebauten
   Mechanismus Systemprotokolle turnusma:ssig abspeichern. Aus diesem Grund
   sollte man besser syslogd(8) verwenden anstatt die Protokollinformationen
   in eine Datei zu schreiben, wie es als Standard vorgesehen ist. In der
   Standard-rc.conf-Datei (im Ordner /etc/defaults/) wird dem Eintrag
   ipmon_flags die Option -Ds u:bergeben:

 ipmon_flags="-Ds" # D = Als Da:mon starten
 # s = Protokollierung via syslog
 # v = Protokollierung von tcp window, ack, seq
 # n = Namen statt IP & port ausgeben

   Die Vorteile des Protokollierens liegen auf der Hand: Sie versetzen den
   Administrator in die Lage, nach einem Vorfall Informationen abzurufen,
   etwa welche Pakete aussortiert wurden, welche Adressen diese Pakete
   gesendet haben oder wohin sie gesendet werden sollten. Alles in allem
   erha:lt er ein sehr gutes Werkzeug zum Aufspu:ren von Angreifern.

   Jedoch, auch wenn die Protokollierung aktiviert ist, wird IPF keine
   einzige Regel zum Protokollieren von alleine entwerfen und umsetzen. Der
   Administrator der Firewall entscheidet, welche Regeln in seinem Regelsatz
   mitgeschrieben werden sollen und er muss dementsprechend das
   Schlu:sselword log in dieser Regel angeben. Normalerweise werden nur
   Treffer auf abweisende Regeln protokolliert.

   Es ist u:blich, als letzte Regel eine alles blockierende Regel mit dem
   Schlu:sselwort log in den Regelsatz einzutragen. Dadurch erkennt man alle
   Pakete, die keiner Regel im Regelsatz entsprachen.

  31.5.7. IPMON Logging

   Syslogd verwendet seine eigene Methode zum Sortieren der gesammtelten
   Protokolldaten - spezielle Gruppierungen namens "facility" und "level".
   IPMON verwendet im daemon-Modus als "facility" den Wert security. Die
   folgenden "level" ko:nnen fu:r eine genauere Trennung der Protokolldaten
   verwendet werden:

 LOG_INFO - Alle zu protokollierenden Pakete
 LOG_NOTICE - Protokollierte Pakete, die passieren durften
 LOG_WARNING - Protokollierte Pakete, die blockiert wurden
 LOG_ERR - Protokollierte Pakete, deren Headerdaten nicht komplett vorlagen

   Damit IPFILTER angewiesen werden kann, alle Protokolldaten in die Datei
   /var/log/ipfilter.log zu schreiben, muss diese erst erstellt werden.
   Folgendes Kommando u:bernimmt diese Aufgabe:

 # touch /var/log/ipfilter.log

   Die Funktionen von syslogd(8) werden durch Definition in der Datei
   /etc/syslog.conf gesteuert. In dieser Datei kann sehr weitla:fig
   eingestellt werden, wie syslog mit den Systemnachrichten umgehen soll, die
   ihm von Anwendungen wie IPF u:bergeben werden.

   Fu:gen Sie folgende Definition in die Datei /etc/syslog.conf ein, um die
   Protokollierung fu:r IPF via syslog zu aktivieren:

 security.* /var/log/ipfilter.log

   security.* bedeutet, dass alle Nachrichten der Klasse security.* am
   angegebenen Ort (hier eine Datei) geschrieben werden sollen.

   Um A:nderungen an der Datei /etc/syslog.conf zu aktivieren mu:ssen Sie den
   Rechner neu starten, oder den Befehl

 # /etc/rc.d/syslogd reload

   ausfu:hren.

   Vergessen Sie nicht, /etc/newsyslog.conf anzupassen, damit die neuen
   Protokolldateien, die eben konfiguriert wurden, auch in den
   Rotationsturnus eingefu:gt werden!

  31.5.8. Die Formatierung der Logdatei

   Nachrichten, die durch ipmon erzeugt werden, bestehen aus durch
   Leerstellen getrennten Datenfeldern. Folgende Felder sind in allen
   Nachrichten enthalten:

    1. Das Datum der Paketerstellung.

    2. Die Uhrzeit der Paketerstellung in der Form HH:MM:SS.F, mit Stunden,
       Minuten, Sekunden und Sekundenbruchteilen, wobei letztere mehrere
       Stellen lang sein ko:nnen.

    3. Der Name der Schnittstelle, die das Paket verarbeitet hat, bspw. dc0.

    4. Die Gruppe und die Nummer der angewandten Regel, bspw. @0:17.

    5. Die ausgefu:hrte Aktion: p fu:r passed (zugelassen), b fu:r blockiert,
       S fu:r short packet (unvollsta:ndiger Header), n fu:r no match (gar
       keine Regel wurde beru:hrt) und L fu:r Log-Regel. Die Reihe, in der
       die Flags angezeigt werden ist: S, p, b, n, L. Ein gross geschriebenes
       P oder B bedeutet, dass das Paket aufgrund einer globalen Einstellung
       protokolliert wurde und nicht wegen einer einzelnen Regel.

    6. Die Adressen. Diese bestehen aus drei Feldern: Der Quelladresse mit
       Port (getrennt durch ein Komma), dem Symbol "->" und der Zieladresse.
       Also bspw. 209.53.15.22,80 -> 198.64.221.18,1722.

    7. PR gefolgt vom Namen eines Netzwerk-Protokolls oder dessen Nummer.
       Bspw. PR tcp.

    8. len gefolgt von der La:nge des Headers und der Gesamtla:nge des
       Paketes, beispielsweise len 20 40.

   Wenn es sich um ein TCP-Paket handelt, wird ein weiteres Feld, beginnend
   mit einem Querstrich und gefolgt von Buchstaben, die den gesetzten Flags
   entsprechen, angezeigt. Lesen Sie bitte die Manpage ipmon(8) fu:r eine
   Liste der Buchstaben und deren Bedeutungen.

   Falls das Paket ein ICMP-Paket ist, werden zwei Felder am Ende
   hinzugefu:gt - das erstere ist immer "ICMP", das zweite entha:lt die
   ICMP-Nachricht und den Nachrichtentyp, getrennt durch einen Schra:gstrich.
   ICMP 3/3 steht beispielsweise fu:r "Port nicht erreichbar".

  31.5.9. Die Erstellung eines Regelsatzes mit Variablen

   Erfahrenere IPF Anwender erstellen sich eine Datei, die die Regeln
   entha:lt und gestalten diese als ein Skript, in dem Variablen verwendet
   werden. Der wichtigste Vorteil besteht darin, dass man lediglich den Wert
   der Variablen anpassen muss und diese, sobald das Skript gestartet wird,
   durch die entsprechenden Werte ersetzt und die Regeln entsprechend
   formuliert werden. In Skripten kann man so ha:ufig verwendete Werte
   einfach als Variable in mehreren Regeln zuweisen. Am folgenden Beispiel
   soll das verdeutlicht werden.

   Die Syntax dieses Skriptes ist kompatibel mit den Shells sh(1), csh(1) und
   tcsh(1).

   Variablen beginnen mit einem Dollar-Zeichen: $Variablenname. Im Beispiel
   unten steht $oif fu:r die Variable, in der der Name der Schnittstelle
   abgelegt wird, u:ber die der Verkehr nach aussen erfolgt.

   In Variablenzuweisungen fehlt das beginnende $-Zeichen. Alleine der Name
   der Variable wird angegeben, gefolgt von einem Gleichheitszeichen, und dem
   Wert, der der Variablen zugewiesen werden soll. Dieser muss in doppelten
   Anfu:hrungszeichen ("") stehen. Also folgt eine Zuweisung dem Schema
   Variablenname = "Wert".

 ############# Start of IPF rules script ########################

 oif="dc0"            # Name der Internet-Schnittstelle
 odns="192.0.2.11"    # IP des DNS-Servers unseres ISPs
 myip="192.0.2.7"     # die statische IP, die uns der ISP zugeteilt hat
 ks="keep state"
 fks="flags S keep state"

 # Sie haben die Wahl, aus diesem Skript eine eigene
 # /etc/ipf.rules erstellen zu lassen oder es einfach
 # direkt als Skript laufen zu lassen.
 #
 # Entfernen Sie dazu das eine Kommentarzeichen
 # und kommentieren Sie die andere Zeile aus!
 #
 # 1) Diese Zeile verwenden Sie zur Erstellung von /etc/ipf.rules
 #cat > /etc/ipf.rules << EOF
 #
 # 2) Diese Zeile, wenn Sie direkt mit dem Skript arbeiten wollen
 /sbin/ipf -Fa -f - << EOF

 # Erlaubnis ausgehenden Verkehrs an den Nameserver des ISPs
 pass out quick on $oif proto tcp from any to $odns port = 53 $fks
 pass out quick on $oif proto udp from any to $odns port = 53 $ks

 # Erlaubnis ausgehenden unsicheren www-Verkehrs
 pass out quick on $oif proto tcp from $myip to any port = 80 $fks

 # Erlaubnis ausgehenden sicheren www-Verkehrs https via TLS SSL
 pass out quick on $oif proto tcp from $myip to any port = 443 $fks
 EOF
 ################## End of IPF rules script ########################

   Das ist schon alles. Die Regeln selbst sind im Beispiel nicht so wichtig -
   achten Sie auf die Anwendung der Variablenzuweisung am Anfang und die
   Verwendung der Variablen im Skript. Falls das obige Beispiel in einer
   Datei namens /etc/ipf.rules.script gespeichert wurde, ko:nnen die Regeln
   mit folgenden Kommando neu geladen werden:

 # sh /etc/ipf.rules.script

   Es gibt ein Problem mit Regelsatz-Dateien, die Variablen verwenden: IPF
   kann mit Variablen nichts anfangen - und kann derartige Skripte nicht
   direkt einlesen.

   Unser kleines Skript kann daher nur auf eine der beiden folgenden Weisen
   verwendet werden:

     * Entfernen Sie das Kommentarzeichen der Zeile, die mit cat beginnt.
       Kommentieren Sie die Zeile aus, die mit /sbin/ipf beginnt. Schreiben
       Sie die Zeile ipfilter_enable="YES" in die Datei /etc/rc.conf und
       rufen Sie dann das Skript auf, um /etc/ipf.rules zu erstellen oder zu
       erneuern.

     * Deaktivieren Sie IPFILTER in den Systemstart-Skripten, indem Sie die
       Zeile ipfilter_enable="NO" in die Datei /etc/rc.conf eintragen (was
       auch der Standard-Einstellung entspricht).

       Fu:gen Sie ein Skript a:hnlich dem folgenden in Ihr Verzeichnis
       /usr/local/etc/rc.d/. Es sinnvoll, dem Skript einen offensichtlichen
       Namen zu geben, wie etwa ipf.loadrules.sh. Die Endung .sh ist dabei
       verbindlich.

 #!/bin/sh
 sh /etc/ipf.rules.script

       Die Zugriffsrechte fu:r die Datei, die das Skript entha:lt, mu:ssen
       fu:r den Eigentu:mer root auf Lesen, Schreiben und Ausfu:hren gesetzt
       werden.

 # chmod 700 /usr/local/etc/rc.d/ipf.loadrules.sh

   Wenn nun Ihr System startet, werden Ihre IPF-Regeln geladen.

  31.5.10. IPF Regelsa:tze

   Ein Regelsatz ist eine Gruppe von IPF-Regeln, die anhand der Werte eines
   Netzwerkpaketes entscheiden, ob dieses Paket durchgelassen oder blockiert
   wird. Der Austausch von Paketen erfolgt immer zweiseitig in Form einer
   sogenannten Session. Der Regelsatz der Firewall verarbeitet sowohl die
   eingehenden Pakete aus dem o:ffentlichen Internet als auch die Pakete, die
   vom System als Antwort auf die Ersteren gesendet werden. Jeder Dienst, der
   via TCP/IP arbeitet, zum Beispiel telnet, www oder mail, ist vordefiniert
   durch sein Protokoll und seinen privilegierten Port, an dem er auf
   Anfragen wartet und reagieren kann. Pakete, die gezielt einen Dienst
   ansprechen sollen, werden von einem unprivilegierten Port des Senders an
   einen konkreten privilegierten Port des Zielsystems geschickt. Alle
   genannten Parameter (Ports, Adressen usw.) ko:nnen als Auswahlkriterien
   zum erstellen von Regeln eingesetzt werden, die Dienste erlauben oder
   blockieren.

   IPF wurde urspru:nglich mit einer Regel-Prozess-Logik geschrieben, die
   ausschliesslich statusfreie Regeln zuliess und nach dem Prinzip "die
   letzte Regel, die passt, entscheidet" arbeitete. Mit der Zeit erhielt IPF
   eine quick Option sowie keep-state Option fu:r die Anwendung von
   zustandsorientierten Regeln, was die Regel-Prozess-Logik signifikant
   modernisierte.

   Die Anweisungen in diesem Kapitel basieren auf der Verwendung von Regeln,
   die diese beiden neuen Optionen verarbeiten. Dies ist das Framework zur
   Entwicklung eines Firewallregelsatzes.

  Warnung:

   Wenn Sie mit einer Firewall arbeiten, seien Sie sehr vorsichtig. Durch
   wenige Einstellungen ko:nnen Sie sich aus Ihrem System aussperren. Wenn
   Sie auf der sicheren Seite sein wollen, fu:hren Sie die
   Firewall-Konfiguration direkt am entsprechenden Gera:t aus und nicht u:ber
   eine Netzwerkverbindung wie bspw. ssh.

  31.5.11. IPF Regel-Syntax

   Die Syntax zur Erstellung der Regeln, die hier vorgestellt wird, ist
   dahingehend vereinfacht worden, dass sie ausschliesslich auf den modernen
   Regelkontext, mit statusbehafteten Regeln und einer "die erste Regel, die
   passt, gewinnt"-Logik, zuru:ckgreift. Um alles u:ber die veraltete Syntax
   zu erfahren, lesen Sie bitte die Man-Page von ipf(8).

   Ein #-Zeichen markiert den Beginn eines Kommentars. Es darf nach nach
   einer Regel stehen oder als erstes Zeichen einer Zeile. Leere Zeilen
   werden von der Regel-Prozess-Logik ignoriert.

   Regeln enthalten Schlu:sselwo:rter. Diese Schlu:sselwo:rter mu:ssen in
   einer bestimmten Reihenfolge von links nach rechts in einer Zeile
   erscheinen. Als solche identifizierte Schlu:sselwo:rter werden fett
   wiedergegeben. Einige Schlu:sselwo:rter haben Unteroptionen, die wiederum
   selbst Schlu:sselwo:rter sein und ebenfalls weiter Unteroptionen
   einschliessen ko:nnen.

   ACTION IN-OUT OPTIONS SELECTION STATEFUL PROTO SRC_ADDR,DST_ADDR OBJECT
   PORT_NUM TCP_FLAG STATEFUL

   ACTION = block | pass

   IN-OUT = in | out

   OPTIONS = log | quick | on interface-name

   SELECTION = proto value | source/destination IP | port = number | flags
   flag-value

   PROTO = tcp/udp | udp | tcp | icmp

   SRC_ADD,DST_ADDR = all | from object to object

   OBJECT = IP address | any

   PORT_NUM = port number

   TCP_FLAG = S

   STATEFUL = keep state

    31.5.11.1. ACTION

   Die "ACTION" bestimmt, was mit dem Paket passieren soll, wenn der Rest der
   Regel zutrifft. Dieser Teil muss fu:r jede Regel angegeben werden.

   Das Schlu:sselwort block gibt an, dass das Paket verfallen soll, wenn die
   Auswahlparameter zutreffen.

   Das Schlu:sselwort pass gibt an, dass das Paket durch die Firewall
   durchgelassen werden soll, wenn die Auswahlparameter zutreffen.

    31.5.11.2. IN-OUT

   Ebenfalls verbindlich ist die Angabe, welchen Teil der Verbindung, Ein-
   oder Ausgang, die Regel beeinflussen soll. Das na:chste Schlu:sselwort
   muss daher entweder in, fu:r eingehend, oder out, fu:r ausgehend, lauten -
   oder die Regel wird aufgrund eines Syntaxfehlers nicht umgesetzt.

   in bedeutet, dass diese Regel auf eingehende Pakete angewendet wird, die
   gerade an der dem o:ffentlichen Internet zugewandten Schnittstelle
   empfangen wurden.

   out bedeutet, das diese Regel auf ausgehende Pakete angewendet wird, also
   Pakete die gerade gesendet werden und deren Zieladresse im o:ffentlichen
   Internet liegt.

    31.5.11.3. OPTIONS

  Anmerkung:

   Die Optionen mu:ssen in der hier aufgefu:hrten Reihenfolge verwendet
   werden.

   log bestimmt, dass die Kopfdaten des Paketes an die Systemschnittstelle
   ipl(4) geschrieben werden sollen. Genaueres dazu weiter unten im Abschnitt
   LOGGING.

   quick bestimmt, dass, wenn die Auswahlkriterien der Regel auf das Paket
   zutreffen, keine weiteren Regeln ausgewertet werden. So vermeidet man das
   Abarbeiten des gesamten Regelsatzes. Diese Option ist eine verbindliche
   Vorraussetzung der modernen Regel-Prozess-Logik.

   on bestimmt den Namen der Schnittstelle, der als Auswahlkriterium
   hinzugefu:gt werden soll. Die Namen aller verfu:gbaren Schnittstellen
   werden durch den Befehl ifconfig(8) angezeigt. wenn man diese Option
   verwendet, passt die Regeln nur auf Pakete, die durch diese Schnittstelle
   empfangen (in) oder gesendet (out) wurden. Fu:r die modernisierte
   Regel-Prozess-Logik ist die Verwendung dieser Option verbindlich.

   Wenn ein Paket protokolliert wird, werden die Kopfdaten in die
   Pseudo-Schnittstelle ipl(4) geschrieben. Folgende Parameter ko:nnen
   zusa:tzlich u:bergeben werden, mu:ssen dazu aber direkt nach dem
   Schlu:sselwort log und in gleicher Reihenfolge stehen:

   body bestimmt, dass die ersten 128 Bytes des Paketinhaltes zusa:tzlich zu
   den Kopfdaten protokolliert werden.

   first trifft nur zu, wenn das Schlu:sselwort log zusammen mit keep-state
   verwendet wird. Es bestimmt, dass nur das auslo:sende Paket protokolliert
   wird und nicht jedes weitere Paket, dass von der gespeicherten
   Status-Regel betroffen ist.

    31.5.11.4. SELECTION

   Die Schlu:sselwo:rter, die in diesem Abschnitt vorgestellt werden, dienen
   zur Beschreibung von Attributen, anhand derer gepru:ft und entschieden
   wird, ob eine Regel zutrifft oder nicht. Es gibt ein Schlu:sselwort, und
   das hat mehrere Optionen, von denen eine ausgewa:hlt werden muss. Die
   folgenden allgemeinen Attribute ko:nnen beliebig zum Erstellen einer Regel
   verwendet werden, allerdings nur in der vorgestellten Reihenfolge:

    31.5.11.5. PROTO

   proto ist das Schlu:sselwort fu:r das im Paket angewendete Protokoll. Als
   Option ein Protokoll aus Auswahlkriterium u:bergeben. Diese Option ist
   verbindlich, wenn man die moderne Regel-Prozess-Logik verwendet.

   tcp/udp | udp | tcp | icmp oder irgendein Protokollname, der in der Datei
   /etc/protocols zu finden ist, kann u:bergeben werden. Ausserdem kann das
   Schlu:sselwort tcp/udp verwendet werden, wenn sowohl TCP als auch UDP von
   der Regel betroffen sein sollen. Dieses Schlu:sselwort wurde eingefu:hrt,
   um Duplikate sonst identischer Regeln zu vermeiden.

    31.5.11.6. SRC_ADDR/DST_ADDR

   Das Schlu:sselwort all ist ein Synonym fu:r "from any to any" ohne weitere
   Auswahlkriterien.

   from src to dst: Die Schlu:sselwo:rter from und to dienen zur Angabe von
   Quelle und Ziel in Form von IP-Adressen oder -Bereichen. Innerhalb einer
   Regel muss immer beides angegeben werden. Statt einer Adresse kann auch
   das Schlu:sselwort any u:bergeben werden, das fu:r jede beliebige
   IP-Adresse steht. Zum Beispiel: from any to any oder from 0.0.0.0/0 to any
   oder from any to 0.0.0.0/0 oder from 0.0.0.0 to any oder from any to
   0.0.0.0 bedeuten alle das Gleiche.

   IP-Bereiche ko:nnen nur in der CIDR-Notation angegeben werden. Der Port
   net-mgmt/ipcalc hilft Ihnen bei der Berechnung der richtigen Angaben.
   Weiterfu:hrende Informationen zu CIDR finden Sie auf der Webseite von
   ipcalc.

    31.5.11.7. PORT

   Wenn ein Port als Auswahlkriterium u:bergeben wurde, bei Quelle und/oder
   Ziel, wird er nur bei TCP und UDP Paketen verwendet. Angegeben werden kann
   entweder die Portnummer oder der Dienstname aus /etc/services. Die
   Verwendung der Portoption mit dem to-Objekt ist verbindlich fu:r die
   Verwendung der modernisierten Regel-Prozess-Logik. Ein Beispiel fu:r die
   Filterung Paketen von allen Quell-IPs mit beliebiger Portnummer auf
   beliebige Ziel-IPs mit der Portnummer 80 (dem www-Port): from any to any
   port = 80.

   Einfache Portvergleiche ko:nnen auf verschiedenen Wegen erfolgen. Mehrere
   Vergleichsoperatoren stehen dafu:r zur Verfu:gung. Genauso ko:nnen
   Bereiche angegeben werden.

   port "=" | "!=" | "<" | ">" | "<=" | ">=" | "eq" | "ne" | "lt" | "gt" |
   "le" | "ge".

   Um einen Bereich anzugeben: port "<>" | "><"

  Warnung:

   Genau wie die Trefferspezifikation fu:r Quelle und Ziel sind auch die
   beiden folgenden Parameter obligatorisch bei der Verwendung der modernen
   Regel-Prozess-Logik.

    31.5.11.8. TCP_FLAG

   Flags spielen nur beim Filtern von TCP eine Rolle. Die Buchstaben
   entsprechen jeweils einem mo:glichen Flag, dass in den Kopfdaten der
   TCP-Pakete geprueft werden soll.

   Die moderne Regel-Prozess-Logik verwendet den Parameter flags S um eine
   Anfrage zum Start einer TCP-Session zu identifizieren.

    31.5.11.9. STATEFUL

   keep state zeigt bei einer Passage-Regel an, dass fu:r alle Pakete, die
   die Selektion erfolgreich durchlaufen, Stateful Filtering eingerichtet
   werden soll.

  Anmerkung:

   Diese Option ist obligatorisch fu:r die Verwendung der modernen
   Prozess-Regel-Logik.

  31.5.12. Stateful Filtering

   Stateful filtering treats traffic as a bi-directional exchange of packets
   comprising a session conversation. When activated, keep-state dynamically
   generates internal rules for each anticipated packet being exchanged
   during the bi-directional session conversation. It has sufficient matching
   capabilities to determine if the session conversation between the
   originating sender and the destination are following the valid procedure
   of bi-directional packet exchange. Any packets that do not properly fit
   the session conversation template are automatically rejected as impostors.

   Keep state will also allow ICMP packets related to a TCP or UDP session
   through. So if you get ICMP type 3 code 4 in response to some web surfing
   allowed out by a keep state rule, they will be automatically allowed in.
   Any packet that IPF can be certain is part of an active session, even if
   it is a different protocol, will be let in.

   What happens is:

   Packets destined to go out through the interface connected to the public
   Internet are first checked against the dynamic state table. If the packet
   matches the next expected packet comprising an active session
   conversation, then it exits the firewall and the state of the session
   conversation flow is updated in the dynamic state table. Packets that do
   not belong to an already active session, are simply checked against the
   outbound ruleset.

   Packets coming in from the interface connected to the public Internet are
   first checked against the dynamic state table. If the packet matches the
   next expected packet comprising an active session conversation, then it
   exits the firewall and the state of the session conversation flow is
   updated in the dynamic state table. Packets that do not belong to an
   already active session, are simply checked against the inbound ruleset.

   When the conversation completes it is removed from the dynamic state
   table.

   Stateful filtering allows you to focus on blocking/passing new sessions.
   If the new session is passed, all its subsequent packets will be allowed
   through automatically and any impostors automatically rejected. If a new
   session is blocked, none of its subsequent packets will be allowed
   through. Stateful filtering has technically advanced matching abilities
   capable of defending against the flood of different attack methods
   currently employed by attackers.

  31.5.13. Inclusive Ruleset Example

   The following ruleset is an example of how to code a very secure inclusive
   type of firewall. An inclusive firewall only allows services matching pass
   rules through, and blocks all others by default. Firewalls intended to
   protect other machines, also called "network firewalls", should have at
   least two interfaces, which are generally configured to trust one side
   (the LAN) and not the other (the public Internet). Alternatively, a
   firewall might be configured to protect only the system it is running
   on-this is called a "host based firewall", and is particularly appropriate
   for servers on an untrusted network.

   All UNIX(R) flavored systems including FreeBSD are designed to use
   interface lo0 and IP address 127.0.0.1 for internal communication within
   the operating system. The firewall rules must contain rules to allow free
   unmolested movement of these special internally used packets.

   The interface which faces the public Internet is the one to place the
   rules that authorize and control access of the outbound and inbound
   connections. This can be your user PPP tun0 interface or your NIC that is
   connected to your DSL or cable modem.

   In cases where one or more NICs are cabled to private network segments,
   those interfaces may require rules to allow packets originating from those
   LAN interfaces transit to each other and/or to the outside (Internet).

   The rules should be organized into three major sections: first trusted
   interfaces, then the public interface outbound, and last the public
   untrusted interface inbound.

   The rules in each of the public interface sections should have the most
   frequently matched rules placed before less commonly matched rules, with
   the last rule in the section blocking and logging all packets on that
   interface and direction.

   The Outbound section in the following ruleset only contains pass rules
   which contain selection values that uniquely identify the service that is
   authorized for public Internet access. All the rules have the quick, on,
   proto, port, and keep state options set. The proto tcp rules have the flag
   option included to identify the session start request as the triggering
   packet to activate the stateful facility.

   The Inbound section has all the blocking of undesirable packets first, for
   two different reasons. The first is that malicious packets may be partial
   matches for legitimate traffic. These packets have to be discarded rather
   than allowed in, based on their partial matches against allow rules. The
   second reason is that known and uninteresting rejects may be blocked
   silently, rather than being caught and logged by the last rules in the
   section. The final rule in each section, blocks and logs all packets and
   can be used to create the legal evidence needed to prosecute the people
   who are attacking your system.

   Another thing that should be taken care of, is to ensure there is no
   response returned for any of the undesirable traffic. Invalid packets
   should just get dropped and vanish. This way the attacker has no knowledge
   if his packets have reached your system. The less the attackers can learn
   about your system, the more time they must invest before actually doing
   something bad. Rules that include a log first option, will only log the
   event the first time they are triggered. This option is included in the
   sample nmap OS fingerprint rule. The security/nmap utility is commonly
   used by attackers who attempt to identify the operating system of your
   server.

   Any time there are logged messages on a rule with the log first option, an
   ipfstat -hio command should be executed to evaluate how many times the
   rule has actually matched. Large number of matches usually indicate that
   the system is being flooded (i.e.: under attack).

   The /etc/services file may be used to lookup unknown port numbers.
   Alternatively, visit
   http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers and do a
   port number lookup to find the purpose of a particular port number.

   Check out this link for port numbers used by Trojans
   http://www.sans.org/security-resources/idfaq/oddports.php.

   The following ruleset creates a complete and very secure inclusive type of
   firewall ruleset that has been tested on production systems. It can be
   easily modified for your own system. Just comment out any pass rules for
   services that should not be authorized.

   To avoid logging unwanted messages, just add a block rule in the inbound
   section.

   The dc0 interface name has to be changed in every rule to the real
   interface name of the NIC card that connects your system to the public
   Internet. For user PPP it would be tun0.

   Add the following statements to /etc/ipf.rules:

 #################################################################
 # No restrictions on Inside LAN Interface for private network
 # Not needed unless you have LAN
 #################################################################

 #pass out quick on xl0 all
 #pass in quick on xl0 all

 #################################################################
 # No restrictions on Loopback Interface
 #################################################################
 pass in quick on lo0 all
 pass out quick on lo0 all

 #################################################################
 # Interface facing Public Internet (Outbound Section)
 # Match session start requests originating from behind the
 # firewall on the private network
 # or from this gateway server destined for the public Internet.
 #################################################################

 # Allow out access to my ISP's Domain name server.
 # xxx must be the IP address of your ISP's DNS.
 # Dup these lines if your ISP has more than one DNS server
 # Get the IP addresses from /etc/resolv.conf file
 pass out quick on dc0 proto tcp from any to xxx port = 53 flags S keep state
 pass out quick on dc0 proto udp from any to xxx port = 53 keep state

 # Allow out access to my ISP's DHCP server for cable or DSL networks.
 # This rule is not needed for 'user ppp' type connection to the
 # public Internet, so you can delete this whole group.
 # Use the following rule and check log for IP address.
 # Then put IP address in commented out rule & delete first rule
 pass out log quick on dc0 proto udp from any to any port = 67 keep state
 #pass out quick on dc0 proto udp from any to z.z.z.z port = 67 keep state


 # Allow out non-secure standard www function
 pass out quick on dc0 proto tcp from any to any port = 80 flags S keep state

 # Allow out secure www function https over TLS SSL
 pass out quick on dc0 proto tcp from any to any port = 443 flags S keep state

 # Allow out send & get email function
 pass out quick on dc0 proto tcp from any to any port = 110 flags S keep state
 pass out quick on dc0 proto tcp from any to any port = 25 flags S keep state

 # Allow out Time
 pass out quick on dc0 proto tcp from any to any port = 37 flags S keep state

 # Allow out nntp news
 pass out quick on dc0 proto tcp from any to any port = 119 flags S keep state

 # Allow out gateway & LAN users' non-secure FTP ( both passive & active modes)
 # This function uses the IPNAT built in FTP proxy function coded in
 # the nat rules file to make this single rule function correctly.
 # If you want to use the pkg_add command to install application packages
 # on your gateway system you need this rule.
 pass out quick on dc0 proto tcp from any to any port = 21 flags S keep state

 # Allow out ssh/sftp/scp (telnet/rlogin/FTP replacements)
 # This function is using SSH (secure shell)
 pass out quick on dc0 proto tcp from any to any port = 22 flags S keep state

 # Allow out insecure Telnet
 pass out quick on dc0 proto tcp from any to any port = 23 flags S keep state

 # Allow out FreeBSD CVSup
 pass out quick on dc0 proto tcp from any to any port = 5999 flags S keep state

 # Allow out ping to public Internet
 pass out quick on dc0 proto icmp from any to any icmp-type 8 keep state

 # Allow out whois from LAN to public Internet
 pass out quick on dc0 proto tcp from any to any port = 43 flags S keep state

 # Block and log only the first occurrence of everything
 # else that's trying to get out.
 # This rule implements the default block
 block out log first quick on dc0 all

 #################################################################
 # Interface facing Public Internet (Inbound Section)
 # Match packets originating from the public Internet
 # destined for this gateway server or the private network.
 #################################################################

 # Block all inbound traffic from non-routable or reserved address spaces
 block in quick on dc0 from 192.168.0.0/16 to any    #RFC 1918 private IP
 block in quick on dc0 from 172.16.0.0/12 to any     #RFC 1918 private IP
 block in quick on dc0 from 10.0.0.0/8 to any        #RFC 1918 private IP
 block in quick on dc0 from 127.0.0.0/8 to any       #loopback
 block in quick on dc0 from 0.0.0.0/8 to any         #loopback
 block in quick on dc0 from 169.254.0.0/16 to any    #DHCP auto-config
 block in quick on dc0 from 192.0.2.0/24 to any      #reserved for docs
 block in quick on dc0 from 204.152.64.0/23 to any   #Sun cluster interconnect
 block in quick on dc0 from 224.0.0.0/3 to any       #Class D & E multicast

 ##### Block a bunch of different nasty things. ############
 # That I do not want to see in the log

 # Block frags
 block in quick on dc0 all with frags

 # Block short tcp packets
 block in quick on dc0 proto tcp all with short

 # block source routed packets
 block in quick on dc0 all with opt lsrr
 block in quick on dc0 all with opt ssrr

 # Block nmap OS fingerprint attempts
 # Log first occurrence of these so I can get their IP address
 block in log first quick on dc0 proto tcp from any to any flags FUP

 # Block anything with special options
 block in quick on dc0 all with ipopts

 # Block public pings
 block in quick on dc0 proto icmp all icmp-type 8

 # Block ident
 block in quick on dc0 proto tcp from any to any port = 113

 # Block all Netbios service. 137=name, 138=datagram, 139=session
 # Netbios is MS/Windows sharing services.
 # Block MS/Windows hosts2 name server requests 81
 block in log first quick on dc0 proto tcp/udp from any to any port = 137
 block in log first quick on dc0 proto tcp/udp from any to any port = 138
 block in log first quick on dc0 proto tcp/udp from any to any port = 139
 block in log first quick on dc0 proto tcp/udp from any to any port = 81

 # Allow traffic in from ISP's DHCP server. This rule must contain
 # the IP address of your ISP's DHCP server as it's the only
 # authorized source to send this packet type. Only necessary for
 # cable or DSL configurations. This rule is not needed for
 # 'user ppp' type connection to the public Internet.
 # This is the same IP address you captured and
 # used in the outbound section.
 pass in quick on dc0 proto udp from z.z.z.z to any port = 68 keep state

 # Allow in standard www function because I have apache server
 pass in quick on dc0 proto tcp from any to any port = 80 flags S keep state

 # Allow in non-secure Telnet session from public Internet
 # labeled non-secure because ID/PW passed over public Internet as clear text.
 # Delete this sample group if you do not have telnet server enabled.
 #pass in quick on dc0 proto tcp from any to any port = 23 flags S keep state

 # Allow in secure FTP, Telnet, and SCP from public Internet
 # This function is using SSH (secure shell)
 pass in quick on dc0 proto tcp from any to any port = 22 flags S keep state

 # Block and log only first occurrence of all remaining traffic
 # coming into the firewall. The logging of only the first
 # occurrence avoids filling up disk with Denial of Service logs.
 # This rule implements the default block.
 block in log first quick on dc0 all
 ################### End of rules file #####################################

  31.5.14. NAT

   NAT stands for Network Address Translation. To those familiar with
   Linux(R), this concept is called IP Masquerading; NAT and IP Masquerading
   are the same thing. One of the many things the IPF NAT function enables is
   the ability to have a private Local Area Network (LAN) behind the firewall
   sharing a single ISP assigned IP address on the public Internet.

   You may ask why would someone want to do this. ISPs normally assign a
   dynamic IP address to their non-commercial users. Dynamic means that the
   IP address can be different each time you dial in and log on to your ISP,
   or for cable and DSL modem users, when the modem is power cycled. This
   dynamic IP address is used to identify your system to the public Internet.

   Now lets say you have five PCs at home and each one needs Internet access.
   You would have to pay your ISP for an individual Internet account for each
   PC and have five phone lines.

   With NAT only a single account is needed with your ISP. The other four PCs
   may then be cabled to a switch and the switch to the NIC in your FreeBSD
   system which is going to service your LAN as a gateway. NAT will
   automatically translate the private LAN IP address for each separate PC on
   the LAN to the single public IP address as it exits the firewall bound for
   the public Internet. It also does the reverse translation for returning
   packets.

   There is a special range of IP addresses reserved for NATed private LANs.
   According to RFC 1918, the following IP ranges may be used for private
   nets which will never be routed directly to the public Internet:

   Start IP 10.0.0.0             -          Ending IP 10.255.255.255          
   Start IP 172.16.0.0           -          Ending IP 172.31.255.255          
   Start IP 192.168.0.0          -          Ending IP 192.168.255.255         

  31.5.15. IPNAT

   NAT rules are loaded by using the ipnat command. Typically the NAT rules
   are stored in /etc/ipnat.rules. See ipnat(1) for details.

   When changing the NAT rules after NAT has been started, make your changes
   to the file containing the NAT rules, then run the ipnat command with the
   -CF flags to delete the internal in use NAT rules and flush the contents
   of the translation table of all active entries.

   To reload the NAT rules issue a command like this:

 # ipnat -CF -f /etc/ipnat.rules

   To display some statistics about your NAT, use this command:

 # ipnat -s

   To list the NAT table's current mappings, use this command:

 # ipnat -l

   To turn verbose mode on, and display information relating to rule
   processing and active rules/table entries:

 # ipnat -v

  31.5.16. IPNAT Rules

   NAT rules are very flexible and can accomplish many different things to
   fit the needs of commercial and home users.

   The rule syntax presented here has been simplified to what is most
   commonly used in a non-commercial environment. For a complete rule syntax
   description see the ipnat(5) manual page.

   The syntax for a NAT rule looks something like this:

 map IF LAN_IP_RANGE -> PUBLIC_ADDRESS

   The keyword map starts the rule.

   Replace IF with the external interface.

   The LAN_IP_RANGE is what your internal clients use for IP Addressing,
   usually this is something like 192.168.1.0/24.

   The PUBLIC_ADDRESS can either be the external IP address or the special
   keyword 0/32, which means to use the IP address assigned to IF.

  31.5.17. How NAT works

   A packet arrives at the firewall from the LAN with a public destination.
   It passes through the outbound filter rules, NAT gets its turn at the
   packet and applies its rules top down, first matching rule wins. NAT tests
   each of its rules against the packet's interface name and source IP
   address. When a packet's interface name matches a NAT rule then the source
   IP address (i.e.: private LAN IP address) of the packet is checked to see
   if it falls within the IP address range specified to the left of the arrow
   symbol on the NAT rule. On a match the packet has its source IP address
   rewritten with the public IP address obtained by the 0/32 keyword. NAT
   posts an entry in its internal NAT table so when the packet returns from
   the public Internet it can be mapped back to its original private IP
   address and then passed to the filter rules for processing.

  31.5.18. Enabling IPNAT

   To enable IPNAT add these statements to /etc/rc.conf.

   To enable your machine to route traffic between interfaces:

 gateway_enable="YES"

   To start IPNAT automatically each time:

 ipnat_enable="YES"

   To specify where to load the IPNAT rules from:

 ipnat_rules="/etc/ipnat.rules"

  31.5.19. NAT for a very large LAN

   For networks that have large numbers of PC's on the LAN or networks with
   more than a single LAN, the process of funneling all those private IP
   addresses into a single public IP address becomes a resource problem that
   may cause problems with the same port numbers being used many times across
   many NATed LAN PC's, causing collisions. There are two ways to relieve
   this resource problem.

    31.5.19.1. Assigning Ports to Use

   A normal NAT rule would look like:

 map dc0 192.168.1.0/24 -> 0/32

   In the above rule the packet's source port is unchanged as the packet
   passes through IPNAT. By adding the portmap keyword, IPNAT can be directed
   to only use source ports in the specified range. For example the following
   rule will tell IPNAT to modify the source port to be within the range
   shown:

 map dc0 192.168.1.0/24 -> 0/32 portmap tcp/udp 20000:60000

   Additionally we can make things even easier by using the auto keyword to
   tell IPNAT to determine by itself which ports are available to use:

 map dc0 192.168.1.0/24 -> 0/32 portmap tcp/udp auto

    31.5.19.2. Using a Pool of Public Addresses

   In very large LANs there comes a point where there are just too many LAN
   addresses to fit into a single public address. If a block of public IP
   addresses is available, these addresses can be used as a "pool", and IPNAT
   may pick one of the public IP addresses as packet-addresses are mapped on
   their way out.

   For example, instead of mapping all packets through a single public IP
   address, as in:

 map dc0 192.168.1.0/24 -> 204.134.75.1

   A range of public IP addresses can be specified either with a netmask:

 map dc0 192.168.1.0/24 -> 204.134.75.0/255.255.255.0

   or using CIDR notation:

 map dc0 192.168.1.0/24 -> 204.134.75.0/24

  31.5.20. Port Redirection

   A very common practice is to have a web server, email server, database
   server and DNS server each segregated to a different PC on the LAN. In
   this case the traffic from these servers still have to be NATed, but there
   has to be some way to direct the inbound traffic to the correct LAN PCs.
   IPNAT has the redirection facilities of NAT to solve this problem. For
   example, assuming a web server operating on LAN address 10.0.10.25 and
   using a single public IP address of 20.20.20.5 the rule would be coded as
   follows:

 rdr dc0 20.20.20.5/32 port 80 -> 10.0.10.25 port 80

   or:

 rdr dc0 0.0.0.0/0 port 80 -> 10.0.10.25 port 80

   or for a LAN DNS Server on LAN address of 10.0.10.33 that needs to receive
   public DNS requests:

 rdr dc0 20.20.20.5/32 port 53 -> 10.0.10.33 port 53 udp

  31.5.21. FTP and NAT

   FTP is a dinosaur left over from the time before the Internet as it is
   known today, when research universities were leased lined together and FTP
   was used to share files among research Scientists. This was a time when
   data security was not a consideration. Over the years the FTP protocol
   became buried into the backbone of the emerging Internet and its username
   and password being sent in clear text was never changed to address new
   security concerns. FTP has two flavors, it can run in active mode or
   passive mode. The difference is in how the data channel is acquired.
   Passive mode is more secure as the data channel is acquired by the ordinal
   ftp session requester. For a real good explanation of FTP and the
   different modes see http://www.slacksite.com/other/ftp.html.

    31.5.21.1. IPNAT Rules

   IPNAT has a special built in FTP proxy option which can be specified on
   the NAT map rule. It can monitor all outbound packet traffic for FTP
   active or passive start session requests and dynamically create temporary
   filter rules containing only the port number really in use for the data
   channel. This eliminates the security risk FTP normally exposes the
   firewall to from having large ranges of high order port numbers open.

   This rule will handle all the traffic for the internal LAN:

 map dc0 10.0.10.0/29 -> 0/32 proxy port 21 ftp/tcp

   This rule handles the FTP traffic from the gateway:

 map dc0 0.0.0.0/0 -> 0/32 proxy port 21 ftp/tcp

   This rule handles all non-FTP traffic from the internal LAN:

 map dc0 10.0.10.0/29 -> 0/32

   The FTP map rule goes before our regular map rule. All packets are tested
   against the first rule from the top. Matches on interface name, then
   private LAN source IP address, and then is it a FTP packet. If all that
   matches then the special FTP proxy creates temp filter rules to let the
   FTP session packets pass in and out, in addition to also NATing the FTP
   packets. All LAN packets that are not FTP do not match the first rule and
   fall through to the third rule and are tested, matching on interface and
   source IP, then are NATed.

    31.5.21.2. IPNAT FTP Filter Rules

   Only one filter rule is needed for FTP if the NAT FTP proxy is used.

   Without the FTP Proxy, the following three rules will be needed:

 # Allow out LAN PC client FTP to public Internet
 # Active and passive modes
 pass out quick on rl0 proto tcp from any to any port = 21 flags S keep state

 # Allow out passive mode data channel high order port numbers
 pass out quick on rl0 proto tcp from any to any port > 1024 flags S keep state

 # Active mode let data channel in from FTP server
 pass in quick on rl0 proto tcp from any to any port = 20 flags S keep state

31.6. IPFW

   Die IPFIREWALL (IPFW) ist eine vom FreeBSD Project gesponserte
   Software-Firewall. Sie wurde und wird freiwillig von Mitgliedern des
   FreeBSD Projects geschrieben und gewartet. Mit zustandslosen Regeln und
   einer Grammatik fu:r Regeln implementiert sie eine sogenannte "Einfache
   Zustandsgesteuerte Logik".

   Die Standardinstallation von IPFW entha:lt einen beispielhaften Regelsatz
   (/etc/rc.firewall und /etc/rc.firewall6). Dieser ist eher einfach
   gehalten; es ist nicht zu erwarten, dass dieser ohne Modifikationen
   angewandt werden kann. Dieses Beispiel nutzt keine zustandsorientierte
   Filterung, von der allerdings die meisten Installationen profitieren
   sollten. Deshalb wird sich dieser Abschnitt auch nicht auf diese Beispiele
   stu:tzen.

   Die zustandslose IPFW Regel-Syntax ist durch ihre technisch ausgefeilten
   Selektions-Fa:higkeiten, die u:ber das Niveau der gebra:chlichen
   Firewall-Installationsprogramme weit hinausgehen, sehr ma:chtig. IPFW
   richtet sich an professionelle oder technisch versierte Nutzer mit
   weitergehenden Anforderungen an die Paket-Auswahl. Um die Ausdruckssta:rke
   der IPFW zu nutzen, ist sehr detailliertes Wissen u:ber die Art und Weise,
   wie verschiedene Protokolle ihre jeweilige Paket-Header-Information
   erzeugen und nutzen, erforderlich. Im Rahmen dieses Abschnitts ist es
   nicht mo:glich, auf alle diese Punkte detailliert einzugehen.

   IPFW besteht aus sieben Komponenten: Hauptbestandteil ist der Kernel
   Firewall Filter, ein Regel-Prozessor mit integrierter Paket-Buchfu:hrung.
   Ausserdem enthalten ist eine Komponente zur Protokollierung der
   Aktivita:ten der Firewall (also ein Logfunktion). Weiters besteht die IPFW
   aus einer Regel zum Umleiten des Datenverkehrs (divert), die auch Network
   Address Translation (NAT) unterstu:tzt. Die restlichen Bestandteile dienen
   verschiedenen fortgeschrittenen Zwecken. Der Traffic Shaper dummynet(4)
   gestattet es beispielsweise, den Datenverkehr zu lenken, wa:hrend die
   fwd-Regel zum Weiterleiten von Datenpaketen dient. Komplettiert wird IPFW
   durch Funktionen zum U:berbru:cken von Netzwerkgrenzen (Bridge-Funktion)
   sowie ipstealth, das es gestattet, bridging-Funktionen durchzufu:hren,
   ohne dabei das TTL-Feld im IP-Paket zu erho:hen. IPFW unterstu:tzt IPv4
   und IPv6.

  31.6.1. IPFW aktivieren

   IPFW ist in der FreeBSD-Installation standardma:ssig als ein zur Laufzeit
   ladbares Kernelmodul enthalten, das vom System automatisch geladen wird,
   wenn in der Datei rc.conf die Option firewall_enable="YES" gesetzt wird.
   Es ist daher in der Regel nicht notwendig, IPFW statisch in den Kernel zu
   kompilieren. Es sei denn, man beno:tigt die NAT-Funktionalita:t.

   Wa:hrend des Systemstart wird bei gesetzter Option firewall_enable="YES"
   (in der Datei rc.conf) folgende Nachricht ausgegeben:

 ipfw2 initialized, divert disabled, rule-based forwarding disabled, default to deny, logging disabled

   Das Kernelmodul hat eine Protokollierungsfunktion. Um diese zu aktivieren
   und einen Schwellwert fu:r die Protokollierung zu definieren, ist es
   erforderlich, folgende Ausdru:cke der /etc/sysctl.conf hinzuzufu:gen:

 net.inet.ip.fw.verbose=1
 net.inet.ip.fw.verbose_limit=5

  31.6.2. Kerneloptionen

   IPFW muss nicht durch einkompilieren bestimmter, im folgenden
   konkretisierter Optionen in den Kernel aktiviert werden, es sei denn, man
   beno:tigt NAT-Funktionalita:t. Die erforderlichen Optionen werden deshalb
   hier lediglich als Hintergrundinformation aufgefu:hrt.

 options IPFIREWALL

   Diese Option aktiviert IPFW als Bestandteil des Kernels.

 options IPFIREWALL_VERBOSE

   Diese Option aktiviert die Funktion, alle Pakete, die durch IPFW
   verarbeitet werden und bei denen das Schlu:sselwort log gesetzt ist, zu
   protokollieren.

 options IPFIREWALL_VERBOSE_LIMIT=5

   Diese Option limitiert die Anzahl der durch syslogd(8) protokollierten
   Pakete auf das angegebene Maximum. Sie wird in feindlichen Umgebungen
   verwandt, in denen die Protokollierung der Firewall-Aktivita:t erwu:nscht
   ist. Dadurch wird ein mo:glicher Denial-of-Service-Angriff durch
   U:berflutung von syslogd(8) verhindert.

 options IPFIREWALL_DEFAULT_TO_ACCEPT

   Diese Option erlaubt allen Paketen, die Firewall zu passieren. Diese
   Einstellung kann beispielsweise bei der ersten Konfiguration der Firewall
   hilfreich sein.

 options IPDIVERT

   Dies aktiviert die Nutzung der NAT-Funktionalita:t.

  Anmerkung:

   Die Firewall wird alle eingehenden oder ausgehenden Pakete blockieren,
   wenn entweder die Kernel-Option IPFIREWALL_DEFAULT_TO_ACCEPT fehlt oder
   aber keine Regel, die die betreffenden Verbindungen explizit gestattet,
   existiert. Dies enstpricht im Wesentlichen der Einstellung "default to
   deny"

  31.6.3. Optionen in /etc/rc.conf

   Der Eintrag

 firewall_enable="YES"

   aktiviert die Firewall wa:hrend des Systemstarts.

   Die Auswahl einer fu:r FreeBSD verfu:gbaren Firewall erfolgt durch einen
   entsprechenden Eintrag in der Datei /etc/rc.firewall, durch den der
   Firewalltyp festgelegt wird.

 firewall_type="open"

   Konkret sind folgende Eintra:ge erlaubt:

     * open - gestattet jeglichen Datenverkehr

     * client - schu:tzt nur die jeweilige Maschine (Client/Mandant)

     * simple - schu:tzt das gesamte Netzwerk

     * closed - unterbindet jeglichen IP-Datenverkehr mit Ausnahme des
       Verkehrs u:ber die Loopback-Schnittstelle.

     * UNKNOWN - deaktiviert das Laden von Firewallregeln

     * filename - absoluter Pfad zu einer Datei, in der die Firewallregeln
       definiert sind

   Angepasste Regeln fu:r ipfw(8) ko:nnen auf zwei verschiedene Arten geladen
   werden. Einerseits kann man durch die Variable firewall_type den absoluten
   Pfad der Datei angeben, welche die Firewallregeln (ohne weitere Optionen)
   fu:r ipfw(8) entha:lt. Ein einfaches Beispiel fu:r einen Regelsatz, der
   jeglichen eingehenden und ausgehenden Datenverkehr blockiert, ko:nnte
   beispielsweise so aussehen:

 add deny in add deny out

   Andererseits ist es mo:glich, den Wert der firewall_type-Variable mit dem
   absoluten Pfad einer Datei zu belegen, die (als ausfu:hrbares Skript) die
   ipfw(8)-Kommandos entha:lt, die beim Booten ausgefu:hrt werden sollen. Ein
   gu:ltiges Skript (das die gleiche Funktion hat wie die Zeile im letzten
   Beispiel) ko:nnte beispielsweise so aussehen:

 #!/bin/sh

 ipfw -q flush

 ipfw add deny in
 ipfw add deny out

  Anmerkung:

   Wenn die Variable firewall_type entweder auf client oder simple gesetzt
   ist, sollten die Standardregeln in der Datei /etc/rc.firewall gepru:ft und
   an die Konfiguration der gegebenen Maschine angepasst werden. Beachten Sie
   dabei bitte, dass die Beispiele dieses Kapitels davon ausgehen, dass das
   firewall_script auf /etc/ipfw.rules gesetzt ist.

   Das Logging wird durch folgenden Eintrag aktiviert:

 firewall_logging="YES"

  Warnung:

   Die Variable firewall_logging definiert lediglich die sysctl-Variable als
   net.inet.ip.fw.verbose = 1 (lesen Sie dazu bitte auch den Abschnitt
   Abschnitt 31.6.1, "IPFW aktivieren" des Handbuchs). Es gibt keine
   rc.conf-Variable, mit der man Protokollierungsschwellen setzen ko:nnte.
   Dies kann lediglich u:ber sysctl(8) geschehen, wobei Sie in der Datei
   /etc/sysctl.conf nur Werte > 1 angeben sollten:

 net.inet.ip.fw.verbose_limit=5

   Sollte Ihre Maschinen als Gateway fungieren (also mittels natd(8) Network
   Address Translation (NAT) durchfu:hren), finden Sie in Abschnitt
   Abschnitt 32.9, "NAT - Network Address Translation" weitere Optionen fu:r
   die /etc/rc.conf.

  31.6.4. Der Befehl IPFW

   Mit ipfw(8) ist es mo:glich, im laufenden Betrieb einzelne Regeln
   hinzuzufu:gen oder zu entfernen. Problematisch ist allerdings, dass diese
   A:nderungen verloren gehen, wenn das System neu gestartet wird. Daher ist
   es empfehlenswert, eigene Regeln in einer Datei zu definieren und diese zu
   laden, um die Regeln der Firewall im laufenden Betrieb anzupassen.

   ipfw(8) ist jedoch hilfreich, um die Regeln der laufenden Firewall in der
   Konsole auszugeben. IPFW erzeugt dynamisch einen Za:hler, der jedes Paket,
   auf das eine Regel zutrifft, za:hlt. Dadurch wird es mo:glich, die
   Funktion einer Regel zu u:berpru:fen.

   Eine sequentielle Liste aller Regeln erhalten Sie mit:

 # ipfw list

   Eine Liste aller Regeln inklusive des letzten Treffers erhalten Sie durch
   den folgenden Befehl:

 # ipfw -t list

   Um eine Liste aller Regeln inklusive der Anzahl der Pakete, die von einer
   Regel gefiltert wurden, zu erhalten, geben Sie den folgenden Befehl ein:

 # ipfw -a list

   Eine Liste, die zusa:tzlich allen dynamischen Regeln entha:lt, erhalten
   Sie mit:

 # ipfw -d list

   Um diese Liste um alle "abgelaufenen" Regeln zu erweitern, a:dern Sie
   diesen Befehl wie folgt ab:

 # ipfw -d -e list

   Alle Za:hler auf Null zuru:cksetzen:

 # ipfw zero

   Es ist auch mo:glich, einen spezifischen Za:hler auszuwa:hlen und
   zuru:ckzusetzen:

 # ipfw zero NUM

  31.6.5. IPFW-Regeln

   Ein Regelwerk ist eine Menge von IPFW-Regeln, die in Abha:ngigkeit von
   bestimmten Paketeigenschaften Pakete entweder passieren lassen oder
   abweisen. Der zustandshafte bidirektionale Transfer von Paketen zwischen
   Rechnern wird als Sitzung bezeichnet. Das Regelwerk der Firewall
   verarbeitet sowohl ankommende Pakete (aus dem o:ffentlichen Internet) als
   auch Pakete, deren Ursprung in einer Antwort des Systems auf empfangene
   Pakete liegt. Jeder TCP/IP-Dienst (wie telnet, www, mail) ist durch sein
   Protokoll und durch den priveligierten (eingehenden) Port definiert. An
   einen spezifischen Dienst adressierte Pakete kommen von einer Quelladresse
   und einem unprivilegierten (high order) Port. Sie adressieren den
   spezifischen Port des Dienstes an der Zieladresse. Alle weiter oben
   aufgefu:hrten Parameter (also Ports und Adressen) ko:nnen als
   Selektionskriterium zur Erzeugung von Regeln genutzt werden, die ein
   Passieren der Firewall fu:r oder ein Blockieren von Diensten bewirken.

   Wenn ein Paket die Firewall "betritt", also von der Firewall gepru:ft und
   verarbeitet wird, wird die erste Regel des Regelwerkes auf das Paket
   angewandt. Auf diese Weise wird in aufsteigender Reihenfolge der
   Regelnummer mit allen weiteren Regeln verfahren. Falls die
   Selektionsparameter einer Regel auf ein Paket zutreffen, wird das
   Aktionsfeld der Regel ausgefu:hrt und die Pru:fung des Pakets beendet,
   nachfolgende Regeln werden also nicht mehr gepru:ft. Diese Suchmethode
   wird als "erster Treffer gewinnt" bezeichnet. Falls keine Regel auf das
   betreffende Paket zutrifft, wird die obligatorische IPFW-Ru:ckfallregel
   (also Regel 65535) angewendet und das Paket wird ohne Ru:ckantwort
   verworfen.

  Anmerkung:

   Die Pru:fung der Regeln wird nach Treffern von mit count, skipto und tee
   parametrisierten Regeln ungeachtet des "erster Treffer gewinnt"-Prinzips
   weiter fortgefu:hrt.

   Die Anweisungen basieren auf der Nutzung von Regeln mit den
   zustandsgesteuerten Optionen keep, state, limit, in und out. Diese bilden
   die Basis fu:r die Spezifikation von Firewallregeln.

  Warnung:

   Bei der Arbeit mit Firewallregeln ist Vorsicht geboten. Es ist sehr
   einfach, sich selbst auszuschliessen.

    31.6.5.1. Syntax der Firewallregeln

   Mit der in diesem Abschnitt dargestellten Syntax der Regeln kann ein
   Standardregelsatz fu:r eine "einschliessende" Firewall erstellt werden.
   Fu:r eine vollsta:ndige Beschreibung der Regelsyntax lesen Sie bitte die
   Manualpage ipfw(8)

   Regelausdru:cke werden "von links nach rechts" ausgewertet.
   Schlu:sselwo:rter werden in fetter Schrift dargestellt. Manche
   Schlu:sselworte beinhalten Unteroptionen, die wiederum selbst aus
   Schlu:sselworten samt Optionen bestehen ko:nnen.

   Kommentare sind mit einen fu:hrenden Doppelkreuz (#) ausgezeichnet. Sie
   ko:nnen am Ende einer Regel oder in einzelnen, separaten Zeilen stehen.
   Leerzeilen werden ignoriert.

   CMD RULE_NUMBER ACTION LOGGING SELECTION STATEFUL

      31.6.5.1.1. CMD

   Jede neue Regel beno:tigt das Pra:fix add, um die Regel der internen
   Tabelle hinzuzfu:gen.

      31.6.5.1.2. RULE_NUMBER

   Zu jeder Regel geho:rt eine Regelnummer zwischen 1 und 65535.

      31.6.5.1.3. ACTION

   Eine Regel kann mit einer der vier folgenden Aktionen verbunden sein, die
   ausgefu:hrt werden, wenn ein Paket den Selektionskriterien der Regel
   entspricht.

   allow | accept | pass | permit

   Alle diese Aktionen bewirken das Gleiche: Pakete, die den
   Selektionskriterien der Regel entsprechen, verlassen den
   Regelpru:fungsabschnitt der Firewall und die Regelpru:fung wird beendet.

   check-state

   Diese Aktion pru:ft das Paket gegen die Regeln aus den dynamischen
   Regeltabellen. Trifft ein Selektionskriterium zu, wird die zur dynamischen
   Regel geho:rende Aktion ausgefu:hrt. Anderenfalls wird gegen die na:chste
   Regel gepru:ft. Die check-state-Regel selbst hat kein Selektionskriterium.
   Sollte eine check-state-Regel im Regelwerk fehlen, wird gegen die erste
   keep-state- oder limit-Regel in den dynamischen Regeln gepru:ft.

   deny | drop

   Beide Schlu:sselworte bewirken dieselbe Aktion: Ein Paket, dass die
   Selektionskriterien der Regel erfu:llt, wird verworfen und die
   Regelpru:fung wird beendet.

      31.6.5.1.4. Protokollierung

   log oder logamount

   Erfu:llt ein Paket die Selektionskriterien mit dem Schlu:sselwort log,
   wird dies von syslogd(8) mit der Annotation SECURITY protokolliert. Dies
   erfolgt allerdings nur, wenn die Anzahl der protokollierten Pakete der
   betreffenden Regel die im logamount-Parameter definierte Schwelle nicht
   u:bersteigt. Ist der Parameter logamount nicht definiert, wird diese
   Grenze aus der sysctl-Variable net.inet.ip.fw.verbose_limit ermittelt. Ist
   einer dieser beiden Werte auf "Null" gesetzt, wird unbegrenzt
   protokolliert. Wurde hingegen ein definierter Schwellenwert erreicht, wird
   die Protokollierung deaktiviert. Um sie zu reaktivieren, ko:nnen Sie
   entweder den Protokoll- oder den Paketza:hler ru:cksetzen (und zwar u:ber
   den Befehl ipfw reset log).

  Anmerkung:

   Die Protokollierung findet statt, nachdem alle Paketselektionskriterien
   gepru:ft und bevor die daraus folgende, endgu:ltige Aktion (accept oder
   deny) auf das Paket ausgefu:hrt wird. Die Entscheidung, welche Regel
   protokolliert werden soll, bleibt Ihnen u:berlassen.

      31.6.5.1.5. Selektion

   Die in diesem Abschnitt beschriebenen Schlu:sselwo:rter beschreiben die
   Attribute eines Pakets, durch die bestimmt wird, ob eine Regel auf ein
   Paket zutrifft. Die folgenden Attribute dienen der Bestimmung des
   Protokolls und mu:ssen in der angegebenen Reihenfolge verwendet werden.

   udp | tcp | icmp

   Weitere in /etc/protocols angegebene Protokolle werden ebenfalls erkannt
   und ko:nnen daher verwendet werden, um das Protokoll zu definieren, gegen
   das Pakete gepru:ft werden. Die Angabe des Protokolls ist verpflichtend.

   from src to dst

   Die Schlu:sselwo:rter from und to beziehen sich auf IP-Adressen und
   definieren sowohl Ursprungs- als auch Zieladresse einer Datenverbindung.
   Firewallregeln mu:ssen Parameter fu:r den Ursprung und das Ziel enthalten.
   Das Schlu:sselwort any steht fu:r beliebige IP-Adressen. Bei me handelt es
   sich um ein spezielles Schlu:sselwort, das alle IP-Adressen beschreibt,
   die einer bestimmten Netzwerkschnittstelle Ihres Systems (auf dem die
   Firewall la:uft) zugeordnet sind. Beispiele hierfu:r sind from me to any,
   from any to me, from 0.0.0.0/0 to any , from any to 0.0.0.0/0, from
   0.0.0.0 to any, from any to 0.0.0.0 oder from me to 0.0.0.0. IP-Adressen
   werden entweder in CIDR-Notation oder durch Punkte getrennt mit Suffixen
   (192.168.2.101/24) fu:r die Netzmaske oder als einzelne numerische, durch
   Punkte getrennte Adressen (192.168.2.101) angegeben. Die dafu:r
   notwendigen Berechnungen erleichtert der Port net-mgmt/ipcalc.
   Weiterfu:hrende Informationen finden sich auf http://jodies.de/ipcalc.

   port number

   Bei der Verarbeitung von Protokollen wie TCP oder UDP, die Portnummern
   verwenden, muss die Portnummer des betreffenden Dienstes angegeben werden.
   Anstelle der Portnummer kann auch der in der Datei /etc/services
   definierte Name des Dienstes angegeben werden.

   in | out

   Diese Schlu:sselwo:rter beziehen sich auf die Richtung des Datenverkehrs.
   Jede Regel muss eines dieser beiden Schlu:sselwo:rter enthalten.

   via IF

   Eine Regel mit dem Schlu:sselwort via IF betrifft nur Pakete, die u:ber
   die angegebene Schnittstellte geroutet werden (ersetzen Sie IF durch den
   Namen Ihrer Netzwerkschnittstelle). Die Angabe des Schlu:sselwortes via
   bewirkt, dass die Netzwerkschnittstelle in die Regelpru:fung aufgenommen
   wird.

   setup

   Dieses obligatorische Schlu:sselwort bezeichnet die Anforderung des
   Sitzungsstarts fu:r TCP-Pakete.

   keep-state

   Dieses obligatorische Schlu:sselwort bewirkt, dass die Firewall eine
   dynamische Regel erzeugt, die bidirektionalen Datenverkehr zwischen
   Ursprungs- und Zieladresse sowie Ursprungs- und Zielport pru:ft, der das
   gleiche Protokoll verwendet.

   limit {src-addr | src-port | dst-addr | dst-port}

   Wird das Schlu:sselwort limit verwendet, sind nur N durch diese Regel
   definierte Verbindungen erlaubt. Es ko:nnen dabei ein oder mehrere
   Ursprungs- und Zieladressen sowie ein oder mehrere Ports angegeben werden.
   Die Schlu:sselwo:rter limit und keep-state ko:nnen nicht in derselben
   Regel verwendet werden. Die Option limit bewirkt dieselbe Zustandsteuerung
   wie die Option keep-state, erweitert diese jedoch um eigene Regeln.

    31.6.5.2. Optionen fu:r zustandsgesteuerte Regeln

   Eine zustandsgesteuerte Filterung behandelt Datenverkehr als einen
   bidirektionalen Austausch von Datenpaketen (die eine sogenannte
   Konversation innerhalb einer Sitzung darstellen). Sie ist in der Lage, zu
   bestimmen, ob die Konversation von origina:rem Sender und Empfa:nger
   gu:ltigen Prozeduren des bidirektionalen Pakettausches entspricht. Pakete,
   die dem Muster von Konversationen in Sitzungen nicht folgen, werden
   automatisch als "Betru:ger" abgelehnt.

   Die check-state-Option wird verwendet, wo genau innerhalb des
   IPFW-Regelwerks die Pru:fung dynamischer Regeln stattfinden soll. Erfu:llt
   ein Datenpaket die Selektionskriterien der Regel, verla:sst das Paket die
   Firewall. Gleichzeitig wird eine neue dynamische Regel erzeugt, die fu:r
   das na:chste Paket der bidirektionalen Konversation in der Sitzung
   vorgesehen ist. Falls ein Paket die (dyanmische) Regel nicht erfu:llt,
   wird es gegen die na:chste Regel im Regelwerk gepru:ft.

   Dynamische Regeln sind fu:r einem sogenannten SYN-flood-Angriff anfa:llig,
   bei dem eine riesige Anzahl "schwebender" dynamischer
   Regelpru:fungungsinstanzen erzeugt wird. Um einem solchen Angriff zu
   begegnen, wurde in FreeBSD die neue Option limit geschaffen. Diese Option
   begrenzt die Anzahl der gleichzeitig mo:glichen Sitzungen und/oder
   Konversationen. Es handelt sich dabei um einen Za:hler, der die Anzahl von
   Instanzen dynamischer Regelpru:fungen in Abha:ngigkeit von einer
   eindeutigen Urspungs- und Quelladresskombination za:hlt. U:bersteigt der
   Za:hler den durch limit definierten Schwellenwert, wird das Paket
   verworfen.

    31.6.5.3. Protokollierung von Firewall-Nachrichten

   Die Vorteile einer Protokollierung sind offensichtlich. Sie ermo:glicht
   nach Aktivierung von Regeln zu untersuchen, welche Pakete verworfen
   wurden, von wo diese stammen und fu:r welche Systeme sie bestimmt waren.
   Diese Informationen sind sehr nu:tzlich bei der Erkennung eventueller
   Angriffe sowie bei deren Abwehr.

   IPFW protokolliert nur jene Regeln, fu:r die ein Administrator dies
   explizit aktiviert. Ein Aktivieren der Protolllfunktion fu:hrt also nicht
   dazu, dass automatisch alle Regeln protokolliert werden. Vielmehr
   entscheidet der Administrator der Firewall, welche Regeln protokolliert
   werden sollen. Dazu wird die Option log fu:r diese Regeln aktiviert. Im
   Regelfall werden nur deny-Regeln protokolliert, beispielsweise die
   deny-Regel fu:r eintreffende ICMP-Nachrichten. U:blicherweise wird die
   "ipfw default deny everything"-Regel doppelt angelegt. Einmal mit und
   einmal ohne aktivierte Option log. Dadurch erha:lt man eine Auflistung
   aller Pakete, auf die keine Regel zutraf.

   Protokollierung ist allerdings ein zweischneidiges Schwert, bei mangelnder
   Vorsicht wird man mit einer enormen Flut von Protokollierungsdaten
   fo:rmlich u:berschwemmt und belastet zusa:tzlich die Festplatte des
   Systems durch rasch wachsende Protokolldateien. DoS-Angriffe, die auf
   diese Art und Weise Festplatten an die Kapazita:tsgrenze treiben, geho:ren
   zu den a:ltesten Angriffen u:berhaupt. Ausserdem werden
   Protokollnachrichten nicht nur an syslogd(8) geschickt, sondern auch auf
   einem root-Terminal angezeigt.

   Die Kerneloption IPFIREWALL_VERBOSE_LIMIT=5 begrenzt die Anzahl gleicher
   Nachrichten an syslogd(8) fu:r eine gegebene Regel auf fu:nf Nachrichten.
   Ist diese Option im Kernel aktiviert, wird nach Erreichen der festgelegten
   Anzahl die Protokollierung einer (sich unmittelbar hintereinander
   wiederholenden) Nachricht auf den angegebenen Schwellenwert begrenzt, da
   beispielsweise die Speicherung von 200 gleichen Protokollnachrichten durch
   syslogd(8) sinnlos ist. Daher werden durch diesen nur fu:f derartige
   Nachrichten protokolliert. Alle weiteren derartigen Nachrichten werden nur
   geza:hlt und deren Gesamtzahl wird schliesslich von syslogd(8) durch
   folgenden Ausdruck ausgegeben:

 last message repeated 45 times

   Alle protokollierten Nachrichten fu:r Datenpakete werden in der
   Voreinstellung in die Datei /var/log/security (die in der Datei
   /etc/syslog.conf definiert wird), geschrieben.

    31.6.5.4. Skripte zur Regeldefinition erstellen

   Die meisten fortgeschrittenen IPFW-Nutzer erzeugen eine Datei, die die
   Regeln fu:r die Firewall entha:lt, um diese als Skript ausfu:hren zu
   ko:nnen. Der Hauptvorteil einer derartigen Konfiguration ist es, dass
   dadurch mehrere Regeln gleichzeitig gea:ndert und (re-)aktiviert werden
   ko:nnen, ohne dass dazu das System neu gestartet werden muss. Dies ist
   auch beim Testen von Regela:nderungen sehr hilfreich. Weil es sich bei der
   Datei, in der die Regeln gespeichert sind, um ein Skript handelt, ist es
   auch mo:glich, ha:ufig verwendete Werte/Befehle durch Aliase zu ersetzen
   und diese so in mehreren Regeln zu nutzen. Diese Funktion wird im
   folgenden Beispiel na:her vorgestellt.

   Die Syntax des folgenden Skripts entspricht der Syntax von sh(1), csh(1)
   sowie tcsh(1). Felder, die symbolisch substituiert werden, haben das
   Pra:fix $ (das Dollarzeichen). Symbolische Felder haben dieses $-Praefix
   nicht. Der Wert, mit dem das symbolische Feld belegt wird, muss in
   "doppelten Anfu:hrungszeichen" eingeschlossen sein.

   Beginnen Sie Ihre Regeldatei wie folgt:

 ############### start of example ipfw rules script #############
 #
 ipfw -q -f flush       # Delete all rules
 # Set defaults
 oif="tun0"             # out interface
 odns="192.0.2.11"      # ISP's DNS server IP address
 cmd="ipfw -q add "     # build rule prefix
 ks="keep-state"        # just too lazy to key this each time
 $cmd 00500 check-state
 $cmd 00502 deny all from any to any frag
 $cmd 00501 deny tcp from any to any established
 $cmd 00600 allow tcp from any to any 80 out via $oif setup $ks
 $cmd 00610 allow tcp from any to $odns 53 out via $oif setup $ks
 $cmd 00611 allow udp from any to $odns 53 out via $oif $ks
 ################### End of example ipfw rules script ############

   Die Regeln in diesem Beispiel sind nicht wichtig. Wichtig ist es, zu
   zeigen, wie die symbolische Substitution innerhalb der Regeln verwendet
   wird.

   Wurde dieses Beispiel in der Datei /etc/ipfw.rules gespeichert, so ko:nnen
   alle Regeln durch die Ausfu:hrung des folgenden Befehls neu geladen
   werden:

 # sh /etc/ipfw.rules

   Statt /etc/ipfw.rules ko:nnen Sie auch einen beliebigen anderen Namen
   und/oder Speicherort verwenden.

   Alternativ ko:nnten Sie die einzelnen Befehle dieses Skripts auch manuell
   starten:

 # ipfw -q -f flush
 # ipfw -q add check-state
 # ipfw -q add deny all from any to any frag
 # ipfw -q add deny tcp from any to any established
 # ipfw -q add allow tcp from any to any 80 out via tun0 setup keep-state
 # ipfw -q add allow tcp from any to 192.0.2.11 53 out via tun0 setup keep-state
 # ipfw -q add 00611 allow udp from any to 192.0.2.11 53 out via tun0 keep-state

    31.6.5.5. Zustandsgesteuertes Regelwerk

   Das folgende Regelwerk (ohne NAT-Funktionalita:t) ist ein Beispiel dafu:r,
   wie man eine sehr sichere "einschliessende" Firewall aufsetzen kann. Eine
   einschliessende Firewall erlaubt es nur Diensten, fu:r die explizite
   Regeln existieren, die Firewall zu passieren. Alle anderen Dienste und
   Pakete werden hingegen blockiert. Firewalls, die ganze Netzwerksegmente
   schu:tzen sollen, beno:tigen mindestens zwei Netzwerkschnittstellen, fu:r
   die jeweils eigene Regeln definiert werden mu:ssen, damit die Firewall
   ordnungsgema:ss funktioniert.

   Alle unixoiden Betriebssysteme (aber auch solche, die Konzepte aus UNIX(R)
   implementieren), darunter auch FreeBSD, verwenden die Schnittstelle lo0
   mit der IP-Adresse 127.0.0.1 zur internen Kommunikation mit dem
   Betriebssystem. Die Firewall muss so eingestellt sein, dass sie den
   Datenverkehr dieser speziellen (und nur intern genutzten) Pakete
   ungehindert durchla:sst.

   Die Regeln, die den Zugriff auf eingehene und ausgehende Verbindungen
   regeln, autorisieren und kontrollieren, mu:ssen mit der fu:r die
   Verbindung zum o:ffentlichen Internet verantwortlichen Schnittstelle
   assoziiert werden. Bei dieser Schnittstelle kann es sich beispielsweise um
   PPP/tun0 oder die Netzwerkkarte handelt, u:ber, die mit Ihrem DSL- oder
   Kabelmodem verbunden ist.

   Falls mehr als eine Netzwerkkarte mit einem privaten Netzwerk (hinter der
   Firewall) verbunden sind, mu:ssen die Firewallregeln fu:r alle diese
   Schnittstellen entstammenden Datenpakete freien und ungehinderten
   Datenverkehr erlauben.

   Es ist sinnvoll, die Regeln in drei Abschnitte aufzuteilen. Der erste
   Abschnitt entha:lt die freien, von der Firewall nicht zu u:berwachenden
   Netzwerkschnittstellen. Danach folgen die o:ffentlichen, fu:r den
   ausgehenden Verkehr verantwortlichen Schnittstellen. Zuletzt kommen dann
   die Schnittstellen, die fu:r den eingehenden Datenverkehr verantwortlich
   sind.

   Innerhalb der einzelnen Abschnitte ist es sinnvoll, die am ha:ufigsten
   verwendeten Regeln vor den seltener verwendeten Regel zu platzieren. Jeder
   Abschnitt sollte mit einer letzten Regel (die alle Pakete, auf die keine
   Regel zutraf, verwirft) abgeschlossen werden.

   Der Abschnitt fu:r den ausgehenden Datenverkehr des folgenden Beispiels
   entha:t nur allow)-Regeln, in denen der Dienst, dem der Zugriff auf das
   o:ffentliche Internet gewa:hrt wird, eindeutig definiert ist. Alle Regeln
   verwenden die Optionen proto, port, in/out, via sowie keep state kodiert.
   Die Regeln mit proto tcp verwenden zusa:tzlich die Option setup, damit die
   initiale, eine Sitzung beginnende Anfrage identifiziert werden kann, damit
   die die Zustandsttabelle gefu:llt werden kann.

   Der Abschnitt fu:r den eingehenden Datenverkehr beginnt mit allen Regeln,
   die zur Blockierung unerwu:nschten Datenverkehrs beno:tigt werden. Fu:r
   diese Vorgehensweise gibt es zwei Gru:nde: Zum einen ko:nnten bo:sartige
   Pakete legtitimen Datenverker so sehr a:hneln, dass sie die Bedingungen
   von allow-Regeln erfu:llen und daher die Firewall passieren du:rfen. Daher
   sollten derartige Pakete direkt verworden werden. Zum anderen sollten
   unerwu:nschte Pakete mit bekannten (und somit uninteressanten Mustern)
   sofort ohne Ru:ckmeldung blockiert werden, anstatt erst von der letzten,
   generischen Regel blockiert (und, was noch wichtiger ist, auch noch
   protokolliert). Die letzte Regel jedes Abschnittes blockiert und
   protokolliert; sie kann daher dazu verwendet werden, vor Gericht haltbare
   Beweise zu erhalten, damit sie gegen Personen vorgehen ko:nnen, die
   versuchen, Ihre Systeme anzugreifen.

   Achten Sie darauf, dass Sie keine Netwerkantworten fu:r geblockte Pakete
   senden. Diese mu:ssen ohne Ru:ckmeldung verworfen werden, damit ein
   Angreifer keine Informationen daru:ber erha:lt, ob seine Datenpakete Ihr
   System erreicht hat. Je weniger Information ein Angreifer u:ber Ihr System
   erha:lt, desto sicherer ist Ihr System. Datenpakete an Ports, die nicht
   bekannten Diensten zugeordnet werden ko:nnen, ko:nnen u:ber die Datei
   /etc/services identifiziert werden. Alternativ kann eine Anfrage an
   http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers Klarheit
   u:ber die Aufgabe/Funktion einer bestimmten Portnummer bringen. Auf der
   Seite http://www.sans.org/security-resources/idfaq/oddports.php kann man
   Information u:ber bekannte Trojaner und von diesen verwendete Portnummern
   erhalten.

    31.6.5.6. Ein Beispiel fu:r einschliessende Regeln

   Das folgende Regelwerk (ohne NAT-Funktionalita:t) beschreibt ein
   vollsta:ndiges, einschliessendes Regelwerk. Dieses Regelwerk kann direkt
   auf Ihren eigenen Systemen eingesetzt werden, wenn alle pass-Regeln fu:r
   von Ihnen nicht beno:tigten Dienste auskommentiert werden. Falls Sie keine
   Protokollierung beno:tigen, ko:nnen Sie diese im Abschnitt fu:r den
   eingehenden Datenverkehr durch eine deny deaktivieren. Die im Beispiel
   verwendete Netzwerkschnittstelle dc0 mu:ssen Sie durch die auf Ihrem
   System fu:r ausgehenden Datenverkehr vorgesehenen Netzwerkschnittstelle
   ersetzen. Im Falle von benutzergesteuertem PPPs wa:re dies beispielsweise
   tun0.

   Alle Regeln folgen einem bestimmten Muster.

     * Alle Ausdru:cke, die eine Anfrage zum Beginn einer zustandsgesteuerten
       darstellen, beinhalten den Ausdruck keep-state.

     * Alle Dienste aus dem o:ffentlichen Internet beinhalten die Option
       limit, um gegebenenfalls flooding zu unterbinden.

     * Alle Regeln bezeichnen die Richtung durch der Ausdru:cke in oder out.

     * Alle Regeln legen die verwendete Netzwerkschnittstelle die Ausdru:cke
       via und interface-name fest.

   Die folgenden Regeln werden in der Datei /etc/ipfw.rules definiert.

 ################ Start of IPFW rules file ###############################
 # Flush out the list before we begin.
 ipfw -q -f flush

 # Set rules command prefix
 cmd="ipfw -q add"
 pif="dc0"     # public interface name of NIC
               # facing the public Internet

 #################################################################
 # No restrictions on Inside LAN Interface for private network
 # Not needed unless you have LAN.
 # Change xl0 to your LAN NIC interface name
 #################################################################
 #$cmd 00005 allow all from any to any via xl0

 #################################################################
 # No restrictions on Loopback Interface
 #################################################################
 $cmd 00010 allow all from any to any via lo0

 #################################################################
 # Allow the packet through if it has previous been added to the
 # the "dynamic" rules table by a allow keep-state statement.
 #################################################################
 $cmd 00015 check-state

 #################################################################
 # Interface facing Public Internet (Outbound Section)
 # Interrogate session start requests originating from behind the
 # firewall on the private network or from this gateway server
 # destined for the public Internet.
 #################################################################

 # Allow out access to my ISP's Domain name server.
 # x.x.x.x must be the IP address of your ISP.s DNS
 # Dup these lines if your ISP has more than one DNS server
 # Get the IP addresses from /etc/resolv.conf file
 $cmd 00110 allow tcp from any to x.x.x.x 53 out via $pif setup keep-state
 $cmd 00111 allow udp from any to x.x.x.x 53 out via $pif keep-state

 # Allow out access to my ISP's DHCP server for cable/DSL configurations.
 # This rule is not needed for .user ppp. connection to the public Internet.
 # so you can delete this whole group.
 # Use the following rule and check log for IP address.
 # Then put IP address in commented out rule & delete first rule
 $cmd 00120 allow log udp from any to any 67 out via $pif keep-state
 #$cmd 00120 allow udp from any to x.x.x.x 67 out via $pif keep-state

 # Allow out non-secure standard www function
 $cmd 00200 allow tcp from any to any 80 out via $pif setup keep-state

 # Allow out secure www function https over TLS SSL
 $cmd 00220 allow tcp from any to any 443 out via $pif setup keep-state

 # Allow out send & get email function
 $cmd 00230 allow tcp from any to any 25 out via $pif setup keep-state
 $cmd 00231 allow tcp from any to any 110 out via $pif setup keep-state

 # Allow out FBSD (make install & CVSUP) functions
 # Basically give user root "GOD" privileges.
 $cmd 00240 allow tcp from me to any out via $pif setup keep-state uid root

 # Allow out ping
 $cmd 00250 allow icmp from any to any out via $pif keep-state

 # Allow out Time
 $cmd 00260 allow tcp from any to any 37 out via $pif setup keep-state

 # Allow out nntp news (i.e. news groups)
 $cmd 00270 allow tcp from any to any 119 out via $pif setup keep-state

 # Allow out secure FTP, Telnet, and SCP
 # This function is using SSH (secure shell)
 $cmd 00280 allow tcp from any to any 22 out via $pif setup keep-state

 # Allow out whois
 $cmd 00290 allow tcp from any to any 43 out via $pif setup keep-state

 # deny and log everything else that.s trying to get out.
 # This rule enforces the block all by default logic.
 $cmd 00299 deny log all from any to any out via $pif

 #################################################################
 # Interface facing Public Internet (Inbound Section)
 # Check packets originating from the public Internet
 # destined for this gateway server or the private network.
 #################################################################

 # Deny all inbound traffic from non-routable reserved address spaces
 $cmd 00300 deny all from 192.168.0.0/16 to any in via $pif  #RFC 1918 private IP
 $cmd 00301 deny all from 172.16.0.0/12 to any in via $pif     #RFC 1918 private IP
 $cmd 00302 deny all from 10.0.0.0/8 to any in via $pif          #RFC 1918 private IP
 $cmd 00303 deny all from 127.0.0.0/8 to any in via $pif        #loopback
 $cmd 00304 deny all from 0.0.0.0/8 to any in via $pif            #loopback
 $cmd 00305 deny all from 169.254.0.0/16 to any in via $pif   #DHCP auto-config
 $cmd 00306 deny all from 192.0.2.0/24 to any in via $pif       #reserved for docs
 $cmd 00307 deny all from 204.152.64.0/23 to any in via $pif  #Sun cluster interconnect
 $cmd 00308 deny all from 224.0.0.0/3 to any in via $pif         #Class D & E multicast

 # Deny public pings
 $cmd 00310 deny icmp from any to any in via $pif

 # Deny ident
 $cmd 00315 deny tcp from any to any 113 in via $pif

 # Deny all Netbios service. 137=name, 138=datagram, 139=session
 # Netbios is MS/Windows sharing services.
 # Block MS/Windows hosts2 name server requests 81
 $cmd 00320 deny tcp from any to any 137 in via $pif
 $cmd 00321 deny tcp from any to any 138 in via $pif
 $cmd 00322 deny tcp from any to any 139 in via $pif
 $cmd 00323 deny tcp from any to any 81 in via $pif

 # Deny any late arriving packets
 $cmd 00330 deny all from any to any frag in via $pif

 # Deny ACK packets that did not match the dynamic rule table
 $cmd 00332 deny tcp from any to any established in via $pif

 # Allow traffic in from ISP's DHCP server. This rule must contain
 # the IP address of your ISP.s DHCP server as it.s the only
 # authorized source to send this packet type.
 # Only necessary for cable or DSL configurations.
 # This rule is not needed for .user ppp. type connection to
 # the public Internet. This is the same IP address you captured
 # and used in the outbound section.
 #$cmd 00360 allow udp from any to x.x.x.x 67 in via $pif keep-state

 # Allow in standard www function because I have apache server
 $cmd 00400 allow tcp from any to me 80 in via $pif setup limit src-addr 2

 # Allow in secure FTP, Telnet, and SCP from public Internet
 $cmd 00410 allow tcp from any to me 22 in via $pif setup limit src-addr 2

 # Allow in non-secure Telnet session from public Internet
 # labeled non-secure because ID & PW are passed over public
 # Internet as clear text.
 # Delete this sample group if you do not have telnet server enabled.
 $cmd 00420 allow tcp from any to me 23 in via $pif setup limit src-addr 2

 # Reject & Log all incoming connections from the outside
 $cmd 00499 deny log all from any to any in via $pif

 # Everything else is denied by default
 # deny and log all packets that fell through to see what they are
 $cmd 00999 deny log all from any to any
 ################ End of IPFW rules file ###############################

    31.6.5.7. Ein Beispiel fu:r zustandshafte NAT-Regeln

   Es mu:ssen einige zusa:tzliche Konfigurationseinstellungen vorgenommen
   werden, um die die NAT-Funktion von IPFW zu nutzen. Die Kernelquellen
   mu:ssen mit der Option IPDIVERT (im IPFIREWALL-Abschnitt der
   Kernelkonfigurationsdatei) neu gebaut werden, um den beno:tigten
   angepassten Kernel zu erzeugen.

   Zusa:tzlich werden folgende Optionen in der /etc/rc.conf beno:tigt:

 natd_enable="YES"                   # Enable NATD function
 natd_interface="rl0"                # interface name of public Internet NIC
 natd_flags="-dynamic -m"            # -m = preserve port numbers if possible

   Zustandshafte Regeln bei aktiviertem divert natd (Network Address
   Translation) verkomplizieren die Formulierung des Regelwerkes
   betra:chtlich. Damit Ihre Firewall funktioniert, kommt es insbesondere auf
   die Position der Ausdru:cke check-state sowie divert natd an. Sie ko:nnen
   nicht la:nger einen einfachen, kaskadierenden Ablauf verwenden (also einen
   Regelsatz, bei dem einfach auf eine Regel nach der anderen gepru:ft wird.
   Vielmehr wird der neue Aktionstyp skipto beno:tigt. Dies erfordert, dass
   jede Regel u:ber eine eindeutige Nummer verfu:gt, um so eindeutige
   Sprungziele zu erhalten.

   Im Folgenden wird anhand eines umkommentierten Beispiels der Paketfluss
   durch das Regelwerk verdeutlicht.

   Die Verarbeitung beginnt mit der ersten Regel (also am Anfang der
   Regeldatei. Sie setzt sich Regel fu:r Regel weiter fort, bis das Ende der
   Datei erreicht ist oder eine Regel fu:r das Paket einen Treffer erzielt
   und das Paket so die Firewall verlassen kann. Achten Sie besonders auf die
   Position der Regeln mit den Nummern 100, 101, 450, 500 sowie 510. Diese
   Regeln steuern die Adressumsetzung ausgehender und eingehender Pakete, so
   dass deren entsprechende Eintra:ge in der Zustandstabelle immer die
   private LAN-Adressen abbilden. Zusa:tzlich werden in allen Regeln die
   Richtung des Pakets (eingehend oder ausgehend) so die vom Paket zu
   verwendende Netzwerkschnittstelle definiert. Ausgehende Anfragen, die eine
   Sitzung starten, rufen immer skipto rule 500, damit NAT verwendet werden
   kann.

   Nehmen wir nun an, dass ein Nutzer einen Webbrowser verwendet, um eine
   Internetseite aufzurufen. Derartige Anfragen werden in der Regel u:ber
   Port 80 geleitet. Die zugeho:rigen Pakete werden durch die Firewall
   verarbeitet. Regel 100 trifft nicht zu, denn das Paket geht nach aussen,
   nicht nach innen. Regel 101 trifft ebenfalls nicht zu, denn es handelt
   sich um das erste Paket. Folglich wird die Sitzung erst initiiert und kann
   somit noch nicht in der Zustandstabelle enthalten sein kann. Die erste
   Regel, die zutrifft, ist Regel 125. Das Paket will das lokale Netzwerk
   u:ber die Schnittstelle zum o:ffentlichen Internet (das heisst nach
   aussen) verlassen, es hat aber noch die Quelladresse des privaten lokalen
   Netzwerks. Da Regel 125 zutrifft, werden zwei Aktionen ausgefu:hrt: Die
   Option keep-state bewirkt, dass das Paket in der internen Tabelle fu:r
   zustandshafte, dynamische Regeln registriert wird. Danach wird der
   Aktionsteil der Regel ausgefu:hrt. Dieser ist Bestandteil der
   Informationen, die in die in der Tabelle fu:r dynamische Regeln
   aufgenommen wird und lautet skipto rule 500. Die Regel 500 fu:hrt NATs auf
   die IP-Adresse des Paketes durch. Danach verla:sst das Paket das LAN nach
   aussen in Richtung des o:ffentlichen Internets. Dieser letzte Teil ist
   fu:r funktionierendes NAT von entscheidender Bedeutung. Nachdem dieses
   Paket am Bestimmungsort angekommen ist, wird dort eine Antwort generiert
   und zuru:ckgeschickt. Dieses Paket wird auf die gleiche Art und Weise
   durch das gegebene Regelwerk verarbeitet. Dieses Mal trifft Regel 100 auf
   das Paket zu, damit wird die Bestimmungsadresse auf die zugeho:rige
   (lokale) LAN-Adresse (ru:ck-)abgebildet. Danach wird es von der
   check-state-Regel verarbeitet, die Zustandstabelle erkennt, dass eine
   zugeho:rige aktive Sitzung vorliegt und das Paket wird freigegeben und in
   das LAN geleitet. Es wird innerhalb des LANs von dem PC, der die
   zugeho:rige Sitzung ha:lt, empfangen, der ein neues Paket absendet und ein
   weiteres Datensegment vom entfernten Server anfordert. Dieses Mal wird bei
   der Pru:fung der check-state-Regel ein nach aussen gehender zugeho:riger
   Eintrag in der Zustandstabelle gefunden und die entsprechende Aktion (also
   skipto 500) wird ausgefu:hrt. Das Paket springt zu Regel 500 und wird
   durch diese Regel fu:r das o:ffentliche Internet freigegeben.

   Innerhalb des durch die Firewall geschu:tzten Netzwerks werden alle
   eingehenden Pakete, die zu einer existierenden Sitzung geho:ren, durch die
   Regel check-state sowie entsprechend platzierte divert natd-Regeln
   verarbeitet. Die notwendige Arbeit beschra:nkt sich darauf, alle
   "schlechten" Pakete zu blockieren und nur authorisierten Diensten
   zugeho:rige Pakete durchzulassen. In Umkehrung des bisherigen Beispiels
   nehmen wir nun, dass auf dem Rechner, auf dem die Firewall la:uft, auch
   ein Apache Webserver la:uft, auf den von aussen, also aus dem
   o:ffentlichen Internet, zugegriffen werden kann. Das erste von aussen
   eintreffende Paket (das auch eine neue Sitzung startet) erfu:llt Regel
   100. Die Zieladresse des Paketes wird daher auf die LAN-Adresse des
   Firewallrechners abgebildet. Das Paket wird dann weiter auf alle in der
   Firewall definierten Regeln gepru:ft und trifft schliesslich auf Regel
   425. Durch diese Regel werden zwei Aktionen ausgelo:sst: Erstens wird aus
   dem Paket eine dynamische Regel generiert und in die Zustandstabelle
   geschrieben. Zusa:tzlich wird jedoch die Anzahl neuer Sitzungsanfragen
   (von der gleichen Quell-IP-Adresse) auf 2 begrenzt, um so DoS-Angriffe auf
   Dienste, die auf diesem Port laufen, zu verhindern. Die Aktion dieser
   Regel ist allow, daher wird das Paket freigegeben und in das LAN
   weitergeleitet. Das als Antwort generierte Paket wird durch die
   check-state-Regel als zu einer Sitzung geho:rend erkannt. Damit wird es
   der Regel 500 zugefu:hrt, NAT wird durchgefu:hrt und u:ber die
   Schnittstelle zum o:ffentlichen Internet nach aussen geroutet.

   Beispiel 1 fu:r einen Regelsatz:

 #!/bin/sh
 cmd="ipfw -q add"
 skip="skipto 500"
 pif=rl0
 ks="keep-state"
 good_tcpo="22,25,37,43,53,80,443,110,119"

 ipfw -q -f flush

 $cmd 002 allow all from any to any via xl0  # exclude LAN traffic
 $cmd 003 allow all from any to any via lo0  # exclude loopback traffic

 $cmd 100 divert natd ip from any to any in via $pif
 $cmd 101 check-state

 # Authorized outbound packets
 $cmd 120 $skip udp from any to xx.168.240.2 53 out via $pif $ks
 $cmd 121 $skip udp from any to xx.168.240.5 53 out via $pif $ks
 $cmd 125 $skip tcp from any to any $good_tcpo out via $pif setup $ks
 $cmd 130 $skip icmp from any to any out via $pif $ks
 $cmd 135 $skip udp from any to any 123 out via $pif $ks


 # Deny all inbound traffic from non-routable reserved address spaces
 $cmd 300 deny all from 192.168.0.0/16  to any in via $pif  #RFC 1918 private IP
 $cmd 301 deny all from 172.16.0.0/12   to any in via $pif  #RFC 1918 private IP
 $cmd 302 deny all from 10.0.0.0/8      to any in via $pif  #RFC 1918 private IP
 $cmd 303 deny all from 127.0.0.0/8     to any in via $pif  #loopback
 $cmd 304 deny all from 0.0.0.0/8       to any in via $pif  #loopback
 $cmd 305 deny all from 169.254.0.0/16  to any in via $pif  #DHCP auto-config
 $cmd 306 deny all from 192.0.2.0/24    to any in via $pif  #reserved for docs
 $cmd 307 deny all from 204.152.64.0/23 to any in via $pif  #Sun cluster
 $cmd 308 deny all from 224.0.0.0/3     to any in via $pif  #Class D & E multicast

 # Authorized inbound packets
 $cmd 400 allow udp from xx.70.207.54 to any 68 in $ks
 $cmd 420 allow tcp from any to me 80 in via $pif setup limit src-addr 1


 $cmd 450 deny log ip from any to any

 # This is skipto location for outbound stateful rules
 $cmd 500 divert natd ip from any to any out via $pif
 $cmd 510 allow ip from any to any

 ######################## end of rules  ##################

   Das folgende Beispiel ist praktisch identisch mit dem ersten Regelsatz.
   Allerdings wurden die Regel umfassend kommentiert und umgeschrieben, damit
   sie fu:r weniger erfahrene Benutzer leichter versta:ndlich werden.

   Beispiel 2 fu:r einen Regelsatz:

 #!/bin/sh
 ################ Start of IPFW rules file ###############################
 # Flush out the list before we begin.
 ipfw -q -f flush

 # Set rules command prefix
 cmd="ipfw -q add"
 skip="skipto 800"
 pif="rl0"     # public interface name of NIC
               # facing the public Internet

 #################################################################
 # No restrictions on Inside LAN Interface for private network
 # Change xl0 to your LAN NIC interface name
 #################################################################
 $cmd 005 allow all from any to any via xl0

 #################################################################
 # No restrictions on Loopback Interface
 #################################################################
 $cmd 010 allow all from any to any via lo0

 #################################################################
 # check if packet is inbound and nat address if it is
 #################################################################
 $cmd 014 divert natd ip from any to any in via $pif

 #################################################################
 # Allow the packet through if it has previous been added to the
 # the "dynamic" rules table by a allow keep-state statement.
 #################################################################
 $cmd 015 check-state

 #################################################################
 # Interface facing Public Internet (Outbound Section)
 # Check session start requests originating from behind the
 # firewall on the private network or from this gateway server
 # destined for the public Internet.
 #################################################################

 # Allow out access to my ISP's Domain name server.
 # x.x.x.x must be the IP address of your ISP's DNS
 # Dup these lines if your ISP has more than one DNS server
 # Get the IP addresses from /etc/resolv.conf file
 $cmd 020 $skip tcp from any to x.x.x.x 53 out via $pif setup keep-state


 # Allow out access to my ISP's DHCP server for cable/DSL configurations.
 $cmd 030 $skip udp from any to x.x.x.x 67 out via $pif keep-state

 # Allow out non-secure standard www function
 $cmd 040 $skip tcp from any to any 80 out via $pif setup keep-state

 # Allow out secure www function https over TLS SSL
 $cmd 050 $skip tcp from any to any 443 out via $pif setup keep-state

 # Allow out send & get email function
 $cmd 060 $skip tcp from any to any 25 out via $pif setup keep-state
 $cmd 061 $skip tcp from any to any 110 out via $pif setup keep-state

 # Allow out FreeBSD (make install & CVSUP) functions
 # Basically give user root "GOD" privileges.
 $cmd 070 $skip tcp from me to any out via $pif setup keep-state uid root

 # Allow out ping
 $cmd 080 $skip icmp from any to any out via $pif keep-state

 # Allow out Time
 $cmd 090 $skip tcp from any to any 37 out via $pif setup keep-state

 # Allow out nntp news (i.e. news groups)
 $cmd 100 $skip tcp from any to any 119 out via $pif setup keep-state

 # Allow out secure FTP, Telnet, and SCP
 # This function is using SSH (secure shell)
 $cmd 110 $skip tcp from any to any 22 out via $pif setup keep-state

 # Allow out whois
 $cmd 120 $skip tcp from any to any 43 out via $pif setup keep-state

 # Allow ntp time server
 $cmd 130 $skip udp from any to any 123 out via $pif keep-state

 #################################################################
 # Interface facing Public Internet (Inbound Section)
 # Check packets originating from the public Internet
 # destined for this gateway server or the private network.
 #################################################################

 # Deny all inbound traffic from non-routable reserved address spaces
 $cmd 300 deny all from 192.168.0.0/16  to any in via $pif  #RFC 1918 private IP
 $cmd 301 deny all from 172.16.0.0/12   to any in via $pif  #RFC 1918 private IP
 $cmd 302 deny all from 10.0.0.0/8      to any in via $pif  #RFC 1918 private IP
 $cmd 303 deny all from 127.0.0.0/8     to any in via $pif  #loopback
 $cmd 304 deny all from 0.0.0.0/8       to any in via $pif  #loopback
 $cmd 305 deny all from 169.254.0.0/16  to any in via $pif  #DHCP auto-config
 $cmd 306 deny all from 192.0.2.0/24    to any in via $pif  #reserved for docs
 $cmd 307 deny all from 204.152.64.0/23 to any in via $pif  #Sun cluster
 $cmd 308 deny all from 224.0.0.0/3     to any in via $pif  #Class D & E multicast

 # Deny ident
 $cmd 315 deny tcp from any to any 113 in via $pif

 # Deny all Netbios service. 137=name, 138=datagram, 139=session
 # Netbios is MS/Windows sharing services.
 # Block MS/Windows hosts2 name server requests 81
 $cmd 320 deny tcp from any to any 137 in via $pif
 $cmd 321 deny tcp from any to any 138 in via $pif
 $cmd 322 deny tcp from any to any 139 in via $pif
 $cmd 323 deny tcp from any to any 81  in via $pif

 # Deny any late arriving packets
 $cmd 330 deny all from any to any frag in via $pif

 # Deny ACK packets that did not match the dynamic rule table
 $cmd 332 deny tcp from any to any established in via $pif

 # Allow traffic in from ISP's DHCP server. This rule must contain
 # the IP address of your ISP's DHCP server as it's the only
 # authorized source to send this packet type.
 # Only necessary for cable or DSL configurations.
 # This rule is not needed for 'user ppp' type connection to
 # the public Internet. This is the same IP address you captured
 # and used in the outbound section.
 $cmd 360 allow udp from x.x.x.x to any 68 in via $pif keep-state

 # Allow in standard www function because I have Apache server
 $cmd 370 allow tcp from any to me 80 in via $pif setup limit src-addr 2

 # Allow in secure FTP, Telnet, and SCP from public Internet
 $cmd 380 allow tcp from any to me 22 in via $pif setup limit src-addr 2

 # Allow in non-secure Telnet session from public Internet
 # labeled non-secure because ID & PW are passed over public
 # Internet as clear text.
 # Delete this sample group if you do not have telnet server enabled.
 $cmd 390 allow tcp from any to me 23 in via $pif setup limit src-addr 2

 # Reject & Log all unauthorized incoming connections from the public Internet
 $cmd 400 deny log all from any to any in via $pif

 # Reject & Log all unauthorized out going connections to the public Internet
 $cmd 450 deny log all from any to any out via $pif

 # This is skipto location for outbound stateful rules
 $cmd 800 divert natd ip from any to any out via $pif
 $cmd 801 allow ip from any to any

 # Everything else is denied by default
 # deny and log all packets that fell through to see what they are
 $cmd 999 deny log all from any to any
 ################ End of IPFW rules file ###############################

Kapitel 32. Weiterfu:hrende Netzwerkthemen

   U:bersetzt von Johann Kois.
   Inhaltsverzeichnis

   32.1. U:bersicht

   32.2. Gateways und Routen

   32.3. Drahtlose Netzwerke

   32.4. Bluetooth

   32.5. LAN-Kopplung mit einer Bridge

   32.6. Link-Aggregation und Failover

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

   32.8. ISDN - diensteintegrierendes digitales Netzwerk

   32.9. NAT - Network Address Translation

   32.10. PLIP - Parallel Line IP

   32.11. IPv6 - Internet Protocol Version 6

   32.12. ATM - Asynchronous Transfer Mode

   32.13. CARP - Common Address Redundancy Protocol

32.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(R)- 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 9, Konfiguration des FreeBSD-Kernels).

     * Wissen, wie man zusa:tzliche Softwarepakete von Drittherstellern
       installiert (Kapitel 5, Installieren von Anwendungen: Pakete und
       Ports).

32.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).

  32.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).                                                           

  32.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:

   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).

  32.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.

  32.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.

  32.2.5. Statische Routen einrichten

   Beigetragen von Al Hoang.

    32.2.5.1. Manuelle Konfiguration

   Nehmen wir an, dass wir u:ber folgendes Netzwerk verfu:gen:

   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.

    32.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"

  32.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.

  32.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).

  32.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:

   mrouted(8), der Multicast Routing Daemon, verwendet das DVMRP Multicast
   Routing Protocol, das inzwischen in den meisten Multicast-Installationen
   durch pim(4) ersetzt wurde. mrouted(8) sowie die damit in Verbindung
   stehenden Werkzeuge map-mbone(8) und mrinfo(8)ko:nnen u:ber die
   FreeBSD-Ports-Sammlung (genauer den Port net/mrouted) installiert werden.

32.3. Drahtlose Netzwerke

   Loader, Marc Fonvieille und Murray Stokely.

  32.3.1. Grundlagen

   Die meisten drahtlosen Netzwerke basieren auf dem Standard IEEE(R) 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
   anderen 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
   Protokolle der IEEE(R)-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(R) 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 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
   Verkehrspriorisierung, die von den WME/WMM-Protokollen beno:tigt werden,
   werden ebenfalls (allerdings nicht fu:r alle drahtlosen Gera:te)
   unterstu:tzt.

  32.3.2. Basiskonfiguration

    32.3.2.1. Kernelkonfiguration

   Um ein drahtloses Netzwerk zu nutzen, beno:tigen Sie eine drahtlose
   Netzwerkkarte 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 und
   unterstu:tzten drahtlosen Gera:te finden sich in den FreeBSD Hardware
   Notes. Diese sind fu:r verschiedene Releases und Architekturen auf der
   Seite Release Information der FreeBSD Homepage. Gibt es keinen nativen
   FreeBSD-Treiber fu:r Ihr drahtloses Gera:t, ko:nnen Sie mo:glicherweise
   mit NDIS einen Windows(R)-Treiber verwenden.

   Unter FreeBSD 7.X beno:tigen Sie zusa:tlich zum korrekten Treiber 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"

   Ab FreeBSD 8.0 sind diese Module Teil des wlan(4)-Treibers und werden bei
   Bedarf automatisch geladen.

   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 ohne
   Verschlu:sselung betreiben, 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"

   Um diese neuen Eintra:ge in der Datei /boot/loader.conf zu aktivieren,
   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 wlan              # 802.11 support
 device wlan_wep          # 802.11 WEP support
 device wlan_ccmp         # 802.11 CCMP support
 device wlan_tkip         # 802.11 TKIP support
 device wlan_amrr         # AMRR transmit rate control algorithm
 device ath               # Atheros pci/cardbus NIC's
 device ath_hal           # pci/cardbus chip support
 options AH_SUPPORT_AR5416 # enable AR5416 tx/rx descriptors
 device ath_rate_sample   # SampleRate tx rate control for ath

   Verwenden Sie FreeBSD 7.X, mu:ssen Sie auch die beiden Module wlan_scan_ap
   und wlan_scan_sta in den Kernel aufnehmen (unter FreeBSD 8.X ist dies
   hingegen nicht mehr notwendig):

 device wlan_scan_ap      # 802.11 AP mode scanning
 device wlan_scan_sta     # 802.11 STA mode scanning

   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 0x88000000-0x8800ffff irq 11 at device 0.0 on cardbus1
 ath0: [ITHREAD]
 ath0: AR2413 mac 7.9 RF2413 phy 4.5

  32.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.

    32.3.3.1. FreeBSD-Clients

      32.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 wlan0 create wlandev ath0
 # ifconfig wlan0 up scan
 SSID/MESH ID    BSSID              CHAN RATE   S:N     INT CAPS
 dlinkap         00:13:46:49:41:76   11   54M -90:96   100 EPS  WPA WME
 freebsdap       00:11:95:c3:0d:ac    1   54M -83:96   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.

  Anmerkung:

   Unter FreeBSD 7.X wird der Gera:tetreiber, beispielsweise ath0, direkt
   verwendet, anstatt auf das allgemeine Gera:t wlan0 zuzugreifen. Verwenden
   Sie also FreeBSD 7.X, mu:ssen Sie die beiden Befehle im vorigen Beispiel
   durch den folgenden Befehl ersetzen:

 # ifconfig ath0 up scan

   Dies gilt auch fu:r alle weiteren Ausfu:hrungen in diesem Kapitel. Unter
   FreeBSD 7.X mu:ssen analog alle Befehle und Konfigurationsdateien/Zeilen
   entsprechend angepasst werden.

   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 wlan0 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.

      32.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.

        32.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:

 wlans_ath0="wlan0"
 ifconfig_wlan0="DHCP"

  Anmerkung:

   Wie bereits erwa:hnt, beno:tigen Sie unter FreeBSD 7.X anstelle dieser
   beiden Zeilen nur eine Zeile (mit dem entsprechenden Gera:tetreiber):

 ifconfig_ath0="DHCP"

   Wollen Sie sich hingegen mit einem bestimmten Access Point verbinden,
   mu:ssen Sie dessen SSID angeben:

 wlans_ath0="wlan0"
 ifconfig_wlan0="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):

 wlans_ath0="wlan0"
 ifconfig_wlan0="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 Access 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:

 wlans_ath0="wlan0"
 ifconfig_wlan0="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).

        32.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(R) 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(R)-Basisstation, beno:tigen Sie einen Eintrag a:hnlich dem
   folgenden:

 wlans_ath0="wlan0"
 ifconfig_wlan0="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 32.3.3.1.4, "WEP" na:her beschrieben.

        32.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:

 wlans_ath0="wlan0"
 ifconfig_wlan0="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 wlan0
 wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
         ether 00:11:95:d5:43:62
         inet 192.168.1.100 netmask 0xffffff00 broadcast 192.168.1.255
         media: IEEE 802.11 Wireless Ethernet OFDM/54Mbps mode 11g
         status: associated
         ssid dlinkap channel 11 (2462 Mhz 11g) bssid 00:13:46:49:41:76
         country US ecm authmode OPEN privacy OFF txpower 21.5 bmiss 7
         scanvalid 60 bgscan bgscanintvl 300 bgscanidle 250 roam:rssi 7
         roam:rate 5 protmode CTS wme burst

   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 OPEN informiert Sie daru:ber, dass Ihre Kommunikation
   nicht verschlu:sselt wird.

        32.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:

 wlans_ath0="wlan0"
 ifconfig_wlan0="inet 192.168.1.100 netmask 255.255.255.0 ssid your_ssid_here"

      32.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).

        32.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 umgangen 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:

 wlans_ath0="wlan0"
 ifconfig_wlan0="WPA DHCP"

   Nun ko:nnen Sie Ihr Netzgera:t aktivieren:

 # /etc/rc.d/netif start
 Starting wpa_supplicant.
 DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 5
 DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 6
 DHCPOFFER from 192.168.0.1
 DHCPREQUEST on wlan0 to 255.255.255.255 port 67
 DHCPACK from 192.168.0.1
 bound to 192.168.0.254 -- renewal in 300 seconds.
 wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
       ether 00:11:95:d5:43:62
       inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
       media: IEEE 802.11 Wireless Ethernet OFDM/36Mbps mode 11g
       status: associated
       ssid freebsdap channel 1 (2412 MHz 11g) bssid 00:11:95:c3:0d:ac
       country US ecm authmode WPA2/802.11i privacy ON deftxkey UNDEF
       AES-CCM 3:128-bit txpower 21.5 bmiss 7 scanvalid 450 bgscan
       bgscanintvl 300 bgscanidle 250 roam:rssi 7 roam:rate 5 protmode CTS
       wme burst roaming MANUAL

   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 wlan0 -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=CCMP GTK=CCMP]
 CTRL-EVENT-CONNECTED - Connection to 00:11:95:c3:0d:ac completed (auth) [id=0 id_str=]

   Im zweiten Schritt starten Sie nun dhclient, um eine IP-Adresse vom
   DHCP-Server zu beziehen:

 # dhclient wlan0
 DHCPREQUEST on wlan0 to 255.255.255.255 port 67
 DHCPACK from 192.168.0.1
 bound to 192.168.0.254 -- renewal in 300 seconds.
 # ifconfig wlan0
 wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
       ether 00:11:95:d5:43:62
       inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
       media: IEEE 802.11 Wireless Ethernet OFDM/36Mbps mode 11g
       status: associated
       ssid freebsdap channel 1 (2412 MHz 11g) bssid 00:11:95:c3:0d:ac
       country US ecm authmode WPA2/802.11i privacy ON deftxkey UNDEF
       AES-CCM 3:128-bit txpower 21.5 bmiss 7 scanvalid 450 bgscan
       bgscanintvl 300 bgscanidle 250 roam:rssi 7 roam:rate 5 protmode CTS
       wme burst roaming MANUAL

  Anmerkung:

   Entha:lt Ihre /etc/rc.conf bereits die Zeile ifconfig_wlan0="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 wlan0 inet 192.168.0.100 netmask 255.255.255.0
 # ifconfig wlan0
 wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
       ether 00:11:95:d5:43:62
       inet 192.168.0.100 netmask 0xffffff00 broadcast 192.168.0.255
       media: IEEE 802.11 Wireless Ethernet OFDM/36Mbps mode 11g
       status: associated
       ssid freebsdap channel 1 (2412 MHz 11g) bssid 00:11:95:c3:0d:ac
       country US ecm authmode WPA2/802.11i privacy ON deftxkey UNDEF
       AES-CCM 3:128-bit txpower 21.5 bmiss 7 scanvalid 450 bgscan
       bgscanintvl 300 bgscanidle 250 roam:rssi 7 roam:rate 5 protmode CTS
       wme burst roaming MANUAL

   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

        32.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(R) 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:

 wlans_ath0="wlan0"
 ifconfig_wlan0="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 wlan0 to 255.255.255.255 port 67 interval 7
 DHCPREQUEST on wlan0 to 255.255.255.255 port 67 interval 15
 DHCPACK from 192.168.0.20
 bound to 192.168.0.254 -- renewal in 300 seconds.
 wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
       ether 00:11:95:d5:43:62
       inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
       media: IEEE 802.11 Wireless Ethernet DS/11Mbps mode 11g
       status: associated
       ssid freebsdap channel 1 (2412 MHz 11g) bssid 00:11:95:c3:0d:ac
       country US ecm authmode WPA2/802.11i privacy ON deftxkey UNDEF
       AES-CCM 3:128-bit txpower 21.5 bmiss 7 scanvalid 450 bgscan
       bgscanintvl 300 bgscanidle 250 roam:rssi 7 roam:rate 5 protmode CTS
       wme burst roaming MANUAL

   Alternativ ko:nnen Sie Ihr drahtloses Gera:lt wiederum manuell u:ber
   wpa_supplicant und ifconfig aktivieren.

        32.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 Zeilen mu:ssen zusa:tzlich in die Datei /etc/rc.conf aufgenommen
   werden:

 wlans_ath0="wlan0"
 ifconfig_wlan0="WPA DHCP"

   Nun ko:nnen Sie Ihr drahtloses Gera:t aktivieren:

 # /etc/rc.d/netif start
 Starting wpa_supplicant.
 DHCPREQUEST on wlan0 to 255.255.255.255 port 67 interval 7
 DHCPREQUEST on wlan0 to 255.255.255.255 port 67 interval 15
 DHCPREQUEST on wlan0 to 255.255.255.255 port 67 interval 21
 DHCPACK from 192.168.0.20
 bound to 192.168.0.254 -- renewal in 300 seconds.
 wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
       ether 00:11:95:d5:43:62
       inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
       media: IEEE 802.11 Wireless Ethernet DS/11Mbps mode 11g
       status: associated
       ssid freebsdap channel 1 (2412 MHz 11g) bssid 00:11:95:c3:0d:ac
       country US ecm authmode WPA2/802.11i privacy ON deftxkey UNDEF
       AES-CCM 3:128-bit txpower 21.5 bmiss 7 scanvalid 450 bgscan
       bgscanintvl 300 bgscanidle 250 roam:rssi 7 roam:rate 5 protmode CTS
       wme burst roaming MANUAL

        32.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 Netzwerkkarte noch aktivieren:

 # /etc/rc.d/netif start
 Starting wpa_supplicant.
 DHCPREQUEST on wlan0 to 255.255.255.255 port 67 interval 7
 DHCPREQUEST on wlan0 to 255.255.255.255 port 67 interval 15
 DHCPREQUEST on wlan0 to 255.255.255.255 port 67 interval 21
 DHCPACK from 192.168.0.20
 bound to 192.168.0.254 -- renewal in 300 seconds.
 wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
       ether 00:11:95:d5:43:62
       inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
       media: IEEE 802.11 Wireless Ethernet DS/11Mbps mode 11g
       status: associated
       ssid freebsdap channel 1 (2412 MHz 11g) bssid 00:11:95:c3:0d:ac
       country US ecm authmode WPA2/802.11i privacy ON deftxkey UNDEF
       AES-CCM 3:128-bit txpower 21.5 bmiss 7 scanvalid 450 bgscan
       bgscanintvl 300 bgscanidle 250 roam:rssi 7 roam:rate 5 protmode CTS
       wme burst roaming MANUAL

      32.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
   umgangen werden kann.

   WEP kann u:ber ifconfig aktiviert werden:

 # ifconfig wlan0 create wlandev ath0
 # ifconfig wlan0 inet 192.168.1.100 netmask 255.255.255.0 \
             ssid my_net wepmode on weptxkey 3 wepkey 3:0x3456789012

     * 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 wlan0 -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

  32.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 wlan0 create wlandev ath0 wlanmode adhoc
 # ifconfig wlan0 inet 192.168.0.1 netmask 255.255.255.0 ssid freebsdap
 # ifconfig wlan0
   wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
       ether 00:11:95:c3:0d:ac
       inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
       media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <adhoc>
       status: running
       ssid freebsdap channel 2 (2417 Mhz 11g) bssid 02:11:95:c3:0d:ac
       country US ecm authmode OPEN privacy OFF txpower 21.5 scanvalid 60
       protmode CTS wme burst

   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 wlan0 create wlandev ath0 wlanmode adhoc
 # ifconfig wlan0 up scan
   SSID/MESH ID    BSSID              CHAN RATE   S:N     INT CAPS
   freebsdap       02:11:95:c3:0d:ac    2   54M -64:-96  100 IS   WME

   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 wlan0 inet 192.168.0.2 netmask 255.255.255.0 ssid freebsdap
 # ifconfig wlan0
   wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
       ether 00:11:95:d5:43:62
       inet 192.168.0.2 netmask 0xffffff00 broadcast 192.168.0.255
       media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <adhoc>
       status: running
       ssid freebsdap channel 2 (2417 Mhz 11g) bssid 02:11:95:c3:0d:ac
       country US ecm authmode OPEN privacy OFF txpower 21.5 scanvalid 60
       protmode CTS wme burst

   Damit sind die Rechner A und B bereit und ko:nnen untereinander Daten
   austauschen.

  32.3.5. FreeBSD Host Access Points

   FreeBSD kann als Access Point (AP) agieren. Dies verhindert, dass man sich
   einen Hardware AP kaufen oder ein ad-hoc Netzwerk laufen lassen muss. Dies
   kann sinnvoll sein, falls Ihre FreeBSD-Computer als Gateway zu einem
   anderen Netzwerk (z.B. Internet) fungiert.

    32.3.5.1. Grundeinstellungen

   Bevor Sie ihren FreeBSD-Computer als einen AP konfigurieren, muss der
   Kernel mit dem fu:r ihre Wireless-Karte entsprechenden Treibern
   konfiguriert werden. Sie mu:ssen ebenfalls die Sicherheitsprotokolle, die
   Sie nutzen wollen, dem Kernel hinzufu:gen. Fu:r weitere Informationen
   siehe: Abschnitt 32.3.2, "Basiskonfiguration".

  Anmerkung:

   Die Verwendung der NDIS und Windows(R) Treiber erlauben zur Zeit keinen
   AP-Modus. Nur die nativen FreeBSD-Wireless-Treiber unterstu:ten den AP
   Modus.

   Nachdem die Unterstu:tzung fu:r ihr drahtloses Netzwerk geladen ist,
   ko:nnen Sie u:berpru:fen, ob Ihr Wireless-Gera:t den hostbasierenden
   Access-Point Modus (auch bekannt als hostap Modus) unterstu:tzt:

 # ifconfig wlan0 create wlandev ath0
 # ifconfig wlan0 list caps
 drivercaps=6f85edc1<STA,FF,TURBOP,IBSS,HOSTAP,AHDEMO,TXPMGT,SHSLOT,SHPREAMBLE,MONITOR,MBSS,WPA1,WPA2,BURST,WME,WDS,BGSCAN,TXFRAG>
 cryptocaps=1f<WEP,TKIP,AES,AES_CCM,TKIPMIC>

   Diese Ausgabe zeigt die Mo:glichkeiten der Karte. Das Wort HOSTAP
   besta:tigt, dass diese Wireless-Karte als Access Point agieren kann. Die
   verschiedenen unterstu:tzten Algorithmen (z.B. WEP, TKIP, AES usw.) werden
   ebenfalls angezeigt. Diese Informationen sind wichtig, wenn Sie wissen
   wollen, welche Sicherheitsprotokolle auf diesem Access Point verwendbar
   sind.

   Das Wireless-Gera:t kann nur wa:hrend der Erzeugung des Pseudo-Gera:ts in
   den hostap-Modus gesetzt werden. Zuvor erstellte Pseudo-Gera:te mu:ssen
   also vorher zersto:rt werden:

 # ifconfig wlan0 destroy

   Danach muss das Gera:t erneut erstellt werden, bevor die restlichen
   Netzwerkparameter konfiguriert werden ko:nnen:

 # ifconfig wlan0 create wlandev ath0 wlanmode hostap
 # ifconfig wlan0 inet 192.168.0.1 netmask 255.255.255.0 ssid freebsdap mode 11g channel 1

   Benutzen Sie danach erneut den Befehl ifconfig, um den Status der
   wlan0-Schnittstelle abzufragen:

 # ifconfig wlan0
   wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
       ether 00:11:95:c3:0d:ac
       inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
       media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <hostap>
       status: running
       ssid freebsdap channel 1 (2412 Mhz 11g) bssid 00:11:95:c3:0d:ac
       country US ecm authmode OPEN privacy OFF txpower 21.5 scanvalid 60
       protmode CTS wme burst dtimperiod 1 -dfs

   Die hostap-Parameter geben die Schnittstelle an, die im hostbasierenden
   Access Point Modus la:uft.

   Die Konfiguration der Schnittstelle kann durch Hinzufu:gen der folgenden
   Zeilen in die Datei /etc/rc.conf automatisch wa:hrend des Bootvorganges
   erfolgen:

 wlans_ath0="wlan0"
 create_args_wlan0="wlanmode hostap"
 ifconfig_wlan0="inet 192.168.0.1 netmask 255.255.255.0 ssid freebsdap mode 11g channel 1"

    32.3.5.2. Hostbasierender Access Point ohne Authentifizierung oder
    Verschlu:sselung

   Obwohl es nicht empfohlen wird, einen AP ohne jegliche Authentifizierung
   oder Verschlu:sselung laufen zu lassen, ist es eine einfache Art zu
   testen, ob der AP funktioniert. Diese Konfiguration ist auch wichtig fu:r
   die Fehlersuche bei Client-Problemen.

   Nachdem Sie den AP, wie oben beschrieben, konfiguriert haben, ist es
   mo:glich von einem anderen drahtlosen Computer eine Suche nach dem AP zu
   starten:

 # ifconfig wlan0 create wlandev ath0
 # ifconfig wlan0 up scan
 SSID/MESH ID    BSSID              CHAN RATE   S:N     INT CAPS
 freebsdap       00:11:95:c3:0d:ac    1   54M -66:-96  100 ES   WME

   Der Client-Rechner fand den Access Point und kann mit ihm verbunden
   werden:

 # ifconfig wlan0 inet 192.168.0.2 netmask 255.255.255.0 ssid freebsdap
 # ifconfig wlan0
   wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
       ether 00:11:95:d5:43:62
       inet 192.168.0.2 netmask 0xffffff00 broadcast 192.168.0.255
       media: IEEE 802.11 Wireless Ethernet OFDM/54Mbps mode 11g
       status: associated
       ssid freebsdap channel 1 (2412 Mhz 11g) bssid 00:11:95:c3:0d:ac
       country US ecm authmode OPEN privacy OFF txpower 21.5 bmiss 7
       scanvalid 60 bgscan bgscanintvl 300 bgscanidle 250 roam:rssi 7
       roam:rate 5 protmode CTS wme burst

    32.3.5.3. WPA-basierender Host-Access Point

   Dieser Abschnitt bescha:ftigt sich mit dem Konfigurieren eines
   FreeBSD-Access-Points mit dem WPA-Sicherheitsprotokoll. Weitere
   Einzelheiten zu WPA und der Konfiguration von Clients mit WPA finden Sie
   im Abschnitt 32.3.3.1.3, "WPA".

   Der hostapd-Dienst wird genutzt, um die Client-Authentifizierung und das
   Schlu:sselmanagement auf dem Access Point mit aktiviertem WPA zu nutzen.

   In den folgenden Abschnitten werden allen Konfigurationen auf dem
   FreeBSD-Computer ausgefu:hrt, der als AP agiert. Nachdem der AP korrekt
   arbeitet, sollte hostapd automatisch beim Booten durch folgende Zeile in
   der /etc/rc.conf aktiviert werden:

 hostapd_enable="YES"

   Bevor Sie versuchen hostapd zu konfigurieren, stellen Sie sicher, dass die
   Grundeinstellungen, wie in Abschnitt 32.3.5.1, "Grundeinstellungen"
   beschrieben, ausgefu:hrt wurden.

      32.3.5.3.1. WPA-PSK

   WPA-PSK ist fu:r kleine Netzwerke gedacht, in denen die Verwendung eines
   Authentifizierungs-Backend-Server nicht mo:glich oder erwu:nscht ist.

   Die Konfiguration wird in /etc/hostapd.conf durchgefu:hrt:

 interface=wlan0 1
 debug=1 2
 ctrl_interface=/var/run/hostapd 3
 ctrl_interface_group=wheel 4
 ssid=freebsdap 5
 wpa=1 6
 wpa_passphrase=freebsdmall 7
 wpa_key_mgmt=WPA-PSK 8
 wpa_pairwise=CCMP TKIP 9

   1 Dieses Feld zeigt die Wireless-Schnittstelle an, die fu:r den Access     
     Point verwendet wird an.                                                 
   2 Dieses Feld legt den debuglevel von hostapd wa:hrend der Ausfu:hrung     
     fest. Ein Wert von 1 ist der kleinste zula:ssige Wert.                   
   3 Das ctrl_interface-Feld gibt den Pfadnamen des Verzeichnisses an, der    
     von hostapd dazu genutzt wird, um die domain socket Dateien zu           
     speichern, die fu:r die Kommunikation mit externen Programmen, wie z.B.  
     hostapd_cli(8), benutzt werden. Hier wurden die Standardwerte benutzt.   
   4 Die Zeile ctrl_interface_group legt fest, welche Gruppe (hier ist es die 
     wheel-Gruppe) die Erlaubnis hat, die Schnittstellendateien zu            
     kontrollieren.                                                           
   5 Dieses Feld setzt den Netzwerknamen.                                     
   6 Das wpa-Feld aktiviert WPA und gibt an welches                           
     WPA-Authentifizierungprotokoll beno:tigt wird. Ein Wert von 1            
     konfiguriert den AP mit WPA-PSK.                                         
   7 Das wpa_passphrase-Feld beinhaltet das ASCII-Passwort fu:r die           
     WPA-Authentifikation.                                                    
                                                                              
       Warnung:                                                               
                                                                              
     Verwenden Sie immer sichere Passwo:rter, die ausreichend lang sind und   
     aus vielen unterschiedlichen Zeichen bestehen, damit sie nicht erraten   
     werden oder umgangen werden ko:nnen.                                     
   8 Die wpa_key_mgmt Zeile bestimmt das Schlu:sselmanagement-Protokoll, das  
     benutzt wird. In unserem Fall ist es WPA-PSK.                            
   9 Das wpa_pairwise Feld zeigt die zula:ssigen                              
     Verschlu:sselungs-Algorithmen des Access Points. Hier werden beide, TKIP 
     (WPA) und CCMP (WPA2), akzeptiert. CCMP-Verschlu:sselung ist eine        
     Alternative zu TKIP und sollte wenn mo:glich eingesetzt werden. TKIP     
     sollte nur da eingesetzt werden, wo kein CCMP mo:glich ist.              

   Als na:chstes wird der hostapd gestartet:

 # /etc/rc.d/hostapd forcestart

 # ifconfig wlan0
   wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2290
       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 mode 11g <hostap>
       status: associated
       ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
       authmode WPA2/802.11i privacy MIXED deftxkey 2 TKIP 2:128-bit txpowmax 36 protmode CTS dtimperiod 1 bintval 100

   Der Access Point la:ft nun, die Clients ko:nnen mit ihm verbunden werden.
   Weitere Informationen finden Sie im Abschnitt 32.3.3.1.3, "WPA". Es ist
   mo:glich zu sehen, welche Stationen mit dem AP verbunden sind. Dazu geben
   Sie den Befehl ifconfig wlan0 list sta ein.

    32.3.5.4. WEP hostbasierender Access Point

   Es ist nicht empfehlenswert, einen Access Point mit WEP zu konfigurieren,
   da es keine Authentifikationsmechanismen gibt und WEP leicht zu knacken
   ist. Einige a:ltere WLAN-Karten unterstu:tzen nur WEP als
   Sicherheitsprotokoll. Fu:r solche Karten ist es notwendig den AP ohne
   Authentifikation, Verschlu:sselung oder mit dem WEP-Protokoll zu
   konfigurieren.

   Das Wireless-Gera:t kann nun in den hostap-Modus versetzt werden und mit
   der korrekten SSID und IP-Adresse konfiguriert werden:

 # ifconfig wlan0 create wlandev ath0 wlanmode hostap
 # ifconfig wlan0 inet 192.168.0.1 netmask 255.255.255.0 \
       ssid freebsdap wepmode on weptxkey 3 wepkey 3:0x3456789012 mode 11g

     * Der weptxkey gibt an, welcher WEP-Schlu:ssel bei der U:bertragung
       benutzt wird. Hier nutzen wir den 3. Schlu:ssel (die Nummerierung der
       Schlu:ssel beginnt bei 1). Dieses Parameter muss angegeben sein, damit
       die Daten wirklich verschlu:sselt werden.

     * Der wepkey gibt den gewa:hlten WEP-Schlu:ssel an. Er sollte im
       folgenden Format index:key vorliegen. Wenn kein Index vorhanden ist,
       wird der Schlu:ssel 1 benutzt. Das bedeutet wir brauchen einen Index,
       falls wir einen anderen Schlu:ssel als den ersten nutzen wollen.

   Benutzen Sie den Befehl ifconfig noch einmal um den Status der
   wlan0-Schnittstelle zu sehen:

 # ifconfig wlan0
   wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
       ether 00:11:95:c3:0d:ac
       inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
       media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <hostap>
       status: running
       ssid freebsdap channel 4 (2427 Mhz 11g) bssid 00:11:95:c3:0d:ac
       country US ecm authmode OPEN privacy ON deftxkey 3 wepkey 3:40-bit
       txpower 21.5 scanvalid 60 protmode CTS wme burst dtimperiod 1 -dfs

   Es ist mo:glich, von einem anderen drahtlosen Computer eine Suche nach dem
   AP zu starten:

 # ifconfig wlan0 create wlandev ath0
 # ifconfig wlan0 up scan
 SSID            BSSID              CHAN RATE  S:N   INT CAPS
 freebsdap       00:11:95:c3:0d:ac    1   54M 22:1   100 EPS

   Der Client-Rechner fand den Access Point und kann mit den korrekten
   Parametern (Schlu:ssel usw.) mit ihm verbunden werden. Weitere
   Informationen gibt es in folgendem Abschnitt 32.3.3.1.4, "WEP"

  32.3.6. Benutzung von drahtgebundenen und drahtlosen Verbindungen

   Eine Verbindung per Kabel bietet eine bessere Leistung und eine ho:here
   Zuverla:ssigkeit, wa:hrend die Wireless-Verbindung eine ho:here
   Flexibilita:t und Mobilita:t bietet. Benutzer von Laptops wollen
   normalerweise beides nutzen und zwischen beiden hin und her schalten.

   Unter FreeBSD ist es mo:glich zwei oder mehr Netzwerkschnittstellen in
   einem "failover"-Mode zu kombinieren, so dass automatisch die beste
   verfu:gbare Verbindung aus der Gruppe ausgewa:hlt wird, sobald der
   Linkstatus wechselt.

   Wir behandeln Link-Aggregation und Failover in dem Kapitel Abschnitt 32.6,
   "Link-Aggregation und Failover". Dort gibt es auch ein Beispiel
   (Beispiel 32.3, "Failover Modus zwischen drahtgebundenen und drahtlosen
   Schnittstellen") fu:r die Verwendung von sowohl kabelgebundenen wie auch
   drahtlosen Verbindungen.

  32.3.7. 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.

32.4. Bluetooth

   Beigetragen von Pav Lucistnik.

  32.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.

  32.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

  32.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 Netzwerkkarte, 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.

  32.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

  32.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.

  32.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.

   hcsecd kann durch das Einfu:gen der folgenden Zeile in /etc/rc.conf beim
   Systemstart automatisch aktiviert werden:

 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

  32.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. Sie ko:nnen diesen Server durch das
   Einfu:gen der folgenden Zeile in die Datei /etc/rc.conf aktivieren:

 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

  32.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

  32.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

  32.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

  32.4.11. Problembehandlung

    32.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

    32.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).

32.5. LAN-Kopplung mit einer Bridge

   Geschrieben von Andrew Thompson.

  32.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 Netzwerkkarten 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.

  32.5.2. Situationen, in denen Bridging angebracht ist

   Es gibt zahlreiche Situationen, in denen der Einsatz einer Bridge sinnvoll
   ist:

    32.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.

    32.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.

    32.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).

    32.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.

    32.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.

  32.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.

  32.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.

  32.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.

  32.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.

   FreeBSD unterstu:tzt die Betriebsmode RSTP sowie STP, von denen RSTP als
   Standardmodus voreingestellt ist.

   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).

  32.5.7. Fortgeschrittene Funktionen

    32.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

    32.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

    32.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.

    32.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.

    32.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

    32.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

32.6. Link-Aggregation und Failover

   Geschrieben von Andrew Thompson.
   U:bersetzt von Benedict Reuschling und Sharon Bahagi.

  32.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.

  32.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(R) Fast EtherChannel(R) (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(R) 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.

  32.6.3. Beispiele

   Beispiel 32.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(R)-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 32.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.

   Beispiel 32.3. Failover Modus zwischen drahtgebundenen und drahtlosen
   Schnittstellen

   Fu:r Laptop-Benutzer ist es normalerweise wu:nschenswert, wireless als
   sekunda:re Schnittstelle einzurichten, die verwendet wird, wenn die
   Verbindung via Kabel nicht verfu:gbar ist. Mit lagg(4) ist es mo:glich,
   eine IP-Adresse fu:r die Kabelverbindung zu verwenden. Sie ist
   leistungsfa:hig und sicher. Gleichzeitig haben Sie die Mo:glichkeit Daten
   u:ber die drahtlose Verbindung zu u:bertragen.

   In dieser Konfiguration, mu:ssen wir die zugrunde liegenden MAC-Adresse
   der WLAN-Schnittstelle u:berschreiben, damit sie zur Adresse von lagg(4)
   passt, welche von der drahtgebundenen Masterschnittstelle vererbt wurde.

   In dieser Konfiguration behandeln wir die drahtgebundene Schnittstelle
   bge0 als die Master und die drahtlose Schnittstelle wlan0 als die
   Failover-Schnittstelle. Die wlan0 wurde von der iwn0 mit der MAC-Adresse
   der kabelgebundenen eingerichtet. Im ersten Schritt erhalten wir die
   MAC-Adresse der kabelgebundenen Schnittstelle:

 # ifconfig bge0
 bge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
  options=19b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4>
  ether 00:21:70:da:ae:37
  inet6 fe80::221:70ff:feda:ae37%bge0 prefixlen 64 scopeid 0x2
  nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
  media: Ethernet autoselect (1000baseT <full-duplex>)
  status: active

   Sie ko:nnen bge0 in ihre tatsa:chliche a:ndern und werden eine andere
   ether-Zeile mit der MAC-Adresse ihrer kabelgebundenen Schnittstelle
   erhalten. Nun a:ndern wir die zugrunde liegende drahtlose Schnittstelle
   iwn0:

 # ifconfig iwn0 ether 00:21:70:da:ae:37

   Starten Sie den Wireless-Schnittstelle, aber ohne IP-Adresse:

 # ifconfig wlan0 create wlandev iwn0 ssid my_router up

   Erstellen Sie die lagg(4) Schnittstelle mit bge0 als Master und wlan0 als
   Failover falls notwendig:

 # ifconfig lagg0 create
 # ifconfig lagg0 up laggproto failover laggport bge0 laggport wlan0

   Die Schnittstelle sieht a:nhlich aus, die Hauptunterschiede werden die
   MAC-Adresse und die Gera:tenamen sein:

 # ifconfig lagg0
 lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
         options=8<VLAN_MTU>
         ether 00:21:70:da:ae:37
         media: Ethernet autoselect
         status: active
         laggproto failover
         laggport: wlan0 flags=0<>
         laggport: bge0 flags=5<MASTER,ACTIVE>

   Um zu vermeiden, dass Sie dies nach jedem Neustart machen mu:ssen, ko:nnen
   Sie etwas in der Art in ihre /etc/rc.conf Datei schreiben:

 ifconfig_bge0="up"
 ifconfig_iwn0="ether 00:21:70:da:ae:37"
 wlans_iwn0="wlan0"
 ifconfig_wlan0="WPA"
 cloned_interfaces="lagg0"
 ifconfig_lagg0="laggproto failover laggport bge0 laggport wlan0 DHCP"
        

32.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(R) ist
            eine Art intelligentes Boot-ROM, das in einigen Netzwerkkarten
            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 Netzwerkkarte gebrannt werden,
            was von vielen Netzwerkkarten unterstu:tzt wird. Oder er kann von
            einer lokalen Diskette, Festplatte oder von einem laufenden
            MS-DOS(R)-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.

  32.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 Netzwerkkarten 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).

  32.7.2. Installationsanweisungen

    32.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.1 ist nicht Teil des Basissystems. Sie mu:ssen es daher zuerst
   installieren. Verwenden Sie dazu den Port net/isc-dhcp31-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.          

    32.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

    32.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(R)-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.

    32.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.

    32.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

    32.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 9,
   Konfiguration des FreeBSD-Kernels) 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"

    32.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.

      32.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
 make installworld && make installkernel
 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.

    32.7.2.8. Den Auslagerungsbereich konfigurieren

   Falls no:tig, kann eine auf dem NFS-Server liegende Datei als
   Auslagerungsdatei eingerichtet werden.

      32.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

    32.7.2.9. Verschiedenes

      32.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.

      32.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.

32.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.

  32.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 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.

   Fu:r Fragen zur Installation, Konfiguration und zu sonstigen Problemen von
   isdn4bsd gibt es die Mailingliste freebsd-isdn.

  32.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.

  32.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 32.4. 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.

   10Base2 - Ethernet

   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 32.5. Grosses Netzwerk (Firmennetz)

   Dieses Netzwerk basiert auf der Sterntopologie und 10baseT Ethernet
   ("Twisted Pair").

   ISDN Netzwerkdiagramm

   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.

32.9. NAT - Network Address Translation

   Beigetragen von Chern Lee.

  32.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.

  32.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 Netzwerkkarten 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.

   Network Layout

   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.

  32.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.

  32.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

  32.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 Netzwerkkarte, 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-Netzwerkkarte 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 Netzwerkkarte des natd-Rechners muss fu:r die korrekte Funktion
   von natd(8) nicht konfiguriert werden.

  32.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).

  32.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
   Netzwerkkarte zugewiesen sein. Weitere Informationen zu diesem Thema
   finden Sie in rc.conf(5).

32.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 Netzwerkkarten 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

  32.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 32.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          -        

  32.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

32.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

  32.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 32.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 der         
   ::00:xx:xx:xx:xx    96 Bit        Eingebettete     IPv4-Adresse. Wird auch 
                                     IPv4-Adresse     als "IPv4-kompatible    
                                                      IPv6-Adresse            
                                                      bezeichnet".            
                                                      Die niedrigen 32 Bit    
                                     Eine auf IPv6    entsprechen der         
   ::ff:xx:xx:xx:xx    96 Bit        abgebildete      IPv4-Adresse. Notwendig 
                                     IPv4-Adresse     fu:r 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 stammen 
   001 (im Dualsystem) 3 Bit         Globaler Unicast aus diesem Pool. Die    
                                                      ersten 3 Bit lauten     
                                                      "001".                  

  32.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.

  32.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.

  32.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.

  32.11.5. /etc/rc.conf fu:r die Nutzung von IPv6 anpassen

    32.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"

    32.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"

    32.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"

  32.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.

32.12. ATM - Asynchronous Transfer Mode

   Beigetragen von Harti Brandt.

  32.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.

    32.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

32.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 (wie in
   Kapitel 9, Konfiguration des FreeBSD-Kernels beschrieben) neu bauen:

 device  carp

   Alternativ ko:nnen Sie aber auch das Kernelmodul if_carp.ko beim
   Systemstart automatisch laden. Dazu nehmen Sie die folgende Zeile in die
   Datei /boot/loader.conf auf:

 if_carp_load="YES"

   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 CARP-Gera:te, 
   net.inet.carp.preempt          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  
   net.inet.carp.log              werden. 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
   Netzwerkkarte eine eindeutige Identifikationsnummer, die sogenannte VHID
   (Virtual Host Identification), besitzen, da sich ansonsten die Rechner
   Ihres Netzwerks nicht voneinander unterscheiden lassen.

  32.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).

                                 Teil V. Anhang

   Inhaltsverzeichnis

   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

Anhang A. Bezugsquellen fu:r FreeBSD

   Inhaltsverzeichnis

   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

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).

   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, Armenien, Australien, Brasilien, China,
   Da:nemark, Deutschland, Estland, Finnland, Frankreich, Griechenland,
   Grossbritannien, Hong Kong, Irland, Japan, Kanada, Korea, Lettland,
   Litauen, Neuseeland, Niederlande, Norwegen, O:sterreich, Polen, Russland,
   Saudi Arabien, Schweden, Schweiz, Slowakische Republik, Slowenien,
   Spanien, Su:dafrika, Taiwan, Tschechische Republik, Ukraine, USA.

   (aktualisiert am: UTC)

   Hauptserver
              * ftp://ftp.FreeBSD.org/pub/FreeBSD/ (ftp / ftpv6 /
                http://ftp.FreeBSD.org/pub/FreeBSD/ /
                http://ftp.FreeBSD.org/pub/FreeBSD/)

   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 / ftpv6 /
                http://ftp4.FreeBSD.org/pub/FreeBSD/ /
                http://ftp4.FreeBSD.org/pub/FreeBSD/)

              * ftp://ftp5.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp6.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp7.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp10.FreeBSD.org/pub/FreeBSD/ (ftp / ftpv6 /
                http://ftp10.FreeBSD.org/pub/FreeBSD/ /
                http://ftp10.FreeBSD.org/pub/FreeBSD/)

              * ftp://ftp11.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp13.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp14.FreeBSD.org/pub/FreeBSD/ (ftp /
                http://ftp14.FreeBSD.org/pub/FreeBSD/)

   Armenien

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@am.FreeBSD.org> dieser Domain.

              * ftp://ftp1.am.FreeBSD.org/pub/FreeBSD/ (ftp /
                http://ftp1.am.FreeBSD.org/pub/FreeBSD/ / rsync)

   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://ftp2.br.FreeBSD.org/FreeBSD/ (ftp /
                http://ftp2.br.FreeBSD.org/)

              * ftp://ftp3.br.FreeBSD.org/pub/FreeBSD/ (ftp / rsync)

              * ftp://ftp4.br.FreeBSD.org/pub/FreeBSD/ (ftp)

   China

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@cn.FreeBSD.org> dieser Domain.

              * ftp://ftp.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 /
                http://ftp.dk.FreeBSD.org/pub/FreeBSD/ /
                http://ftp.dk.FreeBSD.org/pub/FreeBSD/)

   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://ftp1.de.FreeBSD.org/freebsd/ (ftp /
                http://www1.de.FreeBSD.org/freebsd/ /
                rsync://rsync3.de.FreeBSD.org/freebsd/)

              * ftp://ftp2.de.FreeBSD.org/pub/FreeBSD/ (ftp /
                http://ftp2.de.FreeBSD.org/pub/FreeBSD/ / rsync)

              * ftp://ftp4.de.FreeBSD.org/FreeBSD/ (ftp /
                http://ftp4.de.FreeBSD.org/pub/FreeBSD/)

              * ftp://ftp5.de.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp7.de.FreeBSD.org/pub/FreeBSD/ (ftp /
                http://ftp7.de.FreeBSD.org/pub/FreeBSD/)

              * 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)

   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 /
                http://ftp1.fr.FreeBSD.org/pub/FreeBSD/ / rsync)

              * ftp://ftp3.fr.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp4.fr.FreeBSD.org/pub/FreeBSD/ (ftp /
                ftp://ftp4.fr.FreeBSD.org/pub/FreeBSD/ /
                http://ftp4.fr.FreeBSD.org/pub/FreeBSD/ /
                http://ftp4.fr.FreeBSD.org/pub/FreeBSD/ /
                rsync://ftp4.fr.FreeBSD.org/FreeBSD/ /
                rsync://ftp4.fr.FreeBSD.org/FreeBSD/)

              * ftp://ftp5.fr.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp6.fr.FreeBSD.org/pub/FreeBSD/ (ftp / rsync)

              * 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://ftp2.uk.FreeBSD.org/ /
                rsync://ftp2.uk.FreeBSD.org/ftp.freebsd.org/pub/FreeBSD/)

              * ftp://ftp3.uk.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp4.uk.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp5.uk.FreeBSD.org/pub/FreeBSD/ (ftp)

   Hong Kong
              * ftp://ftp.hk.FreeBSD.org/pub/FreeBSD/ (ftp)

   Irland

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@ie.FreeBSD.org> dieser Domain.

              * ftp://ftp3.ie.FreeBSD.org/pub/FreeBSD/ (ftp /
                http://ftp3.ie.FreeBSD.org/pub/FreeBSD/ / rsync)

   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/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 /
                http://ftp2.kr.FreeBSD.org/pub/FreeBSD/)

   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.lv.FreeBSD.org/pub/FreeBSD/)

   Litauen

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@lt.FreeBSD.org> dieser Domain.

              * ftp://ftp.lt.FreeBSD.org/pub/FreeBSD/ (ftp /
                http://ftp.lt.FreeBSD.org/pub/FreeBSD/)

   Neuseeland
              * ftp://ftp.nz.FreeBSD.org/pub/FreeBSD/ (ftp /
                http://ftp.nz.FreeBSD.org/pub/FreeBSD/)

   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://ftp.nl.FreeBSD.org/os/FreeBSD/ / 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)

   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 / ftpv6 /
                http://ftp.at.FreeBSD.org/pub/FreeBSD/ /
                http://ftp.at.FreeBSD.org/pub/FreeBSD/)

   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://ftp2.pl.FreeBSD.org/pub/FreeBSD/ /
                http://ftp2.pl.FreeBSD.org/pub/FreeBSD/ /
                http://ftp2.pl.FreeBSD.org/pub/FreeBSD/ / rsync / rsyncv6)

   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://ftp.ru.FreeBSD.org/FreeBSD/ / rsync)

              * ftp://ftp2.ru.FreeBSD.org/pub/FreeBSD/ (ftp /
                http://ftp2.ru.FreeBSD.org/pub/FreeBSD/ / rsync)

              * ftp://ftp4.ru.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp5.ru.FreeBSD.org/pub/FreeBSD/ (ftp /
                http://ftp5.ru.FreeBSD.org/pub/FreeBSD/ / 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/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 /
                rsync://ftp2.se.FreeBSD.org/)

              * ftp://ftp3.se.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp4.se.FreeBSD.org/pub/FreeBSD/ (ftp /
                ftp://ftp4.se.FreeBSD.org/pub/FreeBSD/ /
                http://ftp4.se.FreeBSD.org/pub/FreeBSD/ /
                http://ftp4.se.FreeBSD.org/pub/FreeBSD/ /
                rsync://ftp4.se.FreeBSD.org/pub/FreeBSD/ /
                rsync://ftp4.se.FreeBSD.org/pub/FreeBSD/)

              * ftp://ftp6.se.FreeBSD.org/pub/FreeBSD (ftp /
                http://ftp6.se.FreeBSD.org/pub/FreeBSD)

   Schweiz

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@ch.FreeBSD.org> dieser Domain.

              * ftp://ftp.ch.FreeBSD.org/pub/FreeBSD/ (ftp /
                http://ftp.ch.FreeBSD.org/pub/FreeBSD/)

   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 /
                ftp://ftp.sk.FreeBSD.org/pub/FreeBSD/ /
                http://ftp.sk.FreeBSD.org/pub/FreeBSD/ /
                http://ftp.sk.FreeBSD.org/pub/FreeBSD/)

              * ftp://ftp2.sk.FreeBSD.org/pub/FreeBSD/ (ftp /
                ftp://ftp2.sk.FreeBSD.org/pub/FreeBSD/ /
                http://ftp2.sk.FreeBSD.org/pub/FreeBSD/ /
                http://ftp2.sk.FreeBSD.org/pub/FreeBSD/)

   Slowenien

           Bei Problemen wenden Sie sich bitte an den Betreuer
           <hostmaster@si.FreeBSD.org> dieser Domain.

              * ftp://ftp.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 /
                http://ftp.es.FreeBSD.org/pub/FreeBSD/)

              * 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://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 /
                ftp://ftp.tw.FreeBSD.org/pub/FreeBSD/ / rsync / rsyncv6)

              * ftp://ftp2.tw.FreeBSD.org/pub/FreeBSD/ (ftp /
                ftp://ftp2.tw.FreeBSD.org/pub/FreeBSD/ /
                http://ftp2.tw.FreeBSD.org/pub/FreeBSD/ /
                http://ftp2.tw.FreeBSD.org/pub/FreeBSD/ / 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://ftp6.tw.FreeBSD.org/ / 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://ftp11.tw.FreeBSD.org/FreeBSD/)

              * 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 /
                ftp://ftp.cz.FreeBSD.org/pub/FreeBSD/ /
                http://ftp.cz.FreeBSD.org/pub/FreeBSD/ /
                http://ftp.cz.FreeBSD.org/pub/FreeBSD/ / rsync / rsyncv6)

              * ftp://ftp2.cz.FreeBSD.org/pub/FreeBSD/ (ftp /
                http://ftp2.cz.FreeBSD.org/pub/FreeBSD/)

   Ukraine
              * ftp://ftp.ua.FreeBSD.org/pub/FreeBSD/ (ftp /
                http://ftp.ua.FreeBSD.org/pub/FreeBSD/)

              * ftp://ftp7.ua.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 /
                http://ftp4.us.FreeBSD.org/pub/FreeBSD/ /
                http://ftp4.us.FreeBSD.org/pub/FreeBSD/)

              * ftp://ftp5.us.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp6.us.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp8.us.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp10.us.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp11.us.FreeBSD.org/pub/FreeBSD/ (ftp)

              * ftp://ftp13.us.FreeBSD.org/pub/FreeBSD/ (ftp /
                http://ftp13.us.FreeBSD.org/pub/FreeBSD/ / rsync)

              * ftp://ftp14.us.FreeBSD.org/pub/FreeBSD/ (ftp /
                http://ftp14.us.FreeBSD.org/pub/FreeBSD/)

              * 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 19.6.3, "burncd"
   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.)

     * Taiwan: :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs (pserver:
       Benutzen Sie cvs login und ein beliebiges Passwort. SSH-Zugriffe
       erfordern kein Passwort.)

 SSH2 HostKey: 1024 02:ed:1b:17:d6:97:2b:58:5e:5c:e2:da:3b:89:88:26 /etc/ssh/ssh_host_rsa_key.pub
 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: anoncvs@anoncvs1.FreeBSD.org:/home/ncvs (nur SSH2 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, "CVS-Tags" 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 anoncvs@anoncvs1.FreeBSD.org:/home/ncvs co src
 The authenticity of host 'anoncvs1.freebsd.org (216.87.78.137)' can't be established.
 DSA key fingerprint is 53:1f:15:a3:72:5c:43:f6:44:0e:6a:e9:bb:f8:01:62.
 Are you sure you want to continue connecting (yes/no)? yes
 Warning: Permanently added 'anoncvs1.freebsd.org' (DSA) to the list of known hosts.

   Beispiel A.3. ls(1) aus dem 8-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_8 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_8_0_0_RELEASE -rRELENG_8_1_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 der California Polytechnic State University.

     * 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-7 erhalten Sie den FreeBSD 7.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. csup ist bereits im Basissystem enthalten und
   kann sofort verwendet werden. 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 Xorg (also beispielsweise auf einem
   Server), benutzen, stellen Sie bitte sicher, dass Sie den Port ohne das
   CVSup-GUI, (net/cvsup-without-gui) 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, "CVS-Tags" za:hlt fu:r Benutzer relevante Tags auf.
       Wenn Sie in der Konfigurationsdatei ein Tag, wie RELENG_8, angeben,
       mu:ssen Sie diesem tag= vorstellen: tag=RELENG_8. 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(TM) 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-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, Armenien, Australien, Brasilien, Da:nemark,
   Deutschland, Estland, Finnland, Frankreich, Irland, Italien, Japan, Korea,
   Lettland, Litauen, Niederlande, Norwegen, Polen, Russland, Schweden,
   Schweiz, Slowakische Republik, Slowenien, Spanien, Su:dafrika, Taiwan,
   Tschechische Republik, Ukraine, USA.

   (aktualisiert am: UTC)

   Hauptserver
              * cvsup.FreeBSD.org

   Hauptspiegel
              * cvsup1.FreeBSD.org

              * cvsup3.FreeBSD.org

              * cvsup4.FreeBSD.org

              * cvsup5.FreeBSD.org

              * cvsup6.FreeBSD.org

              * cvsup7.FreeBSD.org

              * cvsup9.FreeBSD.org

              * cvsup10.FreeBSD.org

              * cvsup11.FreeBSD.org

              * cvsup12.FreeBSD.org

              * cvsup14.FreeBSD.org

              * cvsup15.FreeBSD.org

              * cvsup18.FreeBSD.org

   Armenien
              * cvsup1.am.FreeBSD.org

   Australien
              * cvsup.au.FreeBSD.org

   Brasilien
              * cvsup2.br.FreeBSD.org

   Da:nemark
              * cvsup.dk.FreeBSD.org

   Deutschland
              * cvsup.de.FreeBSD.org

              * cvsup2.de.FreeBSD.org

              * cvsup4.de.FreeBSD.org

              * cvsup5.de.FreeBSD.org

   Estland
              * cvsup.ee.FreeBSD.org

   Finnland
              * cvsup.fi.FreeBSD.org

   Frankreich
              * cvsup3.fr.FreeBSD.org

              * cvsup5.fr.FreeBSD.org

              * cvsup8.fr.FreeBSD.org

   Irland
              * cvsup.ie.FreeBSD.org

              * cvsup2.ie.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

   Korea
              * cvsup.kr.FreeBSD.org

   Lettland
              * cvsup.lv.FreeBSD.org

   Litauen
              * cvsup.lt.FreeBSD.org

   Niederlande
              * cvsup.nl.FreeBSD.org

              * cvsup2.nl.FreeBSD.org

              * cvsup3.nl.FreeBSD.org

   Norwegen
              * cvsup.no.FreeBSD.org

   Polen
              * cvsup.pl.FreeBSD.org

   Russland
              * cvsup3.ru.FreeBSD.org

              * cvsup5.ru.FreeBSD.org

              * cvsup6.ru.FreeBSD.org

   Schweden
              * cvsup.se.FreeBSD.org

   Schweiz
              * cvsup.ch.FreeBSD.org

   Slowakische Republik
              * cvsup.sk.FreeBSD.org

   Slowenien
              * cvsup.si.FreeBSD.org

   Spanien
              * cvsup.es.FreeBSD.org

              * cvsup2.es.FreeBSD.org

              * cvsup3.es.FreeBSD.org

   Su:dafrika
              * cvsup.za.FreeBSD.org

   Taiwan
              * cvsup.tw.FreeBSD.org

              * cvsup3.tw.FreeBSD.org

              * cvsup6.tw.FreeBSD.org

              * cvsup10.tw.FreeBSD.org

              * cvsup11.tw.FreeBSD.org

              * cvsup12.tw.FreeBSD.org

              * cvsup13.tw.FreeBSD.org

   Tschechische Republik
              * cvsup.cz.FreeBSD.org

   Ukraine
              * cvsup5.ua.FreeBSD.org

              * cvsup6.ua.FreeBSD.org

   USA
              * cvsup1.us.FreeBSD.org

              * cvsup3.us.FreeBSD.org

              * cvsup4.us.FreeBSD.org

              * cvsup5.us.FreeBSD.org

              * cvsup7.us.FreeBSD.org

              * cvsup9.us.FreeBSD.org

              * cvsup11.us.FreeBSD.org

              * cvsup12.us.FreeBSD.org

              * cvsup13.us.FreeBSD.org

              * cvsup14.us.FreeBSD.org

              * cvsup15.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_8

           Der Entwicklungszweig fu:r FreeBSD-8.X, auch bekannt als FreeBSD
           8-STABLE.

   RELENG_8_2

           Der Zweig, auf dem sicherheitsrelevante oder kritische
           Fehlerbehebungen fu:r FreeBSD 8.2 durchgefu:hrt werden.

   RELENG_8_1

           Der Zweig, auf dem sicherheitsrelevante oder kritische
           Fehlerbehebungen fu:r FreeBSD 8.1 durchgefu:hrt werden.

   RELENG_8_0

           Der Zweig, auf dem sicherheitsrelevante oder kritische
           Fehlerbehebungen fu:r FreeBSD 8.0 durchgefu:hrt werden.

   RELENG_7

           Der Entwicklungszweig fu:r FreeBSD-7.X, auch als FreeBSD 7-STABLE
           bekannt.

   RELENG_7_4

           Der Zweig, auf dem sicherheitsrelevante oder kritische
           Fehlerbehebungen fu:r FreeBSD 7.4 durchgefu:hrt werden.

   RELENG_7_3

           Der Zweig, auf dem sicherheitsrelevante oder kritische
           Fehlerbehebungen fu:r FreeBSD 7.3 durchgefu:hrt werden.

   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_8_2_0_RELEASE

           FreeBSD 8.2

   RELENG_8_1_0_RELEASE

           FreeBSD 8.1

   RELENG_8_0_0_RELEASE

           FreeBSD 8.0

   RELENG_7_4_0_RELEASE

           FreeBSD 7.4

   RELENG_7_3_0_RELEASE

           FreeBSD 7.3

   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.

   Russland

           rsync://ftp.mtu.ru/

           Verfu:gbare Sammlungen:

              * FreeBSD: Kompletter Spiegel des FreeBSD-FTP-Servers.

              * FreeBSD-gnats: Die GNATS-Datenbank zur Verwaltung von
                Problemberichten.

              * FreeBSD-Archive: Ein Spiegel des FreeBSD-Archive-FTP-Servers.

   Schweden

           rsync://ftp4.se.freebsd.org/

           Verfu:gbare Sammlungen:

              * FreeBSD: Kompletter Spiegel des FreeBSD-FTP-Servers.

   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.

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

   [19] Tags sind symbolische Namen, die im Repository vergeben werden.

   [20] Abku:rzung fu:r "CVS Through eMail"

Anhang B. Bibliografie

   Inhaltsverzeichnis

   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

   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(R) 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 FreeBSD, 2nd Edition: The Complete Guide to FreeBSD,
       herausgegeben von No Starch Press, 2007. ISBN: 978-1-59327-151-0

     * 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

     * BSD Magazine, herausgegeben von Software Press Sp. z o.o. SK. ISBN:
       1898-9144

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.

     * 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

   Inhaltsverzeichnis

   C.1. Mailinglisten

   C.2. Usenet-News

   C.3. World Wide Web Server

   C.4. E-Mail Adressen

   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   
   freebsd-bugbusters             Fehlerberichte-Datenbank und die dazu       
                                  benutzten Werkzeuge                         
   freebsd-bugs                   Fehlerberichte                              
   freebsd-chat                   Nicht technische Themen, die die            
                                  FreeBSD-Gemeinschaft betreffen              
   freebsd-chromium               Diskussionen zum Einsatz von Chromium unter 
                                  FreeBSD                                     
   freebsd-current                Gebrauch von FreeBSD-CURRENT                
   freebsd-isp                    Fu:r Internet-Service-Provider, die FreeBSD 
                                  benutzen                                    
   freebsd-jobs                   Anstellung und Beratung im FreeBSD-Umfeld   
   freebsd-questions              Benutzerfragen und technische               
                                  Unterstu:tzung                              
   freebsd-security-notifications Anku:ndigungen zum Thema Sicherheit         
   freebsd-stable                 Gebrauch von FreeBSD-STABLE                 
   freebsd-test                   Schicken Sie Testnachrichten an 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(R) AIC 7xxx Treibern        
   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                
                          Design und Entwicklung eines Systems, das es        
   freebsd-binup          erlaubt, ein FreeBSD-System mit bina:ren Paketen zu 
                          aktualisieren                                       
   freebsd-bluetooth      Bluetooth(R) 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-desktop        FreeBSD als Desktop verwenden und verbessern        
   freebsd-doc            Erstellen der FreeBSD-Dokumentation                 
   freebsd-drivers        Gera:tetreiber fu:r FreeBSD schreiben               
   freebsd-eclipse        Fu:r FreeBSD-Anwender, die die Eclipse IDE, deren   
                          Werkzeuge, Anwendungen und Ports einsetzen          
   freebsd-embedded       FreeBSD in eingebetteten Anwendungen einsetzen      
   freebsd-emulation      Emulation anderer Systeme wie Linux, MS-DOS(R) oder 
                          Windows(R)                                          
                          Support fu:r FreeBSD-bezogene Software, die vom     
   freebsd-eol            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(R) x86) Plattform     
   freebsd-ia64           Portierung von FreeBSD auf Intel(R)s 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(TM) Entwickler und Leute, die JDK(TM)s    
                          nach FreeBSD portieren                              
   freebsd-kde            Portierung von KDE und KDE-Anwendungen              
   freebsd-lfs            Portierung von LFS nach FreeBSD                     
   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-office         Office-Anwendungen fu:r 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(R)         
                          Architekturen                                       
   freebsd-ports          Diskussion u:ber die Ports-Sammlung                 
   freebsd-ports-announce Wichtige Neuigkeiten und Anweisungen zur            
                          Ports-Sammlung                                      
   freebsd-ports-bugs     Diskussion u:ber Fehler und PRs der Ports           
   freebsd-ppc            Portierung von FreeBSD auf den PowerPC(R)           
   freebsd-proliant       Technische Diskussionen zum Einsatz von FreeBSD auf 
                          der ProLiant-Serverplattform von HP.                
   freebsd-python         FreeBSD-spezifische Diskussionen zu Python          
   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 Systemen      
   freebsd-small          (obsolet; verwenden Sie stattdessen                 
                          freebsd-embedded)                                   
   freebsd-sparc64        Portierung von FreeBSD auf SPARC(R) Systeme         
   freebsd-standards      Konformita:t von FreeBSD mit den C99- und           
                          POSIX-Standards                                     
   freebsd-sysinstall     sysinstall(8) Entwicklung                           
   freebsd-threads        Leichgewichtige Prozesse (Threads) in FreeBSD       
   freebsd-tilera         Diskussionen zur Portierung von FreeBSD auf die     
                          Tilera-CPU-Familie.                                 
   freebsd-tokenring      Token-Ring Unterstu:tzung in FreeBSD                
   freebsd-toolchain      Wartung der FreeBSD-Toolchain                       
   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(TM) - Implementierung und Verwendung            
   freebsd-xfce           Portierung und Wartung von XFCE                     
   freebsd-zope           Zope fu:r FreeBSD - Portierung und Wartung          

   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-wireless    Diskussionen zum 802.11-Stack sowie zur Entwicklung    
                       von Tools und Gera:tetreibern                          
   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 src-Baum      
   cvs-src              /usr/src                 (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  
   svn-src-head         /usr/src                 des Subversion Repository    
                                                 (der FreeBSD-CURRENT Zweig)  
                                                 A:nderungen im projects      
   svn-src-projects     /usr/projects            Bereich des src Subversion   
                                                 Repository                   
                                                 A:nderungen im releases      
   svn-src-release      /usr/src                 Bereich des src Subversion   
                                                 Repository                   
                                                 A:nderungen im releng Zweig  
   svn-src-releng       /usr/src                 des src Subversion           
                                                 Repository (der security /   
                                                 release engineering Zweige)  
                                                 A:nderungen an allen stable  
   svn-src-stable       /usr/src                 Zweigen des src Subversion   
                                                 Repository                   
                                                 A:nderungen im stable/6      
   svn-src-stable-6     /usr/src                 Zweig des src Subversion     
                                                 Repository                   
                                                 A:nderungen im stable/7      
   svn-src-stable-7     /usr/src                 Zweig des src Subversion     
                                                 Repository                   
                                                 A:nderungen im stable/8      
   svn-src stable-8     /usr/src                 Zweig des src Subversion     
                                                 Repository                   
                                                 A:nderungen im stable/8      
   svn-src-stable-9     /usr/src                 Zweig des src Subversion     
                                                 Repository                   
                                                 A:nderungen an a:lteren      
   svn-src-stable-other /usr/src                 stable Zweigen des src       
                                                 Subversion Repository        
                                                 A:nderungen an den           
                                                 administrativen Skripten,    
   svn-src-svnadmin     /usr/src                 hooks, and anderen Daten zur 
                                                 Konfiguration des src        
                                                 Subversion Repository        
                                                 A:nderungen am               
   svn-src-user         /usr/src                 experimentellen user 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-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(R) unter FreeBSD

           Diese Liste diskutiert Probleme der Verwendung von Bluetooth(R)
           unter FreeBSD. Designprobleme, Implementierungsdetails, Patches,
           Fehler- und Statusberichte, Verbesserungsvorschla:ge sowie alle
           anderen mit Bluetooth(R) 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-chromium

           Diskussionen zum Einsatz von Chromium unter FreeBSD

           Auf dieser technischen Liste werden Fragen zur Entwicklung, zur
           Installation sowie zum Einsatz von Chromium unter FreeBSD
           diskutiert.

   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-desktop

           FreeBSD als Desktop verwenden und verbessern

           Dies ist ein Forum fu:r Diskussionen um FreeBSD auf dem Desktop.
           Es wird prima:r von Desktop-Portierern und Nutzern verwendet, um
           Probleme und Verbesserungen zu FreeBSDs Einsatz auf dem Desktop zu
           besprechen.

   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(R) oder Windows(R)

           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(R) (iLink, IEEE 1394)

           Auf dieser Liste wird das Design und die Implementierung eines
           FireWire(R)-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(R) 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(TM) Entwicklung

           Mailingliste, auf der die Entwicklung von Java(TM) Anwendungen
           fu:r FreeBSD sowie die Portierung und Pflege von JDK(TM)s
           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(R) 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-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(R) Plattformen

           Plattformu:bergreifende Themen und Vorschla:ge fu:r die Portierung
           auf nicht-Intel(R) Plattformen. Auf dieser Liste finden nur
           technische Diskussionen statt.

   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(R) Standards

           Dieses Forum ist fu:r technische Diskussionen u:ber die
           Konformita:t von FreeBSD mit den C99- und POSIX-Standards.

   freebsd-toolchain

           Wartung der FreeBSD-Toolchain

           Auf dieser Mailingliste werden alle Themen rund um die
           FreeBSD-Toolchain diskutiert. Dazu geho:ren der Status von Clang
           und GCC, aber auch Fragen zu Programmen wie Assemblern, Linkern
           und Debuggern.

   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-wireless

           Diskussionen zum 802.11-Stack sowie zur Entwicklung von Tools und
           Gera:tetreibern

           Die Mailingliste freebsd-wireless diskutiert Themen rund um den
           802.11-Stack (sys/net80211). Besprochen werden die Entwicklung von
           Tools und Gera:tetreibern sowie auftretende Probleme, neue
           Funktionen sowie die Wartung der existierenden Werkzeuge und
           Treiber.

   freebsd-xen

           Diskussionen u:ber die FreeBSD Portierung auf Xen(TM) -
           Implementierung und Verwendung

           Eine Liste, die die FreeBSD Portierung auf Xen(TM) 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.

   freebsd-xfce

           XFCE

           Eine Liste, auf der Fragen zum Einsatz von XFCE unter FreeBSD
           diskutiert werden. Es handelt sich um eine technische
           Mailingliste, die sich prima:r an Entwickler richtet, die aktiv an
           der Portierung von XFCE nach FreeBSD arbeiten. Aber auch Nutzer,
           die einfach nur die technischen Diskussionen verfolgen wollen,
           sind willkommen. Diskutiert werden vor allem bei der Portierung
           auftretende Probleme und mo:gliche Lo:sungswege.

   freebsd-zope

           Zope

           Ein Forum fu:r Diskussionen daru:ber, wie man die Zope-Umgebung
           auf FreeBSD portieren kann. Dies ist eine technische Mailingliste.
           Sie ist fu:r Leute gedacht, die aktiv an der Portierung von Zope
           auf FreeBSD arbeiten, um aufkommende Probleme oder alternative
           Lo:sungsansa:tze zu besprechen. Personen, die der technischen
           Diskussion folgen mo:chten, sind ebenfalls willkommen.

  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, Armenien, Australien, Da:nemark, Deutschland, Finnland,
   Frankreich, Grossbritannien, Hong Kong, Irland, Japan, Kanada, Lettland,
   Litauen, Niederlande, Norwegen, O:sterreich, Russland, Schweden, Schweiz,
   Slowakische Republik, Slowenien, Spanien, Su:dafrika, Taiwan, Tschechische
   Republik, USA.

   (aktualisiert am: UTC)

     * Hauptserver

          * http://www.FreeBSD.org/

     * Armenien

          * http://www1.am.FreeBSD.org/ (IPv6)

     * Australien

          * http://www.au.FreeBSD.org/

          * http://www2.au.FreeBSD.org/

     * Da:nemark

          * http://www.dk.FreeBSD.org/ (IPv6)

     * Deutschland

          * http://www.de.FreeBSD.org/

     * Finnland

          * http://www.fi.FreeBSD.org/

     * Frankreich

          * http://www1.fr.FreeBSD.org/

     * Grossbritannien

          * http://www1.uk.FreeBSD.org/

          * http://www3.uk.FreeBSD.org/

     * Hong Kong

          * http://www.hk.FreeBSD.org/

     * Irland

          * http://www.ie.FreeBSD.org/

     * Japan

          * http://www.jp.FreeBSD.org/www.FreeBSD.org/ (IPv6)

     * Kanada

          * http://www.ca.FreeBSD.org/

          * http://www2.ca.FreeBSD.org/

     * Lettland

          * http://www.lv.FreeBSD.org/

     * Litauen

          * http://www.lt.FreeBSD.org/

     * Niederlande

          * http://www.nl.FreeBSD.org/

     * Norwegen

          * http://www.no.FreeBSD.org/

     * O:sterreich

          * http://www.at.FreeBSD.org/ (IPv6)

     * Russland

          * http://www.ru.FreeBSD.org/

          * http://www2.ru.FreeBSD.org/

     * Schweden

          * http://www.se.FreeBSD.org/

     * Schweiz

          * http://www.ch.FreeBSD.org/ (IPv6)

          * http://www2.ch.FreeBSD.org/ (IPv6)

     * Slowakische Republik

          * http://www.sk.FreeBSD.org/

     * Slowenien

          * http://www.si.FreeBSD.org/

     * Spanien

          * http://www.es.FreeBSD.org/

          * http://www2.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://www4.tw.FreeBSD.org/

          * http://www5.tw.FreeBSD.org/ (IPv6)

     * Tschechische Republik

          * http://www.cz.FreeBSD.org/ (IPv6)

     * USA

          * 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> 

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

   [21] http://www.freebsd.org/news/status/

Anhang D. PGP Schlu:ssel

   Inhaltsverzeichnis

   D.1. Ansprechpartner

   D.2. Mitglieder des Core Teams

   D.3. Entwickler

   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/15D68804CA6CDFB2 2002-08-27 [expires: 2014-01-01]
       Key fingerprint = C374 0FC5 69A6 FBB1 4AED  B131 15D6 8804 CA6C DFB2
 uid                          FreeBSD Security Officer <security-officer@FreeBSD.org>
 sub   2048g/E8C96EEFA3071809 2002-08-27 [expires: 2014-01-01]

 pub   4096R/ED67ECD65DCF6AE7 2013-09-24 [expires: 2018-01-01]
       Key fingerprint = 1CF7 FF6F ADF5 CA9F BE1B  8CB2 ED67 ECD6 5DCF 6AE7
 uid                          FreeBSD Security Officer <security-officer@FreeBSD.org>
 sub   4096R/B64357A343D9CBAE 2013-09-24 [expires: 2018-01-01]


 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 EJcQuJvKV618Tc8H/1N8o39AF8A4CZ4LVL1afqjRgHRYvSLXqC2SvFq+G9QKRanb
 0E64Kh7/////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////
 //////////////////////////////////////+JAZwEEAECAAYFAlF1oN0ACgkQ
 jw7rxHtHFsmrwgv/aVGvQnxFX1BGQse85UTZig5GvslhktVGRcdBb86YKzsLxFRE
 Pc8IOqItTSxBtvSTQEyQuYXMZfP1+iw1uQm+OyqP0cEipeo/fCcUXDjndMslHb2O
 5jE1kqOGh3SvvQzUtS8Y6O/iKiR6urQFJYXGF4gkyvBRw9MyIf60HnSxM8QX8AMh
 C3JOoDrTIhFLq8WFkrdPU37zvJet/k80+uFXL7vToO8AIvzynRKzuQLRn0DlFUDA
 hWvvy+lXsquL9sGzyE9oOQDcBmkSArNpJ5zFi9g8p/45dvjHWcqNYNe35zq+7QG1
 ctN7kjPvJNWFuFE0PwwQ/LCNwg2XYoOUDDnNQXhcZAa/eD5bUmJtD71AYIx0SlmM
 X8xoCh83SD6qK/eML6gKSOMc2Kxoq7BEHG230/sjSqUrWHW31ikcPTxB1q8aSW1X
 pSNpBcpVNYeJfCImEi/FH+pUY3ueIEt1B2NzuUTmopg7kYqQfEnOFYnNjdV1G4D3
 VwwDdWhVVET7x8ltiQGcBBABAgAGBQJRdaDiAAoJEBrKdusyNTqzoLcMAJsY/oTM
 zdqj6rAd0rLulQ8ZrTb5VFGS6bhFrv98h8mn/nJ7nM368A7F0GoxjAHTgvXndgxl
 7+xuxCCBdcxT0/oFGwU7T1chvZ/MEa6ErXLsJb2jXpI/tXMSuwkhX4Tkza063v+D
 yfjDDgIgoblUUSQzJsfrnAGniq1kXl7EdlMTjIRUHKfXLnOqdvWq2cloP0W7RzXC
 YMC03w7nOUSbz4PBHHGPareNPz//wEAUeCIt4GcqPNh8n+zRrylklVebO4HMaVuf
 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
 =Ba2T
 -----END PGP PUBLIC KEY BLOCK-----

  D.1.2. Security Team Secretary <secteam-secretary@FreeBSD.org>

 pub   4096R/3CB2EAFCC3D6C666 2013-09-24 [expires: 2018-01-01]
       Key fingerprint = FA97 AA04 4DF9 0969 D5EF  4ADA 3CB2 EAFC C3D6 C666
 uid                          FreeBSD Security Team Secretary <secteam-secretary@FreeBSD.org>
 sub   4096R/509B26612335EB65 2013-09-24 [expires: 2018-01-01]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =5gJ7
 -----END PGP PUBLIC KEY BLOCK-----

  D.1.3. Core Team Secretary <core-secretary@FreeBSD.org>

 pub   2048R/2CA49776 2012-07-23
       Key fingerprint = 89F6 C031 B4E3 D472 E4CE  8372 4D58 FDCD 2CA4 9776
 uid                  FreeBSD Core Team Secretary <core-secretary@freebsd.org>
 sub   2048R/BBAD1C98 2012-07-23

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v2.0.19 (FreeBSD)

 mQENBFANQTEBCADwvspc52P27Eq2Wdm0/kbaEC84FHSud6fZdn1Zhib/7fjuAHoV
 U+61w64t9KQVA5NHKviO19j+7dm4CY20aOJHjcHj89q7NpIfE/05J/krTAJ0Ysk+
 HdztzVOD3Zt5c9wGVKKfXbzQ3AAoISmJWF5K8a5oJo1wPt4xD4J0up9OzHOQRUjM
 MKXOYkg/8RVNrdcuVJt/31wkhpsm0Bf6AnHzUybHdgnzSdhFEiQoWg+OFC3X6X4B
 gWH32fo2FiZNsogvLEbd5fdiGPxbsT58p3D6Zd83e7IhffPxjFMlCq2ZL506drAy
 jbadDdk7d76RWvDDuFGykFXwJOtxoKuH/drFABEBAAG0OEZyZWVCU0QgQ29yZSBU
 ZWFtIFNlY3JldGFyeSA8Y29yZS1zZWNyZXRhcnlAZnJlZWJzZC5vcmc+iQE4BBMB
 AgAiBQJQDUExAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBNWP3NLKSX
 dlVTB/9BZ7FcZK2YDB9ervPig3t35Z7ips/4KKbpnTwkWw4QktwkGEOLsAr2fdRC
 XBkRiTMzT2Zwh/M8OzNkDcgJcHic5EQSIKOF0HEj/YuCE7HOBvSkxo70wHN8F1eJ
 8mqTETgv6P2BpeM3pPoMeisGAhp9NFQWYb5N7Bb5x+U2jjLnDAjmcuc1AkzrOlth
 gPrs73PY0rnu73acrzrThavCaKRO/40+Xmp88+QYHhvGjsUF54kbjXitiFQJP9ha
 ZdV22OjIigm3tOmOkPGFHMHG7g1GYp52NLbeDcytMX42eYZi1pOSvovoi3OImRb5
 rMNvryEmT6yTWC93MJOKbQe7Yn8LiEYEEBECAAYFAlAN0EQACgkQk13vRKCTJitF
 ngCffyTfE6cq5Osi9c3QGFVHYxC8uAUAn3MZ4iqGJirIXdaNT8YCK79Brdw0iJwE
 EAECAAYFAlAN0JkACgkQ/KbBSP+K4wUKiAP/TqgTqqV7mCIwesCGf6MaYNlhdv0S
 GYuPNa3RfSTbEHMyhDt9FPjaiiHpuYSl39e1/tNPFO5+48XrKsII4lu8Qgjgakgu
 KeYt8cFTjSzAX9lz9uNMieZE4Lv1/mkc8LEKYfmbaipxwPVcaxz1HiGakPIITTJ3
 34jo2LkqZBII8Xq5AQ0EUA1BMQEIALrp6i6T/r8rqpTSUU6Y6RAzKe8tMW/hCs/0
 pJt4MdIVxboVg1WgNwZuKk3srJIim60REEaR0JG8awMG+GIf9t3BMckIsQ8Pm9W9
 VQ0084iVuhUQcrjpmI+T6fsX0ssX1AFrO7lH6hLXVEXoNmCaXG3lIc1OGlR8lYi7
 r7xAbCYkFz+2isttqZxcn/CNPSRzn+CXE/jNMaikNQGouUrF8twi3ubyzYhpBvVj
 dn1PO+KFLD/kbo5rPx3+sdgw65d8XedVMiS+U5OVVpY57zoYLjeCb/QTAR/Yunen
 epd3OlwW6fR2959njWbhPFG1Wfj9FR6kgw18hpcaY/qzLN87MvcAEQEAAYkBHwQY
 AQIACQUCUA1BMQIbDAAKCRBNWP3NLKSXdsXeB/9WxOG4sVcRYmcru1z6Y6L6XnIh
 IEn/awPWt5MY3qtTZzFBXWIyxJnQYr+U2Wk2ano6Vqc8Uco+GuXqA0IfMsmcCciV
 vYTUxQUmqqRxepJ0Yw0FZdcQ7V0aaUNStlqyfWopZsSycVvPrp+jOwPO1gP57DkI
 yGUDK+3tDoSuFCYIAf+0ZYhJiYI2y86T7UQ5j+m98c2VZejtFBRtBmEwu/dsuQqw
 UgbOFW6RakI1waLsGxZoG4nZCRWsDqN3NVe9agQy5FzVTHHiCqx0HZx2usdwpov+
 UWiwIJwPX1hpxtgkBOq/DG0go94EybMGrzSXFCP6NccYpmGY3o+8bYI4HjLY
 =Y5nS
 -----END PGP PUBLIC KEY BLOCK-----

  D.1.4. Ports Management Team Secretary <portmgr-secretary@FreeBSD.org>

 pub   2048R/D8294EC3BBC4D7D5 2012-07-24
       Key fingerprint = FB37 45C8 6F15 E8ED AC81  32FC D829 4EC3 BBC4 D7D5
 uid                          FreeBSD Ports Management Team Secretary <portmgr-secretary@FreeBSD.org>
 sub   2048R/5CC117965F65CFE7 2012-07-24
 sub   4096R/CA20328577064EB7 2013-10-05
 sub   4096R/8B114B3613867E00 2013-10-05


 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQENBFAOzqYBCACYd+KGv0/DduIRpSEKWZG2yfDILStzWfdaQMD+8zdWihB0x7dd
 JDBUpV0o0Ixzt9mvu5CHybx+9lOHeFRhZshFXc+bIJOPyi+JrSs100o7Lo6jg6+c
 Si2vME0ixG4x9YjCi8DisXIGJ1kZiDXhmVWwCvL+vLInpeXrtJnK8yFkmszCOr4Y
 Q3GXuvdU0BF2tL/Wo/eCbSf+3U9syopVS2L2wKcP76bbYU0ioO35Y503rJEK6R5G
 TchwYvYjSXuhv4ec7N1/j3thrMC9GNpoqjVninTynOk2kn+YZuMpO3c6b/pfoNcq
 MxoizGlTu8VT4OO/SF1y52OkKjpAsENbFaNTABEBAAG0R0ZyZWVCU0QgUG9ydHMg
 TWFuYWdlbWVudCBUZWFtIFNlY3JldGFyeSA8cG9ydG1nci1zZWNyZXRhcnlARnJl
 ZUJTRC5vcmc+iQE4BBMBAgAiBQJQDs6mAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIe
 AQIXgAAKCRDYKU7Du8TX1QW2B/0coHe8utbTfGKpeM4BY9IyC+PFgkE58Hq50o8d
 shoB9gfommcUaK9PNwJPxTEJNlwiKPZy+VoKs/+dO8gahovchbRdSyP1ejn3CFy+
 H8pol0hDDU4n7Ldc50q54GLuZijdcJZqlgOloZqWOYtXFklKPZjdUvYN8KHAntgf
 u361rwM4DZ40HngYY9fdGc4SbXurGA5m+vLAURLzPv+QRQqHfaI1DZF6gzMgY49x
 qS1JBF4kPoicpgvs3o6CuX8MD9ewGFSAMM3EdzV6ZdC8pnpXC8+8Q+p6FjNqmtjk
 GpW39Zq/p8SJVg1RortCH6qWLe7dW7TaFYov7gF1V/DYwDN5iQEcBBABAgAGBQJQ
 DuVrAAoJENk3EJekc8mQ3KwIAImNDMXAF8ajPwCZFpM6KDi3F/jpwyBPISGY1oWu
 YPEi1zN94k5jS90aZb3W8Y8x4JTh35Ewb6XODi3uGLSLCmnlqu2a80yPfXf5IuWm
 IQdFNQxvosj9UHrg+icZGFmm+f0hPJxMTsZREv3AvivQfnb/N3xIICxW4SjKSYXQ
 cq4hr4ObhUx7GKnjayq+ofU2cRlujr87uOH0fO3xhOJG4+cX5mI1HGK38k0Csc1z
 qYa/66Qe5dnIZz+sNXpEPMLAHIt1a45UB967igJdZSDFN33bPl1QWmf3aUXU3d1V
 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
 pDN9ZUgVOk/c+0+5u+G3JBRYu6P1
 =fyjO
 -----END PGP PUBLIC KEY BLOCK-----

D.2. Mitglieder des Core Teams

  D.2.1. Thomas Abthorpe <tabthorpe@FreeBSD.org>

 pub   2048R/D9371097A473C990 2010-05-28
       Key fingerprint = D883 2D7C EB78 944A 69FC  36A6 D937 1097 A473 C990
 uid                          Thomas Abthorpe (FreeBSD Committer) <tabthorpe@FreeBSD.org>
 uid                          Thomas Abthorpe <tabthorpe@abthorpe.org>
 uid                          Thomas Abthorpe <tabthorpe@goodking.ca>
 uid                          Thomas Abthorpe <tabthorpe@goodking.org>
 uid                          Thomas Abthorpe <thomas@goodking.ca>
 sub   2048R/A9484A518CA60EE0 2010-05-28
 sub   4096R/6E5336965F6F299B 2013-09-30
 sub   4096R/D3B28F7B07A7CC00 2013-09-30


 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 qna/5gfTg/tTsQqjQVxjGG3GWHV2vIVP4qTJGBemsMn+AJ9u85CobxVs8Q+kvaKB
 YKteUTirWyVIqetfyWz9STxzUzdhccsv7biJkSs7XE3YlEn07bfK5QhfX6qkEpU7
 twMgtBKQYfxcsjxeZB6JASIEEAECAAwFAk60340FAwASdQAACgkQlxC4m8pXrXx/
 swf+K8MSPSqvegnuCjHcfIGty86UIliITruOTQN3M85lUx69DDzN/82O0JZKwmET
 NL4WNNcOeQGQz+R6Jijn/ZLRI98qH7pvu2aVF2YaNjI+TOcdsKtjuKp+rIC6fTjw
 oEZtqRxL4C1dwL0ZCXIIIUtTwnFrGjsJ4Jvq4VtGx5ytk2CTBc/9MzSJhbf+srmH
 g0pBtNRDxFZGeSsmUeAJG/Z8Lu+56kue/HAxc1PcVE3VThEe8k9pHe3whRMRO2NA
 MrM+hdeg9oyu1/l8toPrAA+rXNdJxsWjJsBLdUxT+IUOuJxZn1NQFOH8YZVatZnj
 Oi20poQSAlNmeAfyTJvw1bvhsokBIgQQAQIADAUCTsYRKAUDABJ1AAAKCRCXELib
 yletfKm1B/0SuxtILP1aDwr/MMyENazvi9BCBMsLZnuf1uxlj4GXE/qOfU+nabsL
 dCXJMAO/+Pc9hvriUh8bLmUQleOpBt2YYJ6Yf5i3ZZc0lwdZZtZTMN4DyyvZNbxd
 gNWEp3OU1irpy6UzY0qIxolkMhI1VGVNiT7JRc14meiIrKRlsnN6szfuk3zIhWLN
 8VhAUuI0Prv4+0ne/Ml1sbKg0eDldrNM3tRQ/J0Vh1v7EKSAXr7wjDKz9VOPUPrd
 vgXKzrY72BT8+NOQGcKgITSpTgWgY/5zvnF6fWL87DJ7/rFDQ+hPnqKQNv5V4E4g
 eX/D+C312kjK+Z7rRhueVGhy5Lemh1zwiQEiBBABAgAMBQJO+s03BQMAEnUAAAoJ
 EJcQuJvKV618cTUH/2aSh0pfUu+W7xYTSHYj/07aLfqLS826LME9oLrRR/UIgnLh
 eHSc440ENlioeRf1qKwMa+x8S+RpdoNX/V4JJIvx75aQwHFNDDiLsE9w59g85sgL
 H/qmeKyvTHWsb1pU2PLn3Wri1n1LnzRfCSmKjaxJLdYziAJOKfkGnBRZNsfulFZo
 vzJ8CbYJi/XwABvUvTbvDxBE9UY3QD59SF9geYzJDKYTKXPz5RihhHl01tut3IuP
 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
 =dDOq
 -----END PGP PUBLIC KEY BLOCK-----

  D.2.2. Gavin Atkinson <gavin@FreeBSD.org>

 pub   4096R/4DA114E5C4A2E57F 2013-09-25 [expires: 2018-09-24]
       Key fingerprint = A12B D878 2A5E A90F D37C  43BC 4DA1 14E5 C4A2 E57F
 uid                          Gavin Atkinson (Work email) <gavin.atkinson@york.ac.uk>
 uid                          Gavin Atkinson (Work email - deprecated) <ga9@york.ac.uk>
 uid                          Gavin Atkinson (URY email) <gavin.atkinson@ury.york.ac.uk>
 uid                          Gavin Atkinson (FreeBSD key) <gavin@FreeBSD.org>
 sub   4096R/443BBD9486DFCC25 2013-09-25 [expires: 2018-09-24]


 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 cDXxVhupAfsUfx3AJE7UjjVPriqNX/1mIY1otrE=
 =+TCf
 -----END PGP PUBLIC KEY BLOCK-----

  D.2.3. 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.2.4. Konstantin Belousov <kib@FreeBSD.org>

 pub   4096R/C1BCAD41 2012-11-17
       Key fingerprint = 7DE0 3388 64AC 53C3 7B88  3A79 90C2 B92B C1BC AD41
 uid                  Konstantin Belousov <kib@FreeBSD.org>
 uid                  Konstantin Belousov <kostikbel@gmail.com>
 uid                  Konstantin Belousov <kib@kib.kiev.ua>
 sub   4096R/3BBC8F64 2012-11-17

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 Z3HzdaVN+w==
 =+dQH
 -----END PGP PUBLIC KEY BLOCK-----

  D.2.5. David Chisnall <theraven@FreeBSD.org>

 pub   4096R/65C4F55D 2012-11-28
       Key fingerprint = 3E8F 5E9F 7586 F090 AC2C  58C2 BA06 FF14 65C4 F55D
 uid                  David Chisnall <theraven@FreeBSD.org>
 sub   4096R/04B2A21D 2012-11-28

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Comment: GPGTools - http://gpgtools.org

 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
 JHb9JdgKmF4SXR4Z6/y3LFUPc4g=
 =70vB
 -----END PGP PUBLIC KEY BLOCK-----

  D.2.6. 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>
 uid                  Hiroki Sato <hrs@ec.ss.titech.ac.jp>
 uid                  Hiroki Sato <hrs@ieee.org>
 uid                  Hiroki Sato <hrs@acm.org>
 uid                  Hiroki Sato <hrs@bsdconsulting.co.jp>
 uid                  Hiroki Sato <hrs@bsdresearch.org>
 uid                  Hiroki Sato <hrs@ec.ce.titech.ac.jp>
 sub   1024g/8CD251FF 2001-06-12

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 OGg0F7Gi41lcFhA=
 =RnDy
 -----END PGP PUBLIC KEY BLOCK-----

  D.2.7. 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.2.8. 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. 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. Thomas Abthorpe <tabthorpe@FreeBSD.org>

 pub   2048R/D9371097A473C990 2010-05-28
       Key fingerprint = D883 2D7C EB78 944A 69FC  36A6 D937 1097 A473 C990
 uid                          Thomas Abthorpe (FreeBSD Committer) <tabthorpe@FreeBSD.org>
 uid                          Thomas Abthorpe <tabthorpe@abthorpe.org>
 uid                          Thomas Abthorpe <tabthorpe@goodking.ca>
 uid                          Thomas Abthorpe <tabthorpe@goodking.org>
 uid                          Thomas Abthorpe <thomas@goodking.ca>
 sub   2048R/A9484A518CA60EE0 2010-05-28
 sub   4096R/6E5336965F6F299B 2013-09-30
 sub   4096R/D3B28F7B07A7CC00 2013-09-30


 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 qna/5gfTg/tTsQqjQVxjGG3GWHV2vIVP4qTJGBemsMn+AJ9u85CobxVs8Q+kvaKB
 YKteUTirWyVIqetfyWz9STxzUzdhccsv7biJkSs7XE3YlEn07bfK5QhfX6qkEpU7
 twMgtBKQYfxcsjxeZB6JASIEEAECAAwFAk60340FAwASdQAACgkQlxC4m8pXrXx/
 swf+K8MSPSqvegnuCjHcfIGty86UIliITruOTQN3M85lUx69DDzN/82O0JZKwmET
 NL4WNNcOeQGQz+R6Jijn/ZLRI98qH7pvu2aVF2YaNjI+TOcdsKtjuKp+rIC6fTjw
 oEZtqRxL4C1dwL0ZCXIIIUtTwnFrGjsJ4Jvq4VtGx5ytk2CTBc/9MzSJhbf+srmH
 g0pBtNRDxFZGeSsmUeAJG/Z8Lu+56kue/HAxc1PcVE3VThEe8k9pHe3whRMRO2NA
 MrM+hdeg9oyu1/l8toPrAA+rXNdJxsWjJsBLdUxT+IUOuJxZn1NQFOH8YZVatZnj
 Oi20poQSAlNmeAfyTJvw1bvhsokBIgQQAQIADAUCTsYRKAUDABJ1AAAKCRCXELib
 yletfKm1B/0SuxtILP1aDwr/MMyENazvi9BCBMsLZnuf1uxlj4GXE/qOfU+nabsL
 dCXJMAO/+Pc9hvriUh8bLmUQleOpBt2YYJ6Yf5i3ZZc0lwdZZtZTMN4DyyvZNbxd
 gNWEp3OU1irpy6UzY0qIxolkMhI1VGVNiT7JRc14meiIrKRlsnN6szfuk3zIhWLN
 8VhAUuI0Prv4+0ne/Ml1sbKg0eDldrNM3tRQ/J0Vh1v7EKSAXr7wjDKz9VOPUPrd
 vgXKzrY72BT8+NOQGcKgITSpTgWgY/5zvnF6fWL87DJ7/rFDQ+hPnqKQNv5V4E4g
 eX/D+C312kjK+Z7rRhueVGhy5Lemh1zwiQEiBBABAgAMBQJO+s03BQMAEnUAAAoJ
 EJcQuJvKV618cTUH/2aSh0pfUu+W7xYTSHYj/07aLfqLS826LME9oLrRR/UIgnLh
 eHSc440ENlioeRf1qKwMa+x8S+RpdoNX/V4JJIvx75aQwHFNDDiLsE9w59g85sgL
 H/qmeKyvTHWsb1pU2PLn3Wri1n1LnzRfCSmKjaxJLdYziAJOKfkGnBRZNsfulFZo
 vzJ8CbYJi/XwABvUvTbvDxBE9UY3QD59SF9geYzJDKYTKXPz5RihhHl01tut3IuP
 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
 =dDOq
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.3. Eitan Adler <eadler@FreeBSD.org>

 pub   4096R/8FC8196C 2011-02-11
       Key fingerprint = 49C7 29DF E09C 0FC7 A1C4  6ECB A338 A6FC 8FC8 196C
 uid                  Eitan Adler <lists@eitanadler.com>
 sub   4096R/18763D51 2011-02-11
 sub   4096R/DAB9CF9B 2011-02-11

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQINBE1ViJ4BEADS5XnDW3WofLKwdoHrUPDJWQSO+2LHIdnrogGmieI27YX4sg/A
 ZjELRljY/OOzEDIz7a+KbQ2ErffI/fpCpPy0ajvbd+9e6l9pDJzCPmTXuITVUgQ7
 5voR5QNiOyUNd/h4ZnW0Gj1hbosHWH2ngnVTs5QT8WYvKyvzhp2P2Wq5pPupuCtf
 x1pr8YxypYjwP7n4VGQerhs+o5Fa7NH+x5V0XEw0NqUikk8wSMx8Zrikct0hLiH/
 ci6RavOtFFc4EVXDY1T/8ZaTLKivqxqmN2ZrxqirxxY34V6x/eT/WBEweFQuLI/2
 GIZ6OLuTaR72xlnGNRXTNS3LUGtcJ1sxpwxCNJZ309aME5phGy3b4qjdeeXSqtmx
 TdB4Tfzm+zFOdCAWWZ65w4tkefLSOpXMcMu378VZbr/aS52+Ulubwsz4fwjszGe7
 8HGksm6UNdYl5vOoKpSrFaHa+Sp9NDbDHHOi1VeVQQ9bqBAKabcIe0dMuinMhm6f
 fLwTrb7QAdaz8FnBHdLkBykYWq+JO1CRF28sVsJdwAQd1hmPk/PssmAdUQCkVNBC
 18kf9doGd6xBMLCwF4h0IIpckfv8aE72Rixp7x2zGqm6W6bEyF5N0E2h79iYfhaj
 K3TfDUtWvOgGzhrvMPyPiN0vlro574e02RsnSKmv7uhNI+uyGjHGHLfQXwARAQAB
 tCJFaXRhbiBBZGxlciA8bGlzdHNAZWl0YW5hZGxlci5jb20+iQI4BBMBAgAiBQJN
 VYieAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRCjOKb8j8gZbNyrD/9O
 VSV99QPQjX0PzzZkbFLphRFN/oZN01V4+4Acr/KjEP8onWuEhL3/v6KiUxF9rmfE
 EFlFHIoP5/U1Zb+g71kW6M460ayH+1lhBmSa97m9245cgkMi4q5DkH0x5itLDLJj
 rmG7Lm2C1ccn+bzfu/V1J98dWoQBGQDdCbKDL4J/lmdd877d6Rf7OX4FUNbUYDSC
 KgFIbbjeNjm+VYrfT0DM7f8Bq0y60NnUqPRPKFZE2PF4PsryJuRyy/ogeVmV+uA6
 +V+5JGRDC2naGKSZwSqMqovGPR2Ek48bchwgqxSXdMbHCOMvxcMHm2n4gWjh6nlp
 mqnlTn1aD7ClUCQW1vyJjY9WRLZ9sJCXpzKf8XxFrQDRaRwvXYo02PekSrtB5RkS
 2WRoaaF6sVb1qOsPXRImCgJov4JbP1f9kO/NT+tXrh/KYbhyIlPT+5e8CkFmFMgQ
 Gl/d99nJy40Vucfo5hsTHNtVatSF7tyW+ocWJz1dEX2j4F7IbVkCbiT2uZ8FT9gy
 2McWiTwzrf0tTHlMzF71W1ErpAm6cEQFM5SQZmvQDZAGsY1D1JYcWWQXVtxcin74
 p/2fNuk1Z3iAzi3Lh8cY18uINJMSFDnb2L8yoXXHpfNpIwxpLIqC6LuZMF+3hfFB
 w/MWDAvEnLX7erpVQWHvrY0tf2+7CNFy/jrDtnfaKbkCDQRNVYieARAAnNmiKgJJ
 K8Geh7uJczg7V/AskCiKkgNzAXGxNQuJaPv49uD9NWefaDtciEV4QWXkoW5jZWFa
 PrkXJ/7y1nfYUAA6nN7NyG8UReZK99hLmUhjWrOyNeq+XYvCymf4ZM1yPRAJAp0v
 x28mwFKSuXMvW8oUHcOT3SZomjamuN4onNWMJjolV6pRoQ0xeBCcMAl0zdQ0RS1T
 mQ17yrSi6xvJYP1vywjhG2J2oHax8jcqQShijT9DEjjUoM4hgnv2HAjMhqM5vX9F
 sw5IBsDa3/tfqmbSVzTJCZd7mkVhLRtyn/alz356DfYPD9eSC3rHUZGGL7BFgC1m
 /t9e5tEN2fb1SPHcpndna9hVMEReRX6GbTUPuhFE2PzKIVm0nuFCKHeQN/S54x/e
 uDcCyXvVPmSwqTrg4yV0ZEnj3fKFCwv4nqO6uF8/vBceUzt5uJLmESXnE7fZr9JE
 2hiY0DyOmYxapiTZPtVqGm5FGa72i5tGIWza0P9tSO9/UxIG5lLXMMa/masNaGAr
 ++ZT/l9+nH4ZMY+triOHCCZZDOE8fShREPuAnMtVQK+GZ8GPkY5zkkUmusdjb+6p
 DzQUq197bVxps/poNJ+IA6yvUQiM8y8ybI1W0LwfSOVBxGh5pqPQ1zvTckrfEfF+
 Lw7tuG0YZDti7e0r4SW7FkfghKiQ9ySBVb8AEQEAAYkCHwQYAQIACQUCTVWIngIb
 DAAKCRCjOKb8j8gZbDTpD/45aUGMyOJYrEVPrlFomTlX3FHwDKvBqivTa/9ZBLo8
 Byr0i+VTdNhKSNq/bd0q0YiNIkXv4FM56ghSOonEUD2MYcrQ822df1Y8AUbMpx1w
 UirMCTyvPjr7THEaTpFrk705lnWgFfyFTYrlk3m6a4s1T5TByABToXdPW4xsL3vt
 jDh+H1cb+qUrOo8FluAU18htBvFOnekY7a1oB6DoxTT1I6PKaXDQIAihvIknNUu/
 7xn61b2Wf69tHyHmkdLMC9cDPi1uiW3I/+9W3Nopa1tkV+IQz2R5TPsz3BYboAhy
 C5zS5rMzx6cXRtw8KdWoFkYArvRhHb7zJPDoPAzJuxvCCdRR1CQZySDqTg+fXvLN
 d+wgV/zPSJWtcAGeDhFJ1a/M+5lLlT08v21VhLDWDW2tBIdn3ZFJhjZDC1X8wvJB
 CVL8TWRsG700OJyxiGcX/yKBi/T0k9vAAM+1YQEQ57cO6SYm8BFaQc5ceNVuLsZD
 2FwEOFpuDWgysFFjWA/Sj+be/ZiGwiIDVC9vG2/61yg6N2MavcmwFzwjZLMW2W/0
 QdLasAu8jbnUaesl/ZN21iJVsLHaWe2u4jc/Kpt2Fu4KY5N8UxErse7y0PTLJ4IM
 hjQsMM+DzmNzCnqxqugiGGg81kr1W32wtb98f2+oVT2bp52sXFYvvmbB/W0C2wRt
 FLkCDQRNVY40ARAAswIWqBiZsAXRXU1T8yf4HIh0QBSlMkW9WQcrJJVtIL4EUUqs
 6kjtEjZsf3oHXWvx0GVajztBJW3NYInzns6Qi/QRSMr0A6l3T7+gGhInDiZUwEN2
 883BuwwFooeDij4Rr5qVJhsuCZ9uS8a4Lo0C2FRk4JZvyBZFA2lwx+bm/4dqn0YK
 PeWnkHiahufnQ0sy4Q0cFSzn4Pbj271hv5gtjbW3CXbzTBJS8NraK7PejaX0eche
 n8vxXjkqNDHAHM2xPFbIWk4iTkSb2XHf6leZ0IBHZw+SUO2d+fsolOazkUcjY8XZ
 fGOL8wsHKSPUo+kRdRFYtm3hPH2U0KyLKjpu7R/LEZh3LWh4n3yGdpBH3nfDDa/U
 g8+k9EtvZJN+yVyESkM8hyvQuW86NbEpYaPCWiuZ3lSwQjpyKaXWa5mJO2oCjqA1
 HeKEvd7WZ8apahl5EFZ0WDIRHLBe6z8pETOHM48YWY/l/aTxmLdWYVNSJLGbsm4+
 6tYgGOhuz9QzGjrK+Jdq/Rts3eeJd1T9K0gCxdp/NlM8rttNPHHT7fig31oHMSy9
 o94DeuFYw1LW54TJF5jFfSETgAfer5pggI7Dx6tPcCKapidYTJEFkDfW9tj8yNie
 v4JhMbZi8Fq6ybsspWWi8Lj7iMCXCPs6vVNQQbJ8Y6Bz1Va71TwrogHyl+UAEQEA
 AYkEPgQYAQIACQUCTVWONAIbAgIpCRCjOKb8j8gZbMFdIAQZAQIABgUCTVWONAAK
 CRAAaoRg2rnPm/pfD/9J9AAck3RrG7jGUY21fttzS3iAn4eZbEEv2A8TQTEgF+VD
 6iSmZlHzEF8kdRhglhJO5nHN7Z6nZVeUAKR2fYIcmglRUdI17cooHfuVSVjp/MMG
 v1Q0kQiQCCjY0Q8W1xytHm2uIaxrtK121kLmlUK0I89PfM6cYET8bBUEN2JZBAau
 nV+g+8lXEfFcWiT3FYUmZfLkZjFKuFGRaWmqVqoUKVQelvLHU7wcZDTPdYwb71Ub
 jP+3yMph36ugXhZ0dGxOTEH4bSRkX2SEiKV4f5VQxe4JNdVT+tvGDJxOC1iC4Q3n
 yQYQox947r1/S95uAB6y2MfYKgJaUbfJkK1W6l47bF1ZLAKYWtY/VCBN0Fcx3PkU
 Ks5jC8rmbnwuanWbX98RzRFEDRk2h4q4ZWN7r0Lo8J5pDZyovqnFbQXLPigRx09Y
 YQ9h/UKQJBc0lsD1Q7NXn9gu3lnmNdta+UbTgPe8tb89vLHgpMJ4GaFrIhU1keib
 cJD3BY9bb+iM/WKucnuMqURBUf67ISfWN1NbNAz7X5jWlmjSMJlH779I94+0XM2Z
 M/j+HSjHWPl7ArT6mpGJ4YIZPo6Ap9KNbPPzNld7xd2hWAuQmETrB1Isvy5F1t8c
 GgzhvJZ/WjdTuaQpdfE7OsN5IQMjiJ+9fT81P2dX3/TVuTQiRKqdvPshOL2HQ6qE
 EAC/qFVKf9Of+wU0zeonMEbcsU6saqPNpBNRLhqBAEMonH08xvoF1T7INvg74ven
 PDtAfnfiOC3j7hRqfjDTauGk9BsYH4bxG/7HiBoz1xs9SJkNdhBKoDpgP6lyd8c5
 DjfBj0Y9wTZVVM6Bhv/1ju2L66JyuBe1vxCqVGosz9/OJH8aY5VheIRWJ+iJm5qB
 G5A/sYflOEJAfZXiS17QuVFlG78j8QUDUX/uN79tMY9GulZnobNqtp5jgJqSc6fb
 /ToY8HvKMNJlfsKJSDrFtWeXjBMTtzGAJWuyxMV97VyXF1pxVSCkXcnQ03MAdBXD
 gYJV89XJIPdi7R7MZb0niI4QYWOSTmeyV3jo//mxPBuC0Ozr+Hw6dp8PbKSk12tW
 gSXqzsI33b/8qwqPX4njhrh3aJm4+BfIW60weTQUgaVJu86OnevEJpUsen0drXTb
 h8StsIH7vc4bOcSvNUCx+palS3vz/Q2K6lvEe64Nzdanbq3yC3bxoWSnuMYyoJEh
 k4e7ViPz9XVt+ZPVs2DlDnkSe4LA4sUfjzRdn1MIivqu4r8AAitxH8IL0Pjl2StF
 SfRbR6zwey5WZInnoDjYjPFYGAIygVllxOv3u81lHqK8tcxWMQrKTS7Pl2FVMlOc
 +sVQiiwYDqAYyG8DgM0FX7dOC0bTQOSHPJe4E5+xGU7v1g==
 =SP5X
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.4. 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.5. 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>
 uid                  Henrik Brix Andersen <hbn@terma.com>
 uid                  Henrik Brix Andersen <brix@osaa.dk>
 sub   1024g/3B13C209 2003-04-09

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBD6UQlgRBAChxRQ81Vmb8AMxEG+meT1euB3fDPtkvtSc+HdWDnpNWCTnkyq/
 IVuG1c23Hi410K+MVwRn/IXaUGHANhsIL6408dHX3QuvTCWW/RYx3bPU2gxjbuw8
 4ZT/dw1vsbR/dnjz2PaX9Hhq5boAy0IXkpsRqLh5ys+pW96idnfCW8VCewCgyFTR
 +GTaKsSAJ6mFEIo6Q9NbsH0D/1M0Rtj1teZbJIitnYkRK8l5YH6AD1swOEdZTvUY
 AccQjQOwn/9EWO4nYdOknoogXLYMMsz1Pkw/X5IoABeH9AHRcxhhkG9B2SVzaxyI
 BB0VH5J8ks2zkf0o5yKieBtIobPw5lcgLjwhALVrsV4FjV3G0+lS/cb08wlID1sI
 nqHcA/9ibS8Omf/xFQLlD9KebW87FadmrPsBS0qPOZzOkMqdCaFZsJ9UZie+RcMR
 qDFZZLHZjAh71J1czn7qbK+BCv+LRhzERTWevw7fgL/41m0DO8JqzMkLZr9EneRL
 7ZJ5NtBPS5WoWzMpoydaQEA2sjCnMmTxBtJpCenR26LynXmdmLQtSGVucmlrIEJy
 aXggQW5kZXJzZW4gPGhlbnJpa0Bicml4YW5kZXJzZW4uZGs+iGEEExECACECGwMG
 CwkIBwMCAxUCAwMWAgECHgECF4AFAkUMaR0CGQEACgkQv+Q4flTiePjlBgCgqa2K
 xi/J9ln8BULtheJ4PzDhp48An0OnhLfiWDsn1XoS9KQ38XzrSimbiEYEEBECAAYF
 AkPMcpwACgkQN0y+n1M3mo2P+QCdH5NSpHYikhVD41PPaSNg1SY9rm0An2LXs/aT
 06Tz69gBoWoWeLMnkfrGiJwEEAECAAYFAkQMD3YACgkQH3+pCANY/L2ZaAP/cCpR
 TmyTqgIA9Q4CguB07gdlm02Ak8TVubuvBylM9JrZpPR+bqSrjocEi+rgUFJn/e6b
 IrQ41WnPrP7K050DpQelGx1WxnKwGgssNzGP96y+babR/1jGUTO1fLyD+cZQ3GTy
 CxCOa0YIHpyB89icVeAcYUaOmlUTkYoInY+0+7eIRgQQEQIABgUCRAycfgAKCRAJ
 xOeJkBbvUD4gAKCJPc2v59Heoxo+HNEElroGNuQrFwCginDoNFpG0imu5WleEhJc
 EesQGrSIRgQQEQIABgUCRDFIzQAKCRDz3nmC81+kz3ZpAJ9FW6NzbeeOnXXDwT9s
 tdEZm7c6swCgle3IfXIKYd18RtxqMWxfxpFTQvOIRgQQEQIABgUCRMz8SAAKCRBd
 Vo7rtLWu26v2AJ9RGgGOcs1/9XfklMYo0UrzeMml/QCgsNXw9k3E3kkCE3c7SVBi
 klYWP72IRgQTEQIABgUCRQ1LqQAKCRCfd8Csb3oRX/o9AKDoN7obVo8CjEUaarVv
 I/6COPYj9QCgw1IlrO3dyh6lLJbgdci9Xg55Ry2IRgQQEQIABgUCRSzZpwAKCRDV
 CFOpIhPncu8hAJ4niDTm5vUWx5FHeAkbkey7zYV79QCdGJOrDToSQIDoDv/wv6xf
 x7xNMjmJAkgEEAECADIFAkVXKukrGmh0dHA6Ly93d3cucGFlcHMuY3gvZ3BnL3Np
 Z25pbmctcG9saWN5LmFzYwAKCRAmSeYoxdNNBYjyD/9uK1PGmlM7TEI8A+oMUQYL
 OHao0/EdKdQnbuoCX5EC2HtW6ITXytHxzDoisCFOVQS3YpN73vth9IZRXPM7JaBQ
 +uG5ndUqprNIWyon/LC85R1S5iK2Q5KIHyEcntBDDqzzYVWig0+Pm83kzJspM4Va
 8btXk05rFIzi09xcL3Yew2a84YDCwifWEs0TRhsUtsht2mO01hS8XjmyJvzdNebI
 HOwL8kQVDZbNIPReCpCmgk7p6AerphHjbrzTrby/BdkM7vKukvOIX9uJXIFr9s/6
 VdiupUWJ2i0H+zRD0eLdpTtmPMe0Yy2SUrIuqkq2TUm+bLLm8jIIypoSz69hUfhH
 M+koasJ3wrz+LriUORK3vUCOxIhuMFUKL/oIWsMNzi0onnTaEoD2YwUS5Xd3i5Nl
 PQHinaGAp5c4/05/fqFzEvplik/9gK8SDC67SZcEm85BmyrGe1JUuivemB45PEJ1
 o5MKkPyxE2oFEvpFjJwRlHa/8Xd+b6hBVZqNDk+ACTqsdi/+i73TCDC0Tc5H1yy0
 OICxowaYtXvoMBolZBgDM30d1PfFLULowpqHQLQnCrgF+QfKEooKIxgUqgs2HxJz
 T+6EJGbO+NwT6GClosbAaQk3cRcvR4bZ3oRaSA5E2LySTu8Vifs4nH0cc86OAmCO
 Mau10ikzd9Ewyv+/z4lbzIhGBBARAgAGBQJFWOY9AAoJEK6UZT1dE6xFELEAnRBP
 hI3AwYWMDdxL+b7td3vGI2c0AJ9/e+cOTjDM7Jg9w6XxPIbVCAe5KIhGBBARAgAG
 BQJFWhAaAAoJEBRll9zcw5nH7lwAoLBj35DUAC1Ftv5GNrOUakRuC4l4AKCgKP3M
 GsROrLP5b0qgIcLBWRzfUohGBBARAgAGBQJFWuFiAAoJEBdynXf0qFEvckkAnjCt
 0FiAGhaXlAHW1LODtjrdejmNAJ9qaPTihxJrExSUQ0pYPwahDkWPo4hGBBARAgAG
 BQJG7wWGAAoJEJ7XWD/BTrKCgooAoMlrxw5Ai6Qa9mA+zLdnpNLRMiJiAJ0WL6Vd
 gF7oQof3A/3lrQN48xdNR4hGBBARAgAGBQJG739QAAoJECGmRpvR77qmomMAniZl
 uTilewm9oM6i1322xHr1GKWVAKCHF8tSCL1z1y98piDoOBPzBXsJB4hrBBARAgAr
 BQJG8YqxBYMB4oUAHhpodHRwOi8vd3d3LmNhY2VydC5vcmcvY3BzLnBocAAKCRDS
 uw0BZdD9WIwvAJ4xQw3xp+9xfdhKDoNrSALnqzmwEQCfcvsMnu3g5qEkhPmTmDqg
 Mq0twzOIXgQTEQIAHgUCQ0JEDwIbAwYLCQgHAwIDFQIDAxYCAQIeAQIXgAAKCRC/
 5Dh+VOJ4+JyVAKCW3JS2DvDpr+TlD5qYSHb64OKbPwCfda1O1FIElnQNw1YnZ6op
 4NYf0GWIcwQQEQIAMwUCQ/8J+wWDAeEzgCYaaHR0cDovL3d3dy5jYWNlcnQub3Jn
 L2luZGV4LnBocD9pZD0xMAAKCRDSuw0BZdD9WJv1AKCeEY8AF53YFwkwiQBXbR84
 jlXVRwCfcT0zhAl57VR4Ijt1D4cJ6g3A8qW0IkhlbnJpayBCcml4IEFuZGVyc2Vu
 IDxicml4QHBpbC5kaz6IZQQwEQIAJQUCSBwuXh4dIE5vIGxvbmdlciBlbXBsb3ll
 ZCBieSBwaWwuZGsACgkQv+Q4flTiePhGPQCeJ651G2UDB+TxQDFT3RDjc6XCUB8A
 nAqb8b6bFhpo6Uqnxmyw2d3XNoGpiF4EExECAB4FAkIBUDYCGwMGCwkIBwMCAxUC
 AwMWAgECHgECF4AACgkQv+Q4flTiePgcFgCdFw3EtJ01m1hktPyeucQgU97IqxwA
 n2k1qlf+M/ieVFGNI2hcgFQz2nKGiEYEExECAAYFAkIKCGYACgkQ1QhTqSIT53Kf
 NgCcDk5kXYY4QTRdK26MygwH85vZKcgAnRa+/NN/clXI4WnLifU68l/rD/z2iEYE
 ExECAAYFAkIslDsACgkQ7p4sJIfNPb01AQCeLUWOpmnoIwL4nzPUsd5UZjhJcVEA
 n1JTVyN9ichddZWmgcNpXplkfKLEiEYEEBECAAYFAkJrwiUACgkQqy9aWxUlaZBa
 SACfYBOmry8jmCj0obm30Lcw3L5NRT0AoLBqjlhFowQ3CC7BI0gGX9rNeWGkiEYE
 EBECAAYFAkPMcpwACgkQN0y+n1M3mo0ekACfRCfopy7HXWEqzMz41CIOSjfzUtAA
 n33OhSgZhMTYH29Hw1oVqOgs5WaniJwEEAECAAYFAkQMD3YACgkQH3+pCANY/L0E
 JAP+IQREFJqA+3/agrXLYbLXxyWrWn0nYBrf/mVHQPi/p0lQQVfsP5UJ/ULoe/A3
 IfJ90UYtY6HXKPeTXpXDBhsNkXG8nAo/GITGHpQYLzrb2+9LIlDpv3bxF1Bqnxu9
 LRG8k2QEVZz8jm7ye3CrFrD8Cgz+T2LHQZSa1RgJJCLDD3SIRgQQEQIABgUCRAyc
 fgAKCRAJxOeJkBbvUGw0AJ98qwodnFSekO8brL72wrIzoU++eACbBBEI35O59FlL
 iIkdteyUlN1le0CIRgQQEQIABgUCRDFIyQAKCRDz3nmC81+kz2aWAJ9XYkdaBcZ3
 7Y/l74+2s8JzFPmzjQCfb7FHHCmQK7z44lDBzeticpPfzeyIRgQQEQIABgUCRMz8
 SAAKCRBdVo7rtLWu269GAJ9XvlBYMTagjaC96ZNyVpxnQ0dPygCeId9nG3FcnMbd
 3Got/vMSbiH2pyyIRgQTEQIABgUCRQ1LqQAKCRCfd8Csb3oRX+/gAKCq9dKKyEmu
 laW1S7QfG6u8on6LOgCcDMkItuWGP/vPbnLro+Q/xDTnSSaIRgQSEQIABgUCQxFh
 hAAKCRDzTPIvFJInJy/tAJ4tV/DUGK0MCzVKnXU0Gj41NpBYVACg0YeGlONBI0/2
 sIxWqC9UEnEWg9qJAkgEEAECADIFAkVXKvErGmh0dHA6Ly93d3cucGFlcHMuY3gv
 Z3BnL3NpZ25pbmctcG9saWN5LmFzYwAKCRAmSeYoxdNNBSPxD/9giiYqFeT9pdwf
 WNNLuTf/f5UVboyqDodR3DhZ3TYu7WaSjogcT+Z0Eb1Rh/DvaknbGAFANP9Siu/h
 QIFKzy/dbP3enBtLK7QBjBXftJccvJ732D59ACgLrrpgl43JWbJux9s6DLGgD9Ex
 jucxqvLSiaCIQNo2ckeqlGHOlJnK000yzCRHDzaELZOljnoaWevmV6JPTtzo/5Sk
 3iDn8TFZVpWSvX3NBKy9LpjadZ9pWJs7m9HALTzi6SzeufQXz3O6d9KBsmr4O2HJ
 rLVEh+ynF2hy9hARRNN4mO6drVUUZLloE8GUC+zidou6fNV0xzcLeNxtj0erFa8H
 ACWgQsxvuZxS7fQf/WRWUjuwJftl++NbwBzKXkqT62bP4wmMqSeesbzli4Mhqo6C
 e4rn7U6yNilIo2aUd8nPhEE9EzGypDJh9BcJnOpTK4qJMOVL9DE25kK8gDqw5piN
 xFvm5+HNVscqa7o381zXJLr6Aj+3DvjzGsOtvzIlU7m442obs8o8gQQwQ57/gHB7
 RWBLyO/T6eQOLTeysDtlXzcnoojG6B2aP3tc/37W/chOgjz3yfLa20Q/gWIiNqVz
 bHdlmTliYjkC450BjViAw4hiw0JLghWqT//RjxPtsJxlDxacwpetU5oTxcrQP5LT
 G60rwHXjuGRvgPrn3x8N278eyKNfJIhGBBARAgAGBQJFWOY9AAoJEK6UZT1dE6xF
 taoAn3F8sxfer7OegDc0Zig2CEVHWkTPAJ9nZSDDYoP/EDmYkDJVrbUFtfBUMIhG
 BBARAgAGBQJFWhANAAoJEBRll9zcw5nHyoUAnjiyOHs3IwBS6cesouiIc4biB5sT
 AKCuhRPUuTU5wRzVRPBNNw4RwwY/KYhGBBARAgAGBQJFY2fyAAoJEBdynXf0qFEv
 /OQAmQG+kylQyiX2HlLoz0o0/KDJblzhAKCL8B4qUei0setnNCCEbT74xkSZPohG
 BBARAgAGBQJG7wWGAAoJEJ7XWD/BTrKCtHEAn1cF1EcKcob70aLzqgnoOykjry1S
 AJ9iPF7XACsVYhO9A0oWMu3w1fuQ0IhGBBARAgAGBQJG739QAAoJECGmRpvR77qm
 QrIAoIcvChTSNd6yWUMfR2EVmKJmDr0KAJ0d99LlCySmdzl6BBZfHMQUi/5AsIhr
 BBARAgArBQJG8YqxBYMB4oUAHhpodHRwOi8vd3d3LmNhY2VydC5vcmcvY3BzLnBo
 cAAKCRDSuw0BZdD9WAzHAJwNZ2W4vUBjg2cU44xa0h4+Zq10gQCeIGN4jAfRxEjC
 FzZib0EPzuyCa2CIRgQQEQIABgUCRVjmOQAKCRCulGU9XROsRXEwAJ4hBK7FoJwG
 +ItGXMS/756L7e/TQQCgiRCasxhWrlNDGCgh5oeuBW3cDfeIcwQQEQIAMwUCQlcW
 1wWDAeEzgCYaaHR0cDovL3d3dy5jYWNlcnQub3JnL2luZGV4LnBocD9pZD0xMAAK
 CRDSuw0BZdD9WK0kAJ9jgJCr7RB+9jY6CM5GX09Ji3MhbACeIRIkdA0BkwUZJU4M
 6GaAtAlod5OInAQQAQIABgUCRAwPcgAKCRAff6kIA1j8vfUBA/4zQCLeRphxrg+j
 p2dnSIaZefM4bnKifsWwr6fDRb4TowSTV/rAGiP0tTpj4GiNS3n570g4w2EO/jrt
 d+e7dxxQByOrkSP5AASQ2FBFdvWBHNmnLyMNHQGPeRdgxFGAUyRdQuplKZdQpMmI
 64Pgp9jTRxmxVdYqYTaOdunVYs5B+7QkSGVucmlrIEJyaXggQW5kZXJzZW4gPGJy
 aXhAYWF1dWcuZGs+iEkEMBECAAkFAkheiI8CHSAACgkQv+Q4flTiePhbMwCgwElj
 kjekm3o6i4E7w53JcOZOnnUAmwVcqrVDeWo14NTVW6wcDA30dP7kiF4EExECAB4F
 AkNCRCUCGwMGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQv+Q4flTiePhB6wCdEl+U
 42TOiSvAx9ECTSKR2pEyYoEAnj0O+McjsCxgeWOAiHxkH6S1MSA5iEYEEBECAAYF
 AkPMcpwACgkQN0y+n1M3mo3JYwCgvJXm7Sv30SSF/vkUA7lYZnMXpk4AoJhq9b0i
 LW4qwgNhgrYYbBE6c+6piJwEEAECAAYFAkQMD3YACgkQH3+pCANY/L1+5QP7BxzD
 nx+SYAqmAWudmO5gqRzwhB4L9nrtPa3hGkWNEMuxJjBCkJJHoX/rxMYkR2ZdSFIF
 X++7Y3qsI7d2GUCMBgCqN8zdfwWvrpjBBNpLSVliNwvEujAi1BmTixDbiq4CKwai
 6gxsFEDYsA05cX2Njg1bYbX/XjRcGpNQPKuna8GIRgQQEQIABgUCRAycfgAKCRAJ
 xOeJkBbvUN6JAJ9fHHR1Ms09rYyajMra0aX+7XaUswCcCjNoayZQlf+6DkJBaQFi
 Gi/FMTCIRgQQEQIABgUCRDFIzQAKCRDz3nmC81+kz2+0AJ4pLGBcGNMBWAIOujap
 eYQfKif2TQCcCgcrHLwm7btUTbaHHD1g5LMwpaeIRgQQEQIABgUCRMz8SAAKCRBd
 Vo7rtLWu28G4AJ92TcPH0fM68/NerGJRA5QtsYm9CwCdHCuab38MAWv115wvbrXL
 QZK4HcOIRgQTEQIABgUCRQ1LqQAKCRCfd8Csb3oRX3tPAKCMuerpLB9Boh39hsmc
 Vfw8MZjlggCg7kMhr5MI6/a2z2oLvakXo2AoM5KIRgQQEQIABgUCRSzZqQAKCRDV
 CFOpIhPnco9wAJ93feKzaBOMflNEpZH4B+jtN5bm9gCgrthnnQToMNZl3b5RWvLi
 P0f0pAyJAkgEEAECADIFAkVXKvErGmh0dHA6Ly93d3cucGFlcHMuY3gvZ3BnL3Np
 Z25pbmctcG9saWN5LmFzYwAKCRAmSeYoxdNNBXB4D/sFtImOodWUaR2QacEiFUdu
 IK6NS5DhfiW2fXtEUAdFoh2IE8Iwlc61DVKMf1jSFkIFaMs4OdTnYuiM702x9CW2
 XrT5pO4ORMXACpmCpqLJU4RoUKpE2Y5ABrwit3MqGUFoyunebnhc9IgItrJ620as
 Hm0RfIwI5LC6fV+6wuSiES1zhsg/zPZ8aTnYTfGCh/vCttqxDmuxUEsVK9E7T17X
 ZJCLeV+PR93LLrMDvVSyRwJLOSkpCqgGL/g6/asvw/lGX0g8G4WmHmQW42FrtpfB
 JF+hRwO2d9iLZ5ubzqcdRkydwOBx/x3tzPjxCjq+U32tnSCys1YAo9mYaCfYQcuv
 aa0P4hditNAypAJYORxB+ik7wtXoioD08pUcA2BhxgKjUe3D1r+C8x7njZ8lWSwG
 eJaNxUhmsRou5SI1nG9cG4blHWMNGg/jnGXAozmca5VRHzQJoTabBg84TIXdbBzT
 QECPBUJp0r69roYnF3Rmpyov4iHHe5gtIQ9HgW2A7XDMNyDVeEtYHi8OqhOPVi2c
 /sU/mWTMP5n5w17+H+AHPrZP+iFRSREnIcEunBlKg3TfBgIT+isMVtG1HcEGNuQQ
 THVgrx/JSjLuwUWxdyOg23KFanBM2gY+p6ZYQng8xa2fGC4rzQmI+/4xoAiey8xE
 oYLU2DypEuhJadFUhSUx4YhGBBARAgAGBQJFWOY9AAoJEK6UZT1dE6xF5SoAoITs
 52ZAf6SVB8FBT/eLnx5Ni2K1AJ42rKcj8HMbNQf4bOjamJNrlo7YHYhGBBARAgAG
 BQJFWhAZAAoJEBRll9zcw5nHQ8cAnA99vx1/TIdt/r2h1byHrCgPvNTaAJ9zPyo9
 IzZlJ5oSiGDo0cr/Rkw154hGBBARAgAGBQJFY2gdAAoJEBdynXf0qFEvjiMAnRKD
 j/PC26266T+sdLZfSyRngb1oAJ4rbxayEIqu63igRuCBsuAvOrtTBohGBBARAgAG
 BQJG7wWGAAoJEJ7XWD/BTrKCsQIAn2Lwn9l5UtDEcVk5E2knZtVfDX5zAJwMfIwV
 8u921zNypcgpzSwkLdrmKIhGBBARAgAGBQJG739QAAoJECGmRpvR77qmhc8AoK4z
 sYbuIhYrdYV+HfB5xivwzuR0AJsEO3/FNwHOneiAkRqUP5o0DtqrXIhrBBARAgAr
 BQJG8YqxBYMB4oUAHhpodHRwOi8vd3d3LmNhY2VydC5vcmcvY3BzLnBocAAKCRDS
 uw0BZdD9WCXFAKCN9ym4MaPJrl1rXPLH7nhI38iSUgCfXi386GkvwKKZuZzeOiib
 zcbjnauIcwQQEQIAMwUCQ/8J+wWDAeEzgCYaaHR0cDovL3d3dy5jYWNlcnQub3Jn
 L2luZGV4LnBocD9pZD0xMAAKCRDSuw0BZdD9WLlXAJ4mP3eT18lsEijZsQo65cXC
 TxnCbACfYva7F6eu2E2dG2TzMDb/e8TTTg+0I0hlbnJpayBCcml4IEFuZGVyc2Vu
 IDwwMTA3OUBpaGEuZGs+iEkEMBECAAkFAkS5PskCHSAACgkQv+Q4flTiePj4BwCd
 EW0dQCinDGdSvvVLuWlF10mcv1MAoKeV3Qme9GOG3KIDi2+0YYVfALWMiEYEEBEC
 AAYFAkPMcpwACgkQN0y+n1M3mo39kwCeLYh6qjL75pvCYnPlu7cAaWloIPsAoKzV
 rhyrWPavpDOpjUHNK6aOjR4niEYEEBECAAYFAkQMnH4ACgkQCcTniZAW71AFMwCf
 ZlhOSlwpyKprNvg9oNgM7cDpo70AoIz2//rstyB3hBmF7m/HDtDRzAz9iEYEEBEC
 AAYFAkQxSM0ACgkQ8955gvNfpM+OIQCeL9vt1bc267tdDbSxFWvSUu1WeOIAnj+E
 tBz+Q4yi9OU6s01OOA31yjH6iEYEEBECAAYFAkVY5j0ACgkQrpRlPV0TrEUvwACf
 fomLxMEYRAkdxzEkcAhLzS31F+sAoIwCFDdHfzbgMbsP4s5W2fCX1LWCiF4EExEC
 AB4FAkNNAyICGwMGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQv+Q4flTiePhQtACf
 UzPG3iBf/BMLQl17C6hl9bSOKAMAnRKgGiKWi++keWWxfB5/qDNVxNzmiHMEEBEC
 ADMFAkP/CfsFgwHhM4AmGmh0dHA6Ly93d3cuY2FjZXJ0Lm9yZy9pbmRleC5waHA/
 aWQ9MTAACgkQ0rsNAWXQ/VhpSwCfa0RYTPKoHh6Ogsm2h7ScHHUYXosAn09Q7Gxk
 fNbRg745zWgPkRt5HEVgiJwEEAECAAYFAkQMD3YACgkQH3+pCANY/L3RtQP+IPJF
 C1yUq5Pgm3LEaUDB8ngxFYP2IPQ3KH0ehmbe4OHU0c9E5yh1ViNlYKWKxTUhUKPU
 MJPjOESKdmU0WBHrnQ5FKZmr8K/uGCdHU+lhYQwzgMYkjTn7AS44YukZLkQ490ZP
 5lhVMtFWLJdVEZGK1oO0bSeRcB0RMwrT+z1gNYe0JEhlbnJpayBCcml4IEFuZGVy
 c2VuIDxicml4QGdpbXAub3JnPohJBDARAgAJBQJCCgVMAh0gAAoJEL/kOH5U4nj4
 M7oAn3LAoaE29feNavUpw/hqD0f4nnPkAJ9NZeroZkX09hlGDvA4liC34DPRI4hG
 BBARAgAGBQJDzHKcAAoJEDdMvp9TN5qNzO4An1IY29nD0bMD/5hxDtJUt8qO1x3v
 AJ9dlLb448dgdpxLUdDCf3aeHOlmpYhGBBIRAgAGBQJB2VIpAAoJEK6f5wUIDEyl
 7ocAoIcvdubBFFCmxmwweGhXgU2SX6lQAJsEYm6joOMZ2tOLA8WcKzghMkGDBIhZ
 BBMRAgAZBQI+lEJYBAsHAwIDFQIDAxYCAQIeAQIXgAAKCRC/5Dh+VOJ4+PMeAJ9C
 58QMyzQBgC5SGUikeFA566K0dgCdEiMguJ0C0qwtjERzndmsiY7DOmKIXgQTEQIA
 HgUCQgoFFwIbAwYLCQgHAwIDFQIDAxYCAQIeAQIXgAAKCRC/5Dh+VOJ4+BpNAJwJ
 By7+NfNDQcxWU+6DKHkWAIovKwCfWPk+0S74OBOx0+NUXOxtcq/mCES0JkhlbnJp
 ayBCcml4IEFuZGVyc2VuIDxicml4QGdlbnRvby5vcmc+iEkEMBECAAkFAkUMaXgC
 HSAACgkQv+Q4flTiePhWGQCglliBZWa/HU+0qtQZnt/rIRn1b+IAniiTtF0Ll90A
 770pMIjsJ8cXe8AfiEYEEBECAAYFAkJrwiEACgkQqy9aWxUlaZBlggCg4Cp+lHk+
 M6HKbhoEAHK5XszVHQoAoI+422ohFYnow4bpH+3sJXANyHc6iEYEEBECAAYFAkPM
 cpkACgkQN0y+n1M3mo3tggCeL+Oa440W4UVmz2CHvUloy0oiRUgAoLRHa406iEBC
 gESdsl5I9LWw95pRiEYEEBECAAYFAkQMnHcACgkQCcTniZAW71DrigCdFfiK45WT
 r54R7kGFJ8Cbdv5LtDkAn2FJzdglgl6ZJPns1OWZlipeOagoiEYEEBECAAYFAkQx
 SAUACgkQ8955gvNfpM8niwCeOhuAcBWGPQPuxAsGj2Tze+bsCC8An26dkM9a5EkD
 kjF3+2lJ9DU31SA9iEYEEBECAAYFAkTM/EcACgkQXVaO67S1rtt1zQCg1KgdWTEI
 D8WM+UDFa5BcoMsIP/YAoPWQDKrrU5e0iZZ6UyPv/CvGwUXjiEYEEBECAAYFAkVY
 5jkACgkQrpRlPV0TrEVxMACeIQSuxaCcBviLRlzEv++ei+3v00EAoIkQmrMYVq5T
 QxgoIeaHrgVt3A33iEYEEhECAAYFAkHZUigACgkQrp/nBQgMTKUBegCgjS4riHWP
 KMibqhhdC1u50DbVdo4An32389aHCCSUIPOPxUD3qgD0AVh+iEYEEhECAAYFAkMR
 YYQACgkQ80zyLxSSJydLEQCeNKplzVjXHY7qqDC9xCxbGm/aEoUAn3crkx580XUK
 RUTP5x0mTm8DbU2ziEYEExECAAYFAkIKCGgACgkQ1QhTqSIT53IkPgCdGpOSyJ+m
 pFrzGZFgh/Lj8BnxNasAni1xPecPOx/jbMvMjzkDF/tTqYHFiEYEExECAAYFAkIs
 lDgACgkQ7p4sJIfNPb0oJwCfcEpNBQYY1j+W9msAFlkSMi6HcDMAoK7Bh9O9Nl9x
 PHU7sr/IDIu6R+S4iF4EExECAB4CGwMGCwkIBwMCAxUCAwMWAgECHgECF4AFAkUM
 aRoACgkQv+Q4flTiePiIPACbB8tt2u3orcg/5HxImRnaomc7TLMAnRv0PIUdFiEf
 K1l+gS2uwSXija00iF4EExECAB4FAkFWy4wCGwMGCwkIBwMCAxUCAwMWAgECHgEC
 F4AACgkQv+Q4flTiePi8MQCgxoTyVFHwWKxhnSKpFT/QuZHmNj0AoL+kL/3CB40D
 5yJnV8lg+wvQIGr8iGEEExECACECGwMGCwkIBwMCAxUCAwMWAgECHgECF4AFAkIK
 Cw8CGQEACgkQv+Q4flTiePh0CACfUPBi6e9JJXlLmDmoDU+YDcUs+eQAniFqFhyS
 OuqV5X/Pa3q8tgCtHDTjiHMEEBECADMFAkJXFtcFgwHhM4AmGmh0dHA6Ly93d3cu
 Y2FjZXJ0Lm9yZy9pbmRleC5waHA/aWQ9MTAACgkQ0rsNAWXQ/VirxgCfWvTJDRYt
 AEvwBOmWHWT2x2DIarcAn185FVF/u3bR+ECLqtsT+iDZz4z/iJwEEAECAAYFAkQM
 D3IACgkQH3+pCANY/L31AQP+M0Ai3kaYca4Po6dnZ0iGmXnzOG5yon7FsK+nw0W+
 E6MEk1f6wBoj9LU6Y+BojUt5+e9IOMNhDv467Xfnu3ccUAcjq5Ej+QAEkNhQRXb1
 gRzZpy8jDR0Bj3kXYMRRgFMkXULqZSmXUKTJiOuD4KfY00cZsVXWKmE2jnbp1WLO
 Qfu0J0hlbnJpayBCcml4IEFuZGVyc2VuIDxicml4QEZyZWVCU0Qub3JnPohgBBMR
 AgAgBQJHKQT+AhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQv+Q4flTiePhq
 eQCfWx0ViywCxSkExyqgaSqVNXH8+VsAoLoRKzkDFGDGM8th/coby9cu73YetCRI
 ZW5yaWsgQnJpeCBBbmRlcnNlbiA8aGJuQHRlcm1hLmNvbT6IYgQTEQIAIgUCSrIw
 1QIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQv+Q4flTiePg3mwCfdPrx
 X32I0XqMBLC3c0M6EtUiyTwAnRX4jVFJ2BZOYF7/XqTU2wPPc2odtCNIZW5yaWsg
 QnJpeCBBbmRlcnNlbiA8YnJpeEBvc2FhLmRrPohgBBMRAgAgBQJN2Qr5AhsDBgsJ
 CAcDAgQVAggDBBYCAwECHgECF4AACgkQv+Q4flTiePg5ewCgmEBaYVSNpoOEVZm2
 zw6BdSOwuVoAoLsUDSx15ydskUZhr1lmv2rg9COSuQENBD6UQl8QBAD67SO20OSc
 wP3/oJr1tjmNFTIBBTo10Jt1/mBMlFp4rkEbysvcjv2vppRYRjbG7EwuYyfRebA6
 XLF+l9K+ZCIq5ICMqto7UKNyNnWpjw9wLwiPkeMck5QrmXC8/bH1PHXCw8m6NxSi
 RYd2YbLYO/ErShDfMrZJi9wt0pY97s6rkwADBgP+OgEQ2woWjwk3s9A6+cGoGCD/
 N84mNSBFl6LVOqiATkgFzm9VenDsV1LuVbvd8d/NUZ+jm2ANALFxlgKxeqthJhFZ
 LXZIckp5GVPRqrUJKauF04fQZ8w9JI6Kp3brnaN6wa0nxC3pqYwZdBjDUjaOtes2
 7UqqlTYX0sQaDLM0ARGIRgQYEQIABgUCPpRCXwAKCRC/5Dh+VOJ4+PRnAJ4p+ftW
 iiCBRqfHnRhf3pTlzxGDUQCgw+Jkqwvej2KCMft2Xavc7w2qYVU=
 =79B1
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.6. Matthias Andree <mandree@FreeBSD.org>

 pub   1024D/052E7D95 2003-08-28
       Key fingerprint = FDD0 0C43 6E33 07E1 0758  C6A8 BE61 8339 052E 7D95
 uid                  Matthias Andree <mandree@freebsd.org>
 uid                  Matthias Andree <matthias.andree@gmx.de>
 sub   1536g/E65A83DA 2003-08-28

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =PvSJ
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.7. 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.8. Dimitry Andric <dim@FreeBSD.org>

 pub   1024D/2E2096A3 1997-11-17
       Key fingerprint = 7AB4 62D2 CE35 FC6D 4239  4FCD B05E A30A 2E20 96A3
 uid                  Dimitry Andric <dimitry@andric.com>
 uid                  Dimitry Andric <dim@xs4all.nl>
 uid                  Dimitry Andric <dimitry.andric@tomtom.com>
 uid                  [jpeg image of size 5132]
 uid                  Dimitry Andric <dim@nah6.com>
 uid                  Dimitry Andric <dim@FreeBSD.org>
 sub   4096g/6852A5C5 1997-11-17

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 BBARAgAzBQJDWOwGBYMB4TOAJhpodHRwOi8vd3d3LmNhY2VydC5vcmcvaW5kZXgu
 cGhwP2lkPTEwAAoJENK7DQFl0P1Y8XIAn3u4wVGHGp48vrlkD7LrAkgMa4i9AJ4k
 uTexj7XLEDuqfFKKSKhzDqqeYohGBBARAgAGBQJD/amIAAoJEOYLp9vIqq1APR4A
 oIPX7sBet1QQKNvCs0bLDFkjZvKTAJ4v5okd559cL7rO75QY/wuHRwpgTIhGBBAR
 AgAGBQJFyxVpAAoJEAcwX4a9TftQy4EAn0wt9VUlf8wXmumsp1C5i4NqISYyAJ0b
 VuDsgxkGlhnxL+FuStrueQDWAIhGBBARAgAGBQJF8/UvAAoJECmOj4RKTuYj1kkA
 oIkd3JjzUCNH7wInYbSqbqMqF7hCAKDKE8CZQVY9lI8pYxLIPH90O31Fm9HTX9Nd
 ARAAAQEAAAAAAAAAAAAAAAD/2P/gABBKRklGAAEBAQC0ALQAAP/+AC5IYW5kbWFk
 ZSBTb2Z0d2FyZSwgSW5jLiBJbWFnZSBBbGNoZW15IHYxLjE0Cv/bAIQAFQ8QExAN
 FRMRExgXFRkgNSMgHR0gQS8xJzVNRFFQTERLSVVge2hVW3RcSUtrkWx0f4OJi4lT
 Z5ehlYWge4eJhAEXGBggHCA/IyM/hFhLWISEhISEhISEhISEhISEhISEhISEhISE
 hISEhISEhISEhISEhISEhISEhISEhISEhISE/8AAEQgBIAC8AwEhAAIRAQMRAf/E
 AIMAAAIDAQEBAAAAAAAAAAAAAAIDAQQFAAYHAQEBAQEBAQAAAAAAAAAAAAABAAID
 BAUQAAICAQMDAwIFAwMDBQAAAAECAAMRBBIhMUFRBSJhE3EGIzKBkRQzUkJioRUk
 sTRywfDxEQEBAAIDAQEBAQEAAAAAAAAAAQIRAyExQRIyIlH/2gAMAwEAAhEDEQA/
 APYzpJ06SQJzDcpHkSTFsGAfgyNI23UfcTlP7ezLvhrT3qTjcMwp2eELOFZQerHA
 gGxarhuwA4x+8Mm8PsV9Fzdc3lzLZsUWBM8kE/tLHxcn9Uc4EMAR0MWBp1hEwaCT
 IiESr6ku7ROf8eYwMG8fl5jabPyxzKei+PUTplt06SR3kyTI1KYtcfMq9LBON/p7
 Me+KrOlw1m7cAFlhdXU6vtYFlbaceZ2njxVkaj1C59Y30wu2jDcnnH/0ytf6hZfa
 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
 p3ZoprcVEgZAeA==
 =PPl8
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.9. 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.10. 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.11. 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.12. Mathieu Arnold <mat@FreeBSD.org>

 pub   4096R/0x3A4516F35183CE48 2013-09-23 [expires: 2018-09-22]
       Key fingerprint = 3AB6 9789 D2ED 1210 6440  BA5B 3A45 16F3 5183 CE48
 uid                 [  full  ] Mathieu Arnold <mat@FreeBSD.org>
 uid                 [  full  ] Mathieu Arnold <mat@mat.cc>
 uid                 [  full  ] Mathieu Arnold <m@absolight.fr>
 uid                 [  full  ] Mathieu Arnold <m@w2my.net>
 sub   4096R/0xA99F9AA711E3DFC9 2013-09-23 [expires: 2018-09-22]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 Sd1YzaOE4KmRKRnHH6PQ0tQ71TqsYt/8fUv4aXQQPwMsefaum9dm8ZHtAff9Bq+W
 IoIBxBYgqTtBHC7Jbndq8QUdtDDI9NEeFVKK8EIQ6rQbTWF0aGlldSBBcm5vbGQg
 PG1hdEBtYXQuY2M+iQJjBBMBCABNAhsDBQkJZgGABQsJCAcDBRUKCQgLBRYDAgEA
 Ah4BAheABQJSQEpgJRhoa3A6Ly9zdWJzZXQucG9vbC5za3Mta2V5c2VydmVycy5u
 ZXQACgkQOkUW81GDzkjALQ//S3m8Bgezr2G1diKF8OeU5cviGN4e43pUKd5VwdDo
 TQGfcqirTGVu87B4xfkyjFb6BG+Pws9UPVwkrJbNGSBBDF0k4xer+aINocpVJi83
 1qiMehPf8ozr/A+M/Lz3HAYcxALrF3mqmPpdx8aNplKOj08o47MsEgZXtTxZx/3p
 TBnlz5CtwpQJTRr7Mc7xC0kIoRCSHzLNsnfKa3v51f4SS2UQ2g+v0rnSiYra0Xjd
 KARsSjGnXuIEK4og00cya4JaAV4Z87vcu7YI6UC1Lv2H09vn+lt1YkdzYDb33W74
 r4zm16/jVe9zf3r2S1vm3pEZGWbmXGFjlb7gwujkqW4y22C69eStcbMp4CzCnHy3
 ibkKhj1QJ9vNO5vGgtAYREAQywlTtXhZjNN4bPqni27vFdaKOvaLgLU8HAtkCQ5j
 RFmFYEvOJsrwlcjBvw+AGIP9QqS1ISM1xpd7lXh6wH8tyviXQHEBmH9XWskHMA0o
 1Ja6gPLjE9D1w2K35tIyPZQi56jU5n4Kv4YJyj7IS5xFjskvMgXDXJWOtTTI84bl
 wvbGEuC47yPD4m6ZxVkgOyyfOzfQ24LRDQ6WYH4Fw+NCAf+TnllSKTufzWbb5C/l
 GsYqhShVLsJSAerhfRYFCyAGWxyBLuoXa4veoAHEU0fVsTq/PgKlqI/p5/iUxgki
 0hmIRgQQEQgABgUCUkBRJQAKCRAmpHxq/m2FD17bAKCqHf9jJjujTcNkHWtP+5Fu
 OPhRawCghFgjtVboHpmrP3hleCA4IVFiWyuIawQQEQIAKwUCUkCs8QWDAeKFAB4a
 aHR0cDovL3d3dy5jYWNlcnQub3JnL2Nwcy5waHAACgkQ0rsNAWXQ/VgDdwCgk/kw
 pwwVdOnZKeQD5wx/ON4ZVEwAn3QRaXyb3k2QnAV4QC1DGBMoOU99iQIcBBABAgAG
 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
 =1C8m
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.13. Takuya ASADA <syuu@FreeBSD.org>

 pub   2048R/43788F78 2012-11-21
       Key fingerprint = 31CE 242E 6F4F F24F EEF4  D9BB 0890 2C5F 4378 8F78
 uid                  Takuya ASADA <syuu@freebsd.org>
 sub   2048R/A87B0906 2012-11-21

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQENBFCs6CQBCACri3OLkH5JVQCN2GylV62LuXCc7g2TfLf0q7XtmieJAwvtfxOl
 LdBDC8d/WAqUWVEW1eMWgvCJlgCPIFedG+GDBYPUFYsy1cUDALEi+QSS1Jozovs/
 b3Rk7TIW7Fu2F9KQ7ivlEtPS1bjQHmhrkHxOloapWUSrP2IdIfllxKAN3BGas2+j
 hjkmSPmSe0FQBIOyEp/RHf8bJ4LtRa+NACjOZWydLft54hcHNbS6/ubHtHlJjMjm
 V+fbLfYZvWGV1R+7gnuUAVu6bqgY6Bc60gwHs9wcITXCSDAZv9CP7r6mazo4MTV6
 auXYSiuec+rLNO10ndHuOqZPS0EKLExMJStNABEBAAG0H1Rha3V5YSBBU0FEQSA8
 c3l1dUBmcmVlYnNkLm9yZz6JATgEEwECACIFAlCs6CQCGwMGCwkIBwMCBhUIAgkK
 CwQWAgMBAh4BAheAAAoJEAiQLF9DeI94mZkIAKOPCkQcK/XENDyZR9iZroMpg60K
 TXNR72JIymRrBlUgJXOgxJJDETOx3GjTSXql7CLxkdun3oCmatskN0vneMHCs6/M
 3UP8UKwiA/6lk6cmg6vfXQ/IreqQyyV3inBN6fJMscsQrtB+pmw6CD8U1tiAkbBI
 ExlKGkQG7Qy5FzQ1meyUP9XvD9JhaDe+3sWPK60kcSpskrQgZ0y2yWgJxWOw4meS
 E0blTt+wyTFySbEraoY2ZoZP5y9vcMJoh0OKBzpTVi156RM87P4t3IjWNaDlGSJD
 uf5oVIhavgKYVPXu5+EmVTjLAFaNYc7C9lGGa7bOW1LlEt6EKcrReVaWPX25AQ0E
 UKzoJAEIAMWEiRDeAR5IkJmiRg0J1ORCbCFGbbENEqt2lahTAxuM5QAzjZ/StCos
 DeUydqy0/gYJ1zntyDGFNBEgBT4ZPcy1uFPMoTefG1RpYTBiw/gMTCcsFI8JzihY
 ShoAKJGw+jDBDhnYslAfrmYrOwyGykXep8SpmkigWAxnhZtyzbXCSgLcOGloj2AT
 uLo8DDIg7D3cxgX81U79UFsm3WZH2BaTi9dqhhtJanmmLpbxtJTDLZUEoR3iZwdE
 Myu1ziW5y+y3sfTVUgTH2sj1TNSF4vE1q2rr5qud+g5PlwA+05wNdaHLr3u7Y8qf
 218W0fDXw3mMgwD3ryXvHDkEwqOIHzUAEQEAAYkBHwQYAQIACQUCUKzoJAIbDAAK
 CRAIkCxfQ3iPeHVhB/45lUQo04TLDaXYX+vw5pSFGmdOUUz+gCRstZ7X+6yeYRhC
 XquBBmiByiHle0obuxk3IBNtNVmoKwyYjicYr9YdRAhjr/ei/MzORryj2RZUTHra
 fm7o4B6E8T3tlM2gXJ1erdwZVVX7M1Tuxs6fM4ZZLfRlVwwQxgsW2KViZwe26a/h
 vV9Y3EYheFjrlUcV4sTWAJ6VbPoWrsTm81iQWrEo1Hq2zV+FbtGDuoAiYiLCzPo8
 WP7/oZA62Ri5vOAdj1mD4tRWlDLwGDhwO/9eXdT6BwV808pVUi/6CwLWbCiRShRI
 xLcPUUM3uzQJpPwgiTPDxEvmS4lZR5m94smK/tE+
 =7PcP
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.14. 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.15. Gavin Atkinson <gavin@FreeBSD.org>

 pub   4096R/4DA114E5C4A2E57F 2013-09-25 [expires: 2018-09-24]
       Key fingerprint = A12B D878 2A5E A90F D37C  43BC 4DA1 14E5 C4A2 E57F
 uid                          Gavin Atkinson (Work email) <gavin.atkinson@york.ac.uk>
 uid                          Gavin Atkinson (Work email - deprecated) <ga9@york.ac.uk>
 uid                          Gavin Atkinson (URY email) <gavin.atkinson@ury.york.ac.uk>
 uid                          Gavin Atkinson (FreeBSD key) <gavin@FreeBSD.org>
 sub   4096R/443BBD9486DFCC25 2013-09-25 [expires: 2018-09-24]


 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 cDXxVhupAfsUfx3AJE7UjjVPriqNX/1mIY1otrE=
 =+TCf
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.16. Joseph S. Atkinson <jsa@FreeBSD.org>

 pub   2048R/21AA7B06 2010-07-14
       Key fingerprint = 5B38 63B0 9CCA 12BE 3919  9412 CC9D FC84 21AA 7B06
 uid                  Joseph S. Atkinson <jsa@FreeBSD.org>
 uid                  Joseph S. Atkinson <jsa.bsd@gmail.com>
 uid                  Joseph S. Atkinson <jsa@wickedmachine.net>
 sub   2048R/5601C3E3 2010-07-14

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 wmKGlCQF5zC50z2aIiJy6w==
 =99Ow
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.17. 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-----

 mQGiBEJdL2URBADLOLT8FuI+nSLUblRQkz7t28SVBW9ugYj7Uz+YrYq6913DKOMf
 wn+luuW+Ynb/xUi6mEaHIU7cgLgatnOj39KSsVCihhk0SRfvkkE8/141Al4QSGGB
 DCt6ocyeD4VD8Zjsp2vKcNKnxW5jwDzQIeWRqLH10awlAaNypI2EWPix3wCgzrcb
 5Pl49FMWLaElSBXZTTzRt6UEAMGQcFylI3+94JnTLM/GAfv4cjUIuTWiMdBY622Q
 v6AmocMKLhFLm9TP/gFeYHNtkmiaTzCsixfPphHpc/mljDtJgOXPWvZgqFy2X9IA
 o4q1JPZt2v0oELAWWoHpUJMHvYpuz7frRFJTW8ULNFvRlZXihlAQhWT3WGHUPw3o
 Nor4A/9DsshpBwUuy+Nwr4ZKeyID5hH4kq9n/CSu54x/1stcwmolNJxvWfE3mTTn
 I0+1yCRgdRclJWrPXMlvG9C7eWamuxegACEoZgn79R7ifEHBgfcU1RqEjh7FPdEC
 B1FGW2GqMua9UHSNS0zAKReaWEOWdiQJW4LIBdxcBlp4ta6m1LQlUGhpbGlwcGUg
 QXVkZW91ZCA8amFkYXdpbkB0dXhhY28ubmV0PohhBBMRAgAhAhsDBgsJCAcDAgMV
 AgMDFgIBAh4BAheAAhkBBQJGwsBVAAoJEOSY/CvINdQON04AoIUkdZhtlHPjvd37
 oYdAZsIcdsMaAKCx6J0fkeXJvpZo35PGudBq91pIu4hMBBARAgAMBQJCY78+BYMB
 2qOnAAoJEEbwRHdxOs1RmYcAoJ5xBui811eaVAF8XgwxmbmJFjwqAKCjNR/ngEvM
 PNhsny96fYBUnrwScYhkBBMRAgAkBQJCXTBnAhsDBQkB4TOABgsJCAcDAgMVAgMD
 FgIBAh4BAheAAAoJEOSY/CvINdQOF04AoIYhNXtXfGTVEBTQYP9+8uNF/h+MAJ9x
 lI4THAL9Hz5nkLMmgNniw88+v4hGBBMRAgAGBQJCcAh3AAoJEMNN3ePuINYY9F8A
 nRq1dWPQsEf7vBhvmNt9lnN0HPoBAJ0V5KCM1Q3KPal21Xnspb4qClrHDIhMBBAR
 AgAMBQJCcKVlBYMBzb2AAAoJEPaBpKRNx6pJ2xgAnAjTTphgzhDP+pr99GepNftV
 OSv/AKCbyEr2udCh6yW6dHrlvLVKVUCrNIhMBBARAgAMBQJCdOTBBYMByX4kAAoJ
 EFN0a9y8jOT3DvsAnj2WuEGDd8Ph2FAPKd+D7YT6cd/JAJ9TQWgH+K4IFaPlpOYC
 AIUTVCgJX4hMBBARAgAMBQJCgmuuBYMBu/c3AAoJEI4pzq7Fa10Rj5cAoIBTBkke
 Geel/Y8qlSyOR5KRvpw/AJ4/E0pBrto8kxpgJS89wJPzEBtnIYhMBBARAgAMBQJC
 qUaxBYMBlRw0AAoJELxT8wQZSGTDAPwAn2HqQU6QTJ4SjjRenMppVGHT0iQAAJ4r
 nJi4cTvA+pYGztbRl9wSe49c6YhMBBARAgAMBQJDDa/eBYMBMLMHAAoJEAgz5lsp
 UNTiAs0An0dr1n30bfqWokSM9gb0po1013dGAJ9QBdhSoJE9WBM+q0DD3M3vQEdD
 1IkBIgQQAQIADAUCQqlSAQUDABJ1AAAKCRCXELibyletfERkB/97Dh5kJecBTlwZ
 UtyJl1pEaj/XCrURiW7dyUq6mI/eZSXSWl/qmBiMq8roigPsFzm1mPJU4/9N1D23
 J4LOB8FwbRoPo8Xsb5YYLP0fnmoGn/VOn65qh1hyepichmn9nJ3R3lcwp5poBj8F
 Kyt0M+nqdO+XTlygjaQ1XRuwQeinbbv7UY4xNbLtoTYrfv+idA8CWdd32hkYyF+d
 NDB8xNRU1jM3dZbedBKND3huE1YMohIiXqmyh2xFsmfWeG4AXfgt6czGnACq3OoI
 SyOxUR6wBqftv/r8EC8sD6Acek0iqI8avxoVpxPrHJOnyYxqw3j77EeXrcFd9ZFC
 QWCaFHKkiQEiBBABAgAMBQJCuwqMBQMAEnUAAAoJEJcQuJvKV618nrwIAL6ByoRL
 kOUWX04fKMdQsRaZx0Yuc3AUx2nPfzpuIQkpJmvoqg+Sopap38k/mg2M5PvHq2wq
 xYzjCpnPcUJFJ19IC+l+/6hOGgCsnMMghYbqNc5rdS0VM941/wC3llnhcp62unuY
 fH+ry1JSgwyjoJTOMuLc7HyzkLLnRVUx3rxdhLTNPseEWhHJqPLWx3oNcjuCAijK
 xIr/STgQguiUTHBKg4yk/4pqVv6+3AMxyQUl1AwYfJZ5vQ2YpGbw1ZCg0ZAL87EG
 /GCH5z7h86l5axyJSSohTKtpaJAsOiG303sIqcqb0UKFOhV0uVJgcyFqjTL2T2wU
 rLeeO25g7ABRVlqJASIEEAECAAwFAkLRFmAFAwASdQAACgkQlxC4m8pXrXwjqgf9
 FGBisOK+UiGUy1AGCSRaomi48DpAjzfx/pu6rQmsOA8GWPfUjRAIpSig+PE8DfuH
 I3E1+S2QMShIxzu5MEKjIySz805Z0MoNYo6SzgdTXo9BGzsNLAjT+5ITkRsb0+PR
 Qw+nNfdMV8g12C6P4jhukAGTX54/WVNn6BG5cHg9uQ8iCibgE1AuvXkD/hLUNtaC
 qXW5NQtyNzlDp+hktGLVboqKbo8wHWNvQMBoNzXhvqqv9UCdHoZiC1988yLE9DTd
 BvpjwnCmm1NHt7E3knEST1HPnx1hOv6X9U5Gd9N2OcYJDYMz1aUQr3KyD/LYYlHZ
 bTIFZEpSKwn3Ppd3yDBNU4kBIgQQAQIADAUCQtG8MAUDABJ1AAAKCRCXELibylet
 fEKSCAChrkBETJ+cHHml02olsaR8xKjj3lA7MgBvTy/glJKnBm0SsRl8pNt7xrd2
 5B+2ZBXqLsJcnOfNfb20r+j9FGAGVzzn7nLhhxNujK0FUlwOG21gChIqbn7UE0t6
 H5IURCT8LcpxUmd/1oCAtzROW3KppE2hJWB5m0I1s8gBs5Bt58W1Vbxn0RrupTaq
 +b9Jc2vXc9PfWiuvV7MULdx3JIIq8QDt+PQp6srLaezz7ZNvalcFk80k/9l3b4oL
 lIOyXk2Z/7yXTVLdhkEpC/xEfE7xZzCTooyEF/Un+xKBpyglzpDKPKx5zH7NnngJ
 Dcm9WqKC+URv7pAn60fw2CsmSzSdiQEiBBABAgAMBQJC7MKBBQMAEnUAAAoJEJcQ
 uJvKV6185SkH/iZJPlklLeJqBD3OoROWAMvj3nyU4U29P4hdV5KN614PtqGt344M
 JfoXSXgSNXtck/xSHW2s8g6aqIrYqAqC9vxsQ1mIKsXaDGZDwScjy1K/9/0/jdpd
 9ewuLob+kGQ4uAm3ZZzLq6JMK5jvv+r9uBAn+YO0+BNs18afgh+N2CYoEklgMK6O
 vwYzKhTcjjNjgYsL6zhA2gQ/H3ureUcruVhxWxKdREkh9EVuwTtF1UdbWoN//FMf
 gr6zj4L58iR/6+i/l77zDCoovYiqqmQnuoV4qXqpI2t2PguXQhiCmxxbpNrYpybD
 /r37OH02N5jOAZ13hW9NnojsRoeAA9qUd5qJASIEEAECAAwFAkLtaMYFAwASdQAA
 CgkQlxC4m8pXrXyPTAf/XD9vz4IL4gz045TKGRbJYkm9Y+o5CE/mVY2XdfJ84arP
 GtBwZCODwYOFtPh8Mjlfr0JpH7Ts4TRjBkXz+1+1GttWIWJvGl4+0b3QRL6zfydM
 Fpv1RqGCPDJXL51LD+mnqEfov2cOkSJtxiRjX4QtDlC/ZZVFY0ZU02/3HGFvcE0C
 ++8RWXZvl8xvQjxq+chnHDtLSgJ1C9SSZgcaratbxxJGAgLq08pPPzMWwRnX4Zib
 +M3+5PEGKnrrZsg8uzSIhmbEhLgVxi73TwkuD9haAdD3QW8sE1AFO12yjg9shZUA
 ZoWOaIY1ZyhcXftGhDpRl3rjsR5LKF+bLLdUqYnB24hnBBMRAgAnAhsDBQkB4TOA
 BgsJCAcDAgMVAgMDFgIBAh4BAheABQJCqC5yAhkBAAoJEOSY/CvINdQOnMoAnR+l
 xUQHi6dg8Wu5u+F5/xdQe+NnAJ4+wW0jS+nvJneeOzHdS19uD0T+5YhGBBARAgAG
 BQJEfDPjAAoJELVIn7FEOEbWL4sAnjiX7zZuwYX3yV1oWs3NlwFqP1fLAKDIn+c8
 OkbGXTagKQYxltP1G6vZdYhhBBMRAgAhAhsDBgsJCAcDAgMVAgMDFgIBAh4BAheA
 AhkBBQJEBxZ/AAoJEOSY/CvINdQOTkEAn0bjcdpuKAr81vvSGEhP+TIBV5f4AKCi
 77jQg3zAi4N8q4vMzNkTDVKSlYhhBBMRAgAhAhsDBgsJCAcDAgMVAgMDFgIBAh4B
 AheAAhkBBQJEftMXAAoJEOSY/CvINdQOVEoAoJnLEVBeNCH5EKHBbJ4Qt+2jjULx
 AJ9tnkhBTD+4QxWbvJYTi6K2aEhzXrQxUGhpbGlwcGUgQXVkZW91ZCA8cGhpbGlw
 cGUuYXVkZW91ZEBpbmdlbml3ZWIuY29tPohsBDARAgAsBQJDYi3mJR0gamUgbmUg
 dHJhdmFpbGxlIHBsdXMgY2hleiBpbmdlbml3ZWIACgkQ5Jj8K8g11A7HPgCgh20Y
 irDUd1c39o/ZFMZ5epeoccIAn00+nXaC9vJqgGV6/KsiO95uwsQ/iGQEExECACQF
 AkKoLecCGwMFCQHhM4AGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQ5Jj8K8g11A7q
 kQCdG6PJLw7d9bmF5JflMn8vNDXflrMAn3Cx9xcp/fhJ4fRSGG+giRJh56RriEwE
 EBECAAwFAkKpRrEFgwGVHDQACgkQvFPzBBlIZMNNPACfXAno7FNi+O0TYyTJx9mx
 TdvKER0AnjsUcRtmGF2QAO9Pta2hYmZjTQNyiEwEEBECAAwFAkMNr94FgwEwswcA
 CgkQCDPmWylQ1OJrIgCcCtptIsOSXZM86O+Dhgjss31xmOkAn0DYfRqb8t9wUxrI
 J505WdlUTa4ZiQEhBBABAgAMBQJCuwqMBQMAEnUAAAoJEJcQuJvKV6185OcH9Ah9
 yxTSSeGejsB3R+DFmCf/sTjDeQN1S1qWOiWzlJo86LtWNl5/DIKSq93vIFLcjFIs
 FcNlfPc02bdC9U63SxLFE/gKzBb+RBPjZFB1gb0YetqeQUZAJgcJKgS5h1CphhNv
 DNoKzbW0tLHttUUFeXsHZsJ19BeWpojD2DEyIyMeteTXrxxIDDjbfZxp7tNo3eNh
 Xk6qL21+GaXoNqOX1+9bm31CSFB0YEooTIZ5OW9z+Whlbjnrtv63Gp8pNzpFdkbO
 xvPAY0vb9PD1LhyywRkiLbHs+JTkwIx1u4OFGdmENUmluYx2iuv9E2iT1wq+jJsi
 MNjHqm9cm1CnI+34qokBIgQQAQIADAUCQqlSAQUDABJ1AAAKCRCXELibyletfDCT
 B/4xNc90Rqi5imZIWqAoP3p8WyffmxVAosVdSzO8gCCGs6rFbro0rRvPqCtkhYQn
 zgQRrPL9JhSpmB1b9hZXp24nK6E3mi+NbLv8kZGrWPO3I+q5aYaN/9lfDCWbIGz7
 nav9RLMG5ARsYKdGM0ZD5JcoZ1t/refnnhZdxXnNlNE7zaraQ6nt8UBiuc5hlS63
 X2PZq5nTn08NVZWUQinaIziR2SJbULclQ28SQd7kysRak9CP1hhMjkzhsGZs1TfT
 9YlQifxcaSnRuzaidI7by4ghcP/spBsUOU3HnSGvOJbqzVrNaZMJpBsa7oAa1z1P
 xzOjE+lsFpoJ3kCyNjn6QybUiQEiBBABAgAMBQJC0RZgBQMAEnUAAAoJEJcQuJvK
 V618CTYH/i94AkC8vvvxjGd1NX8XsFME+thWAcKUyhQnSbuAjfDb7MTB/HaTyvHU
 rlc0Vo5l3Ujg2DPbldQfrIUqaihvQQazNmrJYLNtxvwwwwsgqYTbdKiusL3qHvp7
 MnDTqshEx3/y4qHRRoFjyRqmInQFG5tH0XxpusKVSn9U5G4qz/ysS8Yebmh/fzMJ
 PfujPSTsEjr9mtDjSusbPQBmvADf/EWBvPq7e76AqcXicDrONb9tnusY5ScUGuBJ
 UmP5bnoI6hYfgdc0a4pb/one9xduI773hQPG2h7shPUHrZ0vZZx3vmgkN7OvziYx
 Ek5wlHuNQjkQc+BpZgWbg6RkPBAKDq2JASIEEAECAAwFAkLRvDAFAwASdQAACgkQ
 lxC4m8pXrXzATAgAtyqVHWx+fORp9/ohOjyDtTPcoZfJZzgq0jSyo+DTTYMTfsfW
 I57Ekx8B149+BBC0RC0Hv3IyuQLS5ag7gVpUYaWCyajFAXxThI7oS0yNAFzolNp0
 cIn74gXafxCZBL54KaQ1+hPLi2kOYP62XZ97+SGbl4gnFTKpZBnK7iAFtSfsgZKR
 wtVk7bekopEqH1ea7DH8d6VcaOumzMI7tGRNHgZhLBZ9Q32SfQFl+uvEqhXQTUIp
 fZrZ9v9huuZAp3a8FWheokePSvITy4cs6oZoOeTVU0P09GXPtinBWoN8ShUjYdOe
 3Vd2uloIBpmFJxGVOOUceUSSK3KzXKJIfXJtKokBIgQQAQIADAUCQuzCgQUDABJ1
 AAAKCRCXELibyletfKUkCAC2XfZ2GjiLEZgF5UMcjfuGkjxs3PlN4N562Hl54QFg
 Sr8hz/vqc8Xki/cC949WecZ8mtUXmt9Us/TbaFKgY99cx9Xgi1+UqwupOIfsEI9K
 q2LpGHhhgM7WMls3ZJnHfp3PNG6/P0wL2u+3sUTYt3aDjHXQ7sWvQNydpZ8O+DSE
 3+sddX3PaFarh44usqgzfuer304SVzBFeSt2YxqXnAzblxoyNlwLBQaId1xxgMg3
 /1dZYuT4xDriI6gzMJLRsBKUb4R55D/4fquomJLlYuYrjoajY6GKIklwDAV80i1w
 xLdE0E0OHF+03UOfbNXcEaHmbTN+j1liklXB7OqV1DT6iQEiBBABAgAMBQJC7WjG
 BQMAEnUAAAoJEJcQuJvKV618NSIH+wVbo7yMe8uBzn996WyrMIke9ErSaowlgtFp
 pM8vflHIRVTgeLEN3Sda5UVfTI47/VK+P7+D+9MKP0pRbLpCFaAO12o+wPmJAx1M
 99w3tkzvHz4HHJNHdKBb0ICzntHESstluZuB5D4tUEBeU9t0aCXmLm8xncUo3gmR
 KDezTHMFEk2QKmQG8tJ316er/UIrUQGtmyLSubDLQEdOBlcNP5AIp1WT2nIsduhn
 C42Nz0xquNvFN9jDt8XfXAkC/79sFs4UyhL7GKmbuG1/NbQBkpkzSBX3EJ/8Z52q
 d6idpvrv6Wyum/cbTk9KYjQoqIKjFLO0EZRiRzc2qiSWPwDlRSC0JlBoaWxpcHBl
 IEF1ZGVvdWQgPHBoaWxpcHBlQHR1eGFjby5uZXQ+iF4EExECAB4CGwMGCwkIBwMC
 AxUCAwMWAgECHgECF4AFAkbCwF4ACgkQ5Jj8K8g11A4B5ACeIPPFbSyb01eLXo5B
 cv4bpPtf114AnA2rB5l0HVEAzhWNBK01YNI3ic8jiEwEEBECAAwFAkJjvz4FgwHa
 o6cACgkQRvBEd3E6zVGzcgCfVdUBur0E0PFXsL+5lZ4/9ICRr+cAn1y2Ndg3tZTg
 P/66Fcr0ebiqYPqtiEYEExECAAYFAkJwCH8ACgkQw03d4+4g1hhAEgCfS933a2lP
 qzVK3XRFGLcLKL4YyFcAnisjJPkaufYR3FG3SuxI8BZAYISLiEwEEBECAAwFAkJw
 pWUFgwHNvYAACgkQ9oGkpE3HqklCQACdFfNNs+gHIcILxQQunTEKjhMaWbgAnR8u
 gGPWC/o5yaQoOG00KaFgUFmriEwEEBECAAwFAkJ05MEFgwHJfiQACgkQU3Rr3LyM
 5PdPvQCggdJjyUqIPb3m6j76pmuK/dqbcrEAnjg6sZ+wHDPEEinAqK1lWGGJ9Ukl
 iEwEEBECAAwFAkKCa64FgwG79zcACgkQjinOrsVrXRHUlgCg58yf57SvwM+zXUwS
 055mwyRRX0sAoMYR5xRI8db0uHfXbdYojZixd4kuiEwEEBECAAwFAkKpRrEFgwGV
 HDQACgkQvFPzBBlIZMPvXACdH6dc4xjCggJZa/kWB/idMUUpV5QAnj6P9lXUYz7y
 eQQMo2uAoZW2oqyNiEwEEBECAAwFAkMNr94FgwEwswcACgkQCDPmWylQ1OIJqACg
 uADHHVxDVlyvcGJOsUTorS/U+tQAmwfCundJw4L/18tg/+g1FkkKEFt7iGQEExEC
 ACQFAkJdL2UCGwMFCQHhM4AGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQ5Jj8K8g1
 1A7zkwCfbAUGa0InSkltzfwsCLphyO6egx8An1xKKGd4W5kIS244oVU95FGH1bpF
 iEYEEBECAAYFAkR8M/AACgkQtUifsUQ4RtZSYgCcCtWMuXqR3gSLActoB9mVKgLf
 T/IAn2e82JynKFMJHPhVTQMZhxY6GbTWiF4EExECAB4CGwMGCwkIBwMCAxUCAwMW
 AgECHgECF4AFAkQHFoMACgkQ5Jj8K8g11A43fACaAiX/RT6dYKaBC/5E1Dyq+so8
 WoYAnRgT0O94H11BjQPKcTgzSLfsIB6/iF4EExECAB4CGwMGCwkIBwMCAxUCAwMW
 AgECHgECF4AFAkR+0x8ACgkQ5Jj8K8g11A5vXQCggBKEglKmdWQAx9ElvPiChSM1
 M4cAniUBlbC33rSi+siFWhIcryZXVG7KtDFQaGlsaXBwZSBBdWRlb3VkIDxwaGls
 aXBwZS5hdWRlb3VkQHNpdGFkZWxsZS5jb20+iGAEExECACACGwMGCwkIBwMCBBUC
 CAMEFgIDAQIeAQIXgAUCRsLAXgAKCRDkmPwryDXUDnrFAKCSkjYXxo1RCT6OyknW
 Y95Kyg/hHgCfeRp8cy7xA1xLB5TniIPP2iE1IHOIZgQTEQIAJgUCRAVkFQIbAwUJ
 AeEzgAYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEOSY/CvINdQOoqIAn1Lbez9i
 PCVZOfKuEDLa9bJQHcBOAJ46k6i++mYYeojZlZQIO0dQesblBIhGBBARAgAGBQJE
 fDPwAAoJELVIn7FEOEbWshgAn2yjv8QdZkdbhuBhBbov5ju4W6s4AJ4hgIbjSimX
 fR1qb4c0FFf2rn3BsohgBBMRAgAgAhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AF
 AkQHFoMACgkQ5Jj8K8g11A4lAACcCMKmWUK3se6jgb4kTcYLDOsPp5gAoJj0F/Ie
 8/Hj1E6XojVoPo1Swy5GiGAEExECACACGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIX
 gAUCRH7THwAKCRDkmPwryDXUDj+UAJ9O7ClybVFgaQfW9myHecOyFUVoDQCdGIs3
 38ftgMM7Hwk+J5eXWw+wR8G0JlBoaWxpcHBlIEF1ZGVvdWQgPGphZGF3aW5AZnJl
 ZWJzZC5vcmc+iGAEExECACAFAkfK3oYCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIX
 gAAKCRDkmPwryDXUDkASAJ9HQgTH8F1GkjB9LkBS7ZaWCQ0riwCeOM0rJkQmuQRZ
 /u0Ick5TgV3YUGW5Ag0EQl0vmxAIAJ8MjJ7IQdwNk9s0izvt8BSxqVg0D1pQgM9K
 3TJx5XK9+A/AinrZEsMUqwrtyIwjEeUIw6pXaC6TqUc47DAOLAsZm4orh2uMSx5U
 q0NPUixM0SU2YvCZSF9xylhi6PufxG5HXLWFp5MJm+1V3o6M2MUFoA9+KyB0bFJL
 obMDaPCzEpWFk4wRZ2jUcvX6EtmrXD24e3UHmGUdCtTFis4RogH2aaAM1a3i6sxq
 dd4X51LUSpi4oL/OUVqwerJNFgdysTnL3YM9vJIWwN61yLmxMNzXqZFHgxagNtH1
 v90PNV/3PMg36FtYt5G5wkw/TvJOrlAjoZYFu5s7+SIe/wPRg+sAAwYH/3amGRUV
 7Y9T8IhuqzM43e2mIncDCMdTD2vM2PMA5N3oVk9CvrOMy9HBw/6NsJjC6p8ooIsn
 6mw9NlnbppxQ0Ofp1tvSBIqzcjf7icIaiMskHGL2Fp1eO5wxTz3ERYRpjeV2K7C4
 q0ZY5jpZH8g5Mts9TYYRB0aKA7eT3hgrVxjI2YKdsC2gHbjqISIp5DKNr/wvwE+n
 Utboqzi76W3svf1C7A1bhcpLu/W1OUyD57qpBpmHKSLnQDpjM9h6oqZa9cUeNvyG
 Gzas1W20UOTkAIXlQc32CAQw9VcDnIz8p3Smaog5IGBi5wgoDqFf6wvgV6/xgZqh
 yLOPxlnjoSbx/7OISQQYEQIACQIbDAUCRH7TlgAKCRDkmPwryDXUDosTAJ9zJ2ch
 7GNJJ3W8MechFeaHW8gi7wCfcvqc/uB5T9hc40vmQZTSMGsVwIo=
 =Ed5M
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.18. 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.19. Glen Barber <gjb@FreeBSD.org>

 pub   2048R/524F0C37A0B946A3 2010-08-03 [expires: 2018-09-22]
       Key fingerprint = 78B3 42BA 26C7 B2AC 681E  A7BE 524F 0C37 A0B9 46A3
 uid                          Glen Barber <gjb@FreeBSD.org>
 uid                          Glen Barber <glen.j.barber@gmail.com>
 uid                          Glen Barber <gjb@glenbarber.us>
 sub   2048R/EA524D216C0527E5 2010-08-03
 sub   4096R/B96CDDEAAF8B5ED0 2013-09-23 [expires: 2018-09-22]
 sub   4096R/D69CAA1C932929D7 2013-09-23 [expires: 2018-09-22]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =QdJo
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.20. Nick Barkas <snb@FreeBSD.org>

 pub   2048R/DDADB9DC 2010-07-27
       Key fingerprint = B678 6ECB 303D F580 A050  098F BDFF 4F3D DDAD B9DC
 uid                  S. Nicholas Barkas <snb@freebsd.org>
 sub   2048R/36E181FB 2010-07-27
 sub   2048R/BDA4BED3 2010-07-29
 sub   2048R/782A8737 2010-07-29

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQENBExPKloBCADqhzBB/vYRc48HeilsVn6jNqbAvJyLsXSw281lu0joK5EHY/0u
 B3h+RmSSYcd23UCyLrMn4a6qGIa8T086feYEyACbwORe/4kFeuFLNmgZbAvs3ePr
 FTg2HqvErdhT/DcHLpBloAlJefwppKrN6tGyM6M49wvUZQhxq0TNZdEqSDM1MWnB
 dJsS4M2MNEO2kyBgLgcedb9h4uCK93AcEFzVImgW7+QVh6/97WNaHD0YN0TtmE/e
 /oA7rV5J05334kT8Y2Ejk9gIVVcKcu551P5FSn4uS2kZtuLMSJ9rgkM458p+s+8J
 vY4nhCB2cvT70OMx8I+2Iqlsztl/mf9fuGNdABEBAAG0JFMuIE5pY2hvbGFzIEJh
 cmthcyA8c25iQGZyZWVic2Qub3JnPokBNwQTAQgAIQUCTE8qWgIbAwULCQgHAwUV
 CgkICwUWAgMBAAIeAQIXgAAKCRC9/0893a253JD/B/wJIERQO91u09cz6mk7V4Jh
 Wj6+9ptevVDWTJrqM+yOhSEvaGxUqBAEhhhuIkiWwHNr5DZOEFBar5oQrZ74rOsR
 qY5b4/J1IYxm6B3S60KY2wUtazd/9Gz36lKPY9QmkSg7UcJXlPh45HTmKIXAjmNj
 ke6BUTrVYyXrv2CAtxKgSmX9SQFvR2j90tu5pu4LrnWujh/MK+DNY1AVxsKgEXPr
 KFYvLe/2YWEtyJFh7cNbtWt2sl1JAhxJ9mIarBrzLoWpy/AjogMLWIcGoAv9zunV
 tbWeoq9TkFzIi14kFuy5WJkBZynlvvwtIqiap+iV1qv20UBzVFLA/MjZ8TlM3pbs
 iEYEEBEIAAYFAkxPKu0ACgkQyLJCen51gqSVpQCfcYp1zGIiKNlGjaLdIz7HChcz
 uQAAoIYU20rzffZwbZNnvHpIIEIi8WcvuQENBExPKloBCADq9E7GPd/YXTu56kc9
 HEbnes9oG8+kN7v3c7Xnesu1N+B1R/cb7au9sA9Ao1LOJrqMd/jXhN3JlwYlwyQs
 kmfCZSh3J7EK3v+6vZ31zjv7lTi3kRyqqwRN51HNwIoq73nNp+V1Eu5SzjkFiUVo
 8H3V2wkSdtJygXT/BI9QY3A6pm7S4whNor75Gqyr7C15B6teDaVEWB/Zc7XqyQwL
 6Xy//1GdPCPeaqkNKYmlRyzz9SxJ8lnt4vZIK6CSeuRtJAscIod1XV+yaO2aZxJQ
 HjBVOlsktm+Q8//svB+UtziQ0HSxUri388HEyNk4MIxHx8nWySBVzmsKPodw76pX
 TmrPABEBAAGJAR8EGAEIAAkFAkxPKloCGwwACgkQvf9PPd2tudwhDQgA47c2h7lT
 lSnwtFRqhRPM7jByR4TN9BvK0TEcrh5jzGyEgrfSZCymgE43WpYO8emOSfTA/b77
 OFiewH/w4g/xZqV6UNDjQ6PWQb6oLvxERlagBOZEh7yx+13uI/x0SFvcqPdXgPwy
 SqcHLMkYdy9IWJOXt6BPNAQ8st9qBX8ThDuLavbI0j6wrajQH9CtnbcAH3/tQ05w
 9wXyNU7mWW+zA6h6OWWMRAyKYYfjdZhIA5Z1OiH8M7RYACJheZKGNze6VHoJGh7e
 QFHAlBMWyDB9gMyXj4sapf3ruiJymvu9cQBSlPiOD6MT27IyOmO52rMakwbYdZdr
 viwiYtHal67xjrkBDQRMUZiOAQgAj6wYdH2nsYMkxnY82KyIHC8Eh4r9YyuTmyNr
 vwOtXgSapxePv2Efcypkni9tdE1LnuGI9V0kPr7oFq7KdLqHxGwsBe75jV/4krHO
 5K5NQyOtih/1a31KBOKi5JWU2nFqUz8AzUYtUX2VKFZXOshyQGx+rSFy83rawe5f
 6JjWL2j2XGvndfkoWRV2fs1spe0pmzUPsjG6CgqDScIWwDqmey7UShR1cbxH+Mt9
 th0sMuM6J6ZO9tXpGOzM4CXaMU/qe1AiQCX7Qve3A1NFCCOofBt3x6xBSJZOko3P
 765eYWHvdBSddm8csuzPOuwGN375ooltfuK4bCRoaUOxCtDKiwARAQABiQI+BBgB
 CAAJBQJMUZiOAhsCASkJEL3/Tz3drbncwF0gBBkBCAAGBQJMUZiOAAoJEMd3KaK9
 pL7TW8oH/RviVB9OmDURm/CKeCbva+7XACaJdHTgsWnEyPG0rjX6MhkCu6YYtlcS
 K7HsmC/U37gs+sQq/n/M7Zd2oMd1vnYINuiIxHDyxIMnLiWTEgNvjTXtFaFggewD
 BNGg2i+2h0I80hLVTHPBqbXKupIwtdFQEu39exF8jBsJTfPnjbeboxwFTuCdiiK4
 4CminqsZ5CLDWXHzCLqC0CyZkJ1Ka76K6iOhUr8Impxqeh/JW08gBu9pN4ccvCrJ
 On5Zyw8A0Es0cTRqqnsbcgBjoUY3+S6mEvYQPTfiEh0oWiJGw5dFIHkhpoJGxmn7
 6+lA3nvxgvK/9mdQU4jXoYGI8qlJ55EXygf/T8S6pvkSDB/jbB0dVjO0b7D7hG+I
 XYPwp00rZ8VHTxairtqqxTAU8MaXXnJFIm+owa7OYYB4ctPuIS7tW3fLJ/Q9P8bc
 h8hZb9pDa9Ybuo4wHnxrgmytDA7OV6qeJEAepP7VhQcjYXwNlDsNKlghie9EJliP
 WUuZRapKXcv1R3MpC7dNG3I8FVEY3K/+ZH8xj6dcHEBw1QXihFGNF5frTOLD3tIn
 QwW+B2+JdWg+7MpUdf8ewNkBGfRAYNnH7nGkd7QJ7XEY5ly92RtrZo0AJudKz1HY
 Hg5RdUX2Pi/RUOSZ9bZpZ4v8gKqhNgWpAxIl3lgK4Y3D66nmTAZxv4z7iLkBDQRM
 UZjfAQgAzVZU/brxCgrK6PgB3Q+Dvq7l9oHmh/Tx7wRUqB0whf1PDUQ/G1isZbH2
 1j/kkB/Xu4NDEk9HObcfwLJ/Px8AeKgzRe+MO2sK6A4mfsKli3VUYnMzRbYmmeRb
 KYqBgski+2Ne4BlOi+eRmzq/jNbql6TmFtePLYcYaxKtarxvvOP+bmcsPLT1eHMV
 kiU6s7xm6JpBhvv3mR1/EGuopMzgtxKQLTGO14yCbw6N6PplUFqFJee/TnNwkMCI
 ixFg8SW6C2uCnzstmTtGRu8IceYF1J2WZoTacna0O4oLjBB3gwWqyxKF5B9ytwhr
 1GARL007xvQ4o9iz4JIu652nTHI2lwARAQABiQEfBBgBCAAJBQJMUZjfAhsgAAoJ
 EL3/Tz3drbncp9QIALLfYa0pzg3hzMK5SlHl45r9K+oFpXtK3JvW8l2U4PCnMjQt
 Z29bdPk5n/aqO6IzwgQm3zQFhXK3M5o12Bhj0oZu1pzOY8DDiXMgR4czByqzrsFP
 dFUsLmkzDp/nlAqsjBoof5YnYk1YoiHaBwBpEQvU2N5UO4GVGsC6K1Osw15FX8aZ
 HS8WTOzRGe/ctlZRjFhgY8kyrRcvSPNrJlx7pentqqMMPwDQzp+ig6YECQuPTPkN
 JkUdQ8GUTwVpXcuGRIhrWNYjbzuWcam8ywaXmesESvIJ+XJqJQ3eqmy0sspGsiXZ
 w7zsUcXBoDCfj8IfFwAxKholDgQBBt1pQcCbgIk=
 =zoiI
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.21. 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.22. Artem Belevich <art@FreeBSD.org>

 pub   2048R/9ED4C836 2011-03-28
       Key fingerprint = 7400 D541 07ED 3DF3 3E97  F2D5 8BDF 101C 9ED4 C836
 uid                  Artem Belevich <artemb@gmail.com>
 uid                  Artem Belevich <art@freebsd.org>
 sub   2048R/55B0E4EB 2011-03-28

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 yCBkjpo4Ly8FcmqW800W8yVAArhNUCID
 =IDLa
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.23. 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.24. 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.25. Tim Bishop <tdb@FreeBSD.org>

 pub   4096R/FDF38D55 2013-08-07 [expires: 2015-08-07]
       Key fingerprint = 4BD9 5F90 8A50 40E8 D26C  D681 6C22 6B37 FDF3 8D55
 uid                  Tim Bishop <tim@bishnet.net>
 uid                  Tim Bishop <T.D.Bishop@kent.ac.uk>
 uid                  Tim Bishop <tdb@FreeBSD.org>
 uid                  Tim Bishop <tdb@i-scream.org>
 sub   4096R/25CEA948 2013-08-07 [expires: 2015-08-07]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 3LmEJEI19hT39nIrQGIAzj8zVP/tHw==
 =s4nE
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.26. Grzegorz Blach <gblach@FreeBSD.org>

 pub   2048R/D25B0682 2012-11-03 [expires: 2014-11-03]
       Key fingerprint = 225B 941C A886 05C6 1C87  9C03 DE72 593D D25B 0682
 uid                  Grzegorz Blach <gblach@FreeBSD.org>
 sub   2048R/5DE28719 2012-11-03 [expires: 2014-11-03]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQENBFCVjegBCACjZOtHgTAG3s3XOVJt1VVM3LZTKKx0K5Aip1c4TDetBTkNIPCb
 V9UiflZUGv9v6OEF0O5rRwS6WwTLxjhuA9io9mSBWuCfZywsRSShpZQbEMZq5/F+
 OgHOMav3Gc+ITwvM/nFPtU2OHj1h3t4n6IBbuVfPh4Yb9TJsAWQlUchWAOBj7CG0
 oqfR2PuDbYFtXNnGVrpZZuxxBI9onvY0n5w2gmtmO9+GFQ8Ob9K6EI/jwqPVGSQK
 Tch14aaeRF5Uh+Ua7UDXKyZFBJUuGEvtHcn7eDNFEs4SY4tW7he6VGiCwr3gU3pZ
 CdQwEUDwXkBm/JZ8JjsDOq8NVtTX3d0mViTRABEBAAG0I0dyemVnb3J6IEJsYWNo
 IDxnYmxhY2hARnJlZUJTRC5vcmc+iQE+BBMBAgAoBQJQlY3oAhsDBQkDwmcABgsJ
 CAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRDeclk90lsGgt6gB/4vyw2faWL5MntH
 grGiwqdeCdm1x++zGjxrs30RLaHPmSVXYA/bQIBbnVs/kR2wRpCO9fxl9xQ5bBnZ
 vHwK9+hbGqli/eqWuvgwRYmkIAd/xLVN8Ffyj73RXRead6bmpOQ8e2Osabttyccc
 Un4V8OZptpIYLbdnVGsiB147GYnooPv5uJ6RD+Wz+iSORFzcFEA6VD0Ft6vxe1on
 +dBxpHO8Np1wID8JH3Gl6oGfpYcPsp1QVknMZ197+94QNHgN23xzDVuKkbjFb1Du
 N7SegRdm1wwhF0QlqIWPIQT8jXY7WX1NWV6ns8gOUXChJxGMPRsOxCuhQJp8crsS
 q32CqqDmuQENBFCVjegBCAC56QSMFVZjklZSA9mxNm6GZyBcUoAYISM2hg4QSN92
 /8CY84TXiAB9x8+KoYeVukMu5B/2BhNW4bWA/3GwMk0tn1s2ZEVFz9ZbTBPmTA1Z
 x1wZOKdr4Y5feOO73ouBW1cyR4AgbYEsQtllfb3yQ2CukouEJNjesDT+zDAJnIS9
 JG+1MGngMIxddKasNfBliiN0iNNbGEKpFvcNpTBnIpbQ55/yMMJ9CZmey/1HFKBO
 setIET7f1Z3f2tUoxku73QhwfwBlrw269S4Aeuvk80bZa1YZLoQiZ5B2WqFz4V4H
 uxk9WgqOQ/gJEFCOYkpLjSctCuFQnLefsV44gveB+LU7ABEBAAGJASUEGAECAA8F
 AlCVjegCGwwFCQPCZwAACgkQ3nJZPdJbBoLnwwf/Z8bFOlDaLWkCP4K8Uz6kHGno
 nvRPc6l76aJhqDPceEiDU1DumjTSokQNj2i9jKqhM/b2cPLIwWbYbkypLer9R00o
 AJcM1i2nkZXRLRMIFfQTZUmXMSZvZ5NG+MyiSAI9zpfw/psgUUad6mDUZafYVWez
 KnCFybbJ2TwcFzFcHxi4desKNnrh/NTIt7XyFVof9Wkz8Zt9cGGf/BxQPA9oPbvd
 b8wN9Yjegb4OunNmHc309cuVCktSlr7u4kdMUn0LuZmi4xZj2XY0+GuHErD49G1b
 x4+G59TE5S619vSAcdjtmvXDvV8no1Y9ENp/blCkeKcGBoWZKc6dHSw3RsMawA==
 =/8wY
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.27. 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.28. Warren Block <wblock@FreeBSD.org>

 pub   2048R/A1F360A3 2011-09-14
       Key fingerprint = 3A44 4DEC B304 5191 8A41  C317 5117 4BB6 A1F3 60A3
 uid                  Warren Block <wblock@FreeBSD.org>
 uid                  Warren Block <wblock@wonkity.com>
 sub   2048R/51F483F3 2011-09-14

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =Hoyp
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.29. 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.30. Zbigniew Bodek <zbb@FreeBSD.org>

 pub   2048R/C32C9921 2013-09-04 [expires: 2018-09-03]
       Key fingerprint = B3EF DAFC C938 03EE 7B1B  5748 0EBE 8E50 C32C 9921
 uid                  Zbigniew Bodek <zbb@FreeBSD.org>
 sub   2048R/62B40108 2013-09-04 [expires: 2018-09-03]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQENBFInRrUBCAChJZzXWdBVIc74MEQG4ZlWH12O/+3tVwLwJQvIFFrzfIHVB7B6
 GWvvZEO4wJrYhM62AkFHDM0yQjVn5ZiX48Hft3yrfcJ74e/kU4HmXrCjojZdYT5z
 irGokl5O5bbNnn75/U9j92omq3FQEhh7ew1Bdob6pGTePJ7J+wJxAfmLA9e2TvMN
 csvsyG7TDc4EbyKlUcvoxPWoJRVWZ8RaC0IO51PtaLUXtKzDiQYAvGKBsaPc1RDP
 BkT0xsjKH6Y2I/0w5YYlFarIIVXNyPZpBp6wN7AYS/9nyrxkRsCgcVWTE35ED7Iq
 ulUgxcRxIfAGm40rdF0WgkSL5TvCmeBKfgDZABEBAAG0IFpiaWduaWV3IEJvZGVr
 IDx6YmJARnJlZUJTRC5vcmc+iQE+BBMBAgAoBQJSJ0a1AhsDBQkJZgGABgsJCAcD
 AgYVCAIJCgsEFgIDAQIeAQIXgAAKCRAOvo5QwyyZIWeSB/0Vcrhoq5YKX7oQvhHF
 BgY5IrUs1hWhEtBUmMcIyQuCCK3LApcG1P5XRkZGyMWpMdfyWjTxojDhzjtfK2UL
 UmndpRFZ935dXreLQ1zRjtw8LwB4R6v6gwj197Nk3mTXGFdrGKZG3Anr33GwhYic
 xPdlLtrqBXmedXLW86JdoYIbgb5gt0vlwjqrlr/w0d193DPbvZOw46iNH6CpPSS6
 boCyJPAnMWEOj7QWmxwbBRICEJRo4b5iULhQNB8eUiZvN69uowuaWP6oD+cF7gO1
 honULx2MQYoZJlKTaV1iRu75CVrw0YpqJkRajyGS42UcjJJPjegKwEKq2DWGdEN7
 bTzcuQENBFInRrUBCADMACHf54vtGP8w7vj+xNjSV8JYAaMwmU4LSUVz9hsR0aVs
 +JxZMSGBMLpxCiu+1a7kAAWhnfUeL3uSooY09GUAgsu7EJI2DbZtpbg8D8iGwWor
 TDpgWs/C3wK0cqFQ0cMGGB3gML4KUyic1E/KLApkS6p30nnjHW+wKoY/6LWfoBgT
 9rQ9CqRfWUKZeC/Uma/MsF9Eml/he9ICuDbQY7gw2tqL9MKt0NXnkFCSb/BWQY+C
 MosbP6PSlU8KC7l1VOP0+MFsKMmeWVihsVc9IRnEwrmd+UXH/UPrtY79VHprfRxw
 ze8QBkkPmc0foc8YoBGVIwcmdE2z9Wg3Or4SNgeTABEBAAGJASUEGAECAA8FAlIn
 RrUCGwwFCQlmAYAACgkQDr6OUMMsmSHxDAf/VIVLZ9pF699WHbXiv4LwApZUB0IM
 Twh7r0Ia4JKWV+fH3EhKEgIyu5LKuIJxctvqKgzPzeySZY18F8K8cKmFbrCuhXVI
 0ma3uirjBMb8h5c3EMAXCjFBrjOX2Q9BTDLctcLOMgMKIIAQVgyYNkp32nQZiieA
 6HQV+bQ9EXKTrHLSVfKCix3C8ttkKh1B1BC2uf+brgLLohBBo5WTNuivOprYLOGl
 1UcFu+pokvgnBkZjigGIGY5wjDZfn8/HZPoR9e/g/B0A8g6evcJLdKyYnSMQ5EvZ
 w3gJYB1YnEoadKZRp5/huQLePB1s4ggt0yu2B5rRNXsJrSEjc/KCzXZo5w==
 =x0i8
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.31. Roman Bogorodskiy <novel@FreeBSD.org>

 pub   2048R/08C2226A 2010-12-03
       Key fingerprint = 8BA4 DF2A D14F 99B6 37E0  0070 C96D 5FFE 08C2 226A
 uid                  Roman Bogorodskiy <bogorodskiy@gmail.com>
 uid                  Roman Bogorodskiy <novel@FreeBSD.org>
 uid                  Roman Bogorodskiy <rbogorodskiy@apache.org>
 uid                  Roman Bogorodskiy <rbogorodskiy@griddynamics.com>
 sub   2048R/EC4ED237 2010-12-03

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQENBEz5PvIBCADEywRgDxobBqM8Ue21Jh2U7HgS4j5gzACCKF6H++QcS0ohTbw1
 HQXsnVMNAwp3orG+ksukxKyxOFVnf2oWsoQ+ZKg9+jKg0oU2fnTgsqlVjTHrWHXR
 Gp51w+swR4cQQMdO/v696KGD6igT/PVXUCliPl/SaSy3CMxQnMJiNVcUCf3F9Y5D
 vuceManrZJ43fX6ztkHuhyoGxH/AWGNU2UkZO6TKYo7zJ1TNG437gDTyKy3O5gtF
 PTqJ5OknqJPitoqLXBksjCwq3iyDmqKkppSi8JO2Su27pgwmNfRWo8r4jnLVpEpH
 eCd7Fu/TimB2McIw0mJgN4tveZ+u/8RpAXQfABEBAAG0KVJvbWFuIEJvZ29yb2Rz
 a2l5IDxib2dvcm9kc2tpeUBnbWFpbC5jb20+iQE7BBMBAgAlAhsDBgsJCAcDAgYV
 CAIJCgsEFgIDAQIeAQIXgAUCTPlApAIZAQAKCRDJbV/+CMIiaj70CACwDlzGw16o
 /Ucu1vtK5IOyIhChX3hHSp0MgDYcw7hVpmSvOnjIxgZfXHRlRVU0fvI18HaeHjQT
 iQ5MtEBnrUoWKFzMDFp8+vJ/0bDtDRIjIRMDimIxVdhHddPsdtzVLDJjbjG0TG29
 bNp8dU5eUyfmtxOeEckz198WrkKVc2l7Ynh2n2KacslK86nO/KQQcHSj59Builns
 d7GBdLGZauq8oqowM7n2NoMRWDkX2TqVQyL+a6diD29KahcvF9wXNoTw8vVox/gP
 gUdmclhktS8ybV8eSd8wT+4lT+s4Fnv1Df3yMeGhMHYkCyaUgdgW+4mE+olxsGZs
 PdrCevva6DsMtCVSb21hbiBCb2dvcm9kc2tpeSA8bm92ZWxARnJlZUJTRC5vcmc+
 iQE4BBMBAgAiBQJM+T91AhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRDJ
 bV/+CMIiajt2CACNuGoZu99U0gubBgNhrmAg1VuZTGTpi0PtqQ4i1+K3nWdne/di
 lpgD6PKNj2IWH9CRQpQ9XnGw1HnSFgc1YjNXMNPCF7zwkjR5rWKH0OJ8zkK/bpGl
 KymWLaIxFEaCUZpyuDWJBLXu8u680RTU8+6SDY1iDB7Wu6OZ4OIrVCPEpgLgrsGq
 eqozWHyS4L8Lqa717lmRffv78fRxWh9AdetpL6EG2IMJ4SyCTOTveT1H/ylMZtiq
 Il169YHlNut56Dr+Hu1BlJ/1YqWPFbQEyhRfuJKxt2XFyQDC3CK/9eVDDZfiHJGl
 G2yCxfBsa4KOF5COX3augYjVG8fjO2LIYBkEtCtSb21hbiBCb2dvcm9kc2tpeSA8
 cmJvZ29yb2Rza2l5QGFwYWNoZS5vcmc+iQE4BBMBAgAiBQJM+T+kAhsDBgsJCAcD
 AgYVCAIJCgsEFgIDAQIeAQIXgAAKCRDJbV/+CMIiahpBCADDMiQVoIId4eKs+zn3
 Et4u6x7uqXau07Oaa+Piyu80VY7+D8zZlccZb+fwJzIg/AyLnpjoJQWJbnbaktrM
 4o6Mz6inO0p8jdH5IaFOJezl1sZcQNWDs59zGoIHdgTd9/r2KmbKxLphXsxrAfZ5
 molQvKpbOTCit44i9Db5jrVbUwA+AEJm/YNDDB0e2kvQ44YDFRdG53erOIcJ513u
 gtWFj0FKVhYIQ7s+lZm5nELc0gEvI110hu0VOZDe5gFwZxqQikNjzj+7dmg9Un16
 WYufSXxNV4ZrUKZfstGUBJh8WM0HJXZmdo45VCMcK9JanuFsM8r4KiI2YtsLrlnI
 jftbtDFSb21hbiBCb2dvcm9kc2tpeSA8cmJvZ29yb2Rza2l5QGdyaWRkeW5hbWlj
 cy5jb20+iQE4BBMBAgAiBQJM+T/EAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIX
 gAAKCRDJbV/+CMIialYSB/9nudV91Z1EpEZDCHNnndusvZznvd1OK5bKm0bBEUnj
 coYk5LgCJ7pxJF0vhGFA1Nwd/b8lH7e1E/G/WvAQT80oEnFwVPs1IVD5LNBcsQUT
 YoMuasJt/4w1LCmCN03DuoN2erPHl6TawPr0Jd4hdP8yTwPMlG0MSZCHYA4iwqub
 c2aKOoG0WEwazocyfgidsiU2H8kY7UtY22Gw0baOO2ZfBx5GKb4gT3LIt4HDBZLW
 OeCtvkwgf7OIhN9vaPpxIlHC/eiCxPiqacyChHlc2GrrbVka+siKBx9kcTtIdKAB
 ObqhAGSmOmcWblfmIyfog9o5Ay+/yKebOBwhNnM5zRhuuQENBEz5PvIBCAC/11gz
 Xp0sE8pczDkJ14UmZRwlx1HsQemL+D+x5B2hBvBZpgjBUEKb3jp09za7LgVpkwck
 Rs57kKWbtXmVJFlevT5Efu2nh+PhjcA2yaZeekLrMke3/AaeXg4GATCc5wyW22c1
 v+Yyn8p5nblrmwX6Sdv3LegPGZjpVvx74lviVOEwqZ7AsO2OaN/Hnb5jjudLDQIp
 EMU82A+8tVMXrINe963ubG35S419TrijH92OiWHLk4QxtW6dGfZFtr/Rn5LibIa/
 x/mS9/uaps2fOMIT2E2joC654nyRTgHRpaOGJoJALH+nc8CaeWnN5vXpaGjMIgHz
 6OATngfCbRpyRTXDABEBAAGJAR8EGAECAAkFAkz5PvICGwwACgkQyW1f/gjCImr4
 Pwf+KIIYsfBv2ZL87HoUJWI6InAljXNduzh5Z1LBwqRFQILEdKbRTxHRCQFbuQXz
 XuoG9Sm+SQJuWEapSgfVc5AjCLwkS6fe5POYKZi+bJVg+WG9phyA3ahkomevQeN9
 RiMmoUHLyTT5pJcmkUemjKOR68L0sSQxZSa6E1jymn6eV8G4WQIrgxkbG0+n8jlL
 Gh45Z32XSPRcvLmP/R24m94y4hRcFf7+zi/8jsWsLhhQeKXLekTYkxl9KFnGTG1Q
 Awe4IQFbQ3JTtPucKIc5Nhc7psmvbLrRLIY47b+5Y9HaSepcm+7p4MNlsOE1Tj0G
 at3c73i8nATVo8CdE9D1rxmG3A==
 =Iduw
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.32. Renato Botelho <garga@FreeBSD.org>

 pub   4096R/9F625790 2012-11-28 [expires: 2017-11-27]
       Key fingerprint = E3DA 9B2A 6160 99CB 4B31  7641 F1F0 E7A1 9F62 5790
 uid                  Renato Botelho (FreeBSD) <garga@FreeBSD.org>
 uid                  Renato Botelho (Personal) <rbgarga@gmail.com>
 uid                  Renato Botelho (FreeBSD) <garga.bsd@gmail.com>
 sub   4096R/473CC82A 2012-11-28 [expires: 2017-11-27]

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Comment: GPGTools - http://gpgtools.org

 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
 =jV+3
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.33. 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.34. Sofian Brabez <sbz@FreeBSD.org>

 pub   1024D/2487E57E 2011-03-15 [expires: 2016-03-14]
       Key fingerprint = 05BA DC7E F628 DE3F B241  BFBB 7363 51F4 2487 E57E
 uid                  Sofian Brabez <sbrabez@gmail.com>
 uid                  Sofian Brabez <sbz@FreeBSD.org>
 uid                  Sofian Brabez <sbz@6dev.net>

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBE1/aRgRBAC9Nx9U/fn59g14PQ11t3prLTwrfzVYbEtPHWCNs0YDcB6G5M8f
 8OpsPxousOkEy7xMYd8Xfzps9OSppH6Jwd/+GEiwaAT5G4tJ3X17aak/9fUUsir0
 g+NohLUcflYszZlzLG01a8VH3AkDZgwkS/93IuQxPTmSX1ao56oHQvJ0rwCg2T3s
 +GgcLz5A+NJZ5jY4lv+R/OkD/2BPrDN6+B+e1znlnl8Nk0N0fmLjvYjgkJSA37E/
 zAUh7mtpQroSo5vdy0/ODbbLL/JmcS52I9LOC/aakykSd7aS1Lw5vDvhG+bLWB/H
 eYWC35PtI08XnFDaKaycu0TnayrggEOpNJnMfOSviGMsvbnksas03RCFeAd63APg
 kXafBAC4x7c6iEsUmpVTn60mOTf4OVGGA8CN00HpyXfDgb2exuLfwAn34qNaNcd+
 yVU1Hu3WPgQzQbTorqwi7zmjn80gmpYJjAW67zeeY9QLnuNdD93uJOIscjYltrl9
 Ft5+lefMyTCb04Uc8lLAvoiZ+T7G/uyyRZnJ/5vzgr7xIeCPQLQhU29maWFuIEJy
 YWJleiA8c2JyYWJlekBnbWFpbC5jb20+iGsEExECACsCGwMGCwkIBwMCBhUIAgkK
 CwQWAgMBAh4BAheAAhkBBQJPcussBQkJZyyUAAoJEHNjUfQkh+V+oTEAniEEpQyD
 8sYsmOPJA9Kj3rlGdHoqAJ40pp9l42h+6HsOfzWmNXEOfA0g4bQfU29maWFuIEJy
 YWJleiA8c2J6QEZyZWVCU0Qub3JnPohoBBMRAgAoAhsDBgsJCAcDAgYVCAIJCgsE
 FgIDAQIeAQIXgAUCT3LrLwUJCWcslAAKCRBzY1H0JIflfkaDAJ9HOCFfC7uBDucx
 DraxT8X+3GNcbwCg1tl7zbIuEJj+7x6TkNNqR/6la/G0HFNvZmlhbiBCcmFiZXog
 PHNiekA2ZGV2Lm5ldD6IaAQTEQIAKAIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgEC
 F4AFAk9y6y8FCQlnLJQACgkQc2NR9CSH5X6FTACgkK8Gxmb4hqgmk/lvrHqylgei
 tbEAniRE2s/taMog7hd/8sgTn5w4yYyluQENBE1/aRgQBACNIAMTtiB/KjSfsFIb
 n2vc4284SvwPNhdO0RWj0n7shgf6Y7F13nY/CbOFUPz1AI1SgJdRxGJOcfwVS3Dh
 3YisqgGpnY5bdc5TDo2XzqWF+JgkePKTfvTnP3P2sYzGC+oMlAQkzZaQl8rBRvXe
 vpxNZIW6EpGEsBYBnxd2Cl97mwADBgP+PcBxmCc4bosldea851AiCkHyMBR0f/0I
 ldbawynpYFOwZVytmrWvuWcp86lnsPEkmBuOjBbK5WgNJzIO2XdmtaNuN4Ll9dHr
 AEcLFDMSerNkPAvkzMzNsu6L5ZVrBtXQr6omN8DLcau+6uRXq3wZrQZ2o97/pByP
 nmxopGDMt16ITwQYEQIADwUCTX9pGAIbDAUJAeEzgAAKCRBzY1H0JIflfhBRAKCu
 puEkAZ1svXS/c8Ei8FS70bQIlgCg188vwbrylTHwyH6aIlwU2lIqVXA=
 =4ffD
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.35. Edson Brandi <ebrandi@FreeBSD.org>

 pub   3072R/FFD3035B 2012-11-26 [expires: 2017-11-25]
       Key fingerprint = 443B 5363 564F 06C3 EA54  9482 209E 9B54 FFD3 035B
 uid                  Edson Brandi <ebrandi@FreeBSD.org>
 uid                  Edson Brandi <ebrandi@fugspbr.org>
 uid                  Edson Brandi <ebrandi@ebrandi.eti.br>
 uid                  Edson Brandi <edson.brandi@gmail.com>
 uid                  Edson Brandi <ebrandi@primeirospassos.org>
 uid                  Edson Brandi <ebrandi@gmail.com>
 uid                  Edson Brandi <ebrandi@fug.com.br>
 uid                  Edson Brandi <contato@edsonbrandi.com>
 uid                  Edson Brandi (Born 1977-08-14 in S. S. DA GRAMA, SP - Brazil)
 sub   3072R/A34B8175 2012-11-26 [expires: 2013-11-26]
 sub   3072R/4EB0E0EA 2012-11-26 [expires: 2013-11-26]
 sub   3072R/89917E73 2012-11-26 [expires: 2013-11-26]

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Comment: GPGTools - http://gpgtools.org

 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
 =aO2j
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.36. 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.37. 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.38. 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.39. 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.40. 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.41. Diane Bruce <db@FreeBSD.org>

 pub   2048R/8E9CAA7B 2012-05-16
       Key fingerprint = 8B08 E022 705D 0083 64C4  5E60 5148 0C74 8E9C AA7B
 uid                  Diane Bruce <db@db.net>
 uid                  Diane Bruce <db@FreeBSD.org>
 sub   2048R/932E5985 2012-05-16

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =cCnT
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.42. Christian Bru:ffer <brueffer@FreeBSD.org>

 pub   4096R/A2E0582D3A67DC36 2013-09-23 [expires: 2018-10-23]
       Key fingerprint = 04D7 4375 648A B688 F821  57D2 A2E0 582D 3A67 DC36
 uid                          Christian Brueffer <christian@brueffer.de>
 uid                          Christian Brueffer <brueffer@FreeBSD.org>
 uid                          Christian Brueffer <christian.brueffer@med.lu.se>
 sub   4096R/78C8369847E16487 2013-09-23 [expires: 2018-10-23]


 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 IkJZuKZ+flJz0Z8X
 =PtaO
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.43. 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.44. Sean Bruno <sbruno@FreeBSD.org>

 pub   2048R/08E81687 2012-10-15
       Key fingerprint = B9F9 138F 349C D3B2 2AA4  1398 1909 45DC 08E8 1687
 uid                  Sean Bruno (clusteradm and developer key) <sbruno@freebsd.org>
 sub   2048R/BCC23981 2012-10-15

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQENBFB8Jw0BCACYRC4xwboUcSZTAMO941WSdPDQoqefN9m6mbel9JwskGlCGnfO
 +H+AIZUW0eKzG8tywaXhcqoMrW6Ie9wOce7qF0+W3DnFsWk6XRf2guHAu5aqiD5h
 Q/0pMrgQZ+yiBsvqKZr5A0IDscm6v0Hu3brzyoLdKqLGHr1vSIZNv8d2irqjDtoZ
 6y3EdDJXpMpUsagHdTl55uWZkkwLRQY83KLwemjU4qF2lxozHmjhD3dKTs8+NhQe
 K+0vJDaPyjhARDrTl1HBwlbqqy5tmh8QeNkgltW3tnSzC3d9xqU1cDcnTkgGJtkH
 G99/5/4WG/wLcAORjm/t7igvq/2shWnmhzGNABEBAAG0PlNlYW4gQnJ1bm8gKGNs
 dXN0ZXJhZG0gYW5kIGRldmVsb3BlciBrZXkpIDxzYnJ1bm9AZnJlZWJzZC5vcmc+
 iQE4BBMBAgAiBQJQfCcNAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRAZ
 CUXcCOgWh2jwB/9WEMzPw/xIcn47xg3uyawWiY8XZWvhrUUNdACzLw9xpNhSIYf1
 rfbYdW9IW1wWVXyiGOunhLf7eylhdatQkjNPHH3rCATQVwfQbk/ONMP3OVy9hEhW
 SF1r1aWQZsdSEwvQNF4jlQ9un45YcgS8AqfnbRUgOhMfyaCk2f26sfZlsqcZnFto
 /aBx53hHT82+2KckvWBySOO58EKMVHV2MtuCQGUVikKKnNdWn617tyMhjcNd/UFL
 eZ9le0RQVGKjhCGP/o7TKDyHd68CVeUb4SKVQmIo5AnvNbGB7ZlmgsO5+xsq7PEg
 4mzP65ivXhqhvAYek8zWELWQUlqjBbDr9MP3uQENBFB8Jw0BCAD8kd0hCt9bhAAF
 fS0vY7mt5n/r0AlP2mQ4H+/fj3AxY1v/zF8qyzDA1JKzgUUQSAA10J8F/AJFtlXi
 c/T4kVEIBMxW6OLv2mhaEHXM4Sxgoro91xk9VXZptsCX6qcqlrTaAKAhs2QlfepO
 dxeG1LI0Jr6gunzV7+geVEY4apDPcVzkA+hZruM2BQ31MsSSOaJG4CxfY4OE1Hzw
 d+/pYrqzBoog2/2G2N7mcLuGtfjp5cN4K7/X14b2fqyn/HUvQA6VbuCW5zWgO5Yi
 viEv6alhU1StaF30qLr0zh25U6P0PIho5L9nefO1NXTiuuZAiJEmjlXD5MRvM9gO
 e+PWRdkbABEBAAGJAR8EGAECAAkFAlB8Jw0CGwwACgkQGQlF3AjoFof9rQf/UKgT
 03FSToSRn2VeIBost9JIuiYiOiTnT+7kyRxNkhAYS9vSWmicTXvHGxl7TzSyB4qN
 3TzltJOXvjiWeZ4kymt/1EiIIh3gz4QHjtB/2sJSTDTLacx13ZlM+Mk89sAnzMIe
 z11ENGFXFGcBQ4kTxJqenZwy1TZ2xQQoU30Yx9tHq/Nhlva+HUzL5y+MNsZefyN0
 BK4THdSDa1R1d5NikagUIknxt/ildP0GA2sUDLc91+dIbvqRMHXfteTRMGgu3EUy
 U+n4GrVj3+u3Ex1I3KJJplKYhKa5zQ5uNIbqL2ntOldwO9HiaI8Xxb16Xqv7kvlH
 IPDYZOY+KgLZ7L/TOg==
 =egdB
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.45. Ruslan Bukin <br@FreeBSD.org>

 pub   2048R/10F5E66E 2013-09-04
       Key fingerprint = 57DF DADB 15FE EF7A 14C9  1DF3 ABF4 AFEB 10F5 E66E
 uid                  Ruslan Bukin <br@freebsd.org>
 sub   2048R/A33057CA 2013-09-04

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQENBFIm+QEBCADVjtwGKebX8ovnb5tNqb8zkiepjvBjJyZNvbazhIccNmn0ZWLi
 i6T/q/kUJsLEMIPr9wK/WdUQZRXcKpnmUB6otw0VDsXKhqMa89x1rk444YSfsSzO
 lK9dRmJIVtXUZHGesQfMHoBtFJR9MGDhKnvgsRpDwV4X4SCioSAAmceSyKTa8mac
 BBkjmHVWpFczqYE2HWmVjCv9i4Wtn26R6XvFSE9PheP1l77GJTrIKY5XlB4JhtQW
 OrxdtWxPhbNiHfqts7psIIOMDo/qMUvv3Qun/jUV/HFpZ4An5mw/E0vCWrLDTnRH
 ByLqS7G1/Zg7tiMoNkNxyWqYDRuedsO2B0LbABEBAAG0HVJ1c2xhbiBCdWtpbiA8
 YnJAZnJlZWJzZC5vcmc+iQE5BBMBAgAjBQJSJvkBAhsDBwsJCAcDAgEGFQgCCQoL
 BBYCAwECHgECF4AACgkQq/Sv6xD15m6STwgAjzr0ThvhcsD6rFbGUMz1EMeFhlBQ
 /z2A7rD1KlKorQxUOQ9J4gDOi40Aa+yRSzfU+6drsxcPJnOvRg52TZfCs8e0O4j5
 GwZh2Eo9AEyWLXTI5+sQ7ZZdFZuwpaQ53ZEj2r3OGpkV/41xYQaiQ9WoLyrmA9xa
 Y7PqRGj9TajrViuVMVwIEI5ZnYiOW7G2UMWPOWOTt04Ici6i1TJE3a4lCDxb4KKH
 fwWCTm3QYWFhNSHvxDmtVvqny+krx+ZrxF6hEnapbPKgs1/CR0K1pRv+wPFIDQu8
 3SHjXkq7j3HJks8+0LfkIl6ecT7FPEeYDyem4tFABqL/LEpopzs67qqdirkBDQRS
 JvkBAQgA6fDUJPMXKqS+ntQzZULuurL6ju14lLkdNWI7apYubEvnfSPIA1nXfcPr
 +jiSFQex0ME1OhRkbiVfF3E5vkrV0VQ/8j7srnkyXIeOohObvVQg3vjBxnzNcpDt
 ynaIr9NzwGMuxu1Vql8/k7OSVjQNf6ee5vxI59isRrxSTIFpCdIMn10b1gUa0cbo
 Bh5fiZMwH/b+impqn6ix3j+72/JE+DB2djBDhyQY1mTXwEaxCJzFA2GMKda3aRuh
 iK+DyaUBTPDwZwWzjGwNtU1iIH+CaW41c9uNtWLPk0OX1PlFANT4W3NoiRlkZ71n
 0n5QKza1WKBr6D55DZ/bOEXyK+l08QARAQABiQEfBBgBAgAJBQJSJvkBAhsMAAoJ
 EKv0r+sQ9eZuK94H/3a4FRjRpW96YtSmyd6StzBItGT0ukOpuDb4fNuXkVrdcx1j
 elf7Z8SdtaVfgxcutYK100ef27XN6J/O4T3iPfHz/+FStZ20gvJixlJ1iZlgFTvW
 nBNzbfH272nUPfwzTHnCUTb3bmeNlT8/ndq2AH3GtqUuxAfPyLepJp0pFQ56asNk
 IHDH2wSlQf9/4JSAu4JsvePwO7mFT1NhpDqe177qGovj0zgxixp7xz9ZBML8Jrax
 7KMY+92j4sn8ErcQzwIesdyp3/4gz+H7EuqUrg4VwJTc/QZk4irevp20A0rexXNd
 biC17sFJ06rowI0k5zzeFg910ujHQUwL4p6qTC8=
 =ysoS
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.46. 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.47. 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.48. Jayachandran C. <jchandra@FreeBSD.org>

 pub   1024D/3316E465 2010-05-19
       Key fingerprint = 320B DB08 4FE3 BCFD 60AF  E4DB F486 015F 3316 E465
 uid                  Jayachandran C. <jchandra@freebsd.org>
 sub   2048g/1F7755F9 2010-05-19

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEv0XOgRBAC9mFTzSKBVumlXJwWdkt7HvSRKo64Zs7BO/tYzt4dWVIzWwUC/
 Z/Ns/X3Plb+sXp7mcvs+oLKiHw3qrRT5wPbef3V9hFfZiKdOfmeOv5fx1sIXejBC
 Cqq5ocAoq0bqf1S9i7vnuqfyH+9SRPOv0O6EnKCU+7sVMFXAuxDhm1+u/wCgwRj3
 tNFbsptDZ/K5SMLM44ldK98EAKpSRVSMHrI/nxXvrNcPhedsC9MXyMOYE/q1la5k
 b+qNrD9QCJRwbz1LvoJGeOzEmtmZ3afT048Uks+RE03w+BhqJnuFgpAKqA39Fop0
 MBvDuZ7Wy3iigebX35PAQ3h4FhwDTzsu9aEg2Iv/WksDqluQJcMkt8sn5NffhZho
 z726A/0dPVvHy0dart8LHKfou07u8y5/950UVITjGlQJ3RGvwQV7aPEjgpJQlQqR
 BMr3TOOJ3YGHY6xkaJk1fijb8MpSlihIr+Lyvhu8xVb3GCrPCh4Bff8fO35+wpBO
 62p09dL4mJcD1mELJhMAMPpqXAXD2Ho76/RQ1yZlmH/xyAPTg7QmSmF5YWNoYW5k
 cmFuIEMuIDxqY2hhbmRyYUBmcmVlYnNkLm9yZz6IYAQTEQIAIAUCS/Rc6AIbAwYL
 CQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEPSGAV8zFuRlnKEAoKcsMnIQFgek8hHO
 6a5pFO2DBto9AJ9GLTOc3OBdX1oFFQh/rsRYKPkMIbkCDQRL9FzoEAgAk8FWde22
 yzxXI/qWRo+o6Ptm9Hae4reggr0boqeQCnV4ksLd01s7tJoaGlogi9OTLrq+OV4E
 CvkcKKHSltijMsITEwF0BwfrR1C1I59yUYABtGkw6f3bBApHNcDhl6dpcHymP8CM
 PiBrx5s63ja/CAKFaScUCUe7A5vYK91BwAJJ/IK9UONU9TUyimRRv2C86rQWV15N
 R8WE55iMdmFsu/Rkv5P3IPNzaIjcvY19iJOuxfeDTiKDp9j1QWwUOShrAHXa/Cra
 JvcNo4Iu3VeLKpaFW5zBvIbfQCa8LfRwfLPSEM+tCk9nH5zXSvwf6dDWvN66oo1j
 p2eAjrUEFnfqOwADBQf/VGVl9qx/d8NMjhMdaV6qvq8DfHy4I/BXQFERgKkFfrAd
 n1oGEJCT1fHtJNN79nCbyZ2dlfKqr6+Xcdy7RKInGHs9DwK4KfVU5dA5L3f81wZs
 OoMNuk64kjTAN867PzWdv7o+2seSa/9phsWEpCD+9qtRLiOcIZ8xeoecBS3iS3mp
 aT1HZuMLFMm8XEJSA4l8QfupBigr7Gq8z0ChwfMCZsVlVx3MtrTmuVlPnbJ4g0ku
 28MACNiHkbfW5A7XhJ8re+Rc83so8ak26mO0FQeh5qsiVj4z/pmFGrYmeH94CLr+
 bC+1nwkbAFxjZrRuFzct1y+oe3MSU0UUKTXUikovr4hJBBgRAgAJBQJL9FzoAhsM
 AAoJEPSGAV8zFuRlI3kAoI9Pl1nGD/sEvV9aGkLfAK7v9A9JAKC8ReU1wrQlM3z9
 oA5JjxumuE274w==
 =kEVt
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.49. 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.50. 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.51. Pietro Cerutti <gahr@FreeBSD.org>

 pub   4096R/A192089E 2013-09-23 [expires: 2018-09-22]
       Key fingerprint = DA6D E106 A5B8 54B8 5DD8  6D49 ADD0 D38E A192 089E
 uid                  Pietro Cerutti <gahr@gahr.ch>
 uid                  Pietro Cerutti (The FreeBSD Project) <gahr@FreeBSD.org>
 uid                  Pietro Cerutti (Medacta International) <cerutti@medacta.ch>
 sub   4096R/408BA46A 2013-09-23 [expires: 2018-09-22]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 0CiP9PEfnns=
 =fOaQ
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.52. 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.53. 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.54. 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

 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
 =cJgh
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.55. Jonathan Anderson <jonathan@FreeBSD.org>

 pub   1024D/E3BBCA48 2006-06-17
       Key fingerprint = D7C6 9096 874F 707E 48F8  FAB7 22A6 6E53 E3BB CA48
 uid                  Jonathan Anderson <jonathan@FreeBSD.org>
 uid                  Jonathan Anderson <jonathan.anderson@ieee.org>
 uid                  Jonathan Anderson <anderson@engr.mun.ca>
 uid                  Jonathan Anderson <jonathan.anderson@mun.ca>
 sub   2048g/A703650D 2006-06-17

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBESUcI4RBACIrp/6emcURG5g8edmVyp6d/PcuRDcy3i+YJSXqLPp/3qfM2J5
 kVMCQvgFSXX75K5HvZU6mMMtHYGCComtn67O1MbUSyVUZlNW2PwUr77Nc34MgcYF
 fzU7siy8Pc8LqIy3JUtHwi+qmt/+UsQBTCO+2heK5xMj6zklm7qRfOo0rwCg65HO
 lViBItJSZuZnIqz5chlFbhcD+wdg1tyXl+HW/d9E6LxMigAct7fFMHd5aA5EWWr1
 plTfSSxOETAsX1afsEBfrr6d8jLVri1tfDvRHe/30YxRv6rTZ64GLIXD2WEoN3yg
 NvRVRkOeFPtN8K1gHEKRrcp9ZJfGG80F6d/RMk++AAbg/pI5ne6AxEiR1cAHmwGF
 HlfzA/4/bmU3m2n2SEbBRAOugrYcSRF0OvPsju2K34pooAnePs/S/zJdILIism3W
 1Hjjp46R6kEtvY1ykulseQzRk+IpF9Esc2tJA3VSHL0Z2uI/1fg2mCGc0nk+t4MB
 oqJshJLlR0S7LerduZ/Rc1zErb4nfhG88GzH2Z6fawZtantmjLQuSm9uYXRoYW4g
 QW5kZXJzb24gPGpvbmF0aGFuLmFuZGVyc29uQGllZWUub3JnPohgBBMRAgAgBQJF
 Im7qAhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQIqZuU+O7ykiR8wCglscB
 c4qLHc61O+WbG1AVlgMrvXAAn0R2OaVyHU33lcxpP9AZHsOYmhcFiGAEExECACAF
 AkSUcI4CGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRAipm5T47vKSCC6AKCG
 fne/4SQaTeR2HtTM8lJGMQZCDACfffBWKNxqzE9C1pp21dlJPyhOLwu0KEpvbmF0
 aGFuIEFuZGVyc29uIDxhbmRlcnNvbkBlbmdyLm11bi5jYT6IYAQTEQIAIAUCRSJu
 zAIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJECKmblPju8pIj08AniQCG2Zu
 dFFzMubFUI5RK/s/KmYQAKCzEY9efR+f1sJKSo9/I1QZuNNQ0rQsSm9uYXRoYW4g
 QW5kZXJzb24gPGpvbmF0aGFuLmFuZGVyc29uQG11bi5jYT6IYAQTEQIAIAUCSBtj
 iwIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJECKmblPju8pIAtQAoIifNHQi
 kGm5CIgOxMgMAc4zZWaQAKCG2cl5XbQkANEp/5LB0AJkVyP5KrQoSm9uYXRoYW4g
 QW5kZXJzb24gPGpvbmF0aGFuQEZyZWVCU0Qub3JnPohiBBMRAgAiBQJMrKDcAhsD
 BgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRAipm5T47vKSJPMAJsHHtHqP65y
 av3mDwxrHqnGYCNw6QCfSSK/rPic0fGdI+kwKphP+t804+S5Ag0ERJRwlxAIAKGW
 DtckTk++NzYHbfCmCa0mCtUg4BQ0752ZRUZS73V/dP4LYBmOS7ubppIWC8XJ8vCA
 YKesQYBde3Ly3TrZfzdlDLBlua2YzmLQgwZvTzfalzcUrbHzFWy+mGqXBBfnclV6
 tYwMDmsVxsukpIVsZzWpEMBBrrd3Zsr9SZG8rjyfiiuv5kvrdPpGv/w9INCcqvMV
 CTi7whrJn8MBwD/rNVuZqa8kW1dN65xKN98Jn5RA5JCX7kY04gIyUL6x0dHnJZ/c
 dfRSMgHPTROiajnzHrd9Olm4e05Dijd5vAffF9rxNtlJNTPDaN57RhhdTK1ZE6mr
 zWocL33kLML77+3rVZcAAwUH/0sXk1iRq1cs6D99VsEpK5Yu12U8OTUk8cPZF+8C
 HsT0c5xCbaPENBebs8gtgS1/oURvO/lgNmthPFEdyD60l0u+wt2BSmua9s+tFsUH
 uWgTSx0k6Z3rw9wZV/YUxe5PLEJ1JJGi3YY7qCG0BqFbbHcpkrtj6X4+H0Y01MzO
 1BdklQ548jHb6wZn6BW+dZikz/vE7urxhx73CpRWerLtq0EpFzsdRc9DzChqmxwX
 WZFpSAZT4fbEipdmK6dtNPJoTeHpB4zxTX1Cj1HHCKRw13dFlr+CMBnQnhJOOaM0
 kh22yyLrR4rikuEqnhfB79Gw6dxlJltTUKNuPHk4D14Uh5CISQQYEQIACQUCRJRw
 lwIbDAAKCRAipm5T47vKSCIMAJ9i5XNgXRnS+qoCDrSgrvf78e6zugCgh+4Wscpb
 rOIHnGJFBTAXFZR7KjQ=
 =PbEt
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.56. Fukang Chen <loader@FreeBSD.org>

 pub   4096R/6BD4DDE6 2012-10-26
       Key fingerprint = A33E 88AB D358 DA49 59A6  B263 A9A2 599C 6BD4 DDE6
 uid                  loader <loader@FreeBSD.org>
 uid                  loader <loader@FreeBSDMall.com>
 sub   4096R/1036D26C 2012-10-26

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 DPodrx7PwaXno88xFjmqosI94Et7mQ==
 =qJuU
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.57. 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.58. 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.16 (FreeBSD)

 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
 =+4em
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.59. Alexander V. Chernikov <melifaro@FreeBSD.org>

 pub   1024D/2675AB69 2008-02-17
       Key fingerprint = 00D2 E063 2FB0 2990 C602  50FD C1C2 7889 2675 AB69
 uid                  Alexander V. Chernikov <melifaro@yandex-team.ru>
 uid                  Alexander V. Chernikov <melifaro@ipfw.ru>
 uid                  Alexander V. Chernikov <melifaro@freebsd.org>
 sub   4096g/BC64F40C 2008-02-17

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEe4fOYRBADWmfOzx8cXvVytbw87eVlU84SXo3tZYeffxQkJ4JzGoA4Tq79w
 2nTLPSnd42W8gTZ/dxEzhbij3RW5mcvc9r6N5YsOw3eKC30NQMM05nV5/yX1owj4
 +eZ1YUZdJKUshhWax9dL23BDLEPRWfKsBWS2osqjIPy6WhDgTlDBz9rJGwCgqK5g
 Z7sULpLNE0nnJPQEWL8zt7MEAIIYKjPXf3BvrDtsOHWpOK4hZgf2X9oCfoFymVdp
 cQ6oCWsigmKyGuy3JyyA22UDRfZer3TqNCwd/ynHYXMmYl2IZ4TtV23wGGQDGyxw
 cu1SRhTcPRftCMI2r/6E1vHSqSSdmWwBv6gdN2kVSqx+REchIhuyWWWhMr2A64DI
 S6rxA/wMn97Q+ayj0S2t9u7NbUXQPcB1hiv5qMXWMFco3NokOsUdvK31v8m5fO4P
 Zzzz2JceN+6ae901C2Nrc25ZhujjtLs7XviqUB/GPLymfGUaCpRlm0XReKJPYQKo
 V4jAXxjzrevEWTtNwaC73V0x/w+CKWVhyfUCUcf6HdGkil4CPrQpQWxleGFuZGVy
 IFYuIENoZXJuaWtvdiA8bWVsaWZhcm9AaXBmdy5ydT6IYAQTEQIAIAUCSeHOPQIb
 AwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEMHCeIkmdatpMIgAmwQewwBOZf6E
 EvGSx78VopWKwtyFAJ0Q0gEIyhtgVjHlGgdOhhaN7D7a7bQtQWxleGFuZGVyIFYu
 IENoZXJuaWtvdiA8bWVsaWZhcm9AZnJlZWJzZC5vcmc+iGIEExECACIFAk6LOVIC
 GwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEMHCeIkmdatpwXgAn2Sf2rEX
 g3wYOqke+DBqtgY7TAxPAJ9Qo6HmdRlACa5S3WR3xFFdx5SIYLQwQWxleGFuZGVy
 IFYuIENoZXJuaWtvdiA8bWVsaWZhcm9AeWFuZGV4LXRlYW0ucnU+iGIEExECACIF
 Ak6LOc0CGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEMHCeIkmdatpU64A
 oIl4yXypO/ve5VmpqWodSg2KpI81AJ4l9hRomH4gu1ku36RcejuWkYoSVLkEDQRH
 uH1AEBAAxMbUjr0N//HxCwCrCp/zy/yyF+tjYCoVxlFjeui8Uxc3QpDmsxDBgLed
 YggRT9VEFBHEF9T9edsK+2Rjs96saGcyolKnfeQSxz9ua6Vst39vAdjBzqmVXWJW
 DEgU9kAMmLsONi5nO5SaB0GpnhNttG5NM9J4lgZ5HUNnyCMEGUCOXa4R8R7sykS9
 K2IfJZLsXWmvXXHD53B1uYROPTn+HrDixwdoYFDltedGKez+GPdP28PeBWeIJhQQ
 f1oxmlgNU8L++BaiGmY/QXBVRm/Z3NOuWi99NupN32LgZNCGdiZLvltgYaQcnYRh
 08Br2Imu5vK9XpoDHs8a1AO5OBJVoysdu1ESnyzuvmrRewbG14+8kPi/4EKo8lnP
 bYGUVwh3R8QrSSzki8v+AZagh7Shf9m37QZtIzsycqqiE/S4o1kCyOk4q8vooRMU
 852oXyHyF0BDPd21gfz6b2bKyi7eDT8apzrrZ+Z7yY+4TCg0D9m/LloT9cEag15T
 XxkuPqOF6gq7vMqm3GDa+X4wXgrVhNwbKHT3hAo/eSoQTdB5PeWELZ5ykV6Ik/6U
 ccG3GZjPMSbQU217PlmTVKmv2yrwHXxAZECQAlhZUIEkyVBHQBYuSH/37r8DM4im
 btIL6A++CoJZpf71YjEiPDiQc/ono9CPtMGsbPl3uekhYxdwM9MAAwYQAJRqYdYc
 Xb2IhEEbcdnE1FKzO/e3d+O1ze+diefS7/Lxd9zAPdmHY9W3duzFgQv50F69kKUr
 JzZF77o8X1dlpD/ip2Moimh0rb40PrP/AasCiww4hgXKfsDInqSMKDK4KaZZCKFf
 4N6yGD2KAqqGnJfNNzIrdxpH0BjeXXZm+Fzmr5M/eWMDGOJZmYnKCSF7dStdwVZH
 Ld7RUvpQ3cR+lQUI6hYTMhXPqR7mEDAHq7IYzbA1HBp1c1P4vywD/myTi4wevomE
 1/GprPYlocXaytWiRjJvGjLw8lg0E6utQRLhoPKIIp9CsNBw8IQRZ+qINtyO6pk5
 oxnuq+yan2ixb10hBx1yQg6PLmgUaWqPihjZ+i1qtpLoMV4BGxzWn11+o8Mh0skH
 rmKP7DEbX6Ctee36gr6ULZATsje4OyC98T9wzNmLDYOV9Zusukd5Kxb4f6MuDO8D
 B8ky12ZLA9s7+RmT1Vx51pXOj2YnTT7RE2+QWu/gUfm8gWsq8tSwowzuE84QcwfX
 2/W3oN4QIVUqWULzC+vUV0TnLO8K5fqgn8AkX2ta5pIYF0t8+KN/nb8mgV81w6cV
 ii1Uhv1yRMyro7D+eURm07yvpWyeLfILnm4U/PoFx4JK++UehPB+QACs0bKZ9AOh
 kTjflPiKorAw13Mv/BinmgRPnSJZzqUEW3ILiEkEGBECAAkFAke4fUACGwwACgkQ
 wcJ4iSZ1q2ldngCgh5mTawBEKWXNJXXVFGfo3CiWc8AAn2wCkHDEhZjrsq+OqQ7b
 j2THTkZc
 =2RPV
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.60. 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.61. 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.62. David Christensen <davidch@FreeBSD.org>

 pub   4096R/6EF8EA544E261A57 2013-10-04 [expires: 2018-10-03]
       Key fingerprint = 6D3B 985F 2737 C936 F37D  93D6 6EF8 EA54 4E26 1A57
 uid                          David Christensen (FreeBSD Committer Key) <davidch@freebsd.org>
 sub   4096R/6B5D5DE299525D80 2013-10-04 [expires: 2018-10-03]


 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =1Ta3
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.63. 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.64. 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.65. 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.66. 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.67. Tijl Coosemans <tijl@FreeBSD.org>

 pub   2048D/20A0B62B 2010-07-13
       Key fingerprint = 39AA F580 6B44 5161 9F86  ED49 7E80 92D8 20A0 B62B
 uid                  Tijl Coosemans <tijl@coosemans.org>
 uid                  Tijl Coosemans <tijl@freebsd.org>
 sub   2048g/7D71BA74 2010-07-13

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =JjyN
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.68. Raphael Kubo da Costa <rakuco@FreeBSD.org>

 pub   4096R/18DCEED6 2011-10-03
       Key fingerprint = 6911 54FE BA6E 6106 5789  7099 8DD0 7D21 18DC EED6
 uid                  Raphael Kubo da Costa (Personal key) <rakuco@FreeBSD.org>

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 CnnWxLMKpuIcZBJTJj4DevmqihGS
 =FjO0
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.69. Alan L. Cox <alc@FreeBSD.org>

 pub   2048R/33E2893B 2013-06-15
       Key fingerprint = FC7C 93FD 2C2C ABA5 C1D1  3E74 8513 043C 33E2 893B
 uid                  Alan Cox <alc@FreeBSD.org>
 uid                  Alan Cox <alc@cs.rice.edu>
 uid                  Alan Cox <alc@rice.edu>
 sub   2048R/693757AA 2013-06-15

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 R4j35/knbFRKVuPucYmycvk/fj5K+2wq
 =dhg9
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.70. Bruce Cran <brucec@FreeBSD.org>

 pub   2048R/6AF6F99E 2010-01-29
       Key fingerprint = 9A3C AE57 2706 B0E3 4B8A  8374 5787 A72B 6AF6 F99E
 uid                  Bruce Cran <brucec@FreeBSD.org>
 uid                  Bruce Cran <bruce@cran.org.uk>
 sub   2048R/1D665CEE 2010-01-29

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =XNzi
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.71. Frederic Culot <culot@FreeBSD.org>

 pub   1024D/34876C5B 2006-08-26
       Key fingerprint = 50EE CE94 E43E BA85 CB67  262B B739 1A26 3487 6C5B
 uid                  Frederic Culot <culot@FreeBSD.org>
 uid                  Frederic Culot <frederic@culot.org>
 sub   2048g/F1EF901F 2006-08-26

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBETwuAsRBACaptn8vJ5o5RZkWQUvr3EpBW91+hZtYLM+oBpk6+BayiPAW02f
 aAP6XTrl3GE6hK5+lZWMdxeu733Ukq72cLwbSNefpXi1A9/7IU+bsUWKgSRL/O4z
 HQziOHx+UgFr+uWdKbIssFmIPSJbsI0IOZV1p1mLVDCz97QG8JvyJA7AEwCg7XLC
 0Rsiev0R71ErTCHmuZXoVt0D/ilNo5WJyA8mQ7wmfQsRUnV+GXXOYk2OdhrfqPnh
 B4WVqBd/duf7Hn8TzGF+ee90N7PjlOXa7VH8wQcKKSNUDGWcV++xJQ/ZxeB7g2Ya
 R+JeQy64fVu2+Zi8IehUt96k85mVZtb09J9C+t4+isRsZUb+A/tlcMLlYxcPSaai
 vGA+A/sH2RRyDJFTMGfqmpRSpm716mgWE1Oyk8rjqpRLOjlrgmORHNSSIawSpAHs
 PQrC5ouBWFRe6pCBLpd+xcvaqmnkVBYrVZFmI2ElTYWwviF8aQ7HHP7TVek4EZoE
 xjQ2YDxKlFN287s9yc8HXIiPcwLO6yPhDa1ZLEoebGLDp+nHI7QjRnJlZGVyaWMg
 Q3Vsb3QgPGZyZWRlcmljQGN1bG90Lm9yZz6IYAQTEQIAIAUCRPC4CwIbAwYLCQgH
 AwIEFQIIAwQWAgMBAh4BAheAAAoJELc5GiY0h2xbJ9wAoKf/6b8O9hlrKE6kFfr1
 h4FuwX/XAJ49WDVUxcf+jFYluXwHmzRW8biSarQiRnJlZGVyaWMgQ3Vsb3QgPGN1
 bG90QEZyZWVCU0Qub3JnPohiBBMRAgAiBQJMuXzFAhsDBgsJCAcDAgYVCAIJCgsE
 FgIDAQIeAQIXgAAKCRC3ORomNIdsW/A0AKDVBYK/Y91Wz31ws7Rxy7/LpvL6DgCg
 4jNUurzgT1i0vFuBfPLQx5LEZSe5Ag0ERPC4GBAIAJFsfHsMTmxdNfKtzMpGOJF0
 dLMLwwjPyKkVPtZZ5LZclo+7jjyg7dAYvY05o2ppQ1TH0LjTV333qWItSbv88Dkq
 f/pn8tS0/for45dVnuJbTAkkc+khPHCJ08iZsl/X1IYBj3bteb1z2jZr6M2JEQyN
 qUbbuop3zDoOVMx++lsR5+Q1/+BVuJGw5SuLVhTdNOjiwta3x+eSH4Jzqfb918SB
 uiaQyPcdMGBDd1VyVkJZU2dIFp7olJbi6T+leY1+TUdvXvzmBqB/0XtQfOfc3hQb
 Te5HP9IhiAQkhe9fdsOZpcAJuWS1HvKZT/Ck8UqKTWU3epzTlEN5LiTuisRiUGMA
 AwYH/3eopRoq31zWXlfWI5bETU/DDna48gzpz/P8cc0ge/7YO/sGyB3jtF3D1htI
 rS1dp7I1P8+H42vwAje18uxg1IKZeQ/ffFl29BTqWM71rALuPyXR80JjT6gggTRl
 Bj/YEVUyxD+PXG2qRBNtYOCDLUtKbFzpaGV/ViONkSfzKTNIdjyDlTp8UGWRXteI
 903NQSogGxVew/0wrlyXURoBKWZu34Y6awcvQSmDGLzWqEpVbyVofAjjtE06iIXF
 u9vd3RPua/WkTjZELE2Xs6hkxGoWfsmpnsKuMS4zZDr0olIbBtMiQGp8nbOQrJPe
 5ax09EyO4fJYj4KqY7vfHdMMjByISQQYEQIACQUCRPC4GAIbDAAKCRC3ORomNIds
 Wy+LAJ9s/SE8+ysRtHJq4zYNkOyzXpt6VACgjcPRoqpDhE0y8V+QniOWN6eJ0Ls=
 =h8ph
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.72. 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.73. Baptiste Daroussin <bapt@FreeBSD.org>

 pub   1024D/49A4E84C 2008-11-19
       Key fingerprint = A14B A5FC B860 86DE 73E2  B24C F244 ED31 49A4 E84C
 uid                  Baptiste Daroussin <bapt@etoilebsd.net>
 uid                  Baptiste Daroussin <baptiste.daroussin@gmail.com>
 uid                  Baptiste Daroussin <bapt@FreeBSD.org>
 sub   2048g/54AB46B4 2008-11-19

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEkkLyARBACYi5Qr3qvyrpp0rgqK4cAwteOZbhB3Jt2uxuzrKnKeTw3y4DrG
 lD+7wAwKmLapXFobxCmndhXNnWw1Viy+hiBN5id8c6TmLF+I4lbxL1Nmzl++ifVr
 OdOTqXH/L6kbKF80bY3zhgzR6EtH/0UjL6aXNWyLv/2l88+vx+Qrc5NhJwCgwzkS
 RbUjFKhyAxh7APNTUqV/ZfUD/3nnu/ti17KqQhiRgm6qup2ZPOOpOtlJ8J4dDFtd
 crmhH/ViE5ze8hPVTymufvLj3dWJXB3gA4CJbMmD9qQMaNJ1q7tEIe1MVNUEVop3
 4BEl0oRJyeUlT9QuVqM2GzsBeIiTikZMMpRlZOuuYwm5sbx3nrDHaiBKAkthZF0z
 l9dlA/9QdSfmViz/x7B9Oa7WfkvmAH4/nMIxaBsliNAtK6peaPFo9M03wgfh0eo0
 3JjLAVFbembVkYkA9HqqMFx7Z1W0i1WJAr5SC7gX6Pf3pQPmKIKJKJykXzIRmL6M
 boUYksuTrtZIDiz/luiEg3wVUONLe6iX18v4RzvS03F3T4HAULQxQmFwdGlzdGUg
 RGFyb3Vzc2luIDxiYXB0aXN0ZS5kYXJvdXNzaW5AZ21haWwuY29tPohgBBMRAgAg
 BQJJJC8gAhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQ8kTtMUmk6EwjzQCg
 u6livnP3Mpb8zzzAvfNloYFVW6AAnRwemMVD3FRe1Rn+Ci3lfgySMDmltCVCYXB0
 aXN0ZSBEYXJvdXNzaW4gPGJhcHRARnJlZUJTRC5vcmc+iGIEExECACIFAkxO2FcC
 GwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEPJE7TFJpOhMb0YAnjOkFOYw
 8gjML7yPL7w3WNukE/XzAJ94L1XFYK7seJA4zHkMI1nTG3SZjLQnQmFwdGlzdGUg
 RGFyb3Vzc2luIDxiYXB0QGV0b2lsZWJzZC5uZXQ+iGIEExECACIFAkxO2G4CGwMG
 CwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEPJE7TFJpOhMSlsAnj1fB+Mtca/J
 umANnc/GL7iWGjStAKCkEJmZyABghRDR8HxMzJEgfGYZ97kCDQRJJC8gEAgA3nSj
 7ISAocQ76ew5bSc+aW/cLqnAvWnEFOtwneahbOOrwpLRt1CtCC7bFsWnkqsFJT6N
 UFcc1dJl0D0+JMql1+uvyiBK4kLGhw/kayWqGhWVYAwul375lLxyj+Er3zGAMdLv
 vbGtg4+8vt6jpF1CvKLQzGQ3UJDlCKz3XST/tRUUFoq/5lD58wqJBOyjKgv+nU5g
 nmVJbmsNtRH8gArX1b1Mld4pnfYdMcRVpbna7Ct78GJDbvsRZnR+YlMMc7De0zd1
 /oeYo7TBc8isPRxFvdd6d6GIuDPuiK6EXZphrwzQSqG3/hp9SHgC6of9yVzP3wFi
 mrVRyyUQKVHYX21u0wADBQgAvbwssU0S6THyBaPr6S+tbTKS8is81SZ87kiUmu1J
 /qyKHXkl/aiC39DBX+a2nr9hUbtUsdYlEmWf4LMACm4jt0mPKrL2EbAUSRCVqJ0M
 c9TliU7X+ULExN7DNa7B93ux4TaGr04CjEuQxfdg3Ob1YDeJ6bzKIK8f64eB51as
 31mUaWC5Jwsj8O1XgP/yNvKi0vnJb4bBava0h2U75oU9GzeWr644KRnh2FGKwpnX
 HSqFq3opG/PR4PbSYkf2R2Eeo7Ox46iCWRrNjjgHXK/GjH8skjXoWWmD9S0h73b9
 KNDXRPD49G0P4yvNV6p08laVUl3G6A63aA1/cBqVGFsyg4hJBBgRAgAJBQJJJC8g
 AhsMAAoJEPJE7TFJpOhMLooAoI1+f30zI1xxIXjy08NLxCQv+9nbAKChzUNzc5OI
 D2+VxC1zkCRqhNa+rg==
 =NqtT
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.74. 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.75. 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.76. Eric Davis <edavis@FreeBSD.org>

 pub   2048R/F52DF060EC5583DD 2013-10-09
       Key fingerprint = F368 53A8 E3CB 7135 3140  2AE4 F52D F060 EC55 83DD
 uid                          Eric Davis <edavis@insanum.com>
 uid                          Eric Davis <edavis@FreeBSD.org>
 uid                          Eric Davis <edavis@broadcom.com>
 sub   2048R/156FF9FC786CB51C 2013-10-09


 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 6KNgQrMxiP3AfanpIw==
 =rvTg
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.77. 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.78. Alexey Degtyarev <alexey@FreeBSD.org>

 pub   2048R/392CE63AA025BC4D 2013-11-08
       Key fingerprint = B347 13EF BDDA 45FE EEB1  9110 392C E63A A025 BC4D
 uid                          Alexey Degtyarev <alexey@freebsd.org>
 sub   2048R/6D5FB75FB723C378 2013-11-08


 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQENBFJ9OEkBCACsU+AY2/zEr2DgGdukESIS6HMM4GmooCAxjELcbf9/IY3TDRbb
 K71jByAmm66nuOZSgeAxAHt1Ya1tQ+P5mqfMUMo29O7WzKuVpltJ1TxlFQz1MqG8
 PmXXTbnUEmsavvPhUs60ogulxgl7Yetd97w6S+H38KjAss+hWQxsU072brtnP22I
 /4pa8YiUOTkf7GzsgN3Ya0b7zgG9+jkpPgproFcKBLkrnHvtTGj84AzAOx+fae9B
 YGGhjMXk7MZcSgAKdeHsXxwHcYbCKjcrVWeCzs7xOS8rOq8gRsaDEQ96tQ8Zt8wR
 sqOUyyXDvrzZZ7mxjbowGUwvjLm+FY01HHk9ABEBAAG0JUFsZXhleSBEZWd0eWFy
 ZXYgPGFsZXhleUBmcmVlYnNkLm9yZz6JATgEEwECACIFAlJ9OEkCGwMGCwkIBwMC
 BhUIAgkKCwQWAgMBAh4BAheAAAoJEDks5jqgJbxN6zoIAIfCGXx5aLWHnUF+MwDE
 b7Qs48Gw2u6f/Q+PeSEACHiQ2QBpYkFzDquyhZt6CIi/3zypAs8kga+sj3qQaCNw
 FbER/CsclaLNzlu4hTjGxVdjKhljZ1NgRwstrNyqLx+eqA45f8YkqX4jPoI+37XS
 R6m0Wy/b7eCjrEMCDdgpy382fvO19rac/NPmfi8HZRxlDHJUenm1nyGs2oluRj8D
 A8SHoHomqe7Aalx3dxTf69eGTpDAgMX2cKdmCsFHsbGZWGIl+CTFffbdgFrwe8aH
 ENfUPbd0ZK/r9/GjMtSDmHE0XVQkUFJ0aLiV1vU/5+IxpEyiQLRnQk6d0cRG2Em+
 sNa5AQ0EUn04SQEIAK5EjUZOJpiMdRn3N0MPq9xoYXuddlOiyrveDtehXW+QiL2c
 zPnUVgZvdGkvHPLYBH92zo3dxH2IUlsWMEjXjFs7ivHZ/gy4gPdd1qALpE9lUo9M
 wqyVFnB64N9burnLR2jW3G9SjHJxDi7sVBtecvsKubQAeQYTCky4eNdCEeJmBydm
 HVlgy3QpdIttAMxot5nyPo/5FjIvLFipyo1d2z6DZH8aXxNgXM0UYX3PPDFwlc2T
 xOs2hYUHVefROmuuMoLYe6iZ8uLq+hHbi67tDHoTdraU8OqpNnhUdR5N3vKx6otK
 f4K1CQUOp9iqMdPwLIVYzFz6rKxMnYpmll7OF/UAEQEAAYkBHwQYAQIACQUCUn04
 SQIbDAAKCRA5LOY6oCW8TTb8B/9DtMIySyZWEMye6z26z5A3smDjXVRNwpO56n1T
 fPlTLncWRYfUm6DM60/uTnS64Un46UtMTxeeDO8yV2fiR3FAAMxg1ePQtyq4CVLj
 IduKsEzWQlFPTTv8viIxpF9y3qxkE0Nh/DWPQZ9E7uDGuWDfsiJFGuFdbLRmsgtJ
 9IHDiBSqwWejK57tQQug54UK1pALVgTjBfT77WKW5hVzGguCy8lPTr7jLo4eGe5c
 ygKsm2r5e6FSTU3QG1by5617lryYXVoyxeFmFzIvYNw5u0hrzCM0sCMFy7kuW1n4
 SnxXeVMbzNMXMZ2mStBIAS8QRnF/UjB7AEFXgXuJMzF/jKlP
 =bwuv
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.79. 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.80. Carl Delsey <carl@FreeBSD.org>

 pub   4096R/FB3B5D38 2013-01-15
       Key fingerprint = F0E5 3849 C6C3 668B 68A3  BCC7 6031 E963 FB3B 5D38
 uid                  Carl Delsey <carl@FreeBSD.org>
 sub   4096R/256F29D3 2013-01-15

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =jP+Z
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.81. 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.82. 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.83. 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.84. 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.85. Bryan Drewery <bdrewery@FreeBSD.org>

 pub   2048R/35D771BB6E4697CF 2013-10-24 [expires: 2018-10-23]
       Key fingerprint = F917 3CB2 C3AA EA7A 5C8A  1F09 35D7 71BB 6E46 97CF
 uid                          Bryan Drewery <bdrewery@FreeBSD.org>
 uid                          Bryan Drewery <bryan@shatow.net>
 sub   2048R/FF5A7FF27D55A32D 2013-10-24 [expires: 2018-10-23]


 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =ExwC
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.86. Olivier Duchateau <olivierd@FreeBSD.org>

 pub   2048R/22431859 2012-05-28 [expires: 2017-05-27]
       Key fingerprint = C057 112A 4A27 B5F2 CD8F  6C9A FC5A 0167 2243 1859
 uid                  Olivier Duchateau <duchateau.olivier@gmail.com>
 sub   2048R/63A85BDF 2012-05-28 [expires: 2017-05-27]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQENBE/DXkcBCADjybF75g/rvQ3dC+D7Obg8QQu8Ab4yHE4cL+wvuEh1vGxRYOYr
 4HPpN9Qyyai8Vlj3LnFMw5kt3OTF6Z3OS5IUWJgSplFxZfOIj5ESzs9qvy8qOU1F
 cE0dAOX6Q69ZPD78zngWNFv5XkrxOP2sA241/YLpXO73sYnT0ydtSZhKd0QI58Bm
 xlarUGJa4d4JTYMaeuTQ1vo54aB9NL0KMZK6GfRvnX8CuNlwGaJy9Jt4oSJ0JopK
 Yn0bpCaRGd5T2uZJ2hx1d3jtWNzhFMBl2JaG1jXXLd29q8WvaSRlP0/j/+R8ppk/
 2DAQe6gT0XEjP+np5BsYF9HoCYJ+vFtvZqgRABEBAAG0L09saXZpZXIgRHVjaGF0
 ZWF1IDxkdWNoYXRlYXUub2xpdmllckBnbWFpbC5jb20+iQE+BBMBAgAoBQJPw15H
 AhsjBQkJZgGABgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRD8WgFnIkMYWT6u
 B/4slussVLNLn7CbB7VMmo6ppCxx4BM1Mhk4stoUl5/3ENCMIG5anIMwfyG+NFK5
 Jr640U0yZcW7jX+Mg+IrGn2eWKfrPf/kyzbeMPeyDFF833EDNnliAALgni6+ZhXl
 Pct74exlzQoKkLkkDd131Cd7HUlA8XrUroibH2QyTR6upA61VMSdUXBHHdp4xD4P
 opu0Cz1kGoe99St19oFLvZPl28DUZeSLd1lAw1o3vl7RYAmI/OBz+/6lSpvHG9Zc
 aco/QNRQO38lTg9sMh5kmhIOMRBgZcGR7TFlgKcLJJbmCp+kb/jIYizKnkN8SHSt
 ab3E8ug7yaCXyvQFPHoLH1jnuQENBE/DXkcBCAC11rT2hrSvpEj9OVRwucUmKnqa
 LYcqeLNUIqy8Z76TpSSXVLXt5DH2kI7IizaQmBfkH9S6iFlJLkbOAHZ6XcjaIcBX
 VLMpBz5Mi8HUvTO+6vMFs9x/8R4+fryDNCn5wa63ktwvUZky1JFdbfZVhoV2M0AZ
 KZnvV5o8pZrzYv05TOf8H0+sYD7bNKSNa7g8dBfdBt/wVLcF7Q5aTeal/xyWhf8d
 kIZdwK4jbsYBL53cwLNNameDXAdMthKjCMndgofv6dYaHDMDh+nEwye8I7IHINxg
 t20j/eTRQB3b3gs/UWDgUHtLjEaWgLNpQx7mQQhZTcCwtZtWZOXsh6M0K40bABEB
 AAGJASUEGAECAA8FAk/DXkcCGwwFCQlmAYAACgkQ/FoBZyJDGFkJVAf/Rk/Vvs9X
 duEst9LL46h2PS078Bbk2eGH+/kigVF6tPHSWKggmB0RVzoiG0GXxv51Jta2PHZM
 Twuw7oNqsu5UZjTC1UQ77ZY42W25dkaMgDalPYNU+kd55//YIzuj9l9po+Xr2o8j
 aAWKh/nIjeAze8AMxRxHud7HWE1pE8mDG7VS5Hreu/Wxu9IA7h2UalXD3psLoVuJ
 EoZEgaQlTEJIAkcHLi51qojn1DDQ2L3JS+w4YfnPfnPtzQWu2GX3TGMAaLKqmNIF
 01Xi8q/GmlFbmBPrgIqZQS6SUb/CKLYKWyelw7dxmSkhNoXed9uqHHvHI2zMG76t
 PKHyAijtO5HocA==
 =kXkO
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.87. 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.88. 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
 T+def2l0wIllOB29WNaC6zs2yHYNvQMev41p7FJWM3UZ1XiBY72c3jQxq5ULvQBs
 qM//AF6ztOkhs5TIJfKLAfL0HA4/GsCHWn87MZIV/vBGIBP0rUkltDL5ctw4bA3L
 Iu45x/8AXpuCa5XsCbWqN29vk1eVXubmOX93sVDgk/WsXWNGmjurC4XN1H1mRCAQ
 BjIz9O/aqN/Yny0exuFTPzZGav8AhbUHtJA15JkjK4JwSDxnnpQoKFuUrmc7KXQX
 XbrT73xvZSaRBeWdraRRgGcrI+9ed2CcH+Hj61YutRu7ia+mu9moRlFR4FTY/wAo
 5IHsRn8TjtW5BPpE14tz9lhDcYcKBjn1HXNYerQvN4quLZ75rMXABtg6bond2xjg
 E88cH35HGc6ilOWpSlCC0NrSILDxLo88ekWxsZpEaG4hiOQqncFcHockOCeDgDjv
 XMeMjcx6dYeH7RCYNFsFnuBnhZ5ym8/hlR+NafwivToviGeJpIpYZJSkgUMyNsyM
 N0I5J+bBAPOKm8bWsOnaZ4qvIt5e+u7fyy5+ZFDgspx7jHHoKulL33F7HPVTSTaP
 Z/gtA0vwc8P26uUaSzba6nBU/aWwQfbNFL8GLj7P8MPCSAIF+ynezHpmfP8AWiux
 njyk0zw/xpr0rWUekwwOs0J80AQ7RDyDxkZ6d+MfTrfl1nxLD4XlttQFrNIfLmRL
 uFHNqATGSq4Chu/rk/Wj4h6Ff+HvDcepHxXqOozwzJBCLhEcAOCpGWBPTPGa88i1
 PVLi5gtlvGUh1WMoiKQzMB1xnuazo0oUY8rVz1ZT9rJzR0/jWTRHtdmjXV9dTLO3
 nSzbfLZeilcfU9a402jGATbwQXGRvB4/Cuj8e2kFr4hudPsJZ54EZQXmkLszY+Yk
 /U1m2seyE5AI3beOqjFQrK5reU0nJ3GSRRfZ/LjQ8HIGef8APFZd8yqqIxOcYGO1
 Xri+iuAYmjKRg9FJJHuTVSW1ga5R2fcvXPqMUlcTV9ixozLCUuZl3shOxd2Nx/wr
 YLSXEcoljiSUqXjaMEEkdves7SYYJ9QjMi7o41ZsZ64U8Y/Sr7yGO+tZdrAh97KT
 94YJ/Lg1MjWKdiXSL4GVSyK0YTI3Dke+a2Looti7zWaTbxlHAJGPU9cVx+hMst/A
 lwStsAGkwc/KOuK14NakOomW4yIlZt6L90IRgD8OMUMlXepfsbpIx5SBTjGFzjNb
 zQJqNvb7WZbiM5inGSY/Qcc9f5VwF5L5N5G6ufLlY7SDwAPX8/0rq/DN9Gk6wNGX
 KtldxJJNDlbUajrYT+zr/Sr5XvLgXE8pJ3gYk3KOSw9Dng9/rXW/GPTopvh/p+q6
 XHMsARBdiSUMWdWAZlUdFyynnt9KddwxuY7mS2hmnjGY1kGQD9Oh79cihtW0jULS
 4tNZD2kQspo7eNIsxCV1IBIXOOTnoAMCoXM2pIK9ROKhLdGnpKapd/C3wlZ6NL+/
 hSKV4sZ85d4JA5HI4I57UVieA7qK90/SdJn4WKHy13swB2sq9jnrzxRXVUi76Hkq
 K6jfjxIU8O2MBfcJL5TkHg4Rj9O9eX+F1U+JbIuPkS5jkYn0TLH+Vd78cLlpxo8G
 TzJLIR74UD+dcXYRLaPLI5KvsYoQM9RSnLU7KMfcLOug3d/NMHx5shbcfTOc1lyS
 rauRCrFc9+9E120cQba2D6nP61WSVZ1MecE9P6Vjc6klsQzW7TSO6oVyMrj1HakV
 DCqRbhJuPP8As/StOGwE7cHa+OQDjP0rSs9FkYKDGdzgYYjijnRfsmc9p8l0kmVR
 yxGOR3rQey1CVfN8ttxUjcBjGeP5ZFen+HfBscqgmIYI5JGc/wD1q7iy8IWsqlUg
 BI45HFQ6iNI0WfN9hHLYXcSzQlkQkHKn5lIwRWydG821a5tCWWT76k9D1/nXrur/
 AA4ujI09nbD5Scgrke4xUuk/DzzLRi8ckMrEBFToxz1/+vWU66WpvDCt6I8EtrOW
 adopVK7Pm644z29+a6vRtOu49s1uN4GRgrz+PpXudv8ACi1m0Nr6S3WW4RA5VRhh
 x8xP0PQd68be8vdGv5YICYyOACM8f3eaIV1U0RE6Hs+pu28s7IUdATHg8HcOeCB6
 evFZmqJZSzvKIl8w8Fl61e0SdZJZFYDc3qpI5OTWfrlqLYmLz45SDncpBBB5rpoa
 SaODErRMp+D7ldN8XQruAV2DR5zksCD/ACU0ViTT/Zb6CfzNpVxgjr17fhkfjRXW
 rHnzi7mj8Vpi+vafEDnZCzfm2P6VFFZxyeHlvJlDyMX/AAAJA/lVbx151xr0F0Yy
 sAhWJGJHJBJP863rEA+GILcLkmLOSeucn+tc71OuL5Yo89vpYwdhR+PepNBiSXUI
 4uMN159aTVIyszIw5DYOKt+EQZNbjQLzu4xWMn7p109Zo9O0Tw1amNWeMtjhST2r
 o7TSLOOYP5eTxgk5xTrD5LQKMZq9bxynGOprgUm2em4Kxr6THGmFQYB6YrsdKUFg
 UABI/OuQ0iFnlUH867LS02MADwBVS2CC1Ox0a1R1+dsbuT7V02nwRRIqgqcHPA4J
 rk9FfdKi5AB4znrXW20exF5ya5ZQbepyYu6la5NPaQy2zRPuMR+8oOA3Ofyr5B+L
 ugRjxfqTRhdv2phtz2xkivr+RmSImvkP4yaolh8Y9TXA8soJCvu6A/1rSlpVsuxG
 Fu4SvtocjZi5trV1ZSJdgUEnpjgGsWS9ku52W5K71LxOfdTkfof0rctLm7vLE30k
 Ugib92JSuFJ/uj8s1yesl7XV7h14DiO4H1U7X/8AHTXr0Iu3Mcld3lymT4sUQrEY
 pMsJVIxzgUVqahBvHzKDn8jRXRqcqsWPF1xFPJZ+WWwGckEYxwK2baC4S2jiWJ8I
 gGfwrJ8Y+a+qWkUoAxExCj3OP6VqvNcykbJ9pBPbBrE0a91Gd400P7TE11p9uqNa
 kJOqj7w9fy61jfDiNm8Ux5GVRGJ4716Bb3awWGZ4/OeZ9rgHlto4/nWN4V0xLLxH
 NJGjLHJFvjB7ZOCPwORXE5NJxZ7jpRnKFWGzOwl1eCxXy0jeaUnoq5ArOuPG9xCA
 IdOkznG5hgCm69bahIfK09Nu4/MxOAfx6/lWDqfh2RDbSO9w8vHnh3wuQc8Y42kf
 iKKEIsivOaV0dXovju5Y7mhBYEcLXrfgPUJdWkVY1zIyZK9c183T6faW+pwLYSuW
 WMb5N3V/bnOK+jf2eyv9pmScjcsX/wCuoxC5VZGtBycXLsi/4on8QaYJJQ8On20f
 PmTNtX61xVh8R/ES34htPE8Uik7drI21jnqCw/ka7X9onTHv7C2vI0nmCN9wD5FX
 HUgd6888LaHp2o6zZS21lFEIpVaTdhuMjcNr/KxO3jcOMnrWVC1SHNIqo3OKcY3b
 PY/DnijXbmSGC9u1WeWPKxyQFA4z1UsPmH0rwr9o/RZ4viZHqEkLRxX9mhJxyGXK
 4/ICvpD/AIRTTZtWXVbcpaoWEgtIP9Qrf3gOAG9SoGfeuH+PGlm/v9Mu1t/PFmWk
 kOCQqjaeSOgz/OuenUaraChyVHyQVm1r6nl3juZbPw1o3hi0h2QW8X2iXb1LsCBn
 1OMn6EV5T4phZVgunJKq5iceiuMH+lepfFu4Mniz7YMI11aQzSIBkBiuDn3OM/jX
 n+tL9r0m6t8bi8Z29juHI/UCvdw6XskeNjpP6zJPo7fcUY7NxaRRuxkZFClsdfwo
 o0W8Fzo0L5BIXY2fUf8A1qK2scfUXxNFnxXbW+S58pPfq5rQuj5WFMqj0BGM1qS+
 Fmk14aj/AGgG27dqNHz8vbrW8dJh8pfNCySddwUdPSsrFuaskjldDtZdTW5sZZ0j
 kUpJA6nOAeGz+OK6eJ0k01AoAa3xGwxgjgZ/x/GscH7H47XyU2LHAquAOTnc3T8B
 W/cSCSUJBEzeZnzDjjGK4sRTlzaHu4PEQdDlb2LEMfnx/Ss+6053JG9wDxw1aGnS
 KrgEcUaldQwox6+prGk9TrlFNamXY6Hbxt5oALDuRXqnwSRV8QRw5K5U/jXmGnXs
 1yzBYyiLjJNei/CiYW/ii0LYCsOT6ZoldvUuMbRaXY96Wyt54vJuIlkjYchhnFcr
 ceH9Htb1jbwIjZ9K6szPFLsC7hnk+1cp4jvGt9WUSJhZR8no3/1654tR9083CRqS
 m0mdNo9mYbXJcHIzVW4jgezvftaxmzJP2ov90RKuW+verVheR/YN6tkYwK8Z8Z/E
 iV9O1vw/Ba7WmuHgE5YYWPO1sY5JOD+ZqadP21RKC23MXJwcpzdjyHxbdXGu+Ib3
 VChQXErNGpH3Ixwi/QLgfhWDLBNGOYwQD2bGa6G5ljhX/Vztu4zGm7H1qlcKSmeT
 nnntX0SioqyPJlJyk2zh9Ctbu2lu4ZoCkXmFk+YcD8PbFFdLcJ16Cige7O2eW3Ug
 SOo5xwR1qTCSIFVyTkZPb6VYmiGBItvH5pwd23/PaoLpdRCk20aNlccZx+FTa5By
 Vm3m+NdTlQqRH8i7h3CoP6mtxIpW+63QFchOc59azvCGk6vDd31xq1o0TXLs+Q6k
 nLE8YPTpW/LY+ZIAjty+WWRMhvbr796SiXOWuhQfdG3Tvgiq96isu5jwOnvVy+Ty
 5WHABPpiqeoJIbQSW+0yAcA9DXkrSVj6dSTppjoDJDG3lPgN2x1rqPAWtBNat0lj
 2kMFz+NcJa6lfQRbLjTg4AyXjbj8q2/D2raY77buzuoc87gvce9U4yaZtT521ZH1
 VZ6kuoM0yuY8DaRgAPwB9aq+I7SHUbNY7lCjA5RvQ1y3gfxBBcW8aWun3dzIU/u8
 nHfjpVvxU/iq8nsUtVgtYHkzNGRucLnjJ9T6Yrz5RktzneGlSraaG3sNjp7eY+UT
 5i3qAMmvmm9DT3Mt0/zF2aQ8c8nP517r8VdbTS/C5iG4zXWLZMDONwO4n2Cg/iRX
 iYnAGHVc8dRXpZTC0JTfU8nMKjfLF+pmRl24dflHQbShH4Ecj3qG6KAkCPcAeD7V
 bmld+cdDke1VXKlM8j6mvWv0PMSMicgA/JtHUUValjB5bbn9DRSLO9EttG7FLU8E
 bi3btk88Cpd2YwnmEBhlSB8v4U5THDGqZI/iDBe/4mnShPMDFg4HIGOf50iCBEXb
 5cgCBm4IJz7fSoLi3REDCSWMg4G0b8+uc81aYkjeQCR0AOSKjkLOxj8p1LDnAGMe
 /NMDB1VEM0iJkKcEZ6jIBrNt3AfY556Vr6opF2R1yo7/AFFY1zGQ4deGHb1rxqml
 Rn1FDWjF+RLKi4O0YzWh4bdVu44nLKrNz6VnWs8TgK4APcV0nh6KAyKwwFB6GhSa
 R0U6sotWZ634Eu4LdV8tnB6fert55I9hmcAALnJ7VxHgkWpRWbZjv7GuwDLezpGC
 GhjIL46Mewrza7fNuc+OfPV5n8zyv44s0cOmQyMUefzJCMkMB8oA/wA+teZiSKNk
 VwX7MzHB/lzXr/xnsxc3tnOxAxGyjPrkGvLJtPaNhueM85btn3r38Bb2EbHhYuXN
 Vbfl+RRneFCrKr7G5BAOahuTGuQ20nHPGKWa2edj5LYIPy8EY9etDRDgSKxAPbv7
 c12HKZN55ZPyZyTwaK0XiiXA8sk5OA3OKKCjszCky5zjHcnIWmGNYidspZz82QDz
 /T2oAYoBnaCOCD1qWIbDtySMdCKRJCoeRVPmKMnBOeR7YpJbRod9xNLtjA+YsBwO
 OKke8trVmOWZgeEABJ/w/GsjVr25v2Hm7UiHKxr6+p9TWNWvGmvM6sPhJ1n2Rn3M
 4nneQlsZwufTtUEibsY5IqREJLA96daYLFT2/SvKvzO7PoklTioroZ9xarIysh2O
 OMiuz8A+Hb/V7aVI544xjG4oSRWDPasrjg4PSvQPhndSadayx4X94cjNZ1XJR0HT
 tJu252PhDwdJpsZF3rEk65+4kW39ST/Ku3tYI4ogiLsUelYOmX6zzLGASc9K6VgF
 jANcDu27nnYuU7pSZyXxF0T+19HdIkzPGfMi9yOo/EZrxSe3VH2mNsnPysTkH0Pp
 X0rInmAEDODXIeL/AAVYaoWuIwLe4I5dRwT7ivVwGJVJcktjiq0/apW3R4edpYja
 uQeqnOaoyNGjGOV41AOG+YcfXNdvrXhHUNOyZbfzFBJEsYyvT8xXN3UUMKEyvGAu
 C7dgOmfwr2IzjJXRxSi4uzOfusvGxgiBLcLIRnvzwKKsbbe5ceT8uceZEc5Iz1A9
 fp+NFUK5/9mIXgQTEQIAHgUCQA3BlgIbAwYLCQgHAwIDFQIDAxYCAQIeAQIXgAAK
 CRCBFenYzl9VTUyfAKCPzZcnNkDyHypU+wZkicPKQuWVtACfSCxA4/IVY+oWI9l2
 x6uSkR7p4GiIRgQQEQIABgUCQA3JIAAKCRBomIIsyPJS+wPrAJ40SdQR/ruPWkBT
 Q+kqpz7fTvW+LACgzYiB60Djrdg1JfZy6DAoresN2U20GEFsZXggRHVwcmUgPElD
 UTo1NDMxODU2PohYBBARAgAYAh4BBQI/7VDUBgsJCAcDAgMVAgMDFgIBAAoJEIEV
 6djOX1VNKTYAoLQEAZmjiD/bwfaXfgp/9MGDYLwCAJ47WxftOqTrwo+DmLMs5eeH
 cB2R9YhKBBARAgAKBQI9nynbAwUBeAAKCRBomIIsyPJS+wsqAKDnsTnj9g3poCL3
 rXQAa3z+cLSINACeKHPJHJFeAMlTth+exCsjzHvWwqqIRgQQEQIABgUCPaAEEgAK
 CRDM3dmywuiTlMgyAKD2OL8xT2F1Tca/IdDITcMmmTMtAQCgpYddO1+uk6KD5yZ1
 T1r9CgczFLiIRgQQEQIABgUCPaEzHAAKCRARLnBkKQVquU3wAKCf2VNbbdf0NjZh
 MWj/2MUJuj8OmgCg4Yc3NusQXoYQpPqNE9Lq3JWnkA2IRgQQEQIABgUCPaGCJAAK
 CRCrkzhFOoUIdniNAKC2Vu0JZAhoYcFJgg5f88ug/uJM6gCg/NBi2E3lD3AEwTmY
 YMEHM0Eo89mIRgQQEQIABgUCPaKUeQAKCRDh6e74fbtvQSmoAJ9HCY8UdGJidzNF
 KwZfe4hPNSsyxQCghW9jw9YmOJkL0khM9T/ObBHRsYmIRgQQEQIABgUCPaMf8gAK
 CRCT82lDB9u/z+FgAKCJhJtQJL/IWuEHrwaMOzCciaNAwwCgo7JG3LwdKXuMDd9U
 IIiLdDpo4tGIRgQQEQIABgUCPaMG5AAKCRA0BDtoCX0/VQwDAKCGdknfi8LOrA9d
 /DZ1bL+ziinH7wCfbzssDMBl3lk2XOyYxHu9OwOUG96IRgQTEQIABgUCPamSQwAK
 CRCg69IuxaVxo3QzAJ0aPnSw+fmsrjeUvbxxm/hYiKRpdACeJ31wyzywkuGDmkZR
 jUtu9FjGgvmIRgQQEQIABgUCPamh+wAKCRBid4/0XvxVgsnqAKDbDwEL/0LIAeFN
 ksQlJMKJvmL5fQCg49d63dzlf6CGBzOEyxi+oDbd8ESIRgQTEQIABgUCPalftwAK
 CRDKk6NkAcCgetZaAJ4kzLKNGJNUec0+xpIpT6tTfxC8zACguXnsLsNZ0+jBMKOY
 Ieqza+3AyNKIRgQTEQIABgUCPanuLQAKCRBXqgy8iXHukSxgAJ9Ro+qXA8/+x+TH
 1u12UFr6Lk/CuwCfZPgS7RqYzbX8zUpR2b4+c6mf2tqIRgQTEQIABgUCPa26GAAK
 CRBtIQ42qnKHy9TFAJ49cIxTs+m0pA3VrYFjsu3hOMnpFACeMp+Evlkit9ddvrP+
 m0uNV+qqDG2IRgQTEQIABgUCPbJ7ygAKCRBfli7LrmESF03KAKC4gi8VUcmT79ls
 xDQTrsZ/8TTGugCfVQeNotyTsLhPlKZw7rMzhfij6ReIRgQTEQIABgUCPe4PcQAK
 CRC3gJYKEvlMRsN0AJ4+BCQsl1w7ecPJdBpBXhz2zJqttgCg07UpF+Mjxz2kIHHA
 hRBgVh7AhPWIRgQQEQIABgUCPfCF0QAKCRD4MU/sLLlElRVWAKC0iCa3eREcovyT
 TLKO9/t3g303uQCfW07f8XhJ30HsrgBXRGMBMFufHNmIRgQQEQIABgUCPeDE1gAK
 CRDyQgCBgr3vdEyhAKCsTxGYujlcC5MFwwIvAdF0gkCODgCeOyejN13b8lDwqTIG
 GWgcMNYhZCWIRgQTEQIABgUCPeHP0wAKCRA0pYpdjc2B+P2OAKDELljFrGV85WHW
 4kBU0kQAZEDxEQCfW7QgKSWcXMSXa0RidcsdBn+TJp+IWAQQEQIAGAUCP+1Q2QYL
 CQgHAwIDFQIDAxYCAQIeAQAKCRCBFenYzl9VTQjzAJ0cpYi+A6e+c/5XYiysLv+o
 /n7BjwCfWxYKnGdMKGUD8GBNUSLxFCbIGYqIRgQQEQIABgUCPeKk5gAKCRBYtWpA
 3MV1lkbEAJ9KMWQ3p5+ceSJsruNGRDsOntnTigCfRMzcsyzxzT3ncqeX+SwKmbMQ
 vGKIRgQTEQIABgUCP8jfDQAKCRB6hTJqN5GI3qofAJ9mHIJvRB7rf2urP4RaT4PP
 +4vg2wCgk6/GZEGaRngOXhdeanvVcMxGltiIRgQTEQIABgUCP8osNgAKCRBujFd7
 G7FxaBs3AKCEHQxpUBGAed8pEdhvBNGsJgUfwgCfacd+t+J24XMrzLEHF+CWDSj8
 scyIRgQQEQIABgUCP8palQAKCRC+jL8eYgxA7ZGFAJ9yThe7M04jK19RJApmUIC6
 oQ0gfQCgpDhCiTf+C2EBzS0bwRBrspZ/00qIRgQQEQIABgUCP8qHBwAKCRCRaxpu
 McNnH6a3AKCoUBJDcp332uW9cd6gMSJr7rIbEACfboFIMeilqey8vI3rktNso2xh
 81KIVgQQEQIAFgIeAQQLBwMCAxUCAwMWAgEFAjppb9IACgkQgRXp2M5fVU3GFACe
 Pwx0Beh0P95n7+QfmVOzlGsxKcoAoKS2JixAHziI6WR49MbyhZ13zconiEYEEBEC
 AAYFAjppb88ACgkQgRXp2M5fVU1A9QCg2BJLqwfN8oCw3QNVITUQ3QgTKNMAn0Vr
 mwp7qqRYqdrKlQ9UxXv1jscQuQINBDd2Z64QCAD2Qle3CH8IF3KiutapQvMF6PlT
 ETlPtvFuuUs4INoBp1ajFOmPQFXz0AfGy0OplK33TGSGSfgMg71l6RfUodNQ+PVZ
 X9x2Uk89PY3bzpnhV5JZzf24rnRPxfx2vIPFRzBhznzJZv8V+bv9kV7HAarTW56N
 oKVyOtQa8L9GAFgr5fSI/VhOSdvNILSd5JEHNmszbDgNRR0PfIizHHxbLY7288kj
 wEPwpVsYjY67VYy4XTjTNP18F1dDox0YbN4zISy1Kv884bEpQBgRjXyEpwpy1obE
 AxnIByl6ypUM2Zafq9AKUJsCRtMIPWakXUGfnHy9iUsiGSa6q6Jew1XpMgs7AAIC
 B/4iOQRTLPaimmNLii/gU4Zh8u4iATtDnkMY9ldInQ0QT4qrK9/bRe/jnpHTlrTm
 aKd48B+wDBoUjU19EbFl0FN1e2Zum2oOBKfEwr8Up6tmBY9vsxCsqY65fP432P3s
 ILrLh/k81wqVXhuEvUxpkbZMtEePLLCl39G6RXD2M8qe5LsIgjFH+a8uCRwdUWgF
 Dv/R4HpwKNk5U6u5Jmh3XWh/OoHPshWV1AfbUFCVSwuuu2r7g2VzVhBbWqdlTfLs
 Cvf8JBbmWwBQOj09F1IQN9hZzXxa5+K5DdaSuFXURglTpRnONTwbkPwM37526h/t
 VAf3gSKBEtg1jPveLVdKxoGKiEYEGBECAAYFAjd2Z64ACgkQgRXp2M5fVU3vzQCc
 CC/qqMn8MWKJ0CbiXiTSu7dpojYAnjslrpODNzSntRQ5rK0SawJXsWWk
 =CMdE
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.89. Rusmir Dusko <nemysis@FreeBSD.org>

 pub   4096R/4C93E3D2 2013-05-01
       Key fingerprint = 6FEB 14C6 26D4 7E3A 57DE  487F B6B9 B8F6 4C93 E3D2
 uid                  nemysis <nemysis@FreeBSD.org>
 sub   4096R/9CF8C13B 2013-05-01

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =amfC
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.90. 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.91. Daniel Eischen <deischen@FreeBSD.org>

 pub   4096R/7D15560B 2012-11-17
       Key fingerprint = 0039 2133 69CA 14D3 236A  E331 361A 68B2 7D15 560B
 uid                  Daniel Eischen <deischen@FreeBSD.org>
 sub   4096R/A51F81F7 2012-11-17

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 bwlGxw==
 =J3ZL
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.92. 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.93. 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.94. 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.95. 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.96. 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)

 mQGiBDoc52gRBADCgyiLgEDhBbalLQ1VGkvfbdazaBHQRdGjsEPwPEG1xSI/5FFm
 0497ZJEYkUG4rXbgaNATSSS8yrqJ5i0rX2t3Y1TYOVim8gLq5ntUQtAdhHtnZD3n
 GbiBLRNRTD/HYd73ta4V789JMheUrQt192IRZZG8iKMjjaW+YQ5Z7nQxZwCglyEp
 33kslkv25cFVFWEHUhLvck8D/2iTzX35onmQkXdYEk8S8sS71UoSBgf0q5/4D6aq
 /Oq4zUYiChC7WGNNMjLSWDPsvt4U01SHfZVMOmbgJXmY6gE88tv32pGkLaIW+f3v
 BkKLwO8le5GvnfTA+xTyADcrqiZBdtH0zDd1jY61XCsAFyJmMnM+xbwT/dXa+Jtk
 h3CZA/sFdlpJrH65GHcuyuI/6bGwUkQqpTMCmYeXQjcEsTt2bWQ+knaAFJ7q2+uZ
 fmmzlhqNuPZ45TTd6BdRFtJFFOndi45yEZsSN7XNBcHGx5MshL4jCEtqQEDfUogd
 UbwkJtgK0URxFyZ906xhVwgwvX8eW9CzPj0wYsbYLZtGZ4zVobQnTHVrYXMgRXJ0
 bCA8YTk0MDQ4NDlAdW5ldC51bml2aWUuYWMuYXQ+iF8EExECABcFAjoc6IYFCwcK
 AwQDFQMCAxYCAQIXgAASCRBViHmp8Q0GywdlR1BHAAEBbQcAn0oa/bdjZ3ofFKf4
 1GT/UYftjziKAJ0Wzsy8sDahkaJbyWzKupp8Q7Uzy4hGBBARAgAGBQI7oHuHAAoJ
 EKkf+mOb7TNKOesAoIDjx0iq2xsnFfcECkh/zheU5HShAKCpROLbXal5pK3U2XC8
 t44oAXDL7IhGBBARAgAGBQI9S8/aAAoJEBBfSR2o12TYudcAoNufp4D+vHXyCX+g
 K/RMOpcLQmFUAJ9TbuD0ghWzqYY1VGdxrDusUux8dIhGBBARAgAGBQI9O+wTAAoJ
 EEUnYQZfFVEBfVsAnj/sw5aUDA2vEghr6ZgwzCmzPzeaAKCAMiJxQpog5s1HD71V
 3ZhLgk+KWoicBBMBAgAGBQI+sYSdAAoJEC3GaJzjyx7FiZkD/1H+Y2A1iZLXGBb0
 16UTUb7Dk2E6VO81SPtviliM8mx4onuvEHHJq789gi8N3TolhLPnPj1ZfEAGslIX
 5/JQRx71qhk3hDnGNaszxrgoTkYHQaaoxgZyeoWYP2wVHYF3eTXFLjh3Q8ZAZMGX
 yNwsYvvdMTIEP9kIQV/5oyuI4H+eiEYEEBECAAYFAkC9Dq0ACgkQ/PmauBrc0r5s
 +ACfetNYnG+BDKQzDeVgBsP/9depWVkAoI4Ey+1kZmeIdMAwnHOSV8b2TF/GtCBM
 dWthcyBFcnRsIDxsLmVydGxAdW5pdmllLmFjLmF0PohfBBMRAgAXBQI6HOdoBQsH
 CgMEAxUDAgMWAgECF4AAEgkQVYh5qfENBssHZUdQRwABASlAAJ497mVoCv4YJtvI
 begRpjXIpnPRhACffoiU3BSc8pN7gUlWtGZDB8Y1Xh6IRgQQEQIABgUCO6B7gAAK
 CRCpH/pjm+0zSu47AJ9KbtPOqVhHdF5APDbrc3olf7lyNACfc4M3ZZLSXzG2fsoH
 LoVX93P4xKaIRgQQEQIABgUCPUvP1AAKCRAQX0kdqNdk2FxfAJ9WA+1axtpqoafb
 5KAMCZB0ALSg/ACdFFizbtQM51ebXiNVhcT3rmVorCeIRgQQEQIABgUCPTvsEAAK
 CRBFJ2EGXxVRAcQuAJ9YP7X9N3xWPpgWF91eHfOtsCS0OQCfdKlgYCv3vJfFNjFj
 H9pNkBgjrtmInAQTAQIABgUCPrGEmAAKCRAtxmic48sexRS4A/412GhjArnp4sER
 F50HACd++Dmajzjbaycih0UyFk9Jhx7lkpNMFV0EyNKJq9unBfvuX4ji8kuq62ln
 I+p/avkjBkpqN9XH0YIQkCYh7X/I5saVWTSqUJGZMPR0HrnJziWyOAiQWEfJc4/A
 yY6IuS4HMIRvlcVql9MgMWUvsiCwiYhGBBARAgAGBQJAvQ6tAAoJEPz5mrga3NK+
 5uMAmgOksIQqUnvIB9AA/egOVWPNTIABAJ9iWClWufO9VSjm+uKCXFoEZbBAfbQc
 THVrYXMgRXJ0bCA8bGVAdW5pdmllLmFjLmF0PohfBBMRAgAXBQI6HOhwBQsHCgME
 AxUDAgMWAgECF4AAEgkQVYh5qfENBssHZUdQRwABAdfRAJ9sUaTyswjTHMCSqZHN
 ZDAsCVhyDACfehlPEYgA/zu0rHhQW1fFxRlkhTaIRgQQEQIABgUCO6B7hwAKCRCp
 H/pjm+0zSh21AJ9sa+U9/NyXhVUm+HjhpV/bL0Le7QCfVc80UHqb3b0Dcen+jov7
 tiJ3eraIRgQQEQIABgUCPUvP2gAKCRAQX0kdqNdk2A3wAKCR+d/9qrGqzpGoBLQA
 b9SRAjl/BQCgop5t90WbPwuJm/AVdbE+N6As2w+IRgQQEQIABgUCPTvsEwAKCRBF
 J2EGXxVRASlFAKCFlpd7McKT98cATC+8Sd4RFNAUVACfRHTANXgfK7hmvvD0pWr5
 nofT7p+InAQTAQIABgUCPrGEnQAKCRAtxmic48sexfwPA/9WyE6OAshMZUuCjHvo
 nHt0G+qomn+6CrPrps9il0ofWAWHEDMM57OkUYu8O1uY4G2WDfcUGx3XrzHxqsch
 Seeb5/aD4z57ZQzdGz6zRyorJxHJ2S4vTvLv5QWSKCBqYUEEYgPC22C+JHCfvTcx
 76bDE41skqjwcJNNo0sPcMHAMYhGBBARAgAGBQJAvQ6tAAoJEPz5mrga3NK+qYEA
 oLuLq1uPXXdYnrJ4e+c3qI3Te5FBAJ9lkHFlMp+6lcQ/fN3kSxWMrH1ohLQbTHVr
 YXMgRXJ0bCA8bGVARnJlZUJTRC5vcmc+iF4EExECAB4FAkAmTJ0CGwMGCwkIBwMC
 AxUCAwMWAgECHgECF4AACgkQVYh5qfENBsty0QCbB6IgEk3WC8br8usvNqWt2t3y
 93IAnjwh2DGgCRk9AH7fdNoSF+an6CquiEYEEBECAAYFAkC9DqgACgkQ/PmauBrc
 0r7yNgCfegCimXz8NHxxTnfsz3UU++dz4jYAn1nPAh8hwYPh1rWUjHh/ATX356x4
 uQENBDoc54kQBACRE1IriFYgaKg3pDeBPDM/BUflmZSlC50NIgCadloOGwu3AFcs
 ooWwN9nsVehbN9xjfZa34/xXo09Rn14o5kTKYGSqzYY0XbsNjZl5uj0gTGFRmjS7
 fNoWpdsfh38xXZAJOghxd/KFRV5fdnKoEPz+ARNo2DRZpiiEJUa14e6lpwAEDQP/
 TvA9mc8OEa9dn0AzCRwvITqx80WBRBVBl9bC+fx4R/CCt0O+gtkoPBlAdY/r0+XQ
 ZhCeOROXy7e1sbAMm0U0QHgckne83VgzV9TAWHtP2dfGgtOzUE4PlUVBerTCGADP
 FTN+kcvV6U/O+knnJGmnxxOq/9qtkdtEHvyAzWjehPaITgQYEQIABgUCOhzniQAS
 CRBViHmp8Q0GywdlR1BHAAEBIkQAn19uApjyy6+M+JD7Qt8inbcYjk7cAJ0eNltS
 Fv2s0kptGIN2izILm1myaA==
 =qAVp
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.97. Stefan Esser <se@FreeBSD.org>

 pub   2048R/5B67BDFFAC91BF2B 2013-10-28
       Key fingerprint = FAE1 71FB 7760 6F2D 1674  D25A 5B67 BDFF AC91 BF2B
 uid                          Stefan Esser <se@freebsd.org>
 sub   2048R/03A1012574860DCE 2013-10-28


 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQENBFJujn4BCADbo/gamtEcXU5VxbBWI0HMNPk0jJg+6BCbk5BFkZCylH7h0A/9
 x1NWonp38H2e4t7z2/PfazeCNIEYPiq4ecipLBEbOjxuH6TkWjt8JzJU4/lAReNi
 iALrj2Al6sVaEBFKmV03WhRuByETgXkOet1UffEAK8QiHWFnAb1ergcTImwZ1GlO
 0Vi3n2RT3jU9TaaZcDs35E/D6gK8fvHpaB2y3wUqD+AexUZzUld3pdOjztRdPv3H
 /nh5iMoNRnErPr/RUf+Jrtwv9bzrm+GYQhdu3WZStQpxQLcbAcU7a+kOnEGKfv2h
 OxqpQoUhUFEN5om4Qu+USy4Ah0RFVXcfxjzVABEBAAG0HVN0ZWZhbiBFc3NlciA8
 c2VAZnJlZWJzZC5vcmc+iQE5BBMBAgAjBQJSbo5+AhsDBwsJCAcDAgEGFQgCCQoL
 BBYCAwECHgECF4AACgkQW2e9/6yRvys3+gf/RETi336hipvLxQh7xiEI8YFQEud/
 fZcMwd1/IFLMoMPCARxKLTyy79MvdnTRCoa9jY32Gk1SCWp+1Jjpc1B3Ax/ZsuTQ
 Nejsq2rR7jwMuYBHJKhOdk4TQ9u9jJKK2Yni9qBcLcRtoyQOffahrUYx1ChBmwes
 BZdZ72X2HV0mdTj6UERJ4cemsfV5hHIpJLXRHO7MjhgIESnA5+8sm/kP7Vi90pnt
 6hDgFBN4H5ygTU+1eu9lpDgZ5u+u39bvbLANB0xgKuPfFgHY3m0lMZttQrgAF3V/
 4M+Uxc8EDIIrJ4iD5TYc4eEeZSpKcObbltKkOXU83eJDrECtqPu/TjullrkBDQRS
 bo5+AQgArzK59o+KlGN3yU0AE3XbqboyADCFe2L3XeTxRrfebL4D6yAxPW/XRR2E
 mbbLwGCaiVgZlso/QqsGW/DN/xkFQ4cnu/LQt+YjiWGikN+r3GXiMcNJP4BU+73T
 dkWbia+1R4lfZJb7x+k9267+eDAZdTKYWZJ5XNLibcq7SwE+yiXWJtopzm94EBDX
 FqyLY8QbgcUUlF2wC3DdB7ayacgPt1Kijp1WHJbEK+w7jPezNSz7fIczR1urduh5
 BSVvmMrGMDToS9zXCNS30AkC3tBFG3GbMSQD/HRUBnl6P63B/XC+c5/x9TWTR0w9
 7GFhTOllQraRfnopPc3i/P7IgLmjVQARAQABiQEfBBgBAgAJBQJSbo5+AhsMAAoJ
 EFtnvf+skb8rxSMH/RVy6D2rLiQpximG5UpEPsjU4KXnke1+bRxduV3Hh0OXxEFH
 9BYzvEKtJpw+ttjRc15nrjNn9DBxtb9gVIov31/2IEgs7n4qTtzQlCFMRMXScJ1A
 M1I4mJiCBufznqVu3SieCgeccy1UFxiKrVMZsrHbHIo2oGzhGFmjyB8JOgAXj3RY
 Wzf9eO+XDRyTsBJ72a4vz4H/zOwVPUaWfh8X3BU/je5q0Ov6HBbHKeFWNkUIrycI
 E6T3zRjxj2b83CIyDemrcdaGw1YdHcqNwwFGuocKJCwvTXEA0YHvk+6xNrteN3wM
 U/7jBTSsaYdrNlbNmmKvJYtDUtAbZ/tx0bhx9E0=
 =mFwq
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.98. Brendan Fabeny <bf@FreeBSD.org>

 pub   4096R/0x4AE10A7E8F65FECF 2013-09-27 [expires: 2016-09-26]
       Key fingerprint = C5C3 8EB7 0DCD 2BA2 B8AB  6BBC 4AE1 0A7E 8F65 FECF
 uid                 [ultimate] Brendan Fabeny <bf@FreeBSD.org>
 sub   4096R/0x8B6BF0BED7B81E31 2013-09-27 [expires: 2016-09-26]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 XcnczW6WVzTkBFd2n0k1slA=
 =lqs2
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.99. Guido Falsi <madpilot@FreeBSD.org>

 pub   2048R/56CBD293 2012-04-12
       Key fingerprint = F317 2057 E17E 4E3A 3DA5  9E1D 1AE6 860E 56CB D293
 uid                  Guido Falsi <madpilot@FreeBSD.org>
 uid                  Guido Falsi <mad@madpilot.net>
 sub   2048R/1F9772C5 2012-04-12

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =pMfj
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.100. 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.101. 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.102. 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.103. 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.104. Mark Felder <feld@FreeBSD.org>

 pub   2048R/1F13E252 2013-11-09 [expires: 2014-11-09]
       Key fingerprint = 7481 93E6 C417 1C8A 4B6B  2488 983B 6450 1F13 E252
 uid                  Mark Felder <feld@FreeBSD.org>
 sub   2048R/C025EB78 2013-11-09 [expires: 2014-11-09]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =XAx6
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.105. 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.106. 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.107. Matthew Fleming <mdf@FreeBSD.org>

 pub   2048R/A783DAA2 2012-11-22 [expires: 2016-11-22]
       Key fingerprint = 773F E069 BE98 CE96 4AC6  B8AB 1A1B 255E A783 DAA2
 uid                  Matthew D Fleming <mdf356@gmail.com>
 uid                  Matthew D Fleming <mdf@FreeBSD.org>
 sub   2048R/4015B7AA 2012-11-22 [expires: 2016-11-22]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 156vpSWN4W+DpFUoSSRJYJNqlyOf13a1rQ==
 =BME2
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.108. 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.109. 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.110. 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.111. Bernhard Fro:hlich <decke@FreeBSD.org>

 pub   4096R/59C48D501F718F36 2013-11-22 [expires: 2016-11-21]
       Key fingerprint = 2824 75D6 97AB C053 1B71  C127 59C4 8D50 1F71 8F36
 uid                          Bernhard Fro:hlich <decke@FreeBSD.org>
 uid                          Bernhard Fro:hlich <decke@bluelife.at>
 sub   4096R/18EA4819E808DF16 2013-11-22 [expires: 2016-11-21]


 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =ECQr
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.112. 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.113. Andriy Gapon <avg@FreeBSD.org>

 pub   4096R/0x380342A852615619 2013-09-23 [expires: 2017-09-22]
       Key fingerprint = 6414 0613 EC1E 5175 77F5  785B 3803 42A8 5261 5619
 uid                 [ultimate] Andriy Gapon <avg@FreeBSD.org>
 uid                 [ultimate] Andriy Gapon <andriy.gapon@hybridcluster.com>
 uid                 [ultimate] Andriy Gapon <avg@icyb.net.ua>
 sub   4096R/0xFFF3DA35E4129D34 2013-09-23 [expires: 2017-09-22]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =FILX
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.114. 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.115. 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.116. Simon J. Gerraty <sjg@FreeBSD.org>

 pub   1024D/B6CC76BF 2002-06-12
       Key fingerprint = F3BA D6CB E1F8 02EA 705F  BCAD 6125 F840 B6CC 76BF
 uid                  Simon J. Gerraty <sjg@crufty.net>
 uid                  Simon J. Gerraty <sjg@juniper.net>
 uid                  Simon J. Gerraty <sjg@NetBSD.org>
 uid                  Simon J. Gerraty <sjg@FreeBSD.org>
 sub   1024g/D94B72B9 2002-06-12

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 U4BS88b/Bo4u
 =onBO
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.117. Justin T. Gibbs <gibbs@FreeBSD.org>

 pub   2048R/45A4FC2F 2012-02-10
       Key fingerprint = B98A C3AB 412B 094B D6FE  E713 FA5A 1E30 45A4 FC2F
 uid                  Justin T. Gibbs <gibbs@FreeBSD.org>
 uid                  Justin T. Gibbs <gibbs@FreeBSDFoundation.org>
 uid                  Justin T. Gibbs <gibbs@scsiguy.com>
 sub   2048R/AF6927F8 2012-02-10

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 p74XqpZ/mgqZi+JmS/oDsRIZVbUjIyFB66IX
 =nVkv
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.118. Pedro Giffuni <pfg@FreeBSD.org>

 pub   2048D/422BDFE4 2011-12-06
       Key fingerprint = A12B 7C6B 54C0 921B C64F  7B35 58DF 6813 422B DFE4
 uid                  Pedro Giffuni (FreeBSD key signature) <pfg@FreeBSD.org>
 sub   2048g/43A91DE0 2011-12-06

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =fr2c
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.119. Palle Girgensohn <girgen@FreeBSD.org>

 pub   2048R/4A6BAAAD 2012-02-23 [expires: 2016-02-23]
       Key fingerprint = BD8C 332C E630 31D6 2FDB  80BD 5FF2 A161 4A6B AAAD
 uid                  Palle Girgensohn <girgen@pingpong.net>
 uid                  [jpeg image of size 8260]
 uid                  Palle Girgensohn <girgen@FreeBSD.org>
 sub   2048R/6BC41243 2012-02-23 [expires: 2016-02-23]

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Comment: GPGTools - http://gpgtools.org

 mQENBE9GCt8BCADCoi55nNYodM/0UAyytLNzQlpV0SbqL/GLZKeBHEow5U1GfQo3
 6NLXG6mNHs5+HEiC31tRNJHkOeg2YXkU29ZtY+Ec829HJIjotWwHT3XwS8yxA6/b
 7L6+TtEUQ0FeWnFkggHerK7mDTfOULBV/K6gtd4DX+4THEIDbmtTVUOdtfDcnB3H
 yYqo4v16Wdc0GF1N+TM4unUc2gt4GNiFXNDaQO2NkA7lLOZ0rC1vBjHDYGU2rMQi
 kDQpYjk8LGHs0uZnMFhcdnWY1rqGzTckf01KFXEdt1TYS7nRRu9G0Jod9awIjyFG
 LdPJRtR9SLiYlAC3NYMB94aHMKq9ZOwi73mPABEBAAG0JlBhbGxlIEdpcmdlbnNv
 aG4gPGdpcmdlbkBwaW5ncG9uZy5uZXQ+iQFBBBMBAgArAhsvBQkHhh+ABgsJCAcD
 AgYVCAIJCgsEFgIDAQIeAQIXgAUCT0fOLQIZAQAKCRBf8qFhSmuqrQ9ACACD4ahY
 nsjOQ7Q8yA4dad9ZejHAnV+ehbBppobGq/mp/p0rHNWmc8+neYzIoEsiwGN3FuRw
 e2J3BmAsfauwO/KBZwmK4Y5C1ObGyYJE+eoajC3NaMkoR20T1KDFFf5GQgTWlWfY
 nYgv+sW/dUlb8xed2bGobGfaHJqG1ZXU77cjxC4ot5Gt7lIil02QoSdV/7p6qBqu
 +47bytcosrSlBZNMBXD0hZWVcgiJx6UMKPoDBUK3EvRoml+0fudnRJgwdTWUy0Px
 frg/ITplzzgBQdchtv12r6UZbjnvM87kbdbyc66/t6RMKsjQP7e8ZWNMYwNtx2+3
 7HyMvLC5wmI3boQvtCVQYWxsZSBHaXJnZW5zb2huIDxnaXJnZW5ARnJlZUJTRC5v
 cmc+iQE+BBMBAgAoBQJPR84hAhsvBQkHhh+ABgsJCAcDAgYVCAIJCgsEFgIDAQIe
 AQIXgAAKCRBf8qFhSmuqrR9MB/44xJ55W5VYw4Kkt1bqwRi9ixk0k4huSDouOLbt
 xILrzYjMaxGJpVGB9SmYcxBJXskhsXgHzPNyz7UJYfU8GpqAjos+SVFS0xa5+kYG
 1Pex9ETOla3sKHy7nkl2zL7R0yx9GDSvqPvAY5/4QKQQsd1TA/p1TLRn96re1LF/
 9IIU7Rgpf99DTX/mpzH39I2R1dnxyp4L/chUWFyNRv/2KISrxqPCEUve97QOYXqQ
 B9XnC9SikEyWoFloZ4ZC8fMgjjfvPNd10Lb5nk8HJ7WWuhDQIlC1WlQG0uQ7YHE2
 nAwAhB0HhRaf8E+18XXv/MmJHLZ9CXrZmkEYbBmxWV2RZYFH0d+X35UBEAABAQAA
 AAAAAAAAAAAAAP/Y/+AAEEpGSUYAAQEBAEgASAAA/9sAQwACAgICAgECAgICAwIC
 AwMGBAMDAwMHBQUEBggHCQgIBwgICQoNCwkKDAoICAsPCwwNDg4PDgkLEBEQDhEN
 Dg4O/9sAQwECAwMDAwMHBAQHDgkICQ4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4O
 Dg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4O/8AAEQgAgACAAwEiAAIRAQMRAf/EAB4A
 AAEDBQEBAAAAAAAAAAAAAAgFBwkAAgMEBgoB/8QAOhAAAgEDAwIFAwIEBAUFAAAA
 AQIDBAURBhIhAAcIEyIxQRQyUSNhCRVCgRYzcZEXJENSsSWiweHw/8QAGgEAAgMB
 AQAAAAAAAAAAAAAABAUAAgMBBv/EACsRAAICAgEDAgUEAwAAAAAAAAECAAMREiEE
 MUEiURMycZHwBRSBoSNh0f/aAAwDAQACEQMRAD8AkQ8SndSWl0NZbLpQXyvN9Z4J
 H0za1qKrIYhiVZ1LIjDLADHILekkEduzmqu3/ZywUfb3t9p28097uVykrtQzS0wp
 paiTPrlqHO7Z6txK/AGcKoVTDxZfF3eJO/0curqe8VdkijmFiqrfdWorhbJ5tu6a
 nkAK+S7rl4XDK+1T94yS6unii1xR6Ms1Nq+nt1FPUUpnaSqoYILnLT/dH5r/APTJ
 bO2NgWGBJIQRgIXqt2y3men6f4RrIXx7w8O9/fZbRbwk8zJFdKiGBkNWZZKySIMU
 iyvJRdwcxoA27aTjPA56W7rV2j7hqGhsLrBqO40AqauoZl+rbD4MjSE4hT1MAfVt
 XIQO7kkOqjuWmpdSUF0Wnjv+oqaLy0qqenk+ltcUjlVpqWIkHfLJ7uf1pdrt6FG5
 VFqG9WDVlxpNP0n8x1nfK6ChpEZxPKZSPVUTYOGYbj5VOmOBudljGCZVQQMsYw9C
 jUCSe6K8XlDqTWlNYmestVnqIVirJ6H0ujqB6wx9TSvtJCqCdilm2oMmSXTV0S76
 Et1bTVsVYZIlbzhJvIyMqSQBk4wfbBz+Oos9AeEDVmrNBUtRT6goLStZHIlbd1DV
 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
 =RtWL
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.120. Philip M. Gollucci <pgollucci@FreeBSD.org>

 pub   4096R/D21D2752 2013-07-21
       Key fingerprint = ECDF B597 B54B 7F92 753E  E0EA F699 A450 D21D 2752
 uid                  Philip M. Gollucci (Sedan Magic) <pgollucci@sedanmagic.com>
 uid                  Philip M. Gollucci (P6M7G8 Inc.) <pgollucci@p6m7g8.com>
 uid                  Philip M. Gollucci (FreeBSD Foundation) <pgollucci@freebsd.org>
 uid                  Philip M. Gollucci (Apache Software Foundation) <pgollucci@apache.org>
 uid                  Philip M. Gollucci (Taxi Magic) <pgollucci@taximagic.com>
 uid                  Philip M. Gollucci (RideCharge Inc.) <pgollucci@ridecharge.com>
 sub   4096R/05519D52 2013-07-21

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Comment: GPGTools - http://gpgtools.org

 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
 =UTgF
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.121. Mikolaj Golub <trociny@FreeBSD.org>

 pub   2048D/19D0B7C168EB30CD 2011-03-13
       Key fingerprint = F941 9360 203C C663 A4A3  8FDF 19D0 B7C1 68EB 30CD
 uid                          Mikolaj Golub <trociny@freebsd.org>
 sub   2048g/8E49E362CF53D752 2011-03-13


 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 95UW3HLgoiawZSfnj+e2+EfHUgAm
 =AhML
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.122. Danilo Egea Gondolfo <danilo@FreeBSD.org>

 pub   2048R/9788BB7C 2013-09-23
       Key fingerprint = 8946 BD31 4B3F 4AD2 428A  D6C5 D847 FA50 9788 BB7C
 uid                  Danilo Egea Gondolfo <danilo@FreeBSD.org>
 sub   2048R/7FAB4DF5 2013-09-23

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQENBFJAsQUBCADGGevxbnyfej7DGSv7EBBIXUiemS/1z9QdKEjU7DYsGbeAv0AP
 RU6wzqfaCKP+UAHvaAxt+nYaadWgEYlvrozNpTaQxR17sIJPYplPcDglOWb544Dm
 pNkSQK1tJ7MPgR7HleeFv7Lt3WYzvUoPH1P97GzPFwndT2mBlimQeHlpdjmY6Neo
 3ZCZ1qYQ+4/YlwU7dvx8R1lPVyTd1DLZFyU7EPm+MQhEfXfanG3nCttPf34gZp8Y
 Br+MOx46OhBaih0zN750VJoM4N9qPQ7ctm9Y0sn7muFVmV9Q/1FOuny3R2nbAXmJ
 wzJ267uK4YI39UiEXkb7pPDueViJVhc+GK3RABEBAAG0KURhbmlsbyBFZ2VhIEdv
 bmRvbGZvIDxkYW5pbG9ARnJlZUJTRC5vcmc+iQE5BBMBAgAjBQJSQLEFAhsDBwsJ
 CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQ2Ef6UJeIu3w7MAf9EiL3WLmz592p
 iK8eV9rZGVdOK6XYQJLp1vXCLoK0yozKLI34hXtIeUAOVm8d4yI+wOcjush7NyAI
 a3Q/nHpW/dD4pYCj0mn2SBWnv15rPzEdIroRT+dpL44UAL+PrBhcvn2gERULGoJE
 JYZpVRKcuB+7foZxoMk+7E/EcGHsMQwJ3pWWIKzD0qwUdluLs5gowcxGeTCFHdxK
 XWUNkA9Cr/+KW8LDFF1jVd7ARrplDm5z5o2x+JnQsYXqkB/mMWBCKv+0gmK2xbFp
 VR+7mlmIlydKsusCXaBw3z6lAogfsN56GBJIxYwt5YMQtMT9l6bfltCevtQPrJ32
 tHw0W9AOBbkBDQRSQLEFAQgA8Mw4jX0ErgRJ1vV7s4FsrK3n87ubxdj9NiHN4cSo
 B64x24iXd8DscEpPAf5lJKdVmVPd0r7zHcUHEFTjLhlKgWu/hUVeovGEaJJNTvOr
 3crLuQS0keWkKfWhI5O/yGIEe8vFFBBtye/tG2ZQ477buyT1E0Moq26bdY64N7PS
 uazxZ5h22xyCiTQpCILC4pSAmoEhwXviODTPwyFGviJGIo1cVwzLWri4ObMumMGl
 a/m6CzT7gxXqLlYfOEOVBbSMT7OanVzb5QaOc25oi5CMXbBMUB4NWYzAK9nxvtiu
 dFB/2iPvkTUIldwjV+PJoY2lcZ8gN36zHTzeI3vVuo4CIQARAQABiQEfBBgBAgAJ
 BQJSQLEFAhsMAAoJENhH+lCXiLt8PBwIALupt2M/U2U/szyvwmMuGg9tJaQKmKqV
 cyKXbtGPHVzycKWwRzpdVn4gUjyzuGKbIptE5sWMvUbHrfHvxXVFbJeN4SbzdnUy
 9KZZMph/UZUET2NefCnX8UdPeASonqgp2gzBiEGaB5G1Ph7aB/irzA6VmIGrsgVW
 qOT4hkz7CZsF8G+9xqbCHCyrQvw72HPYFFxH6Eh/P4UV7/tbFw6Zlnr1pGxSZkTj
 0StWUz1EdhXCA5Y4QI1BaRs1sTJQDT1jCYhMFw4nOKbRUeCOaI3ixU3ygco13eCx
 2QcclRxZFPjwiqT5Q0H7vW9uj2UwouRF/78Wlywm1YXhBQEwrWVWXm0=
 =NLwl
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.123. 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.124. 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.125. 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.126. 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.127. Edwin Groothuis <edwin@FreeBSD.org>

 pub   2048R/C593B37A 2013-11-02 [expires: 2017-11-02]
       Key fingerprint = 7046 C56A A497 73C6 096C  3F50 11C4 8287 C593 B37A
 uid                  Edwin Groothuis <edwin@freebsd.org>
 sub   2048R/731E3D42 2013-11-02 [expires: 2017-11-02]

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG/MacGPG2 v2.0.22 (Darwin)
 Comment: GPGTools - https://gpgtools.org

 mQENBFJ0hDwBCADEV/DRPMGZEBTMIIT+yYDzc+afLVB93VVrDRC8YjHQL1pEFvhn
 G+bmuD6hjFhv0ZK4p5iiiJmpgnCKQ/JRRRn3vCY+yk47omqxLlelhkRAAM8Z5Gbc
 IMgx1UfK3dtdkTvIVghkqOUhe4T87AM2KYAiHuhtkiRltiz7LlROYJphTdV5AI2C
 v8AtUjzPVz4Yx1rxXiAvLynF2ht3YsmLHJ3tEw//B/cRy/akCgTQXbE006lvdiiY
 hPq3AkvdLIMrk1OHeWoaezSfaKepazIwgpwywfglJICpM41WaY9BPAfSMRlA3mli
 fIWJE1mx6v7gXxmmS2KozoeUUJqxtC7epRexABEBAAG0I0Vkd2luIEdyb290aHVp
 cyA8ZWR3aW5AZnJlZWJzZC5vcmc+iQE9BBMBCgAnBQJSdIQ8AhsDBQkHhh+ABQsJ
 CAcDBRUKCQgLBRYCAwEAAh4BAheAAAoJEBHEgofFk7N6FXAH/RqLoxHz7pilbPxW
 bhvA6VgOAbXdC8iGbmWMj7IxLmUT3rcD2q0GoDsZgMQsZQxTTMcmEt0iKwNGmntC
 Cyro5U9BROYS3gf9EDL9blCgbZKWu22QHhJGOD/ZZdDvBiweJwwC3DNAnIitJzuQ
 Mgo5IhoPBJTB3zoklk4IYhdt2T2kcOu+jCjM9nld23UzBOR4KESGAcj4J4UfO5Id
 GdVvQdqdNTA3gDu5MJm8j/9l7h+NHFzSFuBQiIb/yLauAg91yP70QpU6gxiEG81g
 4czTMKNk9NbkMQd2cWPjMq59qw9fAi2Zz+ApNuPO5u3peRB/XsskTlCXMknqM4fu
 tcmogjC5AQ0EUnSEPAEIAM8SFImex0wo/2uNzMUEjxmu/UwuOymq1PBKAbZ/GBPO
 fuctbQtAK1avT4+ft8nTUT/TFhEQnkMjq65Yd7JB/jiWwDOjwOmuS1hhkWp9YO9h
 53Uo97YhDDPRh788j1cQtBj1rAOHaNMJ8K9QsJZo59oxeUajJxP779/9Fj1ElIt3
 bcpwMiRd4+k64o9UVxG6KHfC32S8b5aF36Br9ZLtVwXmvO8j8YwmdHGkYhajDvKH
 WmXsGSk71UYsWeo7Enji29KzAEuzZP2QWWtOw3U0nJUhoc92f5fWuEwUixph2lzH
 lbzCgHWV7tlxd6eBnXh53dIQoCG/wN6p+9ygehnejysAEQEAAYkBJQQYAQoADwUC
 UnSEPAIbDAUJB4YfgAAKCRARxIKHxZOzeqlwB/9KkNeew2fVxMLIazMXdPKo/E13
 R4KSYJLReItJ/g3BMyk3M95S1DWiDV7h8qXxNcOw/Vgd72fhdJ/dMuJBSvsbqwPn
 KxqtkB8/lXvc+ef3xJ+TzZIw2aAtyOD1cC2j1lZSQ4NVRe4qiMRRW4RvQX5fDXmK
 c72nxtlu4hESPeY2pzfih4Rbz8rQkEcCC59VYTNYBi+08U2N9foHu0x4zK7WNlL3
 33Hz8fARXZ8h1BS1+o7EfvEnkJrFtOaTR1jlCV4zG6uMONy7TJc/z1YVjjxxheim
 /+c3Pb5ZpvXvfttBJ365V+bGhqw1xeh8yb0wu30F3Ep4OT8TgUFszK9aoNiG
 =y0tR
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.128. William Grzybowski <wg@FreeBSD.org>

 pub   2048R/CFC460C5 2012-09-28
       Key fingerprint = FC40 5CD8 0879 7F50 0036  D924 D9F7 8B27 CFC4 60C5
 uid                  William Grzybowski (FreeBSD) <wg@freebsd.org>
 uid                  William Grzybowski <william88@gmail.com>
 sub   2048R/05577997 2012-09-28

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 oMxesc54A/7tC1WbOAgS8gM=
 =ZnO5
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.129. Barbara Guida <bar@FreeBSD.org>

 pub   2048R/3DF5F750 2012-11-13
       Key fingerprint = D367 F6C8 2A5F 2921 70D2  B446 27DD 6FD6 3DF5 F750
 uid                  Barbara Guida <bar@FreeBSD.org>
 uid                  Barbara Guida <barbara.freebsd@gmail.com>
 sub   2048R/1DF7506C 2012-11-13

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 AA+Qvw==
 =8co3
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.130. John-Mark Gurney <jmg@FreeBSD.org>

 pub   1024D/6D3FA396 2011-03-03 [expires: 2016-03-01]
       Key fingerprint = 54BA 873B 6515 3F10 9E88  9322 9CB1 8F74 6D3F A396
 uid                  John-Mark Gurney <jmg@FreeBSD.org>
 uid                  John-Mark Gurney <jmg@funkthat.com>
 sub   4096g/0A4C095E 2011-03-03 [expires: 2016-03-01]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =HmsJ
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.131. Mateusz Guzik <mjg@FreeBSD.org>

 pub   2048R/21489259 2012-06-03
       Key fingerprint = 3A9F 25FF ABF6 BB23 5C70  C61B 96D3 5178 2148 9259
 uid                  Mateusz Guzik <mjg@freebsd.org>
 sub   2048R/EA19FE8D 2012-06-03

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQENBE/LxOsBCAClEi5g5IYj8O/1uc7Li2lpx/0fPAZ6/LwOMjvzRHDHEc/yCo9N
 /zTYToL+dQBgIxYj07PVyPp584CuxvesS4VYU+VXXJxxdtMq9gEi+siVCt0cwpWm
 bVGTZgLcqZqUT/sJfPqyREmU+hUcR+ELHGjD2zEiOJZg2dB+EoqE9NLFcoUGasRq
 WKpfqdm50ipVbTU3SdK2mh5CnqC4xp5LXgBYa0tZkQFNh9mSf1PXouj7Zn89Ghzk
 TaS+ZbyBWgftvZRxqUaxtK34N1zdMKcWzcLsOAaWLyepBkvDzh2tZ55PYml7f+Zf
 7s0e1n5Sr5T9GysJAazd4Sny/6Gcu+Bm4ToLABEBAAG0H01hdGV1c3ogR3V6aWsg
 PG1qZ0BmcmVlYnNkLm9yZz6JATgEEwECACIFAk/LxOsCGwMGCwkIBwMCBhUIAgkK
 CwQWAgMBAh4BAheAAAoJEJbTUXghSJJZBlAH/0i5SyqIB9CBKrtUGrvytgCRc3Ji
 4bPlXc9uLRs88AFj0Y9G79vioIgg3Rnm0B7fOtlcBsFTV/kZqUEcO3iR8MJDR7oZ
 rAEyEG/fn++afroh1iqgEyOIaO7msQvNqb0NB/HJIj1EknWqVAYBZ4WiRcli7R5A
 P/JT0ArgTLuKu17MkOhn0sBiZdrep3fN7z2OgY+BNgbydb7O/T6B8hjah+TX7rAB
 R+EmggzXVwQbDQBTah+BjeER3jSd11zP7e4mO7CEkg5b8dXnWaF+n2aj05iM/axK
 Pms+tZwO47/OKI17ZjeAjxAWrZcWuavWY2BDNzmCYpuq+x3x8D75VUMBnX65AQ0E
 T8vE6wEIANUeU+eTvPlGr2ODloNKL+KWTHDpcpdKyljCvKA/7pI0FX8Ojp7dCtvz
 UyXRhL0EuzG8ywUhxpf+KkuOlxD23Q6+FiKDL3oTtwAmYaaslo69zgLEX0ohN51K
 6QOPQlGFdAxHbp7DVb5peJyC43G2+5JWdwNq13Ha3nGWvWn1Qql3A9xik7/oFRit
 NATwdp2oecyFBkfhkQrGbecOmaa/hEW8eUg6pgfz8A+Tk9KjaKqJGc5vplANvddo
 3ngU/PfIoUb40onLz6ytzUdYyHXiEkcx+Dgu6Pb6t17osFHjb5FlcnYnrKen64hU
 IAAH9ckP5HqsOE5wIM9M+X5JczNtY78AEQEAAYkBHgQYAQIACQUCT8vE6wIbDAAK
 CRCW01F4IUiSWRr7B/dr9JsKVhfaXzF0L7cnzYWV5QqJCkvCuklEqd+yOdKPfJig
 ZJVtjFVlRO8u4l/Z+F433Pw+gvBkR8vVTw2Ni62vyIspR1CTG0X06Vp+5qHzVOZd
 LWkQWlbVDgWedAY6i5ABscW2VM9wenrDJu0DuSMHTdsCp8Z3L+rvBjRLmA4WzyQd
 O/IUyrZmyJP87S9RgEe4L7JhDcWNDglJEEgX+Qgd7FJOUBASlRr5aUZ0iYM00mth
 d/EdBbJp+tCbCOfxFhXp6ULDkS9ExN/NwVDL/GBXu5ckU1shOVoDwPO2Ib0lfXkA
 r7vGsL7VXiKw7ITHQKDJ/dc8ab83QPdl3W3QeSc=
 =gTKh
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.132. Jason E. Hale <jhale@FreeBSD.org>

 pub   3072D/8F2E5907 2012-09-07
       Key fingerprint = 009C 54BF 32D0 F373 8126  C8A1 D8DD 2CA4 8F2E 5907
 uid                  Jason E. Hale <jhale@FreeBSD.org>
 uid                  Jason E. Hale <bsdkaffee@gmail.com>
 sub   4096g/7081A001 2012-09-07

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQSuBFBJ7kMRDACdF9DTaE8bAAGh3Q/Dd5Ckst0s8Qs7cJrb0qWGRUqV8vmvJr3J
 b5v+Bgb4wSN2UM+Gl9EJ485e2zJ5TkzrUgo3rFu1quPLnPehHDI97fYtA3CxbNCm
 j9tyvqmMKbkKwHkTvyIV+Rk8HBbWQcF3fSaVDqqi/XodkpXUrn2zom6Cy2/yC2+J
 H4+ebR9QjQYoXxYl3MlM8p/W8QBU/65TZPCFAdvI9bWL2f8qHdU9TdIOvboGiWbh
 gsDIYqEmI+2GzOrPvnuTPoKLuaJv+6MVdnnnqKGo/xMVml3Kj5QgDzjvs4+xVVAx
 D+7mCXs9LBYwujO/Wraq7ljr2+5ZER1EiW/jQgNc7jeg4rVQk35eF1Jiar/ztwhg
 Sll1xbynuY41si+1O/dMxtP/Wa7ouvcinpzAVdT1JfAr1P/nm4ASicGCKlLkhROb
 OdNaxvckoFB2W5PLccsRPOmCMveck3HrbCYh7Wj4GMPcnai4pvwG7Wd0xHjtQ4yj
 rXqvB7mf+DL6sZMBAIroA/8lcVGnVc1avUWb2sJ0Yy8r8xZfGYb6b74XnhHNC/45
 iQx3kLh9oUp8I6VygyYM0G2dbDOaN75omszFgFhxzzD6nRXZweTRd7j4Z5BRclsK
 MVzZLI5ZRC3wOmcwxlELbANE6kaME8RU4g8ywXUHeR3hD6nJ02SQIJpUojFxezz8
 7cTwK3s2O+8f9d9UqMUXq+xpBBg26pDLrr+eITHxiY4Tecbnc+76W5rgfvaJaCM9
 yl6sMESUztG3qqibJ2iYy4tB2UmLWBMCu1tvSkA3B+jj2MLLMRs2OZunsbmozI9p
 OdPqkPScQuAlYHpDgVp/eMmd+vO7lLuWc1feSJ8HHL5l27i/kSnstDe/NVF8QHsL
 dKShZsITn94h80HG5rmgaGyTnw+t+K4dN6rb1+Xsm9Vx6i3E+57HTcQi37o/R2Vv
 jgHp6wtvv09mubWdvHk01+tZRV9md0+EPjDsmBA5DSDp9Ccr2D4k1B4ovezEqltT
 R8ctjkhPtZ1cv6UD81volzTE3N432Uz6Q1RvpROn2MzitirogG1LBYjhnfdhRfML
 /Ag1LAu8EiEhDpt1GANT7NuQ/0zl7VwhEDFbEW7F8g9qgG3YnrXdbg41PrELJ6xu
 VIrtz8tr8M5GbhbaZhRx88X/4XQFW7EiA4dmOlymwi5oxe1cgwzz/Z7khhNU7XAI
 poByqiUzEO5viWP2nYL07ewu9nJ1EVcsdffH2FNooSMfAcH+ZmdMoK+kMOfb/G9E
 DNYX3+RmrHfSnVbYJD45qIuYm8P8OgOcGTE6cgmSlRn6ki93e+to44ThwTSMWM/z
 NmleNL2CwsX/whKGqZAaO3yRyAnTHIDOEfgf66wXMudvA0otEybHFxZnyj/KreQw
 3SUWQkHBBxuaO1lVaPSE4qt+RIGsJM2ZzWZaDWkMN+qnJPJbr0tUjCVF1g+NUqCa
 5gPmvJHDrLdmTBtlJbXfL255TnaGGwkN8zhYoqEyRa5MDz1tlYkD+cnbVU6xyXRC
 nk7GZBR46j0uNl2W+rX9xoHFwNncGRrjKcr5z8+3R/e8CBYrvCwLebYhehegfo/u
 MrQjSmFzb24gRS4gSGFsZSA8YnNka2FmZmVlQGdtYWlsLmNvbT6IegQTEQgAIgUC
 UEnuQwIbIwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQ2N0spI8uWQf5/QD+
 JvzZL8okil73+M92RWXntxmwzZqylmCu8Id/St350ekA/2L4pbH+x1CDqWWHzL8v
 qN6nyTkvwzgJQmANRIHKISb8tCFKYXNvbiBFLiBIYWxlIDxqaGFsZUBGcmVlQlNE
 Lm9yZz6IegQTEQgAIgUCUE51KQIbIwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AA
 CgkQ2N0spI8uWQcMagD+J4u9BeA16uYSEFwc+eyklyH6qjJtnSoo/7NKefYULBwA
 /A6wPS6lXIgwV/ErxBPLooDOUBDpd9FGVAlo/Bru4DrnuQQNBFBJ7kMQEACBiPvP
 Klj+EbBXY7U0FYVLwONECLJ71B6dolunqQ08rGniXFaOO7B4a1ho5AJzfpCOWPq4
 20rmo59H+5HaGUuT8JJfk1V8zfxaMV6ze+qOacRt+0uAfMiBvtanAbnIojcdnhWK
 pxWZkV1VNma0xBkxNuZDy0D8rQ8c/wPlD2Lv/b7QXvk1rlSSNzw5JuwVk6TAGD66
 o+QG9wCkV/jfZUgRpiKSuiYrgGxQZAsAcW5xDlfHA9rPPfmcCRzKwxq+63AIbwcE
 LFJQPYO19JNzDBJ8RskTVnQfhL28U2Dx8jiDB/Qsy3m4fC+L29hLx8+YVQBsq1YX
 uDaqtfKEnYO/495ydsCMH9qv6LxdrXuRXNglov1TCLXiDt0s6rCdCAkpTEDta7gv
 RH8Ncycwo3YFOniQwwvV18n1dJlzue8o7OeGaw9YwA2JZlecJ5YPKOPpmmxaIrZy
 m4aR7NUKVSOa2eg5jPc9rMRCnduZAu/nVRtOlEPQWHIsebq5o4UBDi3Nd4bCcRGy
 3Fv+rWl8hC6oK31X/s545TTIJbsLbVSYA58rCMwGkwa6UjJJybOzhD/AgiRU4S4g
 aQT0Yt0c3cBZyjJteCOG4BG5TJexi/59mOcC4dhQuD3du3sfpI0g+PFoZXQYJ3+g
 xwAqLjHCnTe971RB6+Kud2UJc6uzSqBeH+z36wADBQ/+LXh7HQiC0GaB1p9SrbiL
 X4d9vjQgjmbI1Zz76C8Cfd+Vk6LGiU00VKTdNKs1QnKfcOaJqly+xEsxj9prE2zr
 jmU9RzYKSBDXKMdmfBFbvF30QSRlmiFuOwSNUHNOG31c5J4c0zluJFbZzSw5zFGy
 cKiRBZ7DlZuSnNviGqyl/AUkVVLQLnHbBUAEvlCXcvaFhwfTzT5sUgSWcUL0O1Kt
 89w2pmTjRSIKBsANb48WyujoeD0NjkBXVXDN1n7+1EjKh0v/DzhQgz6kuhY8PK8j
 NKzolth2cDeOlGlR/xupyNZW1KpLmYOB37tACJtFWcRG0NKMqzTfzAVAl1Hll1Vp
 qA0Ccou16KmCvUqwLWtEsmTswPCS0V3QKt2K0RccfpLQFNjKE5Qj1oguqhheFcB6
 TjU2XPEShGelPtB18FCcE9i/DYsNfRAfaN2DevPLGeZBUqV2Vbz94+4oJRSZCO94
 nUCAvp8l65euazPVsU/Xa74r9R3jmZa98XnoxlNWVgQ8mT+XcXfEqKow7kuO46vO
 6QKPR4qi33oKV0qt4v4hztypHNTzkhSbSSM9lhy68kNho6o42EqcTsJFpaKMW9SF
 PT0DcXLNQFhXJYH9nSdaW3VE+/2xygCEzNz4NROfaXU67wopqIb2GIx1NmZpgaA5
 be4BWQaHtyiLjJj6PIDWjLWIYQQYEQgACQUCUEnuQwIbDAAKCRDY3Sykjy5ZBwCX
 AP9elLKCOSeYFcEqwlvEZd3GASS4tAJPf7hPU04NEX4ntAD/QVdcx3kXm7z2IxLS
 qpi7F0myf/uBWfkmV1doJFiQMf4=
 =b+Om
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.133. 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.134. 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.135. Oliver Hauer <ohauer@FreeBSD.org>

 pub   2048R/5D008F1A 2010-07-26
       Key fingerprint = E9EE C9A5 EB4C BD29 74D7  9178 E56E 06B3 5D00 8F1A
 uid                  olli hauer <ohauer@FreeBSD.org>
 uid                  olli hauer <ohauer@gmx.de>
 sub   2048R/5E25776E 2010-07-26

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =cHUi
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.136. Emanuel Haupt <ehaupt@FreeBSD.org>

 pub   3072D/329A273C 2012-11-17 [expires: 2013-11-17]
       Key fingerprint = 920C A49A 5A23 F9E3 4EB0  4387 AB90 5C56 329A 273C
 uid                  Emanuel Haupt <ehaupt@FreeBSD.org>
 sub   3072g/70183B96 2012-11-17 [expires: 2013-11-17]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =MqAu
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.137. 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.138. 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.139. 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.140. 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.141. 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.142. Jaakko Heinonen <jh@FreeBSD.org>

 pub   1024D/53CCB781 2009-10-01 [expires: 2014-09-30]
       Key fingerprint = 3AED A2B6 B63D D771 1AFD  25FA DFDF 5B89 53CC B781
 uid                  Jaakko Heinonen (FreeBSD) <jh@FreeBSD.org>
 sub   4096g/BB97397E 2009-10-01 [expires: 2014-09-30]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 T5KpyVoV09QzVQ==
 =YKVk
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.143. Jason Helfman <jgh@FreeBSD.org>

 pub   2048R/4150D3DC 2011-12-18 [expires: 2021-12-15]
       Key fingerprint = 8E0D C457 9A0F C91C 23F3  0454 2059 9A63 4150 D3DC
 uid                  Jason Helfman <jgh@FreeBSD.org>
 sub   2048R/695B1B92 2011-12-18 [expires: 2021-12-15]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQENBE7uUe0BCAC2rJ274YwwpqkG1SvbLlcdJPQqctt3ELAv/3Jhw7LJ1RjMbZs2
 3QNs4oz/Qb0Ge2kj6/NhJ/VpBqDcv0av9mwbZvN4NR+eA78Nj8tKgRYB67Daf8EA
 NtmJJ1sfzMhEceRWjiDK71XBSGSzaUqGG3x2oJBpoWuaRAUEDl7TvjZAOUTw1/1v
 dXZvO5+cFIlBAhbsuiKSQ5IiWzlv9toqO6biicQak8e27pM8XCfj5Vx/xs3OtSbf
 lX6QZCIVW5lBgRihDjfR695w1fBe5nM+9GwifIhIBXA2sjAvsb1j+4te9PIpNo5q
 u/vn/y5Bh0S201zg8gbdAic/XJ+OpN5CptJdABEBAAG0H0phc29uIEhlbGZtYW4g
 PGpnaEBGcmVlQlNELm9yZz6JAT4EEwECACgFAk7uUe0CGwMFCRLMAwAGCwkIBwMC
 BhUIAgkKCwQWAgMBAh4BAheAAAoJECBZmmNBUNPcKtEIALSkfF5Sem7A9X6f2jN3
 u0/sshrmMzM2irUiFvgbXp4F5vbZk58Nb3O35ds3rSZ9AZ1kbrAWvXnbaMH1pyzo
 bnx7HNkibErZ4UmIG8i8b9Vrtllho2iIVaHJlBEAaq3OlCXzkvKeQbR1n83V4jB1
 d+zeMRTzO1ItnxlqZajxDpiHAgopP7covZU456YvnrmI6Xf3ZP0t7gJCotOdYcTO
 EY97pEJQKT8CuA/j/rkSDW8GfUBb+T65L/h2zysQn8pMQfrLO2+wUwYUc0QyGZSs
 9mdnmZs4XQmmQQUIwyzftzEMjM9KJKmJ6qhZ+Apm8UZ8snKy9jH8AWS2O+SaGrgP
 Ryq5AQ0ETu5R7QEIAKpA5Or5loBPXoTa2UWpSI22MHqHlKz8wHDjyWe2yyK13hjs
 VSi31Dx0KZ0K0PMD19OUXzsAb54UQSZZtbKjXdJeiJpzyzh9eVEBy11tl6AC0H4o
 2qWLZFUOMbxaGDvfKWf6xkzIdjiPk+mBUx6AEsDUHX0alACmBgiulMzof9btGgQc
 oYcR63kscoNz2tx7M1pJ6Za50Eaal6DZCYkmp4yHv2xCkZ1cnTH94mN5YwmlWotS
 ysMUy+05qTrL5ZXn+Az1Bewo62n1pkOHWIgiogcTUpibAflZsgI9iFEQbJns3U+C
 kyQh9xiXs6I2CHTFTngG6S2a1NcFGplSxEBVuG8AEQEAAYkBJQQYAQIADwUCTu5R
 7QIbDAUJEswDAAAKCRAgWZpjQVDT3POnB/0XZUzuA8ytqhnzkxY25Kr/Oc8wczM3
 XYs4DpL1TnghePjkjdEKhbC+1qDyg1kSQmf7L/uGV7n1pLFLBLwv72lYnaAMmbOk
 Xidc1LhB4YMrxc6tyFfER+ypw26FqfuvNk3QAGdqWvFQqq8dSyvA8KKDaP3ehKha
 /pmEJOC80jqIp5Ofa7J2QMPJ/kfegsjAMbQEqgcBmt8Rb7xM7NrFkPDcWRoB75Ca
 xoRV2eiDxMmNoTPDnjGyycndaaOgoAhXwpoAnmxIVVHs26qOxOyoq9ZYhVgx9o/S
 dAHXDxMry5RLmXQj4uDPTrUvGpxcEbOzVPBWrmoqDJe5Ll0rwaQ/DXZG
 =hr4n
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.144. Guy Helmer <ghelmer@FreeBSD.org>

 pub   2048R/8F1CEBC4 2012-05-22
       Key fingerprint = 483E 9E6C C644 2520 C9FE  4E87 9989 CCAF 8F1C EBC4
 uid                  Guy Helmer <guy.helmer@palisadesystems.com>
 uid                  Guy Helmer <guy.helmer@gmail.com>
 uid                  Guy Helmer <ghelmer@freebsd.org>
 sub   2048R/2073E3F8 2012-05-22

 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-----
 Comment: GPGTools - http://gpgtools.org

 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
 LHJVsBw1wu7qPsG6jx0IC/eMXZKIPSk/c+s=
 =p7q+
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.145. 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.146. Wen Heping <wen@FreeBSD.org>

 pub   2048R/A03F07DA 2012-12-10
       Key fingerprint = 0258 F2C7 C123 E627 9E14  B4BA 270F 30AA A03F 07DA
 uid                  Wen Heping (wen) <wen@FreeBSD.org>
 sub   2048R/CFC8D6A9 2012-12-10

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQENBFDFsuEBCACSJ//UOaDvnQbfeQIiQsRcg1fc2GlcyKnJxTv8H4N0NVw4c579
 D/zEPhRIQTcwrEL677xdeNWtxvYkQeePdrvu4OhXW6IfrZp5H8tedMNqh34MxykE
 J3EC7HmH8J85ondMFSsg8OtBolpDB7KLMJBuIbQ0GDXniijcp9muVVbiRCZ7vhqC
 1J8BJKZDGALD7GLttTfkK56xvp2H69aodYBeNsJcUxAj09gYW5rBLId8NgyPwQhR
 vR7C+VQgz1vlVT/YTvzMX6ZigbaH2nCJTgC1/LK1HJT9hkJIeUNskZwcAOoBA2L1
 DXhgTdkxFKVOb8F0d6wvYSdeVfAWZc8xzWVdABEBAAG0IldlbiBIZXBpbmcgKHdl
 bikgPHdlbkBGcmVlQlNELm9yZz6JATgEEwECACIFAlDFsuECGwMGCwkIBwMCBhUI
 AgkKCwQWAgMBAh4BAheAAAoJECcPMKqgPwfafzkH+wWio4GRrgvK8K5DoIkGgmk4
 bVdXd6g9T+sVGw7F5HTkCbiW83BAmTb49a8uDI4qRSDIEPLOSBbbSlzYcBqHZ9gf
 1/G2JaL6UzlMhdoUZUS3biIoGKFDGXrKBmFoSvMN3MKNnAajAP1rTyzk2bC5EhNV
 CsGL+KOC/JXBfHZ/wxXTgk++Wvm8bcZDXmYMptWsRaHMZKbkdakX9dmPtHmv1g7N
 3AIPSLrrjYDdWfejK8KvPKQuHnq0A9tLS4NOnSY8Ls1Wg3WfE1qvYZ2oEziVrMEu
 GIAxDQfFAN31GR81lDFW9FybAPqeuakD/cUuuyJ+15hUYb4fcmk7RHbxQrTcfHm5
 AQ0EUMWy4QEIANmhcffZZcinDeNMTFba+m4hSV28diXeGyoXfeRWkdk3+fOGywNl
 +/HfYrXXSoDcfkmooUljMvGCj+vupP4obXeOY4MrcnzUYnUWjpfY6mQXejXGgAQy
 x2lcNF6W/g8jl80nnz+hfTEncg0xzNwFDE9ZzR7+G5x6uub0Xl30Rsc+3z6eabFS
 AQ5fFw1lEvt6Y8CGXCx86CPB6SQIJ0FddoHPL2LElSiuenaS7AKnnau9XqxwouD6
 MdFqDQJ601lZBhEWmIlWRBj9YAEwwgnvK6/OFCHcIRjFl6beQVFO2xyk35SZOq4I
 HL7GPs0+bg5D+f7a3ugzqt876LlMVuUQmEkAEQEAAYkBHwQYAQIACQUCUMWy4QIb
 DAAKCRAnDzCqoD8H2v+UB/9mpvePA5lZrFne+s/PyTZu0rI7+Mj67Yj3DywxVf3j
 pqzjeRlZgVoZ0HbVry+2wUk1IN2eWMJy1PECTAyK5tybdtl8ckNvGhrMi9ilF6gk
 WIn9wXRiduuCZ0hj+STtlsdGBCThz9JqMVr093uqHqe+kB6TSu6/uVMZ3LhyMEeQ
 oUkoDMlG3wMMKpD/mzLeJTTycXSZ9VzDmQMOOZAC7UypLri9ykjRAVc8J5c+1RA+
 +dsNw0DTEtGxHsObfdTlrCP0vohTxOdGjWuXHKYTttrM5koc7M2eM4WSEXkpIKb7
 g7S0ogl+qD7RokD6CChkH7fnFesT2ksU8KvE/0a+/8Un
 =7kGj
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.147. Dennis Herrmann <dhn@FreeBSD.org>

 pub   4096R/F7CDCAA1 2012-08-26
       Key fingerprint = 0587 E730 68A6 2646 A991  505D CD9B 3A87 F7CD CAA1
 uid                  Dennis 'dhn' Herrmann (Everybody wants to go to heaven, but nobody wants to die) <dhn@FreeBSD.org>
 sub   4096R/0A6D554F 2012-08-26

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 0JTFuwbvNUiIKGhuHbBvP3I=
 =EizD
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.148. Justin Hibbits <jhibbits@FreeBSD.org>

 pub   2048R/37BE2DB9 2011-12-01
       Key fingerprint = 8A12 7064 4F3D 339A 191D  AD52 30C7 858E 37BE 2DB9
 uid                  Justin Hibbits <chmeeedalf@gmail.com>
 uid                  Justin Hibbits <jhibbits@freebsd.org>
 uid                  Justin Hibbits <jrh29@alumni.cwru.edu>
 sub   2048R/A8DA156F 2011-12-01

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 XLo7QbjbR21i/BQSm+3OeFiS0o/BNee3bw==
 =bC0X
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.149. 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.150. 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-----

 mQGiBDtvujkRBACVspBVp8gaHUZeh35hSQiKdKYiA5zd0Qez3eiRrWFIilZLB5HH
 reTe+wFwBOMEsgwA7e4v5GWnsWySWVRe3okPQ+Nc3CTmF7JGlnHklhExFtQ4EGCq
 Z2BCj+QfusUap4vArd+hOW4MS8bCnV8GvDJLdIMdbOBUI7RAl6+JRxQqYwCgz47A
 a3bnV0/c9E9nuRek+XRQfDUD/1fsX2sK0w1fjLvBDcrhlPFUDj4P/G9QrjnWJbBl
 RaDpYaSEklbb+g8TOVtPEqprtFPQvqB9kWS9IJfmd+WRSJYXBtTFPJaYAy7hlQi5
 jw7pqIK934cMbJEIMKDfkScpKrC3qplRIUN8oRtpYONF9TnzfrA3RkLvG1Dk20kc
 RIU8A/9uOfhXSgKgTqSZbW3QbWdE7VyVOBLANeWgHY3MOhh4qKsbM2v7SK2lSVu+
 cY650DmZNJEpD7mE5wje7eFTvmrTbB1bygBrpxlithpNkqlFp/ePmU+sal3VTzJ2
 SOpDkw6NaGTMercnJe+jWObfPMphEKL18zM/BFwOWg3ubGYlWLQsTWljaGFlbCBM
 LiBIb3N0YmFlayA8bWljaEBmcmVlYnNkY2x1c3Rlci5kaz6IWQQTEQIAGQIXgAIe
 AQQLBwMCAxUCAwMWAgEFAjtvujwACgkQewpSEg9V9r7TyQCgjH3eMZ0+irDBZ+eS
 N4S9vV2eC5IAniLYcMk66do4xiru6g3Qt54B0beAiQCVAwUQO3JisgDy2QnruxtB
 AQFYBwP9FMPDSv4DdSWaGkCXSeSLfyMsTflkVRa0gRljcqEQQ8iEfYKaum8eI8vE
 Et2h+bMVe8q9PnCB9Fn++pukaH5wrggg3O5o+2gSh2Hoy0/Ter1E6gHiH8aWoV5V
 4yB2J9hEffTrzzG0X4G77XVVWCiAqyp52gRMl6ftbOOXU8XDat+IRgQQEQIABgUC
 O3MMugAKCRCjLHqb4LuvBA+BAJ9Zrf3OInzwdjeMthjZ6kYtSYysZACeK9vXzmNn
 PcrKw/W/6M7egoZIeouIRgQTEQIABgUCPmxk0gAKCRDdEQhXRChuGuaeAKC9pThr
 yviZ4bdM8X16xVvd8RDrZwCdHOPEdLM5xJrMyi52SnqVFukInMqIRgQTEQIABgUC
 Pow66QAKCRAATVS4OT0kackyAJ9v60ShjVJHiu0CdRf/ylAid9w2yACeNrFJ5axk
 lXLO1sqje+YW9goFCkKIRgQTEQIABgUCP2OqBwAKCRCgT/sbfcrp02A/AJ9ArfKX
 XakRN3oiBpoKtocwvVNQ9gCg9VbdLiQ5wcKpKuftk1Bem6PXAM+IRgQSEQIABgUC
 P5ebXgAKCRAi5vKQUHpCI7SeAKCW6ufJoaUYFz3frGo2dfWzjNwygACglQFhJGPI
 BOiIaVwZP92CBwPUO6uIVwQTEQIAFwUCO2+6OQULBwoDBAMVAwIDFgIBAheAAAoJ
 EHsKUhIPVfa+a/cAoLJDt6PWCv2PbCf12owCoebj5USrAKCDPAiZ+er8CjkcKnZs
 G3JUPl9KO4hZBBMRAgAZAheAAh4BBAsHAwIDFQIDAxYCAQUCO2+6OwAKCRB7ClIS
 D1X2vg9PAJ4iPqRoS7R5MLHf/2NU4YVR0EjICgCgvqkehhBxgdV4PLn/ahj0Qt15
 6c2IWQQTEQIAGQIXgAQLBwMCAxUCAwMWAgECHgEFAjtvujoACgkQewpSEg9V9r7m
 igCeONqh6+GxitwdVEWxdn97jJk5lWkAn2E5ygo1qdsEYizcGPY+RAQa5lsViEYE
 ExECAAYFAkGEstMACgkQqy9aWxUlaZDr+gCg9bKPJc+3GQz4wsybaOpXsNRR4HEA
 oPbWzHK2TkOneHvX9yL+y/5NuMUjiEYEExECAAYFAkGEtrUACgkQv0vQ5gSduHkk
 1ACgysndAyCMjx7wuT1EnxXNHcJjwr4AoMMtFh2jP2oZiCL9j1G0sM8HA4zmiEYE
 ExECAAYFAkGEttQACgkQjDKM/xYG25XyfQCeLbZwZdPR7muhBCWYOG1xqbvhlgUA
 mgN72X1hceIs2a3v/+wlbbvdkicKiEYEExECAAYFAkGEtx4ACgkQFdaIBMps37Kp
 mwCeMD98R8Pd5wUIsvlNiocZATBhFAYAnjso1MiYY5r/vm+gcaLxYCeGAyjoiEYE
 ExECAAYFAkGE2O8ACgkQFGWX3NzDmcfFZgCgzKhe7nre34c0yZGDRcfzXlREoiQA
 oPx4pDwJr8UZW2b9AjEDiz5mKavhiEYEExECAAYFAkGE8vgACgkQP6DeCKDTkWhp
 XwCfX5Ct56AL879/4bI23egU7sst/gAAnjJ259f4xG66pxv0c3ZA+3yzby9EiEYE
 ExECAAYFAkGF+m0ACgkQc95pjMcUBaLuFQCeMt4CFIkaLmCbwTdhAI46oO6d6hgA
 oJb0CqzkjtMv3mGBQs3Xq7GcPAK7tC1NaWNoYWVsIEwuIEhvc3RiYWVrIDxtaWNo
 QGZyZWVic2RjbHVzdGVyLm9yZz6IXwQTEQIAHwIbAwIeAQIXgAIZAQQLBwMCAxUC
 AwMWAgEFAj1t+AMACgkQewpSEg9V9r4uWACeLnmepDc1dzPMmQAxCJNXSMRoBrgA
 niG2FR5ttJuXfcHofVwrN5qTk81eiEYEExECAAYFAj5sZNUACgkQ3REIV0QobhpD
 GgCeIIJ98azq2OBixZd19bthwdBY0loAoJqUDsnkxwzGFWYhMeSp7pVysC0NiEYE
 ExECAAYFAj6MOu0ACgkQAE1UuDk9JGnA6QCcD0X7Y+h3SrmHrjG0a0RM5bbP6CcA
 nAkceK9Bo7FCIZOfyJiTgRimK3/biEYEExECAAYFAj9jqgcACgkQoE/7G33K6dMy
 EwCdF7OWVKtQZRyowf6pmI22A4DCbgYAn1GHBFmblK4G0DZ35gmFxLwcXWcfiEYE
 EhECAAYFAj+Xm14ACgkQIubykFB6QiMJzwCgtNxJpyZgWWD4/UKfPRwmnINAYD8A
 n1Y+CLQxCAuLkPe2nFAPGUFhFBGYiF8EExECAB8CGwMCHgECF4ACGQEECwcDAgMV
 AgMDFgIBBQI9bfgBAAoJEHsKUhIPVfa+hdoAnRGTkvkhCKxB0Dl8UiMT74sxwRpU
 AJ460yVCwW+egzvup6E976k1wpa5SYhfBBMRAgAfAhsDAh4BAheAAhkBBAsHAwID
 FQIDAxYCAQUCPW34AgAKCRB7ClISD1X2vn/AAKC5d0k4mJ1AvKIXV+STb1t2Ygw6
 UgCfYpRFyocSgo6KpK12YEyO0zQtCaSIRgQTEQIABgUCQYSyzwAKCRCrL1pbFSVp
 kGQ3AKDj72l2upUff57ThpKbD6b5yHgN2ACglno3WKcuZxvdhTV+uzz9ihjvQdOI
 RgQTEQIABgUCQYS2sQAKCRC/S9DmBJ24ebQDAKCZ5omgIy7Ps2BE+6ECGlZWdRDT
 SgCgv/iA5FuFcdQJn2/ScBeMiV40NuuIRgQTEQIABgUCQYS20QAKCRCMMoz/Fgbb
 lboaAJ9/vvhxWtUnRQiv8c3V1iDCDFL6uQCeNrvMsVmoOBo1Ffa9qiepLElBQkeI
 RgQTEQIABgUCQYS3BAAKCRAV1ogEymzfshF+AJ9n4m0OMgqYSCbyMV1ZKF9aFDHj
 5wCfRY84mbxPr5lnwp0jS3Y5ZWJ3ipeIRgQTEQIABgUCQYTY5wAKCRAUZZfc3MOZ
 xz9lAJ9AuKYrFFw5WjJnhDn5kCaQBWy14wCgns8BUwJtiEnAmlrunzxS2ZbNkH+I
 RgQTEQIABgUCQYTy8AAKCRA/oN4IoNORaJmRAJ47uMWxyt0OKlVH3SIRT/tuPN3E
 vwCaA/sMCtb+ocVxMbaqskSJLSHjsb+IRgQTEQIABgUCQYX6YgAKCRBz3mmMxxQF
 oqP6AJ91VYhI/uMUvRos/eT+xsLiOtJpCwCg3tFVZhHgpOCbljAEwbSRbM+YMT20
 L01pY2hhZWwgTC4gSG9zdGJhZWsgPG1pY2hAaWNvbW1lcmNlLWZyYW5jZS5jb20+
 iFwEExECABwCGwMCHgECF4AECwcDAgMVAgMDFgIBBQI9bfibAAoJEHsKUhIPVfa+
 cIIAn2NHuE79An0zOAe5Eb6U/wmZXAvSAKCv8K0wgLvlNPjksWEx8t2G3e78uohG
 BBMRAgAGBQI+bGTVAAoJEN0RCFdEKG4aswcAoMBnOBIIHYdUEJ4WMT2sDzq7GHio
 AKDd912ew00eGfdnEwSlkRuhGYl6CohGBBMRAgAGBQI+jDrtAAoJEABNVLg5PSRp
 NzIAn0T3AF1A70ENm7gxLzjgQpdfEyyMAJ4/H3SBcNQSoQQnxAdrSmzCEBtllohG
 BBMRAgAGBQI/Y6oHAAoJEKBP+xt9yunTLRYAoMJUuXFPYZaVmAym0xqsdUnHNaq0
 AJ9JLnudg19UlwZBmauji/tdfWxOk4hGBBIRAgAGBQI/l5teAAoJECLm8pBQekIj
 SzsAn30cbHvSF/4PIEKPZj0LO44679iwAJ4xXCaCrpUjJN8UaoA6RI3O90YgHohc
 BBMRAgAcAhsDAh4BAheABAsHAwIDFQIDAxYCAQUCPW34mQAKCRB7ClISD1X2vtTD
 AJ9xoKScCZTRjE4nAoQPxotRcryXcgCgylmTpQCdAXm2b2mCEMPCrdBh0uyIXAQT
 EQIAHAIbAwIeAQIXgAQLBwMCAxUCAwMWAgEFAj1t+JoACgkQewpSEg9V9r7JCQCf
 QaHiclxq5DTYIV/aLt3LbTht9LQAn30zG7XaHijFGLdK6dBJILPsCeTGiEYEExEC
 AAYFAkGEstQACgkQqy9aWxUlaZD+VQCgqZN7CJgdZf4ZCuSoGi7jr6XXPmkAoKTH
 8r8wQkbO9/DUhr1Coh9arK9PiEYEExECAAYFAkGEtrUACgkQv0vQ5gSduHm+7wCg
 6kyLSRHu7L9l7htBjHBIaWME8WkAoLUJ5M8enb2DDjwlm2BqtZlGNA2QiEYEExEC
 AAYFAkGEttQACgkQjDKM/xYG25WobACeP5EDN4t3GOEyou63pI657mB/du8AniYQ
 kQvpWYIgY0dyMSk1HatP22iPiEUEExECAAYFAkGEtx4ACgkQFdaIBMps37LTVACf
 fik1GnfLzg6KbwS6SZKThTeKAj8AljUT4+LcxFg6SgsC+tvATUMDn1uIRgQTEQIA
 BgUCQYTY7wAKCRAUZZfc3MOZx0wSAJ90OL9LyJnrEmgXDAnl1KyV80OgPwCgw1RQ
 KMCDeCXfn1q9uzKTFWGEl5WIRgQTEQIABgUCQYTy+AAKCRA/oN4IoNORaDmmAJ4g
 AtnkP+wrNu8ALK18MZczQQKFIwCgpUTdqJHlB+NxfUoB5gwtcb7rpQ2IRgQTEQIA
 BgUCQYX6bQAKCRBz3mmMxxQFov+JAJ9e37KaIc+H7v7imwtKxiE7qNNVOACeIaij
 Sx+ca3H4BKQ/a2GvPhM48ya0JU1pY2FoZWwgTC4gSG9zdGJhZWsgPG1pY2hAZnJl
 ZWJzZC5kaz6IXAQTEQIAHAIbAwIeAQIXgAQLBwMCAxUCAwMWAgEFAj1t+LIACgkQ
 ewpSEg9V9r5uBQCgskCQeIaWBjnmd/Xnh0ZKX51xTxUAoLcld6rVHA+4e2Vz3FQ3
 T73d2r4yiEYEExECAAYFAj5sZNYACgkQ3REIV0Qobhrq4QCgqnRha2c0Vh5h/945
 x9cl7TSYzZYAnjbWNvJbo7sIo6TQxEZKmdnvmsHbiEYEExECAAYFAj6MOuwACgkQ
 AE1UuDk9JGl9eQCfTcakGDP/BEmyuEA6GDM5aRb7vS0An2TJiDW84eHxcxHQHPzy
 rz2FB0/PiEYEExECAAYFAj9jqgMACgkQoE/7G33K6dM5HwCg7mDLpb4JByHaZHtK
 zRQjQzjzJWQAmgLnvaJKlwv20zvAgz0hefi+Q2isiEYEEhECAAYFAj+Xm1MACgkQ
 IubykFB6QiPtNwCgotfWEdrMUvjldC/xcvo1joaccxsAnRnPAc8l62wttcvZCWh4
 ZpsozqBhiFwEExECABwCGwMCHgECF4AECwcDAgMVAgMDFgIBBQI9bfiwAAoJEHsK
 UhIPVfa+FNUAn3R50AIVQ1LceP8aMoGyOBbL4WZaAKCwLyjDh+06muXuDNcu3s39
 SvUO0IhcBBMRAgAcAhsDAh4BAheABAsHAwIDFQIDAxYCAQUCPW34sQAKCRB7ClIS
 D1X2vumaAKCaU4A04bFCI9oOVUGo6ejx57ZCDwCggMwl9wIKt04aupwmIgira6sW
 yuKIRgQTEQIABgUCQYSy0wAKCRCrL1pbFSVpkL09AJ4kW8Ajmif23gAnM+Nc0MQL
 7GwVbACgysRq7spf7uxiu9awbqx8By+DwniIRgQTEQIABgUCQYS2tQAKCRC/S9Dm
 BJ24eRzHAJ9x0WS9e9hsd+Q88J/koRcheAmHJgCgpb61Cd2og0AE3HosvqSguHmU
 u0qIRgQTEQIABgUCQYS21AAKCRCMMoz/FgbblenRAJ9lJ+FVcaADxVBp6EyB+YXE
 kDAYJwCaAxa8fGK/1WrHW2jC43mmoOGNFAqIRgQTEQIABgUCQYS3HgAKCRAV1ogE
 ymzfspOJAJwNipmOK7ocbWNbRQSCtUSkDB+U9QCeP7j7GEujTO5M5R9YtJQWF0dv
 STKIRgQTEQIABgUCQYTY7wAKCRAUZZfc3MOZx36GAKDhFbMLKArBw40n9iDqKSYs
 9yw5DQCaAxoSVaAPfniFAj193AAcTcQTMZiIRgQTEQIABgUCQYTy+AAKCRA/oN4I
 oNORaIBqAJ9a85JXuUr6vj82HL0bxPVtQOMynACeIJUyjZbdoLX+GVLsFIXUGHzM
 GsyIRgQTEQIABgUCQYX6bQAKCRBz3mmMxxQFoqWWAKDKwqQTeMsPEfR5rn7VLbsB
 FGCW+QCeMrfldx7v5ibUgVQLZwW7y0Hu4iK0Jk1pY2hhZWwgTC4gSG9zdGJhZWsg
 PG1pY2hAdGhlLWxhYi5vcmc+iFwEExECABwCGwMCHgECF4AECwcDAgMVAgMDFgIB
 BQI9b0hiAAoJEHsKUhIPVfa+sZkAoIlIoBDtL4BAInfH1oiTVbWNHQhDAJwPeBUX
 sa2F3cU3+Fksg7n6sDIYYYhGBBMRAgAGBQI+bGTWAAoJEN0RCFdEKG4aTxcAmwa2
 jsIaacyRb31elEKZdSWMfZbSAKCy+LiAAemcmXzGUnvSM7/M4w1J04hGBBMRAgAG
 BQI+jDrtAAoJEABNVLg5PSRpfLEAn05R33B7SPNsIHEPt+cEINb+JexQAJ97c3MU
 uDW8FHq8GnY+AM26YzHa+ohGBBMRAgAGBQI/Y6oHAAoJEKBP+xt9yunTHyIAoJgB
 MltcxW2Fsf3mJxC2zPf2JtuOAKCOydWeCJITDRK5olxPzIAn3ctrH4hGBBIRAgAG
 BQI/l5teAAoJECLm8pBQekIjv+oAn2sjoFPJgB+jG5rC22bktfYpFT6PAJ96z9ho
 K4X1Y9jkv069GDEifHu17IhcBBMRAgAcAhsDAh4BAheABAsHAwIDFQIDAxYCAQUC
 PW9IYQAKCRB7ClISD1X2vsxLAJ9HVuI9Uea+mqAWSYJEy7ZHoPQtGACgq58A8xhV
 qphW0P6DOYdBhR6HYwaIRgQTEQIABgUCQYSy0wAKCRCrL1pbFSVpkAknAKDC79+b
 reyVTbhWRcyp8UtIUBJA1QCfaXqiKIfEMmSAy1H3vjeNktY75C+IRgQTEQIABgUC
 QYS2tQAKCRC/S9DmBJ24eUBeAJwKHyAILuk8oRPuTPAu3jsUmvIWAgCg2frzaL1x
 nxN+wdhZQvkkPJhrEciIRgQTEQIABgUCQYS21AAKCRCMMoz/FgbblWULAJ94zCGb
 qB4vCnbxADeZCSlbY8CqQACgjpg9ARbzZK1GDMWlHnfeBVY/BJ2IRgQTEQIABgUC
 QYS3HgAKCRAV1ogEymzfst59AJ0bNqnso3f8CMhJEgTSsdk26pSgwACffO3NMpnW
 lF7Kt+yVYqZoB1tsBPmIRgQTEQIABgUCQYTY7wAKCRAUZZfc3MOZxwrZAJ40y6Ql
 edj79oaTgj4csejdGdC7mQCgnhRfFtmzMsHNsTTNW+NVQZjMiEaIRgQTEQIABgUC
 QYTy+AAKCRA/oN4IoNORaHbwAJ0dY9HwXDtQrLrlfZRA1eDt/0dmTgCcCLN5OcqD
 qqJzT1oTcL/4pebrPcSIRgQTEQIABgUCQYX6bQAKCRBz3mmMxxQFot/lAJ9EjEc7
 BWpV2pX/OZiF4N0oiuZe/QCgm237ZWa+5LgxwxhYnjRNpPY3aGW0Jk1pY2hhZWwg
 TC4gSG9zdGJhZWsgPG1pY2hAZnJlZWJzZC5vcmc+iFwEExECABwCGwMCHgECF4AE
 CwcDAgMVAgMDFgIBBQI+t5S0AAoJEHsKUhIPVfa+AakAn3Sa7A6PXq6Obvcnjljz
 MjupTQi/AJ4/hk2rna5a2IVfO3Fr1qd0xdySSoicBBMBAgAGBQI/Y3i5AAoJEB9/
 qQgDWPy9RF4D/1t7oN8vrY2zqWsE+P33mp2n2cw+lh53/AxWvyviy2eBhmTCqv5M
 OFHC4Ytpm2wO4ogLuWB9sD3YcpRm68HBCmL5RWZ+2O0zWzM2ldyOt5ILwk2D5CQD
 F4eC3zjjpxnpop5I683Y4HL8HUxB7wjmzh3Nvu9BWt//5yyYYV2TuFLciEYEExEC
 AAYFAj9jqgcACgkQoE/7G33K6dOXigCg6ifuqnvO1X7ev2MITz4UMavyC7sAn12W
 5YjbsctLpXOFv68NKS1z/UhmiEYEEhECAAYFAj+Xm14ACgkQIubykFB6QiMeXQCc
 DkBg7qBuixrrUZ0ggK6DdninuWYAn0f7rpy5x8zTm4iOdGHyU5BbdaHeiEYEExEC
 AAYFAkGEstMACgkQqy9aWxUlaZDb8ACg5FbFbPdaGLgzmE4QqaL0zT52sYYAmgLk
 F+gEiEzKGMyyP/9GhB/nNO/oiEYEExECAAYFAkGEtrUACgkQv0vQ5gSduHnEWACg
 7Do4GC0Xly11Q/I1LpdCAaTrScsAn0eweaomvm5DDke1Yup8nwtRwPoYiEYEExEC
 AAYFAkGEttQACgkQjDKM/xYG25WuuQCePmHg89cl/KliQJbDEdb4gro30IEAn32Z
 Z2EqGyX4WaTM94aLJx6fwjwxiEYEExECAAYFAkGEtx4ACgkQFdaIBMps37JQ9gCf
 QUi1yI1vibCmr947dQOnRe7GfMgAn327S9U7RlNvrvG/nwmwVMPJv7rPiEYEExEC
 AAYFAkGE2O8ACgkQFGWX3NzDmccWMACgwqLn776Ly9PvHMfe1abvSJhxNhgAnRKj
 9a/OfIvdUGUTLnuzRlLv8KXxiEYEExECAAYFAkGE8vgACgkQP6DeCKDTkWiCaQCe
 McWdZWqBeqAAC2/hsdvRyPSaa4cAni31b95jB2/xpWh3Ietn+LgKH83MiEYEExEC
 AAYFAkGF+m0ACgkQc95pjMcUBaLrpQCgn5t5Yh80emZx8pBKA+eJqIzI5e4An2M4
 pil7LSgCf2VdSIgHRPo624CWuQENBDtvujsQBACFt7tjPWjHlYZMEml5R+o7eZTr
 UUw0tAtcMcwV86r5xmvllPhsjar/LMAY+VqLPD7Z/KwTwrRfdf236sPshB/v5BoR
 u4RCDW0yy6Q5xOLCj0LlOarUfTYUMhYVfv2FNKNm5FSk9/3NEkwNi/PxGAV5KNIx
 QXDND4YskIjGiJUZMwADBQP+LVrKJYCmOM3iq3qfcuONwpBvhJb8Z7AWywUyl3H+
 Gy5/PF0nWzN9nQNHcb5aqiszY4tvdqAUW/ttIRtKR09BXDaAkct55YywRf+mM5Eg
 KxWQtjPW7THXzsPrSCJ9V+lYMH3wHw9+qs34fA1I2m0P2QGw6b1ZcESbH58wM4x7
 ZQOIRgQYEQIABgUCO2+6OwAKCRB7ClISD1X2vgovAJ4xjmcdulAo4ML4T8TJ+alY
 nQO5zgCfXsb8wtA8I0ngWwOQxrnRRE7+Smw=
 =j3Mm
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.151. Po-Chuan Hsieh <sunpoet@FreeBSD.org>

 pub   4096R/CC57E36B 2010-09-21
       Key fingerprint = 8AD8 68F2 7D2B 0A10 7E9B  8CC0 DC44 247E CC57 E36B
 uid                  Po-Chuan Hsieh (FreeBSD) <sunpoet@FreeBSD.org>
 uid                  Po-Chuan Hsieh (sunpoet) <sunpoet@sunpoet.net>
 sub   4096R/ADE9E203 2010-09-21

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 KQ==
 =zTaI
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.152. 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.153. 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.154. 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.155. Davide Italiano <davide@FreeBSD.org>

 pub   2048R/4CB47484 2012-01-17
       Key fingerprint = B5C9 77F5 1E67 D110 8D19  7587 EB95 EA82 4CB4 7484
 uid                  Davide Italiano <davide@FreeBSD.org>
 sub   2048R/91F7443D 2012-01-17

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQENBE8WAbIBCADhylJPj/E3+cPj2CH/96OKzQ1sjdiyzgQVeLinmztCCk+McsEf
 qOwyc5iZfZC0MPJUr7y/3E71HKPC+rTMkOQBHsCL4UWcbJB+3AsA5Ii5WsZKFfQn
 85q8kT9m99MFn8oqZWuzMFkU8zAOEB56+em0xrAI67SyrCPHVS1oWd4Rj45YSUKr
 em7JmyrYEcTRg7rMkPYJyuiWkDR3nAaJw2lScobg+JaHN757QZTtspS6x277Nx8c
 CU7pYauCI/CNdEPUcLAMBH561396IajWvTKirtL7jYZWw0FYpamof2sBCq672Uzb
 XJXufe4Urg4vKoR9giG7Y1kI49XCLmplwnWVABEBAAG0JERhdmlkZSBJdGFsaWFu
 byA8ZGF2aWRlQEZyZWVCU0Qub3JnPokBOAQTAQIAIgUCTxYBsgIbAwYLCQgHAwIG
 FQgCCQoLBBYCAwECHgECF4AACgkQ65Xqgky0dITCvwf/feerE+d+AGvbecD7lQyk
 d/LJs2bshZz+CnsCsbF/mArpbPMJTlgYCMZmEKKSR//nEo0cFyi0B6RR5QzQsouL
 uadHPuwxpuw/7ECdS9QhqEU2O7uoWdgh6kJSR37cbRmmmu0zNp0pMYv2TKrHabQz
 432iuF8I8puOc9++sYLrlFBXfs80TTU7S2+qAfTRqgqAz5IdWZM7F4w+CbbJGfqj
 ePWoXCB7+6MhYby+5JXkpCEpdyGMRL8WZElpB2W91k3zBmkE5bZG2r3Z99hMc/dN
 +nJxI94zYN13HtD+Yoaej2/RJh9zmTWF/pUT58tb63EOLlrOfiiw6NJ6x8PVM9v7
 JrkBDQRPFgGyAQgAvKmBYKFSJur0CiXeY6m3CW0JTS8mK1FYjKp+QckbnRomG2Vf
 olXjcjlTLkLcq46vff2uI8MDNviE5rGYWSJxwYjAbY3QJR36pbdI+ulYEJqnFNii
 jFWv9wvbddNc/L34Pa9o5P/NUf733r+V4gvyqb/Rh5dWQGH8IJCgnZZZYK8YnRiq
 UFnisiZ6gsIXk9rbxd4JHOiOxUop8xSxdeRHEkxe2FQvN8S+HzxrH8lucoIvH1Fp
 red8KUSjOLD1O9LFFSabJ6lA8ytAJ01KP+4svBk/J6bEMwmNXITVtmW+dyTSmS7z
 ynOMre7AG6s8OpdWX2lAKyLL4yosGLiOFjDW9QARAQABiQEfBBgBAgAJBQJPFgGy
 AhsMAAoJEOuV6oJMtHSEJhQIAI6NAWdB4IRBoDfEuo3myxdTn+hKtUDk8jgsmfV9
 6yphv3BDwvQDIoAPjxMewp0UrIH0yEyIduPdZ6Gs9VcDfqWxyP1kGxt0GbKJmHzK
 glmLF5VZbuGKsZDhv0JtWbi17NOt7uiXY9sW9efqaDxgvNSXrXHtDPNzePuo2wLg
 LZcw5VlCg+JftFb7OA72Brcir1zj6EyMgtdo5P2Z2iW/MgWiaKb98hi8tnycIDiu
 tyawSXvl7k/AfQ5hHjwz4zKf+2bQ9cf8ou7wsJ6pOT35AKP9/CeIOslj6cqXE3dL
 MjKE+ZKsBG1d7NkQSQk9MEDk6PdAtigwAgwdYpPhX8Sl2es=
 =pP7Y
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.156. 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.157. 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.158. 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.159. Peter Jeremy <peterj@FreeBSD.org>

 pub   1024D/F00FB887 2005-10-20
       Key fingerprint = 0BF7 7A72 5894 EBE6 4F4D  7EEE FE8A 47BF F00F B887
 uid                  Peter Jeremy <peterjeremy@acm.org>
 uid                  [jpeg image of size 4413]
 uid                  Peter Jeremy <peter.jeremy@auug.org.au>
 uid                  Peter Jeremy <peterjeremy@optusnet.com.au>
 uid                  Peter Jeremy (preferred) <peter@rulingia.com>
 uid                  Peter Jeremy <peterj@freebsd.org>
 sub   2048g/7E0B423B 2005-10-20

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 alR4ImRv95f8vGskvAowF8gSo6OO3nSVzskQ+28EvsccjlzCBJRap0hKfhYpYjqW
 04BGUpfRjSiFnoV4s1re2WSA9sxI6q5fUtedoDUeMgJjw1ce4P3BTKD4vK+3R07u
 KqgDVR/yQkFIGkmPI57rvvUdpvEE37sW618waLq/QbB49l4gZNRPsyjYp0ATzzyN
 sHtaIyn5bMxeO3Bedt4ABWE5CAwwqiApEEsdiEYEEBECAAYFAkkMMS0ACgkQiFFx
 NDJwjFn29ACePE6zsHWHmmLEoAgPvbQqPSgMM+YAn3Odlx3tjiMOJX7W7bEllFEw
 Utl/iK0EMBECAG0FAkqcT3dmHSBQbGVhc2UgdXNlIDxwZXRlcmplcmVteUBhY20u
 b3JnPiBmb3IgcGVyc29uYWwgZW1haWwgb3IgPHBldGVyLmplcmVteUBhbGNhdGVs
 LWx1Y2VudC5jb20uYXU+IGZvciB3b3JrAAoJEP6KR7/wD7iHagIAn1hh98Z31wKC
 JkgB1lXeQv9k/PoxAKCk6j4ssVx9h2qbxr+/yTT+ur2cy4hGBBARAgAGBQJM8oyF
 AAoJELAqLmmWsZb+LcIAoMP2i+Ol4aGV+dpAIrqXs088HzeHAJ4m5rcScpIHEQGc
 pnuJLNtU2tydaLQxUGV0ZXIgSmVyZW15ICh3b3JrKSA8cGV0ZXIuamVyZW15QGFs
 Y2F0ZWwuY29tLmF1PohgBBMRAgAgBQJDWZiqAhsDBgsJCAcDAgQVAggDBBYCAwEC
 HgECF4AACgkQ/opHv/APuIexaACaA17l0FFzNDNqrN4EhKRUts6+2cwAniRCROUY
 2XrnxJPAyPUA71XzrLGjiEYEExECAAYFAkNl9A4ACgkQwGHVEMpEkfKcrACdF9po
 DMhNcdyBt6ITVn2RqGV69joAn2WvSiHnogn5liUuJInNONJGgFRtiEYEExECAAYF
 AkOBUEcACgkQwfTYLJoEmpcUQwCgvQNEkbaQiFd4ALubsIZPCTWmifcAniDB/tDE
 ChnDJ+7hN+w4mYVRb6aIiEYEEBECAAYFAkOQvp0ACgkQrMXkZyWlwwlFPQCgmYA/
 aikl49BBmUk8qMO0JdZxuVgAn1oRBXiGTbgslc6RX+8fSyABbB16iEYEEBECAAYF
 AkcwnRsACgkQM4TrQ4qfROO/fgCaAnQJm/G1KcGSAQLcdq7QS8mFTWEAn0FCB6WX
 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
 fWARQ/RV6PEDVEXxKXEmCc9LNWVCyZX8Vj/1wr5hMyk7l1mzHayOMCi84+QJWOm7
 Xd8Mkdwyx7U3EatEEiCpdwCRjH5Hjik/8qmJr5vDfK6oNKpM3jM/CRa6b3A6142o
 nEfCX1zp/IHwinkbZgF1bZSaLVBRjitjFzh3ePyzaEKPC3V6h8kQQLNgiGsEEBEC
 ACsFAkqczaYFgwHihQAeGmh0dHA6Ly93d3cuY2FjZXJ0Lm9yZy9jcHMucGhwAAoJ
 ENK7DQFl0P1Y3zQAoI5epoCAkaAh6aLBAB47QceOjbXwAKCVi5YnBZ4O6DH8KKC1
 +6EU2eYfEohrBBARAgArBQJKnXvlBYMB4oUAHhpodHRwOi8vd3d3LmNhY2VydC5v
 cmcvY3BzLnBocAAKCRDSuw0BZdD9WACuAJ9GsK860vupip75Ajjob8SDJCCRTgCf
 eFgvqcHGPQ8y7cODB2Jx/8VPyDiIRgQQEQIABgUCSp9+TAAKCRCsxeRnJaXDCeDW
 AKCCbfFgGxtFoXOj8kMyjhkHK5btyACg246reMMbBnoDgk9BB34tsbW5f2qIawQQ
 EQIAKwUCTJFp1QWDAeKFAB4aaHR0cDovL3d3dy5jYWNlcnQub3JnL2Nwcy5waHAA
 CgkQ0rsNAWXQ/ViRdgCdFBAmYbQl+4qYWgFK7042y2Ao9NkAn0ewLirs4hsWwMr+
 cmfp0Frb4SkxiEYEEBECAAYFAkzyjUEACgkQsCouaZaxlv5O9gCgtG1Be6pSS3RP
 hR5ZhKKJbrLG5eMAoKNjPsGk87+pG/4FvujkiP8Ss5wiiGsEEBECACsFAk95IwQF
 gwHihQAeGmh0dHA6Ly93d3cuY2FjZXJ0Lm9yZy9jcHMucGhwAAoJENK7DQFl0P1Y
 /owAnA0Gd2gPpUF7XOvg15OOp88a/bo8AJ4vU2Zr356FeXMds5ZBqXhCammmuIhr
 BBARAgArBQJPpakIBYMB4oUAHhpodHRwOi8vd3d3LmNhY2VydC5vcmcvY3BzLnBo
 cAAKCRDSuw0BZdD9WJsZAJ96updcDFblykJOzfXUDW+CeMxf/ACggTkWMeB9hAp2
 YfvSM23qDcbKiU6IRgQQEQIABgUCT6naDAAKCRDB9NgsmgSal7LGAJ4vBK4+PH21
 vkCszMDhaa1f39r3qgCeP51jh9E32UIpTSPDZYFpNDspl/S0J1BldGVyIEplcmVt
 eSA8cGV0ZXIuamVyZW15QGF1dWcub3JnLmF1PohgBBMRAgAgBQJFBSrIAhsDBgsJ
 CAcDAgQVAggDBBYCAwECHgECF4AACgkQ/opHv/APuIdkpACfQ50cJutvgTCnr7CA
 Yx1gw44prGIAoK6wGb6mjGBXOYmsIR6p38HBz+FziGsEEBECACsFAkiaIGwFgwHi
 hQAeGmh0dHA6Ly93d3cuY2FjZXJ0Lm9yZy9jcHMucGhwAAoJENK7DQFl0P1YhysA
 mwZqib3uCp43HPvaHUSjqWbN+e9CAJ4yCQ/QwadfG08bgCqdcwbC5pVqhYhGBBAR
 AgAGBQJJC/M6AAoJEMP7QGiimoSiA00An3BVe3msJxmFn4aMyGVtl2BXGHTBAKC+
 4jV8J9fmADfbUs+HPgII1syRHohGBBARAgAGBQJJC/3DAAoJEEZ4JV2j2FYyZ88A
 njvP58a0TJVZ69Dq/xmqLs7X/T6ZAKDnIaZ6TjFLIPw6L7sAOHfpB5UdiIhGBBAR
 AgAGBQJJDDEtAAoJEIhRcTQycIxZ9vQAnjxOs7B1h5pixKAID720Kj0oDDPmAJ9z
 nZcd7Y4jDiV+1u2xJZRRMFLZf4hGBBMRAgAGBQJJN7jyAAoJEPuR4KjGs65+6FoA
 oLYl0v2UXi8gIxqcWIYJE3IfETmVAJ9XMGyepBw+dff5zjEMViw4u6G+EYhGBBMR
 AgAGBQJJN7lDAAoJEMgJI0WV9VXMQhcAoKPuxTX9sNGTC1qQtnpallx59fpFAJoD
 lumuIDljGPc7ggrY6cR1y9+x04hGBBARAgAGBQJJRaIdAAoJEPoty7DSbyJZSUYA
 nA3TJtn/3KesMPIqXDAoqhFbCX0LAJ9crXWaiUCNsoZtbidcDbKuXmEE5okBHAQS
 AQgABgUCSgqKAgAKCRDwEqbimMZmVW6AB/40256hzYHd3uAS0fkG09U3R43m+sxG
 8cz2H4XYCk7CG3nKF+uYqF4xI2QehGbF5Vm+1HJCMmUhuQ8ppT+SituCIcKibDy8
 k2CxqI7S+PTXxObtyl/iwCi9mTkJ67qppB7wln1RanWr5mXokDAtltr3o+8SqH6z
 I8C5cSNFyw5Iq9FbFqXuHqYqhx6zj01q7GTMrMCAD0jFH1fhzj907+fmfuJABgeD
 Cre5Hpqpj1GDxTnQZvSRut1NzInNDEoXDPeVczGBzAipMDxLNa8zN1daDojq6Cf4
 CGAmXdtIHE+dFSEdJLHbQzivW2pRT7k3QuIlqBQCJwuwk/U0zqGuAqo6iGsEEBEC
 ACsFAkqczaYFgwHihQAeGmh0dHA6Ly93d3cuY2FjZXJ0Lm9yZy9jcHMucGhwAAoJ
 ENK7DQFl0P1Yn/UAnj4Z7fTo/nySGH2cy9DD5sxDuk7+AKCFBoBa6yrEgVCWFFCm
 0zS2pchLcohrBBARAgArBQJKnXvlBYMB4oUAHhpodHRwOi8vd3d3LmNhY2VydC5v
 cmcvY3BzLnBocAAKCRDSuw0BZdD9WBfyAKCXbjv/26Qk99Q5EAoY8R9oP1p2ZQCe
 P01StOEyjoZ5qK+vD+tv+/fXyVuIRgQQEQIABgUCSp9+TAAKCRCsxeRnJaXDCckU
 AKCw1q5KSpkRtqKNtHcyhGz1nTpmIgCfSJkK9BmtAak/HMYROtfRGThF6KOIawQQ
 EQIAKwUCTJFp1QWDAeKFAB4aaHR0cDovL3d3dy5jYWNlcnQub3JnL2Nwcy5waHAA
 CgkQ0rsNAWXQ/Vg6UQCfY26wrCNe9Zf9GHqGwL4IpOTjD0AAn2h4a3e8O5xl0ye9
 8R7osOBFOBcyiEYEEBECAAYFAkzyjUEACgkQsCouaZaxlv4ULACgopUJKHl/JimO
 E5zxBGXkc2pwyRkAnA8t2YL0xlg6+GQjaXG82ltQYlhyiGsEEBECACsFAk95IwQF
 gwHihQAeGmh0dHA6Ly93d3cuY2FjZXJ0Lm9yZy9jcHMucGhwAAoJENK7DQFl0P1Y
 j4oAn1ttsaeatBhm+X4L7cvCaSjRCTkfAJ4+zf4G2OKnVxFEfAucgf83XSRAUYhr
 BBARAgArBQJPpakIBYMB4oUAHhpodHRwOi8vd3d3LmNhY2VydC5vcmcvY3BzLnBo
 cAAKCRDSuw0BZdD9WGSPAKCcY/pL1sBSUAFUBDyNGEkpGbtXswCcDobs4zUP3fuI
 uxgT9iVVXD74f8GIRgQQEQIABgUCT6naDAAKCRDB9NgsmgSal6dAAKC6K5Vd8THM
 O1sbd6ik+2QnTtaS3wCfVjFNQCpVk+5ecZGF01G8rtKyomW0KlBldGVyIEplcmVt
 eSA8cGV0ZXJqZXJlbXlAb3B0dXNuZXQuY29tLmF1PohgBBMRAgAgBQJKnDGPAhsD
 BgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQ/opHv/APuIfo/wCeM50hDiUl5T/1
 RPlTjp92l6VG5k0AnRiSX/bxc2BC6nSjlKyHRIkP5u4uiGsEEBECACsFAkqczaYF
 gwHihQAeGmh0dHA6Ly93d3cuY2FjZXJ0Lm9yZy9jcHMucGhwAAoJENK7DQFl0P1Y
 VrEAoJOh7JCQKCdH1+eoCxXMHFWnhpJVAJ9OoKAReUtvkjiCkeWYCavDXYFGLIhG
 BBARAgAGBQJKnDc1AAoJEEZ4JV2j2FYyi5UAnjK4vkXn1pxyQeZWC17UriIVuyCM
 AJkBjesPsONHpNuHPvmMh7ptHsPweYhGBBARAgAGBQJKnDf1AAoJEMP7QGiimoSi
 IzYAn2YKS8vCezGDVSUz/+ChZQCOWoL3AJ0R4kZTxstj9j3zb2cUo1RvOW7iDokB
 IAQQAQgACgUCSpxIeQMFAXgACgkQ8BKm4pjGZlXDXAf+MhZXRtXmOAoH/wNCfb7w
 NtiYKhxRmU3rOUjwFA8sJq/aG/DSV+pt99FnYExzhzvj7nog0nyKcULQaGm6Jjpc
 y+bSAz0lwYeAdOoJO1iMA8hoqn3YuL21kDNb5ISp131or0amHbzaBjYImSQtX4uc
 y8ZpJsWdIB8NLmSM/gbN17+IpkfHo/xVaVi7TZNccZikG0UibjthWAwcLFvUvXDn
 dSKfA8WJaCQkoseYCiLGdNP35zyo/b1DUrWKzxdqpc+KpJgfyHSvK8XoikymhP0J
 oMiQCKNgAou4xTTAHacsrwq3UakkY1rVMqo6MkqFVq30P0cAMoUsOGxyN2Fyuoj2
 L4hrBBARAgArBQJKnXvlBYMB4oUAHhpodHRwOi8vd3d3LmNhY2VydC5vcmcvY3Bz
 LnBocAAKCRDSuw0BZdD9WIUOAJ0YzbOAhY3GULXALD/P2xfUj1T8FACfbsUZM46B
 VBjcRBErQWW57DimVzCIRgQQEQgABgUCSp3G7wAKCRD7keCoxrOufh0sAKCYG1aG
 R5GsrmQs3ov8EJx7kKldLACgkvUUcDpxC2nkbisx/BL3CJZD8taIRgQQEQgABgUC
 Sp3HiAAKCRDICSNFlfVVzAg3AKCGpTil5ysY8yQX5mBcnDN8sMTmggCfRnDSHJtm
 PQdP+H4Knn4UyHZWO36IRgQQEQIABgUCSp9+TAAKCRCsxeRnJaXDCcOrAKCEHQaE
 eF+q1++EZhLtMfuOTDrqiQCeMU6hVjaKQ7+w/CQlBaBiHu74A3CIawQQEQIAKwUC
 TJFp1QWDAeKFAB4aaHR0cDovL3d3dy5jYWNlcnQub3JnL2Nwcy5waHAACgkQ0rsN
 AWXQ/VjEtQCdEik7LW7U11QqjwMlCHZ4gitKQncAoIKBj64Q2JEOq5xIzz0fOZ1I
 QULLiEYEEBECAAYFAkzyjUEACgkQsCouaZaxlv541wCfdBJyK3DWU3p++fIl5WBY
 K/HGHWYAoLiBflPpAD4bZL8H3CPmIrFMpjdFiGsEEBECACsFAk95IwQFgwHihQAe
 Gmh0dHA6Ly93d3cuY2FjZXJ0Lm9yZy9jcHMucGhwAAoJENK7DQFl0P1YReAAnRHg
 RQCOPnA8fUYGmyAtTpNkvPcTAJ9epsUIZ8FYT1ut7bE/6cg9w8def4hrBBARAgAr
 BQJPpakIBYMB4oUAHhpodHRwOi8vd3d3LmNhY2VydC5vcmcvY3BzLnBocAAKCRDS
 uw0BZdD9WHuuAJ4qlhpJ08KiZEqmw/MdyDPLs3z+8ACeJcwg1jkq+A+aX73YZRj9
 sXIVhdyIRgQQEQIABgUCT6naDAAKCRDB9NgsmgSal9tJAJ9y2S27QaTTe2/h9iWt
 O3QXwDELCQCfdc+vN0AOk0aBDF7y5wsc0focNp20NVBldGVyIEplcmVteSAod29y
 aykgPHBldGVyLmplcmVteUBhbGNhdGVsLWx1Y2VudC5jb20+iFwEMBECABwFAlBS
 j9YVHSBMZWZ0IEFsY2F0ZWwtTHVjZW50AAoJEP6KR7/wD7iHYzkAn2X34aejAFcj
 h4qBIPalMJiPbuR/AJ45kTNqJlcnLsJX/Ze++TVJKiqUxIhiBBMRAgAiBQJK2+F+
 AhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRD+ike/8A+4h2zyAJ9+kmc1
 DlDcp+pPhRxVBYf9irNs1ACgr37onmXaSG6VvpCgoyl1Vcs+g/CIawQQEQIAKwUC
 TJFp1QWDAeKFAB4aaHR0cDovL3d3dy5jYWNlcnQub3JnL2Nwcy5waHAACgkQ0rsN
 AWXQ/VhS4wCgnN6/qCP3XmG99YGOXkxY0NmX0HcAoJxmFaL/7FVBKXDJR4NH5bNr
 QFsRiEYEEBECAAYFAkzyjUEACgkQsCouaZaxlv6pOgCfV/GKmjBHbSfMd4GiALtj
 /AjVOdYAoLdmTundGF5jqc9D3ZOcUqZOj9bxiGoEEBECACsFAk95IwQFgwHihQAe
 Gmh0dHA6Ly93d3cuY2FjZXJ0Lm9yZy9jcHMucGhwAAoJENK7DQFl0P1YDcAAoJa5
 1y+Y8Yojc1hHJNNbNMQb37rqAJj/C4tdOVYHeH2CUw1s0vHJl0/LiGsEEBECACsF
 Ak+lqQgFgwHihQAeGmh0dHA6Ly93d3cuY2FjZXJ0Lm9yZy9jcHMucGhwAAoJENK7
 DQFl0P1YXWcAnR3lG4flcIm04txyvBvA1//gLSP2AJ9xzDup/1+1w+bLo3yAItsA
 VAQiu4hGBBARAgAGBQJPqdoMAAoJEMH02CyaBJqXRBsAn0vQBbsNkWu4eRXQ6x2l
 E+rE3qFVAKDmosT5D7vYi7rCpdW+s3OU24dhMYhGBBARAgAGBQJPqeKuAAoJEEZ4
 JV2j2FYyJYEAoKcP0+UMyRAdSykta7PMw6xo60NcAJ9RtnDlcSQYDVkNktXJ4ChH
 rV/nVLQtUGV0ZXIgSmVyZW15IChwcmVmZXJyZWQpIDxwZXRlckBydWxpbmdpYS5j
 b20+iGIEExECACIFAk+lpyUCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJ
 EP6KR7/wD7iH1fQAn24DSFrYnuqfiMLHOnCpdqfR1F5HAJ97H8+c7F8V12adIDPa
 SWcKfg1uq4hrBBARAgArBQJPpakIBYMB4oUAHhpodHRwOi8vd3d3LmNhY2VydC5v
 cmcvY3BzLnBocAAKCRDSuw0BZdD9WC+uAJ9rvw6TfHj+GqzRoHVpn+dBmcaJMwCf
 YMGJgF8NTv49Ss5ZplHFn48HX5yIRgQQEQIABgUCT6naDAAKCRDB9NgsmgSalwyi
 AJ98CsCtOXyFdkeL18H1CUzrh5PSogCfYAVsBOQYF3VQk5Er7UYWgALZRuyIRgQQ
 EQgABgUCT6nYXQAKCRDD+0BoopqEosnRAJ9X+Sc1+civn1sjVlVOLh4PxsyiHACf
 bidPZxpiHEMo3D1G0jpyI6lZQOqIRgQQEQIABgUCT6nitwAKCRBGeCVdo9hWMo9l
 AKDCHa7Twl9JSqm1SBInG7JQ6FIefgCgwksUikoD/r29nuCDjIxaeMboT76JARwE
 EAEIAAYFAk+81uoACgkQ8BKm4pjGZlWEjgf/bBhssu2uKd+N3FLjOwATRhX+bdyC
 5wNE1RsIBe6aqxCCQdaX+E/dNidIsxULPauK8QYsbztXwzRrlkwACoHEET2TvF4t
 1HZNaZTMXm+bd4bzFR/ISoLHdwZ6QyFykq/XP23ia3XYWZNubtTX6MgYIkwFcA78
 DSWrKeIBTbNiK+hGFZ2o9alJQ480nKL2JJuXaFI/hxqgJ3z/RhVP2iAGlAazglNn
 2AHH1696qGgtsDqeOSmUNmp6FVgvC/n4+jFKywtelm8NEXD0YT0YBNSPDmFLzOLs
 bySrfY3+W37QCmhP4beuLBpBOfcG8vJxvU6XIlET5DPCm6vqh0O7Cnn447QhUGV0
 ZXIgSmVyZW15IDxwZXRlcmpAZnJlZWJzZC5vcmc+iGIEExECACIFAlBS1aYCGwMG
 CwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEP6KR7/wD7iHJMMAoIAPlNKMwSPQ
 /uclko5VhEYxO4b9AJ45wwJWrsR8IjdNQU11Y5DzoTMN+bkCDQRDWAcuEAgA8xJE
 ei8MIQ2FkABrH4UU2MeU6kayPwGtLSj2XQq1IuF/yzIjKMWAofFPuKVUW8EpktNy
 HDvRkOzV3YYA9ACav2YPCohzmsDXq3BL2051/49lOE2V7YyBj03L2S3yoCCAHJKw
 2TlVoMRsgWs/9zcCzyOWe/YRovivEZ4cR/Zaag2laYOCacmDkbKHhfy5s1WDMP9z
 B+qD8nmWcWvOYYx/D/Swnb7ytCYwX9pEc54MFqFzi0lbe7Xy8ksVLpeKR9jZRDh5
 SaT0yqD0Tk+fYyR9Qf9sg5CCbiSa5mN5iuXIHXDZUj04m67MiJ4mNn/kkWEDTZhC
 KMo9GtRH8K81QsvP2wADBggA0+MMIEGxbIKZkc11KZp5ihUcCF+fGQiD8BEJV3VK
 wkraaTbR5xCIBZpFjoZ64veRh1ugxiXI0kBs04HFKqNs7P2TftEv8pI14guLwtBL
 M24aBjLYq176eNP5Mv2DGpvAXUCz0usG11PEgdVQJ9Pe1d60CnJhU1TOJlZJwLN+
 lmhM+gcZLdObOkVR/iUnkzw5ro9TrbAVHVgCnBaXrO/YMDv02IjNQcD/gH6DVrpc
 9P5ZO0A+HxxbZU5yxUyjq3ghLjllPVCkaOzSpgtOsQE6rBtEr5CWsTPKAUuLyYH2
 JzbeYeFdYlldV+Xz3T9s8dy704b5+xr4HLTGUQujzJaujYhJBBgRAgAJBQJDWAcu
 AhsMAAoJEP6KR7/wD7iHmlQAoKbE6ewYf35ymi8HkejDppTMe3agAJwO9owZfOKd
 fl2shbeC4ccb6tc+jg==
 =5gZR
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.160. 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.161. 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.162. Mark Johnston <markj@FreeBSD.org>

 pub   2048R/80A62628 2012-12-19
       Key fingerprint = AFEF AD33 1C4E FFE5 141E  0157 05A4 DA8B 80A6 2628
 uid                  Mark Johnston <markj@freebsd.org>
 sub   2048R/47C7D3C2 2012-12-19

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQENBFDRQycBCADMNjnbsXUOlvy35VnAJWE3zHAPqmXKqUTh0t0LWEtaD8KaNMHY
 egadQNWYwJAjzAI07+3grk8xcJLVjbbB+rC45tNPAxjAf9Jd5WZkZO7vKX0tIDLc
 Kteqp/5UB8SZ+XuhrtzLkObbEccwt66CF8vsUps5hWm1d+Nfxd798sjGmB8uzRJm
 gO2RrVtrOW7OQG+aFjBwlQvaiYavQ08z/xE2b83Y4Jp7c1FlqneFmK4xWSMO1qEE
 Qre8+iizDnPkGVabSLGJxE/EjTpHVBSawkXBgs9AOBoUR95fRr2Qc7GtP0NCHiNP
 FecGq5vCdIVyejUVzWmviYP7y0roG3yE+AppABEBAAG0IU1hcmsgSm9obnN0b24g
 PG1hcmtqQGZyZWVic2Qub3JnPokBOAQTAQIAIgUCUNFDJwIbAwYLCQgHAwIGFQgC
 CQoLBBYCAwECHgECF4AACgkQBaTai4CmJihAPwgAn9yH8EQiyS2x2qy5Zecl80Yz
 sLHSjc0uCBCNyzaLgGnMkqQDljyJzgY8DOL2vCWgSO0uJvb52Zl3nwxNoeMpwA3f
 rcaurFUUTCNmq4YfAHxjkbi5vQI0uJP7StFcFRPcnBOF/ddi+KUdc++xhqvcKBF9
 uHVLK+6MMp4I9ofXNdrenfqXaODDTIaSO3SnL690OFSAAkueDN5hjJRuuEprbZFP
 qyfzwHAot/Owy6Db7LA9MrE4GQFDszA+wvXrreMDdPIVV8dXXZvuS2oEVV9XoTUY
 +VkcOdO+UlD1DWyEP1cZYhyzhwJo8G7ZZJO7JpLB6M6c5bdAyMtHW/aAinh+J7kB
 DQRQ0UMnAQgAxnBvgp1D8Ek07hhV89yhPkucEuxi5Gz8doYedzB6uOUGFdUK8y9B
 gwo8dSjIY3i4rVpJlarJNvd1XE2Pu3YlwvW1Gyo4pa1M5Q/QeQ8thW4k8F4r+RGN
 6qqk085diUKWSwyhjAULOYSWBEbRaPp9L3FNr3uYncrAFhKN3n/o3+18DG2tS++/
 DavKZdNgFKnoLEZeTSOAdvwkTjcWV6lRVcI8vsbi1bl5dA7qCbhfRmJJEaMqhCG8
 bEIJ6r5JtmDNwOzCnl2wS0UsmsMV2lj5BGiRmyw3xdxDGYTICm0j+YUce9lb2V6H
 PWcHCil+Jcg1pJ5oKai4uR1Oo97slmoiXQARAQABiQEfBBgBAgAJBQJQ0UMnAhsM
 AAoJEAWk2ouApiYoo+QH/RLaL2ouB/bxkED60YgdaiOHX+3ZUeXwh5SHapS2cFXU
 ySUcYmFe3fbsXoyeOi4E1AG2k2PyVk/cA/HDNr8eiqgFO91dQ6RnY+VnbN+DGRGl
 9oW7kqY/7kV0ExXpPGSmxdobpeCVkSO3WzY9XKC5VUosc/jCm3+6NqZaCnIIMUNA
 qUD25P9stIBvEv+QrkRn+9vnSHbyvnQvaHWMLrItMgyjrZdd4LevLQaCo3bc5+eI
 4ZhBjHErzC4PmeKgy0ancqWMNfgdZ3fzk8Tcwfy20S+b+TicU0xlQnx8bkPlksCJ
 h7pRVYuHo9VkueYsh5UoyrMJhYe7DQ4lGbv2fj9KHZ4=
 =b1OB
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.163. 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.164. Tom Judge <tj@FreeBSD.org>

 pub   2048R/81E22216 2012-05-27 [expires: 2017-05-26]
       Key fingerprint = 8EF8 36C8 44A6 9576 6ADB  EB0E 4252 33DC 81E2 2216
 uid                  Tom Judge <tom@tomjudge.com>
 uid                  Tom Judge <tjudge@sourcefire.com>
 uid                  Tom Judge <tj@freebsd.org>
 sub   2048R/2CA4AA0D 2012-05-27 [expires: 2017-05-26]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 Zm0FKdW5eJP4ewW8
 =jKVY
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.165. Alexander Kabaev <kan@FreeBSD.org>

 pub   1024D/C9BE5D96 2002-07-01
       Key fingerprint = 7474 A847 DBF5 50A5 FC3E  F223 43AC F58C C9BE 5D96
 uid                  Alexander Kabaev <kabaev@gmail.com>
 uid                  Alexander Kabaev (FreeBSD committer account ID) <kan@FreeBSD.ORG>
 sub   1024g/534D9E06 2002-07-01

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBD0fyVQRBAC6DXZDVJoFc4CPKODmJmep0t5dD+ObG0hYiMfo4ygDAvsftJPv
 ZR69EUbKCqVOXPy5InOR1o1xwERvNVXxBGOFwAdoU4eJt/f3ttR6YSLWDG3iHWRQ
 Fze9mtZ3bCBcdv8V0pXint/w41y9nBmG03F+Ag2toD5mHYqV+9vqH3XTmwCg7Rq9
 K/Pk7Z5lAR/XWyJv6Bk8op0D/j6Jef2ate9+NwBAti+9GgIocBGx36X/SpZonGOV
 xtX5E2MranZGCVnbdW1hXfKLaiRrooSxbGpMnFbjqY+peHZ905pd+3v++L0sGSUA
 gLbGL+5GFDO/WGay0vTUBs7Bl+1cbsdeQ67+08WuIRfcbDjA9fYxI9LLTb4J+IrD
 Ni36A/9WBGxkXNJCTrtAqhCoHRgfo1CHNk+U3KiIlwFfvi1WRkqEgFNQ6aLNsPcT
 DkIoPLj2hqKf0Pfrr1MWGcQF1uYxtW8diFH9FzlZpkwXvHPOBsJSWtH8qcZ7atFC
 EIwvZzurMbYWaTGNYMEL3kj9aRjKb2OnsKABZ25H1cioFReMx7QnQWxleGFuZGVy
 IEthYmFldiA8a2FuQGthbi5kbnNhbGlhcy5uZXQ+iEkEMBECAAkFAlCtcHYCHSAA
 CgkQQ6z1jMm+XZYzSwCgx20s6h6+tB6nj7gs0mHRmXEd9rkAn3PbiVCY7AvRcQKd
 jzMg1fh609+NiF4EExECAB4FAkLcBooCGyMGCwkIBwMCAxUCAwMWAgECHgECF4AA
 CgkQQ6z1jMm+XZYJIACePCBQpk+mw0WvLAkE7I5DkeCv4w0An3MKAuq3Acnzxw5J
 1U5XsB0nooiStEFBbGV4YW5kZXIgS2FiYWV2IChGcmVlQlNEIGNvbW1pdHRlciBh
 Y2NvdW50IElEKSA8a2FuQEZyZWVCU0QuT1JHPohZBBMRAgAZBQI9H8lUBAsHAwID
 FQIDAxYCAQIeAQIXgAAKCRBDrPWMyb5dltYPAKDD2YYKr7ZDEbVKAdyHOyF5dl+h
 3wCdFWg9dC8w6dD7nUKvg9b8cq91byy0I0FsZXhhbmRlciBLYWJhZXYgPGthYmFl
 dkBnbWFpbC5jb20+iF4EExECAB4FAkLcBkICGyMGCwkIBwMCAxUCAwMWAgECHgEC
 F4AACgkQQ6z1jMm+XZadUgCggxcqTFp+zV2YOM+cDlVtreVZDo0An1kXV2vUaxap
 0fQTq2QMfGyMbsG8uQENBD0fyVQQBADOlRurkQxMzKcXE8Wfb9dimYC9gyNso19f
 yKAJGxD1lgvJeVyf2OR4k/d6ctQAcNuv3qT0al9rE5DQMiI3fC6xLA/xJekqDCu6
 LLjdwLYXJtjSq6HyY2qUS4+sdPJSpVadaMKE1jLVEYCtXi/Q1gTfwPDQp0GzSS7i
 gyouzi3QuwADBQP/d8b4C53pgkrcHQ/xOv4UW5KQrJg5DZMMxZ6gF3IGFGF99kHi
 d+zBtrzzlq6PmFpDf69LRaISk0qnjDAsrRt/ypnsRnQ6YOmTSSOKK6y7runPTwaP
 /gSFeDFk+9ZNxjebpcoN6SHFxi3V/4ITVJfXQJIU/BT05A6LeZGYykTdrCOIRgQY
 EQIABgUCPR/JVAAKCRBDrPWMyb5dlpHKAJ4x+Ltw0UyNi82weZpghm6b02OVvQCb
 BB6jh/RjnfLoZ/Cq2dke6K5Heok=
 =4r9K
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.166. Benjamin Kaduk <bjk@FreeBSD.org>

 pub   4096R/8302FE9F 2011-08-20 [expires: 2013-07-21]
       Key fingerprint = 9FD9 F966 D914 5101 BE59  FE13 2D29 EEED 8302 FE9F
 uid                  Benjamin Kaduk <bjk@FreeBSD.org>
 sub   4096R/28698ABE 2011-08-20 [expires: 2013-08-19]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 umeN61KbYXYUxVazdIg=
 =hh9s
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.167. Poul-Henning Kamp <phk@FreeBSD.org>

 pub   4096R/8E5F44BA68E689C5 2013-09-28 [expires: 2018-09-27]
       Key fingerprint = 4357 5923 B8E1 1D70 3C66  5540 8E5F 44BA 68E6 89C5
 uid                          Poul-Henning Kamp <phk@FreeBSD.org>
 uid                          Poul-Henning Kamp <phk@phk.freebsd.dk>
 uid                          Poul-Henning Kamp <phk@ing.dk>
 uid                          Poul-Henning Kamp <phk@varnish.org>
 sub   4096R/1A605690A520ABD6 2013-09-28 [expires: 2018-09-27]


 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =Bvkq
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.168. Sergey Kandaurov <pluknet@FreeBSD.org>

 pub   2048R/10607419 2010-10-04
       Key fingerprint = 020B EC25 7E1F 8BC5 C42C  513B 3F4E 97BA 1060 7419
 uid                  Sergey Kandaurov (freebsd) <pluknet@freebsd.org>
 uid                  Sergey Kandaurov <pluknet@gmail.com>
 sub   2048R/5711F73B 2010-10-04

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 ZHTrB5rRodo5ARlH/LF9IQ==
 =RXWt
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.169. 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.170. Takenori KATO <kato@FreeBSD.org>

 pub   4096R/3CF9ACE7 2012-10-02
       Key fingerprint = 5B72 AEF9 B2F9 069D 54FE  CF60 444F 91C8 3CF9 ACE7
 uid                  KATO Takenori <kato@FreeBSD.org>
 uid                  KATO Takenori <kato@nendai.nagoya-u.ac.jp>
 sub   4096R/1C593356 2012-10-02

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =jQtb
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.171. 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

 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
 p5J1gj4xWykgTuA=
 =U6zf
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.172. 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.173. 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.174. 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>
 uid                  Giorgos Keramidas <gkeramidas@gmail.com>
 sub   1024g/50FDBAD1 2001-09-21

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 IgCfSGrV0biCeEg2LYvkY8r+qISrp8eIRgQSEQgABgUCShJ0sgAKCRBKChvI5PT/
 5qKNAJ9v7FrYn9H4JSkDSkodD5e58m8o7QCfYIYTc7ZtJezQVDfs5trMaZJ9hSG0
 KEdpb3Jnb3MgS2VyYW1pZGFzIDxna2VyYW1pZGFzQGdtYWlsLmNvbT6IYgQTEQgA
 IgUCTCrZPAIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQ1g+UGjGGA7aY
 hgCgodxcHXJakfN/aTje5ptVDfnp9r4AoI8VuOfyfOa3oNG7l5b02xyBlB5atCJH
 aW9yZ29zIEtlcmFtaWRhcyA8Y2hhcm9uQGxhYnMuZ3I+iHgEMBEIADgFAkwq31Yx
 HSBJIG5vIGxvbmdlciBoYXZlIGNvbnRyb2wgb2YgdGhpcyBlbWFpbCBhZGRyZXNz
 LgAKCRDWD5QaMYYDtsu7AKCQ4dJNvHzvIY2N3TZ9hQgkdHCTcQCglV+YmYD5tfhK
 fxz6xA5tWYKsazuIRgQQEQIABgUCO6yjtAAKCRBh4yFaDntT0WGcAJwMjYa2mHPt
 EJnBP6+q5ibZKotr+QCdGcFV/PUvU+x6GFu51qYyjeWIucGIRgQQEQIABgUCR+T5
 GwAKCRDuYs+nBbNfMveNAJ9ky78WZ1m2J6k8kAaR0WH8xyHp/ACfaElBolLsm9Gj
 YVJil7G6Hq3yyuOIRgQQEQIABgUCR+T5kgAKCRAq3iExvmZmv6UpAJwM2zEmjcqD
 p8aXCCDJ/1/2oT7IjQCfaMLk0j5ORVhqctDvAY+wwZEvzOKIRgQQEQIABgUCR+T5
 kgAKCRAq3iExvmZmv/OpAKCYm2oSekQXnZqajQU1RfZKM7CsrQCgieh8jdbNAjRP
 o1UyuApv0ZPoZtWIRgQQEQIABgUCR+Uv+gAKCRAEoQQzidLT0DkXAKCcjUk/vXuz
 jTaCl+qbcWFUMhnsFQCdFXUhl/DaE/12iREGM7Gez8ksk8CIRgQQEQIABgUCR+WJ
 hgAKCRAEiI4tF8pLCg+bAJ9hlq2p/iT9cF49pLIFr0BdsRgrFQCfSpunlpTurbIY
 f7QjOY/2VavPdFKIRgQQEQIABgUCR+WmiAAKCRCZZAgVZDELDQUBAJsEwvc/iP8R
 dmQsKJVdAd7HmsCebgCdFILI2RcyU+cyaqSJnQtGpTrWs0mIRgQQEQIABgUCR+Wm
 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
 rkbWaRVzAJ4oA62xKNbHfUJWJOrlny+YSCPRpg==
 =PK2k
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.175. Max Khon <fjoe@FreeBSD.org>

 pub   1024D/6B87E212 2009-02-17
       Key fingerprint = 124D EC6C 6365 D41A 497A  9C3E FCF3 8708 6B87 E212
 uid                  Max Khon <fjoe@FreeBSD.org>
 uid                  Max Khon <fjoe@samodelkin.net>
 sub   2048g/CB71491D 2009-02-17

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEmbEFERBACe5xJF2u+R6020qrAb42ZcqdTUFDepqVWI/qrxXoEpC+fxAD4x
 9s8zilNIZkG6NVpEr7swAWG3+XMSqM5vdtGDj09JFsGEuREB05JTzIBtqGGKWuEn
 Mhg/3K1ZxPPwAokm0Sr3kiGk0Q0O+dTesc1kq6xjuDYC1CrLKwVewp8GqwCg2irJ
 MsYAfODJFAXdK37hG9T5TB0D/2CqorXSukQ2L4U7aFOYlWtDnY61c+gLC9JKJSD1
 TfNTjlJqfu7/1LqVglFZ54Pp6mXYSheq1N853jBFFKAfByiTvD8BFbUsCue/aJHc
 W+STjM8J9fY+oyi/OMZdgdseQ9fn4Y87sK9As/JsE/z4V+kn0V7+x2mqTJwqsSNe
 1JyPBACeQ+yEVchDkoyK+lPgjHYQIqrPbu4SrRalR/WkAwPE95b3j8RHNsX9PL6T
 J3yDxXTOxQgfoCVhS0KPgLoLKTfRf3CvSZYduFkWJgeCtoKaYn9nBzcnlnCjrGvh
 1bplgiOX/4x07aHEYgVRan1Wed2pPjpT7WWy6NDC0VP2HmvpN7QeTWF4IEtob24g
 PGZqb2VAc2Ftb2RlbGtpbi5uZXQ+iGAEExECACAFAkmbEFECGwMGCwkIBwMCBBUC
 CAMEFgIDAQIeAQIXgAAKCRD884cIa4fiEr9CAKCYt+Yc1AiBqAkz1fwDxLC6Kim4
 LQCfXGLJOc7rvsR7lNT8ftexwa36dq+0G01heCBLaG9uIDxmam9lQEZyZWVCU0Qu
 b3JnPohgBBMRAgAgBQJJmxB0AhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQ
 /POHCGuH4hLIcgCfZ8MJjAT+wFB5DfbtNELP72xoTqoAoNXtUquEkBo3pkt2M089
 xPqKnBDvuQINBEmbEFEQCAD49pzUGeoNT6HqnHx56l/+eqMljCm9OMUpt3CeNU5j
 UisWVb4yv83VP8cliLDYw5pWCm4TTSbsG+OdYrwm2l+lIVIUeST0XMxK4VeoNTJF
 DavUs2r6XS0Lspr60Ynnp8z8bA5/O/C82DB9AGo4dpew6ybQoXRyY3O1JAWBucuh
 Y/ti5hGtKT/n82XHYtD/Z8BcHN6DVEsU+tn6FWeKu1yZqen98ZN/KOO0GhBAgTn0
 AyxVYC7sbsul8OHBgNKhUvukIBIHCjZWPYTqJwrwKwlrGLENiUd0sgcugRP7sEEI
 iGdqT3/uy+IcaKP8iHPWUD3lrqV9d74JXjFu7GZoMId3AAMFB/9MT4CxcJGMBBs6
 +icdnFwHIGAxBkUXFCSgQsVr4OyhHx8Ac+WDIIeHLF83kd1PKG+ecAxhxwF+MlgG
 kU/Qk9pVwBJBM/Gs+hrwOQODsf5+sp3CcudICSzAXtzm1A01CQVfqQYCscZDQvW6
 ikJZspLLJkbHG+p103C6xsmcOM3qFJN3erQpwRfhqwvKSwH7/pjxijEc6tvTzj3X
 nW/rAUZIHlB4PzSlLZ4plFLgYMBt73ewlt6lKXmMrnhFwJtcA+2bIQd3dAWo3Eba
 feGK5hqHATowvVgLjx+ihE4TdpA7kXyfZ+nP2bGFaCR8JnWVtKZkTqaWrU9xRPpB
 3YwQNOtBiEkEGBECAAkFAkmbEFECGwwACgkQ/POHCGuH4hLFaQCfbr9tE8O9EUjf
 Mre0CBDDd2Ck2sIAnigLJE2wP8hPmK9bSvzEcd1qKpnT
 =3qdH
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.176. 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-----

 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
 =3/vj
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.177. Jung-uk Kim <jkim@FreeBSD.org>

 pub   2048R/FCDBF146 2013-09-24 [expires: 2023-12-31]
       Key fingerprint = 9756 EA80 A691 CAA7 D65E  EFC2 7C9F 9626 FCDB F146
 uid                  Jung-uk Kim <jkim@FreeBSD.org>
 sub   2048R/501598FB 2013-09-24 [expires: 2023-12-31]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQENBFJBztUBCAChqNyGqmFuNo0U7MBzsD+q/G6Cv0l7LGVrOAsgh34M8wIWhD+t
 ztDWMVfnAhxNDd0ceCj2bYOe67sTQxAScEcbt2FfvPOLp9MEXb9qohZj172Gwkk7
 dnhOhZZKhVGVZKM4NcsuBDUzgf4f3Vdzj4wg6WlqplnTZo8lPE4hZWvZHoFIyunP
 TJWenybeV1xnxK7JkUdSvQR0fA59RfTTECMwTrSEfYGUnxIDBraxJ7Ecs/0hGQ7s
 ljIj8WBvlRDU5fU1xfF35aw56T8POQRqF4E6RVJW3YGuTpSwgtGZOTfygcLRhAiq
 3dFC3JNLaTVTpM8PjOinJyt9AU6RoITGOKwDABEBAAG0Hkp1bmctdWsgS2ltIDxq
 a2ltQEZyZWVCU0Qub3JnPokBPQQTAQoAJwUCUkHO1QIbAwUJE0/POwULCQgHAwUV
 CgkICwUWAgMBAAIeAQIXgAAKCRB8n5Ym/NvxRqyzB/wL7QtsIpeGfGIAZPMtgXMu
 cM3NWzomyQMln2j2efUkDKthzh9jBxgF53TjOr7imwIt0PT2k1bqctPrq5IRqnu9
 mGroqaCLE3LG2/E3jEaao4k9PO6efwlioyivUo5NrqIQOQ4k3EAXw7d2y0Dk1VpT
 gdMrnUABhj7lGlLqS4ydcrf24DdbCRGdEQwqd9DBeBgbWynxAJMgbZBhYVEyIHuQ
 KkJ8qY0ibIPXXuF0KYDeH0qUHtWV2K3srNyPtymUkBQD84Pl1GWRYx05XdUHDmnX
 0JV3lg0BfYJZgZv0ehPQrMfYFd9abTkf9FHQYz1JtsC8wUuRgqElRd6+YAGf8Tt9
 uQENBFJBztUBCADLtSrP44El2VoJmH14OFrlOgxzZnbn+Y/Gf1k12mJBiR+A+pBe
 RLD50p7AiTrjHRxO3cHcl9Dh0uf1VSbXgp8Or0yeiP/86fZPd4k5HXNmDTLL0Hec
 PE08SCqGZ0W8vllQrokB1QxxRUB+fFMPJyMCjDAZ7P9fFTOSdTw1bJSTtOD8Sx8M
 pZUa9ti06bXFlVYDlaqSdgk181SSx+ZbSKkQR8CIMARlHwiLsa3Z9q9OEJr20HPy
 xe0AlTvwvFndH61hg7ds63eRvglwRnNON28VXO/lvKXq7Br/CiiyhFdKfINIx2Z5
 htYq22tgGTW7mBURbIKoECFBTX9Lv6BXz6w9ABEBAAGJASUEGAEKAA8FAlJBztUC
 GwwFCRNPzzsACgkQfJ+WJvzb8UZcJQf+IsTCxUEqY7W/pT84sMg5/QD3s6ufTRnc
 vq14fEOxCNq1Rf4Q9P+tOFa8GZfKDGB2BFGIrW7uT5mlmKdK1vO6ZIA930y5kUsn
 CmBUEBJkE2ciSQk01aB/1o62Q3Gk/F6BwtNY9OXiqF7AcAo+K/BMIaqb26QKeh+I
 IgK1NN9dQiq3ByTbl4zpGZa6MmsnnRTumzGKt2nkz7vBzH6+hZp1OzGZikgjjhYW
 VFoJo1dvf/rv4obs0ZJEqFPQs/1Qa1dbkKBv6odBXJpPH0ssOluTY24d1XxTiKTw
 mWvHeQkOKRAIfD7VTtF4TesoZYkf7hsh3e3VwXhptSLFnEOiWwYofg==
 =apmV
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.178. Zack Kirsch <zack@FreeBSD.org>

 pub  1024D/1A725562 2010-11-05 Zack Kirsch <zack@freebsd.org>
      Key fingerprint = A8CC AA5E FB47 A386 E757  A2B8 BDD2 0684 1A72 5562
 sub  1024g/6BFE2C06 2010-11-05

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEzUTbERBACySFcOGxN2msGiMvx9yhyQuklGdDgYKAzm/TNlImVQF6q3qhcb
 CJ6FaE99kFG5EmQXT8uCRSzb3/dIvNrhjTxrmT63kjs67mKnyHky3wP0NHCNSmZs
 b5Ky3h/SPOpb06S4zmhI7MGEm/xwBkQqc2YqfYTzRW83VNS9e/sTNzzwBwCguOPz
 Hr++4PFj0nr8I6r5HKMrfzcD/i5B4dhi25M/KlQsM2dh3r/z8KZ/79gmHKBJMrHg
 zI3sczQvXNo7jgaJwqgSInlfSoKKFyBw6Oqr0kP31E0K6ZKdrbpH982BSx5qtGe2
 xnDJNHrSOtgFqg3EW9DaYImdUmUOeW31evMwhjCYGSZF6iNVh6sahfZNFwmEgUXU
 +zBJA/0YeIPcQNdOapJ8H/ATRH7SLyMME+GIOx+85VCD2VBOq+WCSN8U7gJ/FFTn
 0NCVAVtPt/IAOMCZTob2as0C4w3Ho3YZTnl0jl1taYCRQnENQoVoT7cCqN4auypU
 0H2EvGPGUie+iZ4r+G2LLdrqPMiR5UTRcZuPk9O3VWXPpeJuoLQeWmFjayBLaXJz
 Y2ggPHphY2tAZnJlZWJzZC5vcmc+iF4EExECAB4FAkzUTbECGwMGCwkIBwMCAxUC
 AwMWAgECHgECF4AACgkQvdIGhBpyVWKvcwCfXGP1APXbQMWyacrwv4vfCjdTUpYA
 njYDgW1ok7AiabZjdT6APpGeqDKyuQENBEzUTbIQBACYKMjEfC82aby7YMRmNqCR
 IDU43ipbpRsUSz+TdHe61OYBL3eOFM5N4gp7tTmLisoW7AzFdiDgM9CUv9V/+ucO
 cM+Kmloqe65XWyCQchCISe5+8mMqFG617aDvQihHjho473IxlersxGS76WG7RDUn
 EP7gQeU/MzBcKi5Wk1ocOwADBQP/ZAgj3Oub0ntbBealsqEydjhysMMCOjOWJ75h
 lmBfH++UXiN3rFdzHzGlwLhTLY6I992YZM5fYPw/ta3w5Y2Cm8c3QqG+RcoyK+dH
 c9ce80Ddq1DV4F7RWNhjl3ej9kOneb0XhPdZ3FVDlc0P/88+5nL4bRLMuzp7g5rI
 ONhG5W+ISQQYEQIACQUCTNRNsgIbDAAKCRC90gaEGnJVYhriAJ0Y6dyrFOU4sLuR
 +KLw5h/8RgCNPwCfVayO/zLdURlB+BOpbmyxn6WnCLg=
 =sdsn
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.179. Jakub Klama <jceel@FreeBSD.org>

 pub   2048R/2AAEA67D 2011-09-27
       Key fingerprint = 40D6 097A 174F 511B 80EB  F3A3 0946 4193 2AAE A67D
 uid                  Jakub Klama <jceel@FreeBSD.org>
 sub   2048R/5291BC4D 2011-09-27

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQENBE6BwQkBCACllA3LvksIethpx05Q3MwzG/bAcPBlclrl/tRlPtPGYqYlSfRc
 iVWKzOHq7k9+vVkaMmGwCyjj7/AE4vw2MPWCKODX2awW7xG7mcHWUZBYBcK4b+Wp
 2kpUrxyeZwSmzdqj3p4t9vSyY9njTNkRaJ3B1ozlEx+8vq3SgFHZFglHjuyyDi0R
 S8jMIXrHJb3mhnTABRh90vIj0eHHsuq75YwnWdBNyFU8t50zT/mshUCGlX7UWqEX
 WhsXXlqNqcFRW/AGpqwj8lHcLC7SyrNB8wu37L+duIqcmnTeT6aOjHc57Zle8Jdj
 EtUVtRoJ4txRnHLQM3B4sZ7ybP3sCTMnPzV/ABEBAAG0H0pha3ViIEtsYW1hIDxq
 Y2VlbEBGcmVlQlNELm9yZz6JATgEEwECACIFAk6BwQkCGwMGCwkIBwMCBhUIAgkK
 CwQWAgMBAh4BAheAAAoJEAlGQZMqrqZ9C9wH+gJzw7uvpz5VwJRN3buK4n46v8qU
 YFQrWwGzVO0R5QMrFcN6x7FzZupLFx3BOih1ak3UPVyJ3fcMCORAHU1QkCnwCBnm
 IUNRGPwC2WvD0hiBcBXpe6BRbshyeWkvqaclnSvcOWUZP58gmJnLZjCs5ke+se/T
 gZgSTTuN7mMFCG7MA4EXcvtIX8VWXWVyXufXFdBQnQkuLtboetYE692063YUIslK
 URw53loB9jonBkZ2lWPkN6Q0HF/34HrP/Bw4ZZnYZ/gzfFhoQdrRxCBaK7R2TrJ2
 kF2FSUtsCHJWgLq0cYygf4pCz7oYTt9x5IuubH4SDAjV65JgMic2RKkehE25AQ0E
 ToHBCQEIAMopCcGmuQPYBVgEcl1bEtwG87mJJzpTNBlOaE7JCUK7KSI+9qE5o5Tu
 jqFF39mu3Gr1kecsmtNNfCNW+ja9MtTatcnsMWMhZ5uNFUG3y2+Kotp1DEWTAZcM
 9TnX9IrnyLQvyLVJT5LI4qEcsAYHrLyJMrCu7c53M+RVigvimniKvW0yBZECxqYv
 nq/b0BSJovmtdXnO3wHLgz3dDcMnOAgGNsMpBztoRjiC5ssSCEfnCMLXVjmOa6Ji
 kRL740TTNK1HK00Wk0pfi5NEiTq+XTyFg0ekeMZIIIRQZHkFFA/ThJoEvvOb9pv5
 vkxifCjz0NFTecttnpVDSPWq77KYM7UAEQEAAYkBHwQYAQIACQUCToHBCQIbDAAK
 CRAJRkGTKq6mfXU6B/93a1Us9ESZfzwjg5kd2Rf9GtzJkEUlEKKJWkG7eK/6p3pr
 Qlrv2S4coikPCbasdxi4INbQbtDP44Hr6LNCRXB4VCeDbOA0W5H4hO4y1kWXbdTN
 X1pTXBPgj5kFe9lFQK9arHDgJsJaqKtDETlTmH/iI9xc51ZM5aeB4i963KixnPFy
 KFHjjAynTZSIMd8JXYul+kWpSSP5dckvW4G97PPoqbz4lsDUsgjf5Lg1lhThjlDz
 Jwm8yXz0fqORkB+wlEj1fsF5itmP+sG0YipncjFXGf/0ToggRucsSlDWBV7l9wBo
 HeAGT9bpY64DAhB5SLQBDphtBChiit4TJqkWVs/4
 =Rt4u
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.180. 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.181. 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.182. 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.183. 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.184. Taras Korenko <taras@FreeBSD.org>

 pub   1024D/8ACCC68B 2010-03-30
       Key fingerprint = 5128 2A8B 9BC1 A664 21E0  1E61 D838 54D3 8ACC C68B
 uid                  Taras Korenko <taras@freebsd.org>
 uid                  Taras Korenko <ds@ukrhub.net>
 uid                  Taras Korenko <tarasishche@gmail.com>
 sub   2048g/8D7CC0FA 2010-03-30 [expires: 2015-03-29]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 EsKTn7/B
 =meSB
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.185. 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.186. 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.187. Alex Kozlov <ak@FreeBSD.org>

 pub   2048R/0D1D29A0 2012-03-01 [expires: 2024-02-27]
       Key fingerprint = 7774 4FCF 6AC9 126B BD0E  DBF3 5EBF 4968 0D1D 29A0
 uid                  Alex Kozlov <ak@freebsd.org>
 sub   2048R/2DD82C65 2012-03-01 [expires: 2024-02-27]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQENBE9PQzABCADlsyzEaEjFoIM3Z0ob7pYdIDXZD9T1p1+4o3AMTlS1Bq4WWJb9
 Y5er+hcpISDHVmn4FAnIJfstZa4x5jBpbs7D3NzF07yj+jrxJ85A1FEGrViS0YPI
 I2kannA53W9q+bSkj7PztFVnj3JR7HQR2yTCxWE0M9BTuXpmwJCMOD+GUJkB9/2M
 jCRmuZhB+0QD26BC20VDiLQcXN7Y3iQOkc/k4QUt0/bN8cTXghNnJEbWT7uFdPZv
 XPKmGfmNnfnI7cuK+Wc16OTe+24fn7y3CTnHm3tEai23ZbeT7qCkfsFG/5e5BRhQ
 XJNeMXbQ/Um3kHPD7LBkO8mPab/qsOXrkeO3ABEBAAG0HEFsZXggS296bG92IDxh
 a0BmcmVlYnNkLm9yZz6JAT4EEwECACgFAk9PQzACGwMFCRaOagAGCwkIBwMCBhUI
 AgkKCwQWAgMBAh4BAheAAAoJEF6/SWgNHSmgIzgIANNwch8RoaAW2rnpWVDGyLjP
 476zCfJVIA3DDEhM5dhAIlEyqe7jYh4kwWw7+Dk8yZQMEnZZ1Dst3qasiD+CviQc
 pQgKOy2kERvPkYyLES8GiS6RD178RSRzZIpnhaE9Fl/rdjfSOOdtNlNFdmUK4WLz
 GCxaJx+betmXKzImIIhkgGhisvhTg+P9saDRiVV5CwQNPJnlJXUUraaxXoNMosVx
 BZX24aQQByaRxY2CyA0IVGhnwhgd5dCh/TI37/h/CW9RBTahvxhQcgaC2pCgPvl/
 Pu6EdT2w5vAmWv4dF+QRBoEqZpdhUoOe70W4xh6oV3MhA+BwWMoPuZsYCLjfPbu5
 AQ0ET09DMAEIAOkzC6DXsskYWl4NRlFnakaf/My802Jkw42cNuCIrClkl2R/sJZD
 wMLq0JDPcffNJJD8CP3ivo0huh6m17Jw/Gg92iijmfoL1YPPx2ZO3HOv+li0JMy7
 yYOUYRNccUP3RqBpja1upldDLXharu9CN0H7VzIJxSwmQkqcRWvcw/PkM9brJ071
 ghyp99p26pT2II65O6pQOnBN2MSeWP4QY/EiqLn2ldOm+aeH1VfoiAKyiObrgJ8h
 tEJrFfkdKYa4+mEQze47lVJAywTeojLKumswHctp+UiF/+Msk6Sutnkj0i/a23h/
 pqYekr6fod0QkwJxdopfBHGLUyh7aHUwIi0AEQEAAYkBJAQYAQIADwUCT09DMAIb
 DAUJFo5qAAAKCRBev0loDR0poDDXB/ddOa8+TBg5aU0oVPQ+bDA60b7sRb0rmrn+
 hB1mXpdMtI0kHnJxUUI6Rx3tlfD2XE9P89oFyDxiOKjLFLAs6Rj9fCzp3EijARzu
 7EUl9+Guo9p4jAOiQ0e52XN+Qz+eYa3SLDj/A3Ql2hbp7jWKa8xtM32oyC5nAL1Z
 YRx+p9eVNT1UwwQkpiYG8VviSZZQBVoiG9h1mLzkzDj6EmEOaI78L/MjTJV4Gvcy
 tn0QaaYzTPIYUVbm269WNbuRaNbVdw3u0yhgV4OKaWjTpx6Ngv7EMJ8+SK74udGk
 nejHYo4sCxROs2Je3yo1hYgrVxj/8tNWj8Phl6nWoSssGpbdIOs=
 =iXGb
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.188. Steven Kreuzer <skreuzer@FreeBSD.org>

 pub   1024D/E0D6F907 2009-03-16 [expires: 2015-04-09]
       Key fingerprint = 8D8F 14D6 ED9F 6BD0 7756  7A46 66BA B4B6 E0D6 F907
 uid                  Steven Kreuzer <skreuzer@exit2shell.com>
 uid                  Steven Kreuzer <skreuzer@freebsd.org>
 sub   4096g/76940A06 2009-03-16 [expires: 2015-03-13]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 lgCfZOa+QkqMPrm6oNaz6hEDARjrAu4=
 =gqde
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.189. 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.190. Ana Kukec <anchie@FreeBSD.org>

 pub   2048R/510D23BB 2010-04-18
       Key fingerprint = 0A9B 0ABB 0E1C B5A4 3408  398F 778A C3B4 510D 23BB
 uid                  Ana Kukec <anchie@FreeBSD.org>
 sub   2048R/699E4DDA 2010-04-18

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQENBEvLStoBCACxnU/0ujcU5D0Ph4eGJhRfFSxoH/CBIH1AnaQyrsmzMCfdFav+
 IS9qdAHeNN1GugOKwvbP1TQQWQjGNiPMaUzWVE55PrLfQhTq3q2t6Q/9MUIXEKkX
 p3bruBe7eruQb4sN9Q113lLTZBTs8GsWI+iAqaeuT2eKhYuJlqI37Zp/36k87cTE
 sQg37HtSfkjLOCEbxH9q6JGCi0rwa4DqlPfwoPEyyMuTcwcRm4QhNKUvJ9jRFze9
 YYMXQIgBMX5L0j94mnq52HkXstv2rK0xURKANtXcqb0ciQUoXTRN0K0cYHPbNHWS
 PqZMhpTYd9d+SKYHuOGUJbsLhtaGzBLK9SQ3ABEBAAG0HkFuYSBLdWtlYyA8YW5j
 aGllQEZyZWVCU0Qub3JnPokBOAQTAQIAIgUCS8tK2gIbAwYLCQgHAwIGFQgCCQoL
 BBYCAwECHgECF4AACgkQd4rDtFENI7ub6gf9HsBwaT7CmPenZPPJk+/GXDiNWPW+
 Q7c6rAEA3072j+h/RDTnhKip9R6/4SankmrQSA0NCO1EiTzsgV/3cS0k4v0XKBrT
 10B1WrxI5Tx0osEYNP4GhPWkEO/6jCTF+8EsKyPujOvw9ps/OBgdYhD+gwv94SX5
 IymGWrBeyncmJDefcvA1UoL5XjhgGtv6qhmzPmN0+PamJlPd0X2W0fb/w9/od+5+
 o7olzxiy0kVaYXBizKVQ482x/oN3kXwzMmxkhN4zmoJpOzvjBOw4Ar5WiYldgL8x
 ZggWcR0NLVejeyi5VBPxsPh3vfvfvvjhxfHuS/bLGyBa/tO0bKxTpbD9frkBDQRL
 y0raAQgAsOEgWecCnr55Ny/V3LI+apr6wq5Rt37E+szExLEzGPQCeSE2BKWDNHGv
 KWYuTow6dZtCySg7GXW0fEV+QEvWvDa3y/zGjZOSVwcm7pk3Vm3Pnuv9a52wG6gm
 +a0M/68T121UK37+u5u25OHZaMaGl2poaeD/D+jzzvYvEDk6C84FNDmLXZjMtiuS
 NmLsc+kZodFbsrUjdFZXykFKP4a4D8Gq4nPLvDjRB5ZNKFjy1HQxpOJAkZpK0wgz
 t1AymA+9oom984jiPlV3DSrxrJoAndQeHoKDz2dhdZ9E1CC0Al5aAhVn94nfdwee
 GEL8N1KTtQLBmP4QXFtOAupBiqq0IQARAQABiQEfBBgBAgAJBQJLy0raAhsMAAoJ
 EHeKw7RRDSO7B1gH/3I75IrWb9AAEQRYIoGJW4/vPB2CQ0juG2XX657wzgDzL8uD
 E8Lb4zQJa1RtSj8Ma/Qx+cL7BNWypZAUIrXrhZiVdAjvnQ87CyW2bjZ1w4zsv1Qm
 mbKT6TmfMuGQLUjnoOwdRh77TfyLirKsXx1535UY6gH3YFAiZaf5H4yosC49tizF
 l5WNOv4DmHSJ5npLItAORSrBDeJWk2wLjp7N+7Hy9lbyMegAwYMQSrQTwNRGok0K
 ufjKvZwbUTmo/MYaLncTWpWl/ZFL21s90vBM36q0RiPDVCkZvqrdwyqb56Fr4KUH
 yl7TOEgJibW2V19o1SPGrF7QFfC3nE7S407UmRc=
 =+R9q
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.191. 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.192. 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.193. 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.194. Gleb Kurtsou <gleb@FreeBSD.org>

 pub   2048R/C2A8382F0952092D 2013-11-02 [expires: 2016-11-01]
       Key fingerprint = D1F6 F20B BB68 06AD D051  4BD5 C2A8 382F 0952 092D
 uid                          Gleb Kurtsou <gleb@FreeBSD.org>
 uid                          Gleb Kurtsou <gleb.kurtsou@gmail.com>
 sub   2048R/E628ECBAC4622293 2013-11-02 [expires: 2016-11-01]


 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 rVYlla2gIlu7iEOwzgX3DEY3Iw==
 =5BWz
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.195. Rene Ladan <rene@FreeBSD.org>

 pub   4096R/0A3789B7 2012-11-18
       Key fingerprint = 101A 716B 162B 00E5 5BED  EA05 ADBB F861 0A37 89B7
 uid                  Rene Ladan <rene@freebsd.org>
 sub   4096R/B67184C6 2012-11-18

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 HQ/SHnxO1mCp/Oz6KhHd/Yhg+jM6
 =RTPm
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.196. Julien Laffaye <jlaffaye@FreeBSD.org>

 pub   2048R/6AEBE420 2011-06-06
       Key fingerprint = 031A B449 B383 5C3B B618  E2F4 BAD0 0F0E 6AEB E420
 uid                  Julien Laffaye <jlaffaye@FreeBSD.org>
 sub   2048R/538B8D5B 2011-06-06

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQENBE3sxXABCADDNxQCO8nHrTUJMV3tTT4Q1m9Cx0ZVeo1f/qUF3IMO346VYbQ7
 4ghzG7cwW2Ey8uGJmMl25p6CLIMG8eFPJHvtwCFa2CB8abab/WsfELNUOuMFyW8c
 HrnZp7B3I5YnlcIhm8RlP4labHTcU8mkjd9tlabmvWcXIIMKZO6IxSk43h8Btnol
 AUW8eyHi9so5ohwnGT/0OYskYlPKpBUAIXIOmaXmg08bdix/EjWtWRaHVWxdMIQl
 ZMseByIlSTGCSdEooZOFELfaPWOWFFQ0wTi/fiepDWB9WG8VvZH+1wcxotlCOVnZ
 jcpYeK2scPg4BabHtd/r2UxDsxMClZkg8LG/ABEBAAG0JUp1bGllbiBMYWZmYXll
 IDxqbGFmZmF5ZUBGcmVlQlNELm9yZz6JATgEEwECACIFAk3sxXACGwMGCwkIBwMC
 BhUIAgkKCwQWAgMBAh4BAheAAAoJELrQDw5q6+QgIl4IAMEHNmSxHv8XxeGDNWwJ
 iw6RirQOcm4WPpWGtvChlvZ8uTuZgPlqdSBQEGu7bSWTTK6zplOVmK4DYpUL2Hl3
 /2/SursUjkKO2QUkny7m/fT9qlJP+PAbXiqVa2naI55QvOuXNNx4zSusP8q7abbR
 bCtYHDeFE/DPNLI8GD/0Hmd8NWrPvHIwhGsK2ZzTuoGUV8q7zqgjlu7JB2JwH9dI
 tdMrVM2OgFLt3Mrb5F1C5J26nut/UVSkHPC1eW7mg8HnvCUK41HA1tKhkbXD8uMP
 7D3zgsuU35GHA5p9ARlETIauiVNsDzNgxWwU57BJ5hvGsmycF4M5i2/IOx/V5p2g
 yr25AQ0ETezFcAEIAMI/+5rGOIwZwC8qGny1upk8z/XxCReW3liTVOe+f1CaPOIh
 nLTpyD7+Mxts64IDO2tYQWZTw98yayGP8xCRKjBkgjOIgX/SInoAc5YAUMWMOtl4
 3kGqR+RboQWKKq83VPNGRnwTXu3RMlonyt5T2RV86lgIbDSabaAUnLjWDpgP7POI
 /IrpKLSJp21TXHMGobpxeLcXqPApRdKgJL9bP3+jLqbKJmLzhgwzjxpIosAWqRkb
 PJdZejCfdC8mU1DpKCDUQRLVD0Sbh69jsSiepSh6BIn+lDpfRH1nLoGAhomG6kwC
 pG4hCXAB6V2EvF0EBQmDMmORlDJFejDpHEbXxlEAEQEAAYkBHgQYAQIACQUCTezF
 cAIbDAAKCRC60A8OauvkIN0qB/iBrnK5dmFQ4aGQesa+2myOCMgiszggnbzXDFA/
 eky/jkIQiAr2xUAwQZz3iPrwzSpopCcPXKHnN7gsfRBUZ7ns2JmJWmyU4gxadbFl
 kMvB+i24Cav9/ucE8r0wyJKcquI3PiS4qpUzDEdNG/k+B9/Z4oqKRCcxrjSrwnuy
 iNFiIUl3AQvTgHQBpZGl9DA9zdAM+iPbm7zFwQBCpFeysEOv4bCAfHFuRGJ4xKyq
 tM+aBqAYzEWQTj+WBz+zYBHOY8VOn42fwBRWeR8+Ml0BxebrNh/uJZOjJp/IBZbc
 39ZjPt8SvaBUTAfKGXPZ9O2NSNEExRAKFQ01NDQfN8xxH/Y=
 =QYhu
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.197. 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.198. 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-----

 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
 01jfP2YAn3DLpgqbfVb0MZfxffpFg3K6fWkX
 =jGQA
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.199. Erwin Lansing <erwin@FreeBSD.org>

 pub   2048R/0x517BE614A5C1EEC7 2013-09-24 [expires: 2018-09-23]
       Key fingerprint = 6AFC 44AA 53E9 82A4 4BC7  1DB7 517B E614 A5C1 EEC7
 uid                 [ultimate] Erwin Lansing <erwin@FreeBSD.org>
 uid                 [ultimate] Erwin Lansing <erwin@lansing.dk>
 sub   2048R/0xD7698209D2B4D6C3 2013-09-24 [expires: 2018-09-23]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 AAz6JG03Ncy689PBrg==
 =BIeN
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.200. Ganael Laplanche <martymac@FreeBSD.org>

 pub   1024D/10B87391 2006-01-13
       Key fingerprint = D59D 984D 8988 7BB9 DA37  BA77 757E D5F0 10B8 7391
 uid                  Ganael LAPLANCHE <ganael.laplanche@martymac.org>
 uid                  Ganael LAPLANCHE <martymac@martymac.com>
 uid                  Ganael LAPLANCHE <ganael.laplanche@martymac.com>
 uid                  Ganael LAPLANCHE <martymac@martymac.org>
 uid                  Ganael LAPLANCHE <martymac@pasteur.fr>
 uid                  Ganael LAPLANCHE <ganael.laplanche@pasteur.fr>
 uid                  Ganael LAPLANCHE <martymac@FreeBSD.org>
 sub   2048g/D65069D5 2006-01-13

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEPHZKURBAD/4O6BhuBlZH0ptJMLl3p/A+Ts0gBinSPtBL0tA82TBSm2uFRd
 8ehlKBMwyNQg1coTJWW8omEwAb+o4E8vwS4OOzzSCesNMgnXganMEE/STapgbXvi
 fh5Equ1GEeYyFvj9jaUGVoy1OxQzRAmVWtsV3RiV+mHDrBSJjLkS1CdaiwCg/RDB
 GxVmtywOwdmahcaHZb+dMD8D/1j417FsO9vnsenyS3fjLRNJJuIBevyX4WFqn9Bu
 fpt9M2l1C7YXvu4TMGkobUvmMsyEoPmQKAm66ickDUEnrwsLGzRWJBN/yoN4CSoS
 vqS04f59qObOfJa+a64Lg6Y5EGzzqnQvQK1A8Fdw1uSXAcauzucEMyld4sOsIEXi
 sLuFA/905RotLj6DVEl70+z3in4J64G9lLWdwOVmlANi8zUpIVUYobTJOMTdT7zI
 xNhYcjYqIc3WIAJycCJPMk9hk9SCra9ETNcU6GkusmyFdNr5YmRSRnz0etlTW6rF
 P7Dgj9b/jKMPh4NHJ8+cO77EPCsN8tz60LuMLXRboHAdrAi5j7QwR2FuYWVsIExB
 UExBTkNIRSA8Z2FuYWVsLmxhcGxhbmNoZUBtYXJ0eW1hYy5vcmc+iGUEExECACUC
 GyMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheABQJMmnBZAhkBAAoJEHV+1fAQuHOR
 SloAoNpk638zaargeIyuzTKfV3OEt8bDAJ4oXhCjGOmIhDbIjILHQLDG9ozsV7Qo
 R2FuYWVsIExBUExBTkNIRSA8bWFydHltYWNAbWFydHltYWMuY29tPohiBBMRAgAi
 BQJMmm9xAhsjBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRB1ftXwELhzkZ/q
 AKDyek8AbHNoIEFU4aKj9ZAxCyy57ACgtCnaOXA8TRY4ehdyAKHwwYROoJW0MEdh
 bmFlbCBMQVBMQU5DSEUgPGdhbmFlbC5sYXBsYW5jaGVAbWFydHltYWMuY29tPohi
 BBMRAgAiBQJMmm9OAhsjBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRB1ftXw
 ELhzkRNMAJ9gKkxH4i/zQvgtw32ilPgyVvlnqQCfRDI6ESnizQdNyXWwnTbzXnD2
 Afy0KEdhbmFlbCBMQVBMQU5DSEUgPG1hcnR5bWFjQG1hcnR5bWFjLm9yZz6IYgQT
 EQIAIgUCTJpvXwIbIwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQdX7V8BC4
 c5HzwgCg1hCgLsdxVIT6kx9/ejMcfITITJAAoO6xYuVfkCBk0lprOgAWeeWXsP5O
 tCZHYW5hZWwgTEFQTEFOQ0hFIDxtYXJ0eW1hY0BwYXN0ZXVyLmZyPohiBBMRAgAi
 BQJMmnSxAhsjBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRB1ftXwELhzkS7s
 AKDpM9SQcvBVkmHQBrb0B0ZaRMIU2ACg6NTKumOvbvDgF49sRaVXHl3WLZO0Lkdh
 bmFlbCBMQVBMQU5DSEUgPGdhbmFlbC5sYXBsYW5jaGVAcGFzdGV1ci5mcj6IYgQT
 EQIAIgUCTJxEgwIbIwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQdX7V8BC4
 c5FD5QCgyc4QAoRqHFkyCcPIn2Onyh7OcLAAoIahqNOxLn6qTNKHTEc8uhKauHvW
 tCdHYW5hZWwgTEFQTEFOQ0hFIDxtYXJ0eW1hY0BGcmVlQlNELm9yZz6IYgQTEQIA
 IgUCTJ02PQIbIwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQdX7V8BC4c5Ga
 NwCg5LZThwqJ5ArvQVRDlgJDAub1jWEAoKUE1GjKMNd3y9H4AFAqr/kukqhTuQIN
 BEPHZMIQCACJjfWn16Cg7jpvy/SsGAulMEcLI6Glkzp+g0/JyYvNfvvaRGX1hJNw
 6pr1u0yU2FJuZo5b+avZu7P7UnCu2ZWRk8y0WVNHG5lie/jPy0rQBF/DhP6FVqk/
 TdcDECa1Ncp9EE9vCuZGvEgzjvzgxhQ06/d6Rtzxy3C1P79c0j661raPeWzX62M0
 Cj0a0ljdvvm25hv41VT1GAyX/punhrhnBiZwm6UGVu9SQNsOD15pWqMKD26lpwP9
 qA9XHnsOknL3yXl542T9BWffZh2I8OUE0XL1LSSsoPC6a7wV/Vx7cgTDLU3Pv55l
 ERY0p8uadTOCIu36tPkmkuJfoWJF4OQfAAMFB/9YTQ1dN+c2yl8C80VJO07wdNln
 VKQNcCKtuIJXRygcqC4gj8EI4qMofuJ4JTSWdApJjp9AgxFWol6AyYnW6oQU9A3D
 GVfeCc4MpduCFpdnex4U82UdwPB8905kAmuH13OIV3vIEqknpqaygDrJ95E1rYUQ
 lHzlQTHk+JxdqeDvvQfmrLRhPzgQtlukl4wjy+Kbp7Cr3X247c+5y1iAFCJ+o+VO
 dSlNlckHSWbV8yKvJMy7iF/HfvxJmMR1koU+SvCuOcL6A/CvS0JdLo6gIJJwRHFb
 +4iZBR9UUuU4AQBH4HIeSCFREczk8BTIPR/97OQI7FmGUSFTafxLHrww2p/3iEYE
 GBECAAYFAkPHZMIACgkQdX7V8BC4c5HIQQCdGivImEAN/fic1R59mKWpF2NRNJwA
 nRUyAyZp4AGCki3wKPxtkeS0295b
 =DB+6
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.201. 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.202. 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.203. Dru Lavigne <dru@FreeBSD.org>

 pub   1024D/C6AA2E94 2013-01-22
       Key fingerprint = 6CC4 2180 F27C 29B6 5A9C  EC0D A454 DC05 C6AA 2E94
 uid                  Dru Lavigne <dru@freebsd.org>
 sub   1024g/7FAC82EA 2013-01-22

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBFD+vdwRBAD2rMN1ZfqBN9PCvrGHaatVwfORzhr6gSFFjxk5Z6HhnGsQSO8r
 NAmU9wdINOXJ2M9tqpDXV7R9nEHTvcvjZ4Eolc+fNwGTpglpDX8F8bp5VaQ4+aW5
 nwDs+JoLw94MSfbrviXCDe73Eyp4EGMoZ7PlVwvJ8oloIv7T2qtlAeUlRwCgjH4v
 BOGZab9uoAqaBzMYk13FM/cD+gKe8+bewQyp8sthXrZWYbyyyIu0MdfMxpRZ45aU
 eDrxuZL536qvaiAy3DmnF/nHkZX3/6XTSlkgyQbzLnI9OZVcDFA/Dke5qVk+xUqp
 Vyei9HNOsS3u/Nn70HoFijsYUq+hY7aefxoMtJfer+aiJNJRj32DvUP/ZdeJ8jCQ
 9ZtdBACEmRZ2UjYYMklBZdp71/HFLc+0+hxl7IU6H609Fqace+aCKRrZZ1QzzNK6
 /DEnR6BYPN3eSzMoLLoAvLIzpfaUx/IfHxbyjCaXi0cYYZ9FkUUt7a3qJLSZGnK2
 tA1Fw3kFBBO60t9T9cQXHv/sd3bXmIP8eUe++5dfJ5UmmK1f6rQdRHJ1IExhdmln
 bmUgPGRydUBmcmVlYnNkLm9yZz6IYgQTEQIAIgUCUP693AIbIwYLCQgHAwIGFQgC
 CQoLBBYCAwECHgECF4AACgkQpFTcBcaqLpThwQCffhk585hEfh9LHkYzVZIpu3DT
 cqAAn2BgkvA9qN6qJnDtpcKoQh+nnjCeuQENBFD+vdwQBACc80FRBODUmXvpVKxZ
 ql/tAKl30ij0OVLHLdQQH4W3+LuO0U1Uxle5IbwQHfZh6KtyH1AwafBLZ/lg6ihh
 ImtvvlAoPhGqeKi2L08djYYRsaQl8snCPrcwVtUiAPqVXCkIFzmcA1dlFRUg68re
 /f8uSKt41FqtkR3v+QsHdflOHwADBQP9GaQUxdrLssRNH/fEkMg8xZYLGOOg8hcX
 BwNujIol+Yyq5QZFMZxaFbmdKhCnVH46cOFheHpgRQcwfoMLk4yfZkmw4W1ANyI6
 hzzFHtnSLYG7CGkgQE6NS+bjTAxVWGK48SsUxS2RcxPAQmLqTEHTgoav43L/6gAY
 N2QsQo4b3NmISQQYEQIACQUCUP693AIbDAAKCRCkVNwFxqoulMOJAJ9VIUzfi5Y5
 GN4vvJ8KQE4+RZBRLACeOgRRbnd+Xsbu2V6mez1KHF4UUVw=
 =lVUC
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.204. 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.205. 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.206. Jeremie Le Hen <jlh@FreeBSD.org>

 pub   2048D/8BF6CF92 2012-04-18
       Key fingerprint = 66C9 B361 16CA BFF6 5C07  DA0A 28DE 3702 8BF6 CF92
 uid                  Jeremie Le Hen <jeremie@le-hen.org>
 uid                  Jeremie Le Hen <jeremie@lehen.org>
 uid                  Jeremie Le Hen <ttz@chchile.org>
 uid                  Jeremie Le Hen <jlh@FreeBSD.org>
 sub   2048g/045479A3 2012-04-18

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =kKtL
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.207. 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.208. 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.209. 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.210. 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
 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
 =H22z
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.211. Andrey V. Elsukov <ae@FreeBSD.org>

 pub   2048R/10C8A17A 2010-05-29
       Key fingerprint = E659 1E1B 41DA 1516 F0C9  BC00 01C5 EA04 10C8 A17A
 uid                  Andrey V. Elsukov <ae@freebsd.org>
 uid                  Andrey V. Elsukov <bu7cher@yandex.ru>
 sub   2048R/0F6D64C5 2010-05-29

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 JrV1mi5i
 =KVzv
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.212. 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.213. Achim Leubner <achim@FreeBSD.org>

 pub   2048R/2E15B3C1 2013-01-22
       Key fingerprint = 2A48 0317 D477 2A07 2AD9  CF1C 7C1D 832E 2E15 B3C1
 uid                  Achim Leubner <achim@freebsd.org>
 sub   2048R/E275EF01 2013-01-22

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQENBFD+q6cBCAD8XsjHzsyljaRIF8Qz8NeXaiZWq0KZ8NHRJ4ahZLN5kvhk2D3+
 Y+iiMl6AesqTP/oobtXkeUFVlr0bwBBHpIRoOmGzxI5aorMH5Yv3dfY9u5HgkAW1
 E//0VK92QyH4O7q0adquRmymjR9pD2yjoXgIFg6P4cHoEg1hLyf3FOHHCSEYdXVm
 A5iBP7w+7aIkcUQiRVXHc3CojDZrkpSGwA/Pp9ywple8p7GqxoBr/4i/qYQeCNMI
 97EO7c+BSfBrbgvWiYPY7+eIyV6AZFl9NfEfdko/7HLRkbL6Hh3jSXR/SZQ31WZ7
 ct2z5GqJpEx1CDcIw1nxFYQ5uCLbzfyWT2JpABEBAAG0IUFjaGltIExldWJuZXIg
 PGFjaGltQGZyZWVic2Qub3JnPokBOAQTAQIAIgUCUP6rpwIbAwYLCQgHAwIGFQgC
 CQoLBBYCAwECHgECF4AACgkQfB2DLi4Vs8EW0AgAnkiKp8Hu40tgwLymXdK5eM2K
 nywLNJ7MBUwuX9rn0QIQ5gy26ktHCNxONZLacsApdsCAlH4vKk89G38wXUq6OgGn
 NQ+4uqoSVuUeR4A4GKdGjVNld/r33v3nq+QgGitGHjgpMtEPf+ZfCfZ8GxZG/oi9
 kBpQMsA61sigcYZytbhGM8qy4aCqpgOKys2VifEgtOHx5jr7JZRYLrBkyftyvVS6
 t9BDg1rdy9dcdKCaXp52H/qEZL/CO2gFLDR9t4ul+NalIN+nkPBiwS3hu9kn0Y5Q
 vDU4Kw8D7CW4dalqOMipOetvMwYVEmv5YiCJwzcoMIFpl2aOvef5yoQdozagGrkB
 DQRQ/qunAQgAzEocPpUQIsc5dlY3+Pa69WU6+qjIlVHbH6eZ5hWgi1AFMRf/KJGv
 HzZJElAXUz4dEhSAMhbHdWD0h6e0NalD7Uzea5Ay0m0mrKlZ1Ijo3lCrSXpKRwyZ
 terxnHZ3kc3XFUabk6kZfLkZsnm/+L2n0OX/dXvugeH+uAbjtYggBosun2mYSKtV
 x5+8WK3EaeLkh+0Ml5DiYfReQcS8r5ZCwfM+EtgP+ckmqHVQOXIy63WwHDPC/82U
 msQmbLGBw1RMezEckpQMksgC6pbqbp5gVxl+xUjz36JBHEW+MeOZLDiKasNw8tO8
 G5sQIYSKh/Vcb1imeZIb/bvagtLIJp4EEQARAQABiQEfBBgBAgAJBQJQ/qunAhsM
 AAoJEHwdgy4uFbPBunYIAMDQe8m2VtABvUq0SS/MubKRKVASiWQZkvxqh7stDgl0
 J0bsk0O6egWk++lsXTRGr6SwV1fkYawZVLAkoiMyovLC0iFoUZTmkHE4fYUFJX+u
 S6C9UURhpGpETLVI9sLfREDYWIWf7pvaSUmhF5RHcugcLhu5I1JZdJjoHXkpCbFO
 8xOK7D0KBFVCSnm/b2yo8cfHi8LFLqsqPvf5mJx/iKuTSGJe2XRvA3D7BgH8/Lcz
 QKsWBslP5TlIwh0Zy5mabAEKzGzVWY5laM9lXGbZrG9ALwEzSRgZCUWTS/EfC9jE
 WtMvwG0kYv1rFDqiRdjtqD1ja59uRXGdiUb7++BX7cQ=
 =jnyf
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.214. 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.215. 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.216. Qing Li <qingli@FreeBSD.org>

 pub   2048R/A3CA4C13 2013-06-12 [expires: 2017-06-12]
       Key fingerprint = E37B CB18 35D1 F01B 7D7B  1000 0EAF 4BEA A3CA 4C13
 uid                  Qing Li <qingli@freebsd.org>
 sub   2048R/EF3A9370 2013-06-12 [expires: 2017-06-12]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =pGx/
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.217. Xin Li <delphij@FreeBSD.org>

 pub   4096R/95B6181B2D33E9EC 2013-10-03 [expires: 2018-10-02]
       Key fingerprint = 0E1A 6039 BFD2 1F02 DD1B  BFF5 95B6 181B 2D33 E9EC
 uid                          Xin Li <delphij@FreeBSD.org>
 uid                          Xin Li <delphij@delphij.net>
 sub   4096R/7D0C88F036C2299B 2013-10-03 [expires: 2018-10-02]


 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 odP1ZB6wub9zq2DxFouSjHgH
 =l6VS
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.218. 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.219. 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

 mQGiBDpaoxQRBADcF3xUpV2Vs8pV5QnfwFvTzBY1fnczFB149fe1+plAQEARu5xk
 Dn6dpnPw9CM49eC0ouEYwPByhICcSwlUGBgxKsOqGjlkIlge9vtQdwI9i4xxHv+h
 OxTyhdHYI8hQjyFJaQNmzim7SdfX8bvx5bcuNV9n/sVIsKoy5rbXo2rWmwCg/+rX
 A79Ki8IORrhyEGd3+JS/rGMEAKpXT8Z6MNOJa8xL2mrVd9ZlKDMSZXPMxYowddI3
 hZQqjtbssHvB6qpmbrQ0geNF7aaBCIAnVR8tAMxacdSBpbz0ittXA9i86gyjMri5
 6xSgd6CrdcbibDD5TIOSBeYcFBb+4UkZ85kQYil/gcksp81NZg53H5eI5Wrw6sBM
 /nYCBACEGldPZ2DdUPPvsfNQme7N4Yd6jS3BvXbXhqCYfHiCNiRS09fcLGEnO4br
 6mQ9/K8kLx7R7GXSNOevoMNLLJ5kc1DIFYXQeS1weB86HY596nNqn914C8UWhcoR
 wZBv4bkgZpAirBGPvrO+Z9YM3B1N0a+xu1rZzYSsBya97wsverQkWWluZy1DaGll
 aCBMaWFvIDxpamxpYW9ARnJlZUJTRC5vcmc+iEsEEBECAAsFAjpaoxQECwMBAgAK
 CRCsxgFlEcAjgrpCAKCHxIaNLyp4tT6j2UrFEyINUY1apACgnv8EuncpGD+Zm+Em
 o8HOKUG5Mv6IRgQQEQIABgUCOyeEvgAKCRBr2cjSd5gysdAvAJ92xR6Wv4jg8DBn
 VMypazvpAM7fNwCfbsK/olkpB8NQGt5YaixPvu8IWF+JARUDBRA7Mhy1w33D30O5
 lTUBAUx9CADDyga+ulzenkEpaykTu8FPJ8RS6Dj/2K1zROfdoKNPzTWZeHrGM9FM
 bPsZ6Vg4tJJKacr9WblfRNiUf0KIStU4ogFMYcouEWJ7Fvc6ovH91zB0WOzACVGX
 rjJc4TUNe6E33XotLW2fhpEWZoUNJxMa9uux5i6YRFXSpyXLcu+tmSDBGkjdyRZ/
 VsNglwfQDFtI+MqIpHQP8NpJSqeTxDdrLLK3+bDcxNDqzqVmOZ4Y2Mlzej9pxPBY
 RYbOs6aORQkDCOC8fhYixI/gu4+hZQTkr/Dp2Zev9THwo8wjg52Pd3KU9Y4OoMtO
 fOdB6z0dLzGbWUXaealBJujEufBPPVCwtClZaW5nLUNoaWVoIExpYW8gPGlqbGlh
 b0Bjc2llLm5jdHUuZWR1LnR3PohLBBARAgALBQI65Sx4BAsDAQIACgkQrMYBZRHA
 I4JFIACfWI/enwLh44kL6z8mQtwE0Q+iSlIAniahZULNeHsoE3sNcfcsCFNafw8Q
 iEYEEBECAAYFAjsnhMIACgkQa9nI0neYMrFpcACaA7k/1m9DqK0AvSBZsSLL0fwo
 zmQAn03jRr8opZGMVdivbmi9hkHiRwAgiQEVAwUQOzIbycN9w99DuZU1AQE6nAgA
 lbrIYTH+p+v/bflh9gp6o/KUQDVwx9TBZBVewogyWAYf2uDavJ+m90oXVgMu4H1W
 DU5spmtn//R62TGoiS8vPOOltsfNMCgTCIrxKHEUQEXMa4rVkiI9NGRL6tdDnRgq
 P3lpg4eP6/bF0zxcc3s1l2a2WeK7+WYtOOYU9TCcebsyiHxvWuev000rQtRUgeHE
 jCdaAVuCUlBD6f9MUX+Ww6HbWwFJYXkMW2Ga931MS6qf5xcuhyh4JHI/YLwdiOoo
 mdbUbXTkU+r+od0iB4w930sxwjnyGO2LfTxcIA7fgeALkmNhWwVCZjkQ0iGR4LEj
 1RHvahMrU6qqX40xgz8/dLQkWWluZy1DaGllaCBMaWFvIDxpamxpYW9AZHJhZ29u
 Mi5uZXQ+iEsEEBECAAsFAjrlLLsECwMBAgAKCRCsxgFlEcAjgq7JAKDwmq2mVJwr
 pFHaVsrfJZXmRSqYvACfTC1DhXwEm8m1aFeRhe9N6LUPtyeIRgQQEQIABgUCOyeE
 wgAKCRBr2cjSd5gysV4tAJ9Gt7y4bVGlm34MRdurQdTsEmQ64wCfRgI2kGaanklo
 IySQ2tNH0B0s5UaJARUDBRA7Mhy6w33D30O5lTUBAVNYCACPSdTc+y8xnOTAO69I
 GxWnVw7n4ZP1yAOFW0kWXDlSrzxvuBzkaYYe2q5tBiTjc38j8L0m/GvIAToFZKGG
 XxNbY7IGhTP/sZBXei7960cUZEJqaTHIrJxALXeyYj7bQ8OBtLsuJpG2+7k4c3+1
 M8t/k4DpVx2L9IgtvHTwIOH1MeJpH526IUXDipNFaRTPKUHE1exKOd7z1zyGgE7e
 x0+X2cTckTFzy8NQgZFzAkA06HOYjQf8i/IOvp84Svozfg8NH2KriC4MA5a3rD4G
 n6fqtecPgMrcG+KIHJYZvg3yToceFJkwxZFcSGtl43pprgSf/pqkZ1fodcJ7Llf9
 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.220. 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.221. 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.222. Po-Chien Lin <pclin@FreeBSD.org>

 pub   4096R/865C427F 2013-02-05
       Key fingerprint = CF3B AB13 4C94 6388 B047  B599 8B28 1692 865C 427F
 uid                  Po-Chien Lin <pclin@FreeBSD.org>
 uid                  Po-Chien Lin <linpc@cs.nctu.edu.tw>
 sub   4096R/F31280BA 2013-02-05

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 uDqUBEUq3MHcpGRlsG7GQlW40AibKEA7Gd1OPbo=
 =2C5J
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.223. 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.224. 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.225. Tilman Keskino:z <arved@FreeBSD.org>

 pub   4096R/6774D2A3 2013-09-24 [expires: 2018-09-23]
       Key fingerprint = 4E07 0A2C F66B B844 7E9B  A25B 6CBE B6EB 6774 D2A3
 uid                  Tilman Keskino:z <arved@FreeBSD.org>
 uid                  Tilman Keskino:z <arved@arved.at>
 sub   4096R/8CD560FB 2013-09-24 [expires: 2018-09-23]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 0A==
 =oJfd
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.226. 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-----

 mQGiBEH5vYcRBACrnHaj1X13n0hL3jIXgjAzr63mBoKyJ4YOxJmRZ0Zg/PqmV3m8
 a6JoUrzIeDpgGIqzYqoTRM2vj6qCh57vml3CWJJo1armgTkhOaZRQprrpQ/Hwl6Y
 dTw/ptyZoh5IGrplm/UHiYy+aeQok19cNh7Jd/DePkrSm0IwtafWV4Z6twCgkzpM
 /oO2360jPUbYhr3blugFy3sD/jaj15xl8GU2d7EFW4xXvK+nZFaxfo7frC/OCae9
 k2LmAvgYfG5PrRhiGFERwWx5+a35N5hXhsGktK79QJaHk/8Eir54a7eCDN/nLXu7
 6D11DQJHMUvIISgvffeAJODNjnYu8qMOD3x6S7kmp3BsrVnlO+SJ3L63sO85SdAq
 txC4A/9BobGoDqZGEfgDlDyWNLa1OSWr9Ummg+NvgGo+twKtxDfVgTm2K2G8xvVY
 IBvnYbOMhyokT0TLHwX8ALO2uWhlupmSaF9U4JbUBBeLB0vPuE8wRXq1/L/+PVQ6
 7vNqUIK/rDKtf8XkKOXFpJcv2YyMXkwpx2ZbkJfQ2LQqyR94T7QsRHJ5aWNlIERv
 bmcgTGl1IChEcnlpY2UpIDxkcnlpY2VAbGl1LmNvbS5jbj6IdgQTEQIANgIbAwYL
 CQgHAwIDFQIDAxYCAQIeAQIXgBcYaHR0cDovL3d3d2tleXMucGdwLm5ldAUCRZC5
 RgAKCRBrW3iod7Z4dNAnAJ9VuaLBzcQ8Uo9Pqgz5WgxeuB5BIgCbBhak9RpYegH2
 VrTH1RPKTW/3ZhC0LERyeWljZSBEb25nIExpdSAoRHJ5aWNlKSA8ZHJ5aWNlQGhv
 dHBvcC5jb20+iHYEExECADYCGwMGCwkIBwMCAxUCAwMWAgECHgECF4AXGGh0dHA6
 Ly93d3drZXlzLnBncC5uZXQFAkWQuU4ACgkQa1t4qHe2eHSKeACeNUVs50MWpAtb
 J3InqDgm4Dq4Q9oAmwfIY6EOBFTjAnezfC8IPtK2heAytC5EcnlpY2UgRG9uZyBM
 aXUgKERyeWljZSkgPGRyeWljZWxpdUBnbWFpbC5jb20+iHYEExECADYCGwMGCwkI
 BwMCAxUCAwMWAgECHgECF4AXGGh0dHA6Ly93d3drZXlzLnBncC5uZXQFAkWQuU4A
 CgkQa1t4qHe2eHTGLwCfUBZ0JjgK8wSPAM5Ym3qHZVaVIvMAn3sQ6SY+k4MMG4rg
 aArF3cV+64uLtC1EcnlpY2UgRG9uZyBMaXUgKERyeWljZSkgPGRyeWljZUBkcnlp
 Y2UubmFtZT6IYAQTEQIAIAIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheABQJFkLlO
 AAoJEGtbeKh3tnh0smEAn0EP6UJC0Nk2QkbSIqU+vka21Y/vAJ9DEriyRKcuxU4M
 9/cF5Veh5j/wDLQtRHJ5aWNlIERvbmcgTGl1IChEcnlpY2UpIDxkcnlpY2VARnJl
 ZUJTRC5vcmc+iGMEExECACMCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAIZAQUC
 RZC5TgAKCRBrW3iod7Z4dD3eAJ9Y9J2jCe6ZXtkC163oUSruBS3zFACeKTP7ggGE
 +jYjWiWA2usVKjARdIm5Ag0EQfm9wBAIALlY2EbWQGEJ+8JPbKxUYra75P/ng1h6
 BTK2SSiSCq5y64acd3dRtkhRr5RKsEFN/6KApRlrwgYMl7hIQHL39oFKf9NatTgs
 aUxX/tmy1SYPKwkxXGIH1XMOwyPVcSMGFOf/y542xdYg3X/Vdm2KrDWGeVGOtY8M
 dtOA4yXaA987meCbtTmPCpLx40z0QCZHQ/llZ9k1sVNlSsUodRz1FFdhfYKX30+B
 76J4PuCvi1al95FS2CulesoNkDKVTZOCydM5wYPbMilr9fDd914q5U2Kv4MRWTRn
 CyFazvr5qn5QXm/4DrAjn6QhgFhTJOlSbW1RbKPOibQNVwShJkis4uMAAwUIAJUz
 L2r6tFmgtw4pb3+INO07UzJaQ9EuOy3R+cdFOOJjXVCiXUu1hXmr37TXq/UJMU1f
 V+BFhw1JfK7r8nqGo0Uh934uHULku29cCm7mdvoqere+SqeD82UClZWwIJUokS84
 LJSDjNdGt31SuogziM9kEpxdWnMODOfAGTKA9Vb/KYE4hMut3jreEACHpDXEyjJf
 mBmYNzav93sJhUn0RaTDtpnAz3zPCNOYmWcX1u0e3i4Dr0Ll1jms6YilGoov9CiF
 F6ES3z1qZflpYDtqFNJQsKKzjrRIkQoZAnyWnl5mMGYbZIQiNNChpjlDkXdj3waV
 ZVYhiqyJJx7OwGR54qCISQQYEQIACQUCQfm9wAIbDAAKCRBrW3iod7Z4dAKpAKCH
 NB6TLQ63B4potbH4PhOgr2MgaACdF7mPUJhqXN6mPboqNZdkVkmnjEU=
 =No5H
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.227. 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.228. 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.229. 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.230. Remko Lodder <remko@FreeBSD.org>

 pub   4096R/3F774079 2012-11-11 [expires: 2016-11-11]
       Key fingerprint = 7EE4 C4AF DCA3 E0B4 479B  A344 7135 8ED6 3F77 4079
 uid                  Remko Lodder <remko@FreeBSD.org>
 sub   4096R/59F38CB0 2012-11-11 [expires: 2016-11-11]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 5sGIhylLEgeij8uoeFOeA1qMqbhYORfYOxE=
 =+q/B
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.231. 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.232. Isabell Long <issyl0@FreeBSD.org>

 pub   8192R/0x66E1760E20E8FD7D 2013-09-26 [expires: 2018-09-01]
       Key fingerprint = 6E31 23BB B9AC C8BB 441F  DC30 66E1 760E 20E8 FD7D
 uid                 [ultimate] Isabell Long (Personal) <isabell@issyl0.co.uk>
 uid                 [ultimate] Isabell Long (BitFolk Limited) <isabell@bitfolk.com>
 uid                 [ultimate] Isabell Long (FreeBSD) <issyl0@FreeBSD.org>
 sub   8192R/0xE1FE57DEB9FE6B83 2013-09-26 [expires: 2018-09-01]

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Comment: GPGTools - https://gpgtools.org

 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
 =qrMq
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.233. 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.234. 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.235. 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-----

 mQGiBDSMdS0RBADQE42S0MDRcjiuM4mPH4NL2m60OMHgq3mYuIzrNkRE4jSzZJiG
 8jBMl5VysnTkdvL61gH4aihIqioULOUq3L9XEtlrLbx1HDXEEdAdhARzqPapD4x2
 FbHpjb0wjxQ7RmXXvLHDlPa8x8K48BJjZ+9WhPs6TKu78+I+9cqZ0u1KKQCg/2ls
 GAGht29FiOtHrHFVMKl3WXMD/R6wl33Xsb7mwFROBWoYxExqSAZ9xeI5KUtQ5f2U
 eYSbUfxCTkcBIImjf6UhtjLTs6Rc0ouYLHOHu7wxVVzA0x3UpcEWUkNXWsy4PO+S
 j7PdzKi52BzR2LY62DoBTUARAaIsvp3fV126NPBHR2Isflo2OlEvwKGJ40IJMLGN
 d3xBA/43QdXUcxa/FFAeCroYr/BkWPYz7Oh1HFBTa9xxrKL5sLDJChp/yLFoVhsG
 0t4w595cbD8L1n1PckcaKVK2Y8vjafJKL5k5Ea/CnF0kO7+Q3RaydqzOcS2yP0n2
 ZLQ+sorNz1huY6hrJemH9SjWnYKg4xbxfQzRBcfRxGQv3usvC7QbQnJ1Y2UgQS4g
 TWFoIDxibWFoQGFjbS5vcmc+iGAEEBECACACGQEFAkLy8f4GCwkIBwMCBBUCCAME
 FgIDAQIeAQIXgAAKCRDYyjFxW6BSw/IGAKCXkxrROelKd6498dQuBhdVBji7qgCg
 /eUqq6mKA+R+P1MD4YjsyXy13pOIRgQQEQIABgUCOe6NVgAKCRCI4Xsd/OVlYVW/
 AKDVOmtjLziEZDRxiyeimOQy2cQ0pACffZ1KopGDjOi1Hwi3diH5dSmOOwOIRgQQ
 EQIABgUCOe6NXQAKCRAY9QOAJMJ4AkinAKDIpaIXZCpCK7ysX9PW+3/tL7nNawCg
 ngynY5TWPwEdZ1aedPev6M/3+HmIRgQQEQIABgUCOs5wJwAKCRAJ/r8QgpnNs4gP
 AKDjAHY+qf+Li5WmAXDzQhsZ0Om0dQCeNJ706+74vz2NLze1Ttc4EHmDXEWIRgQT
 EQIABgUCPQenhQAKCRAgFTHVhF3+3UHaAJ9bd79S/Sq93vH/bQbmGuoUFR4BXwCf
 a9bJYAT5gz3SN6pxqRxZyqb6EqSIRgQSEQIABgUCPQetSgAKCRAh+cW892qb9Z6d
 AKCQqaiB1Wh467OWGusGvrYQzXlq4gCg4FNg/xngvZeJW97Ntn1BJza6s3SIRgQS
 EQIABgUCPNl+gQAKCRAqNrG6CC7PxbswAJ4gLnUa0Jx78YupuQjIPRB5r3puggCd
 GjYiK4n0b9LbI7jZhgJsEb89JoGIRgQTEQIABgUCPQernAAKCRBG7a30NX1l+4fl
 AJ9Dz+M2C2doo92UtEmZK+DYzJ16AwCfYga0raO8/sIAEd1Wrp+3IlgmrcCIRgQQ
 EQIABgUCO+moHgAKCRBVlt0M6b9lPaakAKCAhO9xMc+3ldxsPUnGNhTZ6HivgACd
 EAzCr/VbLp0dG2/hPV5Om1d4aA6IRgQTEQIABgUCPQer/AAKCRBdjovp8jga1Bpj
 AKDDCZG5Y5HLe729yr1PP/Q0vf/FRQCgiXZX0DhJj5Pa/SlEKHn0FqJ/ti2InAQS
 AQEABgUCPQetLwAKCRB8S2dtoA4VY1BIA/9l02ueCOR++lCobMBgOBcFOO5NiE+M
 x2osDI6r1cZFMYJXOfxR1nbvzT/yGZv2waF0XECMvbjUSdcRPHalVGDivaLR98z8
 6p7mFzr2g7LHpI/brauPIVYq61EHtZK1LWzKFAK6HEpx+C4JXURsA0d8i66Yu8bx
 jVJVn9pP4WEiI4hGBBARAgAGBQI9B58MAAoJELTXEKIORR99m68An2c0YEMO40sq
 UAJNrmCrox4RlAXUAJ9PvIK2AFsFRj0CYqjc1F7sdX3VCoicBBMBAQAGBQI9B7fI
 AAoJELaE8XzBCodN+R0D/2fWf0Jp2gJy7Pq5v3GZBxiE4Jlgill6C7iFU+wv+V6Y
 fp5KFBfTNH+myn8DP9I2PDhSfH/epN5UqkuTzqyz4DLpmD0Q/eK2U3SmWrfQFojh
 BUDGLDSsSMcsUQOc/kYYAZ1Iqpe+2F6+UBNq66/DWbS/9hm9uqIL0ehRb+x4Nl5W
 iJwEEgEBAAYFAj0HrTsACgkQ1uCh/k++Kt1d5QP/RZ8QoiVv3yqpFDOogmHGFqoO
 3PWJKMzsP0zvySlSM0Q9RD3bSTRGYg02UxHm+EPS6hy42td452YUYMMK4lirRQty
 wcKjuM2P2owoB7H0AuVjDsmEdLihxVq79/Mh2WWytabS0OVxvR51JW6HT8imv3/8
 vSU1JXA3BZnTrl173dSIRgQQEQIABgUCO6jZ4gAKCRCeHQdkN4IiqFUkAJ4zDQG8
 i+y4+nmrEDHtewizXX8a/ACgkOdRDTFhrElHzO81thsR6BnDh2+IRgQQEQIABgUC
 PQep0QAKCRC1UrBDdzkF1ic1AJwIQLg4bt4zXyc79PsDRm3esGh15wCffnTIMDtR
 9b2kRuFVRLnDBxA0IOqIRgQQEQIABgUCPoN1pAAKCRA/fNKRRvrNxw2cAKCJnEPh
 KU+w4MRdVyOsI3m1puIm2ACfX1+ehJ0wkRuSKN1sE9XpR74PqTKIPwMFED6LNcJi
 QObrltOfCxECiSMAoMAwczTW4s2rMJzvEsSxVUMgH9ycAJ9ztFJbYsjP50gMjWbx
 8IFnHLQKPohGBBARAgAGBQI+Yp0KAAoJEOGpmw+ppg/j5NcAoM+A5luHR+h/uGFy
 CnMScUMV2mH8AJ9oBLhulGjW4otlfO8Sm6WXTJxEvIkCHAQTAQIABgUCPy8b0gAK
 CRAdYunJN23Ox1ytEACnpieD6dwAgESgHR+Iw04YYbmLB1rynuI65AqfBRdEQnqG
 5xXjwZmwJ+aaSFEraKLz6RQLpv4HvKoXyvZAhzSFOPmHvV7GgmCTDZ1kVJNg22F/
 8AdpBdfrW4RPbK7MeOS1MXV7xzr5mC5NWimIJVrsn2TLECbciIu8Kpy4c7wv3EF7
 wmZzaTOkalQLL9XODpWhm2X1ASJ+nl4P9J4IElR+lwy/KqRXLljA6/v9+wBs6kmV
 idbzeXTrKttX++EJ0PxyMMX2j0CAVZeXTWH5ieafn6X9uU3f9QA1ZF6w23Z8JTp0
 ggoOvqYJ5+GqmDdn/YrY3hUizlCy8OnAOs0cpN6VgaRrVgmIWKdK/o+VE2iLlbSb
 cXaLSN43BIWpnFrypxRZLN8YZQb3P1/A0ukOM/GHf8qE+0SXJlL6CUP1N5GsgRej
 JOc8YEuSkanPA478KvwaY0m5vXnc+weUHSrlkwxKrRXzENz9jGimhbK+J8OSPqTV
 up3Mjnc04zglDYtWbttlc20zZtB+I29uTqarLLRPG+LpKFxSGvEJivXMiksWzR8e
 Py2VRGCo7bSbjT54nTJeBuhMYylNc3tDege6vDiyAJnFOWCF19b5coyStLsSc6xu
 KXRe8cUcuxeHoiapXlYdwso2i6jhKOuTUspA5gK4kBe90RDN4kbholz5wUiiAokC
 HAQTAQIABgUCPzFIvQAKCRAPJ00hlI+PBvVuD/wOSFsStty8WdpxlG0gXk9RWWaC
 YsNjBcYCpHTFoPRQ+fZn/wQWWH0EVZ4pmPJB9f7COADs6gnoRWUFl+eApNi5bgsC
 8XUvcSnWJpPrZwmt/2c0mTd5rM5LvmaGezMjBKYepTvMWG8atd3Vt0O2WObt3/1m
 XVfzEr/EbbcTZ1umFyjUmh+6Z0LsCt910Br8D77PZdxjB4BmiVxWQKsHtuSNRTYF
 RPgGZcsKzu1cyFyI5DE6kwh1b1UjQSV7vCPRsCiNXflbejjZZCtSQ1OBrM7R/4rP
 sa0Tkf9MEBq7Wsj313KMZ0oPhEcM5so4P04VYhMHqABTijeF7kZ+GaWdiKZxVhDz
 aFryG1IunTLr5HO+yFa1NgsFtBbsmuploZYcJMeWKuo/z4DWvClgES2sTBKfRfVO
 q/65juxImaDxc1Qy1yyRBYl1Wiib1aZSToK/X/OsZwPVo7QAPAqbDQcMkrc5JJ80
 c0N3TJtu+ymidWUnZ+gvFe6c3DTV+trItxrwPjhHfPD4+oHH1tFb+ofcAa69qt6j
 LIziLMjS+Tyv5/8QP8xshscaiCDQUpjWwsjkkDfQBBd2lpry5iUL1dLVfSDprRtt
 dTpIe7ZXBsss+7XGBx/A4ApW2JAxoPo+A7obZMzt29jge6RCIwSXx1r6ltrqnYcV
 O2RFRKEXP/IJ/Iexq4hGBBMRAgAGBQI/YU+6AAoJEE8s09gnk88taKEAoLCFzYQy
 gC5TNFi9g4jPi53k7pAnAJ9MBgAycaj1QFLnFwFb9rOZIHyR3YhGBBMRAgAGBQI/
 YnQoAAoJEMiGpCvVsvD7NQMAn1ckw60nFYwxjPIEWCFVXzO4Vw5qAKDFeA154HBx
 NDSvbzu1LVz5HjKx9YhLBBARAgALBQI3e6BCBAsDAQIACgkQ2MoxcVugUsO4/gCf
 flQ3GeCupyHPgKfFikkzF1yhbwMAn0DqJIZ9klHdcWGPz2cWHA7PSPGCiEYEEhEC
 AAYFAkAyi/MACgkQK9b4h5R0IUKRQQCcDqpDaOqbpozLjhEmbw3GkvUkM+QAnA64
 PuM7qnvvqyYnARyZCfXI2AomiEYEExECAAYFAkC0G7MACgkQ/G14VSmup/ZgxgCf
 XJq5zF9MRHkSh09MQWnqOYv1S6sAnA+9CRUiZU6A/AsV8QQ9VpZa1OSDiEYEExEC
 AAYFAkD4HsQACgkQoE/7G33K6dPbiQCfVxLCAXYMOoBkhncGxRMrCrHjlnEAnjL8
 wI7YWfJxW8ZGhxt0+5tq8vG6iQEiBBABAgAMBQJC0cfBBQMAEnUAAAoJEJcQuJvK
 V618sIYH/RKryJhK9oyyLDJVOBp65U6ViVC07T2hlQYfot48p62GmURoxba9dF9A
 jjFcwGc1D8vhnnfIQz7pnu/SI5uWdAonMAJvRMwIpwt+mj3W2UiPVBbqvcZjRvay
 RVxyQCGJwE3zR/0yden80GHNPZuDACWrPJ+MzuertkjOclMkXadCI+nWnZ+usVqT
 FEtC7N5F5gRO8tyZZ8a4CCadkHJlXtEXbjnbmHVDQP9E0PVc5DuN3wwA6jFyMDKb
 TWHH1SWJJL5VZOvTj1D6ToBlccS2vGhOqhPOWzIMZOERplyx+PfY7JjLOOo19ggn
 HTUzQUwvsJNhk7UW5YQqmEJE8iZWoR+0IUJydWNlIEEuIE1haCA8Ym1haEBjYS5z
 YW5kaWEuZ292PokAlQMFEDSNdJeozjotI+wmPQEB2sAD/R79H8KT20AvdLfLK3hU
 /jm0Zc2EkJzh1fl2HKotAyfp22WAfutAsz8R5HIYX6i4tM7DWG6pX8kwiWmzEvHd
 5+GlUZHvnjKQ/FMLARnHzoPtx/WhX7DQxfaguOnmjdmRGzKbDGj8xDL3b8yFmOaR
 dbs4ibPoajzaZ3Tr/W4PZq/qiF0EEBECAB0FAkLy8goGCwkIBwMCBBUCCAMEFgID
 AQIeAQIXgAAKCRDYyjFxW6BSw1EKAJ4qGuAM4xTuFXXIRdujkCQEUqr1hACfb5+G
 KrD7r2lZGxjg/lGThLZYvZaIRgQQEQIABgUCN4O3TQAKCRAhPF408YILVTFSAKDW
 VZm+TtyL320Ys3xjCWSY0dZ8ZACg6+bO0WQFvgmjLgpww4zf9A953DSIPwMFEDeF
 EjyvogFJ1jl/pxECv0UAoP0N+A/su+EsG7AyqtTxc0SkSG1MAJ4i8MbiIzk+Picf
 +hm1H+gXxWn1Kog/AwUQN9n/OWlM93/mX/l7EQLDZQCfaV51kpxPgnf6Phq5748s
 gmarZroAn3NskDMAtcSHqTyYfFu7SNOxgWIdiEYEEBECAAYFAjnuh+YACgkQIBUx
 1YRd/t2hWwCdHqfPJWb2wVx4VoMtod5RRtQ9tF0An2ec1YSzFuep4DB6dI23LP04
 voQ4iD8DBRA587GDd84pxY+hLiARAq4zAJ0SMRRA74tGwcGLWGwAxBbpVmPM5wCg
 sH7yO2LFTpDA7ZOJxLlsCumygsyIRgQQEQIABgUCOe6NVQAKCRCI4Xsd/OVlYfzc
 AJ90xj1zsCx/77XSTRhjOth7YuT55ACfQJZMfNge3GcyXVSRAKsP4TQ9zYqIRgQQ
 EQIABgUCOe6NWgAKCRAY9QOAJMJ4AvUZAJ0fzv+uIaG2+DHRCoSYI6ahOfvjowCg
 hg4JNSkzdscpeMLb5q16DM1wI9+IRgQQEQIABgUCOs5wIwAKCRAJ/r8QgpnNs9gE
 AKCkwV3KND32VVU/8XZahJoianhhxACg5v5u1/2R2enqkLWZUWFL28qu/o+IRgQS
 EQIABgUCPQetRwAKCRAh+cW892qb9YsbAJ40Xm8eNqn8rNDzw0OPYNllg3fp3QCf
 ZjLQcRY41X1pBDw/ANzaB/VMKqCIRgQSEQIABgUCPNl+fAAKCRAqNrG6CC7PxdY1
 AJ0SC7aH9Xl9Jd3d97YA4Dkik102yACeJ/jBytsYC2I5XM4rM23KXUyWcPKIRgQT
 EQIABgUCPQerjQAKCRBG7a30NX1l+6nXAKCmvl6WMd8LGiDIjoCFftCNCjWtKwCg
 qkc6y4+xT2+xliwJJpbLYuauZmeIRgQQEQIABgUCO+moHAAKCRBVlt0M6b9lPcKJ
 AJ9Qay/Wac7u0Xhhv2gEcjoPDhjN8QCfbpDwH2kVSzDVywWQeYmNl0tWRPSIRgQT
 EQIABgUCPQer+QAKCRBdjovp8jga1NnSAJ9f82WWtmBwykCgd3sxQ7S+UXDE8ACe
 K/OC5oWwkQ3d25iL5KjAevFBCtmInAQSAQEABgUCPQetKwAKCRB8S2dtoA4VY6P4
 A/9GQa7Anvzfqg/t8lz2ZWS4DWOXcpepN9NwyspwOCc2InJ6COiNqsFAWltbBXT3
 Ik7zl7UvFrNrMQcWK5CYNbtmfxC260BSsS4jECPt4UKLnKNGLsyaQTI8u5uvzYP5
 L7zn6fnLYbRNLIqEu21dAwPgrRnZKCMlyfs1vxBI35ULLohGBBARAgAGBQI9B58I
 AAoJELTXEKIORR99BOAAn3MBIytcvWun3scv1Xs0CTptuRW+AKCZ+pUZ/59HUo4l
 qhSmcyn+010UGYicBBMBAQAGBQI9B7fEAAoJELaE8XzBCodNS2gD/Rs2mgQiCmQQ
 zqlldque7spyufObyYyXAcBgcRs4Tp+Dk4CpQZyUB1/wn4xEO45voG2kp3twCyYN
 BKDrwpZYiLg3QWJRnGifYAiwW+W/ldaLydHvmCJzxRngVYSfrOi74gcqUDlFFrFn
 EUpusat5DOYSUqk+pnhHKXmtVWQxrNGKiJwEEgEBAAYFAj0HrTgACgkQ1uCh/k++
 Kt0z8AP+NNkS3RA/2uhPsdpOo0Oo7arbTP1zk27TRW4pGj23dga2XaVtM7nSUf5U
 Tf0tTJ5dDhbTobrm+GWQ2ThBB+IbY/oigeI9FLE1Rx7vn2IEakjiD2E4kafL95T8
 ooBrCkbqDPxigs+mYAig9E9I6p62Dm3nBlOEAnq+6t98rsi/yjWIRgQQEQIABgUC
 O6jZ3wAKCRCeHQdkN4IiqDWxAKDAk9tST2QaFszZPH2gVgushcOo/ACfVwfxrBj0
 4HEBwa+w3WL00RU7dMOIRgQQEQIABgUCPQepywAKCRC1UrBDdzkF1tVlAJ0QGe/T
 0YYoSb3+Va/nTjqD1aA2qwCfcikASWvi1DpX7pyGD08xylln57OIRgQQEQIABgUC
 PoN1mgAKCRA/fNKRRvrNx18XAKCuAnmaHp/afH/D7qMyY78c8O6OFQCfYI2Do346
 vvcw6EupU1XxDXrK5NqJAhwEEwECAAYFAj8vG90ACgkQHWLpyTdtzseEbQ/9FkHq
 LNaxRNXCFKyyBakKuOfxdiCA/WyNTm+YKW0tu8Yzqb6gL8u3dKjF3+W6UGzPxyRU
 YeQ0khy4UeH/Po87HXo+Eu8mTWZUBxd6KKkdVH5v8Gq1x0m7qZHJ+46X+HsLlEz2
 7omXEK/npgXl6sa1wX8OjbG85c5259Sezr9wvUgmbBd2U+xITRmmxGwvzzP6iEoI
 bbzNYjZFwqlOXeC6Hehiw/AB8eZ+qMr0FtTIONV/CK1aaGHKwV6c6K3zjmhnLPi3
 1kvqccS5uoY2D2X3eeS7+0IJXTiefRm3YJOilLMsEj31X05+1aZO4X6LTbvTGqCh
 BoHuipylrwuCZeJP4LI2J3iIqpBsXCK/zCkhSPbPSa6napw05BLT920cSEkZB1cE
 SzIdHFao4u5G987wzKM2xcSfuwAWMxd0OVHzNlH7fAblH75ot96cR0VzWxXosB98
 iU5BFBxBXgxPxNw5qCOZuqr0eOLfmoaTVP3mueeP/w4okVw2JdQ8xhFiSdW0hA+b
 QYtbjOpmBzTvQ5Txl6YmhqmsxkV3q38JM+/3DNSiULvK0Lw0tIdbLejmduxlWmBu
 p5DKi4f4WniXDRG5cSyt7ozMGmbStU6WasK5FvoZm54u+IoVMcnBu+H3a/JxGCNH
 ndirtbgdez6xZd4vaGRToxyy/fRUnvA2xdY9vumJAhwEEwECAAYFAj8xSMIACgkQ
 DydNIZSPjwbwHRAAtrOgbcw4tAl2YRgfzaO5eTOr5vM+nOsdOkwmk7XuMKwnQkoA
 dyJ4wp2v6jZe9b9mkZX7XAzLls3EF+pfAXm7Mie7mjOYR8DH6p7bAew+YBIIq6bU
 FjM2qYBC3FYoRQLPzB8Cj58QC7wLVAYndS5+z5nh4/JKIB8uM2KQxHewPRNRN7RZ
 HXlJTdmAqcb/n4s/HDe5mTh+vuuzoqrOJKFlBmnVhojDDkRqSAMMijMYNPV9rkQ2
 RZ/ti3xKR1bIUz9jlReqVXn+T+oIw+kR8uPyAKQNdov6uvShAqe60V8/JAeorfNA
 mytt54mcB3rTPsj76RFnrPC4k+G08YWuW+vmmezRx2FRNlG61WeWGORLpQ0T9yfU
 nPoH5KyYnod91n90VXEcyEQyYTLOnDMJ8U7jOlnLVzGTMiMX8+gKmoGmTYzbxUan
 0YOGiV5KR4HaAQzl953yhYJ1J431iRdjOLVXT1Q4IuiFgyIMxTceeiXtUeFMpbco
 8GixnCCWKBJL40gU2xAy2hyPNC2s9krgQ/XGbzKGjoqY2FbRU94dtiwpIEx7hRbW
 cSdj1Ny1rNC/KFkn7dUY0wbwYtJPkVadmqTe5dDe2FT1SBqzAXm0312gMden8bly
 XoYXuaEU4wG3hDsDUeSGoyvcuuCVZRlO/nHXueSQyeOArOv8tNCqALbcSC2IRgQT
 EQIABgUCP2FPvQAKCRBPLNPYJ5PPLbpAAJ0QgWty4BWn9xzLNVqexe/zT2f0GgCg
 xAi3vElatIil4AEH4bEOLe9dzKOIRgQTEQIABgUCP2JwvwAKCRDIhqQr1bLw+1Wp
 AKDBDqSDEelvLAHy+4Eb4xY/cHg2KQCcDWibvRs2L1bzNyOoyE/hPfbgNjCIRgQS
 EQIABgUCQDKL9QAKCRAr1viHlHQhQvoHAJ97600f9vsYM5UQ7GhJJHl7U6pv7gCe
 Iy8kReROsRKjVvwiEG2K4e+aqxGIRgQTEQIABgUCQLQbvgAKCRD8bXhVKa6n9ivh
 AJ0cAl+cKCKFNX89rRWFp4hCn6rPigCfdeUcPsV+LqNS5aVBV9Q2w1slfv+IRgQT
 EQIABgUCQPgeyAAKCRCgT/sbfcrp08+pAJ4mDcrSKQ4uvERV+uEfxlaSccHCaQCf
 du7kJMl+QQILLzZywsCCn1C8nQq0HEJydWNlIEEuIE1haCA8Ym1haEBpZWVlLm9y
 Zz6IXQQQEQIAHQUCQvLyCgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJENjKMXFb
 oFLDMwAAnjfLmu45IePvR151wwTQerqUgrnXAJ9LgGdXbdZL0kzfyhlfVs/pdPBL
 Z4hGBBARAgAGBQI57o1WAAoJEIjhex385WVhjEUAoJ/rPEgZs/YUnfDnmMGLIxdF
 hz2mAJ9EKcQ8233rt0pdt4xvRXziLvLG6YhGBBARAgAGBQI57o1dAAoJEBj1A4Ak
 wngCxVYAnjhh80GEvKsG9kdUb/doJE8p2BIbAKD1azZoxMi+pIH2hs4plL7oyqf4
 94hGBBARAgAGBQI6znAnAAoJEAn+vxCCmc2zE3YAn1pylLDv1Bbsyb+hjT6CSr7o
 o2LaAKCavkdw7lb9NpR9lOc/qaEWyjcRyohGBBMRAgAGBQI9B6eFAAoJECAVMdWE
 Xf7dH1EAnjUTYP2K6jRcSMUl40P4S67KMl6/AJ0YfKTHo/RhE7AvyE4zERaETylA
 WIhGBBIRAgAGBQI9B61KAAoJECH5xbz3apv17EQAoNs0ttUBYmDgMHRNviLjF04F
 Hj9tAKCACgUpqyaeJJGd7glBp33Kgp60KohGBBIRAgAGBQI82X6BAAoJECo2sboI
 Ls/FfegAnRMPAfMfhwf4/Hmn12hJlw7YnLLLAJ9GiR1jUOtKMulsOjCZYVW74h0F
 94hGBBMRAgAGBQI9B6ucAAoJEEbtrfQ1fWX7FRwAnjoduMj4hoXgi/X0p+Q6nsJW
 1wYGAKCt6IZ053pq+3fljhclARAuNJTIr4hGBBARAgAGBQI76ageAAoJEFWW3Qzp
 v2U98CkAn3iYu+I1XQKAjEXji2bocrMjr1kMAJ0eA4VZdJk+JTWnPntk4Pg1ITGS
 2ohGBBMRAgAGBQI9B6v8AAoJEF2Oi+nyOBrU+rsAnAjUV6MJadAnXe8VJsOvdbTH
 N5yaAJ47ve5A8HLOxkn86YaUEm20sc1DPoicBBIBAQAGBQI9B60vAAoJEHxLZ22g
 DhVjzDMD/RcE92t8k5xx0pUiQFAOlCjJfVuh3f3cof26plw+hncy+hlle9rGPSVY
 YhtTGgy3InVS8Kp8x4RyJ/Ymy19I7yrsRQK7c100zCxd730pUwk1Yxvyiv6Djs7r
 OcsHF5suU1rDUBmTOm5HzleCm/fzVkHcXst//RPCCIhumOhoRONXiEYEEBECAAYF
 Aj0HnwwACgkQtNcQog5FH3179QCdHeCmWzl2nEqI5zqrxo87MPrPVs8AoISl2sGu
 Sh8Y9gWwj5AA/eHoLuUTiJwEEwEBAAYFAj0Ht8gACgkQtoTxfMEKh02PpgP8DJ+y
 XkLsYnUH7BhnED0PYFYsOorCe/tPg7ocMc+XGKUrags9IJQk+nZpfmFOR/pycQBU
 /pZsDYYSGAKVFNI2ElPoTfUFka6EHFFag9Xs9YPeiCkcr4sbTmCx+6uVidvCnboa
 E5c4Uczws3uck6QVB7WKHzjBdvO/OBnmB8zOP1KInAQSAQEABgUCPQetOwAKCRDW
 4KH+T74q3RvGA/9JJp94uPG2AehKliTnkT3r7U9gBA1LzO+7TJI9a+i79+484EM/
 EZwwjnks+S+vS+m7StUDeOYYFSe/d4xsg47cAN6cEleMJzunNh4vKH7cducWZbia
 bUrYrZH6cIJU5Vy85h+yhx+tjdexRPtLxv24JZVDqxa8IWtIIKiKmUVPb4hGBBAR
 AgAGBQI7qNniAAoJEJ4dB2Q3giKo+x8AoMpsdaJ93u6oIDYHziPGbQy9VcMJAJ4h
 RXG3LRdvOsm+0ZV36s6qQHWAvohGBBARAgAGBQI9B6nRAAoJELVSsEN3OQXWTOoA
 n04Y9k2OHyDGieYAHJ11n2rnPhdGAJ4i2yIXGgDaBeXP/op4OB2CHbbmfohGBBAR
 AgAGBQI+g3WkAAoJED980pFG+s3HzR4Ani4cq+i8iqN4pEsR4zDG+hKgUi8BAKCu
 5aNC3ElOlgyXY+Jyw8zhgmpeS4g/AwUQPos15GJA5uuW058LEQLfuQCg4Hgl1aA8
 PULLwKIolsalL9A+RYsAoMt3oXAnVMQwmDvyYulm+oxKJllHiQIcBBMBAgAGBQI/
 LxvdAAoJEB1i6ck3bc7HMWkQAKo+SAjy5D47D/eOt6ikqcUbxF74pAorSbthtj4r
 U6DMDoxqX8Ap5NZry/3w8pUZL5zRgyzYeT9oXoUk8syjenxoZb14lQEGd1ZSy1/D
 I2yHgnqzNLlk083Evvq1tdJBoJ11OB1RoOTZj5PQHoI6WWti/S9w87071Chuja98
 4p/U0RBWQgb78OaWnv/dCHYUynikHK+x6+arZo1ci5pDFktaSHzQbUgI+vW3kIZK
 4s34cbGmBjCdLtI1wqxkRnWYYmYYj7NiRdJT2OnQot5QyUA9lZFKUickFyfWuNFk
 Exo6licEcI21JWALTBq23V+AyaEIoIN2PdY3BbCcinHMjLbJ6vni5EJVhjNIF/wL
 oAmip2xWcDQJqE5cCNG+LleyNoGCuQ+5q1/4mdrl/FJvzhWLJKEvJcd8xKqt5mY8
 cVioJdIwJHDZrWnS0Tum8Ye+0HbV/UqX13KbV97cTGGIGelB/Fh//v08zApho3KI
 fNz57TrqHinmpdVDgMTZC4jZCti4njHYOITNhNUu8H5OZysVzn71YQdg8e7dFeJ9
 8sTVQS/YQMg9XZEfInu92UP//t7hha6yp7Cns+H3k1VaGsbCug2iiagjkvZgfqmM
 e8zugg4T7RLTy73jPL6PDgNBrl8Eu+1ysmCKdOAMC6nDKwPWto/fMQ1rt/0gcXot
 47eWiQIcBBMBAgAGBQI/MUjAAAoJEA8nTSGUj48GIvUP/R5Grvaxae14cnW0mqJz
 v9F2Jm2+FbILYZUTRFgcHG//gOcdW3ehhRX2+85O3ndr663O7yYPcj5wtObRCcTp
 9bdrETSi0oNmkZbf6DgDDQl7Ywpnw2qwznwSHVy0dNZ4ew8A5H/JhD+gnRjyiw+a
 i8Xyn86QcRw6MN6FHhDr8TmKYbLnblL+6+n+5fXDCqEPcXDOtIkzWyFiWpq5w9J0
 JbvEukbhpjieJzd8zedEUOGZGQ54YhISl9B9IS+PCBcxMhEvPjd6zCwbJtJGsVt6
 SsLIBlygjfQFqPNn4UX1/rDqsQ32Gw4cMIil2RYRtxfN1QHCH4nid0ZdMTFtodqv
 hqV1MZpTF5ut8kPtj4RtrtJaGNATZr+N5+wukiSdo4MTuphb68sBJbD/dV3eTiQA
 kFb2+0Of8/wE4RfPgD2RBMa31Nukk4JKLoV5qlZE9F3ZGRT4FzCQNxt/mmMCJXtW
 O33oQEzuycPSUw/eqKskBbXkx41wMXw/Oa/CrADPWOVRpqkOq4zVW9JPNItkwSZ1
 rCpp+fXkSO3v9/r8UMWuz4fNacqQCfm8+1Shs29DMuonYzuxcRR3MRGV91UlQ85+
 jiP96TCPdcOdErQ0EOHkPF3r7sUUXzRhdoa3UpvFoMbL5OufP56R0IyWNtdoHqNe
 vDmJ8jcEJj67RXzGKL5eAGfHiEYEExECAAYFAj9hT70ACgkQTyzT2CeTzy2GTACe
 J4BppzXByYFAwbOx8PzgmBRK3VYAnA1nir+/+EHDdINUoIXzVHiV7hKWiEYEExEC
 AAYFAj9icMIACgkQyIakK9Wy8PuX4wCfbeVNeOT2afD9et0eGqnHZ3c3RyYAoNnX
 IzOwmWru+6fhtsEYvHFCL8/+iEYEEhECAAYFAkAyi/UACgkQK9b4h5R0IUKJVQCb
 BG4/YtxPFGIy9eOxnQJyRwrpwsgAnjdD8XOIrOp+U70uAY7rnRGaLni/iEYEExEC
 AAYFAkC0G74ACgkQ/G14VSmup/ZltACdF76yPp+CugnQ+RkKhSBG/+qtIowAniLG
 I5/n/dPJhLWvW1Ykl7Bdh00eiEYEExECAAYFAkD4HsgACgkQoE/7G33K6dPe9ACg
 kWdHnaHveLsWUkoON+xt8MeUnUYAoO9Jan+db2NgoEoJTZs3RC9kgn51tB1CcnVj
 ZSBBLiBNYWggPGJtYWhAY2lzY28uY29tPohdBBMRAgAdAheABQJC8vIKBgsJCAcD
 AgQVAggDBBYCAwECHgEACgkQ2MoxcVugUsN0ggCgoEqyQSfW536+C0hfHEpOp0EL
 LcQAnAl6DvzwpoJwrWQc0h9nykKzJcDDiEYEEBECAAYFAjnujVYACgkQiOF7Hfzl
 ZWG5gQCfQpNn6yvqdu84zzBBst+l6hhZaOQAn2SJTy4RJZetqZNMpgoQfJF+MRUb
 iEYEEBECAAYFAjnujV0ACgkQGPUDgCTCeAI5VwCgmS7PLgTE0htw56cO6WS1Tw/M
 oXYAniBaB0+h60Yqt2+9eW3ORmYYRZYQiEUEEBECAAYFAjrOcCcACgkQCf6/EIKZ
 zbM5ZwCfaXlx0KKbiGiwDcmBMXFZjzw2fVIAl1SZjmhnPvwLnlqdy1Mt7s9FT9uI
 RgQTEQIABgUCPQengwAKCRAgFTHVhF3+3TsQAKCNtV6GyUY+8PibM1MvXHv+S1/N
 WwCdH7NGAtuhVubQX2Jd4PIFLQYLA/2IRgQSEQIABgUCPQetSgAKCRAh+cW892qb
 9SXgAJ9n2q5gskfp2ApR69WtRrQ/DzFvrwCeIq4JB5XrXdZnsVWDd9rWEaJ4VuOI
 RgQSEQIABgUCPNl+gQAKCRAqNrG6CC7PxcTJAKCR0VIdQWPR1/30X2Dbdu0hn1LU
 9wCcDeidUYkMXBtY69YdwjU1w6KHjICIRgQTEQIABgUCPQernAAKCRBG7a30NX1l
 +22SAKCY1RIGfp9Q4ILM6iJwyQo4ZMkXVQCgvwQ51yxCftq97nMtOLqx0s4pZcOI
 RgQQEQIABgUCO+moHgAKCRBVlt0M6b9lPbZuAJ9Yjcs3fJXQThwDkhcTTo4pX0BZ
 IgCeIN5Mn6hQaqR8Z5h6fiXqdA9zxr2IRgQTEQIABgUCPQer/AAKCRBdjovp8jga
 1JbgAJ9fKWmuJGii1EQV0a+3i/VshRI47QCg3z5ml7DMd9xwkVXO5CZajl8qi8mI
 nAQSAQEABgUCPQetLwAKCRB8S2dtoA4VY6NoBACFoqy7IlJHqvu6Z8q/uw2qRcGq
 E17krbXviSlgxb/7Usl4u3KlMBAWnCsj2Vnv8c7DrQGDbXNfEUZvV3zz5QfVF3z8
 T0n/GptHo+ORLwLQpV72ucoFWN1zYgOry8K6Q8ObsqwYDRDtfMGtNBnzjg57rsI/
 A7vWaqXIodtYn7ivuIhGBBARAgAGBQI9B58MAAoJELTXEKIORR99CCMAn0jK+gA6
 vktC9wtCu67SiHEXDoyEAKDLHPnn+xcoYLvZfsur4OvG1uTo3IicBBMBAQAGBQI9
 B7fIAAoJELaE8XzBCodNPM0D/3Re5qHcEzUTmNO1lgZeP+q/yWsIocT3kcidLeu3
 7B7CsH7o1Zf2P8KCiEnx1SXYK3PN+EtUyg/9Z9hqXiMoGtvkb+qFgQc5TGZmAtWn
 3hyiHzVdaI9aSo30M4pH3VRaSSTWcLYkC5t5u12+SUrlOtq0ZQjLPOXpCL53d8i7
 ROe6iJwEEgEBAAYFAj0HrTsACgkQ1uCh/k++Kt1GwwP+LnPQmxJxuS4V3AqmwbQ6
 Fbf+QyJODI6xApsoPcdq3cRTbFE86yxgJDeQeXN9+KXrPp0QU+SeEekVO8Z4ilJy
 hmjVEqjyRJF6BwfRXOUq1UTVo8q+W6Okkpa6fMg7PML1hKKcaU2uRbxG8OVEQ+J0
 ekeBIHyLkaHmPG8ZKrqVmw+IRgQQEQIABgUCO6jZ4gAKCRCeHQdkN4IiqNH5AJ9L
 jFgED45Yg1HXKtcIa/1DKii/6QCgyk4TnvuBUiMov/XiRgykTbMiO2eIRgQQEQIA
 BgUCPQep0QAKCRC1UrBDdzkF1mFFAJ0etxVK+m50IJboRSrGtAx6owvRpQCbBkbn
 0dZX2oE+3ZbpfVWiisXZ0hiIRgQQEQIABgUCPoN1pAAKCRA/fNKRRvrNx1w4AKC6
 GxIOY/HaH3OJyP6jLxaB2ScKXQCfX9js5vL6d8qD5HtpZubv6ff21+6JAhwEEwEC
 AAYFAj8vG90ACgkQHWLpyTdtzsdHnA//fKus4sLo7LH/5O0ofCM3IQiIys9LBcH5
 h5NSNb9cqevjoMeVzEfKD8vyt19fDzd4ILgqTeWKngkj9ELshnrYauWa810Xo9H2
 Rt9vVAaGzHwPtGF0GvHq1TK2g4E+LGNlG7jhkFbWu8OpD2isjlDBq6tncI7z8dJY
 aw6wJK5TrkNCLMprWQovyoa6OS32PGLNON+FEeAa2ENOEsBXcVEfutc1BHogvr6G
 i4XwaqB54gk2lDvVol4LwlkSZhMJw1I1rSEeTTsYWiTAnkNhVne4RvbOYCJuCrRb
 3Kga74rKiGwG7fpiUGas7Bkiz5FerPsCI6bCIiCLAKcuUqkoUDEDD+D1ZsmCnHQV
 MS4ucS/5AA3tuF/6I1qeQOIXH2SOZYWxQLEgIai8gl/jOfhICeMXS11sgQmG9OKb
 wXhWxJPHLWkrVGAitUHYw/fj56S+CQdo9JGzjLsJj8DJxXSnr/ah56Q6UV72uTfW
 w+5yYcyI+QlvThOZ7zL1ktQQbigQAZcmTpgS1ldhH9pc7WurlyV9bV6ROYeiqIe6
 j98rMblFeaiU4CgFY0lIqPKA1OJKK7d8DesSAYNLP8D3W2xRbMgafp4yxJwm5coV
 an+fmQnnPe50r9puWSaOugi/Pka4CP3XOy88odUZ05wC28Is7/QcMQzHAj5UdlUZ
 /JNwTiFlBYaJAhwEEwECAAYFAj8xSMEACgkQDydNIZSPjwbVlRAA0UKZE0bBtMse
 S7gVtz4AAeIDVHi/VL9LX2AT/Rgi9mxtB2ul+2ubEr9l+pIeK2bt/RN6eOKL/N4i
 NOZcQr0pbRlecj30iF8SwoCd/IkUXH5Q5o/7uKNoGBNXOX3r6+aqdhGMcjAe0R20
 u1RVFl92V3EYxGZym+FwL2yRpEARvUBPmeyli0DSTDzCUed3KtWZO3LN5lfJ/teo
 ZGaTs3ETYvIT1egco9DG7juA8hvaJq/YclE68E9s8GTX9V/TXq3g0FkT3IdOXlWN
 bCzAbnAvRjqcusXH12f4DKCUhz/WcaF9/wU85ExWF+rDfnxDEVtcJB83JdbxC4uC
 jMY5S6GEtuvDbTJW73twkrdwBzTMwi4aUC9SYWCVlvxLrod4y6zm2UGUYV1egaTn
 wdVVgXjzy2UzWHcUWbw4AwVMUXs3Up6wncaVe+gMKeMhMk9eoEgATU3swbigVQyz
 6x1O350qZgx2j1D+3LMHcEpZ7jbOPFhv0zT5gtuQVBhnBoxF5F9kGQd0cFDgUCTR
 emZYnrDjtyb90gbwOIUz2GB1obgH9TH5uGPccyxX9or5qmvXZ2Id2/pOmxlHj/CN
 /IGcaIU6tm6/uoigAPYoG+W+gjmlH5msf1MuMmBnccX8+hqWsOsV7Bd3Qb3Tjwql
 8pHe5pA/xZzuXejGH+/Ouv4yLmgXlzSIRgQTEQIABgUCP2FPvQAKCRBPLNPYJ5PP
 LRHhAJ46SbLH/JorxxTNVSwsXJKLHfivhwCcCUUskOCuw1QU6FqoqyHvWgAtvmWI
 RgQTEQIABgUCP2JwwgAKCRDIhqQr1bLw+0sbAJ4g6hW8GbPktt7jmbVy5gcw5ThO
 nQCgrhwQdg+8dnurDKVJFoJ+DOxGlkOIRgQSEQIABgUCQDKL9QAKCRAr1viHlHQh
 Qop0AJ9Gwf2GvrRDretOKpqB6WH7q+xwbQCggDf6k/gCp1SgEa76CmoM9bmLSQaI
 RgQTEQIABgUCQLQbvwAKCRD8bXhVKa6n9iplAJ9aKQTGIJWZO6XJu4eOfIKugG6i
 qQCfaSMIbwewKVcADXOdy4RgjW8gqVeIRgQTEQIABgUCQPgeyAAKCRCgT/sbfcrp
 0959AJ9oyIL8hzxku3V7loeKJniMQuJ9WwCfTPsTs6s2DdhOyMDXeOe6gMFjsKS0
 IUJydWNlIEEuIE1haCA8Ym1haEBlbXBsb3llZXMub3JnPohdBBMRAgAdAheABQJC
 8vIKBgsJCAcDAgQVAggDBBYCAwECHgEACgkQ2MoxcVugUsPnoACg21dsNct4vizn
 XTB1izxCmKe0aKgAoP3yBmPcmUKDDseXPAblYLLqn6eyiEYEEBECAAYFAjnujVYA
 CgkQiOF7HfzlZWE0dQCfVIdGmpefW6qr8TOrENXM39HolocAmgL5DdG/nYUfUUP6
 LrS5u0/A2BvEiEYEEBECAAYFAjnujV0ACgkQGPUDgCTCeAKmmgCePVbkQ9AsnCO+
 sqkZ7NYcdK5LT9UAoNU3T9jgMvnW5gDKTaJEy8477q6FiEYEEBECAAYFAjrOcCcA
 CgkQCf6/EIKZzbM9tACdE3IgDQ/y/f1ZhuyIsud2baKg6K8An2r8w7cEAwfWye7u
 3I6sr3fJR8/eiEYEExECAAYFAj0Hp4UACgkQIBUx1YRd/t3U6ACfVd5fnfsai/K+
 duMDi0WKa2k38VEAn2p0uGy85e0MQ1S0u3FdGSLfkN8XiEYEEhECAAYFAj0HrUoA
 CgkQIfnFvPdqm/U3ogCfau3JPECPX6A/RI4UWkUKQ+oowGwAoIpLlY529WaVqbbV
 bVYacVLVbdFBiEYEEhECAAYFAjzZfoEACgkQKjaxugguz8Vf4QCfRDfaMqBSxK43
 gurEuy8OCFKwqGAAn3oqVlkd8t59MZBw18KZbaPbly1diEYEExECAAYFAj0Hq5wA
 CgkQRu2t9DV9ZfvzrgCgiTbsoz9DrF9xDC2Z78Z6gLbAv74An1Ym7gkuCUcjHTxw
 XXNzfZ1CiY8KiEYEEBECAAYFAjvpqB4ACgkQVZbdDOm/ZT3/xACdEGJfn+fp/0WS
 aMjNEb1EYkUXYdIAmwS7bOv/UjLxJ3HcY4ooG/BexGd/iEYEExECAAYFAj0Hq/wA
 CgkQXY6L6fI4GtSrDgCeJVw1t8/ud5C7P+7VDoyIXv47M50AoLg3I3TP32lGXqF4
 hFe6VfeMppj8iJwEEgEBAAYFAj0HrS8ACgkQfEtnbaAOFWOYXQP+IJH2o8bGTLrZ
 p7Nc2Bs2p7aln3COggZKfk2F88VRA7Utsdjj9KysLp8EiNi7tR7mj4LHuRp4wBNv
 2RDSWqk9OZSq6IW5ZpmlECCJ/H42wmn+jt3gS4bBQyQlUtr74hDqfqgY1Wd21bJu
 ZpCTL9drVICxN+Dof8MJH51anQAsI3OIRgQQEQIABgUCPQefDAAKCRC01xCiDkUf
 fYP6AKCm90SLG+7bnqIVykONaB/sFtu+8QCgn01PJqvV4duJEAkTmHs385UYJ9WI
 nAQTAQEABgUCPQe3yAAKCRC2hPF8wQqHTbR3A/97W+V7e/4rowEAh5l7EOKXxTLv
 wfrZDvsB0nFBLv/RCb7jtQmwtGijb2NCuOTtNW3/HOGeeYNMwPfYf4jRsLRtlOIk
 waULx5RgmK4NITJXHiJ0D81wduBfPoZO+kP11AZpQF2n5okOMqoXLceg1ue3g9ll
 LPMJZveSjQnSi0kcV4icBBIBAQAGBQI9B607AAoJENbgof5PvirdMVMD+wTxQSvm
 qx18J2uYZj6ujUX3lbYPwK1ggM4w2MmVKUD+X9RBjaW1aSp9YnQLL4j0lFOkYssc
 IlGSFRGeE8cF8DBis2ape/lg6DWSON9qHgS/44YRC8xXZPXNB1wwQM4cUa4L3Mxz
 AfYWJwAjMO0y5owDebKEnZjYeGaRD6hwhkbriEYEEBECAAYFAjuo2eIACgkQnh0H
 ZDeCIqjgcwCfYuVM7kgfbmALOd/umBDLHGxx6HwAn00+6UqhasWTl+G2oCydp7sM
 kguSiEYEEBECAAYFAj0HqdEACgkQtVKwQ3c5BdYilQCeM1Mft6Kwxqo1nbOLzQ5v
 OWlRbSAAn1IyIuMAmJylg/cMqesV4McXYXQaiEYEEBECAAYFAj6DdaQACgkQP3zS
 kUb6zceUJwCgmyXUHKLSZ+3DwHQQIBnSkouNJUoAoKP/GwrD+mo2LDKObb10I5xw
 QYVwiD8DBRA+izX7YkDm65bTnwsRAjB5AKDQcLYt/6PjoATMIPe3izHDsImhVgCg
 79BeGlQC3H5R6kecepRKFeK5g9aJAhwEEwECAAYFAj8vG94ACgkQHWLpyTdtzscy
 aw/8Dz5mVfCrrTCx4J2/h9/HgXCMCwyMdG87e7CgQCaqsXo457G9thSA+fSxZ5rj
 DDqs+go5K0QGE2U7UgRJ+YMlemCxrywRCIfoO5qW+fWc3juHwEVehrfSfsa9Xk7B
 izoyETeK+1ggx50hNN+DRKG7jBokwzOsMYH4CJgPRBz96DL8Dgaxiys6cPKx8bmV
 Chu9goZEtWSNbTXdeCZRDe043IFy0Yhg7CAYKOIm9+L6iqQ3nYxCXOdHRBvGVpZM
 6ZlBCsJD5DDSTqSb5EEuiybO8YYzaDXnt9/Fam/j+arS7eJqfYXsI9CBA5SCZkaQ
 ERMkFm0uk1uiQZa00VBU2tJHaAPqmc/Nuv88Db9056x8pvS1LPdtZ9cL7xqZRXzZ
 Dl4mRljYL1Yn8xU+OmeVdPVVfUjSe0lxog1d9ya5DNNXySVT22xqIIYK8I9d1VHR
 hGtsPiZ3Hlj+FXnvc9KWFuRAwprkRclOXZvU2i8F2joxPvLyE06tjTOj3VNDJPd3
 Q0LzTtfMHszoom4wt8RtxNvQqkDuoJ5VHyshdWRcZg3mFIeuEq8QHgP26YQqOG19
 N1343ao8k5rLhN59ZeGo5zzM/zklOjrdhyenfRH/8BQZe1TFeDHuD4jURekDFFOV
 KM/j4Bf7Y7qxAkzWLdqWsFnOMUy+Sy2IyEotVM9Opsd3IVuJAhwEEwECAAYFAj8x
 SMMACgkQDydNIZSPjwZD6xAAtsGfhze/SOnRJtGrz9zPrt0ZT7e+sWCk4k8hDt3J
 qGjuLUsH7Cu4IcVLrmNLlKNxrN2T8oxMcibDoQj7er60iocsSifIgwpwnJXhJ40T
 k6OK1aSiVIwQ4ff9lywSqaEY4wnYymxg9ADpPJfDVIZkhjARdLVfdLhkFwBiLVj7
 T8KfY++qG6XZDCk0WdQ+Uh7qk8fLwdihuKK9+ySCVOwLIuARAmBtGOS8VOzgm1kV
 oVs/RjVn7o5Wu+ckbYBkvWkzC5uwTR/U8MRs15V4MmxGL2omjO532ZogiyGNhbI3
 nkA9byWOKQayLPK7/Vf9jYEzEUrCfX0oU/Y/tK2tUKCI4GX0Y9s+8D+xmo/uKMmV
 0Rh79rMNZAhnb7Y66qn7/VYJjyBxZoR/1dsLn0147ouuF0NISHBtSocPH/5/b4Ad
 +7jUn9WZe4H6jVGdjjrUIGk3C0IB2fUW7Dp3Eda8J1rtMMeo6ult7y67Q4A4g9wc
 sY5cJBwkckroU8wQraLaFGutClWeyoHneb4nBL9TJwjw2DlknIp39TFONIE6T0lJ
 vapOU16zTB8IZ3rixVuMl+IcJi7uNuCCmDsh6auMG2QMIIe9B5wGQ4cPS1CmoG/O
 5G1/D5e0Rncvsy/KdnwnA2xCGVH7YgCM98SfJGLCI9bpCqq63llKPd+rCzlLU1Sc
 aliIRgQTEQIABgUCP2FPvQAKCRBPLNPYJ5PPLWSmAKCvdbstKvhG4XaDxofWuWz1
 WoAv1wCgn2JMIKqB1r/fgU+cSAMKLwAoWbWIRgQTEQIABgUCP2JwwgAKCRDIhqQr
 1bLw+xzAAJ4vlsWlhklfv92GMCEY4E7fjsrgRgCdGLfsBuxfTkUToRGgoxfiR0i6
 03KIRgQSEQIABgUCQDKL9QAKCRAr1viHlHQhQsD2AJ4unwkMZtCqZQxKkG46sJyo
 AeCFKACfdt1c5n1zk70n2jTIEBmyRMQTBjiIRgQTEQIABgUCQLQbvwAKCRD8bXhV
 Ka6n9kurAJ9mlD485VMjlFMhjvpgPUmi6lhRvQCeMkvghXcy129LJ8f6HrMbF1nY
 d0mIRgQTEQIABgUCQPgeyAAKCRCgT/sbfcrp04KkAKD0WGdrXoOL9O7PU59gmvsP
 QxfoowCeKjqCwWNSvfc3hvaqL6lqQq1Y6Xa0H0JydWNlIEEuIE1haCA8Ym1haEBm
 cmVlYnNkLm9yZz6IXQQQEQIAHQUCQvLyCgYLCQgHAwIEFQIIAwQWAgMBAh4BAheA
 AAoJENjKMXFboFLD7oYAnRRTp0GejwRmem9u8GQV6VLp076KAJsGNKqwweGFa8cO
 91bpzUemGWQGU4hGBBARAgAGBQI57ofoAAoJECAVMdWEXf7dN58AniqC0HLEPpB6
 ESefyQKpRVlpTcC+AKCIy2WFq1lAksYB1/dYMU5+wzxikYhGBBARAgAGBQI57o1W
 AAoJEIjhex385WVh9oEAoKmQIWf+hxmJf7IskYAzXUEUi1wRAJ4zFYwo04eKV7sb
 DHXPHR13pfZW0YhGBBARAgAGBQI57o1dAAoJEBj1A4AkwngCtb4AoKY5S5sCQCbn
 19SraaSTPVBmImyfAJ9fG/FSYHCMNt194t9uixewoBCLrIhGBBARAgAGBQI6znAn
 AAoJEAn+vxCCmc2zF+UAniGDl8pHwSOuJxDril0p8Ko/O7gUAKDaRn6sGz5erDxg
 Rr6A/hDaNEyTxohGBBIRAgAGBQI9B61KAAoJECH5xbz3apv1uekAn05MpMaRgtCo
 o1E6pI6boqBpxeUmAKCggEAPwXKNmS9m2unaphEZrXbcpIhGBBIRAgAGBQI82X6B
 AAoJECo2sboILs/FqOAAn1DgPNBWkQJxsWCDYAWG1TIi6LkKAJ9302UjWqTlrRUz
 zFEpNb3/7tdtvYhGBBMRAgAGBQI9B6ucAAoJEEbtrfQ1fWX7W1AAoMkkgs/Dnrmd
 v3jS5D5bZWDiF/0xAJ0ZlQdE1a6x9FuBE31sGPbZJFjaG4hGBBARAgAGBQI76age
 AAoJEFWW3Qzpv2U9er0An0G5GRcbYPhxGXelUZA7i02+OqeqAJ489xEd+M9/8XCl
 ot7bYcaAIKPiwYhGBBMRAgAGBQI9B6v8AAoJEF2Oi+nyOBrUFPEAnAx7C6fu2geu
 1x+EtwtnIQehhLhBAKCrTji0qZFeVXngqiW+8SPpAodFpoicBBIBAQAGBQI9B60v
 AAoJEHxLZ22gDhVjGKQD/1V1M+nOmEXulqfoNynqnFKN7oafzPLPzyEvJQFc1X60
 Agx3te5E9OgJhYLqleVC4tPfGoiqCT68f7nemh6QAMu10iQoYUPL07ux6jIMmEPe
 o14rEb58AH7RS65qJdpK9v+18kKP+a8+huLERtYRPzGffMCReZ7ertNfidK1EDHm
 iEYEEBECAAYFAj0HnwwACgkQtNcQog5FH31WnQCgkmbUrptpXjcrPmkP3rROGHs0
 TycAniYxzRdqIWx47Iaj7dLuxcvTHR7oiJwEEwEBAAYFAj0Ht8gACgkQtoTxfMEK
 h03OSgP/TPpnQyZVwCgSIoX/Yz485VgXNfEIyoojai6TMwnBLCkp++nNoIf5Dcba
 xHx97g1ojCqFZ8hvOAs70JBFQiVhgREn3GAcHR8VXLapdm5CTnOwF1GPfB3dHcxp
 FrRIHwNSbM8gyx7/MBYOCOpxArdDZLHSLns3CKEeq3JzgahbcfiInAQSAQEABgUC
 PQetOwAKCRDW4KH+T74q3Z1sA/4iwg4lSmpFBG3GIjreoth2SMtRYHvnK2QpklWl
 0/Waz76mzUCZOW8xz+QqFvhMPy7pVI7w4QWnlZI7BMfLUWDX+jlTIg9Vq1f0jXaw
 4j5ESYej6X02Dwbly+kOMuCNf9l3BFTBqGOWziPsZcAHsZrqhgOT1korNAW86NYc
 D3lFnYhGBBARAgAGBQI7qNniAAoJEJ4dB2Q3giKoFjQAnRb/8lYs9iMgAGcq3SxI
 ncT76jcCAJ47SFXq25cZHXv8w/40OVk7ZMZGCIhGBBARAgAGBQI9B6nRAAoJELVS
 sEN3OQXW3KwAniOhY0yPMPcbq8/BaqcEx/cvuyioAJ0bvD3UIQKHdzJlusms5sjn
 njzG7ohGBBARAgAGBQI+g3WkAAoJED980pFG+s3HyKgAnRjkDaG0eDnjpYwomKYA
 GXsIjET0AJ4o5ak1vZNDAqI4kg1v2C2kerYybog/AwUQPooWdGJA5uuW058LEQIL
 SwCffrvSiLVs4zeJQKDCZ5/txijnyeoAoI4vJa0WBSMP1Tb2o0ANYe+4GHAUiQIc
 BBMBAgAGBQI/LxvdAAoJEB1i6ck3bc7HARIQAIkAegb3UmnTmQXWE1EqFNokRvzH
 kJ3LRszOZBv1ZTq1bPiyeSAaEgRJWYLf7q8nkREckqzBQ3ISXn8pj+l2S6z8d3FL
 nLotTFRQZPemwasw6XRvaIdL8MEnssAyHGTnQsQEFPFUoHJrb1L55I24NFoMLDlb
 S2ar6Gm1vWNRuIw2z+uh6zAtosMUWMp3B3LOhSjuELIeulojIzPY6FL56Lods0pb
 Sc+2UzaKUcqqaczijaC6uzdoR3Zt+xZk7GWsa6zfugBh5UcU8kVr1l5YvfMlzGAP
 s7QKRvCfgJN+YINcw/CazGE95ixdY0FLQGIfskeQUtkdiJeD45wVNUsYOBAbZX2l
 KHE3wuGO8LS2JZZY0Bj7T0Pw0JdHVf0AvallMPv0xiFZf/TfghBiA/RG8euwdIqN
 0Q3hQKHFSxjvH8jQE/sVPiwL8h14nUd5XwfgJgIgP2blPn75yGpAXrVHnjDEH1VT
 DGfcbKEGSeqdYmK8eJOOFbs5z+XgnylOAJvwDn38Kn1K0hI3B5XyVlH4PzRRNvRj
 2kppJBbNTgwdlWHjHdyUGASMSAlr2jITuO9LwO35mFhSdqk9eDNBukXv/KF7+pz5
 agJx7Lu1PLB8ia9rgD5ntAUr1MJbi1R0+r993+7ngvu1ROjiUrs6zolXBHcB8G2f
 JVHjWPhAC7TJFbQmiQIcBBMBAgAGBQI/MUjCAAoJEA8nTSGUj48Gm9kP/3SJUz1x
 ZkngYsVM05hcICWzUX2bI4QtX0FRjDEC7gK6ta/pgM1ZMzorJ99uT7gZk0aLcnLo
 Rbxn85iEZmg/bPcAp2oYkjF/9tbFBeTcHHQsiVwf6vyskVAQhnyRgHamhcX7RxNL
 pQTUKEG9KLEmU4rf/FwB8RCMbSWZUFgUMgr1GGcR+Sa9Rb92OH06ihrsINJrV8hL
 LQhoSj9JhOolTvf0gZ/D/YqopFZfmcB4QZefaQWNVRnv9lCcT0d889iRQLGWvkZJ
 9+nbWhjlileo9soTGg8ejb4Q/jLRQhYD6oYYqJ49pKf78JX30TEzIo6dQIv+rTK4
 ngcMEOUaK50+YGDEorVS8lZQbGYYq/SMfprxqfh5MT5YfXus+ur9fhLccQK5uQJJ
 ebDWZKEXDdObEECOLWSS5Q2MQiyXQ7qWe27kW+dZWmsDZh0AUtvnoA5F92EGpDaT
 SXCdTWMqpPQyhsnRwxlZp13SXGGd81ghePYvjOQTJC7eSGHSmMROLFQZk8h4dR1Z
 1HOsBCUktAvxnq6cxzVWf3hOzQz4W5nuBFiIhzac+5ulDpV0S090a5tKkLrbXd7d
 5rFg5DyCnT851Tp140vxOmEQG8HbS5c0Z1hgWZ0TKnvred6xZQ0DCXmCioypAhZY
 es70lOIxj/cGT1rgBFtLbxhc2r2b2YDcnZMtiEYEExECAAYFAj9hT70ACgkQTyzT
 2CeTzy0hBQCdHyJJoRGvB3/u/iIVqfi2ZM57ddEAn0He6pc/KPyGKaV5d5xOicLx
 25oNiEYEExECAAYFAj9icMIACgkQyIakK9Wy8PsEJACg4gEPwQZasvNK4uqjoo71
 1FJhKwMAoLKbekzTQVTpvOZZKxQGm9cDXgthiEYEEhECAAYFAkAyi/UACgkQK9b4
 h5R0IULLXgCfVXab0tlOszHsKgX+unjuB9b0YGsAn1edz54snUroRVUozB3n2ge3
 gyNoiEYEExECAAYFAkC0G8AACgkQ/G14VSmup/YoWQCfYz431uqel/Mn2pW0jjZo
 MTQPka8AnjrRTE1UjHjccclw/mGTAtLczG+giEYEExECAAYFAkD4HsgACgkQoE/7
 G33K6dMULQCfTzkkq/YAIfoz7OHd4IuFwa5t8K0AoJxlmUIYArFopHXPr2KmcYNI
 nNRetCRCcnVjZSBBLiBNYWggPGJtYWhAcGFja2V0ZGVzaWduLmNvbT6IRgQTEQIA
 BgUCPQenhQAKCRAgFTHVhF3+3dkQAJ9HV17gMTtF08GgPhzgRwno/rVDGwCfcQlt
 3xdrwf7fSFutTLT7gBVjvQiIRgQTEQIABgUCPQernAAKCRBG7a30NX1l+wnzAJ9h
 MZblSxpSVfJpV+53wT4uCXgjCQCffIRsBwN7ZXoP7mzL+LhrHIza3IqIRgQQEQIA
 BgUCO+moHgAKCRBVlt0M6b9lPfGhAJ9/dUFlRYJ91E8FzLkXn/SgZKQICwCeIjWn
 VYKiUB+Y6FSR9sCKuwuV7xqIRgQTEQIABgUCPQer/AAKCRBdjovp8jga1G10AKCH
 E0/UNcgqwCPsZJLNkCGpmuv8OwCfbYofO75CuMTpzLwKdzZCYDTD+AKIRgQQEQIA
 BgUCPQefDAAKCRC01xCiDkUffWbuAJ9HUq/wpxw47yFLDRZ/2HtPBRVWyACgzFng
 1nf0U4jm+y/5+G5Qtcf3x5+InAQTAQEABgUCPQe3yAAKCRC2hPF8wQqHTXt4A/9x
 WSjFPrA9rKYKj0Kn70gnypK++fHMWnohTiTA16D0BPIITNnJ2ZDgpw4e31GjbTgc
 NcNAJAZD4f93YLLEnEXN9ihXIFbrhisRe8rnq6zWjZvPUMf94SNCCuGVRj/V2M6H
 Nx46mA8r5Ejk0bVScbjD32e660m1hOYc7ye7dtA0x4hdBBMRAgAdAheABQJC8vIK
 BgsJCAcDAgQVAggDBBYCAwECHgEACgkQ2MoxcVugUsMDkACgnWY9xvPaJXivvJrg
 VgA8VCW8OBcAniW2PlA9621xD1dar8JGR8T6xF0miEYEEBECAAYFAj0HqdEACgkQ
 tVKwQ3c5BdZEMgCfVGP+zxgVXC2/8ifhVX6QT5fxzIAAn397V9V3sEq5XVgHksV0
 0meCdlHEiEYEEBECAAYFAj6DdaQACgkQP3zSkUb6zceLVgCgh9HH1APmMYyJpMQe
 RhYNELOVANsAoLAl3qmzleaa+3qxFlsrixYSy7g1iD8DBRA+ihYgYkDm65bTnwsR
 Aj3zAJkBvIdL2keRqSuM7m+MRNzSTSfbfwCgqRdVGTfwdEat9BUNgiAUH+GySkyJ
 AhwEEwECAAYFAj8vG94ACgkQHWLpyTdtzsf4gA//dii5I6XCQ3khpmLQyNJTkGfk
 uTRHtAPMDyf6mJHnv/15WXA9ID4ORFi8qAAgvYasc1sfTa+Qd8oL8R6JmnUDV8Mt
 dlsFqfgYnltBERdx2NSxnDV0QyVIRApiwqCgMYsTB8mARXRTfo3h0oqSEOvSFzx9
 WCpU/Kb283qHPtvKh/ZfjdtNVHqVS9oNfg5db36LRx1ayWZxDNW4dq9Q7pohlcR1
 kDPfcgdWWiCPWZSqBRHXAq9QnFPqKdAg4ctIUPu61CCb7iHqMEBc6qT+XcMyXAWB
 L3T+6qmEcZ9AgQmRIkFtwG/IoS64uWZYuLh1EmsnMOKuEgtyI5Ujt2b86zz26wga
 hGsUSH7TCojVbQG8Agnr7FsjNoGPqs61KmRN1L8CA/Crt5/unUMimWlDVMLP9CD4
 ChgSDLK5zMisF55GV51j//IkeGuJz/ueXBVx0r0bgFvxCyR7G6NAA4H/AoQ3rrxF
 f4QYNuAdXGjAmuHc8VtTAchWlThACieLp1fn5GcnO9z8l6j3fzW6R4XgzWfm+vkf
 C93iAy6ZRLTMt21ZSJV+BUZL4/lKCIz5SxLYnN49tZgzqrH622Kkt8eT6pxDuUxk
 MGs4n9bu2FheKOZRAXlCbQyA6B30TN0nHVpJFRDZRsfT51LbKD0623WzMwXgDyhL
 RRO7OY/vtLWWlXUl3d6JAhwEEwECAAYFAj8xSMQACgkQDydNIZSPjwaG4A//W231
 JuB/SFIT4hfo4k7cAt8XItRbnechv+7JNxkb8D/NiflXzqOjsJMFFPifaGnfS1d+
 S1sdpFQ5riHZR1GZyXPgO/zlcNus+4u3G1Uy/AnO+vq4o637k53dXYXedm7VO1fi
 I9S44VnTF1UZccvrUxrNIlewpODNqSUnQ1B9MCviDQHM2B9GHvLvGfAYxrznFh9Y
 rGWfz+vPHFvTtBf50rjMnlBwK1/obqk7DmtKz1wFnp0xWndSGkccrvYzAL4yOI4G
 5C97LC9YNLnMnptJvf70cqGM90hdRy8l0tIvcEpxz2uNZE264w7jzsFxYBsGUu7a
 oOLqDl5a0zXnKGjBQiA2Ny4oT0ClQDUQXyg1pgqyV6gjeQUrU9kYRDugPvohItbb
 s4KBx48XF2IJOtM8GJ58uWc5RN2NcbDzU96a6aEWq1lZpIQ3dedLLQ62aUyjuBgw
 aYYOmPXcCLHd1KJ+Q8nM5VWISdbvLePg21w1zMMjCn4x3r9NWRvgU7RmE0dkIAJg
 3fYntkMEhKJd3UOI/tKkPXumoSeh3ZeKY9kX057km9SMbd6Ta+2aAmh+j0XsECg6
 akZiIdTNuENHbKozvsYn/aVIV0Xa1EjoKZmNmUkwOHO21N8chOtNpF/q7eVTjN30
 P4Byvv+qLgvDRv/ttIJQR6JwL/L3l/9+RC3T3mOIRgQTEQIABgUCP2FPvQAKCRBP
 LNPYJ5PPLeiXAJ9+oDmohcfCjbKbXHnszOR3dEacoACeJ2MC6nhSrqZ0H4Mqg8TX
 GoXZBOqIRgQTEQIABgUCP2JwwgAKCRDIhqQr1bLw+/UmAJ9ZxwlnixZ9FrIGoaQp
 f2y9oH0UkACfX2gN+UdkicK//Te5SLwjHkdvwmSIRgQSEQIABgUCQDKL9QAKCRAr
 1viHlHQhQv30AJ9FzYF3Q+psI9uajSM/MdomZpxB5QCfZ7jyjoqsDeyyj8FU/cDl
 AylXwVmIRgQTEQIABgUCQLQbwAAKCRD8bXhVKa6n9lVaAJ93WH9Plcc3xGGcOYQR
 16lRm1B9sACfTSdPHcR6MXYeeLldvZU2n7/tOWWIRgQTEQIABgUCQPgeyQAKCRCg
 T/sbfcrp00t0AJ9FGpwRmL8LbZ6CcCXF2lZSJMWcjQCfVnaL3r9G5CiIX9sUgJRs
 xwYImd60IkJydWNlIEEuIE1haCA8Ym1haEBraXRjaGVubGFiLm9yZz6IYAQTEQIA
 IAIbAwIeAQIXgAUCQvLyCgYLCQgHAwIEFQIIAwQWAgMBAAoJENjKMXFboFLDuzQA
 oKEZtOMMcFKq7ixTgwkHxFrm6nJkAKDSDBEcYqitXwC0MRCu2edscFFO6ohGBBMR
 AgAGBQJA+B7JAAoJEKBP+xt9yunT3tkAoPwLI9DEnGWnH/WEBino2z2kiZsWAKC6
 hgXGRwa8Hhuo8gbEFAYM5jvVRbkCDQQ0jHUuEAgA9kJXtwh/CBdyorrWqULzBej5
 UxE5T7bxbrlLOCDaAadWoxTpj0BV89AHxstDqZSt90xkhkn4DIO9ZekX1KHTUPj1
 WV/cdlJPPT2N286Z4VeSWc39uK50T8X8dryDxUcwYc58yWb/Ffm7/ZFexwGq01ue
 jaClcjrUGvC/RgBYK+X0iP1YTknbzSC0neSRBzZrM2w4DUUdD3yIsxx8Wy2O9vPJ
 I8BD8KVbGI2Ou1WMuF040zT9fBdXQ6MdGGzeMyEstSr/POGxKUAYEY18hKcKctaG
 xAMZyAcpesqVDNmWn6vQClCbAkbTCD1mpF1Bn5x8vYlLIhkmuquiXsNV6TILOwAC
 Agf6A0oIHx7GA/Wg+7Xy+rZVKyrOQ+bxzDQbpNNwDBP5mZ4NoG6tgX9LLpLkihRl
 mL76JsNHhQxaSHOU9mjmuAZgNVlYRE+O/fTIlLkRrBkgn0colEMy0EFx8/UsTPu8
 j/RBURcrAD+ony+vXyl9cb2HEfpeUWhGQC/WdIhPwRKCK2fIZ75Szjkd4tgD9+yY
 UEfGCbpw7bRwqHRDEdVy7qx7nHcTH5Xq+vdqJ7ZlsaNMNhDukS3RunILkTW5q9We
 W9eabSSyY4uCY81YP2bRF/U/FPM/mYbWNUELgSmN/YkSwWLGgfjcCObTwgd0FOW7
 XZuJ71R7ytBEn5kDt3bcvULsB4g/AwUYNIx1LtjKMXFboFLDEQJ3lgCgpRxakeNI
 vUps4fdR3nZq/MRKTsIAoI5BR4LrbaOwqe1M5HlH1W/jDLIp
 =D0KC
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.236. Ruslan Makhmatkhanov <rm@FreeBSD.org>

 pub   2048R/F60D756F 2011-11-10
       Key fingerprint = 9D18 8A88 304C B78B 8003  0379 4574 0BAF F60D 756F
 uid                  Ruslan Makhmatkhanov <rm@FreeBSD.org>
 sub   2048R/B658C269 2011-11-10

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQENBE67bzoBCAC/blN8XOxBx7pBlsAAwFJgxYOSYCw4fTFMoyoUBWEHuq0LcNIn
 BO4CqVyCiWcwMl/cLIh/1OHLjpU9orNrMSnJGdCvB2FAFYNm204ZMi3guRMe5xXZ
 zvxSa0v6zQtTRCEs5ny44XryxbZkPE5GGgyd4+sZVAcW65SX8hbmoIvL3v33Fq1w
 eom0nYBxU1EDIwZMl09FWaL02vBvlbSh3CYvmDTS6WD2t1ItDxhUG06+zoJs2YCb
 6f+iUk3ZLYon06aX3VB3lmT6ffSdAEX6uT4V5NJ0B60xhQP7WAEmSm9ScbnFIme2
 jpZcun5TKywwm7OSyOk36Z3EQyyxOSHRNJ3nABEBAAG0JFJ1c2xhbiBNYWhtYXRr
 aGFub3YgPHJtQEZyZWVCU0Qub3JnPokBOAQTAQIAIgUCTrtvOgIbAwYLCQgHAwIG
 FQgCCQoLBBYCAwECHgECF4AACgkQRXQLr/YNdW96jgf+Kyc7hvCTNlkisTOAYZ9+
 9n85WGcPLO+vyZJ6xlP41V02opzCjCVrddz3t4sq7eCFw7DTSIFovC6Cw7rAWgx5
 pa2idb6fhk/DMUwpd9I9CG9dm41WBWVkxRV3KMYyF2TYwH7VgL8KdvX1C7ZkD39V
 NKWHcSPwWxCEnrvfcGZz+wOHeZytSeC4Gpd4sEnAVj0HjulLXmF4YHN/cNy9Zl52
 +Pt1iSzjV5WJ9ywbruhOxQ7B8q9DQDveWdtSMbaZNzW8JHlj+gy8Ww/UvdsesjQu
 NE6Tc+QPIigBsx+MTbAwByDY6xj9OOCGNPeAxQFjNpz+iRS3Yuz04VxMy+z3cD5t
 YrkBDQROu286AQgA5FORCn/VS3x+aUO0zAHm/WmTJZFRxrmdkDexFZgxuHjidGUU
 fbGzvyu/1fRtft/3Np/M4aRpSI96qbYXLyCeJgQjNp36YRKqJkBiPBDQ9QLZpP6L
 nJn/NzF6/5pKLt+Sg3SdOV1x/4t+tkmcMa2+Y+yEjd9YWE67Cc5RevfO1As4B00v
 jFTl5LWxOc2kzVoB4OxxOLCdj/2zkIyxEPe4z/KswGDQsmsAfivHVcT1Kpas6Jr+
 sxCwZhSNy/BSuYtwHqGV8xw8vZlJkrOIn25StwW7hVf1oNYQnwTSBRwGnU8WVsqH
 /2VfIatSzoJ9L5EzoVjkgNxQ+9T5xrqf8G2ddQARAQABiQEfBBgBAgAJBQJOu286
 AhsMAAoJEEV0C6/2DXVvDjcH/1/sV6J33aR2Wk4fT8ChWWuUl3Dx7CnDUuCvKo/v
 oppP/bW473lbV+AlbG8WUpsCUqKy5WkU4uHjSfp3F1UAPDBTU0lgcj30jr13sGLH
 n4+WReFFZfDIwIBWNHqbLmPHEG2jItF7ssxL/nsYqTo1UWsI+3fToJX98Irz0PXL
 mX0e8pWdDe+pR34OcYDRB6Fe17cKE/5wpVSvd3+YZ7AYuq5wxfwvZVdOhcXSnWS0
 ksMRQMkG5A6BEY0ZpAZWNwRO1TcVqEJC4L6ujls1/sZEOIKSDj9UU1OC4tQYAsx2
 /yW99HFkq/4I+yL4zFzmqPug4j3GXKkNGqFNmExVys5uXv4=
 =Ykam
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.237. 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.238. 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.239. 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.240. John Marino <marino@FreeBSD.org>

 pub   2048R/A0AE6229 2011-07-19
       Key fingerprint = EE48 4F90 C861 3A5F E39E  AB9E 33CF 4190 A0AE 6229
 uid                  John Marino (DragonFly) <draco@marino.st>
 uid                  John R. Marino <john.secure@marino.st>
 uid                  John Marino (NetBSD) <marino@netbsd.org>
 sub   2048R/71D9FB68 2011-07-19

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQENBE4lqeQBCADCjJjZRgrwytnQ42fHt8yCRSRu/4Qd3OXx9ZKNOhpqzXwWGw/Q
 P41zJj+gQiCcpMa1mqoAUJQLaq/+H+Gy4oYHGQZiRa6rOIyxJaFqJP1UBfankNv3
 Gj9saoVJnnay2m62BKyHE9kclgJ2ujg0cOmUDB/RuPVUyyCOQnB7MU4iPpydrw+N
 9xY4fks+cTvzT1/dJqYx8/phMHDrRBie81O5rkz6uP9jDJhCsObVZbr3zvBulzzb
 GlxdlskIZAPYdqoHrY2oQZ2iY4QSP9MYAbLJV0dMaIj43vlthsFLBH4bn42WlDkA
 aDux9+kFOHtoE9p2PxkLRcnC9Atqq66rxDc7ABEBAAG0KUpvaG4gTWFyaW5vIChE
 cmFnb25GbHkpIDxkcmFjb0BtYXJpbm8uc3Q+iQE4BBMBAgAiBQJOJbG4AhsDBgsJ
 CAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRAzz0GQoK5iKXlzCACOKoqsG4z5G7u3
 DyfPNSNZlExgjNjnF2PTSPuT6fP2VV8U0sJfXT7aWWQ57XIeB35ApgN7a9X0okJ9
 Pfm2+yTHY/OGJfidVIoEpq8JsCsIq2SYUFT3qAYoHr2dEnZ10KRagbfxYgQVYAB+
 tbBociJfHYgfPI6+LTa72nHe6W9v522kLRQ1BWHf4ELrsVTySOIOd0ecAhFW5hsP
 6nBIh0+zRqSHl2qoMl1tukNEcCPuaZLSuLlyFPiC3/H03XD7CIDjTSucuRfxXJfs
 ggq5iNz07qTraTZee7UtDXzilfZ+ybUdavzIC3eER/H+YLX3Lh4OFr8SBXODD4VR
 jnDWuPPSiQEcBBABAgAGBQJOKT8LAAoJEAeVGKMo0YKet5gIAJVsQUUDQKeuVXIm
 Ji6/zaP2whlCwewtNsf3uGWpQb+Ede0XZ+fb9O9uKHqkDaawgCv9JT0DHFD0H/LC
 PlFSax0CoGgjFLIjuUZtVUoIYrooPYDWHSMsjKQIJWq83ZxSjJcPDczc0E55XYd0
 wn4wlXRQ8EzyROi3o6ewEWb3OTH7ivQY/erKXV004BabkzxP3ta9HRLzZljNKrU/
 V1e7MiwZ7efaWZaa7KL2b6V+T49RnWISVfPvyWHXNN/rw3fPFRW0yHVZANic/jXO
 6lXEz9uzfbofT/Gc5Hoj7BQFkA0eDtZ+PhsgjiI3IH12PXmDmwpxgl7p0Db/LTXp
 lMbNjg+0JkpvaG4gUi4gTWFyaW5vIDxqb2huLnNlY3VyZUBtYXJpbm8uc3Q+iQE4
 BBMBAgAiBQJOJankAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRAzz0GQ
 oK5iKcnOB/wNzXabOslWeJyJpktWsrGEkwvLco3MTI9U7g6ywmUfBSsF7VNwQT7t
 4sXp3xIxxPOwa9EZUc3rs9tnjqgzzFOtkFxvxHCnfwUqxDFAXQXTgFeaZUQkWs1e
 tFA9PnITl/CjGH/Bzl8ACfGJ057r246uiuyEmYux/zQTIteysZ5E/2rH7PJUJWji
 yL9Fdv8EEXvSD/fn8XEbhFgY0iN47YnGbWyDw+kA4ufHyLFHYx96SN3s1Cfr79+f
 cU4oU/s3P5u+U8aFLxsjtu+UxEDxLUOr0U0oKF6dmVxv6N1pkJojTLRoOEieW01R
 9k/ee/aXWNTiR0G2s0TxwoqDwG0F/E54iQEcBBABAgAGBQJOKT8LAAoJEAeVGKMo
 0YKej3cH/2RPTukUaTJ2MpRAltPgLM1eQDFDAw52lLvHd7fI1c5DYOjQJVASaGTS
 phyw8/6gc8RBhkun0zHi+O6WX4PlZrMToeXtmUbtBQ3iildjfcE5+EGXBTgZNuea
 7aLA5pUQ20k9cRhUx2imxM9U+z9+DYeXb30ah2dXSlOTVebkGPvEw2VVdn9cHK5m
 741S+UalpHmRhFKB52PaQjuJcGGDbcMt6gEIG/VaA7McFqm/0y/n78Tcvc6o5+pA
 vp8Bg+y98FD3+4Gl7mKa5OjRNRz2XDsAcOaXeBElYyVzsCgMExNhhPLmcbuYN8ZV
 ST3aQ9ukKTSW4ZDp3UvTPKa7VHMkZA20KEpvaG4gTWFyaW5vIChOZXRCU0QpIDxt
 YXJpbm9AbmV0YnNkLm9yZz6JATgEEwECACIFAk4lsR0CGwMGCwkIBwMCBhUIAgkK
 CwQWAgMBAh4BAheAAAoJEDPPQZCgrmIpHnUH/j6qMNlpMdn0zd41bJQLwamCDwSO
 kN97v5WfzKhwhxhRjgoN/K81sU2JXdibmwYtFVTgdD9cucK+7jdOSC5AQJQuCrcS
 UzeONPnXZv+hq9qP4UZKxNfvYT2u6TDSEeYDWpSm4UiQXLJdxlf7w0y50yHTq8jF
 9FmcF+XWCcj53YaEFG6cHzFC0UZWltRzl5nK6DlropS0DJWcGO+x+WhrKyeSZ0+E
 v8N48x2E0OM5nDNZmG5NttnLUgNIAN2xyGHutmRSdVN650e8A3LociwfDdY6M/SD
 j6jKa2MJoWQ2rYVVNR5xGj0Ghn/+2GURZwxaDPWriMvTb0cSzccvDLS7XgiJARwE
 EAECAAYFAk4pPwsACgkQB5UYoyjRgp46rwf/XQTFn3kM80mFf2J5Y301SlOC2RwK
 K84rL3IskFRT1GEUhxhmOdZDzvwC1dyqHiRj517IeiSbmjP+KTw3lUEmErjsnD2X
 5fn2rM5DVrlF6R/dCjJ12GgqBJG4quuFPva/Fve+h9bHW84bYgjcX9J5jCzp0Otd
 0uqZMg2OPxaQIJknho0a/aDtDh3FepH79mQUjybGrASACOt5HMgzoUpchm1bE2mL
 CVw/Ge2n83mTNJWAMT0Ya1QCMtZofa0PSGAW15h4TqjIYQ6mocJ0/7Ugggb2PMME
 JilASJdwBEa1RqsLCzI3RTH5hhhCuLJwI9uPRrXc6mNZ6JWBD/7KfIArobkBDQRO
 JarKAQgAt5aULAv8fBdhniQGT1hfSHgj2lFFA0AkJj3wifUOun23u6dcXCrk/9PR
 SZQcf5tPhp3egCm0JaL63MQdSNL/JUuG3zOBE+OnYAfhUTNWLfWnZkKdyjqw9Edr
 ztsiLTTlkMowrZUM4gmH9EP/rnf2WvDuZuTTG/gB4gQX5nCADKmoK4pphE+3ka44
 4GiIMcEAQY8GALBCpz5oi/hC2AMbN5+1jchqx+yDUnoOaRTFxmHo1yWonbrya315
 lIWI7YLXycnK9QDLCJsKwMRZWoJ3XnY+/3jwi7dnZ2LW6yf05hfPcPsxy/kVpIS9
 qLtr8v4Tl7Iz/2pooJQtUu8raPki9wARAQABiQEfBBgBAgAJBQJOJarKAhsMAAoJ
 EDPPQZCgrmIp5eoH/1WmNDoPvSBZDkLwjEPhb1uFDvmttGAeHsrcyzvan/C+vo5q
 VW05AD0P/pdz4qjmvH9ohG5DAqOkoORbOysFd+8cCCYScCmG7avqhfg2sAezXdpv
 5LGtTTrQIBNayERkCm0pLaIypE/ExWKUv+cnZtsqONzADLBwgkGO1DcpUnmXaQ9P
 MHPu8AHPVTttFHrSOgPSHc7X1B6j/z2AHzR/l3LG39w3K+v4WQbNHg279eyDQCQj
 HS7PvfnPkKP7ujgmLA4ccjZnuPzpDkGetLs/CKWhEoKd/bqle+dP7D198YGrdGky
 Tm94E0oHtw3FC7U6Z1pZtMs8W7h6lru1dCauFP4=
 =g1mW
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.241. 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.242. Ed Maste <emaste@FreeBSD.org>

 pub   2048R/50A17BF4 2012-12-18
       Key fingerprint = 0C08 ECC9 3A0A 8500 AB95  B553 49C4 7851 50A1 7BF4
 uid                  Ed Maste <emaste@freebsd.org>
 sub   2048R/08FA5F72 2012-12-18

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQENBFDQkJMBCADPPfZXZY16ONN40Z6afHF3hxGZsczwVUQ7qlNQzjfvUk5MJV7H
 VeKpLAN9pHLk9tg2xTXzcMbGe/baBQrw4kt23SwvQ1Q034nRcolio6rx4sq/E7EH
 vxRmwCgn4n/g1b/S8xzcXqFeDpdhY1RAbWdpQwscaj4hSCEAo2KrJ3tlsZqVRu35
 wKAW5eVlrPZghi3jTPQxzdz4QNqLFR5aQdp5MrxhKcm6rnC7JeyuLAFruWoHBoqg
 5P8dKjEMNPBzIJdWC2iEWqsiVOrJZ5YbCpZtbPlM82oGCUoC1QmW4kip3BJSBAJK
 wZlwRvHiMbjhjDGJaliHVx8G8NiJPrdDZlMdABEBAAG0HUVkIE1hc3RlIDxlbWFz
 dGVAZnJlZWJzZC5vcmc+iQE4BBMBAgAiBQJQ0JCTAhsDBgsJCAcDAgYVCAIJCgsE
 FgIDAQIeAQIXgAAKCRBJxHhRUKF79BotCADC09bvfZqcpiFH3HeQbH2SKeK6vNpI
 v1Uoib443EBajOKw19JkjOmPzwnFrKF1WSXrKYpp1iwUlvNgR1C+nMeGPOQCtLzU
 g49uuoC5q6FdMJIdYKjbVziga96UZme6kuSUUdv5/aumEuOfVvHewZQNWUdq1zbj
 RuBBesSKWULmUW4K7cBRGGvmAqIpWLL2lmZheT3WHzmLIwwqE4Xs8sgfijxxXrzz
 tAi7NVVEbOtDxlKZYINKXGXm4xfomuY4eAg+pCH58kEwgEudEspNQP+axJ0Bovh5
 yq7cVm7zHbmrxSWSzLjAfprs84m3XIoX9wzlit2tydUbQxlALqcqpDffuQENBFDQ
 kJMBCADODYSrW+MNgYsqOZpg7hQL+oWPak+DJW+mAe93D0T6iS7g7ZDX7XSSl+LE
 R/9bLa6alA7qXDJFf41yl9Gw7vP7k5SFAT0mukffR4wiXqsTKcdGj8LxV8JllAQT
 h3r38gNhZRDr4UQ1MZxWseeZx6myj8vskCiv4Rd0qEOlOE7AgiJdUdUoVLnjZkDE
 o+UbOhqSfSCWEQNItJ7dRGsmxGAUH4pIZcdu4NIYINt2yNIQCO/NTDFj80dpIWxt
 Q1BNqL45ZkWG0B3J1j4tsze7dGvWnXZfJQyvTeNeSg6WteyqQSQ98WgvFQkWceUv
 1ooA5bHG0xAtg2OI4L2ZvzLINfrRABEBAAGJAR8EGAECAAkFAlDQkJMCGwwACgkQ
 ScR4UVChe/RV3wf9F+TfpN7DC7m7+5aACXpDB86xCSGG4COtSyU8Gs0tgS84aE/b
 KUCdRZOwvz5dHAQUaPcgRNuNYscu2aAN4DYdPWrU59tn1s6+xYvWpgkzt+GGsni3
 gsz7vot3vUEzf7kOMV+NgdBEEIKgUT3TuIU5wQ/fevYGN1gdMeXiYSJ+PSfaZWnr
 Eee3zGU6TtR1WUgjQLoSdvDPzsFaNYSbCGYKXwSQOw7ysp1tY6Wai3teMb1Q9YNe
 BpQCsjEhGSuocr1R34+Nvmo6OcOpSeqEN3XRlz4PIGcXUY9Jp9gtGBSeFLasihfC
 SDQa/FThS6824wFQfaya638NZbjhCzrtxx4gdA==
 =aAkV
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.243. Cherry G. Mathew <cherry@FreeBSD.org>

 pub   2048R/2D066FE1 2007-05-22
       Key fingerprint = FBF1 89FF 81BB E1C7 6C1B  378D 3438 20E9 2D06 6FE1
 uid                  Cherry G. Mathew (FreeBSD email) <cherry@FreeBSD.org>
 uid                  "Cherry G. Mathew" (NetBSD email) <cherry@NetBSD.org>
 sub   2048R/7B2C4166 2007-05-22

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 Rg==
 =lSy5
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.244. 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.245. 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.246. 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.247. 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.248. 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.249. Julio Merino <jmmv@FreeBSD.org>

 pub   1024D/B889BD5041AD5625 2004-01-01
       Key fingerprint = 6D6F 53EB C86C AB33 17B5  331D B889 BD50 41AD 5625
 uid                          Julio Merino <jmmv@julipedia.org>
 uid                          Julio M. Merino Vidal <jmmv84@gmail.com>
 uid                          Julio M. Merino Vidal <jmmv@NetBSD.org>
 uid                          Julio Merino <jmmv@NetBSD.org>
 uid                          Julio Merino <julio@meroh.net>
 uid                          Julio Merino <jmmv@FreeBSD.org>
 sub   2048g/91A5E9E695283F9C 2004-01-01


 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 mgCfR6B/doEGKg+jXNlwd4MKBkm6roc=
 =Hq2O
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.250. 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.251. Mark Murray <markm@FreeBSD.org>

 pub   1024R/8A13A2CD 1995-08-08
       Key fingerprint = 80 36 6E 40 83 D6 8A 36  BC 06 EA 0E 7A F2 CE CE
 uid                  Mark Murray <mark@grondar.org>
 uid                  Mark Murray <markm@iafrica.com>
 uid                  Mark Murray <mark@grondar.za>
 uid                  Mark Murray <markm@freebsd.org>

 pub   1024D/FB57D793 2000-01-20
       Key fingerprint = 3FB6 3D12 0CF0 611F 0441  CD18 CD0B 8A35 FB57 D793
 uid                  Mark R V Murray <mark@grondar.org>
 uid                  Mark R V Murray <mark@grondar.za>
 uid                  Mark R V Murray <markm@uunet.co.za>
 uid                  Mark R V Murray <markm@freebsd.org>
 sub   2048g/EB82BBFC 2000-01-20

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Comment: GPGTools - http://gpgtools.org

 mQCNAzAnooMAAAEEAL42eeVYmSJ1QFIMHt1bTSEFafxsszSr3p3YcG783VDEKVzC
 AyJudxWChoEWnZDwdzBCzq8NtY9I5ko4xVTmDtLlouYG/ctK2ORPxRWN9qjr9n14
 /+0Uwgf2lK6xHrmVDwWfNSG14+EU8V+TLaDqvI9NsnIiKyk5N958vKOKE6LNAAUR
 tB9NYXJrIE11cnJheSA8bWFya21AaWFmcmljYS5jb20+iQCVAwUQNjhn6t58vKOK
 E6LNAQEKBQP+MydNxqRtGDOy7yNXrLf4oOqE5iDh0RuLWtHkx6VoAYPDsVr6sBn3
 RlqlVEZcOJmx0jTBWC5NL6BbE87aBnAJsZxqLjf6rsJd9cv+3YMuJmDaAHKsfeCk
 XTyEB40EJ8zQqx4kXIzNzNvqZbHm4rktD/Xq5qFvBV4azhaSgEmac/GJAJUDBRAy
 Pm9G3tqU4mxLVx8BAVsmBACyUNku7Ht7MfiQjz0TfTRcScJVTGMn87r/p7qUPvKg
 ce3sVjQF11LJytISolyTHJpnh/VFuIPsW66wdENwUyzWGf4zOd+Orj4tVM9SsjOk
 RnkWAdChHbzunNm2FsjnAJIieh4PhGi0jj8AaFmgGcRQvX4oSrCBVn4LUZg0pzUg
 /YkAlQMFEDJC2TH7wj+NsTMUOQEBZfgD/jXtaKOSFt8FVHGx8g1p1OSFwsbmARpG
 yf3UxOjs5mMfE9OijTeRJPXzzmIvQ7D+LyGHTgVLU+kLM68yqS1KjriDOmTg7iHu
 b7Q2ekI65q+z3F9qi2qOPRcON/20pS9iVlJfWdZUGwQW+y28XZM0S0ER3YVVl+un
 qlPNqCvsIWNPiQCVAwUQNPzbyl2XsiiA35GBAQEFEAP8DuUzwdU92CADfm/xfOCH
 hpt8JefCevmO0UhkxBdl8YFXBkuOkkmZS8otKggLSpmvzVmQZ/elkE1s+V/YQcbZ
 SHkWLdGBiB6I84y5zka0Xgwl65CO0Bj/8NVLkJtF2nQRDRLIW69HQSaF0ftmmcm3
 yKzGDCwSab0BBm7NFoyuT6KJAJUDBRA1iehuVN1fojxmJGcBAT7EA/0SdeEX0PDG
 N7H7O0N9p3qJ8bNqwhT1uHiYOvATPkfGwUBjx8wt1GXena1Yn0tsnUPDrPhUg9Z5
 /NPaLyMFAVlRQ3ZHoI26Ng79w+BvU7npPuFm/Bwtw0lHPkMksFvU7rj8NmjqDoTU
 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
 rw2zuBrj
 =y5RG
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.252. 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.253. 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.254. Robert Millan <rmh@FreeBSD.org>

 pub   4096R/DEA2C38E 2009-08-14
       Key fingerprint = A537 F029 AAAE 0E9C 39A7  C22C BB9D 98D9 DEA2 C38E
 uid                  Robert Millan <rmh@debian.org>
 uid                  Robert Millan <rmh@freebsd.org>
 uid                  Robert Millan <rmh@gnu.org>
 sub   4096R/65A0A9CE 2009-08-14
 sub   4096R/41F37946 2009-08-14

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.4.10 (GNU/kFreeBSD)

 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
 =WNe8
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.255. Stephen Montgomery-Smith <stephen@FreeBSD.org>

 pub   2048R/9A92D807 2011-06-14
       Key fingerprint = 2B61 D82E 168E F08B 6E08  712E 2DF1 2BD1 9A92 D807
 uid                  Stephen Montgomery-Smith <stephen@freebsd.org>
 sub   2048R/A4BA6560 2011-06-14

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQENBE32uWIBCADUDbhOVgIwECdOVmR/GT/P3L2S9r/E079PRooPFPxLoqAxC+Me
 DoxyYoAR0RFWBs3Qcrf6bilhuovPdZOJ9+BgkGNp/Nu6QayC+4m2IvEZqFhV4Lqn
 5Dk+qmHGbCaM4K8L+vebdzDf6CAdIWo/ufaxBW2OzsuTi43QjYTH1/bs4NhpJRc1
 vLgXEgxE9JJ1TJVm+B0Oa7tnsr6VUZg5BszByFtSnnt0sV0pFaQ33/WSU6XdYUZ+
 RT1nhxfJ/p5NiP6e9h+IqnGf9yz/DtXiW9sqs4bYHs3qjZUB6HhECsSZMyaei1eh
 lvzQR23irMXHYHLI0aJUuNoC3f0qDLjzqJTdABEBAAG0LlN0ZXBoZW4gTW9udGdv
 bWVyeS1TbWl0aCA8c3RlcGhlbkBmcmVlYnNkLm9yZz6JATgEEwECACIFAk32uWIC
 GwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEC3xK9GaktgH4DcH/3NBVtRd
 HMfrieIAMyUYkjw0ddcAsBqakaDPDkNauv2+pAUDNhvJ4XUBPUxRm2OyLatHnHPe
 CPPTibNyb3OYgrbccBI1aMQPnKn5s03X0+5Y2Y/5qYzls6bA97MlJWNaWDl9rI7J
 hV7T6YPxzwkva7R8VRHdMoOY8qsErfA168Iy0pm3m28KBU+dnOHxcdA7GHqkggVm
 T+KpkuRnTv3Z1wrna4ejkbl+VEF2VXh6e1AOENSel7ujgWg3j2ZfOwy4wzBGxe4m
 h7GO/7AxvMfBqP10KXBOc6Vp6bw54O4n8CTX+CjGKP2ZvrwntOwvLThj4o1y2lyZ
 ojqcoYjGwIxx72e5AQ0ETfa5YgEIAJgDBvxMoNpKwuKJIbi85a97J8dHGr16XADU
 3xBQe87nNAgOKj4/LYaO93syaFHoiP4KgU+A3l93tKXrd9vOpyBASID1VJehDPp0
 3wHpQHGdVuleaobWJjSGJqCxT+fIa9s0vZgX4uGqa++neFKYTKsYC0T4ZglWsVfQ
 /ZFYLZekCjmW+GUR1k8pfR+n8YN1Tnc1kBN/iytQ7BZg01HA3376KyoKbQDR3XgO
 /fQPySu0JUJ67xNyxz0HsxPEvn3q4+34+SwNjh8pf/7dS9iyfr72juo/MqxU3sSa
 xz18l0RsvZk2YBpewnN7AFQf7fIXObFzr8RXpOGE7OVI6tAMvEEAEQEAAYkBHwQY
 AQIACQUCTfa5YgIbDAAKCRAt8SvRmpLYB7krB/48W8EaOYk8dWPMw4QF55ozMFD0
 H4ooqQdRV+83ddWg3BNjX8w3aX6kxG4JZkrIesrl+ZLh6HCtinGehociZXNhxYMI
 P7FwGl+Q2i8YcMqHih3/7/Hfh9d7C7F9JWB2Y048tfs2jXwpnGY1NRngrnWE8mJ0
 XWQ+5Fk51xR+0qdb62ly0PVv3zigypBLmkOFK6knmrZo2E1s+rAGyadcDZSrHodU
 tgvV8afN+V95Qp5vH2WGlK7wBPyteqXLrIO5JL+cTcKuZBAbpmUrxmHlUE3t2QTm
 BuJg0zCxtNGxMlx3WeX9LtWqsGx4VFOpfTwF+DC8w976faOY4QcGgD5WcV0y
 =DJbN
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.256. Marcel Moolenaar <marcel@FreeBSD.org>

 pub   4096R/875AF2DF1FD2D8E3 2012-11-17
       Key fingerprint = 745F 456E AE8D 07DB 07C0  998B 875A F2DF 1FD2 D8E3
 uid                          Marcel Moolenaar <marcel@xcllnt.net>
 uid                          Marcel Moolenaar <marcel@FreeBSD.org>
 sub   4096R/8B35277B73BDD377 2012-11-17


 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =peM/
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.257. 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.258. Dmitry Morozovsky <marck@FreeBSD.org>

 pub   4096R/0650BCC042473949 2013-11-25 [expires: 2016-11-24]
       Key fingerprint = 6BF3 EE15 5E2D 46F5 0B57  3A81 0650 BCC0 4247 3949
 uid                          Dmitry Morozovsky <marck@rinet.ru>
 uid                          Dmitry Morozovsky <marck@FreeBSD.org>
 sub   4096R/948FF5948B7DAAA4 2013-11-25 [expires: 2016-11-24]
 sub   4096R/65AA79C860E297A8 2013-11-25 [expires: 2016-11-24]

 pub   1024D/85D450456B691B03 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/EC88D8AE44D656F8 2001-07-20


 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 Bo5yKzSSgAUpfzjAw5PKW481T6g=
 =/pEC
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.259. 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.260. 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.261. 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.262. 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.263. 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.264. 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.265. 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.266. 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.267. 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.268. David Naylor <dbn@FreeBSD.org>

 pub   1024D/FF6916B2 2008-04-09
       Key fingerprint = 6540 B47C 54AA 3EBA B23B  58AC 51A6 8580 FF69 16B2
 uid                  David Naylor <dbn@freebsd.org>
 uid                  David Naylor <naylor.b.david@gmail.com>
 sub   4096g/77FA885C 2008-04-09

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =0MGk
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.269. 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.270. 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.3.271. Simon L. B. 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.272. 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.273. 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.274. 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-----

 mQGiBDz/lNYRBAD6n1LJ1BQMhRrjVBC4JQVBh6PBBM1cdbhOMyMgX5G4wacsb6CH
 bNY9UAPAp7Gfx9GPPQkMsQiMSuLCaklFfnlyqmJV0xsXx+P5eUodc8x5OtokTWKF
 gux+FSGQNKC9hEkWAOpqPN8y89RHgk7S8epyqImmVh7jVqc5I36A6/nyNwCgrB3H
 bvi4Drig8zKzYc1DRFpOE+0D/2rL1DP4ri8w9VCTn7VfJ/uP2erRQsfZDkYbu3HN
 eUEBR2zr4QR538mY5IlKis87+noYOVvgaFBfVa/eQD3xVEzy0mNhErSQK75+im0U
 rAdF3CDEAbt/nGwbuh24KcaOyqQpaNBxvzDNdICADSYpsNj4sLz0jlxLpEHPFx3T
 HQzvBACSHzXKnkb9k8aePTUJQXKcml5mCDQJPR6u6rYK8pe9TOEmLA4w4FOgbXae
 cPNYv8nLKtuyjehVTzvV+4ktuMPXsF1Y8SrmexJWsiLO/TF2pYDXMjB7LaIGTK5r
 cVdArpC6ocMfACIWtCYZQ1TIKDbyZ0uyfPQmj5uc1lFkTDzX07QlTWljaGFlbCBO
 b3R0ZWJyb2NrIDxsb2ZpQGZyZWVic2Qub3JnPohlBBMRAgAlBQI/Gm4SAhsDBQkD
 z34yBwsJCAcDAgEDFQIDAxYCAQIeAQIXgAAKCRBeFzrxayl0sKI8AJ41OXMiupy5
 Rsdvi0g79QRxn3A+QQCfSlp7i/ilZ0HsY53FZVvEesAzljO0Lk1pY2hhZWwgTm90
 dGVicm9jayA8bWljaGFlbG5vdHRlYnJvY2tAZ214Lm5ldD6IRgQQEQIABgUCPUHt
 HwAKCRAqx4djq0R7TjsLAKC2+xaNwzlmPOiciH3r2UMXWelSSQCgjp1Ccn7KKZU8
 JbJKeblYOd5mdBqITAQREQIADAUCPtf6PgWDAdeSEAAKCRB2rO4B/qKj/iLEAJ47
 RPw/TfOBwTi/Twy4bLQ1/ESs+wCcDr6yapPrSalhl2/ZTcYNA5/QtBiIaAQTEQIA
 KAIbAwcLCQgHAwIBAxUCAwMWAgECHgECF4AFCQPPfjIFAj8abm8CGQEACgkQXhc6
 8WspdLAzYwCcCQhe30GiQE1/wJOKFsNCojh549YAnjEOaKibthqelUfOxfM0aNjg
 yi0eiGwEERECAC0FAj7vBPwFgwHgDgwgGmh0dHA6Ly93d3cudG9laG9sZC5jb20v
 cm9ib3RjYS8ACgkQEFgWhcUhCX6ecQCXaLPLqW22Nsr8rtBzJgYSMStJVwCggirL
 XuYNu9sTSrMPZvZrIonU1T2IRgQREQIABgUCPu8rOAAKCRBLKkiX052g47mvAJ0e
 D22tcuXsxh7kxJt1M3k+HK3zkwCfZ5Gp7XT1/5QwTxz1/qBw9+/DK5S0JU1pY2hh
 ZWwgTm90dGVicm9jayA8bG9maUB0aWdyZXNzLmNvbT6IRgQQEQIABgUCPUHtJwAK
 CRAqx4djq0R7TvSMAKCvUNGMzBNDxh/ud0bsd+Q5s1NgNACfbbIyqyv0SRXQaBVG
 EZOV/IqXwxSIZQQTEQIAJQIbAwcLCQgHAwIBAxUCAwMWAgECHgECF4AFAj7t34gF
 CQPPfjIACgkQXhc68WspdLAD2gCgnT7aSz8Xl5xcPsNmionCS8ydPx8AoJEeYBT3
 JV7fbVpniGBaDhxwPfJFiG0EERECAC0FAj7vBPIFgwHgDhYgGmh0dHA6Ly93d3cu
 dG9laG9sZC5jb20vcm9ib3RjYS8ACgkQEFgWhcUhCX5cdwCdFVRkxIwY2e8UBlFD
 0ZHphsssjOwAn0t3+rPg5PQLRxGkOUn+0xbUhTgYtClNaWNoYWVsIE5vdHRlYnJv
 Y2sgPGxvZmlAbG9maS5keW5kbnMub3JnPohGBBARAgAGBQI9Qe0nAAoJECrHh2Or
 RHtOGWgAn17Mh/ojUaq2wypC7Lgxk2aD7ZbwAJ9TNFfNY+tUb32LNUCrxe5hdfyS
 C4hlBBMRAgAlAhsDBwsJCAcDAgEDFQIDAxYCAQIeAQIXgAUCPu3fiAUJA89+MgAK
 CRBeFzrxayl0sFpNAJ91EregVsaf77emPMy2tU0r7TBWeACfau/Nv9ZgZSBWSG13
 AllSOYqbIUmIbQQREQIALQUCPu8E6AWDAeAOICAaaHR0cDovL3d3dy50b2Vob2xk
 LmNvbS9yb2JvdGNhLwAKCRAQWBaFxSEJfmJ9AKCo2zsgoH6naSKd3Rduo+7hfM7Y
 uACeO4R4dZBZNEPbaZPcBEaRrMW+4um0LU1pY2hhZWwgTm90dGVicm9jayA8bWlj
 aGFlbG5vdHRlYnJvY2tAd2ViLmRlPohGBBARAgAGBQI9Qe0nAAoJECrHh2OrRHtO
 vW8AoIuikn8ryz7dgs1TjnOgrXQekbpnAJ4mnjfM38IzIRiwYR1iljvkIFv9iIhl
 BBMRAgAlAhsDBwsJCAcDAgEDFQIDAxYCAQIeAQIXgAUCPu3fiAUJA89+MgAKCRBe
 Fzrxayl0sOG4AKCAoTHv/Nzk/fcSTiQWLxEKn2yYRwCeJjnKO5xs7Oj5nTg1BuGC
 J9kjTx+IbQQREQIALQUCPu8E3gWDAeAOKiAaaHR0cDovL3d3dy50b2Vob2xkLmNv
 bS9yb2JvdGNhLwAKCRAQWBaFxSEJfq8nAJsFK6NX9COUfRYJrkePGeSpUeVQcACe
 JoiaiD4BClMnupSxHIe6FJmHyK60QU1pY2hhZWwgTm90dGVicm9jayA8bWljaGFl
 bG5vdHRlYnJvY2tAbWVpdG5lci53aC51bmktZG9ydG11bmQuZGU+iEwEExECAAwF
 Aj7hnCoFgwHN8CQACgkQKseHY6tEe07xqwCglAxylGcu7GsXoz6OS+U+QNUbWL0A
 oPui61DotXxm/VZvblBBToTr4KwOiGUEExECACUCGwMHCwkIBwMCAQMVAgMDFgIB
 Ah4BAheABQI+7d+IBQkDz34yAAoJEF4XOvFrKXSwJAUAnA5LnR/voJz2mnP1Tkl4
 5khGcQSLAJ0QSEFiXOemfKbS4FsKF2a49Pa7W4hsBBERAgAtBQI+7wTUBYMB4A40
 IBpodHRwOi8vd3d3LnRvZWhvbGQuY29tL3JvYm90Y2EvAAoJEBBYFoXFIQl+rzEA
 l3vk3WJrq+S26dWPl1wGXyFjtS4AnRJSpjM6Ua7eAfS8Pfdk+UsfXJmAuQENBDz/
 lNcQBACS3xasZ+RNnFwCK+sXnnXQYbkHUsW/BTcUaTk6eyaEsSb/lTdz8uyJ/8ao
 xSuPr87ZEDaVFth5tEbFfJUd9DOYwt0QFRK65hqzY1MOIIiDiVUW8dVsdcZfokom
 r9RElz9VQre7vJwaSW1aEsYTvMZC9D9MNiPrW6oHjxUvWIlmPwADBQP/UYgPqe0t
 SYEJnnew99CSIGDMozRakmwHK5bH7bUkaFk3PSpk3a3EAqE9bmQI/a1SKBSCDdAU
 0Iev5UXbTbYF+0f+36UQqLxZIPb9hVU/ExjJnf056iFSprfYnJY1hVTR9kT67c8Q
 9fGK3L1CNVn2EF+UJOrtWcccUfE84lJ0aoyITAQYEQIADAUCPu3flgUJA89+PwAK
 CRBeFzrxayl0sChVAJ0RTya/2yxHW7j7mV0aTgCw3bixpwCfV2KBo9ZKGn5pojA8
 isNkDxI+R1w=
 =LE25
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.275. 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.276. Jimmy Olgeni <olgeni@FreeBSD.org>

 pub   4096R/FCDB3E82F778D8D7 2013-11-10 [expires: 2016-11-10]
       Key fingerprint = EE37 B427 91C5 7707 EC54  064A FCDB 3E82 F778 D8D7
 uid                          Jimmy Olgeni <olgeni@FreeBSD.org>
 sub   4096R/4B2EC123F42A1D2C 2013-11-10 [expires: 2016-11-10]


 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 HPrSTODRadUuVrs=
 =f2gj
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.277. 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
 sub   2048g/6E5FD7D6 2006-10-22

 -----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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
 Snh10uUAn2ezAN0+I3dUjkhdHZCAa5r75EPHAJ9Q7EBC1k8QaXJeD2+nZVHD8jDl
 zohGBBMRAgAGBQJFWZnQAAoJEHu7RcYqQ9NMn1cAn16BP5LMMC9OXGm1PYJCOmsf
 3f5qAJ0bxM+TfSmz8eS4MRWQeSUmidfHQ4hGBBMRAgAGBQJFZgjJAAoJEEIUTAYl
 N20+ESMAoKD3f3VAttEfuI1fYEkU7ucnP/LmAKCDNJaUcrhvO12AbT8dEKzLDJ3v
 4YhGBBMRAgAGBQJF40+5AAoJEIwl7g8NwLfWYAsAoLq+OAImI6LTxtiUrrAki4E5
 vUj7AJsFMhAr8ag/ik/9ZASVqykQj24mXohGBBMRAgAGBQJF6t/bAAoJEEHcHJBy
 RJcLlCoAn2JzVAARDE7hSzydvtcOZrSaClzSAKCm6DTZAXYYd9Zlx3W5E/LK0gQJ
 qohKBBARAgAKBQJFVLM6AwUDeAAKCRBfLIShPrYEbejZAJ4/cA1B4JmqR5g5jvoo
 GSZvya8liACfbzZLKezZAFdpF2HfYJKjA6NVQraIjQQQEQIATQUCRfGDJUYUgAAA
 AAAOAC8gZmFsY29AbTR4Lm9yZ2h0dHA6Ly9mYWxjYWwubmV0L2dwZy8weDAyMUM1
 QkQyLTB4QzVEMzREMDUuYXNjAAoJEKd8S94CHFvSBbIAn0O9v7RMedOfOOm6Mrjq
 rHfDgaNuAKCTv7WyO28RpxHPOwVelEHUa1E2ZYi8BBABAgAGBQJF776SAAoJEO2i
 HpS1ZXFvHjUE/2qc1qF9Vx2ghTH5JbSqCeIK+mSol74wRmRb5Ry2ZzUwcx3Qix+a
 8vCw0ktVIq9uydaGugakcpqz4v4hDj9z8id9D7ZyBTaVi56p8k1B4vkpdVa9+7Dx
 OwsM7z1Y1ZFrGo8CaHzOarSDdIy9l5gYd9ShNqYJsYgV0/olO0P/smvm7QD9VDU2
 0cU6cqfJB4vEqJQTpVyqQKsfBkNTT6Q1zdGI9QQQEQIAtQUCRT5aDIcUgAAAAAAQ
 AG5zaWdub3Rlc0BncmVwLmJlImh0dHA6Ly93d3cuZ3JlcC5iZS9ncGcvNDI2NzEw
 MTNGOTRBMEFCRUI0Q0U5QjZEM0RGQzJDNjJBRjc5RDI5RS8zNTZCQUUwMjQ3NjNG
 NzM5MkZBMkU0MzgyNjQ5RTYyOEM1RDM0RDA1LmFzYyImGmh0dHA6Ly93d3cuZ3Jl
 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
 r4hKBBARAgAKBQJFVLM6AwUDeAAKCRBfLIShPrYEbTP/AJ9TPQ2RQd1AUAHKDRnm
 V3mqxlcLXACfTX9rjT4+p5gs2WkJJtr2YPzyws2IjQQQEQIATQUCRfGDJUYUgAAA
 AAAOAC8gZmFsY29AbTR4Lm9yZ2h0dHA6Ly9mYWxjYWwubmV0L2dwZy8weDAyMUM1
 QkQyLTB4QzVEMzREMDUuYXNjAAoJEKd8S94CHFvSjMwAoJKRUhYm3g3GQc7Ax5Mv
 ie9Mos/cAKCJHt3BGEU4sXrZQcq46mb8/z/p4Ij1BBARAgC1BQJFPloMhxSAAAAA
 ABAAbnNpZ25vdGVzQGdyZXAuYmUiaHR0cDovL3d3dy5ncmVwLmJlL2dwZy80MjY3
 MTAxM0Y5NEEwQUJFQjRDRTlCNkQzREZDMkM2MkFGNzlEMjlFLzM1NkJBRTAyNDc2
 M0Y3MzkyRkEyRTQzODI2NDlFNjI4QzVEMzREMDUuYXNjIiYaaHR0cDovL3d3dy5n
 cmVwLmJlL2dwZy9jZXJ0LXBvbGljeS12MgAKCRA9/Cxir3nSnia6AJ9WPIdOlKII
 wOeSCBx0uYlMUM2tQACfQKbqhzbKM8RyO3QXO4XE3CybJ8aJARwEEAECAAYFAkU8
 vCwACgkQgtL26sS7np+53Af/RSNZhaUC0B+D06crMIfkqfA2c2K6EJatcm9c7mXH
 5VLXKkkqjH7x80wOtDi3GKzZLOwCkwlk6d88eISpx9dBMipxUUlJqYC+a9FMWMaZ
 gcLd7EPuDTuqkHfCHQLpPkMDXFIj+XP8T4pt3pdG1a+eoGUdz00KypSz2Fk64ylz
 nd1XHEdexlW/I4E1ZAlWEmcLENobjarXiIHzcvJJj9GQXLCxO+b6H9Mew0OBLxcJ
 ZJzrurclo7NhNwh0JSEwkoB7xS6jerfSndbeKg6mJ1fGmmhkyvhe08/zv4ZyzP3r
 tArBqJq4sPJ3zCX/gqqkfm6Q4OMD8scaCCs59x6fdubPT4kBHAQQAQIABgUCRVdN
 PAAKCRAu1F1mYaBz6WyGB/9TroL46iD2Ya35k+/eQVEJzpRtNXZZ6BkSismkWY11
 psNGiYFyTJuKB72s8g+BAij8XmXnywrZYukz7IdHwWa0avkMGQ7kne5ATn2629UT
 bvQy9/ceStTZmWjqTP1+g2ERDMmXM834cSimbFJBCW1SZllRBqchTBBtSrBLRomB
 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
 BBARAgAGBQJHxLZ0AAoJED7gV/+qII2ewsoAoIPxWeXTY0hH4c2DEDbfPe5BCWbf
 AJ9TWTVJhK+gbmQy1I6InBJFcnZrnohGBBARAgAGBQJHxLZ1AAoJENwDuqPTSSoq
 W1EAni7pbRfaZ5NrB6eeg3R1/EgnHzxrAJkBTcuTrwCy7yxhmS6XRdUrXAH6iYhG
 BBARAgAGBQJHweCBAAoJEG/RPdzXzenm2cMAoJ1JXPuQmjru2DgzSCCn6xvISGsG
 AJ9OpJ6atVH2mPkXHAH2D3qFIH8AC4hGBBARAgAGBQJHxdQdAAoJECRixBtY62DI
 uuoAn2zNf/udXX3iE/LGBeHh3nSheqLxAJ99/l3bvR15wc2CxsnKU09O9uG0iIhG
 BBARAgAGBQJHxc7xAAoJEKlp3XNuqV5nLGsAoLWB9s1ZmQTY9DbD7mhrLQvyaTnG
 AKCv2FrOHoePChjwbgxPRmtrx2PrlohGBBARAgAGBQJHxm6gAAoJEAYPKHb84D2q
 U8kAoI5oXLG3Cvtbbu3NOMc01a664krSAKDC8SgHcsVJQgHejt0U9UWW833xhIh6
 BBMRAgA6BQJHxnzeMxpodHRwOi8vd3d3LnNjLWRlbHBoaW4tZXNjaHdlaWxlci5k
 ZS9wZ3AvaW5kZXguaHRtbAAKCRC0deIHurWCKffiAJ9YVDOvUKDJqRR7IoKCWiAu
 0G2G9wCgz+6vmQe/T13CtbfYBy9FDPQiAD+IegQTEQIAOgUCR8Z84jMaaHR0cDov
 L3d3dy5zYy1kZWxwaGluLWVzY2h3ZWlsZXIuZGUvcGdwL2luZGV4Lmh0bWwACgkQ
 lI/WoOEPUC5DqgCfUrxCgWWEX9Mssq+tmHJKkRitmSwAoI1hPSQ887Ao3TBpKgxP
 ocTr4xEoiEYEExECAAYFAkfCa9sACgkQ7oGSpuRD1tgHCgCcC7KlS1I5bypfqs+0
 CmgCZxmvmRMAn2rbzczuFWz1rOQSNuOmvox312SgiEYEEBECAAYFAkfGrtkACgkQ
 qXWYex+fp+4SwQCbBIR4InBaTaIdng9K69WgVuOzu60AoIZF+6qO1Rgq+hFSBKqV
 J3KBN/wgiEYEEBECAAYFAkfHGhoACgkQjB6yu/0L7eVCXACfRI8dVEI4XtX55ACL
 o2kJdrir1cAAnjVx8PGvP9D8pcR3TT9xnMOClgEviEYEEBECAAYFAkfIQu4ACgkQ
 Qg3wMOorIo9o9QCggzq9gLwGqvlVvzSYIUavfbbDYTMAoJP2zX5PTOLk/oZKVZQR
 +OwcUHk5iEYEEBECAAYFAkfI3osACgkQIJm2TL8VSQvdEgCffjoSu5l2NQElN1t8
 zP7RNTVEdpcAmQEoq+8ltaS54IXNsWW8nnG59CCxiEYEEBECAAYFAkfKwBoACgkQ
 oYVPneVrO06GdACfYpKFtg1chx+Z4S27Mwyg+xxseO8Anjh+Q3bU/Qx9R+NPg3L/
 QIJj+mCliEYEEBECAAYFAkfK1m0ACgkQpOKIA4m/fivW8QCgpLNDQJUyFi8lg0Vu
 tPgNPgkeU6UAn3CPkEQCMXqnYj1IJ7rzGlvSu/5diEYEEBECAAYFAkfPEogACgkQ
 TaUqra5kIYYQ1QCgv50w/5GoDQw97Gf8Woitpv+hL08AoNWjZQO1Fd09dXuzxctM
 KA3oqKHGiEYEEBECAAYFAkfPEXYACgkQggFLRsR48HQumQCfQQrId/2yQ6T3TaY+
 EAZkCB7GTCQAoJJB4X8MBC+MUwlXJKJ7H9aGIcOyiEYEEBECAAYFAkfRfpwACgkQ
 HoowUyEn+FpQagCeI8c7M0+mnSE/lG3tYvyRr65d0iAAoKzTC2m5ueDLME0Apc7z
 xl1wPDqwiEYEEBECAAYFAkfTHz8ACgkQYxa2MDWAMuGSfACgxfxxZ26YqlYUgyvj
 H1ZXKWAEmwAAoKFZLT3EzPHMiF9tr8k9zxux1QMGiEYEEBECAAYFAkfVX0YACgkQ
 QUuEI2/szeAhiwCffmDhhXq1/uap09uvlfZ3eA6BEyQAoIvLwNLSY0uIEJ4GKH/8
 ZDkF71sPiEYEEBECAAYFAkfZBQYACgkQYdSYB4kLFbKVnACeOurdSjrjAiUNlX4t
 OV2o5W1IUR8An13Q2oKS/z6EtjMCkOA8+XIaIYQliEYEExECAAYFAkfu5QcACgkQ
 PtVx9OgEjQjbiQCg1ixmQUSr98CuQkgUcfoCbWUt7TwAnR23ONHZ7y3/7c/anNAQ
 GFNtwzoZiEYEExECAAYFAkfu54kACgkQuffIhmkXw7n5lACeNu6ozSpYZOELehY+
 4uNtNJs/BW0AoJNkerz13u2jXorj+tBD3OI7xAjbiEYEEBECAAYFAkgLzAMACgkQ
 t1EUCfwV2+xU6ACgyXSOrZeFrCi8v6ZaJmkrw12QtdQAoO4Eqp2lfwzJolCiNelK
 9w1wiEFiiEYEEBECAAYFAkgnRpUACgkQIKyzvlFcI41cxwCgt+eYwqiYDmRCcH8q
 hrLUI4YxggkAnRf0yy7r+5W8Zc9ftYIRG7K6SCtPiEYEEBECAAYFAkg7xYsACgkQ
 uz1UtkfqhLRLvgCfaj9E7pKeahOV4+2Bmj0Zz+QmJ6AAn0G+HMgd9lPdUp5pscYj
 g1oO4uMGiEYEEBECAAYFAkg8AsAACgkQliza9zvECB98PQCeKDb3DjqNLHngXbvG
 rclXj9QYv50AnRGIcAMoO1MeFqgi4lQGIeyxOzOriEYEEBECAAYFAkhNqc0ACgkQ
 zop515gBbcfFZQCePhIJZVs5RNP8Q7eIxmYGX1D086UAnjd5U62LU6K9/0aTz7tc
 f6mGmFAviEYEEBECAAYFAkhTmeEACgkQPE3owOS0jEiYCQCeILiL7MinlMw3NZMd
 PoFlwIsDqEcAn1ienSN6DSbeOaoTD35F3AV6plBziGsEEBECACsFAkjzqn4FgwHi
 hQAeGmh0dHA6Ly93d3cuY2FjZXJ0Lm9yZy9jcHMucGhwAAoJENK7DQFl0P1Ytm0A
 oIb9UbHqR/HIGiPCLst/fXb92KCZAJ0b94WuodGapRtgKGGhCx2pLLEMioicBBAB
 AgAGBQJI+bCOAAoJEE1WKCF5BQwR8lED/iYpugTAXsVODkA1MYmr6yRuJWlm+HDn
 GUqq7vy8t3o41RKLuzRKGBb1oZEn8Ue+Wf7XkJk8UwgZ79WQxSRrI1zplDOXfoxs
 XOO23CtsibQQ8ohWVBEYB8eDzqK090TpJyTt3hkV0Smnpj2uxTh9c4zY0rpye0+j
 6XsWrcSgTKhHiEYEEBECAAYFAkleY8gACgkQzu0fnOK1uKiVsQCgxjpkHvbvlUHQ
 vEY3cZTmB3L44NgAoI2DXnApQ9yEiDfzewG1DYUzHyg3iEYEExECAAYFAklhQJ0A
 CgkQDRIpbmO41338lQCaArHK6tsAKicxdLf9cWZPm33ezk8Ani2hIbV9UK6eZ/TT
 yX0IH6N1BvmAiEYEEBECAAYFAkmPlzsACgkQvuM9o4Jvd//G7ACfVPGFMLHdELCl
 derpkYCd/7FRrqgAn3SAYWrvbAJtL5fuRaWYGOh3gEx7iEYEEBECAAYFAkmPVjsA
 CgkQLH9rOhijcP7mrgCghXw0olaPo7L+zE+EJ0gKiEFSuIEAn1X0I0yvqGUozupO
 GcoBwfgoF4m0iEYEExECAAYFAkmPO44ACgkQDQcukyqaucOc7QCgmXwv8Iq/R71v
 ubrYwILbDYqrqHMAn3u1iefMyv4PNLZzbj01E9pivdk1iEYEEBECAAYFAkmP/7cA
 CgkQiqNir+lyMs3ydgCglDj9YnASBHeMI7yekYQ++xo0k2oAoKKYxREQsZqEDwcp
 +611ZQXgU7FhiEYEEBECAAYFAkmP/8AACgkQp99YcnDUTCPKGgCg4NqXGh8fnqZy
 hoSS2xWpsniO4scAn19R5U/FwIscn26uIr4rcHk/6SOTiEYEEBECAAYFAkmP/8wA
 CgkQ4gEcJ5SEGX7ACwCdFSK82UQlRjQVn2AQ8SGsV0GZM+AAoJjn2135k85MUFNE
 pqVxP2K1nmwpiEYEEBECAAYFAkmQAIIACgkQL5UVCKrmAi7LAwCgsPYLrpbJ7Ros
 1AQoH5ee79wdbEYAn39vlJtQO2Qol+/1QxYAvQBaY5fSiEYEEBECAAYFAkmQHqIA
 CgkQAxLow12M2ntAJACfSiyqm+K88UKgWftEuOXEKhN4VecAmwSlMiPTT+WpjC00
 f4gm6TK3HYP5iEYEEBECAAYFAkmQShIACgkQB2XVbhoM0ILeNgCg7q7pTlC02Hsj
 FaQMz7MVd3Nk97MAn1sZnbWVHOuI0kvx6TIsY/k7qjuIiEYEEBECAAYFAkmQWqcA
 CgkQgT/oOnSXSCR45gCbB36DTWaN8XpF/jGzJhob1BnkhQcAoNqIcX9AghUyFDfo
 rbHZmBQWGr4HiEYEEBECAAYFAkmQZJMACgkQaJiCLMjyUvscmQCg1cqNw9mvs3yg
 mT7eRF8yoU2QlewAoO/gh5AWiflE2413QW1Pg7wUr8oviEYEEBECAAYFAkmQV+kA
 CgkQNC+1OarSA7UhbgCgyS/eVhIt0TMczgKt2a00vqLr8hAAniEE722rRRnAOCmP
 oLooJ4zrVaI5iQEcBBABAgAGBQJJkFWOAAoJEIseUF9CCTC0/10IAJwbrVFV/urB
 1N0r291Q4I/E5hGm4aD390s7jlA6G4+h99UwCADyQetpPg/+zM+Y3GRL9cD5lX6g
 XA9+/kwEPLhnyU5KNHCLVQD0feNIHO7UO/uIoFBJaTGWNCbhPvYpk2f3Pnx6APEn
 oktGRzMuSFYzdsRBhLwR8/ABDlQrqH9d7CbLLrzpWs7C3CB3QGUAAsRPX5xckMQ5
 p3wxTU41aUlDZJ2UrWLeTLUjX+53zznAfcjnfEGBXFwY1sxQgGdr/6DEnOgSx8nM
 5w7BxuIl6zNRsI78U3j587R/7TFFmDkkLHhvtmzSku8u4fXwdkhlFt2UCnRjfIGx
 tozW/LsVoEGJAhwEEAECAAYFAkmQVaQACgkQnSp2Ia1HtYPcvw//bMgveyraWRev
 QG56+3UaBQWgly05DOo4dy09MuuWq7N+4Igg+DnanADprWunRhwmUzYTOOJt8zid
 hS7oyxM8wK2TXS+htt8UEFAENZ+5f3Up7MBwqnvTqsoNE231KAvuQD7GPYDUw3+y
 NGdER+1VqSE9ReeKj1qJpXVi6Rh8iMQFogobzIh1r3kZQSYORXserV+19ELxjiYW
 f96uGGN//qkf4LiGA6C52i0jk6xNGqmYJy79YbUbEhfhh1y/y7Qp3s6JVy9jcLRD
 V3ZUD7hSVMpb+1hZRhUQE+zdaPcm8Gqke0fhod/PWFrg4pVQCrbV+hlQJikHms+b
 jfC/sV4RtqVo2xAnNPbPjquTvwnuzPWu4n+fKCd5ZV+5O2Yzl/8HVEmWNriIRbUS
 u6OYArNlMmB5xnIOHFDzFx6NevafCx/S/byTQERjpmLHiCT/+kFbc5Z8u+FfPvRM
 4zHJHF6CP/j6s+hTHtGfvxdUkxvk31SXDfIQ8FlDPVuzpnI+NXDtkJHbrrgV8v1B
 tt8C+PdV96mD57yw8IVFrqiMyFVBNDg69SM7VAa8nRTdQs1vEDRL9nTZd7IcpWsa
 4bBuMHrEKh9pXNkJLstIOjiZ22Snd4JphRPcETu58VyQX6Ngz75LhcTomQKm486s
 KtqK74D6a881/IzaHKuX7VZqftpdJfCJAhwEEAECAAYFAkmQVc4ACgkQEIHZzcEz
 oLb80A//YqbDXLw+0oElZXcYRztAM2Tvbg3s3u/4MC/sH0MW3YfPABA+b8VxbyAv
 iaic4yBdVVKe2jBx2Vgo9iJu4p+QzXrTs7rIpsd9vUjGZCjfdr29QwOzyMB0h9qi
 7AUSIwU25TbVB1hseChYCLJSBXW/3BmFs+TsYnBugxPCYMdUDsX0p/TURHOurXcz
 xmuZDyUlnJeIgbDGJFymvw7k/4aADNQKoBGLZ2gwtrOPEe6OeG8CQxG+JjW6899b
 SpBMhB2qHQ80xOeY7oxOQiM9/SmAvFNVPZjvnGQNi2htHa47y6MQ63dsXn/Y0hmS
 iRQeGBkGOBEz36iyHtT8XVJEDTR4JCK3tlE0/3k7h3AXskYbwltiHhqRa7poDabj
 1hSHPAH0Lqc0jfq2YFIqVipe42eIz8/x3GLcdc86WG5GeDNSsarW5PnvaTpCnu7Y
 XbxnWBDylm38NQB4/rIj/rchgmj2JY+hy3iDaSjXTJbiHwN295vUM4WukEgHRY81
 8NOYr0mxfH6ksfGnvD/ofCWd/iWYj0jjE3jMb431WzHxInmbJgkGYBdNm3MF9uW2
 4+ksKb3VoHhNUJBt79tloBqrszGt/Uq3Tz9XvWqcr/zxQ0bSaFW/J87+bEQlH7vD
 qTZsLpMOdopTLdipYDgLm4cfZyh3EcGhb7RaP0QKsWs/6mWxgLKIfAQQAQIABgUC
 SZB0iwAKCRA7wxiu+himOdhaAv4sDW747kNNsT30Xn/WNAr4cO90wQg0201j9by8
 Z6Aqhk3/R6kwlpr+OMxzGLCTvUu9sx4Q8Rxe2H7dns9tUQ9kd4WTOy8jk0uVZYK7
 SrfucwlR1t5wUia5NcjC0j5gkPmJARwEEAECAAYFAkmQdI8ACgkQy3cxP5LvVCWh
 MQf/e008ShDtMn1V0/w1Slju4yuEwWlaqeEiEafgXwFxMI9zAFRa1dRUREJNWMSM
 3MOfMvA9rCqlDGHTkp8hORckenAk8tmwLvJoZzLmG+pAVxcXAkJ9TLFDyAHHVOLY
 6THlC9gi7ucE7EzVn27bjpR1zIY57IorM/UW5pmhPcpAWILbp3cSzH2Ta4dfPKNU
 Kq8nRLD9CQjoNAXLXoO4BOQSVtOFOnRiIrezHwzXtiSpzEYMiNEymesVmDyWZjO8
 ULYRN7HqKkdlQ44h/0TRZJSN+caUYQBEgXLcSvRC+ftuQmG9sHqEPKNOyqs5ZxJN
 +v3zQ0mwJx7BDlbNjJjua1zQyIhGBBARAgAGBQJJkHSSAAoJEOAEXXL76tkXF4MA
 niPpcmJDtp3jsBt+t+zGTJOSwE/HAJ0ZGh+LMEX3kYOHDnO9sNK8YuLaWohGBBAR
 AgAGBQJJkH2kAAoJEAjs9tTVSxZnlwAAn2chz/8BV6cSV39ACBEJHWE8Y6KnAJ9M
 QLY+25HOTsjzT2flfghjCIWdcohGBBARAgAGBQJJkJ3ZAAoJEBFGQza7bS+gKSQA
 oL135ddPnfW94esasqQKi3F5iE6uAJ4+PIwsnTZEl5m2k+IqLNA/t4pnfYhGBBAR
 AgAGBQJJkJ7hAAoJEDsymJ0A88/ka84An0onL7syenRRy8XmYRAY09lZdiRoAJ0b
 euW+hAVGVFnxd+gvZ4NvzA1mcYkCHAQQAQIABgUCSZCx8gAKCRDe+RQoQEXRmyrR
 D/4uwtamYGDC29RZdXDGtqw54/+rEnyt51C5bNnRLSaNE2EEkjOAOsQ2+8NNobXS
 k36TKb/ukwpsbp6XuEBAz2esmsWQIK/ZBa7K+dU/RabbXPDfFYYvaSK12X7vOhp3
 uye9o4Q0TiuvUWUmHs9705WaxrrEMHWj44WxFEty5xWpFBvfM9n3sUD02Rd9nW93
 FMutgzDXTjveXzbgv+2SKmriojB+1IvqNCkEbPdBTMFATrR4Bha9EstrZOWGrUHU
 gXp698+gVIVnxW/rdOnuv8yPtvfxP3ElhmzuHjuRqhJQHFephEmGIqVY5dixum4s
 ++bRptaletVCPIKA7Rir8Bc53qYagbRfHQNrBUhnJstNZ5vjPDFOSwZSTpKIlHVX
 rNTbrpjsDf8V32f9eSCIPwjTrFotq2XJz1w0tKSonHw8cMGAACGn20mqc3fchF34
 PUewCk8Frr2aTRvSrLqGONnO2fAc+cs00mUraB4N233BI1BVvbykD3MR9AGwRKaW
 T8cFhiE+qblfvDklmEkUzUPSiuWqvyJUXT46fDnO8KXsQoEbgkJV0HfKwhvrfCi6
 u8B8JW0nfb2vl33wsUHp5A4U19lDWU3UtmNKUybl9VoeX0RCzfBmHcgGjuIcm8T9
 C7XPn1vN5Ep47xKIy+gUN9xE3rTfrO1b3neqVFxHdnCfaYkCHAQQAQIABgUCSZCx
 9QAKCRDd3znGxf5t6wOpEACM8uTx+lDpVURRXe3dB9smEY7gTd57Bcyb4iAiNA/L
 hi5DA7JsmMF9sNdcEEfUy+hv79/upGC+xsl7t13ua7GQ+zXx02gg/1XlH045OPmW
 4920Bf3xrXDVUdcaXnyeGzd1fO4xW4gjttti1Fi4Ep5vxvWelF7rVGTBBDNvizmj
 CZTG+ytlEKkAwU6r//0fV3GQgnZmFKL+22Cgu0D2q3uCP3VZiDO3y4Kh4QSmGLNF
 L5zU0JhgxXaX8gnsg2g3vi5fonvGWwNxnS1169wY2vFl2a01qZiJb2wmLpe/jmoc
 Oipgyb8yirf5W6jcfz79sofgasmRdFoLFgWJn7Hb2Nl8Wm0qJTdEBbolr026P2Xp
 +5dALFvye0UtDMGsXecF1GfOcZ8r88N4trFnzpyaL53Nl2jBKU3buoXQX0bzODYs
 aeFLSsEZNwNf06lTUuCOOAUwiheQb25eyeJo8UPyqc/f9MPnwJAnHppmGg5kFTtg
 fYledjkdUIADKbF+jRtD4kCqIxSL/OzR5wR4X4257QeVp6W9P4sc137xQUgCq3KH
 QGaCaGWkW0VpRB9NLBWlUN0FwzffPyRclB0re9PymBVhthbwiFSHuzbsRVSNgJ2g
 UDXyt2JEZVybkE4UTKNpREK1S8fbJHXTRclrY4doIv4jg3+V1S4b8Gr7nLPxVX7u
 3IhGBBARAgAGBQJJkMHUAAoJEMCeHYmVkw7eki8Ani5GUZ5GEJstJGB0rowq9BEp
 /xVLAJ9/gjcRUACXnnogDZFZaeEsCGsGlYhGBBARAgAGBQJJkMHwAAoJEAQEa4VK
 LhYrMLkAoJ0hb6gsdYl1NEyWM59PEiORZZcsAJ0ZVMrEiF0kkT/vIqSrYZ782/Rm
 bohGBBARAgAGBQJJkTz6AAoJEMgmU/O0xT7oKToAoJ9UKjF9k00VBeWQsu+Gnrn3
 dNyRAKC5dIzXAmPy38ik9cAotJ1m6OM3uohGBBARAgAGBQJJkW0hAAoJEHz1R0ja
 FAam86EAn2mV9RhsAvfo9KYg6TN7ByfHteRQAJ0ak3s7PE28A1tTjCcn3TmVN+uG
 AohGBBARAgAGBQJJkWmrAAoJEIiM4eQuL/QcjRkAniTEYO1s1sqmFJt7GCY2Cc4l
 jWEvAJ9EGQHP5Dk6I42QIcikWcWmoYr34IkCHAQQAQIABgUCSZIDSQAKCRDngszy
 gD8mhRStD/9O7ctEasgGek3VCgsUmrkmgMAEJ8xoQBygqfyx0oUU3+emc8pDECsl
 RUBgTl9wa1fMQvanQ+WjGbbmT0dqbsrglSCdBtMHoHpD/b8756twYNfHTGdYOoF3
 +tUHLTDZRrjS7c5w4wssuSi9yccJpqIcithbEdUjWRFY69QRVvxjAII1qDZW6SB5
 ykpjpwwVGkW0wWgAkpynOSap4XTJWxs8EZqH+6v/9msX6A9v9+0Waq4tB8VXxf4C
 G8+J5KhwWjaXS4tBhvRoxcIlMPkzP0SAyYGStg/tzPsP5FFdJNjKjxTgwpGYpt3I
 O/JdL6dvkqHBrOK267wX/2hQsy2obJqFAvjlRMPzd67greDmyKZHMxADgHwZK276
 Njm/AmKJa+ijqUqDkwkFP80qdpNUlBzgwc2smAsAnxkwAZsJON/ZkfYxe5K1v4Ev
 9dAx2x3VQbfjpAFEbTE7AteZ+3Tf8s4FiT2w/3ASNunoLZIc/2uO5hcOr4nKsb2a
 Sajhu2GkK853FCy+EyDHKyXGYNI9UyS0G8p/SRPXpO2qXVRkVUtUoAtsqcq5vSxI
 O+m7RFfiLKTe66aa1h+l86M/Fvz0kRjzk15l0+RGgqjhCKOk0QLQA7C/igKNONGy
 xxGn1Fnmg5285zIMrkfzqYTf0UscIAJ5InUx/botlxxkTFHex7ch7YhGBBARAgAG
 BQJJkf++AAoJEMQj1y0zHlzXdJ4AnRpGZWSsciVzaWGaY21cfmhjb5I2AKDHRURd
 GBUVb2vqrDqz7B78E7V4rohGBBARAgAGBQJJkcmzAAoJEGk9gwx7YoW3lgcAoIjR
 DQu2BNbMPCYEP3WkloDaCL3QAJ4o8ENbN3ns+WuWiBaLY0D4WRj42IhGBBARAgAG
 BQJJkpkbAAoJEPsT4t1cqOknPn8AniEg5I37X5UUiSM90NETsRb2DZ9NAJ4mtkOK
 7JfOcyJevHYZ7tb3rM50iohGBBARAgAGBQJJk1afAAoJEO3x30LzMSi5FBMAn2z3
 qQmi7/NvPa9fXxoRqfOrRNBXAJwLCA2hIFvDwz4THpqV01LlFsPIS4hGBBMRAgAG
 BQJJlqlCAAoJEFiCvj3vbcIaPbIAnRrZujnB3YWhc7RveChkz2Y+RgGjAKC/L+7Q
 rw2tXjEI8YCBx/jU/PjiKYiUBBIRAgBUBQJJl9vRJppodHRwOi8vcGluZGFyb3Rz
 LnhzNGFsbC5ubC9wb2xpY3kudHh0JhpodHRwOi8vcGluZGFyb3RzLnhzNGFsbC5u
 bC9wb2xpY3kudHh0AAoJEDrW+BGDAMwCVn0An2P7yLXjMxN32c8i38RzvmROM+Po
 AJ9wWZgjeDppKMSCbEjAankGs5oofIhGBBARAgAGBQJJmHLYAAoJEAnizUlE5svN
 G+oAn1i0MJm1In9uC5ZzazT2vBKEWSS9AJ9v4ZfB5msEnGJJX14jFaFpPAEAXYhG
 BBARAgAGBQJJl014AAoJEHm0KcCDVmNZlZQAn21Sl+2JM2/W7J/cNsEwIXAB9sNi
 AJ42x4jav9KRYZ+DeJ/jPMw+Ko+/7ohGBBARAgAGBQJJlszqAAoJENXJt1HEZTIn
 DHgAmwdbgJuJMIJgiFzX2MMBx/bKTxgqAJwImhBVj9vodb2WEddxqgoLUfH/NohG
 BBARAgAGBQJJmDqPAAoJENXJt1HEZTInpzcAnRhS//BPOvPXTl1EgUYY7vrQGVg2
 AKCWyQhiKkbpzpzVA6iOnurSynT1rIhGBBARAgAGBQJJmcQ9AAoJEC3OPyg21OT1
 W1MAnRuZgQ2Qfh5Ij2W5KjE2BT9bsQwwAJ9jGsqUhZu0gEnQtMEXnLTVqXODq4hG
 BBARAgAGBQJJmyAmAAoJEAmB22b4lOTI/SgAoJxL5EteXp9jvIg6pGBPzMQhF2zX
 AJ9h009+U+YWas7azm7S+Z0Bq9dWh4hGBBARAgAGBQJJmzLPAAoJEErbH4hriFRD
 EoYAoLl0H+qvdjR1cnfCI3pJDq6trWS8AJ9FkP9Dcj7B13LEDUEskaXzcqT4XYhG
 BBARAgAGBQJJnXgTAAoJECdA0PghelxmeJcAnA5/3Q6r6Eas4ESOAC86XtcVeQTA
 AKCX5DNQfnwFSmlRLhRRZaeGg32hYIhGBBARAgAGBQJJncLaAAoJELx0PKzWXp6U
 17sAn2M5mJLvttDrCnYBPVjtMIwuhNh0AKCHpKxyonNWXkab/7TeRGvTcl4HJYhG
 BBARAgAGBQJJlJraAAoJEJA1w39wJAf32QgAn0Egia/f52PMfVWvTss8t7Ht8uCc
 AJ4/GYK7Qyg3+MTQA7JTcO/D0w66G4hGBBARAgAGBQJJnzLEAAoJEIHn1YY4GYVO
 5tYAnj6HMv8wEOXqfRYuEl+R1985jL2uAJsE33yMF61J2VwRZBVfYu7G0HVH3okC
 VwQSAQIAQQUCSawk3zoaaHR0cDovL3d3dy5kYjN5ZGguZGUvfmRhbmllbC9ncGct
 Y2VydC1wb2xpY3ktMjAwOTAyMTQudHh0AAoJEN7qu9S7MM41GtAQAIbux/zjagmB
 NSxgHjJ8jAmxtpaDyfZMGFZVoV5GPLLWwok5XP+kHfdpMRYMQoJIjr791v0gb4r8
 tt0KOUa1QnOyKoY4TEv73AfKrlHjNBv5+aSqUt+uZYGxYTZlbeq7gJ+zn/YTMoNW
 Tua5gOKpkDyBoAShqhYH6rzPCsnltdN7BORwi5HIfb+wMOAAk1Om1RuxP0YdZIp7
 xoqmGQ8lHCd7cfADseXwBVQsqOv/egHXjjGH4eGxQlA2ghdv/th1UWvKqxtpikvO
 zgbgURRBsiHnHf9h3EJClwV4G3T+sAmtWT+v2M0ZsSWdJ3SM2fxDApOjKzMRcKQz
 o66FT9LXcHDN2qAbVrQU4Qr2Ow/1LGHl3rCkpDDzrNIEfu+TLwAwLuL+uSP4xBZu
 Efa25aHwWAOpXNTsuu9NXcrPeWzvLih92hSVdkFerkdBnlOVzip/VG5BCPXJoLAe
 VG7aNZJ12WV4OLWYYi8D0lZO/aJBItC4LQYdzgfsU0xSpQB/ksvk1ZnioUhGMNtl
 3FlNIt5ElcKL2SsaWXrfAnkpp9acZPg9ZvDY8cRnhWI4v0hra12FjxjRToCB4baG
 hMokewRd6J5J6ig2vKybO+k/z7BJuDzYCeDPLypos8sOx1ZHEsVC6D1032KM3TUJ
 uiLDeXbZCgiOedpOcMd9hu/rjWrhbI0miEYEEBECAAYFAkm0NP8ACgkQdkeBByM7
 nqATygCfZZzzdqCrx86BZTCqEbJJLBhDE8cAn2/DDBqAMbp3oB9AUnzqKfZKVVMY
 iF4EEBEIAAYFAknA/T4ACgkQv92vIFfdlZfAsQD9GrHRE57eU2nUTu579aZeuCMf
 Uqosblq36W5tL8JnsgEBAIqNiK1WFuNUSWkomYMZjI0SsRK0qgKHI/03ZfKatouh
 iEYEEBECAAYFAkmQjm4ACgkQnfxiFjIAu8ffdACfcRdszB9AoxA0tlZqTY7kHU8S
 wgYAoKmWuhafhKcAPCG/4FMVTok1AhgiiEYEEhECAAYFAkn9FsoACgkQEEWdBN+g
 pNRfQwCgijL7cpIrbrQRnhPTz928kjWwRVEAnjNWtK/JS0iazD1xuLAUYAb7Y9N8
 iEYEEBECAAYFAkoE7ycACgkQ02Iyke0KdU0pCACgqpob0xZMAsiF7AULH1sZaNlu
 m34An0TZMR1yQyoLjEdsdH2l2SpkFZUMiEYEExECAAYFAkoE9BcACgkQldnAQVac
 Bciu5ACgnR5lwZDTEJEcNXQ4gyOXD+hnFr4AoINjl/cSWKKhNchkL6VXCuX6HgvI
 iEYEEBECAAYFAkoMU6UACgkQtA9uJlKbngSmMQCfd7wKp5bUR8zdHTGKAvtd9V7q
 j18AnAiqNS9HiXtgl9Fk27aVrmZLv749iQIcBBABAgAGBQJKDFPNAAoJEJj+n72l
 JOQGdRYP/2eI3Dj/r1ynwBTK3KPc388rNvwibt250lblk0B6J6WOLG+/ZYk8ckZP
 8uiGV86aRwCGqTJGrasDYPkSlgVvPCgJ8gHN2npWluRZGWZFlRSgxoq6sCLDbedc
 JXu7q7r/Dt3dk/O8lkKPWuGEb2bJg2Zdjb9XJoB0QvEMZ7sUiJlMUAmZH3Xh3YQE
 y4ewesonDDJRkHtuWOvGoGIl3Av9s7z9K7O4s+Mz3FI1MRwasB+bmmckBPqD5+u1
 Jqrqq6rO0eKacIfuDMHMvZ0DlzD9XcjP90kBGuhmQx8tw6DW1/P0FHThz0nUQva3
 ZCCJ/VnKbmz/p9wuXAA09D8eHe0qgih3WyzzGbwOYkqEoWBhA1deKwuXMW9diXpz
 2nu0P5MJ2EptejUIpKjJgiBQ6YfNM5SReNuA62kcqThdYcckJoVdfsP5xbSc/bwv
 1npvC0t9VmGb+savspf+c/j+dWPOP9R0QIhrYVqudHgiI4wGRD+a9dY83t75z0L0
 9hclujk0/rSfRx6qpHlv01R54BJSBawcUrSU1cwrjPXcOKou6LLLTRPLBlCzoO4+
 QnpWDrFjgoXmm5Y7RSQjU7wCxXZr6L7vbkcDCH75C4WlcMEZCYx4Rzfs78hzx/BS
 Sfw4jdA/SFLfRtODT7r5kpDVoroUDS5LcV7sYfb96mihYW1AMdIPiEYEEBECAAYF
 AkmR+soACgkQAlYAh8azrv9FhgCgiPNKfIJtzIsCZU2vXZt5+qlpRNAAn1kmSGRQ
 jab+0IiOAVd1eM/lftd0iEYEEBECAAYFAkrRyoQACgkQE6yPd32YBRMpbACfdc0u
 AuB7uUGEUu8BVIqpiVNo5AMAniWBzOHNVrW+SYwdf3DibQpDIEDkiQI2BBMBAgAg
 AhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AFAkU785MACgkQJknmKMXTTQUTPBAA
 uoXbG2AnDlaBpM/Y+Qzy1QWMWv+eOIix8rvdReNKnT8UO4rJI5q06MihTsvWbP+d
 t5fbMHO/3hXHdXQySMwbrGLEVpTHUZZG53aUmDIB1W6A6BGiaswNNQD+oSS+OGUP
 2zw5X2wJXgdZ0fYezWTmovsEPq9JsknwyoJ+M+UcFWwU6mbgmh80gJJtu+hPU6y6
 g+m2cheC4wVm5Ds0+YEwdKSN0IJel4YCxjLpKTI7v4Vx6r2AUv3FHrR4aeyBxUAH
 1rhoRD26WMK3/90qF/J/U0wCeD9QDwykiiykeJsl/Ga2WFE/anjW9arko03rJgLU
 N1WTxBCPNn/eoxw1WJwyTh5YvUAmk/VpY56HCekiym3CSLu7E8WeCw05I95HziSJ
 faWQQTaJFURbuvU7UTH31h0XhxKNZgoVwEenDI8e3kE7achjX378hCXMddZ5KajR
 Ykoq9i6wBT0+VxJ3axZuORrePVKpoFW/ZJ3RlPeG0RZob7DBtbD2sQuB7Stn5G56
 mjLRAgKR7D+jSK1NPe9ysWzlAxAlStSDn3Y+6vR7/HY6+NC6ZZMplD86UHl8RD24
 cFOC8UmiZtH5V0rBfCgQOxw9XasK+SogO1q8BTlx9MxqTW1lLXYa4emxky1AXDIb
 J+JqNCHoL8fNZrGWX5ne06mjbzJ+QEicd4B3OM5FABWIRgQQEQIABgUCSvXDEAAK
 CRDptvi/3hcWsLmCAJ40UYD9Rjvnz/OeFsu7lOerru8tmwCfTAXyqSC40K1ADy/E
 gcIxkmmZPoWIRgQTEQIABgUCSvaV4wAKCRCtePfEpK1uE50yAKDXBmffze3aisjS
 YQdRypJg4mX/twCg+pVgH81+sW41X0fMAEr28H/AB4CIRgQQEQIABgUCSvgeiQAK
 CRBuafjdksOBfvxSAJ4wobSYMzzssvJHe8qwg/PvWbyffwCfVwAiOi9zdMBUMCeG
 7el79y81aFmJAhwEEAECAAYFAkr30HEACgkQOYzqanCbUp3HIQ//W+Knq3OzOuZx
 9gJz+Af0/KmFnFhqPlan8E8dsh1/2imJYPvlDr4qEY+E4mk2feD8hrU0KnhYgGAM
 epKdJA8R0llMSfYByCB0RzmR1RI8P5ALXC5rAc47cG6oWzoFIeK1T6ilfqJ3lonZ
 EKg6tPuZ1JTk7nrM5Mw3LDF8f8Si5Xy6vemCtSIX2HtWyYl8EhDiYtxLd5iZxKMP
 gQoBSA0L9xEbkUHHTKJF8/S/S++g6ypqdCVrEOLY6S9c7eKf4rzyVRMpRr3usxyW
 +fPlvJ6s9PHbmA3GaxQaO/7J2qzn16eGzOC+NjLriHCwPeJP56nuQa2eGFwjPPT7
 rRsVTEx4zJPX66wU9EIfCoUXY3htq2YvQIiYVw4SXCrEMNftPq87L3gEgX2l1ndL
 aF6I7V+giUsXum6Phhx/HMAnIjs24DuLwS4gAxTiVNgP043cY0hc9LedTG+VRXxi
 BijUVHUgMylQ7iXa6VwD/Lw8HSyhxws+L8VTLWZhBNiSSdKmEW6jBE2B1S5rPnGJ
 TEfIufU7C+f5Ax6w3MSq/V69BLWbJPexL1/L5qvFK32cZVkZcb1RXL/WlfEe0TR7
 WfTL84J/0E+PJevmtuVZdnSvet3xz608W4VPv6JWAuHZrbRr5zYMpTzjK2d7oLCp
 IsQTxkNXI6+vs8UkR+lHaoH+GUW8O1SIRgQQEQIABgUCSvlW0wAKCRBa9B5R4zOq
 HJYQAJwMCx+YhNN5UiHsWOOScuRC5lY1SwCeLgJVjbk4Ph86uxtogTu08wW9vDWJ
 AhwEEwEKAAYFAkr5c2gACgkQZR7vsCUn3xP+VA//btZH7rHa+c610ILNLSPpd26Z
 vExZ27R0y0GSZt/RApZGyYOS1KGce1kwHD2CLafk1uGeWJcX9Mm1iH2OWFshcJkN
 25WSeeiT13IAd17GaSxQHOc4+J/sz+sxpQx347x3owRePLGTpMJHZnYSA58J/QNz
 iosPTqRZYMNLzDjXftmMCFnEwCoQN4wjyFMHAZ8KC+Vjg7oRu5xAiaXtNtjBPdT0
 S06Bj1o1StmgbFVOJjRlZWH2E8k/5FeLc5pUq5LjJWQAHy8zsemvybpb971eJFdA
 CM9Z1tbtN/zDd3thMqVLrmq+EgSnGy5W38QKDenFDUYDV9sllGLddmKkc7WHTq1F
 5kGngkljXqRse6GkLU96Q/nWcdw0aZHdVNxjfxbcLB19yu0bT9PqENAerT/5tur3
 6MxINBe5l4B17bJNqbHnP0UheSDDtmYW2hiGxvD79S52Icu9C16hiRpM/uhjBgdh
 hHxs1ghX+BMgi+bwlq97v3yiXEvH+kl1LIL1d/tVfWuwstjHDczlN763d9Q9yjPq
 PRajksOw/1cR4eL/uSCeYOUVTtpc8o4CYgQ24tAdUOYSFsmOZ/BVk9gWdrCAJZK1
 N3rVQbZ2XbaagccyfuoAmV27KVDV9ARGoF/Kc4Pwy5MEvVkeu9X4ywvVIy0ZAjPN
 dwpVngP0JST1Yy0Gc5eJARwEEAEIAAYFAkr68DoACgkQ8bMWiZWogtiMzwf/YgA/
 ICSjgcOuWqswe2xVwD/HBj8usk6bek3Uek4TQYmvU0NX5jcf3tMwT7xRyRRPSQYD
 hwNpa4OHsgswkZ0VFmchaVK7V7LK0+xR8bFvVd3x5kVAikoZIzESegTXEAKiUGot
 LxEiphyGJGHYO0EoLzLKDCmYN0itEVb3lEkHi/w73lx+AHxOHFYAGquoKdRVtgvx
 9TSvyvwYh6oHtIycytXkudSmVCBCeV8C+0kkflgSCdmnJP3dGp9ULRLSMl56EJXy
 NKF4fBdJ/F6Nf1u22IdVBXgHbFlrbEKIhLkrLlIorVoPfruwYQAa/KJHj5gabOvc
 WE4VuEvbuisTs4txFohGBBARAgAGBQJLMj3dAAoJEFzlxRuH4Fe+bUIAnjdZDs3C
 xLIIztDRy7QTUw5aPHHbAKC6yII7FFwJhjCZdyVzm6RA+o1HAYkBHAQQAQIABgUC
 ShUkxgAKCRAxfLvmQwQmeWOcB/99a6Gx4s/gVtrntPr3ZwdE2hKj6SzPR9IvXSiR
 QnlKBvsU+atx9yKEbE52/HxbNxuYXcf78bulzIPQ3SZs3eZt8St2neobhnRQ+pf/
 RoDSVn4H+0EsrjrAtPhFpV7xljXCZtF4kSYvkyx/wsrT5Es5shfZzNqCSEf8maV8
 0DdnUAHvnXQjSE0/VHK/nhgvGCZIBMPd/NqU883qp6Myf7AJ9+FJWurfYx/HIWVo
 fuXOaO+20BTeDpqKpDwQbciP+MsrHum3sae74VZm5ozurdAMqth877F11IEvSXK8
 Wy/RsJH/jut+3nQ2moHg6ZuIX9o4lUonHDq28ienJWyQM4KoiQIcBBABAgAGBQJL
 PhBvAAoJEAVcSzX////+UXkQALedbdB641J1+4T/0XBuHvfldRCBFD5RE8dzbJvC
 Fxt+iUrasbwpYNWNBbffX4aVI57v9SjoZ+NwoaJqhzRcg+JkOia8zo2jjWAxvrO8
 cutzkw8tvRUeY9K0909i5ACv4su2/PPYY+m+7XPbmnVa5cBibBUQXU2MCu9S7SJt
 /W+z0gKtsW33BUAP6rbXkcTmPRDD+f98BkRpR8QsBRqe7uvBPUzTq/ZRmpwFk+3U
 QwgxYprNOsDfLTFt82v22wRsIkGjzrSNaMB7dOEXPLuh0XiiipGns0O0Ky11EebN
 6irfDr1YjYx6LZpGKSiINxoJUTOth4uFls42wZpTaehF7nFNYmgl8gSMy8xLIuLd
 eDgBJS5jXRhRn9WMrXbPBP2ZG1GZ94qeHEjE8rAzsbhrkc21AvBj4YIuotPTiFmK
 yGtmMhl5mrXKmQV+R8iKv+ie0QdvcP+KvCCDn4lU2Fy99dcVZUp8eed2eBjd/lRz
 9jBzzg3FMNyYSZvKRJCNfvyzXR6YDVvoIag0TaPsb/dRS+VM5LILXC/dpRlS90fT
 nam9TuWRyUnXzEgbLNNXh9k5N7lM1x0uYRNgtBBqTZ0r+SlcPxaJDbIvPqAPPvJU
 ZgIqISLmrQ1SuX7pIK8zHBpPzqp6tLlWF7cPInJBNxwiWNYbqO6fYHqBVZkGcWbf
 D5wSiEUEEBECAAYFAktzztcACgkQ8cBcumlruBl27wCfWQKXTvPhyNkkykKtUG5g
 mJSAKGEAl073t1OhQPebmUq3Xe8rws32MUOJAhwEEAECAAYFAkt0ciQACgkQTMIA
 1oBLMk2Xwg//T7o1ZMO/CVSfpRPhDrbk0ygz23vI6t4EzvEuJ9Qya9jaOT9aANp/
 9HyhNuQMxH0I3B+nYSOWRp2b/hBJdw7FCCRcGzC/rRWIPDO5dtEZzu57ESht07ZZ
 mIjddz5pqPnSVPlDP6K5xwvEzhVaX4tyHyJpqPIMEpHW7/fQAPBIotwmzC8IYd8z
 GUwC20w/K2P0d/WysF+bMaPv943bD2IadeUmMnKMVLbCNFbijdXsEw0sWH9uNJhY
 TrkN1QFHq/jrP93mHM30k5Qfkha9c3S3GH3PUc624LgIw9e8O6HZNPpv1ac9arpP
 fVrR1HCSP6tB+PdfE0Z5Q50c4GKSdqpFZKrh9OSjopa+ytvHwHErC7d5AApJ+Xl1
 taHbT+SG1THee/XGt8W1SUZO54hb/DO8as23WzrQTvJSOdi3t902EDCv7Cs61tNi
 gJOFZ2Lb7d3vJggF4ZtNLZPwXOw0I/79LHLiugV/RFhPCfs4Gm8YxoT3eak3AXp+
 aCPVi32d6kId/ozW+tshcq4aVGjYk7ClAQ2ylr3wLpeIl+Ygrs37TExMSqfhiHUK
 aUv58CV17vCAMysSgH5m8vIBwVeWCDKSmDye9HuL51nru90rKLhJcnV9xMsAgsF6
 +PFoSxBwQNL1k2X6dO37xcLrAQsgiJXfphyOAOg72/VDphZo01vX/D2JAhwEEAEC
 AAYFAkt1c5cACgkQrFKReUz5HDNmSQ//dQxSQRdkPElrRRg2T2fiQmcM1EyJeFoz
 +99RKEvW6v6bUJC8JeT5WkLr9BnlXuBoNsXBHEMDY62oWS2vGDVLYyOhzfYrFg4Y
 CPNnX4foh10Mt19g+Saz6TDtmlzMEHzoby0lRnWZIvs8qJLXNF5WY+MWQQtvZqOT
 0ChrZ8InZb/7I/5zJ1e3YJ992eghxQJjzoIGxJQLXybEBCYK3N5Ukk60d0C5xKj1
 h6HpP3FAVboTYlPuT99GoQJ4STK2RlILTunuDMymVzCmqT3ezvSocql2uBggtLwZ
 DM/WBhuYsSk7sopTndMkOgmyCeZWCCvu/aEIaqfb5/Se2UYpijtUNu7eK/WXUT3g
 ycZRN+do+iAej4atXYmt5FE+6F3HaKsDQPnYyPLBhvy36m/hFvRhjD7En1SCcRpF
 VnNN0Ejluzpp9PD9NtyKKCuM+teGYARgZNvExBGvf9h/EngVGGv6BimXG5yzPCMp
 ix9ykNPvvkHiIa8RZMXVIYu3S+A9KtdieI8w78fbp8FQt6XwTD7et5dtoGDJGNGd
 vQfZuaiQpf2L5aDCOjuqIy0A7XG5cUxaHc3ARzg8xQ5eCKj0C2yS93GBar8swQ88
 qfCXBtPFEJxBPHg/eoDfcE4oU63M8yjA9ksimJxgEXQqyulzlKTswS3X70QV2e9e
 sk/vhIFI5oaJAhwEEAEKAAYFAkyyKhQACgkQBuqgZuOXgy+Wdg//VHHA+3Mnsefv
 yc3jCI3R8T7/vY8+XmtSnd5sMHsLSWG6tDgyYMfwI+kV+EqG/OAoj2CnfZYY38AD
 wIQUD1wdMTiCYylo3krOAMNv2pHN5axe8hv0kYSIyRPs9rG+MS3UCM5/CDlj+jku
 ZFejwgxW3Uyzzmo92PFr62upLolvJRT3QA53JmWvJXrZctKhXhJ5F/aDZnjjPtO4
 vVfX0ykxYZvRA0ey3vuxB7QYAIJAs7W2VCt6SfrQzTLQ73Uraw4SPl0ItkFHtrjw
 Bgd7fpgnMBHnu+5RRc+tOURGLAB7kVFn66B2/z+fj8dIOlKNhFGD+9+H8BO3LBE0
 ac3fIu2/gZKY8j2eScGuIEDoBAhKQdUwD/mtdxf8QCxebdzGFh0I4US51Q8dML/a
 umZWSISK/9kFhRxf4kT0IL/242IUgzJb7rFUqDdhaM6GOjA25JiZaw7072VxQDX7
 81N0Gmovk9L5zzxgqJHfw+GZRViJDymGX0AiV2FcJr4r0WzBW0ptXSm4eAfLD4gC
 h/lXXsw0QVQjWVXL+bqfsccPpHNpL4y+X4LTERiMd2MAK8/vosmDUba1l6Jbex98
 gb3p6qaa3c6Z3Y8LqJGnhfkzBNvNmPn7eUh2Ybb/MPNrKpTrEbc4sDKWjGH8H9p5
 AxAI1JNssxYyn9x4Vi6PhgrpA7egCGmJARwEEAECAAYFAkzA0KoACgkQeGK55F0b
 WO3aPwgAlvawSZSFdTb7qGTLu/xte5DpkZIo10QvYaFA0IK3cGGiExZtunIvCtBt
 xcfydfHUTsiuzTyZCanFhXQvdztaz+ofqUDF9Gqz91bIfXxwm/hzbjq0C+2aeOFN
 gExC8YBBUoNQPEogJTqlAqXKajWIGBOiSF3RltNB7BrqeG270ftBwMVXyn9dMUrR
 htx3QT/K/xLmOARLKw/gu9EEGuJ4xUoq++2eAKU9oNlw54/A9vjARh0JcKLY/kSm
 ysZ1Jr35UKOkeIZ0wc/PAwT3Ax91vmD4wy4Q8UF30md+6l4n79+UjGqlg1D4pVnj
 GS2jdOeCDoZWihHHKKwh6DJEWEYdFIkCHAQQAQgABgUCTU+34gAKCRC1nrciAtG8
 ZczPD/9tXtCMIOT+B/HyYOqe90aK9UjZO3iHvihqpQyyv8UGfKr3r1M7OHo1nUXl
 vwzmaiZt2sz8T/4XhL4T68IsxBUhZFzFqIQPyY8T4JqX8C4vW5QiVwmhIHVBs6nK
 wM6GVR2uZ4RGSLgWC4V38jdQpe07fqtub1gtwe0mQ98OtyWJHnOantBtgLjMogIA
 SBpdbqLnu/wLwxctGuNHI87h3s9TCPQEwQtLP4GY9pnfP2JgooMvhXRlSkpIdi7e
 XAekPHVYMjcvrzW3Eo6soCBLp1O94AnWnrenEpNIs5g8x+NyQUtt4qhQRX7/EGFB
 g+9QtCJkzKLYv8mYqJQnV7jRqPQ+g2CW4SZFKmIuO31aLBfxIaz5f3kbS2PJ5zLf
 fSa2qvGtkGFqocI3okZbvnObbShcC3bRb/jGzltJWjTSrxg0h+vR1OKSP48K/vA+
 Hu2bK7zbqShi5Pt/TcdtmZ5KZGHoyKrP1xvro7YI2u3Q3LIN3OR6IZ0veO6mbGtZ
 uYxtaQ19gXwsrXYXsYlt0c63oZdoTYvzE0O7X6Q7naNAsdGSCaVCLBjI29utGDW4
 eU5TmEjPKYWG1kfiTb+o551skQ94z2etW4btGi64+a8H0w8qr0Vh8iBXVOUOkJBD
 yV/I72aqiyxHRSdqccRnGafYFCrFWg+PG/jRVNj9dPGzrSgkVYkCHAQSAQIABgUC
 TU8HYgAKCRCZkx4l2R4BLDXiD/9dxlxduElxbvTsjB1fRzZZvIwLKurWT9WpUcNB
 LRmT43WtWuM4YSk1B1Aq7HbAH5avylqFDKrBNOyH/N+fdpmSq/yw87C3pCEvVgg2
 TkoVQ5B8sjwMlv7pAsylCvsia00bOL3eOjUee1ngXp8r1oZc0HdhGuhCUjsdzghA
 SBrkkzWprWv72rLF5846n21ajLkGi6voOgHf0PSqwAIKvBbBmMVgeiTSFq9WTVfC
 YtiOVFeQCcAZfoZC27PR2vJEZT4zzxX7gfOOJVDG7oPQriSrOJWOqWdUzFs1NbZt
 xlFEUrY0wsMPau5a+xCj1DWVUavAqoTpCUzPP+/yqi/kaNCR+YNZf6U9U9JFwNf9
 NXckQ1icx6Brw4vIIDTJ6NcV96Mwd4whg25K40fdLi/nHPxn6W/NE1EFBaiEhVwE
 QO2qQqBRlqFWjUU1CkjZN0tGr2P044BS0ZHGpgegPjoMmqdVlYDITIdtZO+a95oc
 gYR4yqwOTQvGave0MWhSj2PDlCVHgXhJMTZRw2lswhc+X6f7KdSk8OdzKB+IPIxO
 PlQ+yCgRpeU6iq9RaXKhMSnguXtyksA3mFMh23sQ29miKKiqV56pU87rsY9fFcwb
 SvKZEFH1Wr3jnEPWg1iOXSRbqtAm/9XSxut0BDvd+nFZ26lXY0//X4jqR5ioTalL
 Fg3HNIkCHAQTAQIABgUCTVMLaQAKCRCpyGyN066NOlj2D/9N9McbNchfCF+Dkrhx
 1nSoHS+zzBoTklu9Sqec+NQkjP5EBNzHbh4+drZbl4L6qAwdEpbjDyu5sEkizYjr
 Ak6/D0/bwVluTXcVTAM9c8EqxiRbjR5CWiTMRIsfWfgleMQM0LhX+bkeKn/c6C/2
 FJchhVCyouRdRoU26J0nQXSodKC4GSTwyo+hGqizRgfsiI2UdQjJSevDn/T/hd+v
 ZBeNHtklNtfjUEqNsc2J7lyLaeg5masY2/viQsJBVx2lP3F2WS8iI6H18bF0xS4G
 BCpWdkgCMkDLQuFRh4rVeW0r9iP9ztjft/GBfELILsxURBQTslPaO9dDfC5+MjBp
 oO9rLakDCgm09nAXUqgmFbVV0R49OLySygnB9/j7RDJR4U3wlNXBbw9HTM/al/Nz
 8uLckXI2+EyY02kPFBK8Wz8cy9YXWtbWA73rWlE6slXDCsfVDWuWl971+Ke3bhWc
 5bs89sMNl4MuifmSUuNH/I4N2ZvFUuBmM8dJ8VuRUGEq7Mlwg6m3vYW+4KPAYAk5
 ATnxJ/KMTkubaE7ttjaUcrEzaV9pQ7M65H96rGrENCwZBXFSTrbiuA4+VWo5ov5V
 iqmnwAHfurEu97EqR1nrLsh3e/VDgQMOHfXdT/PCaM3MXv9C1DUskmcDjhXfu4Ta
 y5juw1zQqTltHxImmt6qI48/OIkBHAQQAQIABgUCSswIvgAKCRCQV4eJidhUfghE
 B/4rUSTCj+YgmrrInLwu8TjBo05iqbJoIeNYnWj7imdDoauZ8rGuS6hpVE6dnAW3
 2UKRSF3SBiW3VcStAjam05RNHJFH1wfjkhThByGnUWhuh8xUByVG2q9RGKyjTIc3
 VoBARq6b88ZgpsHKPZETDuIBPq/EaEpKqCg5BjVoxUh03XXnADw0IPdSyKwLutkc
 R5Bb2iUw33I4ndmaAgDk+GEOOi7bL4+K0pZi9x8PV51Q7Lbf7xracUsd7eAtsYyK
 36FZuyIJiBzHUbIyIqCWObPeJ9nydZlMNr1hLyNw8xO+AkSQJ4+RB1VwM8kheTUF
 atK+DiGrxQb3aBMy/9Nu6ODyiQIcBBMBCAAGBQJNVGcGAAoJEKwwh5qrVbMS4x0Q
 AIZetkIAbfysOzywq6QD0F26ooxGSwg4u3kEDtMImgxGYOyDlHFBrXpznAWf6y3k
 R7psSuZiO5faQvi2iiObP3A7kVzz4Er84J24mQGAIuQV+wG6NR+eZkAugMiTbNQG
 4E8fiZPaPi3ijFYkSB8awc7KMCU7HWFS8rJMDMpYPfpO5+R+EDgm2gpSxxLzy84B
 3pWoFZ9NuMAXcDxbE+841OGPj/FX3ub56OfdJC+4Sx33RlXJa0QHUYz4cyU+1Csx
 im3Mr1Wlr4asC+FLRKubDr1q88Q0f8XbaHoYEdxP5AD6mxulxcw5mbM6osfV0vza
 GwE1dttSD2VRMuUa+DQqBwnjRzv2zYKQaafoNsD74QwWMOxDu3NPlx+c4D7PYPX0
 gf2IHhB+0xZ39OaziXaJ3VK1N99gB+POFYmp76avsjyLa5BbE6iybE25+gf0iuh3
 7PR28ntRp/52MOVdyeSi7N+TkGNcmoSxh4l70IK23fg13nJGNn6d4auix+TBAN4F
 raYO502MYoBTALA0c8I+cCUn7pwbEkYCZm7Vfpw8qs02Bw+bi4Kd9aFuu3BB5BJT
 G7osyCLyIKudQiQ1aBj5Frx1emsEW0fHRMT2SHRoZhyG40Iys2K7KH53P7IMJKnG
 W/n99iglcx5aoblSVMOCpU0KP9s/yLAc2mimLdH5D7w7iQIcBBABAgAGBQJPT/G1
 AAoJEG0JgELA+8yk9l4P/iFyMOuKcFhnhTeFQBl/9x2ZkASHIJ6hahUYdBVgAP4Y
 38u/E4aBJv9uf6AA498+n3qynBGi3ZoAsl0oD2A7JLqXkJrVrkQmh/4ZHGs7PWKc
 3UnDdfQEaWrHdArVs8KwU+wK4q2tSZJN78wqVGztccF409aRMZGYY/rE1UORkyH5
 fO384x317mnEGt2NOofLxVio5YJzsmYtlLbmzUKBOGjJ1gnN+K2M9rba/fsC6p0Z
 q7Nv1S0LL7xfOqhYCDIVHQVv2GiTG3Ik/s3IzjpACjJbO/omorzHal0/0/CNqqNC
 uveAgSN1XGI6Pf3O2Ww7OK8P4CreqYi5OlnBQdApKTzuVug+N7x9ahjecDwIiiCK
 OJiA+5+SO5orZq+778fc+bQh1SpF60gTQuMMphe3ODlxHlQUGRqFeHJX2M7rCsrR
 ymiizJ5lcITW/3A54dFoFx+qZE6GEt3sh4jlswmmKgBeL4mVfw/rz6KTNhkw1b0K
 oQ6nD1nhTceYhFkPqNc+vKlGSsZNvi+zPuyPI9x0jtqjJxhhjpWtK94QGZoLeltj
 NafLArsMtRf15OBitthZeZg2vrNRVaauG0ruQfuZypzK3+ROihtNiiSjxnUfz427
 f+FE0TJfzRZ5XqAjlDSXi/0vptneN4t1chooI7BazM8FE0GpdRK6TJVjZgk6Few5
 iQI3BBMBAgAhAhsDAh4BAheABQsJCAcDBRUKCQgLBRYCAwEABQJQvk3lAAoJECZJ
 5ijF000F4NEQAJU3mt4In5msA35XO7yUhqu3cGWbPJakPdWHPv0JqMkiZakfDYT+
 JY5UpCSqDQ5GYfNlWhd/RJ35hvT4san6zgInezInYge2HjnRRS1Pgia7Jhxw6xRr
 DEAvYVsY+igjaqrIfslldyf7Nd4z4gdVa+HgX5lEu1MEj76AmCIapOJ5ROkxDzhY
 nLExzPs5AykCYqYSCoQxqC8k6KUta96i6KklYvNJE55wx8zm+zU++gtCPByH1k+1
 8ifAfWUd2PiPWz/mP45fOHX+UqQU6SnuaJT8M0XX7HB+XAWiivHygj4hGlvxknCC
 1wXwh1uhxLMuHLsBfFojEYmGre7mvSI65L4NHWOI9Inhjoszm1heSRnTDVTaLvsF
 IdP4NAo7Y91MIqxDbHC9t4bAIdSCl1CQ/dr4MQaYUKnGsk9mcXZkB4AgGUZsXJKu
 6aiW7TRqgJ4Z8j8NIeoXqlxbymM+yh6QvAlYlDz7qkkeQBuKaOsYOhR0E94DcByX
 ql7WcMzrGfNvHDZUJXzUm8aGctF97hFzf/qq0Ju/5e8spcgiSQ2nyf9zMuA4Fsgc
 oCeztL+YzO9SfDmfODR2lRX/QYw95rBBeaTG8clhLd6917bFTSbXxdCJqnBhhKH9
 s7BKh3BWUvoe3rOr2FP9Hd/eO6cBAekUxnKtGcA+I2b6RJj754BLfBqRtCFQaGls
 aXAgUGFlcHMgPHBoaWxpcEBmcmVlYnNkLm9yZz6IRgQQEQIABgUCRTv0sgAKCRC/
 S9DmBJ24eabNAJoDIST3pcelh1e9jeOlgguN1yJuzACg4pEZIg90beWej2cyZreF
 pWu9REeIRgQQEQIABgUCRTxxAQAKCRCrL1pbFSVpkMFNAKCGKJitD2oXhI3ksLcP
 iffmY12QRgCfTGBczEjwdjHZw3MlCVrSTlyGkuuIRgQQEQIABgUCRTxyDgAKCRDb
 hNR2Em1HwGi9AJ4rK+uYCFJEJz2GFkZOSU423hsbqACfbhJeCMOx902OO3i+u1mD
 Uu0P2Y+IRgQQEQIABgUCRTyPmQAKCRAmpHxq/m2FD/kaAKD1YBArLJ/g02eDj5KC
 m9l8YzlGdACfRvGvPKeWFvBewIQmMJ33hafbiuKIRgQQEQIABgUCRTyo5gAKCRBW
 QSbyKfGb0aPIAJ4gJYhWApLrg2hpwS3IM0dTQMxZQwCfZZhPyB18UL5cV5UjYdnJ
 dQGm9ryIRgQQEQIABgUCRTyzWQAKCRDXWV03S3KWJXsOAKCdA+VwCIjyqsSvt6B0
 J9JKu/JqCgCgvaQAUx/w4T65HP8iXCBD31ZvSHuIRgQQEQIABgUCRTzxLQAKCRBo
 4SUrfaXFOyaAAJ9txntaba0xCkvpsg1RHG1/xqCb6QCg2pFscumAEk73zaZ+LF4v
 N4s5Oo2IRgQQEQIABgUCRTz3tAAKCRBz3mmMxxQFotwXAKCCcouAvVL9pVDTdOfy
 iqQBLHePxACeL44Kqhk/RxVEHKtdvcP2leFTMTSIRgQQEQIABgUCRT0oJQAKCRAG
 8qUibQjXoTIJAJsFIn5K5PoKdEs7/5AHnW/M5DuolwCgszWYf1TpsJ86FKcqtJwh
 yyJvPfOIRgQQEQIABgUCRT3nFwAKCRCqz7OGIRtu75wFAKDpa/tIOyr9+sr1Ku2E
 7oqni36IoACdEwqK0PHVkqSBeYsHRZL9pxvgUmSIRgQQEQIABgUCRT4cPwAKCRCp
 F+nMmW4UXtjvAJ91z9bTHTYnJYVOHwwhp6JI9iO+lACgjYqFPMimyCMWRY2tz9Zh
 AIrcwe2IRgQQEQIABgUCRT5PCgAKCRAvlRUIquYCLv9KAJ0Ul0o5RxkiByoXlxKQ
 2VwFdXyVLQCfYGj+npE8lyFWMBNKvOG2MwvAabiIRgQQEQIABgUCRT/RIgAKCRCU
 atMLhyy6BCx9AJsFH3jqiiMopgTmRhN8cFHpwrZARgCaA+7Ee/6x4UdZWQXLEQWz
 rEMnk5KIRgQQEQIABgUCRUBnUwAKCRC3KKM/RXdR9zJyAJ45oOaYuQleJUGFR/DH
 KLXZMJvqnQCdFhS5kTAKUQLEPYpAp8jNsYbMJ0eIRgQQEQIABgUCRUJvjwAKCRAG
 BpzylpRX8CqFAJoCGxzGC2d6bMdf6B1x7WD17N8N+gCfQfsrkErDmcpCiV1AOhjI
 I21XCDmIRgQQEQIABgUCRUJ2BwAKCRAl0ozFlX1Yz2aXAJ9BQhgtzwQrP48D6W6F
 jp1gJc6iFwCfZjR3uoY/TYc9xfG65vpSeZV/2LuIRgQQEQIABgUCRUOFwQAKCRBs
 dheMoO2YLSIiAKCHCRIZoURwn098jUFHUFUliXjscwCeKizCJyrsyfPls1QxMm3x
 wUUjjLCIRgQQEQIABgUCRUW//wAKCRCzzi0jOqv5kpahAJ44+/37Z+61k3YNDYUj
 X8Ttg1Ch7wCfQXgfhLbRGKjbvirh5GO7YtqYB2+IRgQQEQIABgUCRUYaIAAKCRDK
 OXRZ5RsukfWCAJ4q9USq+g2YmcyS7MqCYaCYxi9sOwCfYQiz73ODa+Ak6JT+9fFb
 FuVE0Y6IRgQQEQIABgUCRUYiTgAKCRCgT/sbfcrp07seAJwPM5mNgn/RMqmhb8+q
 5dK0NBC9QACaAtyx7okq3GY83zOCqY/XBUo9FvGIRgQQEQIABgUCRUeCpwAKCRCX
 zuYSq44+1YxaAJ9S5edWkON4H7OP4oJtP4cvxpu38ACfZbE0hA2ifUCZl20APDNL
 1TmDzq6IRgQQEQIABgUCRUmt4AAKCRBZpuf06O5OeMjeAJsGfsWUCdlGEzj6uRxf
 cfFx5qqTiQCeLYVHnFc8ru/KUWjMkL73wuTl/zqIRgQQEQIABgUCRUscTAAKCRCs
 IVYmoSGHV4hPAJ0SDGWstcPjrRRgeaSueLbgO2VRBwCeK53Pyxjq6wxrFvb/Cfxs
 XUDxsDKIRgQQEQIABgUCRVRm7QAKCRDYynilHsVr7KbcAKCxCYY/Rh3srGiC46+f
 uWp9M81XmACfd+prGoSygBPb/aVHeIO8TbcwG9mIRgQQEQIABgUCRVXaEAAKCRAW
 iu9dsSk/NCNTAKDOHuzry7rOqF+KMpuNeVTgDJwPwgCeJXuBzde9AW0A4iYBBlBE
 GA3GQQmIRgQQEQIABgUCRVYcPgAKCRAcqVpjVrDKCC3dAJ9pLebq/mKQqXWcq9Bv
 gCWuNyYwOACghBo7dpyNlrXeebRp32hFFrowRpiIRgQQEQIABgUCRVcbhwAKCRAV
 1ogEymzfsqz7AKCS34otIJk+HmU+aryIIn/DmMHvbACeIzVPLIurEYp7iZEfaBMD
 /hgna0iIRgQQEQIABgUCRVcbngAKCRAw1DpuZOviIIdaAJ9mtkxQ2d0otQiE3JdH
 ixGb0Exp6ACeM9um+OJZPsOyf4hxfwNanssUEqKIRgQQEQIABgUCRVcqtgAKCRC/
 5Dh+VOJ4+BmaAKCJ/9eHl8BaulzNHDvhANJjBI7lfACdGFyfvy0tTTwiHdyxr994
 198VI16IRgQQEQIABgUCRVdJGwAKCRBdjovp8jga1IoUAKChxzLgQirAyqeFSHSH
 Qr2HNi3ZLwCfVD/ogL/yi/Bj7rl7iuY24QCKE92IRgQQEQIABgUCRVdJ0wAKCRBP
 sciLHBObxVuAAJ9kEuqe+qYT91D1DGPY0YFFroJeiwCffH8qaRy1gTApui+5r9NB
 WRaOP4qIRgQQEQIABgUCRVdLCgAKCRAzESRtUUfc9Cw0AJ41tiovWRqYNeYaiVyw
 JXIBY8au6wCfUt3jfkignW8ExTNL9hRQZabFrmiIRgQQEQIABgUCRVoRGgAKCRAU
 ZZfc3MOZx6xBAKCm7LZdxj6z7J0AgT39rrNHkW3XTACgo5inRvQh6o64sqZleRit
 Dz5ibz+IRgQQEQIABgUCRVrO4AAKCRAXcp139KhRL5F3AJ4uD8c8dNoWrxN7zAqN
 ITXAPzjMIQCgg7jNZ29LACVSk2rgsszJeLdGJ4eIRgQQEQIABgUCReGTyQAKCRCY
 S9OArF9wDA+iAKDFCanRqxlPI/kK/veVm/w/LKxNkACgvmbzwD8a855ZFdEGW07u
 HbaTFyWIRgQQEQIABgUCReG0xQAKCRBQAu+xli44kPWoAJ4i6UOcCYhOgfds/4Kj
 JecXB6O6cACeJLo9SPAQJhBbUUYTfpP5/IFZRfmIRgQQEQIABgUCReHd0gAKCRBN
 RMAgxcBbrjEKAJ0Q8NKGbEsk05GYgSXDttSeDOmbUQCgg7Vkk21xCDK+4PSg8TyM
 nEm+ZGmIRgQQEQIABgUCReHlTwAKCRAlftwTJfFZlB5TAKCypXwdoY9dywy0NcNc
 mDeGnk4ZhACeJfEam+YR+SrHUcR2WMla9IyhYQWIRgQQEQIABgUCReHpxQAKCRB4
 Z9U8dHk13WaGAKCNsaIGsbtwl+zfRS041MWB00f1OgCgyQ9UvJvWLRde3ZM6r9Qt
 9yKckYaIRgQQEQIABgUCReHtQgAKCRBYg95doiKbeKxIAJ9FeiU/5ZZpSPcqsQ0q
 yk1mzkbTeACfRreTDeon4Vnu8NXU1ByyicsZGHSIRgQQEQIABgUCReHyVgAKCRBV
 FWB2kWHpEV7cAJ9PcGMFj8WScdHwvenRaZTVPo4UKwCdHbL2UZHH5/dc15PukmkB
 q9gsP7uIRgQQEQIABgUCReH8LAAKCRDH2TAlnf+q1J3FAJ9dcHvB8Amr4NPhSgRP
 7rHNAvSAHgCgpJf49VKy2V9PIo0IRHHYnqhXYp+IRgQQEQIABgUCReIEJQAKCRCz
 sfgaAnh4gFRLAJoCriNheiO2IyCkGxnO1pM7NSeApgCgkF0R45m95TyGveUSkcmI
 /IMSe6yIRgQQEQIABgUCReISEwAKCRDlRN4Hm3wyjZg4AKDF+lW3wEKfxFsxbBZY
 7sXvWSw1fwCfWqynoJPBSyYkiQ8OPJcA9Ch+XheIRgQQEQIABgUCReIiGwAKCRB+
 TqVP0KtAdVNAAJwPT09d2Lq7Dmj97oFROFg6RLxs8gCcDdF7093zLrcUCyFNq/zI
 HIy0XbiIRgQQEQIABgUCReInEwAKCRB2SUAFSa7r9n+UAKC55DPfLnCXJVFOFiHf
 QOiPklAdhQCfd0rZZDnOM1sd4sEA/ghOvNXqNW2IRgQQEQIABgUCReIvcQAKCRAG
 VawQ8thGLylWAKChoFKMnhzaIaeTUFmiU7PAtH6yTQCeJ9HuAZDOpg7yKvMNxYh4
 LD4lGIOIRgQQEQIABgUCReJQuwAKCRBbk8AvnkqcnU7jAKCJzrCdpB6eN9MR/aZ5
 LqNgSXvdkQCfdK3xXIor/+D3IpWpDv4AOKc/mNaIRgQQEQIABgUCReKrkQAKCRAD
 JXCETSMT1TV+AJ9ovvsvpwAA4CLxDx7JYDnNgwO1OQCfcBLQSCyRirwZ/uFCgjGF
 pnp6sfCIRgQQEQIABgUCReLBLAAKCRBzHK/TU8GjL7RuAJ9PFd/MXcmtFZLB5TUl
 /CbsdJhJsQCg26bIWx01R7jrWlF567leDvRjNAeIRgQQEQIABgUCReLLPwAKCRDa
 GWI3Ajs/T8DlAKCYnF/YjBBydJhaVPovbfoTPFwnLgCfY9D8e6JJ5gZ7rBkBCmUA
 ChIyamqIRgQQEQIABgUCReLwUwAKCRCLSsSBrB5xXjeFAKCGFzRO6Wk9A9nUXVXA
 r3Z7dHxaIgCfdSpuaJopL4WOL2A6digpzlpJII6IRgQQEQIABgUCReMF3gAKCRAw
 Ao0kSBO1/qqqAJ9o4lSNcF81pocSlZh8mQeuv7bEGACeKsoRu+FhI86c1s12ogvq
 SFljruuIRgQQEQIABgUCReMlGQAKCRDTo3AErk0c1FKmAKCuh7Kh78DjZVDnYLDu
 NLNYhPlLbACg3vLk+lb6Qosi9TJtztUKALUKSySIRgQQEQIABgUCReMrvQAKCRAf
 fzJqEu72KmFxAJ9GXqFjXmuR0v5i4R+tO4BspZRuygCdH3td3O7KzEUnW17cxYrE
 dvhKXm2IRgQQEQIABgUCReMurQAKCRA4mlY8wnKhJkutAJ9byFMudUUQTWhxQALj
 0Np0uPRERgCfYgWez01y05FAYeAJi23ZcOMqaPGIRgQQEQIABgUCReNI0AAKCRAh
 p7U7gAlp78bhAJ9g7Aps7+ryo3M+5C7SRHpNDaP5kACeN5wRossuFjI8cgfvaDQe
 AXcJNq+IRgQQEQIABgUCReNJhAAKCRAonP/A5jzW1mvDAJwLCi2MiyHXuKSfJvm3
 DaNB2rTYTwCdGcFjpZtPmL7CWjpAE+AcDs9fXA2IRgQQEQIABgUCReNUzwAKCRBK
 2x+Ia4hUQ/YUAKDBh607D5ZZHH2/dHQh0zvUHKXkRACfTcAZwUG01laCRMNy9FoQ
 0UGVjzqIRgQQEQIABgUCReOEZwAKCRDPEjR8lovVh2cmAJ9TMoW54tzSKt2E1mqw
 fS4LMbJkzACdFWTuTVhK61X11K2H2Qot8EQVTZaIRgQQEQIABgUCReOXMgAKCRA4
 c013h5AUUoGrAJ4uG0WKDhDJhI4LxxBNUzPLIaFq7wCgwhwCFR4X8BSBBCyJ0/fc
 0hMrXt+IRgQQEQIABgUCReSjhQAKCRBJWJaXG5zC6m6YAKCdS+64pA8A4TeAZudt
 d0y2kN44hwCgiTMQP7v0iZC700XHjPJtL+mOQKWIRgQQEQIABgUCReTABgAKCRBw
 sgMhOvWdFv2kAJoCtVV0eRt3SO5Px/La2B6bLtglzgCfWHgeh58WL80ljN6QABCw
 QzOPUGeIRgQQEQIABgUCReV2AwAKCRB5DoyUYf/aq7lJAKCD/kTWa6ckTKfsTNlC
 IKBvBkOabgCfbYw7jf8OOHwwFQPq326WfX71Ss6IRgQQEQIABgUCReWphQAKCRDO
 gO/EkacH5M/IAJ4sDUbW6zDBUMqg7Yyv1WbhTqEx8wCdE7txVOs3D6WYcqT8wtlw
 xV9ftnWIRgQQEQIABgUCRemWLwAKCRAVWJRFmegdoI35AJ9ZWrOJZloIy3VzCOzS
 rU96A0VN9gCgmu0NCzSPwyvvXxtKJ9kBGyei7xOIRgQQEQIABgUCRem4LgAKCRAu
 Rz/3HXOENFB5AJ9EBeaUn22LnFUGGTWaU9Y4irJbzwCfR9ElVicsjzgIAA6sYXCH
 GtKt+jaIRgQQEQIABgUCRe3beQAKCRAwaekht5qHHD8KAJ4k0F/IC+MM+GWqquSZ
 389NP5nNzACgqzIHPpcth6MblGNBl7I+8wh/J4iIRgQQEQIABgUCRfHP1AAKCRBp
 0qYd4mP81DqaAKCKGbjf14Ol1Z/0LX1gYoUpjAnDKwCfRRY/lFFMRpvGxwHSfxix
 pCgRS4GIRgQQEQIABgUCRfVTJwAKCRDqYtO2aqvCoYzUAJ9dih6YnTC0bRQmtMB3
 Dzc17htOMgCg3E/9/CY6pnoNZnbF3EmMWAtwe+SIRgQQEQIABgUCRf8x/QAKCRA6
 kP/BFAjX8fuDAJ47FrArY9YU9SXM+vwUFZ17SfJI5wCglx+4mbHbHXrkYJXtus8m
 6XEeyfeIRgQQEQIABgUCRgo6OwAKCRCKZ3GcLegns5K5AJ9oYhPIAtdl7viUP/rN
 N5UUaQInfQCeOoKeW3vspYYeANOFrogTFQK8UjyIRgQQEQIABgUCRgqJEAAKCRA9
 r1SiHu9Sdm7dAJ4pJ2Efvq6g0QMUPq0kuHHG80i2OgCfcwXuaSJtapMSMhf0N/NA
 XR/kttqIRgQQEQIABgUCRk/MsQAKCRBgZdUz/cIFuaN+AKCDfIkS7AO8T1HxTwjv
 jRGI0W4UnACdEfeDxTiEVDQ5XZwGiELNAQ8Hkm+IRgQQEQIABgUCRlIHKAAKCRAV
 1ogEymzfsvAfAKCfbyt1xjrDINiK7yYotwqcn304pQCgiTg/6tLNYa1BJkCR4VEf
 vPb1XUCIRgQQEQIABgUCRlJtsgAKCRBIyc7cVx7kmNPyAJsGrCe9eIFgRKAaK/63
 RmutYNiwhwCeOfWZIOl8nZCMCtaA3enZgmN6tMCIRgQQEQIABgUCRlxPtwAKCRBx
 zq+s7KKK27nDAJ4l6oDWpDJ6gI83RHCGxpIM9vTRFQCfTCvfhMjwJmBYO6OhYoOT
 aW008aWIRgQSEQIABgUCRlDtbgAKCRB5A4OpdGbmUzDcAJ9fxzZITfnbEB2E7Lh5
 Ag0ExaujSwCeJ42GoRhlasLDD9iv4jpToDGQSUaIRgQSEQIABgUCRlDtrAAKCRAC
 SU5S/NpXh2VoAJwI3TvFBek1j4Pf82Um4lhQ49v7wwCdFyQ5m9o0OUb0La6DbH0R
 acu4AcWIRgQSEQIABgUCRlS2UAAKCRAyiN5tehQkxhnpAJ9zEHbH5PTmdfg97pI0
 8otOoYipOQCfdZXIOKSTnFP0UYzFhW6nkmZeboKIRgQTEQIABgUCRTx8PgAKCRDt
 GLaNFhlFU+G0AJsGEX8D7WKWfrw5b48gFXCiO3cz1gCfdTnEbB6ak7zE1TFrDucv
 wQQnmWiIRgQTEQIABgUCRT0OTwAKCRA7K+ViFJE4l8shAJ9fFW4Cb42WLcKEC8nz
 tOzq2lMAlQCdHBkHmdREJXeuH4xbcNMlR3lKMiqIRgQTEQIABgUCRUXO/wAKCRBW
 Icy6uAWkFkeWAKCxBP9vTV63h20y/a0aXYFDWaPqjQCdF4ObycRcneQOAp8eV9LA
 7mVhUZ+IRgQTEQIABgUCRUpkHAAKCRChx9zBNLckX+PNAKCYzvbAk7hKijSJ7hBN
 Uj11k4djEQCdEftF7eiCi8sIzYafXnA3XPQPMrCIRgQTEQIABgUCRVdNlAAKCRAh
 xQkWDkp4dUMFAJsFs34eDbS24g+d+YEzHT0bc0bdaQCeLY4bwVNAG0NZASrWoG5c
 l0nwUm2IRgQTEQIABgUCRVmZ0AAKCRB7u0XGKkPTTDkGAJ9kRNQiXE52f0A5VjpD
 qgjVGZ1SBwCgrWE92zOTFHV6k1xuqHwe4S/uGm2IRgQTEQIABgUCRWYIyQAKCRBC
 FEwGJTdtPrSDAKCNbEK9u7yYxMaIkBsEuu+F/zMD+QCdGY9dm0hvhAcQoDAhbb8e
 QuxBMriIRgQTEQIABgUCReNPuQAKCRCMJe4PDcC31hOmAKDD8+hlNKo6/kypWKYY
 5SSmbR3GigCgjTYF0f97B4XHNBvM9GsBlMphfJqIRgQTEQIABgUCRerf2wAKCRBB
 3ByQckSXC400AJ9e8pH/ptPkQTdv1I9VFuDNsi+oNwCeP4X7vG6yH7CdBzMaXihL
 VUb0HnaISgQQEQIACgUCRVSzOgMFA3gACgkQXyyEoT62BG2jVQCfXQklJJinUovP
 EcTyg4Xp/TNQgWEAnRUYSZcgOvqQserCmrO27+mZXiwLiI0EEBECAE0FAkXxgyVG
 FIAAAAAADgAvIGZhbGNvQG00eC5vcmdodHRwOi8vZmFsY2FsLm5ldC9ncGcvMHgw
 MjFDNUJEMi0weEM1RDM0RDA1LmFzYwAKCRCnfEveAhxb0lVGAJ9VTho2pYuXBgUA
 XDtjl13qTSEtdACgnJIawhuAGgRn4aFnSSbl0hKUwn2InAQQAQIABgUCRVXMqwAK
 CRAff6kIA1j8vZC4A/0SAqSrB+NajNZrel2XjuugGV46NDtcgfTZeV0gT4hPkbOc
 A3yzIXhW24ADsIX078DOIO3gYi29FO+wz+bgiv/K77CKMISWJsCWmkK3OEs0LoiB
 6nttsm1DjnD+vDQUaMwErnnINt4ZZnDTbx89COiJl+UJdEKYE+UWEsbqXo7qD4i8
 BBABAgAGBQJF776TAAoJEO2iHpS1ZXFvTwIE/3GBVEN0bHTz6Ync6qdN4bbMseEY
 /dboCpjEkN7nIlCpjnaSXwK/T4xOHkBDIP6tShzsSxpTh46WHZTYBjrBGR1yBsjR
 WynQsuoj29/7oXxFl3ClTBJK9rijfW4EN8TB0dy55qiMK/P3+9smF8dDF2DeU37A
 3RtoJ5XwgI5lnmQ4XaAUcDpxHQtiOhIdkCgpW4Bkrud1f0krJKZa8qTJ/76I9QQQ
 EQIAtQUCRT5aDIcUgAAAAAAQAG5zaWdub3Rlc0BncmVwLmJlImh0dHA6Ly93d3cu
 Z3JlcC5iZS9ncGcvNDI2NzEwMTNGOTRBMEFCRUI0Q0U5QjZEM0RGQzJDNjJBRjc5
 RDI5RS8zNTZCQUUwMjQ3NjNGNzM5MkZBMkU0MzgyNjQ5RTYyOEM1RDM0RDA1LmFz
 YyImGmh0dHA6Ly93d3cuZ3JlcC5iZS9ncGcvY2VydC1wb2xpY3ktdjIACgkQPfws
 Yq950p6dOQCfdA51eQwU98mGIGbiL+iFeo7gXakAnifvNwZWklCwBu94thjdz7y3
 J41QiQEcBBABAgAGBQJFPLwsAAoJEILS9urEu56fAbcIAJg+DWQ64CFxZx8xS62x
 ZtllxCQ0aR7ciw/2ULIOWvymT96a2D6PBOiysYVmvXeyaN1wpzmceq81PsmA1zvG
 z2noxONJ2W1hPyi5UuCX2UfjRsv/f4bGPTVHnAHGmjKJWDvZCLVRKK+7rzfGwaAL
 qutgo5NOtZ1SfQvfTzXvx8U+gFK4i0UpgX8Bkj4Ut16LyCYSiCjpw/7hDQrec/tc
 T7JgSn+h3ZFhye5UeodwHcP3HQUe5tCdDSMxllg6ah5cU7VZwhvv1NvwObDqxV16
 Sffuj+1+kUVi32uiPpG0wYzEOT9TCLjVV1C2s7SWMR/FBhR4UCrz1SXxoN/XULaw
 9yuJARwEEAECAAYFAkVXTTwACgkQLtRdZmGgc+n6IAf/SL/rn3PwM6qoBFN2XmZP
 8oHSkNjGg0yx7coLN7qDVNqajyEgRdZjfGDM/JZVtNbw4j3v+9V9a7mpObLokG7d
 SZz/82maE1Ylae9wbrAsFwfbx44nEAT1V+a3ncX7zssGcUcFhAFK7kg0Ky+V1e8G
 U2+g80dAJyd7AxKS3npJLLSz9KlYyG2uRzOlu0ANBl3fC4CFrImQ4zkSMBbV31j6
 o0lucGzouYhSCCiX765wBKxjVmlNe+lM9h6H+o+6QL6UuqsOhIe3X4ZnChDaBd00
 pD+lvjZGlilnzsL3z2dyrpDeYdfElaBdp7laaul+xW8gEYAAeV5WtUOUpkxoBwuj
 mYkBHAQQAQIABgUCReNH2QAKCRDo4GL2DcsEMfKWB/46I//9mS/IAAmJ8zKIqCov
 wO584oIKPQoxNzah4y8gZz/EFl7Vdbj2ftOZqIi8iCT8A6BtdpsnF8Xd20FsgAVZ
 GIdexEcrMQGDc8uMbvRQRdcYqF3PTPh0z82O5fpcG417IKUb3a8aYIkJAeNwS7Df
 gA1fUPwSzycwkmLIinRlP1zXjH3iXZ88sO+PMuNHG6dyx0+QEDRHHMeI2A9DeLud
 zF0hdr3GgSCgScXK5gPcPB119GQBjNuPn7iCjKRC+LtkO+SjDWo38qWEADZNGSN0
 ib9KzK6dFTeiXMkTpg6qL4sJcS/u0CX+cVmXUNUDUnXlbyfkPnis6pH02IBB+JS3
 iQIcBBABAgAGBQJFRK5NAAoJEFeTDasLhrBnlq4P/AxlHPsZ2lfw76/8c2WYDK+u
 o/9rGyzWo0mwfOSgyrJ5XISuQyomGsxWJf0bAE+WYJ4Qpw5BelqQKSKbHm3MGZg9
 bL5pvOYHonipYfkY4lzKRz0MYmtHEHf59PuQFrIa9b8xbS+A3ZtT0N6rtxc6AIeV
 bkRcr4mKCRW37Nqz535nag6BPQTDp4gjevGOGg7JAld2oVlVhGVy53aWI1B91MUJ
 S0/g1zH2gW28w0UREalHDcQ0qyxVLzuqslBdw245SVDYMRNDnn1yUnI7yBwdT3iT
 Pw4z5YQ0bAHsYMVur4Yk2Yl/izGS90bvEQiej6bOhoaS/nWbeWiJ8IJIkG9k/CH7
 pgg0ZrHNOohnSzwV2NmxPiF+26dRpQkxz+lisvh3YpVNIuVFxo+sBO+s6FvfTAd9
 r5xFgk0xkcqo7XXxyV5Co5FfXGX+zOYRrL6lqUpzbL3ZReRsGh1Fe9TtYNgwCsdq
 +mJsIYRHK/Z2a3sdUHyJjI+kqxI2o4eI2wx8b4bp5ZoHEKGQtBxerSYbJSoax+U9
 SpNFSz19GeUWYGss8CQlRkTAJ3FseQos3dnUw/LiCngQxpBWLrKriEGCiZLtWQ97
 MKEXmiDKKHzSjCfRUSdb52iOQTNtVjixpGLKhQ1KLSJOTFlgdvmYzHxUtrTCz2DB
 GCWyK/E6cCdShAsL8AGHiQIcBBABAgAGBQJFRRrDAAoJEPJx4K5ucD2VeEgQAJBT
 MyNMJ2h7+9gboW53BPwgP7U3j1nJUVe4z8eNjnI4wXSsjEs4Yx5vSs5wMpluCIst
 QIpca7BpwrptQk/V1oFk4ctSdpglcSVucUcqZfq0ljPEMbfJ2lvqepm+e+JWZirF
 Br+kbO0YwhSTG5E+06gGxojMhfqJqachbFaPaW5g6TyIJeT7rJAqQ/LUtkjKJuV3
 Z4xmH0bE+Azyv/cdiGDCIJiQliHBuN4DVWNdNw4mi0y9+R/zEw7UQi4v2umIrjIw
 Adgs+RNwH53ObPh8Tvn+IU/zsDNiUiS3EC5FQPYp5xFQFkj3z6K50aUkptoUKp1l
 LuOy/fGy6BXLeVQVerqnA7xU+KFCIXy7aqmlLCyQ8DkP/fIt4SZ8qiQwC/4S4W4j
 5k67B6/ikQ2fXXi5dpqlDn+HRKz6Z+JtY4YtGhL54ZTQwTUVKH5N1PRdpxIAWI30
 t+CdHfafyUJ5H9fTnW4gCuG4Fj8PcHGPI87T7I0yXe+K8pcMEX9QIm0RppJXEUxP
 LGQ1+efqDKLuTakPZGk8xNvYDTLMP7fdiL/oe0xZIU1hFNbB2AYEP/TfZ7KCt9/e
 f5Mn95s4EUHIXZ7W/U+6XCtSJehwVCQlsqDEq44NvJYcww+pQ7ANoXyhveDNJpqw
 fgg11tEVLIbZpkhOKAAmkZQW7SHKj6wHfGfWoHn5iQIcBBABAgAGBQJF4sREAAoJ
 EFIiU8PXJzmBYq4QAJA7pMnycrfEpgqcfnxtAGafebTEJf23DHcCzRBL+K/LMklW
 BA8TiWZBgGvLSs1ozcq/+ALDCbS3xuqbClVOXEqQsMkxgP8e0NY7nz92KHzCXDcI
 u3T0Gwto6uyD4bZbEFMW5nZ27zpYYRudZU5f5BYmieDsQeihplFyfTl9FMTjQIyd
 XUxL2wwDJqdBskemKoYTNyK52ZjCfFnjwTI3ObYmhaSlDlKmtgdWCSmBHJZTes8H
 iM2sJyp337O9gt5LvZQbbS4ipF7wIqB39y8eqhIqWzEYBiGAtqqI2El81oH2Cx+2
 JmtY7v7C08lDzockUigncGVZuX5amsiSO/XO6OnpQhc0kB4mMW9+atbO7ihTcALc
 FR4vNu/rneESKvus9iwLnBuETD5jEXa6hFVGy54esXfTAwR5z500LuN2PLzbkwOW
 VEGcH1/zCCxnTi11mFGu9XW8JWm5bvaXvR18L/whWNDWagsUb5RrimcjRLMo52Z5
 GmTwt/oNszyzZ5s1X1pVxEZAwN697S1lmy3gK/QY1iAiLUCWkU/fA7LMvwi4T47H
 RL/0QgDmeFc9iqSDdhuQa+y+q9YEdsxJeyL0JN9mPoRtpmeekEi7sX6JeXYkNM6i
 IzqXr47Ql/8epLZ0HHrAZIdgnY41Tk5977ucEQeegvc9KHYx0VTAgQUUK8tciQIc
 BBABAgAGBQJF4vyVAAoJEDOWFYjhwhhFLbkP/0M95Hrz5IPgtJVdYNw3swiAKUL9
 IpczoD+tEVlt9tLLMnVg7Shmprz44jhROBteIutY2TiPaymTYZElH+np0bTMmXN0
 YNtiyXb378MC+xM5ziaRHfkb1MIqrLgcCrC8ADXnX1IHn80Uil55u3ThrcRWsRoL
 w9iN8IQhpsyq/9L+ad/jX5+gjSY5cuJt7jjLZFef0gEMuzvrBiuoTOLWwmVi3m5h
 rgmSo1iaBVt4JrLv6Uqmyu5QYZgFd99qxO+XA7TvL3Cw3NtOZ3AfqgjKwi1o4Bp7
 xV76WXgWXKkL6vK5Gm6qeYi3Ccmqcp2MZy0VKaDc4eKabE5hSXsXALXCmiZSrAx1
 G/X6CDS4wJenJKXOgXQaqYwMK4LAFHmycWi4cu4Y2Hr2WCk6XckWqUMtacnF3ihJ
 6R7aow1rk9UQAvtHWcVXrrirlBJFbD1M866T1+d5+TLth5o/9UzWGVlvDxjaOlil
 1XHH7oxbLnZM/i6KI7y7eoL2iuzY/jFlf/SjKRBZbMqzy4fzGRwqIfi/s3bAOCqR
 EdeAk/ydCyXmoO8sMiAkV513IBcl/SPgsbMpsUfGNAAVxfeL2dbnsu7cKMfTPPqo
 i5PeCK6mJdWLsriPamUwOfReZHJy/GDY0KiAehHG1vBKuaz7IpRPt52ge52b3P7N
 l9R4DgaI55yZZI8FiQI3BBMBAgAhAhsDAh4BAheABQJK1Y0gBQsJCAcDBRUKCQgL
 BRYCAwEAAAoJECZJ5ijF000FXM0P/ifQ16y9fzJIC6dD4G98ijvo5TVUCoYXQPUn
 +ZKSaWVeFP/Ef74vbjrzWUyBDUrRhlZGr+4QhD83KDrg3WPytOLzQaeQly6zaPWJ
 qG+H58ydzlX3uCGkVoMl5BbJWGV18Y4W68H348L4vewmNrBMMWwlj615zo9dr0sb
 y+cxCi1MD7oQi9ircvKxHiZby3Xi6sYlaSStnmXDlysYZIQGiVaAWKoX1FjMO9XO
 mw5B3vyrWHCStmON4ZqRAnIlU1xBvjHvAhp54kxI/ZxFvnFlKS9WFRhXx4Kydgh6
 CebZOd4BHZH0lba/tiaaDm+Nir1QedcJEUrC2FQte7y2va4dfOMJ+qDPfLKoQG34
 3neE3zf61ybm0FDtgSTiVo/YaFB5VZDw3WQ5zaEGB22x8DKz6CyR60If5PJoospQ
 zORuAkSR5AucAfzZ4Z5cO+q4uis19Z4qx3W7OU36ztb4IbdM39qrsQ9NccI3OrP7
 DTJ17zzFnu/LN5dJ5bmMAi8c2Hzaest+HEyBQ08lA2CfQIoFPxw5FCJAYeWu//cG
 AQ79+x/mZw93FCYr06+4q/ToQKArRD1RJkKyT2ooLI3nFYbJyOHpFgtsLuLSI1O1
 olSw0E7QIqn0ZUnU/n+Qk4uOsKxUZ5gYJkHBze7oFMPViMANDKBOX1tlp/ZkcL4I
 MHH1cya9iQJABBMBAgAqBQJF7beqIxpodHRwOi8vd3d3LmVsaG8ubmV0L2NyeXB0
 by9wb2xpY3kvAAoJEJV5UtfPNAGptAMQAI65u0iFjIwionEuOnFcYqL/8QxytBLe
 l12aek0oCZe5TnJQGI2gigy/FsxrP49a2IN9NGspRDYVqf9f2CO6LzfIDwgw7obh
 JnxDaReeYRv1bSAiiJERbwGj35zCqHi4xjz2cd0BfXVICLfY7NaaaR+eReCdYJko
 Vih0LKkiUL6s/SIpwog9EjCnbNI6BZZ4XFoP2zAG3iXQ2WzdRcwE98CmNcZlebcn
 fK9x/NSnEnLIHvkfyUH/e1qCaw20a7qYQ6tUbbqmBdCH7z0aMWKbYyCUgovoV1ve
 YwWRgCPS2ZDEJFxj3dAGZeHRJHMo3Qw5Ax+3KHJfIab5RjIkWrAN123TTSyf61SP
 yBMN/xQrpeMC55uhNyUkB12Gu+SyAau/8AXLAsILkiaLnD50HEi3B0oz9ku35JTw
 bhBVdEct2N+J9TzQpC7wpsdwSosTXhFioMwNz374gXhZqoAhnyOSau8Eo1CGiClC
 e5hIC5vXgLrX55hhahSjFLDSXpDqdplIHXVVqD1rKh4EkMSXoP2QKSuQcm1cADL5
 cDupUU8SOaKnvXEgdyCVe3DjTFrkoSP5mQaDCzuC9k2Sjmn8FETHklp2S6BrTY8V
 0UAXZkQQV8Yr+SKzFXptjyI3u4hzDzDW1jpkiz2yMjxui9SC27JevUptw0RIBKUz
 V/HenLpL04PliEYEEBECAAYFAkZS+5oACgkQIhjIHo58A/+s2ACfSh2lrybtTXoC
 ECYOxVIhNDr6YfgAnj6wZFddpyAFukxpGf908WNJYabGiEYEEBECAAYFAkZugMcA
 CgkQj6mKb+7tcPNtOACdFUd9T0BcxSkBNM6GWQJkYyd9180AoKElZP/leQMZvIW4
 +wFA3r5Wdia1iEYEEBECAAYFAkaR9uMACgkQqbb3MLg9dhwwUQCgrYTG5N2AZFSP
 ctGES3o7NYkQehkAoJquSURqg+tmCsIavVMqpPAvu4D3iEYEExECAAYFAkae8PUA
 CgkQmGINRbWBGCz+IwCfX0H4rQ7WY6VtJYDnQ9MAxFoHErIAnigbjnobAWP+w7KJ
 DBsspQiJ9NtliEYEEBECAAYFAkaksjcACgkQmLReZmY5NBWpyQCgpMwLmu7xPUaA
 dU5dcg3HUt3Eb0YAnisdKeooJqbhGLZQGzIf6d4dF02AiEYEEBECAAYFAkaksk4A
 CgkQos7wqTrZvaeIjQCfQc57J9xErBQEVRUXkEMXLDUFpJAAn2leOk20mvap8KHB
 q1cX5smLTLN5iEYEEhECAAYFAkbRq3IACgkQSVDhKrJykfIFAgCeP5dmvQ1uj34e
 Z9wQwpIyK4j65AkAn3AWpE8wE4h6A/5FFDRqbBJUpXehiEYEEhECAAYFAkbVe9cA
 CgkQ9sjpnGdoHTxxCgCgqDVmqFjHFSUCIEMwjldmjzGhhCcAn2RFPiO+FgY1AmtT
 DZf1BoxUejBniEYEEhECAAYFAkeCcEwACgkQ3nqvbpTAnH8Y8gCfWki6+PtJbrDC
 eWW7GhczRmv2I/wAoK3SYFxKwhw7VKejCeWM63sVcgguiQEcBBABAgAGBQJHwcy0
 AAoJEFcaYqhmP4greS4H/2ye70lxiqVXCXbl92tuUjsY4TNoT1vs7nKA/bFvlbeO
 eJDZax3JzFSPZTM2n56jaF2UWBU58VKbW9nQHWPZA76qZ7XOYW+PRncL3PQdM0PQ
 XWG2ZnIveHsy+gq34R+qQiYqeebsCOIr47HvxXsbTLwDXo306rpbccDKPtGDb8Nf
 JDY8xwTc/yW2HLpovRYDqsnUhp1qbpDPffoq+0BB6l2cunYMdg5m5oTcrieeCJ2c
 xe3sls2lBAPbI5M6YM79DBUuliCiyqXFV+rZOmxDmB59XPo2rF6RIDIbp2VN3Y9S
 j1qc4mtnlozq30tLdsllPMgMDBDu+rrA2rqbuL9Sv6qIRgQSEQIABgUCR8GrTQAK
 CRAb/jMyONooR0iXAJ9xN5auoMvs6t36fPH1cSR/XB9I4wCgoOGuVz7coUYoVLS3
 uHpBYANAaG6IRgQQEQIABgUCR8GgHgAKCRBsxprCaGj0H4zsAJ9HbB7Re79MoLS7
 BGSbap8ct9c9bwCdGuHqFF0xZPjimP5ttokbMT8dQOeIRgQQEQIABgUCR8KUgQAK
 CRDtWBwmQwsmVws3AJ0ZUkvcg5PgjcHD8XcS5wegtG2BNQCfSAZ05c8GyeLtXnQT
 6GbwuWbWwg2IRgQQEQIABgUCR8IUPAAKCRDO5A6gYki6EvScAJ9Vui2VfRJd3fQX
 D6wZilOPgBFKgACaA49/DPbrq3Qkuy1vcoIFyZcN60CIRgQTEQIABgUCR8Kq7AAK
 CRA7v893vYsFDT9ZAKCyQK3kY7h9DrqlxkhQWP0B+1TdYgCgpuQsMk3fJLhfmoMJ
 HdICCLc5PveIRgQQEQIABgUCR8KvUwAKCRB4NVvUpILuJCaVAJ97rI4MGM0db37R
 Ijbe2jMpwbq7ogCdFj678u/aWxvOFUWU0g1fBk7Il3CIRgQQEQIABgUCR8Kl4wAK
 CRDDdqja8bzbc/r8AJ4naYzJOioW6TalKHKy5vucpZaKdwCfczQ211l8Lf7qkukY
 YNf/k5lVQ2mIRgQQEQIABgUCR8LCLgAKCRBpwjG5mqVqbQD8AJ9ye1A2OspixELG
 jgnyvikzI54SJwCgpb8xfDm8aaY1E+F9eA4vD1TKV8GIfQQTEQIAPQUCR8LqCDIa
 aHR0cDovL3d3dy5uaWMtbmFjLXByb2plY3Qub3JnL35ibGFhcC9wb2xpY3kuaHRt
 bAMFAXgACgkQctTf+NTD8ZepOgCgiZ41HMSvwGGSmFkvtzMXlSj5FSQAmQGuU5bc
 Gr/LD2/lBspzbG2ddA5niEYEEBECAAYFAkfC2IAACgkQnzel+k2nxUZh8ACfc3oD
 nMh1DLw/zPhPOQfuAOj85jkAn3x1utepqhJQhEp8GlO1PXnCydHyiEYEEBECAAYF
 AkfC9bYACgkQacI4LQTe9EUfbQCfX9hP2LcCzg92W5po8Xm+3lL95P8AoK08UvQH
 PpNISrlnTdhBvAmEnQB9iEYEEBECAAYFAkfB6VoACgkQUEZ9DhGwDugFbACfdcTG
 DbGG1Y97g8TdwspmISz3z1EAnjLU5VSU/+yFqJoCDVNZuMPNe2MjiEYEEBECAAYF
 AkfDMd0ACgkQJpinDvQhQ0v2/QCdE66UJk8KXRiVXhrSasJmy2EtwQ0An3a1Xt+d
 JlXN8K9I6l2OvrvYUPVqiEYEEBECAAYFAkXiMjgACgkQnMvaFgH6i0onRwCfTEcB
 Xbpmr1XmIYAnKejGifeB5DcAoI+zq460kzD0lb2SFueDWvrD8JWciEYEEBECAAYF
 AkfDuAkACgkQYUppBSnxahhVtQCfbo1WBgVwSCEroxEgCRwLN8upTZkAn1JeRCBk
 Ndt/U+UWM+AKG/iVgwBKiEYEEBECAAYFAkfDQTYACgkQMk3u9zuMaK0gzACghh2y
 KsQUu6RTJ20SKP5UM7YIJ1YAnjVgYN1pme/HWqADEqPm+RNswdgGiEYEEBECAAYF
 AkfDOtkACgkQJikNJSAyef8tDwCgy4aLAomme0IS7JQ1gHf43A11JFoAn1rc7HmC
 5dLaWxuT7jx4IySydxZpiEYEEBECAAYFAkfD7AUACgkQPqD4a3lPnXymFQCfQ42w
 jn4ID8XsShqEUORkfyVG3ToAnRASSJYDdVMGAww4KexloGGU6OhWiEYEEBECAAYF
 AkfECXsACgkQ5/8uW2NPmiDiwwCdGL8sLOr8l4Ei1PjlHKvuYwLrv+QAoJooiR6n
 PSc0Q3qOrLVwDxMYmzsViEYEEBECAAYFAkfEhXQACgkQLxrQcyk8Bf1IuwCeP5Ih
 l4UgVz5MKcEdaTgtEyCpH7EAoIqat8B6GQ3cXk5/p/5lAKqFkSJliEYEEBECAAYF
 AkfElAIACgkQiiforNL6BeyPKwCfYpR67r5bhGgV2tId9OpEAGMV6OEAoJ656w8N
 rah5IR8DfVfps4bVnPSSiEYEEBECAAYFAkfEnAQACgkQMrUzSZHhU8WWBACfYcXM
 CSxkjLqt0YeLcpD2d2v3VJYAn1ov9QHVCGUNEDFObAzXtiuVSCJdiEYEEBECAAYF
 AkfEtnQACgkQPuBX/6ogjZ5O9wCeOJnbxmv6VQPO8ieVyUuMBRSocOMAn28hOxNI
 Th34fBi3Lqu6F+5ZZGSUiEYEEBECAAYFAkfEtnUACgkQ3AO6o9NJKipXsACaAgt6
 4LJsBCuLtv5P+um/7CqdNcIAn3raN2uAq5W8SOT1CXo9FxkGwe+DiEYEEBECAAYF
 AkfB4IEACgkQb9E93NfN6eaYRwCfUGo4m7tMExwGx7x7Suo4RJBm/rkAn3Jj/+cg
 591mvfR2F0AaDEzQwaTSiEYEEBECAAYFAkfFzvEACgkQqWndc26pXmcN1gCglend
 lhHBTaQq4IMC/tu1Nx/sefAAn1pgnfYKvCtd+/Vinbbb2bQskkpOiEYEEBECAAYF
 AkfF1B0ACgkQJGLEG1jrYMiUDACgk0abpq42CFOkMUO89Eszz7ewFVIAn3XBooK2
 x4zOSt3U50Ozaw1ZbazCiHoEExECADoFAkfGfN4zGmh0dHA6Ly93d3cuc2MtZGVs
 cGhpbi1lc2Nod2VpbGVyLmRlL3BncC9pbmRleC5odG1sAAoJELR14ge6tYIpHRcA
 oJmcMZJmZWDMTtx0yVEKJlAwCfrbAKDf6oYINyk8knDZ177E1YlExfeACoh6BBMR
 AgA6BQJHxnziMxpodHRwOi8vd3d3LnNjLWRlbHBoaW4tZXNjaHdlaWxlci5kZS9w
 Z3AvaW5kZXguaHRtbAAKCRCUj9ag4Q9QLtvoAKDaU1CVYg3T6fFz/LmplDjnEM/p
 LQCgmXIcs5qmYBdZBb6HWh6/CWFfuRGIRgQQEQIABgUCR8ZuoAAKCRAGDyh2/OA9
 qskcAKCALZPHFrvgPRHg43+TW0LkY8NmtQCfRlYsBNe6PG1E+LpqSEuGuF+hKPGI
 RgQTEQIABgUCR8Jr2wAKCRDugZKm5EPW2DluAJ9Mp6IKEWESxYVLSUK7qGqHJYwg
 jACgoOX1iYa2K5eZtemlj3WtAUzgQ9SIRgQQEQIABgUCR8au2QAKCRCpdZh7H5+n
 7niSAKDIfrMWijfI3hSEiE9vls52mx55twCePix0J8WxNPpBIBHBcz3IDj+TfYeI
 RgQQEQIABgUCR8caGgAKCRCMHrK7/Qvt5TnxAJ4216cGcxaS+kV/yNptHZtCPt7/
 SwCfW2fnJdK+ZipedXj4wuY0aKDSVciIRgQQEQIABgUCR8hC7gAKCRBCDfAw6isi
 jzsVAKCKrdWdwMdBUhdroHXLRq3nKQGUYwCdG7qiTXEZ7SVleWbSF5Wh9Qg1/m2I
 RgQQEQIABgUCR8jeiwAKCRAgmbZMvxVJC31qAKC0/tAiC4HTmW7Tq2DKNLjvyjQn
 iQCg8amOn0lejq5LFsaJxlEtBEx+s9mIRgQQEQIABgUCR8rAGgAKCRChhU+d5Ws7
 Trc7AJ0VwpntQ0MxNhBlFx9jmq0+YUm+agCdGYDdKRYcaIRdG9trECtTImKEkseI
 RgQQEQIABgUCR8rWbQAKCRCk4ogDib9+K/XWAJwKf+J9yWYCs1nmlAqXC/tuSiBK
 iQCdFXCZXNGMwsNXwccbCRI05It9dS2IRgQQEQIABgUCR88SiAAKCRBNpSqtrmQh
 hki8AKCuTG794BEG+jHhqzFpRCEk2gx8kQCfZp9aeZZ9jCW14/qdRL5cYYZUtX6I
 RgQQEQIABgUCR88RdgAKCRCCAUtGxHjwdB4XAJ9ZK1yYS94BE3767Dczx3tyyE/w
 kwCfZiBOdtiAk5ywhIpVPn9+YMj7xrKIRgQQEQIABgUCR9F+nAAKCRAeijBTISf4
 WmfIAJ9j+764tsFdnWg1zRhUPTVL3bX+/gCeLvjbTgQHtYDWJCz9oVLI4ktQRYKI
 RgQQEQIABgUCR9MfPwAKCRBjFrYwNYAy4doFAKC1RPw8TAiv97x40UZTrl3xWcJv
 FACfbYkAgyCDaU+CL+cLu2GzHIPhNHqIRgQQEQIABgUCR9VfRgAKCRBBS4Qjb+zN
 4M0xAJwMWTNxTcDFwc9KPk0OtNMVZJ799QCeJQ07tTL62+N1HrY+8RVmS7LkZSiI
 RgQQEQIABgUCR9kFBgAKCRBh1JgHiQsVsgzQAJ9HyWyoyjdkn+A2C78uRxa7516I
 8ACfWU3zZdvKM459JhyE7bzo08RToTmIRgQTEQIABgUCR+7lBwAKCRA+1XH06ASN
 CMApAKCnSd1rhnumY+D3kn+RmBK2dwSwbwCgrmxwBR+1ywuDKQYuxraYjZJUxMuI
 RgQTEQIABgUCR+7niQAKCRC598iGaRfDuSvLAKCIujB+aE22r5iPVeAY1l4tyu8n
 GwCdHx2CAv3fRv/rW/KyVQGwzDk+lQmIRgQQEQIABgUCSAvMAwAKCRC3URQJ/BXb
 7MluAJ9VEidr2mZYe+KpgJ3OZSMAPWytyQCgoZF9Zy8w5wPQ19sGvga53ZMn0ziI
 RgQQEQIABgUCSCdGlQAKCRAgrLO+UVwjjX4pAJoCv7aTVIGvyMoX7O7Qltuiz9kA
 DwCfRtAt1R19y7nx/FaMSibYpRsIjA+IRgQQEQIABgUCSDvFiwAKCRC7PVS2R+qE
 tKH6AJ0dY0QZ0A2LQ0UTppCVPbpUvW+Q0QCfUsyNN+IOs7ckiaxgr/cLLkRP3vGI
 RgQQEQIABgUCSDwCwAAKCRCWLNr3O8QIH+YCAJsGtJAmL/iux3XJYhs/FHkWhiHL
 mwCeNvEJJ4yhXvuGJcJhwpYlre8Wa56IRgQQEQIABgUCSE2pzQAKCRDOinnXmAFt
 x1CXAKCE7MzQO7bMomFpZm5pQ/7XY78RtgCfQdzoDu5WmRR2407f/DSRuJfWad+I
 RgQQEQIABgUCSFOZ4QAKCRA8TejA5LSMSHKkAJ9gZn8dtbLGZrEkxWYVC8xiLnML
 6wCeNwmoog0x7k6PYbGny9LhHwO8DW6IawQQEQIAKwUCSPOqfgWDAeKFAB4aaHR0
 cDovL3d3dy5jYWNlcnQub3JnL2Nwcy5waHAACgkQ0rsNAWXQ/Vj3ugCeLd4CGdKd
 pE94qp6EGrnEeUa2PPcAoIXXj/acAMW4Occ2cZWLOJ1/wiG8iJwEEAECAAYFAkj5
 sI4ACgkQTVYoIXkFDBHR4QP/ajQKoQnYxIrzIP/xXMhxkNnSBJ1BtU554pUegSm8
 LIAmYyNzQwzq3X2X77k8UhBngjuvKwsBPImQ7EJnSAoWyzrO/H24VK0YP8rNm0qG
 utCoFU4zkY9msOH0Dg6kFHp3ADntgDlOUZB1bnK8A8qOKaD6Qe37auUqPJyYZMx5
 yW2IRgQQEQIABgUCSV5jyAAKCRDO7R+c4rW4qL38AKC5NptVcbqWbmQs7vTFUkGE
 8r217gCggB0ILAtpjRUYjiMbymWmdoSu+ZWIRgQTEQIABgUCSWFAnQAKCRANEilu
 Y7jXfXgGAJ4pIhxukGDZPOfYN0sPoDS1om+QkACeIFK4LXQ/3dCKfW6eOnGOh0GX
 ZyeIRgQQEQIABgUCSY+XOwAKCRC+4z2jgm93/9icAJ4xB3Lz54VVpQuJHmY/iAG4
 8Zdc+gCeIFtp6DKhKL+CMITuIzQ/mjQW0jiIRgQQEQIABgUCSY9WOwAKCRAsf2s6
 GKNw/gxSAJ9Uz0evwrhDPeA+WoxrbKbqCmHr+gCeIzMKy9jeu9TRveUkkzrCsRVP
 3GGIRgQTEQIABgUCSY87jgAKCRANBy6TKpq5wyA9AJ9E8ZWSsXfKZC/M1rwebvOs
 EzB60gCgk2NnyXLNBAX5x+6SmGafFGnixwWIRgQQEQIABgUCSY//twAKCRCKo2Kv
 6XIyzfj4AJ9xeSIeVyaNvVwnUzl9YjiTkH7WSACeJSW0sxEv/PJ1aMN9VTyWr0Dg
 liSIRgQQEQIABgUCSY//wAAKCRCn31hycNRMIy3LAKCH5JpeDTvbAPmyQ2sArS0e
 3+UrPACgjBnQBiTIxu3UpJWk6n5GOkPUeLaIRgQQEQIABgUCSY//zAAKCRDiARwn
 lIQZfry3AJ43Qk/DeFjXJissqMz1n2I+xox3vQCgnwvNFhhQH29PbnTBotxhpLtg
 IkmIRgQQEQIABgUCSZAAggAKCRAvlRUIquYCLvYMAJ44eI4WPa5s6hMJmjLSK4a9
 n5eRrACfe/Be4F4bRH7JrY6cubXe2sYYQt2IRgQQEQIABgUCSZAeogAKCRADEujD
 XYzae5B5AJsGNGmRQL20E1vNDxrKAJujvUoATACgj9KQNhWwu7bR7LPwBCuQv1En
 wBOIRgQQEQIABgUCSZBKEgAKCRAHZdVuGgzQgsdxAKDKmTQEVugxouQdkxxoComG
 JA3lNgCcDFcX2jrcUGypwi8n/bQWTNPzVG6IRgQQEQIABgUCSZBapwAKCRCBP+g6
 dJdIJBL6AJ43XdlVosNmkgqiHTp7Wwi4Kb7ZzgCgvHDhJVIDBNjcIusVHWB0vbQJ
 Sl6IRgQQEQIABgUCSZBX6QAKCRA0L7U5qtIDtW9XAKCIBS7NaqltCBZBvTV4uOKh
 dZ97pwCgireD9vwxQVKUKePL7m+nJhD14YuJARwEEAECAAYFAkmQVY4ACgkQix5Q
 X0IJMLQ3dAf/TufJbyVYJF88a3Libr6h0CFTAdGFNdf/6IvRhSE7/2VmDxF2unbw
 AVgvdcP0t8T59QD2Q5r5rVZLIv+QhR/LOICvnYJMm3aB2E5dY9c/2ykzGSGN7YCW
 LxWeHpir6upN7aSb5JauOuLvfny2hghVsnsi8pZB2Qa6XgD7a5cvAepZByFlleIl
 hcY7qLKJNslIjgGp4hZCKovtjdVzzlwmfjp2zZ3rQQhtdW7JsP2jdEQiBiQsJyTw
 BVCAesnTdKyhF9rUzclofQL14yOv5ZJIfYl8nns+4umVzVfHbrVM+S8H20DUkFTo
 p13XQiRe8Vqe8I1wpCYdnIR58Ktn2djWqYkCHAQQAQIABgUCSZBVpQAKCRCdKnYh
 rUe1g7BLD/4luuT3Pw7Fjml6OW0vgWuk79lNRwl+wL+zYF0Ik5BiWrRQXHTWzdwC
 WQZO3PPigPfNWkmtO8/HwRDdUNpxEEu7pmcj7pfG5BlNfTyjgsCmT+nypufGZP4P
 xUxe0tGRuanJ21cBnqOAtdCjDlr18jxtxYP3kCBp5X2OY2cmu0pHOg5MWROiFMWj
 rMvBw+6s2VcP1R6euw9//hoN0ojwj+JRxQS070RZXWjVstkXxc9wx8cWRD/q5+uz
 jw6jWvkH6w0m/OjRLVYwgpBki3ImMoyXK14KQ4tFScYQnL4QBfWWqqLATGf0T3G/
 UsBkDMWNDK2Vra25JubvaykPKMdvX4nMEncq8mYu9Feb1lxy840cx2ukjI0AkWFs
 YZSUJ+0NQNiqLixd/1o+pNx+sNzBZSK5PI1UHATfrpR72k0ECrdSdsoBYITUSOhZ
 jaVTXRkFv7IisrHVTZrKsNZzpcTsHp/iUG9xKXr02hFPMox7wZ4oz0Dx26A7/Yps
 sUQIwsN2sDHLmn2XDsI7ttRfWRTDs7OpuepDsFD4HuRbb7qOFEhXIrYYkhXSP6tA
 xBpxYtRR+Bfnq0nOgNehga1/oTMucGKp5MoDnqGDKtxH46faZ4Cc648yrlIkBfu0
 l0tHb7WwhSthj7jkGgrGSrIeIOX9sSSmigwOPA3+h4RAMvvT4BbtjIkCHAQQAQIA
 BgUCSZBVzwAKCRAQgdnNwTOgthqpD/9yA0krrY9MXfpdSmj/PP0ii1iEh+htGTIa
 kDVIZGw3/AWTnGmOvp/CqZ7XEpgWNprSsFq1CFBDLdAgytJA9WT97pfiqxh7Ufcv
 yjv94N+wrRbiGk0SMy5ua9IOIYSG3nTtfjaGYsd3EYzIf91O5b4GIE08b5Ahm2yH
 2C3JQT/+/zHMlzlNtc5VrQ0plA/cL0IBNQtMrRJQSMEFeCQtg1OkASHHfQexEdSG
 hyYNVJpbfH/ADdL/w/iadNw10M7rK9rjliTMSCQ53SXCMLhYCofS5FTch8R2QzQC
 arJhScFx6mYK7Y7WsmRcTU+IWjtUMcn9Yd3qdgp84nVl4078KOAjDobBEH/W4Y7w
 MjIqMfgVkAgwHghtqhTb2g5CMxav7wr6fRXeZdqaCv617E1JVJpIN9SuB55xJacS
 UPglDcUU7Lud2wLGcw8eKWrxB138HOl9Ur37ISzNWXINyPdN3NpKFC6CHJo6AV5Q
 kPfs1/PlPHbLq+OZI66HfVHemT3ulu/jfVdpALEYFHpFe3N6ctpq9OM8d4kzTXTv
 lWCE1mY2+YgE1Ji9grA5sIwDBCyWW/K7zO21DtHxiZ8wxOKZRrJRq5bw34sNvUsr
 bGAtVCHlDYg91WhDYGDtszRHFa/Dxn8SYzWSYb6T6bsd0FDe+4CV6tryT7zmGXkr
 TlwB8IHMKIh8BBABAgAGBQJJkHSLAAoJEDvDGK76GKY5jUMC/RA0+CvD9VTqOfiz
 xMb9yE80HXun/lsjtrd/b/ZAzoDVjHRHl1hgYmanu0cVMLfOQodBGCL7jtQtg85i
 pzXRzKSEE3jm7L8BH4k7zwQyWu7SNl9f9XHI8tEZqBaxGOQD6okBHAQQAQIABgUC
 SZB0jwAKCRDLdzE/ku9UJRN7CADJQVUo/M5ODguUv6yHx6oXry9b1Tx88tYXA7bo
 6YdHLaYnil/FvXxBFv/UEjzr0QyIu/pXk27jAhhxoOv+E7vcA0PGml3XG6JKSugY
 9Mef6ns0v1Ifpx51SbicmMi3PsU2GC2jEcmgmfcvraxFE9XKggSfm0YlFCTCzaKT
 eP96MWuOEE4LqUOJJB6VBykcJjC0ZpVGw7HZQQL4khqpiymatiN36BV1fmm3BrC4
 goxwumXKzMKhBMj071ikeh5S9IO+JOhTxbkZ3lxiuojIEDo23cYi02u9TUGrPwk/
 Mhb5r4wRyEUGawROecozmbXZJcmRvGyPw8tLvl/VQq1SBp4LiEYEEBECAAYFAkmQ
 dJIACgkQ4ARdcvvq2RctNgCgrA0mnLaknvOsesSjrCBkRqN6wj0An26VsQDi75vv
 cczIxuNWZKFqc6EYiEYEEBECAAYFAkmQfaQACgkQCOz21NVLFmf1XwCfejQC8Imo
 2KtY/hklux7mUQQP5egAn2rHcq2ygfCiCGp4/3JjONuCA+4+iEYEEBECAAYFAkmQ
 nuEACgkQOzKYnQDzz+TPcQCfRauNzM9XbCliPEUXn6uQGYd1lygAnjLnCzF1uVg4
 MNQUvmDOzZpYv5sQiEYEEBECAAYFAkmQwdQACgkQwJ4diZWTDt74aACfbApOFPxK
 YhpbshAXa50iVGX9v18An1Acf7U0e61lMfTIrRvXcoQ+3sTBiEYEEBECAAYFAkmQ
 wfAACgkQBARrhUouFiuhLQCbBP5yI/W78UveujULASawHd1pDtoAoIhYBj1p5kY1
 FjV/dn0a+rVYyT02iQIcBBABAgAGBQJJkLHyAAoJEN75FChARdGbvy0P/1yY7Fco
 1/16JqePysTVvsrWSTS9x8fyfzRY36wlPdEnI5x3dlLbB7Vp3l3izfj1JK+DdyVl
 TAbtppKVNZU/0r/fNKby/IJM4foLNDf4dIzzNQGwb2PVeMuxHLTwi0LdglFzeX6a
 cLzKtJxTw5Jq5fclLxt4NkF08IYuvpWRrECarf6iI2Yx8V5LYelVIDScskcCf6HK
 UN4kgbEAfc8xVpgkMyDTcUUjCjzS1PAVtTFEfld6iOZ5325GTh97dCX87DrrV+OD
 Pk9JzXk6tNytrctniXcnyLDz6pjbhpa1ghMgcxvAohHwnAuPEl6O+LIKHSjFifjv
 s989g7PHpE1vSavh2/9Ln8IqyOF2TRYtr1MQChORcCd5mrbY+ferrubFgt5+d7wn
 PxCueC9jtsi0Tt+VVcyxhOzMc9wUsK++byqubx6NL+P68dhIuu7bqBJQErpuFx81
 lDbVYurZbdnUuF0ooBmjr4SnSiFfsLyUmYeDG5NoDkPq/Nbu5pjswVm+dtpKNgUJ
 5C3hnl4rFB4j0/4PT0zbMFdmpOy9s3f7nnTgOLwcVWQVCBnqDhSEHa9RGAEtCJSR
 7XzRaM10eCyO5RF5LWmtKeGatMFCD0xv2PYTdBBQ4zPj8B3IwwSVvTgBWZyEAELk
 xHiRTQd8W+N3UYEwINVpTy2SOWDI6mCmqj68iQIcBBABAgAGBQJJkLH1AAoJEN3f
 OcbF/m3rFhsP/2h/z7og8HFD0QSeMJY5ghjocnX1kOCMByGvvs0oSEEX0S/OG/Az
 UtpWleDit2xnluLG/srVqJhGUxppuSqPZx+wnYmpO+Bj1wnQKX1enE949F0lEGrz
 8fEtL4UtwCt/49VD9el+BC+6dUIX6GZNvuDGlvz6YfkWlJ+LTQ/Zya6exQBunJGX
 evkodvf9Kn2uGdtLludayyedwFuVAERGfWlPjBTaE42jZ7OAm4VjgLd+K+q92Tgn
 UKUCtef5EQjHJhf/LpFz5HgPxVdn62QEMIVLccTdJr5/sJshFvNVzetN51lAdSvo
 jh1m+ggP53EAhirN2CdCY04eD5adWlji8KIr5v/wH0c3N0SAYEXVYA74Cj/DvRma
 5kwjMMiGWV4lYfoNr/ohNywGC27+5FX8zLhSqkWb/JAg0XPYAGVtVcYq19tQg/78
 iEiJavyndPdgucv3O9nV1r8/+Vbo2FauRYgvMN+CPVB7T9AZJNlw3pC8nsTT8sTc
 wut8tMbsci8wDCOeg6lV1V08jmjIrylgFcSxkhXwds5I3FcbejFxhZWVw9pb/Li5
 ZmdRunZtkIdp7Mt0m74vu27+I+zmPwyDN6+Lhf8lyv1C6wHUTqBfuicobBfXMUcV
 hrB2b2rVPyFwei4PEsSw9zwva7jCOspveJJ0qHm4jPQEdwCl5JMc/f/MiEYEEBEC
 AAYFAkmRPPoACgkQyCZT87TFPugazQCguMnezd0RLdAYDCI1wPFXTuiTR3QAn2kp
 nLJY24EK+C/ulgEBR0KvGQRXiEYEEBECAAYFAkmRbSEACgkQfPVHSNoUBqaEbwCg
 uUxJa0M1Hk447Ox3nKUiJzejpQEAn1EI1mFgWpqfw9wws4u1wVI5iBJyiEYEEBEC
 AAYFAkmRaasACgkQiIzh5C4v9Bxy3gCggGQ37tJ64n633imFSkLeiKrru/4An0M6
 Ie82z5XLohLGo/5/ZrN7nwEliQIcBBABAgAGBQJJkgNJAAoJEOeCzPKAPyaFkLkP
 /3QsuBJDPqhz/RQhTv3dVRs42M1I+eQ2FkeaRHcHm6m4sbI3FwpJEkgODjcMdljo
 kUl8VOUe/spaT91Ge8oZz9KDnklnW+dZ/aBbeQCBI6gUV0oSiRvMeLjXSdNNnTUm
 Wa4fq0/CSWRvLlbquSjM+S4+b4+R1lzo6jis/fZ2aRCUIkPOuwuCDNytcupT5ilz
 ZirxkIp5LnYXmSu9oBRU1/+OkW22bjznfiN2xm5rOS8zpeeQBXCOI+4YxpWHlk7C
 OBKa3wmo+gHjUb/ounmvLo52XOFPwX68mz0r4UTfePCQLTs6+qNlziscQ22tVJwD
 DCPH0K2l3taubvvfxo25C6kBOz/YeWi+5GWB6xB41TL2Io76JhgperRs0HfOIoZu
 VXrf6WzAIJwp8fvttF9k+dVOR64ExVRDZQLPUXzCWgJfMr6seUpfqcXcdQn0PsAs
 pEeKGnokLHS8W1mbB9+SuU4TmHYnkHZKvFYTN/eCiP89EOfmqP40lVSeuiT3F3M0
 c3dST272jUNnkZry+6XSNrtNQp3jJ2O9jL4AuOMlbPKXY3Ci/k7l1xr8gGgAvsQR
 GbFWISJCZJVvB3xyTkGa5LOZeW7leVjSPmG09D3GChpKMRSsc33KIxsFAgtX1pBI
 gRbhsfzbtEwkGXmV0JunEtM8jQ/pmlJnLuKlxG+ikGAiiEYEEBECAAYFAkmR/74A
 CgkQxCPXLTMeXNegagCgojBaboNrrpw5PYKVAD10HUdWTZsAoIK54s2jjEzIGb4p
 Rtm0mhkQtqgqiEYEEBECAAYFAkmRybMACgkQaT2DDHtihbccwACdG2NiAhKWh952
 gk+WjNsdHI5ETQkAoJrrox0MONdUVxJ0avqPH5gafKvAiEYEEBECAAYFAkmSmRsA
 CgkQ+xPi3Vyo6SeJLACbBre7U0lzbqQrRPrl4eVH6QuFnRoAniU/a2vdyipTlJsJ
 zG77nAfdUs6HiEYEEBECAAYFAkmTVp8ACgkQ7fHfQvMxKLmZuwCeIomnmP6COZve
 LiXuz16PLwLcCrMAn3omk/Dl+ylsH+cFDJbMc2qgbxyGiEYEEBECAAYFAkmWzOoA
 CgkQ1cm3UcRlMid9BQCdEbQegvokVef28GNXp69jthH23YYAnjgAfHxfsGZdNet6
 UsH+tysfg1WziEYEEBECAAYFAkmYctgACgkQCeLNSUTmy80M4QCfeKYzgQLNyDRC
 pbafQY/YWaxa5ygAnAi0GQ7Pg3mtkAwzdj+XzXsbJYiKiEYEExECAAYFAkmWqUIA
 CgkQWIK+Pe9twhoyJgCghzhoVPjdcDkwVO7P4km09nZqh20AoMvsBaBcoJZJyuhJ
 unAlfV8jKglqiJQEEhECAFQFAkmX29Emmmh0dHA6Ly9waW5kYXJvdHMueHM0YWxs
 Lm5sL3BvbGljeS50eHQmGmh0dHA6Ly9waW5kYXJvdHMueHM0YWxsLm5sL3BvbGlj
 eS50eHQACgkQOtb4EYMAzAKmCQCglHvQJEzivuJ/OYK55IZJYhWKVkYAnRZP7AOA
 9y2v5kEBfttm9LrP/dy7iEYEEBECAAYFAkmXTXgACgkQebQpwINWY1kgXgCfelRK
 7vL2wStMLvWusw5aUXRxWV8AoNEj/PR3oE9j6rzvjBoPrv0N+SqkiEYEEBECAAYF
 AkmYOo8ACgkQ1cm3UcRlMieGpQCfboxRhfoyh586LX0v06SeAxOO6iAAmgMY9QjF
 lSvLgajbEUqXZwY3AhTQiEYEEBECAAYFAkmZxD0ACgkQLc4/KDbU5PXW9wCggKKa
 bZxUOGs6YRIRQN44nDMM0WYAn3qbLU0zNBU+AydbKjOGkE2jcd3diEYEEBECAAYF
 AkmbICYACgkQCYHbZviU5MjBGQCeLYDFiTiuL8Sc0d5IcuF9t8s/2DIAoN0yvunO
 ENy7a5w5CEaB09V0eSvCiEYEEBECAAYFAkmbMs8ACgkQStsfiGuIVENNnwCgwgli
 AroEbX1dNBHraxne7JtgfoUAmQH7+OgU1GkwOcRG4+GV87R7a07xiEYEEBECAAYF
 AkmdwtoACgkQvHQ8rNZenpTuwwCffYCKeT5NI/P4QFs+7GFybkPm8x0AnRnwBJNB
 XJHCwWx2mmzyk8jZOmoiiEYEEBECAAYFAkmUmtoACgkQkDXDf3AkB/eaVACgx0e7
 XxfTXtXlZEWAd+pJDaAuHeQAnR/suM6ReXDNxjX3qMaEKThTJ2BfiEYEEBECAAYF
 AkmfMsQACgkQgefVhjgZhU4ESwCeLXJy+cRCWweBh6qsDkuGRTlZhNIAn3WeYDdu
 GjxZCSZH4cmrq8v121jziQJXBBIBAgBBBQJJrCTfOhpodHRwOi8vd3d3LmRiM3lk
 aC5kZS9+ZGFuaWVsL2dwZy1jZXJ0LXBvbGljeS0yMDA5MDIxNC50eHQACgkQ3uq7
 1LswzjW1Pg//dHwXDS8SCFWqRnY/JCLZh1YPnZsRgGptaaGtVQ70+xyrCucY1Rvn
 gOtIvqMiuFPMpaJ2owanhUIcllw40JE6GC32QmZxwthoZ1mRaA5YAd5PiEUzjtV0
 cciJWSiFVbecPL2Ty0Xg+TZ3RnHdW1unhnFoFvAqprGJSb+EY0nVe9SaMtxY7LYb
 iSYLP1jrqQmz0xBaYIk77DDPcLP1xLnIdJFiKen+Bi3fx6lqgocEt2iHGYvPba94
 8EmaLMBHYZCGZbV3zxtptKRmO7q/+6R9k3P3F0c6Bh4/8r9j6VmlfCPDgKvc/wll
 I6Vk/vShf3wnDrSNTGl5oC7p5xwAJweSmE8wW/rxazm84A5oKN2UrKq1RZoxMm3m
 YqB0FiTAtxzWvRw16YD7yVvw/2bB9ixyRaVmPHNZwOVZvGsolhTRrrUDq4BDwLmU
 sy6XCAgJe0rIH1jCwnsRKbvxkVDbHvmq+0Vn1Db+DRQddn2Z1gI6e8GjOA3xAJY4
 P3RSMkdR7AYV1NHdWhl6F1NPgM8FF7SuK7fz5YJ8KfcsXeUHcYhLCB4mUI/0uUBg
 7jYkhAXTJrcSL+o5kUcbpey3bu+FPd+Z8fij7ICqjmf7hKVqELt5vDeiXHpokJLV
 N429+y0OmPs2yJEtIjtUvseSeZS9JVbUuCXV0vawfqIkvQSkP5MlqOSIRgQQEQIA
 BgUCSbQ0/wAKCRB2R4EHIzueoOHmAKCF974kCpC6pVRjgoYKBLQCyMtQ/QCfTdoj
 iA9Pc/V5WaRsqHBjJ8JnReiIXgQQEQgABgUCScD9PgAKCRC/3a8gV92Vl6fHAP9i
 gkvIEXNObe6O0QdLEYkhiSlanNCY8urn3T6Z9XJC9wD/dmp9RBFAHbEjCWgLUELS
 NiFuneNRg0Ji5xuGWhuDBz6IRgQQEQIABgUCSZCObgAKCRCd/GIWMgC7xzQLAJ98
 4oDTYhSiIBmDWVujoPy4DWFAggCfVsVNpbRZiylJfVIDB9YbRFnkWAqIRgQSEQIA
 BgUCSf0WygAKCRAQRZ0E36Ck1M39AKCvWHeIGCMok3ApGx5S9Yeh9gqWaACfX7c7
 aL6mIbvXvH4UiRembgzOW6CIRgQQEQIABgUCSgTvJwAKCRDTYjKR7Qp1TcPCAJ9L
 HaXiMaaGqU10UOJgGzrXIPU3pwCfbzowQ28g7ioi/W5DFrlnc7Uhr8aIRgQTEQIA
 BgUCSgT0FwAKCRCV2cBBVpwFyCofAKDsu/PWkrBU1PouhzhL0diUlvOgVACg1/bg
 e0W9LonEN6yoCAElwiwt1PiIRgQQEQIABgUCSgxTpQAKCRC0D24mUpueBAwvAKCz
 k+Im1Kltj+Si7cigNKX4XPdYYQCeOod4a2HlBsVfbFQsZ/0q4iTOJa6JAhwEEAEC
 AAYFAkoMU80ACgkQmP6fvaUk5AY25A//SLKdziffmAxAQn/oS7zAOclhAmsGkiae
 4/r6mxtnIVq0Cw/jHCHxYeMPyRHPPlJpXQPA3/8z9i07I8C+ofklByS4YV+UUHRV
 RXjr6iw9qPoEdQ0Jb6Wg0cbtIwhMh6cHNgXilzN8BFJIXbPQ69w3aZKj4gEOK3vq
 1+lo5YM9LQGgxd090oCiZKE6opuWDfzM1DcqK2DMzgdIbXa7BXfhUbHYMpFu0DKP
 WQql0YPkBUdTNUb4qoXXo147wQ3ZlSWEfKsG7nXEy0hwRbYXg6ttxU+aFsATeYK5
 k4YPH4YE0bmPWFWIohlyUeQIfq9bqW+AGfq2XckngS1wonxgELkpMJsgaby9ejI2
 3mXpbmefxd5K/xjNL+09427dN8YG5zc9RqeWdQC+gIqov5h6x8pDtUb7MvebUIG7
 ARFnNlMsiqqbYBF0658RqA2e2VYEQ5YiqdMbxAHtKg9E2Ik3xkmQCfJ92x/F5Mtc
 wx3aXXz1E7N19UGYPRJ7J0ebSwlEenKmSXIFM2791lTKUIHTOHCeKKOHigYF5gvH
 7axK0a9LrusH4eLcEPpRyUGx6DQbzlflp3t4lxDhVuiT2qib7JZsP4cpS7CUYLaC
 hQul7qPQ5DVynwwKGSAeyVyoueem99//xVKPZGJdWm4bvzZf61teC+9heb0/4JKI
 LqYbLUtdgR6IRgQQEQIABgUCSZH6ygAKCRACVgCHxrOu/9AwAJ0QMbWoQk5spxEU
 ehA1GVljLEJSYACfUX0EutLoJ4HOFjIgH6OIfgur1g6IRgQQEQIABgUCStHKhAAK
 CRATrI93fZgFE5zFAJ4waPqLc+jCrP7XyvNltSbnFKOpcQCcCGqMMi6FY7t92T0B
 Q76TW20xcn+JAjYEEwECACACGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAUCRTvz
 pQAKCRAmSeYoxdNNBdi4D/wNdceXE0mGTLVRnEFMP0l9gl0J+57LraHupyKCCRZd
 U4N30wgm0mu0WLAAuvWwAo3755GOdq4PtUt74t25GOG0pIZP/aL3Y0lzwMbFlttO
 VqYDpV0nRGj9SuQ9dUD1NvlO+IL5q6LTTg3m8NUv9rdpXdJ2Svtw1oVU4VqJxZiu
 Cx6UJkeUsS9DLwcFdh1fVjxFmxM3/TGcSiTl7Wz4sFm9f0McX5EeZt7YaY3o0JBv
 ac0Y3UUpqXFJEZdTOThZ0AQF75PObFPxZvpo3yEhmOkFeXWmjjkCBGHb2ruQxG6E
 psJQ5f/C44fqMHnnUtPJMvSSE6sRiX80FPxEKxwCxYbVrK9f7W2y+1glUbN4Njzk
 2jC80JCyxP6ewPX7nk0kScwl7dqA2CpZR9sZ0B6rRPPLtbZhhaD96Z4S2UdL0VDp
 P7vqeDFeDAXtZ0Q4UkE0DQUIpmLzKdgzQWkPpTnbMUIVun8H4IzZP0CzYS/l5VEy
 mg5fypIfFZSX4jKOGy1b55FGlpfPYIF7uTg8I5brXZkhobeB716CYNK7o5g11zxO
 0wvcAcL3o4tU4d+pCU8AKYqye3xRZs7GMIoXtLdDEV0GfOWafl0HScCOYVAFJvES
 12Hcqap+jaV7d96or91P9JLSe70/IeO1rtugE10gq5mt/rF1kTLq7SPTel9AWMAC
 8YhGBBARAgAGBQJK9cMQAAoJEOm2+L/eFxawFDEAmwTLa9Spl7TNww5Gd2GeSm6/
 /LoCAJ9f6rbcw3RtIAEvbr1NQDogeccjpohGBBMRAgAGBQJK9pXjAAoJEK1498Sk
 rW4Ti9oAoKzulhIvNeUeSt8us3uwinuLUv7fAJ9BGUhKcaZAkDvpkm4a6nbq1NDo
 gohGBBARAgAGBQJK+B6JAAoJEG5p+N2Sw4F+muEAnRxXkIl28ccV9UiYYwveOoGB
 xB9GAKCaNNVknQxjt4uJhA06mPPmRyzRfIkCHAQQAQIABgUCSvfQcQAKCRA5jOpq
 cJtSncDHD/wMrHnLo3ax3dUF2baNh5WKZSN0ay54eKJPkIBUOS2yx8s3ZNx6tJOU
 xgALwf7HRhMUeVwuMi9eGks9Hdgd6pzZ1aEIt07qstRhgHQsKJ4ErvPPXU5ESey4
 kFcxE25m1CdhdLVI8yADvNSK0ZoOBBKDyBwHb3861/OYehGcDc/R9TIrNau2kkIb
 L0AjNioPKGf7+uXk24SOyF5p0wuRjzppgHR/qwvNWRYvMCj20kO534yEet0ONVZc
 RBykyhzfHT/QCNbPRmdAOrNTkiVfxc9hD+Bv0LvAxJcEslacVRIIySulkvGsC/oI
 QACbllA2aUalao8iSb/h/sJbVzT5B7KPXDEVuzqZJj18yeudtj58uH02z8nYzr4n
 K9RjnNIM77xhrHc5cDk/KlAOAEtoWdvlsGCsPnpUXUHkXOLPFRdwgc4ZSvtDw+Te
 lnkQyhp93VagAZiwcf0wOuUEXPB5e5/NnYx2oY0txKLbTr3OmljTVMZeMISs3LVr
 IaSl1UYe9KtNS5pSnnCF/o+GRM2p4KDtZcBGWB6qM7vyK5xv7PbMSImWCCFZl0Aj
 JtSZuQSfJ04ADKVPI5b2m4dprOq8Idh1vr98zyfQ9r0gB9qREmqddgib+Keb9vjK
 qy6QkEKh1Eex35nxzJqup9yDa5R/0Gd63+PRIkEJ6/sL55gL448MB4hGBBARAgAG
 BQJK+VbTAAoJEFr0HlHjM6ocRu0Anj+9VJVhdH+9GsNW9GDEkqSoHcw/AJ4qsLWx
 kuhzZA7otqFXU1uBm8ukfYkCHAQTAQoABgUCSvlzaAAKCRBlHu+wJSffExQrD/9j
 GdjIktns+lxtvQOLCKmhy60UWOXwHSQadBGqB4HqWNfRJzWMdc7ljoafksdxbLI9
 KAoa+nRCmcjw4KOeIWzpMOWarLcBh4ujumHluhFuz1DWzKfViALey6DoxzwXPSkv
 UBmaCzE7F999yrHOXIDVYpwvlLH/uOkLXIk2WwzaI1CqJ2Kk4v5NlZsCcD19dRfV
 pNlIcE4O3wnrFDxWayCdw+Ncuz80SmXYz3dg+2gzdIbdGcOgK8Uu4OmWvQ+kb09H
 QYyb9wY2ApNomD0TbzUpoAE/e5Ff/JGaLzmwntIAYjbgRccylRHlpR9qm0mlHeoQ
 TloLVFyXxms+IN+MKw8PYWPRSaTue7q+efuQsy7DZA5K0vDewWjxl1qWC1sBWJK4
 GMZk+ILjjlN2zSBALwQImZTmG34fO2O4iL+8gMqsAkkxmi0HWYsMtetTiXsXlRTJ
 axv1BFb5mQVJco6bm7hf1oMPKzqvT+ZoIoi4QsOozQq/ht9So0ihIuZc9HEMQEd+
 xXkkZ/+LUAzpQKjZzTQFoAX5mAjZ7qIml4LBior6QWHIfLPRAyAmccSmJXR2i48d
 xROY4WnKEZYfZBDbMwUzyqQhBf5apvG+b7hMNV4maOcWq9lL8frkrcSmj+t/Z0JX
 J2j+cGHrQDkRzn62ggR2JtvBn17QlcBcKJNq8c51GYkBHAQQAQgABgUCSvrwOgAK
 CRDxsxaJlaiC2HChCACZHeRFDEYUftxcUy5btI87f5jz2PQUVCEVho1R7Zp6gpcg
 /v4H8wPuu/NmP0ldGa1EaXWC0txBFidv6LviQtl2oWTKV4iHD66LvBuj4/hrkE6q
 FZPTNvlqFVHfNVCmlS+tERbKSIqjU/fFTAeKNjortxIEWB3WS/K1mAC4jWr3eZnn
 O+Ul96XEEtvxyB6kHx41AaRrWjmLlQT9PRLgHp+jTQJe705CiJAgPSMJ7zE7w6wE
 WdM6TgfM68HGXBUVugtoar5B9Two+ou15d1+G4OIQdZ20ArBeEGNsm9XTCCtywjI
 PunkFNnztNhecofuu9vqV2inwbApTJzAVYCgAE1oiEYEEBECAAYFAksyPd0ACgkQ
 XOXFG4fgV74FRwCcCznljxnheRG+xpZIwtOf/JTWyq0AoJdQy3ajP803ulxdIiBf
 mg9SbsSKiQEcBBABAgAGBQJKFSTGAAoJEDF8u+ZDBCZ5gf0IAIKwwBT6aQYJm1MF
 Tw8/idYw9F/RqttSL9TgSJsYWtBzN0hsE0mXpYSSnJTUdHE5UneufQ/cVF5Yx5Ve
 n9wyU7+kjwVQc8asSsoTSQI2Uu7/tVOCGrx7yUgrPq3mt+8CEgWD28S7emjA6wea
 bvJmEqg5yZZpYT+7v84Uv5fKRvWVnvtIbuUFBaN5/OwErAhQI3tb55KFy0xL+ctZ
 LkEHcBKagapG1NJPPgZyvRDobkL/CrFmsWSIh0fJZ0vkdjcB9+qns3gI9qTuDZOJ
 qa03vo+BeMvQ73EvjZM8SthTZ9tG9GiIZqMVApQUxRrI0qiwRfJ6ACYeZUCA42EQ
 fNHg7BiJAhwEEAECAAYFAks+EG8ACgkQBVxLNf////7eYRAAs7zGlHMl1O1cgQJC
 lRTpG2xuoBEAMBL/ko6Yr5r40zZBxBupwXPr3q2EzcFB1Y28srNPs69NYiaxZu89
 wkw7+geJ4r9csw8bIoRJEquk+UZ9ugNNRFi/AyUXdCYTQ97mnn/kMYXdVveBSh2M
 Ra5YAs9DegN0U1/KGo/Ztw8qMYG6CRQ3JGETMjrI6zuUJ/xr8kzXGn+YVpu3+QiU
 KWkiH/XNxPai2i9rNhO4w76iGmUjtYd8bTlCnCHhI8ND6jASsAi4+qCbGN6d0NzU
 BhLOCG0htBto38k582V8k4eUko5D5Ki8aZQpIOc+5L8gJy1vdLtju/ArxBKSl2Ws
 uZD6KyVcsidFzjR76rjUPP/mJPjXn5SHDGyJzbADQOhXoEjL4whUTdfsiE4mBWwd
 sIelpzMaDak1ncwX8fmrhAjb4o2HaysDC0oQM++SpCWsZy8XaP/pM2FQQz1B+Xla
 OF1HqxWXcPPAqP06VlFw6kiDnUWv+HXKNRZ5ZfeU8t6g6MZSfGa8XoVqy6ueMDvI
 NcZ6xnoZee/C467gBCbhf6rUwEkxCULrBBbLVT6yGR5fOEjmHf61wMFjjI2As/g+
 +eux6FDCf1KcVhXiD5qc6e1A0NPCmm9CEX++D1TdwxhTR8T+UN+7VZM/1u50oc9H
 oSK8daJXo3MZZy4bon0yGT/VCMuIRgQQEQIABgUCS3PO1wAKCRDxwFy6aWu4GX80
 AKC8k7gC72d6FB9T+epRM0AfDkvgYACgqSwWFI9hmHva5RJhc6yzTK//o5aJAhwE
 EAECAAYFAkt0ciQACgkQTMIA1oBLMk0/xw//dc74BgabEDEH8tYHbYGra4YUOUR9
 PBGNsp0mza/WCkvCZCPFagCzV4uvcWvGro+sLkKdDYepEJNTKsC4zUUj/32Tt5X2
 OasNlM0jTMCiHepNPtohIof7PmzF2X1wtWs+vQCtWkS0GbyKb6zLvPQQ8Lo4hW0b
 S2Rk67/MQG8oeKncOhwE56Im8mZ7bUVHmtSNBZLIgatRoKm3PSMyhKfem1AMW2o2
 0hntDQRMAsryXVEp4UtSR1Qfa7rQJbgeA733JhDLF5ipobRILfprbmGEabmFFxPi
 QlDBgXE6aqPiLpkTuaWNw+kWuTsPKWsa1rbmeTxojrclyJkpqlhXJtt0CIbIm6pb
 0R9odC99pq0yAgy+l37Q2F76IgEA0G9Ph/93ZRwKd0mYTtanyxFZRlxxjEtg92B2
 1wwmdTAETrlREhoJpne/BGb+nOkp2o717IvNfn8QH+IDC94x/7J+UTrqv0lJ+agX
 HV/6MysHgfHn62BPRpZuEvHLtvbRI3rHuIi9NXzk9VcaJSAcVPRDwIKTfdXzlzng
 jaFCyFhqLoCkH1XgYh7KAir1nD0hZWzF9XBdxyvUFYFXpZiIJKhKLDb8crLOJSZd
 MuAL6VjHI7vx7i7i50Kb845nlGJ1L1N/zBiiTL3DDaQRJgFxilGekOuKD4OL7BtI
 dmgiM19kb1fPtM2JAhwEEAECAAYFAkt1c5cACgkQrFKReUz5HDNfvBAAisewdyzG
 Vw6DUvGUu9xlR1hmQkdLldkZLdIe5NS8amhE7AM5fqd2z14d6tIdt5OvmU0qtdtT
 E5RumH9JHitHo1filv1I/0EuQwA6krPVSGtKp66EHpZrLtpD29foRfKu9DtJ9ntL
 Sqy+P2x8miG1ya0h18Ugo96Ml82sGvOcjCIJrnYRODKOrS7m8kelX+TfTPslqMGd
 ZGjgqycr7ogzHDoW8PBcl5X4756rE9GiBrWZgtUouy3a6KuycVXBpfDz1ptIXWlu
 4YP1iM0Pxh9Y3NNefH1qWuPDY+ewhFDKeyASon9SPlngD47T/1+eK2sws7IbiHC1
 quTSEjXM39cPw7SrK4XaB0pzMpzA5kN2wcDEkGA2V4AZK+bgvngd21LTBlHubi2z
 x5oZ/dwSIc8lRyk1/dw4VOMz/MVG/wAbex+Xof0eypB2lKWhIblACXRzW8hWz2eL
 R+pCMtW7N97xdJCSxH6pemy9LEI/ON1ago3yHH7F7S/J1eHI5Xod7qMlXES1slSs
 ccrQ06ZboTQZ++2lBL73Qc3ePZ4Aak7m7mPxbxKas7HS4aqEhciHP5JZOwuYkv/S
 3SOZDRgsyh9A1J2flkKTj37E1FVMa2/oa4CDTmRGndPJkZM8V00o2T8GnUOC8qBJ
 8srPKxr5KZnWDnsWwlpZ+pAWyflqpyylU/iJAhwEEAEKAAYFAkyyKhQACgkQBuqg
 ZuOXgy+GnA//d0ZdCwHtnWVS3t0W114dlqgArjpAvauqMJd/HLQji9sAiJWQSClT
 p9QJRgm+Broij/bPlogJZwcQ78PcQkfF66cZzcVyHOo8LPo2oUxhgQe8ZpIdf0yt
 Xrb1iGtrNzJpSblMbgWQwh2CD4Uj7Zl0RhgJF3B4CFk7wAsaXuWXN+SStYT0j4AY
 ndq8zMWfaU5BoWYdzgI0a0EJ73XvoOqGZ37kksIFPuWcKuAgFTR6XdrBFS1KFR/E
 xBnZS5D8ORoiop8pMOOkG4//SH74rTFXgob9gsabFteN0+R49RYWfofp0GNUwLdv
 yXhbClEA04el/762BkThAWNkXXJugKj/v+RRstDdgWVB4ZMXOtS69U9OFH7e4hrU
 Qr3U8KemYVJ5ZDY0NfupY8vqyk2c59Pv4kkhRNceknogMvuF0vda6KgHHnA3Q7DB
 XEf5hWXBP7EM23lBq6HPcVpYrBvaADEd3x8dxUTJ23LGqyMX9fbKy1M04J1y+GTm
 ELybWObk1hqC4LLfZ/jOiXmdJy9sYsZ9Ht2f9zFwPQOlEgC3CnLa5jwvAQSNf5/p
 nX40ZGgnva42qHWgASE8Ww0qJOER7wNazAB9hGgydkC0g7iDY+oVOyr/o3HpFiib
 a0Ug7fJ7C5WkWHgWTHzkFinRNk1yolu1/RtN/bkfXRmryNzs2uTQIcGJARwEEAEC
 AAYFAkzA0K8ACgkQeGK55F0bWO0/kQgAiqUGVftPUx7c9r2mKZPQwWkJ6x2NzCut
 7L8NK9T82Y7gC0G7IpTZ87coSEBpawSDvKt8ug0rdCV9TpPx5ALhQDn5bNrjPoJM
 lxKRV+43zGXLle0ZZ1RGHsg9ZAbdmZaQR773w74eZKGmcs0/+/HpcMMXxEeBZGhE
 mZX+qKCADiXGyWz3Cwl0Yseo7pawNykxt3A3fewk63L5JZ49QjGWSvTFpyEZSI2k
 mH6S+3xyJlWjKfSqS6sLKX5OVjs6l2NLjIqhlZEd7wL1PVs40wTuSKsxQZJSy8fG
 SijfEFq646zqyYgda6jQY+3XNb5GH5bCGu3GoHFIv2MrLyU5YYVNg4kCHAQQAQgA
 BgUCTU+34gAKCRC1nrciAtG8ZT6BD/9YXZ3Srjsu/p3PrM147EueODMnJe7iT/9X
 TOT7TqmLhWG1ffo1FMumv/uVTMDiIIh7T8kOiprXgYYdqVneN6yd296HrB2FQVfZ
 1NOGRHaq69Y3gEaHluZ9TEk/TuJ6Nz2LW/v3RVJYc+TtlHrtazlT8sEpK3zILLMC
 dEf/AlsDr0Fy51r3DHPIKWuBRpfC7InY3Bx1tUO0M9Fih/5RcKCnprx7KkhvUK9U
 tu5Frs6o1C8NpXDKkUeeZJoowdRXU804wVL88edlBUE0iW9I9vuen2ETztB6BaEk
 y8fUmpHwpuZHRToLMoCWERSjT8CsBvKRLZwr6sxFFdwu94ZDARUUNSF1xAqIEf0D
 fVEQfdk+uZqv/+JTNIxQEGyrwTdlMCt68YQ0jSzW8cgoG9NrQ6DPr+FN7QaS/RwC
 TgUGMUaWup870oc/a+t9a+9wmSC4rvx2z0WHYYp1uMJ8KVA1BKFRGzLb8OdbBuo+
 J2mft5HVLTXvj3FQtwln/9xOWObXJ1wKL5AYdvfsckAJAfLcPjqHH/AUXkWWkdJ8
 +/3hMa0gxVcqSSiYvdOFkfcQYn73xy/P+eWFqTqe7P5YeKZTcRJRPNlwRKaZF1Ga
 3Z4o6UqmuNsls2I+jYxtvRte+InV3vDebAPQ6KBYhiN41NzHCHeDpnFyU0dFbC/v
 5pNHYGOkS4kCHAQSAQIABgUCTU8HYgAKCRCZkx4l2R4BLOFMEACUeRruQUocas1G
 qyES/FfTEoKV2Kw/U518t5EDw0sL/HvJwnv7+704QBIoebHOUGRUlzMf/nFCBxJC
 JJHF2qwhjeVeAf20H7Qlj7V+85mNfj7R7q0ykv+bX7gzsNa0M/kNjQ2t8RU/eQvG
 +VqXIN0MxLwSwfRPtitxq3JVB0jA2QWZnUkrU3sFdpf3wGssjkx2weK/Ot3F+kbB
 owEa+VtmwgKEbJ3uGr2dkQfpFYqTB6RIX0nKfU7XTfdoP4+T13esGyQYITCKvtGh
 wqvpsr279ZDoKGM7KUPlSoRPZiqJoAg//fg8p5YAOU+Jqw9DxK6QrN0/cSkLsoU6
 ALee/mDtOsz6M8ss+GK6epbD7FlDPBh/93H7icy34SCsCM/7oAzanY0nfrG87X4s
 OnyemoC8bAv0O4UQbvX4QxHKfhuuUfhwPwQRmOpo7syuAaEPQSlObiR3ENvGhkL8
 vfBEoOXAX76krQFW8Dddmk/pxWcwE0WWMEHFADp6EKT+mUXbONUhbR3vVsPuCAzK
 ONwwVpNEPNzQxORw1nKxKFSS+7EnVwWkSfW2wVXtLfGL0EOtPpmy1PBu9S9sW+a2
 LyDHU7viaLAfRH+AdxRitr8wKsH1F6syvdYsV7blIWay7toZMLBPRNCM1fMa56F8
 nsHvbIN4CeDquT4nFnS3v7qxdiy6FYkCHAQTAQIABgUCTVMLaQAKCRCpyGyN066N
 OuimD/0RNsDuthO2kHI35TuDURb64xQRI+WxASZgpOly5ki6oWGQGvPGjGmL1iUP
 yVI9BST2+So7S9gstbN+HxXmsmNIjpWYO0k3W1df7yVKRjbfx+o7Qi2+4zi7b5Uv
 lxY14HK9CxJ+C3jWYApN0u3KhSdDL5D3oJ5MFV/nyhafXoRouuZu3IlgxF0LPLTQ
 tjVFHhKd8bJTf/zIS18PlA5f6AncEdL8k4xMjBk0kJPtB3BQlSjFYwZPm5UVWYnR
 KVtlYKSw3nvb7Vog8aC6VNcipRsA6wu6VHypRF5fmPAGe9GvmFmiySl9pJZlJcHE
 Ks+hiCc0sv9RatfBOpFSmxaoiONgUbIwDWPR+pX2SOt9EdbGk8npgGRWdVQHcypQ
 3JwbcYgpYT5nQnuZETsx1sRfm8d9xDt2qkjvJX8vCZhi+JCK0wYwu45y62N2XyLS
 q/FssgaR+Ie7Kssnh6vjtUTTKe1YDLlTb2IwSTHcYhyKYyeikmSB7goqDa/wgkrF
 bEUMHzwxaO7ZlIcych65jWiqrZ9M1TgAHAFh5x+05qA8hcGOfWnKxY/kP0688aYd
 Q/CVuXStWqFStDSSthP17hpFq+S22kOKvmqSr4J/WAD6UUU+orbc06tOegEyCiZn
 hwKofNtrg+hCqxFiLZYvOZnq/z9OBVV/3i4qAEJ2i54SeaAELYkBHAQQAQIABgUC
 SswIvgAKCRCQV4eJidhUfvKrCACAV2zlfP7PwOQqC5zsegsTsLIO3ITEdXNJDnXv
 9uAiXz4bmNvZFOpM///70POE1AOf7+b4S92TiZYWmUtk4IbR8XaXaBnWrZzty8Kc
 CocfFrhk/XQbDVbx7Fv5lhv2VsqhLjGeXyIM2A+jNRvfUIAO9NKCLzxobn3VojSN
 mS1GU6Ig+fzGiCLxzdtn6lIRrYIzK0ebgcYF0qdncFSUEzjN3eXZ395Pqh02z36r
 ki8Gggsaf/JZUp8aWIUymwGSxypGfaINRjDv3+uAxMJguv8XcO61ys2JnjqGmbOD
 Y6A3Yd8j3G3yW/txPvcnW0T2NXe6UO3RmTr1LQTfL/2EaSP2iQIcBBMBCAAGBQJN
 VGcGAAoJEKwwh5qrVbMS+c0P/2MJFf5OugohjkeMMTUSQwjRIuLrY1YMQtbRYsmI
 A7nTbZxVLPCSUqLMBimSzEW63l/5VfU/yaITkl9kzxn1D1p/zqvd3uLzHzRVrhTh
 4Dys5sJqi/4RoNDWoKFX8Syj8Srkp7T0RYzesK/9v1qI62qx6fYab4VuKUrrXf11
 35ZSuuyWrtB8+MwCZzdDghFggSst8FTNCONkiKZNeAyr3IpgNt9d7I5Bjb5O/JoX
 p4fCRpQv/DOt70daYJciSE7bQvm2o1z0QP95CHfzFST9Mh0zYGYANLPYXL0JPdbx
 C4KvEdnuML34WvgCEjJOJfrZhIe4I/2XmRXbcGFu8uAEpMnakXx8LHEmBs0k9/15
 8DQpZrHQ1wCgEMXsW3o0ITfbYiJqVvenb5HRy9rntUv2BfQyBKAaRo7E/dOGjHcW
 H0d2kxN/B7yL+GehLv9l7GMbLugfSof2ZURPvxCZfIIBXNKLFZzuYRnfLhT9Sn6s
 t0gJsriBywgI+AvEOfPGTXuJRdOvCs+xkV9pMhCgRw9b1nRcMV/JDqM9Nu1J3oVU
 HmCW8Z8IvHQokbu4H5o6kE0vvbWdYllleTbX25AGxwVujzxNSdPoPDKrZywMCMDt
 tWlKFPpaLRKmU9UtRN/zuCt1vv/mwXsfpNwJNYnJCN62UJPwAgdpleLzY2W9Mofo
 uGYqiQIcBBABAgAGBQJPT/G1AAoJEG0JgELA+8ykt9QP/0wy6lEvgrHoFTS/jo9T
 QSvUr9xW49D28YPh2XamN37LDoR13aBdg7Owet3byucnLlew57kM1Q6LbfyTjY/3
 KA80DUYW+tNXgdQ4YTw06Ydc+lK6ALnjyUS5TNNeP3TO9XXlynG2c6oA0pYT0KYs
 V5dDkLpi8R2+hhn68IjREOr6cmL6f128OXdT0LqshXpEuLk/VYN4ZRcMgnBhFXua
 7c2zPyc1DzwKNJBoYtpkBpi8NK68Xcn7YWWuKOi3qfgzuMgUR+vZPtIbVLzQj62V
 zGixkt8D2xE6VjU1qR/Z/aeL5I5TSotKWEDp35INURYLspCyPZR2SI5NGdnCn32t
 HLfnvTKy+rUEpRY5z5/TlqefVsTyb8ZLSQP9vHLcjl2pXvWBWexRwRd+fVFrJg5w
 bkv8ERhEvmzU3XoC2Y4VtRcntq78s341aN3yp2/6l8g9/qA1owGFNBbI8NdP8ygE
 24mXg2JqQ8QgQN25kv6yo3FBC4KNgIwdI7ysNGA4Z45lV6XOHAGmN3NYXR1lhDh7
 8XvNS04KJpp2eRYqSYShb+XntwjzkiVNPYWpbGFJRVNNZUteEZfyDq41PqVvIyPT
 mUsAvX4wxWM58bQwIzWMgMCjCw/cQPdQgizE/cKEYBGbFOnlqq2c6KI9pUZP3gjh
 1V7MGJ2Cjui+44NCvaehrY9YiQI3BBMBAgAhAhsDAh4BAheABQsJCAcDBRUKCQgL
 BRYCAwEABQJQvk3lAAoJECZJ5ijF000FkxIP/iryDW/m9kVTmZrWBhhK+5QgNOjD
 nlC+Oq1a/nXeNu9nd9Cf/MCllGUnPDIMca8gseHEHzU/Bd3XG/6Rwm1n2mEVrQtp
 AxIOckT2ezbuvL5wmB9k/pyXT71Xlr0kUNSJc0PLbvG/PXZk9g3Sz182p9EhFXqK
 jrN2yuNmhZYfpUpyCHyjrVU8DiQjwot9w782RpRmixeFAq38GMXTtydeMNEmKngl
 xAZy4IbmrSgrB7hn8QgIy/zLPtK1xKMueTSjnw8RwTVRviQ4nSuiZtZ4+5Fu6Nga
 89+zDhj53kAsBFRKTcWhageiS4EfpClBRX52YlJFrowD51LOc6Cb8umeTiFVIdYa
 TcBAo3MhfWLjTMb6gGpOpOI9eWpuTlwXtzaVYKvRPNou6oJD0bXupjdp/vV8Ha5+
 OfaJLmBCQ10hvCzYweOJ7Lb5mgrThTOk9Si2y1JaFnb31kwLiE2dNSnoQ3DJ+nA6
 mTjnp4Zf6a+SIvcJcV/eZiUhyb0XQf80HdND3ZP1g57N6ksDz60IBY5UURhUkiht
 6ryEkq3sxhvqcnVjz0WpRa5Mb6EglsbHiKsIDtSy9UJSHgTeyhglq6UdEN/8aVot
 ss06CZN1Sco7a9V6oNQkELxDfwKCK9+YGwMUJm1unbbYdqMZRJjaOXYywwWzOmhl
 8hW8aM5+3n6985o3tCRQaGlsaXAgUGFlcHMgPHBoaWxpcEBwdWIudGVsZW5ldC5i
 ZT6IRQQQEQIABgUCReIEJQAKCRCzsfgaAnh4gLVQAKCJXYtPtzFqAiuHiLRotJIT
 JoNv0wCYmEgP5Zor3XPgGSvYjz/zICZSiohGBBARAgAGBQJFO/SyAAoJEL9L0OYE
 nbh5gzsAnA5n7CogvFO1OXbGiUfe6f7HIeKQAKCA9O868uD0lJg0ASbjR4E4RyBM
 DYhGBBARAgAGBQJFPHEBAAoJEKsvWlsVJWmQkQgAn38QavQ3Dvf8xbSD/eRpNW39
 tLiIAJ9/qaYvPn4cqEnoQl8OsMw1gYIdBohGBBARAgAGBQJFPHIOAAoJENuE1HYS
 bUfAvBoAnj7lPGECsJCVGJFK6KgUSaHQDJZZAJ9erfuPtQRVlFC1rx6eqMNEEiGP
 L4hGBBARAgAGBQJFPI+ZAAoJECakfGr+bYUPUa0AoLh9tVd5CxoO3kQVkol45v5b
 wJigAKCPaiFuiYeCtJ2f9XOfuEB6QMhBF4hGBBARAgAGBQJFPKjmAAoJEFZBJvIp
 8ZvRIBoAnRZJOlbXBil4qBIhwzO2ldl3HBWtAJ95zPx6h+j1+1CJrhiV8345ZgmW
 uYhGBBARAgAGBQJFPLNZAAoJENdZXTdLcpYlPzQAn3T3rzZAqu+91FpkVo4E57Qx
 QoNRAJ98neRkIUUGONDFwihd3Trvd/gohohGBBARAgAGBQJFPPEtAAoJEGjhJSt9
 pcU7AyIAoMiHI8HvrJmmRk+EkWb20uyBf++aAJ9c0ghIgOlHS7XOcwxjgv1iya2O
 jYhGBBARAgAGBQJFPPe0AAoJEHPeaYzHFAWiGaIAoKGRcsMC3E5quygXUmQ6nL83
 YF9wAKDJVHHkwsV3bWaWq2ZMkHCbjDNI34hGBBARAgAGBQJFPSglAAoJEAbypSJt
 CNehibsAnREOeP8cMoTfKSR0fpzdY/k6Xxc4AKCzCdnW9Lu6jSFW7GJfvhx9JsUn
 gohGBBARAgAGBQJFPecXAAoJEKrPs4YhG27vwtwAnjP45zwtCHx+lAUw6+QjMTHW
 aM26AJ9Lsw8wvbathJc1bjcBcCUjDh3CyYhGBBARAgAGBQJFPhw/AAoJEKkX6cyZ
 bhReysQAnA2mSrTteoKb+j6bAuXy6oJCRmO6AJ9TYUGUuODUwNoNnHY/XnGQEBCO
 vohGBBARAgAGBQJFPk8KAAoJEC+VFQiq5gIuxFcAniJLINm+Ucvq3MxzVxCGt+Ps
 /T8bAJ9ve/fKDbX23xHrwSMTqxeAcL2OVohGBBARAgAGBQJFP9EiAAoJEJRq0wuH
 LLoE2TkAoOUJjnaDAqVgNbCeHvF1bVYtEZa3AJ9HdPkP5XDwTtN+w96ZhOvigjZn
 f4hGBBARAgAGBQJFQEScAAoJEOkjWjUYLJeDmuQAn3WsqZXjWJAyZ/Rb3I3FoRVn
 yXYHAJ9DabsluDIehmSXI7zBcd7AzIAn7IhGBBARAgAGBQJFQGdTAAoJELcooz9F
 d1H3S4sAnREA6ddcG+zotHyoj4xzOt6Z6QdvAJwJ7Ec9EriQopBYySHlo2VPQE+l
 n4hGBBARAgAGBQJFQm+PAAoJEAYGnPKWlFfwz9QAniJ11YA6B4lKzQ+3yDBkUC51
 WQ86AJ9QSb+Ph8/v5QnlDAAfirjzxkS8HYhGBBARAgAGBQJFQnYHAAoJECXSjMWV
 fVjP4YsAnAs3C9OBG1vcKhpRLqZEpvcvp/IqAKCJUm6Qev1ETSO+GfOe1n3q2sRD
 QIhGBBARAgAGBQJFQ4XBAAoJEGx2F4yg7ZgtRvEAoKeYNaVfauAg+FjrI/ZCUF+7
 a1Z2AKCnmbcVYAh0BJA0luq7U+O954my44hGBBARAgAGBQJFRb//AAoJELPOLSM6
 q/mSdhkAoLOGfupG7+DNsCrxHg7T0lTGgG5fAJ4mB+IifrEEkWqyVV1fwpEDTg8f
 tohGBBARAgAGBQJFRhogAAoJEMo5dFnlGy6ReP8AoITozfb7cmo6BOekL21FNC2w
 oALLAJ9M3+8DFS9lj/yctQu5S1189IVPU4hGBBARAgAGBQJFRiJOAAoJEKBP+xt9
 yunTqXEAn0CllfaW7kL9Oz16Cn1jBIvEeyfIAJ4mDFypOdRGruaxLrsYhoCxf5Lf
 bohGBBARAgAGBQJFR4KnAAoJEJfO5hKrjj7VrOYAmwQIGHK+F2ZssP2bWit8afR4
 ZU16AJ9AZ/AOUxfgmIlgNujqolE6bkFaHohGBBARAgAGBQJFSa3gAAoJEFmm5/To
 7k54RxkAn1T3GaBNC4E2rZibFTfe59YxQ93iAJ9ZRSeg4a0XEvLhJJUxYJNFcFTG
 J4hGBBARAgAGBQJFSxxMAAoJEKwhViahIYdXfFoAn2RNU0qGszvgAvFC/0RETOma
 nm7uAJ9ZmExSPe4l4nl1s+oQzlu1yIJ+u4hGBBARAgAGBQJFVGbtAAoJENjKeKUe
 xWvscPYAmwaLzRYIHpD887f14Ir8plggwR7JAJ99cr0ZNeZXGF/UuETX3m+oVn0J
 oYhGBBARAgAGBQJFVdoQAAoJEBaK712xKT80FkQAoOm0Z+rK/rckzp1txCEsB1Gc
 ZTJZAKCtytptvKOiDlwkiEBY90fhszfV5ohGBBARAgAGBQJFVhw+AAoJEBypWmNW
 sMoIs+IAn1xHq7mfG4L6XV6yYMMkA3JdyHL8AJ9OrVeHfizUavzXW8/j0MkAu8rm
 m4hGBBARAgAGBQJFVxuHAAoJEBXWiATKbN+y6tQAnA/BFffVAUrJDto+AhpHx0rZ
 FDGkAJ91jTJpQEsFQBNkJre2mL9YDI6PoohGBBARAgAGBQJFVxueAAoJEDDUOm5k
 6+IgoXQAniRtYZ9EXDl0xl1GwgBeENA90jEPAJ9ohBGFZCZyTLpStZ0he+bgl6XO
 GYhGBBARAgAGBQJFVyq3AAoJEL/kOH5U4nj4Q0cAoIx4x8xr8WKlFyZsGfLqg1XQ
 tfZUAKCAcZpeoP+qja50wwPISFZtGmSS14hGBBARAgAGBQJFV0kbAAoJEF2Oi+ny
 OBrUTbQAoJxr/hcdm3Am7Cfke0p3vUznu0W+AJ0Q1+DOxqHbnEAo/UJbLzw1ALeX
 34hGBBARAgAGBQJFV0nTAAoJEE+xyIscE5vFZVUAoKVHbwTVZjPOz/sobBDLjVor
 opirAJ9VDL3eKfI1bXyPM9Er7SLNKNd+RohGBBARAgAGBQJFV0sKAAoJEDMRJG1R
 R9z0jvMAn0iyqW1JYHNohwNQMBt1fJfxdtrtAJ9zZwIixKRePaIjSSJo72oseIRW
 VohGBBARAgAGBQJFWhEaAAoJEBRll9zcw5nHmdYAoNtJblpHYqIa9xVbsPZRViKv
 hA35AKD8/2G5wq2HKNDlREsEcN+PG5PUV4hGBBARAgAGBQJFWzPaAAoJEBdynXf0
 qFEv7c4AoIsCrBTwcUP5uyGiCvzqb2rhsNzcAJ9Ar5QHY7tzCYllc/PjrneOGOD2
 14hGBBARAgAGBQJF4ZPJAAoJEJhL04CsX3AMqAkAoK68n/ervqIL4uNUqJBwi9Lb
 l6DLAKDZtmgWjrXONTNkrPDE6GWAS0LSIohGBBARAgAGBQJF4bTFAAoJEFAC77GW
 LjiQ6SgAn2/8onrUShnZKu0nUV0myun+n5ntAKC1RB9U3Z+3uWIhfguAC94eWCtR
 DohGBBARAgAGBQJF4d3SAAoJEE1EwCDFwFuu1GMAnj7Kc4nDWpABvDOmAo0bV5dk
 0pnaAJ9rXu/tsdbunoyjry2SY7RXxlwJEYhGBBARAgAGBQJF4eVPAAoJECV+3BMl
 8VmUsZsAn2cXD6qVZdGwI7KuhjSSeq3L8FGCAJ9+usMPqivjOMWSY9m0oQdPjAhl
 Y4hGBBARAgAGBQJF4enGAAoJEHhn1Tx0eTXdeIcAoInCDMNmceRzifNetynJIJo9
 i6KiAJ4x5cVoxc3J8hS5OIO/5gGsverghYhGBBARAgAGBQJF4e1CAAoJEFiD3l2i
 Ipt4bTcAn0zc1Haim5UlWuMlO7MpinLCbEWQAJ4jYpEaeKlXFbxIoLuyl27jHj7S
 zohGBBARAgAGBQJF4fJWAAoJEFUVYHaRYekRs74Anj8lFDrs49QHTkL5raA/W+1y
 cMOlAKCWOdiOsMZHFDdnxgybrF0UUzJg1IhGBBARAgAGBQJF4fwsAAoJEMfZMCWd
 /6rUW0gAoK1Qqed3rEqzSgyZZTOzl0liIXqCAKCsMlbYnFFguYDFfoSxqP7ON+Lf
 cohGBBARAgAGBQJF4hITAAoJEOVE3gebfDKN7I0AoL93/cV8keYDSEZmSa1mODK5
 6d2bAKCdOTEwCTs6o/51TnmZM1SIM9jYwYhGBBARAgAGBQJF4iIbAAoJEH5OpU/Q
 q0B1jTMAoL0LxQyVk4uGVgxedzuij5ckZceAAKCjYV1+1tatqwOiI8XapjUWokxt
 RohGBBARAgAGBQJF4icTAAoJEHZJQAVJruv2yxMAoKU9CCwhdoDGSUfZsSB+IoB7
 6uLXAJ93huh3WknzFQ1iW2wi+H+QALK4QIhGBBARAgAGBQJF4i9xAAoJEAZVrBDy
 2EYvhUwAniJdE1GWR3P9FoojOONehI08jNd6AJwKuU1daJLPoZgo72pwSvcaUmWY
 SohGBBARAgAGBQJF4jI4AAoJEJzL2hYB+otKcj8Anioc3GLnDf0YawMpqWsowcD9
 /XwbAJ0WuB+0Va8o39kC1F5IMs2sH8O5C4hGBBARAgAGBQJF4lC7AAoJEFuTwC+e
 SpydJfQAnjX+peY8X6e9nJedob9/dsYwA4ETAJ9Hsi8Ce+MZk2NSHN1HcOgUJbzH
 14hGBBARAgAGBQJF4quRAAoJEAMlcIRNIxPVbnoAn1DyL4EkQ6+pZB1RYSMN0S4b
 9htSAJ9oo8KuPzwdM8WjSqmattkGyCkczYhGBBARAgAGBQJF4sEsAAoJEHMcr9NT
 waMvwmYAn2PH5sjrHb0VT88ErYznzBL4ZXJgAJ4yOVxkzaK7iqRXIV0l26tMM5sA
 AohGBBARAgAGBQJF4ss/AAoJENoZYjcCOz9PwpIAn1UjBcm9EFHzUWObqGBwX2nc
 zEhQAJwMhbsD4qEtEHTcDVywTLug57iBt4hGBBARAgAGBQJF4vBTAAoJEItKxIGs
 HnFeNqcAnj+Yeq0a+1CgEantO1cjoLhvtQ6fAJ9O03hx69+qstjquG7dTrNqDNI5
 OIhGBBARAgAGBQJF4wXeAAoJEDACjSRIE7X+PcYAn26BnUwub3JSCecTnS9gSQo4
 EBZnAJwIul+SMuG/YM36r8VUluyC7YClaohGBBARAgAGBQJF4yUZAAoJENOjcASu
 TRzU2NAAoJAcsSeUjPlfbujjWmtsvj5uIOOZAKDiEpKE16mOWsZ7zwLfW9wPVZNa
 NohGBBARAgAGBQJF4yu9AAoJEB9/MmoS7vYql+sAn2ecFoUfRzu/3wEigdKRkcGO
 H7XkAJ48YAAkCCjIOR+aiX9FLtX9K1tWb4hGBBARAgAGBQJF4y6tAAoJEDiaVjzC
 cqEmEcwAnjK09CsyyX9dDpBQJXpEIFk0yUK1AJ96t2NdegULETUY+r+DW/6Y8uEX
 1ohGBBARAgAGBQJF40jQAAoJECGntTuACWnv638AnisMM2+3GQPg0OpsObUlvdmR
 Vqx/AJ9kaOckJGr2jtzHXGef9ZnaQ/yRuYhGBBARAgAGBQJF40mEAAoJECic/8Dm
 PNbWpPUAn2xc8z7TPuCdnh8TQextfRMeMDROAJsG3nNlPWj9zBNOyP22jiWeCZil
 rYhGBBARAgAGBQJF41TPAAoJEErbH4hriFRD8A4AoLEGqZP/neKVYDhEiXKyBUQt
 aXJHAJ4xr3Awv5A8cuVuZ4rj2FP45NdCh4hGBBARAgAGBQJF44RnAAoJEM8SNHyW
 i9WHEEgAnROvzuohiDh/BhVrVWOJ2JBl2MK4AJ0YODYTxsJOcwzfKbS3+HM9ghhE
 sYhGBBARAgAGBQJF45cyAAoJEDhzTXeHkBRSCO0AmwbPl2bhWqSV5CYAItRh0Um4
 qdfBAKDWAYrjPjXOSOBzvJHFIcU7XGC5uYhGBBARAgAGBQJF5KOGAAoJEElYlpcb
 nMLqomQAn19wOSzE5yBmfFh4StGu/VGcaurgAKCC15Xntiy1Ewnf8tQtUHo0hCgk
 SIhGBBARAgAGBQJF5MAGAAoJEHCyAyE69Z0WdGIAnj9IL1a0fMXbzudaSShnERyh
 NTzTAKCdv/xIrtZPyDx0yBzHXy4OmcRqV4hGBBARAgAGBQJF5XYDAAoJEHkOjJRh
 /9qrp+EAnigR9G6GYL8Ap4M1FfDd4gkFpko6AJ9mnEJ3bBUv52xxxlkJG1fA1BXL
 6ohGBBARAgAGBQJF5amFAAoJEM6A78SRpwfkxf4An0ttYREJj3ZKLvDWXJqEHlmQ
 f6JBAJ9wLSO50uIsvVBX/93XDQheAxlIp4hGBBARAgAGBQJF6ZYvAAoJEBVYlEWZ
 6B2gglEAnihv1mKDuM/qOQ0hpriT2BQbBZ6yAKC6J2WUnOa8WjdwL+j99V7bIazF
 eohGBBARAgAGBQJF6bguAAoJEC5HP/cdc4Q02kgAnjeE08UKUyMGshKJRUYS5F/w
 aIWjAJ0ScRc8vdnaa0NJWdcrPokvtX81n4hGBBARAgAGBQJF7dt5AAoJEDBp6SG3
 moccEqEAoLOQc5HtKYVOVoS4qftybido1S9hAJ90nwckHEhrVnyKQwZF5AUCODXo
 nYhGBBARAgAGBQJF8c/UAAoJEGnSph3iY/zUnBQAn21J+dXT5IJMHlMJm9IfeI71
 oTNOAJsHig7GkV+rZCWr+omRD6a9bw0iR4hGBBARAgAGBQJF9VMnAAoJEOpi07Zq
 q8KhPkwAn0mutpDpcNijnM/xQOQg667y8A70AJ9WhBjCtO3a10iuxx0Z1qmZfaL0
 AohGBBARAgAGBQJF/zH9AAoJEDqQ/8EUCNfxaMsAniRWYJiBIinWds8qw9tmKRA0
 LUb0AJ9bbVSLl9/zYcywFUrsaJOGrOu4XYhGBBARAgAGBQJGCjo7AAoJEIpncZwt
 6CezLL4An3aKnEiu2dVp440y01ZP8rxcj4cyAJwJMOmCFz1AqDxMR90xSBpgnIMx
 Z4hGBBARAgAGBQJGT8yxAAoJEGBl1TP9wgW5HwkAnAuWw6uhMZvsAOmIQp/s+atl
 z7V9AJ95SMBlRDbz46ImhmXySoyIa10aqYhGBBARAgAGBQJGUm2yAAoJEEjJztxX
 HuSYqowAnilqJKq8lwao8SrROqNcP0vtagCOAJ0fvgNPgn8PysSp9yFNe/42ichy
 54hGBBARAgAGBQJGXE+3AAoJEHHOr6zsoorbOq0AoJ+e7wcR9S0lzhnuSjiUjKqx
 04jbAKCpemhUuiopwBtJV53+foMiTboYLYhGBBIRAgAGBQJGUO1uAAoJEHkDg6l0
 ZuZTTOMAoKqsNYXvMPYTsdwkOxh1QCZmoFpoAKCEehXFbR+bvKoEszZIb70p+EnU
 HIhGBBIRAgAGBQJGUO2sAAoJEAJJTlL82leHlyAAn3wjRcViWQ6IwlhW9LIgjAQN
 5zVAAJ46SM2y96DniGgz8bN556O6JwL2a4hGBBIRAgAGBQJGVLZQAAoJEDKI3m16
 FCTGyasAoJmdqIcRdKx2a6Xz/ClWX0E6ddtZAKCGVydv/D61OQXeWT532qBWL693
 +IhGBBMRAgAGBQJFPHw+AAoJEO0Yto0WGUVTgToAn1Ofb8lJN3nrts8ksRmXc+MW
 QyOyAJ97mYxhxnclhzkQPZdxMsOrmA9+z4hGBBMRAgAGBQJFPQ5PAAoJEDsr5WIU
 kTiXu4MAnixh9KErRv8GtHneRc4nRnAW0oV3AJ98dj0xQMmltzJAB0UOMDahjmBi
 jYhGBBMRAgAGBQJFRc7/AAoJEFYhzLq4BaQWa0kAoJGFUM5iyFzb+VLDOxjDj7Yu
 REssAKCdNU10F8mzzs3gf77/z7EOv+Qs5ohGBBMRAgAGBQJFSmQcAAoJEKHH3ME0
 tyRf7gwAnirlU7oMQWk8t0zXfpSkKJKAjIxVAJ9JByHZFw4JE2YBZp6j1Nn4/p0d
 X4hGBBMRAgAGBQJFV02UAAoJECHFCRYOSnh1Z8IAn2Q1yNALKj9i4XWsNZjizw4x
 SB0VAJ4yqVaUcRzj55M6Fcw57GqO67FskYhGBBMRAgAGBQJFWZnQAAoJEHu7RcYq
 Q9NMRmgAn0OJGibBGfdjrpnKDgroRFiOdV/kAKC/34An2i/kc0jrIWgGizzKd9BO
 74hGBBMRAgAGBQJFZgjJAAoJEEIUTAYlN20+5xsAoI4Sr9+55ZsMJIOYn7QNq6+7
 oeS4AJ40PNcnsnMBniacY37FXuGf9O70rohGBBMRAgAGBQJF40+5AAoJEIwl7g8N
 wLfW0YoAn2zNQYcAyrHdZn95gtRCx/KsUAnlAKC4BX7jXX/o5pj5oavzBgstYfpL
 rohGBBMRAgAGBQJF6t/bAAoJEEHcHJByRJcLSGYAnjeLCAj1bYyYa/05jFW/py2N
 mSFpAKC/v/BkHy1Dr5n12iwv3YDkwskBFIhKBBARAgAKBQJFVLM6AwUDeAAKCRBf
 LIShPrYEbXH6AJ9ig0i2ffCooj/teQH4+CU/s+NxkgCfQlAfDOKsNZ0t8mDO1n6y
 uUAKcCSIjQQQEQIATQUCRfGDJUYUgAAAAAAOAC8gZmFsY29AbTR4Lm9yZ2h0dHA6
 Ly9mYWxjYWwubmV0L2dwZy8weDAyMUM1QkQyLTB4QzVEMzREMDUuYXNjAAoJEKd8
 S94CHFvSXnsAn1x4MXGs5pvzaojpcqE5pdvG5neNAKCB6f/sWrWfVcm8PDNNB6ma
 yvVw94i8BBABAgAGBQJF776TAAoJEO2iHpS1ZXFvEHME/2id8ZhcpQQ8Go/P5Wu1
 gWV8cyvPQ+AT2e3Bzqd9tbkH+hSMIt9ubVl3IyQWdiZzZzVQaUapMirKxFdiQmo+
 JkrOEs/mcUUVq6XnDy8lJdxCQOz8ZFenUkGQaovNuHRQAVvd1GQppK35T7x00lRw
 u4jhdgiF4GJ2dyV7T8NTN7O2ADEDnXClHyCGB6EWy2QsdOtKMckN16UxC4sajo5/
 VRqI9QQQEQIAtQUCRT5aDIcUgAAAAAAQAG5zaWdub3Rlc0BncmVwLmJlImh0dHA6
 Ly93d3cuZ3JlcC5iZS9ncGcvNDI2NzEwMTNGOTRBMEFCRUI0Q0U5QjZEM0RGQzJD
 NjJBRjc5RDI5RS8zNTZCQUUwMjQ3NjNGNzM5MkZBMkU0MzgyNjQ5RTYyOEM1RDM0
 RDA1LmFzYyImGmh0dHA6Ly93d3cuZ3JlcC5iZS9ncGcvY2VydC1wb2xpY3ktdjIA
 CgkQPfwsYq950p52xgCfXZth5pnHae2J5+Kc2EohMYzW7X8AniUizIhcHb3zAim3
 F9zYAj3tGxQXiQEcBBABAgAGBQJFPLwsAAoJEILS9urEu56fmYYH/i0vpRRvs0U4
 yC6mjQTCYCnRRK0F3WXaQaPQpd2qI45KpMnVS23Bko/OUPSwlgSIkBkvAaep53Ep
 AMNqbzDjrxYvungQdG5yckxVsuJPCfg/bEW8Eq5uJ2T+2u8x+Xns5keaEWJVe1Mq
 Otyxe1v4r/gZkyowe3rHAS54/rZZH/KJTA5KWW0R3XqRJdWmybPmwdUqdA8DotHt
 hF98sJ6gpNeJcVYYjB/yJEexji1EbiTX8HJJ/+dkrKg4m7SUzIOgF7pW4JmK0u/C
 E1Ds9QT4mjocNQIMIXGmZE+0p95+5V8H1xRRS5RUJjj13bCDBMhn+FygcllVbg04
 RD/jqFWEXraJARwEEAECAAYFAkVXTTwACgkQLtRdZmGgc+nkzwgAjYIAVqbrUywY
 gywoww51I5pr6No7eacWeo2ck6yzK1EkVcNEYwEAifFH7QbTLq5irzaTbhqWxzst
 urv4BV1lN//bVS/e0wlJLo0LMhwzpb6rSHRFk8d1Y4JtQFORmML0Nv/bSOfN1dAZ
 /vYt/mf9WzWU70zVZCX4jZaiQka1YXrZUnD9X1ZPwm7od8cE1AnhN+DwW2Wlpc9d
 YS1p2DS6SFf9vuTo5URC4R2qx71lZNB3Bg+nLoMrgRoRp/5CBrj8gfpvvPfIgBXS
 B4DpBRGyZqxi1ap2x/SfGH6jxRrAGZ/hUcdd/s9UBA50WVGQBGo4kR5VLtm0DcQe
 MuuQ+CAZU4kBHAQQAQIABgUCReNH2QAKCRDo4GL2DcsEMUPaB/9cw9jOdvGOaRsa
 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
 =goYd
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.278. Josh Paetzel <jpaetzel@FreeBSD.org>

 pub   2048D/F6F63F01 2012-09-21
       Key fingerprint = 1D8D 506E B58C BD10 DC8C  97E1 D6AD 8621 F6F6 3F01
 uid                  Josh Paetzel <josh@tcbug.org>
 uid                  Josh Paetzel <josh@ixsystems.com>
 uid                  Josh Paetzel <jpaetzel@FreeBSD.org>
 sub   2048R/F32EF801 2012-09-21
 sub   2048R/51F1335D 2012-09-21
 sub   2048g/9BC280CD 2012-09-21
 sub   2048g/CC793500 2012-09-21

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 Nl2zzZmlpV4i
 =ExWp
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.279. Gabor Pali <pgj@FreeBSD.org>

 pub   4096R/6D7E445C 2013-06-14 [expires: 2018-06-13]
       Key fingerprint = 7AD5 76BA AF2D 14B9 6D45  440B C013 309D 6D7E 445C
 uid                  Pali Gabor Janos (Primary identity) <pali.gabor@gmail.com>
 uid                  Pali Gabor Janos (Eo:tvo:s Lorand University) <pgj@inf.elte.hu>
 uid                  Gabor Pali (FreeBSD committer) <pgj@FreeBSD.org>
 uid                  Pali Gabor Janos (Magyar BSD Egyesu:let) <pgj@bsd.hu>
 uid                  Pali Gabor Janos (Eo:tvo:s Lorand University) <pgj@elte.hu>
 sub   4096R/A57B06AB 2013-06-14 [expires: 2018-06-13]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =gT6K
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.280. Hiren Panchasara <hiren@FreeBSD.org>

 pub   4096R/61913185 2013-04-13 [expires: 2014-04-13]
       Key fingerprint = 3336 8104 8D15 B238 2465  136B 4A61 462F 6191 3185
 uid                  hiren panchasara <hiren@freebsd.org>

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQINBFFormQBEACp9dmGFOS9vgtBfWAuzTexWByjyRtBnpA5eKLlVEN4JzQIgX6A
 KqZ7EvLE46ypQTMRuSKpZ3KHOfmQm9QmgJLR8ytE32AVxIMJDdgQwdxyW6Uoy6Kz
 iQwFwe7+hFyyBy4jiuz6p4EFLaHq/E9mtc25JnlvZZenkrEoYTzUPLpwPF/JcOGn
 1a3nEo2ohlxbZU6cgdfFncli4bMGPEO04UKpKxSO/1LR1VdP/yzHIRwkVAfE1EsK
 jhFK3C3T31/BQ8ZLSGzNUaNnf+13AccpZ3AD83STrSxi2JtJ0dSdpu+RkunBF3Bb
 h55RksKpx5bzdF0RkuKRW2UXTqH+jtJsO/tIYd9vffIx9By7/CKed/g7GTYImpjp
 LyvShCwLnmMsYFeJ4bbF91y4pACEe/Bs0U5bPYcJQ+Su8E6IynjXUcUgOLzsv0O0
 G4cU193PC0PA5Q718HvIQisVws7KoXt3HkdQ3bNTwEMdZKAF2ZorwX76Ie1ihjoO
 GxtFXLV9kd1pJy4z/uvczfpv94N2l+0l1omZcK8P1I6pEtxQah5oZup3glx+XVno
 cdV2tUDcbBfV27Bt8bLHGHmvWltI5AjoifZeMmD+WN7JbVXJMmWnaxKx3BrxXMOC
 gCEOce0V6elDwVtq+1eC0AFjVpBCvreii0T3dVNKE/cQVlP6dvTsrTWfUwARAQAB
 tCRoaXJlbiBwYW5jaGFzYXJhIDxoaXJlbkBmcmVlYnNkLm9yZz6JAj4EEwECACgF
 AlFormQCGwMFCQHhM4AGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEEphRi9h
 kTGFYHsP/RJr381vc2vRk9PrxTVfxwM8GVLE5jKEHA8r2x6YWcHkdn158rMrD61f
 +0BmY36jp06aWi1l/qVcvdG3aRkZKWJBvRWTn73sAz7o+AmS4aYwv8KN0teVw4Fj
 LVd95Shm6F5B/8RrmeuVGtSXl1MVYvEMn2mF6Qj8iuiQx/PcrMG8ReJTUSxugFWI
 zRJOZiOGuhOH0RZZJHDHBAazjN2VBpR8ceJNN97FyMbfTCp091ZgRl08A5vLJIiP
 jpS8JqUcFOjcShqv9/2G1aIfPrIo1gux4vtuzakxyP7mI536hdN5VOGT3h+nAEt9
 IxKnJqDLjAVn2DLYk93iI6ZfKDTEYwSWC7nFOSUCg6DNl6o7X6uSGHOvLMqoglb9
 5EQmceCLTEuFeIjdSVgx0bi6YWZ30yv37jwrCAIlZamUFdryI+qH3FXhTlxtNKbM
 Wy1g4cWN9EqB9FWHyrRsYhLVEDreWCRYeDtjo7iz5Nvj/Z4gCr6Qd0a3gBWBa2A9
 j5PRMfZtAnA+WT+gyq9UVtgpFj9qMKG/XY/1MEOl6UhM/5331cZQGNYEQ/wBS8vp
 MGSd3czgUBVUmHtmRl7eg145kMQQ+xG05Gu/M3jw+5CUxHqhzSFdOxkh/ydB7yqJ
 f6FBTFAnJNMSTbLFArT72S1Y4CfOKz9Src/cpPw/btc0Q44jkrMA
 =hzze
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.281. 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.282. 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.283. 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.284. 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.285. Roger Pau Monne <royger@FreeBSD.org>

 pub   2048R/A5D976A532BA64C0 2012-07-10
       Huella de clave = F443 1572 D188 7D22 3605  A2A6 A5D9 76A5 32BA 64C0
 uid                          Roger Pau Monne <roger.pau@citrix.com>
 uid                          Roger Pau Monne <royger@NetBSD.org>
 uid                          Roger Pau Monne <roger.pau@entel.upc.edu>
 uid                          Roger Pau Monne <royger@FreeBSD.org>
 uid                          Roger Pau Monne (NetBSD) <roger.pau@citrix.com>
 sub   2048R/6927D92634ED085B 2012-07-10


 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =HRNC
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.286. Rui Paulo <rpaulo@FreeBSD.org>

 pub   4096R/39CB4153 2010-02-03
       Key fingerprint = ABE8 8465 DE8F F04D E9C8  3FF6 AF89 B2E6 39CB 4153
 uid                  Rui Paulo <rpaulo@FreeBSD.org>
 uid                  Rui Paulo <rpaulo@gmail.com>
 sub   4096R/F87D2F34 2010-02-03

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 ik5Vxm3qOoCKPgBkTCUAZTCmZZ13YA==
 =vI+5
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.287. 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.288. 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>
 uid                  Peter Pentchev <roam@hoster.bg>
 uid                  Peter Pentchev <roam@space.bg>
 sub   1024g/7074473C 2002-02-01

 pub   4096R/2527DF13 2009-10-16
       Key fingerprint = 2EE7 A7A5 17FC 124C F115  C354 651E EFB0 2527 DF13
 uid                  Peter Pentchev <roam@ringlet.net>
 uid                  Peter Pentchev <roamer@users.sourceforge.net>
 uid                  Peter Pentchev <roam@cpan.org>
 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>
 uid                  Peter Pentchev <roam@hoster.bg>
 uid                  Peter Pentchev <roam@space.bg>
 uid                  Peter Pentchev <roam-guest@alioth.debian.org>
 uid                  Peter Pentchev <ppentchev@alumni.princeton.edu>
 sub   4096R/D0B337AA 2009-10-16

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 KXQCmDuAAhfLF4IJaH7iSZYLqolgrSl6l0j+ea4kWhgfeHcSoKFsMjV/uKn9qCV5
 Mk4UNEuEDDSqnQTXZjcmMvhyMvzORMGLN9bRsdjLsa4UjcoLoz91wYrrrdAGxxiL
 CvVcMfU+2JMsf0GuK7CjP7Ije4qkxDojjPcorQ6hW33KKrc3R2tXUwQqlnZzZ4xT
 Yxu4um2uIpuEw/CIKZpZb1dwKcny06XF1CWAsd7nfsU6EnUVnQS4Ik3xSAikgmZB
 /VX6N475Ky7ClXKK1ptoh2YCJMfrI/RIbaWPftJC110kAJgWfrsvAnkbK+g/69yi
 mz9NUQE8zf9v4mf8IUmYElPl3UeqUX9b+JhJiYIGlqYw7eWX0PqUJmGgkjsizPR8
 l5GcbGFvcYEq1ldVrKPbyJtn58X9cEX+4Dw/ushUaiPiaYN+7NEK9Gw0mCaTjveB
 QLfAcj9uFoPHvrWzTKn1caO1febZawer5BCEtPZxHzTxAJ9Mwhy7I4lI8KEKUW51
 hbb7hNPFCokrqAKRMTAMiokCIAQQAQIACgUCRUzvCgMFAXgACgkQvJlvTb+wLG90
 XA/9F9qCy07Km3qz9c6x3Cya/37ev6YSo3H9OUbR3DkB3LqPBab/6qvYUxemH4tw
 RETpRIIEWFa2nhyhaj2My7g0I0STQtavOQIsoy3Zt+syS+2slvXY6w3whLnxg1bd
 AyZieKMOrZdHnQYB10o291oIXTmue79Dd3Q7TWaZyrV5NkRrAVWkVz7lz5XH/rVr
 m9FWhEox6iDY06NyeIDncDf0aHPfFQYK2KhSVv2OM+u5jBc1EBp+EP9+hlluj9t4
 u7BVhqQenHcROYZ9qNiDDC+FxCa5+rUK2muXQTlMz5i10o/1hkxL4NCyz1TjyLWm
 cGhEGHwDBjnxdkr9CO3SZdRfandPxmigwMGZ44zsf6WeEEhGkkaUR6nybZXZfdLY
 AGUF8g+h8Pf+BkQLZLnyu8L1zgj0xOBuLPexhA5Htdkkd1pFX3UrVMGeSXMbxWIE
 ve9GY47g0Qh51qu7PVGH38HKUHa2hVMZ930s+jxN4apKQgh7gcAqMXXlvcEIY/zc
 NtbK+LHKI/Pq9Vvw1Cf5Ix7mnfPmo6LZp3g3ZXkNsS68z76r+MFIkvYKpuCEnP0j
 dGUakq0CtrKbSTG5STHkp3Sx4CKRBNRYpinUlZCSY6nSOHcCmelXVbkfCQCt37vr
 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
 jjAqbYfJRPjeyqTOUA==
 =S5L6
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.289. 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.290. Christian S.J. Peron <csjp@FreeBSD.org>

 pub   1024D/033FA33C 2009-05-16
       Key fingerprint = 74AA 6040 89A7 936E D970  DDC0 CC71 6954 033F A33C
 uid                  Christian S.J. Peron <csjp@FreeBSD.ORG>
 sub   2048g/856B194A 2009-05-16

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEoO/iURBAC3FVq7xH4uRIEWRvmPzD1azqtwlQE3zipCf4K9B4EjKidksgP0
 56qAkWMvngWG7OW9YNCtZYgDNAINOGdw2pZYioERq7U+cdIPKSZrIP5WrpORdi8A
 4i3VmRKh19ztJEGb8jvthYDlEyvoABXmz/Bi3YHDkfjT0py02SnkcjikxwCgkGkL
 rNwWGviRd6hsBZZEeximSKcD/0OAthVoMmk4bMByWPoEWf5i3I3JHDeC4g3oEgYp
 7dxMaxboqjFmiTZ2xMwdR9wlpwE0ITSeVj5pMtswr8q3ghLdlXOpd4wn/vLu51/G
 ra7cFgNex3kCb+5tLfqZQCiK/Y8fQ6TJdowaxN0xtrdGbTtUR0BJMi7/AhNF1GxW
 HeE6A/4n/K5Z8EDq7e5HZ5S0lx3MAKy1QgS1tnO0aaHK3v+DtD4xbe9aV2ls39sh
 2Xu+z5QGkrx7q3HOSnC/DzMSYDG5I45GGNdDoBVmJ6IfvNICzXgM4hDh8KgIXNZZ
 PEkHN+uwTWCnIj1yhothpk86XBvyiEAbCTwQ5jWBmZkvLI2GdrQnQ2hyaXN0aWFu
 IFMuSi4gUGVyb24gPGNzanBARnJlZUJTRC5PUkc+iGAEExECACAFAkoO/iUCGwMG
 CwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRDMcWlUAz+jPOYNAJ9WfWDy0ZlOC7q7
 KUyrq7e49no1SgCeO4nUcK5nLZKkyGXxTbnghFZegGS5Ag0ESg7+JRAIAM8UbDPn
 dVBYrvJqBwdWQA17XN6jycQC2smWLnJ6geaQfBgXAff5/Hn1LtPPG58k048yF6QF
 xOCzPOTrkjaL8GlyKGLK9jfctyC+zRl5FvNyJIBIgFRsJjBB9K3FpZEsxWltSyqc
 5mxf4D8VwJeDfWdgeqVgORapBruHm3MAf5B13PfBN8lV2Yqbo520U6ZWUtdTscsL
 2QLTZcrIN5aq5Wsuy4r8H90h3JYcOUK4PJTBNLmlmLEuTlENbv8E5YVvvgx/ZJ9H
 lX9FWz+w/hrEQIR2xnF8MJeAaOR3Q6cKgvFrH7PUHwvYxAXkXGWv6xsJ4VEA7a3g
 IOytL1l/8Zo0fiMAAwYH/3Sn6JzdbiF7peLiQ3SqbNSQV3aKxNP+PuGvuALiHKKd
 WgF5xjrBfgSjJbybwm4YtNfqLU/x8SEtEXVkyMozgWSMn2K/vFrgwURjG92IhDXJ
 bOzEDyx86/iJosMn2glcb9eBYGrmz92H+9a1Q1xMyuk7uD/+nFcJOj3GqnuFK54L
 //A6ott10Ddgg8JB3jehrzrOeg8/IdPifhT845X9q24b3kG0orzCIOk0/xyUyps+
 9A3j54Fp/atyVmHFPRedjGMwYPIqKQvFnzYuaoN/NT1yJZEFbyud/h1Kpi4+Z2/C
 Te9glz71eqlUSond5WFnLSd7GSuUxXprwC0bGQ61tASISQQYEQIACQUCSg7+JQIb
 DAAKCRDMcWlUAz+jPNDzAJ4lJdUYDs8aONEFRW/TpLMiepzPqACeN0HmbLJjwaVk
 tI1h5vM9MqGGVwo=
 =p6fK
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.291. 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.292. Giuseppe Pilichi <jacula@FreeBSD.org>

 pub   4096R/8B9F4B8B 2006-03-08
       Key fingerprint = 31AD 73AE 0EC0 16E5 4108  8391 D942 5F20 8B9F 4B8B
 uid                  Giuseppe Pilichi (Jacula Modyun) <jacula@FreeBSD.org>
 uid                  Giuseppe Pilichi (Jacula Modyun) <jaculamodyun@gmail.com>
 uid                  Giuseppe Pilichi (Jacula Modyun) <gpilch@gmail.com>
 uid                  Giuseppe Pilichi (Jacula Modyun) <jacula@gmail.com>
 sub   4096R/FB4D05A3 2006-03-08

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =jIdO
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.293. 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.294. 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.295. 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.296. 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.297. 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.298. 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.299. 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.300. 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.301. 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.302. Chris Rees <crees@FreeBSD.org>

 pub   2048R/1E12E96A 2012-08-26
       Key fingerprint = 8C57 BE3B D320 5FFC C4C3  C0B0 900F 45A6 1E12 E96A
 uid                  Chris Rees <crees@FreeBSD.org>
 sub   2048R/C10740CD 2012-08-26 [expires: 2013-08-26]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQENBFA55DwBCADLmiSSORwcGwNoCi2X02jPmS2lcZXWp5uCtzx0ybPM65tIQAII
 L5e8QzyrV+r/yyNdGJIKtl4ty69aVodQ6n6Xf2BGqmm/x6jlvg2BrJgNHYfAjkIV
 tugkbwsMQxHkNmOlB+fURVPJk9xub4pz9kRRdtXJ3DiImQRw5XVe2ZvBXZuu2nOz
 jw2zArEaBSLbjo1MlXWJvvuyA2ktaKcAjFyfz/VJ8M/RDbJdfYDB9Q78jrr4uwIM
 lyWSWUD8RxAvbWw0My2tr1Nu9FDvsydbKygGnZ+7oo4zvqncGZ+0am6D3XSsOcaf
 /bzB8pIGJ1hsSe9JHvYpLvnWCwP+AJtKTPwFABEBAAG0HkNocmlzIFJlZXMgPGNy
 ZWVzQEZyZWVCU0Qub3JnPokBOAQTAQIAIgUCUDnkPAIbAwYLCQgHAwIGFQgCCQoL
 BBYCAwECHgECF4AACgkQkA9Fph4S6WoK/gf/eghgBaGoxfXXbNZwZNIC0NUhISas
 XVYnKNpKCojFl80ZGzI5mPAFUiQm6aMh3fSrzTIB1uxxd9T9A3KN5ghf9jjtOmpU
 +uYEm1aW4wHYSWzKDfgfV3QlFOROBn02V8xc1XPaZr0pqBCSJ18BDVwsI8UG9odw
 /vPrrcE/Gm3psKJRwaHVGTtvJYPZYB5dQM5XD0shvj7DDSdut5l7DGDGUhp6Q8R3
 2iMkCSTbaJEQNMzUqoIIw/oPrgsVeNxG7zFrkxbdl4YLmuzy9nZhRPLZ7lWpoRrf
 3lsvo7WktMEXiW+uAX23wKH3P0gSypcsJ/jbb0nfV1r13/8O8plXwo5Z9LkBDQRQ
 OeTHAQgA5GzHZKoE3obEg4Ey/hW5xp/OvyQr9hruwwd5CSxendMJWlmwT9V4QTDl
 RNtn6n37n70wJxjUHdDrr34ItKhWN0AGy71LKcGBrfMenSW2IugB06/kSik3ti2m
 fVI9TJ/gTT4uSppM2MTMmRPw1YR9VOGvO3CED4NfVa4EajCUtMMoEVaFCk6hPhzs
 pSLcnvN+DUVR00RwGQJveHObRCDR10olA0PrLn7hqU2XAlnCAnclSPLjj3pLH9hi
 vWkoeXr8PKNC50yWqclyuTKo+HsUkanDLgfC9kq+ffLvebUayaYfGyYpBKcxzcBs
 uLEJhbh26NBqVfp1q7fTnxvNMVMUnwARAQABiQElBBgBAgAPBQJQOeTHAhsMBQkB
 4TOAAAoJEJAPRaYeEulqcrIH/iO/VQq5gLquEQfzFdIl0I2HIyey/bNpkhDLiLNv
 xPVpflymH9c90fdEXUYrI1HSbYKuACRsiXhu+SaQ0uvfBZuPDQZ7XWweuPB8y+fe
 s86MmAyFXGs8gLisYREnGyltNK3goX+FiZeXdMkE7u+FfFSgMgP02/Ki85F2hj7B
 nFAyaERP9vCeK20dUKSXn+y7+xqbTZBg7Ic9krSNsi77IyuAQ11BMe+vQVVoEhGO
 TdjgE2VJzDiS1FXcvFWh93f3AQ9yAUqkstHMzKAfkwqm4y3SFYCS1xK5YUszImAa
 2T9qZkw+R7dFEM20OWtNiz6P80+BRw/KAL0PwDFCyU4MoC4=
 =QoyM
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.303. 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.304. Michael Reifenberger <mr@FreeBSD.org>

 pub   4096R/335E9D48E27A80A0 2013-11-04 [verfa:llt: 2018-11-03]
   Schl.-Fingerabdruck = 8695 9903 4744 6EF8 E18D  177C 335E 9D48 E27A 80A0
 uid                          Michael Reifenberger <mr@freebsd.org>
 uid                          Michael Reifenberger <mike@reifenberger.com>
 sub   4096R/898AF56CFE7CD649 2013-11-04 [verfa:llt: 2018-11-03]


 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 B9IB7Miy4TuCbcaZDpxT7Fs=
 =R1xD
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.305. 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.306. 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.307. Benno Rice <benno@FreeBSD.org>

 pub   4096R/B8DAD01271A4B35E 2013-11-23 [expires: 2017-11-23]
       Key fingerprint = 01FE FD73 9E5B 6F14 5FCB  47F5 B8DA D012 71A4 B35E
 uid                          Benno Rice <benno@jeamland.net>
 uid                          Benno Rice <benno@FreeBSD.org>
 sub   4096R/9AE831D60E72927F 2013-11-23 [expires: 2017-11-23]


 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Comment: GPGTools - http://gpgtools.org

 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
 =S/KX
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.308. Beech Rintoul <beech@FreeBSD.org>

 pub   2048D/68DFAE1F 2013-02-26
       Key fingerprint = D58B 3E9D B0E3 E081 EC6F  69D9 CDA3 51DD 68DF AE1F
 uid                  Beech Rintoul <beech@freebsd.org>
 sub   2048g/960F45D9 2013-02-26

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 0roDMXVUSkNFP4PN4u5jyuzVBQ==
 =EWeR
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.309. 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.310. Ollivier Robert <roberto@FreeBSD.org>

 pub   4096R/0x8BE879B028731E1C 2013-09-23 [expires: 2023-09-21]
       Key fingerprint = 6E4B 152C D90D E292 5B97  D338 8BE8 79B0 2873 1E1C
 uid                 [ unknown] Ollivier Robert <roberto@keltia.net>
 uid                 [ unknown] Ollivier Robert <roberto@FreeBSD.org>
 uid                 [ unknown] Ollivier Robert <roberto@keltia.freenix.fr>
 uid                 [ unknown] [jpeg image of size 4268]
 sub   4096R/0x13B4B0E43FD6021F 2013-09-23 [expires: 2023-09-21]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQINBFJAfoUBEADUsHJdPP6YM+aqspfqHGBXjLnwIJejPvm4oKR0QrFWlulPs8LQ
 p/nmVk5Ikcuex90/blHxD9Y4abVBabgEnXIgyJvVPZDUHxt7h3B9AwtVR5vKvqHq
 qtUZxT4Vy1wCXlv/kYNsDoF5LJeSx2//2PFP0Fg9+CV20XrO+P569tgGzcG9p7Yk
 iRORV9npVoXHofrIkQei8HbiWU8Gr+zz05IMWzVJEk54WDDAAxBoee/RechoAUR1
 jsfCFPNK8ClQDd4t+JLmSwPLQeuqj6AH6ZBwUleKpnpJ+y3/NwBdwgIIiFtGx41J
 Oe0Y8piAExlXKdMXK3yGae60aybnbCqnlrP3lh8+Qk90L/+aWFkD/nOktuX/Jdm0
 pZqwfZIJavTFPyh5zd5yRz4bv0XPNxQPm7RjFejam9ojLWkEPDwZEb9TVoos/fDX
 RmORb6BEWjBrWrsUNoiI73uY5HMLYQbxES6zhurDCW5njtM+xTcOUDGX71OMFHnu
 TmEUkDpyMT4ZntsbnZeY/MLlk0zDufvtwQ3llbWS2T57MBfHKwR6xGZE/P1wD3cF
 T6EuXHxCJT5t6KfPVmjAV8Z8uTHNIRCUilq3nUyOQQ5EKZ7CCoRHTP/TYCNszif5
 KEV6pOG7atJVycoaYA967Uzw5rOuWfRjhvsCKDTnH6lcQOhDioUz5iJILwARAQAB
 tCVPbGxpdmllciBSb2JlcnQgPHJvYmVydG9ARnJlZUJTRC5vcmc+iEYEEBEIAAYF
 AlJAgAkACgkQoE/7G33K6dNTogCg9mhByuv+tyqanKtIA7/kMM+Y9swAoIDpmxGm
 DsBUsLWmPfMwiir/JNfXiGsEEBECACsFAlJAg94FgwHihQAeGmh0dHA6Ly93d3cu
 Y2FjZXJ0Lm9yZy9jcHMucGhwAAoJENK7DQFl0P1YMWkAn1SYHSGyQSTx2jJIwflQ
 2hGGKTx1AKCTMmij3NDK+oLToTh4ceIcJXFRGokCHAQQAQgABgUCUkCYpgAKCRC4
 DqwV5A/9D42wEACcyJIkawIdJf2i4U219016ZaQ0fNxB3HdSMIwNviWeRr5mB0Dc
 iIHDLcQv8kBVCGECyIcEWblQw/P8f5jmwngI6rpBfoU8BWmpch1iUZOO/KeLkbuu
 O69H8/DwfuRcljucJiHAxR83MYTAz0FBjY1tmORyL4n8qNZbk/7K5jLxl/8x2EQl
 5mB4AvNEtgWB0d9UYoY1siLw5zAYUpoKkqCUQMMR8yxgkhwlpnBHSMY8dUl9I3GK
 +8/ss5Fo4Fmx+ZDVLzLrRF6un2JIIWOROmoX6A+BHbJOL9iUp2ai3JPk6bH1Tkrw
 MJWFmtG7UAd81kiE7Bx9XgnD/uI7oKRoJim6gtuQLBVVEtVONuB6kbrQskZSaNbS
 8tLgswT+iQDMwFkGSR3d8JDS0RqZ13ay5+myHod/awnfyzd3YTVZc5nWKDQdHzOr
 VuUV1O8qhhLVbDtvnMrBIF352yraGrRzs/5G+qI7TgA7dzmRJg/wNU+gQYPWwNuo
 tOLqJ4Vr38dy1dkhipVWudn/L2t9vbhWf2yOa8PbZp1RX7TqSKjveHhuROu3JC6x
 ITAoifTj1a2CceRXkDbAarHKJEzK1iDwPqCRw37Qbo7StxnwKlCsHiwlU/QbNBYz
 swwaAnQ2fQeL2HFILRCV3+Q6ejppcTCK1kJdi96GcngE7S0qMb/LkPJY3okCPQQT
 AQgAJwUCUkB/CAIbAwUJEswDAAULCQgHAwUVCgkICwUWAwIBAAIeAQIXgAAKCRCL
 6HmwKHMeHCc1D/97E3ZmSzHh/6zmF5ePJFHiIKWWH0NLv6qLYSzRXolS0OpuwlOo
 QGvYOeubPMorAPG5nvmAI6NDkm7evNe7AfZtPkEfEVUJMnZs1ePOPghga/ihCxvI
 8+UBqEJshTYbmquoipAx7EppG8UuP3rb/D+FDkqCWz3me5S9oJrgAq9ndApNPQxL
 6ToK7CR+GAe/PjNNOOg8l702cUgxTae+B1uEqKMlE3f4dFEkHCFEddj832Bul7Dx
 SVO6Uds/aNpkFfw4EqTeIIsZCNqZGlYLi5uWbDsL6vusN97J1Mk55aVd1bsbdHoW
 nAbksuhjEneI7zlsCRMutqLEJjH7hNiJ9meV3dFtQV4LsO9Uxn7xA6ISGABENY2o
 A0WzhyV6Xd+c9Gn9feB8cqXRIuZPs6x+23SK6RAv2w8D0ENd2SR+zqU1nWkPGIwA
 3bXzwAB8nNsmQMVCxC59c1jza1loo6lzQfBASEwtwomctdOmI33caPITHXjXnEGn
 mAgifeSByCshlXyqhau+Pdua50B/vsZY4Z+jgDP6NihMYrmIMTHg7VAGZKlYCaNC
 OensTq7gnNVTOCobnhKV5f1833YnBoAdsbXgJai8HAZ5cY8TamK0Z2oEeONXRs+Z
 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
 /zmb0m0DfhX4GLg6Rhqfa5bi1fytormB9kNrzIEZuHIIlcMM9dMnCspXIHjJuIAQ
 KRkBlhW6LqT0GhJBmUgGW5DZskZz6E3GnkuYwCXWFiz/S5Ph7Qvx1UNlYbX/OqMe
 kRfERXxvp1nkNul9RB+hanm48CdSG0oGwZFgaMmajmOmFd6nCjCGSvbUiPe8TjSW
 +6DckPVQ775cI5lTfyJYVv6Tg/MD6fDhezBNjkEqM3yipljRz//P/QEQAAEBAAAA
 AAAAAAAAAAAA/9j/2wBDACgcHiMeGSgjISMtKygwPGRBPDc3PHtYXUlkkYCZlo+A
 jIqgtObDoKrarYqMyP/L2u71////m8H////6/+b9//j/2wBDASstLTw1PHZBQXb4
 pYyl+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4
 +Pj4+Pj/wAARCAEgANgDASEAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAEC
 AwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJx
 FDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpT
 VFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ip
 qrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6
 /8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcF
 BAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl
 8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6
 goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU
 1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwBrSEnkkmnJDLJ0
 XA9TSAnSzHV2/Kp0hjT7qj607ASUUxBS0AFFAC0UAFFIBaKACimAtFABRQAUtABR
 SARvun6UUDKqQxp91efU1JQIWimAtFABRQAtFABS0AFFIBaKACimAtFABRSAKWgA
 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
 =rbLV
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.311. 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.312. 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.313. Eygene Ryabinkin <rea@FreeBSD.org>

 pub   3072D/8152ECFB 2010-10-27
       Key fingerprint = 82FE 06BC D497 C0DE 49EC  4FF0 16AF 9EAE 8152 ECFB
 uid                  Eygene Ryabinkin <rea-fbsd@codelabs.ru>
 uid                  Eygene Ryabinkin <rea@freebsd.org>
 uid                  Eygene Ryabinkin <rea@codelabs.ru>
 sub   3072g/5FC03749 2010-10-27

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 Edu6GCfjXE66i3XaSUcQWu+g8BMQUo5Huw==
 =xPkv
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.314. Aleksandr Rybalko <ray@FreeBSD.org>

 pub   2048R/4B7B7A4E 2011-05-24
       Key fingerprint = BB9F D01D 7327 0B33 B2F5  6C72 EC49 E6ED 4B7B 7A4E
 uid                  Aleksandr Rybalko (Aleksandr Rybalko FreeBSD project identification) <ray@freebsd.org>
 sub   2048R/99F9F9EF 2011-05-24

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQENBE3b+zABCACwiwsbEdmRqU1Tsb/ErrEGYPO6uGPy04niDFSwT4EoW9tJmX94
 bZSfD07hMUHm3yk3sSNBVPYYqvolCd+Wa/aSBo22Ru8MT5gtFT6QmRmo0r4ye6hp
 0jddGbTE3gS62ojQCDayRrSWhqYDtxMTVhF28+GVf9Yb8xD7booHz+soOEOp/lyi
 rMbAKKpAKKzlbTg+JF4xuNAOCQeYq/iw+5/Yv0WRdlPFlAhefpC9HGnm7Ci2oX9O
 yadz6O5B8Z3mvXrprHVf/gZaxpMbqHtiCwUCOjyu+65AJxZ2RtXOZGlgixVldzZ5
 1/PkPjf66PNOE/jei7lQfoiXSelbMsn/0m89ABEBAAG0VkFsZWtzYW5kciBSeWJh
 bGtvIChBbGVrc2FuZHIgUnliYWxrbyBGcmVlQlNEIHByb2plY3QgaWRlbnRpZmlj
 YXRpb24pIDxyYXlAZnJlZWJzZC5vcmc+iQE4BBMBAgAiBQJN2/swAhsDBgsJCAcD
 AgYVCAIJCgsEFgIDAQIeAQIXgAAKCRDsSebtS3t6TkqnCACNpw7DnH7mPLVtJ9Hk
 5V6kzsY0Fkt155HcOw5IqK2UJUqGZTa1Y6SMjqC7Joq7P/3myjWOyN62xByQ/kcL
 VT3Ee9Nonknkjx1S/7Y9aVlCoT3koB/no9BQRgTsWX2oHUEakBftYq/8sx/1jzAc
 YN9DffiOIfXH43435MtYc5dct8lRaQkMXL6hDrswqqnsC2lefISiRojWgSpX2Iax
 VsR9KA/gDGXcFQLYG19ivgQ/MWMwfHCQd5EyPa3JGsx/G3Me0uA2YC8igzuEG/PJ
 29G2eAhA48T1iDbmD7rHsMRdNvr9+0vHemNLyBysyzS+d1opwAE3HPeFYslbRfQp
 UxJuuQENBE3b+zABCADfEA5d/HafarrCijuoKqv7miY4JeknD9CezUiI9KgsjIAQ
 Nv6ObNUoAAZyO/tmKyK1c6ohOQn1m5knH9ldSU0aj/loeBwD/tSjqenqI3rk+XH9
 ZUW1t8U/2fEt152hbaZIeW3X5ovSwNJxL5GCjvqiy1bNq6rV7hiQfnwET3cV/FmA
 KJUlxRZKNbJn3VutSIF4vgOVJTdZy/0dDcpUubHcfVFXeZRiBMQiBqy/WW80VL9l
 /RZ8js/ArM7fNqnHtGN4Hgxfh5HEUJtQncYs1JNkFiUD6aYL3zsJAbcXcfyEwo6Y
 Hpsn8hxuEYpAVzsaO7E63Vdgyag1b8ELRBbYpranABEBAAGJAR8EGAECAAkFAk3b
 +zACGwwACgkQ7Enm7Ut7ek5nnwf/V0kzZ9N92h8oes2ZWwnuWWbZewdp5p1AZmaj
 FDeM2Usiqb9tOWizJwKI6B9Z66S2TdLTrCwtcPWhrr/MPfWTNffCgrVI4jOczCeT
 Jm9Y6OBVdlT16sqF2gskwLlA73R64TYJxS7uYAjOMvhFzXeZuJv2BLxSI2NBvpfh
 HfvoeBAM7NRmuJrUXz90ik117bzEcuEBwIDRc/fGUvSdWm3a+AmbVtyPR24RFMGb
 OK2UWrTXa9TiTAKKLWKyDDYf/B4nOtGoF+OCkpwLgTNJE5kwh+PnJjN7wsdiAvL0
 2cUXjLV5wX/C2w1FFMtM7PA/7aURr6CNmS+00mriikVFT++FDA==
 =Q1YE
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.315. 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.316. Boris Samorodov <bsam@FreeBSD.org>

 pub   4096R/960E20B03A3F6D28 2013-11-22 [expires: 2018-11-21]
       Key fingerprint = 8848 3672 3C1B C02B EA0B  5674 960E 20B0 3A3F 6D28
 uid                          Boris Samorodov <bsam@FreeBSD.org>
 uid                          Boris Samorodov <bsam@passap.ru>
 sub   4096R/41BFAE676CF00B2D 2013-11-22 [expires: 2018-11-21]


 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =5EUG
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.317. 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.318. Bernhard Schmidt <bschmidt@FreeBSD.org>

 pub   1024D/5F754FBC 2009-06-15
       Key fingerprint = 6B87 C8A9 6BA5 6B18 11CF  8C38 A1B7 0731 5F75 4FBC
 uid                  Bernhard Schmidt <bschmidt@FreeBSD.org>
 uid                  Bernhard Schmidt <bschmidt@techwires.net>
 sub   1024g/1945DC1D 2009-06-15

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEo2DaERBAD6iTY24oR5YgIAGmKudAPxNNLLaZPm5tsa1eQjNCRp/WPLIXCS
 /x2oZPk8JoKOPnHNuvfzKnDwh3sB/hKAQOwSTHmtKQ7Gq9Uq/IpuQXHOfF3JqJ8p
 4pOEHCSdJPv1rGNdv2Uh5Pmas3qfkI1pcn44B/XAYDVoYC2CsHmTHSMfwwCgwKIP
 BELVfQZDMaV/Zkv1etazaLsEAJXHS06o4TFVmrHzvhMPlBmS/MDJyt04MaqJwCkh
 IzZGpJ6c2rS+a9UOj5Fy8zeim3f94U5L4pUJUmn2SitHTGm14A+ZN7r2dmBC8jw5
 Oki0tbz3yObM6KSzYV2BuZ7BLP65KXAlUnHM5h4rw/EJaTL6bm0Z0sOLpc74KnZd
 qgi9BADzkJnZ0VKRRZ18xfdbPqa8FMeHJI/IhlBrwEPSeRqEjZCtTYfePzutbpm7
 YRpXk2cMe+k6Xt+FrSVF4elNT5/b3SjWjmZr7jLQ+/RvN+AH/5Ru9bQHVfuL6uSY
 zoHgl9Y5RKJMkzWfdn1LknaRIqE/ciWq22cESYJ8e/Wrk8lFVLQpQmVybmhhcmQg
 U2NobWlkdCA8YnNjaG1pZHRAdGVjaHdpcmVzLm5ldD6IYAQTEQIAIAUCSjYNoQIb
 AwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEKG3BzFfdU+8UXMAnRd2NUzksPzw
 xY9oQMyjeP1cg1R/AKCWoPmmPjJDsf1/CQIkMFMb7RuTDLQnQmVybmhhcmQgU2No
 bWlkdCA8YnNjaG1pZHRARnJlZUJTRC5vcmc+iGIEExECACIFAkttpeICGwMGCwkI
 BwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEKG3BzFfdU+8Ht8AoJS8LxsUX8jA7J6S
 WKwM9JPJ+adJAKCPcJC5vcz1C78IB2XBmnbbKmrYLLkBDQRKNg2hEAQAzfaS1s2p
 EOwwH6ZS9JJ0mnoEfVUkO2I3yfMvXZ4HVkf/lmjQziSsgtbOUPIsIZxh/0V7sDU6
 4ShmeYcY2GpBRE5NFAOo721nOMzXtSbwhUt8ZNZkWXLOCXE/oaS1UoPTQ8KW21IN
 prsFPuVORaZPn1BKXSt/g0l2mkKDdgjMLe8AAwUD/RCMR4fDfuKULk+PG4DrGuyz
 sz/6MC7cmxH76SBzLARw7HOKFXQoVPUfBbQ8oi5ynqFobgENEL5iiWrPhRHLYiJ1
 ee/RiroqJlDxSHno5qU4FIjVGm6b1WbunQ1m3bmK4ExFrygOvHwI0RhoySoAhxiR
 vttEGBF27GMdkRaaUyniiEkEGBECAAkFAko2DaECGwwACgkQobcHMV91T7wEHwCg
 tY2Mbu5ssnZVqMYfEKlx2QIJvZYAnRkudrXyV2F4QME4eLCgAXrjDptm
 =FKOV
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.319. 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.320. Ed Schouten <ed@FreeBSD.org>

 pub   4096R/3491A2BB 2011-03-12 [expires: 2016-03-10]
       Key fingerprint = A110 5982 A887 74A2 F4B1  D70A 6E5E D8FE 3491 A2BB
 uid                  Ed Schouten (The FreeBSD Project) <ed@FreeBSD.org>
 uid                  Ed Schouten <ed@80386.nl>
 sub   4096R/81BB41E6 2011-03-12 [expires: 2016-03-10]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 Y6j1y6QnLaPN
 =FiVI
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.321. 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.322. Michael Scheidell <scheidell@FreeBSD.org>

 pub   2048R/34622C1D 2011-11-16
       Key fingerprint = 0A0C 9ECA 18EC 47AC C715  2187 91B9 F9FE 3462 2C1D
 uid                  Michael Scheidell <scheidell@freebsd.org>
 sub   2048R/8F241971 2011-11-16

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQENBE7EJJwBCACw/7AoltcqlzLBZfdNZTb/9zMBRV2X7Qz8jtOrmFj10GpasMCe
 oHWLXHyWbuVgsu2QeANorUcEMvVpkCkNWG8EewKH5QbUcehqPfs8L51N+8Xxdzr3
 LlAoOiDFI6FWhDrHvdXRgzWM0xU7OMAxPkXpVNhT4cTmLwWGXmVNtxL48MRTsUz4
 XRMkXpfEEfXJ0xGsz+Q5AMSUbUIAOq6cKCreIk1s2Ir9UHHBJ5E68W4jHFk/PnYP
 WAx1z+PugI932b1RmnZEycjs2U+QN925vJ+V1172tU31TOPF3yTVkeltV/R7yXgB
 Pn5iDDrhILjOjWxj3xOGXJja/ikERYAPUEqLABEBAAG0KU1pY2hhZWwgU2NoZWlk
 ZWxsIDxzY2hlaWRlbGxAZnJlZWJzZC5vcmc+iQE4BBMBAgAiBQJOxCScAhsDBgsJ
 CAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRCRufn+NGIsHabBCACaxRmi/WgvVt5y
 r/9DfYDKMBRZwdvTmPqSc3qa/HyCH5b8pIzEep0UsVw977LmOnMbHr9TEzU9YuF0
 XyA1WZNdzjnVjlRl2VW6/Cwo28jnwnESiGD/KNdU0e0T4ntqP4eLEd7t4Y4WhpTk
 JBidX0r6d2+CQyCFk74zDc5eTXS/sLZZJommr5JIo75L7LWetuxR6AFrZ3SDdanc
 ktHJspZAN69yVb3XxoDveVF0XXE/RSeStWtWHLJNN0r+6Oq2CAf1fJZhFOZybPhs
 zYy6xWFp3N+myhq9HgPmlQcB8BCPHu++S55Ybe+4ZDqtuLaALQaT20zr73Vv4VHi
 QMiB/TYnuQENBE7EJJwBCAC7Qjm0lGOxZy0JoPTkZ32KW84TxsQ8IH/6QhAP2AVN
 kCaVrlZcGaZKd2WBQIcd0Br6FErD+jrYB9+hv1kGj/2Q3dL9UbB/Ee7ywm6++rLc
 RdRhlyeG1or+zjcQEvJyYEzyGdJi4R1+6SIQLaJiPrGL2GvGWfx7xk7UoJe9vayX
 ie9LNBoqq/qlXNRRRAu8DvOk4LIRcZHwv1urwZIGoK/Kmj0DQJ8+mrqXBugkI35G
 /XVeIgOzAoDGHkIR+eHGp7iOaAxDWwRGgtcYp8hgUASLgMxOM7npc1agozdFD20A
 PmI5uLqS0nmHiGaQYbS9azkZh5zwDKXaq6xz0LDuBcgHABEBAAGJAR8EGAECAAkF
 Ak7EJJwCGwwACgkQkbn5/jRiLB1lPwf/bQmsQnuQIM1O4cWxS8zKqFp30k1GaU9k
 GEAUEeY9JB6z/vhhleNwiMV6DbIfzFN71JWs00iyI0NAXDjNp+PLR+lBXH0Ztca0
 C4N7vqNnbsg5CleKK5n66fOc/HVB86rpmBFU2ji2ZQ3NO+A47XlGKyHgPvZ//XfW
 +WfeuCJ3tCWnx7lVTFXh/tIKO4fPyJ+dmp0JzumT7lmwG9YPwKovx6s42DD+62NM
 kf1yKac03ta650N6s90zB6XswCa8Geb4pn2f2PGkobY7OUfqymf+Rnj/kfnkRFo6
 sHoeErC1UGxAi59bZaVJ69y1/fmJrRD92ymTEj4DZowEs02c5NhwtA==
 =S4If
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.323. 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.324. Matthew Seaman <matthew@FreeBSD.org>

 pub   4096R/036F6C9EE7F39EBF 2013-09-29 [expires: 2014-09-29]
       Key fingerprint = 72CF AC21 79BC B024 B5B5  4590 036F 6C9E E7F3 9EBF
 uid                          Matthew Seaman <matthew@freebsd.org>
 uid                          Matthew Seaman <m.seaman@infracaninophile.co.uk>
 sub   4096R/5D0DFEAF7BFB01B4 2013-09-29 [expires: 2014-09-29]


 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 E/XX4thlg5b5JYTzmTsytw==
 =ouo6
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.325. Thomas-Martin Seck <tmseck@FreeBSD.org>

 pub   1024D/DF46EE05 2000-11-22
       Key fingerprint = A38F AE66 6B11 6EB9 5D1A  B67D 2444 2FE1 DF46 EE05
 uid                  Thomas-Martin Seck (Privat 2) <tmseck@netcologne.de>
 uid                  Thomas-Martin Seck (Privat) <tmseck@web.de>
 uid                  Thomas-Martin Seck (FreeBSD) <tmseck@FreeBSD.org>
 sub   2048g/3DC33B0F 2000-11-22

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGhBDocG/ERBAC6QZ2lUZYVTAqov7yLfcDY6CFKncdQH1k0aV65fME1va1nelTy
 qIE9+1unTXyFCTY8ZWhlrgblwH7oSHkVgk+WOOcBVEYvjY9n3Y5reNqKV3Qj3gYH
 GzSheBeRvgDgKKF0kaG01sQby7zneJMDepy4JkuMiXqc+S9nM75Gf7naawCg+viP
 cLaa0z0UzbO341zHTgerHacD901GiZS6SgHrjmGKorhmul/CPyIN5OIdbt9YJANh
 /R+w8c1XCgbmuHS0gCHiyYG1Sy1rRhbptlqWxEhJjZSud3Ne2Hxh16IUFhTrFqr3
 xgkH6FiGw+a0tD6Jk44UBsbdgNcU7Qr424phgga4yDYjn+lDW0RkO89ElhHZsrLj
 uGkD/1Ela0htkQoWgZW0I0XO+LNBsnuxPwqqG3vM1VLhSzrFH0CHKeQqYt9iHV/M
 eD1KIdIXzoPBfRbFLM1ktE/3AlomrgXp9WtxfXhzWNcWFzYLUajAxlGYD2wT+3H7
 Tpm1/hKQcJJG2xMRCyeZcOf+pTWaqCbLLTsy0G+MY/j5Rug1tDRUaG9tYXMtTWFy
 dGluIFNlY2sgKFByaXZhdCAyKSA8dG1zZWNrQG5ldGNvbG9nbmUuZGU+iGIEExEC
 ABoFCwcKAwQDFQMCAxYCAQIXgAUCQR+T+AIZAQASB2VHUEcAAQEJECREL+HfRu4F
 hQsAoIYCMipK3ugbNfOUW+1BMpPiNnm8AJ9kyX6rm8M8Doj/qCKJF36gxrTo/7Qr
 VGhvbWFzLU1hcnRpbiBTZWNrIChQcml2YXQpIDx0bXNlY2tAd2ViLmRlPohfBBMR
 AgAXBQI6HBvxBQsHCgMEAxUDAgMWAgECF4AAEgkQJEQv4d9G7gUHZUdQRwABAbOv
 AJ4y63dcgJXV9Vcw0SUMdJ66IK7d6ACgzX0WCMIVWiNBey1/ZHOgHaE5Kku0MVRo
 b21hcy1NYXJ0aW4gU2VjayAoRnJlZUJTRCkgPHRtc2Vja0BGcmVlQlNELm9yZz6I
 YgQTEQIAIgUCUTZfLgIbIwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQJEQv
 4d9G7gUH7wCfUxSv8PJY/gF8wYEY9xC2YJdK9yQAnjOz54d/B3GGMsBiAKzM8qZT
 zTXruQINBDocHF0QCACoDJirnOAYUdRKgOpFrDupOuSPexu6Dz6WRxV1hNwaAajD
 lmgHK+7W8Yb0wd+8bKASi7aonkbZOhRfkJ5DbrjgqNGyJjCRHgqGboyGyR9Mezyc
 W5kNLNWhwtBiBU/5zExgSQaQKHOvQeFXIfa9gJQy9hn4qMAXs80jvns1siNwbQHn
 TKRP35G7FI69FS5tBfEFata3qyhv2KP2yxlRyTv532yq2k1di07vXKEiS/UrbFJ7
 tRpO+cfXy0iXADtRMPt4EMeBffmDI7B2DS75Hn3RArKjk9/8AvuFLbkgbdEzvsB4
 l706H+ziB7X9YmDDkKFpMW/SONbCWETrjK7KP0wnAAQLB/94xzi6sqLcJhVp4QBH
 ekzCYoxrUmlb+wH8DerIftT4S2BpV6cF2vVD2KfmDpwmZ3MaF83OvaT7dcZ8fZ1r
 1afkqIpXdwjI70c3cKOAnrZkVZAma6E9EYvi1Ww8mxLJ+ClvWh7fVpQmppqJMfdM
 ZgU5egCYliv/QQGp+SyNXNOkfttIsA8EWruJo/33nAvG0bqzwh7X+SQsK4MVidD1
 7/5srXHMlBN5zBqRaRq0lakpT8xDlB2NqlQTMb6wnHscV3ZqUzaszEXvhXnUwSPr
 a820urDh6o/hnsF/VH7gCJmkkVV7Ei1MjIp8H6Zs0A8se/XlYlf5OlZB8chqJ+mP
 r2tuiE0EGBECAAYFAjocHF0AEgkQJEQv4d9G7gUHZUdQRwABAZtlAJdyRMT4dZ2D
 wiimJm8jZ2BOhV/UAKCBrBb3jVIe9FUC3JpwMajuZ1gbSg==
 =p6Le
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.326. Stanislav Sedov <stas@FreeBSD.org>

 pub   2048R/5617EAFB 2013-09-15 [expires: 2018-09-14]
       Key fingerprint = 4C01 9D03 543E C623 3FF7  0D34 6D8E 4C9F 5617 EAFB
 uid                  Stanislav Sedov <stas@FreeBSD.org>
 uid                  Stanislav Sedov <stas@deglitch.com>
 sub   2048R/55012891 2013-09-15 [expires: 2018-09-14]
 sub   2048R/8E60582E 2013-09-15 [expires: 2018-09-14]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =u0s4
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.327. Johan van Selst <johans@FreeBSD.org>

 pub   4096R/D3AE8D3A 2009-09-01
       Key fingerprint = 31C8 D089 DDB6 96C6 F3C1  29C0 A9C8 6C8D D3AE 8D3A
 uid                  Johan van Selst
 uid                  Johan van Selst <johans@gletsjer.net>
 uid                  Johan van Selst <johans@stack.nl>
 uid                  Johan van Selst <johans@FreeBSD.org>
 uid                  Johan van Selst (GSWoT:NL50) <johans@gswot.org>
 sub   2048R/B002E38C 2009-09-01
 sub   2048R/1EBCAECB 2009-09-01
 sub   2048R/639A1446 2009-09-01
 sub   3072D/6F2708F4 2009-09-01
 sub   4096g/D6F89E83 2009-09-01

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 jJLQtFy144uCNLgL5JagmqMiXx9rL6dHFHc=
 =sXgu
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.328. 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.329. 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.330. 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.331. 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.332. 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.333. Shteryana Shopova <syrinx@FreeBSD.org>

 pub   4096R/35047F7A 2013-09-24 [expires: 2018-09-23]
 uid                  Shteryana Sotirova Shopova <syrinx@FreeBSD.org>
 uid                  Shteryana Sotirova Shopova <shteryana@FreeBSD.org>
 uid                  Shteryana Sotirova Shopova <shteryana@gmail.com>
 sub   4096R/E509C37A 2013-09-24 [expires: 2018-09-23]

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v2.0.19 (FreeBSD)

 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
 =nmvG
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.334. 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.335. Ashish SHUKLA <ashish@FreeBSD.org>

 pub   4096R/E74FA4B0 2010-04-13
       Key fingerprint = F682 CDCC 39DC 0FEA E116  20B6 C746 CFA9 E74F A4B0
 uid                  Ashish SHUKLA <wahjava@gmail.com>
 uid                  Ashish SHUKLA <wahjava@googlemail.com>
 uid                  Ashish SHUKLA <wahjava.ml@gmail.com>
 uid                  Ashish SHUKLA <wahjava@members.fsf.org>
 uid                  Ashish SHUKLA <wahjava@perl.org.in>
 uid                  Ashish SHUKLA <wahjava@users.sourceforge.net>
 uid                  Ashish SHUKLA <wah.java@yahoo.com>
 uid                  Ashish SHUKLA <wah_java@hotmail.com>
 uid                  Ashish SHUKLA <ashish.shukla@airtelmail.in>
 uid                  Ashish SHUKLA <wahjava@member.fsf.org>
 uid                  [jpeg image of size 4655]
 uid                  Ashish SHUKLA (FreeBSD Committer Address) <ashish@FreeBSD.ORG>
 sub   4096R/F20D202D 2010-04-13

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 KuE+idQxbU77Z0BRtvqrcDwuelghJOUZ4KvLT6s8BNb5rJqJASIEEAECAAwFAkv7
 ddAFAwASdQAACgkQlxC4m8pXrXypJgf/RDjEqFUMxcyAXtsvncpNnJHjEqtlm8uj
 GyDOK69lMe/td44ujCJsqvqP2Pjj1dhZ0uh+R1Nd6mCBPviM0uH6lJ4QDoq8WRgf
 Fq03HGHxFAe2CbTaZbUa7aRHuevHzZwsAksNlsqFdp5Xq0P9c/rt91UNW93Y18cs
 edp6vSFVIcY20j5xxc9Q/xbjBIqcDJ75Mm6h+5ZlzgD6LDuwg2vQ2cWScUGFAu8M
 RzcPkCfLMBWdaojlXRCVYROA2UIwHknWtfEMtCuK7JiPRqzOoz7nRDfYvR6AQSLC
 aBsjMnf9fMfdd/XHaPtH8DJz5qlrdmZ4a1e+ByNhVxQL9T1sWGThQokBIgQQAQIA
 DAUCTAyZhwUDABJ1AAAKCRCXELibyletfM5aB/wIo62JuZQKCuuw/yry8x/TYAVb
 nhuQaD3HXZeiw7FT8bX58JQNGhRE6cWze9ziI9SEiCQ+n8J/VmXcYezXTOwWENSB
 u3OkE4h133CENnyqgJhmDboQTKbpq47jgHpBpATVMnLcDpKmg1ypXHUK/1zo4dWB
 hdNf/EK4adzLOCSnlYc4/4knkAiaBuy65oEYVeob9FogGK6q9xIFehzpRN53Pcgz
 I3LSf+I3gaHlNLIpmqvLAOZK88ZsnidCPhA4u0br9ce0FOKaTGzNN6zDWl95pBvB
 xoy+Jgovp3emI1OVNW+aNqK6Syt3WdSqi7UXNabpN0PgfqoHzU8a96aEYcuU0dGC
 0YABEAABAQAAAAAAAAAAAAAAAP/Y/+AAEEpGSUYAAQEBAFkAWQAA//4ABE1l/9sA
 QwABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB
 AQEBAQEBAQEBAQEBAQEBAQEB/9sAQwEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB
 AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB/8AAEQgAZgCA
 AwEiAAIRAQMRAf/EAB4AAQABBAMBAQAAAAAAAAAAAAAHBQYICQMECgEC/8QAOBAA
 AQQBAwMCBQEGBAcAAAAAAwECBAUGABEhBxIxCBMUIkFRYXEJFSMykbEWgaHBJCcz
 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
 72HtYsmNE4TLbl0fMctolg==
 =ID+y
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.336. 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.337. 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.338. 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.339. 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.340. 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.341. Florian Smeets <flo@FreeBSD.org>

 pub   4096R/E7053DF9FF86F076 2013-10-03 [expires: 2018-10-02]
       Key fingerprint = A701 0320 3BCA B44A 98FE  C844 E705 3DF9 FF86 F076
 uid                          Florian Smeets <flo@smeets.im>
 uid                          Florian Smeets <flo@FreeBSD.org>
 sub   4096R/F779EEDFE754EA9D 2013-10-03 [expires: 2018-10-02]


 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =rJYA
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.342. Gleb Smirnoff <glebius@FreeBSD.org>

 pub   2048D/6C7E5E82 2013-01-30 [expires: 2023-08-25]
       Key fingerprint = 6E06 7260 B83D CF2C A93C  566F 5185 0968 6C7E 5E82
 uid                  Gleb Smirnoff <glebius@FreeBSD.org>
 sub   2048g/11E89DCE 2013-01-30 [expires: 2023-08-25]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =EioC
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.343. 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.344. 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.345. Dag-Erling C. Smo/rgrav <des@FreeBSD.org>

 pub   4096R/BB9B471BF94E87B2 2013-02-15 [expires: 2014-01-01]
       Key fingerprint = 578A 3F4F 9E04 9FCF 3576  BF82 BB9B 471B F94E 87B2
 uid                          Dag-Erling Smo/rgrav <des@des.no>
 uid                          Dag-Erling Smo/rgrav <des@freebsd.org>
 uid                          Dag-Erling Smo/rgrav <des@usit.uio.no>
 uid                          [jpeg image of size 4779]
 sub   4096R/A1F1FE07F4DE87F5 2013-02-15 [expires: 2014-01-01]

 pub   4096R/92C843456DA6A66E 2013-09-24 [expires: 2018-01-01]
       Key fingerprint = BB57 22E5 C9B6 77D1 73C3  8CFC 92C8 4345 6DA6 A66E
 uid                          Dag-Erling Smo/rgrav <des@des.no>
 uid                          Dag-Erling Smo/rgrav <des@freebsd.org>
 uid                          Dag-Erling Smo/rgrav <d.e.smorgrav@usit.uio.no>
 sub   4096R/9B90A1FCF8FBEC80 2013-09-24 [expires: 2018-01-01]


 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQINBFEeA+sBEACk14bRItB0YRdMc/Ke8DddbCWTiJ9CJMVn9Zu/FGgsNA7qFHOV
 rpxxqCvitsyNB1gzPgP6tG0TIkTPpL66ZpK8MLSBTNAmQd8QXUEwSR9d5A8WS1/s
 vBSfF9ZnSqA8wUMGZc5T8RocStkzSIxgJ+7ZmIjmAmnId/tjFy41/ym0brxmpmSD
 IJT+GskMW2iUbGvk0PPrgGxTPcAdhuuz8QnodBYGo/igkYNHZnU0/R66lH5teKlF
 h2i2lcWEgTVa0GIFGHMPOyEA947FUpb+GpLBa8RyhSnh2OSw1dMdjP1yZlmRxaRg
 cwLRUYy04vqRSlCv2E9W52EjpeZijQvPg997wQcEVgtVe2T1A2m4WVh62jrnkOuN
 jKNFlnEZJvBGDzj3NglJYHmQenIG8NIEn34Q+GZ38dR/Trn5sx1z9TP1RVKjFbIu
 X7A6BLXWF4SrO/vwIXieLzgQZCre04T16K21/w8j/iQUfafxXYStu5mZOw5RmQFr
 1QvSq/j7BTqhC5ZUTg9IItW+hYnJ2XPEcb8LLA4T2brzjnRZ0KwxyPianDcKPiqb
 3W4jBXp0ftLOl50QPGTGon2vksQVY3st3JnyN/Sb8EzZMKrvdvNiUrJ/PrntQgTC
 M24Df1SzoDlbnfgmcKhwizV96xBOTcGxoxMsCV2vb1GP9wmEisuxAZDUJwARAQAB
 tCZEYWctRXJsaW5nIFNtw7hyZ3JhdiA8ZGVzQGZyZWVic2Qub3JnPokCPgQTAQoA
 KAIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AFAlJBjnQFCQGlVpUACgkQu5tH
 G/lOh7JNyw//fPv6L0aO8E6S6SHyrM+NXt73gm7f3oTp102tJTR1w7cqK1CKK3Yp
 yo5PXjZSNKuMIVXQ/zpiP2zf6Sqytw39bl7ZGnGvRnZ+bk0z9tJv8QKoA8r9eJp8
 kWDn8b04jfH2EuwTplNWQyN65Qbe9vUqH9XNWi16g16l7fOLKtH0oTu0ARTUiQM1
 J5v588sxqcXhqIlUVsVzzjs6IVLNIINuHUJ77CadPf6Xn0amjOlr4y83ipqOGsV0
 0sy1QWopANZcmXcuzo6SpDFa8/LgFvmm3jVDR/+Sz4gDayM5EbYVal0Vm3yDnZwk
 kl3IvE3gwcoMzGT/UKIdmvIXdkVWzEsoUB+607risLzUsViZNwibdptfH+A7tdEJ
 xT0nq9GILEelsK1qM1XRgj6KR6I1rKwVexG6/tzktqHAV7mmo6aoVNJglXX02pBu
 bk6krjDrrwLGb5xEQMCnaDJDUIHUNX87TvjDeYMTV7hWVvJUoEbHiNsGK1BJV3tK
 Vmyjx/VkGcT0vdEJnZfqazqE4LZojevP8T8goPggLpa7Okj1RVyqHxk06p8QJOj1
 8BWFMKHnqwEpMj2RztG/W3FVaoexCiGH5LiiD7RqrJF0PgC2WiWMgIhmd5bnZqNm
 lRN3gZICFy8kSUf2aZv6tDE/aZRmMXROciq3eY1471X38gWbOAbNB8eIRgQQEQIA
 BgUCUR4F/AAKCRAw1DpuZOviICm/AJ4/6OrGNhVnY//y4BF3EkYAcvef4QCfctk6
 IlzbKo/HmVLEda6feIYzKDmIRgQQEQIABgUCUSDAKAAKCRCMKgqteNriyGNnAJ9E
 fvK/Mo80TSNzJJrMAEbcDpacZgCePJiKCrmyI3E2rSChz5pQ+LjrmUyIRgQQEQIA
 BgUCUSIbtAAKCRDbTMxLKjDXKXoxAJ43qP0Lp4F9eA5KR/e5S/cSWZ/leQCeM+RV
 I8WDr92fRaE9skT/soc21p6IRgQQEQIABgUCUSM/IwAKCRAxvbPdCjXKSGJeAKDM
 VmTkBtg/cOYvTacHjekRD1TQOACdEyzYHGRSX0Lf8vj9a/+S+ZWKXGeIRgQQEQIA
 BgUCUV2QbQAKCRAV1ogEymzfsvMdAJ9wLFOhC+Qdn5QVe84X7LRlvgTL/gCgnijo
 qTBxXY5brT+UaMzw6y3vg2iIRgQQEQIABgUCUa9HTAAKCRDYT/Z3Eu8v9VAdAJ4z
 ZbccYr+hrFDP7Uq1cE9fIML0ngCdH3qIm9U5+TsdkkA53lWW5lMxw4+IRgQTEQIA
 BgUCUSfF3AAKCRCcQXaMLjQ1nwDqAJ0c4siPyNX1g73tOl0B6XiWAgY93wCggWnb
 GF9XUe8uXh5hhya0pDlCwAOJAj4EEwECACgFAlEeBYsCGwMFCQOGit8GCwkIBwMC
 BhUIAgkKCwQWAgMBAh4BAheAAAoJELubRxv5ToeyQ+sP/ikrPYQANRkKqtVeL4gx
 raoJwF04w3s83xXQ2td1WCuAxzx1K3AKzVFCfzNaXT3AE+tAX61TReshTQpU2ZlX
 fNfyvwsY+ME+T2z0bVIDWPHUYDyacuYgm7Z1vuCq9v5hQsyTl/bjYLCIaRcur8NT
 cdh2IV42HHzWsZvrlCmed4kkdAFuOthLCZHUMxa5U/58oYbRWaXK0uJQr+NJrOEh
 9iEB30lmasOi3ke6JJVQgUol8ik1z/Q37OVVHI4WENWZY0zTwlZq+v5wV4p872u+
 Wph4aMT7tGrR6XHar0lXEm3Kd7eAnuaxJSIv4lXlUqznLAFwCr6qftezN4oggsWQ
 kH5NvEvxSaivxkvkRjMxCUMhCxFCv2+RzJi38yMmurFePsDsxIXcqgK/lBSP/nXR
 xwj2Y9C7G1c3KEECSTRNyz32idyKQZBTe5hPIkrYWZ8L1Oha6AaAOwVtiftPWuwh
 98mVy/gIRdMFO+tu3GRfshdyfxOnkXdIVx8IOthBkOIbKPRDooJypLvDU886YpVs
 kMb68PmLvmHA1REbL06ZBtQa+8l9HiIv5lOy9EvvEA+Z67i6sxucKa8oFn5ox3ut
 RRFWF+AHmKBp0QADIBxE1bON3uwtSqK+rwJBHQAUL4xMpZKc7ZgPqzcXEM0n5Dlh
 5RZNNrvaZNNZHEA2NpTcdOQuiQIcBBABCAAGBQJSTYQGAAoJECC3DeE/HR5P7Z8P
 /ikxX0CwotJr1duAWy9V5zWxpQpqi+DtrZT+7AsJ+f1Ms/uQDZJ56OdIy2Edah+S
 8VCZI0JNcCL+YuPQCOcEbaC64XYhfTzGqdVazSpFtfTHbJj/4o7dv5sZdMwZXbTI
 NXJekHXiQWqHMUl/FkYmVJP9nirPMJnd6WqgJvRcWG5UuP5SMClNYH9I0Z9OF8Tc
 rlB/VLElbFPdhYtt3N85UcocBYZvffe5mWZuqBTwf0EsJegY4P0YD5OvEXVPBt+C
 6IDCmcCih2ByJLkiwXhuxw797EK7RiORxTuE2rbfTOSe5fWpj6pYE+ggHKrHoUX2
 lFkv1cP+T4lC2viNBpkgooO/aAhrDrVMyPgis9jjRQ2zpgc5yXJuyJzsYeEPu2f9
 5vwIOKXrwl8HkMVAy/iOWjdZP+1B6AOCFs/nl1W+x1moqpfB4gB1QqzPlsqPXrgj
 rD08qGnP6v+y5ECm38wd1hlycI5m2kQYH5Vt62VoKg+/ilut36cq7ikT3wNpq5pY
 4t8W55GU/DJmmWqEkVz7eYs1ex56dsVLiKTyL3ifYoSzZA678tp4hYufMnojAs2v
 hD54Y0oeF93tT6Jbj/zP935SAR22OK2tRpuOTA4bFt8v0LS/VPymPafkL+E9Wb9U
 trX/eKN11an+tDC/mFNpMJQQsGKXq7CReX3WnrXHKhaetCZEYWctRXJsaW5nIFNt
 w7hyZ3JhdiA8ZGVzQHVzaXQudWlvLm5vPokCPgQTAQoAKAIbAwYLCQgHAwIGFQgC
 CQoLBBYCAwECHgECF4AFAlJBjm0FCQGlVpUACgkQu5tHG/lOh7J0Yw/+OY6nLrwM
 oxBpOWNC/yxBSq0WEhL82+gBLVQNAzfnuQJJjumy0oxQ7UVLDrWaqMBJLaSgnY1r
 hiAcSwFhVZdgwAkp8iuRtP8VUSQ4QZpLxOVJ8lZwGJ7HnY3R6XFOsuXWHMar1Ep+
 OlUnV+ZafT/w3fi9uPtSuJ7OVnP+KQ8DfeuuWSf/qeNyX5hi+UTPQ26Se1WH+jEj
 6Ilykc0ghxh+8/zkyAa2MtTSUQl7A7FIwsNEbKMzoYe/nnRrlWgNtiI/KdSWAJV4
 OhvgkuYwjZ8mKgPeVQw9w5BPP9t55jI34nVnh6I7Y3dcvfxzvf55BBvcqQCwKvkC
 Qxv5gKfDU9oIhhAb5RD3f1T7nok1Xhys/Ve+Wod88nRrvcz0i2wVGGQtP2avtR1G
 ThV+2+i5a3eC09A4nYEMgiib6dV8GL1WB0U7C4x92JyWsk/6lXnd46zf2dzDdUmh
 oGHVe2+GNkcQxsMTPCcQE1/bmduwccWJxTjvLUHoTZb46qYWh6SO2ZIrlr/Fe046
 rOEQ0kzF+ucHNgEjwHHhXhoX26yv9jbBo4dVKvXajZJWb7qkS0aHd52JQQZ6tHDS
 ucrz+wBgtpxiN4+U9eHMcwNMf5QTtEwGUPQmkufFBeCoDcE13Z0b+pOTiCWG+vD4
 gx9s9C9ndkEgNDP8tG9J4LMemUxcZMiUv/CIRgQQEQIABgUCUR4F/AAKCRAw1Dpu
 ZOviIP0jAJkByzYakNMCCRYMplGu/wgcm3tjBwCcDojWEVqttDZ9thFgjmSgrzQv
 jS+IRgQQEQIABgUCUSDAIgAKCRCMKgqteNriyGZPAJ4xpPn2z78XF3iF3Blac4GE
 axQPUgCgj/w7NMiRPNsxKfLDUHQm+1dUN4uIRgQQEQIABgUCUSIbtAAKCRDbTMxL
 KjDXKfc9AKC9FnTxSv1pHHzMjxU3kZ9BM1AUjACdEJiU1b/P63rDXKa/+sMX5NF0
 BKaIRgQQEQIABgUCUSM/IwAKCRAxvbPdCjXKSF66AJ42XBf6ZGsGpV82ZddQXNPD
 oFBviwCgtEY8a4WdTv89HZbelEW+/8ZY3xaIRgQQEQIABgUCUV2QagAKCRAV1ogE
 ymzfshGWAJ9Q610xR4dsqa7gAh0FAVmocyjcSgCcCy05WirPDL1JewUmwzRAiKr0
 3D+IRgQQEQIABgUCUa9HTAAKCRDYT/Z3Eu8v9cw/AJ4wePDCMkrSE74YhDNZ4f46
 p8lpUQCfTx8qJH+3qyC2nbEnjZ0unciiveyIRgQTEQIABgUCUSfF3AAKCRCcQXaM
 LjQ1n4O+AJ4oIMr6UFrdw+/Mhis99qpsvGGlywCffB/qn7irOwMizJYiHU2uUSyz
 fZyJAj4EEwECACgFAlEeBcYCGwMFCQOGit8GCwkIBwMCBhUIAgkKCwQWAgMBAh4B
 AheAAAoJELubRxv5ToeykskP/1A6uEjD2ikyVtT/FwmDK6Yg7VIhhb+GJcELt9iT
 ynxjDrqKLxJ3dC5RsnV1kjSrqOQvj2yHEPur8MSjVbGdjaePSPnSajQxVynWqs94
 Dd66wCwKD5/zBJD3sRLetHZVzb/CvuFHDtOuWJyzamSQjNbvo5bHcRmRQy9MZoXj
 k61BanVaaw5I6FXNysb4LI8aN4xqOyeZq03reTDGtll206Vh1cb0+XASgqTLETZ1
 4zmG2WGaFYwhr15o2Wv44++ba6P03r9Uk6MNXV3JreIhHHmK0FpGrBM/upjKDuzg
 L8T38Z9b7uXOMZ0An9sCxkj1EmYAU7wJjWWs4ps648JjE3SXBS9wNoe9j4nBnU6e
 rMQ6JxIF29PDTm2FDCSQ7hZm4ypaPmmT7kBpg40h0WlsbHIkHiDwvXXtD/hoOJ/Z
 euiwkGfzPBllv2KmGR4DEKqoOJQNASdNS7wbsHq6Z+eHJc+vo3xc/Cs2is0vN9zX
 KENk04OpmWXf+25NbPHp0mcmB1sEUEQ/3D6+M9VE8W4YSB1IhYFxkW7pxXF2eS6Y
 bkkcdnePX0CG2oN1e5wra2WNfEYCLZAA+gQ/H1c+fjoAWHB9JWCKQKtnvzJ1W1Sn
 Wv2ov35W2UvrDVVldJ/jS/gz9Okc8zptHE3r03SlJY0RH4kdSzft76AqdsMDoIGI
 30WfiQIcBBABCAAGBQJSTYQGAAoJECC3DeE/HR5Po70QAIhcotp6AKRbno3D7AQg
 PV2a+MXSlm/1CY2ojugdx3XW521mIf+B1r0PcsecyPrqw9aQX3/9miOV+o9OldWT
 QknHhvcERYgMfmfWJHegoaLuFZUr7CkQtrFEWOT37OmeXieNA1XsZFgtTYxpMgC6
 L2eA++q+GSygRPHTmzUh/XMcfr57T27WYDULOGW1DJijsbm4o0EKfjTBZtV+QNjN
 NPTmlXAJc9Vfri8by91djsy9VS3FlyJdwZ0Nx3upS0vAG35WBP1pnjSdWhqQl1Qw
 nrvAqNMIt5n/41ZwALlCxsUGCFZOcrsl0C1EUJtdrWXsD2cDbZ7OuDqv7xMHfEJI
 YLcY1NputlDlQKEcMBsYlOoQ4dRq81FBvsbaXe4Pq92619iwSzd3KL9thzHtDcvH
 Jv2/Sz2uHyrhbolJA9XeeEB/kztwzZ1JGATAXkkj9qVsQoytsLOs3HULzgSBgkbM
 rRlj7AQUepdyvCD5wtfouaZfee/quEbe02l0CFWw6DI9ZxFggEvHopzC5rnM8Q7n
 zThksDIXBZRlcD4jFZkkA1ArXASJoEtOVMuRZoAKZRoDmDPEuG3JzHVWOq62XbpM
 AwitYa9JrGRXPTZ/JEl8LdU76QHj9EINyYldWii0cB7qUhdTAAHaYUlABfIPiuKJ
 bAA4Gu0BIPk2RjP+UnUY3//6tCFEYWctRXJsaW5nIFNtw7hyZ3JhdiA8ZGVzQGRl
 cy5ubz6JAkEEEwEKACsCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheABQkBpVaV
 BQJSQZFOAhkBAAoJELubRxv5ToeyK1MP/REkbSv+CBWo4xXf+wICey4JWUegjcgq
 5CbnqMItdLF1tfO7dmGAaaIJ8Gnv2+d9J/Zc3gsPnoUu5QzAJWZANLO3SMVRq5N4
 6pW9A9VDWjbOffvScTx/KOhLjR3H+EHY5fjviImwuq6jcfHj3NBCBwlOfhd4csvx
 uxKN6MHatMpAnpFlVIHOHaZu8hLqKOoPlhP55L/40sHYcAOA1hKJ73EQWkoH53QE
 5ndSU5XDiilI6PbSz7B/MST8HVHZ2C7qxBdHAIELI+h8Jh70HNhPbSnV2ufIhnKa
 ztH6W9WgI1xuBjdUjNEwyf1ZWgSWxKnLO7ivb2ZpaDeny/NiJdi5YY8bxjcw2tUP
 y35NMDfF6pzgv+cIRxmVgxN+OEzpcZf1XcNp9N9OUnvTWMb9VaeSz9gE5UeM4xuW
 sSoeG7tuN5WdMLiAwUo7wPu8m1+846mybLbjCKxpuh5BUUswg/6ry5BNsGOL9dKc
 yIZr1H7qK35SAxJ/IhcUFOs4Vlv2DVODr3tvrtzMQiGav5UzH7Vg4Qm1V8/SVN7R
 05Y2uuCyEY9SZijmDfhVzMHeB77/XCgKlKBzadhdXOFgq7j52a2e2uA4k1xCBafK
 xbwsNb6/DkTHIStM96qDOoSDKgXZOTPb4yx3YrHpkef6ESGrmgSP9btlhO/1pVTT
 d65D9qm5D0j6iEYEEBECAAYFAlEgwCgACgkQjCoKrXja4si7EwCeNIbYJqIgQ7rj
 gX7UICpNCVno1pQAn1NRQib0FL8Ujw/z0DhdBaaf/59JiEYEEBECAAYFAlEiG7QA
 CgkQ20zMSyow1yl9+gCfaBxoRVnaDjU86WOczePMRR4N+3wAn1jBe0v8M+fsu3FF
 gf3wTeVj1AwKiEYEEBECAAYFAlEjPyMACgkQMb2z3Qo1ykh5tACfZG5thQCbK9G3
 Yc5+WoTDdkIGM/YAn3/VJfnL7UGe19O+DycgxF5+GF4BiEYEEBECAAYFAlFdkG0A
 CgkQFdaIBMps37Ic/QCgi3VlZ46hhbq3ax8gQpQOUnwjHXkAn1po/zqH39683MQj
 6Wqv++rVzdSeiEYEEBECAAYFAlGvR0wACgkQ2E/2dxLvL/Vj8ACgwlt1lGhtzWW3
 YTm47wIaojcoop8AoJ0w2fN2JF855fQwM0jFLebdLAyRiEYEExECAAYFAlEnxdwA
 CgkQnEF2jC40NZ/p8gCfb/ux1BxTcxyKeIQRXpBoxrbh8+sAniSgOgRukbXaNzi2
 64RfPzk0OST+iQI+BBMBAgAoBQJRHgPrAhsDBQkDhorfBgsJCAcDAgYVCAIJCgsE
 FgIDAQIeAQIXgAAKCRC7m0cb+U6HsjtAD/4peWdkRiF2Iqpk+51z5fMfnnuwt6+B
 9F2Mb++oC7k7uJVOmb30cssb7SJd72Buv6Z/uOeCPhtPRX3H1LL9Ipxe37NkFVIo
 NdVMln6udBQ2dCbooombZr8PBcIpQBht1cTjocawlujlZTeD6tYLlNo1+u1/7W+0
 wk6YePjdDuh0x1jT1xZe2QdKaKV23IAk+Th7RTG5nPBopvTIIs1gQ7cF9chPfJI7
 nc5wsblj2aTeM8BPsasfIt1UKEmOX1YqLUjwyMfKWnpyTMbTclcBjdGGv/JbdWZy
 8xymyfulrn76yTwQrCCEan97dbO2wLWprUr8+JKzkCyoOM3uO9ahKvyDzeyomfT+
 MgWRk6ZDZwbrZAns+xcMENRMWjBe5Aeys97jImqeHEHozZ6uEAJrm1WKra4MzmNq
 cBhbzA6rl/Yj+Evmr+t7P0Qm8vX/jbopHWEFlP529cibOaEN5YWFLuy6V9u3u045
 Xgd+2pluFDKYah8/ZV8kah1+YVaQz+7GFklVPSbEz+fnznma6FJggX+eaGeaOgiy
 ezKbCVJNpSKvTC/iO0P8aYjcrOOorriye43n7NNlQm7jvLSFJSzone0rRN8pJXng
 tmjOuZ56RaiCuMWaJJPuwqfl8jgPHVvMZdTyYZD3R9LbzSX9qdCeWGfg/VCH+U75
 9ka+hEl6NHI9wokCHAQQAQgABgUCUk2EAAAKCRAgtw3hPx0eT2XED/9wSlfe8jRI
 w8lnDH9v7emHR+vfGZKPRzOslZ4jryXqi0EDLnBfay51PtRM1wP6HHmdX+OTQZtO
 dRVHwaO4XTSHXjYqUddw1wLTZ/pTigefa0wD70esqzT2D72PArfO2Kf35/W11ISA
 qPAGo3gQDdVjJYgtIyyBEPqQG6TnvE6zxGaePunEkzWg/hG+cvmfeC9skLUlwDfq
 XHp1GgFcb1dfM4e5qEA2BfXXFMURCEfBL5iFRDkCfxUaBkDqPF7qs9Q1HlOJdTHp
 jViymCg6ffgoeO+3n0LmEO5NCi/Q6Z8iLiDK91fkQfTvXRKo5uuKPqxYWmuC1jHg
 INhivMiIebkiIFQqnj0O2oD77llBXFpJRt4mUZ42LEfrsn0deEyeacaKi/k3E89+
 iQKRhUdBivpQiUP3ocupFUdOFgOZveheQTpfarAZSbNT9BbfRTJ364anETz0wjXJ
 qvYrtS8Gyq6IvplyQaIPvB/QPaLCk0/eB/hNo5hKxLBs3acWyGjdZXLTjwfYruN2
 9rW+GoD4na7IH+EIu4k9GN2mDaroTTNOP9Xbv9V1AaDwt2P/AgJ/j9BGr+2Il9Fq
 LwrXn+h1Sncso4bHuimc7Z8V0+fMgTWPi/XvxPCUn5X2w2/2cOzLWWNYpzUJ5mgP
 GvOE1XiP67hecpS9BaVZrd4LfD5Hyvsw3NHR/tH8ARAAAQEAAAAAAAAAAAAAAAD/
 2P/gABBKRklGAAEBAQBIAEgAAP/bAEMADQkKCwoIDQsKCw4ODQ8TIBUTEhITJxwe
 FyAuKTEwLiktLDM6Sj4zNkY3LC1AV0FGTE5SU1IyPlphWlBgSlFST//CAAsIASAA
 8AEBEQD/xAAaAAEAAwEBAQAAAAAAAAAAAAAAAQIDBAUG/9oACAEBAAAAAfpwAAAA
 AApx0trprYAAAjz+W9tb2nXWQAAR49a2vteZtfawAAeVz0nW99JWtptIABj49K6a
 3ve0Wm+uoAB5nLivrppomZa7SAA8XGjS+t9JtKNdbgAR4NIX000vNrGl9QAMPGrS
 b6a3s2mYtfcADj8utJ010mb6Ui2t95ABx+TFaynbXemN9NtemQAcvjRSiNsOzv4v
 O6Ovr3t0AA+bmMsdNduPq9DDm67ab6ayAHzdqr2vHF098Sva2usgB4fn9Nei0V49
 +6+bXWZ6ZADwvP6G+seT0aejbn5fR0tfokAPO8iWm/ncltPUpbk6e7XfaQAx+eyt
 rjw1jbpi2Wnsa91gAOT5p2V5eX0ujXTyNp7+nvAAR8rzadjLn7LurlaevuAAfOeZ
 G21rWtrPHbv9eQADwPIwno6Lr7Z46fQ6gAEeD5nLnfo6OnSMKex6YAAy8Hm8/OL9
 HWvTX6HUAAeV5+XNy0i28219T25BEgYeHWlac2VTXp6/W7gISHD83w29DotEY8jp
 6+70NQESZeH5FaVjs9Totfnxt1dFOzQAed4nJSERGntd1rUi17eR9BYB895mUIER
 Hf7PSiZp896PsbgfEVggCtvS9bpZ+Jy9GvoeloHw8ICCUROt81tdLX9H07nwyAIT
 KBNptpaZ19X0Z+DWTAEhJM3tK09XvfEFxEhMSC02tKLej//EACcQAAICAQMDBQEB
 AQEAAAAAAAECAAMRBBASEyEwICIxQEEyFDNQ/9oACAEBAAEFAv8AyWZVh1GZzsMH
 KAtOZgIP17NR34zOw9AP1bbja3ZRsIPSIDn6Wpsyf4X0j61rcK1hPeDYesQfPn1R
 7/A2EEH2LfdcfQNh4F8355hB8+W44q3Gw9IHoHn1P/P82Gw9AnKdRZzEDbfnl1P/
 ADEO2ZkzFhgDiBpnYzpKYKROOIs/PLqO9Qhh26oWf6GJL2Ac8yra1uMdnEqdzEty
 RsjE+WxuTrGhh5ELWuBXWCcGEd6p8ixczjiLxhUGAQRPK4xqB8nbjmcJgQntK4PQ
 NhE8uq7WoTygg3fCjOYsXbkMwb1eXWj3jso/mLsxCgvzf8SJ8S1chLIjb1+XVLHi
 /wAwGZxLn5TlOtK7u62DH+lc9ZY/uNNmZmflfx5LU51uOMVu0WWMckEzgZ0jEqOT
 U5boNOliDsR/SfHzAMDy31h0mYhEtX3WVHCRagXWholbFekuba+pa1CotIimVd28
 9ow7RTCcoDHQNOGDXyUe7BSIoUX/AAv8iVD2+fUr74Dic4pnKc4HWdQCC4Qv2Pfa
 heR+hf3LbZiGZEwDOEVJjE/WxKxylacF+g8sHfZTMxTmDEEcQntNIn0bDhDH7g75
 imZ7BoXnLJrErGE+hqHyYY4h3zA85TOSqkylct57bVqU68luXLciFYRtiYmIixEz
 NOuPPbqUrl9zXNASprtDTExOE6UemFSIFJgECyteyfHkexaxfqWaMc+mu7ETDDEx
 MRqgZ0otfcLta7VqjB18VupCx7ckn1o7IadQr+jExuRyXR29OAhh4LtSzxm8dWpZ
 ZXalnqd+CKe9VpQpar+A+UEg16tliX1vuzBZfd1CIDA2JXqCIrq31hY6zrWTJO4m
 dgxEr1UVgw+6rlTXqQYDnfP2syu5kiOHXYfb0tvGz//EACkQAAEDAwQBBAIDAQAA
 AAAAAAEAESECMUAQEiAwIjJBUWEDUBNxgZH/2gAIAQEABj8C/U+RZeFLq7L1K6kZ
 G38U/aesuczZ+P0/KYdMYf8AHT/qb363wSU5zRTnHOfNq/VXx40up43OCeTCn7Q3
 UwVHAl18w6Y6z21fPCNHKs6gcJC9KtgV5x5zmuV9Y4q6LasNN1N8EjjtHCysrKSo
 KBGjd5gPw3J6CvIpty9afchKAosLqL4ZHGyvUD/aYVlNuKni/wA4B5W1gKcQ9n2m
 zGRqOCeluAwWHt2AYD1I+wUZbCSnJ0hMYPOynAeoqIHJqpCcdIrpsLhbqbdbUSVM
 nocJjB6CD7rabJx0tYdjVeQXieROkL7xYXmNyir/ALrJTC3DyleJxoqIXrPNwmrT
 0nOcFNWozoW4ZzexX//EACoQAAICAQMEAgEFAAMAAAAAAAABESExEEFRMEBhcSCB
 oZGxwdHhUPDx/9oACAEBAAE/If8AiUsoQwHeTN0voNucS5+xf0BhH27HAluMpBrh
 QnqRkas2hNNSuzbhSzFrdyP3SyRaGESSJjb5fuISV2T5kJKNlkkViEIw1RMCewTl
 Suw5R2Flu5k3xCFqtHHiHPYT/fZIsXwC1QtFk88dg0vihx4FkWhaFojbRZENUcdZ
 uGb2JlvkxjEIQhCeki+Cvv1pB4NtH8BIRJuMgx8GL46zY8sQY9CQgmuSb08iCRtO
 xPhiG4ENhY6v75hoYyn4D8ZGU0JTYsEXTHlSIqv1BSZGeGbhYXVWHurGWxkYCH53
 oUWk4yew1FQSmOUNKIoa1ZeDijsiuTUJtn6P5QyNYsP0Oo6pj0tI4yZGQnAkKi3Z
 QEZE2IiJJw8ClUS8FUJhBrIuR+hVVQ+jhhFpTL6r+AmOoeSzFAl2C8BcBFQyzzHo
 eSmKEW3IMGNldWHnWSjdqR4nRiOWQNJcWYeGYDGmDpky6Ea02Y09VrmswhnE1DLp
 o1Cc6KHLkULMScjcwCtF0PJRY3YsCX9dX6umXxkwk3pUTJzKFAaJbhHJC8m4JIjf
 k5mQwq/khQ8oQm/WIpzsPo8kkDJkeNMjgbDwia2IkmLv7FNCIZUVvM7jDYm9CoF1
 m1VVMaadFWTkLmm461zglMMT3TIwbEjy8HBKG3YgkZ1aks1vPIwtoEalkDEhna+u
 1Kg9uDX4RFAtS3KRfchXEw3DII0tnAnRhxCGOIOYjOxhaQ2zI6vhwND/AAyDl7BI
 /wAjy5JUiaKKbMiMWMmMmVA4EjQsuduC8Iz2FnsVlTuNA2JjlEwRGrErcSLC3N+x
 A21Y10lbMUtft9g6Q0tkTDzKHnJYfZInQMi5LSWKGQQY1YggKcLsZ94gcUF0VCKV
 YkLEoP7Joj7H/kJWnsrYpJe+x4aDehGRCNEyIFBKT/yjjwQ17fjsJN+lyIxw3hEb
 NKHqRzAxZIMhBVKcf6OoQ2+vOfR4RtRYS2H5Jw0aihTPQg0MykVjRQJhErcRLy9k
 MyFjq/qIXInj01uN9NGiNHf7BDSFNaUXUtGOLpshC0Iuyb7kJ7Jbp/r8bIc5t5Bj
 yx/BrSVsfyQPp+dEQPQSEKw5IGztE4ZXRoXpJKl9GI9aRf8AIoUbvG+kEEaKY7Ig
 luWRXAopxw6DN+tL6LR/2SQM55RGKBzuYvT4oyCBVKkh2EXA16TGyVlH5FMofZxw
 ez8n7xw35/XHmNv2SIYQkeyNMcqZ8ojwa+Ep9eCPJD5IFomJiZJJVkbYPlCElpWk
 cC2PtU9J0nQ5tXDFPd/GjUjQ46MdNfGRMuvD9n//2gAIAQEAAAAQAAAAAAAgAAAF
 lAAAJ2YAAFDcAAGl8AAByqAAMusAAYGwAA/OsAArC/AAVfGAALJdAAs74gAIPTgA
 PrYgApm7gALFfgAAtbAAdDiAAeiIAAJQ+AAKAgAAZmwAAKcgAABCIEBJGQGBgtgC
 C+lIAWz1oABz/wCAGerI4FDae4CRqfZHfEPN4V6KxP/EACoQAQACAgEDAwQCAwEB
 AAAAAAEAESExQVFhcRAwgSBAkaGx4dHw8cFQ/9oACAEBAAE/EP8A5PmNDuGvwRPx
 HL7QKqJbv+YFj4kM7Tq//J1G6OH7ZQFWg5Y6zmlMHjrEZ9bFuphog6EZdwFZgxZl
 lLPmY5P7v7l6LPswRAAtXiMUdJf7xCnX/JC7My+swZkixMM8Q9Ag3dw6jWzhHZ9k
 VqF5HL0mPaFqOGYdPzBoubQU3FUOoPxF8wsuOO15OpAJLHX2FfuBXk6l6lM28y4V
 gx5IOO0Fc/mF8zhFxYfiAuWCXxK2pcccjzz9gpTQD5tEpQbSbRfmCdU2yxwDzcqt
 agKxBmJ0jSbaDtXBEE0++9nQw/H93N1PrWrZmYBcyqjHWLFkfOu0HLFu4dkdxYTW
 ZvXr4949SFsH1ab8x3b3jalVizfBL3kxPOFApndg4vUMv3FKlVmKyKjoK97LlOBj
 riY0bKxHT2jm/WGiLG9SxKhxABfxC6YxeJlJVJ8Rj1Fw6w+9UKFCNzChomJ59HTC
 gG6xGcIVoS84jwU1+5umZ0gIzNGOY6gZsVh7e7rb0Zyr+pvcRTfEAaLvrKksYFgG
 75j4shKqGXCCsnMVQBso5nEj1GE29d5tF5F/mOMjXWXq4zP1vdABumpuriMZN5es
 xRFW6QF7zE63NgjUxdAuhcNIBoWdnUMG9O7lFnUcKUTBhXg/zLsSkdi3LkySUk89
 yQs0eFDz/mKUnA6pgA44Ne6NEGBUtVi3zEOkZFVxBmMJjEAKDfWWGrDdwRUChFHx
 G/aWk2G93OslRAoNM2RGlRe4m0hMuFwU4MiFJEFWocrMj4lb0MEPcZkyGutsNZ4E
 Nk1DzCmvLvAHJO93Aph+JfVriJ+XmAGAx6zC17gbqKiAFuUeP0mBFV3BLT5D3b7p
 IvxEOU2OzFb6oKq49CUBYWa4J8UBLFih0TEHOJdGYMixz8xC8u6m61L/ADDHdGWl
 e/utxXCDmJLZlvcSpl03NSyHoOMRqwVOvk0TE6v+JiQQwuomAkzFwcS5JhiobUbh
 ws2+GU3Cg91bVj/glTZsMVXRBvMxAosObl6ih4hoRqtSkW8GUwvYYACAvLLEIcsf
 qXZ2YqJVGwQdsmBOkZ73Cl2MS7d6B7qbFz5EIqQNI8MzrjBmXYpl7dWb2MVd5gri
 YYJa7ManduCqZ28EBo0etIJay+WGwSGsTamfnLBe61Lokt/lcFcXvNNM14hg0HLD
 PdXRHXVBoWMWLAw/4mgIlikiIorQclx4lVBR0Zc7mwco5J6U2/qFcQoLhto8SoKm
 73KUNuCFausveLgKF+z75OtJUWpAFrzAqNGSWleTQbm8mKQMK8xLVjR1lqUAqro4
 lpKnIz5S4cY5kF15lTSCbS9kvagMBoioWcsvHaBLH9CAJnP6DP8A5DFFBZ44+wUF
 RvntCifAl2mM2JVagDa57zFFNwOnzJcDVA7VNflvzDTPjdRnUDghLljSktAzW3pi
 EYLy+D/yBRRo+woKlN8y63lNE21vxDNK15nTZvFssFu7zXEdwNByyhpJl3bGSUAV
 w4ggynG8/uJaou7gBtEHUZTyu+o/YKx6FwL/AC3LAcPxHXUR7bSnJPMuJTQiBYOt
 RetoaC6uUYUus1xKce89JQkJdWl2dZpnDllfsga+xJ5paPLLrqZULTiIOBM5iGr+
 ZkjVn8R3LDjEUByn7lyJm7bh0q00YQO6eWrgKGRyczW4n7fYnaXi8sBPMwdYdyzt
 8S0sGu0UKalfEYKdRrdNLzq4NZozeeCCBW8qkIngWfEXPBwnRAoA49/Gfera6ECM
 ZAsT5gKqnIywt6iKZloiWRGhh4gtG+lwF5PzMbgfzM8JNjfHeEZbcQk5AYqBQl9T
 2T6rIBcL8jKoAw0B2lhrbqQ89dOGUVXd0+Ise0pRDvfZFMOdXxD7B1GZARI/yEfn
 Jxjf9TRZzUXLmwj+obBr3cUV6MvgREy+LM+TFML2QbmaNdfiVizjjpK+3r/6XDi1
 0gHjMIdQXQi1FvUIGBQLG4XgIaACfkNmefJBnlsenb2lAtaCXlOv/ZmMXbayRVbP
 RUckSW+espHOHr1lwa5NnlCqXVOPBjXSpriISF0hVuVQwyrSjyQAjbSciNXDoU5P
 ZuV87fmIUUc95rBGF+hH0o05GL0L6INZGz+JrWat/AywEjbwPiGSNzExYQFEZei7
 y8Edbom3yssdi2tMJAdR7CtX2RutxR0ZfUlXH6R6wXOnqRKbfwhogaSkhwQ8Gv8A
 Fg5Zeb+SUcmRlIrOjlgJVeHV6ssw0czCXL4Uggb1+H+Z3HU5Pj6nxPMuLf0p6mSm
 VHxMyafJBsxQhleCdQmlnS8Ytt5VyyZx45mNTv8AoFcjB41yOZSUPzf3PBwuPoCY
 Y4m/QJXrzOZx6GYnohcmesvwp/oILqwVBmSaMzLOq4UzDiH2ZWifFfJA5E0jfo0b
 SPoHcm/pCJKhD0ZX0DUGDO5B5hSXxxBEKO4fb751MbzGxyuSDAGYlj/sepr6T036
 Kr6NenHoMH0DBuViDZXJ6tAfnduD/wCT/9mJAj4EEwEKACgCGwMGCwkIBwMCBhUI
 AgkKCwQWAgMBAh4BAheABQJSQY50BQkBpVaVAAoJELubRxv5ToeypCcP/1Q6diDQ
 5f8vOgfXqwStIOWDD/AOo5ANc+TOUPzJb6pIY/dF9vSRJkC6Xib9JBDKsLxIVRRT
 cnBe5ueslW3p2wiYa7xFYH0smwVZ5JqwiNg4CyZPiSQDgyTt8iAkZ/7mYPLc2pKl
 0qhMSbbS7mAH/jn2Bq+6xSvqwA1zP6NQDLqkAYatP7xYkwemmS0ywzT6YlO7e6l1
 czrC3sq6n8z9dEiWM/po5UGaLyxow2g6InxQCyKM7Jxvhu97GjbrYKU/OEjngZYI
 AnhQJBkwQn8Kxcugbd8zXvyOGlH/qAChVfDcMZGV86BTzUEINh+Oqn2XfufPUmnR
 EImGZ57oqzbcM+pBfI3sT6qLdArd5ZI88/vuWqs172jBy6/WmhAoxUAwaDiK1naa
 4xPLkMsXoQzseDBwbt5Jqt58/Pq1vbSmQnSu7/mDjviqCwocOJ9DN944I4aOMhb/
 YB18ECGdlGfLbLR9DCDBoTAf7+JH17oOSezP2r5DOcFDBdMDsaSfGvPau5oOKTX2
 TZFHyGldrZq/wMAuYbwQgB3LQvJuif+l/BShsm6XqFyjFZTans2VD4V5wr4kwuFz
 yaF5c646Ggw1Jik73BFJ5bmdsX2nVwwb+LKX9/wVWpSkRTOpdIVKTlJAX93Vth8C
 L3PNr54gfkYsdMlFeUzdrN/uH1O48b755VcciEYEEBECAAYFAlEeBfMACgkQMNQ6
 bmTr4iBzjQCfZtVcoO+5OXHtKZLp+4fLJ2r1dQIAn0JgvPdEroWRVpc4U8or8NZu
 IS6WiEYEEBECAAYFAlEgwCgACgkQjCoKrXja4siM1ACfZ+WVANsfv/rHLHChzwJp
 +MdZl5oAn3pIogQvStk4une97IC5ASMGNjsBiEYEEBECAAYFAlEiG7QACgkQ20zM
 Syow1yl7LACeO0g1lrJoLf9DBNrnG7oV4GgpPb0AoNpq7h/iWhYZWD4YczKRJlHK
 wUbNiEYEEBECAAYFAlEjPyMACgkQMb2z3Qo1ykiXaACgiEPRev3hILDHrg8rw7R3
 AE5IGcQAn1sTiBpllnghiqvye5uSIHH/6U1viEYEEBECAAYFAlFdkG0ACgkQFdaI
 BMps37LCIwCcChmD+umTV1kF8clfIqig9TncJRwAn2d5r+hrG3Zu6L77E46oR2DC
 Uf6CiEYEEBECAAYFAlGvR0wACgkQ2E/2dxLvL/UUSgCfXIfSJspsdQ3GpahpN50f
 aXSZmqgAoJLS61JoA/t9mIAI2nOla7+mpyRuiEYEExECAAYFAlEnxdwACgkQnEF2
 jC40NZ8WnwCeJJqzQ1eLfdxZne4icCjcM+tG1wsAn06wGYhBfQaldmQKt0TBMSTZ
 MenliQI+BBMBAgAoBQJRHgVxAhsDBQkDhorfBgsJCAcDAgYVCAIJCgsEFgIDAQIe
 AQIXgAAKCRC7m0cb+U6HsnjwD/4n8YI/HEutfbk4BIV0k7488EBmjQ/UbsXBlaq7
 /RWA7W8gTPFk1a6WcwTq82UZW/HFSGIognBLR+1tWg7LAW8gdzC+XQoCHEusIejl
 2jPZ1fq6wln3Jq1nXTbqsKjbalFeoL9tPEazkYsoxlwk/1ExGWlGeMWVuo/1k09p
 NMX1ofOAavpXuKFwbw2BDFtwoGsAtEnysC83eVheFFBuUeR/8AEW3p+Y7cNmlF+Z
 AGuQPqXjmV1iogXNUEiWz56HgICWeSFK5XQ8YDz7PI3ip5CNwPbFh44P7UFpXFhi
 /ZnA+ObM7UKPb6rUMBBuj3v9qCV3QmBdlTGR5GL3K36+4r1zv9GZBCjI26wTBLrl
 MlnoIAonYHhqKFfAIqjLAOJgRXWzFJwtU3tEyM4uh8tBM5y87+l4jplfY5GAfSOV
 d2mxnVbdd4eSFNrtf7vNSIHBnJ+zfRqRFR97iTEcSVF9frF96QIBLeKt7YhteaLe
 Sa/pvfIaDKDlGVyPcG+bQqFKSxEP1MpCIsJog7hqAkBDjE0l2cfwI6MNzLmhEPQP
 28HiaNub/L+RV5iNUUEy7Q/R/3NKjcjRYm7B64FycYtozrJYR72uTTNdI3U9fV7L
 YudndRe5KaeDxx2F3p7pa4VvEHnInIEgC8GuN3lHwKxzzKKnOXwgXHtg/hosvCEY
 p+E/wokCHAQQAQgABgUCUk2EBgAKCRAgtw3hPx0eT8YdD/9t1Icb57hOJAy3Zl9s
 ewRMU5KXN9XTMkH2BNHn8c1zbAt9IcG1ZWUiORtqVXUZsHbiMRMcutRgxfE7AeFC
 WhXcOmkAqRdlq97GJVBqfAONd8vn3gBC42H2WMu6PWFczmw1KahIdj8Uds63lSX7
 nixhDjGwX7MkR74s1lFzaheEADJwaT0tDLXZ97MW3Tgloi2XsXARU8/mgVq4ZQPa
 A9QT/QxhuXylwZdaskuam2dN45Rwtk75Z8Sqekq70TCTKERDoVIzc2o1LuUSSsdb
 ClXFjWMNbmALHmzmf9GiUhMhrkotFhmIV3mS/1q7ynDvMrJhUE1JeNZouqCrUU21
 MXttFnRa6VMTEt43CB+wGrvwI0fRpuEErqQhOaFCzMErLllh3FZqeyhiJnKZOIgQ
 yfXwH2oCk8XqsVOsI2+ldIJl1/jn134v5PDQQBz3noUoRHyMbdeQequHawX+cJMK
 eBBzu49wdRhrlYsEgNgSb9COgt+x00sfJaV9EMfN8Zc6MvM/Su3AV8nDLFanA34W
 t89C+9Dec8kn0D/+cgPjwr3VDak6ucIjOe+IEypg9R9nO0d7370GI+piMxuvRIyi
 MuTObAz/TD1ZqWq9MZAeGzOLM64wr9fhlTsM8MCC7lTNzKlkZCWdeqq2bOa/RWuU
 cNudyR+j1p7ENCsIJnyU2L69KLkCDQRRHgPrARAAvqmb6vQ2Da42aMH4WwKG1wg1
 2TuDmyy71hD+6C+QBqQXDEkFWUHJoYUNE/hN9mXxlQIFu+Owwz6HRLhqnN5+VHOK
 v46wcP/fpicAGmVEDpCqpxEE/qO7xbo/OQTqTe/6wa/T/mrWaZryRnu07K17yWcr
 RKjSfP9Yr9zOxIasVp097hWIlm1bwhwxVc6qoDJUo53b/gwgUEwuKiKhnXLJwj/a
 1Q47O5pBUc4BuVpXX3AeprLJvmgpyFFV7FGScWmNJCWESuO3YQoTBPR/+K4NcInk
 EstQ92BLzrpCtTFlSsAiSNxOUP4RJDhfHhwJ8KLcKJWJzLpu3Zj6ga/a6KtLfuxO
 e6Mw+jTtfHNNACfnQDbFdOhT8xGHrDy7Q8/HVHDiB3e/Q3hEZI09OPpitUS9Bh9K
 efv4Gkbh7HLxrNNSHNwt20B78FnDY+B08e85acDoDAGeob9+pXtE+h2DrLDlGBxm
 JaSurpBDlS9AEvjHFpOHteQiEPWuR2htR5fNmWztWcfp0Rrcel5Lr19M/MBST29V
 yTVoHxJRNyETyY36+504VsFYgjiX610rsCi1fAVIFT1XizFszv7XAsBwvi9/R6hd
 xRXmZv2yZO4FKKeePhL9iMIA7mEA6e+cBPG12HGsqpZScMkp/Yf0gFEcunYeC4DB
 R+uIzpkecN7mCjkqUUEAEQEAAYkCJQQYAQoADwIbDAUCUkGOMgUJAaVWlQAKCRC7
 m0cb+U6Hst5tD/9PLVaHyZ6OynB5gX3Do84ud0Cz9fdMXvycr1aYaZ4IL1SU/6SB
 GmV0tmTHdhUgDP0v0T/A3rL0EelFc9UmGnz+tuIqFIyw87dudxmEi9cTWOZSnQdx
 nENi5SO3VAatMFnxV1/rOOyHvd5AlZpLE7jNgsIHROKHv1KMFwieVoyggOIrltHZ
 cvA3wA44WQcyTZ6/RwYuikCiV8Do89NwnXPrgeFhekiCVNOZqH+bx26YZkKn9Ssi
 5VnFcaeLAxXdNGFSwU4VXFbkEJrErqjLRqX7QX49QU1t0G08TK/4CPntQoV7+djy
 jUdv/zKzkfsk8f6SFiNjid+iez/szcupbBcVrFVR5elJb5GkC9a3rOMo4MCdmBUx
 /oNmp+fklRt13Jn3cYo2LTyr7ScV0G1TPCdseqt8JZv2rIkM7dshve2lOdNDH0rH
 hhT7rqMlLng0FyeaXx8tBWTBqa+EqCCWRT3ROY4H1TNSHb+MKOteVLwBjGnnWVio
 +4KT71n4EcuOkECN4HnFYXTKzJj5zGoLDaUE2WaKdRfA3AWMw4k79/zxzg+ShP16
 wN1V3h49mZiT8vbYo8j/YkhJ+xUtQKY+5EfxHzzZh74B6bFX+v2BMmFlWeVR9UlE
 btL04xMiv5KBiXre4gEZIq72DA/sIqpNkeA4lbkvSBVEUNy0p6N1YkmqkZkCDQRS
 QY0TARAA1NYPR82BY7nZ4Rd2JnzsNI0ZpZ8+4EjS0mJ2SMsSiVWRFeDfuFbfpm0y
 43fJelARYv74i2KlQsmpnRNGGNtTyHO3oROrbe7f1Qv/IHmGZieVPneDLEmbQkPY
 Hb08lAtswk5Z/4C/Ad1VRD9tSWF299jwsw6WtWlvzkcPdVbmuBJRBl2VrMffKVem
 DtlMXOa6mazO/t8SZ4/7P7/pcTlG+Je6VJr0e1k3dElhZjDige2bGBZCWJHvRS5d
 TGSmZFGnu/bEQLKKnsoHi++ZlIUMQCMhS7IA78Dwf0QLEogMyCPTIiD8sDlYZMk4
 +6KIwCoZnUkIV36eVwLSRFvnKqt8QlXug9AqWkaCzwThDIN7hHM6rhXSfsKIezz0
 qQcU3500vtIVBua08IP4VRjFQ+8FPc/7YlvjVimBqNt2EHZY4wJY5A1LTZgJdBQq
 pG14BUo8yBOVHE2e5iznZrYfzUmgAnpoTjiZQeTE+IciTRF0RFwDsWvNdU3+a3Jw
 iyOWY8UmRX3Gg/9wzoEUhLot+0TuAYTh6oVCxLeYadXakhDTGkbc03kf9shdwo4N
 Y0DEfuKxRNqYq3fDLwD2huvDCM7qQjjhN0TXRvpph+r3SFxEu470ceaQYXP5B8ai
 UHHxqbV3MTy6zCKKG52HZorMou4P/Fpo88MT1oNzHz6onCyHA6MAEQEAAbQhRGFn
 LUVybGluZyBTbcO4cmdyYXYgPGRlc0BkZXMubm8+iQJABBMBCgAqAhsDBQkIB+0M
 BQsJCAcDBRUKCQgLBRYCAwEAAh4BAheABQJSSrytAhkBAAoJEJLIQ0VtpqZu52YQ
 AMXdzv3Rs9UK9OceXlmmhViGldsvmH0yTRQXFHOkl3uWKXgw0fNcv+FoyMMOX9UL
 T2b1aBAhgrAPLoWhjSMa7VAURrRbVXstrw/y42esZC5CkhvXXxvnYzMK6b+WFtYZ
 LS1wNSNFTbS/92FcOMZRnuZy/VgHsF5MsxdLkrQtsIQUpgfpTeOWJgzjT0QyR7SJ
 +GyXYsFgMRnyJS8/ZLuU0724cpEUYDaDJJyai+MjXOaSACc2YwHuml0Sw3ymh4Dh
 VhB0P7IMu7a3R3obQu9oZoOJY3DhTEENbtXVNov5th+H/AsZ6Gq53MhZQJuDZA4z
 D0h3gnRjFg4Tn1wFz5F126SC3+mgifB092oRTPHEQazxefUiYi0khHm/lHd6hDvY
 k5xHbBcQJJ4cYeJNJHwyvEbk7YHaMIko/aCuRYr52oPSk3OQAq0IW6KBv6E9LC0X
 XZ9r0cm2Jk+Z/rvymbefD6hbMKFTHyM1pQAzYmRSbkXyfZayT8ePit8pBHbaWegW
 VlCL/V4S9rSzvraoKvfrFdnz34Bvn461LIHOTugE0TYu+3D7xYDKNwRy8pmJxEWt
 o++5IOCMY7XRI2WiWFKtzabUc9ZtM1X61JBtLbBwmOXNOtbrPSMTsLBPWZPnLqml
 CJdTcDIcpsLpyOrto68Zt/MXhwpnavv15i78mBmWSpikiEYEEBECAAYFAlJKlPMA
 CgkQ20zMSyow1yloIACgoGm55Yzp+pXmlg1o6eDBLWcHDzoAn18xOX8wMSpeYmRe
 Hg4qT6W07hT4iEYEEBECAAYFAlJVFmkACgkQ2E/2dxLvL/WSRQCgr92ErLeNeyOQ
 9pTlP5U1RSiUcuUAoIKSKr7/CDqVEaM0EOd0yMRNEv4siEYEEBECAAYFAlJVFrcA
 CgkQjCoKrXja4sjXqQCdGektNmG4n5OUmTEi35IE5zea8wEAniDrm32OmdWmqjrA
 6dfXd5faEMBNiEYEEBEKAAYFAlJBjvUACgkQFdaIBMps37LWEwCeJSZ9UDn2oJO5
 iSIdqMQOzn1a0rYAniOIvZ99Ufn/Q/W5xyP3ngVYMz5XiQEcBBABCAAGBQJSRqax
 AAoJEFF75hSlwe7HjycH/3pbaAtf8iE+WYhk/qwpZGMDOIVRLApGxlNHBWVGTrL3
 GRQA+2IBEDTvbyeVmcDjzpD2oqoueDG5poAoLZ6Tyob58pTRPTrDNRmS7p4LxYC3
 3UDmCFF8Hjh2wU/BCN/C7011bZD8CsH9YPMraFl12HVl/3fFg/bD2H9oqJlp25vU
 HURFQjZNJzSWqOA7TvDeZFeBRbIHznun8vviryuo6EPYZaYr1pFj6PmefDicquL7
 vly/drSwF6pfsLX7dcyrSE34bgN1mEXJQQqNUafWmhEByDLBnEWp6RZeHFZIKrxW
 pODZEiUR9froFXli/HG2yyVcBW6T5/3raD6BHDjtTWCJAhsEEwECAAYFAlJJfqMA
 CgkQcTWO1j93QHncNQ/2PIHW/HiLnWGSRI6dcX3fOrqPKy4dFreaavjbzOovzSf3
 Zx36sC8/UKjTXP2Pm6Tuj//nMEajI2OA2yDKVR9heX++YjT0zP5R6YpTKVyFmcnE
 2IEE2ML0k+s9LXLS5m7Tm3CJ7g2Mm7JMX9m594l7z4svKLdKJHnYr5gS6A544HL6
 b1F91XmJ7eWZu26JQbVO/yCmJh5AZwH3E53Q5IlfzUq4KaoldqdyJ4emQENkI27W
 jwgK7tmMcmePu2da6dJ8qkYD+/C2vpDvC8FOYzWAgtY57Gc2UUw6YC5dwLWudd3v
 PcTd0X3t9/2LnTeAukjItRlFic+gBgED3hEnV0D8NsUynynb3ymlHduGlKCMePxV
 UBbC2E40ot0DtxUfit6jTje/7zsDqt1L+aVdv5mf8/EXOQkbuKvas43/iZFoi3Ha
 QevRM79uWRD+DodvR7nRADeusLu1pVmfUx5QBwMl/IpNqd+W+z6BTs+mVPV0Sor5
 TUYQtROVcUaMTJKHqrT8zVIqsBqG4JOLLLynWe3lYR0gw3QiA3bvRxiUl5iFCLCl
 1ojyn4SXLnrS4upmFyhsFkKirD7STXu5jt4MyoqfWVM6Z2zWK249a/KnydbGgFOk
 9ZdvGpgfGaOgEoSKDPA/gMRAlxv8GN+hr0IypnEJgeLSZsUvta9ImCAlgXooMYkC
 HAQQAQIABgUCUkWmxQAKCRAmSeYoxdNNBeUhEACnpANT3BMeZJ0SmqE3xT7yvwte
 uT+Li7Jxd+R/zwU0IJyi3S0bP7wEUXIlKZyHUOI8bfOufeqISU+MHnnmDuissaOv
 ceL05a/U0JX2kJ+MwibWFjRcgqhLNTircLgFzQIR3wNMsTdEi+ryxuu4Ho6dLGju
 AJiQpkrHR1Y9ZVkrNoHYMEuov/88IDlDrTNyudGvzjlu1X8GJN2hBg9pun22hOMv
 Nizvnun6qnthfOcb7UrSXArOYI5O7NWjT8wEeFrVvhzFmQE93DgIl94cSnfBf7Zk
 fRieHzv2UNZVoFXOS6mPd6/ziSvZWZtjcoFobaUfAFAHdL5NpLeNjUmomsLX6a85
 U1rJYovGeoJ4s+sODGE1kBm79HNIXZwLaRb0QQtxgsJe+RQxdMJuM+YUX0bhY+9T
 BEd6Hb12dz0Ehwse9l1isg04dH9DuKkCwgl1wEPOWhW5UO6DSSfX3HSyBQkp4tkQ
 glq7P9Qyv46Z+cSIQIGLFfxwPRIiS4Wzir4a1/XziXv0yjOQf+qlp2mImacZFme8
 5j3csnJy84R8RbZAKGgxAf3t9tF7eTYhcK/lX/uDK/OJw7pcq6SBMlBYgfpJG/SN
 Suf7fEjZm8L20hLC/52zKCk0A9SH3DIW+pB+UB/oe2/N3Lz8nsknQCtAcGTn5CVj
 +yGhE77GpmpBomrlRokCHAQQAQIABgUCUkhZowAKCRA6RRbzUYPOSKCzD/4qehTd
 ex4hMXIe5WIOGVg0zGXcUPvZaXWt9FN0uBTNOdgPwNLhGd1e99+H7cWqpOlC/f/l
 350Cd175VJrYNcy03NosaB7DsCIOYKXsRfTtBJ8AQySC+O8gdUA+S1EsIskO2NzF
 VPJxTlrpXEyayuwov3EhxDtRECfGObOvFlOdO1VkJU6UZocudNCCX9728SDqDPme
 gY+IXvNZO4UHsSMalVZ6yL4V7QEM8slxKBdkw/1rK+K2X9Mq8WjP3y36Lv3EuXEl
 LwjIPE7MRY3HX+ILphpdw9WTKbB7qjCxCtroMIjeNVmkar6ueuxQe6YsStfPG1Y7
 9QIgTzc7v7HSBrVGECkZRAvBMuoL6Gz295ZvSgLpm+2lCPlEnreGmwavfmDiCLZS
 LaaWzWehL/hWg7I9N36zoAT5U0viiXA/Pe5+fkBt9hciiRcMJK3AD09LJ6UwB30N
 iCjTVNBM8LzTRrM3xTGtV87O9vH/QpA4QneUfuLPiibtomrXicTvaCbse1l1trD6
 ICeFFQMLy42DQZOs3zHFRrADO+L7ioYPNuKm4Otu01ju06Y1inMi02Rug8FwgKjY
 NzyLPSMJr0hmuqi7jat13wkoGKqqiaqZo5xw/VJagW1nXY+UBNxCsCzTHlHGaGWs
 K4G0uV9zj1gl+l5e0TCwF6jGGEvIJfBmgUMwEokCHAQQAQIABgUCUk03HAAKCRBN
 oRTlxKLlf2ikD/4glQzis/HJpvaOOr24E8tINMsBRwJ7OazhTaKCOaRSv90RUh/Z
 o4cPhOa+f6A6baRqSCA/Scu112wF4qJislSLLVsjCww4yOXNsu5xmnsFYvedf6tU
 +Br/dhjTB/oxVGFWxvo8oIddIffALwsn9+141oIPQJ8vA6DW0YUBDW4Z5AKO0zfc
 32qjB6+spJSEXhD8Hk4yynUU6Gu6VLb4cFcSA/hvqWTqi06s1460P4F5BhUZJJYW
 k+ddjfJ1Sj/skVofIWS1b/yUB0a8hi5V3RzHplXl1fvxN4NERBWgjONkdvheJr0T
 eGyGUmlLU6fFjYKSJ7X/Yb0O8don3N/WEW7oQbmP2DhzMEDn5kPnmjDGfBpc/MeJ
 Hcg8g9f8ndvm58qOyGdNOX3VAxsTk9T2d673E8APhl62QYvbXO8ezfNEb/4a4MCv
 k1Qyfh5eYTN13MPvLmdbA9p55uOtXFxTQsGasoynsNQ+oG+9ifzDHVDu9OSlHfKs
 oWzLlLZALosH43ClvcE5kZFCDn4xDg+wgga+tSF/kvEqTUYJzCCd+59ktTO3VZ2p
 aRSEZOfzmB2zMI6A2hurAjnTEqXm4U3zMCgnRoV79uS1oXuFW8smP83/47wzh3XM
 cV8F7+iVtOL/hKt2NnyD953pj5YpPVSvJ8jexCoFC8XIpeB5awXWbDgbDIkCHAQQ
 AQgABgUCUkcDGQAKCRDxxRazyDWXU7fqD/0TOUSYtzMaa6tpJKRKgP3tcHQde2Ef
 yw2g96BAHhWTzxvZ4tXbtbRDQ1lyPVM1tqOZLZFAd2HBG/81hHcLLchPO8B2cE57
 qtaeFWQSvXAHko8wVsId663ofWizMlJSndm70/zEP7qcTTlgqUcAaUd/emjZaU/M
 Wcj+M3/awWBXWyRcYVfRuq8IHwEB/FWR0vHBaec+p8qL2jfgqoWx+3pSQ/7uFgDt
 8pfz5jCXBgEKfVYPoNWqU4hwYBUIdRlO6JVl+GJnxh6orA/GRwpy8JsGt13mi0LT
 vFiW/bPL14aMhiY+E5TJRJMgJTde9w5h6NnXT4mBwXsVUaxlsxYLTvw9Kp8k00L4
 JvWJmobgQBC4XZwN3bgYdcIGxs+YDHpL8xliW0ZhLa3PZwi5SMIcUsZXTBtsd0J+
 WvhmWKlyKUtNDTDRcXLPfPMe2ql4ZXyTvdY1n+gG5CJszwhBeSofXSntE99O/O4T
 wU5U3uciS4dgFEdlFcK1ql+0L9r9A5CVRkwSzTQHysH95aSveQcf2a7FOeNmIRxI
 z6mj2/bGFZmCpaUKV2cUir3eb52AiMwa5Wr5vz7T0AecRUQY90d5O3yFRzS1Bmd9
 FgZXZUW2vgz/wUzK+y8VK0pF1z5eJbA/2UCV6cPjdKD1Pp3QZJZl0jErFdE2AGin
 w8z3ge044BP1tIkCHAQQAQgABgUCUkgP+AAKCRCL6HmwKHMeHIp8D/98wT08IjfI
 UxwCwRPiTj39Pr2aHV7e+qF1IgDuTfU5cvZZudnCsIXY/kFivlrpafZcEAee4R11
 zkrqXXgqA+kD8tTmDKW7MDQcBX9GybJvzNuy2qJ8fPrxFii1Fq0BG+OIoGEHifXC
 DGXg0Y5j0kH6Qpc2J7I+Jg12AIOcI0l5feNJ9AJ0sVZCKRvxN588mmm/xty3qkc+
 drBU1QCOyyGZYQop0CpZIl06bP6t7McZkFmOS0leW0VIrhHpNZaHuU0Kdihw13lz
 FFcs21Q0o9E53mN78aIX3f9hGdfflQJ62ThxYHFVfcMSFg6gfD648aq5+W87KhTG
 egeKh3EaEx7Nn9bDwHY1gHw+M70H1RCbOYDVlLH/KQubzMBWVHjDRr6/jIrUGybK
 sW4xtUgG9vPowwLRljdMkJROz8o55Rni20tdud2wash0up5TxlekEk854kVB6CdG
 ueNB2EjB5KKXcuNB7Usnf+S5DMtLGhuHqxxz2M3reirijdMNzokDDqCmuUCVPWGa
 0kRJDKqZ227JcsEEunUvg8rgKIyrz9DJCIxOI8HWLe5ptQV+l2erI1i0gz1j5Y0H
 1bOH3/s+7mHLL5RjEwaeewe5ipGGozPQN0lHMybF77PjxK5IONx2c+5ErajbJqBI
 Fu691l6AXkLaXzhG9WknuuJMQWqnaCpz9YkCHAQQAQgABgUCUk2ESwAKCRAgtw3h
 Px0eTxuyD/0dJQyZktPYktt7ex1lMHYzVxy1smaKSYrQ5fCbfEokp397vdQBksFY
 2Un5uDLHptDuUF8a7CHrt8x59CQskUFxATYMqhOtcs/ffRxNpoDIQj/jCu3tiQp8
 lOpTuuu7oURNAioNy99/h+KGChrMXGfcntacy0mWMcZEM2BAkxZSpgyvmj0Miyos
 gIuRTtoGESi/r3+ddNtkrv2HwEEspMdCMW2rAlfQ1Rdr2VqdmfX93ielsrA62ipt
 cpa6Gm+YgSZPvkCqMpPzLCY9KsTyA7j56tv5SyDkXQqaPpRiniS7TcJZM+Mvgjs6
 Y0R5S7oj1CaH3JBp3fQTEtlWsZb1lfnbYmkuTKot8vgj27VjAe7LH8BGCJRIXlBI
 D1YjYyGy+HhAwpJXTS0lFH1Y7pnALCf73VsiGUjfOi+bqEemUG9Vg1EWSHJayMDD
 ZAoDueCOd0W5BhDbFEnWrac03ysaB0pZXJgubOfHZbcuoUOlSAIn1/I0Nam8Kza8
 CTChsfhflqc9AP9D2eLAf8pLn9u4LxWcmGbI7wUQBQR/6l8ogFUrAU0VrIXz+1Tz
 dx+zI8hlr1zlTfBmFziIJXEsWjkVN4wVfvPPZBNpjk9BJr5J+4K6UWH4sfMX189j
 C7OHPTtq4W3dj4ZtLYyayFDtgKXFnjUSiUQHNsC8TRFdAbnwHDR18IkCHAQQAQoA
 BgUCUkGNoAAKCRDtZ+zWXc9q56qhEADqdjiJQjZQVzxo51hJrnEkZjBBagdvKXvw
 On0fYcfuV/C8ATdBCjVFT/CJIpOWhWs4/G7bICMvKZfqElnfgcWAqDyOG6z0/4Lv
 phioYFmnUmSO5EHPHRctQAAGLqtyT80vDi7oH+8V+dqnJ7J8ceBJiD3j47QRYP+K
 Dxrq2+qC29QroGyIquUTvh/iIE80pV+TYpxcHvcFU3doOLkMoyOKXrzb9CTZ4Kb7
 Fv/bFzhWydguzI0L5REpgmxScSomD3Ok+IxUc+bqHVKaPgUJHSAQegrL+gxXzEKH
 IZ66qoAIbp5iEf//rZCbXj5XSPIv7EaoEltN/A+RBZu4AijHqz4z2R5L/QIgULNc
 9Ch1PpsF0cBEBQXlx+GJ3+goffQyd6HKqqM3NdhR+kxubTX8KM35QXb7DowcI9eY
 drzti1UuVxFyke0S5NYiA0KXFw3ZSB8f+t+k+Tkwf0/vvh8xMxU60aVvOGmT071m
 cRysYKY41x/yoGpIyozh8PoENExDpIgZfMh57J6Kvhqf0D6Om6guJ87QRHWRdTeD
 M3wOsaWMqpSBCrSJfz8+zo+uJmq/Z0wTVxDMjfsOv7LxjD9Sq8mnXlA+IGLVRf9q
 hCIV85gcu27T1tgcAJFQFLi7gdVTZAYCffYvlUr6CeoBYUgQk+t4zBT8EQe3ym/N
 /RYSsC4yiIkCPQQTAQoAJwIbAwUJCAftDAULCQgHAwUVCgkICwUWAgMBAAIeAQIX
 gAUCUkUlTQAKCRCSyENFbaambi9RD/4st/lSt/2qJvb5GhrLpArbCs1yxAGd/oHv
 AEcYkFSeayNSIW5/0JRorMv9cy2lAAVOEIwEwFqfEtj4hhM2aH3wVygmqCLph9+U
 g8uTDwDnzzD7NNZFqeJGtsdU4X/aIZ4SbsOpsDkGQ8LBIULpCDYE6HvqPlH15HC8
 9qUiSQHA3p2bswxDWoCWgVXRt+R9ckYKXz+hfyEev6T/J5PVwXa5kKFQg1Sro5l6
 km3NA1eJQPEJhfkkHSHzNxU7GXCg0ah3IeAe95v79sS5yqh+JfTm/d4gJXAvOf/E
 Y17G4GdVQxkCu6kIfTy3qDBoXY1Ot89Hs2haDSpoeMNcxiYiydnY7FkvnRP1QwZ7
 k8mgoYvYxjzlVo7JmAHpXU+uXqwNuB2Lw1c2VSHsB6QEgVF991u5yqHDYSrqahr7
 l4G4jcQe5Gae2YlP5iu7jIXrKbrh68s3XyDHczaG3UoOa1Rv3NJ5RPRJ9kU9Mo6Q
 dreEhia74Gxu1PFloMARtx7/xIOGyDsCCO6tC3HEm28BpIWs7JqRRnLUqn2Q7c0h
 d8gjrHJCYXUvtos3mQ7UO4Ru/b50QANrbS6khZFFP/4y+HNwBVZuQH6YBonxQTMx
 HZNSc46TkEZU39uxe9zG+ODPkVjQ+GDNCrfjeLS/l3NADvKdVGKtXIbmv7kyVGRm
 MPp54yPLUokCPQQTAQoAJwUCUkGNEwIbAwUJCAftDAULCQgHAwUVCgkICwUWAgMB
 AAIeAQIXgAAKCRCSyENFbaambh/QEACTVHAkIWhLJiodU9B+zZxyXk+32WAEAHgy
 /+vBo20Ik+zLM180bQMm2P/VOSE01t++DIfdiGD0Jq9c7MitXjMjFnUHqS6I+QFO
 7UHvO+Et/GILBztmjYUNtvH7KMJwsCBL4mrOak/+FmwUWkauoHjFgpcKx7Mi+Abg
 MdlhJDTeJve1PT9P3GAoYgx8pT1NdQNCko9IssJBqYPpXqNYTs8qgQNMeVN7pfMh
 9mcWoVR7XRLWIvvXLfcLZE26KIKg2xCP+5TNmWjCPievoJ1V5MHEFwvNZtZsGkwE
 b2EOgyz0QTSaljHT9BJIEL99QEMSiaKl9+QGape1qYYgtEtCJlwM9WVeGUzD+kpY
 E2eeDrNMC1lmfNFYSwgyoqAfsQ7Dc+bVndAsPmfpIfVzETlddqF1qmeuAPMzuSme
 GEWHaODiDpficIh+N99NW7w82aELGKMKUkii5FYkNL9rtKc3cCShJeqBusDxzAPm
 q5FY6MBYtlQnU/EGbyoyXBVAfl0ojLxzpjV6Jyi8wybrcKn4/Q/xSC+PK9UWKn7e
 g2FUY5Vp2qjqjaiFeaAcBzpx1UfyXhPSewRmO+ihDM3O8WPD6CRWJJW1Erd722hG
 EmwJj6HKvDUsXhg4rb1PZBvXdTakL1Kio3Gl9bQGmYzXmA++RITcmfpDjnf+QPM0
 wWPVufdS67QmRGFnLUVybGluZyBTbcO4cmdyYXYgPGRlc0BmcmVlYnNkLm9yZz6J
 Aj0EEwEKACcCGwMFCQgH7QwFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AFAlJKvKkA
 CgkQkshDRW2mpm6HbBAAgUqFyfb2AyyPKybilt4h40OJdCrPIh38A/x1pzobx1xm
 Aco/cNra5IjZPIQmnnu/y+EnYz6oKw0z7zU4hZs1fmIiKY78OerdHpWoPQjd0i0p
 02GNE5nLFH3IWXUCRaxMncgT3gO9VMkQafjxoRkB1oNHmo8UqARsPauFlwa3Wwv7
 Uha7n9wGbSeSPKD4b8shDmAA3yjPmV4qrKvWcPvbvtCJPYeYfbrbhwYWuTzGzPx7
 RLMaIhVJ685bO2q9ciqCUDA2PjJqT5I4cz44eBe02n86Oq/eTQibZi1OjxqQD/hn
 0swAFSfvYsZaP2o6dsrRyvoFbDG7N71EbrHqIK1Q7zLMqC+rPMQbIrGa0mlKSWiA
 LiZj9DT3CvmJwmBnobPvaNN6ifvXBZoKD7fwByYHizap1P31wOEjDUMiMprFfKZP
 vnWnvN4Mw1enmN5qnmX1GZAfHDE78emdZmtkxfPU7BmwWYazwo4M1kVccfWL+TMk
 wPHK42qRzkPx5+wzuPd2YBN/P0RN9Jq+m/wx2K5+ITXtwT1g+NIoUFgSf9l5EGS2
 vMUJ70rpcwKCTrtc9R3QR34Td2M5MmaWyiRja04oahbVNqFWKJpG6/JQqtEOiA8t
 Z0lOqsXC4apodapIvQ78JTaf7t9YN2n3Y0My5We2pY0HkqpFOGMFT/nvk5awXYOI
 RgQQEQIABgUCUkqUtAAKCRDbTMxLKjDXKZc4AKDof1BBnK3ooK9S9JD9ndu7DunZ
 ogCeLd1Yg7GXaQBTriK3EzBAU/5p2GiIRgQQEQIABgUCUlUWaQAKCRDYT/Z3Eu8v
 9S4qAJ473fNQelrsB+15z7aqEKU1c1GOtwCbBtLQ4TbPeChoH2curJv3J6ZYJ3+I
 RgQQEQIABgUCUlUWtwAKCRCMKgqteNriyLHsAJ9ysgwLioD/Se8Q8DSJh5Cb0+ym
 OwCfWQD3G4GS249pDnKedr258UJCA2uIRgQQEQoABgUCUkGO9QAKCRAV1ogEymzf
 suNkAJ9Blhmc6SSICN1D/ir7M5PheFt2qQCgmof4Jj9hqkj89oe0bUjXCR/UstaI
 XgQQEQgABgUCUk1HyQAKCRBRhQlobH5egv/EAQCWIlN0ZuzbiuslJDE+DF1LissJ
 JZMAwkAdzeHl2AodhAD/d5xIjVDkWyWytbAGuJeUGlDq75JVgwh/hvUTjUoAt7KJ
 ARwEEAEIAAYFAlJGprEACgkQUXvmFKXB7seCiwf+I3/2Oj2pXHOVvwmYsHRHeehd
 CLwx458iKddK2m/K9JxGvQQYqSs3bluwAUmmm21Ebe9rLWS2MPVk0tMCAvEInbGA
 PCJ3ccm1v8DcrzLZKkdyEx5Lca3HTZsn78xjF3IR4KOEx5iBQ52cOAewOUiBDLFB
 uxekxu19jj4CjQbGFWU++8d43xF+oDLxEj3LTDWCi38P8pH8M7Pho2TWuBm56tEt
 lZrZ2HK52iE9Mn3LjIJMhwv86HQRtbjSQztYj06b0NqFAcBJ4/wTQFR6lv7QuKjw
 FSY3s/Yh3Vd1Pp2neJ6QrAIlljSJBCdFDea9+j9P6Wv934SiM1DTIFgiEDvWpYkC
 HAQQAQIABgUCUkWmxQAKCRAmSeYoxdNNBUfRD/9QENCPmuViH2bYiybKddQ64iq+
 GfFqgYdMo8jgF6OFKgb+5GCpB6mmQzJAP6gtTHUbloG6mfJwX11NLFWRlTSObLN1
 V7jmaasEHlT7nlnlQ/WyEfsXuRLkTUNNBW2lA7lj6NaMuqUzyCVxTr4eHGH+xF8r
 P/ffwAUJsLFe6RJDBF5ZvBc43HISmYJ3QQ3FV5fg5lKUYc5/A7yiu1ra/N5Z6EqC
 R66rAtAhBVEae4YJYH3THWs984kR79eVx+vgiguzoFqJe5kBEbjMqig4bATLkzpF
 kz2t1sj45vX+LNE3drf7a1orAKDg+4eqW06pHfO9CgM6I6IKKm/y7kbawo8hFGYL
 k/pzm4J2h0MyPEiyqKvtcj7cdKHYbGxfXEUpTdvNvpt6EerCzUozqVgPFLHSUkRq
 L+af4NvDu+bkzh/wnrPETvl3ZSQqSaEQ0gYVwFm1rqG1w+8ZIMOjUg3EyULZWmaG
 MuFqmsshWmWjwANzC4HmC58b/wgSLgOpmK3L1nbv1oMXKnTlScfGATKietUddtEt
 wB5ItvxHox2zutNqF+E9/SovvQ//YvlAB5Ps0vAM23u1EeGtaaa6fpOl04UkArgG
 uqn5vIileYm6Xsk/g82Tv4pWn/GSnp46x+YpqrDW5D/PJWv68uadEYejvYwcsMR+
 MH6eNrdJEP9W128CTYkCHAQQAQIABgUCUkhZowAKCRA6RRbzUYPOSNpeD/9TQRCY
 OgEisIrCHjf/Eg1z1fCg2Kb/5VjjUDD4ztGseO9xaYPr8c+IkivSOzhrleKils1p
 12/zL4zJUR+PuvD5jB51jX572sAuWshw/WtKTk7E7lSLnju9A/bjuo+QQQ25EY+4
 CyBupQosvOebzg1EXFZAOfr1J1AGvE0pXI0+Xh/y+j09IjiBwsyeBgX81hNd8pSz
 vZhG5oDJDCzBwfO1ZWO3WfIfYIWO6Bs/b1NgTV2Isl3yrXa8u0+gIuOYAYrUYLtU
 hysxenqaBq3UnBqZAzNo6/U4SgerGwXTUP1YxWU/JlPjaF6tOAEuflfHGd72QP6x
 qxYSdymY01ov3XL5tH/aJ8NH3J5bOAUrEfmmTMpHxRQJjSfz/VR42WO5so50N1K+
 9EyQFOzssn/Xg0jHhM4oDeN315lL/me8Zqe8jzY09IsQp5v2FwHd/iXSaJs1xZUr
 cR2Abgg3aJSJtFSZrEUDXu9izqaqGIQkP8gqZr85pYB0c4T9f0fKJyCwulcvUxKA
 C9BYuIlWRHRHPBOGj7WzgeZUjvkfPx6CkJkvUMABKxzcDcYdVGGtrKZ5BUxmDXpd
 2yXB50JumSfOJaW54/ovANWfVvl9ENqliO/7mpJbg6wThWVRZMsA9fw9ilSLMzKE
 Vxyrl4ZJ8/wewkD4uINh9L9W+N3enMfYcrA5PokCHAQQAQIABgUCUk03HAAKCRBN
 oRTlxKLlf6waD/9cp8Rogi1B7K/7VetkY/8ebBbBYoEuqt8+wHz8Lk3kIaBwhleL
 aFr/9zY2BrnqYJUyZotlgh4SNThsZdPuQM6eqSwBFu/7Vzoy35KsqVW33SaT9lxv
 iD73TBCEcAPxUR4RRbQK44yPZgWAEz5RXP2hup2WCbv1ok8SZYpBUnyIAJmQumMl
 EbuE16Fi9YoGQi2a+D7OrCDY4mxhZsbIl+3LEhS3DEqswjnjSmMLSLnj7VQEte/a
 fMAo/IiMKflgpYPKMnVzJ2VsVdYZ9m/Wb3/4ObCbARqHu+jLzAL1cUqiyy50Nx3X
 w2NCN87ILszqfiS6gMEAkd9zaE+xJnbMxgllGEhNp7mcrTEdSddjSrHxMyoDIBbr
 i70U/fzhQtf6mqbTqpSbYe7j0vQcIowxeroGztX1eO+5cwi5BCf4fjbkEmkynSP1
 puo2hqP13pYoUMO3OiNTmyeVjx5ZNLrwJy7iBwF38eYtAFcF00W33ncN3ITqDvFc
 rYSMMie9LEEupZixAe08Bt9lIbe2OkvLKqKev+8wttg+RS6L7n6ID6tG4y2/jm+X
 v0xFFSsm1FPXgb3CGvSVT0esB0/giuLjWPtuVQp+UKKmnIixgT4dPCz2q2piVHTQ
 8AlleEko01YaArfGq/dRk6n264m0hT2KdkKEXmnahaI60g+S+CUk5W2G/IkCHAQQ
 AQgABgUCUkcDGQAKCRDxxRazyDWXU3c7EAC08ACeEVo59VywoiBAiOfe8SHrCDvl
 yZfw8rnNcN31rPPDn8S8hPDtOhsIE05VFln/Dw9MsMv9TM2zfoqUsC64J4ICItpa
 Grh6R8ndEBeAnURkLRlbT50gyNcamIzAa+PM+hevdrSbUa5mpw+beZAr50b99Y8W
 UAsHyStYQFFj0wnOiQqzyI7K8AceHOWw14+ThR37tCJFu0srfFVhbMfA25VZKPBO
 ipM2+Q/CQ5AqTJTm8b2a1fzny51vADfZ303TZM1G9tH44qSJ5CzaRtJOggTNUxyz
 Cz4FVrE2u8VebtRhkh6Z7LKzcHnzt1jThig1OMtMYijmdIBQah0rdNgq8viXIAdA
 pdtOwoffThXSJveqb1PrLDahcyipq0I+oPbLFaz0UZnCc2WQNSJKSs3ofV3tIRI7
 nFKBIxKbTgtFODEth3/gyNlFrqrZrrLMY6vEIEkdI/PlH3wvAEHbYPg6ydnURpF5
 XLXt8Y6aJCdK2qCO96wnNbPSpuIOv0QxjOPiohKNwlrilrlUSPs5hh4lHzODepoJ
 6veko+f9rNiD+5x17vb1379CHbnmldK6VrGqFHvXB34xqZ6h7KfDPLMt0ApIGMsd
 UbDpiCN37Aj39Bf4XjFSc/oQODQcPyLU654zJCgPUeesGMbIpmVj0RaLsmMs9d33
 TsXvhZCiALXJ+okCHAQQAQgABgUCUkgP+AAKCRCL6HmwKHMeHDIID/9OvkCB14zm
 r+c0WRG+q8mZ+cU6xgbcMAqFP5aOCV5gZPexuCV2je7lECPUhtMlhUQ2STNEUEhE
 HZUsyl1P8yEsUj6gk1/dtQKs9Ic5ySnj2GVXGptx6EmSmQn4NrGZSOvRvS0zpU7H
 zao/L+p3j3VgbFmFowm0GNZTp4voTIWcBSqWdoABDYd80IlLi1Cztixf6VnZ8Sb8
 2WXsu6I3K/sU3vicLPpZTtc+BtVZ9esv/ZloQIu/RQniG2s6MnaRgj9iqThzYhVk
 UZBpDCS/VES+hRBxnpiAiQte3Lax/oQPrLGJDUWrQoSNjZUe6F/mkz4aBFDf+zLC
 rY6qcD4DKsTn8Nc3bwdBCmuXDWw3J/qsfPMlT4hVdVpBrcpt0YQnjQvFp7b9t3hE
 xdAeRw+ij88vAAgGKHDWAspwCvOlEoYT/18cSAh8Yoxxs9IIPqakfhyvG2wQGWtG
 8yHKdd/vrnGvgBmovlvwcDpANKkGzPtuxw2foWzTaqM7t71GnkZzXJjyoQs29Yvk
 KDSjaltiml/0gyVjCYIkOvWheKe4v7iO6oAw/F71kwC5R7NuqK+OedVGyMjHZrBH
 Ti4DggeewlGd2dIDl6x/+ZmSX3L2acj5dzOeLa0sCnc7jbEWp4aBWXis+x98HQlB
 3Q3FN57mXFfIZTKeScdMmgDiDN3IQ63KHokCHAQQAQgABgUCUk2EUQAKCRAgtw3h
 Px0eT4BeD/9nqEDZvyGZd0vrB7uUWAZ+EysGFdyXgPSfDR7ZGShSLMSrxhT0kE5c
 m8T50gj2sB3FrRSyb4BtQY0zUkPWWqtd1hmpiG5CWh94QzEfpWApYx9YH9kt7q9x
 Hc+KgzPe6Vkz8u5DrgqTToV62u7sLNALFEGvrVnrlna80sws73gK4cqhTNyf6MVI
 z7uVng8lY+h1pIw1YTdeg/2celRstGvlZ4AKHouPO9jQskl8A0H5wGtnrRqKN6Ze
 X/TqEuwb2fH1ZhqVukSOQIWUEK1jSDzFxq6aS9QrxFXJ2wZ1TLmTEOqDOiBA4GQT
 I8Uii0vl4NQStYQ2FLgjWgzWjVapcFIJOJeouz6+zzDDNNfSFg1wVlq4N3mOyWtt
 Z6vm2cdcg5rJiApH+RjOP6L4njKEkbOeXN9FUNMWFk3tgoWxFQjyhP511e7YdpJw
 RSWFsXlEPFghUKk5w024DjH60lv3qy8FR1bEYI0ak4jIZdr4rn5ovMW1jq+VUTFX
 YLeNA1YP+FCh5MKBrG81YYy/0VjpdfIHUzXB92X2dYNSrYh9Yf3+mCbbfSypwxOQ
 XPirF6oCCcuixzyS0xXH8fEvm0tvzjq+moOndu6uGH8Iv1jZBHD//CtSNEiO3KVO
 jYuTPD8iuMdGCo2Ziw80M4Eme3meVx+bOPUQJAGEf6DjVQ8TBZw5nIkCHAQQAQoA
 BgUCUkGNoAAKCRDtZ+zWXc9q52QFEADrdv0y0z8XM9iOHlsIDfXlTs78/EoM73Qw
 lZm9hxw/A2fUCVVU3RLEoVn7nUHrytINFNN3rHkutd1uOI3YD2qr0YLOE1FWg4ve
 pR+f6YazWF/zIc0Ox/E0ERjmqf9SVNpHIENIRJ0fUR26Gm9g+JAqBWCSmxkI0/zb
 eAJ0z6Z0aVIvZLUd29xhNoxBosBewxpvkbMq54W4+AY/YINGLJgWOq8hRff9HXGz
 GgeWfbo+6YsZGTDMocI9Cj18Z2jEwtrx+HwQGGUZUl8fE2UWkOjQUIqHAYQIiIqd
 ng/iKqVxH+yB6lowNDkATYokrKToQKk1//1HN1IudXi+M9iFo9XXhl6pk/YVz3Tx
 B2vanIkMnG2GvBNsdjjKBYYWHkQ8hZrqB6+KaAqVCje+yuJJrjrH+VR8DvX/TR1S
 dB840rnAc4sPYLTbn+aRbtDBeucM5n+ghzSlO5Vd2+GiXpc5d9k3riGuzMb5yTPO
 nlmSlFy7nfxf6OcpCB8UCgzG5VyLiviVQFfjDFD9Q7nr/JkYS0V3VkqWPj8Z+uGN
 Mp+ZgXCOvZJOvWthjfNLSq4+k+odPupwFto4NoVqY6O2wymZGMMo/i+ZrB2EKUBt
 F3RSx44L6I5Cp1kZtDKBiQORkurdEC+FqenePpD6tEM6YwTfN6HWkNvs7cSmLJyj
 4zvsu5dUnIkCHAQTAQIABgUCUkl+owAKCRBxNY7WP3dAeSCWD/95TXNsCyn1DOMv
 Ldfb+gcI1LxDNWDn9CUdnYBsuphzXF9HFPB2TdHDAxZW7P6b0pzEjmmNtE6kcivp
 K2fy82+pYqsmRB7aiHgo0zKWmi0KBz4vKZIWY4Mcz5foyjUHHvivnzmBUjIQtrNG
 DaAclO7YbjSamm+4RDsecCbHW7R7gb43cUOcD5YXfyAeTmdfxV01mG6wfL++mOlX
 Dp539AN7SrfEx/vZfEWj+lMoqLn9nge+L/hCRmvIZXxx7n0LpagNXd02mhop8Eri
 hdUfEtsGBioEV/SRTlN57KjXklVsDUHGfW/fuI9Z+cFYmeC3IvJQnN8Ci79HqoUs
 QdfL/dbS4Wns2nDDp+5YAPn4zShgMQ9bCmie/UbGTmkBbJ01fuX1dL4UC/hBvQ0J
 Lf/qs9DYURojcUxBmrNQokamrYEDDXCe5BAlWgGMAH2VrL3JLRQhsx+ZIbpRJE2W
 WHIBbkO8uE2dnzyAA2GXWB1MHvBeyl0/MFN4lv+uMwWVwrqZAlMlllVK/zPTwwmV
 z8lKaZJ2u/YbcQK2f26gr6fTEsV5PCCVtn29xae3OPIo48wQttm1JupZzIQrz4GQ
 PU4/DEJJPOgcIgrmp/x3wAUJLnP95/3reAiSNLFXPDO7S+gOUJsFBsTMkw+cKgkp
 jSsNsXyalXn9998Uu7aIp0IjvhCOD4kCPQQTAQoAJwUCUkGNOAIbAwUJCAftDAUL
 CQgHAwUVCgkICwUWAgMBAAIeAQIXgAAKCRCSyENFbaambuDmD/4m+yFMjC1BGAPX
 B02lSxNiCEyD43kpUsx44p38W5PamIWx5271aibeCRLpYfF517c9Zk9vX7V360hk
 FAUjDMOXiBhx2ETMVfLdNBQXuon8wqsEH0CnxaXgxjgwz99+4TsOEzR3dlNJFgcU
 7IZ70wIckkV+Xs7P3JYJfjHB9YM6HYtOs0DsKelZxyduMxEQyiA2/lMIrFznGgx2
 4aeqHdMw2vTaBDZeiuOWBJew5HeDeQmrY0APKgk/ProCoC/xPH4KM6jYl4KZIF0H
 ionceW7ZaAATtTBjm5WnZr+WrPcvoLth2/QVRCgzih2h7nuPQYDpwAuc6IjMWfmS
 qUs50G0/7fxexehTYhbYHxuPubnGE1/QzLnncqppvKr+yJMazRJsdBP/2rlyBpnZ
 QMgqMth0bu1JVh+fU7g6BjCMCghJOMiTXoiYIjKl9RbCAay8DGHpBc9UL6NM57fx
 SL0wRi8LdRyF85IBz0g4+ll/dzFxNTO/6FmhlzHHuerFDUg3nedlubxNZ+JEkptz
 994vFOr150AdG5woyqu+sLiY0+iNTHf1DYJ9kKm7RF5ScRRAxBoTVJNepKb/IN0c
 HJXuOXWPdeCRIjvmq5/a8glJ6ByND+1ZdUsm9DEEUZ/4g20gU54vqbhLJYA3fHSr
 S1l9PVsKdsu5Rljuya/HL2kH9tRZD4kCQAQTAQoAKgIbAwUJCAftDAULCQgHAwUV
 CgkICwUWAgMBAAIeAQIXgAUCUkUlWQIZAQAKCRCSyENFbaamblwzD/9PfIruM8/n
 Ic9RIvK415K0R2tfWeff6xtQkJFU95SkWtq42KHi+JsAW1vEjCfk/yai//Uiu+tu
 o6Q24Tr7cSIkIEvZAifOTkcCo4HsPi6o2pBaYD9aNXtLuRUpyISiW/smqtkV8Vcj
 TqNuCbSLhGkX4vrJq2AmnhNvVK5a8X1/sxMINrL3yLhcuSD45Y+W3FQjAf07zcw8
 SB7VbfSZQYjC+78sKQDJHriv6hxAsob7OdadmjoixxN+7sjc/Nqmk/gVxi5ah5kz
 nuN2/xUCFGhyp77sYJR1Wx/GS3gYXfmi2jtr49QG1coDP/RJflFT+PAsP0v+AYP6
 6I+mbnp1NPmWUU+JuCNgAUpJRxY0i+NM9vua/ayrp8h/zb+8FGr0947KK+HbEF1H
 ZwQ8RCDWcuuMAWgSCr8iZyVFTrKgK7AI8Wub9QGHJ4m/r/0tnCeqMAtcjTsssyb9
 vf2lCEPzQ07wK2KF8p0ZIjjJE6tMbhjIcXMlz5FomcVoQdV2bGemeT5FRTPKcNOf
 7U8Ams34rKvquDhqbWSkEaGljVVVEM3Y7PxXZuwDX8Q/m+hP8pNSOqoio48Sv8xQ
 2w+dDEjyX8rSjnKLQ0nt2/MpjcftBf06kke66Hvwunet5ExcYUhChXfOb/7p9cRM
 kT9itVNjGH9MWupglKupPtGZ7hK/yXKekbQvRGFnLUVybGluZyBTbcO4cmdyYXYg
 PGQuZS5zbW9yZ3JhdkB1c2l0LnVpby5ubz6JAj0EEwEKACcFAlJBjU8CGwMFCQgH
 7QwFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQkshDRW2mpm7BiA//WA5KoCfO
 NxaAU9txh189nmX/t/EmSLkJ5LNDj24o2JSn6YZ9dKUgUmO+MbUKvwRAH+LB488z
 PBITYb//wkAcvHTVGOsQqXz2voeM4+e7PQIjrxzOUZmJ1uXaKg0h5Nb3mNyhsxvS
 4h/3qRraD9vQd7MOWb6euGPBDyXlVH5Tbg5EuxsL7T0I6AghC+D4xZKv+EcH0M9m
 DJsOal3/E4DSvFQdhvm5FG4cC+1YieUnYtYppluI1akup4rcBdGxz5g8X9naib9m
 bjXEQ/++D7S4yWUFKFFYZ4eubSyUgvQ89Plg5EANamcYxh4D8pQ4jZsuslCCPXkM
 BAhsiOEutb6BEy2X013x69wPOINd9txV/T2kFtJ5kbqzu1JU1QqRtAu/UUDPkzz/
 J1HhS7Mx07U/PcfW5n2tVj3kd2yyer7OP8PdcQSJWIkUFG0ZfKf1dzZs3e7iyNIP
 Pg7LGsVW2N1lGssJavIp/hCbH+ZbCFuyZ7o3rurppiVKy85Biq+x0Zs+NjX8WMzT
 JK1I6Rwx2rYcRQp6Rpp83/jT2qzu2XSUyNoenqiy0k+tp8T8RLJJdtNIHcDUa2cl
 /ZGYrz4AUXAPNnnsdcHD4yw/BxjUJeXpi90yQdXuMWMBTdv5nxFkHwUXiz6GYR7A
 8CnizAnUNu8XO18b8Bx2joAfq7UUy48BzdmIRgQQEQIABgUCUkqU8wAKCRDbTMxL
 KjDXKeclAKDRYEoZ93biJIQy8UU8YbXAP/hEOgCgn2YtUPYq49QMnbrGZ6QqoFDZ
 mviIRgQQEQIABgUCUlUWaQAKCRDYT/Z3Eu8v9W5xAJ400RYFwiXN9CLjr23mORGt
 PQk2GwCfW5BCKU3BBX3O7RcFrnTGi51uc4uIRgQQEQIABgUCUlUWtwAKCRCMKgqt
 eNriyJscAJ4nCPtVC2kRrvIuZCurw97GZ49KSwCeP/dE3lcdQve/M4qUvQMns/5Y
 gUOIRgQQEQoABgUCUkGO9QAKCRAV1ogEymzfsvn+AJ9+LHvPz6GpRIazifkxnUoz
 Le8aEACgir+ZJsFBanTf9jyu3FOvmSEOIbyJARwEEAEIAAYFAlJGprEACgkQUXvm
 FKXB7sfkqgf/bGFb/PeDGKG7gjWU3oiR81MqcufWTc/6S4lCkpyhmoqn4qqt0U+u
 9R2Uwlomuyk5lPrR9ep/aXsy1ew3mE8k2s9kEf9IUNhMiqU7kgWly4OXeclf53T6
 zK8X9MNjS0b3Pze6H1yP/HJB4tJizb/QcMsrEpEhTodvi8uK8O2jTIAP8CJMkqhm
 y2bOtdkVEnorDv4wcG1CBClsBJ7H6XnVIKLSGRVbIF79pWEdD7W/7XAUksnSSm8Y
 2R9yv9vhYQjH/oKix5vy90PMUpX0s5PXOhWf4ldZZz3+qYDWuvs7Wx3CrNYJS8lS
 RGoWmxf1DQzEsYB4rY8VXA1oR7xcIxxoG4kCHAQQAQIABgUCUkWmxQAKCRAmSeYo
 xdNNBTAgEACB4z5IcRAjhUATYDPJrL9c0wDlQrW9DEaJ7Mi9n3nQPRXEcIhUhb9U
 NIHGgZ9J0vHvF0DzwX5ULrvJea4ujS5uq3zQvpFKygbwhLPh12+qUgV0Y4k88D2V
 Q5Muju0s0Nx8iPrVQo8fLTe6khux8KBG1WZwlIWsykuYiPEGPsQ76CHi81hDAIsx
 uiRYSheCJqfl6I7c4eE1vo3Fn1PzhfxRYz+JOMJa4mfGslg7ReROpTwJ0Qt10XG/
 OOI78vK352CUUahQsn5vHn0s+zFT4dWeUTWIXmi/nxyYPbTppXHXno8k1srcgfiu
 bTxiv+mqdbYUpGwvufCHkhxKkt8omkYvX2M/pR5G/QTM4fAIx3XfWW5X7slg7LuH
 SEA6k8uJYHK4dWn7Mmlf2S86PY+rE4fK6z4f4NLYyPMn+UoGATmglyfCrKEeD11x
 1G7VB6jIvnQVeTpnvmp6b3R020SSqz5DytHcZcJo9e5d1YFY156d8EBD/9SanyOU
 RPPlwbwq19mosCSZAnjoPAXSmJLuqjEwNdIvbLfCpdjRR4PMuUYAUocHUIKXT8Jx
 8OgU5LRpAHcANvcQhfniOnPuQg2F+lWYnFIPcVRbybs94b4pFHBiln+4ByK1I/3s
 bp+XG0fv8eCfWdgUKUxFqEfzQYkVcBm2z3l64LEpH0+/zNiaawOG8okCHAQQAQIA
 BgUCUkhZowAKCRA6RRbzUYPOSOknD/kB6zm0XuL6W3KbvHHuNCi6cwvh24WNBj0r
 sFbAPKPvKO+pznTbP7J4JjpLSdREWgsbx9m7L0gPDMGaIK7hXOg3UKV+nlD5ADsB
 H7K00Zr0fNkT5ho0o49S5QnHMAKAfTz9Wobjjc7ML6uVfiKNGMCSvVE/Pb0ijE/A
 El1uq0P1Bt7ML7/9IY4jGbaJ1R2w+Vjo8dfMiANZoT6HTx7XeaGUXVdtVw+q+JYd
 6UWKky7zmZw9mLv+Of9qWqhf0Ddc/2aNWdoxpLiVchz3uE8aZHYelBVKkjzVvmLX
 wWJrjr+awOTMIWAAPrHUSC1QwvKfBKeZmsapukYdEG95VmgQ247fHvahswmrg0S2
 XPOnb53RNi++7mCXBKjg1Fa9QDxz3dbESLVB/5m6R1Wt+G6Ei99w4IYlkn3gWsNI
 4n+5Lp//VHR9m8cLh9c5WMRmBOdayyJtaeHLA4UoKAoFGdksPTUyvCsGYrZXx4KT
 /8C3Kv1PRwvn8NWWwH+4/ZIU7WaY69+fyzh50HSTAKCKamTqKp2QMjJx+GZDw/6X
 YSJAQj3ppcwWUJymCQf5XRF+EbQGOU8Hwt+PKnAn2On3ddl4PGUbyi0wlCPLDhwr
 Zcjchu7Pu+tKBlG7pV26rxSwiDpS8WqAramt4d8J4ffvYadJxO1q+xJpMCN4vMkB
 L8nzBRz+rokCHAQQAQIABgUCUk03HAAKCRBNoRTlxKLlf1pWEACcvVg0GXIdLwDh
 Oxh56gPVHdvFC4uSrT9eGp0IQCRbdAH7B1/hv7zhazIFr2g39YuCkXKsSRa0VI0K
 3AIbCHcTBlBaZyUNFZKOppoLRMPPZOHiQdgPoXwsHeJ6wRtPvaQWAS/BuhlttwDb
 KFuNqGO0E1eN9EHXYmMJ8amBVJPZmUQsoSuMg9oq8hbneAN6Qmr7fnH/M3xMpIzo
 YY6R5sKhInNU460/tj2pB2sLIXx17z8+/iB1onpqsOwKYBjr+7JIgdkY8RD6F/uL
 P6ZPJh0w+uCUk6TKrxQ6v07o5szwY9LenCpLnGwi1WfEf83cmIy/zzzZy/ymOJgz
 1HYPS2Neizg/BfibLlTP8oPZOjp9hTBnQXTkB+vdY/38od/sP+Wtib4P5SZFhDg0
 PRyYSAUWKy4bwe5LyGmXVxAlfDefQ2CbQaTmvLZppPx66Sr+vJ+NlHILU8KgsYkm
 zULSg/a1LEofrUo4QMKV3vVqOjq3jtJncHmRD1k6t72yeoF4BgzSmkXmVTIqt3cs
 PQeVonW2qNKFMpWy4T2zKU1swJNzeZdHZpOtTpgURBwz0YV04x24B+zqhyz/DA8F
 NPRzopce/hmaKGFjlS4SQMo88WqYPnbA/QUExWf5GLXDKal5cgINK61EO8AxilED
 Emz8/ej0BHg3oFDRTEPfhiMQvFZ7k4kCHAQQAQgABgUCUkcDGQAKCRDxxRazyDWX
 U7dUD/9DTiQ8j5pyntOhNo7uPtwXJKLJorFj0OceXbAvIc8ROGvcB2RfV6mBlLVW
 hlqepWW4RZBM4xe0OTyBtq8cEyGOiE6TY+bMQiNvVrdaW2Z02XmjW/2NsdlXfCor
 z1J4khhDeV3zqd5VsG8fqb370gu6aGj9uk3mcCnbB9vvygknEV0d7YMXVbddYWea
 yjI8uL/lji0XD3Rx8rUbsUd9MhJ24xJATS79WkyrBCANYeNA/9H166TqUqgE78yY
 oif+JN129fgTkXyMWi4i5n/LngSHeXNQ6cpI2IgAKlIRYPRxCJcxLVoJgaqb417R
 Jqyp6gQcXol+SPncM5swhBCozQqXq9W5JXtdaxHp0F/dAD+h1kFFQgLaHFqpwD/J
 0psDiMETZjGu/3+fh3YQ569zqr87I4P0GsbPCzowIMmcuslwQ/JU27VBsmcAyvtf
 DlcyR4FGuctQyOO0RMn3H/eOfNbNV9cXfjujwKSwLKoDRml1i94aXRHe6JquA4ZD
 dk0Zk5N6ghS8t3u6aRG0X72+XsuitRw2B7pgkfenaCtoyvxsILY9aLW3U/fmvcbp
 /+nkTrqG6b+G2Ld3+E4yEQ9xBuE15De2jFhxPdhZiTY0XuPC3AvSIscZXMWBM6o3
 +pSoNEXw+VF7bvOTPDRUp1FtIcKJ1cd/z6Bx10s70TsTY+TT4okCHAQQAQgABgUC
 UkgP+AAKCRCL6HmwKHMeHF7aD/9JoVRU4GSvLOM10SWQOlUShORfUIgzT6cBRlom
 3awpkcLKiENf7PZQXuCOihi6Jx62L+MnEFUO2WzfVTI1oh+TGoVWhV4g4M0hf0H4
 RYkFXQNxtlmclM3+E/6Zi9WNGi9Z0boMoSMGqMSVNjL4dVNvPaTg9Dexi007WM0z
 +5CdX3YAk8y1MVxzaxo6mi3xV6g+bfdyRZFweIHZC249NA2qT+7TtIlUBKrmHRWt
 EsjFy+/tBLUOtDSyDTsg7TPF1wUtA3mAMqxf4T+XeXBB8YjbS/Gi/1h4ycb7Q7PN
 dhrUx8yIuX+bMvgUmCsAPG+f/uLq7ODDdMp9yZyeqESbxYUC2+0Xkyt8sRcj9Dho
 QrvvdQKQbcRe2tzAebKb+IA4Ntv01RnQ6QqltYX00znVZk7VQ4bKZMHJmaTW4RRq
 t/g+Oi3T8SLOIe0Kt6oiTHydFNdF7Trn/FAkNp0V1aE/aPkno3bkxxNJXN6aXuH8
 JkBCxfep25Qe20eAIpu2Vb8f4NOv1XWHrKw7DsJkuLB79gBqAckOJaT8+GAAkl7Z
 UzhZqnc+fvcithWjIaw1WyA6637O2qrMoxRPb4EqG3VXq7lLbP62M4OI6T4BZAQ8
 NMjb0dKew74TTt/8bbOX39iGqcG9vUlVvj/Dcyl/lFAYnXlHKgXNy0bPdkV9pHuM
 EFLXaokCHAQQAQgABgUCUk2EUQAKCRAgtw3hPx0eT5WXD/sHPQ9OzeUHgxAxyGmh
 6r8Vy9aKP+wAoqppIQLPCStF2aXKOqNkn8d5KgDHC4dSyUe1Jst9mNK6OeH7IWtu
 SU/oy95cnX5XiccKulta9fejeMruLbjhL36oESkc2RvnQHijSXKkLgAR4cAwn0tN
 Od/0g8x8q6kfm8UanQHGAEkR/yteIa9MxM5FPnnXiNJu8NG5S1QxQFAs2Lrv6bRE
 ONhjgWSrzf1qew74O1METT8dyVYekUdDDq1jbtXHZ1lA9KiyCBYGfwgPoseQ1cvS
 KRUL+kCgglVX3KfvOI0rxSGIHKjpyYm0Bt4gdSVvuRLJ95TJmfW5HZVtWP5vuoCR
 ahN2Vk/2/L+fRgZM8UFhmOzIWsvL9hh5XLRgpKJ/asR8NcSXovBckFrVR4AQiNVw
 BZaH6WY8STIQEb+dWVzhwsISCK1JE8bIBKsT93hceUX0XGvaGOr6rUqS1B/rpUbU
 cOTMOJSRoqvsxY/r6e3rwTYvez75QMOl5hkOBZxyrZh5jRftFQ2ZWa8XLpr/DLKu
 ynHOuG0mE7trgnEBwHjewHctZYilLbVKL5DoLtyb7TdQ2r9y2m3Lv/G9XFmwQ6gZ
 cushXAchq8OyR3peD1oz1LqtDeQbJWwRT0ZPTT9RJXkwdadDBm/cPBjUi1qPb1t+
 ClLzXBV0Ctn5JnbPehcIvno3j4kCHAQQAQoABgUCUkGNoAAKCRDtZ+zWXc9q5xug
 EACWx+E9V+IGAcY91UUA1RfdoPyypm47/uQHb7gQ05KEXqx/c6MnQMvivIUczSnA
 FRwX6WCzCvDVft3wetvOb57NmAqtab4YTWgNTf6WaRBtyoLBYV3Xet0jTYh13S9Q
 rCmA+/9jUJNLE5vJzP1I8aL22Q3WOd6SdXxNzOL+uLJfj9JTn78gV/DxC5Jzg8wU
 C5QeGh5SYW9AiEbmgfVfeISiaWtOQGoCGaDuV++2Sm//Wyd3CjXvy3jhe1OxzbJ9
 GSs2Gm+S6AVh00ECL7skHBsu6InhscZz5sq2zlCY14tforu+wLCjwi1DAZehVbbV
 1eJOYL6qHu1YHI0G2mNhUh7KE7K3o69UTnVFKcfjD9Hz5u6imq665IrKHByEv0+C
 qbbYbWmgwDPfQv6peJE817bpqKSN76SBY/tmD4J1tFo7JzoMIfyy2O1zwjvD625D
 lVeNTwCwhfKJ4nHEnaybcV0z0TW1XjmQ1I7IGROxgFuOgUM3t/p1NkXVRnMdF/TD
 ye+pJOrnXu8+fjAZF8lKmrHgUUH/IUSzvG3JZ9Z1vgJXMoDl3pV5Ssmc/oyq+BGI
 4ulVGQU9ZZOM3TnX/soc2sv0rNXF6ipi64Fk4YoGaQITifuzDf+Zcwr7twdDG6AP
 pbXh0h+xwz2fmHP8RM338VG/s12K9iXLZKOUKv8scxcBeokCHAQTAQIABgUCUkl+
 owAKCRBxNY7WP3dAeRk2D/9vxEP3YTafb8g35iqyYMl7buvCqF8neVqLCmrGG78A
 /Lxh9i/yqpA+LdrNrLb7tv0q5OCE8EMyNUxpE5ChaxCs6HPvOF9QoueCRfKTbPKQ
 h2M5c8GkOJLB+HkbK9SqNXdvE1qPBU+IUl0q3oJUU9ChLDr1KIDFVWlNXzl4zkSQ
 uoYP9nQLNrOp+1EeBzx6k00ohwNWUlmbuY0hBNz7C6Ltfjy2lTTgJyhAWERo6oTx
 QB09AZar+Zgf0vp9+QwxHPUiSrC1H8FuZxH/mWMb0NyCTOB+sm+Kg5WOc4fCCl1K
 EQ7AFWDHVvtAeUSsrVqlso5PJhT1mKJQgc76AjNfatA3Rk56YjyD8so12rtVXyKp
 /wCDhVD+eeR0xaUQ/k+ybrbhmB2E+XTvyMlTYyA9ZJgbW+Zmpy7bMO0ipcVTKNcU
 GNbxtJJ+h8yOCeRUaDCOImHSeJ6OWxY60WY24IhBcAZ5XqKX87teIvUaDwRYqvsL
 9WzVAM9IfnlK5OXci7mdbTR78DQNe/NhsF2f29vx33cltIQUNauCFpdEhzl0/txj
 vuW6gKLPsUnegY4kybYGsfR0lrzPBpYJx39iClcxqjq2wG2hCuGiPlU5RhsjTeEg
 DM7gn0UAXPGXCK5lv9jZdHMP45K2Q3m58fG1Wn+Qzh5EtCjlaf2T0C5PlX6aDqv3
 J7kCDQRSQY0TARAA19oczdLaoCb2kwXAHySzIGg+s34PcrsGEKBCpWZ8mByV6q3E
 SWb8wE0SNCnEDifMWqiMPkkQ35OMSDwVZIL0/ZM/hpoXl6EDscG9iGzmukuWDfnf
 VhGF1MzcPEH903JrZr0DcVQecvTPKrf0se/EfwNmI7YTTYeIbX2lNdBZclyBUCRr
 ppt/inK+QMA2mp9FxTe7n0pFUC6u2ehWEeCEuYGZNRs8kcXIqASxBGlcblmcfIw+
 IPnLl4Y1qEfkBt15nH3Di3OHIYzZqSPEetRZtBj5j62R4KsRu/iCVlWcG4ZEcJuY
 8a4r2azvqrcLdOQHDP8WgdzwGKIlQ2L/xrZ7/g7I4cDUeUk/f0ddhehxCbqaLJhR
 j2XQ/wNH4d6Gy84IxZT+ZsUUYU3BUSLkg6g3oWXamkk4UFCd6DHAJKU2qaU2A+It
 HK2pslWVO+TPclFbu2v2dUPCF8yYIElgaoCvy9vpCveIu7WcO5dCbJq7I6nuzRUn
 3lu2TlusgnKJJOojL1rIjijkjHFWc9iKHoCvWOy9IPFhAEYkk8Cp4xG3xcWspywz
 bD/wNZyT17P3uNRzYereMr+cnI2VxZXPS79Rz5F5czpRY9LgHz8UzGZmbObKL4Z3
 o4CkuLWTf9ibBPnbx0azyizYVkBbLILwZ+fb74131ZmZZOqhQnrNWDwTBzUAEQEA
 AYkCJQQYAQoADwUCUkGNEwIbDAUJCAftDAAKCRCSyENFbaambvtKD/9v3Oh/PvlV
 EclSL2V+XNh2aK+/IK+vHVCCDhIUQGBeHpcViKEWCSJVFgixVOvDBsVyskjyYReH
 JhlwdIVydPXYNkJO1Cf9fdBcEM+FkN7z7pIIB/2Tg3/2ozuChWort9sR2yDjulQ6
 GpzKj8990B3wQEppFi793spGjT3M2F+20aMwhTHjlcl8xAI9b1ZOfWydvImdsiK5
 dfLKaCJaWzRl23IIg5YelNViUqAwkl0IgyTIFSLGzhFdFKi3AEEyYMU5uwr+MuLM
 xJ20loAVSnL8YlLaRZN1iShGI6CpI5ZkbE6mbxrlv3p7C5UTlI6mUj7DXI+gAdMA
 qk8lQkFFTbqraTcPcwFx4MSPrkYoUPbHIgXCEjrJQVYTqW0mjsvHUc9cwfpxjfAp
 2rS6fV+BeLK58XSwag4NyAnFi6Ta71PfOG4+GqWLSaRuMH9GSCyRR00zFn04TB3r
 XWK9SxhKfpXOxlD+u9nfeU1Xk4fWdYRFQkMcc9JBW8ABxuj5KCXALloKWor3lq9U
 8QEYLs9Q4GhUBxz3d/it6j/XP/YK7Iek9I2Px3Hym79UmvE3U4NQw3yF5c8xQYB0
 i5Yb0YAqpdubM1RVWv/xUrIP/JU0bYjpuvbdImVcMSTMe5FpRKBw5fbNsWk4OsTz
 GS2ZxjbniRimQBCx0Rm80Adaz1hryJ+2rw==
 =O+W8
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.346. 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
 Z2FjYXBAaS5jb20udWE+iGIEExECACIFAj57eakCGwMFCQHhM4AECwcDAgMVAgMD
 FgIBAh4BAheAAAoJEG1AJVhGjubYeiEAn3Ni+6g6qIJABeTEveO+vjXa1lTRAJ91
 k/l575bXLqs7r1IIDcKs2q9WxZkBogRALSX9EQQA2ZSfrH+e14MPQbrgS6foZgvY
 CkNR2N+DlTq80oRkNsNOvdCE129HrXaEgiVbLjnr19pNICMCst2nGCjTMRXCeqEs
 bAzUgX+9YKAzXYxrBz1YXABursMSx9OJW2CNQMIlZWh9vD1eovnRtSrI1kaOXroO
 YWsFOxEVVh3UaX97r38AoLp0c2Fjf18rpMrHJRl7hejRJH0tA/4lPatfAvWdRtPM
 TONotaMvjmp7c6XJd+hdEIJgCQgJT7ccdGLoCk1JgZYp+xoJH+/U8TpyUYeGCedN
 +eduSu30PWKY9UPUaEe661bSGXvdSveV0xgkXuddsN+ziPVHUV75Cd0MmbBpD1Oc
 48U4jAl0ToANUTmtDM/1Ayj2nZSsawP/UPdzuNR8DSa96lcEZN3nKN4hv3YLUta+
 Jw8U2PRnJZ7y4R1bKFW9fZzQM9a54uZxqP8o+rRyxyYuRqguoGK3FKTiMwe37HA5
 O2CaBppTUfhc4L+y92EAim4k4KipHkEtIKLDWpzFs0UsR55fjy6HrR+D2FaUi54a
 Gw+S9KlmN4q0JE1heGltIFNvYm9sZXYgPHNvYm9tYXhAcG9ydGFvbmUuY29tPohn
 BBMRAgAnAhsDBgsJCAcDAgMVAgMDFgIBAh4BAheABQkJ3tdxBQJApfwoAhkBAAoJ
 EN/uN5Rr7JgKW6kAoIqEr2u9gwwpTeDvaI/0WS84KejUAJ9DgBhAvpdS65GWQ1iz
 LiNmbDVPwohGBBIRAgAGBQJAp+soAAoJECIYyB6OfAP/2kMAnitEcs+VooxoMqeu
 ndhwYZymjyM2AJ4tIu44PEc5NsfKdTYUqf1J/yG9MIhMBBIRAgAMBQJAp+CkBYMJ
 ZBzKAAoJEElFpTfXe0P7t6IAoI6h+BAMLfvSRLcie++SEYrD2veaAJ9OARzgMah+
 XzwPsh7xghoKYZB/fohMBBIRAgAMBQJAqAa9BYMJY/axAAoJEH29C5XtjCBCWUoA
 n2nMTvMwkzXxtbNib5KABdl+bJkOAKCo0fuKEmFjO2279gJRJ3ABwIyGl4hMBBMR
 AgAMBQJAp+bzBYMJZBZ7AAoJEBeO4nT4FnLF6s0AnAnqzJCQcOaUTL9zxT5EaDGo
 iDGkAJ9LZnWrjrraf2OAOzNWP9EGlGBJgYhMBBMRAgAMBQJAqA8KBYMJY+5kAAoJ
 EAzLfv4LMKk7oTAAn2ubbSjM6i7m/vI89mq3iEW5b94qAKCDLgTA040qeKuNP472
 VgL88HOFZ4hMBBMRAgAMBQJAqCfeBYMJY9WQAAoJEGxj2gSE0NfnKuQAoI6QF0P2
 iVb4XyxGJokP3j8R82WLAJ4pNr1tZwERERNPN+tx7GQabv4oCrQjTWF4aW0gU29i
 b2xldiA8c29ib21heEBGcmVlQlNELm9yZz6IZAQTEQIAJAUCQKX8FgIbAwUJCd7X
 cQYLCQgHAwIDFQIDAxYCAQIeAQIXgAAKCRDf7jeUa+yYCnHAAKCOveBgrUPA37AF
 QE/RXskb1Hk4IwCgmGYBM0giWFy6feo55wSGSkq9zLmIRgQSEQIABgUCQKfrKAAK
 CRAiGMgejnwD/+hlAJ9M83zihFrokQ6etoUbyXOAUndkwACeJwDSkdi8SYbJYKDF
 KCtZFCkkiNeITAQSEQIADAUCQKfgpAWDCWQcygAKCRBJRaU313tD+51VAJ9x4/ke
 +qsJLRaXChYzKw7IeMjXeACfRrjRs6+JEEu7YD+JEsmEcjw732OITAQSEQIADAUC
 QKgGvQWDCWP2sQAKCRB9vQuV7YwgQik6AJ9TN++UJJLQBewwk44sRkDFX4HqbACd
 Eb9IWxjzZVU++brh0t7ZzUWiVraITAQTEQIADAUCQKfm8wWDCWQWewAKCRAXjuJ0
 +BZyxeyWAKCNUgnimNLNPwLYnZA00usYzFmtUgCeJY6G6WCvTzTzORl02YQRjX0G
 E4mITAQTEQIADAUCQKgPCgWDCWPuZAAKCRAMy37+CzCpO2kUAJ9BmGuvf+7Bz1ka
 Ks92vEvv+3B69ACfeIer9qirOJQD1Knd3bJmbG6ptq6ITAQTEQIADAUCQKgn3gWD
 CWPVkAAKCRBsY9oEhNDX51cwAKDWXdgVIwMFvkX+UWrIAcELPQK3twCgp9SYhI8o
 eSuWQrtI1NrH43dnz4a0ZE1ha3N5bSBTb2JvbHlldiAoSXQncyBob3cgdGhleSBj
 YWxsIG1lIGluIG9mZmljaWFsIGRvY3VtZW50cy4gUHJldHR5IGxhbWUuLi4pIDxz
 b2JvbWF4QHBvcnRhb25lLmNvbT6IZAQTEQIAJAUCQKa8vgIbAwUJCd7XcQYLCQgH
 AwIDFQIDAxYCAQIeAQIXgAAKCRDf7jeUa+yYClbbAJ9aRpEjLDKXtVhjVmf8pIJF
 MDuPAgCfdhkF4CGjhAeitWxpH+WdCRlE20CIRgQSEQIABgUCQKfrKAAKCRAiGMge
 jnwD/166AKCIm+EGRyBP0tR9EoM0nihlTE4+GgCfTfhsfPla/Nfi3MlghP+N6BrV
 42+ITAQSEQIADAUCQKfgpAWDCWQcygAKCRBJRaU313tD+6OGAJ9tE7s8HjQpdGFR
 7yxTHvN6MMpZXACdFQvd0G99F1du6vK6THJt/TuMwP2ITAQSEQIADAUCQKgGvQWD
 CWP2sQAKCRB9vQuV7YwgQgrfAJ9T7R7Q3FJZaNqAtHMUHFyDuEk34ACfX1y57LUO
 8CZKqHl7ZOot3RB2VoGITAQTEQIADAUCQKfm8wWDCWQWewAKCRAXjuJ0+BZyxUrV
 AJ0cZ89+YM3lbETeVlvHprOug/gWbQCdHbHscPfjx7FVkTTUe6hkd9J7fwKITAQT
 EQIADAUCQKgPCgWDCWPuZAAKCRAMy37+CzCpO0YUAJ9dhzywfm3VmhTQr2Gh2NF9
 EtISNgCgg3A7wVmhphaBag4PqB1D/NcCg3qITAQTEQIADAUCQKgn3gWDCWPVkAAK
 CRBsY9oEhNDX53yAAJ9xUFCI5G7nlOZTr7UKVP4FR0EPUACfSOnqzKyyp1OSibmx
 zW47Lz72gES0Y01ha3N5bSBTb2JvbHlldiAoSXQncyBob3cgdGhleSBjYWxsIG1l
 IGluIG9mZmljaWFsIGRvY3VtZW50cy4gUHJldHR5IGxhbWUuLi4pIDxzb2JvbWF4
 QEZyZWVCU0Qub3JnPohkBBMRAgAkBQJAprzZAhsDBQkJ3tdxBgsJCAcDAgMVAgMD
 FgIBAh4BAheAAAoJEN/uN5Rr7JgKB1kAnRtC7GHF2GLbDyqJ8b9QDNCeUC9bAJ9G
 igTUYVWJua2Fa64tJtKJ/JIonIhGBBIRAgAGBQJAp+soAAoJECIYyB6OfAP/UHIA
 n3V0lGZVJWAvdbpszkOq4jSf0JWwAJsFunCvZqn4AyRoFlCfF0DBNOugvohMBBIR
 AgAMBQJAp+CkBYMJZBzKAAoJEElFpTfXe0P7gokAn1yPJFfgJ2BxRjpN9NsivQly
 qObUAJ9pLPMloXK/69udhQCi/hQyD+YtGYhMBBIRAgAMBQJAqAa9BYMJY/axAAoJ
 EH29C5XtjCBCFX0AnAzukQp+n6mOl6BWG4+wPZa3s4cHAJ45ugwVCuSLa+Cm0xRy
 QwXFAobKoohMBBMRAgAMBQJAp+bzBYMJZBZ7AAoJEBeO4nT4FnLFBloAn1hZu7BO
 zljw+6etQuwu7nW5Xvb2AJ9I69B/Xr8oEsnQ7VLuRDQypak9qohMBBMRAgAMBQJA
 qA8KBYMJY+5kAAoJEAzLfv4LMKk7NSwAnj15R9lyjrqK+BXPMpCV87MuJABkAJ9a
 mCwv0S6UTti7BgGUOmunycJgL4hMBBMRAgAMBQJAqCfeBYMJY9WQAAoJEGxj2gSE
 0NfnAkoAnRGHimIOvkNh1EUTNj0z3gwayCUbAKDZTgsntCr5VOPZZYbLrJQl6vlh
 erkCDQRALSYmEAgA4I82XMqjiHHbgYea0nF5OoNHXENTmpRIEpE7RZdj0UrMAJI1
 fWXIjl4JS7OgvIG+thSoyC5ueveK5j8gw9gIlQi7ANcQndBRnse+COnue9Z4L8J7
 NpfhSop5Gskin4ReUwnRAFZPb+aEVpPph4S+Zxg8sCUGojvTDuRCUk0mNov9W3Mq
 eFwUfK8nc2n3eveGtfp4ygyhq+E9lMpzbQ4Flhbm2x3Nmqe7VCb6Si69JKZQrWaw
 1yHMqt3AQr4RgtgIjpX2CmV8j/Izc8WVAbQDqvDM3NaVHYVzGuui4RYCbvMrrabL
 D5zmJjsRDdo66NYWs9y4Aky6SPkp7+sDNQqbdwADBQf9FCI7TFHFeVaTqSAK6vsQ
 nkbgBmoexaoSofJfJAaby8WeZ5AVGHRavglgAxaejZZqMHpcO+hDnTBj13J/wQMc
 ocgfOYPRzvwIZfx7Gc6uF3NIgUtn55DT+cZmjq3sZcUtlmpy22kLpDPy+x0CNzqv
 lMILIxiookXJaLGqeqjGXwQOcyj/ziZNb7ZY4nJLOjshnzER/YMY8xvnJnqQ6PDe
 izwPbuP+Ej9E7iAJhDnz8et4kSp2w3Mb5Zs5pu4nYySi/GincQ8r5gUOJXmMLPrn
 N+3qG/WP0GIni7hF83GgzvV3hjtcMuFf5AJRKJeq0AAgm5MiZlCFM7zWhffrWCx6
 oIhPBBgRAgAPBQJALSYmAhsMBQkB4TOAAAoJEN/uN5Rr7JgKItsAnRFQomWrmkKL
 KMzwh2yhNHGuxYtOAKCQWvphJCOXG2iv+epUwNTl9f24EA==
 =Z1Sd
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.347. Alan Somers <asomers@FreeBSD.org>

 pub   4096R/DA05FCE8 2013-04-25 [expires: 2018-04-24]
       Key fingerprint = 9CD4 C982 738F 8B90 25E8  E6B3 5F74 63BC DA05 FCE8
 uid                  Alan Somers <asomers@freebsd.org>
 uid                  Alan Somers <asomers@gmail.com>
 sub   4096R/4E121B3E 2013-04-25 [expires: 2018-04-24]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQINBFF4d50BEADVb5G+FnjaElp6CxKhu7XfifjHJ1pj6B4xc+YnT9+ZamriGwg2
 PxXCKf9bBzxC9141FnnQtQh/eQdfxlGvhCTwRhLptsmFXgROrtjVvTaXwiVMtOBq
 JbsdW2/XW2FWpYaK53E3FWeDDkiRq+dgm+GOjUMi4A0RS+DqlfB/yd/CF2G/8gj7
 4QaMk1XEG0LWiG++bnE4ZbUedYRnb1rz/WAWsHgaBy309GmMPHQY29Fw21VJzXi4
 OikLKSboFbj9FzyLWuffv6j9CB7G4vVZVjBnWoWNkN2OLIYUNEuSzJ8mowsIZsan
 a5ATIzl7unKz7KpnYySDcttASZ4tNtwfFZfYv8d10D45KNGDLDppfyr9cs+b1abA
 8jr1EHDpyD/ixpLi8UuXm6PrcT4n+FKCduVqOu3zZgBfOo0R7MzmYG5yMIzTLPku
 z6+T8Ci1QuksYK+quO2Kzp2f7DCGhO1dmsLHSqjpnC2HVNbeodigAwE+NgHJbbHn
 VU7E4RXc8xU55wJTfpcMUXDuTO3hZt8TUqQl1PRHY5Nof6UIUu6JcLhBeO02XWGG
 GmyxvYoMBgbe6XKh2FhJ3cpOO6uA91iweJaa9kiTqdziitbLeAG+fKaWLNVIQFo8
 gWCR9QMu2f/MxG1xPlsuekfcyEcXt63l5VcskCpVKF1hmWwBmKSP/c1mvQARAQAB
 tB9BbGFuIFNvbWVycyA8YXNvbWVyc0BnbWFpbC5jb20+iQI/BBMBAgApBQJReHed
 AhsDBQkJZgGABwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQX3RjvNoF/OiI
 Dw/8Dk+SsGwB/aHK43AckuYnktbwPZAMIGRVBrfadal/jJoLbPHvYnG7ZYOnmr7L
 9Qq0PC6yQVK25POgJCacyWmUKEoyYHnP4NBwjYeCwILJMIGPYpL5g0fezQB+9Th6
 WT9/aweE4K9wYtKU9YKXBYvYgaLFEQGItKOYzUQNEkB74ztB5ueARPTFUqpRnAf0
 StxUwV5ZyW6DOQYvOypxYqe0YoF4EAj84JZ94ggzHuc59oUNRRO7Klcr4yaobAW0
 UlM5RRyfFBLnYOZSvzQreu0peLj1kkHJjF5LHixFfVlQaxrr2WsVWTWVeamLT7rF
 VvxLnwpowHL5nEN4En1IF/1Uwahxy5SCxn0fTKFhi0lpbM02HPC/2s8Ke+4hqXkb
 rDJiZ22+Fw3BCb0lQv7FAbXcbR77u2d11c6qw5SeUg0Da+5Tsag4DnGASE61ev2q
 PvSggMpxMeLaz9agCHTqocWHsb2XS5Y+Ylfj/8+o+MttkqxcLbPon5G009B1xG3D
 DlWcNDYG39u/sVXRMTSlnrUUq+p3YoHm5UoM7jeIclW/938IbxxvUZPUzPP7xu20
 k/sCjQYZK0EJZMHLl7SQjAISt6rS71MIq+4Rh4rJqhFFfwEOGzZXWpKdjH/n6ptM
 QnhvUOewx2apT0hDn3xpTQ9XOtLvsEGw+15sDHUvk1DpN9m0IUFsYW4gU29tZXJz
 IDxhc29tZXJzQGZyZWVic2Qub3JnPokCPwQTAQIAKQUCUXh7EAIbAwUJCWYBgAcL
 CQgHAwIBBhUIAgkKCwQWAgMBAh4BAheAAAoJEF90Y7zaBfzo9LYP/R5z3JTixHd5
 4GEBbPUi5A8QE4yutGSQH+NkMS47SpXs6ElgsRKaxnCJSqX+rWizAWtX3PCIfDMT
 614d6n8/B1H5kwVNUTOuLUp+xLdL2VGIsDi+z8NYTJ4JGLcljod1KiErYjTRDVXn
 OJyR2VVkJE3CzMcc2VK4fg+5FAM1CkdpZ6iNl4FuN7nbb/U63NWdVdPF416Xua7y
 VuvzQL0z0Qf0XlWze/qT9DOY9Gj+mDJ7RTsHk8VGA79B7D+fuwkdkXTmhjdLlOjO
 BIRVJIdSgLi6znmX6coctFjgrah3MEKX537dpOZ1RA4WcXDsj/4EvKtyZIpjUEQH
 yjcztx5yycdsgq6rvvE8Z0TXQaDCVTVTP3sLIIfqhOn800KVSTKDdontZPbWVwq2
 v2HWX6txhAcigkTBxaxDKclxefblmTBvPxIWZxn/mpWmdZ114ECpJ+6Is3BmpZyU
 4QyldkxjWDCY2uZiazWt/TbLHyZwQvgU3BoIoU4o6tih0CzlGkU7lhkvevZ/bXmy
 CRMSxhGNdjIuiL9MNN5Qihk/iahU9a/Xco0RtPll9PmXtFYbkNh5WVhVpqRmgMqz
 ClGBIL1LFVw8RC0YYPzLkkEK+k3E/X3EPvzxG/kJtOykTEUvW1SKScRF91EnLJOh
 2gc1A6sno+uWAIP8hUGLgPdlVHXEgGk3uQINBFF4d50BEACxhVGc09t9uhnVUvf5
 jsrjvLmZ1JerBeqNYtAgzpsDE76g5UjkBBg4jmxw3T6Xi3f681wNSNqiZz+TquQH
 B3aM+FE3BNjp9KMeT0q2usKABA3rpgdli2vU4lOYvzb3iF9uReVeP9m+gwvQXa4I
 JEVR0lFl1GPrsPJWpSv7+2Gs1EmFC4TrirTJxIxt/1+7WHXleJMntxi7EUYrceJb
 3ulq4eIh1qMTqw4JIunMEVgxiakgfMA5oJCBBcVzO5zP9rRJpoLrZajWsSfwhI2X
 AlPMRiLqlpJZqpa2YtTlMjey6Uqge4+oTZJhWsc4thJLWfeKsojk443h3JWFG8fi
 RurodJ/NVmh6IK6lQANsTCqwrGUaeop4SAfZbIPPVJIWo8U607qBIqwnNed2VLTS
 NjFYIj6gg4U0BqycDPI9RLRsWUROrkkVGi8R0q0To6zCEEgj14xBYjbGuTqXKmop
 XbBvpfqrltaGRV1xu2o8x48qw3gmB1BdNROHizCO2qH1GIqgDt7hJhjBdnboaR70
 T/LobDwcYQRAbIaLnOrHr7rUQrr1/j40JJ919+sM1jsnR5bhwrIdkwVoa67YorE+
 zdhCZ64l6+lpfDWywo6LZBrk1XDMIQx1CEah5NUQUiHwcvv6FSeHMqGwLUcv6x63
 pnnNFd+rkq6lT5u/yYqV6pGHwQARAQABiQIlBBgBAgAPBQJReHedAhsMBQkJZgGA
 AAoJEF90Y7zaBfzoJXsP/2dieWpgfSnlEJyOKuDvMJUFg1kE0BDUUpwn2Xhoi17R
 MUjGiT0dsF+eNg8N03WINxjfb+DxNj0TW7q1eyf2sF9wnSZco3pPWXgPkXs3fr4s
 99DTfIRTqSP7QQPCwsBsL53AnqviUJPkhefUiQpBJTs1U2HDkffTnDohLvxv4Fvx
 9NXqGq8GXk6/hbW7D32Kg8YDZlBsdmhf22sSuKwV6PZQBmBPa4U0HQVHN+FHuGbI
 z9FiFNfGOX8ZJ+VUrJTOhoXg0NTbLd2FxDweI9RiQGzocRE0mf5VWMauT9an1tE5
 DYNYdnP9hfUZON5ybIbXzK+5lU/kPydQl3736mPgSI4LzwJW8/saZVPfxuoFKYew
 Ljie37c4qAe5jKEQm2jTn+xgvZBx2R0uvbPY6r+eB6Jng/P/+WovK2ufYKlf3fhp
 kFO1TDlnFbX0l+P5wMmzeZbtVvcJD8Wb8UO8/JNnMbnP04XTyuN6PCOyTCrj0nFG
 ZlVV0IjZHKZ7AIL5pvPEgUGSlW5sVmPDNCKYeekERm+n4orSYp1hGg0A7VcXxBG9
 8edLMZJ3YZy+o5CFDzCBjXcsmy566HIPfu7wRwzEcssTpLNblPmxYsLZRlG0MnE+
 yg2j9hobt+dchMMSxb/iimPDSbNzuI/pBwuqLk6C4L2qgfXnHezisjzoLNAC56uB
 =wnb/
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.348. 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.349. 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.350. 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.351. 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.352. Luiz Otavio O Souza <loos@FreeBSD.org>

 pub   2048R/39165690 2013-07-03
       Key fingerprint = ABC9 71D9 016E 8D4A 936D  D748 6252 872F 3916 5690
 uid                  Luiz Otavio O Souza <loos.br@gmail.com>
 uid                  Luiz Otavio O Souza <loos@freebsd.org>
 sub   2048R/9D089395 2013-07-03

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 XxbFUKdH2kIb52M=
 =KzSj
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.353. Ulrich Spo:rlein <uqs@FreeBSD.org>

 pub   2048R/4AAF82CE 2010-01-27 [expires: 2015-01-26]
       Key fingerprint = 08DF A6A0 B1EB 98A5 EDDA  9005 A3A6 9864 4AAF 82CE
 uid                  Ulrich Spo:rlein <uqs@spoerlein.net>
 uid                  Ulrich Spoerlein <uspoerlein@gmail.com>
 uid                  Ulrich Spo:rlein (The FreeBSD Project) <uqs@FreeBSD.org>
 uid                  Ulrich Spo:rlein <ulrich.spoerlein@web.de>
 sub   2048R/162E8BD2 2010-01-27 [expires: 2015-01-26]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQENBEtgnPMBCAC3bCUDqq+6pLElEuqGoN33TBfDGjX3CPciCBGBY33u0ThbKFHO
 8VYStfwkwofutees9itDAjbQbJ7vIiQSe/1gt9WLfVUhgo6j57i5lbuVi/P3RMMA
 QjJBSZM/0r67XBqUXdye0xnPuJDKs5LmfY+23AWiWroRieeEBhbkJBQOyvY/fEdE
 dQ4A26/aLR+PDIxB8vrmsTRgwLYmxpnXqPkbmQ1tjS3MtsPgUMAaEQQOyoZJ7A9k
 loivX3S44GGTmehrKaCOivMtK21zR66Sslfr2zCCvzHXp8votrRorTBOGSTMC9ed
 Gp4ZlCAWa243NOVgCYWLsUAT7sutuI97VZunABEBAAG0J1VscmljaCBTcG9lcmxl
 aW4gPHVzcG9lcmxlaW5AZ21haWwuY29tPokBPwQTAQIAKQUCS2CfxQIbAwUJCWYB
 gAcLCQgHAwIBBhUIAgkKCwQWAgMBAh4BAheAAAoJEKOmmGRKr4LOtLIH/0G99k70
 FWtU8wLnHAw4d5dkV+MpSJOiNK3xfqoEgzcBSnK8h4kkEibwzsUggtIvIQ/xkLzF
 oihFGhL/14+yM9aiyp3cVjPT7TqCN7j0kfKxwDOf7otAAwI+hYUrVG1XVM7qe7Gq
 sIS6ucEAnhjK5s/vxI2wJM8xcEQvx2ubPPtuSYAn3k/+JryIfSJaAiSmxuAfYEsf
 TBKmACwQ0CfthLkOSnBp3xNbmXnOJ7mVA/wZwTZjD2Vm4Iu9SGBNF+gsx7Jhs0/X
 ow6JpY4YsoZehFHzeLg3RINUdq5qmB0eqg0VbYV3YcH0a31nOUTGqrztfJs/V4Ap
 M8pJ3WbDrPugqDaISgQQEQIACgUCS2CgGwMFAngACgkQ524iJyD+6d3PZgCfZ+Ow
 SV3Z2p3IE3rQgIf+f67SZxEAn08H7gIDjHWv6P9Mt0JveEgBqqaftCRVbHJpY2gg
 U3DDtnJsZWluIDx1cXNAc3BvZXJsZWluLm5ldD6JAUEEEwECACsCGwMFCQlmAYAG
 CwkIBwMCBhUIAgkKCwQWAgMBAh4BAheABQJLYKDuAhkBAAoJEKOmmGRKr4LODJYH
 /j7RKNrmeszuP7hQ0sQpnn+8xmbp6bmNyXK+h3L78y1mVagMWlrJRbPe8QVLR9xq
 AmI7jIR4oVkcLhm/jnYnlqIAIyNLgrOQ6dIFMbwzd26AYS/Ozy7Grl+THXZJMcZ1
 YTNNcPpmUsC7U76viLLw2CKTMzP3LHribNCoNmfhvplGdZibwW3so+ZjEzrhmjtP
 efLnYmD2AlsJADMhmOy7vgEUSdz7UnIiVgInpf11yQQWarAwAoiKxDSR1D3MaQcW
 JmyG8mhRqyJmFtbmARZaH/eGm+QyZKYuFY//NY9/ugt8xBhhUTeWN80dwZnx2rw2
 6kLsWh3iy36yWNRF1sY7x4WISgQQEQIACgUCS2Ce8wMFAngACgkQ524iJyD+6d35
 ogCghywJlVYXlcjHCqUJkZ4mc8/sW9cAnjUU3AThywjlZFNaB4ngPYGIXHZxtDhV
 bHJpY2ggU3DDtnJsZWluIChUaGUgRnJlZUJTRCBQcm9qZWN0KSA8dXFzQEZyZWVC
 U0Qub3JnPokBPwQTAQIAKQUCS2CfRwIbAwUJCWYBgAcLCQgHAwIBBhUIAgkKCwQW
 AgMBAh4BAheAAAoJEKOmmGRKr4LOELkH+gOD9ML6IDd4Hdu5I7JcmquHejOJoEQ9
 rJRmbExegiCLtTtxI98f2GF9fMgYbKEZ2DRv9dT4tRYhJgm2ko6kf+BsLv1ilP9j
 MRJmzFe5RtVt+ot03+8bgN2TAQ6J0DknMT4sbpKWfMKgw8DQCDgK6aUxAHE/PO2f
 49Wdb6ZxXIwYQKBUsPhAB/a4Jn7C3cjG/CqtkcsWm/INNdrr8wmqFQlQByYkE8bN
 U/LS8UEIf64o59sQW8qmZfMwy7MWsL5VDvJwG/llAAYK5V+Uu+kLDwn3Vuxp5144
 rR7HgAgt+lX3IuMjvM72bc0ooljxqfGRwyfXkVqS0u7YKMIylibWlwmISgQQEQIA
 CgUCS2CfegMFAngACgkQ524iJyD+6d2hcQCfXmKCFRSNF7KxaIqfFbAZUFhHR6MA
 n0G6al32pXWhiV2i3sHyjDq3YCrCtCpVbHJpY2ggU3DDtnJsZWluIDx1bHJpY2gu
 c3BvZXJsZWluQHdlYi5kZT6JAT8EEwECACkFAktgn6MCGwMFCQlmAYAHCwkIBwMC
 AQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCjpphkSq+CzppbB/9X2o72Knam5vdu9nAK
 vmkXmOmKMtp9gJ6MDXLCG/a8DME5weE37i3lmHkm/lKThNRteLajeWz1OWTEODSD
 4lq9BOpr0fDVtSEGsrgQOIj6m/RGpKhmKmyZcsGhTC9OXpcrUk5QnFFb47+25PhC
 I6cfzADL06WGPDkTEFsB2f7ugJw00iC2Kcr35YG5TvvSR/tGRCo6HZ7ooTbLAVmu
 wMrAxwIsPv/ycFBZ5e4DQiIaxsVDPS5sQDHmoIhhRgOovoIinXXCpEl0JvnkegLG
 P9ZWHsmUEIlzU20iMBDmwDmxbsMhtiIFpSNNwA1c3wE786mTQ31vcvscR5p6JJCe
 v9yHiEoEEBECAAoFAktgn/4DBQJ4AAoJEOduIicg/undB58AniViZmymFbmu6LcB
 IQdX7tOfkKQKAKC1L+dB4cKQwTLHMv+PTm3ZZQUCiLkBDQRLYJzzAQgAs/C4imB/
 b+pPBbSm85RC5tgzng8RgF9S1WXVUJupa7QEetNn58yodQr+j+ACoNeX3EKHd58m
 Ja2HyU/cKo0UwNOJA6iKwfrWXOGj7DigxdZdZ9QE/IyzsyrQPIbAVxZn1v3zmpTn
 ngueh9dUda0KKzeq8n5J6OjpS+G6wrMe1tnicM1vh18wIS1JNU/EgQ3hQ5y6Docs
 4xjiYmmO+UlmW/SiiFhwR0b5pwEaQwSLLX4OjEdpxb4E2gxh4+V0Bk1BzpS6GygU
 Qvk1Ct/elQZX3Cyo88OlLSG/UiYGI04JDuyA8wwbriQezVMn0PbVXdo6tR7pqpCD
 QAtI+LFEM9VjbwARAQABiQElBBgBAgAPBQJLYJzzAhsMBQkJZgGAAAoJEKOmmGRK
 r4LOtMEIAIrN0mDZgdvcsV6RmSfoWWawDOklTOh96B20iKYKWxBSOrGNwAAkJRfL
 4E+y/fu3DMoNUKJAAUZvjTOAl2YXv6U5LNK6IDQ5vGtERKS4VukBeDdgK9bLj95P
 cOQ2khuq4RVRL+4H4sdZyxLDD7Dad77rsuavECIK72Dlb9KX+/HJuHERxpqPNAjs
 FlQv2pfbfbr+SoOTjknLCIjct+lDV//y72WwlJeEYWQhKjVJupxPBGOyQEDCofML
 FvzDnuVl4Ft3qP/dLNwObtfghIz604M0aCpYwtItHA35zHRI/R7u24VtluA4D+Bc
 vKKK08LFvCJ5WIK8LKm1Ad/oQh3yuwI=
 =h+sB
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.354. 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.355. Vsevolod Stakhov <vsevolod@FreeBSD.org>

 pub   4096R/90081437 2012-05-16 [expires: 2017-05-15]
       Key fingerprint = DD9A 126C E675 1EA5 2A97  04A3 0764 7B67 9008 1437
 uid                  Vsevolod Stakhov <vsevolod@FreeBSD.org>
 sub   4096R/4A5A0B54 2012-05-16 [expires: 2017-05-15]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 XCbWVeYyJqaMXExTQIx+F+uj
 =EHpi
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.356. Ryan Steinmetz <zi@FreeBSD.org>

 pub   1024D/7AD7FAF2 2004-01-21
       Key fingerprint = EF36 D45A 5CA9 28B1 A550  18CD A43C D111 7AD7 FAF2
 uid                  Ryan Steinmetz <zi@FreeBSD.org>
 uid                  Ryan Steinmetz <rpsfa@rit.edu>
 uid                  Ryan Steinmetz <zi@zi0r.com>
 sub   1024g/058BC057 2004-01-21
 sub   4096g/0EB108D2 2006-02-27
 sub   1024D/FEF36DD7 2006-02-27

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 ZTV4zXhavRs=
 =wi3x
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.357. 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.358. 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.3.359. 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.360. Ryan Stone <rstone@FreeBSD.org>

 pub   1024D/3141B73A 2010-04-13
       Key fingerprint = 4A6D DC04 DDC5 0822 2687  A086 FD3F 16CB 3141 B73A
 uid                  Ryan Stone (FreeBSD) <rstone@freebsd.org>
 sub   2048g/A8500B5F 2010-04-13

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEvD5ncRBADjSSeOophd6EZMLRUyyqvBTYhHJiCmYqDfog+PG84/Fsb7sXXe
 3W8uZ/Wob/wF8vZey+7V9aK8eoJP9aK52SIMFUR8hdbXTrwhHlTc1QrFWLXjVqJ7
 Ct+ORGcqsUO9P/KwG6Waf8UG1Dnb4IZ2bQCoy+hEXpwiE8KLhR5X3vdq3wCgjARv
 ef8JXQvjUiiGUmPTtwumbmMD/0QmTbZOhdjC1TbIEOoj5BRZKWUv6rj2bXJL+miw
 DCTdpwwn5VfmZiYHeTcCclyPH+GfkNAhrYf4XQ0qUBtB054A+0ZuK/oEbHpqw8ky
 0qj2GGCt0m1LybiX0g9MhEZU9/Coq69TGoAFcysGisrEq4gJm29oc1gcXKXdXAem
 pP9NA/wLMp4p5BTd7Q+9fVJo2X7JTAtCL3djhvFpgbSeExhKCHflH+g0gw7qiMKv
 po1ozRY0r0fwr/gv/LcIh/XBImeyodj9Hnx3xd1jhToGoVP4Olm54PxNKLtcRize
 7CfrQr8TPG6MCY10EGVczIz6Qel7izPdqacXeeB8u8RYnoh4d7QpUnlhbiBTdG9u
 ZSAoRnJlZUJTRCkgPHJzdG9uZUBmcmVlYnNkLm9yZz6IYAQTEQIAIAUCS8PmdwIb
 AwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEP0/FssxQbc6NYEAn3Mm+6fmwl8H
 JuLh1vhMkmO+liK4AJ9m5Btl2vy1eKMfijZ2a/zIbGcydrkCDQRLw+Z3EAgA9LNT
 KPMCyYCuRn0OjAMiCcHiaj20sbY5kO8o6GSOT3Gk8cXxNQgglcvfYxuGxKjG3uIs
 9+1Sa1uGkyVwTCt9DUo9EGvtLxZx/AUU88M3aVF8kt3WiIjTEow2EiS1D7gmancP
 PI2snFh3qqbkN3oWcD3rg9uEwxa9i7ptb/45KnCFJ1bB4jDkuNRqeEOGg7uPV8sZ
 /s8EYFqTl5mW8hTvUY/XgKZl8TvFHxDDXQlA83OWa7RW1JI6G6zuJPHA7q1zwKFF
 DZTabKaXB/gQHYj+j5fx8FgzIa3J7s6MUnZLq4e3xf/3yWOgfsRAxgMjL4WUe/GF
 6vOvE3oxTbUMrQ8FQwADBQf/awmIQZWNMi1aVo2Jls5GpvcV0QZTo5HCcItzoEax
 rY8HMaaApvbiGFckN75O08GuKPEtoet232CEBet2D0NS+VKqp3yBcRwKELTttOFl
 fi0ZUWH/Mk5NEJUSR+lUzptNGRmtu4ftPW/apjrtzRTR6k7KxVPZ0q171qQfF90n
 zFeWklDK1lw1PGWk5X0p4qHCCMs+6l+TEgYjCXZdaDJ/e29bNmXdz3ZBiWbu/Kjw
 jk4s6/17TVXl/KhDAyvfZ3IN3d9BN6h+R1gqE/cp7tGvgDTVZ4+nPm8NVaOr5sOl
 4L9EagqjMAqQzcbhtWHG8PE76P7wnbU2I5pHbexqLlTpGIhJBBgRAgAJBQJLw+Z3
 AhsMAAoJEP0/FssxQbc6JK4AnjiZo91wrPy2ZqMytQaPL3SJcmv8AJ9Q9jvmFruu
 qi/JXA9b5UcmNn7xoA==
 =J2di
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.361. 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.362. Marius Strobl <marius@FreeBSD.org>

 pub   4096R/20B70DE13F1D1E4F 2013-09-26
       Key fingerprint = 53D9 B435 5F95 980F C5D7  6B02 20B7 0DE1 3F1D 1E4F
 uid                          Marius Strobl <marius@FreeBSD.org>
 uid                          Marius Strobl <marius@alchemy.franken.de>
 sub   4096R/862A3771EFEA91B6 2013-09-26


 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQINBFJEHxkBEACoPdYVQsnnXTaEWOJILC56/k9zwy5HjxJSCF80yGwpRyR+e7vf
 0GHjrhm8NKEZK2LnA84UF1OcTwOBRDYVdIiMff6H4qRC9mBJdF6BHQlF4MtwNqxO
 8jQ7l0y/kZ4uuG25suiRHXDBdrcYTVWJZAvX3ig+p/MHFuMex0UrHAGVJt6WUT15
 jajSv4tIM2YbS75kS0BanR15mhgF/Uz5XgKdPUHLtO3lDIpG1Qd7lKNc8NTceZFl
 EoWqQ0Z6p3lzPTVNFonO4eJepGIIdwd/NoWwhiXS2xMFNw/vrZNw1xKHHSx9r88Q
 bWb7o8D4LhCT1RQWxFDtwjQ0tbWRXqxZdjqWnKTkvRiJRWeezPwvygn3GH5lLdWK
 bZi+6TqJlVWpMWKMcWLGGgu25TuiYM37dkZWZHEM+KsK7JlC2EK4oyaUcl6KXe/n
 FU/718XsfPiuXUDDgrzawO6R/EBvecS4CVQKrWQiLxqBc+GW2CzFt8r/0C6lb5En
 Duy0SsJN1VdLBXAaFbiYyVw8GCeadlSWH6kyvOSHqIg3KgN+O/hUouBtGtFSEM2u
 xTxEmbFOYb0Gl+gf6Y5hZYvQSyc63etDEt3mhMtptJn2JJ7erHPTkcA57qX4ynCe
 +QyT74JImpvE2JvO9vuePmuFDDBfVU5Z/PBjjF/ExPDhl2tHD6CPlloUBwARAQAB
 tClNYXJpdXMgU3Ryb2JsIDxtYXJpdXNAYWxjaGVteS5mcmFua2VuLmRlPokCNwQT
 AQgAIQUCUkQfGQIbAwULCQgHAwUVCgkICwUWAwIBAAIeAQIXgAAKCRAgtw3hPx0e
 TyjxEACYa/gjvvFzVgBJc5HyUauIgioIXO8hXLXe/zTAXCYajwzduyj1hzKTv/gt
 hqvyc4kQuToGV0j0gZTEISe6uD3ncR993P4UuNHlm8XOwy1Yqt/Rgt+PuANE1Y1S
 GLbE95wdBYLEB/mRvqBVDliUvqUCWQEk+AB4Ig0PXQPYPJovbd47EuDptm+ldTum
 fZSVesIvSMEGxpnbi5rrsV3nnIIdTLjrfdOsajULnCw8QAZq9faOjCFD9nNPUzjw
 /BFIFO3Lt60LZIRNDGk4EFxsOxmmiSjU2GyYfv8yBc2WYu7saMiOocCKXbXcZRyk
 7og6oyuKfXJLxd6cKxisw5yp4QDgkQB8RLYtod4CX2IupY1qXLXR0En8goYJ3tCP
 uI23OuDipRz85O41V8RlKO3z0qPFpQq5P7M38da9ppWdcLWs3xrZtdFmJ6v8aRHU
 NX+BKZ+gYLl7jCUOS5Oor2MDo1hXBbicBD8ijVqXJA1FhMxRtTQUEtdV6jrc6BiC
 RNfwx3VwEuY6kBN38sAZ6E8s+GZOYHjMxcuuYgeG4Qc1nksA29isrEOcSEDCC0Wz
 PFmEWrOXsPePbD6s/NOiDXeqXPNpRkHThaFASadidsOlX1YF0DSMqZnub1SgPWy9
 azKv9Nqfk9+9h9I0jlHv0MX8LWqzTOdrw5499xWRWJ7BKlkjsokCGwQQAQoABgUC
 UkqSuQAKCRDtZ+zWXc9q5zdMD/Y9Y98QppL4THVfzUwWd4mimdDs4L7PfApGXfAW
 h3RPWA0GKqLlrVfMim9NzXQRJzopleEZK1saIAN0HPyfK+wvGQ6QInSULWp+InMq
 aUMUdK4OvVziSxsZH5/MtSLj+FRZxJTyvAWPcZgjE8rhjiJFNvuavRyXgnencQL/
 jVe6f209SKa0U8ewz2fHa2ZooOPX14kzsOzJu8+f76gfL3lEyldxp3paL9GG/SOz
 xq+QJoJub0IgTQEngIGTFEaTVwGJQTPiEQY1OLEu6m8R7nQrCQDn5JVJq7RKj9C+
 9Ee+5JJKtBOeQhgyJu+Yq1BJI6/D1DBlb80Skj3tLEoWldC8Jdb22iabg8Bh/ril
 iHbxgDIIlgigEtCLOrZO5Fo/IyNufq24s0A5gRCnDDIBzy32jSxZ7HQb0dcDxl/X
 zswcXc/h00Nbrp40sviMFUjx8RhCsh10XAOd4ZRh4bQ57P7hzudBtMjpse1bYioK
 BKbzseU+uHJFa7g7SpPooxTkIctbIAOyf2tXmSHERH2AaNvGysfSDQXEo5S7V4Ns
 CnuqebL3RlMHb1lJRnsOI+QwRjmIvN4FhRyep62+LorNmzwOR6f/sl04NUdPJ7b5
 /HkgbC6SoTbqSv49AnGGf/0GjeiF7/9Qs7cNCKZQBLuGEQpLq71pjYrELs8Q7zsq
 cPYdiQIcBBABCgAGBQJSSpEcAAoJEJLIQ0VtpqZu8TEP/jauO+RQHM5Qkr9D+W/c
 i3H1w6j21nRGfViUrvn/+quXWScAUOGkGYhfK4ZwTudogXY0CAU4qC06kGVClfAI
 5f7x8mppac9IiVXEtSD49SpcfHr04JfJlFhOTAgZHQj+ocPpcYEUWhbRAIbPoLkf
 g1iV8GbcxNC4DsnpvncuNyBMcyJhsUiqSBl4/np/FjBZAs+csFxq1es2RPRL+/nw
 LWQmyIeG/TRGvgyiHnTzmT3tk3zCPmLYo1dHg22isIs4nov5bDjzpoQ8QFivfs1T
 mCmh+6L9iWnMFcM21Ei40j8EOhMWyS68d3EywXE9DI5tFtrpaiaXWANEweGrOOPf
 Sr6u6VomaXMf8L4zVvzVIk6kyN8xuCV5bX+lcJ4V0YetrPr3xfFK08SqpaTgHDRD
 raZ6Y6esWJCy/8Stfe0SDGymOLXl+c51s9R4xTYwgFbxWXsqfZg/eUzo8a4LtRd7
 agnpdBiCBeFUJZGVXaH0QnhSMzesh2ZE93ySXXXrRhiu8sr9E4snTkD8LKcv31P+
 zU+/1vUrGogZ47mvsCqAMYNYKwXU3U6HTKfbcFjcMUgInIe1uuAVJndoZSHDWdKm
 CZYy3XZnaz+d6bdcMYV2d6B7xzaIuVX1RRqSuyVjITBCIXT5EArPaKZlO3CFryu5
 mql4LRhmNJKlCE+Id315DsK0iQIcBBABCAAGBQJSTTvdAAoJEE2hFOXEouV/6RMP
 /jrBoCkiDszFQSoAcBdOhFlkHetZq23kezFVbXO8A8VZQsj7NWTDU6TfFg108Bho
 e1WOX2OPoCUny9BD4+ICdJoGHlZTVNS0AhyqZfzhDHXDi6s26oC5Amm0oMB2Y+K9
 LPftcLOSpP4CiG/QnjOfoph4bry14kOmkvxw93xMadkn1rFKp+c5U3VYFdsPs62k
 2WKcbJZt9phcvLQFXi3DT3Oezc+TFE5dRIT3V5v0ix0DoLy0iDy3QFzXOSpB3+rp
 79kTg41N/+ijsjppHypVzIGscBtsfEXY0CEiINom5qxgUwU+tFw5eU3GY0c591Fs
 8PW77oLxkvqbBf6dh5E+amY1nNAzm9ORagqIKdWEoKIhXUEBcQNI9/deMcq8voAY
 DJ0q80waMiwjcZuqSqlkI+YcfYmnGUHzGpTRgz/TvpFGuw942H9BdvAcD0LtQyTL
 0mFawsMxDWRoYX+c68Zni2Hn4Z994E/Dd5O45TPBGQhYnVg9Cr8sfmlGEWYz0uGI
 WA2pOLOpe0VFsb1uPxC8CzNUmx6OyeOIM3zxvamrQIju0MoZSQDmFK8Fmb9iQ9/9
 TXTKmO5CPzbDifBzfGmQlYdLtYxK2W7FuE2Qjrf4uTEQpUKM/ANUKbuxt/u0FJDt
 2h3aarzQeItJYkQGM8pmhYR3hrwzI30ABJvL/Pu7/Ao/tCJNYXJpdXMgU3Ryb2Js
 IDxtYXJpdXNARnJlZUJTRC5vcmc+iQI3BBMBCAAhBQJSRCAmAhsDBQsJCAcDBRUK
 CQgLBRYDAgEAAh4BAheAAAoJECC3DeE/HR5PFIwQAJSn1PyDDuPAPK4z3HzV/pjC
 9mLv/IsSwYuXcNDlw0+aYFNUhLKRJUxxExGQhggYPV/zW5YY4Luz4xYHok69Z9Cp
 wTgt69jLcSTCSKNQIOfDcmvM+qyaQrbxe40AjQj+T1dtVPj62mRw3ThpJCVY/pnB
 3QZV3i6q/l2LUa+Xl53CP0lLfDu2qPEJIvMFshXbc7IBKz5/YMasIQlU3aNVZ2/0
 NYLpwJev9ZiXBk4vR1/tFMCKGr6JORXNLxE5jhQaIHMgqbZSxrTHoelWL4/OYg4r
 gqaWowlvuq/EjqjV7sHNVjUmv79ttVIAu9Xtbtpu4WtLdplZxEPljlJu5aDdj5Nc
 umTQijUdaP7ljl0HnK8/SRZP3RyaPOG9T6xtMUDE2RjFuSBF9e11rMBlIodf2G7S
 hxSL00PPuNnuT2u45O8llvNGmDXl2rMlDAmPwIkfVSfbQlUJPdWsTVIjUhsBJC+c
 JU/fNdlLnv3o8VF3H4Biq4Rf49mpW9vRqhQN+sogBOYzYWKyutg9iA+i5BMAhnvX
 Mr0Tc8pNdMeFLVoMFCn64veN4XnSXNy8YjV7UBhJ+gkXbd3dVrwi0cASQZX4/OuI
 ac5+Eenulou87PVxH3GzWicoM4Gs90L6vvfJeVQJ+98XNBKGTk+4gqs5yoXMSh7E
 3/ZSktFEAOZPgL9J3IqBiQIcBBABCgAGBQJSSpEcAAoJEJLIQ0VtpqZu6CMP/iHl
 x25lxccm+n1EGP3UZ8J/z6tzXr8ecxP+g5Oxub1y23lwlLanaaVLUVVUNgSPDsc1
 JTp8l6Xi79BFmQ/GNlRiZnmsOO2ki6guC3rGt7UQqABgmmR4+vAHtTNPSGusR4tT
 ke3Mzmmxg6W6Fww+pXwiW70Y5cZalkWDiPZKJVGA8vnLD6bSHgYDT/Y+kQhVYgJO
 SNieWKKDKQoTgB3aK56Btn9P4sYkfEzECZlwJrr7u45xKoH6ywF/l5wP4ffK9sVN
 L9Hm4eiQV4mCb7U9Ds4ZYe23IMeE4cSSbg88vlpBuwMFGKbwylC/bECQaFj4cPJN
 eMc7Eklz3dWa5CwDhTPGpdmKFqk436Viu3L5N5p3Tme5BF22H6HfHhENk4SUvUQn
 HHzYkkN7xsfw0imMAvGzWhLqkn9pMoVl38NKD7PE0G1MPjEIBrbveCxpdoSsOR7M
 CgALyioK9wmHvxCm5LWmXKBlh88+/xK9h/rdXBx7RAWzLuGVal0W8qVN6+YZVp4o
 JXXZX0iAL2wO1hwxrEhGMCGF154N/xvMzUfH9A0JxdCT3jTUs6mIwO87tuRqnO1Z
 Ct0hdS0IGHOcOjfQpOAmBnbwCBh+okqJZi/f1Y30lnc+06c/02HsQ7OA2yNhVMb6
 Q/UOQJwI3y7ECdD+iDwEPP4lcZ8waDtSO04JatJziQIcBBABCgAGBQJSSpK5AAoJ
 EO1n7NZdz2rn3MQQAM/1Ex9AyatEoESgk5MajhQySCHo3l13t3K6A+nFM+usp3QC
 KffLXqxXZSdLyeeNVNwBBAE3Z6khB2YRZWTq6x2dKHkHvXEiESMfdgI/HOTxgr8B
 7a5/SGkdc+a1wDm5qAXeCbClxmKWUY0lM0YzscJPbJujAeEw28mX5w88wfoPockT
 bbnwv6Cu2qtwibJmnD9VXSwz0U7qgFN5fJGQDtR0bWCskptzJZ6mpHHmSwgivRSq
 bqd+fX4xIVOS9H+0tid5ufaH6Szp8GwqeIaPUxNjMA4R7jxEkV23sMhPAcynsWxi
 I118Rc1HjwK47v65YsUh5t6V/eRLWK3WthV8vKkrB/cM+3+8DS3bkLblEohgjpMR
 rI/S7ckCh9xWSGFhCp+oPnd4OsctbRzq5uzhHTTwabNNtHl7ndYTD2k/CJnu4o1y
 ROi5UrFLbOx+aVQBBRN1UEddDk88nUGOkwUTbWBACffbqdBZcAFkfQpAGjRdPaU5
 Ofz2AG4LhdBnxecFstLzxdpzGP0idCCs3P9a641Y0r7rw924KDW7KXIl+qgEma/g
 fvOWIIJ77xznoPP7dS7nVc7wgHhfMzrHxczU0w9mEInJ0CDuPmKwA5Wrq3hYQFTq
 vD9KYNYUVQwIbupOeo/KEtAxtMFDr5jqjgiTgYZ7/o2dH200JACSaN2VJMtRiQIc
 BBABCAAGBQJSTTvXAAoJEE2hFOXEouV/SGgP/iVQ5lw2L7PDjT0cHpVJ+Ym63rgG
 2FliBXnR9hiirqNAEc1yIbdH6pwaRCmeNhM2Pc+wYQpc3Sqt57odqUPO3onDhNuM
 /mZ/LjuhXm2OrXsCkUxvlEsNmP3GBDt9hd+8Rf34BK6quR+ISTCTyZvdpUauKmPg
 O+pShaBGZdYED85guP9dEbe5LZtoknuMhE+Jjoz9LFg883lGEjdkHsy2IqvpWFg0
 kl/1FMQptYIOJ/8oqewGtVSHQbDV3PnSi/Rs2YMIuVAvVcCQWEKPAemCvXutPrIr
 QBz9tSWipYSW7I8domLTljgZLzxBBuak9b+T2MD6tsh3hmoV7Sh3rC6Oe1oGY99l
 8bQcA3XHCu9nM6rc54kp/jfkVewhoT1jh59BDDmiuol5qPWG5ZbKwMlWSX4ogaiE
 SmOGglSBOjMsknl90NPmw4dJ3YUD6JDzrBbrXkAAbPTdadVHZvBwW9qLj/ULtWp5
 jBjRkfAcyFLMZWiA1D8ocK+GWphzrjWr1igfaAcAGhrnGIOlg7dhKumNv5xvLZvy
 XdK2FkqLRc5m9WbImHop+tUFi8dc+tm3JyCd3vp4NckcaueWN9NuuD38i1+J8HyL
 gFPai1Dngx01d8HYmIdCgolUyE1ZIakVk2zHJedDFg6XOWHNp9459/IHBADiNC3H
 WVJQ0ha4Ic14UkTluQINBFJEHxkBEADHplEnGzbd//EpPBt3r7Y1dbJXbBFUYwNf
 8uBuqhDPJH4eI6csnYK8Bc/QqkbKp1SQigsFoKQguTEvQCYM9ayKFZISXZgkMGhk
 7QCm9ghGhMoe2Ng1nr8yjWzswC7xf/2zArDQl+1BtFZIXjQ+tx53vTsMPei46Yn3
 WdQyFtkEAtS6VRqmPpH++jwshuOf77TanuGU5/XretbsL+mHTuNipny6xEW2+l3Z
 3dbW6mdKbI9iFtObhFDoAk7iIS6xTT+QLQc3eGH3AP8wcE2Juq67/64IuhwsGNr4
 wsnex8+0pgmaVwFkAQQYydPSwyA6Kta6bIW23/EdbqlxmFqg29kqS/8DtogmNaUc
 UhmiFzDDExozqKC4MUimGd+IAuFAxpRXto8Q+euJ9n6rNmvtXRVQOy09f6LuI866
 cfVBDzWUZBM3hIx17xGhp92bC8eZGljYfCMveGDQ8HzBmz/tWzzIuD0LopBmrmIO
 L0i+aZGF1kog9ZjHrnk4q1GE32+ONmO4Ft4E6uotYXG7qiTEacFL/dPjQHrs4+zD
 TAM7fHfwpfyHW6Gp895tbcS4TKW+a1w013+mRUw3vAl3+Fzap/CqK5gMTyM6uynN
 /GX9wPBoIVNAyOXKkQB7BJuk5WsDeAiruZPJk8nFh/Zb6zZfCeo3+sHOQOUFv8tL
 2zls/oz29QARAQABiQIfBBgBCAAJBQJSRB8ZAhsMAAoJECC3DeE/HR5PB2UP/RMf
 MLVCDs6tjnl8OSllisYT/jXsV3NWTFYk/0kLvZi4OBDwR/FDh4emnLd3Ho0JnALr
 X0FvklNJg8nrbeLxWaSSLncq1VZ+7R+vcTkawL1WxIKh9YRcppCpoHCC8GwOyulo
 Lw4SQdoxbuDXQXA10HV88nG1r4jLN/YtkJPFv9hqdOC5tXVmGCnex6rUsEfkvbKU
 XAxIbsLJMOi0PGczP8ekXbZI+OBnVjm8toEj5YJhLQZFTfcXqABkONt7ojbLRskT
 XMlodzIaaPca31BuitCyK+H7s4tFis687FQ3iqOj4QODUyZBda8tQ/NeedSIXQdL
 uap8+/yGTYdLBHkNlAk42rAV26zdNl+ccH0n+4czpSb/eQ13+ww1c3iQQ9w6rEGD
 i5JTfjdX1V0SXmL+mjELELlLOAmS8PtkIpEBpxU52++zRVtrK/cIqjfTft7IYhsp
 IkiGRFzUb7aKhqBKaUumkNQKuMVjWR//rhzcsDkMFM8QggwZ27qa0CkU3Du3vF0q
 cxt8QheStXG6wdGnO/IqqaZEDKLUJKidWRaI/m+/JwcNw8zUB3g0Y1Oyg0b4L9Yt
 Bgq3WGD+ud8Q67Tu2qIjnEVSiN7w7CELdErEmm1c3P0kXo9BkhgDbLWdjBeTGlJI
 Usj9AWexuTGgc19XGihRXOApA8V9KALVj4Bj0uqg
 =Q4YS
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.363. Carlo Strub <cs@FreeBSD.org>

 pub   3072R/D06F0BD7 2012-11-25 [expires: 2017-11-24]
       Key fingerprint = 61A4 F2B8 2A6C B81E 5557  0798 78E7 DE70 D06F 0BD7
 uid                  Carlo Strub <cs@carlostrub.ch>
 uid                  Carlo Strub <cs@FreeBSD.org>
 sub   3072R/71C75997 2012-11-25 [expires: 2017-11-24]
 sub   3072R/318AEB16 2012-11-25 [expires: 2017-11-24]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 5w==
 =X5dP
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.364. 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.365. 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-----

 mQGiBDnjW8sRBACtLAIsIja7+4PNGeKl3CWK1BDt8mJrNTU7yIpIFyU7kbGFzNDc
 nKuTGXwFlI/1N964p17uvwVBq49dFTGFOzw2AEvgwl5Mb75Wsf5ztYVSir8ng0b7
 123nb09ZExWCQTMMbD6RXEVfTrIUEHazYMDIhuIU+/WkYVhNWuiaACvpJwCgjuEx
 /8BANLXa9UkQt5ztgWwUUdkD/RvGakaQr4gAhVcm2mfDYjxLtm1+BxbzsDV9U2Nv
 2nlXSfCyxvbTjwX+Bq4/bwR1a0KDIPvjqYAm2tQY+bsPGkjwBL0DUrHVTRK2PpPc
 K/9avIFk+PYkpakPQx3saE9b67UbGk5rUCnbHU99mvqET3MtU5yRn9B8hu7owROi
 EXFPA/92vhsPhcPsvTq9Wi4FlWF8MeDyZsEKA/lLUTl1A4QnbiRtC3bBvxOeoPPu
 jQP25DskCdtWWcOuvHRZ6kE/WncID38oc00dqaB9xR+pi/ltnXZpOCjvU1Q0yMd5
 QcoD9Im6fLN8zo4gr2f2cwWC7TQ6TLxTYpifGK6sbC0ATdnFkbQkR3JlZ29yeSBT
 LiBTdXR0ZXIgPGdzdXR0ZXJAemVyMC5vcmc+iFkEExECABkECwoDBAMVAwIDFgIB
 AheAAhkBBQI541vMAAoJECAVMdWEXf7dycsAoIewU3SxZCQWxKFdQ7444Sm4qd/w
 AJ0W8T5xXDLYlW03TjJuLo5JnENQsIhGBBARAgAGBQI57nu4AAoJEF1SHIzmsVAW
 xCYAni+wfeykRrWXDjx6LEbwY3/tJ+vFAKDkDFVK859XVpmHin5cwYESpiWEuIhG
 BBARAgAGBQI57ovLAAoJELYkBuZbwVKhP9cAoJbEJSB3b7Gs4fhkohykCTdN6ofK
 AKCGSbPBOt9GK7r+XVOPBVJBpZwHYYkAlQMFEDnujg5NVigheQUMEQEBxocEAJOV
 MLs6IKMMeWX6OiegkmdMaox86gHOOOS/94n78ClwTJ8kf4MVPF/qz9oLvCNYcSP0
 IevlMAAMgPQx4amUwwrdqO3lUWx01jrxO3L7r7PKLCT61gIfoVhjJSRvA4wVdGRB
 OhDFZ18qzTkqUORDbjohknDSt6Ydxh6RwEKQM8EtiJwEEAEBAAYFAjnugY4ACgkQ
 H3+pCANY/L34TQP/e6VCd8sZhz8pqlaxk2zHmyCKR9gKHn1P34Fjd/wt+mMz16T7
 aJbr6V0qpdvZdCkcmoQ9Q9btX9uu+GAQLUHPHLCn8bg7icw20d46LUmm1b3x3N1v
 OdBk0AykVGei+TuSs7QLFQXWqwQCOfBWVk62Kw0fL1hMBVPKS0uHPotRqBOIRgQQ
 EQIABgUCOe6NMAAKCRCI4Xsd/OVlYdj1AKCjZ04lHm8Dk56adtZkzdzBCx8C5gCg
 q3QsF46O590E55SsokQd7YD8kASIRgQQEQIABgUCOe6NOgAKCRAY9QOAJMJ4AlwI
 AJ98qRCL2U3KnYKrbPc+p8bzZxbTZQCglbkX8ciJVvy5oHzJO/5f+HIg0k6IRgQQ
 EQIABgUCOe6TegAKCRDC/IaqJTlGi2/FAJ9l+bY/2GWpmUxtZYs0hdnejFC4IwCg
 ivx3tjij0SfNTP79mbYFX3oJxo6IRgQQEQIABgUCOe6OpAAKCRBzh+KSrRDGxCeI
 AKDM83nigOH0/v8H6M//+bS1LV/A0wCaAqGb5Nl+D8pnYK/hEER/YUCgVMKIRgQQ
 EQIABgUCOe9ejAAKCRCTVeV2USQDllNdAJ9gmpeLdhkr5u0pWuO+o9GdUppyywCf
 QWuTbYI1gUKl1z+19+YUo9+kJzWIPwMFEDnvZ0rjHjI9QK4wUhECp7YAnApxxvTZ
 VLi4bsBqM+VDVnbPyVHfAJ9vj8pXkv400Zm7Mq8warkniGN45YhGBBARAgAGBQI5
 9HwcAAoJEBoX/tg15TvDXCUAnR3ymarKUUkgdFBMzq/H9paGWz6xAKCOLwiMYhte
 cwGDJX6s65DkkK1V6og/AwUQOfzDgnfOKcWPoS4gEQJPAQCgnvIv2HFf1nX7Kool
 PVvVNYS7y+IAnA073e5i5N1HQ6+ZdDPMCm4G1wPgiEYEEBECAAYFAjs5NIgACgkQ
 k6gHZCw343VmYQCfRIJqA7Le/8De5lsxUKJCwofEiE4An3nHw12vlBB+pD3Isp8t
 IMBO80T2iQCVAwUQOzoLUw7tvOdmanQhAQF2wgP/STr380FN4cqHKPo9YoFPIr3w
 IkiX1HupMBWvp7yqU/0VzWeYw5/SPhtL1u+4OLQw+JzRTXRWksleBSLft5aoj3Is
 6sry4ICNXz3nQepGSIarhtjZ1MBSVhmRPDvRf/aQSC/nNhq5w/GesQBPHYqNU+8Z
 c6mIbSpSGSxneQuhLEOIRgQQEQIABgUCOzoRrwAKCRCBvdPEDh+bedDkAJ0R9Gc+
 sVy6QbjbbsCD+XbI/zXqqQCdHeMN6+yPD3qKKQajYzKYIqRFyhuIRgQQEQIABgUC
 O0AKwQAKCRAXjuJ0+BZyxUSAAKCPXKa1+HidCv55P66AvH+DAnCaTQCcDPrzPjxd
 IJ4RUQgasMK2ptv8k26IRgQQEQIABgUCO4hBgQAKCRBSAByVjgkCI84UAKClNjgb
 0DPRySH+kL4zOS6xaNT5nQCgqEVDEw3kBWey7LUtyjxPS8TK4L+IRgQQEQIABgUC
 O+B2KgAKCRBeakKSkH3ZZloOAJ4r6my3qw+c20aweoKXCF4cpBZC3ACgh1CoA1GH
 hvq/drP65s2woQE/Yk+IRgQQEQIABgUCPBEtuAAKCRCmzd7uuzvZuEMLAJ9m9zor
 3WstocNvkKInbcv5TAcYcgCfVfLYd7GKUBA9ZBGrUx2s/Cezl9OIRgQQEQIABgUC
 PBE9FgAKCRCj8j9oMUUU7sgSAKDXFAbnUvT6CBZ7z71sOKw0LlfTGwCeLRVAnUfS
 ZLV2CS1/3JKM77W6CYyIRgQQEQIABgUCPBE9NgAKCRB0bcUgGn7VbSQOAKCiIWkt
 ZvGQsgcHeR4oSrqB/vqUNQCfbDptGRJ0rVlbjJqYbq/CJNTd0E+IRgQQEQIABgUC
 PBUX4AAKCRCsjdSbXIj/ndegAKCYFii+lsT2fgx8/4pKB98N6bKGlQCgqLOch91n
 2HH/2NA4zCjdfKVR/RyJAJUDBRA8FRfn/R/34dzmziEBAZdxA/0fn5+SAO7fMctj
 LsKfpMY4f0G9sXVeBH6yJr1Qqg2vAJSYod5EXJmpLUIhMC7WR0WEfOIg7xsvgDhO
 s1ggKiGTmAN+0v11w1TXxsY0LXlWVtVCq4Kou4o+ZHtydXFxfUSLV71oovZrPAbe
 SnE0OTCqLpUzYoBV14djD1iKGMF534hGBBARAgAGBQI8FZ17AAoJECBlfewSPsYx
 BPAAn0XJg0Pp8FBkV0S+/Ssd4GSRSJbGAJ9x5FYDB97/mijlRvQaHRflOKeTb4hG
 BBARAgAGBQI8Hd9kAAoJEHw0tOFM5PZV3yUAn3nikj6Z4cQ13g+zDs+rvNx36fKx
 AJ98vb0if81tw1WVazH8XsJbGK3ICohGBBARAgAGBQI8ERs5AAoJECILyIMzDEp1
 Z7oAoOQilHqP/vFzz8p3j4fvZs7Q8v8pAJ93Pj+WEtRi0H/k/m9sYIQ/yH0hiohG
 BBMRAgAGBQI9B6kvAAoJEEbtrfQ1fWX7IzkAmwQw4TRYchaTtTkT8QJ06+XmAU86
 AJ0d5Gb9MtC0XdvMPeCKWwgdq/3F/IhGBBIRAgAGBQI9B7BlAAoJECH5xbz3apv1
 fukAoKPv5i0h/ID1XiEnUhuyR2dJAAzVAKDURVTZzxDY0ehVTQCPxfpNg6hsrYhG
 BBMRAgAGBQI9B60qAAoJEF2Oi+nyOBrUNzIAn12QHimN1BiKppLknVfVTR86BbuJ
 AKDcN3RN/660kLLsfKOAOmFoViiGIYicBBIBAQAGBQI9B7BEAAoJEHxLZ22gDhVj
 gvAD/00EB+DgmbuAm7vJsD2IiqRiFzTWUA+ppnoYPKfO6w1Xy4Blf6XjRwSAiY9z
 ctFSpQ3oTiHBkyJ7+IZ51NsJdaj4GiDwYuuP+F1E/ThQFunc2yxJKRDLgs2E8mSz
 Ecz5XQ6+7AJIT2mUHB7SDvhqaLYhKHLBSJ+edThpKISlsODFiEYEEBECAAYFAj0H
 rSwACgkQtVKwQ3c5BdZOyQCdFdmq32OIrMwVes3EBVzIrAJKyIQAn0jxtW7INcgO
 oi829JPBFIYyUZFIiJwEEwEBAAYFAj0HuVgACgkQtoTxfMEKh02L1gP+KzfNZO9J
 Fcp9oFMQ7rQXGkhg0OzGxYMg7EUt42wGm5J3BI/wdbMRg42lX2GSu/HoEm1jSP6Y
 rSIXxaUnX48xuBSWd6GndVdCIVOavruU6hUjdhg5G0APC1lk80DK3Ib0g+RQnodQ
 gTva9iWzV2/8OLdaT2NwD0JP5Eh/nw/NewOInAQSAQEABgUCPQewWQAKCRDW4KH+
 T74q3Yk9A/9U+KDqW9l0CyDbad+sVExgAml5jXzyRYfWxLMta46yfgHodEXZnokh
 YZpsIiMOswZw8HsjMo3aKCwU4eV1robkeqpgSqTDCU7RRLJoUDDEqq0FWAf1CEuf
 58zIkxXb6P2Q7fsaOyOO0cel/wLhmcJfxQL2/Z+C1Kc+MNwyuW0tJ4hGBBMRAgAG
 BQI9CCHtAAoJENjKMXFboFLD118AniJmQTVOYlk/ji4uM4zPwF/nZXVhAJ95SqkF
 vdR7dyQfeMGfzXH0eq2mPIhGBBMRAgAGBQI9yzBOAAoJEG2U2yGkQUVxhUYAn3pf
 cwHeK8aQDebwyN0mWzIClgzYAJsE3f3zW9VsRfMAuQgwXwNGyVto04hGBBARAgAG
 BQI99uSvAAoJECnk97b03b+uobsAoKBPMtrUUyOUz3q21mZ/L8Tw+jaSAKChwBjX
 hcivV/+ayoAMbWOoNnjkkohGBBIRAgAGBQI993/lAAoJEIyjJ9tDO6CH8s0AoIVT
 7w1OuVpUoMLi3kCx0fYAeDhHAJ4qnzEC6GezG+m9bwO55341uYMAUIhGBBIRAgAG
 BQI99386AAoJENfKOrov6HXMU5oAn2kRaA7dqpcD3yHxwly21YL4EQ/GAJ9tThrS
 wPasv74tg3zE25FqdnrTcohGBBIRAgAGBQI99vi2AAoJEP5PXn8DpeEIfhwAn0HX
 rxH4jBwNFEWtHyRhnnq2KsfaAKCEtWUIiP9uVPNtBArpJGRLdY9Gm4hGBBMRAgAG
 BQI994cWAAoJEFawMV8BZ8o4QTYAoJ5zFMMHcqi6lokiZ1rcoc4EkvDcAJ9SHvm9
 Cc/yLvym2+d7xLaGfFRpL4hGBBARAgAGBQI9+AZ/AAoJEAkitBQQRHddPKIAn0lH
 5rDr2OghxOBKicUCQYAd8bICAKCTZjUE4ECNt7fWPXHXOrxNikAqZohGBBARAgAG
 BQI9+D7QAAoJEMhTz3PoZU6X3GsAoIxw+xOEleTOtul3KtWeLSnDx7wOAJ4xJCr8
 D4PH0+h9xFijiKQdqsQDs4hKBBARAgAKBQI+KO3KAwUBeAAKCRBuiJudMebjmKHt
 AJ0X20zqwBq5ktgrzyyCt2zmU1AtIACfZWie6QR5eA3QU+U9HZ18FPxD0ViIRgQS
 EQIABgUCPpJNTgAKCRBh9A0v3SE9uo7vAJ94we2LUiG7sY7eg4l3AOnFRAQ8cgCe
 JJb38AMvB0VG9JjqTaSVc9TfEfi0J0dyZWdvcnkgUy4gU3V0dGVyIDxnc3V0dGVy
 QGZyZWVic2Qub3JnPohWBBMRAgAWBQI545CKBAsKAwQDFQMCAxYCAQIXgAAKCRAg
 FTHVhF3+3a8YAJwLQwRdXo1/0RK3G4EFklG6TXXZlgCeNMTkt3JY62CMDqftWBAC
 hiTgiP2IRgQQEQIABgUCOe57wQAKCRBdUhyM5rFQFmk3AKDtT2hQ5pX+6RZ50ORX
 lSxQ1BN/FACffkckE+GkCPt6zOMa4AR0D2ouO4SJAJUDBRA57o4pTVYoIXkFDBEB
 ASQ0A/4yzORAMwz6ZxNobN5ULmtD0iVnXc4Rai5jq+Gvpbo6GE9hW0TYqMGelvKm
 JTNy+Ug+uPPCEzT/QznQRBfXXaR81WeGrpqEEstTAc6oBksLDRq08khCttGm+Y01
 24Sj/ECLpUtmSG4XVUzt92vALHw2Ye56XBChsUA5FcgT5b4VsYicBBABAQAGBQI5
 7oGoAAoJEB9/qQgDWPy9BzgEAI6sCXiG8h8ynlpXyWQblT7gFBWkZ/pim/1flIwv
 fzb9NDizeKhK/7Q2yKKAi0WmEVu4aPO8KSte5w0RrcL/PN0ntKfwHItyJm4khtRw
 Lf9xjCLfInRbCogXqWz3l0lS7c6GboVMZg98ckNMHkBIz0WkAc5IY5knzN32+Q2l
 MYgNiEYEEBECAAYFAjnujTIACgkQiOF7HfzlZWHhwACeJGcU/uPxHSzFcnBv7SyX
 l6zx7owAnRaUWXQmUAePv6BrnrMoU9H+6126iEYEEBECAAYFAjnujTsACgkQGPUD
 gCTCeALgTgCfTkrdc2jsG5Gp1Lz015mDUDV5GrcAoI0Cct0/fKB6Is522b4SblU/
 wS42iEYEEBECAAYFAjnuk3wACgkQwvyGqiU5RoudFACeLusByZnXwg2b23xUxquL
 H/wsVacAoLdFNOvwE3jjMZD+6JD5cG3DYGYEiEYEEBECAAYFAjnujqcACgkQc4fi
 kq0QxsR6ewCeKOFHSlTZH4NPY1HssXShRafcnQYAnR2dDd0EhcKCe9gNdzrSqDcM
 Vuh6iEYEEBECAAYFAjnvXo4ACgkQk1XldlEkA5ZS7wCdFUYiuNyhDK7FMdhQ85gs
 9MeRJR8AnjrqyQgu2dYTMFRiKj/Q++N9JT4MiD8DBRA572d04x4yPUCuMFIRAkDe
 AJ0VdYlBJWvJcBNMNBoVpZtpBldqsgCggs9FcLWIJrV3najTOUOA+V4XCpiJAJUD
 BRA57oFKAdtd0pfmON0BAekNA/4/d/2ej6u0l64BtAIuQOm+MGWBSI5KlcCEXy6i
 V/KMj1Qorre3aei/nBVzX5bY3oI9ofZ/qn//GZky7vqIJfm8htIn24uwrSRomApE
 m/jo8+zDomH4zia1UJvhvtp3mMUXRDa6fQ9mR20G1NLt+wrnV5bj+zwrn/3g41Hr
 IUJIfog/AwUQOfXYC9jKMXFboFLDEQJ8dACg1/Sj+bJIeFDHmKmT2Z6WnGlqJisA
 njTZsQNGEL3x1WoVH98WnL08PT14iD8DBRA587Rpd84pxY+hLiARAv4oAKC99cE0
 wgQlaO8GWEztUP+oTs7XrQCgvny5h9Ydsq9UkHqCBmOKnaZIUSGIRgQQEQIABgUC
 Ozk0iwAKCRCTqAdkLDfjdTlMAJ9Ssn3nGqITEzAxIwIn2DgigpLPXACghRW6Sot6
 CS4ZaXLkEKr6Gd3ygFSJAJUDBRA7OgtXDu2852ZqdCEBATmTBACEUgUzk4KM9kPY
 vQrbhqz+1Q7pafBC6E6EwrQMofbzSxdF+bIsFTgpy72q9gagYOvw+ntY5+pDyCJZ
 4dgJcQUtm1E3EfBTPvZuCiObphhDwO5X169bRDGJ6Lvu+tSWPseXh2kLhqtQJaat
 4i5N5sndSa5A/Jy3r+63krG5jqL2pohGBBARAgAGBQI7OhGxAAoJEIG908QOH5t5
 Ey4An2hvIhN1sIosvxYabATE8nu0emxqAJ9f5E0q1ov13smU++lXTlR3Tz/QYIhG
 BBARAgAGBQI7QArEAAoJEBeO4nT4FnLFx7UAnAoAynRfpCr4b+OED6g2zJAR7vhW
 AJwN2u0xZBC/rAjAOA8VvqF6TNXoNYhGBBARAgAGBQI7iEGHAAoJEFIAHJWOCQIj
 KesAn0TH9Ai4JTTeWmmrbVgBhCdu9FaQAJ4sgcVaajqDH1KSEQ6xq9pLxUW6N4hG
 BBARAgAGBQI74HY4AAoJEF5qQpKQfdlmCTAAnj/saNHLzGlaNw6XbmMTkdPcwqNq
 AJ9TwljvnABJBi2MkIdnQZxm6wz7oohGBBARAgAGBQI8ES3AAAoJEKbN3u67O9m4
 c4oAnj4HIlHFQq7EyunfxEmZsFeUpgSQAJ0T+kdgk3VYyEDAJvWY54JTXXP6rIhG
 BBARAgAGBQI8FZ1/AAoJECBlfewSPsYxN0wAninRjUaNmTOh9HlY7D5gEbHDUNcN
 AJ9dMWK14Qza2qnYKAuwpcxPhFHfAIhGBBARAgAGBQI8Hd9pAAoJEHw0tOFM5PZV
 VQcAoN190LU7jsPqpvOsGhav/2Vl4znkAJ4yISiCnc4H6vx6leTC63jgk6kc1ohG
 BBARAgAGBQI8ERs8AAoJECILyIMzDEp1ZbwAnAr0XsXG+Cyo4p2Rbf4rGhp2Y/5G
 AKDERRea6EGP6jL9Wx+zjXmTqWvDJ4hGBBMRAgAGBQI9B6k+AAoJEEbtrfQ1fWX7
 TW4AoJNqI23+6z8F9or177Ue/RADwxyvAJ4xFL0LVOa1e+yqIgo6IKmD4qpuiYhG
 BBIRAgAGBQI9B7BoAAoJECH5xbz3apv16gAAoPhAHTxwPcVb/cYx1om4KrVVDfR7
 AKDXlXnV8pHxcTSlOsmCxbXZo2kGtohGBBMRAgAGBQI9B60sAAoJEF2Oi+nyOBrU
 FvAAn1cepW/byih3/Lzt0AWotEXdM8KrAJ9HdXHE898p3xWFRv9HRpPZMoIzCoic
 BBIBAQAGBQI9B7BMAAoJEHxLZ22gDhVjPigD/1FQ/XJrg9wSMYF/WA1/7l2S9lGP
 7b6htNOa9CUwd8hJFDJe4bT+e0z/DnBKqxtoQs1XvhXzroIohmBtQNFfwjlu+I+4
 eMhzLsDD4h+nuE+nm6yltwLl0ct2TMww+PX/28FRl4ftAfFuLhuYkxgUvs4x10XC
 d5A7hFoHusMv3aNGiEYEEBECAAYFAj0HrTIACgkQtVKwQ3c5BdYbxACeIc4DpFve
 lsf1Zn+pKlk2TJq0HjwAn3cU6Xr+vSlD30lmZ9/YynIbjz82iJwEEwEBAAYFAj0H
 uVsACgkQtoTxfMEKh02w1wP+InvSnrYzUgdeqOeiTMDavDKwo3qyeFgSopBun+fu
 l7o7QotxUr18BtczPpZzv/q3yh3WVUuT2s3O0Kkiyxjp4h7xSZ1XEMhbhFjOfe3e
 E1YFD/lwKuS6TcBjrODhnrtwAbssoewQsZMmSQHRiB+VYxgsm1Q42H+ay4uDQ86h
 p0GInAQSAQEABgUCPQewXQAKCRDW4KH+T74q3RyIA/kBnsF5aCKMEHm9nHZ6j4ER
 9Q0cHbUeKq2bvwD9WUcqlsD8u3bK48lxZqsGszsIpGuFFFgiRSMuPhzI1uqbvcHi
 Hwre2g5s1n0uizLS+a/+ZOR/lPrZls4E6ATxIuaxY4BM9Q0rG5hb/nmWodSjA+3/
 isvxz6uFVRHoNyb+BgTx+ohGBBIRAgAGBQI993/vAAoJEIyjJ9tDO6CHT0gAn3G2
 WZSWIjaSabw8aofRpZ8tMwguAJ9a0oLpChBQgFyOu/JtiZLYHu6MsohGBBIRAgAG
 BQI9938+AAoJENfKOrov6HXMvFkAnjortNOFTeizkCIFzmwYzQKtUrs8AJ4nAD6U
 ylwidkcAcUcWLVkZUg7rXYhGBBIRAgAGBQI99vi8AAoJEP5PXn8DpeEIEVcAn1cX
 KkITyYWR8UQryNUoIJRKaLI4AJ9dO8SCYTTqkUCHCWs7l7UDz/WpBohGBBMRAgAG
 BQI994cYAAoJEFawMV8BZ8o4DkIAni+T09CG4T6J1sPw+cVEWjcrvVL9AJ4gZ7yb
 KQhskoNksw4OlCHNiuyNrohGBBARAgAGBQI9+AaCAAoJEAkitBQQRHddHUkAn2we
 Ma4NX7LzmUb1jdk7c5ztdttxAJ9tqGAOlhmrQ/VfApGwCQtlFiJicYhGBBARAgAG
 BQI9+D7SAAoJEMhTz3PoZU6XpBAAniwwfqVSeG5b1vV8zUrk4ayDj3fxAKCR52+R
 V3464Dqp8e2kkouI+4c4aIhKBBARAgAKBQI+KO3NAwUBeAAKCRBuiJudMebjmPj7
 AKDZoWLp1mJ9ByddGJnwuP8i4hwYDQCeJh2n2Emrz0Gv5HQQMkfNxB9XEriIRgQS
 EQIABgUCPpJNVwAKCRBh9A0v3SE9uq1cAJwKHc2rmuRjF/vGGzL3bM9dhQFYsQCc
 DO3xXCba1Rc+QPJfwlJhuVTtKau0KkdyZWdvcnkgUy4gU3V0dGVyIDxnc3V0dGVy
 QGRhZW1vbm5ld3Mub3JnPohWBBMRAgAWBQI545CpBAsKAwQDFQMCAxYCAQIXgAAK
 CRAgFTHVhF3+3Z9AAJ4sw5jXvvpvaTU8KeSRdps35YE3kgCeOzr50psCrp6FIsqv
 t8VBhykU6LuIRgQQEQIABgUCOe57wQAKCRBdUhyM5rFQFj2YAKCyih1PKF294baE
 WHLLmh7CNivUBgCfd1nv2q6lFFlFbeptQ77d1HA6f82JAJUDBRA57o48TVYoIXkF
 DBEBAVSZA/4jIjk5o+S5DH4TsqvBozosE6bod/lyleqkoFnulUfAVqMiDSDtWDYf
 in1mSmC+py8jcRfRw3Yzn0YNf3aWpMWW2pdQeSlNHBxHkcH3tiXfiaWpXUv8skYJ
 X5AjGSlqOcuSOKynaLGLsJt3lSVhx8jaBX6Q+2ND7LIirXDIMWe7HoicBBABAQAG
 BQI57oG8AAoJEB9/qQgDWPy9DqsD+gNnPN8++meWpLFEwtVlUhf+AmCgSnc0TROM
 9rgwtjsEzLBLuPmXgAI6/0FOwfj8kwFuZ5JUSMfdRm1QM+oHkqfjKi3RsCiShX0l
 HF5FPbhMgoxFuvTCnfUn5AgxRkzzMmH9VMJx/InbN9H3CmoN2eqhyqzlaQlanc4G
 iKfw+/NfiEYEEBECAAYFAjnujTIACgkQiOF7HfzlZWENIgCgzZ4DHX3MxzoVPPKi
 BqQ7olfGoZQAoKPZjucBMaicCbpgk9QpnZDe2OG6iEYEEBECAAYFAjnujTsACgkQ
 GPUDgCTCeAIeqACgoP6bZ2VuQQbXwSNKV4crNLqm3BUAn2l9U5vZ3K5ramSJtT/d
 lPpI3h0UiEYEEBECAAYFAjnuk3wACgkQwvyGqiU5RovYdACgj0wQ2fZyFF1qPLL4
 lDBsOAzSuOIAoOS+IBCrAFn6V+3KvylHuiMtik7ZiEYEEBECAAYFAjnujqcACgkQ
 c4fikq0QxsS2egCaAy3ys+YSnZvuQjTJYxyqUpPVOikAoJaZ5auYk8LX8qT8VXQ/
 i8RusaPHiEYEEBECAAYFAjnvXo4ACgkQk1XldlEkA5YumwCfVpQ0tHjaiJ0SvxBK
 SSrYPm9Xgy4An0rbFL1h7748ZxP5AgeYhNxG8ZKSiD8DBRA572d+4x4yPUCuMFIR
 AhrxAJ42B68gBbQg01A4oVdFfOa9RX1GgACfdzg13CvXxaiMs+UbcLl9qqNw47uI
 PwMFEDn8w7F3zinFj6EuIBECrnAAn3k95VzUbZSSuA+sIAkHGGDVw68RAKCPnEHx
 foKb60Za3UymkINn/aBdfohGBBARAgAGBQI7OTSLAAoJEJOoB2QsN+N1wH4AoIpy
 XfE9yypNjA8Cr471UqnHBH7NAJ9KVU2QFmF92Biki5tamSnU5lnP6IkAlQMFEDs6
 C1cO7bznZmp0IQEBY20EAKODjHE6v+pezQW1OMC6AAJC0QacePZCnwwrrzOVWzDE
 zrniXF4kF0t0ctsObP2BwBOrytYFIr/85myAI4zb+3ZNim6L49aEkoVuo/HiOBAe
 Ip4Tyc5ETHD8dd/IDsMtse/hN8FNN1LKXYGEwh29n903JaLKxup7ZQdHF6ltjDVi
 iEYEEBECAAYFAjs6EbEACgkQgb3TxA4fm3nPwwCZAZFP8ciAyFFp3XZZlJplsUcG
 5EkAoJODgFF1sWesgv4NDmK8sZI0Jy6EiEYEEBECAAYFAjtACsQACgkQF47idPgW
 csW5JACfbdnrXG9XpRNVsQ0zJT3tIcRTmLoAn2wJWVVLNTPZcKVnWKVR8H97ztB+
 iEYEEBECAAYFAjuIQYcACgkQUgAclY4JAiOtOACfeV0ELu6l2OALf6pOgPIdjnus
 qykAnj5Atp6IXwLawebGavHP9zvQsQ9fiEYEEBECAAYFAjvgdjgACgkQXmpCkpB9
 2Waf6ACfUiLMyxhdJdqxMhV5YriU2RZvGq0AoK+C4YcspsDsS+l8vPgvC99peQzY
 iEYEEBECAAYFAjwRLcEACgkQps3e7rs72bj6SACdGtdNYF20ahnd34SOdkK5AyA2
 6NYAn0tSBYUgbsWXEDfoJy3uhjnmbN5PiEYEEBECAAYFAjwVnX8ACgkQIGV97BI+
 xjFUywCeMRgKKTs+rkZmmVS7xo65W+LR3i4Ani6c+nHLWyDUXukkZhCp9rAZu+8P
 iEYEEBECAAYFAjwaYOQACgkQfDS04Uzk9lWHNgCgrH8XRSCnuhkINCYKZ6wb7dZR
 sKUAoND0H2E/DgTwdisbM5mIfG+pOjzJiEYEEBECAAYFAjwRGzwACgkQIgvIgzMM
 SnXXEwCgotD1jJLrop9goqQUlTCRKrQT2JAAoMWAfd4h1FvrXWvbi27+i0XgrC6v
 iEYEExECAAYFAj0HqT4ACgkQRu2t9DV9ZfsjrACdFny/yvBNPZBWM1wsQTWabX5C
 9wcAoJBR8QC95Z/AvZVHFhT2V1fiCLlwiEYEEhECAAYFAj0HsGgACgkQIfnFvPdq
 m/VgwQCdHGT0CGAvx68hQq50i2tUhTgOKakAnj+2W7ERXafEHYtIZtyFYWXXBm97
 iEYEExECAAYFAj0HrSwACgkQXY6L6fI4GtRtUQCgtRjmmIXXuAIkyhdgN+ShFIyq
 EGYAoNYJeaf2J6upt84scuzSA8SsuowLiJwEEgEBAAYFAj0HsEwACgkQfEtnbaAO
 FWMqjgQApA2X8w9q4mdDEjX4/cZrQ5IHG+rKq+lmVKEtgRSGb6RDUy8lkh97RhVV
 +0o1gNhs+H0q479hgPJ9TRzTiFhql2QgnuGuiT95K23ZnChXKyULWIJc4077swZA
 ryDQT6nWPNviMhwS6/BvbEoLtYja+xW3/SfPVZjwW+ZghTLT/s6IRgQQEQIABgUC
 PQetMgAKCRC1UrBDdzkF1sAtAJ9vmbuvxHxqdCqJpUQf6+57Ga8fCQCeO3Ke9avn
 rBfR/EQv0E51zrx5ULWInAQTAQEABgUCPQe5WwAKCRC2hPF8wQqHTSzSA/4+uR0o
 v55XDEdgjsPs+oRZHDI4hIKdSFRMDRFU9Vjuhyi257SCrmEGUpuuw8chgDOtynaa
 HkQZ80lrq0qZg9g9eBRqGMEwblzBGsRResb1ubB+fX+DpntJw5eHtBqv8SLYe61j
 jsNZD0yXRenL/dXfkH7Tj25yMof8WYxO7ZkKzYicBBIBAQAGBQI9B7BdAAoJENbg
 of5Pvird5tgD/j3D/jrB+9ETGlBYd4BVz8rjhHBKpofx9LZPe/X3Z7dHYattyl+G
 Rnq/lr5w/UPbp3QVO72p1LWYE9qMeB8usmMe6c6RWe1Jhx0q9yUS58VQ9cnnVaMH
 QAc91OKre1P+FoGuaVCxAZrPjI30Dg1H7lncZaDCQDhscDrg2znkniVJiEUEExEC
 AAYFAj0IIfAACgkQ2MoxcVugUsPIXwCgtMf+88LGSwUW4Uf0Qmn1l6xKTokAmIM6
 VPoIaqXGCXJtsd8N7GMUQl+IRgQSEQIABgUCPfd/7wAKCRCMoyfbQzugh8IfAJ4p
 qA1enwsfEgyMptD6MNdKfJ+gogCfczxia0yt7Dxx2SecYlcvADKxXhqIRgQSEQIA
 BgUCPfd/PgAKCRDXyjq6L+h1zAjBAJ9HRwiZTQB7m+/qGzm28VLDFj/c8gCggUzx
 D+sixRdljlssCmdQrNdyEXSIRgQSEQIABgUCPfb4vAAKCRD+T15/A6XhCGB8AJ4w
 Me9ipP4OwstNYls+xiJN2UrRPACgkjU8oSj1RX8PbMlL1MrhHn0gIEmIRgQTEQIA
 BgUCPfeHGAAKCRBWsDFfAWfKOAoPAJ9s/CFR00kFrpWkaODbT7ea31bLuwCgqYDF
 BoqYVwDVBrwqOGr3DA5rs2uIRgQQEQIABgUCPfgGggAKCRAJIrQUEER3XbCwAJ92
 zZZJyC3apJKQQVZA4ieo3iRsEwCeJyOC/0/vr/VKKM8IhiFPzpqyegaIRgQQEQIA
 BgUCPfg+0gAKCRDIU89z6GVOl88HAKCdVdrf6IyR98cmR1Y6/h/THlJWXwCcCQVq
 Nl0sM6UXl/dyfpTOw5v1xmCISgQQEQIACgUCPijtzgMFAXgACgkQboibnTHm45ih
 2gCg+SBttC1AUmuZgHSiRxze1XR+FMsAoNkynSxkrAO0twkG37t/UzF/0bUYiEYE
 EhECAAYFAj6STVcACgkQYfQNL90hPbpIFQCeM9foqwKsqgScULlMoev/USnOb3MA
 niLeVpdpf6MAi9gLOhUI713BM8i8tCVHcmVnb3J5IFMuIFN1dHRlciA8Z3N1dHRl
 ckBwb2JveC5jb20+iFYEExECABYFAjnjo2kECwoDBAMVAwIDFgIBAheAAAoJECAV
 MdWEXf7drtAAnjgr0qNs0XbNC/TIpGuDWJWkhxxwAJ4+TknZClBKlKZNjn8AsmwI
 PpWA64hGBBARAgAGBQI57nvBAAoJEF1SHIzmsVAW8mkAoOx2QR1iXggQIknHd24B
 NGtXlFp0AJ9by9b0IqB9jY2Nq2yl9G3xKMElCoicBBABAQAGBQI57oHPAAoJEB9/
 qQgDWPy9vNgD/RhKbHVRmORUKEGr059QexpgN3YZxcE+k7T+u+c4g6n3u6G+qlYA
 avdtvxEagBgGilYT3ZQk5Pt/2ss2+hCYJJECh1+Eo320wPBrjxOClOwi7Nw+lIK5
 acTtAt60zxHnLfIp8MJlrQPbIJ53ZACtlq+hZjGR/DdzFu1vqoUQ+9XNiEYEEBEC
 AAYFAjnujTIACgkQiOF7HfzlZWF/sgCgrA52wER511iftFEbpNvltT1dxDcAoInq
 gtdUDy8FFkqcLDkJ0LsBNZmgiEYEEBECAAYFAjnujTsACgkQGPUDgCTCeAIYFwCg
 iAls2rG6XYsQirh92R4Ixv5uBiAAniREG9/kPIRjFjuw1m+Aqne/WjbfiEYEEBEC
 AAYFAjnuk3wACgkQwvyGqiU5Rot6/QCg4bghKw6sGeX3x4UvWEglw1in7aoAniav
 YOK9NfyRNPl1VYpZGj4Gk7CNiEYEEBECAAYFAjnujqcACgkQc4fikq0QxsSM8wCg
 2g0eOvOUy8kX+K3YFFKQb/V0p2kAn0ViZPCMdrdKsP6yxhr23HNX5y6piD8DBRA5
 72dW4x4yPUCuMFIRArKNAKCHOuqkD2knDjGWd5JNQo4aQFhcWACgx5nDxSqmXk6R
 TGMwZYbmoA530yuIPwMFEDn8w4l3zinFj6EuIBECPKsAoJYAg1KKOh3iM2O4IkyY
 7n3CK/qeAKCqcfr7CZ/uld5ClFzIxJGZIzT99IhGBBARAgAGBQI7OTSLAAoJEJOo
 B2QsN+N1bu4AnjQDseKJXvhSL7kPBk6oDuru/J2OAJ9vYrahks6NoBvRWZ8B7H66
 DymaeYkAlQMFEDs6C1cO7bznZmp0IQEBXscD/1X1sTB3Ag1w8aMJxLhpxeBrPikd
 8mbs06FTD26CTdK4SuQrO4nBlDkoaxItfPuIf3SyTR7NQijH7MFo+75Lpat4FjSr
 QPhZleWKj0U78KYLaIFaUTkoCZMhJEKFwvS+gKbP8FQR2TI3jHWjGJnRcMMA/PZ2
 COkyGZsL1UgPBw2diEYEEBECAAYFAjs6EbEACgkQgb3TxA4fm3m9hQCeMtzB3clG
 2FLlU2k2UtY7NHyVKs4AoIzNSzMvtSQZGhB+/jM3E5GzAiYMiEYEEBECAAYFAjuI
 QYcACgkQUgAclY4JAiMxiwCcDq1QzMkLiyTzuS2qYuSIBibYdVkAoKfAJBuR1EiZ
 NkqHoKfviFeB4NHxiEYEEBECAAYFAjvgdjgACgkQXmpCkpB92WaNjQCgpxoHhw2C
 418T2DWOOTbE19okarIAoIBoWrPD4aid+OVJYIZ1iRLho1hIiEYEEBECAAYFAjwR
 LcAACgkQps3e7rs72bg6YgCeLAM2vcwu8g1Nz9UdSyO+tDHbMHkAn1RtZ0hCMFRA
 J4nqL47vYiQ49ISciEYEEBECAAYFAjwVnX8ACgkQIGV97BI+xjHPZACeM9xZiELl
 COKdFLZC6mGrGj0uh44An3derychCV2kZHEkxXIextWHOWSniEYEEBECAAYFAjwR
 GzwACgkQIgvIgzMMSnVABwCggRqlrHTDwkzJYpPMU4t3+JHl3uAAn2xGrUGxKATs
 ZdXDu171n50YJa5CiEYEExECAAYFAj0HqT4ACgkQRu2t9DV9ZfsFBACfSZrFGiWn
 XxwPAXZfnW69QXtavNcAoKLpt6/U+ms+MJk3RB9XuKe7lo5liEYEEhECAAYFAj0H
 sGgACgkQIfnFvPdqm/UJJwCgogtFxoob1yTTa2tnqzchLAGLnTEAoInj40lhkcjC
 +VMl7FM+mKWGPrTdiEYEExECAAYFAj0HrSwACgkQXY6L6fI4GtTFBwCghZ9L7nxV
 qQtMHtqSY72OXygMO2MAnRebMkouZedp4rFVCxqFOkoTM5NQiJwEEgEBAAYFAj0H
 sEwACgkQfEtnbaAOFWOCCwQAqiQnXTXABp4VrIjCCTdrdn1O/u4GWW/OUfQXPOIK
 Ig0eOfCMM60SaR9ZyddmrLLYeDk8vkPbdIAxdaQz3WyqOwLWCqu/9C3YPS7mIzDk
 HN+eJbjvSPG97mQnu1uuL0qu52sQKGe83WAS6fioz1YTKEnoDKQCcDCU7S+K7Eud
 wG6IRgQQEQIABgUCPQetMgAKCRC1UrBDdzkF1naHAJ46joUFFCOBBx+bwSP/d0qf
 1Kl62wCfRdKyAp88it85PW4gecYx6kRKfyCInAQTAQEABgUCPQe5WwAKCRC2hPF8
 wQqHTV0uBACCzT3oYFZVvfaeB2gu2ja7SgG049T2TscWZR+vuI0GTnpW9DQwJu6D
 wiQWcu5s3rIUCY/8vDKfYr6qYUN1P+cvKIfTNEfNcHqknrujRBlMG1/42Wlw+jqk
 tWIsKXDdbGIBs6k7hslFa1Ho1k5eF/sAv61E8OBJVlIbk+lm2yzcQ4ibBBIBAQAG
 BQI9B7BdAAoJENbgof5PvirdiuQD+Ln+qrC39iLPhu1JWR1g8cVrRq2kMX8Rgk/o
 PMXvryWNeqbUyFr19/5WZYWKLLUpQunaASjh4b2MFuqADmDozRc1MQcG1kNW8K9F
 wNCCJ5OdmIgoi3LXvBHGwaqta8A9ckV/Y94Y+VYPU0UQ4KQCDW2+Ke17vefTrYNH
 OGk9chaIRgQTEQIABgUCPQgh8AAKCRDYyjFxW6BSwyOiAKDbGsOoZZ18LRdx8Ljz
 SuQID3cRhACg4xYcTXAhrvonBObrLEV68+c1mkaIRgQSEQIABgUCPfd/7wAKCRCM
 oyfbQzugh+lRAJ0VJk3+EjuXmmZi2t1kSX+fJcsLPgCfc76HizlZy99CVwl7JNsT
 x7S9o9mIRgQSEQIABgUCPfd/PQAKCRDXyjq6L+h1zDLUAJ9CgUMXNkimqDjC8hK+
 4mXTWY+8VQCfcyj6jSqQNGjfUuaYYfFNRn+LiwyIRgQSEQIABgUCPfb4vAAKCRD+
 T15/A6XhCCd6AJ9CLo/EEozb1hkumNK+hR2V4Ca5XQCfTurbRsPFqa64XGvViPiF
 tm5c7V2IRgQTEQIABgUCPfeHGAAKCRBWsDFfAWfKOJboAJ4+u0ACS2bHcCMk4qAl
 3LM+vyPDPwCggM/gQhV5vcO8U+9WGHGBJxzMpGSIRgQQEQIABgUCPfgGggAKCRAJ
 IrQUEER3XcjQAJ9YLe8ARydx5sgE2NF3yt79Ra14xACcCYzFuu67d74lpm+BR7M1
 /0/fFH+IRgQQEQIABgUCPfg+0gAKCRDIU89z6GVOl5IaAJ9CMlhQkY92ybMBHQZX
 glrAyvXO3QCfTdGWgDvnUJyskQyFGZ9LnbtrxWCISgQQEQIACgUCPijtzQMFAXgA
 CgkQboibnTHm45jAewCfaVTRu4IRnQ/RPSIxMEEbQgRMazQAn3fN8DVoVUlZH7uo
 TN7vIJT5AwUHiEYEEhECAAYFAj6STVYACgkQYfQNL90hPbqvbQCfUstEQfLQHA0l
 0Y6+Nz26QsBuc30An3BfepjYD89bUaXODn41Na+yiPKpuQINBDnjXC4QCAD0UBPS
 OUsYU8KA9uFCN/RNUtKzx/W16jjpYxqvCdKxbjb3pI7cbmMQtwLHgIcwTC/jSHGx
 cJB8JcVHQeaf87XvHt06Gb4aOZAX+oAELe3T+nzSdQ1HttSplWPqzkH0AvoMdCf+
 ZmM738cTLrUHTIkgc/yGzUyXiV+m0bCsUBYgDSLgUwS2hCl96r8ELxPqAVVHrDJa
 6GPVH+zfywkWaQUknn1TiVnM8JjQiC9x7V+tix9xisysGAG+XPH+jYn9c4q781Nc
 psD/hLG8IKd1AjlfSnxS9TD+WOg3g2VdzfcTy64e1z4o6XC/XJssQQlPQYmsnVvx
 3LnfIZjlJSO+aTQ7AAMFCADKSxl7M4TC9nEkt3xzx9Wl4qc73J1RqF3+tCNlj2Et
 zcbKBxynifjY/m3FJdJcDvbsaJUubBE3Kze+SZih9gU35yZU81++Wq0KhqcpDK9L
 qnK3/+3YKqiXV64+Vq43dQXu1C2nsgzQ4vPZ15dgeRLbK+4ez/Gt1fm/YJ86EA6t
 UGiZZo37N7wodPoBLfrL+8xRimC2kFK5vOCdsU50HZv4v55t2oHRi5FRWJN6GGUH
 eDORcCvzkeulvNxomKaAOyRMMLwzch/kF2eQs36veVwzENiKDub28PCuhrFXP7ke
 q/Ybz19GIsJFSd7lemnzuTSkMoQhPjXmlshsLXhi3Km6iEYEGBECAAYFAjnjXC4A
 CgkQIBUx1YRd/t15/wCeK53sTVsgjbjDv984yiaHxGzKz9sAn1jpwcaKsxGC0ayc
 sTEQABKrEX0m
 =fxvp
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.366. 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.367. Ryusuke SUZUKI <ryusuke@FreeBSD.org>

 pub   1024D/63D29724 2009-12-18
       Key fingerprint = B108 7109 2E62 BECB 0F78  FE65 1B9A D1BE 63D2 9724
 uid                  Ryusuke SUZUKI <ryusuke@FreeBSD.org>
 uid                  Ryusuke SUZUKI <ryusuke@jp.FreeBSD.org>
 sub   1024g/5E4DD044 2009-12-18

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQGiBEsqyesRBACDA3KsPNZg2Q88N9Vhp0kpoLW2Yp0xWbJ01tD2PPcGCq4nGE0W
 NgEvynvUwVJ4ODryLEIL3Po79fBIpkOhjraWdFH4LMcXjOequoERDWCMLOSBzP4R
 PKPqhSvOGw0H54357fcjzo3X2ze9HnfiOI5d94qaUpnPeE8JioJQcTEW9wCg9wKy
 KijAwG/TQBIHrS/bp6F/4GED/iCdSQ09Q6ZQF497zS1oNTgXDmD/qaAzW8F0bu/D
 rp9v5GVWeN1vfXHAtvug7/kIOO/eFZqU7IZRIf9bSerWXtaSV34QZSS81UZOr4u9
 YUGG1qk/A2a06GFzPCzB80c57G1b2c7i9Ktbw5cQ5o01eLcbqkdLmc3OcjIjnmCy
 /wnfA/9tlfS50UU7RFfwj199z7R6vxZ8HNoW0DwyNT0G/Sumj96o7+GXqU6NGZ3c
 X4g0qQbF1NY5h3cXkR9y3w3TP+guQFWtJEqyXxykYHZWAmUfNbaG7xiWdP0iGa6N
 pAWzMjpeHFXKCLmD4WzRx82TPvxSaw8W7H3PQwi/QIj1yBFot7QnUnl1c3VrZSBT
 VVpVS0kgPHJ5dXN1a2VAanAuRnJlZUJTRC5vcmc+iGIEExECACIFAksqyesCGwMG
 CwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEBua0b5j0pckoPcAoNDzMLDEsOm+
 GxbYMxiTpRNqR3/IAJ9TZ2g1dD8D99ipOUIADN8DyEZRBbQkUnl1c3VrZSBTVVpV
 S0kgPHJ5dXN1a2VARnJlZUJTRC5vcmc+iGIEExECACIFAksqzV4CGwMGCwkIBwMC
 BhUIAgkKCwQWAgMBAh4BAheAAAoJEBua0b5j0pckOEIAn1Q0VUudnFwmFG2/Gim1
 u+C8cmZpAJ41a06jrPg/BwDeHLHVhd5FzmXyqrkBDQRLKsnrEAQAg7+aWadgT2+8
 C6Hb2GzSs3/sJnLUWCGfmzBqKNQwyTMAlXEBD1w6MIeYURz7PuPgkOvB8v8b5+2Y
 JBU6i1289khWYSq1pn7XgX988+GsX//IfqCHl9i/RnuO4dVL9KXl3lGFvftpsm+A
 /l+4NkyWo5T/wpzyrmNfuDrsuDUf92cABRMD/0NsHSpAxZpt67PoIrnAXIByQU9g
 grORKLEHjYe6XpuVsz8XPARBjskYScU9VcPEtWIUWh6PXCjNk4aiKwE0jY7XX0pE
 DeiZwa2WG2eFlDqJ03aPgxTQouwEKu3zuo7Xnd/dlAThHK0wZdNWmV6ebYah8rrt
 TJ3PrsYQNptn8iogiEkEGBECAAkFAksqyesCGwwACgkQG5rRvmPSlyQyTACeNfIm
 DBCNKmYGktQUlB1U9kf7o2MAoK1PxWrRo9/d+uKirJNnzdYXTJk4
 =69IH
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.368. 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.369. Yoshihiro Takahashi <nyan@FreeBSD.org>

 pub   4096R/6624859E 2012-11-18
       Key fingerprint = 1CA5 445E 7ABD BC21 AEC0  7B89 47D7 4EFF 6624 859E
 uid                  Yoshihiro TAKAHASHI <nyan@furiru.org>
 uid                  Yoshihiro TAKAHASHI <nyan@FreeBSD.org>
 uid                  Yoshihiro TAKAHASHI <nyan@jp.FreeBSD.org>
 sub   4096R/362726EA 2012-11-18

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 818CVCU0zxY=
 =tAoH
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.370. Sahil Tandon <sahil@FreeBSD.org>

 pub   2048R/C016D977 2010-04-08
       Key fingerprint = 6AD2 BA99 8E3A 8DA6 DFC1  53CF DBD0 6001 C016 D977
 uid                  Sahil Tandon <sahil@tandon.net>
 uid                  Sahil Tandon <sahil@FreeBSD.org>
 sub   2048R/F7776FBC 2010-04-08

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =jPKa
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.371. 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.372. Romain Tartiere <romain@FreeBSD.org>

 pub   3072R/5112336F 2010-04-09
       Key fingerprint = 8234 9A78 E7C0 B807 0B59  80FF BA4D 1D95 5112 336F
 uid                  Romain Tartiere <romain@blogreen.org>
 uid                  Romain Tartiere (FreeBSD) <romain@FreeBSD.org>
 sub   3072R/C1B2B656 2010-04-09
 sub   3072R/8F8125F4 2010-04-09

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =AUXU
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.373. Sylvio Cesar Teixeira <sylvio@FreeBSD.org>

 pub   2048R/AA7395A1 2009-10-28
       Key fingerprint = B319 6AAF 0016 4308 6D93  E652 3C5F 21A2 AA73 95A1
 uid                  Sylvio Cesar Teixeira (My key) <sylvio@FreeBSD.org>
 sub   2048R/F758F556 2009-10-28

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQENBEroxHYBCAD8d4HA1tGibcHpjyOTeiQ7+yclqvB8bzWazJf1OeHwHcY+Rt46
 gVxADP5QPLhMaiw4nYNr+bSg+RDIOG3bmxqDZpmw38508NWd/W8XjgQSV/PhnjU0
 pfrvhXfmGG/f6C5D5D+IRJ5dffW65YuDXtsIPTOuBCwmq9NSRK0/w4VZBL1+ihDi
 oDhAWnkxfaFXN5luY98o1GVxQNpd/ZKjb+lsvAwsoXDSjn3R2bGZbA2LBIFh1Y2f
 KHa1vL4p5ZaNp0hnHyGW0mxC+SWse7zA3c500Erbm5d5I0HUgCEGNdE6tEryklFT
 zr4HfPxclml+QnlCDVZDSAf3+ExKfNLlSwjdABEBAAG0M1N5bHZpbyBDZXNhciBU
 ZWl4ZWlyYSAoTXkga2V5KSA8c3lsdmlvQEZyZWVCU0Qub3JnPokBOAQTAQIAIgUC
 SujEdgIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQPF8hoqpzlaFKYQgA
 mO/vudKdpx8jYDFmCOIE0OorvjqXNue+0VowONs2qSWiGwsvwh7YDUg8ZKEiBZHZ
 KV29T32y0JIQJ8tKloCF+XS3IktqWA0hlXqnN+Kmw3H0+MmzjgzCPhfTxG8jUUns
 r3qnYrFQDLzQXr64rUi0o6SQsxcsyb3m3VZX/NWXLyZm3RlCOfQzIRHWKGsP7Q5+
 sMcLA/obV+C2cEOlsrT1EQWw6pBdhoPr55ssNG9Gs1oZtPhepoKjTq4X3VRIkm5n
 LEcR5WUOe9qOJxxLWSWI2lWl7KAMuGt7KmOpbSYZNWi6Z4ASm2U8KhtFIDmQINzJ
 Th4Qkph0TDAr1mhKSaRVZbkBDQRK6MR2AQgApzi1h0Oy/HVxC82JSxsfcQKNgQbF
 6H9d3gkyb57koVVP52jBhcXx4vpce7oSpyWkm/uH6ZGZi5qkjSBliy1SdE+daymV
 8FEh9KQCMPvM3BArrDlbHUzpgRDwxJ5E25FfY/ggFF6/uzY0vLsAtLdyWowOh5ZM
 Dt0sKXsAMzBRaZ8VsWeBfxJJpecRLa6igK7w0+oehWQ7v9iC+XqBpfXR2S4pxTi5
 bshXeEfezqkut0wg9UBQdOZwMdzV3kw2Zis/qvi6jte19FrH3JVe3jhuoZCVKxec
 aTL2nawtQHqCN+7MhTog3ap+ZhghWr7NK3wlPWYmk0fDCRLW2bzh7e8OawARAQAB
 iQEfBBgBAgAJBQJK6MR2AhsMAAoJEDxfIaKqc5WhBt4H/ArRP3bzyv5ejeCZ25fr
 OCR7Z1vwdFFWvWqEAPO70x9XolGZMEhuF7OVjZpIXFgjDPBAoN5nxn4A3SJqMcXg
 zDsfqOJC4N2JHwWluX4D/CZ6caWOfI0p0sM7hYyXaoAEouknPO97IvermEvmiqnO
 gpcqUHbDL9DRKBnMyqDsSE3S83kEyuwD86x+UXJNCJk6awcUTWoETg6tVrpJ6Jma
 ccMPVsn4QucbRYyY2e9tIvJ1YbcqZH2munFGa4UXeY5+UemX88tg0rHHIYoN1B0d
 qMSWsm6YwNRBuyFC4f6RkK5x3FQExsTd36UaDkxMbimkyAf2y9uMmHf49+anaTUb
 QaI=
 =7/gk
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.374. Devin Teske <dteske@FreeBSD.org>

 pub   2048R/0xAACC9F947D9E9AB9 2013-11-01 [expires: 2014-11-01]
       Key fingerprint = E052 3882 1097 ABB9 A537 ED2F AACC 9F94 7D9E 9AB92
 uid                 [ultimate] Devin Teske (FreeBSD Committer) <dteske@FreeBSD.org>
 sub   2048R/0xB29F871CBC396837 2013-11-01 [expires: 2014-11-01]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQENBFJzv1oBCADKd7XY1jwBUW57OZZn/FI4u4MNEZEjmpOd+oaW0UL/U+xvU1V3
 JPCSiTVYq53qMGL6yqQxcwEehEFj8AjFclZEDPHICqRyKOxKj/4LF0/1Hzj7X49Z
 9q2+hC+VL/E9xB8/cgtew5Qb4nA0mFnsMJTmUzUSFJrwg+hA4FpZmwRZIBfynVQE
 LVB06PhAAowlPAAEjBPV369suG6TEp94wm+qWAl13Ud8aQXXbRzu1bbo4gRflwe8
 MzN8X22PEvNI0skEdmYj7K9WtRU3xXLAIesLq4dIq0xxa4xwv7VPujYDmLP/3OkE
 dvdTcrobpHVI7WngvgrGC5PcSVWSlQ0pWz6dABEBAAG0NERldmluIFRlc2tlIChG
 cmVlQlNEIENvbW1pdHRlcikgPGR0ZXNrZUBGcmVlQlNELm9yZz6JAT0EEwEKACcF
 AlJzv1oCGwMFCQHhM4AFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQqsyflH2e
 mrl12gf/XlyOQnFBIexle2+UxtIfgViFdrfen0OWg5oN33yGOCTtClVbwiW5GsQc
 kB1CYbtpJubdL8l+/mEGeXKjMRTsP06b9fAUbwTr4eKtD5ZvV3n01Mt7j3yFs8qh
 OZeWUG82zK3oKksWcQQFxoU2XyQE8lt5OggR+UYLP35qakff2KGpoZfYpl6Qblh8
 umOdxVGaz9puNrwgh/X2iPcjOJmNgU29O+aDY+7yg7PfMvtO0SnUPBjUw6m2GFf6
 121VT8eIwSNm41yjIWZmo53qYO8xa6uSJAw5Y2UmaYtizutXJWk5MgWBqWvmL9vp
 Gyp9WcfzZIB27AMhp2yW5Y1FQK/JV7kBDQRSc79aAQgArCysBtgikOD+3e/6rJV1
 Wb1kGka7CbGoqp4jatZ1StUHI2LKu5jj0h32TFbUqttAfUKiMPXAaA0KVuSv3TaE
 LD39UsSAUqXKzCi+Xbsk1T7YfHDPfdgElj5mMXZ3yGPAFOKnK17Rv6v5Eiv361lE
 DRs5fpn8CAX6QfAnizJ4YyA5LDmbfuxObVeFZKjXBcCERN4cqsMmUwrZPi2BEqt6
 t8hnB9GOiQvqLDiK220zVmGbqu1HL00jWko0gtkGZiOL1a0FLxdsoqza8n9L4WY5
 rMBa6wNeRBx0j0y0madX443+X/leM8B6cv40rW8on4RHwrJREnGAOPRNBajG7sNS
 VwARAQABiQElBBgBCgAPBQJSc79aAhsMBQkB4TOAAAoJEKrMn5R9npq565oH/3a9
 4plv0XZAS0+AW73e5y1uANWPS4zDCCCGW7fYIA0DdXVCmblpmw1s6tiS8DtQ7WYm
 mR8BeVqaxslP4buJMd5ZiKgG1R+xEYI4P1Ch3jg04hYCqvpzx8eVhHfM850HEs3L
 fUMQ0vtyDCqo6lV4yO9s8iDLY0dR7eyIWeAivLa9TQLygDYCJIIo4NJ59TzzxqDP
 QZb/00F010vXHH3A1KiduGhokwUpC2RB29ScQ/skmAV0Qu7QnVLlxWIcBkhxk2jZ
 RTPM1oax83zopfS9JUuDoJrqK17T3fWlf2uZFI4pgstOoFPVu4MudzfTZajLr4Rj
 Yo4zDFcwdMnYfOqfWHY=
 =6Oj5
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.375. Ion-Mihai Tetcu <itetcu@FreeBSD.org>

 pub   4096R/29597D20 2013-05-02
       Key fingerprint = AB6F 39B6 605D E6B7 0D54  ED3D BCA2 129A 2959 7D20
 uid                  Ion-Mihai Tetcu (FreeBSD Committer key) <itetcu@FreeBSD.org>
 sub   4096R/EC9E17E3 2013-05-02

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQINBFGCUC0BEADWcNqHXQIyPGrXdlcr5Ng5LDzqaHr7umo/I6v/lG+qwXbunMRq
 ICU6hKuV67dltelkihaRi99lguZhapJ+7E9DkEJswzsrcFiNRBt1fGM2EkqTfIdk
 /JsqykQDIB1WQ6X0w6iR2er8N46HEhvHHluNAu5ytKdkoKlaAl2PYJmJ7N3XiNDI
 BBr9dZa+1codZ4ZTbPTwPQbIbDzkTOf/cNl+B/BM76kGQrw826Gt1HJX7vSKycXr
 unf99YgCHqdTUUgZOaHDJ+CGW/In/AVH0L95eVSpHGHDZhy+4sst+TwjLvAUVlaf
 Oqg+NRVUJFCQPP5pbyIt/892MoA4do+9L5ey8kVWcc0ZM2VlMjye+8WK/G+UBBFG
 jrCQcCbfFpWCVDa/UWzyDdAG1RUpJm6UeVGq0jDSX/+aG1GOuooSHe5dHlCxE5Qo
 etU8mnZ1MUgGjC7s06gZtHPXxh/OZYFR8FdrJ57XqSU3JeHdKZs/uDhc/A/bmRlP
 Df8t+UpMeQpoiGipV+Rdy+Hl0Ljkma2Ewaw3oJV0X90pc5aRf9jA9gC46UaDNcUE
 MjvZv8jVAP8QaX2U5zEjjFWZv+/HeBlbf6AEAedevuU7yGJ23mo3LOtczxGu2Ou9
 krBREz42n8SmvmLx6tLcaTMVFN5BTCyRk5pxgvT+mkI1MKXlC7So2HRCxwARAQAB
 tDxJb24tTWloYWkgVGV0Y3UgKEZyZWVCU0QgQ29tbWl0dGVyIGtleSkgPGl0ZXRj
 dUBGcmVlQlNELm9yZz6JAjgEEwECACIFAlGCUC0CGwMGCwkIBwMCBhUIAgkKCwQW
 AgMBAh4BAheAAAoJELyiEpopWX0gnAEP/jFjcC0w2te4kz+8zWVQxKhk9Kr8YBKu
 OHHi6GFFxqQ8nYeTOHfY1bVL8k+FUEJLRc0+8YVT6cEKqVugLoDXGt9naTw08wvY
 /D78cBPBlbGpJ8cbmETS+4hmbvreXpDEPgrnKoJfxrhxiXxbc10k49q7ZdmG8Syr
 XolXfo1hBc/SN0oEKZwoz2/U7hFGKxfwWSYMn54eTgL+G0NIIvZ7R/hDfunk503S
 Zcs9G4MRwJTVPWlmWAoWQs9ZPFn4mllu7HmZjsCfeQU/47t6MOjJklcAEJPo3kwP
 njYvwZJxMIXxqwfgJjT17oA3oe72W6zkjQr6Xo5uvkoq35YurDcMuq0JQlEY8iQ1
 STKT992FNLl01yKfMf9ZILDGlyTTkow1M/FJ5cYzm85b7yWTeHgT038/WCxmd1w5
 nzeb+yTnRa4bda7z5/khR//yg2BvHHBdWFbTLN0ksfZcx0N8U4wgdBJwFOy7tAGr
 q5IWEGcGE0DM+cV4CUChJvcapEUwcHmZXMZvBcComUxOojcQFiY/Vyot0hf8ot34
 +tfW31qxySi/GHVjr4XFtc+cxq2tTktfI1HL4MvJbfuHJbaXVVxZU90FiGQuNZpZ
 sQFLM/TI36i9OmAttdBONkzZERATQDS22hopHKVzoe004iZwlXVeh3rxe1OKwpkT
 J2Xk4qTHYxhMuQINBFGCUC0BEAC0Avup7IG3hsa92Axrh93Wtd789w1W6Q0EHBpr
 ClqGiRs8tuUhue5aLYqDWNF/2tHg0R3KSV3ZkHocLy3i90EaEM6d4QtZet4tpiv7
 jFQqwqOOT9VJarWXkU5f3kjxipKDzOwQBm0amNqqV3B11qm4eqUZZ1Z3+vAP1A3t
 /TfVqeZfXlnykQXt99LKgOzax3ChVFrBi/IGayrcO5ldGPDNe+L1bNygh1eq+Vvr
 qdTbO3cLtYhzjB5JtnfOVpkU6fJiiHHKy6lyS3pEJ4OD2L6D8vvZhb3Dh9mUVwUS
 jIyjQe9wW33rTbUFbOrAqKzH0dA/g1ddtB9EqVGjvNb12+HS7oh5DW/tNprNKWOB
 U/NYol+A6kynK1jOg5JD3n+3XrcxKP7+80pU+WIqSbZvbi/+DBRuBCbu2XCrAP+C
 GrgUULJbJjErgopKfQsb2gvoxDORSIVCKukRqqeFJgUcA/bHAQ3cF0nOuipyD6pL
 uc92x9oZpJIW1B/Fow3tR0J47OGfqJkJQc1utanxjKC7ZJXd4magJeDNMYVsNtEo
 8ys//Ox4n/9+JXX5YjUiB93wnOj30++Uus/Me19/3HcpmP2vs0p60H4fCP36/xdd
 GTTfEQMeocRsujn7rvVq9KtXcAeHJuFWYnnM44Ikuf3HrG5dEcwqFLOgz/nqI4xJ
 MtaZcwARAQABiQIfBBgBAgAJBQJRglAtAhsMAAoJELyiEpopWX0g8cgQAJDIalw4
 0y9aU9blKaWl6KSy/Y/YeTCfhFiVeqrE6FXOWalFqHGYSaE0QGRAHPX4mhtGP47S
 PjdBML9ZOLeUPwmfUjO8hpDsaLpXLgmhJ7UddT2TBWqkVQYJE4OyC/xFRKLWDipe
 Ji/f21ZsebHLXOLXeNsXruItZ7OIGLZ0nhFQq7SiHbTot3eDVfWc65YNLKwxxpob
 J45WF6Uk7wzxdIxrNyPrZ+OPDfmDpGssVtdkFyjt4XCB877i4j4WaZ0ugFNkVDM+
 Wkj88E8n2rkQFg/lGAkhoZIm55MaVsAdZ0mFZ5mSEiZFzYY8TLSv2j1ugxezURjZ
 vE+SSOiJIgt1KVgtb1amL7MIzYkoCde0GBXyVbsanZgtG/o2X1XH4XplwiUTihNk
 j42AXyuQacdnWZmM1u5xnv0OVrKhpsA5qP/eFnZRnIi70EtBOOK9VDzuwsuJqEHz
 38tnHZIq4u+uQMUo7ABCPtBjx0hRoz+JVKOq0/e8jXLGJ/K0xacQzI5T9KuGY2d4
 G1cTilmtZnKihmON4kR88vX5sUFHmn7se1VWUYe9ZvCiA+gn/3YaY4DaM6nPdeBW
 u3APqpfb3VY9TcFs5HQu6d8YNzcAjKIHs0w61F3LiTHV7W6rRKaXbzqpUYxsuwyb
 /as7XDPGqpDTGynLpsYRRxnfBp6Hirr8MKme
 =RYSt
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.376. 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.377. 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.378. 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.379. Jase Thew <jase@FreeBSD.org>

 pub   4096R/0x5C3210C83F9B9617 2013-09-24 [expires: 2018-09-23]
       Key fingerprint = 4841 00F3 CDF2 272C 965B  F90A 5C32 10C8 3F9B 9617
 uid                 [ultimate] Jase Thew <jase@FreeBSD.org>
 uid                 [ultimate] Jase Thew <freebsd@beardz.net>
 uid                 [ultimate] Jase Thew <jase.thew@googlemail.com>
 sub   4096R/0x727970D29B509783 2013-09-24 [expires: 2018-09-23]
 sub   4096R/0xD4E65C8BFF1C3829 2013-09-24 [expires: 2018-09-23]


 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 QWvwu05OpSjettpR7vecCJGwCvBYWKMjKDazsw8HRPliA6YXFiDw+FSvAZuCbph0
 ri5H0WqqT7Kz090HKzfOI/FK1zpuKxdLcB2+S00fCGxNtRTwUx1B5dHIZCeO/QuO
 NTZVXJA68fQspWOLsQdSswSvIAfTM8URwXRXGphD0f2nyMva9jmKbuFLNNoCMSuK
 7DHFVZcQQVYbLFhwXYZrrS/LA3xorQj9FrQZDZVPFkMIUInm9R5KOQnu/d9HwS4+
 CZcvyQYD7WO5V7EmdpQ2ltAqcHn5PPffD7mGKGMnSPtQ0U2UYpUoqLrxyfWJnspr
 XkpfaBl9j4NR1LePGZ/SJOuzcFFXf1VcX6CHEZKXro4xt5NE3dBpGWDpxIsYTef8
 sRs1qvGyKJpG7T4/U+0wNrQeSmFzZSBUaGV3IDxmcmVlYnNkQGJlYXJkei5uZXQ+
 iQI9BBMBCgAnBQJSQgXIAhsDBQkJZgGABQsJCAcDBRUKCQgLBRYDAgEAAh4BAheA
 AAoJEFwyEMg/m5YX6pwP/11wxuizvHKpsNaJ3ipJozxQJO7RaPmloBlY6ahZvJMG
 Sz5iDPDslaIzEKZIBm+0c0J0V/AMP+auNAxfEU9gIhIZkruBCt0YU7ZW2xzRk1jd
 lQpiNbBVJmasYwD9rt0wpPRvQXmBwCx7r7fOPZwWVhFxVDXsNojNRjqksE5UIMd+
 64Qvzm8h+2oDl3xF3n2OrofgDb240WrbO7gU3cojyWWy8Yo2U9BeOds48wHvTmIN
 XnCYaFnnn9ogDLEbyN6W3JUyh1mMmSy8YauS77LkhLsOB8rSHjmuXsA+n8yCxoty
 jrmCYMz3+1bjVnTcX5rviMtWPI+3d24zHXN75OQX2Wpd69uGz0s2HvwiAp34mcqU
 QbCx3e6FCrbJp6G+zuPJPYYn+YCw1Ob0KOb5gotTIIKrZTpGapFVzWqkfIgodVLs
 etZ8cm3P6ssND3wixCZbN1ZBD+zRBkbDzN0gpaIniHkRvZcUj78Ajj026eEr4Lat
 EYtQKjcATiLRUyMyKqSpuXqeWpmipkE1mQV7DWonj7PG2RqnajR2sO4Js2Ce4bNi
 s+/A12HUw2t0/XgGQ5YJjrVZKq1Dbe/UAYJzRVGtSDfALZ9l2WWn+5f9mCnE2fRc
 Nl9/lDErNZig3jsM15F/MfWJUtioXCv5FrVPwauHLhHcCE0BDZx8uUJdUhBEvvH8
 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
 II1eyyrnjEXXvca+9JWJlxp2QwKCuftJTfjk8P1JWIWJLo3fgtwsSzIQQsPy3+W4
 8l4mFYRDNP0ecuI6HLrIR1wJjCKREveZ1aMuYGZqRugHnrbjnCwBlh94HsCj5r6H
 APIiv8gKqOu1Sdd1JgXQ0epbToZYN7NiWq7waaBU0RJVtuBCOUG/ZFjmxlpNZxzK
 /gqYhGgY2lQMnsrOQqk/UkJOZtkEtzeDcz9kHNSV9J44GE3iBQilZYtH68t1ulV6
 jT+sw0tQJ3u2P0kPY6YhNX/5d2bTmPOSPU9xZt5VJHoLqIxcUmUvNzE3rJemGWTh
 jlga/mDNfVj87hm8P4gJAwjRHQnhBGCwKF0qMeHcWlZvxZay84sbYG4XfYyfAdTA
 37h+NxinEev81Yx/BIIG9rwexESxEFkAEQEAAYkEpAQYAQoADwUCUkIG6QIbAgUJ
 CWYBgAKJCRBcMhDIP5uWF8G9IAQZAQoAZgUCUkIG6V8UgAAAAAAuAChpc3N1ZXIt
 ZnByQG5vdGF0aW9ucy5vcGVucGdwLmZpZnRoaG9yc2VtYW4ubmV0Rjc2NzgyMUJB
 NTE0ODIzRUNERjVDN0JERDRFNjVDOEJGRjFDMzgyOQAKCRDU5lyL/xw4KRkmD/9c
 CrBri8ltnDeO6m17ExIWU4dSr/ZjJCRidLsn2VNfVsPmbLCZXAYSzw1jbQrTQueP
 f+Q8rxuRPcL8ij6cFkGY8HEV24ggD0ElgTJAO+RCGhMjNo82ndpmzLW+mDuXUofv
 bMQu8GDk+2PZlGJhokhlhAolPW6u/B2s/H8C5ZA8a+1LNAEMHgY5ijVzI6QuTyom
 9C1NpCTd/wcrBGD9xfhWLpOluizvhRwrMxt98vokU90iu2ibLgpOqF7CCtdEbJ3Q
 HdeTlo2ZqVRgtgITe0OBBCxBHJIryp3w+QDJKoUbWtNNFkRJOgUIiHr28LyWb82e
 XejtJZA0rp91QEr/aJmSC4aCEU4KPSJ9C9dM1FelwXTp9t/1iaPRZvCrLTF3o1wG
 IaxK4CtlBkKj+2UEOXJyO9dxRVWJaXe5A7nIR/PwY9Ci+XardgESSl+qjwqHudTN
 GI+XmZecN2u4PyYfgnVa2IXQzaTCbSYzije+WwlBbJ/fak1lOPttZrRuBAykvZRr
 0n8tZJF/X8+h1MAk3B6Ai9RBUM6wbqvp5QTouYh7o/PSbKOVLXIcMkkf/+xriex6
 T12nXavafPTNbcKta/pIxV7QDmNM06H7+/hI27C5wEiY5dpp62WMZLY4dJDbydgQ
 mCcl3MO/kVqqk6TRDwfZ8fCBXLQASmMCt3cz9m7fUs+kD/sE45n7fOdVUjPvCaG3
 nV6oG/0vcWWzDN3NmI0Z3WOOJ/gQYOssSM1YStVoI6KIfk6i1Mxw3S967LpIZ8MC
 Wa5T2XHxAwAvalY4QobzlxkXK/oRZRPdQaBouvKnjJ+Uv7rOz+5OjkzQjnCaDrkQ
 sgT2zYeeO3P6mpREW94F9ZpdPyVFmKZIebj3TMjegvb6JW5jkg94jOJLBdCh8e4I
 c01YFHc6Db3fwT2E3j7d+0WsffQ63KIIAcOsv/+V+Jgpn7wxDuTuol7ngmoS6Z0Z
 ZKf5DdyKrbW3xR8oantMR/Qw7BSZgqMBKmpM7kGmffswOTULz7bAT8bKIIktDYYS
 RLwLiJ3zu9hxx4mKoYiTxQOIzlkGNYYnMsrU3u1kxr+QiEE8e26t9by1c+a/aHW3
 Cepv+9EfGAAzgcZeDPqrZkaqtgVzx4i45fN4Zqvx0CyHfsSb1mu9riOWLxDcvNQE
 LkXX5a5nLiez5nsu7kdlKEMB0IpLBoeHObk8NrnxoBPRWssile5jBx8hxs0qoMg2
 yESPBGHOrnvLyAtbnHTf1QgaXC5FHGqEAfgOeHeaQO2mUm+AsHqmCiOqoEqhNRiE
 LwM35zDnOIHflpFdoaQQqoiAjFkX673C70BNZslzheLSR4dAGwqjoUtxRyUZ6S1R
 Oo9I+TQ7ASUN6ArkNSxVPu32LQ==
 =Wg2q
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.380. 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.381. 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.382. Thierry Thomas <thierry@FreeBSD.org>

 pub   4096R/F1C516B3C8359753 2013-09-23 [expires: 2018-09-22]
       Key fingerprint = E536 BE85 3853 99D0 0B6F  AA76 F1C5 16B3 C835 9753
 uid               [ultimate] Thierry Thomas <thierry@pompo.net>
 uid               [ultimate] Thierry Thomas <thierry@FreeBSD.org>
 uid               [ultimate] [jpeg image of size 1968]
 sub   4096R/32B32808E6B52F4F 2013-09-23 [expires: 2018-09-22]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQINBFJAoigBEADFT6nrIBxf+uwZhsoUd1iE3gT3n1Xojyp0LA6fnU5LqHfE6Xd4
 ZeXrn7+F4BJcCscdH5RrbQVXuVti+lxssA7leL0DJcN2j3QHP1/b34pYxXsqqcX6
 kRU6XxmJFS18X+MyEfLN/Kr/2rMtVsymgcJxW72YHFS5/cI6DPwK0QsB8vCBtKwk
 ievTMVC0+e8EuI7/Qwev2713XB9b+PDgFbKFW22NLegFtqSKSa29Dg0wt/zU85go
 JOw9iLlJ218y2AcwWnLRepnL7ftZ0fi/VQnX8rvmud2n9dxkBXtlzoNxLIw2cBuK
 1VP7cVKdPNXvdgEsB0GW4fnBlIAswrh2IhznYVNQXNtKLpYrE0DW8kFOntD8LCTU
 BNawS2rhkjK0Yffxzxt84DUW9p32GtfBXATyukytm+vRLmEMs+dxqpOZRkVzO0nJ
 Ls3VSzLzRpg5UfzcgkHUltYfXK8rKjZ4SqxYEcrmyppOSlgDghIm4hbq5itoXE87
 4ZdAiqyRRenbWeFGApqHDjOv2lYT0aaaCDDfJRzp5zP7v4u5Lp3wCobVwVc2UlOl
 TKwpH61nzQsWRbtqTyJ2EJqMr3rxT9IfkqNRgzfjCvJZZKj4fA8X634Z+W3R1cdc
 G+E++bdPOpNt+fc8Ir7SbcZk4T76rw2MOwmuPADNBwIYrA/e4ZLv+jiHuQARAQAB
 tCJUaGllcnJ5IFRob21hcyA8dGhpZXJyeUBwb21wby5uZXQ+iQJABBMBCAAqAhsD
 BQkJZgGAAh4BAheABQsJCAcDBRUKCQgLBRYCAwEABQJSQKScAhkBAAoJEPHFFrPI
 NZdTywQQALtXdPAL75My1tY4/3T3QblWi4nnmBFHuUttryDn0BhTj2bsdxdmXdPD
 6i3j4ha1TwLkMuSs8Nb5XgXo92h1kLgHyC7HqwMGzvWDST9tuMubFlKryTZHKpFM
 oIf+2J95+ebiFdSJ2jl6sS9AAFFkwhV8EuBcY6Q0ZX3dV0VwtacYpa8LxP4Kf6Ye
 TP9VMGWpuznDzSjo8d1RuGxF9E8XQgd4PrX1iQBVZ0ZrTu1ATye89ojWIHt7CQit
 m9o0xd6Id5sGu9zDfx7kie5LsMKbDz57+omLSemNJnQ0fzxnLXfk84+Gm70Wlav7
 c0snyZiwEBg3Qtv8TOKRCTa79CtmtpA0x7DezekvMhiB2OMBrhTKXXVwIg7nDBgL
 LbT/bT4OSKFa5/ZZlTMlJlXrLHF7rIjNJpco5ue1UGOFeO3yXJCsuSk8akjhtZsE
 nlDmI3b/M2DusQbJpraWBe7Xq0eHAAsUg//zCBMB28zYEhKIU9C4ZqVUZqsbu+Fa
 hNZHvJDLLefkeK0P1B/k6LrzCadRv9c6LS8cQ3fXFXrW276o64Ctu8r1l+Ilt+C3
 61kQmsOJCuFCzRqj9wSKK/kYDYG8Wz7hHsCMfNGnuV2OeyRiXrF6E1aY0nq6YyqO
 cCuBG0Fi6jY6J6e4XZTQXirrP9McJkbjl+bDsHs5PiYkfvxRXVXMiEYEEBEIAAYF
 AlJApuUACgkQc95pjMcUBaKdBACfaXxLWmDhleLXLhxtocACvi8qpPEAn2k7+HfA
 HlezrUCdCBGxyaxxru2RiGsEEBECACsFAlJAq00FgwHihQAeGmh0dHA6Ly93d3cu
 Y2FjZXJ0Lm9yZy9jcHMucGhwAAoJENK7DQFl0P1Yxb8AnA/DEbcweFbZCAFGEckm
 Ia3dZZbRAJ9340Y+nxcx6L+L2MHDMaHywXl1ibQkVGhpZXJyeSBUaG9tYXMgPHRo
 aWVycnlARnJlZUJTRC5vcmc+iQI9BBMBCAAnAhsDBQkJZgGAAh4BAheABQJSQKQC
 BQsJCAcDBRUKCQgLBRYCAwEAAAoJEPHFFrPINZdTXLsQALNZtnD7OAlzH6MjONaT
 f1AWNXyqA7mNl3oUFW6BcmqsJd4dRLnnh4+XiWYB0VuqfjcD66UIPBi96nZSNVin
 cU9SXqIK8nIpvgPxjPKRaXIONp7lGF9Hsn53icqbIYKAssoDxOg6oXSOroc5meds
 ffR0SKbX05AfsL+am7WfyrrI4f29hiKBpZP9a5vqsRbNOJDFklKKN8jodcIjFmV0
 YJjBYdkCFqVaWJK3QQwOdz5x6Y0gyVlKua44de6gdFJqLyT1r7QVkhv7jqrBItqR
 g5cBPOEM+fFVYKfgm31aKRiMtLMZil1QstQp93Xi8oMNVMmsaHyjWaZZdoXXI1bm
 8CfVBohNgsjiFw7fNSDSo5+0nz4RVCQM97REgXJ22FRLhl1ufT/PtWJTohGx/2q1
 ID7TlEX0Z92zGChNdJlIqeEfO0OSKLW9MdiwGEQLPnmdqlKiQu1nAhogiv+yWKAV
 69mLxbtxxIJ4UPh81svSlFNfzJc6+2uANWVlO2yHUA8ubcyZcAJhv23VB90RxeXW
 frSrL5e7tkI5R7j13skoPWZWmCCIOjRGe5eIsEqzvh9E264lj9DX5oyIwa/YY6TN
 t/jX3tgepNDIl9QYNOKLqUAAIDoPXsVNuSiUWMeQCzw4WWND53zg2UyTjc29qY30
 AYiCeNMg6weLfM17Iwi7JkDSiEYEEBEIAAYFAlJApuUACgkQc95pjMcUBaJ9ugCf
 UABtmzxlz3Q1eSKv24U0mnXPtl4AnjPyf1GB2asgj1QFBciXWLJt3L/biGsEEBEC
 ACsFAlJAq00FgwHihQAeGmh0dHA6Ly93d3cuY2FjZXJ0Lm9yZy9jcHMucGhwAAoJ
 ENK7DQFl0P1Yo88An0qzyPLn9j+wt/OpUws77abnRR7QAJ4+4KNYnYvrPa9iQLqD
 L0dXVpg1TtHHA8cBARAAAQEAAAAAAAAAAAAAAAD/2P/gABBKRklGAAECAAABAAEA
 AP/bAEMABQMEBAQDBQQEBAUFBQYHDAgHBwcHDwoLCQwRDxISEQ8REBMWHBcTFBoV
 EBEYIRgaHB0fHx8TFyIkIh4kHB4fHv/bAEMBBQUFBwYHDggIDh4UERQeHh4eHh4e
 Hh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHv/AABEI
 AFAAUAMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/
 xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHB
 FVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2Rl
 ZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6
 wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEB
 AQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQID
 EQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkq
 NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqS
 k5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl
 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
 =urCX
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.383. 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.384. 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.385. Jilles Tjoelker <jilles@FreeBSD.org>

 pub   4096R/D5AE6220 2011-07-02
       Key fingerprint = 4AF5 F1CC BDD7 700B F005  79A4 A2C4 C4D4 D5AE 6220
 uid                  Jilles Tjoelker <jilles@stack.nl>
 uid                  Jilles Tjoelker <tjoelker@zonnet.nl>
 uid                  Jilles Tjoelker (FreeBSD) <jilles@FreeBSD.org>
 sub   4096R/14CB5775 2011-07-02

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQINBE4Ph0MBEACy+bcyk+94+fXvH3R2rXM8y/UJA1KabeU95DfQ7d9sOetiO9Th
 sHVX+evDmPxQUpliaJRT3RV0hsUd0H81AFe85xAnuaY/IaHg4uSknzcOFm1bdhRK
 Er0K1l0UAsiAa6muMLAkfD7qf1UQ/fDx5jhXwPohTOIIJ6QwxGoWtJ6jG6cMbOfQ
 S+c5RSJaO9JUEISh17si72lT1NL/OJE0cw554EPrr/jHnbeYeKujLZM2fUckmgZq
 p2KdjF6QsOQAlJvcCsve7NfdJCLAn5vjdbe/l4qsK8vYnYbkrHe3KNy7F3HEqyBO
 IibRgtRtnElqZvbGPcJTyft98XTCBdmJQduKfQDvPKz2ZS7lKzJBgIM1wVRZVpwB
 ZRkCuImPBErUhMNZI5YQCh/Q8sitF3lQADYYZeT3bLqH3jszm6DI7qbLWyz2fKr3
 ISlklWnE8Mxwg4+c65/62xomLJInzfRj1FtntA/0FLOWrwdlZ3AmHR1O49BAYybd
 umHs/Qn8dgUmng7+6YEaISr2UtgBa2W7mRDD+5ElvJ/doyAiuQXzeDyeuBktnS+8
 BPBhA5S4W8z/t8oy+CfDeQjoXnBX5CRTSS+00UCjq8jChHYGGxK1BqcMRVs86SaM
 M1EQEJIP15gYa704CAltLrbiFn7bp+iaZO/HlDoklU3WCM/8NhA2s6Xz6QARAQAB
 tCRKaWxsZXMgVGpvZWxrZXIgPHRqb2Vsa2VyQHpvbm5ldC5ubD6JAjgEEwECACIF
 Ak4PiF4CGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEKLExNTVrmIgcRgP
 /2ClA6Yoj4V2Gz6rKKUXYIjVqITSfUpmgge6yF/M8tNK5nTZUdp0Ik9KN0MPAhsb
 fYacPuNmvOSVUDypiKbjrneOnmA7f2ZOJt/qAoJPuNu0KeR5zfkX4zbz5gXE1rsn
 6XY/Acnt9OqmnK1fezRXHozI8e6GdhyjjiUW21zeVpvuqFZGrKsnU1aCWzaANjgS
 9P89O8u0NVPZx+4OTwvG8GNYM7EZwdFroGdJvwlZEqsuoyu7VMVImDGLysCNeLle
 FhKpUiWQVx+fAFCc3bJ0yUOCK+2TIvWd6JiYLo+wNk9PmI0cwWpDSE8EFV5lTurd
 hhXRFxdNxZwGgxTrb8oiF4KETDXoefct/sKOuU63BXqtNY1Fpxqo0dn0wAQjQt5Q
 Y6Lz+aqtPCBcvXOokrFDBtTn966Lw2ja0K2ADyik0nVjFVZEpYNQvNeSFkIgL+5d
 Igs8BMRAYXsVVtOVeLZfjj0nga5HXBPhHfrLHpYqUh2jDVL4SsDM2aNX0f48PicG
 087RufWsS2YKQCd5Xga+aVhpOPPbo8Dpp0xNby7pTjg7I1b9R+MRyhooxzrL8wPD
 Yh0//kvJjkuc13W3bkwrglR77vRuS8KfaQ+vfqcGusLXkDGZLLqw6WJXKQT7XKIl
 zS2LFdwqLInlv1l0wg7HiKD7zFWuTC6nMjqVqiNnsTGfiEYEEBECAAYFAk4PiLIA
 CgkQUQInX6gT1e6mggCfQmjEvpDE4Z2zOMBD+ZmEN/WKH/YAnj6MKkZ4LzjXGTJ5
 O7DrA0avgAuOiQIcBBABAgAGBQJOFDJhAAoJECNAglXMgdSMaTsP/izUJ4+SUpiq
 A24vJWZnaRGHGmNIdHLT2fyfGATiyEWyqSvBLQllCRIqsKtbdf/q3YmiIA1vHc8a
 hjdP2CUWNUeVWsvtYF2XI9kI6UlF8voPHjg6LmgPTxTG/4ToC9XPnTKr5K0JM2Y3
 YE8uqH4nmItdqG4IogwHg4Fcv8oumIdCIyP07fna7u5cIVumI0eLhKXKEDhxo/6s
 S1mxJ3a2GssxPqq+zDVDCoZUw6C8f+skd8WhMtg+P4aE+bHSoi6azidwQZEvWBzd
 8ibYMlmSvt5yC0XptyH4NAqIMZc+hNTPO3a3JdEBZFiogH3BdroChqrG2MXXRLhI
 +rw9fJ454pxRd9Kimi6Rs21zb1e23Cl2dhRXA9E2H8C7JnB5IgBuYIjHMT30pJ7Y
 kq95+tKDFkE7DP9j4ERY1gbhNTFjPwS5ZfKDfbn2zTw0rx4FGb9LPgESnqMyeekM
 yq3mfykW1kXVcLP/9cmsJ6FEeRVrayFnNXjNORHHX5D4Kk7CKf7J0B1PXy2pbWqw
 Uk+ptkl5hCRqdoMjTzk1jVfY6OZ3SqEUBh3wdsyMzsEeM0sBvkw8ZSIHm1Vtn5sG
 OjVAidpTixOaNJIGjEgY7TpJGL+4YVo2S7QqD9UYXT1dUkt8gYUdBwTkjxOWDI2v
 CUi5Hvt5CYvkaTm7E8YjXSK3gfSRgIEliQIcBBABAgAGBQJOFKsbAAoJEClUzAUI
 7uO5mL0QAJDTeg2RlQS8lPrTgyTAAs4vE8ovLvGvRfHJ7E9rjgndNICum5WC82n/
 0N7sYvjy9RIZULbKGS47KfuXxU6ZAx3mkKTR5bfSZwf3UVrWLru7L5yi72Q9BVTL
 UfsDle01vgxjNRawDAnB05mZLNmAwm+1U9pu31gNkJARclORMYG0Xc4e49Sy3+OC
 1VNsc3XXkRB6+7F68p6LdTfnljFjyo+XAVgXVrRD4Eauhe8UkvWHbSebkFBWpKEQ
 GzLAcNpnohkuOw+pegxKdy0kz2IaeydAoRl4Fqh2ls/HNcUTPjzO2poQRnmibXdB
 BSInFWk0H87XuUKA1+H8K8wKmsHTupw4s3nYjXdbeu+MQ0BIfzZK9rqbXq5JPxvz
 mRotCZ+gD5jYWfgctFldDVsQSEy4sNHyJoCiaH7cXYTLiPDicq6mRqccm4zjD6o9
 mtd5ROhHrggiulkFyh7INNV5wnk2ofI50LtTVRC+EPYpfSvSYMwcpUgmKxjtDVsH
 pbLu+9JueFfxVrBu/v6FJO+8qOyziM9BCA52UnlX1jieUt+sRSlvAE9OWdwopXEZ
 LKvDF2dscRi7jJLEdfRqLkVIdwHz0ky541JU+vWKaHfQ5QdcYh3jQJ+3ie2cFHBI
 kORNShiXPvb/E+SaB6bTNoUT8uLDP6F1DHpTNi/spnLEmMHPikVkiQIcBBMBCgAG
 BQJOFAcoAAoJEKnIbI3Tro06FJ8P/RRSaGxtTp34OqV4KsWj2QSd7wIGLgTZw75M
 i0ZxMmis2X7qBecaRzAxhGhGHcERfHw/SMbEhSDJQCP5fRMu/jkcqZO9lRvnuu9N
 1jDRSmXIwHsPoo6E+H6jPTCwulZPqco3W2flwkOM2xYBYtUX3nzj0EDr11VwEcZd
 3OI+NBOys5ken+zGxOaCJCVjN/z1yjj4bJNW+Eiu5oAvzsSnlxuzFS9AQQ8uHzaM
 fr2ilj1y2CD7r/6zOE4JMapLOg1vP0aVli0nTi8ztgTESBDTl0IjWUU1BnyTRPMT
 KJ2bDpFT26iT9YyOUqsUJ2bV8zq6AIiFzCTAQYVp/nG8hrxAVCQAXLqsFL0dFHXI
 MC+pa7UcN0EQqbfO44+ugDK28N+7II5MI+Wt0CGxVb10DhZGA8qfkpvQR60qinPd
 W1LDuZm7tuAnP6Kt/dQObmHaiCRVQyUWAAE7f5dtDexbchGUSmP0rB75hUQzkdPg
 p8PPwdTo1eOICNYQg/t62O/8h6GpEeIl9rHzuLwphkmL35X3djFXtmiXXANnUGV4
 6J+eKEVBJsKNg/rMITlY+RIG84Mf6LBFgJto5m7wAb0MG7+XwuvB3SPSYG2VA7tS
 BJ3ehCxnlLk4N1YEX4qFsN2K3RrHOqFexdlYIuKmoeIOjMsD8uDP3KP0gbXdfMFA
 deU8U326tCFKaWxsZXMgVGpvZWxrZXIgPGppbGxlc0BzdGFjay5ubD6JAjsEEwEC
 ACUCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheABQJOHZs7AhkBAAoJEKLExNTV
 rmIg9WIQALDr7jTi8lN6gr9/nUVURIVYrzx48mFC1ZHUJVoSkTJ2UyR/JaDsUD+r
 4jbhJMLQFmZ1I9V+CGxZB71B5qcLcCG2XFmw9FhXHWA3t4wzpfCB8Zk7rnTQQAS0
 LkSmULmFgZnP2+SQAGh/bxIPWbbpxPLk8V/0oyGbPUoOs32nPjPPhe7YeOhEZPt3
 R2B0D92msN2Gyfz71rWiTlqdswu/TniQ/dUHF4TliIvRCfYvPXU6GrvIdA9h09uV
 P8ySFQQTodrlAV0JgCRxmYJJZTr876klD982wxJEOBjsemnDotcddb9f9RoEHy2L
 cnAkXu7LhE5rgdoA9y6F/WwYgsi9h70iP6Vme2p51lJAVzDHmscAEAgX/M2xpsPY
 YNUT/VkdhorrLf9J2dE/pyVhZ7UdeaV1ap4fVRmH2kzSrjIS9s5z7El9zJfoRiQ2
 uCB6HTUCqQhU7ZpOOrQ1+m8iS98nme/EQrJkhkhorpN4pPvX1A09umgB63tyv53r
 QIT2qiEuI8wdx+kIVhWK79FgPElrp5guipsTxK4oFfh85ZyOWntA0UL3i/4RooCS
 3meuRmedBc/dfQNNcaNVhsipdn90bHLLowM+OZPzvXCYtSOvWF6EVpN0I3ZRaO03
 Am++WsLsT35VkzmhAhOsuOqAswza7WcNF5Gr4jc0SkLr2J3FwgRDiEYEEBECAAYF
 Ak4PiLIACgkQUQInX6gT1e6E+QCg46taKPrnYwjBCy0lNKGvfJdmw7YAn13hc6C+
 0eV4yRLltyVROSMaoeoXiQIcBBABAgAGBQJOFKsbAAoJEClUzAUI7uO5fNYQAKvx
 MzLaNS7o2WimALTtV/zkWdaQAZ68fH5Q3AM8r/ar32ldzg1zXzX5pEvYDuogfnWt
 fkSSqdJ3QA86u/GMyHGCNah2bs1fLp6bzknIw8avYhcS3e3sAVorTeLWfi/+J9cR
 cX43NHcOctptTwUVZCte+FaTLbk8jvRgqe97NifiUrsBjAydtph9vLXlQs9pNDxV
 sAw4EWDgJNNOG7V+qhfM7hjO8x3a/MGIDxI4tw+fPbZW46m7hFIGqI+JTplz70kZ
 PPfHA61p0f3kCIH+7i0/2Id4hSqJ4+xCVvsfOafB7aWKj80zo1sWNjrRxpE6jtTQ
 xO7If94F2Q8Plly4PQILYPWPIJBJOsTuKYweSRjTG1Vdgm489F1Nh+pn0IQt5kcv
 +1Eb1reYdAfeXEt6t0KW2CV+Xs4qsiRGzRGc8jZcWHeCev8yyGTKDP8Ep0l9I5WP
 c6K9++6uMsNO6KQbJKAmV6FYWgq+ceRj2rP6pQEmU4CYrX+DekZ9bBx65eZyvCZt
 IGlhdpCW9C4kQfV7HZdBxKGr/P02TGO/k3YCGgue+rI/4UiQ8CA5+n5z6RWz7p6g
 cYUU40EK2n4jsDHpHy+5hwAax/JfaqTxrohfEf4MwuV5xbeILySVm1FB481WkfZ9
 01DKWD+NBWSXJeGnOQh2fBQULPcWe3Q56rfYrQZUiQIcBBMBCgAGBQJOFAcoAAoJ
 EKnIbI3Tro060Z0QAKVx7Mq1MEp6TzPA1IxxoQKiRrG8f7S4TkDLZs/yzcKLNAaG
 nCqixApfriM9pME7hisYYVT4ty4hMh7G/6+TBmLlvNthphZYEKJBriJ7dF78fC44
 knviXO68isZFIc2AJxM6xh6DWPgwiBWE3HtGxXqSAo7FT8WgdLZ3RoqWbY6vDyMy
 sWvYJqgIJ/XB1tpwAnQpHEv0mUG7W9arMsyaU+J/tanYsBtPj1d6iEVCUqI+mogh
 t/B2+iV2+vX+tF+1t8+pLWXyM59Kca3KPcJKW2bDxTFjF8hRKodj/e1ocEWfOhg9
 +MS/orcnDnlO/TXK0qtycUcSbvf94iGuJ26do3vYvGxC/WHMiLDmtDCIz0a/Fg/n
 c/Kij8NkejRVCj1DQieEGsDee2pI6pNfyv7WdAq1haX9lKp6bEOEOoqWns1SK7hk
 45wHLC39olNm4tw9QtWYrhU0M4o005l6FnWVLmlQ8nt21ConJp5ocGNQs4mEICVi
 DVmf+tHT5qrJmK2/CXDtBMQws6+0XDbNjIcPwK3QoBHmw2n1T02V1Epl/J2tDHQn
 5eTvfNpRh/3rT8g15sS6ZtAu8Y1LJNhwaz7LE3fHK9pm8T/aZcnilT8f8c9Vt5mv
 2KtP9aCeeuFUJOpQvLLbzGCRL8qgIZ82oka9yrhxSwZBXpjykmH3YWjhWtxeiQI4
 BBMBAgAiBQJOD4dDAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRCixMTU
 1a5iILvpD/4rBvki/bly33D52QZin0bVOuOq9AyW1SlMWgRaisbV2ABbgmJ0/AqH
 rVvoNox3JQCZqxnNPr6LkTVP2kTXWsCReFKQGR51vdOX7fm8ifBMTS6mYudxsAcv
 Jzr9oNA/Su/ye7dWbAW66RcYxq1L/2wAwBkC+XDHGWF1mNduKccTDsz04UENKmow
 6fHNN8k1r1am+Odz1irU1CETLaIgC8O3u0O7Kkxh6uowDvTjXv8dGUkA9ehKvq7E
 03YSG4VwhRAjc4uQ/Cjk2gEpfSanpa9YlzWvW7sI3bqvtRRRk8+G/5Xv49eJpDDs
 8q0f7TjSO9ks+LtAxksrRWafMJCe4jGDQ8G/nfKUrnUtEBV/CbNYVDmh0sALw7KY
 LZGdnhQcb/PfE6Pjx6TBuxmk9JD7+HD3oVDFnw03yHSZCbbEi79yjaifI5gnu/kB
 XXM2jwH6f9ZsHP53HngdmK5/lHGZccHgCpD41mddAzPMqgnPAxFLbHY5Aa+O/tBf
 8tTd24nMlnLtNqeBsgQgMl3szy6MMkecIH4awdLF0MYpWbmp5//LGFyxWeRxbJwb
 6I8nhSbW/KIhzGfU8MdT/ZK0Sfv7f3C7YK5OTmadtI/t9avm9E6JXIPWa7n+EI6g
 DnZpsnFp8xJ1A7I/Pq0VhbkdVr8feXytpAYxEq/X54yXC2bS3aAH1okCHAQQAQIA
 BgUCTiMKCgAKCRAjQIJVzIHUjMIIEACSCcYe6jV9dr2cKFANPnWYV+SrZAu67V9H
 Vj9Xw49J5vjdkhw8OP7RDfIx+ykHbusZLL4286uTI7QrYM10hIACFLf1IoFtMtEb
 RwmzlnShC5vT4GMn428cL3rJAbG5JsdneOXTaFoI944XVWRwrx2band5nYxIn+RP
 4qhVeh4lONzZdafylXLz61TnfQvX3avrX0BDIsPoABPyXSzcu2tdJWcOnZ5mr0UI
 xw2/YKE134yqsS3g6RoIWxylhvCNBVKyKuDi6630/Wx5ZirsMaa77nt/YFRB8Tni
 LI9OjOs/RK8CJyoDQpVV7oNYBUadOyLfAV0QSblKqEDm6xYT7fS5LDwQVuGbU2QL
 Re/j3qsiXGYPBhPC2k7UJcf+ZYRbTWX7hq3IVuUuQ6omIeiXaI2cZayce5PbJEYV
 tQ0hQ0h2jxMxg6jpO126dHJrYcF49j6FAlKL+AImPGEho1R6nEPgesZ64E7EwX6Q
 1cBrjqrikLnFk+HdFYP8m6AXrKu9UrKf36yQduq4kXFDLCAAbenpvvHESh582N7c
 omrchPUYvdHRP+R+gNU3jNnRk0tCao+qVYKxkLY7ctKltZbdAIVlTX//eVoxmg3V
 O4n1KZThzZJJi9SclY/pJVcbutQNsITQUsykoGo0p7przcELnNwyySHJ+rGNxzxS
 ZUIrX42dL7QuSmlsbGVzIFRqb2Vsa2VyIChGcmVlQlNEKSA8amlsbGVzQEZyZWVC
 U0Qub3JnPokCOAQTAQIAIgUCTg+IJQIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgEC
 F4AACgkQosTE1NWuYiCbBw/+KvkR6YiouqrEINyRevDdtNrhnaE6BqFVOzOBhyGU
 vLGDVLCN0U3iBN1D4+SmlntxZaRrhmHcPsiXzbBQ68yJwmiB0z1NajsFdK98p6V2
 e6zKSxmkNkhiPp2C+Aqx8/es3tu7dmqqTrqIrUmM78A4ZSXIXG4dzEOniW9AQFtk
 tUKZwHZdXNInudGKf/yBxGlpSCPRAGjG9I/96dK02kOqCFwNZ0C6XRlzl8eU0WXV
 6/cAxDH7Xmi2mBHHxuhN7s/JJOAAAXOuFMUmguPcrOLBhpRx2K2jbR4H6knnn36V
 jMfIFxYzH2o2LI7rmR5ovCw7ZBhI545paqkhL3wvvDTIxWAXZ7xQcN/dJgMwBCiw
 cc6/4YaGtzYAeU7+TBL5kWDYI5Bs6YwNsllkLT93/xW55ohjWINSnV8Ijt0xc/I2
 xcT+foHBOhk5zeCU9mC/LU05IrFCXfB+zWROj2cUOPg2HuBzK9qQqSvXxQsPJGgm
 M+9qejAjsLr5CjZrrQp7CnHhND4LQJkK2gERX2rNhiZ/0YRvRUgkJraPF7eaRKew
 JYR9+wDQ5DwFjrLLlYv5G+U8KyGQxWzcR7WbFERUxuGYuATfwGypzSgKYjt2p9Ii
 JQlQfS9odFcPuZpEIwc/ph2b4mhf9pQpdNOIzo3ttEmdYoo01KCxVE70zIAqGnTj
 55CIRgQQEQIABgUCTg+IsgAKCRBRAidfqBPV7imbAJoCRaR3RIN9pzDUYuVoGuIO
 HC2GEgCdFTDYha+xaDhJniV7FfxE4gHYFbiJAhwEEAECAAYFAk4UqxsACgkQKVTM
 BQju47nVrg/9HYI50NMRO2Rjz2HFbn8/lhrlHv1nQTRWZq9jlVlVZzSeOxQJQM5k
 qpNjSbdUHUcvFfe0UYT7xZWGEhCqrCDIwegZNLxQOtqiRdYeI3WKZfJf1NhKLsdO
 flcma7RNqrkOk8IHM/mCLfEAe8ZDFn/STQx/Eius8Y+iDqZPd53stHUtrvAa/DOW
 5Vh0oo/MkEjzYXwkBfY6TDZUr9N+urYkKxBPtzHVXF3n6+nEH48UxsD6iTuFQo5I
 o3C7DPo+JJFevlnM9uJLtA1dbo8j7JcGBbIMsebx9oIX7ZPskUrVE6CJU0K3+zAg
 h4yhD8aYgAnre1lBh1JeBSi2PFOXgM4mIt4hYJh3UzduKCEix07t9HWgp5X/1LbK
 BEqnIekUXl5ENutkS1DfM8xpc5AZeMfM0JwQoxRT8/U9WdpM5qNFYxKWgF7Iqx1U
 YX0WZ7VIeQI5hfvZ5B+emIdDctMH2t0sHdi4CBDP8qf3aswuMPODXFWwmgI4vngx
 EzRZScFqFpRSAoO1aQaLppBlpPSIz/V36/p/rZHxFFzyaZgzU72DOmd8E4E0IKLZ
 S/WsSoyk5M6xoifoZnetOSlMrMAsrcyMfNR7pjOS64YSJAaCi5r59cnKFcsdoQ1J
 hHdTY3kduHkMlEPmZaEIrI9muoQiZrOBDD5gkvR+dYYz4jdDYBtPySqJAhwEEwEK
 AAYFAk4UBygACgkQqchsjdOujTq/rQ/+PlbpAFF7tLrPPQss7VG4K7X8BPpi2ikj
 WhuBCXydblNeVLJ6jO81aY7a+cV8MtRtUWr8vKeWfk3o3ML9ev+d2LXdv9dzuIwh
 8TeI2FTc8M9UEQIZUcYQrd1VVFThMvr53uOBeDAYELJZlkqKsdW9c2mZNO2utNmz
 ioeyL1quMucKXArzzGo+oBBL6bAvSyeO15KTMdSHtUfpR1XPIYeK41ciYumPaJOf
 qV4dqvM+rYlVlXc90+Ph3ThCZQjnGOX8s+ijo6g4t82lUgoBQRD+uMWTCM6sRLVv
 UDYfR2jCuhZ/OsDhDE+IlswMHMgO/OrwDPx0VVGuKL5GZ6z2gcnwcU8vo1Qi+eCX
 MgHpKz2vJb6+xuOqvQjeY4fj7AAUxQw678OoEz2wb5jxBtaJyw5bK9ciXNqV19X1
 iQg1Z9u4VAiAN51+pVsCRdeS9JPWhlbkBuwnsXT9qzqFl60iI6aTwYvmJRBPr/ZR
 gQv+YKOYxuL09yg+DO9FEajwQx8BiS2gU9ImXCRcYfhbg4sHBnckehMsSG9mn/+q
 ixumGrLSEFsaHQysGQiFDzfqKcTtHhdYKdoKj+rfC5J/nhXgH2+9jYgInrUbVFqH
 VzLmjlR01Paj69kBAq1XXkkzI4QTame9HQi7BN6y2EkAgVRbCcCKqchiMkUnvy8S
 TZ0K3JK1v5+JAhwEEAECAAYFAk4jCgoACgkQI0CCVcyB1IxJ1w/9FP0JwAeXUjA5
 GHMz5PqFzsNxsAkY2iZZAQQLFFlYgP1g+CDiSmYbP/61o/DNrEyfYieS5AamPu1O
 nR28E6HkCBymHsxDcia0XVT7S6MoM4KvfykeXBogNgSK3v6fazdopVy2+aI8pI+i
 Rq2o+J/6qzLl1Ha6X5kSxgR6Haf/WoJXMimZy/YFiIayDlu5Ob06sIcXU2uYbrIe
 4SHvIaujxurev1I1jk/seui95v4c++xRcYFkDujzoBu3I8oJm+3t/VcRlsK5n9i+
 vrY0ZoXbmE2UZLHU5MYzdImNW0NVx5Gxp7urgR+qHlRGpGi5HaDcfzp2sfDWs8lk
 DXpw5id1OwZleh5Z7XHaVp6w4j/LVyCpbx9hgiITDFDeL3Dk+LyEjSU+eOqqy617
 7FjLD+WsWx0ZlxYDVurjIRU7CZIRU6gJKMVVJxzOCyGK56DmaANJF/IFBQtT2JMu
 cSS1OHv79QeavN5rTBw6hr+QHXq1m7Z7MK69uVqVRj3+okaQtFlgxbYiLEWhEWuX
 a07O7Bl2JkqbXSf3T5Lwq78/DXPyT8I7IGW3+20uOPnXzJd91tum6EY5xjl+GzGm
 VKbSIbby0JulGLSP0lrQ8CuH2+cYngjx6VQhlDWbxfNfsS71y9a8tjCCXDGKB+S5
 JD6LkoNQpkTHrbGUeUpLjL5e7Kdyeiu5Ag0ETg+HQwEQAMxIHmCYVuwXY/DqxgBZ
 KuP1Egltyf+M4OL/8ARxkbHcEK7cNfm5yd5LzTHeV4KRyKpkcOF829qzLFkB7Hh+
 ScjjfDpllyXu/fCC2Secu016Ho5hDVLrPu9L9rflDsh95TCKL/DCDSjG8LlFcQ5K
 GJTlL7007PRo3rIrIcWKCbqI2Olo+4DkXThHSIDXg0BgTZlmOPQ7F0cCU9s7K4zN
 J2bOaomyxiBikajQXpRATgA7irySZWyjksWxGxA9e7cPkwQPZiwHzt/2HZIImRBB
 bL4ddVT+hY9wDQPswxyWZhDUWTFPl635Ry50ZWAlqIi9LQk5BhqOj73J8SaKsz8U
 70NXC2mkCPtmd8Rh79iYtITnfH967eKILdJ6z8kCLdMhK7UOVnKaItjI9D5wZ4W9
 DgJYfplnEJzNrGc7uDAnMmR5A8Bg+M/4m6dN+SX8QLado0h6cSQ3dv1uqGsnVWeZ
 2kdilWxBgedTssWJeQ8Tj+9/UuSbprJM0Z+KwnafY4oeAUE6Y80ubsd5niFe8w5N
 SEOIf3+TL5bqik0o+A3GjWutFhmJJuVP0jRovH6IgF35kgmoBC3n1HtwrEkqStfi
 vHM56ftDlA6kZdR9RInMUs9U4n1lVbeyWo2ERjk8N/zRR6DgyXBEYQAS2Vxs4jCJ
 8r8+V4w1FE8me9pIf7hQVa8zABEBAAGJAh8EGAECAAkFAk4Ph0MCGwwACgkQosTE
 1NWuYiBIlw/+Kd06/aXJR/yA2negZgAf4Juh7kQZOk3TMA6wo3Nm/ZV+2a5HmVqL
 ffEl7/3U/ZxKWJ7NwKPzeWBwghH6Xqzp4ujpf7aEet++sP4A0/O1SjCPvwDHQDdL
 6JMKHxy7m227HdQXu5rArTlbbJsRBSgHZ+UEFk4tVqePvr+eQo/WEtxVFx0JJ0wD
 c/uFjL7A4rXJRdtCmlwNH1WbCKQiigT53zPlmq6W0USvsOz4YKu+hAs5iUEfLByA
 uHFnviOdxjeXTB7tSfbr6s01C2EalGxvM/Pld9efufUrrp0sp8tehmqS870JwE7X
 dQ0/Pd2yJpIGO9OaWZVPQRV4Us1Z4O0cUTYA8cIGJifb185IScRhJmtGJTW7nOo4
 zIXK/vjL6I1JPYfGIvzRQpa7iDSDhXodI4XhEoag/F7bO4tTcrIj8f2rY7O7cv5C
 rBH5tt1EXMV8forxj/HNY6lqyYZMaBEPDUPid3a241ZOwCYVEGQuw0ypDYL+Xuj+
 5DxHgxv42xx72+kws1TG7P+gouSG7r9wUIytXSoP1C/VYZeC3ncPZkWptWCbwnkW
 BP7FEXdzu/XLIUQRloJyxPeIfuJzydkc7oO8SDlDxt/2zD1tgF0rXNmzZR5h2r3k
 IEaIwNPRRixodeSn4jA5GEXWP2WjJIEbF0vY9v/rYK5YOeTFKC03OBA=
 =sGf8
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.386. Ganbold Tsagaankhuu <ganbold@FreeBSD.org>

 pub   4096R/8617408EEAAC693A 2013-10-05 [expires: 2018-10-04]
       Key fingerprint = EB31 9B1E D3EA 4D95 A96E  7103 8617 408E EAAC 693A
 uid                          Ganbold Tsagaankhuu <ganbold@freebsd.org>
 uid                          Ganbold Tsagaankhuu <ganbold@gmail.com>
 sub   4096R/A7E14611600EF443 2013-10-05 [expires: 2018-10-04]


 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 PzaHPRmkcOKmm/VxDhEV
 =ibfV
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.387. 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.388. Andrew Turner <andrew@FreeBSD.org>

 pub   2048R/31B31614 2010-07-01
       Key fingerprint = 08AC 2C57 F14F FDD1 2232  B5CD AA16 EFB8 31B3 1614
 uid                  Andrew Turner <andrew@freebsd.org>
 uid                  Andrew Turner <andrew@fubar.geek.nz>
 sub   2048R/9ACBF138 2010-07-01

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 BuY=
 =WLSs
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.389. 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.390. 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.391. Bryan Venteicher <bryanv@FreeBSD.org>

 pub   4096R/E97DB7DB 2012-11-05
       Key fingerprint = 0F8F 11EF F4D2 EDCA ECEA  CB16 744C BF25 E97D B7DB
 uid                  Bryan Venteicher (DITC) <bryanv@daemoninthecloset.org>
 uid                  Bryan Venteicher (FreeBSD) <bryanv@freebsd.org>
 sub   4096R/2EBC1A46 2012-11-05

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 hvaQWSxKvtCA3RdI3vmKyQc=
 =6YAA
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.392. 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.393. Alberto Villa <avilla@FreeBSD.org>

 pub   1024R/44350A8B 2010-01-24
       Key fingerprint = F740 CE4E EDDD DA9B 4A1B  1445 DF18 82EA 4435 0A8B
 uid                  Alberto Villa <avilla@FreeBSD.org>
 sub   1024R/F7C8254C 2010-01-24

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mI0ES1vM6gEEAMBJJFEzIesoeff/XaJ5baSLJwdZ87H26x51KPodOiCK4pvhSOvA
 1Cl+/moYBVOqhqzfNw2pX+EPWJpwRHToqZMba0rxALNhRaQgQAVk29V3bqsQhwBS
 yfwQirouhXGNaUGbdYh4ay0ZoyY0FUtKsj4GxhpWdHlKrjsHAliHM6U3ABEBAAG0
 IkFsYmVydG8gVmlsbGEgPGF2aWxsYUBGcmVlQlNELm9yZz6IuAQTAQIAIgUCS1vM
 6gIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQ3xiC6kQ1CoucYwP+N72o
 Hafp9Oj0004/rsgDKSLSfru89cusN7G7FyBYICjFQXJfwRAr3Mqo+4JwMVHPbQ6z
 ReRiMKN362M3e2cA5GMhtYqDTq7FSJzsWBUyfMhJmKOcP5rtQlm7sIt+XFGvOxRx
 6HXoduhiDmqmDUrxVxBYQTU5qGqkOXsIA/lITJ+4jQRLW8zqAQQA2HR/E+7JRr4r
 6WkpHb5WVe8w6ipuOpVRh9KjLOeDtxlCCuZ61asE6dVTYxhLrxhmzXcz7WQLJb++
 89DaQj5bSAFy3BfujeO+HUik9qB9Dv+t6eNh8SlPByxObyNx+NNNP6k5xiyx0cMC
 AMfUJbbZ91SN4gh+21yf2VqlS5uAlWUAEQEAAYifBBgBAgAJBQJLW8zqAhsMAAoJ
 EN8YgupENQqLLXUD/3qVTKnHAvQqu7EcdV4SEMbXtxHauN6tushMAbTiSI1tCz+3
 2nThTiXvLp4mQfwdH8uTQL+n3Yf3xZATAXe6Y/7Q+TvUp/Em3/5QOzdTEHirQDDe
 Cpks3VK9i/ud2nOl/TD1sy/5ad2aBKE2sAYgtILxAsdnxh4Cn4oBYc8Obg0N
 =UkFd
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.394. 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.395. Ivan Voras <ivoras@FreeBSD.org>

 pub   1024D/FD08D5063DFF1D2C 2012-04-22
       Key fingerprint = 6141 82D7 8304 0002 EEB3  48E5 FD08 D506 3DFF 1D2C
 uid                          Ivan Voras <ivoras@fer.hr>
 uid                          Ivan Voras <ivoras@freebsd.org>
 uid                          Ivan Voras <ivoras@pirati.hr>
 uid                          Ivan Voras <ivoras@gmail.com>
 uid                          [jpeg image of size 3697]
 sub   4096g/88C9ED7026B75D25 2012-04-22

 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v2.0.22 (FreeBSD)

 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
 8pIDAAoAAAABAAAC+pIEAAoAAAABAAADApIFAAUAAAABAAADCpIHAAMAAAABAAMA
 AJIIAAMAAAABAAAAAJIJAAMAAAABABAAAJIKAAUAAAABAAADEpJ8AAcAAAMiAAAD
 GqAAAAcAAAAEMDEwMKABAAMAAAABAAEAAKACAAQAAAABAAAMwKADAAQAAAABAAAI
 gKAFAAQAAAABAAAGPKIOAAUAAAABAAAGXKIPAAUAAAABAAAGZKIQAAMAAAABAAMA
 AKIXAAMAAAABAAIAAKMAAAcAAAABAwAAAKMBAAcAAAABAQAAAKQBAAMAAAABAAAA
 AKQCAAMAAAABAAAAAKQDAAMAAAABAAAAAKQGAAMAAAABAAAAAKQMAAMAAAABAAAA
 AOodAAkAAAABAAAAAAAAAAAAAAAKAAAH0AAAAfQAAABkMjAxMjowNDoxNCAxMDox
 NjowMQAyMDEyOjA0OjE0IDEwOjE2OjAxAAAAABQAAAAKAAADAAAAAGQAAAHMAAAA
 ZAAAAOUAAABkAAAAAAAAAGQAAAEsAAAAZAAADUgAAABkRlVKSUZJTE0MAAAAMAAA
 AAcABAAAADAxMzAQAAIAMAAAAFICAAAAEAIACAAAAIICAAABEAMAAQAAAACAAAAC
 EAMAAQAAAAAAAAADEAMAAQAAAACAAAAEEAMAAQAAAAAAAAAKEAkAAgAAAIoCAAAL
 EAMAAQAAAAABAAAOEAMAAQAAAAAAAAAQEAMAAQAAAAIAAAAREAoAAQAAAJICAAAg
 EAMAAQAAAAAAAAAhEAMAAQAAAAAAAAAiEAMAAQAAAAEAAAAjEAMAAgAAAGAGQAQm
 EAMAAQAAADAAAAAoEAMAAQAAAAAAAAAwEAMAAQAAAAAAAAAxEAMAAQAAAAAAAAAy
 EAMAAQAAAAEAAAAzEAMAAQAAAAEAAAA0EAMAAQAAAAACAABCEAMAAQAAAKQAAABD
 EAMAAQAAAB0AAAAAEQMAAQAAAAAAAAABEQMAAQAAAAAAAAAAEgMAAQAAAAAAAAAA
 EwMAAQAAAAEAAAABEwMAAQAAAAAAAAACEwMAAQAAAAAAAAADEwMAAQAAAAAAAAAE
 EwMAAQAAAAAAAAAFEwMAAQAAAAAAAAAAFAMAAQAAAAEAAAABFAMAAQAAACABAAAC
 FAMAAQAAAAEAAAADFAMAAQAAAGQAAAAIFAcABAAAADAyMDAJFAcABAAAADAxMDAK
 FAMAAQAAAAAAAAAMFAcABAAAADAxMDAiFAMAAwAAAJoCAAAkFAMAAQAAACARAAAw
 FAcAgQAAAKACAAAxFAQAAQAAAAAAAAAAQQMAAQAAAAAAAAAAQgMAAQAAAAAAAAAA
 AAAARkMgIEE4MzczNTA0ICAgICA1OTJEMzYzMjMzMzIxMTAzMjVFOTczMjAxMTJC
 NTQATk9STUFMIAAAAAAAAAAAAAAAAABkAAAAAgABAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAACAAEAAgAAAARSOTgAAAIABwAAAAQwMTAwAAAA
 AAAAAAAT1QAAAAEAABPVAAAAAVByaW50SU0AMDI1MAAAAgACAAEAAAABAQAAAAAA
 BQESAAMAAAABAAEAAAEaAAUAAAABAAAGygEbAAUAAAABAAAG0gEoAAMAAAABAAIA
 AAITAAMAAAABAAIAAAAAAAAAAABIAAAAAQAAAEgAAAAB/9sAQwAHBQYGBgUHBgYG
 CAgHCQsSDAsKCgsXEBENEhsXHBwaFxoZHSEqJB0fKCAZGiUyJSgsLS8wLx0jNDg0
 LjcqLi8u/9sAQwEICAgLCgsWDAwWLh4aHi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
 Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u/8AAEQgAQwBkAwEiAAIRAQMRAf/E
 AB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQE
 AAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBka
 JSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SF
 hoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY
 2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgME
 BQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKB
 CBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNU
 VVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ip
 qrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/a
 AAwDAQACEQMRAD8A+kaa/VPr/Q06mt1T6/0NACmmEc1JTGwKBFG/u7Wxt3uryeOC
 CMZaSRsAVwN/8X/B1rK0Mct3dEHGYYQB/wCPla87+N3iee/1VtLguCtnasUKg8M/
 c+5zkfQe9cjoGjQtbRzTAuzc7T2rCpXUVc6aOGdSVj3/AEX4l+E9XkEMeofZZj0j
 ul2Z/HJX9a6pXjmRZInWRG5DKcg/jXzl/Y1gG3NaJnp3r1r4eatE1kmilFjaBf3W
 P4l9PqKmliYzdi6+CnSjzbo7AqKa2OKlYHNQt1rpOIY7cdKhYcVMQSKjZCaYFcii
 pDGaKAOpprdU+v8AQ06mt1X6/wBDSKFzziobp/Lid/7qk1Lg7s1k+KLj7JoGpXJ/
 5Z2zt+QqZu0WwirtI+MfEl9PqniK6n3FLfz3EbHOG+Y5PuTXW2GsaTp1iiS3LGTA
 zlGOT+AxTtE23Gk28oRfMQ7ZARzxwf8AH8a10YD5XGVPBrz6k0/da2PaoUHD3oy3
 8v8AgmdJrNy6JLA0BjkYKiMjEn8RxWlpeu31lrOnmCMrIsyhtgL5GeVH4HH41Fep
 Z2tuJfNEUanjpgE/Ws2PVVBDbSYt43uVOT7g/wD1qKdrppF1Yy5HFy3PpuCUzQRS
 lCu9AxU9sjpQymmaRKbrSbK5ZNplgRyMdMqDVzbx0r0UzwWraEIQAVEy8VaIwKhY
 fzouBWK80VKRRTuI3aa3VPr/AENOprdU+v8AQ0FDq5T4kXPkeEtRjSCeeWeFo0jh
 jLliRjtXV1y/irx34W8LZTV9UjW4AyLaIeZKf+Ajp9TgVMlzKw4uzufMfhvT9Wik
 Z38y3V/meM9CBxnBH4ev6V0G7Bxisz4n/EBfEOv2GqaMs0FvbxGMRSYDHLHdkAkc
 8fpTdP1CLVrYS2cg80D54ifmU/T0964a9Np8zPTwlZNcpJrk1uLRRMm6MSqzAegP
 NYsmqWlxfxRRRoLV8KyheR6kVp3azNDJHLbk7gR0zXO+DZNH03xnZJ4iWR9PST97
 t/hPYkdxnGR6VWHinuGLqyjt1Psq0jijtIEgB8pY1Ccfw44qUjjpSRSxSwxywyI8
 TqGRlIIYHoQfSl3DHWuw8oY1Qt3qYsKibqeKAIj1oobGaKYG5WZ4g1iw0HTX1PUp
 hFbxdfVjg4AHcmtOvkj4xeOrjXdbljikP9nwMUtIx0I7yH3bqPYimMt+M/jd4k1Q
 y2mkFNLtSSA8OfNYe7Hp+GK8jnupppHllkZ5HOWZjkk+uarFyTyaTdQBL5zqjAZy
 TwaijeRHEiO6uP4gcGigUAdrovji4tNKltb6J7ydf9TIx5x6MevFclc3U1zdS3Mm
 A8jFjtHAqFetO+tRGnGLbS3NJVZSSTex1/hnx74m8P7F07VJlhX/AJYSHfGf+Ang
 fhivoD4afFWy8VyppepQx2WrEfIFP7uf1255B9j+dfKIODVi2up7O5iuraVop4nD
 xupwVYHII/GrsZn3t1qJsmuW+Gvi+Hxh4Yt9Q+Vb2P8AdXca/wAMg749D1H5dq6l
 mqRFVjg0VHK4DmimBd8USPF4Z1iWNirpZTMrDqCEODXw34nP/Ewf/ef/ANCI/kBR
 RR1K6GHThRRTELQKKKAF9KcaKKAOw8C6dY6hHfi8tkm8vZtLdRnPf8Km13R9Nt4y
 0NsEPszf40UV43tZ/XpRu7aafI9j2cPqUZWV9fzOl/Z0u7mLxvNaxzMsE9o5kjHR
 ipBB+oyfzNfTj0UV7B4xlzk+aeaKKKoR/9mIYgQTEQIAIgUCT5PoJAIbIwYLCQgH
 AwIGFQgCCQoLBBYCAwECHgECF4AACgkQ/QjVBj3/HSyQFgCgmNivqPSytWdjXRfO
 AgYHdcKIugQAoKOTgJh5PGqL6q3A6pfr+l47EJemiQIcBBMBAgAGBQJPk+qkAAoJ
 EPR2PaS9nlUmamAP/3jvdn/OsG7hJS7ZbND0zAu88b7K4XGeFuOFVOts5AS/kG+U
 lTEaDviMc3DqWvAlLJJRQ8Fn1R9wT0B2rbIBLjUc1xS5MWUi0r8g3hC7HepUanQ3
 PFg8CJnVPuzPD20xWbmkNmy9LDkdFwheo+L/zHZNd7XF32/wlbhvgpGSCeQRf4ll
 2IDOWC+yICwwqufiNc+LjUIM+CET1LBSjcBsCALcrH2VLzIA8mYG8kElo1r+5Sbq
 ug6KrCsqWlNvTTM/vrLYCRkB4vWjAIPemlEy+wh2sUkDkJJnk7e1usxYqkxNoI14
 i2l55MrD2CR3FJvWNH/QVUE5NvXVvUsmzhDxMCs7klM1HxOlztdhvAWj6/DGgEZy
 6ZIqXkHGwBxvwL39HttJ7bSFcQgGxdO0XRdLeuaFcZ9LdAWoW0N9V+1YB9Cvb3Xs
 zLA2NJ+JGAsRYK37+otdiwUkMZprWEOCUbhWEVTsjvBBSWuHaCMmf9gV9HEPOVrd
 6BQxbf/OvqLCh7kEB1qCZWmXd5kNMKyV9VbPd6IB6QjvoFTK+tDfFsuc8I3wCAjg
 T1tZWnakpaJaHCHyj3lKB5XfD0c13HpifFQ3BzQ/YypThxcnvn+1xynmHgHP9CVK
 fgL81k0jYY75tTkhzHmu+c4W9x6VMHonZCFdqCxSqkUYJ/piJzShHNGXeiv0uQQN
 BE+T5pAQEADwf4aik0DCd1nw5JfU44L29lMNOUgr6r1zSHI6oa2TdOyYS3z2F83r
 hlo6i0SknX1mHc/pWb7KNxY9NT2hZL99iJ5c6asShfW96ztwM0G6AfJ4xPx6sHlO
 veXJK6usZZqzYwjONpA8TiUYTZowyKRdzPn8wL3iOOnOvZSE5PRZ4pL9XAxiltX7
 lzoP+lI/9eDcUT9obPtx54Wr7f030haXN4itOz5XtvW97mtnRbS/FQA00LuDPQH/
 57lZqiBseJefg2MnK6lMfer5OPwXIjobGNDAsQxH+YnvSBbK5bXUZacxc/EvhNDu
 d+DE62Lk/GTMq3B5kZsCQntrxg7qBnMVoslRXcGVBPTYDH9kYPkoY7jwnvTctJgg
 TDBxeZcyo9mmoIJG0/PXvWPXpNg5P77vLuCJZQJFEa62y1wUqAuPDrdPkPxYCYnU
 t7Ad/g33mQ5L0O5Gj7jjFwbrwJiZVSGJbC8IkxDuo6Fxl8jdu4Kdnunmxd8iJPDh
 A8xcXwxGqOHWFuZorWZ1Y2rYdJRSps9Zi81mLijmKMQHf/e9c62xaAmLONxs9qv/
 EmGbkGikVzI15z43jqRp7crx5an+830x3aWd4eE3Bvam21++b39XMeG+N5nt05GB
 5FSD37JKetHN65dFtVWVQFtSgycoh5lRj6A48EB+zTeASX6z6INUHwADBRAA4f31
 tWEAV8lBN+c+jzT6y3QUHTmoZo/7epLrcBiTw6Gp6p35MqUDd1gTr/yVG7Ow9GK7
 Hp1VP5hoaBgJ6eoNz0YhLnnD9LbocPWsBw+dG7dZDFbpqXcmn0FfqNd4AbyJESe9
 9BQ+1z2VydELlzyVMzZOsVdsBS5mK5Iiumu9ErxIkCO78XnN7syFb7lBtmcS94Ar
 IL5m3IyId8PHVKfGEqFZXWNKVNuKSZDFSBkZHwgtp2KBpY+nQcucXSdmkQkTlMER
 6IwsTIv6X25BbIU1ZuWVDDbAbNOK7kfMhkpO2kRFRAAy9qJLEM2UbJBm8fJDu+F3
 alUFZORnj16pQfWxltZ5heNYLxAcmETYQizh6yhp3V/9fth0jH5QIadsdXLGxhfu
 IIPInJzMT8hs8QtPggeyJkZKF539OpDefWIgm4DThnikyaxQJ156Dj6KrEErDe14
 sm6ZeG6HVZhUtXpiAa4G/2tCEcBbVJByq5ZBosNQrciPdK5x8zRJm1PdaubTzkLc
 edz/O3HpabWZIL1NvGgv4T82SkW932iYfAtVvImsu/a9DWAY5pc8ro/hx+YdE14X
 K6UVxAtSAcJQ5Vunx3hWvwXgmj0UA00irSByt0XnZy2PQdGl23B0Yd/NZsO3e4pC
 /PT9iaUgof9Fn6PhEwwd8CYOl6W47w0jy3CAwzuISQQYEQIACQUCT5PmkAIbDAAK
 CRD9CNUGPf8dLIBPAJ90sGjF1gGG3oev3XDdZQa4as1IygCgjUNrV4Wg58GAyVjf
 OcV2+EVyUXQ=
 =8HRd
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.396. 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.397. 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.398. Adam Weinberger <adamw@FreeBSD.org>

 pub   2048D/C57CF3A8 2012-11-15
       Key fingerprint = CCD9 F28A BD1D 50A1 8D08  18A7 F48B B195 C57C F3A8
 uid                  Adam Weinberger (FreeBSD) <adamw@FreeBSD.org>
 uid                  Adam Weinberger (adamw.org) <adamw@adamw.org>
 sub   2048g/9C6D0E30 2012-11-15

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 IpuNrKfM7zuBiw==
 =yHIG
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.399. 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.400. 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.401. 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.402. 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.403. Steve Wills <swills@FreeBSD.org>

 pub   2048R/F5CF62B3207B1BA1 2010-09-02 [expires: 2014-10-26]
       Key fingerprint = 98FA 414A 5C2A 0EF9 CFD0  AD0D F5CF 62B3 207B 1BA1
 uid                          Steve Wills <swills@FreeBSD.org>
 uid                          Steve Wills <swills@freebsd.org>
 uid                          Steve Wills <steve@mouf.net>
 sub   2048R/A36116F7E9B254FD 2010-09-02 [expires: 2014-10-26]


 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 =1rR2
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.404. 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.405. 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.406. 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.407. 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.408. 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.409. 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.410. Niclas Zeising <zeising@FreeBSD.org>

 pub   4096R/EA4BF1EC 2012-11-28 [expires: 2013-12-31]
       Key fingerprint = A8DE D126 D346 E9CB 6176  AECB 0401 4392 EA4B F1EC
 uid                  Niclas Zeising <zeising@daemonic.se>
 uid                  Niclas Zeising (FreeBSD Project) <zeising@freebsd.org>
 uid                  Niclas Zeising (Lysator ACS) <zeising@lysator.liu.se>
 sub   4096R/BB8B5551 2012-11-29 [expires: 2013-12-31]
 sub   4096R/B8D43CD2 2012-11-29 [expires: 2013-12-31]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 mQINBFC2nOEBEADVxRaxvpAy4FM3O6f6eBzjmeKh5PXSUzuQ6NFudo/sD3lXCRRQ
 /v+QoibQ/4n0wURi7eeQ+XszPT+h91NfQKQizgKW5TTiIvZG/ht2aB3KjvVNc9oB
 t8zQMiH0cI/OGGE0WzpsTIozkrlDgP0Ov+1xw9EfHsu1qVbF3Of16/85AM/cRQUu
 ggzb2BZe/02OMeO8dsdN8YDtousy3fkwnuF7jtEbJYowivoKP44rzU46BR6JKHfU
 xfZdX3RbqYdCeq1WFyauuaGnKc75ATp8kQjyOy8g+aiPczBnpHqMcg2310Add92b
 PR3K/29wvhiO6zi+yJDoHDVqJp7FznnLlf440XofVmA2a9uScqVnWP+psLbdQGMb
 oSNDh8Ofk3Bnhlc4Su5OQMYUQ4DaFAWVQWQgA9I97XxOamwEa2OwcyFjb2Ov2Zx3
 U5d6t6NHIGg6niOnS4vNE0trQrSu60FYvJgvX3k9T7WXqU8zQLVlr8P4jCwsguPE
 5vHLT6etlEA7zWsCtXDTLKhHptEzYZ9fM9M9IFr3Tmt0TaBGtka0WoqL3N+9QnBp
 6kkzlf1vi3i3O2e2SD4q+4SttX0dvuTRwK0urcvbiLHxrlfTio/McmsW5rcCPZ3K
 tGkstVjfK6dqiDwtJV2GgRHEgCUNOtifS2YEW6RJadzWSz9F8Q/7q4gz5wARAQAB
 tCROaWNsYXMgWmVpc2luZyA8emVpc2luZ0BkYWVtb25pYy5zZT6JAkAEEwEKACoC
 GwMFCwkIBwMFFQoJCAsFFgIDAQACHgECF4ACGQEFAlC3YzcFCQIMr5AACgkQBAFD
 kupL8exz6Q//QHF7NP0aQaHptZeTcF5pBMUt0pfWTA0bk2DiUL/hjdpR3xBOLupM
 qzb5BcxnsEivnw+x8sQXT8CF5A7UCl0qelxdidMJet/d9wNy+Lt+dUQmd9GTKRp3
 zjIZWP/+GepeQIp51Hdusjw0pUwT3Pt2723Oj+fVMK2Xyyq/WTyFi43yHq4farEI
 WOVhMEk89KwVIhuDVBmPvZbRPYan5BHwqZrxof3R+T1SswLEQ0Go2qoBF61nTCdZ
 UzYJ7kSMZe0MauTOd+Se+YwKIRjyBE1IoIS5Uzo7oHXyVnMacGI7GLgflS6btxsO
 DMknlD7gzUxwZiawD6w2QBL5euVBjXwSR1CyLtpwtQcUQe9Wb466AyA2ET5irSb8
 /Mpav2TNE9Mxt2oxc8OxoWWCFaw4FJZXuLyXStbDDS2PZ/7xRrRi7Cvh4KNRRUNO
 GpWGbKO7Gnk4cCU9PJRmVi3CeDR0hEEpaT0L27Ct55UvZRQI0PT+d0rcJz6YsIBI
 oSc4JuvKDVIE7eZfNgv6HQ5cP4Y+rHHZEnnCX7PJy2gi2e5JPfAonApwuuffes2N
 ebdTWp2bqHjtdlq7bJBwmg47nQItR7I+uDZa+PMYGx8XspwBLd9XHpi4SEVlz4sm
 VPf9CrFcGu9Omi+zZvcaHe9BhjpJEPWFS66DjqQKchw2IBSvTFQZcFW0Nk5pY2xh
 cyBaZWlzaW5nIChGcmVlQlNEIFByb2plY3QpIDx6ZWlzaW5nQGZyZWVic2Qub3Jn
 PokCPQQTAQoAJwIbAwULCQgHAwUVCgkICwUWAgMBAAIeAQIXgAUCULdjVQUJAgyv
 kAAKCRAEAUOS6kvx7AXND/sG7zzcu5dMmVUDE3yv4R2ZwAYQDPIP7DBDZWk3FT4Q
 M7plVKyJHYqsOzPYeeFtmTBTz7UYdidi6takDme78mGcuob5I/I8yKczcyKKBLZi
 YeJUXstIDEJRfmq9MZwnp+z6KnunF24KoDlpyzOQh1MGwCqsdBJUUyUoN+C98AJR
 kEhav1Gay+JK+A+0PsYGP+tbwI+Z4zCpAossCAX3SSWn3SWp1aGRKW7THmbGlzNX
 xvLbUjZv+3Xn0Wvr1BDqwrneeD3QoU1MMZCqzzSF5EYPHeqi2HzfnREQHVMIQ69F
 7bdmM1B5bTLB9Bh9C7jEOpttTEPOMciaCho2w0H8hYz2ccglZV7c06H2DRrwiPBV
 9N9EnY836cjuASx1rRvh6bIggTdCMMEH9p8JqAoZjPvCo5U6A+iWbR7V+kTDucvr
 zFfHfpetqh59qF86qe0O2+OpFF9sOqIMCo3y0Eq/2jjC9Xkt96PJ6ZvWVZycrQkC
 0K0ZAAg0Eua8pv0/84eyPxy6UUAUxmj6gFW/2IN2x8wYCe24oOSfJWkCZBQIFi3R
 KPVWrZLdHxt+8BybGVACUv9g3GYwbpO/9jdL8xI9HIVxVz2O2XRkBWJkbBwzbtta
 JZTst6jKcC14bxqGo43LkE2LdhGBiwY7gtdM+gwfhEBjliMMrwVzqHhKlPAeXexM
 X7Q1TmljbGFzIFplaXNpbmcgKEx5c2F0b3IgQUNTKSA8emVpc2luZ0BseXNhdG9y
 LmxpdS5zZT6JAj0EEwEKACcCGwMFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AFAlC3
 Y1UFCQIMr5AACgkQBAFDkupL8eyIQhAAjvLXmF4jDwxTd473npoki2FiHMCrpNY+
 5T/nUWLcMv6O3pC+cpJRAJG0xzrMwQ2+fzWsenh4BASr7n4NvC/psgfq7bY2aYbe
 9q9wLLvbY9Q7irOoSSqy+BJ/zQFFszQ25yBXS6qWzZ2qUjWw1FV5t3UvqjvvxReG
 tUyReYqhJXEGY1lK1TcNCYLOnoPbrZCz9zu7ldxmUr+KxNR2KU5NjOcLAy5FqsO9
 l+KYDPa6p3U5VA21Z9gUWtlKG/A+wveH12POf7CbD70Vz10qnMetzs7qzUUkvMNk
 v6zZLpyBL+krwUtM4a05druESse5Mjxe2Z/2u1HnUqoZB6rJb8i6NRDNPJBaF8oW
 HX0Q2xSYhBgqJpO5gOrSmD3fttlDqxQEHrZQpcxGL4seSaIcUeyPS/6aVSyb4WRG
 6H14VQY44WtI8zuPJZHEld930qNSLaOpXHZoQthUrJCECiCxrzTa/0PkbmtJNXrA
 M9um8eaDRGfptT7EZh4nm40qFubkyTDUAFmeS8yps8rxDTpbuUEsE60mmyqvknF5
 2BngubmzYQ8TTAkYGI1HjORbjVs27r5YReP9L7nRPqxpS12Y/pxuDy2i8PvMF6VP
 CxO5pufKgQnyyzFIKyaQU3KliTHbVbWwS3GXvEnlL60A22fOz8dAh+gtySAqawlE
 5xvaa79+pRu5Ag0EULfxIQEQAKdmKdJSsu52T5EdeB9uAjZ4558nYv+CFDVEP89y
 CjMIMmOJs9omBi+7qKTDWdL8YF0qtfDmtxAe1h7SW7wIMrISF340ea/A+Ih/p9iq
 /9QRR93NM1y9UAPvS+oDdFcCDIYjSDG4TxMVeGfZIGa3kUEKXzK3eXTWWFq7xljv
 /jwRLRE+R+/SkFkeOHwSaC2+qBvd+Q79WG7/Rv2C+cHgacfSY5deVH1gIXA3SD5W
 YxMmqPC0MPIAUSrzgD5PC3a84Rn9eWEGnybjze2LiqQYkYeeRN74/cSzW6dr8H/1
 TfE7sA3op6s12+0RbzgJdeXY9JaN/A4zpYPq2pP/reXDnsS2Z+8ng4s7NaEwTOs4
 +cgrZSyRjM/V+OqJRmUAx5Bh17QOILIxqsLHn/rsk9lsLQxdNV9nL38fecYFikq2
 MICNyoFOy1xM7QSimvh69yI5uygUoIJrmSj4jOCReqsG0X5/me0hzaONxSXGSkX/
 JI9zQGwKGU5ldxsyGPg5BNkQ9aQVtOnrLxNKeedhly8MEVJ7PL3Ho0Ki03Nf+bkz
 Dy4j4zkCodSe63ZBuJ76+53HgOsHjoQDXuCedaCIpvSIA6JrDMdssNdVf6KdHGmt
 U644SrRMl5+i+KwNPkYGKOJrhUNo269u47eAiprbKy0Bgn4EZSDB+YCbVZDjktsB
 PoLfABEBAAGJBEQEGAEKAA8FAlC38SECGwIFCQILWr8CKQkQBAFDkupL8ezBXSAE
 GQEKAAYFAlC38SEACgkQu41LV7uLVVG5Iw//Tni/TvtQMLk8zH6r3C1WXg7NQJNG
 QoBKiCrGQfqxSNaCTumiVRVkF7zaxBqOeOvWV5nxGfAOSXm97fHI4ZOWBuS50Ipe
 y2tbywPk1IvNljbyWcqoyUV8awlOlgG9PwQKmFpySNlx5/7MiH+sCYjjWaej4kws
 qkB1nA2qSPc+KUQ71MFPdeYeZxzvdCEw2s1PWOUyqLfDSQ/hU9hNlmHNstaAvD21
 0+56Ll2wFTJq/alU7x3wQ5RRec+bNZ/iUsiPJsjlRoiP32pR0uL72ObllbiA44DL
 +aHaRPacybKlepXIjnMt6iu8jxm5oZGPBd1+M7fxKdxgAEzArhOLW88a/zExpy8g
 YbWj+3TXfS9ZOxpASeYDCTb2VhJtRTPEc8P8zk9978wEXJ8U0S+j4BHkvlwK7iMj
 1vyr0lL8qYXT0ubkkG4T1DRmfNN3yMn6nrcQaHXE26d8bFDi2vwggFxCrAdtx/oz
 i2YDobFKTP0yW2w3JZoGnQR62u+bBtIlBsguLLANz9A+iNBdEKySw14QbxB/httT
 r8QIGZVRboWdJRRN1Cj0sjXJ/r3CmAOGj7taxYiMUZAk2fV1oy+lubkujVlPqEtZ
 vTB3jS9pxA2hcuWPfLSaMzBWHL3p/hrk+N+AVBheOhOBz5WmAInjwbp5mkWMSKTA
 +W8uK+jLdBkf9VH9gRAAo22CrXntBEz1DYJM4h6JgblTwm0buWl0BigljSjMFve3
 RnYo2glQ7TZ1kSQ68YFruURma/+kK3bq70yIvjFCYm4qJHMaVmjvGqjtYO4r4+F9
 sklTa/tTB9zxDZEe+MxpjLamE3HUPsG4CgL6F4ZTrJk1joDC0zr45zlwZYte9Bk8
 dtgAT2h1+hx5ptC6VHmPCfM9rkYtOY7NGsjN/HG1j2boh4RskzomUT5v6zBQ19/O
 CFG4anBkIdru1vnRDvZQVpmjhHiKKrZpoGIQZLgyDxeAZq2reDzGVuIkCYWvk0vE
 peiJWRvpkh8utj09dL+q5OYq22OHudKkRPCnTa+cyjSVr9IOlaM6klL/H2RqB7Q2
 A+Tk9Qc5dkFCgJvwQZtzA6ec4rQFmD9vSAsEo0qq/PnuxsNSKAysFm+btKotmeLL
 yYu0N9E0Hi+kVz/e+jARaNKwtDKsVUyLtWPlV2hPK0thF91p/QZpecYCDW1Dj2cG
 Kc+cys/oCUuTy89hPJlhSLPRw1ucwCGKBH5QbOMevj2CtM6BQx8sAqiXG7l+i9bU
 cpsn2yJK+493fbE8KBimJ4WaafrenAIHeqjsBModuDr9CQmYd7axM0RABGXwZVbc
 KaTpMy0CSwb23jF3jl2Y3Cf2vO11PjbdLvH/V9bEM8waGUyfVJ7QAxs8cD5v8P65
 Ag0EULfxzAEQAMlyP9y8dXBfy1npmPfE1aQ2IdnNNQfIAwY2JFsffnT0rWraHj69
 HuCFVi+qyer1mJwDW32VGixouRDfivSK9empzoNIHT6ZtfdRJ4ymtdU7LL8oDguc
 DZLAAkbr0gzb4O/N96KuTp7oiUPeixcVCnO+wlybW0BN7f48vloiJFaCd7crz8Jo
 aXrWmFpWt+iuqQgWyfkwXS5yjRX0ngfqhpoYDWK1Gauhi2MtnCRWBipmyTmdFI6v
 mX880h0Stpkq/VKEmmDCyn1NyHVPXjTfnMxXEUEUm/cfxOxwgM8zWRxrRp8N2br8
 Ah5mzOJiwO0TmJ1mt+AQ/9wqJQcCJvBb993LESFk9Ox3WA/aaMWepSnjL5Sx41El
 qpWs6DiUaGhkvU2EutYDjSYUDXr8mD0261Wu+113L9zQY7CA7DSwCzSO9S+JpW8v
 3sRIQx4nbQaKSb3wiPjpi0YDUYXVh8xqiMalZ4ROK9xEFT98aXC/A7dBDQBdkond
 hZXKPXy9AEEafR+3ySh5ZiXIRUrKxKHJVdTUvXSvZjrQMI2OV3z1bHb9OKVvfMhg
 lvhQmE4iI7DgaeuwWnl35uz6HwDHsIh5kZVWh5XFZ0/XXIgINJbEzWU03IZLjnzn
 2wkTO87+3dD4ECQXHBxdWFsaLPXZzGRdLH6jC7PEgOeKPgS4R9CMS/23ABEBAAGJ
 AiUEGAEKAA8FAlC38cwCGwwFCQILWo8ACgkQBAFDkupL8ey3KBAAmFKMz2HduYul
 8/GPD6PRE8jJIew0FDvc5lJGMIbLYtN/hGXbTRsV5c5kdCPN82FdDwHws7c64QPZ
 lV//ZxS0fgPwV+Zb71APuHKbW3/cpvRwOe/NiCetgtQU2QN2u1i7IGG7p3mPJOhY
 iAjrBM7/p/yoG5GLQ5tnHvPurvnWDPJQGIRyrbYFLNOf/R/9/gqL4wo29vOiQGuW
 1+zN4KDXCfDWp1sVOqHDrXRE5v5P6ey7vc2YeEpuYMPRtAHti/dAeE89yVAszb/t
 DixL4G5cCFh/oPRoTHxzTBzxTW88ZOkdjAq45J2f2ZNOHXks6kEsD/F3Pt3L0czD
 LtrLY1q+uOr59cQe4+b/w5CyZ8EL1q6WSqnkpl/C7U3Gi7BYSAbdnnY0F/bVkT6r
 RIYzDwg0Z9RHRB8VZxHw7M6F0f7uLJdqL+hZuh/bpzWg1WYIaeJIVbhzSeUnCJj4
 Dqha1zkD/1NxEiowdwJDU8xVkXvq5VqYcW3evtLHM61tKlA2tDdU7/15iUbaxjQI
 xYOtcM6+LQ+YJeGRgnhzz87LTNBY/CxmobM5gH2CkvsUr9J9HO5CqFE6j8A1q/gF
 kVvJSX/RlHL9AKImnPIXtwg88sE0NtwM/NiwzM+JfhFNxZh59r7Sqjhf3BKAiVfJ
 AGKnizAGgU22dFYDKXsM/kldl7QM7wQ=
 =vzHR
 -----END PGP PUBLIC KEY BLOCK-----

  D.3.411. 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.412. 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.413. Andrey Zonov <zont@FreeBSD.org>

 pub   2048R/E8A68B1C 2012-08-17 [expires: 2016-08-17]
       Key fingerprint = 3DFF AA2F C10A A979 2FB9  A764 F145 4BB6 E8A6 8B1C
 uid                  Andrey Zonov <zont@FreeBSD.org>
 uid                  Andrey Zonov <andrey@zonov.org>
 sub   2048R/57FC2BD3 2012-08-17 [expires: 2016-08-17]

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 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
 +Is2qlWoT4cI+VuljBbdprk4
 =ElkT
 -----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

           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

           Die Programmiersprache, in der die AML geschrieben ist.

   Access Control List

           Eine Liste von Zugriffsrechten, die einem Objekt, normalerweise
           eine Datei oder ein Gera:t im Netzwerk, angeha:ngt ist.

   Advanced Configuration and Power Interface

           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

           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

           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

   Advanced Technology Attachment

   Asynchronous Transfer Mode

   Authenticated Post Office Protocol

   Automatic Mount Daemon

           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

           Register, die den zu einem PCI-Gera:t geho:renden Adressbereich
           festlegen.

   Basic Input/Output System

           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

           Eine Implementierung des DNS-Protokolls.

   Berkeley Software Distribution

           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(R). 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

           Ein RS232C-Signal. Notwendig, um eine serielle Verbindung aufbauen
           zu ko:nnen.

   Central Processing Unit

           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

           Eine Vorgehensweise, einen Benutzer anhand eines Geheimnisses zu
           authentisieren, dass zwischen Client und Server ausgetauscht wird.

   Classical IP over ATM

   Clear To Send

           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

   Concurrent Versions System

           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

   Data Encryption Standard

           Eine Methode zur Verschlu:sselung von Informationen. Wird
           traditionellerweise zur Verschlu:sselung von UNIX(R)-Passwo:rtern
           und von crypt(3) verwendet.

   Data Set Ready

           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

           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

           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

           Eine ACPI-Tabelle, die Informationen u:ber die Konfiguration des
           Basissystems entha:lt.

   Distance-Vector Multicast Routing Protocol

   Domain Name System

           Das System, dass Klartext-Rechnernamen (wie mail.example.net) in
           Internet-IP-Adressen (oder umgekehrt) konvertiert.

   Dynamic Host Configuration Protocol

           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

   Executable and Linking Format

   Extended COFF

  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

   File Allocation Table (16-bit)

   File Transfer Protocol

           Ein auf TCP aufsetzendes Protokoll, das zum Transfer von Daten
           u:ber ein TCP/IP-Netzwerk verwendet wird.

   Fixed ACPI Description Table

  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

           Eine grafische Oberfla:che, u:ber die der Anwender mit dem System
           interagiert.

  H

   HTML

           Siehe HyperText Markup Language.

   HUP

           Siehe HangUp.

   HangUp

   HyperText Markup Language

           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

   IP Version 4

           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

           Das neue IP-Protokoll. Es wurde entwickelt, weil der Adressraum
           von IPv4 nicht mehr ausreichend ist. IPv6 verwendet
           128-Bit-Adressen.

   Input/Output

   Intel's ASL-Compiler

           Intel's Compiler zur Konvertierung von ASL nach AML.

   Internet Message Access Protocol

           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

   Internet Protocol

           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

           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)

           Eine Methode, um den Kernel dynamisch um zusa:tzliche Funktionen
           zu erweitern, ohne das System neu zu starten.

   Kernel Scheduler Entities

           Threads, die im Kernel laufen. Na:heres entnehmen Sie der
           Home-Page des Projekts.

   Kernel Virtual Address

   Key Distribution Center

   Kilo Bits Per Second

           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

   Local Area Network

           Ein Netzwerk, das nur in einem lokalen Bereich, wie einem Bu:ro,
           einen Unternehmen oder einem Haus, eingesetzt wird.

   Lock Order Reversal

           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

           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

           Ein Programm zur Anzeige und zum Verfassen von E-Mails.

   Mandatory Access Control

   Massachusetts Institute of Technology

   Merge From Current

           Das Einbringen von Funktionen oder Fehlerbehebungen aus dem
           -CURRENT-Zweig in einen anderen Zweig, meist -STABLE.

   Merge From Perforce

           Das Einbringen von Funktionen oder Fehlerbehebungen aus dem
           Perforce-Repository des -CURRENT-Zweigs.

           Siehe auch Perforce.

   Merge From Stable

           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

           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

   Multiple APIC Description Table

  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

           Eine Technik, bei der IP-Pakete auf dem Weg durch ein Gateway
           umgeschrieben werden. Dadurch wird es mo:glich, dass sich mehrere
           Rechner hinter dem Gateway eine einzige IP-Addresse teilen.

   Network File System

   New Technology File System

           Ein von Microsoft entwickeltes Dateisystem, das in dessen "New
           Technology"-Betriebssystemen, wie Windows(R) 2000, Windows NT(R)
           und Windows(R) XP, eingesetzt wird.

   Network Time Protocol

           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

   Operating System

           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

           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

   PPP over Ethernet

   PR

           Siehe Problem Report.

   PXE

           Siehe Preboot eXecution Environment.

   Password Authentication Protocol

   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

   Personal Computer Network File System Daemon

   Physical Address Extensions

           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

   Point-to-Point Protocol

   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

   Post Office Protocol

           Siehe auch Post Office Protocol Version 3.

   Post Office Protocol Version 3

           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

   Preboot eXecution Environment

   Principle Of Least Astonishment

           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

           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

           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

   Revision Control System

           Das Revision Control System (RCS) ist eines der a:ltesten
           "Versionsverwaltungssysteme" fu:r reine Textdateien. Es erlaubt
           das Speichern, Laden, Archivieren, Protokollieren, Identifizieren
           sowie das Zusammenfu:hren von verschiedenen Revisionen einer
           Datei. Bei RCS handelt es sich um eine Sammlung von vielen kleinen
           zusammenarbeitenden Werkzeugen. Zwar fehlen im Vergleich zu CVS
           oder Subversion einige Funktionen, allerdings ist RCS sehr einfach
           zu installieren, zu konfigurieren und zu benutzen, solange die
           Anzahl der zu verwaltenden Dateien u:berschaubar bleibt. RCS ist
           dabei fu:r praktisch alle wichtigen UNIX-artigen Betriebssysteme
           verfu:gbar.

           Siehe auch Concurrent Versions System, Subversion.

   Received Data

           Ein RS232C-Pin oder -Draht, u:ber den neue Daten ankommen.

           Siehe auch Transmitted Data.

   Recommended Standard 232C

           Ein Standard fu:r die Kommunikation zwischen seriellen Gera:ten.

   Reduced Instruction Set Computer

           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(R), ARM(R) sowie PowerPC(R).

   Redundant Array of Inexpensive Disks

   Remote Procedure Call

   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

           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

           Ein RS232C-Signal, das der Gegenstelle signalisiert, dass sie mit
           dem Senden der Daten beginnen kann.

           Siehe auch Clear To Send.

   Router Advertisement

  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

   Server Message Block

   Signal Ground

           Ein RS232-Pin oder -Draht, der als Untergrundreferenz fu:r das
           Signal verwendet wird.

   Simple Mail Transfer Protocol

   Secure Shell

   Small Computer System Interface

   Subversion

           Subversion ist ein Versionskontrollsystem, a:hnlich wie CVS, aber
           mit einer gro:sseren Liste von Eigenschaften.

           Siehe auch Concurrent Versions System.

   Suspend To RAM

   Symmetric MultiProcessor

   System Control Interrupt

  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

   Time Stamp Counter

           Ein interner Za:hler bei modernen Pentium(R)-Prozessoren, der die
           Ticks der core frequency clock bestimmt.

   Transmission Control Protocol

           Ein Protokoll, das auf dem IP-Protokoll aufsetzt. Es garantiert,
           dass Datenpakete zuverla:ssig und geordnet transportiert werden.

   Transmission Control Protocol/Internet Protocol

           Die Kombination aus TCP- und IP-Protokoll. Ein Grossteil des
           Internets basiert auf TCP/IP.

   Transmitted Data

           Ein RS232C-Pin oder -Draht, u:ber den Daten verschickt werden.

           Siehe auch Received Data.

   Trivial FTP

  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

           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

           Das Original UNIX(R) Dateisystem, manchmal auch das Berkeley Fast
           File System genannt.

   Unix File System Version 2

           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

           Ein Hardware-Standard, der verwendet wird um eine grosse Vielfalt
           von Computerperipherie an eine einheitliche Schnittstelle
           anzuschliessen.

   User ID

           Eine eindeutige Nummer, die einem Benutzer eines Computers
           zugewiesen wird. Kann zur Identifizierung von zugewiesenen
           Ressourcen und Berechtigungen verwendet werden.

   User Datagram Protocol

           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

           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.

                              Stichwortverzeichnis

  Symbole

   -CURRENT, Einem Entwicklungszweig folgen

                benutzen, Benutzen von FreeBSD-CURRENT

                mit CTM synchronisieren, Benutzen von FreeBSD-CURRENT

                mit CVSup synchronisieren, Benutzen von FreeBSD-CURRENT

                u:bersetzen, Benutzen von FreeBSD-CURRENT

   -STABLE, Einem Entwicklungszweig folgen, Was ist FreeBSD-STABLE?

                benutzen, Benutzen von FreeBSD-STABLE

                mit CTM synchronisieren, Benutzen von FreeBSD-STABLE

                mit CVSup synchronisieren, Benutzen von FreeBSD-STABLE

                u:bersetzen, Benutzen von FreeBSD-STABLE

   .k5login, .k5login und .k5users

   .k5users, .k5login und .k5users

   .rhosts, Sichern und Wiederherstellen

   /boot/kernel.old , Erstellen und Installation eines angepassten Kernels

   /etc, Layout von Partitionen

   /etc/gettytab, /etc/gettytab

   /etc/groups, Gruppen

   /etc/login.conf, Benutzer einschra:nken

   /etc/mail/access, sendmail-Konfiguration

   /etc/mail/aliases, sendmail-Konfiguration

   /etc/mail/local-host-names, sendmail-Konfiguration

   /etc/mail/mailer.conf, sendmail-Konfiguration

   /etc/mail/mailertable, sendmail-Konfiguration

   /etc/mail/sendmail.cf, sendmail-Konfiguration

   /etc/mail/virtusertable, sendmail-Konfiguration

   /etc/remote, Wie soll ich die AT-Befehle eingeben?

   /etc/ttys, /etc/ttys

   /usr, Layout von Partitionen

   /usr/bin/login, U:berblick

   /usr/local/etc, Konfiguration von Anwendungen

   /usr/share/skel, adduser

   /var, Layout von Partitionen

   10 base 2, ISDN-Bridges und Router

   10 base T, ISDN-Bridges und Router

   386BSD, Kurzer geschichtlicher Abriss zu FreeBSD, Das aktuelle
   FreeBSD-Release

   386BSD Patchkit, Kurzer geschichtlicher Abriss zu FreeBSD

   4.3BSD-Lite, Kurzer geschichtlicher Abriss zu FreeBSD

   4.4BSD-Lite, Willkommen bei FreeBSD!, Was kann FreeBSD?

   802.11 (Siehe drahtlose Netzwerke)

  A

   Abacus, Abacus

   AbiWord, AbiWord

   Accounting

                Plattenplatz, Dateisystem-Quotas

   Accounts

                Benutzer-Accounts, Benutzer-Accounts

                daemon, System-Accounts

                einschra:nken, Benutzer einschra:nken

                erstellen, adduser

                Gruppen, Gruppen

                lo:schen, rmuser

                nobody, System-Accounts

                operator, System-Accounts

                Passwort wechseln, passwd

                Superuser (root), Der Superuser-Account

                System-Accounts, System-Accounts

                vera:ndern, Accounts vera:ndern

   ACL, Zugriffskontrolllisten fu:r Dateisysteme

   ACPI, Was ist ACPI?, ACPI-Grundlagen

                ASL, ASL, acpidump und IASL, Die ASL reparieren

                Fehlermeldungen, Die ASL reparieren

                Fehlersuche, ACPI-Meldungen zur Fehlersuche erzeugen

                Probleme mit, ACPI-Fehlersuche, Ha:ufige Probleme,
                ACPI-Meldungen zur Fehlersuche erzeugen

   Acrobat Reader, Acrobat Reader(R)

   address redirection, Adressen umleiten

   adduser, adduser, Einrichten als Administrator

   AIX, Was ist NIS?

   Amanda, Amanda

   amd, AMD

   Anti-aliasing, Anti-aliasing

   Anwender

                Bekannte FreeBSD-Anwender, Wer benutzt FreeBSD?

   Apache, Wer benutzt FreeBSD?, Der Apache HTTP-Server

                Konfigurationsdatei, Konfiguration

                Module, Ha:ufig verwendete Apache-Module

                Starten oder Beenden, Den Apache betreiben

   APIC

                deaktivieren, Tempora:re oder permanente Systemha:nger

   APM, Die Kernelkonfigurationsdatei, Was ist ACPI?

   Apple, Wer benutzt FreeBSD?

   apsfilter, Automatische Konvertierung: Eine Alternative zu
   Konvertierungsfiltern

   ASCII, Problembehandlung, Codierungen

   AT&T, Kurzer geschichtlicher Abriss zu FreeBSD

   AUDIT, Einleitung

   Auslagerungsspeicher

                verschlu:sseln, Den Auslagerungsspeicher verschlu:sseln

   Automatic Mounter Daemon, AMD

   AutoPPP, mgetty und AutoPPP

  B

   Backup, Sichern und Wiederherstellen

   Backup Disketten, Kann ich Disketten zum Backup meiner Daten verwenden?

   Backup-Software

                Amanda, Amanda

                cpio, Cpio

                dump, Sichern und Wiederherstellen

                pax, pax

                restore, Sichern und Wiederherstellen

                tar, tar

   Bandmedien, Bandmedien benutzen

                AIT, AIT

                DDS (4mm) Ba:nder, 4mm (DDS: Digital Data Storage)

                DLT, DLT

                Exabyte (8mm) Ba:nder, 8mm (Exabyte)

                QIC Ba:nder, 4mm (DDS: Digital Data Storage)

                QIC-150, QIC

   Bannerseiten (Siehe Deckbla:tter)

   Basic Input/Output System (Siehe BIOS)

   Bau des Basissystems, Das komplette Basissystem neu bauen

                Laufzeiten, Laufzeiten

   Baudrate, Serielle Schnittstellen, Einen seriellen Drucker pru:fen

   Beitragende, Das Entwicklungsmodell von FreeBSD

   Benutzer einschra:nken, Benutzer einschra:nken

                coredumpsize, Benutzer einschra:nken

                cputime, Benutzer einschra:nken

                filesize, Benutzer einschra:nken

                maxproc, Benutzer einschra:nken

                memorylocked, Benutzer einschra:nken

                memoryuse, Benutzer einschra:nken

                openfiles, Benutzer einschra:nken

                Quotas, Benutzer einschra:nken

                sbsize, Benutzer einschra:nken

   BGP, Einen Router konfigurieren

   Bina:rkompatibilita:t

                BSD/OS, Was kann FreeBSD?

                Linux, Was kann FreeBSD?, U:bersicht

                NetBSD, Was kann FreeBSD?

                SCO, Was kann FreeBSD?

                SVR4, Was kann FreeBSD?

   BIND, U:berblick

                DNS security extensions, DNSSEC

                Konfigurationsdateien, Konfigurationsdateien

                Start, BIND starten

                Zonendatei, Zonendateien

                Zwischenspeichernde Nameserver, Zwischenspeichernde
                (cachende) Nameserver

   BIOS, Nummerierung der Laufwerke im BIOS, Das Problem des Bootens

   bits-per-second, Begriffe

   BitTorrent, BitTorrent

   Blowfish, DES, Blowfish, MD5, und Crypt

   Bluetooth, Bluetooth

   Boot Loader, Das Problem des Bootens

   boot loader

                configuration, Boot Loader Konfiguration

   Boot Manager, Das Problem des Bootens, Boot-Manager und Boot-Phasen

   boot-loader, Phase drei, /boot/loader

   booten, U:bersicht

   BOOTP

                plattenloser Betrieb, Konfiguration bei Verwendung von BOOTP

   Bootstrap, U:bersicht

   Bridge, Einfu:hrung

   Browser

                Web, Browser

   BSD Copyright, Ziele des FreeBSD Projects

   BSD Partitionen, Verwenden von sysinstall(8)

   bsdlabel, Vor dem Unglu:ck, Nach dem Unglu:ck

  C

   CARP, CARP - Common Address Redundancy Protocol

   CD-Brenner

                ATAPI, Einfu:hrung

                ATAPI/CAM Treiber, Der ATAPI/CAM Treiber

   CD-ROM

                bootbare erstellen, mkisofs

                brennen, CDs benutzen, burncd, cdrecord

   Centronics (Siehe Drucker, parallele)

   CHAP, Voraussetzungen, PPP und statische IP-Adressen, Authentifizierung
   durch PAP und CHAP

   chpass, chpass

   Chromium, Chromium

   Cisco, Wer benutzt FreeBSD?, Verwendung von pppd als Client

   Coda, Netzwerk-, speicher- und dateibasierte Dateisysteme

   Codierungen, Codierungen

   Committer, Das Entwicklungsmodell von FreeBSD

   Common Address Redundancy Protocol (CARP), CARP - Common Address
   Redundancy Protocol

   Computer Systems Research Group (CSRG), Was kann FreeBSD?, Das aktuelle
   FreeBSD-Release

   comsat, Absichern von unter root laufenden Servern und SUID/SGID
   Programmen

   Concurrent-Versions-System (Siehe CVS)

   Core-Team, Das Entwicklungsmodell von FreeBSD

   coredumpsize, Benutzer einschra:nken

   cpio, Cpio

   cputime, Benutzer einschra:nken

   cron, Programme mit cron starten

   Crypt, DES, Blowfish, MD5, und Crypt

   CTM, Synchronisation der Quellen, CTM

   cu, FreeBSD auf einem System ohne Monitor oder Tastatur installieren

   cuad, Konfiguration der seriellen Schnittstelle

   CUPS, Alternativen zum LPD-Drucksystem

   CVS

                anonymous, Synchronisation der Quellen, Einfu:hrung

                Repository, Das Entwicklungsmodell von FreeBSD

   cvsup, Benutzen von FreeBSD-CURRENT, Benutzen von FreeBSD-STABLE

  D

   dangerously dedicated, Festplatten, Slices und Partitionen

   Dateiserver

                Unix-Clients, Wie funktioniert NFS?

                Windows-Clients, Mit Samba einen Datei- und Druckserver fu:r
                Microsoft(R) Windows(R)-Clients einrichten

   Dateisysteme

                abha:ngen, Das umount Kommando

                anha:ngen, Das mount Kommando

                fstab, Die fstab Datei

                HFS, mkisofs

                ISO 9660, Einfu:hrung, mkisofs

                Joliet, mkisofs

   Dateizugriffsrechte, Zugriffsrechte

   Datensicherung, Sichern und Wiederherstellen

   DCE, Begriffe

   Deckbla:tter, LPD aktivieren: die /etc/printcap-Datei, Deckbla:tter

   DEE, Begriffe

   Defaultroute, Dinge, die Sie nur einmal erledigen mu:ssen, Ein Beispiel,
   Standardrouten

   Denial-of-Service (DoS), Einfu:hrung, Denial-of-Service Angriffe

   DES, DES, Blowfish, MD5, und Crypt

   Device Node, Ha:ufige Probleme

   device.hints, Konfiguration von Gera:ten

   DGA, Video-Schnittstellen

   DHCP

                Anforderungen, Integration in FreeBSD

                dhcpd.conf, Den DHCP-Server einrichten

                installieren, Den DHCP-Server installieren

                Konfigurationsdateien, Dateien

                plattenloser Betrieb, Konfiguration unter Verwendung von ISC
                DHCP

                Server, Integration in FreeBSD

   Dienste, Start von Diensten

   Disk Labels, Das Labeln von Laufwerken

   Disk Mirroring, RAID1 - Spiegelung

   disk mirroring, Datenintegrita:t

   Disk Quotas, Dateisystem-Quotas

                Frist, U:berpru:fen von Quota-Limits und Plattennutzung

                Limits, Setzen von Quota-Limits

                u:berpru:fen, Konfiguration des Systems, um Quotas zu
                aktivieren, U:berpru:fen von Quota-Limits und Plattennutzung

   Disketten, Kann ich Disketten zum Backup meiner Daten verwenden?

   Django, Django

   DNS, Hostnamen, MS-Erweiterungen, Elektronische Post benutzen, U:berblick

                Eintra:ge, Zonendateien

   DNS-Server, Was kann FreeBSD?

   Documentation (Siehe Updating and Upgrading)

   documentation package (Siehe Updating and Upgrading)

   Domain Name, Dinge, die Sie nur einmal erledigen mu:ssen

   DOS, Kernel und Dateisysteme

   DoS Angriffe (Siehe Denial-of-Service (DoS))

   Druckauftrag, Druckauftra:ge verwalten

                kontrollieren, Die Gro:sse von Druckauftra:gen kontrollieren

   Druckauftra:ge, Einfu:hrung, Das Pufferverzeichnis anlegen, Die Gro:sse
   von Druckauftra:gen kontrollieren

   drucken, U:bersicht

                Deckblatt, Keine Deckbla:tter drucken

   Drucken

                Filter, Filter, Die Funktionsweise von Filtern

                             apsfilter, Automatische Konvertierung: Eine
                             Alternative zu Konvertierungsfiltern

   Drucker, Einrichten eines Druckers

                den Zugriff beschra:nken, Den Druckerzugriff beschra:nken

                Eigenschaften, LPD aktivieren: die /etc/printcap-Datei

                Netzwerk, Drucken u:ber ein Netzwerk, Auf entfernten Rechnern
                installierte Drucker

                parallele, Schnittstellen und Kabel, Einen Paralleldrucker
                pru:fen

                seriell, Normalen Text auf PostScript(R)-Druckern drucken

                serielle, Schnittstellen und Kabel, Einen seriellen Drucker
                pru:fen, Kommunikationsparameter festlegen

                USB, Schnittstellen und Kabel

                verrechnen, Die Druckernutzung verrechnen

                verwenden, Drucker verwenden

   Druckfilter, Den Textfilter installieren

   Druckjob, Normalen Text auf PostScript(R)-Druckern drucken

   Druckserver

                Windows-Clients, Mit Samba einen Datei- und Druckserver fu:r
                Microsoft(R) Windows(R)-Clients einrichten

   DSL, Filtering/Traffic Shaping Firewall

   DSP, Ha:ufige Probleme

   DTE, Begriffe

   DTrace, U:berblick

   DTrace support (Siehe DTrace)

   Dual-Homed-Hosts, Rechner mit zwei Heimatnetzen

   DU:E, Begriffe

   dump, Sichern und Wiederherstellen

   DVD

                brennen, DVDs benutzen

                DVD+RW, DVD+RW-Medien benutzen

                DVD-RAM, DVD-RAM

                DVD-RW, DVD-RW-Medien benutzen

                DVD-Video, DVD-Videos brennen

   Dynamic Host Configuration Protocol (Siehe DHCP)

  E

   E-Mail, Was kann FreeBSD?, U:bersicht

                empfangen, E-Mails empfangen

                MTA, wechseln, Wechseln des Mailu:bertragungs-Agenten

                Terminologie, Terminologie

   E-Mail-Programme, E-Mail-Programme

   E-Mail-Server, Der E-Mail-Server

   E-Mail-Server Da:monen

                exim, E-Mail-Server Da:mon

                postfix, E-Mail-Server Da:mon

                qmail, E-Mail-Server Da:mon

                sendmail, E-Mail-Server Da:mon

   Editoren, Text-Editoren

   ee, Text-Editoren

   Einmalpasswo:rter, Einmalpasswo:rter

   Einstellungen

                mit sysctl, Einstellungen mit sysctl

                von Kernel Limits, Einstellungen von Kernel Limits

   Einwa:hlverbindungen, Einwa:hlverbindungen

   ELF, Wie funktioniert es?

                brandelf, Wie funktioniert es?

   emacs, Text-Editoren

   Etherboot, Ein Startprogramm unter Verwendung von Etherboot erstellen

   Ethernet, Konfiguration der Datei slip.hosts

                MAC Adresse, Konfiguration von slip.login

                MAC-Adresse, Ihr Mathematica(R)-Passwort anfordern, Ein
                Beispiel

   execution class loader, Wie funktioniert es?

   Experts Exchange, Wer benutzt FreeBSD?

  F

   failover, Link-Aggregation und Failover

   Farben

                Kontrast, Fragen und Antworten zu ha:ufig auftretenden
                Problemen

   fdisk, Hinzufu:gen von Laufwerken

   fec, Link-Aggregation und Failover

   feste IP-Adresse, Voraussetzungen

   Festplatten Quotas, Benutzer einschra:nken

   fetchmail, E-Mails mit fetchmail abholen

   File Systems, U:bersicht

   File Systems Support (Siehe File Systems)

   filesize, Benutzer einschra:nken

   finger, Absichern von unter root laufenden Servern und SUID/SGID
   Programmen

   Firefox, Firefox

   Firewall, Was kann FreeBSD?, Filtering/Traffic Shaping Firewall

   firewall, Firewalls, Firewalls

                IPFILTER, Die IPFILTER-Firewall (IPF)

                IPFW, IPFW

                PF, Paket Filter (PF) von OpenBSD und ALTQ

                rulesets, Firewallkonzepte

   Flash, Firefox und das Adobe(R) Flash(R)-Plugin

   Flusssteuerung, Serielle Schnittstellen

   FORTRAN, Welche Konvertierungsfilter sollte ich installieren?

   Free Software Foundation, Kurzer geschichtlicher Abriss zu FreeBSD, Das
   aktuelle FreeBSD-Release

   FreeBSD Project

                Entwicklungsmodell, Das Entwicklungsmodell von FreeBSD

                Geschichte, Kurzer geschichtlicher Abriss zu FreeBSD

                Ziele, Ziele des FreeBSD Projects

   freebsd-update (Siehe updating-upgrading)

   FreshMeat, Suchen einer Anwendung

   FreshPorts, Suchen einer Anwendung

   FTP

                anonymous, Anonymous-FTP, Weitere Netzwerkdienste einrichten,
                Konfiguration, Wartung

                Passive-Mode, Das Installationsmedium auswa:hlen

                u:ber einen HTTP-Proxy, Das Installationsmedium auswa:hlen

   FTP-Server, Was kann FreeBSD?, FTP - File Transfer Protocol

  G

   Gateway, Gateways und Routen

   GEOM, U:bersicht, RAID0 - Striping, RAID1 - Spiegelung, Das Labeln von
   Laufwerken, UFS Journaling in GEOM

   GEOM Disk Framework (Siehe GEOM)

   Gera:tedatei, Ha:ufige Probleme

   getty, U:berblick

   Ghostscript, PostScript(R) auf Nicht-PostScript(R)-Druckern emulieren

   GNOME, U:ber GNOME

   GNU General Public License (GPL), Ziele des FreeBSD Projects

   GNU Lesser General Public License (LGPL), Ziele des FreeBSD Projects

   GNU Werkzeuge, Linux ELF-Bina:rdateien installieren

   GNU-Compiler-Collection, Was kann FreeBSD?

   GnuCash, GnuCash

   Gnumeric, Gnumeric

   GQview, GQview

   Greenman, David, Kurzer geschichtlicher Abriss zu FreeBSD

   Grimes, Rod, Kurzer geschichtlicher Abriss zu FreeBSD

   Gruppen, Gruppen

   gv, gv

   gzip, Ko:nnen Diskettenbackups komprimiert werden?

  H

   Hardlimit, Setzen von Quota-Limits

   HAST

                high availability, Highly Available Storage (HAST)

   HCI, Das Host Controller Interface (HCI)

   hostname, Hostnamen

   hosts, /etc/hosts

   HP-UX, Was ist NIS?

   HPLIP, Alternativen zum LPD-Drucksystem

   HTTP-Server, Was kann FreeBSD?

   Hubbard, Jordan, Kurzer geschichtlicher Abriss zu FreeBSD

   hw.ata.wc, hw.ata.wc

  I

   I/O port, Ha:ufige Probleme

   IEEE, pax

   imake, Probleme mit imake

   IMAP, Elektronische Post benutzen, Auf entfernte Postfa:cher mit POP und
   IMAP zugreifen

   init, Das Problem des Bootens, Init: Initialisierung der Prozess-Kontrolle

   Installation, U:bersicht

                Disketten, Installationsdisketten erstellen

                Fehlersuche, Fehlersuche

                FTP, Das Installationsmedium auswa:hlen

                headless (serielle Konsole), FreeBSD auf einem System ohne
                Monitor oder Tastatur installieren

                Netzwerkinstallation

                             Ethernet, Eine Netzwerkinstallation vorbereiten

                             FTP, Einen lokalen FTP-Server einrichten

                             NFS, Eine NFS-Installation vorbereiten

                             parallel (PLIP), Eine Netzwerkinstallation
                             vorbereiten

                             seriell (PPP), Eine Netzwerkinstallation
                             vorbereiten

                von einem QIC/SCSI-Band, Ein Installationsband erstellen

                von einer MS-DOS-Partition, Von einer MS-DOS(R)-Partition
                installieren

   installation, U:bersicht

                troubleshooting, Fehlerbehebung

   Intel i810 Chipset, Konfiguration des Intel(R) i810 Graphics Chipsets

   Internationalisierung (Siehe Lokalisierung)

   Internet connection sharing, U:berblick

   Internet Systems Consortium (ISC), Was ist DHCP?

   Interrupt-Sturm, Tempora:re oder permanente Systemha:nger

   IP masquerading (Siehe NAT)

   IP-Aliase, Virtual Hosts

   IPCP, PPP und dynamische IP-Adressen

   ipf, Der Befehl ipf

   IPFILTER

                enabling, Aktivieren von IPF

                Kerneloptionen, Kernel-Optionen

                logging, IPMON

                rule processing order, IPF Regelsa:tze

                rule syntax, IPF Regel-Syntax

                stateful filtering, Stateful Filtering

                statistics, IPFSTAT

   ipfstat, IPFSTAT

   IPFW

                aktivieren, IPFW aktivieren

                Kerneloptionen, Kerneloptionen

                logging, Protokollierung von Firewall-Nachrichten

                rule processing order, IPFW-Regeln

                rule syntax, Syntax der Firewallregeln

                stateful filtering, Optionen fu:r zustandsgesteuerte Regeln

   ipfw, Der Befehl IPFW

   ipmon, IPMON

   ipnat, IPNAT

   IPsec, VPNs mit IPsec

                AH, IPsec Grundlagen

                ESP, IPsec Grundlagen

   IPX/SPX, ISDN-Bridges und Router

   IRQ, Ha:ufige Probleme

   ISA, Den Soundtreiber einrichten

   ISDN, Filtering/Traffic Shaping Firewall, ISDN - diensteintegrierendes
   digitales Netzwerk

                Autonome Bridge/Router, ISDN-Bridges und Router

                Karten, ISDN-Karten

   ISO 9660, Einfu:hrung

   ISP, Voraussetzungen, PPP und statische IP-Adressen

  J

   jails, Jails

   Jolitz, Bill, Kurzer geschichtlicher Abriss zu FreeBSD

   Journaling, UFS Journaling in GEOM

   Juniper, Wer benutzt FreeBSD?

  K

   KDE, U:ber KDE

                Display-Manager, Der KDE-Display-Manager

   Kerberos5

                Beschra:nkungen, Beschra:nkungen von Kerberos

                Clients einrichten, Kerberos-Clients einrichten

                Dienste einrichten, Kerberos-Dienste einrichten

                Fehlersuche, Tipps und Fehlersuche

                Geschichte, Geschichte

                Key Distribution Center, Das Heimdal KDC einrichten

                weiterfu:hrende Dokumentation, Weiterfu:hrende Dokumentation

   Kermit, Verwendung von pppd als Client

   kern.cam.scsi_delay, SCSI_DELAY (kern.cam.scsi_delay)

   kern.ipc.somaxconn, kern.ipc.somaxconn

   kern.maxfiles, kern.maxfiles

   Kernel, Das Problem des Bootens

                boot interaction, Kernel Interaktion wa:hrend des
                Bootprozesses

                bootflags, Kernel Boot-Flags

                Erstellen eines angepassten Kernels, U:bersicht

                Erstellen und Installation, Erstellen und Installation eines
                angepassten Kernels

                Konfiguration, Den Soundtreiber einrichten,
                Kernelkonfiguration, Kernelkonfiguration

                Konfigurationsdatei, Die Kernelkonfigurationsdatei

                NOTES, Die Kernelkonfigurationsdatei

                Treiber / Module / Subsysteme, Kerneltreiber, Subsysteme und
                Module

                U:bersetzen, U:bersetzen und Installation des Kernels

   Kernel Tuning, Kernel-Tuning

   kernel.old, Beispiele fu:r die Loader Bedienung

   Kerneloption

                IPSEC, IPsec Grundlagen

                IPSEC_DEBUG, IPsec Grundlagen

   Kerneloptionen

                COMPAT_LINUX, Installation

                cpu, Die Kernelkonfigurationsdatei

                device pf, PF Kernel-Optionen

                device pflog, PF Kernel-Optionen

                device pfsync, PF Kernel-Optionen

                ident, Die Kernelkonfigurationsdatei

                IPDIVERT, Kerneloptionen

                IPFILTER, Kernel-Optionen

                IPFILTER_DEFAULT_BLOCK, Kernel-Optionen

                IPFILTER_LOG, Kernel-Optionen

                IPFIREWALL, Kerneloptionen

                IPFIREWALL_DEFAULT_TO_ACCEPT, Kerneloptionen

                IPFIREWALL_VERBOSE, Kerneloptionen

                IPFIREWALL_VERBOSE_LIMIT, Kerneloptionen

                machine, Die Kernelkonfigurationsdatei

                MROUTING, Multicast-Routing

                MSDOSFS, Die Kernelkonfigurationsdatei

                NFS, Die Kernelkonfigurationsdatei

                NFS_ROOT, Die Kernelkonfigurationsdatei

                SCSI_DELAY, SCSI_DELAY (kern.cam.scsi_delay)

                SMP, Die Kernelkonfigurationsdatei

   keymap, Einrichten der Konsole

   KLD (kernel loadable object), Installation, Windows(R)-NDIS-Treiber
   einsetzen

   KMyMoney, KMyMoney

   KOffice, KOffice

   Kommandozeile, Shells

   Kompiler

                C, Was kann FreeBSD?

                C++, Was kann FreeBSD?

                FORTRAN, Was kann FreeBSD?

   Kompression, Ko:nnen Diskettenbackups komprimiert werden?

   Konqueror, Konqueror

   Konsole, Die Konsole, Der Single-User Modus

  L

   L2CAP, Das Logical Link Control and Adaptation Protocol (L2CAP)

   lacp, Link-Aggregation und Failover

   lagg, Link-Aggregation und Failover

   La:ndercodes, Sprach- und La:ndercodes

   Laufwerke

                dateibasierte, Dateibasierte Laufwerke unter FreeBSD

                Freigabe von virtuellen Laufwerken, Virtuelle Laufwerke
                freigeben

                hinzufu:gen, Hinzufu:gen von Laufwerken

                RAM-Disks, Netzwerk-, speicher- und dateibasierte
                Dateisysteme

                speicherbasierte, Netzwerk-, speicher- und dateibasierte
                Dateisysteme, Speicherbasierte Laufwerke unter FreeBSD

                virtuelle, Netzwerk-, speicher- und dateibasierte
                Dateisysteme

   Layout von Partitionen, Layout von Partitionen

   LCD, Anti-aliasing

   LCP, mgetty und AutoPPP

   LDAP, Samba absichern

   LibreOffice , LibreOffice

   Linux, Was ist NIS?

                ELF-Bina:rdatei, Linux ELF-Bina:rdateien installieren

                Linux-Laufzeitbibliotheken installieren,
                Linux-Laufzeitbibliotheken installieren

   Linux-Anwendungen

                Maple, Maple(TM) installieren

                Mathematica, Mathematica(R) installieren

                MATLAB, MATLAB(R) installieren

                Oracle, Oracle(R) installieren

   Linux-Bina:rkompatibilita:t, U:bersicht

   LISA, Welches Backup-Programm ist am Besten?

   Live-CD, Vor dem Unglu:ck

   loadbalance, Link-Aggregation und Failover

   loader, Loader Ablauf

   loader Konfiguration, Loader Ablauf

   Locale, Lokale Anpassungen benutzen, Verfahren zum Einstellen der Locale,
   Lokalisierung in den Startdateien der Shells

   Logdateien, Konfiguration von Logdateien

                FTP, Wartung

   Login Name, Voraussetzungen

   Login-Klasse, Verfahren zum Einstellen der Locale, Einrichten als
   Administrator

   Lokalisierung, Was ist I18N/L10N?

                deutsch, Deutsche Lokalisierung (fu:r alle ISO 8859-1
                Sprachen)

                griechisch, Griechische Lokalisierung

                japanisch, Japanische und koreanische Lokalisierung

                koreanisch, Japanische und koreanische Lokalisierung

                russisch, Russisch (KOI8-R Codierung)

                traditionell chinesisch, Traditionell chinesische
                Lokalisierung fu:r Taiwan

   Loopback-Gera:t, Ein Beispiel

   LPD spooling system, U:bersicht

   LPRng, Alternativen zum LPD-Drucksystem

   ls, Zugriffsrechte

  M

   MAC, U:bersicht

                File System Firewall Policy, Das MAC Modul bsdextended

   MAC Biba Integrity Policy, Das MAC Modul Biba

   MAC Configuration Testing, Testen der Konfiguration

   MAC Interface Silencing Policy, Das MAC Modul ifoff

   MAC LOMAC, Das MAC Modul LOMAC

   MAC Multi-Level Security Policy, Das MAC Modul Multi-Level Security

   MAC Port Access Control List Policy, Das MAC Modul portacl

   MAC Process Partition Policy, Das MAC Modul partition

   MAC See Other UIDs Policy, Das MAC Modul seeotheruids

   MAC Troubleshooting, Fehler im MAC beheben

   MacOS, Erzeugen eines einzelnen Einmalpasswortes

   Mail-User-Agents, E-Mail-Programme

   Mailingliste, Das komplette Basissystem neu bauen

   make, U:bersetzen des Basissystems

   make.conf, U:berpru:fen Sie /etc/make.conf

   Mandatory Access Control (Siehe MAC)

   Manualpages, Manualpages

   Master Boot Record (MBR), Das Problem des Bootens, Der Boot-Manager

   maxproc, Benutzer einschra:nken

   MD5, DES, Blowfish, MD5, und Crypt

   Mehrbenutzerbetrieb, Was kann FreeBSD?

   Mehrbenutzermodus, Mehrbenutzermodus, Wechseln Sie in den
   Single-User-Modus

   memorylocked, Benutzer einschra:nken

   memoryuse, Benutzer einschra:nken

   mencoder, mencoder

   mergemaster, mergemaster

   mgetty, mgetty und AutoPPP

   Microsoft Windows, Nummerierung der Laufwerke im BIOS,
   Windows(R)-NDIS-Treiber einsetzen, Mit Samba einen Datei- und Druckserver
   fu:r Microsoft(R) Windows(R)-Clients einrichten

                Gera:tetreiber, Windows(R)-NDIS-Treiber einsetzen

   MIME, Einstellen der Locale, Lokalisierung in den Startdateien der Shells

   Modem, Modems und Kabel, Verwendung von pppd als Client, Voraussetzungen,
   ISDN-Terminaladapter

   mod_perl

                Perl, mod_perl

   mod_php

                PHP, mod_php

   mount, FreeBSD auf einem System ohne Monitor oder Tastatur installieren,
   Nach dem Unglu:ck

   mountd, Wie funktioniert NFS?

   moused, Einrichten der Konsole

   MPlayer

                bauen, MPlayer bauen

                benutzen, MPlayer benutzen

   MS-DOS, Das Startmedium vorbereiten, Nummerierung der Laufwerke im BIOS,
   Problembehandlung, Erzeugen eines einzelnen Einmalpasswortes

   Multicast-Routing, Multicast-Routing

   MX-Eintrag, E-Mail und DNS, Fehlerbehebung, Zonendateien

   MySQL, I18N-Programme u:bersetzen

  N

   Nagios in a MAC Jail, Beispiel 1: Nagios in einer MAC Jail

   Nameserver, Voraussetzungen, Dinge, die Sie nur einmal erledigen mu:ssen

   NAT, Was kann FreeBSD?, NAT, Filtering/Traffic Shaping Firewall,
   U:berblick

                and IPFILTER, IPNAT

                und IPFW, Ein Beispiel fu:r zustandshafte NAT-Regeln

   natd, U:berblick

   NDIS, Windows(R)-NDIS-Treiber einsetzen

   NDISulator, Windows(R)-NDIS-Treiber einsetzen

   net.inet.ip.portrange.*, net.inet.ip.portrange.*

   Net/2, Kurzer geschichtlicher Abriss zu FreeBSD

   NetApp, Wer benutzt FreeBSD?

   NetBIOS, MS-Erweiterungen, Globale Einstellungen

   NetBSD, Das aktuelle FreeBSD-Release, Was ist NIS?

   Netcraft, Wer benutzt FreeBSD?

   NetEase, Wer benutzt FreeBSD?

   network address translation (Siehe NAT)

   Netzgruppen, Netzgruppen verwenden

   Netzwerkdruck, Drucken u:ber ein Netzwerk

   Netzwerkdrucker, Auf entfernten Rechnern installierte Drucker

   Netzwerke, drahtlos, Drahtlose Netzwerke

   Netzwerkkarten

                einrichten, Einrichten von Netzwerkkarten, Konfiguration von
                Netzwerkkarten

                Fehlersuche, Fehlersuche

                testen, Test der Ethernet-Karte

                Treiber, Bestimmen des richtigen Treibers

   newfs, Nach dem Unglu:ck

   newsyslog.conf, newsyslog.conf

   NFS, Netzwerk-, speicher- und dateibasierte Dateisysteme, Quotas u:ber
   NFS, NFS - Network File System

                Anwendungsbeispiele, Praktische Anwendungen

                Dateisysteme einha:ngen, NFS einrichten

                einrichten, NFS einrichten

                Export von Dateisystemen, NFS einrichten

                plattenloser Betrieb, Serverkonfiguration - TFTP und NFS

                Server, Wie funktioniert NFS?

   nfsd, Wie funktioniert NFS?

   NIS, Was ist NIS?

                Benutzer blockieren, Bestimmte Benutzer an der Anmeldung
                hindern

                Client, Arten von NIS-Rechnern

                Client konfigurieren, Einen NIS-Client konfigurieren

                Doma:nen, Was ist NIS?

                Doma:nenname, Einen NIS-Doma:nennamen wa:hlen

                Kompatibilita:t zu NIS v1, Kompatibilita:t zu NIS v1

                maps, Die NIS-Maps initialisieren

                Masterserver, Arten von NIS-Rechnern

                Passwortformate, Passwortformate

                Serverkonfiguration, Einen NIS-Masterserver einrichten

                Sicherheit, Sicherheit unter NIS

                Slaveserver, Arten von NIS-Rechnern, Einen NIS-Slaveserver
                einrichten

   NIS+, Samba absichern

   NOTES, Die Kernelkonfigurationsdatei

   Novell, Kurzer geschichtlicher Abriss zu FreeBSD

   ntalk, Absichern von unter root laufenden Servern und SUID/SGID Programmen

   NTP, Die Uhrzeit mit NTP synchronisieren

                Konfiguration, NTP unter FreeBSD einrichten

                ntp.conf, NTP einrichten

                ntpd, U:berblick

                Serverwahl, Einen passenden NTP-Server auswa:hlen

   ntpdate, NTP aktivieren

   Nullmodemkabel, FreeBSD auf einem System ohne Monitor oder Tastatur
   installieren, Serielle Schnittstellen, Nullmodemkabel, Konfiguration der
   Konsole

  O

   OBEX, Das Profil OBEX-Push (OPUSH)

   office suite

                LibreOffice , LibreOffice

   Office-Pakete

                KOffice, KOffice

                OpenOffice.org, OpenOffice.org

   OpenBSD, Das aktuelle FreeBSD-Release, Was ist NIS?

   openfiles, Benutzer einschra:nken

   OpenOffice.org, OpenOffice.org

   OpenSSH, OpenSSH

                aktivieren, Aktivieren von sshd

                Client, SSH Client

                Konfiguration, Konfiguration

                secure copy, Secure Copy

                Tunnel, SSH-Tunnel

   OpenSSL, OpenSSL

                Zertifikate erzeugen, Zertifikate erzeugen

   Opera, Opera

   OS/2, Problembehandlung, Dedicated

   OSPF, Einen Router konfigurieren

  P

   Pair Networks, Wer benutzt FreeBSD?

   Pairing, Erstmaliger Verbindungsaufbau zwischen zwei Bluetooth-Gera:ten
   (Pairing)

   Pakete, U:bersicht

                entfernen, Entfernen eines Pakets

                installieren, Installieren eines Pakets

                verwalten, Verwalten von Paketen

   PAP, Voraussetzungen, PPP und statische IP-Adressen, Authentifizierung
   durch PAP und CHAP

   Parallel Line IP (Siehe PLIP)

   Parita:t, Serielle Schnittstellen, Einen seriellen Drucker pru:fen

   Partitionen, Festplatten, Slices und Partitionen, Hinzufu:gen von
   Laufwerken

                verschlu:sseln, Partitionen verschlu:sseln

   passwd, passwd

   Passwort, Voraussetzungen, Authentifizierung durch PAP und CHAP

   pax, pax

   PCI, Den Soundtreiber einrichten

   PCL, Kommunikation mit den Drucker pru:fen, Problembehandlung

   PDF

                anzeigen, Acrobat Reader(R), gv, Xpdf

   PGP-Schlu:ssel, PGP Schlu:ssel

   Physical Address Extensions (PAE)

                hohe Speicheranforderungen, Hohe Speicheranforderungen (PAE)

   pkg_add, Installieren eines Pakets

   pkg_delete, Entfernen eines Pakets

   pkg_info, Verwalten von Paketen

   pkg_version, Verwalten von Paketen

   Plattenkonkatenation, Mo:gliche Engpa:sse

   plattenloser Arbeitsplatz, Start und Betrieb von FreeBSD u:ber ein
   Netzwerk

   plattenloser Betrieb, Start und Betrieb von FreeBSD u:ber ein Netzwerk

                /usr schreibgeschu:tzt, Schreibgeschu:tztes Dateisystem /usr

                Kernelkonfiguration, Einen plattenlosen Kernel erzeugen

   PLIP, PLIP - Parallel Line IP

   POP, Elektronische Post benutzen, Auf entfernte Postfa:cher mit POP und
   IMAP zugreifen

   Portaudit, Sicherheitsprobleme in Software Dritter u:berwachen

   portmanager, Ports mit Portmanager aktualisieren

   portmaster, Ports mit Portmaster aktualisieren

   Ports, U:bersicht

                aktualisieren, Ports aktualisieren

                entfernen, Entfernen installierter Ports

                installieren, Ports installieren

                Plattenplatz, Platzbedarf von Ports

   Ports-Sammlung, Installation unter Verwendung des linux_base-Ports

   Portsnap (Siehe Updating and Upgrading)

   portupgrade, Ports mit Portupgrade aktualisieren

   POSIX, pax, Einstellen der Locale

   PostScript, Schnittstellen und Kabel, Kommunikation mit den Drucker
   pru:fen

                anzeigen, gv

                Emulation, PostScript(R) auf Nicht-PostScript(R)-Druckern
                emulieren

   PPP, U:bersicht, Voraussetzungen, Fehlerbehebung, ISDN-Terminaladapter

                Client, Verwendung von pppd als Client

                eingehende Anrufe annehmen, Annahme eingehender Anrufe

                Erweiterungen von Microsoft, MS-Erweiterungen

                Fehlersuche, Probleme bei PPP-Verbindungen

                Kernel-PPP, U:bersicht, Einrichtung von Kernel-PPP

                Konfiguration, Automatische Konfiguration von PPP,
                Abschliessende Systemkonfiguration

                mit dynamischen IP-Adressen, PPP und dynamische IP-Adressen

                mit fester IP-Adresse, PPP und statische IP-Adressen

                NAT, Interne NAT von PPP benutzen

                over ATM, PPP over ATM (PPPoA)

                over Ethernet, U:bersicht, PPP over Ethernet (PPPoE)

                Server, Einrichtung von Kernel-PPP

                User-PPP, U:bersicht, PPP und statische IP-Adressen

   PPP Shells, PPP-Shells fu:r dynamische IP-Adressen, PPP-Shells fu:r
   statische IP-Adressen

   PPPoA (Siehe PPP, over ATM)

   PPPoE (Siehe PPP, over Ethernet)

   Pra:emptives Multitasking, Was kann FreeBSD?

   printing, Druckauftra:ge erstellen

   procmail, E-Mails mit procmail filtern

   Prozess-U:berwachung, Prozess-U:berwachung

   Pufferverzeichnis, Das Pufferverzeichnis anlegen

   pw, pw, Einrichten als Administrator

   Python, Django

  Q

   Quellcode, Was kann FreeBSD?

   Quotas, Benutzer einschra:nken

  R

   RAID, Mo:gliche Engpa:sse

                CCD, Concatenated-Disk (CCD) konfigurieren

                Hardware, Hardware-RAID

                Software, Concatenated-Disk (CCD) konfigurieren, Der
                Vinum-Volume-Manager, Ihre Platten sind zu klein.

                Vinum, Der Vinum-Volume-Manager

   RAID-1, Datenintegrita:t

   RAID-5, Datenintegrita:t

   Rambler, Wer benutzt FreeBSD?

   rc-Dateien, Ressourcen Konfiguration, rc-Dateien

                rc.conf, Basiskonfiguration

                rc.serial, Konfiguration der seriellen Schnittstelle,
                /etc/rc.d/serial

   resolv.conf, /etc/resolv.conf

   Resolver, Begriffsbestimmungen

   restore, Sichern und Wiederherstellen

   Reverse-DNS, Begriffsbestimmungen

   RFCOMM, Das RFCOMM-Protokoll

   RIP, Einen Router konfigurieren

   rlogind, Absichern von unter root laufenden Servern und SUID/SGID
   Programmen

   rmuser, rmuser

   Root-Dateisystem, Anha:ngen und Abha:ngen von Dateisystemen

                plattenloser Betrieb, Das root-Dateisystem erzeugen

   Root-Partition, Nach dem Unglu:ck

   Root-Zone, Begriffsbestimmungen

   roundrobin, Link-Aggregation und Failover

   routed, Abschliessende Systemkonfiguration

   Router, Was kann FreeBSD?, Einen Router konfigurieren, Filtering/Traffic
   Shaping Firewall

   Routing, Gateways und Routen

   routing propagation, Verteilung von Routing-Informationen

   rpcbind, Wie funktioniert NFS?, Wichtige Prozesse und Begriffe

   RS-232C Kabel, Begriffe, Standard RS-232C Kabel

   rshd, Absichern von unter root laufenden Servern und SUID/SGID Programmen

   Ruby on Rails, Ruby on Rails

  S

   Samba-Server, Mit Samba einen Datei- und Druckserver fu:r
   Microsoft(R) Windows(R)-Clients einrichten

   Sandka:sten, Absichern von unter root laufenden Servern und SUID/SGID
   Programmen

   sbsize, Benutzer einschra:nken

   Scanner, Scanner

   Schnappschu:sse

                von Dateisystemen, Schnappschu:sse von Dateisystemen

   Schriftarten, Das Mathematica(R)-Frontend u:ber ein Netzwerk ausfu:hren

                Absta:nde, Anti-aliasing

                Anti-aliasing, Anti-aliasing

                auf einem LCD, Anti-aliasing

                TrueType, TrueType(R)-Schriftarten

   scp, Secure Copy

   screenmap, Einrichten der Konsole

   SCSI, Nummerierung der Laufwerke im BIOS

   SDL, Video-Schnittstellen

   SDP, Das Service Discovery Protocol (SDP)

   security

                firewalls, Firewalls

   Security Event Auditing (Siehe MAC)

   Seiten verrechnen, lpf: Ein Textfilter

   sendmail, Absichern von unter root laufenden Servern und SUID/SGID
   Programmen, Abschliessende Systemkonfiguration, sendmail-Konfiguration

   serielle Datenu:bertragung, U:bersicht

   serielle Konsole, FreeBSD auf einem System ohne Monitor oder Tastatur
   installieren, Einrichten der seriellen Konsole

   serieller Anschluss, Einen seriellen Drucker pru:fen

   Server

                Konfigurationsdateien, Dateien

   Shared-Libraries, Installation zusa:tzlicher Systembibliotheken

   Shells, Shells

                Bourne Shell, Shells

   shutdown, Der Shutdown-Vorgang

   Sicherheit, Sicherheit

                Crypt, DES, Blowfish, MD5, und Crypt

                DoS Angriffe (Siehe Denial-of-Service (DoS))

                Einmalpasswo:rter, Einmalpasswo:rter

                FreeBSD absichern, Absichern von FreeBSD

                Hintertu:ren, Einfu:hrung

                kompromittierte Accounts, Einfu:hrung

                OpenSSH, OpenSSH

                OpenSSL, OpenSSL

   Sicherheitshinweise, FreeBSD Sicherheitshinweise

   Signal 11, Fragen

   Sina, Wer benutzt FreeBSD?

   Single-User Modus, Beispiele fu:r die Loader Bedienung, Der Single-User
   Modus

   Single-User-Modus, Wechseln Sie in den Single-User-Modus, Booten Sie in
   den Single-User-Modus

   Slices, Festplatten, Slices und Partitionen, Hinzufu:gen von Laufwerken

   SLIP, U:bersicht, SLIP, Konfiguration der Datei slip.hosts

                Client, Einrichtung eines SLIP-Clients

                Routing, U:berlegungen zum Routing

                Server, Einrichtung eines SLIP-Servers

                Verbindungsaufbau, Aufbau einer SLIP-Verbindung

   SMTP, Abschliessende Systemkonfiguration

   Snapshot, Was ist FreeBSD-CURRENT?

   Soft Updates, Soft Updates

                Details, Details u:ber Soft Updates

   Softlimit, Setzen von Quota-Limits

   Solaris, Wie funktioniert es?, Was ist NIS?

   Sony Japan, Wer benutzt FreeBSD?

   Soundkarten, Den Soundtreiber einrichten

   Speicherschutz, Was kann FreeBSD?

   Sprachcodes, Sprach- und La:ndercodes

   SQL database, Samba absichern

   SSH

                sshd, SSH aktivieren

   ssh, Anmerkungen zum Zugriff mit Kerberos und SSH

   sshd, Absichern von unter root laufenden Servern und SUID/SGID Programmen

   SSL, mod_ssl

   Standardroute (Siehe Defaultroute)

   Startskripten, Der Anmeldevorgang

   statische Routen, Statische Routen

   Striping, RAID0 - Striping

   Striping von Platten, Mo:gliche Engpa:sse

   su, Absichern von root und Accounts, Verwenden von sysinstall(8)

   Subnetz, Gateways und Routen, Ein Beispiel, Einfu:hrung

   Subversion (Siehe SVN)

   SunOS, Erstellen und Installation eines angepassten Kernels, Einen
   NIS-Doma:nennamen wa:hlen

   SVN

                Repository, Das Entwicklungsmodell von FreeBSD

   Swap-Partition, Swap Partition

                Gro:sse, Swap Partition

   symbolische Links, Installation zusa:tzlicher Systembibliotheken

   Symmetrisches Multi-Processing (SMP), Was kann FreeBSD?

   Synchronisationsfrequenz

                horizontale, Vorarbeiten

                vertikale, Vorarbeiten

   sysctl, sysctl.conf, Einstellungen mit sysctl, Absichern des Kernels, der
   Gera:te und von Dateisystemen

   sysctl.conf, sysctl.conf

   sysinstall, Einrichten der Konsole, Integration in FreeBSD

                hinzufu:gen von Laufwerken, Verwenden von sysinstall(8)

   syslog, Wartung

   syslog.conf, syslog.conf

   System-Konfiguration, U:bersicht

   System-Optimierung, U:bersicht

   sysutils/cdrtools, Einfu:hrung

  T

   Tabellenkalkulation

                Abacus, Abacus

                Gnumeric, Gnumeric

                KMyMoney, KMyMoney

   tar, Ko:nnen Diskettenbackups komprimiert werden?, tar

   TCP Bandwidth Delay Product Begrenzung

                net.inet.tcp.inflight.enable , TCP Bandwidth Delay Product
                Begrenzung

   TCP-Wrapper, TCP-Wrapper, Sicherheit unter NIS

   TCP/IP Netze, Voraussetzungen, Konfiguration der Datei slip.hosts

   TCP/IP-Netzwerkfa:higkeit, Was kann FreeBSD?

   TELEHOUSE America, Wer benutzt FreeBSD?

   telnetd, Absichern von unter root laufenden Servern und SUID/SGID
   Programmen

   Terminaladapter, ISDN-Terminaladapter

   Terminals, Virtuelle Konsolen und Terminals, Terminals

   TeX, Vorteile des Drucksystems, Formatierungs- und Konvertierungsoptionen

                DVI-Dateien drucken, Warum sollte ich einen
                Konvertierungsfilter installieren?

   Text Editoren, Text-Editoren

                ee, Text-Editoren

                emacs, Text-Editoren

                vi, Text-Editoren

   TFTP

                plattenloser Betrieb, Serverkonfiguration - TFTP und NFS

   The GIMP, The GIMP

   traceroute, Problembehebung

   traditionelles Chinesisch

                BIG-5 Codierung, Einrichten als Benutzer

   troff, Die Funktionsweise von Filtern

   Tru64 UNIX, Die NIS-Maps initialisieren

   TrueType-Schriftarten, TrueType(R)-Schriftarten

   ttyu, Konfiguration der seriellen Schnittstelle

   tunefs, Soft Updates

   TV-Karten, TV-Karten einrichten

  U

   U.C. Berkeley, Was kann FreeBSD?, Kurzer geschichtlicher Abriss zu
   FreeBSD, Das aktuelle FreeBSD-Release

   UDP, Wie funktioniert DHCP?

   Umgebungsvariablen, Shells

   Unicode, Kernel und Dateisysteme

   UNIX, Zugriffsrechte, Voraussetzungen

   Updating and Upgrading, FreeBSD-Update, Portsnap: Ein Werkzeug zur
   Aktualisierung der Ports-Sammlung, Aktualisieren der
   Dokumentationssammlung, Verwendung von Dokumentations-Ports

   USB

                Speichermedien, USB Speichermedien

   Usenet, Was kann FreeBSD?

  V

   Veraltete Dateien, Verzeichnisse und Bibliotheken lo:schen, Veraltete
   Dateien, Verzeichnisse und Bibliotheken lo:schen

   verrechnen

                Druckernutzung, lpf: Ein Textfilter

   Verschlu:sselung, mod_ssl

   Verzeichnis Hierarchien, Verzeichnis-Strukturen

   Verzeichnisse, Zugriffsrechte

   vfs.hirunningspace, vfs.hirunningspace

   vfs.vmiodirenable, vfs.vmiodirenable

   vfs.write_behind, vfs.write_behind

   vi, Text-Editoren

   Video-Anwendungen, Video-Anwendungen

   Vinum, Ihre Platten sind zu klein.

                Konkatenation, Mo:gliche Engpa:sse

                Spiegelung, Datenintegrita:t

                Striping, Mo:gliche Engpa:sse

   vipw, Einrichten als Administrator

   virtual hosts, Virtual Hosts

   Virtual Private Network (Siehe VPN)

   virtuelle Konsole, Virtuelle Konsolen und Terminals

   virtueller Speicher, Was kann FreeBSD?

   vm.swap_idle_enabled, vm.swap_idle_enabled

   VPN, IPsec Grundlagen

                einrichten, Das Szenario: Zwei Netzwerke, ein Heim- und ein
                Firmennetzwerk. Beide sind mit dem Internet verbunden und
                verhalten sich dank VPN wie ein Netzwerk.

  W

   Walnut Creek CDROM, Kurzer geschichtlicher Abriss zu FreeBSD

   Weathernews, Wer benutzt FreeBSD?

   Webserver

                dynamisch, Dynamische Webseiten

                konfigurieren, Der Apache HTTP-Server

                Verschlu:sselung, mod_ssl

   wheel, Absichern von root und Accounts

   Widescreen-Monitor, Konfiguration, Einen Widescreen-Monitor einsetzen

   Williams, Nate, Kurzer geschichtlicher Abriss zu FreeBSD

   Windows, Erzeugen eines einzelnen Einmalpasswortes

   Windows NT, Was ist NIS?

   Windows-Treiber, Windows(R)-NDIS-Treiber einsetzen

  X

   X-Display-Manager, Einfu:hrung

   X-Window-System, Was kann FreeBSD?

                Accelerated-X, Was kann FreeBSD?

   X11, X11 konfigurieren

   X11 anpassen, X11 konfigurieren

   X11 Input Method (XIM), Eingabe von nicht-englischen Zeichen

   X11 True Type Font-Server, Zeichensa:tze

   XML, Anti-aliasing

   Xorg, X11 konfigurieren

   xorg.conf, X11 konfigurieren

   Xpdf, Xpdf

   XVideo, Video-Schnittstellen

  Y

   Yahoo!, Wer benutzt FreeBSD?

   Yandex/primary>, Wer benutzt FreeBSD?

   yellow pages (Siehe NIS)

  Z

   Zeitbeschra:nkung, PPP und statische IP-Adressen

   Zip Laufwerk, Die Kernelkonfigurationsdatei

   Zonen

                Beispiele, Begriffsbestimmungen

   Zugriffsrechte, Zugriffsrechte

                symbolische, Symbolische Zugriffsrechte

                                    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.
