Copyright © 1995-2013 The FreeBSD Dutch Documentation Project
Copyright
Redistribution and use in source (XML DocBook) and 'compiled' forms (XML, HTML, PDF, PostScript, RTF and so forth) with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code (XML DocBook) must retain the above copyright notice, this list of conditions and the following disclaimer as the first lines of this file unmodified.
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.
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 is een geregistreerd handelsmerk van de FreeBSD Foundation.
3Com en HomeConnect zijn geregistreerde handelsmerken van 3Com Corporation.
3ware en Escalade zijn geregistreerde handelsmerken van 3ware Inc.
ARM is een geregistreerd handelsmerk van ARM Limited.
Adaptec is een geregistreerd handelsmerk van Adaptec, Inc.
Adobe, Acrobat, Acrobat Reader, en PostScript zijn òfwel geregistreerde handelsmerken òf handelsmerken van Adobe Systems Incorporated in de Verenigde Staten en/of andere landen.
Apple, AirPort, FireWire, Mac, Macintosh, Mac OS, Quicktime, en TrueType zijn handelsmerken van Apple Computer, Inc., geregistreerd in de Verenigde Staten en andere landen.
Sound Blaster is een handelsmerk van Creative Technology Ltd. in de Verenigde Staten en/of andere landen.
CVSup is een geregistreerd handelsmerk van John D. Polstra.
Heidelberg, Helvetica, Palatino, en Times Roman zijn òfwel geregistreerde handelsmerken òf handelsmerken van Heidelberger Druckmaschinen AG in de Verenigde Staten en andere landen.
IBM, AIX, OS/2, PowerPC, PS/2, S/390, en ThinkPad zijn handelsmerken van International Business Machines Corporation in de Verenigde Staten, andere landen, of beide.
IEEE, POSIX, en 802 zijn geregistreerde handelsmerken van Institute of Electrical and Electronics Engineers, Inc. in de Verenigde Staten.
Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium, en Xeon zijn handelsmerken of geregistreerde handelsmerken van Intel Corporation of haar dochterondernemingen in de Verenigde Staten en andere landen.
Intuit en Quicken zijn geregistreerde handelsmerken en/of geregistreerde dienstmerken van Intuit Inc., of een van haar dochterondernemingen, in de Verenigde Staten en andere landen.
Linux is een geregistreerd handelsmerk van Linus Torvalds.
LSI Logic, AcceleRAID, eXtremeRAID, MegaRAID en Mylex zijn handelsmerken of geregistreerde handelsmerken van LSI Logic Corp.
M-Systems en DiskOnChip zijn handelsmerken of geregistreerde handelsmerken van M-Systems Flash Disk Pioneers, Ltd.
Macromedia, Flash, en Shockwave zijn handelsmerken geregistreerde handelsmerken van Macromedia, Inc. in de Verenigde Staten en/of andere landen.
Microsoft, IntelliMouse, MS-DOS, Outlook, Windows, Windows Media en Windows NT zijn òfwel geregistreerde handelsmerken òf handelsmerken van Microsoft Corporation in de Verenigde Staten en/of andere landen.
GateD en NextHop zijn geregistreerde en ongeregistreerde handelsmerken van NextHop in de Verenigde Staten en andere landen.
Motif, OSF/1, en UNIX zijn geregistreerde handelsmerken en IT DialTone en The Open Group zijn handelsmerken van The Open Group in de Verenigde Staten en andere landen.
Oracle is een geregistreerd handelsmerk van Oracle Corporation.
RealNetworks, RealPlayer, en RealAudio zijn de geregistreerde handelsmerken van RealNetworks, Inc.
Red Hat, RPM, zijn handelsmerken of geregistreerde handelsmerken van Red Hat, Inc. in de Verenigde Staten en andere landen.
SAP, R/3, en mySAP zijn handelsmerken of geregistreerde handelsmerken van SAP AG in Duitsland en in verschillende andere wereldwijde landen.
Sun, Sun Microsystems, Java, Java Virtual Machine, JDK, JRE, JSP, JVM, Netra, OpenJDK, Solaris, StarOffice, SunOS en VirtualBox zijn handelsmerken of geregistreerde handelsmerken van Sun Microsystems, Inc. in de Verenigde Staten en andere landen.
MATLAB is een geregistreerd handelsmerk van The MathWorks, Inc.
SpeedTouch is een handelsmerk van Thomson.
U.S. Robotics en Sportster zijn geregistreerde handelsmerken van U.S. Robotics Corporation.
VMware is een handelsmerk van VMware, Inc.
Waterloo Maple en Maple zijn handelsmerken of geregistreerde handelsmerken van Waterloo Maple Inc.
Mathematica is een geregistreerd handelsmerk van Wolfram Research, Inc.
XFree86 is een handelsmerk van The XFree86 Project, Inc.
Ogg Vorbis en Xiph.Org zijn handelsmerken van Xiph.Org.
Veel van de termen die door fabrikanten en verkopers worden gebruikt om hun producten te onderscheiden worden geclaimd als handelsmerk. Op de plaatsen waar deze handelsmerken in dit document voorkomen, en het FreeBSD Project op de hoogte was van de claim op het handelsmerk, worden de termen gevolgd door het symbool “™” of het symbool “®”.
Welkom bij FreeBSD! Dit handboek behandelt de installatie en
het dagelijks gebruik van
FreeBSD 10.3-RELEASE en
FreeBSD 11.0-RELEASE. Aan deze
handleiding wordt nog gewerkt, en is het resultaat van het werk
van veel mensen. Veel hoofdstukken of paragrafen bestaan nog
niet en wat bestaat dient soms nog bijgewerkt te worden. Als
de lezer mee wil helpen aan dit project kan een mail gestuurd
worden naar de FreeBSD documentatieproject mailinglijst. De meest recente versie van dit
document is te vinden op de FreeBSD website. Eerdere
versies van dit handboek zijn te vinden op http://docs.FreeBSD.org/doc/
. Het
kan ook gedownload worden in veel verschillende formaten en
compressiewijzen van de FreeBSD FTP
server of een van de vele mirrorsites. Een gedrukt
exemplaar van het handboek is te koop bij de FreeBSD Mall (Engels).
Het handboek kan ook doorzocht worden.
X
en
eerderX
en nieuwer installerencron
instellensyslogd
fdisk
-partities vóór
het wijzigened0
inetd.conf
bewerkenexports
bewerkenX
en
8.X
ISO image-namen en
verklaringboot0
schermafbeeldingboot2
schermafbeelding/etc/ttys
rmuser
chpass
door
superuserchpass
door een gewone
gebruikerdump
via
sshdump
via
ssh met ingestelde
RSH
mdconfig
gebruiken om een bestaand
beeld van een bestandssysteem aan te koppelenmdconfig
mdmfs
mdconfig
mdmfs
/etc/ttys
toevoegensrc/
tree uit
te checken:src/
structuur uit te checken:De nieuwkomers bij FreeBSD zullen zien dat de eerste sectie van dit boek ze begeleidt door de FreeBSD installatieprocedure en de geleidelijke introductie in de concepten van UNIX®. Om deze sectie goed te kunnen doorlopen is meer nodig dan de wens om te ontdekken en de mogelijkheid om nieuwe concepten op te nemen wanneer ze geïntroduceerd worden.
De tweede, veel grotere, sectie van het handboek is een uitvoerige referentie naar alle mogelijke (relevante) onderwerpen die interessant zijn voor FreeBSD systeembeheerders. Sommige van deze hoofdstukken adviseren mogelijk om eerdere documentatie te lezen. Dit wordt aangegeven in de samenvatting aan het begin van elk hoofdstuk.
Voor een lijst van extra bronnen van informatie zie Bijlage B, Bibliografie.
De huidige online versie van het Handboek representeert de gezamenlijke inspanning van vele honderden bijdragende vrijwilligers van de laatste 10 jaar. Hieronder staan enkele van de belangrijke wijzigingen sinds de tweedelige derde editie in 2004 werd uitgegeven:
Hoofdstuk 25, DTrace, DTrace, is toegevoegd met informatie over het krachtige prestatie-analysegereedschap DTrace.
Hoofdstuk 21, Ondersteuning van bestandssystemen, Ondersteuning voor bestandssystemen, is toegevoegd met informatie over vreemde bestandssystemen in FreeBSD, zoals ZFS van Sun™.
Hoofdstuk 18, Security Event Auditing, Beveiliginsgebeurtenissen auditen, is toegevoegd om de nieuwe auditing-mogelijkheden van FreeBSD te bespreken en het gebruik ervan uit te leggen.
Hoofdstuk 22, Virtualisatie, Virtualisatie, is toegevoegd met informatie over het installeren van FreeBSD op virtualisatiesoftware.
Hoofdstuk 3, FreeBSD 9.X
en nieuwer installeren,
FreeBSD 9.X
en nieuwer installeren, is
toegevoegd om het installeren van FreeBSD met het
nieuwe installatiegereedschap, bsdinstall te
behandelen.
De derde editie was het resultaat van meer dan twee jaar werk van de toegewijde leden van het FreeBSD Documentation Project. De gedrukte editie werd zo groot dat het noodzakelijk was om het was om het als twee afzonderlijke delen te publiceren. Hieronder staan de grootste veranderingen in deze nieuwe editie:
Hoofdstuk 12, Instellingen en optimalisatie, Instellingen en
optimalisatie, is uitgebreid met nieuwe informatie over ACPI
power en resource management, het systeemhulpprogramma
cron
en er staan meer opties voor het
optimaliseren van de kernel beschreven.
Hoofdstuk 15, Beveiliging, Beveiliging, is uitgebreid met meer informatie over virtuele private netwerken (VPN's), toegangscontrolelijsten voor het bestandssysteem (ACL's) en beveiligingswaarschuwingen.
Hoofdstuk 17, Verplichte Toegangscontrole (MAC), Verplichte toegangscontrole (MAC), is een nieuw hoofdstuk in deze editie. Er wordt in uitgelegd wat MAC is en hoe het gebruikt kan worden om FreeBSD te beveiligen.
Hoofdstuk 19, Opslag, Opslag, is uitgebreid met informatie over USB opslagapparaten, snapshots van bestandssystemen, bestandssystemen op basis van bestanden en het netwerk en versleutelde partities op schijven.
Aan Hoofdstuk 27, PPP en SLIP, PPP en SLIP, is een paragraaf toegevoegd over problemen oplossen.
Hoofdstuk 28, Elektronische mail, E-mail, is uitgebreid met informatie over alternatieve transport programma's, SMTP authenticatie, UUCP, fetchmail, procmail en een aantal andere gevorderde onderwerpen.
Hoofdstuk 29, Netwerkdiensten, Netwerkdiensten, is nieuw in deze editie. Dit hoofdstuk bevat informatie over het opzetten van een Apache HTTP Server, ftpd en het opzetten van een server voor Microsoft® Windows® clients met Samba. Een aantal paragrafen uit Hoofdstuk 31, Geavanceerde netwerken, Geavanceerde Netwerken, zijn om reden van presentatie naar dit hoofdstuk verplaatst.
Hoofdstuk 31, Geavanceerde netwerken, Netwerken voor gevorderden, is uitgebreid met informatie over het gebruik van Bluetooth® apparaten met FreeBSD, het opzetten van draadloze netwerken en Asynchronous Transfer Mode (ATM) netwerken.
Er is een termenoverzicht toegevoegd als centrale locatie voor definities van technische termen die in dit boek gebruikt worden.
Tenslotte zijn er nog veel esthetische wijzigingen doorgevoerd aan tabellen en figuren in het boek.
Deze tweede editie is een optelsom van meer dan twee jaar werk door vaste leden van het FreeBSD Documentation Project. Het volgende zijn de grote wijzigingen in deze editie:
Er is een complete INDEX toegevoegd.
Alle ASCII-figuren zijn vervangen door grafische diagrammen.
Aan elk hoofdstuk is een standaardsamenvatting toegevoegd om een snel overzicht te geven welke informatie zich in het hoofdstuk bevindt en wat de lezer geacht wordt te weten.
De inhoud is logisch ingedeeld in drie delen: “Starten”, “Systeembeheer” en “Appendix”.
Hoofdstuk 2, FreeBSD installeren op FreeBSD 8.X
en
eerder (“FreeBSD
installeren”) is compleet herschreven met veel
schermafdrukken erbij om het makkelijker te maken voor nieuwe
gebruikers om greep te krijgen op de tekst.
Hoofdstuk 4, UNIX® beginselen (“UNIX® beginselen”) is uitgebreid met extra informatie over processen, daemons en signalen.
Hoofdstuk 5, Applicaties installeren: pakketten en ports (“Applicaties installeren”) is uitgebreid met extra informatie over binair package-beheer.
Hoofdstuk 6, Het X Window systeem (“Het X Window systeem”) is compleet herschreven met de nadruk op het gebruik van moderne bureaubladtechnologiën zoals KDE en GNOME op XFree86™ 4.X.
Hoofdstuk 13, Het FreeBSD opstartproces (“Het FreeBSD Opstartproces”) is uitgebreid.
Hoofdstuk 19, Opslag (“Opslag”) is herschreven uit wat eens twee aparte hoofdstukken waren over “schijven” en “back-ups”. We vinden dat de onderwerpen beter begrijpbaar zijn wanneer ze in één hoofdstuk zijn ondergebracht. Er is ook een sectie over RAID (zowel hardware- als softwarematig) toegevoegd.
Hoofdstuk 26, Seriële communicatie (“Seriële communicatie”) is compleet gereorganiseerd en bijgewerkt voor FreeBSD 4.X/5.X.
Hoofdstuk 27, PPP en SLIP (“PPP en SLIP”) is aanzienlijk bijgewerkt.
Veel nieuwe secties zijn toegevoegd aan Hoofdstuk 31, Geavanceerde netwerken (“Geavanceerd netwerken”).
Hoofdstuk 28, Elektronische mail (“E-mail”) is uitgebreid met meer informatie over het instellen van sendmail.
Hoofdstuk 11, Linux® binaire compatibiliteit (“ Linux® binaire compatibiliteit”) is uitgebreid met informatie over het installeren van Oracle®.
De volgende nieuwe onderwerpen worden behandeld in de tweede editie:
Instellingen en optimalisatie (Hoofdstuk 12, Instellingen en optimalisatie).
Multimedia (Hoofdstuk 8, Multimedia)
Dit boek is opgedeeld in vijf logische secties. De eerste sectie, Beginnen, behandelt de installatie en het basisgebruik van FreeBSD. Er wordt verwacht dat lezers deze hoofdstukken volgt, en mogelijk hoofdstukken overslaat met bekende onderwerpen. De tweede sectie, Algemene Taken, behandelt veelgebruikte functies van FreeBSD. Deze sectie en alle volgende kunnen in een willekeurige volgorde gelezen worden. Iedere sectie begint met een beknopte samenvatting die beschrijft wat het hoofdstuk inhoudt en wat de lezer al moet weten. Dit is bedoeld om de lezer de kans te geven alleen dat te lezen wat voor hem van belang is. In de derde sectie, Systeembeheer, wordt het beheer behandeld. De vierde sectie, Netwerkcommunicatie, gaat over netwerken en servers. De vijfde sectie bevat appendices met referentiemateriaal.
Introduceert FreeBSD aan een nieuwe gebruiker. Het beschrijft de geschiedenis van het FreeBSD project, de doelen en het ontwikkelmodel.
X
en
eerder, Installatie van
FreeBSD 8.X
en eerderBegeleidt de gebruiker door het gehele installatieproces van
FreeBSD 8.X
en eerder door middel van
sysinstall. Sommige geavanceerde
onderwerpen over installeren, zoals installeren via een seriële
console, worden ook behandeld.
X
en nieuwer installeren, Installatie van
FreeBSD 9.X
en nieuwerBegeleidt een gebruiker door het gehele installatieproces van
FreeBSD 9.X
en nieuwer door middel van
bsdinstall.
Behandelt de basiscommando's en functionaliteit van het FreeBSD besturingssysteem. Als de lezer bekend is met Linux® of een andere UNIX® variant, kan dit hoofdstuk waarschijnlijk overgeslagen worden.
Behandelt de installatie van software van derden, met zowel FreeBSD's innovatieve “Portscollectie” als de standaard binaire packages.
Beschrijft het X Window systeem in het algemeen en het gebruik van X11 op FreeBSD in het bijzonder. Het beschrijft ook standaard bureaubladomgevingen zoals KDE en GNOME.
Levert standaard bureaubladapplicaties in een lijst, zoals webbrowsers en productiviteitspakketten, en beschrijft hoe ze te installeren op FreeBSD.
Laat zien hoe geluid- en video-ondersteuning te installeren voor een systeem. Het beschrijft ook een aantal voorbeeld audio- en video- applicaties.
Beschrijft waarom misschien een nieuwe kernel ingesteld moet worden en levert gedetailleerde instructies voor het instellen, bouwen en installeren van een eigen kernel.
Beschrijft hoe printers beheerd worden onder FreeBSD, met informatie over bannerpagina's, afdruk-accounting en initiële installatie.
Beschrijft de mogelijkheden van FreeBSD voor binaire compatibiliteit met Linux®. Het biedt ook gedetailleerde installatie-instructies voor vele populaire Linux® applicaties zoals Oracle®, SAP® R/3®, en Mathematica®.
Beschrijft de parameters beschikbaar voor systeembeheerders om een FreeBSD te optimaliseren voor de beste prestaties. Het beschrijft ook diverse instellingenbestanden die gebruikt worden in FreeBSD en waar die te vinden zijn.
Beschrijft de FreeBSD opstartprocedure en legt uit hoe deze aan te passen met instellingen.
Beschrijft hoe gebruikersaccounts aan te maken en te wijzigen. Het beschrijft ook welke resourcebeperkingen er gezet kunnen worden op gebruikers en andere account-beheerstaken.
Beschrijft vele verschillende hulpapplicaties die beschikbaar zijn die helpen om een FreeBSD systeem veilig te houden, met oa: Kerberos, IPsec en OpenSSH.
Beschrijft het jail-raamwerk, en de verbeteringen van jails (gevangenissen) ten opzichte van de traditionele ondersteuning voor chroot van FreeBSD.
Legt uit was Verplichte Toegangscontrole (MAC) is en hoe het gebruikt kan worden om een FreeBSD te beveiligen.
Beschrijft wat FreeBSD Event Auditing is, hoe het geïnstalleerd kan worden, en hoe audit trails geïnspecteerd en gemonitord kunnen worden.
Beschrijft hoe opslagmedia en bestandssystemen beheerd worden onder FreeBSD. Dit omvat fysieke schijven, RAID arrays, optische en tape media, geheugenschijven en netwerkbestandssystemen.
Beschrijft wat het GEOM raamwerk in FreeBSD is en hoe de verschillende ondersteunde RAID-niveau's in te stellen.
Gaat de ondersteuning voor vreemde bestandssystemen in FreeBSD na, zoals het Z File System van Sun™.
Beschrijft wat virtualisatiesystemen bieden, en hoe ze met FreeBSD gebruikt kunnen worden.
Beschrijft hoe FreeBSD met andere talen dan Engels te gebruiken is. Behandelt zowel het systeem- als applicatieniveau van localisatie.
Geeft uitleg over de verschillen tussen FreeBSD-STABLE, FreeBSD-CURRENT en FreeBSD uitgaven. Beschrijft welke gebruikers voordeel hebben van het bijhouden van een ontwikkelsysteem en legt dat proces uit. Beschrijft de manier waarop gebruikers hun systeem naar de laatste beveiligingsuitgave kunnen bijwerken.
Beschrijft hoe het gereedschap DTrace van Sun™ te configureren en gebruiken in FreeBSD. Dynamisch tracen kan helpen bij het lokaliseren van prestatieproblemen, door real-time systeemanalyse uit te voeren.
Legt uit hoe een verbinding te maken met terminals en modems op een FreeBSD systeem voor zowel dial-in als dial-out verbindingen.
Beschrijft hoe PPP, SLIP en PPP over Ethernet te gebruiken om verbinding te maken met remote systemen met FreeBSD.
Legt verschillende componenten uit van een mailserver en gaat dieper in op simpele instellingen voor de populairste mailserver software: sendmail.
Geeft gedetailleerde instructies en voorbeeldinstellingen om een FreeBSD machine als een netwerk bestandssysteem server, DNS server, netwerk informatiesysteem server of tijdserver in te stellen.
Licht de filosofie achter op software gebaseerde firewalls toe en beschrijf in detail hoe de verschillende firewalls die in FreeBSD beschikbaar zijn ingesteld kunnen worden.
Beschrijft meerdere netwerk onderwerpen, inclusief het delen van een Internetverbinding met andere computers in een LAN, routeren voor gevorderden, draadloze netwerken, Bluetooth®, ATM, IPv6 en nog veel meer.
Geeft verschillende bronnen aan voor het verkrijgen van FreeBSD media op CD-ROM of DVD evenals verschillende sites op het Internet die gebruikers in staat stellen FreeBSD te downloaden en te installeren.
Dit boek behandelt veel verschillende onderwerpen die de lezer misschien hongerig maken naar een gedetailleerdere uitleg. De bibliografie bevat verwijzingen naar een aantal uitstekende boeken.
Beschrijft de vele forums die beschikbaar zijn voor FreeBSD gebruikers om vragen te stellen, en om deel te nemen aan technische conversaties over FreeBSD.
Geeft de PGP-vingerafdrukken van verschillende FreeBSD ontwikkelaars.
Om consistentie en leesbaarheid te behouden en de leesbaarheid te behouden worden er een aantal overeenkomsten nageleefd in dit boek.
Een italic lettertype wordt gebruikt voor bestandsnamen, URL's, benadrukte tekst, en het eerste gebruik van technische termen.
Monospace
Een monospaced
lettertype wordt
gebruikt voor foutmeldingen, commando's,
omgevingsvariabelen, namen van ports, hostnamen,
gebruikersnamen, groepsnamen, apparaatnamen, variabelen en
stukjes code.
Een vet lettertype wordt gebruikt voor applicaties, commando's en toetsen.
Toetsen worden weergegeven in bold om op
te vallen tussen andere tekst. Toetscombinaties die bedoeld zijn
om tegelijkertijd getypt te worden, worden weergeven met
+
' tussen de toetsen zoals
Ctrl+Alt+Del
Betekent dat de gebruiker de volgende toetsen op hetzelfde moment moet indrukken: Ctrl, Alt en Del.
Toetsen die bedoeld zijn om achter elkaar te typen worden gescheiden door komma's, bijvoorbeeld
Ctrl+X, Ctrl+S
zou betekenen dat de gebruiker de Ctrl en X toetsen tegelijk moet indrukken en erna Ctrl en S tegelijkertijd moet indrukken.
Voorbeelden die beginnen met E:\>
geven aan dat het een MS-DOS® commando betreft. Tenzij anders
vermeld, kunnen deze commando's in een “Command
prompt”scherm in een moderne Microsoft® Windows® omgeving
worden gebruikt.
E:\>
tools\fdimage floppies\kern.flp A:
Voorbeelden die starten met een #
geven aan dat een
commando ingegeven moet worden als de superuser in FreeBSD. Er kan
aangemeld worden met root
om het commando in
te typen, of er kan na als gewone gebruiker aangemeld te hebben
gebruikt gemaakt worden van su(1) om superuser-rechten te
verkrijgen.
#
dd if=kern.flp of=/dev/fd0
Voorbeelden die starten met %
geven aan dat een
commando opgegeven moet worden vanuit een normale
gebruikersaccount. Tenzij anders vermeld, wordt de C-shell
syntaxis gebruikt voor het instellen van omgevingsvariabelen en
andere shellcommando's.
%
top
Het boek dat nu voorligt representeert de inspanningen van honderden mensen over de hele wereld. Of ze nu foutjes verbeteren of complete hoofdstukken inleveren, ze hebben allemaal nuttig bijgedragen.
Verschillende bedrijven hebben bijgedragen aan het maken van dit document door de schrijvers te betalen om hier voltijds aan te werken, door te betalen voor de publicatie, etc. In het bijzonder heeft BSDi (Overgenomen door Wind River Systems) leden van het FreeBSD Documentation Project betaald om voltijds te werken aan het verbeteren van dit boek, wat leidde tot de publicatie van de eerste editie in maart 2000 (ISBN 1-57176-241-8). Wind River Systems heeft daarna verschillende schrijvers betaald om een aantal verbeteringen uit te voeren voor de printuitvoer-infrastructuur en om extra hoofdstukken toe te voegen aan de tekst. Dit werk leverde de publicatie van de tweede gedrukte editie in november 2001 (ISBN 1-57176-303-1). In 2003-2004 heeft FreeBSD Mall, Inc een aantal mensen die bijdragen hebben geleverd betaald om het handboek te verbeteren voor een derde gedrukte editie.
Dit deel van het FreeBSD handboek is voor gebruikers en beheerders die net beginnen met FreeBSD. Deze hoofdstukken:
Geven een inleiding in FreeBSD;
Lichten het installatieproces toe;
Bespreken de UNIX® basisbegrippen en grondslag;
Tonen hoe de vele aanvullende applicaties voor FreeBSD geïnstalleerd kunnen worden;
Introduceren X, het venstersysteem van UNIX® en gaan uitvoerig in op hoe een bureaubladomgeving wordt ingesteld die een gebruiker helpt productiever te zijn.
Er is geprobeerd het aantal vooruitwijzingen tot een minimum te beperken zodat het handboek van begin tot einde gelezen kan worden zonder bladeren.
X
en
eerderX
en nieuwer installerenWelkom bij FreeBSD! Dit hoofdstuk beschrijft de verschillende aspecten van het FreeBSD Project: geschiedenis, doelen, ontwikkelmodel en meer.
Na het lezen van dit hoofdstuk weet de lezer:
Hoe FreeBSD gerelateerd is aan andere besturingssystemen;
De geschiedenis van het FreeBSD Project;
De doelen van het FreeBSD Project;
De fundering van het FreeBSD open-source ontwikkelmodel;
En natuurlijk: waar de naam “FreeBSD” vandaan komt.
FreeBSD is een op 4.4BSD-Lite gebaseerd besturingssysteem voor Intel (x86 en Itanium®), AMD64 en Sun UltraSPARC® computers. Er zijn ook ports naar andere architecturen in voorbereiding. Er is nog meer informatie over de geschiedenis van FreeBSD of over de huidige uitgave. Als de lezer wil bijdragen aan het project (code, hardware, geld) wordt aangeraden het artikel Bijdragen aan FreeBSD te lezen.
FreeBSD heeft veel mogelijkheden die het bespreken waard zijn. Hier zijn er enkele op een rij gezet:
Preemptive multitasking zorgt ervoor dat meerdere programma's en gebruikers op dezelfde computer kunnen werken, zonder dat de systeemrespons of stabiliteit beïnvloed wordt.
Ondersteuning voor meerdere gebruikers maakt het mogelijk dat verschillende mensen een FreeBSD systeem tegelijkertijd kunnen gebruiken voor een groot aantal taken. Dit betekent bijvoorbeeld dat randapparaten als printers en tapedrives gedeeld kunnen worden door alle gebruikers van het systeem en dat individuele beperkingen ingesteld kunnen worden voor gebruikers of voor groepen gebruikers, zodat kritieke systeembronnen beschermd kunnen worden tegen onrechtmatig of overmatig gebruik.
Krachtige mogelijkheden voor TCP/IP netwerken met ondersteuning voor industriestandaarden als SCTP, DHCP, NFS, NIS, PPP, SLIP, IPsec en IPv6. Dit betekent dat een FreeBSD-systeem makkelijk kan samenwerken met andere systemen en dat het kan functioneren als bedrijfsserver, waarbij het belangrijke functies als NFS (bestandsdeling over het netwerk), email, webdiensten, FTP, routing en firewall-diensten kan aanbieden.
Geheugenbeveiliging garandeert dat applicaties (of gebruikers) elkaar niet kunnen storen. Een crashende applicatie heeft totaal geen effect op andere applicaties.
FreeBSD is een 32-bits besturingssysteem (64-bits op de Itanium®, AMD64, en UltraSPARC®) en is van de grond af aan zo ontworpen.
Het X Window systeem (X11R7), een industriële standaard, biedt een grafische gebruikersinterface (GUI) met als enige benodigdheden een VGA-kaart en een beeldscherm.
Door binaire compatibiliteit met veel programma's voor Linux®, SCO, SVR4, BSDI en NetBSD is het mogelijk om deze programma's zonder snelheidsverlies op FreeBSD te draaien.
Er zijn duizenden applicaties beschikbaar in de FreeBSD ports en pakketten collectie. Waarom zoeken op het Internet als het allemaal al klaarstaat?
Duizenden andere en makkelijk over te zetten applicaties zijn beschikbaar op het Internet. FreeBSD is broncode-compatibel met de meeste populaire commerciële UNIX® systemen, wat betekent dat veel applicaties nagenoeg geen wijzigingen vereisen om te compileren op FreeBSD.
Het demand-paged virtueel geheugen en de “gecombineerde VM/buffer cache” van FreeBSD zorgen ervoor dat applicaties met grote geheugenbehoeften niets te kort komen, terwijl de systeemrespons niet achteruit gaat.
Een volledige C en C++ ontwikkelomgeving. Vele andere programmeertalen, te gebruiken voor onderzoek of geavanceerde ontwikkeling, zijn ook beschikbaar in de ports- en pakketcollectie.
De broncode van het hele systeem is beschikbaar, zodat gebruikers de volledige controle over het systeem in handen hebben. Waarom genoegen nemen met alleen het erewoord van de softwarefabrikant, als een compleet open systeem ook tot de mogelijkheden behoort?
Uitgebreide online documentatie.
En nog veel meer!
FreeBSD is gebaseerd op de 4.4BSD-Lite uitgave van de Computer Systems Research Group (CSRG) aan de University of California in Berkeley en borduurt voort op een lange traditie van ontwikkeling van BSD-systemen. Het FreeBSD Project heeft duizenden uren gestoken in het afstellen van het systeem voor maximale prestaties en betrouwbaarheid in realistische en veel voorkomende situaties. Terwijl veel commerciële bedrijven blijven worstelen met het uitbrengen van besturingssystemen met dergelijke mogelijkheden, prestaties en betrouwbaarheid, kan FreeBSD deze nu bieden!
De toepassingen voor FreeBSD worden alleen beperkt door eigen fantasie. Van software-ontwikkeling tot fabrieksautomatisering, van voorraadbeheersing tot de azimuth-correctie van een satellietantenne: als het kan met een commercieel UNIX®product, dan kan het ook met FreeBSD! FreeBSD vaart ook wel bij de letterlijk duizenden open-source programma's, vaak van bijzonder hoge kwaliteit, die ontwikkeld zijn in onderzoekscentra, universiteiten over de hele wereld en open-source gemeenschappen, en die beschikbaar zijn voor weinig of geen geld. Ook steeds meer commerciële applicaties vinden hun weg naar FreeBSD.
Omdat ook de broncode van FreeBSD zelf vrij beschikbaar is, kan het systeem aangepast worden voor speciale toepassingen of projecten, op manieren die meestal niet mogelijk zijn met besturingssystemen van vooraanstaande commerciële softwarehuizen. Hier zijn een aantal voorbeelden van toepassingen waar FreeBSD voor gebruikt wordt:
Internetdiensten: de robuuste TCP/IP netwerkarchitectuur die in FreeBSD zit, maakt het een ideaal platform voor uiteenlopende Internetdiensten als:
FreeBSD kan eenvoudig geleerd worden op een goedkope standaard-PC, om later verder te groeien naar een professioneel Xeon-systeem met 4 processoren (of meer!) en RAID opslagsystemen als een bedrijf groeit.
Onderwijs: is de lezer informaticastudent of werkzaam in een ander vakgebied dat hier mee te maken heeft? Er is geen betere manier om besturingssystemen, computerarchitecturen en netwerken te bestuderen dan de hands-on open-source ervaring die FreeBSD kan bieden. Gratis beschikbare programma's voor CAD, wiskundige toepassingen en grafisch ontwerp maken FreeBSD ook heel handig voor mensen wiens primaire interesse voor de computer ligt bij het voltooien van ander werk!
Onderzoek: omdat de broncode van het volledige systeem beschikbaar is, vormt FreeBSD een uitstekende basis voor het onderzoeken van besturingssystemen of andere takken in de informatica. De open natuur van FreeBSD maakt het ook mogelijk voor groepen mensen over de hele wereld om met elkaar samen te werken, zonder dat men zich zorgen hoeft te maken over speciale licentieovereenkomsten of beperkingen op wat er besproken kan worden in open fora.
Netwerken: nieuwe router nodig? Of een nameserver (DNS)? Een firewall om een intern netwerk te beschermen? FreeBSD kan die ongebruikte 486 of Pentium PC die nog ergens in een hoekje ligt gemakkelijk omtoveren tot een geavanceerde router met uitgebreide pakketfilter mogelijkheden.
X Window werkstation: FreeBSD is een prima keuze als goedkope X terminal oplossing, door gebruik te maken van de gratis beschikbare X11 server. In tegenstelling tot een pure X terminal kan FreeBSD ook applicaties lokaal draaien, wat een verlichting van de centrale server tot gevolg kan hebben. FreeBSD heeft zelfs de mogelijkheid om “schijfloos” op te starten, zodat individuele werkstations nog goedkoper en makkelijker te beheren zijn.
Bureaublad: de beschikbaarheid van geavanceerde bureaubladomgevingen als KDE en GNOME en kantoortoepassingen als tekstverwerkers en spreadsheet-programma's in de ports- en pakketcollectie maken van FreeBSD een uitgebreid desktop-platform. Thuis en op het werk zorgt FreeBSD ervoor dat er snel, efficiënt en veilig gewerkt kan worden!
Software Ontwikkeling: bij het standaard FreeBSD-systeem zit al een volledige verzameling van ontwikkelgereedschappen, inclusief de bekende GNU C/C++ compiler en debugger.
FreeBSD is beschikbaar in zowel broncode als binaire vorm op CD-ROM, DVD en via FTP. In Bijlage A, FreeBSD verkrijgen staat meer informatie over het verkrijgen van FreeBSD.
Deze paragraaf geeft wat meer achtergrondinformatie over het project, inclusief een korte geschiedenis, projectdoelen, en het ontwikkelmodel van het project.
Het FreeBSD Project zag het licht in het begin van 1993, gedeeltelijk als een voortzetting van de “Unofficial 386BSD Patchkit” door de 3 laatste coördinatoren van de patchkit: Nate Williams, Rod Grimes en ikzelf.
Het oorspronkelijke doel was om een zogenaamde 'snapshot'-uitgave te maken van 386BSD, om zo een aantal problemen op te lossen die niet op te lossen waren met het patchkit-mechanisme dat eerder gebruikt was. Sommigen kunnen zich misschien nog herinneren dat de werktitel van het project in het begin nog “386BSD 0.5” of “386BSD Interim” was, refererend aan het oorspronkelijke doel.
386BSD was het besturingssysteem van Bill Jolitz en had tot op dat moment geleden onder het feit dat er al bijna een jaar niet naar omgekeken was. Terwijl de patchkit steeds groter en onhandiger werd, was een groep mensen het er over eens dat er iets moest gebeuren en beslisten om Bill te assisteren bij het maken van een tussentijdse “cleanup”-snapshot. Deze plannen kwamen echter tot een plotseling einde toen Bill Jolitz besliste om zijn toestemming voor het project in te trekken, zonder dat er een alternatief werd geboden.
Het duurde niet lang om te beslissen dat het doel nog steeds belangrijk was, zelfs zonder de ondersteuning van Bill, dus werd de naam “FreeBSD” aangenomen, naar een idee van David Greenman. De oorspronkelijke doelen werden opgesteld na het raadplegen van de gebruikers van het systeem. Toen het erop begon te lijken dat dit project misschien wel snel realiteit kon worden, werd contact opgenomen met Walnut Creek CD-ROM vanuit het oogpunt om de distributiekanalen van FreeBSD te verbeteren voor diegenen die geen toegang hadden tot Internet. Walnut Creek CD-ROM ondersteunde niet alleen het idee om FreeBSD op CD-ROM te distribueren, maar bood het project ook een systeem en een snelle Internetverbinding om mee te werken. Zonder Walnut Creek CD-ROM's bijna onbeperkte vertrouwen in wat op dat moment nog een compleet onbekend project was, is het onwaarschijnlijk dat FreeBSD zo ver gekomen zou zijn, en zo snel, als het vandaag de dag is.
De eerste CD-ROM (en algemene op het net beschikbare) distributie was FreeBSD 1.0, uitgebracht in december 1993. Deze versie was gebaseerd op de 4.3BSD-Lite (“Net/2”) tape van U.C. Berkeley, met veel toevoegingen van 386BSD en de Free Software Foundation. Het werd een redelijk succes voor een eerste aanbod, en werd opgevolgd door de zeer succesvolle FreeBSD 1.1 uitgave in mei 1994.
Rond deze tijd vormde zich nogal onverwacht een stormachtige lucht aan de horizon toen Novell en U.C. Berkeley hun langlopende rechtszaak over de legale status van de Berkeley Net/2 tape oplosten met een schikking. Een voorwaarde van deze schikking was dat U.C. Berkeley toegaf dat grote delen van Net/2 “beladen” code was en het eigendom van Novell, die deze code op haar beurt overgenomen had van AT&T enige tijd hiervoor. Wat Berkeley hiervoor terugkreeg was Novell's “zegen” over de 4.4BSD-Lite uitgave; wanneer deze uitkwam zou Novell verklaren dat geen van de code hierin eigendom van Novell was, en bestaande Net/2 gebruikers zou sterk aanbevolen worden om over te stappen naar deze nieuwe versie. Dit gold ook voor FreeBSD en het project werd de tijd gegeven tot juli 1994 om te stoppen met het distribueren van het eigen op Net/2-gebaseerde product. De schikking liet wel toe dat nog een laatste uitgave werd uitgebracht voor de deadline en dat was FreeBSD 1.1.5.1.
FreeBSD nam toen de enorme taak op zich om zichzelf letterlijk opnieuw uit te vinden, met als basis een volledig nieuwe en nogal incomplete verzameling van delen van 4.4BSD-Lite. De “Lite” uitgaven werden zo genoemd omdat Berkeley's CSRG grote delen code die nodig waren om een werkend systeem te construeren had weggelaten (om allerlei legale redenen) en omdat de Intel port van 4.4 grotendeels incompleet was. Het kostte het project tot november 1994 om deze overstap te maken. Op dat moment werd FreeBSD 2.0 op het net en op CD-ROM (aan het einde van december) uitgebracht. Ondanks het feit dat deze uitgave nog wat ruige kanten had, werd het een groot succes en werd het gevolgd door de robuustere en makkelijker te installeren FreeBSD 2.0.5 in juni 1995.
In augustus 1996 is FreeBSD 2.1.5 uitgebracht en deze bleek populair genoeg bij Internet service providers (ISP's) en andere commerciële gebruikers van FreeBSD om nog een uitgave van de 2.1-STABLE tak te rechtvaardigen. Dit was FreeBSD 2.1.7.1, uitgebracht in februari 1997. Deze uitgave markeerde het einde van de hoofdstroomontwikkeling op 2.1-STABLE; alleen beveilingsupdates en andere kritieke bugfixes werden nog op deze tak uitgevoerd (RELENG_2_1_0).
FreeBSD 2.2 werd afgesplitst van de ontwikkelingstak (“-CURRENT”) in november 1996 als RELENG_2_2 en de eerste volledige uitgave (2.2.1) werd uitgebracht in april 1997. Andere uitgaven van de 2.2 tak werden uitgebracht in de zomer en herfst van '97. De laatste (2.2.8) verscheen in november 1998. De eerste officiële 3.0 uitgave verscheen in oktober 1998 en was het begin van het einde voor de 2.2 tak.
Er was opnieuw een afsplitsing op 20 januari 1999, wat leidde tot de 4.0-CURRENT en 3.X-STABLE takken. Vanuit 3.X-STABLE werd versie 3.1 uitgebracht op 15 februari 1999, 3.2 op 15 mei 1999, 3.3 op 16 september 1999, 3.4 op 20 december 1999 en 3.5 op 24 juni 2000. De laatste werd enkele dagen later gevolgd door een puntuitgave-update naar 3.5.1, om enkele net-ontdekte beveiligingsfouten in Kerberos te corrigeren. Dit was de laatste uitgave van de 3.X tak.
Een nieuwe tak werd gemaakt op 13 maart 2000, de 4.X-STABLE tak. Er zijn verschillende uitgaven van deze tak gemaakt: 4.0-RELEASE werd geïntroduceerd in maart 2000, en de laatste 4.11-RELEASE verscheen in januari 2005.
De langverwachte 5.0-RELEASE werd aangekondigd op 19
januari 2003. Dit resultaat van bijna drie jaar werk zette
FreeBSD stevig neer op de weg naar geavanceerde multiprocessor-
en threading-ondersteuning en introduceerde nieuwe FreeBSD ports
voor de UltraSPARC® en ia64
architecturen.
Deze uitgave werd gevolgd door 5.1 in juni 2003. De laatste 5.X
uitgave uit de –CURRENT-tak was 5.2.1–RELEASE uit
februari 2004.
De RELENG_5 tak is gemaakt in augustus 2004 en werd gevolgd door 5.3-RELEASE, die het begin van de 5-STABLE tak markeert. De meest recente 5.5-RELEASE is uitgekomen in mei 2006. Er staan geen nieuwe versies gepland voor de RELENG_5 tak.
De RELENG_6 tak is gemaakt in juli 2005, de eerste uitgave van de 6.X tak werd vrijgegeven in november 2005. De meest recente 6.4-RELEASE kwam uit in november 2008. Er zullen geen verdere uitgaven komen van de RELENG_6 tak. Deze tak is de laatste tak waarin ondersteuning zit voor de Alpha architectuur.
De RELENG_7 tak is gemaakt in oktober 2007. De eerste uitgave van deze tak is 7.0-RELEASE, welke is uitgekomen in februari 2008. De meest recente 7.4-RELEASE kwam uit in februari 2011. Er zullen geen andere uitgaven van de RELENG_7 tak uitkomen.
De RELENG_8 tak is gemaakt in augustus 2009. De eerste uitgave van de 8.X tak is 8.0-RELEASE, vrijgegeven in november 2009. De meest recente uitgave 10.3-RELEASE kwam uit in April 2016. Er zullen nog andere uitgaven van de RELENG_8 tak uitkomen.
De RELENG_9 tak is gemaakt in september 2011. De eerste uitgave van deze tak was 11.0-RELEASE, vrijgegeven in September 2016. Er zullen nog andere uitgaven van de RELENG_9 tak uitkomen.
Op dit moment vinden lange-termijn ontwikkelprojecten plaats in de 10.X-CURRENT tak, en snapshot uitgaven van 10.X op CD-ROM (en natuurlijk op het Net) worden continu beschikbaar gemaakt op de snapshot server.
Het doel van het FreeBSD Project is om software aan te bieden die gebruikt kan worden voor iedere mogelijke toepassing, zonder beperkingen. Vele ontwikkelaars hebben een belangrijke investering in de code (en het project) zitten en vinden het niet erg om af en toe een financiële compensatie te ontvangen, maar dat is zeker geen voorwaarde. De ontwikkelaars van FreeBSD geloven dat de eerste en belangrijkste “missie” het aanbieden van code is, aan iedereen die het wil hebben, voor wat voor doel dan ook, zodat de code zo breed mogelijk gebruikt kan worden tot voordeel van zoveel mogelijk mensen. Dit is een van de meest fundamentele doelen van Vrije Software dat FreeBSD enthousiast ondersteunt.
Sommige code in FreeBSD valt onder de GNU General Public License (GPL) of Library General Public License (LGPL). Deze code heeft iets meer beperkingen, maar in ieder geval aan de kant waarbij vrije toegang tot de code geforceerd wordt, in plaats van het gebruikelijke tegenovergestelde hiervan. Door de toegevoegde moeilijkheden die kunnen voortkomen uit het commerciële gebruik van GPL software geeft het FreeBSD Project echter de voorkeur aan het meer vrije BSD copyright, wanneer er een redelijk alternatief voor handen is.
De ontwikkeling van FreeBSD is een erg open en flexibel proces en wordt gevormd door de bijdragen van letterlijk honderden mensen over de hele wereld, zoals te zien is in de lijst van medewerkers. De infrastructuur die wordt gebruikt voor de ontwikkeling van FreeBSD zorgt ervoor dat deze honderden ontwikkelaars kunnen samenwerken over het Internet. Het FreeBSD Project is continu op zoek naar nieuwe ontwikkelaars en ideeën. Om bij te dragen aan de ontwikkeling van FreeBSD is een mail naar FreeBSD technische discussie mailinglijst voldoende. De FreeBSD aankondigingen mailinglijst is beschikbaar om mededelingen te doen aan andere FreeBSD-gebruikers over grote veranderingen.
Een aantal dingen over het FreeBSD Project en haar ontwikkelingsproces zijn handig om te weten, of een bijdrage nu onafhankelijk of in samenwerking met anderen komt:
Gedurende een aantal jaren werd de centrale broncode voor FreeBSD bijgehouden door CVS (Concurrent Versions System), een vrij verkrijgbaar pakket voor het onderhouden van broncode dat bij FreeBSD zit. In juni 2008 is het Project SVN (Subversion) gaan gebruiken. Deze overgang werd nodig geacht omdat de technische beperkingen die door CVS worden opgelegd duidelijk werden wegens de snelle uitbreiding van de broncode en de hoeveelheid geschiedenis die reeds is opgeslagen. De reservoirs van het Documentatieproject en de Portscollectie zijn ook omgezet van CVS naar SVN, respectievelijk in mei 2012 en juli 2012.
Hoewel de reservoirs voor src/
en
ports/
nu SVN
gebruiken, blijven cliëntgereedschappen zoals
csup die van de oudere
CVS-infrastructuur afhankelijk
zijn normaal werken — veranderingen in het
SVN-archief worden voor dit
doel teruggeplaatst naar CVS. In
tegenstelling tot src/
en
ports/
wordt het
SVN-reservoir voor de documentatie niet
teruggeplaatst naar CVS.
Het primaire CVS archief staat op een systeem in Santa Clara, Californië, in de VS, waar het wordt gesynchroniseerd met verschillende “mirrors” over de hele wereld. De boomstructuur van SVN , waarin de broncode voor -CURRENT en -STABLE is te vinden, kan ook makkelijk met die op een eigen systeem gesynchroniseerd worden. Synchroniseren van broncode bevat meer informatie over dit onderwerp.
De zogenaamde committers zijn
alle mensen die schrijf-rechten
hebben in het Subversion-archief van FreeBSD. Deze mensen mogen
veranderingen maken aan de broncode van FreeBSD (de term
“committer” is afkomstig van het
commit
commando van versiebeheersystemen,
wat gebruikt wordt om veranderingen door te voeren in het
archief). De beste manier om eigen bijdragen te laten keuren door
een van de committers is door gebruik te maken van
send-pr(1). Als het erop lijkt dat een bijdrage
ergens in het systeem blijft hangen, dan is het ook
mogelijk om mail te sturen naar de FreeBSD committer's mailinglijst.
Het FreeBSD core team zou het equivalent zijn van een raad van bestuur als het FreeBSD Project een bedrijf zou zijn. De primaire taak van het core team is ervoor zorg te dragen dat het project, in zijn geheel, in goede vorm verkeert en de goede richting opgaat. Toegewijde en verantwoordelijke ontwikkelaars uitnodigen om deel te worden van de committers is één van de taken van het core team, net als het rekruteren van nieuwe leden van het core team. Het huidige core team is gekozen door de committers uit een groep van kandidaten (ook allen committers) in juli 2012. Elke twee jaar worden verkiezingen gehouden.
Sommige leden van het core team hebben een bijzondere verantwoordelijkheid, wat wil zeggen dat zij er speciaal op toezien dat een bepaald deel van het systeem werkt zoals het hoort. In de lijst van medewerkers staat een complete lijst van ontwikkelaars en hun verantwoordelijkheden.
De meeste leden van het core team zijn vrijwilligers. “Toewijding” betekent dus niet “gegarandeerde ondersteuning”. De “raad van bestuur”-analogie hierboven klopt niet helemaal en het is misschien beter om te zeggen dat dit de mensen zijn die hun leven opgaven voor FreeBSD, tegen beter weten in!
De grootste groep ontwikkelaars zijn de gebruikers zelf, die FreeBSD continu voorzien van constructief commentaar en oplossingen voor fouten. De handigste manier om contact te houden met het niet-gecentraliseerde deel van de ontwikkeling van FreeBSD is een abonnement nemen op de FreeBSD technische discussie mailinglijst, waar allerlei bijdragen, patches en nieuwe ideeën worden bediscussieerd. In Bijlage C, Bronnen op Internet is meer informatie te vinden over de verschillende FreeBSD mailinglijsten.
De lijst van medewerkers is lang en groeit iedere dag, dus wat let de lezer om zelf een bijdrage te doen aan FreeBSD?
Programmeren is niet de enige manier om een bijdrage te leveren aan het project. Een meer volledige lijst van dingen die gedaan moeten worden staat op de FreeBSD website.
Samengevat is het FreeBSD ontwikkelmodel georganiseerd als een onsamenhangende verzameling van concentrische cirkels. Het gecentraliseerde model is ontworpen voor het gemak van de gebruikers van FreeBSD, die op deze manier makkelijk de wijzigingen in het project kunnen volgen. Niet om potentiële medewerkers buiten de deur te houden! Het is wenselijk om een stabiel besturingssysteem te maken, met een grote verzameling samenhangende applicaties. Dit model heeft zijn waarde op dat gebied bewezen.
Om bij te dragen en samen FreeBSD verder te ontwikkelen, is het enige wat het FreeBSD Project vraagt dat te doen met dezelfde toewijding als de huidige ontwikkelaars: succes gegarandeerd!
FreeBSD is een open source, op 4.4BSD-Lite gebaseerd besturingssysteem voor Intel (x86 en Itanium®), AMD64, n Sun UltraSPARC® computers. Het is grotendeels gebaseerd op software van de Computer Systems Research Group (CSRG) van de University of California in Berkeley (U.C. Berkeley), met verbeteringen overgenomen van NetBSD, OpenBSD, 386BSD en de Free Software Foundation.
Sinds het uitbrengen van FreeBSD 2.0 tegen het einde van 1994, zijn de prestaties, mogelijkheden en stabiliteit van FreeBSD dramatisch verbeterd. FreeBSD heeft namelijk de beschikking over een compleet nieuw subsysteem voor virtueel geheugen, dat niet alleen de prestaties ten goede komt, maar er ook voor zorgt dat het systeem minder geheugen gebruikt dan ooit tevoren. Andere belangrijke verbeteringen zijn de ondersteuning van veel nieuwe hardware, een compleet nieuw systeem voor de ondersteuning van machines met meerdere processoren (SMP) en een nieuwe bibliotheek voor de ondersteuning van multithreading in applicaties.
Behalve de basisdistributie van het besturingssysteem, biedt FreeBSD ook een enorme softwarecollectie met duizenden veelgebruikte programma's, de zogenaamde ports. Op het moment van schrijven zijn er al meer dan 24,000 ports! In de ports zitten alle mogelijke klassen van software die te bedenken zijn, van HTTP-servers tot spellen, van kantoorapplicaties tot multimedia en alles wat er tussenin zit. De complete Portscollectie beslaat zo'n 500 MB aan schijfruimte. Meer informatie over de ports en over de pakketten is te vinden in Hoofdstuk 5, Applicaties installeren: pakketten en ports.
Alle recente versies van FreeBSD bieden een optie aan in de installer
(ofwel sysinstall(8) ofwel bsdinstall(8)) om aanvullende
documentatie te installeren onder /usr/local/share/doc/freebsd
tijdens de
eerste installatie van het systeem. De documentatie kan ook op elk
later tijdstip worden geïnstalleerd door pakketten te gebruiken
zoals beschreven in Paragraaf 24.4.6.2, “Documentatiepakketten gebruiken”. De
lokaal geïnstalleerde documentatie kan in een browser bekeken
worden door de volgende URLs te gebruiken:
De nieuwste versies van deze documenten zijn altijd te
vinden op http://www.FreeBSD.org/
.
FreeBSD heeft een tekstgebaseerd, gebruikersvriendelijk
installatieprogramma. FreeBSD 9.0-RELEASE en later gebruiken het
installatieprogramma bsdinstall, uitgaven
eerder dan 9.0-RELEASE gebruiken sysinstall
voor de installatie. Dit hoofdstuk beschrijft het gebruikt van
sysinstall om FreeBSD te installeren. Het gebruik
van bsdinstall
wordt behandeld in Hoofdstuk 3, FreeBSD 9.X
en nieuwer installeren.
Na het lezen van dit hoofdstuk weet de lezer:
Hoe FreeBSD installatieschijven gemaakt kunnen worden;
Hoe FreeBSD harde schijven benoemt en onderverdeelt;
Hoe sysinstall gestart kan worden;
Welke vragen sysinstall stelt, wat ze betekenen en hoe er geantwoord kan worden.
Veronderstelde voorkennis:
De ondersteunde hardwarelijst doornemen van de versie van FreeBSD die geïnstalleerd gaat worden op aanwezigheid van de beschikbare hardware.
In zijn algemeenheid zijn deze installatie-instructies geschreven voor computers met een i386™ architectuur (“PC compatible”). Waar van toepassing worden instructies voor andere platformen gegeven. Deze handleiding is zoveel mogelijk bijgewerkt, maar toch kunnen er verschillen optreden tussen de installatieprocedure en deze tekst. Er wordt aangeraden dit hoofdstuk te beschouwen als een algemene richtlijn en niet als een letterlijke handleiding voor installatie.
De minimale configuratie om FreeBSD te installeren varieert met de versie van FreeBSD en de hardware-architectuur.
Een samenvatting van deze informatie wordt in de volgende secties gegeven. Afhankelijk van de methode die u kiest om FreeBSD te installeren, heeft u misschien ook een floppydrive, een ondersteunde CDROM drive, en in sommige gevallen een netwerkadapter nodig. Dit zal worden behandeld door het Paragraaf 2.3.7, “Opstartmedia aanmaken”.
Zowel FreeBSD/i386 en FreeBSD/pc98 hebben een 486 of betere processor en tenminste 24 MB aan RAM nodig. U zult tenminste 150 MB aan vrije hardeschijfruimte nodig hebben voor de meest minimale installatie.
In het geval van oude configuraties is het verkrijgen van meer RAM en meer hardeschijfruimte meestal belangrijker dan het verkrijgen van een snellere processor.
Er zijn twee klassen processoren die FreeBSD/amd64 kunnen draaien. De eerste zijn AMD64 processoren, inclusief de AMD Athlon™64, AMD Athlon™64-FX, AMD Opteron™ of betere processoren.
De tweede klasse van processoren die FreeBSD/amd64 kan gebruiken omvat degenen die de Intel® EM64T architectuur gebruiken. Voorbeelden van deze processoren omvatten de Intel® Core™ 2 Duo, Quad, en Extreme processorfamilies en de Intel® Xeon™ 3000, 5000, en 7000 rijen van processoren.
Indien u een machine heeft die gebaseerd is op een nVidia nForce3 Pro-150, moet u de BIOS-setup gebruiken om IO APIC uit te zetten. Indien u geen optie heeft om dit te doen, moet u waarschijnlijk in plaats hiervan ACPI uitzetten. Er zitten bugs in de Pro-150 chipset waarvoor we nog geen oplossing hebben gevonden.
Om FreeBSD/sparc64 te installeren heeft u een ondersteund platform nodig (zie Paragraaf 2.2.2, “Ondersteunde hardware”).
U heeft een toegewijde schijf nodig voor FreeBSD/sparc64. Het is momenteel niet mogelijk om een schijf met een ander besturingssysteem te delen.
Een lijst van ondersteunde hardware wordt geleverd bij elke
uitgave van FreeBSD in de FreeBSD Hardware Notes. Dit document
kan normaliter worden gevonden in een bestand genaamd
HARDWARE.TXT
, in de bovenste map van een
CDROM- of FTP-distributie of in het documentatiemenu van
sysinstall. Het somt, voor een
gegeven architectuur, op welke hardware-apparaten door welke
uitgave van FreeBSD worden ondersteund. Kopiën van de lijst
van ondersteunde hardware voor verschillende uitgaven en
architecturen kunnen ook gevonden worden op de Uitgave
Informatie pagina van de FreeBSD website.
Probeer een computer te inventariseren voordat FreeBSD wordt geïnstalleerd. De FreeBSD installatieroutines geven een overzicht van alle componenten (harde schijven, netwerkkaarten, CD-ROM-spelers, enzovoort) met hun typenummer en fabrikant. FreeBSD probeert ook de juiste instellingen te achterhalen, zoals IRQ en IO-poort gebruik. Vanwege de verscheidenheid aan PC-hardware verloopt dit niet altijd helemaal succesvol en daarom kan het nodig zijn om de gegevens die FreeBSD achterhaalt te verbeteren.
Mocht er al een ander besturingssysteem geïnstalleerd zijn, zoals Windows® of Linux®, dan is het aan te raden de mogelijkheden van dat besturingssysteem te gebruiken om te achterhalen hoe hardware is ingesteld. Als niet volledig bekend is welke instellingen een uitbreidingskaart heeft, dan kan het zijn dat ze op de kaart zelf zijn afgedrukt. Veelvoorkomende IRQ nummers zijn 3, 5 en 7 en IO-poort adressen zijn meestal geschreven als hexadecimale getallen, zoals 0x330.
Er wordt aangeraden deze informatie af te drukken of op te schrijven voordat FreeBSD wordt geïnstalleerd. Het kan handig zijn om een tabel te maken, zoals deze:
Component | IRQ | IO-poort(en) | Opmerkingen |
---|---|---|---|
Eerste harde schijf | N/A | N/A | 40 GB, Seagate, eerste IDE master |
CD-ROM | N/A | N/A | Eerste IDE slave |
Tweede harde schijf | N/A | N/A | 20 GB, IBM, tweede IDE master |
Eerste IDE controller | 14 | 0x1f0 | |
Netwerkkaart | N/A | N/A | Intel® 10/100 |
Modem | N/A | N/A | 3Com® 56K faxmodem, op COM1 |
… |
Nadat de inventarisatie van de componenten in uw computer voltooid is, dient u te controleren of ze aan de hardware-eisen van de uitgave van FreeBSD die u wilt installeren voldoen.
Als de computer waarop FreeBSD geïnstalleerd gaat worden waardevolle gegevens bevat, dan dient er een back-up te zijn en dient deze back-up getest te zijn voordat FreeBSD wordt geïnstalleerd. De FreeBSD installatieprocedure vraagt om bevestiging voordat er naar de schijven geschreven wordt, maar als dat eenmaal is begonnen kan het niet meer teruggedraaid worden.
Als de hele harde schijf voor FreeBSD beschikbaar is, dan hoeft op dit punt verder niets gedaan te worden. Ga verder naar de volgende sectie.
Als FreeBSD echter naast een ander besturingssysteem op een computer komt, dan moet basaal bekend zijn hoe gegevens op schrijven worden opgeslagen en wat dat voor consequenties heeft.
Een PC schijf kan worden onderverdeeld in aparte stukken.
Deze stukken heten partities.
Aangezien FreeBSD intern ook partities heeft, kan de naamgeving
snel verwarrend worden, daarom wordt naar deze schijfstukken
verwezen als schijfsnedes of simpelweg snedes (slices) in FreeBSD
zelf. Het FreeBSD gereedschap fdisk
bijvoorbeeld, dat met PC diskpartities werkt, verwijst naar
snedes in plaats van partities. In het ontwerp van de PC is
opgenomen dat een schijf slechts vier partities kan bevatten.
Deze partities heten de primaire
partities. Om deze beperking te omzeilen is een
nieuwe soort partitie bedacht, de extended
partitie. Een schijf kan slechts
één extended partitie bevatten. Binnen een
extended partitie kunnen speciale partities, genaamd
logische partities, worden aangemaakt.
Elke partitie heeft een
partitie-ID, een getal dat aangeeft
welk soort gegevens er op die partitie staan. FreeBSD-partities
hebben partitie-ID 165
.
In zijn algemeenheid benoemt elk besturingssysteem
partities op zijn eigen manier. Bijvoorbeeld: MS-DOS® en
zijn afgeleiden, zoals Windows®, geven elke primaire en
logische partitie een (station)
letter, beginnend met
C:
.
FreeBSD moet geïnstalleerd worden op een primaire partitie. FreeBSD kan al zijn gegevens, inclusief alle bestanden die zelf zijn gemaakt, op deze partitie opslaan. Als er meerdere schijven zijn, dan kunnen er FreeBSD-partities worden aangemaakt op alle of op sommige schijven. Als FreeBSD wordt geïnstalleerd moet er een partitie beschikbaar zijn. Dit kan een lege partitie zijn die is aangemaakt of het mag een bestaande partitie zijn met gegevens die niet langer bewaard hoeven te blijven.
Als alle partities op alle schijven gebruikt worden, dan
moet er een leeg gemaakt worden voor FreeBSD met de
hulpprogramma's van het andere besturingssysteem dat wordt
gebruikt (bijvoorbeeld fdisk
onder
MS-DOS® of Windows®).
Als er een partitie over is, dan kan die gebruikt worden. Het kan zo zijn dat één of meer van de bestaande partities verkleind moet worden.
Een minimale installatie van FreeBSD heeft 100 MB schijfruimte nodig. Dat is wel een zeer minimale installatie, waarop bijna geen ruimte over is voor eigen bestanden. Een meer realistisch minimum is 250 MB zonder grafische gebruikersomgeving en 350 MB of meer als er ook een grafische gebruikersomgeving moet draaien. Als er ook nog gebruikt gemaakt wordt van een heleboel programma's van derde partijen dan is nog meer ruimte nodig.
Met commerciële software zoals PartitionMagic®, of gratis software zoals GPartEd, kunnen partities van grootte gewijzigd worden om ruimte te maken voor FreeBSD. Van zowel PartitionMagic® als GPartEd is bekend dat ze met NTFS kunnen werken. GPartEd is beschikbaar op een aantal Live CD Linux-distributies, zoals SystemRescueCD.
Er zijn problemen gemeld met het veranderen van de grootte van Microsoft® Vista-partities. Het beschikbaar hebben van een Vista installatie-CDROM tijdens het pogen van zo'n bewerking is aanbevolen. Zoals met al zulke schijfonderhoudtaken is een recente verzameling back-ups ook sterk aangeraden.
Verkeerd gebruik van deze programma's kan gegevens van een schijf verwijderen. Er dient een goede, werkende back-up te zijn voordat deze programma's gebruikt worden.
Stel er is al een computer met een enkele 4 GB
harde schijf waarop een versie van Windows® is
geïnstalleerd en de schijf is verdeeld in twee
schijfstations, C:
en
D:
, van elk 2 GB. Er staat
1 GB aan gegevens op C:
en
0.5 GB aan gegevens op
D:
.
Dit betekent dat de harde schijf twee partities heeft,
één voor elke letter. Alle gegevens op
D:
kunnen gekopieerd worden naar
C:
, waardoor de tweede partitie
beschikbaar komt voor FreeBSD.
Stel er is een computer met een enkele 4 GB harde
schijf waarop een versie van Windows® is
geïnstalleerd. Bij het installeren van Windows® is
een grote partitie gemaakt, station
C:
van 4 GB. Er is
1.5 GB in gebruik en voor FreeBSD is 2 GB
schijfruimte wenselijk.
Voor een installatie van FreeBSD is één van onderstaande opties de oplossing:
Maak een back-up van de Windows® gegevens en installeer Windows® opnieuw, waarbij een partitie van 2 GB wordt aanmaakt bij het installeren.
Gebruik één van de bovengenoemde programma's zoals PartitionMagic® om de Windows®-partitie te verkleinen.
Als bij de installatie van FreeBSD gebruik gemaakt wordt van een netwerk (bijvoorbeeld bij een installatie vanaf een FTP site of een NFS server), dan moeten de netwerkinstellingen bekend zijn. Deze informatie wordt gevraagd tijdens het installeren, zodat FreeBSD contact kan maken met het netwerk om de installatie te voltooien.
Als er contact gemaakt wordt met een Ethernet netwerk of een Internetverbinding met een Ethernet netwerkkaart via de kabel of DSL, dan is de volgende informatie nodig:
IP-adres
IP-adres van de default gateway
Hostnaam
IP-adressen van de DNS server(s)
Subnetmasker
Als deze informatie niet bekend is, dan kan deze meestal nagevraagd worden bij de systeembeheerder of service provider. Het kan zijn dat zij aangeven dat één en ander automatisch wordt toegekend door middel van DHCP. Het is van belang hier een notitie van te maken.
Ook door middel van inbellen bij een Internet service provider met een gewoon modem kan FreeBSD geïnstalleerd worden via Internet, het duurt alleen erg lang.
Dan is nodig:
Het inbelnummer van een ISP
De COM: poort waaraan het modem zit
Gebruikersnaam en wachtwoord bij de ISP
Hoewel het FreeBSD project er naar streeft om elke versie van FreeBSD zo stabiel mogelijk te laten zijn, kan het voorkomen dat er foutjes in het systeem sluipen. Heel af en toe beïnvloeden deze foutjes de installatieprocedure. Als ze ontdekt en opgelost zijn worden ze beschreven in de FreeBSD Errata op de FreeBSD website. Het is verstandig voor een installatie te controleren of er errata zijn om er zeker van te zijn dat er geen obstakels zijn.
Informatie over alle uitgaven, inclusief de errata staan in de uitgave-informatie op de FreeBSD website.
De FreeBSD installatieprocedure kan FreeBSD installeren vanaf één van de volgende plaatsen:
Cd-rom of DVD
Een USB-geheugenstick
Een MS-DOS® partitie op dezelfde computer
SCSI of QIC tape
Diskettestation
FTP site, indien noodzakelijk door een firewall of via een HTTP proxy
NFS server
Parallelle of seriële verbinding
Als FreeBSD gekocht is op CD of DVD dan is alles wat nodig is aanwezig om door te gaan naar Paragraaf 2.3.7, “Opstartmedia aanmaken”.
Als de installatiebestanden nog niet beschikbaar zijn wordt in Paragraaf 2.13, “Aangepaste installatiemedia maken” uitgelegd hoe de installatie via bovenstaande methoden voorbereid kan worden. Nadat de installatiebestanden beschikbaar zijn kunnen de voorbereidingen voor de installatie verdergaan in Paragraaf 2.3.7, “Opstartmedia aanmaken”.
De FreeBSD installatieprocedure begint met het opstarten van een computer met het FreeBSD installatieprogramma. Dit programma wordt niet uitgevoerd vanuit een ander besturingssysteem. Normaliter start een computer op met het besturingssysteem dat is geïnstalleerd op een harde schijf, maar hij kan ook ingesteld worden om op te starten van een “bootable” diskette. De meeste hedendaagse computers kunnen ook opstarten van een CD-ROM in het CD-ROM station of van een USB-schijf.
Als FreeBSD op CD-ROM of DVD beschikbaar is (gekocht of zelf gebrand) en een computer kan opstarten van een CD-ROM of DVD (meestal een BIOS optie genaamd “Boot Order” of iets dergelijks), dan is het doorwerken van deze sectie niet nodig. De FreeBSD CD-ROM en DVD images zijn bootable en kunnen zonder verdere voorbereidingen gebruikt worden om FreeBSD te installeren.
Om een opstartbare geheugenstick te maken kunnen deze stappen gevolgd worden:
Bemachtig een image voor de geheugenstick
Images voor de geheugenstick voor
FreeBSD 8.X
en ouder kunnen worden
gedownload vanuit de map ISO-IMAGES
van
ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/arch/ISO-IMAGES/versie/FreeBSD-versie-RELEASE-arch-memstick.img
.
Vervang arch
en
versie
door de architectuur en de versie
die u wilt installeren. De geheugenstick-images voor
FreeBSD/i386 10.3-RELEASE zijn beschikbaar op
ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/ISO-IMAGES/10.3/FreeBSD-10.3-RELEASE-i386-memstick.img
.
Voor FreeBSD 9.0-RELEASE en nieuwere uitgaven wordt een
ander pad voor de mappen gebruikt. Details over het downloaden en
installeren van FreeBSD 9.0-RELEASE enn later wordt behandeld in
Hoofdstuk 3, FreeBSD 9.X
en nieuwer installeren.
Het beeldbestand van de geheugenstick heeft een extensie
.img
. De map
ISO-IMAGES
bevat een aantal
verschillende images, en degene die u nodig heeft zal afhangen van
de FreeBSD-versie die u installeert, en in sommige gevallen van de
hardware waarop u het installeert.
Maak voordat u verder gaat een back-up van de gegevens die nu op uw USB-stick staan, aangezien deze procedure ze zal wissen.
Schrijf het beeldbestand naar de geheugenstick
Het onderstaande voorbeeld vermeldt
/dev/da0
als het
doelapparaat van waar af u zal opstarten. Zorg er voor dat u
het juiste apparaat als het uitvoerapparaat opgeeft om te
voorkomen dat u uw bestaande gegevens vernietigt.
Het beeldbestand schrijven door middel van dd(1)
Het .img
-bestand is
geen gewoon bestand dat u naar de
geheugenstick kopieert. Het is een afbeelding van de complete
inhoud van de stick. Dit betekent dat u de bestanden
niet op de gewone manier van de ene schijf
naar de andere kan kopieëren. U dient in plaats hiervan
dd(1) gebruiken om de afbeelding direct naar de schijf te
schrijven:
#
dd if=FreeBSD-10.3-RELEASE-i386-memstick.img of=/dev/da0 bs=64k
Als een Operation not
permitted
wordt weergegeven, controleer dan
dat het apparaat niet in gebruik is en is aangekoppeld,
eventueel automatisch door een gereedschap met goede intenties.
Probeer het vervolgens opnieuw.
Zorg ervoor dat de juiste schijf letter gebruikt wordt als doelschijf, anders kan het voorkomen dat er bestaande data wordt overschreven.
Image Writer for Windows verkrijgen
Image Writer for Windows
is een gratis applicatie die een beeld bestand correct naar
een geheugen-stick kan schrijven. Download deze van
https://launchpad.net/win32-image-writer/
en pak deze uit in een map.
Writing The Image with Image Writer
Dubbelklik op het Win23DiskImager
icoon om het programma te starten. Controleer of de
schijfletter welke getoond is onder
Device
de schijf is van de
geheugen-stick. Klik op het map icoon
en selecteer het bestand welke naar de geheugen-stick
geschreven moet worden. Klik op
om het bestand te accepteren. Controleer of alles correct is
en dat er geen bestanden en dergelijke open zijn in andere
vensters. Klik als laatste op
om het bestand te schrijven naar de schijf.
Om opstartdiskettes te maken kunnen de volgende stappen gevolgd worden:
Bemachtig de images voor opstartdiskettes
Merk op dat met ingang van
FreeBSD 8.X
floppy-images niet langer
beschikbaar zijn. Zie de bovenstaande instructies voor hoe FreeBSD
met behulp van een USB-geheugenstick te installeren, of gebruik
een CD-ROM of DVD.
De opstartschijven zijn beschikbaar op de
installatiemedia in de map floppies/
en kunnen ook gedownload worden uit de map floppies,
ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/arch/versie-RELEASE/floppies/
.
Vervang arch
en
versie
door de architectuur en het versienummer dat
geïnstalleerd moet worden. De images voor
bootdiskettes voor bijvoorbeeld
FreeBSD/i386 10.3-RELEASE zijn
beschikbaar op ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/10.3-RELEASE/floppies/
.
De diskette-images hebben de extensie
.flp
. De map
floppies/
bevat een aantal images en
het hangt af van de gewenste FreeBSD versie, en in sommige
gevallen ook van de hardware, welke images nodig zijn.
In de meeste gevallen zijn er vier floppies nodig,
boot.flp
,
kern1.flp
,
kern2.flp
, en
kern3.flp
. In dezelfde map staat
README.TXT
voor de laatste informatie
over de diskette-images.
Het FTP-programma moet ingesteld staan in binary modus om de disk-images te downloaden. Sommige webbrowsers blijken de text (of ASCII) modus te gebruiken en dan kan er niet van de diskettes opgestart worden.
Maak de diskettes aan
Per gedownload image wordt een diskette aangemaakt.
Vanzelfsprekend moeten deze diskettes vrij zijn van fouten.
Het gemakkelijkst is dit te testen door de diskettes
te formatteren. Vanaf de fabriek geformatteerde floppies
kunnen niet vertrouwd worden. Het programma format in
Windows® meldt niet of er bad blocks
zijn, het markeert ze gewoon als “bad” en
negeert ze. Het wordt geadviseerd schone, nieuwe floppies
te gebruiken als op deze manier wordt
geïnstalleerd.
Als bij het installeren van FreeBSD het installatieprogramma vastloopt, blijft hangen of zich op een andere manier vreemd gedraagt, dan ligt dat meestal aan de floppies. Probeer dan de diskette-images op nieuwe schijven te schrijven en probeer het opnieuw.
Schrijf de imagebestanden op diskettes
De .flp
-bestanden zijn
geen gewone bestanden die naar een
diskette te kopiëren zijn. Het zijn images van de
complete inhoud van een diskette. Dit betekent dat ze
niet eenvoudigweg gekopieerd kunnen
worden van de ene schijf naar de andere. In plaats daarvan
moet speciale software gebruikt worden om de images
rechtstreeks op de diskettes te schrijven.
Als de diskettes aanmaakt worden op een computer met
MS-DOS® / Windows®, dan levert het FreeBSD project de software
fdimage
.
Als de floppies van de CD-ROM worden gebruikt en het
CD-ROM station is E:
, dan kan dit
als volgt:
E:\>
tools\fdimage floppies\boot.flp A:
Herhaal dit commando voor elk
.flp
-bestand, waarbij steeds een
nieuwe diskette wordt gebruikt. Merk elke diskette met de
naam van het bestand dat erop wordt gekopieerd. Pas de
opdrachtregel steeds aan, afhankelijk van waar de
.flp
-bestanden staan. Als er geen
CD-ROM beschikbaar is dan kan fdimage
gedownload worden vanuit de map
tools
op
de FreeBSD FTP site.
Als de diskettes worden aanmaakt op een UNIX® systeem (zoals een ander FreeBSD systeem) dan kan dd(1) gebruikt worden om de imagebestanden naar diskette te kopiëren. Onder FreeBSD:
#
dd if=boot.flp of=/dev/fd0
Onder FreeBSD verwijst /dev/fd0
naar het eerste diskettestation
(de A:
-schijf).
/dev/fd1
zou de
B:
-schijf zijn enzovoorts. Andere
UNIX®-varianten kunnen andere namen hebben voor de
diskettestations. Meer informatie staat in de
documentatie van ieder systeem .
Het installeren van FreeBSD kan nu beginnen.
De installatie maakt geen wijzigingen op schijven totdat het volgende bericht verschijnt:
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!
De installatie kan worden beëindigd op elk moment voor deze laatste waarschuwing zonder dat de inhoud van harde schijven wordt gewijzigd. Als de angst bestaat dat er iets verkeerd is ingesteld, dan kan op dat moment gewoon de computer uitgezet worden zonder dat er schade optreedt.
Begin met een computer die uit staat.
Zet de computer aan. Als hij aangaat laat hij een optie zien om het systeeminstelmenu, of BIOS, te bereiken, gewoonlijk via F2, F10, Del, of Alt+S. Gebruik de toets die op het scherm wordt aangegeven. In sommige gevallen laat de computer een plaatje zien terwijl hij opstart. Gewoonlijk verdwijnt dit plaatje door het intypen van Esc zodat eventuele verborgen berichten zichtbaar worden.
Zoek de instelling die bepaalt vanaf welk medium de
computer opstart. Dit wordt meestal aangeduid met
“Boot Order” en laat een lijst met media
zien, zoals Floppy
,
CD-ROM
,
eerste harde schijf
, enzovoorts.
Als u van de CD-ROM opstart, zorg er dan voor dat de CD-ROM geselecteerd is. Als wordt opstart van een USB-schijf of een diskette, stel dat dan in. Raadpleeg in geval van twijfel de documentatie van de computer en/of het moederbord.
Maak de instellingen, bewaar de veranderingen en sluit het instelprogramma af. De computer moet dan opnieuw starten.
Als u een “opstartbare” USB-stick heeft klaargemaakt zoals beschreven in Paragraaf 2.3.7, “Opstartmedia aanmaken”, steek dan de USB-stick in voordat u de computer aanzet.
Bij opstarten vanaf CD moet na het aanzetten van de computer zo snel mogelijk de CD-ROM ingestoken worden.
Voor FreeBSD 7.X
zijn
installatiediskettes beschikbaar en ze kunnen worden
klaargemaakt zoals beschreven in Paragraaf 2.3.7, “Opstartmedia aanmaken”. Eén van deze is de
eerste opstartschijf: boot.flp
. Plaats
deze schijf in uw diskettestation en start de computer
op.
Als de computer opstart zoals altijd en met het huidige besturingssysteem begint, dan kan dat om de volgende redenen zijn:
De opstartschijven waren niet vroeg genoeg in de computer gedaan om ervan op te starten. Laat ze er dan inzitten en probeer de computer te herstarten.
De gemaakte wijzigingen in de BIOS zijn niet goed doorgekomen. Doe dat dan nog een keer totdat de juiste instelling gevonden is.
De BIOS ondersteunt het opstarten van het gekozen medium niet.
FreeBSD start nu op. Bij opstarten vanaf CD-ROM is iets als het volgende op het scherm te zien (versie-informatie weggelaten):
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] \
Bij opstarten vanaf diskette is iets als het volgende op het scherm te zien (versie-informatie weggelaten):
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...
Volg de instructies op en haal de diskette met
boot.flp
eruit, stop de diskette met
kern1.flp
in het station en druk op
Enter. Start op vanaf de eerste diskette
en geef volgende diskettes in als daarom wordt gevraagd.
Of nu wordt opstart van CD-ROM, USB-stick of diskette, de opstartprocedure komt op een gegeven moment bij het bootloader-menu van FreeBSD:
Wacht 10 seconden of druk op Enter.
De meeste SPARC64®-systemen zijn ingesteld om automatisch vanaf schijf op te starten. Om FreeBSD te installeren dient u over het netwerk of vanaf een CDROM op te starten, waarvoor u in de PROM (OpenFirmware) dient te breken.
Start het systeem opnieuw op, en wacht totdat te opstartboodschappen verschijnen om dit te doen. Het hangt af van het model, maar het zou er ongeveer zo uit moeten zien:
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.
Als uw systeem vanaf hier verder gaat met opstarten vanaf
schijf, dient u L1+A of Stop+A op het toetsenbord in te drukken, of een
BREAK
over de seriële console te
versturen (door bijvoorbeeld ~#
in
tip(1) of cu(1) te gebruiken) om bij de PROM-prompt
te komen. Het ziet er als volgt uit:
ok
![]()
ok {0}
![]()
Deze prompt wordt gebruikt op systemen met slechts één CPU.
Deze prompt wordt op SMP-systemen gebruikt, het cijfer geeft het aantal actieve CPUs aan.
Stop hier de CDROM in uw drive, en typ op de PROM-prompt
boot cdrom
.
De laatste paar honderd regels die op het scherm verschenen zijn bewaard en kunnen bekeken worden.
Druk op Scroll Lock om ze te bekijken. Hiermee wordt de scrollmodus ingeschakeld. Gebruik de pijltjestoetsen en PageUp en PageDown om de resultaten te bekijken. Druk weer op Scroll Lock om de scrollmodus uit te schakelen.
Dit kan nu gedaan worden om de tekst te bekijken die over het scherm rolde terwijl de kernel de hardware onderzocht. Er is tekst te zoals in Afbeelding 2.2, “Voorbeeld resultaten hardware-onderzoek”, maar de exacte tekst is anders, afhankelijk van de componenten in een computer.
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
Controleer de resultaten van het hardware-onderzoek
nauwgezet om er zeker van te zijn dat FreeBSD alle
componenten gevonden heeft die verwacht worden. Als een
component niet is gevonden, dan wordt die niet genoemd. Een
eigen kernel staat u toe om
apparaten te ondersteunen die niet in de
GENERIC
kernel zitten, zoals
geluidskaarten.
Na de procedure voor het opsporen van apparaten Afbeelding 2.3, “Landmenu kiezen”. Gebruik de pijltoetsen om een land, regio, of groep te kiezen. Druk daarna op Enter, dit stelt gemakkelijk uw land in.
Als u Enter.
als land heeft geselecteerd, dan zal de standaard Amerikaanse toetsenbordindeling worden gebruikt, als een ander land gekozen is, zal het volgende menu worden afgebeeld. Gebruik de pijltoetsen om de juiste toetsenbordindeling te kiezen en druk opNadat het juiste land is gekozen zal sysinstall het hoofd menu tonen.
Het hulpprogramma sysinstall is het installatieprogramma voor FreeBSD. Het is tekstgebaseerd en is onderverdeeld in een aantal menu's en schermen die gebruikt kunnen worden om de installatieprocedure in te stellen en te beheren.
Het menu van sysinstall wordt bestuurd met de pijltjestoetsen, Enter, Tab, Space en andere toetsen. Een gedetailleerde beschrijving van de gebruikte toetsen en wat ze doen is opgenomen in de gebruikersinformatie voor sysinstall.
Selecteer de optie Afbeelding 2.5, “Usage selecteren in het sysinstall hoofdmenu”, en druk op Enter.
om deze informatie te lezen. Selecteer de knop , zoals inDe instructies om het menusysteem te gebruiken worden getoond. Na het lezen kan met Enter het hoofdmenu weer getoond worden.
Kies met de pijltjestoetsen in het hoofdmenu Enter.
en druk opHet is belangrijk om de documentatie te lezen.
Selecteer een document met de pijltjestoetsen en druk op Enter om het te bekijken. Na het lezen wordt met Enter teruggekeerd naar het menu Documentation.
Selecteer Enter om het menu Documentation te verlaten.
met de pijltjestoetsen en druk opKies met de pijltjestoetsen Enter om de toetsenbordinstellingen te wijzigen. Dit is alleen nodig als geen standaard of VS-toetsenbord wordt gebruikt.
in het menu en druk opEen andere toetsenbordindeling is te kiezen door het menu-item te selecteren met omhoog/omlaag en dan op Space te drukken. Nog een keer Space deselecteert het item. Nadat de keuze is gemaakt kan met de pijltjestoetsen gekozen worden en op Enter gedrukt worden.
In de schermafbeelding wordt maar een deel van de lijst getoond. Selecteer Tab te drukken. Dan wordt de standaard toetsenbordindeling gebruikt en het programma gaat terug naar het hoofdmenu voor de installatie.
door opKies Enter.
en druk opDe standaardwaarden zijn in orde voor de meeste gebruikers
en hoeven meestal niet gewijzigd te worden. De
release name
hangt af van de versie die
geïnstalleerd wordt.
Er staat een beschrijving van het geselecteerde item aan de onderkant van het scherm, geaccentueerd in blauw. Eén van de opties is
waarmee opnieuw de beginwaarden worden ingesteld.Druk op F1 om de helptekst van de diverse opties te bekijken.
Druk op Q om terug te gaan naar het hoofdmenu van de installatie.
Als eerste moet schijfruimte aan FreeBSD worden toegewezen en die ruimte dient gemerkt te worden zodat sysinstall deze kan voorbereiden.Om dit te kunnen doen is kennis nodig over hoe FreeBSD informatie op schijven verwacht aan te treffen.
Voordat FreeBSD op een systeem geïnstalleerd en ingesteld kan worden is er een belangrijk onderwerp waarover kennis nodig is, met name als er meerdere harde schijven zijn.
Op een PC met een BIOS-afhankelijk besturingssysteem zoals MS-DOS® en Microsoft® Windows®, kan het BIOS de normale schijfvolgorde abstraheren en volgt het besturingssysteem die wijzigingen. Dit stelt de gebruiker in staat op te starten van een andere schijf dan de zogenaamde “primary master”. Dit is erg handig voor gebruikers die er achter zijn gekomen dat de gemakkelijkste en goedkoopste manier om een systeemback-up te maken het plaatsen van een identieke tweede harde schijf is en het daarop regelmatig kopieëren van de inhoud van de eerste schijf met Ghost of XCOPY. Als de eerste schijf weigert of aangevallen is door een virus of vervuild is door een fout in het besturingssysteem, dan kan eenvoudig overgeschakeld worden door in het BIOS de twee schijven logisch te wisselen. Dat is als het verwisselen van de kabels, maar dan zonder de systeemkast open te maken.
Duurdere systemen met SCSI controllers hebben vaak BIOS-uitbreidingen die het mogelijk maken SCSI-schijven op soortgelijke wijze in te delen voor maximaal zeven schijven.
Een gebruiker die gewend is hiervan gebruik te maken kan verrast worden als de resultaten met FreeBSD niet overeenkomen met de verwachtingen. FreeBSD maakt geen gebruik van het BIOS en heeft dus geen kennis van “logical BIOS drive mapping”. Dit kan leiden tot verbazingwekkende situaties, met name als de schijven fysiek gelijk zijn in geometrie en ook de data klonen van elkaar zijn.
Bij het gebruik van FreeBSD moet altijd de natuurlijke schijfnummering hersteld worden voordat een installatie wordt gestart en die moet ook zo blijven. Als de schijven gewisseld moeten worden, dan moet dat op de moeilijke manier: maak de systeemkast open en verplaats jumpers en kabels.
Wijzigingen die op dit punt gemaakt worden, worden niet weggeschreven naar de schijf. Als er een fout gemaakt is kan opnieuw begonnen worden door via de menu's sysinstall te verlaten en het nog een keer te proberen of door U te toetsen kan de optie gebruikt worden. Als alles te verwarrend is kan zelfs de computer uitgezet worden.
Na de keuze een standaardinstallatie te beginnen toont sysinstall het volgende bericht:
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 ]
Toets Enter. Er wordt dan een lijst
getoond met alle harde schijven die de kernel gevonden heeft
bij het onderzoeken van de hardware. Afbeelding 2.13, “Schijf kiezen voor FDisk” toont een voorbeeld van
een systeem met twee IDE-schijven. Ze heten
ad0
en
ad2
.
Waarom staat ad1
niet in de
lijst?
Stel er zitten twee IDE-schijven in een systeem, de eerste
als master op de eerste IDE controller en de andere als master
op de tweede IDE controller. Als FreeBSD deze zou nummeren zoals
ze worden aangetroffen, als ad0
en
ad1
, dan zou het allemaal
werken.
Maar als dan een derde schijf wordt toegevoegd, als slave
op de eerste IDE controller, dan wordt die
ad1
en de vorige
ad1
wordt dan
ad2
. Omdat apparaatnamen
(zoals ad1s1a
) in gebruik zijn om
bestandssystemen te vinden, lijken bestandssystemen niet meer
in orde zijn en moeten de FreeBSD instellingen gewijzigd
worden.
Om dit te omzeilen kan de kernel zo ingesteld worden
dat de IDE schijven namen krijgen gebaseerd op hun lokatie en
niet in de volgorde waarin ze gevonden worden. Met dat
schema wordt de masterschijf op de tweede IDE controller
altijd ad2
, ook
als er geen ad0
of
ad1
apparaten zijn.
Dit is de standaardinstelling van de FreeBSD kernel, vandaar
dat dit scherm ad0
en
ad2
laat zien. De machine waarop
deze schermafdruk gemaakt is had IDE schijven op beide
masterkanalen van de IDE controllers en geen schijven op de
slavekanalen.
Nu kan de schijf waarop de FreeBSD installatie moet komen
worden geselecteerd. Druk daarna op FDisk start op met een scherm
vergelijkbaar met Afbeelding 2.14, “Typische fdisk
-partities vóór
het wijzigen”.
Het scherm van FDisk bestaat uit drie delen.
Het eerste deel, de eerste twee regels van het scherm, toont de details zien van de selecteerde schijf, inclusief de FreeBSD naam, de schijfgeometrie en de totale grootte van de schijf.
Het tweede deel laat de slices zien die momenteel op de
schijf aanwezig zijn, waar ze beginnen en eindigen, hoe groot
ze zijn en de namen die FreeBSD ze geeft, hun omschrijving en
subtype. In dit voorbeeld zijn twee kleine ongebruikte delen
te zien, die een afspiegeling zijn van de schijfindeling op het
systeem. Het laat ook een grote FAT-slice
zien, die bijna zeker zichtbaar is als
C:
in MS-DOS® of Windows®, en een
extended deel, dat de andere schijfletters kan bevatten voor
MS-DOS® of Windows®.
Het derde deel toont de commando's zien die beschikbaar zijn in FDisk.
De volgende stap hangt af van hoe de schijf moet worden opgedeeld.
Als de hele schijf voor FreeBSD wordt gebruikt (waardoor
alle andere data op die schijf verwijderd wordt als later in de
procedure met sysinstall wordt
bevestigd dat de installatie verder kan gaan) toets dan
A, de optie . De bestaande delen worden verwijderd en
daarvoor in de plaats komt een klein gebied, dat als
unused
wordt aangegeven (alweer een
afspiegeling van de PC schijfopmaak) en dan een groot deel
voor FreeBSD. Hierna dient het nieuwe FreeBSD-deel met de
pijltjestoetsen geselecteerd te worden en daarna
kan S ingetoetst worden om het deel
bootable
te maken. Het scherm ziet er dan
ongeveer uit als in Afbeelding 2.15, “FDisk partitie voor een hele schijf”. Let op
de A
in de kolom Flags
.
Deze geeft aan dat dit deel actief is en
er van opgestart wordt.
Als er ruimte voor FreeBSD gemaakt wordt door een bestaande slice te verwijderen, dan moet dat deel geselecteerd worden met de pijltjestoetsen en kan vervolgens op D gedrukt worden. Daarna kan C getoetst worden en wordt er gevraagd hoe groot het deel moet zijn. Geef het gewenste getal in en druk op Enter. De standaardwaarde in dit invoervak is het grootst mogelijke deel dat gemaakt kan worden. Dat kan de grootst mogelijke aaneengesloten ruimte op de harde schijf zijn of de hele schijf.
Als er al ruimte gemaakt is voor FreeBSD (bijvoorbeeld met een programma als PartitionMagic®), dan kan de optie C gebruikt worden om een nieuw deel te maken. Opnieuw komt de vraag naar de grootte van het gebied dat aangemaakt moet worden.
Toets na afronding Q. De wijzigingen worden bewaard in sysinstall, maar worden nog niet op de schijf weggeschreven.
Hierna is het mogelijk een bootmanager te installeren. Het installeren van de FreeBSD bootmanager is verstandig als:
Er meer dan één schijf in een systeem zit en FreeBSD op een andere dan de eerste schijf wordt geïnstalleerd;
FreeBSD geïnstalleerd wordt naast een ander besturingssysteem op dezelfde schijf en er bij het opstarten van de computer gekozen moet worden of FreeBSD of het andere besturingssysteem wordt gestart.
Als FreeBSD het enige besturingssysteem op een computer wordt en het is geïnstalleerd op de eerste harde schijf, dan volstaat de
bootmanager. Kies als een bootmanager van een derde partij wordt gebruikt die in staat is om FreeBSD te starten.Maak de keuze en druk op Enter.
Het hulpscherm, bereikbaar via F1, beschrijft de problemen die mogelijk zijn als de harde schijf voor meerdere besturingssystemen gebruikt gaat worden.
Als er meer dan één schijf is komt het programma terug in het scherm “Select Drives” na het installeren van de bootmanager. Als FreeBSD wordt geïnstalleerd op meerdere schijven, selecteer dan een andere schijf en herhaal het indelen van de schijf met FDisk.
Als FreeBSD wordt geïnstalleerd op een andere dan de eerste schijf, dan moet de FreeBSD bootmanager geïnstalleerd worden op beide schijven.
Met Tab wordt gewisseld tussen de laatst geselecteerde schijf, en .
Druk één keer op Tab om actief te maken en druk dan op Enter om door te gaan met de installatie.
Nu moeten er slices in elke zojuist aangemaakte partitie
aangemaakt worden. Onthoud dat elke partitie een letter heeft
van a
tot en met h
en dat
partities b
, c
en
d
een betekenis hebben die gehonoreerd moet
worden.
Bepaalde programma's hebben voordeel van specifieke partitieschema's, met name als partities worden aanmaakt over meerdere schijven. Maar voor nu, als eerste FreeBSD installatie, is het niet zo van belang hoe de schijf wordt gepartitioneerd. Het is belangrijker dat FreeBSD wordt geïnstalleert en geleerd wordt hoe ermee te werken. FreeBSD kan altijd opnieuw geïnstalleerd worden om een partitieschema te wijzigen als er meer bekendheid is met het besturingssysteem.
Het onderstaande schema heeft vier partities. Eén als swapgebied en drie voor bestandssystemen.
Partitie | Bestandssysteem | Grootte | Omschrijving |
---|---|---|---|
a | / | 1 GB | Dit is het root-bestandssysteem. Elk ander
bestandssyteem wordt ergens in dit systeem aangekoppeld.
1 GB is een redelijke grootte voor dit
bestandssysteem. Er wordt niet al te veel data in
opgeslagen, want een normale FreeBSD installatie slaat
hier ongeveer 128 MB aan gegevens op. De rest van
de ruimte is voor tijdelijke gegevens en laat extra
ruimte over voor het geval nieuwere versies van FreeBSD
meer ruimte nodig hebben in
/ . |
b | N/A | 2-3 x RAM | De swapruimte van een systeem wordt op de
Als er meer dan één schijf in een computer zit, dan kan er op iedere schijf swapruimte gemaakt worden. FreeBSD gebruikt dan elke schijf als swap, wat effectief de snelheid van het swappen verhoogt. Bereken in dat geval de totale hoeveelheid swap die nodig is (bijvoorbeeld 128 MB) en deel dat door het aantal schijven dat aanwezig is (bijvoorbeeld twee schijven) om de hoeveelheid swap per schijf te bepalen, in dit voorbeeld 64 MB swapruimte per schijf. |
e | /var | 512 MB tot 4096 MB | De map /var bevat bestanden
die constant veranderen: logboekbestanden en andere
administratieve bestanden. Veel van deze bestanden
worden intensief gelezen of beschreven gedurende het
dagelijks draaien van FreeBSD. Door deze bestanden op een
apart bestandssysteem te zetten heeft FreeBSD de
mogelijkheid de toegang tot deze bestanden te
optimaliseren, zonder invloed te hebben op bestanden in
andere map die niet zo'n toegangspatroon
hebben. |
f | /usr | Overige schijfruimte (minstens 8 GB) | Alle andere bestanden worden gewoonlijk opgeslagen
in /usr en submappen. |
De bovenstaande waardes dienen als voorbeeld en dienen
alleen door ervaren gebruikers gebruikt te worden. Gebruikers
worden aangeraden om de automatische partitie-indeling genaamd
Auto Defaults
van de partitiebewerker van
FreeBSD te gebruiken.
Als FreeBSD wordt geïnstalleerd op meer dan één schijf dan moeten ook partities aangemaakt worden op de andere slices die zijn ingesteld. De meest eenvoudige manier om dat te doen is het aanmaken van twee partities op elke schijf: een als swap en een voor een bestandssysteem.
Partitie | Bestandssysteem | Grootte | Omschrijving |
---|---|---|---|
b | N/A | Zie omschrijving | Zoals beschreven kan swapruimte over alle schijven
verdeeld worden. Ook al is de a
partitie vrij, de conventie schrijft voor dat de
swapruimte op partitie b
staat. |
e | /diskn | Overige schijfruimte | De overige schijfruimte wordt gebruikt voor
één grote partitie. Dit kan gemakkelijk
op de a -partitie, in plaats van de
e -partitie. De conventie schrijft
echter voor dat partitie a op een
slice is gereserveerd voor het bestandssysteem dat de
root (/ ) van het bestandssysteem
is. Deze conventie hoeft niet gevolgd te worden, maar
sysinstall doet dat wel, dus
als de conventie wordt nageleefd wordt de installatie
iets schoner. Er kan gekozen worden om dit
bestandssysteem waar dan ook te mounten. Dit voorbeeld
suggereert dat het wordt aangekoppeld als
/diskn ,
waarbij n een getal is dat
verandert voor elke schijf. Er kan natuurlijk ook een
ander schema worden aanhouden als dat de voorkeur
heeft. |
Na het kiezen van de partitieopmaak kunnen ze worden aangemaakt met sysinstall. Dan verschijnt het volgende bericht:
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 ]
Druk op Enter om de FreeBSD partitie-editor, Disklabel te starten.
Afbeelding 2.18, “Sysinstall Disklabel Editor” toont het scherm als Disklabel opstart. Het scherm bestaat uit drie delen.
De eerste paar regels tonen de naam van de actieve schijf
en het gebied dat de partities bevat die worden aangemaakt
(op dit punt noemt Disklabel
dit de Partitienaam
in plaats van de
slicenaam). Dit scherm toont ook de hoeveelheid vrije ruimte
in de slice. Dat is de gereserveerde ruimte in de slice die
nog niet aan een partitie is toegewezen.
Het middelste deel toont de partities die aangemaakt zijn, de naam van het bestandssysteem dat elke partitie bevat, de grootte en enkele opties betreffende het aanmaken van het bestandssysteem.
Het onderste deel van het scherm toont de toetsaanslagen die geldig zijn in Disklabel.
Disklabel kan automatisch de partities aanmaken en ze de standaardgrootte geven. De standaardgroottes worden met behulp van een intern algoritme om de partitiegrootte te bepalen gebaseerd op de schijfgrootte berekend. Dit kan door op A te drukken. Dan verschijnt een scherm zoals in Afbeelding 2.19, “Sysinstall Disklabel Editor met standaardwaarden”. Afhankelijk van de grootte van de schrijf die wordt gebruikt zijn de standaardwaarden wel of niet van toepassing. Dit maakt niets uit, omdat de standaardwaarden niet geaccepteerd hoeven te worden.
De standaard partitionering wijst
/tmp
zijn eigen partitie toe en is die
geen onderdeel meer van de partitie
/
. Dit voorkomt het vollopen van de
partitie /
met tijdelijke
bestanden.
Als er gekozen is om niet de standaard partities te gebruiken en ze te vervangen door een eigen indeling, gebruik dan de pijltjestoetsen om de eerste partitie te selecteren en druk dan op D om deze te verwijderen. Herhaal dit om alle aanbevolen partities te verwijderen.
Selecteer het juiste schijfdeel aan de bovenkant van het
scherm om de eerste partitie aan te maken
(a
, gemount als /
– root) en druk op C. Een dialoogscherm
verschijnt met de vraag hoe groot de nieuwe partitie moet zijn
(zoals te zien in Afbeelding 2.20, “Vrije ruimte voor de rootpartitie”). De
grootte kan opgeven worden in schijfblokken of als een getal
gevolgd door M
voor megabytes,
G
voor gigabytes of C
voor cylinders.
De standaardgrootte maakt een partitie aan zo groot als de
rest van het schijfdeel. Als de partitiegroottes worden
gebruikt als beschreven in het eerdere voorbeeld, verwijder dan
het reeds ingevulde getal met Backspace en
type 512M
, zoals te zien in Afbeelding 2.21, “Grootte van de rootpartitie wijzigen”. Druk dan op
.
Als de grootte van een partitie gekozen is, wordt gevraagd
of deze partitie een bestandssysteem of een wisselbestand
(swap
) bevat. Deze dialoog is te zien in
Afbeelding 2.22, “Type van de rootpartitie kiezen”. Deze eerste partitie
bevat een bestandssysteem, dus controleer of
geselecteerd is en druk op
Enter.
Omdat een bestandssysteem wordt aangemaakt moet
disklabel verteld worden waar het
bestandssysteem gemount moet worden. Het dialoogscherm is te
zien in Afbeelding 2.23, “Root mountpunt kiezen”. Het mountpunt
van het root-bestandssysteem is /
, dus
type /
en druk dan op
Enter.
Het scherm wordt dan bijgewerkt met de nieuw aangemaakte
partitie. Deze stappen moeten herhaald worden voor de andere
partities. Als een wisselbestandpartitie wordt aanmaakt, wordt
niet gevraagd naar het mountpunt, want wisselbestanden worden
nooit gemount. Als de laatste partitie is aanmaakt,
/usr
, kan de aangegeven grootte blijven
staan, want dat is de rest van de schijf.
Het uiteindelijke FreeBSD Disklabel Editor scherm kan eruit zien als Afbeelding 2.24, “Sysinstall Disklabel Editor”, maar de waarden kunnen afwijken. Druk op Q om af te sluiten.
De keuze van de distributieset om te installeren hangt af van het gebruiksdoel van een systeem en de beschikbare schijfruimte. De voorgedefiniëerde opties variëren van het installeren van kleinste mogelijke installatie tot “alles”. Nieuwelingen in UNIX® en/of FreeBSD kiezen bijna zeker één van voorgedefinieerde opties. Het aanpassen van de distributieset is typisch iets voor de meer ervaren gebruikers.
Druk op F1 voor meer informatie over de distributiesets en wat ze bevatten. Na het bekijken van de informatie geeft het toetsen van Enter opnieuw het menu Select Distributions weer.
Als een grafische gebruikersinterface gewenst is, dan dient de configuratie van de X-server en het kiezen van een standaard bureaublad na de installatie van FreeBSD te worden uitgevoerd. Meer informatie over het installeren en instellen van een X-server staat beschreven in Hoofdstuk 6, Het X Window systeem.
Xorg is de standaardversie van X11 die wordt geïnstalleerd.
Als het wenselijk is een aangepaste kernel te compileren, kies dan een optie die de broncode bevat. Meer informatie over de redenen om een aangepaste kernel te bouwen en hoe dat moet staat in Hoofdstuk 9, De FreeBSD-kernel instellen.
Vanzelfsprekend is het meest uitgebreide systeem het systeem dat alles omvat. Als er genoeg schijfruimte is, kies dan met de pijltjestoetsen Afbeelding 2.25, “Distributies kiezen” en druk op Enter. Als schijfruimte een zorg is, overweeg dan een optie die meer toegespitst is op de gewenste situatie. De perfecte keuze maken is niet nodig, naderhand kunnen distributies worden toevoegd.
, zoals inNa het kiezen van de gewenste distributie komt de vraag of de FreeBSD Portscollectie geïnstalleerd moet worden. De Portscollectie is een gemakkelijke en handige manier om software te installeren. De Portscollectie bevat niet de broncode die nodig is om de software te compileren. In plaats daarvan is het een verzameling bestanden die het downloaden, compileren en installeren van software automatiseert. In Hoofdstuk 5, Applicaties installeren: pakketten en ports wordt beschreven hoe de Portscollectie gebruikt kan worden.
Het installatieprogramma controleert niet of er genoeg schijfruimte is. Deze optie dient alleen gekozen te worden als er voldoende schijfruimte is. In FreeBSD 11.0 neemt de Portscollectie ongeveer 500 MB schijfruimte in. Het is verstandig om aan te nemen dat in recentere versies van FreeBSD meer ruimte nodig is.
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
Selecteer Enter om verder te gaan. Het menu Choose Distributions wordt opnieuw getoond.
met de pijltjestoetsen om de Portscollectie te installeren of om deze optie over te slaan. Druk opAls alle keuzes gemaakt zijn, selecteer dan Enter om verder te gaan.
met de pijltjestoetsen, zorg ervoor dat actief is en druk opAls wordt geïnstalleerd vanaf een CD-ROM of DVD kies dan met de pijltjestoetsen de optie Enter om verder te gaan.
. Zorg ervoor dat actief is en druk opKies voor andere installatiemethodes de desbetreffende optie en volg de aanwijzingen.
Druk op F1 om de online help voor de installatiemedia te lezen. Druk op Enter om terug te gaan naar het menu mediaselectie.
Er zijn drie manieren van installeren via FTP: active FTP, passive FTP of via een HTTP proxy.
Deze optie zorgt ervoor dat alle FTP acties gebruik maken van de “Active” modus. Dit werkt niet door firewalls, maar werkt wel met oudere FTP-servers die de passieve modus niet ondersteunen. Als een verbinding blijft hangen met de passieve modus probeer dan de actieve modus!
Deze optie geeft sysinstall aan gebruik te maken van de “Passive” modus voor al het FTP-verkeer. Dit zorgt ervoor dat verbindingen door firewalls heen kunnen die inkomende verbindingen niet toelaten op willekeurige TCP-poorten.
Deze optie geeft sysinstall aan gebruik te maken van het HTTP protocol (zoals een webbrowser) om verbinding te maken met een proxy voor alle FTP verbindingen. De proxy vertaalt de verzoeken en stuurt ze naar de FTP server. Dit zorgt ervoor dat verbindingen door firewalls heen kunnen die helemaal geen FTP toestaan, maar wel een HTTP proxy hebben. In dit geval moet naast de FTP-server ook een HTTP proxy opgegeven worden.
Bij het gebruik van een proxy FTP-server moet meestal de
server waar uiteindelijk verbinding mee gemaakt moet worden
onderdeel zijn van de gebruikersnaam, na het teken
“@”. De proxy server “imiteert” dan de
echte server. Zo kan bijvoorbeeld geïnstalleerd worden
vanaf ftp.FreeBSD.org
, gebruikmakend
van proxy FTP-server foo.example.com
, luisterend op poort
1234.
In dit geval kan in het menu opties menu als FTP
gebruikersnaam ftp@ftp.FreeBSD.org
ingevuld
worden en als wachtwoord een emailadres. Als installatiemedium
kan FTP ingevuld worden (of passieve FTP als de gebruikte proxy
het ondersteunt) en als URL
ftp://foo.example.com:1234/pub/FreeBSD
.
Omdat /pub/FreeBSD
van ftp.FreeBSD.org
via de proxy van foo.example.com
wordt benaderd kan vanaf
die machine geïnstalleerd worden (die
de bestanden ophaalt van ftp.FreeBSD.org
als het
installatieprogramma erom vraagt).
Nu kan de installatie verder gaan. Dit is ook de laatste mogelijkheid om de installatie te beëindigen ter voorkoming van wijzigingen op de harde schijf.
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
Kies Enter om verder te gaan.
en druk opDe duur van de installatie hangt af van de gekozen distributie, het installatiemedium en de snelheid van de computer. Er wordt een serie berichten getoond die de voortgang aangeeft.
De installatie is klaar als het volgende bericht wordt getoond:
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 ]
Druk op Enter om verder te gaan met instellingen na de installatie.
Kiezen voor Enter beëindigt de installatie en er worden geen wijzigingen aan het systeem gemaakt. Het volgende bericht verschijnt:
en bevestigen metMessage 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 ]
Het bovenstaande bericht verschijnt omdat er niets is geïnstalleerd. Kies Enter om terug te gaan naar het menu Main Installation en de installatie te verlaten.
Na het installeren volgt de instelling van diverse opties.
Een optie kan worden ingesteld door opnieuw naar de
instellingenopties te gaan voordat de nieuwe FreeBSD-installatie
wordt gestart of door na de installatie
sysinstall
te gebruiken en te kiezen voor
.
Als al eerder PPP is ingesteld voor een FTP-installatie verschijnt het volgende scherm niet en kan dit onderdeel worden geïnstalleerd zoals eerder beschreven.
Gedetailleerde informatie over lokale netwerken (LAN's) en het instellen van FreeBSD als een gateway of router staat in het hoofdstuk Netwerken voor Gevorderden.
User Confirmation Requested Would you like to configure any Ethernet or PPP network devices? [ Yes ] No
Kies Enter om een netwerkapparaat in te stellen. Kies anders om verder te gaan.
en druk opKies de in te stellen interface met de pijltjestoetsen en druk op Enter.
User Confirmation Requested Do you want to try IPv6 configuration of the interface? Yes [ No ]
In dit gesloten lokale netwerk was het huidige type Internet protocol (IPv4) toereikend en dus werd Enter verder gegaan worden.
geselecteerd met de pijltjestoetsen en kon metAls er verbinding is met een bestaand IPv6 netwerk met een RA server, kies dan Enter. Zoeken naar RA servers duurt een paar seconden.
en druk opUser Confirmation Requested Do you want to try DHCP configuration of the interface? Yes [ No ]
Kies Enter als DHCP (Dynamic Host Configuration Protocol) niet nodig is.
met de pijltjestoetsen en druk opdhclient op en als het goed gaat stelt het netwerk zichzelf in. In Paragraaf 29.5, “Automatisch netwerk instellen (DHCP)” staat meer informatie.
kiezen startHet volgende scherm met netwerkinstellingen toont de instellingen van een Ethernetapparaat van een systeem dat als gateway voor een lokaal netwerk functioneert.
Met Tab kunnen de velden geselecteerd worden waarna de juiste informatie ingevuld kan worden:
De “fully-qualified hostname”, in dit
geval k6-2.example.com
.
De naam van het domein waar toe de machine behoort,
in dit geval example.com
.
Het IP-adres van de host die pakketjes doorstuurt naar niet-lokale bestemmingen. Dit moet ingesteld worden als een machine een onderdeel is van netwerk. Laat dit veld leeg als de machine de gateway is naar het Internet voor het netwerk. De IPv4 Gateway staat ook bekend onder de naam default gateway of default route.
Het IP-adres van de lokale DNS server. Er is op dit
gesloten lokale netwerk geen DNS server, dus wordt het
IP-adres van de DNS server van de provider gebruikt
(208.163.10.2
).
Het IP-adres dat gebruikt moet worden voor deze
interface (192.168.0.1
).
Het adresblok dat gebruikt wordt door het lokale
netwerk is 192.168.0.0
- 192.168.255.255
met netmasker
255.255.255.0
.
Elke interface-specifieke optie voor
ifconfig
die toegevoegd moet worden. In
dit geval waren er geen.
Gebruik Tab om te selecteren als de instellingen gereed zijn en druk op Enter.
User Confirmation Requested Would you like to Bring the ed0 interface up right now? [ Yes ] No
Het kiezen van Enter maakt een machine onderdeel van een netwerk en daarna is hij klaar voor gebruik. Dit heeft echter nog weinig zin, omdat de machine nog opnieuw opgestart moet worden.
en het drukken opUser Confirmation Requested Do you want this machine to function as a network gateway? [ Yes ] No
Als de machine gateway voor een lokaal netwerk is en pakketjes doorstuurt naar andere machines kies dan Enter. Als de machine alleen host op een netwerk is, kies dan en druk op Enter om verder te gaan.
en druk opUser Confirmation Requested Do you want to configure inetd and the network services that it provides? Yes [ No ]
Door het selecteren van telnetd niet aangezet. Dat betekent dat gebruikers op afstand niet met telnet bij de machine kunnen. Lokale gebruikers kunnen wel met telnet naar andere machines.
worden diverse diensten alsDeze diensten kunnen na de installatie worden aangezet door
/etc/inetd.conf
te wijzigen met een editor
naar keuze. In Paragraaf 29.2.1, “Overzicht” staat
meer informatie.
Selecteer
om deze diensten in te stellen tijdens de installatie. Er wordt een extra bevestiging getoond: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
Selecteer
om verder te gaan.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
Het selecteren van #
aan het begin
van een regel te verwijderen.
Druk na het toevoegen van de gewenste diensten, op Esc om het menu te krijgen waarin de wijzigingen opgeslagen kunnen worden en de editor verlaten kan worden.
User Confirmation Requested Would you like to enable SSH login? Yes [ No ]
Het kiezen van sshd(8) aanzetten, het daemon-programma voor OpenSSH. Dit zal beveiligde toegang op afstand tot uw machine toestaan. Zie voor meer informatie over OpenSSH Paragraaf 15.10, “OpenSSH”.
zalUser Confirmation Requested Do you want to have anonymous FTP access to this machine? Yes [ No ]
Het selecteren van de standaardwaarde Enter stelt gebruikers met toegang en een wachtwoord nog steeds in staat om de machine via FTP te benaderen.
en het drukken opAls anonieme FTP wordt toegestaan kan iedereen de machine met FTP benaderen. De gevolgen voor de veiligheid van de machine moeten overwogen worden voordat deze optie wordt ingeschakeld. Meer informatie over beveiliging staat in Hoofdstuk 15, Beveiliging.
Selecteer met de pijltjestoetsen Enter. Een aanvullende bevestiging zal verschijnen:
om anonieme FTP toe te staan en druk opUser 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
Dit bericht informeert u dat de FTP-dienst ook in
/etc/inetd.conf
aangezet moet worden als
u anonieme FTP-verbindingen wilt toestaan, zie Paragraaf 2.10.3, “Internetdiensten instellen”. Kies en druk op
Enter om verder te gaan; het volgende scherm
zal verschijnen:
Gebruik Tab om de informatievelden te selecteren en de juiste informatie in te vullen:
De gebruikers-ID die u aan de anonieme FTP-gebruiker wilt toekennen. Alle geuploade bestanden zullen eigendom zijn van deze ID.
In welke groep de anonieme FTP-gebruiker dient te zitten.
Een string die deze gebruiker in
/etc/passwd
beschrijft.
Waar de bestanden beschikbaar voor anonieme FTP worden bewaard.
Waar bestanden geupload door anonieme FTP-gebruikers naar toe gaan.
De startmap voor FTP wordt standaard ingesteld op
/var
. Als daar niet genoeg ruimte is
voor de geschatte FTP-wensen dan kan
/usr
gebruikt worden door de waarde FTP
root directory op /usr/ftp
in te
stellen.
Druk op Enter om verder te gaan als de instellingen gemaakt zijn.
User Confirmation Requested Create a welcome message file for anonymous FTP users? [ Yes ] No
Na het kiezen van Enter drukken opent zich een editor waarin het welkomstbericht bewerkt kan worden.
en opDe bovenstaande editor is ee
. Volg de
instructies om het bericht te wijzigen of wijzig het bericht
later door gebruik te maken van een editor naar keuze. Let
op de bestandsnaam en lokatie onderaan het scherm van de
editor.
Druk op Esc en een pop-up menu verschijnt met als standaardoptie . Druk op Enter om de editor te verlaten en verder te gaan. Druk nog een keer op Enter om de eventuele wijzigingen te bewaren.
Network File System (NFS) maakt het mogelijk bestanden te delen over een netwerk. Een machine kan worden ingesteld als server, client of beide. In Paragraaf 29.3, “Netwerkbestandssysteem (NFS)” staat meer informatie.
User Confirmation Requested Do you want to configure this machine as an NFS server? Yes [ No ]
Kies Enter.
als er geen noodzaak is voor een Network File System server en druk opNa het kiezen van exports
moet
worden gemaakt.
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 ]
Druk op Enter om verder te gaan. Een
editor start om exports
te maken en te
bewerken.
Volg de instructies om een te exporteren bestandssysteem toe te voegen of doe het later met een editor naar keuze. Let op de bestandsnaam en lokatie onderaan het scherm van de editor.
Druk op Esc en een pop-up menu verschijnt met als standaardoptie . Druk op Enter om de editor te verlaten en verder te gaan.
Er is een aantal opties beschikbaar om de systeemconsole in aan te passen.
User Confirmation Requested Would you like to customize your system console settings? [ Yes ] No
Om de opties te bekijken en in te stellen, kies Enter.
en druk opEen gebruikelijke optie is de schermbeveiliging. Gebruik de pijltjestoetsen om Enter.
te selecteren en druk opKies met de pijltjestoetsen de gewenste schermbeveiliging en druk op Enter. Het instellingenmenu System Console verschijnt weer.
De standaard activeringstijd is 300 seconden. Kies voor het wijzigen van de activeringstijd weer Enter. Een pop-up verschijnt:
. Kies in het optiemenu Screen Saver met de pijltjestoetsen en druk opWijzig de waarde, selecteer Enter om terug te gaan naar het instellingenmenu System Console.
en druk opMet het selecteren van Enter kan verdergegaan worden met de andere instellingen.
en drukken opHet instellen van de tijdzone van een machine maakt het mogelijk om automatisch correcties door te voeren voor regionale tijdswijzigingen en het juist uitvoeren van andere tijdzone-afhankelijke functies.
Het voorbeeld toont een machine die staat in de oostelijke tijdzone van de Verenigde Staten. De keuze voor een specifiek systeem hangt af van de geografische locatie.
User Confirmation Requested Would you like to set this machine's time zone now? [ Yes ] No
Selecteer Enter om de tijdzone in te stellen.
en druk opUser 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 ]
Kies Enter.
of afhankelijk van de instellingen van de klok van de machine en druk opKies met de pijltjestoetsen de juiste regio en druk op Enter.
Kies met de pijltjestoetsen het juiste land en druk op Enter.
Kies met de pijltjestoetsen de juiste tijdzone en druk op Enter.
Confirmation Does the abbreviation 'EDT' look reasonable? [ Yes ] No
Bevestig dat de afkorting van de tijdzone juist is. Als die er goed uit ziet, druk dan op Enter om verder te gaan met de overige instellingen.
Dit gedeelte is alleen van toepassing op installaties van
FreeBSD 7.X
, als u
FreeBSD 8.X
installeert wordt dit scherm
niet getoond.
User Confirmation Requested Would you like to enable Linux binary compatibility? [ Yes ] No
Selecteer Enter als de mogelijkheid om Linux software te draaien op FreeBSD geactiveerd moet worden. Deze optie installeert de voor Linux compatibiliteit benodigde pakketten.
en druk opAls via FTP wordt geïnstalleerd, dan moet de machine verbonden zijn met Internet. Soms heeft een FTP-site niet alle distributies, zoals de Linux comptabiliteit, beschikbaar. Zonodig kan deze ook later geïnstalleerd worden.
Deze optie geeft de mogelijkheid om tekst te kopiëren en te plakken in de console en programma's met een 3-knops muis. Als een 2-knops muis wordt gebruikt, ga dan naar de hulppagina moused(8) na de installatie voor de details over het emuleren van een 3-knops muis. Dit voorbeeld toont een niet-USB muisinstelling (zoals een PS/2 of seriële poort muis):
User Confirmation Requested Does this system have a PS/2, serial, or bus mouse? [ Yes ] No
Selecteer Enter.
voor een PS/2-, seriële of busmuis of voor een USB-muis en druk opGebruik de pijltjestoetsen om Enter.
te selecteren en druk opDe muis in dit voorbeeld is een PS/2-muis, dus de standaardoptie Enter om dit menu te verlaten.
was van toepassing. Selecteer met de pijltjestoetsen een andere optie om het protocol te wijzigen. Zorg ervoor dat geselecteerd is en druk opGebruik de pijltjestoetsen om Enter.
te selecteren en druk opDit systeem heeft een PS/2 muis, dus de standaardoptie Enter om de poort te wijzigen.
was van toepassing. Gebruik de pijltjestoetsen en druk opGebruik tenslotte de pijltjestoetsen om Enter om de muisdaemon aan te zetten en te testen.
te selecteren en druk opBeweeg de muis over het scherm en controleer of de cursor op de juiste manier reageert. Als dat in orde is, selecteer dan Enter. Als het niet goed gaat, dan is de muis niet goed ingesteld. Kies dan en probeer het met andere instellingen.
en druk opKies met de pijltjestoetsen Enter om terug te gaan naar het instellingenmenu.
en druk opPakketten zijn voorgebouwde binaire bestanden en zijn een gemakkelijke manier om software te installeren.
De installatie van één pakket wordt als
voorbeeld getoond. Er kunnen nog meer pakketten
geïnstalleerd worden als dat wenselijk is. Na de
installatie kan sysinstall
gebruikt worden om
extra pakketten te installeren.
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
Na het kiezen van Enter verschijnt het menu pakketkeuze:
en drukken opAlleen pakketten die aanwezig zijn op het huidige installatiemedium zijn beschikbaar voor installatie op dat moment.
Alle beschikbare pakketten worden getoond na het selecteren van Enter.
, maar er kan ook een bepaalde categorie geselecteerd worden. De categorie kan gekozen worden met de pijltjestoetsen en door te bevestigen metDan wordt een menu getoond met alle beschikbare pakketten binnen de gemaakte selectie:
De shell bash is geselecteerd. Er kunnen zoveel pakketten als wenselijk gekozen worden door ze te selecteren en op de spatiebalk te drukken. Een korte beschrijving van elk pakket verschijnt in de linker benedenhoek van het scherm.
Door te drukken op Tab wordt gewisseld tussen het laatst geselecteerde pakket, en .
Druk na het selecteren van pakketten voor installatie één keer op Tab om naar te gaan en druk op Enter om terug te gaan naar het menu pakketkeuze.
De linker- en rechterpijltjestoets wisselen eveneens tussen Enter te drukken om terug te gaan naar het menu pakketkeuze.
en . Die manier kan ook gebruikt worden om te kiezen en opGebruik Tab en de pijltjestoetsen om te selecteren en druk op Enter. Daarna moet de pakketinstallatie bevestigd worden:
Het selecteren van Enter start de installatie. Er worden installatieberichten getoond tot alle installaties zijn afgerond. Maak een notitie van eventuele foutmeldingen.
en drukken opNa het installeren van pakketten gaat het maken van de laatste instellingen verder. Als er geen pakketten geselecteerd zijn kan om terug te gaan naar het menu toch
gekozen worden.Er moet minstens één gebruiker toegevoegd
worden tijdens de installatie, zodat het systeem gebruikt kan
worden zonder als root
aan te hoeven
melden. De rootpartitie is in het algemeen klein en het
draaien van programma's als root
kan de
schijfruimte snel vullen. Een groter gevaar wordt hieronder
aangegeven:
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
Kies Enter om verder te gaan met het toevoegen van een gebruiker.
en druk opSelecteer Enter.
met de pijltjestoetsen en druk opDe volgende beschrijvingen verschijnen in het onderste deel van het scherm als opties zijn geselecteerd met Tab en kunnen behulpzaam zijn bij het invullen van de benodigde informatie:
De aanmeldnaam van de nieuwe gebruiker (verplicht).
Het numerieke ID van de gebruiker (laat leeg voor automatische toewijzing).
De naam van de aanmeldgroep van de gebruiker (laat leeg voor automatische keuze).
Het wachtwoord voor de gebruiker (vul dit zorgvuldig in!).
De volledige naam van de gebruiker (commentaar).
De groepen waar de gebruiker in zit (waar hij toegangsrechten voor krijgt).
De locatie van de thuismap van de gebruiker (laat leeg voor de standaardwaarde).
De aanmeldshell voor de gebruiker (laat leeg voor de
standaardwaarde, zoals
/bin/sh
).
De aanmeldshell is hier veranderd van
/bin/sh
in
/usr/local/bin/bash
om de shell
bash te gebruiken die eerder is
geïnstalleerd als pakket. Probeer geen shell op te geven
die niet bestaat, want dan kan niet aangemeld worden. De meest
gebruikte shell in de BSD-wereld is de C shell, die aangegeven
kan worden als /bin/tcsh
.
De gebruiker is ook toegevoegd aan de groep
wheel
om het mogelijk te maken superuser
te worden met root
-rechten.
Druk op User and Group Management
terug te
gaan:
Op dit moment kunnen ook groepen worden toegevoegd als de
specifieke behoeften bekend zijn. Dit kan ook door
sysinstall
(/stand/sysinstall
in FreeBSD versies ouder dan
5.2) na de installatie te gebruiken.
Kies na het toevoegen van gebruikers Enter om verder te gaan met de installatie.
met de pijltjestoetsen en druk opMessage 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 ]
Druk op Enter om het
root
wachtwoord in te stellen.
Het wachtwoord moet twee keer gelijk ingegeven worden. Het is vast overbodig om op te merken dat het belangrijk is zorg te dragen voor een manier om het wachtwoord terug te vinden in het geval het wordt vergeten. Tijdens de ingave van het wachtwoord wordt dit niet weergegeven en er worden ook geen sterretjes getoond.
Changing local password for root. New password: Retype new password :
De installatie gaat verder als het wachtwoord succesvol is ingevoerd.
Als het nodig is om extra netwerkapparaten toe te voegen of
andere instellingen te maken, dan kan dat nu of later met
sysinstall
.
User Confirmation Requested Visit the general configuration menu for a chance to set any last options? Yes [ No ]
Selecteer Enter om terug te gaan naar het menu Main Installation.
met de pijltjestoetsen en druk opSelecteer Enter. Er wordt om bevestiging gevraagd:
met de pijltjestoetsen en druk opUser Confirmation Requested Are you sure you wish to exit? The system will reboot. [ Yes ] No
Selecteer
. Als u van het CD-ROM-station opstart zal de volgende boodschap u eraan herinneren de schijf te verwijderen:Message Be sure to remove the media from the drive. [ OK ] [ Press enter or space ]
Het CD-ROM-station is geblokkeerd totdat de machine opnieuw wordt opgestart, dan kan de schijf snel uit het station worden gehaald. Druk op
om opnieuw op te starten.Het systeem start op, dus let op eventuele foutberichten die getoond worden, zie Paragraaf 2.10.16, “FreeBSD opstarten” voor meer details.
Het instellen van netwerkdiensten kan afschrikwekkend zijn voor nieuwe gebruikers zonder (voldoende) voorkennis op dit gebied. Netwerken, inclusief Internet, is van levensbelang voor alle moderne besturingssystemen, inclusief FreeBSD. Als gevolg daarvan is het handig enig begrip te hebben van de uitgebreide netwerkmogelijkheden van FreeBSD. Door dit tijdens de installatie te doen hebben gebruikers in elk geval enige kennis van de diverse netwerkdiensten die hen ter beschikking staan.
Netwerkdiensten zijn programma's die invoer accepteren
vanaf het netwerk. Al het mogelijke is gedaan om er voor te
zorgen dat deze programma's niets “schadelijks”
doen. Helaas zijn programmeurs niet perfect en in de loop van
de tijd zijn er fouten gevonden in netwerkdiensten die door
aanvallers zijn uitgebuit om slechte dingen te doen. Het is
belangrijk alleen netwerkdiensten aan te zetten die nodig zijn.
Bij twijfel kan een netwerkdienst het beste niet ingeschakeld
worden totdat duidelijk is dat de dienst wél nodig is.
Diensten kunnen later alsnog ingeschakeld worden door
sysinstall nog een keer te draaien
of door middel van de mogelijkheden van het bestand
/etc/rc.conf
.
Het kiezen van de optie
toont het volgende menu:De eerste optie, Paragraaf 2.10.1, “Netwerkapparaten instellen”, dus die wordt overgeslagen.
, is al behandeld inKies
voor het toevoegen van ondersteuning voor het BSD hulpprogramma voor automatisch mounten. Dit wordt meestal gebruikt in combinatie met het NFS protocol (zie verderop) voor het automatisch mounten van externe bestandssystemen. Hier zijn geen speciale instellingen nodig.De volgende optie is
. Als deze optie wordt selecteert komt er een pop-up menu waarin de specifieke AMD vlaggen kunnen worden ingesteld. Het menu bevat al een lijst standaardopties:-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map
De optie -a
bepaalt de standaard
mountlocatie die is hier ingesteld op
/.amd_mnt
. De optie -l
bepaalt het standaardbestand voor log
,
maar als syslogd
wordt gebruikt, dan worden
alle acties naar de systeemlogdaemon gestuurd. De map
/host
wordt gebruikt om
een geëxporteerd bestandssysteem van een externe host te
mounten, terwijl de map /net
wordt gebruikt om een
geëxporteerd bestandssysteem van een
IP-adres te mounten. Het bestand
/etc/amd.map
bepaalt de standaardopties
voor AMD exports.
De optie
staat anonieme FTP verbindingen toe. Kies deze optie om van een machine een anonieme FTP server te maken. Hierbij zijn de beveiligingsimplicaties van belang. Er wordt een volgend menu getoond om de beveiligingsrisico's en verdere instellingen te verklaren.Het instellingenmenu
maakt van de machine een gateway, zoals eerder beschreven. Hier kan de optie ook gebruikt worden om de optie uit te zetten als die eerder in de installatie per ongeluk is aangezet.De optie inetd(8) daemon in te stellen of helemaal uit te schakelen, zoals boven beschreven.
kan gebruikt worden om deDe optie
kan gebruikt worden om de standaard MTA (Mail Transfer Agent) van het systeem in te stellen. Hiervoor wordt het volgende menu gebruikt:Hier kan gekozen worden welke MTA moet worden geïnstalleerd en gebruikt. Een MTA is niets meer dan een mailserver die mail aflevert bij gebruikers op het systeem of op Internet.
Het kiezen van sendmail, die de standaard is voor FreeBSD. De optie maakt van sendmail de standaard MTA, maar zet de mogelijkheid om mail te ontvangen vanaf het Internet uit. De andere opties, en werken net zo als . Allebei leveren ze mail af. Sommige gebruikers geven de voorkeur aan deze alternatieven boven de sendmail MTA.
installeert de populaire serverNa het kiezen van een MTA of de keuze geen MTA te installeren, verschijnt het menu netwerkinstellingen met als volgende optie
.De optie Paragraaf 29.3, “Netwerkbestandssysteem (NFS)” staat meer informatie over client- en serverinstellingen.
stelt het systeem in om te communiceren met een server via NFS. Een NFS server stelt bestandssystemen beschikbaar aan andere machines via het NFS protocol. Als de te installeren machine een op zichzelf staande machine is, dan kan deze optie uitgeschakeld blijven. Het kan zijn dat het systeem later meer instellingen nodig heeft. InDe volgende optie is “remote procedure call”, op te starten. RPC wordt gebruikt om de verbindingen tussen hosts en programma's te coördineren.
, die het mogelijk maakt een systeem in te stellen als NFS server. Deze optie voegt de nodige informatie toe om de dienst RPC,Daarna volgt de optie
die de tijdsynchronisatie afhandelt. Als deze wordt geselecteerd verschijnt het volgende menu:Kies uit dit menu de server die het dichtst bij het te installeren systeem staat. Door het kiezen van een server in de buurt is de synchronisatie preciezer omdat een verder gelegen server meer vertraging in de verbinding kan hebben.
De volgende optie is de PCNFSD selectie. Deze optie installeert het pakket net/pcnfsd uit de Portscollectie. Dat is een handig hulpprogramma dat het mogelijk maakt om aan te melden bij NFS met systemen die zelf geen aanmeldsysteem hebben, zoals het besturingssysteem MS-DOS® van Microsoft®.
Door naar beneden te scrollen in het hoofdmenu worden de onderstaande opties zichtbaar:
De hulpprogramma's rpcbind(8), rpc.statd(8) en
rpc.lockd(8) worden allemaal gebruikt voor “Remote
Procedure Calls” (RPC). Het
hulpprogramma rpcbind
beheert de
communicatie tussen NFS servers en clients
en is noodzakelijk om NFS servers correct te
laten werken. De daemon rpc.statd
communiceert met de daemon rpc.statd
op andere machines om statusinformatie te leveren. De
gerapporteerde status wordt gewoonlijk bijgehouden in het
bestand /var/db/statd.status
. De volgende
optie in de lijst is die,
mits geselecteerd, bestandslockdiensten mogelijk maakt. Dit
wordt meestal gebruikt door
rpc.statd om bij te houden welke
hosts vragen om bestanden te locken en hoe vaak ze dat doen.
Hoewel deze laatste twee opties fantastisch zijn om fouten om
te sporen, zijn ze niet noodzakelijk voor
NFS servers en clients om correct te
werken.
De dan volgende optie in de lijst is
routed(8) beheert netwerkrouteringstabellen,
ontdekt “multicast” routers en stelt op verzoek
kopieën van de routeringstabellen ter beschikking aan
fysiek verbonden apparaten. Dit wordt vooral gebruikt door
machines die dienst doen als gateway voor het lokale netwerk.
Na het selecteren van deze optie verschijnt een menu waarin
naar de standaardlocatie van het hulpprogramma wordt gevraagd.
De standaardlocatie is al gedefiniëerd en kan met
Enter worden geactiveerd. Dan komt er een
ander menu dat vraagt om de opties die doorgegeven moeten
worden aan routed op te geven. De
standaard is -q
en die staat al op het
scherm.
Dan volgt de optie rwhod(8) inschakelt bij het
opstarten. Het hulpprogramma rwhod
zendt
periodiek systeemberichten uit over het netwerk of verzamelt
die in de modus “consumer”. Meer informatie staat
in de hulppagina's ruptime(1) en rwho(1).
De één na laatste optie in de lijst is de daemon sshd(8). Dat is de “secure shell server” van OpenSSH en deze wordt sterk aangeraden boven de standaardservers telnet en FTP. De server sshd wordt gebruikt om een veilige verbinding op te zetten van de ene computer naar de andere door een versleutelde verbinding te gebruiken.
Tenslotte is er de optie
. Dit schakelt TCP uitbreidingen in zoals gedefiniëerd in RFC 1323 en RFC 1644. Hoewel dit op veel machines de verbindingen kan versnellen, kan het ook de oorzaak zijn van het wegvallen van sommige verbindingen. Het wordt niet aangeraden voor servers, maar voor alleenstaande machines kan het voordelig zijn.Nu de netwerkmogelijkheden zijn ingesteld kan het menu via
verlaten worden en doorgegaan worden met het instellen in de volgende sectie.Als alles goed is gegaan komen er berichten over het scherm rollen en komt dit uit bij de aanmeldprompt. De inhoud van de berichten kan bekeken worden door te drukken op Scroll-Lock en dan met PgUp en PgDn door de tekst heen te lopen. Druk weer op Scroll-Lock om terug te gaan naar de prompt.
Het kan zijn dat het totale bericht niet getoond kan worden
(beperking van de buffer). Dan kunnen de berichten later
bekeken worden op de commandoregel door na het aanmelden
dmesg
in te geven op de prompt.
Meld aan met de gebruikersnaam en het wachtwoord die zijn
aangemaakt tijdens de installatie (in dit voorbeeld
rpratt
). Vermijd het aanmelden als
root
, behalve als het noodzakelijk is.
Gebruikelijke opstartberichten (versie-informatie verwijderd):
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:
Het aanmaken van de RSA en DSA sleutels kan een tijdje duren op langzamere machines. Dit gebeurt alleen bij de eerste keer aanmelden na een nieuwe installatie. De volgende keren gaan sneller.
Als de X-server ingesteld is en er een standaard desktop is
gekozen, dan kan die worden gestart door
startx
in te geven op de
commandoregel.
Het is belangrijk om het besturingssysteem op de juiste
manier uit te schakelen. Schakel niet gewoon de stroom uit.
Neem eerst de rol van superuser aan door su
in te geven op de commandoregel en het
root
wachtwoord in te geven. Dit kan
alleen als gebruiker die lid is van de groep
wheel
. Anders moet eerst worden
aangemeld als root
. Gebruik
shutdown -h now
om het systeem uit te
schakelen.
The operating system has halted. Please press any key to reboot.
Het is veilig om de stroom uit te schakelen als na het
commando shutdown
het bericht
“Please press any key to reboot” getoond wordt.
Als een toets wordt ingedrukt in plaats van het uitschakelen
van de stroom, dan start het systeem opnieuw.
De combinatie Ctrl+Alt+Del kan ook gebruikt worden om het systeem te herstarten, maar dit wordt niet aangeraden tijdens normaal gebruik.
Dit onderdeel behandelt het oplossen van installatieproblemen, zoals veel voorkomende problemen die gebruikers hebben gerapporteerd. Er is ook een aantal vragen en antwoorden voor mensen die een systeem willen hebben met zowel FreeBSD als MS-DOS® of Windows® (dual-boot).
Door de beperkingen van de PC-architectuur is het onmogelijk om 100% betrouwbaar een hardware-onderzoek te doen, maar er zijn een paar dingen die wel gedaan kunnen worden in geval van storingen.
Controleer het Hardware Notes document voor uw versie van FreeBSD om er zeker van te zijn dat de hardware ondersteund wordt.
Als de hardware wordt ondersteund, maar het systeem loopt
nog steeds vast of heeft andere problemen, dient u een eigen kernel te bouwen. Dit maakt
het mogelijk om ondersteuning voor apparaten toe te voegen de
niet in de GENERIC
kernel zitten. De
kernel op de opstartschijven gaat er vanuit dat de hardware
ingesteld is op de fabrieksinstellingen wat betreft IRQ's, IO
adressen en DMA kanalen. Als de hardware anders is ingesteld,
dan moet waarschijnlijk de instellingeneditor gebruikt worden
om FreeBSD te vertellen waar de apparaten te vinden zijn.
Het is ook mogelijk dat een onderzoek naar een apparaat dat niet aanwezig is een probleem veroorzaakt bij een later onderzoek naar een ander apparaat dat er wel is. In dat geval moet het conflicterende stuurprogramma uitgeschakeld worden.
Sommige installatieproblemen kunnen voorkomen of verminderd worden door de firmware op de diverse hardwarecomponenten bij te werken, zeker als het om het moederbord gaat. De firmware voor een moederbord wordt ook aangeduid als het BIOS en de meeste moederbord- en computerfabrikanten hebben een website waar upgrades en upgrade-informatie beschikbaar is.
De meeste fabrikanten raden sterk af om het BIOS te upgraden, tenzij er een goede reden voor is, zoals bijvoorbeeld een kritische update. Het upgradeproces kan misgaan, wat beschadiging van de BIOS chip kan veroorzaken.
FreeBSD ondersteunt geen bestandssystemen die gecomprimeerd zijn met het programma Double Space™. Daarom moet het bestandssysteem eerst gedecomprimeerd worden voordat FreeBSD de gegevens kan benaderen. Dit kan met de Compression Agent, te vinden in het menu > > > .
FreeBSD kan MS-DOS® gebaseerde bestandssystemen (soms FAT
bestandssystemen genoemd) ondersteunen. Het commando
mount_msdosfs(8) plaatst zulke bestandssystemen in de
bestaande maphierarchie, waardoor de inhoud van het
bestandssysteem benaderd kan worden. Het programma
mount_msdosfs(8) wordt normaliter niet direct gebruikt; in
plaats hiervan wordt het aangeroepen door een regel in
/etc/fstab
of door een aanroep van het
gereedschap mount(8) met de juiste parameters.
Een typische regel in /etc/fstab
is:
/dev/ad0sN /dos msdosfs rw 0 0
De map /dos
moet reeds bestaan om dit
te laten werken. Zie fstab(5) voor details over het
formaat van /etc/fstab
.
Een typische aanroep naar mount(8) voor een MS-DOS® bestandssysteem ziet er uit als:
#
mount -t msdosfs /dev/ad0s1 /mnt
In dit voorbeeld staat het MS-DOS® bestandssysteem op de
eerste partitie van de primaire harde schijf. Iedere situatie
kan anders zijn, dus controleer de uitvoer van de commando's
dmesg
en mount
. Dat zou
voldoende informatie moeten leveren om een idee te vormen over
het partitieschema.
FreeBSD kan schijfstukken (dat zijn MS-DOS® partities) anders nummeren dan andere besturingssystemen. In het bijzonder krijgen extended MS-DOS® partities gewoonlijk hogere schijfstuknummers dan primaire MS-DOS® partities. Het gereedschap fdisk(8) kan helpen te bepalen welke schijfstukken bij FreeBSD en welke bij andere besturingssystemen horen.
NTFS-partities kunnen op soortgelijke manier aangekoppeld worden met het commando mount_ntfs(8).
2.11.3.1. | Mijn systeem hangt bij het opsporen van hardware tijdens het opstarten, of het gedraagt zich vreemd tijdens het installeren, of de floppydrive wordt niet onderzocht. |
FreeBSD maakt veelvuldig gebruik van de ACPI-diensten van
het systeem op de i386, amd64 en ia64 platformen bij het
helpen van de systeemconfiguratie als het tijdens het
opstarten is gedetecteerd. Helaas bestaan er nog enkele
bugs in zowel het ACPI-stuurprogramma als in sommige
systeemmoederborden en BIOSsen. ACPI kan worden
uitgeschakeld door de hint
Dit wordt telkens wanneer het systeem opnieuw wordt
opgestart teruggezet, dus is het nodig om
| |
2.11.3.2. | Ik ga naar opstarten van harde schijf voor de eerste keer na het installeren van FreeBSD, de kernel laadt en onderzoekt mijn hardware, maar stopt met berichten zoals deze: changing root device to ad1s1a panic: cannot mount root Wat is er verkeerd? Wat kan ik doen? Wat is dit
|
Er is een langdurig probleem in het geval dat de opstartschijf niet de eerste schijf in het systeem is. Het BIOS gebruikt een ander nummeringsschema dan FreeBSD, en uitzoeken welke nummers met welke overeenkomen is lastig goed te krijgen. In het geval dat de opstartschijf niet de eerste schijf in het systeem is, kan FreeBSD wel wat hulp gebruiken om het te vinden. Er zijn hier twee bekende situaties, en in beide gevallen dient u FreeBSD te vertellen waar het root-bestandssysteem zich bevindt. U kunt dit doen door het BIOS schijfnummer te specificeren, het soort schijf en het FreeBSD schijfnummer voor die soort. De eerste situatie is wanneer u twee IDE-schijven
heeft, elk geconfigureerd als de meester op hun
respectievelijke IDE-bus, en u FreeBSD wilt opstarten vanaf
de tweede schijf. Het BIOS ziet dit als schijf 0 en
schijf 1, terwijl FreeBSD ze als FreeBSD staat op BIOS schijf 1, van het soort
Merk op dat indien u een slaaf op de primaire bus heeft, bovenstaande niet nodig is (en effectief onjuist is). De tweede situatie is omvat opstarten van een
SCSI-schijf wanneer u één of meer
IDE-schijven in het systeem heeft. In dit geval is het
FreeBSD schijfnummer lager dan het BIOS schijfnummer. Als u
twee IDE-schijven alsook de SCSI-schijf heeft, dan is de
SCSI-schijf BIOS schijf 2, soort
wanneer u FreeBSD wilt vertellen dat u van BIOS schijf 2
wilt opstarten, welke de eerste SCSI-schijf in het systeem
is. Als u slechts één IDE-schijf had, zou
Wanneer u de juiste waardes heeft bepaald om te
gebruiken, kunt u het commando precies zoals u het zou
typen in het bestand | |
2.11.3.3. | Ik ga naar opstarten van harde schijf voor de eerste
keer na de installatie van FreeBSD, maar de prompt van de
Boot Manager geeft telkens alleen |
De geometrie van de harde schijf was verkeerd ingesteld in de partitiebewerker toen u FreeBSD installeerde. Ga terug naar de partitiebewerker en specificeer de eigenlijke geometrie van uw harde schijf. U moet FreeBSD weer van het begin af herinstalleren met de juiste geometrie. Als u geheel faalt in het bepalen van de juiste geometrie van uw machine, is hier een tip: Installeer een kleine MS-DOS® partitie aan het begin van de schijf en installeer FreeBSD na die partitie. Het installatieprogramma zal de MS-DOS® partitie zien en proberen de juiste geometrie er uit af te leiden, wat gewoonlijk werkt. De volgende tip wordt niet meer aangeraden, maar is hier achtergelaten ter referentie:
| |
2.11.3.4. | Het systeem vindt mijn ed(4) netwerkkaart, maar ik blijf apparaat-timeout-fouten krijgen. |
Uw kaart zit waarschijnlijk op een andere IRQ dan wat
is gespecificeerd in het bestand
Verplaats òf de jumper op de kaart naar een
vaste configuratie-instelling (pas indien nodig de
kernelinstellingen aan), òf specificeer het IRQ als
Een andere mogelijkheid is dat uw kaart op IRQ 9 zit, welke gedeeld is met IRQ 2 en vaak een bron van problemen is (al helemaal wanneer u een VGA-kaart heeft die IRQ 2 gebruikt!). U dient IRQ 2 en 9 te vermijden indien mogelijk. | |
2.11.3.5. | Wanneer sysinstall in een X11-terminal wordt gebruikt, is het moeilijk om het gele font op de lichtgrijze achtergrond te lezen. Is er een manier om het contrast van deze applicatie te verhogen? |
Als X11 reeds geïnstalleerd is en de kleuren die
standaard door sysinstall
worden gekozen de tekst onleesbaar maken wanneer
xterm(1) of rxvt(1) wordt gebruikt, voeg dan het
volgende aan |
In dit onderdeel wordt het installeren van FreeBSD in bijzondere situaties beschreven.
Dit type installatie heet ook wel een “headless install”, omdat de met FreeBSD te installeren machine of geen monitor heeft aangesloten of zelfs geen VGA-uitvoer heeft. Hoe is dat mogelijk, kan de vraag zijn. Dat kan met een seriële console. Een seriële console is gewoonweg een andere machine die optreedt als monitor en toetsenbord voor een systeem. Om dit te doen moet eerst een installatie-USB-stick worden gemaakt, zoals uitgelegd is in Paragraaf 2.3.7, “Opstartmedia aanmaken” of het juiste ISO-image voor de installatie worden gedownloadt (zie Paragraaf 2.13.1, “Installatie CD-ROM maken”).
Volg de volgende stappen om de media te wijzigen om in een seriële console op te starten (voor een CD-ROM kan de eerste stap worden overgeslagen):
Installatie-USB-stick geschikt maken voor een seriële console
Als wordt opgestart van de zojuist gemaakt USB-stick, start FreeBSD op in de normale installatiemodus. FreeBSD moet echter opstarten naar een seriële console voor de installatie. Om dit te regelen moet de USB-stick gekoppeld worden aan het FreeBSD systeem met het commando mount(8).
#
mount /dev/da0a /mnt
Pas het apparaat en het koppelpunt aan uw situatie aan.
Nu dat de stick is aangekoppeld, moet deze ingesteld worden om
in een seriële toestand op te starten. Aan het bestand
loader.conf
van het bestandssysteem van de
USB-stick een regel worden toegevoegd dat de seriële console
instelt als de systeemconsole:
#
echo 'console="comconsole"' >> /mnt/boot/loader.conf
Nu de USB-stick correct is geconfigureerd, moet deze afgekoppeld worden met umount(8):
#
umount /mnt
Nu kan de USB-stick worden afgekoppeld en direct naar de derde stap van deze procedure gegaan worden.
De installatie-CD in staat stellen om in een seriële console op te starten
Als met de CD zou worden opgestart die zojuist van het installatie-ISO-image is gemaakt (zie Paragraaf 2.13.1, “Installatie CD-ROM maken”), dan zou FreeBSD opstarten in de normale installatiemodus. We willen dat FreeBSD voor de installatie opstart in een seriële console. Om dit te doen, moet het ISO-image worden uitgepakt, gewijzigd, en opnieuw worden gegenereerd voordat het op een CD-R wordt gebrandt.
Gebruik tar(1) om alle bestanden uit te pakken van het
installatie-ISO-image, bijvoorbeeld
FreeBSD-11.0-RELEASE-i386-disc1.iso
:
#
mkdir /pad/naar/headless-iso
#
tar -C /pad/naar/headless-iso -pxvf FreeBSD-11.0-RELEASE-i386-disc1.iso
Nu moet het installatiemedium worden ingesteld om in een
seriële console op te starten. Aan het bestand
loader.conf
van het uitgepakte ISO-image moet
een regel worden toegevoegd dat de seriële console als de
systeemconsole instelt:
#
echo 'console="comconsole"' >> /pad/naar/headless-iso/boot/loader.conf
Nu kan er een nieuw ISO-image van het gewijzigde bestandssysteem worden gemaakt. Het gereedschap mkisofs(8) van de port sysutils/cdrtools wordt gebruikt:
#
mkisofs -v -b boot/cdboot -no-emul-boot -r -J -V "Headless_installatie" \ -o Headless-FreeBSD-11.0-RELEASEi386-disc1.iso /pad/naar/headless-iso
Nu het ISO-image correct is geconfigureerd, kan het met uw favoriete brandprogramma op een CD-R worden gebrandt.
Null-modem kabel aansluiten
Nu moeten de twee machines verbonden worden met een null-modem kabel. De kabel kan gewoon aangesloten worden tussen de seriële poorten van de machines. Een gewone seriële kabel werkt niet, er is een null-modem kabel nodig omdat daarin sommige draden kruiselings zijn verbonden.
Opstarten voor het installeren
Nu is het tijd om te beginnen met installeren. Steek de USB-stick in de machine die headless wordt geïnstalleerd en zet hem aan. Als u een voorbereidde CD-ROM gebruikt, zet dan de machine aan en steek de CD-ROM erin.
Verbinden met de headless machine
Nu moet verbinding gemaakt worden met die machine met cu(1):
#
cu -l /dev/cuau0
Gebruik op FreeBSD 7.X
het volgende
commando:
#
cu -l /dev/cuad0
Dat is alles! De headless machine kan bediend worden
via de cu
sessie. Het zal de kernel laden
en vraagt dan wat voor terminal er gebruikt moeten worden.
Selecteer de FreeBSD color console en ga verder met de
installatie!
Om herhaling te voorkomen: “FreeBSD-schijf” betekent in deze context een FreeBSD CD-ROM of DVD die gekocht is of zelf is gemaakt.
Er kunnen zich situaties voordoen waarin aangepaste FreeBSD installatiemedia en/of bronnen gemaakt moeten worden. Dat kunnen fysieke media zijn zoals een tape of een bron die sysinstall kan gebruiken om bestanden op te halen, zoals een lokale FTP site of een MS-DOS®-partitie.
Bijvoorbeeld:
Er zijn veel machines aangesloten op een lokaal netwerk en er is maar één FreeBSD-schijf. Er moet een lokale FTP site gemaakt worden met de inhoud van de FreeBSD schijf en vervolgens gebruiken andere machines die in plaats van steeds naar het Internet te moeten.
Er is een FreeBSD-schijf, FreeBSD herkent de CD/DVD-speler niet, maar MS-DOS® / Windows® wel. De FreeBSD installatiebestanden moeten gekopieerd worden naar een MS-DOS® partitie op dezelfde computer en dan moet FreeBSD geïnstalleerd worden met die bestanden.
De computer die geïnstalleerd moet worden heeft geen CD/DVD-speler of netwerkkaart, maar kan wel verbonden worden via een “Laplink-achtige” seriële of parallelle kabel met een computer die wel een CD/DVD-speler heeft.
Er moet een tape gemaakt worden die gebruikt kan worden om FreeBSD te installeren.
Als onderdeel van elke versie stelt het FreeBSD project tenminste twee CDROM images beschikbaar (“ISO images”) per ondersteunde architectuur. Deze images kunnen op een CD-R gebrand worden en dan gebruikt worden om FreeBSD te installeren. Als een CD-schrijver aanwezig is en bandbreedte is goedkoop, dan is dit de makkelijkste manier om FreeBSD te installeren.
De juiste ISO images downloaden
De ISO images voor iedere versie kunnen worden
gedownload van
ftp://ftp.FreeBSD.org/pub/FreeBSD/ISO-IMAGES-arch/versie
of de dichtstbijzijnde mirror. Vervang
arch
en
versie
door de gewenste
waarden.
De bovenstaande map bevat meestal de volgende images:
X
en
8.X
ISO image-namen en
verklaringBestandsnaam | Inhoud |
---|---|
FreeBSD-versie-RELEASE-arch-bootonly.iso | Met dit CD-image kunt u het installatieproces starten door vanaf een CD-ROM-drive op te starten maar het bevat geen ondersteuning om FreeBSD van de CD zelf te installeren. U dient hiervoor een installatie vanaf het netwerk ( bijvoorbeeld een FTP-server) uit te voeren nadat u van deze CD heeft opgestart. |
FreeBSD-versie-RELEASE-arch-disc1.iso.gz | Dit DVD-image bevat alles wat u nodig heeft om het basisgedeelte van FreeBSD te installeren, een verzameling van vooraf gebouwde pakketten, en de documentatie. Het ondersteunt ook het opstarten in een “livefs” gebaseerde reddingsmodus. |
FreeBSD-versie-RELEASE-arch-memstick.img | Dit image kan naar een USB-geheugenstick worden
geschreven en gebruikt worden om een installatie uit te
voeren op machines die vanaf USB-drives kunnen opstarten.
Het ondersteunt ook het opstarten in een
“livefs” gebaseerde reddingsmodus. De
documentatiepakketten worden geleverd, echter geen andere
pakketten. Dit image is niet beschikbaar voor
FreeBSD 7.X . |
FreeBSD-versie-RELEASE-arch-disc1.iso | Dit CD-image bevat het basisgedeelte van FreeBSD en de documentatiepakketten maar geen andere pakketten. |
FreeBSD-versie-RELEASE-arch-disc2.iso | Een CD-image met zoveel mogelijk pakketten van derde
partijen als er op de schijf passen. Dit image is niet
beschikbaar voor
FreeBSD 8.X . |
FreeBSD-versie-RELEASE-arch-disc3.iso | Nog een CD-image met zoveel mogelijk pakketten van derde partijen als op de schijf passen. Dit image is niet beschikbaar voor FreeBSD 8.0 en hoger. |
FreeBSD-versie-RELEASE-arch-docs.iso | De FreeBSD documentatie. Dit beeld is niet beschikbaar
voor FreeBSD 8.X . |
FreeBSD-versie-RELEASE-arch-livefs.iso | Dit CD-image bevat ondersteuning om in een “livefs” gebaseerde reddingsmodus op te starten maar het ondersteunt niet het installeren van de CD zelf. |
Uitgaven van FreeBSD 7.X
voor
FreeBSD 7.3 en uitgaven van FreeBSD 8.0 gebruikten een andere
naamconventie. Voor de namen van hun ISO-images staat geen
FreeBSD-
.
U moet òof het
bootonly
image downloaden,
òf het beeldbestand van disc1
. Download
ze niet allebei, aangezien het beeldbestand disc1
alles bevat wat het bootonly
image bevat.
Gebruik de bootonly
ISO als toegang tot
Internet goedkoop is. Hiermee kan FreeBSD geïnstalleerd worden,
waarna pakketten van derde partijen gedownload en
geïnstalleerd kunnen worden via het ports/packages
systeem (zie Hoofdstuk 5, Applicaties installeren: pakketten en ports).
Gebruik het dvd1
image om een uitgave van
FreeBSD te installeren en een redelijke hoeveelheid pakketten op de
schijf te installeren.
De additionele disc images zijn nuttig, maar niet noodzakelijk, zeker niet als er breedband toegang tot Internet is.
CD's branden
Daarna moeten de CD images op een schijf gebrand worden. Als dat wordt gedaan op een ander FreeBSD systeem, dan staat in Paragraaf 19.6, “Optische media (CD's) aanmaken en gebruiken” meer informatie (meer in het bijzonder in Paragraaf 19.6.3, “burncd” en Paragraaf 19.6.4, “cdrecord”).
Als de CD's op een ander platform worden gebrand, gebruik dan de op dat platform beschikbare hulpprogramma's om een CD-brander aan te sturen. De images zijn samengesteld in het standaard ISO-formaat dat ondersteund wordt door de meeste CD-brandprogramma's.
Als er interesse is in het bouwen van een aangepaste versie van FreeBSD dan staat hierover informatie in het Release Engineering artikel.
FreeBSD-schijven zijn op dezelfde manier ingedeeld als de FTP site. Dat maakt het erg gemakkelijk om een lokale FTP site te maken die gebruikt kan worden door andere machines op een netwerk bij het installeren van FreeBSD.
Op de FreeBSD computer die de FTP site bevat moet de
CD-ROM in het CD-ROM station zitten en aangekoppeld zijn op
/cdrom
.
#
mount /cdrom
Maak een gebruikersaccount voor anonieme FTP toegang in
/etc/passwd
het bestand te bewerken
met vipw(8) en de volgende regel toe te voegen:
ftp:*:99:99::0:0:FTP:/cdrom:/nonexistent
Zorg ervoor dat de dienst FTP aan staat in
/etc/inetd.conf
.
Iedereen met een netwerkverbinding naar de machine kan nu
als mediumtype FTP kiezen en
ftp://de-machine
ingeven na het kiezen van “Other” in het menu FTP
sites tijdens de installatie.
Als de bootmedia (meestal diskettes) voor een FTP client niet precies dezelfde versie hebben als die van de lokale FTP site, dan kan sysinstall de installatie niet volledig afronden. Als de versies niet gelijk zijn, dan kan in het menu de distributienaam gewijzigd worden in .
Deze aanpak is in orde voor een machine die aan een lokaal netwerk hangt en beschermd wordt door een firewall. Het aanbieden van FTP-diensten aan andere machines over Internet (en niet alleen het lokale netwerk) stelt een computer bloot aan de aandacht van krakers en andere ongewenste personen. We raden sterk aan om voldoende voorzorgsmaatregelen te nemen als hiervoor wordt gekozen.
Als wordt geïnstalleerd met diskettes (we adviseren om dit niet te doen), hetzij vanwege niet ondersteunde hardware of eenvoudigweg omdat de persoon die installeert er op staat dingen op de moeilijkste manier te doen, dan moeten eerst diskettes gemaakt worden voor de installatie.
Er zijn minstens zoveel 1.44 MB diskettes nodig als
nodig zijn om alle bestanden die in de map
base
(basisdistributie) staan op te
slaan. Als de diskettes worden gemaakt vanuit MS-DOS®, dan
moeten ze geformatteerd worden met het
MS-DOS® commando FORMAT
. Als Windows®
wordt gebruikt, formatteer de schijven dan via de verkenner
(rechtermuisklik op A:
en kies dan
“Format”).
Vertrouw voorgeformatteerde schijven niet. Formatteer ze voor de zekerheid opnieuw. Veel door gebruikers gerapporteerde problemen kwamen voort uit het gebruik van verkeerd geformatteerde media, vandaar dat dit punt hier wordt benadrukt.
Als de diskettes worden gemaakt op een andere FreeBSD machine
is formatteren nog steeds geen slecht idee, hoewel niet op
elke diskette een MS-DOS® bestandssysteem nodig is. Met de
commando's bsdlabel
en
newfs
kan er een UFS bestandssysteem op
gezet worden, zoals met de volgende commando's wordt getoond
(voor een 3.5" 1.44 MB diskette):
#
fdformat -f 1440 fd0.1440
#
bsdlabel -w fd0.1440 floppy3
#
newfs -t 2 -u 18 -l 1 -i 65536 /dev/fd0
Daarna kunnen ze aangekoppeld en beschreven worden als elk ander bestandssysteem.
Nadat de diskettes zijn geformatteerd moeten de bestanden
op de diskettes gezet worden. De distributiebestanden zijn
opgedeeld in porties zodat vijf stuks gemakkelijk op een
ouderwetse 1.44 MB diskette passen. Ga door met alle
diskettes en zet zoveel bestanden als mogelijk op elke diskette
tot alle distributies op die manier gekopiëerd zijn. Elke
distributie moet in een submap op de diskette komen,
bijvoorbeeld: a:\base\base.aa
,
a:\base\base.ab
, enzovoorts.
Het bestand base.inf
dient ook op de
eerste diskette van de base
verzameling
te staan aangezien het door het installatieprogramma wordt
gelezen om uit te zoeken naar hoeveel aanvullende delen te
kijken wanneer de distributie opgehaald en aan elkaar geregen
wordt.
Als tijdens de installatie het scherm Media verschijnt kan
gekozen worden en het installatiesysteem vraagt daarna om de overige diskettes.Om een installatie voor te bereiden vanaf een
MS-DOS®-partitie kunnen alle bestanden vanaf de distributie
in een map genaamd freebsd
in de
hoofdmap van de partitie gezet worden, bijvoorbeeld
c:\freebsd
. De mappenstructuur van de
CD-ROM of FTP site moet gedeeltelijk worden gereproduceerd in
deze map, dus we raden aan het MS-DOS® commando
xcopy
te gebruiken als de bron een CD-ROM
is. Om bijvoorbeeld een minimale installatie van FreeBSD voor te
bereiden:
C:\>
md c:\freebsd
C:\>
xcopy e:\bin c:\freebsd\bin\ /s
C:\>
xcopy e:\manpages c:\freebsd\manpages\ /s
Hierbij wordt aangenomen dat C:
de
schijf is met voldoende vrije ruimte en dat
E:
het CD-ROM station is.
Als er geen CD-ROM station is, dan kan de distributie gedownload worden van ftp.FreeBSD.org. Elke distributie heeft zijn eigen map. De base distributie staat bijvoorbeeld in de map 11.0/base/.
Kopiëer de vanaf een MS-DOS®-partitie te installeren
distributies (en waar schijfruimte voor is) en plaats ze elk
onder c:\freebsd
. De distributie
BIN
is de enige noodzakelijke voor een
minimale installatie.
Het installeren vanaf een tape is waarschijnlijk de gemakkelijkste manier, sneller dan een online FTP installatie of een CD-ROM installatie. Het installatieprogramma verwacht dat de bestanden eenvoudigweg getarred zijn op een tape. Na het ophalen van alle benodigde distributiebestanden moeten ze op een tape getarred worden:
#
cd /freebsd/distdir
#
tar cvf /dev/rwt0 dist1 ... dist2
Bij het uitvoeren van de installatie moet ervoor gezorgd worden dat er voldoende ruimte is in een tijdelijke map (die gekozen kan worden) om de volledige inhoud van de gemaakte tape te bevatten. Door de sequentiële toegangsmethode van een tape heeft deze manier van installeren nogal wat tijdelijke schijfruimte nodig.
Bij het begin van de installatie moet de tape al in de drive zitten voor het opstarten van de opstartdiskette. Het installatieprogramma kan hem anders niet vinden.
Er zijn drie soorten netwerkinstallaties beschikbaar: Ethernet (een standaard Ethernet-controller), seriële poort (PPP), of parallelle poort (PLIP, laplink-kabel).
Voor de snelst mogelijke netwerkinstallatie is een Ethernet adapter altijd een goede keuze! FreeBSD ondersteunt de meeste Ethernetkaarten. Een overzicht van de ondersteunde kaarten (en de benodigde instellingen) is beschikbaar in de Hardware Notes voor elke versie van FreeBSD. Als gebruik gemaakt wordt van een ondersteunde PCMCIA kaart, stop deze dan in het slot vóór de laptop wordt aangezet. FreeBSD ondersteunt momenteel helaas geen “hot insertion” van PCMCIA-kaarten tijdens de installatie.
Een toe te wijzen IP-adres op het netwerk, het netmask van de adresklasse en de naam voor de te installeren machine moeten ook bekend zijn. Als wordt geïnstalleerd over een PPP-verbinding en er is geen vast IP-adres, wanhoop dan niet. Het IP-adres kan dynamisch toegekend worden door een ISP. Een systeembeheerder kan aangeven welke waarden gebruikt moeten worden voor netwerkinstellingen. Als andere hosts benaderd moeten worden op naam en niet op IP-adres, dan moet ook een nameserver en mogelijk het adres van een gateway opgegeven worden (als PPP wordt gebruikt is dat het IP-adres van de provider). Bij installatie met FTP via een HTTP-proxy moet ook het adres van de proxy bekend zijn. Als het antwoord op één of meerdere vragen niet bekend is, dan moet echt gesproken worden met de systeembeheerder of ISP vóóor dit soort installaties worden uitgevoerd.
Als een modem wordt gebruikt is PPP hoogstwaarschijnlijk de enige mogelijkheid. Er dient informatie over de provider beschikbaar te zijn omdat die redelijk vroeg in het installatieproces nodig is.
Als PAP of CHAP wordt gebruikt om een verbinding te maken
met een ISP (met andere woorden als een verbinding gemaakt kan
worden met een ISP onder Windows® zonder een script te
gebruiken), dan is alles wat gedaan moet worden het ingeven van
het dial
commando op de
ppp prompt. Anders moet bekend zijn
hoe de ISP gebeld moet worden met “AT commando's”
die specifiek zijn voor een modem, aangezien de PPP-dialer
slechts een erg eenvoudige terminal emulator bevat. In het
ppp-gebruikers handboek en de
FAQ staat meer
informatie. Bij problemen kan de log naar het scherm worden
gestuurd met het commando set log local
...
.
Als een hard-wired verbinding naar een andere FreeBSD machine beschikbaar is kan ook overwogen worden te installeren via een “laplink” parallelle poort kabel. De snelheid van een parallelle poort is veel hoger dan wat normaal mogelijk is over een seriële kabel (tot 50 kbytes/sec), resulterend een veel snellere installatie.
De installatie via NFS is redelijk rechttoe-rechtaan. Kopiëer gewoon de FreeBSD distributiebestanden die nodig zijn naar een NFS server en geef die server dan aan in de NFS-media selectie.
Als de server alleen zogenaamde “privileged
ports” toestaat (zoals in z'n algemeenheid de
standaard voor Sun workstations), dan moet ook de optie
NFS Secure
aangezet worden in het menu
voor de installatie verder kan
gaan.
Bij het gebruik van een Ethernetkaart van lage kwaliteit
die last heeft van erg lage overdrachtssnelheden kan ook de
vlag NFS Slow
aangezet worden.
Om de installatie van NFS te laten werken, moet de server
het aankoppelen van submappen ondersteunen. Als bijvoorbeeld
een FreeBSD 11.0 distributie op
ziggy:/usr/archive/stuff/FreeBSD
staat,
dan moet ziggy
toestaan dat
/usr/archive/stuff/FreeBSD
rechtstreeks
wordt aangekoppeld en niet alleen /usr
of /usr/archive/stuff
.
Dit wordt vanuit het FreeBSD-bestand
/etc/exports
geregeld door de opties
-alldirs
. Andere NFS servers kunnen andere
gewoontes hebben. Bij een foutbericht permission
denied van de server is het waarschijnlijk dat
deze niet goed is ingesteld.
Het volgende hoofdstuk behandelt de basiscommando's en functionaliteit van het FreeBSD besturingssysteem. Veel van dit materiaal is relevant voor elk UNIX® achtig besturingssysteem. Als de lezer reeds bekend is met het materiaal, hoeft dit hoofdstuk niet gelezen te worden. Lezer die nog niet eerder met FreeBSD te maken hebben gehad wordt aangeraden door te lezen.
Na het lezen van dit hoofdstuk weet de lezer:
Hoe “virtuele consoles” in FreeBSD gebruikt kunnen worden;
Hoe UNIX® bestandspermissies werken en hoe bestandsvlaggen in FreeBSD werken;
Hoe het standaard FreeBSD bestandssysteem eruit ziet;
Hoe een FreeBSD harde schijf is ingedeeld;
Hoe bestandssystemen gekoppeld en ontkoppeld worden;
Wat processen, daemons en signalen zijn;
Wat een shell is en hoe de standaard omgevingsvariabelen veranderd kunnen worden;
Hoe elementaire tekstverwerkers te gebruiken;
Wat apparaten en apparaatkoppelpunten zijn;
Welk binair formaat FreeBSD gebruikt;
Hoe handleidingen te gebruiken meer informatie.
FreeBSD kan op diverse manieren gebruikt worden. Één van deze manieren is het typen van commando's in een tekstterminal. Veel van de flexibiliteit en kracht van een UNIX® besturingssysteem is gemakkelijk beschikbaar als je FreeBSD op deze manier gebruikt. Dit onderdeel beschrijft wat “terminals ” en “consoles” zijn en hoe je deze kan gebruiken in FreeBSD.
Als FreeBSD niet is ingesteld om automatisch een grafische omgeving te starten tijdens het opstarten, geeft het systeem een login prompt als het gestart is. Dit gebeurt direct nadat de startscripts klaar zijn. Er wordt iets als het volgende getoond:
Additional ABI support:. Local package initialization:. Additional TCP options:. Fri Sep 20 13:01:06 EEST 2002 FreeBSD/i386 (pc3.example.org) (ttyv0) login:
De meldingen op het scherm kunnen wellicht iets anders zijn op een systeem, maar het zal iets soortgelijks zijn. De laatste twee regels zijn de regels waar het nu over gaat. De voorlaatste regel toont:
FreeBSD/i386 (pc3.example.org) (ttyv0)
Deze regel bevat enkele informatie over het systeem dat
net gestart is: dit is een “FreeBSD” console,
draaiend op een Intel of soortgelijke processor op de x86
architectuur.
[1]
De naam van de machine (elke UNIX® machine heeft een
naam) is pc3.example.org
en dit is de console
van het systeem, de ttyv0
terminal.
De laatste regel is altijd:
login:
Dit is het deel waar een “gebruikersnaam” ingevuld moet worden om aan te melden op FreeBSD. Het volgende deel beschrijft hoe dat werkt.
FreeBSD is een multi-user en multi-processing systeem. Dit is de formele beschrijving die meestal gegeven wordt aan een systeem dat gebruikt wordt door meerdere personen die gelijktijdig verschillende programma's draaien op één enkele machine.
Elk multi-user systeem heeft een manier nodig om een “gebruiker” van alle andere gebruikers te kunnen onderscheiden. In FreeBSD (en alle andere UNIX® achtige besturingssystemen), wordt dit bereikt door te eisen dat elke gebruiker moet “aanmelden” op het systeem voordat hij/zij programma's kan draaien. Elke gebruiker heeft een unieke naam (de “gebruikersnaam”) en een persoonlijke, geheime sleutel (het “wachtwoord”). FreeBSD vraagt om deze twee gegevens voordat het een gebruiker toegestaat om programma's te draaien.
Direct nadat FreeBSD is opgestart en de opstartscripts [2] afgerond zijn, wordt een prompt getoond dat vraagt om een geldige aanmeldnaam op te geven.
login:
In dit voorbeeld wordt aangenomen de gebruikersnaam
john
is. Als na deze prompt
john
wordt getype en op
Enter wordt gedrukt, verschijnt hierna
een prompt om het “ wachtwoord” in te
voeren:
login: john
Password:
Nu kan john
's wachtwoord ingevoerd
worden en op Enter gedrukt worden. Het
wachtwoord wordt niet getoond! Daarover
hoeft geen zorg te bestaan. Het is voldoende om te zeggen dat
dit om veiligheidsredenen gedaan wordt.
Als het juiste wachtwoord is ingegeven, is er aangemeld bij op FreeBSD en in het systeem klaar om alle beschikbare commando's uit te voeren.
Na het aanmelden is de MOTD of het
bericht van de dag zichtbaar, gevolgd door een commandoprompt
(een #
, $
of een
%
karakter). Dit geeft aan dat er succesvol
is aangemeld op FreeBSD.
UNIX® programma's draaien in één console is prima, maar FreeBSD kan veel programma's tegelijk draaien. Om maar één console te hebben waar commando's ingetypt kunnen worden zou zonde zijn van een besturingssysteem als FreeBSD waar meerdere programma's tegelijkertijd op kunnen draaien. Hier kunnen “virtuele consoles” van pas komen.
FreeBSD kan ingesteld worden om verschillende virtuele consoles te tonen. Met toetscombinaties kan van de ene console naar de gewisseld worden. Elke console heeft zijn eigen uitvoerkanaal, en FreeBSD zorgt ervoor dat alle toetsenbordinvoer en monitoruitvoer goed wordt gezet als er van de ene console naar de volgende wordt gewisseld.
In FreeBSD kunnen speciale toetscombinaties gebruikt worden om te wisselen naar een ander virtueel console. [3] In FreeBSD kan Alt+F1, Alt+F2 tot en met Alt+F8 gebruikt worden om te wisselen naar een ander virtueel console.
Als wordt gewisseld van de ene naar de andere console zorgt FreeBSD dat de uitvoer bewaard blijft. Het resultaat is een “illusie” van het hebben van meerdere schermen en toetsenborden die gebruikt kunnen worden om commando's in te voeren om FreeBSD te laten draaien. De programma's die in de ene virtuele console draaien, stoppen niet als de console niet zichtbaar is. Ze blijven doordraaien als naar een andere virtuele console wordt gewisseld.
De standaardinstelling van FreeBSD start op met acht virtuele
consoles. Dit is echter geen vaste waarde en een installatie
kan eenvoudig aangepast worden, zodat het systeem gestart
wordt met meer of minder virtuele consoles. De hoeveelheid en
instellingen van de virtuele consoles worden ingesteld in
/etc/ttys
.
/etc/ttys
kan gebruikt worden om
virtuele consoles in te stellen. Elke niet-commentaar
regel in dit bestand (regels die niet beginnen met een
#
karakter) bevat instellingen voor een
terminal of virtuele console. De standaardversie van dit
bestand die meegeleverd wordt met FreeBSD stelt negen virtuele
consoles in en activeert er acht. Dit zijn de regels die
beginnen met ttyv
:
# naam getty type status commentaar # 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
Een uitgebreide beschrijving van elke kolom in dit bestand en alle mogelijke opties voor virtuele consoles staan in de ttys(5) hulppagina gebruiken.
In Paragraaf 13.6.2, “Single-user modus” staat een
gedetailleerde beschrijving van de “single-user
modus”. Het is belanrijk te melden dat er in
single-user modus maar één console is. Er zijn
geen virtuele consoles beschikbaar. De instellingen van de
single-user modus console staan ook in
/etc/ttys
. De regel begint met
console
:
# name getty type status commentaar # # Als een console gemarkeerd is als "insecure", zal het init script om het root-wachtwoord # vragen wanneer het in single-user mode komt. console none unknown off secure
Zoals het commentaar boven de console
regel aangeeft, kan in deze regel het woord
secure
gewijzigd worden in
insecure
. In dat geval vraagt FreeBSD bij
het opstarten in single-user modus nog steeds om een
root
-wachtwoord.
Pas op als dit wordt veranderd in
insecure
. Als het wachtwoord
van de gebruiker root
zoek is,
wordt het opstarten in single-user modus lastig. Het is nog
steeds mogelijk, maar het kan vrij moeilijk zijn voor iemand
die FreeBSD niet zo goed kent met betrekking tot het opstarten
en de programma's die daarbij gebruikt worden.
De FreeBSD standaard video mode kan worden gewijzigd in
1024x768, 1280x1024, of een van de vele andere formaten die
ondersteund worden door de grafische kaart en monitor. Laad de
module VESA
om gebruik te maken van de verschillende
video modes:
#
kldload vesa
Kijk daarna welke video modes er ondersteund worden door de hardware door gebruik te maken van de vidcontrol(1) applicatie. Om een overzicht te krijgen van de ondersteunde video modes moet het volgende ingevoerd worden:
#
vidcontrol -i mode
Het resultaat van dit commando is een lijst van video modes welke ondersteund worden door de hardware. Hierna kan de nieuwe video mode gekozen worden door dit aan te geven aan vidcontrol(1):
#
vidcontrol MODE_279
Als de nieuwe video mode acceptabel is, kan dit permanent
ingesteld worden door het volgende in
/etc/rc.conf
te zetten:
allscreens_flags="MODE_279"
FreeBSD, direct afgeleid van BSD UNIX®, is gebaseerd op verschillende belangrijke UNIX® concepten. Het meest bekende is dat FreeBSD een multi-user systeem is. Het systeem kan meerdere gebruikers behandelen die tegelijkertijd totaal verschillende dingen doen. Het systeem is verantwoordelijk voor het netjes delen en beheren voor aanvragen voor hardware, randapparatuur, geheugen en cpu tijd tussen elke gebruiker.
Omdat het systeem in staat is om meerdere gebruikers te ondersteunen, heeft alles wat door het systeem beheerd wordt een set van rechten die aangeeft wie mag lezen, schrijven en de bron mag uitvoeren. Deze rechten zijn opgeslagen in drie octetten, die weer in drie stukjes onderverdeeld zijn: één voor de eigenaar van het bestand, één voor de groep waar het bestand toe behoort en één voor de overigen. De numerieke weergave werkt als volgt:
Waarde | Recht | Maprecht |
---|---|---|
0 | Niet lezen, niet schrijven, niet uitvoeren | --- |
1 | Niet lezen, niet schrijven, uitvoeren | --x |
2 | Niet lezen, schrijven, niet uitvoeren | -w- |
3 | Niet lezen, schrijven, uitvoeren | -wx |
4 | Lezen, niet schrijven, niet uitvoeren | r-- |
5 | Lezen, niet schrijven, uitvoeren | r-x |
6 | Lezen, schrijven, niet uitvoeren | rw- |
7 | Lezen, schrijven, uitvoeren | rwx |
De -l
optie kan gebruikt worden met
ls(1) om een lange lijst met de inhoud van een map te zien
die een kolom heeft met informatie over bestandsrechten voor de
eigenaar, groep en de rest. ls -l
in een
willekeurige map kan het volgende laten zien:
%
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 ...
Zo ziet de eerste kolom van ls -l
eruit:
-rw-r--r--
Het eerste (meest linkse) karakter geeft aan of dit een
reguliere bestand is, een map, een speciaal karakter
component(!), een socket of een andere pseudo-file component(!).
In dit geval betekent de -
dat het een
regulier bestand is. De volgende drie karakters,
rw-
in dit voorbeeld, geven de rechten voor de
eigenaar van het bestand. De drie karakters
r--
erna geven de rechten van voor de groep van
het bestand. De overige drie karakters r--
tonen de rechten voor alle overige gebruikers. Een streepje betekent dat
de rechten uitgeschakeld zijn. In het geval van dit bestand zijn de
rechten zo ingesteld dat de eigenaar kan lezen en schrijven naar
het bestand, de groep het bestand kan lezen, en alle overige
gebruikers kunnen ook het bestand lezen. Volgens de tabel hierboven
worden de rechten 644
, waar de cijfers de drie
stukjes van de rechten aangeven.
Dit is allemaal leuk en aardig, maar hoe controleert het
systeem dan rechten voor apparaten? FreeBSD behandelt de meeste
hardware apparaten als bestanden die door programma's kunnen
worden geopend en gelezen, en waar data naar toe kan worden
geschreven, net zoals elk ander bestand. Deze speciale apparaat
bestanden worden bewaard in de map
/dev
.
Mappen worden ook behandeld als bestanden. Ze hebben lees,
schrijf en uitvoerbare rechten. De uitvoerbare vlag voor een map
heeft een klein verschil qua betekenis dan die voor gewone
bestanden. Als een map als uitvoerbaar gemarkeerd is, betekent
het dat erin gekeken mag worden. Het is dus mogelijk om te
wisselen naar de map met cd
(wissel van map).
Dit betekent ook dat in de map bestanden benaderd kunnen worden
waarvan de naam bekend is. Dit is natuurlijk afhankelijk van de
rechten op het bestand zelf.
In het bijzonder, om een lijst van de map te kunnen maken, moet een gebruiker leesrechten op de map hebben. Om een bestand te verwijderen zijn de naam van het bestand en schrijf en uitvoerrechten op de map nodig waarin het bestand zich bevindt.
Er zijn meer rechtenvlaggen, maar die worden slechts gebruikt in speciale gevallen, zoals bij setuid binaries en sticky mappen. Meer informatie over bestandsrechten en hoe die aangepast kunnen worden staat in chmod(1).
Symbolische rechten, soms ook wel symbolische expressies, gebruiken karakters in plaats van octale getallen om rechten aan bestanden en mappen te geven. Symbolische expressies gebruiken de volgende opbouw: (wie) (actie) (permissies), waar de volgende waardes beschikbaar zijn:
Optie | Letter | Vertegenwoordigt |
---|---|---|
(wie) | u | Gebruiker |
(wie) | g | Groepseigenaar |
(wie) | o | Overigen |
(wie) | a | Iedereen (“wereld”) |
(actie) | + | Rechten toevoegen |
(actie) | - | Rechten verwijderen |
(actie) | = | Stel deze rechten in |
(recht) | r | Lezen |
(recht) | w | Schrijven |
(recht) | x | Uitvoeren |
(recht) | t | Sticky bit |
(recht) | s | Verander UID of GID |
Deze waardes worden gebruikt met chmod(1), net zoals
eerder, alleen nu met letters. Het volgende commando kan
gebruikt worden om de overige gebruikers toegang tot
BESTAND
te ontzeggen:
%
chmod go= BESTAND
Er kan een door komma's gescheiden lijst geleverd worden als meer dan één wijziging aan een bestand moet worden uitgevoerd. Het volgende commando past de rechten voor de groep en de “wereld” aan door de schrijfrechten te ontnemen om daarna iedereen uitvoerrechten te geven:
%
chmod go-w,a+x BESTAND
Naast de bestandsrechten die hiervoor zijn besproken, biedt FreeBSD ondersteuning voor “bestandsvlaggen.” Deze vlaggen bieden een aanvullend beveiligingsniveau en controle over bestanden, maar niet over mappen.
Bestandsvlaggen voegen een extra niveau van controle over
bestanden, waardoor verzekerd kan worden dat in sommige
gevallen zelfs root
een bestand niet kan
verwijderen of wijzigen.
Bestandsvlaggen worden gewijzigd met het hulpprogramma
chflags(1), dat een eenvoudige interface heeft. Om
bijvoorbeeld de systeemvlag niet verwijderdbaar in te stellen
op het bestand file1
:
#
chflags sunlink file1
Om de vlag niet verwijderbaar weer te verwijderen kan het
voorgaande commando met “no” voor
sunlink
worden uitgevoerd:
#
chflags nosunlink file1
Om de vlaggen op een bestand te bekijken, kan het ls(1)
commando met de vlaggen -lo
gebruikt worden:
#
ls -lo file1
De uitvoer hoort er ongeveer als volgt uit te zien:
-rw-r--r-- 1 trhodes trhodes sunlnk 0 Mar 1 05:54 file1
Een aantal vlaggen kan alleen ingesteld of verwijderd
worden door de gebruiker root
. In andere
gevallen kan de eigenaar van een bestand vlaggen instellen.
Meer informatie voor beheerders staat in chflags(1) en
chflags(2).
Buiten de toestemmingen die reeds besproken zijn, zijn er
nog drie specifieke instellingen waarvan alle beheerders kennis
dienen te hebben. Dit zijn de setuid
-,
setgid
-, en sticky
toestemmingen.
Deze instellingen zijn belangrijk voor sommige UNIX®-bewerkingen omdat ze functionaliteit bieden die normaliter niet aan normale gebruikers wordt gegeven. Om ze te begrijpen, dient ook het verschil tussen de echte gebruikers-ID en de effectieve gebruikers-ID opgemerkt te worden.
De echte gebruikers-ID is de UID die het
proces start of bezit. De effectieve UID is
de gebruikers-ID waaronder het proces draait. Bijvoorbeeld, het
gereedschap passwd(1) draait met de echte gebruikers-ID van
de gebruiker die het wachtwoord verandert; echter, om de
database met wachtwoorden te manipuleren, draait het met de
effectieve ID van de gebruiker root
. Dit
is wat normale gebruikers in staat stelt om hun wachtwoorden te
veranderen zonder een fout Permission
Denied te zien.
De mount(8)-optie nosuid
zorgt
ervoor dat deze binairen zwijgend falen. Dit houdt in dat ze
niet worden uitgevoerd zonder ooit de gebruiker op de hoogte
te stellen. Deze optie is ook niet geheel betrouwbaar
aangezien een nosuid
-wrapper dit volgens de
handleidingpagina mount(8) kan omzeilen.
De setuid-toestemming kan aangezet worden door het cijfer vier (4) voor een toestemmingenverzameling te plaatsen zoals te zien is in het volgende voorbeeld:
#
chmod 4755 suidvoorbeeld.sh
De toestemmingen op het bestand
suidvoorbeeld.sh
dienen er nu als volgt uit
te zien:
-rwsr-xr-x 1 trhodes trhodes 63 Aug 29 06:36 suidvoorbeeld.sh
Het zou in dit voorbeeld te zien moeten zijn dat een
s
nu deel is van de toestemmingenverzameling
bestemd voor de bestandseigenaar, en de uitvoerbare bit
vervangt. Dit staat gereedschappen toe die verhoogde
toestemmingen nodig hebben, zoals passwd
.
Open twee terminals om dit in real-time te zien. Start op
het ene het proces passwd
als een normale
gebruiker. Controleer de procestabel terwijl het op een nieuw
wachtwoord wacht en kijk naar de gebruikersinformatie van het
commando passwd
.
In terminal A:
Changing local password for trhodes Old Password:
In 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
Zoals boven vermeld, wordt passwd
door
een normale gebruiker gedraaid, maar gebruikt het de effectieve
UID van root
.
De setgid
-toestemming voert dezelfde
functie uit als de setuid
-toestemming;
behalve dat het de groepsinstellingen verandert. Wanneer een
applicatie of gereedschap met deze instelling wordt gedraaid,
krijgt het de toestemmingen gebaseerd op de groep die het
bestand bezit, niet op de gebruiker die het proces startte.
Om de setgid
-toestemming op een bestand
aan te zetten, dient een voorlopende twee (2) aan het commando
chmod
gegeven te worden zoals in het volgende
voorbeeld:
#
chmod 2755 sgidvoorbeeld.sh
De nieuwe instelling kan zoals hierboven bekeken worden,
merk op dat de s
nu in het veld bestemd voor
de instellingen van de groepstoestemmingen staat:
-rwxr-sr-x 1 trhodes trhodes 44 Aug 31 01:49 sgidvoorbeeld.sh
In deze voorbeelden zal het shellscript niet met een andere EUID of effectief gebruikers-ID draaien, zelfs al is het shellscript uitvoerbaar. Dit is omdat shellscripts geen toegang hebben tot de setuid(2)-systeemaanroepen.
De eerste twee speciale toestemmingsbits die we besproken
hebben (de toestemmingsbits setuid
en
setgid
) kunnen de systeemveiligheid verlagen,
door verhoogde toestemmingen toe te staan. Er is een derde bit
voor speciale toestemmingen die de veiligheid van een systeem
kan verhogen: de klevende bit
.
De klevende bit
, wanneer deze op een map
is ingesteld, staat alleen het verwijderen van bestanden toe
door de eigenaar van die bestanden. Deze
toestemmingenverzameling is nuttig om het verwijderen van
bestanden in publieke mappen, zoals /tmp
, door gebruikers die het
bestand niet bezitten te voorkomen. Zet een één
(1) voor de toestemming om deze toestemming te gebruiken.
Bijvoorbeeld:
#
chmod 1777 /tmp
Het effect kan nu met het commando ls
bekeken worden:
#
ls -al / | grep tmp
drwxrwxrwt 10 root wheel 512 Aug 31 01:49 tmp
De toestemming klevende bit
is te
onderscheiden met de t
aan het einde van de
verzameling.
De FreeBSD mappenstructuur is erg belangrijk om het systeem goed te leren kennen. Het belangrijkste concept om greep op te krijgen is die van de rootmap, “/”. Deze map is de eerste die gekoppeld wordt tijdens het opstarten en bevat het basissysteem dat nodig is om het besturingssysteem gereed te maken voor multi-user taken. De rootmap bevat ook koppelpunten voor elk ander bestandssysteem dat misschien gekoppeld wordt.
Een koppelpunt is een map waar extra bestandssystemen aan het
een bestandssysteem gekoppeld kunnen worden (meestal het root
bestandssysteem). Dit wordt beschreven
in Paragraaf 4.5, “Organisatie van schijven”. Standaard koppelpunten
zijn /usr
, /var
,
/tmp
, /mnt
en
/cdrom
. Naar deze mappen wordt meestal
verwezen in /etc/fstab
, een tabel met
bestandssystemen en koppelpunten ter referentie voor het systeem.
De meeste bestandssystemen in /etc/fstab
worden automatisch gekoppeld tijdens het opstarten door het script
rc(8), behalve als de optie noauto
gedefinieerd is. Details staan beschreven in Paragraaf 4.6.1, “Het bestand fstab
”.
Een complete beschrijving over het bestandssysteem staat in hier(7). Hier wordt volstaan met een overzicht van de voorkomende mappen.
Map | Omschrijving |
---|---|
/ | Rootmap van het bestandssysteem. |
/bin/ | Gebruikersapplicaties, belangrijk voor zowel single user als multi-user omgevingen. |
/boot/ | Programma's en instellingenbestanden die gebruikt worden tijdens het opstarten van het besturingssysteem. |
/boot/defaults/ | Bestanden met standaardinstellingen voor opstarten;, zie loader.conf(5). |
/dev/ | Apparaatnodes;, zie intro(4). |
/etc/ | Bestanden met systeeminstellingen en scripts. |
/etc/defaults/ | Bestanden met standaard systeeminstellingen;, zie rc(8). |
/etc/mail/ | Instellingenbestanden voor mail transport programma's zoals sendmail(8). |
/etc/namedb/ | Instellingenbestanden voor
named , zie named(8). |
/etc/periodic/ | Scripts die dagelijks, wekelijks en maandelijks via cron(8) worden uitgevoerd, zie periodic(8). |
/etc/ppp/ | Instellingenbestanden voor ppp ,
zie ppp(8). |
/mnt/ | Lege map, veel gebruikt door systeembeheerders als tijdelijk koppelpunt voor opslagruimtes. |
/proc/ | Process bestandssysteem;, zie procfs(5) en mount_procfs(8). |
/rescue/ | Statisch gelinkte programma's voor noodherstel, zie rescue(8). |
/root/ | Thuismap van de gebruiker
root . |
/sbin/ | Systeemprogramma's en administratieprogramma's belangrijk voor zowel single-user en multi-user omgevingen. |
/tmp/ | Tijdelijke bestanden. De inhoud van /tmp blijft meestal NIET
bewaard na een herstart. Er wordt vaak een
geheugengebaseerd bestandssysteem gekoppeld op /tmp . Dit kan
geautomatiseerd worden met de tmpmfs-gerelateerde
variabelen van rc.conf(5) (of met een regel in
/etc/fstab ). Zie mdmfs(8). |
/usr/ | Hier bevindt zich het leeuwendeel van alle hulpprogramma's en gewone programma's. |
/usr/bin/ | Standaard programma's, programmeertools. |
/usr/include/ | Standaard C invoegbestanden. |
/usr/lib/ | Functiebibliotheken. |
/usr/libdata/ | Diverse databestanden voor hulpprogramma's. |
/usr/libexec/ | Systeemdaemons en systeemhulpprogramma's (uitgevoerd door andere programma's). |
/usr/local/ | Lokale programma's, bibliotheken, etc. Wordt ook
gebruikt als standaard locatie voor de FreeBSD ports.
Binnen /usr/local , wordt de
algemene layout bepaald door hier(7), dat ook voor
/usr wordt gebruikt.
Uitzonderingen is de map man, die direct onder
/usr/local ligt in plaats van
onder /usr/local/share , en de
documentatie voor ports is te vinden in
share/doc/port . |
/usr/obj/ | Architectuur afhankelijke doelstructuur voor
resultaten van de bouw van
/usr/src . |
/usr/ports/ | De FreeBSD Portscollectie (optioneel). |
/usr/sbin/ | Systeemdaemons en systeemhulpprogramma's (uitgevoerd door gebruikers). |
/usr/share/ | Architectuur onafhankelijke bestanden. |
/usr/src/ | BSD en/of lokale broncodebestanden. |
/usr/X11R6/ | Uitvoerbare bestanden en bibliotheken, etc, voor de X11R6 distributie (optioneel). |
/var/ | Multifunctionele logboek-, tijdelijke, transparante en spool bestanden. |
/var/log/ | Diverse logboekbestanden van het systeem. |
/var/mail/ | Postbusbestanden van gebruikers. |
/var/spool/ | Diverse printer- en mailsysteemspoolingmappen. |
/var/tmp/ | Tijdelijke bestanden die bewaard worden bij een herstart van het systeem. |
/var/yp/ | NIS maps. |
De kleinste vorm van organisatie die FreeBSD gebruikt om
bestanden te vinden is de bestandsnaam. Bestandsnamen zijn
hoofdlettergevoelig, wat betekent dat
readme.txt
en
README.TXT
twee verschillende bestanden
zijn. FreeBSD gebruikt de extensie niet (.txt
)
van een bestand om te bepalen of het bestand een programma, een
document of een vorm van data is.
Bestanden worden bewaard in mappen. Een map kan leeg zijn of honderden bestanden bevatten. Een map kan ook andere mappen bevatten, wat het mogelijk maakt om een hiërarchie van mappen te maken. Dit maakt het veel makkelijker om data te organiseren.
Bestanden en mappen worden aangegeven door het bestand
of de map aan te geven, gevolgd door een voorwaardse slash,
/
, gevolgd door andere mapnamen die nodig
zijn. Als map foo
de map
bar
bevat, die op zijn beurt het bestand
readme.txt
bevat, dan wordt de volledige
naam of pad naar het bestand
foo/bar/readme.txt
.
Mappen en bestanden worden bewaard op een bestandssysteem. Elk bestandssysteem bevat precies één map op het hoogste niveau die de rootmap van het bestandssysteem heet. Deze rootmap kan op zijn beurt andere mappen bevatten.
Tot zover is dit waarschijnlijk hetzelfde als voor elk ander
besturingssysteem. Er zijn een paar verschillen. MS-DOS®
gebruikt bijvoorbeeld een \
om bestanden en
mappen te scheiden, terwijl Mac OS® gebruik maakt van
:
.
FreeBSD gebruikt geen schijfletters, of andere schijfnamen in
het pad. FreeBSD gebruikt geen
c:/foo/bar/readme.txt
.
Eén bestandssysteem wordt aangewezen als
root bestandssysteem, waar naar wordt
verwezen met /
. Elk ander bestandssysteem
wordt daarna gekoppeld onder het root
bestandssysteem. Hoeveel schijven er ook aan een FreeBSD systeem
hangen, het lijkt alsof elke map zich op dezelfde schijf
bevindt.
Stel er zijn drie bestandssystemen met de namen
A
,B
en
C
. Elk bestandssysteem heeft
één root map die twee andere mappen bevat,
A1
en A2
(zo ook voor de
andere twee: B1
, B2
,
C1
en C2
).
A
wordt het root besturingsysteem. Met
ls
, dat de inhoud van de map kan tonen, zijn
de twee mappen A1
en A2
te
zien. De mappenstructuur ziet er als volgend uit:
Een bestandssysteem moet gekoppeld worden in een map op een
ander bestandssysteem. Als nu bestandssysteem
B
wordt gekoppeld onder de map
A1
vervangt B
A1
en zien de koppelingen in
B
er als volgt uit:
Elk bestand dat in de mappen B1
en
B2
aanwezig is, kan benaderd worden met het
pad /A1/B1
of /A1/B2
.
Elk bestand dat in /A1
stond is tijdelijk
verborgen en komt tevoorschijn als B
is
ontkoppeldvan A.
Als B
gekoppeld is onder
A2
ziet de diagram er als volgt uit:
en de paden zouden dan respectievelijk
/A2/B1
en /A2/B2
zijn.
Bestandssystemen kunnen op elkaar worden gekoppeld. Doorgaand
op het vorige voorbeeld kan het bestandssysteem
C
gekoppeld worden bovenop de map
B1
in het bestandssysteem
B
. Dit resulteert in:
Of C
kan direct onder het bestandssysteem
A
gekoppeld worden, onder de map
A1
:
Hoewel het niet gelijk is, lijkt het op het gebruik van
join
in MS-DOS®.
Beginnende gebruikers hoeven zich hier gewoonlijk niet mee bezig te houden. Normaal gesproken worden bestandssystemen gemaakt als FreeBSD wordt geïnstalleerd en er wordt besloten waar ze gekoppeld worden. Meestal worden ze ook niet gewijzigd tot er een nieuwe schijf aan een systeem wordt toegevoegd.
Het is mogelijk om één groot root bestandssysteem te hebben en geen andere. Deze benadering heeft voordelen en nadelen.
Verschillende bestandssystemen kunnen verschillende
mount opties hebben. Met een goede
voorbereiding kan het root bestandssysteem bijvoorbeeld als
alleen-lezen gekoppeld worden, waardoor het onmogelijk wordt
om per ongeluk kritische bestanden te verwijderen of te
bewerken. Het scheiden van andere bestandssystemen die
beschrijfbaar zijn door gebruikers, zoals
/home
van andere bestandssystemen stelt
de beheerder in staat om ze nosuid te
koppelen. Deze optie voorkomt dat
suid/guid bits
op uitvoerbare bestanden effectief gebruikt kunnen worden,
waardoor de beveiliging mogelijk beter wordt.
FreeBSD optimaliseert automatisch de layout van bestanden op een bestandssysteem, afhankelijk van hoe het bestandssysteem wordt gebruikt. Een bestandsysteem dat veel bestanden bevat waar regelmatig naar geschreven wordt, wordt anders geoptimaliseerd dan een bestandssysteem dat minder maar grotere bestanden bevat. Door het gebruik van één groot bestandssysteem werkt deze optimalisatie niet.
FreeBSD's bestandssystemen zijn erg robuust als er bijvoorbeeld een stroomstoring is, hoewel een stroomstoring op een kritiek moment nog steeds kan leiden tot schade aan de structuur van het bestandssysteem. Door het verdelen van data over meerdere bestandssystemen, is de kans groter dat het systeem nog opstart, wat terugzetten van een back-up makkelijker maakt als dat nodig is.
Bestandssystemen hebben een vaste grootte. Als bij de installatie van FreeBSD een bestandssysteem wordt gemaakt, is het later mogelijk dat de partitie groter gemaakt moet worden. Dit is niet zo makkelijk zonder een back-up, het opnieuw maken van het bestandssysteem met gewijzigde grootte en het terugzetten van de geback-upte gegevens.
FreeBSD heeft growfs(8) waarmee de grootte van het bestandssysteem is aan te passen terwijl het draait.
Bestandssystemen worden opgeslagen in partities. Dit
betekent niet hetzelfde als de algemene betekenis van de term
partitie (bijvoorbeeld, MS-DOS® partitie), vanwege FreeBSD's UNIX®
achtergrond. Elke partitie wordt geïdentificeerd door een
letter van a
tot en met h
.
Elke partitie kan slechts één bestandssysteem
hebben, wat betekent dat bestandssystem vaak omschreven worden
aan de hand van hun koppelpunt in de bestandssysteem
hiërarchie of de letter van de partitie waar ze in
opgeslagen zijn.
FreeBSD gebruikt ook schijfruimte voor wisselbestanden. Wisselbestanden geven FreeBSD virtueel geheugen. Dit geeft de computer de mogelijkheid om net te doen alsof er veel meer geheugen in de machine aanwezig is dan werkelijk het geval is. Als FreeBSD geen geheugen meer heeft, verplaatst het data die op dat moment niet gebruikt wordt naar de wisselbestanden en plaatst het terug als het wel nodig is (en zet iets anders in ruil daarvoor terug).
Aan sommige partities zijn bepaalde conventies gekoppeld.
Partitie | Conventie |
---|---|
a | Bevat meestal het root bestandssysteem |
b | Bevat meestal de swapruimte |
c | Heeft meestal dezelfde grootte als de hele harde
schijf. Dit geeft hulpprogramma's de mogelijkheid
om op een complete schijf te werken (voor bijvoorbeeld een
bad block scanner) om te werken op de
c partitie. Meest wordt hierop dan
ook geen bestandssysteem gecreeërd. |
d | Partitie d had vroeger een
speciale betekenis, maar die is verdwenen.
d zou nu kunnen werken als een normale
partitie. |
Elke partitie die een bestandssysteem bevat is opgeslagen in wat FreeBSD noemt een slice. Slice is FreeBSD's term voor wat meeste mensen partities noemen. Dit komt wederom door FreeBSD's UNIX® achtergrond. Slices zijn genummerd van 1 tot en met 4.
Slicenummers volgen de apparaatnamen, voorafgegaan door een
s
die begint bij 1. Dus
“da0s1” is de eerste slice op
de eerste SCSI drive. Er kunnen maximaal vier fysieke slices op
een schijf staan, maar er kunnen logische slices in fysieke
slices van het correcte type staan. Deze uitgebreide slices zijn
genummerd vanaf 5. Dus “ad0s5”
is de eerste uitgebreide slice op de eerste IDE schijf. Deze
apparaten worden gebruikt door bestandssystemen waarvan verwacht
wordt dat ze een slice in beslag nemen.
Slices, “gevaarlijk toegewijde” (dangerously
dedicated) fysieke drivers en andere drives bevatten
partities, die worden weergegeven door
letters vanaf a
tot h
.
Deze letter wordt achter de apparaatnaam geplakt. Dus
“da0a” is de a partitie op de
eerste da drive, die “gevaarlijk toegewijd” is.
“ad1s3e” is de vijfde partitie
op de derde slice van de tweede IDE schijf.
Elke schijf op het systeem wordt geïdentificeerd. Een schijfnaam start met een code die het type aangeeft en dan een nummer dat aangeeft welke schijf het is. In tegenstelling tot bij slices, start het nummeren van schijven bij 0. Standaardcodes staan beschreven in Tabel 4.1, “Schijf apparaatcodes”.
Bij een referentie aan een partitie verwacht FreeBSD ook dat
de slice en schijf refereert naar die partitie en als naar een
slice wordt verwezen moet ook de schijfnaam genoemd worden. Dit
kan door de schijfnaam, s
, het slice nummer
en de partitieletter aan te geven. Voorbeelden staan in Voorbeeld 4.1, “Voorbeeld schijf-, slice- en partitienamen”.
In Voorbeeld 4.2, “Conceptmodel van een schijf” staat een conceptmodel van een schijflayout die een en ander verduidelijkt.
Voordat FreeBSD geïnstalleerd kan worden moeten eerst de schijfslices gemaakt worden en daarna moeten de partities op de slices voor FreeBSD gemaakt worden. Daarna wordt op elke partitie het bestandssysteem (of wisselbestand) gemaakt en als laatste wordt besloten waar het filesysteem gekoppeld wordt.
Code | Betekenis |
---|---|
ad | ATAPI (IDE) schijf |
da | SCSI directe toegang schijf |
acd | ATAPI (IDE) CDROM |
cd | SCSI CDROM |
fd | Floppydisk |
Name | Betekenis |
---|---|
ad0s1a | De eerste partitie (a ) op de
eerste slice (s1 ) op de eerste IDE
schijf (ad0 ). |
da1s2e | De vijfde partitie (e ) op de
tweede slice (s1 ) op de tweede SCSI
schijf (da1 ). |
Het onderstaande diagram geeft aan hoe FreeBSD de eerste IDE
schijf in het systeem ziet. Stel dat de schijf 4 GB groot
is en dat deze twee 2 GB slices (MS-DOS® partities)
bevat. De eerste slice bevat een MS-DOS® schijf,
C:
en de tweede slice bevat een FreeBSD
installatie. Deze FreeBSD installatie heeft drie partities en
een partitie met een wisselbestand.
De drie partities hebben elk een bestandssysteem. Partitie
a
wordt gebruikt voor het root
bestandssysteem, e
voor de map
/var
en f
voor de map
/usr
.
Het bestandssysteem wordt het best weergegeven als een boom,
met de stam als /
.
/dev
, /usr
en de andere
map in root zijn takken die weer hun eigen takken kunnen hebben,
zoals /usr/local
, etc.
Er zijn verschillende redenen om sommige van deze mappen
op aparte bestandssystemen te plaatsen.
/var
bevat de mappen
log/
, spool/
en
verschillende types tijdelijke bestanden en kan volraken. Het
laten vollopen van het root bestandssysteem is geen goed idee,
dus het splitsen van /var
van
/
is vaak de favoriet.
Een andere vaak voorkomende reden om bepaalde mapbomen op aparte bestandssystemen te plaatsen, is om ze op verschillende fysieke schrijven te zetten of gescheiden virtuele schijven zoals gemounte Netwerk bestandssystemen of cd-rom drives.
Tijdens het opstartproces,
worden bestandssystemen die vermeld staan in
/etc/fstab
automatisch gekoppeld
(tenzij ze vermeld staan met noauto
).
/etc/fstab
bevat een lijst van regels
die aan het volgende formaat voldoen:
apparaat
/koppelpunt
fstype
opties
dumpfreq
passno
apparaat
Een apparaatnaam (die moet bestaan) zoals uitgelegd in Paragraaf 19.2, “Apparaatnamen”.
koppelpunt
Een map (die moet bestaan) waarop het bestandssysteem gekoppeld moet worden.
fstype
Het bestandssysteem type dat aan mount(8)
gegeven wordt. Het standaard FreeBSD bestandssysteem is
ufs
.
opties
Dit is of rw
voor lezen en
schrijven bestandssytemen, of ro
voor
alleen lezen, gevolgd door elke andere optie die mogelijk
nodig is. Een standaard optie is noauto
voor bestandssystemen die niet automatisch gekoppeld
worden tijdens het opstarten. Andere opties staan in
mount(8).
dumpfreq
Dit wordt gebruikt door dump(8) om te bepalen welke bestandssystemen gedumpt moeten worden. Als het veld niet is ingevuld, wordt aangenomen dat er een nul staat.
passno
Dit bepaalt in welke volgorde bestandssystemen
gecontroleerd moeten worden. Bestandssystemen die
overgeslagen moeten worden moeten hun
passno
waarde op nul hebben staan.
Voor het root bestandssysteem (dat voor alle andere
gecontroleerd moet worden) moet passno
op één staan en passno
waarden voor andere bestandssystemen moeten een waarde
hebben groter dan één. Als bestandssysteem
dezelfde passno
waarde hebben probeert
fsck(8) deze bestandssystemen tegelijkertijd
te controleren.
In fstab(5) staat meer informatie over de opmaak van
/etc/fstab
en de mogelijke opties.
mount(8) wordt gebruikt om bestandsystemen te koppelen.
De meest eenvoudige vorm is:
#
mount apparaat koppelpunt
Alle opties voor het commando staat in mount(8), maar de meest voorkomende zijn:
-a
Mount alle bestandssystemen die in
/etc/fstab
staan, behalve die
gemarkeerd staan als “noauto”, uitgesloten
zijn door de optie -t
of die al
gekoppeld zijn.
-d
Doe alles behalve het echt aanroepen van de systeemopdracht
mount
. Deze optie is handig in samen met de
optie -v
om te bepalen wat mount(8)
eigenlijk probeert te doen.
-f
Forceert het koppelen van een niet schoon bestandssysteem (gevaarlijk) of forceert het innemen van schrijftoegang als de koppelstatus van een bestandssysteem wijzigt van lezen en schrijven naar alleen lezen.
-r
Mount het bestandssysteem alleen lezen. Dit is
identiek aan de optie ro
voor de optie -o
.
-t
fstype
Mount het opgegeven bestandssysteem als het opgegeven
type bestandssysteem of koppelt alleen bestandssystemen
van het aangegeven type als ook de optie
-a
is opgegeven.
“ufs” is het standaard bestandssysteem.
-u
Werk koppel opties van het bestandssysteem bij.
-v
Geef uitgebreide informatie (verbose).
-w
Mount het bestandssysteem lezen en schrijven.
De optie -o
accepteert een door komma's
gescheiden lijst van opties, waaronder de volgende:
Sta geen uitvoerbare bestanden toe op dit bestandssysteem. Ook dit is een nuttige veiligheidsoptie.
Interpreteer geen setuid of setgid opties op het bestandssysteem. Ook dit is een nuttige veiligheidsoptie.
umount(8) heeft een koppelpunt, een apparaatnaam,
-a
of -A
als
parameter.
Alle vormen kunnen de optie -f
hebben om
een bestandsysteem te forceren te ontkoppelen en de optie
-v
voor uitgebreide informatie. De optie
-f
is meestal geen goed idee. Forceren dat
een bestandssysteem ontkoppeld wordt kan de computer laten
crashen of data op het bestandssysteem beschadigen.
De opties -a
en -A
worden gebruikt om alle bestandssystemen te unmounten,
mogelijk nader gespecificeerd door de optie -t
met daarachter op welke typen bestandssystemen het betrekking
heeft. Voor de optie -A
geldt dat deze niet
probeert het root bestandssysteem te ontkoppelen.
FreeBSD is een multi-tasking besturingssysteem. Dit betekent dat het lijkt alsof er meer dan één proces tegelijkertijd draait. Elk programma dat draait wordt een proces genoemd. Elk commando dat wordt uitgevoerd start op zijn minst één nieuw proces en er zijn systeemprocessen die continu draaien om het systeem functioneel te houden.
Elk proces wordt geïdentificeerd door een nummer dat
process ID of PID
heet, en net zoals bij bestanden heeft elk proces
één eigenaar en groep. De eigenaars- en
groepsinformatie wordt gebruikt om te bepalen welke bestanden en
apparaten het proces mag openen, waarbij gebruik wordt gemaakt
van de bestandsrechten die eerder zijn behandeld. Veel processen
hebben ook een ouderproces (parent process). Een ouderproces is
een proces dat het nieuwe proces heeft gestart. Als commando's
in een shell worden ingevoerd, start de shell een proces en elk
commando dat draait is ook een proces. De uitzondering hierop is
het speciale proces init(8). init
is
altijd het eerste proces, dus het PID is altijd 1.
init
wordt automatisch gestart door de kernel
als FreeBSD opstart.
Twee commando's die erg handig zijn om te zien welke
processen er draaien zijn ps(1) en top(1).
ps
wordt gebruikt om een statische lijst op te
vragen van de processen die op het moment van uitvoeren draaien
en kan hun PID, geheugengebruik, de startende commandoregel,
enzovoort, tonen. top
geeft alle draaiende
processen weer en werkt de status elke paar seconden bij zodat
interactief wordt weergegeven wat een computer aan het doen
is.
Standaard laat ps
alleen zien welke
commando's draaien waarvan de gebruiker die het uitvoert de
eigenaar is:
%
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
In het bovenstaande voorbeeld is de uitvoer van ps(1)
georganiseerd in een aantal kolommen. PID
is het proces ID. PIDs worden toegekend vanaf 1 en lopen op tot
99999. Als ze allemaal zijn gebruikt, worden ze hergebruikt.
(een PID wordt niet hergebruikt als deze reeds in gebruik is). De
TT
kolom toont de tty vanwaar het programma
draait en wordt nu buiten beschouwing gelaten.
STAT
toont de huidige staat van het programma
en ook deze kolom wordt buiten beschouwing gelaten.
TIME
is de hoeveelheid tijd die het programma
gedraaid heeft op de CPU. Dit is meestal niet de verstreken
tijd vanaf het moment dat het programma is gestart. Veel
programma's wachten omdat er alleen gebruik wordt gemaakt van de
CPU als er iets voor het programma te doen is. Als laatste is
COMMAND
de commandoregel die gebruikt is
om het programma te starten.
ps(1) ondersteunt een aantal opties die de informatie
wijzigen die wordt weergegeven. Één van de meest
nuttige combinaties is auxww
. De optie
a
toont informatie over alle draaiende
processen, niet alleen die van de gebruiker die is aangemeld. De
optie u
toont de gebruikersnaam van de
proceseigenaar, evenals geheugengebruik. De optie
x
toont informatie over daemonprocessen en met
de optie ww
laat ps(1) de volledige
commandoregel zien voor elk proces, in plaats van een mogelijk
afgekorte regel omdat die te lang is om op het scherm te
passsen.
De uitvoer van top(1) is hetzelfde:
%
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 ...
De uitvoer is gesplitst in twee secties. De kop (de eerste vijf regels) toont het laatst uitgegeven PID, de gemiddelde systeembelasting (hoe druk is een systeem), de uptime van het systeem (tijd verstreken sinds laatste reboot) en de huidige tijd. De andere cijfers in de kop tonen hoeveel processen er draaien (in dit geval 47) , hoeveel geheugen en swap er gebruikt wordt en hoeveel processortijd het systeem besteed aan verschillende taakgroepen.
Daaronder staat een serie van kolommen die soortgelijke informatie bevatten als de uitvoer van ps(1). Zo zijn het PID, de gebruikersnaam, de hoeveelheid processortijd en het commando dat gebruikt is om het proces te starten te zien. top(1) laat standaard ook zien hoeveel geheugen er gebruikt wordt door een proces. Dit staat in twee kolommen waarbij in de eerste kolom het maximale geheugengebruik wordt getoond en in de tweede kolom het huidige geheugengebruik. Maximale gebruik is de hoeveelheid geheugen die het proces nodig had in de tijd dat het bestaat en het residente gebruik is hoeveel er op het moment van weergeven gebruikt wordt. In dit voorbeeld is zichtbaar dat Netscape® bijna 30 MB RAM nodig had, maar op het moment van uitvoeren 9 MB verbruikt.
top(1) werkt het beeld automatisch iedere twee seconden
bij. Dat kan gewijzigd worden met de optie
s
.
Als een gebruiker een editor draait is het makkelijk om de editor te besturen, te vertellen om bestanden te openen, etc. Dit kan omdat de editor de mogelijkheden geeft om dat te doen en omdat de editor gekoppeld is aan een terminal. Sommige programma's zijn niet ontworpen om te draaien met continue gebruikersinvoer, dus als zij de kans krijgen ontkoppelen zij zich van de terminal. Een webserver reageert bijvoorbeeld de hele dag op webaanvragen en heeft eigenlijk geen input van een lokale gebruiker nodig. Programma's die email van locatie naar locatie transporteren zijn een ander voorbeeld.
Deze programma's heten daemons. Daemons waren karakters in de Griekste mythologie, goed noch slecht, ze waren dienende geesten die op grote schaal nuttige dingen deden voor de mensheid. Net zoals de huidige webservers en mailservers nuttige dingen doen. Dit is waarom de mascotte voor BSD al lang een vrolijk kijkende daemon met puntoren en een drietand is.
Er is een overeenkomst om programma's die meestal draaien als
daemon te voorzien van het achtervoegsel “d”.
BIND is de Berkeley Internet Name
Domain (het echte programma heet named
), de
Apache webserver heet
httpd
, de printerspooldriver heet
lpd
, etc. Deze overeenkomst geldt niet
altijd. De hoofd maildaemon voor
Sendmail heet bijvoorbeeld
sendmail
en niet
maild
.
Soms is communicatie met een daemon nodig. Een manier om dit te
doen is het versturen van een signaal (signals).
Er zijn een verschillende signalen. Sommige hebben een specifieke
bedoeling, andere worden geïntrepeteerd door de applicatie.
In de documentatie van de applicatie staat hoe de applicatie
signalen intrepeteert. Er kan alleen een signaal naar een proces
gezonden worden waar de uitvoerende gebruiker eigenaar van is.
Als met kill(1) of kill(2) een signaal naar een proces
van een andere gebruiker wordt gestuurd, wordt de toegang
geweigerd. De enige uitzondering hierop is de
root
gebruiker, die signalen naar processen
van alle gebruikers kan sturen.
FreeBSD stuurt soms ook signalen naar applicaties. Als een
applicatie slecht geschreven is en hij probeert geheugen te
benaderen waar hij niet naartoe mag, stuurt FreeBSD het proces een
Segmentation Violation signaal
(SIGSEGV
). Als een applicatie de
systeemaanroep alarm(3) heeft gebruikt om na een bepaalde
periode een alarm te ontvangen, wordt er een Alarm signaal
heen gestuurd (SIGALRM
), etc.
Twee signalen kunnen gebruikt worden om een proces te
stoppen: SIGTERM
en
SIGKILL
. SIGTERM
is de
nette manier om een proces te killen. Het proces kan het signaal
afvangen, begrijpen dat de eigenaar wil dat
het wordt afgesloten, wellicht logboekbestanden sluiten die
geopend zijn en alle onderhanden activiteiten afhandelen. In een
aantal gevallen kan een proces SIGTERM
negeren: als het midden in een taak zit die niet beëindigd
kan worden.
SIGKILL
mag niet worden genegeerd door een
proces. Dit is het “Wat je ook aan het doen bent, stop er
nu mee” signaal. Na een SIGKILL
stopt FreeBSD het proces meteen.
[4]
Andere veelgebruikte signalen zijn SIGHUP
,
SIGUSR1
en SIGUSR2
. Dit
zijn algemeen bruikbare signalen en verschillende applicaties
zullen verschillend reageren als ze verstuurd worden.
Stel dat het bestand met instellingen voor de webserver is
aangepast. Dan moet aan de webserver verteld worden dat die de
instellingen opnieuw moet lezen. Hiervoor zou
httpd
gestopt en gestart kunnen worden, maar
dit resulteert in een korte onderbreking van de webserverdienst,
wat ongewenst kan zijn. De meeste daemons zijn geschreven om te
reageren op het SIGHUP
signaal door het
opnieuw inlezen van het instellingenbestand. Dus in plaats van
het stoppen en herstarten van httpd
kan het
SIGHUP
signaal gezonden worden. Omdat er geen
standaard manier is om op deze signalen te reageren, reageren
verschillende daemons anders. Het is verstandig eerst de
documentatie van de daemon in kwestie te lezen.
Zoals onderstaand voorbeeld laat zien, worden signalen door kill(1) verzonden.
Dit voorbeeld toont hoe een signaal naar inetd(8)
wordt verstuurd. Het bestand met instellingen voor
inetd
is
/etc/inetd.conf
en
inetd
leest dit bestand opnieuw in als er
een SIGHUP
wordt verstuurd.
Eerst moet het proces ID worden opgezocht van het proces waar een signaal naar verzonden moeten worden. Dit kan door pgrep(1) te gebruiken.
%
pgrep -l inetd
198 inetd -wW
Dus het PID van inetd(8) is 198.
Met kill(1) kan het signaal verzonden worden. Omdat
inetd(8) wordt gedraaid door root
moet su(1) gebruikt worden om root
te worden.
%
su
Password:
#
/bin/kill -s HUP 198
Zoals zovaak met UNIX® commando's, geeft kill(1)
geen uitvoer als het succesvol uitgevoerd is. Als een
signaal wordt verzonden naar een proces waarvan de gebruiker
niet zelf de eigenaar is, dan is de melding: kill:
PID
: Operation not
permitted. Als het PID verkeerd wordt
ingevuld, wordt het signaal naar het verkeerde proces
verzonden, wat slecht kan zijn, of, als de gebruiker geluk
heeft, wordt het verzonden naar een PID dat momenteel niet in
gebruik is, waarop de foutmelding kill:
PID
: No such process
verschijnt.
/bin/kill
gebruiken?: Veel shells leveren kill
als
ingebouwd commando. Dat betekent dat de shell het
signaal direct verstuurt in plaats van door het starten van
/bin/kill
. Dit kan erg nuttig zijn,
maar verschillende shells hebben een verschillende
opdrachtregel voor het specificeren van de naam van het
signaal dat verstuurd moet worden. In plaats van ze
allemaal te leren, is het eenvoudiger om gewoon
/bin/kill PID
te gebruiken.
Andere signalen versturen werkt bijna hetzelfde door
TERM
of KILL
op de
commandoregel te vervangen door wat nodig is.
Het stoppen van willekeurige processen op een systeem is
meestal een slecht idee. In het bijzonder bij init(8) met
proces ID 1. Het draaien van /bin/kill -s KILL
1
is een snelle manier om een systeem uit te
zetten. Argumenten die aan kill(1) worden meegegeven
moeten altijd twee keer gecontroleerd
worden voordat op Enter
gedrukt wordt.
In FreeBSD wordt een groot deel van het alledaagse werk
gedaan vanuit een omgeving met een commandoregel die shell heet.
De grootste taak van een shell is om commando's van het
invoerkanaal op te vangen en deze uit te voeren. Veel shells
hebben ook functies ingebouwd om mee te helpen om alledaagse
taken zoals bestandsbeheer, bestandsglobbing, bestanden wijzigen
vanaf de commandoregel, commandomacro's schrijven en uitvoeren en
omgevingsvariabelen instellen en wijzigen. FreeBSD heeft een aantal
shells bijgeleverd zoals sh
, de Bourne Shell
en tcsh
, de verbeterde C-shell. Er zijn veel
andere shells beschikbaar in de FreeBSD Portscollectie zoals
zsh
en bash
.
Welke shell gebruiken? Dit is een kwestie van smaak. Een
C–programmeur voelt zich misschien prettiger bij een
C–achtige shell, zoals tcsh
. Een
voormalig Linux® gebruiker of iemand die niet veel ervaring
heeft met een UNIX® commandoregel interface wil misschien
bash
proberen. Elke shell heeft zijn eigen
unieke eigenschappen die wel of niet werken voor een bepaalde
gebruiker.
Een standaard optie in een shell is bestandsnaam completie.
Door het intikken van de eerste paar letters van een commando of
bestandsnaam, kan de shell opdracht gegeven worden om automatisch
de rest het commando of bestandsnaam toe te voegen met de
Tab toets op het toetsenbord. Stel dat er twee
bestanden zijn met de namen foobar
en
foo.bar
en foo.bar
moet
verwijderd worden. Dan kan op het toetsenbord
rm fo[Tab].[Tab]
ingevoerd worden.
De shell geeft rm foo[BEEP].bar
weer.
De [BEEP] geeft aan dat de shell in staat was om de
bestandsnaam te completeren omdat er meer dan één
soortgelijk bestand was. foobar
en
foo.bar
beginnen met fo
,
maar het was in staat om het af te maken tot
foo
. Na het invoeren van een
.
en daarna Tab, is de shell
in staat om de rest van de bestandsnaam aan te vullen.
Een andere optie van de shell is het gebruik van omgevingsvariabelen. Omgevingsvariabelen zijn variabele sleutelparen die opgeslagen zijn in de omgevingsruimte van een shell. Deze ruimte kan uitgelezen worden door elk programma dat door de shell wordt uitgevoerd en bevat dus veel programmainstellingen. Hieronder staat een lijst van standaard omgevingsvariabelen en wat ze betekenen:
Variabele | Omschrijving |
---|---|
USER | Gebruikersnaam van de gebruiker die is aangemeld. |
PATH | Een lijst van mappen, gescheiden door een
: voor het zoeken naar binaire
bestanden. |
DISPLAY | Netwerknaam van het X11 scherm om verbinding mee te maken, indien beschikbaar. |
SHELL | De huidige shell. |
TERM | De naam van de huidige gebruikersterminal. Gebruikt om de mogelijkheden van de terminal te bepalen. |
TERMCAP | Databaseregel met terminal escape codes voor het uitvoeren van diverse terminalfuncties. |
OSTYPE | Type besturingssysteem, bijvoorbeeld FreeBSD. |
MACHTYPE | De CPU architectuur waar het systeem op draait. |
EDITOR | De teksteditor waar de gebruiker de voorkeur aan geeft. |
PAGER | De tekstpager waar de gebruiker de voorkeur aan geeft. |
MANPATH | Lijst van mappen gescheiden door een
: voor het zoeken naar
handleidingen. |
Het instellen van omgevingsvariabelen verschilt van shell tot
shell. In de C–achtige shells zoals
tcsh
en csh
moet
setenv
gebruikt worden om omgevingsvariabelen
in te stellen. In Bourne-shells zoals sh
en
bash
moet export
gebruikt
worden om de omgevingsvariabelen in te stellen. Om bijvoorbeeld
de omgevingsvariabele EDITOR
te wijzigen naar
/usr/local/bin/emacs
onder
csh
of tcsh
moet het
volgende gedaan worden:
%
setenv EDITOR /usr/local/bin/emacs
In Bourne shells is dat:
%
export EDITOR="/usr/local/bin/emacs"
Met de meeste shells kunnen de omgevingsvariabelen ook
weergegeven worden door een $
karakter voor
de variabelenaam te plaatsen op de commandoregel.
echo $TERM
zou weergeven wat er in
$TERM
gezet is, omdat de shell
$TERM
uitbreid en het resultaat doorgeeft aan
echo
.
Shells kennen veel speciale karakters, die meta-karakters
heten, als speciale weergaves van data. De meest voorkomende is
het karakter *
karakter, dat elk
karakter in een bestandsnaam voorstelt. Deze speciale
meta-karakters kunnen gebruikt worden om bestandsnaamglobbing te
doen. Door bijvoorbeeld echo *
in te voeren,
is het resultaat bijna hetzelfde als door het uitvoeren van
ls
, omdat de shell alle bestanden die
van toepassing zijn aan echo geeft om ze daarna te tonen.
Om te voorkomen dat de shell deze speciale tekens
verwerkt, kunnen ze uitgeschakeld worden door er het backslash
karakter (\
) voor te plaatsen.
echo $TERM
print de inhoud van TERM naar het
scherm. echo \$TERM
print $TERM zoals het
geschreven is.
De makkelijkste manier om de shell te wijzigen is
door het chsh
commando te gebruiken.
Door chsh
te starten wordt de editor gestart
die in de EDITOR
omgevingsvariable staat. Als
deze niet is ingesteld, wordt vi
gestart. In de editor kan de regel waarop
“Shell:” staat gewijzigd worden.
Aan chsh
kan ook de optie
-s
meegegeven worden. Dit stelt de shell in,
zonder dat een editor gebruikt hoeft te worden. Als de shell
bijvoorbeeld gewijzigd moet worden in bash
,
kan dat als volgt:
%
chsh -s /usr/local/bin/bash
De te gebruiken shell moet
geregistreerd zijn in /etc/shells
. Als
een shell uit de Portscollectie
is geïnstalleerd, is dit meestal automatisch gebeurd.
Als de shell met de hand is geïnstalleerd moet het
onderstaande gedaan worden.
Als bijvoorbeeld bash
met de hand
geïnstalleerd is in /usr/local/bin
,
dient het onderstaande te gebeuren:
#
echo "/usr/local/bin/bash" >> /etc/shells
Hierna kan chsh
weer gedraaid
worden.
Een groot deel van de instellingen in FreeBSD wordt gemaakt door het bewerken van tekstbestanden. Hierdoor is het een goed idee om bekend te zijn met een tekstverwerker. FreeBSD heeft er een paar in het basissysteem en veel anderen zijn beschikbaar via de Portscollectie.
De makkelijkste en simpelste editor om te leren is de editor
ee, wat “easy editor”
betekent. Om ee te starten, moet op
de commandoregel ee
bestandsnaam
ingevoerd
worden, waar bestandsnaam
de naam is
van het bestand dat bewerkt moet worden. Om bijvoorbeeld
/etc/rc.conf
te bewerken, wordt
ee /etc/rc.conf
ingegeven. Eenmaal in
ee
worden alle manipulatie commando's die de
editor heeft weergegeven aan de bovenkant van het scherm. Het
karakter dakje ^
staat voor de toets
CTRL op het toetsenbord, dus
^e
vormt de toetscombinatie Ctrl+e.
Om uit ee te komen wordt op de toets
Esc gedrukt en daar kan gekozen worden om de
editor te verlaten. De editor vraagt dan of de wijzigingen
bewaard moeten worden als het bestand veranderd is.
FreeBSD heeft ook uitgebreidere tekstverwerkers, zoals vi, in het basissysteem en andere editors als Emacs en vim maken onderdeel uit van de FreeBSD Portscollectie (editors/emacs en editors/vim). Deze editors leveren veel meer functionaliteit en kracht maar zijn lastiger om te leren. Als echter veel met tekstverwerking gedaan wordt, is het leren van een krachtige editor als vim of Emacs verstandig omdat deze uiteindelijk veel tijd kan besparen.
Veel applicaties die bestanden wijzigen of getypte invoer
nodig hebben zullen automatisch een tekstverwerker openen. Om de
tekstverwerker te wijzigen die standaard wordt gebruikt, stelt u
de omgevingsvariabele EDITOR
in. Zie de sectie
shells voor meer details.
Apparaat is een term die meestal wordt gebruikt
voor hardwareonderdelen in een systeem, zoals schijven, printers
grafische kaarten en toetsenborden. Als FreeBSD opstart laat het
vooral zien welke apparaten gedetecteerd worden. Deze
opstartmeldingen kunnen nagekeken worden door het bestand
/var/run/dmesg.boot
te bekijken.
acd0
is bijvoorbeeld de eerste IDE
cd-rom drive, terwijl kbd0
staat voor
het toetsenbord.
Veel van deze apparaten moeten in een UNIX®
besturingssysteem benaderd worden via speciale bestanden die
apparaatnodes heten en te vinden zijn in de map
/dev
.
Als een nieuw apparaat wordt toegevoegd aan een systeem of als ondersteuning voor extra apparaten wordt gecompileerd, dan moeten er misschien nieuwe apparaat nodes aangemaakt worden.
Het apparaatbestandssysteem of DEVFS
,
levert toegang tot de apparaatruimte van de kernel in het
globale bestandssysteem. In plaats van dat het nodig is om
apparaatnodes te maken en te wijzigen, doet
DEVFS
dit.
In devfs(5) staat meer informatie.
Om te kunnen begrijpen waarom FreeBSD gebruik maakt van het elf(5) formaat, is het belangrijk op de hoogte zijn van de drie “dominante” uitvoerbare formaten voor UNIX®:
Het oudste en “klassieke” UNIX® object formaat. Het gebruikt een korte en compacte kop met een magisch nummer aan het begin dat veel gebruikt wordt om het formaat aan te geven (a.out(5) geeft meer details). Het bevat drie laadbare segmenten: .tekst, .data en .bss, een symbolentabel en een stringtabel.
COFF
Het SVR3 object formaat. De kop bestaat uit een sectietabel, dus er kunnen meer dan alleen .tekst, .data, en .bss secties zijn.
De opvolger van COFF, heeft meerdere secties en 32-bit of 64-bit als mogelijke waarden. Één nadeel: ELF was ook ontworpen met de aanname dat er maar één ABI per systeemarchitectuur zou zijn. Deze aanname is eigenlijk redelijk incorrect, zelfs niet in de commerciële SYSV wereld (die op zijn minst drie ABIs heeft: SRV4, Solaris en SCO).
FreeBSD probeert om dit probleem heen te werken door een hulpprogramma te leveren voor het brandmerken van een bekend ELF uitvoerbaar bestand met informatie over de ABI waar hij mee kan werken. In brandelf(1) staat meer informatie.
FreeBSD komt uit het “klassieke” kamp en gebruikt
het a.out(5) formaat, een technologie die zich bewezen heeft
door meerdere generaties van BSD versies heen, tot het begin van
de 3.X versies. Alhoewel het al mogelijk was om
ELF programma's en kernels te bouwen en te
draaien op een FreeBSD systeem , verzette FreeBSD zich eerst tegen de
druk om over te schakelen naar ELF als
standaard formaat. Waarom? Toen het Linux® kamp hun pijnlijke
wissel maakte naar ELF, was dat niet zozeer
om van het a.out
formaat af te komen, maar
meer omdat van het op de inflexibele jump-tabel gebaseerde
gedeelde bibliotheekmechanisme af te komen, die het maken van
gedeelde bibliotheken erg moeilijk maakte voor bedrijven en
ontwikkelaars. Omdat de ELF hulprogramma's
een oplossing voor het gedeelde bibliotheek probleem waren en
algemeen gezien werden als een “stap vooruit”,
werd de migratie geaccepteerd als noodzakelijk kwaad en werd de
wissel uitgevoerd. Het gedeelde bibliotheek mechanisme van FreeBSD
is meer gebaseerd op het gedeelde bibliotheek mechanisme van
Sun's SunOS™ en daardoor erg makkelijk te gebruiken.
Waarom zijn er zoveel verschillende formaten?
In het duistere donkere verleden was er simpele hardware.
Deze simpele hardware ondersteunde een simpel klein systeem.
a.out
was volledig adequaat voor de taak om
binaire bestanden op dat simpele systeem te vertegenwoordigen
(een PDP-11). Toen mensen UNIX® van deze machine gingen porten,
behielden ze het a.out
formaat omdat het
voldeed voor de vroege ports van UNIX® naar architecturen
als Motorola 68k, VAXen, enzovoort.
Toen besloot een slimme hardware engineer dat als hij de
software kon forceren om wat simpele truckjes te doen, hij in
staat was om een paar onderdelen van het ontwerp af te schaven,
waardoor zijn processorcore sneller kon draaien. Terwijl men
probeerde om het met deze nieuwe vorm van hardware te laten
werken (vandaag de dag beter bekend als RISC),
was a.out
te beperkt voor deze hardware.
Dus werden er vele formaten ontworpen om betere prestaties te
krijgen uit deze hardware dan het simpele formaat
a.out
kon leveren. Toen werden
COFF, ECOFF en een paar
andere duistere formaten uitgevonden en werden de limieten
verkend, waarna men besloot om zich te richten op
ELF.
Daarnaast werden programma's groter en bleven schijven (en
fysiek geheugen) relatief klein, zodat het concept van een
gedeelde bibliotheek werd geboren. Het VM systeem werd ook meer
verfijnd. Terwijl al deze verbeteringen bereikt werden door het
a.out
formaat, werd het nut met elke nieuwe
eigenschap verder uitgerekt. Daarnaast wilde men dingen
dynamisch laden tijdens het starten of delen weggooien nadat het
programma zijn intiële code had gedraaid om te blijven
hangen in het hoofdgeheugen en in de wisselbestanden. Talen
werden verder verfijnd en men wilde dat code automatisch werd
aangeroepen voor main. Er werden veel hacks gedaan in het
a.out
formaat om alles mogelijk te maken en
dit werkte ook enige tijd. Na verloop van tijd was
a.out
niet meer in staat om alle problemen
te adresseren zonder toenemende overhead in code en
complexibiliteit. Hoewel ELF veel van deze
problemem verhielp, was het moeilijk om te wisselen naar een
systeem dat compleet anders werkte. Dus moest
ELF wachten totdat het pijnlijker was om
a.out
te behouden dan het te migreren naar
ELF.
Met het verstrijken van de tijd, werden de bouwprogramma's die FreeBSD heeft afgeleid van hun bouwprogramma's (vooral de assembler en de loader) ontwikkeld in twee parallel lopende takken. De FreeBSD tree voegde gedeelde bibliotheken toe en heeft wat bugs opgelost. De mensen van GNU die deze programma's hebben geschreven, hebben ze herschreven en simpelere ondersteuning toegevoegd voor het bouwen van cross-compilers, waarbij verschillende formaten zo nodig ingevoegd konden worden, enzovoort. Omdat veel mensen cross-compilers wilden bouwen die gericht waren op FreeBSD, hadden die pech, omdat de oudere broncode van FreeBSD voor as en ld niet opgewassen was tegen deze taak. De nieuwe GNU programmaketen (binutils) ondersteunt cross-compiling, ELF, gedeelde bibliotheken, C++ extensies, enzovoort. Daarnaast leveren veel leverancierds ELF binaire bestanden en is het goed voor FreeBSD om het te draaien.
ELF heeft meer expressiemogelijkheden dan
a.out
en geeft meer
uitbreidingsmogelijkheden aan het basissysteem. De
ELF hulpprogramma's worden beter onderhouden
en geven de mogelijkheid tot ondersteuning voor cross compilatie,
wat voor veel mensen belangrijk is. ELF is
misschien iets trager dan a.out
, maar
het meten daarvan kan vrij lastig zijn. Er zijn ook ontelbare
verschillen tussen de twee in hoe ze pages opslaan,
initiële code verwerken, enzovoort. Geen van allen zijn ze
erg belangrijk, maar er zijn verschillen. Na verloop van tijd
verdwijnt de ondersteuning voor a.out
uit de
GENERIC
kernel en uiteindelijk ook helemaal
uit de kernel als de noodzaak voor a.out
gebaseerde programma's voorbij is.
De meest uitvoerige documentatie van FreeBSD is geschreven
in de vorm van handleidingen. Bijna elk programma op het
systeem heeft een kleine handleiding die uitlegt wat de
basisopties en verschillende argumenten doen. Deze
handleidingen bekeken worden met man
. Het
gebruik van man
gaat als volgt:
%
man commando
commando
is de naam van het commando
waar meer informatie over getoond moet worden. Om bijvoorbeeld
meer informatie weer te geven over ls
kan
het volgende uitgevoerd worden:
%
man ls
De handleidingen zijn opgedeeld in genummerde onderdelen:
Gebruikerscommando's.
Systeemaanroepen en foutnummernummers.
Functies in de C bibliotheken.
Apparaatdrivers.
Bestandsindelingen.
Spelletjes en andere afleidingen.
Diverse informatie.
Systeemonderhoud en commando's
Kernelontwikkelaars.
In sommige gevallen kan een bepaald onderwerp vaker
voorkomen in een onderdeel van de handleidingen. Er is
bijvoorbeeld een gebruikerscommando chmod
en een systeemaanroep chmod()
. In deze
gevallen kan man
aangegeven worden welke
documentatie weer te geven door het specificeren van het
onderdeel:
%
man 1 chmod
Dit geeft de handleiding van het gebruikerscommando
chmod
weer. Verwijzingen naar een bepaald
onderdeel van de handleiding worden traditioneel tussen haakjes
geplaatst: chmod(1) verwijst naar het commando
chmod
en chmod(2) verwijst naar de
systeemaanroep.
Dit werkt prima als de naam van het commando bekend is en
alleen informatie nodig is over hoe het commando gebruikt kan
worden, maar wat als de naam van het commando niet bekend is?
Dan kan man
gebruikt worden om naar
trefwoorden te zoeken in de commandobeschrijvingen door de
optie -k
te gebruiken:
%
man -k mail
Met dit commando wordt een overzicht getoond met commando's
die het trefwoord “mail” in hun omschrijving
hebben. Dit is gelijk aan het commando
apropos
.
Dus om meer informatie over spannende commando's met een
onbekende functie in /usr/bin
te krijgen
is het volgende commando voldoende:
%
cd /usr/bin
%
man -f *
Het onderstaande commando resulteert in hetzelfde:
%
cd /usr/bin
%
whatis *
FreeBSD heeft veel applicaties en hulpmiddelen die gemaakt
zijn door de Free Software Foundation (FSF). Als extraatje
voor de documentatie hebben deze programma's uitgebreidere
html bestanden die info
bestanden heten,
die uitgelezen kunnen worden met info
of,
als emacs is geïnstalleerd, de
infomodus van emacs.
info(1) wordt als volgt gebruikt:
%
info
h
geeft een korte beschrijving en
?
toont een kort
commando–overzicht.
[1] Dit betekent i386
. Let op: ook al
draait FreeBSD niet op een Intel 386 processor, toch is dit
een i386
. Het is niet het type
processor, maar de processor
“architectuur”.
[2] Opstart scripts zijn programma's die automatisch gestart worden tijdens het opstarten. Het hoofddoel van deze programma's is om dingen goed te zetten zodat alle andere programma's ook kunnen draaien, en om services te starten die je geconfigureerd hebt om bruikbare zaken in de achtergrond te doen.
[3] Een redelijk technische en accurate beschrijving van alle details over de FreeBSD console en toetsenborddrivers staan in de hulppagina's van syscons(4), atkbd(4), vidcontrol(1) en kbdcontrol(1). Hier wordt niet verder op ingegaan, maar de geïnteresseerde lezer kan altijd de hulppagina's raadplegen voor meer details en een grondige uitleg over hoe alles werkt.
[4] Dit is niet geheel waar. Er zijn een aantal dingen die niet onderbroken kunnen worden. Als het proces bijvoorbeeld een bestand probeert uit te lezen dat op een andere computer in het netwerk staat en de andere computer is verdwenen (uitgezet of het netwerk heeft een fout), dan wordt er gezegd dat het proces niet “onderbroken” kan worden. Uiteindelijk loopt het proces uit de tijd, meestal na twee minuten. Zodra het uit de tijd loopt, wordt het proces alsnog gestopt.
FreeBSD bevat een grote collectie aan systeemgereedschappen als onderdeel van het basissysteem. De mogelijkheden reiken echter niet heel ver en daarom is er snel een applicatie van een andere partij nodig. FreeBSD bevat twee complementaire technologieën om andere applicaties te installeren: de FreeBSD Portscollectie (voor het installeren vanuit broncode) en pakketten (voor het installeren vanuit voorgecompileerde binaire bestanden). Beide systemen kunnen gebruikt worden om de nieuwste versies van een gewenste applicatie te installeren van lokale media of rechtstreeks van het netwerk.
Na het lezen van dit hoofdstuk weet de lezer:
Hoe binaire softwarepakketten van derden te installeren;
Hoe software van derden vanuit de Portscollectie vanuit broncode te installeren;
Hoe eerder geïnstalleerde pakketten of ports te verwijderen;
Hoe standaardwaarden die door de ports worden gebruikt te wijzigen;
Hoe het juiste softwarepakket te vinden;
Hoe applicaties bij te werken.
Als u eerder gebruik heeft gemaakt van een UNIX®-systeem dan is het bekend dat de standaardprocedure voor het installeren van software van derden ongeveer als volgt is:
Download de software als broncode of als binair bestand;
Pak de software uit vanuit zijn originele distributietype (meestal een tar-bestand gecomprimeerd met compress(1), gzip(1), of bzip2(1));
Zoek de documentatie (meestal een
INSTALL
of README
bestand of enkele bestanden in een submap
doc/
) en lees zorgvuldig hoe de software
geïnstalleerd moet worden;
Als de software als broncode is gedistribueerd, moet de
broncode gecompileerd worden. Dit kan wijzigingen in een
Makefile
vereisen of het draaien van een
configure
script en andere
werkzaamheden;
De software installeren en testen.
En dat geldt alleen als alles goed gaat. Als er een softwarepakket geïnstalleerd wordt dat niet specifiek gemaakt is voor FreeBSD moet mogelijkerwijs zelfs de code aangepast worden om alles goed te laten werken.
Als de gebruiker het wenst, kan hij in FreeBSD doorgaan met het installeren van software op de “traditionele” manier. FreeBSD levert echter twee technologieën die veel moeite kunnen besparen: pakketten en ports. Op dit moment zijn zo meer dan 24,000 applicaties beschikbaar.
Voor iedere gewenste applicatie is het FreeBSD pakket voor die applicatie één te downloaden bestand. Het pakket bevat voorgecompileerde kopiën met alle commando's voor de applicatie en alle instellingenbestanden of documentatie. Een gedownload pakketbestand kan gemanipuleerd worden met FreeBSD pakketbeheercommando's zoals pkg_add(1), pkg_delete(1), pkg_info(1), enzovoort. Het installeren van een nieuwe applicatie kan met één commando.
Een FreeBSD port van een applicatie is een groep bestanden ontworpen om het proces van compileren van een applicatie vanuit broncode te automatiseren.
Het is te vergelijken met de stappen die normaal gevolgd worden om een programma te compileren (downloaden, uitpakken, aanpassen, compileren en installeren). De bestanden die samen een port vormen bevatten alle noodzakelijke informatie om het systeem dit te laten doen. Met een aantal eenvoudige commando's wordt de broncode voor de applicatie automatisch gedownload, uitgepakt, aangepast, gecompileerd en geïnstalleerd.
Het portssysteem kan zelfs gebruikt worden om pakketten te
maken die later weer gemanipuleerd kunnen worden met
pkg_add
en andere pakketbeheercommando's,
waarover later meer uitleg wordt gegeven.
Zowel pakketten als ports kennen afhankelijkheden
(dependencies). Stel dat er een applicatie
geïnstalleerd gaat worden die er vanuit gaat dat een
specifieke bibliotheek wordt geïnstalleerd. Zowel de
applicatie als de bibliotheek zijn beschikbaar als FreeBSD ports
en pakketten. Als het commando pkg_add
of
het portssysteem wordt gebruikt om de applicatie toe te voegen,
dan zien beiden dat de bibliotheek niet geïnstalleerd is
en wordt deze automatisch eerst geïnstalleerd.
Gezien het feit dat beide technologieën vrijwel identiek zijn, kan de vraag rijzen waarom FreeBSD de moeite neemt om beide te faciliteren. Pakketten en ports hebben ieder hun eigen kracht. Welke gebruikt wordt hangt af van voorkeuren en omstandigheden.
Een gecomprimeerd pakket tar-bestand is meestal kleiner dan het gecomprimeerde tar-bestand met de broncode van de applicatie;
Pakketten vereisen geen additionele compilatie. Voor grote applicaties als Mozilla, KDE of GNOME kan dit belangrijk zijn, vooral als een systeem wat trager is;
Pakketten vereisen geen begrip van het proces van het compileren van software op FreeBSD.
Pakketten worden meestal gecompileerd met conservatieve opties, omdat ze moeten draaien op een maximaal aantal systemen. Bij het installeren vanuit de port kunnen de compilatie-instellingen aangepast worden om zo bijvoorbeeld code te maken die specifiek voor een Pentium 4 of een Athlon processor is;
Sommige applicaties hebben compilatie-instellingen gerelateerd aan wat ze wel of niet kunnen doen. Apache kan bijvoorbeeld ingesteld worden met een uitgebreide hoeveelheid verschillende ingebouwde instellingen. Door vanuit de port te werken hoeven niet alle standaardinstellingen geaccepteerd te worden en kunnen ze ingesteld worden;
In sommige gevallen zijn er meerdere pakketten voor
dezelfde applicatie om specifieke instellingen aan te geven.
Ghostscript is bijvoorbeeld
beschikbaar als een ghostscript
pakket
en ghostscript-nox11
pakket,
afhankelijk van het al dan niet geïnstalleerd hebben van
een X11 server. Deze ruwe vorm van tweaking is mogelijk met
pakketten, maar dit wordt snel onmogelijk als een applicatie
meer dan één of twee verschillende
compilatie-instellingen heeft;
De licentievoorwaarden van sommige softwaredistributies verbieden binaire distributie. Ze moeten dus gedistribueerd worden als broncode;
Sommige mensen vertrouwen binaire distributies niet. Broncode kan tenminste (in theorie) zelf doorgelezen en gecontroleerd worden op potentiële problemen;
Als er lokale modificaties zijn, is de broncode nodig om ze toe te passen;
Sommige mensen hebben graag de broncode zodat ze die kunnen lezen als ze zich vervelen, erin kunnen hacken, code kunnen overnemen (indien de licentie dit toestaat natuurlijk), enzovoort.
Om vernieuwingen van ports bij te houden kan een abonnement genomen worden op de FreeBSD ports mailinglijst en/of de FreeBSD ports bugs mailinglijst.
Voordat een applicatie wordt geïnstalleerd is het aan
te raden op http://vuxml.freebsd.org/
na kijken of er geen beveiligingsproblemen voor de gewenste
applicatie bekend zijn.
Het is ook mogelijk om ports-mgmt/portaudit te installeren,
dat automatisch alle geïnstalleerde applicaties
controleert op bekende fouten. Deze controle wordt ook
uitgevoerd voordat een port wordt geïnstalleerd.
Met het commando portaudit -F -a
kunnen de pakketten die al geïnstalleerd zijn worden
gecontroleerd.
In de rest van dit hoofdstuk wordt uitgelegd hoe pakketten en ports gebruikt kunnen worden om software in FreeBSD te installeren en te beheren.
Voordat een applicatie geïnstalleerd kan worden, moeten de doelen bekend zijn en hoe de applicatie heet.
De lijst met voor FreeBSD beschikbare applicaties groeit continu. Gelukkig zijn er een aantal manieren om te zoeken:
Op de FreeBSD website staat een recente doorzoekbare lijst met alle beschikbare applicaties: http://www.FreeBSD.org/ports/. De ports zijn onderverdeeld in categorieën. Er kan naar een applicatie gezocht worden op naam (als die bekend is) of alle applicaties in een categorie kunnen bekeken worden.
Dan Langille onderhoudt FreshPorts op http://www.FreshPorts.org/
. FreshPorts
volgt veranderingen in applicaties in de ports en biedt de
mogelijkheid om of meer ports te volgen. Er wordt dan een
email gestuurd als de port is bijgewerkt.
Als de naam van de gewenst applicatie niet bekend is, is
het wellicht mogelijk deze te achterhalen via een website als
Freecode (http://www.freecode.com/
)
en kan daarna op de FreeBSD site gecontroleerd worden of de
applicatie al geschikt gemaakt is voor gebruik met
FreeBSD.
Als de precieze naam van de port bekend is, maar niet
bekend is in welke categorie deze staat, kan dit achterhaald
worden met whereis(1). Door simpelweg whereis
bestand
in te geven,
waar bestand
het te installeren
programma is. Als het op het systeem staat, wordt dat als
volgt aangegeven:
#
whereis lsof
lsof: /usr/ports/sysutils/lsof
Dit geeft aan dat lsof
(een
systeemhulpprogramma) in de map
/usr/ports/sysutils/lsof
staat.
U kunt ook een eenvoudig echo(1)-statement gebruiken om uit te zoeken waar een port zich in te ports tree bevindt. Bijvoorbeeld:
#
echo /usr/ports/*/*lsof*
/usr/ports/sysutils/lsof
Merk op dat dit alle overeenkomstige bestanden die
gedownload zijn in de map /usr/ports/distfiles
terruggeeft.
Nog een andere manier om een port op te sporen is door het
ingebouwde zoekmechanisme van de Portscollectie te
gebruiken. Hiervoor moet het huidige pad de map
/usr/ports
zijn. Vanuit die map kan
make search
name=programmanaam
uitgevoerd worden, waar
programmanaam
de naam is van het
programma dat wordt gezocht. Als bijvoorbeeld
lsof
wordt gezocht:
#
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:
Het belangrijkste onderdeel van de uitvoer is in dit geval de regel waarop “Path:” staat, omdat die aangeeft waar de port staat. De andere informatie is niet nodig voor de installatie van de port en wordt hier niet behandeld.
Voor nog dieper zoeken kan ook make
search
key=string
gebruikt worden waar string
tekst is
waarnaar gezocht moet worden. Hiermee wordt naar namen van
ports, commentaar, beschrijvingen en afhankelijkheden gezocht
en dit kan gebruikt worden om ports te vinden die te maken
hebben met een bepaald onderwerp als onbekend is hoe het
gezochte programma heet.
In beide gevallen is de zoekstring niet hoofdlettergevoelig. Zoeken naar “LSOF” geeft hetzelfde resultaat als zoeken naar “lsof”.
Er zijn verschillende gereedschappen die gebruikt worden om pakketten op FreeBSD te beheren:
Het gereedschap sysinstall
kan op een
draaiend systeem worden gebruikt om beschikbare en
geïnstalleerde pakketten te installeren, te verwijderen,
en weer te geven. Zie voor meer informatie Paragraaf 2.10.11, “Pakketten installeren”.
De opdrachtregelgereedschappen om pakketten te beheren, welke het onderwerp van de rest van deze sectie zijn.
Met pkg_add(1) kan een FreeBSD softwarepakket geïnstalleerd worden vanaf een lokaal bestand of vanaf een server op het netwerk.
#
ftp -a ftp2.FreeBSD.org
Connected to ftp2.FreeBSD.org. 220 ftp3.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
Als er lokaal geen bron is voor pakketten (zoals de FreeBSD
CD-ROM-verzameling) dan is het waarschijnlijk makkelijker om de
-r
optie te gebruiken met pkg_add(1).
Deze optie zorgt er voor dat het hulpprogramma automatisch het
correcte formaat en de juiste versie bepaalt en die daarna
binnenhaalt en installeert vanaf een FTP site.
#
pkg_add -r lsof
Het voorbeeld hierboven haalt het correcte pakket binnen
en installeert het zonder dat de gebruiker iets hoeft te doen.
Als u een alternatieve FreeBSD Pakkettenmirror wilt specificeren,
in plaats van de hoofddistributiesite, dan moet u de
omgevingsvariabele PACKAGESITE
overeenkomstig
instellen om de standaardinstellingen aan te passen.
pkg_add(1) gebruikt fetch(3) om de bestanden binnen te
halen, dat gebruik maakt van diverse omgevingsvariabelen zoals
FTP_PASSIVE_MODE
, FTP_PROXY
, en
FTP_PASSWORD
. Mogelijk moeten ook
één of meer van deze variabelen gebruikt worden
als een machine achter een firewall staat of als gebruik
gemaakt moet worden van een FTP/HTTP proxy. In fetch(3)
staat de complete lijst. In het voorbeeld hierboven is gebruik
gemaakt van lsof
in plaats van
lsof-4.56.4
. Als het pakket wordt
binnengehaald met behulp van de bovenstaande instellingen, dan
moet het versienummer van het pakket niet gebruikt worden.
pkg_add(1) haalt automatisch de laatste versie van de
applicatie binnen.
pkg_add(1) downloadt de meest recente versie van een
applicatie als FreeBSD-CURRENT of FreeBSD-STABLE. Als een
-RELEASE versie wordt gebruikt, wordt het pakket dat bij die
release hoort gebruikt. Het is mogelijk dit gedrag te
veranderen door PACKAGESITE
te wijzigen. Als u
bijvoorbeeld FreeBSD 8.1-RELEASE draait, dan haalt
pkg_add(1) standaard de pakketten uit
ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.1-release/Latest/
.
Om pkg_add(1) de FreeBSD 8-STABLE pakketten te laten
downloaden kan PACKAGESITE
ingesteld worden op
ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/Latest/
.
Pakketbestanden worden gedistribueerd in de formaten
.tgz
en .tbz
. Ze
zijn te vinden op ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/
of op de FreeBSD CD-ROM-distributie. Iedere CD-ROM in de
FreeBSD 4-CD-ROM-verzameling (en de PowerPak, enzovoort) bevat
pakketten in de map /packages
. De opbouw
van de pakketten is ongeveer gelijk aan die van
/usr/ports
. Iedere categorie heeft zijn
eigen map en ieder pakket staat ook in de map
All
.
De mappenstructuur van het pakkettensysteem is gelijk aan die van het portssysteem. Samen vormen ze het pakket/portssysteem.
pkg_info(1) is een hulpprogramma dat de diverse geïnstalleerde pakketten toont en beschrijft.
#
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) is een hulpprogramma dat een samenvatting van de versie van alle geïnstalleerde pakketten geeft. Het vergelijkt de versie van het pakket met de huidige versie in de Portscollectie.
#
pkg_version
cvsup = docbook = ...
De symbolen in de tweede kolom geven aan hoe de geïnstalleerde versie staat ten opzichte van de versie die beschikbaar is in de lokale Portscollectie.
Symbool | Betekenis |
---|---|
= | De versie van het geïnstalleerde pakket komt overeen met die in de lokale Portscollectie. |
< | De geïnstalleerde versie is ouder dan die beschikbaar is in de ports. |
> | De geïnstalleerde versie is nieuwer dan die in de lokale Portscollectie. De lokale Portscollectie is waarschijnlijk verouderd. |
? | Het geïnstalleerde pakket kan niet gevonden worden in index van de Portscollectie. Dit kan bijvoorbeeld gebeuren als een geïnstalleerde port uit de Portscollectie wordt verwijderd of hernoemd. |
* | Er zijn meerdere versies van het pakket. |
! | Het geïnstalleerde pakket bestaat in de index
maar om de een of andere reden was
pkg_version niet in staat om het
versienummer van het geïnstalleerde pakket met de
overeenkomstige ingang in de index te
vergelijken. |
Voor het verwijderen van een geïnstalleerd pakket wordt het hulpprogramma pkg_delete(1) gebruikt.
#
pkg_delete xchat-1.7.1
Merk op dat pkg_delete(1) de volledige naam en het
volledige nummer van het pakket nodig heeft; het bovenstaande
commando zou niet werken als xchat
in plaats van xchat-1.7.1
was
gegeven. Het is echter eenvoudig om pkg_version(1) te
gebruiken om de versie van het geïnstalleerde pakket te
achterhalen. U zou ook eenvoudigweg een wildcard kunnen
gebruiken:
#
pkg_delete xchat\*
In dit geval zullen alle pakketten waarvan de naam met
xchat
begint worden verwijderd.
In de volgende paragrafen worden basisinstructies gegeven
over het gebruik van de Portscollectie om programma's op een
systeem te installeren of ervan te verwijderen. Een
gedetailleerde beschrijving van de make
-doelen
en omgevingsvariabelen staat in ports(7).
Sinds eind 2012 is het FreeBSD Ports Project bezig om het versiebeheersysteem te migreren van CVS naar Subversion. Als gevolg hiervan zijn deze instructies aan verandering onderhevig. Het aanbevolen mechanisme voor algemeen gebruik van de ports is Portsnap. Gebruikers die lokale aanpassingen van ports nodig hebben (dus aanvullende lokale patches beheren) zullen er waarschijnlijk de voorkeur aan geven om rechtstreeks Subversion te gebruiken. De dienst CVSup wordt per 28 februari 2013 uitgefaseerd en verder gebruik wordt ontmoedigd.
De Portscollectie is een verzameling van
Makefiles
, patches en bestanden met
beschrijvingen in /usr/ports
. Deze verzameling
bestanden wordt gebruikt om applicaties op FreeBSD te bouwen en te
installeren. De onderstaande instructies laten verschillende methodes
zien om de Portscollectie te verkrijgen als dit niet tijdens de
initiële installatie van FreeBSD is gebeurd.
Portsnap is een snel en gebruiksvriendelijk gereedschap om de Portscollectie te verkrijgen en de aanbevolen manier voor de meeste gebruikers. Zie Portsnap gebruiken voor een gedetailleerde beschrijving van Portsnap.
Download een gecomprimeerde momentopname van de Portscollectie
naar /var/db/portsnap
.
#
portsnap fetch
Pak de momentopname bij het eerste gebruik van
Portsnap uit naar /usr/ports
:
#
portsnap extract
Nadat het eerste gebruik van Portsnap
is voltooid zoals hierboven is aangegeven, kan /usr/ports
worden bijgewerkt
met:
#
portsnap update
Als meer controle over de ports-boom nodig is (om bijvoorbeeld lokale veranderingen te beheren) kan Subversion worden gebruikt om de Portscollectie te verkrijgen. Zie de Subversion Primer voor een gedetailleerde beschrijving van Subversion.
Subversion moet geïnstalleerd zijn voordat het gebruikt kan worden om de ports-boom uit te checken. Als er reeds een kopie van de ports-boom aanwezig is, installeer dan Subversion als volgt:
#
cd /usr/ports/devel/subversion
#
make install clean
Als de ports-boom niet beschikbaar is, kan Subversion worden geïnstalleerd als een pakket:
#
pkg_add -r subversion
Als pkgng wordt gebruikt om pakketten te beheren, kan Subversion in plaats daarvan worden geïnstalleerd met:
#
pkg install subversion
Check een kopie van de ports-boom uit. Gebruik voor een
betere prestatie een specifieke Subversion
mirror dichtbij u in plaats van
svn.FreeBSD.org
in onderstaand commando.
Committers dienen eerst de Subversion
Primer te lezen om er zeker van te zijn dat het juiste
protocol is gekozen.
#
svn checkout svn://svn.FreeBSD.org/ports/head /usr/ports
Om /usr/ports
na de
initiële checkout met Subversion bij te
werken:
#
svn update /usr/ports
Het gebruik van CVsup om de Portscollectie te verkrijgen en te synchroniseren wordt ontmoedigd als onderdeel van een migratie naar Subversion. Hoewel het ondersteund blijft zal de dienst niet meer worden geleverd na 28 februari 2013.
Dit is een snelle methode voor het verkrijgen en bijhouden van een kopie van Portscollectie met behulp van het CVSup-protocol. Meer informatie over CVSup staat in CVSup gebruiken.
De implementatie van het CVSup-protocol dat met FreeBSD wordt geleverd heet csup.
Zorg ervoor dat
/usr/ports
leeg is
voordat csup voor het eerst
gebruikt wordt! Als er reeds een Ports Collectie aanwezig is
die via een andere bron is opgehaald, zal
csup verwijderde patchbestanden
niet verwijderen.
Draai csup
:
#
csup -L 2 -h cvsup.FreeBSD.org /usr/share/examples/cvsup/ports-supfile
Wijzig cvsup.FreeBSD.org
in een CVSup server in de buurt.
In CVSup Mirrors
(Paragraaf A.7.7, “CVSup sites”) staat een complete lijst
van mirrorsites;
Het kan wenselijk zijn een aangepaste
ports-supfile
te gebruiken,
bijvoorbeeld om een CVSup
server niet mee te hoeven geven op de
commandoregel.
Kopieer in dit geval, als
root
,
/usr/share/examples/cvsup/ports-supfile
naar een nieuwe locatie, zoals /root of een
thuismap.
Wijzig ports-supfile
.
Wijzig
CHANGE_THIS.FreeBSD.org
in
een CVSup server in de
buurt. In CVSup
Mirrors (Paragraaf A.7.7, “CVSup sites”)
staat een volledige lijst met mirrorsites.
Roep nu als volgt csup
aan:
#
csup -L 2 /root/ports-supfile
Het later draaien van csup(1) zal alle recente veranderingen aan uw Portscollectie downloaden en toepassen, behalve het eigenlijke herbouwen van ports voor uw eigen systeem.
Bij deze methode wordt sysinstall gebruikt om de Portscollectie van installatiemedia te installeren. Hier wordt wel de Portscollectie op het moment dat de release gemaakt is geïnstalleerd. Bij toegang tot Internet is het advies altijd een andere methode te gebruiken.
Draai als root
sysinstall
zoals hieronder aangegeven:
#
sysinstall
Scroll naar beneden en selecteer Enter.
, druk opScroll naar beneden en selecteer Enter.
, druk opScroll naar Space.
, druk opScroll naar boven naarEnter.
, druk opSelecteer de gewenste installatiemedia, zoals CD-ROM, FTP, enzovoort.
Scroll omhoog naar Enter.
en druk opDruk op X om sysinstall af te sluiten.
Per 28 februari 2013 zal de ports-boom niet langer naar CVS worden en daarom geëxporteerd zullen CVSup en csup niet langer updates voor de Portscollectie bieden.
De migratie zal ongeveer 1 GB aan schijfruimte op /usr
nodig hebben, en
Portsnap zal ongeveer 150 MB aan
schijfruimte op /var
nodig
hebben.
Schakel alle automatische updates aan ports die u gebruikt, zoals een cron(8)-taak die CVSup of csup uit.
Verplaats de bestaande ports-boom naar een tijdelijke lokatie:
#
mv /usr/ports /usr/ports.old
Haal de nieuwe ports-boom met
Portsnap op en pak deze uit in
/usr/ports
:
#
portsnap fetch extract
Verplaats distfiles en bewaarde pakketten naar de nieuwe ports-boom:
#
mv /usr/ports.old/distfiles /usr/ports
#
mv /usr/ports.old/packages /usr/ports
Verwijder de oude ports-boom:
#
rm -rf /usr/ports.old
Indien voorheen CVSup gebruikt werd, kan het nu worden gedeïnstalleerd:
#
pkg_delete -r -v cvsup-without-gui-\*
Gebruikers van pkgng kunnen het volgende commando gebruiken:
#
pkg remove cvsup-without-gui
Zie Portsnap gebruiken voor een gedetailleerde beschrijving van Portsnap en hoe de ports-boom met Portsnap bij te werken.
Het eerste wat uitleg behoeft als het over de Portscollectie gaat is de term “skelet” (“skeleton”). In een notendop is een portskelet een minimaal aantal bestanden dat FreeBSD aangeeft hoe een programma gecompileerd en geïnstalleerd kan worden. Ieder portskelet bevat:
Een Makefile
. De
Makefile
bevat verschillende
definities die aangeven hoe de applicatie gecompileerd moet
worden en waar die op een systeem geïnstalleerd moet
worden;
Een bestand distinfo
. Dit bestand
bevat informatie over de bestanden die gedownload moeten
worden om de port te bouwen, en hun checksums (door gebruik
te maken van sha256(1)), om vast te
stellen dat de bestanden niet corrupt zijn geraakt tijdens
de download;
Een map files
. Deze map bevat
patches om het programma op een FreeBSD systeem te laten
compileren en installeren. Patches zijn in essentie kleine
bestanden waarin kleine veranderingen aan andere,
specifieke, bestanden staan aangegeven. Ze zijn opgesteld
in platte tekst en er staan dingen in als “Verwijder
regel 10” of “Wijzig regel 26 in
...”. Patches staan ook wel bekend als
“diffs” omdat ze gemaakt worden met het
programma diff(1).
Deze map kan ook andere bestanden bevatten die gebruikt worden om de port te bouwen;
Een bestand pkg-descr
. Dit is een
meer gedetailleerde beschrijving van het programma, vaak in
één regel;
Een bestand pkg-plist
. Dit is een
lijst met alle bestanden die door de port
geïnstalleerd worden. Het geeft het portssysteem ook
aan welke bestanden bij het verwijderen van de port weer
verwijderd kunnen worden.
Sommige ports bevatten nog andere bestanden, zoals
pkg-message
. Het portssysteem gebruikt
die bestanden voor het afhandelen van bijzondere situaties.
Meer details over die bestanden en over ports in het algemeen
zijn na te lezen in het FreeBSD Handboek
voor Porters.
De port bevat instructies over hoe de broncode gebouwd moet worden, maar de broncode zelf is er geen onderdeel van. De broncode staat op een CD-ROM of op Internet. De broncode wordt verspreid op de wijze waarop de auteur dat wenst. Vaak is dat als een tar of gzip bestand, maar het kan ook ingepakt zijn met een ander programma of helemaal niet ingepakt zijn. De broncode van een programma, in welke vorm dan ook, heet een “distributiebestand”. De twee methoden om een FreeBSD port te installeren worden hieronder beschreven.
Ports installeren dient als root
te
gebeuren.
Voordat een port wordt geïnstalleerd is het aan
te raden op http://vuxml.freebsd.org/
na kijken of er geen beveiligingsproblemen voor de
gewenste port bekend zijn.
Er kan automatisch een controle op beveiligingsproblemen
door portaudit gedaan worden
voordat er een nieuwe applicatie wordt geïnstalleerd.
Dit gereedschap kan in de Portscollectie gevonden worden
(ports-mgmt/portaudit).
Overweeg om portaudit -F
te draaien voordat
er een nieuwe port wordt geïnstalleerd, om de huidige
database met beveiligingsproblemen op te halen. Tijdens de
dagelijkse beveiligingscontrole van het systeem zal er een
beveiligingsaudit en een update van de database plaatsvinden.
Lees voor meer informatie de hulppagina's portaudit(1) en
periodic(8).
De Portscollectie neemt aan dat er een werkende
Internetverbinding is. Als die niet aanwezig is, zet dan
handmatig een kopie van het benodigde distributiebestand in
/usr/ports/distfiles
.
Ga om te beginnen naar de juiste map voor een port:
#
cd /usr/ports/sysutils/lsof
Eenmaal in de map lsof
is het skelet
van de port te zien. In de volgende stap wordt de broncode
voor de port gecompileerd of “gebouwd”. Dit
wordt gedaan door op het prompt make
in te
voeren. Dat levert iets als het volgende op:
#
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 ... [uitvoer van uitpakken verwijderd] ... >> 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 ... [uitvoer van configure verwijderd] ... ===> Building for lsof-4.57 ... [uitvoer van compileren verwijderd] ...#
Als het compileren is afgerond is het prompt weer
zichtbaar. In de volgende stap wordt de port
geïnstalleerd. Om dat te bewerkstelligen wordt het woord
install
aan make
toegevoegd:
#
make install
===> Installing for lsof-4.57 ... [uitvoer installatie verwijderd] ... ===> 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.#
Als de prompt weer beschikbaar is, is de applicatie
klaar voor gebruik. Omdat lsof
met
verhoogde rechten wordt uitgevoerd, wordt er een
waarschuwing getoond. Tijdens het bouwen en installeren van
ports zijn de getoonde waarschuwingen van belang.
Het is verstandig om de submap die als werkmap wordt gebruikt te verwijderen. Hierin staan alle tijdelijke bestanden die tijdens het compileren worden gebruikt. Die bestanden gebruiken niet alleen waardevolle schijfruimte, maar ze kunnen later ook problemen veroorzaken als de port wordt bijgewerkt.
#
make clean
===> Cleaning for lsof-4.57#
Het is mogelijk twee stappen minder te gebruiken door
make install clean
uit te voeren in plaats van make
,
make install
en make clean
als
drie afzonderlijke stappen.
Wanneer een port alleen met make
install
wordt geïnstalleerd,
betekent dit dat er in het begin mogelijk veel gewacht moet worden
tussen interacties van de gebruiker aangezien het standaardgedrag is
om de gebruiker te vragen om keuzes voor opties. Wanneer er veel
afhankelijkheden zijn, kan dit voor het bouwen van een enkele port
soms een hele opgave zijn. Om dit te voorkomen, kan make
config-recursive
gedraaid worden
om de configuratie in één keer te doen. Draai daarna make
install [clean]
.
Wanneer config-recursive
wordt gebruikt,
wordt de lijst met ports om te configureren opgesteld door het doel
all-depends-list
van make(1). Het wordt
vaak aangeraden om make
config-recursive
totdat de opties
van alle afhankelijke ports zijn gedefinieerd en er geen schermen van
dialog(1) voor opties van ports meer verschijnen, om er zeker van
te zijn dat de opties van alle ports zijn geconfigureerd zoals
bedoeld.
Sommige shells houden een cache bij van de commando's
die in de mappen uit de omgevingsvariabele
PATH
staan om het opzoeken van een uitvoerbaar
bestand te versnellen. Als zo'n shell wordt gebruikt, moet
er na de installatie van een port het commando
rehash
worden uitgevoerd voordat zojuist
geïnstalleerde commando's kunnen worden gebruikt. Dit
commando werkt voor shells zoals tcsh
.
Gebruik voor shells als sh
hash
-r
. In de documentatie van een shell staat meer
informatie.
Sommige DVD-ROM-producten van andere partijen, zoals de
FreeBSD Toolkit van de FreeBSD Mall
bevatten distributiebestanden. Die kunnen met de Portscollectie
gebruikt worden. Koppel de DVD-ROM aan op
/cdrom
. Stel bij gebruik van een ander
aankoppelpunt de make variabele CD_MOUNTPTS
in. De benodigde distributiebestanden worden automatisch
gebruikt als ze op de schijf aanwezig zijn.
Licenties van sommige ports staan niet toe dat de code wordt opgenomen in een CD-ROM. Dit kan komen doordat er een formulier ingevuld moet worden voor een download of doordat herdistributie niet is toegestaan of om een andere reden. Om een port te installeren die niet op de CD-ROM staat moet de computer waarop de port geïnstalleerd wordt een Internetverbinding hebben.
Het portssysteem gebruikt fetch(1) om bestanden te
downloaden. Dat programma maakt gebruik van een aantal
omgevingsvariabelen, waaronder FTP_PASSIVE_MODE
,
FTP_PROXY
, en FTP_PASSWORD
. Als
een systeem achter een firewall staat, is het wellicht
noodzakelijk om een of meer van deze omgevingsvariabelen in te
stellen of om gebruik te maken van een FTP/HTTP proxy. In
fetch(3) staat een complete lijst.
Als er geen continue Internetverbinding is, kan gebruik
gemaakt worden van make
fetch
. Door dit commando
in de map /usr/ports
uit te voeren worden
alle benodigde bestanden gedownload. Dit
commando werkt ook op een lager niveau als
/usr/ports/net
of
/usr/ports/net/xmule
. Als een port
afhankelijk is van bibliotheken of andere ports dan worden de
distributiebestanden van die ports niet
opgehaald. Om dat de bereiken dient
fetch
vervangen te worden door
fetch-recursive
.
Het is mogelijk alle ports in een categorie te bouwen
door make
in een hogere map uit te voeren,
naar analogie van het voorbeeld voor make
fetch
. Dit is wel
gevaarlijk, omdat sommige ports niet tegelijk met andere
geïnstalleerd kunnen zijn. In andere gevallen
installeren twee ports hetzelfde bestand met een andere
inhoud.
In zeldzame gevallen willen of moeten gebruikers de
tar-bestanden van een andere site dan de
MASTER_SITES
halen (de locatie waar de
bestanden vandaan komen). Dat is mogelijk met de optie
MASTER_SITES
met een volgend
commando:
#
cd /usr/ports/directory
#
make MASTER_SITE_OVERRIDE= \ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch
In het voorgaande voorbeeld is de optie
MASTER_SITES
gewijzigd naar ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/
.
Sommige ports staan toe (of schrijven zelfs voor) dat er een aantal instellingen worden meegegeven die bepaalde onderdelen (niet gebruikt, beveiligingsinstellingen en andere aanpassingen) van de applicatie in- of uitschakelen. Voorbeelden van ports waarbij dat het geval is zijn www/firefox, security/gpgme en mail/sylpheed-claws. Er wordt een bericht getoond als dit soort instellingen beschikbaar zijn.
Soms is het handig (of verplicht) om een andere map voor
werk of ports te gebruiken. Met de variabelen
WRKDIRPREFIX
en PREFIX
kunnen de standaardmappen veranderd worden:
#
make WRKDIRPREFIX=/usr/home/example/ports install
Het voorbeeld hierboven compileert de port in
/usr/home/example/ports
en installeert
alles in /usr/local
.
#
make PREFIX=/usr/home/example/local install
Het voorbeeld hierboven compileert in
/usr/ports
en installeert in
/usr/home/example/local
.
#
make WRKDIRPREFIX=../ports PREFIX=../local install
Het voorbeeld hierboven combineert de twee instellingen. Het gaat te ver om dit volledig in het handboek te beschrijven, maar hier krijgt de lezer een idee van de mogelijkheden.
Het is ook mogelijk de bovenstaande variabelen als deel van de omgeving in te stellen. In de hulppagina's van de gebruikte shell staat hoe dat mogelijk is.
Er zijn ports die imake
gebruiken
(een onderdeel van het X Window systeem) die niet goed werken
met PREFIX
en erop staan te installeren in
/usr/X11R6
. Er zijn ook een aantal Perl
ports die PREFIX
negeren en in de Perl
hiërarchie installeren. Deze ports op de
PREFIX
locatie laten installeren is
meestal erg moeilijk of onmogelijk.
Tijdens het bouwen van bepaalde ports kan er een menu dat
op ncurses is gebaseerd verschijnen waaruit u bepaalde
bouwopties kunt selecteren. Het is niet ongebruikelijk dat
gebruikers dit menu opnieuw willen bezoeken om deze opties toe
te voegen, te verwijderen, of te veranderen nadat een port is
gebouwd. Er zijn vele manieren om dit te doen. Eén
optie is om naar de map waarin de port staat te gaan en
make config
te
typen, wat eenvoudigweg het menu opnieuw toont met daarin de
zelfde opties geselecteerd. Een andere optie is om
make showconfig
te
gebruiken, wat alle instelopties voor de port aan u laat zien.
Nog een andere optie is om make
rmconfig
uit te voeren wat
alle geselecteerde opties zal verwijderen en u toestaat
opnieuw te beginnen. Al deze opties, en anderen, worden zeer
gedetailleerd uitgelegd in de hulppagina voor ports(7).
Nu u weet hoe ports te installeren, zult u zich
waarschijnlijk afvragen hoe ze te verwijderen, in het geval dat
u er een installeert en later besluit dat u de verkeerde port
heeft geïnstalleerd. We zullen ons vorige voorbeeld
(lsof
) verwijderen. Ports worden op
precies dezelfde manier verwijderd als pakketten met het
commando pkg_delete(1) (zoals beschreven in het onderdeel
Pakketten):
#
pkg_delete lsof-4.57
Stel als eerste een lijst samen met ports waarvoor een nieuwere versie beschikbaar is in de Portscollectie met het commando pkg_version(1):
#
pkg_version -v
Als de Portscollectie eenmaal is bijgewerkt
vóór het bijwerken van ports, is het verstandig
het bestand /usr/ports/UPDATING
te
raadplegen. In dat bestand staan aanwijzingen en wijzigingen
voor gebruikers die van belang zijn bij het bijwerken van
ports, zoals het veranderen van bestandsformaten, veranderen
van de locatie van configuratie bestanden, en andere
incompatibiliteiten met voorgaande versies.
Als UPDATING
tegenstrijdig is met
wat hier beschreven is, moet men UPDATING
als waar beschouwen.
Het hulpprogramma portupgrade
is ontworpen om geïnstalleerde ports eenvoudig bij te
werken. Het is beschikbaar via de port ports-mgmt/portupgrade.
Installeer het net als iedere andere port met het commando
make install clean
:
#
cd /usr/ports/ports-mgmt/portupgrade
#
make install clean
Scan de lijst met geïnstalleerde ports met het
commando pkgdb -F
en corrigeer alle
gerapporteerde inconsistenties. Het is verstandig dit
regelmatig te doen, voor iedere keer bijwerken.
Door het draaien van portupgrade -a
zal portupgrade beginnen met het
bijwerken van alle geïnstalleerde ports op een systeem
waarvoor een nieuwere versie beschikbaar is. Met de vlag
-i
is het mogelijk in te stellen dat voor
iedere bij te werken port om bevestiging wordt
gevraagd.
#
portupgrade -ai
Gebruik om alleen een specifieke applicatie bij te werken
en niet alle beschikbare ports portupgrade
pkgname
. Gebruik de
vlag -R
om
portupgrade eerst alle ports bij
te laten werken die voor een bij te werken toepassing
benodigd zijn.
#
portupgrade -R firefox
Gebruik de vlag -P
om bij installatie
van pakketten in plaats van ports gebruik te maken. Met deze
optie zoekt portupgrade in de
lokale mappen uit PKG_PATH
of haalt de
pakketten via het netwerk op als ze lokaal niet worden
aangetroffen. Als een pakket niet lokaal en niet via het
netwerk wordt gevonden, dan gebruikt
portupgrade ports. Om het gebruik
van ports te voorkomen kan gebruik gemaakt worden van de
optie -PP
:
#
portupgrade -PP gnome2
Om alleen de distributiebestanden op te halen (of
pakketten als -P
is opgegeven), zonder bouwen
of installeren, is -F
beschikbaar. Meer
informatie staat in portupgrade(1).
portmaster is nog een
gereedschap voor het bijwerken van geïnstalleerde ports.
portmaster was ontworpen om gebruik
te maken van de gereedschappen die in het “basis”
systeem te vinden zijn (het hangt niet af andere ports) en het
gebruikt de informatie in /var/db/pkg
om te bepalen welke
ports bij te werken. Het is beschikbaar via de port ports-mgmt/portmaster:
#
cd /usr/ports/ports-mgmt/portmaster
#
make install clean
portmaster verdeelt ports in vier categoriën:
Wortelpoorten (geen afhankelijkheden, wordt niet van afgehangen)
Stampoorten (geen afhankelijkheden, wordt van afgehangen)
Takpoorten (hebben afhankelijkheden, wordt van afgehangen)
Bladpoorten (hebben afhankelijkheden, wordt niet van afgehangen)
U kunt de optie -L
gebruiken om alle
geïnstalleerde ports tonen en naar updates te zoeken:
#
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
Alle geïnstalleerde ports kunnen met dit eenvoudige commando worden bijgewerkt:
#
portmaster -a
Standaard maakt portmaster
een back-up-pakket aan voordat het een bestaande port
verwijderd. Als de installatie van de nieuwe versie
succesvol is, zal portmaster de
reservekopie verwijderen. Het gebruik van
-b
zal
portmaster instrueren om de
reservekopie niet automatisch te verwijderen. Het toevoegen
van de optie -i
zal
portmaster in interactieve modus
opstarten, en u vragen voordat het elke port bijwerkt.
Als u fouten tegenkomt tijdens het bijwerkproces, kunt u
de optie -f
gebruiken om alle ports bij te
werken/te herbouwen:
#
portmaster -af
U kunt portmaster ook gebruiken om nieuwe ports op het systeem te installeren, en alle afhankelijkheden bijwerken voordat de nieuwe port gebouwd en geïnstalleerd wordt:
#
portmaster shells/bash
Bekijk portmaster(8) voor meer informatie.
Werken met de Portscollectie kan in de loop der tijd veel
schijfruimte gebruiken. Na het bouwen en installeren van
software uit de ports, is het van belang altijd de tijdelijke
mappen work
op te ruimen
met het commando make
clean
. De complete
Portscollectie kan geschoond worden met het volgende
commando:
#
portsclean -C
In de loop der tijd komen ook veel oude bestanden met
broncode in de map distfiles
te staan. Die kunnen
handmatig verwijderd worden of met het volgende commando dat
alle distributiebestanden waarnaar in de huidige ports geen
verwijzingen meer staan verwijdert:
#
portsclean -D
Of om alle distributiebestanden te verwijderen waardoor momenteel door geen één geïnstalleerde port op uw systeem wordt verwezen:
#
portsclean -DD
Het hulpprogramma portsclean
is
onderdeel van de suite
portupgrade.
Vergeet niet ports die niet langer gebruikt worden te verwijderen. Een handig hulpmiddel hiervoor kan de port ports-mgmt/pkg_cutleaves zijn.
Na het installeren van een nieuwe applicatie is het meestal verstandig om de documentatie te lezen die bij een applicatie zit, bestanden met instellingen die vereist zijn aan te passen, ervoor te zorgen dat de applicatie start na het opstarten (als het een daemon is), enzovoort.
De exacte stappen om een applicatie in te stellen zijn natuurlijk voor iedere applicatie anders. Maar als er net een nieuwe applicatie is geïnstalleerd en het is niet vanzelfsprekend hoe verder te gaan, dan kunnen de volgende tips helpen:
Met pkg_info(1) kan uitgevonden worden welke bestanden geïnstalleerd zijn en waar. Om bijvoorbeeld uit te vinden welke bestanden door FooPackage versie 1.0.0 zijn geïnstalleerd:
#
pkg_info -L foopackage-1.0.0 | less
Bestanden in mapnamen met man/
zijn hulppagina's, etc/
bevat bestanden
met instellingen en doc/
bevat
uitgebreidere documentatie.
Als niet helemaal duidelijk is welke versie van het programma is geïnstalleerd, kan een commando als volgt gebruikt worden:
#
pkg_info | grep -i foopackage
Hiermee worden alle pakketten getoond waar
foopackage
in de pakketnaam
voorkomt.
Als de hulppagina's zijn gevonden, kunnen die bekeken worden met man(1). Zo kan er ook in de bestanden met voorbeeldinstellingen gekeken worden en naar aanvullende documentatie, als die is bijgeleverd.
Als er een website is voor de applicatie staat daar vaak ook aanvullende documentatie, veelgestelde vragen, enzovoort. Als het webadres niet bekend is, kan dat nog staan in de uitvoer van het volgende commando:
#
pkg_info foopackage-1.0.0
Als er een regel met WWW:
in staat, is
dat de URL naar de website voor de applicatie.
Ports die na het opstarten moeten starten (zoals Internet
diensten) hebben meestal een voorbeeldscript in
/usr/local/etc/rc.d
. Dit script kan
bekeken, aangepast en hernoemd worden waar nodig. Meer
informatie staat in Diensten
Starten.
Als een port niet werkt, zijn er een aantal mogelijke manieren om verder te komen:
Zoek uit of er een oplossing voor de port staat te wachten in de Problem Report database. Als dat zo is kan wellicht de voorgestelde reparatie gebruikt worden.
Vraag de beheerder van de port om hulp. Voor het
emailadres van de beheerder kan make
maintainer
getypt worden
of het kan in de Makefile
staan. Zet in
de mail in ieder geval de naam en versie van de port (de regel
met $FreeBSD:
in de
Makefile
) en de uitvoer tot en met de
foutmelding.
Sommige ports worden niet beheerd door een individu
maar in plaats daarvan door een mailinglijst.
Veel, maar niet alle, van deze adressen zien eruit als
<freebsd-lijstnaam@FreeBSD.org>
.
Houd hier alstublieft rekening mee bij het formuleren van
vragen.
In het bijzonder worden ports die geregistreerd staan
als onderhouden door <ports@FreeBSD.org>
helemaal niet
onderhouden. Reparaties en ondersteuning, als dat al
beschikbaar is, komt vanuit de gemeenschap die is
geabonneerd op die mailinglijst. Meer vrijwilligers zijn
altijd nodig!
Als er geen antwoord komt, stuur dan met send-pr(1) een foutrapport in. Zie Writing FreeBSD Problem Reports).
Repareren! In het Handboek voor de Porter is gedetailleerde informatie te vinden over de infrastructuur van de “Ports”, zodat een kapotte port gemaakt kan worden of er zelfs een nieuwe port ingestuurd kan worden.
Zoek een pakket van een FTP site in de buurt. De
“master” pakketcollectie staat op ftp.FreeBSD.org
in de map
pakketten, maar het is van belang dat er
eerst in de
buurt wordt gekeken! Dat het pakket werkt is
waarschijnlijker dan wanneer uit de broncode wordt gecompileerd en
het is nog sneller ook. Een pakket kan met pkg_add(1)
geïnstalleerd worden.
FreeBSD gebruikt X11 om gebruikers een krachtige grafische gebruikersschil te bieden. X11 is een vrij beschikbare versie van het X Window System dat geïmplementeerd is in Xorg XFree86™ (en andere softwarepakketten die hier niet worden besproken). De standaard en officiele smaak van X11 in FreeBSD is Xorg, de X11-server die is ontwikkeld door de X.Org Foundation onder een licentie die veel lijkt op degene die door FreeBSD wordt gebruikt.
Meer informatie over de videohardware die X11 ondersteunt kan gevonden worden op de Xorg website.
Na het lezen van dit hoofdstuk weet de lezer:
Wat de componenten van het X Window systeem zijn en hoe zij samenwerken.
Hoe X11 geïnstalleerd en ingesteld kan worden.
Hoe verschillende window managers geïnstalleerd en gebruikt kunnen worden.
Hoe TrueType® lettertypen in X11 te gebruiken.
Hoe het systeem ingesteld moet worden voor grafisch aanmelden (XDM).
Aangeraden voorkennis:
Hoe extra software van derden te installeren (Hoofdstuk 5, Applicaties installeren: pakketten en ports).
X voor de eerste keer gebruiken kan een hele schok zijn voor mensen die gewend zijn aan andere grafische omgevingen, zoals Microsoft® Windows® of Mac OS®.
Het is niet noodzakelijk om alle details te kennen over de X componenten en hoe zij samenwerken, maar enige basiskennis draagt wel bij aan krachtiger gebruik kunnen maken van X.
X is niet het eerste windows systeem dat geschreven is voor UNIX®, maar wel het meest populaire. Het oorspronkelijke X ontwikkelteam werkte eerst aan een ander window systeem. De naam van dat systeem was “W” (van “Window”). X was gewoon de volgende letter in het alfabet.
X kan gewoon “X”, “X Window systeem”, “X11” of nog anders genoemd worden. X11 “X Windows” noemen kan door sommigen als een belediging opgevat worden. X(7) kan hierover wat licht laten schijnen.
X is vanaf het begin aan ontworpen om netwerk-centraal te zijn en gebruikt een “client-server” model.
In het X model draait de “X server” op de computer waar het toetsenbord, beeldscherm en muis aan vast zit. De server is verantwoordelijk voor het regelen van beeldinformatie, verwerken van invoer van toetsenbord en muis, en andere invoer- of uitvoerapparaten (i.e., een “tablet” kan als invoerapparaat worden gebruikt, en een videoprojector kan een alternatief uitvoerapparaat zijn). Iedere X applicatie (zoals XTerm of Firefox) is een “cliënt”. Een cliënt stuurt berichten naar de server zoals “teken een venster op deze coördinaten” en de server stuurt berichten terug zoals “de gebruiker heeft op de OK knop gedrukt”.
Thuis of in kleine bedrijven draaien zowel de X server als de X clients op dezelfde machine. Het is heel goed mogelijk dat de X server op een minder krachtige desktop computer draait en de X applicaties (de clients) op een, zeg maar, dure krachtige machine van het bedrijf. Hier vindt de communicatie tussen de X client en server plaats over het netwerk.
Dit verwart sommige mensen, omdat de X terminologie geheel omgekeerd is aan wat ze verwachten. Dat is namelijk dat de “X server” de grote krachtige machine aan het eind van de gang is en de “X client” de machine op hun bureau is.
De X server is de machine met het beeldscherm en het toetsenbord en de X clients zijn de programma's die de vensters tonen.
Het protocol vereist niet dat de clients en servers hetzelfde besturingssysteem moeten draaien of hetzelfde soort computer moeten zijn. Het is heel goed mogelijk om X server op een Microsoft® Windows® of Apple's Mac OS® te draaien en er zijn verschillende gratis en commerciële applicaties die dat doen.
De filosofie van het X ontwerp lijkt veel op die van UNIX®: “gereedschappen, geen beleid”. Dit houdt in dat X niet bepaalt hoe een taak volbracht moet worden. In plaats daarvan worden gereedschappen geleverd aan de gebruiker die verantwoordelijk is voor het juiste gebruik hiervan.
Deze filosofie verbreedt zich door X niet te laten bepalen hoe vensters er moeten uitzien op het scherm, hoe ze verplaatst moeten worden met de muis, welke toetsaanslagen gebruikt moeten worden om te schakelen tussen vensters (bijvoorbeeld Alt+Tab in het geval van Microsoft® Windows®), hoe de titelbalken eruit moeten zien, of ze wel of niet sluitknoppen moeten hebben, enzovoort.
In plaats daarvan delegeert X deze verantwoordelijkheid aan
een applicatie die “Window Manager” heet. Er zijn
tientallen window managers
beschikbaar voor X. Elk
van deze window managers heeft een eigen voorkomen en werking.
Er zijn window managers met “virtual desktops” of
met eigen toetscombinaties om de desktop te beheren; of hebben
een “Start” knop of iets gelijksoortig. Sommige
gebruiken “thema's” die uiterlijk en beleving
compleet veranderen door een nieuw thema te kiezen. Window
managers zijn te vinden in de categorie
x11-wm
van de Portscollectie.
De KDE en GNOME desktop omgevingen hebben hun eigen window managers die in het bureaublad zijn geïntegreerd.
Iedere windows manager heeft zijn eigen manier van instellen. Sommige werken met handgetypte bestanden, anderen beschikken over grafische gereedschappen voor de meeste instellingen. Er is er minstens één (Sawfish) waarvan het instellingenbestand is geschreven in een dialect van de taal Lisp.
De window manager is ook verantwoordelijk voor het “focusbeleid” van de muis. Ieder window geörienteerd systeem heeft een manier nodig om te bepalen welk venster actief is, toetsaanslagen ontvangt en daarbij zichtbaar aangeeft welk venster actief is.
Een bekend focus beleid heet “click-to-focus”. Dit model wordt gebruikt door Microsoft® Windows®, waarbij een venster actief wordt door er met de muis op te klikken.
X ondersteunt geen specifiek focusbeleid. In plaats daarvan bepaalt de window manager op welk venster, op welk moment, de focus ligt. Een aantal window managers ondersteunen verschillende focusmethoden. Ze ondersteunen allemaal “click to focus” en de meerderheid ondersteunt ook nog andere.
De meest populaire zijn:
Het venster dat onder de muis zit is het venster waarop de focus ligt. Dit hoeft niet het venster te zijn dat bovenop alle andere vensters ligt. De focus verandert door te wijzen naar een ander venster. Het is niet nodig om er ook nog eens op te klikken.
Dit beleid is een kleine uitbreiding op focus-follows-mouse. Indien bij focus-follows-mouse de muis over het root venster (of de achtergrond) gaat, ligt op geen enkel venster de focus en gaan alle toetsaanslagen verloren. Bij sloppy-focus, verandert de focus alleen als de muis in een nieuw venster komt en niet als het huidige venster wordt verlaten.
Het actieve venster wordt geselecteerd door erop te klikken. Het venster wordt dan “opgetild” en verschijnt dan voor alle andere vensters. Alle toetsaanslagen worden nu naar dit venster gestuurd, zelfs als de cursor naar een ander scherm wordt verplaatst.
Veel window managers ondersteunen andere soorten of variaties op de bovenstaande typen muisbeleid. Hierover staat meestal meer in de documentatie van de betreffende window manager.
De X aanpak door gereedschappen te leveren en niets af te dwingen breidt zich uit naar de widgets die in elk applicatievenster te zien zijn.
“Widget” is een term voor alle dingen van de gebruikersinterface waarop geklikt kan worden of een andere actie mee uitgevoerd kan worden: knoppen, vinkvakjes, iconen, lijsten en ga zo maar door. Microsoft® Windows® noemt ze “controls”.
Microsoft® Windows® en Apple's Mac OS® hebben beide een erg strikt widgetbeleid. Van de applicatieontwikkelaars wordt verwacht dat hun applicaties eenduidig zijn wat betreft uiterlijk en beleving. Bij X is ervoor gekozen geen grafische stijl of widgets te verplichten.
X applicaties hebben dus niet allemaal hetzelfde uiterlijk. Er zijn populaire widgetsets en variaties, inclusief Qt, gebruikt door KDE, of GTK+ van het GNOME project. Vanuit dit oogpunt lijkt het enigszins op de UNIX® desktop, wat het makkelijker maakt voor de beginnende gebruiker.
Xorg is de X11-implementatie voor FreeBSD. Xorg is de X11 server van de open source implementatie die is uitgebracht door de X.Org Foundation. Xorg is gebaseerd op de code van XFree86™ 4.4RC2 en X11R6.6. De versie van Xorg die momenteel beschikbaar is in de FreeBSD Portscollectie is 7.7.
Om Xorg vanuit de Portscollectie te bouwen en te installeren:
#
cd /usr/ports/x11/xorg
#
make install clean
Om Xorg compleet te bouwen is tenminste 4 GB vrije schijfruimte nodig.
X11 kan ook als pakket geïnstalleerd worden doordat er binaire pakketten beschikbaar zijn voor pkg_add(1). Als hiervoor de optie “remote fetching” van pkg_add(1) wordt gebruikt, dan moet het versienummer verwijderd worden. pkg_add(1) haalt automatisch de laatste versie van het programma op.
Om het pakket voor Xorg op te halen en te installeren:
#
pkg_add -r xorg
Het voorbeeld hierboven installeert de complete X11 distributie inclusief de servers, clients, lettertypen enz. Er zijn ook afzonderlijke pakketten en ports beschikbaar voor verschillende delen van X11.
Om een minimale X11-distributie te installeren kunt u als alternatief x11/xorg-minimal installeren.
De rest van dit hoofdstuk licht toe hoe X11 wordt ingesteld en hoe een productieve desktopomgeving gebouwd kan worden.
In de meeste gevallen configureert X11 zichzelf. Voor degenen met oudere of ongebruikelijke apparatuur kan het nuttig zijn om informatie over de hardware te verzamelen voordat er met de configuratie wordt begonnen.
Monitor synchronisatiefrequenties
Chipset van de videokaart
Geheugen van de videokaart
De schermresolutie en ververssnelheid worden bepaald door de horizontale en verticale synchronisatiefrequenties. Bijna alle monitoren ondersteunen het automatisch elektronisch detecteren van deze waardes. Sommige monitoren geven deze waardes niet, dus moeten de specificaties worden bepaald uit de geprinte handleiding of van de website van de fabrikant.
De chipset van de videokaart wordt ook automatisch gedetecteerd en gebruikt om het juiste videostuurprogramma te selecteren. Het kan handig voor de gebruiker zijn om te weten welke chipset is geïnstalleerd wanneer de automatische detectie niet het gewenste resultaat geeft.
Het geheugen van de videokaart bepaalt de maximale resolutie en de kleurdiepte die afgebeeld kunnen worden.
Xorg gebruikt HAL
om toetsenborden en muizen automatisch te detecteren. De ports
sysutils/hal en devel/dbus worden als
afhankelijkheden van x11/xorg
geïnstalleerd, maar moeten met de volgende regels in het
bestand /etc/rc.conf
worden aangezet:
hald_enable="YES" dbus_enable="YES"
Deze diensten dienen gestart te worden (ofwel handmatig of door opnieuw op te starten) voordat er verder wordt gegaan met de configuratie of gebruik van Xorg.
Xorg werkt vaak zonder enige verdere configuratie door het volgende op de prompt te typen:
%
startx
De automatische configuratie kan met sommige hardware mislukken, of het kan dingen anders instellen dan gewenst is. In deze gevallen is handmatige configuratie nodig.
Bureaubladomgevingen als GNOME, KDE, of Xfce hebben gereedschappen waarmee de gebruiker eenvoudig de schermparameters zoals de resolutie kan instellen. Dus als de standaardconfiguratie niet acceptabel is en u van plan bent om een bureaubladomgeving te installeren kunt u gewoon doorgaan met de installatie van de bureaubladomgeving en het juiste scherminstelgereedschap gebruiken.
Het instellen van X11 bestaat uit meerdere stappen. De eerste stap is het bouwen van een instellingenbestand. Dit kan als de supergebruiker met:
#
Xorg -configure
Dit genereert een kaal X11-instellingenbestand in de map
/root
met de naam
xorg.conf.new
. Feitelijk wordt bepaald
waar de map staat door hoe er superuser rechten zijn verkregen.
$HOME
is anders bij gebruik van su(1) of
bij direct aanmelden. Het X11 programma probeert dan de
grafische hardware te detecteren en schrijft een
instellingenbestand dat de juiste stuurprogramma's laadt voor
de gevonden hardware van het systeem.
De volgende stap is het testen van de bestaande instellingen om te controleren of Xorg met de grafische kaart van het doelsysteem kan werken. Typ:
#
Xorg -config xorg.conf.new -retro
Als er een zwart/grijs rooster en een X muis cursor
verschijnen was de instelling succesvol. Om de test te
stoppen dient naar de virtuele console waarmee de test werd gestart
overgeschakeld te worden door op Ctrl+Alt+Fn
(F1 voor de eerste virtuele console) en Ctrl+C
te drukken.
De toetsencombinatie Ctrl+Alt+Backspace kan ook gebruikt worden om uit Xorg te breken. Om het aan te zetten, kunt u òfwel het volgende commando uitvoeren vanaf elke X-terminal-emulator:
%
setxkbmap -option terminate:ctrl_alt_bksp
òf een instellingenbestand voor het toetsenbord genaamd
x11-input.fdi
voor
hald aanmaken en het in de map /usr/local/etc/hal/fdi/policy
opslaan.
Dit bestand dient het volgende te bevatten:
<?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.XkbOptions" type="string">terminate:ctrl_alt_bksp</merge> </match> </device> </deviceinfo>
U moet uw machine opnieuw opstarten om hald te forceren om dit bestand te lezen.
De volgende regel dient ook aan de sectie
ServerLayout
of ServerFlags
van
xorg.conf.new
te worden toegevoegd:
Option "DontZap" "off"
Als de muis niet werkt, dan moet deze eerst ingesteld
worden. Zie Paragraaf 2.10.10, “Muisinstellingen” in het FreeBSD
installatiehoofdstuk. In recente versies van
Xorg worden de secties
InputDevice
in xorg.conf
genegeerd ten voorkeur van de automatisch gedetecteerde apparaten.
Voeg de volgende regel aan de sectie ServerLayout
of ServerFlags
van dit bestand toe om het oude
gedrag te herstellen:
Option "AutoAddDevices" "false"
Invoerapparaten kunnen dan zoals in vorige versies worden geconfigureerd, tezamen met eventuele andere benodigde opties (bijvoorbeeld omschakelen van toetsenbordindeling).
Zoals al eerder is uitgelegd zal de daemon hald standaard automatisch uw toetsenbord detecteren. Het kan zijn dat de indeling of het model van uw toetsenbord niet juist zijn. Bureaubladomgevingen zoals GNOME, KDE of Xfce bieden gereedschappen om het toetsenbord in te stellen. Het is echter mogelijk om de eigenschappen direct in te stellen met behulp van het gereedschap setxkbmap(1) of met een configuratieregel van hald.
Als men bijvoorbeeld een PC-toetsenbord met 102 toetsen met een
Franse indeling wilt gebruiken, dienen we een instellingenbestand voor
het toestenbord voor hald aan te maken
genaamd x11-input.fdi
en het op te slaan in de
map /usr/local/etc/hal/fdi/policy
. Het
dient de volgende regels te bevatten:
<?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>
Als dit bestand al bestaat, kunt u de regels betreffende de configuratie van het toetsenbord kopiëren en aan uw bestand toevoegen.
U dient uw machine opnieuw op te starten om hald te forceren om dit bestand te lezen.
Het is mogelijk om hetzelfde te bereiken vanaf een X-terminal of een script met dit commando:
%
setxkbmap -model pc102 -layout fr
Het bestand
/usr/local/share/X11/xkb/rules/base.lst
noemt de
beschikbare toetsenborden, indelingen en opties.
Het bestand xorg.conf.new
kan nu naar wens
worden aangepast. Open het bestand in een tesktverwerker zoals
emacs(1) of ee(1). Indien de monitor een ouder of
ongebruikelijk model is dat geen automatische detectie van de
synchronisatiefrequenties ondersteunt, dan kunnen deze instellingen
worden toegevoegd aan xorg.conf.new
in de sectie
"Monitor"
:
Section "Monitor" Identifier "Monitor0" VendorName "Monitor Vendor" ModelName "Monitor Model" HorizSync 30-107 VertRefresh 48-120 EndSection
De meeste monitoren ondersteunen de automatische detectie van de synchronisatiefrequentie, wat het handmatig invoeren van deze waardes overbodig maakt. Voor de enkele monitoren die geen automatische detectie ondersteunen, dienen om mogelijke schade te voorkomen alleen waardes die door de fabrikant zijn opgegeven te worden ingevoerd.
X kan DPMS (Energy Star) eigenschappen gebruiken bij monitoren die dit ondersteunen. xset(1) regelt de timeouts en kan de statussen standby, suspend of uit forceren. Om DPMS eigenschappen voor een monitor te activeren, moet de volgende regel toegevoegd worden aan de monitor sectie:
Option "DPMS"
Als het instellingenbestand
xorg.conf.new
toch open staat in de editor
dan kan ook meteen de gewenste standaardresolutie en
kleurdiepte gekozen worden. Dit staat in het onderdeel
"Screen"
:
Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 Modes "1024x768" EndSubSection EndSection
Het sleutelwoord DefaultDepth
beschrijft
de kleurdiepte die standaard wordt gebruikt. Met de
commandoregeloptie -depth
van Xorg(1) kan
dit overschreven worden. Het sleutelwoord
Modes
beschrijft de resolutie waarmee
gewerkt wordt bij de opgegeven kleurdiepte. Alleen VESA
standaarden die door de grafische kaart van het systeem worden
gedefinieerd worden ondersteund. In het voorbeeld hierboven is
de standaard kleurdiepte 24 bits per pixel. Bij deze
kleurdiepte is de toegestane resolutie 1024 bij 768
pixels.
Bij het oplossen van problemen zijn de logboekbestanden
van X11 vaak een goede hulp. Ze bevatten informatie voor
ieder apparaat waar de X11 server verbinding mee maakt.
Namen van Xorg logboekbestanden
hebben de vorm /var/log/Xorg.0.log
. De
precieze naam van een logboekbestand van variëren van
Xorg.0.log
tot
Xorg.8.log
enzovoort.
Als alles is ingesteld, moet het instellingenbestand op een
plaats gezet worden waar Xorg(1) het kan vinden. Dit is
meestal /etc/X11/xorg.conf
of
/usr/local/etc/X11/xorg.conf
:
#
cp xorg.conf.new /etc/X11/xorg.conf
Het instellen van X11 is nu gereed. Xorg gestart worden met startx(1). De X11-server kan ook gestart worden met behulp van xdm(1).
Instellen met Intel® i810 geïntegreerde chipsets vereist de
agpgart
AGP programmeerinterface
voor X11 om de kaart aan te sturen. Zie de agp(4)
handleiding voor meer informatie.
Hierdoor wordt het instellen van de hardware net
als ieder andere grafische kaart. Bij systemen die zonder
agp(4) stuurprogramma gecompileerd zijn slaagt het laden
van module met kldload(8) niet. Het stuurprogramma moet
in de kernel geladen zijn tijdens het opstarten door te
compileren of door /boot/loader.conf
te
gebruiken.
Deze sectie gaat uit van wat diepere configuratiekennis. Als pogingen om de bovenstaande standaard instelgereedschappen niet tot een werkende configuratie leidden, dan is er genoeg informatie in de logbestanden om de opstelling aan de praat te krijgen. Het gebruik van een tekstverwerker zal nodig zijn.
Huidige breedbeeldformaten (zoals WSXGA, WSXGA+, WUXGA, WXGA en WXGA+) ondersteunen 16:10 en 10:9 formaten of aspectverhoudingen die problematisch kunnen zijn. Voorbeelden van enkele veelvoorkomende schermresoluties voor 16:10 aspectverhoudingen zijn:
2560x1600
1920x1200
1680x1050
1440x900
1280x800
Op een gegeven moment zal het toevoegen van een van deze
resoluties net zo eenvoudig zijn als een mogelijke
Mode
in het Section
"Screen"
:
Section "Screen" Identifier "Screen 0" Device "Card0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 Modes "1680x1050" EndSubSection EndSection
Xorg is slim genoeg om de resolutie-informatie via I2C/DDC-informtie uit het flatpanel te onttrekken zodat het weet wat de monitor aan kan wat betreft frequenties en resoluties.
Als die ModeLines
niet bestaan in de
stuurprogramma's, dient men Xorg
een kleine hint te geven. Met behulp van
/var/log/Xorg.0.log
kan men genoeg
informatie onttrekken om handmatig een werkende
ModeLine
aan te maken. Kijk naar
informatie die op deze lijkt:
(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
Deze informatie wordt EDID-informatie genoemd. Hiervan een
ModeLine
maken is gewoon een kwestie van de
nummers in de juiste volgorde zetten:
ModeLine <name> <clock> <4 horiz. timings> <4 vert. timings>
Dus de ModeLine
in Section
"Monitor"
zou er voor dit voorbeeld uitzien als:
Section "Monitor" Identifier "Monitor1" VendorName "GroteNaam" ModelName "BesteModel" ModeLine "1680x1050" 146.2 1680 1784 1960 2240 1050 1053 1059 1089 Option "DPMS" EndSection
Na het voltooien van deze eenvoudige stappen, zou X moeten starten op uw nieuwe breedbeeldmonitor.
De standaard lettertypen van X11 zijn allerminst ideaal voor het typische bureaubladprogramma. Grote presentatielettertypen zien er hoekig en onprofessioneel uit en kleine lettertypen zijn bijna onleesbaar. Er zijn diverse gratis, kwalitatief goede Type1 (PostScript®) lettertypen die meteen gebruikt kunnen worden met X11. De URW lettertypecollectie (x11-fonts/urwfonts) heeft bijvoorbeeld hoge kwaliteit versies van standaard Type1 lettertypen (Times Roman®, Helvetica®, Palatino® en anderen). De Freefonts collectie (x11-fonts/freefonts) heeft nog meer lettertypen, maar de meesten ervan zijn bedoeld om in grafische software als Gimp gebruikt te worden en zijn niet compleet genoeg om als schermlettertypen te gebruiken. Daarbij kan X11 zonder veel moeite ingesteld worden om TrueType® lettertypen te gebruiken. Meer informatie staat in X(7) of de paragraaf over TrueType® Lettertypen.
Om de bovenstaande Type1 lettertypecollectie van de Portscollectie te installeren:
#
cd /usr/ports/x11-fonts/urwfonts
#
make install clean
Dat geldt ook voor de freefont en andere collecties. Om de
X server te vertellen dat deze lettertypen bestaan, dient de
volgende regel toegevoegd te worden aan het instellingenbestand
van de X server (/etc/X11/xorg.conf
):
FontPath "/usr/local/lib/X11/fonts/URW/"
Ook kan op de commando regel in de X sessie het volgende gestart worden:
%
xset fp+ /usr/local/lib/X11/fonts/URW
%
xset fp rehash
Dit werkt wel, maar zodra de X sessie wordt afgesloten is
het weer verdwenen tenzij het is toegevoegd aan het
opstartbestand (~/.xinitrc
voor een
normale startx
sessie of
~/.xsession
als er wordt aangemeld met een
grafische aanmeldmanager als XDM).
Een derde manier is het gebruik van het nieuwe bestand
/usr/local/etc/fonts/local.conf
: zie
hiervoor de paragraaf over Anti-aliasing.
Xorg heeft ingebouwde
ondersteuning voor het renderen van TrueType® lettertypen. Er
zijn twee verschillende modules die deze functionaliteit
activeren. In dit voorbeeld wordt de freetype module gebruikt
omdat deze beter werkt met de andere lettertypen die back-ends
renderen. Om de freetype module te activeren dient de volgende
regel toegevoegd te worden aan het onderdeel
"Module"
van
/etc/X11/xorg.conf
.
Load "freetype"
Hierna dient een map voor de TrueType® lettertypen gemaakt
te worden (bijvoorbeeld
/usr/local/lib/X11/fonts/TrueType
) en alle
TrueType® lettertypen moeten naar deze map gekopieerd worden.
TrueType® lettertypen kunnen niet direct van een Macintosh®
gehaald worden. Ze moeten in een UNIX®/MS-DOS®/Windows®
formaat zijn voor X11. Zodra de bestanden naar deze map zijn
gekopieerd, kan ttmkfdir gestart
worden om een fonts.dir
bestand te maken
zodat de X lettertyperenderer weet waar deze nieuwe bestanden
zijn geïnstalleerd. ttmkfdir
zit in de
FreeBSD Portscollectie als x11-fonts/ttmkfdir.
#
cd /usr/local/lib/X11/fonts/TrueType
#
ttmkfdir -o fonts.dir
Nu moet de TrueType® map toe aan het lettertypepad toegevoegd worden. Dit gebeurt op dezelfde wijze als boven is beschreven voor Type1 lettertypen:
%
xset fp+ /usr/local/lib/X11/fonts/TrueType
%
xset fp rehash
of door een FontPath
regel toe te voegen
aan xorg.conf
.
Dat is alles. Nu herkennen Gimp, Apache OpenOffice en alle andere X applicaties de geïnstalleerde TrueType® lettertypen. Extreem kleine lettertypen (zoals hoge resolutie tekst op een webpagina) en extreme grote lettertypen (in StarOffice™) zien er nu veel beter uit.
Alle lettertypen die X11 in de mappen
/usr/local/lib/X11/fonts/
en
~/.fonts/
staan zijn automatisch beschikbaar
voor anti-aliasing in applicaties die Xft ondersteunen. De meeste
recente applicaties ondersteunen Xft, inclusief
KDE, GNOME, en
Firefox.
Om te kunnen regelen welke lettertypen gebruik maken van
anti-alias of om de eigenschappen van anti-aliasing in te
stellen kan
/usr/local/etc/fonts/local.conf
gemaakt
of gewijzigd worden. In dit bestand kunnen speciale
eigenschappen van het Xft lettertypesysteem aangepast worden.
Deze paragraaf beschrijft wat eenvoudige mogelijkheden.
Meer details staan in fonts-conf(5).
Dit bestand moet in het XML formaat opgemaakt worden.
Hoofdletters en kleine letters worden onderscheiden en alle
tags moeten netjes worden afgesloten. Het bestand begint met
de gewone XML header gevolgd door een DOCTYPE definitie en
daarna de <fontconfig>
tag:
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig>
Zoals al eerder is vermeld zijn alle lettertypen in
/usr/local/lib/X11/fonts/
en in
~/.fonts/
al geschikt gemaakt voor
Xft applicaties. Als naast deze twee mappen nog een andere
lettertypen moeten kunnen bevatten, dan dient een soortgelijke
regel als de onderstaande aan
/usr/local/etc/fonts/local.conf
toegevoegd
te worden:
<dir>/pad/naar/mijn/fonts</dir>
Na het toevoegen van nieuwe lettertypen en zeker nieuwe lettertypemappen dienen de lettertypecaches opnieuw opgebouwd worden met:
#
fc-cache -f
Anti-aliasing maakt randen een beetje wazig wat kleine teksten beter leesbaar maakt en voorkomt “trapvorming” van grote letters. Maar het kan oogkramp veroorzaken als het op normale tekst wordt toegepast. Om lettertypen kleiner dan 14 punten uit te sluiten van anti-aliasing moeten de volgende regels toegevoegd worden:
<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>
Spatiëring voor sommige enkel gespatieerde lettertypen kan ook ongepast zijn bij anti-aliasing. Dit lijkt vooral een probleem te zijn bij KDE. Een mogelijke oplossing hiervoor is het vergroten van de spatiëring van die lettertypen naar 100:
<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>
Het bovenstaande hernoemt de standaardnamen van lettertypen
naar "mono"
). Voeg daarna het volgende
toe:
<match target="pattern" name="family"> <test qual="any" name="family"> <string>mono</string> </test> <edit name="spacing" mode="assign"> <int>100</int> </edit> </match>
Bepaalde lettertypen, zoals Helvetica, kunnen problemen
hebben met anti-aliasing. Dit uit zich meestal in een
lettertype dat verticaal door midden lijkt gesneden. Op zijn
ergst kan het applicaties laten crashen. Om dit te
voorkomen kan overwogen worden om ook de volgende regels toe
te voegen aan local.conf
:
<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>
Als de wijzigingen in local.conf
zijn
gemaakt dient niet vergeten te worden het bestand te eindigen
met de tag </fontconfig>
tag. Als dit
niet gedaan wordt, dan worden de wijzigingen niet
gezien.
Als laatste kunnen gebruikers hun eigen instellingen aan
een persoonlijk .fonts.conf
bestand
toevoegen. Om dit te doen moet iedere gebruiker het bestand
~/.fonts.conf
maken. Ook dit bestand moet
in het XML formaat zijn.
Nog een laatste punt: bij een LCD scherm kan sub-pixel
sampling prettig zijn. Eigenlijk zorgt dit er voor dat de
(horizontaal gesplitste) rode, groene en blauwe componenten
gewijzigd worden om de horizontale resolutie te verbeteren.
Het resultaat is geweldig. Voeg hiervoor de volgende regels
ergens aan local.conf
toe:
<match target="font"> <test qual="all" name="rgba"> <const>unknown</const> </test> <edit name="rgba" mode="assign"> <const>rgb</const> </edit> </match>
Afhankelijk van het soort beeldscherm kan
rgb
veranderd moeten worden in
bgr
, vrgb
of
vbgr
. Experimenteren levert de beste
instelling op.
De X beeldschermmanager (XDM) is een optioneel onderdeel van het X Window systeem dat gebruikt wordt voor beheer van aanmeldsessies. Dit is vaak erg handig bij bijvoorbeeld “X Terminals”, desktops en grote netwerk beeldschermservers. Omdat het X Window systeem netwerk- en protocolonafhankelijk is, zijn er veel mogelijkheden om X clients en servers op verschillende machines in een netwerk te verbinden. XDM levert een grafische interface waarmee er gekozen kan worden welke beeldschermserver gebruikt moet worden en handelt autorisatie informatie (gebruikersnaam en wachtwoord) af.
XDM levert de gebruiker dezelfde functionaliteit levert als getty(8) (zie Paragraaf 26.3.2, “Instellen”). Dus het regelt de systeemaanmeldingen voor de schermen waaraan verbonden moet worden en start dan een sessie manager namens de gebruiker (meestal een X window manager). XDM wacht dan tot het programma stopt en geeft aan dat de gebruiker klaar is en afgemeld kan worden. Hierna kan XDM het aanmeldscherm weer tonen zodat de volgende gebruiker kan aanmelden.
Om XDM te gebruiken moet de port
x11/xdm geïnstalleerd worden
(het wordt in recente versies van Xorg niet
standaard geïnstalleerd). Het daemon-programma
XDM is daarna beschikbaar in
/usr/local/bin/xdm
. Dit programma
kan als root
altijd gestart worden en
regelt dan het X weergavegedeelte van de lokale machine. Als
XDM iedere keer bij het opstarten
moet starten is het handig om een regel toe te voegen aan
/etc/ttys
. Meer informatie over het
gebruik van dit bestand staat in Paragraaf 26.3.2.1, “Een regel aan /etc/ttys
toevoegen”.
In de standaardversie van /etc/ttys
staat
een regel om de applicatie daemon
XDM op een virtuele terminal te
draaien:
ttyv8 "/usr/local/bin/xdm -nodaemon" xterm off secure
Standaard staat deze regel uit. Om hem aan te zetten moet
veld 5 van off
naar on
gewijzigd worden en moet met init(8) herstart worden met
gebruikmaking van de aanwijzingen in Paragraaf 26.3.2.2, “init
forceren om
/etc/ttys
opnieuw te lezen”.
Het eerste veld, de naam van de terminal die het programma
aanstuurt, is ttyv8
. Dit houdt in dat
XDM op de negende virtuele terminal
begint te draaien.
De map met instellingen voor XDM
is /usr/local/lib/X11/xdm
. In deze map
staan diverse bestanden die gebruikt kunnen worden om het
gedrag en uiterlijk van XDM te
veranderen. Meestal zijn dit de volgende bestanden:
Bestand | Omschrijving |
---|---|
Xaccess | Regels voor client authorisatie. |
Xresources | Standaard waarden voor X bronnen. |
Xservers | Lijst met op afstand en lokaal te beheren schermen. |
Xsession | Standaard sessie script voor logins. |
Xsetup_ * | Script die applicaties start voordat de login interface start. |
xdm-config | Algehele instellingen voor alle schermen op deze machine. |
xdm-errors | Fouten die gegenereerd zijn door het serverprogramma. |
xdm-pid | Het proces ID van de draaiende XDM. |
Tevens staan in deze map een aantal scripts en programma's om het bureaublad in te stellen als XDM draait. Het doel van elk van deze bestanden wordt kort omschreven. De juiste syntaxis en het gebruik van deze bestanden staat in xdm(1).
De standaardinstelling regelt een eenvoudig rechthoekig aanmeldvenster met bovenin de hostnaam van de machine in een groot lettertype met een “Login:” en “Password:” prompt eronder. Dit is een goed beginpunt om het uiterlijk en werking van het XDM venster te veranderen.
Om een verbinding te maken met
XDM-gestuurde schermen wordt het
protocol X Display Manager Connection Protocol (XDMCP)
gebruikt. Het bestand is een set regels die XDMCP
verbindingen met andere machines bestuurt. Het wordt
genegeerd, tenzij xdm-config
is
gewijzigd zodat er wordt geluisterd naar inkomende
verbindingen. Standaard wordt het clients niet toegestaan te
verbinden.
Dit is een bestand met standaarden voor de schermkiezer en de aanmeldschermen. Hier kan het uiterlijk van het aanmeldprogramma gewijzigd worden. De indeling is hetzelfde als bij het app-defaults bestand en is beschreven in de X11 documentatie.
Dit is het standaard sessiescript voor
XDM dat start nadat de gebruiker
is aangemeld. Normaal heeft iedere gebruiker een eigen
sessiescript in ~/.xsession
dat dit
script overheerst.
Deze starten automatisch voordat de kiezers of
aanmeldschermen getoond worden. Er is een script voor ieder
gebruikt scherm met de naam Xsetup_
gevolgd door het lokale schermnummer (bijvoorbeeld
Xsetup_0
). Normaal draaien deze scripts
éé of twee programma's in de achtergrond zoals
xconsole
.
Dit bevat de instellingen die toegepast worden op ieder scherm die deze installatie aanstuurt. De indeling is hetzelfde als van app-defaults.
Hierin staan de meldingen die de X servers geven als
XDM ze probeert te starten. Als
een scherm dat gestart is door XDM
om onduidelijke reden hangt, is dit een goede plaats om te
zoeken naar foutmeldingen. Deze meldingen worden ook per
sessie naar het ~/.xsession-errors
van
de gebruiker gestuurd.
Om gebruikers een verbinding te laten maken met een X
server moeten de toegangsregels gewijzigd worden en de
connectielistener moet aangezet worden. Deze hebben standaard
wat terughoudende waarden. Om XDM
te laten luisteren naar verbindingen moet als eerste een regel
uitgecommentarieerd worden in
xdm-config
:
! SECURITY: do not listen for XDMCP or Chooser requests ! Comment out this line if you want to manage X terminals with XDM DisplayManager.requestPort: 0
Hierna moet XDM herstart worden.
Afwijkend in dit bestand is dat commentaar in app-defaults
bestanden begint met het karakter “!” en niet met
het karakter “#”. Het kan wenselijk zijn om de
toegangscontrole aan te scherpen — hiervoor staan
voorbeeldregels in Xaccess
en lees de
hulppagina xdm(1) voor meer informatie.
Er bestaan diverse alternatieven voor het XDM programma. KDM (wordt geleverd bij KDE) wordt later in dit hoofdstuk behandeld. De beeldschermmanager KDM biedt vele grafische verbeteringen en cosmetische franje en de mogelijkheid om de gebruiker de kans te geven een window manager te laten kiezen bij het aanmelden.
Deze sectie beschrijft de verschillende bureaubladomgevingen voor X op FreeBSD. Een “bureaubladomgeving” kan van alles inhouden: van een simpele window manager tot een complete suite van bureaubladapplicaties zoals KDE of GNOME.
GNOME is een gebruikersvriendelijke bureaubladomgeving die de gebruiker de mogelijkheid geeft om gemakkelijk de computer te gebruiken en in te stellen. GNOME heeft een paneel (voor het starten en tonen van statusinformatie van applicaties), een bureaublad (waar data en applicaties geplaatst kunnen worden), een set standaard bureaubladapplicaties en een regels die het makkelijker maakt voor applicaties om eenduidig met elkaar samen te werken. Gebruikers van andere besturingssystemen of omgevingen voelen zich meestal meteen thuis bij het gebruik van de krachtige grafisch gestuurde omgeving die GNOME biedt. Meer informatie over GNOME op FreeBSD staat op de FreeBSD GNOME Project website. De website bevat ook redelijk complete FAQ's over het installeren, instellen en beheren van GNOME.
De software kan eenvoudig worden geïnstalleerd vanuit een pakket of de Portscollectie:
Om het GNOME pakket te installeren:
#
pkg_add -r gnome2
Om GNOME vanuit de Portscollectie te installeren:
#
cd /usr/ports/x11/gnome2
#
make install clean
Voor een correcte werking, vereist
GNOME dat het
/proc
bestandssysteem gekoppeld is.
Voeg
proc /proc procfs rw 0 0
toe aan /etc/fstab
om
procfs(5) automatisch te koppelen tijdens het opstarten.
Zodra GNOME geïnstalleerd is, moet de X server verteld worden dat in plaats van de standaard window manager GNOME gebruikt moet worden.
De meest eenvoudige manier om
GNOME te starten is via
GDM, de GNOME Display Manager.
GDM wordt meegeïnstalleerd
met de GNOME bureaubladomgeving,
maar staat standaard uitgeschakeld. Dit programma kan
ingeschakeld worden door het volgende toe te voegen aan
/etc/rc.conf
:
gdm_enable="YES"
Na een herstart zal GDM automatisch gestart worden.
Meestal is het gewenst om alle
GNOME applicaties tegelijkertijd
met GDM te starten. Om dit te
bereiken moet de volgende regel worden toegevoegd aan
/etc/rc.conf
:
gnome_enable="YES"
GNOME kan ook gestart worden
vanaf de commandoregel door het bestand
.xinitrc
juist in te stellen. Als er al
een .xinitrc
is, dan hoeft alleen de
regel die de huidige window manager start veranderd te worden
in een regel die
/usr/local/bin/gnome-session
start. Als er niets speciaals met dit instellingenbestand is
gedaan:
%
echo "/usr/local/bin/gnome-session" > ~/.xinitrc
Nu kan met startx
de
GNOME bureaubladomgeving gestart
worden.
Als een beeldschermmanager als
XDM gebruikt wordt werkt het
bovenstaande niet. In plaats daarvan moet een uitvoerbaar
.xsession
gemaakt worden met hetzelfde
commando erin. Hiervoor moet het bestand aangepast worden
door het bestaande window manager commando te vervangen door
/usr/local/bin/gnome-session:
%
echo "#!/bin/sh" > ~/.xsession
%
echo "/usr/local/bin/gnome-session" >> ~/.xsession
%
chmod +x ~/.xsession
Het is ook mogelijk de beeldschermmanager zo in te stellen dat de window manager gekozen kan worden tijdens het aanmelden. In de paragraaf Meer KDE Details wordt uitgelegd hoe dit gedaan moet worden voor de KDM beeldschermmanager van KDE.
KDE is een bureaubladomgeving die eigentijds is en makkelijk in gebruik. KDE biedt de gebruiker:
Een schitterende eigentijdse desktop;
Een desktop die volledig netwerktransparant is;
Een geïntegreerd hulpsysteem dat eenvoudig bruikbare informatie geeft over het gebruik van het KDE bureaublad en de applicaties;
Alle KDE applicaties werken op dezelfde manier en zien er hetzelfde uit;
Gestandaardiseerde menu's en werkbalken, keybindings, kleurschema's, enzovoort;
Internationalisatie: KDE is beschikbaar in meer dan 55 talen;
Gecentraliseerde, consistente, dialooggedreven bureaubladinstelling;
Een grote hoeveelheid bruikbare KDE applicaties;
KDE wordt geleverd met een webbrowser genaamd Konqueror die niet onder doet voor de andere bestaande webbrowsers op UNIX® systemen. Meer informatie over KDE staat op de KDE website. Voor FreeBSD specifieke informatie en bronnen over KDE is er de website KDE/FreeBSD initiatief.
Er zijn twee versies van KDE beschikbaar op FreeBSD. Versie 3 is sinds lange tijd aanwezig en is nog steeds beschikbaar in de Portscollectie alhoewel het nu onbeheerd en gedeeltelijk kapot is. Versie 4 wordt punctueel bijgewerkt en is de standaardkeuze voor gebruikers van KDE. Ze kunnen zelfs naast elkaar worden geïnstalleerd.
Net als bij GNOME of iedere andere bureaubladomgeving kan de software eenvoudig geïnstalleerd met een pakket of uit de Portscollectie:
Om het KDE 3 pakket van het netwerk te installeren:
#
pkg_add -r kde
Om het KDE 4 pakket van het netwerk te installeren:
#
pkg_add -r kde4
pkg_add(1) haalt automatisch de laatste versie van de applicatie op.
Om KDE 3 vanuit de Portscollectie te bouwen en te installeren:
#
cd /usr/ports/x11/kde3
#
make install clean
Gebruik de Portscollectie om KDE 4 vanuit de broncode te bouwen:
#
cd /usr/ports/x11/kde4
#
make install clean
Nadat KDE geïnstalleerd
is, moet de X server verteld worden dat déze
applicatie gestart moet worden in plaats van de standaard
window manager. Hiervoor kan .xinitrc
aangepast worden:
Voor KDE 3:
%
echo "exec startkde" > ~/.xinitrc
Voor KDE 4:
%
echo "exec /usr/local/kde4/bin/startkde" > ~/.xinitrc
Als het X Window System wordt gestart met
startx
is KDE
het bureaublad.
Als er een beeldschermmanager als
XDM gebruikt wordt, is de
instelling anders. Dan moet .xsession
gewijzigd worden. Instructies voor
KDM worden later in dit hoofdstuk
beschreven.
Nadat KDE geïnstalleerd is op een systeem, kunnen de meeste dingen uitgezocht worden via de hulppagina's of door de verschillende menu's aan te wijzen en erop te klikken. Windows® en Mac® gebruikers voelen zich meestal helemaal thuis.
Het beste naslagwerk voor KDE is de on-line documentatie. KDE heeft zijn eigen web browser, Konqueror, tientallen handige applicaties en uitgebreide documentatie. De volgende paragrafen beschrijven de technische zaken die moeilijk proefondervindelijk te achterhalen zijn.
Een beheerder van een multi-user systeem die een grafisch aanmeldscherm willen hebben voor zijn gebruikers kan hiervoor XDM gebruiken, zoals eerder beschreven. KDE biedt KDM als alternatief. Dat is ontworpen met een beter uiterlijk en heeft meer aanmeldopties. Gebruikers kunnen via een menu kiezen welke bureaubladomgeving (KDE, GNOME of een andere) zij na het aanmelden willen gebruiken.
Om KDM te starten, moeten verschillende bestanden gewijzigd worden, afhankelijk van de versie van KDE.
Voor KDE 3 dient de regel met
ttyv8
als volgt aangepast te worden:
ttyv8 "/usr/local/bin/kdm -nodaemon" xterm on secure
Voor KDE 4 dient procfs(5) te
worden aangekoppeld en de volgende regel aan
/etc/rc.conf
te worden toegevoegd:
kdm4_enable="YES"
Xfce is een bureaubladomgeving die gebaseerd is op de GTK+ toolkit die gebruikt wordt bij GNOME, maar is eenvoudiger en bedoeld voor gebruikers die een simpel en efficiënt bureaublad willen dat toch eenvoudig en makkelijk in te stellen is. Het ziet er bijna hetzelfde uit als CDE dat bij commerciële UNIX® systemen zit. Een aantal Xfce functies zijn:
Een eenvoudige, makkelijk te bedienen desktop;
Geheel in te stellen met de muis, met klikken en slepen, enzovoort;
Hoofdpaneel hetzelfde als CDE met menu's, applets en applicaties
Geïntegreerde window manager, bestandsmanager, geluidsmanager, GNOME compliance module en meer zaken;
Thema's (sinds het gebruik van GTK+);
Snel, licht en efficiënt: ideaal voor de oudere of langzamere machines of machines met beperkte hoeveelheid geheugen;
Meer informatie over Xfce staat op de Xfce website.
Xfce is met een pakket te installeren:
#
pkg_add -r xfce4
Of vanuit de Portscollectie:
#
cd /usr/ports/x11-wm/xfce4
#
make install clean
Nu moet de X server weten dat Xfce gestart moet worden als X de volgende keer start:
%
echo "/usr/local/bin/startxfce4" > ~/.xinitrc
De volgende keer dat X start is
Xfce het bureaublad. Wederom:
als een beeldschermmanager als XDM
gebruikt wordt, moet .xsession
gemaakt
worden zoals beschreven in de paragraaf over GNOME. Nu moet echter het
command /usr/local/bin/startxfce4
gebruikt. Het is ook mogelijk de beeldschermmanager in te
stellen om bureaublad te kiezen bij het aanmelden, zoals is
uitgelegd in de paragraaf over kdm.
Na de inleiding gaat dit deel van het FreeBSD handboek over een aantal vaak gebruikte mogelijkheden van FreeBSD. De volgende hoofdstukken:
Geven een inleiding in populaire en handige desktop toepassingen: browsers, productieviteitsgereedschappen, documentviewers, etc;
Geven een inleiding in een aantal multimediatoepassingen die in FreeBSD beschikbaar zijn;
Geven uitleg over het proces waarmee een aangepaste kernel voor FreeBSD kan worden gemaakt om extra functionaliteit aan een systeen toe te voegen;
Beschrijven gedetailleerd het afdruksysteem, zowel voor met een desktop verbonden als met het netwerk verbinden printers;
Beschrijven hoe applicaties voor Linux® op FreeBSD kunnen draaien.
In een aantal van de hoofdstukken wordt voorkennis aangeraden. Dit staat vermeld in de inleiding van ieder hoofdstuk.
FreeBSD kan een groot aantal bureaubladapplicaties draaien, zoals browsers en tekstverwerkers. De meeste hiervan zijn beschikbaar als pakketten of kunnen automatisch vanuit de Portscollectie gebouwd worden. Veel nieuwe gebruikers verwachten dit soort applicaties op hun bureaublad. Dit hoofdstuk laat zien hoe populaire bureaubladapplicaties moeiteloos geïnstalleerd kunnen worden vanuit een pakket of vanuit de Portscollectie.
Als programma's vanuit ports geïnstalleerd worden, wordt hun broncode gecompileerd. Dit kan erg lang duren, afhankelijk van wat er gecompileerd wordt en de rekenkracht van een machine. Als compileren vanuit broncode te veel tijd kost, kunnen de meeste programma's van de Portscollectie als een voorgebouwd pakket geïnstalleerd worden.
Omdat FreeBSD compatibel is met Linux®, zijn veel applicaties die voor Linux® zijn ontwikkeld beschikbaar een FreeBSD bureaublad. Het wordt sterk aanbevolen om Hoofdstuk 11, Linux® binaire compatibiliteit te lezen voordat Linux® applicaties geïnstalleerd worden. Veel ports die gebruik maken van Linux® compatibiliteit beginnen met “linux-”. Dit is handig om te onthouden wanneer er naar een port gezocht wordt met bijvoorbeeld whereis(1). In dit hoofdstuk wordt aangenomen dat Linux® binaire compatibiliteit is ingeschakeld voordat Linux® applicaties worden geïnstalleerd.
In dit hoofdstuk worden de volgende categoriën behandeld:
Browsers (zoals Firefox, Opera, Konqueror, Chromium)
Productiviteit (zoals KOffice, AbiWord, The GIMP, Apache OpenOffice, LibreOffice)
Documentviewers (zoals Acrobat Reader®, gv, Xpdf, GQview)
Financieel (zoals GnuCash, Gnumeric, Abacus)
Er wordt aangenomen dat de lezer van dit hoofdstuk:
Weet hoe aanvullende software van derde partijen geïnstalleerd wordt (Hoofdstuk 5, Applicaties installeren: pakketten en ports).
Weet hoe aanvullende Linux® software geïnstalleerd wordt (Hoofdstuk 11, Linux® binaire compatibiliteit).
Meer informatie over een multimedia-omgeving staat in Hoofdstuk 8, Multimedia. Installatie van email staat beschreven in Hoofdstuk 28, Elektronische mail.
FreeBSD wordt zonder een voorgeïnstalleerde browser geleverd. In plaats hiervan bevat de www map van de Portscollectie browsers om te installeren. Het is ook mogelijk voor de meeste ports een pakket te installeren als compileren niet gewenst is. Compileren kan soms lang duren.
KDE en GNOME bevatten reeds HTML-browsers. In Paragraaf 6.7, “Bureaubladomgevingen” staat meer informatie over de installatie van deze complete bureaubladen.
Lichtgewicht browsers uit de Portscollectie zijn onder andere www/dillo2, www/links of www/w3m.
Dit gedeelte behandelt deze applicaties:
Applicatie | Bronnen | Ports | Grote afhankelijkheden |
---|---|---|---|
Firefox | gemiddeld | zwaar | Gtk+ |
Opera | weinig | licht | FreeBSD en Linux® versies beschikbaar. De Linux® versie is afhankelijk van de Linux® binaire compatibiliteit en linux-openmotif. |
Konqueror | gemiddeld | zwaar | KDE bibliotheken |
Chromium | gemiddeld | gemiddeld | Gtk+ |
Firefox is een moderne, gratis, stabiele open-source browser die volledig geporteerd is naar FreeBSD: het heeft een motor voor HTML-weergave die zich zeer strikt aan de standaarden houdt, browsen met tabbladen, blokkeren van pop-ups, uitbreidingen, verbeterde veiligheid, en meer. Firefox is gebaseerd op de codebase van Mozilla.
Installeer het pakket door het volgende te typen:
#
pkg_add -r firefox
Dit zal de laatste uitgave van Firefox installeren, als u in plaats hiervan de Extended Support Release (ESR) van Firefox wilt draaien, gebruik dan:
#
pkg_add -r firefox-esr
De Portscollectie kan ook gebruikt worden als u liever vanuit de broncode installeert.
#
cd /usr/ports/www/firefox
#
make install clean
Voor Firefox ESR dient
firefox
in het vorige commando vervangen te
worden door firefox-esr
.
In deze en de volgende twee secties wordt er vanuit gegaan dat Firefox reeds geïnstalleerd is.
Installeer OpenJDK 6 vanuit de Ports Collectie door het volgende typen:
#
cd /usr/ports/java/openjdk6
#
make install clean
Installeer daarna de port java/icedtea-web:
#
cd /usr/ports/java/icedtea-web
#
make install clean
Zorg ervoor dat de standaard configuratieopties voor beide ports zijn geselecteerd.
Start de browser en voer about:plugins
in
de locatie balk en druk op Enter. Er zal een
pagina gepresenteerd worden die de geïnstalleerde plugins
toont; de Java™ plugin zal nu
getoond moeten worden.
Als de browser de plugin niet kan vinden, dient elke gebruiker het volgende commando uit te voeren en de browser opnieuw te starten:
%
ln -s /usr/local/lib/IcedTeaPlugin.so \ $HOME/.mozilla/plugins/
De Adobe® Flash™ plugin is niet beschikbaar voor FreeBSD. Er is echter wel een softwarelaag (wrapper) om de Linux®-versie van de plugin te draaien. Deze wrapper ondersteunt ook Adobe® Acrobat® plugin, RealPlayer® plugin en meer.
Afhankelijk van de versie van FreeBSD die u draait zijn er verschillende stappen nodig:
Op FreeBSD 7.X
Installeer de port www/nspluginwrapper. Deze port heeft emulators/linux_base-fc4 nodig, wat een grote port is.
De volgende stap is om de port www/linux-flashplugin9 te installeren. Dit zal Flash™ 9.X installeren, van deze versie is bekend dat die correct werkt op FreeBSD 7.X.
Op FreeBSD 8.X of nieuwer
Installeer de port www/nspluginwrapper. Deze port heeft emulators/linux_base-f10 nodig, wat een grote port is.
De volgende stap is om de Flash™ 11.X vanuit de port www/linux-f10-flashplugin11 te installeren.
Voor deze versie is het nodig om de volgende koppeling aan te maken:
#
ln -s /usr/local/lib/npapi/linux-f10-flashplugin/libflashplayer.so \ /usr/local/lib/browser_plugins/
De /usr/local/lib/browser_plugins
directory moet handmatig aangemaakt worden als deze nog niet
op het systeem bestaat.
Wanneer de juiste Flash™ port, afhankelijk van de versie van FreeBSD
die u draait, is geïnstalleerd, moet de plugin door elke gebruiker
worden geïnstalleerd met nspluginwrapper
:
%
nspluginwrapper -v -a -i
Start dan de browser en voer op de adresbalk
about:plugins
in en druk op
Enter. Een pagina met alle geïnstalleerde
plugins wordt nu getoond.
Swfdec is de bibliotheek om Flash™-animaties te decoderen en af te beelden. Swfdec-Mozilla is een plugin voor Firefox-browsers dat de Swfdec-bibliotheek gebruikt om SWF-bestanden af te spelen. Er wordt nog steeds veel aan ontwikkeld.
Als u het niet kunt of wilt compileren, kan het pakket vanaf het netwerk worden geïnstalleerd:
#
pkg_add -r swfdec-plugin
Als het pakket niet beschikbaar is, kunt u het vanuit de Portscollectie compileren en installeren:
#
cd /usr/ports/www/swfdec-plugin
#
make install clean
Herstart hierna uw browser om deze plugin effectief te maken.
Opera is een volledige en een standaard volgende browser. Hij wordt standaard geleverd met een ingebouwde email-client, een nieuwslezer, een IRC client, een RSS/ATOM feed lezer en nog veel meer. Ondanks dat is Opera relatief gezien niet zwaar en erg snel. Hij komt in twee smaken: een FreeBSD versie en een versie die draait onder Linux® emulatie.
De FreeBSD pakketversie van Opera wordt zo geïnstalleerd:
#
pkg_add -r opera
Sommige FTP-sites hebben niet alle pakketten, maar Operakan worden nog altijd via de Portscollectie worden verkregen door te typen:
#
cd /usr/ports/www/opera
#
make install clean
De Linux® versie van Opera kan
geïnstalleerd worden door bij de bovenstaande voorbeelden
linux-opera
te gebruiken in plaats van
opera
.
De Adobe® Flash™ plugin is niet beschikbaar voor FreeBSD. Er bestaat echter een Linux® versie van de plugin. Om deze versie te installeren moet de port www/linux-f10-flashplugin11 geïnstalleerd zijn, installeer daarna de port www/opera-linuxplugins:
#
cd /usr/ports/www/linux-f10-flashplugin11
#
make install clean
#
cd /usr/ports/www/opera-linuxplugins
#
make install clean
U kunt controleren of de plugin aanwezig is: start uw browser, geef
opera:plugins
in op de adresbalk en druk op
Enter. Er zou een lijst moeten verschijnen met alle
huidig beschikbare plugins.
Volg de instructies voor Firefox om de Java™ plugin te installeren.
Konqueror is deel van KDE, maar kan ook buiten KDE gebruikt worden door x11/kdebase3 te installeren. Konqueror is meer dan een browser, het is ook een bestandsbeheerder en multimedia-viewer.
Er is ook een verzameling plugins beschikbaar voor Konqueror, beschikbaar in misc/konq-plugins.
Konqueror ondersteunt WebKit naast het eigen KHTML. WebKit wordt gebruikt door vele moderne browsers waaronder Chromium. Om WebKit met Konqueror op FreeBSD te gebruiken:
#
cd /usr/ports/www/kwebkitpart
#
make install clean
Klik vervolgens in Konqueror op “Settings”, “Configure Konqueror”, en “Change KHTML to WebKit”.
Konqueror ondersteunt ook
Flash™; een “How To”
gids om ondersteuning voor Flash™ in
Konqueror te krijgen is beschikbaar
op http://freebsd.kde.org/howtos/konqueror-flash.php
.
Chromium is een open-source browserproject dat er op gericht is om een veiligere, snellere en stabielere surfervaring op te bouwen. Chromium biedt surfen met tabbladen, het blokkeren van pop-ups, uitbreidingen en nog veel meer. Chromium is het open-source project waar de browser Google Chrome op is gebaseerd.
Chromium kan als volgt als een pakket worden geïnstalleerd:
#
pkg_add -r chromium
Als alternatief kan Chromium worden gecompileerd vanuit de broncode door de Portscollectie te gebruiken:
#
cd /usr/ports/www/chromium
#
make install clean
Chromium wordt geïnstalleerd als
/usr/local/bin/chrome
, niet als
/usr/local/bin/chromium
.
Deze sectie neemt aan dat Chromium al is geïnstalleerd.
Installeer OpenJDK 6 vanuit de Portscollectie:
#
cd /usr/ports/java/openjdk6
#
make install clean
Installeer vervolgens java/icedtea-web vanuit de Portscollectie:
#
cd /usr/ports/java/icedtea-web
#
make install clean
Start Chromium en geef
about:plugins
op in de adresbalk. IcedTea-Web zou
genoemd moeten worden als één van de geïnstalleerde
plugins.
Als Chromium de plugin IcedTea-Web niet vermeldt, voer dan de volgende commando's uit en herstart de browser:
#
mkdir -p /usr/local/share/chromium/plugins
#
ln -s /usr/local/lib/IcedTeaPlugin.so \ /usr/local/share/chromium/plugins/
Deze sectie neemt aan dat Chromium al is geïnstalleerd.
Het configureren van Chromium en Adobe® Flash™ lijkt op de instructies voor Firefox. Raadpleeg die sectie voor gedetailleerdere instructies en het installeren van Adobe® Flash™ op FreeBSD. Er zou geen verdere configuratie nodig moeten zijn, aangezien Chromium sommige plugins van andere browsers kan gebruiken.
Als het op productiviteit aankomt, zoeken nieuwe gebruikers vaak een goed kantoorpakket of een vriendelijke tekstverwerker. Hoewel sommige bureaubladomgevingen zoals KDE reeds een kantoorpakket verschaffen, is er geen standaard produktiviteitspakket. FreeBSD kan alles verschaffen wat nodig is, ongeacht de bureaubladomgeving.
In dit gedeelte worden de onderstaande applicaties beschreven:
Applicatie | Bronnen | Ports | Afhankelijkheden |
---|---|---|---|
KOffice | weinig | zwaar | KDE |
AbiWord | weinig | licht | Gtk+ of GNOME |
The GIMP | weinig | licht | Gtk+ |
Apache OpenOffice | veel | erg zwaar | JDK™, Mozilla |
LibreOffice | enigszins veel | zwaar | Gtk+, of KDE / GNOME, of JDK™ |
De KDE-gemeenschap heeft zijn bureaubladomgeving met een kantoorpakket geleverd dat buiten KDE gebruikt kan worden. Het bevat de vier standaardcomponenten uit andere kantoorpakketten. KWord is de tekstverwerker, KSpread is het spreadsheetprogramma, KPresenter beheert diapresentaties en Kontour voorziet in grafische mogelijkheden.
Voordat de nieuwste KOffice wordt geïnstalleert, moet er een recente versie van KDE geïnstalleerd zijn.
KOffice voor KDE als pakket installeren gaat met het volgende commando:
#
pkg_add -r koffice-kde4
Als het pakket niet beschikbaar is, kan de Portscollectie gebruiken worden. Om KOffice voor KDE4 te installeren:
#
cd /usr/ports/editors/koffice-kde4
#
make install clean
AbiWord is een vrij tekstverwerkingsprogramma, ongeveer gelijk aandoet als Microsoft® Word. Het is geschikt om verslagen, brieven, rapporten, memo's, enzovoort mee te typen. Het programma is snel, bevat veel mogelijkheden en is gebruikersvriendelijk.
AbiWord kan veel bestandsformaten
importeren en exporteren, waaronder enkele gesloten formaten,
zoals Microsoft®'s .doc
.
AbiWord is beschikbaar als pakket en te installeren met:
#
pkg_add -r abiword
Als het pakket niet beschikbaar is, kan het worden gecompileerd vanuit de Portscollectie. De Portscollectie is meer recent. Dat kan als volgt:
#
cd /usr/ports/editors/abiword
#
make install clean
Voor het bewerken of retoucheren van afbeeldingen is The GIMP een zeer geavanceerd afbeeldingenmanipulatieprogramma. Het kan als eenvoudig tekenprogramma worden gebruikt of als kwalititeitspakket voor het retoucheren van foto's. Het ondersteunt een groot aantal plugins en bevat een scripting interface. The GIMP kan een groot aantal bestandsformaten lezen en schrijven. Het ondersteunt interfaces met scanners en tabletten.
Het pakket is te installeren met:
#
pkg_add -r gimp
Als een FTP-site dit pakket niet heeft, kan de Portscollectie gebruikt worden. De graphics map van de Portscollectie bevat ook The GIMP Manual. Die kan zo geïnstalleerd worden:
#
cd /usr/ports/graphics/gimp
#
make install clean
#
cd /usr/ports/graphics/gimp-manual-pdf
#
make install clean
De graphics map van de Portscollectie bevat de ontwikkelversie van The GIMP in graphics/gimp-devel. Een HTML-versie van The GIMP Manual staan in graphics/gimp-manual-html.
Op 1 juni 2011 doneerde Oracle Corporation de codebasis van OpenOffice.org aan de Apache Software Foundation. OpenOffice.org staat nu bekend als Apache OpenOffice en wordt ontwikkeld onder de vleugels van de Incubator van de Apache Software Foundation.
Apache OpenOffice bevat alle noodzakelijke applicaties in een compleet kantoorproductiviteitspakket: een tekstverwerker, een spreadsheet, een presentatiebeheerder en een tekenprogramma. De gebruikersinterface is vrijwel gelijk aan die van andere kantoorpakketten en het kan veel populaire bestandsformaten in- en uitvoeren. Het is beschikbaar in een aantal verschillende talen — internationalisatie is uitgebreid tot interfaces, spellingcontrole, en woordenboeken.
De tekstverwerker van Apache OpenOffice gebruikt een eigen XML-bestandsformaat voor overdraagbaarheid en flexibiliteit. Het spreadsheetprogramma bevat een macrotaal en kan gekoppeld worden aan externe databases. Apache OpenOffice is stabiel en draait zonder aanpassingen op Windows®, Solaris™, Linux, FreeBSD en Mac OS® X. Meer informatie over Apache OpenOffice staat op de Apache OpenOffice website. Voor specifieke FreeBSD informatie en om direct pakketten te downloaden is er de website van het FreeBSD Apache OpenOffice Porting Team.
Om Apache OpenOffice te installeren:
#
pkg_add -r apache-openoffice
Dit hoort te werken als er een -RELEASE versie van FreeBSD wordt gedraaid. In andere gevallen is het verstandig om te kijken op de website van het FreeBSD Apache OpenOffice Porting Team en het juiste pakket met pkg_add(1) te downloaden en te installeren. Zowel de huidige release als de ontwikkelversie kunnen op die locatie gedownload worden.
Als het pakket geïnstalleerd is, start dan met het volgende commando Apache OpenOffice:
%
openoffice-X.Y.Z
waarbij X.Y.Z
het versienummer van de
geïnstalleerde Apache OpenOffice is,
bijvoorbeeld 3.4.0
.
Tijdens de eerste keer starten worden er een aantal vragen
gesteld en wordt de map .openoffice.org
in de thuismap van de aangemelde gebruiker gemaakt.
Als de Apache OpenOffice pakketten niet beschikbaar zijn, kan het uit de ports gecompileerd worden. Hiervoor is veel schijfruimte en tijd nodig:
#
cd /usr/ports/editors/openoffice-3
#
make install clean
Vervang om een gelokaliseerde versie te bouwen de voorgaande commandoregel door de volgende:
#
make LOCALIZED_LANG=uw_taal install clean
Vervang taal
door de juiste
ISO-taalcode. Een lijst met ondersteunde taalcodes is
beschikbaar in het bestand
files/Makefile.localized
in de map van
de port.
Start hierna Apache OpenOffice met:
%
openoffice-X.Y.Z
waarbij X.Y.Z
het versienummer van de
geïnstalleerde Apache OpenOffice is,
bijvoorbeeld 3.4.0
.
LibreOffice is een gratis kantoorpakket ontwikkeld door The Document Foundation en is compatibel met andere grote kantoorpakketten en is beschikbaar op meerdere platforms. Het is een afsplitsing van OpenOffice.org onder een nieuw merk en bevat alle verwachte toepassingen van een compleet kantoorpakket: een tekstverwerker, een spreadsheet, een presentatiebeheerder, een tekenprogramma, een databasebeheerprogramma, en een programma om wiskundige formules te bewerken. Het is beschikbaar in een aantal verschillende talen — internationalisatie heeft zich uitgebreid naar interfaces, spellingcheckers en woordenboeken.
De tekstverwerker van LibreOffice gebruikt een eigen XML-bestandsformaat voor verhoogde portabiliteit en flexibiliteit. Het spreadsheetprogramma bevat een macrotaal en kan met externe databases gebruikt worden. LibreOffice is reeds stabiel en draait op Windows®, Linux, FreeBSD, en Mac OS® X. Meer informatie over LibreOffice is te vinden op de website van LibreOffice.
Om LibreOffice als een pakket te installeren:
#
pkg_add -r libreoffice
Dit zou moeten werken met een -RELEASE-versie van FreeBSD.
Als het pakket is geïnstalleerd, dient de volgende opdracht gebruikt te worden om LibreOffice te draaien:
%
libreoffice
Tijdens de eerste keer draaien worden u wat vragen gesteld en
wordt er een map .libreoffice
aangemaakt in uw thuismap.
Als er geen pakket voor LibreOffice beschikbaar is, heeft u nog altijd de optie om de port te compileren. Denk er echter aan dat dit veel schijfruimte en redelijk veel tijd kost.
#
cd /usr/ports/editors/libreoffice
#
make install clean
Als u een gelokaliseerde versie wilt bouwen, dient u de vorige opdracht door het volgende te vervangen:
#
make LOCALIZED_LANG=uw_taal install clean
U dient uw_taal
te vervangen door de
juiste ISO-taalcode. Een lijst met ondersteunde talen is beschikbaar
in het doel pre-fetch
van de
Makefile
van de port.
Wanneer dit is gedaan, kan LibreOffice gestart worden met deze opdracht:
%
libreoffice
Sommige nieuwe documentformaten hebben aan populariteit gewonnen sinds de komst van UNIX®; het kan zijn dat de standaardviewers die ze vereisen niet in het basissysteem zitten. In dit gedeelte wordt aangegeven hoe zulke viewers geïnstalleerd kunnen worden.
Dit gedeelte behandelt de onderstaande applicaties:
Applicatie | Bronnen | Ports | Afhankelijkheden |
---|---|---|---|
Acrobat Reader® | weinig | licht | Linux® binaire compatibiliteit |
gv | weinig | licht | Xaw3d |
Xpdf | weinig | licht | FreeType |
GQview | weinig | licht | Gtk+ of GNOME |
Documenten worden vaak als PDF-bestanden, “Portable Document Format”, verspreid. Een van de aanbevolen viewers voor dit bestandstype is Acrobat Reader® dat Adobe voor Linux® heeft uitgegeven. Omdat FreeBSD Linux® binaries kan draaien, is het ook beschikbaar voor FreeBSD.
Om Acrobat Reader® 8 te installeren uit de Portscollectie:
#
cd /usr/ports/print/acroread8
#
make install clean
Vanwege de licentie is een pakket niet beschikbaar.
gv is een PostScript® en PDF viewer. Het is gebaseerd op ghostview maar heeft een vriendelijker uiterlijk dankzij de Xaw3d bibliotheek. Het is snel en heeft mogelijkheden, zoals oriëntatie, papiergrootte, schalen en anti-aliassen. Bijna elke bewerking kan met het toetsenbord of de muis worden gedaan.
gv is als pakket te installeren:
#
pkg_add -r gv
Of uit de Portscollectie:
#
cd /usr/ports/print/gv
#
make install clean
Xpdf een efficiënte lichtgewicht PDF-viewer voor FreeBSD. Het heeft erg weinig bronnen nodig en is zeer stabiel. Het gebruikt de standaard X-fonts en is niet afhankelijk van Motif® of andere X-toolkits.
Xpdf is als pakket te installeren:
#
pkg_add -r xpdf
Of uit de Portscollectie:
#
cd /usr/ports/graphics/xpdf
#
make install clean
Als de installatie voltooid is, kan Xpdf gestart worden en het menu kan met de rechtermuisknop geactiveerd worden.
GQview is een afbeeldingenbeheerder. Een bestand kan met één klik bekeken worden, er kan een externe editor opgestart worden er kunnen thumbnail-voorbeelden gemaakt worden en nog veel meer. Het bevat ook een diapresentatie-modus en enkele standaard bestandsoperaties. Er kunnen afbeeldingsverzamelingen beheerd worden en eenvoudig duplicaten gevonden worden. GQview kan het complete scherm gebruiken en ondersteunt meerdere talen.
GQview is als pakket te installeren:
#
pkg_add -r gqview
Of uit de Portscollectie:
#
cd /usr/ports/graphics/gqview
#
make install clean
Om financiën via het FreeBSD bureaublad te beheren zijn er krachtige en gemakkelijk te gebruiken applicaties om te installeren. Sommige zijn compatibel met wijdverbreide bestandsformaten, zoals de formaten gebruikt door Quicken en Excel om documenten op te slaan.
Dit gedeelte behandelt deze programma's:
Applicatie | Bronnen | Ports | Afhankelijkheden |
---|---|---|---|
GnuCash | weinig | zwaar | GNOME |
Gnumeric | weinig | zwaar | GNOME |
Abacus | weinig | licht | Tcl/Tk |
KMyMoney | weinig | zwaar | KDE |
GnuCash is onderdeel van GNOME dat gebruikersvriendelijke en krachtige applicaties aan eindgebruikers wil leveren. Met GnuCash kunnen inkomsten en uitgaven, bankrekeningen en voorraden bijgehouden worden. Het bevat een intuïtieve interface terwijl het erg professioneel blijft.
GnuCash levert een slim kasboek, een hiërarchisch systeem van rekeningen, en veel toetsenbordversnellers en auto-invul mogelijkheden. Het kan een transactie splitsen in meer gedetailleerde stukken. GnuCash kan Quicken QIF-bestanden invoeren en samenvoegen. Het kan ook met de meeste internationale datum- en valutaformaten omgaan.
GnuCash is als pakket te installeren:
#
pkg_add -r gnucash
Of uit de Portscollectie:
#
cd /usr/ports/finance/gnucash
#
make install clean
Gnumeric is een spreadsheetprogramma uit de GNOME bureaubladomgeving. Het maakt gebruikt van “auto-invullen” afhankelijk van het celformaat. Het kan bestanden in een aantal populaire formaten zoals Excel, Lotus 1-2-3 en Quattro Pro inlezen. Gnumeric ondersteunt grafieken door middel van het grafiekprogramma math/guppi. Het heeft een groot aantal ingebouwde functies en kent gebruikelijke celformaten als nummer, valuta, datum, tijd en veel meer.
Gnumeric is als pakket te installeren:
#
pkg_add -r gnumeric
Of uit de Portscollectie:
#
cd /usr/ports/math/gnumeric
#
make install clean
Abacus is een kleine en gemakkelijk te gebruiken spreadsheetprogramma. Het bevat veel ingebouwde functies die nuttig zijn in verschillende domeinen zoals statistiek, financiën, en wiskunde. Het kan Excel-bestanden lezen en schrijven. Abacus kan PostScript® uitvoer produceren.
Abacus is als pakket te installeren:
#
pkg_add -r abacus
Of uit de Portscollectie:
#
cd /usr/ports/deskutils/abacus
#
make install clean
KMyMoney is een persoonlijke financiële beheerder gebouwd voor KDE. KMyMoney poogt om alle belangrijke eigenschappen die in commerciële persoonlijke financiële beheerders zitten te bieden en te integreren. Gebruiksgemak en degelijke dubbele accounting zijn eigenschappen die worden benadrukt. KMyMoney importeert vanuit standaard Quicken Interchange Format (QIF) bestanden, houdt investeringen bij, kan met meerdere munteenheden overweg, en biedt een waaier aan rapporten. Mogelijkheden om OFX te importeren zijn via een aparte plugin beschikbaar.
Om KMyMoney als een pakket te installeren:
#
pkg_add -r kmymoney2
Als het pakket niet beschikbaar is, kan de Portscollectie gebruikt worden:
#
cd /usr/ports/finance/kmymoney2
#
make install clean
Hoewel FreeBSD populair is bij ISP's om zijn prestaties en stabiliteit, is het behoorlijk klaar voor dagelijks gebruik als een bureaublad. Met enkele duizenden applicaties als pakketten of ports, is een perfect bureaublad te bouwen dat aan alle noden voldoet.
Nu volgt nog een overzicht van alle bureaubladapplicaties die in dit hoofdstuk zijn behandeld:
Applicatie | Package | Port |
---|---|---|
Opera | linux-opera | www/linux-opera |
Firefox | firefox | www/firefox |
Chromium | chromium | www/chromium |
KOffice | koffice-kde4 | editors/koffice-kde4 |
AbiWord | abiword | editors/abiword |
The GIMP | gimp | graphics/gimp |
Apache OpenOffice | openoffice | editors/openoffice-3 |
LibreOffice | libreoffice | editors/libreoffice |
Acrobat Reader® | 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 |
FreeBSD ondersteunt een breed bereik aan geluidskaarten, waardoor het mogelijk is van geluid van hoge kwaliteit op een computer te genieten. Hieronder vallen mogelijkheden om geluid op te nemen en af te spelen in de MPEG Audio Layer 3 (MP3), WAV en Ogg Vorbis formaten en vele andere formaten. De FreeBSD Portscollectie bevat ook programma's waarmee opgenomen audio bewerkt kan worden, waarmee geluidseffecten toegevoegd kunnen worden en aangesloten MIDI apparaten bestuurd kunnen worden.
Met wat experimenteren kunnen met FreeBSD videobestanden en DVD's afgespeeld worden. Er zijn minder programma's om video te encoderen, te converteren en af te spelen dan er zijn voor audio. Op het moment van schrijven is er bijvoorbeeld geen goed hercoderingsprogramma in de FreeBSD Portscollectie beschikbaar wat gebruikt kan worden om tussen formaten onderling te converteren, zoals mogelijk is met audio/sox. De software in dit landschap is echter sterk aan verandering onderhevig.
In dit hoofdstuk worden de stappen beschreven die uitgevoerd moeten worden om een geluidskaart in te stellen. Bij de installatie en instelling van X11 (Hoofdstuk 6, Het X Window systeem) is al beschreven hoe videokaarten ingesteld kunnen worden, hoewel er nog wel een aantal mogelijkheden zijn om het afspelen te verbeteren.
Na het lezen van dit hoofdstuk weet de lezer:
Hoe een systeem zo in te stellen dat een geluidskaart wordt herkend;
Hoe getest kan worden of een kaart werkt;
Hoe problemen op te lossen met betrekking tot geluidsinstellingen;
Hoe MP3's en andere audio af te spelen en te maken;
Hoe video wordt ondersteund door de X server;
Welke video speler/encoderports goede resultaten geven;
Hoe DVD's, .mpg
en
.avi
bestanden af te spelen;
Hoe de inhoud van CD's en DVD's naar bestanden geript kan worden;
Hoe een TV-kaart in te stellen;
Hoe een scanner in te stellen.
Er wordt aangenomen dat de lezer van dit hoofdstuk:
Weet hoe een nieuwe kernel in te stellen en te installeren (Hoofdstuk 9, De FreeBSD-kernel instellen).
Het proberen aan te koppelen van audio-CD's met mount(8) resulteert in ieder geval in een foutmelding en in het ergste geval tot een kernel panic. Dat type media heeft een formaat dat afwijkt van het gebruikelijke ISO-bestandssysteem.
Alvorens te beginnen is het van belang te weten welk model een geluidskaart is, welke chip erop wordt gebruikt en of het een PCI of ISA kaart is. FreeBSD ondersteunt vele PCI en ISA kaarten. De ondersteunde audio-apparaten staan in een lijst in de Hardware Notes. In de Hardware Notes staat ook beschreven welk stuurprogramma uw kaart ondersteunt.
Om een geluidsapparaat te gebruiken dient het juiste apparaatstuurprogramma geladen te worden. Dit kan op twee manieren. De meest eenvoudige manier is simpelweg een kernelmodule te laden voor de gewenste geluidskaart met kldload(8). Dit kan vanaf de commandoregel:
#
kldload snd_emu10k1
Of door als volgt de juiste regel toe te voegen aan
/boot/loader.conf
:
snd_emu10k1_load="YES"
De bovenstaande voorbeelden zijn voor een Creative
SoundBlaster® Live! geluidskaart. De overige beschikbare
laadbare geluidsmodules staan beschreven in
/boot/defaults/loader.conf
. Als niet
compleet duidelijk is welk stuurprogramma gebruikt dient te
worden, dan kan het met de module
snd_driver
geprobeerd worden:
#
kldload snd_driver
Dit is een metastuurprogramma, dat in één
keer de meest voorkomende apparaatstuurprogramma's laadt.
Hiermee kan het zoeken naar het juiste stuurprogramma versneld
worden. Het is ook mogelijk om alle geluidsstuurprogramma's te
laden via de optie
/boot/loader.conf
.
Om uit te vinden welk stuurprogramma na het laden van het
metastuurprogramma snd_driver
wordt
geladen kan de inhoud van het bestand
/dev/sndstat
nagekeken worden met
cat /dev/sndstat
.
Een tweede mogelijkheid is ondersteuning voor een geluidskaart statisch in de kernel te compileren. In de onderstaande paragrafen staat meer informatie over hoe op die manier ondersteuning voor hardware toegevoegd kan worden. Meer informatie over het hercompileren van een kernel staat in Hoofdstuk 9, De FreeBSD-kernel instellen.
Eerst moet het stuurprogramma voor het audioraamwerk sound(4) aan de kernel toegevoegd worden. Daarvoor dient het volgende te worden opgenomen in het bestand met kernelinstellingen:
device sound
Daarna kan ondersteuning voor de specifieke geluidskaart toegevoegd worden. Daarvoor moet bekend zijn welk stuurprogramma de kaart ondersteunt. Dit kan opgezocht worden in de lijst met ondersteunde audio-apparaten in de Hardware Notes, waar de correcte stuurprogramma's voor geluidskaarten beschreven staan. Zo wordt een Creative SoundBlaster® Live! geluidskaart bijvoorbeeld ondersteund door het stuurprogramma snd_emu10k1(4). Ondersteuning voor deze kaart kan als volgt worden toegevoegd:
device snd_emu10k1
In de hulppagina voor een stuurprogramma staat welke
syntaxis gebruikt kan worden. De expliciete syntaxis voor de
kernelinstellingen voor elk ondersteund geluidsstuurprogramma
staat ook in /usr/src/sys/conf/NOTES
.
Voor niet-PnP ISA-geluidskaarten kan het nodig zijn dat de
kernel informatie gegeven moet worden over de instellingen
van de kaart (IRQ, I/O poort, enzovoort), zoals dat geldt voor
alle niet-PnP ISA-kaarten. Dit kan via het bestand
/boot/device.hints
. Bij het starten van
een systeem leest de loader(8) dat bestand uit en geeft
de instellingen door aan de kernel. Zo gebruikt een oude
Creative SoundBlaster® 16 ISA niet-PnP-kaart het
stuurprogramma snd_sbc(4) samen met
snd_sb16
en dient de volgende regel
toegevoegd te worden aan het kernelinstellingenbestand:
device snd_sbc device snd_sb16
Daarnaast moet het volgende worden toegevoegd aan
/boot/device.hints
:
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 dit geval gebruikt de kaart I/O poort
0x220
en IRQ 5
.
De gebruikte syntaxis voor
/boot/device.hints
staat beschreven in
de hulppagina sound(4) en de hulppagina voor het
gevraagde stuurprogramma.
De bovenstaande instellingen zijn de standaardinstellingen. In sommige gevallen moeten IRQ of andere instellingen gewijzigd worden om een apparaat juist te laten werken. In snd_sbc(4) staat meer informatie over deze kaart.
Na het herstarten met de aangepaste kernel of na het laden van de benodigde module, hoort de geluidskaart ongeveer als volgt te verschijnen in de systeemberichtbuffer (dmesg(8)):
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>
De status van de geluidskaart kan gecontroleerd worden via
het bestand /dev/sndstat
:
#
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)
De uitvoer kan per systeem wat verschillen. Als er geen
apparaten pcm
genoemd worden, dienen
eerdere stappen herzien te worden. Bekijk nogmaals de
instellingen van de kernel en bevestig dat het juiste
apparaatstuurprogramma was gekozen. Veel voorkomende problemen
staan beschreven in Paragraaf 8.2.2.1, “Bekende problemen”.
Als het goed is werkt de geluidskaart nu. Als pinnen voor audio-out van de CD-ROM- of DVD-ROM-drive juist zijn aangesloten op de geluidskaart, dan kan er een CD in de drive gestopt worden en kan deze met cdcontrol(1) afgespeeld worden:
%
cdcontrol -f /dev/acd0 play 1
Applicaties als audio/workman kunnen een vriendelijker interface bieden. Wellicht is het handig om een applicatie als audio/mpg123 te installeren om naar MP3 audiobestanden te luisteren.
Een snelle manier om de kaart te testen is het als volgt
sturen van gegevens naar /dev/dsp
:
%
cat bestandsnaam > /dev/dsp
bestandsnaam
kan ieder bestand zijn. Deze commandoregel hoort wat ruis te
maken, waardoor wordt bevestigd dat de geluidskaart echt werkt.
De appparaat nodes /dev/dsp*
worden
automatisch aangemaakt wanneer dat nodig is. Als deze niet
worden gebruikt, bestaan ze niet en zullen ze niet terugkomen
in de terugkoppeling van ls(1).
Niveaus voor de geluidskaartmixer kunnen aangepast worden met het commando mixer(8). Er staan meer details in mixer(8).
Fout | Oplossing |
---|---|
sb_dspwr(XX) timed out | De I/O poort is niet correct ingesteld. |
bad irq XX | Het IRQ is niet correct ingesteld. Zorg dat het ingestelde IRQ en het IRQ voor het geluid hetzelfde zijn. |
xxx: gus pcm not attached, out of memory | Er is niet genoeg geheugen beschikbaar om het apparaat te gebruiken. |
xxx: can't open /dev/dsp! | Controleer fstat | grep dsp
of een ander programma het apparaat geopend heeft.
Bekende probleemgevallen zijn
esound en
KDE's
geluidsondersteuning. |
Een ander euvel is dat moderne grafische kaarten voor het gebruik
van HDMI en dergelijken vaak zijn uitgerust met hun
eigen geluidsstuurprogramma. Dit geluidsapparaat wordt soms opgesomd
voor het eigenlijke geluidskaart en daardoor wordt deze niet gebruikt
als het standaard afspeelapparaat. Om te zien of dit het geval is,
kan dmesg worden gedraaid en gezocht worden
naar pcm
. De uitvoer ziet er ongeveer als volgt
uit:
... 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 is de grafische kaart (NVidia
) opgesomd
voor de geluidskaart (Realtek ALC889
). Om de
geluidskaart als standaard afspeelapparaat te gebruiken, dient
hw.snd.default_unit
veranderd te worden in de
eenheid dat voor afspelen gebruikt moet worden:
#
sysctl hw.snd.default_unit=n
Hier is n
het nummer van het geluidsapparaat
wat gebruikt dient te worden, in dit voorbeeld 4
.
U kunt deze verandering permanent maken door de volgende regel aan
/etc/sysctl.conf
toe te voegen:
hw.snd.default_unit=4
Het is vaak wenselijk om meerdere geluidsbronnen tegelijkertijd af te kunnen spelen, zoals wanneer esound of artsd het delen van een geluidsapparaat met een andere applicatie niet ondersteunen.
Met FreeBSD kan dit met Virtuele Geluidskanalen, die aangezet kunnen worden met de faciliteit sysctl(8). Met virtuele kanalen kunnen het afspelen van een geluidskaart gemultiplext worden door het geluid in de kernel te mixen.
Het aantal virtuele kanalen kan met drie sysctl knoppen
als root
als volgt ingesteld
worden:
#
sysctl dev.pcm.0.play.vchans=4
#
sysctl dev.pcm.0.rec.vchans=4
#
sysctl hw.snd.maxautovchans=4
In het bovenstaande voorbeeld worden vier virtuele kanalen
toegewezen, wat in het dagelijks gebruik voldoende is. Zowel
dev.pcm.0.play.vchans=4
als
dev.pcm.0.rec.vchans=4
zijn het aantal
virtuele kanalen dat pcm0
heeft voor
afspelen en opnemen, en zijn instelbaar als een apparaat is aangesloten.
In hw.snd.maxautovchans
staat het aantal
virtuele kanalen dat aan een nieuw audio-apparaat wordt gegeven
als het wordt aangesloten met kldload(8). Omdat de module
pcm
onafhankelijk van de hardware
stuurprogramma's geladen kan worden, kan in
hw.snd.maxautovchans
opgeslagen worden
hoeveel virtuele kanalen apparaten die later worden aangesloten
krijgen. Voor meer informatie wordt naar pcm(4) verwezen.
Het aantal virtuele kanalen voor een apparaat kan niet gewijzigd worden als het in gebruik is. Sluit eerst alle programma's die het apparaat gebruiken, zoals muziekspelers of geluidsdaemons.
Het juiste pcm
apparaat zal
automatisch en transparant gealloceerd worden voor
programma's die /dev/dsp0
aanroepen.
De standaardwaarden voor de mixerkanalen zijn ingesteld in
de broncode van het stuurprogramma pcm(4). Er zijn vele
applicaties en daemons waarmee waarden voor de mixer ingesteld
en onthouden kunnen worden en iedere keer bij het starten
weer kunnen worden ingesteld, maar dit is geen nette
oplossing. Het is mogelijk om de standaardwaarden in te
stellen op het niveau van het stuurprogramma — dit wordt
bereikt door de gewenste waarden in te stellen in
/boot/device.hints
, bijvoorbeeld:
hint.pcm.0.vol="50"
Met de bovenstaande instelling wordt het volume van een kanaal standaard op 50 ingesteld bij het laden van de module pcm(4).
Met MP3 (MPEG Layer 3 Audio) kan geluid bijna in CD-kwaliteit weergegeven worden en dus is er een goede reden om dit vooral niet na te laten op een FreeBSD werkstation.
Verreweg de meest populaire X11 MP3 speler is XMMS (X Multimedia Systeem). In XMMS kunnen Winamp skins gebruikt worden, omdat de GUI vrijwel gelijk is aan die van Nullsoft's Winamp. XMMS heeft ook een eigen plug-in ondersteuning.
XMMS kan geïnstalleerd worden via de multimedia/xmms port of pakket.
De interface van XMMS is intuïtief met een afspeellijst, grafische equalizer en meer. Gebruikers die bekend zijn met Winamp vinden XMMS vast eenvoudig te gebruiken.
De port audio/mpg123 is een alternatieve MP3-speler die gebruik maakt van de commandoregel.
mpg123 werkt door het
geluidsapparaat en het MP3-bestand aan te geven op de
commandoregel. Aangenomen dat uw audio-apparaat
/dev/dsp1.0
is en u het MP3-bestand
Foobar-GreatestHits.mp3
wilt afspelen,
zou u het volgende opgeven:
#
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
Voordat een CD of een CD track naar MP3 ge-encodeerd kan worden moeten de audiogegevens naar de harde schijf geript worden. Dit gaat door de ruwe CDDA (CD Digital Audio) gegevens naar WAV-bestanden te kopiëren.
Het hulpprogramma cdda2wav
, dat
onderdeel is van de suite sysutils/cdrtools, kan gebruikt
worden om audio-informatie en de daarbij behorende informatie
van CD's te rippen.
Als de audio CD in de drive zit, kan het volgende commando
als root
uitgevoerd worden om een hele CD
naar individuele (per track) WAV-bestanden te rippen:
#
cdda2wav -D 0,1,0 -B
cdda2wav ondersteunt ATAPI (IDE) CD-ROM-drives. Om van een IDE drive te rippen, dient de apparaatnaam aangegeven te worden in plaats van de SCSI eenheidsnummers. Om bijvoorbeeld track 7 van een IDE drive te rippen:
#
cdda2wav -D /dev/acd0 -t 7
De optie
-D
geeft het
SCSI apparaat 0,1,0
0,1,0
aan, dat
overeenkomt met de uitvoer van cdrecord
-scanbus
.
Om individuele tracks te rippen kan gebruik gemaakt worden
van de optie -t
:
#
cdda2wav -D 0,1,0 -t 7
In het bovenstaande voorbeeld wordt track 7 van de audio CD geript. Om een reeks tracks te rippen, bijvoorbeeld van 1 tot 7, kan een reeks opgegeven worden:
#
cdda2wav -D 0,1,0 -t 1+7
Ook het hulpprogramma dd(1) kan gebruikt worden om audio tracks van ATAPI drives af te halen. Deze mogelijkheid wordt beschreven in Paragraaf 19.6.5, “Audio-CD's dupliceren”.
Tegenwoordig is de MP3 encoder lame. Lame staat in audio/lame in de portsstructuur.
Met de geripte WAV-bestanden converteert het volgende
commando
audio01.wav
naar
audio01.mp3
:
#
lame -h -b 192 \ --tt "Foo Titel" \ --ta "FooBar Artiest" \ --tl "FooBar Album" \ --ty "2005" \ --tc "Geript en encoded door Foo" \ --tg "Genre" \ audio01.wav audio01.mp3
192 kbits lijkt de standaard bitrate voor MP3 te zijn.
Het is ook mogelijk 128 of 160 of andere bitrates te gebruiken.
Hoe hoger de bitrate, hoe meer schijfruimte de uiteindelijke
MP3-bestanden gebruiken, maar ook de kwaliteit wordt dan hoger.
Met de optie -h
wordt de modus “hogere
kwaliteit, maar iets langzamer” ingeschakeld. Met de
opties vanaf --t
worden de ID3 tags ingegeven,
die meestal informatie over een nummer bevatten en onderdeel
uitmaken van het MP3-bestand. In de hulppagina voor
lame staan nog meer opties die
gebruikt kunnen worden bij het encoderen beschreven.
Om een CD te kunnen branden van MP3's, moeten ze omgezet worden naar een niet gecomprimeerd WAV-formaat. Zowel XMMS als mpg123 ondersteunen de uitvoer van MP3 naar een niet gecomprimeerd bestandsformaat.
Naar schijf schrijven met XMMS:
Start XMMS;
Klik rechts op het venster om het XMMS menu te zien;
Selecteer Preference
onder
Options
;
Wijzig de Output Plugin naar “Disk Writer Plugin”;
Klik Configure
;
Voer een map in (of kies “browse”) waar de ongecomprimeerde bestanden naar toe geschreven moeten worden;
Laad de MP3-bestanden zoals gewoonlijk in XMMS, met het volume op 100% en de EQ instellingen uitgeschakeld;
Klik Play
.
XMMS lijkt nu de MP3 af te
spelen, maar er is geen muziek te horen. Nu wordt
feitelijk de MP3 afgespeeld naar een bestand;
Zorg ervoor dat de standaard Output Plugin wordt teruggezet naar hoe de instellingen waren om weer naar MP3's te kunnen luisteren.
Schrijven naar stdout vanuit mpg123:
Voer mpg123 -s audio01.mp3
> audio01.pcm
uit.
XMMS schrijft een bestand in het WAV-formaat, terwijl mpg123 de MP3 converteert naar ruwe PCM audio data. Beide formaten kunnen gebruikt worden met cdrecord om audio CD's te maken. Met burncd(8) moeten ruwe PCM-bestanden gebruikt worden. Als er WAV-bestanden worden gebruikt, is er een tikgeluid te horen bij het begin van iedere track. Dit is het geluid van de kop van ieder WAV-bestand. Met het hulpprogramma SoX kan de kop van WAV-bestanden verwijderd worden. Dit programma kan geïnstalleerd worden met de port of pakket audio/sox
%
sox -t wav -r 44100 -s -w -c 2 track.wav track.raw
In Paragraaf 19.6, “Optische media (CD's) aanmaken en gebruiken” staat meer informatie over het gebruiken van een CD-brander in FreeBSD.
Video afspelen is een relatief nieuwe en zich snel ontwikkelende richting voor applicaties. In tegenstelling tot voor audio werkt alles hier niet zo soepel.
Voor er wordt begonnen is het van belang te weten welk model videokaart zich in een systeem bevindt en welke chip die gebruikt. Hoewel Xorg vele videokaarten ondersteunt, zijn er veel minder geschikt om goed video mee af te spelen. Er kan een lijst met ondersteunde extensies getoond worden voor X server met de gebruikte videokaart door het commando xdpyinfo(1) uit te voeren terwijl X11 draait.
Het is verstandig een kort MPEG-bestand beschikbaar te
hebben dat gebruikt kan worden als testbestand voor het
evalueren van de spelers en hun opties. Omdat sommige
DVD-spelers standaard zoeken naar DVD media in
/dev/dvd
of deze apparaatnaam standaard in
de broncode hebben staan, is het wellicht verstandig om een
symbolische link te maken naar de juiste apparaten:
#
ln -sf /dev/acd0 /dev/dvd
#
ln -sf /dev/acd0 /dev/rdvd
Vanwege de werking van devfs(5), blijven handmatig
aangemaakte links niet bestaan als een systeem wordt herstart.
Om automatisch symbolische links aan te laten maken als een
systeem start, kunnen de volgende regels toegevoegd worden aan
/etc/devfs.conf
:
link acd0 dvd link acd0 rdvd
Daarnaast zijn voor het decoderen van DVD, waarvoor bijzondere DVD-ROM functies aangeroepen worden, schrijfrechten op de DVD-apparaten nodig.
Om de gedeeld-geheugeninterface van X11 te verbeteren, wordt aangeraden dat een aantal variabelen van sysctl(8) worden verhoogd:
kern.ipc.shmmax=67108864 kern.ipc.shmall=32768
Er zijn een aantal methoden om video weer te geven onder X11. Welke echt werkt, is voornamelijk afhankelijk van de gebruikte hardware. Iedere hieronder beschreven methode geeft andere resultaten op andere hardware. De laatste tijd krijgt het renderen van video in X11 veel aandacht en bij iedere versie van Xorg kan er een aanzienlijke verbetering zijn.
Een lijst van veel gebruikte video-interfaces:
X11: normale X11 uitvoer met gebruikmaking van gedeeld geheugen;
XVideo: een uitbreiding op de X11 interface die video in een door X11 getekend object ondersteunt;
SDL: de Simple Directmedia Layer;
DGA: de Direct Graphics Access;
SVGAlib: low level console grafische laag.
Xorg kent een uitbreiding XVideo, ook bekend als Xvideo, Xv of xv, waarmee video direct weergegeven kan worden in getekende objecten door een speciale versneller. Deze uitbreiding geeft een goede afspeelkwaliteit, zelfs op machines met mindere specificaties.
Of de uitbreiding actief is, kan gecontroleerd worden met
het commando xvinfo
:
%
xvinfo
XVideo wordt ondersteund als de uitvoer er ongeveer als volgt uitziet:
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
Sommige van de weergegeven formaten (YUV2, YUV12, enzovoort) zijn niet in iedere implementaties van XVideo beschikbaar en hun afwezigheid kan sommige spelers hinderen.
Als het resultaat er als hieronder uitziet, is er geen ondersteuning voor XVideo aanwezig op de videokaart in een systeem:
X-Video Extension version 2.2 screen #0 no adaptors present
Als XVideo voor een kaart niet wordt ondersteund, dan betekent dat alleen dat het lastiger wordt om op een beeldscherm aan de vereisten voor het renderen van video te voldoen. Afhankelijk van de videokaart en de processor kan het toch nog mogelijk zijn om acceptabele prestaties neer te zetten. In Paragraaf 8.4.3, “Verder lezen” staan verwijzingen naar leesvoer over mogelijkheden voor het verbeteren van prestaties.
De Eenvoudige Directmedia Laag (Simple Directmedia Layer), SDL, is een porting-laag voor vele besturingssystemen waardoor cross-platform toepassingen kunnen worden ontwikkeld die efficiënt gebruik maken van geluid en beelden. De SDL laag biedt een abstractie op laag niveau naar de hardware die soms efficiënter kan zijn dan de X11 interface.
De SDL staat in devel/sdl12.
Directe Grafische Toegang (Direct Graphics Access) is een
X11 uitbreiding die een programma in staat stelt voorbij te
gaan aan de X server en de framebuffer direct kan wijzigen.
Omdat hij afhankelijk is van geheugenmapping op een laag
niveau om dit delen uit te voeren, moeten programma's die er
gebruik van maken als root
draaien.
De DGA uitbreiding kan getest en gebenchmarkt worden met
dga(1). Als dga
draait, verandert
het de kleuren op een scherm als er een toets wordt
ingedrukt. Om te stoppen kan de toets q
gebruikt worden.
In dit onderdeel wordt de software die vanuit de FreeBSD Portscollectie beschikbaar is voor het afspelen van video beschreven. Het afspelen van video is een tak van softwareontwikkeling die erg in beweging is en de mogelijkheden van de verschillende applicaties verschillen zeer waarschijnlijk van wat hier is beschreven.
Als eerste is het belangrijk om te weten dat veel applicaties die met video te maken hebben en op FreeBSD draaien ontwikkeld zijn als Linux® applicaties. Veel van die applicaties zijn op het moment van schrijven van beta-kwaliteit. Problemen die te verwachten zijn bij het gebruik van de beschreven videopakketten op FreeBSD zijn:
Een applicatie kan geen bestanden afspelen die zijn gemaakt met een andere applicatie;
Een applicatie kan geen bestanden afspelen die met de applicatie zelf zijn gemaakt;
Dezelfde applicatie, op twee verschillende machines gebouwd, speelt hetzelfde bestand op twee machines anders af;
Een ogenschijnlijk triviale filter, zoals het herschalen van beeldgrootte, kan resulteren in vreselijk vervelende artefacten door fouten in de routine voor het herschalen;
Een applicatie dumpt zijn core regelmatig;
Documentatie wordt niet geïnstalleerd bij de port
en staat op het web of in de map work
van de port.
Veel van deze applicaties kunnen ook “Linux-ismes” vertonen. Zo kunnen er bijvoorbeeld problemen ontstaan door de wijze waarop standaard bibliotheken zijn geïmplementeerd in de Linux® distributies of een aantal van de mogelijkheden van de Linux®-kernel, waarvan door de makers van de applicatie wordt aangenomen dat ze aanwezig zijn. Dit soort problemen zijn niet altijd zichtbaar en er wordt ook omheen gewerkt door de beheerders van ports, wat tot de volgende mogelijke problemen kan leiden:
Het gebruik van /proc/cpuinfo
om
processorkarakteristieken uit te lezen;
Het verkeerd gebruiken van threads, waardoor een programma hangt als het klaar is, in plaats van dat het echt eindigt;
Software die nog niet in de FreeBSD Portscollectie zit en vaak gebruikt wordt samen met een applicatie die daar wel onderdeel van uitmaakt.
Tot nu toe is gebleken dat de ontwikkelaars van applicaties wel coöperatief waren met de beheerders van ports om zo het aantal work-arounds dat nodig was voor het overzetten tot een minimum te beperken.
MPlayer is een zich snel ontwikkelende videospeler. De doelen van het MPlayer-team zijn snelheid en flexibiliteit onder Linux® en andere Unices. Het project is gestart toen de oprichter van het team genoeg had van de slechte afspeelprestaties van de destijds beschikbare spelers. Er zijn mensen die zeggen dat het grafische ontwerp is opgeofferd voor het stroomlijnen van het ontwerp, maar het blijkt dat, als een gebruiker gewend is aan de commandoregelopties en de toetsencommando's, de applicatie erg goed werkt.
MPlayer staat in multimedia/mplayer.
MPlayer voert een aantal
hardwarecontroles uit tijdens het bouwen, wat resulteert in
een binair bestand dat niet van het ene naar het andere
systeem verplaatst kan worden. Daarom is het van belang
dat het uit de ports wordt gebouwd en niet als binair
pakket wordt geïnstalleerd. Daarnaast staan er ook
nog opties die vanaf de make
commandoregel meegegeven kunnen worden beschreven in de
Makefile
en aan het begin van de
build:
#
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
De standaard portopties zijn voor de meeste gebruikers
voldoende. Maar als bijvoorbeeld de XviD codec nodig is,
dan moet de optie WITH_XVID
op de
commandoregel meegegeven worden. Het standaard
DVD-apparaat kan ook gedefinieerd worden met de optie
WITH_DVD_DEVICE
, waarbij standaard
/dev/acd0
wordt gebruikt.
Op het moment van schrijven wordt de
MPlayer port gebouwd met de HTML
documentatie en twee uitvoerbare bestanden,
mplayer
en mencoder
,
wat een hulpmiddel is voor het opnieuw encoderen van
video.
De HTML documentatie voor MPlayer is erg informatief. Als de lezer vindt dat er informatie over videohardware en interfaces in dit hoofdstuk mist, dan is de documentatie van MPlayer een zeer grondige aanvulling. Het is de moeite waard de tijd te nemen om de documentatie van MPlayer te lezen, als meer informatie over de ondersteuning van video in UNIX® welkom is.
Iedere gebruiker van MPlayer
dient een submap .mplayer
in zijn
thuismap te hebben. Die kan als volgt gemaakt
worden:
%
cd /usr/ports/multimedia/mplayer
%
make install-user
De commando-opties voor mplayer
staan in de hulppagina. Nog meer details staan in de HTML
documentatie. In dit onderdeel worden slechts een aantal
gebruiksmogelijkheden beschreven.
Om een bestand als
testbestand.avi
af te spelen met een van de beschikbare video-interfaces,
kan de optie -vo
gebruikt worden:
%
mplayer -vo xv testbestand.avi
%
mplayer -vo sdl testbestand.avi
%
mplayer -vo x11 testbestand.avi
#
mplayer -vo dga testbestand.avi
#
mplayer -vo 'sdl:dga' testbestand.avi
Het is de moeite waard alle bovenstaande opties uit te proberen omdat hun relatieve prestatie afhangt van vele factoren die aanzienlijk verschillen tussen hardware.
Om een DVD af te spelen dient
testbestand.avi
vervangen te worden door
dvd://
waar
N
-dvd-device
APPARAAT
N
het titelnummer is dat
afgespeeld moeten worden en
APPARAAT
het
apparaatknooppunt is voor de DVD-ROM. Om bijvoorbeeld titel
3 van /dev/dvd
af te spelen:
#
mplayer -vo xv dvd://3 -dvd-device /dev/dvd
Het standaard DVD-apparaat kan ingesteld worden bij
het bouwen van de MPlayer port
met de optie WITH_DVD_DEVICE
.
Standaard is dit apparaat /dev/acd0
.
Meer details staan in de Makefile
van de port.
Om te stoppen, pauzeren, verder te spoelen, enzovoort,
kunnen de toetsendefinities gebruikt worden, die in te zien
zijn door mplayer -h
uit te voeren of
de hulppagina te lezen.
Overige belangrijke opties voor het afspelen zijn:
-fs -zoom
, waarmee het volledige scherm
wordt gebruikt, en -framedrop
, die
prestatieverhogend werkt.
Om ervoor te zorgen dat de commandoregels niet te lang
worden, kan het bestand
.mplayer/config
met
voorkeursinstellingen gemaakt worden:
vo=xv fs=yes zoom=yes
Tenslotte kan mplayer
gebruikt
worden om een DVD naar een bestand van het type
.vob
te rippen. Om de tweede titel
van een DVD de dumpen kan het volgende commando gebruikt
worden:
#
mplayer -dumpstream -dumpfile out.vob dvd://2 -dvd-device /dev/dvd
Het uitvoerbestand out.vob
, is
van het type MPEG en kan bewerkt worden met andere in dit
onderdeel besproken programma's.
Voordat mencoder
wordt gebruikt, is
het verstandig de opties uit de HTML-documentatie te
bekijken. Er is een hulppagina, maar die is niet echt
bruikbaar zonder de HTML-documentatie. Er zijn ontelbare
mogelijkheden om de kwaliteit te verhogen, de bitrate te
verlagen en formaten te wijzigen en een aantal van die
truuks maken het verschil tussen goede en slechte
prestaties. Hieronder staan een aantal voorbeelden
beschreven. Eerst een eenvoudige kopie:
%
mencoder invoer.avi -oac copy -ovc copy -o uitvoer.avi
Verkeerde combinaties van commandoregelopties kunnen
resulteren in uitvoerbestanden die zelfs niet af te spelen
zijn door mplayer
. Daarom wordt
aangeraden om het bij de optie
–dumpfile
in
mplayer
te houden als het alleen maar
nodig is een bestand te rippen.
Om invoer.avi
te converteren naar de MPEG4-codec met MPEG3-audio
encodering (audio/lame
is verplicht):
%
mencoder invoer.avi -oac mp3lame -lameopts br=192 \ -ovc lavc -lavcopts vcodec=mpeg4:vhq -o utvoer.avi
Hiermee wordt uitvoer gemaakt die af te spelen is met
mplayer
en
xine
.
invoer.avi
kan worden vervangen door dvd://1 -dvd-device
/dev/dvd
en als root
gedraaid worden om een DVD-titel direct te hercoderen.
Omdat het waarschijnlijk is dat de eerste experimenten niet
direct tevredenstellend zijn, wordt aangeraden een titel
eerst naar een bestand te dumpen en dat als werkbestand te
gebruiken.
De xine videospeler is een project met een brede scope, dat niet alleen tracht een allesomvattende video-oplossing te bieden, maar ook probeert een herbruikbare basisbibliotheek en een modulair uitvoerbaar bestand te maken dat uitgebreid kan worden met plug-ins. Het kan als pakket en port geïnstalleerd worden uit multimedia/xine.
De xine speler heeft nog wat ruwe randjes, maar is zeker goed van start gegaan. In de praktijk heeft xine een snelle CPU met een snelle videokaart of ondersteuning voor de XVideo extensie nodig. De GUI is bruikbaar, maar wat onhandig.
Op het moment van schrijven wordt er geen invoermodule bij xine geleverd waarmee CSS gecodeerde DVD's afgespeeld kunnen worden. Er zijn er die door andere partijen zijn gebouwd die dat type modules wel hebben, maar die zijn niet beschikbaar in de FreeBSD Portscollectie.
Vergeleken met MPlayer, doet xine meer voor de gebruiker, maar tegelijkertijd neemt het wat van de fijnafstellingsmogelijkheden weg. De videospeler xine werkt het beste op XVideo-interfaces.
Standaard start de xine speler op in een grafische gebruikersinterface. Via het menu kan een specifiek bestand geopend worden:
%
xine
Het is ook mogelijk om zonder de GUI direct een bestand af te laten spelen:
%
xine -g -p mijnfilm.avi
De software transcode is geen
speler, maar een verzameling hulpprogramma's voor het
hercoderen van video- en audiobestanden. Met
transcode wordt het mogelijk om
videobestanden samen te voegen, kapotte bestanden te
repareren en commandoregelprogramma's te gebruiken met
stdin/stdout
stream interfaces.
Tijdens het bouwen van de port multimedia/transcode kan een groot aantal opties opgegeven worden en de volgende commandoregel wordt geadviseerd om transcode te bouwen:
#
make WITH_OPTIMIZED_CFLAGS=yes WITH_LIBA52=yes WITH_LAME=yes WITH_OGG=yes \ WITH_MJPEG=yes -DWITH_XVID=yes
De geadviseerde instellingen zijn toereikend voor de meeste gebruikers.
Om de mogelijkheden van transcode
te
illustreren volgt nu een voorbeeld van hoe een DivX-bestand
om te zetten in een PAL MPEG-1-bestand (PAL VCD):
%
transcode -i invoer.avi -V --export_prof vcd-pal -o uitvoer_vcd
%
mplex -f 1 -o uitvoer_vcd.mpg uitvoer_vcd.m1v uitvoer_vcd.mpa
Het resulterende MPEG-bestand,
uitvoer_vcd.mpg
,
is klaar om afgespeeld te worden met
MPlayer. Het kan ook op een CD-R
gebrand worden om er een Video-CD mee te maken. In dat geval
is het nodig om de programma's multimedia/vcdimager en sysutils/cdrdao te
installeren.
Er is een hulppagina voor transcode
,
maar kijk ook op transcode
wiki voor meer informatie en voorbeelden.
Als de twee vergeleken worden, draait
transcode
aanzienlijk langzamer dan
mencoder
, maar is de kans wel groter dat
er een bestand uit komt dat op de meeste spelers afgespeeld
kan worden. MPEG-bestanden die met
transcode
zijn gemaakt, zijn bijvoorbeeld
al afgespeeld op Windows Media®
Player en Apple's
Quicktime®.
De beschikbare videosoftware pakketten voor FreeBSD zijn fors in ontwikkeling. Het is goed mogelijk dat in de nabije toekomst de meeste problemen die hier aan de kaak zijn gesteld, zijn opgelost. Intussen kunnen zij die het hoogst haalbare uit de A/V mogelijkheden voor FreeBSD willen halen, dat het beste doen door wat beschikbaar is bij elkaar te scharrelen uit de beschikbare FAQ's and tutorials en meerdere programma's gebruiken. Het doel van deze paragraaf is de lezer wat richting te geven op dat vlak.
De MPlayer documentatie is technisch erg informatief. Deze documenten kunnen het beste bekeken worden door iemand die veel kennis wil opdoen over video in UNIX®. Op de MPlayer mailinglijst wordt het niet op prijs gesteld als iemand de documentatie niet heeft gelezen, dus het is verstandig RTFM in gedachten te houden alvorens bug rapportages naar ze te mailen.
De xine HOWTO bevat een hoofdstuk over het verbeteren van prestaties, dat op alle spelers van toepassing is.
Tenslotte zijn er nog een aantal veelbelovende applicaties die het proberen waard zijn:
Avifile bestaat ook als port: multimedia/avifile;
Ogle is er ook als port: multimedia/ogle;
multimedia/dvdauthor, een open source pakket voor authoring van DVD content.
Met TV-kaarten is het mogelijk om naar (kabel)uitzendingen te kijken op een computer. Op de meeste kaarten kan composiet video aangeleverd worden via een RCA of S-video input en sommige kaarten hebben ook een FM tuner.
FreeBSD biedt ondersteuning voor PCI-gebaseerde TV-kaarten met een Brooktree Bt848/849/878/879 of een Conexant CN-878/Fusion 878a Video Capture Chip met het stuurprogramma bktr(4). Het is van belang dat er op de kaart ook een ondersteunde tuner zit. Hiervoor kan bktr(4) geraadpleegd worden, waarin een lijst met ondersteunde tuners staat.
Voordat de kaart gebruikt kan worden, dient het
stuurprogramma bktr(4) geladen te worden. Dit kan door
de volgende regel aan /boot/loader.conf
toe te voegen:
bktr_load="YES"
Daarnaast is het ook mogelijk om statisch ondersteuning voor de TV-kaart in de kernel te compileren. Dan dient de volgende regel toegevoegd te worden aan de kernelinstellingen:
device bktr device iicbus device iicbb device smbus
De extra stuurprogramma's zijn nodig omdat de kaartcomponenten verbonden zijn via een I2C bus. Met deze instellingen kan een nieuwe kernel gebouwd en geïnstalleerd worden.
Als een systeem eenmaal ondersteuning biedt, hoort de TV-kaart ongeveer als volgt bij een herstart getoond te worden:
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.
Deze berichten kunnen afwijken, afhankelijk van de gebruikte hardware. Het is van belang te controleren of de tuner juist herkend wordt; er kunnen nog een aantal instellingen gemaakt worden voor parameters met sysctl(8) MIB's en in het kernelinstellingenbestand. Om bijvoorbeeld het gebruik van een Philips SECAM tuner te forceren, kan de volgende regel aan het bestand met kernelinstellingen worden toegevoegd:
options OVERRIDE_TUNER=6
Dit kan ook via een instelling van sysctl(8):
#
sysctl hw.bt848.tuner=6
In de hulppagina voor bktr(4) en
/usr/src/sys/conf/NOTES
staan meer details
over de beschikbare opties.
Om een TV-kaart te gebruiken, dient een van de volgende applicaties geïnstalleerd te worden:
multimedia/fxtv biedt TV-in-een-window en beeld/audio/videocapture mogelijkheden;
multimedia/xawtv is ook een TV applicatie met dezelfde mogelijkheden als fxtv;
misc/alevt decodeert Videotext/Teletext en kan deze weergeven;
audio/xmradio, een applicatie om de FM-tuner die bij sommige TV-kaarten zit te gebruiken;
audio/wmtune, een handige bureaubladapplicatie voor radiotuners.
Er zijn nog meer applicaties beschikbaar in de Portscollectie.
Bij problemen met een TV-kaart dient eerst gecontroleerd te worden of de videocapture chip en de tuner echt ondersteund worden door het stuurprogramma bktr(4) en of de juiste instellingen worden gebruikt. Voor meer ondersteuning en vragen over een specifieke TV-kaart is het aan te raden de archieven van de freebsd-multimedia mailinglijst te raadplegen of er contact mee op te nemen.
MythTV is een open-source PVR software project.
Het staat in de Linux®-wereld bekend als een complexe toepassing met veel afhankelijkheden, en daarom moeilijk om te installeren. De Portscollectie van FreeBSD versimpelt veel van het proces, maar sommige componenten moeten handmatig worden geïnstalleerd. Deze sectie is bedoeld om te helpen en te begeleiden in het installeren van MythTV.
MythTV is ontworpen om V4L te gebruiken om invoerapparatuur voor video zoals encoders en tuners te benaderen. Momenteel werkt MythTV het beste met USB DVB-S/C/T kaarten die ondersteund worden door multimedia/webcamd omdat webcamd een gebruikerstoepassing levert voor V4L. Elke DVB-kaart die ondersteund wordt door webcamd zou met MythTV moeten werken, een lijst van kaarten waarvan hun werking bekend is kan hier gevonden worden. Er zijn ook stuurprogramma's bekend voor Hauppauge-kaarten in de pakketten multimedia/pvr250 en multimedia/pvrxxx, maar deze leveren een niet-standaard interface met hun stuurprogramma dat niet werkt met versies van MythTV nieuwer dan 0.23.
HTPC bevat een lijst van alle beschikbare stuurprogramma's voor DVB.
Doordat MythTV flexibel en modulair is, staat het de gebruiker toe om de voorkant en de achterkant op verschillende machines te hebben.
Voor de voorkant is multimedia/mythtv-frontend nodig, alsook een X-server welke in x11/xorg beschikbaar is. Idealiter beschikt de voorkant-computer ook over een videokaart die XvMC ondersteunt en optioneel over een afstandsbediening die compatibel is met LIRC.
Voor de achterkant is multimedia/mythtv nodig, alsook een MySQL™ database en optioneel een tuner en opslag voor opnames. Het MySQL™ pakket zou automatisch als een afhankelijkheid geïnstalleerd moeten worden tijdens de installatie van multimedia/mythtv.
Gebruik de volgende stappen om MythTV te installeren. Installeer als eerste MythTV van de FreeBSD Portscollectie:
#
cd /usr/ports/multimedia/mythtv
#
make install
Installeer de database voor MythTV:
#
mysql -uroot -p < /usr/local/share/mythtv/database/mc.sql
Configureer de achterkant:
#
mythtv-setup
Start de achterkant:
#
echo 'mythbackend_enable="YES"' >> /etc/rc.conf
#
service mythbackend start
In FreeBSD is toegang tot scanners mogelijk met SANE (Scanner Access Now Easy) API uit de FreeBSD Portscollectie. SANE gebruikt ook een aantal FreeBSD apparaatstuurprogramma's om toegang te krijgen tot de hardware van de scanner.
FreeBSD ondersteunt SCSI en USB scanners. Het is van belang te controleren of een scanner door SANE wordt ondersteund voordat er instellingen worden gemaakt. SANE heeft een lijst met ondersteunde apparaten waarin gekeken kan worden of een scanner wordt ondersteund en wat de status voor ondersteuning is.
Zoals hierboven al is aangegeven, worden zowel SCSI als USB-scanners ondersteund. Afhankelijk van de gebruikte scannerinterface zijn verschillende apparaatstuurprogramma's nodig.
In de GENERIC
kernel zitten
standaard de apparaatstuurprogramma's die nodig zijn voor
ondersteuning van USB-scanners. In het geval wordt besloten
tot het maken van een aangepaste kernel, dan dienen de
volgende regels in het kernelinstellingenbestand te worden
opgenomen:
device usb device uhci device ohci device uscanner device ehci
Na een herstart met de juiste kernel kan de USB-scanner aangesloten worden. Een regel die de detectie van uw scanner aangeeft zou in de berichtenbuffer van het systeem (dmesg(8)) moeten verschijnen:
ugen0.2: <EPSON> at usbus0
Deze berichten geven aan dat de scanner
/dev/ugen0.2
als apparaatknooppunt gebruikt.
Voor dit voorbeeld was een EPSON
Perfection® 1650 USB-scanner
gebruikt.
Als een scanner een SCSI interface heeft, is het
belangrijk te weten welk SCSI controllerbord gebruikt gaat
worden. Afhankelijk van de gebruikte SCSI chipset, dient het
bestand met kernelinstellingen aangepast te worden. De
GENERIC
kernel ondersteunt de meest
voorkomende SCSI controllers. In het bestand
NOTES
is de juiste instelling te vinden
die toegevoegd moet worden aan het bestand met
kernelinstellingen. Naast het toevoegen van het juiste
SCSI-adapter stuurprogramma, dienen ook de volgende regels
opgenomen te worden in het kernelinstellingenbestand:
device scbus device pass
Als de kernel juist gecompileerd en geïnstalleerd is, horen de apparaten tijdens het opstarten zichtbaar te zijn in de systeemberichtbuffer:
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
Als een scanner niet aan staat tijdens het opstarten, is het nog mogelijk handmatig detectie te forceren door de SCSI-bus te laten scannen met 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
In het bovenstaande geval zal de scanner ongeveer als volgt verschijnen in de lijst met SCSI-apparaten:
#
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)
Meer details over SCSI-apparaten staan in de hulppagina's voor scsi(4) en camcontrol(8).
Het SANE systeem is opgesplitst in twee delen: de backends (graphics/sane-backends) en de frontends (graphics/sane-frontends). Het deel met de backends zorgt voor de toegang tot de scanner zelf. In de lijst met door SANE ondersteunde apparaten staat welk backend welke scanner(s) ondersteunt. Het is echt nodig het juiste backend vast te stellen, omdat het anders bijzonder lastig wordt een scanner aan de praat te krijgen. Het deel met frontends levert een grafische scaninterface (xscanimage).
De eerste stap is om de port of het pakket graphics/sane-backends te
installeren. Daarna kan met het commando
sane-find-scanner
gecontroleerd worden welke
scanner er door het SANE systeem is
gedetecteerd:
#
sane-find-scanner -q
found SCSI scanner "AGFA SNAPSCAN 600 1.10" at /dev/pass3
In de uitvoer is te lezen welk type interface en welk apparaatknooppunt worden gebruikt om de scanner met een systeem te verbinden. Het merk en het model worden wellicht niet getoond, maar dat is ook niet echt van belang.
Sommige USB-scanners verlangen dat er firmware wordt geladen. Dit wordt uitgelegd in de hulppagina van het backend. Het is ook van belang sane-find-scanner(1) en sane(7) te lezen.
Hierna kan gecontroleerd worden of de scanner ook te zien
is voor een scanner-frontend. Er zit bij de
SANE backends een standaard
hulpprogramma scanimage(1). Met dit commando kunnen de
apparaten zichtbaar gemaakt worden en kan vanaf de
commandoregel gescand worden. Met de optie -L
kunnen de scannerapparaten getoond worden:
#
scanimage -L
device `snapscan:/dev/pass3' is a AGFA SNAPSCAN 600 flatbed scanner
Of, met bijvoorbeeld de USB-scanner die in Paragraaf 8.7.2.1, “USB-interface” wordt gebruikt:
#
scanimage -L
device 'epson2:libusb:/dev/usb:/dev/ugen0.2' is a Epson GT-8200 flatbed scanner
Deze uitvoer komt van een FreeBSD 8.X systeem, het item
'epson2:libusb:/dev/usb:/dev/ugen0.2'
geeft de naam
van het backend (epson2
) en het apparaatknooppunt
(/dev/ugen0.2
) dat door onze scanner wordt
gebruikt.
De afwezigheid van uitvoer of een bericht dat aangeeft dat
er geen scanners zijn aangetroffen, betekent dat
scanimage(1) niet in staat is een scanner te
identificeren. Als dit gebeurt, dient het instellingenbestand
voor het backend aangepast te worden en dient daar de juiste
instelling gemaakt te worden. De map /usr/local/etc/sane.d/
bevat
alle bestanden met instellingen voor de backends. Het is
bekend dat dit identificatieprobleem optreedt bij bepaalde
USB-scanners.
De USB-scanner die in Paragraaf 8.7.2.1, “USB-interface”
wordt gebruikt, wordt in FreeBSD 8.X prima gedetecteerd en werkt
daar, maar in eerdere versies van FreeBSD (waar uscanner(4) wordt
gebruikt) toont het de volgende informatie met
sane-find-scanner
:
#
sane-find-scanner -q
found USB scanner (UNKNOWN vendor and product) at device /dev/uscanner0
De bovenstaande uitvoer geeft aan dat de scanner juist is
gedetecteerd, dat het de USB-interface gebruikt en is
aangesloten op het apparaatknooppunt
/dev/uscanner0
. Nu kan gecontroleerd
worden of de scanner juist wordt geïdentificeerd:
#
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).
Omdat in het bovenstaande voorbeeld de scanner niet wordt
geïdentificeerd, dient het bestand
/usr/local/etc/sane.d/epson2.conf
gewijzigd te worden. De gebruikte scanner is een
EPSON
Perfection® 1650, dus in dit geval dient voor de scanner
het backend epson2
gebruikt te worden. Het
is van belang om het commentaar in de instellingenbestanden van
de backends te lezen. Het aanpassen van regels is eenvoudig:
plaats een commentaarkarakter voor alle regels voor andere
interfaces dan die nodig zijn weg (in dit geval worden alle
regels die beginnen met het woord scsi
uitgeschakeld, omdat er een USB-interface wordt gebruiken), en
dan kan onderaan het bestand een regel met de gebruikte
interface en apparaatknooppunt geplaatst worden:
usb /dev/uscanner0
Het is aan te raden de opmerkingen te lezen in het bestand met instellingen voor het backend en ook de hulppagina, omdat daarin meer details en de correcte syntaxis te vinden zijn. Nu kan gecontroleerd worden of de scanner wèl juist wordt geïdentificeerd:
#
scanimage -L
device `epson:/dev/uscanner0' is a Epson GT-8200 flatbed scanner
De USB-scanner is geïdentificeerd. Het is niet
belangrijk dat het merk en model niet overeenkomen met de
scanner. Het belangrijkste is het veld
`epson:/dev/uscanner0'
, dat de
juiste benamingen voor het backend en het apparaatknooppunt
aangeeft.
Als scanimage -L
in staat is een scanner
goed te zien, dan zijn de instellingen compleet. Er kan nu met
het apparaat gescand worden.
Hoewel scanimage(1) in staat is om vanaf de commandoregel te scannen, is het aan te raden beelden te scannen vanuit de grafische gebruikersinterface. SANE heeft een eenvoudige, maar efficiënte grafische interface: xscanimage (graphics/sane-frontends).
Xsane (graphics/xsane) is een ander populair grafisch scanfrontend, dat geavanceerde mogelijkheden biedt, zoals meerdere scanmodi (fotokopie, fax, enzovoort), kleurcorrectie, batchscannen, enzovoort. Beide applicaties zijn als plug-in voor GIMP te gebruiken.
Alle voorgaande taken zijn uitgevoerd met
root
rechten, maar het is wellicht ook
nodig dat andere gebruikers de scanner kunnen gebruiken. Dan
heeft een gebruiker lees- en schrijfrechten nodig op de
apparaatknooppunt voor een scanner. Onze USB-scanner gebruikt
bijvoorbeeld apparaatknooppunt /dev/ugen0.2
wat in
feite slechts een symbolische koppeling is naar het echte
apparaatknooppunt genaamd /dev/usb/0.2.0
(een blik
op de inhoud van de map /dev
bevestigt dit). Zowel de symbolische koppeling als het
apparaatknooppunt zijn van respectievelijk de groepen
wheel
en
operator
. Door de gebruiker
aan deze groepen toe
te voegen kan hij de scanner zien, maar vanwege duidelijke
veiligheidsredenen dient het toevoegen van een gebruiker aan elke groep
met zorg te gebeuren, vooral aan de groep joe
wheel
.
Een betere oplossing is om een specifieke groep aan te maken voor het
gebruik van USB-apparaten en de scanner toegankelijk te maken voor leden
van deze groep.
We zullen dus bijvoorbeeld een groep genaamd
gebruiken. De
eerste stap is het aanmaken van deze groep met behulp van het commando
pw(8):usb
#
pw groupadd usb
Hierna moeten we de symbolische koppeling
/dev/ugen0.2
aanmaken en het apparaatknooppunt
/dev/usb/0.2.0
met de juiste schrijfpermissies
toegankelijk maken voor de groep usb
(0660
of 0664
), omdat standaard
alleen de eigenaar van deze bestanden (root
)
ernaar kan schrijven. Dit alles wordt gedaan door de volgende regels
aan /etc/devfs.rules
toe te voegen:
[system=5] add path ugen0.2 mode 0660 group usb add path usb/0.2.0 mode 0666 group usb
Nu dienen er alleen nog gebruikers aan de groep
toegevoegd te
worden om toegang tot de scanner toe te staan:usb
#
pw groupmod usb -m joe
Lees voor meer details de handleidingpagina van pw(8).
De kernel is de kern van het FreeBSD-besturingssysteem en is verantwoordelijk voor het geheugenbeheer, het opleggen van beveiligingsregels, het aansturen van het netwerk, de toegang tot schijven en nog veel meer. Hoewel steeds meer in FreeBSD dynamisch instelbaar wordt, is het af en toe nodig om de kernel opnieuw in te stellen en te compileren.
Na het lezen van dit hoofdstuk weet de lezer:
Waarom het nodig is om een aangepaste kernel te bouwen;
Hoe een nieuw kernelinstellingenbestand te schrijven of een bestaand kernelinstellingenbestand aan te passen;
Hoe het kernelinstellingenbestand te gebruiken om een nieuwe kernel aan te maken en te bouwen;
Hoe een nieuwe kernel te installeren;
Hoe problemen op te lossen als er iets verkeerd gaat.
Alle opdrachten die in dit hoofdstuk als voorbeeld zijn
gegeven moeten als root
uitgevoerd worden om
te slagen.
Traditioneel heeft FreeBSD zoals dat heet een “monolitische” kernel gehad. Dit betekent dat de kernel één groot programma was, een vaste lijst van apparaten ondersteunde en als het gewenst was om het gedrag van de kernel te veranderen, moest er een nieuwe kernel gecompileerd worden en moest daarna de computer opnieuw gestart worden met de nieuwe kernel.
Vandaag de dag beweegt FreeBSD zich snel naar een model waar veel van de functionaliteit van de kernel in modules zit die dynamisch in en uit de kernel kunnen worden geladen, naargelang dat noodzakelijk is. Dit stelt de kernel in staat om zich aan nieuwe hardware aan te passen die plotseling beschikbaar komt (zoals PCMCIA-kaarten in een laptop) of om nieuwe functionaliteit in zich op te nemen die niet noodzakelijk was toen de kernel oorspronkelijk werd gecompileerd. Dit staat bekend als een modulaire kernel.
Desondanks is het nog steeds nodig om enkele dingen van de kernel statisch in te stellen. In sommige gevallen komt dit doordat de functionaliteit zo diep geworteld zit in de kernel dat het niet dynamisch laadbaar gemaakt kan worden. In andere gevallen kan het simpelweg komen doordat nog niemand de tijd heeft genomen om een dynamisch laadbare kernelmodule voor die functionaliteit te schrijven.
Het bouwen van een aangepaste kernel is een van de meest
belangrijke beproevingen die geavanceerde BSD-gebruikers moet
doorstaan. Hoewel dit proces veel tijd in beslag neemt, levert
het veel voordelen op voor een FreeBSD systeem. In tegenstelling
tot de GENERIC
-kernel, die vele typen
hardware moet ondersteunen, ondersteunt een aangepaste kernel
alleen de hardware van de computer waar hij voor gemaakt is. Dit
biedt een aantal voordelen, zoals:
Een snellere opstarttijd. Aangezien de kernel alleen de hardware zoekt die zich in het systeem bevindt, kan de tijd die het systeem nodig heeft om op te starten aanzienlijk korter worden;
Minder geheugengebruik. Een aangepaste kernel gebruikt
vaak minder geheugen dan de
GENERIC
-kernel door ongebruikte mogelijkheden
en apparaatstuurprogramma's weg te laten. Dit is van belang
aangezien de kernelcode altijd in het fysieke geheugen aanwezig
blijft, waardoor dit geheugen niet door applicaties gebruikt kan
worden. Om deze reden is een aangepaste kernel geknipt
voor een systeem met een kleine hoeveelheid RAM;
Aanvullende hardware-ondersteuning. Een aangepaste
kernel kan ingebouwde ondersteuning bieden voor apparaten die
zich niet in de GENERIC
-kernel bevinden,
zoals geluidskaarten.
Alvorens in de kernelconfiguratie te duiken, zou het verstandig zijn om een inventarisatie van de hardware van de machine te maken. In het geval dat FreeBSD niet het primaire besturingssysteem is, kan de inventarisatielijst eenvoudig worden gemaakt door de configuratie van het huidige besturingssysteem te bekijken. De Device Manager van Microsoft® bijvoorbeeld bevat normaliter belangrijke informatie over geïnstalleerde apparaten. De Device Manager bevindt zich in het controlepaneel.
Sommige versies van Microsoft® Windows® hebben een icoon System dat een scherm weer zal geven waarmee Device Manager kan worden benaderd.
Als er geen ander besturingssysteem op de machine staat, moet
de beheerder deze informatie handmatig vinden. Eén manier
is om de gereedschappen dmesg(8) en man(1) te gebruiken.
De meeste apparaatstuurprogramma's van FreeBSD hebben een
handleiding, die de ondersteunde hardware noemen, en tijdens het
opstarten wordt gevonden hardware getoond. De volgende regels
geven bijvoorbeeld aan dat het stuurprogramma voor
psm
een muis heeft gevonden:
psm: <PS/2 Mouse> irq 12 on atkbdc0 psm0: [GIANT-LOCKED] psm0: [ITHREAD] psm0: model Generic PS/2 mouse, device ID 0
Dit stuurprogramma zal in het eigen kernelinstellingenbestand opgenomen moeten worden of worden geladen met loader.conf(5).
Soms geven de gegevens van dmesg
alleen de
systeemboodschappen weer in plaats van de uitvoer van de
opstartonderzoeken. In deze gevallen kan de uitvoer worden
verkregen door het bestand
/var/run/dmesg.boot
te bekijken.
Een andere methode om hardware te vinden is door pciconf(8) te gebruiken welke meer gedetailleerde uitvoer geeft. Bijvoorbeeld:
ath0@pci0:3:0:0: class=0x20000 card=0x058a1014 chip=0x1014168c rev=0x01 hdr=0x00 vendor = 'Atheros Communications Inc.' device = 'AR5212 Atheros AR5212 802.11abg wireless' class = network subclass = ethernet
Dit beetje uitvoer, verkregen met
pciconf -lv
geeft aan dat het
stuurprogramma ath
een draadloos
Ethernetapparaat heeft gevonden. Het gebruik van
man ath
zal de
handleiding voor ath(4) teruggeven.
Wanneer de vlag -k
aan man(1) wordt
gegeven kan deze nuttige informatie geven. Met het bovenstaande
kan dit gedaan worden:
#
man -kAtheros
om een lijst handleidingen te krijgen die dat ene woord bevatten:
ath(4) - Atheros IEEE 802.11 wireless network driver ath_hal(4) - Atheros Hardware Access Layer (HAL)
Gewapend met een inventarisatielijst van de hardware zou het proces van het bouwen van een eigen kernel minder angstaanjagend moeten lijken.
Bekijk, voordat er een eigen kernel gebouwd wordt, de redenen om dit te doen. Als er de noodzaak is voor specifieke hardwareondersteuning, kan dit reeds beschikbaar zijn als een module.
Kernelmodules staan in de map /boot/kernel
en kunnen dynamisch in
de draaiende kernel worden geladen met kldload(8). De
meeste, als niet alle, kernelstuurprogramma's hebben een
specifieke module en een handleiding. De laatste sectie merkte
bijvoorbeeld het draadloze Ethernetstuurprogramma
ath
op. Van dit stuurprogramma staat de
volgende informatie in de handleiding:
Plaats de volgende regel in loader.conf(5) om het stuurprogramma tijdens het opstarten als een module te laden: if_ath_load="YES"
Zoals aangegeven, zal het toevoegen van de regel
if_ath_load="YES"
aan
/boot/loader.conf
deze module dynamisch
laden tijdens het opstarten.
In sommige gevallen is er geen geassocieerde module. Dit geldt het vaakst voor bepaalde subsystemen en zeer belangrijke stuurprogramma's, het fast file system (FFS) bijvoorbeeld is een verplichte optie in de kernel, net zoals netwerkondersteuning (INET). Helaas is de enige manier om te zien of een stuurprogramma nodig is naar de module zelf zoeken.
Het is eenvoudig om ondersteuning voor een
apparaat of optie te verwijderen en met een kapotte kernel
opgezadeld te zitten. Als bijvoorbeeld het stuurprogramma
ata(4) uit het kernelinstellingenbestand gehaald wordt,
zal een systeem dat ATA
schijfstuurprogramma's gebruikt niet opstarten zonder de module
aan loader.conf
toe te voegen. Kijk bij
twijfel of de module aanwezig is en laat ondersteuning dan
gewoon in de kernel.
Het is noodzakelijk om de volledige broncode van FreeBSD geïnstalleerd te hebben om de kernel te bouwen.
Eerst wordt er een overzicht gegeven van de mappen waarin de
kernel gebouwd wordt. Alle genoemde mappen staan onder de map
/usr/src/sys
, die ook toegankelijk is via
de padnaam /sys
. Er zijn hier een aantal
mappen aanwezig die de verschillende delen van de kernel
representeren, maar de meest belangrijke hiervan zijn
arch/conf
, waarin
de kernelinstellingen bewerkt worden en
compile
, waarin de aangepaste kernel gebouwd
wordt. arch
representeert hier
één van i386
,
amd64
,
ia64
, powerpc
,
sparc64
of pc98
(een
alternatieve ontwikkelingstak van PC-hardware die populair is in
Japan). Alles binnen de map van een bepaalde architectuur is er
alleen voor die architectuur. De rest van de code is
machine-onafhankelijk en hetzelfde op alle platformen waarnaar
FreeBSD eventueel overgezet kan worden. De indeling van de
mapstructuur is logisch: alle ondersteunde apparaten,
bestandssystemen en opties staan in een eigen submap.
Dit voorbeelden in dit hoofdstuk veronderstellen dat de i386-architectuur gebruikt wordt. Als dit voor de lezer anders is, moeten de bijhorende aanpassingen aan de padnamen worden gemaakt.
Als de map /usr/src/
niet aanwezig is op een systeem (of als het leeg
is), dan is de broncode niet geïnstalleerd. De eenvoudigste
manier om de volledige broncode te installeren is csup(1) te
gebruiken zoals beschreven in Paragraaf 24.6, “Broncode synchroniseren”. U dient
tevens een symbolische link naar /usr/src/sys/
aan te maken:
#
ln -s /usr/src/sys /sys
Daarna kan vanuit de map
arch/conf
het
instellingenbestand GENERIC
naar de naam
voor de aangepaste kernel gekopieerd worden. Bijvoorbeeld:
#
cd /usr/src/sys/i386/conf
#
cp GENERIC MIJNKERNEL
Traditioneel bestaat deze naam geheel uit hoofdletters en als
er meerdere FreeBSD-machines worden beheerd met verschillende
hardware is het een goed idee om het te vernoemen naar de
hostnaam van de machine. Omwille van dit voorbeeld wordt het
MIJNKERNEL
genoemd.
Het kernelinstellingenbestand direct onder
/usr/src
opslaan kan een slecht idee zijn.
In geval van problemen kan het verleidelijk zijn om
/usr/src
te verwijderen en opnieuw te
beginnen. Nadat dit gedaan is kost het vaak maar enkele
seconden om te realiseren dat het instellingenbestand voor de
aangepaste kernel verwijderd is. Ook moet
GENERIC
niet gewijzigd worden, omdat het
tijdens de volgende keer dat de broncodeboom bijgewerkt
wordt, overschreven kan worden waarbij de wijzigingen
in de kernelinstellingen verloren gaan.
Het kan gewenst zijn om het kernelinstellingenbestand
ergens anders op te slaan en een symbolische link naar het
bestand in de map
i386
aan te
maken:
#
cd /usr/src/sys/i386/conf
#
mkdir /root/kernels
#
cp GENERIC /root/kernels/MIJNKERNEL
#
ln -s /root/kernels/MIJNKERNEL
Nu moet
MIJNKERNEL
met de
favoriete tekstverwerker bewerkt worden. Voor beginners is
waarschijnlijk alleen de tekstverwerker
vi beschikbaar, die te ingewikkeld is
om hier te beschrijven, maar goed is beschreven in vele boeken in
de bibliografie. FreeBSD biedt
ook de eenvoudigere tekstverwerker ee,
die voor een beginner de keuze bij uitstek is. De
commentaarregels in het begin kunnen gewijzigd worden om de
persoonlijke instellingen of de veranderingen die gemaakt zijn ten
opzichte van GENERIC
weer te geven.
Voor degenen die een kernel op SunOS™ of een andere BSD
hebben gebouwd zal veel van dit bestand bekend voorkomen.
Echter, voor degenen die van een ander besturingssysteem zoals
DOS komen, kan het instellingenbestand
GENERIC
overdonderend overkomen, dus moeten
de beschrijvingen in de sectie Het Instellingenbestand
zorgvuldig opgevolgd worden.
Als de broncodeboom
gesynchroniseerd is met de nieuwste broncode van het
FreeBSD-project, moet altijd
/usr/src/UPDATING
gelezen worden voordat
enige bijwerkstappen worden genomen. Dit bestand beschrijft
alle belangrijke zaken en gebieden binnen de broncodestructuur
die speciale aandacht nodig hebben.
/usr/src/UPDATING
komt altijd overeen met
de lokale versie van de FreeBSD-broncode en is daarom meer
bijgewerkt met nieuwe informatie dan dit handboek.
Nu moet de broncode voor de kernel gecompileerd worden.
Het is noodzakelijk om de volledige broncode van FreeBSD geïnstalleerd te hebben om te kernel te bouwen.
Ga naar de map /usr/src
:
#
cd /usr/src
Compileer de kernel:
#
make buildkernel KERNCONF=MIJNKERNEL
Installeer de nieuwe kernel:
%
make installkernel KERNCONF=MIJNKERNEL
Bij het bouwen van een aangepaste kernel worden standaard
alle kernelmodules ook herbouwd. Om de
kernel sneller bij te werken en alleen de aangepaste modules
te bouwen kan /etc/make.conf
aangepast
worden voordat de kernel wordt gebouwd:
MODULES_OVERRIDE = linux acpi sound/sound sound/driver/ds1 ntfs
Met deze variabele wordt een lijst van te bouwen modules ingesteld die gebouwd moeten worden in plaats van allen.
WITHOUT_MODULES = linux acpi sound ntfs
Deze variabele stelt een lijst in van modules op het topniveau die moeten worden uitgesloten van het bouwproces. Andere variabelen die mogelijk ook nuttig zijn in het proces van het bouwen van een kernel staan beschreven in de handleiding voor make.conf(5).
De nieuwe kernel wordt naar de map /boot/kernel
gekopieerd als
/boot/kernel/kernel
en de oude kernel wordt
verplaatst naar /boot/kernel.old/kernel
. Nu
moet het systeem afgesloten worden en opnieuw worden opgestart om
gebruik te maken van de nieuwe kernel. Er zijn wat instructies
voor problemen
oplossen aan het einde van dit hoofdstuk, die erg nuttig
kunnen zijn als er iets misgaat. Vergeet niet om het gedeelte te
lezen waarin staat uitgelegd hoe te herstellen als de nieuwe
kernel niet
opstart.
Andere bestanden die te maken hebben met het opstartproces,
zoals de boot loader(8) en instellingen worden opgeslagen
in /boot
. Modules van derde partijen of
eigen modules kunnen in /boot/kernel
opgeslagen worden,
alhoewel gebruikers erop bedacht moeten zijn dat het erg
belangrijk is dat de modules synchroon worden gehouden met de
gecompileerde kernel. Modules die niet bedoeld zijn om met de
gecompileerde kernel te draaien kunnen voor instabiliteit of
onjuistheden zorgen.
Het algemene formaat van een instellingenbestand is vrij
eenvoudig. Elke regel bevat een sleutelwoord en
één of meer argumenten. Omwille van de eenvoud
bevatten de meeste regels maar één argument. Alles
wat na een #
komt, wordt als commentaar
beschouwd en genegeerd. De volgende gedeelten beschrijven elk
sleutelwoord, in het algemeen in dezelfde volgorde als
GENERIC
, alhoewel sommige samenhangende
sleutelwoorden gegroepeerd zijn in een enkel gedeelte (zoals
Netwerken) zelfs al staan ze verspreid in het bestand
GENERIC
.
Een uitputtende lijst van architectuurafhankelijke opties en
apparaten staat in het bestand NOTES
, dat in
dezelfde map staat als het bestand GENERIC
.
Architectuuronafhankelijke opties staan in
/usr/src/sys/conf/NOTES
.
Een nieuwe directief include
is beschikbaar
om te gebruiken in
instellingenbestanden. Hiermee kan een ander instellingenbestand logisch
in het huidige worden opgenomen, waardoor het eenvoudig wordt om kleine
veranderingen relatief aan een bestaand bestand te onderhouden. Als u
bijvoorbeeld een GENERIC
kernel nodig heeft met
slechts een klein aantal aanvullende opties of stuurprogramma's, hoeft u
hiermee slechts een delta ten opzichte van GENERIC te onderhouden:
include GENERIC ident MIJNKERNEL options IPFIREWALL options DUMMYNET options IPFIREWALL_DEFAULT_TO_ACCEPT options IPDIVERT
Veel beheerders zullen aanzienlijke voordelen in dit model zien
vergeleken met de vroegere gewoonte om instellingenbestanden vanuit het
niets te schrijven: het lokale instellingenbestand zal alleen lokale
verschillen uitdrukken ten opzichte van een GENERIC
kernel en wanneer upgrades worden uitgevoerd zullen nieuwe mogelijkheden
die aan GENERIC
zijn toegevoegd ook aan de lokale
kernel worden toegevoegd tenzij dit expliciet verhinderd wordt met
nooptions
of nodevice
. De rest van
dit hoofdstuk behandelt de inhoud van een typisch instellingenbestand en
de verschillende rollen die opties en apparaten spelen.
Draai het volgende commando als root
om
een bestand te bouwen dat alle beschikbare opties bevat, wat
normaliter voor testdoeleinden gedaan wordt:
#
cd /usr/src/sys/i386/conf && make LINT
Het volgende is een voorbeeld van het
kernelinstellingenbestand GENERIC
met
aanvullend commentaar omwille van de helderheid. Dit voorbeeld
is redelijk gelijk aan de versie in
/usr/src/sys/i386/conf/GENERIC
.
machine i386
Dit is de architectuur van de machine. Het moet
één van amd64
,
i386
,
ia64
, pc98
,
powerpc
of sparc64
zijn.
cpu I486_CPU cpu I586_CPU cpu I686_CPU
Bovenstaande optie geeft het type CPU aan dat in een systeem
zit. De CPU-regel kan meerdere keren voorkomen (als bijvoorbeeld
onbekend is of I586_CPU
of
I686_CPU
gebruikt moet worden), maar voor een
aangepaste kernel is het beter om alleen de aanwezige CPU aan te
geven. Als er twijfel bestaat over het type CPU, kan het bestand
/var/run/dmesg.boot
worden bekeken voor de
opstartberichten.
ident GENERIC
Dit is de identificatie van de kernel. Dit moet veranderd
worden in de naam van de kernel, dus
MIJNKERNEL
als de
instructies van de voorgaande voorbeelden gevolgd zijn. De waarde
in de string ident
wordt afgebeeld wanneer de
kernel opstart, dus is het handig om de nieuwe kernel een andere
naam te geven als deze apart moet worden gehouden van de
gebruikelijke kernel (als er bijvoorbeeld een experimentele kernel
gebouwd wordt).
#Om apparaatbindingen statisch in te compileren in plaats van via /boot/device.hints. #hints "GENERIC.hints" # Standaardlocatie voor devices.
device.hints(5) wordt gebruikt om opties van de
programma's die de apparaten aansturen in te stellen. De
standaardplaats die loader(8) controleert tijdens het
opstarten is /boot/device.hints
. Met de
optie hints
is het mogelijk om deze
aanwijzingen statisch in de kernel te compileren, waardoor er
geen noodzaak is om een bestand device.hints
in /boot
aan te maken.
makeoptions DEBUG=-g # Bouw kernel met gdb(1) debugsymbolen.
Het normale bouwproces van FreeBSD voegt debuginformatie toe
wanneer de kernel met de optie -g
gebouwd wordt,
wat debuginformatie doorgeeft aan gcc(1).
options SCHED_ULE # ULE taakplanner
De standaard taakplanner voor FreeBSD. Laat dit staan.
options PREEMPTION # Zet kernelthreadpreëmptie aan
Sta toe dat threads in de kernel worden gepreëmpt door threads met een hogere prioriteit. Het help bij interactiviteit en staat toe dat interruptthreads eerder draaien in plaats van te moeten wachten.
options INET # internetwerken
Netwerkondersteuning. Laat dit aanstaan, zelfs als een verbinding met een netwerk niet gepland is. De meeste programma's hebben tenminste een teruglusnetwerk nodig (dat wil zeggen het maken van netwerkverbindingen binnen de PC), dus dit is eigenlijk verplicht.
options INET6 # IPv6 communicatieprotocollen
Dit zet de IPv6-communicatieprotocollen aan.
options FFS # Berkeley Fast Bestandssysteem
Dit is het basisbestandssysteem voor de harde schijf. Laat dit erin staan als er vanaf de harde schijf wordt opgestart.
options SOFTUPDATES # Schakel FFS Softupdates ondersteuning in
Deze optie zet softupdates in de kernel aan en helpt om de
schijftoegang voor schrijven te verhogen. Zelfs als deze
functionaliteit door de kernel geleverd wordt, moet die voor
specifieke schijven worden aangezet. Bekijk de uitvoer van
mount(8) om te zien of softupdates aanstaat voor de
systeemschijven. Als de optie soft-updates
niet zichtbaar is, dient deze geactiveerd te worden met behulp
van tunefs(8) voor bestaande bestandssystemen of
newfs(8) voor nieuwe bestandssystemen.
options UFS_ACL # Ondersteuning voor toegangscontrolelijsten
Met deze optie wordt de ondersteuning voor toegangscontrolelijsten aangezet. Hiervoor zijn uitgebreide attributen en UFS2 nodig. Een en ander wordt in detail beschreven in Paragraaf 15.11, “Bestandssysteem toegangscontrolelijsten (ACLs)”. ACL's staan standaard aan en moeten niet uitgezet worden in de kernel als ze al eerder op een bestandssysteem zijn gebruikt, omdat dit de toegangscontrolelijsten verwijdert en hierdoor de manier waarop bestanden beschermd worden op onvoorspelbare wijze verandert.
options UFS_DIRHASH # Verbeter prestaties in grote mappen
Deze optie bevat functionaliteit om schijfoperaties op grote mappen te versnellen, ten koste van extra geheugen. Deze staat normaalgesproken, zoals voor een grote server of interactief werkstation, aan en wordt uitgezet als FreeBSD op een kleiner systeem wordt gebruikt waar geheugen het belangrijkste en schijfsnelheid minder belangrijk is, zoals voor een firewall.
options MD_ROOT # MD is een potentieel rootapparaat
Deze optie zet ondersteuning aan voor een virtuële schijf die in het geheugen wordt geïmplementeerd en als rootapparaat wordt gebruikt.
options NFSCLIENT # Netwerk Bestandssysteem Client options NFSSERVER # Netwerk Bestandssysteem Server options NFS_ROOT # NFS bruikbaar als /, NFSCLIENT nodig
Het netwerkbestandssysteem. Dit kan weggelaten worden tenzij er gepland is om partities te aan te koppelen van een UNIX® bestandsserver over TCP/IP.
options MSDOSFS # MSDOS Bestandssysteem
Het MS-DOS® bestandssysteem. Dit kan veilig weggelaten
worden, tenzij er gepland is om een DOS-geformatteerde partitie
van de harde schijf tijdens het opstarten aan te koppelen. Het
wordt automatisch geladen als er voor de eerste keer een
DOS-partitie wordt aangekoppeld, zoals boven beschreven.
Bovendien geeft de uitstekende software emulators/mtools toegang tot
DOS-floppies zonder dat ze aangekoppeld en afgekoppeld moeten
worden en heeft het MSDOSFS
helemaal niet
nodig.
options CD9660 # ISO 9660 Bestandssysteem
Het ISO 9960-bestandssysteem voor CD-ROMs. Commentarieer dit uit als er geen CD-ROM drive aanwezig is of als er slechts af en toe gegevens-CD-ROMs aangekoppeld worden (aangezien het dynamisch geladen wordt als er voor de eerste keer een gegevens-CD-ROM aangekoppeld wordt). Audio-CD's hebben dit bestandssysteem niet nodig.
options PROCFS # Procesbestandssysteem (vereist PSEUDOFS)
Het procesbestandssysteem. Dit is een “als-of”
bestandssysteem, aangekoppeld op /proc
, dat
programma's als ps(1) in staat stelt om meer informatie over
de draaiende processen te geven. Het is in de meeste
omstandigheden niet nodig om PROCFS
te
gebruiken, omdat de meeste debug- en monitorgereedschappen zijn
aangepast om zonder PROCFS
te draaien:
installaties koppelen dit bestandssysteem standaard niet aan.
options PSEUDOFS # Pseudo-bestandssysteem raamwerk
Kernels die PROCFS
gebruiken moeten ook
ondersteuning voor PSEUDOFS
opnemen.
options GEOM_PART_GPT # GUID Partitietabellen.
Voegt ondersteuning voor GUID Partitietabellen toe. GPT biedt de mogelijkheid om een groot aantal partities per schijf te hebben, 128 is de standaardconfiguratie.
options COMPAT_43 # Compatibel met BSD 4.3 [ERIN HOUDEN!]
Compatibiliteit met 4.3BSD. Laat dit aanstaan. Sommige programma's gedragen zich vreemd als dit uitgecommentarieerd wordt.
options COMPAT_FREEBSD4 # Compatibel met FreeBSD 4
Deze optie is nodig om ondersteuning te bieden aan applicaties die gecompileerd zijn op oudere versies van FreeBSD en gebruik maken van oudere systeemaanroep-interfaces. Het is aanbevolen dat deze optie gebruikt wordt op alle i386™ systemen die mogelijk oudere applicaties draaien. Voor platformen die pas in 5.X ondersteuning verwierven, zoals ia64 en SPARC64®, is deze optie niet nodig.
options COMPAT_FREEBSD5 # Compatibel met FreeBSD5
Deze optie is vereist om ondersteuning te geven aan applicaties die gecompileerd zijn op FreeBSD 5.X die gebruik maken van de systeemaanroepinterfaces van FreeBSD 5.X.
options COMPAT_FREEBSD6 # Compatibel met FreeBSD5
Deze optie is vereist om ondersteuning te geven aan applicaties die gecompileerd zijn op FreeBSD 6.X die gebruik maken van de systeemaanroepinterfaces van FreeBSD 6.X.
options COMPAT_FREEBSD7 # Compatibel met FreeBSD5
Deze optie is vereist om ondersteuning te geven aan applicaties die gecompileerd zijn op FreeBSD 7.X die gebruik maken van de systeemaanroepinterfaces van FreeBSD 7.X.
options SCSI_DELAY=5000 # Vertraging (in ms) voordat SCSI wordt ondergezocht.
Dit zorgt ervoor dat de kernel vijf seconden wacht voordat die elk SCSI-apparaat in het systeem onderzoekt. Als er alleen IDE-harde schijven zijn, kan deze optie genegeerd worden, anders kan geprobeerd worden dit getal te verlagen, om het opstarten te versnellen. Uiteraard moet deze waarde weer verhoogd worden als FreeBSD problemen heeft om de SCSI-apparaten te herkennen.
options KTRACE # ktrace(1) ondersteuning
Dit schakelt kernelondersteuning voor het volgen processen in, wat handig is tijdens debuggen.
options SYSVSHM # SYSV-stijl gedeeld geheugen
Deze optie biedt System V gedeeld geheugen. Meestal wordt dit wegens de XSHM-uitbreiding in X gebruikt, waar door vele grafische programma's automatisch gebruik van wordt gemaakt voor extra snelheid. Als X gebruik wordt, is het raadzaam om dit op te nemen.
options SYSVMSG # SYSV-stijl berichtwachtrijen
Dit biedt ondersteuning voor System V berichten. Ook deze optie voegt slechts een paar honderd bytes aan de kernel toe.
options SYSVSEM # SYSV-stijl semaforen
Dit biedt ondersteuning voor System V semaforen. Het wordt minder vaak gebruikt, maar voegt slechts een paar honderd bytes aan de kernel toe.
De optie -p
van het commando ipcs(1)
geeft een lijst van alle processen die een van deze
System V faciliteiten gebruikt.
options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensies
Dit biedt real-time-uitbreidingen die in de 1993 POSIX® zijn toegevoegd. Bepaalde applicaties in de Portscollectie gebruiken deze (zoals StarOffice™).
options KBD_INSTALL_CDEV # installeer een CDEV-ingang in /dev
Deze optie is nodig om apparaatknooppunten voor het
toetsenbord aan te maken in /dev
.
options ADAPTIVE_GIANT # Giant mutex is adaptief.
Giant is de naam van een wederzijds uitsluitingsmechanisme
(een sleep mutex) dat een grote verzameling kernelbronnen
beschermt. Vandaag de dag is dit een onacceptabele
prestatie-bottleneck die actief door sloten wordt vervangen die
individuele bronnen beschermen. De optie
ADAPTIVE_GIANT
zorgt ervoor dat Giant in de
verzamelingen van mutexen wordt opgenomen waar actief wordt
opgespind. Dit betekent dat wanneer een thread de Giant-mutex
wil nemen, maar die reeds door een thread op een andere CPU
genomen is, de eerste thread blijft draaien en wacht tot er een
slot vrijkomt. Normaalgesproken zou de thread weer gaan slapen
en wachten op de volgende kans om te draaien. Laat dit er in
geval van twijfel instaan.
Merk op dat in FreeBSD 8.0-RELEASE en later alle mutexen
standaard adaptief zijn, tenzij ze expliciet op niet-adaptief
zijn gezet door met de optie
NO_ADAPTIVE_MUTEXES
te compileren. Een
gevolg is dat Giant nu standaard adaptief is, en dat de optie
ADAPTIVE_GIANT
uit de kernelinstellingen is
verwijderd.
device apic # I/O APIC
Het apic-apparaat zet de ondersteuning voor I/O-APIC voor het
afleveren van interrupts aan. Het apic-apparaat kan zowel in UP-
als in SMP-kernels gebruikt worden, maar is noodzakelijk voor
SMP-kernels. Voeg options SMP
toe om
ondersteuning voor meerdere processoren op te nemen.
Het apic-apparaat bestaat alleen in de i386-architectuur, deze instelregel dient niet op andere architecturen gebruikt te worden.
device eisa
Neem dit op voor een EISA-moederbord. Dit zet ondersteuning voor zelfdetectie en -instelling aan voor alle apparaten op de EISA-bus.
device pci
Neem dit op voor een PCI-moederbord. Dit zet ondersteuning voor zelfdetectie van PCI-kaarten en gatewaying van PCI-naar-ISA-bus aan.
# Floppy drives device fdc
Dit is de controller voor de floppydrive.
# ATA- en ATAPI-apparaten device ata
Dit stuurprogramma biedt ondersteuning aan alle ATA- en
ATAPI-apparaten. Er is slechts één device
ata
-regel nodig om de kernel alle PCI
ATA/ATAPI-apparaten te laten ontdekken op moderne
machines.
device atadisk # ATA schijven
Dit is samen met device ata
nodig voor ATA
schijven.
device ataraid # ATA RAID schijven
Dit is samen met device ata
nodig voor ATA
RAID-schijven.
device atapicd # ATAPI CD-ROM drives
Dit is samen met device ata
nodig voor
ATAPI CD-ROM drives.
device atapifd # ATAPI floppy drives
Dit is samen met device ata
nodig voor
ATAPI floppydrives.
device atapist # ATAPI tape drives
Dit is samen met device ata
nodig voor
ATAPI tapedrives.
options ATA_STATIC_ID # Statische apparaatnummering
Dit zorgt ervoor dat de controller statisch nummert. Zonder deze optie worden nummers dynamisch toegewezen.
# SCSI Controllers device ahb # EISA AHA1742 familie device ahc # AHA2940 en onboard AIC7xxx apparaten options AHC_REG_PRETTY_PRINT # Print registerbitvelden in # debuguitvoer. Voegt ~128k # aan stuurprogramma toe. device ahd # AHA39320/29320 en onboard AIC79xx apparaten options AHD_REG_PRETTY_PRINT # Print registerbitvelden in # debuguitvoer. Voegt ~215k # aan stuurprogramma toe. device amd # AMD 53C974 (Teckram DC-390(T)) device isp # Qlogic familie #device ispfw # Firmware voor QLogic HBAs- normaliter een module device mpt # LSI-Logic MPT-Fusion #device ncr # NCR/Symbios Logic device sym # NCR/Symbios Logic (nieuwere chipsets + die van `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 controllers. Commentarieer de regels uit voor apparaten
die niet in het systeem aanwezig zijn. Als het een systeem met
alleen IDE apparaten betreft, kunnen ze allemaal weggelaten
worden. De regels met *_REG_PRETTY_PRINT
zijn
debugopties voor hun respectievelijke stuurprogramma's.
# SCSI randapparaten device scbus # SCSI bus (nodig voor SCSI) device ch # SCSI media changers device da # Direct Access (schijven) device sa # Sequential Access (tape, enzovoort) device cd # CD device pass # Passthrough apparaat (directe SCSI-toegang) device ses # SCSI Omgevingsdiensten (en SAF-TE)
SCSI-aanhangsels. Ook hier geldt dat apparaten die niet aanwezig zijn uitgecommentarieerd kunnen worden, of als alleen IDE-hardware aanwezig is, ze allemaal weggelaten kunnen worden.
Het USB-stuurprogramma umass(4) en enkele andere stuurprogramma's gebruiken het SCSI-subsysteem, alhoewel ze geen echte SCSI-apparaten zijn. Daarom mag SCSI-ondersteuning niet verwijderd worden als dit soort stuurprogramma's in de kernelinstellingen worden opgenomen.
# RAID controllers met interfaces naar het SCSI subsysteem device amr # AMI MegaRAID device arcmsr # Areca SATA II RAID device asr # DPT SmartRAID V, VI en Adaptec SCSI RAID device ciss # Compaq Smart RAID 5* device dpt # DPT Smartcache III, IV - Zie NOTES voor opties 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 voor aac (heeft CAM nodig) device ida # Compaq Smart RAID device mfi # LSI MegaRAID SAS device mlx # Mylex DAC960 famile device pst # Promise Supertrak SX6000 device twe # 3ware ATA RAID
Ondersteunde RAID-controllers. Als een van deze niet aanwezig is, kan deze uitgecommentarieerd of verwijderd worden.
# atkbdc0 bestuurt het toetsenbord en de PS/2 muis device atkbdc # AT toetsenbordcontroller
De toetsenbordcontroller (atkbdc
) biedt
I/O-diensten aan voor het AT-toetsenbord en het PS/2-type van
aanwijsapparaten. Deze controller is noodzakelijk voor het
toetsenbordstuurprogramma (atkbd
) en het
PS/2-aanwijsapparaatstuurprogramma
(psm
).
device atkbd # AT toetsenbord
Het stuurprogramma atkbd
biedt samen met
de controller atkbdc
toegang tot het
AT84-toetsenbord of het uitgebreide AT-toetsenbord dat verbonden
is met de controller voor het AT-toetsenbord.
device psm # PS/2 muis
Dit apparaat kan gebruikt worden als de muis in de PS/2-muispoort wordt geplugd.
device kbdmux # toetsenbordmultiplexer
Basisondersteuning voor multiplexing van toetsenborden. Als u niet van plan bent om meerdere toetsenborden op het systeem te gebruiken, kunt u deze regel veilig verwijderen.
device vga # VGA videokaart stuurprogramma
Het stuurprogramma voor de videokaart.
device splash # Splash screen en screensaver ondersteuning
Een splash-scherm tijdens het opstarten! Screensavers hebben deze optie ook nodig.
# syscons is het standaard consolestuurprogramma, lijkt op een SCO console device sc
sc
is het standaard consolestuurprogramma
en lijkt op een SCO-console. Aangezien de meeste programma's die
met een volledig scherm werken de console via een
terminaldatabase zoals termcap
benaderen,
moet het niet uitmaken of dit of vt
, het
VT220
-compatibele consolestuurprogramma,
gebruikt wordt. Wanneer er aangemeld wordt, dient de variabele
TERM
op scoansi
gezet worden
indien programma's die met een volledig scherm werken problemen
hebben om met dit console te draaien.
# Schakel dit in voor het pcvt (VT220 compatibele) consolestuurprogramma #device vt #options XSERVER # ondersteuning voor X server op een vt console #options FAT_CURSOR # begin met een blokcursor
Dit is een VT220-compatibel consolestuurprogramma,
achterwaarts compatibel met de VT100/102. Het werkt goed op
enkele laptops die hardware-incompatibiliteiten hebben met
sc
. Ook dient de variabele
TERM
op vt100
of
vt220
gezet te worden bij het aanmelden. Dit
stuurprogramma kan ook nuttig zijn wanneer er verbinding wordt
gemaakt met een groot aantal verschillende machines in een
netwerk, waarbij de ingangen termcap
of
terminfo
voor het apparaat
sc
vaak niet beschikbaar zijn.
vt100
is op bijna elk platform
beschikbaar.
device agp
Neem dit op als er een AGP-kaart in het systeem aanwezig is. Dit zet ondersteuning voor AGP aan, en ondersteuning voor AGP GART voor borden die deze mogelijkheden hebben.
# Ondersteuning voor energiebeheer (zie NOTES voor meer opties) #device apm
Ondersteuning voor geavanceerd energiebeheer (Advanced Power
Management). Dit is nuttig voor laptops, alhoewel dit
standaard uitgeschakeld is in GENERIC
.
# Schakel suspend/resume ondersteuning voor de i8254 in. device pmtimer
Het stuurprogramma voor het timerapparaat voor energiebeheergebeurtenissen, zoals APM en ACPI.
# PCCARD (PCMCIA) ondersteuning. # PCMCIA en cardbus bridge ondersteuning. device cbb # cardbus (yenta) bridge device pccard # PC Card (16-bit) bus device cardbus # CardBus (32-bit) bus
Ondersteuning voor PCMCIA. Dit is wenselijk voor laptopgebruikers.
# Serial (COM) poorten device sio # 8250, 16[45]50-gebaseerde seriële poorten
Dit zijn de seriële poorten waarnaar in de wereld van
MS-DOS®/Windows® verwezen wordt als
COM
-poorten.
Als er een intern modem op COM4
en
een seriële poort op COM2
aanwezig is, moet het IRQ van het modem in 2 worden veranderd
(om duistere technische redenen geldt dat IRQ2 = IRQ9) om er
vanuit FreeBSD toegang toe te krijgen. Als er een multipoort
seriële kaart aanwezig is, staat in sio(4) meer
informatie over de juiste waarden die aan
/boot/device.hints
toegevoegd moeten
worden. Sommige videokaarten (vaak gebaseerd op S3 chips)
gebruiken IO-adressen van de vorm 0x*2e8
, en
omdat vele goedkope serieële kaarten de 16-bits
IO-adresruimte niet volledig decoderen, botsen ze met deze
kaarten waardoor de COM4
-poort
praktisch onbruikbaar is.
Elke serieële poort moet een uniek IRQ hebben (tenzij
er gebruik wordt gemaakt van een van de multipoortkaarten
waarbij gedeelde interrupts ondersteund worden), dus kunnen de
standaard IRQ's voor COM3
en
COM4
niet gebruikt worden.
# Parallelle poort device ppc
Dit is de interface voor de parallelle poort op de ISA-bus.
device ppbus # Parallelle poortbus (verplicht)
Biedt ondersteuning voor de parallelle poortbus.
device lpt # Printer
Ondersteuning voor parallelle poort-printers.
Alle van de bovenstaande drie zijn noodzakelijk om ondersteuning voor parallelle printers aan te zetten.
device ppi # Parallelle poort interface apparaat
De algemene I/O (“geek-poort”) + IEEE1284 I/O.
#device vpo # scbus en da verplicht
Dit is voor een Iomega Zipdrive. Hiervoor is ondersteuning
voor scbus
en da
nodig. De
beste prestaties worden gehaald met poorten in EPP
1.9-modus.
#device puc
Dit dient uitgecommentarieerd te worden indien er een “domme” seriële of parallelle PCI-kaart aanwezig is die ondersteund wordt door het puc(4) verbindingsstuurprogramma.
# PCI Ethernet NIC's. 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”)
Verscheidene PCI-netwerkkaartstuurprogramma's. Degenen die niet in het systeem aanwezig zijn kunnen uitgecommentarieerd of verwijderd worden.
# PCI Ethernet NIC's die de MII bus controller code gebruiken. # NB: 'device miibus' moet behouden blijven om deze NIC's te kunnen gebruiken! device miibus # MII bus ondersteuning
Ondersteuning voor MII-bus is noodzakelijk voor sommige PCI
10/100 Ethernet-NICs, namelijk voor diegenen die MII-geldige
transceivers gebruiken of interfaces voor transceiverbesturing
implementeren die als een MII werken. Door device
miibus
aan de kernelinstellingen toe te voegen wordt
de ondersteuning voor de generieke miibus-API en voor alle
PHY-stuurprogramma's opgenomen, waaronder een generieke voor
PHYs die niet specifiek door een individueel stuurprogramma
worden behandeld.
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 en verschillende gelijkwerkenden 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 MCP on-board Ethernet Networking device pcn # AMD Am79C97x PCI 10/100 (voorrang op '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 ge # VIA VT612x gigabit Ethernet device vr # VIA Rhine, Rhine II device wb # Winbond W89C840F device xl # 3Com 3c90x (“Boomerang”, “Cyclone”)
Stuurprogramma's die gebruik maken van de MII bus-controllercode.
# ISA Ethernet NIC's. Inclusief pccard NIC's. device cs # Crystal Semiconductor CS89x0 NIC # 'device ed' heeft 'device miibus' nodig device ed # NE[12]000, SMC Ultra, 3c503, DS8390 kaarten device ex # Intel EtherExpress Pro/10 en Pro/10+ device ep # Etherlink III-gebaseerde kaarten device fe # Fujitsu MB8696x-gebaseerde kaarten device ie # EtherExpress 8/16, 3C507, StarLAN 10, etc. device lnc # NE2100, NE32-VL Lance Ethernet kaarten device sn # SMC's 9000 serie Ethernet chips device xe # Xircom pccard Ethernet # ISA apparaten die de oude ISA shims gebruiken #device le
ISA Ethernetstuurprogramma's. In
/usr/src/sys/i386/conf/NOTES
staan details over welke kaarten door welk stuurprogramma
ondersteund worden.
# Draadloze NIC kaarten device wlan # 802.11 ondersteuning
Generieke 802.11 ondersteuning. Deze regel is vereist voor draadloos netwerken.
device wlan_wep # 802.11 WEP-ondersteuning device wlan_ccmp # 802.11 CCMP-ondersteuning device wlan_tkip # 802.11 TKIP-ondersteuning
Crypto-ondersteuning voor 802.11-apparaten. Deze regels zijn nodig als u van plan bent om versleuteling en 802.11i-beveiligingsprotocollen te gebruiken.
device an # Aironet 4500/4800 802.11 draadloze NIC's. device ath # Atheros PCI/CardBus NICs device ath_hal # Atheros HAL (Hardware Access Layer) device ath_rate_sample # SampleRate verzendsnelheidbeheer voor ath device awi # BayStack 660 en anderen device ral # Ralink Technologies RT2500 draadloze NICs. device wi # WaveLAN/Intersil/Symbol 802.11 draadloze NIC's. #device wl # Oudere niet-802.11 Wavelan draadloze NIC.
Ondersteuning voor verscheidene draadloze kaarten.
# Pseudo-apparaten device loop # Netwerk teruglussen
Dit is het generieke teruglusapparaat voor TCP/IP. Als
telnet of FTP op localhost
(ook bekend als
127.0.0.1
) gebruikt wordt, loopt
dat via dit apparaat. Dit is verplicht.
device random # Entropy apparaat
Cryptografisch veilige willekeurige getallengenerator.
device ether # Ethernet ondersteuning
ether
is allen noodzakelijk als er een
Ethernetkaart aanwezig is. Het bevat code voor het generieke
Ethernetprotocol.
device sl # Kernel SLIP
sl
dient voor SLIP-ondersteuning. Dit is
bijna geheel overgenomen door PPP, wat eenvoudiger is op te
zetten, beter geschikt is voor modem-naar-modem-verbindingen en
krachtiger is.
device ppp # Kernel PPP
Dit dient voor PPP-ondersteuning van inbelverbindingen door
de kernel. Er is ook een versie van PPP als gebruikersapplicatie
geïmplementeerd die tun
gebruikt en meer
flexibiliteit en mogelijkheden biedt zoals demand-bellen.
device tun # Packet tunnel.
Dit wordt gebruikt door de gebruikers-PPP-software. In PPP staat meer informatie.
device pty # Pseudo-ttys (telnet, etc.)
Dit is een “pseudo-terminal” of gesimuleerde
aanmeldpoort. Die wordt gebruikt door binnenkomende sessies van
telnet
en rlogin
, door
xterm en voor sommige andere
applicaties zoals Emacs.
device md # “Geheugenschijven”
Pseudo-apparaten die een schijf in het geheugen implementeren.
device gif # IPv6 en IPv4 tunnelen
Dit implementeert IPv6-over-IPv4-tunneling,
IPv4-over-IPv6-tunneling, IPv4-over-IPv4-tunneling en
IPv6-over-IPv6-tunneling. Het apparaat gif
is
“zelfklonend” en zal naar behoefte
apparaatknooppunten aanmaken.
device faith # IPv6-naar-IPv4-relay (vertaling)
Dit pseudo-apparaat onderschept pakketten die ernaar verzonden worden en leidt ze om naar het IPv4/IPv6-vertaaldaemon.
# Het `bpf' apparaat schakelt de Berkeley Pakketfilter in. # Wees bewust van de administratieve consequenties die dit heeft! # 'bpf' is nodig bij gebruik van DHCP. device bpf # Berkeley pakketfilter
Dit is het Berkeley Pakketfilter. Dit pseudo-apparaat staat netwerkinterfaces toe om in luistermodus gezet te worden, zodat elk pakket op een uitzendnetwerk (bijvoorbeeld een Ethernet) onderschept wordt. Deze pakketten kunnen naar schijf onderschept en/of onderzocht worden met het programma tcpdump(1).
Het apparaat bpf(4) wordt ook gebruikt door dhclient(8) om het IP-adres van de standaardrouter (gateway) te verkrijgen, enzovoorts. Als DHCP gebruikt wordt, dient dit ingeschakeld te blijven.
# USB-ondersteuning
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 (verplicht)
#device udbp # USB Double Bulk Pipe apparaten
device ugen # Generic
device uhid # “Human Interface Devices”
device ukbd # Toetsenbord
device ulpt # Printer
device umass # Schijven/Massaopslag - heeft scbus en da nodig
device ums # Muis
device ural # Ralink Technology RT2500USB draadloze NICs
device urio # Diamond Rio 500 MP3 speler
device uscanner # Scanners
# USB Ethernet, heeft mii nodig
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
Ondersteuning voor verscheidene USB-apparaten.
# FireWire ondersteuning device firewire # FireWire bus code device sbp # SCSI over FireWire (scbus en da nodig) device fwe # Ethernet over FireWire (niet-standaard!)
Ondersteuning voor verscheidene Firewire-apparaten.
Meer informatie en aanvullende apparaten die door FreeBSD
ondersteund worden staan in
/usr/src/sys/i386/conf/NOTES
.
Sommige machines (PAE) hebben meer geheugen nodig dan limiet van 4 gigabyte op User+Kernel Virtual Adress (KVA) ruimte. Vanwege deze limiet voegde Intel ondersteuning toe voor toegang tot 36-bits fysieke adresruimte in de Pentium® Pro en nieuwere lijn van CPU's.
De Physical Address Extension (PAE)
mogelijkheden van de Intel® Pentium® Pro en nieuwere CPU's
staan geheugenhoeveelheden toe tot 64 gigabyte. FreeBSD biedt
ondersteuning voor deze mogelijkheid via de kernelinsteloptie
PAE
, die beschikbaar is in alle recent
uitgegeven versies van FreeBSD. Vanwege de beperkingen van de
geheugenarchitectuur van Intel wordt er geen onderscheid
gemaakt tussen geheugen boven of beneden 4 gigabytes. Geheugen
dat boven de 4 gigabytes is toegewezen wordt gewoon bij het
beschikbare gevoegd.
Om ondersteuning voor PAE in de kernel aan te zetten, dient de volgende regel aan het kernelinstellingenbestand te worden toegevoegd:
options PAE
De ondersteuning voor PAE in FreeBSD is alleen beschikbaar voor Intel® IA-32-processoren. Ook dient opgemerkt te worden dat ondersteuning voor PAE nog niet wijdverbreid getest is en als betakwaliteit beschouwd dient te worden vergeleken met andere stabiele kenmerken van FreeBSD.
Ondersteuning voor PAE in FreeBSD heeft enige beperkingen:
Een proces kan niet meer dan 4 gigabyte VM-ruimte krijgen;
Apparaatstuurprogramma's die geen gebruik maken van de bus_dma(9)-interface zullen gegevenscorruptie veroorzaken in een kernel die PAE aan heeft staan en hun gebruik wordt afgeraden. Om deze reden wordt er de kernelinstellingenbestand voor de PAE-kernel geleverd met FreeBSD, dat alle stuurprogramma's uitsluit waarvan niet bekend is dat ze werken in een kernel die PAE aan heeft staan;
Sommige systeeminstellingen bepalen het
geheugenbronverbruik aan de hand van de hoeveelheid
beschikbaar fysiek geheugen. Zulke instellingen kunnen
onnodig veel toewijzen vanwege de grote hoeveelheid
geheugen in een PAE systeem. Een
voorbeeld hiervan is de sysctl
kern.maxvnodes
, die het maximum aantal
vnodes dat in de kernel aanwezig mag zijn beheert. Het is
aan te raden om deze en andere van dit soort instellingen
aan te passen aan een redelijke waarde;
Het kan nodig zijn om de virtuele kerneladresruimte
(KVA) te vergroten of om het aantal
kernelbronnen dat veel gebruikt wordt (zie boven) te
verminderen om zo uitputting van KVA te
voorkomen. De kerneloptie KVA_PAGES
kan
gebruikt worden om de KVA-ruimte te
vergroten.
Om prestatie- en stabiliteitsredenen is het aan te raden om tuning(7) te raadplegen. pae(4) bevat bijgewerkte informatie over de ondersteuning voor PAE in FreeBSD.
Er zijn vier probleemcategoriën die op kunnen treden tijdens het bouwen van een aangepaste kernel:
config
faaltAls het commando config(8) faalt bij het verwerken
van de kernelbeschrijving, is er waarschijnlijk ergens een
eenvoudige fout gemaakt. Gelukkig geeft config(8) het
nummer van de regel weer waarmee het problemen had, dus kan
snel de regel gevonden worden waarin de fout zit.
In het onderstaande voorbeeld dient gecontroleerd te worden
of het sleutelwoord juist is ingevoerd door het met de
kernel GENERIC
of een andere
referentie te vergelijken:
config: line 17: syntax error
make
faaltAls make
faalt, duidt dit meestal op
een fout in de kernelbeschrijving die niet erg genoeg is om
door config(8) opgemerkt te worden. De instellingen
dienen nogmaals nagekeken te worden. Als het probleem nog
steeds niet is op te lossen, stuur dan een mail naar de
FreeBSD algemene vragen mailinglijst met de kernelinstellingen. Dat leidt meestal
snel tot een diagnose.
Als de nieuwe kernel niet opstart of de apparaten
niet herkent is kalmte geboden. FreeBSD heeft een uitstekend
mechanisme om van niet-compatibele kernels te herstellen.
De gewenste kernel om mee op te starten kan vanuit de FreeBSD
boot loader gekozen worden. Als het systeemopstartmenu
verschijnt, kan deze gekozen worden.
Selecteer de optie “Escape to a loader prompt”,
nummer zes. Typ op de prompt
boot kernel.old
of de naam van een andere kernel die correct
opstart. Als de kernelinstellingen gewijzigd worden, is
het altijd aan te raden om een kernel bij de hand te houden
waarvan bekend is dat die juist werkt.
Nadat er met een goede kernel is opgestart, kan het
instellingenbestand gecontroleerd worden en geprobeerd
worden om de kernel nogmaals te bouwen. Een behulpzame
bron is het bestand /var/log/messages
,
dat onder andere alle kernelberichten van alle keren dat er
succesvol is opgestart vastlegt. Ook geeft dmesg(8)
alle kernelberichten weer van de huidige
opstartprocedure.
Als er problemen zijn met het bouwen van een kernel,
dient een GENERIC
, of een andere
kernel waarvan bekend is dat die werkt, bewaard te worden
onder een andere naam die niet verwijderd wordt als de
volgende kernel gebouwd wordt. Er kan niet op
kernel.old
vertrouwd worden omdat
bij de installatie van een nieuwe kernel
kernel.old
overschreven wordt met de
laatst geïnstalleerde kernel, die niet hoeft te
werken. Ook dient de werkende kernel zo snel mogelijk
naar de juiste plaats /boot/kernel
verplaatst te
worden, omdat anders commando's als ps(1) eventueel
onjuist werken. Hiervoor dient simpelweg de map met de
goede kernel hernoemd te worden:
#
mv /boot/kernel /boot/kernel.slecht
#
mv /boot/kernel.goed /boot/kernel
Als er een andere versie van de kernel is geïnstalleerd dan degene waarmee de systeemgereedschappen gebouwd zijn, bijvoorbeeld een kernel voor -CURRENT op een -RELEASE-systeem, werken vele systeemstatuscommando's als ps(1) en vmstat(8) niet langer. De wereld moet opnieuw gecompileerd en geïnstalleerd worden en met dezelfde broncodestructuur als de kernel zijn gebouwd. Dit is een van de redenen waarom het normaliter geen goed idee is om een afwijkende versie van de kernel ten opzichte van de rest van de wereld te gebruiken.
FreeBSD kan gebruikt worden om op een scala aan printers af te drukken, van de oudste matrixprinter tot de nieuwste laserprinters en alles er tussenin, waardoor op hoge kwaliteit afgedrukt kan worden vanuit de gebruikte programma's.
FreeBSD kan ook ingesteld worden als printserver in een netwerk. Dan kan FreeBSD afdrukopdrachten ontvangen van uiteenlopende computers, waaronder FreeBSD computers, Windows® en Mac OS® hosts. FreeBSD zorgt ervoor dat er één afdrukopdracht per keer wordt afgedrukt, houdt statistieken bij van gebruikers en computers die de meeste afdrukken maken, drukt “voorbladen” af, zodat duidelijk is van wie de afdruk is en nog veel meer.
Na het lezen van dit hoofdstuk weet de lezer:
Hoe het FreeBSD afdrukwachtrijsysteem moet worden ingesteld;
Hoe afdrukfilters kunnen worden geïnstalleerd, om bepaalde afdrukopdrachten op een andere manier af te handelen, zoals het omzetten van documenten naar formaten die een printer begrijpt;
Hoe voorbladen kunnen worden afgedrukt;
Hoe er op printers die op andere computers zijn aangesloten kan worden afgedrukt;
Hoe er op printers die direct op het netwerk zijn aangesloten kan worden afgedrukt;
Hoe afdrukbeperkingen kunnen worden opgelegd, zoals het beperken van de grootte van de afdrukopdracht, en bepaalde gebruikers verbieden af te drukken;
Hoe afdrukstatistieken kunnen worden bijgehouden en het printergebruik in de gaten kan worden gehouden;
Hoe problemen met afdrukken kunnen worden opgelost.
Aangeraden voorkennis:
Hoe een nieuwe kernel wordt ingesteld, gebouwd en geïnstalleerd (Hoofdstuk 9, De FreeBSD-kernel instellen).
Om printers onder FreeBSD te kunnen gebruiken moeten ze kunnen werken met het Berkeley lijnafdrukwachtrijsysteem, ook wel bekend als het wachtrijsysteem LPD of simpelweg LPD. Dit is het standaard afdruksysteem onder FreeBSD. Dit hoofdstuk introduceert LPD en begeleidt bij het instellen.
Als de gebruiker al bekend is met LPD of een ander afdrukwachtrijsysteem, dan kan verder worden lezen vanaf Standaardinstallatie.
LPD regelt alles met betrekking tot de printer van een host. Het is verantwoordelijk voor een aantal zaken:
Het regelt de toegang tot aangesloten printers en printers die op andere hosts op het netwerk zijn aangesloten;
Het geeft gebruikers de mogelijkheid bestanden aan te bieden die afgedrukt moeten worden; deze aangeboden bestanden worden afdrukopdrachten genoemd;
Het voorkomt dat gebruikers tegelijkertijd een printer benaderen door een wachtrij bij te houden voor elke printer;
Het kan voorbladen afdrukken (in het Engels ook wel bekend als banner, of burst pagina's) zodat gebruikers hun afdruk tussen andere afdrukken makkelijk terug kunnen vinden;
Het handelt de communicatie af voor printers die op een seriële poort zijn aangesloten;
Het kan afdrukopdrachten over een netwerk versturen naar een LPD wachtrij op een andere host;
Het kan speciale filters aanroepen die afdrukopdrachten converteren voor verschillende printertalen of afdrukmogelijkheden;
Het houdt statistieken bij van het printergebruik.
Middels een instellingenbestand
(/etc/printcap
) en door speciale filters
beschikbaar te stellen, kan het LPD
systeem alle, of enkele van bovenstaande taken uitvoeren
op een grote verscheidenheid aan afdrukhardware.
Het wachtrijsysteem biedt nog steeds voordelen op een systeem met een enkele gebruiker en dient gebruikt te worden omdat:
LPD afdrukopdrachten in de achtergrond afhandelt. Dan is het niet nodig te wachten tot de gegevens naar de printer zijn verzonden;
LPD op eenvoudige wijze een afdrukopdracht door een filter kan afdrukken om kopteksten met datum/tijd toe te voegen of een speciaal bestandsformaat (zoals een TeX DVI-bestand) om te zetten naar een formaat dat de printer begrijpt. Deze handelingen hoeven dan niet handmatig uitgevoerd te worden;
Veel gratis en commerciële software met een afdrukfunctie verwacht dat er een wachtrijsysteem aanwezig is op een systeem om afdrukopdrachten naar te sturen. Door een wachtrijsysteem op te zetten, wordt toekomstig te installeren of reeds geïstalleerde software op eenvoudige wijze ondersteund.
Om printers met het LPD wachtrijsysteem te kunnen gebruiken, dienen zowel de printerhardware als de LPD software geïnstalleerd te worden. Dit document beschrijft deze installatie in twee stappen:
In het onderdeel Eenvoudige printerinstallatie staat hoe een printer moet worden aangesloten, hoe LPD er mee kan communiceren en hoe tekstbestanden afgedrukt kunnen worden.
In Geavanceerde printerinstallatie staat beschreven hoe een scala aan bestandsformaten afgedrukt kan worden, hoe voorbladen kunnen worden afgedrukt en hoe statistieken van de printer kunnen worden bijgehouden.
Nu wordt toegelicht hoe de printerhardware en de LPD software ingesteld moeten worden om een printer te kunnen gebruiken. Het behandelt de basis:
Hardware-instellingen geeft een aantal aanwijzingen voor het aansluiten van een printer op een poort van een computer.
Software-instellingen
toont hoe het instellingenbestand
(/etc/printcap
) voor het
LPD-systeem moet worden
opgezet.
Hoe een printer geïnstalleerd moet worden die via een netwerkprotocol gegevens ontvangt, in plaats van een seriële of parallelle poort, staat in Printers met netwerkinterfaces.
Hoewel dit onderdeel “Eenvoudige printerinstallatie” heet, is het redelijk complex. De printer met de computer en het LPD-systeem laten samenwerken is het moeilijkste. De geavanceerde opties, zoals voorbladen en statistieken, zijn relatief makkelijk als de printer eenmaal werkt.
Hier worden de verschillende manieren waarop een printer op een computer kan worden aangesloten beschreven. Het bespreekt de soorten poorten en kabels en de kernelinstellingen die nodig kunnen zijn om FreeBSD met een printer te laten communiceren.
Als een printer al is aangesloten en succesvol is gebruikt onder een ander besturingssysteem, dan kan waarschijnlijk verder gelezen worden in Software-instellingen.
De printers die tegenwoordig voor PC's verkocht worden hebben eigenlijk altijd een van de volgende drie poorten:
Seriële poort, ook bekend als RS-232- of COM-poorten, gebruiken een seriële poort op een computer om gegevens naar een printer te sturen. Seriële poorten zijn heel gebruikelijk in de computerindustrie en kabels zijn eenvoudig verkrijgbaar en makkelijk te maken. Seriële poorten hebben soms speciale kabels nodig en vereisen soms het instellen van ingewikkelde communicatieparameters. De meeste seriële poorten hebben een maximale doorvoersnelheid van 115.200 bps waardoor het afdrukken van grote grafische afdrukopdrachten erg onpraktisch wordt.
Parallelle poorten gebruiken een parallelle poort op een computer om gegevens naar een printer te sturen. Parallelle poorten zijn gebruikelijk in de PC-markt en zijn sneller dan RS-232 serieel. Kabels zijn goed verkrijgbaar, maar moeilijker handmatig te vervaardigen. Meestal zijn er geen communicatieparameters bij parallelle poorten, wat het instellen erg eenvoudig maakt.
Parallelle poorten staan ook wel bekend als “Centronics” poorten, genoemd naar het soort aansluiting op de printer.
USB poorten, genoemd naar de Universal Serial Bus, kunnen zelfs op nog hogere snelheid werken dan parallelle of RS-232 seriële poorten. De kabels zijn eenvoudig en goedkoop. USB is voor afdrukken superieur aan RS-232 Serieel en Parallel, maar wordt op UNIX®-systemen niet altijd goed ondersteund. Een van de manieren om dit te omzeilen is de aanschaf van een printer met zowel een USB als een parallelle poort, zoals veel printers die hebben.
Over het algemeen kunnen parallelle poorten meestal in één richting communiceren (van computer naar printer), terwijl seriële en USB poorten in twee richtingen kunnen communiceren. Nieuwere parallelle poorten (EPP en ECP) en printers kunnen onder FreeBSD in beide richtingen communiceren, mits een IEEE-1284 gekeurde kabel wordt gebruikt.
Tweewegcommunicatie met een printer over een parallelle poort verloopt meestal op een van de volgende twee manieren. De eerste manier is door gebruik te maken van een op maat gemaakt stuurprogramma voor FreeBSD dat de taal spreekt die door de printer wordt gebruikt. Dit geldt meestal voor inkjet printers en er kan dan gebruikt gemaakt worden van rapportagemogelijkheden over bijvoorbeeld inktniveaus en andere statusinformatie. De tweede methode wordt gebruikt als een printer PostScript® ondersteunt.
PostScript®-taken zijn eigenlijk programma's die naar de printer worden gestuurd. Het hoeft zelfs niet in een afdruk te resulteren; het resultaat van de opdracht kan direct weer naar de computer worden gestuurd. PostScript® gebruikt ook tweewegcommunicatie om een computer op de hoogte te stellen van opgetreden fouten, zoals fouten in het PostScript®-programma of vastgelopen papier. Gebruikers kunnen dit soort informatie handig vinden. De beste manier om bij een PostScript®-printer effectief bij te houden wat het printergebruik is, vraagt om tweewegcommunicatie: de printer wordt gevraagd om het totaal aantal afgedrukt pagina's, de afdrukopdracht wordt verzonden en vervolgens wordt nogmaals om het totaal aantal afgedrukte pagina's gevraagd. Het verschil van deze getallen geeft het aantal afgedrukte pagina's van de afdrukopdracht van de betreffende gebruiker.
Om een printer met een parallelle poort aan te sluiten, moet een Centronics kabel de printer met de computer verbinden. De instructies die geleverd zijn bij de printer, de computer of beide, moeten voldoende zijn om dit te verduidelijken.
Onthoud op welke parallelle poort de printer is
aangesloten. De eerste parallelle poort heet onder FreeBSD
ppc0
, de tweede
ppc1
, enzovoort. De
benaming voor de printer gaat analoog: /dev/lpt0
voor de printer op
de eerste parallelle poort enzovoort.
Gebruik de juiste seriële kabel om een printer met een seriële poort op een computer aan te sluiten. De instructies die geleverd zijn bij de printer, de computer of beide, moeten voldoende zijn om dit te verduidelijken.
Als onduidelijk is wat de “juiste seriële kabel” is, kan een van onderstaande opties geprobeerd worden:
Een modemkabel verbindt elke pin van de stekker aan het ene eind direct met de corresponderende pin van de stekker aan het andere eind. Dit type kabel heet ook wel een “DTE-naar-DCE”-kabel.
Een null-modem kabel verbindt enkele pinnetjes direct, verwisselt andere (bijvoorbeeld van verstuur gegevens naar ontvang gegevens) en sluit sommige draden kort in de stekker. Dit type kabel heet ook wel een “DTE-to-DTE”-kabel.
Een seriële printerkabel, nodig bij sommige ongebruikelijke printers, is als een null-modem kabel, maar stuurt sommige signalen naar hun tegenhangers in plaats van ze intern kort te sluiten.
Het is ook nodig de communicatieparameters voor de
printer in te stellen, meestal via het bedieningspaneel of
middels DIP-schakelaars op de printer. Selecteer de
hoogste bps
(bits per seconde, soms
baud) die zowel door de computer als
de printer wordt ondersteund. Kies 7 of 8 data bits.
Geen, even of oneven pariteit en 1 of 2 stop bits.
Selecteer ook het flow-control protocol: ofwel geen, ofwel
XON/XOFF (ook bekend als “in-band” of
“software”) flow-control. Onthoud deze
instellingen voor de hier op volgende
software-instellingen.
Nu wordt beschreven welke software-instellingen nodig zijn om onder FreeBSD af te drukken met behulp van het wachtrijsysteem LPD.
Een overzicht van de te doorlopen stappen:
Maak, indien nodig, de kernel geschikt voor de poort die door de printer wordt gebruikt. In Kernelinstellingen is te lezen hoe dit gedaan kan worden.
Stel de communicatievorm voor de parallelle poort in, als gebruik wordt gemaakt van een parallelle printer. In Communicatietype instellen voor een parallelle poort staan de details.
Test of het besturingssysteem gegevens naar de printer kan sturen. In Printercommunicatie controleren staat een aantal suggesties.
Stel LPD in voor de
printer door /etc/printcap
aan te
passen. Dat wordt later in het hoofdstuk
beschreven.
Het besturingssysteem is gecompileerd om met een beperkte verzameling apparaten te kunnen werken. De seriële en parallelle poorten zijn onderdeel van deze verzameling. Daarom kan het nodig zijn om ondersteuning voor een extra seriële of parallelle poort toe te voegen als een kernel hier nog niet voor is ingesteld.
Om te achterhalen of de huidige kernel een seriële poort ondersteunt:
#
grep sioN /var/run/dmesg.boot
Hier is N
het aantal
seriële poorten, beginnende bij nul. Als de uitvoer
op het volgende lijkt, dan wordt de poort door de kernel
ondersteund:
sio2 at port 0x3e8-0x3ef irq 5 on isa sio2: type 16550A
Om te achterhalen of de kernel een parallelle poort ondersteunt:
#
grep ppcN /var/run/dmesg.boot
Hier is N
het aantal
parallelle poorten beginnende bij nul. Als de uitvoer er
ongeveer als volgt uit ziet, dan wordt de poort door de
kernel ondersteund:
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
Het kan nodig zijn een kernel aan te passen om het besturingssysteem in staat te stellen een parallelle of seriële poort die voor een printer wordt gebruikt te herkennen en te gebruiken.
In het onderdeel over kernelinstellingen staat meer informatie om ondersteuning voor een seriële poort toe te voegen. Lees de betreffende en de volgende sectie om ondersteuning voor een parallelle poort toe te voegen.
Wanneer een parallelle poort wordt gebruikt, kan worden aangegeven of FreeBSD voor de printer interrupt-gestuurde of “polled” communicatie moet gebruiken. Het generieke printerapparaatstuurprogramma (lpt(4)) onder FreeBSD gebruikt het systeem ppbus(4). Dit bestuurt de chipset van de poort met het stuurprogramma ppc(4).
De interrupt-gestuurde methode is standaard in de GENERIC kernel. In dit geval gebruikt het besturingssysteem een IRQ om te bepalen of de printer klaar is om gegevens te ontvangen.
Bij de polled methode vraagt het besturingssysteem met vaste intervallen aan de printer of deze klaar is om gegevens te ontvangen. Als de printer antwoordt met “klaar”, stuurt de kernel meer gegevens.
De interrupt-gestuurde methode is meestal iets sneller, maar gebruikt een kostbaar IRQ-nummer. Van sommige HP printers wordt beweerd dat ze niet goed werken in interruptmodus, schijnbaar door een (nog niet begrepen) timing-probleem. Deze printers moeten gebruik maken van de polled methode. Gebruik de methode die werkt. Sommige printers werken met beide methodes, maar zijn tergend langzaam in de interrupt modus.
Het communicatietype kan op twee manieren worden ingesteld: door de kernel in te stellen of door gebruik te maken van lptcontrol(8).
Het communicatietype instellen door de kernel aan te passen:
Pas het kernelinstellingenbestand aan. Zoek naar
een ppc0
ingang. Gebruik
ppc1
voor het opzetten van een
tweede parallelle poort. Gebruik
ppc2
voor de derde poort,
enzovoort.
Als u gebruik wilt maken van de interrupt gestuurde modus, bewerk dan de regel hieronder:
hint.ppc.0.irq="N
"
Het kernelinstellingenbestand moet ook het stuurprogramma ppc(4) bevatten:
device ppc
Om gebruik te maken van polled modus verwijder
dan het volgende regel uit
/boot/device.hints
:
hint.ppc.0.irq="N
"
In sommige gevallen is het onder FreeBSD niet voldoende om een poort in polled modus te zetten. In veel gevallen komt dat door het stuurprogramma acpi(4). Dit is in staat om apparaten te testen en aan te sluiten en kan zodoende het communicatietype van de printer wijzigen. Raadpleeg de instellingen voor acpi(4) om dit probleem te verhelpen.
Sla het bestand op. Maak en installeer de nieuwe kernel en herstart de computer. In De FreeBSD-kernel instellen staan meer details.
Communicatietype instellen met lptcontrol(8):
Typ:
#
lptcontrol -i -d /dev/lptN
om lptN
op
interrupt-gestuurde modus in te stellen.
Typ:
#
lptcontrol -p -d /dev/lptN
om lptN
op
polled modus in te stellen.
#
lptcontrol -p -d /dev/lptN
Zet deze commando's in het bestand
/etc/rc.local
zodat het
communicatietype juist wordt ingesteld bij het opstarten.
In lptcontrol(8) staat meer informatie.
Voor het instellen van het wachtrijsysteem, is het verstandig te controleren of het besturingssysteem gegevens naar een printer kan versturen. Het is een stuk makkelijker om problemen met printercommunicatie en het wachtrijsysteem apart op te lossen.
De printer wordt getest door er tekst naar toe te sturen. Voor printers die direct tekens kunnen afdrukken is het programma lptest(1) handig: het genereert alle 96 afdrukbare ASCII-tekens op 96 regels.
Voor PostScript® (of andere op taal gebaseerde) printers, is een meer geavanceerde test nodig. Een eenvoudig PostScript®-programma zoals het volgende volstaat:
%!PS 100 100 moveto 300 300 lineto stroke 310 310 moveto /Helvetica findfont 12 scalefont setfont (Werkt dit?) show showpage
Bovenstaande PostScript®-code kan in een bestand worden opgeslagen en in de voorbeelden in de volgende paragrafen gebruikt worden.
Als in dit document wordt gesproken over een printertaal, wordt uitgegaan van een taal als PostScript® en niet PCL van HP. Hoewel PCL zeer functioneel is, kan het direct platte tekst afdrukken door gebruik te maken van escape-tekens. PostScript® kan niet direct platte tekst afdrukken. Voor dat soort printertalen zijn speciale aanpassingen nodig.
In deze sectie wordt beschreven hoe te controleren of FreeBSD kan communiceren met een printer die op een parallelle poort is aangesloten.
Voer de volgende stappen uit om een printer op een parallelle poort te testen:
su(1) naar root
.
Stuur gegevens naar de printer.
Gebruik lptest(1) als de printer platte tekst af kan drukken:
#
lptest > /dev/lptN
Hier is N
het
nummer van de parallelle poort, beginnende bij
nul.
Als de printer PostScript® of een andere printertaal begrijpt, stuur dan een klein programma naar de printer:
#
cat > /dev/lptN
Geef het programma regel voor regel
heel nauwkeurig in. Een
regel kan niet worden gewijzigd als er op
RETURN
of
ENTER
is gedrukt. Geef na het
afronden van de invoer voor het programma het
einde-van-invoer-teken. Dit is meestal
CONTROL+D
.
Het programma kan ook in een bestand worden opgeslagen:
#
cat bestand > /dev/lptN
Hier is bestand
de
naam van het bestand waarin het programma is
opgeslagen dat naar een printer gestuurd kan
worden.
Nu moet er iets worden afgedrukt. Tekst die er niet goed uitziet is geen probleem. Dit wordt later gerepareerd.
In deze sectie wordt beschreven hoe te controleren of FreeBSD kan communiceren met een printer die op een seriële poort is aangesloten.
Voer de volgende stappen uit om een printer op de seriële poort te testen:
su(1) naar root
.
Voeg de volgende regel toe aan
/etc/remote
:
printer:dv=/dev/poort
:br#bps-snelheid
:pa=pariteit
Hier is poort
de
apparaatingave voor de seriële poort
(ttyu0
, ttyu1
,
enzovoort), bps-snelheid
is het aantal bits per seconde waarop de printer
communiceert en pariteit
is de pariteit die door de printer wordt vereist
(even
, odd
,
none
of zero
).
Hier volgt een voorbeeldregel voor een printer verbonden met een seriële lijn op de derde seriële poort op 19200 bps, zonder pariteit:
printer:dv=/dev/ttyu2
:br#19200:pa=none
Maak verbinding met de printer met tip(1):
#
tip printer
Als dit niet werkt, pas dan
/etc/remote
opnieuw aan en
probeer gebruik te maken van /dev/cuaaN
in plaats van /dev/ttyuN
.
Stuur gegevens naar de printer.
Gebruik lptest(1) als de printer platte tekst af kan drukken:
%
$lptest
Als de printer PostScript® of een andere
printertaal begrijpt, stuur dan een klein
programma naar de printer. Geef het programma
regel voor regel heel
nauwkeurig in. Backspace of andere
speciale toetsen kunnen een speciale betekenis
hebben voor de printer. Het kan ook nodig zijn
een speciaal einde-van-invoer-teken te geven
zodat de printer weet dat het gehele programma
ontvangen is. Druk voor PostScript®-printers
CONTROL+D
.
Het programma kan ook in een bestand worden opgeslagen:
%
>bestand
Hier is bestand
de
naam van het bestand waarin het programma is
opgeslagen. Nadat tip(1) het bestand heeft
verstuurd kan het juiste einde-van-invoer-teken
ingegeven worden.
Nu moet er iets worden afgedrukt. Tekst die er niet goed uitziet is geen probleem. Dit wordt later gerepareerd.
Op dit punt moet de printer zijn aangesloten, de kernel ingesteld zijn om met de printer te communiceren (indien nodig) en is het mogelijk eenvoudige gegevens naar de printer te sturen. Nu kan LPD ingesteld worden zodat de toegang tot de printer wordt geregeld.
LPD wordt ingesteld door het
bestand /etc/printcap
aan te passen.
Het wachtrijsysteem LPD leest
dit bestand iedere keer dat het systeem wordt aangeroepen
zodat wijzigingen direct van toepassing zijn.
De opmaak van het bestand printcap(5) is voor de
hand liggend. Met een willekeurige tekstverwerker kunnen
wijzigen in /etc/printcap
aangebracht
worden. De opmaak is identiek aan die van andere bestanden
die voor dergelijke instellingen worden gebruik, zoals
/usr/share/misc/termcap
en
/etc/remote
. In cgetent(3) staat
een uitgebreid overzicht van dit formaat.
De vereenvoudigde instellingen bestaan uit de volgende stappen:
Kies een naam (en een paar handige aliassen) voor de
printer en voeg ze toe aan
/etc/printcap
. In Printernaamgeving
staat meer informatie over het toekennen van een naam aan
een printer.
Het afdrukken van voorbladen (standaard) kan uitgezet
worden met de optie sh
. In Voorbladen
onderdrukken staat meer informatie.
Maak een wachtrijmap aan en specificeer de locatie
door middel van de optie sd
. In
Wachtrijmap
aanmaken staat meer informatie.
Bepaal welke ingave in /dev
voor de printer wordt
gebruikt en geef dit in /etc/printcap
aan door gebruik te maken van de optie
lp
. In Printerapparaat
identificeren staat meer informatie. Als de
printer is aangesloten op een seriële poort moeten
de communicatieparameters worden ingesteld met de optie
ms#
. Dit wordt beschreven in Communicatieparameters
voor het wachtrijsysteem instellen.
Installeer een filter voor platte tekst. In Tekstfilter installeren staan details.
Test de instellingen door iets met lpr(1) af te drukken. Details staan in Printer uitproberen en Problemen oplossen.
Op taal gebaseerde printers, zoals PostScript®-printers, kunnen niet direct platte tekst afdrukken. De vereenvoudigde instellingen, zoals hierboven beschreven en hieronder verder beschreven, gaan er van uit dat alleen bestanden naar een printer worden gestuurd die de printer begrijpt.
Gebruikers verwachten vaak dat ze platte tekst naar printers op een systeem kunnen sturen. Programma's die LPD gebruiken om af te drukken gaan hier ook vaak van uit. Als een dergelijke printer wordt geïnstalleerd en het moet mogelijk zijn zowel afdrukopdrachten in de printertaal als in platte tekst naar een printer te sturen, dan is het zeer aan te raden een extra stap in deze vereenvoudigde opzet in te voegen: installeer een conversieprogramma dat automatisch platte tekst omzet in PostScript® (of een andere printertaal). In Platte tekst op PostScript®-printers afdrukken staat hoe dit in zijn werk gaat.
De eerste (makkelijke) stap is het kiezen van een naam voor een printer. Het maakt niet uit of een naam functioneel of grappig is, aangezien ook een aantal aliassen aan een printer toegekend kunnen worden.
Ten minste één van de printers die in
/etc/printcap
worden genoemd moet het
alias lp
hebben. Dit is de
standaardnaam voor de printer. Als gebruikers de
omgevingsvariabele PRINTER
niet ingesteld
hebben en ook geen printernaam specificeren als ze
LPD gebruiken, dan wordt
standaard de printer lp
gebruikt.
Het is verder gebruikelijk om het laatste alias zo te kiezen dat het een volledige beschrijving van de printer is, inclusief merk en model.
Als een naam en een aantal aliassen zijn gekozen,
kunnen ze aan /etc/printcap
worden
toegevoegd. De naam van een printer wordt in de meest
linker kolom geplaatst. Scheid ieder alias met een
verticale streep en plaats een dubbele punt achter het
laatste alias.
In het volgende voorbeeld is de beginsituatie een
uitgekleed /etc/printcap
waarin twee
printers worden gedefinieerd (een Diablo 630 lijnprinter
en een Panasonic KX-P4455
PostScript®-laserprinter):
# # /etc/printcap voor host rose # rattan|line|diablo|lp|Diablo 630 Line Printer: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:
In dit voorbeeld heet de eerste printer
rattan
en heeft de volgende aliassen:
line
, diablo
,
lp
en Diablo 630 Line
Printer
. Omdat deze printer het alias
lp
heeft, is het de standaard printer.
De tweede printer heet bamboo
en heeft
de aliassen ps
, PS
,
S
, panasonic
en
Panasonic KX-P4455 PostScript v51.4
.
Het wachtrijsysteem LPD drukt standaard een voorblad af voor elke afdrukopdracht. Het voorblad bevat de gebruikersnaam van de gebruiker die de afdrukopdracht gaf, de computer waar de opdracht is gegeven en, in mooie grote letters, de naam van de afdrukopdracht. Het nadeel hiervan is dat al deze extra tekst het debuggen van de eenvoudige printerinstallatie bemoeilijkt. Daarom wordt het afdrukken van voorbladen onderdrukt.
Om voorbladen te onderdrukken, wordt de optie
sh
toegevoegd voor de relevante printer
in /etc/printcap
. Hieronder staat een
voorbeeld van /etc/printcap
met de
optie sh
:
# # /etc/printcap voor host rose - nergens worden voorbladen afgedrukt # rattan|line|diablo|lp|Diablo 630 Line Printer:\ :sh: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :sh:
Het juiste formaat is gebruikt: de eerste regel begint in de meest linker kolom, volgende regels springen in. Elke regel eindigt met een backslash, behalve de laatste.
De volgende stap in deze eenvoudige opzet is het aanmaken van een wachtrijmap. Dit is een map waar afdrukopdrachten geplaatst worden totdat ze worden afgedrukt. Ook wordt er een aantal bestanden geplaatst die nodig zijn voor het functioneren van het wachtrijsysteem.
Vanwege het veranderlijke karakter van wachtrijmappen
is het gebruikelijk om deze mappen onder
/var/spool
te
plaatsen. Het is niet nodig om een reservekopie van de
inhoud van deze mappen te maken. Ze kunnen eenvoudigweg
opnieuw worden aangemaakt met mkdir(1).
Het is ook gebruikelijk om de naam van de map overeen te laten komen met die van de printer, zoals onder is weergegeven:
#
mkdir /var/spool/printernaam
Als er veel printers zijn aangesloten op een netwerk,
is het beter de wachtrijmappen aan te maken in een enkele
map die speciaal wordt gebruikt voor afdrukken met
LPD. In dit voorbeeld wordt dat
gedaan voor de printers rattan
en
bamboo
:
#
mkdir /var/spool/lpd
#
mkdir /var/spool/lpd/rattan
#
mkdir /var/spool/lpd/bamboo
Als de afdrukopdrachten privé moeten blijven,
dan is het belangrijk de wachtrijmap niet algemeen
toegankelijk te maken. Wachtrijmappen moeten eigendom
zijn van gebruiker daemon
en groep
daemon
. Uitsluitend deze gebruiker
en groep moeten de map kunnen lezen, schrijven en
doorzoeken. We doen dit voor onze voorbeeldprinters:
#
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
Tenslotte moet LPD verteld
worden dat deze mappen bestaan. Dit kan met het bestand
/etc/printcap
. De locatie van de
wachtrijmap wordt opgegeven met de optie
sd
:
# # /etc/printcap voor host rose - wachtrijmappen toegevoegd # 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
:
De naam van de printer staat in de eerste kolom, maar alle andere regels die de printer beschrijven worden ingesprongen en elke regel eindigt met een backslash.
Als geen wachtrijmap wordt opgegeven met
sd
, dan wordt standaard
/var/spool/lpd
gebruikt.
In de sectie Hardware-instellingen
is bepaald welke poort en ingang in de map /dev
door FreeBSD worden gebruikt om met een printer te
communiceren. Nu moet LPD dit
ook weten. Als het wachtrijsysteem een afdrukopdracht
krijgt, opent het het relevante apparaat namens het
filterprogramma (dat verantwoordelijk is voor het sturen van
gegevens naar een printer).
Geef de locatie van de ingang in
/dev
op in
/etc/printcap
door gebruik te maken
van de optie lp
.
In het huidige voorbeeld wordt aangenomen dat
rattan
op de eerste parallelle poort is
aangesloten en bamboo
op de zesde
seriële poort. Hier volgen de toevoegingen voor
/etc/printcap
:
# # /etc/printcap voor host rose - bepaald welke apparaten te gebruiken # 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
:
Als voor een printer de optie lp
niet wordt gebruikt in /etc/printcap
,
dan gebruikt LPD standaard
/dev/lp
. Momenteel
bestaat /dev/lp
niet
in FreeBSD.
Als de te installeren printer is aangesloten op een parallelle poort, dan staan verdere instructies in Tekstfilter installeren. In andere gevallen kunnen de instructies in de volgende paragraaf gevold worden.
Voor printers die zijn aangesloten op een seriële poort kan LPD de bps-snelheid, pariteit en andere seriële communicatie parameters instellen voor het filterprogramma dat gegevens naar een printer stuurt. Dit is gunstig omdat:
De verschillende communicatieparameters
uitgeprobeerd kunnen worden door
/etc/printcap
aan te passen. Het
is niet nodig het filterprogramma opnieuw te
compileren;
Het wachtrijsysteem kan hetzelfde filter gebruiken voor verschillende printers die mogelijk verschillende seriële communicatie-instellingen hebben.
Met de volgende opties in
/etc/printcap
kunnen seriële
communicatieparameters worden ingesteld voor het apparaat
waar lp
naar verwijst:
br#bps-snelheid
Stelt de communicatiesnelheid van het apparaat in
op bps-snelheid
, waarbij
bps-snelheid
de waarde
50, 75, 110, 134, 150, 200, 300, 600, 1200, 1800,
2400, 4800, 9600, 19200, 38400, 57600 of 115200
bits-per-seconde kan aannemen.
ms#stty-modus
Bepaalt de opties voor het geval het printerapparaat een terminal is. In stty(1) staat uitleg over de beschikbare opties.
Als LPD het apparaat opent
dat met lp
is opgegeven, worden de
eigenschappen van het apparaat bepaald door de optie
ms#
. Met name van belang zijn de modi
parenb
, parodd
,
cs5
, cs6
,
cs7
, cs8
,
cstopb
, crtscts
en
ixon
. Deze worden uitgelegd in
stty(1).
Nu wordt de voorbeeldprinter op de zesde seriële
poort aangepast. De bps-snelheid wordt ingesteld op 38400.
Als modus wordt gekozen: geen pariteit met
-parenb
, 8-bit tekens met
cs8
, geen modemcontrole met
clocal
en hardware flow-control met
crtscts
:
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:
Nu kan LPD verteld worden
welke tekstfilters gebruikt moeten worden bij het versturen
van afdrukopdrachten. Een tekstfilter
is een programma dat LPD
aanroept als het een afdrukopdracht krijgt. Wanneer
LPD het tekstfilter aanroept,
wordt de standaard invoer van het filter gekoppeld aan de
afdrukopdracht en de standaard uitvoer aan het
printerapparaat dat door de optie lp
is opgegeven. Er wordt aangenomen dat het filter van
standaard invoer leest, vervolgens de nodige handelingen
uitvoert en het resultaat naar de standaard uitvoer
schrijft, zodat het afgedrukt wordt. In Filters staat
meer informatie over het tekstfilter.
Voor deze eenvoudige printerinstallatie kan het
tekstfilter een klein shellscript zijn dat
/bin/cat
aanroept om de afdrukopdracht
naar de printer te sturen. FreeBSD wordt geleverd met een
ander filter, lpf
, dat backspaces en
onderlijnde tekst afhandelt voor printers die hier niet mee
overweg kunnen. Natuurlijk kan elk filter gebruikt worden
dat gewenst is. Het filter lpf
wordt
uitgebreid beschreven in lpf: een
tekstfilter.
Nu wordt eerst het shellscript
/usr/local/libexec/if-simple
gemaakt
dat als simpel tekstfilter dient. Plaats de volgende tekst
in het bestand met een tekstverwerker naar keuze:
#!/bin/sh # # if-simple - Eenvoudig tekstfilter voor lpd # Geïnstalleerd in /usr/local/libexec/if-simple # # Kopieert eenvoudigweg stdin naar stdout. # Filterargumenten worden genegeerd. /bin/cat && exit 0 exit 2
Zorg dat het bestand uitvoerbaar is:
#
chmod 555 /usr/local/libexec/if-simple
Zorg dat LPD het filter
gebruikt door dit aan te geven met de optie
if
in
/etc/printcap
. Nu volgt hoe dit te
doen voor de twee printers uit het voorbeeld:
# # /etc/printcap voor host rose - met tekstfilter # 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
:
Een kopie van het script
if-simple
staat in de map /usr/share/examples/printing
.
lpd(8) wordt gestart vanuit
/etc/rc
door de variabele
lpd_enable
. Standaard staat deze
variabele op NO
. Als dit nog niet is
gedaan, voeg dan de volgende regel toe aan
/etc/rc.conf
en herstart de
computer:
lpd_enable="YES"
Of voer het commando lpd(8) uit:
#
lpd
Nu volgt het laatste onderdeel van de eenvoudige LPD installatie. Helaas zijn felicitaties nog niet gepast. De printer moet worden getest en eventuele problemen moeten worden opgelost. Om de installatie te testen kan iets afgedrukt worden. Afdrukken gaat met het commando lpr(1). Dit stuurt een opdracht naar een printer.
Het programma lpr(1) is te combineren met het programma lptest(1) uit Printercommunicatie controleren om tekst te genereren.
Om de eenvoudige installatie van LPD te testen:
#
lptest 20 5 | lpr -Pprinternaam
Hier is printernaam
de naam
van een printer (of een alias) die in
/etc/printcap
wordt genoemd. De
standaard printer kan worden getest door bij het aanroepen
van lpr(1) de optie -P
weg te laten.
Nogmaals: test een PostScript®-printer door een
PostScript®-programma naar een printer te sturen en maak
geen gebruik van lptest(1). Dit kan door het
programma in een bestand op te slaan en de volgende
commandoregel uit te voeren: lpr
bestand
.
Voor een PostScript®-printer moet het resultaat van het programma verschijnen. Als gebruik wordt gemaakt van lptest(1) ziet het resultaat er ongeveer zo uit:
!"#$%&'()*+,-./01234 "#$%&'()*+,-./012345 #$%&'()*+,-./0123456 $%&'()*+,-./01234567 %&'()*+,-./012345678
Om de printer uitvoeriger te testen kunnen grotere
programma's geprobeerd worden (voor taalgebaseerde
printers) of kan lptest(1) aangeroepen worden met
andere argumenten. Bijvoorbeeld: lptest 80
60
, drukt 60 regels af met elk 80 karakters.
Als de printer niet werkt, lees dan verder in Problemen oplossen.
Deze sectie behandelt het gebruik van filters om speciaal opgemaakte tekst en voorbladen af te drukken, via het netwerk af te drukken en printergebruik te beperken en statistieken bij te houden.
Hoewel LPD veel van het afdrukwerk afhandelt (netwerkverkeer, wachtrijafhandeling, toegangscontrole, enzovoort), wordt het echte werk door de filters gedaan. Filters zijn programma's die met een printer communiceren en inspelen op printerspecifieke eigenschappen. In de eenvoudige printeropzet is een filter geïnstalleerd voor platte tekst, een zeer eenvoudig filter dat met de meeste printers zou moeten werken (Tekstfilter installeren).
Om echter gebruik te maken van formaatomzetting, printeradministratie, printerspecifieke aanpassingen, enzovoort, is het nodig te weten hoe filters werken. Uiteindelijk is het de verantwoordelijkheid van het filter om deze zaken af te handelen. Het slechte nieuws is dat de beheerder in het merendeel van de gevallen het filter moet aanleveren. Het goede nieuws is dat veel filters algemeen beschikbaar zijn en als ze dat niet zijn, zijn ze vaak makkelijk te schrijven.
FreeBSD heeft een ingebouwd filter,
/usr/libexec/lpr/lpf
, die met veel
printers werkt die platte tekst kunnen afdrukken. Het filter
regelt backspace en tabs in bestanden en administreert
printergebruik, maar dat is zo'n beetje alles wat dit filter
doet. Er zijn ook diverse filters en filtercomponenten in de
FreeBSD Portscollectie.
Hieronder wordt het volgende beschreven:
In Hoe filters werken staat een overzicht van de rol die een filter speelt in het afdrukproces. Lees dat onderdeel om een indruk te krijgen wat er “onder de motorkap” gebeurt als LPD filters gebruikt. Deze kennis helpt mogelijke problemen te voorkomen of op te lossen als meerdere filters worden geïnstalleerd voor printers.
LPD gaat er van uit dat elke printer standaard platte tekst af kan drukken. Dit geeft problemen voor PostScript® (of andere op taal gebaseerde) printers die niet in staat zijn direct platte tekst af te drukken. In Platte tekst op PostScript®-printers afdrukken staat wat er kan worden gedaan om dit probleem te verhelpen. Lees verder in dit onderdeel als het om PostScript®-printers gaat.
Voor veel programma's is PostScript® een populair uitvoerformaat. Sommige mensen schrijven PostScript® code zelfs direct. PostScript®-printers zijn echter kostbaar. In PostScript® simuleren op niet-PostScript®-printers staat hoe de tekstfilter van een printer aangepast moet worden zodat die PostScript® accepteert en afdrukt op een niet-PostScript®-printer. Dit onderdeel is van toepassing voor niet-PostScript®-printers.
In Conversiefilters
wordt een methode beschreven om de conversie van bepaalde
bestandsformaten te automatiseren, zoals van grafische of
tekstopmaakprogramma's, naar formaten die een printer kan
begrijpen. Na het lezen van dit onderdeel is een beheerder
in staat om een printer zodanig in te stellen dat
gebruikers lpr -t
kunnen
invoeren om troff-gegevens af te drukken, lpr
-d
om TeX DVI-gegevens af te
drukken of lpr -v
om
rasterplaatjes af te drukken, enzovoorts. Het wordt
aangeraden deze sectie te lezen.
In Uitvoerfilters wordt een niet vaak gebruikte functionaliteit van LPD behandeld: uitvoerfilters. Tenzij voorbladen worden afgedrukt (Voorbladen), kan deze sectie waarschijnlijk overgeslagen worden.
lpf: een
tekstfilter beschrijft lpf
, een
redelijk complete, eenvoudige tekstfilter voor lijnprinters
(en laserprinters die zich als lijnprinters voordoen) dat
wordt geleverd bij FreeBSD. Voor een snelle manier om
printeradministratie aan de praat te krijgen voor platte
tekst of voor printers waar rook uit komt bij het zien van
backspace karakters, is het serieus te overwegen gebruik te
maken van lpf
.
Een kopie van de scripts die hieronder worden beschreven,
staan in de map /usr/share/examples/printing
.
Zoals eerder genoemd, is een filter een programma dat wordt uitgevoerd door LPD voor het afhandelen van het apparaatafhankelijke deel van de communicatie met een printer.
Als LPD een bestand wil
afdrukken uit een afdrukopdracht, start het een
filterprogramma. Het koppelt de standaard invoer van de
filter aan het af te drukken bestand, de standaard uitvoer
aan de printer en de standaard foutmelding aan het
logboekbestand voor foutmeldingen (zoals opgegeven via de
optie lf
in
/etc/printcap
of standaard
/dev/console
).
Welk filter LPD start en de
argumenten van het filter hangen af van wat er in het bestand
/etc/printcap
wordt opgegeven en de
argumenten die de gebruiker geeft op de commandoregel van
lpr(1). Als een gebruiker bijvoorbeeld
lpr -t
ingeeft, start
LPD het filter troff, zoals wordt
opgegeven via de optie tf
voor de
betreffende printer. Als een gebruiker platte tekst wilt
afdrukken, dan wordt het filter if
gestart
(dit klopt bijna: zie Uitvoerfilters voor
de details).
Er zijn drie soorten filters die in
/etc/printcap
kunnen worden
opgegeven:
Het tekstfilter, dat in de LPD documentatie verwarrend genoeg input filter wordt genoemd, verwerkt het afdrukken van gewone tekst. Beschouw het als het standaardfilter. LPD verwacht dat elke printer standaard platte tekst kan afdrukken en het is de taak van het tekstfilter om er voor te zorgen dat backspaces, tabs en andere speciale karakters de printer niet in de war sturen. In een omgeving waar moet worden bijgehouden hoeveel er wordt afgedrukt, moet het tekstfilter ook administreren hoeveel pagina's er zijn afgedrukt. Dit gaat meestal door het aantal afgedrukte regels te tellen en dit te vergelijken met het aantal regels per pagina dat door de printer wordt ondersteund. Het tekstfilter wordt aangeroepen met de volgende lijst argumenten:
filter-name
[-c] -w width
-l length
-i indent
-n login
-h host
acct-file
met
-c
wordt gebruikt als de afdrukopdracht is gegeven
met lpr -l
width
is de waarde van de optie pw
(page width: paginabreedte),
zoals opgegeven
in /etc/printcap
, standaard
132
length
is de waarde van de optie pl
(page length: paginalengte),
standaard 66
indent
geeft aan hoeveel wordt ingesprongen door
lpr -i
,
standaard 0
login
de gebruikersnaam van de gebruiker die de afdrukopdracht gaf
host
de hostnaam waar de afdrukopdracht gegeven is
acct-file
de naam van het administratiebestand zoals
opgegeven via de optie af
.
Een conversiefilter converteert een specifiek bestandsformaat naar een formaat dat een printer begrijpt. Bijvoorbeeld: ditroff typesettinggegevens kunnen niet direct worden afgedrukt, maar er bestaat wel een conversiefilter om ditroff-gegevens te converteren naar een formaat dat een printer kan verteren en afdrukken. Dit wordt in Conversiefilters beschreven. Conversiefilters zijn ook nodig om printergebruik te administreren, mocht dat nodig zijn. Conversiefilters worden met de volgende argumenten aangeroepen:
filter-name
-x
pixel-width
-y
pixel-height
-n login
-h host
acct-file
Hier is pixel-width
de
waarde van de optie px
(standaard 0)
en pixel-height
is de waarde
van de optie py
(standaard 0).
Het uitvoerfilter wordt alleen gebruikt als er geen tekstfilter is of als er voorbladen worden afgedrukt. De ervaring leert dat uitvoerfilters zelden worden gebruikt. In sectie Uitvoerfilters worden ze beschreven. Er zijn slechts twee argumenten die aan een uitvoerfilter worden meegegeven:
filter-name
-w width
-l length
Deze zijn identiek aan de argumenten
-w
en -l
van het
tekstfilter.
Filters moeten afsluiten met de volgende waarde:
Als het filter een bestand succesvol heeft afgedrukt.
Als het filter niet geslaagd is om een bestand af te drukken, maar wil dat LPD het nogmaals probeert. LPD herstart het filter als die afsluit met deze status.
Als het filter niet geslaagd is om een bestand af te drukken, maar niet wil dat LPD het nogmaals probeert. LPD verwijdert het bestand uit de wachtrij.
Het tekstfilter dat bij FreeBSD wordt geleverd,
/usr/libexec/lpr/lpf
, benut de
argumenten voor paginabreedte en -lengte om te bepalen
wanneer een nieuwe pagina moet worden begonnen en om het
printergebruik bij te houden. Het gebruikt de argumenten
voor login, host en administratiebestand om accountingregels
aan te maken.
Controleer bij het zoeken naar filters of ze LPD-compatibel zijn. Zo ja, dan ondersteunen ze de argumenten zoals hierboven beschreven. Zorg bij het zelf schrijven van filters voor algemeen gebruik dat ze dezelfde argumenten en exitcodes ondersteunen.
Als een computer en PostScript® (of andere op taal gebaseerde) printer maar één gebruiker hebben die belooft nooit platte tekst naar de printer te sturen of programma's te gebruiken die dat doen, dan is dit onderdeel overbodig.
Als gebruikers zowel PostScript® als platte tekst
naar een printer willen sturen, dan is het aan te raden de
printerinstellingen hierop aan te passen. Hiervoor moet het
tekstfilter bij elke nieuwe opdracht bepalen of het om platte
tekst of PostScript® gaat. Alle PostScript®-opdrachten
beginnen met %!
(raadpleeg de
printerhandleiding voor andere printertalen). Als dit de
eerste twee karakters zijn van een opdracht is het
PostScript® en kan de rest van een opdracht direct
doorgestuurd worden. Is dit niet het geval, dan moet de
filter de tekst omzetten in PostScript® en het resultaat
afdrukken.
Hoe gaat dat werken?
Voor seriële printers kan het meest eenvoudig
lprps
geïnstalleerd worden.
lprps
is een PostScript®-afdrukfilter
die tweewegcommunicatie met een printer heeft. Het werkt
het statusbestand van een printer bij met uitgebreide
informatie afkomstig van een printer, zodat gebruikers en
beheerders precies kunnen zien wat de status van een printer
is (zoals: toner bijna op of
papier vastgelopen). Maar
belangrijker, het omvat het programma psif
dat bepaalt of een binnenkomende opdracht platte tekst is en
textps
(dat ook geleverd wordt met
lprps
) om opdrachten om te zetten naar
PostScript®. Vervolgens wordt een opdracht met
lprps
naar een printer gestuurd.
lprps
is onderdeel van de FreeBSD
Portscollectie (zie De
Portscollectie). U kunt één van de
ports print/lprps-a4 of
print-lprps-letter
installeren afhankelijk van de gebruikte papiermaat. Nadat
lprps
is geïnstalleerd moet de
installatielocatie ervan aan psif
worden
doorgeven dat onderdeel is van lprps
. Als
lprps
is geïnstalleerd via de
Portscollectie, gebruik dan het volgende voor de seriële
PostScript®-printer in /etc/printcap
:
:if=/usr/local/libexec/psif
:
Ook moet de optie rw
worden opgeven,
die LPD vertelt om een printer in
lezen/schrijvenmodus te openen.
Als een parallelle PostScript®-printer wordt ingesteld
(en dus geen tweewegcommunicatie toegepast kan worden met de
printer, zoals vereist door lprps
), dan
kan het volgende shellscript gebruikt worden als
tekstfilter:
#!/bin/sh # # psif - Druk PostScript® of platte tekst af op een PostScript® # printer. Script versie; NIET de versie die wordt geleverd bij lprps # Geïnstalleerd in /usr/local/libexec/psif # IFS="" read -r first_line first_two_chars=`expr "$first_line" : '\(..\)'` if [ "$first_two_chars" = "%!" ]; then # # PostScript® opdracht, afdrukken. # echo "$first_line" && cat && printf "\004" && exit 0 exit 2 else # # Platte tekst, converteren en dan afdrukken. # ( echo "$first_line"; cat ) | /usr/local/bin/textps && printf "\004" && exit 0 exit 2 fi
In bovenstaand script is textps
een
programma dat geïnstalleerd is om platte tekst om te
zetten naar PostScript®. Elk tekst-naar-PostScript®
programma volstaat. De FreeBSD Portscollectie (zie De Portscollectie) bevat een
uitgebreid tekst-naar-PostScript®-programma,
a2ps
, dat wellicht handig is om te
gebruiken.
PostScript® is de facto de standaard voor op hoge kwaliteit typesetten en afdrukken. PostScript® is echter een dure standaard. Gelukkig heeft Aladdin Enterprises een gratis PostScript®-kloon, Ghostscript, die werkt onder FreeBSD. Ghostscript kan de meeste PostScript®-bestanden lezen en de pagina's op verschillende soorten apparaten weergeven, waaronder veel niet-PostScript®-printers. Door Ghostscript te installeren en een printer gebruik te laten maken van een speciaal tekstfilter voor uw printer, kan uw niet-PostScript®-printer zich gedragen als een echte PostScript®-printer.
Ghostscript is beschikbaar via de FreeBSD Portscollectie, vele versies zijn beschikbaar, de meest gebruikte versie is print/ghostscript-gpl.
Om PostScript® te simuleren moet een tekstfilter detecteren of het een PostScript®-bestand aan het afdrukken is. Zo niet, dan stuurt het filter het bestand direct naar een printer, anders gebruikt het filter Ghostscript om het bestand om te zetten naar een formaat dat door een printer wordt begrepen.
Een voorbeeld: het volgende script is een tekstfilter
voor Hewlett Packard DeskJet 500 printers. Voor andere
printers moet het argument -sDEVICE
voor het
commando gs
(Ghostscript) vervangen worden.
(Met gs -h
wordt een lijst met apparaten
getoond worden die de huidige installatie van
Ghostscript ondersteunt.)
#!/bin/sh # # ifhp - Druk Ghostscript-gesimuleerd PostScript® af op een DeskJet # 500. Geïnstalleerd in /usr/local/libexec/ifhp # # Behandel LF als CR+LF (om een "trapeffect" op HP/PCL # printer te voorkomen): # printf "\033&k2G" || exit 2 # # Lees de eerste twee karakters van het bestand # IFS="" read -r first_line first_two_chars=`expr "$first_line" : '\(..\)'` if [ "$first_two_chars" = "%!" ]; then # # Het is PostScript®. Gebruik Ghostscript om te converteren # en druk het af. # /usr/local/bin/gs -dSAFER -dNOPAUSE -q -sDEVICE=djet500 \ -sOutputFile=- - && exit 0 else # # Platte tekst of HP/PCL, dus direct afdrukken; druk een # pagina-einde af om de laatste pagina te ejecteren. # echo "$first_line" && cat && printf "\033&l0H" && exit 0 fi exit 2
Tot slot moet LPD op de hoogte
gebracht worden van het filter via de optie
if
:
:if=/usr/local/libexec/ifhp
:
Dat is alles. Nu kan lpr
platte.tekst
en lpr
watdanook.ps
ingevoerd worden en beiden worden juist afgedrukt.
Na de eenvoudige installatie, zoals beschreven in Eenvoudige printerinstallatie, te hebben voltooid, is het waarschijnlijk wenselijk om conversiefilters te installeren voor favoriete bestandsformaten (naast platte ASCII-tekst).
Conversiefilters maken het afdrukken van verschillende bestanden eenvoudig. Stel dat veel gebruik gemaakt wordt van het tekstverwerkingsprogramma TeX en een PostScript® printer. Elke keer als door TeX een DVI-bestand wordt gegenereerd, kan dat niet direct afgedrukt worden. Het DVI-bestand moet omgezet worden naar PostScript®. De te geven opdrachten zijn de volgende:
%
dvips zeewieranalyse.dvi
%
lpr zeewieranalyse.ps
Na installatie van een conversiefilter voor DVI-bestanden kan deze handmatige conversie overgeslagen worden door LPD de conversie te laten uitvoeren. Elke keer als een DVI-bestand wordt afgedrukt, hoeft alleen de volgende opdracht gegeven te worden:
%
lpr -d zeewieranalyse.dvi
LPD voert de
DVI-bestandsconversie uit door -d
te
geven. In Opties voor opmaak
en conversie staat een lijst van
conversie-opties.
Voor elke conversie-optie moet een
conversiefilter geïnstalleerd
worden en moet in /etc/printcap
de
locatie worden opgegeven. Een conversiefilter is als het
tekstfilter voor de eenvoudige printerinstallatie (Tekstfilter
installeren), behalve dat in plaats van platte
tekst af te drukken, het conversiefilter het bestand
converteert naar een formaat dat een printer
begrijpt.
Installeer de conversiefilters die nodig zijn. Als veel DVI-bestanden worden afgedrukt, dan is het handig een DVI-filter te installeren. Als veel troff wordt afgedrukt, dan is het waarschijnlijk handig een troff-filter te installeren.
De volgende tabel geeft een samenvatting van filters
waarmee LPD kan werken, hoe ze
in /etc/printcap
kunnen worden
aangeroepen en hoe ze met lpr
kunnen
worden aangeroepen:
Bestandsformaat | /etc/printcap
optie | lpr optie |
---|---|---|
cifplot | cf | -c |
DVI | df | -d |
plot | gf | -g |
ditroff | nf | -n |
FORTRAN-tekst | rf | -f |
troff | tf | -f |
raster | vf | -v |
platte tekst | if | geen, -p , of
-l |
In het voorbeeld waarbij lpr
-d
wordt gebruikt, moet voor de
printer een optie df
gedefinieerd staan
in /etc/printcap
.
Ondanks wat anderen mogelijk beweren, zijn formaten als
FORTRAN-tekst en plot waarschijnlijk verouderd. Dit biedt
de mogelijkheid een nieuwe betekenis te geven aan deze
opties door zelf een filter te installeren. Stel dat direct
Printerleaf-bestanden afgedrukt moeten worden (bestanden van
het bureaubladpublicatieprogramma Interleaf), maar nooit
plotbestanden worden afgedrukt. Dan kan een
Printerleaf-conversiefilter geïnstalleerd worden onder
de optie gf
en gebruikers kunnen
geïnstrueerd worden om lpr -g
te gebruiken om Printerleaf-bestanden af te
drukken.
Aangezien conversiefilters programma's zijn die niet
onder de FreeBSD-basisinstallatie vallen, kunnen ze het best
onder /usr/local
geplaatst worden. De map /usr/local/libexec
is een
veelgebruikte locatie, omdat hier programma's te vinden zijn
die alleen door LPD gebruikt
worden. Gewone gebruikers hoeven ze nooit te gebruiken.
Om een conversiefilter te activeren, moet de
bestandslocatie onder de juiste optie voor de betreffende
printer in /etc/printcap
opgegeven
worden.
In het onderstaande voorbeeld wordt het
DVI-conversiefilter toegevoegd onder de sectie van de
printer bamboo
. Hieronder staat opnieuw
het voorbeeldbestand /etc/printcap
, nu
met de nieuwe optie df
voor de printer
bamboo
:
# # /etc/printcap voor host rose - df-filter voor bamboo toegevoegd # 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
:
Het DVI-filter is een shellscript met de naam
/usr/local/libexec/psdf
. Het script
ziet er als volgt uit:
#!/bin/sh # # psdf - DVI naar PostScript afdrukfilter # Geïnstalleerd in /usr/local/libexec/psdf # # Aangeroepen door lpd wanneer een gebruiker lpr -d uitvoert # exec /usr/local/bin/dvips -f | /usr/local/libexec/lprps "$@"
Dit script roept dvips
in
filtermodus aan (het -f
argument) op de
standaard uitvoer, de af te drukken opdracht. Vervolgens
start het PostScript® afdrukfilter
lprps
(zie Platte tekst op
PostScript®-printers afdrukken) met de argumenten
die LPD aan het script
doorgeeft. lprps
gebruikt deze
argumenten om de afgedrukte pagina's te
administreren.
Er is geen vaste procedure om conversiefilters te installeren, er worden in deze sectie wat werkende voorbeelden gegeven. Gebruik deze als hulp bij het zelf maken van filters. Gebruik ze zonder aanpassingen indien mogelijk.
Dit voorbeeldscript is een raster (eigenlijk een GIF-bestand) conversiefilter voor een HP LaserJet III-Si printer:
#!/bin/sh # # hpvf - Converteer GIF-bestanden naar HP/PCL, druk vervolgens af # Geïnstalleerd in /usr/local/libexec/hpvf PATH=/usr/X11R6/bin:$PATH; export PATH giftopnm | ppmtopgm | pgmtopbm | pbmtolj -resolution 300 \ && exit 0 \ || exit 2
Het script converteert achtereenvolgens het GIF-bestand naar een PNM-bestand (portable anymap), een PGM-bestand (portable graymap), een PBM-bestand (portable bitmap) en tenslotte naar LaserJet/PCL formaat.
Een /etc/printcap
bestand dat
bovenstaand filter gebruikt ziet er als volgt uit:
# # /etc/printcap voor host orchid # teak|hp|laserjet|HP LaserJet 3Si:\ :lp=/dev/lpt0
:sh:sd=/var/spool/lpd/teak
:mx#0:\ :if=/usr/local/libexec/hpif
:\ :vf=/usr/local/libexec/hpvf
:
Het volgende script is een conversiefilter voor
troff-gegevens afkomstig van het groff-typesettingsysteem
voor de PostScript®-printer bamboo
:
#!/bin/sh # # pstf - Converteert groff's troffgegevens naar PS, drukt vervolgens af. # Geïnstalleerd in /usr/local/libexec/pstf # exec grops | /usr/local/libexec/lprps "$@"
Bovenstaande script maakt eveneens gebruik van
lprps
om de communicatie met een printer
af te handelen. Als een printer op een parallelle poort
is aangesloten, ziet het er als volgt uit:
#!/bin/sh # # pstf - Converteert groff's troff naar PS, drukt vervolgens af. # Geïnstalleerd in /usr/local/libexec/pstf # exec grops
Dat is alles. In /etc/printcap
moet het volgende toegevoegd worden om het filter
beschikbaar te maken:
:tf=/usr/local/libexec/pstf
:
Hieronder een voorbeeld waarvan FORTRAN-programmeurs
waarschijnlijk tranen in hun ogen krijgen: een
FORTRAN-tekstfilter voor een willekeurige printer die in
staat is platte tekst af te drukken. Het filter wordt
actief gemaakt voor teak
:
#!/bin/sh # # hprf - FORTRAN tekstfilter voor LaserJet 3si: # Geïnstalleerd in /usr/local/libexec/hprf # printf "\033&k2G" && fpr && printf "\033&l0H" && exit 0 exit 2
De onderstaande regel wordt toegevoegd aan
/etc/printcap
voor de printer
teak
om het filter beschikbaar te
maken:
:rf=/usr/local/libexec/hprf
:
Het laatste voorbeeld is wellicht complexer. Er
wordt een DVI-filter toegevoegd voor de eerder genoemde
LaserJet printer teak
. Eerst het
makkelijke gedeelte: in /etc/printcap
wordt de locatie van het DVI-filter opgegeven:
:df=/usr/local/libexec/hpdf
:
Nu het moeilijke gedeelte: het schrijven van het filter.
Daarvoor is een DVI-naar-LaserJet/PCL conversieprogramma
nodig. De FreeBSD Portscollectie (zie Portscollectie) heeft er een:
print/dvi2xx. Door deze
port te installeren komt het programma dat nodig is
beschikbaar, dvilj2p
, waarmee DVI
geconverteerd kan worden naar LaserJet IIp-, LaserJet III-
en LaserJet 2000-formaten.
Het hulpprogramma dvilj2p
maakt het
filter hpdf
redelijk complex, omdat
dvilj2p
niet van de standaard invoer kan
lezen. Het wil werken met een bestandsnaam. Nog lastiger
is dat de bestandsnaam moet eindigen op
.dvi
, zodat moeilijk gebruik
gemaakt kan worden van /dev/fd/0
als standaard.
Dit probleem kan omzeild worden door een (symbolische)
koppeling aan te maken van een tijdelijk bestand (eindigend
op .dvi
) naar /dev/fd/0
. Hiermee wordt
dvilj2p
gedwongen van de standaard
invoer te lezen.
De enige andere hobbel die genomen moet worden, is dat
/tmp
niet gebruikt
kan worden als tijdelijke koppeling. Symbolische
koppelingen zijn eigendom van de gebruiker en groep
bin
. Het filter wordt uitgevoerd door
de gebruiker daemon
. De map
/tmp
heeft het
sticky-bit aan staan. Het filter kan de koppeling wel
aanmaken, maar het is niet mogelijk de koppeling te
verwijderen als de opdracht is uitgevoerd, omdat de
koppeling eigendom is van een andere gebruiker.
In plaats hiervan maakt het filter een symbolische
koppeling aan in de huidige werkmap, de wachtrijmap (zoals
opgegeven in de optie sd
in
/etc/printcap
). Dit is een perfecte
plaats voor filters om hun werk te doen, zeker gezien er
(soms) meer vrije schijfruimte is in de wachtrijmap dan
onder /tmp
.
Dit is het uiteindelijke filter:
#!/bin/sh # # hpdf - Druk DVI-gegevens af op een HP/PCL printer # Geïnstalleerd in /usr/local/libexec/hpdf PATH=/usr/local/bin:$PATH; export PATH # # Definieer een functie om tijdelijke bestanden op te ruimen. Deze # staan in de huidige map; de wachtrijmap voor de printer. # cleanup() { rm -f hpdf$$.dvi } # # Definieer een functie om fatale fouten te verwerken: geef de # opgegeven boodschap weer en sluit af met 2. Afsluiten met 2 vertelt # LPD niet nog eens te proberen de afdrukopdracht af te drukken. # fatal() { echo "$@" 1>&2 cleanup exit 2 } # # Als de gebruiker de opdracht annuleert, stuurt LPD een SIGINT, dus # ondervang SIGINT (en enkele andere signalen) om onze rommel op te # ruimen. # trap cleanup 1 2 15 # # Voor de zekerheid bestaande tijdelijke bestanden opruimen # cleanup # # Koppel het DVI-invoerbestand aan de standaard invoer (het af te # drukken bestand). # ln -s /dev/fd/0 hpdf$$.dvi || fatal "Cannot symlink /dev/fd/0" # # Maak LF = CR+LF # printf "\033&k2G" || fatal "Cannot initialize printer" # # Converteer en druk af. De retourneerwaarde van dvilj2p lijkt niet # betrouwbaar, dus negeren we het. # dvilj2p -M1 -q -e- dfhp$$.dvi # # Opruimen en afsluiten # cleanup exit 0
Al deze conversiefilters bieden vele mogelijkheden voor afdrukomgevingen, maar dwingen de gebruiker aan te geven (op de lpr(1) commandoregel) welk filter gebruikt moet worden. Als gebruikers niet zo vaardig zijn in het gebruik van computers, wordt het al snel vervelend steeds aan te moeten geven welk filter gebruikt moet worden. Vervelender is echter wanneer een gebruiker een verkeerd filter gebruikt voor een bepaald bestandsformaat. Het resultaat kan zijn dat een printer honderden pagina's papier uitspuugt.
In plaats van het installeren van conversiefilters, is
het te proberen om het (standaard) tekstfilter het
bestandstype van het af te drukken bestand te laten
detecteren en dan automatisch het juiste conversiefilter
aan te laten roepen. Programma's als
file
kunnen hierbij handig zijn. Voor
sommige bestandsformaten kan het
moeilijk zijn de verschillen te ontdekken en voor deze
bestanden kan alsnog een conversiefilter beschikbaar worden
gesteld.
De FreeBSD Portscollectie heeft een tekstfilter dat
automatisch converteert genaamd apsfilter
(print/apsfilter). Het
detecteert platte tekst, PostScript® en DVI-bestanden,
voert de juiste conversie uit en druk de bestanden af.
Het wachtrijsysteem LPD ondersteunt een ander type filter waar nog geen aandacht aan is besteed: een uitvoerfilter. Een uitvoerfilter is bedoeld om alleen platte tekst af te drukken, net als een tekstfilter, maar met veel vereenvoudigingen. Wanneer een uitvoerfilter wordt gebruikt, maar geen tekstfilter, dan:
start LPD een uitvoerfilter voor de gehele opdracht, in plaats van voor elk bestand in de opdracht;
biedt LPD het uitvoerfilter niet de voorziening van het identificeren van het begin of eind van de bestanden in de afdrukopdracht;
stuurt LPD de gebruikersnaam en de hostnaam niet door aan het filter. Het is dus niet bedoeld om een afdrukadministratie bij te houden. In feite zijn er maar twee argumenten:
filter-name
-wwidth
-llength
Hierbij is width
afkomstig
van de optie pw
en
length
afkomstig van de optie
pl
voor de betreffende printer.
De eenvoud van een uitvoerfilter is verleidelijk. Als elk bestand in een afdrukopdracht op een nieuwe pagina moet beginnen, is een uitvoerfilter niet geschikt. In dat geval dient een tekstfilter (ook wel invoerfilter) gebruikt te worden (zie Tekstfilter installeren. Verder is een uitvoerfilter eigenlijk veel ingewikkelder, omdat de te verwerken bytestroom gecontroleerd moet worden op speciale tekens en steeds signalen naar zichzelf moet sturen in opdracht van LPD.
Een uitvoerfilter is noodzakelijk als voorbladen gewenst zijn en het nodig is om escape-reeksen of andere initialisatietekens te sturen voor het afdrukken van het voorblad. Maar het is tevens nutteloos als het voorblad voor rekening van de afkomstige gebruiker moet komen, aangezien LPD geen gebruiker of hostinformatie naar het uitvoerfilter stuurt.
Op een enkele printer staat
LPD het gebruik van zowel een
uitvoerfilter als van een tekst of andere filter toe. In
deze gevallen start LPD het
uitvoerfilter alleen voor het afdrukken van het voorblad (zie
Voorbladen).
LPD verwacht vervolgens van het
uitvoerfilter dat deze zichzelf stopt
door twee bytes naar het filter te sturen: ASCII 031 gevolgd
door ASCII 001. Als een uitvoerfilter deze twee bytes ziet
(031, 001), moet die stoppen door een
SIGSTOP
naar zichzelf te sturen. Als
LPD klaar is met het uitvoeren van
alle andere filters, dan herstart deze het uitvoerfilter door
er een SIGCONT
naar toe te sturen.
Als er wel een uitvoerfilter, maar geen tekstfilter is en LPD is niet bezig met het verwerken van een opdracht met platte tekst, dan gebruikt LPD het uitvoerfilter voor het afdrukken van de opdracht. Zoals eerder vermeld, drukt het uitvoerfilter elk bestand van de opdracht achter elkaar af zonder pagina-einden of andere signalen voor paginavoortgang. Dit is waarschijnlijk niet gewenst. In bijna alle gevallen is een tekstfilter nodig.
Het programma lpf
, dat eerder
geïntoduceerd is als tekstfilter, kan ook worden
uitgevoerd als uitvoerfilter. Als een ad-hoc uitvoerfilter
nodig is, maar het schrijven van de bytedetectie en
signaalverzending code niet wenselijk is, dan is
lpf
het proberen waard.
lpf
kan ook opgenomen worden in een
shellscript om initialisatiecode af te handelen die eventueel
nodig is voor een printer.
Het programma /usr/libexec/lpr/lpf
uit de gecompileerde FreeBSD-distributie is een tekstfilter
(invoerfilter) die uitvoer kan inspringen (een opdracht
gegeven met lpr -i
),
karakters onveranderd kan doorlaten (een opdracht gegeven met
lpr -l
), de printpositie
voor backspaces en tabs in de opdracht kan aanpassen en
afgedrukte pagina's kan administreren. Het kan ook
functioneren als uitvoerfilter.
Het filter lpf
is geschikt voor vele
afdrukomgevingen. Hoewel het zelf niet in staat is
initialisatiesequenties naar een printer te sturen, is het
vrij eenvoudig om een shellscript te schrijven dat de
initialisatie doet en vervolgens lpf
aanroept.
Als lpf
afgedrukte pagina's moet
administreren, is het nodig om de juiste waarden in te vullen
voor de opties pw
en
pl
in het bestand
/etc/printcap
. Deze waarden worden
gebruikt om te bepalen hoeveel tekst er op een pagina past en
hoeveel pagina's er in een afdrukopdracht zijn afgedrukt.
Zie Printergebruik
administreren voor meer informatie.
Als er veel gebruikers zijn die allemaal verschillende printers gebruiken, dan is het te overwegen gebruik te maken van voorbladen als noodzakelijk kwaad.
Voorbladen, in het Engels ook wel bekend als banner of burst pagina's, identificeren wie een bepaalde opdracht heeft afgedrukt. Ze worden meestal bedrukt met grote, dikgedrukte letters, eventueel met een decoratieve rand, zodat ze in een stapel afdrukken opvallen tussen de afgedrukte documenten. Ze maken het gebruikers mogelijk hun afdrukopdracht snel te vinden. Het nadeel van het gebruik van voorbladen is dat er een extra blad moet worden afgedrukt voor elke opdracht, waarmee hun nut niet langer duurt dan een paar minuten. Uiteindelijk belanden ze in een papierbak of afvalberg. Voorbladen gaan vooraf aan elke opdracht, niet aan elk bestand in een opdracht, waardoor de verspilling beperkt blijft.
Het LPD-systeem kan automatisch voorbladen afdrukken als een printer direct platte tekst kan afdrukken. In geval van een PostScript®-printer, is het nodig een extern programma aan te roepen om een voorblad te genereren (zie Voorbladen op PostScript®-printers.
In de sectie Eenvoudige
printerinstallatie is het afdrukken van
voorbladen uitgeschakeld door de optie sh
(“suppress header”) in het bestand
/etc/printcap
op te geven. Om wel
voorbladen af te drukken, hoeft alleen de optie
sh
verwijderd te worden.
Dit klinkt wat al te makkelijk, of niet?
Dat klopt. Het kan nodig zijn een uitvoerfilter op te geven die initialisatiestrings naar een printer stuurt. Hier is een voorbeeld uitvoerfilter voor HP PCL-compatible printers:
#!/bin/sh # # hpof - Uitvoerfilter voor HP PCL-compatible printers # Geïnstalleerd in /usr/local/libexec/hpof printf "\033&k2G" || exit 2 exec /usr/libexec/lpr/lpf
Geef de locatie van het uitvoerfilter op met de optie
of
. Zie Uitvoerfilters voor
meer informatie.
Hier is een voorbeeldbestand
/etc/printcap
voor de printer
teak
die eerder is geïntroduceerd;.
Het afdrukken van voorbladen is geactiveerd en bovenstaande
uitvoerfilter is toegevoegd:
# # /etc/printcap voor host orchid # teak|hp|laserjet|HP 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
:
Als gebruikers nu een opdracht sturen naar
teak
, wordt er bij elke opdracht een
voorblad afgedrukt. Als gebruikers liever willen zoeken naar
hun afdrukken, dan kunnen ze de voorbladen onderdrukken door
de opdracht te geven met het commando
lpr -h
. Zie Voorbladopties
voor meer opties voor lpr(1).
LPD drukt een karakter voor
pagina-einde af na elk voorblad. Als een printer een ander
teken of sequentie gebruikt voor het beëindigen van
een pagina, dan kan dit opgeven worden met de optie
ff
in
/etc/printcap
.
Door het afdrukken van voorbladen aan te zetten,
produceert LPD een lang
voorblad waarop in grote letters de gebruiker,
host en opdracht te lezen zijn. Hier volgt een voorbeeld
(kelly
heeft de opdracht
“outline” afgedrukt vanaf host
rose
):
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 geeft een paginabegin na
deze tekst, zodat de opdracht op een nieuwe pagina begint
(tenzij de optie sf
(suppress
form feeds, “onderdruk paginabegin”)
is toegevoegd bij de desbetreffende printer in
/etc/printcap
).
Als dit wenselijk is, kan LPD
ook een korte tekst op het voorblad
afdrukken; geef hiervoor de optie sb
(short banner, “kort
voorblad”) op in het bestand
/etc/printcap
. Het voorblad
ziet er dan als volgt uit:
rose:kelly Job: outline Date: Sun Sep 17 11:07:51 1995
Standaard drukt LPD het
voorblad als eerste af en vervolgens de opdracht. Om dat om
te keren, moet de optie hl
(header last, “voorblad
laatst”) in /etc/printcap
worden
opgeven.
Het gebruik van LPD's ingebouwde voorbladen dwingt een bepaald paradigma af wat betreft het administreren van printergebruik: voorbladen moeten gratis zijn.
Waarom?
Omdat het uitvoerfilter het enige externe programma is
dat controle heeft als het voorblad afgedrukt wordt dat het
gebruik zou kunnen administreren. Het heeft echter geen
beschikking over informatie over gebruiker of
host of een administratiebestand. Het heeft dus
geen idee wie voor het gebruik moet worden belast. Het
volstaat ook niet om gewoon “het aantal pagina's met
één op te hogen” door het tekstfilter of
een van de conversiefilters (dat wel beschikt over
gebruiker- en hostinformatie) te veranderen, omdat gebruikers
het afdrukken van een voorblad kunnen onderdrukken met
lpr -h
. Ze worden dan
aangeslagen voor voorbladen die niet zijn afgedrukt.
Milieubewuste gebruikers gebruiken vast
lpr -h
, maar dit kan niet
worden afgedwongen.
Het is ook niet voldoende om elk
filter zijn eigen voorblad te laten genereren (om zo het
gebruik te kunnen administreren). Als gebruikers het
afdrukken van voorbladen willen onderdrukken met
lpr -h
, krijgen ze toch
een voorblad en worden er ook voor belast, aangezien
LPD geen kennis over de optie
-h
doorgeeft aan de filters.
Wat zijn dan de mogelijkheden?
Accepteer het paradigma van LPD en maak voorbladen gratis;
Installeer een alternatief voor LPD, zoals LPRng. In Alternatieven voor het standaard wachtrijsysteem staat meer over andere afdruksoftware die in plaats van LPD geïnstalleerd kan worden;
Schrijf een slim
uitvoerfilter. Gewoonlijk is een uitvoerfilter bedoeld
om niet meer te doen dan het initialiseren van een
printer of wat eenvoudige karakterconversie. Het is
geschikt voor voorbladen en opdrachten met platte tekst
(als er een tekstfilter is). Maar als er een tekstfilter
is voor opdrachten met platte tekst, dan start
LPD het uitvoerfilter alleen
voor voorbladen. Het uitvoerfilter kan dan het
voorblad dat LPD genereert
analyseren om te bepalen welke gebruiker en host belast
moeten worden voor het afdrukken van het voorblad. Het
enige probleem is dat het uitvoerfilter nog steeds niet
weet in welk bestand het gebruik moet worden bijgehouden
(de naam van het bestand opgegeven in de
af
wordt niet meegegeven), maar als
een bekend bestand gebruikt wordt, kan dit in het
uitvoerfilter worden opgeven. Om het parsen af te
handelen kan gebruik gemaakt worden van de optie
sh
(short header,
“kort voorblad”) in
/etc/printcap
. Dit kan echter wat
omslachtig zijn en gebruikers waarderen zeker de meer
gulle systeembeheerder die voorbladen gratis
maakt.
Zoals hierboven beschreven, kan LPD een voorblad in platte tekst genereren, dat geschikt is voor de meeste printers. Natuurlijk kan PostScript® platte tekst niet direct afdrukken, zodat de voorbladfunctie van LPD nutteloos is.
Een voor de hand liggende manier om voorbladen te
krijgen, is elk conversiefilter en tekstfilter zijn eigen
voorblad te laten genereren. De filters moeten gebruik maken
van de argumenten gebruiker en host om een geschikt voorblad
te genereren. Het nadeel van deze methode is dat gebruikers
altijd een voorblad krijgen, ook wanneer zij een opdracht
geven met lpr -h
.
Deze methode wordt nader beschreven. Het volgende script heeft drie argumenten (gebruikersnaam, hostnaam en de naam van de opdracht) en maakt een eenvoudig PostScript®-voorblad:
#!/bin/sh # # make-ps-header - genereer een PostScript-voorblad op stdout # Geïnstalleerd in /usr/local/libexec/make-ps-header # # # Dit zijn PostScript-eenheden (72 in een inch). Pas dit aan voor A4 # of het gebruikte formaat: # page_width=612 page_height=792 border=72 # # Controleer argumenten # if [ $# -ne 3 ]; then echo "Usage: `basename $0` <user> <host> <job>" 1>&2 exit 1 fi # # Bewaar deze, voornamelijk voor de leesbaarheid in de PostScript®-code. # user=$1 host=$2 job=$3 date=`date` # # Stuur de PostScript®-code naar stdout. # exec cat <<EOF %!PS % % Vermijd conflicten met de opdracht van de gebruiker die volgt. % save % % Maak een dikke, onaangename border in de marge van het papier. % $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 % % Toon de gebruikersnaam duidelijk, groot en prominent % /Helvetica-Bold findfont 64 scalefont setfont $page_width ($user) stringwidth pop sub 2 div $page_height 200 sub moveto ($user) show % % Nu volgen de saaie bijzonderheden % /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 % % Dat is alles % restore showpage EOF
Nu kan zowel het conversiefilter als het tekstfilter dit script aanroepen om eerst een voorblad te genereren en vervolgens de opdracht van de gebruiker af te drukken. Hier volgt het eerder gebruikte DVI-conversieprogramma, aangepast om een voorblad te maken:
#!/bin/sh # # psdf - DVI naar PostScript printfilter # Geïnstalleerd in /usr/local/libexec/psdf # # Aangeroepen door lpd, wanneer de gebruiker lpr -d uitvoert # 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
Merk op hoe het filter eerst de argumentenlijst moet nagaan om te bepalen wat de gebruikers- en hostnaam zijn. Dit is gelijk voor de andere conversiefilters. Het tekstfilter heeft echter een andere verzameling argumenten (zie Hoe filters werken).
Zoals eerder is beschreven, is het in bovenstaande opzet,
hoewel deze simpel is, niet mogelijk “voorbladen
te onderdrukken” (de optie -h
in
lpr
). Als gebruikers een boom willen
sparen (of een paar centen bij betaalde voorbladen) dan is
dit dus niet mogelijk, aangezien elk filter een voorblad
afdrukt voor iedere opdracht.
Om gebruikers in staat te stellen per opdracht voorbladen
te onderdrukken, moet gebruik gemaakt worden van de truc
uit Voorbladen
administreren: schrijf een uitvoerfilter dat het door
LPD gegenereerde voorblad inleest en een PostScript®-versie
genereert. Als de gebruiker de opdracht geeft met
lpr -h
, dan genereert
LPD geen voorblad en het
uitvoerfilter ook niet. Anders leest het uitvoerfilter de
tekst van LPD in en stuurt een
geschikt voorblad in PostScript® naar de printer.
Voor een PostScript®-printer op een seriële lijn
kan gebruik gemaakt worden van lprps
,
dat met een uitvoerfilter wordt geleverd en het bovenstaande
kan doen. Voorbladen worden door psof
niet geteld.
FreeBSD ondersteunt afdrukken via het netwerk: het sturen van opdrachten naar printers op afstand. Afdrukken via een netwerk betekent over het algemeen twee verschillende dingen:
Het benaderen van een printer aangesloten op een andere computer. Een printer met een conventionele seriële of parallelle verbinding wordt op een bepaalde computer geïnstalleerd. Vervolgens wordt LPD zodanig ingesteld dat afdrukken vanaf andere computers in het netwerk mogelijk is. In Printers geïnstalleerd op andere hosts staat hoe dit te doen.
Het benaderen van een printer die direct is aangesloten op een netwerk. Een printer heeft een netwerkinterface naast (of in plaats van) een gewone seriële of parallelle poort. Zo een printer kan als volgt werken:
Het begrijpt het LPD protocol en kan zelfs opdrachten van andere hosts in de wachtrij plaatsen. In dit geval werkt een printer als een gewone host die LPD heeft draaien. Volg de procedure in Printers geïnstalleerd op andere hosts om een dergelijke printer te installeren
Het kan zijn dat een printer een netwerkverbinding ondersteunt. In dit geval kan een printer worden “aangesloten” op een bepaalde host op het netwerk door deze host verantwoordelijk te maken voor het plaatsen van opdrachten in een wachtrij en het versturen van opdrachten naar de printer. In Printers met netwerkinterfaces staan enkele suggesties om zulke printers te installeren.
Het wachtrijsysteem LPD heeft een ingebouwde mogelijkheid om opdrachten naar andere hosts te sturen die ook LPD draaien (of een systeem dat compatibel is met LPD). Deze eigenschap maakt het mogelijk om een printer op een host te installeren en deze toegankelijk te maken voor andere hosts. Het werkt ook met printers die over een netwerkinterface beschikken en het LPD-protocol begrijpen.
Om dit soort afdrukken op afstand mogelijk te maken, moet een printer eerst op een host geïnstalleerd worden, de printerhost, door de printerinstallatie te volgen als beschreven in Eenvoudige printerinstallatie. Stel desgewenst de printer in voor geavanceerde taken volgens Geavanceerde printerinstallatie. Test de printer en controleer of deze werkt met eventueel speciaal ingestelde opties voor LPD. De lokale host moet geautoriseerd zijn om de LPD-dienst op de verre host te gebruiken (zie Opdrachten van hosts op afstand beperken).
Als een printer een netwerkinterface heeft die compatibel is met LPD, dan is de printerhost in onderstaande beschrijving de printer zelf en de printernaam is de naam die voor de printer is ingesteld. Meer informatie staat in de documentatie bij de printer en/of de printernetwerkinterface.
Bij een HP LaserJet voert de printernaam
text
automatisch de CRLF-conversie uit.
Het is dan niet nodig het script hpif
te gebruiken.
Op hosts die toegang moeten krijgen tot de printer, moet
in /etc/printcap
een regel worden
toegevoegd met het volgende:
Geef de regel een willekeurige naam. Om het eenvoudig te houden kunnen wellicht het beste dezelfde namen en aliassen worden gebruikt als op de printerhost;
Laat de optie lp
expliciet leeg
(:lp=:
);
Maak een wachtrijmap aan en geef de locatie op met de
optie sd
.
LPD slaat hier
afdrukopdrachten op alvorens ze naar de printerhost
te sturen;
Geef de naam van de printerhost op met de optie
rm
;
Geef de naam van de printer op de
printerhost op met de optie
rp
.
Dit is het. Conversiefilters, paginadimensies,
enzovoort, hoeven niet in /etc/printcap
opgegeven te worden.
Hier volgt een voorbeeld. De host rose
heeft twee printers: bamboo
en
rattan
. Gebruikers op de host
orchid
krijgen toegang tot deze printers.
Hier volgt /etc/printcap
voor
orchid
(uit Voorbladen
afdrukken). Er stond in het bestand al een regel voor
de printer teak
. Voor de twee printers op
de host rose
zijn twee regels
toegevoegd:
# # /etc/printcap voor host orchid - printers (op afstand) op rose toegevoegd # # # teak is lokaal; het is direct aangesloten op orchid: # teak|hp|laserjet|HP 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 is aangesloten op rose; stuur opdrachten voor rattan naar rose: # rattan|line|diablo|lp|Diablo 630 Line Printer:\ :lp=:rm=rose:rp=rattan:sd=/var/spool/lpd/rattan
: # # bamboo is ook aangesloten op rose: # bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :lp=:rm=rose:rp=bamboo:sd=/var/spool/lpd/bamboo
:
Op orchid
moeten wachtrijmappen worden
aangemaakt:
#
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
Nu kunnen gebruikers op orchid
afdrukken
op rattan
en bamboo
.
Een gebruiker op orchid
geeft bijvoorbeeld
de volgende invoer:
%
lpr -P bamboo -d sushi-review.dvi
Dan kopieert LPD op
orchid
de opdracht naar de wachtrijmap
/var/spool/lpd/bamboo
en ziet dat het een DVI-opdracht is. Zodra de host
rose
ruimte heeft in zijn wachtrijmap
bamboo
, sturen de twee
LPD's het bestand naar
rose
. Het bestand wacht in de wachtrij van
rose
totdat het succesvol is afgedrukt. Het
wordt geconverteerd naar PostScript® (aangezien
bamboo
een PostScript®-printer is) op
rose
.
Netwerkkaarten voor printers zijn er in twee versies: een versie die een wachtrij nabootst (de duurdere versies), of versies die alleen de mogelijkheid geven om er informatie naar te sturen alsof het een seriële of parallelle poort is (de goedkopere versies). In Printers geïnstalleerd op andere hosts wordt het voor de duurdere beschreven.
Het formaat van /etc/printcap
maakt
het mogelijk om op te geven welke seriële, of parallelle
poort gebruikt moet worden en (in geval van een seriële
poort) de baud-snelheid, of er communicatie moet worden
toegepast, vertragingen voor tabs, conversies voor nieuwe
regelkarakters en meer. Er is geen mogelijkheid om een
verbinding met een printer op te geven die op een TCP/IP of
andere netwerkpoort luistert.
Om informatie naar een netwerkprinter te sturen, is het
nodig een programma te ontwikkelen dat door tekst- en
conversiefilters kan worden aangeroepen. Hier volgt een
voorbeeld: het script netprint
stuurt alle
informatie van de standaard invoer naar een netwerkprinter.
Als eerste argument wordt de hostnaam van de printer
opgegeven en als tweede argument het poortnummer waarmee de
verbinding moet worden opgezet. Er wordt alleen
eenrichtingcommunicatie ondersteund (FreeBSD naar printer).
Veel netwerkprinters ondersteunen tweewegcommunicatie. Het
kan wenselijk zijn hiervan gebruik te maken (om printerstatus
op te vragen, statistieken bij te houden, enzovoort).
#!/usr/bin/perl # # netprint - Tekstfilter voor printer aangesloten op het netwerk # Geïnstalleerd in /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;
Dit script kan vervolgens in verschillende filters
gebruikt worden. Stel dat een Diablo 750-N matrixprinter op
het netwerk is aangesloten. Op poort 5100 accepteert de
printer informatie om af te drukken. De hostnaam van de
printer is scrivener
. Hier volgt het
tekstfilter voor de printer:
#!/bin/sh # # diablo-if-net - Tekstfilter voor Diablo printer 'scrivener' luistert # op poort 5100. Geïnstalleerd in /usr/local/libexec/diablo-if-net # exec /usr/libexec/lpr/lpf "$@" | /usr/local/libexec/netprint scrivener 5100
Nu volgt informatie over het beperken van printergebruik. Het LPD-systeem maakt het mogelijk te bepalen wie er toegang heeft tot een printer, zowel lokaal als op afstand, of meerdere kopieën afgedrukt mogen worden, hoe lang opdrachten mogen zijn en hoe lang wachtrijen mogen worden.
Het LPD systeem maakt het heel
makkelijk voor gebruikers om meerdere afdrukken van een
bestand te maken. Gebruikers kunnen opdrachten afdrukken met
bijvoorbeeld lpr -#5
en
krijgen dan vijf kopieën van elk bestand in de opdracht.
De systeembeheerder kan beslissen of dit wenselijk is.
Wanneer meerdere kopieën onwenselijk zijn, kan de
optie -#
van lpr(1) worden
uitgeschakeld door de optie sc
in
/etc/printcap
op te nemen. Als
gebruikers opdrachten versturen met de optie
-#
, zien ze het volgende:
lpr: multiple copies are not allowed
Als het mogelijk is van andere hosts af te drukken (zie
Printers
geïnstalleerd op andere hosts), moet de optie
sc
ook in
/etc/printcap
van de andere hosts
aanwezig zijn. Anders kunnen gebruikers nog steeds
multi-kopie opdrachten van andere hosts sturen.
Hier volgt een voorbeeld. Hieronder staat
/etc/printcap
voor de host
rose
. De printer rattan
is redelijk krachtig, dus meerdere kopieën zijn
toegestaan. De laserprinter bamboo
is wat
gevoeliger, dus meerdere kopieë zijn uitgeschakeld door
de optie sc
toe te voegen:
# # /etc/printcap voor host rose - beperk meerdere kopieën op 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:\ :lp=/dev/ttyu5
:ms#-parenb cs8 clocal crtscts:rw:\ :if=/usr/local/libexec/psif
:\ :df=/usr/local/libexec/psdf
:
Nu moet ook de optie sc
worden
toegevoegd in /etc/printcap
van host
orchid
(tegelijk worden meerdere
kopieën voor de printer teak
uitgeschakeld):
# # /etc/printcap voor host orchid - geen meerdere kopieën voor lokale # printer teak of printer op afstand bamboo teak|hp|laserjet|HP 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:
Door de optie sc
te gebruiken, wordt
het gebruik van lpr -#i
voorkomen, maar dat weerhoudt gebruikers er nog steeds niet
van om lpr(1) meerdere keren te aanroepen of meerdere
keren hetzelfde bestand te versturen in een opdracht:
%
lpr voorverkoop.teken voorverkoop.teken voorverkoop.teken voorverkoop.teken voorverkoop.teken
Er zijn vele manieren om dit misbruik te voorkomen (onder andere door het te negeren), welke vrij zijn om te verkennen.
Door gebruik te maken van het UNIX® groepmechanisme en
de optie rg
in
/etc/printcap
kan geregeld worden wie er
op welke printer kan afdrukken. De gebruikers die toegang
hebben tot een printer moeten in een groep worden geplaatst
en deze groep moet in de optie rg
worden
genoemd.
Als gebruikers buiten de groep (inclusief
root
) naar de beheerde printer proberen
te printen, worden ze begroet met het volgende bericht:
lpr: Not a member of the restricted group
Net als met de optie sc
(suppress multiple copies: onderdruk
meerdere kopieën) moet rg
, indien
wenselijk, ook op andere hosts worden opgegeven die ook
toegang hebben tot printers (zie Printers
geïnstalleerd op andere hosts).
In het volgende voorbeeld heeft iedereen toegang tot de
printer rattan
, maar alleen gebruikers in
de groep artists
kunnen gebruik maken
van bamboo
. Hier volgt het bekende
/etc/printcap
voor de host
rose
:
# # /etc/printcap voor host rose - beperkte toegang voor groep 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
:
De andere voorbeeldbestanden
/etc/printcap
(voor de host
orchid
) worden niet aangepast. Natuurlijk
kan iedereen op orchid
afdrukken op
bamboo
. Het kan zijn dat er sowieso alleen
bepaalde gebruikers op orchid
zijn
toegestaan en dat deze gebruikers toegang mogen hebben tot de
printer. Of wellicht niet.
Er kan per printer slechts één groep worden opgegeven.
Als veel gebruikers toegang hebben tot printers kan het nodig zijn een limiet op te geven voor de grootte van de bestanden die gebruikers naar een printer kunnen sturen. Er is immers slechts beperkte ruimte op het bestandssysteem en er moet ook voldoende ruimte zijn voor opdrachten van andere gebruikers.
LPD heeft de mogelijkheid om
met de optie mx
een limiet op te geven
voor het maximum aantal bytes van een bestand in een
afdrukopdracht. De eenheden worden opgegeven in
BUFSIZ
blokken, die 1024 bytes groot zijn.
Een nul voor deze optie betekent geen limiet aan de
bestandsgrootte. Als de optie wordt weggelaten, wordt een
standaardlimiet van 1000 blokken gebruikt.
De limiet heeft betrekking op de bestanden in een opdracht, niet op de totale grootte van een opdracht.
LPD weigert een bestand dat groter is dan de opgegeven limiet niet. In plaats daarvan plaatst het zo veel mogelijk van het bestand op de wachtrij, om dit vervolgens af te drukken. De rest wordt genegeerd. Of dit gedrag wenselijk is, is onderwerp van debat.
Nu worden limieten voor de voorbeeldprinters
rattan
en bamboo
opgegeven. Aangezien de PostScript®-bestanden van die
artists
nogal groot kunnen worden,
krijgen ze een limiet van vijf megabyte opgelegd. Er wordt
geen limiet opgelegd voor de platte tekst printer:
# # /etc/printcap voor host rose # # # Geen limiet op opdrachtgrootte: # 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
: # # Limiet van vijf 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
:
Ook hier zijn de limieten alleen van toepassing op lokale
gebruikers. Als toegang tot deze printers van andere hosts
mogelijk is, worden deze gebruikers niet beperkt. Het is
daarom nodig de optie mx
ook in de
/etc/printcap
van de betreffende hosts
op te geven. In Printers
geïnstalleerd op andere hosts staat meer
informatie over afdrukken op andere hosts.
Er is een andere gespecialiseerde manier om opdrachtgrootte voor printers op afstand te beperken (zie Opdrachten van hosts op afstand beperken.
Het wachtrijsysteem LPD beschikt over verschillende methoden om afdrukopdrachten van hosts op afstand te beperken:
Met de bestanden
/etc/hosts.equiv
en
/etc/hosts.lpd
kan worden
ingesteld van welke hosts op afstand een lokale
LPD-opdracht wordt
geaccepteerd. LPD
controleert of een inkomend verzoek afkomstig is van
een host die wordt genoemd in een van deze bestanden.
Zo niet, dan weigert LPD het
verzoek.
Het formaat van deze bestanden is eenvoudig:
één host per regel.
/etc/hosts.equiv
wordt ook
gebruikt door het protocol ruserok(3) en heeft
invloed op programma's als rsh(1) en rcp(1).
Voorzichtigheid is dus geboden.
Als voorbeeld volgt hier
/etc/hosts.lpd
voor de host
rose
:
orchid violet madrigal.fishbaum.de
Dit betekent dat rose
verzoeken
accepteert van de hosts orchid
,
violet
en
madrigal.fishbaum.de
.
Voor iedere andere host die verbinding probeert te
maken met LPD op
rose
, wordt de opdracht
geweigerd.
De hoeveelheid vrije ruimte die over moet blijven
op een bestandssysteem waar een wachtrij zich bevindt
kan ook worden ingesteld. Hiervoor moet een bestand
met de naam minfree
in de
wachtrijmap worden aangemaakt. In dit bestand kan
een getal worden gezet dat het aantal schijfblokken
(512 bytes) aan vrije ruimte aangeeft dat beschikbaar
moet blijven wil een opdracht worden
geaccepteerd.
Hiermee kan worden gegarandeerd dat gebruikers op
afstand een bestandssysteem niet vol kunnen schrijven.
Ook kan hierdoor een soort voorrang worden gegeven aan
lokale gebruikers: zij kunnen nog opdrachten plaatsen
als de vrije schijfruimte al lang beneden de opgegeven
limiet uit minfree
is
gekomen.
Als voorbeeld wordt een bestand
minfree
voor de printer
bamboo
toegevoegd. In
/etc/printcap
staat de juiste
wachtrijmap:
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
:
De wachtrijmap wordt opgegeven met de optie
sd
. Er wordt een limiet van drie
megabyte ingesteld (wat gelijk staat aan 6144
schijfblokken) voor de hoeveelheid vrije schijfruimte
die op het bestandssysteem beschikbaar moet zijn
voordat LPD een opdracht op
afstand accepteert:
#
echo 6144 > /var/spool/lpd/bamboo/minfree
Met de optie rs
in
/etc/printcap
kan worden geregeld
welke gebruikers op afstand kunnen afdrukken op lokale
printers. Als rs
voorkomt voor
een lokale printer accepteert
LPD opdrachten van hosts op
afstand als de gebruiker die de
opdracht wil plaatsen ook een account heeft met
dezelfde gebruikersnaam op de lokale host. Anders
weigert LPD de
opdracht.
Deze optie is met name nuttig in een omgeving waar
(bijvoorbeeld) verschillende afdelingen een netwerk
delen en gebruikers de grenzen van de afdeling
overschrijden. Door ze een account te geven op een
systeem kunnen ze de aangesloten printers gebruiken
vanaf het systeem van hun eigen afdeling. Wanneer ze
alleen gebruik mogen maken van de
printers en niet van overige diensten op de computer,
kunnen “tokenaccounts” worden aangemaakt,
zonder thuismap en met een nutteloze shell als
/usr/bin/false
.
Het kan nodig zijn om afdrukken te doorbelasten. Inkt en papier kosten geld en er zijn onderhoudskosten. Printers zitten vol met bewegende delen en hebben de neiging kapot te gaan. Nu is er gekeken naar de printers, het gebruikerspatroon en de onderhoudskosten en op basis hiervan is een prijs vastgesteld per pagina (of per centimeter, per meter, of per wat dan ook). Hoe wordt nu een administratie bijgehouden van gemaakte afdrukken?
Het slechte nieuws is dat het wachtrijsysteem LPD hierbij niet echt helpt. Het administreren van afdrukken is erg afhankelijk van het type printer, het afdrukformaat en de wensen die een systeembeheerder heeft ten aanzien van het doorbelasten van printergebruik.
Om het administreren te implementeren, is het nodig om aanpassingen te maken in de tekstfilter (om platte tekst opdrachten te belasten) en de conversiefilters (om opdrachten in andere bestandsformaten te belasten), om pagina's te tellen, of de printer te vragen hoeveel pagina's er zijn afgedrukt. Het volstaat niet om het eenvoudige uitvoerfilter te gebruiken, aangezien dit niet in staat is het gebruik te administreren. Zie Filters.
In het algemeen zijn er twee manieren om gebruik te administreren:
Periodiek administreren is de meer gebruikelijke manier, omdat het waarschijnlijk makkelijker is. Als iemand een opdracht afdrukt, schrijft het filter de gebruiker, host en het aantal pagina's in een administratiebestand. Elke maand, semester, jaar, of een andere gewenste periode kunnen de administratiebestanden verzameld worden om het aantal afgedrukte pagina's op te tellen en het gebruik in rekening te brengen. De logboekbestanden kunnen vervolgens geschoond worden, zodat met een schone lei de volgende periode begonnen kan worden.
Directe administratie is minder gebruikelijk, waarschijnlijk omdat het moeilijker is. Met deze methode zorgen de filters ervoor dat gebruikers voor hun printergebruik worden afgerekend op het moment dat ze er gebruik van maken. Net als schijfquota is de administratie onmiddellijk. Hiermee wordt voorkomen dat gebruikers kunnen afdrukken wanneer ze over hun limiet zijn gegaan. Ook biedt dit de mogelijkheid voor gebruikers om hun afdrukquotum te controleren, of aan te passen. Deze methode vereist databasecode om gebruikers en hun quota bij te houden.
Het wachtrijsysteem LPD ondersteunt beide methoden op eenvoudige wijze. Aangezien de filters (meestal) moeten worden aangeleverd, moet ook de code voor de administratie worden geleverd. Er is echter een voordeel: er is grote flexibiliteit in de administratiemethode. Zo kan bijvoorbeeld gekozen worden tussen periodieke of directe administratie. Er kan gekozen worden welke informatie opgeslagen wordt: gebruikersnamen, hostnamen, type opdracht, aantal afgedrukte pagina's, hoe lang het afdrukken duurde, enzovoort. Dit alles kan worden gedaan door de filters aan te passen.
FreeBSD wordt met twee programma's geleverd waarmee
periodieke administratie direct kan worden opgezet. Het zijn
het tekstfilter lpf
, beschreven in lpf: een
tekstfilter en pac(8), een programma dat posten
uit administratiebestanden verzamelt en optelt.
Zoals beschreven in de sectie over filters (Filters), roept
LPD de tekst- en conversiefilters
aan met de naam van het administratiebestand als argument.
De filters kunnen dit argument gebruiken om te bepalen in
welk bestand de gegevens voor de administratie moeten worden
weggeschreven. De naam van dit bestand is afkomstig van de
optie af
uit
/etc/printcap
. Als er geen absoluut pad
wordt opgegeven, dan is de locatie relatief aan de
wachtrijmap.
LPD start
lpf
met paginabreedte en -lengte
argumenten (afkomstig uit de opties pw
en
pl
). Het filter lpf
gebruikt deze argumenten om te bepalen hoeveel papier er
gebruikt zal worden. Nadat het bestand naar de printer is
gestuurd, schrijft het een post in het administratiebestand.
De posten zien er als volgt uit:
2.00 rose:andy 3.00 rose:kelly 3.00 orchid:mary 5.00 orchid:mary 2.00 orchid:zhang
Aangezien lpf
geen ingebouwde logica
voor bestandslocking kent, moet voor elke printer een apart
administratiebestand gebruikt worden. Twee
lpf
s kunnen elkaars posten corrumperen als
ze tegelijk in hetzelfde bestand schrijven. De optie
af=acct
in
/etc/printcap
biedt een makkelijke
manier om er zeker van te zijn dat aparte bestanden worden
gebruikt. Dan bevindt elk administratiebestand zich in de
wachtrijmap van de betreffende printer en krijgt de naam
acct
krijgen
Wanneer het tijd is om met gebruikers af te rekenen voor
hun afdrukken, kan het programma pac(8) gedraaid worden.
Ga naar de wachtrijmap van de printer waarvoor betaald moet
worden en typ pac
. Er verschijnt een
dollar-centrische samenvatting zoals het volgende:
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
Dit zijn de argumenten die pac(8) verwacht:
-Pprinter
De printer
waarvoor een
samenvatting moet worden gegenereerd. Deze optie werkt
alleen als er een absoluut pad is gegeven in de optie
af
in
/etc/printcap
.
-c
Sorteer de uitvoer op kosten, in plaats van alfabetisch op gebruikersnaam.
-m
Negeer de hostnamen in het administratiebestand.
Met deze optie is de gebruiker
smith
op host
alpha
dezelfde gebruiker als
smith
op host
gamma
. Zonder deze optie zijn het
verschillende gebruikers.
-pprijs
Bereken de prijs met
prijs
dollar per pagina of
per voet, in plaats van de prijs uit de optie
pc
in
/etc/printcap
of twee cent (de
standaard). De prijs
kan
worden opgegeven als een decimaal getal.
-r
Keer de sorteervolgorde om.
-s
Maak een bestand met een samenvatting van de administratie en leeg het administratiebestand.
namen
…
Druk de administratiegegevens alleen af voor
gebruikersnamen namen
.
In de standaard samenvatting die pac(8) genereert,
is het aantal pagina's te zien dat iedere gebruiker vanaf een
bepaalde host heeft afgedrukt. Wanneer de hostnaam niet
van belang is (bijvoorbeeld omdat gebruikers iedere host
kunnen gebruiken), gebruik dan pac
-m
om de volgende samenvatting te
genereren:
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
Om het verschuldigde bedrag te berekenen gebruikt
pac(8) de optie pc
uit
/etc/printcap
(standaard aantal van 200
of 2 cent per pagina). Specificeer, in honderden
centen, de prijs per pagina of per voet die berekent moet
worden. Deze waarde kan worden aangepast door pac(8)
aan te roepen met de optie -p
. De eenheden
van de optie -p
zijn echter in dollars, niet
in honderden centen. Bijvoorbeeld,
#
pac -p1.50
zorgt ervoor dat elke pagina 1,50 dollar kost. U kunt echt grote winsten maken met deze optie.
Tenslotte kan met pac
-s
de samenvatting worden
opgeslagen in een bestand dat dezelfde naam krijgt als het
administratiebestand van de printer, maar dan met
_sum
toegevoegd aan de naam. Vervolgens
wordt het administratiebestand geleegd. Als pac(8)
opnieuw wordt aangeroepen, herleest pac(8) het
samenvattingsbestand om de startwaarden te bepalen en telt
daar de informatie bij op van het standaard
administratiebestand.
Om ook maar de minste nauwkeurigheid bij het administreren te verkrijgen, is het nodig te weten hoeveel papier een afdrukopdracht gebruikt. Dit is het centrale probleem van het bijhouden van printerstatistieken.
Voor opdrachten met platte tekst is het probleem niet zo moeilijk op te lossen: het aantal regels in een opdracht wordt geteld en vergeleken met het aantal regels per pagina dat door een printer wordt ondersteund. Hierbij moet niet worden vergeten dat backspaces in het bestand regels overschrijven en dat lange logische regels worden afgedrukt als meerdere fysieke regels.
Het tekstfilter lpf
(geïntroduceerd in lpf: een
tekstfilter) houdt met deze zaken rekening bij het
administreren. Als het nodig is een tekstfilter te schrijven
dat ook het printergebruik moet bijhouden, dan is het nuttig
de broncode van lpf
te bestuderen.
Hoe worden andere bestandsformaten dan verwerkt?
Voor een DVI-naar-LaserJet, of DVI-naar-PostScript®
conversie kan het filter de diagnostische uitvoer van
dvilj
of dvips
bekijken
om te bepalen hoeveel pagina's er zijn geconverteerd. Voor
andere formaten kan hetzelfde worden gedaan met behulp van de
betreffende conversieprogramma's.
Deze methoden hebben echter als nadeel dat een printer eventueel niet alle pagina's ook daadwerkelijk afdrukt. Zo kan het papier vast komen te zitten, de toner opraken of de printer ontploffen, terwijl de gebruiker toch moet betalen.
Dus, wat kan hieraan worden gedaan?
Er is slechts één betrouwbare manier om nauwkeurig te administreren. Dat is met behulp van een printer die kan vertellen hoeveel papier er is gebruikt. Deze moet vervolgens worden aangesloten met een seriële lijn, of een netwerkverbinding. Bijna alle PostScript®-printers hebben deze mogelijkheid, andere modellen en merken mogelijk ook (bijvoorbeeld Imagen netwerklaserprinters). De filters dienen voor deze printers aangepast te worden om het papierverbruik na elke opdracht te achterhalen en de administratieve informatie alleen op deze waarde te baseren. Er is geen noodzaak om foutgevoelig regels te tellen of bestanden te analyseren.
Natuurlijk kan een beheerder ook vrijgevig zijn en alle afdrukken gratis maken.
Hieronder wordt beschreven hoe printers die onder FreeBSD geïnstalleerd zijn gebruikt moeten worden. Nu volgt een overzicht van de commando's op gebruikersniveau:
Er is ook een administratief commando, lpc(8), beschreven in Printers beheren, dat gebruikt wordt om printers en hun wachtrijen in te stellen.
Alledrie de commando's lpr(1), lprm(1) en
lpq(1) accepteren een optie
-P
om aan
te geven op welke printer uit printernaam
/etc/printcap
een opdracht van toepassing is. Dit biedt de mogelijkheid
opdrachten te versturen, verwijderen en controleren voor
verschillende printers. Als -P
niet wordt
gebruikt, werken deze commando's op de printer gedefinieerd in de
omgevingsvariabele PRINTER
. Tot slot, wanneer
de omgevingsvariabele PRINTER
niet is
gedefinieerd, wordt standaard verwezen naar de printer met de
naam lp
.
Om bestanden af te drukken:
%
lpr bestandsnaam ...
Dit drukt elk van de opgegeven bestanden af op de standaard printer. Als geen bestanden worden opgegeven, drukt lpr(1) de standaard invoer af. De volgende opdracht drukt bijvoorbeeld een paar belangrijke systeembestanden af:
%
lpr /etc/host.conf /etc/hosts.equiv
Om een specifieke printer te selecteren:
%
lpr -P printernaam bestandsnaam ...
Dit voorbeeld drukt een lange opgave van de huidige map af
op de printer rattan
:
%
ls -l | lpr -P rattan
Omdat er geen bestanden worden meegegeven aan het commando
lpr(1), drukt lpr
de gegevens af
die het van de standaard invoer leest: de uitvoer van het
commando ls -l
.
lpr(1) accepteert ook een breed scala aan opties om de vorm aan te passen, bestandsconversies toe te passen, meerdere kopieën af te drukken, enzovoort. Meer informatie staat in Afdrukopties.
Als lpr(1) wordt gebruikt om af te drukken, dan worden de gegevens die afdrukt moet worden in een pakketje samengevoegd dat een “afdrukopdracht” wordt genoemd en naar het wachtrijsysteem LPD gestuurd. Elke printer heeft een wachtrij met opdrachten van alle gebruikers. Een printer drukt deze opdrachten op volgorde van binnenkomst af.
De wachtrij voor de standaardprinter kan worden weergegeven
met lpq(1). Voor een specifieke printer moet de optie
-P
meegegeven worden. Het volgende commando
toont de wachtrij van printer bamboo
:
%
lpq -P bamboo
Hieronder volgt een voorbeeld van de uitvoer van het
commando lpq
:
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
Dit laat drie opdrachten zien in de wachtrij voor
bamboo
. De eerste opdracht, gegeven door
gebruiker kelly
, heeft opdrachtnummer 9
gekregen. Elke opdracht voor een printer krijgt een uniek
opdrachtnummer. Dit nummer kan in de meeste gevallen genegeerd
worden, maar is nodig om een opdracht te annuleren. In Opdrachten verwijderen staan
meer details.
Opdrachtnummer negen bestaat uit twee bestanden; meerdere
bestanden opgegeven naar lpr(1), worden als
één enkele opdracht behandeld. Het is de actieve
opdracht (active
onder de kolom
“Rank”), wat betekent dat de printer deze opdracht
momenteel aan het afdrukken is. De tweede opdracht bestaat uit
gegevens doorgegeven aan lpr(1) als standaard invoer. De
derde opdracht is afkomstig van gebruiker
mary
. Het is een veel grotere opdracht.
De bestandsnaam van het bestand dat ze probeert af te drukken
is te lang voor het overzicht, daarom toont lpq(1) drie
puntjes.
De allereerste regel uitvoer van lpq(1) is ook handig: die vertelt wat de printer momenteel aan het doen is; dat wil zeggen, wat LPD denkt dat de printer aan het doen is.
Het commando lpq(1) ondersteunt ook een optie
-l
om een gedetailleerd, lang overzicht te
geven. Hieronder volgt voorbeelduitvoer van
lpq -l
:
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
Een gebruiker die van gedachten verandert over een af te drukken opdracht, kan een opdracht uit een wachtrij halen met het commando lprm(1). Vaak kan met lprm(1) zelfs een actieve opdracht worden verwijderd, maar een deel of alles van de opdracht kan desondanks toch worden afgedrukt.
Om een opdracht van de standaardprinter te verwijderen dient eerst met lpq(1) het opdrachtnummer gevonden te worden. Typ vervolgens:
%
lprm opdrachtnummer
Om een opdracht van een specifieke printer te verwijderen,
moet de optie -P
worden toegevoegd. Het
volgende commando verwijdert opdrachtnummer 10 uit de wachtrij
van printer bamboo
:
%
lprm -P bamboo 10
Het commando lprm(1) heeft een aantal snelkoppelingen:
Verwijder alle opdrachten (voor de standaardprinter) van de huidige gebruiker.
gebruiker
Verwijder alle opdrachten (voor de standaardprinter)
die van gebruiker
zijn. De
supergebruiker kan opdrachten van andere gebruikers
verwijderen. Andere gebruikers kunnen alleen hun eigen
opdrachten verwijderen.
Zonder een opdrachtnummer, gebruikersnaam of
-
op de opdrachtregel, verwijdert
lprm(1) de huidige actieve opdracht van de huidige
gebruiker op de standaard printer. Alleen de
supergebruiker kan iedere actieve opdracht verwijderen.
Gebruik de optie -P
met bovenstaande
snelkoppelingen om een specifieke printer in plaats van de
standaard printer te selecteren. Het volgende voorbeeld
verwijdert alle opdrachten van de huidige gebruiker uit de
wachtrij van printer rattan
:
%
lprm -P rattan -
Als in een netwerkomgeving wordt gewerkt, staat lprm(1) alleen toe opdrachten te verwijderen vanaf hosts waarvan de afdrukopdrachten zijn gegeven, ook als dezelfde printer vanaf andere hosts bereikbaar is. Het volgende voorbeeld demonstreert dit:
%
lpr -P rattan mijnbestand
%
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
Het commando lpr(1) ondersteunt een aantal opties voor de opmaak van platte tekst, het converteren van grafische en andere bestandsformaten, het afdrukken van meerdere kopieën, afwikkeling van een opdracht en meer. In deze sectie worden die opties beschreven.
De volgende opties voor lpr(1) zorgen voor de opmaak van de bestanden in de opdracht. Gebruik deze opties als de opdracht geen platte tekst bevat of als platte tekst opgemaakt dient te worden met behulp van pr(1).
Het volgende commando drukt bijvoorbeeld een DVI-bestand
af (van het TeX typesettingsysteem) met de naam
visrapport.dvi
op de printer bamboo
:
%
lpr -P bamboo -d visrapport.dvi
Deze opties zijn van toepassing op alle bestanden in de opdracht. Het is dus niet mogelijk om bijvoorbeeld DVI- en ditroff-bestanden in een opdracht samen te voegen. In plaats hiervan moeten deze bestanden als aparte opdrachten worden gegeven, elk met een andere conversie-optie.
Al deze opties, behalve -p
en
-T
, vereisen dat er conversiefilters zijn
geïnstalleerd voor een printer. De optie
-d
vereist bijvoorbeeld het
DVI-conversiefilter. In Conversiefilters
staan de details beschreven.
-c
Afdrukken van cifplot-bestanden.
-d
Afdrukken van DVI-bestanden.
-f
Afdrukken van FORTRAN tekstbestanden.
-g
Afdrukken van plotgegevens.
-i aantal
De uitvoer wordt aantal
kolommen ingesprongen. Als
nummer
wordt weggelaten,
wordt acht kolommen ingesprongen. Deze optie werkt
alleen met bepaalde conversiefilters.
Plaats geen spatie tussen de -i
en het nummer.
-l
Drukt letterlijke tekstgegevens af, inclusief controlekarakters.
-n
Afdrukken van ditroff (apparaatonafhankelijke troff) gegevens.
Opmaak van platte tekst met pr(1) alvorens af te drukken. Zie pr(1) voor meer informatie.
-T titel
Gebruik titel
op de
pr(1) koptekst in plaats van de bestandsnaam.
Deze optie heeft alleen effect in combinatie met de
optie -p
.
-t
Afdrukken van troffgegevens.
-v
Afdrukken van rastergegevens.
In het volgende voorbeeld wordt een mooi opgemaakte versie van de handleiding ls(1) afgedrukt op de standaardprinter:
%
zcat /usr/share/man/man1/ls.1.gz | troff -t -man | lpr -t
Het commando zcat(1) pakt de broncode van de
ls(1) handleiding uit en geeft het door aan het commando
troff(1), dat de broncode opmaakt, er GNU troff van
maakt en dit doorstuurt naar lpr(1), dat de opdracht
naar de LPD wachtrij stuurt.
Omdat de optie -t
meegeven wordt aan
lpr(1), converteert het wachtrijsysteem de GNU troff
uitvoer naar een formaat dat de standaardprinter begrijpt als
de opdracht wordt afgedrukt.
De volgende opties voor lpr(1) geven LPD aan de opdracht speciaal te behandelen:
kopieën
Produceer een aantal van
kopieën
kopieën
van elk bestand in de opdracht, in plaats van
één kopie. Een beheerder kan deze optie
uitschakelen om slijtage van de printer te voorkomen en
gebruik van een kopieerapparaat aan te moedigen. Zie
Meerdere
kopieën beperken.
Dit voorbeeld drukt drie kopieën af van
parser.c
gevolgd door drie kopieën van
parser.h
op de standaardprinter:
%
lpr -#3 parser.c parser.h
Stuur een email na voltooiing van de afdrukopdracht. Met deze optie stuurt het LPD-systeem een email als een opdracht is afgehandeld. In dit bericht vertelt het of de opdracht succesvol is uitgevoerd of dat er een fout was met (vaak) de aard van de fout.
Kopieer de bestanden niet naar de wachtrijmap, maar maak in plaats hiervan een symbolische link.
Bij het afdrukken van een grote opdracht is het handig van deze optie gebruik te maken. Het spaart ruimte in de wachtrijmap (het kan zijn dat de opdracht de vrije ruimte verbruikt in het bestandssysteem waarin de wachtrijmap zich bevindt). Het bespaart ook tijd, omdat LPD niet elke byte van de opdracht naar de wachtrijmap hoeft te kopieëren.
Er is echter een nadeel: aangezien LPD het originele bestand nodig heeft, is het niet mogelijk dit te wijzigen, of te verwijderen totdat het is afgedrukt.
Bij het afdrukken op een printer in een netwerk,
moet LPD een bestand
uiteindelijk toch kopieëren van een lokale host
naar een netwerkhost. De optie -s
bespaart dus ruimte in een lokale wachtrijmap, niet
in die van een host in een netwerk. Het blijft
echter nuttig.
Verwijder bestanden in een opdracht na ze naar een
wachtrij gekopieerd te hebben of na ze te hebben
afgedrukt als de optie -s
is gebruikt.
Wees voorzichtig met deze optie!
Deze opties voor lpr(1) passen de tekst aan die gewoonlijk op het voorblad van een opdracht verschijnt. Deze opties hebben geen effect als het afdrukken van voorbladen wordt onderdrukt op een gebruikte printer. Zie Voorbladen voor meer informatie over het opzetten van voorbladen.
tekst
Vervang de hostnaam op het voorblad door
tekst
. De hostnaam is
gewoonlijk de naam van de host waarvan de opdracht is
verstuurd.
tekst
Vervang de naam van de opdracht op het voorblad
door tekst
. De naam van de
opdracht is standaard de naam van het eerste bestand in
de opdracht of stdin
als de
standaard uitvoer wordt afgedrukt.
Druk geen voorblad af.
Bij sommige installaties kan het zijn dat deze optie geen effect heeft door de manier waarop de voorbladen worden gegenereerd. Zie Voorbladen voor de details.
De beheerder van de printers in een netwerk heeft deze moeten installeren, opzetten en testen. Met het commando lpc(8) kan een beheerder op nog meer manieren communiceren met printers. Met lpc(8) is het mogelijk om:
Printers te starten en te stoppen;
Wachtrijen aan en uit te zetten;
De volgorde van opdrachten in elke wachtrij aan te passen.
Ten eerste een opmerking over terminologie: als een printer is gestopt, drukt die niets uit een wachtrij af. Gebruikers kunnen nog steeds opdrachten geven, maar opdrachten wachten in een wachtrij totdat de bijbehorende printer is gestart of als de wachtrij vrij is.
Als een wachtrij is uitgeschakeld,
kan geen enkele gebruiker (behalve root
)
opdrachten naar een printer versturen. Een
ingeschakelde wachtrij accepteert
opdrachten. Een printer met een uitgeschakelde wachtrij kan
worden gestart en drukt dan alle
afdrukopdrachten in de wachtrij af tot deze leeg is.
In het algemeen is het nodig
root
-rechten te hebben om het commando
lpc(8) te gebruiken. Gewone gebruikers kunnen het
commando lpc(8) gebruiken om een printerstatus op te
vragen en om een vastgelopen printer te herstarten.
Nu volgt een samenvatting van de lpc(8) commando's.
De meeste commando's accepteren een argument
printernaam
, om aan te geven op
welke printer te werken. Om op alle printers te werken die in
/etc/printcap
genoemd worden, kan
all
worden gebruikt als
printernaam
.
abort
printernaam
Annuleer de huidige opdracht en stop de printer. Gebruikers kunnen nog steeds opdrachten versturen als de wachtrij is ingeschakeld.
clean
printernaam
Verwijder oude bestanden uit de wachtrijmap van de betreffende printer. Het kan wel eens gebeuren dat de bestanden waaruit een opdracht bestaat niet juist worden verwijderd door LPD. Dit gebeurt bijvoorbeeld wanneer er fouten zijn opgetreden tijdens het afdrukken of tijdens grote administratieve activiteit. Dit commando vindt en verwijdert bestanden die niet in de wachtrijmap thuishoren.
disable
printernaam
Nieuwe opdrachten kunnen niet meer in de wachtrij
worden geplaatst. Als de printer nog draait, drukt die
de opdrachten die zich nog in de wachtrij bevinden
af. De supergebruiker (root
) kan
altijd opdrachten versturen, ook naar een uitgeschakelde
wachtrij.
Dit commando is handig bij het testen van een nieuwe
printer of een filterinstallatie: schakel de wachtrij uit
en verstuur als root
opdrachten.
Andere gebruikers kunnen geen opdrachten versturen totdat
het testen is voltooid en de wachtrij weer is
ingeschakeld met het commando
enable
.
down printernaam
boodschap
Schakel een printer uit. Equivalent aan
disable
gevolgd door
stop
. De
boodschap
verschijnt als de
status van de printer als een gebruiker de wachtrij van
de printer controleert met lpq(1) of de status
met lpc status
.
enable
printernaam
Schakel de wachtrij van een printer in. Gebruikers kunnen opdrachten versturen, maar de printer drukt ze pas af als deze is gestart.
help
commandonaam
Geef hulp over het commando
commandonaam
. Zonder
commandonaam
, wordt een
samenvatting van de beschikbare commando's
getoond.
restart
printernaam
Start de printer. Gewone gebruikers kunnen dit
commando gebruiken als door een uitzonderlijke
omstandigheid LPD hangt, maar
ze kunnen een printer niet starten die gestopt is met
een van de commando's stop
of
down
. Het commando
restart
is equivalent aan
abort
gevolgd door
start
.
start
printernaam
Start de printer. De printer drukt opdrachten in zijn wachtrij af.
stop
printernaam
Stop de printer. De printer maakt de huidige opdracht af en drukt opdrachten in de wachtrij niet af. Gebruikers kunnen nog steeds opdrachten versturen naar een ingeschakelde wachtrij, ook al is de printer gestopt.
topq printernaam
opdracht-of-gebruikersnaam
Herschik de wachtrij voor
printernaam
door de opdrachten
met de opgegeven opdracht
nummers of opdrachten van
gebruikersnaam
bovenaan de
wachtrij te plaatsen. Voor dit commando is het niet
mogelijk all
te gebruiken als
printernaam
.
up
printernaam
Schakel een printer in. Het omgekeerde van het
commando down
. Equivalent aan
start
gevolgd door
enable
.
lpc(8) accepteert bovenstaande commando's op de
opdrachtregel. Als er geen commando's worden gegeven,
schakelt lpc(8) over op een interactieve modus, waar
opdrachten gegeven kunnen worden totdat het commando
exit
, quit
of
einde-van-bestand wordt gegeven.
Na het lezen van deze handleiding, heeft de lezer zo'n beetje alles gelezen wat er te leren valt over het wachtrijsysteem LPD zoals het te vinden is in FreeBSD. Er zijn veel tekortkomingen te onderkennen, wat vanzelf leidt tot de vraag: “Welke andere wachtrijsystemen zijn er beschikbaar (en werken onder FreeBSD)?”
LPRng, dat “LPR: the
Next Generation” betekent, is een compleet
herschreven PLP. Patrick Powell en Justin Mason (de
voornaamste beheerder van PLP) hebben samengewerkt om
LPRng te maken. De thuispagina
voor LPRng is http://www.lprng.org/
.
CUPS, het Common UNIX Printing System, voorziet in een overzetbare printlaag voor UNIX®-achtige besturingssystemen. Het is ontwikkeld door Easy Software Product, om een standaard afdrukoplossing voor alle UNIX®-producenten en gebruikers te promoten.
CUPS gebruikt het Internet Printing Protocol (IPP) als basis voor het beheren van afdrukopdrachten en wachtrijen. De protocollen Line Printer Daemon (LPD), Server Message Block (SMB) en AppSocket (ook bekend als JetDirect) worden ook ondersteund met minder functionaliteit. CUPS biedt bladeren naar netwerkprinters en PostScript® Printer Description (PPD) gebaseerde afdrukopties om echt printen onder UNIX® te ondersteunen.
De thuispagina voor CUPS is
http://www.cups.org/
.
HPLIP, het HP Linux® Imaging and Printing systeem, is een suite van programma's ontwikkeld door HP dat printen, scannen en faxen voor toepassingen van HP ondersteunt. Deze suite van programma's maakt gebruikt van het printsysteem CUPS als een backend voor sommige van de printmogelijkheden.
De thuispagina voor HPLIP is http://hplipopensource.com/hplip-web/index.html
.
Na het uitvoeren van een simpele test met lptest(1) is mogelijk een van onderstaande resultaten verkregen, in plaats van de juiste uitvoer:
De printer drukte bovenstaande af, maar wachtte enige tijd zonder iets te doen. Het was zelfs nodig om een PRINT REMAINING, of FORM FEED-knop op te printer in te drukken om enig resultaat te krijgen.
Als dit het geval is, dan stond de printer waarschijnlijk te wachten of er nog meer gegevens van de opdracht zouden komen, alvorens iets af te drukken. Om dit probleem op te lossen, kan het tekstfilter worden aangepast zodat deze een FORM FEED-karakter (of wat er ook nodig is) naar de printer stuurt. Dit is meestal voldoende om een printer zover te krijgen om tekst af te drukken die zich nog in de interne buffer bevindt. Het is ook nuttig om er zeker van te zijn dat elke afdrukopdracht eindigt op een hele pagina, zodat de volgende opdracht niet ergens midden op de laatste pagina van de vorige opdracht begint.
De volgende vervanging voor het shellscript
/usr/local/libexec/if-simple
drukt een
form feed af nadat de opdracht naar een printer is
gestuurd:
#!/bin/sh # # if-simple - Eenvoudige tekst invoerfilter voor lpd # Geïinstalleerd in /usr/local/libexec/if-simple # # Kopieert eenvoudig stdin naar stdout. Negeer alle filterargumenten. # Schrijft een form feed karakter (\f) na het afdrukken van de opdracht. /bin/cat && printf "\f" && exit 0 exit 2
Het resultaat ziet er als volgt uit:
!"#$%&'()*+,-./01234 "#$%&'()*+,-./012345 #$%&'()*+,-./0123456
Dit krijgen slachtoffers van het trapeffect te zien. Het wordt veroorzaakt door conflicterende interpretaties van de karakters die een regeleinde aangeven. UNIX®-achtige besturingssystemen gebruiken een enkel karakter: ASCII-code 10, de line feed (LF). MS-DOS®, OS/2® en andere besturingssystemen gebruiken twee karakters: ASCII-code 10 en ASCII-code 13 (de carriage return, CR). Veel printers gebruiken de MS-DOS®-conventie voor het representeren van regeleinden.
Als onder FreeBSD wordt afgedrukt, bevat de tekst alleen het line feed-karakter. Na het zien van een line feed-karakter vervolgt de printer zijn werk op de volgende regel, maar behoudt dezelfde horizontale positie op de pagina voor het afdrukken van het volgende teken. Hier is de carriage return voor bedoeld: om het volgende karakter af te drukken aan de linkerkant van de pagina.
Dit is wat FreeBSD wil dat de printer doet:
Printer ontvangt CR | Printer drukt CR af |
Printer ontvangt LF | Printer drukt CR + LF af |
Hier volgen een aantal manieren om dit te bereiken:
Gebruik de instellingentoetsen of het bedieningspaneel van de printer om de interpretatie van deze karakters aan te passen. Controleer de handleiding van de printer om uit te vinden hoe dit moet.
Als een systeem in een ander besturingssysteem dan FreeBSD wordt opgestart, kan het nodig zijn een printer opnieuw in te stellen, zodat die een interpretatie voor CR- en LF-karakters gebruikt die bij dat andere besturingssysteem horen. Het kan de voorkeur genieten een van onderstaande oplossingen te gebruiken.
Zorg dat het seriële lijnstuurprogramma van
FreeBSD automatisch LF naar CR+LF converteert. Dit werkt
natuurlijk alleen voor printers op
een seriële poort. Gebruik de optie
ms#
en zet de modus
onlcr
in het bestand
/etc/printcap
voor de printer om
deze functionaliteit in te schakelen.
Stuur een escape-code naar een printer om tijdelijk LF-karakters anders te behandelen. Raadpleeg hiervoor de handleiding van de printer om escape-codes te achterhalen die de printer ondersteunt. Als de juiste escape-code is gevonden, moet de tekstfilter worden aangepast zodat deze eerst de code stuurt en vervolgens de afdrukopdracht.
Hier volgt een eenvoudig tekstfilter voor printers die HP PCL-escape-codes begrijpen. Dit filter zorgt dat een printer LF-karakters behandelt als LF en CR, vervolgens verstuurt het de opdracht en tot slot een form feed om de laatste pagina in de opdracht uit te voeren. Het zou met alle HP printers moeten werken.
#!/bin/sh # # hpif - Eenvoudig tekst invoerfilter voor lpd voor HP PCL-printers # Geïnstalleerd in /usr/local/libexec/hpif # # Kopieert eenvoudig stdin naar stdout. Negeert alle filterargumenten. # Vertelt de printer om LF te zien als CR+LF. # Werpt de pagina uit na voltooiing. printf "\033&k2G" && cat && printf "\033&l0H" && exit 0 exit 2
Nu volgt een voorbeeldbestand
/etc/printcap
voor host
orchid
. Er is een printer aangesloten
op de eerste parallelle poort; een HP LaserJet 3Si,
genaamd teak
. Die gebruikt
bovenstaand script als tekstfilter:
# # /etc/printcap voor host orchid # teak|hp|laserjet|HP LaserJet 3Si:\ :lp=/dev/lpt0
:sh:sd=/var/spool/lpd/teak
:mx#0:\ :if=/usr/local/libexec/hpif
:
De printer is nooit een regel opgeschoven. Alle regels tekst lopen over elkaar en zijn op dezelfde regel afgedrukt.
Dit probleem is het “omgekeerde” van het trapeffect, zoals boven beschreven, en is veel zeldzamer. Ergens worden de LF-karakters die FreeBSD gebruikt om een regel te eindigen gezien als CR-karakters om de afdruklocatie te verplaatsen naar de linkerkant van het papier, zonder óók een regel naar beneden te gaan.
Gebruik de instellingentoetsen, of het bedieningspaneel van de printer om de volgende interpretatie van LF en CR af te dwingen:
Printer ontvangt | Printer drukt af |
---|---|
CR | CR |
LF | CR + LF |
Tijdens het afdrukken heeft de printer een paar karakters per regel niet afgedrukt. Het kan zijn dat het probleem erger werd naarmate de printer zijn werk deed, steeds meer karakters verliezend.
Het probleem is dat de printer de snelheid waarmee de computer gegevens over een seriële lijn stuurt niet bij kan houden (dit probleem zou zich niet voor moeten doen met printers op een parallelle poort). Er zijn twee manieren om dit probleem te verhelpen:
Als de printer XON/XOFF flow-control ondersteunt,
zorg dan dat FreeBSD dit gebruikt door de modus
ixon
in de optie
ms#
te specificeren.
Als de printer de Request to Send / Clear to Send
hardware-handshake ondersteunt, (ook bekend als
RTS/CTS
), specificeer dan de modus
crtscts
in de optie
ms#
. Zorg dat de bedrading
van de kabel die printer met de computer verbindt juist
is voor hardware flow-control.
Het lijkt alsof de printer willekeurige onzin afdrukte en niet de gewenste tekst.
Dit is meestal een ander symptoom van verkeerde
communicatieparameters voor een seriële printer.
Controleer de bps-snelheid in de optie
br
en de instelling voor pariteit in de
optie ms#
. Wees er zeker van dat de
printer dezelfde instellingen gebruikt als in het bestand
/etc/printcap
worden opgegeven.
Als er niets gebeurde, ligt het probleem waarschijnlijk
bij FreeBSD en niet bij de hardware. Voeg de optie
logboekbestand (lf
) toe in
/etc/printcap
voor de betreffende
printer. Hier is bijvoorbeeld de definitie voor
rattan
met de optie
lf
:
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
Probeer vervolgens nogmaals af te drukken. Controleer
het logboekbestand (in dit voorbeeld
/var/log/rattan.log
) op mogelijke
foutmeldingen. Probeer op basis van deze melding het
probleem te verhelpen.
Als er geen optie lf
is opgegeven,
gebruikt LPD
/dev/console
als
standaard.
FreeBSD levert binaire compatibiliteit met verscheidene andere UNIX® achtige besturingssystemen, waaronder Linux®. Op dit moment kan de vraag gesteld worden waarom FreeBSD nu precies Linux®-binairen moet kunnen draaien. Het antwoord is dat veel bedrijven en ontwikkelaars alleen ontwikkelen voor Linux®, omdat dat het nieuwste “hebbeding” is in de wereld van computers. Dat laat FreeBSD gebruikers al zeurend achter bij diezelfde bedrijven en ontwikkelaars om originele FreeBSD versies van hun applicaties. Het probleem is dat veel van deze bedrijven zich niet goed realiseren hoeveel mensen hun product zouden gebruiken als er ook FreeBSD versies van waren en de meesten blijven alleen voor Linux® ontwikkelen. Dus wat moet een FreeBSD gebruiker doen? Hier komt de Linux® binaire compatibiliteit van FreeBSD om de hoek kijken.
In een notendop stelt de compatibiliteit FreeBSD in staat om rond de 90% van alle Linux® applicaties zonder wijzigingen te draaien. Dit omvat applicaties zoals StarOffice™, de Linux® versie van Netscape®, Adobe® Acrobat®, RealPlayer®, Oracle®, WordPerfect®, Doom, Quake en meer. Er wordt zelfs gemeld dat in sommige gevallen Linux®-binairen beter presteren op FreeBSD dan op Linux®.
Er zijn echter enkele Linux®-specifieke besturingssysteemeigenschappen die niet door FreeBSD ondersteund worden. Linux®-binairen werken niet op FreeBSD als ze overvloedig gebruik maken van i386™ specifieke aanroepen, zoals het aanzetten van de virtuele 8086 modus.
Na het lezen van dit hoofdstuk weet de lezer:
Hoe Linux® binaire compatibiliteit op een systeem aan te zetten;
Hoe aanvullende Linux® gedeelde bibliotheken te installeren;
Hoe Linux® applicaties op een FreeBSD systeem te installeren;
De implementatiedetails van Linux® compatibiliteit in FreeBSD.
Aangeraden voorkennis:
Hoe extra software van derden te installeren (Hoofdstuk 5, Applicaties installeren: pakketten en ports).
Linux® binaire compatibiliteit staat standaard niet aan. De
gemakkelijkste manier om deze functionaliteit aan te zetten is
door het linux
KLD object (“Kernel
LoaDable object”) te laden. Deze module kan geladen
worden door het volgende commando als root
uit te voeren:
#
kldload linux
Als Linux® compatibiliteit altijd aan moet staan, dan moet
de volgende regel aan /etc/rc.conf
toegevoegd worden:
linux_enable="YES"
Met kldstat(8) kan gecontroleerd worden of de KLD geladen is:
%
kldstat
Id Refs Address Size Name 1 2 0xc0100000 16bd8 kernel 7 1 0xc24db000 d000 linux.ko
Als het om enige reden ongewenst of onmogelijk is de KLD te
laden, dan kan de Linux® binaire compatibiliteit statisch in de
kernel gecompileerd worden door
options COMPAT_LINUX
aan het
kernelinstellingenbestand toe te voegen. Daarna kan de nieuwe
kernel zoals beschreven in Hoofdstuk 9, De FreeBSD-kernel instellen
geïnstalleerd worden.
Dit kan op twee manieren gedaan worden: door de linux_base port te gebruiken of door ze handmatig te installeren.
Dit is verreweg de gemakkelijkste weg om te bewandelen om de runtime bibliotheken te installeren. Het is net als het installeren van andere ports uit de Portscollectie. Dit kan met het volgende commando:
#
cd /usr/ports/emulators/linux_base-f10
#
make install distclean
Op FreeBSD-systemen vóór FreeBSD 8.0 dient u de port emulators/linux_base-fc4 in plaats van emulators/linux_base-f10 te gebruiken.
Nu is er werkende Linux® binaire compatibiliteit. Sommige programma's kunnen klagen over onjuiste kleine versies van de systeembibliotheken. Over het algemeen schijnt dit echter geen probleem te zijn.
Er kunnen verschillende versies van de emulators/linux_base port beschikbaar zijn, overeenkomend met verschillende versies van verscheidene Linux® distributies. Het is verstandig de port te installeren die het meest voldoet aan de eisen van de Linux® applicaties die geïnstalleerd gaan worden.
Als de Portscollectie niet is geïnstalleerd, kunnen
de bibliotheken met de hand geïnstalleerd worden. Om
alles te laten werken moeten de Linux® gedeelde bibliotheken
waarvan het programma afhankelijk is en de runtime linker
geïnstalleerd worden. Ook moet een “shadow
root” map aangemaakt worden,
/compat/linux
, voor Linux® bibliotheken
op een FreeBSD systeem. Elke gedeelde bibliotheek die wordt
geopend door Linux® programma's die op FreeBSD draaien, kijken
eerst in deze boomstructuur. Dus als een Linux® programma
bijvoorbeeld /lib/libc.so
laadt,
probeert FreeBSD eerst
/compat/linux/lib/libc.so
te openen, en
als die niet bestaat, probeert het
/lib/libc.so
proberen. Gedeelde
bibliotheken moeten in de schaduwmapstructuur
geïnstalleerd worden in plaats van in de paden die het
Linux® ld.so
rapporteert.
In het algemeen geldt dat alleen de eerste paar keer dat een Linux® binary wordt geïnstalleerd op een FreeBSD systeem naar de gedeelde bibliotheken gezocht wordt waar Linux®-binairen van afhankelijk zijn. Na een tijd is de verzameling van Linux® gedeelde bibliotheken op een systeem voldoende groot om nieuw geïmporteerde Linux®-binairen te kunnen draaien zonder enig extra werk.
Wat als de linux_base
port is
geïnstalleerd en een applicatie nog steeds klaagt over
ontbrekende gedeelde bibliotheken? Op zich zijn er twee
mogelijkheden (voor het opvolgen van deze instructies zijn
root
rechten op een FreeBSD systeem
vereist).
Als er toegang is tot een Linux® systeem kan gekeken worden welke gedeelde bibliotheken de applicatie nodig heeft en kunnen ze gekopieerd worden naar het FreeBSD systeem. Dit wordt toegelicht in het volgende voorbeeld:
Stel dat FTP gebruikt is om de Linux® binary van
Doom op te halen en die op een
Linux® systeem staat waar toegang tot is. Dan kan met
ldd linuxdoom
gecontroleerd worden welke
gedeelde bibliotheken er nodig zijn:
%
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
Alle bestanden uit de laatste kolom zijn nodig en
moeten onder /compat/linux
komen te
staat en de namen uit de eerste kolom moeten er als
symbolische links naar verwijzen. Dit betekent dat
uiteindelijk deze bestanden op een FreeBSD systeem
staan:
/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
Opmerking:
Als er al een Linux® gedeelde bibliotheek met een groot revisienummer overeenstemmend met de eerste kolom van de
ldd
uitvoer is, dan hoeft het bestand uit de laatste kolom niet naar een systeem gekopieerd te worden. Het bestand dat er al staat moet werken. Het is aan te raden om de gedeelde bibliotheek sowieso te kopiëren als het een nieuwere versie is. De oude kan verwijderd worden, zolang de symbolische link maar naar de nieuwe wijst. Dus als deze bibliotheken op een systeem staan:/compat/linux/lib/libc.so.4.6.27 /compat/linux/lib/libc.so.4 -> libc.so.4.6.27en een nieuwe binary zegt een latere versie nodig te hebben volgens de uitvoer van
ldd
:libc.so.4 (DLL Jump 4.5pl26) -> libc.so.4.6.29Als slechts één of twee versies verouderd zijn in het laatste cijfer, dan hoeft
/lib/libc.so.4.6.29
niet gekopieerd te worden, omdat het programma goed moet werken met de ietwat oudere versie. Als er echter behoefte aan is, kan besloten worden omlibc.so
sowieso te verplaatsen, en dat resulteert in:/compat/linux/lib/libc.so.4.6.29 /compat/linux/libc.so.4 -> lbic.so.4.6.29
Opmerking:
Het symbolische linkmechanisme is alleen nodig voor Linux®-binairen. De FreeBSD runtime linker zorgt zelf voor het kijken naar passende grote revisienummers en daar hoeft geen zorg over te bestaan.
ELF-binairen hebben soms een extra stap van “branding” nodig. Als er ongemerkte ELF-binairen worden gedraaid, ontstaat er een foutmelding zoals de volgende:
%
./mijn-linux-elf-binary
ELF binary type not known Abort
Om de FreeBSD kernel te helpen FreeBSD ELF-binairen en Linux® binairen uit elkaar te houden, kan brandelf(1) gebruikt worden.
%
brandelf -t Linux mijn-linux-elf-binary
De GNU gereedschapskist plaatst nu automatisch de juiste merkinformatie in ELF-binairen , dus deze stap zou steeds overbodiger moeten worden in de toekomst.
FreeBSD heeft zijn eigen pakketdatabase die wordt gebruikt om alle ports te volgen (ook Linux® ports). De Linux® RPM-database wordt dus niet gebruikt (noch ondersteund).
Als u echter een willekeurige toepassing die op Linux® RPM is gebaseerd moet installeren kan dit bereikt worden met:
#
cd /compat/linux
#
rpm2cpio -q < /pad/naar/linux.archief.rpm | cpio -id
Draai daarna brandelf op de geïnstalleerde ELF-binairen (niet de bibliotheken!). Een schone deïnstallatie is niet mogelijk, maar het kan helpen met testen.
resolv+: "bind" is an invalid keyword resolv+: "hosts" is an invalid keyword
Als DNS niet werkt of de bovenstaande melding ontstaat, dan
moet /compat/linux/etc/host.conf
ingesteld
worden met daarin:
order hosts, bind multi on
De volgorde geeft aan dat /etc/hosts
als eerste doorzocht wordt en DNS als tweede. Als
/compat/linux/etc/host.conf
niet
geïnstalleerd is, vinden Linux® applicaties
/etc/host.conf
van FreeBSD en klagen ze over
de incompatibele FreeBSD syntaxis. bind
moet
verwijderd worden als er geen naamserver is ingesteld die
gebruik maakt van /etc/resolv.conf
.
Dit document beschrijft het installatieproces van de Linux® versie van Mathematica® 5.X op een FreeBSD systeem.
De Linux® versie van Mathematica®
of Mathematica® for Students kan
direct bij Wolfram besteld worden op http://www.wolfram.com/
.
Ten eerste dient FreeBSD te weten dat de Linux-binairen van Mathematica® de Linux ABI gebruiken. De gemakkelijkste manier om dit te doen is om het standaard ELF-merk op Linux te zetten voor alle ongemerkte binairen met het commando:
#
sysctl kern.fallback_elf_brand=3
Dit laat FreeBSD aannemen dat alle ongemerkte ELF-binairen de Linux ABI gebruiken en dus zou de installer rechtstreeks van de CD-ROM moeten kunnen draaien.
Kopieer nu het bestand MathInstaller
naar de harde schijf:
#
mount /cdrom
#
cp /cdrom/Unix/Installers/Linux/MathInstaller /localdir/
Vervang binnen dit bestand /bin/sh
op de
eerste regel door /compat/linux/bin/sh
. Dit
zorgt ervoor dat de installer door de Linux-versie van
sh(1) wordt uitgevoerd. Vervang vervolgens met een
tekstverwerker of het onderstaande script in de volgende sectie
alle voorkomens van Linux)
door
FreeBSD)
. Dit zorgt ervoor dat de
Mathematica® installer, dat
uname -s
gebruikt om het besturingssysteem te
bepalen, om FreeBSD als een Linux-achtig besturingssysteem te
behandelen. Het aanroepen van MathInstaller
zal nu Mathematica® installeren.
De shellscripts die Mathematica®
aanmaakte tijdens de installatie moeten gewijzigd worden voordat
u ze kunt gebruiken. Als u /usr/local/bin
kiest als de map
om Mathematica®-executables in te
plaatsen, zult u in deze map symbolische links naar bestanden
genaamd math
,
mathematica
,
Mathematica
, en
MathKernel
aantreffen. Vervang met een
tekstverwerker of het volgende shellscript in elk van
deze Linux)
door FreeBSD
:
#!/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
Wanneer u Mathematica® voor de
eerste keer start, zal u om een wachtwoord gevraagd worden. Als
u nog geen wachtwoord van Wolfram heeft verkregen, draait u het
programma mathinfo
in de installatiemap om uw
“machine-ID” te verkrijgen. Dit machine-ID is
alleen op het MAC-adres van uw eerste Ethernetkaart gebaseerd,
zodat u uw kopie van Mathematica®
niet op andere machines kunt draaien.
Bij een registratie bij Wolfram, per email, telefoon of fax, wordt het “machine ID” opgegeven en zij reageren met een overeenkomstig wachtwoord dat uit groepen getallen bestaat.
Mathematica® gebruikt enkele
speciale lettertypen om tekens af te beelden die niet aanwezig
zijn in een standaard lettertypeverzameling (integralen,
sommen, Griekse letters, enzovoort). Het X-protocol vereist
dat deze lettertypen lokaal worden
geïnstalleerd. Dit betekent dat deze lettertypen
gekopieerd moeten worden vanaf de CD-ROM of vanaf een host met
Mathematica® erop naar de lokale
machine. Deze lettertypen worden meestal opgeslagen in
/cdrom/Unix/Files/SystemFiles/Fonts
op de
CD-ROM of in
/usr/local/mathematica/SystemFiles/Fonts
op de harde schijf. De eigenlijke lettertypen staan in de
submap Type1
en X
.
Er zijn verschillende manieren om ze te installeren, zoals
hieronder staat beschreven.
De eerste manier is om ze te kopiëren in
één van de bestaande lettertypenmappen in
/usr/X11R6/lib/X11/fonts
. Hiertoe dient
fonts.dir
bewerkt te worden door de namen
van de lettertypen eraan toe te voegen het aantal lettertypen
op de eerste regel te veranderen. Als alternatief kan ook
eenvoudig mkfontdir(1) in de map gedraaid worden waar de
lettertypen heen zijn gekopieerd.
De tweede manier om dit te doen is door de mappen naar
/usr/X11R6/lib/X11/fonts
te
kopiëren:
#
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
Voeg nu de nieuwe lettertypenmappen toe aan het lettertypenpad:
#
xset fp+ /usr/X11R6/lib/X11/fonts/X
#
xset fp+ /usr/X11R6/lib/X11/fonts/MathType1
#
xset fp rehash
Als de Xorg server gebruikt
wordt, kunnen deze lettertypenmappen automatisch geladen worden
door ze aan xorg.conf
toe te
voegen.
Als er nog geen map
/usr/X11R6/lib/X11/fonts/Type1
bestaat,
kan de naam van de map MathType1
in het
bovenstaande voorbeeld veranderd worden naar
Type1
.
Maple™ is een commercieel
wiskundeprogramma vergelijkbaar met
Mathematica®. De software is te koop
op http://www.maplesoft.com/
en kan daar
ook geregistreerd worden voor een licentiebestand. Om deze
software op FreeBSD te installeren kunnen de volgende eenvoudige
stappen gevolgd worden:
Voer het INSTALL>
shellscript
uit van de productdistributie. Kies de “RedHat”
optie als daarom wordt gevraagd door het
installatieprogramma. Een typische installatiemap zou
/usr/local/maple
zijn.
Bestel, als dat nog niet gedaan is, een licentie voor
Maple™ van Maple Waterloo
Software (http://register.maplesoft.com/
) en kopieer
deze naar
/usr/local/maple/license/license.dat
.
Installeer de FLEXlm
licentiebeheerder met het installatieshellscript
INSTALL_LIC
, dat geleverd wordt bij
Maple™. Stel de primaire
hostnaam voor de machine in voor de licentieserver.
Patch het bestand
/usr/local/maple/bin/maple.system.type
met het volgende:
----- knip ------------------ *** 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 ----- knip einde van patch -----
Achter "FreeBSD"|
mogen geen verdere
witvelden staan.
Deze patch instrueert Maple™
om “FreeBSD” als een Linux® systeem te herkennen.
Het shellscript bin/maple
roept het
shellscript bin/maple.system.type
aan,
dat op zijn beurt uname -a
aanroept om
achter de naam van het besturingssysteem te komen.
Afhankelijk van de naam van het besturingssysteem zoekt het
uit welke binairen het moet gebruiken.
Start de licentieserver.
Het volgende script, geïnstalleerd als
/usr/local/etc/rc.d/lmgrd
, is een
gemakkelijke manier om lmgrd
op te
starten:
----- knip ------------ #! /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 ----- knip ------------
Maple™ testen:
%
cd /usr/local/maple/bin
%
./xmaple
Nu hoort het programma te draaien. Het is belangrijk om Maplesoft te schrijven om ze te laten weten dat een echte FreeBSD versie gewenst is!
De FLEXlm
licentiebeheerder kan een lastig programma zijn om mee te
werken. Aanvullende documentatie staat op http://www.globetrotter.com/
.
lmgrd
staat er bekend om erg
kieskeurig over het licentiebestand te zijn en core te
dumpen als er een probleem is. Een correct licentiebestand
ziet er zo uit:
# ======================================================= # 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
Het serienummer en de sleutel zijn vervangen door
“X”'en. chillig
is de
hostnaam.
Het bewerken van het licentiebestand lukt zolang de regel “FEATURE” niet verandert (die beschermd is door de licentiesleutel).
Dit document beschrijft het installatieproces van de Linux® versie van MATLAB® 6.5 op een FreeBSD systeem. Het werkt best goed, met uitzondering van de Java Virtual Machine™ (zie Paragraaf 11.5.3, “De Java™ runtime-omgeving linken”).
De Linux® versie van MATLAB® kan
besteld worden bij The MathWorks op http://www.mathworks.com
. Er dient ook een
licentiebestand of instructies hoe dat te maken te zijn. Het is
belangrijk om Maplesoft te schrijven om ze te laten weten dat een
echte FreeBSD versie gewenst is!
Om MATLAB® te installeren:
Laad de installatie-CD-ROM en koppel die aan. Start het
installatiescript als root
:
#
/compat/linux/bin/sh /cdrom/install
Het is een grafisch installatieprogramma. Als er
foutmeldingen verschijnen dat het programma geen scherm
kan openen, kan setenv HOME
~GEBRUIKER
uitgevoerd worden, waar
GEBRUIKER
de gebruiker is
waarmee su(1) is gedaan.
Als om de MATLAB® rootmap
wordt gevraagd, dient
/compat/linux/usr/local/matlab
opgegeven te worden.
Voer op de commandoregel het volgende uit om de
rest van het installatieproces gemakkelijk te houden:
set
MATLAB=/compat/linux/usr/local/matlab
.
Wijzig het licentiebestand zoals aangegeven tijdens het verkrijgen van de licentie voor MATLAB®.
Dit bestand kan van tevoren gemaakt worden met een
tekstverwerker en door het te kopiëren naar
$MATLAB/license.dat
voordat het
installatieprogramma vraagt om het te bewerken.
Maak het installatieproces af.
Nu is de installatie van MATLAB® compleet. De volgende stappen “lijmen” het aan het FreeBSD systeem.
Maak symbolische links voor de scriptbestanden van de licentiebeheerder:
#
ln -s $MATLAB/etc/lmboot /usr/local/etc/lmboot_TMW
#
ln -s $MATLAB/etc/lmdown /usr/local/etc/lmdown_TMW
Maak een opstartbestand in
/usr/local/etc/rc.d/flexlm
.
Onderstaand voorbeeld is een gewijzigde versie van het
meegeleverde $MATLAB/etc/rc.lm.glnx86
.
De wijzigingen omvatten bestandslocaties en het starten
van de licentiebeheerder onder Linux®-emulatie.
#!/bin/sh
case "$1" in
start)
if [ -f /usr/local/etc/lmboot_TMW ]; then
/compat/linux/bin/sh /usr/local/etc/lmboot_TMW -u gebruikersnaam
&& 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
Het bestand moet uitvoerbaar zijn:
#
chmod +x /usr/local/etc/rc.d/flexlm
Ook moet bovenstaande
gebruikersnaam
vervangen
worden door een geldige gebruikersnaam op het systeem
(maar niet door root
).
Start de licentiebeheerder op met het commando:
#
service flexlm start
Verander de Java™ Runtime Environment Link naar een die werkt op FreeBSD:
#
cd $MATLAB/sys/java/jre/glnx86
#
unlink jre; ln -s ./jre1.1.8 ./jre
Plaats het volgende startscript in
/usr/local/bin/matlab
:
#!/bin/sh /compat/linux/bin/sh /compat/linux/usr/local/matlab/bin/matlab "$@"
Geef vervolgens het commando
chmod +x /usr/local/bin/matlab
.
Afhankelijk van de versie van emulators/linux_base, kunnen er
fouten optreden als dit script draait. Om dat te voorkomen,
dient in
/compat/linux/usr/local/matlab/bin/matlab
de regel:
if [ `expr "$lscmd" : '.*->.*'` -ne 0 ]; then
(in versie 13.0.1 staat dit op regel 410) veranderd te worden in:
if test -L $newbase; then
Het volgende is nodig om een probleem op te lossen dat samenhangt met het onjuist afsluiten van MATLAB®.
Maak het bestand
$MATLAB/toolbox/local/finish.m
dat
alleen de volgende regel bevat:
! $MATLAB/bin/finish.sh
$MATLAB$
is hier letterlijk
bedoeld.
In dezelfde map staan de bestanden
finishsav.m
en
finishdlg.m
, die de mogelijkheid
geven om de werkomgeving te bewaren vóór
het afsluiten. Als één van deze scripts
gebruikt wordt, dient de bovenstaande regel direct na het
commando save
ingevoegd te
worden.
Maak het bestand
$MATLAB/bin/finish.sh
, dat het
volgende bevat:
#!/compat/linux/bin/sh (sleep 5; killall -1 matlab_helper) & exit 0
Maak het bestand uitvoerbaar:
#
chmod +x $MATLAB/bin/finish.sh
Hieronder wordt het installatieproces van Oracle® 8.0.5 en Oracle® 8.0.5.1 Enterprise Edition voor Linux® op een FreeBSD-machine beschreven.
Uit de Portscollectie dienen emulators/linux_base en devel/linux_devtools geïnstalleerd te zijn. Als er problemen zijn met deze ports, kan het zijn dat de pakketten of oudere versies uit de Portscollectie gebruikt moeten worden.
Om de intelligente agent te draaien, moet ook het Red Hat
Tcl package geïnstalleerd worden:
tcl-8.0.3-20.i386.rpm
. Het algemene
commando om pakketten te installeren met de officiële
RPM port (archivers/rpm) is:
#
rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm package
De installatie van het package
hoort foutloos te verlopen.
Voordat Oracle® geïnstalleerd kan worden, moet een juiste omgeving opgezet worden. Dit document beschrijft alleen welke speciale dingen gedaan moeten worden om Oracle® voor Linux® op FreeBSD te draaien, en niet wat beschreven staat in de Oracle® installatiehandleiding.
Zoals beschreven staat in de
Oracle® installatiehandleiding
moet de maximale grootte van het gedeelde geheugen ingesteld
worden. Op FreeBSD moet SHMMAX
niet gebruikt
worden. SHMMAX
wordt slechts uit
SHMMAXPGS
en PGSIZE
berekend. Daarom dient SHMMAXPGS
gedefinieerd te worden. Alle andere opties kunnen gebruikt
worden zoals in de handleiding staat beschreven.
Bijvoorbeeld:
options SHMMAXPGS=10000 options SHMMNI=100 options SHMSEG=10 options SEMMNS=200 options SEMMNI=70 options SEMMSL=61
Deze opties kunnen naargelang het gebruik van Oracle® ingesteld worden.
Ook de volgende opties dienen in het kernelinstellingenbestand te staan:
options SYSVSHM #SysV gedeeld geheugen options SYSVSEM #SysV semaforen options SYSVMSG #SysV interprocescommunicatie
Creeër een oracle
account op
dezelfde manier als elk ander account. Het
oracle
account is alleen bijzonder in
het opzicht dat het een Linux® shell moet hebben. Dat kan
door /compat/linux/bin/bash
toe te voegen
aan /etc/shells
en de shell voor het
oracle
account in te stellen op
/compat/linux/bin/bash
.
Naast de normale Oracle®
variabelen als ORACLE_HOME
en
ORACLE_SID
moeten de volgende
omgevingsvariabelen ingesteld worden:
Variabele | Waarde |
---|---|
LD_LIBRARY_PATH | $ORACLE_HOME/lib |
CLASSPATH | $ORACLE_HOME/jdbc/lib/classes111.zip |
PATH | /compat/linux/bin;
/compat/linux/sbin;
/compat/linux/usr/bin;
/compat/linux/usr/sbin;
/bin;
/sbin;
/usr/bin;
/usr/sbin;
/usr/local/bin;
$ORACLE_HOME/bin |
Het is aan te raden om alle omgevingsvariabelen in
.profile
in te stellen. Een volledig
voorbeeld is:
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
Wegens een kleine inconsistentie in de Linux® emulator
moet de map .oracle
aangemaakt worden
in /var/tmp
voordat het
installatieprogramma wordt gestart. De gebruiker
oracle
moet de eigenaar van deze map
zijn. Nu hoort Oracle® zonder
problemen te installeren. Bij problemen dienen eerst de
Oracle® distributie en/of de
instellingen gecontroleerd te worden! Nadat
Oracle® is geïnstalleerd,
moeten de patches uit de volgende twee secties
geïnstalleerd worden.
Een veelvoorkomend probleem is dat de adapter voor het TCP-protocol niet goed is geïnstalleerd. De consequentie daarvan is dat er geen TCP-listeners gestart kunnen worden. De volgende acties helpen om dit probleem op te lossen:
#
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
Hierna dient root.sh
nogmaals te
draaien!
Als Oracle®
geïnstalleerd wordt, worden sommige acties die als
root
moeten worden uitgevoerd
geregistreerd in een shellscript met de naam
root.sh
. Dit script komt in de map
orainst
te staan. De volgende patch
dient uitgevoerd te worden op root.sh
om
het de juiste locatie van chown
te laten
gebruiken of als alternatief kan het script onder een
originele Linux® shell gedraaid worden
*** 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
Als Oracle® niet vanaf
een CD-ROM wordt geïnstalleerd, kan de broncode van
root.sh
aangepast worden. Die heet
rthd.sh
en staat in de map
orainst
in de broncodestructuur.
Het script genclntsh
wordt gebruikt om
é´n enkele gedeelde bibliotheek voor de
cliënt aan te maken. Het wordt gebruikt tijdens het
maken van de demonstraties. Met de volgende patch wordt de
definitie van PATH
uitgecommentarieerd:
*** 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
Hier wordt beschreven hoe de Linux® binaire compatibiliteit
werkt. Het meeste van wat nu volgt is sterk gebaseerd op een
e-mailbericht van Terry Lambert
<tlambert@primenet.com>
aan FreeBSD babbel mailinglijst (Message ID:
<199906020108.SAA07001@usr09.primenet.com>
).
FreeBSD heeft een abstractie met de naam “execution class loader”. Dit is een wig in de systeemaanroep execve(2).
Wat er gebeurt is dat FreeBSD een lijst van loaders heeft, in
plaats van een enkele loader die terugvalt op de
#!
loader voor het draaien van elke
shellinterpreter of shellscript.
Vroeger onderzocht de enige loader op het UNIX® platform het magische getal (in het algemeen de eerste 4 of 8 bytes van het bestand) om te zien of het een binary was die het systeem kende en als dat het geval was laadde het de binaire loader.
Als het niet het binaire type voor het systeem was, faalde de aanroep naar execve(2) en probeerde de shell het als shellopdrachten uit te voeren.
Deze aanname was een standaard voor “wat de huidige shell ook is.”
Later werd er een hack gemaakt voor sh(1) om de eerste
twee tekens te onderzoeken en als die bestonden uit
:\n
voerde het in plaats hiervan de
csh(1) shell uit (het idee is dat SCO de hack als eerste
maakte).
Wat FreeBSD nu doet is door een lijst van loaders gaan
met een generieke #!
loader die kennis heeft
van interpreters in de zin van de karakters die volgen op de
volgende witruimte tot de laatste, met uiteindelijk een
terugval op /bin/sh
.
Voor Linux® ABI-ondersteuning ziet FreeBSD het magische getal als een ELF-binary (het maakt op dit punt geen onderscheid tussen FreeBSD, Solaris™, Linux® of elk ander besturingssysteem dat een ELF-beeldtype heeft).
De ELF loader zoekt naar een gespecialiseerd merk, dat een commentaargedeelte in het ELF-beeld is en dat niet aanwezig is in SVR4/Solaris™ ELF-binairen.
Om Linux®-binairen werkend te krijgen, moeten ze
gemerkt worden als het type
Linux
met brandelf(1):
#
brandelf -t Linux bestand
Als dit gedaan is, ziet de ELF loader het
Linux
-merk in het bestand.
Als de ELF loader het Linux
-merk
tegenkomt, verplaatst de loader een pointer in de
proc
-structuur. Alle systeemaanroepen
worden met deze pointer geïndexeerd (in een traditioneel
UNIX® systeem is dit de
sysent[]
-structuurarray, die de
systeemaanroepen bevat). Ook wordt het proces gemerkt voor
speciale behandeling door de valstrikvector van de
signaal-trampolinecode samen met nog meer (kleine) aanpassingen
die door de Linux® kernelmodule worden afgehandeld.
De Linux® kernelmodule bevat naast andere dingen een lijst
van sysent[]
-ingangen waarvan de adressen
in de kernelmodule staan.
Als een systeemaanroep door de Linux®-binary wordt aangeroepen, verwijdert de valstrikcode de referentie aan de functiepointer van de systeemaanroep en geeft die de ingangspunten van de systeemaanroep van Linux® en niet van FreeBSD.
Verder reroot de Linux®-modus
dynamisch lookups. Dit is wat de optie union
(niet het unionfs
bestandssysteemtype!) voor het aankoppelen van bestandssystemen
effectief doet. Eerst wordt een poging gedaan om het bestand
in de map
/compat/linux/origineel-pad
op te zoeken en vervolgens alleen als dat
mislukt, wordt het bestand in
/origineel-pad
opgezocht. Dit zorgt ervoor dat binairen die andere binairen
nodig hebben kunnen draaien (zo kan bijvoorbeeld de
Linux®-gereedschapskist geheel onder Linux® ABI-ondersteuning
draaien). Dit betekent ook dat Linux®-binairen FreeBSD-binairen
kunnen laden en draaien als er geen overeenkomende
Linux®-binairen zijn en dat er een uname(1)-opdracht in
de mappenstructuur /compat/linux
gezet kan
worden om er zeker van te zijn dat Linux®-binairen niet kunnen
weten dat ze niet op Linux® draaien.
Effectief bevindt er zich een Linux®-kernel in de
FreeBSD-kernel. De verschillende onderliggende functies die alle
functies implementeren die de kernel aanbiedt, zijn dezelfde
tabelingangen voor de systeemaanroepen van FreeBSD als van
Linux®: bestandssysteembewerkingen, bewerkingen op het
virtuële geheugen, signaalaflevering, System V IPC,
enzovoort. Het enige verschil is dat FreeBSD-binairen de
lijm functies voor FreeBSD krijgen en dat de
Linux®-binairen de lijm-functies voor
Linux® krijgen (de meeste oudere besturingssystemen hadden
alleen hun eigen lijm-functies: adressen
van functies die in een statische globale
sysent[]
structuurarray werden opgeslagen,
in plaats van adressen van functies waarvan dynamisch een
geïnitialiseerde pointer wordt verwijderd in de
proc
-structuur van het proces dat de aanroep
doet).
Welke is de eigenlijke FreeBSD ABI? Dat maakt niet uit. Eigenlijk is het enige verschil dat (op dit moment; dit kan eenvoudig veranderen in een toekomstige uitgave, en dat gebeurt waarschijnlijk na deze uitgave) de lijm-functies van FreeBSD statisch gelinkt zijn in de kernel en dat de lijm-functies van Linux® zowel statisch gelinkt kunnen worden als dat ze door een kernelmodule worden benaderd.
Maar is dit nu echt emulatie? Nee. Het is een ABI-implementatie, geen emulatie. Er is geen emulator (of simulator, om de volgende vraag voor te zijn) bij betrokken.
Dus waarom wordt het dan soms “Linux®-emulatie” genoemd? Om het moeilijk te maken om FreeBSD te verkopen! Serieus, het is zo omdat de historische implementatie in een tijd werd gedaan toen er echt geen ander woord was om te beschrijven wat er aan de hand was, om te zeggen dat FreeBSD Linux®-binairen draaide was niet waar als de code niet in de kernel gecompileerd werd of als een module geladen werd en er moest een woord zijn voor hetgeen geladen werd. Vandaar “de Linux®-emulator”.
De verdere hoofdstukken van het FreeBSD handboek beslaan alle aspecten van het FreeBSD systeembeheer. Ieder hoofdstuk begint met een omschrijving van wat de leerstof in een hoofdstuk is en wat de verwachte voorkennis is.
De hoofdstukken zijn ook ontworpen om gelezen te worden als de specifieke informatie nodig is. Ze hoeven niet in een bepaalde volgorde gelezen te worden en ze hoeven ook niet gelezen te zijn voordat een gebruiker met FreeBSD aan de slag kan.
cron
instellencron
instellenSysteeminstellingen zijn een belangrijk aspect van FreeBSD. Correcte instellingen helpen moeilijkheden bij toekomstige upgrades te voorkomen. In dit hoofdstuk wordt het instellen van FreeBSD beschreven, alsmede een aantal prestatiebevorderende maatregelen waarmee een FreeBSD systeem geoptimaliseerd kan worden.
Na het lezen van dit hoofdstuk weet de lezer:
Hoe efficiënt om te gaan met bestandssystemen en wisselpartities;
De grondbeginselen van het rc.conf
instellingensysteem en van het opstarten van toepassingen
(diensten) met
/usr/local/etc/rc.d
;
Hoe een netwerkkaart ingesteld en getest wordt;
Hoe virtuele hosts op netwerkapparatuur ingesteld worden;
Hoe de instellingenbestanden in /etc
gebruikt worden;
Hoe FreeBSD geoptimaliseerd kan worden met
sysctl
-variabelen;
Hoe schijfprestaties te verbeteren en hoe kernelbeperkingen gewijzigd kunnen worden.
Veronderstelde voorkennis:
De grondbeginselen van UNIX® en FreeBSD (Hoofdstuk 4, UNIX® beginselen) begrijpen;
Bekend zijn met de grondbeginselen van kernelinstellingen en compilatie (Hoofdstuk 9, De FreeBSD-kernel instellen).
Bij het aanmaken van bestandssystemen met bsdlabel(8)
of sysinstall(8) is het van belang dat op een harde
schijf de gegevensoverdracht het snelst is aan de buitenste
sporen en het langzaamst aan de binnenste. Kleinere en
veelgebruikte bestandssystemen kunnen daarom het beste aan de
buitenkant van de schijf geplaatst worden, terwijl grotere
partities als /usr
meer naar de
binnenkant van de schijf geplaatst kunnen worden. Het is een
goed idee om partities aan te maken in deze of gelijksoortige
volgorde: root, swap, /var
,
/usr
.
De grootte van de partitie /var
hangt
af van de wijze waarop de machine gebruikt gaat worden. Het
bestandssysteem /var
wordt
gebruikt voor onder meer postbussen, logbestanden en printergegevens
en -wachtrijen. Postbussen en logbestanden kunnen onverwacht
groot worden, afhankelijk van het aantal systeemgebruikers en
de bewaarduur van logbestanden. De meeste gebruikers zullen
zelden meer dan ongeveer een gigabyte aan vrije schijfruimte
op /var
nodig hebben.
Er zijn een aantal gevallen waar een grote hoeveelheid
ruimte in /var/tmp
nodig is.
Wanneer er nieuwe software wordt geïnstalleerd met
pkg_add(1) pakken de pakketprogramma's een tijdelijke
kopie van de pakketten uit in /var/tmp
. Grote softwarepakketten,
zoals Firefox,
OpenOffice of
LibreOffice kunnen lastig zijn om
te installeren wanneer er onvoldoende vrije schijfruimte
beschikbaar is onder /var/tmp
.
De partitie /usr
bevat veel
van de benodigde systeembestanden, waaronder de ports(7)
collectie (aanbevolen) en de broncode (optioneel). Beide zijn
optioneel tijdens de installatie, maar we raden voor deze
partitie tenminste 2 gigabyte aan.
Het is verstandig rekening te houden met de vereiste schijfruimte bij het kiezen van partitiegroottes. Als in een partitie onvoldoende vrije schijfruimte is, terwijl een andere vrijwel niet gebruikt wordt, is dat een vervelend en niet optimaal oplosbaar probleem.
sysinstall(8)'s Auto-defaults
partitiekeuze kan in de ervaring van sommige gebruikers
mogelijk te kleine /var
en
/
partities opleveren.
Partitioneren moet verstandig en niet te zuinig gebeuren.
De vuistregel is dat het wisselbestand ongeveer het dubbele van de grootte van het systeemgeheugen (RAM) moet zijn. Als de machine bijvoorbeeld 128 megabytes geheugen heeft, kan het beste een wisselbestand van (tenminste) 256 megabytes gebruikt worden. Minder dan 256 megabytes swap is in dit geval af te raden. Systemen met weinig geheugen kunnen overigens beter functioneren met meer swap. Ook is het verstandig rekening te houden met eventuele geheugenuitbreiding in de toekomst. Bovendien zijn de VM paging-algoritmen van de kernel zo afgestemd dat ze het beste presteren bij een wisselbestand van tenminste tweemaal de grootte van het geheugen. Een te kleine swap kan dus inefficiënties in de VM-code tot gevolg hebben en mogelijk problemen veroorzaken als het systeemgeheugen uitgebreid wordt.
Op grotere systemen met meerdere SCSI-schijven (of meerdere IDE-schijven op verschillende controllers) is het aan te raden om op elke schijf een wisselpartitie in te stellen (dit kan tot en met vier schijven), elk met ongeveer dezelfde grootte. De kernel kan met arbitraire groottes werken, maar interne datastructuren schalen tot viermaal de grootste swappartitie. De kernel kan de beschikbare ruimte voor het wisselbestand het meest optimaal indelen als de partities ongeveer even groot zijn. Een grote swap is prima, ook als ze zelden gebruikt wordt. Zo kan het gemakkelijker zijn om een (uit de hand gelopen) proces dat het systeem grotendeels bezet houdt te beëindigen, voordat er opnieuw opgestart moet worden.
Waarom niet één enkele grote partitie
gebruiken? Er zijn verscheidene redenen waarom dit niet zo'n
goed idee is. De verschillende partities hebben hun eigen
karakteristieke operationele gedrag en vereisten. Door ze te
scheiden zijn er betere mogelijkheden om het systeem te
optimaliseren. Vanaf de /
en
/usr
partities wordt
bijvoorbeeld vooral gelezen en er wordt weinig naar geschreven,
terwijl er in /var
en
/var/tmp
zowel veel gelezen
als geschreven wordt.
Door een systeem goed te partitioneren wordt vermeden dat
fragmentatie die optreedt in de kleinere partities met veel
schrijfactiviteit doorsijpelt naar partities die vooral
lees-intensief zijn. Door schrijf-intensieve partities aan
het begin van de schijf te plaatsen, zijn de prestaties wat
betreft invoer/uitvoer het beste daar waar het het meest
nodig is. Ofschoon er natuurlijk ook de best mogelijke
in/uit prestaties wenselijk zijn in de grotere partities,
weegt het plaatsen van deze bestandssystemen aan het begin van
de schijf niet tegen de voordelen van het plaatsen van
/var
aan het begin van de
schijf (na root en swap) voor de totale snelheid van het systeem.
Tenslotte zijn er veiligheidsoverwegingen. Een compacte en nette
rootpartitie die vrijwel alleen-lezen is, heeft een betere
kans om een nare crash te overleven.
De voornaamste lokatie voor systeeminstellingen is
/etc/rc.conf
. Dit bestand bevat een scala
aan instellingen, die gebruikt wordt om het systeem in te stellen
bij het opstarten. De naam impliceert dit al. Het is informatie
voor de rc*
bestanden (rc staat voor
“resource configuration” of broninstellingen).
De systeembeheerder wordt geacht regels toe te voegen aan
rc.conf
om de standaardinstellingen uit
/etc/defaults/rc.conf
aan te passen. Het
standaardbestand moet niet letterlijk gekopiëerd worden naar
/etc
. Het bevat standaardwaardes
en is niet bedoeld als voorbeeld. Alle wijzigingen die specifiek zijn
voor een systeem horen in /etc/rc.conf
thuis.
In een clusterscenario is het nuttig om systeemspecifieke
instellingen te scheiden van algemene instellingen die voor het
hele cluster gelden. Hiervoor kunnen een aantal strategieën
worden gebruikt. De aanbevolen benadering is om systeem-specifieke
instellingen in /etc/rc.conf.local
te
plaatsen. Een voorbeeld:
/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"
rc.conf
kan vervolgens naar elk systeem
gedistribueerd worden met rsync
of een
gelijksoortig programma, terwijl rc.conf.local
uniek blijft.
Het actualiseren van het systeem met sysinstall(8) of
make world
overschrijft
rc.conf
niet, zodat de bestaande
systeeminstellingen niet verloren gaan.
Het instellingenbestand /etc/rc.conf
wordt
gelezen door sh(1). Dit stelt systeembeheerders in staat om een
zekere hoeveelheid logica aan dit bestand toe te voegen, dat kan helpen
in het creëren van zeer ingewikkelde configuratiescenario's.
Bekijk rc.conf(5) voor meer informatie over dit onderwerp.
Geïnstalleerde toepassingen hebben meestal hun eigen instellingenbestanden, met hun eigen syntaxis, etc. Het is van belang deze bestanden apart te houden van het basissysteem, zodat ze makkelijk gelokaliseerd kunnen worden en beheerd kunnen worden met de hulpmiddelen voor pakketbeheer.
Deze bestanden worden meestal geïnstalleerd in
/usr/local/etc
. Als een toepassing
een uitgebreide verzameling bestanden voor instellingen heeft, wordt
er een submap voor aangemaakt.
Bij de installatie van een port of pakket, worden normaliter
ook voorbeeldbestanden met instellingen geïnstalleerd. Deze
zijn doorgaans te herkennen aan een toevoegsel
.default
. Als er geen bestaande
instellingenbestanden voor de toepassing zijn, kunnen ze gemaakt
worden door de .default
-bestanden te
kopiëren.
Een voorbeeld is de map
/usr/local/etc/apache
:
-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
Aan de grootte van de bestanden is te zien dat alleen
srm.conf
gewijzigd is. Als later de port
Apache wordt vernieuwd, wordt dit
bestand niet overschreven.
Veel gebruikers kiezen ervoor om software van derden te installeren op FreeBSD vanuit de Portscollectie. In veel gevallen is het noodzakelijk om de software dusdanig in te stellen dat het opstart tijdens het opstarten van de computer. Diensten zoals mail/postfix of www/apache22 zijn slechts twee voorbeelden van softwarepakketten die gestart kunnen worden tijdens de systeemstart. In deze paragraaf wordt toegelicht hoe software van derde partijen kan worden gestart.
In FreeBSD worden de meeste diensten, zoals cron(8), door de opstartscripts van het systeem gestart. Deze scripts kunnen verschillen tussen FreeBSD en leverancierversies, echter het meest belangrijke aspect om in gedachten te houden is dat hun opstartinstellingen verwerkt kunnen worden door simpele opstartscripts.
Nu FreeBSD rc.d
heeft, zijn de
instellingen van applicaties die mee moeten opstarten
versimpeld en rijker aan mogelijkheden. Door gebruik te maken
van de sleutelwoorden die in de paragraaf rc.d
behandeld worden, kunnen applicaties nu starten na andere
diensten. DNS kan bijvoorbeeld extra
opties meekrijgen van /etc/rc.conf
in
plaats van hard ingestelde opties in het opstartscript. Een
basisscript ziet er ongeveer als volgt uit:
#!/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 # # VERANDER DE STANDAARDWAARDEN HIER NIET # STEL ZE IN HET BESTAND /etc/rc.conf IN # utility_enable=${utility_enable-"NO"} pidfile=${utility_pidfile-"/var/run/utility.pid"} run_rc_command "$1"
Dit script zorgt ervoor dat
utility wordt gestart na de pseudodienst
DAEMON
. Het biedt ook de mogelijkheid voor
het instellingen en volgen van het PID of
het proces-ID bestand.
Voor deze applicatie kan dan de volgende regel in
/etc/rc.conf
geplaatst worden:
utility_enable="YES"
Deze methode maakt het volgende mogelijk: makkelijker
commandoregelopties manipuleren, importeren van
standaardfuncties uit /etc/rc.subr
,
compatibiliteit met het gereedschap rcorder(8) en het levert
makkelijkere configuratie via rc.conf
.
Andere diensten, zoals POP3-server
daemons, IMAP, enzovoort, kunnen gestart
worden door gebruik te maken van inetd(8). Daaraan is
voorafgegaan dat die dienst uit de Portscollectie is
geïstalleerd en dat er een regel met instellingen is
toegevoegd aan /etc/inetd.conf
of
één van de bestaande niet-actieve regels is
geactiveerd. Werken met inetd en
zijn instellingen wordt uitgebreid toegelicht in de paragraaf
over inetd.
In sommige gevallen is het handiger om cron(8) te
gebruiken om diensten te starten. Deze aanpak heeft een aantal
voordelen omdat cron
start als de eigenaar
van crontab
. Dit stelt reguliere
gebruikers in staat om sommige applicaties te starten en te
onderhouden.
cron
levert een unieke optie: in plaats
van een tijdsspecificatie kan @reboot
gebruikt worden. Dit zorgt ervoor dat de taak gestart wordt als
cron(8) gestart wordt, meestal tijdens een
systeemstart.
Een zeer nuttig hulpprogramma in FreeBSD is cron(8). De
daemon cron
draait op de achtergrond en
controleert voortdurend /etc/crontab
. Ook
controleert cron
de map
/var/cron/tabs
, op zoek naar nieuwe
crontab
bestanden. Deze
crontab
bestanden bevatten informatie over
specifieke taken die cron
moet verrichten op
gezette tijden.
cron
gebruikt twee verschillende soorten
instellingenbestanden: de systeemcrontab en gebruikerscrontabs. Deze
formaten verschillen alleen in het zesde en verdere velden. In de
systeemcrontab zal cron
het commando draaien als de
gebruiker die in het zesde veld is opgegeven. In een gebruikerscrontab
draaien alle commando's onder de gebruiker die de crontab heeft
aangemaakt, dus is het zesde veld het laatste veld; dit is een belangrijk
beveiligingsaspect. Het laatste veld is altijd het commando dat gedraaid
wordt.
Gebruikerscrontabs geven individuele gebruikers de
mogelijkheid om bepaalde terugkerende taken automatisch te laten
uitvoeren zonder dat root
-rechten noodig
zijn. Commando's in de crontab van een gebruiker worden
uitgevoerd met de rechten van de eigenaar.
root
kan ook een gebruikerscrontab
aanleggen net als elke andere gebruiker. Dit is niet dezelfde als
/etc/crontab
, de systeemcrontab. Omdat de
systeemcrontab in de praktijk de commando's als root uitvoert, is het
doorgaans niet nodig om een gebruikerscrontab voor
root
te maken.
/etc/crontab
(de systeemcrontab) ziet er
uit als volgt:
# /etc/crontab - root's crontab for FreeBSD # # $FreeBSD: src/etc/crontab,v 1.32 2002/11/22 16:13:39 tom Exp $ ## SHELL=/bin/sh PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
HOME=/var/log # # #minuut uur mdag maand wdag wie commando
# # */5 * * * * root /usr/libexec/atrun
![]()
Zoals in de meeste instellingenbestanden van FreeBSD zijn regels die met het karakter
#
beginnen commentaar. Commentaar wordt gebruikt als uitleg en geheugensteun. Commentaar dient niet vermengd te worden met commando's, anders wordt het commentaar opgevat als deel van het commando. Blanco regels worden genegeerd.Eerst worden omgevingsvariabelen gedefiniëerd. Hoervoor wordt het is-gelijk karakter (
=
) gebruikt. In het bovenstaande voorbeeld wordt het gebruikt voor de variabelenSHELL
,PATH
enHOME
. Als de regelSHELL
ontbreekt, gebruiktcron
standaardsh
als shell. Voor de omgevingsvariabelePATH
bestaat geen standaardwaarde. AlsPATH
ontbreekt moeten absolute paden gebruikt worden. AlsHOME
ontbreekt, gebruiktcron
de thuismap van de gebruiker diecron
aanroept.In deze commentaarregel staan de zeven velden van een crontabdefinitie. Dit zijn
minuut
,uur
,mdag
,maand
,wdag
,wie
encommando
. De betekenissen liggen voor de hand:minuut
is het aantal minuten van het tijdstip waarop het commando moet worden uitgevoerd;uur
geeft het uur aan;mdag
staat voor de dag van de maand;maand
staat voor het maandnummer enwdag
geeft de dag van de week aan. Het veldwie
is bijzonder en bestaat alleen in/etc/crontab
. Het geeft aan als welke gebruiker het commando uitgevoerd moet worden. Het laatste veld bevat het uit te voeren commando.In deze regel worden aan de hierboven besproken opties waarden toegekend. Er wordt gebruik gemaakt van
*/5
en*
karakters. Deze betekenen “eerst-laatst” en kunnen gezien worden als telkens. In deze regel staat dus datatrun
elke vijf minuten moet worden uitgevoerd doorroot
, ongeacht welke dag of maand het is. Meer informatie overatrun
staat in atrun(8).Commando's kunnen een willekeurig aantal opties of argumenten meekrijgen. Als commando's echter meerdere regels nodig hebben moeten deze regels afgebroken worden met een backslash “\” karakter, om aan te geven dat ze op de volgende regel vervolgd worden.
Dit is de basisopzet voor elk crontab
bestand. De enige uitzondering is de aanwezigheid van veld zes,
waar de gebruikersnaam wordt aangegeven. Dit veld bestaat alleen
in de systeemversie van /etc/crontab
. Voor
crontab
-bestanden van individuele gebruikers
moet dit veld worden weggelaten.
De onderstaande procedure moet niet gebruikt worden om de
systeemcrontab /etc/crontab
te wijzigen of te
installeren. Er kan een gewone editor gebruikt worden.
cron
ziet dat het bestand veranderd is en begint
direct met het gebruiken van de nieuwe versie. Deze
FAQ vraag geeft verdere uitleg.
Om een nieuwe crontab
te installeren
moet eerst een bestand in het juiste formaat gemaakt worden en
daarna moet het geiuml;nstalleerd worden met commando
crontab
:
#
crontab crontabbestand
In dit voorbeeld is crontabbestand
de
naam van een eerder gemaakt
crontab
-bestand.
Er bestaat ook een optie om een lijst van
geïnstalleerde crontab
-bestanden op te
vragen, namelijk de optie -l
van
crontab
.
Gebruikers die hun eigen crontabbestand willen schrijven
zonder het gebruik van een sjabloon, kunnen gebruik maken van
crontab -e
. Dit opent de
EDITOR
met een leeg bestand. Als het bestand
wordt opgeslagen en de editor wordt afgesloten, wordt het
bestand automatisch als crontab
geïnstalleerd.
Een gebruikerscrontab
kan verwijderd
worden door de met crontab
de optie
-r
te gebruiken.
Sinds 2002 gebruikt FreeBSD het NetBSD rc.d
systeem bij het opstarten van het systeem. Veel van de bestanden
in /etc/rc.d
zijn scripts voor
basisdiensten die werken met de opties start
,
stop
en restart
, analoog aan
hoe diensten die via een port of pakket zijn geïnstalleerd
gestart worden met de scripts in
/usr/local/etc/rc.d
. sshd(8) kan
bijvoorbeeld als volgt herstart worden:
#
service restart
Deze procedure is vrijwel gelijk voor andere diensten.
Uiteraard worden diensten meestal automatisch tijdens het
opstarten van de computer gestart zoals in rc.conf(5) staat.
Om de Network Address Translation daemon bij het opstarten te
laten starten is de volgende regel in
/etc/rc.conf
bijvoorbeeld voldoende:
natd_enable="YES"
Als er reeds een natd_enable="NO"
regel is,
kan NO
gewoon in YES
veranderd worden. De rc scripts starten, voor zover nodig,
automatisch andere afhankelijke diensten.
Omdat het rc.d
systeem in eerste
instantie bedoeld is om diensten te starten en stoppen bij het
opstarten en afsluiten van het systeem, werken de standaardopties
start
, stop
en
restart
alleen als de juiste variabelen in
/etc/rc.conf
zijn ingesteld. Het commando
sshd restart
alleen dan als
sshd_enable
de waarde YES
heeft in /etc/rc.conf
. Als er een dienst
gestart, gestopt of herstart moet worden, ongeacht de definities
in /etc/rc.conf
, moet het commando
voorafgegaan worden door “one”. Dus om
sshd
te herstarten ongeacht
de instellingen in /etc/rc.conf
, voldoet het
volgende commando:
#
service sshd onerestart
Het is eenvoudig te controleren of een dienst is ingeschakeld
is in /etc/rc.conf
door het bijpassende
rc.d
-script uit te voeren met de optie
rcvar
. Voor sshd
:
#
service sshd rcvar
# sshd $sshd_enable=YES
De tweede regel (# sshd
) is de
uitvoer van sshd
, geen
root
-console.
De optie status
wordt gebruikt om vast te
stellen of een dienst gestart is. Om bijvoorbeeld te controleren
of sshd
gestart is:
#
service sshd status
sshd is running as pid 433.
In sommige gevallen is het ook mogelijk om een dienst te
herstarten met de optie reload
. Dan wordt er
getracht een signaal te sturen aan een individuele dienst, waarbij
de dienst de bestanden met instellingen opnieuw in moet lezen.
Meestal komt dit neer op het verzenden van het signaal
SIGHUP
. Deze optie wordt niet door alle
diensten ondersteund.
Het rc.d-systeem wordt niet alleen
gebruikt voor netwerkdiensten, maar ook voor het merendeel van de
systeemstart. In dit kader is bijvoorbeeld het bestand
bgfsck
interessant. Als dit script wordt
uitgevoerd, wordt de volgende boodschap getoond:
Starting background file system checks in 60 seconds.
Dit script wordt dus gebruikt voor bestandssysteemcontrole in de achtergrond, hetgeen alleen tijdens de systeemstart gebeurt.
Veel systeemdiensten zijn afhankelijk van andere diensten om
correct te kunnen functioneren. Zo starten NIS en andere
RPC-gebaseerde diensten niet als de dienst
rpcbind
(portmapper) nog niet draait. Om dit
te stroomlijnen wordt informatie over afhankelijkheden en andere
metagegevens ingevoegd in het commentaar bovenaan het
opstartscript. Deze commentaarregels worden vervolgens tijdens de
systeemstart met rcorder(8) verwerkt om zo vast te stellen in
welke volgorde de systeemdiensten gestart moeten worden.
De volgende woorden moeten in alle opstartscripts staan (ze zijn benodigd door rc.subr(8) om het opstartscript te activeren):
PROVIDE
: geeft aan in welke diensten
dit bestand voorziet.
REQUIRE
: geeft aan welke andere
diensten vereist zijn voor deze dienst. Dit script wordt
uitgevoerd na de aangegeven
diensten.
BEFORE
: geeft diensten aan die
afhankelijk zijn van deze dienst. Dit bestand wordt
uitgevoerd vóór de
aangegeven diensten.
Met deze methode kan een systeembeheerder gemakkelijk systeemdiensten besturen, zonder gedoe met “runlevels” zoals bij sommige andere UNIX® systemen.
Meer informatie over het rc.d
-systeem
staat in rc(8) en rc.subr(8). Als u geïnteresseerd
bent in het schrijven van uw eigen
rc.d
-script of om de huidige scripts te
verbeteren is wellicht dit
artikel interessant.
Het is tegenwoordig nauwelijks voorstelbaar dat een computer geen netwerkverbinding heeft. Het toevoegen en instellen van een netwerkkaart is een gebruikelijke taak voor een FreeBSD-beheerder.
Voor het zoeken begint, moet duidelijk zijn om welke kaart het gaat, welke chip erop zit en of het een PCI- of ISA-kaart is. FreeBSD ondersteunt vele kaarten. Op de Hardware Compatibiliteitslijst voor de betreffende uitgave staan de kaarten die ondersteund worden.
Als duidelijk is dat een kaart ondersteund wordt, moet
vastgesteld worden wat het geschikte stuurprogramma is. In het
bestand /usr/src/sys/conf/NOTES
staat een
lijst van stuurprogramma's voor netwerkinterfaces met wat
informatie over de ondersteunde chipsets of kaarten. In geval
van twijfel biedt de hulppagina voor het stuurprogramma
(man
) vaak uitkomst. In het algemeen bevat
deze meer informatie over de ondersteunde hardware en mogelijke
problemen die kunnen optreden.
Als een veelgebruikte kaart gebruikt wordt, hoeft meestal
niet ver gezocht te worden. Stuurprogramma's voor
veelvoorkomende netwerkinterfaces zijn al aanwezig in de
algemene kernel GENERIC
. In dat geval
wordt zo'n kaart al gevonden bij het opstarten, bijvoorbeeld met
het volgende bericht:
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]
In dit voorbeeld zitten er twee kaarten in het systeem die het stuurprogramma dc(4) gebruiken.
Als het stuurprogramma voor een NIC geen onderdeel is van de
kernel GENERIC
, dan dient het juiste
stuurprogramma voor die NIC geladen te worden. Dit kan op twee
manieren:
De meest eenvoudige manier is het laden van een
kernelmodule voor een netwerkkaart met kldload(8) of
automatisch tijdens het opstarten van het systeem door de
benodigde regel toe te voegen aan
/boot/loader.conf
. Niet alle
NIC-stuurprogramma's zijn als module beschikbaar. Zo zijn
er bijvoorbeeld geen modules beschikbaar voor
ISA-kaarten.
Ondersteuning voor een kaart kan ook in de kernel
gecompileerd worden. In
/usr/src/sys/conf/NOTES
,
/usr/src/sys/arch/conf/NOTES
en de hulppagina van het stuurprogramma is na te lezen wat
er in het kernelinstellingenbestand moet staan. In Hoofdstuk 9, De FreeBSD-kernel instellen staat meer informatie over het
compileren van een eigen kernel. Als een netwerkkaart al
bij het opstarten wordt herkend door de kernel
GENERIC
, is er geen reden om een andere
kernel te bouwen.
Helaas zijn er nog steeds veel leveranciers die geen schema's leveren voor stuurprogramma's aan de open-source gemeenschap, omdat ze deze informatie beschouwen als handelsgeheimen. Als gevolg daarvan hebben de ontwikkelaars van FreeBSD en andere projecten twee keuzes: zelf de stuurprogramma's ontwikkelen door een langdurig en pijnlijk proces van de huidige stuurprogramma's te ontcijferen, of door gebruik te maken van de huidige binaire bestanden voor het Microsoft® Windows® platform. De meeste ontwikkelaars, inclusief diegeen die gekoppeld zijn aan FreeBSD, hebben voor het laatste gekozen.
Dankzij de bijdragen van Bill Paul (wpaul) is er “native” ondersteuning voor de Network Driver Interface Specification (NDIS). De FreeBSD NDISulator (ook wel bekend als Project Evil) neemt een binair Windows® stuurprogramma en doet net alsof deze in een Windows® systeem draait. Omdat het stuurprogramma ndis(4) een Windows® binary gebruikt; draait het alleen op i386™- en amd64-systemen. PCI, CardBus, PCMCIA (PC-Card) en USB-apparaten worden ondersteund.
Om de NDISulator te gebruiken zijn drie dingen nodig:
De bronbestanden van de kernel
Een Windows® XP stuurprogramma (met de extensie
.SYS
)
Een instellingenbestand van het Windows® XP
stuurprogramma (met de extensie
.INF
)
Lokaliseer de bestanden voor uw specifieke kaart. Over
het algemeen kunnen deze gevonden worden op de bijgeleverde
CD's of op de website van de leverancier. In de volgende
voorbeelden maken we gebruik van
W32DRIVER.SYS
en
W32DRIVER.INF
.
De bit-breedte van het stuurprogramma moet overeenkomen met die van het stuurprogramma. Gebruik voor FreeBSD/i386 een 32-bits Windows® stuurprogramma. Voor FreeBSD/amd64 is een 64-bits Windows® stuurprogramma nodig.
De volgende stap is het compileren van het binaire
stuurprogramma in een laadbare kernelmodule. Gebruik ndisgen(8)
als root
:
#
ndisgen /pad/naar/W32DRIVER.INF /pad/naar/W32DRIVER.SYS
ndisgen(8) is interactief en vraagt om extra informatie als het dat nodig heeft. Een nieuwe kernel-module wordt in de huidige map geschreven. Gebruik kldload(8) om de nieuwe module te laden:
#
kldload ./W32DRIVER_SYS.ko
Naast de gegenereerde kernelmodule, moeten ook de modules
ndis.ko
en
if_ndis.ko
geladen worden. Dit zou
automatisch moeten gebeuren als er een module geladen wordt
dit afhankelijk is van ndis(4). Als ze handmatig
ingeladen moeten worden gebruik dan de volgende
commando's:
#
kldload ndis
#
kldload if_ndis
Het eerste commando laadt de stuurprogrammawrapper voor de NDIS miniport, de tweede laadt de daadwerkelijke netwerkinterface.
Controleer nu dmesg(8) om te zien of er ergens fouten voorkomen. Als alles goed gegaan is ziet u ongeveer het volgende:
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
Vanaf dit moment kan de ndis0
net zo gebruikt worden als elke andere netwerkkaart (bv.
dc0
).
Het systeem kan geconfigureerd worden zodat de
NDIS-modules automatisch gestart worden tijdens het opstarten
van het systeem, net zoals bij andere modules. Kopieer eerst
de gegenereerde module W32DRIVER_SYS.ko
naar
de map /boot/modules
.
Voeg daarna de volgende regel toe aan
/boot/loader.conf
:
W32DRIVER_SYS_load="YES"
Nadat een geschikt stuurprogramma geladen is, moet de kaart nog ingesteld worden. Mogelijk is dit al gebeurd door sysinstall tijdens de installatie.
Om de instellen van de netwerkkaarten weer te geven:
%
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 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 nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
In dit voorbeeld werden de volgende apparaten weergegeven:
dc0
: de eerste
Ethernet-interface;
dc1
: de tweede
Ethernet-interface;
lo0
: het
loopback-apparaat;
FreeBSD gebruikt de naam van het stuurprogramma gevolgd door
een nummer voor de volgorde waarop de kaarten gedetecteerd zijn
bij het opstarten. sis2
is de derde
netwerkkaart in het systeem die het stuurprogramma sis(4)
gebruikt.
In het vorige voorbeeld is het apparaat
dc0
volledig operationeel. Dit blijkt
uit de volgende indicatoren:
UP
betekent dat de kaart ingesteld is
en klaar is voor gebruik;
De kaart heeft een Internet (inet
)
adres (in dit geval 192.168.1.3
);
Het heeft een geldig subnetmasker
(netmask
; 0xffffff00
is hetzelfde als
255.255.255.0
);
Het heeft een geldig broadcastadres (in dit geval
192.168.1.255
);
Het MAC-adres van de kaart (ether
) is
00:a0:cc:da:da:da
;
De fysieke mediaselectie staat in autoselectiemodus
(media: Ethernet autoselect (100baseTX
<full-duplex>)
).
dc1
is ingesteld om met
10baseT/UTP
-media te werken. Meer
informatie over de mogelijke mediatypes staan in de
hulppagina's voor het betreffende stuurprogramma.
De status van de verbinding (status
)
is active
, dat wil zeggen dat de drager
is gevonden. Bij dc1
staat echter
status: no carrier
. Dit is normaal als
er geen Ethernetkabel in de kaart gestoken is.
Als de uitvoer ifconfig(8) er ongeveer zoals hieronder uitziet, dan is de netwerkkaart nog niet ingesteld:
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
Om de kaart in te stellen zijn
root
-rechten nodig. De netwerkkaart kan
vanaf de console worden ingesteld met ifconfig(8), maar dan
moet dat na elke herstart herhaald worden. Daarom wordt het
vrijwel altijd in /etc/rc.conf
gezet.
In /etc/rc.conf
moet voor elke
netwerkkaart in een systeem een regel toegevoegd worden. In het
huidige voorbeeld zou dat het volgende kunnen zijn:
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"
dc0
, dc1
,
enzovoort, moeten vervangen worden door de correcte
stuurprogramma's voor de netwerkkaarten, zo ook de
IP-adressen. In de handleiding van het
stuurprogramma en van ifconfig(8) staan meer details over
de mogelijke opties en in rc.conf(5) staat meer informatie
over /etc/rc.conf
.
Als het netwerk al is ingesteld tijdens het installeren van
FreeBSD staan er al enkele regels met betrekking tot de
netwerkkaart(en) in /etc/rc.conf
. Het is
dus handig /etc/rc.conf
te controleren
voordat er regels toegevoegd worden.
Ook /etc/hosts
moet worden gewijzigd om
de namen en IP adressen van verschillende
machines op het lokale netwerk, als ze er nog niet in staan.
Meer informatie staat in hosts(5) en
/usr/share/examples/etc/hosts
.
Als internettoegang nodig is met dit apparaat, kan het zijn dat de default gateway en de naamserver handmatig moeten worden ingesteld:
#
echo 'defaultrouter="your_default_router"' >> /etc/rc.conf
#
echo 'nameserver your_DNS_server' >> /etc/resolv.conf
Als de veranderingen in /etc/rc.conf
zijn gemaakt, moet het systeem opnieuw gestarten worden (of
moeten nauwkeurig alle daemons gestart of herstart worden).
Veranderingen aan de interface(s) worden dan toegepast en dan
kan er controleerd worden of herstarten goed werkt zonder
foutmeldingen. Als alternatief kan ook het netwerk systeem
herstart worden:
#
service netif restart
Als er ook een default gateway ingesteld is in het
/etc/rc.conf
bestand, moet ook onderstaand
command worden gegeven:
#
service routing restart
Zodra het netwerk systeem is herstart, moeten de netwerk interfaces opnieuw getest worden.
Om te controleren of een ethernet kaart goed geconfigureerd is, moeten er twee dingen gedaan worden. Allereerst, ping de interface zelf, en daarna een andere machine op het LAN.
Test eerst de lokale interface:
%
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
Nu kan er een andere machine op het LAN gepinged worden:
%
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
Dit kan ook worden geprobeerd met de machine naam in plaats
van met 192.168.1.2
als dit
geconfigureerd is in /etc/hosts
.
Het testen en zoeken van problemen is altijd een pijnpunt, welke verminderd kan worden door een aantal simpele dingen eerst te controleren. Is de netwerkkabel ingestoken? Zijn de netwerk instellingen correct opgegeven? Is de firewall goed geconfigureerd? Is de netwerkkaart ondersteund door FreeBSD? Controleer altijd de hardware notities voordat er een probleem rapport wordt verstuurd. Update naar de laatste -STABLE versie, en controleer de mailing lijsten en misschien zelfs het internet.
Als de kaart werkt, maar de prestaties zijn slecht, dan kan het de moeite waard zijn om tuning(7) door te nemen. Incorrecte netwerkinstellingen kunnen ook tot langzame verbindingen leiden.
Soms kunnen enkele device timeouts optreden. Met sommige kaarten is dit normaal gedrag. Maar als dit continu gebeurt of storend is, is het verstandig uit te zoeken of er geen sprake is van een hardwareconfict tussen de netwerkkaart en een ander apparaat. Ook dient nogmaals de bekabeling gecontroleerd te worden. Misschien zit er niets anders op dan een andere netwerkkaart te gebruiken.
Het is ook mogelijk dat er watchdog timeout foutmeldingen optreden. Als eerste moet dan de netwerkkabel gecontroleerd worden. Veel kaarten hebben een PCI-slot nodig dat Bus Mastering ondersteunt. Sommige oudere moederborden hebben maar één PCI-slot waarmee dit kan (meestal slot 0). In de documentatie van de netwerkkaart en het moederbord is na te gaan of dit het probleem is.
No route to host meldingen treden op
als het systeem niet in staat is om een pakket naar de
eindbestemming te routeren. Dit kan gebeuren als er geen
standaardroute aangegeven is of als er een kabel niet verbonden
is. De uitvoer van netstat -rn
moet
gecontroleerd worden of er een geldige route is naar de
bestemming. Mocht dit niet het geval zijn, dan staat er meer
informatie in Hoofdstuk 31, Geavanceerde netwerken.
ping: sendto: Permission denied
foutmeldingen worden vaak veroorzaakt door een verkeerd
ingestelde firewall. Als de kernel ipfw
activeert bij het opstarten zonder dat er firewallregels zijn
gedefiniëerd, is het standaardbeleid om alle verkeer te
weigeren, zelfs pings! In Hoofdstuk 30, Firewalls staat meer
informatie.
Er kan ook sprake zijn van onvoldoende prestaties doordat de
instelling van de mediaselectie niet optimaal is. In dergelijke
gevallen is het mogelijk om de mediaselectie niet als
autoselect
in te stellen, maar expliciet aan
te geven wat de mediaselectie moet zijn, bijvoorbeeld
10baseT/UTP voor twisted pair. Hoewel dit voor de meeste
hardware helpt, kan het zijn dat de problemen blijven. Dan
moeten nogmaals de netwerkinstellingen gecontroleerd worden en
geeft de tuning(7) handleiding wellicht meer
informatie.
FreeBSD wordt veel gebruikt voor virtuele sitehosting, waarbij één fysieke server er op het netwerk uitziet alsof het meerdere servers zijn. Dit kan bereikt worden door meerdere IP-adressen toe te kennen aan dezelfde interface.
Een bepaalde netwerkinterface heeft een “echt”
adres en kan daarnaast een willekeurig aantal
“alias”-adressen hebben. Normaliter worden
dergelijke aliassen toegevoegd door aliasregels toe te voegen aan
/etc/rc.conf
.
Een aliasregel voor de interface
fxp0
ziet er zo uit:
ifconfig_fxp0_alias0="inet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx"
De aliasregels moeten beginnen met alias0
en moete elkaar dan opvolgen (bijvoorbeeld
_alias1,
, _alias2
,
enzovoort). Het instelproces stopt als er een nummer
ontbreekt.
Het is belangrijk dat aliassen het juiste netmasker hebben.
Dit is eenvoudig: Een bepaalde interface moet altijd
één adres hebben dat het netmasker van het netwerk
correct representeert. Elk ander adres binnen dit netwerk op deze
interface (alias) moet een netmasker van allemaal
1
'en (bits) hebben (getoond als 255.255.255.255
of 0xffffffff
).
Een voorbeeld. Stel de interface
fxp0
is verbonden met twee netwerken, het
netwerk 10.1.1.0
met masker
255.255.255.0
en het netwerk
202.0.75.16
met netmasker
255.255.255.240
. Het systeem
moet ook de adressen 10.1.1.1
tot
en met 10.1.1.5
en 202.0.75.17
tot en met 202.0.75.20
krijgen. Zoals hierboven
vermeld, heeft alleen het eerste adres in een netwerkreeks (in dit
geval 10.0.1.1
en 202.0.75.17
) een geldig netmasker. Alle
overige (10.1.1.2
tot en met
10.1.1.5
en 202.0.75.18
tot en met 202.0.75.20
) moeten ingesteld worden met
het netmasker 255.255.255.255
.
De volgende regels voor /etc/rc.conf
stellen een adapter in voor het bovenstaande scenario:
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"
Systeemlogging is een belangrijk aspect van systeembeheer. Het wordt zowel gebruikt voor het opsporen van hardware-problemen als voor software-problemen in het systeem. Het speelt ook zeer belangrijke rol bij het controleren van de beveiliging en het reageren op incidenten. Systeem-daemons die niet in een terminal beheerd worden, loggen gewoonlijk informatie naar een systeemlogfaciliteit of een ander logbestand.
Deze sectie beschrijft hoe de FreeBSD systeemlogger, syslogd(8), te
configureren en te gebruiken, en behandelt logrotatie en logbeheer met
newsyslog(8). De focus ligt bij het opzetten en gebruiken van
syslogd
op een lokale machine. Meer geavanceerdere
opstellingen die een aparte loghost gebruiken staan in Paragraaf 29.11, “Hosts op afstand loggen met
syslogd
”.
In de standaardconfiguratie van FreeBSD wordt syslogd(8) gestart
tijdens het opstarten. Dit wordt bepaald door de variabele
syslogd_enable
in /etc/rc.conf
.
Er zijn vele toepassingsargumenten die het gedrag van syslogd(8)
beïnvloeden. Gebruik syslogd_flags
in
/etc/rc.conf
om ze te veranderen. Bekijk
syslogd(8) voor meer informatie over de argumenten, en
rc.conf(5), Paragraaf 12.3, “Hoofdinstellingen” en
Paragraaf 12.7, “Gebruik van rc met FreeBSD” voor meer informatie over
/etc/rc.conf
en het deelsysteem rc(8).
Het configuratiebestand, standaard
/etc/syslog.conf
, bepaalt wat syslogd(8) doet
met de logregels nadat ze eenmaal ontvangen zijn. Er zijn verschillende
parameters om de afhandeling van binnenkomende gebeurtenissen te
beheren, waarvan de twee basaalste faciliteit en
niveau zijn. De faciliteit beschrijft welk
deelsysteem het bericht genereerde, zoals de kernel of een daemon, het
niveau beschrijft de ernst van de opgetreden gebeurtenis. Dit maakt het
mogelijk om het bericht naar verschillende logbestanden te loggen, of
het weg te gooien, afhankelijk van de faciliteit en het niveau. Het is
ook mogelijk om actie te nemen afhankelijk van de toepassing dat het
bericht verstuurde, en in het geval van loggen op afstand, ook de
hostnaam van de machine dat het logbericht genereerde.
Het configureren van syslogd(8) is vrij rechttoe-rechtaan. Het
configuratiebestand bevat één regel per actie, de syntaxis
van elke regel is een selecteerderveld gevolgd door een actieveld. De
syntaxis van het selecteerderveld is
faciliteit.niveau
dat overeenkomt met
logberichten van faciliteit
op niveau
niveau
of hoger. Het is ook mogelijk om een
optionele vergelijkingsvlag voor het niveau toe te voegen om meer
precies te specificeren wat er gelogd wordt. Er kunnen meerdere
selecteerdervelden worden gebruikt voor dezelfde actie, ze worden
gescheiden door een puntkomma (;
). Het gebruik van
*
zal met alles overeenkomen. Het actieveld bepaalt
waar het logbericht naar toe wordt gezonden, zoals een bestand of een
loghost op afstand. Als voorbeeld is hier de standaard
syslog.conf
van FreeBSD:
# $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.warning;auth.notice;mail.crit /dev/console*.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err /var/log/messages security.* /var/log/security auth.info;authpriv.info /var/log/auth.log mail.info /var/log/maillog
lpr.info /var/log/lpd-errs ftp.info /var/log/xferlog cron.* /var/log/cron *.=debug /var/log/debug.log
*.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 # touch /var/log/all.log and chmod it to mode 600 before it will work #*.* /var/log/all.log # uncomment this to enable logging to a remote loghost 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 !ppp
*.* /var/log/ppp.log !*
Komt overeen met alle berichten met een | |
Komt overeen met alle berichten van de faciliteit
| |
Deze regel gebruikt een vergelijkingsvlag, | |
Hier volgt een gebruiksvoorbeeld van een
programmaspecificatie. Dit zorgt ervoor dat de
regels alleen geldig zijn voor het programma in de
programmaspecificatie. In dit geval zorgen deze en de volgende
regel ervoor dat alle berichten van |
Dit voorbeeld toont dat er vele niveaus en deelsystemen zijn. De
niveaus zijn, in volgorde van meest naar minst kritisch:
emerg
, alert
,
crit
, err
,
warning
, notice
,
info
en debug
.
De faciliteiten zijn, in geen specifieke volgorde:
auth
, authpriv
,
console
, cron
,
daemon
, ftp
,
kern
, lpr
,
mail
, mark
,
news
, security
,
syslog
, user
,
uucp
en local0
tot en met
local7
. Let erop dat andere besturingssystemen
andere faciliteiten kunnen hebben.
Met deze kennis is het eenvoudig om een nieuwe regel aan
/etc/syslog.conf
toe te voegen om alles van de
verschillende daemons op niveau notice
en hoger naar
/var/log/daemon.log
te loggen:
daemon.notice /var/log/daemon.log
Bekijk syslog(3) en syslogd(8) voor meer informatie over
de verschillende niveaus en faciliteiten. Zie syslog.conf(5) en
Paragraaf 29.11, “Hosts op afstand loggen met
syslogd
” voor meer informatie over
syslog.conf
, de syntaxis, en geavanceerdere
gebruiksvoorbeelden.
Logbestanden hebben de neiging om snel te groeien en gestadig
opgehoopt te raken. Dit leidt tot bestanden die vol zitten met minder
direct bruikbare informatie en de harde schijf volmaken. Logbeheer
kan gebruikt worden om dit te beheersen. In FreeBSD wordt
newsyslog(8) gebruikt om logbestanden te beheren. Dit programma
wordt gebruikt om periodiek logbestanden te roteren en te comprimeren
en om optioneel ontbrekende logbestanden aan te maken en programma's
te signaleren dat logbestanden zijn verplaatst. De logbestanden hoeven
niet per sé van syslog afkomstig te zijn; newsyslog(8)
werkt met elke log van elk programma. Het is belangrijk om op te
merken dat newsyslog
normaliter vanuit cron(8)
wordt gedraaid en niet een systeem-daemon is. In de
standaardconfiguratie wordt het elk uur gedraaid.
Om te weten wat het moet doen leest newsyslog(8) zijn
configuratiebestand, standaard is dit
/etc/newsyslog.conf
. Dit configuratiebestand
bevat één regel voor elk bestand dat newsyslog(8)
beheert. Elke regel noemt de eigenaar van het bestand, rechten, en
wanneer dat bestand te roteren, alsook optionele vlaggen die de
logrotatie beïnvloeden (zoals compressie) en naar welke
programma's een signaal te sturen wanner de log is geroteerd. Als
voorbeeld is hier de standaard configuratie in FreeBSD:
# configuration file for newsyslog # $FreeBSD$ # # Entries which do not specify the '/pid_file' field will cause the # syslogd process to be signalled when that log file is rotated. This # action is only appropriate for log files which are written to by the # syslogd process (ie, files listed in /etc/syslog.conf). If there # is no process which needs to be signalled when a given log file is # rotated, then the entry for that file should include the 'N' flag. # # The 'flags' field is one or more of the letters: BCDGJNUXZ or a '-'. # # Note: some sites will want to select more restrictive protections than the # defaults. In particular, it may be desirable to switch many of the 644 # entries to 640 or 600. For example, some sites will consider the # contents of maillog, messages, and lpd-errs to be confidential. In the # future, these defaults may change to more conservative ones. # # logfilename [owner:group] mode count size when flags [/pid_file] [sig_num] /var/log/all.log 600 7 * @T00 J /var/log/amd.log 644 7 100 * J /var/log/auth.log 600 7 100 @0101T JC /var/log/console.log 600 5 100 * J /var/log/cron 600 3 100 * JC /var/log/daily.log 640 7 * @T00 JN /var/log/debug.log 600 7 100 * JC /var/log/init.log 644 3 100 * J /var/log/kerberos.log 600 7 100 * J /var/log/lpd-errs 644 7 100 * JC /var/log/maillog 640 7 * @T00 JC /var/log/messages 644 5 100 @0101T JC /var/log/monthly.log 640 12 * $M1D0 JN /var/log/pflog 600 3 100 * JB /var/run/pflogd.pid /var/log/ppp.log root:network 640 3 100 * JC /var/log/security 600 10 100 * JC /var/log/sendmail.st 640 10 * 168 B /var/log/utx.log 644 3 * @01T05 B /var/log/weekly.log 640 5 1 $W6D0 JN /var/log/xferlog 600 7 100 * JC
Elke regel begint met de naam van het bestand dat geroteerd moet
worden, optioneel gevolgd door een eigenaar en groep voor zowel de
geroteerde als nieuw aangemaakte bestanden. Het volgende veld,
mode
is de modus van de bestanden en
count
geeft aan hoeveel geroteerde logbestanden
bewaard moeten worden. De velden size
en
when
vertellen newyslog
wanneer
het bestand geroteerd moet worden. Een logbestand wordt geroteerd
wanneer òfwel de grootte meer is dan de waarde in het veld
size
, òfwel wanneer de tijd in het veld
when
is verstreken. *
geeft aan
dat dit veld genegeerd wordt. Het veld
flags
geeft newsyslog(8) verdere
instructies, zoals hoe het geroteerde bestand te comprimeren of om het
logbestand aan te maken als het ontbreekt. De laatste twee velden
zijn optioneel en specificeren het PID-bestand van een proces en
een naar dat proces te verzenden signaalnummer wanneer het bestand
wordt geroteerd. Raadpleeg newsyslog.conf(5) voor meer
informatie over alle velden, geldige vlaggen en hoe de rotatietijd te
specificeren. Herinner dat newsyslog
wordt
gedraaid vanuit cron
en niet vaker bestanden kan
roteren dan dat het gedraaid wordt vanuit cron(8).
Instellingengegevens wordt in een aantal mappen bewaard. Daar zijn onder andere:
/etc | Generieke systeeminstellingenbestanden, specifiek voor het systeem. |
/etc/defaults | De standaardversies van systeeminstellingenbestanden. |
/etc/mail | Extra sendmail(8) instellingenbestanden of instellingenbestanden voor andere MTAs. |
/etc/ppp | Instellingen voor zowel gebruiker- als kernel-ppp programma's. |
/etc/namedb | Standaardlocatie voor named(8) gegevens.
Normaal gesproken bevinden zich hier
named.conf en zonebestanden. |
/usr/local/etc | Instellingenbestanden voor geïnstalleerde software. Kan submappen hebben waarin bij elkaar horende instellingengegevens van een applicatie gegroepeerd zijn. |
/usr/local/etc/rc.d | Start- en stopscripts voor geïnstalleerde diensten. |
/var/db | Automatisch gemaakte systeemspecifieke databasebestanden, zoals de pakketdatabase, de locate(1) database, enzovoort. |
In /etc/resolv.conf
wordt
voorgeschreven op welke wijze FreeBSD het Domain Name System
(DNS) moet gebruiken.
De meest voorkomende termen in
resolv.conf
zijn:
nameserver | Het IP-adres van een naamserver die ondervraagd moet worden voor naam/IP-conversie. De servers worden in volgorde geprobeerd en het maximale aantal is drie. |
search | Zoeklijst voor het opzoeken van hostnamen. Meestal wordt deze bepaald door het domein waarop de lokale hostnaam zich bevindt. |
domain | De lokale domeinnaam. |
Een typisch resolv.conf
bestand:
search example.com nameserver 147.11.1.11 nameserver 147.11.100.30
search
en domain
dienen niet tegelijk gebruikt te worden.
Als DHCP wordt gebruikt: dhclient(8) overschrijft
meestal resolv.conf
met informatie
ontvangen van de DHCP-server.
/etc/hosts
is een eenvoudige
tekstdatabase uit de dagen van het oude Internet. Het werkt
samen met DNS en NIS om namen en IP
adressen over en weer te vertalen. Lokale computers,
verbonden via een LAN, kunnen hier het beste in opgenomen
worden om zo op simpele wijze naam/IP
conversie voor een LAN te hebben, zonder noodzaak voor een
named(8) server. Ook kunnen naamaliassen toegekend
worden (vergelijkbaar met CNAMES bij DNS). Op soortgelijke
wijze kan /etc/hosts
gebruikt worden als
een (zeer beperkte) lokale DNS cache.
# $FreeBSD$ # # Host Database # Dit bestand hoort de adressen en aliassen te bevatten # voor de lokale hosts die dit bestand gebruiken. # Bij gebruik van DNS of NIS hoeft dit bestand helemaal niet gebruikt # te worden. Zie /etc/nsswitch.conf voor de volgorde van resolutie. # # ::1 localhost localhost.my.domain myname.my.domain 127.0.0.1 localhost localhost.my.domain myname.my.domain # # Verzonnen netwerk. #10.0.0.2 myname.my.domain myname #10.0.0.3 myfriend.my.domain myfriend # # Volgens RFC 1918 mogen de volgende IP netwerken gebruikt worden # als private netwerken die niet met Internet verbonden zijn: # # 10.0.0.0 - 10.255.255.255 # 172.16.0.0 - 172.31.255.255 # 192.168.0.0 - 192.168.255.255 # # Als er toch verbinding moet zijn met Internet, zijn echte # officieel toegewezen nummers nodig. Probeer ECHT GEEN eigen # netwerknummers te verzinnen, maar vraag ze op bij de provider # (als die er is) of bij de Internet Registry (ftp naar # rs.internic.net, map `/templates'). #
/etc/hosts
heeft als formaat:
[Internet address] [official hostname] [alias1] [alias2] ...
Bijvoorbeeld:
10.0.0.1 myRealHostname.example.com myRealHostname foobar1 foobar2
In hosts(5) staat meer informatie.
sysctl.conf
lijkt veel op
rc.conf
. Waardetoekenning heeft weer de
vorm variable=value
. De ingestelde
sysctl(8)-waarden worden doorgevoerd op het moment dat het
systeem naar multi-user modus gaat. Niet alle variabelen kunnen
in deze modus gewijzigd worden.
Om te voorkomen dat er logregels geplaatst worden als
processen crashen en om te voorkomen dat andere gebruikers
kunnen zien welke processen er gestart zijn door een andere
gebruiker, kunnen de volgende instellingen worden gezet in
sysctl.conf
:
#Log exits met fatale signalen niet (bv. sig 11) kern.logsigexit=0 # Voorkom dat gebruikers informatie zien over processen die # worden gedraaid onder een ander UID. security.bsd.see_other_uids=0
sysctl(8) is een interface waarmee veranderingen gemaakt kunnen worden aan een draaiend FreeBSD-systeem. Er zijn onder meer vele geavanceerde opties voor de TCP/IP-stack en het virtuele geheugensysteem, waarmee een ervaren systeembeheerder de systeemprestaties drastisch kan verbeteren. Met sysctl(8) kunnen meer dan vijfhonderd systeemvariabelen opgevraagd en ingesteld worden.
In essentie heeft sysctl(8) twee functies: het lezen en wijzigen van systeeminstellingen.
Om alle leesbare variabelen te tonen:
%
sysctl -a
Om een bepaalde variabele op te vragen, bijvoorbeeld
kern.maxproc
:
%
sysctl kern.maxproc
kern.maxproc: 1044
Om een bepaalde variabele toe te kennen (te wijzigen), is de
syntaxis
variable
=value
:
#
sysctl kern.maxfiles=5000
kern.maxfiles: 2088 -> 5000
Waarden van sysctl-variabelen zijn doorgaans strings (tekst),
getallen of booleans (1
als waar,
0
als onwaar).
Om automatisch variabelen in te stellen als de machine start,
kunnen ze toegevoegd worden aan
/etc/sysctl.conf
. Meer informatie staat in
sysctl.conf(5) en Paragraaf 12.11.3, “sysctl.conf
”.
In sommige gevallen is het wenselijk om sysctl(8)-waarden die alleen-lezen zijn toch te wijzigen. Hoewel dit soms onontkoombaar is, kan het alleen bij een (her)start gedaan worden.
Op sommige laptops is bijvoorbeeld het apparaat cardbus(4) niet in staat om geheugenregio's af te tasten, met als gevolg foutmeldingen als:
cbb0: Could not map register memory device_probe_and_attach: cbb0 attach returned 12
In dergelijke gevallen moeten er meestal enkele
sysctl(8)-instellingen gewijzigd worden die alleen-lezen zijn
en een standaardwaarde hebben. Dit kan bereikt worden door
sysctl(8) “OIDs” in de lokale
/boot/loader.conf
te zetten.
Standaardinstellingen staan in
/boot/defaults/loader.conf
.
Om het bovenstaande probleem op te lossen moet in
/boot/loader.conf
hw.pci.allow_unsupported_io_range=1
ingesteld
worden. Dan werkt cardbus(4) wel goed.
De sysctl-variabele vfs.vmiodirenable
kan de waarde 0 (uit) of 1 (aan) hebben. De standaardwaarde
is 1. Deze variabele bepaalt hoe mappen door het systeem in
een cache bewaard worden. De meeste mappen zijn klein en
gebruiken slechts een klein fragment (typisch 1 K) in het
bestandssysteem en nog minder (typisch 512 bytes) in de
buffercache. Als deze variabele uit staat (op 0) bewaart de
buffercache slechts een bepaald aantal mappen in de cache, ook
al is er een overvloed aan geheugen beschikbaar. Wanneer deze
aan staat (op 1), wordt de VM paginacache gebruikt, waardoor
voor het cachen van mappen al het geheugen kan worden
gebruikt. Het is echter wel zo dat het minimale in-core
geheugen dat gebruikt wordt om een map te cachen in dat geval
de fysieke paginagrootte is (typisch 4 K) in plaats van
512 bytes. Het is aan te raden deze optie aan te laten
staan als gebruik gemaakt wordt van diensten die met grote
aantallen bestanden werken, zoals webcaches, grote
mailsystemen en newsservers. Als deze optie aan blijft staan,
verlaagt die de prestaties niet, ook al kost het meer
geheugen. Door experimenteren is dit voor een systeem na te
gaan.
De sysctl-variabele vfs.write_behind
staat standaard aan (1
). Dit betekent dat
het bestandssysteem gegevens naar het medium gaat schrijven op
het moment dat er een volledig cluster aan gegevens verzameld
is. Dit is meestal het geval bij het schrijven van grote
sequentiële bestanden. Het idee is om te voorkomen dat
de buffercache verzadigd raakt met vuile buffers zonder dat
dit bijdraagt aan de I/O-prestaties. Dit kan echter processen
ophouden en onder sommige omstandigheden is het wellicht beter
deze sysctl uit te zetten.
De sysctl-variabele vfs.hirunningspace
bepaalt hoeveel nog te schrijven gegevens er in het complete
systeem op elk moment in de wachtrij naar schijfcontrollers
mag staan. De standaardwaarde is meestal voldoende, maar op
machines met veel schijven, is het beter deze te verhogen naar
vier of vijf megabyte. Het instellen van
een te hoge waarde (groter dan de schrijfdrempel van de
buffercache) kan leiden tot zeer slechte prestaties bij
clustering. Stel deze waarde niet arbitrair hoog in! Hogere
schrijfwaarden kunnen vertraging veroorzaken in het lezen, als
dit tegelijk plaatsvindt.
Er zijn verscheidene andere sysctl's voor buffercache en VM-pagecache. Het wordt afgeraden deze te wijzigen. Het VM-systeem is zeer goed in staat zichzelf automatisch te optimaliseren.
De sysctl-variabele
vm.swap_idle_enabled
is nuttig in grote
meergebruikersystemen met veel gebruikers die af- en aanmelden
en veel onbenutte processen. Dergelijke systemen hebben de
neiging om voortdurend de vrije geheugenreserves onder druk
te zetten. Het is mogelijk om de prioriteit van
geheugenpagina's die verband houden met onbenutte processen
sneller te laten dalen dan met het normale pageout-algoritme,
door deze sysctl aan te zetten en via
vm.swap_idle_threshold1
en
vm.swap_idle_threshold2
de swapout
hysterese (in seconden onbenut) af te stemmen. Deze optie
dient alleen gebruikt te worden als ze echt nodig is, want de
andere kant van de medaille is dat dit eerder pre-page
geheugen inhoudt in plaats van later, waardoor het meer
wisselbestand- en schijfbandbreedte kost. In een klein
systeem heeft deze optie een voorspelbaar effect, maar in
grote systemen waar al sprake is van een matige paging kan
deze optie het mogelijk maken voor het VM-systeem om hele
processen gemakkelijk in en uit het geheugen te halen.
Ten tijde van FreeBSD 4.3 is er geflirt met het
uitzetten van IDE-schrijfcaching. Hierdoor neemt de
bandbraadte naar IDE-schijven af, maar het werd als
noodzakelijk beschouwd vanwege ernstige problemen met
gegevensinconsistentie die door harde schijfproducenten
geëintroduceerd waren. Het probleem is dat IDE-schijven
niet de waarheid vertellen over wanneer een schrijfactie
klaar is. Door IDE-schrijfcaching wordt data niet alleen
ongeordend geschreven, maar soms kan zelfs het schrijven van
sommige blokken voortdurend uitgesteld worden als er sprake is
van een hoge schijfbelasting. Een crash of stroomstoring kan
dan ernstige corruptie aan het bestandssysteem veroorzaken.
Daarom werd de standaardinstelling van FreeBSD voor alle
zekerheid gewijzigd. Helaas was het resultaat een groot
verlies aan prestaties en na die uitgave is de
standaardwaarde weer terug veranderd. Met de sysctl-variabele
hw.ata.wc
kan gecontroleerd worden of
schrijfcaching aan of uit staat. Als schrijfcaching uit
staat, kan het die weer aangezet worden door
hw.ata.wc
op 1 te zetten. Aangezien dit
een kernelvariabele is, moet deze ingesteld worden vanuit de
bootloader tijdens het opstarten. Nadat de kernel eenmaal
opgestart is, heeft het wijzigen van deze sysctl geen
effect.
Meer informatie staat in ata(4).
De kernelinstelling SCSI_DELAY
kan
gebruikt worden om de opstarttijd te versnellen. De
standaardwaarde is nogal hoog en kan 15
seconden vertraging veroorzaken. Met modernere SCSI-systemen
is 5
seconden al voldoende (zeker met
moderne schijven). De kern.cam.scsi_delay
opstart variabele moet hier gebruikt worden. De variabele
en kernelconfiguratie-optie accepteren waarden uitgedrukt
in milliseconden en
niet in
seconden.
tunefs(8) kan gebruikt worden om een bestandsysteem nauwkeurig af te stellen. Het heeft veel opties, maar nu wordt alleen het aan- en uitzetten van softupdates besproken. Dat gaat als volgt:
#
tunefs -n enable /filesystem
#
tunefs -n disable /filesystem
Een bestandssysteem kan niet met tunefs(8) gewijzigd worden als het aangekoppeld is. Softupdates aanzetten wordt dus in het algemeen gedaan vanuit enkelegebruikermodus, voordat partities aangekoppeld zijn.
Softupdates zorgen voor een drastische verbetering van de
prestaties met betrekking tot metagegevens, met name het
aanmaken en verwijderen van bestanden, door gebruik van een
geheugencache. Het wordt dan ook aangeraden om op alle
bestandssystemen softupdates te gebruiken. Er zijn twee nadelen
aan softupdates: softupdates garanderen een consistent
bestandssysteem in geval van een crash, maar het kan makkelijk
enkele seconden (zelfs een minuut) achter liggen met het
daadwerkelijk bijwerken op de fysieke harde schijf. Als een
systeem crasht gaat wellicht meer werk verloren dan anders het
geval zou zijn. Daarnaast vertragen softupdates het vrijgeven
van bestandssysteemblokken. Als een bestandssysteem (zoals de
rootpartitie) bijna vol is, dan kan het verrichten van een grote
update, zoals make installworld
, ertoe leiden
dat het bestandssysteem ruimtegebrek krijgt en dat daardoor de
operatie mislukt.
Er zijn traditioneel twee methodes om de metagegevens van een bestandssysteem terug naar de schijf te schrijven. Het bijwerken van metagegevens houdt het bijwerken van van niet-inhoudelijke gegevens zoals inodes of mappen in.
Historisch gezien was het gebruikelijk om updates aan
metagegevens synchroon weg te schrijven. Als een map
bijvoorbeeld gewijzigd was, wachtte het systeem totdat de
verandering daadwerkelijk naar de schijf geschreven was. De
gegevensbuffers (de inhoud van een bestand) werden
doorgeschoven naar de buffercache en op een later moment
asynchroon op de schijf opgeslagen. Het voordeel van deze
benadering is dat ze altijd veilig is. Als het systeem faalt
tijdens het bijwerken, zijn de metagegevens nog altijd
consistent. Een bestand kan volledig gecreëerd zijn of
helemaal niet. Als de gegevensblokken van een bestand nog
niet van de buffercache naar de schijf geschreven zijn ten
tijde van de crash, is fsck(8) in staat om dit te
herkennen en het bestandssysteem te repareren door de lengte
van het bestand nul te maken. Deze implementatie is ook
helder en eenvoudig. Het nadeel is echter dat het wijzigen
van metagegevens een traag proces is. Een
rm -r
benadert bijvoorbeeld alle bestanden
in een map sequentiëel, maar elke mapverandering
(verwijderen van een bestand) wordt synchroon naar de schijf
geschreven. Dit omvat ook het bijwerken van de map zelf, van
de inodetabel en mogelijk ook van indirecte blokken die voor
het bestand in kwestie zijn gealloceerd. Gelijksoortige
processen spelen zich af bij een commando als
tar -x
, waarbij een grote
bestandshiëearchie wordt uitgepakt.
De tweede mogelijkheid is om het bijwerken van
metagegevens asynchroon weg te schrijven. Dit is standaard in
Linux®/ext2fs en als een *BSD UFS-bestandssysteem met
mount -o async
aangekoppeld is, is de
werking hetzelfde. Alle bijwerkingen aan metagegevens worden
eenvoudigweg doorgegeven aan de buffercache en vermengd met
inhoudelijke updates van de bestandsgegevens. Het voordeel
is een grote winst aan snelheid, omdat er niet telkens gewacht
hoeft te worden op het bijwerken van metagegevens tot deze
daadwerkelijk naar de schijf geschreven zijn. De
implementatie is ook in dit geval helder en eenvoudig. Het
grote nadeel is uiteraard dat er geen enkele garantie is voor
de consistentie van het bestandssysteem. Als het systeem
faalt tijdens een operatie waarbij veel metagegevens worden
bijgewerkt (bijvoorbeeld door een stroomstoring of iemand
drukt op de resetknop), blijft het bestandssysteem in een
onvoorspelbare toestand achter. Er is geen mogelijkheid om de
toestand van het bestandssysteem te onderzoeken als het
systeem weer opstart, want de gegevensblokken van een bestand
kunnen al weggeschreven zijn geweest terwijl het wegschrijven
van bijwerkingen aan de inodetabel of de bijhorende map nog
niet plaats heeft gevonden. Het is zelfs onmogelijk om een
fsck
te implementeren die de overgebleven
chaos kan opruimen: de benodigde informatie is gewoon niet
volledig aanwezig op de schijf. Als een bestandssysteem op
deze manier onherstelbaar beschadigd is, is de enige optie
newfs(8) te gebruiken en vervolgens te herstellen van
een back-up.
De gebruikelijke oplossing voor dit probleem is het implementeren van dirty region logging, ook wel journaling genoemd, hoewel deze term niet consistent gebruikt wordt en soms ook wordt gebruikt voor andere vormen van transactielogging. Het bijwerken van metagegevens wordt nog steeds synchroon geschreven, maar slechts naar een klein gebied van de schijf. Later worden ze dan naar de juiste locatie verplaatst. Omdat het loggebied klein is, hoeven de koppen van de schijf zelfs tijdens schrijfintensieve operaties nog maar over een kleine fysieke afstand te bewegen en door deze snellere respons zijn dit soort operaties sneller dan op de traditionele manier. De extra complexiteit van de implementatie is nogal beperkt, dus het risico van introductie van extra bugs valt mee. Een nadeel is dat alle metagegevens tweemaal geschreven worden (eerst naar het loggebied en later nog eens naar de definitieve locatie). Dus bij normaal gebruik kan er sprake zijn van wat men wel noemt een “performance pessimization”. Anderzijds kunnen in geval van een crash alle nog uitstaande metagegevensoperaties snel worden teruggedraaid of vanuit het loggebied alsnog worden afgemaakt wanneer de machine weer opstart. Het bestandssysteem start dan snel op.
Kirk McKusick, de vader van het Berkeley FFS, loste dit
probleem op met softupdates, wat betekent dat alle uitstaande
acties voor het bijwerken van metagegevens in het geheugen
bewaard worden en dan geordend naar de schijf geschreven
worden. Dit heeft het gevolg dat in geval van intensieve
operaties met betrekking tot metagegevens, latere bijwerkingen
aan een item eerdere bewerkingen opvangen
(“catch”) als deze nog in het geheugen zitten en
nog niet weggeschreven waren. Dus alle operaties, op
bijvoorbeeld een map, worden in het algemeen eerst in het
geheugen uitgevoerd voordat er wordt bijgewerkt naar schijf.
De gegevensblokken worden geordend conform hun positie, zodat
ze nooit weggeschreven worden voordat hun metagegevens
geschreven zijn. Als het systeem een crash ondervindt,
veroorzaakt dat impliciet het terugdraaien van uitstaande
operaties (“log rewind”): alle operaties die nog
niet weggeschreven waren lijken nooit gebeurd te zijn. Zo
wordt een consistent bestandssysteem in stand gehouden dat
eruit ziet alsof het 30 tot 60 seconden eerder was. Het
gebruikte algoritme garandeert dat alle bronnen die in gebruik
zijn als zodanig gemarkeerd worden in hun daarvoor geschikte
bitmaps: blokken en inodes. Na een crash is de enige
allocatiefout die kan optreden dat bronnen gemarkeerd kunnen
zijn als in gebruik (“used”), terwijl ze
feitelijk alweer beschikbaar (“free”) zijn.
fsck(8) herkent deze situatie en stelt dergelijke vrij
te maken bronnen opnieuw beschikbaar. Het is volkomen veilig
om na een crash te negeren dat het bestandssysteem niet schoon
is en het tot aankoppelen te dwingen met
mount -f
. Om niet langer gebruikte
bronnen vrij te maken moet later fsck(8) uitgevoerd
worden. Dit is dan ook het idee achter background
fsck: op het moment dat het systeem aan het
opstarten is, wordt er alleen een
snapshot van het systeem bewaard.
fsck
kan later uitgevoerd worden. Alle
bestandssystemen kunnen “dirty” aangekoppeld
worden en het systeem kan gewoon verder opstarten naar
meergebruikermodus. Vervolgens zijn er
fsck
s gepland die in de achtergrond draaien
voor elk bestandssysteem dat niet schoon is en waarmee
bezette bronnen vrijgegeven worden. Bestandssystemen die geen
gebruik maken van softupdates moeten echter nog steeds gebruik
maken van de normale fsck
in de
voorgrond.
Het voordeel van softupdates is dat operaties op
metagegevens bijna net zo snel zijn als asynchrone updates
(dat wil zeggen sneller dan met logging,
waarbij de metagegevens keer op keer geschreven worden).
Nadelen zijn de complexiteit van de code (wat een groter
risico op bugs impliceert in een gebied dat bijzonder
gevoelig is voor verlies van gebruikersgegevens) en een
groter geheugenverbruik. Tevens moet de gebruiker wennen aan
enkele eigenaardigheden. Na een crash lijkt de toestand van
het bestandssysteem wat “ouder”. In situaties
waar de standaard synchrone benadering een aantal lege
bestanden zou hebben achtergelaten na
fsck
, is het met softupdates juist zo dat
dergelijke bestanden er helemaal niet zijn, omdat de
metagegevens of de bestandsinhoud nooit naar de schijf zijn
geschreven. Schijfruimte wordt pas vrijgegeven als de
bijwerkingen aan metagegevens en inhoudelijke
bestandsgegevens weggeschreven zijn, wat mogelijk pas enige
tijd na het uitvoeren van rm
plaatsvindt.
Dit kan problemen veroorzaken als er grote hoeveelheden
gegevens naar een bestandssysteem geschreven worden dat
onvoldoende vrije ruimte heeft om alle bestanden twee keer te
kunnen bevatten (bijvoorbeeld in /tmp
).
kern.maxfiles
kan worden verhoogd of
verlaagd, afhankelijk van de systeembehoeften. Deze variabele
geeft het maximale aantal bestandsdescriptors op een systeem.
Als de bestandsdescriptortabel vol is, toont de systeembuffer
meerdere malen file: table is full, hetgeen
achteraf te zien is met dmesg
.
Elk geopend bestand, socket of fifo heeft een bestandsdescriptor. Een grote produktieserver kan makkelijk enige duizenden bestandsdescriptors nodig hebben, afhankelijk van het soort en aantal diensten die tegelijk draaien.
In oudere versies van FreeBSD werd de standaard waarde van
kern.maxfiles
afgeleid van de optie
maxusers
in het kernelconfiguratiebestand.
kern.maxfiles
groeit evenredig met de
waarde van maxusers
. Als een aangepaste
kernel wordt gebouwd, is het een goed idee om deze kerneloptie
in te stellen afhankelijk van het gebruikt van een systeem
(maar niet te laag). Hoewel een produktieserver misschien
niet 256 gelijktijdige gebruikers heeft, kunnen de benodigde
systeembronnen het beste vergeleken worden met een
grootschalige webserver.
De optie maxusers
stelt de grootte van
een aantal belangrijke systeemtabellen in. Dit aantal moet
ruwweg gelijk zijn aan het aantal gebruikers dat verwacht
wordt gelijktijdig van de machine gebruik te maken.
Vanaf FreeBSD 4.5 wordt kern.maxusers
automatisch ingesteld tijdens het opstarten gebaseerd op de
hoeveelheid beschikbare geheugen in het systeem en kan worden
vastgesteld tijdens het draaien door te kijken naar de
alleen-lezen sysctl kern.maxusers
. Sommige
configuraties hebben grotere of kleinere waarden nodig van
kern.maxusers
, deze kunnen worden gezet
als een opstartvariabele. Waardes van 64, 128 en 256 zijn
daarin niet ongewoon. We raden aan om niet boven de 256 te
gaan tenzij er heel veel bestandsdescriptors benodigd zijn;
veel van de aanpasbaare waarden die standaard worden bepaald
door kern.maxusers
kunnen individueel
worden overschreven tijdens het opstarten en/of tijdens het
draaien van het systeem in
/boot/loader.conf
(zie de handleiding
loader.conf(5) of
/boot/defaults/loader.conf
voor een paar
aanwijzingen) of zoals elders beschreven in dit document.
Voor oudere versies stelt het systeem deze waarde zelf in
als deze uitdrukkelijk op 0
is gezet.
[5]
Als het gewenst is om deze waarde zelf aan te geven, wordt
aangeraden om maxusers
minstens op 4 te
zetten, met name als het X Window systeem in gebruik is of als
er software gecompileerd wordt. De reden hiervoor is dat de
belangrijkste tabel die door maxusers
ingesteld wordt, het maximum aantal processen is, dat
ingesteld wordt op 20 + 16 * maxusers
, dus
als maxusers
op 1 ingesteld wordt, zijn er
maar 36 gelijktijdige processen mogelijk, inclusief de
ongeveer achttien processen die door het systeem tijdens het
opstarten start en de ongeveer vijftien processen die
waarschijnlijk aangemaakt worden door het opstarten van het X
Window systeem. Zelfs een eenvoudige taak als het afbeelden
van een hulppagina start negen processen op om de pagina te
filteren, te decomprimeren en af te beelden. Als
maxusers
op 64 ingesteld wordt, zijn er
1044 gelijktijdige processen mogelijk, wat genoeg moet zijn
voor bijna alle soorten gebruik. Als echter de gevreesde
fout proc table full verschijnt als er
geprobeerd wordt om een programma op te starten of als er een
server gedraaid wordt met een groot aantal gelijktijdige
gebruikers, zoals ftp.FreeBSD.org
, kan het getal altijd
verhoogd worden en kan de kernel opnieuw gebouwd
worden.
maxusers
stelt
geen grens aan het aantal gebruikers
dat zich op de machine kan aanmelden. Het stelt gewoon
verschillende tabelgroottes in op redelijke waardes,
uitgaande van het maximum aantal gebruikers dat
waarschijnlijk de machine gebruikt en van het aantal
processen dat elk van deze gebruikers zal draaien. Een
sleutelwoord dat wel het aantal
gelijktijdige aanmeldingen op afstand en X-terminalvensters
begrensd is pseudo-device pty
16
. In FreeBSD 5.X kan dit getal
genegeerd worden omdat daar het stuurprogramma pty(4)
“auto-cloning” is. Er kan eenvoudig gebruik
worden gemaakt van de regel device pty
in het instellingenbestand.
De sysctl-variabele kern.ipc.somaxconn
beparkt de grootte van de luisterwachtrij voor het accepteren
van nieuwe TCP-verbindingen. De standaardwaarde van
128
is meestal te laag voor robuuste
behandeling van nieuwe verbindingen in een zwaarbeladen
webserveromgeving. Voor zulke omgevingen wordt aangeraden
deze waarde te verhogen tot 1024
of hoger.
De dienstdaemon beperkt misschien zelf de luisterwachtrij
(bijvoorbeeld sendmail(8) of
Apache), maar heeft vaak een
mogelijkheid in een configuratiebestand de wachtrijgrootte
aan te passen. Grote luisterwachtrijen zijn ook beter in het
ontwijken van Ontzegging van Dienst (DoS)
aanvallen.
De kerneloptie NMBCLUSTERS
bepaalt het
aantal netwerk-Mbufs dat beschikbaar is voor een systeem. Een
veel bezochte server met een laag aantal Mbufs beperkt de
mogelijkheden van FreeBSD. Elk cluster staat voor ongeveer
2 K geheugen, dus een waarde van 1024 stelt 2 megabyte
aan kernelgeheugen voor, dat is gereserveerd voor
netwerkbuffers. Een simpele berekening geeft aan hoeveel er
nodig is. Stel dat een webserver met een maximum van 1000
simultane verbindingen voor elke verbinding 16 K aan
ontvangstnetwerkbuffers en 16 K aan zendbuffers kost, dan
is ongeveer 32 MB aan netbuffers nodig voor de webserver.
Een goede vuistregel is te vermeniguldigen met twee, dus
2x32 MB / 2 KB = 64 MB /
2 kB = 32768. Voor machines met veel geheugen wordt
4096 tot 32768 aangeraden. Er moet in geen geval een arbitrair
hoge waarde voor deze sysctl opgegeven worden, want dat kan
leiden tot een crash tijdens het opstarten. Met de optie
-m
van netstat(1) kan het clustergebruik
van het netwerk bekeken worden.
De loaderparameter kern.ipc.nmbclusters
moet gebruikt worden om dit tijdens het opstarten toe te passen.
Alleen voor oudere versies van FreeBSD is het nodig om de
kerneloptie NMBCLUSTERS
te gebruiken.
Voor drukke servers die extensief gebruik maken van de
systeemaanroep sendfile(2), kan het nodig zijn het aantal
sendfile(2)-buffers te verhogen via de kerneloptie
NSFBUFS
of door de waarde in te stellen in
/boot/loader.conf
(in loader(8) staan
details). Als er in de procestabel processen staan met een
status sfbufa
is dat een algemene indicator
dat deze parameter aangepast moet worden. De sysctl-variabele
kern.ipc.nsfbufs
is alleen-lezen en laat zien
op welke waarde deze kernelvariabele is ingesteld. Deze
parameter schaalt engiszins met de variabele
kern.maxusers
, maar het kan nodig zijn om
deze bij te stellen.
Zelfs als een socket als non-blocking gemarkeerd is, dan
nog kan het aanroepen van sendfile(2) op de non-blocking
socket ertoe leiden dat er toch blokkade optreedt totdat er
voldoende struct sf_buf
's vrijgemaakt
zijn.
De sysctl-variabelen
net.inet.ip.portrange.*
bepalen welke reeks
poortnummers automatisch gebonden wordt aan TCP- en
UDP-sockets. Er zijn drie gebieden: een laag gebied, een
(standaard) middengebied en een hoog gebied. De meeste
netwerkprogramma's gebruiken het standaardbereik, wat
begrensd wordt door
net.inet.ip.portrange.first
en
net.inet.ip.portrange.last
met
standaardwaarden van respectievelijk 1024 en 5000. Gebonden
poortreeksen worden gebruikt voor uitgaande verbindingen en
het is onder bepaalde omstandigheden mogelijk dat poorten op
raken. Dit gebeurt meestal in het geval van een zwaar belaste
webproxy. Poortbereik is niet van belang als vooral diensten
draaien die zich bezighouden met inkomende verbindingen, zoals
een normale webserver, of als het aantal uitgaande
verbindingen beperkt is, zoals bij een mailrelay. Voor
situaties waarin een tekort aan poorten dreigt, wordt
aangeraden om net.inet.ip.portrange.last
bescheiden op te hogen. Een waarde van
10000
, 20000
of
30000
is redelijk. Er moet ook rekening
met effecten op firewalls gehouden worden als de poortreeks
gewijzigd wordt. Sommige firewalls kunnen grote poortreeksen
blokkeren, meestal de lagere poorten, en verwachten dat andere
systemen hogere poorten gebruiken voor uitgaande verbindingen.
Om deze reden wordt het niet aanbevolen om
net.inet.ip.portrange.first
te
verlagen.
De TCP-bandbreedtevertragingsproductlimitatie lijkt op
TCP/Vegas in NetBSD. Het kan aangezet worden door de
sysctl-variabele
net.inet.tcp.inflight.enable
de waarde
1
te geven. Het systeem tracht dan het
bandbreedtevertragingssprodukt te berekenen voor elke
verbinding en beperkt dan de hoeveelheid gegevens in de
wachtrij naar het netwerk tot de hoeveelheid die vereist is om
maximale doorvoer te kunnen handhaven.
Dit is nuttig bij gebruik van modems, Gigabit Ethernet of
zelfs bij WAN-verbindingen met hoge snelheid (of elke andere
verbinding met een groot bandbreedtevertragingsprodukt), in
het bijzonder als ook windowschaling of een groot
verzendwindow gebruikt wordt. Als deze optie aangezet wordt,
dient ook net.inet.tcp.inflight.debug
de
waarde 0
te krijgen (geen debugging) en
voor produktiegebruik kan het instellen van
net.inet.tcp.inflight.min
naar minstens
6144
voordeel opleveren. Het instellen van
hoge minima kan effectief het beperken van bandbreedte
ondermijnen, afhankelijk van de verbinding. De mogelijkheid
tot limitering zorgt ervoor dat de hoeveelheid gegevens die
opgebouwd wordt, in tussentijdse route- en switchwachtrijen
verlaagd kan worden en tevens kan de hoeveelheid gegevens die
opgebouwd wordt in de interfacewachtrij van de lokale host
verlaagd worden. Met minder pakketten in wachtrijen kunnen
interactieve verbindingen opereren met lagere
Round Trip tijden, met name over langzame
modems. Deze optie gaat alleen over datatransmissie (upload /
serverkant) en heeft geen effect gegevensontvangst (download /
cliëntkant).
Aanpassen van
net.inet.tcp.inflight.stab
wordt
niet aangeraden. Deze parameter krijgt
standaard een waarde van 20, wat 2 maximale pakketten opgeteld
bij de bandbreedtevensterberekening representeert. Het extra
venster is nodig om het algoritme stabiel te houden en om de
reactietijd bij veranderende omstandigheden te verbeteren,
maar het kan ook leiden tot langere pingtijden over langzame
verbindingen (zonder het inflight-algoritme kan dit echter nog
erger zijn). In dergelijke gevallen kan deze parameter
misschien verlaagd worden naar 15, 10 of 5 en misschien moet
voor het gewenste effect ook
net.inet.tcp.inflight.min
verlaagd worden
(bijvoorbeeld naar 3500). Het verlagen van deze parameters
moet pas in laatste instantie overwogen worden.
Een vnode is de interne representatie van een bestand of een map. Het verlagen van het aantal beschikbare vnodes voor het besturingssysteem leidt dus tot een daling van schijf-I/O. Normaliter wordt dit door het besturingssysteem afgehandeld en hoeft de instelling niet gewijzigd te worden. Im sommige gevallen kan schijf-I/O de beperkende factor zijn en kan het systeem alle beschikbare vnodes in gebruik hebben. Dan dient deze instelling gewijzigd te worden. De hoeveelheid inactief en beschikbaar RAM dient meegenomen te worden in de beslissing.
Het huidige aantal gebruikte vnodes kan als volgt bekeken worden:
#
sysctl vfs.numvnodes
vfs.numvnodes: 91349
Om het maximale aantal vnodes weer te geven:
#
sysctl kern.maxvnodes
kern.maxvnodes: 100000
Als het huidige aantal gebruikte vnodes dicht bij het
maximale aantal ligt, is het verstandig om
kern.maxvnodes
op te hogen met 1.000.
Ook vfs.numvnodes
dient in de gaten
gehouden te worden. Als de waarde weer tot aan het maximum
stijgt, dan moet kern.maxvnodes
verder
opgehoogd worden. Er dient een verschuiving op te treden in
het door top(1) gerapporteerde geheugengebruik. Er hoort
meer geheugen actief te zijn.
Hoe goed er ook gepland wordt, soms draait een systeem gewoon niet zoals verwacht. Een oorzaak hiervoor kan een tekort aan wisselbestandruimte zijn. Als blijkt dat er meer wisselbestandruimte nodig is, kan dat eenvoudig. Er zijn drie manieren om de totale ruimte beschikbaar als wisselbestand te vergroten: een nieuwe harde schijf toevoegen, swappen over NFS of een wisselbestand maken op een bestaande (UFS of andere) partitie.
Kijk voor informatie over het beveiligen van het wisselbestand, welke opties hiervoor bestaan, en waarom dit gedaan zou moeten worden in Paragraaf 19.17, “Het versleutelen van de wisselbestand ruimte” van het handboek.
Een nieuwe harde schijf voor swap toevoegen geeft betere prestaties dan een partitie aan een bestaande schijf toevoegen. Het aanmaken van partities en harde schijven wordt uitgelegd in Paragraaf 19.3, “Schijven toevoegen”. Paragraaf 12.2, “Initiële instellingen” bespreekt de overwegingen van partitie-indelingen en de grootte van swap-partities.
Gebruik swapon(8) om een swap-partitie aan het systeem toe te voegen, bijvoorbeeld:
#
swapon /dev/ada1s1b
Het is mogelijk om elke partitie te gebruiken die momenteel niet aangekoppeld is, zelfs als deze al gegevens bevat. Het gebruik van swapon(8) op een partitie die gegevens bevat zal deze gegevens overschrijven en vernietigen. Zorg ervoor dat de partitie die als swap toegevoegd wordt echt de bedoelde partitie is voordat swapon(8) gebruikt wordt.
Voeg een regel toe aan /etc/fstab
voor de
partitie om deze swap-partitie automatisch toe te voegen tijdens het
opstarten:
/dev/ada1s1b
none swap sw 0 0
Raadpleeg fstab(5) voor een uitleg over de regels in
/etc/fstab
.
In het algemeen wordt swappen over NFS niet aangeraden behalve als het onmogelijk is om naar een lokale schijf te swappen. NFS-swappen wordt gelimiteerd door de hoeveelheid beschikbare bandbreedte en belast het de NFS-server.
Het is mogelijk om een bestand aan te maken van een bepaalde
grootte en dit als swap te gebruiken. In dit voorbeeld wordt
een bestand van 64 MB gebruikt,
/usr/swap0
. Uiteraard kan een willekeurige
naam gebruikt worden.
De kernel GENERIC
bevat reeds het
stuurprogramma voor geheugenschijven (md(4)) dat nodig is
voor deze bewerking. Zorg ervoor dat tijdens het bouwen van een
eigen kernel de volgende regel in uw configuratiebestand
zit:
device md
Kijk voor meer informatie over het bouwen van een eigen kernel in Hoofdstuk 9, De FreeBSD-kernel instellen.
Het wisselbestand /usr/swap0
aanmaken:
#
dd if=/dev/zero of=/usr/swap0 bs=1024k count=64
De correcte rechten op /usr/swap0
instellen:
#
chmod 0600 /usr/swap0
Het wisselbestand opnemen in
/etc/rc.conf
:
swapfile="/usr/swap0" # Instellen op naam van wisselbestand als hulpwisselbestand gewenst is
De machine moet herstart worden of om het wisselbestand direct in te schakelen:
#
mdconfig -a -t vnode -f /usr/swap0 -u 0 && swapon /dev/md0
Het is belangrijk om hardwarebronnen op een efficiënte wijze te benutten. Voordat ACPI geïntroduceerd werd was het lastig en onflexibel om het energieverbruik en de thermische eigenschappen van een systeem te beheersen. De hardware werd beheerst de BIOS en dus had de gebruiker minder controle en zichtbaarheid in de energiebeheerinstellingen. Enige gelimiteerde configuratie was mogelijk via Advanced Power Management (APM). Energie- en bronnenbeheer is een belangrijk onderdeel van moderne machines. Het besturingssysteem moet bijvoorbeeld systeemlimieten in de gaten houdt (en mogelijk een SMS sturen of iets dergelijks) als de systeemtemperatuur onverwacht toeneemt.
In dit deel van het FreeBSD handboek wordt uitgebreide informatie verschaft over ACPI. Aan het einde worden referenties geleverd naar meer leesmateriaal.
Advanced Configuration and Power Interface (ACPI) is een standaard die door een alliantie van producenten geschreven is, met als doel te voorzien in een standaardinterface voor hardwarebronnen- en energiebeheer. Een belangrijk element is dat het meer flexibiliteit en beheersmogelijkheden biedt aan het besturingssysteem (OS). Moderne systemen hebben de limieten van de huidige PNP-interfaces verder opgerekt dan wenselijk en misschien wel mogelijk was. ACPI is de directe opvolger van APM (Advanced Power Management). Centraal is het verleggen van hardwarebeheer en -monitoring naar de OS-laag in plaats van de zeer beperkte BIOS-laag.
Met de Advanced Power Management (APM) faciliteit kan het energieverbruik van een systeem geregeld worden op basis van de systeemactiviteit. Het APM-BIOS wordt geleverd door de systeemproducent of -verkoper en het is specifiek voor dat betreffende hardwareplatform. Een APM-stuurprogramma in het besturingssysteem regelt vervolgens de toegang tot de APM Software Interface, die het besturen van vermogensniveau mogelijk maakt. APM dient nog steeds gebruikt te worden met systemen die gefabriceerd zijn voor het jaar 2000.
Er zijn vier hoofdproblemen met APM te onderscheiden: ten eerste wordt het energiebeheer verricht door een BIOS (afhankelijk van producent) en het besturingssysteem heeft daar geen kennis van. De gebruiker die idle-time waarden instelt voor een harde schijf in het APM-BIOS is hier een voorbeeld van. Dan zal het BIOS de harde schijf langzamer kunnen laten draaien zonder dat het besturingssysteem de noodzaak ziet of het goedkeurt. Ten tweede: de APM-logica is ingebed in de BIOS, waardoor het buiten het besturingssysteem om opereert. Dit houdt in dat gebruikers problemen met hun APM-BIOS alleen kunnen verhelpen door een nieuw BIOS in het ROM te flashen, wat een gevaarlijke en mogelijk onherstelbare operatie is. Ten derde is APM een producent-specifieke technologie, in de zin dat er altijd een hoge mate van duplicatie zal zijn van al dan niet geslaagde pogingen om het wiel opnieuw uit te vinden en uiteraard ook van bugs. Er is geen enkele garantie dat het wegnemen van een bug door een producent ook een zelfde bug wegneemt bij een concurrent. Tenslotte is het van belang te weten dat de APM-BIOS in het algemeen gewoon te weing geheugen kon gebruiken om een ingewikkeld energiebeheer te kunnen implementeren. Laat staan dat deze goed aanpasbaar was aan veranderlijke doelstellingen voor de betreffende machine.
Plug-n-play BIOS (PNPBIOS) was in veel situaties onbetrouwbaar. PNPBIOS is 16-bitstechnologie, dus het besturingssysteem moet 16-bit emulatie gebruiken om met PNPBIOS-methoden te kunnen samenwerken.
Het FreeBSD-stuurprogramma APM is gedocumenteerd in apm(4).
Het stuurprogramma acpi.ko
wordt
standaard geladen bij het opstarten door de loader(8) en
hoeft niet gecompileerd te worden. De
redenatie is dat er met modules gemakkelijker gewerkt kan
worden, bijvoorbeeld een andere acpi.ko
gebruiken zonder dat er een nieuwe kernel gebouwd moet worden.
Dit heeft het voordeel dat testen eenvoudiger is. Een andere
reden is dat het opstarten van ACPI nadat
een systeem eenmaal volledig opgestart is meestal niet goed
werkt. Mocht er hinder ondervonden worden, dan kan
ACPI beter uitgeschakeld worden. Dit
stuurprogramma kan niet gestopt worden als het eenmaal geladen
is, omdat de systeembus het gebruikt voor allerlei interacties
met hardware. ACPI kan uitgezet worden door
het instellen van hint.acpi.0.disabled="1"
in
/boot/loader.conf
of in de loader(8)
prompt.
ACPI en APM kunnen niet samenleven en moeten afzonderlijk en exclusief gebruikt worden. De laatste die gestart wordt bepaalt of het stuurprogramma de ander wel of niet ziet.
In haar eenvoudigste vorm kan ACPI
gebruikt worden om het systeem in slaapmodus te zetten met
acpiconf(8) met de vlag -s
en een optie
1-5
. De meeste gebruikers hebben alleen
1
of 3
nodig. De optie
5
verricht een “soft-off”, wat
hetzelfde is als:
#
halt -p
Andere opties zijn mogelijk via sysctl(8). Zie de handleidingen van acpi(4) en acpiconf(8) voor meer informatie.
ACPI is een totaal nieuwe manier om apparaten te ontdekken, om energieverbruik te beheren en om een gestandaardiseerde toegang te bieden tot allerlei apparaten die eerder via het BIOS beheerd werden. Er wordt voortdurend vooruitgang geboekt om ACPI op alle systemen te laten werken, maar bugs in de ACPIMachine Language (AML) bytecode van sommige moederborden, onvolledigheden in de subsystemen van de kernel van FreeBSD en bugs in de Intel® ACPI-CA interpreter blijven opduiken.
Deze tekst is bedoeld om u te helpen met het bijstaan van de FreeBSD ACPI beheerders met het vinden van de hoofdoorzaken van problemen die u opmerkt en met het debuggen en het vinden van een oplossing.
Voordat een probleem wordt gemeld, moet het zeker zijn dat de laatste BIOS versie draait en indien beschikbaar de geïntregeerde controller firmware versie.
Diegenen die meteen een probleem willen indienen, sturen de volgende informatie naar freebsd-acpi@FreeBSD.org:
Omschrijving van het foutieve gedrag, inclusief systeemtype en -model en alles wat de fout kan veroorzaken. Als het een nieuw fenomeen is, dan dient ook zo accuraat mogelijk aangegeven te worden wanneer de fout het eerst optrad.
De uitvoer van dmesg(8) van boot
-v
, inclusief foutmeldingen die gegenereerd
worden als de fout optreedt.
De uitvoer van dmesg(8) van boot
-v
met ACPI uitgeschakeld,
indien het uitzetten van ACPI het
probleem oplost.
Uitvoer van sysctl hw.acpi
. Dit is
tevens een goede manier om uit te vinden welke
ACPI-mogelijkheden een systeem
heeft.
Een URL waar de ACPISource Language (ASL) gevonden kan worden. De ASL dient niet rechtstreeks naar de lijst gezonden te worden, omdat deze nogal groot kan zijn. Een kopie van een ASL kan gemaakt worden met het volgende commando:
#
acpidump -dt > naam-systeem.asl
(Vervang uw aanmeldnaam door
$NAME
en producent/model door
$SYSTEM
. Bijvoorbeeld:
njl-FooCo6000.asl
)
De meeste FreeBSD-programmeurs lezen de FreeBSD-CURRENT mailinglijst, maar problemen gaan bij voorkeur ook naar freebsd-acpi zodat ze zeker gezien worden. Het kan enige tijd duren voordat er antwoord komt, omdat deze mensen elders ook nog volledige banen hebben. Als de bug niet meteen duidelijk is, komt er waarschijnlijk en verzoek om een PR in te dienen via send-pr(1). Als er een PR moet worden opgesteld, dan dient alle hierboven gevraagde informatie vermeld te worden. Dit helpt om het probleem te kunnen volgen en oplossen. Het sturen van een PR zonder eerst freebsd-acpi te mailen is niet wenselijk, aangezien men PRs gebruikt als herinnering van bestaande problemen, niet als rapportagesysteem. Mogelijk is een probleem al eens door iemand anders gemeld.
ACPI is aanwezig op alle moderne computers die voldoen aan de ia32 (x86), ia64 (Itanium) of amd64 (AMD) architecturen. De volledige standaard heeft vele mogelijkheden zoals CPU-prestatiebeheer, energiebeheer, thermische zones, diverse batterijsystemen, ingebedde controllers en busnummering. De meeste systemen implementeren minder dan de volledige standaard. Een desktopsysteem implementeert bijvoorbeeld meestal alleen busnummering, terwijl laptops mogelijk ook koeling- en batterijbeheer ondersteunen. Laptops hebben ook suspend en resume (slapen en wakker worden) met hun eigen aanverwante comlexiteit.
Een ACPI-compliant systeem heeft verscheidene componenten. Het BIOS- en chipsetverkopers bieden verscheidene vaste tabellen aan zoals FADT in het geheugen die zaken als de APIC-afbeelding (gebruikt voor SMP), configuratieregisters, en eenvoudige configuratiewaarden specificeren. Ook wordt er een tabel van bytecode (de Differentiated System Description Table of DSDT) geleverd die een op een boomstructuur lijkende namespace biedt voor apparaten en methoden.
Het stuurprogramma ACPI moet de
voorgedefinieerde tabellen verwerken, een interpreter voor de
bytecode implementeren en apparaatstuurprogramma's en de kernel
aanpassen om informatie van het
ACPI-subsysteem te accepteren. Intel® heeft
een interpreter beschikbaar gesteld (ACPI-CA)
die door FreeBSD en ook door Linux® en NetBSD gebruikt wordt. De
ACPI-CA-broncode staat in src/sys/contrib/dev/acpica
. De
lijmcode die ACPI-CA laat werken met FreeBSD
staat in src/sys/dev/acpica/Osd
.
Stuurprogramma's die verscheidene
ACPI-apparaten implementeren staan in
src/sys/dev/acpica
.
Wil ACPI goed werken, dan moeten alle onderdelen goed werken. Hieronder staan enkele algemene problemen in volgorde van hoe vaak ze optreden en enkele mogelijke oplossingen of manieren om de problemen te vermijden.
Soms doet een muis het niet bij het opstarten uit de
slaapstand. Een bekend lapmiddel is het toevoegen van
hint.psm.0.flags="0x3000"
aan
/boot/loader.conf
. Als dat niet werkt,
dan wordt aangeraden een bugrapport in te sturen, zoals
eerder is beschreven.
ACPI heeft drie slaapstanden waarbij
het geheugen (RAM) wordt ingezet. Dit
zijn de STR-toestanden
S1
-S3
, en nog een
slaap-met-gebruik-van-harde-schijf toestand
(STD
) die S4
heet.
S5
is “zacht uit” en is de
normale status van een systeem als het is aangesloten maar
niet is aangezet. S4
kan feitelijk op twee
manieren geïmplementeerd worden:
S4
BIOS is een slaapstand
naar schijf met behulp van het BIOS en
S4
OS wordt volledig door
het besturingssysteem geïmplenteerd.
als eerste dienen de sysctl hw.acpi
items die iets met de slaapstand te maken hebben gecontroleerd
te worden. Hieronder staan de resultaten voor een
Thinkpad:
hw.acpi.supported_sleep_state: S3 S4 S5 hw.acpi.s4bios: 0
Dit betekent dat hier acpiconf -s
gebruikt kan worden om S3
,
S4
OS en
S5
te testen. Als s4bios
gelijk was aan (1
), dan zou er
S4
BIOS ondersteuning
zijn in plaats van S4
OS.
Als suspend/resume getest moet worden, dient, indien
ondersteund, bij S1
begonnen te worden.
Deze toestand heeft de grootste kans om te werken, omdat deze
niet veel stuurprogrammaondersteuning vereist. Niemand heeft
nog S2
geïmplementeerd, maar het is
ongeveer hetzelfde als S1
. Daarna wordt
S3
getest. Dit is het diepste
STR-niveau en heeft uitgebreide
ondersteuning van stuurprogramma's nodig om hardware goed
opnieuw te kunnen starten. Mochten er blokkades optreden,
dan kan naar de freebsd-acpi lijst gemaild worden. Er kan
echter geen snelle oplossing verwacht worden, omdat er nog de
nodige stuurprogramma's/hardware liggen om getest en bewerkt
te worden.
Een veelvoorkomend probleem met suspend/resume is dat veel apparaatstuurprogramma's hun firmware, registers of apparaatgeheugen niet fatsoenlijk opslaan, herstellen, of herinitialiseren. Een eerste poging om het probleem te vinden omvat:
#
sysctl debug.bootverbose=1
#
sysctl debug.acpi.suspend_bounce=1
#
acpiconf -s 3
Deze test emuleert de suspend/resume-cyclus van alle
apparaten zonder daadwerkelijk naar de toestand S3
te gaan. In sommige gevallen kunt u zo eenvoudig problemen
vaststellen (bijvoorbeeld het verliezen van de firmware-toestand,
timeout van de apparaatwaakhond, en steeds opnieuw iets proberen).
Merk op dat het systeem niet werkelijk naar de toestand
S3
gaat, wat inhoudt dat apparaten geen spanning
verliezen waardoor velen prima zullen werken zelfs als de
suspend/resume-methoden geheel ontbreken, dit in tegenstelling tot de
echte toestand S3
.
Moeilijkere gevallen vereisen aanvullende hardware, dat is een serieële poort/kabel voor de serieële console of een Firewire poort/kabel voor dcons(4), en vaardigheden in het debuggen van de kernel.
Om een probleem te kunnen isoleren helpt het om zoveel
mogelijk stuurprogramma's uit de kernel te halen. Als dit
werkt, kan er teruggewerkt worden naar het stuurprogramma dat
schuldig is aan het falen. Meestal vertonen binaire
stuurprogramma's als nvidia.ko
, X11
beeldschermstuurprogramma's en USB de
meeste problemen, terwijl bijvoorbeeld Ethernet-interfaces
meestal meteen goed werken. Als de stuurprogramma's zonder
problemen geladen en verwijderd kunnen worden, dan is dit te
automatiseren door de juiste commando's in
/etc/rc.suspend
en
/etc/rc.resume
te zetten. Er staat een
voorbeeld (achter commentaartekens) voor het laden en
verwijderen van een stuurprogramma. Als het beeldscherm er na
wakker worden vreemd uitziet, kan geprobeerd worden
hw.acpi.reset_video
op nul te zetten. Met
langere of kortere waarden voor
hw.acpi.sleep_delay
kan bekeken worden of dat
helpt.
In geval van problemen is het ook een optie om een recente Linux® distibutie met ondersteuning voor ACPI support te starten en daarvan de suspend/resume ondersteuning op dezelfde hardware uit te proberen. Als het werkt met Linux®, dan is het waarschijnlijk een FreeBSD stuurprogrammaprobleem en als het mogelijk is uit te vinden over welk stuurprogramma het gaat, kan dat bijdragen aan het oplossen van het probleem. ACPI houdt zich in het algemeen niet bezig met andere stuurprogramma's zoals geluid, ATA, enzovoort. Als er dus een echt probleem met een stuurprogramma is, dan is waarchijnlijk uiteindelijk ook nodig naar de freebsd-current lijst te posten en naar de beheerder van het stuurprogramma. Voor degenen met moed is het vooral aan te raden een paar printf(3)s in problematische stukken van een stuurprogramma te plaatsen voor debugging om na te gaan waar de resumefunctie precies hangt.
Tot slot kan geprobeerd worden om ACPI uit te zetten en in plaats daarvan APM aan te zetten. Als suspend/resume werkt met APM, is het wellicht verstandig het daarbij te houden, vooral met wat oudere apparatuur (voor 2000). Producenten hebben nogal wat tijd nodig gehad om ACPI ondersteuning goed te krijgen en voor oudere hardware is het waarschijnlijker dat er BIOS-problemen zijn met ACPI.
Meestal is het hangen van het systeem het gevolg van verloren interrupts of een interruptstorm. Chipsets kunnen een heleboel problemen hebben, afhankelijk van hoe het BIOS interrupts instelt voor het opstarten, of de APIC (MADT) tabel correct is en de routering van het System Control Interrupt (SCI).
Interruptstorms kunnen onderscheiden worden van verloren
geraakte interrupts door de uitvoer van vmstat
-i
te controleren en de regel met
acpi0
goed te lezen. Als de teller in
toenemende mate hoger staat dan enkele per seconde, dan is
sprake van een interruptstorm. Als het systeem lijkt te
hangen, is het wellicht nog mogelijk door te dringen tot
de DDB (CTRL+ALT+ESC) en
show interrupts
uit te voeren.
De beste hoop in geval van interruptproblemen is om
APIC-ondersteuning uit te zetten met
hint.apic.0.disabled="1"
in
loader.conf
.
Panics zijn relatief zeldzaam met ACPI
en krijgen de hoogste prioriteit bij het oplossen. Eerst
moeten de verschillende gebeurtenissen waarmee de panic (als
mogelijk) te reproduceren is geïsoleerd worden en moet
een backtrace gemaakt worden. options DDB
dient aangezet te worden en er dient een seriële
console (Paragraaf 26.6.5.3, “De debugger DDB gebruiken via de seriële
verbinding”) of een
dump(8) partitie te komen. In DDB is
een backtrace te maken met tr
. Als de
backtrace handmatig opgeschreven moet worden, is het
belangrijk dat in ieder geval de bovenste en onderste vijf (5)
regels van de backtrace genoteerd worden.
Daarna dient getracht te worden het systeem te starten
zonder ACPI. Als dat werkt, is het
ACPI-subsysteem geïsoleerd en kunnen
de verschillende debug.acpi.disable
-waarden
uitgeprobeerd worden. In acpi(4) staan enkele
voorbeelden.
hw.acpi.disable_on_poweroff="0"
kan
uitgezet worden in loader.conf(5). Hierdoor schakelt
ACPI bepaalde gebeurtenissen tijdens het
afsluitproces niet uit. Om dezelfde redenen moeten sommige
systemen deze waarde altijd op 1
(standaard) hebben staan. In het algemeen lost dit een
probleem op waarbij een systeem spontaan weer opkomt nadat het
in slaapstand is gezet of geheel gestopt is.
Als er nog andere problemen zijn met ACPI (met een docking station of apparaten niet gedetecteerd, enzovoort), dan kan een mail met beschijving naar de mailinglijst gezonden worden. Sommige zaken kunnen echter gerelateerd zijn aan delen van het ACPI-subsysteem die nog niet af zijn, dus het kan in sommige gevallen een tijd duren. Gebruikers moeten soms geduld en de bereidheid om eventuele patches uit te proberen hebben.
Het grootste probleem is dat BIOS-producenten vaak incorrecte (of gewoon foutieve) bytecode leveren. Dit blijkt doorgaans uit kernelboodschappen als:
ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.LPC0.FIGD._STA] \\ (Node 0xc3f6d160), AE_NOT_FOUND
Vaak kunnen dergelijke problemen geoplost worden door de
BIOS bij te werken tot de laatste revisie.
De meeste consoleberichten zijn onschuldig, maar als er andere
problemen zijn, zoals batterijstatus die niet werkt, dan ligt
het voor de hand te zoeken naar problemen in de
AML-code. De bytecode die
AML genoemd wordt, wordt gecompileerd van een
broncodetaal ASL. Deze staat weer in een
tabel DSDT. Met acpidump(8) kan een
kopie van de ASL gemaakt worden. Dan moeten
zowel de opties -t
(laat inhoud van vaste
tabellen zien) als -d
(disassembleer
AML naar ASL) gebruikt
worden. In Debuginformatie
aanleveren staat een voorbeeld.
De eenvoudigste eerste controle is de ASL-code opnieuw compileren en kijken of er foutmeldingen optreden. Waarschuwingen kunnen doorgaans genegeerd worden, maar fouten zijn bugs die er meestal toe leiden dat ACPI niet correct werkt. Om ASL te hercompileren:
#
iasl eigen.asl
Op langere termijn is het de bedoeling dat voor vrijwel elke
machine ACPI werkt zonder enig ingrijpen van
de gebruiker. Op dit moment wordt er echter nog gewerkt aan
oplossingen voor veel voorkomende vergissingen die
BIOS-producenten maken. De Microsoft®
interpreter (acpi.sys
en
acpiec.sys
) controleert niet strikt of het
BIOS volledig aan de standaard voldoet,
waardoor het voorkomt dat BIOS-makers die
alleen testen onder Windows® bepaalde fouten in hun
ASL nooit correct repareren. FreeBSD hoopt door
te gaan met de identificatie en documentatie van welk
niet-standaard gedrag precies wordt toegelaten door
Microsoft®'s interpreter en te dit te repliceren zodat FreeBSD
kan werken zonder dat gebruikers zich gedwongen zien om de
ASL te repareren. Als een tijdelijke
oplossing en om te helpen met het in kaart brengen van bepaald
gedrag, kan de ASL handmatig gerepareerd
worden. Mocht dit lukken, dan wordt erop aangedrongen een
diff(1) van de oude en de nieuwe ASL te
mailen, zodat het foutieve gedrag mogelijk in
ACPI-CA kan worden verwerkt, waardoor andere
gebruikers niet meer handmatig met hun ASL
aan de gang hoeven.
Hieronder staat een lijst algemene foutmeldingen, hun oorzaken en hoe ze op te lossen:
Sommige AMLs gaan ervan uit dat de
wereld enkel bestaat uit Windows® versies. FreeBSD kan zich
voordoen als elk OS om te kijken of dit
problemen oplost. Een gemakkelijke manier om dit te doen is
hw.acpi.osname="Windows 2001"
in te stellen
in /boot/loader.conf
of andere
gelijksoortige strings die in een ASL
staan.
Sommige methoden hebben geen specifieke returnwaarde,
zoals wel vereist wordt door de standaard. Hoewel
ACPI-CA hier niets mee doet, heeft FreeBSD
de mogelijkheid tot impliciete returns. Er kunnen ook
expliciete return-opdrachten toegevoegd worden waar vereist,
als het bekend is welke waarden teruggevoerd moeten worden.
Om iasl
te dwingen tot compilatie van
ASL kan de schakeloptie
-f
gebruikt worden.
Nadat eigen.asl
aangepast is, kan
deze als volgt gecompileerd worden:
#
iasl eigen.asl
Met de optie -f
is af te dwingen dat de
AML gemaakt wordt, zelfs als er
compileerfouten optreden. Sommige fouten (zoals ontbrekende
return-opdrachten) worden automatisch opgelost door de
interpreter.
DSDT.aml
is de standaardnaam voor het
bestand dat door iasl
wordt geproduceerd.
Dit is in plaats van de foutieve versie uit het
BIOS (die nog steeds aanwezig is in het
flashgeneugen) te laden door
/boot/loader.conf
als volgt te
wijzigen:
acpi_dsdt_load="YES" acpi_dsdt_name="/boot/DSDT.aml"
DSDT.aml
moet in de map /boot
staan.
Het stuurprogramma ACPI heeft een zeer flexibele debugfaciliteit. Er kan zowel een verzameling van subsystemen aangegeven worden als het niveau van uitvoerigheid. De te debuggen subsystemen worden aangegeven als lagen (“layers”) en zijn opgedeeld in ACPI-CA-componenten (ACPI_ALL_COMPONENTS) en ACPI-hardware-ondersteuning (ACPI_ALL_DRIVERS). De uitvoerigheid van debuguitvoer wordt aangegeven als het niveau (“level”) en gaat van CPI_LV_ERROR (alleen fouten rapporteren) tot ACPI_LV_VERBOSE (alles). Het niveau is een bitmasker en dus kunnen er meerdere opties tegelijk ingeschakeld worden (gescheiden door spaties). In de praktijk wordt wellicht een seriële console gebruikt om de uitvoer te loggen als deze zo omvangrijk is dat de console berichtbuffer vol loopt (misschien wel meerdere keren). Een complete lijst van de individuele lagen en niveaus staat in acpi(4).
Debuguitvoer staat standaard niet aan. Door
options ACPI_DEBUG
toe te voegen aan het
bestand met kernelinstellingen als ACPI als
de kernel is gebouwd, wordt het ingeschakeld. Door
ACPI_DEBUG=1
toe te voegen aan
/etc/make.conf
wordt het systeembreed
ingeschakeld. Als ACPI als module wordt
gebruikt (de normale situatie), dan hoeft slechts de module
acpi.ko
opnieuw gecompileerd te
worden:
#
cd /sys/modules/acpi/acpi && make clean && make ACPI_DEBUG=1
acpi.ko
moet in
/boot/kernel
komen te
staan en de gewenste debuglaag en het gewenste niveau van
uitvoerigheid dienen toegevoegd te worden aan
loader.conf
. Hieronder een voorbeeld
waarmee debuguitvoer wordt aangezet voor alle
ACPI-CA-componenten en alle
ACPI-hardware-stuurprogramma's
(CPU, LID, enzovoort.
Het niveau van uitvoerigheid is het laagst mogelijke. Er
worden alleen fouten gemeld.
debug.acpi.layer="ACPI_ALL_COMPONENTS ACPI_ALL_DRIVERS" debug.acpi.level="ACPI_LV_ERROR"
Als de gezochte informatie wordt veroorzaakt door een
specifieke gebeurtenis (bijvoorbeeld in en uit slaapstand gaan),
dan kunnen wijzigingen aan loader.conf
achterwege blijven en in plaats daarvan kan
sysctl
gebruikt worden om laag en niveau in
te stellen na het opstarten en zo het systeem voor te bereiden
op die specifieke gebeurtenis. De sysctl
s
hebben dezelfde namen als de parameters in
loader.conf
.
Meer informatie over ACPI staat op de volgende locaties:
De ACPI mailinglijst archieven http://lists.freebsd.org/pipermail/freebsd-acpi/
De oude ACPI mailinglijst archieven http://home.jp.FreeBSD.org/mail-list/acpi-jp/
De ACPI 2.0 specificatie
http://acpi.info/spec.htm
FreeBSD Handleidingen: acpi(4), acpi_thermal(4), acpidump(8), iasl(8), acpidb(8)
DSDT debugging informatie. (Gebruikt Compaq als voorbeeld, maar van algemeen nut).
[5] Het auto-tuning-algoritme stelt
maxusers
in afhankelijk van de
hoeveelheid geheugen in het systeem, met een minimum van
32 en een maximum van 384.
Het proces van het starten van de computer en het laden van het besturingssysteem wordt het “bootstrapproces” of simpelweg “booten” genoemd. Het FreeBSD opstartproces levert een grote mate van flexibiliteit doordat gewijzigd kan worden wat er gebeurt als het systeem start en geeft de mogelijkheid om te kiezen uit verschillende geïnstalleerde besturingssystemen op dezelfde computer of zelfs verschillende versies van hetzelfde besturingssysteem of geïnstalleerde kernel.
Dit hoofdstuk geeft gedetailleerde informatie over instellingen die gebruikt kunnen worden en hoe het FreeBSD opstartproces veranderd kan worden. Dit omvat alles wat er gebeurt totdat de FreeBSD kernel wordt geladen, gezocht heeft naar apparaten en init(8) start. Dit vindt plaats als tijdens het booten de tekstkleur verandert van helder wit naar grijs.
Na het lezen van dit hoofdstuk weet de lezer:
Wat de onderdelen zijn van het FreeBSD bootstrap-systeem en hoe zij onderling communiceren;
De opties die meegegeven kunnen worden aan de componenten in de bootstrap om het proces te sturen;
Meer over device.hints(5);
Dit hoofdstuk beschrijft alleen het opstartproces van FreeBSD dat draait op een Intel x86 systeem.
Het aanzetten van een computer en het starten van het besturingssysteem zorgt voor een interessant dilemma. Vast staat dat een computer niet weet wat hij moet doen totdat het besturingssysteem gestart is. Daar valt ook het starten van programma's op schijf onder. Dus als een computer geen programma van schijf kan starten zonder besturingssysteem en het besturingssysteem staat op schijf, hoe wordt het besturingssysteem dan gestart?
Dit is een gelijksoortig probleem als dat in het boek De avonturen van Baron von Münchausen. Iemand is in een put gevallen en heeft zichzelf eruit gehaald door zijn laarsriempjes (bootstraps) vast te pakken en zich op te trekken. In het begin van het computertijdperk is de term bootstrap gegeven aan het mechanisme dat het besturingssysteem laadt. Later werd dit afgekort tot “booten”.
Op x86 machines is het Basis Input/Output Systeem (BIOS) verantwoordelijk voor het laden van het besturingssysteem. Om dit te doen zoekt het BIOS op de harde schijf naar het Master Boot Record (MBR), dat op een vaste plek op de schijf staat. Het BIOS heeft voldoende kennis om het MBR te starten en gaat er vanuit dat de MBR de rest van de taken uitvoert die nodig zijn om het besturingssysteem te kunnen laden, mogelijk met hulp van het BIOS.
Aan de code binnen de MBR wordt meestal gerefereerd als een bootmanager, in het bijzonder als die interactie heeft met een gebruiker. In dit geval heeft de bootmanager meestal meer code in de eerste track van een schijf binnen het bestandssysteem van een besturingssysteem. Een bootmanager wordt soms ook boot loader genoemd, maar FreeBSD gebruikt die term voor een later stadium van het starten. Populaire bootmanagers zijn onder andere boot0 (ook bekend als Boot Easy, de standaard FreeBSD bootmanager), Grub, GAG en LILO (alleen boot0 past binnen de MBR.)
Als er maar één besturingssysteem en een schijf
geïnstalleerd is, voldoet een standaard PC MBR. Dit MBR
zoekt naar de eerste opstartbare (alias actieve) slice op schijf
en start de code op deze slice om de rest van het
besturingssysteem te laden. De MBR die standaard door
fdisk(8) wordt geïnstalleerd is zo'n MBR. Die is
gebaseerd op /boot/mbr
.
Indien er meerdere besturingssystemen op schijven staan, kan er een andere bootmanager geïnstalleerd worden, een die een lijst toont met verschillende besturingssystemen en de mogelijkheid geeft om er één te kiezen dat opgestart moet worden. In de volgende paragrafen worden er twee beschreven.
Het resterende deel van het FreeBSD bootstrap-systeem is verdeeld in drie fases. De eerste fase wordt gestart door het MBR, dat net voldoende informatie heeft om de computer in een bepaalde toestand te zetten en de tweede fase te starten. De tweede fase kan net iets meer doen voordat hij de derde fase start. De derde fase voltooit het laden van het besturingssysteem. Dit proces is verdeeld in drie fases omdat de PC-standaarden grenzen stellen aan de grootte van programma's die gedraaid kunnen worden in de eerste twee fases van dit proces. Door deze taken aan elkaar te koppelen krijgt FreeBSD een flexibeler laadgedeelte.
Daarna wordt de kernel gestart en begint met het zoeken naar en initialiseren van apparaten. Zodra het kernel-opstartproces klaar is, geeft de kernel de controle over aan het gebruikerproces init(8), dat controleert of de schijven een bruikbare status hebben. Dan start init(8) de instellingen op gebruikersniveau die de bestandssystemen mount, de netwerkkaarten instelt voor communicatie met het netwerk en in het algemeen worden de processen gestart die moeten draaien op een FreeBSD systeem bij het opstarten.
De code in de MBR of bootmanager wordt soms ook wel stage zero van het opstartproces genoemd. In dit onderdeel worden twee eerder genoemde bootmanagers beschreven: boot0 en LILO.
De boot0 bootmanager: De MBR die standaard door de FreeBSD installer of
boot0cfg(8) wordt geïnstalleerd is gebaseerd op
/boot/boot0
. Het programma
boot0 is erg eenvoudig, omdat
MBR maar 446 bytes lang mag zijn vanwege de
slicetabel en de 0x55AA
identificatie aan
het einde van de MBR. Als de FreeBSD MBR is geïnstalleerd
en er staan andere besturingssystemen op een harde schijf, dan
is bij het opstarten een scherm te zien dat er ongeveer zo
uitziet:
Andere besturingssystemen, Windows® in het bijzonder, staan er om bekend dat zij bestaande MBRs overschrijven met die van zichzelf. Als dit is gebeurd of als het bestaande MBR vervangen moet worden door het FreeBSD MBR:
#
fdisk -B -b /boot/boot0 apparaat
Waar apparaat
het apparaat is
waar de computer van boot, zoals ad0
voor de eerste IDE-schijf ad2
voor de
eerste IDE-schijf op de tweede IDE-controller,
da0
voor de eerste SCSI-schijf,
enzovoort. Als het wenselijk is een aangepaste instelling te
gebruiken voor de MBR, dan kan boot0cfg(8) gebruikt
worden.
De LILO bootmanager: Start, om deze bootmanager te installeren zodat er ook
FreeBSD mee gestart kan worden, eerst Linux® en voeg het
volgende toe aan het bestaande instellingenbestand
/etc/lilo.conf
:
other=/dev/hdXY table=/dev/hdX loader=/boot/chain.b label=FreeBSD
Geef in de bovenstaande regels de primaire partitie en
schijf van FreeBSD op met Linux® instellingen, waarbij
X
vervangen wordt door de Linux®
schijfletter en Y
door het primaire
partitienummer van Linux®. Wijzig bij gebruik van een
SCSI-schijf
/dev/hd
in iets als
/dev/sd
. De regel
loader=/boot/chain.b
kan achterwege blijven
als de besturingssystemen op dezelfde schijf staan. Voer
daarna /sbin/lilo -v
uit om de
wijzigingen vast te leggen. Controleer het vastleggen door
controle van de schermberichten.
Conceptueel zijn de eerste en tweede fase onderdeel van
hetzelfde programma op hetzelfde stukje schijf. Door
ruimtebeperkingen zijn ze in twee stukken gesplitst. Ze worden
echter altijd samen geïnstalleerd. Ze worden
gekopieerd uit het gecombineerde bestand
/boot/boot
door het installatieprogramma
of bsdlabel (zie
verderop).
Ze staan buiten bestandssystemen in de eerste track van de
opstartslice, beginnend bij de eerste sector. Dit is waar
boot0 en iedere andere
bootmanager een programma verwacht om door te gaan met het
opstartproces. Het aantal gebruikte sectoren kan eenvoudig
bepaald worden uit de grootte van
/boot/boot
.
boot1
is erg simpel omdat dit slechts
512 bytes groot kan zijn en net genoeg weet over het FreeBSD
bsdlabel, dat informatie bevat over de
slice om boot2
te vinden en te
starten.
boot2
is iets verfijnder en begrijpt
het FreeBSD bestandssysteem genoeg om er bestanden op te vinden
en geeft een simpele interface om de kernel of loader te kiezen
die gestart moet worden.
boot2
start meestal de loader, doordat deze veel
slimmer is en gebruikersvriendelijke opstartinstellingen heeft.
Voorheen was het zijn taak direct de kernel te starten.
Als ooit eens de geïnstalleerde
boot1
en boot2
vervangen moeten worden kan dat met bsdlabel(8):
#
bsdlabel -B schijfslice
In het voorbeeld hierboven is
schijfslice
de schijf en slice
waarvan opgestart wordt, zoals ad0s1
voor de eerste slice op de eerste IDE-schijf.
Als alleen een schijfnaam als
ad0
gebruikt wordt in
bsdlabel(8) wordt er een gevaarlijk toegewijde
schijf zonder slices gemaakt. Dit is niet aan te raden en
daarom wordt aangeraden voor het uivoeren van
bsdlabel(8) de commandoregel nog een keer te
controleren voordat er op Return wordt
gedrukt.
De loader is de laatse fase van de drietraps-bootstrap en
deze bevindt zich op het bestandssysteem, meestal als
/boot/loader
.
De loader is bedoeld als een gebruikersvriendelijke manier voor de instelling, door gebruik te maken van een makkelijke commandoverzameling, gesteund door een krachtige vertaler met een wat complexere commandoverzameling.
Tijdens de start zoekt de loader naar een console en schijven en kijkt van welke schijf er opgestart wordt. Variabelen worden hiernaar gezet en er wordt een vertaler gestart zodat gebruikercommando's interactief of via een script kunnen worden doorgegeven.
Dan leest de loader /boot/loader.rc
,
die dan standaard
/boot/defaults/loader.conf
leest. Deze
plaatst redelijke standaarden in variabelen en leest
/boot/loader.conf
voor lokale
wijzigingen op deze variabelen.
loader.rc
reageert op deze variabelen
door de geselecteerde modules en kernel te laden.
Als laatste wordt standaard door de loader 10 seconden gewacht op toetsinvoer en als dit niet wordt onderbroken laadt loader de kernel. Als het wel wordt onderbroken krijgt de gebruiker een prompt aangeboden die een eenvoudige commandoverzameling begrijpt. Hier kan de gebruiker variabelen wijzigen, alle modules stoppen en/of starten en uiteindelijk opstarten of herstarten.
Hieronder worden de meest gebruikte loadercommando's besproken. Een volledige omschrijving van alle beschikbare commando's staat in loader(8).
seconden
Gaat door met het opstarten van de kernel als deze niet wordt onderbroken binnen de opgegeven tijd in seconden. Er wordt een aftelproces getoond dat standaard op 10 seconden staat.
Start direct de kernel op met de opgegeven opties en naam, indien meegegeven. Het opgeven van een kernelnaam op de opdrachtregel is alleen van toepassing nadat een unload-commando is gegeven, anders wordt de kernel die hiervoor was geladen gebruikt.
Doorloopt hetzelfde automatische instellen van
modules gebaseerd op variabelen zoals ook gebeurt bij
het opstarten. Dit is alleen zinnig als eerst
unload
is gebruikt en enkele
variabelen zijn gewijzigd, meestal
kernel
.
Toont documentatie uit
/boot/loader.help
. Als het
opgegeven onderwerp index
is, wordt
een lijst met beschikbare onderwerpen getoond.
bestandsnaam
…Verwerkt het bestand met de opgegeven naam. Het bestand wordt ingelezen en regel voor regel vertaald. Iedere foutmelding stopt direct het include-commando.
bestandsnaam
Laadt de kernel, kernel-module of bestand van opgegeven type en naam. Ieder argument achter de bestandsnaam wordt doorgegeven aan het bestand.
Toont de lijst bestanden in het opgegeven pad of
van de rootmap als geen pad wordt opgegeven. Als
-l
wordt meegegeven wordt ook de
bestandsgrootte weergegeven.
Toont de lijst met alle apparaten waarvan het
mogelijk is om modules te kunnen laden. Als
-v
wordt meegegeven worden meer
details getoond.
Toont geladen modules. Als -v
wordt meegegeven worden meer details getoont.
bestandsnaam
Toont de inhoud van het opgegeven bestand met een
pauze na iedere LINES
regels.
Herstart het systeem onmiddelijk.
variabele
, set
variabele
=waarde
Vult de omgevingsvariabele van de loader.
Verwijdert alle geladen modules.
Hier zijn wat practische voorbeelden van het gebruik van loader:
De kernel opstarten in single-user modus:
boot -s
De gebruikelijke kernel en modules ontladen om daarna de oude (of een andere) kernel te laden:
unload
load kernel.old
kernel.GENERIC
kan gebruikt
worden als de algemene kernel die meegeleverd is bij de
installatieschijf of kernel.old
om
de vorige geïnstalleerde kernel te gebruiken (als
bijvoorbeeld de kernel is vervangen).
Zo worden de bekende modules geladen met een andere kernel:
unload
set kernel="kernel.old"
boot-conf
Voor het laden van een kernelinstellingenscript (een script dat dingen doet die anders met de hand ingegeven zouden worden):
load -t userconfig_script /boot/kernel.conf
Het splash-scherm creëert een visueel aantrekkelijker scherm in vergelijking met de originele opstartberichten. Dit scherm zal worden afgebeeld totdat een aanmeldprompt op de console verschijnt of een X-schermbeheerder een aanmeldprompt aanbiedt.
Er zijn twee basisomgevingen beschikbaar in FreeBSD. De
eerste is de verouderde standaardomgeving met de opdrachtregel
op de virtuële console. Nadat het systeem klaar is met
opstarten, wordt er een aanmeldprompt op de console
gepresenteerd. De tweede omgeving is de grafische omgeving
van het X11 Bureaublad. Nadat X11 en één van de
grafische bureaubladomgevingen,
zoals GNOME,
KDE, of
XFce zijn geïnstalleerd, kan
het X11-bureaublad worden gestart door
startx
te gebruiken.
Sommige gebruikers verkiezen het grafische aanmeldscherm van X11 boven de traditionele op tekst gebaseerde aanmeldprompt. Schermbeheerders zoals XDM voor Xorg, gdm voor GNOME, en kdm voor KDE (en anderen van de Portscollectie) bieden een grafisch aanmeldscherm in plaats van de aanmeldprompt op het console. Na succesvol aanmelden bieden ze de gebruiker een grafisch bureaublad.
In de opdrachtregelomgeving zou het splash-scherm alle berichten over aftasten tijdens het opstarten en het starten van taken verbergen voordat het de aanmeldprompt laat zien. In een X11-omgeving zouden gebruikers een visueel overzichtelijkere opstartervaring krijgen dat meer lijkt op wat een gebruiker van een (Microsoft® Windows® of niet-Unix-systeem) zou ervaren.
De splash-schermfunctie ondersteunt 256-kleuren-bitmaps (
.bmp
), ZSoft PCX (
.pcx
) en TheDraw (.bin
)
bestanden. Verder moeten de splash-afbeeldingsbestanden een
resolutie van 320 bij 200 pixels of minder hebben om op de
standaard VGA-adapters te werken.
Activeer de VESA-ondersteuning die in
FreeBSD zit om grotere afbeeldingen, tot de maximale resolutie
van 1024 bij 768 pixels, te gebruiken. Dit kan worden
aangezet door de VESA-module tijdens het
opstarten van het systeem te laden, of door de
kernelconfiguratieoptie VESA
toe te
voegen en een eigen kernel te bouwen (zie Hoofdstuk 9, De FreeBSD-kernel instellen). De ondersteuning voor
VESA geeft gebruikers de mogelijkheid om
een splash-schermafbeelding af te beelden dat het hele
scherm vult.
Zolang het splash-scherm wordt afgebeeld tijdens het opstartproces, kan het ten alle tijden worden uitgezet door op een toetsenbordtoets te drukken.
Het splash-scherm is standaard ook een schermbeveiliging
buiten X11. Na een periode van inactiviteit zal het scherm
in het splash-scherm veranderen en herhaald door stappen van
het veranderen van de intensiteit van de afbeelding lopen,
van helder tot zeer donker. Dit standaardgedrag van het
splash-scherm (schermbeveiliging) kan overruled worden door
een regel met saver=
toe te voegen aan
/etc/rc.conf
. De optie
saver=
heeft verschillende ingebouwde
schermbeveiligingen om uit te kiezen, de volledige lijst
staat in de handleidingpagina splash(4). De standaard
schermbeveiliging heet “warp”. Merk op dat de
optie saver=
die in
/etc/rc.conf
is gespecificeerd alleen
betrekking heeft op virtuele consoles. Het heeft geen
effect op X11-schermbeheerders.
Enkele meldingen van de bootloader, inclusief de opties van het opstartmenu en een getimede wachtende aftelprompt worden afgebeeld tijdens het opstarten, zelfs als het splash-scherm aanstaat.
Voorbeelden van splash-schermen kunnen gedownload worden van de galerij op http://artwork.freebsdgr.org/. Door de port sysutils/bsd-splash-changer te installeren, kunnen de splash-afbeeldingen willekeurig elke keer dat er wordt opgestart uit een verzameling worden gekozen.
Het splash-schermbestand (.bmp
,
.pcx
of .bin
) moet op de
rootpartitie staan, bijvoorbeeld in de map /boot
.
Bewerk voor de standaardresolutie van het opstartscherm
(256 kleuren, 320 bij 200 pixels, of minder)
/boot/loader.conf
zodat het volgende
erin staat:
splash_bmp_load="YES"
bitmap_load="YES"
bitmap_name="/boot/splash.bmp
"
Bewerk /boot/loader.conf
voor grotere
videoresoluties (tot maximaal 1024 bij 768 pixels) zodat
dit bestand het volgende bevat:
vesa_load="YES"
splash_bmp_load="YES"
bitmap_load="YES"
bitmap_name="/boot/splash.bmp
"
Het bovenstaande neemt aan dat
/boot/splash.bmp
voor het splash-scherm wordt gebruikt. Wanneer een
PCX-bestand gewenst is, dienen de
volgende opdrachten gebruikt te worden, en afhankelijk van
de resolutie de regel vesa_load="YES"
.
splash_pcx_load="YES"
bitmap_load="YES"
bitmap_name="/boot/splash.pcx
"
In versie 8.3 is een andere mogelijkheid het gebruik van ASCII-kunst in TheDraw formaat.
splash_txt="YES"
bitmap_load="YES"
bitmap_name="/boot/splash.bin
"
De bestandsnaam is niet beperkt tot “splash” zoals
in het bovenstaande voorbeeld. Het kan van alles zijn zolang het
een van de bovenstaande types is, zoals
splash_640x400.bmp
of
bluewave.pcx
.
Enkele andere interessante opties voor
loader.conf
:
beastie_disable="YES"
Dit zal het menu met opstartopties niet weergeven, maar de getimede wachtende aftelprompt zal nog steeds aanwezig zijn. Zelfs zonder dat het menu met opstartopties wordt afgebeeld, zal het invoeren van een optie in de getimede wachtende aftelprompt de actie van de overeenkomstige opstartoptie uitvoeren.
loader_logo="beastie"
Dit zal de standaardwoorden “FreeBSD”, welke rechts van het menu met opstartopties worden afgebeeld vervangen door het gekleurde beastie-logo zoals vroegere uitgaven die hadden.
Raadpleeg voor meer informatie de handleidingpagina's splash(4), loader.conf(5), en vga(4).
Zodra de kernel is geladen door de loader (zoals gewoonlijk) of door boot2 (zonder de loader), wordt er als ze er zijn gekeken naar de opstartvlaggen en wordt het gedrag zo nodig aangepast.
De meest voorkomende opstartvlaggen:
-a
Vraag tijdens de opstart van de kernel om het apparaat dat gemount moet worden als root bestandssysteem.
-C
Boot van cd-rom.
-c
Start UserConfig om instellingen te maken voor de kernel tijdens het opstarten.
-s
Start naar single-user modus.
-v
Geef meer tekst en uitleg tijdens het opstarten van de kernel.
In boot(8) staan alle bootvlaggen beschreven.
Tijdens het opstarten van het systeem leest de boot loader(8) het bestand device.hints(5). Dit bestand slaat opstartinformatie voor de kernel op in variabelen, ook wel “device hints”. Deze “device hints” worden door stuurprogramma's gebruikt voor instelling van apparaten.
Device hints kunnen ook bij het
Fase drie, /boot/loader
prompt
ingevoerd worden. Variabelen kunnen toegevoegd worden met behulp
van set
, verwijderd worden met
unset
en bekeken worden met
show
. Variabelen uit
/boot/device.hints
kunnen hier ook herroepen
worden. Device hints die ingevoerd zijn bij de boot loader zijn
niet permanent en zijn bij de volgende boot niet meer
aanwezig.
Zodra het systeem opgestart is, kan kenv(1) gebruikt worden om alle variabelen te bekijken.
De schrijfwijze voor /boot/device.hints
is één variabele per regel. Het standaard hekje
“#” wordt gebruikt voor commentaar. Regels worden
als volgt opgebouwd:
hint.driver.unit.keyword="waarde"
De syntaxis voor de Fase 3 bootloader is:
set hint.driver.unit.keyword=waarde
driver
is de naam van het
apparaatstuurprogramma, unit
is het
apparaatnummer van het stuurprogramma en
keyword
is het hint-sleutelwoord. Dit
sleutelwoord kan uit de volgende opties bestaan:
at
: beschrijft de bus waarop het
apparaat is aangesloten.
port
: beschrijft het startadres van
de I/O die gebruikt wordt.
irq
: beschrijft het interrupt request
nummer dat gebruikt wordt.
drq
: beschrijft het DMA
kanaalnummer.
maddr
: beschrijft het fysieke
geheugenadres dat gebruikt wordt door het apparaat.
flags
: zet verschillende vlagbits voor
het apparaat.
disabled
: is 1
als het apparaat is uitgezet.
Apparaatstuurprogramma's kunnen hints die hier niet genoemd zijn accepteren (of eisen). Zie hiervoor de betreffende handleiding: device.hints(5), kenv(1), loader.conf(5) en loader(8).
Als de kernel klaar is met opstarten geeft die de besturing
over aan het gebruikerproces init(8), te vinden in
/sbin/init
of de padnaam die staat
is in de variabele init_path
in
loader
.
De automatische herstart (“Automatic Reboot Sequence”) controleert of de beschikbare bestandssystemen betrouwbaar zijn. Als dat niet zo is en fsck(8) kan de fouten niet repareren, dan brengt init(8) het systeem terug naar Single-user modus voor de systeembeheerder, die het probleem dan directer kan aanpakken.
Deze modus kan bereikt worden vanuit de Automatische herstart of
door de gebruiker die opstart met de optie -s
of door de variabele boot_single
aan te zetten
in de loader
.
Het kan ook door shutdown(8) te starten zonder
de optie reboot (-r
) of halt
(-h
), vanuit Multi-user modus.
Als het systeem console
op
insecure
staat in
/etc/ttys
, dan vraagt het systeem om het
root
wachtwoord voordat de single-user
modus wordt gestart.
/etc/ttys
# name getty type status comments # # Als de console op "insecure" staat vraagt init om het root wachtwoord # voor het naar single-user modus gaan. console none unknown off insecure
Met een insecure
console wordt bedoeld
dat de fysieke beveiliging van het console niet goed is en
dat alleen personen die het root
wachtwoord kennen naar single-user modus mogen gaan. Het
betekent niet dat het console onveilig wordt ingesteld. Als
het veilig moet, wordt er dus voor
insecure
gekozen en niet voor
secure
.
Als init(8) vindt dat het bestandssysteem in orde is of zodra de gebruiker klaar is in Single-user modus, gaat het systeem over naar multi-user modus, waarin het de resource configuration (broninstellingen) van het systeem start.
Het broninstellingensysteem leest de
standaard instellingen in vanuit
/etc/defaults/rc.conf
en
specifieke systeemdetails uit
/etc/rc.conf
en gaat daarna door
met het mounten van de bestandssystemen voor het systeem
die genoemd worden in /etc/fstab
,
start netwerkdiensten, start andere systeemdaemons en start
als laatste de opstartscripts van lokaal
geïnstalleerde packages.
rc(8) is een goede referentie voor het broninstellingensysteem. Dat zijn de scripts zelf natuurlijk ook.
Bij een gecontroleerde shutdown met shutdown(8) probeert
init(8) om het script /etc/rc.shutdown
te starten en daarna aan alle processen het
TERM
signaal te sturen en eventueel het
KILL
signaal aan alle processen die niet op
tijd zijn gestopt.
Om een FreeBSD machine uit te zetten die energiebeheer
ondersteund, kan het commando shutdown -p now
gegeven worden om gelijk de stroom af te schakelen. Als er
herstart moet worden dan kan shutdown -r now
gebruikt worden. De gebruiker die dit uitvoert moet wel
root
zijn of lid van de
operator
groep om shutdown(8) te
mogen gebruiken. halt(8) en reboot(8) kunnen ook
gebruikt worden. Meer informatie is in de betreffende
handleidingpagina's te vinden.
Voor energiebeheer is acpi(4) ondersteuning in de kernel nodig of via een module die ingeladen moet worden.
Met FreeBSD is het mogelijk een computer met meerdere gebruikers tegelijkertijd te gebruiken. Natuurlijk kan er op een zeker moment maar één gebruiker achter het scherm en toetsenbord zitten [6] , maar er kan een groot aantal gebruikers zijn aangemeld via het netwerk om dingen met de computer te doen. Om een systeem te gebruiken moet een gebruiker een account hebben.
Na het lezen van dit hoofdstuk weet de lezer:
De verschillen tussen de gebruikersaccounts op een FreeBSD systeem;
Hoe gebruikersaccounts toe te voegen;
Hoe gebruikersaccounts te verwijderen;
Hoe eigenschappen van accounts te wijzigen, zoals de volledige naam van de gebruiker of de voorkeursshell;
Hoe op een per account basis limieten in te stellen om het bronnengebruik van bijvoorbeeld geheugen en processortijd te reguleren voor accounts en accountgroepen;
Hoe groepen te gebruiken om accountbeheer te vereenvoudigen.
Aangeraden voorkennis:
Basisbegrip van UNIX® en FreeBSD (Hoofdstuk 4, UNIX® beginselen).
Via accounts wordt alle toegang tot een systeem gegeven en alle processen worden door gebruikers gedraaid. Dus gebruikers en accountbeheer zijn van integraal belang op FreeBSD systemen.
Elke account op een FreeBSD systeem heeft een aantal informatievelden waarmee de account geïdentificeerd kan worden.
De gebruikersnaam, zoals die ingevoerd wordt bij het
prompt login:
. Gebruikersnamen moeten
uniek zijn op een computer. Er mogen geen twee
gebruikers zijn met dezelfde gebruikersnaam. Er horen een
aantal regels bij het maken van geldige gebruikersnamen,
die in passwd(5) staan beschreven. Gebruikersnamen
bestaan gewoonlijk uit acht of minder karakters (geen
hoofdletters).
Bij ieder account hoort een wachtwoord. Het wachtwoord kan leeg zijn. Er is dan geen wachtwoord nodig om toegang te krijgen tot een systeem. Dit is meestal een slecht idee. Ieder account hoort een wachtwoord te hebben.
Het UID is een nummer, traditioneel van 0 tot 65535 [7] , dat wordt gebruikt om een gebruiker op een systeem uniek te identificeren. Intern gebruikt FreeBSD het UID om gebruikers te identificeren. Voor alle FreeBSD commando's waarin een gebruikersnaam wordt opgegeven, wordt eerst geconverteerd naar het UID voordat ermee gewerkt wordt. Dit betekent dat er verschillende accounts kunnen zijn met andere gebruikersnamen maar met hetzelfde UID. Wat FreeBSD betreft zijn al die accounts één gebruiker. Het is onwaarschijnlijk dat het ooit nodig is deze eigenschap te gebruiken.
Het GID is een nummer, traditioneel van 0 tot 65535 [7], gebruikt om de primaire groep waartoe een gebruiker behoort, uniek te identificeren. Groepen zijn een methode waarmee toegang tot bronnen beheerst kan worden, gebaseerd op het GID van een gebruiker in plaats van op een UID. Hiermee kan het aantal instellingen in bepaalde bestanden aanzienlijk verkleind worden. Een gebruiker kan lid zijn van meer dan één groep.
Aanmeldklassen zijn een uitbreiding op het groepenmechanisme waarmee additionele flexibiliteit wordt geboden bij het aanpassen van een systeem op verschillende gebruikers.
Standaard dwingt FreeBSD gebruikers niet tot het periodiek wijzigen van hun wachtwoord. Dit kan wel per gebruiker afgedwongen worden, zodat sommige of alle gebruikers hun wachtwoord na een bepaalde periode moeten wijzigen.
Standaard verlopen accounts op FreeBSD niet. Als er accounts gemaakt worden waarvan bekend is dat ze maar een beperkte tijd nodig zijn, bijvoorbeeld op een school waar accounts bestaan voor studenten, dan kan er aangegeven worden wanneer een account verloopt. Nadat de verloopdatum is verstreken kan de account niet meer gebruikt worden om aan te melden op een systeem, hoewel de mappen en bestanden van de account nog wel blijven bestaan.
De gebruikersnaam identificeert de account uniek voor FreeBSD, maar die geeft niet zonder meer de echte naam van de gebruiker weer. Deze informatie kan aan de account gekoppeld worden.
De thuismap is het volledige pad naar een map op een
systeem waar de gebruiker start als die aanmeldt op een
systeem. Het is de gewoonte dat alle thuismappen voor
gebruikers onder
/home/gebruikersnaam
of
/usr/home/gebruikersnaam
staan. Gebruikers slaan hun persoonlijke bestanden op in
hun thuismap en in mappen die daaronder worden
gemaakt.
De shell biedt een standaardomgeving waarmee gebruikers met een systeem werken. Er zijn vele shells en ervaren gebruikers hebben hun eigen voorkeuren, die hun weerslag kunnen hebben in hun accountinstellingen.
Er zijn drie hoofdtypen accounts: de Superuser, systeemgebruikers en gebruikersaccounts. De Superuser
account, die meestal root
heet, wordt
gebruikt om een systeem te beheren zonder beperkingen.
Systeemgebruikers kunnen diensten draaien. Tenslotte kunnen
gebruikersaccounts gebruikt worden door echte personen, die
aanmelden, email lezen, enzovoort.
De superuser account, die meestal
root
heet, is al ingesteld om gebruikt te
worden voor systeembeheer en hoort niet gebruikt te worden voor
dagelijkse werkzaamheden, zoals het sturen en ontvangen van
email, het verkennen van het systeem of programmeren.
Dit omdat de Superuser, anders dan gewone gebruikersaccounts, zonder beperkingen kan opereren en misbruik van een Superuser account kan resulteren in spectaculaire problemen. Gebruikersaccounts kunnen niet per ongeluk een systeem vernielen, dus het is aan te raden om wanneer maar mogelijk gewone gebruikersaccounts te gebruiken, tenzij de extra privileges noodzakelijk zijn.
Commando's die als superuser worden uitgevoerd dienen altijd twee of drie keer gecontroleerd te worden voordat ze worden uitgevoerd, omdat een extra spatie of een missend karakter kan leiden tot niet terug te draaien dataverlies.
Als het niet al geregeld is, is het dus na het lezen van dit hoofdstuk aan te raden als eerste een gebruikersaccount zonder bijzondere rechten te maken voor de dagelijkse bezigheden. Dit geldt zowel als het gaat over een machine voor één gebruiker als wanneer het gaat over een machine voor meerdere gebruikers. Later in dit hoofdstuk wordt beschreven hoe additionele accounts gemaakt kunnen worden en hoe er tussen de normale gebruiker en de Superuser gewisseld kan worden.
Systeemgebruikers draaien diensten, zoals DNS, mailservers, webservers, enzovoort. De reden hiervoor is beveiliging. Als alle diensten als Superuser zouden draaien, dan zouden ze zonder beperkingen kunnen opereren.
Voorbeelden van systeemgebruikers zijn
daemon
, operator
,
bind
(voor de Domain Name Service),
news
en www
.
nobody
is de generieke systeemgebruiker
zonder bijzondere privileges. Het is wel belangrijk om ervan
bewust te zijn dat hoe meer diensten nobody
gebruiken, hoe meer bestanden en processen er bij die gebruiker
horen en dat de gebruiker daardoor meer privileges kan
krijgen.
Gebruikersaccounts zijn het primaire middel dat echte gebruikers gebruiken om toegang te krijgen tot een systeem en die account schermen de gebruiker en de omgeving af, waardoor die gebruikers het systeem of andere gebruikers niet kunnen beschadigen en waardoor gebruikers hun omgeving kunnen aanpassen zonder invloed te hebben op anderen.
Iedereen die toegang heeft tot een systeem hoort een unieke gebruikersaccount te hebben. Hierdoor is het mogelijk uit te vinden wie wat aan het doen is, te voorkomen dat mensen elkaars instellingen kunnen verpesten of elkaars email kunnen lezen, enzovoort.
Iedere gebruiker kan zijn eigen omgeving instellen op een systeem, door andere shells, editors, toetsenbordinstellingen en taal te kiezen.
Er zijn vele commando's beschikbaar in de UNIX® omgeving om gebruikersaccounts te manipuleren. De meest gebruikte commando's worden hieronder beschreven, gevolgd door meer gedetailleerde voorbeelden van gebruik.
Commando | Samenvatting |
---|---|
adduser(8) | Het aanbevolen commandoregelprogramma voor het aanmaken van nieuwe gebruikers. |
rmuser(8) | Het aanbevolen commandoregelprogramma voor het verwijderen van gebruikers. |
chpass(1) | Een flexibel hulpprogramma voor het wijzigen van informatie in de gebruikersdatabase. |
passwd(1) | Een eenvoudig commandoregelprogramma voor het wijzigen van wachtwoorden van gebruikers. |
pw(8) | Een krachtig en flexibel hulpprogramma voor het wijzigen van alle aspecten van gebruikersaccounts. |
adduser(8) is een eenvoudig programma voor het
aanmaken van nieuwe gebruikers. Er worden regels mee
toegevoegd aan de systeembestanden passwd
en group
. Het maakt ook een thuismap voor
de nieuwe gebruiker, kopieert de standaard
instellingenbestanden (“dotfiles”) uit
/usr/share/skel
en kan, optioneel, de
nieuwe gebruiker een welkomstbericht mailen.
#
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!#
Het wachtwoord wat ingegeven wordt, wordt niet getoond, er worden ook geen sterretjes getoond. Zorg ervoor dat het wachtwoord correct ingevuld wordt.
Met rmuser(8) kan een gebruiker volledig van een systeem verwijderd worden. rmuser(8) voert de volgende stappen uit:
Verwijdert de crontab(1) van de gebruiker (als die bestaat).
Verwijdert bestaande at(1) taken van de gebruiker.
Stopt alle processen van de gebruiker.
Verwijdert de gebruiker uit het lokale wachtwoordbestand van een systeem.
Verwijdert de thuismap van de gebruiker (als de gebruiker daar eigenaar van is).
Verwijdert de inkomende email voor de gebruiker uit
/var/mail
.
Verwijdert alle bestanden waar de gebruiker eigenaar
van is uit opslaggebieden voor tijdelijke bestanden als
/tmp
.
Als laatste wordt de gebruikersnaam uit alle groepen
in /etc/group
waar die lid van was
verwijderd.
Als een groep leeg raakt en de groepsnaam is hetzelfde als de gebruikersnaam, dan wordt de groep verwijderd. Dit is het tegenovergestelde van wat adduser(8) met een unieke groep per gebruiker.
rmuser(8) kan niet gebruikt worden om superuser accounts te verwijderen, omdat dat vrijwel altijd leidt tot vreselijke verwoesting.
Standaard wordt een interactieve modus gebruikt, die ervoor zorgt dat alle stappen bewust worden genomen.
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.#
chpass(1) wijzigt informatie in de gebruikersdatabase, zoals wachtwoorden, shells en persoonlijke informatie.
Alleen systeembeheerders, zoals de Superuser, mogen de informatie en wachtwoorden voor andere gebruikers wijzigen met chpass(1).
Als er geen opties worden meegegeven, buiten de optionele gebruikersnaam, dan toont chpass(1) een editor waarin de gebruikersinformatie wordt weergegeven. Als de gebruiker de editor verlaat, dan wordt de gebruikersdatabase bijgewerkt met de nieuwe informatie.
Er zal om uw wachtwoord gevraagd worden na het verlaten van de tekstverwerker, als de huidige gebruiker niet de superuser is.
chpass
door
superuser#Informatie in de gebruikersdatabase wijzigen voor 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:
Een normale gebruiker kan slechts een deel van de bovenstaande informatie wijzen en alleen voor zijn eigen account.
chpass
door een gewone
gebruiker#Informatie in de gebruikersdatabase wijzigen voor jru. Shell: /usr/local/bin/zsh Full Name: J. Random User Office Location: Office Phone: Home Phone: Other information:
chfn(1) en chsh(1) zijn gewoon links naar
chpass(1). Dat geldt ook voor ypchpass(1),
ypchfn(1) en ypchsh(1). Ondersteuning voor NIS
gaat automatisch; er hoeft dus geen yp
voor het commando aangegeven te worden. NIS wordt behandeld
in Hoofdstuk 29, Netwerkdiensten.
Met passwd(1) wijzigt een gebruiker gewoonlijk zijn eigen wachtwoord of dat van een andere gebruiker als het door de Superuser wordt uitgevoerd.
Om onbedoelde of ongeautoriseerde wijzigen te voorkomen moet het originele wachtwoord worden ingegeven voordat een nieuw wachtwoord kan worden ingesteld.
%
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
Net als bij chpass(1) is yppasswd(1) gewoon een link naar passwd(1), dus NIS werkt met beide commando's.
pw(8) is een commandoregelhulpprogramma om gebruikers en groepen te maken, verwijderen, aan te passen en weer te geven. Het werkt als een voorkant voor de systeembestanden met gebruikers en groepen. pw(8) heeft een zeer krachtige set commandoregelopties, waardoor het erg geschikt is om in shell scripts gebruikt te worden. Nieuwe gebruikers vinden het wellicht gecompliceerder dan de andere commando's die hier beschreven worden.
Bij het hebben van gebruikers komt wellicht ook de gedachte aan het beperken van de mogelijkheden op een systeem. FreeBSD biedt een aantal mogelijkheden waarmee een beheerder de hoeveelheid systeembronnen die een gebruiker kan aanwenden kan beperken. Die beperkingen zijn onderverdeeld in twee onderdelen: schijfquota en andere beperkingen voor bronnen.
Schijfquota beperken het schijfgebruik voor gebruikers en ze bieden een mogelijkheid om dat gebruik snel te controleren zonder het iedere keer te hoeven berekenen. Quota worden besproken in Paragraaf 19.15, “Bestandssysteemquota”.
De overige beperking van bronnen omvat het beperken van het gebruik van CPU, geheugen en andere bronnen die gebruikers tot hun beschikking hebben. Die worden ingesteld in aanmeldklassen en worden hieronder beschreven.
Aanmeldklassen worden ingesteld in
/etc/login.conf
. De precieze semantiek
wordt niet behandeld in dit handboek, maar die staat beschreven
in login.conf(5). Hier is het voldoende aan te geven dat
iedere gebruiker wordt toegewezen aan een aanmeldklasse
(standaard default
) en dat iedere
aanmeldklasse verbonden is met een groep aanmeldmogelijkheden
(login capability). Een aanmeldmogelijkheid is een
naam=waarde
paar, waar naam
een bekende eigenschap
is en waarde
een arbitraire string is
die wordt verwerkt afhankelijk van de naam. Het instellen van
aanmeldklassen en -mogelijkheden is een redelijk eenvoudig proces
en wordt ook beschreven in login.conf(5).
Een systeem leest de instellingen uit normaal gesproken
/etc/login.conf
niet direct, maar leest
het databasebestand /etc/login.conf.db
welke snellere opzoekmogelijkheden biedt.
/etc/login.conf.db
kan met het volgende
commando gemaakt worden uit
/etc/login.conf
:
#
cap_mkdb /etc/login.conf
Beperkingen van bronnen verschillen van standaard aanmeldmogelijkheden op twee manieren. Ten eerste is er voor iedere beperking een zachte en een harde limiet. Een zachte (huidige) limiet kan door een gebruiker of applicatie aangepast worden, maar mag niet hoger zijn dan de harde limiet. De laatste kan door een gebruiker verlaagd worden, maar nooit verhoogd. Deze verschillen worden veroorzaakt door de specifieke behandeling van de beperkingen, niet door de implementatie van het aanmeldmogelijkheden raamwerk, dat wil zeggen dat ze niet echt bijzondere aanmeldmogelijkheden zijn.
Hieronder worden de meest gebruikte beperkingen op bronnen beschreven. De overige mogelijkheden, samen met alle andere aanmeldmogelijkheden, staat beschreven in login.conf(5).
coredumpsize
De limiet op de grootte van een corebestand dat wordt
gemaakt door een programma is, om verschillende redenen,
ondergeschikt aan andere beperkingen op het gebied van
schijfgebruik (bijvoorbeeld filesize
of
schijfquota). Desalniettemin wordt deze instelling vaak
gebruikt als een minder zware methode voor het beheersen
van het gebruik van schijfruimte. Omdat gebruikers niet
hun eigen corebestanden maken en ze vaak niet verwijderen,
kan deze instelling helpen te voorkomen dat een schijf vol
loopt in het geval een groot programma (bijvoorbeeld
emacs) zou crashen.
cputime
Dit is de maximale hoeveelheid processortijd die een proces van een gebruiker mag gebruiken. Processen die meer bronnen gebruiken worden afgeschoten door de kernel.
Dit is een beperking op de CPU tijd die wordt gebruikt, niet op een percentage van de CPU, zoals wordt getoond in sommige velden door top(1) en ps(1). Een limiet op de laatste is op het moment van schrijven niet mogelijk en zou ook redelijk waardeloos zijn: een compiler – waarschijnlijk een legitieme taak – kan makkelijk gedurende enige tijd bij 100% van een CPU gebruiken.
filesize
Dit is de maximale grootte voor een bestand waar een gebruiker eigenaar van kan zijn. Anders dan bij schijfquota is deze limiet van toepassing op individuele bestanden en niet op alle bestanden samen waarvan een gebruiker eigenaar is.
maxproc
Dit is het maximale aantal processen dat een gebruiker
mag draaien. Hieronder vallen zowel processen die op de
voorgrond draaien als op de achtergrond. Om duidelijke
reden kan deze waarde niet groter zijn dan de ingestelde
systeemlimiet voor kern.maxproc
met
sysctl(8). Het te laag zetten van deze instelling kan
de productiviteit van een gebruiker schaden: vaak is het
zinvol om meerdere keren aangemeld te zijn of om pipelines
uit te voeren. Sommige taken, zoals het compileren van een
groot programma, brengen ook meerdere processen voort
(bijvoorbeeld make(1), cc(1) en andere
tussentijdse preprocessors).
memorylocked
Dit is de maximale hoeveelheid geheugen die een proces mag claimen om te locken in het hoofdgeheugen (zie bijvoorbeeld mlock(2)). Sommige systeemkritische programma's, zoals amd(8), locken in het hoofdgeheugen, zodat in het geval dat ze uitgewisseld moeten worden, ze niet bijdragen aan dit uitwisselen indien er problemen zijn.
memoryuse
Dit is de maximale hoeveelheid geheugen die een proces op enig moment mag gebruiken. Hieronder vallen zowel hoofdgeheugen als het gebruik van het wisselbestand. Deze limiet vangt niet al het geheugengebruik af, maar het is een prima begin.
openfiles
Dit is het maximale aantal bestanden dat een proces
open mag hebben. In FreeBSD representeren bestanden ook
sockets en IPC kanalen. Deze limiet mag dus niet te laag
gezet worden. De limiet voor het systeem staat ingesteld
in kern.maxfiles
van
sysctl(8).
sbsize
Dit is de limiet op de hoeveelheid netwerkgeheugen, en dus mbufs, die een gebruiker ter beschikking staan. Deze waarde komt voort uit het antwoord op een DoS aanval waarmee veel sockets werden gemaakt, maar het kan in het algemeen gebruikt worden om de hoeveelheid netwerkcommunicatie te limiteren.
stacksize
Dit is de maximale grootte voor een stack van een proces. Deze instelling alleen is niet genoeg om de hoeveelheid geheugen die een programma mag gebruiken te beperken. Daarom moet deze limiet samen met andere limieten gebruikt worden.
Er zijn nog een aantal dingen belangrijk bij het instellen bronbeperkingen. Hierna worden een aantal algemene tips, suggesties en commentaren gegeven.
Processen die bij het opstarten van een systeem gestart
worden vanuit /etc/rc
worden toegewezen
aan de aanmeldklasse daemon
.
Hoewel de /etc/login.conf
die bij
een systeem zit een goede bron is voor redelijke waardes voor
de meeste limieten, kan alleen de beheerder van een machine
de echt juiste waarden kennen. Het te hoog instellen van een
limiet kan een systeem kwetsbaar maken voor misbruik, terwijl
het te laag instellen van limieten de productiviteit te veel
kan hinderen.
Gebruikers van het X Window systeem (X11) horen waarschijnlijk meer bronnen toegewezen te krijgen dan andere gebruikers. X11 gebruikt zelf al meer bronnen, maar het moedigt gebruikers ook aan om meerdere programma's tegelijkertijd te draaien.
Het is belangrijk niet te vergeten dat veel limieten
betrekking hebben op individuele processen en niet op een
hele gebruiker. Het instellen van bijvoorbeeld
openfiles
op 50, betekent dat ieder proces
dat een gebruiker draait 50 open bestanden mag hebben. Het
totale aantal bestanden dat een gebruiker dus open kan hebben
is het product van de waarde van openfiles
en de waarde van maxproc
. Dit geldt ook
voor het gebruik van geheugen.
Meer informatie over bronbeperkingen en aanmeldklassen in het algemeen staan in de relevante hulppagina's: cap_mkdb(1), getrlimit(2), login.conf(5).
Een groep is eenvoudigweg een lijst gebruikers. Groepen kunnen geïdentificeerd worden aan de hand van hun naam en GID (Groep ID). In FreeBSD (en de meeste andere UNIX® achtige systemen), worden besluiten door de kernel over of een proces iets wel of niet mag doen genomen op basis van het bijbehorende gebruikers ID en een lijst van groepen waar dat bij hoort. Anders dan bij een gebruikers ID, heeft een proces een lijst met bijbehorende groepen. Sommige programma's refereren wel eens aan het “groep ID” van een gebruiker of een proces. Meestal is dit gewoon de eerste groep in de hiervoor genoemde lijst.
De vertaling van groep ID naar groepsnaam staat in
/etc/group
. Dit is een tekstbestand met
vier velden die door het karakter :
(dubbele
punt) worden gescheiden. Het eerste veld is de groepsnaam, het
tweede veld is het versleutelde wachtwoord, het derde het groep
ID, het vierde een door komma's gescheiden lijst van leden van de
groep. Het bestand kan zonder gevaar met de hand aangepast
worden (aangenomen dat er geen fouten in de syntaxis worden
gemaakt, natuurlijk). Een volledige beschrijving van de syntaxis
staat in group(5).
Als het onwenselijk is om /etc/group
met
de hand aan te passen, dan kan pw(8) gebruikt worden voor
het toevoegen en wijzigen van groepen. Om bijvoorbeeld een groep
met de naam teamtwo
toe te voegen en
daarna het bestaan van die groep te bevestigen:
#
pw groupadd teamtwo
#
pw groupshow teamtwo
teamtwo:*:1100:
Het getal 1100
hierboven is het groep ID
van de groep teamtwo
. Met de huidige
instelling heeft teamtwo
geen leden en is
die redelijk waardeloos. Dat kan veranderen door
jru
aan de groep
teamtwo
toe te voegen.
#
pw groupmod teamtwo -M jru
#
pw groupshow teamtwo
teamtwo:*:1100:jru
Het argument voor de optie -M
is een door
komma's gescheiden lijst van gebruikers die in de aangegeven groep
moeten komen. In de voorgaande paragrafen is al aangegeven dat
het wachtwoordbestand ook voor iedere gebruiker een groep bevat.
Een gebruiker wordt automatisch toegevoegd aan de groepenlijst
door een systeem. De gebruiker wordt niet als lid getoond van die
groep bij het gebruik van de optie groupshow
van
pw(8), maar wordt wel getoond als de informatie wordt
opgevraagd via id(1) of met een soortgelijk programma. Met
andere woorden: pw(8) wijzigt alleen het bestand
/etc/group
en probeert nooit extra informatie
te lezen uit /etc/passwd
.
#
pw groupmod teamtwo -m db
#
pw groupshow teamtwo
teamtwo:*:1100:jru,db
Het argument voor de optie -m
is een door
komma's gescheiden lijst van gebruikers die aan de groep worden
toegevoegd. In tegenstelling tot het vorige voorbeeld, worden
deze gebruikers aan de groep toegevoegd en vervangen ze de lijst
van gebruikers in de groep niet.
%
id jru
uid=1001(jru) gid=1001(jru) groups=1001(jru), 1100(teamtwo)
Hierboven is te zien dat jru
lid is van
de groepen jru
en
teamtwo
.
Meer informatie over pw(8) staat in de hulppagina en
meer informatie over de opmaak van
/etc/group
staat in group(5).
[6] Tenzij er natuurlijk meerdere terminals worden aangesloten, maar dat wordt behandeld in Hoofdstuk 26, Seriële communicatie.
[7] Het is mogelijk om UID/GID's te gebruiken tot 4294967295, maar die ID's kunnen tot serieuze problemen leiden met software die aannames maakt over de waarde van ID's.
Dit hoofdstuk biedt een basisinleiding in systeembeveiligingsconcepten, een aantal goede basisregels en een paar gevorderde onderwerpen binnen FreeBSD. Veel van de onderwerpen die worden behandeld kunnen ook worden toegepast op systemen en Internet in het algemeen. Het Internet is niet langer een “vriendelijke” omgeving waar iedereen een goede buur wil zijn. Het beveiligen van een systeem is onontbeerlijk als gegevens, intellectueel eigendom, tijd en wat dan ook uit de handen van hackers en dergelijke gehouden moeten worden.
FreeBSD biedt veel hulpmiddelen en mechanismen om te zorgen voor de integriteit en veiligheid van een systeem en netwerk.
Na het lezen van dit hoofdstuk weet de lezer:
Van basis systeembeveiligingsconcepten in relatie tot FreeBSD.
Meer over verschillende versleutelingsmechanismen die beschikbaar zijn in FreeBSD zoals DES en MD5.
Hoe eenmalige wachtwoordautenticatie opgezet kan worden.
Hoe TCP Wrappers in te stellen voor gebruik met inetd.
Hoe Kerberos5 op FreeBSD opgezet kan worden.
Hoe IPsec wordt ingesteld en hoe een VPN op te zetten tussen FreeBSD en Microsoft® Windows® machines.
Hoe OpenSSH, FreeBSD's SSH implementatie, in te stellen en te gebruiken.
Wat bestandssysteem-ACLs zijn en hoe die te gebruiken;
Hoe het hulpprogramma Portaudit gebruikt kan worden om softwarepakketten uit de Portscollectie te auditen.
Hoe om te gaan met publicaties van FreeBSD beveiligingswaarschuwingen.
Iets van procesaccounting en hoe dat is in te schakelen in FreeBSD.
Er wordt aangenomen dat de lezer van dit hoofdstuk:
Basisbegrip heeft van FreeBSD en Internetconcepten.
In dit boek worden nog meer onderwerpen met betrekking tot beveiliging beschreven. Zo wordt bijvoorbeeld Verplichte Toegangscontrole (Mandatory Access Control) besproken in Hoofdstuk 17, Verplichte Toegangscontrole (MAC) en Internet Firewalls in Hoofdstuk 30, Firewalls.
Beveiliging is een taak die begint en eindigt bij de systeembeheerder. Hoewel alle BSD UNIX® meergebruikerssystemen enige inherente beveiliging kennen, is het bouwen en onderhouden van additionele beveiligingsmechanismen om de gebruikers “eerlijk” te houden waarschijnlijk een van de zwaarste taken voor de systeembeheerder. Machines zijn zo veilig als ze gemaakt worden en beveiligingsoverwegingen staan altijd op gespannen voet met de wens om gebruiksvriendelijkheid. UNIX® systemen zijn in het algemeen in staat tot het tegelijkertijd uitvoeren van een enorm aantal processen en veel van die processen acteren als server - daarmee wordt bedoeld dat externe entiteiten er verbindingen mee kunnen maken en ertegen kunnen praten. Nu de minicomputers en mainframes van gisteren de desktops van vandaag zijn en computers onderdeel zijn van netwerken en internetwerken, wordt beveiliging nog belangrijker.
Systeembeveiliging heeft ook te maken met het omgaan met
verschillende vormen van aanvallen, zoals een poging om een
systeem te crashen of op een andere manier onstabiel te maken,
zonder te proberen de root
account aan te
vallen (“break root”). Aandachtspunten voor
beveiliging kunnen opgesplitst worden in categorieën:
Ontzeggen van dienst aanvallen (“Denial of Service”).
Gebruikersaccounts compromitteren.
root
compromitteren via
toegankelijke servers.
root
compromitteren via
gebruikersaccounts.
Achterdeur creëren (“Backdoor”).
Een ontzegging van dienst (DoS) aanval is een techniek die de machine middelen ontneemt. In het algemeen zijn DoS aanvallen brute kracht mechanismen die proberen de machine te crashen of op een andere manier onbruikbaar te maken door de machine of de netwerkcode te overvragen. Sommige DoS aanvallen proberen misbruik te maken van bugs in de netwerkcode om een machine met een enkel pakket te crashen. Zoiets kan alleen gerepareerd worden door een aanpassing aan de kernel te maken. Aanvallen op servers kunnen vaak hersteld worden door op de juiste wijze opties in stellen om de belasting van servers te limiteren in ongunstige omstandigheden. Omgaan met brute kracht aanvallen is lastiger. Zo is een aanval met gefingeerde pakketten (“spoofed-packet”) vrijwel niet te stoppen, behalve dan door het systeem van Internet los te koppelen. Misschien gaat de machine er niet door plat, maar het kan wel een volledige Internetverbinding verzadigen.
Een gecompromitteerde gebruikersaccount komt nog veel vaker voor dan een DoS aanval. Veel systeembeheerders draaien nog steeds standaard telnetd, rlogind, rshd en ftpd servers op hun machines. Deze servers communiceren standaard niet over beveiligde verbindingen. Het resultaat is dat als er een redelijk grote gebruikersgroep is, er altijd wel van een of meer van de gebruikers die van afstand op dat systeem aanmelden (wat toch de meest normale en makkelijke manier is om op een systeem aan te melden) het wachtwoord is afgeluisterd (“sniffed”). Een oplettende systeembeheerder analyseert zijn logboekbestanden om te zoeken naar verdachte bronadressen, zelfs als het om succesvolle aanmeldpogingen gaat.
Uitgangspunt moet altijd zijn dat als een aanvaller toegang
heeft tot een gebruikersaccount, de aanvaller de
root
account kan compromitteren. In
werkelijkheid is het wel zo dat voor een systeem dat goed
beveiligd is en goed wordt onderhouden, toegang tot een
gebruikersaccount niet automatisch betekent dat de aanvaller ook
root
privileges kan krijgen. Het is van
belang dit onderscheid te maken, omdat een aanvaller zonder
toegang tot root
in het algemeen zijn sporen
niet kan wissen en op z'n best wat kan rommelen met bestanden van
de gebruiker of de machine kan crashen. Gecompromitteerde
gebruikersaccounts zijn vrij normaal omdat gebruikers normaliter
niet de voorzorgsmaatregelen nemen die systeembeheerders
nemen.
Systeembeheerders moeten onthouden dat er in potentie heel
veel manieren zijn om toegang tot root
te
krijgen. Een aanvaller zou het
root
wachtwoord kunnen kennen, een bug kunnen
ontdekken in een dienst die onder root
draait en daar via een netwerkverbinding op in kunnen breken of
een aanvaller zou een probleem kennen met een suid-root programma
dat de aanvaller in staat stelt root
te
worden als hij eenmaal toegang heeft tot een gebruikersaccount.
Als een aanvaller een manier heeft gevonden om
root
te worden op een machine, dan hoeft
hij misschien geen achterdeur (“backdoor”) te
installeren. Veel bekende manieren die zijn gevonden om
root
te worden, en weer zijn afgesloten,
vereisen veel werk van de aanvaller om zijn rommel achter zich op
te ruimen, dus de meeste aanvallers installeren een achterdeur.
Een achterdeur biedt de aanvaller een manier om makkelijk opnieuw
root
toegang tot het systeem te krijgen, maar
dit geeft de slimme systeembeheerder ook een makkelijke manier om
de inbraak te ontdekken. Het onmogelijk maken een achterdeur te
installeren zou best wel eens nadelig kunnen zijn voor
beveiliging, omdat hiermee nog niet het gat gedicht is waardoor
er in eerste instantie is ingebroken.
Beveiligingsmaatregelen moeten altijd geïmplementeerd worden in een meerlagenmodel en worden als volgt gecategoriseerd:
Beveiligen van root
en
medewerkersaccounts.
Beveiligen van root
– servers
onder root
en suid-/sgid-binaire
bestanden.
Beveiligen van gebruikersaccounts.
Beveiligen van het wachtwoordbestand.
Beveiligen van de kern van de kernel, ruwe apparaten en bestandssystemen.
Snel detecteren van ongeoorloofde wijzigingen aan het systeem.
Paranoia.
In het volgende onderdeel van dit hoofdstuk gaan we dieper in op de bovenstaande punten.
In dit hele document gebruiken we
vette tekst om te verwijzen naar een
commando of applicatie en een monospaced
lettertype om te verwijzen naar specifieke commando's.
Protocollen staan vermeld in een normaal lettertype. Dit
typografische onderscheid is zinvol omdat bijvoorbeeld ssh
zowel een protocol als een commando is.
In de volgende onderdelen behandelen we de methodes uit de vorige paragraaf om een FreeBSD-systeem te beveiligen.
Om te beginnen: doe geen moeite om medewerkersaccounts
te beveiligen als de root
account niet
beveiligd is. Op de meeste systemen heeft de
root
account een wachtwoord. Als eerste
moet aangenomen worden dat dit wachtwoord
altijd gecompromitteerd is. Dit betekent
niet dat het wachtwoord verwijderd moet worden. Het wachtwoord
is namelijk bijna altijd nodig voor toegang via het console van
de machine. Het betekent wel dat het niet mogelijk gemaakt
moet worden om het wachtwoord te gebruiken buiten het console
om en mogelijk zelfs niet via het su(1) commando. Pty's
moeten bijvoorbeeld gemarkeerd staan als onveilig
(“insecure”) in het bestand
/etc/ttys
zodat direct aanmelden met
root
via telnet
of rlogin
niet wordt toegestaan. Als andere
aanmelddiensten zoals sshd gebruikt
worden, dan hoort direct aanmelden via
root
uitgeschakeld staat. Dit kan door
het bestand /etc/ssh/sshd_config
te
bewerken en ervoor te zorgen dat
PermitRootLogin
op no
staat. Dit moet gebeuren voor iedere methode van toegang
– diensten zoals FTP worden vaak over het hoofd gezien.
Het direct aanmelden van root
hoort alleen
te mogen via het systeemconsole.
Natuurlijk moet een systeembeheerder de mogelijkheid hebben
om root
te worden. Daarvoor kunnen een
paar gaatjes geprikt worden. Maar dan moet ervoor gezorgd
worden dat er voor deze gaatjes extra aanmelden met een
wachtwoord nodig is. Eén manier om
root
toegankelijk te maken is door het
toevoegen van de juiste medewerkersaccounts aan de
wheel
groep (in
/etc/group
). De medewerkers die lid zijn
van de groep wheel
mogen
su
–en naar root
.
Maak medewerkers nooit “native” lid van de groep
wheel
door ze in de groep
wheel
te plaatsen in
/etc/group
. Medewerkersaccounts horen lid
te zijn van de groep staff
en horen dan
pas toegevoegd te worden aan de groep
wheel
in het bestand
/etc/group
. Alleen medewerkers die ook
echt toegang tot root
nodig hebben horen
in de groep wheel
geplaatst te worden.
Het is ook mogelijk, door een autenticatiemethode als Kerberos
te gebruiken, om het bestand .k5login
van
Kerberos in de root
account te gebruiken
om een ksu(1) naar root
toe te staan
zonder ook maar iemand lid te maken van de groep
wheel
. Dit is misschien wel een
betere oplossing, omdat het
wheel
-mechanisme het nog steeds mogelijk
maakt voor een inbreker root
te breken als
de inbreker een wachtwoordbestand te pakken heeft gekregen en
toegang kan krijgen tot één van de
medewerkersaccounts. Hoewel het instellen van het
wheel
-mechanisme beter is dan niets, is
het niet per se de meest veilige optie.
Om een account volledig op slot te zetten, dient het commando pw(8) gebruikt te worden:
#
pw lock staff
Dit voorkomt dat de gebruiker zich aanmeldt via enig mechanisme, inclusief ssh(1).
Een andere manier om toegang tot accounts te blokkeren is om
het versleutelde wachtwoord door een enkel
“*
”-karakter te vervangen. Dit
karakter zal nooit overeenkomen met het versleutelde wachtwoord
en dus gebruikerstoegang blokkeren. Het volgende
medewerkersaccount bijvoorbeeld:
foobar:R9DT/Fa1/LV9U:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcsh
zou veranderd moeten worden in:
foobar:*:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcsh
Dit voorkomt dat de gebruiker foobar
zich aanmeldt met conventionele methoden. Deze methode om
toegang te beperken werkt niet op sites die
Kerberos gebruiken of in situaties
waarin de gebruiker met ssh(1) sleutels heeft
geïnstalleerd.
Deze beveiligingsmechanismen hebben ook als uitgangspunt dat vanaf een zwaarder beveiligde machine wordt aangemeld op een minder beveiligd systeem. Als een hoofdserver bijvoorbeeld allerlei servers draait, zou het werkstation er geen moeten draaien. Om een werkstation redelijk veilig te laten zijn, dienen er zo min mogelijk servers op te draaien, bij voorkeur zelfs geen en er zou een schermbeveiliging met wachtwoordbeveiliging op moeten draaien. Maar als een aanvaller fysieke toegang heeft tot een werkstation, dan kan hij elke beveiliging die erop is aangebracht omzeilen. Dit probleem dient echt overwogen te worden, net als het feit dat de meeste aanvallen van een afstand plaatsvinden, via het netwerk, door mensen die geen fysieke toegang hebben tot werkstations of servers.
Het gebruik van iets als Kerberos geeft de mogelijkheid om het wachtwoord van de account van een medewerker buiten gebruik te stellen of te wijzigen op één plaats, waarbij het meteen actief is op alle machines waarop die medewerker een account heeft. Als de account van een medewerker gecompromitteerd raakt, moet vooral de mogelijkheid om per direct het wachtwoord voor machines te kunnen aanpassen niet onderschat worden. Met afzonderlijke wachtwoorden kan het veranderen van wachtwoorden op N systemen een puinhoop worden. Met Kerberos kunnen ook wachtwoordrestricties opgelegd worden: het is niet alleen mogelijk om een Kerberos “ticket” na een bepaalde tijd te laten verlopen, maar het Kerberos systeem kan afdwingen dat de gebruiker na een bepaalde tijd een nieuw wachtwoord kiest (na bijvoorbeeld een maand).
Een voorzichtige systeembeheerder draait alleen die servers
die nodig zijn, niets meer, niets minder. Bedenk dat
servers van derde partijen vaak de meeste neiging hebben tot
het vertonen van bugs. Zo staat bijvoorbeeld het draaien van
een oude versie van imapd of
popper gelijk aan het weggeven van
de root
account aan de hele wereld. Draai
nooit een server die niet zorgvuldig is onderzocht. Veel
servers hoeven niet te draaien als root
.
Zo kunnen de ntalk,
comsat en
finger daemons bijvoorbeeld draaien
in speciale gebruikerszandbakken
(“sandboxes”). Een zandbak
is niet perfect, tenzij er heel veel moeite gedaan wordt, maar
de meerlagenbenadering blijft bestaan: als iemand via een
server die in een zandbak draait weet in te breken, dan moeten
ze eerst nog uit de zandbak komen. Hoe groter het aantal lagen
is waar een inbreker doorheen moet, hoe kleiner de kans op
succes is. root
gaten zijn historisch
gezien aanwezig geweest in vrijwel iedere server die ooit als
root
gedraaid heeft, inclusief de
basisservers van een systeem. Op een machine waarop mensen
alleen aanmelden via sshd en nooit
via telnetd of
rshd of
rlogind dienen die servers
uitgeschakeld te worden!
FreeBSD draait ntalkd,
comsat en
finger tegenwoordig standaard in een
zandbak. Een ander programma dat misschien beter in een
zandbak kan draaien is named(8). In
/etc/defaults/rc.conf
staat als commentaar
welke parameters er nodig zijn om
named in een zandbak te draaien.
Afhankelijk van of het een nieuwe systeeminstallatie of het
bijwerken van een bestaand systeem betreft, worden de speciale
gebruikersaccounts die bij die zandbakken horen misschien niet
geïnstalleerd. Een voorzichtige systeembeheerder
onderzoekt en implementeert zandbakken voor servers waar dat
ook maar mogelijk is.
Er zijn een aantal diensten die vooral niet in een zandbak
draaien: sendmail,
popper,
imapd,
ftpd en andere. Voor sommige
servers zijn alternatieven, maar dat kost misschien meer tijd
dan er te besteden is (gemak dient de mens). Het kan voorkomen
dat deze servers als root
moeten draaien
en dat er vertrouwd moet worden op andere mechanismen om een
inbraak via die servers te detecteren.
De andere grote mogelijkheid voor root
gaten in een systeem zijn de suid-root en sgid-binaire
bestanden die geïnstalleerd zijn op een systeem. Veel van
die bestanden, zoals rlogin, staan in
/bin
,
/sbin
,
/usr/bin
of
/usr/sbin
. Hoewel het niet 100%
veilig is, mag aangenomen worden dat de suid- en sgid-binaire bestanden
van een standaardsysteem redelijk veilig zijn. Toch worden er
nog wel eens root
gaten gevonden in deze
bestanden. Zo is er in 1998 een root
gat
gevonden in Xlib
waardoor
xterm (die normaliter suid is)
kwetsbaar bleek. Een voorzichtige systeembeheerder kiest voor
“better to be safe than sorry” door de
suid-bestanden die alleen medewerkers hoeven uit te voeren aan
een speciale groep toe te wijzen en de suid-bestanden die
niemand gebruikt te lozen (chmod 000
). Een
server zonder monitor heeft normaal gezien
xterm niet nodig. Sgid-bestanden
kunnen bijna net zo gevaarlijk zijn. Als een inbreker een
sgid-kmem stuk kan krijgen, dan kan hij wellicht
/dev/kmem
lezen en dus het gecodeerde
wachtwoordbestand, waardoor mogelijk ieder account met
een wachtwoord besmet is. Een inbreker toegang tot de groep
kmem
kan krijgen, zou bijvoorbeeld mee
kunnen kijken met de toetsaanslagen die ingegeven worden via de
pty's, inclusief die pty's die gebruikt worden door gebruikers
die via beveiligde methodes aanmelden. Een inbreker die
toegang krijgt tot de groep tty
kan naar
bijna alle tty's van gebruikers schrijven. Als een gebruiker
een terminalprogramma of een terminalemulator met een
toetsenbordsimulatieoptie draait, dan kan de inbreker in
potentie een gegevensstroom genereren die ervoor zorgt dat de
terminal van de gebruiker een commando echot, dat dan wordt
uitgevoerd door die gebruiker.
Gebruikersaccounts zijn gewoonlijk het meest lastig om te beveiligen. Hoewel er allerlei draconische maatregelen genomen kunnen worden met betrekking tot de medewerkers en hun wachtwoorden “weggesterd” kunnen worden, gaat dat waarschijnlijk niet lukken met de gewone gebruikersaccounts. Als er toch voldoende vrijheid is, dan prijst de beheerder zich gelukkig en is het misschien toch mogelijk de accounts voldoende te beveiligen. Als die vrijheid er niet is, dan moeten die accounts gewoon netter gemonitord worden. Het gebruik van ssh en Kerberos voor gebruikersaccounts is problematischer vanwege het extra beheer en de ondersteuning, maar nog steeds een prima oplossing in vergelijking met een versleuteld wachtwoordbestand.
De enige echte oplossing is zoveel mogelijk wachtwoorden
wegsterren en ssh
of Kerberos gebruiken voor toegang
tot die accounts. Hoewel een gecodeerd wachtwoordbestand
(/etc/spwd.db
) alleen gelezen kan worden
door root
, is het wel mogelijk dat een
inbreker leestoegang krijgt tot dat bestand zonder dat de
aanvaller root-schrijftoegang krijgt.
Beveiligingsscripts moeten altijd controleren op en rapporteren over wijzigingen in het wachtwoordbestand (zie ook Bestandsintegriteit Controleren hieronder).
Als een aanvaller toegang krijgt tot
root
dan kan hij ongeveer alles, maar er
zijn een paar slimmigheidjes. Zo hebben bijvoorbeeld de meeste
moderne kernels een ingebouwd pakketsnuffelstuurprogramma
(“packet sniffing”). Bij FreeBSD is dat het
bpf
apparaat. Een inbreker zal in het
algemeen proberen een pakketsnuffelaar te draaien op een
gecompromitteerde machine. De inbreker hoeft deze mogelijkheid
niet te hebben en bij de meeste systemen is het niet verplicht
het bpf
apparaat mee te
compileren.
Maar zelfs als het bpf
apparaat is uitgeschakeld, dan zijn er nog
/dev/mem
en
/dev/kmem
. De inbreker kan namelijk nog
schrijven naar ruwe schrijfapparaten. En er is ook nog een
optie in de kernel die modulelader (“module
loader”) heet, kldload(8). Een ondernemende
inbreker kan een KLD-module gebruiken om zijn eigen
bpf
-apparaat of een ander
snuffelapparaat te installeren in een draaiende kernel. Om
deze problemen te voorkomen, moet de kernel op een hoger
veiligheidsniveau draaien, ten minste securelevel 1.
Het veiligheidsniveau van de kernel kan op een aantal
manieren worden ingesteld. De eenvoudigste manier om het
veiligheidsniveau van een draaiende kernel te verhogen is met
sysctl
op de kernelvariabele
kern.securelevel
:
#
sysctl kern.securelevel=1
Standaard start de kernel van FreeBSD op met een
veiligheidsniveau van -1. Het veiligheidsniveau blijft -1
tenzij het is veranderd, òfwel door de beheerder
òfwel door init(8) vanwege een instelling in de
opstartscripts. Het veiligheidsniveau kan tijdens het opstarten
van het systeem verhoogd worden door de variabele
kern_securelevel_enable
op
YES
te zetten in het bestand
/etc/rc.conf
, en de waarde van de variabele
kern_securelevel
op het gewenste
veiligheidsniveau in te stellen.
Het standaard veiligheidsniveau van een FreeBSD-systeem direct nadat de opstartscripts zijn uitgevoerd is -1. Dit wordt “onveilige modus” genoemd omdat de onveranderlijke bestandsvlag uitgezet kan worden, er van/naar alle apparaten mag worden gelezen en geschreven, enzovoorts.
Als eenmaal het veiligheidsniveau op 1 of een hogere waarde is ingesteld, worden de alleen-toevoegen en onveranderlijke bestanden gehonoreerd, deze kunnen niet worden uitgezet, en wordt toegang tot rauwe apparaten ontzegd. Hogere niveaus beperken nog meer bewerkingen. Lees, voor een volledige beschrijving van het effect van de verschillende veiligheidsniveaus, de handleidingpagina security(7).
Het ophogen van het veiligheidsniveau naar 1 of hoger kan
enkele problemen met X11 (toegang tot
/dev/io
zal worden geblokkeerd), of met
de installatie van FreeBSD wanneer die vanaf de broncode is
gebouwd (het gedeelte installword
van
het proces moet tijdelijk de alleen-toevoegen en
onveranderlijke vlaggen van sommige bestanden uitzetten), en
met enkele andere gevallen veroorzaken. Soms, zoals het geval
is met X11, is het mogelijk om dit te omzeilen door
xdm(1) behoorlijk vroeg in het opstartproces te starten,
wanneer het veiligheidsniveau nog laag genoeg is.
Omzeilmethoden zoals deze zijn misschien niet voor alle
veiligheidsniveaus of voor alle beperkingen die ze opleggen
mogelijk. Wat vooruit plannen is een goed idee. Het is
belangrijk om de beperkingen die door elk veiligheidsniveau
worden opgelegd te begrijpen omdat ze het gebruiksgemak van
het systeem sterk verminderen. Het vergemakkelijkt ook het
kiezen van eens standaardinstelling en voorkomt allerlei
verassingen.
Als het veiligheidsniveau van de kernel naar 1 of hoger
wordt verhoogd, kan het nuttig zijn om de vlag
schg
aan te zetten voor kritieke
opstartprogramma's, mappen, en scriptbestanden (i.e., alles dat
gedraaid wordt tot het punt waar het veiligheidsniveau wordt
ingesteld). Dit kan overdreven zijn, en het bijwerken van het
systeem is veel moeilijker wanneer het op een hoog
veiligheidsniveau werkt. Een minder beperkend compromis is om
het systeem op een hoger veiligheidsniveau te draaien maar het
aanzetten van de vlag schg
voor elk
systeembestand en -map onder de zon over te slaan. Een andere
mogelijkheid is om /
en
/usr
simpelweg als alleen-lezen
aan te koppelen. Het dient opgemerkt te worden dat het te draconisch
zijn over wat is toegestaan het belangrijke detecteren van een
inbraak kan verhinderen.
Als puntje bij paaltje komt kan de kern van een systeem
maar tot een bepaald punt beveiligd worden zonder dat het
minder prettig werken wordt. Zo werk het zetten van de
schg
bit met chflags
op
de meeste bestanden in /
en
/usr
waarschijnlijk averechts,
omdat, hoewel de bestanden beschermd zijn, ook het venster waarin
detectie plaats kan vinden is gesloten. De laatste laag van
beveiliging is waarschijnlijk de meest belangrijke: detectie.
Alle overige beveiliging is vrijwel waardeloos (of nog erger:
geeft een vals gevoel van beveiliging) als een mogelijke inbraak
niet gedetecteerd kan worden. Een belangrijk doel van het
meerlagenmodel is het vertragen van een aanvaller, nog meer dan
hem te stoppen, om hem op heterdaad te kunnen betrappen.
De beste manier om te zoeken naar een inbraak is zoeken naar gewijzigde, ontbrekende of onverwachte bestanden. De beste manier om te zoeken naar gewijzigde bestanden is vanaf een ander (vaak gecentraliseerd) systeem met beperkte toegang. Met zelfgeschreven scripts op dat extra beveiligde systeem met beperkte toegang is een beheerder vrijwel onzichtbaar voor mogelijke aanvallers en dat is belangrijk. Om het nut te maximaliseren moeten in het algemeen dat systeem met beperkte toegang best veel rechten gegeven worden op de andere machines in het netwerk, vaak via een alleen-lezen NFS-export van de andere machines naar het systeem met beperkte toegang of door ssh sleutelparen in te stellen om het systeem met beperkte toegang een ssh verbinding te laten maken met de andere machines. Buiten het netwerkverkeer, is NFS de minst zichtbare methode. Hierdoor kunnen de bestandssystemen op alle cliëntmachines vrijwel ongezien gemonitord worden. Als de server met beperkte toegang verbonden is met de cliëntmachines via een switch, dan is de NFS-methode vaak de beste keus. Als de server met beperkte toegang met de andere machines is verbonden via een hub of door meerdere routers, dan is de NFS-methode wellicht niet veilig genoeg (vanuit een netwerk standpunt) en kan beter ssh gebruikt worden, ondanks de audit-sporen die ssh achterlaat.
Als de machine met beperkte toegang eenmaal minstens
leestoegang heeft tot een cliëntsysteem dat het moet gaan
monitoren, dan moeten scripts gemaakt worden om dat monitoren
ook echt uit te voeren. Uitgaande van een NFS-koppeling, kunnen
de scripts gebruik maken van eenvoudige systeem hulpprogramma's
als find(1) en md5(1). We adviseren minstens
één keer per dag een md5 te maken van alle
bestanden op de cliëntmachine en van instellingenbestanden
als in /etc
en
/usr/local/etc
zelfs vaker.
Als er verschillen worden aangetroffen ten opzichte van de basis md5
informatie op het systeem met beperkte toegang, dan hoort het
script te gillen om een beheerder die het moet gaan uitzoeken.
Een goed beveiligingsscript controleert ook op onverwachte
suid-bestanden en op nieuwe en verwijderde bestanden op
systeempartities als /
en
/usr
.
Als ssh in plaats van NFS wordt
gebruikt, dan is het schrijven van het script lastiger. Dan
moeten de scripts met scp
naar de cliënt
verplaatst worden om ze uit te voeren, waardoor ze zichtbaar
worden. Voor de veiligheid dienen ook de binaire bestanden die
het script gebruikt, zoals find(1), gekopieerd te
worden. De ssh-cliënt op de
cliënt zou al gecompromitteerd kunnen zijn. Het is
misschien noodzakelijk ssh te gebruiken over onveilige
verbindingen, maar dat maakt alles een stuk lastiger.
Een goed beveiligingsscript voert ook controles uit op de
instellingenbestanden van gebruikers en medewerkers:
.rhosts
, .shosts
,
.ssh/authorized_keys
, enzovoort.
Dat zijn bestanden die buiten het bereik van de
MD5
-controle vallen.
Als gebruikers veel schijfruimte hebben, dan kan het te lang
duren om alle bestanden op deze partitie te controleren. In dat
geval is het verstandig de koppelvlaggen zo in te stellen dat
suid-binaire bestanden op die partities niet zijn toegestaan.
Zie daarvoor de optie nosuid
(zie
mount(8)). Die partities moeten wel toch nog minstens eens
per week doorzocht worden, omdat het doel van deze
beveiligingslaag het ontdekken van een inbraakpoging is, of die
nu succesvol is of niet.
Procesverantwoording (zie accton(8)) kost relatief gezien weinig en kan bijdragen aan een evaluatie mechanisme voor na inbraken. Het is erg handig om uit te zoeken hoe iemand precies heeft ingebroken op het systeem, mits het bestand nog onbeschadigd is na de inbraak.
Tenslotte horen beveiligingsscripts de logboekbestanden te verwerken en de logboekbestanden zelf horen zo veilig mogelijk tot stand te komen. “remote syslog” kan erg zinvol zijn. Een aanvaller zal proberen zijn sporen uit te wissen en logboekbestanden zijn van groot belang voor een systeembeheerder als het gaat om uitzoeken wanneer en hoe er is ingebroken. Een manier om logboekbestanden veilig te stellen is door het systeemconsole via een seriële poort aan te sluiten op een veilige machine en zo informatie te verzamelen.
Een beetje paranoia is niet verkeerd. Eigenlijk kan de systeembeheerder zoveel beveiligingsopties inschakelen als hij wil, als deze maar geen impact hebben op het gebruiksgemak en de beveiligingsopties die wel impact hebben op het gebruiksgemak kunnen ingeschakeld worden als daar zorgvuldig mee wordt omgegaan. Nog belangrijker is misschien dat er een juiste combinatie wordt gevonden. Als de aanbevelingen uit dit document woord voor woord worden opgevolgd, dan worden daarmee de methodes aan een toekomstige aanvaller verraden, die ook toegang heeft tot dit document.
In deze paragraaf worden Ontzeggen van Dienst aanvallen (“Denial of Service” of DoS) behandeld. Een DoS-aanval wordt meestal uitgevoerd als pakketaanval. Hoewel er weinig gedaan kan worden tegen de huidige aanvallen met gefingeerde pakketten die een netwerk kunnen verzadigen, kan de schade geminimaliseerd worden door ervoor te zorgen dat servers er niet door plat gaan door:
Limiteren van server forks.
Limiteren van springplank (“springboard”) aanvallen (ICMP response aanvallen, ping broadcast, etc.).
De Kernel Route Cache overloaden.
Een veelvoorkomende DoS-aanval is om een server aan te
vallen door het zoveel kindprocessen aan te laten maken dat het
hostsysteem uiteindelijk geen bestandsdescriptors, geheugen
enzovoort meer heeft en het dan opgeeft.
inetd (zie inetd(8)) kent een
aantal instellingen om dit type aanval af te zwakken. Hoewel
het mogelijk is ervoor te zorgen dat een machine niet plat
gaat, is het in het algemeen niet mogelijk te voorkomen dat de
dienstverlening door de aanval wordt verstoord. Meer is te
lezen in de handleiding van inetd
en het advies is in het bijzonder aandacht aan de
-c
, -C
en -R
opties te besteden. Aanvallen met gefingeerde
IP adressen omzeilen de -C
optie naar inetd, dus in het
algemeen moet een combinatie van opties gebruikt worden.
Sommige op zichzelf staande servers hebben parameters waarmee
het aantal forks gelimiteerd kan worden.
Sendmail heeft de optie
-OMaxDaemonChildren
die veel beter blijkt te
werken dan het gebruik van de opties van
Sendmail waarmee de werklast
gelimiteerd kan worden. De parameter
MaxDaemonChildren
moet zodanig ingesteld
worden dat als sendmail start; deze
hoog genoeg is om de te verwachten belasting aan te kunnen,
maar niet zo hoog is dat de computer het aantal instanties van
Sendmails niet aankan zonder plat te
gaan. Het is ook verstandig om
Sendmail in de wachtrijmodus
(-ODeliveryMode=queued
) te draaien en de
daemon (sendmail -bd
) los te koppelen van de
verwerking van de wachtrij (sendmail -q15m
).
Als de verwerking van wachtrij real-time moet, kunnen de
tussenpozen voor verwerking verkort worden door deze
bijvoorbeeld op -q1m
in te stellen, maar dan
is een redelijke instelling van
MaxDaemonChildren
van belang om
die Sendmail te
beschermen tegen trapsgewijze fouten.
Syslogd kan direct aangevallen
worden en het is sterk aan te raden de -s
optie te gebruiken waar dat ook maar mogelijk is en anders de
-a
optie.
Er dient voorzichtig omgesprongen te worden met diensten die terugverbinden zoals TCP Wrapper's reverse-identd die direct aangevallen kan worden. In het algemeen is het hierom onverstandig gebruik te maken van de reverse-ident optie van TCP Wrapper.
Het is een goed idee om interne diensten af te schermen
voor toegang van buitenaf door ze te firewallen op de routers
aan de rand van een netwerk (“border routers”).
Dit heeft als achtergrond dat verzadigingsaanvallen voorkomen
van buiten het LAN voorkomen kunnen worden. Daarmee wordt geen
aanval op root
via het netwerk en die
diensten daaraan voorkomen. Er dient altijd een exclusieve
firewall te zijn, dat wil zeggen “firewall alles
behalve poorten A, B, C, D en M-Z”.
Zo worden alle lage poorten gefirewalled behalve die voor
specifieke diensten als named (als
er een primary is voor een zone),
ntalkd,
sendmail en andere diensten die
vanaf Internet toegankelijk moeten zijn. Als de firewall
andersom wordt ingesteld, als een inclusieve of tolerante
firewall, dan is de kans groot dat er wordt vergeten een aantal
diensten af te “sluiten” of dat er een nieuwe
interne dienst wordt toegevoegd en de firewall niet wordt
bijgewerkt. Er kan nog steeds voor gekozen worden de hoge
poorten open te zetten, zodat een tolerante situatie ontstaat,
zonder de lage poorten open te stellen. FreeBSD biedt ook de
mogelijkheid een reeks poortnummers die gebruikt worden voor
dynamische verbindingen in te stellen via de verscheidene
net.inet.ip.portrange
sysctl
s (sysctl -a | fgrep
portrange
), waardoor ook de complexiteit van de
firewall instellingen kan vereenvoudigen. Zo kan bijvoorbeeld
een normaal begin tot eindbereik ingesteld worden van 4000 tot
5000 en een hoog poortbereik van 49152 tot 65535. Daarna kan
alles onder 4000 op de firewall geblokkeerd worden (met
uitzondering van bepaalde poorten die vanaf Internet bereikbaar
moeten zijn natuurlijk).
Een andere veelvoorkomende DoS-aanval is de
springplankaanval: een server zo aanvallen dat de respons van
die server de server zelf, het lokale netwerk of een andere
machine overbelast. De meest voorkomende aanval van dit type is
de ICMP ping broadcast aanval. De
aanvaller fingeert ping-pakketten die naar het broadcast-adres
van het LAN worden gezonden met als bron het
IP-adres van de machine die hij eigenlijk aan
wil vallen. Als de routers aan de rand van het netwerk niet
zijn ingesteld om een ping-pakketten aan een broadcast-adres te
blokkeren, dan kan het LAN genoeg antwoorden produceren om de
verbinding van het slachtoffer (het gefingeerde bronadres) te
verzadigen, zeker als de aanvaller hetzelfde doet met tientallen
andere netwerken. Broadcastaanvallen met een volume van meer
dan 120 megabit zijn al voorgekomen. Een tweede
springplankaanval is er een tegen het ICMP-foutmeldingssysteem.
Door een pakket te maken waarop een ICMP-foutmelding komt, kan
een aanvaller de inkomende verbinding van een server verzadigen
en de uitgaande verbinding laten verzadigen met
ICMP-foutmeldingen. Dit type aanval kan een server ook laten
crashen door te zorgen dat het geheugen ervan vol zit, zeker als
de server de ICMP-antwoorden niet zo snel kwijt kan als dat het
ze genereert. Gebruik de
sysctl-variabele
net.inet.icmp.icmplim
om deze aanvallen te
beperken. De laatste belangrijke klasse springplankaanvallen
hangt samen met een aantal interne diensten van
inetd zoals de UDP-echodienst. Een
aanvaller fingeert eenvoudigweg een UDP-pakket met als
bronadres de echopoort van Server A en als bestemming de
echopoort van Server B, waar Server A en B allebei op een LAN
staan. Die twee servers gaan dat pakket dan heen en weer
kaatsen. Een aanvaller kan beide servers overbelasten door een
aantal van deze pakketten te injecteren. Soortgelijke problemen
kunnen ontstaan met de poort chargen.
Een competente systeembeheerder zal al deze interne
inetd testdiensten
uitschakelen.
Gefingeerde pakketten kunnen ook gebruikt worden om de
kernel route cache te overbelasten. Raadpleeg daarvoor de
net.inet.ip.rtexpire
,
rtminexpire
en rtmaxcache
sysctl
parameters. Een aanval met
gefingeerde pakketten met een willekeurig bron-IP zorgt ervoor
dat de kernel een tijdelijke gecachede route maakt in de
routetabel, die uitgelezen kan worden met netstat -rna
| fgrep W3
. Deze routes hebben een levensduur van
ongeveer 1600 seconden. Als de kernel merkt dat de gecachede
routetabel te groot is geworden, dan wordt
rtexpire
dynamisch verkleind, maar deze
waarde wordt nooit lager dan rtminexpire
.
Er zijn twee problemen:
De kernel reageert niet snel genoeg als een laag belaste server wordt aangevallen.
rtminexpire
is niet laag genoeg om
de kernel de aanval te laten overleven.
Als servers verbonden zijn met het Internet via een E3
of sneller, dan is het verstandig om handmatig
rtexpire
en rtminexpire
aan te passen via sysctl(8). Als de een van de parameters
op nul wordt gezet, dan crasht de machine. Het instellen van
beide waarden op 2 seconden is voldoende om de routetabel
tegen een aanval te beschermen.
Er zijn een aantal aandachtspunten die in acht genomen
moeten worden als Kerberos of ssh gebruikt worden. Kerberos 5
is een prima autenticatieprotocol, maar er zitten bugs in de
Kerberos-versies van telnet en
rlogin waardoor ze niet geschikt
zijn voor binair verkeer. Kerberos codeert standaard de sessie
niet, tenzij de optie -x
wordt gebruikt.
ssh codeert standaard wel
alles.
Ssh werkt prima, maar het stuurt coderingssleutels
standaard door. Dit betekent dat als gegeven een veilig
werkstation met sleutels die toegang geven tot de rest van het
systeem en ssh wordt gebruikt om verbinding te maken met een
onveilige machine, die sleutels gebruikt kunnen worden. De
sleutels zelf zijn niet bekend, maar ssh stelt een
doorstuurpoort in zolang als een gebruikers aangemeld blijft.
Als de aanvaller root
toegang heeft op de
onveilige machine, dan kan hij die poort gebruiken om toegang
te krijgen tot alle machines waar de sleutels van de gebruiker
toegang toe geven.
Het advies is ssh in combinatie met Kerberos te gebruiken
voor het aanmelden door medewerkers wanneer dat ook maar
mogelijk is. Ssh kan gecompileerd
worden met Kerberos-ondersteuning. Dit vermindert de kans op
blootstelling van ssh-sleutels en beschermt tegelijkertijd
de wachtwoorden met Kerberos. Ssh-sleutels zouden alleen
gebruikt moeten worden voor geautomatiseerde taken vanaf
veilige machines (iets waar Kerberos ongeschikt voor is). Het
advies is om het doorsturen van sleutels uit te schakelen in de
ssh-instellingen of om de from=IP/DOMAIN
optie te gebruiken die ssh in staat stelt het bestand
authorized_keys
te gebruiken om de
sleutel alleen bruikbaar te maken voor entiteiten die zich
aanmelden vanaf vooraf aangewezen machines.
Iedere gebruiker op een UNIX® systeem heeft een wachtwoord bij zijn account. Het lijkt voor de hand liggend dat deze wachtwoorden alleen bekend horen te zijn bij de gebruiker en het eigenlijke besturingssysteem. Om deze wachtwoorden geheim te houden, zijn ze gecodeerd in een “eenweg hash” (“one-way hash”), wat betekent dat ze eenvoudig gecodeerd kunnen worden maar niet gedecodeerd. Met andere woorden, wat net gesteld werd is helemaal niet waar: het besturingssysteem kent het echte wachtwoord niet. De enige manier om een wachtwoord in “platte tekst” te verkrijgen, is door er met brute kracht naar te zoeken in alle mogelijke wachtwoorden.
Helaas was DES, de Data Encryption Standard, de enige manier om wachtwoorden veilig te coderen toen UNIX® ontstond. Dit was geen probleem voor gebruikers in de VS, maar omdat de broncode van DES niet geëxporteerd mocht worden moest FreeBSD een manier vinden om zowel te gehoorzamen aan de wetten van de Verenigde Staten als aansluiting te houden bij alle andere varianten van UNIX® die nog steeds DES gebruikten.
De oplossing werd gevonden in het splitsen van de coderingsbibliotheken zodat gebruikers in de Verenigde Staten de DES-bibliotheken konden installeren en gebruiken en internationale gebruikers een coderingsmethode konden gebruiken die geëxporteerd mocht worden. Zo is het gekomen dat FreeBSD MD5 is gaan gebruiken als coderingsmethode. Van MD5 wordt aangenomen dat het veiliger is dan DES, dus de mogelijkheid om DES te installeren is vooral beschikbaar om aansluiting te kunnen houden.
Op dit moment ondersteunt de bibliotheek DES, MD5, Blowfish, SHA256 en SHA512 hashfuncties. Standaard gebruikt FreeBSD 9.1 en nieuwer SHA512 om wachtwoorden te coderen. Oudere versies gebruiken standaard MD5.
Het is vrij makkelijk om uit te vinden welke
coderingsmethode FreeBSD op een bepaald moment gebruikt. De
gecodeerde wachtwoorden in
/etc/master.passwd
bekijken is een manier.
Wachtwoorden die gecodeerd zijn met MD5 zijn langer dan wanneer
ze gecodeerd zijn met DES-hash. Daarnaast beginnen ze met de
karakters $1$
. Wachtwoorden
die beginnen met $2a$
zijn
gecodeerd met de Blowfish hashfunctie. DES-wachtwoordstrings
hebben geen bijzondere kenmerken, maar ze zijn korter dan MD5
wachtwoorden en gecodeerd in een 64-karakter alfabet waar geen
$
karakter in zit. Een relatief korte
string die niet begint met een dollar teken is dus
waarschijnlijk een DES-wachtwoord. Zowel SHA256 als SHA512 beginnen
met de tekens $6$
.
Het wachtwoordformaat voor nieuwe wachtwoorden wordt
ingesteld met de passwd_format
aanmeldinstelling in /etc/login.conf
waar
des
, md5
,
blf
, sha256
of
sha512
in mag staan. Zie de login.conf(5)
handleiding voor meer informatie over
aanmeldinstellingen.
Standaard biedt FreeBSD ondersteuning voor OPIE (Eenmalige Wachtwoorden in Alles - “One-time Passwords In Everything”), wat standaard een MD5-hash gebruikt.
Hier worden drie verschillende soorten wachtwoorden
besproken. De eerste is het normale UNIX® of Kerberos
wachtwoord. Dit heet het “UNIX® wachtwoord”. Het
tweede type is een eenmalig wachtwoord dat wordt gemaakt met het
OPIE-programma opiekey(1) en dat wordt geaccepteerd door
opiepasswd(1) en de aanmeldprocedure. Dit heet het
“eenmalige wachtwoord”. Het laatste type wachtwoord
is het wachtwoord dat wordt opgegeven aan het programma
opiekey
(en soms aan het programma
opiepasswd
) dat gebruikt wordt om eenmalige
wachtwoorden te maken. Dit type heet “geheim
wachtwoord” of gewoon een “wachtwoord” zonder
toevoeging.
Het geheime wachtwoord heeft niets te maken met het UNIX® wachtwoord; ze kunnen hetzelfde zijn, dat wordt afgeraden. OPIE geheime wachtwoorden kennen niet de beperking van 8 karakters zoals de oude UNIX® wachtwoorden. [8] Ze mogen onbeperkt lang zijn. Wachtwoorden van een zes of zeven woorden lange zin zijn niet ongewoon. Voor het overgrote deel werkt het OPIE-systeem volledig onafhankelijk van het UNIX® wachtwoordsysteem.
Buiten het wachtwoord zijn er nog twee stukjes gegevens die van belang zijn voor OPIE. Het eerste wordt “zaad” (“seed”) of “sleutel” (“key”) genoemd en bestaat uit twee letters en vijf cijfers. Het tweede stukje gegevens heet de “iteratieteller”, een nummer tussen 1 en 100. OPIE maakt een eenmalig wachtwoord door het zaad en het geheime wachtwoord aaneen te schakelen en daarop het door de iteratieteller aangegeven keren MD5-hash toe te passen. Daarna wordt het resultaat omgezet in zes korte Engelse woorden. Deze zes woorden zijn een eenmalige wachtwoord. Het autenticatiesysteem (hoofdzakelijk PAM) houdt bij welk eenmalig wachtwoord het laatst is gebruikt en de gebruiker wordt geautenticeerd als de hash van het door de gebruiker ingegeven wachtwoord gelijk is aan het vorige wachtwoord. Omdat er een eenweg hash wordt gebruikt, is het onmogelijk om toekomstige eenmalige wachtwoorden te maken als iemand toch een eenmalig wachtwoord heeft afgevangen. De iteratieteller wordt verlaagd na iedere succesvolle aanmelding om de gebruiker en het aanmeldprogramma synchroon te houden. Als de iteratieteller op 1 staat, moet OPIE opnieuw ingesteld worden.
Er zijn enkele programma's bij ieder systeem betrokken die
hieronder worden besproken. Het programma
opiekey
heeft een iteratieteller,
zaad en een geheim wachtwoord nodig en maakt dan een eenmalig
wachtwoord of een lijst van opeenvolgende eenmalige wachtwoorden.
Het programma opiepasswd
wordt gebruikt om OPIE
te initialiseren en om wachtwoorden, iteratietellers en zaad te
wijzigen. Het accepteert zowel wachtwoordzinnen als een
iteratieteller, zaad en een eenmalig wachtwoord. Het programma
opieinfo
bekijkt de relevante bestanden waarin
de eigenschappen staan (/etc/opiekeys
) en
toont de huidige iteratieteller en zaad van de gebruiker die het
commando uitvoert.
Nu worden vier verschillende acties besproken. Bij de eerste
wordt opiepasswd
gebruikt in een beveiligde
verbinding om voor het eerst eenmalige wachtwoorden in te stellen
of om een wachtwoord of zaad aan te passen. Bij de tweede wordt
opiepasswd
gebruikt over een onbeveiligde
verbinding samen met opiekey
over een
beveiligde verbinding om hetzelfde te bereiken. In een derde
scenario wordt opiekey
gebruikt om aan te
melden over een onveilige verbinding. Het vierde
scenario behandelt het gebruik van opiekey
om
een aantal sleutels aan te maken die opgeschreven of afgedrukt
kunnen worden, zodat ze meegenomen kunnen worden naar een plaats
van waar geen enkele veilige verbinding opgezet kan worden.
Gebruik het commando opiepasswd
om OPIE
voor de eerste keer te initialiseren:
%
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
Als Enter new secret pass phrase:
of
Enter secret password:
op het scherm
verschijnt, dient een wachtwoord of wachtwoordzin ingevoerd te
worden. Dit is dus niet het aanmeldwachtwoord is, maar dit
wordt gebruikt om eenmalige wachtwoorden te maken. De
“ID” regel geeft de parameters van het verzoek
weer: de aanmeldnaam, de iteratieteller en zaad. Bij het
aanmelden kent het systeem deze parameters en worden deze
weergegeven zodat ze niet onthouden hoeven te worden. Op de
laatste regel staat het eenmalige wachtwoord dat overeenkomt met
die parameters en het geheime wachtwoord. Als de gebruiker
direct opnieuw zou aanmelden, zou hij dat eenmalige wachtwoord
moeten gebruiken.
Om een wachtwoord te initialiseren of te wijzigen over een
onveilige verbinding, moet er al ergens een veilige verbinding
bestaan waar de gebruiker opiekey
kan
uitvoeren. Dit kan een shellprompt zijn op een machine die
vertrouwd wordt. De gebruiker moet ook een iteratieteller
verzinnen (100 is wellicht een prima getal) en een eigen zaad
bedenken of er een laten fabriceren. Over de onveilige
verbinding (naar de machine die de gebruiker wil initialiseren)
wordt het commando opiepasswd
gebruikt:
%
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
Druk op Return om het standaardzaad te accepteren. Voor een toegangswachtwoord wordt ingevoerd, dient eerst gewisseld te worden naar de veilige verbinding en dienen dezelfde parameters ingegeven te worden:
%
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
In de onveilige verbinding wordt nu het eenmalige wachtwoord in het relevante programma gekopieerd.
Als OPIE eenmaal is ingesteld staat er bij het aanmelden iets als het volgende:
%
telnet example.com
Trying 10.0.0.1... Connected to example.com Escape character is '^]'. FreeBSD/i386 (example.com) (ttypa) login:<gebruikersnaam>
otp-md5 498 gr4269 ext Password:
NB: de OPIE-prompt heeft een handige optie (die hier niet te zien is): als er op Return wordt gedrukt bij de wachtwoordregel, wordt de echo aangezet, zodat de invoer zichtbaar is. Dit is erg handig als er met de hand een wachtwoord wordt ingegeven, zoals wanneer het wordt ingevoerd vanaf een afdruk.
Nu moet het eenmalige wachtwoord gemaakt worden om het
aanmeldprompt mee te antwoorden. Dit moet gedaan worden op een
vertrouwd systeem waarop opiekey
beschikbaar
is. Er zijn ook versies voor MS-DOS®, Windows® en Mac OS®.
Voor het commando moet zowel de iteratieteller als het zaad
ingeven worden op de commandoregel. Deze kan zo overgenomen
worden vanaf het aanmeldprompt op de machine waarop de gebruiker
zich wil aanmelden.
Op het vertrouwde systeem:
%
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
Nu het eenmalige wachtwoord er is, kan het aanmelden doorgang vinden.
Soms moet een gebruiker ergens naar toe gaan waar er geen
toegang is tot een vertrouwde machine of een beveiligde
verbinding. In dat geval is het mogelijk om met het commando
opiekey
een aantal eenmalige wachtwoorden te
maken om uit te printen en mee te nemen:
%
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:<geheim wachtwoord>
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
Met -n 5
worden vijf opeenvolgende
sleutels aangevraagd, 30
geeft aan wat het
laatste iteratiegetal moet zijn. Deze wachtwoorden worden
weergegeven in omgekeerde volgorde voor
gebruik. Als de gebruiker echt paranoïde bent kan hij ze
opschrijven of hij kan er ook voor kiezen ze af te drukken met
lpr
. Op iedere regel staat dus de
iteratieteller en het eenmalige wachtwoord, maar misschien is
het toch handig om ze na gebruik af te strepen.
Met OPIE kan paal en perk gesteld worden aan het gebruik van
UNIX® wachtwoorden op basis van het IP-adres
van een aanmeldsessie. Dat kan met het bestand
/etc/opieaccess
dat standaard aanwezig is.
Bij opieaccess(5) staat meer informatie over dit bestand en
welke beveiligingsoverwegingen bestaan bij het gebruik.
Hieronder een voorbeeld voor een
opieaccess
bestand:
permit 192.168.0.0 255.255.0.0
In deze regel (permit Internet
) staat
dat gebruikers met een bron IP adres (wat
gefingeerd kan worden) dat past binnen de aangegeven waarde en
masker altijd UNIX® wachtwoorden mogen gebruiken.
Als geen van de regels uit opieaccess
van toepassing is, worden standaard pogingen zonder OPIE
geweigerd.
Iedereen die bekend is met inetd(8) heeft waarschijnlijk wel eens van TCP Wrappers gehoord. Maar slechts weinigen lijken volledig te begrijpen hoe ze in een netwerkomgeving toegepast kunnen worden. Het schijnt dat iedereen een firewall wil hebben om netwerkverbindingen af te handelen. Ondanks dat een firewall veel kan, zijn er toch dingen die het niet kan, zoals tekst terugsturen naar de bron van een verbinding. De TCP Wrappers software kan dat en nog veel meer. In dit onderdeel worden de mogelijkheden van TCP Wrappers besproken en, waar dat van toepassing is, worden ook voorbeelden voor implementatie gegeven.
De TCP Wrappers software vergroot de mogelijkheden van inetd door de mogelijkheid al zijn serverdaemons te controleren. Met deze methode is het mogelijk om te loggen, berichten te zenden naar verbindingen, een daemon toe te staan alleen interne verbindingen te accepteren, etc. Hoewel een aantal van deze mogelijkheden ook ingesteld kunnen worden met een firewall, geeft deze manier niet alleen een extra laag beveiliging, maar gaat dit ook verder dan wat een firewall kan bieden.
De toegevoegde waarde van TCP Wrappers is niet dat het een goede firewall vervangt. TCP Wrappers kunnen samen met een firewall en andere beveiligingsinstellingen gebruikt worden om een extra laag van beveiliging voor het systeem te bieden.
Omdat dit een uitbreiding is op de instellingen van inetd, wordt aangenomen dat de lezer het onderdeel inetd configuratie heeft gelezen.
Hoewel programma's die onder inetd(8) draaien niet echt “daemons” zijn, heten ze traditioneel wel zo. Deze term wordt hier dus ook gebruikt.
De enige voorwaarde voor het gebruiken van
TCP Wrappers in FreeBSD is ervoor te zorgen
dat de server inetd gestart wordt
vanuit rc.conf
met de optie
-Ww
; dit is de standaardinstelling. Er wordt
vanuit gegaan dat /etc/hosts.allow
juist is
ingesteld, maar als dat niet zo is, dan zal syslogd(8) dat
melden.
In tegenstelling tot bij andere implementaties van
TCP Wrappers is het gebruik van
hosts.deny
niet langer mogelijk. Alle
instellingen moeten in /etc/hosts.allow
staan.
In de meest eenvoudige instelling worden verbindingen naar
daemons toegestaan of geweigerd afhankelijk van de opties in
/etc/hosts.allow
. De standaardinstelling
in FreeBSD is verbindingen toe te staan naar iedere daemon die met
inetd is gestart. Na de
basisinstelling wordt aangegeven hoe dit gewijzigd kan worden.
De basisinstelling heeft meestal de vorm
daemon : adres : actie
.
daemon
is de daemonnaam die
inetd
heeft gestart. Het
adres
kan een geldige hostnaam, een
IP-adres of een IPv6-adres tussen
blokhaken ([ ]) zijn. Het veld actie
kan allow
of deny
zijn,
afhankelijk van of toegang toegestaan of geweigerd moet worden.
De instellingen werken zo dat ze worden doorlopen van onder naar
boven om te kijken welke regel als eerste van toepassing is.
Als een regel van toepassing is gevonden, dan stop het
zoekproces.
Er zijn nog andere mogelijkheden, maar die worden elders
toegelicht. Een eenvoudige instelling kan al van met deze
informatie worden gemaakt. Om bijvoorbeeld
POP3 verbindingen toe te staan via de
mail/qpopper daemon,
zouden de volgende instellingen moeten worden toegevoegd aan
hosts.allow
:
# Deze regel is nodig voor POP3-verbindingen qpopper : ALL : allow
Nadat deze regel is toegevoegd moet inetd herstart worden door gebruik te maken van service(8):
#
service inetd restart
TCP Wrappers hebben ook gevorderde
instellingen. Daarmee komt meer controle over de wijze waarop
er met verbindingen wordt omgegaan. Soms is het een goed idee
om commentaar te sturen naar bepaalde hosts of
daemonverbindingen. In andere gevallen moet misschien iets
in een logboekbestand geschreven worden of een email naar de
beheerder gestuurd worden. Dit kan allemaal met instellingen
die wildcards
, uitbreidingskarakters
(expansion characters) en het uitvoeren van externe commando's
heten. De volgende twee paragrafen beschrijven deze
mogelijkheden.
Stel dat zich de situatie voordoet waar een verbinding
geweigerd moet worden, maar er een reden gestuurd moet
worden naar het individu dat die verbinding probeerde op te
zetten. Hoe gaat dat? Dat is mogelijk door gebruik te
maken van de optie twist
. Als er een
poging tot verbinding wordt gedaan, wordt er met
twist
een shellcommando of script
uitgevoerd. Er staat al een voorbeeld in
hosts.allow
:
# De andere daemons zijn beschermd. ALL : ALL \ : severity auth.info \ : twist /bin/echo "You are not welcome to use %d from %h."
Dit voorbeeld geeft aan dat het bericht “You are
not allowed to use daemon
from
hostname
.” wordt teruggestuurd
voor iedere daemon die niet al is ingesteld in het
toegangsbestand. Het is erg handig om een antwoord terug
te sturen naar degene die een verbinding op heeft willen
zetten meteen nadat een tot stand gekomen verbinding is
verbroken. Let wel dat alle berichten die gezonden worden
moeten staan tussen "
karakters. Hier zijn geen uitzonderingen op.
Het is mogelijk een ontzegging van dienst aanval uit te voeren op de server als een aanvaller, of een groep aanvallers, deze daemons kan overstromen met verzoeken om verbindingen te maken.
Het is ook mogelijk hier de optie spawn
te gebruiken. Net als twist
weigert
de optie spawn
impliciet de verbinding en kan
het gebruikt worden om shellcommando's of scripts uit te
voeren. Anders dan bij twist
stuurt
spawn
geen bericht aan degene die de
verbinding wilde maken. Zie bijvoorbeeld de volgende
instelling:
# Geen verbindingen van example.com: ALL : .example.com \ : spawn (/bin/echo %a from %h attempted to access %d >> \ /var/log/connections.log) \ : deny
Hiermee worden alle verbindingen van het domein
*.example.com
geweigerd.
Tegelijkertijd worden ook hostnaam, IP
adres en de daemon waarmee verbinding werd gemaakt naar
/var/log/connections.log
geschreven.
Naast de vervangingskarakters die al zijn toegelicht,
zoals %a
, bestaan er nog een paar andere.
In de handleiding van hosts_access(5) staat een volledige
lijst.
Tot nu toe is in ieder voorbeeld ALL
gebruikt. Er bestaan nog andere opties waarmee de
mogelijkheden nog verder gaan. Zo kan ALL
gebruikt worden om van toepassing te zijn op iedere instantie
van een daemon, domein of een IP adres.
Een andere wildcard die gebruikt kan worden is
PARANOID
. Daarmee wordt iedere host die
een IP-adres geeft dat gefingeerd kan zijn
aangeduid. Met andere woorden: PARANOID
kan gebruikt worden om een actie aan te geven als er een
IP-adres gebruikt wordt dat verschilt van
de hostnaam. Het volgende voorbeeld kan wat verheldering
brengen:
# Weiger mogelijke gespoofte verzoeken aan sendmail: sendmail : PARANOID : deny
In het voorgaande voorbeeld worden alle
verbindingsverzoeken aan sendmail
met een
IP-adres dat verschilt van de hostnaam
geweigerd.
Het gebruik van de wildcard PARANOID
kan nogal wat schade aanrichten als de cliënt of de
server kapotte DNS-instellingen heeft.
Voorzichtigheid van de beheerder is geboden.
De handleiding van hosts_access(5) geeft meer uitleg over wildcards en de mogelijkheden die ze bieden.
Voordat de bovenstaande instellingen werken, dient de
eerste regels in hosts.allow
als
commentaar gemarkeerd te worden.
Kerberos is een netwerkdienst, protocol en systeem waarmee gebruikers zich kunnen aanmelden met behulp van een dienst op een veilige server. Diensten als op een andere server aanmelden, op afstand kopiëren, veilig tussen systemen kopiëren en andere taken met een hoog risico worden aanmerkelijk veiliger en beter controleerbaar.
Kerberos kan omschrijven worden als identiteitbevestigend proxy systeem. Het kan ook omschreven worden als een vertrouwd autenticatiesysteem van een derde partij. Kerberos vervult maar één taak: het veilig autenticeren van gebruikers op het netwerk. Het vervult geen autorisatietaken (wat gebruikers mogen) en controleert ook niets (wat gebruikers hebben gedaan). Nadat een cliënt en server Kerberos hebben gebruikt om hun identiteit vast te stellen kunnen ze ook al hun communicatie coderen om hun privacy en gegevensintegriteit te garanderen.
Daarom wordt het sterk aangeraden om Kerberos samen met andere beveiligingsmechanismen te gebruiken die autorisatie en controlemogelijkheden bieden.
De aanwijzingen die nu volgen kunnen gebruikt worden als werkinstructie om Kerberos in te stellen zoals dat wordt meegeleverd met FreeBSD. Een complete beschrijving staat in de handleiding.
Voor demonstratie van de installatie van Kerberos wordt gebruik gemaakt van de volgende naamgeving:
Het DNS domein (“zone”) is example.org.
De Kerberos wereld is EXAMPLE.ORG.
Het advies is voor installaties van Kerberos echte domeinnamen te gebruiken, zelfs als het alleen intern wordt gebruikt. Hiermee worden DNS problemen voorkomen is een goede samenwerking met andere Kerberos werelden verzekerd.
Kerberos is ontworpen door MIT als oplossing voor netwerkbeveiligingsproblemen. Het Kerberos protocol gebruikt sterke codering zodat een cliënt zijn identiteit kan bewijzen aan een server (en andersom) over een onveilige netwerkverbinding.
Kerberos is zowel de naam van een netwerkautorisatieprotocol als een bijvoeglijk naamwoord om de programma's te beschrijven die gebruik maken van het programma (zoals Kerberos telnet). De huidige versie van het protocol is versie 5 en is beschreven in RFC 1510.
Er zijn een aantal vrij beschikbare implementaties van dit protocol beschikbaar voor veel systemen. Het Massachusetts Institute of Technology (MIT), waar Kerberos ooit is ontwikkeld, ontwikkelt nog steeds door aan hun Kerberos pakket. Het wordt in de VS veel gebruikt als coderingspakket en daarom wordt het ook geraakt door de exportwetgeving van de VS. Kerberos van MIT is beschikbaar als port (security/krb5). Heimdal Kerberos is een andere implementatie van versie 5 die expliciet buiten de VS is ontwikkeld om de exportwetgeving de omzeilen (en wordt daarom vaak gebruikt in niet-commerciële UNIX® varianten). De Heimdal Kerberos distributie is beschikbaar als port (security/heimdal) en er zit een minimale installatie in de basisinstallatie van FreeBSD.
Om het grootst mogelijke publiek te bereiken gaan deze instructies ervan uit dat de Heimdal distributie die bij FreeBSD zit wordt gebruikt.
Het Sleutel Distributie Centrum (KDC, voluit “Key Distribution Center”) is de gecentraliseerde autenticatiedienst die Kerberos levert. Het is de computer die Kerberos tickets uitgeeft. Het KDC wordt “vertrouwd” door alle andere computer in de Kerberos wereld en daarom dient er een strenger beveiligingsregime op van kracht te zijn.
Hoewel het draaien van de Kerberos dienst erg weinig van een systeem vraagt, wordt het wel aangeraden om een machine in te richten exclusief voor het KDC om beveiligingsredenen.
Het opzetten van een KDC begint met de
controle of de instellingen in
/etc/rc.conf
juist zijn om te functioneren
als KDC (misschien moeten paden veranderd
worden voor een eigen systeem):
kerberos5_server_enable="YES" kadmind5_server_enable="YES"
Daarna wordt het
Kerberos-instellingenbestand
/etc/krb5.conf
aangemaakt:
[libdefaults] default_realm = EXAMPLE.ORG [realms] EXAMPLE.ORG = { kdc = kerberos.example.org admin_server = kerberos.example.org } [domain_realm] .example.org = EXAMPLE.ORG
/etc/krb5.conf
gaat ervan uit dat de
KDC de volledig gekwalificeerde hostnaam kerberos.example.org
heeft. Als de
KDC een andere hostnaam heeft, moet er nog
een CNAME (alias) toegevoegd aan de zonefile.
Voor grotere netwerken met een juist ingestelde BIND DNS server kan het bovenstaande voorbeeld ingekort worden tot:
[libdefaults] default_realm = EXAMPLE.ORG
Door de volgende regels toe te voegen aan het
zonebestand voor example.org
:
_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
Om cliënten de
Kerberos-diensten te kunnen laten
vinden, moet er een volledig ingestelde
/etc/krb5.conf
zijn of een minimaal
ingestelde /etc/krb5.conf
en een correct ingestelde DNS-server.
Nu wordt de Kerberos
database aangemaakt. Deze database bevat de sleutels voor
alle principals en zijn versleuteld met een hoofdwachtwoord.
Dit wachtwoord hoeft niet onthouden te worden omdat het wordt
opgeslagen in (/var/heimdal/m-key
). De
hoofdsleutel wordt aangemaakt door kstash
te starten en een wachtwoord in te voeren.
Als de hoofdsleutel is gemaakt, kan de database
ingeschakeld worden met kadmin
met de optie -l
(die staat voor
“local”). Deze optie geeft
kadmin
de opdracht om de databasebestanden
direct te wijzigingen in plaats van via de
kadmind
netwerkdienst. Hiermee wordt het
kip-ei-probleem opgelost waarbij een verbinding wordt gemaakt
met de database voordat hij bestaat. Op het prompt van
kadmin
kan met init
de database met de werelden aangemaakt worden.
Tenslotte, nog steeds in kadmin
, kan
de eerste principal gemaakt worden met
add
. De standaardopties voor de principal
worden nu aangehouden. Deze kunnen later altijd
nog gewijzigd worden met modify
. Met
het commando ?
kunnen alle beschikbare
mogelijkheden getoond worden.
Hieronder een sessie waarin een voorbeelddatabase wordt aangemaakt:
#
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
Nu kan de KDC dienst gestart worden
met service kerberos start
en
service kadmind start
. Op dit moment
draait er nog geen enkele daemon die gebruik maakt van
Kerberos. Bevestiging dat
KDC draait is te krijgen door een ticket te
vragen en dat uit te lezen voor de principal (gebruiker)
die zojuist is aangemaakt vanaf de commandoregel van het
KDC zelf:
%
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
Het ticket kan worden ingenomen wanneer u klaar bent:
%
kdestroy
Als eerste is een kopie van het instellingenbestand van
Kerberos nodig,
/etc/krb5.conf
. Dit bestand kan
eenvoudigweg op een veilige manier (met netwerkprogramma's
als scp(1), of fysiek via een floppy) naar de
cliëntcomputer gekopieerd worden vanaf de
KDC.
Hierna is het /etc/krb5.keytab
nodig. Dit is het belangrijkste verschil tussen een server
die een daemons met Kerberos
aanbiedt en een werkstation: de server heeft het bestand
keytab
nodig. Dit bestand bevat de
hostsleutel van de server waardoor het werkstation en de
KDC elkaars identiteit kunnen bevestigen.
Dit bestand dient veilig overgebracht te worden omdat de
beveiliging van de server doorbroken kan worden als de
sleutel openbaar wordt gemaakt. Dit betekent expliciet dat
overdracht via een protocol dat platte tekst gebruikt,
bijvoorbeeld FTP, een slecht idee is.
Meestal wordt keytab
naar de
server gebracht met kadmin
. Dat
werkt handig omdat ook de host principal (het
KDC onderdeel van
krb5.keytab
) aangemaakt moet
worden met kadmin
.
Let wel op dat er al een ticket moet zijn en dat dit
ticket de kadmin
interface moet mogen
gebruiken in kadmind.acl
. Zie
“Beheer op Afstand” in de Heimdal
informatiepagina's (info heimdal
) voor
details over het ontwerpen van toegangscontrole. Als
kadmin
via het netwerk geen toegang mag
hebben, dan kan ook op een veilige verbinding gemaakt worden
met de KDC (via het lokale console,
ssh(1) of Kerberos
telnet(1)) zodat alles lokaal uitgevoerd kan worden met
kadmin -l
.
Na het installeren van
/etc/krb5.conf
kan
kadmin
van de
Kerberos server gebruikt worden.
Met add --random-key
kan de host
principal toegevoegd worden en met ext
kan
de host principal van de server naar zijn eigen keytab
getrokken worden. Bijvoorbeeld:
#
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
Let op: ext
slaat de sleutel standaard
op in /etc/krb5.keytab
.
Als kadmind
niet beschikbaar is op de
KDC (wellicht om beveiligingsredenen) en
er via het netwerk dus geen toegang is tot
kadmin
, dan kan de host principal
(host/myserver.EXAMPLE.ORG
) ook direct
aan de KDC toegevoegd worden en daarna in
een tijdelijk bestand gezet worden. Het volgende kan
gebruikt worden om te voorkomen dat
/etc/krb5.keytab
op de
KDC) wordt overschreven:
#
kadmin
kadmin>ext --keytab=/tmp/example.keytab host/myserver.example.org
kadmin>exit
Hierna kan de keytab veilig gekopieerd worden naar de
server (met scp
of een floppy). Geef
een niet-standaard naam op voor de keytab om te voorkomen
dat de keytab op de KDC wordt
overschreven.
Nu kan de server communiceren met de
KDC (vanweg
krb5.conf
) en zijn identiteit bewijzen
(vanwege krb5.keytab
). Nu is de server
klaar om er een aantal Kerberos
diensten op te activeren. In dit voorbeeld wordt de dienst
telnet
geactiveerd door de volgende regel
in /etc/inetd.conf
te zetten en dan
inetd(8) te herstarten met
service inetd restart
:
telnet stream tcp nowait root /usr/libexec/telnetd telnetd -a user
Het belangrijkste is dat de typering
-a
(van autenticatie) op user staat. Meer
details zijn in telnetd(8) te vinden.
Het opzetten van een cliëntcomputer is eigenlijk
kinderlijk eenvoudig. Wat betreft de
Kerberos instelling is alleen het
Kerberos instellingenbestand
(/etc/krb5.conf
) nodig. Dat kan
eenvoudigweg naar de cliëntcomputer gekopieerd worden
vanaf de KDC.
Test de cliënt met kinit
,
klist
en kdestroy
vanaf de cliënt om een ticket te krijgen, te bekijken en
daarna te verwijderen voor de principal die hierboven is
aangemaakt. Nu moeten ook
Kerberos applicaties gebruikt
kunnen worden om verbindingen te maken met servers waarop
Kerberos is geactiveerd. Als dat
niet lukt en het verkrijgen van een ticket is wel mogelijk,
dan ligt dat hoogstwaarschijnlijk aan de server en niet aan
de cliënt of de KDC.
Bij het testen van een applicatie als
telnet
kan het beste een pakketsnuffelaar
(bijvoorbeeld tcpdump(1)) gebruikt worden om te bevestigen dat
een wachtwoord niet als tekst wordt verzonden. Gebruik
telnet
met de optie -x
.
Dan wordt de complete gegevensstroom versleuteld (vergelijkbaar
met ssh
).
Er worden standaard ook andere
Kerberos applicaties op de
cliënt geïnstalleerd. Hier komt de
“minimalistische” natuur van de basisinstallatie
van Heimdal boven drijven: telnet
is
de enige dienst waarvoor Kerberos
geactiveerd is.
De port Heimdal voegt een aantal ontbrekende
cliëntapplicaties toe: versies met ondersteuning voor
Kerberos van
ftp
, rsh
,
rcp
, rlogin
en een paar
minder gebruikelijke programma's. De MIT
port bevat ook een volledig gamma aan
Kerberos cliëntapplicaties.
Voor gebruikers binnen een wereld wijst hun
Kerberos principal (bv.
tillman@EXAMPLE.ORG
) gewoonlijk naar
een lokale gebruikersaccount (bijvoorbeeld een lokale account
met de naam tillman
). Voor
cliëntapplicaties als telnet
is
gewoonlijk geen gebruikersnaam of principal nodig.
Soms moet iemand zonder bijpassende
Kerberos principal toch toegang
hebben tot een lokale gebruikersaccount.
tillman@EXAMPLE.ORG
zou bijvoorbeeld
toegang nodig kunnen hebben tot de lokale gebruikersaccount
webdevelopers
. Andere principals zouden
die toegang wellicht ook nodig kunnen hebben.
De bestanden .k5login
en
.k5users
uit de gebruikersmap kunnen op
eenzelfde manier gebruikt worden als
.hosts
en .rhosts
.
Zo wordt het voorgaande probleem opgelost. Als bijvoorbeeld
een .k5login
met de volgende
inhoud:
tillman@example.org jdoe@example.org
in de thuismap van de lokale gebruiker
webdevelopers
gezet wordt dan zouden
beide principals toegang hebben tot die account zonder dat
ze een wachtwoord hoeven te delen.
We raden aan de handleidingen voor deze commando's
te lezen. Let op dat de ksu
handleiding
.k5users
behandelt.
Als de Heimdal of MIT
Kerberos port wordt gebruikt
dan dient de PATH
omgevingsvariabele
de Kerberos versies van de
cliëntapplicaties te tonen voor de systeemversies.
Hebben alle computers in de wereld hun tijd gesynchroniseerd? Als dat niet zo is, dan slaagt de autenticatie wellicht niet. Paragraaf 29.10, “Tijd synchroniseren met NTP” beschrijft hoe klokken met NTP gesynchroniseerd kunnen worden.
MIT en Heimdal werken prima samen.
Dit geldt niet voor kadmin
omdat
daarvoor geen protocolstandaard is.
Als een hostnaam wordt gewijzigd, dan moet ook de
host/
principal aangepast en de
keytab. Dit geldt ook voor bijzondere instellingen
in de keytab zoals de www/
principal
voor www/mod_auth_kerb van
Apache.
Alle hosts in een wereld moeten oplosbaar
(resolvable) zijn (zowel vooruit als achteruit) in de
DNS (of tenminste in
/etc/hosts
). CNAMEs werken wel,
maar de A en PTR records moeten juist en actief zijn. De
foutmelding is niet erg duidelijk: Kerberos5
refuses authentication because Read req failed: Key table
entry not found.
Sommige besturingssystemen van cliënten voor een
KDC zetten wellicht geen setuid
root
voor ksu
.
Dit betekent dat ksu
niet werkt. Dat
is vanuit beveiligingsoogpunt een prima idee, maar wel
lastig. Dit is dus geen KDC-fout.
Als met MIT
Kerberos een principal een
ticket moet krijgen dat langer geldig is dan de standaard
van tien uur, dan moet
modify_principal
in
kadmin
gebruikt worden om de maximale
geldigheidsduur (maxlife) van zowel de principal waar het
om gaat als de krbtgt
principal aan
te passen. Dan kan de principal kinit
-l
gebruiken om een ticket met een
langere levensduur aan te vragen.
Als een pakketsnuffelaar op de
KDC draait bij om te helpen bij het
oplossen van problemen en dan kinit
vanaf een werkstation wordt gestart, dan wordt zichtbaar
dat de TGT meteen wordt verstuurd als
kinit
start, zelfs nog voor het
wachtwoord! De reden hiervoor is dat de
Kerberos server vrijelijk een
TGT (Ticket Granting
Ticket) verstuurt op iedere niet geautoriseerd verzoek.
Maar iedere TGT is versleuteld met een
sleutel die is afgeleid van het wachtwoord van de
gebruiker. Als een gebruiker zijn wachtwoord ingeeft,
wordt dat dus niet naar de KDC
gezonden, maar ontcijfert het de TGT
die kinit
al heeft ontvangen. Als de
ontcijfering resulteert in een geldige ticket met een
geldige tijdstempel, dan heeft de gebruiker geldige
Kerberos rechten. Deze
rechten bevatten ook een sessiesleutel voor het opzetten
van beveiligde communicatie met de
Kerberos server in de toekomst
en de eigenlijke ticket-granting ticket, die is
versleuteld met de sleutel van de
Kerberos server zelf. Deze
tweede laag van versleuteling is niet bekend voor de
gebruiker, maar het stelt de
Kerberos server in staat om de
juistheid van iedere TGT te
bevestigen.
Als tickets worden gebruik die lang geldig zijn (bv.
een week) en OpenSSH wordt
gebruikt om een verbinding te maken met de machine waarop
het ticket staat, zorg er dan voor dat de
Kerberos optie
TicketCleanup
op no
staat in sshd_config
want anders
worden tickets verwijderd bij afmelden.
Hostprincipals kunnen ook een langere levensduur hebben. Als een gebruikers principal een levensduur van een week heeft, maar de host waar de verbinding mee gemaakt wordt heeft een levensduur van negen uur, dan heb staat er een verlopen host principal in de cache en dan werkt een en ander niet zoals verwacht.
Een krb5.dict
bestand om het
gebruik van bepaalde slechte wachtwoorden te voorkomen
(dit wordt kort behandeld in de handleiding voor
kadmind
) heeft alleen betrekking op
principals waar een wachtwoordbeleid voor geldt. De
opmaak van krb5.dict
is eenvoudig:
een rij tekens per regel. Een symbolische link maken naar
/usr/share/dict/words
is misschien
handig.
Het belangrijkste verschil tussen de
MIT en Heimdal installatie heeft
betrekking op kadmin
, dat een andere (maar
gelijkwaardige) set commando's kent en een andere protocol
gebruikt. Dit betekent nogal wat als een
KDC MIT is, omdat
dan de kadmin
van Heimdal niet gebruikt
kan worden om de KDC vanaf afstand te
beheren (dat geldt trouwens ook vice versa).
De cliëntapplicaties kunnen ook commandoregelopties
gebruiken die een beetje verschillen, maar waarmee wel
hetzelfde wordt bereikt. We raden aan de instructies op de
MIT Kerberos
website (http://web.mit.edu/Kerberos/www/
) te volgen.
Wees voorzichtig met paden: de MIT-port
installeert standaard in
/usr/local/
en dus kunnen de
“normale” systeemapplicaties gestart worden in
plaats van die van MIT als de
PATH
omgevingsvariabele de systeemmappen als
eerste weergeeft.
Als de MIT
security/krb5 port die
bij FreeBSD zit wordt gebruikt, dan zorgt het lezen van
/usr/local/share/doc/krb5/README.FreeBSD
dat bij de port wordt geïnstalleerd voor een beter
begrip over waarom het aanmelden via
telnetd
en klogind
soms wat vreemd verloopt. Als belangrijkste wijzen we erop
dat het bij het corrigeren van
“onjuiste rechten op het cachebestand”
noodzakelijk is dat het binaire bestand
login.krb5
wordt gebruikt voor
autenticatie zodat het op de juiste wijze eigenaarschap kan
wijzigen voor de doorgegeven rechten.
Het bestand rc.conf
moet ook gewijzigd
worden zodat het de volgende configuratie bevat:
kerberos5_server="/usr/local/sbin/krb5kdc" kadmind5_server="/usr/local/sbin/kadmind" kerberos5_server_enable="YES" kadmind5_server_enable="YES"
Dit is gedaan omdat de applicaties voor
MIT-Kerberos binairen in de hiërarchie
/usr/local
installeren.
Iedere ingeschakelde dienst op het netwerk moet
aangepast worden om met Kerberos
te werken (of op een andere manier beschermd zijn tegen
netwerkaanvallen), want anders kunnen gebruikersrechten
worden gestolen en herbruikt. Een voorbeeld hier van is
het inschakelen van Kerberos
voor alle shells op afstand (via rsh
en
telnet
bijvoorbeeld), maar de
POP3 mailserver die wachtwoorden als
platte tekst verzend ongemoeid laten.
In een meergebruikersomgeving is
Kerberos minder veilig. Dit
komt doordat de tickets worden opgeslagen in de map
/tmp
, waar gelezen kan worden
door alle gebruikers. Als een gebruiker een computer deelt met
andere gebruikers op hetzelfde moment (dus multi-user), dan
is het mogelijk dat een ticket van een gebruiker wordt
gestolen (gekopieerd) door een andere gebruiker.
Dit kan voorkomen worden met de commandoregeloptie
“-c
bestandsnaam” of (bij
voorkeur) de omgevingsvariabele KRB5CCNAME
,
maar dat wordt zelden gedaan. In principe kan het opslaan
van een ticket in de thuismap van een gebruiker in
combinatie met eenvoudige bestandsrechten dit probleem
verhelpen.
Zoals het is ontworpen, moet de KDC zo goed mogelijk beveiligd zijn, omdat de hoofdwachtwoorddatabase erop staat. De KDC hoort geen enkele andere dienst aan te bieden en moet ook fysiek afgeschermd worden. Het gevaar is groot, omdat Kerberos alle wachtwoorden versleutelt met dezelfde sleutel (de “master” sleutel) die als een bestand op de KDC staat.
Toch is een gecompromitteerde mastersleutel niet zo'n groot probleem als wellicht wordt verondersteld. De mastersleutel wordt alleen gebruikt om de Kerberos database te versleutelen en als zaad voor de generator van willekeurige nummers. Zo lang als de toegang tot de KDC is beveiligd, kan een aanvaller niet echt iets doen met de mastersleutel.
Als de KDC niet beschikbaar is (misschien door een ontzeggen van dienst aanval of netwerkproblemen) kunnen de netwerkdiensten niet gebruikt worden omdat er geen autenticatie uitgevoerd kan worden; een recept voor een ontzeggen van dienst aanval. Dit risico kan omzeild worden door meerdere KDC's (één master en één of meer slaven) en een zorgvuldige implementatie van secundaire of fall-back autenticatie. PAM is hier uitermate geschikt voor.
Kerberos stelt gebruikers,
hosts en diensten in staat om elkaar te autenticeren.
Maar het heeft geen mechanisme om de KDC
te autenticeren aan de gebruikers, hosts of diensten. Dit
betekent dat bijvoorbeeld een vervalste
kinit
alle gebruikersnamen en
wachtwoorden zou kunnen afluisteren. Iets als
security/tripwire of
andere controle-instrumenten voor de integriteit van
bestandssystemen kunnen hier verlichting brengen.
Een toepassing die bij FreeBSD zit die veel gebruikers over het hoofd zien is OpenSSL. OpenSSL biedt een versleutelde transportlaag bovenop de normale communicatielaag. Daardoor biedt het de mogelijkheid met veel netwerktoepassingen en diensten verweven te raken.
Een aantal toepassingen van OpenSSL zijn versleutelde autenticatie van mailcliënten, webgebaseerde transacties als creditcardbetalingen en nog veel meer. Veel ports zoals www/apache22 en mail/claws-mail bieden tijdens het compileren ondersteuning om OpenSSL in te bouwen.
In de meeste gevallen zal de Portscollectie proberen de
port security/openssl te
bouwen, tenzij de make variabele
WITH_OPENSSL_BASE
expliciet naar
“yes” is gezet.
De versie van OpenSSL die bij FreeBSD zit ondersteunt Secure Sockets Layer v2/v3 (SSLv2/SSLv3), Transport Layer Security v1 (TLSv1) netwerkbeveiligingsprotocollen en kan gebruikt worden als generieke versleutelingsbibliotheek.
Hoewel OpenSSL ondersteuning
biedt voor het IDEA algoritme, is dat
standaard uitgeschakeld in verband met patenten in de Verenigde Staten.
Om het te gebruiken dient de licentie gelezen te worden en, als
de restricties aanvaardbaar zijn, dient de make-variabele
MAKE_IDEA
ingesteld te worden in
make.conf
.
Een van de meest gebruikte toepassingen van OpenSSL is het leveren van certificaten voor gebruik met softwaretoepassingen. Deze certificaten verzekeren dat de eigenschappen van een bedrijf of individu geldig zijn en niet vervalst. Als het certificaat in kwestie niet geldig verklaard is door een van de “Certificate Authorities” of CA's, dan komt er een waarschuwing. Een Certificate Authority is een bedrijf, zoals VeriSign, dat certificaten ondertekent zodat de eigenschappen van een bedrijf of individu geldig verklaard kunnen worden. Dit proces kost geld en het is zeker geen voorwaarde voor het gebruik van certificaten. Het stelt wel de meer paranoïde gebruikers gerust.
Voor het maken van certificaten is het volgende commando beschikbaar:
#
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
Let op dat het antwoord direct na “Common Name” een domeinnaam weergeeft. De prompt wil dat er een servernaam wordt ingegeven voor het verificatieproces. Het plaatsen van iets anders dan een domeinnaam zorgt ervoor dat het certificaat waardeloos wordt. Er zijn ook andere opties als verloopdatum, andere versleutelingsalgoritmes, etc, beschikbaar. Een volledige lijst is na te lezen in de handleiding van openssl(1).
Er horen nu twee bestanden te staan in de map waarin het
voorgaande commando is uitgevoerd. Het certificaatverzoek,
req.pem
, kan naar een certificaat
autoriteit gestuurd worden die de bijgevoegde gegevens kan
valideren, het verzoek kan tekenen en het certificaat kan
retourneren. Het tweede bestand heet
cert.pem
en is de geheime sleutel voor het
certificaat. Deze dient zorgvuldig beschermd te worden. Als
de geheime sleutel in de handen van anderen valt kan die
gebruikt worden om de identiteit van de eigenaar (of server)
aan te nemen.
In gevallen waar ondertekening door een CA niet vereist is, kan een zelfondertekend certificaat gemaakt worden. Maak als eerste de RSA sleutel:
#
openssl dsaparam -rand -genkey -out myRSA.key 1024
Hierna kan de CA sleutel gemaakt worden:
#
openssl gendsa -des3 -out myca.key myRSA.key
Deze sleutel kan gebruikt worden om een certificaat te maken:
#
openssl req -new -x509 -days 365 -key myca.key -out new.crt
Er zouden nu twee bestanden bijgekomen moeten zijn in de
map: een certificaatautoriteit ondertekeningsbestand
myca.key
en new.crt
,
het certificaat zelf. Deze moeten in een map geplaatst worden,
bij voorkeur onder /etc
waar alleen root
kan lezen. De rechten
0700 zijn hier prima en die kunnen ingesteld worden met
chmod
.
En wat kunnen deze bestanden? Een prima toepassing zou het versleutelen van verbindingen naar de Sendmail MTA kunnen zijn. Daardoor zouden gebruikers niet langer platte tekst hoeven te autenticeren om mail te sturen via de lokale MTA.
Dit is niet de best denkbare toepassing omdat sommige MUA's de gebruiker een foutmelding geven als ze het certificaat niet lokaal geïnstalleerd hebben. De documentatie bij de software geeft meer informatie over het installeren van certificaten.
De volgende regels moeten opgenomen worden in het lokale
.mc
bestand:
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
/etc/certs/
is de
map die gebruikt wordt voor het lokaal opslaan van certificaten
en sleutels. De laatste voorwaarde het is opnieuw aanmaken van
het lokale .cf
bestand. Dit gaat door
eenvoudigweg make
install
te typen in de map
/etc/mail
. Laat dat
volgen door make
install
waardoor de daemon
Sendmail herstart zou moeten
worden.
Als alles goed is gegaan, dan staan er geen foutmeldingen
/var/log/maillog
en is
Sendmail zichtbaar in de
proceslijst.
Maak als eenvoudige test een verbinding met de mailserver met telnet(1):
#
telnet example.com 25
Trying 192.0.34.166... Connected toexample.com
. Escape character is '^]'. 220example.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 HELPquit
221 2.0.0example.com
closing connection Connection closed by foreign host.
Als de regel “STARTTLS” verschijnt in de uitvoer dan werkt alles correct.
Een VPN opzetten met FreeBSD gateways tussen twee netwerken die gescheiden zijn door Internet.
Deze paragraaf is een gids in het proces van het opzetten van IPsec. Voordat IPsec opgezet kan worden dient de lezer bekend te zijn met de concepten die nodig zijn om een aangepaste kernel te bouwen (zie Hoofdstuk 9, De FreeBSD-kernel instellen).
IPsec is een protocol dat bovenop de Internet Protocol (IP) laag ligt. Hiermee kunnen twee of meer host op een veilige manier communiceren (vandaar de naam). De FreeBSD IPsec “netwerk wachtrij (stack)” is gebaseerd op de KAME-implementatie, die zowel de protocolfamilies IPv4 als de IPv6 ondersteunt.
IPsec bestaat uit twee subprotocollen:
Encapsulated Security Payload (ESP) beschermt de IP-pakketdata tegen inmenging door een derde partij door de inhoud te versleutelen met symmetrische versleutelingsalgoritmes (zoals Blowfish en 3DES).
Authentication Header (AH) beschermt de IP-pakketkop tegen inmenging door een derde partij en spoofing door een cryptografische checksum te berekenen en de IP-pakketkopvelden te hashen met een veilige hashfunctie. Hierna wordt een extra kop ingevoegd die de hash bevat zodat de informatie in het pakket geautenticeerd kan worden.
ESP en AH kunnen samen of apart gebruikt worden, afhankelijk van de omgeving.
IPsec kan gebruikt worden om het verkeer tussen twee hosts direct te versleutelen (dat heet Transport Mode) of door “virtuele tunnels” te bouwen tussen twee subnetten die gebruikt kunnen worden voor veilige communicatie tussen twee bedrijfsnetwerken (dat heet Tunnel Mode). De laatste versie staat beter bekend als Virtual Private Network (VPN). In ipsec(4) staat gedetailleerde informatie over het IPsec subsysteem in FreeBSD.
Voor ondersteuning voor IPsec in de kernel zijn de volgende opties nodig in het kernelinstellingenbestand:
options IPSEC #IP-beveiliging device crypto
Als er ook fouten in IPsec (debugging) verwijderd moeten kunnen worden, dan is de volgende optie ook nodig:
options IPSEC_DEBUG #debug voor IP-beveiliging
Er bestaat geen standaard voor wat een VPN is. VPN's kunnen opgezet worden met behulp van een aantal verschillende technologieën die allemaal hun eigen voor- en nadelen hebben. Dit onderdeel bevat een scenario en de strategieën die gebruikt kunnen worden voor het implementeren van een VPN in iedere situatie.
Dit is het uitgangspunt:
Er zijn tenminste twee locaties
Beide locaties gebruiken IP
Beide locaties hebben een Internetverbinding via een gateway waarop FreeBSD draait.
De gateway op ieder netwerk heeft tenminste één publiek IP-adres.
De interne adressen van de twee netwerken mogen
publieke of private IP-adressen zijn,
dat maakt niet uit. Ze mogen alleen niet botsen;
bijvoorbeeld: ze mogen niet beide 192.168.1.x
gebruiken.
Om te beginnen moet de port security/ipsec-tools geïnstalleerd zijn vanuit de Portscollectie. Dit softwarepakket van een derde partij biedt een aantal applicaties die helpen de configuratie te ondersteunen.
De volgende benodigdheid is om twee gif(4)
pseudo-apparaten aan te maken om de pakketten te tunnelen en
beide netwerken in staat stellen om op een juiste wijze te
communiceren. Draai als root
de volgende
commando's, waarbij de items intern
en extern
met de echte interne en
externe gateways:
#
ifconfig gif0 create
#
ifconfig gif0 intern1 intern2
#
ifconfig gif0 tunnel extern1 extern2
Het publieke IP van het
LAN van de onderneming is bijvoorbeeld
172.16.5.4
en het heeft een
privaat IP 10.246.38.1
. Het publieke
IP van het LAN van huis is
192.168.1.12
met een intern
privaat IP 10.0.0.5
.
Dit kan verwarrend lijken, dus bekijk de volgende voorbeeld van het commando ifconfig(8):
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
Eenmaal compleet zouden beide private IP's bereikbaar moeten zijn met het commando ping(8) zoals de volgende uitvoer suggereert:
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
Zoals verwacht hebben beide kanten de mogelijkheid om ICMP-pakketten te verzenden en te ontvangen van de privaat geconfigureerde adressen. Vervolgens dient aan beide gateways verteld te worden hoe pakketten te routeren om op de juiste wijze verkeer van een van de netwerken te versturen. Het volgende commando doet dit:
#
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
Op dit moment dienen interne machines bereikbaar te zijn vanuit elke gateway alsook als vanuit machines achter de gateways. Dit is eenvoudig te zien aan het volgende voorbeeld:
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
De tunnels opzetten is het eenvoudige deel. Het
configureren van een veilige verbinding is een veel diepgaander
proces. De volgende configuratie gebruikt vooraf gedeelde
(PSK) RSA-sleutels.
Afgezien van de IP-adressen zijn beide
bestanden /usr/local/etc/racoon/racoon.conf
identiek en zien ze er ongeveer als volgt uit:
path pre_shared_key "/usr/lcoal/etc/racoon/psk.txt"; # plaats van bestand vooraf gedeelde sleutels log debug; # verbositeitsinstelling van loggen: op 'notify' zetten als testen en debuggen klaar is padding # opties moeten niet veranderd worden { maximum_length 20; randomize off; strict_check off; exclusive_tail off; } timer # timingopties, veranderen indien nodig { counter 5; interval 20 sec; persend 1; # natt_keepalive 15 sec; phase1 30 sec; phase2 15 sec; } listen # adres [poort] waarop racoon luistert { 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) # adres $netwerk/$netmasker $type adres $netwerk/$netmasker $type ( $type is any of esp) { pfs_group 1; lifetime time 3600 sec; encryption_algorithm blowfish,3des,des; authentication_algorithm hmac_md5,hmac_sha1; compression_algorithm deflate; }
Het uitleggen van elke beschikbare optie, samen met diegenen in deze voorbeelden valt buiten het bereik van dit document. De configuratiehandleiding van racoon staat vol relevante informatie.
De SPD-beleiden moeten geconfigureerd worden zodat FreeBSD en racoon in staat zijn om netwerkverkeer tussen hosts te versleutelen en te ontsleutelen.
Deze taak kan met een eenvoudig shellscript zoals het
volgende dat op de gateway van de onderneming staat worden
uitgevoerd. Dit bestand wordt gebruikt tijdens de
systeeminitialisatie en dient bewaard te worden als
/usr/local/etc/racoon/setkey.conf
.
flush; spdflush; # Naar het thuisnetwerk 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 esp/tunnel/192.168.1.12-172.16.5.4/use;
Eenmaal aanwezig kan racoon op beide gateways gestart worden met het volgende commando:
#
/usr/local/sbin/racoon -F -f /usr/local/etc/racoon/racoon.conf -l /var/log/racoon.log
De uitvoer moet ongeveer gelijk zijn aan de volgende:
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.2[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)
Om er zeker van te zijn dat de tunnel correct werkt, dient
naar een ander console geschakeld te worden en tcpdump(1)
gebruikt te worden om hiermee het netwerkverkeer te bekijken.
Vervang em0
door de netwerkinterfacekaart
indien nodig.
#
tcpdump -i em0 host 172.16.5.4 and dst 192.168.1.12
Gegevens lijkend op de volgende zouden op het console moeten verschijnen. Indien niet, dan is er iets aan de hand, en is het nodig om de teruggegeven gegevens te debuggen.
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)
Op dit punt zouden beide netwerken beschikbaar moeten zijn en deel lijken van hetzelfde netwerk. Waarschijnlijk zijn beide netwerken beschermt door een firewall, zoals het hoort. Om verkeer tussen hen toe te staan, moeten er regels worden toegevoegd om pakketten heen en terug door te laten. Voeg voor de firewall ipfw(8) de volgende regels toe aan het instellingenbestand van de firewall:
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
Afhankelijk van de huidige hostconfiguratie dienen de regelnummers gewijzigd te worden.
Voor gebruikers van pf(4) of ipf(8) zouden de volgende regels moeten volstaan:
pass in quick proto esp form 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 form 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 ptoto 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
Ter afsluiting, voeg de volgende regels toe aan
/etc/rc.conf
om de machine toe te staan om
ondersteuning voor het VPN te starten tijdens
de systeeminitialisatie:
ipsec_enable="YES" ipsec_program="/usr/local/sbin/setkey" ipsec_file="/usr/local/etc/racoon/setkey.conf" # staat toe om spd-beleiden tijdens het opstarten op te zetten racoon_enable="yes"
OpenSSH is een groep
netwerkverbindingsprogramma's waarmee computers via het netwerk
veilig benaderd kunnen worden. Het kan ingezet worden als een
directe vervanger van rlogin
,
rsh
, rcp
en
telnet
. Daarnaast kunnen
TCP/IP-verbindingen veilig
getunneld of geforward worden door SSH.
OpenSSH versleutelt al het verkeer om
afluisteren, het stelen van een verbinding en andere
netwerkaanvallen effectief te voorkomen.
OpenSSH wordt onderhouden door het OpenBSD project en is gebaseerd op SSH v1.2.12 met alle recente bugfixes en updates. Het is compatibel met beide protocollen SSH 1 en 2.
Als gewoonlijk telnet(1) of rlogin(1) wordt gebruikt, wordt de data in platte tekst en niet versleuteld verzonden. Netwerksnuffelaars die ergens tussen de cliënt en de server meeluisteren, kunnen een gebruikersnaam en wachtwoord stelen en zien welke gegevens er worden overgezonden tijdens een sessie. OpenSSH biedt een verscheidenheid aan autenticatie en versleutelingsmethoden die het voorgaande voorkomen.
De sshd is een optie die wordt
aangeboden tijdens een Standard
-installatie
van FreeBSD. sshd is ingeschakeld als
de volgende regel voorkomt in rc.conf
:
sshd_enable="YES"
Hierdoor wordt sshd(8) geladen, het daemonprogramma voor OpenSSH, als het systeem de volgende keer opstart. Als alternatief is het mogelijk om rc(8) te gebruiken om OpenSSH te starten:
#
service sshd start
ssh(1) werkt net zoals 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:*******
Het aanmelden gaat nu net zoals het zou gaan als wanneer
er een sessie gestart zou worden met rlogin
of telnet
. SSH maakt gebruik van een
systeem met vingerafdrukken als sleutels voor het vaststellen
met welke server verbinding wordt gemaakt op het moment
dat de cliënt verbinding zoekt. De gebruiker krijgt alleen
de eerste keer dat verbinding wordt gezocht met de server een
vraag waarop yes
geantwoord dient te worden.
Bij volgende pogingen om aan te melden wordt de
vingerafdruksleutel vergeleken met de sleutel die is
opgeslagen. De SSH-cliënt alarmeert de gebruiker als de
opgeslagen vingerafdruk sleutel anders is dan de sleutel die
de server meldt. De vingerafdrukken worden opgeslagen in
~/.ssh/known_hosts
of in
~/.ssh/known_hosts2
voor SSH v2
vingerafdrukken.
Recente OpenSSH servers staan
standaard ingesteld om alleen SSH v2 connecties toe te staan.
De cliënt gebruikt versie 2 als dat mogelijk is en valt
anders terug op versie 1. De cliënt kan ook gedwongen
worden om een van de twee protocollen te gebruiken door de optie
-1
of -2
voor respectievelijk
versie 1 en versie 2 aan te geven. De mogelijkheid versie 1 te
gebruiken blijft in de cliënt bestaan om compatibiliteit
met oudere versies te behouden.
Het commando scp(1) (secure copy) werkt gelijk aan rcp(1). Het kopieert een bestand van of naar een andere machine, maar doet dat veilig.
#
scp user@example.com:/COPYRIGHT COPYRIGHT
user@example.com's password:*******
COPYRIGHT 100% |*****************************| 4735 00:00#
Omdat de vingerafdruk al is opgeslagen voor deze host in het vorige voorbeeld, is die al geverifieerd als scp(1) gebruik wordt.
De argumenten die aan scp(1) gegeven worden zijn
vrijwel gelijk aan die voor cp(1) met het bestand of
de bestanden als het eerste argument en de bestemming als het
tweede. Omdat het bestand over het netwerk gaat, door SSH,
hebben een of meer van de bestandsargumenten de vorm
user@host:<path_to_remote_file>
.
Het instellingenbestand dat voor het hele systeem geldt
voor zowel de OpenSSH daemon als
cliënt staat in de map /etc/ssh
.
ssh_config
bevat de instellingen voor
de cliënt en sshd_config
bevat ze voor
de daemon.
Daarnaast bieden het sshd_program
(standaard /usr/sbin/sshd
) en
sshd_flags
rc.conf
opties nog meer mogelijkheden voor instellingen.
In plaats van het gebruik van wachtwoorden kan ssh-keygen(1) gebruikt worden om DSA en RSA sleutels te maken om een gebruiker te autenticeren:
%
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) maakt een publiek en privaat sleutelpaar
aan dat gebruikt kan worden voor autenticatie. De private
sleutel staat opgeslagen in
~/.ssh/id_dsa
of
~/.ssh/id_rsa
en de publieke sleutel
staat in ~/.ssh/id_dsa.pub
of
~/.ssh/id_rsa.pub
voor respectievelijk
sleuteltypen DSA en RSA.
De publieke sleutel moet voor beide RSA- of
DSA-sleutels in het bestand
~/.ssh/authorized_keys
van de andere
machine staan om dit te laten werken.
Nu is het mogelijk een verbinding te maken met een andere machine die gebaseerd is op SSH sleutels in plaats van op wachtwoorden.
Als er een wachtwoordzin is gebruikt bij ssh-keygen(1) dan wordt de gebruiker iedere keer dat de private sleutel wordt gebruikt een wachtwoord gevraagd. ssh-agent(1) kan het ongemak van steeds opnieuw een lange wachtwoordzin moeten ingeven verlichten en wordt beschreven in het onderdeel Paragraaf 15.10.7, “ssh-agent en ssh-add”.
Afhankelijk van de gebruikte versie van OpenSSH kunnen opties en bestanden verschillen. Het is verstandig de handleiding ssh-keygen(1) te raadplegen.
De hulpprogramma's ssh-agent(1) en ssh-add(1) bieden de mogelijkheid om SSH in het geheugen te laden zodat niet iedere keer de wachtwoordzin ingegeven hoeft te worden.
Het hulpprogramma ssh-agent(1) handelt de autenticatie af voor de geheime sleutels die erin geladen zijn. ssh-agent(1) wordt gebruikt om andere programma's te starten. Bij eenvoudig gebruik kan er een shell mee gestart worden of meer complex een schermbeheerprogramma.
Voordat ssh-agent(1) in een shell gebruikt kan worden dient het eerst gestart te worden met een shell als argument. Daarna kan de identiteit toegevoegd worden daar ssh-add(1) aan te roepen en de wachtwoordzin voor de geheime sleutel op te geven. Als deze stappen zijn voltooid kan een gebruiker met ssh(1) naar iedere host waar de corresponderende publieke sleutel is geïnstalleerd:
%
ssh-agentcsh
%
ssh-add Enter passphrase for /home/user/.ssh/id_dsa: Identity added: /home/user/.ssh/id_dsa (/home/user/.ssh/id_dsa)%
Om ssh-agent(1) te gebruiken in X11 dient er een
verwijzing naar ssh-agent(1) in
~/.xinitrc
te staan. Dan zijn de diensten
van ssh-agent(1) beschikbaar voor alle programma's die in
X11 gestart worden. Een ~/.xinitrc
zou er
als volgt uit kunnen zien:
exec ssh-agent startxfce4
Hiermee wordt ssh-agent(1) gestart die op zijn beurt XFCE start, iedere keer dat X11 start. Als dat is gebeurd en X11 is herstart zodat de wijzigingen actief zijn, dan kan eenvoudigweg ssh-add(1) gestart worden om alle beschikbare SSH sleutels te laden.
OpenSSH kan een tunnel maken waarin een ander protocol ingepakt kan worden zodat er een versleutelde sessie ontstaat.
Het volgende commando geeft ssh(1) aan dat er een tunnel voor telnet gemaakt moet worden:
%
ssh -2 -N -f -L 5023:localhost:23 user@foo.example.com
%
Aan het ssh
commando worden de volgende
opties meegegeven:
-2
Dit dwingt ssh
om versie 2 van het
protocol te gebruiken. Gebruik van deze optie wordt
afgeraden als er verbinding wordt gemaakt met oudere SSH
servers.
-N
Dit geeft aan dat er geen commando volgt, maar dat er
een tunnel opgezet moet worden. Als deze optie niet
aanwezig was, zou ssh
een normale
sessie starten.
-f
Dit dwingt ssh
om in de
achtergrond te draaien.
-L
Dit geeft aan dat de lokaal een tunnel wordt gemaakt
in de vorm
lokale_poort:netwerk_host:netwerk_poort
.
user@foo.example.com
Wijst naar een gebruiker op de SSH server op het netwerk.
Een SSH tunnel werkt doordat een luistersocket wordt
gemaakt op localhost
op de aangegeven poort.
Die stuurt dan iedere ontvangen verbinding op de lokale
host/poort via de SSH verbinding door naar de aangegeven host
en poort op het netwerk.
In het voorbeeld wordt poort
5023
op localhost
doorgestuurd naar poort 23
op
localhost
van de machine op het netwerk.
Omdat 23
telnet is, zou dit een veilige
telnet verbinding opleveren door
een SSH tunnel.
Dit kan gebruikt worden om ieder willekeurig onveilig TCP protocol in te pakken als SMTP, POP3, FTP, etc.
%
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
Dit kan samen met een ssh-keygen(1) en extra gebruikersaccounts gebruikt worden om een min of meer naadloze en eenvoudige SSH tunnelomgeving te maken. In plaats van wachtwoorden kunnen sleutels gebruikt worden en de tunnels kunnen in de omgeving van een aparte gebruiker draaien.
Op het werk staat een SSH server die verbindingen van buitenaf toestaat. Op hetzelfde netwerk op kantoor staat een mailserver waarop POP3 draait. Het netwerk of het netwerkpad tussen de locatie op Internet en kantoor is wellicht niet helemaal te vertrouwen. Om deze reden dient de mailserver op een veilige manier benaderd te worden. De oplossing is een SSH verbinding opzetten naar de SSH server op kantoor en dan door de tunnel heen een verbinding opzetten met de mailserver.
%
ssh -2 -N -f -L 2110:mail.example.com:110 user@ssh-server.example.com
user@ssh-server.example.com's password:******
Als de tunnel eenmaal draait, dan kan de mailcliënt
naar localhost
poort 2110 gewezen worden.
Alle verbinding naar die poort worden veilig doorgestuurd
door de tunnel naar
mail.example.com
.
Sommige netwerkbeheerders stellen draconische firewallregels op en filteren niet alleen inkomende verbindingen, maar ook uitgaande. Meestal mag dan alleen maar verbinding gemaakt worden met andere machines op poorten 22 en 80 voor SSH en websurfen.
Soms wil een gebruiker dan toch toegang krijgen tot andere (wellicht niet netwerkgerelateerde) diensten, zoals een Ogg Vorbis server om muziek te streamen. Als die Ogg Vorbis server streamt op een andere poort dan 22 of 80, dan kan deze niet bereikt worden.
De oplossing ligt in het opzetten van een SSH verbinding naar een machine buiten de firewall en die tunnel te gebruiken om bij de Ogg Vorbis server te komen.
%
ssh -2 -N -f -L 8888:music.example.com:8000 user@unfirewalled-system.example.org
user@unfirewalled-system.example.org's password:*******
De streamingcliënt kan nu gewezen worden naar
localhost
poort 8888 vanwaar er wordt
doorverwezen naar music.example.com
poort
8000 en zo wordt de firewall succesvol ontwerken.
Vaak is het verstandig om beperkingen aan te brengen op het
gebied van welke gebruikers kunnen aanmelden en van waar. De
optie AllowUsers
biedt deze mogelijkheid.
Om bijvoorbeeld alleen root
toe te staan
zich aan te melden van 192.168.1.32
, kan iets als de volgende
regel worden opgenomen in het bestand
/etc/ssh/sshd_config
:
AllowUsers root@192.168.1.32
Om de gebruiker admin
het recht te
geven zich van overal aan te melden hoeft alleen de
gebruikersnaam vermeld te worden:
AllowUsers admin
Meerdere gebruikers met rechten of beperkingen horen op dezelfde regel te staan:
AllowUsers root@192.168.1.32 admin
Het is van belang dat iedere gebruiker die zich moet kunnen aanmelden wordt genoemd. De overige gebruikers worden buitengesloten.
Nadat er wijzigingen zijn gemaakt aan
/etc/ssh/sshd_config
dienen de bestanden
in sshd(8) geladen te worden:
#
service sshd reload
In combinatie met verbeteringen als snapshots, biedt FreeBSD de veiligheid van Toegangscontrolelijsten voor Bestandssystemen (Access Control Lists, ACLs).
Met toegangscontrolelijsten wordt het standaard UNIX® rechtenmodel uitgebreid op een zeer verenigbare (POSIX®.1e) manier. Deze methodes stellen een beheerder in staat om gebruik te maken en voordeel te halen uit een geraffineerder beveiligingsmodel.
Om ondersteuning voor ACLs voor bestandssystemen in te schakelen dient het volgende in de kernel gecompileerd te worden:
options UFS_ACL
Als deze optie niet aanwezig is, dan wordt er een
waarschuwing weergegeven als er wordt geprobeerd een
bestandssysteem aan te koppelen dat gebruik maakt van
ACLs. Deze optie is al geactiveerd in de
GENERIC
kernel. ACLs
zijn afhankelijk van uitgebreide attributen die zijn ingeschakeld
op het bestandssysteem. Uitgebreide attributen worden standaard
ondersteund in het volgende generatie UNIX® bestandssysteem
UFS2.
Er is meer administratieve rompslomp nodig om uitgebreide attributen in te stellen op UFS1 dan op UFS2. De prestaties van uitgebreide attributen zijn op UFS2 ook veel beter. Daarom wordt UFS2 ook meestal aangeraden boven UFS1 bij het gebruik van toegangscontrolelijsten.
ACLs worden ingeschakeld door de
beheersvlag acls
op het moment van aankoppelen.
Dit kan ook in /etc/fstab
staan. De vlag op
het moment van aankoppelen kan ook automatisch gezet worden op een
persistente wijze met tunefs(8) door een superblok in de
bestandssysteemkop te wijzigen. In het algemeen wordt de
voorkeur gegeven aan de vlag in het superblok om een aantal
redenen:
De ACLs vlag op het moment van
aankoppelen kan niet gewijzigd worden bij opnieuw aankoppelen
(mount(8) -u
), maar alleen door een
volledige umount(8) en een verse mount(8). Dit
betekent dat ACLs niet ingeschakeld kunnen
worden op root-bestandssysteem na het opstarten. Het betekent
ook dat de aard van een bestandssysteem niet veranderd kan
worden als het eenmaal in gebruik is.
Het inschakelen van de superblokvlag zorgt ervoor dat
het bestandssysteem altijd wordt aangekoppeld met de
ACLs ingeschakeld, zelfs als het niet in
fstab
staat of als de apparaten van
plaats veranderen. Hiermee wordt voorkomen dat het
bestandssysteem wordt gebruikt zonder dat
ACLs ingeschakeld zijn, wat ervoor zou
kunnen zorgen dat ACLs onjuist worden
toegepast wat weer kan zorgen voor
beveiligingsproblemen.
Wellicht wordt het mogelijk om de ACLs via de vlag in te schakelen zonder een compleet verse mount(8), maar de ontwikkelaars vinden het wenselijk om het per ongeluk zonder ACLs aankoppelen te ontmoedigen, omdat er bijzonder vervelende gevolgen kunnen zijn als ACLs worden ingeschakeld, daarna worden uitgezet en weer worden ingeschakeld zonder dat de uitgebreide attributen worden geschoond. In het algemeen geldt dat als ACLs eenmaal zijn ingeschakeld voor een bestandssysteem, ze niet meer uitgeschakeld moeten worden, omdat de resulterende bestandsbescherming wellicht niet compatibel is met dat wat gebruikers van het systeem nodig hebben en het opnieuw aanzetten van ACLs kan leiden tot het opnieuw koppelen van voorheen bestaande ACLs aan bestanden waarvoor de toegangsrechten sindsdien zijn aangepast, wat kan leiden tot onverwachte situaties.
Bestandssystemen waarvoor ACLs zijn
ingeschakeld worden weergegeven met een +
(plus) teken als de toegangsrechten worden bekeken:
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
Hierboven is te zien dat mappen
directory1
,
directory2
en
directory3
allemaal gebruik maken
van ACLs. De map
public_html
doet dat niet.
De ACLs van het bestandssysteem kunnen
bekeken worden met het hulpprogramma getfacl(1). Om de
ACL op het bestand test
te bekijken zou het volgende commando nodig zijn:
%
getfacl test
#file:test #owner:1001 #group:1001 user::rw- group::r-- other::r--
Om de ACL op dit bestand te wijzigen wordt het hulpprogramma setfacl(1) als volgt gebruikt:
%
setfacl -k test
De vlag -k
verwijdert alle bestaande
ACLs van een bestand of bestandssysteem. De
methode die de voorkeur geniet is -b
gebruiken
omdat die optie de basisvelden die nodig zijn voor het laten
werken van de ACLs laat staan.
%
setfacl -m u:trhodes:rwx,group:web:r--,o::--- test
Bij het commando hierboven, werd de optie
-m
gebruikt om de standaard
ACL aan te passen. Omdat er geen
voorgedefinieerde instellingen waren, die waren verwijderd door
het commando daarvoor, werden nu de standaardinstellingen
hersteld en de rechten die werden aangegeven toegevoegd. Let
op dat bij het toevoegen van een gebruiker of een groep die
niet bekend is op het systeem een foutmelding
Invalid argument wordt geschreven naar
stdout
.
In de afgelopen jaren zijn er in de beveiligingswereld veel vorderingen gemaakt op het gebied van inzicht in kwetsbaarheden. Als er software naast het besturingssysteem wordt geïnstalleerd en ingesteld neemt op vrijwel ieder besturingssysteem het risico op inbraak toe.
Inzicht in kwetsbaarheid is een vitale factor in beveiliging en hoewel FreeBSD waarschuwingen publiceert voor het basissysteem, gaat het publiceren van waarschuwingen voor alle overige software de scope van het FreeBSD Project te buiten. Er is een manier om inzicht te krijgen in de kwetsbaarheden voor additionele software en als beheerder gewaarschuwd te worden. Voor dit doel bestaat het FreeBSD hulpprogramma Portaudit.
De port ports-mgmt/portaudit zoekt naar bekende beveiligingsproblemen in een database die wordt bijgewerkt en onderhouden door het FreeBSD Security Team en portontwikkelaars.
Voordat Portaudit gebruikt kan worden dient het geïnstalleerd te worden uit de Portscollectie:
#
cd /usr/ports/ports-mgmt/portaudit && make install clean
Tijdens het installatieproces worden de instellingenbestanden
voor periodic(8) bijgewerkt, waardoor
Portaudit uitvoer in de dagelijkse
security runs meekomt. Het is van belang dat de emails die
aan de emailaccount van root
worden
gezonden en uit de dagelijkse beveiligingsronde komen ook echt
worden gelezen. Er zijn geen verdere instellingen nodig.
Na de installatie kan de beheerder de database bijwerken en bekende kwetsbaarheden in geïnstalleerde pakketten bekijken met het volgende commando:
#
portaudit -Fda
De database wordt automatisch bijgewerkt tijdens de periodic(8) run; dus het voorgaande commando is volledig optioneel. Het is alleen nodig om de volgende voorbeelden na te kunnen doen.
De software de uit de Portscollectie is geïnstalleerd kan op elk moment door een beheerder ge-audit worden met:
#
portaudit -a
Portaudit zal iets als het volgende produceren voor kwetsbare pakketten:
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.
Door met een webbrowser naar de aangegeven URL te gaan kan een beheerder meer informatie over de bewust kwetsbaarheid krijgen, waaronder de versies die het betreft, volgens de FreeBSD Port versie en andere websites waarop beveiligingswaarschuwingen te lezen zijn.
In het kort is Portaudit een krachtig hulpprogramma dat bijzonder handig is als het wordt gekoppeld aan het gebruik van de port Portupgrade.
Net als veel andere kwalitatief goede productiebesturingssystemen publiceert FreeBSD “Beveiligingswaarschuwingen”. Deze waarschuwingen worden meestal pas naar de beveiligingslijst gemaild en gedocumenteerd in de Errata als de van toepassing zijnde uitgaven gepatcht zijn. In deze paragraaf wordt toegelicht wat een waarschuwing is, hoe die te begrijpen en welke maatregelen er genomen moeten worden om een systeem bij te werken.
De FreeBSD beveiligingswaarschuwingen zien er ongeveer uit als die hieronder die van de freebsd-security-notifications mailinglijst komt.
============================================================================= FreeBSD-SA-XX:XX.UTIL Security Advisory The FreeBSD Project Topic: denial of service due to some problemCategory: core
Module: sys
Announced: 2003-09-23
Credits: Person
Affects: All releases of FreeBSD
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)
CVE Name: CVE-XXXX-XXXX
For general information regarding FreeBSD Security Advisories, including descriptions of the fields above, security branches, and the following sections, please visit http://www.FreeBSD.org/security/. I. Background
II. Problem Description
III. Impact
IV. Workaround
V. Solution
VI. Correction details
VII. References
![]()
Het veld
Topic
geeft aan wat precies het probleem is. Het is eigenlijk een inleiding op de beveiligingswaarschuwing en geeft aan welke programma kwetsbaar is.Het veld
Category
geeft aan welk onderdeel van het systeem kwetsbaar is. Dat kan een van de onderdelencore
,contrib
ofports
zijn. De categoriecore
betekent dat de een kerncomponent van het FreeBSD besturingssysteem kwetsbaar is. De categoriecontrib
betekent dat software die toegevoegd is aan het FreeBSD Project kwetsbaar is, zoals sendmail. Tenslotte geeft de categorieports
aan dat een optionele component uit de Portscollectie kwetsbaar is.Het veld
Module
geeft aan waar de component zich bevindt, bijvoorbeeldsys
. In dit voorbeeld wordt het duidelijk dat de modulesys
kwetsbaar is. Hier gaat het dus om een kwetsbaar component die gebruikt wordt in de kernel.Het veld
Announced
geeft aan wanneer de beveiligingswaarschuwing gepubliceerd of aangekondigd is. Dit betekent dat het beveiligingsteam heeft bevestigd dat het probleem bestaat en dat er een patch is gecommit in het depot met de broncode van FreeBSD.In het veld
Credits
wordt iemand of een organisatie bedankt die de kwetsbaarheid heeft ontdekt en gerapporteerd.Het veld
Affects
geeft aan welke uitgaven van FreeBSD door deze kwetsbaarheid worden getroffen. Voor de kernel kan snel gekeken worden naar de uitvoer vanident
voor de betreffende bestanden om te bepalen welke revisie ze hebben. Voor ports is het versienummer te zien in/var/db/pkg
. Als het systeem niet gelijk op loopt met het FreeBSD Subversion-depot en dagelijks herbouwd wordt, dan is de kans groot dat het systeem kwetsbaar is.Het veld
Corrected
geeft de datum, tijd en tijdzone aan en de uitgave die is aangepast.Gereserveerd voor de identificatie-informatie die gebruikt wordt om kwetsbaarheden in het Common Vulnerabilities Database System op te zoeken.
Het veld
Background
geeft meer informatie over wat er precies aan de hand is. Meestal staat hier waarom het programma aanwezig is in FreeBSD, waar het voor gebruikt wordt en hoe het programma is ontstaan.Het veld
Problem Description
geeft gedetailleerde toelichting op het beveiligingsprobleem. Hier kan informatie bij staat over programmacode die fouten bevat of zelfs hoe het programma gebruikt kan worden om een beveiligingsgat te openen.Het veld
Impact
beschrijft welke invloed het probleem kan hebben op het systeem. Dit kan bijvoorbeeld een ontzegging van dienst aanval zijn, gebruikers extra rechten geven of het verkrijgen van supergebruiker toegang voor de aanvaller zijn.Het veld
Workaround
geeft aan hoe het mogelijk is het probleem te omzeilen (workaround) in het geval systeembeheerders niet in staat zijn om het systeem bij te werken. Dit zou te maken kunnen hebben met de tijd, beschikbaarheid van het netwerk en een hele lijst met andere redenen. Hoe dan ook, beveiliging dient serieus genomen te worden en een systeem dat kwetsbaar is moet bijgewerkt worden of het gat in de beveiliging moet gedicht worden met de alternatieve oplossing.Het veld
Solution
geeft instructies over hoe een systeem aangepast kan worden. Dit is een werkinstructie die getest en gecontroleerd is om een systeem aan te passen en weer veilig werkend te krijgen.In het veld
Correction Details
staan de Subversion-takken of uitgavenamen, met de punten veranderd in een liggend streepje. Er staat ook welke revisienummer de aangetaste bestanden binnen een tak hebben.In het veld
References
wordt gewoonlijk verwezen naar andere bronnen. Dit kunnen web-URLs, boeken, mailinglijsten en nieuwsgroepen zijn.
Procesaccounting is een beveiligingsmethode die een beheerder in staat stelt om in de gaten te houden welke systeembronnen worden gebruikt, hoe ze over gebruikers verdeeld zijn, systeemmonitoring biedt en op minimalistische wijze het gebruik van commando's door gebruikers volgt.
Deze methode heeft voordelen en nadelen. Eén van de positieve punten is dat een inbraak gevolgd kan worden tot het moment waarop die zich voordeed. Nadelen zijn de grootte van de logboeken die door procesaccounting worden gegenereerd en de schijfruimte die dat kost. In dit onderdeel wordt een beheerder de basis van procesaccounting getoond.
Voordat procesaccounting gebruikt kan worden dient het te worden ingeschakeld met de volgende commando's:
#
touch /var/account/acct
#
accton /var/account/acct
#
echo 'accounting_enable="YES"' >> /etc/rc.conf
Eenmaal ingeschakeld begint accounting met het bijhouden
van CPU statistieken, commando's, enzovoort.
Alle accounting logboeken worden in een niet leesbaar formaat
bijgehouden en zijn uit te lezen met sa(8). Bij het
uitvoeren zonder opties, toont sa
informatie
gerelateerd aan het aantal aanroepen per gebruiker, de totale
tijd in minuten die is verstreken, de totale
CPU- en gebruikerstijd in minuten, gemiddeld
aantal I/O operaties, enzovoort.
Informatie over uitgevoerde commando's kan bekeken worden
met lastcomm(1). Zo kan met lastcomm
bijvoorbeeld weergegeven worden welke commando's door
gebruikers op een specifieke ttys(5) zijn
uitgevoerd:
#
lastcomm ls trhodes ttyp1
Het bovenstaande commando toont ieder bekend gebruikt van
ls
door de gebruiker
trhodes
op terminal
ttyp1
.
Veel andere handige opties staan beschreven in lastcomm(1), acct(5) en sa(8).
Dit hoofdstuk levert een uitleg van wat FreeBSD jails zijn en hoe ze gebruikt kunnen worden. Jails, soms ook wel bekend als een verbeterde vervanging van chroot omgevingen, zijn een erg krachtige tool voor systeem beheerders, maar het standaard gedrag kan ook interessant zijn voor gevorderde gebruikers.
Jails zijn een krachtig gereedschap, maar zijn geen zilveren kogel qua beveiliging. Hoewel het belangrijk is om op te merken dat het onmogelijk is voor een gevangen proces om zelf te ontsnappen, zijn er verschillende manieren waarop een ongeprivilegieerde gebruiker buiten een jail kan samenwerken met een geprivilegieerde gebruiker binnen de jail en daarmee verhoogde privileges kan krijgen in de gastheeromgeving.
De meeste van deze aanvallen kunnen worden voorkomen door ervoor te zorgen dat de jail-root niet beschikbaar is voor ongeprivilegieerde gebruikers binnen de gastheeromgeving. Buiten dat geldt als algemene regel dat onvertrouwde gebruikers met geprivilegieerde toegang tot een jail geen toegang tot de gastheeromgeving moet worden gegeven.
Na het lezen van dit hoofdstuk weet de lezer:
Wat een jail is, en welk doel het kan dienen in een FreeBSD installatie.
Hoe men een jail opbouwt, start en stopt.
De basis over jail beheer, zowel van binnen in de jail, als van buitenaf.
Andere bronnen met nuttige informatie over jails zijn:
De jail(8) handleiding. Hier kan de volledige
referentie gevonden worden van het jail
commando — de administratieve tool die in FreeBSD gebruikt
kan worden om FreeBSD jails mee te beheren, te starten en te
stoppen.
De mailinglijsten en de archieven hiervan. De archieven van de FreeBSD algemene vragen mailinglijst en andere mailing lijsten die gehost worden door de FreeBSD nlijstserver bevatten reeds een rijke bron van informatie over jails. Het zou altijd aantrekkelijk moeten zijn om informatie in de archieven te zoeken, of een nieuwe vraag stellen aan de freebsd-questions mailinglijst.
Om een beter begrip te geven over de onderdelen van FreeBSD die gerelateerd zijn aan jails, de werking ervan, en hoe ze omgaan met de rest van FreeBSD worden de volgende termen gebruikt in het hoofdstuk:
Hulpmiddel dat de systeemaanroep chroot(2) van FreeBSD gebruikt om de rootmap van een proces en alle afstammelingen te veranderen.
Een omgeving van processen die draaien in een “chroot”. Dit is inclusief bronnen die gebruikt worden, zoals bijvoorbeeld het gedeelte van het bestandssysteem dat zichtbaar is, de gebruiker en groep ID's welke beschikbaar zijn, netwerkkaarten en andere IPC-mechanismes, etcetera.
De systeem utility die het mogelijk maakt om processen binnenin een jail te starten.
Het controlerende systeem van een jail omgeving. Het host systeem heeft toegang tot alle beschikbare hardware bronnen en kan processen controleren zowel buiten als binnenin een jail. Één van de belangrijkste verschillen van het host systeem met een jail zijn de limitaties die van toepassing zijn op super-gebruiker processen binnenin een jail, niet geforceerd worden voor processen in het host systeem.
Een proces, gebruiker, of andere entiteit wiens toegang tot bronnen is gelimiteerd door een FreeBSD jail.
Omdat systeem beheer een complexe en enorme taak is, zijn er vele sterke tools ontwikkeld om het leven van een systeem beheerder makkelijker te maken. Deze tools leveren meestal verbeteringen op de manier waarop systemen worden geïnstalleerd, geconfigureerd en onderhouden. Een deel van de taken waarvan verwacht wordt dat die uitgevoerd wordt door de systeem beheerder is het goed configureren van de beveiliging van een systeem, zodat het kan blijven doorgaan met het serveren van de taak, zonder dat er beveiligingsproblemen optreden.
Één van de tools welke gebruikt kan worden om
de beveiliging van een FreeBSD systeem te verbeteren zijn
jails. Jails zijn geïntroduceerd in
FreeBSD 4.X door Poul-Henning Kamp <phk@FreeBSD.org>
, maar zijn grotendeels verbeterd in
FreeBSD 5.X om ze nog sterker en krachtiger te maken. De
ontwikkeling gaat nog steeds door met verbeteringen voor het
gebruik, performance, betrouwbaarheid en beveiliging.
BSD achtige systemen hebben sinds 4.2-BSD ondersteuning voor chroot(2). De chroot(8) utility kan gebruikt worden om de root directory van een set processen te wijzigen waardoor een veilige omgeving wordt gecreeërd voor de rest van het systeem. Processen die gemaakt worden in een chroot omgeving kunnen bestanden en bronnen daarbuiten niet benaderen. Daardoor zou een compromitering van een dienst die in een chroot omgeving draait niet direct betekenen dat het hele systeem gecompromiteerd is. De chroot(8) utility is goed genoeg voor simpele taken, waarbij flexibiliteit en geavanceerde en complexe opties niet nodig zijn. Sinds het uitvinden van het chroot concept, zijn er vele mogelijkheden gevonden om hieruit te kunnen komen en alhoewel ze verbeterd zijn in moderne versies van FreeBSD, werd het duidelijk dat chroot(2) niet de meest ideale oplossing was voor het beveiligen van diensten. Er moest een nieuw subsysteem ontwikkeld worden.
Dit is één van de redenen waarom jails zijn ontwikkeld.
Jails zijn een verbeterd concept van de chroot(2) omgeving, in verschillende opzichten. In een traditionele chroot(2) omgeving worden processen alleen gelimiteerd in het deel van het bestandssysteem die ze kunnen benaderen. De rest van de systeem bronnen (zoals de set van systeem gebruikers, de draaiende processen of het netwerk subsysteem) worden gedeeld door het chrooted proces en de processen op het host systeem. Jails breiden dit model uit door het niet alleen virtualizeren van de toegang tot het bestandssysteem maar ook tot de set van gebruikers, het netwerk subsysteem van de FreeBSD kernel en een aantal andere delen. Een meer complete set van gespecificeerde controle mogelijkheden die beschikbaar zijn voor het personaliseren van de toegang tot een jail omgeving wordt beschreven in Paragraaf 16.5, “Optimaliseren en administratie”.
Een jail heeft vier kenmerken:
Een eigen directory structuur — het startpunt van waaruit een jail benaderd wordt. Zodra men in de jail zit, mogen processen niet buiten deze directory structuur komen. Traditionele problemen die chroot(2)'s ontwerp getart hebben, hebben geen invloed op FreeBSD jails.
Een hostname — de hostnaam die gebruikt wordt in de jail. Jails worden met name gebruikt voor het hosten van netwerk diensten, daardoor kan het de systeembeheerder heel erg helpen als er beschrijvende hostnames worden gekozen.
Een IP adres — deze wordt gekoppeld aan de jail en kan op geen enkele manier worden gewijzigd tijdens het leven van de jail. Het IP adres van een jail is meestal een alias op een reeds bestaande netwerk interface, maar dit is niet noodzakelijk.
Een commando — het padnaam van een uitvoerbaar bestand in de jail. Deze is relatief aan de rootdirectory van de jail omgeving en verschilt per situatie, afhankelijk van het type van de specifieke jail omgeving.
Buiten deze kenmerken, kunnen jails hun eigen set aan
gebruikers en root
gebruiker hebben.
Uiteraard zijn de mogelijkheden van de root
gebruiker beperkt tot de jail omgeving en, vanuit het host
systeem gezien, is de root
gebruiker geen
super-gebruiker. Daarnaast is het de root
gebruiker in een jail omgeving niet toegestaan om kritieke
operaties uit te voeren op het systeem buiten de gedefinieerde
jail omgeving. Meer informatie over de mogelijkheden en
beperkingen van de root
gebruiker kan
gevonden worden in
Paragraaf 16.5, “Optimaliseren en administratie”hieronder.
Sommige beheerders kiezen ervoor om jails op te delen in de volgende twee types: “complete” jails, welke een volledig FreeBSD systeem emuleert en “service” jails, gericht op één applicatie of dienst, mogelijkerwijs draaiende met privileges. Dit is alleen een conceptuele splitsing, de manier van het opbouwen van een jail wordt hierdoor niet veranderd. De jail(8) handleiding is heel duidelijk over de procedure voor het maken van een jail:
#
setenv D /here/is/the/jail
#
mkdir -p $D
![]()
#
cd /usr/src
#
make buildworld
![]()
#
make installworld DESTDIR=$D
![]()
#
make distribution DESTDIR=$D
![]()
#
mount -t devfs devfs $D/dev
![]()
Het selecteren van een locatie voor een jail is het beste beginpunt. Hier zal de jail fysiek te vinden zijn binnen het bestandssysteem van het host systeem. Een goede keuze kan
/usr/jailjailnaam
zijn, waarjailnaam
de naam is van de jail. Het/usr
bestandssysteem heeft meestal genoeg ruimte voor het jail bestandssysteem, wat voor een “complete” jail betekend dat het eigenlijk een replica is van elk bestand dat standaard aanwezig is binnen het FreeBSD basissysteem.Als u uw userland al heeft herbouwd met
make world
ofmake buildworld
, dan kunt u deze stap overslaan en uw bestaande userland in de nieuwe jail installeren.Dit commando zal de gekozen fysieke directory vullen met de benodigde binaire bestanden, bibliotheken, handleidingen, etc.
Het
distribution
doel voor make installeert elk benodigd configuratie bestand. In simpelere termen, het installeert alle installeerbare bestanden in/usr/src/etc
naar de/etc
directory van de jail omgeving:$D/etc
.Het koppelen van het devfs(8) bestandssysteem is niet vereist in een jail. Aan de andere kant, vrijwel elke applicatie heeft toegang nodig tot minstens één apparaat, afhankelijk van het doel van het programma. Het is erg belangrijk om toegang tot apparaten te controleren binnenin een jail, omdat incorrecte instellingen een aanvaller de mogelijkheid kunnen geven om vervelende dingen in de jail te doen. De controle over devfs(8) wordt gedaan door middel van rulesets, welke beschreven worden in de devfs(8) en devfs.conf(5) handleidingen.
Zodra een jail is geïnstalleerd, kan het opgestart worden
door de jail(8) applicatie. De jail(8) applicatie
heeft vier benodigde argumenten welke beschreven worden in
Paragraaf 16.3.1, “Wat is een jail”. Er kunnen ook andere argumenten
gebruikt worden, om bijvoorbeeld de jail te starten met de
instellingen van een specifieke gebruiker. Het
argument
hangt af van het type jail, voor een
virtueel systeem is
commando
/etc/rc
een goede keuze, omdat het de
reguliere opstart procedure nabootst van een FreeBSD systeem.
Voor een dienst jail is het geheel afhankelijk
van de dienst of applicatie die in de jail gaat draaien.
Jails worden over het algemeen gestart tegelijkertijd met
de rest van het systeem. Het FreeBSD rc
mechanisme levert een makkelijke manier om dat te doen:
Een lijst van jails die opgestart moeten worden tijdens het opstarten van het systeem, moeten worden toegevoegd aan het rc.conf(5) bestand:
jail_enable="YES" # Stel dit in op NO om te voorkomen dat er jails gestart worden
jail_list="www
" # Door spaties gescheiden lijst van jails
De jail namen in jail_list
mogen alleen
alfanumerieke karakters bevatten.
Voor elke jail die gespecificeerd is in
jail_list
moet een groep van rc.conf(5)
instellingen worden toegevoegd:
jail_www
_rootdir="/usr/jail/www" # de hoofd directory van de jail jail_www
_hostname="www
.example.org" # de hostnaam van de jail jail_www
_ip="192.168.0.10" # het IP adres van de jail jail_www
_devfs_enable="YES" # moet devfs wel of niet gekoppeld worden in de jail jail_www
_devfs_ruleset="www_ruleset
" # welke devfs ruleset gebruikt moet worden voor de jail
De standaard opstart variabelen in rc.conf(5)
gebruiken het /etc/rc
bestand om de jail
op te starten, wat er vanuit gaat dat de jail een compleet
virtueel systeem is. Voor service jails moet het standaard
opstart commando worden gewijzigd door het aanpassen van de
jail_
optie.jailname
_exec_start
Voor een complete lijst van beschikbare opties, zie de rc.conf(5) handleiding.
service(8) kan worden gebruikt om jails handmatig te starten en
te stoppen, mits er een overeenkomstige verzameling regels bestaat in
/etc/rc.conf
.
#
service jail start www
#
service jail stop www
Er is op dit moment geen nette methode om een jail te stoppen. Dit komt omdat de benodigde applicaties die een nette afsluiting verzorgen, niet beschikbaar zijn in een jail. De beste manier om een jail af te sluiten is door het volgende commando van binnenin de jail uit te voeren of door middel van het jexec(8) commando:
#
sh /etc/rc.shutdown
Meer informatie hierover kan gevonden worden in de jail(8) handleiding.
Er zijn meerdere opties beschikbaar die ingesteld kunnen worden voor elke jail, en er zijn meerdere mogelijkheden om een FreeBSD host systeem te combineren met jails om een betere scheiding tussen systeem en applicaties te verkrijgen. Deze sectie leert:
Een aantal opties zijn beschikbaar voor het optimaliseren van het gedrag en beveiligings beperkingen die geïmplementeerd worden in een jail.
Een aantal “high-level” applicaties die gebruikt worden voor het beheren van jails, welke beschikbaar zijn via de FreeBSD Ports Collectie en kunnen gebruikt worden om een complete jail-gebaseerde oplossing te creeëren.
Het goed kunnen optimaliseren van een jail configuratie wordt
veelal gedaan door het instellen van sysctl(8) variabelen.
Er bestaat een speciale subtak van sysctl voor het organiseren
van alle relevante opties: de security.jail.*
hierarchie binnen de FreeBSD kernel. Hieronder staat een
lijst van de belangrijkste jail-gerelateerde sysctl variabelen,
met informatie over de standaard waarden. De benaming zou
zelf beschrijvend moeten zijn, maar voor meer informatie
kunnen de jail(8) en sysctl(8) handleidingen
geraadpleegd worden.
security.jail.set_hostname_allowed:
1
security.jail.socket_unixiproute_only:
1
security.jail.sysvipc_allowed:
1
security.jail.enforce_statfs:
2
security.jail.allow_raw_sockets:
0
security.jail.chflags_allowed:
0
security.jail.jailed: 0
Deze variabelen kunnen door de systeem beheerder gebruikt
worden op het host systeem om limitaties
toe te voegen of te verwijderen, welke standaard opgedwongen
worden aan de root
gebruiker. Let op,
een aantal beperkingen kan niet worden aangepast. De
root
gebruiker mag geen bestandssystemen
koppelen of ontkoppelen binnenin een jail(8). De
root
gebruiker mag ook geen devfs(8)
rulesets laden of ontladen, firewall rules plaatsen of andere
taken uitvoeren die vereisen dat de in-kernel data wordt
aangepast, zoals het aanpassen van de
securelevel
variabele in de kernel.
Het basis systeem van FreeBSD bevat een basis set van applicaties voor het inzien van de actieve jails, en voor het uitvoeren van administratieve commando's in een jail. De jls(8) en jexec(8) commando's zijn onderdeel van het basis systeem en kunnen gebruikt worden voor het uitvoeren van de volgende simpele taken:
Het printen van een lijst van actieve jails met het corresponderende jail ID (JID), IP adres, de hostnaam en het pad.
Het koppelen met een actieve jail vanuit het host
systeem, en voor het uitvoeren van administratieve taken
in de jail zelf. Dit is bijzonder handig wanneer de
root
gebruiker een jail netjes
wilt afsluiten. Het jexec(8) commando kan ook
gebruikt worden om een shell te starten in een jail
om daarmee administratieve taken uit te voeren;
bijvoorbeeld met:
#
jexec 1 tcsh
Tussen de vele software van derde partijen voor jail beheer, is één van de meest complete en bruikbare paketten: sysutils/jailutils. Dit is een set van kleine applicaties, die bijdragen aan jail(8) beheer. Kijk op de web pagina voor meer informatie.
Deze sectie is gebaseerd op een idee van Simon L. B. Nielsen <simon@FreeBSD.org>
op http://simon.nitro.dk/service-jails.html
,
en een geupdate artikel door Ken Tom
<locals@gmail.com>
. Deze sectie illusteert hoe een
FreeBSD systeem opgezet kan worden met een extra laag beveiliging
door gebruik te maken van jail(8). Er wordt vanuit gegaan
dat het betrokken systeem minstens RELENG_6_0 draait en dat de
informatie eerder in dit hoofdstuk goed begrepen is.
Één van de grootste problemen met jails is het beheer van het upgrade proces. Dit is meestal een probleem omdat elke jail vanaf het begin af aan moet worden opgebouwd wanneer er geupdate wordt. Meestal is dit voor een enkele jail geen probleem, omdat het update proces redelijk simpel is, maar het kan een vervelende tijdrovende klus zijn als er meerdere jails zijn.
Deze opstelling vereist uitgebreide kennis en ervaring van FreeBSD en zijn mogelijkheden. Als onderstaande stappen te lastig lijken te zijn, wordt aangeraden om een simpeler systeem te bekijken zoals sysutils/ezjail, welke een simpele manier geeft voor het beheren van FreeBSD jails en niet zo complex is als deze opstelling.
Het idee werd geopperd om zulke problemen zoveel als mogelijk te voorkomen door zoveel als mogelijk te delen tussen de verschillende jails op een zo veilig mogelijke manier — door gebruik te maken van alleen-lezen mount_nullfs(8) koppelingen, zodat het upgraden simpeler wordt en het inzetten van jails voor enkele diensten interessanter wordt. Daarnaast geeft het een simpele manier om nieuwe jails toe te voegen of te verwijderen en om deze te upgraden.
Voorbeelden binnen deze context zijn: een HTTP server, een DNS server, een SMTP server enzovoorts.
De doelen van de opstelling zoals beschreven in dit hoofdstuk zijn:
Het creeëren van een simpele en makkelijk te begrijpen jail structuur. Dit impliceert dat er niet elke keer een volledige installworld gedraaid hoeft te worden voor elke jail.
Het makkelijk maken van het aanmaken en verwijderen van jails.
Het makkelijk maken van het updaten en upgraden van bestaande jails.
Het mogelijk maken van het draaien van een eigen gemaakte FreeBSD tak.
Paranoia zijn over beveiliging, zoveel mogelijk beperken, om de kans op inbraak zo klein mogelijk te maken.
Het zoveel mogelijk besparen van ruimte en inodes.
Zoals reeds besproken is dit ontwerp sterk afhankelijk van het hebben van een “master-template”, welke alleen-lezen (beter bekend als nullfs) gekoppeld is binnen elke jail, en een beschrijfbaar apparaat per jail. Een apparaat kan hierin zijn een aparte fysieke schijf, een partitie, of een door vnodes ondersteunde md(4) apparaat. In dit voorbeeld wordt gebruik gemaakt van lezen-schrijven nullfs koppelpunten.
Het gebruikte bestandssysteem wordt beschreven door de volgende lijst:
Elke jail zal gekopeld worden onder de /home/j
directory.
/home/j/mroot
is
de template voor elke jail en tevens de alleen-lezen
partitie voor elke jail.
Voor elke jail zal een lege directory structuur
gemaakt worden, welke valt onder de /home/j
directory.
Elke jail heeft een /s
directory, welke
gekoppeld zal worden aan het beschrijfbare gedeelte van
het systeem.
Elke jail zal zijn eigen beschrijfbaar systeem hebben
welke gebaseerd is op /home/j/skel
.
Elke jail ruimte (het beschrijfbare gedeelte van de
jail), wordt gecreeërd in de /home/js
directory.
De voorbeelden gaan er vanuit dat de jails geplaatst
worden in /home
partitie. Dit kan
uiteraard aangepast worden, maar dan moeten de
voorbeelden hieronder ook worden aangepast naar de plek
die gebruikt zal worden.
Deze sectie leert welke stappen er genomen moeten worden om de master-template te maken. Deze zal het alleen-lezen gedeelte vormen van de jails.
Het is altijd een goed idee om ervoor te zorgen dat het FreeBSD systeem de laatst beschikbare -RELEASE versie draait. Zie het corresponderende hoofdstuk in het Handboek om te lezen hoe dit gedaan wordt. In het geval dat het de moeite niet is om te updaten, zal een buildworld nodig zijn voordat er verder gegaan kan worden. Daarnaast is het sysutils/cpdup pakket benodigd. Er wordt gebruik gemaakt van deportsnap(8) applicatie om de FreeBSD Ports Collectie te downloaden. Het handbook met het hoofdstuk over Portsnap, is een aanrader voor nieuwe gebruikers.
Als eerste moet er een directory structuur gecreeërd worden voor het alleen-lezen bestandssysteem, welke de FreeBSD binaries zal bevatten voor de jails. Daarna wordt het alleen-lezen bestandssysteem geïnstalleerd vanuit de FreeBSD broncode directory in de jail template:
#
mkdir /home/j /home/j/mroot
#
cd /usr/src
#
make installworld DESTDIR=/home/j/mroot
Hierna moet de FreeBSD Ports Collectie worden voorbereid, evenals de FreeBSD broncode directory, wat voor mergemaster vereist is:
#
cd /home/j/mroot
#
mkdir usr/ports
#
portsnap -p /home/j/mroot/usr/ports fetch extract
#
cpdup /usr/src /home/j/mroot/usr/src
Nu moet er een “skelet” gecreeërd worden voor het bechrijfbare gedeelte van het systeem:
#
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
De mergemaster applictie moet gebruikt worden om de ontbrekende configuratie bestanden te installeren. Erna moeten alle overtollige directories die gecreeërd zijn door mergemaster verwijderd worden:
#
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
Nu moet er een symbolische link gemaakt worden tussen
het beschrijfbare bestandssysteem en het alleen-lezen
bestandssysteem, zorg ervoor dat de links gemaakt worden
in de juiste /s
directory. Als hier echte directories worden gemaakt
of de directories worden op de verkeerde plak aangemaakt
zal dit resulteren in een mislukte installatie:
#
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
Als laatste stap moet er een generieke
/home/j/skel/etc/make.conf
gemaakt
worden met de volgende inhoud:
WRKDIRPREFIX?= /s/portbuild
Door het gebruik van WRKDIRPREFIX
op deze manier, is het mogelijk om per jail FreeBSD ports
te compileren. Onthoud dat de ports directory onderdeel
is van het alleen-lezen bestandssysteem. Het eigen pad
voor WRKDIRPREFIX
maakt het mogelijk
dat port builds gedaan worden op het beschrijfbare
gedeelte van elke jail.
Nu we een complete FreeBSD template hebben, kunnen we de
jails opzetten en configureren in
/etc/rc.conf
. Dit voorbeeld demonstreert
het creeëren van drie jails: “NS”,
“MAIL” en “WWW”.
Zet het volgende in /etc/fstab
zodat de alleen-lezen template voor de jails en de
beschrijfbare partititie beschikbaar zijn in de
respectievelijke jails:
/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
Partities die gemarkeerd zijn met een 0 als
“passnummer” worden niet gecontroleerd
door fsck(8) tijdens het opstarten, en partities
met een “dumpnummer” van 0 worden niet
geback-upped door dump(8). Het is niet gewenst dat
fsck de
nullfs koppelingen controleert
of dat dump een back-up maakt
van de alleen-lezen nullfs koppelingen van de jails.
Daarom worden ze gemarkeerd met “0 0”
in de laatste twee kolommen van elke
fstab
regel hierboven.
Configureer de 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"
De reden dat de
jail_
variabele verwijst naar de name
_rootdir/usr/home
directory in
plaats van naar /home
komt doordat het
fysieke pad van de /home
directory op een
standaard FreeBSD installatie verwijst naar /usr/home
. De
jail_
variabele mag niet ingesteld
worden op een symbolische link, omdat dan de jail
weigert te starten. Gebruik het realpath(1)
programma om te zien welke waarde ingesteld moet worden
voor deze variabele. Zie de FreeBSD-SA-07:11.jail
waarschuwing voor meer informatie.name
_rootdir
Creeër de benodigde koppelpunten voor het alleen-lezen bestandssysteem van elke jail:
#
mkdir /home/j/ns /home/j/mail /home/j/www
Installeer de beschrijfbare template in elke jail. Let op het gebruik van sysutils/cpdup, wat helpt om een goede kopie te maken in elke directory:
#
mkdir /home/js
#
cpdup /home/j/skel /home/js/ns
#
cpdup /home/j/skel /home/js/mail
#
cpdup /home/j/skel /home/js/www
In deze fase zijn de jails gebouwd en voorbereid om op te starten. Koppel eerst de benodigde bestandssystemen voor elke jail, en start ze vervolgens door gebruik te maken van het rc-bestand voor de jail:
#
mount -a
#
service jail start
De jails zouden nu gestart moeten zijn. Om te zien of ze correct gestart zijn, wordt het jls(8) programma gebruikt. Het resultaat hiervan ziet er ongeveer als volgend uit:
#
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
Op dit moment, zou het mogelijk moeten zijn om op elke
jail aan te loggen, nieuwe gebruikers toe te voegen en het
configureren van daemons. De JID
kolom
geeft het identificatie nummer voor elke gestarte jail.
Gebruik het volgende commando om administratieve commando's
uit te voeren in de jail met het JID
3:
#
jexec 3 tcsh
Naarmate de tijd verstrijkt komt de noodzaak om het systeem te updaten naar een nieuwere versie van FreeBSD, danwel vanwege een veiligheids waarschuwing danwel vanwege nieuwe mogelijkheden die geïmplementeerd zijn en nuttig zijn voor de jails. Het ontwerp van deze opzet levert een makkelijke manier voor het upgraden van jails. Daarnaast minimaliseert het de “down-time”, omdat de jails alleen in de allerlaatste minuut uitgeschakeld worden. Het geeft ook de mogelijkheid om terug te keren naar een oudere versie, voor het geval er problemen ontstaan.
De eerste stap is het upgraden van het host systeem
zelf, waarna een nieuwe alleen-lezen template gemaakt
wordt in /home/j/mroot2
.
#
mkdir /home/j/mroot2
#
cd /usr/src
#
make installworld DESTDIR=/home/j/mroot2
#
cd /home/j/mroot2
#
cpdup /usr/src usr/src
#
mkdir s
Het installworld
doel
creeërt een aantal onnodige directories, welke
verwijderd moeten worden:
#
chflags -R 0 var
#
rm -R etc var root usr/local tmp
Maak opnieuw de beschrijfbare symbolische linken voor het hoofd bestandssysteem:
#
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
Dit is het juiste moment om de jails te stoppen:
#
service jail stop
Ontkoppel de originele bestandssystemen:
#
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
Het beschrijfbare gedeelte van de jail is
gekoppeld aan het alleen-lezen gedeelte
(/s
) en moet
derhalve eerst ontkoppeld worden.
Verplaatst het oude alleen-lezen systeem en vervang het door de nieuwe systeem. Het oude systeem dient als reservekopie voor het geval er iets misgaat. De naam moet het zelfde zijn als bij de installatie van het nieuwe systeem. Verplaats de FreeBSD Ports Collectie naar het nieuwe bestandssysteem om ruimte en inodes te besparen:
#
cd /home/j
#
mv mroot mroot.20060601
#
mv mroot2 mroot
#
mv mroot.20060601/usr/ports mroot/usr
Op dit moment is het alleen-lezen gedeelte klaar, de enig overgebleven taak is nu om alle bestandssystemen opnieuw te koppelen en om de jails weer op te starten:
#
mount -a
#
service jail start
Gebruik het jls(8) programma om te zien of de jails correct zijn opgestart. Vergeet niet om in elke jail het mergemaster programma te starten. Ook moeten de configuratie bestanden en de rc.d scripts geupdate worden.
In FreeBSD 5.X werden nieuwe beveiligingsuitbreidingen geïntroduceerd uit het TrustedBSD project, dat is gebaseerd op de POSIX®.1e draft. Twee van de meest significante nieuwe beveiligingsmechanismen zijn faciliteiten voor Toegangscontrolelijsten voor bestandssystemen (ACLs) en Verplichte Toegangscontrole (Mandatory Access Control of MAC). Met Verplichte Toegangscontrole kunnen nieuwe toegangscontrolemodules geladen worden, waarmee nieuw beveiligingsbeleid opgelegd kan worden. Een aantal daarvan bieden beveiliging aan hele kleine onderdelen van het systeem, waardoor een bepaalde dienst weerbaarder wordt. Andere bieden allesomvattende gelabelde beveiliging op alle vlakken en objecten. Het verplichte deel van de definitie komt van het feit dat het opleggen van de controle wordt gedaan door beheerders en het systeem en niet wordt overgelaten aan de nukken van gebruikers, zoals wel wordt gedaan met toegangscontrole naar goeddunken (discretionary access control of DAC, de standaardrechten voor bestanden en System V IPC rechten in FreeBSD).
In dit hoofdstuk wordt de nadruk gelegd op het Verplichte Toegangscontrole Raamwerk (MAC Framework) en een verzameling van te activeren beveiligingsbeleidsmodules waarmee verschillende soorten beveiligingsmechanismen wordt ingeschakeld.
Na het lezen van dit hoofdstuk weet u:
Welke MAC beveiligingsbeleidsmodules op dit moment in FreeBSD beschikbaar zijn en welke mechanismen daarbij horen.
Wat MAC beveiligingsbeleidsmodules implementeren en het verschil tussen gelabeld en niet-gelabeld beleid.
Hoe een systeem efficiënt ingesteld kan worden om met het MAC-raamwerk te werken.
Hoe het beleid van de verschillende beveiligingsbeleidsmodules die in het MAC-raamwerk zitten ingesteld kunnen worden.
Hoe een veiligere omgeving gemaakt kan worden met het MAC-raamwerk en de getoonde voorbeelden;
Hoe de MAC-instellingen getest kunnen worden om er zeker van te zijn dat het raamwerk juist is geïmplementeerd.
Aangeraden voorkennis:
Begrip van UNIX® en FreeBSD basiskennis (Hoofdstuk 4, UNIX® beginselen);
Bekend zijn met de beginselen van het instellen en compileren van de kernel (Hoofdstuk 9, De FreeBSD-kernel instellen);
Enigszins bekend zijn met beveiliging en wat dat te maken heeft met FreeBSD (Hoofdstuk 15, Beveiliging).
Het verkeerd gebruiken van de informatie die hierin staat kan leiden tot het niet langer toegang hebben tot een systeem, ergernis bij gebruikers, of het niet langer kunnen gebruiken van de mogelijkheden die X11 biedt. Nog belangrijker is dat niet alleen op MAC vertrouwd moet worden voor de beveiliging van een systeem. Het MAC-raamwerk vergroot alleen het bestaande beveiligingsbeleid; zonder goede beveiligingsprocedures en regelmatige beveiligingscontroles is een systeem nooit helemaal veilig.
Het is ook van belang op te merken dat de voorbeelden in dit hoofdstuk alleen voorbeelden zijn. Het is niet aan te raden ze uit te rollen op een productiesysteem. Het implementeren van de verschillende beveiligingsbeleidsmodules dient goed overdacht en getest te worden. Iemand die niet helemaal begrijpt hoe alles werkt, komt er waarschijnlijk achter dat die het complete systeem van voor naar achter en weer terug doorloopt en vele bestanden en mappen opnieuw moet instellen.
In dit hoofdstuk wordt een brede reeks beveiligingsonderwerpen met betrekking tot het MAC-raamwerk behandeld. De ontwikkeling van nieuwe MAC-beveiligingsbeleidsmodules wordt niet behandeld. Een aantal modules die bij het MAC-raamwerk zitten hebben specifieke eigenschappen voor het testen en ontwikkelen van nieuwe modules. Daaronder vallen mac_test(4), mac_stub(4) en mac_none(4). Meer informatie over deze beveiligingsbeleidsmodules en de mogelijkheden die ze bieden staan in de hulppagina's.
Voordat dit hoofdstuk gelezen wordt, moeten er een aantal sleuteltermen toegelicht worden. Hiermee wordt hopelijk mogelijke verwarring en de abrupte introductie van nieuwe termen en informatie voorkomen.
compartiment: een compartiment is een verzameling van programma's en gegevens die gepartitioneerd of gescheiden dient te worden en waartoe gebruikers expliciet toegang moeten krijgen op een systeem. Een compartiment staat ook voor een groep, zoals een werkgroep, afdeling, project, of onderwerp. Door gebruik te maken van compartimenten is het mogelijk om een “need-to-know” beveiligingsbeleid in te stellen.
hoogwatermarkering: Een hoogwatermarkeringsbeleid is een beleid dat toestaat om beveiligingsniveaus te verhogen met het doel informatie dat op een hoger niveau aanwezig is te benaderen. In de meeste gevallen wordt het originele niveau hersteld nadat het proces voltooid is. Momenteel heeft het MAC-raamwerk van FreeBSD hier geen beleid voor, maar de definitie is voor de volledigheid opgenomen.
integriteit: integriteit, als sleutelconcept, is het niveau van vertrouwen dat in gegevens gesteld kan worden. Als de integriteit van gegevens wordt vergroot, dan geldt dat ook voor het vertrouwen dat in die gegevens gesteld kan worden.
label: een label is een beveiligingsattribuut dat toegepast kan worden op bestanden, mappen of andere onderdelen van een systeem. Het kan gezien worden als een vertrouwelijkheidsstempel: als er een label op een bestand is geplaatst, beschrijft dat de beveiligingseigenschappen voor dat specifieke bestand en is daarop alleen toegang voor bestanden, gebruikers, bronnen, enzovoort, met gelijke beveiligingsinstellingen. De betekenis en interpretatie van labelwaarden hangt af van de beleidsinstellingen: hoewel sommige beleidseenheden een label beschouwen als representatie van de integriteit of het geheimhoudingsniveau van een object, kunnen andere beleidseenheden labels gebruiken om regels voor toegang in op te slaan.
niveau: de verhoogde of verlaagde instelling van een beveiligingsattribuut. Met het stijgen van het niveau wordt ook aangenomen dat de veiligheid stijgt.
laagwatermarkering: Een laagwatermarkeringsbeleid is een beleid dat toestaat om de beveiligingsniveaus te verlagen met het doel informatie te benaderen die minder veilig is. In de meeste gevallen wordt het originele beveiligingsniveau van de gebruiker hersteld nadat het proces voltooid is. De enige beveiligingsbeleidsmodule in FreeBSD die dit gebruikt is mac_lomac(4).
meervoudig label: de eigenschap
multilabel
is een optie van het
bestandssysteem die in enkelegebruikersmodus met
tunefs(8), tijdens het opstarten via het bestand
fstab(5) of tijdens het maken van een nieuw
bestandssysteem ingesteld kan worden. Met deze optie wordt
het voor een beheerder mogelijk om verschillende
MAC-labels op verschillende objecten toe te
passen. Deze optie is alleen van toepassing op
beveiligingsbeleidsmodules die labels ondersteunen.
object: een object of systeemobject is een entiteit waar informatie doorheen stroomt op aanwijzing van een subject. Hieronder vallen mappen, bestanden, velden, schermen, toetsenborden, geheugen, magnetische opslag, printers en alle andere denkbare apparaten waarmee gegevens kunnen worden vervoerd of kunnen worden opgeslagen. In de basis is een object een opslageenheid voor gegevens of een systeembron; toegang tot een object betekent in feite toegang tot de gegevens.
beleidseenheid: een verzameling van regels die aangeven hoe doelstellingen bereikt moeten worden. In een beleidseenheid staat meestal beschreven hoe bepaalde eenheden behandeld dienen te worden. In dit hoofdstuk wordt de term beleidseenheid in deze context gezien als een beveiligingsbeleidseenheid, wat zoveel wil zeggen als een verzameling regels die bepaalt hoe gegevens en informatie stroomt en aangeeft wie toegang tot welke gegevens en informatie heeft.
gevoeligheid: meestal gebruikt bij het bespreken van MLS. Een gevoeligheidsniveau is een term die gebruikt wordt om te beschrijven hoe belangrijk of geheim de gegevens horen te zijn. Met het stijgen van het gevoeligheidsniveau stijgt ook het belang van de geheimhouding of de vertrouwelijkheid van de gegevens.
enkelvoudig label: een enkelvoudig
label wordt gebruikt als een heel bestandssysteem gebruik
maakt van één label om het toegangsbeleid over
de gegevensstromen af te dwingen. Als dit voor een
bestandssysteem is ingesteld, wat geldt als er geen gebruik
gemaakt wordt van de optie multilabel
, dan
gehoorzamen alle bestanden aan dezelfde labelinstelling.
subject: een subject is een gegeven actieve entiteit die het stromen van informatie tussen objecten veroorzaakt, bijvoorbeeld een gebruiker, gebruikersprocessor, systeemproces, enzovoort. Op FreeBSD is dit bijna altijd een thread die in een proces namens een gebruiker optreedt.
Met al deze nieuwe termen in gedachten, kan overdacht worden hoe het MAC-raamwerk de complete beveiliging van een systeem kan vergroten. De verschillende beveiligingsbeleidsmodules die het MAC-raamwerk biedt zouden gebruikt kunnen worden om het netwerk en bestandssystemen te beschermen, gebruikers toegang tot bepaalde poorten en sockets kunnen ontzeggen, en nog veel meer. Misschien kunnen de beleidsmodules het beste gebruikt worden door ze samen in te zetten, door meerdere beveiligingsbeleidsmodules te laden om te komen tot een omgeving waarin de beveiliging uit meerdere lagen is opgebouwd. In een omgeving waarin de beveiliging uit meerdere lagen is opgebouwd zijn meerdere beleidsmodules actief om de beveiliging in de hand te houden. Deze aanpak is anders dan een beleid om de beveiliging sec beter te maken, omdat daarmee in het algemeen elementen in een systeem beveiligd worden dat voor een specifiek doel wordt gebruikt. Het enige nadeel is het benodigde beheer in het geval van meervoudige bestandssysteemlabels, het instellen van toegang tot het netwerk per gebruiker, enzovoort.
De nadelen zijn wel minimaal als ze worden vergeleken met het immer durende effect van het raamwerk. Zo zorgt bijvoorbeeld de mogelijkheid om te kiezen welke beleidseenheden voor een specifiek gebruik nodig zijn voor het zo laag mogelijk houden van de beheerslast. Het terugdringen van ondersteuning voor onnodige beleidseenheden kan de beschikbaarheid van systemen verhogen en ook de keuzevrijheid vergroten. Voor een goede implementatie worden alle beveiligingseisen in beschouwing genomen en daarna worden de verschillende beveiligingsbeleidsmodules effectief door het raamwerk geïmplementeerd.
Een systeem dat gebruik maakt van de mogelijkheden van MAC dient dus tenminste de garantie te bieden dat een gebruiker niet de mogelijkheid heeft naar eigen inzicht beveiligingsattributen te wijzigen. Alle gebruikersprogramma's en scripts moeten werken binnen de beperkingen die de toegangsregels voorschrijven volgens de geselecteerde beveiligingsbeleidsmodules. Het voorgaande impliceert ook dat de volledige controle over de MAC-toegangsregels bij de systeembeheerder ligt.
Het is de taak van de systeembeheerder om zorgvuldig de juiste beveiligingsbeleidsmodules te kiezen. Voor sommige omgevingen kan het nodig zijn dat de toegang tot het netwerk wordt beperkt. In dat soort gevallen zijn de beleidsmodules mac_portacl(4), mac_ifoff(4) en zelfs mac_biba(4) goede startpunten. In andere gevallen kan de strikte vertrouwelijkheid van bestandssysteemobjecten van belang zijn. Dan zijn beleidsmodules zoals mac_bsdextended(4) en mac_mls(4) voor dit doel gemaakt.
Beslissingen over beleid zouden gemaakt kunnen worden op basis van het netwerkontwerp. Wellicht wordt alleen bepaalde gebruikers toegestaan gebruik te maken van de mogelijkheden van ssh(1) om toegang te krijgen tot het netwerk of Internet. In dat geval is de juiste beleidsmodule mac_portacl(4). Maar wat te doen voor bestandssystemen? Moet alle toegang tot bepaalde mappen worden afgesneden van andere gebruikersgroepen of specifieke gebruikers, of moeten de toegang voor gebruikers of programma's tot bepaalde bestanden worden ingesteld door bepaalde objecten als geheim te bestempelen?
In het geval van het bestandssysteem, kan ervoor gekozen worden om de toegang voor sommige objecten voor bepaalde gebruikers als geheim te bestempelen, maar voor andere niet. Bijvoorbeeld: een groot ontwikkelteam wordt opgedeeld in kleinere eenheden van individuen. Ontwikkelaars in project A horen geen toegang te hebben tot objecten die zijn geschreven door ontwikkelaars in project B. Maar misschien moeten ze wel toegang hebben tot objecten die zijn geschreven door ontwikkelaars in project C. Dat is nogal wat. Door gebruik te maken van de verschillende beveiligingsbeleidsmodules in het MAC-raamwerk kunnen gebruikers in hun groepen worden opgedeeld en kan ze toegang gegeven worden tot de juiste locaties zonder dat er angst hoeft te zijn voor het lekken van informatie.
Zo heeft dus iedere beveiligingsbeleidsmodule een unieke wijze om om te gaan met de totale beveiliging van een systeem. Het kiezen van modules hoort gebaseerd te zijn op een zorgvuldig uitgedacht beveiligingsbeleid. In veel gevallen wordt het totale beveiligingsbeleid aangepast en opnieuw toegepast op het systeem. Een goed begrip van de verschillende beveiligingsbeleidsmodules die het MAC-raamwerk biedt helpt beheerders bij het kiezen van de juiste beleidseenheden voor hun situatie.
De standaard FreeBSD-kernel kent geen ondersteuning voor het MAC-raamwerk en daarom dient de volgende kerneloptie toegevoegd te worden voordat op basis van de voorbeelden of informatie uit dit hoofdstuk wijzigen worden gemaakt:
options MAC
Hierna dient de kernel herbouwd en opnieuw geïnstalleerd te worden.
Hoewel in de verschillende hulppagina's voor MAC-beleidsmodules staat dat ze in de kernel gebouwd kunnen worden, is het mogelijk het systeem van het netwerk af te sluiten en meer. Het implementeren van MAC is net zoiets als het implementeren van een firewall en er moet opgepast worden dat een systeem niet totaal op slot gaat. Er dient rekening gehouden te worden met het teruggaan naar een vorige instelling en het op afstand implementeren van MAC dient bijzonder voorzichtig te gebeuren.
Een MAC-label is een beveiligingsattribuut dat toegepast kan worden op subjecten en objecten die door het systeem gaan.
Bij het instellen van een label moet de gebruiker in staat zijn om precies te begrijpen wat er gebeurt. De attributen die voor een object beschikbaar zijn hangen af van de geladen beleidsmodule en die interpreteren hun attributen op nogal verschillende manieren. Het resultaat kan resulteren in onverwacht en wellicht ongewenst gedrag van een systeem als het beleid door een gebrek aan begrip verkeerd is ingesteld.
Het beveiligingslabel op een object wordt gebruikt als onderdeel van een beveiligingstoegangscontrolebeslissing door een beleidseenheid. Voor sommige beleidseenheden bevat het label zelf alle informatie die nodig is voor het maken van een beslissing; in andere modellen kunnen de labels als onderdeel van een grotere verzameling verwerkt worden, enzovoort.
Zo staat bijvoorbeeld het instellen van het label
biba/low
op een bestand voor een label dat
wordt beheerd door de beveiligingsbeleidsmodule Biba, met een
waarde van “low”.
Een aantal beleidsmodules die in FreeBSD de mogelijkheid voor
labelen ondersteunen, bieden drie specifieke voorgedefinieerde
labels: low, high en equal. Hoewel ze in verschillende
beleidsmodules op een andere manier toegangscontrole afdwingen,
is er de garantie dat het label low
de laagst
mogelijke instelling is, het label equal
het
subject of object uitschakelt of ongemoeid laat en het label
high
de hoogst mogelijk instelling afdwingt
die beschikbaar is in de beleidsmodules Biba en
MLS.
Binnen een bestandssysteemomgeving met een enkelvoudig label
kan er maar één label gebruikt worden op objecten.
Hiermee wordt een verzameling van toegangsrechten op het hele
systeem opgelegd en dat is voor veel omgevingen voldoende. Er
zijn echter een aantal gevallen waarin het wenselijk is
meervoudige labels in te stellen op subjecten of objecten in het
bestandssysteem. In die gevallen kan de optie
multilabel
meegegeven worden aan
tunefs(8).
In het geval van Biba en MLS kan er een numeriek label gezet worden om het precieze niveau van de hiërarchische controle aan te geven. Dit numerieke niveau wordt gebruikt om informatie in verschillende groepen te partitioneren of te sorteren voor het classificeren voor het geven van toegang voor een bepaalde groep of een groep van een hoger niveau.
In de meeste gevallen stelt een beheerder alleen maar een enkelvoudig label in dat door het hele bestandssysteem wordt gebruikt.
Wacht eens, dat klinkt net als
DAC! MAC gaf de controle
toch strikt aan de beheerder? Dat klopt nog steeds,
root
heeft nog steeds de controle in handen
en is degene die het beleid instelt zodat gebruikers in de juiste
categorie en/of toegangsniveaus worden geplaatst. Daarnaast
kunnen veel beleidsmodules ook de gebruiker
root
beperkingen opleggen. Dan wordt de
controle overgedragen aan een groep, maar kan
root
de instellingen op ieder gewenst moment
intrekken of wijzigen. Dit is het hiërarchische of
toegangsmodel dat wordt afgedekt door beleidseenheden zoals Biba
en MLS.
Vrijwel alle aspecten voor het instellen van labelbeleid worden uitgevoerd met basissysteemprogramma's. Die commando's bieden een eenvoudige interface voor object- of subjectinstellingen of de manipulatie en verificatie van de instellingen.
Alle instellingen kunnen gemaakt worden met de
hulpprogramma's setfmac(8) en setpmac(8).
Het commando setfmac
wordt gebruikt om
MAC labels op systeemobjecten in te stellen
en setpmac
voor het instellen van de labels
op systeemsubjecten:
#
setfmac biba/high test
Als het bovenstaande commando geen foutmeldingen heeft veroorzaakt, dan komt er een prompt terug. Deze commando's geven nooit uitvoer, tenzij er een fout is opgetreden; net als bij de commando's chmod(1) en chown(8). In sommige gevallen kan de foutmelding Permission denied zijn en deze treedt meestal op als het label wordt ingesteld of gewijzigd op een object dat is beperkt. [9] De systeembeheerder kan de volgende commando's gebruiken om dit probleem te voorkomen:
#
setfmac biba/high test
Permission denied#
setpmac biba/low setfmac biba/high test
#
getfmac test
test: biba/high
Hierboven is te zien dat setpmac
gebruikt
kan worden om aan de instellingen van een beleidsmodules voorbij
te gaan door een ander label toe te wijzen aan het aangeroepen
proces. Het hulpprogramma getpmac
wordt
meestal toegepast op processen die al draaien, zoals
sendmail: hoewel er een proces-ID
nodig is in plaats van een commando, is de logica gelijk. Als
gebruikers proberen een bestand te manipuleren waar ze geen
toegang tot hebben, onderhevig aan de regels van de geladen
beleidsmodules, dan wordt de foutmelding Operation
not permitted weergegeven door de functie
mac_set_link
.
Met de beleidsmodules mac_biba(4), mac_mls(4) en mac_lomac(4) is het mogelijk eenvoudige labels toe te wijzen. Die kunnen hoog, gelijk aan en laag zijn. Hieronder een beschrijving van wat die labels betekenen:
Het label low
is de laagst
mogelijke labelinstelling die een object of subject kan
hebben. Deze instelling op objecten of subjecten
blokkeert hun toegang tot objecten of subjecten met de
markering hoog.
Het label equal
hoort alleen
ingesteld te worden op objecten die uitgesloten moeten
worden van een beleidsinstelling.
Het label high
geeft een object of
subject de hoogst mogelijke instelling.
Afhankelijke van iedere beleidsmodule heeft iedere instelling een ander informatiestroomdirectief tot gevolg. Het lezen van de hulppagina's die van toepassing zijn geeft inzicht in de precieze eigenschappen van de standaard labelinstellingen.
Dit zijn de labels met numerieke graden die gebruikt
worden voor
vergelijking:afdeling+afdeling
.
biba/10:2+3+6(5:2+3-20:2+3+4+5+6)
Het bovenstaande kan dus geïnterpreteerd worden als:
“Biba-beleidslabel”/“Graad 10”:“Afdelingen 2, 3 en 6”: (“graad 5 ...”)
In dit voorbeeld is de eerste graad de “effectieve graad” met de “effectieve afdelingen”, de tweede graad is de lage graad en de laatste is de hoge graad. In de meeste instellingen worden deze instellingen niet gebruikt. Ze zijn inderdaad instellingen voor gevorderden.
Als ze worden toegepast op systeemobjecten, hebben ze alleen een huidige graad/afdeling in vergelijking met systeemsubjecten, omdat ze de reikwijdte van rechten in het systeem en op netwerkinterfaces aangeven, waar ze gebruikt worden voor toegangscontrole.
De graad en afdelingen in een subject en object paar
wordt gebruikt om een relatie te construeren die
“dominantie” heet, waar een subject een object
domineert, geen van beiden domineert, of beiden elkaar
domineren. Het geval “beiden domineren” komt
voor als de twee labels gelijk zijn. Vanwege de natuur van
de informatiestroom van Biba, heeft een gebruiker rechten
op een verzameling van afdelingen, “need to
know”, die overeen zouden kunnen komen met projecten,
maar objecten hebben ook een verzameling van afdelingen.
Gebruikers dienen wellicht hun rechten onder te verdelen met
su
of setpmac
om
toegang te krijgen tot objecten in een afdeling die geen
verboden terrein voor ze zijn.
Gebruikers moeten zelf labels hebben, zodat hun bestanden
en processen juist kunnen samenwerken met het
beveiligingsbeleid dat op een systeem is ingesteld. Dit wordt
ingesteld via het bestand login.conf
door
gebruik te maken van aanmeldklassen. Iedere beleidsmodule die
labels gebruikt implementeert ook de instelling van de
gebruikersklasse.
Een voorbeeld dat iedere instelling uit de beleidsmodule bevat is hieronder te zien:
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]:
De optie label
wordt gebruikt om het
standaardlabel voor aanmeldklasse in te stellen dat door
MAC wordt afgedwongen. Het wordt
gebruikers nooit toegestaan deze waarde te wijzigen, dus kan
het gezien worden als niet optioneel vanuit het perspectief
van de gebruiker. In de echte wereld besluit een beheerder
echter nooit iedere beleidsmodule te activeren. Het wordt
sterk aangeraden de rest van die hoofdstuk te lezen alvorens
(een deel van) de bovenstaande instellingen te
implementeren.
Gebruikers kunnen hun label wijzigen na het
initiële aanmelden, maar dit is wel afhankelijk van de
beperkingen van een beleidsinstelling. Het bovenstaande
voorbeeld vertelt de beleidseenheid Biba dat de minimale
integriteit van een proces 5 en het maximum 15, maar dat het
effectieve label standaard 10 is. Het proces draait op
niveau 10, totdat het proces het label wijzigt, misschien door een
gebruiker die setpmac
gebruikt, bij het
aanmelden beperkt tot de door Biba ingestelde reeks.
In alle gevallen dient de database met
aanmeldklassemogelijkheden opnieuw gebouwd te worden met
cap_mkdb
na het wijzigen van
login.conf
. Dit wordt ook in alle
komende voorbeelden en beschrijvingen gedaan.
Het is belangrijk op te merken dat in veel gevallen sites te maken hebben met bijzonder grote aantallen gebruikers waardoor er een aantal verschillende aanmeldklassen nodig zijn. Het is dan nodig gedetailleerd te plannen omdat dit anders bijzonder complex wordt om te onderhouden.
Labels kunnen ook ingesteld worden op netwerkinterfaces om
te assisteren bij het controleren van het stromen van gegevens
over het netwerk. In alle gevallen werken ze op dezelfde
wijze als het beleid werkt ten aanzien van objecten.
Gebruikers met bijvoorbeeld een hoge instelling in
biba
krijgen geen toegang tot interfaces
met een laag label.
Het maclabel
kan meegegeven worden aan
ifconfig
als het
MAC-label op netwerkinterfaces wordt
ingesteld:
#
ifconfig bge0 maclabel biba/equal
In het bovenstaande voorbeeld wordt het
MAC-label biba/equal
ingesteld op de interface bge(4). Als er een instelling
wordt gebruikt die gelijkvormig is aan
biba/high(low-high)
, dan moet het volledige
label worden ingegeven, anders treedt er een fout op.
Iedere beleidsmodule die labels ondersteunt een instelling
waarmee het MAC-label op netwerkinterfaces
kan worden uitgeschakeld. Het label instellen op
equal
heeft hetzelfde effect. Deze
instellingen zijn na te kijken in de uitvoer van
sysctl
, de hulppagina van het beleid en
zelfs later in dit hoofdstuk.
Standaard gebruikt een systeem de optie
singlelabel
. Wat betekent dit voor een
beheerder? Er zijn een aantal verschillen die allemaal hun
eigen voor- en nadelen hebben voor de flexibiliteit in het
beveiligingsmodel voor een systeem.
Bij gebruik van singlelabel
kan er maar
één label, bijvoorbeeld
biba/high
, gebruikt worden voor ieder subject
of object. Hierdoor is er minder beheer nodig, maar de
flexibiliteit voor beleid dat labels ondersteunt daalt erdoor.
Veel beheerders willen de optie multilabel
gebruiken in hun beveiligingsmodel.
De optie multilabel
staat ieder subject of
object toe om zijn eigen onafhankelijke
MAC-label te hebben in plaats van de
standaardoptie singlelabel
, die maar
één label toestaat op een hele partitie. De
labelopties multilabel
en
single
zijn alleen verplicht voor de
beleidseenheden die de mogelijkheid bieden om te labelen,
waaronder de beleidsmogelijkheden van Biba, Lomac,
MLS en SEBSD.
In veel gevallen hoeft multilabel
niet eens
ingesteld te worden. Stel er is de volgende situatie en
beveiligingsmodel:
FreeBSD-webserver die gebruik maakt van het MAC-raamwerk en een mengeling van verschillende beleidseenheden.
De webserver heeft maar één label nodig,
biba/high
, voor alles in het systeem.
Hier is de optie multilabel
voor het
bestandssysteem niet nodig, omdat een enkelvoudig label
altijd van toepassing is.
Maar omdat de machine als webserver dienst gaat doen,
dient de webserver te draaien als
biba/low
om administratiemogelijkheden te
voorkomen. Later wordt beschreven hoe de beleidseenheid
Biba werkt, dus als de voorgaande opmerking wat lastig te
begrijpen is, lees dan verder en kom later nog een keer
terug. De server zou een aparte partitie kunnen gebruiken
waarop biba/low
van toepassing kan zijn
voor de meeste, zo niet alle, runtime-statussen. Er
ontbreekt veel in dit voorbeeld, bijvoorbeeld de restricties
op gegevens en (gebruikers)instellingen. Dit was slechts
een snel voorbeeld om de hiervoor aangehaalde stelling te
ondersteunen.
Als er een niet-labelende beleidseenheid wordt gebruikt, dan
is de optie multilabel
nooit verplicht.
Hieronder vallen de beleidseenheden
seeotheruids
, portacl
en
partition
.
Bij gebruik van multilabel
voor een
partitie en het neerzetten van een beveiligingsmodel gebaseerd
op multilabel
functionaliteit gaat de deur open
voor hogere administratieve rompslomp, omdat alles in een
bestandssysteem een label krijgt. Hieronder vallen mappen,
bestanden en zelfs apparaatknooppunten.
Het volgende commando stelt multilabel
in
op de bestandssystemen om meerdere labels te kunnen krijgen.
Dit kan alleen uitgevoerd worden in enkele gebruikersmodus:
#
tunefs -l enable /
Dit is geen criterium voor het wisselbestandssysteem.
Sommige gebruikers hebben problemen ondervonden met het
instellen van de vlag multilabel
op de
rootpartitie. Als dit het geval is, kijk dan naar Paragraaf 17.17, “Problemen oplossen met het MAC-raamwerk” van dit hoofdstuk.
Wanneer een nieuwe technologie wordt geïmplementeerd is een planningsfase altijd een goed idee. Tijdens de planningsfases zou een beheerder in het algemeen naar de “big picture” moeten kijken, en daarbij minstens het volgende in de gaten proberen te houden:
De implementatiebenodigdheden;
De implementatiedoelen;
Voor MAC-installaties houden deze in:
Hoe de beschikbare informatie en bronnen die op het doelsysteem aanwezig zijn te classificeren.
Voor wat voor soort informatie of bronnen de toegang te beperken samen met het type van de beperkingen die dienen te worden toegepast.
Welke MAC-module(s) nodig zullen zijn om dit doel te bereiken.
Het is altijd mogelijk om de systeembronnen en de beveiligingsinstellingen te veranderen en te herconfigureren, het komt vaak erg ongelegen om het systeem te doorzoeken en bestaande bestanden en gebruikersaccounts te repareren. Plannen helpt om zeker te zijn van een probleemloze en efficiënte systeemimplementatie. Het is vaak vitaal en zeker in uw voordeel om een proefronde van het vertrouwde systeem, inclusief de configuratie, te draaien vóórdat een MAC-implementatie wordt gebruikt op productiesystemen. Het idee om een systeem met MAC gewoon los te laten is als het plannen van mislukkingen.
Verschillende omgevingen kunnen verschillende behoeften en benodigdheden nodig hebben. Het opzetten van een diepgaand en compleet beveiligingsprofiel zal de noodzaak van verandering verminderen wanneer het systeem in gebruik wordt genomen. Zodoende zullen de toekomstige secties de verschillende modules die beschikbaar zijn voor beheerders behandelen; hun gebruik en configuratie beschrijven; en in sommige gevallen inzicht bieden in welke situaties ze het beste tot hun recht komen. Een webserver bijvoorbeeld zou de beleiden mac_biba(4) en mac_bsdextended(4) in gebruik nemen. In andere gevallen kan voor een machine met erg weinig lokale gebruikers mac_partition(4) een goede keuze zijn.
Iedere module uit het MAC-raamwerk kan
zoals zojuist aangegeven in de kernel worden gecompileerd of als
runtime-kernelmodule geladen worden. De geadviseerde methode is
de naam van een module toevoegen aan het bestand
/boot/loader.conf
zodat die wordt geladen
tijdens de eerste fase van het starten van een systeem.
In de volgende onderdelen worden de verschillende
MAC-modules en hun mogelijkheden beschreven.
De implementatie in een specifieke omgeving wordt ook in dit
hoofdstuk beschreven. Een aantal modules ondersteunt het gebruik
van labelen, wat het beperken van toegang is door een label als
“dit is toegestaan en dat niet” af te dwingen. Een
labelinstellingenbestand kan bepalen hoe bestanden kunnen worden
benaderd, hoe netwerkcommunicatie wordt uitgewisseld, en meer. In
het vorige onderdeel is beschreven hoe de vlag
multilabel
ingesteld kon worden op
bestandssystemen om per bestand of per partitie toegangscontrole
in te schakelen.
Een instelling met een enkelvoudig label zou maar
één label over een heel systeem afdwingen, daarom
wordt de optie tunefs
multilabel
genoemd.
Modulenaam: mac_seeotheruids.ko
Kernelinstelling: options MAC_SEEOTHERUIDS
Opstartoptie: mac_seeotheruids_load="YES"
De module mac_seeotheruids(4) imiteert de
sysctl
-tunables
security.bsd.see_other_uids
en
security.bsd.see_other_gids
en breidt deze
uit. Voor deze optie hoeven geen labels ingesteld te worden voor
de instelling en hij werkt transparant met de andere modules.
Na het laden van de module kunnen de volgende
sysctl
-tunables gebruikt worden om de opties te
beheren:
security.mac.seeotheruids.enabled
schakelt de opties van de module in en gebruikt de
standaardinstellingen. Deze standaardinstellingen ontzeggen
gebruikt de mogelijkheid processen en sockets te zien die
eigendom zijn van andere gebruikers.
security.mac.seeotheruids.specificgid_enabled
staat toe dat een bepaalde groep niet onder dit beleid valt.
Om bepaalde groepen van dit beleid uit te sluiten, kan de
sysctl
-tunable
security.mac.seeotheruids.specificgid=XXX
gebruikt worden. In het bovenstaande voorbeeld dient
XXX
vervangen te worden door het
numerieke ID van een groep die uitgesloten moet worden van de
beleidsinstelling.
security.mac.seeotheruids.primarygroup_enabled
wordt gebruikt om specifieke primaire groepen uit te sluiten
van dit beleid. Als deze tunable wordt gebruikt, mag
security.mac.seeotheruids.specificgid_enabled
niet gebruikt worden.
Modulenaam: mac_bsdextended.ko
Kernelinstelling:
options MAC_BSDEXTENDED
Opstartoptie:
mac_bsdextended_load="YES"
De module mac_bsdextended(4) dwingt de bestandssysteemfirewall af. Het beleid van deze module biedt een uitbreiding van het standaard rechtenmodel voor bestandssystemen, waardoor een beheerder een firewallachtige verzameling met regels kan maken om bestanden, programma's en mappen in de bestandssysteemhiërarchie te beschermen. Wanneer geprobeerd wordt om toegang tot een object in het bestandssysteem te krijgen, wordt de lijst met regels afgelopen totdat er òf een overeenkomstige regel is gevonden òf het einde van de lijst is bereikt. Dit gedrag kan veranderd worden door het gebruik van de sysctl(8)-parameter security.mac.bsdextended.firstmatch_enabled. Net zoals andere firewall-modules in FreeBSD kan een bestand dat regels voor toegangscontrole bevat tijdens het opstarten door het systeem worden aangemaakt en gelezen door een rc.conf(5)-variabele te gebruiken.
De lijst met regels kan ingevoerd worden met het hulpprogramma ugidfw(8), dat een syntaxis heeft die lijkt op die van ipfw(8). Meer hulpprogramma's kunnen geschreven worden met de functies in de bibliotheek libugidfw(3).
Bij het werken met deze module dient bijzondere voorzichtigheid in acht te worden genomen. Verkeerd gebruik kan toegang tot bepaalde delen van het bestandssysteem blokkeren.
Nadat de module mac_bsdextended(4) is geladen, kan met het volgende commando de huidige regels getoond worden:
#
ugidfw list
0 slots, 0 rules
Zoals verwacht zijn er geen regels ingesteld. Dit betekent
dat alles nog steeds volledig toegankelijk is. Om een regel te
maken die alle toegang voor alle gebruikers behalve
root
ontzegt:
#
ugidfw add subject not uid root new object not uid root mode n
Dit is een slecht idee, omdat het voorkomt dat alle
gebruikers ook maar het meest eenvoudige commando kunnen
uitvoeren, zoals ls
. Een betere lijst met
regels zou kunnen zijn:
#
ugidfw set 2 subject uid gebruiker1 object uid gebruiker2 mode n
#
ugidfw set 3 subject uid gebruiker1 object gid gebruiker2 mode n
Hiermee wordt alle toegang, inclusief het tonen van
mapinhoud, tot de thuismap van
ontzegd voor de gebruikersnaam gebruiker2
gebruiker1
.
In plaats van gebruiker1
, zou
not uid
kunnen worden opgegeven. Hierdoor worden dezelfde restricties
als hierboven actief voor alle gebruikers in plaats van voor
slechts één gebruiker.gebruiker2
De gebruiker root
blijft onaangetast
door deze wijzigingen.
Met deze informatie zou een basisbegrip moeten zijn ontstaan over hoe de module mac_bsdextended(4) gebruikt kan worden om een bestandssysteem te beschermen. Meer informatie staat in de hulppagina's van mac_bsdextended(4) en ugidfw(8).
Modulenaam: mac_ifoff.ko
Kernelinstelling:
options MAC_IFOFF
Opstartoptie: mac_ifoff_load="YES"
De module mac_ifoff(4) bestaat alleen om netwerkinterfaces tijdens het draaien uit te schakelen en om te verhinderen dat netwerkinterfaces tijdens het initiële opstarten worden geactiveerd. Er hoeven geen labels ingesteld te worden, noch is deze module afhankelijk van andere MAC-modules.
Het meeste beheer wordt gedaan met de
sysctl
-tunables die hieronder zijn vermeld.
security.mac.ifoff.lo_enabled
schakelt
alle verkeer op het teruglusinterface (lo(4)) in of uit.
security.mac.ifoff.bpfrecv_enabled
schakelt alle verkeer op het Berkeley Packet Filterinterface
(bpf(4)) in of uit.
security.mac.ifoff.other_enabled
schakelt alle verkeer op alle andere interfaces in of uit.
mac_ifoff(4) wordt het meest gebruikt om netwerken te monitoren in een omgeving waar netwerkverkeer niet toegestaan zou moeten zijn tijdens het opstarten. Een ander voorgesteld gebruik zou het schrijven van een script zijn dat security/aide gebruikt om automatisch netwerkverkeer te blokkeren wanneer het nieuwe of veranderde bestanden in beschermde mappen vindt.
Modulenaam: mac_portacl.ko
Kernelinstelling:
MAC_PORTACL
Opstartoptie: mac_portacl_load="YES"
De module mac_portacl(4) wordt gebruikt om het binden aan
lokale TCP- en UDP-poorten
te begrenzen door een waaier aan
sysctl
-variabelen te gebruiken. In essentie
maakt mac_portacl(4) het mogelijk om
niet-root
-gebruikers in staat te stellen om
aan gespecificeerde geprivilegieerde poorten te binden, dus
poorten lager dan 1024.
Eenmaal geladen zal deze module het MAC-beleid op alle sockets aanzetten. De volgende tunables zijn beschikbaar:
security.mac.portacl.enabled
schakelt
het beleid volledig in of uit.
security.mac.portacl.port_high
stelt
het hoogste poortnummer in waarvoor mac_portacl(4)
bescherming biedt.
security.mac.portacl.suser_exempt
sluit
de gebruiker root
uit van dit beleid
wanneer het op een waarde anders dan nul wordt ingesteld.
security.mac.portacl.rules
specificeert
het eigenlijke beleid van mac_portacl; zie onder.
Het eigenlijke beleid van mac_portacl
,
zoals gespecificeerd in de sysctl
security.mac.portacl.rules
, is een tekststring
van de vorm: regel[,regel,...]
met zoveel
regels als nodig. Elke regel heeft de vorm:
idtype:id:protocol:poort
. De parameter
idtype
kan uid
of
gid
zijn en wordt gebruikt om de parameter
id
als respectievelijk een gebruikers-id of
groeps-id te interpreteren. De parameter
protocol
wordt gebruikt om te bepalen of de
regel op TCP of UDP moet
worden toegepast door de parameter op tcp
of
udp
in te stellen. De laatste parameter
poort
is het poortnummer waaraan de
gespecificeerde gebruiker of groep zich mag binden.
Aangezien de regelverzameling direct door de kernel wordt geïnterpreteerd kunnen alleen numerieke waarden voor de parameters voor de gebruikers-ID, groeps-ID, en de poort gebruikt worden. Voor gebruikers, groepen, en poortdiensten kunnen dus geen namen gebruikt worden.
Standaard kunnen op UNIX®-achtige systemen poorten lager dan
1024 alleen aan geprivilegieerde processen gebonden worden, dus
diegenen die als root
draaien. Om
mac_portacl(4) toe te laten staan om ongeprivilegieerde
processen aan poorten lager dan 1024 te laten binden moet deze
standaard UNIX®-beperking uitgezet worden. Dit kan bereikt
worden door de sysctl(8)-variabelen
net.inet.ip.portange.reservedlow
en
net.inet.ip.portrange.reservedhigh
op nul te
zetten.
Zie de onderstaande voorbeelden of bekijk de handleidingpagina voor mac_portacl(4) voor meer informatie.
De volgende voorbeelden zouden de bovenstaande discussie wat moeten toelichten:
#
sysctl security.mac.portacl.port_high=1023
#
sysctl net.inet.ip.portrange.reservedlow=0 net.inet.ip.portrange.reservedhigh=0
Eerst wordt mac_portacl(4) ingesteld om de standaard geprivilegieerde poorten te dekken en worden de normale bindbeperkingen van UNIX® uitgeschakeld.
#
sysctl security.mac.portacl.suser_exempt=1
De gebruiker root
zou niet beperkt
moeten worden door dit beleid, stel
security.mac.portacl.suser_exempt
dus in op
een waarde anders dan nul. De module mac_portacl(4) is nu
ingesteld om zich op de zelfde manier te gedragen als
UNIX®-achtige systemen zich standaard gedragen.
#
sysctl security.mac.portacl.rules=uid:80:tcp:80
Sta de gebruiker met UID 80 (normaliter
de gebruiker www
) toe om zich aan poort 80
te binden. Dit kan gebruikt worden om de gebruiker
www
toe te staan een webserver te draaien
zonder ooit root
-rechten te hebben.
#
sysctl security.mac.portacl.rules=uid:1001:tcp:110,uid:1001:tcp:995
Sta de gebruiker met UID 1001 om zich aan de TCP-poorten 110 (“pop3”) en 995 (“pop3s”) te binden. Dit staat deze gebruiker toe om een server te starten die verbindingen accepteert op poorten 110 en 995.
Modulenaam: mac_partition.ko
Kernelinstelling:
options MAC_PARTITION
Opstartoptie:
mac_partition_load="YES"
Het beleid mac_partition(4) plaatst processen in specifieke “partities” gebaseerd op hun MAC-label. Zie dit als een speciaal soort jail(8), hoewel dit nauwelijks een waardige vergelijking is.
Dit is één module die aan het bestand loader.conf(5) dient te worden toegevoegd zodat het het beleid tijdens het opstartproces laadt en aanzet.
De meeste configuratie van dit beleid wordt gedaan met het
gereedschap setpmac(8), wat hieronder zal worden uitgelegd.
De volgende sysctl
-tunable is beschikbaar voor
dit beleid:
security.mac.partition.enabled
zet het
afdwingen van MAC-procespartities aan.
Wanneer dit beleid aanstaat, mogen gebruikers alleen hun eigen
processen zien, en elke andere in hun partitie, maar mogen niet
met gereedschappen buiten deze partitie werken. Bijvoorbeeld, een
gebruiker in de klasse insecure
heeft geen
toegang tot het commando top
noch tot vele
andere commando's die een proces moeten draaien.
Gebruik het gereedschap setpmac
om
gereedschappen in te stellen of ze in een partitielabel te
plaatsen:
#
setpmac partition/13 top
Dit zal het commando top
toevoegen aan het
label dat voor gebruikers in de klasse insecure
gebruikt wordt. Merk op dat alle processen gestart door
gebruikers in de klasse insecure
in het label
partition/13
zullen blijven.
Het volgende commando laat de partitielabel en de proceslijst zien:
#
ps Zax
Het volgende commando staat toe om het procespartitielabel van een andere gebruiker en de momenteel draaiende processen van die gebruiker te zien:
#
ps -ZU trhodes
Gebruikers kunnen processen in het label van
root
zien tenzij het beleid
mac_seeotheruids(4) is geladen.
Een echte vakmansimplementatie zou alle diensten in
/etc/rc.conf
uitzetten en deze door een
script met de juiste labeling laten starten.
De volgende beleiden ondersteunen integerinstellingen in plaats van de drie standaardlabels die aangeboden worden. Deze opties, inclusief hun beperkingen, worden verder uitgelegd in de handleidingpagina's van de modules.
Modulenaam: mac_mls.ko
Kernelinstelling:
options MAC_MLS
Opstartoptie: mac_mls_load="YES"
Het beleid mac_mls(4) beheert toegang tussen subjecten en objecten in het systeem door een strikt beleid voor informatiestromen af te dwingen.
In MLS-omgevingen wordt een “toestemming”-niveau ingesteld in het label van elk subject of object, samen met compartimenten. Aangezien deze toestemmings- of zinnigheidsniveaus getallen groter dan zesduizend kunnen bereiken; zou het voor elke systeembeheerder een afschrikwekkende taak zijn om elk subject of object grondig te configureren. Gelukkig worden er al drie “kant-en-klare” bij dit beleid geleverd.
Deze labels zijn mls/low
,
mls/equal
en mls/high
.
Aangezien deze labels uitgebreid in de handleidingpagina worden
beschreven, worden ze hier slechts kort beschreven:
Het label mls/low
bevat een lage
configuratie welke het toestaat om door alle andere objecten
te worden gedomineerd. Alles dat met
mls/low
is gelabeld heeft een laag
toestemmingsniveau en heeft geen toegang tot informatie van
een hoger niveau. Ook voorkomt dit label dat objecten van een
hoger toestemmingsniveau informatie naar hen schrijven of aan
hen doorgeven.
Het label mls/equal
dient geplaatst te
worden op objecten die geacht te zijn uitgesloten van het
beleid.
Het label mls/high
is het hoogst
mogelijke toestemmingsniveau. Objecten waaraan dit label is
toegekend zijn dominant over alle andere objecten in het
systeem; ze mogen echter geen informatie lekken naar objecten
van een lagere klasse.
MLS biedt:
Een hiërarchisch beveiligingsniveau met een verzameling niet-hiërarchische categoriën;
Vaste regels: niet naar boven lezen, niet naar beneden schrijven (een subject kan leestoegang hebben naar objecten op zijn eigen niveau of daaronder, maar niet daarboven. Evenzo kan een subject schrijftoegang hebben naar objecten op zijn eigen niveau of daarboven maar niet daaronder.);
Geheimhouding (voorkomt ongeschikte openbaarmaking van gegevens);
Een basis voor het ontwerp van systemen die gelijktijdig gegevens op verschillende gevoeligheidsniveaus behandelen (zonder informatie tussen geheim en vertrouwelijk te lekken).
De volgende sysctl
-tunables zijn
beschikbaar voor de configuratie van speciale diensten en
interfaces:
security.mac.mls.enabled
wordt gebruikt
om het MLS-beleid in en uit te schakelen.
security.mac.mls.ptys_equal
labelt alle
pty(4)-apparaten als mls/equal
wanneer
ze worden aangemaakt.
security.mac.mls.revocation_enabled
wordt gebruikt om toegang tot objecten in te trekken nadat hun
label in die van een lagere graad verandert.
security.mac.mls.max_compartments
wordt
gebruikt om het maximaal aantal compartimentniveaus met
objecten in te stellen; in feite het maximale
compartimentnummer dat op een systeem is toegestaan.
Het commando setfmac(8) kan gebruikt worden om de MLS-labels te manipuleren. Gebruik het volgende commando om een label aan een object toe te kennen:
#
setfmac mls/5 test
Gebruik het volgende commando om het
MLS-label voor het bestand
test
te verkrijgen:
#
getfmac test
Dit is een samenvatting van de mogelijkheden van het beleid
MLS. Een andere manier is om een
meesterbeleidsbestand in /etc
aan te maken dat de
MLS-informatie bevat en om dat bestand aan het
commando setfmac
te geven. Deze methode wordt
uitgelegd nadat alle beleiden zijn behandeld.
Met de beleidsmodule voor meerlaagse beveiliging plant een beheerder het beheren van gevoelige informatiestromen. Standaard zet het systeem met zijn natuur van lezen naar boven blokkeren en schrijven naar beneden blokkeren alles in een lage toestand. Alles is beschikbaar en een beheerder verandert dit langzaam tijdens de configuratiefase; waarbij de vertrouwelijkheid van de informatie toeneemt.
Buiten de bovengenoemde drie basisopties voor labels, kan
een beheerder gebruikers en groepen indelen als nodig om de
informatiestroom tussen hun te blokkeren. Het is misschien
gemakkelijker om naar de informatie te kijken in
toestemmingsniveaus waarvoor bekende woorden bestaan, zoals
Vertrouwelijk
, Geheim
en
Strikt Geheim
. Sommige beheerders zullen
verschillende groepen aanmaken gebaseerd op verschillende
projecten. Ongeacht de classificatiemethode moet er een goed
overwogen plan bestaan voordat zo'n berperkend beleid wordt
geïmplementeerd.
Wat voorbeeldsituaties voor deze beveiligingsbeleidsmodule kunnen een e-commerce webserver, een bestandsserver die kritieke bedrijfsinformatie, en omgevingen van financiële instellingen zijn. De meest onwaarschijnlijke plaats zou een persoonlijk werkstation met slechts twee of drie gebruikers zijn.
Modulenaam: mac_biba.ko
Kernelinstelling: options MAC_BIBA
Opstartoptie: mac_biba_load="YES"
De module mac_biba(4) laadt het beleid MAC Biba. Dit beleid werkt vaak zoals dat van MLS behalve dat de regels voor de informatiestroom lichtelijk zijn omgedraaid. Dit is gezegd om de neerwaartse stroom van gevoelige informatie te voorkomen terwijl het beleid MLS de opwaartse stroom van gevoelige informatie voorkomt; veel van deze sectie is dus op beide beleiden toepasbaar.
In Biba-omgevingen wordt een “integriteits”-label op elk subject of object ingesteld. Deze labels bestaan uit hiërarchische graden, en niet-hiërarchische componenten. Een graad van een object of subject stijgt samen met de integriteit.
Ondersteunde labels zijn biba/low
,
biba/equal
, en biba/high
;
zoals hieronder uitgelegd:
Het label biba/low
wordt gezien als de
laagste integriteit die een object of subject kan hebben. Dit
instellen op objecten of subjecten zal hun schrijftoegang tot
objecten of subjecten die als hoog zijn gemarkeerd blokkeren.
Ze hebben echter nog steeds leestoegang.
Het label biba/equal
dient alleen
geplaatst te worden op objecten die geacht te zijn uitgesloten
van het beleid.
Het label biba/high
staat schrijven
naar objecten met een lager label toe maar sluit het lezen van
dat object uit. Het wordt aangeraden om dit label te plaatsen
op objecten die de integriteit van het gehele systeem
beïnvloeden.
Biba biedt:
Hiërarchische integriteitsniveaus met een verzameling niet-hiërarchische integriteitscategoriën;
Vaste regels: niet naar boven schrijven, niet naar beneden lezen (tegenovergestelde van MLS). Een subject kan schrijftoegang hebben naar objecten op hetzelfde niveau of daaronder, maar niet daarboven. Evenzo kan een subject leestoegang naar objecten op hetzelfde niveau of daarboven hebben, maar niet daaronder;
Integriteit (voorkomt oneigenlijk wijzigen van gegevens);
Integriteitsniveaus (in plaats van de gevoeligheidsniveaus van MLS)
De volgende sysctl
-tunables kunnen gebruikt
worden om het Biba-beleid te manipuleren.
security.mac.biba.enabled
kan gebruikt
worden om het afdwingen van het Biba-beleid op de doelmachine
aan en uit te zetten.
security.mac.biba.ptys_equal
kan
gebruikt worden om het Biba-beleid op pty(4)-apparaten
uit te zetten.
security.mac.biba.revocation_enabled
dwingt het herroepen van toegang tot objecten af als het label
is veranderd om het subject te domineren.
Gebruik de commando's setfmac
en
getfmac
om de instellingen van het Biba-beleid
op systeemobjecten te benaderen:
#
setfmac biba/low test
#
getfmac test
test: biba/low
Integriteit, anders dan gevoeligheid, garandeert dat de informatie nooit door onvertrouwde gebruikers zal worden gemanipuleerd. Dit geldt ook voor informatie die tussen subjecten, objecten, of beiden wordt doorgegeven. Het verzekert dat gebruikers alleen de informatie kunnen wijzigen en in sommige gevallen zelfs benaderen die ze expliciet nodig hebben.
De beveiligingsbeleidsmodule mac_biba(4) staat een beheerder in staat om te bepalen welke bestanden en programma's een gebruiker of gebruikers mogen zien en draaien terwijl het verzekert dat de programma's en bestanden vrij zijn van dreigingen en vertrouwt zijn door het systeem voor die gebruiker of groep van gebruikers.
Tijdens de initiële planningsfase moet een beheerder bereid zijn om gebruikers in gradaties, niveaus, en gebieden in te delen. Gebruikers zal toegang tot niet alleen gegevens maar ook tot programma's en hulpmiddelen ontzegt worden zowel voordat en nadat ze beginnen. Het systeem zal standaard een hoog label instellen nadat deze beleidsmodule is ingeschakeld, en het is aan de beheerder om de verschillende gradaties en niveaus voor gebruikers in te stellen. In plaats van toestemmingsniveaus zoals boven beschreven te gebruiken, kan een goede planningsmethode onderwerpen bevatten. Bijvoorbeeld, geef alleen ontwikkelaars veranderingstoegang tot het broncoderepository, de broncodecompiler, en andere ontwikkelgereedschappen. Andere gebruikers zouden in andere groepen zoals testers, ontwerpers, of gewone gebruikers worden ingedeeld en zouden alleen leestoegang hebben.
Met zijn natuurlijke beveiligingsbeheer kan een subject van lagere integriteit niet schijven naar een subject van hogere integriteit; een subject van hogere integriteit kan geen subject van lagere integriteit observeren of lezen. Een label op de laagst mogelijke graad instellen kan het ontoegankelijk voor subjecten maken. Sommige succesvolle omgevingen voor deze beveiligingsbeheermodule zijn een beperkte webserver, een ontwikkel- en testmachine, en broncoderepositories. Minder nuttige implementaties zouden een persoonlijk werkstation, een machine gebruikt als router, of een netwerkfirewall zijn.
Modulenaam: mac_lomac.ko
Kernelinstelling: options MAC_LOMAC
Opstartoptie: mac_lomac_load="YES"
In tegenstelling tot het beleid MAC Biba, staat het beleid mac_lomac(4) toegang tot objecten van lagere integriteit slechts toe nadat het integriteitsniveau is verlaagt om de integriteitsregels niet te verstoren.
De MAC-versie van het
laagwatermarkeringsintegreitsbeleid, niet te verwarren met de
oudere implementatie van lomac(4), werkt bijna hetzelfde als
Biba maar met de uitzondering dat er drijvende labels worden
gebruikt om subjectdegradatie via een hulpcompartiment met graden
te ondersteunen. Dit tweede compartiment heeft de vorm
[hulpgraad]
. Wanneer een lomac-beleid met een
hulpgraad wordt toegekend, dient het er ongeveer uit te zien als:
lomac/10[2]
waar het getal twee (2) de
hulpgraad is.
Het beleid MAC LOMAC berust op het overal
labelen van alle systeemobjecten met integriteitslabels, waardoor
subjecten wordt toegestaan om te lezen van objecten van lage
integriteit en om daarna het label op subject te degraderen om
toekomstig schrijven naar objecten van hoge integriteit te
voorkomen. Dit is de hierboven besproken optie
[hulpgraad]
, dus biedt het beleid grotere
compatibiliteit en vereist het minder initiële configuratie
dan Biba.
Net zoals bij de beleiden Biba en MLS
kunnen de commando's setfmac
en
setpmac
gebruikt worden om labels op
systeemobjecten te plaatsen:
#
setfmac /usr/home/trhodes lomac/high[low]
#
getfmac /usr/home/trhodes
lomac/high[low]
Merk op dat de hulpgraad hier low
is, dit
is een mogelijkheid die alleen door het beleid
MAC LOMAC wordt geboden.
De volgende demonstratie zal een veilige omgeving implementeren door verschillende MAC-modules te gebruiken met juist ingestelde beleiden. Dit is slechts een test en dient niet gezien te worden als het volledige antwoord op de beveiligingszorgen van iedereen. Gewoon een beleid implementeren en het verder negeren werkt nooit en kan rampzalig zijn in een productieomgeving.
Voordat met dit proces wordt begonnen, moet de optie
multilabel
zijn geactiveerd op elk
bestandssysteem zoals vermeld aan het begin van dit hoofdstuk.
Nalatigheid zal in fouten resulteren. Zorg er ook voor dat de
ports net-mgmt/nagios-plugins,
net-mgmt/nagios, en www/apache22 allemaal
geïnstalleerde en geconfigureerd zijn en correct werken.
Begin de procedure door de volgende gebruikersklasse toe te
voegen aan het bestand /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):
Voeg de volgende regel toe aan de standaard gebruikersklasse:
:label=biba/high:
Wanneer dit voltooid is, moet het volgende commando gedraaid worden om de database te herbouwen:
#
cap_mkdb /etc/login.conf
Start nog niet opnieuw op, voeg alleen de volgende regels
toe aan /boot/loader.conf
zodat de
benodigde modules worden geladen tijdens systeeminitialisatie:
mac_biba_load="YES" mac_seeotheruids_load="YES"
Stel de gebruiker root
in op de
standaardklasse met:
#
pw usermod root -L default
Alle gebruikersaccounts die geen root
of systeemgebruikers zijn hebben nu een aanmeldklasse nodig. De
aanmeldklasse is nodig om te voorkomen dat gebruikers geen
toegang hebben tot gewone commando's als vi(1). Het
volgende sh
-script zou moeten werken:
#
for x in `awk -F: '($3 >= 1001) && ($3 != 65534) { print $1 }' \
/etc/passwd`; do pw usermod $x -L default; done;
Laat de gebruikers nagios
en
www
in de klasse insecure vallen:
#
pw usermod nagios -L insecure
#
pw usermod www -L insecure
Nu dient een contextbestand aangemaakt te worden; het
volgende voorbeeld dient geplaatst te worden in
/etc/policy.contexts
.
# Dit is het standaard-BIBA-beleid voor dit systeem. # Systeem: /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 #Voor Nagios: /usr/local/etc/nagios /usr/local/etc/nagios/* biba/10 /var/spool/nagios biba/10 /var/spool/nagios/* biba/10 #Voor Apache: /usr/local/etc/apache biba/10 /usr/local/etc/apache/* biba/10
Dit beleid zal beveiliging afdwingen door beperkingen aan de
informatiestroom te stellen. In deze specifieke configuratie
mogen gebruikers, inclusief root
, nooit
toegang hebben tot Nagios.
Instellingenbestanden en processen die deel zijn van
Nagios zullen geheel in zichzelf
of in een jail zitten.
Dit bestand kan nu in ons systeem worden gelezen door ons systeem door het volgende commando uit te voeren:
#
setfsmac -ef /etc/policy.contexts /
#
setfsmac -ef /etc/policy.contexts /
De bovenstaande indeling van het bestandssysteem kan afhankelijk van de omgeving verschillen; het moet echter op elk bestandssysteem gedraaid worden.
Het bestand /etc/mac.conf
dient als
volgt in de hoofdsectie gewijzigd te worden:
default_labels file ?biba default_labels ifnet ?biba default_labels process ?biba default_labels socket ?biba
Voeg de volgende regel toe aan
/boot/loader.conf
:
security.mac.biba.trust_all_interfaces=1
En voeg het volgende toe aan de instellingen van de
netwerkkaart opgeslagen in rc.conf
. Als de
primaire Internetconfiguratie via DHCP wordt
gedaan, kan het nodig zijn om dit handmatig te configureren
telkens nadat het systeem is opgestart:
maclabel biba/equal
Controleer dat de webserver en
Nagios niet tijdens de
systeeminitialisatie worden gestart, en start opnieuw op.
Controleer dat de gebruiker root
geen enkel
bestand in de instellingenmap van
Nagios kan benaderen. Als
root
het commando ls(1) op
/var/spool/nagios
kan uitvoeren, is er iets
verkeerd. Anders zou er een fout “Permission
denied” teruggegeven moeten worden.
Als alles er goed uitziet, kunnen Nagios, Apache, en Sendmail nu gestart worden op een manier die past in het beveiligingsbeleid. De volgende commando's zorgen hiervoor:
#
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
Controleer nogmaals om er zeker van te zijn dat alles juist werkt. Indien niet, controleer dan de logbestanden of de foutmeldingen. Gebruik het hulpprogramma sysctl(8) om de beveiligingsbeleidsmodule mac_biba(4) uit te schakelen en probeer om alles opnieuw op te starten, zoals gewoonlijk.
De gebruiker root
kan zonder angst de
afgedwongen beveiliging veranderen en de instellingenbestanden
bewerken. Het volgende commando staat toe om het
beveiligingsbeleid naar een lagere graad te degraderen voor
een nieuw voortgebrachte shell:
#
setpmac biba/10 csh
Om te voorkomen dat dit gebeurt, kan de gebruiker via
login.conf(5) in een bereik worden gedwongen. Als
setpmac(8) probeert om een commando buiten het bereik van
het compartiment te draaien, zal er een fout worden
teruggegeven en wordt het commando niet uitgevoerd. Zet in
dit geval root op biba/high(high-high)
.
Dit voorbeeld gaat over een relatief klein opslagsysteem met minder dan vijftig gebruikers. Gebruikers kunnen zich aanmelden, en mogen zowel gegevens opslaan als bronnen benaderen.
Voor dit scenario kunnen mac_bsdextended(4) gecombineerd met mac_seeotheruids(4) naast elkaar bestaan en zowel toegang tot systeemobjecten als tot gebruikersprocessen ontzeggen.
Begin door de volgende regel aan
/boot/loader.conf
toe te voegen:
mac_seeotheruids_load="YES"
Het beveiligingsbeleidsmodule mac_bsdextended(4) kan door volgende variabele in rc.conf geactiveerd worden:
ugidfw_enable="YES"
De standaardregels in /etc/rc.bsdextended
zullen tijdens de systeeminitialisatie worden geladen; het kan
echter nodig zijn om de standaardregels te wijzigen. Aangezien
van deze machine alleen verwacht wordt dat het gebruikers bedient,
kunnen alle regels uitgecommentarieerd blijven behalve de laatste
twee. Deze forceren het standaard laden van systeemobjecten die
eigendom zijn van gebruikers.
Voeg de benodigde gebruikers toe aan deze machine en start
opnieuw op. Probeer, voor testdoeleinden, u aan te melden als een
andere gebruiker over twee consoles. Draai het commando
ps aux
om te zien of processen van andere
gebruikers zichtbaar zijn. Probeer om ls(1) te draaien op de
thuismap van een andere gebruiker, dit zou moeten mislukken.
Probeer niet te testen met de gebruiker
root
tenzij de specifieke
sysctl
's om supergebruikertoegang te blokkeren
zijn aangepast.
Wanneer een nieuwe gebruiker is toegevoegd, zit de mac_bsdextended(4)-regel van die gebruiker niet in de lijst van regelverzamelingen. Om de regelverzameling snel bij te werken, kan simpelweg de beveiligingsbeleidsmodule worden herladen met de gereedschappen kldunload(8) en kldload(8).
Tijdens de ontwikkeling hebben een aantal gebruikers problemen aangegeven met normale instellingen. Hieronder worden een aantal van die problemen beschreven:
De vlag multilabel
blijft niet ingeschakeld
op de rootpartitie (/
)!
Het lijkt er inderdaad op dat een paar procent van de gebruikers dit probleem heeft. Nadere analyse van het probleem doet vermoeden dat deze zogenaamde “bug” het resultaat is van òfwel onjuiste documentatie òfwel verkeerde interpretatie van de documentatie. Hoe het probleem ook is ontstaan, met de volgende stappen is het te verhelpen:
Wijzig /etc/fstab
en stel de
rootpartitie in op ro
voor alleen-lezen.
Herstart in enkele-gebruikersmodus.
Draai tunefs
-l enable
op
/
.
Herstart in normale modus.
Draai mount
-urw
/
en wijzig ro
terug
in rw
in /etc/fstab
en
start het systeem opnieuw.
Controleer de uitvoer van mount
om
zeker te zijn dat multilabel
juist is
ingesteld op het rootbestandssysteem.
Na het instellen van een beveiligde omgeving met MAC start X niet meer!
Dit kan komen door de MAC-beleidseenheid
partition
of door een verkeerde labeling van
een van de MAC-labeling beleidseenheden.
Probeer als volgt te debuggen:
Controleer de foutmelding. Als de gebruiker in de
klasse insecure
zit, kan de
beleidseenheid partition
het probleem
zijn. Zet de klasse voor de gebruiker terug naar de klasse
default
en herbouw de database met het
commando cap_mkdb
. Ga naar stap twee als
hiermee het probleem niet is opgelost.
Controleer de labelbeleidseenheden nog een keer. Stel
zeker dat het beleid voor de bewuste gebruiker, de
X11-applicatie, en de onderdelen van /dev
juist zijn ingesteld.
Als geen van beide methodes het probleem oplossen, stuur dan de foutmelding en een beschrijving van de omgeving naar de TrustedBSD-discussielijsten van de TrustedBSD website of naar de FreeBSD algemene vragen mailinglijst mailinglijst.
.login_conf
Bij het wisselen van de gebruiker root
naar een andere gebruiker in het systeem, verschijnt de
foutmelding
_secure_path: unable to state .login_conf.
Deze melding komt meestal voor als de gebruiker een hogere
labelinstelling heeft dan de gebruiker waarnaar wordt
gewisseld. Als bijvoorbeeld gebruiker joe
een standaardlabel biba/low
heeft, dan kan
gebruiker root
, die een label
biba/high
heeft, de thuismap van
joe
niet zien. Dit gebeurt zonder
rekening te houden met de mogelijkheid dat
root
met su
de
identiteit van joe
heeft aangenomen. In
dit scenario staat het integriteitsmodel van Biba niet toe dat
root
objecten kan zien van een lager
integriteitsniveau.
In normale, of zelfs in enkelegebruikersmodus, wordt
root
niet herkend. Het commando
whoami
geeft 0 (nul) terug en
su
heeft als resultaat who are
you?. Wat is er aan de hand?
Dit kan gebeuren als een labelbeleid is uitgeschakeld,
òfwel door sysctl(8) òf doordat de
beleidsmodule niet meer is geladen. Als de beleidseenheid
(tijdelijk) is uitgeschakeld dan moet de database met
aanmeldmogelijkheden opnieuw worden ingesteld, waarbij de optie
label
wordt verwijderd. Er dient voor te
worden zorggedragen dat het bestand
login.conf
wordt ontdaan van alle opties
met label
, waarna de database opnieuw gebouwd
kan worden met cap_mkdb
.
Dit kan ook gebeuren als een beleid toegang verhinderd tot
het bestand of de database master.passwd
.
Meestal wordt dit veroorzaakt door een beheerder die het bestand
veranderd onder een label welke conflicteert met het globale
beleid dat gebruikt wordt op het systeem. In deze gevallen
wordt de gebruikersinformatie gelezen door het systeem en wordt
de toegang geblokkeerd omdat het bestand het nieuwe label erft.
Zet het beleid uit door middel van sysctl(8) en alles zou
weer normaal moeten zijn.
[9] Andere condities kunnen andere foutmeldingen veroorzaken. De gebruiker die het object probeert te herlabelen kan bijvoorbeeld niet de eigenaar zijn van het bestand, het object kan niet bestaan of alleen-lezen zijn. Een verplichte beleidsinstelling zal het proces niet toestaan om een bestand te herlabelen, misschien om een eigenschap van het bestand, een eigenschap van het proces of een eigenschap van de voorgestelde nieuwe waarde van het label. Een gebruiker die met een lage integriteit draait, probeert bijvoorbeeld het label van een bestand met een hoge integriteit te veranderen of zo'n zelfde gebruiker kan proberen het label van een bestand met lage integriteit te wijzigen in een label van een hoge integriteit.
Het besturingssysteem FreeBSD heeft ondersteuning voor diepgaande beveiligingsauditing van evenementen. Evenement auditing maakt het mogelijk dat er diepgaande en configureerbare logging van een variateit aan beveiligings-gerelateerde systeem evenementen, waaronder logins, configuratie wijzigingen, bestands- en netwerk toegang. Deze log regels kunnen erg belangrijk zijn voor live systeem monitoring, intrusion detection en postmortem analyse. FreeBSD implementeert Sun™'s gepubliceerde BSM API en bestandsformaat en is uitwisselbaar met zowel Sun™'s Solaris™ als Apple®'s Mac OS® X audit implementaties.
Dit hoofdstuk richt zich op de installatie en configuratie van evenement auditing. Het legt audit policies uit en geeft voorbeelden van audit configuraties.
Na het lezen van dit hoofdstuk weet de lezer:
Wat evenement auditing is en hoe het werkt.
Hoe evenement auditing geconfigureerd kan worden voor FreeBSD voor gebruikers en processen.
Hoe de audittrail bekeken kan worden door gebruik te maken van de audit reduction en onderzoek programma's.
Voordat verder gegaan wordt moet het volgende bekend zijn:
UNIX® en FreeBSD basishandelingen begrijpen (Hoofdstuk 4, UNIX® beginselen).
Bekend zijn met de basishandelingen van kernel configuratie/compilatie (Hoofdstuk 9, De FreeBSD-kernel instellen).
Bekend zijn met beveiliging en hoe dat relateert aan FreeBSD (Hoofdstuk 15, Beveiliging).
De audit-faciliteiten hebben enkele bekende beperkingen waaronder dat niet alle beveiligings-relevante systeemevenementen geaudit kunnen worden en dat sommige login-mechanismes, zoals X11-gebaseerde display managers en programma's van erde partijen geen (goede) ondersteuning bieden voor het auditen van login-sessies van gebruikers.
De beveiligings evenement auditing faciliteit is in staat om
erg gedetailleerde logs van systeem activiteiten op een druk
systeem te genereren, trail bestands data kan erg groot worden
wanneer er erg precieze details worden gevraagd, wat enkele
gigabytes per week kan behalen in sommige configuraties.
Beheerders moeten rekening houden met voldoende schijfruimte voor
grote audit configuraties. Bijvoorbeeld het kan gewenst zijn om eigen
bestandsysteem aan /var/audit
toe te wijzen zo dat andere bestandssystemen geen hinder
ondervinden als het audit bestandssysteem onverhoopt vol
raakt.
Voordat dit hoofdstuk gelezen kan worden, moeten er een aantal audit gerelateerde termen uitgelegd worden:
evenement: Een auditbaar evenement is elk evenement dat gelogged kan worden door het audit subsysteem. Voorbeelden van beveiligings gerelateerde evenementen zijn het creëeren van een bestand, het opzetten van een netwerk verbinding, of van een gebruiker die aanlogt. Evenementen zijn ofwel “attributable” wat betekend dat ze getraceerd kunnen worden naar een geauthoriseerde gebruiker, of “non-attributable” voor situaties waarin dat niet mogelijk is. Voorbeelden van non-attributable evenementen zijn elk evenement dat gebeurd voordat authorisatie plaatsvind in het login proces, zoals bij foutieve inlog pogingen.
class: Evenement klassen zijn benoemde sets van gerelateerde evenementen en worden gebruikt in selectie expressies. Veel gebruikte klassen van evenementen zijn “bestands creatie” (fc), “exec” (ex) en “login_logout” (lo).
record: Een record is een audit log regel die het beveiligings evenement beschrijft. Records bevatten een record evenement type, informatie over het onderwerp (de gebruiker) welke de actie uitvoerd, de datum en de tijd, informatie over de objecten of argumenten, en een conditie die aangeeft of de actie geslaagd of mislukt is.
trail: Een audit trail, of log bestand bestaat uit een serie van audit records welke beveiligings evenementen beschrijft. Meestal lopen deze trails in chronologische orde, gebaseerd op de tijd dat het evenement optrad. Alleen geauthoriseerde processen mogen records toevoegen aan de audit trail.
selection expression: Een selectie expressie is een string welke een lijst bevat van prefixes en audit evenement klasse namen die overeenkomen met evenementen.
preselection: Het proces waarbij het systeem bepaald welke evenementen interessant zijn voor de beheerder, zodat wordt voorkomen dat er audit records worden gegenereerd voor evenementen die niet interessant zijn. De “preselection” configuratie gebruikt een serie van selectie expressies om te identificeren welke klassen van evenementen van toepassing zijn op gebruikers en globale instellingen voor zowel geauthoriseerde als ongeauthoriseerde processen.
reduction: Het proces waarbij records van bestaande audit trails worden geselecteerd voor bewaring, uitprinten of analyse. Ook is dit het proces waarbij ongewenste audit records worden verwijderd uit het audit trail. Door gebruik te maken van reduction kunnen beheerders policies implementeren die het bewaren van audit data verzorgen. Bijvoorbeeld gedetailleerde audit trails kunnen één maand bewaard worden maar erna worden trails gereduceerd zodat alleen login informatie bewaard worden voor archiverings redenen.
Ondersteuning in de gebruikersomgeving voor evenement auditing wordt geïnstalleerd als onderdeel van het basis FreeBSD besturingssysteem. Kernel-ondersteuning voor evenement-auditing wordt standaard meegenomen tijdens compilatie, maar moet expliciet in de kernel gecompileerd worden door de volgende regel toe te voegen aan het configuratiebestand van de kernel:
options AUDIT
Bouw en herinstalleer de kernel volgens het normale proces zoals beschreven in Hoofdstuk 9, De FreeBSD-kernel instellen.
Zodra een audit ondersteunende kernel is gebouwd en geïnstalleerd en deze is opgestart kan de audit daemon aangezet worden door de volgende regel aan rc.conf(5) toe te voegen:
auditd_enable="YES"
Audit ondersteuning moet daarna aangezet worden door een herstart van het systeem of door het handmatig starten van de audit daemon:
service auditd start
Alle configuratie bestanden voor beveiligings audit kunnen
worden gevonden in
/etc/security
. De volgende
bestanden moeten aanwezig zijn voor de audit daemon wordt
gestart:
audit_class
- Bevat de definities
van de audit klasses.
audit_control
- Controleert aspecten
van het audit subsysteem, zoals de standaard audit klassen,
minimale hoeveelheid diskruimte die moet overblijven op de
audit log schijf, de maximale audit trail grootte, etc.
audit_event
- Tekst namen en
beschrijvingen van systeem audit evenementen, evenals een
lijst van klassen waarin elk evenement zich bevind.
audit_user
- Gebruiker specifieke
audit benodigdheden welke gecombineerd worden met de globale
standaarden tijdens het inloggen.
audit_warn
- Een bewerkbaar shell
script gebruikt door de auditd
applicatie welke waarschuwings berichten genereert in
bijzondere situaties zoals wanneer de ruimte voor audit
records te laagis of wanneer het audit trail bestand is
geroteerd.
Audit configuratie bestanden moeten voorzichtig worden bewerkt en onderhouden, omdat fouten in de configuratie kunnen resulteren in het verkeerd loggen van evenementen.
Selectie expressies worden gebruikt op een aantal plaatsen in de audit configuratie om te bepalen welke evenementen er geaudit moeten worden. Expressies bevatten een lijst van evenement klassen welke gelijk zijn aan een prefix welke aangeeft of gelijke records geaccepteerd moeten worden of genegeerd en optioneel om aan te geven of de regel is bedoeld om succesvolle of mislukte operaties te matchen. Selectie expressies worden geevalueerd van links naar rechts en twee expressies worden gecombineerd door de één aan de ander toe te voegen.
De volgende lijst bevat de standaard audit evenement klassen
welke aanwezig zijn in het audit_class
bestand:
all
- all -
Matched alle evenement klasses.
ad
-
administrative - Administratieve acties
welke uitgevoerd worden op het gehele systeem.
ap
- application -
Applicatie gedefinieerde acties.
cl
- file close -
Audit aanroepen naar de close
systeem
aanroep.
ex
- exec - Audit
programma uitvoer. Het auditen van command line argumenten
en omgevings variabelen wordt gecontroleerd via
audit_control(5) door gebruik te maken van de
argv
en envv
parameters
in de policy
setting.
fa
-
file attribute access - Audit de
toevoeging van object attributen zoals stat(1),
pathconf(2) en gelijkwaardige evenementen.
fc
- file create
- Audit evenementen waar een bestand wordt gecreëerd als
resultaat.
fd
- file delete
- Audit evenementen waarbij bestanden verwijderd
worden.
fm
-
file attribute modify - Audit
evenementen waarbij bestandsattribuut wijzigingen
plaatsvinden zoals bij chown(8), chflags(1),
flock(2), etc.
fr
- file read
- Audit evenementen waarbij data wordt gelezen, bestanden
worden geopend voor lezen etc.
fw
- file write
- Audit evenementen waarbij data wordt geschreven, bestanden
worden geschreven of gewijzigd, etc.
io
- ioctl -
Audit het gebruik van de ioctl(2) systeem aanroep.
ip
- ipc - Audit
verschillende vormen van Inter-Process Communication, zoals
POSIX pipes en System V IPC operaties.
lo
- login_logout -
Audit login(1) en logout(1) evenementen die
plaatsvinden op het systeem.
na
-
non attributable - Audit
non-attributable evenementen.
no
-
invalid class - Matched geen enkel
audit evenement.
nt
- network -
Audit evenementen die gerelateerd zijn aan netwerk acties
zoals connect(2) en accept(2).
ot
- other -
Audit diverse evenementen.
pc
- process -
Audit process operaties zoals exec(3) en
exit(3)
Deze audit evenement klassen kunnen veranderd worden door
het wijzigingen van de audit_class
en
audit_event
configuratie bestanden.
Elke audit klasse in de lijst wordt gecombineerd met een voorzetsel welke aangeeft of er succesvolle of mislukte operaties hebben plaatsgevonden en of de regel wordt toegevoegd of verwijderd van het matchen van de klasse en het type.
(none) Audit zowel succesvolle als mislukte informatie van het evenement.
+
Audit succesvolle evenementen in
deze klasse.
-
Audit mislukte evenementen in deze
klasse.
^
Audit geen enkele succesvolle of
mislukte evenementen in deze klasse.
^+
Audit geen succesvolle evenementen
in deze klasse.
^-
Audit geen mislukte evenementen
in deze klasse.
De volgende voorbeeld selectie strings selecteren zowel succesvolle als mislukte login/logout evenementen, maar alleen succesvolle uitvoer evenementen:
lo,+ex
In de meeste gevallen moet een beheerder twee bestanden
wijzigingen wanneer het audit systeem wordt geconfigureerd:
audit_control
en
audit_user
. Het eerste controleert systeem
brede audit eigenschappen en policies, het tweede kan gebruikt
worden om diepgaande auditing per gebruiker uit te voeren.
Het audit_control
bestand specificeert
een aantal standaarden van het audit subsysteem. Als de inhoud
bekeken wordt van dit bestand is het volgende te zien:
dir:/var/audit flags:lo minfree:20 naflags:lo policy:cnt filesz:0
De dir
optie wordt gebruikt om
één of meerdere directories te specificeren die
gebruikt worden voor de opslag van audit logs. Als er meer
dan één directory wordt gespecificeerd, worden ze
op volgorde gebruikt naarmate ze gevuld worden. Het is
standaard dat audit geconfigureerd wordt dat audit logs
worden bewaard op een eigen bestandssysteem, om te
voorkomen dat het audit subsysteem en andere subsystemen met
elkaar botsen als het bestandssysteem volraakt.
Het flags
veld stelt de systeem brede
standaard preselection maskers voor attributable evenementen
in. In het voorbeeld boven worden succesvolle en mislukte
login en logout evenementen geaudit voor alle gebruikers.
De minfree
optie definieerd het minimale
percentage aan vrije ruimte voor dit bestandssysteem waar de
audit trails worden opgeslagen. Wanneer deze limiet wordt
overschreven wordt er een waarschuwing gegenereerd. In het
bovenstaande voorbeeld wordt de minimale vrije ruimte ingesteld
op 20 procent.
Denaflags
optie specificeerd audit klasses
welke geaudit moeten worden voor non-attributed evenementen
zoals het login proces en voor systeem daemons.
Depolicy
optie specificeert een komma
gescheiden lijst van policy vlaggen welke diverse aspecten
van het audit proces beheren. De standaard
cnt
vlag geeft aan dat het systeem moet
blijven draaien ook al treden er audit fouten op (deze vlag
wordt sterk aangeraden). Een andere veel gebruikte vlag is
argv
, wat het mogelijk maakt om command
line argumenten aan de execve(2) systeem aanroep te
auditen als onderdeel van het uitvoeren van commando's.
De filesz
optie specificeert de maximale
grootte in bytes hoeveel een audit trail bestand mag groeien
voordat het automatisch getermineerd en geroteerd wordt. De
standaard, 0, schakelt automatische log rotatie uit. Als de
gevraagde bestands grootte niet nul is en onder de minimale
512k zit, wordt de optie genegeerd en wordt er een log bericht
gegenereerd.
Het audit_user
bestand staat de
beheerder toe om verdere audit benodigdheden te
specificeren voor gebruikers. Elke regel configureert
auditing voor een gebruiker via twee velden, het eerste is het
alwaysaudit
veld, welke een set van
evenementen specificeert welke altijd moet worden geaudit voor
de gebruiker, en de tweede is het neveraudit
veld, welke een set van evenementen specificeerd die nooit
geaudit moeten worden voor de gebruiker.
Het volgende voorbeeld audit_user
bestand audit login/logout evenementen en succesvolle commando
uitvoer voor de root
gebruiker, en audit
bestands creatie en succesvolle commando uitvoer voor de
www
gebruiker. Als dit gebruikt wordt
in combinatie met het voorbeeld
audit_control
bestand hierboven, is de
root
regel dubbelop en zullen login/logout
evenementen ook worden geaudit voor de
www
gebruiker.
root:lo,+ex:no www:fc,+ex:no
Audit trails worden opgeslagen in het BSM binaire formaat,
dus ondersteunende programma's moeten worden gebruikt om de
informatie te wijzigen of converteren naar tekst. Het
praudit(1) commando converteert trail bestanden naar een
simpel tekst formaat; het auditreduce(1) commando kan
gebruikt worden om de audit trail te reduceren voor analyse,
archivering of voor het uitprinten van de data.
auditreduce
ondersteund een variateit aan
selectie parameters, zoals evenement type, evenement klasse,
gebruiker, datum of tijd van het evenement en het bestandspad
of object dat gebruikt wordt.
Bijvoorbeeld, het praudit
programma zal
een dump maken van de volledige inhoud van een gespecificeerd
audit log bestand in normale tekst:
#
praudit /var/audit/AUDITFILE
Waar
AUDITFILE
het
audit bestand is dat ingelezen moet worden.
Audit trails bestaan uit een serie van audit records die
gevormd worden door tokens, welke praudit
sequentieel print één per regel. Elke token is van
een specifiek type, zoals een header
welke
de audit record header bevat, of path
welke
het bestandspad bevat van een lookup. Het volgende is een
voorbeeld van een execve
evenement:
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
Deze audit representeert een succesvolle
execve
aanroep, waarbij het commando
finger doug
is aangeroepen. Het argument
token bevat beide commando's gerepresenteerd door de shell aan
de kernel. Het path
token bevat het pad
naar het uitvoerbare bestand zoals opgezocht door de kernel.
Het attribute
token beschrijft de binary en
om precies te zijn bevat het de bestands mode welke gebruikt
kan worden om te zien of het bestand setuid was. Het
subject
token beschrijft het onderwerp
proces en bevat sequentieel het audit gebruikers ID, effectieve
gebruikers ID en groep ID, echte gebruikers ID, groep ID,
proces ID, sessie ID, port ID en login adres. Let op dat het
audit gebruikers ID en het echte gebruikers ID van elkaar
verschillen omdat de gebruiker robert
veranderd is naar de root
gebruiker voordat
het commando werd uitgevoerd, maar welke geaudit wordt als de
originele geauthoriseerde gebruiker. Als laatste wordt de
return
token gebruikt om aan te geven dat er
een succesvolle uitvoer is geweest en trailer
geeft het einde aan van het record.
praudit
ook een XML output formaat,
welke geselecteerd kan worden door gebruik te maken van het
x
argument.
Omdat audit logs erg groot kunnen worden, zal de beheerder waarschijnlijk een subset van records willen selecteren om te gebruiken, zoals records die gekoppeld zijn aan een specifieke gebruiker:
#
auditreduce -u trhodes /var/audit/AUDITFILE | praudit
Dit selecteert alle audit records die geproduceert zijn
voor de gebruiker trhodes
die opgeslagen
is in het AUDITFILE
bestand.
Leden van de audit
groep krijgen
permissie om de audit trails te lezen in
/var/audit
; standaard is deze
groep leeg en kan alleen de root
gebruiker deze
audit trails lezen. Gebruikers kunnen toegevoegd worden aan de
audit
groep zodat onderzoek rechten kunnen
worden gedelegeerd aan de geruiker. Omdat de mogelijkheid van
het inzien van audit log inhoud significante inzicht kan geven
in het gedrag van gebruikers en processen, wordt het aangeraden
dat de delagatie van onderzoek rechten eerst goed overdacht
wordt.
Audit pipes zijn gecloonde pseudo-devices in het device bestands systeem, welke applicaties toestaat om een tap te plaatsen in de live audit record stream. Dit is primair interessant voor schrijvers van intrusion detection en systeem monitoring applicaties. Echter, voor een beheerder is het audit pipe device een makkelijke manier om live monitoring toe te staan zonder dat er problemen kunnen ontstaan met het eigenaarschap van het audit trail bestand, of dat een log rotatie de evenementen stroom in de weg zit. Om de live audit evenementen stroom te kunnen inzien is het volgende commando benodigd:
#
praudit /dev/auditpipe
Standaard zijn de audit pipe device nodes alleen toegankelijk
voor de root
gebruiker. Om deze
toegankelijk te maken voor leden van de
audit
groep, moet een
devfs
regel toegevoegd worden aan het
devfs.rules
bestand:
add path 'auditpipe*' mode 0440 group audit
Zie devfs.rules(5) voor meer informatie over het configureren van het devfs bestands systeem.
Het is makkelijk om audit evenement terugkoppeling
cyclussen te creëeren, waarbij het tonen van elk audit
evenement resulteert in het genereren van nog meer audit
evenementen. Bijvoorbeeld, als alle netwerk I/O wordt geaudit
en praudit(1) wordt gestart vanuit een SSH sessie, wordt
er een grote continue stroom aan audit evenementen gegenereert
doordat elk getoond evenement een nieuw evenement genereert.
Het is verstandig om praudit
te draaien op
een audit pipe device voor sessies zonder diepgaande I/O
auditing om te voorkomen dat dit gebeurd.
Audit trails worden alleen beschreven door de kernel en
alleen beheerd worden door de audit daemon,
auditd. Beheerders mogen geen
gebruik maken van newsyslog.conf(5) of soortgelijke
programma's om de audit files te roteren. In plaats daarvan kan
het audit
management programma gebruikt worden
om auditing te stoppen, het audit systeem te herconfigureren en
log rotatie uit te voeren. Het volgende commando zorgt ervoor
dat de audit daemon een nieuwe audit log maakt, en vervolgens
de kernel een signaal stuurt om het nieuwe logbestand te gaan
gebruiken. Het oude logbestand wordt getermineerd en hernoemd,
waarna het bestand gemanipuleerd kan worden door de beheerder.
#
audit -n
Als de auditd daemon op dit moment niet actief is, zal het commando falen en zal er een error bericht worden geproduceerd.
Als de volgende regel wordt toegevoegd aan het
/etc/crontab
bestand, zal er
elke twaalf uur een rotatie plaatsvinden door middel
van cron(8):
0 */12 * * * root /usr/sbin/audit -n
Deze wijziging wordt van kracht op het moment dat het
nieuwe /etc/crontab
bestand wordt
opgeslagen.
Automatische rotatie van het audit trail bestand gebaseerd
op de bestand grootte is mogelijk via de filesz
optie in audit_control(5) en wordt beschreven in de
configuratie bestanden sectie van dit hoofdstuk.
Omdat audit trail bestanden erg groot kunnen worden, is het
meestal gewenst om de trails te comprimeren of op een andere
manier te archiveren zodra ze afgesloten zijn door de audit
daemon. Het audit_warn
script kan gebruikt
worden om bewerkte operaties te doen voor een variateit aan
audit gerelateerde evenementen inclusief een nette terminatie
van audit trails wanneer deze geroteerd worden. Bijvoorbeeld
het volgende kan worden toegevoegd aan het
audit_warn
script, dat de audit trails
comprimeert zodra ze afgesloten worden:
# # Compress audit trail files on close. # if [ "$1" = closefile ]; then gzip -9 $2 fi
Andere archiverings activiteiten kunnen zijn het kopieren van trail bestanden naar een gecentraliseerde server, het verwijderen van oude trail bestanden of het reduceren van de audit trail om onnodige records te verwijderen. Het script zal alleen draaien als audit trail bestanden netjes worden afgesloten, wat betekend dat het script niet uitgevoerd wordt op trails die niet netjes afgesloten zijn, waardoor bestanden corrupt kunnen raken.
Dit hoofdstuk behandelt het gebruik van schijven in FreeBSD. Dit omvat geheugenschijven, schijven die met het netwerk verbonden zijn, SCSI/IDE-opslagapparaten en apparaten die gebruik maken van de USB-interface.
Na het lezen van dit hoofdstuk weet de lezer:
Welke terminologie FreeBSD gebruikt om de gegevensindeling op een fysieke schijf te beschrijven (partities en slices);
Hoe aanvullende harde schijven aan een systeem toe te voegen;
Hoe FreeBSD in te stellen om het gebruik te laten maken van USB-opslagapparaten;
Hoe virtuële bestandssystemen, zoals geheugenschijven, aan te maken;
Hoe quota te gebruiken om het schijfgebruik te beperken;
Hoe schijven te versleutelen om ze tegen inbrekers te beschermen;
Hoe vanuit FreeBSD CD's en DVD's aan te maken en te branden;
Wat de verschillende mogelijkheden zijn voor opslagmedia voor back-ups;
Hoe back-upprogramma's te gebruiken die beschikbaar zijn in FreeBSD;
Hoe een back-up naar diskettes te maken;
Wat bestandssysteem snapshots zijn en hoe ze efficiënt te gebruiken.
Aangeraden voorkennis:
Hoe een nieuwe FreeBSD-kernel in te stellen en te installeren (Hoofdstuk 9, De FreeBSD-kernel instellen).
De volgende lijst noemt de fysieke opslagapparaten die in FreeBSD ondersteund worden, samen met de bijhorende namen.
Type medium | Apparaatnaam medium |
---|---|
IDE harde schijven | ad |
IDE CD-ROM-stations | acd |
SCSI harde schijven en USB-apparaten voor massa-opslag | da |
SCSI CD-ROM-schijven | cd |
Overige niet-standaard-CD-ROM-stations | mcd voor Mitsumi CD-ROM en
scd voor Sony CD-ROM apparaten. |
Diskettestations | fd |
SCSI bandstations | sa |
IDE bandstations | ast |
Flashdrives | fla voor DiskOnChip®
flashapparaten |
RAID-schijven | aacd voor Adaptec® AdvancedRAID,
mlxd en mlyd voor
Mylex®, amrd voor AMI MegaRAID®,
idad voor Compaq Smart RAID,
twed voor 3ware® RAID. |
De volgende sectie beschrijft hoe een nieuwe SCSI schijf aan een machine toe te voegen die slechts een enkele drive heeft. Ten eerste dient de computer uitgeschakeld te worden en dient de schijf volgens de instructies van de computer, controller en schijffabrikant geïnstalleerd te worden. Wegens de grote variéteiten om dit soort procedures uit te voeren, vallen de details buiten het bereik van dit document.
Er dient als gebruiker root
ingelogd te
worden. Nadat de schijf is toegevoegd, dient
/var/run/dmesg.boot
bekeken te worden om er
zeker van te zijn dat de nieuwe schijf is gevonden. Volgens het
voorbeeld heet de nieuw toegevoegde schijf
da1
en die wordt aangekoppeld op
/1
(als er een IDE-schijf wordt toegevoegd,
is de apparaatnaam ad1
).
FreeBSD draait op IBM-PC-compatibele computers. Daarom moet het
rekening houden met de PC-BIOS-partities. Deze wijken af van de
traditionele BSD-partities. Een PC-schijf bevat tot vier
ingangen voor BIOS-partities. Indien de schijf geheel aan FreeBSD
wordt gewijd, kan de toegewijde-modus
gebruikt worden. In het andere geval moet FreeBSD binnen
één van de vier PC-BIOS-partities draaien. De
PC-BIOS-partities worden door FreeBSD slices
genoemd om ze niet met de traditionele BSD-partities te
verwarren. Slices kunnen ook op een schijf worden gebruikt die
toegewijd is aan FreeBSD, maar in een computer zit die ook andere
besturingssystemen heeft geïnstalleerd. Dit is een goede
manier om verwarring met het programma fdisk
van andere, niet-FreeBSD besturingssystemen te voorkomen.
Als er met slices gewerkt wordt, wordt de schijf toegevoegd
als /dev/da1s1e
. Dit moet worden gelezen
als: SCSI-schijf, eenheid 1 (tweede SCSI-schijf), slice 1
(PC-BIOS-partitie 1) en BSD-partitie e
. Als
de schijf toegewijd is, wordt deze simpelweg als
/dev/da1e
toegevoegd.
Omdat 32-bit-integers worden gebruikt om het aantal sectoren op te slaan, is bsdlabel(8) beperkt tot 2^32-1 sectoren per schijf, wat meestal neerkomt op 2 TB. Het programma fdisk(8) staat geen hogere startsector toe dan 2^32-1 en geen grotere lengte dan 2^32-1, meestal worden hiermee partities tot 2 TB begrensd en schijven tot 4 TB. Het formaat van sunlabel(8) is beperkt tot 2^32-1 sectoren per partitie en 8 partities per schijf, in totaal dus 16 TB. Voor grotere schijven kan gpart(8) worden gebruikt om GPT-partities aan te maken. GPT heeft het bijkomende voordeel dat het niet tot 4 slices beperkt is.
Navigeren door sysinstall
sysinstall
kan gebruikt worden om een nieuwe schijf te
partitioneren en te labelen met eenvoudig te gebruiken
menu's. Hiervoor dient òfwel als gebruiker
root
ingelogd te zijn, òfwel
gebruik te worden gemaakt van su
. Draai
sysinstall
en ga naar het menu
Configure
. Scroll binnen het
FreeBSD Configuration Menu
naar
beneden en kies de optie Fdisk
.
fdisk partitie-bewerker
Eenmaal binnen fdisk kan op
A gedrukt worden om de gehele
schijf voor FreeBSD te gebruiken. Wanneer gevraagd wordt of
het systeem compatibel dient te blijven met mogelijk
toekomstige besturingssystemen, dient met
YES
geantwoord te worden. Met
W kunnen de veranderingen naar de
schijf worden geschreven. Nu dient de FDISK-bewerker
verlaten te worden door op Q te drukken.
Vervolgens wordt er een vraag
gesteld over het “Master Boot Record”. Omdat
er een schijf aan een reeds draaiend systeem wordt
toegevoegd, dient hier None
gekozen te
worden.
Schijflabelbewerker
Vervolgens dient sysinstall
verlaten en opnieuw gestart te worden. Volg bovenstaande
aanwijzingen, maar kies deze keer voor de optie
Label
. Dit geeft toegang tot de
Disk Label Editor
. Hier worden de
traditionele BSD-partities aangemaakt. Een schijf kan tot
acht partities bevatten, gelabeld a-h
.
Enkele partitielabels hebben een speciale functie. De
partitie a
wordt gebruikt voor de
rootpartitie (/
). Alleen de
systeemschijf (bijvoorbeeld de schijf van waaruit opgestart
wordt) moet een partitie a
hebben. De
partitie b
wordt voor swappartities
gebruikt, en het is mogelijk om vele schijven met
swappartities te hebben. De partitie c
adresseert de gehele schijf in toegewijde modus, of de
gehele FreeBSD-slice in slice-modus. De andere partities zijn
voor algemeen gebruik.
sysinstall's Labelbewerker
heeft een voorkeur voor de partitie e
voor niet-root-niet-swap-partities. Binnen de
Labelbewerker dient een enkel bestandssysteem te worden
aangemaakt door op C te drukken. Kies
FS
wanneer gevraagd wordt of dit een FS
(file system) of swap wordt, en geef een koppelpunt in
(bijvoorbeeld /mnt
). Wanneer een
schijf in post-installatie-modus wordt toegevoegd, maakt
sysinstall geen ingangen aan in
/etc/fstab
, dus dan is het opgegeven
koppelpunt niet van belang.
Nu kan het nieuwe label naar de schijf worden geschreven en er een bestandssysteem op aangemaakt worden. Dit kan gedaan worden door op W te drukken. Fouten van sysinstall dat de nieuwe partitie niet aankoppeld kon worden kunnen genegeerd worden. De Labelbewerker en sysinstall kunnen nu volledig verlaten worden.
Afronden
De laatste stap bestaat uit het bewerken van
/etc/fstab
om hier een regel voor de
nieuwe schijf aan toe te voegen.
Deze installatie zorgt ervoor dat de schijf correct
samenwerkt met andere besturingssystemen die eventueel op de
computer zijn geïnstalleerd en dat de
fdisk
-gereedschappen van andere
besturingssystemen niet verward raken. Het wordt aangeraden
om deze methode te gebruiken voor de installatie van nieuwe
schijven. Gebruik de toegewijde
modus
alleen als hier een goede reden voor bestaat!
#
dd if=/dev/zero of/dev/da1 bs=1k count=1
#
fdisk -BI da1
# Initialiseer de nieuwe schijf.#
bsdlabel -B -w da1s1 auto
# Label de schijf.#
bsdlabel -e da1s1
# Bewerk de zojuist aangemaakte schijflabel en voeg partities toe.#
mkdir -p /1
#
newfs /dev/da1s1e
# Herhaal dit voor alle aangemaakte partities.#
mount /dev/da1s1e /1
# Mount de partitie(s).#
vi /etc/fstab
# Voeg de juiste regel(s) aan/etc/fstab
toe.
Vervang voor een IDE-schijf da
door
ad
.
Indien de nieuwe schijf niet met een ander
besturingssysteem gedeeld wordt, kan de
toegewijde
modus gebruikt worden. Denk
eraan dat deze modus besturingssystemen van Microsoft kan
verwarren. Ze richten echter geen schade aan. IBM's OS/2®
“fatsoeneert” echter partities die het niet
begrijpt.
#
dd if=/dev/zero of=/dev/da1 bs=1k count=1
#
bsdlabel -Bw da1 auto
#
bsdlabel -e da1
# Maak de `e'-partitie aan.#
newfs /dev/da1e
#
mkdir -p /1
#
vi /etc/fstab
# Voeg een regel voor /dev/da1e toe.#
mount /1
Een alternatieve methode is:
#
dd if=/dev/zero of=/dev/da1 count=2
#
bsdlabel /dev/da1 | bsdlabel -BR da1 /dev/stdin
#
newfs /dev/da1e
#
mkdir -p /1
# Voeg een regel voor /dev/da1e toe.#
mount /1
Bij het kiezen van een medium voor massa-opslag zijn de belangrijkste afwegingen snelheid, betrouwbaarheid en kosten. Het komt zelden voor dat alle drie in balans zijn. Normaalgesproken is een snel, betrouwbaar apparaat voor massa-opslag duur en kosten sparen gaat ten koste van òfwel snelheid òfwel betrouwbaarheid.
Bij het ontwerpen van het onderstaande systeem werd primair op de kosten gelet, gevolgd door snelheid en als laatste betrouwbaarheid. De overdrachtsnelheid van gegevens wordt voor dit systeem uiteindelijk beperkt door het netwerk. En hoewel betrouwbaarheid erg belangrijk is, wordt onderstaande CCD-schijf gebruikt voor het serven van on-line gegevens die reeds volledig op CD-R's zijn geback-upt en eenvoudig vervangen kunnen worden.
De eerste stap in het kiezen van een massa-opslagoplossing is het bepalen van de eigen benodigdheden. Indien snelheid belangrijker is dan betrouwbaarheid of kosten, wijkt de oplossing af van het systeem dat in deze sectie wordt beschreven.
Als aanvulling op de IDE systeemschijf zijn drie Western Digital IDE-schijven van 30 GB, 5400 RPM vanuit de kern van de onderstaande CCD-schijf aanwezig, die ongeveer 90 GB aan on-line opslag bieden. Ideaal gezien heeft iedere IDE-schijf een eigen IDE-controller en kabel, maar om de kosten te minimaliseren zijn geen aanvullende IDE-kabels gebruikt. In plaats hiervan zijn de schijven zodanig met jumpers ingesteld dat elke IDE-controller één master en één slave heeft.
Tijdens het opnieuw opstarten werd het systeem-BIOS zodanig ingesteld dat het automatisch de aangekoppelde schijven detecteerde. Het was belangrijker dat FreeBSD ze tijdens het opnieuw opstarten herkende:
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
Indien FreeBSD niet alle schijven detecteert, moet gecontroleerd worden of de jumpers juist zijn ingesteld. De meeste IDE-schijven hebben ook een jumper voor “Cable Select”. Dit is niet de jumper voor de master/slave-instelling. Voor hulp met het identificeren van de juiste jumper dient de documentatie van de schijf geraadpleegd te worden.
Het stuurprogramma ccd(4) biedt de mogelijkheid om meerdere identieke schijven aaneen te rijgen tot één logisch bestandssysteem. Om gebruik te kunnen maken van ccd(4) is een kernel met ingebouwde ondersteuning voor ccd(4) nodig. De volgende regel dient toegevoegd te worden aan het kernelinstellingenbestand en de kernel dient opnieuw gebouwd en geïnstalleerd te worden:
device ccd
Om ccd(4) te installeren dient eerst bsdlabel(8) gebruikt te worden om de schijven te labelen:
bsdlabel -w -ad1 auto bsdlabel -w ad2 auto bsdlabel -w ad3 auto
Bovenstaande maakt een schijflabel aan voor
ad1c
,
ad2c
en
ad3c
die de gehele schijf
beslaat.
Vervolgens dient het labeltype van de schijf veranderd te worden. Voor het bewerken van de schijven kan bsdlabel(8) gebruikt worden:
bsdlabel -e ad1 bsdlabel -e ad2 bsdlabel -e ad3
Dit zorgt ervoor dat het huidige schijflabel van elke
schijf met de tekstverwerker wordt geopend die door de
omgevingsvariabele EDITOR
wordt
gespecificeerd, vaak vi(1).
Een ongewijzigd schijflabel ziet er ongeveer als volgt uit:
8 partitions: # size offset fstype [fsize bsize bps/cpg] c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597)
Er dient een nieuwe partitie e
toegevoegd te worden die door ccd(4) gebruikt kan
worden. Deze kan gewoonlijk van partitie
c
overgenomen worden, maar het
fstype
moet
4.2BSD
zijn. Het schijflabel ziet
er nu ongeveer als volgt uit:
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)
Nu alle schijven gelabeld zijn, moet de ccd(4) gebouwd worden. Om dit te doen, dient ccdconfig(8) gebruikt te worden met opties die ongeveer gelijk zijn aan de volgende:
ccdconfig ccd0/dev/ad2e /dev/ad3e
Hieronder staat het gebruik en de betekenis van elke optie:
Het eerste argument is het in te stellen apparaat,
in dit geval | |
De interleave voor het bestandssysteem. De interleave definiëert de grootte van een stripe in schijfblokken, elk schijfblok is normaalgesproken 512 bytes groot. Een interleave van 32 is dus 16.384 bytes groot. | |
Vlaggen voor ccdconfig(8). Indien het gewenst is om schijfspiegeling aan te zetten, kan er hier een vlag voor gespecificeerd worden. Deze opstelling biedt geen spiegeling voor ccd(4), dus is die op 0 (nul) ingesteld. | |
De laatste argumenten voor ccdconfig(8) zijn de apparaten die in de rij geplaatst dienen te worden. Voor elk apparaat dient de complete padnaam gebruikt te worden. |
Nadat ccdconfig(8) gedraaid is, is de ccd(4) ingesteld. Er kan een bestandssysteem worden geïnstalleerd. Er kan in newfs(8) worden gekeken voor opties, of het draaien van het onderstaande commando is ook toereikend:
newfs /dev/ccd0c
In het algemeen is het wenselijk om de ccd(4)
telkens te mouten wanneer er opnieuw opgestart wordt.
Dit dient eerst ingesteld te worden. Met het volgende
commando worden de huidige instellingen naar
/etc/ccd.conf
geschreven:
ccdconfig -g > /etc/ccd.conf
Tijdens het opstarten draait het script
/etc/rc
ccdconfig -C
indien /etc/ccd.conf
bestaat. Dit
stelt automatisch de ccd(4) in, zodat die kan worden
aangekoppeld.
Indien er in enkele-gebruiker-modus wordt opgestart, dient het volgende commando te worden uitgevoerd om de rij in te stellen voordat de ccd(4) aangekoppeld kan worden:
ccdconfig -C
Om de ccd(4) automatisch aan te koppelen, kan er
een regel voor de ccd(4) in
/etc/fstab
geplaatst worden, zodat die
tijdens het opstarten aangekoppeld wordt:
/dev/ccd0c /media ufs rw 2 2
De volumebeheerder Vinum is een blokstuurprogramma dat virtuele schijven implementeert. Het isoleert schijfhardware van de blokapparaat-interface en projecteert gegevens op een manier die de flexibiliteit, prestatie en betrouwbaarheid verhoogt in vergelijking met de traditionele slice-blik op schijfopslag. vinum(4) implementeert de modellen RAID-0, RAID-1 en RAID-5, zowel individueel als als combinatie.
FreeBSD ondersteunt ook een verscheidenheid aan hardwarematige RAID-stuurprogramma's. Deze apparaten besturen een RAID-deelsysteem zonder dat er FreeBSD-specifieke software nodig is om de rij te beheren.
Door gebruik te maken van een BIOS die op de kaart aanwezig is, beheert de kaart de meeste schijfbewerkingen zelf. Nu volgt een korte beschrijving van een opzet waarbij een Promise IDE-stuurprogramma is gebruikt. Wanneer deze kaart geïnstalleerd en het systeem opgestart is, beeldt het een prompt af waarbij om informatie wordt gevraagd. De instructies dienen opgevolgd te worden om bij het instelscherm van de kaart te komen. Van hieruit kunnen alle aangekoppelde schijven gecombineerd worden. Nadat dit gedaan is, zien de schijven er voor FreeBSD als één enkele schijf uit. Andere RAID-niveaus kunnen overeenkomstig ingesteld worden.
Met FreeBSD is het mogelijk om een defecte schijf in een rij te vervangen terwijl de computer aanstaat (“hot replace”). Hiervoor dient de schijf vóór het opnieuw opstarten vervangen te zijn.
Waarschijnlijk is zoiets als het volgende in
/var/log/messages
of in de uitvoer van
dmesg(8) te zien:
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
Meer informatie kan met behulp van atacontrol(8) gezocht worden:
#
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
Ontkoppel eerst het ata kanaal met de falende schijf zodat deze veilig kan worden verwijderd:
#
atacontrol detach ata3
Vervang de schijf.
Koppel het ata kanaal opnieuw aan:
#
atacontrol attach ata3
Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5 Slave: no device present
Voeg de nieuwe schijf toe aan de rij als reserve:
#
atacontrol addspare ar0 ad6
De rij dient nu opnieuw opgebouwd te worden:
#
atacontrol rebuild ar0
Het is mogelijk de voortgang te volgen met het volgende commando:
#
dmesg | tail -10
[uitvoer verwijderd] 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
Nu moet er gewacht worden tot de bewerking voltooid is.
Veel externe opslagoplossingen gebruiken tegenwoordig de Universele Seriële Bus (USB): harde schijven, USB-duimdrives, CD-R-branders, etc. FreeBSD biedt voor al dit soort apparaten ondersteuning.
Het stuurprogramma umass(4) biedt de ondersteuning
voor USB-opslagapparaten. Indien de kernel
GENERIC
wordt gebruikt, hoeft er niets aan
de instellingen gewijzigd te worden. Als er een eigen kernel
wordt gebruikt, dienen de volgende regels in het
kernelinstellingenbestand aanwezig zijn:
device scbus device da device pass device uhci device ohci device ehci device usb device umass
Het stuurprogramma umass(4) gebruikt het subsysteem
SCSI om toegang te krijgen tot de USB-opslagapparaten. Het
USB-apparaat wordt door het systeem als een SCSI-apparaat
gezien. Afhankelijk van de chipset op het moederbord is
slechts òf device uhci
òf
device ohci
nodig voor ondersteuning van USB 1.X.
Het kan echter geen kwaad om ze beiden in het kernelinstellingenbestand
te hebben. Ondersteuning voor USB 2.0 wordt geleverd door het
stuurprogramma ehci(4) (de regel met
device ehci
). Indien er regels zijn toegevoegd dient
de kernel opnieuw gecompileerd en geïnstalleerd te worden.
Indien het USB-apparaat een CD-R- of DVD-brander is, dient het SCSI CD-ROM-stuurprogramma cd(4) met de volgende regel aan de kernel toegevoegd te worden:
device cd
Aangezien de brander als een SCSI-schijf gezien wordt, dient het stuurprogramma atapicam(4) niet in de kernelinstellingen gebruikt te worden.
De instellingen zijn klaar om getest te worden: het USB-apparaat dient aangesloten te worden en in de buffer voor systeemmeldingen (dmesg(8)) dient het stuurprogramma ongeveer als volgt te verschijnen:
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)
Uiteraard kunnen het merk, de apparaatnode
(da0
) en andere details verschillen
naar gelang de instelling.
Aangezien het USB-apparaat als een SCSI-apparaat gezien
wordt, kan het commando camcontrol
gebruikt
worden om de USB-opslagapparaten weer te geven die aan het
systeem gekoppeld zijn:
#
camcontrol devlist
<Generic Traveling Disk 1.11> at scbus0 target 0 lun 0 (da0,pass0)
Indien er een bestandssysteem op de schijf aanwezig is, kan dat aangekoppeld worden. Paragraaf 19.3, “Schijven toevoegen” biedt indien nodig hulp bij het formatteren en aanmaken van partities op de USB-drive.
Door het toestaan dat gewone gebruikers verschillende
media kunnen koppelen door bijvoorbeeld het aanzetten van
vfs.usermount
zoals hieronder beschreven,
zou niet als veilig beschoud moeten worden uit een
beveiligings oogpunt. Veel bestandssystemen in FreeBSD zijn
niet geschreven om beveiliging te bieden tegen kwaadaardige
apparaten.
Om het apparaat koppelbaar te maken voor de gewone gebruiker
moeten er een aantal stappen ondernomen worden. Als eerste
moeten de apparaten die gecreeerd worden wanneer het USB opslag-
medium wordt toegevoegd toegankelijk zijn voor de gebruiker.
Een oplossing is om alle gebruikers die deze rechten nodig hebben
toe te voegen aan de operator
groep. Dit
kan gedaan worden met pw(8). Daarna moet het voor de
operator
groep mogelijk zijn te lezen en
te schrijven naar de gecreeerde apparaten. Dit kan bewerkstelligd
worden door de volgende regels toe te voegen aan
/etc/devfs.rules
:
[localrules=5] add path 'da*' mode 0660 group operator
Als er SCSI schijven in het systeem aanwezig zijn moet dit
anders aangepakt worden. Stel dat het systeem reeds over de
volgende schijven beschikt da0
tot
en met da2
, verander de regel dan
in het volgende:
add path 'da[3-9]*' mode 0660 group operator
Dit sluit de reeds bestaande schijven buiten van toegang door de operator groep.
Erna moet ook de nieuwe ruleset voor devfs.rules(5)
ingeschakeld worden door middel van
/etc/rc.conf
:
devfs_system_ruleset="localrules"
Hierna moet de kernel worden geconfigureerd zodat gewone
gebruikers rechten krijgen om bestandssystemen te koppelen.
De makkelijkste manier is door de volgende regel toe te voegen
aan /etc/sysctl.conf
:
vfs.usermount=1
Let op, deze wijziging wordt pas actief na de volgende start van het systeem. Als alternatief kan ook sysctl(8) gebruikt worden om deze variabele te zetten.
De laatste stap is het creëeren van de map waar het
bestandssysteem gekoppeld wordt. Deze map moet eigendom zijn
van de gebruiker die het bestandssysteem gaat koppelen. Een
manier om dat te bewerkstelligen is door met de gebruiker
root
een submap aan te maken die eigendom
is van de gebruiker als
/mntgebruikersnaam
(verander gebruikersnaam
door de
loginnaam van de daadwerkelijke gebruiker en
gebruikersgroep
door de primaire
groep van de gebruiker):
#
mkdir /mnt/gebruikersnaam
#
chown gebruikersnaam:gebruikersgroep /mnt/gebruikersnaam
Stel dat er vervolgens een USB-stick ingeplugged wordt en er
een /dev/da0s1
aangemaakt wordt. Omdat
deze apparaten meestal voorgeformatteerd met een
FAT-bestandssysteem komen, kan deze als volgende gekoppeld
worden:
%
mount -t msdosfs -o -m=644,-M=755 /dev/da0s1 /mnt/gebruikersnaam
Indien het apparaat losgekoppeld wordt (nadat de schijf afgekoppeld is), dient in de buffer voor systeemmeldingen iets als het volgende te zien te zijn:
umass0: at uhub0 port 1 (addr2) 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
Naast de onderdelen Schijven toevoegen en Bestandssystemen aan- en afkoppelen, kunnen de volgende hulppagina's ook nuttig zijn: umass(4), camcontrol(8) en usbconfig(8) voor FreeBSD 8.X of usbdevs(8) voor eerdere versies van FreeBSD.
CD's hebben een aantal eigenschappen waardoor ze verschillen van conventionele schijven. Initieel zijn ze door de gebruiker niet beschrijfbaar. Ze zijn zó ontworpen dat ze continu, zonder vertragingen van het verplaatsen van de kop tussen tracks, gelezen kunnen worden. Ze zijn ook veel gemakkelijker tussen twee systemen te verplaatsen dan gelijksoortige media in hun tijd waren.
CD's hebben tracks, maar die verwijzen naar secties van gegevens die continu gelezen dienen te worden en niet naar fysieke eigenschappen van de schijf. Om een CD op FreeBSD te produceren, dienen de gegevensbestanden waaruit de tracks op de CD gaan bestaan te worden voorbereid, waarna de tracks op de CD worden geschreven.
Het bestandssysteem ISO 9660 is ontworpen om met deze verschillen om te gaan. Helaas codeert het bestandssysteemgrenzen die destijds gebruikelijk waren. Gelukkig biedt het een uitbreidingsmechanisme dat correct geschreven CD's toestaat om deze grenzen te overschrijden en nog steeds te werken met systemen die deze uitbreidingen niet ondersteunen.
De port sysutils/cdrtools bevat mkisofs(8), een programma dat gebruikt kan worden om een gegevensbestand aan te maken dat een ISO 9660-bestandssysteem bevat. Het bevat opties die verschillende uitbreidingen ondersteunen en wordt hieronder beschreven.
Het gereedschap om de CD te branden hangt af van het feit
of de CD-brander ATAPI of iets anders is. ATAPI CD-branders
gebruiken het programma burncd
dat deel uitmaakt
van het basissysteem. SCSI en USB CD-branders dienen
cdrecord
van
de port sysutils/cdrtools
te gebruiken. Het is ook mogelijk om cdrecord
en andere
gereedschappen voor SCSI-drives op ATAPI-hardware te
gebruiken door middel van de module ATAPI/CAM.
Indien CD-brandsoftware met een grafische gebruikersinterface gewenst is, is X-CD-Roast of K3b een mogelijkheid. Deze gereedschappen zijn beschikbaar als package of vanuit de ports sysutils/xcdroast en sysutils/k3b. X-CD-Roast en K3b hebben de module ATAPI/CAM met ATAPI-hardware nodig.
Het programma mkisofs(8), dat deel uitmaakt van de port sysutils/cdrtools, maakt een ISO 9660-bestandssysteem aan dat een beeld is van een boomstructuur in de UNIX® bestandssysteem-namespace. De eenvoudigste gebruiksvorm is:
#
mkisofs -o beeldbestand.iso /pad/naar/boomstructuur
Dit commando maakt een
beeldbestand.iso
aan dat een ISO
9660-bestandssysteem bevat dat een kopie is van de
boomstructuur in
/pad/naar/boomstructuur
. Tijdens
het proces beeldt het bestandsnamen af op namen die aan de
beperkingen van het standaard ISO 9660-bestandssysteem voldoen
en sluit het bestanden uit die namen hebben die niet
karakteristiek zijn voor ISO-bestandssystemen.
Er is een aantal opties beschikbaar om over deze
beperkingen heen te komen. In het bijzonder zet
-R
de Rock Ridge-uitbreidingen aan die
gangbaar zijn voor UNIX® systemen, zet -J
de
Rock Ridge-uitbreidingen aan die gebruikt worden op
Microsoft-systemen en -hfs
kan gebruikt worden
om HFS-bestandssystemen aan te maken die door Mac OS® gebruikt
worden.
Voor CD's die alleen op FreeBSD-systemen gebruikt gaan worden,
kan -U
gebruikt worden om alle restricties op
bestandsnamen uit te zetten. Indien het met
-R
gebruikt wordt, maakt het een
bestandssysteembeeld aan dat identiek is aan de
FreeBSD-boomstructuur van waaruit begonnen is, alhoewel het
mogelijk is dat het zich op aantal manieren niet aan de
ISO 9660-standaard houdt.
De laatste optie voor algemeen gebruik is
-b
. Deze wordt gebruikt om de plaats van het
opstartbeeld aan te geven om een “El Torito”
opstartbare CD te maken. Deze optie heeft een argument nodig,
namelijk het pad naar een opstartbeeld dat het begin van de
boomstructuur die naar de CD geschreven wordt voorstelt.
Gewoonlijk maakt mkisofs(8) een ISO-beeld aan in de
zogenaamde “diskette-emulatie”-modus en verwacht
het dus dat het beeldbestand exact 1200, 1440 of 2880 KB
groot is. Sommige bootloaders, zoals degene die door de
distributieschijven van FreeBSD wordt gebruikt, gebruiken de
emulatiemodus niet. In dat geval dient de optie
-no-emul-boot
gebruikt te worden. Dus indien
/tmp/myboot
een opstartbaar FreeBSD-systeem
met het beeldbestand in
/tmp/myboot/boot/cdboot
bevat, kan het
beeld van een ISO 9660-bestandssysteem als volgt in
/tmp/bootable.iso
aangemaakt
worden:
#
mkisofs -R -no-emul-boot -b boot/cdboot -o /tmp/bootable.iso /tmp/myboot
Als dit gedaan is en md
in de
kernel is ingesteld, kan het bestandssysteem gekoppeld
worden:
#
mdconfig -a -t vnode -f /tmp/bootable.iso -u 0
#
mount -t cd9660 /dev/md0 /mnt
Nu kan gecontroleerd worden of /mnt
en
/tmp/myboot
identiek zijn.
Er zijn vele andere opties die met mkisofs(8) gebruikt kunnen worden om het gedrag af te stemmen. In het bijzonder wijzigingen aan een ISO 9660-structuur en het aanmaken van Joliet- en HFS-schijven. Details staan in mkisofs(8).
Indien er een ATAPI CD-brander aanwezig is, kan het
commando burncd
gebruikt worden om een
ISO-beeld naar een CD te branden. burncd
maakt deel uit van het basissysteem en is geïnstalleerd
als /usr/sbin/burncd
. Het gebruik is erg
eenvoudig, aangezien het weinig opties heeft.
#
burncd -f cd-apparaat gegevens beeldbestand.iso fixate
Het bovenstaande commando brandt een kopie van
beeldbestand.iso
naar
cd-apparaat
. Het standaardapparaat
is /dev/acd0
. Opties om
de schrijfsnelheid in te stellen, de CD na het branden uit
te werpen en geluidsgegevens te schrijven staan in
burncd(8).
Indien er geen ATAPI CD-brander aanwezig is, dient
cdrecord
gebruikt te worden om CD's te
branden. cdrecord
maakt geen deel uit van
het basissysteem. Het dient òfwel vanuit de port in
sysutils/cdrtools
òfwel als package geïnstalleerd te worden.
Veranderingen in het basissysteem kunnen ervoor zorgen dat
binaire versies van dit programma falen, wat mogelijk tot een
“coaster” leidt. Daarom dient òfwel de
port bijgewerkt te worden als het systeem wordt bijgewerkt,
òwel, als -STABLE gevolgd
wordt, dient de port bijgewerkt te worden wanneer er een nieuwe
versie beschikbaar komt.
Hoewel cdrecord
vele opties heeft, is
het gebruik voor gewone situaties nog eenvoudiger dan dat van
burncd
. Een ISO 9660-beeld kan gebrand
worden met:
#
cdrecord dev=device beeldbestand.iso
Het lastige gedeelte in het gebruik van
cdrecord
is het vinden van de juiste
dev
. Om de juiste instelling te vinden, kan
de vlag -scanbus
van
cdrecord
gebruikt worden, wat resultaten
zoals de onderstaande kan geven:
#
cdrecord -scanbus
Cdrecord-Clone 2.01 (i386-unknown-freebsd7.0) Copyright (C) 1995-2004 Jö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) *
Dit geeft de gepaste dev
-waarden voor de
apparaten in de lijst. De CD-brander dient gezocht te worden,
waarna de drie getallen gescheiden door komma's gebruikt kunnen
worden als de waarde voor dev
. In dit geval
is het CD-RW-apparaat 1,5,0, dus is de juiste invoer
dev=1,5,0
. Er zijn eenvoudigere manieren om
deze waarde te specificeren. In cdrecord(1) staan meer
details. Hier staat ook informatie over geluidstracks, de
snelheid instellen en meer.
Een audio-CD kan gedupliceerd worden door de geluidsgegevens van de CD naar een serie bestanden te schrijven en deze bestanden daarna naar een lege CD te schrijven. Het proces verschilt licht tussen ATAPI- en SCSI-drives.
Onttrek cdda2wav
de audio:
%
cdda2wav -vall -D2,0 -B -Owav
Schrijf met cdrecord
de
.wav
-bestanden:
%
cdrecord -v dev=2,0 -dao -useinfo *.wav
Controleer of 2,0
juist is
opgegeven, zoals beschreven in Paragraaf 19.6.4, “cdrecord”.
Met behulp van de ATAPI/CAM module kan
cdda2wav
ook gebruikt worden voor ATAPI-drives.
Dit gereedschap is vaak een betere keuze voor de meeste gebruikers
(jitter-correctie, endianness-zaken, etc.) dan de methode die
hieronder wordt voorgesteld.
Het ATAPI CD-stuurprogramma maakt elke track
beschikbaar als
/dev/acddtnn
,
waarin d
het stationsnummer is
en nn
het tracknummer is in twee
decimale cijfers, dat indien nodig vooraf wordt gegaan door
een nul. Dus is de eerste track op de eerste schijf
/dev/acd0t01
, de tweede
/dev/acd0t02
, de derde
/dev/acd0t03
, enzovoort.
Controleer of de juiste bestanden in
/dev
bestaan. Als de benodigde
namen er niet bijstaan, forceer het systeem dan om opnieuw
te kijken:
#
dd if=/dev/acd0 of=/dev/null count=1
De track kan met dd(1) onttrokken worden. Bij het onttrekken van de bestanden dient een specifieke blokgrootte gebruikt te worden.
#
dd if=/dev/acd0t01 of=track1.cdr bs=2352
#
dd if=/dev/acd0t02 of=track2.cdr bs=2352
...
Brand de onttrokken bestanden met
burncd
. Er dient opgegeven te worden
dat het geluidsbestanden zijn en dat
burncd
de schijf moet fixeren wanneer
na afronding van het proces.
#
burncd -f /dev/acd0 audio track1.cdr track2.cdr ... fixate
Een gegevens-CD kan gekopieerd worden naar een beeldbestand
dat functioneel gelijk is aan het beeldbestand dat met
mkisofs(8) gemaakt is en het kan gebruikt worden om elke
gegevens-CD te dupliceren. Het hier gegeven voorbeeld neemt
aan dat het CD-ROM-apparaat acd0
is.
#
dd if=/dev/acd0 of=bestand.iso bs=2048
Nu het beeld beschikbaar is, kan het naar CD geschreven worden zoals hierboven beschreven.
Nu er een standaard gegevens-CD-ROM is aangemaakt moet deze
waarschijnlijk aangekoppeld worden om de gegevens die er op
staan te lezen. Normaalgesproken neemt mount(8) aan dat
een bestandssysteem van het soort ufs
is.
Als zoiets als onderstaande geprobeerd wordt komt er een klacht
over Incorrect super block en wordt er
niet aangekoppeld:
#
mount /dev/cd0 /mnt
De CD-ROM bevat geen
UFS
-bestandssysteem, dus pogingen om zo aan
te koppelen mislukken. Er dient aan mount(8) verteld te
worden dat het bestandssysteem van het soort
ISO9660
is en dan werkt alles. Dit kan
door de optie -t cd9660
van mount(8) op
te geven. Het CD-ROM-apparaat /dev/cd0
onder /mnt
aankoppelen kan zo:
#
mount -t cd9660 /dev/cd0 /mnt
De apparaatnaam (in dit voorbeeld
/dev/cd0
) kan afwijken, afhankelijk van de
interface die de CD-ROM gebruikt. Verder voert de optie
-t cd9660
gewoon mount_cd9660(8) uit.
Bovenstaand voorbeeld kan verkort worden tot:
#
mount_cd9660 /dev/cd0 /mnt
Het is in het algemeen mogelijk om gegevens-CD-ROMs van
elke fabrikant op deze manier te gebruiken. Schijven met
bepaalde uitbreidingen op ISO 9660 kunnen zich echter vreemd
gedragen. Joliet-schijven bijvoorbeeld, slaan alle
bestandsnamen op in twee-byte Unicode-karakters. De
FreeBSD-kernel spreekt geen Unicode, maar het FreeBSD CD9660
stuurprogramma is in staat om Unicode karakters direct te
converteren. Als er niet-Engelse karakters verschijnen als
vraagtekens, moet de lokale karakterset gedefinieerd worden
met de -C
optie. Zie de mount_cd9660(8)
handleiding voor meer informatie.
Om in staat te zijn om de karakter conversie te doen met
behulp van de -C
optie, heeft de kernel de
cd9660_iconv.ko
module nodig. Deze kan
ingeladen worden door het volgende toe te voegen aan
/boot/loader.conf
:
cd9660_iconv_load="YES"
en daarna de machine te herstarten of door de module direct in te laden met kldload(8).
Zo nu en dan kan Device not configured verschijnen als geprobeerd wordt om een CD-ROM aan te koppelen. Dit betekent meestal dat het CD-ROM-station denkt dat er geen schijf in de lade ligt of dat het station niet zichtbaar is op de bus. Omdat het enkele seconden kan duren voordat een CD-ROM-station doorheeft dat er een CD-ROM in ligt, is geduld geboden.
Soms wordt een SCSI CD-ROM gemist omdat het station niet genoeg tijd had om antwoord te geven op de busreset. Indien er een SCSI CD-ROM aanwezig is, dient de volgende optie aan de kernelinstellingen toegevoegd te worden en de kernel opnieuw gebouwd te worden.
options SCSI_DELAY=15000
Dit zorgt ervoor dat de SCSI-bus 15 seconden pauzeert tijdens het opstarten opdat het CD-ROM-station elke gelegenheid krijgt om de busreset te beantwoorden.
Een bestand kan direct naar CD geschreven worden zonder een ISO 9660-bestandssysteem aan te maken. Sommige mensen doen dit voor back-updoeleinden. Dit gaat sneller dan een standaard-CD branden:
#
burncd -f /dev/acd1 -s 12 gegevens archief.tar.gz fixate
Om de gegevens terug te halen die op zo'n CD gebrand zijn, is het noodzakelijk om gegevens van de rauwe apparaatnode te lezen:
#
tar xzvf /dev/acd1
Het is niet mogelijk om deze schijf aan te koppelen zoals dat voor een normale CD-ROM gedaan wordt. Zo'n CD-ROM kan onder geen enkel besturingssysteem, behalve FreeBSD, gelezen worden. Om de CD aan te kunnen koppelen of gegevens te delen met een ander besturingssysteem, dient mkisofs(8) gebruikt te worden, zoals boven beschreven is.
Dit stuurprogramma stelt ATAPI-apparaten (CD-ROM, CD-RW, DVD-stations, enzovoort) in staat om vanuit het SCSI-subsysteem benaderd te worden en maakt daarmee het gebruik van applicaties zoals sysutils/cdrdao of cdrecord(1) mogelijk.
Om dit stuurprogramma te gebruiken, is het noodzakelijk om
de volgende regel aan het /boot/loader.conf
bestand toe te voegen:
atapicam_load="YES"
om daarna de machine opnieuw op te starten.
Als het noodzakelijk is om atapicam(4) statisch toe te voegen aan de kernel moet de volgende regel worden toegevoegd aan het kernelinstellingenbestand:
device atapicam
Ook zijn de volgende regels in het kernelinstellingenbestand nodig, die meestal wel aanwezig zijn:
device ata device scbus device cd device pass
Hierna dient de nieuwe kernel opnieuw gebouwd en geïnstalleerd te worden en dient de machine opnieuw gestart te worden.
Tijdens het opstartproces dient de brander als volgt te verschijnen:
acd0: CD-RW <MATSHITA CD-RW/DVD-ROM UJDA740> at ata1-master PIO4 cd0 at ata1 bus 0 target 0 lun 0 cd0: <MATSHITA CD-RW/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
Het station is nu toegankelijk via de apparaatnaam
/dev/cd0
. Om bijvoorbeeld een CD-ROM op
/mnt
aan te koppelen:
#
mount -t cd9660 /dev/cd0 /mnt
Als root
kan het volgende commando
gegeven worden om het SCSI-adres van de brander te
verkrijgen:
#
camcontrol devlist
<MATSHITA CD-RW/DVD UJDA740 1.00> at scbus1 target 0 lun 0 (pass0,cd0)
Dus 1,0,0
is het SCSI-adres dat met
cdrecord(1) en andere SCSI-toepassingen gebruikt dient te
worden.
Meer informatie over het ATAPI/CAM en het SCSI-systeem staat in de hulppagina's van atapicam(4) en cam(4).
Vergeleken met de CD behoort de DVD de tot de volgende generatie van optische media-opslagtechnologie. De DVD kan meer gegevens bevatten dan enige CD en is tegenwoordig de standaard voor videopublicatie.
Er kunnen vijf fysieke opneembare formaten gedefinieerd worden die opneembare DVD heten:
DVD-R: dit was het eerst beschikbare opneembare DVD-formaat. De DVD-R-standaard is gedefinieerd door het DVD Forum. Dit formaat is voor eenmalig schrijven.
DVD-RW: dit is de herschrijfbare versie van de DVD-R-standaard. Een DVD-RW kan tot ongeveer 1.000 maal herschreven worden.
DVD-RAM: dit is ook een herschrijfbaar formaat dat door het DVD Forum ondersteund wordt. Een DVD-RAM kan gezien worden als een verwisselbare harde schijf. Dit medium is echter niet uitwisselbaar met de meeste DVD-ROM-stations en DVD-Video-spelers. Slechts enkele DVD-schrijvers ondersteunen het DVD-RAM-formaat. Lees Paragraaf 19.7.9, “DVD-RAM gebruiken” voor meer informatie over het gebruik van DVD-RAM.
DVD+RW: dit is het herschrijfbare formaat dat is gedefinieerd door de DVD+RW Alliance. Een DVD+RW kan tot ongeveer 1.000 maal herschreven worden.
DVD+R: dit formaat is de eenmalig beschrijfbare versie van het DVD+RW-formaat.
Een enkellaags opneembare DVD kan maximaal 4.700.000.000 bytes bevatten, wat eigenlijk 4,38 GB of 4.485 MB is (1 kB is 1024 bytes).
Er dient onderscheid gemaakt te worden tussen het fysieke medium en de toepassing. Een DVD-Video bijvoorbeeld is een specifiek bestandsschema dat op elk fysiek opneembaar DVD-medium geschreven kan worden: DVD-R, DVD+R, DVD-RW, enzovoort. Voordat het mediumtype gekozen wordt, dient het zeker te zijn dat zowel de brander als de DVD-Video-speler (een onafhankelijke speler of een DVD-ROM-station in een computer) overweg kunnen met het overwogen medium.
Het programma growisofs(1) wordt gebruikt om DVD's op te nemen. Dit commando is deel van de dvd+rw-tools gereedschappen (sysutils/dvd+rw-tools). dvd+rw-tools ondersteunt alle types DVD-media.
Deze gereedschappen gebruiken het SCSI-subsysteem om toegang tot de apparaten te krijgen, daarvoor moet ondersteuning voor ATAPI/CAM aan de kernel toegevoegd worden. Indien de brander de USB-interface gebruikt, is deze toevoeging nutteloos en dient Paragraaf 19.5, “USB-opslagapparaten” gelezen te worden voor meer details over het instellen van USB-apparaten.
De DMA-toegang voor ATAPI-apparaten dient ook aangezet te
worden door de volgende regel aan het bestand
/boot/loader.conf
toe te voegen:
hw.ata.atapi_dma="1"
Voordat de dvd+rw-tools gebruikt kunnen worden, dienen de dvd+rw-tools' hardware compatibility notes geraadpleegd te worden voor enige informatie die betrekking heeft op de DVD-brander.
Indien een grafische gebruikersinterface gewenst is, is K3b (sysutils/k3b), die een gebruikersvriendelijke interface biedt voor growisofs(1) en vele andere brandprogramma's, het bekijken waard.
Het commando growisofs(1) is een frontend voor mkisofs. Het roept mkisofs(8) aan om het bestandssysteemoverzicht aan te maken en het schrijft naar de DVD. Hierdoor is het niet nodig om een beeld van de gegevens aan te maken voordat met branden begonnen wordt.
Om de gegevens uit de map /pad/naar/gegevens
op een DVD+R
of een DVD-R te branden:
#
growisofs -dvd-compat -Z /dev/cd0 -J -R /pad/naar/gegevens
De opties -J -R
worden doorgegeven aan
mkisofs(8) voor het aanmaken van het bestandssysteem (in
dit geval een ISO 9660-bestandssysteem met Joliet en Rock Ridge
uitbreidingen). Meer details staan in de hulppagina
mkisofs(8).
De optie -Z
wordt gebruikt voor het
opnemen van de eerste sessie, ook bij meerdere sessies. Het
DVD-apparaat, /dev/cd0
, dient aan de
hand van de instellingen aangepast te worden. De parameter
-dvd-compat
sluit de schijf zodat er niets aan
de opname toegevoegd kan worden. Dit zou als tegenprestatie
betere uitwisselbaarheid met DVD-ROM-stations moeten
geven.
Het is ook mogelijk om een vooraf gemastered beeld te
branden, om bijvoorbeeld het beeld
beeldbestand.iso
te branden:
#
growisofs -dvd-compat -Z /dev/cd0=beeldbestand.iso
De schrijfsnelheid moet automatisch gedetecteerd en
ingesteld worden, afhankelijk van het medium en het gebruikte
station. Om de schrijfsnelheid te forceren, dient de parameter
-speed=
gebruikt te worden. Meer informatie
staat in de hulppagina growisofs(1).
Om bestanden groter dan 4,38GB in de compilatie op te nemen dient
een UDF/ISO-9660 hybride bestandssysteem aangemaakt te worden door de
aanvullende parameter -udf -iso-level 3
aan
mkisofs(8) en alle gerelateerde programma's (i.e.,
growisofs(1)) door te geven. Dit is alleen nodig als een ISO
beeldbestand wordt aangemaakt, of als bestanden direct naar een schijf
worden geschreven. Schijven die op deze manier zijn aangemaakt moeten
als een UDF-bestandssysteem worden aangekoppeld met het hulpmiddel
mount_udf(8), zodat het alleen bruikbaar is op een
besturingssysteem dat zich van UDF bewust is, anders zal het lijken of
er corrupte bestanden op staan.
Om zo'n ISO-bestand aan te maken:
%
mkisofs -R -J -udf -iso-level 3 -o beeldbestand.iso /pad/naar/gegevens
Om de bestanden direct naar een schijf te schrijven:
#
growisofs -dvd-compat -udf -iso-level 3 -Z /dev/cd0 -J -R /pad/naar/gegevens
Wanneer u een ISO-beeld heeft dat al grote bestanden bevat, zijn er geen extra opties nodig om met growisofs(1) het beeld naar een schijf te schrijven.
Zorg er ook voor dat u een actuele versie van sysutils/cdrtools heeft (welke mkisofs(8) bevat), aangezien oudere versies geen ondersteuning voor grote bestanden bieden. Als u problemen tegenkomt, gebruik dan de ontwikkelversie, sysutils/cdrtools-devel en lees de handleidingpagina mkisofs(8).
Een DVD-Video is een specifiek bestandsschema dat gebaseerd is op de ISO 9660 en de micro-UDF (M-UDF) specificaties. DVD-Video heeft ook een specifieke hiërarchie voor de gegevensstructuur, de reden waarom een speciaal programma zoals multimedia/dvdauthor nodig is om de DVD te schrijven.
Indien er reeds een beeld van het bestandssysteem van de
DVD-Video beschikbaar is, kan het zoals elk ander beeld gebrand
worden. In de vorige sectie staat een voorbeeld. Als het
resultaat voor de inhoud voor de DVD bijvoorbeeld in de map
/pad/naar/video
staat,
kan de DVD-Video als volgt gebrand worden:
#
growisofs -Z /dev/cd0 -dvd-video /pad/naar/video
De optie -dvd-video
wordt doorgegeven aan
mkisofs(8) en geeft het opdracht om een
bestandssysteemschema voor een DVD-Video aan te maken. Verder
impliceert de optie -dvd-video
de optie
-dvd-compat
van growisofs(1).
In tegenstelling tot een CD-RW dient een nieuwe DVD+RW voor
het eerste gebruik geformatteerd te worden. Het programma
growisofs(1) regelt dit automatisch als nodig. Dit is de
aanbevolen manier. Het is ook mogelijk om
dvd+rw-format
te gebruiken om een DVD+RW te
formatteren:
#
dvd+rw-format /dev/cd0
Deze operatie hoeft slechts één maal uitgevoerd te worden. Onthoud dat alleen nieuwe DVD+RW-media geformatteerd dienen te worden. Daarna is het mogelijk om de DVD+RW op dezelfde manier te branden zoals in bovenstaande secties staat vermeldt.
Om nieuwe gegevens op een DVD+RW te branden (een geheel nieuw bestandssysteem branden, niet wat gegevens toevoegen), is het niet nodig om deze te wissen. Het is voldoende om de vorige opname te overschrijven (tijdens het aanmaken van een initiële sessie), zoals hieronder:
#
growisofs -Z /dev/cd0 -J -R /pad/naar/nieuwe gegevens
Het DVD+RW-formaat biedt de mogelijkheid om eenvoudig nieuwe gegevens aan een vorige opname toe te voegen. De operatie bestaat uit het samenvoegen van een nieuwe sessie en de bestaande. Het is geen multisessie-schrijven. growisofs(1) laat het ISO 9660-bestandssysteem dat aanwezig is op het medium groeien.
Om gegevens aan de vorige DVD+RW toe te voegen:
#
growisofs -M /dev/cd0 -J -R /pad/naar/volgende gegevens
Dezelfde opties van mkisofs(8) die gebruikt werden om de initiële sessie te branden, dienen gebruikt te worden tijdens schrijfsessies.
De optie -dvd-compat
kan gebruikt worden
als betere uitwisselbaarheid met DVD-ROM-stations gewenst is.
In het geval van een DVD+RW verhindert dit het toevoegen van
gegevens niet.
Om het medium te wissen:
#
growisofs -Z /dev/cd0=/dev/zero
Een DVD-RW accepteert twee schijfformaten: de incrementele sequentiële en beperkt overschrijven. Standaard zijn DVD-RW-schijven in het sequentiële formaat.
Een nieuwe DVD-RW kan direct beschreven worden zonder deze te formatteren. Een gebruikte DVD-RW in sequentieel formaat dient echter gewist te worden voordat het mogelijk is om een nieuwe initiële sessie te schrijven.
Om een DVD-RW in sequentiële toestand te wissen, dient het volgende gedaan te worden:
#
dvd+rw-format -blank=full /dev/cd0
Volledig wissen (-blank=full
) neemt
ongeveer één uur in beslag op een 1x-medium.
Het is mogelijk om snel te wissen door gebruik te maken van
de optie blank
als de DVD-RW in
Disk-At-Once-modus (DAO) wordt opgenomen. Om de DVD-RW in
DAO-modus te branden:
#
growisofs -use-the-force-luke=dao -Z /dev/cd0=beeldbestand.iso
De optie -use-the-force-luke=dao
is niet
nodig aangezien growisofs(1) probeert om minimale (snel
gewiste) media te detecteren en gebruik te maken van
DAO-schrijven.
Eigenlijk moet beperkt overschrijven gebruikt worden met elke DVD-RW. Dit formaat is flexibeler dan het standaard incrementeel sequentiële.
Om gegevens op een sequentiële DVD-RW te schrijven, worden dezelfde instructies gebruikt als voor de andere DVD-formaten:
#
growisofs -Z /dev/cd0 -J -R /pad/naar/gegevens
Om wat gegevens aan de vorige opname toe te voegen, dient
de optie -M
van growisofs(1) gebruikt te
worden. Als echter gegevens aan een DVD-RW in incrementeel
sequentiële modus worden toegevoegd, wordt een nieuwe
sessie op de schijf aangemaakt wat resulteert in een
multisessie schijf.
Een DVD-RW in het beperkt overschrijven formaat hoeft niet
gewist te worden vóór een nieuwe initiële
sessie. Het is voldoende om de schijf te overschrijven met de
optie -Z
, wat analoog is aan het geval van de
DVD+RW. Het is ook mogelijk om een bestaand ISO
9660-bestandssysteem te laten groeien op soortgelijke wijze als
voor een DVD+RW met de optie -M
. Het
resultaat is een enkelsessie DVD.
Om een DVD-RW in het beperkt overschrijven-formaat te zetten:
#
dvd+rw-format /dev/cd0
Om terug te gaan naar het sequentiële formaat:
#
dvd+rw-format -blank=full /dev/cd0
Multisessie DVD's worden door zeer weinig DVD-ROM-stations geaccepteerd en meestal lezen ze hopelijk tenminste de eerste sessie. DVD+R, DVD-R en DVD-RW kunnen in het sequentiële formaat meerdere sessies accepteren. Het idee van meerdere sessies bestaat niet voor de formaten DVD+RW en DVD-RW in beperkt overschrijven.
Om een nieuwe sessie achter een initiële (niet-gesloten) sessie op een DVD+R, DVD-R of DVD-RW in sequentieel formaat toe te voegen:
#
growisofs -M /dev/cd0 -J -R /pad/naar/volgende gegevens
Het gebruik van dit commando met een DVD+RW of een DVD-RW in beperkt overschrijven-formaat voegt gegevens toe door de nieuwe sessie samen te voegen met de bestaande. Dit leidt tot een enkelsessie schijf. Deze manier kan gebruikt worden om gegevens achter een initiële sessie aan deze media toe te voegen.
Op deze media wordt wat ruimte gebruikt tussen elke sessie om het einde en begin van de sessies aan te geven. Daarom dienen sessies met grote hoeveelheden gegevens toegevoegd te worden om de mediaruimte te optimaliseren. Het aantal sessies is beperkt tot 154 voor een DVD+R, ongeveer 2000 voor een DVD-R en 127 voor een dubbellaags DVD+R.
Om meer informatie over een DVD te verkrijgen kan het
commando
dvd+rw-mediainfo /dev/cd0
met de schijf in het station gebruikt worden.
Meer informatie over dvd+rw-tools staat in de hulppagina growisofs(1), op de dvd+rw-tools website en in de archieven van de cdwrite mailing list.
De uitvoer van dvd+rw-mediainfo
met
betrekking tot de resulterende opname of het medium met
problemen is verplicht voor elk probleemrapport. Zonder deze
uitvoer volgt geen hulp.
DVD-RAM schrijvers komen met of een SCSI of een ATAPI
interface. DMA toegang voor ATAPI apparaten moet worden
ingeschakeld, wat gedaan kan worden door de volgende regel
toe te voegen aan
/boot/loader.conf
:
hw.ata.atapi_dma="1"
Zoals vermeld in de introductie van dit hoofdstuk kan DVD-RAM gezien worden als een verwijderbare harde schijf. Zoals elke andere harde schijf moet de DVD-RAM “voorbereid” worden voor het eerste gebruik. In het voorbeeld wordt alle beschikbare ruimte gebruikt voor een standaard UFS2 bestandssysteem:
#
dd if=/dev/zero of=/dev/acd0 bs=2k count=1
#
bsdlabel -Bw acd0
#
newfs /dev/acd0
Het DVD apparaat, acd0
moet worden
gewijzigd naar gelang de configuratie.
Soms is het opslaan van gegevens op een diskette nuttig, bijvoorbeeld als er geen andere verwijderbare opslagmedia beschikbaar zijn of als kleine hoeveelheden gegevens naar een andere computer moeten worden overgedragen.
In deze sectie wordt beschreven hoe diskettes in FreeBSD gebruikt dienen te worden. Hier worden hoofdzakelijk het formatteren en gebruik van 3,5 inch DOS-diskettes behandeld, maar de concepten zijn vergelijkbaar voor andere disketteformaten.
Diskettes worden benaderd door ingangen in
/dev
net zoals andere apparaten. Om
een rauwe floppy te benaderen gebruikt u
/dev/fdN
.
Een diskette dient op laag niveau geformatteerd te worden voordat deze kan worden gebruikt. Dit wordt meestal door de fabrikant gedaan, maar formatteren is een goede manier om de integriteit van het medium te controleren. Hoewel het mogelijk is om grotere (of kleinere) schijfgroottes te forceren, zijn de meeste diskettes ontworpen voor 1440kB.
Een diskette kan op laag niveau geformatteerd worden met fdformat(1). Dit gereedschap verwacht de apparaatnaam als parameter.
Op basis van eventuele foutmeldingen kan bepaald worden of een schijf goed of slecht is.
Nadat de diskette op laag niveau is geformatteerd, dient er schijflabel aan gekoppeld te worden. Dit schijflabel wordt later vernietigd, maar het systeem heeft het nodig om later de grootte en de geometrie van de schijf te bepalen.
Het nieuwe schijflabel neemt de gehele schijf over en bevat
alle benodigde informatie over de geometrie van de diskette.
De geometriewaarden van het schijflabel staan vermeld in
/etc/disktab
.
Nu kan bsdlabel(8) als volgt gedraaid worden:
#
/sbin/bsdlabel -B -w /dev/fd0 fd1440
Nu is de diskette klaar om op hoog niveau geformatteerd te worden. Hiermee wordt een nieuw bestandssysteem opgezet, wat FreeBSD in staat stelt om naar de schijf te lezen en te schrijven. Nadat het nieuwe bestandssysteem is aangemaakt, wordt het schijflabel vernietigd, dus om de schijf te herformatteren is het noodzakelijk om het schijflabel opnieuw aan te maken.
Het bestandssysteem voor diskettes kan zowel UFS als FAT zijn. FAT is over het algemeen een betere keuze voor diskettes.
Om een nieuw bestandssysteem op de diskettes te zetten:
#
/sbin/newfs_msdos /dev/fd0
De schijf is nu klaar voor gebruik.
Om de diskette te gebruiken kan mount_msdosfs(8) gebruikt worden om het medium aan te koppelen. Ook kan emulators/mtools uit de Portscollectie worden gebruikt.
Bandtechnologie is zich blijven ontwikkelen maar het is minder waarschijnlijk dat het in moderne systemen wordt gebruikt. Moderne back-upsystemen neigen om offsite gecombineerd met technologieën voor plaatselijke verwisselbare schijfstations te gebruiken. FreeBSD zal nog steeds elk bandstation dat SCSI gebruikt zoals LTO en oudere apparaten zoals DAT ondersteunen. Er is ook beperkte ondersteuning voor SATA- en USB-bandstations.
FreeBSD gebruikt het stuurprogramma sa(4), dat
/dev/sa0
,
/dev/nsa0
en
/dev/esa0
aanbiedt. Voor normaal gebruik is
alleen /dev/sa0
nodig.
/dev/nsa0
is fysiek hetzelfde apparaat als
/dev/sa0
maar spoelt de band niet terug nadat
een bestand is geschreven. Dit maakt het mogelijk om meer dan één
bestand naar een band te schrijven. /dev/esa0
werpt, indien van toepassing, de band uit nadat het apparaat is
gesloten.
mt(1) is het hulpmiddel van FreeBSD om andere bewerkingen op het bandstation uit te voeren, zoals bestanden op een band doorzoeken of controlepunten naar de band schrijven.
Als voorbeeld kunnen de eerste drie bestanden op een band bewaard worden door ze over te slaan voordat een nieuw bestand wordt geschreven:
#
mt -f /dev/nsa0 fsf 3
tar(1) gebruiken om een enkel bestand naar band te schrijven:
#
tar cvf /dev/sa0 bestand
Bestanden vanuit een tar(1)-archief op band naar de huidige map herstellen:
#
tar xvf /dev/sa0
Een eenvoudige back-up van /usr
maken met dump(8):
#
dump -0aL -b64 -f /dev/nsa0 /usr
Interactief bestanden van een dump(8)-bestand vanaf band naar de huidige map herstellen:
#
restore -i -f /dev/nsa0
Er zijn programma's op hoger niveau beschikbaar om het back-uppen naar banden eenvoudiger te maken. De populairste zijn AMANDA en Bacula. Deze programma's hebben als doel om back-uppen eenvoudiger en aangenamer te maken, of om complexe back-ups van meerdere machines te automatiseren. De Portscollectie bevat deze beide en andere toepassingen om met banden te werken.
Diskettes zijn niet bepaald een geschikt medium om back-ups mee te maken, omdat:
Het medium onbetrouwbaar is, in het bijzonder op de langere termijn;
Het back-uppen en terugzetten erg traag is;
Diskettes een zeer beperkte capaciteit hebben. De tijden dat een hele harde schijf naar een tiental diskettes kon worden geback-upped zijn allang verstreken.
Maar als er geen andere manier beschikbaar is om de gegevens te back-uppen, is een back-up naar diskettes beter dan helemaal geen back-up.
Gebruikte diskettes moet van goede kwaliteit zijn. Diskettes die al jaren op kantoor rondgeslingerd hebben, zijn een slechte keuze. In het ideale geval dienen nieuwe diskettes van een reputabele fabrikant gebruikt te worden.
Het beste kan naar diskettes worden geback-upped door
gebruik te maken van tar(1) met de optie
-M
(meerdere volumes), die back-ups over
meerdere diskettes ondersteunt.
Om alle bestanden in de huidige map en de submappen te
back-uppen (als root
):
#
tar Mcvf /dev/fd0 *
Als de eerste diskette vol is, vraagt tar(1) om het volgende volume. Omdat tar(1) media-onafhankelijk is, refereert het aan volumes, in deze context diskettes.
Prepare volume #2 for /dev/fd0 and hit return:
Dit wordt herhaald (met oplopend volumenummer) totdat alle gespecificeerde bestanden zijn geback-upped.
Helaas staat tar(1) het gebruik van de optie
-z
niet toe voor archieven over meerdere
volumes. Het is uiteraard mogelijk om alle bestanden met
gzip(1) te comprimeren, ze met tar(1) op diskettes te
zetten en ze daarna met gunzip(1) weer te
decomprimeren!
Om een volledige archief terug te zetten:
#
tar Mxvf /dev/fd0
Er zijn twee manieren om alleen specifieke bestanden terug te zetten. Ten eerste kan met de eerste diskette begonnen worden:
#
tar Mxvf /dev/fd0 bestandsnaam
Het programma tar(1) vraagt om de vervolgdiskettes totdat het benodigde bestand is gevonden.
Als alternatief kan, als bekend is op welke diskette het bestand staat, de betreffende diskette worden ingestoken en bovenstaand commando gebruikt worden. Als het eerste bestand op de diskette een vervolg is van de vorige diskette, waarschuwt tar(1) dat het bestand niet teruggezet kan worden, zelfs als hier niet om gevraagd is!
Het eerste wat nodig is voor het ontwepken van een back-upplan, is er voor te zorgen dat de volgende mogelijke problemen worden ondervangen:
Schijffalen
Per ongeluk verwijderde bestanden
Willekeurige bestandscorruptie
Complete machinevernietiging (door bijvoorbeeld brand), inclusief de vernietiging van lokaal beschikbare back-ups.
Het is goed mogelijk dat een aantal systemen het best geholpen zijn door voor al deze problemen een andere techniek te gebruiken. Behalve voor volledig persoonlijke systemen met niet echt belangrijke gegevens, is het zelfs onwaarschijnlijk dat één techniek alle mogelijke problemen kan afvangen.
Een aantal technieken in de gereedschapskist zijn:
Archiveren van een heel systeem op een back-up die niet lokaal wordt bewaard. Dit biedt bescherming tegen alle hierboven beschreven problemen, maar het is langzaam en onhandig om er een restore van te maken. Het is mogelijk om lokaal een kopie aan te houden en/of online, maar dan zijn er nog steeds onhandigheden, in het bijzonder voor restores voor gebruikers met beperkte rechten.
Snapshots van bestandssystemen. Dit werkt eigenlijk alleen in het geval bestanden per ongelijk verwijderd worden, maar het kan in dat geval erg handig zijn en het werkt snel en eenvoudig.
Een kopie maken van hele bestandssystemen en/of schijven (bijvoorbeeld een periodieke rsync(1) van een hele machine). Dit is in het algemeen het meest bruikbaar in netwerken met specifieke eisen. Voor algemene bescherming tegen het falen van een schijf, is het meestal minder geschikt dan RAID. Voor het herstellen van per ongeluk verwijderde bestanden is het vergelijkbaar aan UFS snapshots, maar dat hangt af van persoonlijke voorkeuren.
RAID. Minimaliseert of voorkomt downtijd als een schijf faalt. Dit ten koste van het vaker hebben van schijven die falen (omdat er meer van zijn), maar wel met een veel lagere urgentie.
Controleren van fingerprints van bestanden. Het hulpprogramma mtree(8) kan hier bij helpen. Hoewel dit geen back-uptechniek is, zorgt het er wel voor dat kan worden opgemerkt wanneer back-ups geraadpleegd moeten worden. Dit is in het bijzonder belangrijk voor offline back-ups en de fingerprints horen periodiek gecontroleerd te worden.
Het is makkelijk om met nog meer technieken op de proppen te komen, waaronder veel variaties op de bovengenoemde. Bijzondere eisen leiden vaak tot bijzondere oplossingen. Het back-uppen van een draaiende database vereist bijvoorbeeld een methode die toegespitst is op de gebruikte database software als tussenstap. Het is van groot belang om te onderkennen tegen welke gevaren er bescherming dient te zijn en hoe daarmee om te gaan.
De drie grote back-upprogramma's zijn dump(8), tar(1) en cpio(1).
De traditionele back-upprogramma's voor UNIX® zijn
dump
en restore
. Deze
zien het station als een verzameling van schijfblokken, onder
de abstracties van bestanden, koppelingen en mappen die door de
bestandssystemen worden aangemaakt. In tegenstelling tot andere
back-upprogramma's, verzorgt dump
een
back-up van een compleet bestandssysteem op een apparaat. Het
is niet in staat om slechts een gedeelte van een bestandssysteem
of een mapstructuur die meer dan één
bestandssysteem in beslag neemt te back-uppen. Het commando
dump
schrijft geen bestanden en
mappen naar band, maar de rauwe gegevensblokken waaruit de
bestanden en mappen bestaan. Wanneer het gebruikt wordt om
gegevens te extraheren, slaat restore
tijdelijke bestanden standaard op in /tmp/
— als u werkt vanaf een herstelschijf met een kleine map
/tmp
, moet u wellicht de
omgevingsvariabele TMPDIR
op een map met meer
vrije ruimte instellen zodat de restore kan slagen.
Indien dump
op een hoofdmap wordt
gebruikt, wordt er geen back-up gemaakt van /home
, /usr
of van de vele andere
mappen, aangezien dit typisch koppelpunten voor andere
bestandssystemen of symbolische koppelingen binnen deze
bestandssystemen zijn.
dump
bevat eigenaardigheden die uit de
begintijd in Versie 6 van AT&T UNIX® (circa 1975) zijn
overgebleven. De standaardparameters zijn geschikt voor banden
met 9 sporen (6.250 bpi), niet voor de media met hoge dichtheid
die vandaag beschikbaar zijn (tot 62.182 ftpi). Deze
standaardwaarden dienen op de opdrachtregel overschreven te
worden om de capaciteit van de huidige bandstations te
benutten.
Het is ook mogelijk om gegevens met
rdump
en rrestore
over
een netwerk naar een bandstation dat aan een andere computer
gekoppeld is te back-uppen. Beide programma's maken gebruik
van rcmd(3) en ruserok(3) om toegang tot het
bandstation op afstand te krijgen. De gebruiker die de back-up
uitvoert moet vermeld staat in het bestand
.rhosts
op de computer op afstand. De
argumenten die aan rdump
en
rrestore
gegeven worden dienen geschikt te
zijn voor gebruik op de computer op afstand. Als
rdump
gebruikt wordt om een dump te maken
van een FreeBSD computer naar een Exabyte-bandstation dat
met een Sun-computer genaamd komodo
verbonden
is:
#
/sbin/rdump 0dsbfu 54000 13000 126 komodo:/dev/nsa8 /dev/da0a 2>&1
Let op: er kleven veiligheidsbezwaren aan het toestaan van
authenticatie met .rhosts
. De situatie
dient goed geëvalueerd te worden.
Het is ook mogelijk om dump
en
restore
op een veiligere manier via
ssh
te gebruiken.
dump
via
ssh#
/sbin/dump -0uan -f - /usr | gzip -2 | ssh -c blowfish \ doelgebruiker@doelmachine.example.com dd of=/mijngrotebestanden/dump-usr-10.gz
Ook kan de ingebouwde manier van dump
gebruikt worden, door de omgevingsvariabele RSH
in te stellen:
dump
via
ssh met ingestelde
RSH
#
env RSH=/usr/bin/ssh /sbin/dump -0uan -f doelgebruiker@doelmachine.example.com:/dev/sa0 /usr
tar(1) stamt ook uit de tijd van Versie 6 van AT&T
UNIX® (circa 1975). Het werkt samen met het bestandssysteem.
tar
schrijft bestanden en mappen naar band
en ondersteunt niet het volledige scala aan opties dat
beschikbaar is met cpio(1), maar tar
heeft niet de ongebruikelijke opdrachtpijplijn nodig die
cpio
gebruikt.
Om tar
toe te passen op een Exabyte-bandstation
die met een Sun genaamd komodo
verbonden
is:
#
tar cf - . | rsh komodo dd of=tape-device obs=20b
Indien de veiligheid van back-uppen over een netwerk een
punt is, dient gebruik te worden gemaakt van het commando
ssh
en niet van
rsh
.
cpio(1) is het originele UNIX® bandprogramma voor
magnetische media om bestanden uit te wisselen.
cpio
heeft opties (naast vele anderen) om
byte-swapping uit te voeren, een aantal verschillende
archiefformaten te schrijven en de gegevens over een pijplijn
naar andere programma's te voeren. Deze laatste optie maakt
cpio
een uitstekende keuze voor
installatiemedia. cpio
weet niet hoe het
door een mapstructuur moet lopen. Er dient een lijst met
bestanden door stdin
aangeleverd te
worden.
cpio
biedt geen ondersteuning voor
back-ups over het netwerk. Er kan gebruik worden gemaakt van
een pijplijn en rsh
om de gegevens naar een
banddrive op afstand te sturen.
#
for f in maplijst; do
find $f >> back-up.lijst
done
#
cpio -v -o --format=newc < back-up.lijst | ssh gebruiker@host "cat > back-upapparaat"
Hier is maplijst
een lijst van
de mappen waarvan een back-up gemaakt dient te worden,
gebruiker
@host
de gebruiker/hostnaam-combinatie die de back-ups uitvoert, en
back-upapparaat
het apparaat waar de
back-ups naar toe geschreven te worden (bijvoorbeeld
/dev/nsa0
).
pax(1) is het antwoord van IEEE en POSIX® op
tar
en cpio
. In de loop
der jaren zijn de verscheidene versies van
tar
en cpio
licht
incompatibel geworden. Dus in plaats van dit uit te vechten en
ze volledig te standaardiseren, heeft POSIX® een nieuw
archiveringsprogramma gemaakt. pax
poogt om
veel van de verscheidene formaten van cpio
en tar
te lezen en te schrijven, met daarbij
nog nieuwe, eigen formaten. De commandoverzameling lijkt meer
op die van cpio
dan op die van
tar
.
Amanda (Advanced Maryland Network Disk Archiver) is een client/server-back-upsysteem, in plaats van een enkel programma. Een Amanda server back-upt elk aantal computers dat een Amanda client en een netwerkverbinding met de Amanda server heeft naar een enkel bandstation. Een veelvoorkomend probleem bij bedrijven met een groot aantal schijven is dat de tijd die nodig is om de gegevens direct naar band te back-uppen langer is dan de tijd die voor de taak gereserveerd is. Amanda lost dit probleem op. Amanda kan gebruik maken van een “tussenschijf” om verschillende bestandssystemen tegelijkertijd te back-uppen. Amanda maakt “archiefverzamelingen” aan, een groep banden die gedurende een tijd gebruikt wordt om volledige back-ups te maken van alle bestandssystemen die in het instellingenbestand van Amanda vermeld staan. De “archiefverzameling” bevat ook incrementele (of differentiële) back-ups van alle bestandssystemen. Voor het herstellen van een beschadigd bestandssysteem zijn de meest recente volledige back-up en de incrementele back-ups nodig.
Het instellingenbestand biedt verfijnde controle over de back-ups en het netwerkverkeer door Amanda. Amanda kan elk bovenstaand back-upprogramma gebruiken om de gegevens naar de band te schijven. Amanda is òf als port òf als package beschikbaar.
“Nietsdoen” is geen computerprogramma, maar de de meest gebruikte back-upstrategie. Er zijn geen initiële kosten. Er is geen back-upschema om te volgen. Zeg gewoon nee. Als er iets met gegevens gebeurt, lach erom en leef ermee!
Als tijd en gegevens weinig tot niets waard zijn, is “Nietsdoen” het meest geschikte back-upprogramma. Maar wees bedacht, UNIX® is een nuttig stuk gereedschap en er is zo maar binnen zes maanden een verzameling bestanden die wèl van waarde is.
“Nietsdoen” is de juiste back-upmethode voor
/usr/obj
en andere mapstructuren die zo
opnieuw aangemaakt kunnen worden. Een voorbeeld zijn de
bestanden waaruit de HTML- of PostScript® versie van dit
Handboek bestaan. Deze documentformaten zijn vanuit
XML-invoerbestanden aangemaakt. Het back-uppen van de HTML-
of PostScript® bestanden is niet nodig. Van de XML-bestanden
dient regelmatig een back-up gemaakt te worden.
dump(8). Punt uit.. Elizabeth
D. Zwicky heeft stresstesten op alle hierboven besproken
back-upprogramma's uitgevoerd. De heldere keuze voor het
behouden van alle gegevens en alle eigenaardigheden van UNIX®
bestandssystemen is dump
. Elizabeth heeft
bestandssystemen aangemaakt met een grote verscheidenheid aan
ongewone omstandigheden (en enkele minder ongebruikelijke) en
heeft elk programma getest door een back-up van die
bestandssystemen uit te voeren en ze te herstellen. De
eigenaardigheden omvatten bestanden met gaten, bestanden met
gaten en een blok nullen, bestanden met vreemde tekens in hun
namen, onleesbare en onschrijfbare bestanden, apparaten,
bestanden waarvan de grootte verandert tijdens het back-uppen,
bestanden die aangemaakt/verwijderd worden tijdens het
back-uppen en meer. Ze presenteerde de resultaten op LISA V in
oktober 1991. Zie torture-testing
Backup and Archive Programs.
Er zijn slechts vier stappen om te volgen bij het voorbereiden op elke ramp die voor kan komen.
Het schijflabel van elke schijf dient afgedrukt te worden
(bijvoorbeeld met bsdlabel da0 | lpr
), de
bestandssysteemtabel (/etc/fstab
) en
alle opstartboodschappen, alles in tweevoud.
Ten tweede dient een “livefs” CD-ROM gebrandt te
worden. Deze CD-ROM biedt ondersteuning voor het opstarten in een
FreeBSD “livefs” reddingsmodus die gebruiker in staat stelt
om vele taken uit te voeren zoals het draaien van dump(8),
restore(8), fdisk(8), bsdlabel(8), newfs(8) en
meer. Een livefs CD-beeld voor
FreeBSD/i386 10.3-RELEASE is beschikbaar op ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/ISO-IMAGES/10.3/FreeBSD-10.3-RELEASE-i386-livefs.iso
.
Livefs CD-beelden zijn niet beschikbaar voor
FreeBSD 11.0-RELEASE en nieuwer. Naast de beelden voor
CDROM-installaties kunnen ook beelden voor flash-drive-installaties
gebruikt worden om een systeem te redden. Het
“memstick”-beelden voor
FreeBSD/i386 11.0-RELEASE is beschikbaar op ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/i386/ISO-IMAGES/11.0/FreeBSD-11.0-RELEASE-i386-memstick.img
.
Ten derde dienen regelmatig back-upbanden aangemaakt te worden. Alle veranderingen die na de laatste back-up zijn gemaakt kunnen onherroepelijk verloren zijn gegaan. De back-upbanden dienen beveiligd te worden tegen overschrijven.
Ten vierde dienen de “livefs” CD-ROM die in stap twee
gemaakt is en de back-upbanden getest te worden. Van de handelingen
dienen aantekeningen gemaakt te worden. De aantekeningen, de
CD-ROM, de afdrukken en de back-upbanden dienen
gezamenlijk bewaard te worden. Tijdens het herstellen kunnen
de notities ervoor zorgen dat de back-upbanden vernietigd
worden. Hoe? In plaats van tar xvf
/dev/sa0
kan per ongeluk tar cvf
/dev/sa0
worden ingetypt, waardoor de back-upband
overschreven wordt.
Als extra veiligheidsmaatregel dienen telkens een “livefs” CD-ROM en twee back-upbanden gemaakt te worden. Eén van deze banden dient op een plaats op afstand bewaard te worden. Zo'n plaats is NIET de kelder van het zelfde kantoorgebouw. Een aantal bedrijven in het World Trade Center heeft deze les op de harde manier geleerd. Zo'n plaats dient fysiek gescheiden te zijn van de computers en de schijven door een significante afstand.
De hamvraag is: heeft de hardware het overleefd? Er zijn regelmatig back-ups gemaakt, dus zorgen over de software zijn niet nodig.
Indien hardware beschadigd is, dienen kapotte onderdelen vervangen te worden voordat gepoogd wordt om een computer te gebruiken.
Plaats de “livefs” CD-ROM in de CD-ROM drive indien
de hardware in orde is en start de computer op. Het originele
installatiemenu wordt op het scherm getoond. Kies het land van
toepassing en kies daarna en kies het item
. restore
en de andere
benodigde programma's staan in /mnt2/rescue
.
Herstel elk bestandssysteem apart.
Probeer de rootpartitie van de eerste schijf aan te
koppelen (bijvoorbeeld mount /dev/da0a
/mnt
). Als het schijflabel beschadigd is, gebruik
dan bsdlabel
om de schijf opnieuw te
partitioneren en te labelen zodat deze overeenkomt met het
afgedrukte en bewaarde label. Gebruik voor het opnieuw
aanmaken van de bestandssystemen newfs
.
Koppel de rootpartitie van de schijf opnieuw aan voor lezen
en schrijven (mount -u -o rw /mnt
).
Gebruik voor het herstellen van de gegevens van dit
bestandssysteem het back-upprogramma en de back-upbanden
(bijvoorbeeld restore vrf /dev/sa0
).
Koppel nu het bestandssysteem af (bijvoorbeeld
umount /mnt
). Herhaal dit voor elk
beschadigd bestandssysteem.
Back-up de gegevens naar nieuwe banden als het systeem weer draait. De omstandigheden die verantwoordelijk waren voor de crash of het gegevensverlies kunnen weer voorkomen. Nu een extra uur investeren, kan later grote zorgen besparen.
Naast de schijven die fysiek in de computer zitten, diskettes, CD's, harde schijven, enzovoort, worden er ook andere vormen van schijven door FreeBSD begrepen: de virtuele schijven.
Dit omvat netwerkbestandssystemen zoals het Network File System en Coda, geheugengebaseerde bestandssystemen en bestandsgebaseerde bestandssystemen.
Nagelang de gebruikte versie van FreeBSD, zijn er andere gereedschappen voor het aanmaken en gebruiken van bestandsgebaseerde en geheugengebaseerde bestandssystemen.
Gebruik devfs(8) om de apparaatnodes transparant voor de gebruiker toe te wijzen.
Met mdconfig(8) kunnen geheugenschijven, md(4), ingesteld worden en aangezet worden. Om mdconfig(8) te gebruiken, moet de module md(4) geladen worden of ondersteuning aan het kernelinstellingenbestand toegevoegd worden:
device md
Het commando mdconfig(8) ondersteunt drie types geheugen-gebaseerde virtuele schijven: geheugenschijven die met malloc(9) toegewezen zijn, geheugenschijven die een bestand als basis gebruiken en geheugenschijven die swapruimte als basis gebruiken. Een mogelijk gebruik is het aankoppelen van een beeld van een diskette of CD dat in een bestand bewaard wordt.
Om een bestaand beeld van een bestandssysteem aan te koppelen:
mdconfig
gebruiken om een bestaand
beeld van een bestandssysteem aan te koppelen#
mdconfig -a -t vnode -f schijfbeeld -u 0
#
mount /dev/md0 /mnt
Om een nieuw beeld van een bestandssysteem aan te maken met mdconfig(8):
mdconfig
#
dd if=/dev/zero of=nieuwbeeld bs=1k count=5k
5120+0 records in 5120+0 records out#
mdconfig -a -t vnode -f nieuwbeeld -u 0
#
bsdlabel -w md0 auto
#
newfs md0a
/dev/md0a: 5.0MB (10240 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
Indien het eenheidsnummer niet met de optie
-u
gespecificeerd wordt, gebruikt
mdconfig(8) de automatische toewijzing van md(4) om
een ongebruikt apparaat te selecteren. De naam van het
toegewezen apparaat wordt op stdout weergegeven als
md4
. Meer details staan in de
hulppagina van mdconfig(8).
Het commando mdconfig(8) is erg nuttig, hoewel het veel opdrachten vergt om een bestandsgebaseerd bestandssysteem aan te maken. FreeBSD wordt met mdmfs(8) geleverd. Dit programma stelt een md(4)-schijf in door gebruik te maken van mdconfig(8), zet er een bestandssysteem op door gebruik te maken van newfs(8) en koppel het aan door gebruik te maken van mount(8). Om hetzelfde bestandssysteembeeld als hierboven aan te maken en aan te koppelen:
mdmfs
#
dd if=/dev/zero of=nieuwbeeld bs=1k count=5k
5120+0 records in 5120+0 records out#
mdmfs -F nieuwbeeld -s 5m md0 /mnt
#
df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md0 4718 4 4338 0% /mnt
Als de optie md
zonder eenheidsnummer
gebruikt wordt, gebruikt mdmfs(8) de automatische
toewijzing van md(4) om automatisch een ongebruikt
apparaat te selecteren. Meer details staan in de hulppagina
van mdmfs(8).
Voor een geheugen gebaseerd bestands systeem moet normaal gesproken “wisselbestand geheugen” gebruikt worden. Gebruik maken van wisselbestand geheugen wil niet perse zeggen dat de geheugen schijf direct in het wisselbestand gezet wordt, maar dat het bestand naar het wisselbestand geschreven kan worden indien nodig. Het is ook mogelijk om malloc(9) gebaseerde geheugen schijven te maken, maar door hiervan gebruik te maken kan het gebeuren dat het systeem crashed als de kernel uit het geheugen loopt.
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
mdmfs
#
mdmfs -s 5m md2 /mnt
#
df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md2 4846 2 4458 0% /mnt
Als een geheugen- of bestandsgebaseerd bestandssysteem niet gebruikt wordt, dienen alle bronnen aan het systeem vrijgegeven te worden. Koppel als eerste het bestandssysteem af, gebruikt daarna mdconfig(8) om de schijf van een systeem los te koppelen en de bronnen vrij te geven.
Om bijvoorbeeld alle bronnen die door
/dev/md4
gebruikt worden los te koppelen
en vrij te geven:
#
mdconfig -d -u 4
Het is mogelijk om de informatie over ingestelde md(4)
apparaten weer te geven door gebruik te maken van
mdconfig -l
.
FreeBSD biedt een mogelijkheid om samen met Soft Updates: snapshots van bestandssystemen.
Snapshots bieden de mogelijkheid om beelden van een gespecificeerd bestandssysteem te maken en ze als bestand te behandelen. Snapshotbestanden moeten aangemaakt worden in het bestandssysteem waarop de handeling wordt uitgevoerd en er mogen niet meer dan 20 snapshots per bestandssysteem worden aangemaakt. Actieve snapshots worden opgeslagen in het superblok zodat ze persistent zijn met afkoppel- en heraankoppelbewerkingen en met het opnieuw opstarten van het systeem. Als een snapshot niet langer nodig is, kan het met het standaardcommando rm(1) worden verwijderd. Snapshots kunnen in elke volgorde verwijderd worden, alhoewel misschien niet alle gebruikte ruimte teruggewonnen wordt omdat sommige vrijgegeven blokken mogelijk door een ander snapshot geclaimd worden.
De onveranderlijke bestandsvlag snapshot
wordt door mksnap_ffs(8) ingesteld nadat het snapshotbestand
initieel is aangemaakt. Het commando unlink(1) maakt een
uitzondering voor snapshotbestanden aangezien het toestaat dat ze
verwijderd worden.
Snapshotbestanden worden aangemaakt met mount(8). Om
een snapshot van /var
in het bestand
/var/snapshot/snap
te plaatsen:
#
mount -o -o snapshot /var/snapshot/snap /var
Als alternatief kan mksnap_ffs(8) gebruikt worden om een snapshot aan te maken:
#
mksnap_ffs /var /var/snapshot/snap
Snapshotbestanden kunnen gezocht worden op een
bestandssysteem (bijvoorbeeld /var
) door
gebruik te maken van het commando find(1):
#
find /var -flags snapshot
Nadat een snapshot is aangemaakt, kan het voor een aantal dingen gebruikt worden:
Sommige systeembeheerders gebruiken een snapshotbestand voor back-updoeleinden, omdat het snapshot naar CD's of band overgezet kan worden;
De bestandssysteem integriteit controle, fsck(8) kan gebruikt worden op het snapshot. Ervan uitgaande dat het bestandssysteem schoon was toen het werd aangekoppeld, zou dit altijd een schoon (en onveranderlijk) resultaat moeten opleveren. Dit is in principe wat het fsck(8)-achtergrondsproces doet;
Het commando dump(8) draaien op het snapshot. Er
wordt een dump teruggegeven die consistent is met het
bestandssysteem en tijdsstempel van het snapshot.
dump(8) kan ook in één commando een
snapshot maken, een dumpbeeld aanmaken en daarna het snapshot
verwijderen door gebruik te maken van de vlag
-L
;
Het snapshot kan met mount(8) als bevroren beeld van
het bestandssysteem worden aangekoppeld. Om het snapshot
/var/snapshot/snap
aan te koppelen:
#
mdconfig -a -t vnode -f /var/snapshot/snap -u 4
#
mount -r /dev/md4 /mnt
Het is nu mogelijk om door de structuur van het bevroren
bestandssysteem /var
te lopen dat
aangekoppeld is op /mnt
. Alles zal initieel
in dezelfde toestand verkeren als op het moment dat het snapshot
werd aangemaakt. De enige uitzondering hierop is dat eerdere
snapshots als bestanden met lengte nul verschijnen. Als een
snapshot niet meer nodig is, kan het als volgt afgekoppeld
worden:
#
umount /mnt
#
mdconfig -d -u 4
Meer informatie over softupdates
en
snapshots van bestandssystemen, inclusief technische documenten,
staat op de website van Marshall Kirk McKusick op http://www.mckusick.com/
.
Quota zijn een optionele mogelijkheid van het besturingssysteem om de hoeveelheid schijfruimte en/of het aantal bestanden dat gebruikers of leden van een groep per bestandssysteem mogen gebruiken te beperken. Dit wordt het meeste gebruikt op timesharing-systemen waar het wenselijk is om het aantal bronnen dat elke gebruiker of groep van gebruikers mag gebruiken te beperken. Dit voorkomt dat één gebruiker of groep van gebruikers alle beschikbare schijfruimte in beslag neemt.
Controleer alvorens te proberen om schijfquota te gebruiken of quota ingesteld zijn in de kernel. Dit gebeurt door het toevoegen van de volgende regel aan het kernelinstellingenbestand:
options QUOTA
De standaardkernel GENERIC
heeft deze
optie niet aanstaan, dus is het nodig om een eigen kernel in te
stellen, te bouwen en te installeren om gebruik te kunnen maken
van schijfquota. Meer informatie over het instellen van de
kernel staat in Hoofdstuk 9, De FreeBSD-kernel instellen.
Vervolgens dienen schijfquota aangezet te worden in
/etc/rc.conf
. Op FreeBSD 7.X en eerder wordt
deze regel toegevoegd:
enable_quotas="YES"
Voeg op FreeBSD 8.0-RELEASE en nieuwer in plaats daarvan deze regel toe:
quota_enable="YES"
Voor fijnere controle over de opstartquota zijn extra
instellingsvariabelen beschikbaar. Normaalgesproken wordt de
integriteit van de quota van elk bestandssysteem tijdens het
opstarten door quotacheck(8) gecontroleerd.
quotacheck(8) verzekert dat de gegevens in de
quotadatabase een juiste afspiegeling vormen van de gegevens op
het bestandssysteem. Dit proces neemt erg veel tijd in beslag
en beïnvloedt de tijd die een systeem nodig heeft om op te
starten significant. Om deze stap over te slaan, bestaat een
variabele in /etc/rc.conf
:
check_quotas="NO"
Als laatste dient /etc/fstab
bewerkt
te worden om schijfquota per bestandssysteem aan te zetten.
Hier kunnen gebruiker- of groepquota of beide worden aangezet
voor alle bestandssystemen.
Om quota per gebruiker op een bestandssysteem aan te
zetten, dient de optie userquota
aan het
optieveld toegevoegd te worden aan de regel in
/etc/fstab
voor het bestandssysteem waar
quota worden aangezet. Bijvoorbeeld:
/dev/da1s2g /home ufs rw,userquota 1 2
Analoog, om groepquota aan te zetten, dient de optie
groupquota
in plaats van
userquota
gebruikt te worden. Om zowel
gebruikers- als groepsquota aan te zetten, dient de regel als
volgt veranderd te worden:
/dev/da1s2g /home ufs rw,userquota,groupquota 1 2
Standaard worden de quotabestanden opgeslagen in de
hoofdmap van het bestandssysteem onder de namen
quota.user
en
quota.group
voor respectievelijk
gebruikers- en groepsquota. Meer informatie staat in
fstab(5). Alhoewel de hulppagina fstab(5) vermeld
dat een alternatieve plaats voor de quotabestanden
gespecificeerd kan worden, wordt dit niet aangeraden omdat de
verschillende quotagereedschappen dit niet juist schijnen af te
handelen.
Hier aangekomen dient het systeem opnieuw opgestart te
worden met de nieuwe kernel. /etc/rc
voert automatisch de juiste commando's uit om de initiële
quotabestanden aan te maken voor alle quota die in
/etc/fstab
zijn aangezet. Het is dus niet
nodig om handmatig quotabestanden met lengte nul aan te
maken.
Tijdens normale bewerkingen moet het niet nodig zijn om de commando's quotacheck(8), quotaon(8) of quotaoff(8) handmatig te draaien. Lees wel de betreffende hulppagina's om bekend te raken met de werking ervan.
Indien het systeem ingesteld voor gebruik van quota, controleer dan of ze echt aanstaan. Een eenvoudige manier om dit te doen is de volgende:
#
quota -v
Er hoort een eenregelige samenvatting te verschijnen over het schijfgebruik en de huidige quotalimieten voor elk bestandssysteem waarop quota aanstaan.
Nu kunnen quotalimieten toegewezen worden met edquota(8).
Er zijn verschillende opties om grenzen te stellen aan de hoeveelheid schijfruimte die een gebruiker of groep mag toewijzen en het aantal bestanden dat ze mogen aanmaken. Toewijzingen kunnen begrensd worden met betrekking tot schijfruimte (blokquota) of het aantal bestanden (inode-quota) of een combinatie van beide. Elk van deze limieten is op zijn beurt weer opgesplitst in twee categoriën: harde en zachte limieten.
Een harde limiet mag niet overschreden worden. Indien een gebruiker de harde limiet bereikt, mag deze geen verdere toewijzingen maken op het betreffende bestandssysteem. Indien een gebruiker bijvoorbeeld een harde limiet heeft van 500 kB op een bestandssysteem en er 490 kB van gebruikt, kan deze nog slechts 10 kB toewijzen. Een poging om 11 kB toe te wijzen zal mislukken.
Zachte limieten kunnen voor een beperkte tijd overschreden worden. Deze periode staat bekend als de gratieperiode, die standaard een week bedraagt. Als een gebruiker de zachte limiet langer dan de gratieperiode overschrijdt, verandert de zachte limiet in een harde limiet en zijn er geen verdere toewijzingen toegestaan. Als de gebruiker onder de zachte limiet komt, wordt de gratieperiode opnieuw ingesteld.
Het volgende is een voorbeeld van een mogelijk gebruik van
edquota(8). Als het commando edquota(8) gestart
wordt, wordt de tekstverwerker opgestart die door de
omgevingsvariabele EDITOR
gespecificeerd is, of
de tekstverwerker vi als de
variabele EDITOR
niet is ingesteld. Nu kunnen
de quotalimieten bewerkt worden.
#
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)
Normaalgesproken worden er twee regels weergegeven voor elk bestandssysteem waarvoor quota gelden: één regel voor de bloklimieten, en één voor de inode-limieten. Om de quotalimieten te veranderen dient de waarde ervan veranderd te worden. Om bijvoorbeeld de bloklimiet van een gebruiker te veranderen van een zachte limiet van 50 en een harde limiet van 75 in een zachte limiet van 500 en een harde limiet van 600, dient het volgende veranderd te worden:
/usr: kbytes in use: 65, limits (soft = 50, hard = 75)
In:
/usr: kbytes in use: 65, limits (soft = 500, hard = 600)
De nieuwe quotalimieten gelden zodra de tekstverwerker verlaten wordt.
Soms is het gewenst om quotalimieten in te stellen op een
aantal UID's. Dit kan gedaan worden door de optie
-p
van edquota(8) te gebruiken. Wijs
eerst de gewenste quotalimiet aan een gebruiker toe en draai
daarna edquota -p protogebruiker
beginuid-einduid
. Indien bijvoorbeeld gebruiker
test
de gewenste quotalimieten heeft, kan
het volgende commando gebruikt worden om deze quotalimieten te
dupliceren voor UID's 10.000 tot en met 19.999:
#
edquota -p test 10000-19999
Meer informatie staat in de hulppagina voor edquota(8).
Zowel quota(1) als repquota(8) kunnen gebruikt worden om de quotalimieten en het schijfgebruik te controleren. Het commando quota(1) kan gebruikt worden om de quota van zowel individuele gebruikers als groepen en het schijfgebruik te controleren. Een gebruiker mag alleen de eigen quota en de quota van een groep waarvan deze lid is controleren. Alleen de beheerder mag alle gebruikers- en groepsquota bekijken. Het commando repquota(8) kan gebruikt worden om een overzicht te krijgen van alle quota en gebruik van bestandssystemen waarvan quota aanstaan.
Het volgende is een mogelijke uitvoer van het commando
quota -v
voor een gebruiker die
quotalimieten heeft op twee bestandssystemen.
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
Voor het bestandssysteem /usr
in
bovenstaand voorbeeld overschrijdt deze gebruiker de zachte
limiet van 50 kB momenteel met 15 kB en heeft deze 5
dagen van de gratieperiode over. De asterisk,
*
geeft aan dat de gebruiker momenteel de
quotalimiet overschrijdt.
Normaalgesproken worden bestandssystemen waarvan de
gebruiker geen schijfruimte gebruikt niet weergegeven in de
uitvoer van quota(1), zelfs niet als er de gebruiker een
quotalimiet heeft voor dat bestandssysteem. De optie
-v
geeft deze bestandssystemen weer, zoals het
bestandssysteem /usr/var
in bovenstaand
voorbeeld.
Quota worden afgedwongen door het quota-subsysteem op de NFS-server. De daemon rpc.rquotad(8) stelt quota-informatie beschikbaar aan het commando quota(1) op de NFS-cliënts, wat de gebruikers op deze machines in staat stelt hun quota-statistieken in te zien.
rpc.rquotad
dient als volgt in
/etc/inetd.conf
aangezet te worden:
rquotad/1 dgram rpc/udp wait root /usr/libexec/rpc.rquotad rpc.rquotad
Vervolgens dient inetd
opnieuw gestart
te worden:
#
service inetd restart
FreeBSD biedt uitstekende on-line bescherming tegen onbevoegde gegevenstoegang. Bestandsrechten en Mandatory Access Control (MAC) (zie Hoofdstuk 17, Verplichte Toegangscontrole (MAC)) helpen voorkomen dat onbevoegde derde partijen toegang tot de gegevens krijgen als het besturingssysteem actief is en de computer aanstaat. De door het besturingssysteem afgedwongen rechten zijn echter niet relevant als een aanvaller fysieke toegang tot een computer heeft en deze de harde schijf van de computer in een ander systeem kan plaatsen om de gevoelige gegevens te kopiëren en te analyseren.
Afgezien van hoe een aanvaller in het bezit van een harde schijf of een uitgezette computer gekomen is, kan GEOM Based Disk Encryption (gbde) de gegevens op het bestandssysteem van de computer zelfs tegen hooggemotiveerde aanvallers met aanzienlijke middelen beschermen. In tegenstelling tot lastige versleutelmethoden die alleen losse bestanden versleutelen, versleutelt gbde gehele bestandssystemen op een transparante manier. De harde schijf komt nooit in aanraking met klare tekst.
Los van hoe een aanvaller in het bezit van een harde schijf
of een uitgezette computer gekomen is, kunnen de cryptografische
subsystemen GEOM Based Disk Encryption
(gbde) en geli
in FreeBSD
gegevens op bestandssystemen van een computer beschermen tegen
zelfs de meer gemotiveerde belagers die ook nog eens adequate
middelen hebben. Anders dan met lastige versleutelingsmethoden
die alleen individuele bestanden versleutelen, versleutelen
gbde
en geli
transparant
complete bestandssystemen. Er komt nooit platte tekst op een
harde schijf.
Word root
Het instellen van gbde vereist beheerdersrechten.
%
su -
Password:
Voeg ondersteuning voor gbde(4) aan het kernelinstellingenbestand toe
Voeg de volgende regel toe aan het kernelinstellingenbestand:
options GEOM_BDE
Herbouw de kernel opnieuw zoals beschreven in Hoofdstuk 9, De FreeBSD-kernel instellen.
Start op met de nieuwe kernel.
Een alternatief voor het hercompileren van de kernel is door gebruik te maken van kldload(8) om gbde(4) te laden:
#
kldload geom_bde
In het volgende voorbeeld wordt aangenomen dat er een
nieuwe harde schijf aan het systeem wordt toegevoegd die een
enkele versleutelde partitie zal bevatten. Deze partitie
wordt aangekoppeld als /private
.
gbde kan ook gebruikt worden om
/home
en /var/mail
te versleutelen, maar daarvoor zijn complexere instructies
nodig die buiten het bereik van deze inleiding vallen.
Voeg een nieuwe harde schijf toe
Voeg de nieuwe harde schijf toe zoals beschreven in
Paragraaf 19.3, “Schijven toevoegen”. In dit voorbeeld is een
nieuwe harde schijfpartitie toegevoegd als
/dev/ad4s1c
. De apparaten
/dev/ad0s1*
stellen bestaande standaard FreeBSD partities van het
voorbeeldsysteem voor.
#
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
Maak een map aan voor gbde lockbestanden
#
mkdir /etc/gbde
Het lockbestand voor gbde bevat informatie die gbde nodig heeft om toegang te krijgen tot versleutelde partities. Zonder toegang tot de lockbestand is gbde niet in staat om de gegevens die op de versleutelde partitie staan te ontsleutelen zonder aanzienlijke handmatige tussenkomst die niet door de software ondersteund wordt. Elke versleutelde partitie gebruikt een ander lockbestand.
Initialiseer de gbde-partitie
Een gbde-partitie dient geïnitialiseerd te worden voordat deze kan worden gebruikt. Deze initialisatie dient slechts eenmalig uitgevoerd te worden:
#
gbde init /dev/ad4s1c -i -L /etc/gbde/ad4s1c.lock
gbde(8) opent een tekstverwerker om verschillende instellingen in een sjabloon te kunnen instellen. Stel de sector_size in op 2048 als UFS of UFS2 wordt gebruikt:
# $FreeBSD: src/sbin/gbde/template.txt,v 1.1 2002/10/20 11:16:13 phk Exp $ # # Sector size is the smallest unit of data which can be read or written. # Making it too small decreases performance and decreases available space. # Making it too large may prevent filesystems from working. 512 is the # minimum and always safe. For UFS, use the fragment size # sector_size = 2048 [...]
gbde(8) vraagt twee keer om de wachtwoordzin voor het beveiligen van de gegevens. De wachtwoordzin dient beide keren hetzelfde te zijn. De mogelijkheid van gbde om de gegevens te beveiligen is geheel afhankelijk de gekozen wachtwoordzin. [10]
Het commando gbde init
maakt een
lockbestand aan voor de
gbde-partitie die in dit
voorbeeld is opgeslagen als
/etc/gbde/ad4s1c.lock
.
gdbde slotbestanden moeten
eindigen op “.lock” om correct door het
opstartscript /etc/rc.d/gbde
gedetecteerd te worden.
gbde lockbestanden moeten samen met de inhoud van versleutelde partities geback-upped worden. Hoewel het verwijderen van een lockbestand op zich een gedreven aanvaller er niet van weerhoudt een gbde partitie te ontsleutelen, is de wettige eigenaar zonder het lockbestand niet in staat om de gegevens op de versleutelde partitie te benaderen zonder een aanzienlijke hoeveelheid werk die in het geheel niet ondersteund wordt door gbde(8) of de ontwerper ervan.
Koppel de versleutelde partitie aan de kernel
#
gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c.lock
Er wordt om de wachtwoordzin gevraagd die gekozen is
tijdens de initialisatie van de versleutelde partitie. Het
nieuwe versleutelde apparaat verschijnt in
/dev
als
/dev/apparaatnaam.bde
:
#
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
Maak een bestandssysteem op het versleutelde apparaat
Nu het versleutelde apparaat aan de kernel gekoppeld
is, kan een bestandssysteem op het apparaat aangemaakt
worden. Met newfs(8) kan een bestandssysteem op het
versleutelde apparaat aangemaakt wordne. Aangezien het
veel sneller is om een nieuw UFS2 bestandssysteem te
initialiseren dan om een oud UFS1 bestandssysteem te
initialiseren, is het aan te raden om newfs(8) met de
optie -O2
te gebruiken.
#
newfs -U -O2 /dev/ad4s1c.bde
Voer newfs(8) uit op een aangekoppelde
gbde-partitie die
geïndificeerd wordt door de uitbreiding
*.bde
op
de apparaatnaam.
Mount de versleutelde partitie
Maak een koppelpunt voor het versleutelde bestandssysteem aan:
#
mkdir /private
Mount het versleutelde bestandssysteem:
#
mount /dev/ad4s1c.bde /private
Controleer of het versleutelde bestandssysteem beschikbaar is
Het versleutelde bestandssysteem is nu zichtbaar met df(1) en gebruiksklaar:
%
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
Elke keer nadat het systeem is opgestart dient elk
versleuteld bestandssysteem opnieuw aan de kernel gekoppeld
te worden, op fouten gecontroleerd te worden, en aangekoppeld
te worden voordat de bestandssystemen gebruikt kunnen worden.
De benodigde commando's dienen als de gebruiker
root
uitgevoerd te worden.
Koppel de gbde-partitie aan de kernel
#
gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c.lock
Er wordt om de wachtwoordzin gevraagd die gekozen is tijdens de initialisatie van de versleutelde gbde-partitie.
Controleer het bestandssysteem op fouten
Aangezien het nog niet mogelijk is om versleutelde
bestandssystemen op te nemen in
/etc/fstab
voor automatische controle,
dienen de bestandssystemen voordat ze aangekoppeld worden
handmatig op fouten gecontroleerd te worden door
fsck(8) uit te voeren:
#
fsck -p -t ffs /dev/ad4s1c.bde
Mount het versleutelde bestandssysteem
#
mount /dev/ad4s1c.bde /private
Het versleutelde bestandssysteem is nu klaar voor gebruik.
Het is mogelijk om een script aan te maken om automatisch een versleutelde partitie aan te koppelen, op fouten te controleren en aan te koppelen, maar vanwege veiligheidsredenen dient het script niet het wachtwoord voor gbde(8) te bevatten. In plaats hiervan wordt het aangeraden om zulke scripts handmatig uit te voeren en het wachtwoord via de console of ssh(1) te geven.
Als alternatief, wordt er een rc.d
script bijgeleverd. De argumenten kunnen via rc.conf(5)
doorgegeven worden. Bijvoorbeeld:
gbde_autoattach_all="YES" gbde_devices="ad4s1c" gbde_lockdir="/etc/gbde"
Hierdoor is het noodzakelijk dat de wachtwoordzin voor gbde bij het starten wordt ingegeven. Na het invoeren van de juiste wachtwoordzin wordt de met gbde versleutelde partitie automatisch aangekoppeld. Dit kan erg handig zijn bij het gebruik van gbde op notebooks.
gbde(8) versleutelt de sectorlading door gebruik te maken van 128-bit AES in CBC-modus. Elke sector op de schijf wordt met een andere AES-sleutel versleuteld. Meer informatie over het cryptografische ontwerp van gbde, inclusief de methode die gebruikt wordt om de sectorsleutels van de door de gebruiker gegeven wachtwoordzin af te leiden, staan in gbde(4).
sysinstall(8) is niet compatibel met apparaten die
met gbde versleuteld zijn. Alle
*.bde
apparaten moeten van de kernel ontkoppeld worden voordat
sysinstall(8) gebruikt wordt om te voorkomen dat het
crasht tijdens het initiële zoeken naar apparaten. Om
het versleutelde apparaat dat in dit voorbeeld gebruikt wordt
te ontkoppelen:
#
gbde detach /dev/ad4s1c
Een alternatieve cryptografische GEOM klassie is beschikbaar
- geli
. Deze wordt
op het moment ontwikkeld door Paweł Jakub Dawidek <pjd@FreeBSD.org>
. geli
verschilt van gbde
in de mogelijkheden en in
het gebruik van een andere methode voor het
versleutelen.
De meest belangrijke mogelijkheden van geli(8) zijn:
Gebruikt het crypto(9) framework; als
cryptografische hardware aanwezig is, gebruikt
geli
die automatisch;
Ondersteunt meedere cryptografische algoritmen. Op dit moment AES, Blowfish en 3DES;
Staat toe dat de root-partitie wordt versleuteld. De wachtwoordzin die wordt gebruikt om de root-partitie te versleutelen wordt opgevraagd tijdens het starten van een systeem;
Staat het gebruik van twee onafhankelijke sleutels toe, bijvoorbeeld een “sleutel” en een “bedrijfssleutel”);
geli
is snel; het werkt met
sector-naar-sector versleuteling;
Ondersteunt back-up en restore van Master Keys. Als een gebruiker sleutels moet vernietigen, is het mogelijk weer toegang te krijgen tot de gegevens door sleutels uit een back-up te halen;
Ondersteunt het koppelen van een schijf met een willekeurige, eenmalige sleutel. Handig voor swap-partities en tijdelijke bestandssystemen.
Meer mogelijkheden van geli
staan
beschreven in de handleiding van geli(8).
De volgende stappen beschrijven hoe ondersteuning voor
geli
in de FreeBSD-kernel ingeschakeld kan
worden en hoe een nieuwe geli
versleutelingsvoorziening gemaakt kan worden.
Het is noodzakelijk super-user rechten te hebben omdat de kernel wordt aangepast.
Toevoegen van geli
-ondersteuning
Voeg de volgende regels toe aan het bestand met kernelinstellingen:
options GEOM_ELI device crypto
Herbouw de kernel zoals beschreven is in Hoofdstuk 9, De FreeBSD-kernel instellen.
De geli
-module kan ook bij het
opstarten geladen worden. Voeg de volgende regel toe aan
/boot/loader.conf
:
geom_eli_load="YES"
Nu hoort geli(8) door de kernel ondersteund te worden.
Een Master Key genereren
Het volgende voorbeeld beschrijft hoe een
sleutelbestand te maken, dat wordt gebruikt als onderdeel
van de Master Key voor de versleutelde dienst die wordt
aangekoppeld onder /private
. Het sleutelbestand
zorgt voor wat willekeurige gegevens die worden gebruikt
om de Master Key te versleutelen. De Master Key wordt ook
door een wachtwoordzin beschermd. De sectorgrootte van de
dienst wordt 4 kB. Ook wordt beschreven hoe de
geli
-dienst te koppelen, er een
bestandsysteem op te maken, dat aan te koppelen, hoe ermee
te werken en tenslotte hoe te ontkoppelen.
Het wordt aangeraden een grotere sectorgrootte in te stellen (zoals 4 kB) voor betere prestaties.
De Master Key wordt beschermd door een wachtwoordzin en
de gegevensbron voor het sleutelbestand wordt
/dev/random
. De sectorgrootte van
/dev/da2.eli
, die als dienst wordt
aangeduid, wordt 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:
Het is niet verplicht om zowel een wachtwoordzijn als een sleutelbestand te gebruiken. De methodes kunnen onafhankelijk van elkaar gebruikt worden.
Als een sleutelbestand wordt opgegeven als “-”, wordt de standaardinvoer gebruikt. In het onderstaande voorbeeld wordt aangegeven hoe meer dan een sleutelbestand kan worden gebruikt.
#
cat sleutelbestand1 sleutelbestand2 sleutelbestand3 | geli init -K - /dev/da2
De dienst koppelen met de gemaakte sleutel
#
geli attach -k /root/da2.key /dev/da2
Enter passphrase:
Het nieuwe platte tekst-apparaat wordt
/dev/da2.eli
genoemd.
#
ls /dev/da2*
/dev/da2 /dev/da2.eli
Het nieuwe bestandssysteem maken
#
dd if=/dev/random of=/dev/da2.eli bs=1m
#
newfs /dev/da2.eli
#
mount /dev/da2.eli /private
Het versleutelde bestandssysteem moet nu zichtbaar zijn voor df(1) en beschikbaar zijn voor gebruik:
#
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
De dienst afkoppelen
Als het werk met de versleutelde partitie is
afgehandeld en de /private
-partitie niet langer
nodig is, dan is het verstandig te overwegen de met
geli
versleutelde partitie af te koppelen
van het bestandssysteem en de kernel.
#
umount /private
#
geli detach da2.eli
Meer informatie over geli(8) staat in de handleiding.
Bij geli
hoort een rc.d
script dat gebruikt kan worden om het gebruik van
geli
te vereenvoudigen. Een voorbeeld van
hoe geli
met rc.conf(5) ingesteld
kan worden volgt:
geli_devices="da2" geli_da2_flags="-p -k /root/da2.key"
Hiermee wordt /dev/da2
ingesteld als
geli
-dienst met Master Key-bestand
/root/da2.key
en geli
gebruikt geen wachtwoordzin als de dienst wordt gekoppeld
(dit kan alleen gebruikt worden als -P
is meegegeven
tijdens de geli init
fase van
geli
). Een systeem ontkoppelt de
geli
-dienst van de kernel voordat het
afsluit.
Meer informatie over het instellen van rc.d staat in het onderdeel over rc.d.
Het versleutelen van de wisselbestand ruimte is gemakkelijk
met FreeBSD te configureren.
Afhankelijk van welke versie er gebruikt wordt zijn er verschillende
configuratie opties en instellingen mogelijk. De gbde(8) en
geli(8) programma's kunnen gebruikt worden voor het versleutelen
van het wisselbestand. Beide systemen maken gebruik van het
encswap
rc.d script.
De vorige sectie, Schijfpartities versleutelen, biedt een korte discussie over de verschillende versleutel systemen.
Net als met het versleutelen van harde schijven, wordt het versleutelen van het wisselbestand gebruikt om gevoelige data te beschermen. Stelt u eens een applicatie voor dat omgaat het wachtwoorden. Zolang deze wachtwoorden in het fysieke geheugen blijven is er niets aan de hand. Echter zodra deze verplaatst worden naar het wisselbestand om ruimte te maken voor andere applicaties, kan het gebeuren dat de wachtwoorden onbeschermd op de harde schijf geschreven worden, waardoor het makkelijk te achterhalen is voor iemand die kwaad wilt. Het versleutelen van het wisselbestand biedt hierin een mogelijke uitkomst.
Tot het einde van deze sectie zal ad0s1b
het wisselbestand bevatten.
Tot op dit moment is het wisselbestand niet versleuteld. Het is mogelijk dat er reeds wachtwoorden of andere gevoelige data onbeschermd op de harde schijf geschreven zijn. Om dit te corrigeren, moet de data op de swap partitie overschreven worden met willekeurige data:
#
dd if=/dev/random of=/dev/ad0s1b bs=1m
Er moet gebruik gemaakt worden van het .bde
achtervoegsel aan het apparaat in de respectievelijke
/etc/fstab
-regel betreffende het
wisselbestand:
# Device Mountpoint FStype Options Dump Pass# /dev/ad0s1b.bde none swap sw 0 0
Het opzetten van geli(8) voor het versleutelen van het
wisselbestand is hetzelfde als dat van gbde(8). Hier moet
echter gebruik gemaakt worden van het .eli
achtervoegsel aan het apparaat in de respectievelijke
/etc/fstab
wisselbestand regel:
# Device Mountpoint FStype Options Dump Pass# /dev/ad0s1b.eli none swap sw 0 0
geli(8) maakt standaard gebruik van het AES algoritme met een sleutellengte van 128 bits.
Optioneel kunnen deze standaardwaarden worden aangepast door
gebruik te maken van de geli_swap_flags
optie
in /etc/rc.conf
. De volgende regel verteld
het encswap
rc.d bestand om een geli(8)
wisselbestand te maken met het Blowfish algoritme met een sleutel
lengte van 128 bit, een sectorgrootte van 4 kilobytes en met de
optie “ontkoppelen nadat de laatste afsluiting”
gezet:
geli_swap_flags="-e blowfish -l 128 -s 4096 -d"
Zie de uitleg over het onetime
commando in
de geli(8) handleiding voor een lijst van mogelijke opties.
Zodra het systeem opnieuw opgestart is kan gekeken worden
of alles nog goed werkt door gebruik te maken van het
swapinfo
commando.
Als gebruik gemaakt wordt van gbde(8):
%
swapinfo
Device 1K-blocks Used Avail Capacity /dev/ad0s1b.bde 542720 0 542720 0%
Als gebruik gemaakt wordt van geli(8):
%
swapinfo
Device 1K-blocks Used Avail Capacity /dev/ad0s1b.eli 542720 0 542720 0%
Hoge beschikbaarheid is een van de hoofdzaken in serieuze zakelijke
toepassingen en hoog beschikbare opslag is een sleutelonderdeel in zulke
omgevingen. Hoog beschikbare opslag, of HASTHighly Available STorage, werd
ontwikkeld door Paweł Jakub Dawidek <pjd@FreeBSD.org>
als een raamwerk dat transparante opslag van
dezelfde gegevens toestaat over fysiek gescheiden machines die verbonden
zijn door een TCP/IP-netwerk. HAST kan gezien worden
als een netwerkgebaseerde RAID1 (spiegel) en is vergelijkbaar met het
DRBD® opslagsysteem bekend van het GNU/Linux® platform. In
combinatie met andere eigenschappen voor hoge beschikbaarheid van FreeBSD
zoals CARP maakt HAST het mogelijk
om een opslagcluster met hoge beschikbaarheid te bouwen dat resistent is
tegen falende hardware.
Na het lezen van deze sectie weet u:
Wat HAST is, hoe het werkt en welke mogelijkheden het biedt.
Hoe HAST op FreeBSD te op te zetten en te gebruiken.
Hoe CARP en devd(8) te integreren om een robuust opslagsysteem te bouwen.
Voor het lezen van deze sectie dient u:
De beginselen van UNIX® en FreeBSD te begrijpen (Hoofdstuk 4, UNIX® beginselen).
Te weten hoe de netwerkinterfaces en andere kerndeelsystemen van FreeBSD in te stellen (Hoofdstuk 12, Instellingen en optimalisatie).
Netwerken op FreeBSD goed te begrijpen (Deel IV, “Netwerkcommunicatie”).
FreeBSD 8.1-RELEASE of nieuwer te gebruiken.
Het HAST-project werd gesponsord door The FreeBSD Foundation met ondersteuning van OMCnet Internet Service GmbH en TransIP BV.
De belangrijkste eigenschappen van HAST zijn:
Het kan gebruikt worden om I/O-fouten op lokale harde schijven te maskeren.
Agnostisch qua bestandssysteem, dus het werkt met elk bestandssysteem dat door FreeBSD wordt ondersteund.
Efficiënte en snelle hersynchronisatie, alleen de blokken die zijn veranderd toen een knooppunt uitstond worden gesynchroniseerd.
Het kan gebruikt worden in reeds uitgerolde omgevingen om aanvullende redundantie toe te voegen.
Samen met CARP, Heartbeat of andere gereedschappen kan het worden gebruikt om een robuust en duurzaam opslagsysteem te bouwen.
Omdat HAST synchrone replicatie op blokniveau
van elk opslagmedium naar verscheidene machines biedt, heeft het
tenminste twee knooppunten (fysieke machines) nodig — het
primaire
(ook bekend als meester
)
knooppunt en het secundaire
(slaaf
) knooppunt. Tezamen worden deze twee
machines een cluster genoemd.
HAST is momenteel beperkt tot een totaal van twee clusterknooppunten.
Aangezien HAST in een primaire-secundaire
configuratie werkt, kan er op elk moment slechts één van
de clusterknooppunten actief zijn. Het primaire
knooppunt, ookwel actief
, is degene die alle
I/O-verzoeken aan apparaten die door HAST worden
beheerd afhandelt. Het secundaire
knooppunt wordt
dan automatisch gesynchroniseerd vanuit het primaire
knooppunt.
De fysieke componenten van het HAST-systeem zijn:
lokale schijf (op primair knooppunt)
schijf op verre machine (secundair knooppunt)
HAST werkt synchroon op blokniveau, wat het
transparant maakt voor bestandssystemen en toepassingen.
HAST biedt reguliere GEOM-aanbieders aan in /dev/hast/
voor zowel andere
gereedschappen als toepassingen, er is dus geen verschil tussen het
gebruik van apparaten die door HAST worden geleverd
en rauwe schijven, partities, etc.
Elke bewerking met betrekking tot schrijven, verwijderen of spoelen wordt naar de plaatselijke schijf en over TCP/IP naar de verre schijf gestuurd. Elke leesbewerking wordt gedaan door de plaatselijke schijf, tenzij de plaatselijke schijf niet actueel is of er een I/O-fout optreed. In zulke gevallen wordt de leesbewerking naar het secundaire knooppunt gestuurd.
HAST probeert om een snel herstel van fouten te leveren. Om deze reden is het heel belangrijk om de synchronisatietijd te verkorten nadat een knooppunt is hersteld van een uitval. Om een snelle synchronisatie te leveren, beheert HAST op de schijf een bitmap van gebruikte extents en synchroniseert het die alleen tijdens een reguliere synchronisatie (met uitzondering van de initiëe synchronisatie).
Er zijn vele manieren om synchronisatie af te handelen. HAST implementeert meerdere replicatiemodi om verschillende synchronisatiemethodes af te handelen:
memsync: rapporteer een schrijfbewerking als voltooid wanneer de plaatselijke schrijfbewerking klaar is en wanneer het verre knooppunt de gegevensaankomst bevestigt, maar voordat het de gegevens daadwerkelijk heeft opgeslagen. De gegevens op het verre knooppunt zullen meteen na het versturen van de bevestiging worden opgeslagen. Deze modus is bedoeld om latency te verminderen en nog steeds een zeer goede betrouwbaarheid te bieden. De replicatiemodus memsync is momenteel niet geïmplementeerd.
fullsync: rapporteer een schrijfbewerking als voltooid wanneer zowel de plaatselijke en de verre schrijfbewerking voltooid zijn. Dit is de veiligste en traagste replicatiemodus. Dit is de standaardmodus.
async: rapporteer de schrijfbewerking als voltooid wanneer de plaatselijke schrijfbewerking klaar is. Dit is de snelste en gevaarlijkste replicatiemodus. Het dient gebruikt te worden wanneer er naar een ver knooppunt wordt gerepliceerd en de latency te hoog is voor andere modi. De replicatiemodus async is momenteel niet geïmplementeerd.
Momenteel wordt alleen de replicatiemodus fullsync ondersteund.
HAST heeft ondersteuning voor
GEOM_GATE
nodig om te kunnen functioneren. De kernel
GENERIC
bevat standaard geen
GEOM_GATE
, de laadbare module
geom_gate.ko
is echter beschikbaar in de
standaardinstallatie van FreeBSD. Zorg ervoor dat deze module beschikbaar
is voor afgeslankte systemen. Het is ook mogelijk om ondersteuning voor
GEOM_GATE
statisch in de kernel te bouwen, door deze
regel aan het kernelconfiguratiebestand toe te voegen:
options GEOM_GATE
Het HAST-raamwerk bestaat vanuit het besturingssysteem gezien uit verschillende delen:
het daemon hastd(8) dat verantwoordelijk is voor de gegevenssynchronisatie,
het beheerprogramma hastctl(8) voor de gebruikers,
het configuratiebestand hast.conf(5).
Het volgende voorbeeld beschrijft hoe twee knooppunten in een
meester
-slaaf
/
primaire
-secundaire
opstelling te
configureren door HAST te gebruiken om de gegevens
tussen de twee te repliceren. De knooppunten worden
hasta
met IP-adres
172.16.0.1
en
hastb
met IP-adres
172.16.0.2
genoemd. Beide knooppunten hebben
een toegewijde harde schijf
/dev/ad6
van
dezelfde grootte om met HAST te werken. De
HAST-pool (soms ook een hulpbron genoemd, i.e., de
GEOM-aanbieder in /dev/hast/
)
wordt test
genoemd.
Het bestand /etc/hast.conf
regelt de
configuratie van HAST. Dit bestand dient hetzelfde
te zijn op beide knooppunten. Het volgende is de eenvoudigste
configuratie die mogelijk is:
resource test { on hasta { local /dev/ad6 remote 172.16.0.2 } on hastb { local /dev/ad6 remote 172.16.0.1 } }
Raadpleeg voor geavanceerdere configuraties de handleidingpagina hast.conf(5).
Het is ook mogelijk om hostnamen in de regels met
remote
te gebruiken. Zorg er in dat geval voor dat
deze hosts vindbaar zijn, bijvoorbeeld doordat ze zijn gedefinieerd in
het bestand /etc/hosts
of anders in het
plaatselijke DNS.
Nu de configuratie op beide knooppunten aanwezig is, kan de HAST-pool aangemaakt worden . Voer deze commando's op beide knooppunten uit om de initiële metagegevens op de plaatselijke schijf te plaatsen en het hastd(8)-daemon te starten:
#
hastctl create test
#
service hastd onestart
Het is niet mogelijk om GEOM-aanbieders met een bestaand bestandssysteem te gebruiken (i.e., een bestaande opslag omzetten naar een door HAST beheerde pool), omdat deze procedure wat metagegevens op de aanbieder moet opslaan en er daarvoor niet genoeg beschikbare ruimte is.
De rol van een HAST-knooppunt (primair
of
secundair
) wordt uitgekozen door een beheerder of
software zoals Heartbeat dat het gereedschap
hastctl(8) gebruikt. Voer het volgende commando uit op het
primaire knooppunt (
hasta
):
#
hastctl role primary test
Voer dit soortgelijke commando uit op het secundaire knooppunt (
hastb
):
#
hastctl role secondary test
De situatie dat de knooppunten niet met elkaar kunnen
communiceren en beide geconfigureerd zijn als primaire knooppunten;
wordt split-brain
genoemd. Volg de stappen zoals
beschreven in Paragraaf 19.18.5.2, “Herstellen van de Split-brain-conditie” om deze situatie op te
lossen.
Verifieer met het gereedschap hastctl(8) het resultaat op elk knooppunt:
#
hastctl status test
De belangrijke tekst is de regel met status
dat
voor alle knooppunten complete
dient te bevatten.
Als het degraded
bevat, is er iets verkeerd gegaan.
Op dat moment is de synchronisatie tussen de knooppunten al begonnen.
De synchronisatie is compleet wanneer hastctl status
0 bytes aan dirty
extents rapporteert.
De volgende stap is het aanmaken van een bestandssysteem op de
GEOM-aanbieder
/dev/hast/test
en
het aan te koppelen. Dit moet op het primaire
knooppunt gebeuren, aangezien
/dev/hast/test
alleen
op het primaire
knooppunt verschijnt. Het aanmaken
van het bestandssysteem kan afhankelijk van de grootte van de harde
schijf enkele minuten duren:
#
newfs -U /dev/hast/test
#
mkdir /hast/test
#
mount /dev/hast/test /hast/test
Wanneer het HAST-raamwerk correct is
geconfigureerd, betreft de laatste stap het ervoor zorgen dat
HAST automatisch tijdens het opstarten wordt gestart.
Voeg deze regel toe aan het bestand
/etc/rc.conf
:
hastd_enable="YES"
Het doel van dit voorbeeld is om een robuust opslagsysteem te
bouwen dat resistent is tegen het falen van alle knooppunten. Het
scenario is dat een primair
knooppunt van het
cluster faalt. Als dit gebeurt, dan neemt het
secundaire
knooppunt het feilloos over, controleert
het het bestandssysteem en koppelt het het bestandssysteem aan, en
gaat het verder zonder dat er een bit aan gegevens ontbreekt.
Om dit voor elkaar te krijgen, is er een andere eigenschap die
beschikbaar is op FreeBSD dat voorziet in automatische failover van de
IP-laag — CARP.
CARP (Common Address Redundancy Protocol)
maakt het mogelijk dat meerdere hosts in hetzelfde netwerksegment
een IP-adres delen. Stel CARP in op beide
knooppunten van het cluster volgens de documentatie die beschikbaar is
in Paragraaf 31.13, “Common Address Redundancy Protocol (CARP)”. Nadat de opzet voltooid is, heeft elk
knooppunt een eigen interface carp0
met een
gedeeld IP-adres 172.16.0.254
. Het
primaire HAST-knooppunt van het
cluster moet het meester-CARP-knooppunt
zijn.
De HAST-pool die in de vorige sectie is gemaakt
is nu klaar om geëxporteerd te worden naar de andere hosts op het
netwerk. Dit kan gedaan worden door het te exporteren over
NFS, Samba, etc., door
gebruik te maken van het gedeelde IP-adres
172.16.0.254
. Het enige overgebleven
probleem is een automatische failover in het geval dat het primaire
knooppunt het begeeft.
Als een CARP-interface aan- of uitgaat, genereert FreeBSD een devd(8)-gebeurtenis, wat het mogelijk maakt om toestandsveranderingen op de CARP-interfaces in de gaten te houden. Een toestandsverandering op het CARP-interface geeft aan dat een van de knooppunten het begaf of weer online kwam. Deze toestandsveranderingen maken het mogelijk om een script te draaien dat automatisch de HAST-failover afhandelt.
Voeg, om toestandsverandering op de
CARP-interfaces af te vangen, het volgende
toe aan het bestand
/etc/devd.conf
op elk knooppunt:
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"; };
Herstart devd(8) op beide knooppunten om de nieuwe configuratie te laten gelden:
#
service devd restart
Als het interface carp0
aan of uit gaat
(i.e., de toestand van het interface verandert), genereert het systeem
een notificatie wat het subsysteem devd(8) in staat stelt om een
willekeurig script te draaien, in dit geval
/usr/local/sbin/carp-hast-switch
. Dit is het
script dat de automatische failover afhandelt. Raadpleeg de
handleidingpagina devd.conf(5) voor verdere uitleg over de
bovenstaande configuratie van devd(8).
Dit zou een voorbeeld van zo'n script kunnen zijn:
#!/bin/sh # Origineel script door Freddie Cash <fjwcash@gmail.com> # Gewijzigd door Michael W. Lucas <mwlucas@BlackHelicopters.org> # en Viktor Petersson <vpetersson@wireload.net> # De namen van de HAST-hulpbronnen, zoals vermeld in /etc/hast.conf resources="test" # vertraging voor het aankoppelen van de HAST-hulpbron na het worden van meester # doe een gok delay=3 # logging log="local0.debug" name="carp-hast" # einde van gebruiker-instelbare dingen case "$1" in master) logger -p $log -t $name "Omschakelen naar primaire aanbieder voor ${resources}." sleep ${delay} # Wacht totdat de "hastd secondary" processen zijn gestopt for disk in ${resources}; do while $( pgrep -lf "hastd: ${disk} \(secondary\)" > /dev/null 2>&1 ); do sleep 1 done # Verwissel de rol voor elke schijf hastctl role primary ${disk} if [ $? -ne 0 ]; then logger -p $log -t $name "Omschakelen van rol naar primair voor hulpbron ${disk} mislukt." exit 1 fi done # Wacht totdat de apparaten /dev/hast/* verschijnen 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-aanbieder /dev/hast/${disk} is niet verschenen." exit 1 fi done logger -p $log -t $name "Rollen van HAST-hulpbronnen ${resources} omgeschakeld naar primair." logger -p $log -t $name "Schijven aankoppelen." 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 "Omschakelen naar secundaire aanbieder voor ${resources}." # Schakel de rollen van de HAST-hulpbronnen om 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 "Omschakelen van rol naar secundair voor hulpbron ${disk} mislukt." exit 1 fi logger -p $log -t $name "Rol van hulpbron ${disk} omgeschakeld naar secundair." done ;; esac
In een notendop neemt het script deze acties wanneer een knooppunt
meester
/ primair
wordt:
De HAST-pools opwaarderen naar primair op een gegeven knooppunt.
Het bestandssysteem onder de HAST-pool controleren.
De pools op een juiste plaats aankoppelen.
Wanneer een knooppunt back-up
/
secundair
wordt:
De HAST-pools afkoppelen.
De HAST-pools degraderen naar secundair.
Houd in gedachte dat dit slechts een voorbeeldscript is om aan te tonen dat alles werkt. Het behandeld niet alle mogelijke situaties en kan op elke manier worden uitgebreid of veranderd, het kan bijvoorbeeld benodigde diensten starten en stoppen.
Voor dit voorbeeld hebben we een standaard UFS-bestandssysteem gebruikt. Om de tijd die nodig is voor herstel te verkorten, kan een bestandssysteem met UFS-journalling of ZFS worden gebruikt.
Meer gedetailleerde informatie met aanvullende voorbeelden kunnen gevonden worden op de HAST Wiki-pagina.
HAST zou over het algemeen zonder problemen moeten werken. Net als met elk ander software-product zijn er momenten waarop het anders werkt dan het zou moeten. De oorzaken van de problemen kunnen verschillen, maar de vuistregel is om ervoor te zorgen dat de klokken zijn gesynchroniseerd op alle knooppunten in het cluster.
Wanneer problemen met HAST worden verholpen,
dient het debug-niveau van hastd(8) verhoogd te worden door het
daemon hastd(8) met het argument -d
op te
starten. Merk op dat dit argument meerdere malen kan worden opgegeven
om het debug-niveau nog verder op te hogen. Op deze manier kan veel
nuttige informatie worden vergaard. Overweeg ook om het argument
-F
te gebruiken, dat het daemon hastd(8) in
de voorgrond zal starten.
Split-brain
treedt op waneer de knooppunten van
het cluster niet met elkaar kunnen communiceren, en beide als primair
zijn geconfigureerd. Dit is een gevaarlijke situatie omdat het beide
knooppunten in staat stelt om incompatibele veranderingen aan de
gegevens te maken. Dit probleem dient handmatig door de
systeembeheerder te worden gecorrigeerd.
De beheerder moet besluiten welk knooppunt de belangrijkere veranderingen bevat (of ze handmatig samenvoegen) en HAST een volledige synchronisatie op het knooppunt dat de kapotte gegevens heeft laten uitvoeren. Voer hiervoor deze commando's uit op het knooppunt dat opnieuw gesynchroniseerd moet worden:
#
hastctl role init <resource>
#
hastctl create <resource>
#
hastctl role secondary <resource>
[10] Tips met betrekking tot het kiezen van veilige wachtwoordzinnen die gemakkelijk te onthouden zijn staan op de website Diceware Passphrase.
Dit hoofdstuk beschrijft het gebruik van schijven in het GEOM raamwerk in FreeBSD. Hieronder vallen de belangrijkste RAID besturingsprogramma's die het raamwerk gebruikt voor instellingen. In dit hoofdstuk wordt niet diepgaand beschreven hoe GEOM omgaat met I/O, het onderliggende subsysteem of code. Die informatie staat in het hulppagina voor geom(4) en de verscheidene “SEE ALSO” referenties. Dit hoofdstuk is ook geen definitief stuk over het instellen van RAID. Alleen de door GEOM ondersteunde RAID-classificaties worden beschreven.
Na het lezen van dit hoofdstuk weet de lezer:
Welk type RAID-ondersteuning via GEOM beschikbaar is;
Hoe de basisgereedschappen te gebruiken om de verschillende RAID-niveaus in te stellen, te onderhouden en te wijzigen;
Hoe schijfapparaten via GEOM te spiegelen, aaneen te schakelen, te versleutelen en vanaf afstand schijven aan te sluiten;
Hoe problemen op te lossen met schijven die via het GEOM raamwerk zijn aangesloten.
Veronderstelde voorkennis:
Begrijpen hoe FreeBSD omgaat met schijfapparaten (Hoofdstuk 19, Opslag);
Weten hoe een nieuwe FreeBSD kernel in te stellen en te installeren (Hoofdstuk 9, De FreeBSD-kernel instellen).
GEOM staat toegang en controle toe op klassen, Master Boot
Records, BSD labels, enzovoort, door gebruik
te maken van diensten of de speciale bestanden in /dev
. GEOM ondersteunt
verschillende software RAID instellingen en
biedt transparante toegang tot het besturingssysteem en de
hulpprogramma's.
Aaneenschakelen is een methode die gebruikt wordt om meerdere schijven te combineren tot een enkele volume. In veel gevallen wordt dit gedaan met hardware controllers. Het GEOM subsysteem biedt softwareondersteuning voor RAID0, ook wel bekend als aaneenschakelen (“disk striping”).
In een RAID0-systeem worden gegevens opgedeeld in blokken die verdeeld worden over de schijven in een reeks. In plaats van te hoeven wachten tot een systeem 256k naar één schijf heeft geschreven, kan een RAID0-systeem tegelijkertijd 64k naar vier verschillende schijven schrijven, waardoor superieure I/O prestaties worden bereikt. Deze prestaties kunnen nog verbeterd worden door meerdere schijfcontrollers te gebruiken.
Iedere schijf in een RAID0-aaneenschakeling moet van dezelfde grootte zijn, omdat I/O-verzoeken altijd zijn opgebouwd uit precies gelijk over de schijven verdeelde verzoeken tot lezen of schrijven.
Laad de module geom_stripe.ko
:
#
kldload geom_stripe
Zorg ervoor dat er een koppelpunt beschikbaar is. Als dit
volume een rootpartitie wordt, gebruikt dan tijdelijk een
ander koppelpunt zoals /mnt
:
#
mkdir /mnt
Stel de apparaatnamen voor de schijven vast die aaneen
worden geschakeld en maak het nieuwe apparaat aan. Om twee
ongebruikte, ongepartitioneerde ATA
schijven aaneen te schakelen (/dev/ad2
en /dev/ad3
):
#
gstripe label -v st0 /dev/ad2 /dev/ad3
Metadata value stored on /dev/ad2. Metadata value stored on /dev/ad3. Done.
Schrijf een standaard label naar de nieuwe partitie, ook wel bekend als een partitietabel en installeer de standaard opstart code:
#
bsdlabel -wB /dev/stripe/st0
Dit proces hoort twee nieuwe apparaten gemaakt te hebben
in de map /dev/stripe
naast het apparaat st0
, te weten
st0a
en
st0c
. Vanaf nu kan er een
bestandssysteem op st0a
worden
gezet met behulp van de newfs
applicatie:
#
newfs -U /dev/stripe/st0a
Na het uitvoeren van het bovenstaande commando rollen er veel getallen over het scherm en na een aantal seconden is het proces afgerond. Het volume is gereed en klaar om aangekoppeld te worden.
Om de nieuwe aaneengeschakelde schijf handmatig te koppelen moet het volgende gedaan worden:
#
mount /dev/stripe/st0a /mnt
Om dit aaneengeschakelde bestandssysteem automatisch aan te
koppelen bij het opstarten wordt de volume-informatie in
/etc/fstab
gezet. Voor dit doel wordt een
permanent koppelpunt, genaamd stripe
, aangemaakt:
#
mkdir /stripe
#
echo "/dev/stripe/st0a /mnt ufs rw 2 2" \
>> /etc/fstab
Laadt de module geom_stripe.ko
ook
automatisch bij het initialiseren van een systeem door de volgende
regel toe te voegen aan /boot/loader.conf
:
#
echo 'geom_stripe_load="YES"' >> /boot/loader.conf
RAID1, of spiegelen, is de techniek om dezelfde gegevens naar meer dan één schijf te schrijven. Spiegels worden normaliter gebruikt om tegen gegevensverlies te beschermen indien een schijf kapot gaat. Elke schijf in een spiegel bevat een identieke kopie van de gegevens. Wanneer een individuele schijf het begeeft, blijft de spiegel functioneren, en levert het gegevens van de schijven die nog wel functioneren. De computer blijft draaien en de beheerder heeft tijd om de kapotte schijf te vervangen zonder onderbreking voor de gebruikers.
Twee veelvoorkomende situaties worden in deze voorbeelden getoond. Het eerste is het maken van een spiegel van twee nieuwe schijven en het als vervanging voor een bestaande enkele schijf te gebruiken. Het tweede voorbeeld maakt een spiegel op een enkele nieuwe schijf aan, kopieert de gegevens van de oude schijf er naar toe, en plaatst daarna de oude schijf in de spiegel. Hoewel deze procedure iets moeilijker is, is er maar één nieuwe schijf nodig.
Traditioneel zijn de twee schijven in een spiegel van hetzelfde model en hebben ze dezelfde capaciteit, maar gmirror(8) verplicht dit niet. Spiegels die met ongelijke schijven zijn gemaakt zullen de capaciteit van de kleinste schijf in de spiegel aannemen. Extra schijfruimte op grotere schijven zal ongebruikt blijven. Schijven die later in de spiegel worden geplaatst moeten tenminste evenveel capaciteit hebben als de kleinste schijf die reeds in de spiegel zit.
De procedures voor het spiegelen die hier getoond worden zijn niet-destructief, maar maak zoals bij elke grote schijfoperatie eerst een volledige back-up.
Veel schijfsystemen slaan meta-gegevens op aan het einde van elke schijf. Oude meta-gegevens dienen gewist te worden voordat de schijf herbruikt wordt voor een spiegel. De meeste problemen worden veroorzaakt door twee soorten van achtergebleven meta-gegevens: GPT-partitietabellen en oude meta-gegevens van gmirror(8) van een vorige spiegel.
GPT-meta-gegevens kunnen gewist worden met gpart(8). Dit
voorbeeld wist zowel de primaire als de back-up GPT-partitietabellen van
schijf ada8
:
#
gpart destroy -F ada8
gmirror(8) kan in één stap een schijf uit een actieve spiegel
halen en de meta-gegevens wissen. Hier wordt de voorbeeldschijf
ada8
uit de actieve spiegel
gm4
gehaald:
#
gmirror remove gm4 ada8
Gebruik, als de spiegel niet draait maar er nog oude meta-gegevens
van de spiegel op de schijf staan, gmirror clear
om
deze te verwijderen:
#
gmirror clear ada8
gmirror(8) slaat één blok aan meta-gegevens aan het einde van de schijf op. Omdat GPT-partitieschema's ook meta-gegevens aan het einde van de schijf opslaan, wordt het spiegelen van volledige GPT-schijven met gmirror(8) niet aangeraden. Hier wordt MBR-partitionering gebruikt omdat het alleen een partitietabel aan het begin van de schijf opslaat en niet conflicteert met gmirror(8).
In dit voorbeeld is FreeBSD reeds op een enkele schijf
ada0
geïnstalleerd. Twee nieuwe schijven,
ada1
en ada2
zijn met
het systeem verbonden. Er zal een nieuwe spiegel op deze twee schijven
aangemaakt worden die de oude enkele schijf zal vervangen.
gmirror(8) heeft een kernelmodule
geom_mirror.ko
nodig, ingebouwd in de kernel of
geladen tijdens het opstarten of draaien. Laadt nu handmatig de
kernelmodule:
#
gmirror load
Maak de spiegel aan met de twee nieuwe schijven:
#
gmirror label -v gm0 /dev/ada1 /dev/ada2
gm0
is een door de gebruiker gekozen
apparaatnaam die aan de nieuwe spiegel wordt toegekend. Nadat de
spiegel is gestart, zal deze apparaatnaam verschijnen in de map
/dev/mirror/
.
Nu kunnen er met gpart(8) MBR- en bsdlabel-partitietabellen op
de spiegel worden aangemaakt. Hier wordt er een traditioneel schema
van een gesplitst bestandssysteem getoond, met partities voor
/
, swap, /var
,
/tmp
en /usr
. Dit werkt ook
voor een enkel bestandssysteem met enkel /
en
een wisselpartitie.
Partities op de spiegel hoeven niet dezelfde grootte te hebben als
die op de bestaande schijf, maar moeten groot genoeg zijn om alle
gegevens die reeds op ada0
staan te kunnen
bevatten.
#
gpart create -s MBR mirror/gm0
#
gpart add -t freebsd -a 4k mirror/gm0
#
gpart show mirror/gm0
=> 63 156301423 mirror/gm0 MBR (74G) 63 63 - free - (31k) 126 156301299 1 freebsd (74G) 156301425 61 - free - (30k)
#
gpart create -s BSD mirror/gm0s1
#
gpart add -t freebsd-ufs -a 4k -s 2g mirror/gm0s1
#
gpart add -t freebsd-swap -a 4k -s 4g mirror/gm0s1
#
gpart add -t freebsd-ufs -a 4k -s 2g mirror/gm0s1
#
gpart add -t freebsd-ufs -a 4k -s 1g mirror/gm0s1
#
gpart add -t freebsd-ufs -a 4k mirror/gm0s1
#
gpart show mirror/gm0s1
=> 0 156301299 mirror/gm0s1 BSD (74G) 0 2 - free - (1.0k) 2 4194304 1 freebsd-ufs (2.0G) 4194306 8388608 2 freebsd-swap (4.0G) 12582914 4194304 4 freebsd-ufs (2.0G) 16777218 2097152 5 freebsd-ufs (1.0G) 18874370 137426928 6 freebsd-ufs (65G) 156301298 1 - free - (512B)
Maak de spiegel opstartbaar door opstartcode in het MBR en bsdlabel te installeren en de actieve slice in te stellen:
#
gpart bootcode -b /boot/mbr mirror/gm0
#
gpart set -a active -i 1 mirror/gm0
#
gpart bootcode -b /boot/boot mirror/gm0s1
Formatteer de bestandssystemen op de nieuwe spiegel en zet daarbij soft-updates aan.
#
newfs -U /dev/mirror/gm0s1a
#
newfs -U /dev/mirror/gm0s1d
#
newfs -U /dev/mirror/gm0s1e
#
newfs -U /dev/mirror/gm0s1f
Bestandssystemen van de originele schijf
(ada0
) kunnen nu met dump(8) en
restore(8) naar de spiegel gekopieerd worden:
#
mount /dev/mirror/gm0s1a /mnt
#
dump -C16 -b64 -0aL -f - / | (cd /mnt && restore -rf -)
#
mount /dev/mirror/gm0s1d /mnt/var
#
mount /dev/mirror/gm0s1e /mnt/tmp
#
mount /dev/mirror/gm0s1f /mnt/usr
#
dump -C16 -b64 -0aL -f - /var | (cd /mnt/var && restore -rf -)
#
dump -C16 -b64 -0aL -f - /tmp | (cd /mnt/tmp && restore -rf -)
#
dump -C16 -b64 -0aL -f - /usr | (cd /mnt/usr && restore -rf -)
/mnt/etc/fstab
moet bewerkt worden om naar de
nieuwe bestandssystemen op de spiegel te wijzen:
# Device Mountpoint FStype Options Dump Pass# /dev/mirror/gm0s1a / ufs rw 1 1 /dev/mirror/gm0s1b none swap sw 0 0 /dev/mirror/gm0s1d /var ufs rw 2 2 /dev/mirror/gm0s1e /tmp ufs rw 2 2 /dev/mirror/gm0s1f /usr ufs rw 2 2
Als de kernelmodule gmirror(8) niet in de kernel is ingebouwd,
wordt /mnt/boot/loader.conf
bewerkt om de module
tijdens het opstarten te laden:
geom_mirror_load="YES"
Herstart het systeem om de nieuwe spiegel te testen en te verifiëren dat alle gegevens zijn gekopieerd. Het BIOS zal de spiegel als twee individuele schijven zien in plaats van als een spiegel. Omdat de schijven identiek zijn, maakt het niet uit vanaf welke schijf wordt opgestart.
Bekijk de sectie Problemen
oplossen als er problemen zijn tijdens het opstarten. Door de
originele ada0
uit te schakelen en los te
koppelen kan het als offline back-up bewaard worden.
Tijdens het gebruik zal de spiegel zich net zoals de originele enkele schijf gedragen.
In dit voorbeeld is FreeBSD reeds geïnstalleerd op een enkele schijf,
ada0
. Een nieuwe schijf,
ada1
, is met het systeem verbonden. Er zal
een spiegel van één schijf worden aangemaakt op de nieuwe schijf, het
bestaande systeem zal ernaar worden gekopieerd, en daarna zal de oude
schijf in de spiegel worden geplaatst. Deze enigszins complexe
procedure is nodig omdat gmirror(8) een blok van 512 bytes aan
meta-gegevens aan het einde van elke schijf moet plaatsen en de
bestaande ada0
meestal alle ruimte reeds heeft
toegewezen.
Laadt de kernelmodule gmirror(8):
#
gmirror load
Controleer de mediagrootte van de originele schijf met diskinfo(8):
#
diskinfo -v ada0 | head -n3
/dev/ada0 512 # sectorsize 1000204821504 # mediasize in bytes (931G)
Maak een spiegel aan op de nieuwe schijf. Om er zeker van te zijn
dat de capaciteit van de spiegel niet groter is dan die van de originele
schijf, wordt gnop(8) gebruikt om een nepschijf van precies
dezelfde grootte aan te maken. Deze schijf slaat geen gegevens op, maar
wordt alleen gebruikt om de grootte van de spiegel te begrenzen.
Wanneer gmirror(8) de spiegel aanmaakt, zal het de capaciteit
beperken tot de grootte van gzero.nop
zelfs
als de nieuwe schijf (ada1
) meer ruimte heeft.
Merk op dat de 1000204821504
op de tweede
regel gelijk moet zijn aan de mediagrootte van
ada0
zoals hierboven door diskinfo(8) is
getoond.
#
geom zero load
#
gnop create -s 1000204821504 gzero
#
gmirror label -v gm0 gzero.nop ada1
#
gmirror forget gm0
gzero.nop
slaat geen gegevens op, dus ziet
de spiegel het niet als verbonden. De spiegel wordt verteld om
componenten die niet verbonden zijn te “vergeten”, waarbij
referenties naar gzero.nop
worden verwijderd.
Het resultaat is een spiegelapparaat dat slechts één enkele schijf,
ada1
, bevat.
Bekijk de partitietabel van ada0
nadat
gm0
is aangemaakt.
Deze uitvoer komt van een schijf van 1 TB. Als er wat
niet-toegewezen ruimte aanwezig is aan het einde van de schijf, kan de
inhoud direct van ada0
naar de nieuwe spiegel
worden gekopieerd.
Als de uitvoer echter toont dat alle ruimte op de schijf is toegewezen zoals in de volgende lijst, is er geen ruimte over voor de 512 bytes aan meta-gegevens van gmirror(8) aan het einde van de schijf.
#
gpart show ada0
=> 63 1953525105 ada0 MBR (931G) 63 1953525105 1 freebsd [active] (931G)
In dit geval moet de partitietabel worden bewerkt om de capaciteit
op mirror/gm0
met één sector te verminderen.
De procedure hiervoor wordt later uitgelegd.
In beide gevallen dienen de partitietabellen op de primaire schijf
eerst gekopieerd te worden. Dit kan gedaan worden met de subcommando's
backup
en restore
van
gpart(8).
#
gpart backup ada0 > table.ada0
#
gpart backup ada0s1 > table.ada0s1
Deze subcommando's maken twee bestanden aan,
table.ada0
en table.ada0s1
.
Dit voorbeeld komt van een schijf van 1 TB af:
#
cat table.ada0
MBR 4 1 freebsd 63 1953525105 [active]
#
cat table.ada0s1
BSD 8 1 freebsd-ufs 0 4194304 2 freebsd-swap 4194304 33554432 4 freebsd-ufs 37748736 50331648 5 freebsd-ufs 88080384 41943040 6 freebsd-ufs 130023424 838860800 7 freebsd-ufs 968884224 984640881
Als de gehele schijf was gebruikt in de uitvoer van gpart(8)
show
, dan moet de capaciteit in deze partitietabellen
met één sector verminderd worden. Bewerk de twee bestanden zodat de
grootte van zowel de slice als de laatste partitie met één verminderd
wordt. Dit zijn de laatste getallen in elke lijst.
#
cat table.ada0
MBR 4 1 freebsd 63 1953525104 [active]
#
cat table.ada0s1
BSD 8 1 freebsd-ufs 0 4194304 2 freebsd-swap 4194304 33554432 4 freebsd-ufs 37748736 50331648 5 freebsd-ufs 88080384 41943040 6 freebsd-ufs 130023424 838860800 7 freebsd-ufs 968884224 984640880
Als er tenminste één sector aan het einde van de schijf niet was toegewezen, kunnen deze twee bestanden ongewijzigd gebruikt worden.
Herstel nu de partitietabel naar
mirror/gm0
.
#
gpart restore mirror/gm0 < table.ada0
#
gpart restore mirror/gm0s1 < table.ada0s1
Controleer de partitietabel met gpart(8)
show
. Dit voorbeeld heeft
gm0s1a
voor /
,
gm0s1d
voor /var
,
gm0s1e
voor /usr
,
gm0s1f
voor /data1
en
gm0s1g
voor /data2
.
#
gpart show mirror/gm0
=> 63 1953525104 mirror/gm0 MBR (931G) 63 1953525042 1 freebsd [active] (931G) 1953525105 62 - free - (31k)#
gpart show mirror/gm0s1
=> 0 1953525042 mirror/gm0s1 BSD (931G) 0 2097152 1 freebsd-ufs (1.0G) 2097152 16777216 2 freebsd-swap (8.0G) 18874368 41943040 4 freebsd-ufs (20G) 60817408 20971520 5 freebsd-ufs (10G) 81788928 629145600 6 freebsd-ufs (300G) 710934528 1242590514 7 freebsd-ufs (592G) 1953525042 63 - free - (31k)
Zowel de slice als de laatste partitie dienen wat vrije ruimte aan het einde van elke schijf te hebben.
Maak bestandssystemen aan op deze nieuwe partities. Het aantal
partities zal variëren, overeenkomend met de partities op de originele
schijf, ada0
.
#
newfs -U /dev/mirror/gm0s1a
#
newfs -U /dev/mirror/gm0s1d
#
newfs -U /dev/mirror/gm0s1e
#
newfs -U /dev/mirror/gm0s1f
#
newfs -U /dev/mirror/gm0s1g
Maak de spiegel opstartbaar door opstartcode in het MBR en bsdlabel te installeren en de actieve slice in te stellen:
#
gpart bootcode -b /boot/mbr mirror/gm0
#
gpart set -a active -i 1 mirror/gm0
#
gpart bootcode -b /boot/boot mirror/gm0s1
Pas /etc/fstab
aan zodat het de nieuwe
partities op de spiegel gebruikt. Maak eerst een kopie van dit bestand
als /etc/fstab.orig
.
#
cp /etc/fstab /etc/fstab.orig
Wijzig /etc/fstab
door
/dev/ada0
door
mirror/gm0
te vervangen.
# Device Mountpoint FStype Options Dump Pass# /dev/mirror/gm0s1a / ufs rw 1 1 /dev/mirror/gm0s1b none swap sw 0 0 /dev/mirror/gm0s1d /var ufs rw 2 2 /dev/mirror/gm0s1e /usr ufs rw 2 2 /dev/mirror/gm0s1f /data1 ufs rw 2 2 /dev/mirror/gm0s1g /data2 ufs rw 2 2
Als de kernelmodule gmirror(8) niet in de kernel is gebouwd,
wijzig dan /boot/loader.conf
om het te
laden:
geom_mirror_load="YES"
Bestandssystemen van de originele schijf kunnen nu met dump(8)
en restore(8) naar de spiegel gekopieerd worden. Merk op dat het
maken van een snapshot voor elk bestandssysteem dat met dump
-L
gedumpt is even kan duren.
#
mount /dev/mirror/gm0s1a /mnt
#
dump -C16 -b64 -0aL -f - / | (cd /mnt && restore -rf -)
#
mount /dev/mirror/gm0s1d /mnt/var
#
mount /dev/mirror/gm0s1e /mnt/usr
#
mount /dev/mirror/gm0s1f /mnt/data1
#
mount /dev/mirror/gm0s1g /mnt/data2
#
dump -C16 -b64 -0aL -f - /usr | (cd /mnt/usr && restore -rf -)
#
dump -C16 -b64 -0aL -f - /var | (cd /mnt/var && restore -rf -)
#
dump -C16 -b64 -0aL -f - /data1 | (cd /mnt/data1 && restore -rf -)
#
dump -C16 -b64 -0aL -f - /data2 | (cd /mnt/data2 && restore -rf -)
Start het systeem opnieuw op vanaf ada1
.
Als alles werkt, zal het systeem opstarten vanaf
mirror/gm0
, wat nu dezelfde gegevens bevat die
ada0
eerder bevatte. Zie de sectie Problemen oplossen als er
problemen zijn met het opstarten.
Op dit moment bestaat de spiegel nog steeds alleen uit de enkele
schijf ada1
.
Nadat er succesvol van mirror/gm0
is
opgestart, is de laatste stap het plaatsen van
ada0
in de spiegel.
Als ada0
in de spiegel wordt geplaatst,
zal de vorige inhoud worden overschreven door gegevens in de spiegel.
Ben er zeker van dat mirror/gm0
dezelfde
gegevens bevat als ada0
voordat
ada0
aan de spiegel wordt toegevoegd. Als
er iets mis is met de gegevens die door dump(8) en
restore(8) gekopieerd zijn, draai dan
/etc/fstab
terug om de bestandssystemen op
ada0
aan te koppelen, start opnieuw op, en
probeer de hele procedure nogmaals.
#
gmirror insert gm0 ada0
GEOM_MIRROR: Device gm0: rebuilding provider ada0
De synchronisatie tussen de twee schijven zal onmiddellijk beginnen.
gmirror(8) status
toont de voortgang.
#
gmirror status
Name Status Components mirror/gm0 DEGRADED ada1 (ACTIVE) ada0 (SYNCHRONIZING, 64%)
Na een tijd zal de synchronisatie voltooid zijn.
GEOM_MIRROR: Device gm0: rebuilding provider ada0 finished.#
gmirror status
Name Status Components mirror/gm0 COMPLETE ada1 (ACTIVE) ada0 (ACTIVE)
mirror/gm0
bestaat nu uit de twee schijven
ada0
en ada1
, en de
inhoud wordt automatisch met elkaar gesynchroniseerd. In het gebruik
zal mirror/gm0
zich net zo gedragen als de
originele enkele schijf.
Mogelijk is het nodig om de BIOS-instellingen te wijzigen om van één van de nieuwe gespiegelde schijven op te starten. Beide spiegelschijven kunnen gebruikt worden voor het opstarten. Als componenten van een spiegel bevatten ze identieke gegevens.
Als het opstarten met dit bericht stopt, is er iets mis met het spiegelapparaat:
Mounting from ufs:/dev/mirror/gm0s1a failed with error 19. Loader variables: vfs.root.mountfrom=ufs:/dev/mirror/gm0s1a vfs.root.mountfrom.options=rw Manual root filesystem specification: <fstype>:<device> [options] Mount <device> using filesystem <fstype> and with the specified (optional) option list. eg. ufs:/dev/da0s1a zfs:tank cd9660:/dev/acd0 ro (which is equivalent to: mount -t cd9660 -o ro /dev/acd0 /) ? List valid disk boot devices . Yield 1 second (for background tasks) <empty line> Abort manual input mountroot>
Het vergeten om de module geom_mirror
in
/boot/loader.conf
te laden kan dit probleem
veroorzaken. Start op vanaf een FreeBSD-9 of nieuwere CD of USB-stick
en kies Shell
op de eerste prompt om dit op te
lossen. Laadt daarna de spiegelmodule en en koppel het
spiegelapparaat aan:
#
gmirror load
#
mount /dev/mirror/gm0s1a /mnt
Voeg een regel om de spiegelmodule te laden toe aan
/mnt/boot/loader.conf
:
geom_mirror_load="YES"
Sla het bestand op en start opnieuw op.
Andere problemen die error 19
veroorzaken
zijn lastiger om op te lossen. Typ
ufs:/dev/ada0s1a
in op de prompt. Hoewel het
systeem van ada0
zou moeten opstarten,
verschijnt er een andere prompt om een shell uit te kiezen omdat
/etc/fstab
onjuist is. Druk op de prompt op
de Enter-toets. Draai de wijzigingen tot nu toe terug door
/etc/fstab
terug te draaien, waardoor de
bestandssystemen vanaf de originele schijf (
ada0
) in plaats vanaf de spiegel worden
aangekoppeld. Start het systeem opnieuw op en probeer de procedure
nogmaals.
Enter full pathname of shell or RETURN for /bin/sh:#
cp /etc/fstab.orig /etc/fstab
#
reboot
Het mooie aan het spiegelen van schijven is dat een individuele schijf kan falen zonder dat de spiegel gegevens verliest.
ada0
is één van de twee schijven die de
spiegel in het vorige voorbeeld vormen. Als
ada0
faalt zal de spiegel blijven werken en
gegevens leveren van de overgebleven werkende schijf,
ada1
.
Om de kapotte schijf te vervangen wordt de computer uitgezet en de
kapotte schijf fysiek vervangen door een nieuwe schijf van gelijke of
grotere capaciteit. Fabrikanten passen enigszins willekeurige waarden
toe om schijven in gigabytes aan te duiden, de enige manier om er echt
zeker van te zijn is om de totale hoeveelheid aan sectors aangegeven
door diskinfo -v
te vergelijken. Een schijf met een
grotere capaciteit dan in de spiegel zal werken, alhoewel de extra
ruimte op de nieuwe schijf niet gebruikt zal worden.
Nadat de computer opnieuw is aangezet, zal de spiegel in een “degraded” toestand met slechts één schijf draaien. De spiegel wordt verteld om schijven die momenteel niet verbonden zijn te vergeten:
#
gmirror forget gm0
Alle oude meta-gegevens zouden van de vervangende schijf gewist
moeten zijn. Daarna wordt de schijf, in dit voorbeeld
ada4
, in de spiegel geplaatst:
#
gmirror insert gm0 /dev/ada4
De hersynchronisatie begint wanneer de nieuwe schijf in de spiegel wordt geplaatst. Het kopiëren van gegevens van de spiegel naar een nieuwe schijf kan een tijd duren. De prestaties van de spiegel zullen tijdens het kopiëren sterk verminderd zijn, dus is het het beste om nieuwe schijven in te voegen wanneer de vraag op de computer laag is.
De voortgang kan met gmirror status
gevolgd
worden, wat de schijven die gesynchroniseerd en het percentage van de
voltooiing laat zien. Tijdens de hersynchronisatie zal de status
DEGRADED
zijn en veranderen in
COMPLETE
wanneer het proces is
voltooid.
RAID3 is een methode om verschillende schijven te combineren in een enkel volume met een toegewijde schijf voor de pariteit. In een RAID3-systeem worden de gegevens opgesplitst in een aantal bytes die over alle schijven in de rij worden geschreven, behalve naar één schijf die als een toegewijde schijf voor de pariteit dient. Dit betekent dat het lezen van 1024 kB van een RAID3-implementatie alle schijven in de rij zal benaderen. De prestatie kan worden verhoogd door meerdere schijfcontrollers te gebruiken. De RAID3-rij biedt een fouttolerantie van 1 schijf, terwijl het een capaciteit van 1 - 1/n maal de totale capaciteit biedt van alle schijven in de rij, waarbij n het aantal harde schijven in de rij is. Zulke configuraties zijn meestal geschikt voor het opslaan van gegevens van grotere groottes, bijvoorbeeld multimedia-bestanden.
Er zijn minstens 3 fysieke harde schijven nodig om een RAID3-rij te bouwen. Elke schijf moet van dezelfde grootte zijn, aangezien I/O-verzoeken worden verweven om parallel naar meerdere schijven te lezen of schrijven. Bovendien moet vanwege de aard van RAID3 het aantal schijven gelijk zijn aan 3, 5, 9, 17, enzovoorts (dus 2^n + 1).
In FreeBSD is ondersteuning voor RAID3 geïmplementeerd in de GEOM-klasse graid3(8). Voor het aanmaken van een toegewijde RAID3-rij op FreeBSD zijn deze stappen nodig.
Hoewel het theoretisch mogelijk is om op FreeBSD van een RAID3-rij op te starten, is deze configuratie ongebruikelijk en niet aangeraden.
Laad ten eerste de kernelmodule
geom_raid3.ko
door de volgende opdracht uit te
voeren:
#
graid3 load
Het is ook mogelijk om handmatig de module
geom_raid3.ko
te laden:
#
kldload geom_raid3.ko
Zorg ervoor dat er een geschikt aankoppelpunt bestaat of maak het aan:
#
mkdir /multimedia/
Bepaal de apparaatnamen voor de schijven die aan de rij worden
toegevoegd en maak het nieuwe RAID3-apparaat
aan. Het laatst vermelde apparaat zal dienst doen als de toegewijde
schijf voor de pariteit. Dit voorbeeld gebruikt drie
ongepartitioneerde ATA-schijven:
ada1
en
ada2
voor
gegevens en ada3
voor pariteit.
#
graid3 label -v gr0 /dev/ada1 /dev/ada2 /dev/ada3
Metadata value stored on /dev/ada1. Metadata value stored on /dev/ada2. Metadata value stored on /dev/ada3. Done.
Partitioneer het nieuw aangemaakte apparaat
gr0
en zet er een UFS-bestandssysteem
op:
#
gpart create -s GPT /dev/raid3/gr0
#
gpart add -t freebsd-ufs /dev/raid3/gr0
#
newfs -j /dev/raid3/gr0p1
Vele getallen zullen over het scherm lopen, en na wat tijd zal het proces voltooid zijn. Het volume is aangemaakt en is klaar om aangekoppeld te worden.
De laatste stap is het aankoppelen van het bestandssysteem:
#
mount /dev/raid3/gr0p1 /multimedia/
De RAID3-rij is nu klaar voor gebruik.
Aanvullende configuratie is nodig om de bovenstaande opstelling te behouden tussen het opnieuw starten van het systeem.
De module geom_raid3.ko
moet geladen zijn
voordat de rij kan worden aangekoppeld. Voeg de volgende regel toe
aan /boot/loader.conf
om de kernelmodule
automatisch tijdens de initialisatie van het systeem te
laden:
geom_raid3_load="YES"
De volgende volume-informatie moet aan het bestand
/etc/fstab
worden toegevoegd om het
bestandssysteem van de rij automatisch aan de koppelen tijdens het
opstarten van het systeem:
/dev/raid3/gr0p1 /multimedia ufs rw 2 2
GEOM ondersteund het op afstand gebruiken van apparaten, zoals schijven, CD-ROMs, bestanden, etcetera door het gebruik van de gate-applicaties. Dit is vergelijkbaar met NFS.
Om te beginnen moet er een exports bestand gemaakt worden.
Dit bestand specificeert wie de geëxporteerde bron mag
benaderen en welke rechten er op dat moment verleend worden.
Bijvoorbeeld om de vierde slice te exporteren van de eerste
SCSI schijf, moet het volgende in
/etc/gg.exports
gezet worden:
192.168.1.0/24 RW /dev/da0s4d
Dit staat alle machines in het privé netwerk toe om het
bestandssysteem op da0s4d
te benaderen.
Om dit apparaat te kunnen exporteren is het van belang dat de schijf nog niet gekoppeld is en moet de ggated(8) dienst gestart worden.
#
ggated
Om vervolgens het apparaat aan een client machine te koppelen moet het volgende gedaan worden:
#
ggatec create -o rw 192.168.1.1 /dev/da0s4d
ggate0#
mount /dev/ggate0 /mnt
Vanaf dit moment kan de schijf benaderd worden via het
koppelpunt /mnt
.
Let op, dit mislukt als de schijf reeds gekoppeld is op de server machine of als deze reeds gekoppeld is aan een andere machine op het netwerk.
Zodra het apparaat niet langer nodig is, kan het veilig ontkoppeld worden met behulp van umount(8) net zoals met elke andere schijf.
Tijdens het initialiseren van het systeem zal de FreeBSD kernel
apparaatknooppunten creëren nadat het een apparaat gevonden
heeft. Deze manier om te zoeken naar apparaten levert wat
problemen op bijvoorbeeld wanneer er een nieuwe schijf wordt
toegevoegd via USB. Het is hoogst
waarschijnlijk dat een flash apparaat een apparaatknooppunt
krijgt van da0
, waarna de originele
da0
op schuift naar
da1
. Dit levert problemen op als
bestandssystemen worden gekoppeld als ze gedefinieerd zijn in
/etc/fstab
, dit kan zelfs ertoe leiden dat
het systeem niet opstart.
Een mogelijke oplossing hiervoor is om de
SCSI schijven een vaste plek te geven op
een bepaalde volgorde, zodat zodra er een nieuwe schijf
geplaatst wordt, deze een ongebruikt apparaatknooppunt
toegewezen krijgt. Maar wat als er USB
apparaten zijn die de primaire SCSI schijf
vervangt? Dit gebeurd omdat USB apparaten
meestal eerder gevonden worden dan een SCSI
kaart. Een oplossing hiervoor is om de apparaten pas toe te
voegen als het systeem reeds gestart is, een andere methode kan
zijn om alleen een enkele ATA schijf te
koppelen en nooit SCSI schijven door middel
van /etc/fstab
.
Maar er is een betere oplossing beschikbaar. Door het gebruik
van glabel
kunnen beheerders en gebruikers een
label toevoegen aan een schijf, en deze labels gebruiken in
/etc/fstab
. Omdat glabel
het label bewaard in de laatste sector van de schijf, kan het
label bewaard blijven ook na een reboot en kan het
bestandssysteem altijd gekoppeld worden ongeacht welk
apparaatknooppunt toegekend is aan het apparaat.
Uiteraard hoeft een label niet permanent te zijn, het
glabel
programma kan zowel tijdelijke als
permanente labels aanmaken. Alleen een permanent label blijft
beschikbaar ook na een reboot. Zie de glabel(8)
handleiding voor meer informatie over de verschillen tussen de
labeltypes.
Er zijn twee type labels: een generiek label en een
bestandssysteemlabel. Labels kunnen permanent of tijdelijk
zijn. Permanente labels kunnen met de commando's tunefs(8)
of newfs(8) aangemaakt worden. Ze zullen vervolgens worden
aangemaakt in een submap van
/dev
, welke genoemd wordt
naar het bestandssysteemtype. Bijvoorbeeld
UFS2 labels worden geplaatst in de map
/dev/ufs
. Permanente
labels kunnen ook worden aangemaakt met het commando
glabel label
. Deze zijn niet specifiek voor
het bestandssysteem, en zullen in de map /dev/label
aangemaakt
worden.
Een tijdelijk label verdwijnt na een herstart van het
systeem. Deze labels worden gecreëerd in
/dev/label
en zijn
perfect voor experimenten. Een tijdelijk kan met het commando
glabel create
worden aangemaakt. Lees voor
meer informatie de handleidingpagina van glabel(8).
Om een permanent label te schrijven voor een UFS2-bestandssysteem zonder de huidige data te vernietigen:
#
tunefs -L home /dev/da3
Als het bestandssyteem vol is kan dit leiden tot data corruptie; echter als het bestandssysteem vol is zou het hoofddoel moeten zijn om oude achtergebleven bestanden weg te halen in plaats van het toevoegen van labels.
Er zou nu een label moeten bestaan in
/dev/ufs
, welke
toegevoegd kan worden aan het /etc/fstab
bestand:
/dev/ufs/home /home ufs rw 2 2
Het bestandssysteem mag niet aangekoppeld zijn op het
moment dat tunefs
gebruikt wordt.
Nu kan het bestandssysteem net als normaal worden gekoppeld:
#
mount /home
Vanaf dit moment is het mogelijk om, zolang de
geom_label.ko
geladen wordt tijdens het
opstarten van het systeem, of als deze is meegecompileerd door
middel van de GEOM_LABEL
optie in de kernel,
het apparaatknooppunt te wijzigen zonder ernstige gevolgen voor
het systeem.
Bestandssystemen kunnen ook een standaard label mee krijgen
door gebruik te maken van de -L
optie met het
newfs
commando. Zie de newfs(8)
handleiding voor meer informatie.
Het volgende commando kan worden gebruikt om een label te verwijderen:
#
glabel destroy home
Het volgende voorbeeld laat zien hoe de partities van een opstartschijf gelabeld worden.
Door de partities op de opstartschijf permanent te labelen
zou het systeem in staat moeten zijn om normaal door te gaan
met opstarten, zelfs als de schijf verplaatst is naar een
andere controller of is overgeplaatst naar een ander systeem.
In dit voorbeeld wordt aangenomen dat er een enkele
ATA-schijf wordt gebruikt, die momenteel
als ad0
door het systeem wordt
herkend. Het wordt ook aangenomen dat het standaard
partitieschema van FreeBSD wordt gebruikt, met de
bestandssystemen /
,
/var
,
/usr
, en
/tmp
, alsmede een
wisselpartitie.
Start het systeem opnieuw op, en druk bij de loader(8)-prompt op 4 om in enkele gebruikersmodus op te starten. Geef dan de volgende commando's:
#
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
Het systeem zal doorgaan met opstarten in
meergebruikersmodus. Bewerk, nadat het opstarten is voltooid,
/etc/fstab
en vervang de conventionele
namen door de respectievelijke labels. Het uiteindelijke
bestand /etc/fstab
zal er als volgt
uitzien:
# 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
Het systeem kan nu worden herstart. Als alles goed ging,
zal het normaal opstarten en zal mount
dit
laten zien:
#
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 met FreeBSD 7.2 ondersteunt de klasse glabel(8)
een nieuw labeltype voor UFS-bestandssystemen,
gebaseerd op het unieke id van het bestandssysteem,
ufsid
. Deze labels kunnen in de map /dev/ufsid
gevonden worden en
worden automatisch tijdens het opstarten aangemaakt. Het is
mogelijk om de ufsid
-labels te gebruiken om
partities aan te koppelen door middel van de faciliteit
/etc/fstab
. Gebruik glabel
status
om een lijst van bestandssystemen en hun
overeenkomende ufsid
-labels te ontvangen:
%
glabel status
Name Status Components ufsid/486b6fc38d330916 N/A ad4s1d ufsid/486b6fc16926168e N/A ad4s1f
In het bovenstaande voorbeeld representeert
ad4s1d
het bestandssysteem /var
, terwijl
ad4s1f
het bestandssysteem /usr
representeert. Door gebruik
te maken van de gegeven ufsid
-waarden kunnen
deze partities nu aangekoppeld worden met de volgende regels in
/etc/fstab
:
/dev/ufsid/486b6fc38d330916 /var ufs rw 2 2 /dev/ufsid/486b6fc16926168e /usr ufs rw 2 2
Elke partitie met een ufsid
-label kan op
deze manier worden aangekoppeld, waardoor het niet meer nodig is
om handmatig permanente labels voor ze aan te maken, terwijl er
nog steeds van de voordelen van apparaatnaam-onafhankelijk
aankoppelen genoten kan worden.
Met de komst van FreeBSD 7.0 komt ook de langverwachte optie van UFS logboeken. De implementatie zelf is gedaan door middel van het GEOM subsysteem, welke makkelijk geconfigureerd kan worden met behulp van de gjournal(8) applicatie.
Wat is logboeken? Logboek mogelijkheden betekend het opslaan van bestandssysteem transacties, zoals wijzigingen die een complete schrijfactie zijn, voor er meta-data wordt toegevoegd en voor de wijzigingen op schijf worden gezet. Deze transactie log kan later opnieuw afgespeeld worden om te voorkomen dat er bestandssysteem inconsistenties voorkomen.
Deze methode is een extra manier om te beschermen tegen gegevensverlies en inconsistenties van het bestandssysteem. In tegenstelling tot Soft Updates, welke bijhoud welke meta-data wijzigingen er worden uitgevoerd en Snapshots, wat een beeld bestand is van het bestandssysteem, wordt er een complete log bewaard in de schijfruimte die speciaal voor deze taak is gereserveerd, en in sommige gevallen op een compleet andere schijf.
In tegenstelling tot andere logboek implementaties is de
gjournal
methode blok gebaseerd en niet
geïmplementeerd als onderdeel van het bestandssysteem maar
als uitbreiding op GEOM.
Om ondersteuning in te schakelen voor
gjournal
, moet de kernel over de volgende optie
beschikken, welke standaard is op FreeBSD 7.X-systemen:
options UFS_GJOURNAL
Indien gejournalde volumes tijdens het opstarten aangekoppeld
moeten worden, moet de kernelmodule
geom_journal.ko
ook geladen zijn, door de
volgende regel aan /boot/loader.conf
toe te
voegen:
geom_journal_load="YES"
Ook kan deze functie in een eigen kernel worden ingebouwd, door de volgende regel aan het kernelinstellingenbestand toe te voegen:
options GEOM_JOURNAL
Het creëren van een logboek op een vrij en beschikbaar
bestandssysteem kan nu gedaan worden met behulp van de volgende
stappen, ervan uitgaande dat da4
de
nieuwe beschikbare SCSI schijf is:
#
gjournal load
#
gjournal label /dev/da4
Op dit moment zou er een ad4
apparaatknooppunt en een ad4.journal
apparaatknooppunt moeten zijn. Nu kan er een bestandssysteem op
gezet worden:
#
newfs -O 2 -J /dev/da4.journal
Het hiervoor ingevoerde commando zal een UFS2 bestandssysteem met logboek ondersteuning aanmaken.
Koppel het apparaat op een gewenst koppelpunt met:
#
mount /dev/da4.journal /mnt
In het geval dat er meerdere slices zijn, zal er een logboek
voor elke slice gecreëerd worden. Bijvoorbeeld, als
ad4s1
en ad4s2
allebei slices zijn, dan zal gjournal
een
ad4s1.journal
en een
ad4s2.journal
creëeren.
Voor performance doeleinden is het gewenst om het logboek op een
andere schijf te bewaren. Voor deze gevallen moet de
logboekleverancier of het opslagapparaat gespecificeerd worden
achter het apparaat waarop de logboek functionaliteit aangebracht
moet worden. De logboekfunctionaliteit kan ook worden
ingeschakeld op een reeds bestaand systeem met behulp van
tunefs
. Maak echter altijd een back-up voor dat
dit soort dingen uitgeprobeerd worden. In de meeste gevallen zal
gjournal
falen als het geen actueel logboek
kan maken, maar het voorkomt geen dataverlies als gevolg van
verkeerd gebruik van tunefs
.
Het is ook mogelijk om een journal van de opstartschijf van een FreeBSD-systeem bij te houden. Voor gedetailleerde instructies over deze taak wordt naar het artikel Implementing UFS Journaling on a Desktop PC verwezen.
Bestandssystemen zijn een integraal onderdeel van ieder besturingssysteem. Ze stellen gebruikers in de gelegenheid om bestanden te uploaden en op te slaan, geven toegang tot gegevens en maken natuurlijk harde schijven bruikbaar. Verschillende besturingssystemen hebben gewoonlijk één gezamenlijk aspect, namelijk het bestandssysteem. Op FreeBSD staat dit bestandssysteem bekend onder de naam Fast File System ofwel FFS, dat is gebaseerd op het oorspronkelijke Unix™ File System, ook bekend als UFS. Dit is het oorspronkelijke bestandssysteem van FreeBSD dat op harde schijven wordt geplaatst voor gegevenstoegang.
FreeBSD ondersteunt daarnaast ook een groot aantal andere bestandssystemen om lokaal toegang tot gegevens van andere besturingssystemen te bewerkstelligen; dat wil zeggen: gegevens opgeslagen op lokaal aangesloten USB opslagapparaten, flash drives, en harde schijven. Verder is er ook ondersteuning voor vreemde bestandssystemen. Dit zijn bestandssystemen ontwikkeld voor andere besturingssystemen zoals het Linux® Extended File System (EXT) en het Sun™ Z File System (ZFS).
Er zijn verschillende gradaties van ondersteuning voor de verschillende bestandssystemen op FreeBSD. Sommigen vereisen het laden van een kernelmodule, voor anderen moet een toolset worden geïnstalleerd. Dit hoofdstuk is geschreven om gebruikers van FreeBSD te helpen om op hun systeem toegang te verkrijgen tot andere bestandssystemen, te beginnen met het Sun™ Z File System.
Na het lezen van dit hoofstuk weet de lezer:
Het verschil tussen eigen en ondersteunde bestandssystemen.
Welke bestandssystemen zijn ondersteund in FreeBSD.
Hoe niet-eigen bestandssystemen geactiveerd, geconfigureerd, benaderd en gebruikt kunnen worden.
Voorafgaand aan het lezen van dit hoofdstuk dient de lezer:
Begrip te hebben van de beginselen van UNIX® en FreeBSD (Hoofdstuk 4, UNIX® beginselen).
Bekend te zijn met de beginselen van kernelconfiguratie en -compilatie (Hoofdstuk 9, De FreeBSD-kernel instellen).
Vertrouwd te zijn met installatie van software van derden in FreeBSD (Hoofdstuk 5, Applicaties installeren: pakketten en ports).
Enigszins bekend te zijn met schijven, opslag en apparaatnamen in FreeBSD (Hoofdstuk 19, Opslag).
Het Z File System, ontwikkeld door Sun™, is een nieuwe technologie ontwikkeld om gebruik te maken van een pool-gebaseerde opslagmethode. Dit houdt in dat ruimte pas wordt gebruikt wanneer het nodig is voor dataopslag. Verder is het ontworpen voor maximale integriteit van gegevens, ondersteuning van gegevens-snapshots, meerdere kopieën, en gegevenschecksums. Ook is een nieuw gegevensreplicatiemodel, bekend als RAID-Z, toegevoegd; RAID-Z lijkt op RAID5, maar is ontworpen om corruptie tijdens het schrijven van gegevens te voorkomen.
Het ZFS subsysteem maakt gebruik van veel systeembronnen waardoor het nodig kan zijn een en ander af te stellen, zodat voor het dagelijks gebruik maximale efficiëntie wordt behaald. Doordat het een experimentele eigenschap van FreeBSD is, kan dit in de nabije toekomst veranderen; op dit moment echter, worden de volgende stappen aangeraden.
De totale hoeveelheid systeemgeheugen dient minstens één gigabyte te zijn, maar twee gigabytes of meer wordt aanbevolen. In alle voorbeelden hier heeft het systeem één gigabyte geheugen, met verschillende andere afstelmechanismen in werking.
Sommigen hebben succes gehad met minder dan een gigabyte geheugen, maar met een dergelijke, beperkte hoeveelheid geheugen is de kans groot dat onder zware belasting een kernelpanic in FreeBSD op zal treden door uitputting van het geheugen.
Het wordt aangeraden om ongebruikte
stuurprogramma's en opties te verwijderen uit het
kernelconfiguratiebestand. Omdat de meeste
stuurprogramma's beschikbaar zijn als modules kunnen ze
alsnog worden geladen door middel van het bestand
/boot/loader.conf
.
Gebruikers van de i386™-architectuur dienen de volgende optie aan hun kernelconfiguratiebestand toe te voegen, de kernel opnieuw te compileren, en opnieuw op te starten:
options KVA_PAGES=512
Deze optie vergroot de kerneladresruimte, waarmee het
mogelijk wordt gemaakt om de vm.kvm_size
afstelling hoger dan de huidige limiet van 1 GB
(2 GB voor PAE) in te stellen.
Deel, om de meest geschikte waarde voor deze optie te
vinden, de gewenste hoeveelheid adresruimte door vier (4).
In dit geval is dat 512
voor
2 GB.
De kmem
adresruimte dient te
worden vergroot op alle FreeBSD architecturen. Op het
testsysteem met één gigabyte fysiek geheugen werd
succes behaald met de volgende opties, die in het bestand
/boot/loader.conf
geplaatst dienen te
worden, waarna het systeem opnieuw moet worden
opgestart:
vm.kmem_size="330M" vm.kmem_size_max="330M" vfs.zfs.arc_max="40M" vfs.zfs.vdev.cache.size="5M"
Zie voor een meer gedetailleerde lijst van aanbevelingen
aangaande ZFS-afstelling:
http://wiki.freebsd.org/ZFSTuningGuide
.
Er is een opstartmechanisme dat FreeBSD in staat stelt om ZFS pools te mounten tijdens initialisatie van het systeem. Voer de volgende commando's uit om dit in te stellen:
#
echo 'zfs_enable="YES"' >> /etc/rc.conf
#
service zfs start
In het resterende deel van dit document wordt aangenomen
dat er drie SCSI-schijven beschikbaar zijn,
en dat hun apparaatnamen respectievelijk
da0
,
da1
en
da2
zijn.
Gebruikers van IDE-hardware kunnen de
ad
apparaten gebruiken in plaats van
SCSI-apparaten.
Voer het commando zpool
uit om een simpele,
niet-redundante ZFS-pool op een enkele schijf aan
te maken:
#
zpool create example /dev/da0
Bestudeer de uitvoer van het commando
df
om de nieuwe pool te zien:
#
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
In deze uitvoer wordt duidelijk dat de
example
-pool niet alleen is aangemaakt,
maar ook direct gemount is. Hij is ook
toegankelijk, net als een gewoon bestandssysteem; er kunnen
bestanden op worden aangemaakt en gebruikers kunnen er op
rondkijken zoals in het volgende voorbeeld:
#
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
Helaas benut deze pool nog geen ZFS-mogelijkheden. Maak een bestandssysteem aan op deze pool en activeer er compressie op:
#
zfs create example/compressed
#
zfs set compression=gzip example/compressed
example/compressed
is nu een
gecomprimeerd ZFS-bestandssysteem. Probeer
er een paar grote bestanden naartoe te kopiëren door ze
naar /example/compressed
te kopiëren.
De compressie kan nu worden uitgeschakeld met:
#
zfs set compression=off example/compressed
Voer het volgende commando uit om het bestandssysteem te
unmounten, en controleer dat daarna met
df
:
#
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
Mount het bestandssysteem opnieuw om het weer
toegankelijk te maken en controleer met
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
De pool en het bestandssysteem zijn ook zichtbaar in de
uitvoer van mount
:
#
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)
Zoals is te zien kunnen
ZFS-bestandssystemen, nadat ze zijn
gecreëerd, net als gewone bestandssystemen worden
gebruikt; er zijn echter ook vele andere mogelijkheden
beschikbaar. In het volgende voorbeeld wordt er een nieuw
bestandssysteem data
gecreëerd.
Er zullen belangrijke bestanden op worden bewaard, dus het
bestandssysteem wordt zodanig ingesteld dat het twee
kopieën van ieder gegevensblok opslaat:
#
zfs create example/data
#
zfs set copies=2 example/data
Het is nu mogelijk om het gegevens- en ruimtegebruik te
bekijken door df
opnieuw te
draaien:
#
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
Merk op dat ieder bestandssysteem in de pool dezelfde
hoeveelheid vrije ruimte heeft. Dit is de reden dat
df
steeds wordt gebruikt tussen de
voorbeelden door, om te laten zien dat de bestandssystemen
slechts zoveel ruimte gebruiken als ze nodig hebben en
allemaal putten uit dezelfde pool.
Het ZFS bestandssysteem elimineert
concepten als volumes en partities, en staat verschillende
bestandssystemen toe om in dezelfde pool te bestaan.
Verwijder nu de bestandssystemen en verwijder daarna de pool,
omdat deze niet meer nodig zijn:
#
zfs destroy example/compressed
#
zfs destroy example/data
#
zpool destroy example
Schijven gaan slechter werken en begeven het, een onvermijdelijke eigenschap. Wanneer de schijf stukgaat zullen de gegevens verloren gaan. Een methode om gegevensverlies ten gevolge van een kapotte harde schijf te vermijden is het implementeren van RAID. ZFS ondersteunt deze mogelijkheid in zijn pool-ontwerp en wordt beschreven in de volgende sectie.
Zoals eerder opgemerkt wordt in deze sectie aangenomen
dat er drie SCSI-schijven bestaan als de
apparaten da0
, da1
en da2
(of ad0
en
hoger als IDE-schijven worden gebruikt). Voer het volgende commando
uit om een RAID-Z-pool te creëren:
#
zpool create storage raidz da0 da1 da2
Sun™ raadt aan om tussen de drie en negen schijven te gebruiken voor een RAID-Z-configuratie. Overweeg, als u een enkele pool met 10 of meer schijven nodig heeft, om deze te splitsen in kleine RAID-Z-groepen. Overweeg, als u slechts twee schijven heeft en nog steeds redundantie nodig heeft, om in plaats hiervan een ZFS-spiegel te gebruiken. Bekijk de handleidingpagina zpool(8) voor meer details.
De storage
zpool zou gecreëerd
moeten zijn. Dit kan worden geverifieerd met de
mount(8) en df(1) commando's zoals eerder. Er
kunnen meer schijfapparaten worden toegewezen door ze aan het
einde van de bovenstaande lijst toe te voegen.
Maak een nieuw bestandssysteem in de pool, genaamd
home
, waar op den duur de
gebruikersbestanden geplaatst zullen worden:
#
zfs create storage/home
Het is nu mogelijk om compressie in te schakelen en extra kopieën te bewaren van de gebruikersmappen en -bestanden. Dit kan net als eerder worden bewerkstelligd door de volgende commando's uit te voeren:
#
zfs set copies=2 storage/home
#
zfs set compression=gzip storage/home
Kopieer, om dit als de nieuwe home-map voor gebruikers in te stellen, de gebruikersgegevens naar deze map en creëer de benodigde links:
#
cp -rp /home/* /storage/home
#
rm -rf /home /usr/home
#
ln -s /storage/home /home
#
ln -s /storage/home /usr/home
De gebruikersgegevens zouden nu op het nieuw aangemaakte
/storage/home
bestandssysteem moeten staan. Test dit door een nieuwe
gebruiker aan te maken en daarmee in te loggen.
Probeer een snapshot te maken dat later weer hersteld kan worden:
#
zfs snapshot storage/home@08-30-08
Merk op dat de snapshot-optie alleen een echt
bestandssysteem vastlegt, geen mappen of bestanden. Het
@
-karakter wordt gebruikt als
scheidingsteken tussen de naam van het bestandssysteem of de
naam van het volume. Wanneer de home-map van een gebruiker
wordt weggegooid, kan deze worden hersteld met:
#
zfs rollback storage/home@08-30-08
Voer ls
in de
.zfs/snapshot
directory van het bestandssysteem uit om een lijst van alle
beschikbare snapshots te krijgen. Voer, om bijvoorbeeld
het zojuist gemaakte snapshot te zien, het volgende commando
uit:
#
ls /storage/home/.zfs/snapshot
Het is mogelijk om een script te schrijven dat maandelijks een snapshot van de gebruikersgegevens maakt; na verloop van tijd kunnen snapshots echter een grote hoeveelheid schrijfruimte in beslag nemen. Het vorige snapshot kan worden verwijderd met het volgende commando:
#
zfs destroy storage/home@08-30-08
Na al dit testen is er geen reden om
/storage/home
in zijn
huidige staat nog te bewaren. Maak er het echte
/home
bestandssysteem van:
#
zfs set mountpoint=/home storage/home
Het uitvoeren van de commando's df
en
mount
laat zien dat het systeem ons
bestandssysteem nu als de 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
Hiermee is de RAID-Z configuratie compleet. Voer het volgende commando uit om status-updates van de gecreëerde bestandssystemen te krijgen tijdens het draaien van de nachtelijke periodic(8):
#
echo 'daily_status_zfs_enable="YES"' >> /etc/periodic.conf
Iedere software-RAID heeft een methode
om zijn status
te inspecteren.
ZFS is geen uitzondering. De status van
RAID-Z-apparaten kan worden
geïnspecteerd met het volgende commando:
#
zpool status -x
Als alle pools in orde zijn en alles is normaal, dan wordt het volgende bericht weergegeven:
all pools are healthy
Als er een probleem is, misschien een schijf die offine is gegaan, dan wordt de status van de pool weergegeven en dat zal er als volgt uitzien:
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
Hier staat dat het apparaat offline is gezet door de beheerder. Dat is waar voor dit specifieke voorbeeld. Om de schijf offline te zetten werd het volgende commando gebruikt:
#
zpool offline storage da1
Het is nu mogelijk om de schijf
da1
te vervangen nadat het systeem
uitgeschakeld is. Zodra het systeem weer opgestart is, kan
het volgende commando worden uitgevoerd om de schijf te
vervangen:
#
zpool replace storage da1
Nu kan de status opnieuw geïnspecteerd worden,
dit keer zonder de -x
vlag, om de
statusinformatie op te vragen:
#
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
Zoals te zien in dit voorbeeld lijkt alles normaal te zijn.
Zoals eerder opgemerkt gebruikt ZFS
checksums
om de integriteit van opgeslagen
gegevens te verifiëren. Ze worden automatisch
ingeschakeld bij het creëeren van bestandssystemen en
kunnen worden uitgeschakeld door middel van het volgende
commando:
#
zfs set checksum=off storage/home
Dit is echter geen verstandig idee, omdat checksums zeer
weinig opslagruimte innemen en nuttiger zijn wanneer ze zijn
ingeschakeld. Het lijkt daarnaast ook geen merkbare invloed
op de prestaties te hebben wanneer ze zijn ingeschakeld.
Wanneer ze aanstaan is het mogelijk om ZFS
gegevensintegriteit te laten controleren door middel van
checksum-verificatie. Dit proces staat bekend als
“scrubbing”. Voer het volgende commando uit om
de gegevensintegriteit van de storage
-pool
te controleren:
#
zpool scrub storage
Dit proces kan, afhankelijk van de hoeveelheid opgeslagen gegevens, een aanzienlijke hoeveelheid tijd in beslag nemen. Het is daarnaast ook zeer I/O-intensief, zozeer dat slechts één van deze operaties tegelijkertijd uitgevoerd kan worden. Nadat de scrub is voltooid wordt de status bijgewerkt en kan deze worden bekeken door een statusaanvraag te doen:
#
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
De voltooiingstijd is in dit voorbeeld duidelijk zichtbaar. Deze eigenschap helpt om gegevensintegriteit te garanderen gedurende een langere tijdsperiode.
Er zijn vele andere opties voor het Z-bestandssysteem, zie de handleidingpagina's zfs(8) en zpool(8).
ZFS ondersteunt verschillende soorten quota: de refquota, de algemene quota, de gebruikersquota en de groepsquota. Deze sectie legt de beginselen van ieder van deze uit en bevat wat instructies voor gebruik.
Quota beperken de hoeveelheid ruimte die een gegevensverzameling en zijn afstammelingen kunnen gebruiken en dwingen een limiet af op de hoeveelheid ruimte dat gebruikt wordt door bestandssystemen en snapshots voor deze afstammelingen. Vanuit gebruikers zijn quota handig om de hoeveelheid ruimte die een bepaalde gebruiker kan gebruiken te beperken.
Quota kunnen niet op volumes worden ingesteld, aangezien de
eigenschap volsize
als een impliciet quotum
optreedt.
De refquota,
refquota=grootte
,
beperkt de hoeveelheid ruimte die een gegevensverzameling in beslag
kan nemen door een harde grens aan de gebruikte ruimte te stellen.
Deze harde grens bevat echter niet de ruimte gebruikt door
afstammelingen, zoals bestandssystemen of snapshots.
Gebruik het volgende om een algemeen quotum van 10 GB voor
/home/storage/bob
af te dwingen:
#
zfs set quota=10G storage/home/bob
Gebruikersquota beperken de hoeveelheid ruimte die door de
aangegeven gebruiker kan worden gebruikt. Het algemene formaat is
userquota@gebruiker=grootte
waarbij de gebruikersnaam in één van de volgende
formaten dient te zijn:
Naam compatibel met POSIX
(bijvoorbeeld jan
).
Numeriek POSIX-ID
(bijvoorbeeld 789
).
SID-naam
(bijvoorbeeld
jan.bloggs@example.com
).
Numeriek SID-ID
(bijvoorbeeld S-1-123-456-789
).
Gebruik het volgende om bijvoorbeeld een quotum van 50 GB
voor een gebruiker jan
af te
dwingen:
#
zfs set userquota@jan=50G
Gebruik in plaats hiervan, om het quotum te verwijderen of er zeker van te zijn dat er geen is ingesteld:
#
zfs set userquota@jan=none
Eigenschappen van gebruikersquota worden niet weergegeven door
zfs get all
. Niet-root
gebruikers kunnen alleen hun eigen quota zien tenzij het privilege
userquota
aan ze is gegeven. Gebruikers met dit
privilege kunnen ieders quota bekijken en instellen.
Groepsquota beperken de hoeveelheid ruimte die de gespecificeerde
gebruikersgroep in beslag kan nemen. Het algemene formaat is
groupquota@groep=grootte
.
Gebruik om het quotum voor de groep
eerstegroep
op 50 GB in te
stellen:
#
zfs set groupquota@eerstegroep=50G
Gebruik in plaats hiervan, om het quotum voor de groep
eerstegroep
te verwijderen of om er voor te
zorgen dat deze niet is ingesteld:
#
zfs set groupquota@eerstegroep=none
Net zoals bij de eigenschappen van gebruikersquota kunnen
niet-root
-gebruikers alleen de quota zien die
geassocieerd zijn met de gebruikersgroepen waar ze bij horen, een
root
-gebruiker of een gebruiker met het privilege
groupquota
kan alle quota voor alle groepen
bekijken en instellen.
Het deelcommando zfs userspace
geeft de
hoeveelheid ruimte weer die door elke gebruiker op de snapshot van het
gespecificeerde bestandssysteem in beslag wordt genomen, tezamen met
alle ingestelde quota. Het deelcommando zfs
groupspace
doet hetzelfde voor groepen. Bekijk
zfs(1) voor meer informatie over ondersteunde opties of het
weergegeven van specifieke opties.
Gebruik het volgende om de quota voor
storage/home/bob
weer te geven, als u de juiste
privileges heeft of root
bent:
#
zfs get quota storage/home/bob
ZFS ondersteunt twee soorten van ruimtereserveringen. Deze sectie legt de beginselen van elk van de twee uit en bevat enkele instructies voor gebruik.
De eigenschap reservation
maakt het mogelijk om
een gegarandeerde minimale hoeveelheid ruimte voor een
gegevensverzameling en zijn afstammelingen te reserveren.
Dit betekent dat als er een reservering van 10 GB is ingesteld
voor storage/home/bob
en de schijfruimte op
raakt, er tenminste 10 GB aan ruimte is gereserveerd voor deze
gegevensverzameling. De eigenschap reservation
stelt de minimale hoeveelheid ruimte in die gegarandeerd is voor een
gegevensverzameling exclusief afstammelingen zoals snapshots, of geeft
deze aan. Als er bijvoorbeeld een snapshot is genomen van
storage/home/bob
moet er genoeg schijfruimte zijn
buiten de refreservation
hoeveelheid om de operatie
te laten slagen omdat afstammelingen van de hoofdgegevensverzameling
niet worden meegeteld in de refreservation
hoeveelheid en dus niet stiekem de vastgestelde ruimte
wijzigen.
Reserveringen kunnen in allerlei situaties nuttig zijn, bijvoorbeeld voor het plannen en testen van de geschiktheid van het toewijzen van schijfruimte in een nieuw systeem, of om ervoor te zorgen dat er genoeg schijfruimte beschikbaar is op bestandsssystemen voor systeemherstelprocedures en bestanden.
Het algemene formaat van de eigenschap
reservation
is
reservation=grootte
, dus
gebruik het onderstaande commando om een reservering van 10 GB op
storage/home/bob
te plaatsen:
#
zfs set reservation=10G storage/home/bob
Gebruik, om te controleren of er geen reservatie is geplaatst of om een reservatie te verwijderen:
#
zfs set reservation=none storage/home/bob
Het zelfde principe kan worden toegepast op de eigenschap
refreservation
om een refreservation in te stellen,
met het algemene formaat
refreservation=grootte
.
Gebruik één van de volgende commando's om te kijken
of er een reservatie of refreservation bestaat op
storage/home/bob
:
#
zfs get reservation storage/home/bob
#
zfs get refreservation storage/home/bob
Deze sectie beschrijft enkele van de Linux® bestandssystemen die door FreeBSD worden ondersteund.
De kernelimplementatie van het ext2fs(5) bestandssysteem was geschreven door Godmar Back, het eerste stuurprogramma verscheen in FreeBSD 2.2. In FreeBSD 8 en eerder is de code gelicenseerd onder de GNU Public License, onder FreeBSD 9 is de code echter herschreven en nu beschikbaar onder de BSD-licentie.
Het stuurprogramma ext2fs(5) stelt de FreeBSD-kernel in staat om ext2 bestandssystemen te lezen en er naar te schrijven.
Laad ten eerste de kernelmodule:
#
kldload ext2fs
Koppel daarna een ext2fs(5)-volume aan dat zich op
/dev/ad1s1
bevindt:
#
mount -t ext2fs /dev/ad1s1 /mnt
Het X-bestandssysteem, XFS, is origineel
geschreven door SGI voor het besturingssysteem
IRIX, ze hebben het overgebracht naar Linux®. De
broncode is vrijgegeven onder de GNU Public License.
Kijk op deze
pagina voor meer details. De FreeBSD-port werd gestart door
Russel Cattelan, Alexander Kabaev <kan@FreeBSD.org>
en Craig Rodrigues <rodrigc@FreeBSD.org>
.
Om XFS als een kernelmodule te laden:
#
kldload xfs
Het stuurprogramma xfs(5) stelt de FreeBSD-kernel in staat om XFS-bestandssystemen te benaderen. Momenteel is echter alleen ondersteuning voor lezen aanwezig. Schrijven naar een volume is niet mogelijk.
Om een xfs(5)-volume wat op /dev/ad1s1
aan
te koppelen:
#
mount -t xfs /dev/ad1s1 /mnt
Merk op dat de port sysutils/xfsprogs het gereedschap
mkfs.xfs
bevat wat het mogelijk maakt om
XFS-bestandssystemen aan te maken, en verder
gereedschappen om ze te analyseren en repareren.
De vlag -p
van mkfs.xfs
kan
worden gebruikt om een xfs(5)-bestandssysteem aan te maken welke
bevolkt wordt met bestanden en andere meta-gegevens. Dit kan worden
gebruikt om snel een alleen-lezen bestandssysteem aan te maken welke op
FreeBSD getest kan worden.
Het Reiser bestandssysteem, ReiserFS, was overgebracht naar FreeBSD
door Jean-Sébastien Pédron <dumbbell@FreeBSD.org>
en is vrijgegeven onder de GNU
Public License.
Het stuurprogramma voor ReiserFS stelt de FreeBSD-kernel momenteel in staat om ReiserFS bestandssystemen te benaderen en hun inhoud te lezen, maar het kan ze momenteel niet beschrijven.
Laad ten eerste eerst de kernelmodule:
#
kldload reiserfs
Om ten tweede een ReiserFS-volume dat zich op
/dev/ad1s1
aan te koppelen:
#
mount -t reiserfs /dev/ad1s1 /mnt
Virtualisatiesoftware maakt het mogelijk om meerdere besturingssystemen gelijktijdig op dezelfde computer te draaien. Zulke softwaresystemen voor PC's gebruiken vaak een gastheer-besturingssysteem dat de virtualisatiesoftware draait en dat elk aantal gast-besturingssystemen ondersteunt.
Aan het einde van dit hoofdstuk weet de lezer:
Het verschil tussen een gastheer-besturingssysteem en een gast-besturingssysteem.
Hoe FreeBSD op een Intel®-gebaseerde Apple® Macintosh® computer te installeren.
Hoe FreeBSD op Microsoft® Windows® te installeren met Virtual PC.
Hoe een FreeBSD-systeem in te stellen voor de beste prestaties tijdens virtualisatie.
Voor het lezen van dit hoofdstuk, dient de lezer:
De beginselen van UNIX® en FreeBSD (Hoofdstuk 4, UNIX® beginselen) te begrijpen.
Te weten hoe FreeBSD te installeren (Hoofdstuk 2, FreeBSD installeren op FreeBSD 8.X
en
eerder).
Te weten hoe een netwerkverbinding te installeren (Hoofdstuk 31, Geavanceerde netwerken).
Te weten hoe aanvullende software van derde partijen te installeren (Hoofdstuk 5, Applicaties installeren: pakketten en ports).
Parallels Desktop voor Mac OS® is een commercieel softwareprodukt voor Intel®-gebaseerde Apple® Mac® computers die Mac OS® 10.4.6 of nieuwer draaien. FreeBSD is een volledig ondersteund gast-besturingssysteem. Nadat Parallels is geïnstalleerd op Mac OS® X dient de gebruiker een virtuele machine in te stellen en daarna het gewenste gast-besturingssysteem te installeren.
De eerste stap in het installeren van FreeBSD op Mac OS® X Parallels is het aanmaken van een nieuwe virtuele machine voor het installeren van FreeBSD. Selecteer als het wanneer dit gevraagd wordt:
Kies verder een hoeveelheid aan schijf- en geheugenruimte afhankelijk van de plannen voor deze virtuele instantie van FreeBSD. 4GB aan schijfruimte en 512MB aan RAM werken goed voor de meeste gebruikers van FreeBSD onder Parallels:
Nadat de virtuele FreeBSD-machine is aangemaakt, dient er FreeBSD op geïnstalleerd te worden. Dit gaat het beste met een officiële FreeBSD CDROM of met een ISO-beeld dat is gedownload van een officiële FTP-site. Wanneer het juiste ISO-beeld op het plaatselijke Mac®-bestandssysteem of een CDROM in de CD-drive van de Mac® aanwezig is, dient op het schijfikoon in de rechteronderhoek van het FreeBSD Parallels-scherm geklikt te worden. Dit zal een scherm tonen dat het mogelijk maakt om de CDROM-drive in de virtuele machine te associëren met een ISO-bestand op schijf of met een echte CDROM-drive.
Nadat deze associatie met de CDROM-bron is gemaakt, dient de virtuele FreeBSD-machine herstart te worden door op het herstart-icoon te klikken. Parallels zal herstarten met een speciale BIOS dat eerst controleert of er een CDROM aanwezig is, net zoals een normale BIOS zou doen.
In dit geval zal het de installatiemedia van FreeBSD vinden
en een normale installatie gebaseerd op
sysinstall beginnen zoals
beschreven in Hoofdstuk 2, FreeBSD installeren op FreeBSD 8.X
en
eerder. X11 kan nu
geïnstalleerd, maar nog niet ingesteld, worden.
Nadat de installatie is voltooid, kan naar de nieuw geïnstalleerde virtuele FreeBSD-machine herstart worden.
Nadat FreeBSD succesvol op Mac OS® X met Parallels is geïnstalleerd, zijn er een aantal instellingen die gewijzigd kunnen worden om het systeem voor virtuele werking te optimaliseren.
De variabelen voor de bootloader instellen
De belangrijkste stap is om de tunable
kern.hz
te verlagen om het CPU-gebruik van FreeBSD
onder de Parallels-omgeving te
verminderen. Dit kan bereikt worden door de volgende
regel aan /boot/loader.conf
toe te
voegen:
kern.hz=100
Zonder deze instelling zal een rustend FreeBSD Parallels gast-besturingssysteem ongeveer 15% van de CPU van een enkele iMac®-processor gebruiken. Na deze wijziging zal het gebruik slechts ongeveer 5% zijn.
Een nieuw instellingenbestand voor de kernel aanmaken
Alle stuurprogramma's voor SCSI, FireWire, en USB kunnen verwijderd worden. Parallels biedt een virtuele netwerkadapter die door het stuurpogramma ed(4) wordt gebruikt, dus kunnen alle andere netwerkapparaten behalve ed(4) en miibus(4) uit de kernel verwijderd worden.
Het netwerk instellen
De eenvoudigste netwerkinstallatie omvat het gebruik
van DHCP om de virtuele machine met hetzelfde LAN te
verbinden als het Mac®-gastheer. Dit kan bereikt worden
door ifconfig_ed0="DHCP"
aan
/etc/rc.conf
toe te voegen. Meer
geavanceerde netwerkinstallaties staan beschreven in
Hoofdstuk 31, Geavanceerde netwerken.
Virtual PC voor Windows® is een softwareprodukt van Microsoft® dat gratis gedownload kan worden . Zie systeemeisen. Nadat Virtual PC is geïnstalleerd op Microsoft® Windows®, dient de gebruiker een virtuele machine in te stellen en daarna het gewenste gast-besturingssysteem te installeren.
De eerste stap in het installeren van FreeBSD op Microsoft® Windows®/Virtual PC is het aanmaken van een nieuwe virtuele machine voor het installeren van FreeBSD. Kies wanneer daarom wordt gevraagd:
Selecteer
als het wanneer dat gevraagd wordt:Kies vervolgens een gepaste hoeveelheid aan schijf- en geheugenruimte afhankelijk van de plannen voor deze virtuele instantie van FreeBSD. 4GB aan schijfruimte en 512MB aan RAM werken goed voor de meeste gebruikers van FreeBSD onder Virtual PC:
Selecteer de virtuele FreeBSD-machine en klik op
, stel daarna het type netwerk en een netwerkinterface in:Nadat de virtuele FreeBSD-machine is aangemaakt, dient FreeBSD erop geïnstalleerd te worden. Dit gaat het beste met een officiële FreeBSD-CDROM of met een ISO-beeld dat van een officiële FTP-site is gedownload. Wanneer het juiste ISO-beeld op het lokale bestandssysteem van Windows® staat of er een CDROM in de CD-drive zit, dubbelklik dan op de virtuele FreeBSD-machine om op te starten. Klik daarna op en kies in het venster van Virtual PC . Dit toont een scherm dat het mogelijk maakt om de CDROM-drive in de virtuele machine te associëren met een ISO-bestand op schijf of met een echte CDROM-drive.
Start, nadat deze associatie met de CDROM-bron is gemaakt, de virtuele FreeBSD-machine opnieuw op zoals gewoonlijk door op Virtual PC zal herstarten met een speciale BIOS dat eerst controleert of er een CDROM aanwezig is, net zoals eeen normale BIOS dat zou doen.
en te klikken.In dit geval zal het de installatiemedia van FreeBSD vinden
en een normale installatie gebaseerd op
sysinstall beginnen zoals
beschreven in Hoofdstuk 2, FreeBSD installeren op FreeBSD 8.X
en
eerder. X11 kan nu
geïnstalleerd, maar nog niet ingesteld, worden.
Denk eraan om de CDROM of het ISO-beeld te verwijderen nadat de installatie voltooid is. Start als laatste op naar de nieuw geïnstalleerde virtuele FreeBSD-machine.
Nadat FreeBSD succesvol is geïnstalleerd op Microsoft® Windows® met Virtual PC zijn er een aantal instellingen die aangepast kunnen worden om het system te optimaliseren voor virtueel gebruik.
De variabelen voor de bootloader instellen
De belangrijkste stap is om de tunable
kern.hz
te verlagen om zo het CPU-gebruik van
FreeBSD in de omgeving van Virtual PC te
verminderen. Dit kan bereikt worden door de volgende
regel aan /boot/loader.conf
toe te
voegen:
kern.hz=100
Zonder deze instelling zal een FreeBSD als gast-besturingssysteem voor Virtual PC in rust ongeveer 40% van de CPU van een computer met een enkele processor gebruiken. Na deze verandering zal het gebruik slechts rond de 3% liggen.
Een nieuw instellingenbestand voor de kernel aanmaken
Alle stuurprogramma's voor SCSI, FireWire, en USB kunnen verwijderd worden. Virtual PC beidt een virtuele netwerkadapter dat door het stuurprogramma de(4) gebruikt wordt, dus kunnen alle netwerkapparaten behalve de(4) en miibus(4) uit de kernel verwijderd worden.
Het netwerk instellen
De eenvoudigste netwerkinstallatie omvat het gebruik
van DHCP om de virtuele machine met het zelfde LAN te
verbinden als de Microsoft® Windows®-gastheer. Dit kan
bereikt worden door ifconfig_de0="DHCP"
toe te voegen aan /etc/rc.conf
.
Geavanceerdere netwerkinstallaties staan beschreven in
Hoofdstuk 31, Geavanceerde netwerken.
VMware Fusion voor Mac® is een comercieel softwareprodukt beschikbaar voor op Intel® gebaseeerde Mac®-computers die Mac OS® 10.4.9 of nieuwer draaien. FreeBSD is een volledig ondersteund gast-besturingssysteem. Nadat VMware Fusion is geïnstalleerd op Mac OS® X dient de gebruiker een virtuele machine in te stellen en daarna het gewenste gast-besturingssysteem te installeren.
De eerste stap is om VMware Fusion te laden, de Virtual Machine Library zal geladen worden. Klik op "New" om de VM aan te maken:
Dit laadt de New Virtual Machine Assistant dat helpt om de VM aan te maken, klik op Continue om verder te gaan:
Selecteer
als het en of , afhankelijk van de wens voor ondersteuning voor 64-bit, als de wanneer dat gevraagd wordt:Kies de naam van het VM-beeld en de map waarin het bewaard dient te worden:
Kies de manier om de VM te installeren, van een ISO-beeld of van een CD:
Installeer FreeBSD zoals gewoonlijk, of door de aanwijzingen
in Hoofdstuk 2, FreeBSD installeren op FreeBSD 8.X
en
eerder op te volgen:
Nadat de installatie voltooid is kunnen de instellingen van de VM aangepast worden, zoals het geheugengebruik:
De instellingen van de systeemhardware van de VM kunnen niet veranderd worden zolang de VM draait.
De status van het CD-ROM-apparaat. Gewoonlijk kan de CD-ROM of het ISO-beeld van de VM worden losgekoppeld wanneer het niet meer nodig is.
Het laatste om te veranderen is de manier waarop de VM verbinding met het netwerk maakt. Indien verbindingen naar de VM van andere machines naast de gastheer gewenst zijn, dient
gekozen te worden. In andere situaties is te verkiezen, zodat de VM toegang kan hebben tot het Internet, maar dat het netwerk geen toegang heeft tot de VM.Herstart de nieuw geïnstalleerde virtuele FreeBSD-machine nadat alle instellingen zijn aangepast.
Nadat FreeBSD succesvol is geïnstalleerd op Mac OS® X met VMware, zijn er een aantal instellingen die gewijzigd kunnen worden op het systeem te optimaliseren voor virtueel gebruik.
De variabelen voor de bootloader instellen
De belangrijkste stap is het verlagen van de
tunable kern.hz
om het CPU-gebruik van
FreeBSD in de omgeving van VMware
te verminderen. Dit kan bereikt worden door de volgende
regel aan /boot/loader.conf
toe te
voegen:
kern.hz=100
Zonder deze instelling gebruikt FreeBSD als VMware gast-besturingssysteem ongeveer 15% van de CPU van een enkele iMac®-processor. Na deze verandering zal het gebruik dichter bij 5% liggen.
Een nieuw instellingenbestand voor de kernel aanmaken
Alle stuurprogramma's voor FireWire en USB kunnen verwijderd worden. VMware biedt een virtuele netwerkadapter dat door het stuurpogramma em(4) gebruikt wordt, dus alle netwerkapparaten behalve em(4) kunnen uit de kernel verwijderd worden.
Het netwerk instellen
De eenvoudigste netwerkinstallatie omvat het gebruik
van DHCP om de virtuele machine met hetzelfde LAN te
verbinden als de Mac®-gastheer. Dit kan bereikt worden
door ifconfig_em0="DHCP"
toe te voegen
aan /etc/rc.conf
. Geavanceerdere
netwerkinstallaties staan beschreven in Hoofdstuk 31, Geavanceerde netwerken.
De gasttoevoegingen van VirtualBox™ bieden ondersteuning voor:
Het delen van het prikbord
Integratie van de muiscursor
Synchronisatie met de tijd van de gastheer
Het schalen van vensters
Naadloze modus
De volgende commando's worden gedraaid in de FreeBSD-gast.
Installeer ten eerste het pakket emulators/virtualbox-ose-additions in de FreeBSD-gast.
#
cd /usr/ports/emulators/virtualbox-ose-additions && make install clean
Voeg deze regels toe aan /etc/rc.conf
:
vboxguest_enable="YES" vboxservice_enable="YES"
Als ntpd(8) of ntpdate(8) gebruikt, dient de synchronisatie met de tijd van de gastheer te worden uitgeschakeld:
vboxservice_flags="--disable-timesync"
De vboxvideo_drv
zou herkend moeten worden door
Xorg -configure
. Als dit niet zo is, dient
xorg.conf
gewijzigd te worden voor de videokaart
van VirtualBox™:
Section "Device" ### Available Driver options are:- ### Values: <i>: integer, <f>: float, <bool>: "True"/"False", ### <string>: "String", <freq>: "<f> Hz/kHz/MHz" ### [arg]: arg optional Identifier "Card0" Driver "vboxvideo" VendorName "InnoTek Systemberatung GmbH" BoardName "VirtualBox Graphics Adapter" BusID "PCI:0:2:0" EndSection
Pas het gedeelte over de muis in xorg.conf
aan
om vboxmouse_drv
te gebruiken:
Section "InputDevice" Identifier "Mouse0" Driver "vboxmouse" EndSection
Gebruikers van HAL dienen dit bestand aan te
maken als
/usr/local/etc/hal/fdi/policy/90-vboxguest.fdi
of het te kopiëren van
/usr/local/hal/fdi/policy/10osvendor/90-vboxguest.fdi
:
<?xml version="1.0" encoding="utf-8"?> <!-- # Sun VirtualBox # Hal driver description for the vboxmouse driver # $Id$ Copyright (C) 2008-2009 Sun Microsystems, Inc. This file is part of VirtualBox Open Source Edition (OSE, as available from http://www.virtualbox.org. This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License (GPL) as published by the Free Software Foundation, in version 2 as it comes in the "COPYING" file of the VirtualBox OSE distribution. VirtualBox OSE is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, CA 95054 USA or visit http://www.sun.com if you need additional information or have any questions. --> <deviceinfo version="0.2"> <device> <match key="info.subsystem" string="pci"> <match key="info.product" string="VirtualBox guest Service"> <append key="info.capabilities" type="strlist">input</append> <append key="info.capabilities" type="strlist">input.mouse</append> <merge key="input.x11_driver" type="string">vboxmouse</merge> <merge key="input.device" type="string">/dev/vboxguest</merge> </match> </match> </device> </deviceinfo>
Voor een aantal jaren werd FreeBSD niet officieel ondersteund als een gastheer-besturingssysteem door de beschikbare virtualisatiepakketten. Sommige mensen gebruikten oudere en meestal overbodige versies van VMware (zoals emulators/vmware3), die gebruik maakten van de Linux® binaire compatibiliteitslaag. Kort na de uitgave van FreeBSD 7.2 verscheen Suns VirtualBox™ in de Ports; Collectie als een programma dat voor FreeBSD zelf bedoeld is.
VirtualBox™ is een actief ontwikkeld en
compleet virtualisatiepakket dat beschikbaar is voor de meeste
besturingssystemen waaronder Windows®, Mac OS®, Linux® en FreeBSD. Het kan
evengoed Windows® of UNIX® als gast draaien. Het is gerealiseerd als
een open-source pakket met gesloten-source componenten beschikbaar in een
apart uitbreidingspakket. Deze componenten bevatten onder andere
ondersteuning voor USB-2.0-apparaten. Meer informatie kan gevonden worden
op de pagina “Downloads” van de
VirtualBox™-wiki op http://www.virtualbox.org/wiki/Downloads
. Momenteel zijn
deze uitbreidingen niet beschikbaar voor FreeBSD.
VirtualBox™ is beschikbaar als een FreeBSD-port in emulators/virtualbox-ose. Zorg ervoor, aangezien VirtualBox™ erg actief ontwikkeld wordt, dat uw ports bijgewerkt is voordat u met de installatie begint. Installeer het met deze commando's:
#
cd /usr/ports/emulators/virtualbox-ose
#
make install clean
Een nuttige optie in het configuratiescherm is de verzameling
GuestAdditions
programma's. Deze bieden een aantal
nuttige mogelijkheden in gastbesturingssystemen, zoals integratie van
de muiscursor (wat het mogelijk maakt om de muis te delen tussen de
gast en de gastheer zonder dat er een speciale toetsencombinatie hoeft
te worden gebruikt voor het omwisselen) en snellere video-rendering,
met name in Windows®-gasten. De gastaanvullingen zijn beschikbaar in
het menu , nadat de installatie van het
gastbesturingssysteem is voltooid.
Er zijn enkele aanpassingen aan de instellingen nodig voordat
VirtualBox™ voor het eerst wordt gestart.
De port installeert een kernelmodule in /boot/modules
welke in de draaiende
kernel geladen moet worden:
#
kldload vboxdrv
Voeg de volgende regel toe aan
/boot/loader.conf
om er zeker van te zijn dat de
module altijd na een herstart wordt geladen:
vboxdrv_load="YES"
Voeg het volgende aan /etc/rc.conf
toe en
herstart de computer om de kernelmodules te gebruiken die in gebridgede
of gastheer-only netwerken voorzien:
vboxnet_enable="YES"
De groep vboxusers
wordt tijdens de
installatie van VirtualBox™ aangemaakt.
Alle gebruikers die toegang tot VirtualBox™
nodig hebben moeten als lid van deze groep worden toegevoegd. Met het
commando pw
kunnen nieuwe leden worden
toegevoegd:
#
pw groupmod vboxusers -m uwgebruikersnaam
De standaardpermissies voor /dev/vboxnetctl
zijn restrictief en
moeten veranderd worden voor gebridged netwerken.
Om het tijdelijk te testen:
#
chown root:vboxusers /dev/vboxnetctl
#
chmod 0660 /dev/vboxnetctl
Voeg deze regels toe aan /etc/devfs.conf
om de
permissiewijziging permanent te maken:
own vboxnetctl root:vboxusers perm vboxnetctl 0660
Gebruik de optie VirtualBox™ te starten:
van het menu van de grafische omgeving of typ het volgende in een terminal om%
VirtualBox
Bezoek de officiële website op http://www.virtualbox.org
voor meer informatie over het
configureren en gebruiken van VirtualBox™.
Aangezien de FreeBSD-port erg nieuw is, wordt het nog volop ontwikkeld.
Kijk voor de laatste informatie en instructies om problemen op te lossen
op de relevantie pagina in de FreeBSD-wiki op http://wiki.FreeBSD.org/VirtualBox
.
Voor deze stappen is VirtualBox 4.0.0 of nieuwer nodig.
Om van UBS-apparaten te kunnen lezen en ernaar te kunnen schrijven dienen gebruikers lid te zijn van de groep operator:
#
pw groupmod operator -m jerry
Voeg vervolgens het volgende toe aan
/etc/devfs.rules
(maak het aan als het nog niet
bestaat):
[system=10] add path 'usb/*' mode 0660 group operator
Voeg het volgende aan toe aan /etc/rc.conf
om
deze nieuwe regels te laden:
devfs_system_ruleset="system
Herstart vervolgens devfs:
#
service devfs restart
USB kan nu in het gast-besturingssysteem worden aangezet. USB-apparaten zouden zichtbaar moeten zijn in de voorkeuren van VirtualBox™.
Toegang tot de CD/DVD-stations van de gastheer wordt bereikt door
het delen van de fysieke stations. In de GUI kan dit vanuit het scherm
Opslag in de Instellingen van de virtuele machine worden ingesteld.
Maak eerst een leeg IDE CD-/DVD-apparaat aan. Kies daarna het
Gastheerstation van het popup-menu voor het kiezen van het virtuele
CD-/DVD-station. Later zal er een checkbox genaamd
Passthrough
verschijnen. Dit stelt de virtuele
machine in staat om de hardware direct te gebruiken. Audio-CDs en
branders bijvoorbeeld werken alleen als deze optie is aangezet.
HAL moet draaien om de DVD/CD-functies van
VirtualBox™ te laten werken, zet het dus aan
in /etc/rc.conf
en start het (als het niet reeds
draait):
hald_enable="YES"
#
service hald start
Om gebruikers de DVD/CD-functionaliteit van
VirtualBox™ te laten gebruiken, dienen ze
toegang te hebben tot /dev/xpt0
,
/dev/cdN
en
/dev/passN
.
Dit wordt normaliter gedaan door de gebruiker van
VirtualBox™ lid te maken van de groep
operator, wat ook de standaardgroep is voor bovengenoemde apparaten.
De rechten van deze apparaten dienen gecorrigeerd te worden door de
volgende regels aan /etc/devfs.conf
toe te
voegen:
perm cd* 0600 perm xpt0 0660 perm pass* 0660
#
service devfs restart
FreeBSD is een zeer gedistribueerd project met gebruikers over de gehele wereld. Dit hoofdstuk behandelt de internationalisatie- en lokalisatie-eigenschappen van FreeBSD die niet-Engelssprekende gebruikers echt werk laten verzetten. Er zitten veel aspecten van de i18n-implementatie in zowel de systeem- als applicatieniveaus, dus waar mogelijk wordt de lezer verwezen naar meer specifieke bronnen.
Na dit hoofdstuk weet de lezer:
Hoe verschillende talen en locales gecodeerd zijn op moderne besturingssystemen.
Hoe de locale in te stellen voor een login-shell.
Hoe de console voor niet-Engelse talen in te stellen.
Hoe het X Window systeem effectief met meerdere talen te gebruiken.
Waar meer informatie te vinden over het schrijven van i18n-respecterende applicaties.
Veronderstelde voorkennis:
Weten hoe aanvullende applicaties van derde partijen geïnstalleerd worden (Hoofdstuk 5, Applicaties installeren: pakketten en ports).
Ontwikkelaars hebben internationalisatie (“internationalization” afgekort tot de term I18N, de eerste en de laatste letter en het aantal tussenliggende letters. L10N gebruikt hetzelfde schema voor naamgeving en komt van “localization”. Samen staan I18N/L10N methoden, protocollen en applicaties gebruikers toe de taal van hun keuze te gebruiken.
I18N-applicaties zijn geprogrammeerd door gebruik te maken van I18N-gereedschappen van bibliotheken. Daarmee kunnen ontwikkelaars een eenvoudig bestand schrijven en menu's en teksten weergeven in elke taal. Programmeurs worden door het FreeBSD Project sterk aangemoedigd deze conventie te volgen.
I18N/L10N wordt gebruikt als een gebruiker gegevens wil bekijken, invoeren of verwerken in niet-Engelse talen.
In al zijn pracht is I18N niet FreeBSD specifiek maar een conventie. Het FreeBSD Project moedigt iedereen aan FreeBSD te helpen deze conventie te gebruiken.
Lokalisatie-instellingen zijn gebaseerd op drie hoofdtermen: Taalcode, Landcode en Codering. Localenamen zijn als volgt opgebouwd:
Taalcode
_Landcode
.Codering
Om een FreeBSD-systeem (of een ander I18N-ondersteunend UNIX® achtig systeem) te lokaliseren naar een bepaalde taal, moet de gebruiker de codes voor het specifieke land en taal achterhalen. Landcodes geven applicaties aan welke variatie van de gegeven taal gebruikt moet worden. Ook webbrowsers, SMTP/POP-servers, webservers, enzovoorts maken beslissingen gebaseerd op die codes. Hieronder staan voorbeelden van taal- en landcodes:
Taal- en landcode | Omschrijving |
---|---|
en_US | Engels - Verenigde Staten |
ru_RU | Russisch voor Rusland |
zh_TW | Traditioneel Chinees voor Taiwan |
Een complete lijst van beschikbare locales is beschikbaar via:
%
locale -a
Sommige talen gebruiken andere ASCII-coderingen dan 8-bit, wijde of multibyte karakters, zie multibyte(3). Oudere programma's herkennen die niet en interpreteren ze foutief als controlekarakters aan. Afhankelijk van de implementatie moeten gebruikers eventueel een applicatie met wijde of multibyte karakterondersteuning compileren, of hem correct instellen. Om wijde of multibyte karakters in te kunnen voeren en te kunnen verwerken levert de FreeBSD Portscollectie voor elke taal programma's. Hiervoor staat I18N-documentatie in de respectievelijke FreeBSD Port.
Voor het bouwen van een gewenste applicatie met lokalisatie is het verstandig de applicatiedocumentatie te bekijken om te bepalen hoe de juiste waarden doorgegeven kunnen worden naar configure, Makefile of de compiler.
Houd rekening met:
Taalspecifieke enkele C-karakters karakterverzamelingen (zie multibyte(3)), bijvoorbeeld ISO8859-1, ISO-8859-15, KOI8-R of CP437.
Wijde of multibyte coderingen, bijvoorbeeld EUC of Big5.
Een lijst met actieve karakterverzamelingen staat bij de IANA Registry.
FreeBSD gebruikt in plaats hiervan X11-compatible locale-coderingen.
In het FreeBSD Ports en Package systeem hebben
I18N-applicaties I18N
in hun naam zodat ze
eenvoudig herkend kunnen worden. Toch ondersteunen ze niet
altijd iedere mogelijk gewenste taal.
Meestal is het voldoende om de waarde van de localenaam
te exporteren als LANG
in de login-shell. Dit
kan door die waarde in ~/.login_conf
van
de gebruiker of in ~/.profile
,
~/.bashrc
of
~/.cshrc
) van de gebruiker te zetten.
Het is niet nodig om localedeelverzamelingen als
LC_CTYPE
of LC_CTIME
in te
stellen. Bij de taalspecifieke FreeBSD documentatie staat vaak
nog informatie.
De twee volgende omgevingsvariabelen moeten in de instellingenbestanden ingesteld worden:
LANG
voor de POSIX® setlocale(3)
functies.
Dit is inclusief het instellen van de gebruikers-shell, het instellen van de specifieke applicatie en de instellingen voor X11.
Er zijn twee methoden om de locale in te stellen en beiden worden hieronder beschreven. De eerste (aanbevolen) methode is door middel van het toekennen van omgevingsvariabelen in de loginklasse en de tweede is mogelijk door middel van het toevoegen van de omgevingsvariabelen aan het opstartbestand van de systeem-shell.
Deze methode biedt de mogelijkheid om omgevingsvariabelen die nodig zijn voor de localenaam en MIME karakterverzamelingen éénmalig voor elke mogelijke shell toe te kennen in plaats van door toekenning via het opstartbestand van elke shell. Gebruikersinstellingen kunnen door de gebruiker zelf worden gemaakt en voor Beheerdersinstellingen zijn superuser-rechten nodig.
Hieronder staat een minimaal voorbeeld van een
.login_conf
bestand in de thuismap
van een gebruiker die beide variabelen heeft ingesteld op
Latin-1 codering:
me:\ :charset=ISO-8859-1:\ :lang=de_DE.ISO8859-1:
Hieronder staat is een voorbeeld van een
.login_conf
die variabelen instelt
voor traditioneel Chinees in BIG-5 codering. Er zijn
veel andere variabelen ingesteld zijn omdat sommige
software localevariabelen niet correct respecteert voor
Chinees, Japans, en Koreaans.
# Gebruikers die geen valuta eenheden of tijdformaten voor Taiwan # willen gebruiken kunnen handmatig elke variabele wijzigen. 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": # Stel gcin in als XIM invoerserver
Zie Beheerdersinstellingen en login.conf(5) voor meer details.
Er dient gecontroleerd te worden of loginklasse voor
gebruikers, /etc/login.conf
, de
juiste taal instelt door de volgende instellingen in
/etc/login.conf
:
taalnaam
|accountstitel
:\ :charset=MIME_karakterverzameling
: :lang=localenaam
:\ :tc=default:
Voor het bovenstaande voorbeeld dat gebruik maakt van Latin-1 ziet dat er als hieronder uit:
german|Duitse gebruikersaccounts:\ :charset=ISO-8859-1:\ :lang=de_DE.ISO8859-1:\ :tc=default:
Voer voordat de gebruikers login class wordt gewijzigd het volgende uit:
#
cap_mkdb /etc/login.conf
om de nieuwe configuratie in
/etc/login.conf
zichtbaar te maken
voor het systeem.
Met vipw
kunnen nieuwe gebruikers
toegevoegd worden en de instellingen dienen ongeveer als
volgt uit te zien:
gebruiker:wachtwoord:1111:11:taal
:0:0:Gebruikersnaam:/home/gebruiker:/bin/sh
Met adduser
kunnen nieuwe
gebruikers toegevoegd worden. Hierna dient
één van de volgende stappen uitgevoerd te
worden:
defaultclass =
taal
instellen
in /etc/adduser.conf
. In dit
geval dient er voor alle gebruikers van andere talen
een default
klasse ingevoerd te
worden.
Er kan ook gekozen worden voor een antwoord op de vraag over taal vanuit adduser(8):
Enter login class: default []:
Ook kan het volgende gebruikt worden voor elke gebruiker die een andere taal gebruikt:
#
adduser -class taal
Als pw(8) wordt gebruikt om nieuwe gebruikers toe te voegen:
#
pw useradd gebruikersnaam -L taal
Deze methode wordt niet aanbevolen omdat er instellingenen nodig zijn voor elke mogelijke shell. Het advies is de Methode Loginklasse te gebruiken.
Om de localenaam en MIME karakterverzameling toe te
voegen kunnen gewoon twee omgevingsvariabelen ingesteld
worden, zoals hieronder te zien is, in
/etc/profile
en/of
/etc/csh.login
opstartbestanden voor
shells. Hier wordt de Duitse taal als voorbeeld
gebruikt:
In /etc/profile
:
LANG=de_DE.ISO8859-1; export LANG
MM_CHARSET=ISO-8859-1; export MM_CHARSET
Of in /etc/csh.login
:
setenv LANG de_DE.ISO8859-1
setenv MM_CHARSET ISO-8859-1
Het is ook mogelijk de bovenstaande instructies toe te
toevoegen /usr/share/skel/dot.profile
(ongeveer gelijk aan wat hierboven in
/etc/profile
is gebruikt) of aan
/usr/share/skel/dot.login
(ongeveer gelijk aan wat hierboven in
/etc/csh.login
is gebruikt).
Voor X11:
In $HOME/.xinitrc
:
LANG=de_DE.ISO8859-1; export LANG
Of:
setenv LANG de_DE.ISO8859-1
Afhankelijk van de shell (zie boven).
Voor alle enkele C-karakters karakterverzamelingen worden
de juiste lettertypen voor het console ingesteld in
/etc/rc.conf
voor de taal in kwestie
met:
font8x16=lettertypenaam
font8x14=fontnaam
font8x8=fontnaam
De lettertypenaam
komt uit de
map /usr/share/syscons/fonts
zonder het
achtervoegsel .fnt
.
De gebruiker dient ervoor te zorgen dat indien nodig de juiste
enkele C-karakters karakterverzameling wordt ingesteld met
/stand/sysinstall
. In
sysinstall kan
en
gekozen worden. Het is ook
mogelijk het volgende aan /etc/rc.conf
toe te voegen:
scrnmap=schermmappingnaam
keymap=toetsenmappingnaam
keychange="fkey_nummer sequentie
"
schermmappingnaam
komt uit de
map /usr/share/syscons/scrnmaps
zonder het
achtervoegsel .scm
. Meestal is een
schermmapping met een overeenkomstig gemapt lettertype nodig
als workaround om bit 8 naar bit 9 uit te breiden op een
lettertype–karaktermatrix van een VGA-adapter in
pseudografische gebieden, dat wil zeggen om letters uit dat
gebied te halen als het schermlettertype een bit 8 kolom
gebruikt.
Als de moused daemon is
ingeschakeld met de onderstaande regel in
/etc/rc.conf
, dan wordt aangeraden de
muiscursorinformatie in de volgende paragraaf te
bekijken.
moused_enable="YES"
Standaard neemt de muiscursor van het syscons(4)
stuurprogramma het bereik 0xd0-0xd3 van de tekenverzameling in
beslag. Als een ingestelde taal dit bereik gebruikt, moet het
cursorbereik hierbuiten gehaald worden. Om de workaround voor
FreeBSD aan te zetten kan de volgende regel aan
/etc/rc.conf
toegevoegd worden:
mousechar_start=3
De toetsenmappingnaam
komt uit
de map /usr/share/syscons/keymaps
zonder
het achtervoegsel .kbd
. Als niet precies
duidelijk is welke toetsenmapping te gebruiken, kan de
toetsenmapping getest worden met kbdmap(1) zonder opnieuw
op te starten.
keychange
is nodig om functietoetsen zo
te programmeren dat ze overeenkomen met het geselecteerde
terminaltype omdat functietoetssequenties niet in de
toetsenmapping gedefinieerd kunnen worden.
Er dient ook een controle te zijn op een juiste instelling
van het juiste terminaltype voor het console in
/etc/ttys
voor alle
ttyv*
regels. De huidige instellingen
zijn:
Karakterverzameling | Terminaltype |
---|---|
ISO8859-1 of ISO-8859-15 | cons25l1 |
ISO8859-2 | cons25l2 |
ISO8859-7 | cons25l7 |
KOI8-R | cons25r |
KOI8-U | cons25u |
CP437 (VGA standaardinstelling) | cons25 |
US-ASCII | cons25w |
Voor wijde of multibyte karaktertalen kan je juiste
FreeBSD port in de map
/usr/ports/taal
gebruikt worden. Sommige ports verschijnen als console terwijl
het systeem ze als serieële vtty ziet. Er dienen dus
voldoende vtty's gereserveerd te zijn voor zowel X11 als de
pseudo-serieële console. Hier is een gedeeltelijke lijst
van applicaties voor het gebruik van andere talen in
console:
Taal | Locatie |
---|---|
traditioneel Chinees (BIG-5) | chinese/big5con |
Japans | japanese/kon2-16dot of japanese/mule-freewnn |
Koreaans | korean/han |
Hoewel X11 geen deel is van het FreeBSD Project wordt het hier wel besproken voor FreeBSD gebruikers. Meer details zijn te vinden op de Xorg website of op de website van een andere X11 server die gebruikt wordt.
In ~/.Xresources
kunnen
applicatiespecifieke I18N instellingen gemaakt worden als
lettertypen, menu's, enzovoort.
Eerst moet Xorg server (x11-servers/xorg-server), geïnstalleerd worden en daarna de TrueType® lettertypen van de taal. Door de gewenste locale in te stellen worden de menu's en dergelijke in de gekozen taal weergegeven.
Sommige enkele C-karakters karakterverzamelingen zijn standaard hardware-gecodeerd in printers. Voor wijde of multibyte karakterverzamelingen is een speciale installatie nodig en het gebruik van apsfilter wordt dan aangeraden. Een document kan ook naar PostScript® of PDF formaat omgezet worden door gebruik te maken van taalspecifieke conversieprogramma's.
Het FreeBSD Snelle Bestandssysteem (FFS) is 8-bit schoon, dus het kan gebruikt worden met elke enkele C-karakters karakterverzameling (zie multibyte(3)), maar er is geen karakterverzamelingnaam opgeslagen in het bestandssysteem. Het is dus rauw 8-bit en het weet niets van coderingsbevelen. Officieel ondersteunt FFS nog geen enkele vorm van wijde of multibyte karakterverzamelingen. Toch hebben sommige wijde of multibyte karakterverzamelingen onafhankelijke patches voor FFS die ondersteuning inschakelen. Dit zijn tijdelijke oplossingen of hacks die niet overdraagbaar zijn en daarom is besloten ze niet in de source tree op te nemen. Op de websites van de talen staan de patchbestanden en meer informatie.
Voor het FreeBSD MS-DOS® bestandssysteem kan geschakeld worden tussen MS-DOS®, Unicode karakterverzamelingen en gekozen FreeBSD bestandssysteem-karakterverzamelingen. mount_msdosfs(8) beschijft de details.
Veel FreeBSD Ports zijn geschikt gemaakt voor FreeBSD met I18N-ondersteuning. Een aantal daarvan zijn gemarkeerd met “-I18N” in de portnaam. Deze en nog veel andere programma's hebben ingebouwde ondersteuning voor I18N en behoeven geen speciale aandacht.
Toch is het voor sommige applicaties zoals
MySQL nodig dat de
Makefile
ingesteld is met de specifieke
karakterverzameling. Dit wordt normaliter gedaan in de
Makefile
of door middel van het doorgeven
van een waarde aan configure in de
broncode.
Voor meer informatie over KOI8-R codering, zie de KOI8-R References (Russian Net Character Set).
Voeg de volgende regels toe aan
~/.login_conf
bestand:
me:Mijn account:\ :charset=KOI8-R:\ :lang=ru_RU.KOI8-R:
Zie eerder in dit hoofdstuk voor voorbeelden over het opzetten van de locale.
Voeg de volgende regel toe aan
/etc/rc.conf
:
mousechar_start=3
Gebruik ook de volgende instellingen in
/etc/rc.conf
:
keymap="ru.koi8-r" scrnmap="koi8-r2cp866" font8x16="cp866b-8x16" font8x14="cp866-8x14" font8x8="cp866-8x8"
Voor elke ttyv*
regel in
/etc/ttys
, gebruik
cons25r
als het terminaltype.
Zie eerder in dit hoofdstuk voor voorbeelden over het opzetten van de console.
Aangezien de meeste printers met Russische karakters met
hardware-codepagina CP866 komen, is een speciaal
uitvoerfilter nodig om KOI8-R om te zetten in CP866. Zo'n
filter is standaard geïnstalleerd als
/usr/libexec/lpr/ru/koi2alt
. Een
/etc/printcap
regel voor een Russische
printer moet er uit zien als:
lp|Russische lokale lijnprinter:\ :sh:of=/usr/libexec/lpr/ru/koi2alt:\ :lp=/dev/lpt0:sd=/var/spool/output/lpd:lf=/var/log/lpd-errs:
Zie printcap(5) voor een gedetailleerde beschrijving.
De volgende voorbeeld fstab(5) regel zet ondersteuning aan voor Russische bestandsnamen gekoppeld op MS-DOS® bestandssystemen:
/dev/ad0s2 /dos/c msdos rw,-Wkoi2dos,-Lru_RU.KIO8-R 0 0
De -L
optie selecteert de te gebruiken
localenaam, en -W
stelt de
karakteromzettabel in. Om de -W
te
gebruiken moet /usr
gemount zijn voor de
MS-DOS® partitie omdat de omzettabellen zich bevinden in
/usr/libdata/msdosfs
.
mount_msdosfs(8) geeft verdere uitleg.
Voer eerst de niet-X lokale instellingen uit zoals beschreven.
Installeer bij gebruik van Xorg het package x11-fonts/xorg-fonts-cyrillic.
Controleer de "Files"
sectie in
/etc/X11/xorg.conf
bestand. Zorg
dat de volgende regel
vóór andere
FontPath
regels staan:
FontPath "/usr/local/lib/X11/fonts/cyrillic"
Zie de Ports Collectie voor meer cyrillic fonts.
Om een Russisch toetsenbord te activeren dient het
volgende in het "Keyboard"
gedeelte
van xorg.conf
te staan:
XkbLayout "ru" XkbOptions "grp:caps_toggle"
Voor Xorg:
Option "XkbLayout" "us,ru" Option "XkbOptions" "grp:caps_toggle"
Ook moet daar XkbDisable
uitgeschakeld (uitgecomment) zijn.
Voor grp:toggle
is de
RUS/LAT-schakelaar Rechter Alt voor
de grp:ctrl_shift_toggle
schakelaar zal
dat Ctrl+Shift zijn. Voor
grp:caps_toggle
zal de
RUS/LAT-schakelaar CapsLock zijn. De
oude CapsLock functie is nog steeds
beschikbaar via Shift+CapsLock
(alleen in LAT-modus). grp:caps_toggle
werkt om onbekende reden niet in
Xorg.
Als er “Windows®” toetsen op een
toetsenbord zitten en het blijkt dat sommige
niet-alfabetische toetsen verkeerd gemapt zijn in
RUS-modus, dan kan de volgende regel aan
xorg.conf
toegevoegd worden:
Option "XkbVariant" ",winkeys"
Het Russische XKB toetsenbord hoeft niet te werken met niet-gelokaliseerde applicaties.
Minimaal gelokaliseerde applicaties moeten vroeg in het
programma een aanroep naar de XtSetLanguageProc
(NULL, NULL,);
functie doen.
In KOI8-R for X Window staan meer instructies over het lokaliseren van X11-applicaties.
Het FreeBSD-Taiwan Project heeft een Chinese HOWTO voor FreeBSD
op http://netlab.cse.yzu.edu.tw/~statue/zh-l10n-tut/
die gebruik maakt van veel Chinese ports. De huidige redacteur
voor de FreeBSD Chinese HOWTO
is Shen
Chuan-Hsing <statue@freebsd.sinica.edu.tw>
.
Chuan-Hsing Shen heeft de Chinese FreeBSD
Collection (CFC) gemaakt met gebruik van FreeBSD-Taiwan's
zh-L10N-tut
. De packages en scriptbestanden
zijn beschikbaar op ftp://freebsd.csie.nctu.edu.tw/pub/taiwan/CFC
.
Slaven Rezic <eserte@cs.tu-berlin.de>
heeft
een tutorial geschreven over het gebruik van umlauten op een
FreeBSD-machine. De tutorial is in het Duits geschreven en staat
op ttp://user.cs.tu-berlin.de/~eserte/FreeBSD/doc/umlaute/umlaute.html
.
Nikos Kokkalis <nickkokkalis@gmail.com>
heeft
een compleet artikel over Griekse ondersteuning in FreeBSD
geschreven. Het is beschikbaar als deel van de officiële
Griekse FreeBSD-documentatie, in http://www.freebsd.org/doc/el_GR.ISO8859-7/articles/greek-language-support/index.html.
Merk opdat dit alleen in het Grieks
beschikbaar is.
Japanse lokalisatie staat beschreven op http://www.jp.FreeBSD.org/
en de Koreaanse
lokalisatie staat op http://www.kr.FreeBSD.org/
.
Sommige delen van de FreeBSD-documentatie zijn naar andere
talen vertaald. Hiernaar staan links op de hoofdsite of in
/usr/share/doc
.
FreeBSD wordt ontwikkeld tussen de verschillende versies in. Sommige mensen prefereren om de officieel uitgegeven versies te draaien, terwijl anderen gesynchroniseerd willen blijven met de nieuwste ontwikkelingen. Zelfs officiële uitgaven echter worden vaak bijgewerkt met veiligheids- en andere kritieke reparaties. Ongeacht de gebruikte versie biedt FreeBSD alle noodzakelijke gereedschappen om uw systeem bijgewerkt te houden, en maakt FreeBSD het upgraden tussen versies ook gemakkelijk. Dit hoofdstuk helpt om een keuze te maken of het wenselijk is het ontwikkelsysteem te volgen of één van de uitgegeven versies. De basisgereedschappen om uw systeem bijgewerkt te houden worden ook gepresenteerd.
Na het lezen van dit hoofdstuk weet de lezer:
Welke gereedschappen gebruikt kunnen worden om het systeem en de Portscollectie te updaten.
Hoe een systeem bijgewerkt kan worden met freebsd-update, CVSup, CVS of CTM;
Hoe de toestand van een geïnstalleerd systeem met een bekende maagdelijke kopie te vergelijken.
Hoe uw documentatie bijgewerkt te houden met CVSup of documentatie-ports.
De verschillen tussen de ontwikkeltakken FreeBSD-STABLE en FreeBSD-CURRENT;
Hoe een basissysteem opnieuw te compileren en
te herinstalleren met make buildworld
,
enzovoort.
Veronderstelde criteria:
Een juist ingesteld netwerk (Hoofdstuk 31, Geavanceerde netwerken);
Weten hoe software van derden te installeren (Hoofdstuk 5, Applicaties installeren: pakketten en ports).
Door dit hoofdstuk heen wordt cvsup
gebruikt om de broncode van FreeBSD te verkrijgen en bij te werken.
Om het te gebruiken, dient u de port of het pakket voor net/cvsup te installeren (als u niet de
grafische cvsup
-cliënt wilt installeren, kunt u
de port net/cvsup-without-gui
installeren. U kunt
ervoor kiezen om dit te vervangen door csup(1) welke onderdeel is
van het basissysteem.
Het toepassen van beveiligingspatches is een belangrijk onderdeel van het beheren van computersoftware, met name het besturingssysteem. Dit was voor een lange tijd geen gemakkelijk proces op FreeBSD. Er moesten patches op de broncode worden toegepast, de code moest herbouwd worden tot binairen, en daarna moesten de binairen worden geherinstalleerd.
Dit is niet langer het geval aangezien FreeBSD nu een gereedschap
heeft dat eenvoudigweg freebsd-update
heet.
Dit gereedschap biedt twee gescheiden functies. Ten eerste
voorziet het in het toepassen van binaire beveiligings- en
errata-updates op het basissysteem van FreeBSD zonder de eis om te
bouwen en te installeren. Ten tweede ondersteunt het gereedschap
kleine en grote uitgave-upgrades.
Binaire updates zijn beschikbaar voor alle architecturen en
uitgaveaankondigingen dienen gelezen te worden aangezien deze
belangrijke informatie over de gewenste uitgave kunnen bevatten.
De aankondigingen kunnen op de volgende koppelin bekeken worden:
http://www.FreeBSD.org/releases/
.
Als er een crontab
bestaat die de
mogelijkheden van freebsd-update
gebruikt, moet
het uitgeschakeld worden voordat aan de volgende operatie wordt
begonnen.
Sommige gebruikers willen het standaard configuratiebestand optimaliseren, waardoor het proces beter gecontroleerd kan worden. De opties zijn goed gedocumenteerd, maar voor de volgenden is wat extra uitleg nodig:
# Componenten van het basissysteem die bijgewerkt moeten blijven Components src world kernel
Deze parameter bepaalt welke delen van FreeBSD bijgewerkt
blijven. Standaard wordt de broncode bijgewerkt, het hele
basissysteem, en de kernel. Dezelfde componenten als tijdens de
installatie zijn beschikbaar, het toevoegen van bijvoorbeeld
world/games
zou de spelpatches toepassen. Het
gebruik van src/bin
zou de broncode in src/bin
bijgewerkt houden.
Het beste kan dit op de standaardwaarde blijven aangezien het veranderen hiervan om specifieke items te bevatten de gebruiker dwingt om alle items die bijgewerkt dienen te worden op te noemen. Dit kan rampzalige gevolgen hebben aangezien de broncode en de binairen asynchroon kunnen raken.
# Paden die beginnen met iets wat overeenkomt met een regel in een IgnorePaths # statement zullen genegeerd worden. IgnorePaths
Voeg paden, zoals
/bin
of
/sbin
toe om deze
specifieke mappen ongemoeid te laten tijdens het updateproces.
Deze optie kan gebruikt worden om te voorkomen dat
freebsd-update
lokale wijzigingen
overschrijft.
# Paden die beginnen met iets wat overeenkomt met een regel in een UpdateIfUnmodified # statement zullen alleen worden bijgewerkt als de inhoud van het bestand niet is # gewijzigd door de gebruiker (tenzij veranderingen zijn samengevoegd; zie beneden). UpdateIfUnmodified /etc/ /var/ /root/ /.cshrc /.profile
Werk configuratiebestanden in de aangegeven mappen alleen
bij als ze niet zijn gewijzigd. Alle veranderingen die door de
gebruiker zijn gemaakt maken het automatisch bijwerken van deze
bestanden ongeldig. Er is een andere optie,
KeepModifiedMetadata
, die
freebsd-update
instrueert om de veranderingen
tijdens het samenvoegen te bewaren.
# Wanneer naar een nieuwe uitgave van FreeBSD wordt ge-upgraded, worden lokale veranderingen van bestanden die overeenkomen met MergeChanges # samengevoegd in de versie van de nieuwe uitgave. MergeChanges /etc/ /var/named/etc/
Lijst van mappen met instellingenbestanden waar
freebsd-update
moet proberen om in samen te
voegen. Het proces van bestanden samenvoegen is een serie
van diff(1)-patches die ongeveer gelijk is aan
mergemaster(8) met minder opties, de samenvoegingen worden
ofwel geaccepteerd, of openen een tekstverwerker, of zorgen
ervoor dat freebsd-update
afbreekt. Maak in
geval van twijfel een reservekopie van /etc
en accepteer de
samenvoegingen. In Paragraaf 24.7.11.1, “mergemaster
” staat meer
informatie over het commando mergemaster
.
# Map waarin de gedownloade updates en tijdelijke bestanden # die door een FreeBSD Update worden gebruikt worden opgeslagen. # WorkDir /var/db/freebsd-update
Dit is de map waarin alle patches en tijdelijke bestanden worden geplaatst. In het geval dat de gebruiker een versie-upgrade uitvoert, dient deze locatie tenminste een gigabyte aan vrije schijfruimte te hebben.
# Wanneer tussen uitgaven wordt ge-upgraded, dient de lijst van Componenten dan # strikt gelezen te worden (StrictComponents yes) of slechts als een lijst van componenten # die geïnstalleerd *kunnen* worden en waarvan FreeBSD Update uit dient te zoeken # welke daadwerkelijk zijn geïnstalleerd en die te upgraden (StrictComponents no)? # StrictComponents no
Wanneer ingesteld op yes
, zal
freebsd-update
aannemen dat de lijst
Components
compleet is en zal het niet
proberen om wijzigingen buiten de lijst te maken. Effectief zal
freebsd-update
proberen om elk bestand bij te
werken dat op de lijst Components
staat.
Beveiligingspatches staan op een verre machine en kunnen met het volgende commando gedownload en geïnstalleerd worden:
#
freebsd-update fetch
#
freebsd-update install
Als er kernelpatches zijn toegepast moet het systeem opnieuw
opgestart worden. Als alles goed is gegaan dient het systeem
gepatcht te zijn en kan freebsd-update
als
een nachtelijke cron(8)-taak gedraaid worden. Een regel
in /etc/crontab
zou genoeg moeten zijn om
deze taak te volbrengen:
@daily root freebsd-update cron
Deze regel verklaart dat eenmaal per dag het commando
freebsd-update
gedraaid zal worden. Op deze
manier, door het argument cron
te gebruiken,
zal het gereedschap freebsd-update
alleen kijken of
er updates bestaan. Als er patches bestaan, zullen ze automatisch
worden gedownload naar de plaatselijke schijf maar niet worden
toegepast. Er zal een email aan de gebruiker
root
worden verstuurd zodat ze handmatig
geïnstalleerd kunnen worden.
Als er iets misging, heeft freebsd-update
de mogelijkheid om de laatste verzamelingen veranderingen terug
te draaien met het volgende commando:
#
freebsd-update rollback
Eenmaal voltooid, dient het systeem herstart te worden als de kernel of enige kernelmodule is gewijzigd. Dit stelt FreeBSD in staat om de nieuwe binairen in het geheugen te laden.
Het gereedschap freebsd-update
kan alleen
de kernel GENERIC
automatisch bijwerken. Als
een eigen kernel wordt gebruikt, moet het herbouwd en
geherinstalleerd worden nadat freebsd-update
klaar is met het installeren de rest van de updates.
freebsd-update
zal echter de kernel
GENERIC
in /boot/GENERIC
detecteren en
bijwerken (als het bestaat), zelfs als het niet de huidige
(draaiende) kernel van het systeem is.
Het is een goed idee om altijd een kopie van de kernel
GENERIC
in /boot/GENERIC
te bewaren. Het
kan van pas komen bij het vaststellen van een keur aan
problemen, en bij het uitvoeren van versie-upgrades met
freebsd-update
zoals beschreven in
Paragraaf 24.2.3, “Grote en kleine upgrades”.
Tenzij de standaardconfiguratie in
/etc/freebsd-update.conf
is gewijzigd, zal
freebsd-update
de bijgewerkte kernelbronnen
samen met de rest van de updates installeren. Het herbouwen en
herinstalleren van uw nieuwe eigen kernel kan daarna op de
gebruikelijke manier gedaan worden.
De updates die via freebsd-update
verspreid worden hebben niet altijd betrekking op de kernel.
Het is niet nodig om uw eigen kernel te herbouwen als de
kernelbronnen niet zijn aangepast door het uitvoeren van
freebsd-update install
.
freebsd-update install
zal echter altijd
het bestand /usr/src/sys/conf/newvers.sh
bijwerken. Het huidige patchniveau (zoals aangegeven door het
-p
-nummer gerapporteerd door uname
-r
) wordt uit dit bestand gehaald. Het herbouwen
van uw eigen kernel, zelfs als er niets veranderd is, stelt
uname(1) in staat om het huidige patchniveau van het
systeem accuraat te rapporteren. Dit is in het bijzonder
behulpzaam wanneer meerdere systemen onderhouden worden,
aangezien hierdoor snel de geïnstalleerde updates op elk
ervan kunnen worden nagegaan.
Dit proces ruimt oude objectbestanden en bibliotheken op waardoor de meeste applicaties van derde partijen kapot gaan. Het wordt aangeraden dat alle geïnstalleerde poorten ofwel verwijderd en geherinstalleerd worden of later ge-upgraded worden met het hulpmiddel ports-mgmt/portupgrade. De meeste gebruikers zullen willen proefdraaien met het volgende commando:
#
portupgrade -af
Dit zorgt ervoor dat alles juist wordt geherinstalleerd.
Merk op dat het instellen van de omgevingsvariabele
BATCH
op yes
het antwoord
yes
zal geven op alle prompts tijdens dit
proces, waardoor het niet nodig is om handmatig in het
bouwproces in te grijpen.
Als een eigen kernel wordt gebruikt, is het upgradeproces
iets ingewikkelder. Een kopie van de kernel
GENERIC
is nodig en dient in /boot/GENERIC
geplaatst te
worden. Als de kernel GENERIC
niet reeds op
het systeem aanwezig is, moet het met één van de
volgende methoden verkregen worden:
Als er slechts eenmaal een eigen kernel is gebouwd, dan
is de kernel in /boot/kernel.old
eigenlijk de
GENERIC
. Hernoem deze map naar /boot/GENERIC
.
Aannemende dat fysieke toegang tot de machine mogelijk
is, kan een kopie van de kernel GENERIC
van het CD-ROM-medium worden geïnstalleerd. Laad de
installatieschijf en geef de volgende commando's:
#
mount /cdrom
#
cd /cdrom/X.Y-RELEASE/kernels
#
./install.sh GENERIC
Vervang X.Y-RELEASE
met de versie van de uitgave die u gebruikt. De kernel
GENERIC
zal standaard in /boot/GENERIC
worden
geïnstalleerd.
Als al het bovenstaande niet lukt, kan de kernel
GENERIC
herbouwd en geherinstalleerd
worden vanaf de broncode:
#
cd /usr/src
#
env DESTDIR=/boot/GENERIC make kernel
#
mv /boot/GENERIC/boot/kernel/* /boot/GENERIC
#
rm -rf /boot/GENERIC/boot
Om deze kernel door freebsd-update
als GENERIC
te laten herkennen, mag het
configuratiebestand voor GENERIC
niet op
enige wijze veranderd zijn. Het is ook aan te raden dat het
zonder andere speciale opties wordt gebouwd (bij voorkeur
met een leeg /etc/make.conf
).
Opnieuw opstarten naar de kernel GENERIC
is in dit stadium niet nodig.
Updates van grote en kleine versies kunnen worden uitgevoerd
door een uitgaveversie als doel aan
freebsd-update
op te geven, het volgende
commando zal bijvoorbeeld updaten naar FreeBSD 8.1:
#
freebsd-update -r 8.1-RELEASE upgrade
Nadat het commando is ontvangen, zal
freebsd-update
het instellingenbestand en het
huidige systeem evalueren in een poging om de benodigde
informatie te verzamelen om het systeem te updaten. Een lijst
op het scherm zal aangeven welke componenten zijn gedetecteerd
en welke niet. Bijvoorbeeld:
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
Nu zal freebsd-update
proberen om alle
bestanden die nodig zijn voor de upgrade te downloaden. In
sommige gevallen kan de gebruiker worden gevraagd wat te
installeren of hoe verder te gaan.
Wanneer een eigen kernel wordt gebruikt, zal de bovenstaande stap een waarschuwing geven die lijkt op de volgende:
WARNING: This system is running a "MIJNKERNEL
" 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"
Deze waarschuwing kan op dit moment veilig worden
genegeerd. De bijgewerkte kernel GENERIC
zal als tussenliggende stap in het upgradeproces worden
gebruikt.
Nadat alle patches zijn gedownload naar het plaatselijke
systeem zullen ze worden toegepast. Dit proces kan afhankelijk
van de snelheid en werklast van de machine even duren. Hierna
zullen instellingenbestanden worden samengevoegd —
voor dit gedeelte van het proces is enige tussenkomst van de
gebruiker nodig aangezien een bestand kan worden samengevoegd of
omdat er een tekstverwerker op het scherm kan verschijnen om het
bestand handmatig samen te voegen. Het resultaat van elke
succesvolle samenvoeging zal aan de gebruiker worden getoond
naarmate het proces verder gaat. Een mislukte of genegeerde
samenvoegpoging zal het proces afbreken. Het is mogelijk voor
gebruikers om een reservekopie van /etc
te maken en belangrijke
bestanden, zoals master.passwd
of
group
, later samen te voegen.
Het systeem is nog niet veranderd, al het patchen en samenvoegen gebeurt in een andere map. Wanneer alle patches succesvol zijn toegepast, alle instellingenbestanden zijn samengevoegd en het erop lijkt dat het proces soepel verloopt, dienen de veranderingen verzegeld te worden door de gebruiker.
Als dit proces eenmaal voltooid is, kan de upgrade aan de schijf toevertrouwd worden met het volgende commando.
#
freebsd-update install
De kernel en kernelmodules zullen als eerste gepatcht
worden. Nu moet de machine opnieuw opgestart worden. Als het
systeem een eigen kernel draaide, gebruik dan het commando
nextboot(8) om de kernel voor de volgende keer dat
opgestart wordt in te stellen op /boot/GENERIC
(welke is
bijgewerkt):
#
nextboot -k GENERIC
Voordat er met de kernel GENERIC
wordt
opgestart, dient te worden gecontroleerd dat het alle
stuurprogramma's bevat om uw systeem juist te laten opstarten
(en met het netwerk te verbinden, als de machine die
bijgewerkt wordt van afstand wordt benaderd). In het
bijzonder, als de vorige kernel die draaide ingebouwde
functionaliteit bevatte die normaalgesproken door
kernelmodules wordt geleverd, zorg er dan voor dat deze
modules tijdelijk in de kernel GENERIC
worden geladen door de faciliteit
/boot/loader.conf
te gebruiken. U kunt
er ook voor kiezen om niet-essentiële diensten, schijf-
en netwerkkoppelingen, enzovoorts uit te zetten totdat het
upgradeproces voltooid is.
De machine dient nu te worden herstart met de bijgewerkte kernel:
#
shutdown -r now
Als het systeem weer actief is, moet
freebsd-update
nogmaals gestart worden.
De toestand van het proces is opgeslagen en dus zal
freebsd-update
niet vooraan beginnen, maar
zal het alle oude gedeelde bibliotheken en objectbestanden
verwijderen. Geef het volgende commando om verder te gaan op
dit punt:
#
freebsd-update install
Afhankelijk van het feit of er versienummers van bibliotheken zijn opgehoogd, kunnen er slechts twee in plaats van drie installatiefasen zijn.
Alle software van derde partijen dient nu opnieuw gebouwd en geïnstalleerd te worden. Dit is nodig omdat geïnstalleerde software van bibliotheken afhankelijk kan zijn die tijdens het upgradeproces zijn verwijderd. Het commando ports-mgmt/portupgrade kan gebruikt worden om dit proces te automatiseren. Dit proces kan met de volgende commando's gestart worden:
#
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
Voltooi, nadat dit voltooid is, het upgradeproces met een
laatste aanroep naar freebsd-update
. Geef
het volgende commando om alle losse eindjes in het upgradeproces
samen te knopen:
#
freebsd-update install
Als de kernel GENERIC
tijdelijk werd
gebruikt, is dit het moment om een nieuwe eigen kernel op de
gebruikelijke manier te bouwen en installeren.
Start de machine opnieuw op in de nieuwe FreeBSD-versie. Het proces is voltooid.
Het gereedschap freebsd-update
kan
gebruikt worden om de toestand van de geïnstalleerde versie
van FreeBSD met een bekende goede kopie te vergelijken. Deze optie
evalueert de huidige versie van systeemgereedschappen,
bibliotheken, en instellingenbestanden. Geef het volgende
commando om met de vergelijking te beginnen:
#
freebsd-update IDS >> uitvoerbestand.ids
Hoewel de commandonaam IDS is, is het
in geen geval een vervanging voor een indringdetectiesysteem
zoals security/snort.
Aangezien freebsd-update
gegevens op schijf
opslaat, is de mogelijkheid om te knoeien duidelijk. Hoewel
deze mogelijkheid verminderd kan worden door de instelling
kern.securelevel
te gebruiken en de
gegevens van freebsd-update
op een
bestandssysteem dat alleen gelezen kan worden op te slaan
wanneer deze niet gebruikt worden, zou een betere oplossing
zijn om het systeem met een veilige schijf te vergelijken,
zoals een DVD of een veilig opgeslagen
externe USB-schijf.
Het systeem zal nu geïnspecteerd worden, en er zal een
lijst van hun sha256(1)-hashwaarden, zowel de bekende
waarde in de uitgave en de huidige geïnstalleerde waarde,
afgebeeld worden. Hierom wordt de uitvoer naar het bestand
uitvoerbestand.ids
gezonden. Het scrollt
te snel voorbij om het met het oog te vergelijken, en het vult
al snel de gehele consolebuffer op.
Deze regels zijn ook extreem lang, maar het uitvoerformaat kan vrij eenvoudig geparsed worden. Geef, om bijvoorbeeld een lijst van alle bestanden te krijgen die verschillen van die in de uitgave, het volgende commando:
#
cat uitvoerbestand.ids | awk '{ print $1 }' | more
/etc/master.passwd /etc/motd /etc/passwd /etc/pf.conf
Deze uitvoer is afgekapt, er bestaan veel meer bestanden.
Sommige van deze bestanden hebben natuurlijke veranderingen, het
/etc/passwd
is gewijzigd omdat er
gebruikers aan het systeem zijn toegevoegd. In sommige gevallen
kunnen er andere bestanden zijn, zoals kernelmodules, die
verschillen aangezien freebsd-update
ze
ge-updated kan hebben. Voeg, om bepaalde bestanden of mappen
uit te sluiten, deze toe aan de optie
IDSIgnorePaths
in
/etc/freebsd-update.conf
.
Dit systeem kan gebruikt worden als deel van een uitgebreide upgrademethode, afgezien van de eerder besproken versie.
Het basissysteem van FreeBSD bevat ook een gereedschap om de Portscollectie bij te werken: het hulpmiddel portsnap(8). Wanneer het wordt uitgevoerd, zal het een verbinding maken met een verre site, de veilige sleutel controleren, en een nieuwe kopie van de Portscollectie downloaden. De sleutel wordt gebruikt om de integriteit van alle gedownloade bestanden te controleren, om er zeker van te zijn dat ze niet tijdens het downloaden zijn gewijzigd. Geef het volgende commando om de nieuwste versie van de bestanden van de Portscollectie te downloaden:
#
portsnap fetch
Looking up portsnap.FreeBSD.org mirrors... 9 mirrors found. Fetching snapshot tag from geodns-1.portsnap.freebsd.org... done. Fetching snapshot metadata... done. Updating from Tue May 22 02:12:15 CEST 2012 to Wed May 23 16:28:31 CEST 2012. 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.
Dit voorbeeld laat zien dat portsnap(8) verscheidene patches heeft gevonden en deze met de huidige portsgegevens heeft gecontroleerd. Het geeft ook aan dat het gereedschap eerder is gedraaid, als het voor de eerste keer was gedraaid, had het simpelweg de collectie gedownload.
Wanneer portsnap(8) succesvol een
fetch
-operatie afrondt, bestaan de
Portscollectie en de vervolgpatches die de verificatie doorstaan
hebben op het plaatselijke systeem. Gebruik de eerste keer dat
portsnap
wordt uitgevoerd extract
om de gedownloade bestanden te installeren:
#
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...
Om een reeds geïnstalleerde Ports Collectie te updaten kan
er gebruik worden gemaakt van het commando
portsnap update
:
#
portsnap update
Het proces is nu compleet, en applicaties kunnen met de bijgewerkte Portscollectie worden geïnstalleerd of worden bijgewerkt.
De bewerkingen fetch
en extract
of update
kunnen achter elkaar uitgevoerd worden, zoals
het volgende voorbeeld laat zien:
#
portsnap fetch update
Dit commando zal de laatste versie van de Ports Collectie downloaden
en de lokale versie bijwerken in de
/usr/ports
.
Naast het basissysteem en de Portscollectie is documentatie een integraal onderdeel van het besturingssysteem FreeBSD. Hoewel een actuele versie van de FreeBSD-documentatie altijd beschikbaar is op de FreeBSD website, hebben sommige gebruikers een langzame of helemaal geen permanente netwerkverbinding. Gelukkig zijn er verschillende manieren om de documentatie die bij elke uitgave wordt geleverd bij te werken door een lokale kopie van de nieuwste FreeBSD-documentatie bij te houden.
De bronnen van de FreeBSD-documentatie kunnen met Subversion worden bijgewerkt. Deze sectie beschrijft:
Hoe de documentatiegereedschappen, de gereedschappen die nodig zijn om de FreeBSD-documentatie vanuit de broncode te herbouwen, te installeren.
Hoe een kopie van de documentatiebronnen in /usr/doc
te downloaden door
Subversion te gebruiken.
Hoe de FreeBSD-documentatie vanuit de broncode te herbouwen
en onder /usr/share/doc
te
installeren.
Sommige bouwopties die door het bouwsysteem van de documentatie ondersteund worden, i.e., de opties die slechts enkele van de verschillende vertalingen van de documentatie bouwen of de opties die een specifiek uitvoerformaat selecteren.
Voor het herbouwen van de FreeBSD-documentatie vanuit de broncode is een aardig grote verzameling gereedschappen nodig. Deze gereedschappen zijn geen deel van het basissysteem van FreeBSD omdat ze een grote hoeveelheid schijfruimte nodig hebben en niet voor alle FreeBSD-gebruikers nuttig zijn; ze zijn alleen nuttig voor die gebruikers die actief nieuwe documentatie voor FreeBSD schrijven of regelmatig hun documentatie vanuit de broncode bijwerken.
Alle benodigde gereedschappen zijn beschikbaar als deel van de Portscollectie. De port textproc/docproj is een meester-port die door het FreeBSD Documentatieproject is ontwikkeld om de installatie en toekomstige updates van deze gereedschappen makkelijker te maken.
Wanneer er geen PostScript®- of PDF-documentatie nodig is, kan men overwegen om in plaats hiervan de port textproc/docproj-nojadetex te installeren. Deze versie van de documentatiegereedschappen bevat alles behalve de typesetting-engine teTeX. teTeX is een erg grote verzameling van gereedschappen, dus kan het zinvol zijn om de installatie ervan achterwege te laten als PDF-uitvoer niet echt nodig is.
Subversion wordt geïnstalleerd met de port textproc/docproj.
Het programma Subversion kan een schone kopie van de documentatiebroncode ophalen door het volgende te typen:
#
svn checkout svn://svn.FreeBSD.org/doc/head /usr/doc
De initiële download van de documentatiebroncode kan een tijd duren. Laat het draaien totdat het voltooid is.
Toekomstige updates van de documentatiebroncode kunnen opgehaald worden door het volgende commando te draaien:
#
svn update /usr/doc
Nadat de broncode is uitgecheckt, wordt een alternatieve
manier om de documentatie bij te werken ondersteund door
Makefile
van de map /usr/doc
door het volgende te
draaien:
#
cd /usr/doc
#
make update
Het bijwerk- en bouwsysteem van de FreeBSD-documentatie
ondersteunt enkele opties die het proces om de documentatie
alleen gedeeltelijk bij te werken, of om specifieke vertalingen
te bouwen, makkelijker maken. Deze opties kunnen of als
systeemwijde opties in het bestand
/etc/make.conf
worden ingesteld, of als
opdrachtregelopties aan het hulpmiddel make(1) worden
doorgegeven.
De volgende opties zijn er enkelen van:
DOC_LANG
De lijst van te bouwen en te installeren talen en
coderingen, bijvoorbeeld
en_US.ISO8859-1
voor alleen de Engelse
documentatie.
FORMATS
Een enkel formaat of een lijst van uitvoerformaten die
gebouwd moeten worden. Momenteel worden
html
, html-split
,
txt
, ps
,
pdf
, en rtf
ondersteund.
DOCDIR
Waar de documentatie te installeren. Dit staat
standaard op /usr/share/doc
.
Bekijk make.conf(5) voor meer make-variabelen die als systeemwijde opties in FreeBSD worden ondersteund.
Voor meer make-variabelen die door het bouwsysteem van de FreeBSD-documentatie ondersteund worden, wordt naar het FreeBSD Documentation Project Primer for New Contributors verwezen.
Wanneer er een actueel snapshot van de documentatiebroncode
is opgehaald in /usr/doc
,
is alles gereed om de geïnstalleerde documentatie bij te
werken.
Het volledig bijwerken van alle talen die in de
Makefile-optie DOC_LANG
zijn gedefinieerd kan
worden gedaan door te typen:
#
cd /usr/doc
#
make install clean
Als alleen het bijwerken van een specifieke taal gewenst is,
dan kan make(1) worden aangeroepen in een taalspecifieke
submap van /usr/doc
,
i.e.:
#
cd /usr/doc/en_US.ISO8859-1
#
make update install clean
De te installeren uitvoerformaten kunnen worden
gespecificeerd door de make-variabele FORMATS
in te stellen, i.e.:
#
cd /usr/doc
#
make FORMATS='html html-split' install clean
In de vorige sectie werd er een methode voor het bijwerken van de FreeBSD-documentatie vanaf de broncode gepresenteerd. Het bijwerken gebaseerd op broncode is echter niet voor alle FreeBSD-systemen haalbaar of praktisch. Voor het bouwen van de documentatiebronnen zijn een redelijk grote verzameling van gereedschappen, de documentatie gereedschapskist, een bepaald niveau van bekendheid met Subversion en checkouts van broncode vanuit een reservoir nodig, en een aantal handmatige stappen om de uitgecheckte broncode te bouwen. In deze sectie wordt een alternatieve manier beschreven om de geïnstalleerde kopiën van de FreeBSD-documentatie bij te werken; een die de Ports Collectie gebruikt en het mogelijk maakt om:
Voorgebouwde versies van de documentatie te downloaden en te installeren, zonder iets lokaal te hoeven bouwen (op deze manier wordt de noodzaak voor een installatie van de gehele documentatie-gereedschapskist voorkomen).
De documentatiebronnen te bouwen en ze via het ports-raamwerk te bouwen (de stappen van het uitchecken en bouwen worden iets eenvoudiger gemaakt).
Deze twee methoden om de FreeBSD-documentatie bij te werken
worden ondersteund door een verzameling van
documentatie-ports die maandelijks door
het Documentatie Engineering Team <doceng@FreeBSD.org>
worden bijgewerkt. Deze zijn vermeld in de FreeBSD
Ports Collectie onder de virtuele categorie docs.
De documentatie-ports gebruiken het bouwraamwerk van de ports om het bouwen van documentatie eenvoudiger te maken. Ze automatiseren het proces van het uitchecken van de broncode van de documentatie, het draaien van make(1) met de juiste omgevingsinstellingen en opdrachtregelopties, en ze maken de installatie of deïnstallatie van documentatie net zo eenvoudig als de installatie van elke andere FreeBSD-port of -pakket.
Als een extra eigenschap registreren de documentatie-ports, wanneer ze lokaal zijn gebouwd, een afhankelijkheid naar de ports van de documentatie-gereedschapskist, zodat de laatste ook automatisch is geïnstalleerd.
De organisatie van de documentatie-ports is als volgt:
Er is een “meester-port”, misc/freebsd-doc-en, waar de bestanden van de documentatie-ports gevonden kunnen worden. Het is de basis van alle documentatie-ports. Standaard bouwt het alleen de Engelstalige documentatie.
Er is een “alles-in-één port”, misc/freebsd-doc-all, en het bouwt en installeert alle documentatie in alle beschikbare talen.
Ten slotte is er een “slaaf-port” voor elke vertaling, bijvoorbeeld misc/freebsd-doc-hu voor de documenten in het Hongaars. Ze zijn allemaal afhankelijk van de meester-port en installeren de vertaalde documentatie van de respectievelijke taal.
Gebruik de volgende commando's (als
root
) om een documentatieport vanaf de
broncode te installeren:
#
cd /usr/ports/misc/freebsd-doc-en
#
make install clean
Dit zal de Engelstalige documentatie in gesplitst
HTML-formaat (hetzelfde als dat op http://www.FreeBSD.org
wordt gebruikt) in de
map /usr/local/share/doc/freebsd
bouwen en installeren.
Er zijn vele opties om het standaardgedrag van de documentatie-ports aan te passen. Het volgende is slechts een korte lijst:
WITH_HTML
Staat bouwen van het HTML-formaat toe: een enkel
HTML-bestand per document. De opgemaakte documentatie
wordt naar gelang in een bestand genaamd
article.html
, of
book.html
, met afbeeldingen
opgeslagen.
WITH_PDF
Staat bouwen van het Adobe® Portable Document
Format toe, te gebruiken met Adobe® Acrobat Reader®,
Ghostscript, of andere
PDF-lezers. De opgemaakte documentatie wordt naar
gelang opgeslagen in een bestand genaamd
article.pdf
of
book.pdf
opgeslagen.
DOCBASE
Waar de documentatie te installeren. Standaard is
dit /usr/local/share/doc/freebsd
.
Merk op dat de standaard doelmap afwijkt van de map die
door de Subversion-methode wordt
gebruikt. Dit komt omdat er een port wordt
geïnstalleerd, en ports worden normaliter onder
de map /usr/local
geïnstalleerd. Dit kan veranderd worden door
de variabele PREFIX
toe te
voegen.
Hier is een kort voorbeeld over hoe de bovengenoemde variabelen te gebruiken om de Hongaarse documentatie in Portable Document Format te installeren:
#
cd /usr/ports/misc/freebsd-doc-hu#
make -DWITH_PDF DOCBASE=share/doc/freebsd/hu install clean
Voor het bouwen van de documentatie-ports vanaf broncode, zoals beschreven in de vorige sectie, is een lokale installatie van de documentatie-gereedschapskist en wat schijfruimte voor het bouwen van de ports nodig. Wanneer de bronnen voor het installeren van de documentatie-gereedschapskist niet aanwezig zijn, of wanneer het bouwen vanaf broncode te veel schijfruimte in beslag neemt, is het nog steeds mogelijk om de vooraf gebouwde versies van de documentatie-ports te installeren.
Het Documentatie Engineering Team <doceng@FreeBSD.org>
bereidt maandelijkse versies van de FreeBSD
documentatiepakketten voor. Deze binaire pakketten kunnen met
elk van de meegeleverde pakketgereedschappen, zoals
pkg_add(1), pkg_delete(1), enzovoorts gebruikt
worden.
Wanneer binaire pakketten worden gebruikt, zal de FreeBSD documentatie in alle beschikbare formaten voor de gegeven taal geïnstalleerd worden.
Het volgende commando bijvoorbeeld zal het nieuwste vooraf gebouwde pakket van de Hongaarse documentatie installeren:
#
pkg_add -r hu-freebsd-doc
Pakketten hebben het volgende naamformaat welke afwijkt
van de naam van de overeenkomstige port:
taal-freebsd-doc
.
Hier is taal
het korte formaat
van de taalcode, i.e., hu
voor Hongaars,
of zh_cn
voor Vereenvoudigd Chinees.
Voor het bijwerken van een eerder geïnstalleerde documentatieport is elk gereedschap voor het bijwerken van ports geschikt. Het volgende commando bijvoorbeeld werkt de geïnstalleerde Hongaarse documentatie bij via het gereedschap ports-mgmt/portupgrade door alleen pakketten te gebruiken:
#
portupgrade -PP hu-freebsd-doc
Er zijn twee ontwikkeltakken voor FreeBSD: FreeBSD-CURRENT en FreeBSD-STABLE. Deze sectie licht beiden toe en beschrijft hoe een systeem bijgewerkt te houden met elke tak. FreeBSD-CURRENT wordt eerst behandeld, daarna FreeBSD-STABLE.
Bedenk dat FreeBSD-CURRENT het “nieuwste van het nieuwste” is van FreeBSD ontwikkeling. Van FreeBSD-CURRENT gebruikers wordt verwacht dat ze veel technische kennis hebben en capabel zijn om zelfstandig lastige systeemproblemen op te lossen. Nieuwe gebruikers van FreeBSD kunnen het beste twee keer nadenken alvorens het te installeren.
FreeBSD-CURRENT is de laatste werkende set broncode voor FreeBSD. Dit bevat werk in uitvoering, experimentele wijzigingen en overgangsmechanismes die mogelijk wel of niet meegenomen worden in de volgende officiële uitgave van het besturingssysteem. Alhoewel veel FreeBSD-ontwikkelaars de broncode van FreeBSD-CURRENT dagelijks compileren, zijn er periodes dat de broncode niet compileerbaar is. Deze problemen worden zo snel mogelijk gerepareerd, maar het is mogelijk dat FreeBSD-CURRENT een ramp veroorzaakt in plaats van dat het de gewenste functionaliteit levert. Dit ligt geheel aan het moment waarop de broncode is opgehaald.
FreeBSD-CURRENT is beschikbaar voor drie primaire aandachtsgroepen:
Leden van de FreeBSD-gemeenschap die actief werken aan een deel van de broncode voor wie “current” een echte eis is.
Leden van de FreeBSD-gemeenschap die actief testen en tijd hebben om problemen op te lossen om zeker te stellen dat FreeBSD-CURRENT zo gezond als mogelijk is. Er zijn ook mensen die actuele suggesties maken over wijzigingen en de algemene richting van FreeBSD en die patches opsturen om deze te implementeren.
Diegenen die alleen een oogje in het zeil willen houden of de huidige bronnen gebruiken ter referentie (bijvoorbeeld voor het lezen en niet het draaien). Deze mensen geven ook regelmatig commentaar of dragen bij in de code.
Een snelle manier om pre-release versies te krijgen omdat bekend is dat er een aantal leuke nieuwe mogelijkheden in zitten en het leuk is deze als eerste te gebruiken. Het als eerste gebruiken van nieuwe mogelijkheden betekent ook de eerste zijn die nieuwe bugs ontdekt.
Een snelle manier om bugfixes te krijgen. Elke willekeurige versie van FreeBSD-CURRENT heeft waarschijnlijk net zoveel nieuwe bugs als dat er bugs opgelost zijn.
Op welke manier dan ook “officieel ondersteund”. We doen onze best om mensen echt te helpen in één van de drie “legitieme” FreeBSD-CURRENT groepen maar er is simpelweg niet genoeg tijd om technische ondersteuning te leveren. Dit is niet omdat we gemene en vervelende mensen zijn die anderen niet willen helpen (we zouden niet eens aan FreeBSD werken als we dat durfden). De ontwikkelaars kunnen simpelweg geen honderd berichten per dag beantwoorden én aan FreeBSD werken. Bij de keuze tussen het verbeteren van FreeBSD en vragen beantwoorden over experimentele code, kiezen ontwikkelaars voor het eerste.
Neem een abonnement op de mailinglijsten freebsd-current en svn-src-head. Dit is niet alleen een goed idee, het is essentieel. Geen berichten ontvangen van de lijst freebsd-current betekent geen commentaar zien dat mensen maken over de huidige staat van het systeem en dus waarschijnlijk struikelen over problemen die anderen al gevonden en opgelost hebben. Nog belangrijker is het missen van belangrijke informatie die kritisch kan zijn voor een systeem.
De lijst svn-src-head biedt de mogelijkheid de wijzigingsboodschap te zien voor elke wijziging die gemaakt wordt, samen met relevante informatie over mogelijke bijwerkingen.
Ga om op deze lijsten of één van de andere beschikbare lijsten te abonneren naar http://lists.FreeBSD.org/mailman/listinfo en klik op de gewenste lijst. Instructies over de rest van de procedure zijn daar beschikbaar. Als u geïnteresseerd bent in het volgen van veranderingen voor de gehele broncodeboom, raden wij u aan een abonnement te nemen op de lijst svn-src-all.
Haal de broncode van een FreeBSD mirrorsite. Dit kan op de volgende twee manieren:
Gebruik het programma cvsup met de
supfile
genaamd
standard-supfile
uit
/usr/share/examples/cvsup
. Dit
is de geadviseerde methode, omdat de gehele collectie
in één keer wordt binnengehaald en
daarna alleen hetgeen wat gewijzigd is. Veel mensen
draaien cvsup
vanuit de
cron
en houden daarmee hun
broncode automatisch bijgewerkt. De voorbeeld
supfile
dient aangepast te
worden om cvsup in te
stellen voor uw omgeving.
Het voorbeeld
standard-supfile
is bedoeld om
een specifieke beveiligingstak van FreeBSD te volgen,
niet FreeBSD-CURRENT. U moet dit bestand bewerken en
de volgende regel vervangen:
*default release=cvs tag=RELENG_X
_Y
door deze:
*default release=cvs tag=.
Voor een gedetailleerde uitleg over bruikbare tags wordt naar de sectie CVS Tags van het Handboek verwezen.
Gebruik de faciliteit CTM. Bij een “slechte verbinding”, dure connecties of alleen e-mail toegang, is CTM een optie. Het werkt echter lastig en geeft mogelijk corrupte bestanden. Dit zorgt ervoor dat het zelden gebruikt wordt, dat de kans verhoogt dat het niet werkt voor redelijk lange periodes. Het advies is CVSup te gebruiken.
Als de broncode wordt opgehaald om te draaien en niet alleen om naar te kijken, haal dan alles op van FreeBSD-CURRENT en niet alleen geselecteerde delen. De reden hiervoor is dat verschillende delen van de code afhangen van updates op andere plekken en het compileren van een onderdeel gegarandeerd problemen oplevert.
Voordat FreeBSD-CURRENT gecompileerd wordt is het
raadzaam om de Makefile
in
/usr/src
aandachtig te bekijken.
Het is handig om de eerste keer op zijn minst de kernel en de
“wereld” opnieuw te bouwen als
onderdeel van het updateproces. Via de
FreeBSD-CURRENT mailinglijst en /usr/src/UPDATING
is
het mogelijk op de hoogte te blijven van mogelijke
wijzigingen in de opstartprocedures die soms nodig zijn
tussen verschillende versies.
Wees actief! Ervaringen van FreeBSD-CURRENT-gebruikers zijn belangrijk, zeker als het gaat om suggesties voor verbeteringen of bugfixes. Suggesties met bijbehorende code worden enthousiast ontvangen!
FreeBSD-STABLE is de ontwikkeltak waaruit grote releases gemaakt worden. Wijzigingen in deze tak gaan in een ander tempo en met de algemene aanname dat ze eerst in FreeBSD-CURRENT worden ingebracht ter test. Dit is nog steeds een ontwikkeltak, echter dit betekent dat op elk gegeven moment de code voor FreeBSD-STABLE wel of niet geschikt is voor een speciaal doel. Het is simpelweg een andere ontwikkelomgeving en geen bron voor eindgebruikers.
Bij interesse in het bijhouden van of bijdragen aan het FreeBSD-ontwikkelproces, speciaal als het gerelateerd is aan de volgende versie van FreeBSD, is het volgen van FreeBSD-STABLE het overwegen waard.
Ondanks dat security fixes ook in de FreeBSD-STABLE-tak komen, hoeft dit niet per se. In elke beveiligingswaarschuwing voor FreeBSD wordt uitgelegd uit hoe het probleem opgelost kan worden voor de release die het betreft. [11] Het volgen van de volledige ontwikkeltak alleen om veiligheidsredenen levert ongetwijfeld ongewenste wijzigingen op.
Ondanks het voornemen ervoor te zorgen dat de FreeBSD-STABLE-tak compileert en altijd draait, wordt dit niet gegarandeerd. Terwijl code ontwikkeld wordt in FreeBSD-CURRENT voordat die in FreeBSD-STABLE verwerkt wordt, draaien meer mensen FreeBSD-STABLE dan FreeBSD-CURRENT, dus het is onontkoombaar dat bugs en randgevallen soms in FreeBSD-STABLE gevonden worden die niet in FreeBSD-CURRENT bekend waren.
Om deze redenen wordt niet aangeraden FreeBSD-STABLE blindelings te volgen en het is extra belangrijk geen productieservers bij te werken naar FreeBSD-STABLE zonder de code te testen in een testomgeving.
Als de mogelijkheden om dit te doen niet beschikbaar zijn, dan is het advies de meest recente release van FreeBSD te draaien en dan de binaire update methode te hanteren om bij te werken tussen verschillende releases.
Neem een abonnement op de lijst freebsd-stable. Deze biedt informatie over onderdelen van de build die mogelijk verschijnen in FreeBSD-STABLE of eventuele andere kwesties die speciale aandacht vereisen. Ontwikkelaars kondigen in deze mailinglijst ook aan wanneer ze overwegen om een controversiële fix of aanpassing willen maken, waardoor de gebruikers een kans hebben om te reageren als ze goede redenen hebben tegen de voorgestelde wijziging.
Wordt lid van de relevante SVN-lijst voor de tak die u volgt. Als u bijvoorbeeld de tak 7-STABLE volgt, wordt u lid van de svn-src-stable-7 lijst. Dit stelt u in staat om het commit-log-bericht te bekijken voor elke verandering die is gemaakt, tezamen met relevante informatie over mogelijke bijwerkingen.
Ga om te abonneren op deze lijsten, of één van de andere beschikbare lijsten naar http://lists.FreeBSD.org/mailman/listinfo en klik op de lijst waarop een abonnement gewenst is. Instructies over de rest van de procedure zijn daar beschikbaar. Als u geïnteresseerd bent in het volgen van veranderingen voor de gehele broncodeboom, raden wij u aan een abonnement te nemen op de svn-src-all lijst.
Kijk op de webpagina Snapshots om een systeem te installeren van een maandelijkse snapshot van FreeBSD-STABLE. Het is ook mogelijk om de meest recente FreeBSD-STABLE release te installeren van de mirrorsites. Volg de onderstaande instructies om een systeem bij te werken naar de meest recente FreeBSD-STABLE broncode.
Als al een vorige release van FreeBSD draait en bijgewerkt moet worden via de broncodes dan kan dat via de FreeBSD mirrorsites. Dit kan op één van de twee volgende manieren:
Gebruik het programma cvsup met de
supfile
stable-supfile
uit de map
/usr/share/examples/cvsup
.
Dit is de aanbevolen methode omdat het hiermee
mogelijk is de volledige collectie te downloaden en
daarna alleen hetgeen wat veranderd is. Veel mensen
draaien cvsup
vanuit de
cron
om de broncodes automatisch
bij te werken. Het voorbeeld van de
supfile
dient aangepast en
ingesteld te worden voor de omgeving waarin het
instellingenbestand gebruikt wordt.
Gebruik CTM als er geen snelle, goedkope verbinding is met internet. Dan is dit de methode om te gebruiken.
Als er snelle on-demand toegang nodig is tot de
broncode en bandbreedte is geen overweging, gebruik dan
cvsup
of ftp
.
Gebruik anders CTM.
Lees alvorens FreeBSD-STABLE te compileren goed de
Makefile
in
/usr/src
. Het is handig om de
eerste keer op zijn minst de
kernel en de “wereld” opnieuw te
bouwen als onderdeel van het updateproces. Via
de FreeBSD-STABLE mailinglijst en /usr/src/UPDATING
is het mogelijk op de hoogte te blijven van mogelijke
wijzigingen in de opstartprocedures die soms nodig zijn
tussen verschillende releases.
Er zijn verschillende manieren om een internet (of e-mail) verbinding te gebruiken om bij te blijven met elk onderdeel van de FreeBSD projectbronnen of alle onderdelen, afhankelijk van het interessegebied. De primaire diensten zijn Anonieme CVS en CTM.
Ondanks dat het mogelijk is om alleen delen van de
broncode bij te werken, is de enige ondersteunde methode
de totale broncode bijwerken en zowel userland (alle
programma's die in gebruikersruimte draaien, zoals
programma's in /bin
en
/sbin
) als de kernel opnieuw compileren.
Als alleen delen van de broncode worden bijgewerkt, alleen de
kernel of alleen het userland, resulteert dat vaak in
problemen. Deze problemen kunnen verschillen van
compileerfouten tot kernel panics of corruptie van
gegevens.
Anonieme CVS en
CVSup gebruiken het
pull model om broncode bij te werken. In
het geval van CVSup start de gebruiker
(of een cron
script) het programma
cvsup
waarbij het communiceert met een
cvsupd
server om bestanden bij te werken. De
ontvangen updates zijn op de minuut nauwkeurig en ze komen alleen
wanneer dat is ingesteld. Updates kunnen eenvoudig beperkt
worden tot specifieke bestanden of mappen uit een
interessegebied. Updates worden automatisch gegenereerd door een
server, aan de hand van wat is ingesteld.
Anonieme CVS is veel eenvoudiger dan
CVSup omdat dat alleen een uitbreiding
is van CVS die de mogelijkheid biedt
om wijzigingen direct van een CVS repository op afstand te halen.
CVSup kan dit veel efficiënter
doen, maar anonieme CVS is makkelijker
in het gebruik.
CTM aan de andere kant maakt geen vergelijking tussen de aanwezige bronnen en die op de master server. In plaats daarvan wordt een script uitgevoerd dat wijzigingen in bestanden ziet sinds de vorige keer dat is bijgewerkt en die meerdere keren per dag worden uitgevoerd op de master CTM machine. Elke ontdekte wijziging wordt gecomprimeerd, krijgt een volgnummer toegekend en wordt gecodeerd voor verzending via e-mail (in leesbare ASCII). Deze “CTM delta's” kunnen dan aangeleverd worden aan ctm_rmail(1) die ze automatisch decodeert, controleert en toepast in de gebruikerskopie van de bronnen. Dit proces is veel efficiënter dan CVSup en claimt minder systeembronnen omdat het model push in plaats van pull is.
Er zijn andere nadelen. Als per ongeluk een deel van het archief wordt verwijderd, kan CVSup dat detecteren en het beschadigde deel repareren. CTM doet dit niet en als een deel van de broncode wordt verwijderd (en er geen back-up is), dan moet er opnieuw begonnen worden (vanaf de meest recente CVS “base delta” en moet alles opnieuw opgebouwd worden met CTM. Met Anonymous CVS kan simpelweg het slechte deel verwijderd worden alvorens weer te synchroniseren.
Zodra de lokale broncode gesynchroniseerd is met een bepaalde versie van FreeBSD (FreeBSD-STABLE, FreeBSD-CURRENT, enzovoort) kan de broncode gebruikt worden om een systeem te herbouwen.
Het kan niet vaak genoeg verteld worden hoe belangrijk het is om een back-up te maken van een systeem vóór deze taak uit te voeren. Ook al is het opnieuw bouwen van de wereld vrij simpel (als deze instructies gevolgd worden), er worden ongetwijfeld ooit fouten gemaakt, misschien zelfs in de broncode, die het onmogelijk maken om een systeem op te starten.
Wees ervan verzekerd dat er een back-up gemaakt is en dat er een reparatiediskette of cd-rom bij de hand is. Deze wordt waarschijnlijk nooit gebruikt maar “better safe than sorry”.
De FreeBSD-STABLE en FreeBSD-CURRENT takken zijn van nature in ontwikkeling. Mensen die bijdragen aan FreeBSD zijn menselijk en foutjes ontstaan regelmatig.
Soms zijn deze foutjes onschadelijk, ze geven dan hooguit een nieuwe diagnostische waarschuwing weer. Maar de wijziging kan ook catastrofaal zijn en ervoor zorgen dat een systeem niet meer opstart of bestandssystemen vernietigt (of erger).
Als problemen zoals deze voorkomen wordt er een “heads up” naar de juiste mailinglijst gestuurd, waarin uitgelegd wordt wat het probleem is en welke systemen het raakt. Er wordt een “all clear” bericht gestuurd als het probleem is opgelost.
FreeBSD-STABLE of FreeBSD-CURRENT volgen zonder de FreeBSD-STABLE mailinglijst of FreeBSD-CURRENT mailinglijst te volgen is vragen om problemen.
make world
: Veel oudere documentatie raadt aan om make
world
te gebruiken. In dat geval worden er
belangrijke stappen overgeslagen en gebruik het commando alleen
als er voldoende kennis over aanwezig is. In bijna alle
omstandigheden is make world
verkeerd en
de procedure die hier beschreven is hoort in plaats daarvan
gebruikt te worden.
Om uw systeem bij te werken, dient u
/usr/src/UPDATING
te controleren op
eventuele pre-buildworld stappen die nodig zijn voor uw versie
van de broncode en daarna de procedure te gebruiken die hier
beschreven staat.
Deze bijwerkstappen nemen aan dat u nu een oude versie van FreeBSD gebruikt, die uit een oude compiler, een oude kernel, een oude wereld en oude instellingenbestanden bestaat. Onder “wereld” worden de binairen, bibliotheken, en programmeerbestanden van het kernsysteem verstaan. De compiler is deel van “wereld”, maar heeft enkele speciale aandachtspunten.
We nemen ook aan dat u reeds de broncode van een nieuwer systeem heeft verkregen. Bekijk, als de bronnen op een bepaald systeem ook oud zijn, Paragraaf 24.6, “Broncode synchroniseren” voor uitgebreide hulp over het synchroniseren ervan naar een nieuwere versie.
Het bijwerken van het systeem vanaf de broncode is wat subtieler dan het op het eerste gezicht lijkt, en de ontwikkelaars van FreeBSD vonden het in de loop der jaren nodig om de aangeraden methode redelijk drastisch te veranderen met het aan het licht komen van nieuwe soorten onontwijkbare afhankelijkheden. De rest van deze sectie beschrijft de rationale achter de huidige aanbevolen bijwerkmethode.
Elke succesvolle bijwerkmethode krijgt te maken met de volgende punten:
Het kan voorkomen dat de oude compiler de nieuwe kernel niet kan compileren. (Oude compilers bevatten soms bugs.) De nieuwe kernel dient dus met de nieuwe compiler gebouwd te worden. In het bijzonder moet de nieuwe compiler gebouwd worden voordat de nieuwe kernel gebouwd wordt. Dit betekent niet per se dat de nieuwe compiler geïnstalleerd moet worden voordat de nieuwe kernel gebouwd wordt.
De nieuwe wereld kan afhankelijk zijn van mogelijkheden van de nieuwe kernel. Dus moet de nieuwe kernel worden geïnstalleerd voordat de nieuwe wereld wordt geïnstalleerd.
De eerste twee gevallen zijn de basis voor de methode
buildworld
,
buildkernel
,
installkernel
,
installworld
die we in de volgende
paragrafen beschrijven. Dit is geen uitputtende lijst van alle
redenen waarom het huidige aanbevolen bijwerkproces de voorkeur
verdient. Wat minder voor de hand liggende redenen worden
hieronder genoemd:
Het kan zijn dat de oude wereld niet correct draait op de nieuwe kernel, dus moet de nieuwe wereld onmiddellijk na het installeren van de nieuwe kernel geïnstalleerd worden.
Sommige instellingen moeten veranderd worden voordat de nieuwe wereld wordt geïnstalleerd, maar anderen kunnen de oude wereld kapot maken. Vandaar dat over het algemeen twee verschillende bijwerkstappen voor de instellingen nodig zijn.
Voor het grootste gedeelte houdt het bijwerkproces zich alleen bezig met het vervangen of toevoegen van bestanden; bestaande oude bestanden worden niet verwijderd. Dit kan in sommige gevallen problemen geven. Als een gevolg zal de bijwerkprocedure soms aangeven dat bepaalde bestanden tijdens bepaalde stappen handmatig verwijderd dienen te worden. Dit kan in de toekomst eventueel geautomatiseerd worden.
Deze zorgen hebben tot het volgende aanbevolen bijwerkproces geleid. Merk op dat het gedetailleerde proces voor bepaalde updates aanvullende stappen nodig kan hebben, maar dit kernproces zou de komende tijd ongewijzigd moeten blijven:
make
buildworld
Dit compileert eerst de nieuwe compiler en enkele
aanverwante gereedschappen, daarna wordt de nieuwe compiler
gebruikt om de rest van de nieuwe wereld te compileren. Het
resultaat komt in /usr/obj
te staan.
make
buildkernel
In tegenstelling tot de oude aanpak, die config(8)
en make(1) gebruikt, gebruikt dit de
nieuwe compiler die in /usr/obj
verblijft. Dit
beschermt u tegen mismatches tussen de compiler en de
kernel.
make
installkernel
Plaatst de nieuwe kernel en kernelmodules op de schijf, waardoor het mogelijk wordt om met de nieuw bijgewerkte kernel op te starten.
Start opnieuw op in enkele-gebruikersmodus.
De enkele-gebruikersmodus minimaliseert problemen met het bijwerken van software die al draait. Het minimaliseert ook problemen die opduiken door een oude wereld op een nieuwe kernel te draaien.
mergemaster -p
Dit voert wat initiële updates aan
instellingenbestanden uit ter voorbereiding op de nieuwe
wereld. Het kan bijvoorbeeld nieuwe gebruikersgroepen aan
het systeem, of nieuwe gebruikersnamen aan de
wachtwoorddatabase toevoegen. Dit is vaak nodig wanneer er
nieuwe groepen of speciale accounts voor systeemgebruikers
zijn toegevoegd sinds de laatste keer bijwerken, zodat de
stap installworld
zonder problemen
de nieuw geïnstalleerde namen van systeemgebruikers of
systeemgroepen kan gebruiken.
make
installworld
Kopieert de wereld van /usr/obj
. U heeft nu een
nieuwe kernel en een nieuwe wereld op schijf staan.
mergemaster
Nu kunt u de overgebleven instellingenbestanden bijwerken, aangezien u een nieuwe wereld op schijf heeft staan.
Start opnieuw op.
Een volledige nieuwe start van de machine is nodig om de nieuwe kernel en de nieuwe wereld met nieuwe instellingenbestanden te laden.
Merk op dat als u van de ene uitgave van dezelfde tak van
FreeBSD bijwerkt naar een recentere uitgave van dezelfde tak, i.e.
van 7.0 naar 7.1, dat deze procedure dan niet absoluut nodig is,
aangezien het onwaarschijnlijk is dat u serieuze problemen
krijgt met de compiler, kernel, gebruikersland en
instellingenbestanden. De oudere aanpak met make
world
gevolgd door het
bouwen en installeren van een nieuwe kernel kan voor kleine
updates goed genoeg zijn.
Maar mensen die deze procedure niet volgen tijdens het bijwerken tussen grote uitgaven kunnen wat problemen verwachten.
Het is ook goed om op te merken dat veel upgrades (i.e.
4.X
naar 5.0) wat specifieke
aanvullende stappen nodig hebben (bijvoorbeeld het hernoemen of
verwijderen van specifieke bestanden voorafgaand aan
installworld). Lees het bestand
/usr/src/UPDATING
zorgvuldig, met name het
einde, waar het huidig aangeraden bijwerkproces expliciet wordt
beschreven.
Deze procedure is in de loop der tijd veranderd aangezien de ontwikkelaars zagen dat het onmogelijk was om bepaalde mismatch-problemen volledig te voorkomen. Hopelijk blijft de huidige procedure voor een lange tijd stabiel.
Samengevat is de huidige aanbevolen manier om FreeBSD vanaf broncode bij te werken:
#
cd /usr/src
#
make buildworld
#
make buildkernel
#
make installkernel
#
shutdown -r now
Er zijn een aantal zeldzame gevallen waarin
mergemaster -p
nog een keer moet draaien
voor de stap met buildworld
. Deze
staan beschreven in UPDATING
. In het
algemeen kan deze stap echter zonder risico worden
overgeslagen als er niet tussen een of meer hoofdversies
wordt bijgewerkt.
Nadat installkernel
succesvol is
afgerond, dient er in single-user modus opgestart te worden
(met boot -s
vanaf de loaderprompt). Draai
dan:
#
mount -u /
#
mount -a -t ufs
#
adjkerntz -i
#
mergemaster -p
#
cd /usr/src
#
make installworld
#
mergemaster
#
reboot
De hierboven beschreven volgorde is alleen een korte samenvatting. Ook de volgende secties lezen geeft een beter beeld van elke stap, met name als er een op maat gemaakte kernelinstelling wordt gebruikt.
Lees voor verder te gaan
/usr/src/UPDATING
(of het gelijknamige
bestand waar de kopie van de broncode ook staat). Dit bestand
kan belangrijke informatie bevatten over mogelijke problemen of
specificeert de volgorde waarin bepaalde commando's gestart
moeten worden. Als UPDATING
tegenstrijdig
is met wat hier wordt beschreven, heeft
UPDATING
voorrang.
UPDATING
lezen is geen acceptabele
vervanging voor het abonneren op de correcte mailinglijst
zoals eerder beschreven. De twee vullen elkaar aan en zijn
niet exclusief.
Controleer
/usr/share/examples/etc/make.conf
en /etc/make.conf
. Het
eerste bestand bevat standaard definities, waarvan de meeste
uitgecommentarieerd zijn. Om hiervan gebruik te maken als het
systeem opnieuw opgebouwd wordt vanuit de broncode, moeten ze
toegevoegd worden aan /etc/make.conf
.
Bedenk dat alles wat toegevoegd wordt aan
/etc/make.conf
ook gebruikt wordt bij elk
make
commando. Het is dus verstandig om
daar redelijke waardes in te vullen voor een systeem.
Een typische gebruiker wil waarschijnlijk de regel
NO_PROFILE
uit
/usr/share/examples/etc/make.conf
kopiëren naar /etc/make.conf
en het
commentaar verwijderen.
Bekijk de andere definities, zoals NOPORTDOCS
en
bepaal of deze relevant zijn.
De map /etc
bevat een groot deel van
de systeeminstellingen en scripts die gestart worden tijdens de
systeemstart. Sommige van deze scripts verschillen van versie
tot versie in FreeBSD.
Sommige van de instellingenbestanden worden dagelijks
gebruikt voor het draaien van een systeem. In het bijzonder
/etc/group
.
Er zijn gevallen geweest waarbij het installatiegedeelte
van make installworld
een aantal
gebruikersnamen of groepen verwachtte. Als er een upgrade
wordt uitgevoerd is het waarschijnlijk dat deze gebruikers of
groepen niet bestaan. Dit levert problemen op bij upgraden.
In sommige gevallen controleert make
buildworld
of deze gebruikers of groepen
bestaan.
Een voorbeeld hiervan is het toevoegen van de gebruiker
smmsp
. Gebruikers hadden een falend
installatieproces toen mtree(8) probeerde om
/var/spool/clientmqueue
te
creëren.
mergemaster(8) kan in voorbereidende modus gedraaid
worden als de optie -p
wordt meegegeven. Dan
worden alleen de bestanden vergeleken die essentieel zijn voor
het succes van buildworld
of
installworld
:
In “paranoide beheerdersmodus” kan er gecontroleerd worden welke bestanden op een systeem eigendom zijn van de groep die wordt hernoemd of verwijderd:
#
find / -group GID -print
Dit commando toont alle bestanden die eigendom zijn van
de groep GID
(een groepsnaam of
een numeriek groeps-ID).
Het kan zijn dat een systeem in single-user modus gecompileerd moet worden. Buiten het duidelijke voordeel dat de operatie iets sneller verloopt, is het voordeel dat bij een herinstallatie van een systeem een aantal belangrijke systeembestanden waaronder binaire systeembestanden, bibliotheken, include bestanden, enzovoort, worden aangepast, iets wat op een actief systeem vragen om problemen is (zeker als er actieve gebruikers op een systeem aanwezig zijn).
Een andere methode is het systeem compileren in multi-user
modus en daarna naar single-user modus gaan voor de
installatie. Bij deze methode moeten de volgende stappen
gevolgd worden. Het overschakelen naar single-user modus kan
uitgesteld worden tot en met
installkernel
of
installworld
.
Een supergebruiker kan als volgt een draaiend systeem naar single-user modus overgeschakelen:
#
shutdown now
Als alternatief kan tijdens het opstarten de optie
single user
worden gekozen. Het systeem start dan
in single-user modus. Op de shell prompt moet dan worden
ingegeven:
#
fsck -p
#
mount -u /
#
mount -a -t ufs
#
swapon -a
Hierdoor worden de bestandssystemen gecontroleerd,
/
met lees en schrijf rechten opnieuw
gemount, worden alle andere UFS bestandssystemen die in
/etc/fstab
staan gemount en wordt swap
ingeschakeld.
Als de CMOS-klok ingesteld is naar de lokale tijd en niet naar GMT (dit is waar als het resultaat van date(1) niet de correcte tijd en zone weergeeft), dan is het misschien handig om het volgende commando te starten:
#
adjkerntz -i
Dit zorgt ervoor dat de lokale tijdzoneinstellingen correct ingesteld worden. Zonder deze instelling kunnen er later problemen ontstaan.
Als delen van een systeem opnieuw gebouwd worden, worden ze
standaard geplaatst in mappen onder
/usr/obj
. Deze mappen schaduwen de mappen
onder /usr/src
.
Het proces make buildworld
kan versneld
worden en problemen met afhankelijkheden kunnen voorkomen
worden als deze map wordt verwijderd.
Sommige bestanden onder /usr/obj
hebben mogelijk de optie “niet aanpassen”
ingesteld (zie chflags(1)) die eerst verwijderd moet
worden:
#
cd /usr/obj
#
chflags -R noschg *
#
rm -rf *
Het is een goed idee om de uitvoer van make(1) te bewaren in een ander bestand. Als er iets misgaat is er een kopie van de foutmelding aanwezig. Hoewel dit misschien niet helpt in de diagnose van wat er fout is gegaan, kan het anderen helpen als het probleem wordt aangegeven in een FreeBSD mailinglijst.
De makkelijkste manier om dit te doen is door het
commando script(1) te gebruiken, met een parameter
die de naam specificeert waar de uitvoer naartoe moet. Dit
moet direct gedaan worden vóór het herbouwen
van de wereld, zodat het proces klaar is moet
exit
worden ingegeven:
#
script /var/tmp/mw.out
Script started, output file is /var/tmp/mw.out#
make TARGET
… compile, compile, compile …#
exit
Script done, …
Bewaar de uitvoer in deze stap niet
in /tmp
. Deze map wordt mogelijk
opgeschoond tijdens de volgende herstart. Een betere plaats
om dit bestand te bewaren is de map
/var/tmp
(zoals in het vorige voorbeeld)
of in de thuismap van root
.
Ga naar de map /usr/src
, tenzij de
broncode ergens anders staat, in welk geval naar die map
gegaan moet worden:
#
cd /usr/src
Om de wereld opnieuw te bouwen moet het commando
make(1) gebruikt worden. Dit commando leest zijn
instructies uit het bestand Makefile
,
dat beschrijft hoe de programma's die samen FreeBSD vormen
moeten worden gebouwd, in welke volgorde ze gebouwd moeten
worden, enzovoort.
Het algemene formaat van de commandoregel die gebruikt moet worden is als volgt:
#
make -x -DVARIABELE doel
In dit voorbeeld is de optie
-
een optie die
wordt meegegeven aan make(1). In de hulppagina voor
make(1) staat een voorbeeld van de opties die meegegeven
kunnen worden.x
-D
geeft een variabele door aan VARIABELE
Makefile
.
Het gedrag van Makefile
wordt
beïnvloed door deze variabele. Dit zijn dezelfde
variabelen die ingesteld worden in
/etc/make.conf
. Deze optie biedt een
alternatief om deze opties in te stellen.
#
make -DNO_PROFILE doel
Het bovenstaande commando is een andere manier om aan te
geven dat geprofileerde bibliotheken niet gebouwd moeten
worden en correspondeert met de onderstaande regel in
/etc/make.conf
:
NO_PROFILE= true # Avoid compiling profiled libraries
doel
geeft make(1) aan
wat er gedaan moet worden. Elke
Makefile
definieert een aantal van
verschillende doelen en het gekozen doel bepaalt wat er
gebeurt.
Sommige doelen staan vermeld in het bestand
Makefile
, maar zijn niet geschikt om
direct te starten. Integendeel, deze worden gebruikt door
het bouwproces om de benodigde stappen onder te
verdelen.
In veel gevallen hoeven er geen parameters te worden meegegeven aan make(1) en dus ziet de commando regel er als volgt uit:
#
make doel
Waar doel
een van de vele
bouw opties is. De eerste target moet echter altijd
buildworld
zijn.
Zoals de namen impliceren bouwt
buildworld
een compleet nieuwe boom
onder /usr/obj
en
installworld
, een andere target,
installeert deze boom op de huidige machine.
Het hebben van verschillende opties is handig om twee
redenen. Als eerste biedt het
de mogelijkheid om de bouw veilig te doen met de wetenschap
dat geen enkel draaiend onderdeel van een systeem geraakt
wordt. De bouw is “zelf ondersteunend”.
Hierdoor kan veilig in multi-user modus
buildworld
gedraaid worden. Het
wordt echter nog steeds aangeraden om
installworld
in single-user modus te
starten.
Ten tweede geeft het de mogelijkheid om NFS-mounts te
gebruiken om meerdere machines in het netwerk bij te werken.
Als er drie machines zijn, A
,
B
en C
, die bijgewerkt
moeten worden, dan kunnen make buildworld
en make installworld
gedraaid worden op
A
waarna B
en
C
een NFS-mount kunnen opzetten naar
/usr/src
en
/usr/obj
op machine A
waarna make installworld
gedraaid kan
worden op B
en C
om de
resultaten de installeren.
Alhoewel het doel world
nog wel
bestaat wordt het gebruik ervan sterk
afgeraden.
Voer het volgende commando uit:
#
make buildworld
Het is mogelijk om de optie -j
mee te
geven aan make
, wat resulteert in meerdere
processen die tegelijkertijd draaien. Dit heeft het meeste
effect op machines met meerdere processoren. Echter, omdat
het compilatieproces meer IO-gericht is dan processorgericht,
kan het ook nuttig zijn op systemen met één
processor.
Start als volgt op een systeem met één processor:
#
make -j4 buildworld
make(1) draait dan maximaal 4 processen tegelijkertijd. In het algemeen blijkt uit de mailinglijsten dat dit de beste resultaten geeft.
Als er meerdere processoren in een systeem zitten en gebruik gemaakt wordt van een SMP kernel, probeer dan waardes tussen de 6 en 10 en bekijk hoe het systeem reageert.
Om volledig gebruik te maken van het nieuwe systeem moet de kernel opnieuw gecompileerd worden. Dit is bijna altijd nodig omdat sommige geheugenstructuren mogelijkerwijs veranderd zijn en programma's als ps(1) en top(1) niet werken totdat de kernel en de broncode dezelfde versie hebben.
De simpelste en makkelijkste manier om dit te doen is
om een kernel te maken die gebaseerd is op
GENERIC
. Ondanks dat
GENERIC
mogelijk niet alle benodigde
apparaten heeft voor een systeem, hoort het alles te bevatten
dat nodig is om een systeem te starten in single-user modus.
Dit is een goede test op de correcte werking van een nieuw
systeem. Na het opstarten van GENERIC
en
een systeemcontrole kan erna een nieuwe kernel gebouwd worden
gebaseerd op een aangepast kernelinstellingenbestand.
Op FreeBSD is het belangrijk om de wereld opnieuw te bouwen voordat een nieuwe kernel gebouwd wordt.
Als een aangepaste kernel gemaakt moet worden en er reeds
een instellingenbestand aanwezig is, gebruik dan
KERNCONF=MYKERNEL
als volgt:
#
cd /usr/src
#
make buildkernel KERNCONF=MYKERNEL
#
make installkernel KERNCONF=MYKERNEL
Let op dat als kern.securelevel
een
waarde hoger dan 1 heeft of
noschg
of gelijksoortige opties geplaatst
zijn op het binaire kernelbestand, is het misschien nodig om
terug te gaan naar single-user modus om
installkernel
uit te voeren. In
andere gevallen moet het mogelijk zijn om deze commando's
zonder problemen uit te voeren in multi-user modus. Zie
init(8) voor meer informatie over
kern.securelevel
en chflags(1) voor
informatie over diverse bestandsopties.
Start met de instructies in Paragraaf 24.7.5, “Systeem naar single-user modus brengen” in single-user modus op om te testen of de nieuwe kernel werkt.
Na het draaien van make buildworld
kan
nu installworld
gebruikt worden om de
nieuwe binaire systeembestanden te installeren.
Voer de volgende commando's uit:
#
cd /usr/src
#
make installworld
Als er variabelen gespecificeerd zijn op de commandoregel
van make buildworld
moeten dezelfde
variabelen gebruikt worden op de commandoregel van
make installworld
. Dit is niet per se
waar voor opties zoals -j
, die nooit
gebruikt mogen worden met
installworld
.
Als bijvoorbeeld het volgende commando is uitgevoerd:
#
make -DNO_PROFILE buildworld
Dan moet het resultaat geïnstalleerd worden met:
#
make -DNO_PROFILE installworld
Anders wordt geprobeerd geprofileerde bibliotheken te
installeren die niet gebouwd zijn tijdens de fase
make buildworld
.
Het herbouwen van de wereld werkt bepaalde mappen niet
bij (in het bijzonder /etc
,
/var
en /usr
) met
nieuwe of gewijzigde instellingenbestanden.
De simpelste manier om deze bestanden bij te werken is door
mergemaster(8) te gebruiken, maar het is ook mogelijk
dit handmatig te doen. Welke manier er ook gekozen wordt, zorg
er altijd voor dat een back-up van /etc
beschikbaar is voor het geval er iets misgaat.
Het hulpprogramma mergemaster(8) is een Bourne script
dat helpt bij het bepalen van de verschillen tussen de
instellingenbestanden in /etc
en de
instellingenbestanden in de broncodeboom
/usr/src/etc
. Deze methode wordt
aangeraden om instellingenbestanden van een systeem bijgewerkt
te houden met de bestanden die in de broncodeboom staan.
Het programma wordt gestart met
mergemaster
op de commandoregel en geeft dan
resultaten weer. mergemaster
bouwt dan een
tijdelijke root omgeving vanaf /
en vult
deze met diverse instellingenbestanden voor een systeem. Deze
bestanden worden vergeleken met de bestanden die
geïnstalleerd zijn op een systeem. Op dit punt worden de
bestanden getoond die verschillen in het diff(1)-formaat,
met een +
voor toegevoegde of gewijzigde
regels en een -
voor regels die verwijderd of
vervangen zijn. In de hulppagina voor diff(1) staat meer
informatie over de syntaxis van diff(1) en hoe
bestandsverschillen getoond worden.
mergemaster(8) toont dan elk bestand dat verschilt en op dit moment is er de mogelijkheid om of het nieuwe bestand te verwijderen (ofwel het tijdelijke bestand), het tijdelijke bestand te installeren zonder enige wijzigingen, het verwerken van het oude bestand in het nieuwe bestand of de resultaten van diff(1) nogmaals te tonen.
Als gekozen wordt om het tijdelijke bestand te verwijderen, geeft dit mergemaster(8) aan dat het huidige bestand niet gewijzigd dient te worden en de nieuwe versie verwijderd kan worden. Deze optie wordt niet aangeraden, behalve als er geen reden is om het huidige bestand aan te passen. Op ieder moment kunnen hulpteksten getoond worden door ? in te geven op de prompt van mergemaster(8). Als een bestand wordt overgeslagen, dan wordt het weer getoond als alle overige bestanden verwerkt zijn.
Bij de keuze om het ongewijzigde tijdelijke bestand te installeren wordt het huidige bestand vervangen door het nieuwe. Voor de meeste ongewijzigde bestanden is dit de beste optie.
Als ervoor gekozen wordt om de wijzigingen te verwerken wordt er een tekstverwerker gestart die de inhoud van beide bestanden toont. De verschillen kunnen verwerkt worden terwijl beide bestanden naast elkaar op het scherm staan. Hier kunnen delen gekozen worden die gezamenlijk een nieuw bestand opleveren. Als de bestanden zij aan zij vergeleken worden, wordt met de toets l de inhoud links geselecteerd en met de toets r de inhoud rechts geselecteerd. Het eindresultaat bestaat uit delen van beide bestanden die erna geinstalleerd kunnen worden. Deze optie wordt voornamelijk gebruikt voor bestanden die gewijzigd zijn door de beheerder.
Als ervoor gekozen wordt om de diff(1) resultaten nog een keer te tonen, worden dezelfde verschillen getoond zoals mergemaster(8) deed voordat een optie gevraagd werd.
Zodra mergemaster(8) klaar is met de systeembestanden worden er andere opties getoond. mergemaster(8) kan vragen of het wachtwoordbestand opnieuw gebouwd moet worden. Als laatste wordt een optie getoond om alle overgebleven tijdelijke bestanden te verwijderen.
Bij handmatig bijwerken kunnen de bestanden van
/usr/src/etc
niet zomaar naar
/etc
gekopieerd worden om een werkend
systeem te krijgen. Sommige van deze bestanden moeten eerst
“geïnstalleerd” worden. Dit omdat de map
/usr/src/etc
geen
kopie is van /etc
. Daarnaast staan er
in /etc
bestanden die niet in
/usr/src/etc
staan.
Als mergemaster(8) gebruikt wordt (zoals aangeraden), kan doorgegaan worden met het volgende onderdeel.
De simpelste manier om met de hand bij te werken, is de bestanden in een nieuwe map installeren en daarna naar verschillen tussen de bestanden te zoeken.
/etc
: Ondanks dat, in theorie, niets in deze map automatisch
wordt aangepast, is het altijd beter om daar zeker van te
zijn. Dus kopieer de bestaande /etc
naar een veilige locatie. Zoals bijvoorbeeld met het
volgende commando:
#
cp -Rp /etc /etc.old
-R
maakt een recursieve kopie,
-p
bewaart tijden, eigenaarschap,
enzovoorts op bestanden.
Er moet een dummyset van mappen gemaakt worden om de
nieuwe /etc
en andere bestanden in te
installeren. /var/tmp/root
is een
redelijke keuze en er zijn hier een aantal benodigde
submappen aanwezig:
#
mkdir /var/tmp/root
#
cd /usr/src/etc
#
make DESTDIR=/var/tmp/root distrib-dirs distribution
Dit maakt de benodigde mappenstructuur en installeert de
bestanden. Een groot deel van de submappen die gemaakt zijn
in /var/tmp/root
zijn leeg en moeten
verwijderd worden. De simpelste manier om dit te doen
is:
#
cd /var/tmp/root
#
find -d . -type d | xargs rmdir 2>/dev/null
Dit verwijderd alle lege mappen. De standaardfout wordt
omgeleid naar /dev/null
om
waarschuwingen te voorkomen over mappen die niet leeg
zijn.
/var/tmp/root
bevat nu alle
bestanden die geplaatst zouden moeten worden op de juiste
locaties in /
. Er moet nu in de
bestanden gekeken worden om te bepalen of deze verschillen
met de huidige betanden.
Let op dat sommige van de bestanden die
geïnstalleerd zijn in /var/tmp/root
beginnen met een “.”. Op het moment van
schrijven hebben alleen shell opstartscripts in
/var/tmp/root
en
/var/tmp/root/root
dit, maar er kunnen
ook andere zijn. Zorg ervoor dat ls -a
gebruikt wordt om deze bestanden te zien.
De simpelste manier om twee bestanden te vergelijken is diff(1) gebruiken:
#
diff /etc/shells /var/tmp/root/etc/shells
Dit toont de verschillen tussen de huidige
/etc/shells
en de nieuwe
/var/tmp/root/etc/shells
. Gebruik dit
om te bepalen of de wijzigingen gemigreerd moeten worden of
dat het oude bestand gekopieërd moet worden.
/var/tmp/root
) een tijdsindicatie toe
zodat makkelijk verschillen tussen versies bepaald kunnen
worden: Als de wereld regelmatig wordt herbouwd moeten
bestanden in /etc
ook regelmatig
bijgewerkt moeten worden, wat een vervelend werkje kan
zijn.
Dit proces kan versneld worden door een kopie te
bewaren van de bestanden die gemigreerd zijn naar
/etc
. De volgende procedure geeft een
idee over hoe dit gedaan kan worden.
Maak de wereld zoals normaal. Als
/etc
en de andere mappen
bijgewerkt moeten worden, geef dan de doelmap een naam
gebaseerd op de huidige datum. Op 14 februari 1998
wordt dat als volgt gedaan:
#
mkdir /var/tmp/root-19980214
#
cd /usr/src/etc
#
make DESTDIR=/var/tmp/root-19980214 \ distrib-dirs distribution
Migreer de wijzigingen van deze map zoals hierboven beschreven.
Verwijder de map
/var/tmp/root-19980214
niet na afronden.
Als de laatste versie van de broncode gedownload en
opnieuw gemaakt is, volg stap 1. Dit geeft een nieuwe
map die wellicht
/var/tmp/root-19980221
heet (als
er een week zit tussen het bijwerken).
De verschillen die gemaakt zijn in de tussenliggende week kunnen nu getoond worden door met diff(1) een recursieve diff te maken tussen de twee mappen:
#
cd /var/tmp
#
diff -r root-19980214 root-19980221
Vaak is dit een kleinere set aan verschillen dan
tussen /var/tmp/root-19980221/etc
en /etc
. Omdat de set
verschillen kleiner is, is het makkelijker om deze te
migreren naar de map /etc
.
De oudste van de twee
/var/tmp/root-*
-mappen kan nu
verwijderd worden:
#
rm -rf /var/tmp/root-19980214
Herhaal dit proces elke keer als er wijzigingen
gemigreerd moeten worden naar
/etc
.
Met date(1) kan het maken van de mappen geautomatiseerd worden:
#
mkdir /var/tmp/root-`date "+%Y%m%d"`
Dit was het. Na een controle of alles op de juiste plaats staat kan het systeem herstart worden. Dan kan met een simpele shutdown(8):
#
shutdown -r now
Het FreeBSD systeem is nu succesvol bijgewerkt. Gefeliciteerd!
Als er dingen misgingen is het makkelijk om een deel van
het systeem opnieuw te bouwen. Als bijvoorbeeld per ongeluk
/etc/magic
verwijderd is als onderdeel
van de upgrade of door het samenvoegen van
/etc
, dan werkt file(1) niet meer.
Dat kan als volgt opgelost worden:
#
cd /usr/src/usr.bin/file
#
make all install
24.7.14.1. | Moet de wereld opnieuw gemaakt worden voor elke wijziging? |
Op deze vraag bestaat geen eenvoudig antwoord, omdat dit afhangt van de aard van de wijziging. Als bijvoorbeeld net CVSup is gedraaid en de onderstaande bestanden zijn bijgewerkt, dan is het waarschijnlijk niet de moeite waard om de volledige wereld te herbouwen:
Dan is het handiger om naar de juiste submappen te
gaan, daar Uiteindelijk beslist een beheerder zelf. Misschien vindt die het prettig iedere twee weken de wereld te herbouwen terwijl de wijzigingen in die twee weken binnenkomen. Een andere beheerder herbouwt alleen die onderdelen die veranderd zijn en vertrouwt erop dat hij alle afhankelijkheden in de gaten heeft. Natuurlijk hangt het ook af van de keuze hoe vaak het wenselijk is bij te werken en of FreeBSD-STABLE of FreeBSD-CURRENT wordt bijgehouden. | |
24.7.14.2. | Het compileren gaat fout met veel meldingen van signal 11 (of andere signalnummers). Wat is er aan de hand? |
Dit wijst meestal op hardwareproblemen. Het (her)bouwen van de wereld is een prima manier om een stresstest op hardware uit te voeren en hierdoor komen vaak geheugenproblemen bovendrijven. Die resulteren vaak in een compiler die op mysterieuze wijze overlijdt na het ontvangen van vreemde signalen. Dit probleem is nog duidelijker als na het herstarten van de make het proces opnieuw stopt op een ander punt. Hier biedt niets anders uitkomst dan componenten in een systeem wisselen om uit te zoeken welk component er faalt. | |
24.7.14.3. | Kan |
Het korte antwoord is ja.
Als er veel kennis aanwezig is bij een beheerder, dan
kan | |
24.7.14.4. | Kunnen onderbroken builds gecontinueerd worden? |
Dit hangt af van hoever een systeem was voordat een probleem gevonden werd. Normaal gesproken (en dit is
geen vaste regel) maakt het proces Als een systeem in de laatste fase zit (wat uit de uitvoer blijkt) kan dit redelijk veilig gedaan worden: … fix the problem … Dit maakt het werk van de vorige Als het onderstaande bericht in de uitvoer van
-------------------------------------------------------------- Building everything.. -------------------------------------------------------------- Als dat bericht er niet is, of er is onzekerheid over, dan is het altijd beter om de build opnieuw te starten vanaf het begin. | |
24.7.14.5. | Kan kan de wereld bouwen versneld worden? |
| |
24.7.14.6. | Wat te doen als er iets mis gaat? |
Zorg ervoor dat het systeem geen rommel meer bevat van eerdere builds. Het volgende helpt daarbij:
Inderdaad, Herstart daarna het complete proces vanaf
Als er nog steeds problemen zijn, stuur dan de
foutmelding en de uitvoer van |
Als onderdeel van de FreeBSD ontwikkel levenscyclus kan het van
tijd tot tijd gebeuren dat bestanden en de inhoud ervan overbodig
worden. Dit kan komen doordat de functionaliteit ergens anders
geïmplementeerd is, het versienummer van de bibliotheek
veranderd is of hij is totaal van het systeem verdwenen. Dit is
inclusief oude bestanden, bibliotheken en directories welke
verwijderd moeten worden bij het updaten van het systeem. Het
voordeel voor de gebruiker is dat het systeem niet vervuild wordt
met oude bestanden die onnodig ruimte innemen op het opslag (en
back-up) systeem. Ook is het zo dat als de oude bibliotheek een
beveiligings of stabiliteits probleem had, er moet worden geupdate
naar de nieuwere bibliotheek om het systeem veilig te houden en te
voorkomen dat er crashes komen door de oude implementatie van de
bibliotheek. De bestanden, directories en bibliotheken welke als
overbodig worden gezien zijn beschreven in
/usr/src/ObsoleteFiles.inc
. De volgende
instructies zullen helpen om deze verouderde bestanden te verwijderen
tijdens het systeem upgrade proces.
Er wordt aangenomen dat de stappen gevolgd worden zoals uitgelegd
in Paragraaf 24.7.1, “De universele wijze om een systeem bij te werken”. Na het make
installworld
commando en het daarop
volgende mergemaster
commando succesvol uitgevoerd zijn
kan er op de volgende manier gecontroleerd worden voor verouderde
bestanden en bibliotheken:
#
cd /usr/src
#
make check-old
Als er verouderde bestanden gevonden worden kunnen deze verwijderd worden door het volgende commando:
#
make delete-old
Zie het /usr/src/Makefile
bestand voor meer interessante targets.
Er wordt een prompt getoond voordat elk verouderd bestand wordt
verwijderd. Deze prompt kan worden overgeslagen en het systeem deze
bestanden automatisch laten verwijderen door gebruik te maken van de
BATCH_DELETE_OLD_FILES
make variabele als volgt:
#
make -DBATCH_DELETE_OLD_FILES delete-old
Dit kan ook worden gedaan door deze commando's door
yes
te pipen als volgt:
#
yes|make delete-old
Het verwijderen van verouderde bestanden zal applicaties
stuk maken die nog gebruik maken van de overbodige bestanden.
Dit is zeker waar voor oude bibliotheken. In de meeste gevallen
moeten de programma's, ports of bibliotheken opnieuw gecompileerd
worden voordat
make delete-old-libs
wordt uitgevoerd.
Gereedschappen om gedeelde bibliotheek afhankelijkheden te controleren zijn beschikbaar in de Ports Collectie in sysutils/libchk of sysutils/bsdadminscripts.
Overbodige gedeelde bibliotheken kunnen conflicteren met nieuwere bibliotheken welke berichten zoals deze kunnen veroorzaken:
/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
Om deze problemen op te lossen moet bepaald worden welke port deze bibliotheek heeft geïnstalleerd:
#
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
Deïnstalleer, herbouw en herinstalleer de port. De ports-mgmt/portmaster en ports-mgmt/portupgrade gereedschappen kunnen gebruikt worden om deze processen te automatiseren. Nadat zeker is dat alle ports opnieuw gebouwd zijn, en de oude bibliotheken niet meer gebruikt worden, kunnen deze verwijderd worden met het volgende commando:
#
make delete-old-libs
Als er meerdere machines zijn die dezelfde broncode bijhouden, lijkt het downloaden van alle broncode en alles overal opnieuw bouwen zonde van de bronnen: harde schijfruimte, netwerk bandbreedte, en processorbelasting. Dit klopt en de oplossing is om alles op één machine te doen terwijl de overige machines het uitgevoerde werk benaderen via NFS. Nu wordt een methode beschreven waarmee dit gedaan kan worden.
Als eerste moet er een groep van machines gekozen worden
die dezelfde set aan binaire bestanden zal draaien, hier een
bouwgroep. Elke machine kan een eigen
afwijkende kernel hebben maar moet dezelfde binaire
gebruikersbestanden draaien. Uit die groep moet een machine
gekozen worden die de bouwmachine wordt.
Dit wordt de machine waar de wereld en kernel op gebouwd
worden. In het meest ideale geval is dit een snelle machine
die genoeg processorkracht vrij heeft om make
buildworld
en make buildkernel
te draaien. Er moet ook een machine gekozen worden die de
testmachine wordt waarop alle bijgewerkte
software wordt test voordat die in productie wordt genomen.
Dit moet een machine zijn die voor langere
tijd down mag zijn. Dit kan de bouwmachine zijn maar dat hoeft
niet per se.
Alle machines in deze bouwgroep moeten ingesteld worden om
/usr/obj
en /usr/src
vanaf dezelfde machine te mounten op hetzelfde punt. In het
meest ideale geval zijn dit twee verschillende schijven op de
bouwmachine, maar ze kunnen ook door middel van NFS op die
machine gemount zijn. Als er meerdere bouwgroepen zijn, dan
moet /usr/src
op één
bouwmachine staan en door middel van NFS gemount worden op de
overige machines.
Zorg er als laatste voor dat
/etc/make.conf
en
/etc/src.conf
op alle machines in de
bouwgroep het eens zijn met de bouwmachine. Dat betekent dat
de bouwmachine alle delen van het basissysteem moet bouwen die
elke machine in de bouwgroep installeert. Ook heeft elke
bouwmachine zijn kernelnaam ingesteld met
KERNCONF
in
/etc/make.conf
en de bouwmachine moet ze
allemaal hebben in KERNCONF
, zijn eigen
kernel eerst. De bouwmachine moet de instellingenbestanden
voor elke machine in
/usr/src/sys/arch/conf
hebben als deze machine de kernels voor de overige machines
gaat bouwen.
Nu kan één systeem alles bouwen. Bouw de
kernel en wereld zoals beschreven in Paragraaf 24.7.7.2, “Basissysteem compileren” op de bouwmachine, maar installeer
niets. Zodra de bouw klaar is, moet op de testmachine de
kernel geïnstalleerd en getest worden. Als deze machine
/usr/src
en /usr/obj
mount via NFS, moet na een herstart in single-user modus het
netwerk ingeschakeld worden zodat de mounts opnieuw gemaakt
kunnen worden. De makkelijkste manier om dit te doen is om te
starten in multi-user modus en daar
shutdown now
starten om in single-user modus
te komen. Eenmaal daar aangekomen kunnen de nieuwe kernel en
de wereld geïnstalleerd worden en kan daarna normaal
mergemaster
gestart worden. Zodra dit klaar
is, kan de machine opnieuw gestart worden om naar multi-user
modus terug te keren.
Nadat zeker is dat alles op de testmachine correct werkt, kan dezelfde procedure gebruikt worden om de nieuwe software op elke machine te installeren in de bouwgroep.
Dezelfde ideeën kunnen gebruikt worden voor de ports.
De eerste kritieke stap is om /usr/ports
te mounten op alle machines in de bouwgroep. Daarna kan
/etc/make.conf
correct ingesteld worden
om de distfiles te delen. De variabele
DISTDIR
moet wijzen naar een gedeelde map
waarin geschreven kan worden door de gebruiker waar
root
naar wijst in de NFS mounts. Op elke
machine moet WRKDIRPREFIX
naar een lokale
bouwmap wijzen. Als er pakketten gebouwd en gedistribueerd
worden moet PACKAGES
naar een map wijzen
gelijkvormig aan de instelling voor
DISTDIR
.
[11] Dit is niet helemaal waar. Oude releases van FreeBSD kunnen niet eeuwig ondersteund worden, ook al duurt ondersteuning vele jaren. Een volledige beschrijving van het huidige beveiligingsbeleid voor oudere releases van FreeBSD staat op http://www.FreeBSD.org/security/.
DTrace, ook bekend als Dynamic Tracing, was ontwikkeld door Sun™ als een gereedschap om prestatie-bottlenecks in productie- en preproductiesystemen op te sporen. Het is in geen enkel opzicht een debug-gereedschap, maar een gereedschap voor real-time analyse om prestatie- en andere zaken op te sporen.
DTrace is een opmerkelijk profileringsgereedschap, met een indrukwekkende verzameling mogelijkheden om systeemzaken te diagnosticeren. Het kan ook worden gebruikt om vooraf geschreven scripts te draaien om zo voordeel te halen uit de mogelijkheden. Gebruikers kunnen zelfs hun eigen middelen schrijven door gebruik te maken van de DTrace D Language, wat ze in staat stelt om hun profilering aan te passen aan hun specifieke behoeften.
Na het lezen van dit hoofdstuk weet u:
Wat DTrace is en welke mogelijkheden het biedt.
De verschillen tussen de DTrace-implementatie van Solaris™ en degene die door FreeBSD wordt aangeboden.
Hoe DTrace op FreeBSD aan te zetten en te gebruiken.
Voordat u dit hoofdstuk leest, dient u:
De beginselen van UNIX® en FreeBSD te begrijpen (Hoofdstuk 4, UNIX® beginselen).
Bekend te zijn met de beginselen van kernelconfiguratie en -compilatie (Hoofdstuk 9, De FreeBSD-kernel instellen).
Wat bekendheid te hebben met beveiliging en hoe het zich verhoudt tot FreeBSD (Hoofdstuk 15, Beveiliging).
Te begrijpen hoe de broncode van FreeBSD te verkrijgen en te herbouwen (Hoofdstuk 24, FreeBSD updaten en upgraden).
Deze mogelijkheid wordt als experimenteel beschouwd. Van sommige opties kan er functionaliteit ontbreken, andere delen kunnen in het geheel niet werken. In de loop der tijd zal deze mogelijkheid als productierijp worden beschouwd en zal deze documentatie worden aangepast om die situatie te representeren.
Hoewel DTrace in FreeBSD erg lijkt op degene die in Solaris™ zit, zijn er verschillen die uitgelegd moeten worden voordat er verder wordt gegaan. Het primaire verschil dat gebruikers zullen zien is dat DTrace specifiek moet worden aangezet op FreeBSD. Er zijn kernelopties en modulen die aangezet moeten worden om DTrace juist te laten werken. Deze zullen later worden uitgelegd.
Er is een kerneloptie DDB_CTF
die gebruikt
wordt om ondersteuning voor het laden van
CTF-gegevens van kernelmodulen en de kernel
zelf. CTF is het Compact C Type Format van
Solaris™ welke een beperkte vorm van debuginformatie bevat
die vergelijkbaar is met DWARF en de befaamde
stabs. Deze CTF-gegevens worden door de
bouwmiddelen ctfconvert
en
ctfmerge
aan de binairen toegevoegd. Het
hulpmiddel ctfconvert
parseert
DWARF ELF-debug-secties die
door de compiler zijn aangemaakt en ctfmerge
voegt CTF ELF-secties van
objecten samen in hun executables of gedeelde bibliotheken. Meer
informatie over hoe dit voor de bouw van de kernel en FreeBSD aan te
zetten komt eraan.
Sommige aanbieders voor FreeBSD verschillen van die voor
Solaris™. De meest opmerkelijke is de aanbieder
dtmalloc
, welke het volgen van
malloc()
op soort in de FreeBSD-kernel
toestaat.
Alleen root
mag DTrace op FreeBSD
gebruiken. Dit heeft te maken met beveiligingsverschillen,
Solaris™ heeft enkele beveiligingscontroles op laag niveau die
nog niet bestaan in FreeBSD. Hierom is
/dev/dtrace/dtrace
strikt beperkt tot
root
.
Tenslotte valt de DTrace-software onder de
CDDL-licentie van Sun™. De Common
Development and Distribution License
wordt bij FreeBSD
geleverd, zie
/usr/src/cddl/contrib/opensolaris/OPENSOLARIS.LICENSE
of bekijk het online op
http://www.opensolaris.org/os/licensing
.
Deze licentie houdt in dat een FreeBSD-kernel met de DTrace-opties nog steeds onder de BSD-licentie valt; de CDDL komt echter op de proppen wanneer de modulen in binaire vorm worden verspreid, of wanneer de binairen zijn geladen.
Voeg de volgende regels toe aan het kernelinstellingenbestand om ondersteuning voor DTrace aan te zetten:
options KDTRACE_HOOKS options DDB_CTF
Gebruikers van de AMD64-architectuur zullen de volgende regel aan hun kernelinstellingenbestand willen toevoegen:
options KDTRACE_FRAME
Deze optie biedt ondersteuning voor de mogelijkheid FBT. DTrace zal zonder deze optie werken; er zal echter beperkte ondersteuning zijn voor het volgen van functiegrenzen.
Alle broncode moet herbouwd en geherinstalleerd worden met de CTF-opties. Om deze taak te volbrengen, wordt de FreeBSD-broncode herbouwd met:
#
cd /usr/src
#
make WITH_CTF=1 kernel
Het systeem moet opnieuw gestart worden.
Nadat opnieuw is opgestart en de nieuwe kernel in het geheugen
is geladen, dient ondersteuning voor de Korn-shell te worden
toegevoegd. Dit is nodig omdat de verschillende hulpmiddelen van
DTraceToolkit in ksh
zijn geschreven. Installeer
shells/ksh93. Het is ook
mogelijk om deze hulpmiddelen in shells/pdksh of shells/mksh te draaien.
Als laatste dient de huidige DTraceToolkit verkregen te worden.
Indien u FreeBSD 10 draait, vindt u de DTraceToolkit in
/usr/share/dtrace
. In andere gevallen kunt u de
DTraceToolkit installeren via de port sysutils/DTraceToolkit.
Voordat er gebruik wordt gemaakt van de functionaliteit van DTrace, moet het DTrace-apparaat bestaan. Geef het volgende commando om het apparaat te laten:
#
kldload dtraceall
Ondersteuning van DTrace zou nu beschikbaar moeten zijn. De beheerder kan het volgende commando uitvoeren om alle sondes te bekijken:
#
dtrace -l | more
Alle uitvoer wordt aan het hulpmiddel more
doorgegeven omdat het snel de schermbuffer zal laten overstromen.
DTrace kan nu als werkend worden beschouwd. Het is nu tijd om
de gereedschapskist te bekijken.
De gereedschapskist is een verzameling van kant-en-klare scripts die met DTrace gedraaid kunnen worden om informatie over het systeem te verzamelen. Er zijn scripts om open bestanden, geheugen, CPU-gebruik, en nog veel meer te controleren. Pak de scripts uit met het volgende commando:
#
gunzip -c DTraceToolkit* | tar xvf -
Ga naar die map met cd
en zet de
uitvoerpermissies voor alle bestanden waarvan de naam uit kleine
letters bestaat, op 755
.
De inhoud van al deze scripts moet veranderd worden. Degenen
die naar /usr/bin/ksh
verwijzen dienen naar
/usr/local/bin/ksh
te verwijzen, de anderen
die /usr/bin/sh
gebruiken dienen gewijzigd te
worden om /bin/sh
te gebruiken, en tenslotte
dienen degenen die /usr/bin/perl
gebruiken
veranderd te worden om /usr/local/bin/perl
te
gebruiken.
Op dit moment is het voorzichtig om de lezer eraan te herinneren dat de ondersteuning voor DTrace in FreeBSD niet compleet en experimenteel is. Veel van deze scripts zullen niet werken omdat ze of te Solaris™-specifiek zijn of omdat ze sondes gebruiken die momenteel niet ondersteund worden.
Op het moment van schrijven worden slechts twee scripts van de
DTrace Toolkit volledig ondersteund in FreeBSD: de scripts
hotkernel
en
procsystime
. Dit zijn de twee die we in de
volgende gedeelten van deze sectie zullen bekijken.
De hotkernel
is ontworpen om te
identificeren welke functie de meeste kerneltijd gebruikt. Als
het normaal gedraaid wordt, zal het uitvoer die op de volgende
lijkt produceren:
#
cd /usr/share/dtrace/toolkit
#
./hotkernel
Sampling... Hit Ctrl-C to end.
De systeembeheerder moet de toetsencombinatie Ctrl+C gebruiken om het proces te stoppen. Nadat het gestopt is, zal het script een lijst van kernelfuncties en timinginformatie weergeven, waarbij de uitvoer in volgorde van toenemende tijd is gesorteerd:
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%
Het script werkt ook met kernelmodules. Draai het script met
de vlag -m
om deze mogelijkheid te
gebruiken:
#
./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%
Het script procsystime
vangt en beeldt
het tijdsgebruik van systeemaanroepen af voor een gegeven
PID of procesnaam. In het volgende voorbeeld
wordt er een nieuwe instantie van /bin/csh
gedraaid. Het procsystime
werd uitgevoerd en
bleef wachten terwijl er enkele commando's op de andere instantie
van csh
werden getypt. Dit zijn de resultaten
van deze test:
#
./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
Zoals te zien is, lijkt de systeemaanroep
read()
de meeste tijd in nanoseconden te
gebruiken en gebruikte de systeemaanroep
getpid()
de minste hoeveelheid tijd.
De DTrace-gereedschapskist bevat vele scripts in de speciale
taal van DTrace. Deze taal wordt “de taal D”
genoemd door de documentatie van Sun™, en lijkt sterk op C++.
Een diepgaande discussie over de taal valt buiten het bereik van
dit document. Het wordt uitgebreid behandeld op http://wikis.oracle.com/display/DTrace/Documentation
.
Als het om servers gaat die hoge prestaties moeten leveren, wordt wereldwijd vaak FreeBSD toegepast. De hoofdstukken in dit deel behandelen:
Seriëe communicatie;
PPP en PPP over Ethernet;
E-mail;
Netwerkdiensten;
Firewalls;
Overig gevorderd netwerken.
Deze hoofdstukken zijn geschreven om gelezen te worden als de informatie nodig is. Ze hoeven niet allemaal in een bepaalde volgorde gelezen te worden. Ze hoeven ook niet allemaal gelezen te worden om FreeBSD in een netwerkomgeving in te zetten.
syslogd
UNIX® heeft altijd ondersteuning geboden voor seriële communicatie. Het is een feit dat de allereerste UNIX®-machines afhankelijk waren van seriële kabels voor gebruikersinvoer en -uitvoer. De dingen zijn flink veranderd sinds de tijd dat de gemiddelde “terminal” uit een 10-tekens-per-seconde seriële printer en een toetsenbord bestond. Dit hoofdstuk beschrijft enkele manieren waarop FreeBSD gebruik maakt van seriële communicatie.
Na het lezen van dit hoofdstuk weet de lezer:
Hoe terminals met een FreeBSD-systeem te verbinden;
Hoe een modem te gebruiken om naar computers op afstand te bellen;
Hoe het mogelijk te maken voor gebruikers op afstand om met een modem op een systeem aan te melden;
Hoe een systeem van een seriële console op te starten.
Veronderstelde voorkennis:
Weten hoe een nieuwe kernel ingesteld en geïnstalleerd wordt (Hoofdstuk 9, De FreeBSD-kernel instellen);
Begrijpen hoe rechten en processen in UNIX® werken ( Hoofdstuk 4, UNIX® beginselen);
De beschikking hebben over het technische handboek voor de hardware (modem of meerpoortige kaart) die gebruikt wordt met FreeBSD.
Vanaf FreeBSD 8.0 zijn de seriële poorten
hernoemd van
/dev/cuadN
naar
/dev/cuauN
en
van
/dev/ttydN
naar
/dev/ttyuN
.
FreeBSD 7.X gebruikers moeten de documentatie aanpassen naar
deze wijzigingen.
Deze sectie gebruikt niet de term “baud” als er over snelheden van gegevenscommunicatie gesproken wordt. Baud verwijst naar het aantal elektrische toestandsovergangen dat binnen een tijdsperiode gemaakt mag worden, “bps” (bits per seconde) is de correcte term om te gebruiken (de oude mopperkonten schijnen zich er niet erg druk over te maken).
Om een modem of terminal met een FreeBSD-systeem te verbinden, dienen een seriële poort op een computer en een kabel om verbinding te maken met een serieel apparaat aanwezig te zijn. Indien kennis over hardware en de benodigde kabel reeds aanwezig is, kan deze sectie veilig worden overgeslagen.
Er zijn verschillende soorten seriële kabels. De twee meest voorkomende types in deze context zijn nulmodem-kabels en standaard (“rechte”) RS-232-kabels. De documentatie van de hardware beschrijft het type kabel dat nodig is.
Een nulmodem-kabel geeft sommige signalen, zoals “Aardesignaal” recht door, maar kruist andere signalen. Bijvoorbeeld, de “Verzonden Gegevens”-pin aan de ene kant gaat naar de “Ontvangen Gegevens”-pin aan de andere kant.
Een nulmodem-kabel voor het gebruik met terminals kan ook zelf worden gemaakt (bijvoorbeeld voor kwaliteitsdoeleinden). Deze tabel toont de RS-232C signalen en de pinnummers op een DB-25-aansluiting. De standaard vereist ook een Aardebescherming rechte lijn van pin 1 naar pin 1, maar deze wordt vaak weggelaten. Sommige terminals werken goed met slechts pin 2, 3 en 7, terwijl andere instellingen eisen die afwijken van die in de onderstaande voorbeelden.
Signaal | Pin # | Pin # | Signaal | |
---|---|---|---|---|
SG | 7 | verbonden met | 7 | SG |
TD | 2 | verbonden met | 3 | RD |
RD | 3 | verbonden met | 2 | TD |
RTS | 4 | verbonden met | 5 | CTS |
CTS | 5 | verbonden met | 4 | RTS |
DTR | 20 | verbonden met | 6 | DSR |
DTR | 20 | verbonden met | 8 | DCD |
In de onderstaande tabellen volgen twee schema's die momenteel meer gebruikelijk zijn:
Signaal | Pin # | Pin # | Signaal | |
---|---|---|---|---|
RD | 2 | verbonden met | 3 | TD |
TD | 3 | verbonden met | 2 | RD |
DTR | 4 | verbonden met | 6 | DSR |
DTR | 4 | verbonden met | 1 | DCD |
SG | 5 | verbonden met | 5 | SG |
DSR | 6 | verbonden met | 4 | DTR |
DCD | 1 | verbonden met | 4 | DTR |
RTS | 7 | verbonden met | 8 | CTS |
CTS | 8 | verbonden met | 7 | RTS |
Signaal | Pin # | Pin # | Signaal | |
---|---|---|---|---|
RD | 2 | verbonden met | 2 | TD |
TD | 3 | verbonden met | 3 | RD |
DTR | 4 | verbonden met | 6 | DSR |
DTR | 4 | verbonden met | 8 | DCD |
SG | 5 | verbonden met | 7 | SG |
DSR | 6 | verbonden met | 20 | DTR |
DCD | 1 | verbonden met | 20 | DTR |
RTS | 7 | verbonden met | 5 | CTS |
CTS | 8 | verbonden met | 4 | RTS |
Als een pin aan het ene eind verbonden is met een pinnenpaar aan het andere eind, is dit meestal geïmplementeerd met een korte draad tussen het pinnenpaar in de stekker en een lange draad naar de andere, enkele pin.
Bovenstaande ontwerpen lijken het populairst. In een andere variatie (uitgelegd in het boek RS-232 Made Easy) worden de volgende verbindingen gemaakt: SG met SG, TD met RD, RTS en CTS met DCD, DTR met DSR en vice-versa.
Een standaard seriële kabel laat alle RS-232C-signalen recht door. Dit betekent dat de “Verzonden Gegevens”-pin aan de ene kant naar de “Verzonden Gegevens”-pin aan de andere kant gaat. Dit type kabel wordt gebruikt om een modem met een FreeBSD-systeem te verbinden en is ook geschikt voor sommige terminals.
Seriële poorten zijn apparaten die gebruikt worden om gegevens te versturen tussen een FreeBSD gastcomputer en een terminal. Deze sectie beschrijft de bestaande soorten poorten en hoe deze aangesproken worden in FreeBSD.
Er bestaan verschillende soorten seriële poorten. Controleer of een kabel past op de poorten van een terminal en een FreeBSD-systeem alvorens deze te kopen of te maken.
De meeste terminals hebben DB-25-poorten. PC's, inclusief PC's die FreeBSD draaien, hebben DB-25- of DB-9-poorten. Indien een meerpoortige seriële kaart voor een PC beschikbaar is, kan het zijn dat er RJ-12- of RJ-45-poorten aanwezig zijn.
In documentatie die bij hardware zit, staan specificaties over het soort poort dat gebruikt wordt. Vaak volstaat ook een visuele inspectie van een poort.
In FreeBSD wordt elke seriële poort benaderd door een
ingang in de map /dev
. Er zijn twee
verschillende soorten ingangen:
Inbelpoorten heten
/dev/ttyuN
waarbij N
het poortnummer
is, beginnend met nul. In het algemeen kunnen
inbelpoorten voor terminals gebruikt worden.
Inbelpoorten stellen de eis dat een seriële kabel
ervoor zorgt dat het data carrier detect (DCD) signaal
correct werkt.
Uitbelpoorten heten
/dev/cuauN
.
In het algemeen worden uitbelpoorten niet voor
terminals maar voor modems gebruikt. Gebruik een
uitbelpoort als een seriële kabel of terminal het
carrier detect-signaal niet ondersteunt.
Als er een terminal met de eerste seriële poort
(COM1
in MS-DOS®) verbonden is,
wordt /dev/ttyu0
gebruikt om naar de
terminal te verwijzen. Als een terminal op de tweede
seriële poort is aangesloten (ook bekend als
COM2
), dient
/dev/ttyu1
gebruikt te worden,
enzovoort.
FreeBSD ondersteunt standaard vier seriële poorten. In
de wereld van MS-DOS® staan ze bekend als
COM1
, COM2
,
COM3
en COM4
.
FreeBSD ondersteunt momenteel “domme” meerpoortige
seriële interfacekaarten, zoals de BocaBoard 1008 en 2016,
alsook intelligentere meerpoortige kaarten van fabrikanten als
Digiboard en Stallion Technologies. De kernel kijkt echter
alleen naar de standaard COM-poorten.
Bekijk de boodschappen tijdens het opstarten van de kernel
om te zien of de kernel seriële poorten herkent of gebruik
het commando /sbin/dmesg
om de
opstartboodschappen van de kernel te herhalen. Kijk in het
bijzonder naar boodschappen die met de tekens
uart
beginnen als u FreeBSD 8.0 of nieuwer
gebruikt, of sio
voor FreeBSD 7.4 of ouder.
Gebruik het volgende commando om alleen de boodschappen
die het woord sio
bevatten te zien:
#
/sbin/dmesg | grep 'uart'
#
/sbin/dmesg | grep 'sio'
Voor bijvoorbeeld een FreeBSD 7.X
systeem met vier seriële poorten zijn dit de opstartboodschappen van de
kernel die specifiek zijn voor de seriële poorten:
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
Als een kernel niet alle seriële poorten herkent, dan
dient waarschijnlijk de kernel aangepast te worden in het
bestand /boot/device.hints
. Het is ook
mogelijk regels uit te schakelen of volledig te verwijderen
voor apparaten die niet aanwezig zijn.
Zie de hulppagina sio(4) voor meer informatie over het instellen van seriële poorten en meerpoortige kaarten. Bij gebruik van een instellingenbestand dat eerder voor een andere versie van FreeBSD werd gebruikt is voorzichtigheid geboden omdat de apparaatvlaggen en de syntaxis tussen de versies veranderd zijn.
port IO_COM1
is een substitutie voor
port 0x3f8
, IO_COM2
is
0x2f8
, IO_COM3
is
0x3e8
en IO_COM4
is
0x2e8
, welke redelijk algemene
poortadressen zijn voor hun overeenkomstige seriële
poorten. Interrupts 4, 3, 5 en 9 zijn redelijk algemene
interruptlijnen. Reguliere seriële poorten kunnen
geen interrupts delen op ISA-bus-PC's
(meerpoortige kaarten hebben elektronica die alle 16550A's op
een kaart in staat stellen om één of twee
interruptlijnen te delen).
De meeste apparaten in de kernel worden benaderd met
“speciale apparaatbestanden” die in de map
/dev
staan. De apparaten
sio
worden benaderd met de apparaten
/dev/ttyuN
(inbellen) en
/dev/cuauN
(uitbellen). FreeBSD biedt ook initialisatie-apparaten
(/dev/ttyuN.init
en
/dev/cuauN.init
)
en slotapparaten
(/dev/ttyuN.lock
en
/dev/cuadN.lock
).
De initialisatie-apparaten worden gebruikt om telkens als een
poort wordt geopend de parameters van de communicatiepoorten te
initialiseren, zoals crtscts
voor modems die
gebruik maken van RTS/CTS
-signalering voor
gegevensstroombeheer. De slotapparaten worden gebruikt om
vlaggen op poorten op slot te zetten om te voorkomen dat
gebruikers of programma's bepaalde parameters veranderen. In
de hulppagina's termios(4), sio(4) en stty(1)
staat informatie over respectievelijk terminalinstellingen,
apparaten op slot zetten en initialiseren en terminalopties
instellen.
Het apparaat
ttyuN
(of
cuauN
) is
het gebruikelijke apparaat dat geopend dient te worden voor de
applicaties. Wanneer een proces het apparaat opent, heeft het
een standaardverzameling aan terminal I/O-instellingen. Bekijk
deze instellingen met het volgende commando:
#
stty -a -f /dev/ttyu1
Als de instellingen van dit apparaat veranderd worden,
blijven de instellingen geldig totdat het apparaat gesloten
wordt. Als het heropend wordt, gaat het terug naar de
standaardverzameling. Om de standaardverzameling te
veranderen, dient het apparaat voor de “initiële
toestand” geopend te worden en die instellingen
veranderd te worden. Om bijvoorbeeld de
CLOCAL
-modus, 8-bits-communicatie en
XON/XOFF
-gegevensstroombeheer voor apparaat
ttyu5
standaard aan te zetten:
#
stty -f /dev/ttyu5.init clocal cs8 ixon ixoff
De systeembrede initialisatie van de seriële apparaten
wordt beheerd in /etc/rc.d/serial
. Dit
bestand heeft invloed op de standaardinstellingen van
seriële apparaten.
Om te voorkomen dat bepaalde instellingen door een
applicatie worden veranderd, dienen wijzigingen aan het
“slottoestand”-apparaat te worden aangebracht. Om
bijvoorbeeld de snelheid van ttyu5
vast te zetten op 57600 bps:
#
stty -f /dev/ttyu5.lock 57600
Nu blijft een applicatie die ttyu5
en de snelheid van de poort probeert te veranderen zitten op
57600 bps.
Uiteraard dienen de apparaten voor de initiële
toestand en de slottoestand alleen voor het account
root
schrijfbaar te zijn.
Vanaf FreeBSD 8.0 zijn de seriële poorten
hernoemd van
/dev/cuadN
naar
/dev/cuauN
en
van
/dev/ttydN
naar
/dev/ttyuN
.
FreeBSD 7.X gebruikers moeten de documentatie aanpassen naar
deze wijzigingen.
Terminals bieden een handige en goedkope manier om een FreeBSD systeem te benaderen als de console van of een netwerk naar een computer niet beschikbaar is. Deze sectie beschrijft hoe terminals met FreeBSD te gebruiken.
De originele UNIX®-systemen hadden geen consoles. In plaats daarvan werd er aangemeld en werden programma's via terminals gedraaid die verbonden waren met de seriële poorten van een computer. Het is goed vergelijkbaar met het gebruik van een modem en terminalsoftware om op een systeem op afstand in te bellen en werk te doen wat alleen uit tekst bestaat.
De consoles van hedendaagse PC's kunnen grafische uitvoer
van hoge kwaliteit produceren, maar de mogelijkheid om een
aanmeldsessie op een seriële poort tot stand te brengen
bestaat nog steeds op bijna elk hedendaags UNIX®-achtig
systeem. FreeBSD is geen uitzondering. Door gebruik te maken van
een terminal die aangesloten is op een ongebruikte seriële
poort, kan er aangemeld worden en kan bijna elk tekstprogramma
gedraaid worden dat normaalgesproken op de console of in een
xterm
-venster in het X Window-systeem
gedraaid wordt.
Een zakelijke gebruiker kan vele terminals aan een FreeBSD-systeem koppelen en deze op de bureaus van medewerkers neerzetten. Een thuisgebruiker kan een reservecomputer, zoals een oudere IBM PC of een Macintosh®, met de terminal verbinden met een krachtigere computer die FreeBSD draait. Op deze manier kan wat anders een computer voor een enkele gebruiker zou zijn, worden veranderd in een krachtig systeem voor meerdere gebruikers.
Er zijn drie soorten terminals voor FreeBSD:
De overige subsecties beschrijven elk van deze soorten.
Domme terminals zijn gespecialiseerde stukken hardware die computers door seriële kabels kunnen verbinden. Ze worden “dom” genoemd omdat ze alleen maar tekst kunnen weergeven, verzenden en ontvangen. Het is niet mogelijk om programma's op deze terminals te draaien. De computer waar ze op zijn aangesloten heeft de benodigde kracht om tekstverwerkers, compilers, e-mail, spellen, enzovoort te draaien.
Er zijn honderden soorten domme terminals gemaakt door vele fabrikanten, inclusief de VT-100 van Digital Equipment Corporation en de WY-75 van Wyse. Bijna elke soort werkt met FreeBSD. Sommige terminals uit de hoogste klasse kunnen zelfs grafisch weergeven, maar slechts bepaalde softwarepakketten kunnen gebruik maken van deze geavanceerde mogelijkheden.
Domme terminals zijn ook populair in werkomgevingen waarin gebruikers geen toegang tot grafische applicaties nodig hebben, zoals die door het X Window systeem worden geleverd.
Indien een domme terminal net genoeg mogelijkheden heeft om tekst weer te geven, te verzenden en te ontvangen, dan kan zeker elke reserve-PC een domme terminal zijn. De enige benodigdheden zijn de juiste kabel en wat terminal-emulatie software om op de computer te draaien.
Zo'n opstelling is populair in thuissituaties. Indien bijvoorbeeld persoon A werkt op de console van een FreeBSD-systeem, kan persoon B wat alleen-tekst-werk verrichten op een minder krachtige PC die als terminal met het FreeBSD-systeem verbonden is.
Er zijn minstens twee applicaties beschikbaar in het basissysteem van FreeBSD welke gebruikt kunnen worden om te communiceren door een seriële connectie: cu(1) en tip(1).
Om een connectie op te zetten vanaf een systeem dat FreeBSD draait naar een seriële connectie van een andere machine kan het volgende gedaan worden:
#
cu -l serial-port-device
Hierbij is “serial-port-device” de naam is
van de speciale apparaatnode die gebruikt wordt voor de
seriële poort op het systeem. Deze bestanden heten
/dev/cuauN
.
Het “N” gedeelte van de apparaatnaam is het nummer van de seriële poort.
Let op, de apparaatnummers beginnen in FreeBSD bij nul en
niet bij één (zoals ze bijvoorbeeld wel doen
bij MS-DOS® gebaseerde systemen). Dit betekend dat wat
MS-DOS® gebaseerde systemen COM1
noemt bij FreeBSD meestal /dev/cuau0
genoemd wordt.
Sommige mensen preferen andere programma's die beschikbaar zijn via de Ports Collectie. De ports bevatten een aantal programma's die hetzelfde kunnen werken als cu(1) en tip(1), zoals comms/minicom.
X-terminals behoren tot de meest geavanceerde terminalsoort die beschikbaar is. In plaats van dat ze verbinding maken met een seriële poort, maken ze meestal verbinding met een netwerk zoals Ethernet. In plaats van dat ze alleen tekstapplicaties weergeven, kunnen ze elke X-applicatie weergeven.
X-terminals worden slechts voor de compleetheid geïntroduceerd. Dit hoofdstuk behandelt echter niet de installatie, het instellen of het gebruik van X-terminals.
Deze sectie beschrijft wat in te stellen op een os;-systeem om een aanmeldsessie op een terminal mogelijk te maken. De sectie gaat ervan uit dat er al een kernel is ingesteld met ondersteuning voor een seriële poort waar de terminal op is aangesloten en dat deze verbonden is.
In Hoofdstuk 13, Het FreeBSD opstartproces staat beschreven dat het proces
init
verantwoordelijk is voor het beheer van
alle processen en voor de initialisatie tijdens het opstarten
van een systeem. Eén van de taken die door
init
wordt uitgevoerd is het lezen van het
bestand /etc/ttys
en het starten van een
proces getty
op de beschikbare terminals.
Het proces getty
is verantwoordelijk voor
het lezen van een aanmeldnaam en het starten van het programma
login
.
Voer volgende stappen als root
uit om
terminals voor een FreeBSD-systeem in te stellen:
Voeg een regel aan /etc/ttys
toe
voor de ingang in de map /dev
voor een
seriële poort als deze er nog niet is;
Specificeer dat /usr/libexec/getty
uitgevoerd moet worden op de poort en het juiste type
getty
van het bestand
/etc/gettytab
;
Specificeer het standaard terminaltype;
Stel de poort in op “on”;
Specificeer of de poort “secure” dient te zijn;
init
dient
/etc/ttys
opnieuw te lezen.
Als optionele stap kan het wenselijk zijn om een eigen type
getty
aan te maken voor stap 2 door
een ingang in /etc/gettytab
te maken. Dit
wordt hier niet beschreven. Meer informatie staat in de
hulppagina's gettytab(5) en getty(8).
Het bestand /etc/ttys
bevat alle
poorten op een FreeBSD-systeem waar aanmelden is toegestaan. De
eerste virtuele console ttyv0
staat
bijvoorbeeld in dit bestand vermeld. Met deze vermelding kan
er op de console worden aangemeld. Dit bestand bevat ook
vermeldingen voor de andere virtuele consoles, seriële
poorten en pseudo-tty's. Vermeld voor een vast aangesloten
terminal de /dev
-regel van de
seriële poort zonder het
/dev
-gedeelte
(/dev/ttyv0
wordt bijvoorbeeld
ttyv0
).
Een standaard FreeBSD installatie bevat een bestand
/etc/ttys
met ondersteuning voor de
eerste vier seriële poorten:
ttyu0
tot en met
ttyu3
. Indien er aan een van deze
poorten een terminal wordt gekoppeld is het niet nodig om een
regel toe te voegen.
/etc/ttys
toevoegenStel dat er twee terminals verbonden moeten worden met
een systeem: een Wyse-50 en een oude 286 IBM-PC waarop
Procomm terminalsoftware draait
dat een VT-100 terminal emuleert. De Wyse wordt met de
tweede seriële poort verbonden en de 286 met de zesde
seriële poort (een poort op een meerpoortige
seriële kaart). De overeenkomstige regels in
/etc/ttys
zien er als volgt
uit:
ttyu1ttyu5 "/usr/libexec/getty std.19200" vt100 on insecure
Het eerste veld specificeert normaalgesproken de
naam van het speciale terminalbestand zoals dat in
| |
Het tweede veld bevat het commando dat voor deze
regel uitgevoerd moet worden, meestal is dit
getty(8). Het programma Het bestand Zorg er tijdens het instellen van het type
In bovenstaand voorbeeld gebruikt de Wyse-50 geen pariteit en maakt deze verbinding met 38400 bps. De 286 PC gebruikt geen pariteit en maakt verbinding met 19200 bps. | |
Het derde veld bevat het type terminal dat
normaalgesproken is verbonden met de tty-lijn. Voor
inbelpoorten wordt voor dit veld normaalgesproken
In bovenstaand voorbeeld gebruikt de Wyse-50 het echte terminaltype, terwijl de 286 PC die Procomm draait zo ingesteld wordt dat deze een VT-100 emuleert. | |
Het vierde veld geeft aan of de poort aan moet
staan. Indien hier | |
Het laatste veld geeft aan of de poort veilig is.
Indien deze poort als veilig is aangemerkt betekent dit
dat er genoeg vertrouwen is om de gebruiker
Het wordt sterk aangeraden om
“insecure” zelfs voor terminals achter
gesloten deuren te gebruiken. Het is vrij gemakkelijk
om aan te melden en |
Stuur na het maken van de benodigde veranderingen aan het
bestand /etc/ttys
een SIGHUP-signaal
(ophangen) naar het proces init
om het te
dwingen het instellingenbestand opnieuw te lezen:
#
kill -HUP 1
init
is altijd het eerste proces dat
op een systeem gedraaid wordt, daarom heeft het altijd PID
1.
Indien alles juist is ingesteld, alle kabels juist zijn
aangesloten en alle terminals aanstaan, draait er op elke
terminal een proces getty
en is er een
aanmeldprompt zichtbaar op de terminals.
Zelfs met de grootste aandacht voor details kan er nog steeds iets mis gaan met het instellen van een terminal. Hier is een lijst van symptomen en mogelijke oplossingen.
Controleer of de terminal is aangesloten en aan staat. Indien het een PC is die als terminal fungeert, controleer of de terminalemulatiesoftware op de juiste seriële poort draait.
Controleer of de kabel stevig verbonden is met zowel de terminal als de FreeBSD computer en dat de kabel van het juiste soort is.
Controleer of de terminal en FreeBSD dezelfde bps-snelheid en pariteit gebruiken. Indien de terminal een beeldscherm is, controleer dan of de video- en helderheidsniveaus zijn ingesteld. Indien de terminal een printer is, controleer of er voldoende papier en inkt aanwezig zijn.
Controleer of er een proces getty
draait dat de terminal bedient. Om bijvoorbeeld een lijst
van draaiende getty
-processen te
krijgen:
#
ps -axww|grep getty
Er zou een regel voor de terminal zichtbaar moeten zijn.
Het volgende scherm geeft bijvoorbeeld weer dat
getty
op de tweede seriële poort
ttyu1
draait en de regel
std.38400
in
/etc/gettytab
gebruikt:
22189 d1 Is+ 0:00.03 /usr/libexec/getty std.38400 ttyu1
Indien er geen proces getty
draait,
controleer dan of de poort in /etc/ttys
aan staat. Draai kill -HUP 1
nadat het
bestand ttys
is gewijzigd.
Indien het proces getty
draait maar de
terminal nog steeds geen aanmeldprompt weergeeft of als het
een prompt weergeeft maar er niet getypt kan worden, kan het
zijn dat de terminal of de kabel hardwarematige handshaking
niet ondersteunt. Probeer om de regel in
/etc/ttys
van
std.38400
in
3wire.38400
te veranderen (draai na het
wijzigen van /etc/ttys
kill
-HUP 1
). De regel 3wire
is
vergelijkbaar met de regel std
, maar
negeert hardwarematige handshaking. Het kan nodig zijn om de
baudsnelheid te verlagen of om softwarematig doorvoerbeheer
aan te zetten als 3wire
gebruikt wordt, om
overspoelde buffers te voorkomen.
Controleer of de terminal en FreeBSD dezelfde bps-snelheid
en pariteit gebruiken. Controleer de
getty
-processen op het gebruik van het
juiste type getty
. Indien dit niet het
geval is, wijzig dan /etc/ttys
en draai
kill -HUP 1
.
Vanaf FreeBSD 8.0 zijn de seriële poorten
hernoemd van
/dev/cuadN
naar
/dev/cuauN
en
van
/dev/ttydN
naar
/dev/ttyuN
.
FreeBSD 7.X gebruikers moeten de documentatie aanpassen naar
deze wijzigingen.
Het instellen van het FreeBSD-systeem voor inbeldiensten is vrijwel gelijk aan het verbinden van terminals, behalve dat er met modems in plaats van terminals wordt gewerkt.
Externe modems lijken gemakkelijker voor het inbellen, omdat externe modems vaak semi-permanent ingesteld kunnen worden via parameters die in een niet-vluchtig RAM worden opgeslagen en ze hebben gewoonlijk LED's die de toestand van belangrijke RS-232-signalen weergeven. Knipperende LED's maken indruk op bezoekers, maar LED's zijn ook zeer nuttig om te zien of een modem goed functioneert.
Interne modems hebben vaak geen niet-vluchtig RAM en het kan dus voorkomen dat de instelmogelijkheden beperkt zijn tot het instellen van DIP-schakelaars. Als een intern modem al indicatie-LED's voor signalen heeft, zijn ze moeilijk te zien in de behuizing van een systeem.
Bij gebruik van een extern modem is uiteraard een juiste kabel nodig. Een standaard RS-232C seriële kabel moet voldoen zolang alle normale signalen zijn aangesloten.
Acroniemen | Namen |
---|---|
RD | Received Data (ontvangen gegevens) |
TD | Transmitted Data (verzonden gegevens) |
DTR | Data Terminal Ready (gegevensterminal gereed) |
DSR | Data Set Ready (gegevensverzameling gereed) |
DCD | Data Carrier Detect (RS-232's detector voor signaal lijn-ontvangen) |
SG | Signal Ground (signaalaarde) |
RTS | Request to Send (verzoek om te zenden) |
CTS | Clear to Send (gereed om te zenden) |
FreeBSD heeft de signalen RTS en CTS nodig voor doorstroombeheer bij snelheden van meer dan 2400 bps, het signaal CD om te bepalen wanneer een oproep beantwoord of geannuleerd is, en het signaal DTR om een modem opnieuw in te stellen nadat een sessie voltooid is. Op sommige kabels ontbreken sommige benodigde signalen. Dus als zich problemen voordoen, zoals een aanmeldsessie die niet weggaat nadat de verbinding verbroken is, kan dit aan de kabel liggen.
Net als andere UNIX®-achtige besturingssystemen gebruikt FreeBSD hardwaresignalen om te bepalen of een oproep beantwoord of weggedrukt is en om met het modem op te hangen en dit opnieuw in te stellen na een oproep. FreeBSD vermijdt het versturen van commando's naar een modem en het bekijken van de toestand van een modem. Dit kan vreemd lijken als bekend is hoe modems met PC-gebaseerde prikbordsystemen (BBS) verbinden.
FreeBSD ondersteunt EIA RS-232C (CCITT V.24) communicatie-interfaces gebaseerd op NS8250, NS1645, NS16550 en NS16550A. De 8250- en 16450-apparaten hebben buffers van een enkel karakter. Het 16550-apparaat biedt een buffer van 16 karakters, wat betere systeemprestaties toestaat. Door fouten in platte 16550's is het niet mogelijk de buffer van 16 karakters te gebruiken, dus gebruik indien mogelijk 16550A's. Omdat apparaten met een buffer van een enkel karakter meer werk door het besturingssysteem vereisen dan apparaten met een buffer van 16 karakters, ligt de voorkeur bij seriële interfacekaarten gebaseerd op de 16550A. Indien een systeem veel actieve seriële poorten heeft of zwaar belast wordt, zijn kaarten gebaseerd op de 16550A beter voor communicatie met een lage foutenratio.
Net als met terminals zet init
een
getty
-proces op voor elke seriële poort
die voor inbelverbindingen is ingesteld. Indien bijvoorbeeld
een modem aan /dev/ttyu0
is gekoppeld, kan
het commando ps ax
het volgende
weergeven:
4850 ?? I 0:00.09 /usr/libexec/getty V19200 ttyu0
Wanneer een gebruiker naar de modemlijn belt en de modems
verbinding maken, wordt de CD-lijn (Carrier
Detect) door het modem gerapporteerd. De kernel merkt op dat
een draaggolf is gesignaleerd en laat getty
het openen van de poort voltooien. getty
stuurt een prompt login:
met de initieel
gespecificeerde lijnsnelheid. getty
bekijkt
of er geldige karakters zijn ontvangen en probeert, in een
typische opstelling, indien het rommel aantreft (waarschijnlijk
omdat de snelheid waarmee het modem verbindt afwijkt van de
snelheid van getty
) de lijnsnelheden aan te
passen totdat het redelijke karakters ontvangt.
Nadat een gebruikersnaam is opgegeven voert
getty
/usr/bin/login
uit, die het aanmelden voltooit door te vragen naar het
wachtwoord van een gebruiker en daarna de shell van een
gebruiker op te starten.
Er zijn drie systeeminstellingenbestanden in de map
/etc
die waarschijnlijk gewijzigd moeten
worden om inbellen op een FreeBSD-systeem toe te staan. Het
eerste bestand, /etc/gettytab
, bevat
informatie om de daemon /usr/libexec/getty
in te stellen. Het tweede bestand,
/etc/ttys
bevat informatie voor
/sbin/init
dat vertelt op welke
tty
apparaten een proces
getty
moet draaien. Als laatste kunnen in
het script /etc/rc.d/serial
commando's
geplaatst worden om poorten te initialiseren.
Er bestaan twee stromingen met betrekking tot inbelmodems op UNIX®. De ene houdt ervan om modems en systemen in te stellen zodat de lokale computer-naar-modem RS-232-interface met een vaste snelheid werkt, ongeacht de snelheid waarmee een gebruiker-op-afstand inbelt. Het voordeel van deze instelling is dat een gebruiker-op-afstand altijd meteen een aanmeldprompt van een systeem ziet. Het nadeel is dat een systeem niet weet wat de werkelijke gegevenssnelheid van een gebruiker is en dus passen programma's die met een volledig scherm werken, zoals Emacs, hun methode om het scherm te tekenen niet aan om hun reactie beter te maken voor langzame verbindingen.
De andere stroming stelt de RS-232-interface van een modem
zo in dat de snelheid ervan varieert met de verbindingssnelheid
van een gebruiker-op-afstand. Zo zorgen V.32bis-verbindingen
(14,4 kbps) met een modem ervoor dat een modem de
RS-232-interface op 19,2 kbps laat draaien, terwijl
verbindingen op 2400 bps ervoor zorgen dat de
RS-232-interface van een modem op 2400 bps draait. Omdat
getty
meldingen over de verbindingssnelheid
van een gegeven modem niet begrijpt, geeft
getty
een bericht login:
op
een initiële snelheid en kijkt het naar de karakters die
als antwoord terugkomen. Als een gebruiker rommel ziet, wordt
ervan uitgegaan dat deze weet dat de Enter
toets ingedrukt moet worden totdat een herkenbaar prompt
zichtbaar is. Indien de gegevenssnelheden niet overeenkomen,
ziet getty
alles wat een gebruiker intypt
als “rommel”, probeert het op de volgende snelheid
over te gaan en het geeft opnieuw het prompt
login:
. Deze procedure kan ad nauseam
doorgaan, maar normaal gesproken zijn er slechts een stuk of
twee toetsaanslagen nodig voordat een gebruiker een juist
prompt ziet. Het is duidelijk dat deze aanmeldprocedure er
niet zo mooi uitziet als de methode
“vaste-snelheid”, maar een gebruiker met een
langzame verbinding zou betere interactiviteit moeten beleven
met programma's die met een volledig scherm werken.
Deze sectie poogt om neutrale informatie over instellingen te geven, maar is geneigd om de gegevenssnelheid van het modem af te laten hangen van de verbindingssnelheid.
/etc/gettytab
is een bestand met
informatie over instellingen voor getty(8) in de stijl
van termcap(5). In de hulppagina van gettytab(5)
staat de volledige informatie over het formaat van het
bestand en de lijst met mogelijkheden.
Indien de snelheid van een modem om gegevens te
communiceren op een bepaalde waarde wordt vastgezet, is het
waarschijnlijk niet nodig om wijzigingen aan te brengen in
/etc/gettytab
.
In /etc/gettytab
dient een regel
ingesteld te worden om getty
informatie
te geven over de snelheden die voor het modem gewenst zijn.
Indien een 2400 bps modem aanwezig is, kan
waarschijnlijk de bestaande regel D2400
gebruikt worden.
# # Voor snelle inbelterminals, 2400/1200/300 roterend (er kan met beide kanten begonnen worden) # 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:
Indien er een modem voor hogere snelheden aanwezig is,
dient er waarschijnlijk een regel aan
/etc/gettytab
toegevoegd te worden.
Hieronder staat een regel die gebruikt kan worden voor een
14,4 kbps modem met een maximale interface-snelheid
van 19,2 kbps:
# # Toevoegingen voor een 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:
Dit resulteert in 8-bits verbindingen zonder pariteit.
Het bovenstaande voorbeeld begint met een
communicatiesnelheid van 19,2 kbps (voor een
V.32bis-verbinding), daarna doorloopt het 9600 bps
(voor V.32), 2400 bps, 1200 bps, 300 bps en
daarna weer 19,2 kbps. Het doorlopen van de
communicatiesnelheid is met de mogelijkheid
nx=
(“volgende tabel”)
geïmplementeerd. Elk van deze regels gebruikt een
regel tc=
(“tabel
continuëren”) om de rest van de
“standaard”-instellingen voor een bepaalde
gegevenssnelheid op te pikken.
Indien er een 28,8 kbps modem aanwezig is en/of
het gewenst is om voordeel uit de compressie met een
14,4 kbps te halen, is het nodig om hogere
communicatiesnelheden dan 19,2 kbps te gebruiken.
Hieronder staat een voorbeeld van een regel voor
gettytab
die begint met
57,6 kbps.
# # Toevoegingen voor een V.32bis of V.34 modem # beginnend bij 57,6 kbps # 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:
Indien een CPU langzaam of een systeem zwaar belast is en er geen seriële poorten gebaseerd op 16550A aanwezig zijn, kunnen er sio “silo”-fouten optreden bij 57,6 kbps.
Het instellen van het bestand
/etc/ttys
staat beschreven in Voorbeeld 26.1, “Terminalregels aan /etc/ttys
toevoegen”. Het instellen van modems is
vergelijkbaar maar er moet een ander argument aan
getty
doorgegeven worden en er moet een
ander type terminal doorgegeven te worden. Het algemene
formaat voor zowel vaste snelheid als overeenkomstige
snelheid is:
ttyu0 "/usr/libexec/getty xxx
" dialup on
Het eerste item op bovenstaande regel is het speciale
apparaatbestand. ttyu0
betekent dat
/dev/ttyu0
het bestand is dat door
getty
in de gaten wordt gehouden. Het
tweede item,
"/usr/libexec/gettyxxx"
(xxx
wordt vervangen door de
initiële mogelijkheden van
gettytab
) is het proces dat door
init
op het apparaat gedraaid wordt. Het
derde item, dialup
, is het standaard
terminaltype. De vierde parameter, on
,
geeft aan init
aan dat de lijn
operationeel is. Er kan een vijfde parameter zijn,
secure
, maar gebruik deze alleen voor
terminals die fysiek veilig zijn (zoals de
systeemconsole).
Het standaard terminaltype (dialup
in
bovenstaand voorbeeld) mag afhangen van lokale voorkeuren.
Het traditionele standaard terminaltype voor inbellijnen is
dialup
, zodat gebruikers hun
aanmeldscripts kunnen aanpassen om op te merken wanneer het
terminal dialup
is en automatisch hun
terminaltype kunnen aanpassen. Wellicht is het makkelijker
om vt102
als het standaard terminaltype te
specificeren, aangezien gebruikers gewoon VT102-emulatie op
hun systemen-op-afstand gebruiken.
Nadat /etc/ttys
gewijzigd is, kan
aan het proces init
een signaal
HUP gestuurd worden om het bestand opnieuw
te laten lezen. Gebruik volgende opdracht om het signaal te
versturen:
#
kill -HUP 1
Indien een systeem voor de eerste keer wordt
geïnstalleerd, is het verstandig te wachten totdat een
modem juist ingesteld en verbonden is voordat het signaal
aan init
verstuurd wordt.
Voor het instellen van een vaste snelheid dient de
regel in ttys
een vaste snelheid door
te geven aan getty
. Voor een modem met
een vaste poortsnelheid van 19,2 kbps kan de regel in
ttys
er als volgt uitzien:
ttyu0 "/usr/libexec/getty std.19200" dialup on
Indien een modem op een andere gegevenssnelheid is
ingesteld, dient de juiste waarde voor
std.snelheid
in plaats van std.19200
ingesteld te
worden. Gebruik een geldig type dat in
/etc/gettytab
vermeld staat.
Voor het instellen van een overeenkomstige snelheid
dient de regel in ttys
te verwijzen
naar regel met de juiste begin-“auto-baud”
(sic). Indien bijvoorbeeld de boven voorgestelde regel
voor een modem met een overeenkomstige snelheid die begint
met 19,2 kbps wordt toegevoegd (de regel in
gettytab
die het beginpunt
V19200
), kan de regel in
ttys
er als volgt uitzien:
ttyu0 "/usr/libexec/getty V19200" dialup on
Hogesnelheidsmodems, zoals V.32, V.32bis, en V.34 modems,
moeten gebruik maken van hardwarematig
(RTS/CTS
) gegevensstroombeheer. Er kunnen
stty
-opdrachten aan
/etc/rc.d/serial
toegevoegd worden om de
vlag voor hardwarematig gegevensstroombeheer in de kernel van
FreeBSD voor modempoorten in te stellen.
Om bijvoorbeeld de termios
-vlag
crtscts
op de apparaten die de in- en
uitbelapparaten initialiseren op de eerste seriële poort
(COM2
) in te stellen, kunnen de
volgende regels aan /etc/rc.d/serial
worden toegevoegd:
# Seriële poort initieel instellen stty -f /dev/ttyu1.init crtscts stty -f /dev/cuau1.init crtscts
Bij gebruik van een modem waarvan de parameters permanent
in niet-vluchtig RAM ingesteld kunnen worden, is er een
terminalprogramma (zoals Telix onder
MS-DOS® of tip
onder FreeBSD) nodig om
parameters in te stellen. Maak een verbinding met een modem met
dezelfde communicatiesnelheid als de initiële snelheid die
door getty
gebruikt wordt en stel het
niet-vluchtige RAM van een modem in zodat aan deze voorwaarden
voldaan wordt:
CD geldt tijdens verbindingen;
DTR geldt tijdens gebruik; het loslaten van DTR hangt de verbinding op en stelt het modem opnieuw in;
gegevensstroombeheer door CTS verzonden;
gegevensstroombeheer met XON/XOFF uitgezet;
gegevensstroombeheer door RTS ontvangen;
Stille modus (geen resultaatcodes);
Geen opdrachtecho.
Kijk in de documentatie van een modem voor de benodigde opdrachten en/of instellingen van DIP-schakelaars.
Om de bovenstaande parameters bijvoorbeeld op een U.S. Robotics® Sportster® 14.400 extern modem in te stellen, kunnen de volgende opdrachten aan het modem gegeven worden:
ATZ AT&C1;&D2&H1&I0&R2&W
In deze fase kunnen ook andere modeminstellingen aangepast worden, zoals of het V.42bis en/of MNP5 compressie wordt gebruiken.
Een U.S. Robotics®Sportster® 14.400 externe modem heeft ook enkele DIP-schakelaars die ingesteld moeten worden. Voor andere modems kunnen deze instellingen wellicht als voorbeeld dienen:
Schakelaar 1: UP: DTR Normal
Schakelaar 2: N/A (Verbal Result Codes/Numeric Result Codes)
Schakelaar 3: UP: Suppress Result Codes
Schakelaar 4: DOWN: Geen echo, offline opdrachten
Schakelaar 5: UP: Auto Answer
Schakelaar 6: UP: Carrier Detect Normal
Schakelaar 7: UP: Load NVRAM Defaults
Schakelaar 8: N/A (Smart Mode/Dumb Mode)
Schakel resultaatcodes voor alle inbelmodems uit of
onderdruk ze om problemen te voorkomen die kunnen optreden als
getty
abusievelijk een prompt
login:
geeft aan een modem dat in
opdrachtmodus staat en het modem de opdracht echoot of een
resultaatcode teruggeeft. Deze sequentie kan tot een
uitgebreide, onnozele discussie tussen getty
en het modem leiden.
Stel voor een vaste snelheid een modem zodanig in dat die een constante gegevenssnelheid naar de computer, onafhankelijk van de communicatiesnelheid, behoudt. Op een U.S. Robotics® Sportster® 14.400 extern modem zetten de volgende opdrachten de gegevenssnelheid naar de computer vast op de snelheid die gebruikt werd om de opdrachten te geven:
ATZ AT&B1&W
Stel voor een variabele snelheid een modem zodanig in dat het de gegevenssnelheid van zijn seriële poort aanpast aan de snelheid van een binnenkomende oproep. Op een U.S. Robotics® Sportster® 14.400 extern modem zetten de volgende opdrachten de gegevenssnelheid van het modem, die op fouten gecorrigeerd wordt, vast op de snelheid die gebruikt werd om de opdrachten te geven, maar staan ze toe dat de snelheid van de seriële poort varieert voor verbindingen die niet op fouten gecorrigeerd worden:
ATZ AT&B2&W
De meeste modems die op hoge snelheid werken, bieden
opdrachten om de huidige werkparameters van een modem in een
min of meer voor mensen leesbare vorm te bekijken. Op het
U.S. Robotics® Sportster® 14.400 extern modem beeldt de
opdracht ATI5
de instellingen af die in
het niet-vluchtige RAM zijn opgeslagen. Gebruik om de
werkelijke werkparameters van een modem te zien (zoals
beïnvloed door de stand van de DIP-schakelaars van een
modem) de opdrachten ATZ
gevolgd door
ATI4
.
Kijk in de handleiding van een modem als er met een ander merk modem gewerkt wordt voor het controleren van de parameters voor het instellen van dat modem.
Hier volgen wat stappen die gevolgd kunnen worden om een inbelmodem op een systeem te controleren.
Verbind een modem met een FreeBSD-systeem, start het systeem
op en kijk, indien het modem lampjes bevat die de toestand
aangeven, of de DTR-indicator oplicht
als het prompt login:
op de systeemconsole
verschijnt. Als het oplicht zou dit betekenen dat FreeBSD
een getty
-proces heeft gestart op de
juiste communicatiepoort en wacht op het modem om een gesprek
aan te nemen.
Geef als de DTR-indicator niet
oplicht, na aanmelden op de console, de opdracht ps
ax
om te zien of FreeBSD probeert een
getty
-proces op de juiste poort te
draaien. Er dienen tussen de weergegeven processen regels
zoals de onderstaande te verschijnen:
114 ?? I 0:00.10 /usr/libexec/getty V19200 ttyu0 115 ?? I 0:00.10 /usr/libexec/getty V19200 ttyu1
Er kan ook iets als het volgende verschijnen:
114 d0 I 0:00.10 /usr/libexec/getty V19200 ttyu0
Als het modem nog geen gesprek heeft aangenomen, betekent
dit dat getty
het openen van de
communicatiepoort voltooid heeft. Dit kan duiden op een
probleem met de bekabeling of op een verkeerd ingesteld modem
omdat getty
niet in staat zou moeten zijn
om de communicatiepoort te openen totdat
CD (kiestoon) door het modem is
bevestigd.
Indien er geen enkel getty
-proces
verschijnt dat wacht op het openen van de gewenste poort
ttyuN
,
controleer dan de regels in /etc/ttys
op
vergissingen. Controleer ook het logboekbestand
/var/log/messages
om te zien of er
logboekberichten van init
of
getty
met betrekking tot problemen zijn.
Indien er problemen zijn, controleer dan nogmaals de
instellingenbestanden /etc/ttys
en
/etc/gettytab
, alsook de betreffende
speciale apparaatbestanden /dev/ttyuN
,
op vergissingen, ontbrekende regels of ontbrekende speciale
apparaatbestanden.
Probeer in te bellen op een systeem. Controleer of op het
systeem-op-afstand 8 bits, geen pariteit en 1 stopbit gebruikt
wordt. Probeer, indien er niet meteen een prompt verschijnt
of als er rommel verschijnt, ongeveer eens per seconde op
Enter te drukken. Probeer, indien er na een
tijd nog geen prompt login:
verschijnt, een
BREAK
te versturen. Probeer, indien er een
modem wordt gebruikt dat op hoge snelheid werkt om te bellen,
opnieuw in te bellen nadat de interfacesnelheid van het
bellende modem is vastgezet (bijvoorbeeld via
AT&B1
op een U.S. Robotics® Sportster®
modem).
Controleer, indien er nog steeds geen prompt
login:
verschijnt, nogmaals
/etc/gettytab
en controleer of:
De initiële specificatie die in
/etc/ttys
voor de lijn staat
overeenkomt met een naam van een specificatie in
/etc/gettytab
;
Elke regel nx=
overeenkomt met een
naam van een andere specificatie in
gettytab
;
Elke regel tc=
overeenkomt met een
naam van een andere specificatie in
gettytab
.
Controleer, indien er gebeld wordt maar het modem op het FreeBSD-systeem niet reageert, of het modem ingesteld is om de telefoon te beantwoorden als DTR bevestigd is. Controleer, indien het modem juist ingesteld lijkt te zijn, of de DTR-lijn bevestigd is door de indicatielampjes van het modem te controleren (indien die aanwezig zijn).
Neem een pauze en probeer het later nog eens indien alles meerdere malen is geprobeerd en het nog steeds niet werkt. Indien het nog steeds niet werkt, stuur dan een e-mail naar de FreeBSD algemene vragen mailinglijst met een beschrijving van het modem en het probleem en de mensen op de lijst zullen proberen te helpen.
Vanaf FreeBSD 8.0 zijn de seriële poorten
hernoemd van
/dev/cuadN
naar
/dev/cuauN
en
van
/dev/ttydN
naar
/dev/ttyuN
.
FreeBSD 7.X gebruikers moeten de documentatie aanpassen naar
deze wijzigingen.
De volgende tips dienen voor het maken van een verbinding met een andere computer per modem. Dit is geschikt voor het opzetten van een terminalsessie met een gast op afstand.
Dit is nuttig bij het aanmelden op een BBS.
Dit soort verbinding kan extreem behulpzaam zijn om een bestand op het Internet te krijgen indien er problemen zijn met PPP. Indien FTP ergens voor nodig is en PPP kapot is, kan de terminalsessie voor FTP gebruikt worden. Vervolgens kan zmodem gebruikt worden om het naar de machine te verzenden.
In feite is de hulppagina voor tip
verouderd. Er is al een generiek belprogramma voor Hayes
ingebouwd. Gebruik at=hayes
in het bestand
/etc/remote
.
Het stuurprogramma voor Hayes is niet slim genoeg om enkele
geavanceerde eigenschappen van nieuwere modems te herkennen.
Berichten als BUSY
(in gesprek),
NO DIALTONE
(geen kiestoon) of
CONNECT 115200
(verbinden 115200) verwarren
het stuurprogramma. Schakel deze berichten uit bij gebruik van
tip
(door middel van
ATX0&W
).
Verder is de beltimeout voor tip
60
seconden. Het modem dient een lagere waarde te gebruiken om te
voorkomen dat tip
denkt dat er een probleem
met de communicatie is. Probeer
ATS7=45&W
.
Maak een zogenaamde “directe” regel in het
bestand /etc/remote
aan. Als het modem
bijvoorbeeld aan de eerste seriële poort,
/dev/cuau0
, is gekoppeld, voeg dan de
volgende regel toe:
cuau0:dv=/dev/cuau0:br#19200:pa=none
Gebruik voor de mogelijkheid br
de
hoogst ondersteunde snelheid van het modem in bps. Typ hierna
tip cuau0
om een verbinding met het modem te
maken.
Als alternatief kan cu
als
root
met het volgende commando gebruikt
worden:
#
cu -llijn -ssnelheid
De waarde lijn
is de
seriële poort (bijvoorbeeld
/dev/cuau0
) en
snelheid
is de snelheid
(bijvoorbeeld 57600
). Als alle
AT-commando's zijn ingevoerd, voer dan ~.
in
om het programma te verlaten.
Het teken @
in de
telefoonnummermogelijkheid vertelt tip
om in
/etc/phones
naar een telefoonnummer te
kijken. Maar het teken @
is ook een speciaal
teken in specificatiebestanden als
/etc/remote
. Gebruik een backslash om
hieraan te ontsnappen:
pn=\@
Voeg een zogenaamde “generieke” regel aan
het bestand /etc/remote
toe.
Bijvoorbeeld:
tip115200|Bel elk telefoonnummer met 115200 bps:\ :dv=/dev/cuau0:br#115200:at=hayes:pa=none:du: tip57600|Bel elk telefoonnummer met 57600 bps:\ :dv=/dev/cuau0:br#57600:at=hayes:pa=none:du:
Hierna zijn onder andere de volgende mogelijkheden beschikbaar:
#
tip -115200 5551234
Indien cu
boven tip
geprefereerd wordt, dient een generieke regel voor
cu
gebruikt te worden:
cu115200|Gebruik cu om elk nummer met 115200bps te bellen:\ :dv=/dev/cuau1:br#57600:at=hayes:pa=none:du:
Voer in:
#
cu 5551234 -s 115200
Voeg een regel toe voor tip1200
of
cu1200
, maar gebruik een bps-snelheid die
geschikt is voor de br-mogelijkheid. tip
meent dat 1200 bps een goede standaardwaarde is, hierdoor
zoekt het naar een regel tip1200
. Uiteraard
hoeft 1200 bps niet gebruikt te worden.
Om niet iedere keer te hoeven wachten totdat er verbinding
is en CONNECT host
in te typen, kan de mogelijkheid cm
van
tip
gebruikt worden. Als voorbeeld bieden
de onderstaande regels in /etc/remote
de
mogelijkheid om tip pain
of tip
muffin
in te typen om met de hosts
pain
of muffin
te verbinden,
en tip deep13
om naar de terminalserver te
gaan:
pain|pain.deep13.com|Forresters machine:\ :cm=CONNECT pain\n:tc=deep13: muffin|muffin.deep13.com|Franks machine:\ :cm=CONNECT muffin\n:tc=deep13: deep13:Gizmonics Institute terminalserver:\ :dv=/dev/cuau2:br#38400:at=hayes:du:pa=none:pn=5551234:
Dit is een vaak een probleem als een universiteit een handvol modemlijnen en enkele duizenden studenten heeft die ze proberen te gebruiken.
Voeg een regel voor de universiteit toe in
/etc/remote
en gebruik
@
voor de mogelijkheid
pn
:
grote-universiteit:\ :pn=\@:tc=dialout dialout:\ :dv=/dev/cuau3:br#9600:at=courier:du:pa=none:
Voeg hierna de telefoonnummers voor de universiteit toe aan
/etc/phones
:
grote-universiteit 5551111 grote-universiteit 5551112 grote-universiteit 5551113 grote-universiteit 5551114
Het commando tip
probeert elk nummer in
de volgorde van de lijst alvorens op te geven. Om de pogingen
te herhalen, kan tip
in een while-lus
gedraaid worden.
Ctrl+P
is het standaard “forceer”-karakter, dat gebruikt
wordt om tip
te vertellen dat het volgende
karakter letterlijk genomen dient te worden. Het
forceerkarakter kan met de ontsnapping ~s
,
wat “stel een variabele in” betekent, op elk ander
karakter ingesteld worden.
Typ
~sforce=enkel-karakter
in gevolgd door een nieuwe regel.
enkel-karakter
is elk enkel
karakter. Indien enkel-karakter
weggelaten wordt, is het forceerkarakter het nulkarakter, wat
door middel van Ctrl+2
of Ctrl+spatie
verkregen kan worden. Een redelijke standaardwaarde
voor enkel-karakter
is Shift+Ctrl+6,
die slechts op enkele terminalservers gebruikt wordt.
Het forceerkarakter kan op elk gewenst karakter ingesteld
worden door het volgende op te nemen in het bestand
$HOME/.tiprc
:
force=enkel-karakter
Waarschijnlijk is Ctrl+A
ingedrukt, het “raisechar” van
tip
, dat speciaal voor mensen met een
kapotte caps-lock toets is ontworpen. Gebruik
~s
zoals boven is aangegeven en stel de
variabele raisechar
op iets redelijks in.
Het kan zelfs op hetzelfde als het forceerkarakter worden
ingesteld, indien het onwaarschijnlijk is dat een van deze
mogelijkheden ooit gebruikt wordt.
Hier volgt een voorbeeld voor het bestand
.tiprc
dat perfect is voor gebruikers van
Emacs die Ctrl+2
en Ctrl+A
vaak moeten gebruiken:
force=^^ raisechar=^^
De ^^
is Shift+Ctrl+6.
In de communicatie met een ander UNIX®-systeem kunnen
bestanden verzonden en ontvangen worden met de commando's
~p
(put) en ~t
(take).
Deze commando's draaien cat
en
echo
op een systeem op afstand om bestanden
aan te nemen en te verzenden. De syntaxis is:
~p
lokaal-bestand [bestand-op-afstand]
~t
bestand-op-afstand [lokaal-bestand]
Er wordt niet op fouten gecontroleerd, het is dus verstandig om een ander protocol te gebruiken, zoals zmodem.
Start om bestanden te ontvangen het verstuurprogramma aan
de andere kant. Typ daarna ~C rz
om ze
lokaal te ontvangen.
Start om bestanden te versturen het ontvangprogramma aan de
andere kant. Typ daarna ~C sz
bestanden
om ze naar het
systeem aan de andere kant te versturen.
Vanaf FreeBSD 8.0 zijn de seriële poorten
hernoemd van
/dev/cuadN
naar
/dev/cuauN
en
van
/dev/ttydN
naar
/dev/ttyuN
.
FreeBSD 7.X gebruikers moeten de documentatie aanpassen naar
deze wijzigingen.
FreeBSD biedt de mogelijkheid om op een systeem op te starten met slechts een domme terminal en een seriële poort als console. Dit soort opstellingen is handig voor twee soorten mensen: voor systeembeheerders die FreeBSD willen installeren op machines die geen toetsenbord of beeldscherm hebben en voor ontwikkelaars die de kernel of apparaatstuurprogramma's willen debuggen.
Zoals beschreven in Hoofdstuk 13, Het FreeBSD opstartproces, gebruikt FreeBSD
drie fasen voor het opstarten. De eerste twee fasen bevinden
zich in de code van het opstartblok dat zich aan het begin van
de opstartslice van FreeBSD op de opstartschijf bevindt. Het
opstartblok laadt vervolgens de opstartlader
(/boot/loader
) en draait als de code van
de derde fase.
Om de seriële console gereed te maken moeten de code in het opstartblok, de code van de opstartlader en de kernel worden ingesteld.
Deze sectie neemt aan dat de standaard opstelling wordt gebruikt en dat een kort overzicht voor het opzetten van de seriële console gewenst is.
Verbind de seriële kabel met
COM1
en de leidende
terminal;
Om alle opstartmeldingen op de seriële console te zien, dient het volgende commando als supergebruiker uitgevoerd te worden:
#
echo 'console="comconsole"' >> /boot/loader.conf
Bewerk /etc/ttys
en wijzig
off
in on
en
dialup
in vt100
voor
de regel ttyu0
. Indien dit niet
gebeurt is er geen wachtwoord nodig om met de seriële
console te verbinden, wat tot een mogelijk beveiligingslek
leidt;
Start het systeem opnieuw op om te zien of de veranderingen effect hebben.
Indien een andere instelling nodig is, is er een diepgaandere uitleg over instellingen beschikbaar in Paragraaf 26.6.3, “De seriële console instellen”.
Bereid een seriële kabel voor.
Benodigd zijn een nulmodem-kabel òf een standaard seriële kabel samen met een nulmodem-adapter. Zie Paragraaf 26.2.2, “Kabels en poorten” voor een beschrijving van seriële kabels.
Ontkoppel het toetsenbord.
De meeste PC-systemen zoeken naar het toetsenbord tijdens de Power-On Self-Test (POST) en geven een foutmelding als het toetsenbord niet is gevonden. Sommige systemen klagen luid over het ontbreken van een toetsenbord en gaan niet verder met opstarten totdat het is aangesloten.
Indien de computer klaagt over de fout, maar desondanks opstart, is het niet nodig iets speciaals te doen. Sommige machines waarop Phoenix BIOS is geïnstalleerd melden enkel Toetsenbord faalde en gaan normaal door met opstarten.
Indien de machine weigert zonder toetsenbord op te starten dient het BIOS ingesteld te worden zodat het deze fout negeert (als het dit kan). Raadpleeg het handboek van het moederbord voor verdere aanwijzingen.
Stel het toetsenbord in op “Niet geïnstalleerd” in de BIOS-instellingen. Het is dan nog steeds mogelijk om het toetsenbord te gebruiken. Dit zorgt er alleen voor dat het BIOS niet naar een toetsenbord zoekt tijdens het aanzetten. Het BIOS dient niet te klagen als het toetsenbord ontbreekt. Het is mogelijk om het toetsenbord aangesloten te laten, zelfs als deze vlag is ingesteld op “Niet geïnstalleerd” en het toetsenbord werkt nog steeds. Kijk, als de bovenstaande optie niet in het BIOS aanwezig is, naar een optie “Halt on Error”. Het instellen van deze optie op “All but keyboard” of zelfs op “No Errors” zal hetzelfde effect hebben.
Als een systeem een PS/2®-muis heeft, is het goed mogelijk dat naast het toetsenbord ook de muis losgekoppeld moet worden. Dit komt doordat PS/2®-muizen wat hardware met het toetsenbord delen. Als de muis aangesloten blijft, kan het zoeken naar het toetsenbord als resultaat hebben dat het toetsenbord er nog steeds is. Een Gateway 2000 Pentium 90 MHz systeem met een AMI BIOS schijnt zich op deze manier te gedragen. Over het algemeen is dit geen probleem aangezien een muis zonder toetsenbord sowieso weinig nut heeft.
Sluit een domme terminal aan op
COM1
(sio0
).
Indien er geen domme terminal aanwezig is, kan een oude
PC met een modemprogramma of de seriële poort van een
andere UNIX® machine gebruikt worden. Indien er geen
COM1
(sio0
) aanwezig is dient deze
geregeld te worden. Op dit moment is er geen manier om een
andere poort dan COM1
voor de
opstartblokken te selecteren, afgezien van deze opnieuw te
compileren. Indien COM1
al voor
een ander apparaat gebruikt wordt, verwijder dat apparaat
dan tijdelijk en installeer een nieuw opstartblok en een
nieuwe kernel zodra FreeBSD werkt. Er wordt aangenomen dat
COM1
sowieso beschikbaar is op een
bestands-/reken-/terminalserver. Als
COM1
ècht voor iets anders
nodig is (en het niet mogelijk is om dat op
COM2
(sio1
) over te zetten), is het
sowieso al onverstandig om hiermee bezig te zijn.)
Controleer of het instellingenbestand van de kernel de
juiste vlaggen ingesteld heeft voor
COM1
(sio0
).
Relevante vlaggen zijn:
0x10
Zet console-ondersteuning voor deze eenheid aan.
De andere consolevlaggen worden genegeerd tenzij deze
is aangezet. Momenteel kan ten hoogste
één eenheid console-ondersteuning
hebben. De eerste (in de volgorde van het
instellingenbestand) waarvan deze vlag is aangezet
heeft de voorkeur. Deze optie zelf maakt de
seriële poort geen console. Stel de volgende
vlag in of gebruik de onderstaande optie
-h
samen met deze vlag.
0x20
Dwingt deze eenheid om de console te zijn (tenzij
er een andere console met hogere prioriteit is),
ongeacht de onderstaande optie -h
.
De vlag 0x20
dient samen met de
vlag 0x10
gebruikt te worden.
0x40
Reserveert deze eenheid (in samenwerking met
0x10
) en maakt de eenheid
ontoegankelijk voor normale toegang. Deze vlag dient
niet aangezet te worden op de seriële poort van
de eenheid die als seriële console gebruikt gaat
worden. De enige functie van deze vlag is de eenheid
voor het debuggen van de kernel op afstand aan te
merken. Zie het Ontwikkelaarshandboek
voor meer informatie over debuggen op afstand.
Voorbeeld:
device sio0 at isa? port IO_COM1 flags 0x10 irq 4
Zie de hulppagina sio(4) voor meer details.
Indien de vlaggen niet waren ingesteld, dient UserConfig gedraaid te worden (op een andere console) of de kernel opnieuw gecompileerd te worden.
Maak boot.config
aan in de
hoofdmap van de partitie a
van de
opstartschijf.
Dit bestand instrueert de code op het opstartblok hoe het systeem opgestart dient te worden. Om de seriële console te activeren, zijn één of meer van de volgende opties nodig. Indien meerdere opties gewenst zijn, dienen ze allemaal op dezelfde regel te staan:
-h
Wisselt tussen de interne en de seriële
console. Indien bijvoorbeeld vanaf de interne
(video)console opgestart wordt, kan
-h
gebruikt worden om het
console-apparaat van de opstartlader en de kernel om
te leiden naar de seriële console. Indien vanaf
de seriële poort opgestart wordt, kan
-h
gebruikt worden om de
opstartlader en de kernel het videoscherm als console
te laten gebruiken.
-D
Wisselt tussen opstellingen met een enkele en een
dubbele console. In opstellingen met een enkele
console is de console òfwel de interne console
(videoscherm) òfwel de seriële poort,
afhankelijk van bovenstaande optie
-h
. In opstellingen met een dubbele
console worden zowel het videoscherm als de
seriële poort tegelijkertijd console, ongeacht
de toestand van de optie -h
. De
opstelling met een dubbele console heeft alleen
effect als het opstartblok draait. Zodra de
opstartlader het overneemt, wordt de console die met
de optie -h
gespecificeerd is de
enige console.
-P
Zorgt ervoor dat het opstartblok naar het
toetsenbord zoekt. Als er geen toetsenbord wordt
gevonden, worden de opties -D
en
-h
automatisch ingesteld.
Vanwege ruimtebeperkingen in de huidige versie
van het opstartblok, is de optie
-P
alleen in staat om uitgebreide
toetsenborden te detecteren. Toetsenborden met
minder dan 101 toetsen (en zonder de toetsen F11 en
F12) worden mogelijk niet gedetecteerd.
Toetsenborden op sommige laptops worden vanwege
deze beperking mogelijk niet correct gevonden.
Indien dit het geval is met een systeem, vermijd
dan de optie -P
. Helaas is er
geen mogelijkheid om dit probleem te
omzeilen.
Gebruik om de console automatisch te selecteren
òfwel de optie -P
òfwel de
optie -h
om de seriële console te
activeren.
De andere opties beschreven in boot(8) kunnen ook gebruikt worden.
De opties, behalve -P
, worden aan de
opstartlader (/boot/loader
doorgegeven. De opstartlader bepaalt of de interne
videopoort of de seriële poort de console wordt door
enkel naar de toestand van de optie -h
te
kijken. Dit betekent dat als de optie -D
,
maar niet de optie -h
in
/boot.config
gespecificeerd wordt, de
seriële poort alleen tijdens het opstartblok als
console gebruikt kan worden, de opstartlader gebruikt het
interne videoscherm als console.
Start de machine op.
Als FreeBSD gestart wordt, tonen de opstartblokken de
inhoud van /boot.config
op de
console. Bijvoorbeeld:
/boot.config: -P Keyboard: no
De tweede regel verschijnt alleen als
-P
in /boot.config
staat en aangegeven wordt of het toetsenbord aanwezig of
afwezig is. Deze berichten gaan of naar de seriële of
interne console of naar beide, afhankelijk van de optie in
/boot.config
.
Opties | Bericht gaat naar |
---|---|
geen | interne console |
-h | seriële console |
-D | seriële en interne consoles |
-Dh | seriële en interne consoles |
-P , toetsenbord aanwezig | interne console |
-P , toetsenbord afwezig | seriële console |
Na de bovenstaande berichten is er een korte pauze voordat de opstartblokken doorgaan met het laden van de opstartlader en voordat er verdere berichten op de console worden afgebeeld. Normaalgesproken hoeven de opstartblokken niet onderbroken te worden, maar het kan gedaan worden om er zeker van te zijn dat alles goed is ingesteld.
Om het opstartproces te onderbreken, kan op elke andere toets dan Enter gedrukt worden. De opstartblokken vragen dan om verdere actie. Er verschijnt iets als het volgende:
>> FreeBSD/i386 BOOT Default: 0:ad(0,a)/boot/loader boot:
Controleer of de bovenstaande boodschap naar de
seriële of interne console of beide gaat, naar gelang
de opties in /boot.config
. Indien de
boodschap op de juiste console verschijnt kan op
Enter gedrukt worden om het opstartproces
voort te zetten.
Als de seriële console gewenst is maar de prompt
niet op de seriële terminal verschijnt, is er iets mis
met de instellingen. Voer in de tussentijd
-h
in en druk op Enter of
Return (indien mogelijk) om aan het
opstartblok (en vervolgens de opstartlader en de kernel) te
vertellen dat de seriële poort console moet worden.
Controleer als het systeem draait wat er verkeerd
ging.
Nadat de opstartlader is geladen en het derde stadium van het opstartproces bereikt is, kan er nog steeds gewisseld worden tussen de interne console en de seriële console door de juiste omgevingsvariabelen in de opstartlader in te stellen. Zie Paragraaf 26.6.6, “De console vanuit de opstartlader veranderen”.
Hieronder volgt een samenvatting van de verschillende instellingen die in deze sectie en de uiteindelijk gekozen console beschreven zijn.
device sio0 at isa? port IO_COM1 flags 0x10 irq 4
Opties in /boot.config | Console tijdens de opstartblokken | Console tijdens de opstartlader | Console in kernel |
---|---|---|---|
niets | intern | intern | intern |
-h | serieel | serieel | serieel |
-D | serieel en intern | intern | intern |
-Dh | serieel en intern | serieel | serieel |
-P , toetsenbord aanwezig | intern | intern | intern |
-P , toetsenbord afwezig | serieel en intern | serieel | serieel |
device sio0 at isa? port IO_COM1 flags 0x30 irq 4
Opties in /boot.config | Console tijdens de opstartblokken | Console tijdens de opstartlader | Console in kernel |
---|---|---|---|
niets | intern | intern | serieel |
-h | serieel | serieel | serieel |
-D | serieel en intern | intern | serieel |
-Dh | serieel en intern | serieel | serieel |
-P , toetsenbord aanwezig | intern | intern | serieel |
-P , toetsenbord afwezig | serieel en intern | serieel | serieel |
Standaard zijn de instellingen van de seriële poort: 9600 baud, 8 bits, geen pariteit, en 1 stopbit. Indien het wenselijk is om de snelheid te veranderen, zijn de volgened opties beschikbaar:
Hercompileer de opstart blokken met
BOOT_COMCONSOLE_SPEED
ingesteld op de
nieuwe console snelheid. Zie Paragraaf 26.6.5.2, “Een andere seriële poort dan
sio0
voor de console
gebruiken”
voor gedetailleerde instructies over het bouwen en
installeren van nieuwe opstartblokken.
Als de seriële poort anders is gespecificeerd dan
met -h
bij het opstarten, of als de
seriële console die gebruikt wordt door de kernel
anders is dan die gebruikt wordt door de opstart blokken,
dan moet de volgende optie aan het kernel instellingen
bestand worden toegevoegd en moet de kernel opnieuw
gecompileerd worden:
options CONSPEED=19200
Gebruik de -S
opstartoptie van de
kernel. De optie -S
kan worden
toegevoegd aan het bestand
/boot.config
. Zie de handleiding
boot(8) voor een beschrijving over hoe opties kunnen
worden toegevoegd aan /boot.conf
, en
welke opties ondersteund worden.
Zet de comconsole_speed
optie in
het /boot/loader.conf
bestand.
Deze optie is ervan afhankelijk dat de
console
, boot_serial
en boot_multicons
ingesteld staan in
/boot/loader.conf
. Een voorbeeld
van hoe comconsole_speed
gebruikt kan
worden om de console snelheid aan te passen:
boot_multicons="YES" boot_serial="YES" console_speed="115200" console="comconsole,vidconsole"
Het gebruik van een andere poort dan
sio
vergt wat hercompileren. Indien
het gewenst is om een andere seriële poort te gebruiken,
hercompileer dan de opstartblokken, de opstartlader en de
kernel als volgt:
De broncode van de kernel moet beschikbaar zijn. Zie Hoofdstuk 24, FreeBSD updaten en upgraden;
Bewerk /etc/make.conf
en stel
BOOT_COMCONSOLE_PORT
in op het adres
van de te gebruiken poort (0x3F8, 0x2F8, 0x3E8 of 0x2E8).
Alleen sio0
tot en met
sio3
(COM1
tot en met
COM4
) zijn te gebruiken.
Seriële kaarten met meerdere poorten werken niet.
Interrupts instellen is niet nodig;
Maak een aangepast kernelinstellingenbestand aan en
voeg de juiste vlaggen toe voor de te gebruiken
seriële poort. Als bijvoorbeeld
sio1
(COM2
) de console moet
worden:
device sio1 at isa? port IO_COM2 flags 0x10 irq 3
Alternatief:
device sio1 at isa? port IO_COM2 flags 0x30 irq 3
Stel de consolevlaggen voor de andere seriële poorten niet in;
Hercompileer en installeer de opstartblokken en de opstartlader:
#
cd /sys/boot
#
make clean
#
make
#
make install
Herbouw en installeer de kernel;
Schrijf de opstartblokken met disklabel(8) naar de opstartschijf en start met de nieuwe kernel op.
Als het wenselijk is om vanuit de seriële console in de kerneldebugger te vallen - nuttig voor diagnose op afstand, maar ook gevaarlijk indien een onbedoelde BREAK op de seriële poort wordt gegenereerd! - compileer de kernel dan met de volgende opties:
options BREAK_TO_DEBUGGER options DDB
Hoewel dit niet nodig is, kan het gewenst zijn om een aanmeldprompt over de seriële lijn te krijgen, nu het mogelijk is om opstartboodschappen te zien en de kerneldebugsessie door de seriële console betreden kan worden. Hier volgt hoe het te doen.
Open het bestand /etc/ttys
met een
tekstverwerker en zoek de volgende regels:
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
tot en met
ttyu3
komen overeen met
COM1
tot en met
COM4
. Wijzig off
in on
voor de gewenste poort. Als de
snelheid van de seriële poort is gewijzigd, wijzig dan
std.9600
zodat het met de huidige
instelling overeenkomt, bijvoorbeeld
std.19200
.
Het kan ook wenselijk zijn om het terminaltype te
wijzigen van unknown
naar het eigenlijke
type van de seriële terminal.
Voer kill -HUP 1
uit na het wijzigen
van het bestand om de wijzigingen actief te maken.
De vorige secties beschreven hoe de seriële console ingesteld kan worden door het instellen van het opstartblok. Deze sectie toont dat het mogelijk is om de console te specificeren door het invoeren van enkele opdrachten en omgevingsvariabelen in de opstartlader. Aangezien de opstartlader tijdens het derde stadium van het opstartproces wordt geactiveerd, na het opstartblok, overheersen de instellingen in de opstartlader de instellingen in het opstartblok.
Het is mogelijk om de opstartlader en de kernel gebruik te
laten maken van de seriële console door slechts
één regel naar
/boot/loader.conf
te schrijven:
console="comconsole"
Dit heeft effect ongeacht de instellingen in het opstartblok die in de vorige sectie zijn besproken.
Het is verstandig om bovenstaande regel de eerste regel
van /boot/loader.conf
te maken om de
opstartboodschappen zo vroeg mogelijk op de seriële
console te kunnen zien.
Evenzo kan de interne videoconsole worden gespecificeerd met:
console="vidconsole"
Indien de omgevingsvariabele console
van
de opstartlader niet ingesteld wordt, gebruikt de
opstartlader, en vervolgens de kernel, de console die door de
optie -h
in het opstartblok wordt
aangegeven.
De console kan worden gespecificeerd in
/boot/looader.conf.local
of in
/boot/loader.conf
.
Zie loader.conf(5) voor meer informatie.
Momenteel heeft de opstartlader een optie die gelijk is
aan de optie -P
van het opstartblok en is
er geen voorziening om automatisch de interne console en de
seriële console te selecteren afhankelijk van de
aanwezigheid van een toetsenbord.
Compileer de opstartlader opnieuw om een andere
seriële poort dan sio
voor de
seriële console te gebruiken. Volg de procedure zoals
beschreven in Paragraaf 26.6.5.2, “Een andere seriële poort dan
sio0
voor de console
gebruiken”.
De doelstelling van dit stuk is beheerders in staat te stellen om toegewijde servers te installeren die geen grafische hardware of aangesloten toetsenborden nodig hebben. Hoewel de meeste systemen zonder toetsenbord opstarten, zijn er helaas aardig wat die niet zonder een grafische adapter opstarten. Machines met een AMI BIOS kunnen ingesteld worden om zonder grafische adapter op te starten door de instelling “graphics adapter” in de CMOS-instellingen te wijzigen in “Not installed”.
De meeste systemen ondersteunen deze optie echter niet en weigeren om zonder weergavehardware op te starten. Voor deze machines is het nodig om een of andere grafische kaart in een systeem te laten (zelfs al is het een aftandse monochrome kaart) hoewel het niet nodig is om een beeldscherm aan te sluiten. Ook kan geprobeerd worden om een AMI BIOS te installeren.
FreeBSD heeft een aantal manieren om de ene computer met de andere te verbinden. Om een netwerk of internet verbinding op te zetten door een inbelmodem, of om anderen toe te staan dit te doen door de machine heen vereist het gebruik van PPP en SLIP. Dit hoofdstuk beschrijft het opzetten van op modems gebaseerde diensten in meer detail.
Na het lezen van dit hoofdstuk weet u:
Hoe gebruikers PPP opgezet kan worden.
Hoe kernel-PPP opgezet kan worden (alleen voor FreeBSD 7.X).
Hoe PPPoE opgezet kan worden (PPP over Ethernet).
Hoe PPPoA opgezet kan worden (PPP over ATM).
Hoe een SLIP-server en cliënt opgezet kan worden en hoe dat geconfigureerd wordt (alleen voor FreeBSD 7.X).
Voordat dit hoofdstuk gelezen wordt, moet u:
Bekend zijn met basis netwerk terminologie.
De basis en doeleinden van een inbel verbinding en van PPP en/of SLIP.
U kunt zich afvragen wat het verschil is tussen gebruiker-PPP
en kernel-PPP. Het antwoord is simpel: gebruiker-PPP verwerkt
inkomend en uitgaande data in het gebruikersland in plaats van
in de kernel. Dit is duur in de zin van het kopiëren van de
data tussen de kernel en het gebruikersland, maar levert meer
mogelijkheden voor de PPP implementatie. Gebruikers PPP gebruikt
het tun
apparaat om te communiceren met
de buitenwereld. Kernel-PPP maakt gebruik van het
ppp
apparaat.
Voor de rest van dit hoofdstuk, zal gebruiker-PPP gebruikt
worden als ppp tenzij er onderscheid
gemaakt moet worden met andere PPP software zoals
pppd. Tenzij anders vermeld moeten
alle uitgelegde commando's in dit hoofdstuk gestart worden als
de root
gebruiker.
Dit document gaat er vanuit dat u de volgende punten beschikbaar heeft:
Een account bij een Internet Service Provider (ISP) waarmee verbinding gemaakt wordt door middel van PPP.
Een modem of een ander apparaat verbonden met uw PC en correct geconfigureerd zodat u verbinding kan maken met uw ISP.
De inbelnummers van uw ISP.
Uw loginnaam en wachtwoord (danwel een combinatie van een standaard UNIX®-stijl login en wachtwoord of een PAP of CHAP login en wachtwoordcombinatie).
Het IP-adres van één of meerdere
naamservers. Normaal gesproken krijgt u twee IP
adressen van uw ISP om te gebruiken. Als u er echter geen
één gekregen heeft, kunt u het commando
enable dns
gebruiken in
ppp.conf
en
ppp zal de naamservers voor
u configureren. Deze optie is afhankelijk van de PPP
implementatie van de ISP, welke DNS onderhandeling
moet ondersteunen.
De volgende informatie kan aangeleverd worden door uw ISP maar is niet echt noodzakelijk:
Het IP-adres van de router van uw ISP. De router is de machine waarmee u verbinding maakt en welke ingesteld wordt als de standaard route. Als u deze informatie niet heeft, kunt u een willekeurig adres verzinnen waarna de PPP server van de ISP het juiste adres vertelt zodra u verbinding maakt.
Dit IP-adres wordt door ppp
HISADDR
genoemd.
Het netwerkmasker wat gebruikt moet worden. Als uw ISP
deze niet heeft opgegeven, kan 255.255.255.255
gebruikt
worden.
Als uw ISP u een vast IP-adres en hostnaam levert, kunt u deze invoeren. In andere gevallen bepaalt de andere kant welk adres er uitgegeven wordt.
Als u niet in bezit bent van de vereiste informatie, moet u contact opnemen met uw ISP.
Door de rest van dit hoofdstuk worden in veel van de voorbeelden configuratie bestanden genummerd per regel. Deze nummers dienen alleen als hulp voor de presentatie en discussie en zijn verder niet bedoeld om daadwerkelijk geïmplementeerd te worden. Een juiste inspringing met tabs en spaties zijn daarbij ook belangrijk.
Zowel ppp
als pppd
(de implementatie van PPP op kernel niveau) gebruiken de
configuratie bestanden die zich in de map /etc/ppp
bevinden. Voorbeelden
configuraties voor gebruiker-PPP kunnen gevonden worden in
/usr/share/examples/ppp/
.
Het configureren van ppp
vereist
dat u een aantal bestanden bewerkt, afhankelijk van uw
eisen. Wat u moet invoeren is deels afhankelijk van wat
uw ISP u aanbied met oog op statische IP-adressen (lees u
krijgt een statisch adres welke u altijd gebruikt) of
dynamisch (lees: uw IP-adres veranderd elke keer als
u verbinding maakt met uw ISP).
U moet het /etc/ppp/ppp.conf
bewerken. Het zou dan als volgend eruit moeten zien:
Regels die eindigen met een :
starten in de eerste kolom (het begin van de regel)
— alle andere regels moeten inspringen zoals
getoond door middel van spaties of tabs.
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 ifaddrx.x.x.x
y.y.y.y
255.255.255.255 0.0.0.0 18 add default HISADDR
Deze regel identificeert de standaard regel. Commando's in deze regel worden automatisch gestart zodra ppp gestart wordt.
Zet de log paramaters aan. Zodra de configuratie naar verwachting werkt, moet deze regel aangepast worden naar:
set log phase tun
om te voorkomen dat er extreem grote log files gemaakt worden.
Vertelt PPP hoe het zich moet identificeren aan de router aan de andere kant, als deze problemen heeft met het onderhandelen en het opzetten van de link en het leveren van informatie die de beheerders van de andere kant nuttig kunnen vinden om zulke problemen te onderzoeken.
Identificeert het apparaat waarmee het modem
verbonden is. COM1
is
/dev/cuau0
en
COM2
is
/dev/cuau1
.
Stelt de snelheid in waarmee verbinding gemaakt wordt. Als 115200 niet werkt (wat wel zou moeten kunnen met elk nieuw modem), probeert u dan de instelling van 38400.
De inbelregel. Gebruiker-PPP gebruikt een “expect-send” syntax wat vergelijkbaar is met het chat(8) programma. Bekijk de handleiding voor meer informatie over de mogelijkheden van deze taal.
Let op dat dit commando doorgaat op de volgende
regel zodat deze leesbaar blijft. Elk commando in
ppp.conf
kan dit doen als het
laatste karakter op een regel, het \ karakter is.
Stelt de idle timeout in voor een link. 180 seconden is standaard, dus deze regel is puur cosmetisch.
Vertelt PPP om de andere kant te vragen om een bevestiging van de lokale naamserver instellingen. Als u een lokale naamserver draait moet deze regel uitgecommentarieërd of verwijderd worden.
Een blanco regel voor de leesbaarheid. Blanco regels worden door PPP genegeerd.
Identificeert een sectie voor de provider die
“provider” genoemd wordt. Dit kan
gewijzigd worden in de naam van uw provider zodat er
later gebruik gemaakt van worden bij de optie
load
om een verbinding op te zetten.provider
Stelt het telefoonnummer in voor deze provider.
Meerdere telefoonnummers kunnen gespecificeerd worden
door gebruik te maken van de dubbele punt
(:
) of het pipe karakter
(|
) als scheidingsteken. Het
verschil tussen de twee scheidingstekens wordt
beschreven in de ppp(8) handleiding.
Om samen te vatten, als u wilt rouleren tussen de
nummers gebruikt u dan een dubbelepunt. Als u altijd
het eerste nummer als eerste wilt draaien en alleen de
andere nummers wilt draaien als het eerste nummer
niet werkt, gebruik dan het pipe karakter. Quote altijd
de hele set van telefoonnummers zoals getoond.
U moet het telefoonnummer citeren met dubbele quotes
("
) als er enige intentie is in het
gebruik van spaties in het telefoonummer. Dit kan een
simpele, maar subtiele fout creeëren.
Identificeert de gebruikersnaam en het
wachtwoord. Wanneer gebruik gemaakt wordt van een
UNIX® stijl login worden deze waarden verwezen
door het set login
commando door
gebruik te maken van de \U en \P variabelen.
Wanneer er verbinding gemaakt wordt door PPP en CHAP
worden deze waardes gebruikt tijdens het
authenticeren.
Als u gebruik maakt van PPP en CHAP, zal er geen login op dit moment zijn, en moet deze regel uitgecommentarieërd of verwijderd worden. Zie het PAP en CHAP authenticatie hoofdstuk voor meer details.
De login regel is hetzelfde als de chat-achtige syntax van de inbelregel. In dit voorbeeld werkt de reegl voor een dienst wiens login sessie als volgt eruit ziet:
J. Random Provider login:foo
password:bar
protocol: ppp
U moet dit script aanpassen om aan uw behoeften te voldoen. Wanneer u dit script voor het eerst schrijft, moet u ervoor zorgen dat u de “chat” log optie heeft aangezet zodat u kunt bepalen of de communicatie gaat zoals verwacht.
Selt de standaard idle timeout in (in seconden)
voor de connectie. Hier wordt de connectie
automatisch afgesloten na 300 seconden van
inactiviteit. Als u nooit een timeout wilt krijgen,
kunt u de waarde op nul zetten of gebruik maken van
de optie -ddial
op de commando
regel.
Stelt het interface adres in. De regel
x.x.x.x
moet vervangen
worden door het IP-adres dat uw provider aan u heeft
uitgegeven. De regel
y.y.y.y
moet vervangen
worden door het IP-adres dat uw provider aan u
heeft gegeven voor de router (de machine waarmee
u verbinding maakt). Als uw ISP u geen router
adres heeft gegeven, gebruik dan 10.0.0.2/0
. Als u gebruik
moet maken van een “gegokt”, zorg ervoor
dat er een regel staat in
/etc/ppp/ppp.linkup
zoals
beschreven in de instructies voor PPP en dynamische IP
adressen. Als deze regel weggelaten wordt
kan ppp
niet in
-auto
mode starten.
Voegt een standaard routering toe naar uw providers
router. Het speciale HISADDR
woord, wordt vervangen door het router adres zoals
gespecificeerd op regel 17. Het is belangrijk dat
deze regel na regel 17 komt, anders is
HISADDR
nog niet
geïnitialiseerd.
Als u ppp niet in -auto
mode wilt draaien, moet deze regel verplaatst
worden naar het ppp.linkup
bestand.
Het is niet nodig om een regel toe te voegen aan
ppp.linkup
wanneer u een statisch
IP-adres krijgt en ppp met de -auto
mode
gestart is omdat uw routerings tabel al correcte regels
heeft voordat u verbinding maakt. U kunt echter een regel
aanmaken om programma's te starten nadat de verbinding
opgezet is. Dit wordt later uitgelegd met een voorbeeld
over sendmail.
Voorbeeld van configuratiebestanden kunnen gevonden
worden in de map usr/share/examples/ppp
.
Als uw provider geen statisch IP-adres aanlevert kan
ppp
geconfigureerd worden om het lokale
en het remote adres te onderhandelen. Dit wordt gedaan door
het “gokken” van een IP-adres en PPP toestaan
dit adres te corrigeren door gebruik te maken van het
IP Configuration Protocol (IPCP) nadat er een verbinding
opgezet is. De ppp.conf
configuratie
is verders hetzelfde als voor de
PPP en statische IP
adressen, met de volgende wijziging:
17 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.255 0.0.0.0
Nogmaals, het regelnummer hoeft niet te worden toegevoegd, deze dient puur ter referentie. Indentatie van minstens één spatie is vereist.
Het nummer achter het /
karakter
is het aantal netwerk master bits van het adres die ppp
eist. Het is mogelijk dat u IP-adressen wilt gebruiken
die meer van toepassing zijn op uw situatie, maar
bovenstaand voorbeeld zal altijd werken.
Het laatste argument (0.0.0.0
)
vertelt PPP om te onderhandelen met het adres 0.0.0.0
in plaats van met
10.0.0.1
en is benodigd
voor sommige ISPs. Gebruik 0.0.0.0
niet als eerste argument voor het commando
set ifaddr
, omdat dit ervoor zorgt
dat PPP geen initiële route kan opzetten in
-auto
mode.
Als u niet draait in -auto
mode, moet
u een nieuwe regel toevoegen aan
/etc/ppp/ppp.linkup
.
ppp.linkup
wordt uitgevoerd nadat een
connectie is opgezet. Op dit moment krijgt
ppp
het interface adres en is het mogelijk
om regels toe te voegen aan de route tabel:
1 provider: 2 add default HISADDR
Bij het tot stand brengen van een verbinding
zal ppp
kijken voor een
corresponderende regel in
ppp.linkup
volgens de volgende
criteria: Als eerste, probeert het hetzelfde label te
vinden zoals gebruikt in ppp.conf
.
Als dat mislukt, zoek dan een regel waarin het IP-adres
van onze router in voorkomt. Deze regel bevat een IP
stijl van 4 octetten. Als nu nog steeds geen
corresponderende regel gevonden is wordt er gezocht
naar de HISADDR
regel.
Deze regel verteld ppp
om
een standaard routering toe te voegen die wijst
richting HISADDR
.
HISADDR
wordt vervangen door
het IP-adres van de router zoals onderhandeld door
IPCP.
Zie de pmdemand
regel in de bestanden
/usr/share/examples/ppp/ppp.conf.sample
en
/usr/share/examples/ppp/ppp.linkup.sample
voor een gedetailleerd voorbeeld.
Wanneer ppp geconfigureerd
is om inkomende gesprekken te ontvangen op een machine die
verbonden is met een LAN, moet u beslissen of er pakketten
worden doorgestuurd naar het LAN. Als u dat doet, moet
u de andere kant een IP-adres geven uit het subnet van uw
LAN, en zult u gebruik moeten maken van het command
enable proxy
in het
/etc/ppp/ppp.conf
bestand. U zult ook
moeten controleren of het /etc/rc.conf
bestand het volgende bevat:
gateway_enable="YES"
Het configureren van FreeBSD voor inbel diensten levert een goede beschrijving van het inschakelen van inbeldiensten door gebruik te maken van getty(8).
Een alternatief voor getty
is mgetty (van de port
comms/mgetty+sendfax),
een betere versie van getty
ontworpen
voor onder andere inbellijnen.
De voordelen van het gebruik van
mgetty
is dat het actief
communiceert met modems, wat betekent
dat als de port uitgeschakeld is in
/etc/ttys
, het modem de telefoon niet
zal beantwoorden.
Latere versies van mgetty
(vanaf
0.99beta en later) ondersteunen ook het automatisch
detecteren van PPP stromen waardoor cliënten
zonder extra scripting toegang kunnen krijgen tot uw
server.
Raadpleeg naar Mgetty en
AutoPPP voor meer informatie over
mgetty
.
Het ppp
commando moet normaal
gesproken gestart worden door de root
gebruiker. Als u echter wilt toestaan dat
ppp
in server mode gestart wordt door
een normale gebruiker door het uitvoeren van
ppp
, zoals beschreven hieronder, moet
deze gebruiker permissie krijgen om
ppp
te starten. Dit kan gedaam worden
door de gebruiker toe te voegen aan de
network
groep van het
/etc/group
bestand.
U moet de gebruiker ook toegang geven tot
één of meerdere secties van het configuratie
bestand door gebruik te maken van het allow
commando:
allow users fred mary
Als dit commando wordt gebruikt in de
default
sectie, geeft ppp alle
opgegeevn gebruikers toegang tot alle opties.
Creeër een bestand genaamd
/etc/ppp/ppp-shell
welke de volgende
gegevens bevat:
#!/bin/sh IDENT=`echo $0 | sed -e 's/^.*-\(.*\)$/\1/'` CALLEDAS="$IDENT" TTY=`tty` if [ x$IDENT = xdialup ]; then IDENT=`basename $TTY` fi echo "PPP voor $CALLEDAS op $TTY" echo "Starten van PPP voor $IDENT" exec /usr/sbin/ppp -direct $IDENT
Dit script moet uitvoerbaar zijn. Ook moet er een
symbolische link gemaakt worden naar dit script met de naam
ppp-dialup
door gebruik te maken van
de volgende commando's:
#
ln -s ppp-shell /etc/ppp/ppp-dialup
U moet dit script gebruiken als de
shell voor al uw inbel gebruikers.
Dit is een voorbeeld uit /etc/passwd
voor een PPP inbelgebruiker met de gebruikersnaam
pchilds
(Let op, u mag niet direct het
wachtwoord bestand bewerken, gebruik daarom het programma
vipw(8)).
pchilds:*:1011:300:Peter Childs PPP:/home/ppp:/etc/ppp/ppp-dialup
Creeër vervolgens een map /home/ppp
die door iedereen
gelezen en beschreven kan worden en zet daar de volgende 0
byte grote bestanden in:
-r--r--r-- 1 root wheel 0 May 27 02:23 .hushlogin -r--r--r-- 1 root wheel 0 May 27 02:22 .rhosts
welke voorkomen dat /etc/motd
getoond wordt.
Creeër het ppp-shell
bestand
zoals hierboven, en voor elk account met een statisch
toegewezen IP-adres creeërt u een symbolische link naar
ppp-shell
.
Als u bijvoorbeeld drie inbel gebruikers hebt genaamd
fred
, sam
en
mary
waar u een /24 CIDR netwerk voor
routeert, moet u het volgende typen:
#
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
Elk van deze inbelgebruikers moet de shell ingesteld
hebben op de symbolische link die hierboven is gecreeërd
(bijvoorbeeld mary
's shell moet zijn
/etc/ppp/ppp-mary
).
Het /etc/ppp/ppp.conf
bestand moet
iets zoals hieronder bevatten:
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
Het inspringen is belangrijk.
De default:
sectie wordt altijd
geladen. Voor elke inbellijn die ingeschakeld is in
/etc/ttys
moet een soortgelijke
regel worden gemaakt als die voor ttyu0:
hierboven. Elke regel moet een uniek IP-adres krijgen van
uw pool van IP-adressen voor dynamische gebruikers.
Samen met de inhoud van het voorbeeld
/usr/share/examples/ppp/ppp.conf
bestand hierboven moet een sectie aangemaakt worden voor
elke van de statisch ingestelde inbelgebruikers. We
gaan door met ons fred
,
sam
en mary
voorbeeld.
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
Het /etc/ppp/ppp.linkup
bestand
moet ook informatie over routeringen bevatten voor elke
statische IP-gebruiker waar nodig. De regel hieronder
voegt een routering toe voor het
203.14.201.0/24
netwerk
via de ppp link van de gebruiker.
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
Standaard staat de optie AUTO_PPP
in de port
comms/mgetty+sendfax welke
mgetty
in staat stelt
om de LCP fase van PPP connecties te detecteren en aan de
hand daarvan automatisch een ppp shell te creeëren.
Echter, de standaard login procedure vindt in deze mode
niet plaats, waardoor het nodig is om de gebruikers te
authenticeren door middel van PAP of CHAP.
De volgende sectie gaat er vanuit dat u succesvol de port comms/mgetty+sendfax op uw systeem heeft gecompileerd en geïnstalleerd.
Zorg ervoor dat uw
/usr/local/etc/mgetty+sendfax/login.config
bestand de volgende inhoud heeft:
/AutoPPP/ - - /etc/ppp/ppp-pap-dialup
Dit verteld mgetty
om het
ppp-pap-dialup
script te starten
wanneer er een PPP connectie gedetecteerd wordt.
Creeër een bestand genaamd
/etc/ppp/ppp-pap-dialup
met de volgende
inhoud (het bestand moet uitvoerbaar zijn):
#!/bin/sh exec /usr/sbin/ppp -direct pap$IDENT
Voor elke inbelregel die ingeschakeld is in
/etc/ttys
, creeër een
corresponderende regel in
/etc/ppp/ppp.conf
. Dit gaat goed
samen met de definities die hierboven gedaan zijn.
pap: enable pap set ifaddr 203.14.100.1 203.14.100.20-203.14.100.40 enable proxy
Elke gebruiker die op deze manier inlogt moet een
gebruikersnaam en wachtwoord hebben in het
/etc/ppp/ppp.secret
bestand of de
volgende optie moet worden toegevoegd om gebruikers te
authenticeren via PAP vanuit het
/etc/passwd
bestand.
enable passwdauth
Als u een aantal gebruikers een statisch IP-adres wilt
geven, kan dat gespecificeerd worden als het derde argument
in /etc/ppp/ppp.secret
. Zie
/usr/share/examples/ppp/ppp.secret.sample
voor een voorbeeld.
Het is mogelijk om PPP dusdanig te configuren dat deze DNS en NetBIOS naamserver adressen meegeeft.
Om deze extensies in te schakelen met PPP versie 1.x
kunnen de volgende regels toegevoegd worden aan de relevante
sectie in /etc/ppp/ppp.conf
:
enable msext set ns 203.14.100.1 203.14.100.2 set nbns 203.14.100.5
en voor PPP versie 2 en hoger:
accept dns set dns 203.14.100.1 203.14.100.2 set nbns 203.14.100.5
Dit verteld de cliënt het primaire en secundaire naamserver adres, en geeft een NetBIOS naamserver adres.
In versie 2 en hoger zal PPP gebruik maken van de
instellingen in /etc/resolv.conf
als de regel set dns
niet wordt
gevonden.
Sommige providers stellen hun systemen dusdanig in dat
het authenticatie gedeelte van uw verbinding wordt
afgehandeld door het PAP of CHAP authenticatie mechanisme.
Als dit het geval is zal uw provider u niet voorzien van een
login:
prompt wanneer u verbinding maakt
maar zal deze meteen gaan communiceren over het PPP
protocol.
PAP is minder veilig dan CHAP, maar beveiliging is meestal geen probleem omdat wachtwoorden, ook al worden deze in platte tekst verstuurd met PAP, alleen worden verstuurd via een seriële lijn. Hier is maar weinig ruimte voor crackers om stiekem mee te luisteren.
Terug verwijzende naar de PPP en statische IP-adressen of PPP en dynamische IP-adressen secties moeten de volgende aanpassingen gedaan worden:
13 set authnameMijngebruikersnaam
14 set authkeyMijnwachtwoord
15 set login
Deze regel geeft uw PPP/CHAP gebruikersnaam aan.
U moet de juiste waardes invullen voor
Mijngebruikersnaam
.
Deze regel geeft uw PPP/CHAP wachtwoord aan.
U moet de juiste waarde invullen voor
Mijnwachtwoord
. Misschien
wilt u een extra regel toevoegen als:
16 accept PAP
of
16 accept CHAP
om duidelijk te maken op welke manier u wilt authenticeren, standaard worden zowel PAP als CHAP geaccepteerd.
Uw ISP zal normaal gesprokken niet eisen dat u op de server aanlogt als u gebruik maakt van PAP of CHAP. Daarom moet u de “set login” regel uitschakelen.
Het is mogelijk om tegen met het ppp
programma te communiceren terwijl deze in gebruik is op de
achtergrond, maar dat kan alleen als er een geschikte
diagnostische poort ingesteld is. Om dit te kunnen doen
moet de volgende regel worden toegevoegd aan de
configuratie:
set server /var/run/ppp-tun%d
DiagnosticPassword 0177
Dit vertelt PPP om te luisteren naar het gespecificeerde
UNIX® domein socket, waarbij de cliënten gevraagd
worden om het opgegeven wachtwoord voordat toegang
verleend kan worden. Het %d
in de
naam wordt vervangen door het tun
apparaat dat gebruikt wordt voor de verbinding.
Zodra een socket ingesteld is kan het pppctl(8) programma gebruikt worden in scripts die het draaiende programma willen bewerken.
PPP heeft de mogelijkheid om interne NAT te gebruiken zonder
dat de kernel hiervoor iets hoeft te doen. Deze functionaliteit
kan worden ingeschakeld door de volgende regel in
/etc/ppp/ppp.conf
:
nat enable yes
Ook kan PPP NAT ingeschakeld worden door de optie
-nat
. Er is ook een
/etc/rc.conf
optie genaamd
ppp_nat
welke standaard ingeschakeld
is.
Als u gebruik wilt maken van deze optie, kunt u de
volgende /etc/ppp/ppp.conf
opties ook
nuttig vinden om binnenkomende connecties door te sturen:
nat port tcp 10.0.0.2:ftp ftp nat port tcp 10.0.0.2:http http
of als u niets vertrouwd vanaf buitenaf:
nat deny_incoming yes
U heeft nu ppp
geconfigurerd, maar er
moeten nog een aantal dingen gedaan worden voordat deze klaar
is om te kunnen werken. Hiervoor moeten een aantal
aanpassingen gedaan worden in het bestand
/etc/rc.conf
.
Van boven naar beneden kijkende zorgen we er als eerste
voor dat de hostname=
regel ingesteld
is met bijvoorbeeld:
hostname="foo.example.com"
Als uw provider u een statisch adres en een naam heeft gegeven is het waarschijnlijk handig dat u deze naam gebruikt als uw hostnaam.
Zoek naar de network_interfaces
variabele. Als u uw systeem wilt configuren om in te bellen
bij uw provider wanneer nodig, zorg er dan voor dat het
tun0
apparaat is toegevoegd aan deze
lijst. Haal deze anders weg.
network_interfaces="lo0 tun0" ifconfig_tun0=
De ifconfig_tun0
variabele moet
leeg zijn, en een bestand genaamd
/etc/start_if.tun0
moet aangemaakt
worden met de volgende inhoud:
ppp -auto mysystem
Dit script wordt uitgevoerd tijdens de netwerk
configuratie, waarbij uw ppp daemon wordt gestart in
automatische mode. Als u een LAN heeft waarvoor deze
machine een router is wilt u wellicht ook de
-alias
meegeven. Bekijk de handleiding
voor verdere details.
Zorg ervoor dat het router programma is ingesteld op
NO
door middel van de volgende regel in
uw /etc/rc.conf
bestand:
router_enable="NO"
Het is belangrijk dat de routed
daemon
niet gestart wordt, omdat routed
de neiging
heeft om de standaard routeringtabel regels die gemaakt
worden door ppp
te verwijderen.
Het is waarschijnlijk een goed idee om te zorgen dat de
sendmail_flags
regel de -q
optie niet wordt meegenomen, anders zal
sendmail
periodiek een zoek actie
verrichten op het netwerk, wat ervoor zorgt dat uw machine
gaat uitbellen. U kunt het volgende instellen:
sendmail_flags="-bd"
Het nadeel hiervan is dat u sendmail
moet forceren om de mailqueue periodiek te bekijken zodra
de ppp link op is door het typen van:
#
/usr/sbin/sendmail -q
U wilt wellicht gebruik maken van het
!bg
commando in
ppp.linkup
om dit automatisch te
doen:
1 provider: 2 delete ALL 3 add 0 0 HISADDR 4 !bg sendmail -bd -q30m
Als u dit niet wilt doen, is het mogelijk om een “dfiler” in te stellen welke SMTP verkeer blokkeert. Raadpleeg naar de voorbeeld bestanden voor verdere details.
Alles wat nu nog nodig is, is het herstarten van de machine. Na het herstarten kunt het volgende typen:
#
ppp
en daarna dial provider
om de PPP
sessie te starten, of u indien u dat wilt kan
ppp
automatisch sessies opzetten wanneer
er uitgaand verkeer is (en wanneer u geen
start_if.tun0
script heeft aangemaakt),
typt u:
#
ppp -auto provider
Om samen te vatten zijn de volgende stappen benodigd om PPP voor de eerste keer in te stellen:
Aan de cliënt zijde:
Zorg ervoor dat het tun
apparaat is ingeschakeld in uw kernel.
Zorg ervoor dat het apparaatbestand tunN
beschikbaar is in de map /dev
.
Creeër een regel in
/etc/ppp/ppp.conf
. Het
pmdemand
voorbeeld zou moeten
volstaand voor de meeste providers.
Als u dynamische IP-adressen heeft, creeër een
regel in /etc/ppp/ppp.linkup
.
Update uw /etc/rc.conf
bestand.
Creeër een start_if.tun0
script als u op verzoek wilt inbellen.
Aan de server zijde:
Zorg ervoor dat het tun
apparaat is ingeschakeld in uw kernel.
Zorg ervoor dat het apparaatbestand
tunN
beschikbaar is in de map /dev
.
Creeër een regel in
/etc/passwd
(door gebruik te maken
van het vipw(8) programma).
Creeër een profiel in deze gebruikers home
directory die
ppp -direct direct-server
start of
iets in die trant.
Creeër een regel in
/etc/ppp/ppp.conf
. Het
direct-server
voorbeeld zou moeten
volstaan.
Creeër een regel in
/etc/ppp/ppp.linkup
.
Update uw /etc/rc.conf
bestand.
Deze sectie geldt en is alleen geldig voor FreeBSD 7.X.
Voordat u begint met het opzetten van PPP op uw machine,
zorg ervoor dat het pppd
commando zich
bevindt in de map /usr/sbin
en dat de map /etc/ppp
bestaat.
pppd
kan in twee verschillende modes
werken:
In beide gevallen moet u een bestand met opties instellen
(/etc/ppp/options
of
~/.ppprc
als er meer dan één
gebruiker is op uw machine die gebruik maakt van PPP).
U heeft ook enige modem/seriële software nodig (comms/kermit wordt aanbevolen), zodat u de andere kant kunt bellen en een verbinding kunt opzetten.
De volgende /etc/ppp/options
kan
gebruikt worden om met een Cisco terminal server PPP lijn
verbinding te maken.
crtscts # Schakel hardware flow controle in modem # modem controle lijn noipdefault # De PPP-server aan de andere kant moet uw IP-adres # opgeven, als de machine aan de andere kant uw IP # adres niet meegeeft tijdens de IPCP onderhandeling # moet deze optie worden verwijderd passive # Wacht op LCP pakketten domain ppp.foo.com # Vul uw domein naam hier in :remote_ip
# Vul het IP-adres van de PPP # server in deze wordt gebruikt om pakketten te # routeren via de PPP link. Als u de noipdefault optie # niet heeft aangegeven verander dan deze regel in #local_ip
:remote_ip
defaultroute # Vul dit in als u wilt dat de PPP server de standaard # router wordt
Om verbinding te maken:
Bel naar de machine aan de andere kant door middel van Kermit (of een ander modem programma), en vul uw gebruikersnaam en wachtwoord in (of wat er ook nodig is om de verbinding op te brengen met de machine aan de andere kant).
Stop Kermit (zonder de lijn op te hangen).
Type het volgende:
#
/usr/sbin/pppd /dev/tty01 19200
Wees er zeker van dat de juiste snelheid en het juiste apparaat wordt aangesproken.
Uw computer is nu verbonden met PPP. Als de connectie
faalt, kan de debug
optie worden meegegeven
in het /etc/ppp/options
bestand waarna op
de console berichten kunnen worden geraadpleegd om het probleem
te achterhalen.
Het volgende /etc/ppp/pppup
script
zal alle drie de stappen automatisch doen:
#!/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
is een
Kermit script dat belt en alle
benodigde authorisaties doet op de machine aan de andere
kant (een voorbeeld van zo'n script is bijgevoegd aan het
einde van dit document).
Gebruik het volgende /etc/ppp/pppdown
script om de PPP lijn af te breken:
#!/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
Controleer of pppd
nog steeds draait door
het uitvoeren van /usr/etc/ppp/ppptest
,
welke er als volgend uitziet:
#!/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
Om het modem op te hangen, voer het
/etc/ppp/kermit.hup
script uit
welke het volgende bevat:
set line /dev/tty01 ; vul hier uw modem in 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 is een alternatieve methode welke gebruik maakt
van chat
in plaats van
kermit
:
De volgende twee regels zijn voldoende om een
pppd
verbinding op te zetten.
/etc/ppp/options
:
/dev/cuad1 115200 crtscts # Schakel hardware flow controle in modem # modem controle lijn connect "/usr/bin/chat -f /etc/ppp/login.chat.script" noipdefault # De PPP server aan de andere kant moet uw IP-adres # opgeven, als de machine aan de andere kant uw IP # adres niet meegeeft tijdens de IPCP onderhandeling # moet deze optie worden verwijderd passive # Wacht op LCP pakketten domainyour.domain
# Vul uw domein naam hier in :remote_ip
# Vul het IP-adres van de PPP # server in deze wordt gebruikt om pakketten te # routeren via de PPP link. Als u de noipdefault optie # niet heeft aangegeven verander dan deze regel in #local_ip
:remote_ip
defaultroute # Vul dit in als u wilt dat de PPP server de standaard # router wordt
/etc/ppp/login.chat.script
:
Het volgende moet op één regel.
ABORT BUSY ABORT 'NO CARRIER' "" AT OK ATDTtelefoon.nummer
CONNECT "" TIMEOUT 10 ogin:-\\r-ogin:login-id
TIMEOUT 5 sword:password
Zodra deze zijn geïnstalleerd en correct aangepast is
het enige dat gedaan moet worden, het starten van
pppd
zoals volgt:
#
pppd
/etc/ppp/options
moet ongeveer het
volgende bevatten:
crtscts # Hardware flow controle netmask 255.255.255.0 # netmask (niet vereist) 192.114.208.20:192.114.208.165 # IP's van lokale en niet lokale hosten # het lokale IP moet anders zijn dan # degeen die is toegewezen aan de # Ethernet (of andere) interface op uw # machine. remote IP is het IP-adres # dat wordt toegewezen aan de machine # aan de andere kant domain ppp.foo.com # uw domein passive # Wacht op LCP modem # modem lijn
Het volgende /etc/ppp/pppserv
script
zal pppd vertellen zich te gedragen
als server:
#!/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
Gebruik dit /etc/ppp/pppservdown
script
om de server te stoppen:
#!/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
Het volgende Kermit script
(/etc/ppp/kermit.ans
) zal het automatisch
beantwoorden van uw modem in of uitschakelen. Het moet eruit
zien als volgend:
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 ; Verander dit in out ATS0=0\13 als u automatisch ; beantwoorden wilt uitschakelen inp 5 OK echo \13 exit
Een script genaamd /etc/ppp/kermit.dial
wordt gebruikt voor het bellen en authenticeren van de machine
aan de andere kant. U moet deze aanpassen aan uw wensen. Vul in
dit script uw inlognaam en wachtwoord in, u moet ook het input
statement aanpassen afhankelijk hoe uw modem antwoordt en de
communicatie van de machine aan de andere kant.
; ; Vul de seriële lijn in welke verbonden is met het modem ; set line /dev/tty01 ; ; Stel het modem snelheid in: ; set speed 19200 set file type binary ; volledige 8 bit bestands 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 ; Daarna stel SET CARRIER in indien nodig set dial display on ; Stel daarna SET DIAL in indien nodig set input echo on set input timeout proceed set input case ignore def \%x 0 ; login prompt teller goto slhup :slcmd ; stel het modem in op commandomodus echo Stel het modem in op commandomodus. clear ; Verwijder ongelezen karakters uit de input buffer pause 1 output +++ ; hayes escape sequence input 1 OK\13\10 ; wacht op OK if success goto slhup output \13 pause 1 output at\13 input 1 OK\13\10 if fail goto slcmd ; Als het modem niet antwoordt met OK, probeer het opnieuw :slhup ; hang de telefoon op clear ; Verwijder ongelezen karakters uit de input buffer pause 1 echo De telefoon wordt opgehangen. output ath0\13 ; hayes command voo on hook input 2 OK\13\10 if fail goto slcmd ; Als er geen OK antwoord is, stel het modem in op commandomodus :sldial ; Draai het nummer pause 1 echo Bellen. output atdt9,550311\13\10 ; put phone number here assign \%x 0 ; zero the time counter :look clear ; Verwijder ongelezen karakters uit de input buffer increment \%x ; Tel de seconden 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 ; Stel de tijd teller in op nul pause 1 echo Zoeken naar de login prompt :slloop increment \%x ; Tel de seconden clear ; Verwijder ongelezen karakters uit de input buffer output \13 ; ; Stel hier de verwachte login prompt in: ; 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 ; Probeer 10 x om een login prompt te krijgen else goto slhup ; Hang op en probeer het nogmaals als er 10 mislukte pogingen zijn :sluid ; ; Vul hier uw gebruikersnaam in: ; output ppp-login\13 input 1 {Password: } ; ; Vul hier uw wachtwoord in: ; output ppp-password\13 input 1 {Entering SLIP mode.} echo quit :slnodial echo \7Er is geen kiestoon, controleer de telefoon lijn!\7 exit 1 ; local variables: ; mode: csh ; comment-start: "; " ; comment-start-skip: "; " ; end:
Deze sectie behandelt een paar problemen die kunnen
optreden wanneer PPP wordt gebruikt over een modemverbinding.
Bijvoorbeeld, misschien moet u exact weten wat de prompt is
die het systeem waarop u inbelt presenteert. Sommige
providers presenteren de ssword
prompt terwijl anderen password
tonen
als het ppp
script niet goed geschreven is
en de inlogin poging faalt. De meest standaard manier om
ppp
verbindingen te onderzoeken op problemen
is door handmatig een connectie op te zetten. De volgende
informatie helpt u om stap voor stap een handmatige connectie op
te zetten.
Als er een eigen kernel gebruikt wordt, vergeet dan niet om de volgende regel in uw kernelinstellingenbestand op te nemen:
device uart
Het apparaat uart
is al in de kernel
GENERIC
opgenomen, dus zijn er in dit geval
geen extra stappen nodig. Controleer de resultaten van het
commando dmesg
voor het modemapparaat door
middel van:
#
dmesg | grep uart
U zou enige informatie moeten ontvangen over de
uart
apparaten. Deze bevinden zich op
de COM-poorten die we nodig hebben. Als uw modem zich gedraagt
als een standaard seriële poort zou u deze moeten vinden
als zijnde uart1
of
COM2
. Als dat klopt hoeft u de kernel
niet opnieuw te bouwen. Wanneer u de sio-apparaten controleert
en het modem is op uart1
te vinden of als
COM2
als u zich onder MS-DOS® bevindt,
dan is uw modemapparaat
/dev/cuau1
.
Verbinding maken met het internet door handmatig controle
te hebben over ppp
is snel, makkelijk en een
geweldige manier om problemen te vinden bij een verbinding
of zelfs voor alleen het verkrijgen van inforamtie over hoe uw
provider de ppp
cliënt verbindingen
behandelt. Laten we starten met PPP
vanaf de commando regel. Let op dat in al onze voorbeelden we
gebruik maken van example als hostnaam
van de machine die PPP draait. U
start ppp
door enkel het commando
ppp
te typen:
#
ppp
We hebben nu ppp
gestart.
ppp ON example> set device /dev/cuau1
We stellen ons modem in, in dit geval is dat
cuau1
.
ppp ON example> set speed 115200
We stellen de verbindings snelheid in, in dit geval gebruiken we 115,200 kbps.
ppp ON example> enable dns
Vertel ppp
om onze naam vertaler te
configuren, en de juiste naamserver regels toe te voegen aan
/etc/resolv.conf
. Als ppp
onze hostnaam niet kan bepalen, kunnen we deze later
instellen.
ppp ON example> term
Wissel naar “terminal” mode zodat we handmatig het modem kunnen bedienen.
deflink: Entering terminal mode on /dev/cuau1
type '~h' for help
at
OKatdt123456789
Gebruik at
om het modem te initialiseren,
en daarna atdt
en het nummer voor uw provider
om het inbel proces te beginnen.
CONNECT
Bevestiging van de verbinding, als we tegen problemen aanlopen met de verbinding, welke niet gerelateerd zijn aan de hardware, is dit de plek om te beginnen om de problemen op te lossen.
provider login:myusername
Hier wordt u gevraagd om een gebruikersnaam. Geef de gebruikersnaam op welke aangeleverd is door de provider.
provider pass:mypassword
Deze keer worden we gevraagd voor een wachtwoord. Vul uw wachtwoord in welke u is aangeleverd door de provider. Net zoals het aanloggen op FreeBSD zal het wachtwoord niet getoond worden.
Shell or PPP:ppp
Afhankelijk van uw provider wordt deze prompt wellicht
nooit getoond. Hier wordt ons gevraagd of we een shell willen
starten op de host van de provider, of dat we
ppp
willen starten. In dit geval is er
gekozen voor ppp
omdat we een internet
verbinding willen.
Ppp ON example>
Let op dat in dit voorbeeld de eerste p
een hoofdletter geworden is. Dit geeft aan dat we succesvol
verbonden zijn met de provider.
PPp ON example>
We hebben ons succesvol geauthenticeerd bij onze provider en we wachten op een IP-adres dat ons wordt toegewezen.
PPP ON example>
We hebben een IP adres verkregen en hebben succesvol een verbinding opgebouwd.
PPP ON example>add default HISADDR
Hier wordt een standaard route toegevoegd. Deze moet worden
toegevoegd voordat we kunnen communiceren met de buitenwereld
aangezien de enige verbinding op dit moment met de andere machine
is. Als dit niet lukt omdat er al een route bestaat, kan er een
“bang” karakter (!
) geplaatst
worden voor de add
optie. Als alternatief kan
dit ook gedaan worden voordat de verbinding opgezet wordt,
waarna een nieuwe route onderhandeld wordt.
Als alles goed gegaan is, zou er nu een actieve
verbinding moeten zijn met het internet, welke in de
achtergrond gezet kan worden door CTRL+z
te gebruiken. Als u ziet dat het commando PPP
terugkeert naar ppp
is de verbinding afgebroken.
Dit is goed om te weten, aangezien dit de status van de verbinding
toont. Hoofdletter P's betekenen dat er een verbinding is met
de provider, en kleine letters betekend dat de verbinding
verloren is gegaan om welke reden dan ook.
ppp
kent alleen deze twee statussen.
Als u een directe lijn heeft en geen verbinding kan
maken, zet dan hardware flow CTS/RTS uit
met de set ctsrts off
optie. Dit is meestal
het geval voor een PPP terminal
server waar PPP hangt wanneer deze
probeert te schrijven naar uw communicatie link, dus moet deze
wachten op een CTS of een Clear To Send
signaal welke misschien nooit komt. Als u deze optie gebruikt,
moet u ook de set accmap
optie gebruiken
welke benodigd kan zijn om hardware afhankelijkheden te
omzeilen door bepaalde karakters over en weer te sturen,
meestal XON/XOFF. Zie de ppp(8) handleiding voor meer
informatie over deze optie en hoe deze gebruikt kan worden.
Als u een ouder modem heeft, kan het voorkomen dat u ook
de set parity even
optie moet gebruiken.
De parity is standaard ingesteld op none maar wordt gebruikt
voor fout controle (met als gevolg een grote verhoging van
de hoeveelheid data) bij oudere modems en sommige
providers. Dit is bijvoorbeeld een benodigde optie bij de
Compuserve provider.
Het kan voorkomen dat PPP niet
terugkeert naar de commando mode, wat meestal betekent dat er
een onderhandelings fout is waarbij de provider wacht op uw
kant om de onderhandeling te kunnen beginnen. Op dit
moment kunt u gebruik maken van het ~p
commando om ppp te forceren om de configuratie informatie
te versturen.
Als u nooit een inlogin prompt krijgt is het zeer waarschijnlijk dat u PAP of CHAP authenticatie moet gebruiken in plaats van de UNIX® stijl in het voorbeeld hierboven. Om gebruik te maken van PAP of CHAP voegt u het volgende opties toe aan PPP voordat u de terminal mode ingaat:
ppp ON example> set authname mijngebruikersnaam
Waarbij mijngebruikersnaam
moet
worden vervangen met de gebruikersnaam die wordt toegewezen
door de provider.
ppp ON example> set authkey mijnwachtwoord
Waarbij mijnwachtwoord
moet
worden vervangen door het wachtwoord wat u is toegewezen door
de provider.
Als u een goed werkende verbinding kunt maken maar het
onmogelijk lijkt om een domeinnaam te vinden, probeert u
dan ping(8) te gebruiken met een IP
adres en kijk of er enige informatie terugkomt. Als u 100
procent (100%) packet loss ziet is het zeer waarschijnlijk
dat u geen default route heeft gekregen. Controleer nogmaals
of de optie add default HISADDR
ingesteld is tijdens de connectie. Als u verbinding kunt
maken met een extern IP adres is het
mogelijk dat een naamserver niet is toegevoegd aan het
/etc/resolv.conf
bestand. Dit bestand
moet er uitzien als volgend:
domainexample.com
nameserverx.x.x.x
nameservery.y.y.y
Waar x.x.x.x
en
y.y.y.y
moet worden vervangen door
het IP adres van uw providers
naamservers. Deze informatie kan mogelijk wel of niet
geleverd zijn toen u zich inschreef, maar een snel telefoontje
naar uw provider zou hierin uitkomst kunnen bieden.
U kunt ook syslog(3) gebruiken om een log functie
voor PPP aan te maken. Voeg het
volgende toe aan /etc/syslog.conf
:
!ppp *.* /var/log/ppp.log
Deze functionaliteit bestaat in de meeste gevallen al.
Deze sectie beschrijft hoe PPP over Ethernet opgezet kan worden (PPPoE).
Inmiddels is het niet langer benodigd om de kernel configuratie aan te passen voor PPPoE. Als de benodigde netgraph ondersteuning niet in de kernel aanwezig is zal deze dynamisch geladen worden door ppp.
Hieronder volgt een voorbeeld van een werkende
ppp.conf
:
default:
set log Phase tun command # Er kan meer gedetailleerde logging ingeschakeld worden indien gewenst
set ifaddr 10.0.0.1/0 10.0.0.2/0
name_of_service_provider:
set device PPPoE:xl1
# Vervang x11 met uw ethernet apparaat
set authname UWLOGINNAAM
set authkey UWWACHTWOORD
set dial
set login
add default HISADDR
Als de root
gebruiker kunt u het
volgende draaien:
#
ppp -ddial name_of_service_provider
Voeg het volgende toe aan uw
/etc/rc.conf
bestand:
ppp_enable="YES" ppp_mode="ddial" ppp_nat="YES" # Indien u nat wilt inschakelen voor het lokale netwerk, gebruik anders NO ppp_profile="naam_van_service_provider"
Soms is het nodig om een service tag te gebruiken om verbinding te kunnen maken. Service tags worden gebruikt om onderscheid te maken tussen de verschillende PPPoE servers die verbonden zijn met een netwerk.
Uw provider zou u de juiste service tag gegevens verstrekt moeten hebben in de documentatie die opgeleverd is. Als u deze niet kunt vinden in de documentatie moet u deze opvragen bij uw technische support afdeling van uw provider.
Als allerlaatste optie kunt u de aangerade methode gebruiken van het Roaring Penguin PPPoE programma welke gevonden kan worden in de Ports Collectie. Houd u echter in uw achterhoofd dat dit uw modem ernstige schade kan toebrengen, dus denkt u er goed over na voordat u het uitprobeert. Installeer simpelweg het programma dat is meegeleverd bij het modem door uw provider. Open hierna het menu vanuit het programma. De naam van uw profiel moet hier te vinden zijn. Meestal is deze ISP.
De naam van het profiel (servicetag) zal worden gebruikt in
de PPPoE configuratie regel van ppp.conf
in het provider gedeelte van het set device
commando (zie de ppp(8) handleiding voor meer informatie
hierover). Dit zou er als volgend uit moeten zien:
set device PPPoE:xl1
:ISP
Vergeet u niet om xl1
te
vervangen door het juiste apparaat voor uw Ethernet
kaart.
Vergeet u niet om ISP
te
vergangen door het profiel wat hierboven ingesteld is.
Voor meer informatie zie:
Cheaper Broadband with FreeBSD on DSL door Renaud Waldura.
Dit modem volgt RFC 2516 niet (Een methode voor het versturen van PPP over Ethernet (PPPoE) geschreven door by L. Mamakos, K. Lidl, J. Evarts, D. Carrel, D. Simone, and R. Wheeler). Daarentegen is een ander type pakket code gebruikt voor de Ethernet frames. Klaagt u alstublift bij 3Com als u vind dat ze zich aan de PPPoE specificatie moeten houden.
Om FreeBSD in staat te stellen om te communiceren met dit
apparaat, moet er een sysctl ingesteld worden. Dit kan
automatisch tijdens het opstarten gedaan worden door het
bewerken van /etc/sysctl.conf
:
net.graph.nonstandard_pppoe=1
Dit kan ook direct gedaan worden met het commando:
#
sysctl net.graph.nonstandard_pppoe=1
Helaas is het, doordat dit een systeem brede instelling is, niet mogelijk om tegelijkertijd met een normale PPPoE cliënt of server en een 3Com® HomeConnect® ADSL-modem te communiceren.
Het volgende beschrijft hoe PPP over ATM (PPPoA) opgezet kan worden. PPPoA is een populaire keuze binnen Europese DSL providers.
PPPoA ondersteuning voor dit apparaat wordt geleverd door middel van een port in FreeBSD omdat de firmware wordt gedistribueerd onder Alcatel's licentie overeenkomst en mag derhalve niet vrijelijk verspreid worden met het basis systeem van FreeBSD.
Om de software te installeren, wordt simpelweg de Ports Collectie gebruikt. Installeer de net/pppoa port en volg de instructies die meegeleverd worden.
Zoals de meeste USB apparaten moet de Alcatel SpeedTouch™
USB zijn firmware downloaden van de host computer om correct
te kunnen werken. Het is mogelijk om dit proces te automatiseren
binnen FreeBSD zodat deze overdracht elke keer gebeurd als het
apparaat in een USB poort wordt gestoken. De volgende informatie
kan worden toegevoegd aan het /etc/usbd.conf
bestand om deze automatische overdracht in te schakelen. Dit
bestand moet bewerkt worden door de root
gebruiker.
device "Alcatel SpeedTouch USB" devname "ugen[0-9]+" vendor 0x06b9 product 0x4061 attach "/usr/local/sbin/modem_run -f /usr/local/libdata/mgmt.o"
Om de USB daemon, usbd, te starten
moet de volgende regel toegevoegd worden aan
/etc/rc.conf
:
usbd_enable="YES"
Het is ook mogelijk om ppp op te
zetten om in te bellen tijdens het opstarten. Om dit te doen
moet de volgende regel worden toegevoegd aan
/etc/rc.conf
. Voor deze procedure moet
er ook aangelogt zijn als de root
gebruiker.
ppp_enable="YES" ppp_mode="ddial" ppp_profile="adsl"
Om dit correct te laten werken moet het voorbeeld
ppp.conf
bestand gebruikt worden welke
geleverd wordt door de
net/pppoa port.
U kunt mpd gebruiken om met een variateit aan diensten verbinding te maken, in het bijzonder PPTP diensten. U kunt mpd vinden in de Ports Collectie, net/mpd. Veel ADSL-modems vereisen dat er een PPTP tunnel wordt gecreeërd tussen het modem en de computer, een voorbeeld van zo'n modem is de Alcatel SpeedTouch™ Home.
Eerst moet u de port installeren waarna
mpd geconfigureerd kan worden om
uw eisen en provider instellingen op te geven. De port
plaatst een verzameling voorbeeldconfiguratiebestanden welke
goed gedocumenteerd zijn in PREFIX/etc/mpd/
.
Let op dat PREFIX
betekend dat dit de
directory is waar uw ports in worden geïnstalleerd.
Standaard is dit /usr/local/
. Een complete
handleiding om mpd te configureren is
beschikbaar in HTML formaat zodra de port geïnstalleerd is.
Deze wordt geplaatst in PREFIX/share/doc/mpd/
.
Hieronder staat een voorbeeld configuratie om verbinding te
maken met een ADSL dienstverlener door het gebruik van
mpd. De configuratie is verspreid
over twee bestanden, allereerst het mpd.conf
bestand:
Dit voorbeeld van het bestand mpd.conf
werkt
alleen met mpd 4.X.
default: load adsl adsl: new -i ng0 adsl adsl set bundle authnamegebruikersnaam
set bundle password
wachtwoord
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
De gebruikersnaam die gebruikt wordt om uzelf te authenticeren aan uw provider. | |
Het wachtwoord wat gebruikt wordt om uzelf te authenticeren aan uw provider. |
Het mpd.links
bestand bevat informatie
over de link, of linken waarmee u verbinding wilt maken. Een
voorbeeld mpd.links
wat bij bovenstaand
voorbeeld hoort is hieronder gegeven:
adsl: set link type pptp set pptp mode active set pptp enable originate outcall set pptp self10.0.0.1
set pptp peer
10.0.0.138
![]()
Het IP-adres van uw FreeBSD computer waar vanaf mpd gebruikt wordt.
Het IP-adres van uw ADSL-modem. Voor de Alcatel SpeedTouch™ Home is dit adres standaard
10.0.0.138
.
Het is mogelijk om de verbinding makkelijk te initialiseren
door het volgende commando als root
uit te
voeren:
#
mpd -b adsl
U kunt de status van de verbinding zien met het volgende commando:
%
ifconfig ng0
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1500 inet 216.136.204.117 --> 204.152.186.171 netmask 0xffffffff
Het gebruik van mpd is de aangeraden manier om met een ADSL dienst te verbinden met FreeBSD.
Het is ook mogelijk om FreeBSD te gebruiken om naar een andere PPPoA dienstenm verbinding te maken door middel van de net/pptpclient port.
Om gebruik te maken van net/pptpclient om naar een DSL dienst
verbinding te maken, installeert u de port of package en bewerkt
u /etc/ppp/ppp.conf
U moet dit onder de
root
gebruiker doen, om beide acties uit te
voeren. Een voorbeeld sectie van ppp.conf
is hieronder gegeven. Voor meer informatie over
ppp.conf
consulteert u de ppp(8)
handleiding.
adsl: set log phase chat lcp ipcp ccp tun command set timeout 0 enable dns set authnamegebruikersnaam
set authkey
wachtwoord
set ifaddr 0 0 add default HISADDR
Omdat u het wachtwoord van uw account in het
ppp.conf
bestand in leesbare vorm moet
plaatsen, moet u ervoor zorgen dat niemand anders de inhoud
van dit bestand kan lezen. De volgende serie van commando's
zorgt ervoor dat het bestand alleen leesbaar is door de
root
gebruiker. Raadpleeg de
handleidingen van chmod(1) en chown(8) voor verdere
informatie.
#
chown root:wheel /etc/ppp/ppp.conf
#
chmod 600 /etc/ppp/ppp.conf
Dit opent een tunnel voor een PPP sessie naar uw DSL router.
Ethernet DSL-modems hebben een voor geconfigureerd LAN IP
adres waarmee u verbinding maakt. In het geval van de Alcatel
SpeedTouch™ home is 10.0.0.138
het adres. Uw router documentatie vertelt u welk adres uw
apparaat gebruikt. Om de tunnel te openen en om een PPP sessie
op te zetten, start u het volgende commando:
#
pptp address adsl
Het kan wenselijk zijn om een ampersand (“&”) toe te voegen aan het einde van het vorige commando, omdat pptp uw prompt niet teruggeeft.
Er wordt een tun
virtueel tunnel
apparaat gecreeërd voor interactie tussen de
pptp en ppp
processen. Zodra u terugbent op uw prompt, of als
pptp bevestigd dat er een verbinding
is, kunt u de tunnel als volgend inzien:
%
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
Als het niet mogelijk is om verbinding te maken, controleert
u de configuratie van uw router, welke meestal bereikbaar is
door middel van telnet of via een
web browser. Als u nog steeds geen verbinding kunt maken moet
u de resultaten van het pptp
onderzoeken
en de inhoud van het ppp log
bestand, /var/log/ppp.log
voor meer hints
over wat er mis kan zijn.
Deze sectie geldt en is alleen geldig voor FreeBSD 7.X.
Het volgende is één manier om een FreeBSD machine in te stellen voor gebruik met SLIP op een statisch host netwerk. Voor dynamische hostnaam toewijzing (uw adres veranderd elke keer als u inbelt), heeft u waarschijnlijk een meer complexe opzet nodig.
Bepaal eerst aan welke seriële poort uw modem verbonden
is. Veel mensen gebruiken hiervoor een symbolische link zoals
/dev/modem
welke
verwijst naar de echte naam van het apparaat /dev/cuadN
. Dit
geeft de mogelijkheid om naam abstract te houden, voor het geval
het modem ooit verplaatst wordt naar een andere poort. Het kan
best een vervelende klus zijn wanneer er een aantal bestanden in
/etc
en
.kermrc
bestanden verspreid over het gehele
systeem gerepareerd moeten worden!
/dev/cuad0
is COM1
, cuad1
is
COM2
, etc.
Zorg ervoor dat u het volgende in uw kernel configuratie bestand hebt:
device sl
Deze is standaard opgenomen in de
GENERIC
kernel, dus dat zou geen problemen
moeten opleveren tenzij u deze verwijderd heeft.
Voeg uw machine, de router en de naamservers toe
aan uw /etc/hosts
bestand. Ons
bestand ziet er als volgend uit:
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
Zorg ervoor dat u files
voor
dns
in de hosts:
sectie van uw /etc/nsswitch.conf
bestand. Zonder deze parameters zouden er interessante
dingen kunnen gebeuren.
Bewerk het /etc/rc.conf
bestand.
Creeër en bestand genaamd
/etc/resolv.conf
welke het volgende
bevat:
domain CS.Example.EDU nameserver 128.32.136.9 nameserver 128.32.136.12
Zoals u kunt zien, stellen deze de naamserver hosten in. Uiteraard is het echte domein en adres afhankelijk van uw omgeving.
Stel het wachtwoord in voor de
root
en de toor
gebruikers (en elke andere gebruiker die geen wachtwoord
heeft).
Herstart de machine en controleeer of deze opkomt met de correcte hostnaam.
Bel in, type slip
op de prompt
en voer uw machine naam en wachtwoord in. Wat is
vereist, is afhankelijk van uw omgeving. Als u gebruik
maakt van Kermit kan een
script als de volgende gebruikt worden:
# 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 # De volgende macro zal inbellen en ons inloggen. 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
Uiteraard moet u uw gebruikersnaam en wachtwoord
wijzigen zodat deze overeenkomen met die van u. Nadat
dit gedaan is kunt u slip
invullen op
de Kermit prompt om verbinding
te maken.
Het achterlaten van uw wachtwoord in leesbare tekst waar dan ook op het bestandssysteem is zeker een slecht idee. Doe dit op eigen risico.
Laat Kermit daar (het
programma kan tijdelijk uitgeschakeld worden door
Ctrl+z) en type vervolgens als
root
:
#
slattach -h -c -s 115200 /dev/modem
Als u in staat bent om andere hosten met
ping
te benaderen aan de andere kant
van de router, bent u verbonden! Als dit niet werkt kunt
u wellicht de -a
gebruiken in plaats van
de -c
als argument voor
slattach
.
Doe het volgende::
#
kill -INT `cat /var/run/slattach.modem.pid`
om slattach
te stoppen. Houd in uw
achterhoofd dat u dit als root
moet
doen. Ga hierna terug naar kermit
(door
het intypen van fg
als u deze tijdelijk
uitgeschakeld had) en verlaat de applicatie
(q).
De slattach(8) handleiding zegt dat
ifconfig sl0 down
uitgevoerd moet worden
om de interface uit te schakelen, maar dit lijkt geen verschil
op te leveren. (ifconfig sl0
lijkt
hetzelfde resultaat te geven.)
Soms kan het gebeuren dat het modem weigert om de carrier
los te laten. Start in dat geval simpelweg
kermit
en stop deze wederom. Meestal stopt
het met de tweede poging.
Als dit niet werkt, voelt u zich dan vrij om rond te vragen op de freebsd-net mailing lijst. De volgende dingen zijn mensen al eens tegen aangelopen:
Het niet gebruiken van de -c
of
-a
optie voor slattach
(Dit zou niet fataal moeten zijn, maar sommige mensen
hebben aangegeven dat het de problemen oplostte.)
Het intypen van s10
in plaats van
sl0
(het verschil is wellicht lastig te
zien met sommige fonts).
Probeer ifconfig sl0
uit te voeren
om de interface status te zien. U kunt bijvoorbeeld
krijgen:
#
ifconfig sl0
sl0: flags=10<POINTOPOINT> inet 136.152.64.181 --> 136.152.64.1 netmask ffffff00
Als u no route to host krijgt
van het ping(8) commando, is er mogelijk een probleem
met uw route tabel. U kunt het
netstat -r
commando uitvoeren om de
huidige routes te zien:
#
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)
Het voorgaand voorbeeld komt van een relatief druk systeem. De getallen op uw systeem zullen anders zijn naar gelang de netwerk activiteiten.
Dit document levert suggesties voor het opzetten van een SLIP-server op een FreeBSD systeem, welke meestal betekent het configureren van uw systeem om automatisch verbindingen op te zetten wanneer er wordt ingelogt met remote SLIP cliënten.
Deze sectie is vrij technisch van aard, dus achtergrond informatie is vereist. Er wordt aangenomen dat u bekend bent met het TCP/IP-netwerk protocol, en in dan in het bijzonder met netwerk en node adresseringen, netwerk adres maskers, subnetten, routes en dynamische routering protocollen zoals RIP. Het configureren van een SLIP-dienst op een inbel server vereist kennis van deze concepten en als u daarmee niet bekend bent, leest u dan aub een versie van of Craig Hunt's TCP/IP Network Administration gepubliceerd door O'Reilly & Associates, Inc. (ISBN Number 0-937175-82-X), of Douglas Comer's boeken over het TCP/IP protocol.
Daarnaast wordt er vanuit gegaan dat u reeds uw modem(s)
heeft geconfigureerd en dat u de juiste systeem bestanden
heeft aangepast zodat er logins mogelijk zijn door uw modem(s)
heen. Als u dat nog niet heeft gedaan, zie dan Paragraaf 26.4, “Inbeldienst” voor details over het opzetten van
inbel diensten. Wellicht wilt u ook de handleiding bekijken
voor sio(4) voor meer informatie over de seriële
port device driver en de ttys(5), gettytab(5),
getty(8), & init(8) handleidingen voor
informatie die relevant zijn voor het configureren van het
systeem zodat logins mogelijk worden op modems, en wellicht
stty(1) voor informatie over het instellen van de
seriële poort (zoals clocal
voor
direct verbonden seriële interfaces).
In een typische configuratie, werkt het gebruik van FreeBSD
als een SLIP-server als volgend: een SLIP-gebruiker belt in
op uw FreeBSD SLIP-server systeem en logt in met een speciaal
SLIP-login ID dat gebruik maakt van
/usr/sbin/sliplogin
. Het
sliplogin
programma leest door het
/etc/sliphome/slip.hosts
bestand om een
corresponderende regel te vinden voor de speciale gebruiker en
als deze een match vindt verbind het de seriële lijn met
een beschikbare SLIP-interface waarna het shellscript
/etc/sliphome/slip.login
wordt uitgevoerd
om de SLIP-interface te configureren.
Bijvoorbeeld, als een SLIP-user-ID
Shelmerg
is, kan
Shelmerg
's regel in
/etc/master.passwd
er als volgt
uitzien:
Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:/usr/users/Shelmerg:/usr/sbin/sliplogin
Wanneer Shelmerg
inlogt, zoekt het
sliplogin
programma in het
/etc/sliphome/slip.hosts
bestand voor
een regel dat een corresponderende user ID heeft, er kan
bijvoorbeeld een regel staan in
/etc/sliphome/slip.hosts
dat eruit
ziet als volgend:
Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp
sliplogin
zal de corresponderende
regel vinden en de seriële lijn koppelen aan de eerste
beschikbare SLIP-interface, waarna
/etc/sliphome/slip.login
wordt
uitgevoerd zoals volgend:
/etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp
Als alles goed gaat, zal
/etc/sliphome/slip.login
een
ifconfig
commando uitvoeren voor de SLIP
interface waaraan sliplogin
zichzelf
koppelt (SLIP-interface 0 zoals in bovenstaand voorbeeld
was de eerste parameter in de lijst welke gegeven is aan
slip.login
) om een lokaal IP-adres
in te stellen (dc-slip
), een remote IP
adres (sl-helmer
), een netwerk master voor
de SLIP-interface
(0xfffffc00
), en enkele
additionele vlaggen (autocomp
). Als
er iets misgaat zal sliplogin
meestal
voldoende goede informatie loggen via de
syslogd daemon faciliteiten,
welke meestal logt naar
/var/log/messages
(zie de handleidingen
van syslogd(8) en syslog.conf(5) en controleer het
/etc/syslog.conf
bestand om te zien wat
syslogd logt en waar dit naartoe
gelogt wordt).
FreeBSD's standaard kernel (GENERIC
)
heeft reeds ondersteuning voor SLIP (sl(4)), in het
geval van een custom kernel moet de volgende regel worden
toegevoegd aan de kernel configuratie:
device sl
Standaard zal uw FreeBSD machine geen pakketten doorsturen.
Als u wilt dat uw FreeBSD SLIP-server zich gedraagt als router
zult u het bestand /etc/rc.conf
moeten
bewerken en de instelling van de
gateway_enable
variabele moeten aanpassen
naar YES
. Dit zorgt ervoor dat de machine
na een herstart zich zal blijven gedragen als router.
Om de instellingen meteen actief te maken kunt u het
volgende commando als root
uitvoeren:
#
service routing start
Raadpleeg aub Hoofdstuk 9, De FreeBSD-kernel instellen over het configureren van de FreeBSD kernel voor meer hulp over het herconfigureren van uw kernel.
Zoals eerder vermeld, zijn er drie bestanden in de map
/etc/sliphome
die
onderdeel zijn van de configuratie voor
/usr/sbin/sliplogin
(zie
sliplogin(8) voor de actuele handleiding voor
sliplogin
): slip.hosts
,
welke de SLIP-gebruikers definieert en de gekoppelde IP
adressen; slip.login
, welke meestal de
SLIP-interface configureert en (optioneel)
slip.logout
, welke de effecten van
slip.login
ongedaan maakt wanneer de
seriële verbinding verbroken wordt.
/etc/sliphome/slip.hosts
bevat
regels welke minstens vier onderdelen heeft die
gescheiden worden door een spatie:
SLIP-gebruikers login ID
Lokale adres (lokaal voor de SLIP-server) van de SLIP-link
Remote adres van de SLIP-link
Netwerk masker
De lokale en remote adressen mogen host namen zijn
(Welke naar IP-adressen vertaald kunnen worden door
/etc/hosts
of door de
DNS diensten, afhankelijk van uw
specificaties in het /etc/nsswitch.conf
,
het netwerk masker mag een naam zijn dat vertaald kan worden
door een zoek opdracht in /etc/networks
.
Op een voorbeeld systeem ziet het
/etc/sliphome/slip.hosts
bestand er als
volgt uit:
# # login local-addr remote-addr mask opt1 opt2 # (normal,compress,noicmp) # Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp
Aan het einde van deze regel staan één of meerdere opties:
normal
— geen compressie
van de header
compress
— comprimeer
headers
autocomp
— comprimeer de
headers als de remote kant dit accepteert
noicmp
— schakelt ICMP
pakketten uit (dus alle “ping” pakketten
worden geweigerd in plaats van dat deze bandbreedte
verbruiken)
Uw keuze van een lokaal en remote adres voor uw SLIP verbindingen is afhankelijk van of u een speciaal toegewezen TCP/IP-subnet gebruikt, of dat u gebruik gaat maken van “proxy ARP” op uw SLIP-server (het is geen echte “proxy ARP”, maar het is de terminologie welke in deze sectie gebruikt wordt om het te beschrijven). Als u niet zeker bent welke methode u moet kiezen, of hoe u IP-adressen moet toewijzen, raadpleegt u dan de TCP/IP boeken die vermeld worden in de SLIP vereisten (Paragraaf 27.7.2.1, “Eisen vooraf”) en/of vraag uw IP-netwerk manager om hulp.
Als u gebruik gaat maken van een separaat subnet voor uw SLIP-cliënten, moet u een subnet alloceren uit de voor u toegewezen IP-ruimte, en elke SLIP-cliënt een IP-adres geven uit dat subnet. Daarna moet u waarschijnlijk een statische route configureren voor uw SLIP-subnet via uw SLIP-server naar de dichtsbijzijnde IP-router.
In het andere geval moet u gebruik maken van de
“proxy ARP” methode, u moet elke SLIP
cliënt een IP-adres geven uit het Ethernet-subnet van
uw SLIP-server, daarnaast moet u het
/etc/sliphome/slip.login
en het
/etc/sliphome/slip.logout
script
aanpassen om gebruik te maken van arp(8) om de
“proxy ARP” regels te beheren in de SLIP
servers ARP tabel.
Een typisch /etc/sliphome/slip.login
bestand ziet er als volgend uit:
#!/bin/sh - # # @(#)slip.login 5.1 (Berkeley) 7/1/90 # # generiek loginbestand voor een SLIP-lijn. sliplogin voert deze uit # met de volgende 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
Dit slip.login
bestand start
alleen het ifconfig
commando voor de
betreffende SLIP-interace met het lokale en remote adres
met het netwerkmasker van de SLIP-interface.
Als u besloten heeft om gebruik te maken van de
“proxy ARP” methode (in plaats van het
gebruiken van een apart subnet voor uw SLIP-cliënten)
moet u het /etc/sliphome/slip.login
bestand aanpassen zodat deze er ongeveer als volgend
uitziet:
#!/bin/sh - # # @(#)slip.login 5.1 (Berkeley) 7/1/90 # # generiek loginbestand voor een SLIP-lijn. sliplogin voert deze uit # met de volgende 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 # Beantwoord ARP Verzoeken voor de SLIP-cliënt met ons Ethernet # adres /usr/sbin/arp -s $5 00:11:22:33:44:55 pub
De extra regel in het slip.login
bestand,
arp -s $5 00:11:22:33:44:55 pub
,
creeërt een ARP-regel in de ARP-tabel van de SLIP-server.
Deze ARP regel zorgt ervoor dat de SLIP-server antwoord
geeft met het Ethernet MAC adres van de SLIP-server wanneer
een andere IP-node op het Ethernet vraagt om te communiceren
met het IP-adres van de SLIP-cliënt.
Wanneer u gebruik maakt van het voorbeeld hierboven,
wees u er dan zeker van dat u het Ethernet MAC adres
(00:11:22:33:44:55
) veranderd
in het MAC adres van uw systeem's Ethernet kaart, anders
werkt uw “proxy ARP” zeker niet! U kunt het
Ethernet MAC adres van uw SLIP-server achterhalen door het
bekijken van het resultaat van netstat -i
;
de tweede regel met resultaten moet er ongeveer als volgend
uitzien:
ed0 1500 <Link>0.2.c1.28.5f.4a 191923 0 129457 0 116
Dit geeft aan dat het specifieke Ethernet MAC adres van
het systeem is 00:02:c1:28:5f:4a
— de punten in het Ethernet MAC adres welke gegeven
wordt door netstat -i
moet worden veranderd
in dubbele punten (“:”) en voorloop nullen
moeten worden toegevoegd aan elk enkel hexadecimaal getal
om het adres te converteren naar de vorm die arp(8)
wenst; zie de handleiding van arp(8) voor een compleet
overzicht van het gebruik hiervan.
Wanneer u
/etc/sliphome/slip.login
en
/etc/sliphome/slip.logout
, aanmaakt
moet het “uitvoerbare” bitje gezet zijn
(bijvoorbeeld chmod 755
/etc/sliphome/slip.login /etc/sliphome/slip.logout
)
anders is sliplogin
niet in staat om
deze uit te voeren.
/etc/sliphome/slip.logout
is niet
strict noodzakelijk (tenzij u “proxy ARP”
implementeert), maar als beslist om deze aan te maken is
dit een voorbeeld basis slip.logout
script:
#!/bin/sh - # # slip.logout # # uitlogbestand voor een SLIP-regel. sliplogin voert deze uit met de # parameters: # 1 2 3 4 5 6 7-n # slipunit ttyspeed loginname local-addr remote-addr mask opt-args # /sbin/ifconfig sl$1 down
Als u gebruik maakt van “proxy ARP” wilt u
waarschijnlijk dat het
/etc/sliphome/slip.logout
bestand de
ARP regel weghaalt voor de SLIP-cliënt:
#!/bin/sh - # # @(#)slip.logout # # uitlogbestand voor een SLIP-regel. sliplogin voert deze uit met de # parameters: # 1 2 3 4 5 6 7-n # slipunit ttyspeed loginname local-addr remote-addr mask opt-args # /sbin/ifconfig sl$1 down # Stop met het beantwoorden van ARP verzoeken voor de SLIP-cliënt /usr/sbin/arp -d $5
Het arp -d $5
verwijderd de ARP
regel, die “proxy ARP” heeft toegevoegd toen
de SLIP-cliënt inlogde.
Het is belangrijk om dit te herhalen: zorg ervoor
/etc/sliphome/slip.logout
het
uitvoerbare bitje heeft gezet nadat deze gecreeërd
is (b.v.
chmod 755 /etc/sliphome/slip.logout
).
Als u geen gebruik maakt van de “proxy ARP” voor het routeren van pakketten tussen uw SLIP-cliënten en de rest van uw netwerk (en wellicht het internet), moeten er misschien een aantal statische routeringen naar de best bereikbare standaard router ingesteld worden om uw SLIP cliënts te routeren via uw SLIP0server.
Het toevoegen van statische routeringen naar de dichts bijzijnde router kan problematisch zijn (of zelfs onmogelijk als u niet de bevoegdheden heft om dit te doen). Als u een netwerk heeft met meerdere routers binnen uw organisatie kan het zijn dat sommige routers, zoals die van Cisco en Proteon , niet alleen geconfigureerd moeten worden met de statische route naar het SLIP-subnet, maar deze moeten dan ook geconfigureerd worden over welke statische routes aan andere routers verteld moeten worden. Enige expertise en fine tunen kan nodig zijn om statische routing te laten werken.
“Elektronische Mail”, beter bekend als email, is tegenwoordig een van de meest gebruikte vormen van communicatie. Dit hoofdstuk geeft een algemene inleiding in het opzetten van een mailserver op FreeBSD, alsmede een introductie in het verzenden en ontvangen van email op FreeBSD; het is echter geen complete referentie en veel belangrijke overwegingen zullen buiten beschouwing worden gelaten. Voor een completere behandeling wordt de lezer gewezen op de vele uitstekende boeken welke worden vermeld in Bijlage B, Bibliografie.
In dit hoofdstuk wordt behandeld:
Welke software (componenten) gebruikt wordt(en) bij het verzenden en ontvangen van email.
Waar algemene sendmail instellingsbestanden worden opgeslagen in FreeBSD.
Het verschil tussen lokale en postbussen op-afstand.
Hoe spammers te verhinderen dat ze de mailserver illegaal gebruiken als "relay".
Hoe een andere MTA (Mail Transfer Agent) te installeren en configureren op het systeem, ter vervanging van sendmail.
Hoe veel voorkomende problemen met mail servers worden opgelost.
Hoe SMTP met UUCP te gebruiken.
Hoe een systeem in te stellen om alleen mail te verzenden.
Hoe email te gebruiken met een inbelverbinding.
Hoe SMTP Authenticatie in te stellen voor verhoogde beveiliging.
Hoe een Mail User Agent zoals mutt te installeren om email te verzenden en te ontvangen.
Hoe mail te downloaden van een POP of IMAP server op afstand.
Hoe automatisch filters en sorteerregels op inkomende email toe te passen.
Voordat dit hoofdstuk gelezen wordt, dienen:
De netwerkverbindingen correct ingesteld te zijn (Hoofdstuk 31, Geavanceerde netwerken).
De juiste DNS-informatie ingesteld te zijn voor de mailserver (Hoofdstuk 29, Netwerkdiensten).
Bekend te zijn hoe software van derde partijen te installeren (Hoofdstuk 5, Applicaties installeren: pakketten en ports).
Er zijn vijf belangrijke componenten betrokken bij het uitwisselen van email. Dit zijn: het gebruikersprogramma, de serverdaemon, DNS, een postbus, lokaal of op afstand , en natuurlijk de mailhost zelf.
Dit omvat opdrachtregelprogramma's zoals
mutt, alpine,
elm, en mail
, en
GUI programma's zoals
balsa, xfmail, en
iets “geavanceerders” zoals een webbrowser. Deze
programma's doen niets anders dan de mail bezorgen bij de lokale “mailhost”, door deze
af te leveren of bij een van de beschikbare serverdiensten, of via
TCP.
FreeBSD wordt standaard geleverd met de sendmail, maar ondersteunt meerdere andere mailserver daemons, zoals:
exim;
postfix;
qmail.
De server daemon heeft meestal twee functies—het is
verantwoordelijk voor het ontvangen van inkomende mail en het
bezorgen van uitgaande mail. Het is niet
verantwoordelijk voor het verzamelen van mail door gebruik te
maken van protocollen zoals POP of
IMAP om mail te lezen, noch staat het toe om
een verbinding te maken met een lokale mbox
of Maildir postbus. Het is mogelijk dat daarvoor een extra
daemon voor nodig is.
Oudere versies van sendmail hebben serieuze beveiligingslekken welke kunnen leiden tot een situatie waarbij een aanvaller lokale of toegang van afstand tot de machine kan verkrijgen. Draai een actuele versie om deze problemen te voorkomen. Optioneel kan een alternatieve MTA van de FreeBSD Portscollectie geïnstalleerd worden.
Het Domein Naam Systeem (DNS) en de daemon named
spelen een grote rol in het bezorgen van email. Om
het mogelijk te maken email van de deze lokatie naar een andere
lokatie te bezorgen, zal de serverdaemon de andere lokatie
opzoeken in het DNS om zo de host te bepalen die de email voor
de bestemming in ontvangst zal nemen. Dit gebeurt ook als
email verzonden wordt vanaf een andere host naar de lokale
mailserver.
DNS is verantwoordelijk voor het koppelen van hostnamen aan IP-adressen, en voor het opslaan van specifieke informatie voor het bezorgen van mail, bekend als MX-regels. De MX-regel (Mail eXchanger) specificeert welke host(s) mail zullen ontvangen voor een specifiek domein. Als er geen MX-regel is voor deze hostnaam of dit domein, dan zal de mail direct bij de host worden afgeleverd, mits er een A-regel is die deze hostnaam aan dit IP-adres koppelt.
De MX-regels van een willekeurig domein kunnen worden bekeken door gebruik te maken van het commando host(1), zoals te zien is in het onderstaande voorbeeld:
%
host -t mx FreeBSD.org
FreeBSD.org mail is handled (pri=10) by mx1.FreeBSD.org
De mailhost verzorgt het ontvangen van mail voor het domein.
Deze zal alle mail verzonden aan het domein verzamelen en deze
afhankelijk van de configuratie opslaan in òf
mbox
(de standaardmanier om mail op te slaan)
òf in Maildir-formaat. Wanneer de mail eenmaal is
opgeslagen, kan het òf lokaal gelezen worden door
toepassingen als mail(1) of mutt
, of op afstand bekeken en verzameld worden middels protocollen
als POP of IMAP.
Dit betekent, dat als mail alleen lokaal wordt gelezen, er geen
POP- of IMAP-server
geïnstalleerd hoeft te worden.
Om op afstand toegang te krijgen tot postbussen is het nodig toegang te hebben tot een POP- of IMAP -server. Deze protocollen stellen gebruikers in staat hun postbus gemakkelijk op afstand te benaderen. Hoewel zowel POP als IMAP gebruikers in staat stellen op afstand een postbus te bereiken, biedt IMAP veel voordelen, waaronder:
IMAP kan berichten zowel op de server op afstand opslaan als ze ophalen.
IMAP ondersteunt gelijktijdig actualiseren.
IMAP kan uitstekend worden gebruikt over langzame verbindingen omdat het gebruikers in staat stelt de structuur van berichten te bekijken zonder deze binnen te halen; het kan ook worden gebruikt om te zoeken op de server om zo de gegevensoverdracht tussen client en server te minimaliseren.
Om een POP- of IMAP- server te installeren, zijn de volgende stappen nodig:
Kies een IMAP- of POP -server die het beste aan de eisen voldoet. De volgende POP- en IMAP -servers zijn zeer bekend en zijn goede voorbeelden:
qpopper;
teapop;
imap-uw;
courier-imap;
dovecot;
Installeer de gewenste POP- of IMAP-daemon vanuit de Portscollectie.
Wijzig indien nodig /etc/inetd.conf
om de POP- of IMAP
- server te laden.
Let er wel op dat zowel POP en IMAP informatie, waaronder gegevens over gebruikersnaam en wachtwoord, onversleuteld versturen. Dit betekent, dat wanneer het gewenst is dat de uitwisseling van gegevens over deze protocollen versleuteld is, het verstandig is om te overwegen de sessies over ssh(1) te tunnelen of SSL te gebruiken. Het tunnelen van sessies wordt beschreven in Paragraaf 15.10.8, “SSH tunnels” en SSL in Paragraaf 15.8, “OpenSSL”.
Postbussen kunnen lokaal benaderd worden door direct op de server waarop de postbus wordt bewaard MUAs te gebruiken. Dit kan gedaan worden door programma's zoals mutt of mail(1) te gebruiken.
sendmail(8) is de standaard Mail Transfer Agent (MTA) in FreeBSD. sendmail's taak is het accepteren van mail van gebruikersprogramma's (MUA ) en deze te bezorgen bij de juiste mailer zoals gedefinieerd in het betreffende configuratiebestand. sendmail kan ook netwerkverbindingen accepteren en mail in lokale postbussen afleveren of bezorgen bij een ander programma.
sendmail gebruikt de volgende configuratiebestanden:
Bestandsnaam | Functie |
---|---|
/etc/mail/access | bestand met de toegangsdatabase van sendmail |
/etc/mail/aliases | Aliases voor postbussen |
/etc/mail/local-host-names | Lijst van servers waarvoor sendmail mail accepteert |
/etc/mail/mailer.conf | Configuratie voor het mailerprogramma |
/etc/mail/mailertable | Aflevertabel voor de mailer |
/etc/mail/sendmail.cf | Hoofdconfiguratiebestand van sendmail |
/etc/mail/virtusertable | Tabellen voor virtuele gebruikers en domeinen |
De toegangsdatabase definieert welke host(s) of IP-adressen
toegang hebben tot de lokale mailserver en wat voor soort toegang
ze hebben. Hosts kunnen in de lijst als OK
,
REJECT
, of RELAY
staan, of
worden doorgevoerd naar de foutafhandelingsprocedure van
sendmail met een bepaalde mailerfout.
Hosts welke vermeld staan als OK
, wat de
standaard is, kunnen mail versturen naar deze host zolang de
eindbestemming van de mail de lokale machine is. Hosts welke
vermeld staan als REJECT
worden voor alle
verbindingen geweigerd. Hosts met een RELAY
vermelding wordt toegestaan om via deze server mail naar elke
bestemming te sturen.
cyberspammer.com 550 We accepteren geen mail van spammers FREE.STEALTH.MAILER@ 550 We accepteren geen mail van spammers another.source.of.spam REJECT okay.cyberspammer.com OK 128.32 RELAY
In dit voorbeeld staan vijf vermeldingen. Mailafzenders die
overeenkomen met de linkerzijde van de tabel worden beïnvloed
door de actie die vermeld staan aan de rechterzijde van de tabel.
De eerste twee voorbeelden geven een foutcode af aan de
foutafhandelingsroutine van sendmail.
Het bericht wordt bij de externe host bekend gemaakt wanneer een
mail voldoet aan de linkerzijde van de tabel. De volgende regel
weigert mail van een specifieke host op het Internet,
another.source.of.spam
. De volgende regel accepteert
mailverbindingen van een host
okay.cyberspammer.com
, welke nauwkeuriger is dan de
regel met cyberspammer.com
erboven. Specifiekere regels vervangen minder specifieke. De
laatste regel staat het doorsturen van elektronische mail toe
vanaf hosts waarvan de IP-adressen beginnen met 128.32
.
Deze hosts zijn dan in staat om via deze mailserver naar een andere
bestemming mail te versturen.
Wanneer dit bestand is bijgewerkt, dient make
in /etc/mail/
te gedraaid te
worden om de database bij te werken.
De aliasdatabase bevat een lijst met virtuele postbussen die
verwijzen naar andere gebruiker(s), bestand(en), programma('s) of
andere aliassen. Hier zijn een paar voorbeelden die gebruikt
kunnen worden in /etc/mail/aliases
:
root: localuser ftp-bugs: joe,eric,paul bit.bucket: /dev/null procmail: "|/usr/local/bin/procmail"
Het bestandsformaat is simpel; de postbusnaam aan de
linkerzijde van de dubbele punt wordt verder uitgewerkt naar de
doel(en) aan de rechterzijde. Het eerste voorbeeld breidt de
postbus van root
uit naar de postbus
localuser
, welke dan vervolgens weer wordt
opgezocht in de aliasdatabase. Als er geen verdere overeenkomst
wordt gevonden, dan wordt het bericht afgeleverd bij de lokale
gebruiker localuser
. Het volgende
voorbeeld toont een mailinglijst. Mail voor de postbus
ftp-bugs
wordt doorverwezen naar de drie
lokale postbussen joe
, eric
en paul
. Merk op dat een
externe postbus gespecificeerd kan worden als <
user@example.com>
. Het volgende voorbeeld toont het
schrijven van mail naar een bestand, in dit geval
/dev/null
. Het laatste voorbeeld toont het sturen
van mail naar een programma, in dit geval wordt het mailbericht
doorgestuurd naar de standaard invoer van
/usr/local/bin/procmail
via een UNIX® pijp.
Wanneer dit bestand is bijgewerkt, dient make
in /etc/mail/
gedraaid te worden
om de database bij te werken.
Dit is een lijst van hostnamen die sendmail(8) moet
accepteren als de lokale hostnaam. Hierin dienen alle hostnamen
geplaatst te worden waarvoor sendmail
mail moet ontvangen. Als deze mailserver mail moet ontvangen
voor het domein example.com
en de hostnaam is mail.example.com
,
dan ziet local-host-names
er ongeveer zo
uit:
example.com mail.example.com
Wanneer dit bestand is bijgewerkt, dient sendmail(8) opnieuw gestart te worden zodat het de veranderingen kan lezen.
Het hoofdinstellingenbestand van sendmail
, sendmail.cf
controleert het
algemene gedrag van sendmail,
inclusief alles van het herschrijven van emailadressen tot het
sturen van weigeringsberichten naar externe mailservers. Met
zo'n diverse rol is dit instellingenbestand redelijk complex en
vallen de details buiten het bereik van dit hoofdstuk. Gelukkig
hoeft dit bestand maar zelden aangepast te worden voor standaard
mailservers.
Het hoofdinstellingenbestand van sendmail
kan gebouwd worden met m4(1) macro's die het
gedrag en de mogelijkheden van sendmail
specificeren. Lees
/usr/src/contrib/sendmail/cf/README
voor meer
details.
Wanneer dit bestand is bijgewerkt, dient sendmail(8) opnieuw gestart te worden om de wijzigingen door te voeren.
De virtusertable
verbindt mailadressen
voor virtuele domeinen en postbussen met echte postbussen. Deze
postbussen kunnen lokaal, op afstand, aliassen gedefinieerd in
/etc/mail/aliases
, of bestanden zijn.
root@example.com root postmaster@example.com postmaster@noc.example.net @example.com joe
In het voorbeeld hierboven staat een tabel voor een domein
example.com
. Dit bestand
wordt van boven naar beneden verwerkt, en de eerste
overeenkomende regel wordt gebruikt. De eerste regel verbindt
<root@example.com>
met de lokale postbus
root
. De volgende regel verbindt <
postmaster@example.com>
met de postbus
postmaster
op de host
noc.example.net
. Als geen van de vorige regels van
example.com
overeenkomen, zal
de laatste regel gebruikt worden, die alle andere post
geadresseerd aan iemand bij
example.com
opvangt en naar de lokale postbus
joe
stuurt.
Zoals eerder vermeld wordt FreeBSD geleverd met sendmail voorgeïnstalleerd als MTA (Mail Transfer Agent). Daarom regelt het standaard uitgaande en binnenkomende mail.
In sommige gevallen willen systeembeheerders wegens uiteenlopende redenen hun MTA vervangen. Deze redenen variëren van het uitproberen van een andere MTA tot het installeren van een bepaalde functionaliteit of pakket dat afhankelijk is van een andere MTA.
Er is een waaier van MTA's beschikbaar. Een goed startpunt is de FreeBSD Ports Collectie waar er veel gevonden kunnen worden. Het is natuurlijk mogelijk iedere MTA te gebruiken vanaf iedere locatie, zolang het draait op FreeBSD.
Begin met het installeren van de nieuwe MTA. Als de MTA
eenmaal geïnstalleerd is wordt er de kans gegeven te
beslissen of de nieuwe MTA echt voldoet aan de eisen, en is het
mogelijk de nieuwe software te configureren voordat deze het werk
van sendmail overneemt. Bevestig
voordat de MTA geïnstalleerd wordt dat de nieuwe software
geen poging onderneemt systeemtoepassingen zoals
/usr/bin/sendmail
te overschrijven, anders wordt
de nieuwe software onmiddellijk in gebruik genomen voordat het
is geconfigureerd.
Neem de documentatie van de gekozen MTA door voor meer informatie over het configureren van de software.
Als sendmail's uitgaande emaildienst uitgeschakeld wordt, is het belangrijk dat het vervangen wordt door een alternatief systeem. Als ervoor gekozen wordt dit niet te doen, zullen systeemfunctionaliteiten zoals periodic(8) niet in staat zijn hun resultaten te bezorgen per email, zoals ze normaliter verwachten te kunnen doen. Vele delen van het systeem zullen verwachten een werkend systeem aan te treffen dat compatibel is met sendmail. Als toepassingen binaries van sendmail blijven gebruiken om mail te versturen nadat deze uitgeschakeld werden, kan de mail in een inactieve sendmail wachtrij geplaatst worden, en nooit bezorgd worden.
Om sendmail volledig uit te schakelen, inclusief de uitgaande emaildienst, dient
sendmail_enable="NO" sendmail_submit_enable="NO" sendmail_outbound_enable="NO" sendmail_msp_queue_enable="NO"
toegevoegd te worden aan /etc/rc.conf
.
Als enkel sendmail's ingaande emaildienst uitgeschakeld dient te worden, dient
sendmail_enable="NO"
toegevoegd te worden aan /etc/rc.conf
.
Meer informatie over de opstartopties van
sendmail is beschikbaar in de hulppagina
rc.sendmail(8).
De nieuwe MTA kan gestart worden door deze instellingsregel
toe te voegen aan /etc/rc.conf
, zoals het
volgende voorbeeld voor postfix:
#
echo 'postfix
_enable=“YES”' >> /etc/rc.conf
De MTA zal nu automatisch tijdens het opstarten worden gestart.
Het programma sendmail is zo vanzelfsprekend als standaard software op UNIX® systemen dat sommige softwarepakketten ervan uitgaan dat sendmail reeds geïnstalleerd en geconfigureerd is. Daarom voorzien vele alternatieve MTA's in compatibele implementaties van de opdrachtregelinterface van sendmail; dit vergemakkelijkt het gebruik van alternatieve MTA's als vervanging voor sendmail.
Bij het gebruiken van een alternatieve MTA moet men er zeker
van zijn dat software die probeert de standaardtoepassingen van
sendmail zoals
/usr/bin/sendmail
te gebruiken, ook daadwerkelijk
de gekozen alternatieve mailer gebruikt. Gelukkig heeft FreeBSD
hiervoor een systeem, mailwrapper(8), dat deze taak van de
systeembeheerder overneemt.
Als sendmail werkt zoals
origineel geïnstalleerd, bevat
/etc/mail/mailer.conf
bij benadering het volgende:
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
Dit wil zeggen dat wanneer een van deze algemene opdrachten
(zoals sendmail
zelf) uitgevoerd wordt, het
systeem in werkelijkheid een kopie van de mailwrapper genaamd
sendmail
uitvoert, dat
mailer.conf
controleert en
/usr/libexec/sendmail/sendmail
uitvoert. Dit
systeem maakt het eenvoudiger te specificeren welke toepassingen
daadwerkelijk uitgevoerd worden wanneer deze standaard
sendmail
functies aangeroepen worden.
Als men bijvoorbeeld wil dat
/usr/local/supermailer/bin/sendmail-compat
uitgevoerd
wordt in plaats van sendmail, kan
men /etc/mail/mailer.conf
als volgt
aanpassen:
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
Wanneer alles correct geconfigureerd is, dienen ofwel alle ongebruikte sendmail processen gestopt te worden en de processen behorend aan de nieuwe software gestart te worden, ofwel dient het systeem opnieuw gestart te worden. Herstarten geeft ook de mogelijkheid te controleren of de nieuwe MTA correct geconfigureerd is om tijdens het opstartproces gestart te worden.
28.5.1. | Waarom is het nodig om de FQDN te gebruiken voor hosts op de site? |
Het is waarschijnlijk dat de host zich in een ander
domein bevindt; bijvoorbeeld als het gewenst is om host
Traditioneel werd dit door BSD BIND resolvers toegestaan. De
huidige versie van BIND die
met FreeBSD wordt geleverd levert niet langer standaard
afkortingen voor onvolledig gekwalificeerde domeinnamen
anders dan het huidige domein. Dus moet een
ongekwalificeerde host Dit verschilt van het vorige gedrag, waar de zoektocht
doorging over Als een goede tussenoplossing kan deze regel: search foo.bar.edu bar.edu in plaats van het voorgaande: domain foo.bar.edu in | |
28.5.2. | sendmail zegt mail loops back to myself |
Dit wordt in de FAQ van sendmail als volgt beantwoord: Deze foutmeldingen verschijnen:
553 MX list for domain.net points back to relay.domain.net
554 <user@domain.net>... Local configuration error
Hoe kan dit probleem worden opgelost?
Er is gevraagd om mail van het domein (bijvoorbeeld domain.net) naar een
specifieke host door te sturen (in dit geval relay.domain.net) door
gebruik te maken van een MX-regel, maar de machine die het door moet
sturen herkent zichzelf niet als domain.net. Voeg domain.net toe aan
/etc/mail/local-host-names [bekend als /etc/sendmail.cw voor versies
eerder dan 8.10] (als FEATURE(use_cw_file) gebruikt wordt) of voeg
“Cw domain.net” toe aan /etc/mail/sendmail.cf. De FAQ van sendmail is te
vinden op | |
28.5.3. | Hoe kan een mailserver op een inbel-PPP-host gedraaid worden? |
Het is gewenst om een FreeBSD-computer in een LAN met het Internet te verbinden. De FreeBSD-computer zal en mail-gateway voor het LAN zijn. De PPP-verbinding is niet toegewijd. Er zijn minstens twee manieren om dit te doen. Eén manier is om UUCP te gebruiken. Een andere manier is ervoor te zorgen dat een server die
altijd met het Internet verbonden is secundaire
MX-diensten
voor het domein biedt. Als het domein bijvoorbeeld example.com. MX 10 example.com. MX 20 example.net. Er dient slechts één host als de
uiteindelijke ontvanger gespecificeerd te worden (voeg
Wanneer de verzendende Het kan wenselijk zijn om iets als het onderstaande als inlogscript te gebruiken: #!/bin/sh # Zet mij in /usr/local/bin/pppmyisp ( sleep 60 ; /usr/sbin/sendmail -q ) & /usr/sbin/ppp -direct pppmyisp Indien er een apart inlogscript voor een gebruiker wordt
aangemaakt, kan Een verdere verfijning van de situatie is deze: Bericht gestolen van de FreeBSD Internet service provider mailinglijst. > we bieden de secundaire MX voor een klant. > De klant maakt automatisch verschillende keren per dag een verbinding > met onze diensten om de mailberichten naar zijn primaire MX te > sturen (we bellen zijn site niet indien er een mail voor zijn > domein arriveert). Onze sendmail verstuurt de mailrij om de 30 > minuten. Op het moment moet de klant 30 minuten online blijven om > er zeker van te zijn dat alle mail naar de primaire MX is gegaan. > > Is er een commando dat sendmail er toe aanzet om alle mailberichten > nu te versturen? De gebruiker heeft uiteraard geen root-rechten op > onze machine. In de sectie “privacy flags” van sendmail.cf staat een definitie Opgoaway,restrictqrun Verwijder restrictqrun om niet-root-gebruikers toe te staan te beginnen de rij te verwerken. Het kan ook wenselijk zijn om de MXs opnieuw te rangschikken. Wij zijn zo de eerste MX voor onze klanten, en we hebben dit gedefinieerd: # Als we de beste MX voor een host zijn, probeer direct in plaats van # een lokale configuratiefout te genereren. OwTrue Op deze manier zal een site op afstand rechtstreeks hier afleveren, zonder de verbinding van de klant te proberen. Vervolgens wordt er naar de klant verstuurd. Dit werkt alleen voor “hosts”, dus dient de klant hun mailcomputer “customer.com” te noemen en “hostname.customer.com” in de DNS de plaatsen. Plaats een A-regel in de DNS voor “customer.com”. | |
28.5.4. | Waarom blijven er fouten als Relaying Denied verchijnen wanneer er mail van andere hosts wordt verstuurd? |
In standaard FreeBSD-installaties is sendmail geconfigureerd om alleen mail te versturen van de host waarop het draait. Als bijvoorbeeld een POP-server beschikbaar is, kunnen gebruikers mail controleren vanuit school, werk, of andere lokaties op afstand, maar zullen ze nog steeds niet in staat zijn om uitgaande emails van lokaties van buitenaf te versturen. Gewoonlijk zal er na enkele ogenblikken na de poging een email van MAILER-DAEMON worden verzonden met een foutbericht 5.7 Relaying Denied. Er zijn verschillende manieren om dit te omzeilen. De
oplossing die het meest voor de hand ligt, is om het adres
van de internetprovider in een bestand relay-domains op
Nadat dit bestand is aangemaakt of bewerkt dient sendmail opnieuw gestart te worden. Dit werkt prima indien u een serverbeheerder bent en het niet wenselijk is om mail lokaal te verzenden, of indien het gewenst is om een point-en-click client/systeem op een andere machine of zelfs bij een andere internetprovider te gebruiken. Het is ook erg bruikbaar indien er slechts enkele email-accounts zijn aangemaakt. Als er een groot aantal adressen dient te worden toegevoegd, kan dit bestand in een tekstverwerker worden geopend en de domeinen worden toegevoegd, één per regel: your.isp.example.com other.isp.example.net users-isp.example.org www.example.org Nu zal het verzenden van elke mail door dit systeem, verstuurd door elke host in deze lijst, lukken (aangenomen dat de gebruiker een account op het systeem heeft). Dit is een aardige manier om gebruikers toe te staan op afstand mail vanaf het systeem te verzenden zonder dat mensen wordt toegestaan om spam vanaf het systeem te verzenden. |
De volgende sectie behandelt meer ervaren onderwerpen zoals mailinstellingen en het instellen van mail voor het gehele domein.
Het verzenden van email naar externe hosts zou onmiddellijk
moeten werken, zolang /etc/resolv.conf
is
aangemaakt of zolang er een nameserver wordt gedraaid. Indien
het gewenst is dat mail voor de host aan de MTA (bijvoorbeeld
sendmail) geleverd dient te worden op
de FreeBSD-host, zijn er twee methoden:
Draai een eigen nameserver op een eigen domein,
bijvoorbeeld FreeBSD.org
Zorg ervoor dat mail direct aan de host geleverd wordt.
Dit wordt gedaan door mail direct aan de huidige DNS-naam
voor de machine, bijvoorbeeld
example.FreeBSD.org
, te leveren.
Onafhankelijk van de hierboven gekozen methode, dient de host, om er direct mail aan geleverd te krijgen, een permanent statisch IP-adres te hebben (niet een dynamisch adres, zoals dat bij de meeste PPP-inbelverbindingen het geval is). Indien er een firewall actief is, dient het SMTP-verkeer naar de host door te geven. Indien het gewenst is dat de host direct mail ontvangt, dient één van de twee onderstaande dingen geregeld te zijn:
Met elk van de bovenstaanden kan mail direct op de host ontvangen worden.
Probeer dit:
#
hostname
example.FreeBSD.org#
host example.FreeBSD.org
example.FreeBSD.org has address 204.216.27.XX
Indien dit verschijnt, zal mail die direct naar
<yourlogin@example.FreeBSD.org>
zonder
problemen moeten werken (aangenomen dat
sendmail correct werkt op
example.FreeBSD.org
).
Indien in plaats daarvan zoiets als dit verschijnt:
#
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
zal alle mail die naar de host (
example.FreeBSD.org
) verzameld worden op hub
onder dezelfde gebruikersnaam in plaats van direct
naar de host verstuurd te worden.
Bovenstaande informatie wordt door de DNS-server afgehandeld. De DNS-regel die informatie over het routen van mail bevat is de Mail eXchange regel. Indien er geen MX-regel is, zal mail direct aan de host worden afgeleverd door middel van het IP-adres.
De MX-regel voor freefall.FreeBSD.org
zag er eens als volgt uit:
freefall MX 30 mail.crl.net freefall MX 40 agora.rdrop.com freefall MX 10 freefall.FreeBSD.org freefall MX 20 who.cdrom.com
Te zien is dat freefall
vele MX-regels had.
Het laagste MX-getal hoort bij de host die de mail direct
ontvangt indien beschikbaar; indien het om een of andere reden
niet beschikbaar is, accepteren de anderen (soms “
reserve-MXs” genoemd) tijdelijk berichten en geven ze
die door wanneer een lager-genummerde host beschikbaar is, om
uiteindelijk aan de laagstgenummerde host af te leveren.
Alternatieve MX-sites zouden andere Internetverbindingen dan die van de host moeten hebben om het nuttigst te zijn. De internetprovider of een andere vriendelijke site zouden geen problemen moeten hebben met het leveren van deze dienst.
Om een “mailhost” (ook bekend als een
mailserver) te installeren, is het nodig om mail die verzonden
wordt naar de verschillende werkstations ernaar toe te leiden.
In principe dient alle mail voor elke hostnaam in het domein (in
dit geval *.FreeBSD.org
) geclaimd
te worden en naar de mailserver omgeleid te worden zodat
gebruikers hun mail op de hoofdmailserver kunnen ontvangen.
Het gemakkelijkste is het indien er een gebruikersaccount met dezelfde gebruikersnaam op beide machines bestaat. Hiervoor dient adduser(8) gebruikt te worden.
De mailhost die het meest gebruikt zal worden is de toegewezen mailuitwisselaar voor elk werkstation in het netwerk. Dit wordt in de DNS-instellingen als volgt gedaan:
example.FreeBSD.org A 204.216.27.XX ; werkstation MX 10 hub.FreeBSD.org ; mailhost
Dit zal mail voor het werkstation naar de mailhost leiden onafhankelijk van waar de A-regel naar toe wijst. De mail wordt naar de MX-host verzonden.
Om dit te doen is het nodig om een eigen DNS-server te draaien. Neem, indien dit niet het geval is of het niet mogelijk is om een eigen DNS-server te draaien, contact op met degene die de DNS levert.
De volgende informatie is nuttig indien email virtueel gehost
wordt. In dit voorbeeld wordt aangenomen dat er een klant is
met een eigen domein, in dit geval
customer1.org
, en dat alle mail voor customer1.org
naar de mailhost
mail.myhost.com
verzonden dient te
worden. De regel in het DNS dient er als volgt uit te zien:
customer1.org MX 10 mail.myhost.com
Het is niet nodig om een A-regel voor
customer1.org
te hebben als
er voor dat domein alleen email afgehandeld dient te worden.
Let erop dat customer1.org
pingen niet werkt tenzij er een A-regel voor bestaat.
Als laatste dient sendmail op de mailhost te weten voor welke domeinen en/of hostnamen het mail dient te accepteren. Er bestaan enkele verschillende manieren om dit te doen. Elk van de volgende manieren zal werken:
Voeg de hosts toe aan het bestand
/etc/mail/local-host-names
indien
FEATURE(use_cw_literal)
. Indien er een versie
van sendmail wordt gebruikt die
ouder is dan 8.10, is het te gebruiken bestand
/etc/sendmail.cw
.
Voeg een regel met Cwyour.host.com
toe aan /etc/sendmail.cf
of aan
/etc/mail/sendmail.cf
indien versie
8.10 of nieuwer van sendmail
wordt gebruikt.
De instellingen van sendmail die met FreeBSD worden geleverd zijn ontworpen voor sites die een directe verbinding met het Internet hebben. Sites waarvoor de mail via UUCP willen uitwisselen dienen een ander instellingenbestand voor sendmail te installeren.
Het handmatig bijstellen van
/etc/mail/sendmail.cf
is een geavanceerd onderwerp.
Versie 8 van sendmail genereert
instellingenbestanden via m4(1) preprocessing, waarbij het
eigenlijke instellen op een hoger abstractieniveau plaatsvindt.
De instellingenbestanden voor m4(1) kunnen onder
/usr/share/sendmail/cf
gevonden worden. Het bestand
README
in de map cf
kan
dienen als een basisintroductie tot het instellen van m4(1).
De beste manier om UUCP te ondersteunen is het gebruiken van
de eigenschap mailertable
. Dit maakt een
database aan die sendmail kan gebruiken
om beslissingen over routes te nemen.
Als eerste dient het .mc
-bestand
aangemaakt te worden. De map
/usr/share/sendmail/cf/cf
bevat enkele
voorbeelden. Indien het bestand foo.mc
heet,
hoeft slechts het volgende gedaan te worden om het in een geldig
sendmail.cf
om te zetten:
#
cd /etc/mail
#
make foo.cf
#
cp foo.cf /etc/mail/sendmail.cf
Een typisch .mc
-bestand kan er als volgt
uitzien:
VERSIONID(`Uw versienummer
') OSTYPE(bsd4.4) FEATURE(accept_unresolvable_domains) FEATURE(nocanonify) FEATURE(mailertable, `hash -o /etc/mail/mailertable') define(`UUCP_RELAY',uw.uucp.relay
) define(`UUCP_MAX_SIZE', 200000) define(`confDONT_PROBE_INTERFACES') MAILER(local) MAILER(smtp) MAILER(uucp) Cwuw.alias.host.naam
Cwuwuucpnodenaam.UUCP
De regels die de eigenschappen
accept_unresolvable_domains
,
nocanonify
, en
confDONT_PROBE_INTERFACES
bevatten zorgen
ervoor dat er geen gebruik wordt gemaakt van het DNS tijdens het
afleveren van mail. De clausule UUCP_REPLAY
is
nodig om UUCP-aflevering te ondersteunen. Hier dient een hostnaam
op het Internet ingevuld te worden die .UUCP pseudo-domeinadressen
kan afhandelen, waarschijnlijk zal dit de mailrelay van de
Internetprovider zijn.
Nadat dit gedaan is, is er een bestand
/etc/mail/mailertable
nodig. Indien er slechts
één verbinding naar buiten is die voor alle mails
gebruikt wordt, zal het volgende bestand volstaan:
#
# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
. uucp-dom:uw.uucp.relay
Een complexer voorbeeld kan er als volgt uitzien:
# # 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:
De eerste drie regels behandelen speciale gevallen waarbij
domein-geadresseerde mail niet naar de standaardroute verzonden
dient te worden, maar in plaats daarvan naar een UUCP-buur om het
afleverpad “af te snijden”. De volgende regel
handelt mail naar het lokale Ethernetdomein die met SMTP
afgeleverd kan worden af. Als laatste worden UUCP-buren in de
.UUCP-pseudodomeinnotatie genoemd, om een
uucp-buur!ontvanger
-overname toe te staan. De laatste regel bestaat altijd
uit een enkele punt, dat met al het andere matcht, met
UUCP-aflevering naar een UUCP-buur die als universele mail-gateway
naar de wereld dient. Alle nodenamen achter het sleutelwoord
uucp-dom:
dienen geldige UUCP-buren te zijn,
dat met het commando uuname
gecontroleerd kan
worden.
Dit bestand dient naar een DBM-database omgezet te worden voor
gebruik. De opdrachtregel om dit te doen kan het beste als
commentaar bovenaan het bestand mailertable
gezet worden. Deze opdracht dient telkens wanneer het bestand
mailertable
wordt gewijzigd uitgevoerd te
worden.
Laatste tip: indien de werking van een zekere mailroute niet
zeker is, kan de optie -bt
van
sendmail gebruikt worden. Het start
sendmail in adrestestmodus
op; voer 3,0
gevolgd door het adres dat voor de
mailrouting getest dient te worden in. De laatste regel bevat de
gebruikte interne mailagent, de bestemmingshost waarmee deze agent
aangeroepen wordt, en het (mogelijk vertaalde) adres. Deze modus
kan door het typen van Ctrl+D
verlaten worden.
%
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 $@uw.uucp.relay
$: foo < @ example . com . >>
^D
Er zijn veel gevallen waarbij het gewenst is om enkel mail te verzenden via een relay. Voorbeelden hiervan zijn:
De computer is een desktop, maar het is gewenst om programma's als send-pr(1) te gebruiken. Hiervoor dient de mailrelay van de internetprovider gebruikt te worden.
De computer is een server welke mail niet lokaal verwerkt, maar alle mail voor verwerking doorstuurt.
Zowat elke MTA kan deze specifieke taak vervullen. Helaas kan het erg moeilijk zijn om een MTA met alle mogelijkheden correct in te stellen om alleen uitgaande mail te behandelen. Programma's als sendmail en postfix zijn hiervoor grotendeels overbodig.
Ook kan het zijn dat de overeenkomst van een typisch internetabonnement het draaien van een “mail server” verbiedt.
De gemakkelijkste manier om aan deze behoeften te voldoen is
door de port mail/ssmtp te
installeren. Voer als root
de volgende
opdrachten uit:
#
cd /usr/ports/mail/ssmtp
#
make install replace clean
Eenmaal geïnstalleerd kan
mail/ssmtp door middel van het
vier-regelige bestand
/usr/local/etc/ssmtp/ssmtp.conf
ingesteld
worden:
root=uwechteemail@example.com mailhub=mail.example.com rewriteDomain=example.com hostname=_HOSTNAME_
Let erop dat het echte emailadres voor root
gebruikt wordt. Vervang
mail.example.com
door de uitgaande mail relay van de
internetprovider (ook wel de “uitgaande mailserver”
of “SMTP-server” genoemd).
Let erop dat sendmail uitgeschakeld wordt, inclusief de uitgaande maildienst. Raadpleeg Paragraaf 28.4.2, “sendmail uitschakelen” voor details.
mail/ssmtp heeft nog meer
mogelijkheden. Raadpleeg het voorbeeldinstelbestand
/usr/local/etc/ssmtp
of de hulppagina van
ssmtp voor enkele voorbeelden en meer
informatie.
Door ssmtp op deze manier in te stellen kan alle software op de computer welke mail dient te versturen correct functioneren, zonder dat het beleid van de internetprovider geschonden wordt of dat de computer gekaapt kan worden om spam mee te versturen.
Indien het IP-adres statisch is, is het niet nodig om de standaardwaarden aan te passen. De toegewezen Internetnaam dient als hostnaam gebruikt te worden waarna sendmail de rest kan doen.
Indien het IP-adres dynamisch is en er een inbelverbinding
naar het Internet gebruikt wordt, is de postbus waarschijnlijk op
de mailserver van de Internetprovider geplaatst. Stel dat het
domein van de Internetprovider
example.net
is, dat de gebruikersnaam
gebruiker
is, dat de machine
bsd.home
is, en dat volgens de Internetprovider relay.example.net
als mailrelay gebruikt
kan worden.
Om mail van de postbus te ontvangen, dient er een
ontvangstagent geïnstalleerd te worden. Het gereedschap
fetchmail is een goede keuze omdat het
veel verschillende protocollen ondersteunt. Dit programma is als
pakket of vanuit de Portscollectie (
mail/fetchmail) beschikbaar.
Normaliter levert de Internetprovider POP.
Indien gebruikers-PPP gebruikt wordt, kan de
mail automatisch worden opgehaald wanneer er een verbinding met
Internet tot stand is gebracht door middel van de volgende regel
in /etc/ppp/ppp.linkup
:
MYADDR: !bg su gebruiker -c fetchmail
Indien sendmail gebruikt wordt (
zoals hieronder te zien is) om mail aan niet-lokale accounts af te
leveren, is het waarschijnlijk gewenst dat sendmail
de mailrij verwerkt zodra er een Internetverbinding
tot stand is gebracht. Hiervoor dient de volgende opdracht na de
fetchmail
-opdracht in
/etc/ppp/ppp.linkup
geplaatst te worden:
!bg su gebruiker -c "sendmail -q"
Aangenomen wordt dat er een account voor gebruiker
op bsd.home
aanwezig is.
In de thuismap van gebruiker
op bsd.home
dient een bestand
.fetchmailrc
aangemaakt te worden:
poll example.net protocol pop3 fetchall pass MijnGeheim
Dit bestand dient alleen voor gebruiker
leesbaar te zijn aangezien dit bestand het wachtwoord
MijnGeheim
bevat.
Om mail met de correcte from:
-header te
versturen, dient sendmail <
gebruiker@example.net>
in plaats van <
gebruiker@bsd.home>
te gebruiken. Het kan ook wenselijk
zijn om sendmail alle mail via relay.example.net
te versturen, om sneller
mail te verzenden.
Het volgende .mc
zou voldoende moeten
zijn:
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
In de vorige sectie staan de details over het omzetten van een
.mc
-bestand in bestand sendmail.cf
. Ook dient sendmail
herstart te worden na het wijzigen van sendmail.cf
.
Het hebben van SMTP-authenticatie op een mailserver heeft een aantal voordelen. SMTP- authenticatie kan een extra beveiligingslaag toevoegen aan sendmail, en het geeft mobiele gebruikers die van hosts wisselen de mogelijkheid om dezelfde mailserver te gebruiken zonder dat ze telkens de instellingen van hun mailclient moeten veranderen.
Installeer security/cyrus-sasl2
vanuit de ports. Deze port is te vinden in
security/cyrus-sasl2. De
port security/cyrus-sasl2
ondersteund een aantal opties tijdens de compilatie. Voor de
SMTP-authenticatiemethode die hier gebruikt wordt, dient de
optie LOGIN
te zijn uitgezet.
Voeg nadat security/cyrus-sasl2
is geïnstalleerd deze regel toe aan
/usr/local/lib/sasl2/Sendmail.conf
:
pwcheck_method: saslauthd
Installeer vervolgens
security/cyrus-sasl2-saslauthd,
en voeg de volgende regel toe aan
/etc/rc.conf
:
saslauthd_enable="YES"
en start vervolgens het saslauthd-daemon op:
#
service saslauthd start
Deze daemon fungeert als een onderhandelaar voor
sendmail die zich tegen de FreeBSD
passwd
-database authenticeert. Dit
bespaart de moeite van het opnieuw creëren van een nieuwe
verzameling gebruikersnamen en wachtwoorden voor elke
gebruiker die SMTP-authenticatie nodig
heeft, en het houdt de wachtwoorden voor het inloggen en de
mail hetzelfde.
Voeg de volgende regels toe aan /etc/make.conf
:
SENDMAIL_CFLAGS=-I/usr/local/include/sasl -DSASL SENDMAIL_LDFLAGS=-L/usr/local/lib SENDMAIL_LDADD=-lsasl2
Deze regels geven sendmail de juiste instelopties om tijdens het compileren met cyrus-sal2 te linken. Zorg ervoor dat cyrus-sasl2 is geïnstalleerd voordat sendmail wordt gehercompileerd.
Hercompileer sendmail door de volgende opdrachten uit te voeren:
#
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
Het compileren van sendmail zou
geen problemen moeten geven indien /usr/src
niet veel veranderd is en dat de benodigde
gedeelde bibliotheken aanwezig zijn.
Nadat sendmail is gecompileerd
en opnieuw is gecompileerd, dient
/etc/mail/freebsd.mc
(of het plaatselijke
.mc
-bestand) gewijzigd te worden. Veel
beheerders kiezen ervoor om de uitvoer van hostname(1)
als .mc
-bestandsnaam te gebruiken vanwege
de uniciteit. Voeg deze regels toe:
dnl set SASL options TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
Deze opties stellen de verschillende beschikbare methoden voor sendmail in om gebruikers te authenticeren. Gebruik de bijgeleverde documentatie indien een andere methode dan pwcheck gewenst is.
Voer als laatste make(1) in /etc/mail
uit. Hierdoor wordt het nieuwe .mc
-bestand uitgevoerd en wordt een bestand
freebsd.cf
(of de plaatselijke variant ervan)
aangemaakt. Voer hierna de opdracht make install
restart
uit, wat het bestand naar
sendmail.cf
kopieert en sendmail
op de juiste manier herstart. In
/etc/mail/Makefile
staat meer informatie over dit
proces.
Indien alles goed is gegaan, moet het mogelijk zijn om de
inloginformatie in de mailclient in te voeren en een testbericht
te versturen. Zet voor verdere onderzoekingen de LogLevel
van sendmail op 13 en houdt
/var/log/maillog
in de gaten voor
foutmeldingen.
Refereer naar de sendmail-pagina betreffende SMTP-authenticatie voor meer informatie.
Een mail user agent (MUA) is een toepassing
die wordt gebruikt om email te versturen en te ontvangen.
Bovendien, omdat email “evolueert” en steeds
complexer wordt, worden MUAs steeds krachtiger
in de manier waarop ze met email omgaan; dit biedt gebruikers
verhoogde functionaliteit en flexibiliteit. FreeBSD ondersteunt
verschillende mail user agents die allemaal eenvoudig
geïnstalleerd kunnen worden door de
FreeBSD Ports Collectie te gebruiken. Gebruikers kunnen
kiezen tussen grafische emailclients zoals evolution
of balsa, op de console
gebaseerde clients zoals mutt,
alpine of mail
, of de
webinterface die door sommige grote organisaties wordt gebruikt.
mail(1) is de standaard mail user agent (MUA) in FreeBSD. Het is een consolegebaseerde MUA die alle basisfunctionaliteit biedt die nodig is om tekstgebaseerde email te verzenden en te ontvangen, maar het is beperkt in de mogelijkheden om met bijlagen om te gaan en het ondersteunt alleen plaatselijke postbussen.
Hoewel mail
van huis uit geen
ondersteuning voor POP- of IMAP
-servers biedt, kunnen deze postbussen gedownload
worden naar een lokaal mbox
-bestand door
een toepassing als fetchmail te
gebruiken, welke later in dit hoofdstuk behandeld wordt (Paragraaf 28.12, “fetchmail gebruiken”).
Draai mail
om email te versturen en te
ontvangen:
%
De inhoud van de gebruikerspostbus in /var/mail
wordt automatisch gelezen
door het programma mail
. Indien de postbus
leeg is, eindigt het programma het een melding dat er geen mail
gevonden kon worden. Wanneer de postbus is gelezen, wordt de
applicatie-interface gestart, en wordt er een berichtenlijst
weergegeven. Berichten worden automatisch genummerd, zoals in
het volgende voorbeeld te zien is:
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"
Berichten kunnen nu worden gelezen door middel van het
commando t van mail
, gevolgd
door het gewenste berichtnummer. In dit voorbeeld wordt de
eerste email gelezen:
& 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)
This is a test message, please reply if you receive it.
Zoals in bovenstaand voorbeeld te zien is, zorgt de toets t ervoor dat het bericht met volledige headers wordt getoond. Om de berichtenlijst nogmaals weer te geven, dient de toets h gebruikt te worden.
Er kan met mail
op een email gereageerd
worden, door gebruik te maken één van de toetsen
R of r. De toets
R vertelt mail
dat er alleen
aan de verzender van het bericht geantwoord dient te worden,
terwijl de toets r niet alleen aan de verzender
antwoordt, maar ook aan andere ontvangers van het bericht. Het
is ook mogelijk om achter deze commando's het berichtnummer te
plaatsen waarop gereageerd dient te worden. Nadat dit gedaan is
, dient het antwoord gegeven te worden, en dient het einde van
het bericht aangegeven te worden met een enkele
. op een nieuwe regel. Een voorbeeld staat
hieronder:
&R 1
To: root@localhost Subject: Re: testThank you, I did get your email. .
EOT
Om een nieuwe email te verzenden, dient de toets m gebruikt te worden, gevolgd door het adres van de ontvanger. Er kunnen meerdere ontvangers gespecificeerd worden door ze met een , te scheiden. Hierna kan het onderwerp van het bericht worden gegeven, gevolgd door de inhoud van het bericht. Het einde van het bericht dient te worden aangegeven door een enkele . op een nieuwe regel te plaatsen.
&mail root@localhost
Subject:I mastered mail Now I can send and receive email using mail ... :) .
EOT
Binnen het programma mail
kan op elk
moment de opdracht ? gebruikt worden om hulp
weer te geven, hiervoor kan ook de hulppagina mail(1)
worden geraadpleegd.
Zoals eerder is aangegeven, is het programma mail(1)
van origine niet ontworpen om met bijlagen om te gaan, dus
behandelt het deze slecht. Nieuwere MUAs
zoals mutt gaan veel intelligenter
met bijlagen om. Maar indien het programma mail
nog steeds geprefereerd wordt, kan de port
converters/mpack van
aanzienlijk nut zijn.
mutt is een kleine doch zeer krachtige mail user agent, met uitstekende mogelijkheden, waaronder:
De mogelijkheid om berichten te threaden;
PGP-ondersteuning voor het digitaal ondertekenen en versleutelen van email;
MIME-ondersteuning;
Maildir-ondersteuning;
Erg goed aan te passen.
Al deze eigenschappen zorgen ervoor dat mutt
een van de meest geavanceerde beschikbare mail
user agents is. Op http://www.mutt.org
staat meer informatie.
De stabiele versie van mutt kan geïnstalleerd worden door de port mail/mutt te gebruiken, terwijl de huidige ontwikkelaarsversie geïnstalleerd kan worden via de port mail/mutt-devel. Nadat de port is geïnstalleerd, kan mutt gestart worden met het volgende commando:
%
mutt
mutt zal automatisch de inhoud
van de gebruikerspostbus in /var/mail
lezen en de inhoud
weergeven indien van toepassing. Indien er geen mails gevonden
zijn in de gebruikerspostbus, zal mutt
wachten voor opdrachten van de gebruiker. Het
onderstaande voorbeeld laat zien hoe mutt
een lijst berichten weergeeft:
Selecteer om een email te lezen deze met de cursortoetsen, en sla de toets Enter aan. Een voorbeeld waarbij mutt email laat zien staat hieronder:
Net zoals het commando mail(1) staat mutt gebruikers toe om alleen de afzender alsook alle ontvangers te beantwoorden. Om alleen de afzender van de email te antwoorden, wordt de toets r gebruikt. Om aan een groep te antwoorden, welke aan zowel de originele afzender als aan alle berichtontvangers wordt gestuurd, wordt de toets g gebruikt.
mutt maakt gebruikt van het
programma vi(1) als tekstverwerker voor het aanmaken en
beantwoorden van emails. De gebruiker kan dit aanpassen door
een eigen .muttrc
aan te maken in hun
thuismap en de variabele editor
of de
omgevingsvariabele EDITOR
aan te passen. Zie
http://www.mutt.org/
voor meer
informatie over het instellen van
mutt.
Voor het opstellen van een nieuw mailbericht wordt de toets
m gebruikt. Nadat er een geldig bericht is
gegeven, start mutt vi(1) op en
kan de mail geschreven worden. Nadat de inhoud van de mail is
geschreven, zal mutt nadat
vi
verlaten is, zichzelf hervatten en een
overzichtsscherm van de te verzenden mail afbeelden. Om de mail
te versturen wordt de toets y gebruikt. Een
voorbeeld van het overzichtsscherm is hieronder te zien:
mutt bevat ook uitgebreide hulp, welke in de meeste menu's geactiveerd kan worden door de toets ? aan te slaan. De bovenste regel geeft ook de relevante toetsen aan.
alpine richt zich op de beginnende gebruiker, maar bevat ook geavanceerde mogelijkheden.
Er zijn in het verleden verschillende kwetsbaarheden voor alpine ontdekt, welke aanvallers op afstand in staat stelden om willekeurige code als gebruikers op het lokale systeem uit te voeren, door een speciaal voorbereide email te versturen. Alle bekende problemen van dit type zijn gerepareerd, maar de code van alpine is op een zeer onveilige manier geschreven en de beveiligingsofficier van FreeBSD gelooft dat het waarschijnlijk is dat er nog meer onontdekte kwetsbaarheden zijn. Installeer alpine op eigen risico.
De huidige versie van alpine kan door middel van de port mail/alpine geïnstalleerd worden. Wanneer de port geïnstalleerd is, kan alpine met het volgende commando gestart worden:
%
alpine
De eerste keer dat alpine wordt gedraaid geeft het een welkomstpagina met een korte introductie weer, alsmede een verzoek van het ontwikkelteam van alpine om een anoniem emailbericht te versturen wat ze in staat stelt om te beoordelen hoeveel gebruikers hun client gebruiken. Druk op Enter om dit anonieme bericht te versturen, of druk op E om het welkomstscherm te verlaten zonder een anoniem bericht te versturen. Een voorbeeld van het welkomstscherm is hieronder te zien:
Vervolgens wordt het hoofdmenu getoond, waarin gemakkelijk met de cursortoetsen kan worden genavigeerd. Dit hoofdmenu biedt afkortingen voor het schrijven van nieuwe mail, het doorbladeren van mailmappen, en zelfs het beheren van het adresboek. Onder het hoofdmenu worden relevante toetscombinaties voor de huidige taak getoond.
De standaardmap die door alpine
wordt geopend is de inbox
.
Gebruik de toets I om de berichtenindex te
zien, of selecteer de optie zoals hieronder te zien is:
De berichtenindex geeft de berichten in de huidige map weer, en kan met de cursortoetsen worden genavigeerd. Gemarkeerde berichten kunnen worden gelezen door op Enter te drukken.
In onderstaand screenshot wordt een voorbeeldbericht door alpine weergegeven. Toetsencombinaties worden ter referentie aan de onderkant van het scherm weergegeven. Een voorbeeld van een van deze combinaties is de toets r, welke de MUA vertelt op het huidige bericht te antwoorden.
Voor het beantwoorden van een bericht wordt in alpine gebruikt gemaakt van de tekstverwerker pico, welke standaard bij alpine wordt geïnstalleerd. Het programma pico maakt het gemakkelijk om in het bericht te navigeren en is meer vergevingsgezind voor nieuwe gebruikers dan vi(1) of mail(1). Wanneer het antwoord voltooid is, kan het bericht worden verzonden door Ctrl+X te gebruiken. Het programma alpine zal om bevestiging vragen.
Het programma alpine kan worden
aangepast door de optie van het
hoofdmenu te gebruiken. Raadpleeg http://www.washington.edu/pine/
voor meer
informatie.
fetchmail is een volwaardige client voor IMAP en POP welke gebruikers in staat stelt om automatisch mail van IMAP- en POP-servers op afstand naar plaatselijke postbussen te downloaden; daar kan het gemakkelijker worden benaderd. fetchmail kan met de port mail/fetchmail worden geïnstalleerd, en biedt verschillende mogelijkheden, waaronder:
Ondersteuning voor POP3, APOP, KPOP, IMAP, ETRN, en ODMR protocollen.
De mogelijkheid om mail via SMTP door te sturen, wat filteren, doorsturen, en aliassen toestaat om normaal te functioneren.
Kan in daemon-modus gedraaid worden om periodiek op nieuwe berichten te controleren.
Kan verschillende postbussen ophalen en ze afhankelijk van de instellingen naar verschillende plaatselijke gebruikers doorsturen.
Hoewel het niet de bedoeling van dit document is om alle
mogelijkheden van fetchmail uit te
leggen, zullen sommige basismogelijkheden worden uitgelegd. Het
gereedschap fetchmail heeft een
instellingenbestand .fetchmailrc
nodig om
correct te kunnen werken. Dit bestand bevat zowel informatie
over de server als de inloggegevens. Vanwege de gevoelige aard
van de inhoud van dit bestand is het aan te raden om het met het
volgende commando alleen leesbaar te maken voor de eigenaar ervan
:
%
chmod 600 .fetchmailrc
Het volgende .fetchmailrc
dient als een
voorbeeld voor het downloaden van een postbus van een enkele
gebruiker via POP. Het vertelt
fetchmail om met example.com
te verbinden als gebruiker
joesoap
met wachtwoord XXX
. Dit voorbeeld gaat ervan uit dat de gebruiker
joesoap
ook een gebruiker is op het
plaatselijke systeem.
poll example.com protocol pop3 username "joesoap" password "XXX"
Het volgende voorbeeld legt verbinding met meerdere POP- en IMAP-servers en stuurt de mail door naar verschillende plaatselijke gebruikers indien van toepassing:
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;
Het gereedschap fetchmail kan in
daemon-modus worden gedraaid met de vlag -d
gevolgd door het interval (in seconden) waarmee
fetchmail de servers die in het bestand
.fetchmailrc
vermeld staan dient te vragen.
Het volgende voorbeeld zorgt ervoor dat fetchmail
elke 600 seconden vraagt:
%
fetchmail -d 600
Meer informatie over fetchmail is
te vinden op http://fetchmail.berlios.de/
.
Het gereedschap procmail is een
zeer krachtig gereedschap voor het filteren van binnenkomende
mail. Het stelt gebruikers in staat om “regels” te
definiëren welke aan binnenkomende mail gekoppeld kunnen
worden om specifieke taken uit te voeren of om de mail naar
alternatieve postbussen en/of emailadressen door te sturen.
procmail kan met de port mail/procmail geïnstalleerd
worden. Eenmaal geïnstalleerd kan het direct met de meeste
MTAs geïntegreerd worden; raadpleeg de
documentatie van de MTA voor meer informatie.
Als alternatief kan procmail
geïntegreerd worden door de volgende regel aan het bestand
.forward
in de thuismap van de gebruiker
die procmail gebruikt toe te voegen:
"|exec /usr/local/bin/procmail || exit 75"
De volgende sectie geeft wat basisregels van
procmailmet een korte beschrijving ervan. Deze,
en andere, regels dienen in het bestand
.procmailrc
geplaatst te worden, welke zich
in de thuismap van de gebruiker dient te bevinden.
De meerderheid van deze regels kan ook in de hulppagina procmailex(5) gevonden worden.
Stuur alle mail van <user@example.com>
door naar
het externe adres <goodmail@example2.com>
:
:0 * ^From.*user@example.com ! goodmail@example2.com
Stuur alle mails korten dan 1000 bytes door naar het externe
adres <goodmail@example2.com>
:
:0 * < 1000 ! goodmail@example2.com
Stuur alle mail verzonden aan
<alternate@example.com>
door naar een postbus
alternate
:
:0 * ^TOalternate@example.com alternate
Stuur alle mail met het onderwerp “Spam” door
naar /dev/null
:
:0 ^Subject:.*Spam /dev/null
Een handig recept dat binnenkomende FreeBSD.org
mailinglijsten parseert en
elke lijst in en eigen postbus plaatst:
:0 * ^Sender:.owner-freebsd-\/[^@]+@FreeBSD.ORG { LISTNAME=${MATCH} :0 * LISTNAME??^\/[^@]+ FreeBSD-${MATCH} }
syslogd
Dit hoofdstuk behandelt een aantal veelgebruikte netwerkdiensten op UNIX® systemen. Er wordt ingegaan op de installatie, het instellen, testen en beheren van verschillende typen netwerkdiensten. Overal in dit hoofdstuk staan voorbeeldbestanden met instellingen waar de lezer zijn voordeel mee kan doen.
Na het lezen van dit hoofdstuk weet de lezer:
Hoe om te gaan met de inetd daemon;
Hoe een netwerkbestandssysteem opgezet kan worden;
Hoe een netwerkinformatiedienst (NIS) opgezet kan worden voor het delen van gebruikersaccounts;
Hoe automatische netwerkinstellingen gemaakt kunnen worden met DHCP;
Hoe een domeinnaam server opgezet kan worden;
Hoe een Apache HTTP Server opgezet kan worden;
Hoe een File Transfer Protocol (FTP) Server opgezet kan worden;
Hoe een bestand-- en printserver voor Windows® cliënten opgezet kan worden met Samba;
Hoe datum en tijd gesynchroniseerd kunnen worden en hoe een tijdserver opgezet kan worden met het NTP-protocol.
Hoe het standaard log-daemon syslogd
in
te stellen om logs van hosts op afstand te accepteren.
Veronderstelde voorkennis:
Basisbegrip van de scripts in
/etc/rc
;
Bekend zijn met basis netwerkterminologie;
Kennis van de installatie van software van derde partijen (Hoofdstuk 5, Applicaties installeren: pakketten en ports).
inetd(8) wordt soms de “Internet Super-Server” genoemd, omdat het verbindingen voor meerdere diensten beheert. Als door inetd een verbinding wordt ontvangen, bepaalt die voor welk programma de verbinding bedoeld is, splitst het dat proces af en delegeert de socket (het programma wordt gestart met de socket van de dienst als zijn standaardinvoer, -uitvoer en -foutbeschrijvingen). Het draaien van inetd voor servers die niet veel gebruikt worden kan de algehele werklast verminderen in vergelijking met het draaien van elke daemon individueel in stand-alone modus.
inetd wordt primair gebruikt om andere daemons aan te roepen, maar het handelt een aantal triviale protocollen direct af, zoals chargen, auth en daytime.
In deze paragraaf worden de basisinstellingen van
inetd behandeld met de opties vanaf
de commandoregel en met het instellingenbestand
/etc/inetd.conf
.
inetd wordt gestart door het
rc(8)-systeem. De
optie inetd_enable
staat standaard op
NO
, maar kan tijdens de installatie door
sysinstall worden aangezet. Door het
plaatsen van
inetd_enable="YES"
of
inetd_enable="NO"
in /etc/rc.conf
wordt
inetd bij het opstarten van een
systeem wel of niet ingeschakeld. Het commando:
#
service inetd rcvar
kan gedraaid worden om de huidige effectieve instellingen weer te geven.
Dan kunnen er ook nog een aantal commandoregelopties aan
inetd meegegeven worden met de optie
inetd_flags
.
Zoals de meeste serverdaemons heeft inetd een aantal opties die doorgegeven kunnen worden om het gedrag aan te passen. Zie de handleidingpagina inetd(8) voor een volledige lijst van de opties.
Opties kunnen door middel van de optie
inetd_flags
in
/etc/rc.conf
aan
inetd worden doorgegeven. Standaard
staat inetd_flags
ingesteld op
-wW -C 60
, dat TCP-wrapping aanzet voor de
diensten van inetd, en voorkomt dat
elk enkelvoudig IP-adres enige dienst meer dan 60 keer per
minuut opvraagt.
Ook al worden er hieronder rate-limiting opties besproken, beginnende gebruikers kunnen blij zijn met het feit dat deze parameters gewoonlijk niet hoeven te worden aangepast. Deze opties kunnen interessant zijn wanneer er een buitensporige hoeveelheid verbindingen worden opgezet. Een volledige lijst van opties staat in de hulppagina inetd(8).
Geeft het maximale aantal gelijktijdige verzoeken voor
iedere dienst aan. De standaard is ongelimiteerd. Kan
per dienst ter zijde geschoven worden met de parameter
max-child
.
Geeft het maximale aantal keren aan dat een dienst
vanaf een bepaald IP-adres per minuut aangeroepen kan
worden. Kan per dienst ter zijde geschoven worden met de
parameter
max-connections-per-ip-per-minute
.
Geeft het maximale aantal keren aan dat een dienst
per minuut aangeroepen kan worden. De standaard is 256.
De instelling 0
geeft aan dat er geen
limiet is.
Specificeert het maximaal aantal keer per minuut dat
een dienst aangeroepen kan worden vanuit een enkelvoudig
IP-adres; de standaard is onbeperkt. Kan worden
overstemd op een per-dienst-basis met de parameter
max-child-per-ip
.
De instellingen van inetd
worden beheerd in /etc/inetd.conf
.
Als er een wijziging wordt aangebracht in
/etc/inetd.conf
, dan kan
inetd gedwongen worden om de
instellingen opnieuw in te lezen door dit commando te draaien:
Iedere regel in het bestand met instellingen heeft
betrekking op een individuele daemon. Commentaar wordt vooraf
gegaan door een #
. De opmaak van elke regel
van /etc/inetd.conf
is als volgt:
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
Een voorbeeldregel voor de daemon ftpd(8) met IPv4 kan eruit zien als:
ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l
Dit is de dienstnaam van een daemon. Die moet
overeenkomen met een dienst uit
/etc/services
. Hiermee kan de
poort waarop inetd moet
luisteren aangegeven worden. Als er een nieuwe dienst
wordt gemaakt, moet die eerst in
/etc/services
gezet worden.
Dit is stream
,
dgram
, raw
of
seqpacket
. stream
moet gebruikt worden voor verbindingsgebaseerde
TCP-daemons, terwijl dgram
wordt
gebruikt voor daemons die gebruik maken van het
transportprotocol UDP.
Een van de volgende:
Protocol | Toelichting |
---|---|
tcp, tcp4 | TCP IPv4 |
udp, udp4 | UDP IPv4 |
tcp6 | TCP IPv6 |
udp6 | UDP IPv6 |
tcp46 | Zowel TCP IPv4 als v6 |
udp46 | Zowel UDP IPv4 als v6 |
wait|nowait
geeft aan of de daemon
die door inetd wordt
aangesproken zijn eigen sockets kan afhandelen of niet.
dgram
sockettypen moeten de optie
wait
gebruiken, terwijl streamsocket
daemons, die meestal multi-threaded zijn, de optie
nowait
horen te gebruiken.
wait
geeft meestal meerdere sockets aan
een daemon, terwijl nowait
een kinddaemon
draait voor iedere nieuwe socket.
Het maximum aantal kinddaemons dat
inetd mag voortbrengen kan
ingesteld worden met de optie max-child
.
Als een limiet van tien instanties van een bepaalde
daemon gewenst is, dan zou er /10
achter nowait
gezet worden. Door
/0
wordt een onbeperkt aantal kinderen
toegestaan.
Naast max-child
zijn er nog twee
andere opties waarmee het maximale aantal verbindingen van
een bepaalde plaats naar een daemon ingesteld kan worden.
max-connections-per-ip-per-minute
beperkt
het aantal verbindingen per minuut voor enig IP-adres, een
waarde van tien betekent hier dat er van ieder IP-adres
maximaal tien verbindingen naar een bepaalde dienst tot
stand gebracht kunnen worden.
max-child-per-ip
beperkt het aantal
kindprocessen dat namens enig IP-adres op enig moment
gestart kan worden. Deze opties kunnen zijn nuttig om
bedoeld en onbedoeld buitensporig bronnengebruik van en
Denial of Service (DoS) aanvallen op een machine te
voorkomen.
In dit veld is één van
wait
of nowait
verplicht. max-child
,
max-connections-per-ip-per-minute
en
max-child-per-ip
zijn optioneel.
Een stream-type multi-threaded daemon zonder
één van de limieten
max-child
,
max-connections-per-ip-per-minute
of
max-child-per-ip
is eenvoudigweg:
nowait
.
Dezelfde daemon met een maximale limiet van tien
daemons zou zijn: nowait/10
.
Dezelfde instellingen met een limiet van twintig
verbindingen per IP-adres per minuut en een totaal maximum
van tien kinddaemons zou zijn:
nowait/10/20
.
Deze opties worden allemaal gebruikt door de standaardinstellingen van de daemon fingerd(8):
finger stream tcp nowait/3/10 nobody /usr/libexec/fingerd fingerd -s
Als afsluiting, een voorbeeld in dit veld met een
maximum van 100 kinderen in totaal, met een maximum van 5
voor enig IP-adres zou zijn:
nowait/100/0/5
.
Dit is de gebruikersnaam waar een daemon onder
draait. Daemons draaien meestal als de gebruiker
root
. Om veiligheidsredenen draaien
sommige daemons onder de gebruiker
daemon
of de gebruiker met de minste
rechten: nobody
.
Het volledige pad van de daemon die uitgevoerd moet
worden als er een verbinding wordt ontvangen. Als de
daemon een dienst is die door
inetd intern wordt geleverd,
dan moet de optie internal
gebruikt
worden.
Deze optie werkt samen met de optie
server-program
en hierin worden de
argumenten ingesteld, beginnend met
argv[0]
, die bij het starten aan de
daemon worden meegegeven. Als
mijndaemon -d
de commandoregel is,
dan zou mijndaemon -d
de waarde van
server-program-arguments
zijn. Hier
geldt ook dat als de daemon een interne dienst is, hier
de optie internal
moet worden.
Afhankelijk van keuzes gemaakt tijdens de installatie,
kunnen veel van de diensten van inetd
standaard ingeschakeld zijn. Het is verstandig te overwegen om
een daemon dat niet noodzakelijk is uit te schakelen. Plaats
een #
voor de daemon in
/etc/inetd.conf
en herlaad vervolgens de
instellingen van inetd. Sommige daemons, zoals
fingerd, zijn wellicht helemaal niet
gewenst omdat ze informatie geven die nuttig kan zijn voor een
aanvaller.
Sommige daemons zijn zich niet echt bewust van beveiliging
en hebben lange of niet bestaande timeouts voor
verbindingspogingen. Hierdoor kan een aanvaller langzaam veel
verbindingen maken met een daemon en zo beschikbare bronnen
verzadigen. Het is verstandig voor die daemons de limietopties
max-connections-per-ip-per-minute
,
max-child
of max-child-per-ip
te gebruiken als ze naar uw smaak teveel verbindingen hebben.
TCP-wrapping staat standaard aan. Er staat meer informatie over het zetten van TCP-restricties op de verschillende daemons die door inetd worden aangesproken in hosts_access(5).
daytime, time, echo, discard, chargen en auth zijn allemaal interne diensten van inetd.
De dienst auth biedt identiteitsnetwerkdiensten en is tot op een bepaald niveau instelbaar, terwijl de anderen eenvoudigweg aan of uit staan.
Meer diepgaande informatie staat in inetd(8).
Het Netwerkbestandssysteem (Network File System) is een van de vele bestandssystemen die FreeBSD ondersteunt. Het staat ook wel bekend als NFS. Met NFS is het mogelijk om mappen en bestanden met anderen in een netwerk te delen. Door het gebruik van NFS kunnen gebruikers en programma's bij bestanden op andere systemen op bijna dezelfde manier als bij hun eigen lokale bestanden.
De grootste voordelen van NFS zijn:
Lokale werkstations gebruiken minder schijfruimte omdat veel gebruikte data op één machine opgeslagen kan worden en nog steeds toegankelijk is voor gebruikers via het netwerk;
Gebruikers hoeven niet op iedere machine een thuismap te hebben. Thuismappen kunnen op de NFS server staan en op het hele netwerk beschikbaar zijn;
Opslagapparaten als floppydisks, CD-ROM drives en Zip® drives kunnen door andere machines op een netwerk gebruikt worden. Hierdoor kan het aantal drives met verwijderbare media in een netwerk verkleind worden.
NFS bestaat uit tenminste twee hoofdonderdelen: een server en een of meer cliënten. De cliënt benadert de gegevens die op een servermachine zijn opgeslagen via een netwerk. Om dit mogelijk te maken moeten er een aantal processen ingesteld en gestart worden.
Op de server moeten de volgende daemons draaien:
Daemon | Beschrijving |
---|---|
nfsd | De NFS-daemon die verzoeken van de NFS cliënten afhandelt. |
mountd | De NFS koppeldaemon die doorgestuurde verzoeken van nfsd(8) uitvoert. |
rpcbind | Deze daemon geeft voor NFS-cliënten aan welke poort de NFS-server gebruikt. |
Op de cliënt kan ook een daemon draaien: nfsiod. De daemon nfsiod handelt verzoeken van de NFS-server af. Dit is optioneel en kan de prestaties verbeteren, maar het is niet noodzakelijk voor een normale en correcte werking. Meer informatie staat in nfsiod(8).
NFS instellen gaat redelijk rechtlijnig.
Alle processen die moeten draaien kunnen meestarten bij het
opstarten door een paar wijzigingen in
/etc/rc.conf
.
Op de NFS server dienen de volgende
opties in /etc/rc.conf
te staan:
rpcbind_enable="YES" nfs_server_enable="YES" mountd_flags="-r"
mountd start automatisch als de NFS server is ingeschakeld.
Op de cliënt dient de volgende optie in
/etc/rc.conf
te staan:
nfs_client_enable="YES"
In het bestand /etc/exports
staat
beschreven welke bestandssystemen NFS moet
exporteren (soms heet dat ook wel delen of
“sharen”). Iedere regel in
/etc/exports
slaat op een bestandssysteem
dat wordt geëxporteerd en welke machines toegang hebben
tot dat bestandssysteem. Samen met machines die toegang hebben,
kunnen ook toegangsopties worden aangegeven. Er zijn veel
opties beschikbaar, maar hier worden er maar een paar
beschreven. Alle opties staan beschreven in
exports(5).
Nu volgen een aantal voorbeelden voor
/etc/exports
:
Het volgende voorbeeld geeft een beeld van hoe een
bestandssysteem te exporteren, hoewel de instellingen
afhankelijk zijn van de omgeving en het netwerk. Om
bijvoorbeeld de map /cdrom
te exporteren
naar drie machines die dezelfde domeinnaam hebben als de server
(vandaar dat de machinenamen geef domeinachtervoegsel hebben)
of in /etc/hosts
staan. De vlag
-ro
exporteert het bestandssysteem als
alleen–lezen. Door die vlag kan een ander systeem niet
schrijven naar het geëxporteerde bestandssysteem.
/cdrom -ro host1 host2 host3
Het volgende voorbeeld exporteert
/home
naar drie hosts op basis van
IP-adres. Dit heeft zin als er een privaat netwerk bestaat,
zonder dat er een DNS server is ingesteld.
Optioneel kan /etc/hosts
gebruikt worden
om interne hostnamen in te stellen. Er is meer informatie te
vinden in hosts(5). Met de vlag -alldirs
mogen submappen ook koppelpunten zijn. De submap wordt dan niet
feitelijk aangekoppeld, maar de cliënt koppelt dan alleen
de submappen aan die verplicht of nodig zijn.
/home -alldirs 10.0.0.2 10.0.0.3 10.0.0.4
Het volgende voorbeeld exporteert /a
zo dat twee cliënten uit verschillende domeinen bij het
bestandssysteem mogen. Met de vlag
–maproot=root
mag de gebruiker op het
andere systeem gegevens naar het geëxporteerde
bestandssysteem schrijven als root
. Als
de vlag -maproot=root
niet wordt gebruikt, dan
kan een gebruiker geen bestanden wijzigen op het
geëxporteerde bestandssysteem, zelfs niet als een gebruiker
daar root
is.
/a -maproot=root host.example.com box.example.org
Om een cliënt toegang te geven tot een
geëxporteerd bestandssysteem, moet die cliënt daar
rechten voor hebben. De cliënt moet daarvoor genoemd
worden in /etc/exports
.
In /etc/exports
staat iedere regel voor
de exportinformatie van één bestandssysteem naar
één host. Per bestandssysteem mag een host maar
één keer genoemd worden en mag maar
één standaard hebben. Stel bijvoorbeeld dat
/usr
een enkel bestandssysteem is. Dan is
de volgende /etc/exports
niet geldig:
># Werkt niet als /usr 1 bestandssysteem is /usr/src client /usr/ports client
Eén bestandssysteem, /usr
,
heeft twee regels waarin exports naar dezelfde host worden
aangegeven, client
. In deze situatie is de
juiste instelling:
/usr/src /usr/ports client
De eigenschappen van een bestandssysteem dat naar een bepaalde host wordt geëxporteerd moeten allemaal op één regel staan. Regels waarop geen cliënt wordt aangegeven worden behandeld als een enkele host. Dit beperkt hoe bestandssysteem geëxporteerd kunnen worden, maar dat blijkt meestal geen probleem te zijn.
Het volgende voorbeeld is een geldige exportlijst waar
/usr
en /exports
lokale bestandssystemen zijn:
# Exporteer src en ports naar client01 en client02, # maar alleen client01 heeft er rootprivileges /usr/src /usr/ports -maproot=root client01 /usr/src /usr/ports client02 # De cliëntmachines hebben rootrechten en kunnen overal aankoppelen # op /exports. Iedereen in de wereld kan /exports/obj als alleen-lezen aankoppelen. /exports -alldirs -maproot=root client01 client02 /exports/obj -ro
De daemon mountd moet gedwongen
worden om het bestand /etc/exports
te
controleren steeds wanneer het is aangepast, zodat de
veranderingen effectief kunnen worden. Dit kan worden bereikt
door òfwel een HUP-signaal naar de draaiende daemon te
sturen:
#
kill -HUP `cat /var/run/mountd.pid`
of door het rc(8) script mountd
met
de juiste parameter aan te roepen:
#
service mountd onereload
Raadpleeg Paragraaf 12.7, “Gebruik van rc met FreeBSD” voor meer informatie over het gebruik van rc-scripts.
Het is ook mogelijk een machine te herstarten, zodat FreeBSD
alles netjes in kan stellen, maar dat is niet nodig. Het
uitvoeren van de volgende commando's als
root
hoort hetzelfde resultaat te
hebben.
Op de NFS server:
#
rpcbind
#
nfsd -u -t -n 4
#
mountd -r
Op de NFS cliënt:
#
nfsiod -n 4
Nu is alles klaar om feitelijk het netwerkbestandssysteem
aan te koppelen. In de volgende voorbeelden is de naam van de
server server
en de naam van de cliënt is
client
. Om een netwerkbestandssysteem slechts
tijdelijk aan te koppelen of om alleen te testen, kan een
commando als het onderstaande als root
op
de cliënt uitgevoerd worden:
#
mount server:/home /mnt
Hiermee wordt de map /home
op de server
aangekoppeld op /mnt
op de cliënt.
Als alles juist is ingesteld, zijn nu in
/mnt
op de cliënt de bestanden van de
server zichtbaar.
Om een netwerkbestandssysteem iedere keer als een computer
opstart aan te koppelen, kan het bestandssysteem worden
toegevoegd aan het bestand /etc/fstab
:
server:/home /mnt nfs rw 0 0
Alle beschikbare opties staan in fstab(5).
Voor sommige applicaties (b.v.
mutt) is het nodig dat bestanden op
slot staan om correct te werken. In het geval van
NFS, kan rpc.lockd
worden gebruikt voor het op slot zetten van bestanden. Voeg het
volgende toe aan het bestand /etc/rc.conf
op zowel de cliënt als de server om het aan te zetten (het
wordt aangenomen dat de NFS-cliënt en
-server reeds zijn geconfigureerd):
rpc_lockd_enable="YES" rpc_statd_enable="YES"
Start de applicatie met:
#
service lockd start
#
service statd start
Als echt op slot zetten tussen de
NFS-cliënten en de
NFS-server niet nodig is, is het mogelijk om
de NFS-cliënt bestanden lokaal op slot
te laten zetten door -L
aan mount_nfs(8)
door te geven. In de handleidingpagina mount_nfs(8) staan
verdere details.
NFS is voor veel doeleinden in te zetten. Een aantal voorbeelden:
Een aantal machines een CD-ROM of andere media laten delen. Dat is goedkoper en vaak ook handiger, bijvoorbeeld bij het installeren van software op meerdere machines;
Op grote netwerken kan het praktisch zijn om een centrale NFS server in te richten, waarop alle thuismappen staan. Die thuismappen kunnen dan geëxporteerd worden, zodat gebruikers altijd dezelfde thuismap hebben, op welk werkstation ze ook aanmelden;
Meerdere machines kunnen een gezamenlijke map
/usr/ports/distfiles
hebben. Dan is
het mogelijk om een port op meerdere machines te
installeren, zonder op iedere machine de broncode te hoeven
downloaden.
amd(8) (de automatic mounter daemon) koppelt
automatisch netwerkbestandssystemen aan als er aan een bestand
of map binnen dat bestandssysteem wordt gerefereerd.
amd ontkoppelt ook bestandssystemen
die een bepaalde tijd niet gebruikt worden. Het gebruikt van
amd is een aantrekkelijk en eenvoudig
alternatief ten opzichte van permanente koppelingen, die meestal
in /etc/fstab
staan.
amd werkt door zichzelf als
NFS-server te koppelen aan de mappen /host
en /net
. Als binnen die mappen een bestand
wordt geraadpleegd, dan zoekt amd de
bijbehorende netwerkkoppeling op en koppelt die automatisch aan.
/net
wordt gebruikt om een
geëxporteerd bestandssysteem van een IP-adres aan te
koppelen, terwijl /host
wordt gebruikt om
een geëxporteerd bestandssysteem van een hostnaam aan te
koppelen.
Het raadplegen van een bestand in
/host/foobar/usr
geeft
amd aan dat die moet proberen de
/usr
export op de host
foobar
aan te koppelen.
De beschikbare koppelingen van een netwerkhost zijn te
bekijken met showmount
. Om bijvoorbeeld
de koppelingen van de host foobar
te
bekijken:
%
showmount -e foobar
Exports list on foobar: /usr 10.10.10.0 /a 10.10.10.0%
cd /host/foobar/usr
Zoals in het bovenstaande voorbeeld te zien is, toont
showmount
/usr
als een
export. Als er naar de map
/host/foobar/usr
wordt gegaan, probeert
amd de hostnaam
foobar
te resolven en de gewenste export
automatisch aan te koppelen.
amd kan gestart worden door de
opstartscript door de volgende regel in
/etc/rc.conf
te plaatsen:
amd_enable="YES"
Er kunnen ook nog opties meegegeven worden aan
amd met de optie
amd_flags
. Standaard staat
amd_flags
ingesteld op:
amd_flags="-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map"
In het bestand /etc/amd.map
staan
de standaardinstellingen waarmee exports aangekoppeld worden.
In het bestand /etc/amd.conf
staan een
aantal van de meer gevorderde instellingen van
amd.
In amd(8) en amd.conf(5) staat meer informatie.
Bepaalde Ethernet adapters voor ISA PC systemen kennen limieten die tot serieuze netwerkproblemen kunnen leiden, in het bijzonder met NFS. Dit probleem is niet specifiek voor FreeBSD, maar het kan op FreeBSD wel voor komen.
Het probleem ontstaat bijna altijd als (FreeBSD) PC-systemen netwerken met hoog presterende werkstations, zoals van Silicon Graphics, Inc. en Sun Microsystems, Inc. De NFS-koppeling werkt prima en wellicht lukken een aantal acties ook, maar dan ineens lijkt de server niet meer te reageren voor de cliënt, hoewel verzoeken van en naar andere systemen gewoon verwerkt worden. Dit gebeurt op een cliëntsysteem, of de cliënt nu het FreeBSD systeem is of het werkstation. Op veel systemen is er geen manier om de cliënt netjes af te sluiten als dit probleem is ontstaan. Vaak is de enige mogelijkheid een reset van de cliënt, omdat het probleem met NFS niet opgelost kan worden.
Hoewel de enige “correcte” oplossing de
aanschaf van een snellere en betere Ethernet adapter voor het
FreeBSD systeem is, is er zo om het probleem heen te werken dat het
werkbaar is. Als FreeBSD de server is, kan de
optie -w=1024
gebruikt worden bij het
aankoppelen door de cliënt. Als het FreeBSD systeem de
cliënt is, dan dient het
NFS-bestandssysteem aangekoppeld te worden met de optie
r=1024
. Deze opties kunnen het vierde
veld zijn in een regel in fstab
voor
automatische aankoppelingen en bij handmatige aankoppelingen met
mount(8) kan de parameter -o
gebruikt
worden.
Soms wordt een ander probleem voor dit probleem versleten, als servers en cliënten zich op verschillende netwerken bevinden. Als dat het geval is, dan dient vastgesteld te worden dat routers de UDP informatie op de juiste wijze routeren, omdat er anders nooit NFS-verkeer gerouteerd kan worden.
In de volgende voorbeelden is fastws
de
host(interface)naam van een hoog presterend werkstation en
freebox
is de host(interface)naam van een FreeBSD
systeem met een Ethernet adapter die mindere prestaties levert.
/sharedfs
wordt het geëxporteerde
NFS-bestandssysteem (zie exports(5)) en
/project
wordt het koppelpunt voor het
geëxporteerde bestandssysteem op de cliënt.
In sommige gevallen kunnen applicaties beter draaien als
extra opties als hard
of
soft
en bg
gebruikt
worden.
Voorbeelden voor het FreeBSD systeem (freebox
)
als de cliënt in /etc/fstab
op
freebox
:
fastws:/sharedfs /project nfs rw,-r=1024 0 0
Als een handmatig aankoppelcommando op
freebox
:
#
mount -t nfs -o -r=1024 fastws:/sharedfs /project
Voorbeelden voor het FreeBSD systeem als de server in
/etc/fstab
op
fastws
:
freebox:/sharedfs /project nfs rw,-w=1024 0 0
Als een handmatig aankoppelcommando op
fastws
:
#
mount -t nfs -o -w=1024 freebox:/sharedfs /project
Bijna iedere 16–bit Ethernet adapter werkt zonder de hierboven beschreven restricties op de lees- en schrijfgrootte.
Voor wie het wil weten wordt nu beschreven wat er gebeurt als de fout ontstaan, wat ook duidelijk maakt waarom het niet hersteld kan worden. NFS werkt meestal met een “block”grootte van 8 K (hoewel het mogelijk is dat er kleinere fragmenten worden verwerkt). Omdat de maximale grootte van een Ethernet pakket rond de 1500 bytes ligt, wordt een “block” opgesplitst in meerdere Ethernetpakketten, hoewel het hoger in de code nog steeds één eenheid is, en wordt ontvangen, samengevoegd en bevestigd als een eenheid. De hoog presterende werkstations kunnen de pakketten waaruit een NFS-eenheid bestaat bijzonder snel naar buiten pompen. Op de kaarten met minder capaciteit worden de eerdere pakketten door de latere pakketten van dezelfde eenheid ingehaald voordat ze bij die host zijn aangekomen en daarom kan de eenheid niet worden samengesteld en bevestigd. Als gevolg daarvan ontstaat er op het werkstation een timeout en probeert die de eenheid opnieuw te sturen, maar dan weer de hele eenheid van 8 K, waardoor het proces wordt herhaald, ad infinitum.
Door de grootte van de eenheid kleiner te houden dan de grootte van een Ethernet pakket, is het zeker dat elk Ethernetpakket dat compleet is aangekomen bevestigd kan worden, zodat de deadlock niet ontstaat.
Toch kan een PC systeem nog wel overrompeld worden als hoog presterende werkstations er op inhakken, maar met de betere netwerkkaarten valt het dan in ieder geval niet om door de NFS “eenheden”. Als het systeem toch wordt overrompeld, dan worden de betrokken eenheden opnieuw verstuurd en dan is de kans groot dat ze worden ontvangen, samengevoegd en bevestigd.
NIS, dat staat voor Netwerkinformatiediensten (Network Information Services), is ontwikkeld door Sun Microsystems om het beheer van UNIX® (origineel SunOS™) systemen te centraliseren. Tegenwoordig is het eigenlijk een industriestandaard geworden. Alle grote UNIX® achtige systemen (Solaris™, HP-UX, AIX®, Linux®, NetBSD, OpenBSD, FreeBSD, enzovoort) ondersteunen NIS.
NIS stond vroeger bekend als Yellow Pages, maar vanwege problemen met het handelsmerk heeft Sun de naam veranderd. De oude term, en yp, wordt nog steeds vaak gebruikt.
Het is een op RPC-gebaseerd cliënt/serversysteem waarmee een groep machines binnen een NIS-domein een gezamenlijke verzameling met instellingenbestanden kan delen. Hierdoor kan een beheerder NIS-systemen opzetten met een minimaal aantal instellingen en vanaf een centrale lokatie instellingen toevoegen, verwijderen en wijzigen.
Het is te vergelijken met het Windows NT® domeinsysteem en hoewel de interne implementatie van de twee helemaal niet overeenkomt, is de basisfunctionaliteit vergelijkbaar.
Er zijn een aantal termen en belangrijke gebruikersprocessen die een rol spelen bij het implementeren van NIS op FreeBSD, zowel bij het maken van een NIS-server als bij het maken van een systeem dan NIS-cliënt is:
Term | Beschrijving |
---|---|
NIS-domeinnaam | Een NIS-masterserver en al zijn cliënten (inclusief zijn slave master) hebben een NIS-domeinnaam. Vergelijkbaar met een Windows NT® domeinnaam, maar de NIS-domeinnaam heeft niets te maken met DNS. |
rpcbind | Moet draaien om RPC (Remote Procedure Call in te schakelen, een netwerkprotocol dat door NIS gebruikt wordt). Als rpcbind niet draait, dan kan er geen NIS-server draaien en kan een machine ook geen NIS-cliënt zijn. |
ypbind | “Verbindt” een NIS-cliënt aan zijn NIS-server. Dat gebeurt door met de NIS-domeinnaam van het systeem en door het gebruik van RPC te verbinden met de server. ypbind is de kern van cliënt-server communicatie in een NIS-omgeving. Als ypbind op een machine stopt, dan kan die niet meer bij de NIS-server komen. |
ypserv | Hoort alleen te draaien op NIS-servers. Dit is het NIS-serverproces zelf. Als ypserv(8) stopt, dan kan de server niet langer reageren op NIS-verzoeken (hopelijk is er dan een slaveserver om het over te nemen). Er zijn een aantal implementaties van NIS, maar niet die op FreeBSD, die geen verbinding met een andere server proberen te maken als de server waarmee ze verbonden waren niet meer reageert. In dat geval is vaak het enige dat werkt het serverproces herstarten (of zelfs de hele server) of het ypbind-proces op de cliënt. |
rpc.yppasswdd | Nog een proces dat alleen op NIS-masterservers hoort te draaien. Dit is een daemon waarbij NIS-cliënten hun NIS-wachtwoorden kunnen wijzigen. Als deze daemon niet draait, moeten gebruikers zich aanmelden op de NIS-masterserver en daar hun wachtwoord wijzigen. |
Er zijn drie typen hosts in een NIS-omgeving: master servers, slaveservers en cliënten. Servers zijn het centrale depot voor instellingen voor een host. Masterservers bevatten de geautoriseerd kopie van die informatie, terwijl slaveservers die informatie spiegelen voor redundantie. Cliënten verlaten zich op de servers om hun die informatie ter beschikking te stellen.
Op deze manier kan informatie uit veel bestanden gedeeld
worden. De bestanden master.passwd
,
group
en hosts
worden meestal via NIS gedeeld. Als een proces op een
cliënt informatie nodig heeft die normaliter in een van die
lokale bestanden staat, dan vraagt die het in plaats daarvan aan
de NIS-servers waarmee hij verbonden is.
Een NIS-masterserver. Deze
server onderhoudt, analoog aan een Windows NT® primaire
domeincontroller, de bestanden die door alle
NIS-cliënten gebruikt worden. De bestanden
passwd
, group
en
andere bestanden die door de NIS-cliënten gebruikt
worden staan op de masterserver.
Het is mogelijk om één machine master server te laten zijn voor meerdere NIS-domeinen. Dat wordt in deze inleiding echter niet beschreven, omdat die uitgaat van een relatief kleine omgeving.
NIS-slaveservers. Deze zijn te vergelijken met Windows NT® backup domain controllers. NIS-slaveservers beheren een kopie van de bestanden met gegevens op de NIS-master. NIS-slaveservers bieden redundantie, die nodig is in belangrijke omgevingen. Ze helpen ook om de belasting te verdelen met de master server: NIS-cliënten maken altijd een verbinding met de NIS-server die het eerst reageert en dat geldt ook voor antwoorden van slaveservers.
NIS-cliënten. NIS-cliënten authenticeren, net als de meeste Windows NT® werkstations, tegen de NIS-server (of de Windows NT® domain controller in het geval van Windows NT® werkstations) bij het aanmelden.
Dit onderdeel behandelt het opzetten van een NIS-voorbeeldomgeving.
Er wordt uitgegaan van een beheerder van een klein
universiteitslab. Dat lab, dat bestaat uit FreeBSD machines,
kent op dit moment geen centraal beheer. Iedere machine heeft
zijn eigen /etc/passwd
en
/etc/master.passwd
. Die bestanden worden
alleen met elkaar in lijn gehouden door handmatige
handelingen. Als er op dit moment een gebruiker aan het lab
wordt toegevoegd, moet adduser
op alle 15
machines gedraaid worden. Dat moet natuurlijk veranderen en
daarom is besloten het lab in te richten met NIS, waarbij twee
machines als server worden gebruikt.
Het lab ziet er ongeveer als volgt uit:
Machinenaam | IP-adres | Rol Machine |
---|---|---|
ellington | 10.0.0.2 | NIS-master |
coltrane | 10.0.0.3 | NIS-slave |
basie | 10.0.0.4 | Wetenschappelijk werkstation |
bird | 10.0.0.5 | Cliënt machine |
cli[1-11] | 10.0.0.[6-17] | Andere cliënt machines |
Bij het voor de eerste keer instellen van een NIS-schema is het verstandig eerst na te denken over hoe dat opgezet moet worden. Hoe groot een netwerk ook is, er moeten een aantal beslissingen gemaakt worden.
Dit is wellicht niet de bekende “domeinnaam”. Daarom wordt het ook de “NIS-domeinnaam” genoemd. Bij de broadcast van een cliënt om informatie wordt ook de naam van het NIS-domein waar hij onderdeel van uitmaakt meegezonden. Zo kunnen meerdere servers op een netwerk bepalen of er antwoord gegeven dient te worden op een verzoek. De NIS-domeinnaam kan voorgesteld worden als de naam van een groep hosts die op een of andere manier aan elkaar gerelateerd zijn.
Sommige organisaties kiezen hun Internet-domeinnaam als
NIS-domeinnaam. Dat wordt niet aangeraden omdat het voor
verwarring kan zorgen bij het debuggen van netwerkproblemen.
De NIS-domeinnaam moet uniek zijn binnen een netwerk en het
is handig als die de groep machines beschrijft waarvoor hij
geldt. Zo kan bijvoorbeeld de financiële afdeling van
Acme Inc. als NIS-domeinnaam “acme-fin” hebben.
In dit voorbeeld wordt de naam
test-domain
gekozen.
Sommige besturingssystemen gebruiken echter (met name SunOS™) hun NIS-domeinnaam als hun Internet-domeinnaam. Als er machines zijn op een netwerk die deze restrictie kennen, dan moet de Internet-domeinnaam als de naam voor het NIS-domeinnaam gekozen worden.
Bij het kiezen van een machine die als NIS-server wordt gebruikt zijn er een aantal aandachtspunten. Een van de onhandige dingen aan NIS is de afhankelijkheid van de cliënten van de server. Als een cliënt de server voor zijn NIS-domein niet kan bereiken, dan wordt die machine vaak onbruikbaar. Door het gebrek aan gebruiker- en groepsinformatie bevriezen de meeste systemen. Daarom moet er een machine gekozen worden die niet vaak herstart hoeft te worden of wordt gebruikt voor ontwikkeling. De NIS-server is in het meest ideale geval een alleenstaande server die als enige doel heeft NIS-server te zijn. Als een netwerk niet zwaar wordt gebruikt, kan de NIS-server op een machine die ook andere diensten aanbiedt gezet worden, maar het blijft belangrijk om ervan bewust te zijn dat als de NIS-server niet beschikbaar is, dat nadelige invloed heeft op alle NIS-cliënten.
De hoofdversies van alle NIS-informatie staan opgeslagen
op één machine die de NIS-masterserver heet. De
databases waarin de informatie wordt opgeslagen heten
NIS-afbeeldingen. In FreeBSD worden die afbeeldingen opgeslagen
in /var/yp/[domeinnaam]
waar
[domeinnaam]
de naam is van het
NIS-domein dat wordt bediend. Een enkele NIS-server kan
tegelijkertijd meerdere NIS-domeinen ondersteunen en het is
dus mogelijk dat er meerdere van zulke mappen zijn, een voor
ieder ondersteund domein. Ieder domein heeft zijn eigen
onafhankelijke verzameling afbeeldingen.
In NIS-master- en -slaveservers worden alle NIS-verzoeken
door de daemon ypserv
afgehandeld.
ypserv
is verantwoordelijk voor het
ontvangen van inkomende verzoeken van NIS-cliënten, het
vertalen van de gevraagde domeinnaam en mapnaam naar een pad
naar het corresponderende databasebestand en het terugsturen
van de database naar de cliënten.
Het opzetten van een master NIS-server kan erg
eenvoudig zijn, afhankelijk van de behoeften. FreeBSD heeft
ondersteuning voor NIS als basisfunctie. Alleen de volgende
regels hoeven aan /etc/rc.conf
toegevoegd te worden en FreeBSD doet de rest:
nisdomainname="test-domain"
Deze regel stelt de NIS-domeinnaam in op
test-domain
bij het instellen van het
netwerk (bij het opstarten).
nis_server_enable="YES"
Dit geeft FreeBSD aan de NIS-serverprocessen te starten als het netwerk de volgende keer wordt opgestart.
nis_yppasswdd_enable="YES"
Dit schakelt de daemon rpc.yppasswdd
in die, zoals al eerder aangegeven, cliënten
toestaat om hun NIS-wachtwoord vanaf een
cliënt-machine te wijzigen.
Afhankelijk van de inrichting van NIS, kunnen er nog meer instellingen nodig zijn. In het onderdeel NIS-servers die ook NIS-cliënten zijn staan meer details.
Draai na het instellen van bovenstaande regels het commando
/etc/netstart
als supergebruiker. Het zal alles
voor u instellen, gebruikmakende van de waarden die u in
/etc/rc.conf
heeft ingesteld. Start als
laatste stap, voor het initialiseren van de NIS-afbeeldingen, de
daemon ypserv handmatig:
#
service ypserv start
Die NIS-afbeeldingen zijn
databasebestanden die in de map /var/yp
staan. Ze worden gemaakt uit de bestanden met instellingen
uit de map /etc
van de NIS-master, met
één uitzondering:
/etc/master.passwd
. Daar is een goede
reden voor, want het is niet wenselijk om de wachtwoorden
voor root
en andere administratieve
accounts naar alle servers in het NIS-domein te sturen.
Daar moet voor het initialiseren van de NIS-afbeeldingen het
volgende uitgevoerd worden:
#
cp /etc/master.passwd /var/yp/master.passwd
#
cd /var/yp
#
vi master.passwd
Dan horen alle systeemaccounts verwijderd te worden
(bin
, tty
,
kmem
, games
,
enzovoort) en alle overige accounts waarvoor het niet
wenselijk is dat ze op de NIS-cliënten terecht komen
(bijvoorbeeld root
en alle andere UID 0
(supergebruiker) accounts).
/var/yp/master.passwd
hoort niet
te lezen te zijn voor een groep of voor de wereld (dus
modus 600)! Voor het aanpassen van de rechten kan
chmod
gebruikt worden.
Als dat is gedaan, kunnen de NIS-afbeeldingen
geïnitialiseerd worden. Bij FreeBSD zit een script
ypinit
waarmee dit kan (in de hulppagina
staat meer informatie). Dit script is beschikbaar op de
meeste UNIX® besturingssystemen, maar niet op allemaal.
Op Digital UNIX/Compaq Tru64 UNIX heet het
ypsetup
. Omdat er afbeeldingen voor een
NIS-master worden gemaakt, wordt de optie
–m
meegegeven aan
ypinit
. Aangenomen dat de voorgaande
stappen zijn uitgevoerd, kunnen de NIS-afbeeldingen gemaakt
worden op de volgende manier:
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
[..uitvoer van het maken van de afbeeldingen..] NIS Map update completed. ellington has been setup as an YP master server without any errors.
ypinit
hoort
/var/yp/Makefile
gemaakt te hebben uit
/var/yp/Makefile.dist
. Als dit bestand is
gemaakt, neemt dat bestand aan dat er in een omgeving met
een enkele NIS-server wordt gewerkt met alleen
FreeBSD-machines. Omdat test-domain
ook een
slaveserver bevat, dient
/var/yp/Makefile
gewijzigd te
worden:
ellington#
vi /var/yp/Makefile
Als de onderstaande regel niet al uitgecommentarieerd is, dient dat alsnog te gebeuren:
NOPUSH = "True"
Het opzetten van een NIS-slaveserver is nog makkelijker
dan het opzetten van de master. Dit kan door aan te melden
op de slaveserver en net als voor de masterserver
/etc/rc.conf
te wijzigen. Het enige
verschil is dat nu de optie –s
gebruikt wordt voor het draaien van
ypinit
. Met de optie
–s
moet ook de naam van de NIS-master
meegegeven worden. Het commando ziet er dus als volgt uit:
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.
Nu hoort er een map
/var/yp/test-domain
te zijn waarin
kopieë van de NIS-masterserver afbeeldingen staan. Die
moeten bijgewerkt blijven. De volgende regel in
/etc/crontab
op de slaveservers regelt
dat:
20 * * * * root /usr/libexec/ypxfr passwd.byname 21 * * * * root /usr/libexec/ypxfr passwd.byuid
Met de bovenstaande twee regels wordt de slave gedwongen zijn afbeeldingen met de afbeeldingen op de masterserver te synchroniseren. Dit is niet verplicht omdat de masterserver automatisch probeert veranderingen aan de NIS-afbeeldingen door te geven aan zijn slaves. Echter, vanwege het belang van correcte wachtwoordinformatie op andere cliënten die van de slaveserver afhankelijk zijn, is het aanbevolen om specifiek de wachtwoordafbeeldingen vaak tot bijwerken te dwingen. Dit is des te belangrijker op drukke netwerken, omdat daar het bijwerken van afbeeldingen niet altijd compleet afgehandeld hoeft te worden.
Nu kan ook op de slaveserver het commando
/etc/netstart
uitgevoerd worden, dat op
zijn beurt de NIS-server start.
Een NIS-cliënt maakt wat heet een verbinding
(binding) met een NIS-server met de daemon
ypbind
. ypbind
controleert het standaarddomein van het systeem (zoals
ingesteld met domainname
) en begint met het
broadcasten van RPC-verzoeken op het lokale netwerk. Die
verzoeken bevatten de naam van het domein waarvoor
ypbind
een binding probeert te maken. Als
een server die is ingesteld om het gevraagde domein te
bedienen een broadcast ontvangt, dan antwoordt die aan
ypbind
dat dan het IP-adres van de server
opslaat. Als er meerdere servers beschikbaar zijn, een master
en bijvoorbeeld meerdere slaves, dan gebruikt
ypbind
het adres van de eerste server die
antwoord geeft. Vanaf dat moment stuurt de cliënt alle
NIS-verzoeken naar die server. ypbind
“pingt” de server zo nu en dan om te controleren
of die nog draait. Als er na een bepaalde tijd geen antwoord
komt op een ping, dan markeert ypbind
het
domein als niet verbonden en begint het broadcasten opnieuw,
in de hoop dat er een andere server wordt gelocaliseerd.
Het opzetten van een FreeBSD machine als NIS-cliënt is redelijk doorzichtig:
Wijzig /etc/rc.conf
en voeg de
volgende regels toe om de NIS-domeinnaam in te stellen
en ypbind
mee te laten starten bij
het starten van het netwerk:
nisdomainname="test-domain" nis_client_enable="YES"
Om alle mogelijke regels voor accounts uit de
NIS-server te halen, dienen alle gebruikersaccounts uit
/etc/master.passwd
verwijderd te
worden en dient met vipw
de volgende
regel aan het einde van het bestand geplaatst te
worden:
+:::::::::
Door deze regel wordt alle geldige accounts
in de wachtwoordafbeelding van de NIS-server toegang
gegeven. Er zijn veel manieren om de NIS-cliënt
in te stellen door deze regel te veranderen. In het
onderdeel netgroepen
hieronder staat meer informatie. Zeer gedetailleerde
informatie staat in het boek NFS en NIS
beheren
van O'Reilly.
Er moet tenminste één lokale account
behouden blijven (dus niet geïmporteerd via NIS)
in /etc/master.passwd
en die
hoort ook lid te zijn van de groep
wheel
. Als er iets mis is met
NIS, dan kan die account gebruikt worden om via het
netwerk aan te melden, root
te
worden en het systeem te repareren.
Om alle groepen van de NIS-server te importeren, kan
de volgende regel aan /etc/group
toegevoegd worden:
+:*::
Voer, om de NIS-cliënt onmiddelijk te starten, de volgende commando's als supergebruiker uit:
#
/etc/netstart
#
service ypbind start
Na het afronden van deze stappen zou met ypcat
passwd
de passwd map van de NIS-server te zien
moeten zijn.
In het algemeen kan iedere netwerkgebruiker een RPC-verzoek
doen uitgaan naar ypserv(8) en de inhoud van de
NIS-afbeeldingen ontvangen, mits die gebruiker de domeinnaam
kent. Omdat soort ongeautoriseerde transacties te voorkomen,
ondersteunt ypserv(8) de optie “securenets”,
die gebruikt kan worden om de toegang te beperken tot een
opgegeven aantal hosts. Bij het opstarten probeert
ypserv(8) de securenets informatie te laden uit het bestand
/var/yp/securenets
.
Dit pad kan verschillen, afhankelijk van het pad dat
opgegeven is met de optie –p
. Dit
bestand bevat regels die bestaan uit een netwerkspecificatie
en een netwerkmasker, gescheiden door witruimte. Regels die
beginnen met #
worden als commentaar
gezien. Een voorbeeld van een securenetsbestand zou er zo uit
kunnen zien:
# 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
Als ypserv(8) een verzoek ontvangt van een adres dat
overeenkomt met een van de bovenstaande regels, dan wordt dat
verzoek normaal verwerkt. Als er geen enkele regel op het
verzoek van toepassing is, dan wordt het verzoek genegeerd en
wordt er een waarschuwing gelogd. Als het bestand
/var/yp/securenets
niet bestaat, dan
accepteert ypserv
verbindingen van iedere
host.
Het programma ypserv
ondersteunt ook het
pakket TCP Wrapper van Wietse Venema.
Daardoor kan een beheerder de instellingenbestanden van
TCP Wrapper gebruiken voor
toegangsbeperking in plaats van
/var/yp/securenets
.
Hoewel beide methoden van toegangscontrole enige vorm van beveiliging bieden, zijn ze net als de geprivilegieerde poorttest kwetsbaar voor “IP spoofing” aanvallen. Al het NIS-gerelateerde verkeer hoort door een firewall tegengehouden te worden.
Servers die gebruik maken van
/var/yp/securenets
kunnen wellicht
legitieme verzoeken van NIS-cliënten weigeren als die
gebruik maken van erg oude TCP/IP-implementaties. Sommige van
die implementaties zetten alle host bits op nul als ze een
broadcast doen en/of kijken niet naar het subnetmasker als ze
het broadcastadres berekenen. Hoewel sommige van die
problemen opgelost kunnen worden door de instellingen op de
cliënt aan te passen, zorgen andere problemen voor het
noodgedwongen niet langer kunnen gebruiker van NIS voor die
cliënt of het niet langer gebruiken van
/var/yp/securenets
.
Het gebruik van /var/yp/securenets
op een server met zo'n oude implementatie van TCP/IP is echt
een slecht idee en zal leiden tot verlies van
NIS-functionaliteit voor grote delen van een netwerk.
Het gebruik van het pakket TCP Wrapper leidt tot langere wachttijden op de NIS-server. De extra vertraging kan net lang genoeg zijn om een timeout te veroorzaken in cliëntprogramma's, in het bijzonder als het netwerk druk is of de NIS-server traag is. Als een of meer cliënten last hebben van dat symptoom, dan is het verstandig om de cliëntsysteem in kwestie NIS-slaveserver te maken en naar zichzelf te laten wijzen.
In het lab staat de machine basie
, die
alleen faculteitswerkstation hoort te zijn. Het is niet
gewenst die machine uit het NIS-domein te halen, maar het
passwd
bestand op de master NIS-server
bevat nu eenmaal accounts voor zowel de faculteit als de
studenten. Hoe kan dat opgelost worden?
Er is een manier om het aanmelden van specifieke gebruikers
op een machine te weigeren, zelfs als ze in de NIS-database
staan. Daarvoor hoeft er alleen maar
–gebruikersnaam
met het juiste aantal dubbele punten (zoals bij andere regels) aan het
einde van /etc/master.passwd
op de
cliëntmachine toegevoegd te worden, waar
gebruikersnaam
de gebruikersnaam van de
gebruiker die niet mag aanmelden is. De regel met de geblokkeerde
gebruiker moet voor de regel met +
staan om
NIS-gebruikers toe te staan. Dit gebeurt bij voorkeur
met vipw
, omdat vipw
de wijzigingen aan /etc/master.passwd
controleert en ook de wachtwoord database opnieuw bouwt na het
wijzigen. Om bijvoorbeeld de gebruiker
bill
te kunnen laten aanmelden op
basie
:
basie#
vipw
[voeg -bill::::::::: aan het einde toe, 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#
De methode uit het vorige onderdeel werkt prima als er maar voor een beperkt aantal gebruikers en/of machines speciale regels nodig zijn. Op grotere netwerken gebeurt het gewoon dat er wordt vergeten om een aantal gebruikers de aanmeldrechten op gevoelige machines te ontnemen of dat zelfs iedere individuele machine aangepast moet worden, waardoor het voordeel van NIS teniet wordt gedaan: centraal beheren.
De ontwikkelaars van NIS hebben dit probleem opgelost met netgroepen. Het doel en de semantiek kunnen vergeleken worden met de normale groepen die gebruikt worden op UNIX® bestandssystemen. De belangrijkste verschillen zijn de afwezigheid van een numeriek ID en de mogelijkheid om een netgroep aan te maken die zowel gebruikers als andere netgroepen bevat.
Netgroepen zijn ontwikkeld om gebruikt te worden voor grote, complexe netwerken met honderden gebruikers en machines. Aan de ene kant is dat iets Goeds. Aan de andere kant is het wel complex en bijna onmogelijk om netgroepen met een paar eenvoudige voorbeelden uit te leggen. Dat probleem wordt in de rest van dit onderdeel duidelijk gemaakt.
Stel dat de succesvolle implementatie van NIS in het lab de interesse heeft gewekt van een centrale beheerclub. De volgende taak is het uitbreiden van het NIS-domein met een aantal andere machines op de campus. De onderstaande twee tabellen bevatten de namen van de nieuwe gebruikers en de nieuwe machines met een korte beschijving.
Gebruikersnamen | Beschrijving |
---|---|
alpha ,
beta | Gewone medewerkers van de IT-afdeling |
charlie ,
delta | Junior medewerkers van de IT-afdeling |
echo ,
foxtrott ,
golf , ... | Gewone medewerkers |
able ,
baker , ... | Stagiairs |
Machinenamen | Beschrijving |
---|---|
war , death ,
famine ,
pollution | De belangrijkste servers. Alleen senior medewerkers van de IT-afdeling mogen hierop aanmelden. |
pride , greed ,
envy , wrath ,
lust , sloth | Minder belangrijke servers. Alle leden van de IT-afdeling mogen aanmelden op deze machines. |
one , two ,
three , four ,
... | Gewone werkstations. Alleen echte medewerkers mogen zich op deze machines aanmelden. |
trashcan | Een erg oude machine zonder kritische data. Zelfs de stagiair mag deze doos gebruiken. |
Als deze restricties ingevoerd worden door iedere gebruiker
afzonderlijk te blokkeren, dan wordt er een
-user
regel per
systeem toegevoegd aan de passwd
voor
iedere gebruiker die niet mag aanmelden op dat systeem. Als er
maar één regel wordt vergeten, kan dat een
probleem opleveren. Wellicht lukt het nog dit juist in te
stellen bij de bouw van een machine, maar het wordt
echt vergeten de regels toe te voegen voor
nieuwe gebruikers in de productiefase. Murphy was tenslotte een
optimist.
Het gebruik van netgroepen biedt in deze situatie een aantal voordelen. Niet iedere gebruiker hoeft separaat afgehandeld te worden. Een gebruik kan aan een of meer groepen worden toegevoegd en aanmelden kan voor alle leden van zo'n groep worden toegestaan of geweigerd. Als er een nieuwe machine wordt toegevoegd, dan hoeven alleen de aanmeldrestricties voor de netgroepen te worden ingesteld. Als er een nieuwe gebruiker wordt toegevoegd, dan hoeft die alleen maar aan de juiste netgroepen te worden toegevoegd. Die veranderingen zijn niet van elkaar afhankelijk: geen “voor iedere combinatie van gebruiker en machine moet het volgende ...”. Als de NIS-opzet zorgvuldig is gepland, dan hoeft er maar één instellingenbestand gewijzigd te worden om toegang tot machines te geven of te ontnemen.
De eerst stap is het initialiseren van de NIS-afbeelding netgroup. ypinit(8) van FreeBSD maakt deze map niet standaard, maar als die is gemaakt, ondersteunt de NIS-implementatie hem wel. Een lege map wordt als volgt gemaakt:
ellington#
vi /var/yp/netgroup
Nu kan hij gevuld worden. In het gebruikte voorbeeld zijn tenminste vier netgroepen: IT-medewerkers, IT-junioren, gewone medewerkers en stagiars.
IT_MW (,alpha,test-domain) (,beta,test-domain) IT_APP (,charlie,test-domain) (,delta,test-domain) USERS (,echo,test-domain) (,foxtrott,test-domain) \ (,golf,test-domain) STAGS (,able,test-domain) (,baker,test-domain)
IT_MW
, IT_APP
enzovoort, zijn de namen van de netgroepen. Iedere groep tussen
haakjes bevat een of meer gebruikersnamen voor die groep. De
drie velden binnen een groep zijn:
De naam van de host of namen van de hosts waar de volgende onderdelen geldig zijn. Als er geen hostnaam wordt opgegeven dan is de regel geldig voor alle hosts. Als er wel een hostnaam wordt opgegeven, dan wordt een donker, spookachtig en verwarrend domein betreden.
De naam van de account die bij deze netgroep hoort.
Het NIS-domein voor de account. Er kunnen accounts uit andere NIS-domeinen geïmporteerd worden in een netgroep als een beheerder zo ongelukkig is meerdere NIS-domeinen te hebben.
Al deze velden kunnen jokerkarakters bevatten. Details daarover staan in netgroup(5).
De naam van een netgroep mag niet langer zijn dan acht karakters, zeker niet als er andere besturingssystemen binnen een NIS-domein worden gebruikt. De namen zijn hoofdlettergevoelig: alleen hoofdletters gebruiken voor de namen van netgroepen is een makkelijke manier om onderscheid te kunnen maken tussen gebruikers-, machine- en netgroepnamen.
Sommige NIS-cliënten (andere dan die op FreeBSD draaien) kunnen niet omgaan met netgroepen met veel leden. Sommige oudere versies van SunOS™ gaan bijvoorbeeld lastig doen als een netgroep meer dan 15 leden heeft. Dit kan omzeild worden door meerdere subnetgroepen te maken met 15 gebruikers of minder en een echte netgroep die de subnetgroepen bevat:
BIGGRP1 (,joe1,domain) (,joe2,domain) (,joe3,domain) [...] BIGGRP2 (,joe16,domain) (,joe17,domain) [...] BIGGRP3 (,joe31,domain) (,joe32,domain) BIGGROUP BIGGRP1 BIGGRP2 BIGGRP3
Dit proces kan herhaald worden als er meer dan 225 gebruikers in een netgroep moeten.
Het activeren en distribueren van de nieuwe NIS-map is eenvoudig:
ellington#
cd /var/yp
ellington#
make
Hiermee worden drie nieuwe NIS-afbeeldingen gemaakt:
netgroup
,
netgroup.byhost
en
netgroup.byuser
. Met ypcat(1) kan
bekeken worden op de nieuwe NIS-afbeeldingen beschikbaar zijn:
ellington%
ypcat -k netgroup
ellington%
ypcat -k netgroup.byhost
ellington%
ypcat -k netgroup.byuser
De uitvoer van het eerste commando hoort te lijken op de
inhoud van /var/yp/netgroup
. Het tweede
commando geeft geen uitvoer als er geen host-specifieke
netgroepen zijn ingesteld. Het derde commando kan gebruikt
worden om een lijst van netgroepen voor een gebruiker op te
vragen.
Het instellen van de cliënt is redelijk eenvoudig. Om
de server war
in te stellen hoeft alleen met
vipw(8) de volgende regel in de regel daarna vervangen te
worden:
+:::::::::
Vervang de bovenstaande regel in de onderstaande.
+@IT_MW:::::::::
Nu worden alleen de gebruikers die in de netgroep
IT_MW
geïmporteerd in de
wachtwoorddatabase van de host war
, zodat
alleen die gebruikers zich kunnen aanmelden.
Helaas zijn deze beperkingen ook van toepassing op de
functie ~
van de shell en alle routines
waarmee tussen gebruikersnamen en numerieke gebruikers ID's
wordt gewisseld. Met andere woorden: cd
~user
werkt niet,
ls –l
toont het numerieke ID in plaats
van de gebruikersnaam en find . –user joe
–print
faalt met de foutmelding No
such user. Om dit te repareren moeten alle
gebruikers geïmporteerd worden, zonder ze het
recht te geven aan te melden op een server.
Dit kan gedaan worden door nog een regel aan
/etc/master.passwd
toe te voegen:
+:::::::::/sbin/nologin
Dit betekent “importeer alle gebruikers, maar vervang
de shell door /sbin/nologin
”. Ieder
veld in een passwd
regel kan door een
standaardwaarde vervangen worden in
/etc/master.passwd
.
De regel +:::::::::/sbin/nologin
moet
na +@IT_MW:::::::::
komen. Anders krijgen
alle gebruikers die uit NIS-komen
/sbin/nologin
als aanmeldshell.
Na deze wijziging hoeft er nog maar één
NIS-afbeelding gewijzigd te worden als er een nieuwe medewerker
komt bij de IT-afdeling. Dezelfde aanpak kan gebruikt worden
voor de minder belangrijke servers door de oude regel
+:::::::::
in de lokale versie van
/etc/master.passwd
door iets als het
volgende te vervangen:
+@IT_MW::::::::: +@IT_APP::::::::: +:::::::::/sbin/nologin
Voor normale werkstations zijn het de volgende regels:
+@IT_MW::::::::: +@USERS::::::::: +:::::::::/sbin/nologin
En dat zou allemaal leuk en aardig zijn als er niet na een
paar weken een beleidsverandering komt: de IT-afdeling gaat
stagiairs aannemen. De IT-stagiairs mogen de normale
werkstations en de minder belangrijke servers gebruiken en de
juniorbeheerders mogen gaan aanmelden op de hoofdservers. Dat
kan door een nieuwe groep IT_STAG
te maken en
de nieuwe IT-stagiairs toe te voegen aan die netgroep en dan de
instellingen op iedere machine te gaan veranderen. Maar zoals
het spreekwoord zegt: “Fouten in een centrale planning
leiden tot complete chaos.”
Deze situaties kunnen voorkomen worden door gebruik te maken
van de mogelijkheid in NIS om netgroepen in netgroepen op te
nemen. Het is mogelijk om rolgebaseerde netgroepen te maken.
Er kan bijvoorbeeld een netgroep BIGSRV
gemaakt worden om het aanmelden op de belangrijke servers te
beperken en er kan een andere netgroep
SMALLSRV
voor de minder belangrijke servers
zijn en een derde netgroep met de naam
USERBOX
voor de normale werkstations. Al die
netgroepen kunnen de netgroepen bevatten die op die machines
mogen aanmelden. De nieuwe regels in de NIS-afbeelding netgroup
zien er dan zo uit:
BIGSRV IT_MW IT_APP SMALLSRV IT_MW IT_APP ITSTAG USERBOX IT_MW ITSTAG USERS
Deze methode voor het instellen van aanmeldbeperkingen werkt redelijk goed als er groepen van machines gemaakt kunnen worden met identieke beperkingen. Helaas blijkt dat eerder uitzondering dan regel. Meestal moet het mogelijk zijn om per machine in te stellen wie zich wel en wie zich niet mogen aanmelden.
Daarom is het ook mogelijk om via machinespecifieke
netgroepen de hierboven aangegeven beleidswijziging op te
vangen. In dat scenario bevat
/etc/master.passwd
op iedere machine twee
regels die met “+” beginnen. De eerste voegt de
netgroep toe met de accounts die op de machine mogen aanmelden
en de tweede voegt alle andere accounts toe met
/sbin/nologin
als shell. Het is verstandig
om als naam van de netgroep de machinenaam in
“HOOFDLETTERS” te gebruiken. De regels zien er
ongeveer als volgt uit:
+@MACHINENAAM
:::::::::
+:::::::::/sbin/nologin
Als dit voor alle machines is gedaan, dan hoeven de lokale
versies van /etc/master.passwd
nooit meer
veranderd te worden. Alle toekomstige wijzigingen kunnen dan
gemaakt worden door de NIS-afbeelding te wijzigen. Hieronder
staat een voorbeeld van een mogelijke netgroep map voor het
beschreven scenario met een aantal toevoegingen:
# Definieer eerst de gebruikersgroepen IT_MW (,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) ITSTAG (,kilo,test-domain) (,lima,test-domain) D_STAGS (,able,test-domain) (,baker,test-domain) # # En nu een aantal groepen op basis van rollen USERS DEPT1 DEPT2 DEPT3 BIGSRV IT_MW IT_APP SMALLSRV IT_MW IT_APP ITSTAG USERBOX IT_MW ITSTAG USERS # # Een een groep voor speciale taken. # Geef echo en golf toegang tot de anti-virus machine. SECURITY IT_MW (,echo,test-domain) (,golf,test-domain) # # Machinegebaseerde netgroepen # Hoofdservers WAR BIGSRV FAMINE BIGSRV # Gebruiker india heeft toegang tot deze server nodig. POLLUTION BIGSRV (,india,test-domain) # # Deze is erg belangrijk en heeft strengere toegangseisen nodig. DEATH IT_MW # # De anti-virus machine als hierboven genoemd. ONE SECURITY # # Een machine die maar door 1 gebruiker gebruikt mag worden. TWO (,hotel,test-domain) # [...hierna volgen de andere groepen]
Als er een soort database wordt gebruikt om de gebruikersaccounts te beheren, dan is het in ieder geval nodig dat ook het eerste deel van de afbeelding met de databaserapportagehulpmiddelen gemaakt kan worden. Dan krijgen nieuwe gebruikers automatisch toegang tot de machines.
Nog een laatste waarschuwing: het is niet altijd aan te raden gebruik te maken van machinegebaseerde netgroepen. Als er tientallen of zelfs honderden gelijke machines voor bijvoorbeeld studentenruimtes worden uitgerold, dan is het verstandiger rolgebaseerde netgroepen te gebruiken in plaats van machinegebaseerde netgroepen om de grootte van de NIS-afbeelding binnen de perken te houden.
In een NIS-omgeving werken een aantal dingen wel anders.
Als er een gebruiker toegevoegd moet worden, dan moet
die alleen toegevoegd worden aan de
master NIS-server en mag niet vergeten worden dat
de NIS-afbeeldingen herbouwd moeten worden. Als
dit wordt vergeten, dan kan de nieuwe gebruiker nergens
anders aanmelden dan op de NIS-master. Als bijvoorbeeld een
nieuwe gebruiker jsmith
toegevoegd moet
worden:
#
pw useradd jsmith
#
cd /var/yp
#
make test-domain
Er kan ook adduser jsmith
in plaats
van pw useradd jsmith
gebruikt
worden.
De beheeraccounts moeten buiten de NIS-afbeeldingen gehouden worden. Het is niet handig als de beheeraccounts en wachtwoorden naar machines waarop gebruikers zich aanmelden die geen toegang tot die informatie horen te hebben zouden gaan.
De NIS-master en slave moeten veilig blijven en zo min mogelijk niet beschikbaar zijn. Als de machine wordt gehackt of als hij wordt uitgeschakeld, dan kunnen er in theorie nogal wat mensen niet meer aanmelden.
Dit is de belangrijkste zwakte van elk gecentraliseerd beheersysteem. Als de NIS-servers niet goed beschermd worden, dan worden veel gebruikers boos!
ypserv voor FreeBSD biedt wat ondersteuning voor NIS v1 cliënten. De NIS-implementatie van FreeBSD gebruikt alleen het NIS v2 protocol, maar andere implementaties bevatten ondersteuning voor het v1 protocol voor achterwaartse compatibiliteit met oudere systemen. De ypbind-daemons die bij deze systemen zitten proberen een binding op te zetten met een NIS v1 server, hoewel dat niet per se ooit nodig is (en ze gaan misschien nog wel door met broadcasten nadat ze een antwoord van een v2 server hebben ontvangen). Het is belangrijk om te melden dat hoewel ondersteuning voor gewone cliëntoproepen aanwezig is, deze versie van ypserv geen overdrachtsverzoeken voor v1-afbeeldingen af kan handelen. Daarom kan ypserv niet gebruikt worden als master of slave in combinatie met oudere NIS-servers die alleen het v1 protocol ondersteunen. Gelukkig worden er in deze tijd niet meer zoveel van deze servers gebruikt.
Het is belangrijk voorzichtig om te gaan met het draaien van ypserv in een multi-server domein waar de server machines ook NIS-cliënten zijn. Het is in het algemeen verstandiger om de servers te dwingen met zichzelf te binden dan ze toe te staan een bindverzoek te broadcasten en het risico te lopen dat ze een binding met elkaar maken. Er kunnen vreemde fouten optreden als een van de servers plat gaat als er andere servers van die server afhankelijk zijn. Na verloop van tijd treedt op de cliënten wel een timeout op en verbinden ze met een andere server, maar de daarmee gepaard gaande vertraging kan aanzienlijk zijn en de foutmodus is nog steeds van toepassing, omdat de servers dan toch weer opnieuw een verbinding met elkaar kunnen vinden.
Het is mogelijk een host aan een specifieke server te binden
door aan ypbind
de vlag
–S
mee te geven. Om dit niet iedere keer
handmatig na een herstart te hoeven uitvoeren, kan de volgende
regel worden opgenomen in /etc/rc.conf
van
de NIS-server:
nis_client_enable="YES" # start ook het cliënt gedeelte nis_client_flags="-SNIS domain
,server
"
In ypbind(8) staat meer informatie.
Een van de meest voorkomende problemen bij het implementeren van NIS is de compatibiliteit van het wachtwoordformaat. Als een NIS-server wachtwoorden gebruikt die met DES gecodeerd zijn, dan kunnen alleen cliënten die ook DES gebruiken ondersteund worden. Als er bijvoorbeeld Solaris™ NIS-cliënten in een netwerk zijn, dan moet er vrijwel zeker gebruik gemaakt worden van met DES gecodeerde wachtwoorden.
Van welk formaat cliënten en servers gebruik maken is
te zien in /etc/login.conf
. Als een host
gebruik maakt van met DES gecodeerde wachtwoorden, dan staat er
in de klasse default
een regel als de
volgende:
default:\ :passwd_format=des:\ :copyright=/etc/COPYRIGHT:\ [Overige regels weggelaten]
Andere mogelijke waarden voor
passwd_format
zijn
blf
en md5
(respectievelijk voor Blowfish en MD5 gecodeerde
wachtwoorden).
Als er wijzigingen gemaakt zijn aan
/etc/login.conf
dan moet de
login capability database herbouwd worden door het volgende
commando als root
uit te voeren:
#
cap_mkdb /etc/login.conf
Het formaat van de wachtwoorden die al in
/etc/master.passwd
staan worden niet
bijgewerkt totdat een gebruiker zijn wachtwoord voor de eerste
keer wijzigt nadat de login capability
database is herbouwd.
Om te zorgen dat de wachtwoorden in het gekozen formaat zijn
gecodeerd, moet daarna gecontroleerd worden of de waarde
crypt_default
in
/etc/auth.conf
de voorkeur geeft aan het
gekozen formaat. Om dat te realiseren dient het gekozen formaat
vooraan gezet te worden in de lijst. Als er bijvoorbeeld
gebruik gemaakt wordt van DES gecodeerde wachtwoorden, dan hoort
de regel er als volgt uit te zien:
crypt_default = des blf md5
Als de bovenstaande stappen op alle FreeBSD gebaseerde NIS-servers en cliënten zijn uitgevoerd, dan is het zeker dat ze het allemaal eens zijn over welk wachtwoordformaat er op het netwerk wordt gebruikt. Als er problemen zijn bij de authenticatie op een NIS-cliënt, dan is dit een prima startpunt voor het uitzoeken waar de problemen vandaan komen. Nogmaals: als er een NIS-server in een heterogene omgeving wordt geplaatst, dan is het waarschijnlijk dat er gebruik gemaakt moet worden van DES op alle systemen, omdat dat de laagst overeenkomende standaard is.
DHCP, het Dynamic Host Configuration Protocol, schrijft voor
hoe een systeem verbinding kan maken met een netwerk en hoe het
de benodigde informatie kan krijgen om met dat netwerk te
communiceren. FreeBSD gebruikt de OpenBSD dhclient
welke uit OpenBSD 3.7 komt.
Alle informatie over dhclient
kan
zowel voor de ISC als de OpenBSD DHCP-cliënt gebruikt
worden. De DHCP-server zit bij de ISC-distributie.
In dit onderdeel worden de cliëntcomponenten van de
ISC en OpenBSD DHCP-cliënt en de servercomponenten van het
ISC DHCP-systeem beschreven. Het programma voor de cliënt,
dhclient
, zit standaard in FreeBSD en de server
is beschikbaar via de port net/isc-dhcp42-server. Naast de
onderstaande informatie, zijn de hulppagina's van
dhclient(8), dhcp-options(5) en dhclient.conf(5)
bruikbare bronnen.
Als dhclient
, de DHCP-cliënt, wordt
uitgevoerd op een cliëntmachine, dan begint die met het
broadcasten van verzoeken om instellingeninformatie. Standaard
worden deze verzoeken op UDP poort 68 gedaan. De server
antwoordt op UDP 67 en geeft de cliënt een IP-adres en
andere relevante netwerkinformatie, zoals een netmasker,
router en DNS-servers. Al die informatie komt in de vorm van
een DHCP “lease” en is voor een bepaalde tijd
geldig (die is ingesteld door de beheerder van de DHCP-server).
Op die manier kunnen IP-adressen voor cliënten die niet
langer met het netwerk verbonden zijn (stale) automatisch weer
ingenomen worden.
DHCP-cliënten kunnen veel informatie van de server krijgen. Er staat een uitputtende lijst in dhcp-options(5).
FreeBSD integreert de OpenBSD DHCP-cliënt
dhclient
volledig.
Er is ondersteuning voor de
DHCP-cliënt in zowel het installatieprogramma als in het
basissysteem, waardoor het niet noodzakelijk is om kennis te
hebben van het maken van netwerkinstellingen voor het netwerk
waar een DHCP-server draait.
DHCP wordt ondersteund door
sysinstall. Bij het instellen van
een netwerkinterface binnen
sysinstall is de tweede vraag:
“Wil je proberen de interface met DHCP in te
stellen?” Als het antwoord bevestigend luidt, dan wordt
dhclient
uitgevoerd en als dat succesvol
verloopt, dan worden de netwerkinstellingen automatisch
ingevuld.
Voor het gebruiken van DHCP bij het opstarten van het systeem zijn twee instellingen nodig:
Het apparaat bpf
moet in de
kernel gecompileerd zijn. Dit kan door
device bpf
aan het bestand met
kernelinstellingen toe te voegen en de kernel te herbouwen.
Meer informatie over het bouwen van een kernel staat in
Hoofdstuk 9, De FreeBSD-kernel instellen.
Het apparaat bpf
is al
onderdeel van de GENERIC
kernel die bij
FreeBSD zit, dus als er geen sprake is van een aangepaste
kernel, dan hoeft er geen nieuwe gemaakt te worden om DHCP
aan te praat te krijgen.
Voor de lezer die bijzonder begaan is met beveiliging,
is het belangrijk aan te geven dat
bpf
ook het apparaat is waardoor
pakketsnuffelaars hun werk kunnen doen (hoewel ze nog
steeds als root
moeten draaien).
bpf
is
noodzakelijk voor DHCP, maar als beveiliging bijzonder
belangrijk is, dan hoort bpf
waarschijnlijk niet in een kernel te zitten omdat de
verwachting dat er in de toekomst ooit DHCP gebruikt gaat
worden.
Standaard draait de DHCP-synchronisatie op FreeBSD in de achtergrond, of asynchroon. Andere opstartscripten gaan verder terwijl DHCP wordt voltooid, wat het opstarten van het systeem versnelt.
DHCP in de achtergrond werkt goed als de DHCP-server snel op verzoeken reageert en het DHCP-configuratieproces snel gaat. Op sommige systemen kan het lang duren voordat DHCP klaar is. Als netwerkdiensten proberen te draaien voordat DHCP voltooid is, zullen ze falen. Door DHCP in synchrone modus te draaien wordt dit probleem voorkomen en wordt het opstarten gepauzeerd totdat de DHCP-configuratie voltooid is.
Gebruik om in de achtergrond verbinding te maken met een
DHCP-server terwijl andere opstartscripts verder gaan (asynchrone
modus) de waarde “DHCP
” in
/etc/rc.conf
:
ifconfig_fxp0
="DHCP"
Gebruik om het opstarten te pauzeren totdat DHCP voltooid is de
synchrone modus met waarde
“SYNDHCP
”:
ifconfig_fxp0
="SYNDHCP"
Vervang fxp0
zoals getoond in deze
voorbeelden met de naam van de interface dat dynamisch
geconfigureerd moet worden, zoals getoond in Paragraaf 12.8, “Netwerkkaarten instellen”.
Als er een andere lokatie voor
dhclient
wordt gebruikt of als er extra
parameters aan dhclient
meegegeven moeten
worden, dan dient ook iets als het volgende toegevoegd te
worden:
dhclient_program="/sbin/dhclient" dhclient_flags=""
De DHCP-server, dhcpd, zit bij de port net/isc-dhcp42-server in de Portscollectie. Deze port bevat de ISC DHCP-server en documentatie.
/etc/dhclient.conf
Voor dhclient
is een
instellingenbestand /etc/dhclient.conf
nodig. Dat bestand bevat meestal alleen maar commentaar,
omdat de standaardinstellingen redelijk zinvol zijn. Dit
bestand wordt beschreven in dhclient.conf(5).
/sbin/dhclient
dhclient
is statisch gelinkt en staat
in /sbin
. Er staat meer informatie
over dhclient
in dhclient(8).
/sbin/dhclient-script
dhclient-script
is het
FreeBSD-specifieke DHCP-cliënt instellingenscript. Het
wordt beschreven in dhclient-script(8), maar het is
niet nodig het te wijzigen om goed te werken.
/var/db/dhclient.leases.interface
De DHCP-cliënt houdt in dit bestand een database bij van geldige leases, die naar een logboekbestand worden geschreven. In dhclient.leases(5) staat een iets uitgebreidere beschrijving.
Het DHCP-protocol staat volledig beschreven in RFC 2131.
Er is nog een bron van informatie ingesteld op http://www.dhcp.org/
.
In dit onderdeel wordt beschreven hoe een FreeBSD systeem zo ingesteld kan worden dat het opereert als DHCP-server door gebruik te maken van de ISC (Internet Systems Consortium) implementatie van de DHCP-server.
De server wordt niet geleverd als deel van FreeBSD en om deze dienst aan te bieden dient de port net/isc-dhcp42-server geïnstalleerd te worden. In Hoofdstuk 5, Applicaties installeren: pakketten en ports staat meer informatie over de Portscollectie.
Om een FreeBSD systeem in te stellen als DHCP-server moet het
apparaat bpf(4) in de kernel zijn opgenomen. Om dit te
doen dient device bpf
aan het bestand met
kernelinstellingen toegevoegd te worden en dient de kernel
herbouwd te worden. Meer informatie over het bouwen van
kernels staat in Hoofdstuk 9, De FreeBSD-kernel instellen.
Het apparaat bpf
is al onderdeel
van de GENERIC
kernel die bij FreeBSD, dus
het is meestal niet nodig om een aangepaste kernel te bouwen
om DHCP aan de praat te krijgen.
Het is belangrijk te vermelden dat
bpf
ook het apparaat is waardoor
pakketsnuffelaars kunnen werken (hoewel de programma's die
er gebruik van maken wel bijzondere toegang nodig hebben).
bpf
is
verplicht voor DHCP, maar als beveiliging van belang is, dan
is het waarschijnlijk niet verstandig om
bpf
in een kernel op te nemen
alleen omdat er in de toekomst misschien ooit DHCP gebruikt
gaat worden.
Hierna dient het standaardbestand
dhcpd.conf
dat door de port net/isc-dhcp42-server is
geïnstalleerd gewijzigd te worden. Standaard is dit
/usr/local/etc/dhcpd.conf.sample
en dit
bestand dient gekopieerd te worden naar
/usr/local/etc/dhcpd.conf
voordat de
wijzigingen worden gemaakt.
dhcpd.conf
is opgebouwd uit
declaraties over subnetten en hosts en is wellicht het meest
eenvoudig te beschrijven met een voorbeeld:
option domain-name "example.com";option domain-name-servers 192.168.4.100;
option subnet-mask 255.255.255.0;
default-lease-time 3600;
max-lease-time 86400;
ddns-update-style none;
subnet 192.168.4.0 netmask 255.255.255.0 { range 192.168.4.129 192.168.4.254;
option routers 192.168.4.1;
} host mailhost { hardware ethernet 02:03:04:05:06:07;
fixed-address mailhost.example.com;
}
Deze optie geeft het domein aan dat door cliënten als standaard zoekdomein wordt gebruikt. In resolv.conf(5) staat meer over wat dat betekent. | |
Deze optie beschrijft een door komma's gescheiden lijst met DNS-servers die de cliënt moet gebruiken. | |
Het netmasker dat aan de cliënten wordt voorgeschreven. | |
Een cliënt kan om een bepaalde duur vragen die een lease geldig is. Anders geeft de server aan wanneer de lease vervalt (in seconden). | |
Dit is de maximale duur voor een lease die de server
toestaat. Als een cliënt vraagt om een langere
lease, dan wordt die wel verstrekt, maar is de maar geldig
gedurende | |
Deze optie geeft aan of de DHCP-server moet proberen de DNS-server bij te werken als een lease is geaccepteerd of wordt vrijgegeven. In de ISC implementatie is deze optie verplicht. | |
Dit geeft aan welke IP-adressen in de groep met adressen zitten die zijn gereserveerd om uitgegeven te worden aan cliënten. Alle IP-adressen tussen de aangegeven adressen en die adressen zelf worden aan cliënten uitgegeven. | |
Geeft de default gateway aan die aan de cliënten wordt voorgeschreven. | |
Het hardware MAC-adres van een host, zodat de DHCP-server een host kan herkennen als die een verzoek doet. | |
Geeft een host aan die altijd hetzelfde IP-adres moet krijgen. Hier kan een hostnaam gebruikt worden, omdat de DHCP-server de hostnaam zelf opzoekt voordat de lease-informatie terug wordt gegeven. |
Wanneer u klaar bent met het schrijven van uw
dhcpd.conf
, dient u de DHCP-server in
/etc/rc.conf
aan te zetten, door het
volgende toe te voegen:
dhcpd_enable="YES" dhcpd_ifaces="dc0"
Vervang de interfacenaam dc0
door de
interface (of interfaces, gescheiden door witruimtes) waarop
uw DHCP-server moet luisteren naar DHCP-verzoeken van
cliënten.
Daarna kunt u doorgaan met het starten van de server door het volgende commando te geven:
#
service isc-dhcpd start
Als er later wijzigingen in de instellingen gemaakt moeten
worden, dan is het belangrijk te onthouden dat het sturen van
een SIGHUP
signaal naar
dhcpd niet
resulteert in het opnieuw laden van de instellingen, zoals
voor de meeste daemons geldt. Voor deze daemon dient een
signaal SIGTERM
gestuurd te worden om het
proces te stoppen. Daarna dient de daemon met het hiervoor
beschreven commando weer gestart worden.
/usr/local/sbin/dhcpd
dhcpd is statisch gelinkt
en staat in /usr/local/sbin
. In de
hulppagina voor dhcpd(8) die meekomt met de port
staat meer informatie over
dhcpd.
/usr/local/etc/dhcpd.conf
dhcpd heeft een
instellingenbestand,
/usr/local/etc/dhcpd.conf
, nodig
voordat de daemon diensten aan cliënten kan leveren.
Het bestand moet alle informatie bevatten die aan
cliënten gegeven moet worden en de informatie die
nodig is voor het draaien van de dienst. Dit
instellingenbestand staat beschreven in de hulppagina voor
dhcpd.conf(5) die meekomt met de port.
/var/db/dhcpd.leases
De DHCP-server houdt in dit bestand een database bij met leases die zijn uitgegeven en die naar een logboek worden geschreven. In de hulppagina dhcpd.leases(5) die bij de port zit wordt dit uitvoeriger beschreven.
/usr/local/sbin/dhcrelay
dhcrelay wordt in uitgebreidere omgevingen gebruikt waar de ene DHCP-server een verzoek van een cliënt naar een andere DHCP-server op een ander netwerk doorstuurt. Als deze functionaliteit nodig is, kan die beschikbaar komen door de port net/isc-dhcp42-relay te installeren. De hulppagina voor dhcrelay(8) die bij de port zit bevat meer details.
FreeBSD gebruikt standaard een versie van BIND (Berkeley
Internet Name Domain), wat de meest gebruikte implementatie van
het DNS-protocol is. DNS
is het protocol waarmee namen aan IP-adressen
gebonden worden en vice versa. Zo wordt bijvoorbeeld op een
zoekopdracht voor www.FreeBSD.org
geantwoord met het
IP-adres van de webserver van het FreeBSD
Project en op een zoekopdracht voor ftp.FreeBSD.org
wordt geantwoord met het
IP-adres van de bijbehorende
FTP-machine. Het tegenovergestelde kan ook
gebeuren. Een zoekopdracht voor een IP-adres
kan de bijbehorende hostnaam opleveren. Het is niet nodig om
een naamserver te draaien om op een systeem zoekopdrachten met
DNS uit te voeren.
FreeBSD wordt momenteel standaard geleverd met de BIND9 DNS-serversoftware. Onze installatie biedt verbeterde beveilingsmogelijkheden, een nieuwe indeling van het bestandssysteem en geautomatiseerde configuratie van chroot(8).
DNS wordt op Internet onderhouden door een enigszins complex systeem van autoritaire root, Top Level Domain (TLD), en andere kleinschaligere naamservers die individuele domeininformatie hosten en cachen.
Op dit moment wordt BIND beheerd door het Internet Systems
Consortium https://www.isc.org/
.
Om dit document te begrijpen moeten een aantal termen gerelateerd aan DNS begrepen worden.
Term | Definitie |
---|---|
Voorwaartse DNS | Het afbeelden van hostnamen op IP-adressen. |
Herkomst (origin) | Verwijst naar het domein dat door een bepaald zonebestand wordt gedekt. |
named, BIND | Vaak gebruikte namen voor het naamserverpakket BIND in FreeBSD. |
Resolver | Een systeemproces waarmee een machine zoekopdrachten om zoneinformatie aan een naamserver geeft. |
Reverse DNS | Het afbeelden van IP-adressen op hostnamen. |
Rootzone | Het begin van de Internet zonehiërarchie. Alle zones vallen onder de rootzone, net zoals alle bestanden in een bestandssysteem onder de rootmap vallen. |
Zone | Een individueel domein, subdomein of een deel van de DNS die door dezelfde autoriteit wordt beheerd. |
Voorbeelden van zones:
.
is hoe de rootzone normaliter in de
documentatie genoemd wordt.
org.
is een Top Level Domain
(TLD) onder de rootzone.
example.org.
is een
zone onder het TLD
org.
.
1.168.192.in-addr.arpa
is een zone die
naar alle IP-adressen verwijst die onder
de IP-adresruimte 192.168.1.*
vallen.
Zoals te zien is staat het specifiekere deel van een
hostnaam aan de linkerkant. Zo is bijvoorbeeld example.org.
specifieker dan
org.
en is org.
specifieker dan de rootzone. De indeling van ieder deel van een
hostnaam lijkt veel op een bestandssysteem: de map
/dev
valt onder de root, enzovoort.
Naamservers bestaan in het algemeen in twee smaken: autoratieve naamservers en caching (ook bekend als resolving) naamservers.
Er is een autoratieve naamserver nodig als:
Het gewenst is om DNS-informatie aan te bieden aan de wereld om met autoriteit op verzoeken te antwoorden.
Een domein, zoals example.org
, is geregistreerd
en er IP-adressen aan hostnamen die
daaronder liggen toegewezen moeten worden.
Een IP-adresblok omgekeerde DNS-ingangen nodig heeft (IP naar hostnaam).
Een omgekeerde of tweede naamserver, die een slaaf wordt genoemd, moet antwoorden op verzoeken.
Er is een caching naamserver nodig als:
Een lokale DNS-server kan cachen en wellicht sneller kan antwoorden dan een naamserver die verder weg staat.
Als er een verzoek wordt gedaan voor www.FreeBSD.org
, dan doet de resolver
meestal een verzoek bij de naamserver van de
ISP die de uplink levert en ontvangt daarop
een antwoord. Met een lokale, caching
DNS-server hoeft het verzoek maar
één keer door de caching
DNS-server naar de buitenwereld gedaan te
worden. Voor aanvullende verzoeken hoeft niet buiten het lokale
netwerk te gaan omdat het al lokaal in de cache staat.
De daemon BIND heet in FreeBSD named.
Bestand | Beschrijving |
---|---|
named(8) | De daemon BIND. |
rndc(8) | Naamserverbeheerprogramma. |
/etc/namedb | Map waar zoneinformatie van BIND staat. |
/etc/namedb/named.conf | Instellingenbestand van de daemon. |
Afhankelijk van hoe en gegeven zone op de server is
geconfigureerd, staan de bestanden gerelateerd aan die zone in
de submappen master
,
slave
, of dynamic
van de map /etc/namedb
. Deze bestanden
bevatten de DNS-informatie die door de
naamserver als antwoord op zoekopdrachten gegeven zal worden.
Omdat BIND standaard wordt geïnstalleerd, is het instellen relatief eenvoudig.
De standaardconfiguratie van named is die van een eenvoudige resolverende naamserver, draaiende in een chroot(8)-omgeving, en beperkt tot het luisteren op het lokale IPv4-teruglusadres (127.0.0.1). Gebruik het volgende commando om de server eenmaal met deze configuratie te starten:
#
service named onestart
Om er zeker van te zijn dat de daemon
named elke keer bij het opstarten
gestart wordt, moet de volgende regel in
/etc/rc.conf
gezet worden:
named_enable="YES"
Het is duidelijk dat er vele instelopties voor
/etc/namedb/named.conf
zijn die buiten het
bereik van dit document vallen. Als u echter
geïnteresseerd bent in de opstartopties voor
named op FreeBSD, bekijk dan de
named_*
-vlaggen in
/etc/defaults/rc.conf
en raadpleeg de
handleidingpagina rc.conf(5). De sectie Paragraaf 12.7, “Gebruik van rc met FreeBSD” is ook nuttig om te lezen.
Instellingenbestanden voor named
bevinden zich momenteel in /etc/namedb
en moeten gewijzigd
worden voor gebruik, tenzij er alleen een eenvoudige resolver
nodig is. Hier vindt de meeste configuratie plaats.
// $FreeBSD$ // // In de handleidingpagina's named.conf(5) en named(8), en in de // documentatie in /usr/share/doc/bind9 zijn meer details te vinden. // // Voor het opzetten van een autoratieve server is een grondig begrip // van de werking van DNS noodzakelijk. Zelfs eenvoudige fouten kunnen // de werking verstoren voor beïnvloede partijen of veel onnodig // Internetverkeer veroorzaken. options { // Alle namen van bestanden en paden zijn relatief aan de chroot-map, // indien aanwezig, en moeten volledig gekwalificeerd zijn. directory "/etc/namedb/working"; pid-file "/var/run/named/pid" dump-file "/var/dump/named_dump.db" statistics-file "/var/stats/named.stats" // Als named alleen als een lokale resolver gebruikt wordt, is dit een // veilige standaardinstelling. Om named toegang tot het netwerk te // verschaffen, dient deze optie gecommentarieerd te worden, het // juiste IP-adres opgegeven te worden, of dient deze optie verwijderd // te worden. listen-on { 127.0.0.1; }; // Als u IPv6 aan heeft staan op dit systeem, dient deze optie // uitgecommentarieerd te worden om als lokale resolver te dienen. Om // toegang tot het netwerk te verschaffen, dient een IPv6-adres of het // sleutelwoord "any" gegeven te worden. // listen-on-v6 { ::1; }; // Deze zones zijn reeds opgenomen door de lege zones die hieronder // staan. Als u de gerelateerde lege zones hieronder verwijdert, // dienen deze regels uitgecommentarieerd te worden. 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"; // Als er een DNS-server beschikbaar is bij een upstream provider dan // kan het IP-adres op de regel hieronder ingegeven worden en kan die // geactiveerd worden. Hierdoor wordt voordeel gehaald uit de cache, // waardoor het algehele DNS-verkeer op het Internet vermindert. /* forwarders { 127.0.0.1; }; */ // Als de 'forwarders'-clausule niet leeg is, is de standaard om "forward // first" te gebruiken, welke terug zal vallen op het versturen van een // verzoek naar uw lokale server als de naamservers in 'forwarders' het // antwoord niet weten. Als alternatief kunt u uw naamserver dwingen om // nooit zelf verzoeken in te dienen door de volgende regel aan te // zetten: // forward only; // Als u forwarding automatisch wilt configureren gebaseerd op de regels // in /etc/resolv.conf, verwijder dan het commentaar van de volgende // regel en stel in /etc/rc.conf named_auto_forward=yes in. U kunt ook // named_auto_forward_only aanzetten (het effect hiervan is hierboven // beschreven). // include "/etc/namedb/auto_forward.conf";
Zoals al in het commentaar staat kan van een cache in de
uplink geprofiteerd worden als forwarders
ingeschakeld worden. Onder normale omstandigheden maakt een
naamserver recursief verzoeken tot het Internet op zoek naar
zekere naamservers tot er een antwoord komt waar het naar op
zoek is. Door de bovenstaande optie in te schakelen wordt
eerst de uplink naamserver (of de opgegeven naamserver)
gevraagd, waardoor er gebruik gemaakt kan worden van de cache
van die server. Als die uplink naamserver een drukke,
snelle naamserver is, kan het erg de moeite waard zijn om dit
aan te zetten.
127.0.0.1
werkt hier
niet. Verander dit
IP-adres in een naamserver in de
uplink.
/* Moderne versies van BIND gebruiken standaard een random UDP-poort voor elk uitgaand verzoek om de kans op cache poisoning drastisch te verminderen. Alle gebruikers wordt met klem verzocht om deze mogelijkheid te gebruiken en hun firewalls overeenkomstig aan te passen. ALS EEN LAATSTE UITVLUCHT om een beperkende firewall te omzeilen kunt u proberen om onderstaande optie aan te zetten. Het gebruik van deze optie vermindert uw kans om een cache poisoning aanval te weerstaan aanzienlijk, en dient indien mogelijk te worden vermeden. Vervang NNNNN in het voorbeeld door een getal tussen 49160 en 65530. */ // query-source address * port NNNNN; }; // Als er een lokale naamserver wordt gebruikt, vergeet dan niet om // eerst 127.0.0.1 in /etc/resolv.conf te zetten zodat die gevraagd // wordt. Controleer ook dat het in /etc/rc.conf is aangezet. // Het traditionele root-hint-mechanisme. Gebruik dit OF de // onderstaande slaafzones. zone "." { type hint; file "/etc/namedb/named.root"; }; /* Het slaaf maken van de volgende zones vanaf de root-naamservers heeft een aantal aanzienlijke voordelen: 1. Snellere lokale resolutie voor uw gebruikers 2. Geen vals verkeer dat vanaf uw netwerk naar de roots wordt verzonden 3. Betere weerstand tegen elke mogelijk falen van de rootserver/DDoS Wel is het zo dat deze methode meer toezicht vraagt dan het hintbestand om er zeker van te zijn dat een onverwachte faalmodus uw server niet heeft lamgelegd. Naamservers die veel clienten serveren zullen meer voordeel uit deze aanpak halen dan individuele hosts. Met zorg gebruiken. Verwijder het commentaar uit de onderstaande regels en commentarieer de bovenstaande hintzone om dit mechanisme te gebruiken. Zoals gedocumenteerd op http://dns.icann.org/services/axfr/ zijn deze zones: "." (de root), ARPA, IN-ADDR.ARPA, IP6.ARPA en ROOT-SERVERS.NET beschikbaar voor AXFR van deze servers op IPv4 en 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; }; /* Het lokaal serveren van de volgende zones voorkomt dat enig verzoek voor deze zones uw netwerk verlaat en naar de root-naamservers gaat. Dit heeft twee aanzienlijke voordelen: 1. Snellere lokale resolutie voor uw gebruikers 2. Er zal geen vals verkeer vanaf uw netwerk naar de roots worden verzonden */ // RFCs 1912 en 5735 (en BCP32 voor 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-stijl zone voor IPv6 localhost adres zone "0.ip6.arpa" { type master; file "/etc/namedb/master/localhost-reverse.db"; }; // "Dit" netwerk (RFCs 1912 en 5735) zone "0.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; // Netwerken voor privaat gebruik (RFC 1918 en 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"; }; // Lokale link/APIPA (RFCs 3927 en 5735) zone "254.169.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; // IETF protocol-toewijzingen (RFCs 5735 en 5736) zone "0.0.192.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; // TEST-NET-[1-3] voor documentatie (RFCs 5735 en 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-bereik voor documentatie (RFC 3849) zone "8.b.d.0.1.0.0.2.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; // Domeinnamen voor documentatie en testen (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 benchmarken (RFC 2544 en 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"; } // Gereserveerd door IANA - oude ruimte van klasse E (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"; } // Niet-toegewezen IPv6-adressen (RFC 4291) zone "1.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; } zone "2.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 lokale link (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 verouderde site-lokale adressen (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 verouderd (RFC 4159) zone "ip6.int" { type master; file "/etc/namedb/master/empty.db"; } // NB: De IP-adressen hieronder zijn bedoeld als voorbeeld en dienen // niet gebruikt te worden! // // Voorbeeld instellingen voor slaafzones. Het kan handig zijn om // tenminste slaaf te worden voor de zone waar de host onderdeel van // uitmaakt. Bij uw netwerkbeheerder kan het IP-adres van de // verantwoordelijke meester-naamserver nagevraagd worden. // // Vergeet niet om de omgekeerde lookup-zone op te nemen! // Dit is genoemd na de eerste bytes van het IP-adres, in omgekeerde // volgorde, met daarachter ".IN-ADDR.ARPA", of "IP6.ARPA" voor IPv6. // // Het is van groot belang om de werking van DNS en BIND te begrijpen // voordat er een meester-zone wordt opgezet. Er zijn nogal wat // onverwachte valkuilen. Het opzetten van een slaafzone is // gewoonlijk eenvoudiger. // // NB: Zet de onderstaande voorbeelden niet blindelings aan. :-) // Gebruik in plaats hiervan echte namen en adressen. /* Een voorbeeld van een dynamische zone key "exampleorgkey" { algorithm hmac-md5; secret "sf87HJqjkqh8ac87a02lla=="; }; zone "example.org" { type master; allow-update { key "exampleorgkey"; }; file "/etc/namedb/dynamic/example.org"; }; */ /* Voorbeeld van een omgekeerde slaafzone zone "1.168.192.in-addr.arpa" { type slave; file "/etc/namedb/slave/1.168.192.in-addr.arpa"; masters { 192.168.1.1; }; }; */
In named.conf
zijn dit voorbeelden
van slaafregels voor een voorwaartse en een omgekeerde
zone.
Voor iedere nieuwe zone die wordt aangeboden dient een
nieuwe instelling voor de zone aan
named.conf
toegevoegd te worden.
De eenvoudigste instelling voor de zone example.org
kan er als volgt
uitzien:
zone "example.org" { type master; file "master/example.org"; };
De zone is een master, zoals aangegeven door het statement
type
, waarvan de zoneinformatie in
/etc/namedb/example.org
staat, zoals het
statement file
aangeeft.
zone "example.org" { type slave; file "slave/example.org"; };
In het geval van de slaaf wordt de zoneinformatie voor een zone overgedragen van de master naamserver en opgeslagen in het ingestelde bestand. Als de masterserver het niet meer doet of niet bereikbaar is, dan heeft de slaveserver de overgedragen zoneinformatie nog en kan het die aanbieden.
Een voorbeeldbestand voor een masterzone voor example.org
(bestaande binnen
/etc/namedb/master/example.org
) ziet er
als volgt uit:
$TTL 3600 ; 1 uur standaard TTL example.org. IN SOA ns1.example.org. admin.example.org. ( 2006051501 ; Serienummer 10800 ; Verversen 3600 ; Opnieuw proberen 604800 ; Verlopen 300 ; Negatieve antwoord-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 ; Machinenamen localhost IN A 127.0.0.1 ns1 IN A 192.168.1.2 ns2 IN A 192.168.1.3 mail IN A 192.168.1.4 mx IN A 192.168.1.5 ; Aliases www IN CNAME example.org.
Iedere hostnaam die eindigt op een “.” is
een exacte hostnaam, terwijl alles zonder een
“.” op het einde relatief is aan de oorsprong.
Zo wordt ns1
bijvoorbeeld vertaald naar
ns1.example.org.
.
De regels in een zonebestand volgen de volgende opmaak:
recordnaam IN recordtype waarde
De meest gebruikte DNS-records:
begin van autoriteit (start of authority)
een bevoegde (autoratieve) name server
een hostadres
de canonieke naam voor een alias
mail exchanger
een domeinnaam pointer (gebruikt in omgekeerde DNS)
example.org. IN SOA ns1.example.org. admin.example.org. ( 2006051501 ; Serienummer 10800 ; Ververs na 3 uur 3600 ; Opnieuw proberen na 1 uur 604800 ; Verlopen na 1 week 300 ; Negatieve antwoord-TTL
example.org.
de domeinnaam, ook de oorsprong voor dit zonebestand.
ns1.example.org.
de primaire/bevoegde naamserver voor deze zone.
admin.example.org.
de persoon die verantwoordelijk is voor
deze zone, emailadres met “@” vervangen.
<admin@example.org>
wordt
admin.example.org
.
2006051501
het serienummer van het bestand. Dit moet iedere
keer als het zonebestand wordt aangepast opgehoogd
worden. Tegenwoordig geven veel beheerders de voorkeur
aan de opmaak yyyymmddrr
voor het
serienummer. 2006051501
betekent
dan dat het voor het laatst is aangepast op
15–05–2006, de laatste
01
betekent dat het zonebestand die
dag voor het eerst is aangepast. Het serienummer is
belangrijk omdat het slaafnaamservers aangeeft dat een
zone is bijgewerkt.
IN NS ns1.example.org.
Hierboven staat een NS-regel. Voor iedere naamserver die bevoegde antwoorden moet geven voor de zone hoort er zo'n regel te zijn.
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
Een A-record geeft een machinenaam aan. Hierboven is te
zien dat ns1.example.org
zou
resolven naar 192.168.1.2
.
IN A 192.168.1.1
Deze regel kent IP-adres 192.168.1.1
toe aan de huidige
oorsprong, in dit geval example.org
.
www IN CNAME @
Een canoniek naamrecord wordt meestal gebruikt voor het
geven van aliassen aan een machine. In het voorbeeld is
www
een alias naar de “master”
machine waarvan de naam gelijk is aan de domeinnaam example.org
(192.168.1.1
). CNAME's kunnen
nooit samen met een ander soort record voor dezelfde hostnaam
gebruikt worden.
IN MX 10 mail.example.org.
MX records geven aan welke mailservers verantwoordelijk
zijn voor het afhandelen van inkomende mail voor de zone.
mail.example.org
is de hostnaam
van een mailserver en 10 is de prioriteit voor die mailserver.
Het is mogelijk meerdere mailservers in te stellen met
prioriteiten 10, 20, enzovoorts. Een mailserver die probeert
mail af te leveren voor example.org
probeert dat eerst
bij de MX met de hoogste prioriteit (het record met het
laagste prioriteitsnummer), daarna de tweede hoogste,
enzovoort, totdat de mail afgeleverd kan worden.
Voor in-addr.arpa zonebestanden (omgekeerd DNS) wordt dezelfde opmaak gebruikt, maar dan met PTR-regels in plaats van A of CNAME.
$TTL 3600 1.168.192.in-addr.arpa. IN SOA ns1.example.org. admin.example.org. ( 2006051501 ; Serienummer 10800 ; Ververs 3600 ; Opnieuw proberen 604800 ; Verlopen 300 ) ; Negatieve antwoord-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.
Dit bestand geeft de juiste IP-adressen voor hostnamen in het voorbeelddomein hierboven.
Het is het vernoemen waard dat alle namen aan de rechterkant van een PTR-record volledig gekwalificeerd dienen te zijn (i.e., met een “.” eindigen).
Een caching naamserver is een naamserver wiens primaire rol het oplossen van recursieve verzoeken is. Het dient simpelweg zelf verzoeken in en onthoudt de antwoorden voor later gebruik.
Domain Name Security System Extensions, ofwel DNSSEC, is een
verzameling van specificaties om resolvende naamservers te beschermen
tegen valse DNS-gegevens, zoals vervalste
DNS-records. Door digitale handtekeningen te
gebruiken kan een resolver de integriteit van een record controleren.
Merk op dat DNSSEC
alleen integriteit biedt via het digitaal ondertekenen van het Resource
Record (RRs). Het biedt noch
betrouwbaarheid noch bescherming tegen onjuiste aannames van
eindgebruikers. Dit betekent dat het mensen niet kan beschermen tegen
het bezoeken van example.net
in
plaats van example.com
. Het enige
wat DNSSEC doet is authenticeren dat de gegevens
niet tijdens het transport zijn gecompromitteerd. De beveiliging van
DNSSEC is een belangrijke stap in het beveiligen van
het internet in het algemeen. De relevante RFCs zijn
een goed beginpunt voor meer gedetailleerde gegevens over hoe
DNSSEC werkt. Raadpleeg de lijst in
Paragraaf 29.6.10, “Verder lezen”.
De volgende secties laten zien hoe DNSSEC voor een autoratieve DNS-server en een recursieve (of caching) DNS-server die BIND 9 draait kan worden bewerkstelligd. Hoewel alle versies van BIND 9 DNSSEC ondersteunen, is tenminste versie 9.6.2 nodig om gebruik te kunnen maken van de ondertekende rootzones tijdens het valideren van DNS-verzoeken. Dit komt doordat eerdere versies de benodigde algoritmes om validatie met de sleutel voor de rootzone te uit te voeren niet hebben. Het wordt sterk aangeraden om de nieuwste versie van BIND 9.7 te gebruiken om gebruik te kunnen maken van automatische sleutel-updates voor de rootsleutel en van andere mogelijkheden om zones ondertekend en sleutel up-to-date te houden. Wanneer configuraties tussen 9.6.2 en 9.7 en later verschillen, zullen deze worden toegelicht.
Het aanzetten van DNSSEC-validatie van
verzoeken die door een recursieve DNS-server worden
uitgevoerd heeft enkele aanpassingen aan
named.conf
nodig. Voordat deze wijzigingen
worden gemaakt dient de rootzone-sleutel, of vertrouwensanker, te
worden opgehaald. Momenteel is de rootzone-sleutel niet beschikbaar
in een bestandsformaat dat BIND begrijpt, dus moet
het handmatig in het juiste formaat omgezet worden. De sleutel zelf
kan verkregen worden door de rootzone ervoor met
dig te ondervragen. Door
%
dig +multi +noall +answer DNSKEY . > root.dnskey
te draaien, wordt de sleutel in root.dnskey
opgeslagen. De inhoud dient er ongeveer als volgt uit te zien:
. 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
Schrik niet als de verkregen sleutels anders zijn dan in dit voorbeeld. Ze kunnen zijn veranderd nadat deze instructies voor het laatst waren bijgewerkt. De uitvoer bevat in feite twee sleutels. De eerste sleutel, met de waarde 257 na het DNSKEY-recordtype, is degene die nodig is. Deze waarde geeft aan dat dit een Secure Entry Point ( SEP) is, beter bekend als een Key Signing Key (KSK). De tweede sleutel, met de waarde 256, is een deelsleutel, beter bekend als een Zone Signing Key (ZSK). Meer over de verschillende soorten sleutels komt aan bod in Paragraaf 29.6.8.2, “Configuratie van een autoratieve DNS-server”.
Nu moet de sleutel gecontroleerd en geformatteerd worden zodat BIND deze kan gebruiken. Maak om de sleutel te controleren een DS - RR-paar aan. Maak een bestand aan dat deze RRs bevat aan met
%
dnssec-dsfromkey -f root-dnskey . > root.ds
Deze records gebruiken respectievelijk SHA-1 en SHA-256, en dienen er als het volgende voorbeeld uit te zien, waarbij het langere record SHA-256 gebruikt.
. IN DS 19036 8 1 B256BD09DC8DD59F0E0F0D8541B8328DD986DF6E . IN DS 19036 8 2 49AAC11D7B6F6446702E54A1607371607A1A41855200FD2CE1CDDE32F24E8FB5
Het SHA-256 RR kan nu worden vergeleken met de digest in https://data.iana.org/root-anchors/root-anchors.xml. Om er absoluut zeker van te zijn dat er niet geknoeid is met de sleutel kunnen de gegevens in het XML-bestand worden gecontroleerd met de PGP-handtekening in https//data.iana.org/root-anchors/root-anchors.asc.
Vervolgens dient de sleutel juist geformateerd te worden. Dit
verschilt een beetje tussen versie 9.6.2 en versie 9.7 en later van
BIND. In versie 9.7 is ondersteuning toegevoegd om
automatisch veranderingen aan de sleutel te volgen en deze bij te
werken indien nodig. Dit wordt gedaan met
managed-keys
zoals in het volgende voorbeeld te
zien is. Als de oudere versie gebruikt wordt, wordt de sleutel
toegevoegd met een commando trusted-keys
en dient
deze handmatig bijgewerkt te worden. Voor BIND
9.6.2 ziet het formaat er uit als:
trusted-keys { "." 257 3 8 "AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relS Qageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq QxA+Uk1ihz0="; };
Voor versie 9.7 ziet het formaat er echter zo uit:
managed-keys { "." initial-key 257 3 8 "AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relS Qageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq QxA+Uk1ihz0="; };
De rootsleutel kan nu aan named.conf
worden
toegevoegd, ofwel direct of door een bestand dat de sleutel bevat te
includen. Stel na deze stappen BIND in zodat het
DNSSEC-validatie uitvoert op verzoeken door
named.conf
te bewerken en het volgende aan de
directief options
toe te voegen:
dnssec-enable yes; dnssec-validation yes;
Om te controleren dat het ook echt werkt, kan
dig gebruikt worden om een verzoek op een
ondertekende zone uit te voeren met de zojuist geconfigureerde
resolver. Een succesvol antwoord zal de vlag AD
bevatten om aan te geven dat de gegevens zijn geautenticeerd. Een
verzoek als
%
dig @resolver +dnssec se ds
zou het DS RR paar voor de
.se
-zone moeten teruggeven. In de sectie
flags:
moet de vlag AD
te zien
zijn, als in:
... ;; flags: qr rd ra ad; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1 ...
De resolver is nu in staat om DNS-verzoeken te autenticeren.
Om een autoratieve naamserver een met DNSSEC ondertekende zone te laten serveren is wat meer werk nodig. Een zone wordt ondertekend met cryptografische sleutels die aangemaakt moeten worden. Het is mogelijk om hier slechts één sleutel voor te gebruiken. De methode die de voorkeur verdient is echter om een sterke, goed beschermde Key Signing Key (KSK) die niet vaak wordt geroteerd en een Zone Signing Key (ZSK) die vaker wordt geroteerd te hebben. Informatie over aanbevolen procedures staat in RFC 4641: DNSSEC Operational Practices. Procedures betreffende de rootzone staan in DNSSEC Practice Statement for the Root Zone KSK operator en DNSSEC Practice Statement for the Root Zone ZSK operator. De KSK wordt gebruikt om een autoriteitsketen voor de te valideren gegevens op te bouwen en wordt daarom ook een Secure Entry Point (SEP)-sleutel genoemd. Een bericht-digest van deze sleutel, dat Delegation Signer (DS)-record genoemd wordt, moet gepubliceerd zijn in de ouderzone om een vertrouwensketen op te bouwen. Hoe dit bereikt wordt hangt af van de eigenaar van de ouderzone. De ZSK wordt gebruikt om de zone te ondertekenen, en hoeft alleen daar gepubliceerd te worden.
Om DNSSEC aan te zetten voor de zone example.com
zoals beschreven in de
voorgaande voorbeelden, dient als eerste
dnssec-keygen gebruikt te worden om het
sleutelpaar met de KSK en ZSK
te genereren. Dit sleutelpaar kan verschillende cryptografische
algoritmes gebruiken. Het wordt aanbevolen om RSA/SHA-256 voor de
sleutels te gebruiken, een sleutellengte van 2048 bits zou voldoende
moeten zijn. Om de KSK voor example.com
te genereren:
%
dnssec-keygen -f KSK -a RSASHA256 -b 2048 -n ZONE example.com
en om de ZSK te genereren:
%
dnssec-keygen -a RSASHA256 -b 2048 -n ZONE example.com
dnssec-keygen maakt twee bestanden, de
publieke en private sleutels in bestanden met namen als
Kexample.com.+005+nnnnn.key
(publiek) en
Kexample.com.+005+nnnnn.private
(privaat). Het
gedeelte nnnnn
van de bestandsnaam is een
sleutel-ID van vijf cijfers. Houd bij welke sleutel-ID bij welke
sleutel hoort. Dit is in het bijzonder van belang wanneer er meerdere
sleutels per zone zijn. Het is ook mogelijk om de sleutels te
hernoemen. Voor elk KSK-bestand:
%
mv Kexample.com.+005+nnnnn.key Kexample.com.+005+nnnn.KSK.key
%
mv Kexample.com.+005+nnnnn.private Kexample.com.+005+nnnnn.KSK.private
Voor ZSK-bestanden dient KSK
waar nodig door ZSK
vervangen te worden. De
bestanden kunnen nu worden opgenomen in het zonebestand, door de
opdracht $include
te gebruiken. Het zou er
ongeveer als volgt uit moeten zien:
$include Kexample.com.+005+nnnnn.KSK.key ; KSK $include Kexample.com.+005+nnnnn.ZSK.key ; ZSK
Onderteken tenslotte de zone en vertel BIND om
het ondertekende zonebestand te gebruiken. Voor het ondertekenen van
een zone wordt dnssec-signzone gebruikt.
Het commando om de zone example.com
, dat zich in
example.com.db
bevindt, zou er ongeveer zo
uit moeten zien:
%
dnssec-signzone -o example.com -k Kexample.com.+005+nnnnn.KSK example.com.db Kexample.com.+005+nnnnn.ZSK.key
De sleutel die aan het argument -k
wordt
meegegeven is de KSK en het andere sleutelbestand
is de ZSK dat bij het ondertekenen gebruikt moet
worden. Het is mogelijk om meer dan één
KSK en ZSK op te geven, wat tot
gevolg heeft dat de zone met alle meegegeven sleutels wordt
ondertekend. Dit kan nodig zijn om zonegegevens aan te leveren die
met meerdere algoritmes zijn ondertekend. De uitvoer van
dnssec-signzone is een zonebestand met
daarin alle RRs ondertekend. Deze uitvoer komt in
een bestand met de extensie .signed
terecht, zoals
example.com.db.signed
. De DS-records worden ook naar een
apart bestand dsset-example.com
geschreven. Om
deze ondertekende zone te gebruiken hoeft alleen de zone-directief in
named.conf
veranderd te worden om
example.com.db.signed
. Standaard zijn de
ondertekeningen slechts 30 dagen geldig, wat betekent dat de zone over
ongeveer 15 dagen hertekend moet worden om er zeker van te zijn dat
resolvers geen records met oude ondertekeningen cachen. Het is
mogelijk om hiervoor een script en een crontaak te maken. Bekijk de
relevante handleidingen voor details.
Zorg ervoor dat de private sleutels veilig blijven, zoals met alle cryptografische sleutels. Bij het veranderen van een sleutel kan het beste de nieuwe sleutel in de zone opgenomen worden, en nog met de oude sleutel te ondertekenen, en om daarna over te stappen op de nieuwe sleutel. Nadat deze handelingen zijn voltooid kan de oude sleutel uit de zone worden verwijderd. Wanneer dit niet wordt gedaan kunnen de DNS-gegevens tijdelijk onbeschikbaar zijn totdat de nieuwe sleutel door de DNS-hiërarchie is gepropageerd. Meer informatie over sleutelwisselingen en andere praktijken rondom DNSSEC staan in RFC 4641: DNSSEC Operational practices.
In versie 9.7 van BIND is een nieuwe
mogelijkheid genaamd Smart Signing
geïntroduceerd. Deze mogelijkheid heeft als doel om het
sleutelbeheer en ondertekenproces eenvoudiger te maken door delen van
deze taken te automatiseren. Door de sleutels in een
sleutelreservoir te stoppen en de nieuwe optie
auto-dnssec
te gebruiken, is het mogelijk om een
dynamische zone aan te maken welke opnieuw getekend wordt indien dat
nodig is. Gebruik om deze zone bij te werken
nsupdate met de nieuwe -l
.
rndc kan nu ook zones ondertekenen met
sleutels uit het sleutelreservoir door de optie sign
te gebruiken. Voeg, om BIND dit automatische
ondertekenen en bijwerken van zones te laten gebruiken voor example.com
, het volgende aan
named.conf
toe:
zone example.com { type master; key-directory "/etc/named/keys"; update-policy local; auto-dnssec maintain; file "/etc/named/dynamic/example.com.zone"; };
Nadat deze veranderingen gemaakt zijn, dienen de sleutels voor de
zone aangemaakt te worden zoals uitgelegd in Paragraaf 29.6.8.2, “Configuratie van een autoratieve
DNS-server”, deze sleutels in het sleutelreservoir
gestopt te worden dat als argument aan de
key-directory
in het zoneconfiguratie is
meegegeven, waarna de zone automatisch zal worden ondertekend. Zones
die op deze manier zijn geconfigureerd dienen met
nsupdate te worden gedaan, dat voor het
opnieuw ondertekenen van de zone met de nieuw toegevoegde gegevens zal
zorgen. Zie voor meer details Paragraaf 29.6.10, “Verder lezen” en de
BIND-documentatie.
Hoewel BIND de meest gebruikte implementatie van DNS is, is er altijd nog het beveiligingsvraagstuk. Soms worden er mogelijke en te misbruiken beveiligingsgaten gevonden.
Hoewel FreeBSD named automatisch in een chroot(8)-omgeving plaatst; zijn er verschillende andere beveiligingsmechanismen actief die zouden kunnen helpen om mogelijke aanvallen op de DNS-dienst af te wenden.
Het is altijd verstandig om de CERT beveiligingswaarschuwingen te lezen en een abonnement te nemen op de FreeBSD beveiligingswaarschuwingen mailinglijst om bij te blijven met de beveiligingsproblemen wat betreft Internet en FreeBSD.
Als er problemen ontstaan, kan het bijwerken van broncode en het opnieuw bouwen van named hulp bieden.
FreeBSD wordt gebruikt om een paar van de drukste websites ter wereld te draaien. De meeste webservers op Internet maken gebruik van de Apache HTTP Server. Apache softwarepakketten staan op de FreeBSD installatiemedia. Als Apache niet bij de oorspronkelijke installatie van FreeBSD is meegeïnstalleerd, dan kan dat vanuit de port www/apache22.
Als Apache succesvol is geïnstalleerd, moeten er instellingen gemaakt worden.
In dit onderdeel wordt versie 2.2.X van de
Apache HTTP Server behandeld omdat
die het meest gebruikt wordt op FreeBSD.
Meer gedetailleerde informatie over
Apache 2.X dat buiten het bereik van
dit document valt is te vinden op http://httpd.apache.org/
.
Het belangrijkste bestand met instellingen voor de
Apache HTTP Server op FreeBSD is
/usr/local/etc/apache22/httpd.conf
. Dit
bestand is een typisch UNIX® tekstgebaseerd
instellingenbestand waarin regels met commentaar beginnen met
het karakter #
. Het uitputtend beschrijven
van alle mogelijke instellingen valt buiten het bereik van dit
boek, dus worden alleen de meest gebruikte directieven
beschreven.
ServerRoot "/usr/local"
Hierin wordt de standaard mappenhiërarchie voor
de Apache installatie
aangegeven. Binaire bestanden staan in de submappen
bin
en sbin
van de serverroot en
bestanden met instellingen staan in etc/apache
.
ServerAdmin beheerder@beheer.adres
Het adres waaraan problemen met de server gemaild kunnen worden. Dit adres verschijnt op een aantal door de server gegenereerde pagina's, zoals documenten met foutmeldingen.
ServerName www.example.com
Met ServerName
kan een hostnaam
ingesteld worden die wordt teruggezonden aan de
cliënten als de naam van de server anders is dan diegene
is ingesteld (gebruik bijvoorbeeld www
in
plaats van de echte hostnaam).
DocumentRoot
"/usr/local/www/apache22/data"
DocumentRoot
: de map waaruit de
documenten worden geserveerd. Standaard worden alle
verzoeken uit deze map gehaald, maar er kunnen symbolische
links en aliassen gebruikt worden om naar andere locaties
te wijzen.
Het is altijd een goed idee om reservekopieën te maken van het instellingenbestand voor Apache vóór het maken van wijzigingen. Als de juiste instellingen gemaakt zijn, kan Apache gestart worden.
De port www/apache2 installeert
een rc(8)-script dat helpt met het starten, stoppen en herstarten
van Apache en is te vinden in
/usr/local/etc/rc.d/
.
Om Apache met het systeem mee te
starten kan de volgende regel aan
/etc/rc.conf
worden toegevoegd:
apache22_enable="YES"
Als het nodig is Apache met afwijkende
opties op te starten, kan de volgende regel aan
/etc/rc.conf
worden toegevoegd:
apache22_flags=""
De configuratie van Apache kan worden
getest op fouten voordat het daemon httpd
voor de
eerste keer wordt gestart, of na het maken van wijzigingen aan de
instellingen terwijl httpd
draait. Dit kan direct
door het rc(8)-script worden gedaan, of door het gereedschap
service(8) door één van de volgende commando's op te
geven:
#
service apache22 configtest
Het is belangrijk om op te merken dat
configtest
geen rc(8)-standaard is, verwacht
niet dat het met alle rc(8)-opstartscripts werkt.
Als Apache geen instellingsfouten meldt,
kan Apache httpd
gestart worden met service(8):
#
service apache22 start
De dienst httpd
kan getest worden door
http://localhost
in een webbrowser te typen, waarbij localhost
door de volledig gekwalificeerde domeinnaam wordt vervangen van de
machine die httpd
draait, als het niet de lokale
machine is. De standaard webpagina die afgebeeld wordt is
/usr/local/www/apache22/data/index.html
.
Apache ondersteunt twee verschillende manieren van Virtuele Hosting. De eerste methode is Naamgebaseerde Virtuele Hosting. Naamgebaseerde Virtuele Hosting gebruikt de HTTP/1.1 headers van de cliënten om de hostnaam uit te zoeken. Hierdoor kunnen meerdere domeinen hetzelfde IP-adres delen.
Om Apache gebruik te laten maken
van Naamgebaseerde Virtuele Hosting kan een regel als de
volgende in httpd.conf
worden opgenomen:
NameVirtualHost *
Als een webserver www.domein.tld
heet en er moet een
virtueel domein voor www.anderdomein.tld
gaan draaien, dan
kunnen de volgende regels aan httpd.conf
worden toegevoegd:
<VirtualHost *> ServerName www.domein.tld DocumentRoot /www/domein.tld </VirtualHost> <VirtualHost *> ServerName www.anderdomein.tld DocumentRoot /www/anderdomein.tld </VirtualHost>
De adressen en de paden uit dit voorbeeld kunnen in echte implementaties uiteraard gewijzigd worden.
Meer informatie over het opzetten van virtuele hosts staat
in de officiële documentatie voor
Apache op http://httpd.apache.org/docs/vhosts/
Er zijn veel verschillende Apache modules die functionaliteit toevoegen aan de basisdienst. De FreeBSD Portscollectie biedt op een eenvoudige manier de mogelijkheid om Apache samen met de meeste populaire add-on modules te installeren.
De module mod_ssl gebruikt de bibliotheek OpenSSL om sterke cryptografie te leveren via de protocollen Secure Sockets Layer (SSL v2/v3) en Transport Layer Security (TLS v1). Deze module levert alles wat nodig is om een getekend certificaat aan te vragen bij een vertrouwde certificaatautoriteit om een veilige webserver onder FreeBSD te kunnen draaien.
De module mod_ssl wordt standaard
gebouwd, maar kan worden aangezet door tijdens het compileren
-DWITH_SSL
op te geven.
Er zijn Apache-modules beschikbare voor de meeste grote scriptingtalen. Deze modules maken het typisch mogelijk om Apache-modules geheel in een scriptingtaal te schrijven. Ze worden ook vaak gebruikt als een persistente interpreter die in de server zit en die de rompslomp van het starten van een externe interpreter en de opstartvertraging voor dynamische websites vermijdt, zoals beschreven in de volgende sectie.
In het afgelopen decennium hebben steeds meer bedrijven zich op Internet gericht om hun omzet te verhogen en hun zichtbaarheid te vergroten. Hiermee is ook de behoefte aan interactieve webinhoud toegenomen. Hoewel sommige bedrijven zoals Microsoft® oplossingen hebben geïntroduceerd voor hun eigen (propriëtaire) producten, heeft ook de open source gemeenschap een antwoord op de vraag gegeven. Moderne opties voor dynamische webinhoud zijn onder andere Django, Ruby on Rails, mod_perl2, en mod_php.
Django is een BSD-gelicenseerd raamwerk ontworpen om ontwikkelaars in staat te stellen om snel hoog presterende, elegante webapplicaties te schrijven. Het biedt een vertaling van objecten naar relaties zodat datatypes ontwikkeld kunnen worden als Python-objecten, en er een rijke dynamische databasetoegang voor die objecten kan worden geboden zonder dat de ontwikkelaar ooit SQL hoeft te schrijven. Het biedt ook een uitbreidbaar sjabloonsysteem zodat de applicatielogica is gescheiden van de HTML-presentatie.
Django is afhankelijk van mod_python, Apache, en een SQL-database-engine naar keuze. De FreeBSD-port zal al deze vereisten met de juiste vlaggen voor u installeren.
#
cd /usr/ports/www/py-django; make all install clean -DWITH_MOD_PYTHON3 -DWITH_POSTGRESQL
Als Django en deze vereisten eenmaal zijn geïnstalleerd, dient u een Django-projectmap te maken en vervolgens Apache te configureren om de ingebakken Python-interpreter te gebruiken om uw applicatie voor specifieke URL's op uw site aan te roepen.
U moet een regel aan het Apache-bestand
httpd.conf
toevoegen om Apache in te
stellen om verzoeken voor bepaalde URL's aan uw
webapplicatie door te geven:
<Location "/"> SetHandler python-program PythonPath "['/map/naar/uw/django-pakketten/'] + sys.path" PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE mijnsite.settings PythonAutoReload On PythonDebug On </Location>
Ruby on Rails is een ader opensource webraamwerk dat een volledige ontwikkelstack biedt en geoptimaliseerd is om webontwikkelaars productiever te maken en snel krachtige applicaties te laten ontwikkelen. Het kan eenvoudig vanuit het portssysteem geïnstalleerd worden.
#
cd /usr/ports/www/rubygem-rails; make all install clean
Het Apache/Perl integratieproject brengt de volledige kracht van de programmeertaal Perl en de Apache HTTP Server samen. Met de module mod_perl2 is het mogelijk om Apache-modules volledig in Perl te schrijven. Daarnaast voorkomt een ingebouwde persistente interpreter in de server de rompslomp van het starten van een externe interpreter en de nadelen van de opstarttijd van Perl.
mod_perl2 is beschikbaar in de port www/mod_perl2.
PHP, ook bekend als “PHP: Hypertext Preprocessor”, is een algemene scripttaal die bijzonder geschikt is voor webontwikkeling. Het is mogelijk de taal in te bedden in HTML en de syntaxis is afgeleid van C, Java™ en Perl met de bedoeling webontwikkelaars in staat te stellen om snel dynamisch samengestelde pagina's te schrijven.
Om ondersteuning voor PHP5 toe te voegen aan de Apache webserver kan eerst de port lang/php5 geïnstalleerd worden.
Als de port lang/php5
voor het eerst geïnstalleerd wordt, worden automatisch de
beschikbare OPTIONS
weergegeven. Als er
geen menu wordt weergegeven, omdat de port lang/php5 reeds in het verleden is
geïnstalleerd, is het altijd mogelijk om het optiedialoog
weer te laten verschijnen door
#
make config
uit te voeren in de map van de port.
Controleer in het optiedialoog dat de optie
APACHE
mod_php5
als een laadbare module voor de webserver
Apache bouwt.
Een heleboel sites draaien nog steeds PHP4 om verschillende redenen (compatibiliteitszaken of reeds in gebruik genomen webapplicaties). Als mod_php4 nodig is in plaats van mod_php5, gebruik dan de port lang/php4. De port lang/php4 ondersteunt een groot deel van de configuratie- en bouwopties van de port lang/php5.
Hiermee worden de modules die nodig zijn voor de
ondersteuning van dynamische
PHP-applicaties geïnstalleerd en
ingesteld. Controleer dat de volgende secties aan
/usr/local/etc/apache22/httpd.conf
zijn
toegevoegd:
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>
Na voltooiing is een eenvoudige aanroep van het commando
apachectl
voor een nette herstart nodig om
de module PHP te laden:
#
apachectl graceful
Voor toekomstig bijwerken van PHP zal
het commando make config
niet nodig zijn;
de geselecteerde OPTIONS
worden automatisch
bewaard door het FreeBSD Ports raamwerk.
De ondersteuning voor PHP in FreeBSD is extreem modulair waardoor de basisinstallatie zeer beperkt is. Het is heel gemakkelijk om ondersteuning toe te voegen door de port lang/php5-extensions te gebruiken. Deze port biedt een menugestuurde interface voor de installatie van PHP-uitbreidingen. Als alternatief kunnen individuele uitbreidingen worden geïnstalleerd door de juiste port te gebruiken.
Om bijvoorbeeld ondersteuning voor de
MySQL databaseserver aan
PHP5 toe te voegen kan gewoonweg de port
databases/php5-mysql
geïnstalleerd worden:
Na de installatie van een uitbreiding moet de Apache-server herladen worden om de nieuwe veranderingen in de configuratie op te pikken:
#
apachectl graceful
Het File Transfer Protocol (FTP) biedt gebruikers een eenvoudige manier om bestanden van en naar een FTP server te verplaatsen. FreeBSD bevat FTP server software, ftpd, in het basissysteem. Hierdoor is het opzetten en beheren van een FTP server op FreeBSD erg overzichtelijk.
De belangrijkste stap bij het instellen is de beslissing
welke accounts toegang krijgen tot de FTP server. Een normaal
FreeBSD systeem heeft een aantal systeemaccounts die gebruikt
worden voor daemons, maar onbekende gebruikers mag niet
toegestaan worden van die accounts gebruikt te maken. In
/etc/ftpusers
staat een lijst met
gebruikers die geen FTP toegang hebben. Standaard staan daar de
voorgenoemde accounts in, maar het is ook mogelijk om daar
gebruikers toe te voegen die geen FTP toegang mogen hebben.
Het kan ook wenselijk zijn de FTP toegang voor sommige
gebruikers te beperken, maar niet onmogelijk te maken. Dit kan
met /etc/ftpchroot
. In dat bestand staan
gebruikers en groepen waarop FTP toegangsbeperkingen van
toepassing zijn. In ftpchroot(5) staan alle details die
hier niet beschreven zijn.
Om anonieme FTP toegang voor een server in te schakelen,
dient er een gebruiker ftp
op een FreeBSD
systeem aangemaakt te worden. Dan kunnen gebruikers op de
server aanmelden met de gebruikersnaam ftp
of anonymous
en met ieder wachtwoord (de
geldende conventie schrijft voor dat dit een emailadres
van de gebruiker is). De FTP server roep bij een anonieme
aanmelding chroot(2) aan, zodat er alleen toegang is tot de
thuismap van de gebruiker ftp
.
Er zijn twee tekstbestanden waarin welkomstberichten voor de
FTP-cliënten gezet kunnen worden. De inhoud van
/etc/ftpwelcome
wordt getoond voordat
gebruikers een aanmeldprompt zien. Na een succesvolle
aanmelding wordt de inhoud van
/etc/ftpmotd
getoond. Het genoemde pad is
relatief ten opzichte van de aanmeldomgeving, dus voor anonieme
gebruikers wordt ~ftp/etc/ftpmotd
getoond.
Als een FTP server eenmaal correct is ingesteld, moet die
ingeschakeld worden in /etc/inetd.conf
.
Daar moet het commentaarkarakter #
voor de
bestaande ftpd regel verwijderd
worden:
ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l
Zoals is uitgelegd in Voorbeeld 29.1, “Het instellingenbestand van inetd herladen”, moet de configuratie van inetd worden herladen nadat dit instellingenbestand is gewijzigd. Details over het aanzetten van inetd op uw systeem staan in Paragraaf 29.2.2, “Instellingen”.
Als alternatief kan ftpd ook
gestart worden als een op zichzelf staande dienst. In dat geval
volstaat het om de juiste variabele in te stellen in
/etc/rc.conf
:
ftpd_enable="YES"
Na het instellen van de bovenstaande variabele zal de op
zichzelf staande server gestart worden nadat de computer opnieuw
is opgestart, of het kan handmatig worden gestart door het
volgende commando als root
uit te
voeren:
#
service ftpd start
Nu kan aangemeld worden op de FTP-server met:
%
ftp localhost
De ftpd daemon gebruikt
syslog(3) om berichten te loggen. Standaard plaatst de
systeemlogdaemon berichten over FTP in
/var/log/xferlog
. De lokatie van het FTP
logboek kan gewijzigd worden door de volgende regels in
/etc/syslog.conf
te wijzigen:
ftp.info /var/log/xferlog
Het is verstandig na te denken over de gevaren die op de loer liggen bij het draaien van een anonieme FTP server. Dat geldt in het bijzonder voor het laten uploaden ven bestanden. Het is dan goed mogelijk dat een FTP site een forum wordt om commerciële software zonder licenties uit te wisselen of erger. Als anonieme uploads toch nodig zijn, dan horen de rechten op die bestanden zo te staan dat ze niet door andere anonieme gebruikers gelezen kunnen worden tot er door een beheerder naar gekeken is.
Samba is een populair open source softwarepakket dat bestands- en printdiensten voor Microsoft® Windows® cliënten biedt. Die cliënten kunnen dan ruimte op een FreeBSD bestandssysteem gebruiken alsof het een lokale schijf is en FreeBSD printers gebruiken alsof het lokale printers zijn.
Samba softwarepakketten horen op de FreeBSD installatiemedia te staan. Als Samba bij de basisinstallatie niet mee is geïnstalleerd, dan kan dat alsnog via de net/samba34 port of met het pakket.
Een standaardbestand met instellingen voor
Samba wordt geïnstalleerd als
/usr/local/share/examples/samba34/smb.conf.default
.
Dit bestand dient gekopieerd te worden naar
/usr/local/etc/smb.conf
en voordat
Samba gebruikt kan worden, moeten er
aanpassingen aan worden gemaakt.
smb.conf
bevat de instellingen voor
Samba, zoals die voor de printers en
de “gedeelde bestandssystemen” die gedeeld worden
met Windows® cliënten. Het pakket
Samba bevat een webgebaseerde
beheermodule die swat heet, waarmee
smb.conf
op een eenvoudige manier ingesteld
kan worden.
De Samba Webbeheermodule (SWAT) draait als een daemon
vanuit inetd. Daarom dient
inetd aangezet te worden zoals
beschreven in Paragraaf 29.2, “De inetd
“Super-Server”” en dient voor
de volgende regel uit /etc/inetd.conf
het commentaarkarakter verwijderd te worden voordat
swat gebruikt kan worden om
Samba in te stellen:
swat stream tcp nowait/400 root /usr/local/sbin/swat swat
Zoals is uitgelegd in Voorbeeld 29.1, “Het instellingenbestand van inetd herladen”, moet de configuratie van inetd worden herladen nadat dit instellingenbestand is gewijzigd.
Als swat is ingeschakeld in
inetd.conf
, kan de module gebruikt worden
door met een browser een verbinding te maken met http://localhost:901
. Er dient aangemeld te
worden met het root
account van het
systeem.
Na succesvol aanmelden op de hoofdpagina voor de
Samba instellingen, is het mogelijk
de systeemdocumentatie te bekijken of te starten door op het
tabblad te klikken. Het onderdeel
correspondeert met de sectie
[global]
in
/usr/local/etc/smb.conf
.
Of Samba nu wordt ingesteld
door /usr/local/etc/smb.conf
direct te
bewerken of met swat, de eerste
instellingen die gemaakt moeten worden zijn de volgende:
workgroup
NT Domeinnaam of Werkgroepnaam voor de computers die verbinding gaan maken met de server.
netbiosnaam
Hiermee wordt de NetBIOS naam waaronder de Samba server bekend zal zijn ingesteld. Standaard is de naam het eerste gedeelte van de DNS-naam van een host.
server string
Hiermee wordt de string ingesteld die te zien is als
het commando net view
en een aantal
andere commando's die gebruik maken van de
beschrijvende tekst voor de server gebruikt worden.
Twee van de belangrijkste instellingen in
/usr/local/etc/smb.conf
zijn het gekozen
beveiligingsmodel en het wachtwoord voor
cliëntgebruikers. Deze worden met de volgende
instellingen gemaakt:
security
De twee meest gebruikte mogelijkheden hier zijn
security = share
en
security = user
. Als de
cliënten gebruikersnamen hebben die overeenkomen
met hun gebruikersnaam op de FreeBSD machine, dan is het
verstandig om te kiezen voor beveiliging op
gebruikersniveau. Dit is het standaard
beveiligingsbeleid en kent als voorwaarde dat gebruikers
zich eerst moeten aanmelden voordat ze toegang krijgen
tot gedeelde bronnen.
Bij beveiliging op shareniveau hoeft een cliënt niet met een geldige gebruikersnaam en wachtwoord aan te melden op de server voor het mogelijk is om een verbinding te proberen te krijgen met een gedeelde bron. Dit was het standaardbeveiligingsmodel voor oudere versies van Samba.
passdb backend
Samba kent aan de
achterkant verschillende authenticatiemodellen.
Cliënten kunnen authenticeren met LDAP, NIS+, een
SQL-database of een aangepast wachtwoordbestand. De
standaard authenticatiemethode is
smbpasswd
. Meer wordt hier niet
behandeld.
Als aangenomen wordt dat de standaard achterkant
smbpasswd
wordt gebruikt, dan moet
/usr/local/etc/samba/smbpasswd
gemaakt
worden om Samba in staat te stellen
cliënten te authenticeren. Als het gewenst is om uw
UNIX® gebruikersaccounts toegang te geven vanaf Windows®
cliënten, gebruik dan het volgende commando:
#
smbpasswd -a gebruikersnaam
De aanbevolen backend is nu tdbsam
,
en het volgende command moet gebruikt worden om
gebruikersaccounts toe te voegen:
#
pdbedit -a -u gebruikersnaam
In de Official Samba HOWTO staat meer informatie over instelopties. Met de hier gegeven basisuitleg moet het mogelijk zijn Samba draaiende te krijgen.
De port net/samba34 voegt
een nieuw opstartscript toe, dat gebruikt kan worden om
Samba te beheren. Om dit script te
activeren, zodat het bijvoorbeeld gebruikt kan worden om
Samba te starten, stoppen, of te
herstarten, dient de volgende regel aan
/etc/rc.conf
toegevoegd te worden:
samba_enable="YES"
Of, voor fijnkorrelig beheer:
nmbd_enable="YES"
smbd_enable="YES"
Dit stelt Samba ook in om automatisch tijdens het opstarten te starten.
Vervolgens is het mogelijk om Samba op elk moment te starten door dit te typen:
#
service samba start
Starting SAMBA: removing stale tdbs : Starting nmbd. Starting smbd.
Refereer aan Paragraaf 12.7, “Gebruik van rc met FreeBSD” voor meer informatie over het gebruikt van rc-scripts.
Samba bestaat feitelijk uit drie
afzonderlijke daemons. Het script
samba
start de daemons
nmbd en
smbd. Als de winbind
naamresolutiediensten in smb.conf
zijn
ingeschakeld, dan start ook de daemon
winbindd.
Samba kan op ieder moment gestopt worden met:
#
service samba stop
Samba is een complexe
softwaresuite met functionaliteit waarmee verregaande integratie
met Microsoft® Windows® netwerken mogelijk wordt. Informatie
die verder gaat dan de basisinstallatie staat op
http://www.samba.org
.
Na verloop van tijd gaat de tijd van een computer meestal uit de pas lopen. Het Netwerk Tijd Protocol (NTP) kan ervoor zorgen dat de tijd accuraat blijft.
Veel diensten op Internet zijn afhankelijk, of hebben veel voordeel, van het betrouwbaar zijn van de tijd. Zo ontvangt een webserver bijvoorbeeld veel verzoeken om een bestand te sturen als dat gewijzigd is sinds een bepaald moment. In een LAN-omgeving is het van groot belang dat computers die bestanden delen van eenzelfde server gesynchroniseerde tijd hebben zodat de tijdstempels consistent blijven. Diensten zoals cron(8) zijn ook afhankelijk van een betrouwbare systeemtijd om commando's op het ingestelde moment uit te voeren.
Bij FreeBSD zit de ntpd(8) NTP server die gebruikt kan worden om bij andere NTP servers de tijd op te vragen om de eigen klok gelijk te zetten of om de juiste tijd te verstrekken aan andere apparaten.
Om de tijd te synchroniseren moeten er één of meer NTP-servers beschikbaar zijn. Een lokale systeembeheerder of een ISP heeft wellicht een NTP-server voor dit doel opgezet. Het is verstandig om documentatie te raadplegen en te bekijken of dat het geval is. Er is een online lijst van publiek toegankelijke NTP-servers waarop een NTP-server gezocht kan worden die in geografische zin dichtbij een te synchroniseren computer ligt. Het is belangrijk te voldoen aan het beleid voor de betreffende server en toestemming te vragen als dat in de voorwaarden staat.
Het is verstandig meerdere, niet van elkaar afhankelijke, NTP-servers te kiezen voor het geval een van de servers niet langer betrouwbaar is of niet bereikbaar is. ntpd(8) gebruikt de antwoorden die van andere servers ontvangen worden op intelligente wijze: betrouwbare servers krijgen voorrang boven onbetrouwbare servers.
Als het alleen de bedoeling is de tijd te synchroniseren bij het opstarten van een machine, dan kan ntpdate(8) gebruikt worden. Dit kan van toepassing zijn op desktops die regelmatig herstart worden en niet echt regelmatig gesynchroniseerd hoeven te worden. Op sommige machines hoort echter ntpd(8) te draaien.
Het gebruik van ntpdate(8) bij het opstarten is ook een goed idee voor machines waarop ntpd(8) draait. De ntpd(8) wijzigt de tijd geleidelijk, terwijl ntpdate(8) gewoon de tijd instelt, hoe groot het verschil tussen de bestaande tijd van een machine en de correcte tijd ook is.
Om ntpdate(8) tijdens het opstarten in te schakelen
kan ntpdate_enable="YES"
aan
/etc/rc.conf
worden toegevoegd. Alle
voor de synchronisatie te gebruiken servers moeten dan, samen
met eventuele opties voor ntpdate(8), in
ntpdate_flags
aangegeven worden.
NTP wordt ingesteld met het bestand
/etc/ntp.conf
in het formaat dat
beschreven staat in ntp.conf(5). Hieronder volgt een
eenvoudig voorbeeld:
server ntplocal.example.com prefer server timeserver.example.org server ntp2a.example.net driftfile /var/db/ntp.drift
De optie server
geeft aan welke servers
er gebruikt moeten worden, met op elke regel een server. Als
de server wordt ingesteld met het argument
prefer
, zoals bij ntplocal.example.com
, dan krijgt die
server de voorkeur boven de andere. Een antwoord van een
voorkeursserver wordt genegeerd als dat significant afwijkt
van de antwoorden van de andere servers. In andere gevallen
wordt het gebruikt zonder rekening te houden met de andere
antwoorden. Het argument prefer
wordt
meestal gebruikt voor NTP-servers waarvan bekend is dat ze erg
betrouwbaar zijn, zoals die met speciale
tijdbewakingshardware.
De optie driftfile
geeft aan welk
bestand gebruikt wordt om de offset van de klokfrequentie van
het systeem op te slaan. ntpd(8) gebruikt die om
automatisch te compenseren voor het natuurlijke afwijken van
de tijd, zodat er zelfs bij gebrek aan externe bronnen een
redelijke accurate tijdsinstelling mogelijk is.
De optie driftfile
geeft aan welk
bestand gebruikt wordt om informatie over eerdere antwoorden
van NTP-servers die gebruikt worden op te slaan. Dit bestand
bevat interne informatie voor NTP. Het hoort niet door andere
processen gewijzigd te worden.
Een NTP-server is standaard toegankelijk voor alle hosts
op een netwerk. De optie restrict
in
/etc/ntp.conf
maakt het mogelijk om aan
te geven welke machines de dienst mogen benaderen.
Voor het blokkeren van toegang voor alle andere machines
kan de volgende regel aan /etc/ntp.conf
toegevoegd worden:
restrict default ignore
Dit zal ook toegang van uw server naar alle servers die vermeld staan in uw lokale configuratie verhinderen. Als u uw NTP-server moet synchroniseren met een externe NTP-server, dient u deze specifieke server toe te staan. Lees de handleiding voor ntp.conf(5) voor meer informatie.
Om alleen machines op bijvoorbeeld het lokale netwerk toe te staan hun tijd te synchroniseren met een server, maar ze tegelijkertijd niet toe te staan om de server te draaien of de server als referentie voor synchronisatie te gebruiken, kan de volgende regel toegevoegd worden:
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
Hierboven is 192.168.1.0
een IP-adres op een LAN en 255.255.255.0
is het bijbehorende
netwerkmasker.
/etc/ntp.conf
mag meerdere regels met
restrict
bevatten. Meer details staan in
het onderdeel Access Control Support
van
ntp.conf(5).
De NTP-server kan bij het opstarten gestart worden door de
regel ntpd_enable="YES"
aan
/etc/rc.conf
toe te voegen. Om extra
opties aan ntpd(8) mee te geven kan de parameter
ntpd_flags
in
/etc/rc.conf
gebruikt worden.
Om de server zonder een herstart van de machine te starten
kan ntpd
uitgevoerd worden, met toevoeging
van de parameters uit ntpd_flags
in
/etc/rc.conf
. Bijvoorbeeld:
#
ntpd -p /var/run/ntpd.pid
ntpd(8) heeft geen permanente verbinding met een
netwerk nodig om goed te werken. Maar als er gebruik gemaakt
wordt van een inbelverbinding, is het wellicht verstandig om
ervoor te zorgen dat uitgaande NTP-verzoeken geen uitgaande
verbinding kunnen starten. Als er gebruik gemaakt wordt van
gebruikers-PPP, kunnen er filter
commando's
ingesteld worden in /etc/ppp/ppp.conf
.
Bijvoorbeeld:
set filter dial 0 deny udp src eq 123 # NTP-verkeer zorgt niet voor uitbellen set filter dial 1 permit 0 0 set filter alive 0 deny udp src eq 123 # Inkomend NTP-verkeer houdt de verbinding niet open set filter alive 1 deny udp dst eq 123 # Uitgaand NTP-verkeer houdt de verbinding niet open set filter alive 2 permit 0/0 0/0
Meer details staan in de sectie PACKET
FILTERING
in ppp(8) en in de voorbeelden in
/usr/share/examples/ppp/
.
Sommige Internetproviders blokkeren lage poorten, waardoor NTP niet kan werken omdat er nooit een antwoord ontvangen kan worden door een machine.
Het omgaan met systeemlogs is een cruciaal aspect van zowel beveiligings- als systeembeheer. Het in de gaten houden van logbestanden van meerdere hosts kan nogal onhandelbaar worden als deze hosts over (middel)grote netwerken zijn verspreid, of wanneer ze deel zijn van verschillende soorten netwerken. In deze gevallen kan het op afstand loggen het gehele proces een stuk aangenamer maken.
Het centraal loggen naar een specifieke loghost kan wat van de
administratieve last van het beheren van logbestanden wegnemen.
Het aggregeren, samenvoegen, en roteren van logbestanden kan op
één enkele plaats worden ingesteld, door gebruik te
maken van de eigen gereedschappen van FreeBSD, zoals syslogd(8)
en newsyslog(8). In de volgende voorbeeldconfiguratie zal
host A
, genaamd logserv.example.com
, loginformatie voor het
plaatselijke netwerk verzamelen. Host B
, genaamd
logclient.example.com
, zal
loginformatie aan het serversysteem doorgeven. In echte
configuraties hebben beide hosts degelijke voor- en terugwaartse
DNS of regels in
/etc/hosts
nodig. Anders worden de gegevens
geweigerd door de server.
Logservers zijn machines die zijn geconfigureerd om loginformatie van hosts op afstand te accepteren. In de meeste gevallen is dit om de configuratie te vergemakkelijken, in andere gevallen kan het gewoon een beheersbeslissing zijn. Ongeacht de reden zijn er enkele eisen voordat er verder wordt gegaan.
Een juist geconfigureerde logserver voldoet aan de volgende minimale eisen:
De regels van de firewall staan toe dat UDP wordt doorgegeven op poort 514 van zowel de cliënt als de server;
syslogd is ingesteld om berichten op afstand van cliëntmachines te accepteren;
De syslogd-server en alle cliëntmachines moeten
geldige regels hebben voor zowel voorwaartse als
terugwaartse DNS, of correct zijn
geconfigureerd in /etc/hosts
.
Om de logserver te configureren, moet de cliënt vermeld
zijn in /etc/syslog.conf
, en moet de
logfaciliteit zijn gespecificeerd:
+logclient.example.com *.* /var/log/logclient.log
Meer informatie over de verschillende ondersteunde en beschikbare faciliteiten kan gevonden worden in de handleidingpagina syslog.conf(5).
Eenmaal toegevoegd worden alle
faciliteits
-berichten gelogd naar het eerder
gespecificeerde bestand,
/var/log/logclient.log
.
De servermachine moet ook het volgende in
/etc/rc.conf
hebben staan:
syslogd_enable="YES" syslogd_flags="-a logclient.example.com -v -v"
De eerste optie zet de daemon syslogd
aan
tijdens het opstarten, en de tweede regel staat toe dat gegevens
van de cliënt op deze server worden geaccepteerd. Het
laatste gedeelte, dat -v -v
gebruikt, verhoogt de
verbositeit van gelogde berichten. Dit is extreem handig voor
het optimaal instellen van faciliteiten aangezien beheerders
kunnen zien welk soort berichten onder welke faciliteit worden
gelogd.
Er kunnen meerdere opties -a
worden
gespecificeerd om logging vanuit meerdere cliënten toe te
staan. IP-adressen en hele netblokken mogen
ook worden gespecificeerd, bekijk de hulppagina syslog(3)
voor een volledige lijst van mogelijke opties.
Als laatste dient het logbestand gecreëerd te worden. De gebruikte manier maakt niet uit, maar touch(1) werkt prima in dit soort situaties:
#
touch /var/log/logclient.log
Nu dient het syslogd
-daemon herstart en
geverifieerd worden:
#
service syslogd restart
#
pgrep syslog
Als er een PID wordt teruggegeven, dan is
de server succesvol herstart, en kan er begonnen worden met de
configuratie van de cliënt. Raadpleeg de log
/var/log/messages
voor uitvoer als de
server niet is herstart.
Een logcliënt is een machine die loginformatie naar een logserver verstuurt en daarnaast lokale kopieën bewaart.
Net als logservers moeten logcliënten ook aan enkele minimumeisen voldoen:
syslogd(8) moet zijn ingesteld om berichten van bepaalde soorten naar een logserver te sturen, die ze moet accepteren;
De firewall moet UDP-pakketten doorlaten op poort 514;
Zowel voorwaartse als terugwaartse
DNS moeten geconfigureerd zijn of juiste
regels in /etc/hosts
hebben.
De configuratie van cliënten is wat soepeler dan die
van servers. De cliëntmachine moet de volgende regels in
/etc/rc.conf
hebben:
syslogd_enable="YES" syslogd_flags="-s -v -v"
Net als eerder zullen deze regels de daemon
syslogd
tijdens het opstarten aanzetten, en
de verbositeit van gelogde berichten verhogen. De optie
-s
voorkomt dat logs van deze cliënt
vanuit andere hosts worden geaccepteerd.
Faciliteiten beschrijven het systeemgedeelte waarvoor een
bericht is gegenereerd. ftp en
ipfw bijvoorbeeld zijn beide faciliteiten.
Wanneer er logberichten worden gegenereerd voor deze twee
diensten, zullen ze normaalgesproken deze twee gereedschappen in
elk logbericht opnemen. Faciliteiten worden vergezeld van een
prioriteit of niveau, welke wordt gebruikt om aan te geven hoe
belangrijk een logbericht is. De meest voorkomende zullen
warning
en info
zijn.
Bekijk de handleidingpagina syslog(3) voor een volledige
lijst van beschikbare faciliteiten en prioriteiten.
De logserver moet in /etc/syslog.conf
van de cliënt zijn gedefinieerd. In dit geval wordt het
symbool @
gebruikt om loggegevens naar een
server op afstand te sturen en zou er ongeveer als de volgende
regel uit moeten zien:
*.* @logserv.example.com
Eenmaal toegevoegd moet syslogd
worden
herstart zodat de veranderingen effect hebben:
#
service syslogd restart
Om te testen of logberichten over het netwerk worden
verzonden, wordt logger(1) op de cliënt gebruikt om
een bericht naar syslogd
te sturen:
#
logger "Testbericht van logclient"
Dit bericht dient nu zowel in
/var/log/messages
op de cliënt als
/var/log/logclient.log
op de logserver te
staan.
In bepaalde gevallen kan het nodig zijn om te debuggen als
berichten niet door de logserver worden ontvangen. Er zijn
verschillende redenen waarom dit kan gebeuren; de twee meest
voorkomende zijn echter voorvallen met de netwerkverbinding en
DNS. Om deze gevallen te testen, dient te
worden nagegaan dat beide hosts elkaar kunnen bereiken door
de hostnaam in /etc/rc.conf
te gebruiken.
Als dit juist lijkt te werken, dient de optie
syslogd_flags
in
/etc/rc.conf
te worden veranderd.
In het volgende voorbeeld is
/var/log/logclient.log
leeg, en noemt
/var/log/messages
geen reden waarom het
mislukt. Verander de optie syslogd_flags
zoals in het volgende voorbeeld en herstart om de debuguitvoer
te verhogen:
syslogd_flags="-d -a logclien.example.com -v -v"
#
service syslogd restart
Debuggegevens zoals de volgende zullen meteen na de herstart over het scherm vliegen:
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.
Het is duidelijk dat de berichten worden geweigerd wegens
een niet-overeenkomende naam. Na de configuratie grondig te
hebben herzien, lijkt het of een typefout in de volgende regel
in /etc/rc.conf
een probleem heeft:
syslogd_flags="-d -a logclien.example.com -v -v"
De regel dient logclient
, niet
logclien
te bevatten. Nadat de juiste
wijzigingen zijn gemaakt, wordt er herstart met de verwachte
resultaten:
#
service 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
Nu worden de berichten juist ontvangen en in het correcte bestand geplaatst.
Zoals bij alle netwerkdiensten, dienen beveiligingseisen in acht te worden genomen voordat deze configuratie wordt geïmplementeerd. Soms kunnen logbestanden gevoelige gegevens bevatten over diensten die aanstaan op de lokale host, gebruikersaccounts, en configuratiegegevens. Netwerkgegevens die van de cliënt naar de server worden verzonden worden niet versleuteld noch met een wachtwoord beveiligd. Als versleuteling nodig is, kan security/stunnel worden gebruikt, wat gegevens over een versleutelde tunnel verstuurt.
Aan lokale beveiliging moet ook gedacht worden.
Logbestanden worden niet versleuteld tijdens gebruik of na
logrotatie. Lokale gebruikers kunnen deze bestanden benaderen
om aanvullende inzichten over de systeemconfiguratie op te doen.
In deze gevallen is het van kritiek belang om de juiste rechten
op deze bestanden in te stellen. Het gereedschap
syslogd(8) ondersteunt het instellen van rechten op nieuw
aangemaakte en geroteerde logbestanden. Het instellen van
logbestanden op modus 600
dient al het
ongewenste spieken door lokale gebruikers te verhinderen.
Firewalls bieden de mogelijkheid om inkomend en uitgaand verkeer op een systeem te filteren. Een firewall gebruikt daarvoor een of meer groepen regels (“rules”) om netwerkpakketten te inspecteren als ze binnenkomen of weggaan door netwerkverbindingen en staat dat verkeer dan toe of blokkeert het. De regels van een firewall kunnen één of meerdere eigenschappen van pakketten onderzoeken waaronder, maar niet uitsluitend, het protocol, het bron- of bestemmingsadres en de bron- en bestemmingspoort.
Firewalls kunnen de veiligheid van een host of netwerk enorm vergroten. Ze kunnen één of meer van de volgende dingen doen:
Applicaties, diensten en machines op een intern netwerk te beschermen tegen ongewild verkeer van het Internet.
Toegang tot Internet voor interne hosts te limiteren of uitschakelen.
Ondersteuning bieden voor netwerkadres vertaling (“network address translation” of NAT), waarmee er vanaf een intern netwerk met private IP adressen een Internetverbinding gedeeld kan worden met één IP adres of met een groep van publieke adressen die automatisch wordt toegewezen.
Na het lezen van dit hoofdstuk weet de lezer:
Hoe pakketfilteringsregels op de juiste wijze samengesteld kunnen worden;
De verschillen tussen de firewalls die bij FreeBSD worden geleverd;
Hoe de OpenBSD firewall PF te gebruiken en in te stellen;
Hoe IPFILTER te gebruiken en in te stellen;
Hoe IPFW te gebruiken en in te stellen.
Er wordt aangenomen dat de lezer van dit hoofdstuk:
Basisbegrip heeft van FreeBSD en Internetconcepten.
Er zijn twee basismogelijkheden om sets met regels te maken voor firewalls: “inclusief” of “exclusief”. Een exclusieve firewall staat al het verkeer door behalve het verkeer dat past bij de set met regels. Een inclusieve firewall doet het tegenovergestelde. Die staat alleen verkeer toe dat past bij de regels en blokkeert al het overige verkeer.
Een inclusieve firewall biedt veel betere controle over het uitgaande verkeer, waardoor het een betere keuze is voor systemen die diensten op het publieke Internet aanbieden. Het beheert ook het type verkeer dat van het publieke Internet afkomt en toegang heeft tot uw privé-netwerk. Al het verkeer dat niet aan de regels voldoet wordt geblokkeerd en gelogd, dat is zo ontworpen. Inclusieve firewalls zijn over het algemeen veiliger dan exclusieve firewalls omdat ze het risico dat ongewenst verkeer door ze heen gaat aanzienlijk verminderen.
Tenzij anders aangegeven, creëeren alle configuraties en voorbeelden van regelverzamelingen in dit hoofdstuk inclusieve firewalls.
De beveiliging kan nog verder vergroot worden met een “stateful firewall”. Dit type firewall houdt bij welke connecties er door de firewall tot stand zijn gekomen en laat alleen verkeer door dat bij een bestaande connectie hoort of onderdeel is van een connectie in opbouw. Het nadeel van een stateful firewall is dat die kwetsbaar kan zijn voor Ontzegging van Dienst (DoS) aanvallen als er een groot aantal nieuwe verbindingen binnen korte tijd wordt opgezet. Met de meeste firewalls is het mogelijk een combinatie te maken van stateful en niet stateful gedrag om een optimale firewall voor een site te maken.
FreeBSD heeft drie soorten firewallsoftware in de basisinstallatie. Dat zijn: IPFILTER (ook bekend als IPF), IPFIREWALL (ook bekend als IPFW) en de pakketfilter van OpenBSD (ook bekend als PF). FreeBSD heeft ook twee ingebouwde pakketten voor het regelen van verkeer (in de basis het beheersen van bandbreedtegebruik): altq(4) en dummynet(4). Dummynet is traditioneel sterk verbonden met IPFW en ALTQ met PF. Het vormgeven van verkeer voor IPFILTER kan momenteel gedaan worden met IPFILTER voor NAT en filtering en IPFW met dummynet(4) of door PF met ALTQ te gebruiken. IPFW en PF gebruiken allemaal regels om de toegang van pakketten tot een systeem te regelen, hoewel ze dat op andere manieren doen en ze een andere regelsyntaxis hebben.
De reden dat er meerdere firewallpakketten in FreeBSD zitten is dat verschillende mensen verschillende eisen en voorkeuren hebben. Geen enkel firewallpakket is het beste.
De schrijver van dit artikel geeft de voorkeur aan IPFILTER omdat daarmee stateful regels minder complex zijn toe te passen in een omgeving waar NAT wordt gebruikt en IPF heeft een ingebouwde FTP proxy waardoor de regels voor het veilig gebruiken van FTP eenvoudiger worden.
Omdat alle firewalls gebaseerd zijn op het inspecteren van
aangegeven controlevelden in pakketten, moet iemand die sets van
firewallregels opstelt begrijpen hoe TCP/IP
werkt, welke waarde de controlevelden kunnen hebben en hoe die
waarden gebruikt worden in normaal verkeer. Op de volgende
webpagina wordt een prima uitleg gegeven: http://www.ipprimer.com/overview.cfm
.
Vanaf juli 2003 is de OpenBSD firewalltoepassing PF geporteerd naar FreeBSD en beschikbaar gekomen in de FreeBSD Portscollectie. In 2004 was FreeBSD 5.3 de eerste release die PF bevatte is integraal onderdeel van het basissysteem. PF is een complete en volledige firewall die optioneel ALTQ bevat (Alternate Queuing). ALTQ biedt Quality of Service (QoS) functionaliteit.
het OpenBSD Project levert een uitstekend werk wat betreft het onderhouden van de PF FAQ. Zodoende zal deze sectie van het handboek zich richten op PF met betrekking tot FreeBSD terwijl het ook wat algemene informatie over het gebruik zal geven. Voor gedetailleerde gebruikersinformatie wordt naar de PF FAQ verwezen.
Meer informatie over PF voor FreeBSD staat op
http://pf4freebsd.love2party.net/
.
Voeg de volgende regel toe aan /etc/rc.conf
om
de kernelmodule PF te laden:
pf_enable="YES"
Draai vervolgens het opstartscript om de module te laden:
#
service pf start
Merk op dat de PF module niet laadt als het het instellingenbestand
met de regelverzameling niet kan vinden. De standaardlocatie is
/etc/pf.conf
. Als de regelverzameling voor PF zich
elders bevindt, kan PF worden verteld om daar te kijken een regel
analoog aan de volgende aan /etc/rc.conf
toe te
voegen:
pf_rules="/pad/naar/pf.conf
"
Het voorbeeld pf.conf
bestand
kan gevonden worden in /usr/share/examples/pf
De module PF kan ook handmatig vanaf de opdrachtregel geladen worden:
#
kldload pf.ko
Logondersteuning voor PF wordt geleverd door
pflog.ko
en kan worden geladen door de volgende regel
aan /etc/rc.conf
toe te voegen:
pflog_enable="YES"
Draai vervolgens het opstartscript om de module te laden:
#
service pflog start
Als u andere mogelijkheden van PF nodig heeft dient u ondersteuning voor PF in de kernel te compileren.
Hoewel het niet nodig is om ondersteuning voor PF in de kernel te compileren, biedt dit wel de mogelijkheid om van een van PF's geavanceerde mogelijkheden gebruik te maken die niet in de laadbare module zitten, namelijk pfsync(4), dat een pseudo-apparaat is dat zekere veranderingen aan de toestandstabel die door PF wordt gebruikt prijsgeeft. Het kan worden gecombineerd met carp(4) om failover firewalls aan te maken die gebruik maken van PF. Meer informatie over CARP kan gevonden worden in Paragraaf 31.13, “Common Address Redundancy Protocol (CARP)” van het Handboek.
De kernelopties voor PF kunnen gevonden
worden in /usr/src/sys/conf/NOTES
en zijn
hieronder gereproduceerd:
device pf device pflog device pfsync
De optie device pf
schakelt ondersteuning
voor de “Packet Filter” firewall (pf(4)) in.
De optie device pflog
schakelt het
optionele pflog(4) pseudo-netwerkapparaat in dat gebruikt
kan worden om verkeer te loggen naar een bpf(4)
descriptor. De pflogd(8) daemon kan gebruikt worden om
de logboekinformatie naar schijf te schrijven.
De optie device pfsync
schakelt het
optionele pfsync(4) pseudo netwerkapparaat in waarmee de
toestandswijzigingen gemonitord kunnen worden.
De volgende rc.conf(5) statements stellen PF en pflog(4) in tijdens het opstarten:
pf_enable="YES" # Schakel PF in (laad module als nodig) pf_rules="/etc/pf.conf" # bestand met regels voor pf pf_flags="" # aanvullende vragen voor opstarten pfctl pflog_enable="YES" # start pflogd(8) pflog_logfile="/var/log/pflog" # waar pflogd het logboekbestand moet opslaan pflog_flags="" # aanvullende vlaggen voor opstarten pflogd
Als er een LAN achter de firewall staat en er pakketten doorgestuurd moeten worden naar computers op het LAN of als NAT actief is, dan is de volgende optie ook nodig:
gateway_enable="YES" # Schakel in als LAN gateway
PF leest de instelregels van
pf.conf(5) (standaard /etc/pf.conf
) en
het verandert, verwijdert, of geeft pakketten door aan de hand
van de regels of definities die daar zijn gespecificeerd. De
FreeBSD-installatie bevat een aantal voorbeeldbestanden in
/usr/share/examples/pf/
. In de PF FAQ staat een
complete behandeling van de PF regels.
Houd tijdens het doornemen van de PF FAQ in de gaten dat
verschillende versies van FreeBSD verschillende versies van PF kunnen
bevatten. Momenteel gebruikt FreeBSD 8.X
dezelfde versie van PF als OpenBSD 4.1.
FreeBSD 9.X
en hoger gebruiken dezelfde
versie van PF als OpenBSD 4.5.
De FreeBSD pakketfilter mailinglijst is een goede plaats om vragen over het instellen en draaien van de PF firewall te stellen. Vergeet niet de mailinglijstarchieven te controleren alvorens vragen te stellen!
Gebruik pfctl(8) om PF te beheren. Hieronder staan wat nuttige commando's (bekijk de hulppagina pfctl(8) voor alle beschikbare opties):
Commando | Doel | ||
---|---|---|---|
pfctl -e | PF aanzetten | ||
pfctl -d | PF uitzetten | ||
pfctl -F all -f /etc/pf.conf | Spoel alle regels door (nat, filter, toestand,
tabel, etc.) en herlaad vanuit het bestand
/etc/pf.conf | pfctl -s [ rules | nat | state ] | Rapporteer over de filterregels, NAT-regels, of toestandstabel |
pfctl -vnf /etc/pf.conf | Controleer /etc/pf.conf op
fouten, maar laad de regelverzameling niet |
ALTQ is alleen beschikbaar ondersteuning ervoor in de FreeBSD Kernel te compileren. ALTQ wordt niet door alle netwerkkaartstuurprogramma's ondersteund. In altq(4) staat een lijst met ondersteunde stuurprogramma's voor de betreffende versie.
Met de volgende opties wordt ALTQ ingeschakeld en additionele functionaliteit toegevoegd:
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 # Required for SMP build
options ALTQ
schakelt het
ALTQ raamwerk in.
options ALTQ_CBQ
schakelt Class Based
Queuing (CBQ) in. Met
CBQ kan de bandbreedte van een verbinding
worden opgedeeld in verschillende klassen of wachtrijen om
verkeer te prioriteren op basis van filterregels.
options ALTQ_RED
schakelt Random Early
Detection (RED) in.
RED wordt gebruikt om netwerkverstopping te
voorkomen. RED doet dit door de lengte van de
wachtrij te meten en die te vergelijken met de minimale en maximale
drempelwaarden voor de wachtrij. Als de wachtrij groter is
dan de maximale waarde worden alle nieuwe pakketten genegeerd.
Het werkt naar zijn naam, dus RED negeert
willekeurig pakketten van verschillende verbindingen.
options ALTQ_RIO
schakelt Random Early
Detection In and Out in.
options ALTQ_HFSC
schakelt de
Hierarchical Fair Service Curve Packet Scheduler
in. Meer informatie over HFSC staat op http://www-2.cs.cmu.edu/~hzhang/HFSC/main.html
.
options ALTQ_PRIQ
schakelt Priority
Queuing (PRIQ) in.
PRIQ laat verkeer dat in een hogere wachtrij staat
altijd eerder door.
options ALTQ_NOPCC
schakelt
SMP ondersteuning voor
ALTQ in. Deze optie is verplicht op
SMP systemen.
Darren Reed is de auteur van IPFILTER, dat niet afhankelijk is van één besturingssysteem. Het is een open source applicatie die is geporteerd naar FreeBSD, NetBSD, OpenBSD, SunOS, HP/UX en Solaris besturingssystemen. IPFILTER wordt actief ondersteund en onderhouden en er worden regelmatig nieuwe versies uigebracht.
IPFILTER is gebaseerd op een firewall aan de kernelkant en een NAT mechanisme dat gecontroleerd en gemonitord kan worden door programma's in userland. De firewallregels kunnen ingesteld of verwijderd worden met het hulpprogramma ipf(8). De NAT regels kunnen ingesteld of verwijderd worden met ipnat(8). Het programma ipfstat(8) kan actuele statistieken leveren voor de kernelonderdelen van IPFILTER. ipmon(8) kan acties van IPFILTER wegschrijven naar logboekbestanden van het systeem.
IPF is oorspronkelijk geschreven met logica die regels
verwerkte volgens het principe “de laatst passende regel
wint” en gebruikte toen alleen staatloze regels. In de
loop der tijd is IPF verbeterd en zijn de opties
quick
en keep state
toegevoegd waarmee de logica van het verwerken van regels
drastisch is gemoderniseerd. In de officiële documentatie
van IPF worden alleen de regels en verwerkingslogica
behandeld. De moderne functies worden alleen behandeld als
opties, waardoor hun nut dat er een veel betere en veiligere firewall mee
te maken volledig onderbelicht blijft.
De instructies in dit hoofdstuk zijn gebaseerd op regels die
gebruik maken van de optie quick
en de
stateful optie keep state
. Dit is het
raamwerk waarmee een set van inclusieve firewallregels wordt
samengesteld.
Voor een gedetailleerde uitleg over de verwerking van de
verouderde regels zie http://www.munk.me.uk/ipf/ipf-howto.html
en http://coombs.anu.edu.au/~avalon/ip-filter.html
.
De IPF FAQ is te vinden op http://www.phildev.net/ipf/index.html
.
Een doorzoekbaar archief van de open-source IPFilter mailing
lijst is beschikbaar op http://marc.theaimsgroup.com/?l=ipfilter
.
IPF zit in de basisinstallatie van FreeBSD als een aparte
“run time” laadbare module. Een systeem laadt de
IPF kernel laadbare module dynamisch als
ipfilter_enable="YES"
in
rc.conf
staat. Voor de laadbare module
zijn de opties logging
en default
pass all
ingeschakeld. IPF hoeft niet in de
kernel gecompileerd te worden om het standaardgedrag te
wijzigen naar block all
. Dat is mogelijk
door op het einde van de regelverzameling een regel block
all
toe te voegen die al het verkeer blokkeert.
Het is niet verplicht om IPF in te schakelen door de volgende opties in de FreeBSD kernel te compileren. Dit wordt alleen beschreven als achtergrondinformatie. Door IPF in de kernel te compileren wordt de laadbare module niet gebruikt.
Voorbeeld kernelinstellingen voor IPF staan beschreven in
de /usr/src/sys/i386/conf/LINT
in de
kernelbroncode en worden hier beschreven:
options IPFILTER options IPFILTER_LOG options IPFILTER_DEFAULT_BLOCK
options IPFILTER
schakelt ondersteuning
voor de “IPFILTER” firewall in.
options IPFILTER_LOG
schakelt de
optie in waarmee IPF verkeer kan loggen door het naar het
ipl
pakketloggende
pseudo-apparaat te schrijven voor iedere regel met het
sleutelwoord log
erin.
options IPFILTER_DEFAULT_BLOCK
wijzigt het standaardgedrag zodat ieder pakket waarop geen
enkele pass
regel van toepassing is
wordt geblokkeerd.
Deze instelling worden pas actief nadat een kernel waarvoor deze instellingen zijn gemaakt is gebouwd en geïnstalleerd.
De volgende instellingen moeten in /etc/rc.conf
staan om IPF bij het opstarten te activeren:
ipfilter_enable="YES" # Start ipf firewall ipfilter_rules="/etc/ipf.rules" # laad regels uit het doelbestand ipmon_enable="YES" # Start IP monitor log ipmon_flags="-Ds" # D = start als daemon # s = log naar syslog # v = log tcp window, ack, seq # n = vertaal IP & poort naar namen
Als er een LAN achter de firewall staat dat gebruik maakt van IP-adressen uit de private reeks, dan moet de volgende optie ook ingesteld worden om NAT-functionaliteit in te schakelen:
gateway_enable="YES" # Schakel in als LAN gateway ipnat_enable="YES" # Start ipnat functie ipnat_rules="/etc/ipnat.rules" # bestand met regels voor ipnat
Het commando ipf(8) wordt gebruikt om het bestand met firewallregels te laden. Gewoonlijk wordt er een bestand aangemaakt waarin de situatieafhankelijke regels staan waarmee in één keer de bestaande regels kunnen worden vervangen:
#
ipf -Fa -f /etc/ipf.rules
-Fa
: verwijder alle interne tabellen
met regels.
-f
: laad het aangegeven
bestand met regels.
Hiermee wordt het mogelijk wijzigingen te maken aan het bestand met eigen regels en met ipf(8) de firewall aan te passen met verse regels zonder het systeem te booten. Deze methode is erg handig om nieuwe regels te testen omdat dit zo vaak als nodig gedaan kan worden.
In ipf(8) worden alle opties die beschikbaar zijn toegelicht.
ipf(8) verwacht dat het bestand met regels een standaard tekstbestand is. Het accepteert geen bestand met regels dat is opgesteld als een script dat gebruik maakt van substitutie.
Er is wel een mogelijkheid om IPF regels op te stellen en gebruik te maken van substitutie. Meer informatie staat in Paragraaf 30.5.9, “Script met regels met substitutie bouwen”.
ipfstat(8) haalt de totalen van de statistieken op
die horen bij de firewall sinds die is gestart en toont deze.
Het kan ook zijn dat de tellers in tussentijd op nul zijn
gesteld met ipf -Z
.
In ipfstat(8) worden alle details behandeld.
Standaard ziet ipfstat(8) uitvoer er ongeveer als volgt uit:
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)
Als er als optie -i
voor inkomend of
-o
voor uitgaand wordt meegegeven, dan zal het
commando de juiste lijst met regels die de kernel op dat moment gebruikt
wordt weergeven.
ipfstat -in
toont de tabel met
regels voor inkomend verkeer met regelnummers
ipfstat -on
toont de tabel met
regels voor uitgaand verkeer met regelnummers
De uitvoer ziet er ongeveer als volgt uit:
@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
toont de tabel met
regels voor inkomend verkeer, waarbij voor iedere regel staat
hoe vaak die van toepassing was.
ipfstat -oh
toont de tabel met
regels voor uitgaand verkeer, waarbij voor iedere regel staat
hoe vaak die van toepassing was.
De uitvoer ziet er ongeveer als volgt uit:
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
Een van de belangrijkste functies van
ipfstat
is de vlag -t
waarmee de staat-tabel wordt getoond op een wijze die
vergelijkbaar is met de wijze waarop top(1) de draaiende
FreeBSD procestabel toont. Als een firewall wordt aangevallen, dan
geeft deze functie de mogelijkheid om de pakketten van de
aanvaller te identificeren en nader te onderzoeken. De
optionele subvlaggen bieden de mogelijkheid om een bron of
bestemmings IP adres, poort of protocol aan
te geven dat gemonitord moet worden. Details zijn na te lezen
in ipfstat(8).
Om ipmon(8) te laten werken zoals bedoeld, moet de
kerneloptie IPFILTER_LOG
aan staan. Dit
commando kan op twee verschillende wijzen gebruikt worden.
De standaard is van toepassing als het commando op de
commandoregel wordt ingegeven zonder de optie
-D
.
De daemon wordt gebruikt als continu een systeemlogboek
bijgewerkt moet worden zodat het mogelijk is om
gebeurtenissen in het verleden te bekijken. Zo zijn FreeBSD en
IPFILTER ingesteld om samen te werken. FreeBSD heeft ingebouwde
mogelijkheden om automatisch syslogs te roteren. Daarom is
het beter om de uitvoer naar syslogd(8) te schrijven
dan naar een gewoon bestand. In de standaardversie van
rc.conf
is te zien dat de instelling
ipmon_flags
de waarde -Ds
heeft:
ipmon_flags="-Ds" # D = start als daemon # s = log naar syslog # v = log tcp window, ack, seq # n = vertaal IP & poort naar namen
De voordelen van loggen zijn duidelijk. Het biedt de mogelijkheid om na het feit informatie na te zien als: welke pakketten heeft de firewall laten vallen, waar kwamen ze vandaan en waar gingen ze heen? Dit zijn allemaal voordelen als het gaat om uitvinden waar een aanvaller vandaan komt en wat deze heeft geprobeerd.
Zelfs als loggen is ingeschakeld, logt IPF nog niets uit
zichzelf. De beheerder van de firewall beslist welke regels in de
regelverzameling iets weg moeten schrijven door het sleutelwoord
log
aan die regels toe te voegen.
Gewoonlijk worden alleen deny
regels
gelogd.
Het is heel normaal om als laatste regel een
deny
regel aan de set met regels toe te
voegen waar het sleutelwoord log
in staat.
Zo krijgt een beheerder alle pakketten te zien waarop geen
enkele regel van toepassing was.
Syslogd heeft een eigen methode
om logboekgegevens te scheiden. Het maakt gebruik van speciale
groepen die “facility” en “level”
heten. ipmon(8) in -Ds
mode gebruikt
local0
als “facility”naam. Alle door ipmon(8) gelogde
gegevens gaan standaard naar de naam security
.
De nu volgende levels
kunnen gebruikt worden om de gelogde gegevens nog verder uit
elkaar te trekken als dat gewenst is.
LOG_INFO – pakketten gelogd met het sleutelwoord "log" als actie in plaats van pass of block. LOG_NOTICE – gelogde pakketten die ook zijn doorgelaten LOG_WARNING – gelogde pakketten die ook geblokkeerd zijn LOG_ERR – gelogde pakketten die een verkeerde opbouw hebben, "short"
Om IPFILTER alle gelogde gegevens naar
/var/log/ipfilter.log
te laten schrijven,
dient dat bestand vooraf te bestaan. Dat kan met het volgende
commando:
#
touch /var/log/ipfilter.log
De functionaliteit van syslogd(8) wordt beheerd met
instellingen in /etc/syslog.conf
.
Dit bestand biedt aanzienlijke
flexibiliteit in hoe syslog omgaat met
systeemberichten die door softwaretoepassingen als IPF worden
gegeven.
Zo kan de volgende instelling toegevoegd worden aan
/etc/syslog.conf
:
local0.* /var/log/ipfilter.log
Het deel local0.*
betekent dat alle logberichten naar de aangegeven plaats
geschreven moeten worden.
Om de wijzigingen in
/etc/syslog.conf
actief te maken kan er opnieuw
opgestart worden of is het mogelijk de daemon syslogd(8) een schop
te geven zodat /etc/syslog.conf
opnieuw
wordt ingelezen met /etc/rc.d/syslogd
reload
. Het PID (procesnummer) is te achterhalen
door een overzicht van taken te tonen met
ps -ax
. Het PID is het nummer in de
linker kolom voor de regel waarop “syslog”
staat.
Vaak wordt vergeten
/etc/newsyslog.conf
te wijzigen om het
nieuw aangemaakte logboekbestand te laten roteren.
Berichten die door ipmon
wordt gezonden
bestaan uit velden die gescheiden worden door een spatie.
Velden die in alle berichten zitten zijn:
De datum waarop het pakket is ontvangen.
De tijd waarop het pakket is ontvangen weergegeven als HH:MM:SS.F voor uren, minuten, seconden en fracties van een seconde. De fractie kan meerdere cijfers lang zijn.
De naam van de interface waarop het pakket is
ontvangen, bijvoorbeeld
dc0
.
De groep en regelnummer van de regel, bijvoorbeeld
@0:17
.
Deze kunnen ingezien worden met
ipfstat -in
.
De acties: p
voor doorgelaten
(“passed”), b
voor
geblokkeerd (“blocked”),
S
voor een verkeerd pakket
(“short packet”), n
voor
dat er geen enkele regel van toepassing was,
L
voor een logboekregel. De volgorde
waarin deze acties getoond worden is: S, p, b, n, L. Een
hoofdletter P
of B
betekent dat het pakket gelogd is vanwege een globale
instelling, niet vanwege één regel in het
bijzonder.
De adressen. Dit zijn eigenlijk drie velden: het
bronadres en poort gescheiden door een komma, het symbool
-> en het bestemmingsadres en poort, bijvoorbeeld:
209.53.17.22,80 -> 198.73.220.17,1722
.
Achter PR
staat de naam van het
protocol of het nummer, bijvoorbeeld PR
tcp
.
Achter len
staan de lengte van de
pakketkop en de totale lengte van het pakket,
bijvoorbeeld len 20 40
.
Als het pakket een TCP pakket is, dan is er nog een veld dat begint met een verbindingsstreepje met daarachter letters die overeenkomen met vlaggen die ingeschakeld waren. In ipf(5) is een lijst met letters en bijbehorende vlaggen te vinden.
Als het pakket een ICMP pakket is, dan worden aan het
einde twee velden toegevoegd. Het eerste is altijd
ICMP
en het volgende het ICMP bericht en
subbericht type, gescheiden door een slash, bijvoorbeeld
ICMP 3/3
voor “een poort niet
bereikbaar” bericht.
Geoefende gebruikers van IPF maken een bestand dat de regels bevat en stellen dat op zo'n manier op dat het uitgevoerd kan worden als een script met substitutie. Het grote voordeel van deze werkwijze is dat er dan alleen de waarde geassocieerd met een symbolische naam gewijzigd hoeft te worden en dat als het script opnieuw wordt uitgevoerd, op alle plaatsen waar de variabele wordt gebruikt, de nieuwe waarde in de regels wordt opgenomen. Omdat het een script is, kan substitutie gebruik worden om vaak voorkomende waarden de definiëren zodat ze in meerdere regels vervangen kunnen worden. Dit wordt geïllustreerd in het onderstaande voorbeeld.
De syntaxis die in het script wordt gebruikt is compatibel met de shells sh(1), csh(1) en tcsh(1).
Velden waarvoor substitutie van toepassing is worden
vooraf gegaan door het dollarteken
$
.
Definities worden niet vooraf gegaan door het voorvoegsel $.
De waarden van een definitie moet omsloten worden door
dubbele aanhalingstekens ("
).
Een set regels begint wellicht als volgt:
############## Begin IPF regels script ######################### oif="dc0" # naam van de uitgaande interface odns="192.0.2.11" # IP adres van DNS server ISP myip="192.0.2.7" # statische IP adres gekregen van ISP ks="keep state" fks="flags S keep state" # Er kan gekozen worden om dit script te gebruiken om een eigen # /etc/ipf.rules script te maken of dit script kan gebruikt worden # "as is" # # Haal bij één van deze regels het commentaarteken weg # en plaats hem bij de ander. # # 1) Deze kan gebruikt worden om /etc/ipf.rules te maken: #cat > /etc/ipf.rules << EOF # 2) Deze kan gebruikt worden om het script "as is" te starten: # Let op: er moet een lege regel zijn na het EOF teken. /sbin/ipf -Fa -f - << EOF # Verleen toegang tot de DNS van de ISP. 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 # Sta uitgaand verkeer voor niet beveiligd www verkeer toe pass out quick on $oif proto tcp from $myip to any port = 80 $fks # Sta uitgaand verkeer voor beveiligd www verkeer toe (https over TLS SSL) pass out quick on $oif proto tcp from $myip to any port = 443 $fks EOF ################## Einde IPF regels script ########################
Dat is alles. De regels zijn niet van belang in dit
voorbeeld, maar tonen hoe substitutievelden worden
gedefinieerd en hoe ze worden gebruikt. Als het bovenstaande
voorbeeld de inhoud van
/etc/ipf.rules.script
was, dan konden deze regels
herladen worden door het vanaf de commandoregel aan te roepen:
#
sh /etc/ipf.rules.script
Er is wel een probleem met het gebruik van regels in combinatie met substitutie. IPF snapt het niet en kan deze scripts niet direct lezen.
Dit script kan gebruikt worden op één van de volgende twee manieren:
Haal het commentaarteken weg bij de regel die begint met
cat
en zet het commentaarteken bij de
regel die begint met /sbin/ipf
. Plaats
ipfilter_enable="YES"
in
/etc/rc.conf
zoals gewoonlijk en start
het script eenmalig na elke wijziging om
/etc/ipf.rules
te maken of bij te
werken.
Schakel IPFILTER uit in de systeem opstart scripts door
ipfilter_enable="NO"
toe te voegen aan
/etc/rc.conf
(dit is de
standaardwaarde).
Voeg een script zoals de volgende toe aan de opstartmap
/usr/local/etc/rc.d
. Het
script zou een duidelijke naam moeten hebben zoals
ipf.loadrules.sh
. De uitbreiding
.sh
is noodzakelijk.
#!/bin/sh sh /etc/ipf.rules.script
De permissies op dit script moeten zijn: lezen,schrijven
en uitvoeren voor de gebruiker root
.
#
chmod 700 /usr/local/etc/rc.d/ipf.loadrules.sh
Als het systeem nu herstart, worden de regels via het script gestart.
Een set regels is een groep IPF-regels die is gemaakt om pakketten toe te staan of te blokkeren op basis van de eigenschappen van dat pakket. De bi-directionele uitwisseling van pakketten tussen hosts bestaat uit een gesprek dat een sessie heet. De set van firewallregels verwerkt zowel de pakketten die arriveren van het publieke Internet, als de pakketten die door het systeem zijn geproduceerd als een antwoord erop. Elke TCP/IP-dienst (telnet, www, mail, enzovoorts) is vooraf gedefinieerd door een protocol en bevoorrechte (luister)poort. Pakketten bedoeld voor een speciale dienst beginnen bij het bronadres gebruik makend van een onbevoorrechte (hogere orde) poort en komen aan bij de specifieke dienstpoort op het bestemmingsadres. Alle bovengenoemde parameters (poorten en adressen) kunnen gebruikt worden als selectiecriteria om regels aan te maken die diensten zullen toestaan of blokkeren.
IPF is oorspronkelijk geschreven met logica die regels verwerkte volgens het principe “de laatst passende regel wint” en gebruikte toen alleen staatloze regels. In de loop der tijd is IPF verbeterd en zijn de opties “quick” en “keep state” toegevoegd waarmee de logica van het verwerken van regels drastisch is gemoderniseerd.
De instructies in dit hoofdstuk zijn gebaseerd op regels die gebruik maken van de optie “quick” en de stateful optie “keep state”. Dit is het raamwerk waarmee een set van inclusieve firewallregels wordt samengesteld.
Werk bij het wijzigen van firewallregels zeer voorzichtig. Met sommige instellingen is een server niet meer bereikbaar. Om het veilig te spelen is het aan te raden de eerste instellingen vanaf het console te maken, in plaats van via ssh.
De regelsyntaxis die hier wordt besproken is versimpeld door alleen de moderne stateful regels en de “eerste van toepassing zijnde regel wint” te belichten. De complete regelsyntaxis is na te lezen in ipf(8).
Het karakter #
wordt gebruikt om het
begin van een opmerking te markeren en zowel op een eigen
regel als achter een firewallregel staan. Lege regels worden
genegeerd.
Regels bevatten sleutelwoorden die in een bepaalde volgorde van links naar rechts op een regel horen te staan. Sleutelwoorden worden vet weergegeven. Sommige sleutelwoorden hebben subopties die zelf ook weer sleutelwoorden hebben die ook weer subopties kunnen hebben. Alle opties die hier direct onder staan, worden daaronder uitgebreid weergegeven en verderop in dit hoofdstuk in een aparte paragraaf behandeld.
ACTIE IN/UIT OPTIES SELECTIE STATEFUL
PROTO BRON_ADR,BEST_ADR OBJECT POORT_NUM TCP_VLAG
STATEFUL
ACTIE
= block | pass
IN/UIT
= in | out
OPTIES
= log | quick | on
interfacenaam
SELECTIE
= protowaarde |
bron/bestemming IP | poort = nummer | flags
flag-value
PROTO
= tcp/udp | udp | tcp |
icmp
BRON_ADR,BEST_ADR
= all | from
object to object
OBJECT
= IP adres | any
POORT_NUM
= poortnummer
TCP_VLAG
= S
STATEFUL
= keep state
De actie geeft aan wat er met het pakket gedaan moet worden als het van toepassing is op de rest van de filterregel. Iedere regel moet een actie hebben. De volgende acties zijn mogelijk:
block
geeft aan dat het pakket
moet verdwijnen als de parameters van toepassing zijn op
het pakket.
pass
geeft aan dat het pakket
doorgelaten moet worden als de parameters van toepassing
zijn op het pakket.
Een verplicht onderdeel voor iedere filterregel waarin
expliciet wordt aangegeven op welke zijde van de in/uit
deze van toepassing is. Het volgende sleutelwoord moet
in
of out
zijn en één van de twee moet gecodeerd worden, anders
is de regel syntactisch onjuist.
in
betekent dat de regel van
toepassing is op inkomende pakketten.
out
betekent dat de regel van
toepassing is op inkomende pakketten.
Deze opties moeten in de volgorde waarin ze hier beschreven staan gebruikt worden.
log
geeft aan dat het pakket naar het
ipl
logboekbestand geschreven moeten
worden (zoals verderop beschreven staat in de paragraaf
“Loggen”) als de regel van toepassing is op
het pakket.
quick
geeft aan dat als een regel van
toepassing is, dat de laatste regel moet zijn die wordt
gecontroleerd, waardoor er een pad wordt
“kortgesloten” waardoor de volgende regels voor
dat pakket niet meer gecontroleerd worden. Deze optie is
voor de moderne regels eigenlijk verplicht.
on
geeft de interface aan die in de
parameters meegenomen moet worden. De namen van interfaces
kunnen getoond worden met ifconfig(8). Als deze optie
wordt gebruikt, kan een regel alleen van toepassing zijn als
het pakket door de aangegeven interface gaat in de richting
die is aangegeven
(in
/out
). Ook deze
optie is verplicht voor de moderne regels.
Als een pakket wordt gelogd, dan worden de koppen van het
pakket weggeschreven naar het ipl
pakketloggende pseudo-apparaat. Direct na het
sleutelwoord log
mogen de volgende opties
gebruikt worden (in de aangegeven volgorde):
body
geeft aan dat de eerste 128 bytes
van de inhoud van het pakket worden opgeslagen na de
kop.
first
; als het sleutelwoord
log
samen met een optie keep
state
wordt gebruikt, wordt het aangeraden om
deze optie ook te gebruiken zodat alleen het pakket dat als
eerste in de sessie van toepassing was en niet ook alle
pakketten die daarna in de sessie volgens
keep state
van toepassing
zijn.
De sleutelwoorden in deze paragraaf worden gebruikt om
attributen van het pakket dat wordt geïnspecteerd te
beschrijven om te bepalen of een regel wel of niet van
toepassing is. Er is een sleutelwoord
subject
en er zijn subopties waarvan er
één of meer gekozen moeten worden. De
volgende attributen zijn beschikbaar voor het proces en
moeten in de aangegeven volgorde worden gebruikt:
proto
is het subject
sleutelwoord dat moet worden aangegeven samen met een van de
sleutelwoorden uit de subopties. De waarde geeft een bepaald
protocol aan dat van toepassing moet zijn. Ook deze optie is
verplicht voor de moderne regels.
tcp/udp
, tcp
,
udp
, icmp
of ieder
ander protocol dat in /etc/protocols
staat wordt herkend en kan gebruikt worden. Het bijzondere
protocolsleutelwoord tcp/udp
kan gebruikt
worden om zowel voor TCP- als
UDP-pakketten van toepassing te laten zijn. Het is
toegevoegd voor het gemak om vrijwel gelijke regels te
voorkomen.
Het sleutelwoord all
is in feite
hetzelfde als from any to any
zonder
overige parameters.
from bron to bestemming
; de
sleutelwoorden from
en
to
worden gebruikt om te testen op
IP-adressen. In regels moet
zowel een bron- als
bestemmings-IP-adres
aangegeven worden. any
is een
bijzonder sleutelwoord dat van toepassing is op ieder
IP-adres. Voorbeelden van gebruik: from
any to any
of from 0.0.0.0/0 to any
of
from any to 0.0.0.0/0
of from 0.0.0.0 to
any
of from any to 0.0.0.0
.
Het is vaak lastig om te komen tot een reeks IP-adressen die zich
niet gemakkelijk laten uitdrukken met de gepunte numerieke vorm/
maskerlengte notatie. De port net-mgmt/ipcalc kan gebruikt worden om de
berekeningen te vereenvoudigen. Aanvullende informatie is beschikbaar
op de webpagina van het gereedschap: http://jodies.de/ipcalc
.
Als in een regel op een poort wordt gecontroleerd, voor
bron- of bestemmingspoort of beiden, dan is dat alleen van
toepassing op TCP- en
UDP-pakketten. Bij het maken van
poortvergelijkingen kunnen zowel de dienstnamen uit
/etc/services
als een uit een
natuurlijk getal bestaand poortnummer ingesteld worden. Als
de poort onderdeel is van het from
object
dan wordt het vergeleken met het poortnummer van de bron en
als het onderdeel is van het to
object,
dan wordt het vergeleken met het poortnummer van de
bestemming. Het gebruik van het to
object
is in de moderne regels verplicht en neemt de vorm aan van
from any to any port = 80
.
Enkelvoudige poortvergelijkingen kunnen op verschillende manieren gedaan worden met een aantal verschillende operatoren. Er kunnen ook reeksen van poorten ingesteld worden.
poort "=" | "!=" | "<" | ">" | "<=" | ">=" | "eq" | "ne" | "lt" | "gt" | "le" | "ge"
Reeksen van poorten worden met de volgende optie aangegeven: poort <> | ><
De volgende twee parameters die betrekking hebben op bron en bestemming, zijn verplicht in de moderne regels.
Vlaggen zijn alleen beschikbaar voor het filteren van TCP. De letters staan voor de mogelijke vlaggen die bekeken kunnen worden in de kop van een TCP-pakket.
In de moderne regels wordt de optie flags
S
gebruikt om het verzoek tot het starten van
een TCP sessie.
Met stateful filteren wordt verkeer benaderd als een
uitwisseling van pakketten tussen twee kanten die een sessie
zijn. Als het is ingeschakeld, dan maakt het
keep state
mechanisme dynamisch interne
regels voor pakketten die in de sessie horen te volgen. Het
kan bekijken of de karakteristieken van de sessie tussen
verzender en ontvanger de juiste procedure volgen. Alle
pakketten die niet passen in de sessie, worden automatisch
geblokkeerd.
keep state
staat ook
ICMP-pakketten toe die gerelateerd zijn aan een
TCP- of UDP-sessie. Dus als er
een ICMP-type 3 code 4 komt in antwoord op
websurfen, dat wordt toegestaan van binnen naar buiten door een
keep state
regel, dan wordt dat toegelaten.
Pakketten waarvan IPF zeker is dat ze onderdeel zijn van de
sessie worden toegelaten, zelfs als ze van een ander protocol
zijn.
Wat er gebeurt: pakketten die naar buiten gaan op de interface die met Internet is verbonden worden eerst vergeleken met de dynamische staattabel. Als een pakket voldoet aan de verwachting van het volgende pakket in de sessie, dan mag het de firewall verlaten en wordt de toestand van de sessie in de dynamische toestandstabel bijgewerkt. Pakketten die niet bij een reeds actieve sessie horen, worden tegen de uitgaande regelverzameling gecontroleerd.
Pakketten die binnenkomen op de interface die met Internet is verbonden worden eerst vergeleken met de dynamische staattabel. Als een pakket voldoet aan de verwachting van het volgende pakket in de sessie, dan mag het de firewall verlaten en wordt de toestand van de sessie in de dynamische toestandstabel bijgewerkt. Pakketten die niet bij een reeds actieve sessie horen, worden vergeleken met de regelverzameling voor binnenkomend verkeer.
Als de sessie wordt beëindigd wordt het uit de dynamische staattabel verwijderd.
Met stateful filteren is het mogelijk om de focus te leggen op het blokkeren of toestaan van nieuwe sessies. Als een nieuwe sessie tot stand mag komen, dan worden alle volgende pakketten automatisch doorgelaten en al het vervalste verkeer wordt automatisch tegengehouden. Als een nieuwe sessie wordt geweigerd, dan wordt geen enkel pakket doorgelaten. Met stateful filteren zijn er uitgebreide mogelijkheden voor onderzoek om bescherming te bieden tegen de veelheid aan aanvallen die tegenwoordig door aanvallers worden uitgevoerd.
De onderstaande regels zijn een voorbeeld van hoe een
erg veilige inclusieve firewall opgezet kan worden. Een
inclusieve firewall staat alleen diensten toe die passen bij
de pass
-regels en blokkeert al het
overige verkeer. Firewalls die bedoeld zijn om andere machines te
beschermen, ook wel “netwerk-firewalls” genoemd, dienen
tenminste twee interfaces te hebben, die over het algemeen zijn
ingesteld om de ene kant te vertrouwen (het LAN) maar
niet de andere (het publieke Internet). Ook kan een firewall worden
ingesteld om alleen het systeem te beschermen waarop het
draait—dit wordt een “host-gebaseerde firewall”
genoemd, en is in het bijzonder geschikt voor servers op een onvertrouwd
netwerk.
Alle UNIX® systemen en dus ook FreeBSD zijn zo ontworpen
dat ze voor interne communicatie de interface
lo0
en IP adres
127.0.0.1
gebruiken. De
firewall moet dit interne verkeer gewoon doorgang laten
vinden.
Voor de interface die is verbonden met het publieke
Internet worden regels gemaakt waarmee de toegang voor uitgaande en
binnenkomende verbindingen worden geautoriseerd en beheerst.
Dit kan de PPP-interface tun0
zijn of de
netwerkkaart die is verbonden met een xDSL- of kabelmodem.
In gevallen dat er één of meer netwerkkaarten zijn aangesloten op private netwerksegmenten kunnen er regels op de firewall nodig zijn om pakketten die van die LAN-interfaces afkomen vrije doorgang te geven naar elkaar en/of naar buiten (het Internet).
De regels worden opgedeeld in drie onderdelen: eerst de vertrouwde interfaces, dan het publieke uitgaande interface en als laatste het onvertrouwde publieke binnenkomende interfaces.
In iedere sectie moeten zo staan dat de regels die het meest gebruikt worden vóór de regels die minder vaak gebruikt worden staan. De laatste regel van een onderdeel geeft aan dat al het overige verkeer op die interface in die richting geblokkeerd en gelogd moet worden.
In het onderdeel Uitgaand staan alleen regels met
pass
die parameters bevatten om
uniek individuele diensten identificeren die het publieke Internet mogen
benaderen. Bij al die regels staan de opties
quick
, on
,
proto
, port
en
keep state
aan. De regels met
proto tcp
maken ook gebruik van de optie
flag
om te bekijken of het een pakket
betreft voor het opzetten van een sessie om de stateful
functionaliteit aan te sturen.
In het onderdeel Inkomend staan eerst alle regels voor het
blokkeren van ongewenste pakketten, om twee redenen.
Als eerste kan het zo zijn dat kwaadaardige pakketten gedeeltelijk
overeenkomen met legitiem verkeer. Deze pakketten moeten worden
weggegooid in plaats van binnengelaten te worden, gebaseerd op hun
gedeeltelijke match met de allow
-regels. De tweede
reden is dat bekende en oninteressante verwerpingen stil geblokkeerd
kunnen worden in plaats van gevangen en gelogd te worden door de
laatste regels in de sectie. De laatste regel in elke sectie blokkeert
en logt alle pakketten en kan worden gebruikt voor het wettelijke bewijs
nodig om degenen die uw systeem aanvallen aan te klagen.
Waar ook gezorgd voor moet worden is dat al het verkeer dat wordt
geweigerd geen antwoord verstuurd. Ongeldige pakketten dienen gewoon te
verdwijnen. Zo weet een aanvaller niet of een pakket het doelsysteem
wel heeft bereikt. Zo kan een aanvaller geen informatie verzamelen
over een systeem: hoe minder informatie er over een systeem
beschikbaar is, hoe meer tijd iemand erin moet steken voordat
er iets slechts gedaan kan worden. Regels die een optie log
first
bevatten, zullen alleen de eerste keer dat de
gebeurtenis voorkomt de gebeurtenis loggen. Deze optie is opgenomen in
de voorbeeldregel nmap OS fingerpint
. Het
gereedschap security/nmap wordt vaak
door aanvallers gebruikt om het besturingssysteem van uw server
proberen te achterhalen.
We raden aan om telkens als er logmeldingen van een regel
met de optie log first
komen,
ipfstat -hio
uit te voeren om te
bekijken hoe vaak de regel van toepassing is geweest. Een groot aantal
overeenkomsten geeft gewoonlijk aan dat de firewall overspoeld wordt,
met andere woorden aangevallen wordt.
Het bestand /etc/services
kan gebruikt worden
om onbekende poortnummers op te zoeken. Ook kan http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
worden bezocht en het poortnummer worden opgezocht om het doel van een
bepaalde poort uit te vinden.
Op de volgende link worden poortnummers van Trojans
beschreven: http://www.sans.org/security-resources/idfaq/oddports.php
.
De onderstaande set regels is een complete en erg veilige
inclusieve
set met regels voor een firewall die is
getest op productiesystemen. Deze set met regels is eenvoudig aan te
passen voor uw eigen systeem. Maak gewoon commentaar van elke
pass
-regel voor een dienst die niet gewenst
is.
Logberichten die niet gewenst zijn, zijn uit te sluiten door een
block
-regel toe te voegen in het begin van het
onderdeel Inkomend.
Voor de onderstaande regels dient de
dc0
interfacenaam in iedere regel
vervangen te worden door de echte interfacenaam van de netwerkkaart
in het systeem die met het publieke Internet is verbonden.
Voor gebruikers van PPP zou dat tun0
zijn.
Dit zou de inhoud van /etc/ipf.rules
kunnen zijn:
################################################################# # Geen beperkingen op de interface aan de LAN kant. # Niet nodig als er geen LAN is. ################################################################ #pass out quick on xl0 all #pass in quick on xl0 all ################################################################# # Geen beperkingen op de loopback interface ################################################################# pass in quick on lo0 all pass out quick on lo0 all ################################################################# # Interface aan het publieke Internet (onderdeel Uitgaand). # Inspecteer verzoeken om een sessie te starten van achter de # firewall op het private netwerk of vanaf deze gateway-server # naar het publieke Internet. ################################################################# # Geef toegang tot de DNS server van de ISP. # xxx moet het IP adres van de DNS van de ISP zijn. # Dupliceer deze regels als een ISP meerdere DNS servers heeft. # Haal het IP adres evt. uit /etc/resolv.conf. 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 # Geef toegang tot de DHCP server van de ISP voor kabel- en # xDSL-netwerken. Deze regel is niet nodig als gebruik gemaakt worden # van PPP naar het publieke Internet. In dat geval kan de hele groep # verwijderd worden. Gebruik de volgende regel en controleer het # logboek voor het IP adres. Wijzig dan het IP adres in de regel # commentaar hieronder en verwijder de eerste regel. 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 # Sta niet beveiligd www verkeer toe. pass out quick on dc0 proto tcp from any to any port = 80 flags S keep state # Sta beveiligd www verkeer over TLS SSL toe. pass out quick on dc0 proto tcp from any to any port = 443 flags S keep state # Sta het verzenden en ontvangen van e-mail toe. 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 # Sta Time toe. pass out quick on dc0 proto tcp from any to any port = 37 flags S keep state # Sta uitgaand NNTP nieuws toe. pass out quick on dc0 proto tcp from any to any port = 119 flags S keep state # Sta uitgaande lokale niet beveiligde FTP (ook van LAN-gebruikers) toe # (zowel passieve als actieve modes). Deze functie maakt gebruik van # de in IP-NAT ingebouwde FTP-proxy die in het bestand met NAT-regels # staat om dit in één regel te laten werken. Als er met # pkg_add pakketten toegevoegd moeten kunnen worden op een systeem, dan # is deze regel nodig. pass out quick on dc0 proto tcp from any to any port = 21 flags S keep state # Sta uitgaande SSH/SFTP/SCP toe (vervangingen van telnet/rlogin/FTP) # Deze functie maakt gebruik van SSH (secure shell) pass out quick on dc0 proto tcp from any to any port = 22 flags S keep state # Sta uitgaande niet beveiligde telnet toe. pass out quick on dc0 proto tcp from any to any port = 23 flags S keep state # Sta de FreeBSD CVSUP-functie toe. pass out quick on dc0 proto tcp from any to any port = 5999 flags S keep state # Sta ping toe naar het publieke Internet. pass out quick on dc0 proto icmp from any to any icmp-type 8 keep state # Sta whois toe vanaf het LAN naar het publieke Internet. pass out quick on dc0 proto tcp from any to any port = 43 flags S keep state # Blokkeer en log het eerste voorkomen van al het andere dat probeert # buiten te komen. Deze regel implementeert de standaard-blokkade. block out log first quick on dc0 all ################################################################# # Interface aan het publieke Internet (onderdeel Inkomend). # Inspecteert pakketten die van het publieke Internet komen # met als bestemming deze gateway-server of het private netwerk. ################################################################# # Blokkeer al het verkeer voor niet-routeerbare of gereserveerde # adresreeksen. block in quick on dc0 from 192.168.0.0/16 to any #RFC 1918 privaat IP block in quick on dc0 from 172.16.0.0/12 to any #RFC 1918 privaat IP block in quick on dc0 from 10.0.0.0/8 to any #RFC 1918 privaat 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 #gereserveerd voor documentatie 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 #Klasse D & E multicast ##### Blokkeer wat vervelende dingen ############ # die niet in de logboeken moeten komen. # Blokkeer fragmenten. block in quick on dc0 all with frags # Block korte TCP pakketten. block in quick on dc0 proto tcp all with short # Blokkeer source gerouteerde pakketten. block in quick on dc0 all with opt lsrr block in quick on dc0 all with opt ssrr # Blokkeer pogingen voor nmap OS fingerprint. # Blokkeer het eerste voorkomen ervan voor de IP-adressen block in log first quick on dc0 proto tcp from any to any flags FUP # Blokkeer alles met speciale opties. block in quick on dc0 all with ipopts # Blokkeer publieke pings. block in quick on dc0 proto icmp all icmp-type 8 # Blokkeer ident. block in quick on dc0 proto tcp from any to any port = 113 # Blokkeer alle Netbios diensten. 137=naam, 138=datagram, 139=sessie. # Netbios is de Windows® bestandsdeeldienst. # Blokkeer Windows® hosts2 name server verzoeken 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 # Sta inkomend verkeer toe van de DHCP server van de ISP. Deze regel # moet het IP adres van de DHCP server van de ISP bevatten omdat die # de enige toegestane bron van dit type pakketten moet zijn. Alleen # van belang voor kabel en xDSL instellingen. Deze regel is niet nodig # voor PPP verbindingen naar het publieke Internet. Dit is hetzelfde # IP adres dat in het Uitgaande onderdeel is opgezocht. pass in quick on dc0 proto udp from z.z.z.z to any port = 68 keep state # Sta inkomend webverkeer toe omdat er een Apache server draait. pass in quick on dc0 proto tcp from any to any port = 80 flags S keep state # Sta niet beveiligde telnet sessie toe vanaf het publieke Internet. # Dit heeft het label “niet veilig” omdat gebruikersnaam en # wachtwoord als platte tekst over Internet gaan. Als er geen telnet # server draait, hoeft deze regel niet actief te zijn. #pass in quick on dc0 proto tcp from any to any port = 23 flags S keep state # Sta beveiligde FTP, telnet en SCP toe vanaf Internet. # Deze functie gebruikt SSH (secure shell). pass in quick on dc0 proto tcp from any to any port = 22 flags S keep state # Blokkeer en log het eerste voorkomen van al het andere dat probeert # binnen te komen. Het loggen van alleen het eerste voorkomen stopt # een ontzegging van dienst aanval die gericht is op het laten # vollopen van de partitie waarop de logboeken staan. Deze regel implementeert # de standaard blokkade. block in log first quick on dc0 all ################### Einde van de regels ###################################
NAT staat voor Network Address Translation (netwerkadres vertaling). In Linux® heet dit IP Masquerading. Een van de vele mogelijkheden die IPF NAT kan bieden is het delen van één IP adres op het publieke Internet met een LAN achter een firewall.
De vraag zou kunnen rijzen waarom iemand dat zou willen. ISP's wijzen normaliter namelijk dynamisch een IP adres toe aan hun niet-commerciële gebruikers. Dynamisch betekent hier dat het IP-adres iedere dat er wordt ingebeld of dat het kabel- of xDSL-modem uit- en aangeschakeld wordt anders kan zijn. Dit dynamische IP-adres wordt gebruikt om uw systeem op het publieke Internet te identificeren.
Stel dat er vijf PC's in een huis staan en iedere computer in dat huis heeft toegang tot Internet nodig. Dan zouden er bij een ISP vijf individuele accounts moeten zijn en vijf telefoonlijnen om dat te realiseren.
Met NAT is er maar één account bij een ISP nodig. De andere vier PC's moeten met kabels op een switch worden aangesloten waarop ook een FreeBSD systeem is aangesloten dat binnen uw LAN als gateway gaat opereren. NAT zal automatisch de private LAN IP adressen van alle PC's vertalen naar een enkel publiek IP-adres als de pakketten de firewall naar het Internet verlaten.
Er is een speciale reeks van IP-adressen gereserveerd voor NAT op private LANs. Volgens RFC 1918 kunnen de volgende reeksen IP-adressen gebruikt worden op private netwerken die nooit direct op het publieke Internet gerouteerd worden.
Eerste IP | – | Laatste IP |
10.0.0.0 | – | 10.255.255.255 |
172.16.0.0 | – | 172.31.255.255 |
192.168.0.0 | – | 192.168.255.255 |
NAT regels worden geladen met
ipnat
. De NAT regels worden vaak
opgeslagen in /etc/ipnat.rules
. Meer details
staan in ipnat(8).
Bij het maken van wijzigingen aan de
NAT-regels nadat NAT
gestart is, wordt aangeraden de wijziging aan het bestand met
regels te maken en daarna ipnat
-CF
te gebruiken om alle actieve
NAT-regels te wissen. Daarna kunnen de regels uit
het bestand weer als volgt geladen worden:
#
ipnat -CF -f /etc/ipnat.rules
Gebruiksgegevens over NAT kunnen getoond worden met:
#
ipnat -s
De huidige inhoud van de NAT tabellen kan getoond worden met:
#
ipnat -l
Met het volgende commando kan de uitgebreide rapportage worden ingeschakeld en dan wordt informatie over het verwerken van verkeer en de actieve regels getoond:
#
ipnat -v
NAT regels zijn erg flexibel en er kunnen veel dingen mee gedaan worden om behoeften van bedrijven en thuisgebruikers in te vullen.
De syntaxis van de regels die hier wordt toegelicht is vereenvoudigd om te passen bij een niet-commerciële omgeving. De complete syntaxis is na te lezen in ipnat(5).
De syntaxis voor een NAT regel ziet er ongeveer als volgt uit:
mapIF
LAN_IP_REEKS
->PUBLIEK_ADRES
De regel begint met het sleutelwoord
map
.
IF
dient vervangen te worden
door de aanduiding van de externe interface.
LAN_IP_REEKS
is de reeks die
clients op een LAN gebruiken, meestal iets van 192.168.1.0/24
.
PUBLIEK_ADRES
kan het publieke
IP adres zijn of een speciaal sleutelwoord
0.32
, wat betekent dat het
IP adres van IF
gebruikt moet worden.
Een pakket komt vanaf het LAN aan bij de firewall en
heeft een publieke bestemming. Het wordt verwerkt door de
filterregels voor inkomend verkeer en daarna krijgt
NAT de kans zijn regels op het pakket toe
te passen. De regels worden van boven naar beneden toegepast
en de eerste regel die van toepassing is wint.
NAT controleert voor alle regels het
pakket op interfacenaam en bron IP adres.
Als de interfacenaam van een pakket past bij een
NAT regel dan wordt het bron
IP adres van dat pakket gecontroleerd, dat
is dus een IP adres op het private LAN,
om te bekijken of het valt in de reeks die is opgegeven aan
de linkerkant van een NAT regel. Als ook
dat klopt, dan wordt het bron IP adres van
het pakket vervangen (“rewritten”) door een
publiek IP adres dat verkregen kan zijn
met het sleutelwoord 0.32
.
NAT werkt dan zijn interne
NAT tabel bij, zodat als er een pakket uit
die sessie terugkomt van het publieke Internet, dat pakket
weer gepast kan worden bij het originele private
IP adres en door de firewallregels
gefilterd kan worden om daarna, als dat mag, naar een client
gestuurd te worden.
Voor IPNAT zijn de onderstaande
instellingen in /etc/rc.conf
beschikbaar.
Om verkeer tussen interfaces te kunnen routeren:
gateway_enable="YES"
Om IPNAT automatisch te starten:
ipnat_enable="YES"
Om aan te geven waar de IPNAT regels staan:
ipnat_rules="/etc/ipnat.rules"
Voor netwerken met grote aantallen PC's of netwerken met meerdere LAN's kan het een probleem worden om al die private IP adressen met één enkel publiek IP adres te vervangen, omdat vaak dezelfde poortnummers gebruikt worden. Er zijn twee manieren om dit probleem op te lossen.
Een normale regel voor NAT ziet er als volgt uit:
map dc0 192.168.1.0/24 -> 0.32
Met de bovenstaande regel blijft de bronpoort
ongewijzigd als het pakket door IPNAT
gaat. Door gebruik te maken van het sleutelwoord
portmap
kan IPNAT
ingesteld worden om alleen bronpoorten in de aangegeven reeks
te gebruiken. Zo stelt de onderstaande regel in dat
IPNAT de bronpoort aanpast naar een
poortnummer dat in de aangegeven reeks valt:
map dc0 192.168.1.0/24 -> 0.32 portmap tcp/udp 20000:60000
Het kan nog eenvoudiger door gebruik te maken van het
sleutelwoord auto
zodat
IPNAT zelf bepaalt welke poorten gebruikt
kunnen worden:
map dc0 192.168.1.0/24 -> 0.32 portmap tcp/udp auto
In grote netwerken komt er een moment waarop er gewoon te veel adressen zijn om te bedienen met één IP adres. Als er een blok van publiekelijke IP adressen beschikbaar is, dan kunnen deze adressen gebruikt worden in een “poel”, welke door IPNAT gebruikt kan worden om één van de adressen te gebruiken als uitgaand adres.
Bijvoorbeeld om alle pakketten te verstoppen achter één een enkel IP adres:
map dc0 192.168.1.0/24 -> 204.134.75.1
Een reeks van publiekelijke IP adressen kan gespecificeerd worden met een netwerkmasker:
map dc0 192.168.1.0/24 -> 204.134.75.1-10
of door gebruik van de CIDR notatie:
map dc0 192.168.1.0/24 -> 204.134.75.0/24
Het is erg gebruikelijk om een webserver, mailserver,
database server en DNS server op verschillende computers
op een LAN te draaien. Het uitgaande verkeer van die
servers kan dan met NAT afgehandeld
worden, maar er moet ook ingesteld worden dat inkomend
verkeer bij de juiste computer terecht komt.
IPNAT gebruikt daarvoor de opties in
NAT waarmee verkeer omgeleid kan worden.
Als bijvoorbeeld een webserver op het LAN-adres 10.0.10.25
draait en het enkele publieke
IP adres zou 20.20.20.5
zijn, dan zou de regel er als volgt
uit zien:
rdr dc0 20.20.20.5/32 port 80 -> 10.0.10.25 port 80
of:
rdr dc0 0.0.0.0/32 port 80 -> 10.0.10.25 port 80
Voor een DNS server op een LAN die ook vanuit Internet
bereikbaar met zijn en die draait op 10.0.10.33
zou de regel er als
volgt uit zien:
rdr dc0 20.20.20.5/32 port 53 -> 10.0.10.33 port 53 udp
FTP is dinosaurus uit het tijdperk van voor Internet was
zoals het nu is, toen onderzoeksinstellingen met elkaar
verbonden waren via huurlijnen en FTP de aangewezen methode
was om bestanden met elkaar uit te wisselen. Maar bij het
gebruik van FTP worden gebruikersnaam en wachtwoord als
platte tekst verzonden en het protocol is nooit aangepast.
FTP is er in twee smaken: actief en passief. Het verschil
zit 'm in hoe het datakanaal wordt opgezet. De passieve
variant is veiliger voor een gebruiker omdat bij deze variant
beide communicatiekanalen door de cliënt zelf worden opgezet.
Op de volgende pagina zijn details over FTP na te lezen: http://www.slacksite.com/other/ftp.html
.
IPNAT heeft een speciale FTP-proxy
ingebouwd die kan worden ingeschakeld met een
NAT-map
-regel. Die kan
al het uitgaande verkeer monitoren wat betreft
opstartverzoeken voor sessies voor actieve en passieve FTP en
dynamisch tijdelijke filterregels maken die alleen het
poortnummer dat echt in gebruik is voor het datakanaal
doorlaten. Hiermee wordt een veiligheidsrisico dat normaal
gepaard gaat met FTP, namelijk het toestaan van grote reeksen
hoge poortnummers, weggenomen.
De volgende regel handelt al het FTP verkeer van het LAN af:
map dc0 10.0.10.0/29 -> 0/32 proxy port 21 ftp/tcp
De regel hieronder handelt het FTP verkeer van de gateway zelf af:
map dc0 0.0.0.0/0 -> 0/32 proxy port 21 ftp/tcp
Deze laatste regel handelt al het niet-FTP verkeer voor het LAN af:
map dc0 10.0.10.0/29 -> 0/32
De FTP-afbeeldregel hoort voor de normale regels te staan. Alle pakketten worden als eerste vergeleken met de eerste regel en zo verder. Eerst wordt gekeken over de interfacenaam overeenkomt, daarna het bron IP adres van het LAN en dan of het een FTP pakket is. Als dat allemaal klopt, dan maakt de speciale FTP proxy een tijdelijke filterregel die de pakketten uit de FTP sessie naar binnen en buiten doorlaat en ook NAT toepast op de FTP pakketten. Alle pakketten van het LAN die niet van het protocoltype FTP zijn en dus niet bij de eerste regel passen, worden tegen de derde regel gehouden die van toepassing is vanwege de interface en bron IP adres, zodat er dan NAT op toegepast wordt.
Als de NAT-FTP-proxy wordt gebruikt is er maar één filterregel voor FTP nodig. Zonder de FTP-proxy zouden er drie regels nodig zijn:
# Sta LAN client toe te FTP-en naar Internet # Actieve en passieve modes pass out quick on rl0 proto tcp from any to any port = 21 flags S keep state # Sta opzetten van het datakanaal voor passieve mode toe voor hoge poorten pass out quick on rl0 proto tcp from any to any port > 1024 flags S keep state # Laat het datakanaal van de FTP server binnen voor actieve mode pass in quick on rl0 proto tcp from any to any port = 20 flags S keep state
IPFIREWALL (IPFW) is een firewall die binnen FreeBSD wordt ontwikkeld en onderhouden door vrijwillige leden van de staf. Het maakt gebruik van verouderde staatloze regels en een verouderde techniek om te realiseren wat eenvoudige stateful logica zou kunnen heten.
De verzameling voorbeeldregels van IPFW (die in
/etc/rc.firewall
en
/etc/rc.firewall6
staan) uit de standaard
FreeBSD-installatie is redelijk eenvoudig en niet voorbereid om
zonder wijzigingen gebruikt te worden. Het voorbeeld maakt geen
gebruik van stateful filteren, wat een voordeel is in de meeste
situaties. Daarom worden deze regels niet als basis gebruikt in
dit onderdeel.
De staatloze syntaxis van IPFW is krachtig door de technisch geavanceerde mogelijkheden van de regelsyntaxis die de kennis van de gemiddelde gebruiker van firewalls ver overstijgt. IPFW is gericht op de professionele gebruiker of de gevorderde thuisgebruiker die hoge eisen stelt aan de wijze waarop er met pakketten wordt omgegaan. Voordat de kracht van de IPFW regels echt ingezet kan worden, moet de gebruiker veel weten over de verschillende protocollen en de wijze waarop pakketten in elkaar zitten. Het tot op dat niveau behandelen van stof valt buiten de doelstellingen van dit Handboek.
IPFW bestaat uit zeven componenten: de verwerkingseenheid
voor de firewallregels, verantwoording, loggen, regels met
divert
(omleiden) waarmee
NAT gebruikt kan worden en de speciale
gevorderde mogelijkheden voor bandbreedtebeheer met DUMMYNET, de
fwd rule
forward-mogelijkheid, de bridge-mogelijkheden
en de ipstealth-mogelijkheden. IPFW ondersteunt zowel IPv4 als
IPv6.
IPFW zit bij de basisinstallatie van FreeBSD als een losse
tijdens runtime laadbare module. Het systeem laadt de kernelmodule
dynamisch als in rc.conf
de regel
firewall_enable="YES"
staat. IPFW hoeft
niet in de FreeBSD kernel gecompileerd te worden.
Na het rebooten van een systeem met
firewall_enable="YES"
in
rc.conf
is het volgende bericht op het
scherm te zien tijdens het booten:
ipfw2 initialized, divert disabled, rule-based forwarding disabled, default to deny, logging disabled
In de laadbare module zit de mogelijkheid om te loggen
gecompileerd. Er is een knop in /etc/sysctl.conf
om loggen aan te zetten en de uitgebreide loglimiet in te stellen. Door
deze regels toe te voegen, staat loggen aan bij toekomstige
herstarts:
net.inet.ip.fw.verbose=1 net.inet.ip.fw.verbose_limit=5
Het is niet verplicht om IPFW in te schakelen door het mee te compileren in de FreeBSD kernel. Dit wordt alleen beschreven als achtergrondinformatie.
options IPFIREWALL
Met IPFIREWALL
wordt IPFW ingeschakeld
als deel van de kernel.
options IPFIREWALL_VERBOSE
Met IPFIREWALL_VERBOSE
wordt het
loggen van pakketten die worden verwerkt met IPFW mogelijk
die het sleutelwoord log
in een regel hebben
staan.
options IPFIREWALL_VERBOSE_LIMIT=5
Limiteert het aantal pakketten dat per regel wordt gelogd via syslogd(8). Deze optie kan gebruikt worden in vijandige omgevingen waar de activiteit van een firewall gelogd moet worden. Hierdoor kan een mogelijke ontzegging van dienst aanval door het vol laten lopen van syslog voorkomen worden.
options IPFIREWALL_DEFAULT_TO_ACCEPT
Met IPFIREWALL_DEFAULT_TO_ACCEPT
wordt
standaard alles door de firewall doorgelaten. Dit wordt
aangeraden als iemand voor het eerst een firewall
opzet.
options IPDIVERT
Met IPDIVERT
wordt de
NAT functionaliteit ingeschakeld.
De firewall zal alle binnenkomende en uitgaande pakketten
blokkeren als de kerneloptie
IPFIREWALL_DEFAULT_TO_ACCEPT
of een regel om deze
verbindingen expliciet toe te staan ontbreekt.
Start de firewall:
firewall_enable="YES"
Om één van de standaard firewall types die geleverd wordt
door FreeBSD te selecteren, lees
/etc/rc.firewall
, maak een selectie en
plaats het in de volgende regel:
firewall_type="open"
Beschikbare waardes voor deze instelling zijn:
open
— laat al het verkeer door.
client
— beschermt alleen deze
machine.
simple
— beschermt het hele
netwerk.
closed
— blokkeert alle IP-verkeer,
behalve voor lokaal verkeer.
UNKNOWN
— voorkomt het laden
de firewall-regels.
bestandsnaam
— absoluut pad naar een bestand dat firewall-regels
bevat.
Het is mogelijk om twee verschillende manieren te gebruiken
voor speciaal gemaakte regels voor de
ipfw firewall. één
daarvan is door het zetten van de
firewall_type
variabele naar een absoluut
pad van een bestand, welke firewall-regels
bevat, zonder enige specifieke opties voor ipfw(8). Het volgende
is een eenvoudig voorbeeld van een bestand met regelverzamelingen dat
al het inkomend en uitgaand verkeer blokkeert:
add deny in add deny out
Aan de andere kant is het mogelijk om de variabele
firewall_script
in te stellen op een
absoluut pad van een uitvoerbaar script, welke inclusief
ipfw
commando's uitgevoerd wordt tijdens het
opstarten van het systeem. Een geldig script met regels dat
gelijkwaardig is aan het bestand met regels hierboven, zou het
volgende zijn:
#!/bin/sh ipfw -q flush ipfw add deny in ipfw add deny out
Als firewall_type
is gezet naar
client
of simple
moeten
de standaard regels die gevonden kunnen worden in
/etc/rc.firewall
gecontroleerd worden om
te zien of deze configuratie voldoet voor de machine. Let
ook op dat alle voorbeelden die gebruikt zijn in dit hoofdstuk
ervan uitgaan dat de firewall_script
variabele gezet is naar /etc/ipfw.rules
.
Om loggen in te schakelen:
firewall_logging="YES"
Het enige dat de variabele
firewall_logging
doet is de sysctl
variabele net.inet.ip.fw.verbose
op de
waarde 1
zetten (zie Paragraaf 30.6.1, “IPFW inschakelen”). Er is geen variabele in
rc.conf
om logboeklimieten in te
stellen, maar dat kan ingesteld worden via een sysctl
variabele, handmatig of via
/etc/sysctl.conf
:
net.inet.ip.fw.verbose_limit=5
Als de machine in kwestie een gateway is, dus Network
Address Translation (NAT) diensten levert via natd(8), dan
staat in Paragraaf 31.10, “Network Address Translation” meer informatie over de
benodigde instellingen voor
/etc/rc.conf
.
Gewoonlijk wordt ipfw
gebruikt om met de hand
enkelvoudige regels toe te voegen of te verwijderen als IPFW actief is.
Het probleem met deze methode is dat, als het systeem wordt uitgezet
alle regels die gewijzigd of verwijderd zijn
verloren gaan. Door alle regels in een bestand op te nemen
dat bij het booten wordt geladen of door het bestand waarin
de wijzigingen zijn gemaakt als een machine draait te laden
bestaat die probleem niet.
Met ipfw
kunnen de actieve regels van
de firewall op het scherm getoond worden. De
verantwoordingsmogelijkeden van ipfw(8) maken
dynamisch tellers aan voor iedere regel en houden die bij
voor alle pakketten die van toepassing zijn op die regel. Tijdens het
testen van een regel is het afbeelden van de regel met zijn teller
een van de manieren om te bepalen of de regel werkt.
Om alle regels in volgorde te tonen:
#
ipfw list
Om alle regels te tonen met de tijd waarop deze voor het laatst van toepassing was:
#
ipfw -t list
Het volgende commando kan gebruikt worden om de verantwoordingsinformatie, pakkettellers en de regel zelf te tonen. De eerste kolom is het regelnummer met daarachter het aantal keren dat de regel van toepassing was voor inkomend verkeer, gevolgd door het aantal keren dat de regel van toepassing was voor uitgaand verkeer. Als laatste wordt de regel zelf getoond:
#
ipfw -a list
Ook kunnen onder de statische regels de dynamische regels getoond worden:
#
ipfw -d list
En de dynamische regels die verlopen zijn:
#
ipfw -d -e list
De tellers op nul gesteld worden:
#
ipfw zero
Alleen de tellers voor regel met nummer
NUM
op nul stellen:
#
ipfw zero NUM
Een verzameling regels is een groep IPFW-regels die is gemaakt om pakketten toe te staan of te blokkeren op basis van de inhoud van dat pakket. De bi-directionele uitwisseling van pakketten tussen hosts bestaat uit een gesprek dat een sessie heet. De verzameling van firewallregels beoordeelt zowel de pakketten die aankomen van de host op het publieke Internet als de pakketten die op het systeem ontstaan als antwoord daarop. Iedere TCP/IP-dienst als telnet, www, mail, etc, heeft zijn eigen protocol en bevoorrechte (luister)poort. Pakketten bestemd voor een specifieke poort verlaten het bronadres via een onbevoorrechte (hogere) poort en doelen op de specifieke dienstpoort op het bestemmingsadres. Alle bovenstaande parameters (poorten en adressen) kunnen gebruikt worden als selectiecriteria om regels aan te maken die diensten doorlaten of blokkeren.
Als een pakket de firewall binnenkomt wordt het vergeleken met de eerste regel in de set regels en zo gaat dat voor iedere regel vanaf boven tot beneden. Als een regel van toepassing is op een pakket, dan wordt het actieveld van de regel uitgevoerd. Dit wordt de “de eerst passende regel wint” zoekmethode genoemd. Als een pakket bij geen enkele regel past, dan wordt de verplichte standaardregel 65535 van IPFW toegepast, die alle pakketten weigert zonder een antwoord terug te sturen naar de verzender.
Het zoeken gaat door na regels met
count
, skipto
en
tee
.
De instructies in dit onderdeel zijn gebaseerd op regels
die gebruik maken van de stateful opties keep
state
, limit
,
in
, out
en
via
. Dit is het raamwerk waarmee een
set van inclusieve firewallregels wordt samengesteld.
Wees voorzichtig tijdens het werken met firewall-regels, het is gemakkelijk om uzelf uit te sluiten.
De regelsyntaxis zoals hier toegelicht is vereenvoudigd door alleen te tonen wat nodig is om een standaard inclusieve set met firewallregels te maken. De complete beschrijving van alle mogelijkheden staat in ipfw(8).
Regels bevatten sleutelwoorden die in een bepaalde volgorde van links naar rechts op een regel horen te staan. Sleutelwoorden worden vet weergegeven. Sommige sleutelwoorden hebben subopties die zelf ook weer sleutelwoorden hebben die ook weer subopties kunnen hebben.
Het karakter #
wordt gebruikt om
het begin van een opmerking te markeren en kan zowel op een
eigen regel als achter een firewallregel staan. Lege
regels worden genegeerd.
CMD REGEL_NUMMER ACTIE LOGGEN SELECTIE
STATEFUL
Bij een regel kunnen één of meer acties horen die worden uitgevoerd als een regel geldt voor een pakket.
allow | accept | pass |
permit
Deze opties betekenen allemaal hetzelfde: als de regel geldt voor een pakket, laat dat pakket dan door en stop met het zoeken naar geldende regels.
check-state
Vergelijkt het pakket met de tabel met dynamische regels. Als het erin staat, dan wordt de actie van de dynamisch door deze regel gemaakte regel uitgevoerd. Anders wordt er verder gezocht door de regels. Een regel met check-state heeft geen selectiecriteria. Als er geen regel met check-state in de set met regels staat, dan wordt de tabel met dynamische regels bij het eerste voorkomen van keep-state of limit gecontroleerd.
deny | drop
Deze opties betekenen hetzelfde: als de regel geldt voor een pakket, blokkeer dat pakket dan en stop met het zoeken naar geldende regels.
log
of
logamount
Als een regel met het sleutelwoord
log
van toepassing is op een
pakket, dan wordt er een bericht naar syslogd(8)
geschreven met de faciliteitsnaam SECURITY. Er wordt alleen
een bericht geschreven als het aantal voor die regel
gelogde pakketten niet groter is dan de instelling van de parameter
logamount. Als er geen logamount
is ingesteld,
dan wordt de limiet uit de sysctl(8) variabele
net.inet.ip.fw.verbose_limit
gehaald. In beide
gevallen bestaat er in het geval de waarde nul is geen limiet.
Als de limiet is bereikt, dan kan het loggen weer
ingeschakeld worden door de teller voor het loggen weer
op nul te zetten voor die regel met
ipfw reset log
.
Er wordt gelogd als een pakket zeker past bij een
regel, maar voordat de actie (bijvoorbeeld
accept
of
deny
) op een pakket wordt
toegepast. Uiteindelijk bepaalt de gebruiker zelf voor
welke regels loggen wordt ingeschakeld.
De sleutelwoorden in deze paragraaf beschrijven de attributen van een pakket die gecontroleerd worden bij het bepalen of een regel wel of niet op een pakket van toepassing is. De attributen waarop gecontroleerd kan worden moeten in de beschreven volgorde gebruikt worden.
udp | tcp | icmp
Naast de hierboven aangegeven protocollen kunnen alle
in /etc/protocols
beschreven
protocollen gebruikt worden. De waarde die wordt
opgegeven is het protocol dat van toepassing moet zijn.
Dit attribuut is verpicht.
from bron to best
De sleutelwoorden from
en
to
worden gebruikt om te bekijken
of een regel van toepassing is op IP-adressen.
Een regel moet zowel bron- als
bestemmingsadressen bevatten. any
is
een bijzonder sleutelwoord dat van toepassing is op alle
IP-adressen. me
is
een bijzonder sleutelwoord dat van toepassing is op alle
IP-adressen die ingesteld zijn op
interfaces van een FreeBSD systeem om de PC waarop de firewall draait
te vertegenwoordigen (deze machine). Zo kan dit onderdeel
bijvoorbeeld de volgende vormen aannemen:
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
of
from me to 0.0.0.0
.
IP-adressen mogen ingevoerd worden
in de vorm numeriek, door punten gescheiden
adres/maskerlengte (CIDR-notatie) of als een enkelvoudig
IP-adres in de vorm numeriek, door
punten gescheiden. De port net-mgmt/ipcalc kan gebruikt worden om
de berekeningen e vereenvoudigen. Aanvullende informatie is
beschikbaar op de webpagina van het programma: http://jodies.de/ipcalc
.
poortnummer
Wordt gebruikt voor protocollen die poortnummers
ondersteunen (als TCP en UDP).
Het gebruik van een poortnummer is verplicht. Er mogen ook
dienstnamen uit /etc/services
gebruikt worden in plaats van nummers.
in | out
Is op respectievelijk inkomende of uitgaande
pakketten van toepassing. De sleutelwoorden
in
of out
zijn verplicht in een regel.
via IF
Deze parameter geeft aan op welke interface de regel
van toepassing is, waarbij IF
de
exacte naam van de bedoelde interface is.
setup
Dit is een verplicht sleutelwoord waarmee wordt aangegeven dat er gezocht wordt naar een pakket met het verzoek tot het opstarten van een TCP sessie.
keep-state
Dit is een verplicht sleutelwoord. Als er een pakket
op een regel met keep-state
van toepassing is, dan wordt er door de firewall een
dynamische regel gemaakt die bi-directioneel
verkeer zal toestaan tussen bron en bestemming en de
bijbehorende poorten voor hetzelfde protocol.
limit {bron-adr | bron-poort |
best-adr | best-poort}
De firewall staat maar N
verbindingen toe met dezelfde groep parameters uit een
regel. Er kunnen één of meer van de
parameters bron- of bestemmingsadres en bron- en
bestemmingspoort gebruikt worden.
limit
en
keep-state
kunnen niet in
dezelfde regel gebruikt worden. De optie
limit
geeft dezelfde mogelijkheden
als keep-state
en voegt daar
zijn eigen mogelijkheden aan toe.
Bij stateful filteren wordt verkeer bekeken als bi-directioneel verkeer dat samen een sessie vormt. Het heeft de mogelijkheid om te bepalen of de sessie tussen de zender en de ontvanger op de juiste wijze voortgaat. Alle pakketten die niet precies in de verwachting van een sessie passen worden automatisch als fout geblokkeerd.
De optie check-state
wordt gebruikt
om aan te geven waar IPFW-regels tegen de mogelijkheden
voor dynamische regels gehouden moeten worden. Als er
een passende regel bij een pakket wordt gevonden, dan kan
dat pakket de firewall verlaten en wordt een nieuwe regel
gemaakt voor het volgende pakket dat wordt verwacht in de
sessie. Als er geen regel van toepassing is op het pakket,
dan wordt de volgende regel in de groep regels
getest.
De mogelijkheden voor dynamische regels zijn kwetsbaar
voor een aanval die SYN-flood heet, waarmee wordt
geprobeerd een zeer groot aantal regels aan te laten maken.
Om deze aanval tegen te gaan, is de optie
limit
beschikbaar. Met deze
optie kan het maximaal aantal simultane sessies geregeld
worden op basis van bron en bestemmingsvelden. Als het
aantal sessies gelijk aan het maximale aantal sessies is,
wordt een pakket voor een nieuwe sessie geweigerd.
De voordelen van loggen zijn duidelijk. Het biedt de mogelijkheid om na het feit informatie na te zien als: welke pakketten heeft de firewall laten vallen, waar kwamen ze vandaan en waar gingen ze heen. Dit zijn allemaal voordelen als het gaat om uitvinden waar een aanvaller vandaan komt en wat hij heeft geprobeerd.
Zelfs als logging is ingeschakeld logt IPFW nog niets
uit zichzelf. De beheerder van de firewall beslist welke
actieve regels iets weg moeten schrijven door het
sleutelwoord log
aan die regels toe
te voegen. Gewoonlijk worden alleen
deny
-regels gelogd. Dit geldt
bijvoorbeeld voor de deny
-regel
voor inkomende ICMP pings. Het is
gebruikelijk om de standaardregel “ipfw default deny
everything” te dupliceren, daar log
in op
te nemen, en deze als laatste in de verzameling met regels te
plaatsen. Zo zijn alle pakketten te zien die niet voldeden
aan ook maar één regel.
Loggen heeft ook mogelijke nadelen. Het is mogelijk om
te veel te loggen en dan om te komen in logboekgegevens
die uiteindelijk een schijf kunnen vullen. Een DoS aanval
om een schijf met logs te vullen is een van de oudst bekende
typen DoS aanvallen. Logberichten van de firewall worden
niet alleen naar syslogd geschreven, maar
ook op het root
console getoond waar ze snel
erg vervelend kunnen worden.
De kerneloptie
IPFIREWALL_VERBOSE_LIMIT=5
beperkt het
aantal opeenvolgende berichten dat naar syslogd(8)
wordt geschreven voor één specifieke regel.
Als deze optie is ingeschakeld, worden in dit geval
maximaal vijf berichten voor dezelfde regel gemeld. Als er
meer berichten op dezelfde regel zouden zijn, zou dat als
volgt aan syslogd gemeld worden:
last message repeated 45 times
Standaard worden alle gelogde pakketten weggeschreven
naar /var/log/security
, wat is
ingesteld in /etc/syslog.conf
.
De meeste ervaren gebruikers van IPFW maken een bestand waarin de regels staan en stellen dat zo op dat het als script uitgevoerd kan worden. Het grootste voordeel van deze methode is dat de firewallregels allemaal vervangen kunnen worden zonder dat het systeem opnieuw gestart moet worden. Deze methode is ook erg geschikt voor het testen van regels omdat de procedure zo vaak als nodig uitgevoerd kan worden. Omdat het een script is, kan er gebruik gemaakt worden van substitutie zodat veel gebruikte waarden verduidelijkt en in meerdere regels toegepast kunnen worden. In het volgende voorbeeld wordt hier gebruik van gemaakt.
De syntaxis die in het script wordt gebruikt is compatibel met de shells sh(1), csh(1) en tcsh(1). Velden waarvoor substitutie van toepassing is worden vooraf gegaan door het dollarteken $. Definities worden niet vooraf gegaan door het voorvoegsel $. De waarden van een substitutie moet omsloten worden door "dubbele aanhalingstekens".
Een bestand met regels kan als volgt beginnen:
############### begin voorbeeldscript ipfw regels ############## # ipfw -q -f flush # Verwijder alle bestaande regels. # Stel standaarden in. oif="tun0" # uitgaande interface. odns="192.0.2.11" # IP adres DNS server ISP. cmd="ipfw -q add " # Voorvoegsel voor regel. ks="keep-state" # Te lui om iedere keer in te typen. $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 ################### einde voorbeeldscript ipfw regels ###########
Dat is alles. De feitelijke functie van de regels is in dit voorbeeld van ondergeschikt belang. Dit was slechts een voorbeeld om het gebruik van substitutie te illustreren.
Als het bovenstaande voorbeeld de inhoud van
/etc/ipfw.rules
was, dan kon het
herladen worden met het volgende commando:
#
sh /etc/ipfw.rules
/etc/ipfw.rules
zou overal kunnen
staan met iedere gewenste naam.
Wat in het bovenstaande voorbeeld met een bestand is gerealiseerd, kan ook met de hand:
#
ipfw -q -f flush
#
ipfw -q add 00500 check-state
#
ipfw -q add 00502 deny all from any to any frag
#
ipfw -q add 00501 deny tcp from any to any established
#
ipfw -q add 00600 allow tcp from any to any 80 out via tun0 setup keep-state
#
ipfw -q add 00610 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
De volgende verzameling van regels, waarin geen gebruik gemaakt
wordt van NAT, is een voorbeeld van hoe
een erg veilige inclusieve firewall kan worden opgezet.
Een inclusieve firewall laat alleen diensten toe waarvoor
pass
regels van toepassing zijn en
blokkeert al het andere verkeer. Firewalls die ontworpen zijn om
hele netwerksegmenten te beschermen hebben tenminste twee interfaces
waarvoor regels moeten zijn die de firewall in staat stellen zijn
werk te doen.
Alle UNIX® systemen en dus ook FreeBSD zijn zo ontworpen
dat ze voor interne communicatie de interface
lo0
en IP adres
127.0.0.1
gebruiken. De
firewall moet dit interne verkeer gewoon doorgang laten
vinden.
Voor de interface die is verbonden met het publieke
Internet worden regels gemaakt waarmee sessies naar het
Internet mogelijk gemaakt worden en toegang wordt gegeven
voor pakketten die uit die sessies terug komen. Dit kan
de gebruikers-PPP-interface
tun0
zijn of de
netwerkkaart die is verbonden met een xDSL of
kabelmodem.
In gevallen dat er meer dan één netwerkkaart is aangesloten op het private netwerk achter de firewall, moeten er op de firewall-regels zijn om het verkeer tussen die interfaces vrije doorgang te geven.
De regels worden opgedeeld in drie onderdelen: alle interfaces met vrije doorgang, uitgaand op publieke interfaces en inkomend op publieke interfaces.
De volgorde van de regels in iedere sectie voor publieke interfaces moet zo zijn dat de regels die het meest gebruikt worden vóór de regels staan die minder vaak gebruikt worden. De laatste regel van een onderdeel geeft aan dat al het overige verkeer op die interface in die richting geblokkeerd en gelogd moet worden.
In het onderdeel Uitgaand van de volgende verzameling regels staan
alleen regels met allow
die parameters bevatten om
individuele diensten beschikbaar te maken die publieke toegang
tot Internet mogen hebben Al die regels moeten gebruik maken van de
opties proto
, port
,
in/out
, via
en keep-state
. De regels met
proto tcp
maken ook gebruik van
setup
om te bekijken of het een
pakket betreft voor het opzetten van een sessie om de
stateful functionaliteit aan te sturen.
In het onderdeel Inkomend staan als eerste alle regels voor het
blokkeren van ongewenste pakketten, om twee redenen.
Als eerste kan het zo zijn dat kwaadaardige pakketten gedeeltelijk
overeenkomen met legitiem verkeer. Deze regels moeten worden
geblokkeerd in plaats van te worden binnengelaten, gebaseerd op hun
gedeeltelijke overeenkomst met allow
-regels.
De tweede reden is dat nu ongewenste pakketten
die vaak voorkomen en die bij voorkeur niet in de logboeken
voorkomen niet meer van toepassing zijn op de laatste regel
van het onderdeel waarin ze zouden worden gelogd. Met de
laatste regel van dit onderdeel worden alle overige
pakketten geblokkeerd en gelogd en ze kunnen
bewijsmateriaal zijn in een zaak tegen iemand die heeft
geprobeerd een systeem aan te vallen.
Iets waarop u ook moet letten is dat voor al het verkeer dat wordt
geweigerd geen antwoord wordt gestuurd. Die pakketten verdwijnen
gewoon. Zo weet een aanvaller niet of een pakket het doelsysteem wel
heeft bereikt. Zo kan een aanvaller geen informatie
verzamelen over een systeem: hoe minder informatie er over
een systeem beschikbaar is, hoe veiliger het is. Als er
pakketten gelogd worden met een onbekend poortnummer, dan is de
functie van dat poortnummer na te zoeken in
/etc/services
of op http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
.
Op de volgende link worden poortnummers van Trojans
beschreven: http://www.sans.org/security-resources/idfaq/oddports.php
.
Het volgende voorbeeld is een complete inclusieve verzameling van
regels die geen gebruik maakt van NAT.
Deze verzameling van regels is veilig om deze regels op uw eigen
systemen te gebruiken. Dit kan door commentaar te maken van een
pass
-regel voor een dienst die niet gewenst is.
Logberichten die niet gewenst zijn, zijn uit te sluiten door een
deny
-regel toe te voegen aan het onderdeel
Inkomend. Voor de onderstaande regels dient de interfacenaam
dc0
in iedere regel vervangen te worden door
de interfacenaam van de netwerkkaart in het systeem die met
het publieke Internet is verbonden. Voor gebruikers van
PPP zou dat tun0
zijn.
Er zit een merkbare structuur in het gebruik van deze regels:
Alle regels die een verzoek zijn voor het opzetten van een
sessie gebruiken keep-state
.
Alle diensten die vanaf Internet bereikbaar zijn gebruiken de
optie limit
om “flooding” te
voorkomen.
Alle regels gebruiken in
of
out
om de richting aan te geven.
Alle regels gebruiken via
interfacenaam
om aan te geven op welke
interface de regel van toepassing is.
De volgende regels zouden in
/etc/ipfw.rules
kunnen staan:
################ Begin bestand met IPFW regels ############################### # Verwijder eerst de bestaande regels. ipfw -q -f flush # Stel commando voorvoegsel in. cmd="ipfw -q add" pif="dc0" # Interfacenaam van NIC die verbinding # met het publieke Internet heeft. ################################################################# # Geen beperkingen op de interface aan de LAN kant. Alleen nodig # als er een LAN is. Wijzig xl0 naar de gebruikte interfacenaam. ################################################################# #$cmd 00005 allow all from any to any via xl0 ################################################################# # Geen beperkingen op de loopback interface. ################################################################# $cmd 00010 allow all from any to any via lo0 ################################################################# # Sta het pakket toe als het aan de tabel met dynamische regels # was toegevoegd met een 'allow keep-state' commando. ################################################################# $cmd 00015 check-state ################################################################# # Interface aan het publieke Internet (onderdeel Uitgaand). # Inspecteer verzoeken om een sessie te starten van achter de # firewall op het private netwerk of vanaf de server zelf naar # het publieke Internet. ################################################################# # Geef toegang tot de DNS server van de ISP. # x.x.x.x moet het IP adres van de DNS van de ISP zijn. # Dupliceer deze regels als een ISP meerdere DNS servers heeft. # Haal het IP adres evt. uit /etc/resolv.conf $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 # Geef toegang tot de DHCP server van de ISP voor kabel- en # xDSL-netwerken. Deze regel is niet nodig als gebruik gemaakt worden # van PPP naar het publieke Internet. In dat geval kan de hele groep # verwijderd worden. Gebruik de volgende regel en controleer het # logboek voor het IP adres. Wijzig dan het IP adres in de regel # commentaar hieronder en verwijder de eerste regel. $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 # Sta niet beveiligd www verkeer toe. $cmd 00200 allow tcp from any to any 80 out via $pif setup keep-state # Sta beveiligd www verkeer over TLS SSL toe. $cmd 00220 allow tcp from any to any 443 out via $pif setup keep-state # Sta het verzenden en ontvangen van e-mail toe. $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 # Sta de FreeBSD CVSUP functie toe voor uid root. $cmd 00240 allow tcp from me to any out via $pif setup keep-state uid root # Sta ping toe. $cmd 00250 allow icmp from any to any out via $pif keep-state # Sta Time toe naar buiten. $cmd 00260 allow tcp from any to any 37 out via $pif setup keep-state # Sta NNTP nieuws toe naar buiten. $cmd 00270 allow tcp from any to any 119 out via $pif setup keep-state # Sta beveiligde FTP, Telnet en SCP toe naar buiten. # Deze functie maakt gebruik van SSH (secure shell). $cmd 00280 allow tcp from any to any 22 out via $pif setup keep-state # Sta whois toe naar buiten. $cmd 00290 allow tcp from any to any 43 out via $pif setup keep-state # Blokkeer en log al het andere dat probeert buiten te komen. # Deze regel dwingt de 'block all' logica af. $cmd 00299 deny log all from any to any out via $pif ################################################################# # Interface aan het publieke Internet (onderdeel Inkomend). # Inspecteert pakketten die van het publieke Internet komen # met als bestemming de host zelf of het private netwerk. ################################################################# # Blokkeer al het verkeer voor niet-routeerbare of gereserveerde # adresreeksen. $cmd 00300 deny all from 192.168.0.0/16 to any in via $pif #RFC 1918 privaat IP $cmd 00301 deny all from 172.16.0.0/12 to any in via $pif #RFC 1918 privaat IP $cmd 00302 deny all from 10.0.0.0/8 to any in via $pif #RFC 1918 privaat 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 #gereserveerd voor documentatie $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 #Klasse D & E multicast # Blokkeer publieke pings. $cmd 00310 deny icmp from any to any in via $pif # Blokkeer ident. $cmd 00315 deny tcp from any to any 113 in via $pif # Blokkeer alle Netbios diensten. 137=naam, 138=datagram, 139=sessie. # Netbios is de Windows® bestandsdeeldienst. # Blokkeer Windows hosts2 name server verzoeken 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 # Blokkeer gefragmenteerde pakketten. $cmd 00330 deny all from any to any frag in via $pif # Blokkeer ACK pakketten die niet in de tabel met dynamische regels # staan. $cmd 00332 deny tcp from any to any established in via $pif # Geef toegang tot de DHCP server van de ISP voor kabel- en # xDSL-netwerken. Deze regel is niet nodig als gebruik gemaakt worden # van PPP naar het publieke Internet. In dat geval kan de hele groep # verwijderd worden. Hier wordt hetzelfde IP adres gebruikt als in de # sectie voor Uitgaand verkeer. #$cmd 00360 allow udp from any to x.x.x.x 67 in via $pif keep-state # Sta inkomend webverkeer toe omdat er een Apache server draait. $cmd 00400 allow tcp from any to me 80 in via $pif setup limit src-addr 2 # Sta beveiligde FTP, telnet en SCP toe vanaf Internet. $cmd 00410 allow tcp from any to me 22 in via $pif setup limit src-addr 2 # Sta niet beveiligde telnet sessie toe vanaf het publieke Internet. # Dit heeft het label ``niet veilig'' omdat gebruikersnaam en # wachtwoord als platte tekst over Internet gaan. Als er geen telnet # server draait, hoeft deze regel niet actief te zijn. $cmd 00420 allow tcp from any to me 23 in via $pif setup limit src-addr 2 # Weiger en log alle niet toegestane inkomende verbindingen van buiten. $cmd 00499 deny log all from any to any in via $pif # Al het andere verkeer wordt standaard geblokkeerd. Weiger en log alle # pakketten die tot hier zijn gekomen om te bekijken welke het waren. $cmd 00999 deny log all from any to any ################ Einde bestand met IPFW regels ########################
Om NAT met IPFW te gebruiken moeten
een extra aantal instellingen gemaakt worden. In het
instellingenbestand voor de kernel moet option
IPDIVERT
toegevoegd worden aan de andere opties van
IPFIREWALL.
Naast de normale IPFW opties in
/etc/rc.conf
zijn de volgende
nodig:
natd_enable="YES" # Schakel NATD in natd_interface="rl0" # interfacenaam voor de publieke Internet NIC natd_flags="-dynamic -m" # -m = behoud poortnummers als mogelijk
Stateful regels samen met de regel
divert natd
(Network Address Translation) gebruiken
maakt het schrijven van regels veel gecompliceerder. De plaats
van de regels met check-state
en divert natd
zijn van kritiek
belang. De logica bestaat niet langer uit het eenvoudigweg
van boven naar beneden doorwerken van de regels. Er wordt
dan ook een nieuw type actie gebruik:
skipto
. Bij het gebruik van
skipto
is het verplicht iedere regel
te nummeren zodat duidelijk is waar een
skipto
precies heen springt.
Hieronder staat een groep regels zonder commentaar waarin een manier om pakketten door de groep regels te leiden wordt aangegeven.
De verwerking begint met de eerste regel en er wordt
steeds een volgende regel gecontroleerd tot het einde
wordt bereikt of totdat een regel op het gecontroleerde
pakket van toepassing is, en het pakket uit de firewall wordt
vrijgelaten. In het voorbeeld zijn de regels 100, 101, 450, 500, en
510 van belang. Die regels regelen de vertaling van inkomende en
uitgaande pakketten zodat er in de tabel met de
dynamische keep-state
-regels
altijd het private IP-adres staat.
Daarnaast is het van belang op te merken dat er in alle
allow
- en deny
-regels de
richting van het pakket wordt gecontroleerd (inkomend of uitgaand) en
over welke interface het pakket gaat. Merk ook op dat alle
uitgaande verzoeken voor het starten van een sessie met
een skipto
naar regel 500 gaan voor
NAT.
Stel dat een gebruiker zijn webbrowser gebruikt om een
webpagina op te halen. Webpagina's worden over poort 80 verzonden.
Er komt een pakket de firewall binnen dat niet past bij regel 100
omdat het naar buiten gaat en niet naar binnen. Het komt voorbij
regel 101 omdat dit het eerste pakket is en er dus nog niets over in
de dynamische keep-state tabel staat. Als het pakket bij 125 aankomt
blijkt het te passen bij die regel. Het gaat naar buiten
door de interface aan het publieke Internet. Het pakket
heeft dan nog steeds het bron-IP-adres
van het private LAN. Als blijkt dat deze regel geldt, dan
gebeuren er twee dingen: door
keep-state
wordt er een regel
in de dynamische keep-state tabel gezet en wordt de
aangegeven actie uitgevoerd. De actie is onderdeel van de
informatie uit de dynamische tabel. In dit geval is het
skipto rule 500
. In regel 500 wordt
NAT op het IP-adres
van het pakket toegepast en dan kan het weg. Dit
is van groot belang. Dit pakket komt aan op zijn
bestemming en als er een pakket als antwoord terug komt, dan begint de
verwerking van het antwoordpakket weer van voor af aan. Nu voldoet
het aan regel 100 en dus wordt het bestemmingsadres
vertaald naar het bijbehorende IP-adres
op het LAN. Daarna past het bij de
check-state
-regel en wordt een
vermelding in de tabel gevonden wat betekent dat er een
bestaande sessie is en wordt het doorgelaten naar het LAN.
Het gaat dan naar de PC op het LAN die als eerste een
pakket heeft verzonden en die verstuurt een nieuw pakket
met de vraag om een volgend segment met gegevens naar de
server. Nu blijkt bij controle van de
check-state
-regel dat die op
het pakket van toepassing moet zijn en er staat een
vermelding in de tabel voor uitgaand verkeer. Daarom wordt
de bijbehorende actie skipto rule 500
uitgevoerd. Het pakket springt naar regel 500, er wordt
NAT op toegepast en het kan zijn weg
vervolgen.
Wat betreft binnenkomende pakketten wordt alles dat
onderdeel is van een bestaande sessie automatisch
afgehandeld door de
check-state
-regel en de correct
geplaatste divert natd
-regels. Nu hoeven
alleen de foute pakketten nog geweigerd te worden en moeten
de inkomende geauthoriseerde diensten doorgelaten worden. In
dit geval draait er een Apache server op de firewall-machine
die vanaf Internet bereikbaar moet zijn. Het nieuwe
inkomende pakket past bij regel 100 en het
IP-adres wordt aangepast aan het interne
IP-adres van de firewall-machine. Dat
pakket wordt dan gecontroleerd op alle ongewenste
eigenschappen en komt uiteindelijk aan bij regel 425 die
van toepassing blijkt te zijn. In dat geval kunnen er twee
dingen gebeuren: de pakketregel wordt in de dynamische
keep-state tabel gezet, maar nu wordt het aantal nieuwe
sessies dat van het bron IP-adres komt
gelimiteerd tot twee. Dit is een bescherming tegen DoS-aanvallen
op de dienst die op dat poortnummer wordt aangeboden. De actie is
allow
, dus het pakket wordt tot het LAN toegelaten.
Voor het pakket dat als antwoord wordt verstuurd herkent de
check-state
regel dat het
pakket bij een bestaande sessie hoort. Het stuurt het naar regel
500 voor NAT en stuurt het via de
uitgaande interface weg.
Voorbeeld Set Regels #1:
#!/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 # Toegestaan uitgaand verkeer. $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 # Blokkeer al het verkeer voor niet-routeerbare of gereserveerde # adresreeksen. $cmd 300 deny all from 192.168.0.0/16 to any in via $pif #RFC 1918 privaat IP $cmd 301 deny all from 172.16.0.0/12 to any in via $pif #RFC 1918 privaat IP $cmd 302 deny all from 10.0.0.0/8 to any in via $pif #RFC 1918 privaat 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 #gereserveerd voor documentatie $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 #Klasse D & E multicast # Toegestaan inkomend verkeer. $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 # Dit is de 'skipto' locatie voor de uitgaande stateful regels. $cmd 500 divert natd ip from any to any out via $pif $cmd 510 allow ip from any to any ######################## Einde regels ##################
Het volgende voorbeeld doet vrijwel hetzelfde als het bovenstaande, maar volgt een zelfdocumenterende stijl voor het opstellen van regels en commentaar waardoor minder ervaren gebruikers beter kunnen begrijpen wat de regels doen.
Voorbeeld Set Regels #2:
#!/bin/sh ################ Begin bestand met IPFW regels ############################### # Verwijder eerst de bestaande regels. ipfw -q -f flush # Stel commando voorvoegsel in. cmd="ipfw -q add" skip="skipto 800" pif="rl0" # Interfacenaam van NIC die verbinding # met het publieke Internet heeft. ################################################################# # Geen beperkingen op de interface aan de LAN kant. # Wijzig xl0 naar de gebruikte interfacenaam. ################################################################# $cmd 005 allow all from any to any via xl0 ################################################################# # Geen beperkingen op de loopback interface. ################################################################# $cmd 010 allow all from any to any via lo0 ################################################################# # Controleer of pakket inkomend is. NAT in dat geval. ################################################################# $cmd 014 divert natd ip from any to any in via $pif ################################################################# # Sta het pakket toe als het aan de tabel met dynamische regels # was toegevoegd met een 'allow keep-state' commando. ################################################################# $cmd 015 check-state ################################################################# # Interface aan het publieke Internet (onderdeel Uitgaand). # Inspecteer verzoeken om een sessie te starten van achter de # firewall op het private netwerk of vanaf de server zelf naar # het publieke Internet. ################################################################# # Geef toegang tot de DNS server van de ISP. # x.x.x.x moet het IP adres van de DNS van de ISP zijn. # Dupliceer deze regels als een ISP meerdere DNS servers heeft. # Haal het IP adres evt. uit /etc/resolv.conf $cmd 020 $skip tcp from any to x.x.x.x 53 out via $pif setup keep-state # Geef toegang tot de DHCP server van de ISP voor kabel en xDSL. $cmd 030 $skip udp from any to x.x.x.x 67 out via $pif keep-state # Sta niet beveiligd www verkeer toe. $cmd 040 $skip tcp from any to any 80 out via $pif setup keep-state # Sta beveiligd www verkeer over TLS SSL toe. $cmd 050 $skip tcp from any to any 443 out via $pif setup keep-state # Sta het verzenden en ontvangen van e-mail toe. $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 # Sta de FreeBSD CVSUP functie toe voor uid root. $cmd 070 $skip tcp from me to any out via $pif setup keep-state uid root # Sta ping toe naar het publieke Internet. $cmd 080 $skip icmp from any to any out via $pif keep-state # Sta Time toe. $cmd 090 $skip tcp from any to any 37 out via $pif setup keep-state # Sta NNTP nieuws toe. $cmd 100 $skip tcp from any to any 119 out via $pif setup keep-state # Sta beveiligde FTP, Telnet en SCP toe. # Deze functie maakt gebruik van SSH (secure shell). $cmd 110 $skip tcp from any to any 22 out via $pif setup keep-state # Sta whois toe. $cmd 120 $skip tcp from any to any 43 out via $pif setup keep-state # Sta NPT tijdserver toe. $cmd 130 $skip udp from any to any 123 out via $pif keep-state ################################################################# # Interface aan het publieke Internet (onderdeel Inkomend). # Inspecteert pakketten die van het publieke Internet komen met # als bestemming deze gateway-server zelf of het private netwerk. ################################################################# # Blokkeer al het verkeer voor niet-routeerbare of gereserveerde # adresreeksen. $cmd 300 deny all from 192.168.0.0/16 to any in via $pif #RFC 1918 privaat IP $cmd 301 deny all from 172.16.0.0/12 to any in via $pif #RFC 1918 privaat IP $cmd 302 deny all from 10.0.0.0/8 to any in via $pif #RFC 1918 privaat 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 #gereserveerd voor documentatie $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 #Klasse D & E multicast # Blokkeer ident. $cmd 315 deny tcp from any to any 113 in via $pif # Blokkeer alle Netbios diensten. 137=naam, 138=datagram, 139=sessie. # Netbios is de Windows® bestandsdeeldienst. # Blokkeer Windows hosts2 name server verzoeken 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 # Blokkeer gefragmenteerde pakketten. $cmd 330 deny all from any to any frag in via $pif # Blokkeer ACK pakketten die niet in de tabel met dynamische regels # staan. $cmd 332 deny tcp from any to any established in via $pif # Geef toegang tot de DHCP server van de ISP voor kabel- en # xDSL-netwerken. Deze regel is niet nodig als gebruik gemaakt worden # van PPP naar het publieke Internet. In dat geval kan de hele groep # verwijderd worden. Hier wordt hetzelfde IP adres gebruikt als in de # sectie voor Uitgaand verkeer. $cmd 360 allow udp from x.x.x.x to any 68 in via $pif keep-state # Sta inkomend webverkeer toe omdat er een Apache server draait. $cmd 370 allow tcp from any to me 80 in via $pif setup limit src-addr 2 # Sta beveiligde FTP, telnet en SCP toe vanaf Internet. $cmd 380 allow tcp from any to me 22 in via $pif setup limit src-addr 2 # Sta niet beveiligde telnet sessie toe vanaf het publieke Internet. # Dit heeft het label ``niet veilig'' omdat gebruikersnaam en # wachtwoord als platte tekst over Internet gaan. Als er geen telnet # server draait, hoeft deze regel niet actief te zijn. #$cmd 390 allow tcp from any to me 23 in via $pif setup limit src-addr 2 # Weiger en log alle niet toegestane inkomende verbindingen vanaf het # publieke Internet. $cmd 400 deny log all from any to any in via $pif # Weiger en log alle niet toegestane uitgaande verbindingen naar # Internet. $cmd 450 deny log all from any to any out via $pif # Dit is de 'skipto' locatie voor de uitgaande stateful regels $cmd 800 divert natd ip from any to any out via $pif $cmd 801 allow ip from any to any # Al het andere verkeer wordt standaard geblokkeerd. Weiger en log alle # pakketten die tot hier zijn gekomen om te bekijken welke het waren. $cmd 999 deny log all from any to any ################ Einde bestand met IPFW regels ########################
Dit hoofdstuk zal een aantal onderwerpen over geavanceerde netwerken behandelen.
Na het lezen van dit hoofdstuk is bekend:
De beginselen van gateways en routes.
Hoe IEEE® 802.11- en Bluetooth®-apparaten te installeren.
Hoe FreeBSD als een bridge te laten werken.
Hoe een schijfloze machine vanaf het netwerk op te starten.
Hoe opstarten met netwerk-PXE en een NFS-root-bestandssysteem te installeren.
Hoe Network Address Translation te installeren.
Hoe IPv6 op een FreeBSD-machine te installeren.
Hoe ATM in te stellen.
Hoe de mogelijkheden van CARP, het Common Address Redundancy Protocol, aan te zetten en te benutten.
Voordat dit hoofdstuk gelezen wordt, dient de lezer:
De beginselen van de scripts in
/etc/rc
te begrijpen.
Bekend te zijn met basisnetwerktermen.
Te weten hoe een nieuwe FreeBSD-kernel in te stellen en te installeren (Hoofdstuk 9, De FreeBSD-kernel instellen).
Te weten hoe aanvullende software van derde partijen te installeren (Hoofdstuk 5, Applicaties installeren: pakketten en ports).
Indien een machine een andere machine over een netwerk wil vinden, dient er een mechanisme te zijn dat beschrijft hoe van de ene naar de andere machine te gaan. Dit wordt routen genoemd. Een “route” is een gedefinieerd adressenpaar: een “bestemming” en een “gateway”. Het paar geeft aan dat door deze gateway gecommuniceerd moet worden om bij deze bestemming aan te komen. Er zijn drie soorten bestemmingen: individuele host, subnetten en “standaard”. De “standaardroute” wordt gebruikt indien geen van de andere routes van toepassing zijn. Verderop wordt verder op standaardroutes ingegaan. Er zijn ook drie soorten gateways: individuele hosts, interfaces (ook wel “verbindingen ” genoemd), en Ethernet-hardware-adressen (MAC-adressen).
Om de verschillende aspecten van routen te illustreren,
wordt het volgende voorbeeld van netstat
gebruikt:
%
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
De eerste twee regels geven de standaardroute (die behandeld
wordt in de volgende
sectie) en de localhost
-route aan.
De interface (kolom Netif
) dat deze
routeertabel aangeeft om voor localhost
te
gebruiken is lo0
, ook bekend als het
teruglusapparaat. Dit geeft aan dat alle verkeer voor deze
bestemming intern gehouden moet worden, in plaats van het over
het LAN te sturen, aangezien het alleen aankomt op de plaats
waar het verzonden werd.
Het volgende dat opvalt zijn de adressen die beginnen met
0:e0:
. Dit zijn Ethernet-hardware
adressen, ook bekend als MAC-adressen. FreeBSD zal automatisch
elke host (test0
in het voorbeeld) op het
lokale Ethernet identificeren en een route voor die host
toevoegen, direct van deze host over de Ethernet-interface,
ed0
. Er is ook een timeout (kolom
Expire
) met deze routesoort geassocieerd,
die gebruikt wordt indien er binnen een bepaalde tijd geen
bericht komt van de host. Indien dit gebeurt, wordt de route
naar deze host automatisch verwijderd. Deze hosts worden
geïdentificeerd door middel van een mechanisme dat bekend
staat als RIP (Routing Information Protocol), dat routes naar
lokale hosts bepaald door middel van een kortste-pad
algoritme.
FreeBSD zal ook subnetroutes voor het lokale subnet toevoegen
(10.20.30.255
is het
broadcast-adres voor het subnet
10.20.30
, en
example.com
is de
domeinnaam die bij dat subnet hoort). De aanduiding
link#1
verwijst naar de eerste Ethernetkaart
in de machine. Merk op dat voor hen geen aanvullende interface
is gespecificeerd.
Voor beide groepen (lokale netwerkhosts en lokale subnetten) worden de routes automatisch ingesteld door een daemon genaamd routed. Indien dit niet draait, zullen alleen routes die statisch gedefinieerd (i.e., expliciet vermeld zijn) bestaan.
De regel met host1
verwijst naar deze
host, het kent deze door het Ethernetadres. Aangezien het de
zendende host is, weet FreeBSD dat het de teruglus-interface
(lo0
) moet gebruiken, in plaats van het
over de Ethernet-interface te verzenden.
De twee regels met host2
geven een
voorbeeld van wat er gebeurt als een alias met ifconfig(8)
gebruikt wordt (in de sectie over Ethernet staan redenen waarom
dit gedaan wordt). Het symbool =>
na de
interface lo0
zegt dat niet alleen de
teruglus gebruikt wordt (aangezien dit adres ook verwijst naar
de lokale host), maar specifiek dat dit een alias is. Zulke
routes verschijnen alleen op de hosts die de alias ondersteunen;
alle andere hosts op het lokale netwerk vermelden simpelweg een
regel met link#1
voor zulke routes.
De laatste regel (bestemming subnet
224
) heeft te maken met
multicasten, wat in een andere sectie besproken wordt.
Als laatste staan in de kolom Flags
verschillende attributen. Hieronder staat een korte tabel met
enkele van deze vlaggen en hun betekenis:
U | Up: De route is actief. |
H | Host: De bestemming van de route is een enkele host. |
G | Gateway: Stuur alles voor deze bestemming door naar dit verre systeem, dat zoekt daar uit waar het verder naar te sturen. |
S | Statisch: Deze route was handmatig ingesteld, dus niet automatisch door het systeem aangemaakt. |
C | Kloon: Maakt op basis van deze route een nieuwe route aan voor machines waarmee verbinding wordt gemaakt. Dit soort routes wordt gewoonlijk in lokale netwerken gebruikt. |
W | WasGekloond: Geeft aan dat een route automatisch was ingesteld gebaseerd op een LAN (kloon)-route. |
L | Verbinding: De route maakt gebruik van verwijzingen naar Ethernet-hardware. |
Wanneer het lokale systeem een verbinding met een verre host moet maken, controleert het de routeertabel op reeds bekende paden. Indien de verre host binnen een subnet valt waarvan bekend is hoe het bereikt kan worden (gekloonde routes), controleert het systeem of het met de daarbij behorende interface verbinding kan maken.
Indien alle bekende paden falen, heeft het systeem
één laatste mogelijkheid: de
“standaardroute”. Deze route is een speciaal soort
gateway-route (gewoonlijk de enig aanwezige in het systeem) en
is altijd gemarkeerd met een c
in het
vlaggenveld. Voor hosts op een LAN staat deze gateway ingesteld
op de machine die een directe verbinding met de buitenwereld
heeft (via een PPP-verbinding, DSL, kabelmodem, T1, of een ander
netwerkinterface).
Indien de standaardroute wordt ingesteld voor een machine die zelf als gateway naar de buitenwereld werkt, zal de standaardroute de gateway-machine van de internetprovider zijn.
Hieronder volgt een voorbeeld van standaardroutes. Dit is een veelgebruikte opstelling:
De hosts Lokaal1
en
Lokaal2
staan op deze site.
Lokaal1
is verbonden met een internetprovider
via een inbel-PPP-verbinding. Deze PPP-server is door een LAN
verbonden met een andere gateway-computer door een externe
interface naar de Internet-feed van de internetprovider.
De standaardroutes voor de machines zijn:
Host | Standaard gateway | Interface |
---|---|---|
Lokaal2 | Lokaal1 | Ethernet |
Lokaal1 | T1-GW | PPP |
Een veelvoorkomende vraag is “Waarom (of hoe) moet
worden ingesteld dat T1-GW
de standaard gateway
is voor Lokaal1
, in plaats van de server van
de internetprovider waarmee het verbonden is?”.
Onthoud dat, aangezien de PPP-interface een adres gebruikt
op het lokale netwerk van de internetprovider voor deze kant van
de verbinding, routes voor alle andere machines op het lokale
netwerk van de internetprovider automatisch aangemaakt worden.
Daarom is het al bekend hoe de machine T1-GW
bereikt kan worden, dus is de tussenstap dat het verkeer eerst
naar de server van de internetprovider gestuurd wordt niet
nodig.
Het is gebruikelijk om het adres X.X.X.1
te gebruiken als het
gateway-adres voor het lokale netwerk. Dus (gebruikmakend van
hetzelfde voorbeeld), indien de lokale klasse-C adresruimte
10.20.30
was en de
internetprovider 10.9.9
gebruikte, zouden de standaardroutes als volgt zijn:
Host | Standaardroute |
---|---|
Lokaal2 (10.20.30.2) | Lokaal1 (10.20.30.1) |
Lokaal1 (10.20.30.1, 10.9.9.30) | T1-GW (10.9.9.1) |
De standaardroute kan eenvoudig in /etc/rc.conf
gedefinieerd worden. In dit voorbeeld werd de volgende regel aan
/etc/rc.conf
van Lokaal2
toegevoegd:
defaultrouter="10.20.30.1"
Het is ook mogelijk dit met het commando route(8) direct vanaf de opdrachtregel te doen:
#
route add default 10.20.30.1
Voor meer informatie over het handmatig manipuleren van netwerkrouteertabellen kan de hulppagina route(8) geraadpleegd worden.
Er is nog één andere soort opstelling die behandeld dient te worden, en dat is een host die in twee verschillende netwerken zit. Technisch gezien telt elke machine die als gateway dienst doet (in bovenstaand voorbeeld door een PPP-verbinding te gebruiken) als een dual-homed host. Maar de term wordt echt alleen gebruikt om naar een machine te verwijzen die in twee LAN's zit.
In het ene geval heeft de machine twee Ethernetkaarten, waarbij elke kaart een adres op de gescheiden subnetten heeft. Een alternatief is dat de machine slechts één Ethernetkaart heeft en gebruikt maakt van ifconfig(8) aliasing. Het eerste wordt gebruikt indien er twee fysiek gescheiden Ethernet-netwerken in gebruik zijn, het laatste indien er één fysiek netwerksegment is, maar er twee logisch gescheiden subnetten zijn.
In beide gevallen worden er routeertabellen aangemaakt zodat elk subnet weet dat deze machine de gedefinieerde gateway (ingaande route) naar het andere subnet is. Deze opstelling, waarbij de machine dienst doet als router tussen de twee subnetten, wordt vaak gebruikt voor het implementeren van pakketfilters of firewall-beveiliging in één of beide richtingen.
Om deze machine daadwerkelijk pakketten te laten forwarden tussen de twee interfaces, moet aan FreeBSD verteld worden dat het deze mogelijkheid aan moet zetten. In de volgende sectie staan meer details over hoe dit te doen.
Een netwerkrouter is simpelweg een systeem dat pakketten van
de ene naar de andere interface doorstuurt.
Internetstandaarden en goede ontwerppraktijken verhinderen het
FreeBSD Project dit standaard in FreeBSD aan te zetten. Deze
mogelijkheid kan worden aangezet door de volgende variabele in
rc.conf(5) op YES
in te stellen:
gateway_enable="YES" # Op YES instellen indien deze host een gateway is
Deze optie stelt de sysctl(8) variabele
net.inet.ip.forwarding
in op
1
. Indien het nodig is om het routen
tijdelijk te stoppen, kan deze variabele tijdelijk op
0
worden teruggezet.
De nieuwe router heeft routes nodig om te weten waar het het verkeer naar toe moet sturen. Voor een eenvoudig netwerk kunnen statische routes gebruikt worden. FreeBSD wordt met het standaard BSD routeer-daemon routed(8) geleverd, dat RIP (zowel versie 1 en versie 2) en IRDP spreekt. Ondersteuning voor BGP v4, OSPF v2, en andere slimme routeerprotocollen is beschikbaar via het pakket net/zebra. Ook zijn commerciële producten als GateD® beschikbaar voor complexere netwerkrouteer-oplossingen.
Er wordt van het volgende netwerk uitgegaan:
In dit scenario is RouterA
een
FreeBSD-machine die dienst doet als router naar de rest van het
Internet. Het heeft een standaardroute ingesteld op 10.0.0.1
, dat het in staat stelt om
verbindingen met de buitenwereld te maken. Er wordt
aangenomen dat RouterB
reeds juist is
ingesteld en dat het weet hoe het waar naar toe moet gaan. (In
dit plaatje is dit simpel. Voeg een standaardroute op
RouterB
toe door 192.168.1.1
als gateway te
gebruiken.)
De routeertabel voor RouterA
zou er
ongeveer als volgt uitzien:
%
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.0/24 link#1 UC 0 0 xl0 192.168.1.0/24 link#2 UC 0 0 xl1
Met de huidige routeertabel is RouterA
niet in staat om Intern Net 2 te bereiken. Het heeft geen
route voor 192.168.2.0/24
. Een
manier om dit te verhelpen is om de route handmatig toe te
voegen. Het volgende commando voegt het netwerk Intern Net 2
toe aan de routeertabel van RouterA
door
192.168.1.2
als de volgende hop
te gebruiken:
#
route add -net 192.168.2.0/24 192.168.1.2
Nu kan RouterA
elke host op het netwerk
192.168.2.0/24
bereiken.
Bovenstaand voorbeeld is perfect voor het instellen van
een statische route op een draaiend systeem. Een probleem is
dat de routeerinformatie verdwijnt indien de FreeBSD-machine
opnieuw wordt opgestart. Aanvullende statische routes kunnen in
/etc/rc.conf
opgenomen worden:
# Voeg Intern Net 2 als een statische route toe static_routes="internnet2" route_internnet2="-net 192.168.2.0/24 192.168.1.2"
De instellingsvariabele static_routes
is een lijst van strings gescheiden door een spatie. Elke
string verwijst naar een routenaam. Bovenstaand voorbeeld
heeft slechts één string in
static_routes
. Dit is de string
internnet2
. Vervolgens wordt een
instellingsvariabele
route_internnet2
toegevoegd waarin alle instellingsparameters staan die aan
het commando route(8) moeten worden doorgegeven. Voor
bovenstaand voorbeeld zou het volgende commando zijn
gebruikt:
#
route add -net 192.168.2.0/24 192.168.1.2
Dus is "-net 192.168.2.0/24 192.168.1.2"
nodig.
Zoals hierboven is vermeld is het mogelijk om meerdere
strings in static_routes
te hebben. Dit
maakt het mogelijk om meerdere statische routes aan te maken.
De volgende regels geven een voorbeeld van het toevoegen van
statische routes voor de netwerken 192.168.0.0/24
en 192.168.1.0/24
op een denkbeeldige
router:
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"
Er is al gesproken over hoe routes naar de buitenwereld te definiëren, maar niet over hoe de buitenwereld ons kan vinden.
Het is al bekend dat routeertabellen aangemaakt kunnen worden zodat al het verkeer voor een bepaalde adresruimte (in ons voorbeeld een klasse-C subnet) naar een bepaalde host op dat netwerk gezonden kan worden, dat de ingaande pakketten doorgeeft.
Wanneer een adresruimte aan een site wordt toegewezen, stelt de serviceprovider al hun routeertabellen zodanig in dat al het verkeer voor het bijhorende subnet naar de PPP-verbinding van de site gezonden wordt. Maar hoe weten sites door het land heen hoe naar de internetprovider van deze site te versturen?
Er bestaat een systeem (dat veel lijkt op de gedistribueerde DNS-informatie) dat alle toegewezen adresruimtes bijhoudt, en hun verbindingspunt met de Internet Backbone definieert. De “Backbone” zijn de grote kabels die Internetverkeer door het land en over de wereld sturen. Elke backbone-machine heeft een kopie van een master-verzameling van tabellen, die verkeer voor een bepaald netwerk naar een bepaalde backbone-carrier sturen, en van daaruit naar een keten van serviceproviders totdat het netwerk van de site bereikt is.
Het is de taak van de serviceprovider om bij de backbone-sites aan te geven dat zij het verbindingspunt (en dus het ingaande pad) zijn voor de site. Dit staat bekend als routepropagatie.
Soms is er een probleem met routepropagatie en kunnen sommige sites geen verbinding maken. Misschien is het nuttigste commando om proberen uit te zoeken waar het routen misgaat traceroute(8). Het is ook nuttig als er geen verbinding mogelijk lijkt met een verre machine (dus als ping(8) faalt).
Het commando traceroute(8) wordt gedraaid met de naam van de verre host waarmee geprobeerd wordt te verbinden. Het laat de gateway-hosts zien langs het gepoogde pad, dat uiteindelijk de doelhost bereikt, of wegens een gebrek aan verbinding afgebroken wordt.
Raadpleeg voor meer informatie de hulppagina voor traceroute(8).
FreeBSD ondersteunt zowel multicast-applicaties als multicast routen van huis uit. Voor multicast-applicaties is geen speciale configuratie van FreeBSD nodig; applicaties draaien over het algemeen als geleverd. Voor multicast routen dient ondersteuning in de kernel gecompileerd te worden:
options MROUTING
Ook dient de multicast-routeer-daemon mrouted(8)
ingesteld worden zodat het tunnels en DVMRP
via /etc/mrouted.conf
aanmaakt. Kijk voor
meer details over multicast-instellingen in de hulppagina voor
mrouted(8).
De mrouted(8) multicast-routeer-daemon implementeert het multicast-routeer-protocol DVRMP welke in veel multicast-installaties grotendeels is vervangen door pim(4). mrouted(8) en de gerelateerde map-mbone(8) en mrinfo(8) gereedschappen zijn beschikbaar in de FreeBSD Ports Collectie als net/mrouted.
De meeste draadloze netwerken zijn op de IEEE® 802.11 standaarden gebaseerd. Een eenvoudig draadloos netwerk bestaat uit meerdere stations die met radio's communiceren die in de 2,4GHz of de 5GHz band uitzenden (alhoewel dit regionaal varieert en het ook verandert om communicatie in de 2,3GHz en de 4,9GHz banden mogelijk te maken).
802.11-netwerken zijn op twee manieren georganiseerd: in infrastructuurmodus treedt één station als meester op, alle andere stations associëren met dit station; dit netwerk staat bekend als een BSS en het meesterstation heet een toegangspunt (AP). In een BSS gaat alle communicatie via het AP; zelfs als een station met een ander draadloos station wil communiceren gaan de boodschappen door het AP. In de tweede netwerkvorm is er geen meester en communiceren de stations direct. Deze netwerkvorm is een IBSS en staat gewoonlijk bekend als een ad-hoc netwerk.
802.11 netwerken begonnen in de 2,4GHz band waarbij gebruik werd gemaakt van protocollen die door de IEEE® 802.11 en 802.11b standaarden worden gedefinieerd. Deze specificaties omvatten de werkfrequenties, karakteristieken van de MAC-lagen waaronder frame- en zendsnelheden (communicatie kan met verschillende snelheden plaatsvinden). Later definieerde de 802.11a-standaard het werken in de 5GHz band, inclusief andere mechanismen voor signalering en hogere zendsnelheden. Nog later werd de 802.11g-standaard gedefinieerd om gebruik te kunnen maken van de signalerings- en zendmechanismen van 802.11a in de 2,4GHz band zodanig dat het met terugwerkende kracht werkt op 802.11b-netwerken.
Afgezien van de onderliggende zendtechnieken beschikken 802.11-netwerken over een verscheidenheid aan beveiligingstechnieken. De originele 802.11-specificaties definieerden een eenvoudig beveiligingsprotocol genaamd WEP. Dit protocol maakt gebruik van een vaste, van te voren gedeelde sleutel en het cryptografische algoritme RC4 om de gegevens die over het netwerk verstuurd worden te coderen. Alle stations dienen dezelfde sleutel te gebruiken om te kunnen communiceren. Het is bewezen dat dit mechanisme eenvoudig te kraken is en wordt nu, afgezien om voorbijgaande gebruikers te ontmoedigen het netwerk te gebruiken, nog zelden gebruikt. De huidige beveiligingsmethoden worden gegeven door de IEEE® 802.11i specificatie dat nieuwe cryptografische algoritmen en een aanvullend protocol om stations aan een toegangspunt te authenticeren en om sleutels voor gegevenscommunicatie uit te wisselen definieert. Verder worden cryptografische sleutels periodiek ververst en zijn er mechanismen om indringpogingen te detecteren (en om indringpogingen tegen te gaan). Een andere specificatie van een veelgebruikt beveiligingsprotocol in draadloze netwerken is WPA. Dit was een voorloper op 802.11i en gedefinieerd door een industriegroep als een tussenmaatregel terwijl er gewacht werd op de ratificatie van 802.11i. WPA specificeert een deel van de eisen van 802.11i en is ontworpen voor implementatie op verouderde hardware. In het bijzonder vereist WPA alleen de TKIP-sleutel die van de originele WEP-sleutel is afgeleid. 802.11i staat het gebruik van TKIP toe maar vereist ook ondersteuning voor een sterkere sleutel, AES-CCM, om gegevens te versleutelen. (De AES-sleutel was niet nodig in WPA omdat het rekenkundig te kostbaar werd geacht voor implementatie op verouderde hardware.)
Afgezien van de bovenstaande protocolstandaarden is de andere belangrijke standaard waarvan bewustzijn belangrijk is 802.11e. Deze standaard definieert het opstellen van multimediatoepassingen zoals gestroomde video en voice over IP (VoIP) binnen een 802.11-netwerk. Net als 802.11i heeft ook 802.11e een voorgaande specificatie genaamd WME (later hernoemd tot WMM) die door een industriegroep is gedefinieerd als een deelverzameling van 802.11e die nu kan worden gebruikt om multimediatoepassingen mogelijk te maken terwijl er gewacht wordt op de uiteindelijke ratificatie van 802.11e. Het belangrijkste om over 802.11e en WME/WMM te weten is dat ze gepriotiseerd verkeersgebruik van een draadloos netwerk mogelijk maken door middel van Quality of Service (QoS) protocollen en protocollen voor verbeterde mediatoegang. Een juiste implementatie van deze protocollen maken snelle gegevensbursts en gepriotiseerde verkeersstromen mogelijk.
FreeBSD ondersteunt netwerken die met 802.11a, 802.11b, en 802.11g werken. Ook worden de veiligheidsprotocollen WPA en 802.11i ondersteund (samen met 11a, 11b, of 11g) en QoS en de verkeerspriorisatieprotocollen die nodig zijn voor de protocollen WME/WMM worden voor een beperkte verzameling draadloze apparatuur ondersteund.
Om van een draadloos netwerk gebruik te maken is het nodig om een draadloze netwerkkaart te hebben en om de kernel met de juiste ondersteuning voor draadloze netwerken in te stellen. Het laatste is verdeeld in meerdere modulen zodat alleen de software ingesteld hoeft te worden die daadwerkelijk gebruikt zal worden.
Ten eerste is een draadloos netwerkapparaat nodig. De
meestgebruikte apparaten zijn degenen die onderdelen van
Atheros gebruiken. Deze apparaten worden ondersteund door het
stuurprogramma ath(4) en voor hen dient de volgende regel
aan /boot/loader.conf
toegevoegd te worden:
if_ath_load="YES"
Het stuurprogramma voor Atheros is opgedeeld in drie verschillende delen: het eigenlijke stuurprogramma (ath(4)), de ondersteuningslaag voor de hardware die chip-specifieke functies afhandelt (ath_hal(4)), en een algoritme om de snelheid om frames te verzenden te kiezen uit een reeks mogelijke waarden (hier ath_rate_sample). Indien deze ondersteuning als kernelmodules wordt geladen, zullen de afhankelijkheden automatisch afgehandeld worden. Voor andere apparaten dan die van Atheros dient de module voor dat stuurprogramma geladen te worden; bijvoorbeeld:
if_wi_load="YES"
voor apparaten die op onderdelen van Intersil Prism zijn gebaseerd (stuurprogramma wi(4)).
In de rest van dit document zal een ath(4) apparaat gebruikt worden, de naam van het apparaat in de voorbeelden dient aangepast te worden aan de lokale installatie. Een lijst van beschikbare draadloze stuurprogramma's en ondersteunde adapters staat in de FreeBSD Hardware Notes. Kopieën hiervan voor verschillende uitgaven en architecturen zijn beschikbaar op de Uitgave Informatie pagina van de FreeBSD website. Indien er geen origineel stuurprogramma voor het draadloze apparaat bestaat, is het mogelijk om te proberen om direct het stuurprogramma van Windows® proberen te gebruiken met behulp van de stuurprogramma-wrapper NDIS.
Daarvoor zijn ook de modules nodig die cryptografische
ondersteuning implementeren voor de te gebruiken
veiligheidsprotocollen. Het is de bedoeling dat ze dynamisch
door de module wlan(4) worden geladen maar momenteel
dienen ze handmatig ingesteld te worden. De volgende modules
zijn beschikbaar: wlan_wep(4), wlan_ccmp(4), en
wlan_tkip(4). Zowel de stuurprogramma's
wlan_ccmp(4) en wlan_tkip(4) zijn alleen nodig
indien het veiligheidsprotocol WPA en/of 802.11i gebruikt
wordt. Indien het netwerk encryptieloos dient te zijn, is de
ondersteuning van wlan_wep(4) niet nodig. Om deze modules
tijdens het opstarten te laden, dienen de volgende regels aan
/boot/loader.conf
toegevoegd te worden:
wlan_wep_load="YES" wlan_ccmp_load="YES" wlan_tkip_load="YES"
Nadat deze informatie aan het instellingenbestand om het
systeem op te starten (i.e.,
/boot/loader.conf
) is toegevoegd, is het
noodzakelijk om de FreeBSD-computer opnieuw op te starten.
Indien het ongewenst is om de computer nu opnieuw op te
starten, kunnen de modules ook handmatig worden geladen door
kldload(8) te gebruiken.
Indien het gebruik van modules ongewenst is, kunnen deze stuurprogramma's in de kernel worden gecompileerd door de volgende regels aan het kernelinstellingenbestand toe te voegen:
device wlan # 802.11 ondersteuning device wlan_wep # 802.11 WEP-ondersteuning device wlan_ccmp # 802.11 CCMP-ondersteuning device wlan_tkip # 802.11 TKIP-ondersteuning device wlan_amrr # AMRR controle-algoritme voor zendsnelheid device ath # Atheros PCI/Cardbus netwerkkaarten device ath_hal # Ondersteuning voor PCI/cardbus chips options AH_SUPPORT_AR5146 # zet AR5146 tx/rx descriptors aan device ath_rate_sample # SampleRate verzendsnelheid-controle voor ath
Met deze informatie in het kernelinstellingenbestand kan de kernel opnieuw gecompileerd en de FreeBSD-computer opnieuw opgestart worden.
Wanneer het systeem draait, is het mogelijk om enige informatie over de draadloze apparaten in de opstartboodschappen te vinden, zoals:
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
De infrastructuur- of BSS-modus is de modus die normaliter gebruikt wordt. In deze modus zijn een aantal draadloze toegangspunten verbonden met een bedraad netwerk. Elk draadloos netwerk heeft een eigen naam, deze naam wordt de SSID van het netwerk genoemd. Draadloze cliënten verbinden zich met de draadloze toegangspunten.
Voor het scannen van netwerken wordt het commando
ifconfig
gebruikt. Het kan even duren
voordat dit verzoek is afgehandeld aangezien het systeem op
elke beschikbare draadloze frequentie naar toegangspunten
moet zoeken. Alleen de super-gebruiker kan zo'n scan
opzetten:
#
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
De interface dient als up te worden gemarkeerd voordat het scannen begint. Voor verdere scans is het niet nodig om de interface als up te markeren.
De uitvoer van een scanverzoek vermeld elk gevonden
BSS/IBSS-netwerk. Naast de naam van het netwerk,
SSID
, staat het BSSID
,
wat het MAC-adres van het toegangspunt is. Het veld
CAPS
identificeert het type van elk
netwerk en de mogelijkheden van de stations die daar
werkzaam zijn:
Capability Code | Betekenis |
---|---|
E | Uitgebreide dienstenverzameling (ESS). Geeft aan dat het station deel uitmaakt van een infrastructuurnetwerk (in tegenstelling tot een IBSS-/ ad-hoc-netwerk). |
I | IBSS-/ad-hoc-netwerk. Geeft aan dat het station deel uitmaakt van een ad-hoc-netwerk (in tegenstelling tot een ESS-netwerk). |
P | Privacy. Vertrouwelijkheid is vereist voor alle gegevensframes die binnen het BSS worden uitgewisseld. Dit betekent dat dit BSS eist dat het station cryptografische middelen als WEP, TKIP of AES-CCMP dient te gebruiken om de gegevensframes die met anderen worden uitgewisseld te versleutelen en te ontsleutelen. |
S | Korte preambule. Geeft aan dat het netwerk korte preambules gebruikt (gedefinieerd in 802.11b Hoge Snelheid/DSSS PHY, korte preambule gebruikt een 56-bits synchronisatieveld in tegenstelling tot een 128-bits dat bij lange preambules wordt gebruikt). |
s | Korte slottijd. Geeft aan dat het 802.11g-netwerk een korte slottijd gebruikt omdat er geen verouderde (802.11b) stations aanwezig zijn. |
Het is ook mogelijk om de huidige lijst van bekende netwerken weer te geven met:
#
ifconfig scan0 list scan
Deze informatie kan automatisch bijgewerkt worden door
de adapter of handmatig met een scan
verzoek. Oude gegevens worden automatisch uit de cache
verwijderd, dus kan deze lijst na verloop van tijd korter
worden tenzij er meer scanverzoeken gedaan worden.
Deze sectie geeft een eenvoudig voorbeeld hoe de draadloze netwerkadapter in FreeBSD zonder encryptie aan de praat te krijgen. Nadat deze concepten bekend zijn, wordt het sterk aangeraden om WPA te gebruiken om de draadloze netwerken op te zetten.
Er zijn drie basisstappen om een draadloos netwerk in te stellen: een toegangspunt kiezen, het station authenticeren, en een IP-adres instellen. De volgende secties behandelen elk een stap.
In de meeste gevallen is het voldoende om het systeem
een toegangspunt gebaseerd op de ingebouwde heuristieken
te laten kiezen. Dit is het standaardgedrag wanneer een
interface als up wordt gemarkeerd of als een interface
wordt ingesteld door het te noemen in
/etc/rc.conf
, bijvoorbeeld:
wlans_ath0="wlan0" ifconfig_wlan0="DHCP"
Indien er meerdere toegangspunten zijn en het gewenst is om een specifieke te kiezen, kan dit met het SSID:
wlans_ath0="wlan0"
ifconfig_wlan0="ssid uw_ssid_hier
DHCP"
In een omgeving waar meerdere toegangspunten hetzelfde SSID hebben (vaak gedaan om roamen eenvoudiger te maken) kan het nodig zijn om met één specifiek apparaat te associëren. In dit geval kan ook het BSSID van het toegangspunt gespecificeerd worden (het SSID kan ook weggelaten worden):
wlans_ath0="wlan0" ifconfig_wlan0="ssiduw_ssid_hier
bssidxx:xx:xx:xx:xx:xx
DHCP
Er zijn andere manieren om de keuze van een
toegangspunt te beperken zoals het beperken van het aantal
frequenties waarop het systeem scant. Dit kan handig zijn
bij multi-band-netwerkkaarten aangezien het scannen van
alle mogelijke kanalen tijdrovend kan zijn. Om de werking
tot een specifieke band te beperken kan de parameter
mode
gebruikt worden; bijvoorbeeld:
wlans_ath0="wlan0" ifconfig_wlan0="mode11g
ssiduw_ssid_hier
DHCP"
zal de kaart forceren om te werken in 802.11g welke
alleen voor 2,4GHz frequenties is gedefinieerd dus de 5GHz
kanalen blijven buiten beschouwing. Andere manieren om
dit te doen zijn de parameter channel
,
om bewerkingen op één specifieke frequentie
vast te zetten, en de parameter chanlist
,
om een lijst van te scannen kanalen te specificeren. Meer
informatie over deze parameters kan in de hulppagina
ifconfig(8) gevonden worden.
Nadat er een toegangspunt is gekozen moet het station zich authenticeren voordat het gegevens kan versturen. Authenticatie kan op verschillende manieren gebeuren. Het meest gebruikte schema wordt open authenticatie genoemd en staat doe dat elk station aan het netwerk deelneemt en communiceert. Deze manier van authenticatie dient gebruikt te worden voor testdoeleinden tijdens het voor de eerste keer opzetten van een draadloos netwerk. Andere schema's vereisen dat cryptografische overeenkomsten voltooid worden voordat gegevensverkeer kan stromen; ofwel door vooraf gedeelde sleutels of geheimen te gebruiken, of door complexere schema's te gebruiken welke achterliggende diensten zoals RADIUS betrekken. De meeste gebruikers zullen open authenticatie gebruiken welke de standaardinstelling is. De dan meest voorkomende opstelling is WPA-PSK, ook bekend als WPA Personal, welke hieronder beschreven is.
Indien er een Apple® AirPort® Extreme basisstation
als toegangspunt wordt gebruikt kan het nodig zijn om
gedeelde-sleutel-authenticatie samen met een WEP-sleutel
in te stellen. Dit kan gedaan worden in het bestand
/etc/rc.conf
of door het programma
wpa_supplicant(8) te gebruiken. Indien er een
enkel AirPort® basisstation wordt gebruikt kan de
toegang met zoiets als het volgende worden
ingesteld:
wlans_ath0="wlan0" ifconfig_wlan0="authmode shared wepmode on weptxkey1
wepkey01234567
DHCP"
Over het algemeen dient authenticatie via gedeelde
sleutels worden voorkomen omdat het materiaal van de
WEP-sleutel op een zeer afgedwongen manier gebruikt wordt wat
het zelfs gemakkelijker maakt om de sleutel te kraken.
Indien WEP gebruikt moet worden (bijvoorbeeld voor
compatibiliteit met verouderde apparaten) is het beter
om WEP met open
authenticatie te
gebruiken. Meer informatie met betrekking tot WEP kan
gevonden worden in Paragraaf 31.3.3.1.4, “WEP”.
Nadat het toegangspunt is gekozen en de parameters
voor de authenticatie zijn ingesteld, dient er een
IP-adres ter communicatie verkregen worden. In de meeste
gevallen wordt het draadloze IP-adres verkregen via DHCP.
Om dat te bereiken, dient
/etc/rc.conf
bewerkt te worden en
DHCP
aan de instellingen voor het
apparaat toegevoegd te worden zoals in de verschillende
bovenstaande voorbeelden is laten zien:
wlans_ath0="wlan0" ifconfig_wlan0="DHCP"
Op dit moment kan de draadloze interface geactiveerd worden:
#
service netif start
Wanneer de interface draait, kan
ifconfig
gebruikt worden om de status
van de interface ath0
te
zien:
#
ifconfig wlan0
wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 ether 00:11:95:d5:43:62 inet 192.168.1.00 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
Het status: associated
betekent
dat er verbinding is met een draadloos netwerk (in dit
geval met het netwerk dlinkap
). Het
gedeelte bssid 00:13:46:49:41:76
is het
MAC-adres van het toegangspunt; de gedeelte met
authmode
vertelt dat de communicatie
niet versleuteld is.
In het geval dat het niet mogelijk is om een IP-adres
van een DHCP-server te krijgen, kan er een vast IP-adres
worden ingesteld. Vervang het sleutelwoord
DHCP
van hierboven met de
adresinformatie. Zorg ervoor dat de andere parameters
voor het selecteren van een toegangspunt behouden
blijven:
wlans_ath0="wlan0" ifconfig_wlan0="inet192.168.1.100
netmask255.255.255.0
ssiduw_ssid_hier
"
WPA (Wi-Fi Protected Access) is een beveiligingsprotocol dat samen met 802.11-netwerken wordt gebruikt om het gebrek aan degelijke authenticatie en de zwakte van WEP te benadrukken. WPA verbetert het 802.1X-authenticatieprotocol en gebruikt een sleutel gekozen uit meerdere in plaats van WEP voor gegevensintegriteit. De enige sleutel welke WPA vereist is TKIP (Temporary Key Integrity Protocol). TKIP is een sleutel dat de basis-RC4-sleutel welke door WEP wordt gebruikt uitbreidt door integriteitscontroles, knoeidetectie, en maatregelen om op elke gedetecteerde inbraak te reageren toe te voegen. TKIP is ontworpen om op verouderde hardware met enkel wijzigingen in software te draaien; het representeert een compromis dat de veiligheid verbetert maar nog steeds niet geheel immuun is tegen aanvallen. WPA specificeert ook de sleutel AES-CCMP als een alternatief voor TKIP welke te verkiezen is indien mogelijk; voor deze specificatie wordt gewoonlijk de term WPA2 (of RSN) gebruikt.
WPA definieert protocollen voor authenticatie en versleuteling. Authenticatie gebeurt het meeste door één van deze twee technieken te gebruiken: door 802.1X en een achterliggende authenticatiedienst zoals RADIUS, of door een minimale overeenkomst tussen het station en het toegangspunt door een van te voren gedeeld geheim te gebruiken. Het eerste wordt vaak WPA Enterprise genoemd en het laatste staat bekend als WPA Personal. Aangezien de meeste mensen geen achterliggende RADIUS-server voor hun draadloos netwerk zullen opzetten, is WPA-PSK veruit de meest gebruikte configuratie voor WPA.
Het beheer van de draadloze verbinding en de
authenticatie (sleutelonderhandeling of authenticatie met
een server) gebeurt met het gereedschap
wpa_supplicant(8). Dit programma vereist dat er een
instellingenbestand,
/etc/wpa_supplicant.conf
, draait.
Meer informatie over dit bestand kan in de hulppagina
wpa_supplicant.conf(5) worden gevonden.
WPA-PSK, ook bekend als WPA-Personal, is gebaseerd op een vooraf gedeelde sleutel (PSK) gegenereerd vanuit een gegeven wachtwoord die gebruikt zal worden als de hoofdsleutel in het draadloze netwerk. Dit betekent dat alle draadloze gebruikers dezelfde sleutel zullen delen. WPA-PSK is bedoeld voor kleine netwerken waar het gebruik van een authenticatieserver niet mogelijk of gewenst is.
Gebruik altijd sterke wachtwoorden welke voldoende lang zijn en opgebouwd zijn uit een grote tekenverzameling zodat ze niet gemakkelijk worden geraden of aangevallen.
De eerste stap is het instellen van het bestand
/etc/wpa_supplicant.conf
met het SSID
en de vooraf gedeelde sleutel van het netwerk:
network={ ssid="freebsdap" psk="freebsdmall" }
Daarna zal in /etc/rc.conf
worden
aangegeven dat de draadloze configuratie met WPA zal
gebeuren en dat het IP-adres met DHCP zal worden
verkregen:
wlans_ath0="wlan0" ifconfig_wlan0="WPA DHCP"
Hierna kan de interface geactiveerd worden:
#
service 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
Ook kan gepoogd worden dit handmatig in te stellen
door hetzelfde
/etc/wpa_supplicant.conf
als hierboven
te gebruiken, en dit te draaien:
#
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 idstr=]
De volgende stap is het lanceren van het commando
dhclient
om een IP-adres van de
DHCP-server te krijgen:
#
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 defxkey 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
/etc/rc.conf
heeft een regel
ifconfig_wlan0
met de tekst
DHCP
(zoals
ifconfig_wlan0="DHCP"
),
dhclient
zal automatisch gestart worden nadat
wpa_supplicant
geassocieerd is met het
toegangspunt.
Als DHCP niet mogelijk of gewenst is, kan een statisch
IP-adres worden ingesteld nadat wpa_supplicant
het station heeft geauthenticeerd:
#
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
Indien DHCP niet wordt gebruikt, dienen ook de standaard gateway en de naamserver handmatig ingesteld te worden:
#
route add default uw_standaard_router
#
echo "nameserver uw_DNS_server" >> /etc/resolv.conf
De tweede manier om WPA te gebruiken is met een achterliggende 802.1X-authenticatieserver. In dit geval wordt het WPA-Enterprise genoemd om het verschil met het minder veilige WPA-Personal met de vooraf gedeelde sleutel aan te duiden. Authenticatie is in WPA-Enterprise gebaseerd op EAP (Extensible Authentication Protocol).
EAP wordt niet met een encryptiemethode geleverd. In plaats daarvan was het besloten om EAP in een versleutelde tunnel te omsluiten. Er bestaan vele EAP-authenticatiemethodes, de meest voorkomende zijn EAP-TLS, EAP-TTLS, en EAP-PEAP.
EAP-TLS (EAP met Transport Layer Security) is een zeer goed ondersteund authenticatieprotocol in de draadloze wereld aangezien het de eerste EAP-methode was die gecertificeerd werd door de Wi-Fi alliantie. EAP-TLS vereist dat er drie certificaten draaien: het CA-certificaat (geïnstalleerd op alle machines), het servercertificaat voor de authenticatieserver, en een cliëntcertificaat voor elke draadloze cliënt. Bij deze EAP-methode authenticeren zowel de authenticatieserver als de draadloze cliënt elkaar door hun respectievelijke certificaten te laten zien, en ze controleren dat deze certificaten zijn getekend door de certificatenauthoriteit (CA) van de organisatie.
Zoals voorheen gebeurt het instellen via
/etc/wpa_supplicant.conf
:
network={ ssid="freebsdap"proto=RSN
key_mgmt=WPA-EAP
eap=TLS
identity="loader"
ca_cert="/etc/certs/cacert.pem"
client_cert="/etc/certs/clientcert.pem"
private_key="/etc/certs/clientkey.pem"
private_key_passwd="freebsdmallclient"
}
Hier wordt het RSN (IEEE® 802.11i) protocol gebruikt, ofwel WPA2. | |
De regel | |
In dit veld wordt de EAP-methode voor de verbinding genoemd. | |
Het veld | |
Het veld | |
De regel | |
Het veld | |
Het veld |
Voeg vervolgens de volgende regels toe aan
/etc/rc.conf
:
wlans_ath0="wlan0" ifconfig_wlan0="WPA DHCP"
De volgende stap is het activeren van de interface:
#
service netif start
Starting wpa_supplicant. DHCPREQUEST on wlan0 to 255.255.255.255 port 67 DHCPREQUEST on wlan0 to 255.255.255.255 port 67 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 WPA/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
Zoals eerder is laten zien, is het ook mogelijk om de
interface handmatig te activeren met zowel de commando's
wpa_supplicant
en
ifconfig
.
Bij EAP-TLS hebben zowel de authenticatieserver als de cliënt een certificaat nodig, met EAP-TTLS (EAP-Tunneled Transport Layer Security) is een cliëntcertificaat optioneel. Deze methode komt in de buurt van wat sommige beveiligde websites doen, waar de webserver een veilige SSL-tunnel kan aanmaken zelfs als de bezoekers geen certificaten aan de cliëntkant hebben. EAP-TTLS zal de versleutelde TLS-tunnel gebruiken voor het veilig transporteren van de authenticatiegegevens.
De instellingen worden gedaan via het bestand
/etc/wpa_supplicant.conf
:
network={ ssid="freebsdap" proto=RSN key_mgmt=WPA-EAP eap=TTLSidentity="test"
password="test"
ca_cert="/etc/certs/cacert.pem"
phase2="auth=MD5"
}
Dit veld noemt de EAP-methode voor de verbinding. | |
Het veld | |
Het veld | |
Het veld | |
Dit veld noemt de gebruikte authenticatiemethode in de versleutelde TLS-tunnel. In dit geval is EAP met MD5-Challenge gebruikt. De “binnenste authenticatie”-fase wordt vaak “phase2” genoemd. |
Ook dienen de volgende regels toegevoegd te worden aan
/etc/rc.conf
:
wlans_ath0="wlan0" ifconfig_ath0="WPA DHCP"
De volgende stap is het activeren van de interface:
#
service 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 autoselect DS/11Mbps mode 11g status: associated ssid freebsdap channel 1 (2412 Mhz) 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
PEAPv0/EAP-MSCHAPv2 is de meest gebruikelijke PEAP-methode. In de rest van dit document wordt de term PEAP gebruikt om naar die methode te verwijzen.
PEAP (Beveiligd EAP) is ontworpen als een alternatief voor EAP-TTLS, en is de meest gebruikte EAP-standaard na EAP-TLS. Met andere woorden, als u een netwerk met verschillende besturingssystemen heeft, zou PEAP de meest ondersteunde standaard moeten zijn na EAP-TLS.
PEAP is soortgelijk aan EAP-TTLS: het gebruikt een server-side certificaat om de cliënten te authenticeren door een beveiligde TLS-tunnel tussen de cliënt en de authenticatieserver aan te maken, welke de uitwisseling van de authenticatie-informatie beschermt. Vanuit een beveiligingsoogpunt gezien is het verschil tussen EAP-TTLS en PEAP dat PEAP-authenticatie de gebruikersnaam onversleuteld uitzendt, alleen het wachtwoord wordt in de beveiligde TLS-tunnel verzonden. EAP-TTLS gebruikt de TLS-tunnel voor zowel de gebruikersnaam als het wachtwoord.
Het bestand
/etc/wpa_supplicant.conf
dient
gewijzigd te worden om de EAP-PEAP-gerelateerde
instellingen toe te voegen:
network={ ssid="freebsdap" proto=RSN key_mgmt=WPA-EAP eap=PEAPidentity="test"
password="test"
ca_cert="/etc/certs/cacert.pem"
phase1="peaplabel=0"
phase2="auth=MSCHAPV2"
}
Dit veld noemt de EAP-methode voor de verbinding. | |
Het veld | |
Het veld | |
Het veld | |
Dit veld bevat de parameters voor de eerste fase
van authenticatie (de TLS-tunnel). Afhankelijk van
de gebruikte authenticatieserver moet er een specifiek
label voor authenticatie worden opgegeven. In de
meeste gevallen zal het label “client EAP
encryption” zijn welke ingesteld is door
| |
Dit veld noemt het authenticatieprotocol dat in de
versleutelde TLS-tunnel gebruikt wordt. In het geval
van PEAP is dit |
Het volgende dient te worden toegevoegd aan
/etc/rc.conf
:
wlans_ath0="wlan0" ifconfig_wlan0="WPA DHCP"
Hierna kan de interface worden geactiveerd:
#
service 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 autoselect DS/11Mbps mode 11g status: associated ssid freebsdap channel 1 (2412 Mhz) 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
WEP (Wired Equivalent Privacy) maakt deel uit van de oorspronkelijke 802.11 standaard. Er is geen authenticatiemechanisme, slechts een zwakke vorm van toegangscontrole, en het is gemakkelijk te kraken.
WEP kan worden opgezet met
ifconfig
:
#
ifconfig wlan0 create wlandev ath0
#
ifconfig wlan0 inet 192.168.1.100 netmask 255.255.255.0 \ ssid mijn_net wepmode on weptxkey 3 wepkey 3:0x3456789012
De weptxkey
geeft aan welke
WEP-sleutel zal worden gebruikt tijdens het verzenden.
Hier wordt de derde sleutel gebruikt. Dit dient
overeen te komen met de instelling in het toegangspunt.
Probeer, indien onbekend is welke sleutel door het toegangspunt
wordt gebruikt, 1
(i.e., de eerste sleutel)
voor deze waarde te gebruiken.
De wepkey
selecteert één
van de WEP-sleutels in. Het dient in het formaat
index:sleutel
te zijn. Sleutel
1
wordt als standaard gebruikt; de index
hoeft alleen ingesteld te worden als we een andere dan de
eerste sleutel gebruiken.
De 0x3456789012
dient vervangen
te worden door de sleutel die ingesteld is voor
gebruik met het toegangspunt.
Het wordt aangeraden om de hulppagina ifconfig(8) te lezen voor verdere informatie.
De faciliteit wpa_supplicant
kan ook
gebruikt worden om de draadloze interface in te stellen voor
WEP. Het bovenstaande voorbeeld kan worden ingesteld door
de volgende regels toe te voegen aan
/etc/wpa_supplicant.conf
:
network={ ssid="mijn_net" key_mgmt=NONE wep_key3=3456789012 wep_tx_keyidx=3 }
Daarna:
#
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
IBSS-modus, ook ad-hoc-modus genoemd, is ontworpen voor
point-to-point-verbindingen. Om bijvoorbeeld een ad-hoc-netwerk
tussen de machine A
en de machine
B
op te zetten, is het slechts nodig om twee
IP-adressen en een SSID te kiezen.
Op machine A
:
#
ifconfig wlan0 create wlandev ath0 wlanmode adhoc
#
ifconfig wlan0 inet 192.168.0.1 netmask 255.255.255.0 ssid freebsdap
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
De parameter adhoc
geeft aan dat de
interface in de IBSS-modus draait.
Op B
zal het mogelijk moeten zijn om
A
te detecteren:
#
ifconfig wlan0 create wlandev ath0 wlanmode adhoc
#
ifconfig wlan0 up scan
SSID/MESH ID BSSID CHAN RATE S:N INT CAPS reebsdap 02:11:95:c3:0d:ac 2 54M -64:-96 100 IS WME
De I
in de uitvoer bevestigt dat machine
A
in ad-hoc-modus verkeert. Het is slechts
nodig om B
met een ander IP-adres in te
stellen:
#
ifconfig wlan0 inet 192.168.0.2 netmask 255.255.255.0 ssid freebsdap
#
ifconfig wlan0 ssid freebsdap mediaopt adhoc inet 192.168.0.2 netmask 255.255.255.0
#
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
Zowel A
als B
zijn nu
klaar om informatie uit te wisselen.
FreeBSD kan als toegangspunt (AP) functioneren wat de noodzaak om een hardwarematig AP te kopen of een ad-hoc-netwerk te draaien wegneemt. Dit kan bijzonder nuttig zijn indien de FreeBSD-machine als gateway naar een ander netwerk (bijvoorbeeld het Internet) functioneert.
Voordat de FreeBSD-machine als een AP wordt ingesteld, dient de kernel te worden ingesteld met de juiste ondersteuning voor draadloos netwerken voor de draadloze kaart. Ook dient er ondersteuning voor de te gebruiken beveiligingsprotocollen te worden toegevoegd. Meer details staan in Paragraaf 31.3.2, “Basisinstallatie”.
Momenteel staan de NDIS-stuurprogrammawrapper en de stuurprogramma's van Windows® het werken als AP niet toe. Alleen originele draadloze FreeBSD-stuurprogramma's ondersteunen AP-modus.
Wanneer de ondersteuning voor draadloos netwerken is geladen, kan gecontroleerd worden of het draadloze apparaat de hostgebaseerde toegangspuntmodus ondersteunt (ook bekend als hostap-modus):
#
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>
Deze uitvoer geeft de mogelijkheden van de kaart weer, het
woord HOSTAP
bevestigt dat deze draadloze
kaart als toegangspunt kan functioneren. Ook worden
verschillende ondersteunde versleutelmethoden genoemd: WEP,
TKIP, AES, enzovoorts. Deze informatie is belangrijk om te weten
welke beveiligingsprotocollen gebruikt kunnen worden op het
toegangspunt.
Het draadloze apparaat kan enkel in hostap-modus worden gezet tijdens het creeëren van het netwerk pseudo-device dus een vooraf aangemaakt apparaat moet eerst verwijderd worden:
#
ifconfig wlan0 destroy
waarna deze opnieuw aangemaakt kan worden met de juiste parameters:
#
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
Gebruik nogmaals ifconfig
om de status van
de interface wlan0
te zien:
#
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 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
De parameter hostap
geeft aan dat de
interface in hostgebaseerde toegangspuntmodus draait.
Het instellen van de interface kan automatisch tijdens het
opstarten gedaan worden door de volgende regels aan
/etc/rc.conf
toe te voegen:
wlans_ath0="wlan0" create_args_wlan0="wlanmode hostap" ifconfig_wlan0="inet192.168.0.1
netmask255.255.255.0
ssidfreebsdap
mode 11g channel1
"
Hoewel het niet aangeraden wordt om een AP zonder enige vorm van authenticatie of encryptie te draaien, is dit een eenvoudige manier om te controleren of het AP werkt. Deze configuratie is ook belangrijk voor het debuggen van problemen met cliënten.
Nadat het AP is ingesteld als eerder is laten zien, is het mogelijk om van een andere draadloze machine een scan te beginnen om het AP te vinden:
#
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
De cliëntmachine heeft het AP gevonden en kan ermee geassocieerd worden:
#
ifconfig ath0 ssid freebsdap inet 192.168.0.2 netmask 255.255.255.0
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
Deze sectie zal zich richten op opzetten van een FreeBSD toegangspunt dat het beveiligingsprotocol WPA gebruikt. Meer details over WPA en het instellen van op WPA gebaseerde draadloze cliënten kan gevonden worden in Paragraaf 31.3.3.1.3, “WPA”.
De daemon hostapd wordt gebruikt om cliëntauthenticatie en sleutelbeheer op het toegangspunt met WPA af te handelen.
In het volgende zullen alle instellingsbewerkingen worden
uitgevoerd op de FreeBSD-machine die als AP dienst doet. Wanneer
het AP correct werkt, zou hostapd
automatisch tijdens het opstarten aangezet moeten worden met
de volgende regel in /etc/rc.conf
:
hostapd_enable="YES"
Zorg ervoor dat voordat geprobeerd wordt om hostapd in te stellen, de basisinstellingen die in Paragraaf 31.3.5.1, “Basisinstellingen” zijn geïntroduceerd zijn uitgevoerd.
WPA-PSK is bedoeld voor kleine netwerken waar het gebruik van een achterliggende authenticatieserver niet mogelijk of gewenst is.
Het instellen wordt gedaan in het bestand
/etc/hostapd.conf
:
interface=wlan0debug=1
ctrl_interface=/var/run/hostapd
ctrl_interface_group=wheel
ssid=freebsdap
wpa=1
wpa_passphrase=freebsdmall
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP TKIP
![]()
Dit veld geeft aan welke draadloze interface voor het toegangspunt wordt gebruikt.
Dit veld stelt het verbositeitsniveau in dat tijdens het draaien van hostapd wordt gebruikt. Een waarde van
1
vertegenwoordigt het minimale niveau.Het veld
ctrl_interface
geeft de padnaam van de door hostapd gebruikte map om de domeinsocketbestanden voor communicatie met externe programma's zoals hostapd_cli(8) in op te slaan. Hier wordt de standaardwaarde gebruikt.De regel
ctrl_interface_group
stelt de groep in (hier is het de groepwheel
) die toegang heeft tot de controle interfacebestanden.Het veld
wpa
maakt WPA mogelijk en specificeert welk WPA-authenticatieprotocol nodig zal zijn. De waarde1
stelt het AP in op WPA-PSK.Het veld
wpa_passphrase
bevat het ASCII-wachtwoord voor de WPA-authenticatie.Waarschuwing:
Gebruik altijd sterke wachtwoorden welke voldoende lang zijn en opgebouwd zijn uit een grote tekenverzameling zodat ze niet gemakkelijk worden geraden of aangevallen.
De regel
wpa_key_mgmt
verwijst naar het gebruikte sleutelbeheerprotocol. In dit geval is dat WPA-PSK.Het veld
wpa_pairwise
geeft aan welke versleutelingsalgoritmes door het toegangspunt worden geaccepteerd. Hier worden zowel de versleuteling TKIP (WPA) en CCMP (WPA2) geaccepteerd. De versleuteling CCMP is een alternatief voor TKIP en wordt sterk aangeraden indien mogelijk; TKIP dient alleen gebruikt te worden voor stations die geen CCMP aankunnen.
De volgende stap is het starten van hostapd:
#
service 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.255dddd 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
Het toegangspunt draait nu, de cliënten kunnen er
nu mee worden geassocieerd, zie Paragraaf 31.3.3.1.3, “WPA” voor meer details. Het is
mogelijk om de stations die met het AP geassocieerd zijn te
zien door het commando ifconfig
wlan0 list
te
gebruiken.
Het wordt niet aangeraden om WEP te gebruiken om een toegangspunt op te zetten aangezien er geen authenticatiemechanisme is en het gemakkelijk is te kraken. Sommige verouderde draadloze kaarten ondersteunen alleen WEP als een beveiligingsprotocol, met deze kaarten is het alleen mogelijk om een AP zonder authenticatie of encryptie of een AP dat het WEP-protocol gebruikt op te zetten.
Het draadloze apparaat kan nu in hostap-modus worden gezet en ingesteld worden met het juiste SSID en IP-adres:
#
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
Het weptxkey
geeft aan welke
WEP-sleutel tijdens het zenden zal worden gebruikt. Hier
wordt de derde sleutel gebruikt (merk op dat de nummering
van de sleutels bij 1
begint). Deze
parameter moet gespecificeerd worden om de gegevens
daadwerkelijk te versleutelen.
Het wepkey
geeft aan dat de
geselecteerde WEP-sleutel wordt ingesteld. Het dient in
het formaat index:key
te zijn,
indien de index niet is gegeven, wordt sleutel
1
gebruikt. Dus indien een andere
sleutel dan de eerste wordt gebruikt dient de index te
worden ingesteld.
Weer wordt ifconfig
gebruikt om de
status van de interface wlan0
te
zien:
#
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
Vanaf een andere draadloze machine is het mogelijk om een scan te beginnen om het AP te vinden:
#
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
De cliëntmachine heeft het toegangspunt gevonden en kan ermee geassocieerd worden door de juiste parameters (sleutel, enz.) te gebruiken, zie Paragraaf 31.3.3.1.4, “WEP” voor meer details.
Een bekabelde verbinding biedt betere prestaties en betrouwbaarheid, terwijl een draadloze verbinding meer flexibiliteit en mobiliteit biedt; laptop-gebruikers zullen dit willen combineren en naadloos tussen de twee overschakelen.
In FreeBSD is het mogelijk om twee of meer netwerkinterfaces te combineren in een “failover”-opstelling, dit houdt in dat de meest geprefereerde en best beschikbare verbinding van een groep van netwerkinterfaces wordt gebruikt, en het besturingssysteem automatisch te laten overschakelen wanneer de status van de verbinding verandert.
Link-aggregatie en failover worden behandeld in Paragraaf 31.6, “Verbindingsaggregatie en failover”, een voorbeeld voor het gebruik van zowel een bekabelde als een draadloze verbinding wordt gegeven in Voorbeeld 31.3, “Failover-modus tussen bekabelde en draadloze interfaces”.
Indien er problemen met het draadloos netwerk zijn, zijn er een aantal stappen die genomen kunnen worden om het probleem te helpen verhelpen.
Indien het toegangspunt niet vermeld wordt tijdens het scannen, controleer dan of het draadloze apparaat niet is ingesteld op een beperkt aantal kanalen.
Indien het niet mogelijk is om met een toegangspunt te associëren, controleer dan of de instellingen van het station overeenkomen met die van het toegangspunt. Dit omvat het authenticatieschema en de beveiligingsprotocollen. Versimpel de configuratie zoveel mogelijk. Indien een beveiligingsprotocol als WPA of WEP wordt gebruikt, stel het toegangspunt dan in voor open authenticatie en geen beveiliging en kijk of er verkeer door kan.
Wanneer er met het toegangspunt geassocieerd kan worden, stel dan een diagnose over alle beveiligingsinstellingen met eenvoudige gereedschappen zoals ping(8).
wpa_supplicant
biedt veel
ondersteuning voor debuggen; probeer het handmatig te
draaien met de optie -dd
en controleer de
systeemlogs.
Er zijn ook veel debug-gereedschappen op lagere niveaus.
Het is mogelijk om debugberichten in de laag die het 802.11
protocol ondersteunt aan te zetten door het programma
wlandebug
te gebruiken dat gevonden wordt
in /usr/src/tools/tools/net80211
.
Bijvoorbeeld:
#
wlandebug -i ath0 +scan+auth+debug+assoc
net.wlan.0.debug: 0 => 0xc80000<assoc,auth,scan>
kan worden gebruikt om consoleberichten aan te zetten die te maken hebben met het scannen van toegangspunten en het uitvoeren van 802.11 handshakes die nodig zijn om communicatie te regelen.
Er worden ook veel nuttige statistieken door de 802.11
laag bijgehouden; het gereedschap
wlanstats
geeft deze informatie weer.
Deze statistieken zouden alle fouten die door de 802.11 laag
zijn geïdentificeerd moeten identificeren. Let erop
dat sommige fouten worden geïdentificeerd in de
apparaatstuurprogramma's die onder de 802.11 laag liggen
zodat ze niet verschijnen. Voor het diagnosticeren van
apparaatspecifieke problemen dient de documentatie van het
stuurprogramma geraadpleegd te worden.
Indien de bovenstaande informatie niet helpt om het probleem te verhelderen, stuur dan een probleemrapport op inclusief de uitvoer van de bovenstaande gereedschappen.
Bluetooth is een draadloze technologie om persoonlijke netwerken aan te maken die in de vrije 2,4GHz-band werken binnen een straal van 10 meter. Deze netwerken worden gewoonlijk ad-hoc gevormd en bestaan uit draagbare apparaten zoals mobiele telefoons, handhelds en laptops. In tegenstelling tot die andere populaire draadloze techniek, Wi-Fi, biedt Bluetooth een hoger niveau van serviceprofielen, zoals FTP-achtige bestandsservers, pushing van bestanden, stemtransport, emulatie van seriële lijnen, en meer.
De Bluetooth stack is in FreeBSD geïmplementeerd door gebruik te maken van het Netgraph-raamwerk (zie netgraph(4)). Veel van de Bluetooth USB-dongles worden ondersteund door het stuurprogramma ng_ubt(4). Apparaten gebaseerd op de Broadcom BCM2033 chip worden ondersteund door de stuurprogramma's ubtbcmfw(4) en ng_ubt(4). De 3Com Bluetooth PC Card 3CRWB60-A wordt ondersteund door het stuurprogramma ng_bt3c(4). Seriële en op UART gebaseerde Bluetooth-apparaten worden ondersteund via sio(4), ng_h4(4), en hcseriald(8). Deze sectie beschrijft het gebruik van de USB Bluetooth-dongle.
Standaard zijn stuurprogramma's voor Bluetooth-apparaten beschikbaar als kernelmodules. Voordat een apparaat wordt aangekoppeld, dient het stuurprogramma in de kernel geladen te worden:
#
kldload ng_ubt
Indien het Bluetooth-apparaat tijdens het opstarten van het
systeem in het systeem aanwezig is, kan de module vanuit
/boot/loader.conf
geladen worden:
ng_ubt_load="YES"
Prik de USB-dongle in. Uitvoer vergelijkbaar aan de onderstaande zal op de console (of in syslog) verschijnen:
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
service(8) wordt gebruikt om de Bluetooth-stack te starten en te stoppen. Het is een goed idee om de stack te stoppen voordat het apparaat wordt losgekoppeld, maar het is (gewoonlijk) niet fataal. Tijdens het starten van de stack verschijnt er uitvoer vergelijkbaar met de onderstaande:
#
service 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
Het Host Controller Interface (HCI) biedt een opdrachtinterface naar de controller van de basisband en de verbindingsbeheerder, en toegang tot hardwarestatus en controleregisters. Deze interface biedt een uniforme manier om de mogelijkheden van de basisband van Bluetooth te benaderen. De HCI-laag op de gastheer wisselt gegevens en opdrachten uit met de HCI-firmware in de Bluetooth-hardware. Het stuurprogramma voor de Host Controller Transport Layer (i.e., de fysieke bus) biedt aan beide HCI-lagen de mogelijkheid om informatie met elkaar uit te wisselen.
Voor een enkel Bluetooth-apparaat wordt een enkele Netgraph knoop van het type hci aangemaakt. De HCI-knoop is normaliter verbonden met de knoop van het Bluetooth-apparaatstuurprogramma (naar beneden toe) en de L2CAP-knoop (naar boven toe). Alle HCI-bewerkingen dienen te worden uitgevoerd op de HCI-knoop en niet op de knoop van het apparaatstuurprogramma. De standaardnaam voor de HCI-knoop is “devicehci”. Kijk voor meer details in de hulppagina ng_hci(4).
Eén van de meest voorkomende taken is het ontdekken van Bluetooth-apparaten binnen radiobereik. Deze bewerking wordt ondervragen genoemd. Ondervragen en andere HCI-gerelateerde bewerkingen worden uitgevoerd met het programma hccontrol(8). Het onderstaande voorbeeld laat zien hoe kan worden uitgezocht welke Bluetooth-apparaten zich binnen het bereik bevinden. De lijst met apparaten zou binnen enkele seconden moeten binnenkomen. Bedenk dat een apparaat op afstand alleen antwoord op de ondervraging zal geven indien het in ontdekbare modus staat.
%
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
is een uniek adres van een
Bluetooth-apparaat, vergelijkbaar met een MAC-adres van een
netwerkkaart. Dit adres is nodig voor verdere communicatie met
een apparaat. Het is mogelijk om een menselijk leesbare naam
aan een BD_ADDR toe te kennen. Het bestand
/etc/bluetooth/hosts
bevat informatie over
de bekende Bluetooth-gastheren. Het volgende voorbeeld laat
zien hoe de menselijk leesbare naam dat aan het apparaat op
afstand was toegekend te verkrijgen is:
%
hccontrol -n ubt0hci remote_name_request 00:80:37:29:19:a4
BD_ADDR: 00:80:37:29:19:a4 Name: Pav's T39
Tijdens het uitvoeren van een ondervraging op een Bluetooth-apparaat op afstand zal het de computer als “uw.gastheer.naam (ubt0)” vinden. De naam die aan het lokale apparaat is toegekend, kan altijd gewijzigd worden.
Het Bluetooth-systeem biedt een punt-naar-punt-verbinding (slechts twee Bluetooth-eenheden betrokken), of een punt-naar-veelpunt-verbinding. Bij een punt-naar-veelpunt-verbinding wordt de verbinding met meerdere Bluetooth-apparaten gedeeld. Het volgende voorbeeld laat zien hoe de lijst met actieve basisbandverbindingen voor het lokale apparaat te verkrijgen is:
%
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
Een verbindingshandvat is nuttig indien het beëindigen van de basisbandverbinding noodzakelijk is. Normaalgesproken is het niet nodig om dit handmatig te doen. De stack zal automatisch niet-actieve basisbandverbindingen beëindigen.
#
hccontrol -n ubt0hci disconnect 41
Connection handle: 41 Reason: Connection terminated by local host [0x16]
Raadpleeg hccontrol help
voor een
volledige lijst van beschikbare HCI-opdrachten. Voor de meeste
HCI-opdrachten zijn geen beheerdersrechten nodig.
Het Logical Link Control and Adaptation Protocol (L2CAP) biedt verbindingsgeoriënteerde en verbindingsloze gegevensdiensten met mogelijkheden om protocollen te multiplexen en mogelijkheden voor segmentatie/herassemblage voor protocollen in hogere lagen. L2CAP staat toe dat protocollen en toepassingen in hogere lagen L2CAP-gegevenspakketten met een maximale lengte van 64 kB te verzenden en ontvangen.
L2CAP is op het concept van kanalen gebaseerd. Een kanaal is een logische verbinding bovenop een basisbandverbinding. Elk kanaal is op een veel-op-één manier aan een enkel protocol gebonden. Aan hetzelfde protocol kunnen meerdere kanalen worden gebonden, maar één kanaal kan niet aan meerdere protocollen worden gebonden. Elk L2CAP-pakket dat op een kanaal wordt ontvangen, wordt naar het juiste hogere protocol doorgestuurd. Meerdere kanalen kunnen dezelfde basisbandverbinding delen.
Voor elk Bluetooth-apparaat wordt een enkele Netgraph-knoop van het soort l2cap aangemaakt. De L2CAP-knoop is normaalgesproken verbonden met de Bluetooth HCI-knoop (naar beneden toe) en de knopen van de stopcontacten voor Bluetooth (naar boven toe). De standaardnaam voor de L2CAP-knoop is “devicel2cap”. Zie voor meer details de hulppagina ng_l2cap(4).
Een nuttig commando is l2ping(8), dat gebruikt kan
worden om andere apparaten te pingen. Sommige
Bluetooth-implementaties geven niet alle verzonden gegevens
terug, dus is 0 bytes
normaal in het volgende
voorbeeld.
#
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
Met het programma l2control(8) kunnen verschillende bewerkingen op L2CAP-knopen worden uitgevoerd. Dit voorbeeld laat zien hoe de lijst met logische verbindingen (kanalen) en de lijst met basisbandverbindingen voor het lokale apparaat verkregen kunnen worden:
%
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
Een ander diagnostisch programma is btsockstat(1). Het heeft ongeveer hetzelfde doel als netstat(1), maar dan voor Bluetooth-netwerkgerelateerde gegevensstructuren. Het onderstaande voorbeeld laat dezelfde logische verbinding zien als die van l2control(8) hierboven.
%
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
Het RFCOMM-protocol biedt emulatie van seriële poorten over het L2CAP-protocol. Het protocol is gebaseerd op de ETSI-standaard TS 07.10. RFCOMM is een eenvoudig transportprotocol, met aanvullende voorzieningen om de 9 circuits van RS-232- (EIATIA-232-E-) seriële poorten te emuleren. Het RFCOMM-protocol ondersteunt tot 60 gelijktijdige verbindingen (RFCOMM-kanalen) tussen twee Bluetooth-apparaten.
Het is de bedoeling van RFCOMM dat in een volledig communicatiepad twee toepassingen op verschillende apparaten draaien (de eindpunten van de communicatie) met daartussen een communicatiesegment. RFCOMM is bedoeld om de toepassingen te beheren die gebruik maken van de seriële poorten van de apparaten waarop ze zijn geïnstalleerd. Het communicatiesegment is een directe Bluetooth-verbinding van het ene apparaat naar het andere.
RFCOMM houdt zich alleen bezig met de verbinding tussen twee apparaten bij directe verbindingen, of tussen het apparaat en een modem in het geval van een netwerk. RFCOMM kan andere opstellingen ondersteunen, zoals modules die via draadloze Bluetooth-technologie communiceren aan de ene kant, en een draadinterface aanbieden aan de andere kant.
In FreeBSD is het RFCOMM-protocol in de laag van de Bluetooth-stopcontacten geïmplementeerd.
Standaard is Bluetooth-communicatie niet geauthenticeerd en kan elk apparaat met elk ander apparaat praten. Een Bluetooth-apparaat (bijvoorbeeld een mobiele telefoon) kan ervoor kiezen dat voor bepaalde diensten authenticatie nodig is (bijvoorbeeld voor de inbeldienst). Bluetooth-authenticatie geschied normaalgesproken met PIN-codes. Een PIN-code is een ACII-reeks van maximaal 16 tekens lang. De gebruiker dient dezelfde PIN-code op beide apparaten in te voeren. Nadat de gebruiker de PIN-code heeft ingevoerd, zullen beide apparaten een verbindingssleutel aanmaken. Hierna kan de verbindingssleutel òfwel in de apparaten zelf, òfwel in een permanente opslag worden opgeslagen. De volgende keer zullen beide apparaten de van tevoren aangemaakte verbindingssleutel gebruiken. Bovenstaande procedure wordt paren genoemd. Merk op dat indien een apparaat de verbindingssleutel verliest, het paren moet worden herhaald.
De daemon hcsecd(8) is verantwoordelijk voor het
behandelen van alle verzoeken voor Bluetooth-authenticatie. Het
standaard instellingenbestand is
/etc/bluetooth/hcsecd.conf
. Een
voorbeeldsectie voor een mobiele telefoon waarvan de PIN-code
willekeurig op “1234” is hieronder
beschreven:
device { bgaddr 00:80:37:29:19:a4; name "Pav's T39"; key nokey; pin "1234"; }
Er is geen limiet voor PIN-codes (behalve de lengte). Voor
sommige apparaten (bijvoorbeeld Bluetooth-headsets) kan de
PIN-code vast zijn ingebouwd. De schakelaar -d
dwingt de daemon hcsecd(8) om op de voorgrond te blijven,
zodat het gemakkelijk is om te zien wat er gebeurt. Stel het
andere apparaat in om paarverzoeken te ontvangen en initialiseer
de Bluetooth-verbinding naar het andere apparaat. Het apparaat
moet zeggen dat het paarverzoek geaccepteerd is en om de
PIN-code vragen. Geef dezelfde PIN-code op als in
hcsecd.conf
. Nu zijn de PC en het andere
apparaat gepaard. Als alternatief kan paren op het andere
apparaat worden geïnitialiseerd.
De volgende regel kan aan
het bestand /etc/rc.conf
worden toegevoegd
om hcsecd automatisch met het
systeem op te starten:
hcsecd_enable="YES"
Het volgende is een voorbeeld van de uitvoer van de daemon hcsecd:
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
Het Service Discovery Protocol (SDP) biedt voor cliënttoepassingen de mogelijkheid om diensten te ontdekken die door servertoepassingen worden aangeboden alsook de kenmerken van deze diensten. De kenmerken van een dienst omvatten de soort of klasse van de aangeboden dienst en de informatie over het mechanisme of protocol dat nodig is om de dienst te gebruiken.
SDP omvat communicatie tussen een SDP-server en een SDP-cliënt. De server houdt een lijst van dienstenregistraties bij die de eigenschappen van de diensten beschrijven die met de server geassocieerd zijn. Elke dienstregistratie bevat informatie over een enkele dienst. Een cliënt kan informatie over een dienstregistratie opvragen die door de SDP-server wordt bijgehouden door een SDP-verzoek in te dienen. Indien de cliënt, of een toepassing die met de cliënt geassocieerd is, besluit om de dienst te gebruiken, moet het een aparte verbinding naar de aanbieder van de dienst openen om de dienst te gebruiken. SDP biedt een mechanisme om diensten en hun attributen te ontdekken, maar het biedt geen mechanisme om die diensten te gebruiken.
Normaalgesproken zoekt een SDP-cliënt naar diensten naar aanleiding van enkele gewenste eigenschappen van die diensten. Soms is het echter wenselijk om te ontdekken welke soorten diensten door de dienstregistraties van een SDP-server worden beschreven zonder enige voorkennis van deze diensten. Dit kijken naar alle aangeboden diensten wordt browsen genoemd.
De Bluetooth SDP-server sdpd(8) en de opdrachtregelcliënt sdpcontrol(8) zitten in de standaard FreeBSD-installatie. Het volgende voorbeeld laat zien hoe een SDP-browse query uit te voeren.
%
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
... enzovoorts. Merk op dat elke dienst een lijst met attributen heeft (bijvoorbeeld een RFCOMM-kanaal). Afhankelijk van de dienst kan het nodig zijn om een aantekening van sommige attributen te maken. Sommige Bluetooth-implementaties ondersteunen dienst-browsen niet en zullen een lege lijst teruggeven. In dit geval is het mogelijk om naar de specifieke dienst te zoeken. Het onderstaande voorbeeld laat zien hoe naar de dienst OBEX Object Push (OPUSH) gezocht kan worden:
%
sdpcontrol -a 00:01:03:fc:6e:ec search OPUSH
Het aanbieden van diensten op FreeBSD aan
Bluetooth-cliënten wordt gedaan met de server sdpd(8).
De volgende regel kan aan het
bestand /etc/rc.conf
worden
toegevoegd:
sdpd_enable="YES"
Het daemon sdpd kan worden gestart met:
#
service sdpd start
De plaatselijke servertoepassing die Bluetooth-diensten wil aanbieden aan verre cliënten zal de dienst registreren bij de plaatselijke SDP-daemon. Een voorbeeld van zo'n toepassing is rfcomm_pppd(8). Nadat het gestart is zal het de Bluetooth LAN-dienst bij de plaatselijke SDP-daemon registreren.
De lijst met diensten die bij de plaatselijke SDP-server zijn geregistreerd kan worden opgevraagd door te SDP-browsen via het plaatselijke controlekanaal:
#
sdpcontrol -l browse
Het inbelnetwerk (DUN) profiel wordt het meeste gebruikt met modems en mobiele telefoons. De volgende scenario's worden in dit profiel behandeld:
het gebruik van een mobiele telefoon of modem door een computer als een draadloze modem voor het verbinden met een inbelserver voor Internet-toegang, of voor andere inbeldiensten;
het gebruik van een mobiele telefoon of modem door een computer om gegevensoproepen te ontvangen.
Het profiel voor netwerktoegang met PPP (LAN) kan in de volgende situaties gebruikt worden:
LAN-toegang voor een enkel Bluetooth-apparaat;
LAN-toegang voor meerdere Bluetooth-apparaten;
PC naar PC (door PPP-netwerken over een seriële kabel te emuleren).
Op FreeBSD zijn beide profielen geïmplementeerd met
ppp(8) en rfcomm_pppd(8) - een wrapper die een RFCOMM
Bluetooth-verbinding omzet in iets waar PPP mee overweg kan.
Voordat een profiel gebruikt kan worden, dient een nieuw
PPP-label in het bestand /etc/ppp/ppp.conf
te worden aangemaakt. Raadpleeg de hulppagina
rfcomm_pppd(8) voor voorbeelden.
In het volgende voorbeeld zal rfcomm_pppd(8) gebruikt worden om RFCOMM-verbinding met een ver apparaat met BD_ADDR 00:80:37:29:19:a4 op een DUN RFCOMM-kanaal te maken. Het eigenlijke RFCOMM-kanaalnummer wordt via SDP van het verre apparaat verkregen. Het is mogelijk om het RFCOMM-kanaal handmatig op te geven, en in dat geval zal rfcomm_pppd(8) het SDP-verzoek niet uitvoeren. Gebruik sdpcontrol(8) om het RFCOMM-kanaal op het verre apparaat te achterhalen.
#
rfcomm_pppd -a 00:80:37:29:19:a4 -c -C dun -l rfcomm-dialup
Om netwerktoegang met PPP (LAN) aan te bieden moet de server
sdpd(8) draaien. Er dient een nieuwe regel voor
LAN-cliënten in het bestand
/etc/ppp/ppp.conf
aangemaakt te worden.
Raadpleeg de hulppagina rfcomm_pppd(8) voor voorbeelden.
Tenslotte dient de RFCOMM PPP-server op een geldig RFCOMM-kanaal
gestart te worden. De RFCOMM PPP-server zal automatisch de
Bluetooth LAN-dienst bij de plaatselijke SDP-daemon registreren.
Het volgende voorbeeld laat zien hoe een RFCOMM PPP-server te
starten:
#
rfcomm_pppd -s -C 7 -l rfcomm-server
OBEX is een veelgebruikt protocol voor eenvoudige bestandsoverdrachten tussen mobiele apparaten. Het primaire gebruik is infraroodcommunicatie, waar het wordt gebruikt voor generieke bestandsoverdrachten tussen notebooks of PDA's, en om visitekaarten en kalenderregels tussen mobiele telefoons en andere apparaten met PIM-toepassingen over te dragen.
De OBEX-server en clieënt zijn geïmplenteerd als een pakket van derde partij, obexapp, dat beschikbaar is als de port comms/obexapp.
De OBEX-cliënt wordt gebruikt om objecten naar en/of van de OBEX-server te duwen/trekken. Een object kan bijvoorbeeld een visitekaart of een afspraak zijn. De OBEX-cliënt kan het RFCOMM-kanaalnummer van het verre apparaat via SDP opvragen. Dit kan gedaan worden door de dienstnaam in plaats van het RFCOMM-kanaalnummer op te geven. De ondersteunde dienstnamen zijn: IrMC, FTRN, en OPUSH. Het is mogelijk om het RFCOMM-kanaal als een nummer op te geven. Het onderstaande is een voorbeeld van een OBEX-sessie, waar een apparaatinformatie-object van de mobiele telefoon wordt getrokken, en een nieuw object (een visitekaart) in de gids van de telefoon wordt geduwd:
%
obexapp -a 00:80:37:29:19:a4 -C IrMC
obex> get telecom/devinfo.txt devinfo-t39.txt Success, response: OK, Success (0x20) obex> put new.vcf Success, response: OK, Success (0x20) obex> di Success, response: OK, Success (0x20)
Om de dienst OBEX Object Push aan te bieden, moet de server
sdpd(8) draaien. Er moet een hoofdmap worden aangemaakt
waarin alle binnenkomende objecten worden opgeslagen. Het
standaardpad naar de hoofdmap is /var/spool/obex
. Tenslotte moet de
OBEX-server op een geldig RFCOMM-kanaal worden gestart. De
OBEX-server zal automatisch de dienst OBEX Object Push bij de
plaatselijke SDP-daemon registeren. Het onderstaande voorbeeld
laat zien hoe de OBEX-server gestart wordt:
#
obexapp -s -C 10
Het Seriële Poort Profiel (SPP) zorgt ervoor dat Bluetooth-apparaten RS232 (of gelijkwaardige) seriële kabels kunnen emuleren. Het scenario dat dit profiel behandelt zorgt ervoor dat oude toepassingen Bluetooth kunnen gebruiken als vervanging van kabels, door gebruik te maken van een virtuele seriële poort.
Het programma rfcomm_sppd(1) implementeert het Seriële Poort profiel. Een pseudo-tty wordt gebruikt als abstractie voor een virtuele seriële poort. Onderstaand voorbeeld laat zien hoe met een Seriële Poortdienst voor verre apparaten te verbinden. Merk op dat het niet nodig is om een RFCOMM-kanaal te kiezen - rfcomm_sppd(1) kan het via SDP van het verre apparaat verkrijgen. Dit kan worden overruled door een RFCOMM-kanaal op de opdrachtregel te specificeren.
#
rfcomm_sppd -a 00:07:E0:00:0B:CA -t /dev/ttyp6
rfcomm_sppd[94692]: Starting on /dev/ttyp6...
Als er een verbinding is, kan de pseudo-tty als seriële poort worden gebruikt:
#
cu -l ttyp6
Sommige oudere Bluetooth-apparaten ondersteunen het wisselen van rol niet. Standaard probeert FreeBSD, wanneer het een nieuwe verbinding accepteert, een rolwisseling uit te voeren en meester te worden. Apparaten die dit niet ondersteunen zullen niet kunnen verbinden. Merk op dat van rol wordt gewisseld wanneer een nieuwe verbinding wordt gemaakt, dus het is niet mogelijk om het verre apparaat te vragen of het rolwisseling ondersteunt. Er is een HCI-optie om rolwisselen aan de plaatselijke kant uit te zetten:
#
hccontrol -n ubt0hci write_node_role_switch 0
Ja, dit is mogelijk. Gebruik het pakket hcidump, dat beschikbaar is als de port comms/hcidump. Het gereedschap hcidump is vergelijkbaar met tcpdump(1). Het kan gebruikt worden om de inhoud van Bluetooth-pakketten op de terminal te laten zien en om de Bluetooth-pakketten naar een bestand te schrijven.
Soms is het handig om één fysiek netwerk (zoals een Ethernet-segment) in twee gescheiden netwerksegmenten te verdelen zonder de noodzaak om een IP-subnet aan te maken en een router te gebruiken om de segmenten met elkaar te verbinden. Een apparaat dat twee netwerken op deze manier met elkaar verbindt wordt een “bridge (brug)” genoemd. Een FreeBSD-systeem met twee netwerkkaarten kan als bridge dienen.
De bridge werkt door de adressen van de MAC-laag (Ethernetadressen) van de apparaten op elke netwerkinterface te leren. Het stuurt alleen verkeer tussen twee netwerken door indien de bron en het doel zich op verschillende netwerken bevinden.
In vele opzichten is een bridge als een Ethernet-switch met erg weinig poorten.
Er zijn vandaag de dag veel situaties waarin een bridge gebruikt wordt.
Het basisgebruik van een bridge is het met elkaar verbinden van twee of meer netwerksegmenten. Er zijn vele redenen om een hostgebaseerde bridge te gebruiken in plaats van simpele netwerkapparaten zoals kabelbeperkingen, firewalling of het verbinden van pseudonetwerken zoals een interface van een virtuële machine. Een bridge kan ook een draadloze interface die in hostap-modus draait met een bedraad netwerk verbinden en als een toegangspunt dienen.
Een gebruikelijke situatie dient zich voor wanneer de functionaliteit van een firewall nodig is zonder routing of network address translation (NAT).
Een voorbeeld is een klein bedrijf dat via DSL of ISDN met hun internetprovider verbonden is. Dit bedrijf heeft 13 wereldwijd bereikbare IP-adressen van de internetprovider en 10 PC's op hun netwerk. In deze situatie is een firewall die op een router gebaseerd is lastig wegens subnet-problemen.
Een firewall die op een bridge gebaseerd is kan ingesteld en net na de DSL- of ISDN-router geplaatst worden zonder dat er problemen met IP-nummers optreden.
Een bridge kan twee netwerksegmenten verbinden en kan gebruikt worden om alle Ethernetframes die tussen dezen voorbijkomen te inspecteren. Dit kan òfwel vanuit het gebruik van bpf(4)/tcpdump(1) op de bridge-interface òfwel door een kopie van alle frames naar een extra interface (overspanpoort) te versturen.
Twee Ethernetnetwerken kunnen over een IP-verbinding verbonden worden door de netwerken naar een EtherIP-tunnel te bridgen of met een oplossing gebaseerd po tap(4) zoals OpenVPN.
Een netwerk kan met meerdere verbindingen verbonden worden en het Spanning Tree Protocol gebruiken om overbodige paden te blokkeren. Een Ethernetnetwerk kan alleen juist functioneren indien er slechts één actief pad bestaat tussen twee apparaten, Spanning Tree zal lussen detecteren en de overbodige verbindingen in een geblokkeerde toestand zetten. Indien een van de actieve verbindingen faalt zal het protocol een andere boom berekenen en een van de geblokkeerde paden weer activeren om de verbindingen naar alle punten in het netwerk te herstellen.
Deze sectie behandelt de bridges geïmplementeerd met if_bridge(4), een stuurprogramma dat bridges met netgraph implementeert is ook beschikbaar, zie voor meer informatie de hulppagina ng_bridge(4).
Het bridge-stuurprogramma is een kernelmodule en zal
automatisch door ifconfig(8) worden geladen wanneer er een
bridge-interface wordt aangemaakt. Het is mogelijk om de bridge
in de kernel te compileren door
device if_bridge
aan het
kernelinstellingenbestand toe te voegen.
Pakketfiltering kan met elk firewall-pakket worden gebruikt dat via het raamwerk pfil(9) aankoppelt. De firewall kan als een module worden geladen of in de kernel worden gecompileerd.
De bridge kan als met altq(4) of dummynet(4) als een verkeersregelaar worden gebruikt.
De bridge wordt aangemaakt door interfaces te klonen. Om een bridge aan te maken wordt ifconfig(8) gebruikt, indien het bridge-stuurprogramma niet in de kernel aanwezig is zal het automatisch worden geladen.
#
ifconfig bridge create
#
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
Een bridge-interface is aangemaakt en er is automatisch een
random gegenereerd Ethernetadres aan toegekend. De parameters
maxaddr
en timeout
bepalen
hoeveel MAC-adressen de bridge in de doorstuurtabel houdt en
hoeveel seconden voordat elke regel wordt verwijderd nadat het
voor het laatst gezien is. De andere parameters bepalen hoe
Spanning Tree werkt.
Voeg de netwerkinterfaces die lid zijn aan de bridge toe. Om de bridge pakketten te laten doorsturen dienen alle lidinterfaces en de bridge actief te zijn:
#
ifconfig bridge0 addm fxp0 addm fxp1 up
#
ifconfig fxp0 up
#
ifconfig fxp1 up
De bridge stuurt nu Ethernet-frames door tussen
fxp0
en fxp1
.
De overeenkomstige configuratie in
/etc/rc.conf
zodat de bridge tijdens het
opstarten wordt aangemaakt is:
cloned_interfaces="bridge0" ifconfig_bridge0="addm fxp0 addm fxp1 up" ifconfig_fxp0="up" ifconfig_fxp1="up"
Indien de bridge-gastheer een IP-adres nodig heeft dan is de juiste plaats om dit in te stellen op de bridge-interface zelf in plaats van op een van de lidinterfaces. Dit kan statisch of via DHCP worden ingesteld:
#
ifconfig bridge0 inet 192.168.0.1/24
Het is ook mogelijk om een IPv6-adres aan een bridge-interface toe te kennen.
Wanneer pakketten worden gefilterd, zullen gebridgede pakketten het filter inbound op de vertrekkende interface passeren, op de bridge-interface en outbound op de bestemde interface. Elke stap kan uitgezet worden. Wanneer de richting van het pakketverkeer belangrijk is, kan de firewall het beste op de lidinterfaces draaien en niet op de bridge zelf.
De bridge heeft verschillende aanpasbare instellingen voor het doorlaten van non-IP- en ARP-pakketten, en een laag 2 firewall met IPFW. Zie if_bridge(4) voor meer informatie.
Het bridge-stuurprogramma implementeert het Rapid Spanning Tree Protocol (RSTP of 802.1w) met terugwaartse compatibiliteit met het verouderde Spanning Tree Protocol (STP). Spanning Tree wordt gebruikt om lussen in een netwerktopologie te detecteren en verwijderen. RSTP biedt snellere convergentie naar een opspannende boom dan het verouderde STP, het protocol wisselt informatie met naburige switches uit om snel naar forwarding over te gaan zonder lussen te creëren. FreeBSD ondersteunt RSTP en STP als opties, waarbij RSTP de standaard is.
Spanning Tree kan op lidinterfaces worden geactiveerd met
het commando stp
. Voor een bridge met
fxp0
en fxp1
alle huidige interfaces, wordt STP met het volgende
geactiveerd:
#
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
De bridge heeft spanning tree ID
00:01:02:4b:d4:50
en prioriteit
32768
. Aangezien het
root id
hetzelfde is geeft dit aan dat dit de
hoofdbridge voor de boom is.
Een andere bridge in het netwerk heeft spanning tree ook geactiveerd:
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
De reegl root id 00:01:02:4b:d4:50 priority 32768
ifcost 400000 port 4
geeft aan dat de hoofdbridge
00:01:02:4b:d4:50
is zoals boven en dat de
padkosten 400000
zijn vanaf deze bridge, het
pad naar de hoofdbridge gaat via port 4
welke fxp0
is.
De bridge ondersteunt monitormodus, waarin de pakketten worden verwijderd nadat ze door bpf(4) zijn verwerkt, en ze niet verder verwerkt of doorgestuurd worden. Dit kan worden gebruikt om de invoer van twee of meer interfaces naar een enkele bpf(4)-stroom te multiplexen. Dit is nuttig voor het reconstrueren van het verkeer voor netwerktaps welke de RX/TX-signalen over twee verschillende interfaces uitzenden.
Om de invoer van vier netwerkinterfaces als één stroom te lezen:
#
ifconfig bridge0 addm fxp0 addmfxp1 addm fxp2 addm fxp3 monitor up
#
tcpdump -i bridge0
Van elk Ethernet-frame dat door de bridge wordt ontvangen wordt er een kopie naar de aangewezen SPAN-poort verstuurd. Het aantal geconfigureerde SPAN-poorten op een bridge is onbeperkt, indien een interface aangewezen is als SPAN-poort kan het niet ook als gewone bridgepoort gebruikt worden. Dit is het nuttigste voor het passief afluisteren van een gebridged netwerk op een andere host die met een van de SPAN-poorten van de bridge verbonden is.
Om een kopie van alle frames naar de interface
fxp4
te versturen:
#
ifconfig bridge0 span fxp4
Een privé-interface stuurt geen verkeer door naar poorten die niet ook een privé-interface zijn. Het verkeer wordt onvoorwaardelijk geblokkeerd, dus worden er geen Ethernetframes doorgestuurd, inclusief ARP. Indien verkeer selectief dient te worden geblokkeerd dient er in plaats hiervan een firewall gebruikt te worden.
Indien een lidinterface van een bridge als klevend is gemarkeerd worden dynamisch geleerde adresregels als statisch behandelt wanneer ze in de doorstuurcache komen. Klevende interfaces vallen nooit uit de cache en worden nooit vervangen, zelfs niet als het adres op een andere interface wordt gezien. Dit biedt het voordeel van statische adresregels zonder dat de doorstuurtabel van te voren gevuld hoeft te worden, cliënten die geleerd zijn op een bepaald segment van de bridge kunnen niet roamen naar een ander segment.
Een ander voorbeeld voor het gebruik van klevende adressen
zou het combineren van de bridge met VLANs zijn om een router
te creëren waar klantnetwerken geïsoleerd zijn
zonder dat IP-adresruimte verspild wordt. Neem aan dat
KlantA
op
vlan100
zit en KlantB
op
vlan101
. De bridge heeft het adres
192.168.0.1
en is tevens een
internet-router.
#
ifconfig bridge0 addm vlan100 sticky vlan100 addm vlan101 sticky vlan101
#
ifconfig bridge0 inet 192.168.0.1/24
Beide cliënten zien 192.168.0.1
als hun standaard gateway
en aangezien de bridge-cache kleverig is kunnen ze niet het
MAC-adres van de andere klant spoofen om hun verkeer op te
vangen.
Alle communicatie tussen de VLANs kan geblokkeerd worden door het gebruik van privé-interfaces (of een firewall):
#
ifconfig bridge0 private vlan100 private vlan101
De klanten zijn compleet geïsoleerd van elkaar, het
volledige /24
adresruimte kan
zonder subnetten toegewezen worden.
Het aantal unieke bron-MAC-adressen achter een interface kan beperkt zijn. Wanneer de limiet bereikt is worden pakketten met een onbekend bronadres gedropt totdat een bestaande ingang in de host-cache vervalt of wordt verwijderd.
Het volgende voorbeeld stelt het maximum aantal
Ethernetapparaten voor KlantA
op
vlan100
in op 10.
#
ifconfig bridge0 ifmaxaddr vlan100 10
De bridge-interface en STP-parameters kunnen gemonitord worden via het SNMP-daemon dat met het basis FreeBSD-systeem wordt meegeleverd. De geëxporteerde bridge-MIBs houden zich aan de standaarden van de IETF zodat elke SNMP-cliënt of monitorpakket kan worden gebruikt om de gegevens te verzamelen.
Op de bridge-machine dient de regel
begemotSnmpdModulePath."bridge" =
"/usr/lib/snmp_bridge.so"
van
/etc/snmp.config
geactiveerd te worden en
het daemon bsnmpd gestart te worden.
Andere instellingen zoals gemeenschapsnamen en toegangslijsten
dienen eventueel aangepast te worden. Zie bsnmpd(1) en
snmp_bridge(3) voor meer informatie.
Het volgende voorbeeld gebruikt de software
Net-SNMP (net-mgmt/net-snmp om een bridge te
ondervragen, de port net-mgmt/bsnmptools kan ook worden
gebruikt. Voeg de volgende regels toe aan
$HOME/.snmp/snmp.conf
op de
SNMP-cliënt-host om de MIB-definities van de bridge in
Net-SNMP te importeren:
mibdirs +/usr/share/snmp/mibs mibs +BRIDGE-MIB:RSTP-MIB:BEGEMOT-MIB:BEGEMOT-BRIDGE-MIB
Om een enkele bridge via de IETF BRIDGE-MIB (RFC4188) te monitoren:
%
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)
De waarde dot1dStpTopChanges.0
is twee
wat betekent dat de topologie van de STP-bridge twee maal
veranderd is, een topologieverandering houdt in dat
één of meerdere links in het netwerk zijn
veranderd of hebben gefaald en dat er een nieuwe boom is
berekend. De waarde
dot1dStpTimeSinceTopologyChange.0
laat zien
wanneer dit gebeurde.
Om meerdere bridge-interfaces te monitoren kan men het privé BEGEMOT-BRIDGE-MIB gebruiken:
%
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
Om de bridge-interface die via de subboom
mib-2.dot1dBridge
wordt gemonitord te
veranderen:
%
snmpset -v 2c -c private bridge1.example.com
BEGEMOT-BRIDGE-MIB::begemotBridgeDefaultBridgeIf.0 s bridge2
De interface lagg(4) maakt het mogelijk om meerdere netwerkinterfaces te aggregeren in één virtueel interface voor het bieden van fout-tolerante en zeer snelle verbindingen.
Zendt en ontvangt verkeer alleen door de meesterpoort. Wanneer de meesterpoort niet beschikbaar is, wordt de volgende actieve poort gebruikt. De eerste toegevoegde interface is de meesterpoort; alle interfaces die hierna zijn toegevoegd worden gebruikt als failover-apparaten. Als failover naar een niet-meesterpoort plaatsvindt, dan wordt de originele poort de meester wanneer deze weer beschikbaar wordt.
Cisco® Fast EtherChannel® (FEC), is een statische installatie en onderhandelt niet over aggregatie met de peer noch wisselt het frames uit om de verbinding te monitoren. Indien de switch LACP ondersteunt dient dat gebruikt te worden.
FEC balanceert uitgaand verkeer over de actieve poorten gebaseerd op gehashde informatie over protocolheaders en accepteert inkomend verkeer van elke actieve poort. De hash bevat het Ethernet bron- en doeladres, en indien beschikbaar, de VLAN-tag, en de IPv4/IPv6 bron- en doeladressen.
Het IEEE® 802.3ad Link Aggregation Control Protocol (LACP) en het Marker Protocol. LACP onderhandelt met de peer over een verzameling aggregeerbare verbindingen in één of meerdere Link Aggregated Groups (LAG). Elke LAG is opgebouwd uit poorten die dezelfde snelheid hebben, ingesteld op full-duplex werking. Het verkeer zal over de poorten in de LAG gebalanceerd worden met de hoogste totaalsnelheid, in de meeste gevallen zal er slechts één LAG zijn die alle poorten bevat. Wanneer er fysieke verbindingen veranderen, zal Link Aggregation snel naar een nieuwe opstelling convergeren.
LACP balanceert uitgaand verkeer over de actieve poorten gebaseerd op gehashde informatie over protocolheaders en accepteert inkomend verkeer van elke actieve poort. De hash bevat het Ethernet bron- en doeladres, en indien beschikbaar, de VLAN-tag, en de IPv4/IPv6 bron- en doeladressen.
Dit is een alias van de FEC modus.
Distribueert uitgaand verkeer door middel van een round-robin scheduler over alle actieve poorten en accepteert inkomend verkeer van elke actieve poort. Deze modus schendt Ethernet frame-ordering en dient met zorg gebruikt te worden.
Dit voorbeeld verbindt twee interfaces op een FreeBSD-machine met de switch als een enkele loadgebalanceerde en fout-tolerante verbinding. Er kunnen meer interfaces worden toegevoegd om de doorvoer en fouttolerantie te verhogen. Aangezien frame-ordering verplicht is op Ethernetverbindingen stroomt al het verkeer tussen twee stations altijd over dezelfde fysieke verbinding zodat de maximum snelheid beperkt wordt tot die van één interface. Het verzendalgoritme probeert zoveel mogelijk informatie te gebruiken voor het onderscheiden van verschillende verkeersstromen en deze over de beschikbare interfaces te balanceren.
Voeg op de Cisco® switch de interfaces
FastEthernet0/1
en
FastEthernet0/2
aan de kanaalgroep
1
toe:
interface FastEthernet0/1 channel-group 1 mode active channel-protocol lacp
!interface FastEthernet0/2 channel-group 1 mode active channel-protocol lacp
Maak de lagg(4)-interface aan met
fxp0
en fxp1
en
activeer de interface met IP-adres
10.0.0.3/24
:
#
ifconfig fxp0 up
#
ifconfig fxp1 up
#
ifconfig lagg0 create
#
ifconfig lagg0 up laggproto lacp laggport fxp0 laggport fxp1 10.0.0.3/24
Bekijk de interfacestatus van ifconfig:
#
ifconfig lagg0
Poorten die als ACTIVE zijn gemarkeerd zijn lid van de actieve aggregatiegroep waarover onderhandeld is met de verre switch en waarover verkeer zal worden verzonden en ontvangen. Gebruik de uitgebreide uitvoer van ifconfig(8) om de LAG-identifiers te bekijken.
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>
Gebruik, om de toestand van de poorten op de switch te
bekijken, show lacp neighbor
.
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
Gebruik voor meer detail het commando show lacp
neighbor detail
.
Voeg de volgende regels aan /etc/rc.conf
toe
om deze informatie na het opnieuw starten te behouden:
ifconfig_fxp0
="up" ifconfig_fxp1
="up" cloned_interfaces="lagg0
" ifconfig_lagg0
="laggproto lacp laggportfxp0
laggportfxp1
10.0.0.3/24
"
Failover-modus kan worden gebruikt om op een secondaire
interface over te schakelen wanneer de verbinding op de
meesterinterface verloren is. Activeer de onderliggende fysieke
interface. Creëer de
interface lagg0
, met
fxp0
als de meesterinterface en
fxp1
als de secondaire
interface en ken er IP-adres 10.0.0.15/24
aan toe:
#
ifconfig fxp0 up
#
ifconfig fxp1 up
#
ifconfig lagg0 create
#
ifconfig lagg0 up laggproto failover laggport fxp0 laggport fxp1 10.0.0.15/24
De interface zal er ongeveer als volgt uitzien, de grote verschillen zullen het MAC-adres en de apparaatnamen zijn:
#
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 inet 10.0.0.15 netmask 0xffffff00 broadcast 10.0.0.255 media: Ethernet autoselect status: active laggproto failover laggport: fxp1 flags=0<> laggport: fxp0 flags=5<MASTER,ACTIVE>
Het verkeer zal worden verzonden en ontvangen op
fxp0
. Indien de verbinding op
fxp0
verloren is, zal
fxp1
de actieve verbinding worden.
Indien de verbinding op de meesterinterface hersteld is, zal
het weer de actieve verbinding worden.
Voeg de volgende regels aan /etc/rc.conf
toe
om deze informatie na het opnieuw starten te behouden:
ifconfig_fxp0
="up" ifconfig_fxp1
="up" cloned_interfaces="lagg0
" ifconfig_lagg0
="laggproto lacp laggportfxp0
laggportfxp1
10.0.0.15/24
"
Voor laptop-gebruikers is het normaliter wenselijk om het draadloze interface als secundair interface te gebruiken indien het bekabelde interface niet beschikbaar is. Met lagg(4) is het mogelijk om één IP-adres te gebruiken en het bekabelde interface voor zowel prestatie als veiligheid te prefereren terwijl de mogelijkheid behouden blijft om de draadloze verbinding te gebruiken.
In deze opstelling dient het MAC-adres van het onderliggende draadloze interface overschreven te worden om met dat van lagg(4) overeen te komen, welke afkomstig is van het primaire interface dat wordt gebruikt, het bekabelde interface.
In deze opstelling wordt het bekabelde interface,
bge0
als meester gebruikt, en het draadloze
interface, wlan0
, als het
failover-interface. wlan0
was aangemaakt
vanuit iwn0
voor welke het
MAC-adres van de bekabelde verbinding zal worden
gebruikt. De eerste stap is om het MAC-adres van
het bekabelde interface te verkrijgen:
#
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
bge0
kan vervangen worden door het
eigenlijke interface, er zal een andere regel met
ether
verschijnen, dit is het
MAC-adres van het bekabelde interface. Om het
onderliggende draadloze interface, iwn0
te
wijzigen:
#
ifconfig iwn0 ether 00:21:70:da:ae:37
Activeer het draadloze interface maar geef er nog geen IP-adres aan:
#
ifconfig wlan0 create wlandev iwn0 ssid mijn_router up
Activeer de interface bge0
. Maak het
lagg(4)-interface aan met bge0
als
meester, en met failover naar wlan0
indien
nodig:
#
ifconfig bge0 up
#
ifconfig lagg0 create
#
ifconfig lagg0 up laggproto failover laggport bge0 laggport wlan0
Het interface zal er ongeveer als volgt uitzien, de grootste verschillen zullen het MAC-adres en de apparaatnamen zijn:
#
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>
Start vervolgens de DHCP-cliënt om een IP-adres te verkrijgen:
#
dhclient lagg0
Om deze configuratie bij het opstarten te behouden, kan het
volgende aan /etc/rc.conf
worden
toegevoegd:
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"
Een FreeBSD-machine kan over het netwerk opstarten en zonder een plaatselijke schijf werken, door gebruik te maken van bestandssystemen die van een NFS-server aangekoppeld worden. Er zijn geen systeemwijzigingen nodig anders dan de standaard instellingenbestanden. Dit soort systemen is relatief eenvoudig op te zetten omdat alle noodzakelijke elementen al aanwezig zijn:
Er zijn minstens twee manieren om de kernel over het netwerk te laden:
PXE: De Intel® Preboot eXecution Environment is een vorm een smart boot ROM dat in sommige netwerkkaarten en moederborden is ingebouwd. Bekijk de hulppagina pxeboot(8) voor meer informatie.
De poort Etherboot (net/etherboot) maakt code aan dat naar een ROM geschreven kan worden en dat kernels over het netwerk opstart. De code kan òfwel naar een opstart-PROM op een netwerkkaart geflashed worden, òfwel van een floppy (of harde) schijf geladen worden, òfwel van een draaiend MS-DOS® systeem geladen worden. Vele netwerkkaarten worden ondersteund.
Een voorbeeldscript
(/usr/share/examples/diskless/clone_root
)
vergemakkelijkt het aanmaken en beheren van het root
bestandssysteem van het werkstation op de server. Het kan
nodig zijn dat het script wat aangepast moet worden, maar het
zorgt voor een snelle start.
Er bestaan standaardbestanden voor het opstarten van het systeem
in /etc
om een systeemstart
zonder schijf te detecteren en te ondersteunen.
Het gebruik van een wisselbestand, indien nodig, kan worden gedaan naar òfwel een NFS bestand òfwel naar een plaatselijke schijf.
Er zijn vele manieren om een schijfloos werkstation op te zetten. Hierbij zijn veel elementen betrokken, en vele kunnen aan de eigen smaak worden aangepast. Het volgende beschrijft variaties met betrekking tot het installeren van een compleet systeem, waarbij de nadruk ligt op de eenvoud en de compatibiliteit met de standaard opstartscripts van FreeBSD. Het beschreven systeem heeft de volgende eigenschappen:
De schijfloze werkstations gebruiken een gedeeld bestandssysteem
voor /
, dat alleen
gelezen kan worden, en een gedeeld bestandssysteem voor /usr
, dat eveneens alleen gelezen kan
worden.
Het root-bestandssysteem is een kopie van een standaard root-bestandssysteem voor FreeBSD (typisch van een server), waarbij enkele instellingenbestanden zijn overschreven door versies die specifiek zijn voor een schijfloos systeem of, mogelijk, door het werkstation horen waar ze bij horen.
De delen van het root-bestandssysteem die beschrijfbaar moeten zijn, zijn overdekt met md(4) bestandssystemen. Alle veranderingen gaan verloren indien het systeem opnieuw wordt opgestart.
De kernel is overgedragen en òfwel met Etherboot òfwel met PXE geladen, aangezien sommige situaties het gebruik van één van de methodes kan eisen.
Het systeem zoals hierboven beschreven is onveilig. Het dient in een beschermd gebied van een netwerk te functioneren, en niet vertrouwd te worden door andere hosts.
Alle informatie in deze sectie is getest met FreeBSD 5.2.1-RELEASE.
Het installeren van schijfloze werkstations is zowel vrij rechttoe-rechtaan als foutgevoelig. Deze fouten zijn soms moeilijk vast te stellen wegens een aantal redenen. Bijvoorbeeld:
Opties die tijdens het compileren zijn opgegeven kunnen verschillend gedrag tonen tijdens het draaien.
Foutmeldingen zijn vaak cryptisch of geheel afwezig.
Op dit gebied is het bezit van wat achtergrondkennis over de gebruikte mechanismen zeer nuttig om mogelijke problemen op te lossen.
Voor een succesvol opstarten dienen verschillende handelingen uitgevoerd te worden:
De machine moet een aantal initiële parameters zoals het IP-adres, de bestandsnaam van de executable, de naam van de server, en het root-pad verkrijgen. Dit wordt gedaan door gebruik te maken van de DHCP of BOOTP protocollen. DHCP is een compatible uitbreiding van BOOTP, het gebruikt dezelfde poorten en het pakketformaat heeft dezelfde basis.
Het is mogelijk om een systeem in te stellen zodat het alleen BOOTP gebruikt. Het serverprogramma bootpd(8) wordt met het basissysteem van FreeBSD meegeleverd.
DHCP biedt echter een aantal voordelen boven BOOTP (fijnere instellingenbestanden, mogelijkheid om PXE te gebruiken, en vele anderen die niet direct verband houden met schijfloos werken), er zal hoofdzakelijk een opstelling met DHCP worden beschreven, met analoge voorbeelden voor bootpd(8) indien mogelijk. De voorbeeldopstelling zal het softwarepakket van ISC DHCP gebruiken (versie 3.0.1.r12 was geïnstalleerd op de testserver).
De machine moet één of meerdere programma's naar het plaatselijke geheugen versturen. Eén van TFTP of NFS wordt gebruikt. De keuze tussen TFTP en NFS is op verschillende plaatsen een optie tijdens het compileren. Een veelgemaakte fout is het opgeven van bestandsnamen voor het verkeerde protocol: TFTP verstuurd typisch alle bestanden vanuit één map op de server, en verwacht dat alle bestandsnamen relatief aan deze map zijn; NFS verwacht absolute bestandspaden.
De mogelijke tussentijdse opstartprogramma's en de kernel dienen geïnitialiseerd en uitgevoerd te worden. Er zijn enkele belangrijke variaties op dit gebied:
PXE zal pxeboot(8) laden,
wat een aangepaste versie is van de lader voor stage
drie van FreeBSD. loader(8) zal de meeste parameters
verkrijgen die noodzakelijk zijn om het systeem op te
starten, en zal ze in de kernelomgeving laten staan
voordat het de controle overdraagt. Het is in dit geval
mogelijk om een GENERIC
kernel te
gebruiken.
Etherboot zal met minder voorbereiding direct de kernel laden. Hiervoor is het noodzakelijk om een kernel met specifieke opties te bouwen.
PXE en Etherboot werken beide even goed; echter, omdat kernels normaalgesproken meer werk overlaten aan loader(8), is PXE de te verkiezen methode.
Indien het BIOS en de netwerkkaarten PXE ondersteunen, dient dat waarschijnlijk gebruikt te worden.
Tenslotte: de machine heeft toegang tot de bestandssystemen nodig. NFS wordt in alle gevallen gebruikt.
Zie ook de hulppagina diskless(8).
De ISC DHCP server kan zowel verzoeken voor BOOTP als DHCP beantwoorden.
ISC DHCP 4.2 maakt geen deel uit van het basissysteem. Eerst dient de poort net/isc-dhcp42-server of het corresponderende pakket geïnstalleerd te worden.
Wanneer ISC DHCP is
geïnstalleerd, heeft het een instellingenbestand nodig om
te draaien (normaliter
/usr/local/etc/dhcpd.conf
genoemd).
Hieronder volgt een voorbeeld met commentaar, waarbij host
margaux
gebruik maakt van
Etherboot en
corbieres
gebruik maakt van
PXE:
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;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;
filename "/data/misc/kernel.diskless";
option root-path "192.168.4.4:/data/misc/diskless";
} 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"; } }
Deze optie vertelt dhcpd
om de waarde die in de verklaringen voor
| |
De aanwijzing | |
De aanwijzing | |
De optie |
Hieronder staan de equivalente instellingen voor
bootpd (gereduceerd tot
één cliënt). Dit staat in
/etc/bootptab
.
Merk op dat Etherboot
gecompileerd dient te worden met de afwijkende optie
NO_DHCP_SUPPORT
om BOOTP te gebruiken, en
dat PXE DHCP
nodig heeft. Het enige duidelijke
voordeel van bootpd is dat het in
het basissysteem zit.
.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
De website van Etherboot bevat uitgebreide documentatie die over het algemeen is bedoeld voor Linux-systemen, maar die desalniettemin bruikbare informatie bevat. Het volgende geeft een samenvatting over hoe Etherboot op een FreeBSD-systeem te gebruiken.
Ten eerste dient het pakket of de poort net/etherboot geïnstalleerd te worden.
De instellingen van Etherboot
(i.e., om TFTP in plaats van
NFS te gebruiken) kunnen gewijzigd worden
door het bestand Config
in de bronmap van
Etherboot te bewerken.
Hieronder zal een opstartdiskette gebruikt worden. Raadpleeg voor andere methoden (PROM, of een MS-DOS®-programma) de documentatie van Etherboot.
Om een opstartdiskette te maken, dient er een diskette in
het diskettestation van de machine aanwezig te zijn waarop
Etherboot is geïnstalleerd, daarna dient
er naar de map src
in de
mapboom van Etherboot gegaan te
worden, en het volgende ingetypt te worden:
#
gmake bin32/apparaatsoort.fd0
apparaatsoort
hangt af van het
soort Ethernetkaart dat in het schijfloze werkstation
aanwezig is. Raadpleeg het bestand NIC
in dezelfde map om het juiste
apparaatsoort
te bepalen.
Standaard laadt de lader pxeboot(8) de kernel via
NFS. Het kan zodanig gecompileerd worden
dat het TFTP gebruikt door de optie
LOADER_TFTP_SUPPORT
in
/etc/make.conf
te specificeren.
Raadpleeg het commentaar in
/usr/share/examples/etc/make.conf
voor instructies.
Er zijn nog twee andere opties voor
make.conf
die nuttig kunnen zijn bij het
opzetten van een schijfloze machine die als seriële
console gebruikt wordt:
BOOT_PXELDR_PROBE_KEYBOARD
, en
BOOT_PXELDR_ALWAYS_SERIAL
.
Om PXE bij het opstarten van de machine
te gebruiken, is het gewoonlijk nodig om de optie
Boot from network
in het
BIOS te selecteren, of om een functietoets
tijdens de initialisatie van de PC in te typen.
Indien PXE of Etherboot gebruikt wordt, welke is ingesteld om TFTP te gebruiken, is het nodig om tftpd op de bestandsserver aan te zetten:
Maak een map aan van waaruit tftpd
de bestanden serveert, bijvoorbeeld /tftpboot
.
Voeg deze regel toe aan
/etc/inetd.conf
:
tftp dgram udp wait root /usr/libexec/tftpd tftpd -l -s /tftpboot
Het schijnt dat sommige versies van
PXE de TCP-versie
van TFTP vereisen. In dit geval
dient een tweede regel toegevoegd te worden, waarbij
dgram udp
door
stream tcp
vervangen wordt.
inetd dient de
instellingenbestanden opnieuw te lezen. De regel
inetd_enable="YES"
dient in het bestand
/etc/rc.conf
aanwezig te zijn voor de
juiste werking van deze opdracht:
#
service inetd restart
De map tftpboot
kan overal
op de server geplaatst worden. De plaats dient zowel in
inetd.conf
als in
dhcpd.conf
ingesteld te worden.
In alle gevallen dient er ook voor gezorgd te worden dat NFS aanstaat en dat het juiste bestandssysteem op de NFS-server geëxporteerd wordt.
Voeg het volgende toe aan
/etc/rc.conf
:
nfs_server_enable="YES"
Exporteer het bestandssysteem waar de schijfloze
root-map zich bevindt door het volgende aan
/etc/exports
toe te voegen (pas het
aankoppelpunt van het volume aan en vervang
margaux corbieres
door de namen
van de schijfloze werkstations):
/data/misc
-alldirs -romargaux corbieres
mountd dient het
instellingenbestand opnieuw te lezen. Indien het nodig
was om NFS in
/etc/rc.conf
tijdens de eerste stap aan te zetten, is het
waarschijnlijk gewenst om in plaats hiervan opnieuw op te
starten.
#
service mountd restart
Indien Etherboot gebruikt wordt, is het nodig om een kernelinstellingenbestand voor de schijfloze cliënt met de volgende opties (naast de gebruikelijke) aan te maken:
options BOOTP # Gebruik BOOTP om het IP-adres en de hostnaam te verkrijgen options BOOTP_NFSROOT # NFS-mount het root-bestandssysteem door gebruik te maken van de informatie van BOOTP
Het kan ook gewenst zijn om BOOTP_NFSV3
,
BOOT_COMPAT
, en
BOOTP_WIRED_TO
te gebruiken (raadpleeg
hiervoor NOTES
).
De namen van deze opties zijn historisch en enigszins misleidend aangezien ze eigenlijk onverschillig gebruik van DHCP en BOOTP in de kernel mogelijk maken (het is ook mogelijk om strikt gebruik van BOOTP of DHCP te forceren).
De kernel dient gebouwd te worden (zie Hoofdstuk 9, De FreeBSD-kernel instellen) en gekopieerd te worden naar de
plaats die in dhcpd.conf
is
aangegeven.
Indien PXE gebruikt wordt, is het
bouwen van een kernel met bovenstaande opties niet strikt
noodzakelijk (maar wel aangeraden). Door deze opties aan te
zetten zullen er meer verzoeken voor DHCP
tijdens het opstarten van de kernel verstuurd worden, met in
sommige speciale gevallen een klein risico op inconsistentie
tussen de nieuwe waarden en degenen die door pxeboot(8)
zijn ontvangen. Het voordeel van het gebruik van deze
opties is dat de hostnaam als een bijverschijnsel wordt
ingesteld. In de andere gevallen dient de hostnaam op een
andere manier ingesteld te worden, bijvoorbeeld in een
cliënt-specifiek bestand
rc.conf
.
Om laadbaar te zijn met
Etherboot, dienen de
apparaataanwijzingen in de kernel gecompileerd te worden.
Normaalgesproken wordt hiervoor de volgende optie in het
instellingenbestand gebruikt (zie het
instellingencommentaarbestand
NOTES
):
hints "GENERIC.hints"
Er dient een root-bestandssysteem voor de schijfloze
werkstations op de plaats die als root-path
in dhcpd.conf
staat aangegeven aangemaakt
te worden.
Deze methode is snel en installeert een compleet
maagdelijk systeem (niet alleen het root-bestandssysteem) in
DESTDIR
. Hiervoor dient slechts het volgende
script uitgevoerd te worden:
#!/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
Nadat dit gedaan is, kunnen
/etc/rc.conf
en
/etc/fstab
die in
DESTDIR
geplaatst zijn naar behoefte worden
aangepast.
Indien nodig kan een wisselbestand dat zich op de server bevindt via NFS worden benaderd.
De kernel biedt geen ondersteuning om swapruimte via NFS tijdens het opstarten aan te zetten. De swapruimte moet door de opstartscripts worden aangezet, door een beschrijfbaar bestandssysteem aan te koppelen en een wisselbestand aan te maken en aan te zetten. De volgende opdracht maakt een wisselbestand van de juiste grootte aan:
#
dd if=/dev/zero of=/pad/naar/wisselbestand bs=1k count=1 oseek=100000
Om het aan te zetten dient de volgende regel aan
/etc/rc.conf
te worden
toegevoegd:
swapfile=/pad/naar/wisselbestand
Indien het schijfloze werkstation is ingesteld om X te
draaien, is het nodig om het instellingenbestand van
XDM te wijzigen, dat standaard
het foutenlogboek in /usr
plaatst.
Indien de server voor het root-bestandssysteem geen FreeBSD
draait, is het nodig om het root-bestandssysteem op een
FreeBSD-machine aan te maken, en het daarna naar de bestemming
te kopiëren, door gebruik te maken van
tar
of cpio
.
In deze situatie zijn er af en toe problemen met de
speciale bestanden in /dev
,
vanwege verschillen in de groottes van grote/kleine integers. Een
oplossing voor dit probleem is om een map van de
niet-FreeBSD-server te exporteren, deze map op een FreeBSD-machine
aan te koppelen, en devfs(5) te gebruiken om de
apparaatknooppunten transparant voor de gebruiker toe te
wijzen.
Het Preboot eXecution Environment (PXE) van Intel® maakt het mogelijk om het besturingssysteem over het netwerk op te starten. Ondersteuning voor PXE wordt normaliter aangeboden in het BIOS van moderne moederborden, waar het kan worden aangezet in de instellingen van het BIOS wat opstarten over het netwerk mogelijk maakt. Een volledig werkende PXE-opstelling vereist ook correct geconfigureerde DHCP- en TFTP-servers.
Wanneer de gastheercomputer opstart, krijgt het informatie over
DHCP over waar de intiële bootloader staat via
TFTP. Nadat de gastheercomputer deze informatie heeft ontvangen,
downloadt het de bootloader via TFTP en voert
het vervolgens de bootloader uit. Dit is gedocumenteerd in sectie 2.2.1
van de Preboot
Execution Environment (PXE) Specification. In FreeBSD is de
bootloader die tijdens het PXE-proces wordt opgehaald
/boot/pxeboot
. Terwijl
/boot/pxeboot
wordt uitgevoerd, wordt de kernel van
FreeBSD geladen en wordt er verder gegaan met de rest van de opstartprocedure
van FreeBSD. Kijk voor meer informatie over het opstartproces van FreeBSD in
Hoofdstuk 13, Het FreeBSD opstartproces.
Kies een map uit voor een installatie van FreeBSD die over NFS
aangekoppeld kan worden. Bijvoorbeeld een map als /b/tftpboot/FreeBSD/install
.
#
export NFSROOTDIR=/b/tftpboot/FreeBSD/install
#
mkdir -p ${NFSROOTDIR}
Stel de NFS-server in door de instructies in Paragraaf 29.3.2, “NFS instellen” op te volgen.
Exporteer de map via NFS door het volgende aan
/etc/exports
toe te voegen:
/b -ro -alldirs
Herstart de NFS-server:
#
service nfsd restart
Stel inetd(8) in door de stappen zoals in Paragraaf 29.2.2, “Instellingen” beschreven op te volgen.
Voeg de volgende regel toe aan
/etc/inetd.conf
:
tftp dgram udp wait root /usr/libexec/tftpd tftpd -l -s /b/tftpboot
Herstart inetd:
#
service inetd restart
Herbouw de kernel en userland van FreeBSD:
#
cd /usr/src
#
make buildworld
#
make buildkernel
Installeer FreeBSD in de map die over NFS is aangekoppeld:
#
make installworld DESTDIR=${NFSROOTDIR}
#
make installkernel DESTDIR=${NFSROOTDIR}
#
make distribution DESTDIR=${NFSROOTDIR}
Test dat de TFTP-server werkt en dat het de bootloader dat via PXE verkregen zal worden kan downloaden:
#
tftp localhost
tftp>get FreeBSD/install/boot/pxeboot
Received 264951 bytes in 0.1 seconds
Voeg een regel aan ${NFSROOTDIR}/etc/fstab
toe om het root-bestandssysteem over NFS aan te koppelen:
# Device Mountpoint FSType Options Dump Pass mijnhost.example.com:/b/tftpboot/FreeBSD/install / nfs ro 0 0
Vervang mijnhost.example.com
door
de hostnaam of het IP-adres van uw NFS-server.
In dit voorbeeld wordt het root-bestandssysteem als alleen-lezen
aangekoppeld om te voorkomen dat
NFS-cliënten per ongeluk de inhoud van het
root-bestandssysteem wissen.
Stel het root-wachtwoord in voor de chroot(8)-omgeving.
#
chroot ${NFSROOTDIR}
#
passwd
Dit stelt het root-wachtwoord in voor cliëntmachines die over PXE opstarten.
Maak root-logins over SSH mogelijk voor cliëntmachines die
met PXE opstarten door
${NFSROOTDIR}/etc/ssh/sshd_config
te bewerken
en de optie PermitRootLogin
aan te zetten. Dit
is gedocumenteerd in sshd_config(5).
Pas andere wijzigingen toe aan de chroot(8)-omgeving in ${NFSROOTDIR}. Deze wijzigingen zouden het toevoegen van pakketten met pkg_add(1), het bewerken van het wachtwoordbestand met vipw(8) of het bewerken van amd.conf(5)-projecties voor automatisch aankoppelen kunnen zijn. Bijvoorbeeld:
#
chroot ${NFSROOTDIR}
#
pkg_add -r bash
Als u vanaf een NFS-rootvolume opstart, detecteert
/etc/rc
dat u over NFS opstartte en draait het het
script /etc/rc.initdiskless
. Lees het commentaar
in dit script om te begrijpen wat er gebeurt. Het is nodig om
/etc
en /var
geheugen-backed
te maken omdat deze mappen schrijfbaar moeten zijn, maar de NFS-rootmap
is alleen-lezen.
#
chroot ${NFSROOTDIR}
#
mkdir -p conf/base
#
tar -c -v -f conf/base/etc.cpio.gz --format cpio --gzip etc
#
tar -c -v -f conf/base/var.cpio.gz --format cpio --gzip var
Wanneer het systeem opstart, zullen er geheugen-bestandssystemen
voor /etc
en /var
worden aangemaakt en aangekoppeld,
en zal de inhoud van de cpio.gz
-bestanden er
naartoe worden gekopieerd.
PXE heeft een geprepareerde TFTP-server en DHCP-server nodig. De DHCP-server hoeft niet per së dezelfde machine te zijn als de TFTP-server, maar het dient bereikbaar te zijn in uw netwerk.
Installeer de DHCP-server door de instructies
op te volgen zoals beschreven in Paragraaf 29.5.7, “Een DHCP-server installeren en instellen”. Zorg ervoor dat
/etc/rc.conf
en
/usr/local/etc/dhcpd.conf
correct zijn
geconfigureerd.
Stel in /usr/local/etc/dhcpd.conf
next-server
, filename
en
option root-path
in om het IP-adres van uw
TFTP-server, het pad naar
/boot/pxeboot
en het pad naar het
NFS-root-bestandssysteem op te geven. Hier is
een voorbeeld van de instellingen voor
dhcpd.conf
:
subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.2 192.168.0.3 ; option subnet-mask 255.255.255.0 ; option routers 192.168.0.1 ; option broadcast-address 192.168.0.255 ; option domain-name-server 192.168.35.35, 192.168.35.36 ; option domain-name "example.com"; # IP-adres van TFTP server next-server 192.168.0.1 ; # pad van bootloader verkregen via TFTP filename "FreeBSD/install/boot/pxeboot" ; # pxeboot bootloader zal proberen om deze map te NFS-mounten voor root-FS option root-path "192.168.0.1:/b/tftpboot/FreeBSD/install/" ; }
Ga naar het BIOS-configuratiemenu wanneer de cliëntmachine opstart. Stel het BIOS zo in dat het van het netwerk opstart. Indien alle vorige configuratiestappen correct zijn, zou alles "gewoon" moeten werken.
Gebruik de poort net/wireshark om netwerkverkeer met betrekking tot het PXE-opstartproces te debuggen, wat geïllustreerd is in onderstaand diagram. In Paragraaf 31.8.3, “Een DHCP-server prepareren” is een voorbeeldconfiguratie gegeven waarbij de DHCP-, TFTP- en NFS-servers op dezelfde machine staan. Deze servers kunnen echter op verschillende machines staan.
DHCP-server antwoordt met IP-adres,
| |
Cliënt verstuurt TFTP-verzoek
naar | |
TFTP-server antwoordt en verstuurt
| |
Cliënt voert |
Controleer dat het bestand pxeboot
via
TFTP kan worden verkregen. Kijk op uw
TFTP-server in
/var/log/xferlog
om er zeker van de zijn dat
het bestand pxeboot
van de juiste locatie is
opgehaald. Om de configuratie met bovenstaande
dhcpd.conf
te testen:
#
tftp 192.168.0.1
tftp>get FreeBSD/install/boot/pxeboot
Received 264951 bytes in 0.1 seconds
Lees tftpd(8) en tftp(1). De BUGS
secties in deze pagina's documenteren enkele beperkingen van
TFTP.
Controleer dat het root-bestandssysteem via
NFS kan worden aangekoppeld. Om de configuratie
met bovenstaande dhcpd.conf
te testen:
#
mount -t nfs 192.168.0.1:/b/tftpboot/FreeBSD/install /mnt
Lees de code in
src/sys/boot/i386/libi386/pxe.c
om te begrijpen hoe de pxeboot
-lader variabelen
als boot.nfsroot.server
en
boot.nfsroot.path
instelt. Deze variabelen
worden vervolgens gebruikt in de root-aankoppelcode voor diskvrij
NFS in src/sys/nfsclient/nfs_diskless.c
.
Lees pxeboot(8) en loader(8).
Een goede bron voor informatie over de technologie van en hardware over ISDN is Dan Kegel's ISDN Page.
Hieronder staat een snelle eenvoudige handleiding voor ISDN:
Indien u in Europa leeft is het raadzaam om de sectie over ISDN-kaarten te bestuderen.
Indien het plan is om ISDN hoofdzakelijk te gebruiken om via een niet-toegewijde inbellijn een verbinding met het Internet te maken, zijn Terminal Adapters wellicht een optie. Dit biedt de meeste flexibiliteit, en de minste problemen bij het wisselen van providers.
Indien twee LANs met elkaar verbonden worden, of indien er een toegewijde ISDN-verbinding wordt gebruikt om met het Internet te verbinden, is het gebruik van een zelfstandige router/bridge te overwegen.
Financiële kosten zijn een belangrijke factor in de uiteindelijke oplossing. De volgende opties zijn gesorteerd in volgorde van oplopende kosten.
De ISDN-implementatie in FreeBSD biedt alleen ondersteuning voor de DSS1/Q.931 (of Euro-ISDN) standaard indien passieve kaarten gebruikt worden. Sommige actieve kaarten worden ondersteund indien de firmware ook ondersteuning voor andere signaleringsprotocollen biedt; dit omvat ook de eerst ondersteunde Primary Rate (PRI) ISDN-kaart.
De isdn4bsd-software biedt de
mogelijkheid om met andere ISDN-routers te verbinden door
òfwel IP over rauwe HDLC òfwel synchrone PPP te
gebruiken: òfwel via kernel-PPP met
isppp
, een aangepast stuurprogramma voor
sppp(4), òfwel via het gebruikersprogramma
ppp(8). Door het gebruikersprogramma ppp(8) te
gebruiken, is het combineren van twee of meer ISDN B-kanalen
mogelijk. Ook zijn een toepassing die de telefoon beantwoordt
en vele gereedschappen zoals een 300 Baud-modem in software
beschikbaar.
Een groeiend aantal ISDN-kaarten voor de PC wordt door FreeBSD ondersteund en volgens de rapportages wordt het succesvol in heel Europa en in vele andere delen van de wereld gebruikt.
De ondersteunde passieve ISDN-kaarten zijn meestal uitgerust met de Infineon (voormalig Siemens) ISAC/HSCX/IPAC ISDN-chipsets, maar ook worden ISDN-kaarten ondersteund met chips van Cologne Chip (alleen ISA-bus), PCI-kaarten met Winbond W6692-chips, enkele kaarten met combinaties van Tiger300/320/ISAC chipsets en enkele kaarten die gebaseerd zijn op fabrikantspecifieke chipsets zoals de AVM Fritz!Card PCI V.1.0 en de AVM Fritz!Card PnP.
Momenteel zijn de actieve ISDN-kaarten die ondersteund worden de AVM B1 (ISA en PCI) BRI-kaarten en de AVM T1 PCI PRI-kaarten.
Kijk voor documentatie over isdn4bsd op de homepage van isdn4bsd, welke ook verwijzingen naar tips, errata, en veel meer documentatie zoals het isdn4bsd handboek bevat.
Indien er interesse is om ondersteuning voor een ander ISDN-protocol, een momenteel niet-ondersteunde ISDN-kaart voor de PC, of een andere verbetering voor isdn4bsd toe te voegen, dient er contact opgenomen te worden met Hellmuth Michaelis.
Voor vragen over het installeren, instellen, en problemen met isdn4bsd oplossen is er een mailinglijst, freebsd-isdn, beschikbaar.
Terminal adapters (TA) zijn voor ISDN wat modems voor gewone telefoonlijnen zijn.
De meeste TA's gebruiken de standaard opdrachtenverzameling van de Hayes-modem, en kunnen direct als vervanging van een modem gebruikt worden.
Een TA zal als een gewoon modem werken behalve dat de verbindings- en doorvoersnelheden veel hoger zullen zijn dan van het oude modem. Het is noodzakelijk om PPP precies hetzelfde als voor het modem in te stellen. Zorg ervoor dat de seriële snelheid zo hoog mogelijk wordt ingesteld.
Het grootste voordeel van met een TA met een internetprovider te verbinden is de mogelijkheid tot dynamisch PPP. Aangezien IP-adresruimte steeds schaarser wordt, zijn de meeste providers niet meer bereid om een statisch IP te geven. De meeste zelfstandige routers zijn niet in staat tot dynamische IP-toewijzing.
TA's zijn geheel afhankelijk van het PPP-daemon dat gedraaid wordt voor hun mogelijkheden en stabiliteit van de verbinding. Dit maakt het mogelijk om gemakkelijk om op een FreeBSD-machine van een modem naar ISDN over te gaan, indien PPP reeds is ingesteld. Echter, dezelfde problemen die er waren met het PPP-programma zullen blijven voorkomen.
Indien maximale stabiliteit gewenst is, dient de kernel PPP-, niet de gebruikers-PPP-optie gebruikt te worden.
Van de volgende TA's is bekend dat ze met FreeBSD werken:
Motorola BitSurfer en BitSurfer Pro
Adtran
De meeste andere TA's zullen waarschijnlijk ook werken, TA-verkopers proberen er zeker van te zijn dat hun product het meeste van de AT-opdrachtverzameling van het standaardmodem accepteert.
Het echte probleem met externe TA's is dat, net zoals bij modems, een goede seriële kaart in de computer nodig is.
Voor een goed begrip van seriële apparaten dient de tutorial FreeBSD Serial Hardware en de verschillen tussen asynchrone en synchrone seriële poorten gelezen te worden.
Een TA die op een standaard seriële poort (asynchroon) van een PC draait beperkt de snelheid tot 115.2 Kbps, zelfs als er een 128 Kbps-verbinding beschikbaar is. Om de volledige 128 Kbps waartoe ISDN in staat is te gebruiken, dient de TA op een synchrone seriële kaart overgeplaatst te worden.
Het kopen van een interne TA voorkomt het probleem van synchroon/asynchroon niet. Interne TA's hebben simpelweg een seriële poortchip van een standaard PC ingebouwd. Dit ontlast de gebruiker alleen van het kopen van nog een seriële kabel en het vinden van nog een leeg elektronisch uitbreidingsslot.
Een synchrone kaart met een TA is minstens zo snel als een zelfstandige router, en wanneer het door een eenvoudige 386 met FreeBSD erop wordt aangestuurd, waarschijnlijk flexibeler.
De keuze tussen synchrone kaart/TA en zelfstandige router is grotendeels religieus. Hierover zijn wat discussies in de mailinglijsten gevoerd. Het wordt aangeraden om de archieven te doorzoeken voor de volledige discussie.
ISDN-bridges of -routers zijn in het geheel niet specifiek voor FreeBSD of enig ander besturingssysteem. Raadpleeg voor een volledigere beschrijving van de technologie van routing en bridging een referentieboek over netwerken.
In deze sectie zullen de termen router en bridge door elkaar worden gebruikt.
Aangezien de prijzen van eenvoudige ISDN-routers/-bridges zakken, zal dit waarschijnlijk een steeds populairdere keuze worden. Een ISDN-router is en kleine doos die direct in het plaatselijke Ethernetnetwerk geprikt wordt, en zijn eigen verbinding met de andere bridge/router beheert. Het heeft ingebouwde software om via PPP en andere populaire protocollen te communiceren.
Een router staat veel snellere doorvoer dan een standaard-TA toe, aangezien het een volledig synchrone ISDN-verbinding zal gebruiken.
Het grootste probleem met ISDN-routers en -bridges is dat samenwerking tussen fabrikanten nog steeds een probleem kan zijn. Indien er plannen zijn om met een internetprovider te verbinden, is het raadzaam de wensen met hen te bespreken.
Indien er gepland is om twee LAN-segmenten met elkaar te verbinden, zoals het thuis-LAN en het kantoor-LAN, is dit de eenvoudigste en onderhoudarmste oplossing. Aangezien de apparatuur voor beide kanten van de verbinding wordt gekocht is het zeker dat de verbinding zal werken.
De volgende installatie kan worden gebruikt om bijvoorbeeld een thuiscomputer of een netwerk van een afdelingskantoor met een netwerk van het hoofdkantoor te verbinden:
Het netwerk gebruikt een topologie gebaseerd op een bus met een 10 base 2 Ethernet (“thinnet”). Verbind indien nodig de router met de netwerkkabel met een AUI/10BT transceiver.
Wanneer het thuis-/afdelingskantoornetwerk uit slechts één computer bestaat kan een twisted-pair crossover-kabel gebruikt worden om direct met de zelfstandige router te verbinden.
Een groot voordeel van de meeste routers/bridges is dat ze gelijktijdig 2 gescheiden onafhankelijke PPP-verbindingen met 2 gescheiden sites toestaan. Dit wordt door de meeste TA's niet ondersteund, behalve voor specifieke (gewoonlijk dure) modellen die twee seriële poorten hebben. Dit dient niet met kanaalbinding, MPP, etcetera verward te worden.
Dit kan een erg handige eigenschap zijn indien, bijvoorbeeld, er een toegewijde ISDN-verbinding op kantoor is en het gewenst is om deze af te tappen, maar een andere ISDN-lijn op het werk ongewenst is. Een router op kantoor kan een toegewijde B-kanaal verbinding (64 Kbps) met het Internet beheren en het andere B-kanaal voor een gescheiden gegevensverbinding gebruiken. Het tweede B-kanaal kan voor inbellen, uitbellen, of dynamisch binden (MPP, etcetera) gebruikt worden met het eerste B-kanaal voor meer bandbreedte.
Een Ethernet-bridge staat ook toe om meer dan alleen IP-verkeer te verzenden. Het is ook mogelijk om IPX/SPX of enig ander protocol te gebruiken.
Het Network Address Translation daemon van FreeBSD, in het algemeen bekend als natd(8), is een daemon dat rauwe binnenkomende IP-pakketten accepteert, de bron naar die van de plaatselijke machine verandert en de pakketten terug in de uitgaande IP-pakketstroom injecteert. natd(8) doet dit door het IP-adres en de poort van de bron zo te veranderen dat wanneer de gegevens weer ontvangen worden, het in staat is om de originele plaats van de gegevens te achterhalen en ze door te sturen naar de originele aanvrager.
NAT wordt het meest gebruikt wat in het algemeen bekend is als het delen van een Internetverbinding.
Wegens de krimpende IP-ruimte in IPv4, en het groeiend aantal gebruikers van consumentenlijnen op hoge snelheid zoals kabel of DSL, hebben steeds meer mensen een oplossing als het delen van een Internetverbinding nodig. Vanwege de mogelijkheid om meerdere computers online te verbinden door één verbinding en IP-adres is natd(8) een redelijke keuze.
In de meeste gevallen heeft een gebruiker een machine verbonden met een kabel- of DSL-lijn met één IP-adres en is het gewenst om deze ene verbonden computer te gebruiken om Internettoegang aan meerdere computers over een LAN te geven.
Hiervoor dient de FreeBSD-machine op het Internet dienst doen als gateway. Deze gateway-machine heeft twee NICs nodig — één voor de verbinding met de Internetrouter, de andere voor de verbinding met het LAN. Alle machines op het LAN zijn verbonden door een hub of switch.
Er zijn vele manieren om een LAN via een FreeBSD-gateway met het Internet te verbinden. Dit voorbeeld behandelt slechts een gateway met tenminste twee NICs.
Dit soort installaties wordt in het algemeen gebruikt om een Internetverbinding te delen. Eén van de LAN-machines is verbonden met het Internet. De rest van de machines hebben internettoegang via die “gateway”-machine.
De mogelijkheden van de kernel voor network address translation met
natd(8) staan niet aan in GENERIC
, maar ze
kunnen worden voorgeladen tijdens het opstarten door enkele opties aan
/boot/loader.conf
toe te voegen:
ipfw_load="YES" ipdivert_load="YES"
Ook moet de tunable
net.inet.ip.fw.default_to_accept
op
1
worden gezet:
net.inet.ip.fw.default_to_accept="1"
Het is een goed idee om deze optie aan te zetten tijdens de
eerste pogingen om een firewall en NAT gateway te installeren. Op
deze manier zal het standaardbeleid van ipfw(8)
allow ip from any to any
zijn in plaats van het
minder vrije deny ip from any to any
, en zal het
iets moeilijker zijn om buitengesloten te worden net na het opnieuw
opstarten van het systeem.
Wanneer modules geen optie zijn of wanneer het gewenst is om alle benodigde mogelijkheden in de draaiende kernel te bouwen, dienen de volgende opties in het kernelinstellingenbestand aanwezig te zijn:
options IPFIREWALL options IPDIVERT
De volgende opties kunnen ook van pas komen:
options IPFIREWALL_DEFAULT_TO_ACCEPT options IPFIREWALL_VERBOSE
Om de firewall en NAT tijdens het opstarten aan te zetten, moet
het volgende in /etc/rc.conf
staan:
gateway_enable="YES"firewall_enable="YES"
firewall_type="OPEN"
natd_enable="YES" natd_interface="
fxp0
"natd_flags=""
![]()
Stelt de machine in om dienst te doen als gateway. Het draaien van
sysctl net.inet.ip.forwarding=1
heeft hetzelfde effect.Activeert de firewall-regels in
/etc/rc.firewall
tijdens het opstarten.Dit specificeert een vooraf gedefinieerde verzameling van firewall-regels die alles binnenlaat. Raadpleeg
/etc/rc.firewall
voor aanvullende types.Geeft aan welke interface te gebruiken om pakketten naar door te sturen (de interface die met het Internet verbonden is).
Alle aanvullende instelopties die tijdens het opstarten aan natd(8) worden doorgegeven.
Het gedefinieerd hebben van de bovenstaande opties in
/etc/rc.conf
zal natd -interface
fxp0
draaien tijdens het opstarten. Dit kan ook
handmatig worden gedraaid.
Het is ook mogelijk om een instellingenbestand voor
natd(8) te gebruiken als er teveel opties zijn om door te
geven. In dit geval dient het instellingenbestand te worden
gedefinieerd door de volgende regel aan
/etc/rc.conf
toe te voegen:
natd_flags="-f /etc/natd.conf"
Het bestand /etc/natd.conf
zal een
lijst met instelopties bevatten, één per regel.
Het geval in de volgende sectie bijvoorbeeld zal het volgende
bestand gebruiken:
redirect_port tcp 192.168.0.2:6667 6667 redirect_port tcpc 192.168.0.3:80 80
Raadpleeg voor meer informatie over het
instellingenbestand het gedeelte over de optie
-f
van de hulppagina natd(8).
Elke machine en interface achter het LAN dient een IP-adres in de privé-netwerkruimte toegewezen te krijgen zoals gedefinieerd in RFC 1918 en een standaard gateway van het interne IP-adres van de natd-machine hebben.
Bijvoorbeeld, cliënt A
en
B
achter het LAN hebben IP-adressen 192.168.0.2
en 192.168.0.3
, terwijl de LAN-interface
van de natd-machine IP-adres 192.168.0.1
heeft. De standaard
gateway van cliënt A
en
B
dient ingesteld te worden op die van de
natd-machine, 192.168.0.1
. Voor de externe, of
Internet-interface van de
natd-machine zijn geen speciale
wijzigingen nodig om natd(8) te laten werken.
Het nadeel van natd(8) is dat de LAN-cliënten niet vanaf het Internet toegankelijk zijn. Cliënten op het LAN kunnen uitgaande verbinden naar de wereld maken maar kunnen geen inkomende verbindingen ontvangen. Dit vormt een probleem wanneer geprobeerd wordt om Internetdiensten op een van de LAN-cliëntmachines te draaien. Een eenvoudige om dit te omzeilen is om bepaalde Internetpoorten op de natd-machine om te leiden naar een LAN-cliënt.
Bijvoorbeeld, er draait een IRC-server op cliënt
A
, en er draait een webserver op cliënt
B
. Om dit goed te laten werken, dienen
verbindingen die worden ontvangen op poorten 6667 (IRC) en 80
(web) te worden omgeleid naar de respectievelijke
machines.
De optie -redirect_port
dient aan
natd(8) met de juiste opties te worden doorgegeven. De
syntaxis is als volgt:
-redirect_port proto doelIP:doelPOORT[-doelPOORT] [aliasIP:]aliasPOORT[-aliasPOORT] [verIP[:verrePOORT[-verrePOORT]]]
In het bovenstaand voorbeeld dienen de argumenten te zijn:
-redirect_port tcp 192.168.0.2:6667 6667 -redirectport tcp 192.168.0.3:80 80
Dit zal de juiste tcp-poorten naar de LAN-cliënt-machines omleiden.
Het argument -redirect_port
kan worden
gebruikt om poortbereiken over individuele poorten aan te geven.
Bijvoorbeeld, tcp 192.168.0.2:2000-3000
2000-3000
zal alle verbindingen die op poorten
2000 tot 3000 worden ontvangen omleiden naar poorten 2000 tot
3000 op cliënt A
.
Deze opties kunnen worden gebruikt wanneer natd(8)
direct wordt gedraaid, wanneer ze zijn geplaatst in de optie
natd_flags=""
van
/etc/rc.conf
, of wanneer ze via een
instellingenbestand worden doorgegeven.
Raadpleeg voor meer instelopties natd(8).
Adressen omleiden is handig wanneer er verschillende
IP-adressen beschikbaar zijn, maar ze op één
machine moeten zitten. Hiermee kan natd(8) aan elke
LAN-cliënt een eigen extern IP-adres toewijzen. Vervolgens
overschrijft natd(8) de uitgaande pakketten van de
LAN-cliënten met het juiste IP-adres en leidt het al het
binnenkomende verkeer op dat ene IP-adres terug naar de
specifieke LAN-cliënt. Dit staat ook bekend als statisch
NAT. Bijvoorbeeld, de IP-adressen 128.1.1.1
, 128.1.1.2
, en 1281.2..3
behoren toe aan de
natd gateway-machine. 128.1.1.1
kan gebruikt worden als het
externe IP-adres van de natd
gateway-machine, terwijl 128.1.1.2
en 128.1.1.3
terug worden gestuurd naar
de LAN-cliënten A
en
B
.
De syntaxis van -redirect_address
is als
volgt:
-redirect_address lokaalIP publiekIP
lokaalIP | Het interne IP-adres van de LAN-cliënt. |
publiekIP | Het externe IP-adres overeenkomend met de LAN-cliënt. |
In het voorbeeld zou dit argument zijn:
-redirect_address 192.168.0.2 128.1.1.2 -redirect_address 192.168.0.3 128.1.1.3
Net zoals -redirect_port
worden ook deze
argumenten geplaatst in de optie
natd_flags=""
van
/etc/rc.conf
, of doorgegeven via een
instellingenbestand. Met adresomleiding is het omleiden van
poorten niet nodig aangezien alle gegevens die op een bepaald
IP-adres worden ontvangen worden omgeleidt.
Het externe IP-adres op de natd machine dient actief en naar een externe interface gealiased te zijn. In rc.conf(5) staat hoe dit te doen.
IPv6 (ook bekend als IPng “IP next generation”) is de nieuwe versie van het welbekende IP-protocol (ook bekend als IPv4). Net zoals de andere huidige *BSD-systemen, bevat FreeBSD de referentie-implementatie van KAME IPv6. Het FreeBSD-systeem wordt dus geleverd met alles wat nodig is om met IPv6 te experimenteren. Deze sectie richt zich op het ingesteld en draaiend krijgen van IPv6.
In de vroege jaren 1990 werden mensen zich bewust van de snel krimpende adresruimte van IPv4. De uitbreidingssnelheid van het Internet baarde twee grote zorgen:
Geen adresruimte meer. Tegenwoordig is dit niet zo'n
probleem meer aangezien RFC1918 voor privé-adresruimte
(10.0.0.0/8
,
172.16.0.0/12
, en
192.168.0.0/16
) en Network
Address Translation (NAT) worden gebruikt.
De regels in de routeertabellen werden te groot. Dit is tegenwoordig nog steeds een probleem.
IPv6 behandelt deze en vele andere zaken:
128-bits adresruimte. Met andere woorden, er zijn theoretisch 340.282.366.920.938.463.463.374.607.431.768.211.456 adressen beschikbaar. Dit betekent dat er ongeveer 6,67 * 10^27 IPv6-adressen per vierkante meter op onze planeet beschikbaar zijn.
Routers zullen alleen netwerkaggregatie-adressen in hun routeertabellen opslaan en dus de gemiddelde ruimte van een routeertabel verkleinen tot 8192 regels.
IPv6 heeft ook vele andere nuttige eigenschappen zoals:
Automatische adresconfiguratie (RFC2462)
Anycast-adressen (“ééen-van-velen”)
Verplichte multicast-adressen
IPsec (IP security)
Versimpelde structuur van de headers
Mobiele IP
Overgangsmechanismen voor IPv6 naar IPv4
Bekijk voor meer informatie:
IPv6-overzicht op playground.sun.com
Er zijn verschillende soorten IPv6-adressen: unicast, anycast, en multicast.
Unicast-adressen zijn de bekende adressen. Een pakket dat naar een unicast-adres wordt verzonden arriveert precies op de interface dat bij dat adres hoort.
Anycast-adressen zijn syntactisch niet van unicast-adressen te onderscheiden maar ze adresseren een groep interfaces. Een pakket dat bestemd is voor een anycast-adres zal bij de dichtstbijzijnde interface arriveren (in router-metrieken). Anycast-adressen mogen alleen door routers worden gebruikt.
Multicast-adressen identificeren een groep interfaces. Een pakket dat bestemd is voor en multicast-adres zal bij alle interfaces die bij de multicast-groep horen arriveren.
Het broadcast-adres van IPv4 (gewoonlijk xxx.xxx.xxx.255
) wordt in IPv6 met
multicast-adressen uitgedrukt.
IPv6-adres | Prefixlengte (bits) | Beschrijving | Opmerkingen |
---|---|---|---|
:: | 128 bits | niet gespecificeerd | cf. 0.0.0.0 in IPv4 |
::1 | 128 bits | teruglusadres | cf. 127.0.0.1 in
IPv4 |
::00:xx:xx:xx:xx | 96 bits | ingebouwd IPv4 | De laagste 32 bits zijn het IPv4-adres. Ook “IPv4 compatibel IPv6-adres” genoemd. |
::ff:xx:xx:xx:xx | 96 bits | IPv4-afgebeeld IPv6-adres | De laagste 32 bits zijn het IPv4-adres. Voor hosts die geen IPv6 ondersteunen. |
fe80:: -
feb:: | 10 bits | link-lokaal | cf. teruglusadres in IPv4 |
fec0:: -
fef:: | 10 bits | site-lokaal | |
ff:: | 8 bits | multicast | |
001 (base 2) | 3 bits | globale unicast | Alle globale unicast-adressen worden vanuit deze pool toegewezen. De eerste 3 bits zijn “001”. |
De canonieke vorm wordt weergegeven als: x:x:x:x:x:x:x:x
, waarbij elke
“x” een 16-bits hexadecimale waarde is.
Bijvoorbeeld FEBC:A574:382B:23C1:AA49:4592:4EFE:9982
Vaak bevat een adres lange deelstrings van allen nullen,
daarom kan per adres één zo'n deelstring worden
afgekort als “::”. Ook kunnen maximaal drie
voorlopende “0”'s per hexadecimaal viertal worden
weggelaten. Bijvoorbeeld, fe80::1
komt overeen met de canonieke
vorm fe80:0000:0000:0000:0000:0000:0000:0001
.
Een derde vorm is het schrijven van de laatste 32 bits in de
bekende (decimale) IPv4-stijl met punten “.” als
scheidingstekens. Bijvoorbeeld, 2002::10.0.0.1
komt overeen met de
(hexadecimale) canonieke representatie 2002:0000:0000:0000:0000:0000:0a00:0001
wat weer hetzelfde is als 2002::a00:1
.
Op dit punt dient de lezer het volgende te begrijpen:
#
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
fe80::200:21ff:fe03:8e1%rl0
is een automatisch ingesteld link-lokaal adres. Het is als deel
van de automatische instelling vanuit het MAC-adres
aangemaakt.
Kijk voor verdere informatie over de structuur van IPv6-adressen op RFC3513.
Er zijn momenteel vier manieren om met andere IPv6-hosts en -netwerken te verbinden:
Neem contact op met de Internetprovider om te zien of ze al IPv6 aanbieden.
SixXS biedt wereldwijd tunnels met eindpunten aan.
Tunnelen via 6-naar-4 (RFC3068)
Gebruik de poort net/freenet6 indien er een inbelverbinding wordt gebruikt.
Er waren twee soorten DNS-records voor IPv6. De IETF heeft A6-records overbodig verklaard. AAAA-records zijn nu de standaard.
AAAA-records gebruiken gaat rechttoe-rechtaan. Wijs de hostnaam toe aan het nieuwe IPv6-adres dat net ontvangen is door het volgende aan de DNS-bestand voor primaire zones toe te voegen:
MIJNHOSTNAAM AAAA MIJNIPv6ADRES
Vraag het aan de DNS-provider indien de DNS-zones niet zelf worden geserveerd. De huidige versies van bind (versie 8.3 en 9) en dns/djbdns (met de IPv6-patch) ondersteunen AAAA-records.
Deze instellingen helpen bij het configureren van een
machine in het LAN die als cliënt in plaats van router
dienst zal doen. Om rtsol(8) automatisch de interface
tijdens het opstarten te laten configureren op
FreeBSD 9.X
en nieuwer dient het volgende
aan rc.conf
toegevoegd te worden:
ipv6_prefer="YES"
Voeg voor FreeBSD 8.X
en ouder het
volgende toe:
ipv6_enable="YES"
Voeg het volgende toe om statisch een IP-adres zoals
2001:471:1f11:251:290:27ff:fee0:2093
aan de interface fxp0
toe te
voegen voor FreeBSD 9.X
:
ifconfig_fxp0_ipv6="2001:471:1f11:251:290:27ff:fee0:2093 prefixlen 64
"
Zorg ervoor dat prefixlen 64
wordt
vervangen door de juiste waarde voor het subnet van de
computer.
Voeg voor FreeBSD 8.X
het volgende
toe:
ipv6_ifconfig_fxp0="2001:471:1f11:251:290:27ff:fee0:2093"
Voeg het volgende aan /etc/rc.conf
toe om een standaardrouter 2001:471:1f11:251::1
toe te
wijzen:
ipv6_defaultrouter="2001:471:1f11:251::1"
Deze paragraaf helpt bij het opvolgen van de aanwijzingen
die de tunnelprovider heeft gegeven en ze om te zetten in
instellingen die blijven na een herstart. Om de tunnel
tijdens het opstarten te herstellen kan het volgende in
/etc/rc.conf
gebruikt worden:
Noem de generieke tunnelinterfaces die zullen worden
ingesteld, bijvoorbeeld gif0
:
gif_interfaces="gif0"
Om de interface met een lokaal eindpunt
MIJN_IPv4_ADRES
in te stellen naar
een ver eindpunt
VER_IPv4_ADRES
:
gifconfig_gif0="MIJN_IPv4_ADRES VER_IPv4_ADRES
"
Voeg het volgende toe om het IPv6-adres dat is toegewezen
als het eindpunt van de IPv6-tunnel te gebruiken voor
FreeBSD 9.X
en nieuwer:
ifconfig_gif0_ipv6="inet6 MIJN_TOEGEWEZEN_IPv6_TUNNEL_EINDPUNT_ADRES
"
Voeg voor FreeBSD 8.X
en eerder het
volgende toe:
ipv6_ifconfig_gif0="MIJN_TOEGEWEZEN_IPv6_TUNNEL_EINDPUNT_ADRES
"
Nu hoeft alleen de standaardroute voor IPv6 ingesteld te worden. Dit is de andere kant van de IPv6-tunnel:
ipv6_defaultrouter="MIJN_IPv6_VER_TUNNEL_EINDPUNT_ADRES
"
Deze sectie helpt bij het instellen van rtadvd(8) om de standaard IPv6-route te adverteren.
Het volgende is nodig in /etc/rc.conf
om rtadvd(8) aan te zetten:
rtadvd_enable="YES"
Het is belangrijk om de interface te specificeren waarop het
IPv6-routerverzoek plaatsvindt. Om bijvoorbeeld rtadvd(8)
te vertellen om fxp0
te
gebruiken:
rtadvd_interfaces="fxp0"
Nu dient het instellingenbestand
/etc/rtadvd.conf
aangemaakt te worden.
Hier is een voorbeeld:
fxp0:\ :addrs#1:addr="2001:471:1f11:246::":prefixlen#64:tc=ether:
Vervang fxp0
door de interface die
gebruikt gaat worden.
Vervang vervolgens 2001:471:1f11:246::
met de prefix van uw
toewijzing.
Indien een /64
subnet is
toegewezen, hoeft er verder niets veranderd te worden. In
andere gevallen dient de juiste waarde voor
prefixlen#
gebruikt te worden.
Klassiek IP over ATM (CLIP) is de eenvoudigste methode om Asynchronous Transfer Mode (ATM) met IP te gebruiken. Het kan met geswitchte verbindingen (SVCs) en met permanente verbindingen (PVCs) gebruikt worden. Deze sectie beschrijft hoe een netwerk gebaseerd op PVCs op te zetten.
De eerste methode om een CLIP met PVCs op te zetten is om elke machine met elke andere machine in het netwerk te verbinden via een toegewijde PVC. Hoewel dit eenvoudig te configureren is, wordt het onpraktisch voor een groter aantal machines. Dit netwerk gaat ervan uit dat er vier machines in het netwerk zijn, allen verbonden met het ATM netwerk met een ATM adapterkaart. De eerste stap is het plannen van de IP-adressen en de ATM verbindingen tussen de machines. Het volgende wordt gebruikt:
Host | IP-adres |
---|---|
hostA | 192.168.173.1 |
hostB | 192.168.173.2 |
hostC | 192.168.173.3 |
hostD | 192.168.173.4 |
Om een volledig geschakeld net te bouwen is er een ATM-verbinding nodig tussen elk paar machines:
Machines | VPI.VCI koppel |
---|---|
hostA - hostB | 0.100 |
hostA - hostC | 0.101 |
hostA - hostD | 0.102 |
hostB - hostC | 0.103 |
hostB - hostD | 0.104 |
hostC - hostD | 0.105 |
De VPI- en VCI-waarde kunnen aan beide kanten van de verbinding verschillen, maar voor de eenvoud wordt aangenomen dat ze hetzelfde zijn. Vervolgens dienen de ATM-interfaces op elke host geconfigureerd te worden:
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
aannemende dat de ATM-interface op alle hosts
hatm0
is. Nu dienen de PVCs op
hostA
geconfigureerd te worden (er wordt
aangenomen dat ze reeds op de ATM-switches zijn geconfigureerd,
raadpleeg de handleiding van de switch hoe dit te doen).
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
Uiteraard kunnen ook andere verkeerscontracten dan UBR worden gebruikt indien de ATM-adapter die ondersteunt. In dit geval wordt de naam van het verkeerscontract gevolgd door de parameters van het verkeer. Hulp voor het gereedschap atmconfig(8) kan verkregen worden met:
#
atmconfig help natm add
of in de hulppagina atmconfig(8).
Dezelfde configuratie kan ook bereikt worden via
/etc/rc.conf
. Voor
hostA
wordt dit:
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"
De huidige toestand van alle CLIP routes kan worden verkregen met:
hostA#
atmconfig natm show
Het Common Address Redundancy Protocol, of CARP, staat toe dat meerdere hosts hetzelfde IP-adres gebruiken. In sommige opstellingen wordt dit gebruikt voor beschikbaarheid of loadbalancing. Hosts kunnen ook gescheiden IP-adressen gebruiken, zoals in het voorbeeld dat hier is gegeven.
Om ondersteuning voor CARP aan te zetten, dient de FreeBSD-kernel herbouwd zoals beschreven in Hoofdstuk 9, De FreeBSD-kernel instellen met de volgende optie:
device carp
Als alternatief kan de if_carp.ko
module geladen worden tijdens het opstarten. Voeg de volgende
regel toe aan /boot/loader.conf
:
if_carp_load="YES"
De functionaliteit van CARP zou nu
beschikbaar moeten zijn en kan met verschillende
sysctl
-OIDs worden
bijgesteld:
OID | Beschrijving |
---|---|
net.inet.carp.allow | Accepteer inkomende CARP pakketten. Staat standaard aan. |
net.inet.carp.preempt | Deze optie zet alle CARP interfaces down op de host wanneer er een down gaat. Staat standaard uit. |
net.inet.carp.log | De waarde 0 zet alle logging uit.
De waarde 1 zet het loggen van slechte
CARP-pakketten aan. Waardes hoger dan
1 zet het loggen van
toestandsveranderingen van de CARP
interfaces aan. De standaardwaarde is
1 . |
net.inet.carp.arpbalance | Balanceer lokaal netwerkverkeer met ARP. Staat standaard uit. |
net.inet.carp.suppress_preempt | Een alleen-lezen OID die de
toestand van preëmptie-onderdrukking weergeeft.
Preëmptie kan worden onderdrukt wanneer de verbinding
op een interface afwezig is. De waarde
0 betekent dat preëmptie niet
onderdrukt is. Elk probleem verhoogt deze
OID. |
De CARP-apparaten zelf kunnen met het
commando ifconfig
worden aangemaakt:
#
ifconfig carp0 create
In een echte omgeving hebben deze interfaces unieke identificatienummers, bekend als een VHID, nodig. Dit VHID of Virtual Host Identification zal worden gebruikt om de hosts op het netwerk te onderscheiden.
Eén gebruik van CARP, zoals boven aangegeven, is serverbeschikbaarheid. Dit voorbeeld geeft failover-ondersteuning voor drie hosts, met allemaal een uniek IP-adres en dezelfde webinhoud. Deze machines zullen samen met een Round Robin DNS configuratie dienst doen. De failover-machine zal twee aanvullende CARP-interfaces hebben, één voor elk van de IP's van de contentservers. Wanneer er een storing optreedt, zou de failover-server het IP-adres van de falende machine moeten oppikken. Dit betekent dat de storing geheel onmerkbaar zou moeten zijn voor de gebruiker. De failover-server heeft dezelfde inhoud en diensten nodig als de andere contentservers waarvoor het moet invallen.
De twee machines dienen identiek geconfigureerd te worden
op de gegeven hostnamen en VHIDs na. Dit
voorbeeld noemt deze machines respectievelijk
hosta.example.org
en
hostb.example.org
. Ten eerste dienen de
benodigde regels voor een CARP-configuratie
aan rc.conf
te worden toegevoegd. Voor
hosta.example.org
dient het bestand
rc.conf
de volgende regels te bevatten:
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"
Op hostb.example.org
dienen de volgende
regels in rc.conf
te staan:
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"
Het is erg belangrijk dat de wachtwoorden die met de optie
pass
aan ifconfig
gegeven
zijn, identiek zijn. De carp
apparaten zullen alleen luisteren naar en advertenties
accepteren van machines met het juiste wachtwoord. Het
VHID dient ook verschillend te zijn voor
elke machine.
De derde machine,
provider.example.org
, dient voorbereidt te
worden op het afhandelen van failover van beide hosts. Deze
machine heeft twee carp
apparaten nodig,
één om elke host af te handelen. De juiste
instelregels voor rc.conf
zullen ongeveer
gelijk zijn aan de volgende:
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"
Met twee carp
apparaten is
provider.example.org
in staat om het
IP-adres van de andere machine op te pikken
wanneer de ene niet meer antwoordt.
De standaard FreeBSD-kernel kan
preëmptie geactiveerd hebben. In dat geval hoeft
provider.example.org
het
IP-adres niet terug te geven aan de
originele contentserver. In dit geval kan het nodig zijn dat
een beheerder handmatig het IP terug aan de meester moet geven.
Het volgende commando dient op
provider.example.org
gegeven te worden:
#
ifconfig carp0 down && ifconfig carp0 up
Dit dient gedaan te worden op de
carp
interface die met de juiste
host overeenkomt.
Op dit moment dient CARP volledig actief en beschikbaar voor testen te zijn. Voor het testen dienen òfwel het netwerken herstart te worden, òf de machines dienen opnieuw opgestart te worden.
Meer informatie is altijd beschikbaar in de hulppagina carp(4)
FreeBSD is beschikbaar in een doos (FreeBSD CD-ROMs, additionele software en gedrukte documentatie) bij verschillende verkopers:
Frys Electronics
WWW: http://www.frys.com/
FreeBSD CD-ROMs en DVD's zijn te koop bij veel online winkels:
FreeBSD Mall, Inc.
700 Harvest Park Ste F
Brentwood, CA 94513
Verenigde Staten
Telefoon: +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 München
Duitsland
Telefoon: (089) 428 419
WWW: http://www.hinner.de/linux/freebsd.html
JMC Software
Ierland
Telefoon: 353 1 6291282
WWW: http://www.thelinuxmall.com
Linux Distro UK
42 Wharfedale Road
Margate
CT9 2TB
Verenigd Koninkrijk
WWW: https://linux-distro.co.uk/
The Linux Emporium
Hilliard House, Lester Way
Wallingford
OX10 9TA
Verenigd Koninkrijk
Telefoon: +44 1491 837010
Fax: +44 1491 837016
WWW: http://www.linuxemporium.co.uk/products/bsd/
Linux+ DVD Magazine
Lewartowskiego 6
Warsaw
00-190
Polen
Telefoon: +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
Australië
Telefoon: +61 3 9857 5918
Fax: +61 3 9857 8974
WWW: http://www.lsl.com.au
LinuxCenter.Ru
Galernaya Street, 55
Saint-Petersburg
190000
Rusland
Telefoon: +7-812-3125208
E–mail: <info@linuxcenter.ru>
WWW: http://linuxcenter.ru/shop/freebsd
Wederverkopers die FreeBSD CD-ROM producten willen verkopen kunnen contact opnemen met een distributeur:
Ingram Micro
1600 E. St. Andrew Place
Santa Ana, CA
92705-4926 Verenigde Staten
Telefoon: 1 (800) 456-8000
WWW: http://www.ingrammicro.com/
Kudzu, LLC
7375 Washington Ave. S.
Edina, MN 55439
Verenigde Staten
Telefoon: +1 952 947-0822
Fax: +1 952 947-0876
E–mail: <sales@kudzuenterprises.com>
LinuxCenter.Ru
Galernaya Street, 55
Sint-Petersburg
190000
Rusland
Telefoon: +7-812-3125208
E–mail: <info@linuxcenter.ru>
WWW: http://linuxcenter.ru/freebsd
De officiële broncode voor FreeBSD is beschikbaar via
anoniem toegankelijke FTP in de hele wereld via vele mirrorsites.
De site ftp://ftp.FreeBSD.org/pub/FreeBSD/
heeft een goede verbinding en staat veel verbindingen toe, maar
het is waarschijnlijk beter om een mirrorsite te zoeken die
“dichterbij” is (zeker als het doel is ook een
soort mirrorsite op te zetten).
FreeBSD is beschikbaar via de onderstaande anonieme FTP mirror sites. Bij het kiezen van anonieme FTP voor het verkrijgen van FreeBSD wordt aangeraden een site die dichtbij ligt te kiezen. De mirrorsites die in de lijst staan als “Primaire Mirrorsites” hebben meestal het complete FreeBSD archief (alle beschikbare versies voor alle architecturen) maar downloads zijn waarschijnlijk sneller van een site die in het land of de regio van de gebruiker staat. De regionale sites hebben de meeste recente versies voor de meest populaire architecturen, maar hebben wellicht niet het complete archief. Alle sites geven toegang via anonieme FTP, maar een aantal sites hebben ook andere toegangsmogelijkheden. De toegangsmogelijkheden voor iedere site staan tussen haakjes achter de hostnaam.
Centrale servers, Primaire spiegelsites, Armenië, Australië, Brazilië, Canada, China, Denemarken, Duitsland, Estland, Finland, Frankrijk, Griekenland, Hong Kong, Ierland, Japan, Korea, Letland, Litouwen, Nederland, Nieuw-Zeeland, Noorwegen, Oekraïne, Oostenrijk, Polen, Rusland, Saudi-Arabië, Slovenië, Spanje, Taiwan, Tsjechië, Verenigd Koninkrijk, Verenigde Staten van Amerika, Zuid-Afrika, Zweden, Zwitserland.
(bijgewerkt op: UTC)
Begeeft u zich bij problemen alstublieft naar de beheerder
<mirror-admin@FreeBSD.org>
van dit domein.
ftp://ftp4.FreeBSD.org/pub/FreeBSD/ (ftp / ftpv6 / http://ftp4.FreeBSD.org/pub/FreeBSD/ / http://ftp4.FreeBSD.org/pub/FreeBSD/)
ftp://ftp10.FreeBSD.org/pub/FreeBSD/ (ftp / ftpv6 / http://ftp10.FreeBSD.org/pub/FreeBSD/ / http://ftp10.FreeBSD.org/pub/FreeBSD/)
ftp://ftp14.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp14.FreeBSD.org/pub/FreeBSD/)
Begeeft u zich bij problemen alstublieft naar de beheerder
<hostmaster@am.FreeBSD.org>
van dit domein.
Begeeft u zich bij problemen alstublieft naar de beheerder
<hostmaster@au.FreeBSD.org>
van dit domein.
Begeeft u zich bij problemen alstublieft naar de beheerder
<hostmaster@br.FreeBSD.org>
van dit domein.
Begeeft u zich bij problemen alstublieft naar de beheerder
<hostmaster@ca.FreeBSD.org>
van dit domein.
Begeeft u zich bij problemen alstublieft naar de beheerder
<hostmaster@cn.FreeBSD.org>
van dit domein.
Begeeft u zich bij problemen alstublieft naar de beheerder
<hostmaster@dk.FreeBSD.org>
van dit domein.
Begeeft u zich bij problemen alstublieft naar de beheerder
<de-bsd-hubs@de.FreeBSD.org>
van dit domein.
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://ftp7.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp7.de.FreeBSD.org/pub/FreeBSD/)
Begeeft u zich bij problemen alstublieft naar de beheerder
<hostmaster@ee.FreeBSD.org>
van dit domein.
Begeeft u zich bij problemen alstublieft naar de beheerder
<hostmaster@fi.FreeBSD.org>
van dit domein.
Begeeft u zich bij problemen alstublieft naar de beheerder
<hostmaster@fr.FreeBSD.org>
van dit domein.
ftp://ftp1.fr.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp1.fr.FreeBSD.org/pub/FreeBSD/ / rsync)
ftp://ftp6.fr.FreeBSD.org/pub/FreeBSD/ (ftp / rsync)
Begeeft u zich bij problemen alstublieft naar de beheerder
<hostmaster@gr.FreeBSD.org>
van dit domein.
Begeeft u zich bij problemen alstublieft naar de beheerder
<hostmaster@ie.FreeBSD.org>
van dit domein.
ftp://ftp3.ie.FreeBSD.org/pub/FreeBSD/ (ftp / rsync)
Begeeft u zich bij problemen alstublieft naar de beheerder
<hostmaster@jp.FreeBSD.org>
van dit domein.
Begeeft u zich bij problemen alstublieft naar de beheerder
<hostmaster@kr.FreeBSD.org>
van dit domein.
Begeeft u zich bij problemen alstublieft naar de beheerder
<hostmaster@lv.FreeBSD.org>
van dit domein.
Begeeft u zich bij problemen alstublieft naar de beheerder
<hostmaster@lt.FreeBSD.org>
van dit domein.
Begeeft u zich bij problemen alstublieft naar de beheerder
<hostmaster@nl.FreeBSD.org>
van dit domein.
Begeeft u zich bij problemen alstublieft naar de beheerder
<hostmaster@no.FreeBSD.org>
van dit domein.
ftp://ftp.no.FreeBSD.org/pub/FreeBSD/ (ftp / rsync)
Begeeft u zich bij problemen alstublieft naar de beheerder
<hostmaster@at.FreeBSD.org>
van dit domein.
Begeeft u zich bij problemen alstublieft naar de beheerder
<hostmaster@pl.FreeBSD.org>
van dit domein.
ftp2.pl.FreeBSD.org
Begeeft u zich bij problemen alstublieft naar de beheerder
<hostmaster@ru.FreeBSD.org>
van dit domein.
Begeeft u zich bij problemen alstublieft naar de beheerder
<ftpadmin@isu.net.sa>
van dit domein.
Begeeft u zich bij problemen alstublieft naar de beheerder
<hostmaster@si.FreeBSD.org>
van dit domein.
Begeeft u zich bij problemen alstublieft naar de beheerder
<hostmaster@es.FreeBSD.org>
van dit domein.
Begeeft u zich bij problemen alstublieft naar de beheerder
<hostmaster@tw.FreeBSD.org>
van dit domein.
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://ftp6.tw.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp6.tw.FreeBSD.org/ / rsync)
ftp://ftp11.tw.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp11.tw.FreeBSD.org/FreeBSD/)
Begeeft u zich bij problemen alstublieft naar de beheerder
<hostmaster@cz.FreeBSD.org>
van dit domein.
Begeeft u zich bij problemen alstublieft naar de beheerder
<hostmaster@uk.FreeBSD.org>
van dit domein.
Begeeft u zich bij problemen alstublieft naar de beheerder
<hostmaster@us.FreeBSD.org>
van dit domein.
ftp://ftp4.us.FreeBSD.org/pub/FreeBSD/ (ftp / ftpv6 / http://ftp4.us.FreeBSD.org/pub/FreeBSD/ / http://ftp4.us.FreeBSD.org/pub/FreeBSD/)
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/)
Begeeft u zich bij problemen alstublieft naar de beheerder
<hostmaster@za.FreeBSD.org>
van dit domein.
Begeeft u zich bij problemen alstublieft naar de beheerder
<hostmaster@se.FreeBSD.org>
van dit domein.
ftp://ftp2.se.FreeBSD.org/pub/FreeBSD/ (ftp / rsync://ftp2.se.FreeBSD.org/)
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/)
Begeeft u zich bij problemen alstublieft naar de beheerder
<hostmaster@ch.FreeBSD.org>
van dit domein.
De ISO-afbeeldingen voor de basis-CD's van de uitgaven zijn beschikbaar via BitTorrent. Een verzameling torrent-bestanden om de afbeeldingen binnen te halen is beschikbaar op http://torrents.freebsd.org:8080
De software voor de BitTorrent-cliënt is beschikbaar via de port net-p2p/py-bittorrent, of als voorgecompileerd pakket.
Nadat de ISO-afbeelding met BitTorrent is gedownload, kan het op CD of DVD gebrand worden zoals beschreven in Paragraaf 19.6.3, “burncd”.
Sinds juli 2012 gebruikt FreeBSD Subversion als het primaire versiebeheersysteem om alle broncode van FreeBSD, de documentatie, en de Portscollectie op te slaan.
Subversion is hoofdzakelijk een gereedschap voor ontwikkelaars. De meeste gebruikers dienen FreeBSD Update te gebruiken om het basissysteem van FreeBSD bij te werken, en Portsnap om de FreeBSD Portscollectie bij te werken.
Het spiegelsite-netwerk voor Subversion van FreeBSD bevindt zich nog in de beginfase en zal waarschijnlijk veranderen. Reken er niet op dat deze lijst van spiegelsites statisch is. In het bijzonder zullen de SSL-certificaten van de servers op een gegeven moment veranderen.
In Subversion worden URLs gebruikt om een depot aan te duiden in de
vorm van protocol://hostnaam/pad
. Spiegelsites kunnen
verschillende protocollen ondersteunen zoals hieronder is gespecificeerd.
Het eerste gedeelte van het pad is het FreeBSD-depot wat benaderd moet
worden. Er zijn drie verschillende depots, base
voor
de broncode van het basissysteem van FreeBSD, ports
voor
de Portscollectie, en doc
voor de documentatie. De URL
svn://svn0.us-east.FreeBSD.org/ports/head/
specificeert
de hoofdtak van het ports-depot op de spiegelsite svn0.us-east.FreeBSD.org
, gebruikmakend van het
svn-protocol.
Alle spiegelsites bevatten alle depots.
De FreeBSD Subversion hoofdserver, svn.FreeBSD.org
, is publiekelijk toegankelijk als
alleen-lezen. Dit kan in de toekomst veranderen, dus gebruikers worden
aangeraden om een van de officiële spiegelsites te gebruiken. Gebruik
http://svnweb.FreeBSD.org
om de Subversion-depots van FreeBSD met een webbrowser te bekijken.
Naam | Protocollen | Locatie | SSL-vingerafdruk |
---|---|---|---|
svn0.us-west.FreeBSD.org | svn, http, https | Verenigde Staten, Californië | SHA1
79:35:8F:CA:6D:34:D9:30:44:D1:00:AF:33:4D:E6:11:44:4D:15:EC |
svn0.us-east.FreeBSD.org | svn, http, https | Verenigde Staten, New Jersey | SHA1
06:D1:23:DE:5E:7A:F7:2B:7A:7E:74:95:5F:54:8D:5C:B0:D6:2E:8F |
Anonieme CVS (of ook wel bekend als
anoncvs) is een functie die beschikbaar is
met de hulpprogramma's die bij FreeBSD zitten om te synchroniseren
met een elders aanwezig CVS depot. Het staat gebruikers van
FreeBSD onder andere toe om zonder bijzondere rechten alleen-lezen
operaties uit te voeren op een van de officiële anoncvs
servers van het FreeBSD project. Om het te kunnen gebruiken dient
de omgevingsvariabele CVSROOT
zo ingesteld te
worden dat hij wijst naar de gewenste anoncvs server, dient het
bekende wachtwoord “anoncvs” bij het commando
cvs login
opgegeven te worden en kan daarna
cvs(1) gebruikt worden om het te benaderen als ieder
lokaal aanwezig depot.
Het commando cvs login
slaat de
wachtwoorden die voor aanmelden bij de CVS server op in een
bestand met de naam .cvspass
in de map
HOME
. Als dit bestand niet bestaat, is het
mogelijk dat er een foutmelding wordt gegeven als
cvs login
de eerste keer wordt gebruikt.
Dat kan opgelost worden door een leeg bestand
.cvspass
te maken en dan opnieuw aan te
melden.
Hoewel de diensten CVSup en anoncvs beiden vrijwel dezelfde functie invullen, zijn er redenen die de keuze voor de synchronisatiemethode beïnvloeden. In een notendop is CVSup veel efficiënter in het gebruik van netwerkbronnen en is het de meest geavanceerde van de twee, maar daar staat iets tegenover. Voor het gebruik van CVSup moet eerst een speciale client geïnstalleerd en ingesteld worden voordat er bits kunnen gaan stromen en dat kan dan alleen in de redelijk grote brokken die in CVSup collections heten.
Anoncvs kan daarentegen gebruikt
worden om alles te bekijken van een individueel bestand tot aan
een specifiek programma (als ls
of
grep
) door aan de naam van de CVS module
te refereren. Ook anoncvs is alleen
geschikt voor alleen-lezen operaties op het CVS depot, dus als
het de bedoeling is om lokaal ontwikkelwerk en hetzelfde depot
met delen uit het FreeBSD project te combineren, dan biedt alleen
CVSup daar een oplossing
voor.
Het instellen van cvs(1) om gebruik te maken van
een Anoniem CVS depot is een kwestie van het instellen van de
omgevingsvariabele CVSROOT
op een van de
anoncvs servers van het FreeBSD project. Op
het moment van schrijven zijn de volgende servers
beschikbaar:
Frankrijk:
:pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs
(Gebruik cvs login
voor pserver-modus en voer het
wachtwoord “anoncvs” in wanneer het gevraagd wordt.
Voor ssh is geen wachtwoord nodig.)
Taiwan:
:pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
(Gebruik cvs login
voor pserver-modus en voer elk
willekeurig wachtwoord in wanneer het gevraagd wordt. Voor ssh is
geen wachtwoord nodig.)
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
Omdat met CVS vrijwel iedere versie die ooit beschikbaar is
geweest “uitgecheckt” kan worden, is het van
belang op de hoogte te zijn van de cvs(1) vlag voor
revisie (-r
) en welke waarden zie zoal kan
aannemen in het FreeBSD Project depot.
Er zijn twee soorten labels (tags): revisielabels en taklabels (branch). Een revisielabel refereert aan een specifieke revisie. De betekenis blijft van dag tot dag gelijk. Aan de andere kant refereert een taklabel aan de laatste revisie in een bepaalde ontwikkellijn op een bepaald moment. Omdat een taklabel niet refereert aan een specifieke revisie, kan die morgen anders zijn dan vandaag.
Paragraaf A.8, “CVS labels” bevat revisielabels waar gebruikers in geïnteresseerd kunnen zijn. Nogmaals: deze zijn allemaal niet geldig voor de Portscollectie omdat de Portscollectie geen meerdere ontwikkel takken kent.
Als een specifiek taklabel wordt aangegeven, worden als
alles goed gaat, de laatste revisies uit een bepaalde
ontwikkellijn ontvangen. Als er een oudere versie opgehaald
moet worden, kan dat door met de vlag –D
datum
een datum aan te geven. In cvs(1) staan
meer details.
Hoewel het sterk wordt aangeraden eerst de hulppagina's voor cvs(1) grondig door te lezen, volgen hier een aantal snelle voorbeelden die feitelijk aangeven hoe Anonieme CVS gebruikt kan worden.
src/
tree uit
te checken:%
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.
%
setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
%
cvs login
Op de prompt, voer een willekeurig wachtwoord in “wachtwoord”.%
cvs co ls
src/
structuur uit te checken:%
cvs -d freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs co src
The authenticity of host 'anoncvs.freebsd.org (128.46.156.46)' can't be established. DSA key fingerprint is 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65. Are you sure you want to continue connecting (yes/no)?yes
Warning: Permanently added 'anoncvs.freebsd.org' (DSA) to the list of known hosts.
%
setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
%
cvs login
Op de prompt, voer een willekeurig wachtwoord in “wachtwoord”.%
cvs co -rRELENG_8 ls
%
setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
%
cvs login
Op de prompt, voer een willekeurig wachtwoord in “wachtwoord”.%
cvs rdiff -u -rRELENG_8_0_0_RELEASE -rRELENG_8_1_0_RELEASE ls
%
setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
%
cvs login
Op de prompt, voer een willekeurig wachtwoord in “wachtwoord”.%
cvs co modules
%
more modules/modules
De volgende bronnen kunnen bijdragen aan een beter begrip van CVS:
CVS Tutorial van California Polytechnic State University.
CVS Home, de CVS gemeenschap voor ontwikkeling en ondersteuning.
CVSweb is de FreeBSD Project webinterface voor CVS.
CTM is een methode om een map elders gesynchroniseerd te houden met een centrale. Het is ontwikkeld voor gebruik met de FreeBSD broncode, hoewel sommigen het ook voor andere doeleinden handig vinden. Er bestaat op dit moment weinig tot geen documentatie over het proces van het maken van delta's. Voor informatie over het gebruik van CTM kan het beste contact gezocht worden met de ctm-users mailinglijst.
CTM geeft een lokale kopie van de FreeBSD broncode. Die is in een aantal “smaken” beschikbaar. Of het gaat om slechts één tak of de complete CVS structuur, CTM kan het bieden. CTM is gewoon gemaakt voor actieve ontwikkelaars die met FreeBSD werken, maar geen of een slechte Internetverbinding hebben of gewoon automatisch de laatste wijzigingen willen ontvangen. De meest actieve takken kennen op z'n hoogst drie delta's per dag. Het is het overwegen waard om ze per automatische mail te laten sturen. De grootte van de updates wordt altijd zo klein mogelijk gehouden. Meestal kleiner dan 5 K en soms (in tien procent van de gevallen) is het 10–50 K. In uitzonderlijke gevallen komt het voor dat een mail van 100 K of meer wordt gestuurd.
Het is wel van belang op de hoogte te zijn van de valkuilen die een rol spelen bij het direct werken met broncode in plaats van met een voorverpakte release. Dit geldt nog meer als wordt gewerkt met de “current” code. Het lezen van Bijblijven met FreeBSD wordt sterk aangeraden.
Voor het gebruik van CTM zijn twee dingen nodig: het CTM programma en de initiële delta's om de applicatie te voeden en naar een “current” niveau te komen.
CTM is al onderdeel van FreeBSD
sinds versie 2.0 is uitgebracht en is te vinden in
/usr/src/usr.sbin/ctm
, als de broncode
aanwezig is.
De “delta's” voor CTM kunnen op twee manieren komen: met FTP of per e-mail. De volgende FTP sites bieden ondersteuning voor CTM:
ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/
Er staan er nog meer in de paragraaf mirrors.
FTP de relevante map en download het bestand
README
vanaf daar.
Voor delta's via e-mail:
Er dient een abonnement genomen te worden op een van de CTM distributielijsten. ctm-src-cur ondersteunt de complete Subversion structuur. ctm-src-cur ondersteunt het hoofd van de ontwikkeltak. ctm-src-9 ondersteunt de 9.X release tak, enzovoort. Om te abonneren kan geklikt worden op de bovenstaande links of via http://lists.FreeBSD.org/mailman/listinfo kan in een lijst geklikt worden op de lijst waarvoor een abonnement gewenst is. De lijstpagina bevat instructies over hoe te abonneren.
Na het ontvangen van CTM updates
per mail, kan ctm_rmail
gebruikt worden voor
het uitpakken en verwerken. ctm_rmail
kan
zelfs direct vanuit /etc/aliases
gebruikt
worden om het proces volledig automatisch te laten verlopen.
In de hulppagina van ctm_rmail
staan meer
details.
Welke methode ook gebruikt wordt voor de CTM delta's, het is belangrijk een abonnement te nemen op de ctm-announce mailinglijst. In de toekomst worden alleen op die lijst aankondigingen gedaan over het CTM systeem. Abonneren kan door op de link hierboven te klikken en de instructies te volgen.
Voordat de CTM delta's gebruikt kunnen worden, moet er een startpunt voor bepaald worden.
Eerst moet bepaald worden wat er al is. Het is mogelijk te beginnen vanuit een “lege” map. Dan moet een initiële “Empty” delta gebruikt worden om een door CTM ondersteunde structuur te starten. Het is de bedoeling dat deze “start” delta's ooit voor het gemak op de CD-ROM komen te staan, maar dit is nog niet het geval.
Omdat de structuren tientallen megabytes groot zijn, heeft het de voorkeur om al met iets te beginnen. Als er een -RELEASE CD-ROM beschikbaar is, kan de initiële broncode gekopieerd of uitgepakt worden. Dit bespaart nogal wat dataverkeer.
De “start” delta's kunnen herkend worden aan
de X
die aan het nummer is toegevoegd
(bijvoorbeeld src-cur.3210XEmpty.gz
). De
nummering achter de X
komt overeen met de
oorsprong van het initiële “zaad”.
Empty
is een lege map. Er wordt in het
algemeen iedere honderd delta's een basistransitie voor
Empty
gemaakt. Die zijn trouwens groot: 70
tot 80 Megabytes gzip
data is normaal voor
de XEmpty
delta's.
Als er een delta als startpunt is gekozen, zijn ook alle delta's met hogere volgnummers nodig.
Om de delta's toe te passen:
#
cd /where/ever/you/want/the/stuff
#
ctm -v -v /where/you/store/your/deltas/src-xxx.*
CTM begrijpt delta's in
gzip
formaat, dus het niet nodig om eerst
gunzip
te gebruiken. Dat spaart
diskruimte.
Tenzij het zeker is van de veiligheid van het proces, doet
CTM niets met de structuur. Om een
delta te verifiëren kan ook de vlag
–c
gebruikt worden en dan komt
CTM ook niet aan een structuur. Dan
wordt alleen de integriteit van de delta gecontroleerd en of
die zonder problemen op de huidige structuur kan worden
toegepast.
CTM kent nog meer opties die in de hulppagina's worden besproken.
Meer is er niet. Iedere keer dat er een delta wordt ontvangen, moet die door CTM gehaald worden om de broncode bijgewerkt te houden.
Delta's kunnen het beste niet verwijderd worden als het
lastig is ze opnieuw te downloaden. Dan kunnen ze het beste
bewaard worden voor het geval er eens iets gebeurt. Zelfs als
er alleen floppy's beschikbaar zijn, is het wellicht verstandig
die te gebruiken met fdwrite
.
Een ontwikkelaar wil graag experimenteren met bestanden in
de structuur en die bestanden veranderen.
CTM ondersteunt lokale wijzigingen
in beperkte mate: alvorens te kijken of bestand
foo
bestaat, zoekt het eerst naar
foo.ctm
. Als dat bestand bestaat, past
CTM de wijzigigen daarop toe in
plaats van op foo
.
Dit gedrag biedt een eenvoudige mogelijkheid om lokale
wijzigingen bij te houden. Dat kan dus door bestanden die
gewijzigd gaan worden te kopiëren naar een bestand met
dezelfde naam met de toevoeging .ctm
. Dan
kan er vrijelijk gespeeld worden met de code, terwijl
CTM het bestand
.ctm
bijwerkt.
Het is mogelijk een lijst met wijzigingen te maken die
CTM zou maken op het broncodedepot
met de optie -l
.
Dit is nuttig als het gewenst is om een logboek bij te houden van de wijzigingen, de te wijzigen bestanden voor- of na te bewerken op welke manier dan ook, of als de gebruiker gewoon een beetje paranoïde is.
Soms kan het wenselijk zijn om een back-up te maken van alle bestanden die gewijzigd gaan worden door een CTM update.
Met -B back-upbestand
back-upt
CTM alle bestanden die gewijzigd
gaan worden door een CTM delta
naar back–upbestand
.
Soms is het wenselijk de reikwijdte voor een CTM update te beperken of kan het wenselijk zijn om maar een paar bestanden bij te werken uit een aantal delta's.
Een lijst met bestanden die
CTM mag bewerken kan aangegeven
worden met de opties -e
en
-x
en het opgeven van regular
expressions.
Om bijvoorbeeld een bijgewerkte kopie van
lib/libc/Makefile
te maken uit de
verzameling met opgeslagen CTM
delta's, kan het volgende commando uitgevoerd worden:
#
cd /where/ever/you/want/to/extract/it/
#
ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.*
Voor ieder te wijzigen bestand in een
CTM delta worden de opties
-e
en -x
toegepast in de
volgorde waarin ze op de commandoregel staan. Het bestand
wordt alleen door CTM verwerkt als
het passend is bevonden na het toepassen van alle parameters
in -e
en -x
.
Die zijn er:
Een of andere vorm van authenticatie in het CTM systeem bouwen zodat vervalste CTM updates afgevangen kunnen worden;
De opties voor CTM opruimen omdat ze verwarrend zijn geworden.
Er zijn ook delta's voor de
ports
collectie, maar daar is nog niet zo
veel belangstelling voor.
CTM/FreeBSD is op de volgende mirrorsites via anonieme FTP beschikbaar. Als voor CTM anonieme FTP wordt gebruikt, heeft het de voorkeur een site die in geografische zin dichtbij is te gebruiken.
Bij problemen kan contact gezocht worden met de ctm-users mailinglijst.
Als er geen mirror dichtbij is of als die incompleet is, kan een zoekmachine als alltheweb gebruikt worden.
CVSup is een softwarepakket voor het verspreiden en bijwerken van broncodestructuren vanaf een master CVS depot op een andere server. De FreeBSD broncode wordt beheerd in een broncode depot op een centrale ontwikkelmachine in Californië. Met CVSup kunnen FreeBSD gebruikers op eenvoudige wijze hun broncode bijwerken.
CVSup gebruikt een zogenaamd
pull model voor het bijwerken. In het
pull-model vraagt iedere client de server om updates als die
nodig zijn. De server wacht passief op een verzoek om updates
van zijn clients. Alle updates worden dus op initiatief van de
client gedaan. De server stuurt nooit ongevraagde updates.
Gebruikers moeten de CVSup client
handmatig draaien om te updaten of een cron
taak instellen om op regelmatige basis bij te werken.
De term CVSup, op de gegeven
wijze geschreven, doelt op het complete softwarepakket. De
belangrijkste componenten zijn de client
cvsup
, die op de machine van een gebruiker
draait, en de server cvsupd
, die op alle
FreeBSD mirrorsites draait.
In de FreeBSD documentatie en op de mailinglijsten zijn
referenties aan sup te vinden.
Sup was de voorloper van
CVSup en diende hetzelfde doel.
CVSup wordt op dezelfde manier
gebruikt als sup en gebruikt zelfs bestanden met instellingen
die ook te gebruiken zijn met sup
.
Sup wordt niet langer gebruikt in
het FreeBSD project omdat CVSup sneller
en flexibeler is.
De csup applicatie is een herschreven versie van CVSup in de C taal. Het grootste voordeel ervan is dat het sneller is en dat het niet afhankelijk is van de Modula-3 taal, dus dat hoeft niet geïnstalleerd te worden als afhankelijkheid. Sterker nog de applicatie wordt standaard meegeleverd. als ervoor gekozen is om csup te gebruiken, sla dan de installatie stappen voor CVSup over en vervang de referenties naar CVSup met csup terwijl de rest van het artikel gevolgd wordt.
De meest eenvoudige wijze van installatie van CVSup is met het voorgecompileerde pakket net/cvsup uit de FreeBSD pakkettencollectie. Als het gewenst is, kan CVSup ook uit de broncode gebouwd worden in net/cvsup. De port net/cvsup is afhankelijk van het Modula-3 systeem en dat kan wel even duren en er is ook nogal wat schijfruimte voor nodig om het te downloaden en te bouwen.
Als CVSup gebruikt gaat worden op een machine waarop geen Xorg staat, zoals een server, dan dient de port waar geen CVSup GUI bij zit geïnstalleerd te worden: net/cvsup-without-gui.
De werking van CVSup wordt
gestuurd door een bestand met instellingen met de naam
supfile
. Er staan een aantal
supfiles
als voorbeeld in de map /usr/share/examples/cvsup/
.
De informatie in een supfile
beantwoordt de volgende vragen voor
CVSup:
In de volgende paragrafen wordt een
supfile
bestand opgebouwd door
achtereenvolgens alle gestelde vragen te beantwoorden. Als
eerste wordt de algemene structuur van een
supfile
beschreven.
Een supfile
is een tekstbestand.
Commentaar begint met een #
en loopt tot het
einde van de regel. Lege regels en regels die alleen
commentaar bevatten worden genegeerd.
Iedere regel die overblijft slaat op een groep bestanden
die ontvangen moet worden. De regel begint met de naam van een
“collectie”, een logische groep bestanden op de
server. De naam van de collectie geeft de server aan welke
bestanden er gestuurd moeten worden. Na de naam van de
collectie komen er geen of meer velden die gescheiden worden
door witruimte. Die velden beantwoorden de hierboven gestelde
vragen. Er zijn twee soorten velden: vlagvelden en
waardevelden. Een vlagveld bestaat uit een alleenstaand
sleutelwoord, bijvoorbeeld delete
of
compress
. Een waardeveld begint ook met
een sleutelwoord, maar het sleutelwoord wordt direct (zonder
witruimte) gevolgd door =
en een tweede
woord. release=cvs
is bijvoorbeeld een
waardeveld.
In een supfile
wordt meestal
aangegeven dat er meerdere collecties ontvangen moeten worden.
Het is mogelijk om een supfile
te
structureren door expliciet alle relevante velden aan te geven
voor iedere collectie, maar dat maakt de regels in de
supfile
nogal lang en het is onhandig
omdat de meeste velden hetzelfde zijn voor alle collecties in
een supfile
.
CVSup biedt een systeem met
standaardinstellingen om dit probleem te omzeilen. Regels die
beginnen met de speciale pseudo-collectienaam
*default
kunnen gebruikt worden om
standaarden in te stellen voor de collecties die er in de
supfile
achteraan komen. Een
standaardwaarde kan voor individuele collecties overschreven
worden door een andere waarde in de collectie zelf aan te
geven. Standaarden kunnen ook middenin het bestand gewijzigd
of aangevuld worden met extra *default
regels.
Na deze achtergronden wordt er nu een
supfile
samengesteld voor het ontvangen en
bijwerken van de hoofd broncodestructuur van FreeBSD-CURRENT.
Welke bestanden moeten ontvangen worden?
De bestanden die via CVSup
beschikbaar zijn, zijn beschikbaar in groepen die
“collecties” heten. De beschikbare collecties
staan beschreven in de volgende paragraaf. In dit
voorbeeld is het de bedoeling dat de hele hoofd
broncodestructuur voor FreeBSD wordt ontvangen. Daar is
één grote collectie voor:
src-all
. De eerste stap in het maken
van een supfile
is het opsommen van de
gewenste collecties, één per regel (in dit
geval maar één regel):
src-all
Welke versies daarvan moeten ontvangen worden?
Met CVSup kan vrijwel iedere
versie van de broncode die ooit heeft bestaan opgehaald
worden. Dat kan omdat de cvsupd
server direct vanaf het CVS depot werkt, dat alle versies
bevat. Er kan aangegeven welke ontvangen moeten worden met
de waardevelden tag=
en
date=
.
Voorzichtigheid is geboden bij het correct aangeven
van velden met tag=
. Sommige labels
zijn alleen geldig voor bepaalde collecties of bestanden.
Als ze incorrect worden aangeven of als er een spelfout
wordt gemaakt in een label, verwijdert
CVSup bestanden waarvan dat
waarschijnlijk niet de bedoeling is. Het label
tag=.
dient eigenlijk
alleen gebruikt te worden voor de
ports-*
collecties.
Het veld tag=
benoemt een symbolisch
label in het depot. Er zijn twee soorten labels:
revisielabels en taklabels. Een revisielabel refereert aan
een specifieke revisie. De betekenis blijft altijd
hetzelfde. Een taklabel refereert echter aan de laatste
revisie van een gegeven ontwikkellijn op een gegeven
moment. Omdat een taklabel niet refereert aan een
specifieke revisie, kan het morgen iets anders betekenen
dan vandaag.
Paragraaf A.8, “CVS labels” beschrijft de meest
interessante taklabels. Als er in het instellingenbestand
van CVSup een label wordt
aangegeven, moet dat vooraf gegaan worden door
tag=
(RELENG_8
zal
tag=RELENG_8
worden). Voor de
Portscollectie is alleen tag=.
relevant.
Labels dienen exact zo ingegeven te worden als ze staan beschreven. CVSup kan geen onderscheid maken tussen geldige en ongeldige labels. Als er een spelfout in een label wordt gemaakt, doet CVSup alsof er een geldig label is ingegeven dat aan geen enkel bestand refereert. Dan zal CVSup de bestaande broncode wissen.
Bij het aangeven van een taklabel wordt meestal de
laatste versie van de bestanden voor een bepaalde
ontwikkellijn ontvangen. Om een oudere versie te
ontvangen kan in het veld date=
een datum
opgegeven worden. In cvsup(1) staat hoe dat
werkt.
Om bijvoorbeeld FreeBSD-CURRENT te ontvangen dient het
volgende aan het begin van supfile
toegevoegd te worden:
*default tag=.
Er ontstaat een belangrijk speciaal geval als er geen
velden met tag=
of
date=
worden aangegeven. In dat geval
worden de eigenlijke RCS bestanden direct uit het CVS depot
van de server ontvangen in plaats van dat een bepaalde
versie wordt ontvangen. Ontwikkelaars geven in het
algemeen de voorkeur aan deze optie. Door zelf een kopie
van de broncode op hun systeem te hebben, krijgen ze de
mogelijkheid om zelf door eerdere versies van bestanden te
bladeren en de geschiedenis ervan te bekijken. Dit
voordeel kost wel veel schijfruimte.
Het veld host=
wordt gebruikt om
cvsup
aan te geven waar de updates
vandaan moeten komen. Dat kan van elke CVSup mirrorsite, hoewel
er wordt aangeraden een site die geografisch dichtbij ligt
te kiezen. In dit voorbeeld wordt een fictieve FreeBSD
distributiesite gebruikt, cvsup99.FreeBSD.org
:
*default host=cvsup99.FreeBSD.org
In een werkelijke situatie dient de hostnaam gewijzigd
te worden in een host die echt bestaat voordat
CVSup gaat draaien. Iedere keer
dat cvsup
wordt gestart, kan er een
andere host op de commandoregel opgegeven worden met de optie
-h
.hostname
Waar moeten ze komen te staan?
Het veld prefix=
geeft
cvsup
aan waar de ontvangen bestanden
terecht moeten komen. In dit voorbeeld worden de bestanden
direct in de hoofd broncodestructuur
/usr/src
geplaatst. De map
src
is al impliciet in de gekozen
collecties, vandaar dat het onderstaande de juiste
instelling is:
*default prefix=/usr
Waar moet
cvsup
zijn statusbestanden
bijhouden?
De CVSup client houdt
statusbestanden bij in een map die “base”
wordt genoemd. Die bestanden helpen
CVSup efficiënter te
werken door bij te houden welke updates al eerder zijn
ontvangen. Hier wordt de standaard basemap gebruikt,
/var/db
:
*default base=/var/db
De bovenstaande instelling wordt standaard gebruikt als
die niet wordt aangegeven in de
supfile
, dus hij is eigenlijk niet
nodig.
Als de basemap niet al bestaat, moet die gemaakt
worden. De cvsup
client weigert te
draaien als de basemap niet bestaat.
Allerlei supfile
instellingen:
Er is nog een regel die in een
supfile
moet staan:
*default release=cvs delete use-rel-suffix compress
release=cvs
geeft de server aan dat
de informatie uit het FreeBSD hoofd CVS depot moet komen. Dat
is eigenlijk altijd het geval, maar er zijn mogelijkheden
die buiten het bereik van dit handboek vallen.
delete
geeft
CVSup het recht om bestanden te
verwijderen. Dit moet altijd aangegeven worden zodat
CVSup de broncode altijd kan
bijwerken. CVSup gaat
voorzichtig om met het verwijderen van bestanden waar het
verantwoordelijk voor is. Extra bestanden in de structuur
worden met rust gelaten.
use-rel-suffix
is nogal
geheimzinnig. Voor de nieuwsgierigen staat er meer over in
cvsup(1). Anders kan het gewoon ingesteld worden
zonder erover na te denken.
compress
schakelt het gebruikt van
gzip compressie in voor het communicatiekanaal. Als de
verbinding een E1 of sneller is, hoeft er geen compressie
gebruikt te worden. Anders helpt het aanzienlijk.
Alles combinerend:
Hieronder staat de hele supfile
uit het voorbeeld:
*default tag=. *default host=cvsup99.FreeBSD.org *default prefix=/usr *default base=/var/db *default release=cvs delete use-rel-suffix compress src-all
Zoals hierboven al is aangegeven, gebruikt
CVSup een pull
methode. Dat betekent eigenlijk dat er een
verbinding wordt gemaakt met de
CVSup server en die zegt dan:
“Dit kan er van mij gedownload worden...”, en
dan antwoordt de client met: “Oké, ik wil dit en
dat en zus en zo.” Met de standaardinstellingen haalt
de CVSup client alle bestanden die
bij een collectie en het label horen dat in het bestand met
de instellingen is opgegeven. Maar dat is niet altijd
wenselijk, in het bijzonder als de doc
,
ports
of www
structuren worden gesynchroniseerd. De meeste mensen kunnen
geen vier of vijf talen lezen en die hebben de taalspecifieke
bestanden dus niet nodig. Als de Portscollectie met
CVSup wordt opgehaald, is het
mogelijk om iedere collectie apart aan te geven (bijvoorbeeld
ports-astrology,
ports-biology, enzovoort, in plaats van
eenvoudigweg ports-all). Maar omdat
de doc
en www
structuren geen taalspecifieke collecties hebben, moet er
gebruik gemaakt worden van een van de vele mooie
mogelijkheden van CVSup: het
bestand refuse
.
Het bestand refuse
geeft
CVSup in feite aan dat niet ieder
bestand uit een collectie opgehaald moet worden. Het geeft
dus aan dat de client bepaalde bestanden van de server moet
weigeren. Het bestand
refuse
staat in (of kan gemaakt worden
in)
base/sup/
.
base
staat ingesteld in
supfile
. De standaardlocatie voor
base
is
/var/db
. De standaardplaats voor
refuse
is dus
/var/db/sup/refuse
.
Het bestand refuse
heeft een erg
eenvoudige opmaak. Het bevat de namen van de bestanden die
niet gedownload mogen worden. Als een gebruiker bijvoorbeeld
geen andere talen spreekt dan Engels en Nederlands, maar
de Nederlandse vertaling van de documentatie hoeft niet
binnengehaald te worden, dan kan het volgende in het bestand
refuse
gezet worden:
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_*
Dit gaat zo door voor de andere talen. De volledige lijst staat in het FreeBSD CVS depot.
Met deze handige eigenschap kunnen gebruikers met
langzamere verbindingen of zij die per minuut voor hun
Internetverbinding betalen waardevolle tijd besparen omdat er
geen bestanden meer gedownload worden die nooit gebruikt
worden. Meer informatie over refuse
bestanden en andere leuke mogelijkheden van
CVSup staat in de
handleiding.
Nu kan het bijwerken beginnen. Het commando is best wel eenvoudig:
#
cvsup supfile
De supfile
is de naam van het supfile
bestand dat
gebruikt moet worden. Aangenomen dat er X11 draait op een
machine, toont cvsup
een GUI venster met
wat knoppen om de bekende acties uit te voeren. Het proces
start na het klikken op de knop
.
Omdat in dit voorbeeld de werkelijke structuur in
/usr/src
wordt bijgewerkt, moet het
programma als root
uitgevoerd worden,
zodat cvsup
de rechten heeft die het nodig
heeft om de bestanden bij te werken. Het is voorstelbaar dat
de benodigde rechten, het net gemaakte bestand met instellingen
en het voor de eerste keer draaien van een programma zorgt voor
wat onrust. Daarom is het mogelijk proef te draaien zonder
dat er bestanden gewijzigd worden. Dat kan door ergens een
lege map te maken en een extra argument mee te geven op de
commandoregel:
#
mkdir /var/tmp/dest
#
cvsup supfile /var/tmp/dest
De opgegeven map is de bestemming voor alle
bestandsupdates. CVSup bekijkt wel
de bestanden in /usr/src
, maar wijzigt ze
niet. Alle updates belanden in
/var/tmp/dest/usr/src
.
CVSup werkt ook de statusbestanden
niet bij als het op deze wijze wordt uitgevoerd. De nieuwe
versies van de bestanden worden naar de aangegeven map
geschreven. Als er maar leestoegang is tot
/usr/src
, hoeft een gebruiker zelfs geen
root
te zijn bij het uitvoeren van dit
experiment.
Als er geen X11 draait of als het niet wenselijk is een GUI
te gebruiken, dan kunnen daarvoor opties op de commandoregel
meegegeven worden bij het draaien van
cvsup
:
#
cvsup -g -L 2 supfile
De optie -g
geeft
CVSup aan dat de GUI niet gebruikt
hoeft te worden. Dit gebeurt automatisch als X11 niet draait,
maar anders moet het aangegeven worden.
De optie -L 2
geeft
CVSup aan dat details getoond
moeten worden over alle bestanden die bijgewerkt worden. Er
zijn drie niveaus van uitvoerigheid, van -L 0
tot -L 2
. Standaard is het 0, wat betekent
dat er geen enkel bericht wordt getoond, met uitzondering van
foutmeldingen.
Er zijn nog veel andere opties beschikbaar. Met
cvsup -H
wordt een lijst met korte uitleg
getoond. Beschrijvingen met meer details staan in de
handleiding.
Als het bijwerken op de gewenste manier loopt, kan het regulier draaien van CVSup met cron(8) ingesteld worden. Natuurlijk hoort CVSup zonder GUI te draaien als het programma vanuit de cron(8) draait.
De via CVSup beschikbare bestandscollecties zijn hiërarchisch georganiseerd. Er zijn een paar grote collecties en die zijn opgedeeld in kleinere subcollecties. Het ontvangen van een collectie is hetzelfde als het ontvangen van alle subcollecties. De hiërarchische relatie tussen de collecties wordt hieronder aangegeven door het niveau van inspringen.
De meest gebruikte collecties zijn
src-all
en ports-all
. De
andere collecties worden door kleine groepen mensen gebruikt
voor bijzondere doeleinden en sommige mirrorsites hebben ze
niet allemaal.
cvs-all release=cvs
Het FreeBSD CVS hoofddepot, inclusief de cryptografische code.
distrib release=cvs
Bestanden die betrekking hebben op het verspreiden en spiegelen van FreeBSD.
ports-all release=cvs
De FreeBSD Portscollectie.
Als ports-all
(het
complete portssysteem) niet bijgewerkt hoeft te
worden, maar enkele van de onderstaande
subcollecties, dan moet
altijd ook de
ports-base
subcollectie
bijgewerkt worden! Als er iets wijzigt in de
infrastructuur van de ports waar
ports–base
voor staat,
is het vrijwel zeker dat die wijzigingen heel
snel door “echte” ports gebruikt
gaan worden. Dus als alleen de
“echte” ports bijgewerkt worden en
als die gebruik maken van nieuwe mogelijkheden,
dan is de kans groot dat het bouwen daarvan
foutloopt met een vage foutmelding. Het
eerste dat gedaan moeten
worden is ervoor zorgen dat de
ports-base
subcollectie is
bijgewerkt.
Bij het zelf bouwen van een lokale kopie van
ports/INDEX
moet
ports-all
geaccepteerd worden
(de hele port structuur). Het bouwen van
ports/INDEX
met een
gedeeltelijke structuur wordt niet ondersteund.
Zie ook de FAQ.
ports-accessibility
release=cvs
Software voor minder valide gebruikers.
ports-arabic
release=cvs
Ondersteuning voor de Arabische taal.
ports-archivers
release=cvs
Archiveringshulpmiddelen.
ports-astro
release=cvs
Astronomie ports.
ports-audio
release=cvs
Geluidsondersteuning.
ports-base
release=cvs
De infrastructuur van de Portscollectie.
Bestanden uit de mappen
Mk/
en
Tools/
van
/usr/ports
.
Zie ook de belangrijke waarschuwing hierboven: deze subcollectie dient altijd bijgewerkt te worden als er een onderdeel van de FreeBSD Portscollectie wordt bijgewerkt!
ports-benchmarks
release=cvs
Benchmarks.
ports-biology
release=cvs
Biologie.
ports-cad
release=cvs
Computer aided design programma's.
ports-chinese
release=cvs
Ondersteuning voor de Chinese taal.
ports-comms
release=cvs
Communicatiesoftware.
ports-converters
release=cvs
Karaktercode omzetters.
ports-databases
release=cvs
Databases.
ports-deskutils
release=cvs
Dingen die op een bureaublad stonden voordat computers waren uitgevonden.
ports-devel
release=cvs
Ontwikkelhulpmiddelen.
ports-dns
release=cvs
DNS gerelateerde software.
ports-editors
release=cvs
Editors.
ports-emulators
release=cvs
Emulatoren voor besturingssystemen.
ports-finance
release=cvs
Monetaire, financiële en gerelateerde applicaties.
ports-ftp
release=cvs
FTP client en server programma's.
ports-games
release=cvs
Spelletjes.
ports-german
release=cvs
Ondersteuning voor de Duitse taal.
ports-graphics
release=cvs
Grafische programma's.
ports-hebrew
release=cvs
Ondersteuning voor de Hebreeuwse taal.
ports-hungarian
release=cvs
Ondersteuning voor de Hongaarse taal.
ports-irc
release=cvs
Internet Relay Chat hulpprogramma's.
ports-japanese
release=cvs
Ondersteuning voor de Japanse taal.
ports-java
release=cvs
Java™ programma's.
ports-korean
release=cvs
Ondersteuning voor de Koreaanse taal.
ports-lang
release=cvs
Programmeertalen.
ports-mail
release=cvs
Mailsoftware.
ports-math
release=cvs
Numerieke rekensoftware.
ports-misc
release=cvs
Verschillende programma's.
ports-multimedia
release=cvs
Multimedia software.
ports-net
release=cvs
Netwerksoftware.
ports-net-im
release=cvs
Berichtenuitwisseling.
ports-net-mgmt
release=cvs
Netwerkbeheersoftware.
ports-net-p2p
release=cvs
Peer to Peer Netwerken
ports-news
release=cvs
USENET news software.
ports-palm
release=cvs
Softwareondersteuning voor Palm™ apparatuur.
ports-polish
release=cvs
Ondersteuning voor de Poolse taal.
ports-ports-mgmt
release=cvs
Programma's om ports en pakketten te beheren.
ports-portuguese
release=cvs
Ondersteuning voor de Portugese taal.
ports-print
release=cvs
Printsoftware.
ports-russian
release=cvs
Ondersteuning voor de Russische taal.
ports-science
release=cvs
Wetenschappelijk.
ports-security
release=cvs
Beveiligingsprogramma's.
ports-shells
release=cvs
Commandoregelshells.
ports-sysutils
release=cvs
Systeemprogramma's.
ports-textproc
release=cvs
Tekstverwerkingsprogramma's (zonder desktop publishing).
ports-ukrainian
release=cvs
Ondersteuning voor de Oekraïense taal.
ports-vietnamese
release=cvs
Ondersteuning voor de Viëtnamese taal.
ports-www
release=cvs
Software gerelateerd aan het Wereldwijde Web.
ports-x11
release=cvs
Ports voor het X windowsysteem.
ports-x11-clocks
release=cvs
X11 klokken.
ports-x11-drivers
release=cvs
X11-stuurprogramma's
ports-x11-fm
release=cvs
X11 bestandsbeheerders.
ports-x11-fonts
release=cvs
X11 lettertypen en lettertypeprogramma's.
ports-x11-toolkits
release=cvs
X11 hulpprogramma's.
ports-x11-servers
release=cvs
X11 servers.
ports-x11-themes
X11 thema's.
ports-x11-wm
release=cvs
X11 vensterbeheerprogramma's.
projects-all release=cvs
Broncode's voor de FreeBSD projecten repository.
src-all release=cvs
De hoofdbroncode van FreeBSD, inclusief de cryptografische code.
src-base
release=cvs
Verschillende bestanden bovenin de
/usr/src
structuur.
src-bin
release=cvs
Gebruikersprogramma's die wellicht nodig
zijn in single-user modus
(/usr/src/bin
).
src-cddl
release=cvs
Programma's en bibliotheken die uitgegeven
zijn onder de CDDL licentie
(/usr/src/cddl
).
src-contrib
release=cvs
Programma's en bibliotheken van buiten
het FreeBSD project die vrijwel ongewijzigd
gebruikt worden
(/usr/src/contrib
).
src-crypto release=cvs
Cryptografische programma's en
bibliotheken van buiten het FreeBSD project, die
vrijwel ongewijzigd worden gebruikt
(/usr/src/crypto
).
src-eBones release=cvs
Kerberos en DES
(/usr/src/eBones
). Niet
gebruikt in recente uitgaves van FreeBSD.
src-etc
release=cvs
Bestanden met systeeminstellingen
(/usr/src/etc
).
src-games
release=cvs
Spelletjes
(/usr/src/games
).
src-gnu
release=cvs
Programma's die onder de GNU Public
License vallen
(/usr/src/gnu
).
src-include
release=cvs
Headerbestanden
(/usr/src/include
).
src-kerberos5
release=cvs
Kerberos5 beveiligingspakket
(/usr/src/kerberos5
).
src-kerberosIV
release=cvs
KerberosIV beveiligingspakket
(/usr/src/kerberosIV
).
src-lib
release=cvs
Bibliotheken
(/usr/src/lib
).
src-libexec
release=cvs
Systeemprogramma's die meestal door
andere programma's worden uitgevoerd
(/usr/src/libexec
).
src-release
release=cvs
Bestanden die nodig zijn voor het
maken van een FreeBSD release
(/usr/src/release
).
src-release
release=cvs
Statisch gelinkte programma's voor nood
onderhoud, zie rescue(8)
(/usr/src/rescue
).
src-sbin release=cvs
Systeemprogramma's voor single-user modus
(/usr/src/sbin
).
src-secure
release=cvs
Cryptografische bibliotheken en
commando's
(/usr/src/secure
).
src-share
release=cvs
Bestanden die tussen meerdere systemen
gedeeld kunnen worden
(/usr/src/share
).
src-sys
release=cvs
De kernel
(/usr/src/sys
).
src-sys-crypto
release=cvs
Cryptografische kernelcode
(/usr/src/sys/crypto
).
src-tools
release=cvs
Verschillende hulpprogramma's voor het
onderhoud van FreeBSD
(/usr/src/tools
).
src-usrbin
release=cvs
Gebruikersprogramma's
(/usr/src/usr.bin
).
src-usrsbin
release=cvs
Systeemprogramma's
(/usr/src/usr.sbin
).
distrib release=self
De instellingenbestanden van de CVSup server zelf. Gebruikt door de CVSup mirrorsites.
gnats release=current
De GNATS bug-tracking database.
mail-archive release=current
FreeBSD mailinglijstarchief.
www release=current
De voorbewerkte FreeBSD websitebestanden (niet de broncode). Gebruikt door WWW mirrorsites.
De CVSup FAQ en andere informatie over CVSup is te vinden op De CVSup Homepage.
De meeste FreeBSD–gerelateerde discussie over CVSup vindt plaats op de FreeBSD technische discussie mailinglijst. Daar worden nieuwe versies van de software aangekondigd, net als op de FreeBSD aankondigingen mailinglijst.
Voor vragen en foutrapporten moet een kijkje genomen worden op de CVSup FAQ
CVSup servers voor FreeBSD draaien op de onderstaande sites.
(bijgewerkt op: UTC)
Bij het ophalen of bijwerken van broncode met cvs of CVSup moet een revisielabel meegegeven worden. Een revisielabel refereert aan een specifieke lijn in de FreeBSD ontwikkeling of aan een specifiek moment in de tijd. Het eerste type heet “taklabel” (branch tag) en het tweede type heet “releaselabel” (release tag).
Deze zijn, met uitzondering van HEAD
(dat altijd een geldig label is), alleen van toepassing op de
src/
structuur. De
ports/
, doc/
en
www/
structuren kennen geen takken.
Symbolische naam voor de hoofdlijn van FreeBSD-CURRENT. Ook de standaard als geen revisie is aangegeven.
In CVSup wordt dit label
aangegeven met een .
(dat is dus geen
interpunctie, maar een echt .
karakter).
In CVS is dit de standaard als er geen revisielabel is aangegeven. Het is meestal geen goed idee om een checkout of update van CURRENT broncode op een STABLE machine te doen, tenzij dat expliciet de bedoeling is.
De ontwikkellijn voor FreeBSD-9.X, ook bekend als FreeBSD 9-STABLE.
De uitgavetak voor FreeBSD-9.0, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.
De ontwikkellijn voor FreeBSD-8.X, ook bekend als FreeBSD 8-STABLE.
De uitgavetak voor FreeBSD-8.3, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.
De uitgavetak voor FreeBSD-8.2, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.
De uitgavetak voor FreeBSD-8.1, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.
De uitgavetak voor FreeBSD-8.0, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.
De ontwikkellijn voor FreeBSD-7.X, ook bekend als FreeBSD 7-STABLE.
De uitgavetak voor FreeBSD-7.3, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.
De uitgavetak voor FreeBSD-7.3, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.
De uitgavetak voor FreeBSD-7.2, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.
De uitgavetak voor FreeBSD-7.1, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.
De uitgavetak voor FreeBSD-7.0, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.
De ontwikkellijn voor FreeBSD-6.X, ook bekend als FreeBSD 6-STABLE.
De uitgavetak voor FreeBSD-6.4, alleen gebruikt voor beveiligingsadviezen en andere kritieke reparaties.
De uitgavetak voor FreeBSD-6.3, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.
De releasetak voor FreeBSD-6.2, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.
De releasetak voor FreeBSD-6.1, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.
De releasetak voor FreeBSD-6.0, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.
De ontwikkellijn voor FreeBSD-5.X, ook bekend als FreeBSD 5-STABLE.
De releasetak voor FreeBSD-5.5, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.
De releasetak voor FreeBSD-5.4, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.
De releasetak voor FreeBSD-5.3, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.
De releasetak voor FreeBSD-5.2 en FreeBSD-5.2.1, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.
De releasetak voor FreeBSD-5.1, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.
De releasetak voor FreeBSD-5.0, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.
De ontwikkellijn voor FreeBSD-4.X, ook bekend als FreeBSD 4-STABLE.
De releasetak voor FreeBSD-4.11, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.
De releasetak voor FreeBSD-4.10, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.
De releasetak voor FreeBSD-4.9, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.
De releasetak voor FreeBSD-4.8, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.
De releasetak voor FreeBSD-4.7, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.
De releasetak voor FreeBSD-4.6 en FreeBSD-4.6.2, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.
De releasetak voor FreeBSD-4.5, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.
De releasetak voor FreeBSD-4.4, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.
De releasetak voor FreeBSD-4.3, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.
De ontwikkellijn voor FreeBSD-3.X, ook bekend als 3.X-STABLE.
De ontwikkellijn voor FreeBSD-2.2.X, ook bekend als 2.2-STABLE. Deze tak is sterk verouderd.
Deze labels refereren aan een specifiek moment in de tijd
waarop een versie van FreeBSD is uitgegeven. Het proces om tot
een release te komen is gedetailleerder beschreven in de
Release Engineering
Informatie en Release
Proces documenten. De src
structuur gebruikt
labelnamen die beginnen met RELENG_
labels.
De ports
en doc
structuren gebruiken labels
waarvan de naam begint met het label
RELEASE
. De www
tenslotte, is niet
gemarkeerd met een bijzondere naam bij uitgaven.
FreeBSD 9.0
FreeBSD 8.3
FreeBSD 8.2
FreeBSD 8.1
FreeBSD 8.0
FreeBSD 7.4
FreeBSD 7.3
FreeBSD 7.2
FreeBSD 7.1
FreeBSD 7.0
FreeBSD 6.4
FreeBSD 6.3
FreeBSD 6.2
FreeBSD 6.1
FreeBSD 6.0
FreeBSD 5.5
FreeBSD 5.4
FreeBSD 4.11
FreeBSD 5.3
FreeBSD 4.10
FreeBSD 5.2.1
FreeBSD 5.2
FreeBSD 4.9
FreeBSD 5.1
FreeBSD 4.8
FreeBSD 5.0
FreeBSD 4.7
FreeBSD 4.6.2
FreeBSD 4.6.1
FreeBSD 4.6
FreeBSD 4.5
FreeBSD 4.4
FreeBSD 4.3
FreeBSD 4.2
FreeBSD 4.1.1
FreeBSD 4.1
FreeBSD 4.0
FreeBSD-3.5
FreeBSD-3.4
FreeBSD-3.3
FreeBSD-3.2
FreeBSD-3.1
FreeBSD-3.0
FreeBSD-2.2.8
FreeBSD-2.2.7
FreeBSD-2.2.6
FreeBSD-2.2.5
FreeBSD-2.2.2
FreeBSD-2.2.1
FreeBSD-2.2.0
De volgende sites bieden FreeBSD aan via het protocol rsync. Het programma rsync werkt vrijwel hetzelfde als rcp(1), maar kent meer mogelijkheden en gebruikt het rsync remote-update protocol, dat alleen verschillen tussen twee groepen bestanden overbrengt, waardoor het synchroniseren via een netwerk drastisch wordt versneld. Dit kan het beste gedaan worden als er een mirrorsite voor de FreeBSD FTP server of het FreeBSD CVS depot draait. De rsync suite is voor veel besturingssystemen beschikbaar. Voor FreeBSD kan het pakket of de port uit net/rsync geïnstalleerd worden.
rsync://ftp.cz.FreeBSD.org/
Beschikbare collecties:
ftp: een gedeeltelijke mirror van de FreeBSD FTP server.
FreeBSD: een volledige mirror van de FreeBSD FTP server.
rsync://ftp.nl.FreeBSD.org/
Beschikbare collecties:
FreeBSD: een volledige mirror van de FreeBSD FTP server.
rsync://ftp.mtu.ru/
Beschikbare collecties:
FreeBSD: een volledige spiegel van de FTP-server van FreeBSD.
FreeBSD-gnats: De GNATS bug-tracking database.
FreeBSD-archief: spiegel van de FreeBSD Archive FTP-server.
rsync://ftp4.se.freebsd.org/
Beschikbare verzamelingen:
FreeBSD: een volledige spiegel van de FTP-server van FreeBSD.
rsync://ftp.tw.FreeBSD.org/
rsync://ftp2.tw.FreeBSD.org/
rsync://ftp6.tw.FreeBSD.org/
Beschikbare collecties:
FreeBSD: een volledige mirror van de FreeBSD FTP server.
rsync://rsync.mirrorservice.org/
Beschikbare collecties:
sites/ftp.freebsd.org: een volledige mirror van de FreeBSD FTP server.
rsync://ftp-master.FreeBSD.org/
Deze server mag alleen gebruikt worden door FreeBSD primaire mirrorsites.
Beschikbare collecties:
FreeBSD: het masterarchief van de FreeBSD FTP server.
acl: de FreeBSD master ACL lijst.
rsync://ftp13.FreeBSD.org/
Beschikbare collecties:
FreeBSD: een volledige mirror van de FreeBSD FTP server.
Hoewel de handleiding de juiste referentie is voor individuele stukken van het FreeBSD besturingssysteem, staan ze erom bekend niet te illustreren hoe de stukken in elkaar vallen om het hele besturingssysteem soepel te laten draaien. Daarom wordt er gesteld dat er geen vervanger is voor een goed boek over UNIX® systeembeheer en een goede gebruikershandleiding.
Internationale boeken & Tijdschriften:
Using FreeBSD (Traditioneel Chinees), gepubliceerd door Drmaster, 1997. ISBN 9-578-39435-7.
FreeBSD Unleashed (Versimpelde Chinese vertaling), gepubliceerd door China Machine Press. ISBN 7-111-10201-0.
FreeBSD From Scratch Second Edition (Versimpeld Chinees), gepubliceerd door China Machine Press. ISBN 7-111-10286-X.
FreeBSD Handbook Second Edition (Versimpeld Chinese vertaling), gepubliceerd door Posts & Telecom Press. ISBN 7-115-10541-3.
FreeBSD & Windows (Versimpeld Chinees), gepubliceerd door gepubliceerd door China Railway Publishing House. ISBN 7-113-03845-X
FreeBSD Internet Services HOWTO (Versimpeld Chinees), gepubliceerd door China Railway Publishing House. ISBN 7-113-03423-3
FreeBSD (Japans), gepubliceerd door CUTT. ISBN 4-906391-22-2 C3055 P2400E.
Complete Introduction to FreeBSD (Japans), gepubliceerd door Shoeisha Co., Ltd. ISBN 4-88135-473-6 P3600E.
Personal UNIX Starter Kit FreeBSD (Japans), gepubliceerd door ASCII. ISBN 4-7561-1733-3 P3000E.
FreeBSD Handbook (Japanse vertaling), gepubliceerd door ASCII. ISBN 4-7561-1580-2 P3800E.
FreeBSD mit Methode (Duits), gepubliceerd door Computer und Literatur Verlag/Vertrieb Hanser, 1998. ISBN 3-932311-31-0.
FreeBSD de Luxe (Duits), gepubliceerd door Verlag Modere Industrie, 2003. ISBN 3-8266-1343-0.
FreeBSD Install and Utilization Manual (Japans), gepubliceerd door Mainichi Communications Inc..
Onno W Purbo, Dodi Maryanto, Syahrial Hubbany, Widjil Widodo Building Internet Server with FreeBSD (Indonesisch), published by Elex Media Komputindo.
Absolute BSD: The Ultimate Guide to FreeBSD (Traditioneel Chinese vertaling), gepubliceerd door GrandTech Press, 2003. ISBN 986-7944-92-5.
The FreeBSD 6.0 Book (Traditioneel Chinees), gepubliceerd door Drmaster, 2006. ISBN 9-575-27878-X.
Engelstalige boeken & Tijdschriften:
Absolute FreeBSD, 2e editie: The Complete Guide to FreeBSD, gepubliceerd door No Starch Press, 2007. ISBN: 978-1-59327-151-0
The Complete FreeBSD, gepubliceerd door O'Reilly, 2003. ISBN: 0596005164
The FreeBSD Corporate Networker's Guide, gepubliceerd door Addison-Wesley, 2000. ISBN: 0201704811
FreeBSD: An Open-Source Operating System for Your Personal Computer, gepubliceerd door The Bit Tree Press, 2001. ISBN: 0971204500
Teach Yourself FreeBSD in 24 Hours, gepubliceerd door Sams, 2002. ISBN: 0672324245
FreeBSD unleashed, gepubliceerd door Sams, 2006. ISBN: 0672328755
FreeBSD: The Complete Reference, gepubliceerd door McGrawHill, 2003. ISBN: 0072224096
BSD Magazine, gepubliceerd door Software Press Sp. z.o.o. SK. ISSN 1898-9144
Ohio State University heeft een UNIX Introductiecursus geschreven welke online in HTML en in PostScript® formaat beschikbaar is.
Een Italiaanse vertaling van dit document is beschikbaar als onderdeel van het FreeBSD Italian Documentation Project.
Jpman Project, Japan FreeBSD Users Group. FreeBSD User's Reference Manual (Japanse vertaling). Mainichi Communications Inc., 1998. ISBN4-8399-0088-4 P3800E.
Edinburgh University heeft een Online Guide geschreven voor nieuwkomers in de UNIX® omgeving.
Jpman Project, Japan FreeBSD Users Group. FreeBSD System Administrator's Manual (Japanse vertaling). Mainichi Communications Inc., 1998. ISBN4-8399-0109-0 P3300E.
Dreyfus, Emmanuel. Cahiers de l'Admin: BSD 2nd Ed. (Frans), Eyrolles, 2004. ISBN 2-212-11463-X
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-8
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
Marshall Kirk McKusick, George V. Neville-Neil. The Design and Implementation of the FreeBSD UNIX Operating System. Boston, Mass. : Addison-Wesley, 2004. ISBN 0-201-70245-2
Spinellis, Diomidis. Code Quality: The Open Source Perspective. Addison-Wesley, 2006. ISBN 0-321-16607-8
Stevens, W. Richard. Advanced Programming in the UNIX Environment. 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
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 en John Quarterman The Design and Implementation of the 4.3BSD UNIX Operating System. Reading, Mass. : Addison-Wesley, 1989. ISBN 0-201-06196-1
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
Hoofdstuk 2 is online beschikbaar als onderdeel van het FreeBSD Documentatie Project.
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
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. PGP Pretty Good Privacy O'Reilly & Associates, Inc., 1995. ISBN 1-56592-098-8
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
Intel Corporation publiceert documentatie over haar CPU's, chipsets en standaarden op haar ontwikkelaars website, gewoonlijk als PDF bestanden.
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
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. Ook bekend als het Jargon Bestand
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. Het is niet meer te leveren, maar wel online beschikbaar.
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
of
/usr/share/misc/bsd-family-tree
op een FreeBSD machine.
Networked Computer Science Technical Reports
Library. http://www.ncstrl.org/
Oude BSD releases van de Computer Systems
Research group (CSRG). http://www.mckusick.com/csrg/
: De set van 4
cd-roms bevat alle versies van BSD van 1BSD to 4.4BSD en
4.4BSD-Lite2 (maar helaas 2.11BSD niet). Op de laatste disk
staan ook de laatste broncode en de SCCS bestanden.
Door de snelle ontwikkeling van FreeBSD zijn gedrukte media niet zo praktisch om de laatste ontwikkelingen te volgen. Elektronische bronnen zijn de beste, en vaak de enige, om op de hoogte te blijven van de laatste ontwikkelingen. Omdat FreeBSD draait op de inzet van vrijwilligers, is de gebruikersgemeenschap vaak een soort “technische ondersteuningsgroep”, die heeft ontdekt dat email, webfora, en USENET de meeste effectieve manieren zijn om de gebruikersgemeenschap te bereiken.
Hieronder staan de meest belangrijke contactmogelijkheden met de FreeBSD gebruikersgemeenschap beschreven. Mochten er andere bronnen zijn die hier niet beschreven zijn, laat die dan weten aan de FreeBSD documentatieproject mailinglijst, zodat ze hier ook beschreven kunnen worden.
De mailinglijsten zijn de meest directe manier om vragen te stellen aan of een technische discussie te beginnen met een geconcentreerd FreeBSD-publiek. Er is een grote verscheidenheid aan lijsten met betrekking tot verschillende FreeBSD-onderwerpen. Door uw vragen aan de meest geschikte mailinglijst te stellen bent u ongetwijfeld verzekerd van een sneller en accurater antwoord.
De doelstellingen van de verschillende lijsten staan onderaan dit document. Lees alstublieft de doelstellingen alvorens lid te worden of mail te sturen. De meeste leden ontvangen tegenwoordig vaak honderden FreeBSD-gerelateerde berichten per dag, en door de doelstellingen en gebruiksregels op te stellen wordt gestreefd om zo min mogelijk ruis op de lijn te krijgen. Door de voorgaande adviezen te negeren zouden de mailinglijsten op termijn falen als een effectief communicatiemedium over het project.
Als u wilt testen of u naar de FreeBSD lijsten email kunt versturen, stuur dan een bericht naar freebsd-test. Stuur alstublieft geen testberichten naar andere lijsten.
Bij twijfel over naar welke lijst te posten, kan de pagina Hoe de beste resultaten uit de FreeBSD-vragen mailinglijst te halen wellicht helpen.
Alvorens naar enige lijst te posten, is het verstandig te leren hoe de mailinglijsten het beste gebruikt kunnen worden. Hoe bijvoorbeeld zich vaak herhalende discussies voorkomen kunnen worden door het document Veel Gestelde Mailinglijstvragen (FAQ) te lezen.
Voor alle mailinglijsten worden archieven bijgehouden die doorzocht kunnen worden op de FreeBSD World Wide Web server. De met sleutelwoorden te doorzoeken archieven bieden een voortreffelijke methode om antwoorden te vinden op vaak gestelde vragen en horen geraadpleegd te worden voordat er vragen op een lijst worden gesteld. Merk op dat dit ook betekent dat berichten die naar de mailinglijsten van FreeBSD worden verzonden tot in de oneindigheid worden gearchiveerd. Overweeg, wanneer het beschermen van privacy belangrijk is, om een tweede emailadres dat weggegooid kan worden te gebruiken en om alleen publieke informatie te posten.
Algemene lijsten: De volgende zijn algemene lijsten waarop vrijelijk (en aangemoedigd) geabonneerd kan worden:
Lijst | Doel |
---|---|
freebsd-advocacy | FreeBSD Evangelisatie |
freebsd-announce | Belangrijke gebeurtenissen en projectdoelen (gemodereerd) |
freebsd-arch | Architectuur en ontwerp discussies |
freebsd-bugbusters | Discussie over het onderhoud van de FreeBSD probleemrapportendatabase en aanverwante zaken |
freebsd-bugs | Bugbeschrijvingen |
freebsd-chat | Niet-technische onderwerpen met betrekking tot de FreeBSD-gemeenschap |
freebsd-chromium | FreeBSD specifieke Chromium problemen |
freebsd-current | Discussie over het gebruik van FreeBSD-CURRENT |
freebsd-isp | Zaken voor Internet Service Providers die FreeBSD gebruiken |
freebsd-jobs | Werk en mogelijkheden voor het geven van advies met betrekking tot FreeBSD |
freebsd-questions | Gebruikersvragen en technische ondersteuning |
freebsd-security-notifications | Beveiligingswaarschuwingen (gemodereerd) |
freebsd-stable | Discussies over het gebruik van FreeBSD-STABLE |
freebsd-test | Hier kunnen testberichten heengestuurd worden in plaats van naar de eigenlijke lijsten |
Technische lijsten: De volgende lijsten zijn voor technische discussie. Het is van belang de doelstellingen te lezen alvorens lid te worden of mail te sturen omdat de richlijnen voor het gebruik en de inhoud erg strikt zijn.
Lijst | Doel |
---|---|
freebsd-acpi | Ontwikkeling van ACPI en energiebeheer |
freebsd-afs | Porten van AFS naar FreeBSD |
freebsd-aic7xxx | Ontwikkeling van stuurprogramma's voor de Adaptec® AIC 7xxx |
freebsd-amd64 | Porten van FreeBSD naar AMD64-systemen (gemodereerd) |
freebsd-apache | Discussie over ports met betrekking tot Apache |
freebsd-arm | Porten van FreeBSD naar ARM®-processors |
freebsd-atm | Het gebruik van ATM-netwerken met FreeBSD |
freebsd-bluetooth | Bluetooth® technologie gebruiken in FreeBSD |
freebsd-cluster | FreeBSD gebruiken in een geclusterde omgeving |
freebsd-cvsweb | CVSweb onderhoud |
freebsd-database | Discussie over het gebruik en de ontwikkeling van databases met FreeBSD |
freebsd-desktop | FreeBSD gebruiken op en verbeteren voor bureaubladen |
freebsd-doc | Het maken van FreeBSD-gerelateerde documenten |
freebsd-drivers | Apparaatstuurprogramma's schrijven voor FreeBSD |
freebsd-dtrace | DTrace op FreeBSD gebruiken en ontwikkelen |
freebsd-eclipse | Gebruikers van Eclipse IDE, hulpprogramma's, cliëntapplicaties en ports |
freebsd-eol | Ondersteuning voor FreeBSD-gerelateerde software welke niet langer ondersteund worden door het FreeBSD-project. |
freebsd-embedded | FreeBSD gebruiken in embedded applicaties. |
freebsd-emulation | Emulatie van andere systemen zoals Linux®, MS-DOS®, en Windows® |
freebsd-firewire | FreeBSD FireWire® (iLink, IEEE 1394) technische discussie |
freebsd-fs | Bestandssystemen |
freebsd-gecko | Discussies over de Gecko Rendering Engine |
freebsd-geom | GEOM-specifieke discussies en implementaties |
freebsd-gnome | Porten van GNOME en GNOME applicaties |
freebsd-hackers | Algemene technische discussies |
freebsd-hardware | Algemene discussies over hardware voor het draaien van FreeBSD |
freebsd-i18n | FreeBSD Internationalisatie |
freebsd-ia32 | FreeBSD op het IA-32 (Intel® x86) platform |
freebsd-ia64 | Porten van FreeBSD naar Intel®'s IA64 systemen |
freebsd-infiniband | Infiniband op FreeBSD |
freebsd-ipfw | Technische discussie over het herontwerp van de IP-firewallcode |
freebsd-isdn | ISDN-ontwikkelaars |
freebsd-jail | Discussies over de jail(8)-faciliteiten. |
freebsd-java | Java™ ontwikkelaars en mensen die JDK™s porten naar FreeBSD |
freebsd-kde | Porten van KDE en KDE applicaties |
freebsd-lfs | Porten van LFS naar FreeBSD |
freebsd-mips | Porten van FreeBSD naar MIPS® |
freebsd-mobile | Discussie over mobiel computeren |
freebsd-mono | Mono en C# applicaties op FreeBSD |
freebsd-mozilla | Porten van Mozilla naar FreeBSD |
freebsd-multimedia | Multimedia-applicaties |
freebsd-new-bus | Technische discussies over busarchitecturen |
freebsd-net | Discussies over netwerken en TCP/IP-broncode |
freebsd-numerics | Discussies over implementaties van hoge kwaliteit van functies in libm |
freebsd-office | Kantoortoepassingen op FreeBSD |
freebsd-performance | Optimalisatie van prestaties voor installaties met hoge prestaties en/of load |
freebsd-perl | Onderhoud van een aantal ports met betrekking tot Perl |
freebsd-pf | Discussies en vragen voor het pakketfilter firewallsysteem |
freebsd-platforms | Ports naar niet Intel®-architectuurplatformen |
freebsd-ports | Discussie over de Portscollectie |
freebsd-ports-announce | Belangrijk nieuws en belangrijke instructies over de Portscollectie (gemodereerd) |
freebsd-ports-bugs | Discussie over bugs in ports en PR's |
freebsd-ppc | Porten van FreeBSD naar de PowerPC® |
freebsd-proliant | Technische discussie over FreeBSD op HP Proliant serverplatforms |
freebsd-python | FreeBSD-specifieke zaken over Python |
freebsd-realtime | Ontwikkeling van realtime-uitbreidingen voor FreeBSD |
freebsd-rc | Discussie over het
rc.d -systeem en de ontwikkeling
daarvan |
freebsd-ruby | FreeBSD-specifieke discussies over Ruby |
freebsd-scsi | Het SCSI-subsysteem |
freebsd-security | Beveiligingsonderwerpen betreffende FreeBSD |
freebsd-small | FreeBSD gebruiken in embedded toepassingen, verouderd, gebruik in plaats hiervan freebsd-embedded |
freebsd-snapshots | Aankondigingen van ontwikkel-snapshots van FreeBSD |
freebsd-sparc64 | Porten van FreeBSD naar op SPARC® gebaseerde systemen |
freebsd-standards | Volgen van de C99- en de POSIX® standaarden door FreeBSD |
freebsd-sysinstall | Ontwikkeling van sysinstall(8) |
freebsd-tcltk | FreeBSD-specifieke discussies over Tcl/Tk |
freebsd-testing | Testen op FreeBSD |
freebsd-tex | TeX en haar toepassingen op FreeBSD overzetten |
freebsd-threads | Threading in FreeBSD |
freebsd-tilera | FreeBSD porteren naar de Tilera CPU-familie |
freebsd-tokenring | Ondersteuning voor Token Ring in FreeBSD |
freebsd-toolchain | Onderhoud van de ingebouwde toolchain van FreeBSD |
freebsd-usb | Discussie over FreeBSD-ondersteuning voor USB |
freebsd-virtualization | Discussies over verscheidene virtualisatietechnieken ondersteund door FreeBSD |
freebsd-vuxml | Discussie over VuXML-infrastructuur |
freebsd-x11 | Onderhoud en ondersteuning voor X11 op FreeBSD |
freebsd-xen | Discussies over het overbrengen van FreeBSD naar Xen™ — implementatie en gebruik |
freebsd-xfce | Overbrengen en onderhouden van XFCE voor FreeBSD |
freebsd-zope | Zope voor FreeBSD — overbrengen en onderhouden |
Beperkte lijsten: De volgende lijsten zijn voor meer gespecialiseerd publiek en algemene gebruikers hebben er waarschijnlijk niets aan. Het is verstandig om eerst naam te maken in de technische lijsten alvorens lid te worden van een van de onderstaande beperkte lijsten, zodat de gebruiken op die lijst bekend zijn.
Lijst | Doel |
---|---|
freebsd-hubs | Mensen die mirrorsites draaien (infrastructurele ondersteuning) |
freebsd-user-groups | Gebruikersgroepcoördinatie |
freebsd-wip-status | FreeBSD Werk-In-Uitvoering status |
freebsd-wireless | Discussies over de ontwikkeling van de 802.11-stack, gereedschappen en stuurprogramma's. |
Verkorte versie van lijsten (digest): Alle hierboven beschreven lijsten zijn beschikbaar in verkorte vorm. Na het lid worden van een lijst zijn de digest opties te wijzigen bij de accountopties.
SVN-lijsten: De volgende lijsten zijn voor mensen met interesse in het zien van logboekberichten voor wijzigingen in verschillende onderdelen van de broncodeboom. Het zijn Alleen-lezen-lijsten waar geen email heen gezonden hoort te worden.
Lijst | Broncodegebied | Broncodebeschrijving |
---|---|---|
svn-doc-all | /usr/doc | Alle wijzigingen aan het doc-Subversion-reservoir (behalve
user , projects en
translations ) |
svn-doc-head | /usr/doc | Alle wijzigingen aan de tak “head” van het doc-Subversion-reservoir |
svn-doc-projects | /usr/doc/projects | Alle wijzigingen in het projects-gebied van het doc-Subversion-reservoir |
svn-doc-svnadmin | /usr/doc | Alle wijzigingen aan de administratieve scripts, haken en andere configuratiegegevens van het doc-Subversion-reservoir |
svn-ports-all | /usr/ports | Alle wijzigingen aan het ports-Subversion-reservoir |
svn-ports-head | /usr/ports | Alle wijzigingen aan de tak “head” van het ports-Subversion-reservoir |
svn-ports-svnadmin | /usr/ports | Alle wijzigingen aan de administratieve scripts, haken en andere configuratiegegevens van het ports-Subversion-reservoir |
svn-src-all | /usr/src | Alle wijzigingen in het src-Subversion-repository
(behalve user en
projects ) |
svn-src-head | /usr/src | Alle wijzigingen aan de “head”-tak van het src-Subversion-repository (de tak FreeBSD-CURRENT) |
svn-src-projects | /usr/projects | Alle wijzigingen aan het gebied
projects van het
src-Subversion-repository |
svn-src-release | /usr/src | Alle veranderingen aan het gebied
releases van het
src-Subversion-repository |
svn-src-releng | /usr/src | Alle veranderingen aan de takken
releng van het
src-Subversion-repository (de beveiligings- /
uitgavetakken) |
svn-src-stable | /usr/src | Alle veranderingen aan alle stable-takken van het src-Subversion-repository |
svn-src-stable-6 | /usr/src | Alle veranderingen aan de
stable/6 -tak van het
src-Subversion-repository |
svn-src-stable-7 | /usr/src | Alle veranderingen aan de
stable/7 -tak van het
src-Subversion-repository |
svn-src-stable-8 | /usr/src | Alle veranderingen aan de
stable/8 -tak van het
src-Subversion-repository |
svn-src-stable-9 | /usr/src | Alle veranderingen aan de
stable/9 -tak van het
src-Subversion-repository |
svn-src-stable-other | /usr/src | Alle veranderingen aan de oudere
stable -takken van het
src-Subversion-repository |
svn-src-svnadmin | /usr/src | Alle veranderingen aan de administratieve scripts, haken, en andere configuratiegegevens van het src-Subversion-repository |
svn-src-user | /usr/src | Alle veranderingen aan het experimentele gebied
user van het
src-Subversion-repository |
svn-src-vendor | /usr/src | Alle wijzigingen aan het verkoperswerkgebied van het src-Subversion-repository |
Om te abonneren op een lijst kan geklikt worden op de naam van de lijst hierboven of kan op http://lists.FreeBSD.org/mailman/listinfo geklikt worden op de lijst waarin interesse bestaat. De pagina waarop de lijsten staan beschreven bevat alle informatie die nodig is om te abonneren.
Om te posten op een lijst kan een email gestuurd worden naar
<
.
Daarna wordt die doorgestuurd aan leden van de lijst in de hele
wereld.lijstnaam
@FreeBSD.org>
Om het abonnement op een lijst op te zeggen kan op de URL
die onderaan iedere email van een lijst staat geklikt worden.
Het is ook mogelijk om een email te sturen naar
<
om een abonnement op te zeggen.lijstnaam
-unsubscribe@FreeBSD.org>
Hierbij nogmaals het advies om discussies op de technische mailinglijsten technisch te houden. Als er alleen interesse bestaat in belangrijke mededelingen dan wordt aangeraden te abonnneren op FreeBSD aankondigingen mailinglijst, waarop zelden verkeer voorkomt.
Alle FreeBSD-mailinglijsten hebben eigen
regels waaraan voldaan dient te worden bij gebruik. Als daaraan
niet wordt voldaan, resulteert dat in maximaal twee (2)
schriftelijke waarschuwingen van de FreeBSD Postmaster
<postmaster@FreeBSD.org>
, waarna na de derde
overtreding de poster verwijderd wordt van alle
FreeBSD-mailinglijsten en alle toekomstige mail van het adres van
de verzender wordt uitgefilterd. Helaas zijn deze regels nodig,
omdat het Internet van vandaag de dag een onvriendelijke
omgeving is en slechts weinigen zich bewust zijn van hoe fragiel
sommige mechanismen zijn.
Standaardregels:
Het onderwerp van iedere mail dient te voldoen aan de basisdoelstellingen van de lijst waarnaar wordt gepost. Als de lijst bijvoorbeeld over technische onderwerpen gaat, dan hoort een post ook over iets technisch te gaan. Ruis en flaming doen alleen af aan de waarde van een mailinglijst voor alle leden en dat wordt niet getolereerd. Voor vrije discussie dient de FreeBSD babbel mailinglijst gebruikt te worden die daar speciaal voor is ingesteld.
Bijdragen horen niet naar meer dan twee mailinglijsten
verzonden te worden en alleen dan naar twee als het helder
en duidelijk is dat daarvoor de noodzaak bestaat. Voor de
meeste lijsten bestaat er al veel overlap in de leden en
met uitzondering van de meer esoterische lijsten, zoals
bijvoorbeeld “-stable & -scsi”, is er
eigenlijk slechts zelden aanleiding om naar meer dan een
lijst te posten. Als een bericht zo is verzonden dat er
meerdere mailinglijsten op de regel Cc
staan, dan hoort de regel Cc
weer
ingekort te worden in een eventueel antwoord. De
verzender is verantwoordelijk voor zijn eigen kruisposten,
wie ook een eerdere zender was.
Persoonlijke aanvallen en profane taal (in de context van een geschil) zijn niet toegestaan. Dit geldt zowel voor gebruikers als ontwikkelaars. Grove schending van de netiquette, zoals kopiëren uit of het volledig doorsturen van persoonlijke email zonder dat daarvoor toestemming is gegeven, wordt niet op prijs gesteld. Er zijn hoe dan ook zeer weinig gevallen waarin zoiets dergelijks wel binnen de doelstelling van een lijst valt, waardoor dat soort emails op grond van de inhoud alleen al vaak reden zijn voor een waarschuwing (of ban).
Adverteren voor niet-FreeBSD-gerelateerde producten is streng verboden en heeft direct een ban tot gevolg als helder is dat de overtreder adverteert door middel van spam.
Individuele lijstdoelstellingen:
ACPI en energiebeheerontwikkeling
Andrew Bestandssysteem (Andrew File System)
Deze lijst is voor onderwerpen over het porten en gebruik van AFS van CMU/Transarc
Belangrijke gebeurtenissen en projectdoelen
Dit is de mailinglijst voor hen die alleen interesse hebben in gelegenheidsmededelingen of belangrijke FreeBSD-gebeurtenissen. Hieronder vallen aankondigingen over snapshots en andere uitgaven. De lijst omvat ook aankondigingen over nieuwe mogelijkheden binnen FreeBSD. Er kunnen ook oproepen gedaan worden voor vrijwilligers, enzovoort. Deze lijst kent een laag volume en is volledig gemodereerd.
Discussie van architectuur en ontwerp
Deze lijst is bedoeld voor het bespreken van de FreeBSD-architectuur. Berichten zijn in het algemeen strikt technisch van aard. Voorbeelden van geschikte onderwerpen zijn:
Hoe het buildsysteem bijgewerkt kan worden zodat meerdere aanpaste builds tegelijkertijd kunnen lopen.
Wat moet er aan VPS aangepast worden om Heidemann-lagen te laten werken.
Hoe kan de apparataatstuurprogramma interface aangepast worden zodat dezelfde stuurprogramma's netjes op vele bussen en architecturen gebruikt kunnen worden.
Hoe een netwerkstuurprogramma geschreven kan worden.
Bluetooth® in FreeBSD
Dit is het forum waar gebruikers van Bluetooth® op FreeBSD samenkomen. Gespreksstof op het gebied van ontwerp, implementatiedetails, patches, probleemrapportages, statusrapportages, verzoeken voor nieuwe mogelijkheden en al het andere dat met Bluetooth® te maken heeft is geschikt materiaal.
Coördinatie afhandeling Problem Reports
Het doel van deze lijst is een platform zijn voor de coördinatie en discussie voor de Bugmeister, zijn Bugbusters en anderen die interesse hebben in de PR-database. Deze lijst is niet bedoeld voor discussies over specifieke bugs, patches of PR's.
Bug reports
Dit is de mailinglijst voor het rapporteren van bugs in FreeBSD. Waar mogelijk dienen bugs ingezonden te worden via send-pr(1) of via de Webinterface daarvan.
Niet-technische onderwerpen met betrekking tot de FreeBSD-gemeenschap
Deze lijst bevat alle onderwerpen waar op andere lijsten geen ruimte voor is wat betreft niet-technische en sociale informatie. Er wordt gesproken over de moord op Van Gogh, of er in onderkast of kapitalen geschreven dient te worden, wie er te veel koffie drinkt, waar het beste bier vandaan komt, enzovoort. Belangrijke gebeurtenissen (zoals feestjes, bruiloften, geboorten, nieuwe banen, enzovoort) kunnen op de technische lijsten aangekondigd worden, maar antwoorden dienen naar deze -chat lijst te gaan.
FreeBSD specifieke Chromium problemen
Dit is een lijst voor het bespreken van Chromium ondersteuning voor FreeBSD. Dit is een technische lijst om de ontwikkelingen en installatie van Chromium te bespreken.
FreeBSD Kernteam
Dit is een interne mailinglijst die wordt gebruikt door de kernleden. Er kunnen berichten naar gestuurd worden als een belangrijke FreeBSD-gerelateerde zaak arbitrage nodig heeft of een onderzoekende blik op hoog niveau nodig is.
Discussie over het gebruikt van FreeBSD-CURRENT
Dit is de mailinglijst voor gebruikers van FreeBSD-CURRENT. Er staan waarschuwingen op over nieuwe mogelijkheden in -CURRENT die impact hebben op gebruikers en instructies over de te nemen stappen om -CURRENT te blijven. Iedereen die “CURRENT” draait, zou zich moeten abonneren. Dit is een technische mailinglijst waarop strikt technische berichten worden verwacht.
FreeBSD CVSweb Project
Technische discussie over het gebruik, de ontwikkeling en het beheer van FreeBSD-CVSweb.
FreeBSD gebruiken op en verbeteren voor bureaubladen
Dit is een forum voor het bespreken van FreeBSD op desktops. Het is vooral een plaats voor porters en gebruikers van bureaubladomgevingen om zaken te bespreken en de ondersteuning van FreeBSD op het bureaublad te verbeteren.
Documentatieproject
Dit is de mailinglijst voor het bespreken van onderwerpen en projecten die te maken hebben met het maken van documentatie voor FreeBSD. De leden van deze mailinglijst worden samen “The FreeBSD Documentation Project” genoemd. Het is een open lijst waarop zonder problemen een abonnement genomen kan worden en bijdragen zeer op prijs worden gesteld!
Apparaatstuurprogramma's schrijven voor FreeBSD
Dit is een forum voor technische discussie met betrekking tot apparaatstuurprogramma's op FreeBSD. Het is vooral een plaats voor schrijvers van apparaatstuurprogramma's om vragen te stellen over hoe apparaatstuurprogramma's te schrijven met de API's in de kernel van FreeBSD.
DTrace op FreeBSD gebruiken en ontwikkelen
DTrace is een geïntegreerd component van FreeBSD dat een raamwerk biedt om de kernel en de gebruikersprogramma's tijdens het draaien te begrijpen. De mailinglijst is een gearchiveerde discussie voor ontwikkelaars van de code en voor de gebruikers ervan.
Gebruikers van Eclipse IDE, hulpprogramma's, cliëntapplicaties en ports
De doelstelling van deze lijst is wederzijdse ondersteuning bieden voor alles dat te maken heeft met het kiezen, installeren, gebruiken, ontwikkelen, en onderhouden van Eclipse IDE, hulpprogramma's en cliëntapplicaties op het FreeBSD-platform en te ondersteunen bij het porten van Eclipse IDE en plugins naar de FreeBSD-omgeving.
Het is ook de bedoeling om het uitwisselen van informatie tussen de Eclipse gemeenschap en de FreeBSD-gemeenschap te bevorderen zodat beiden ervan kunnen profiteren.
Hoewel deze lijst voornamelijk is gericht op de behoeften van gebruikers van Eclipse, wordt ook een forum geboden voor hen die FreeBSD-specifieke applicaties willen ontwikkelen met het Eclipse raamwerk.
Ondersteuning van FreeBSD gerelateerde software welke niet meer ondersteund wordt door het FreeBSD-project.
Deze lijst is voor degenen die geïnteresseerd zijn in het leveren of gebruiken van ondersteuning voor FreeBSD-gerelateerde software voor welke het FreeBSD-project geen ondersteuning meer biedt (in de vorm van beveiligingsadviezen en patches).
FreeBSD gebruiken in embedded applicaties
Deze lijst heeft tot doel om te discussieren over FreeBSD in embedded systemen. Dit is een technische mailinglijst waarbij men alleen technische inhoud verwacht. Voor het belang van deze lijst definiëren we embedded systemen als computersystemen die geen desktop-systemen zijn en meestal slechts één doel hebben ten opzichte van gewone systemen. Voorbeelden bevatten onder andere: diverse soorten telefoonsets, netwerkapparatuur zoals routers, switches en PBX'en, op afstand bestuurbare meetapparatuur, PDA's, Point of Sale systemen etc.
Emulatie van andere systemen zoals Linux®, MS-DOS® en Windows®
Dit is een forum voor technische discussie met betrekking tot het draaien van programma's op FreeBSD die zijn geschreven voor andere besturingssystemen.
FireWire® (iLink, IEEE 1394)
Dit is de mailinglijst voor het bespreken van het ontwerp en de implementatie van een FireWire® (ook wel IEEE 1394 of iLink) subsysteem voor FreeBSD. Relevante onderwerpen omvatten de standaarden, busapparaten en hun protocollen, adapter boards/kaarten/chipssets en de architectuur en implementatie van code voor een juiste ondersteuning.
Bestandssystemen
Discussie over FreeBSD-bestandssystemen. Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht.
Gecko Rendering Engine
Dit is een forum over Gecko applicaties die FreeBSD gebruiken.
De discussie concentreert zich op toepassingen van Gecko Ports, hun installatie, hun ontwikkeling en hun ondersteuning binnen FreeBSD.
GEOM
Discussie specifiek over GEOM en gerelateerde implementaties. Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht.
GNOME
Discussie over de bureaubladomgeving GNOME voor FreeBSD. Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht.
Infiniband op FreeBSD
Technische mailinglijst over Infiniband, OFED en OpenSM op FreeBSD.
IP Firewall
Dit is het forum voor technische bespreking van het herontwerp van de IP-firewallcode in FreeBSD. Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht.
Porten van FreeBSD naar IA64
Dit is een technische mailinglijst voor individuen die actief werken aan het porten van FreeBSD naar het platform IA-64 van Intel®, om problemen op tafel te leggen of alternatieve oplossingen te bespreken. Geïnteresseerden die alleen de technische bespreking willen volgen zijn ook welkom.
ISDN-communicatie
Dit is de mailinglijst voor discussie over de ontwikkeling van ISDN-ondersteuning voor FreeBSD.
Java™ Ontwikkeling
Dit is de mailinglijst voor het bespreken van de ontwikkeling van significante Java™ applicaties voor FreeBSD en het porten en het beheer van JDK™'s.
Banen in de aanbieding en gezocht
Dit is een forum voor vacatures en CV's specifiek gerelateerd aan FreeBSD, bijvoorbeeld als er FreeBSD-gerelateerd werk wordt gezocht of in de aanbieding is. Dit is geen mailinglijst voor algemene werkonderwerpen omdat daarvoor al elders ruimte staat.
Ook deze lijst wordt net als alle andere FreeBSD.org
mailinglijsten
wereldwijd verspreid. Daarom dient duidelijk vermeld te
worden om welke locatie het gaat en onder welke
voorwaarden telewerken of bijdragen in huisvesting
mogelijk zijn.
Email dient alleen open formaten te bevatten. Bij
voorkeur platte tekst, maar standaard Portable Document
Format (PDF), HTML, en een aantal
andere, zijn acceptabel voor lezers. Gesloten formaten,
zoals Microsoft® Word (.doc
), worden
door de mailinglijstserver geweigerd.
KDE
Discussie over KDE op FreeBSD-systemen. Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht.
Technische discussies
Dit is een forum voor technische discussie met betrekking tot FreeBSD. Dit is de leidende technische mailinglijst die is bestemd voor mensen die actief aan FreeBSD werken om problemen aan het voetlicht te brengen of alternatieve oplossingen te bespreken. Geïnteresseerden die alleen de technische bespreking willen volgen zijn ook welkom. Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht.
Algemene discussie over FreeBSD-hardware
Algemene discussie over de typen hardware waar FreeBSD op draait en problemen en oplossingen over wat te kopen en wat vooral niet.
Mirrorsites
Aankondigingen en discussie voor beheerders van FreeBSD-mirrorsites.
Onderwerpen voor Internet Service Providers
Deze mailinglijst is voor het bespreken van relevante onderwerpen voor Internet Service Providers (ISP's) die FreeBSD gebruiken. Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht.
Mono en C# applicaties op FreeBSD
Dit is een lijst voor discussies met betrekking tot het Mono-ontwikkelraamwerk op FreeBSD. Dit is een technische mailinglijst. Het is bedoeld voor individuen die actief werken aan het overbrengen van Mono of C# applicaties naar FreeBSD, om problemen naar voren te brengen of alternatieve oplossingen te bespreken. Individuen die geïnteresseerd zijn in het volgen van de technische discussie zijn ook welkom.
Kantoortoepassingen op FreeBSD
De discussie richt zich op kantoortoepassingen, hun installatie, hun ontwikkeling en hun ondersteuning binnen FreeBSD.
Aankondigingen over de projectinfrastructuur
Deze mailinglijst is bedoeld voor mensen die geïnteresseerd zijn in veranderingen en zaken die te maken hebben met de infrastructuur van het FreeBSD.org project.
Deze gemodereerde lijst is strict voor aankondigingen: geen antwoorden, verzoeken, discussies of meningen.
Discussie over het optimaliseren of versnellen van FreeBSD
Deze mailinglijst is een platform voor hackers, beheerders en/of andere belanghebbenden om FreeBSD- en prestatiegerelateerde onderwerpen te bespreken. De onderwerpen die besproken kunnen worden omvatten FreeBSD-installaties met een hoge load, systemen met prestatieproblemen of systemen die tegen de limieten van FreeBSD aan zitten. Zij die willen meewerken om de prestaties van FreeBSD te verbeteren worden sterk aangemoedigd zich op deze lijst te abonneren. Deze lijst is bijzonder technisch en bijzonder geschikt voor ervaren FreeBSD-gebruikers, hackers en beheerders die FreeBSD snel, robuust, en schaalbaar willen houden. Deze lijst is geen vraag-en-antwoord lijst die dient als vervanging voor het lezen van documentatie, maar hier worden bijdragen geleverd of vragen gesteld over nog niet eerder beschreven prestatiegerelateerde onderwerpen.
Discussie en vragen over het pakketfilter firewallsysteem
Discussie over het pakketfilter (pf) firewallsysteem met betrekking tot FreeBSD. Technische discussie en gebruikersvragen zijn beiden welkom. Deze lijst is ook de plaats om het raamwerk ALTQ QoS te bespreken.
Discussies over binair pakketbeheer en pakketgereedschappen
Discussies over alle aspecten over het beheren van FreeBSD-systemen door middel van het gebruik van binaire pakketten om software te installeren, inclusief de gereedschappen en formaten van binaire pakketten, hun ontwikkeling en ondersteuning binnen FreeBSD, het beheer van pakketreservoirs en pakketten van derde partijen.
Merk op dat discussies over poorten die onjuiste pakketten genereren over het algemeen als problemen met poorten moet worden gezien en dus ongeschikt zijn voor deze lijst.
Porten van niet-Intel® platforms
Cross-platform FreeBSD-zaken, algemene discussie en voorstellen voor niet-Intel® FreeBSD ports. Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht.
Discussie over “ports”
Discussie over de “Portscollectie”
(/usr/ports
) van FreeBSD, de Ports
infrastructuur en algemene coördinatie aangaande
ports. Dit is een technische mailinglijst waarop slechts
strikt technische bijdragen worden verwacht.
Belangrijk nieuws en belangrijke instructies over FreeBSD “Portscollectie”
Belangrijk nieuws voor ontwikkelaars, porters en gebruikers
van de “Portscollectie” (/usr/ports
), waaronder veranderingen
aan de architectuur/infrastructuur, nieuwe mogelijkheden,
kritische opwaardeerinstructies, en uitgave-informatie. Dit is
een mailinglijst met een laag volume, bedoeld voor
aankondigingen.
Discussie over “ports” bugs
Discussie over probleemrapportages voor de FreeBSD
“Portscollectie”
(/usr/ports
), voorgestelde ports of
aanpassingen aan ports. Dit is een technische
mailinglijst waarop slechts strikt technische bijdragen
worden verwacht.
Technische discussie over FreeBSD op HP Proliant serverplatforms
Deze mailinglijst wordt gebruikt voor technische discussie over het gebruik van FreeBSD op HP ProLiant servers, inclusief het bespreken van ProLiant-specifieke stuurprogramma's, beheersoftware, gereedschappen voor instellingen en BIOS-updates. Dit is daaarom ook de uitgesproken plaats voor het bespreken van de modules hpasmd, hpasmcli, en hpacucli.
Python op FreeBSD
Dit is een lijst voor discussie gerelateerd aan het verbeteren van ondersteuning voor Python op FreeBSD. Dit is een technische mailinglijst voor mensen die aan het porten van Python, aanverwante modules en Zope-dingen naar FreeBSD werken.
Gebruikersvragen
Dit is de mailinglijst voor vragen over FreeBSD. Er horen geen “how to” vragen op de technische mailinglijsten thuis, tenzij een vraag erg technisch van aard is.
FreeBSD-specifieke discussies over Ruby
Dit is een lijst voor discussies gerelateerd aan de Ruby-ondersteuning op FreeBSD. Dit is een technische mailinglijst. Het is bedoeld voor individuen die aan Ruby-ports, bibliotheken van derde partijen, en raamwerken werken.
Individuen die geïnteresseerd zijn in de technische discussie zijn ook welkom.
SCSI-subsysteem
Dit is de mailinglijst voor mensen die aan het SCSI-subsysteem voor FreeBSD werken. Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht.
Beveiligingsonderwerpen
FreeBSD-computerbeveiligingsonderwerpen (DES, Kerberos, bekende beveiligingsgaten, oplossingen, enzovoort). Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht. Dit is zeker geen vraag-en-antwoord lijst, maar bijdragen voor de FAQ (zowel vraag als antwoord) zijn welkom.
Beveiligingswaarschuwingen
Waarschuwingen voor FreeBSD beveiligingsproblemen en oplossingen. Dit is geen discussielijst. De discussielijst is freebsd-security.
FreeBSD gebruiken in embedded toepassingen
Op deze lijst worden onderwerpen gerelateerd aan ongebruikelijk kleine en embedded FreeBSD-installaties besproken. Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht.
Deze lijst is vervangen door freebsd-embedded
Aankondigingen van ontwikkel-snapshots van FreeBSD
Deze lijst houdt u op de hoogte over de beschikbaarheid van nieuwe ontwikkel-snapshots voor de takken head/ en stable/ van FreeBSD.
Discussie over het gebruik van FreeBSD-STABLE
Dit is de mailinglijst voor gebruikers van FreeBSD-STABLE. Er worden ook waarschuwingen op gepost over nieuwe opties in -STABLE die invloed op de systemen van gebruikers kunnen hebben en instructies over de te nemen stappen om -STABLE te blijven. Iedereen die “STABLE” draait hoort zich op deze lijst te abonneren. Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht.
Conformeren C99 & POSIX
Dit is een forum voor technische bespreking gerelateerd aan het conformeren van FreeBSD aan de C99- en de POSIX-standaarden.
Testen op FreeBSD
Technische mailinglijst voor discussies over testen op FreeBSD, inclusief ATF/Kyua, infrastructuren voor testbuilds, het testen van ports naar FreeBSD van andere besturingssystemen (NetBSD, ...), enzovoorts.
TeX en haar toepassingen op FreeBSD overzetten
Dit is een technische mailinglijst voor discussies over TeX en haar toepassingen op FreeBSD. Het is bedoeld voor degenen die actief werken aan het overzetten van TeX op FreeBSD, om problemen te bespreken of alternatieve oplossingen aan te dragen. Personen die geïnteresseerd zijn in het volgen van de technische discussie zijn ook welkom.
Onderhoud van de ingebouwde toolchain van FreeBSD
Dit is de mailinglijst bedoeld voor discussies over het onderhoud van de toolchain die met FreeBSD wordt geleverd. Dit zou de toestand van Clang en GCC kunnen omvatten, maar ook software als assemblers, linkers en debuggers.
Discussie over FreeBSD ondersteuning voor USB
Dit is de mailinglijst voor technische bespreking van onderwerpen gerelateerd aan FreeBSD ondersteuning voor USB.
Gebruikersgroep Coördinatie Lijst
Dit is de mailinglijst voor coördinatoren voor alle lokale gebruikersgroepen, zodat ze met elkaar en een lid van het Kernteam zaken kunnen bespreken. Deze lijst hoort beperkt te blijven tot een overzicht van overleggen en de coördinatie van projecten waarbij meerdere gebruikersgroepen betrokken zijn.
Discussies over verscheidene virtualisatietechnieken ondersteund door FreeBSD
Een lijst om de verscheidene virtualisatietechnieken die door FreeBSD worden ondersteund te bespreken. Aan de ene kant zal de nadruk liggen op de implementatie van de basale functionaliteit alsook op het toevoegen van nieuwe mogelijkheden. Aan de andere kant zullen gebruikers een forum hebben om om hulp te vragen bij problemen of om hun usecases te bespreken.
FreeBSD Werk-In-Uitvoering status
Deze mailinglijst kan gebruikt worden om de schepping en voortgang van uw FreeBSD-gerelateerd werk aan te kondigen. Berichten zullen gemodereerd worden. Het wordt gesuggereerd om het bericht "Aan:" een FreeBSD-mailinglijst dat het onderwerp beter dekt te sturen en deze lijst alleen te "BCC:"-en. Op deze manier kan uw werk-in-uitvoering ook op de onderwerpslijst worden bediscussieerd, aangezien discussies op deze lijst niet zijn toegestaan.
Kijk in de archieven voor voorbeelden van geschikte berichten.
Een redactioneel overzicht van de berichten aan deze lijst kan om de paar maanden naar de FreeBSD-website gezonden worden als deel van de Status Reports [12]. Meer voorbeelden en oude rapportages zijn daar ook te vinden.
Discussies over de 802.11-stack, de ontwikkeling van gereedschappen voor stuurprogramma's
De FreeBSD-wireless lijst richt zich op de 802.11-stack (sys/net80211) en de ontwikkeling van stuurprogramma's en gereedschappen. Dit omvat bugs, nieuwe eigenschappen en onderhoud.
Discussies over het porteren van FreeBSD naar Xen™ — implementatie en gebruik
Een lijst die zich richt op de FreeBSD Xen™ port. De verwachte hoeveelheid verkeer is laag genoeg zodat het voor zowel technische discussies over de implementatie- en ontwerpdetails als voor zaken over administratief gebruik bedoeld is.
XFCE
Dit is een forum voor discussies gerelateerd aan de XFCE-omgeving voor FreeBSD. Dit is een technische mailinglijst. Het is bedoeld voor degenen die actief werken aan het porten van XFCE naar FreeBSD, om problemen naar voren te brengen of alternatieve oplossingen te bespreken. Personen die geïnteresseerd zijn in het volgen van de technische discussie zijn ook welkom.
Zope
Dit is een forum voor discussies die verwant zijn aan het brengen van de Zope-omgeving naar FreeBSD. Dit is een technische mailinglijst. Het is bedoeld voor individuen die actief werken aan het overbrengen van Zope naar FreeBSD, om problemen aan te dragen of alternatieve oplossingen te bespreken. Individuen die geïnteresseerd zijn in het volgen van de technische discussie zijn ook welkom.
De FreeBSD-mailinglijsten worden op verschillende manieren gefilterd om het doorsturen van spam, virussen, en andere ongewenste email te beperken. De hieronder beschreven filteracties bevatten niet alle genomen acties voor de beveiliging van de mailinglijsten.
Er is een beperkt aantal typen bijlagen toegestaan op de mailinglijsten. Alle bijlagen met een MIME-inhoudtype dat niet in de onderstaande lijst staat worden verwijderd voordat de mail wordt doorgestuurd naar de mailinglijsten.
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
Sommige mailinglijsten staan wellicht bijlagen toe met andere MIME-inhoudtypen, maar de bovenstaande lijst zal gelden voor de meeste mailinglijsten.
Als een email zowel een HTML- als een platte tekstversie bevat, dan wordt de HTML-versie verwijderd. Als een mail alleen een HTML-versie bevat, dan wordt die omgezet naar platte tekst.
Naast de twee specifieke FreeBSD-nieuwsgroepen zijn er nog vele andere waarin FreeBSD wordt besproken of die anderszins relevant zijn voor gebruikers van FreeBSD.
de.comp.os.unix.bsd (Duits)
fr.comp.os.bsd (Frans)
it.comp.os.freebsd (Italiaans)
The FreeBSD Forums bieden een webgebaseerd discussieforum voor vragen en technische discussies over FreeBSD.
Planet FreeBSD biedt een samengestelde feed van tientallen blogs geschreven door FreeBSD-ontwikkelaars. Vele ontwikkelaars gebruiken dit om korte notities te posten over waaraan ze werken, nieuwe patches, en ander werk in uitvoering.
Het BSDConferences YouTube Channel biedt een verzameling van video's van hoge kwaliteit van wereldwijde BSD-conferenties. Dit is een prima manier om presentaties van hoofdontwikkelaars over nieuw werk in FreeBSD te zien.
Centrale servers, Armenië, Australië, Canada, Denemarken, Duitsland, Finland, Frankrijk, Hong Kong, Ierland, Japan, Letland, Litouwen, Nederland, Noorwegen, Oostenrijk, Rusland, Slovenië, Spanje, Taiwan, Tsjechië, Verenigd Koninkrijk, Verenigde Staten van Amerika, Zuid-Afrika, Zweden, Zwitserland.
(bijgewerkt op: UTC)
Centrale servers
Armenië
http://www1.am.FreeBSD.org/ (IPv6)
Australië
Canada
Denemarken
http://www.dk.FreeBSD.org/ (IPv6)
Duitsland
Finland
Frankrijk
Hong Kong
Ierland
Japan
Letland
Litouwen
Nederland
Noorwegen
Oostenrijk
http://www.at.FreeBSD.org/ (IPv6)
Rusland
http://www.ru.FreeBSD.org/ (IPv6)
Slovenië
Spanje
Taiwan
Tsjechië
http://www.cz.FreeBSD.org/ (IPv6)
Verenigd Koninkrijk
Verenigde Staten van Amerika
http://www5.us.FreeBSD.org/ (IPv6)
Zuid-Afrika
Zweden
Zwitserland
http://www.ch.FreeBSD.org/ (IPv6)
http://www2.ch.FreeBSD.org/ (IPv6)
De onderstaande gebruikersgroepen bieden FreeBSD-gerelateerde email-adressen aan voor hun leden. De aangegeven beheerders behouden zich het recht voor om een account te verwijderen als die op enigerlei wijze wordt misbruikt.
Domein | Faciliteiten | Gebruikersgroep | Beheerder |
---|---|---|---|
ukug.uk.FreeBSD.org | Alleen forwarden | <ukfreebsd@uk.FreeBSD.org> | Lee Johnston
<lee@uk.FreeBSD.org> |
In het geval een handtekening van een van de beambten of
ontwikkelaars gecontroleerd moet worden of er een versleutelde
e-mail aan ze gezonden moet worden, worden hier voor het gemak een
aantal sleutels weergegeven. Een complete sleutelring van FreeBSD.org
gebruikers kan op de
volgende link gedownload worden: http://www.FreeBSD.org/doc/pgpkeyring.txt.
<security-officer@FreeBSD.org>
pub rsa4096/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 rsa4096/B64357A343D9CBAE 2013-09-24 [expires: 2018-01-01]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =mLLk -----END PGP PUBLIC KEY BLOCK-----
<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-----
<core-secretary@FreeBSD.org>
pub rsa4096/36A7C05FE1ECF9BB 2014-07-09 [SC] [expires: 2017-07-08] Key fingerprint = C07B F5E3 10AE 64BF 6120 B0F6 36A7 C05F E1EC F9BB uid FreeBSD Core Team Secretary <core-secretary@freebsd.org> uid Core Secretary <core-secretary@freebsd.org> sub rsa4096/7B5150C8D7CE5D02 2014-07-09 [E] [expires: 2017-07-08]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 7Z/bTdSjOhRZ4gMvywjeXhqLVTZq =CJCx -----END PGP PUBLIC KEY BLOCK-----
<portmgr-secretary@FreeBSD.org>
pub rsa2048/D8294EC3BBC4D7D5 2012-07-24 [SC] Key fingerprint = FB37 45C8 6F15 E8ED AC81 32FC D829 4EC3 BBC4 D7D5 uid FreeBSD Ports Management Team Secretary <portmgr-secretary@FreeBSD.org> sub rsa2048/5CC117965F65CFE7 2012-07-24 [E]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 O8MgMjzGhlE= =iw7d -----END PGP PUBLIC KEY BLOCK-----
<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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 FH8dwCRO1I41T64qjV/9ZiGNaLax =TmT2 -----END PGP PUBLIC KEY BLOCK-----
<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 mQINBFC2eZ0BEAC7IeD+/alxWAqAR6YBi6XTfftZc83e6Q0q3PN7cCacCzbrsFSF 8qTe3uJIsMTKprvF4/8kTvJG2/zeS8hUxpRhRe0I/7hDxErluQpeMf7lGdutrTCS J3GE+xgAI1Ho71FSOQjCvbFi+OoRNGFH6EjzNxzP8GWuv0nRmKO5Lo3l8Y839Hfv p8JCx1Yq3R72zfkcpwAPAj0aKICqHYlWOldL8nz/vAE31MWwcZwdyt/7IrnpzlA+ +LSEMtj8brMid5xdxSeIg7sbgjdsenj9HOeYl4Y3Kpp5t3lHnXfAQza/b0ZCbFuG wnCPYJj3WJ3fH8JbUcgABUhJPCsjOvVJcOBOjlmrFYNmnOk2uZSRPX3lGf0egu+p RPjyIuJlVjGIMnLMChSBE0YlzWPk3UKMnTld8pbwnKuQJXrgQKkSL6Ip+0MiVZ+0 9rcGm0LfkuK3KN49vnXdcTzaLzTbAeDcoI5h5jijeiuCYANsZow4/5euSfUB6hLE tf8xiz7haa7la8exx926L0kHMODHNXzmh8NM1gbFS0VR8sjgW1t2/A9Nesx3BAr+ 6pY9L5qI0+XWMtQX/OFlQqpBOB0IefK3nQgF4FD390iqsM+fM6lZT+Qo1bD5FpQL X1pLbonSZ64oGQaddG+fSfwVcXi5xw7axMqF7FFrshuOfj6ylDzkLyl0JQARAQAB tCVEYXZpZCBDaGlzbmFsbCA8dGhlcmF2ZW5ARnJlZUJTRC5vcmc+iQI5BBMBAgAj BQJQtnmdAhsvBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQugb/FGXE9V3I xRAAlqizLbx4VkE/qziv+K9Di/P8BOI8fMlOBvWtO1NcvjYh2gpvS0v3ZcVhkfIb XLgUCRX6v5DeTEXEFAF7O3DPKYzKNlrwGbKmmn+akcUElkflmqQc4eVjc7NlEyJx sKhnZlpK0dAsG5r6KY4Hs8EqITJepi0ct2JtJZtW0OqhY++R5E7jXX9WvnyYtx1g NpY1oSagDbTH0QCUdU4Tspxvddr5PYQX841Cbsd6W0QO9moU5G5Se0q7sAsQSjnQ FdgmstYWnhD2a6QaCbSXdEG9Fzphx1S6kjQToZk56U+6GcgXWqOYJ/SqdxuUFkIV x3I8AdNNiVnFoHJ4k6FUGls2af1xRilJuU5Yd4ps3Ec1g8FpCzdNCi/uUVtAaUaY unU9od12zM36mL7ScF2WY7LAweXGjfuiswL/FzvraGbotYNQRJ12tbbQMyNIyGma X3DWsaiIto69IxxaIDgqoBptCibgIY2aJJ7OcCnQJ0aOAvdFnoQtcLKB6IusZS3K 1Cj4sqVoqFzjCrY6RjNHjhNaeAf//E30GRow8j78dO2Ur2wG7jQOQJCRNqa1I8iy EUCc9Y2p2XHzHVNiHJzYJeHjxzoBefjZ4qY57a3PQicVPGR80WOPIVgyzVZYyy56 NGrw5HxSrK1tf8nYi0E4/g2vBbPScQC1TaR1U8XyPUqjNeu5Ag0EULZ5nQEQANHm xy9h6ZKDqY1Go83OiB7R/sEkhHQyoN6bLvch+Ar+SIp4JoKd95z7UsSvsH+SiTgh 82g1zgnw80IY32kyuWzcts6imGocVqeiCyUVESxkZssOq+pyvi9mBj7NiVhKH+bR vxYlu2+YG4OW0Vts4e9B7287xT6Bg/VrPmCJENjdSXD+WizeFQE0X7Am6F/PdPAy F6JLUYZFK2kZ+P9sCfJIBIEhjHbbBzaJL2MhnmLSDeTQAUKmNxAOU/Z0evR5uWHA vbicjJp/rbenUdu3a00shLWQR/whZLhJKD+ZspUOz/6sTOTs39AbVW9M/ychNb+x GsbOlgEi++LDX2lJlk1dDAl/NnXnFqIpcS0Q7vsr7dLLbDIaWyeROEtXkTthDPI2 z/q75iLPU9X38bSsd7PqKH6TWK6dzDOMzuoJtAj+bjOcGoKxMzsrHunUs5fDHgds /rr0mnXr4oXUmIq8l9trzt+W0o0mzk1sBo1Jlzv27ClZBAdcEIccDL4bLGMXswYo RoBcIUD1zncVnhyujoqAJtLno82x1+XBWsJRWJq04lfMOcCpShvrHxoUj0H/oF1S tTUA+yJ7YFiXjlTU/5kAMmpU5XgSa+C33saWGg/FAnOPqHN3GMwT7Mqg+PmdmdWT B49CykN0GJwnub4KQlCspmFbo1iIxOrMXNHmoYydABEBAAGJBD4EGAECAAkFAlC2 eZ0CGy4CKQkQugb/FGXE9V3BXSAEGQECAAYFAlC2eZ0ACgkQrHrkMQSyoh03thAA xu90VRRj69kWO+i5wRO2++Hb4an32PwwxfJSFBh6yYUqj98T4XiuhvJOHFlvBftE HXRiN4nJejyZuqmj7qHfwvpMRcmnmC4uFDFrzM3W7jj2LbiqAO1XTlGf7ApoKptU uJSb8SuCAp9HuTpn+FBOVeL0LP2RDOCE/1vJ3ZpkfMHA/UM0XtGOED+lRe/SidOd ISxF0OcUs3XV8VHDaIaqqaDIJ85MjO8xA/dWm+/R2UtytyM/YdIRgwmtsFsAE7gt gYiIc6PBhpUZX/etF+RDriBGv9QCTEHkiVdHtpgfUXGdubi0qHODG4cs2U80OIuf QBqiAMEitP8Irown2tkqc8H8CCkbFGpHyKK7eQGgmBfbcJA/Cn8Nn1q2hzU1MBOY L2zZ0tsxKrdtkU3+JDOovYjT4pkyyPgG+RALO/4m38pbvozCjx3pmjEJYOX+ALQW +7P6J3KfAtkvgG1oZjVKM8XbeUjRF87F8IprceIkXBoTW8zZtKfDaOe+Hfgmc5pG U+vkyGjtp5TQBF85K6EyiH3qegPanAiNf+oPUbwhOVl7nqW6sSz5DlJMTb+Qa3XA uRRjCxnhmfusX2o4+KW9+22QF8SqrkgIMk5eq0ex7RFXogIfI1cXHSLTDbWP7EL2 aDtVsnD7aE1Vs9TXairGnD0mEbckSLktU+zpJGr7VrQehQ/9G/GbRNSJR1XgtsGN 2wCiwqz/h91ltc0hhzADhXQs90DK8dGRDiP55DUKpLQRMov+JWQqanDaJBLprsRh TFr6GxV8foSQMSdCbC3lwiMzca5pOfWMiHv7BawlYNDSLdCMaAXOhUYDTzjia23t 8xUBzSpuF0m1DpntOPxA6r4vvtZVXsyjtSwaCI8qLAPnwHYBAFiXjsxaCbhDXGv3 sVD1l5Nfj3uJRfX+MhhtXH7u7kYfVUDpYm8oCENlv3p94O8HotoofnCK+DjRWP+d 8VFzLQEyXTR+WYXm6qs21UPhnqRIAuqEbJ1Hwqbe+5V7OClV6iHPBrKx43RkOFtu xg1RioYz0FzuaiN4GoGeUUjmVGNXYt4xbKfQkctLeRG4lmb90q2Co16NWJytdOVY l69oryIACMqVhTUxf/vVYaQD7y2KdF2vw2AMW4BHtydBIfDSwbwor1nbv04y/tId wz0DmzFIWQ4WyqJgQEBnR6vDFXhSfvP8Dng12YKVY64/DzboxnFfBtKlrsZ3ABXS XPrCchELEaWSGO8ONmmpbMYBPp9UNrSRyDhewm4Qb9SCN9JVSmiNXtz9eSwhD9Ih HTT1GQ2bs7+ZL0mBJ7DqVcSNv3BtLVvPJBtxeEL6dvEu4580HnvKZM7JsEA2GupP JHb9JdgKmF4SXR4Z6/y3LFUPc4g= =70vB -----END PGP PUBLIC KEY BLOCK-----
<bapt@FreeBSD.org>
pub rsa4096/63898BDCF1B73E5A 2015-12-03 [expires: 2025-12-06] Key fingerprint = 80E4 E3DE CB92 DAEA C65D 5537 6389 8BDC F1B7 3E5A uid Baptiste Daroussin <bapt@FreeBSD.org> uid Baptiste Daroussin <bapt@etoilebsd.net> sub rsa4096/35BAFBEB24FF27FB 2015-12-03
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 h1E= =/4Dl -----END PGP PUBLIC KEY BLOCK-----
<emaste@FreeBSD.org>
pub rsa2048/5D9A9C3B43EEF099 2015-07-08 [expires: 2017-07-07] Key fingerprint = F7E1 F016 EF5B 923A 6134 8BC8 5D9A 9C3B 43EE F099 uid Ed Maste <emaste@freebsd.org> sub rsa2048/A294A95EA92D2D89 2015-07-08 [expires: 2017-07-07]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFWdjzMBCADYrIC6o5lqDkAGrEIy9v1ShIKkUbdhkGH6ub0DnYVdS63NLydv ZLs10ww6hs+urqJF1SjdGxiAAOI2PoQzo0CIRlFROgcVH5elTT4z7GuchSSr4i4x ZCv03rkhAUDY7hXy27EUeVI+DKAkdV/r6fePXnC8f5l5Pk/g7N6sILx4hTl0RF3r oN5zY2V1k9XlX6jHu/h78AIbJ62YpyNCL06zgz5/FdU4ICim5RsRli7Hm/Ny+fYz rTvRh2mFkBTdZNPS5YiO0gK5gm1/cX8sgly4g0d7G8oYBXrLzepUg/1FdjRjaaJN kiCW7BVOvQ2gNuyyU3sEvt4SEz2rSV6IIkYbABEBAAG0HUVkIE1hc3RlIDxlbWFz dGVAZnJlZWJzZC5vcmc+iQE9BBMBCgAnBQJVnY8zAhsDBQkDwmcABQsJCAcDBRUK CQgLBRYDAgEAAh4BAheAAAoJEF2anDtD7vCZJUIH/3TMLGLsEPHR1f+/U5d/IOmX GZw/lMe71j765c3K3Ez4gmGIwD/qN9708tMaGsDE5lWK7fwDDZgIcPspxb7I4C6w fvvIWbSWs9FAw1Dmq7brENe88yZ4vjk0HogYzyow2OP4qDFBNFGawFuy1sNVQp+Y R9ZcrDTOZpzZRESuR8sqvCENBcunhrpgEHq3CVOAc4e+U7xS5W6wlIhMhIXqIIKL tECb5IzJ1tlXK6XHLt3sS5P17NnnAs1FtGdWFO2OJ8BFlIKtAZXBaX5dL06NieJ4 g95NIcnR55RCO8hyiG2fObgtahtHtSJmOuJrGbSrS5iW0WuUdrM2Dea+JZBPfXW5 AQ0EVZ2PMwEIALbOjhDPMp4SHSEQ6VFkJOgeLyZfV7ZrwbLoVihQbmg6inuJ4pjt oTKCkmkKtFZwViNZKET7AvhEAiWGj7yQIkViC1t7ObZrTXS7uvxTN6KuJMQis6l5 wTMXPZmMGI/ITEx0d//0J8wmJUcS2fGYUGO3k5/LExPUYexOye6VyaUfyYDMZmAC 6RE6kNo/tSzYwk/NlrBuyrWmvE6sdNrwa8Qzpia/n0El7qCrqGKceyoMbFBgDr7Q k8hxbS5T0vh1eqQiwQ69mjaALYGe+DsJwV7hxrjv1yhYBbUrw18+ao/9ARZWWQtc 07VVnsuXbEBIoht2WIslcgmzcnOn614tE6EAEQEAAYkBJQQYAQoADwUCVZ2PMwIb DAUJA8JnAAAKCRBdmpw7Q+7wmeGhCACdqwWt102B4ba9+GI3RNyxXFBfl6FgazaX ZoVjQ5IyuxAAWG23fDiGN1VSQL7k54l4c0CPOCLTcQmyVQvGPtRywIGpoaRiHwtD p9ji/EeNbiIupMP3rsXIs3CrQ2+L7DRLDEYkLy7BKZrWTTEjKEh7S4qju9FGXUnk zbcnqmuDWAt32JZ5G861C/qdl+KvcDUucY+2aVUnsHxbSmS/asUbQjrRoCSof+hX 9QrnCl5xEtKGxLGenAL1daGRIVwZhLQOxl6K56KgIjBKpWXvQBSaqXd4X4R8LmFK F5yecKx4DTn/PvOCRTyvDtbxbQ29WXjJQgUgkLutAKK3hTTQpwWL =Muz+ -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<peter@FreeBSD.org>
pub 1024D/1512AE527277717F 2003-12-14 Key fingerprint = 622B 2282 E92B 3BAB 57D1 A417 1512 AE52 7277 717F uid Peter Wemm <peter@wemm.org> uid Peter Wemm <peter@FreeBSD.ORG> sub 1024g/2C5F53778B40D9D1 2003-12-14 pub 2048R/35D69709EC809E04 2014-05-08 [expires: 2024-05-05] Key fingerprint = 060A C0D1 5AFF BDF3 55B8 FA14 35D6 9709 EC80 9E04 uid Peter Wemm <peter@wemm.org> uid Peter Wemm <peter@FreeBSD.org> sub 2048R/B5D591B339B03C75 2014-05-08 [expires: 2024-05-05]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =TYGW -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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----- 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 =SP5X -----END PGP PUBLIC KEY BLOCK-----
<mahrens@FreeBSD.org>
pub 2048R/9A9ECAFEE896EC4F 2014-04-08 [expires: 2017-04-07] Key fingerprint = 998A 25DF CA35 CC0B 1C14 39F4 9A9E CAFE E896 EC4F uid Matthew Ahrens <matt@mahrens.org> uid Matthew Ahrens <matthew.ahrens@delphix.com> uid Matthew Ahrens <mahrens@alumni.brown.edu> uid Matthew Ahrens <mahrens@freebsd.org> uid Matthew Ahrens <mahrens@delphix.com> sub 2048R/1137F565976A0587 2014-04-08 [expires: 2017-04-07]
-----BEGIN PGP PUBLIC KEY BLOCK----- Comment: GPGTools - https://gpgtools.org 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 1tI= =z3Ro -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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----- 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 =79B1 -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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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 FH8dwCRO1I41T64qjV/9ZiGNaLax =TmT2 -----END PGP PUBLIC KEY BLOCK-----
<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-----
<jadawin@FreeBSD.org>
pub 4096R/3D5DD05DE3EDC705 2014-05-27 [expires: 2016-05-26] Key fingerprint = C1CA C5C4 F29A 40BF 507A D85B 3D5D D05D E3ED C705 uid Philippe Audeoud <jadawin@tuxaco.net> uid Philippe Audeoud (Main ID) <philippe@tuxaco.net> uid Philippe Audeoud (FreeBSD) <jadawin@FreeBSD.org> sub 4096R/BC29A282B624266C 2014-05-27 [expires: 2016-05-26] sub 4096R/705007E333EEE843 2014-05-27 [expires: 2016-05-26]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQINBFOEO9oBEAC1iawyRGObOgaS+9mV3mjKwMoynfjj4nianAPXFo9KhdwNcVJq GDJpclRd67h45uTR5rNxDyGJyLk31/6ReIQIdsCtZrOCzGcTRyoUybdo5GLlJlMh 0ZSUmVvmGVAN5fcJlzov75+magUBSF5HWyftrew2NgDhfoZIxuYnp2wxwWuHK/0t 7bp0KjQ44hSDBWSo1j70Gg/T87ME1NtDl5Tq5Oj/SGvS1gYQthEs/ZOy57i5NEqH TuH7txdJkeUMz5deKbbBov3bsihzRHYd4qb7SmXgHDGfxjlqP/cVhWyxeNord8Cb ulSS10gGsfTra9bRUb7qmX45Rz/NLwPygvmRUTUuTHt7WHIQHpstHF+8hMYhpM6c dT/K17FIiMAcfZ+U9M+Btds8VjLXkPtbKPvN48s1cZeFD7Bh+KVZ5PoaGburpD0Q JLs9hrc9OFcEkf4vmobu0jc+bSCCeECuJpt+n76eVL/zLjoq1Orm+0z9BzUcNUFo 1ppJ+1MCWi4MyNUWi1N8Es2rF/r8v1hsL0MiE0MmoOz8OFTIlTccIHxXlamnf6LU NZWHXlVMBQIZsC+P+dpZJ4g01BGVnKSHPsR1XnbPVSbVmPKoehnC5yAl78kjWXFg 9z5dxW92KnaNldJQva+Qr0umNgqf7o35VUOXkliwp8YMtsX3TkusIKsNvQARAQAB tCVQaGlsaXBwZSBBdWRlb3VkIDxqYWRhd2luQHR1eGFjby5uZXQ+iQI9BBMBCAAn BQJThD02AhsDBQkDwmcABQsJCAcDBRUKCQgLBRYCAwEAAh4BAheAAAoJED1d0F3j 7ccFzPoP/RM2/Iu/1PG47nBYGpUYR+exKz2BBWSmyVxqHUtV9HPAyxesr4fwJYaq Eu0mUrcKdG6B0O8LYgNauQPaMdfQJ1qhP7sMFB68Iob8bdnj+O6AZ3SlSHA8doAF 2Hyl5fN3/ATn/zop+POqlih/07JqVOpdZwh25zNb2A7U6NZ7i8rsXLxim8XKtwBx VVDNDaX8Fzf6IEXJ4LNfR0z6cl+bwFfDd3M7oX8e1Z5wa2nS5B2C22B2a9kmLNj1 3Rj/x/6EK5Tror09jgD7nlgvOT+8+xTTqVmvn+GSo6uxOg+V1iIfKmHXi2LtDWsX YFjWcsZNfSj+SbGG2gFmrNPgsCg3SXT+GUqc1s0ZME16dD5mrhUSVsooEmpDJ+wm hlbb758vUnq9h7DX3g7vmBukUJNZgoKAg67o3l4uUJ7d+pwSYYqkPgGHzJLTWgmf Kac5pZDNkhC3gnIhFwDPaxNfP4L4EZNbdkB2x9+2h5PAjr6QJcpORlXfZmUPC0E8 9U7bImr3gHGcxAZDmhrqQF0b3Qsesldp5ILsuoqPI18AmfDtxBmpbZQPnB8HFSKE aGgyzKzSeRvLpni8EbaW2MDvckYcsrBeRx0inSOjYytzVDVocfYvy2WXd1QLu26e cfxVGebh3dO0PiA8mvmYbks65d7jRcJr1+vnEQDlutpJEAtS3rFbiEYEEBEIAAYF AlOEPiAACgkQ5Jj8K8g11A6qOwCdFaF2KvMkdLkQwSEeDWACGGGyzDcAn12pyA7m UQ88zaAbPUqZFzc3mPawtDBQaGlsaXBwZSBBdWRlb3VkIChNYWluIElEKSA8cGhp bGlwcGVAdHV4YWNvLm5ldD6JAj0EEwEIACcFAlOEO9oCGwMFCQPCZwAFCwkIBwMF FQoJCAsFFgIDAQACHgECF4AACgkQPV3QXePtxwVFQBAAgS+FOPYL28IzpwiXEIal nkvcijBZQ6DbGdG15Gjolf79Cs7nafD81lFq1wsgTI0I0oADJilDEKD8P7gHvJPp BM231k95bmbWiT7x89n4DEyZqWRckhpAx4EjisRbCFdP6XgmqevBpatRaohyJJNa M/GnigODRuX7c2bsRc4x3RUo18mCb8EmvTndD5banXzLrIiV5sLxZG7g3SZA6C8r oxgFbEQRAfNX/Gr7p+nOhdNtZhilK7Uz9wZ8aoZboippm3TujMouWlO+jhIOrj9S m1/u0hLLb9ud58YYoEkTLcBc5xyHsiKPxLvYv2+o9ejCmJVeatoUbYBRWYTa4JZu rho4BtRird2Gkiu65aR2RfLYJ1tnEPvAl2mDCcsqzHwQ5lNP4Zcv1z7t/rMJG808 5ErshaUsr+R2/M13gRAomQPaAyvKuL5oe+mZ1mcg2lONxS+/l2/1AZMOZr4g/WtB d+AQSjjTgW/jCKDJ0tgDcgt9RWB5ZkrMDS1TtsLLav0E5YgeIXpHBdW177iQ3l5W jLa9WH5iqqsXBVdc+43zLkzPmlU+Z+AFkJzkWeZWwAbtKNS9xjZ4EF2gItqFLl3G VQ0rGzOOxC9RRI/UlLJAh3pLyHRffe+NXTPI1gs6MkJzVvXgoMfrLFS5ERgqaqPF piiw2+ej2J89cDlw0MWs9yOIRgQQEQgABgUCU4Q+JQAKCRDkmPwryDXUDtauAJ4y 5opU+4jTYJPka2HKL5U2k6AJZwCgs4xyATz3tsgfi8s2s/wJUYoUSE20MFBoaWxp cHBlIEF1ZGVvdWQgKEZyZWVCU0QpIDxqYWRhd2luQEZyZWVCU0Qub3JnPokCPQQT AQgAJwUCU4Q87AIbAwUJA8JnAAULCQgHAwUVCgkICwUWAgMBAAIeAQIXgAAKCRA9 XdBd4+3HBR9AD/0WTpsNhPGrKsJ5Y4Tf79aPYI8K+wm1OQ4LCT5T9YQ2cVBEsFQW 0YYmdh9ZfCwapzLDjmHvN8IAkmlYPIaHApvFHg+GlP4Q0OSLictC3PcR8DOCLgPk I0anHjONZX0Ls9dtu2lQI94TKNKmYyaxUZXxinWoOpB/eSlLQ3P4O054tAvnWp7T Po0TvudRYGhWLu15hLnjbajY8R5WAabrTobPwxZ5JEaWzG0SXuZxrhduzPIRiNSv I0gs0GWFQYOw8fZrT/sHH3A7aX/7RL2N60vNsoMmtnHCkJFdjoIOIUaUE8DPEccU 17FgzGnCM/Hrp/wrncJm8QCRwFcgorM/ctpLukaq+ziW9VpbgkrX6HGkj78tjhFg Ez46vp/CVLU4/S0sv4Vs8kc8OP6jOHGKS2gGDWQe0WG2dBqIk7jEcNkbLnh/BWRa vlPPDPZN9g9yHBeqdoU3HE/rGtsgMnvp32GhhgaGJZrQMDp9wfH/uFUJTi7u+Hdp yI4DJqoIkPUwHg1jMI/WsH6BtlxtOzHjLH5PdVadFtSH/Y6//cRfDlfcfCWM6SnO HlH4h9m/RXEpSSy1eUZ8wF2cdHZAgHCkqdTFj8xOuWuIB6FWY8Y2uJMdhYOX8zEO G4WTWQGQqyLDdCX0ODxE614VCkQfIIafZrP4Z3Tj1D+O6BAT9TlQC5Xnx4hGBBAR CAAGBQJThD4lAAoJEOSY/CvINdQO+ukAoMxEhISBYQvu9EUb51DNP/CVG4zuAKCq 0Wj2rqX2bHsHF9H0Kz3HH0zjMrkCDQRThDvaARAAxt1BkrqGvXWJtcELMlcYp48Y +ZEkv7zUZa0GTHP80JLJUZQ+f54peMdfJh1JmmEUHo2IEfn+FoDQsZ0uE4Nnu57L u2TG26muaKHDRfmzT2GuzjQp6kDsrgfo+hSoksZ5TE6yy6i1aFSYNy1FFPm8zvoW HVVAMIRvkH5bSEMWiaAOr4TAuqolR29A3mTMMf+JUtmkkf27WIMnKFtLJ/zTb1uU Xws6UHLfn0rwI77g7ZiVjPbnSAPx1iWQGuWpBxSCkegAxijbXqgeZpIqqnkj3kqP pQAxiM0Wzgh8BnJiazzzLbyLfXyC3m91gkfDt4aeEssFQvFOuesgKO6nY4GxtxkC hua1Qehn7JrRMS8a+6YFr5e3Q6ZOOEVjbjGDFrpWa1c1sietXdGdnanFvWd+YZPe YmSq7iOYlnku/mZpFwcnZe3ATD5Q0WO3/HmdfbtpIe49irlFZX0kxbcDSPU+wneW EyXvAj8atIrWeYaUNqAQVkt7TzsCIfCKpvD9ayC6UdMJrtxgWHV031Jqh2LPF29Z jzHivOZqTMs6whG4IznMMhGSVnrxCdsqIU23qYKZbIDIFPlozpnYNaFidR50eEU/ 4brEtuNtGED4oQfgjZ5hooXnFGv3ko9wf5Qet2o8T3Z5/R+vEBwRborJFHT6TsQY oL5cl6d4osDjm8PzO18AEQEAAYkCJQQYAQgADwUCU4Q72gIbDAUJA8JnAAAKCRA9 XdBd4+3HBRS+D/9lLpA1p1aZm21YsG39TndcsNPzJrMPmFM1dPFetSTVEbcaDbD2 4Od3XI4NRoFXj54qCDC9nxx+Wf+EZq/oaAT6+UKoWAbW1x5j2rpS6qmiviXn0IJf g+VSovmtuR+D1eR/TiWYxjy3GpWSePKIb3fX9o7FEs7v0BSHuAQE1gTz8R+s3ohw 1JQnDxdUMbV3vPEZ5QyF6cLCYQjZgr3oNrKojR1rCWVFasBFQQtHF/Ah9lDTOFJ5 m+YOg1hkfn+LlxNK96p56lE7AVTzsrNj4W2yznFkQZXEkzkWvmTfeDk/dS2LE4SI xYiZf8aWgxbi1AqTpEREiFUe7hrJHCqppNsSlFIYYZYIShCHUIBD1iZsQFVyc59M tZ4bSmfDnEl5OUNqH/FaTPZqIbRO1cZ+pYzbdwzVN4FXOjv/zEe5jIBKbznmHb6i R+LUS5qNHDl8mTAQGe2twVi96AyiaGUBeJjjurK5u/+jriyAHTirE6SOHURAT+uv Ow6WvyBuxqAUWTJaciC4zCAKO3fiWyals35IucuyWRvBrIT7beIz8N9TCnp4fdsw xHvKmj+HsEvhelge8Q0qIOn8NphY5v9/rcEO47MSptmiBA7BfkuZo85BpG9Y6vJV RrHY0IbxI0zDV5ToCmGlKP1yP6Xgtsv+UM61tYEgPXB6OYrufAtCwjfCc7kCDQRT hDxjARAA9S6GRjZkBa4agSyYoEBpZYNp5oYyo9aqNw6ecmP8dXTppln0wmj0qgFS +1HEOpCuf0pKHS4XzI7fkt1Wtp1os1Y8B6HcbIewGuORuV7eZfIK7UR+vB6ndO9M +QJdiAJWpp/u3P8kEyI3NJerYS+9bs8aS31KJOYPaWLqmm6UJSUrNkBne9b948aV spG+f785933dHzgp2D/vhGxPbgLoLj58jv/SdUl0SlnNwoh9il4Gh8MTOef5SANg KrSv+kEUZHMATsdl0+jcKe7fAfeFSGX5rVKrXt2c660QbI2X1esjZXgX0uDGOtIt l9V6b6CD05ZKteFSGuSHLQaVl24+O0STZeophOpks9tIBe8aRv6QPXH1wsmnWTv7 lfICm0IrouJjkK6pf6dKNzn5O2LH58rqKHKRKj0EGwutbfR2UbhoMvIPhYOZQTNj geiau6OgytIQ5AbQNeUy+Tx3NSu1AWsulaDV1OlZOU8lRo3jBgSiMtawMB3yVlbQ /IUerN5vvEmpEgp5o72joVKVEdt4hSI/PAa5f6/MbE71DWjPlrwwk2kR1IM8SCJE Q3yx+Ft2iErv4xfrofJjDkyEG+ZiH0JEGjOewF1tzU5iky6+CWG/5FUoHbJjCs4K gIDUD3trdio/l+5RJlRZQP0PV5lUryOzLA5yHbVQSf/RkrCCS7cAEQEAAYkERAQY AQgADwUCU4Q8YwIbAgUJA8JnAAIpCRA9XdBd4+3HBcFdIAQZAQgABgUCU4Q8YwAK CRBwUAfjM+7oQ4J+D/40ojjlgUPfMIBsi7p0L6fwnEWOs+/BKJjh+MBu+c/2STfG ITsb5y5dVJIiKs2oGH1E5rY4mq3AaSjpHyi/yxoA8YLiP5I2HYvesAFnpMy57lZs 19ZjGgXvUlAQEq6QFMCkoWN4QGG3stKDOV+zNfBs0vUxKZuOsVrcE8MhKALK6UUy BRd+z+ichNjuEFI76vMJJZj3xeRz/KDMO9BAeXWz4KH1TJjKpwFTVEPNKKFIpi7M RCv5Ffnue/E5SeAn2joaPI7JjOjioKMCrLXcdENBmkKu6YJ+1pjBYteThtA5uCxd P0B4S5yUg8AvBztNdcFoVDzvj3ovU4MBjD8iMnu62vE3JWWkfOoE40s2V1csKPww bi760pSOF3LK2oNo/lek9un8qxlGvAV0KKWs1PfgxL6eGNM4itrgkhRBp62Djx9D idLORhFRTbT+jJhbYVxcgN1D3GOESTI3V2RpMQKQZWkbzDQI1XgrniNYFpTcT3QX okBwq9uFp7K3BoErvqI/IOfq5OnJ064DI+3PlPww98IEoHd3RlA45JUDs1YLdJdq qF+ZkLXAqD7DmueY1hlw6aPkvzcNalOwmdAqQ4VheFT/dbm93SPqAO3CiFVQrmZU vfsrBbjap/cOz2nrissHbfxOoLermp6bfNUKY94Fnps1QmA6vJRWDIEa7XqGHogl D/wMrtsxJZq6u9Yvxbvps2TfrvlHdI7E829TUsw8UCctODz7OIdHbqMNN6IJEigY rhXgcwN+2XWpnuOf6yehK/z1S6LRCOzje5mv3dDUkncZPDppy4F/h+nXdIUW+MHm llk83e4GZixFTnBDX00qMt01LPEKfUQSkBvmK0nHN6IPJgdfCu/evDaLSW7oIWiz 6+RPuNw8XeSesuPiPKam4fCwLtEUDWYMannsb4VQ+Z64rsFpqkl3SHvnEGzIb+uY V9TaBJS2jgaRygDBVhbs4exn0H86c0uLmechfVj4Og4Jh3Qv6iXbVPlI4RlyVj4N YM2lGSRPsI+53XNjS3HpcHsbVLscQ81s5/eM87gDHS369ZYLIwkQZyMIY2UPvWA4 yQhm6roJv0zgYdlahrXEDNVTI1TmWzGsC2ZGLjdLuIRqXrh9zmG4ST3Hw9ldWc4r ASs06jWqHa8QiDc+KVUCSoFm+IkRu9Od78A8vw//cuP7HSl+g6nJMZh7IKzVcBtx wvauve65vBihx8KOb3rC2+q04zB32AqPzOXLGeK/9xlXsPgsDHaUFoWCKdiET+qT 9mUFTq4Ri+OCvUT6NBo6bjg3qKaTIniaobMh4T//1UiqEh28UjCt2R88CxaAPT04 nwSuewo9dHmKkyfzOtXfmq+03eOm++rM+ggPWY1aTU8gAQ== =amXj -----END PGP PUBLIC KEY BLOCK-----
<badger@FreeBSD.org>
pub rsa2048/62E500965A3F24AC 2016-07-01 [SC] [expires: 2019-07-01] Key fingerprint = 3A9E 8013 BCA7 C945 8253 7759 62E5 0096 5A3F 24AC uid Eric Badger <badger@FreeBSD.org> uid Eric Badger <eric@badgerio.us> sub rsa2048/CD9CE570245C6BAA 2016-07-01 [E] [expires: 2019-07-01]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 M4zDk9ATCrtEUQ== =s3YO -----END PGP PUBLIC KEY BLOCK-----
<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-----
<jhb@FreeBSD.org>
pub dsa1024/72DE520677E37F04 2006-08-02 Key fingerprint = 9E54 9A1D DA2E 0F0B F3FA 713D 72DE 5206 77E3 7F04 uid John Baldwin <john@baldwin.cx> uid John Baldwin <jhb@FreeBSD.org> sub elg2048/07EEC9ABEB4C6ADF 2006-08-02
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 aE8= =GXt/ -----END PGP PUBLIC KEY BLOCK-----
<gjb@FreeBSD.org>
pub rsa2048/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> uid Glen Barber <gjb@keybase.io> sub rsa2048/EA524D216C0527E5 2010-08-03 sub rsa4096/B96CDDEAAF8B5ED0 2013-09-23 [expires: 2018-09-22] sub rsa4096/D69CAA1C932929D7 2013-09-23 [expires: 2018-09-22] sub rsa4096/031458A5478FE293 2014-09-26 [expires: 2017-09-25] sub rsa4096/16FBC9DAA891055A 2014-09-26 [expires: 2017-09-25]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBExXeNsBCAC7wmKFOV+UjSn48hWaRAImN0uGgJRVAYPWcNogyw000o0vMKjk 5sNm5YUv2DutTVBQAHytkKGYX78ogpltIkvkr5K0eptVpl2iuWQNyGc4Nq418ZJa hgDLZOtMO4plEmbViLFuz97D6V7yNPSAX6adiCh3A0kc+GwCOhXtQrn/OWxZa4Uw FCGD6uqFXM6s+kkgtqFlWuFB4tAM5epxt++WLEyLCL/znRhZK+tTstZxqLudJnFB ooFOEffYvDB1pNWOarBmSKHncYNjHRqEcNFyMXJ9Fn39I50QDvoh9ps83V+NjuE/ FYzt3MmYA1j9H79tDYpJp7OEvGY5sJCZrMKjABEBAAG0HUdsZW4gQmFyYmVyIDxn amJARnJlZUJTRC5vcmc+iQFABBMBCgAqAhsDAh4BAheABQsJCAcDBRUKCQgLBRYC AwEABQkPTu5iBQJTeSA4AhkBAAoJEFJPDDeguUajO9QH/2b8/ZsOb6RtLaRUSzyB Cwx52H5tGVkBuWQKpBzKnHbbxywPaZ1Swd015vn2NEraYERVxzD2O0qekALstB6b KhO9QseP55P/1hW1HD2hipN8LPPhKDFxFBW93t/MZTQarv1fRax7LnROeJaD1AqP QlGMmXtUOCwt/zwCeVIngOGy/+E1o4eNIOzWdB/W5LxCiUC9hc8ZGWdGce7mS4WL WDmf+cm7W172rtEpkGmW7dSsqR5QsMK/NhWW7Btu5suugW5pPmqYSHGJUyNiSSKh 9Ttj/hL9XylDlCqx879GTWzy8BDZE0v1QepOLx6MWTpdR94nOKBEe2Yx7lZcLdJp fgaIRgQQEQIABgUCTQp3xgAKCRBn8zEabg+0lO9nAJ9GU6djnUjR1ggGBsJkHUJn nyWD9gCbBAM2aHiAKBzyhgndomFoEhEGgs2IRgQQEQoABgUCU3kgsgAKCRC598iG aRfDubh4AKCcc+vhyyHT9Fv0KMJQ9anJwsysMQCfRnUEf4UtjZwlXVtZ3Wcxd5Fd 7deISgQQEQIACgUCUhG0DwMFAXgACgkQFRKuUnJ3cX9bfwCeLUlJHrN31c6lGLeb pUtCL3zEfOQAnRWxfW+pwjEWkCmwDxzE3VsqvpfEiEoEEBEIAAoFAlNz468DBQF4 AAoJEJyxj3RtP6OWKAYAmgL8Ml2Rr7Jjb5FUb4xTcAFxUE5CAJ0Wtk0U/ZNXzGHl OwjR1JVXlAZ27oheBBARCAAGBQJTc7QcAAoJEFGFCWhsfl6C2gIA/0Rak2C40lWr GYRGO4Oij3kCOviLbGEU8PPNLrmhKguvAP9eQJResM9sP7w0/5AtKONZD8CTUy+6 xR8TXcxcBOiKpokBHAQQAQIABgUCUBypnAAKCRDZNxCXpHPJkB+aB/9fRMZcfUWw 2gb/StspLnc8VIOpv0hE5n2Xx1nxXm4EcSnFTW8TywOONEq9SiDf9JP/TQgXN2k/ R2P0QoKmQIM09pSGdyMh3LlUW3RUpGpoBtqO3gok2TE/X8MIn7hH20bJ0PXgDOI+ s/bP+ZpuG4AosHtkQTo6Kp92L4IScj3p0Kooyil7iCucV9aj3edRX3Y4JweLr8M/ tdYPTdroTMtO4XumruxpyyrU6nDad8cOzMrx4p0RYARp+zm4uV/1t5s5/sP0Ac+P BVriEh3rSFc5WT7g9B05pvg1WfhKAPM/IgnkKceEm1ip+2hL//3xVHXgsVps5Pcv PIHI0fJckD+XiQEcBBABAgAGBQJTc956AAoJEDXWlwnsgJ4E2xUIAILB+hXyLyLh bzx8KuRkmd83Ro8FnINY0vyCA3iY6ATIbISRPQxwrHYHzYLEjPseCc5LwaZFVn3P qzypXKqNRNwRay8fdHGsM7go2/UhKXF722/o37SGtkwWyLEJZXyMIO4C4IxcSWzP HB7zesJ42/O55YUcMT9aDprj01E/z6XEd/5ozP9k2VAEIW2cSUsVeodCCd3cvqIX YYSgePMtR7JtANuFEEXUWiruwK4DHkUOsjG6sQfPYUvkZT6IO1/9cDr8mopI2lE0 UrUUo2f5KQMVcKP34ONIceKrO3mTAdDzT8+pclWFr4rpQnkqxmxlCNlECzQlPI1z FGdxHJK63uWJARwEEgEKAAYFAlK4cQUACgkQBBrfWds8PYtOYgf9Ht0uQxpBtCgU SoCj0bwkLD1C8BVEb5OvnUCrlr3MALARUdrcHfYyngcxWFTnWUFQqTFgiNZYr1nG tYGGrRZlFREV7mDOmiWASP74YkFrC3VtUP9zv6Zy694/IOJvnuNEgjEu9KpMLPUw 75F50e6/WUsjsBl9k1tEbEvfcfFy5oXWmooOpMEXB6HanZb3KVzygtVOITNLBYiT wy4gVlVt0ToVR7HdJRDIlHc2+Nfys/Xzl5PUywHSd9g2sh3RR3nRaMrKNd/ntQ6s ZwgdpWE4In8pt/uVb/eaIOx7fCtcIGIv7qDJlWptGMQVfMfioA40Iw5rRWNnwxS3 q2IfzfY9WIkBHAQTAQIABgUCUDKGxQAKCRDxRUu26KaLHGkrB/9BsahIi4Z6x17F Cqso3I/hAeYEGDOHVteqCnlo1UPW6e4zXPOSVuTFHq4ysH2pAntnyIm5xd5oWnGb 8QRIADIAkdVQqwYX4ug1uuvRQ5DW+rgw8nOUsnp9Vea8i+ZHc6nG+5laS8potmQ+ Y1kYo/P4mIGwqTTWP8F2typGOslyNHinG4Opv80lBXzIUUe3Cg2n0wvCzRNDBLGJ 2DiPKXve62y6dL9J0l0Krh9+F/dcMoQWkMzQjIZtf3GvV+F4sJqZLiExoHqBst6X GVQif/YDAyjxBLVS/EnK2FxKgUyQ/+US/cCZul0H/QC4VWjaExvPSb36UmHxqM8v 9tWg/P/QiQEgBBABCgAKBQJSa+ifAwUBeAAKCRA113G7bkaXz+ibCACM9Uinn7q+ PNXZaj6u38wgYEU4HDWiNd31iacXT4CclZFNTk59FpVWNPi2uVAxKYo0fartRwZu lY7QGwHfkjEbIpg6L1h1yAH67a/1VcpBABQo1F0+/u7k+MEx2I2aa2YeB4HMCa8Q gOIuZiwy0VCMcENJafGk7NeCcKnoPBTgbyFplgt9FVWHzbD7qE1Uantf+Vm9woCa pTzpUdNLQMIwju3H/PCKuEO+ZIjeB7if4lYFtnFGI2GLaTDLUgYEZxliM8TvyMMg C8Oaw+CWNPqxl+Jz951U6nL5D8GBkHmQPSbsihnEEom9Sj4DDwsQQs5tDjkA23jD 1qM/SNcXDYGriQIcBBABCgAGBQJSQJBVAAoJEHMWF9RCBEMgoYIP/RGyHQ/8j4AN NTfwbPgKGOsFzzXVmQ5L2M4a+JyrlhxHHit2X1nlfiJCV08nm3beomnUtTVCxTCj jKIhob2W2FYmUE0gRPhVO+okVwH3u5lIsK7YV7ZUh8HYsVLwudJE0l3UP+Zr4SM7 h6dmHm1jaHnjRNxyi3f1oIiqTkermkbDnO8TqWhFyiCU6TXHxjavnNe5BClZpW8a uv26k9iDrleo+KpKTmtjXdjWwfs9ERLWkwKv1WFrajX1ywa3aWz5yH2rmFZdOeI/ P22anoxtL7X2w5C4cLaQDTtBA7K7Bzpfp9/5Sb3tB5ZBuqh1HT1NfElhrmjOyRy2 IPflp5aOzLwzBTzVbEH7Qm1cxMnfgaNpW7HiXGCBb/FmYcdEt7vQG3uWwrPKDIth LxAgE/KyHg6xi6Dkv6JH3mIJo7JSIBi0c4ut+2XGAAO1BJCmucNGHyyfMmMAR+S9 0clIXQZgeWme1DgYvCqHigR92/gWZqQRf6b8Y4sJ14ZPpDBFD+cF2UcM0dBxbRJj 12K2FFINXFSKk3DjYGkroCLIdQL7XrB+ujXxbuQlgF+ff+zNkao31tfIe5vbeoDG T1X8V/nCHcgqCMr1y//mJ9O9Eh0flbaYwD8WQT0ghwluiCIq8rEWCjqkGSpAO2Kc r8DgLhdlj6anf5hdU0qZPdHjgQ4ffwJwiQIcBBABCgAGBQJTc9qWAAoJEE2hFOXE ouV//30P+gOEe1mMraixsYiBeYEY76/jnLnG95+hzaWSevA8NFjYyC7dnl9Aei/L t0v/7O/p49kWuI6g2ynrCFPGrNA16plkIDlZ/aAvf1zpWFGyZDZmI8RGbQUQnUOa 8Qk8PXNgHjpo9pYOrMolT1xxc70rVZlWeY/T3V8OekOHF+z0y4UCEvxHoG8vyOHh GV37Aux1FtHAHBzBWmY0P/54JyvPRz1Lx+2fD2Du47+SfPrTQaRcR7s4ojvmBw7i /Ph3458SNvd/xWP+btLUK4eXBcbIQ9tITRwEAHyTh/fcNI+w96hiTeyiv+/Xz/Ox SNlTM15IGaCbXJvFwjnn/32NZCsSCkdoJLhBuKCCzuB4iB14s96rXElFBAcbwksu xL+1OnK0GMAw/PHR7GrgwHm3mJDU6E19982pJY3P3IZFfKWV2lOVT9YXFJqEDBNa 6Q0cGgztrfCDW8xq8wm1zwiWKGnbw2jhlziZJgmX3AL4cHoyt++aaSun7/8wkGoS lLNrCALM8MNYLQzcbdQhDV3lweVYvvaFrWmjloov/OlJTnTdg/C5i8V3uZOg6hs8 ZY0waEvqfFqoLwOtLj2Pas+pHfynBsxAyc1ydPHFH+O2J6BOTLIrkiU1gSbQVjKS USWDi8P/BfiG2naKDvm7tQ7umvPb9iAllSLZS22I7LdhuANDrsYUiQIcBBIBCgAG BQJTNPxpAAoJEC9jv4oEFMfijjAQALl7yi1/ZTniCIX/WU0+wmVFUw0ouRmSZR9d czObNdbBQlx5m1MLrCnZPZKuTV9XcLlJAuL1yH/lJXPM0oVI1okCOwk7PbAH/4WX Hmj3D60kl13i07HhZ7zfw8xCQvKavowm+UdPL3bkxct5/aCuK8yd/Gam+dGK9ZEw Aa7sM2w8DybehT/eBnnAhUxTAtgK5xlmeyxrJuAtiXbr8eDG8YaiWSo1AJWXXf6H vYjsyu094YMrdJeQUM7Oh+6wmD5pLbwOxykeki9zRwEPl59q40bygd4Sm0KL1bHe C7YafuqElcTP8vSe3rnvLQg6Oc6AjYSx6NPsMyiUn8KtYaluFHpfOS87Rtu+nMLd UJasQcTGj/c0w3qWASR/vB8SseWQBwXJ5bUi+i93hzn5tLgCwkrOHwbNwINbQoJ5 Jb4z9AR/kvWSyy8Ayy+hUi7VGjzSpOgPTM6QC0imlUKtZBLSWtmzKKpsqrK4I5z4 8u4eoZoJA5I/vHgRuP4a1m58cg9pAUi1n9nv1WYSgFCFWyxInl267VfZoDSsbS/3 02jWxMkLNVsA0/0RBuKVOIPe6OR/7n6siCXCkVgI2Aqi8LiSS0Wi1qpArc4bgsT6 /X95/XxxIOedgmUnOQwUDjuTemHg2k5rdRVdXaXnc4m0ovnOhqoHsACVvyQfu6nB u+p78TediQIcBBABCAAGBQJVe2jfAAoJENQ/fBMQf+pvyQMQAKUI6BAbjxiHmE/r 8eEZJTpvDCa6zTJjBXf+9LReb+X2V3pXYc9gsXqDHwoIYEDeyyYgysK91UijNHYB sTVxz1TSzLW24KiJLYTauBtsqUp1IkWW1QnnRD4js6kc+flIKhIe0CuFZClvzMBb XIAU0ZVPSZoEuN67EEsX0SvjSCYjKNK7A4OWDyfwOU1tXct/5TxSJzCZ0aU3FHAC wg7Ao4zHOUfDWSFbUJ6U2iv7ioktmwy5+p8KqL18c0uFXmt+NTUvxK0aDBXvdOMd 9t/fbf89p62epxZvGOVwsXDwDNBsqibgGlUK0VK+yYheR4PP46ucE7OoVxJUvM+/ TNQSEaE2tXmml2teBB1pBOjroeH+2lkevRw2UCi/B+xU3GO3JzMjoBsdkix1IWEk Q9KLOGy/mUf4EuatXPyljNIiuAH5fpoPWHvnBPDuNL8tkyNbIx7XnRCcEHLRAytV po0hB5pQTP1PpfRWK5afZm0UDPkj2eKiqsDCwCf3UWFplicmpiXNnV4TdTk3SQcs CB74vggYxn/knhdA4vJgS8XEJUVB910yBvujvCVkPadr9Nt09aBCZ/KSjCWz/cK9 7GDe2u0kCdZvW/+fIaZZYLOLiH+1+l1icFcq/3hX05SnXL+n42k8hBJOlrje2Zgh P7s3cbaBpuS2RBf8aM1IswQHiXTeiQEcBBABAgAGBQJQHKgZAAoJENk3EJekc8mQ xycIAJWhRO9CxcneZI5+jZg+92sPjZYFP5Wdfb0TfRs/hDQrgQ9NQt6Eu6oNhbHl M4BrH5PobEXSxjdF9Ngz4oHzgiBtW0vd6g11z68cbtJLWxKJrWFwlhlB7asIFz0N +MB6UeJgZJFGGXzScBJCCMMk3Pu8Kkn8AhMZtUPneyyYx2AdsW/wperNuncuMAjh OqP83g/MMEEZ101+Tt1r3tkshvPj26DivSA1nZe+JpDlta0GWVe3dtIsQwTWoXAK eHBt8ZhTzyRMCe/GqG22XOQ3L4Q+j/GVX8bBcTBP6A3UtDUjkYtPaTrhw2kos1gQ CYvm2z84q+DJp2wi2iJOP9kbZt+JATYEEwECACAFAkx83CECGwMGCwkIBwMCBBUC CAMEFgIDAQIeAQIXgAAKCRBSTww3oLlGowh6CACBlXFXbtu2C+15rEY+BKUtAOyF WcsCMXquiYixtkfUiYhksSe2s/bGhgWN289IrcWWhL774gZR1RxgXoz1lnrTMMD3 G210TurDgS5rVZi+EfAXfqG312TkFSkgzhfr6VBE8/W8QdT36RFsLloAz5ccSOnI VhJmLmAT+Bupf1aVMncK8jDqK1uJWGKuQEMG/rwDrYzJ5N7gY4vMrP+mhPYO0TWI OLNRz4JHHCj7uVf5JRV/7PL0ytC7zEC9uMgb6EOrHrSsq0z4kjXFts9ptFrRhq/g 1sUvCq0FSu1OwDiGb8WjcCW4ZSNlt6Dm0LwDveOkfCpGxS0c7Xla32J83sQjiQE/ BBMBAgApAhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4ACGQEFAk+ZxvUFCQyoT5oA CgkQUk8MN6C5RqNC+gf/X3ahlKNdO8YW8wklk1zgXBCOmGa90giXRb/vhVjFz3SH GGuEOOR3jWCJCIJsNZwXX5Fj7NVxihHS6BgU5YNGhS5033fQij5oZwHPE6GnXqil SOo7EJAvou7HYizukocsClrSL4TV/iFVcrAn8MXiydA53SNJ808Wna3TBHE9DS2Z dOkwXG4m/yvjEWI8ITzG0RigQSQf007+Vifz+EwGHbgDKqqxqbJre9bjeToi6CkU A0qlRtMT5+AKC9u/lgrcIcim1T0g2sDK8aMhJuyb4eivW2PrRIdVCCoCuRUHasQo x8I0JQF0r4DWxvacY1KwbriyysE90517VUzC5YcuzokBQAQTAQoAKgIbAwIeAQIX gAIZAQUJDKhPmgUCUkBiIwULCQgHAwUVCgkICwUWAgMBAAAKCRBSTww3oLlGoyCE B/9U2wVkvNGhZt9wSXTHzmSKqnhvDiG48DL953+hzImR651C5vdqd8NJzS0bF5v1 gAsIe/ea5QbE6zARitm3uEkq+dfxVsqaySiNxAZpkzoWMck1Qc+nDuLqQNhc2wZy Ul3itSONuVMJiHAPBtS3UfECCmQVFcsWKY9pxQO2fZYtuoXbl+Q/P4d6p3wz4tQv 4gZgMs+ETt/wNXQKxeUujBDE8MWhXWGAlfFll/gOLb6Ng0b3RKRaRBCsNuVMZNYX 8ru/J8EANqDFx3sVJrQdwMIQLNsNawoKe+p5GldqVNL0anWk56AO9nCWtd9usZKm lENzfBhrjey9lvtUzHh09TF2iQFABBMBCgAqAhsDAh4BAheAAhkBBQsJCAcDBRUK CQgLBRYCAwEABQJSQGW9BQkPTu5iAAoJEFJPDDeguUajRi4H/RwZ82YQwQajpWxf T38KiCFMCXoB+QkRMeehy9YKJD49SHuWRSEdhIuO7SBLQhAEfNYNxPJXsylTJ863 6QqzoxsTEnrV8TrE3WEUcIBekuNUc2JH699690Ayp59h1jAnfnGwnE1FHn++oTee y3AKartRJCAllZOWToovTXn3CKYiVBC8X+tt8g0DxuE5K6OMcmF7TMsNj5NjJk+X RTwIfOb9TaJYHALwbsvdz+onDOHV9dAg7Gy/uMpCDt8MtG/IvuOOmcliypM/jsm+ //vKYZth/OetmJzX0FOkVof1u3yR9+KRlDSeohZwdNWKVP3y8x+JlTrZvZDY27WE Q/FL+xSJAVIEEwECADwCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAIZAQUJDKhP mgUCT58wRRIYaGtwOi8vcGdwLm1pdC5lZHUACgkQUk8MN6C5RqM1hQf7BLXwdmfI V7G/FhM/zAe+nrz4uU8JKai6rrKrAdoHqqS/y9FL/2WsQZ9/xr1hrkF5pInb5iWU IgLp/eWdJEcneYg0Qa6fLVQelIxTKzy8Z0CoLQmyguAwZT0ZQTXVtiDB4sGHln3F rtQRItTIaHwYSlx2RDPNdgVr+uZDJ/A63zLDs6PNHNO4d73VvkOIze78OGohzod8 mzZybgcR/kenpYVAf28ofwxN5BgYCjFVnp6nOhF9NtusNfwN3++GjExgBNM45zv+ S8hNKoXEn1xa62Ee1DrPCpHl2wxeX5cw+cMPe7xg//EKCeFEncg0COhQc/vpiQV7 fdJGSozigrNjWYkBVgQTAQIAQAIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAhkB BQkMqE+aBQJPmdBGFhhoa3A6Ly9zdWJrZXlzLnBncC5uZXQACgkQUk8MN6C5RqPo 7Af/dbhB3/f2PsFCKFR4EI+ITzr+JfI8cWe6nAvBAR4xCwz8oEpIl2npcUSZNxC+ 3RFrirqGRWr2Kg9wXOpYUdN77pCzaU/YrqO8b5ckLiBIBNu3/KsdqAFEQlBjIb7S 5GuH4T68a/UdBiHC1piiqQ5wC0LPTfG6Xhv0GeALR2cRYg8YwUnOZsIxc03idaSb clV+2FnE01SPSEqtvs/fF4gtqGxBdq0Bz0Cx2uL1TCwxfDOZZTGga0YyN0hB9Twj QPYpiyNL0kqwTUBRmBJQpKxz9l3tLPig/579DNSoZFDm0yZYcA1DuZgbIgTtIJbt UXq522Wt44WFG0GnF8E7ow7SH4kCHAQQAQIABgUCVXt2jAAKCRAbYc+UQ2NZ+qz3 D/sHwL9UFAS/4CJdehILzPdnnaPrxiaQxJflnt7oulMQn1drHW8nb4NBxkXN4+dj t1RrT/haD1AcDPh9l6KEaLKAqt5KGNBWo7udxSPvMhlms26F/3gKpfr0+WmMDLcp agoYYglzJZ+fHBGAYyaL96teUIj14bMR/wWpzNDuGng5kHx1eXZ4ci0jL561b/Zm MlTUHFAfFf0zGuH4E4FnQMrCwQbv0wCKgJR7kNqwaCuMw3HtbzS80EjwyQTBwTqq 5eQA/FImlYuVw8THV9GKta0XltVVqKQk7ZXB5CZX0EIBg7smKsJ1n4Roous4rld8 BrPNplExJ8crwdUNyLJio+HbSTCPpA9vVdZmeJk9gswzrgfU04NcQBq7EZYBLIYg II5c6+mmShMgFxHcPwmsT8saxUtk/RmFqc4CkEm2c/kwUU0WO8EU4udItqkgT/5b 2QBlNjijawGKHuB6Bv7ydpQbCMrHZVTUGOEBTNIzbgxWVjR/U5CpM/x1F+72Rxrv n6YV9I6AAplhP4sR7xTE/QLBGCx3R/JRLrNonct++7cyQ9G/Ph0ItlGILYqsSjR/ D1u3W1IkoSWrjTTThLbsRapWqD3RyOTZFTwxhtkl66vpOzd0M79kqdsNNqv1JEfA 5DGwOPlX65msnZtnobbOmnXhyrtoqkwnb1GvB5g6j1NkMIkCHAQQAQoABgUCVXua RgAKCRBzP7WF8ndY/o5cD/4mJ8vWEauS9iIJ3PT2HJyEwmtBPMgMHRHrPbiCo2oD yZKdcmU9RHl0Y1ZrxMdbQmR/fCMPOkv+owAdzi9wXPu0YjY1BRNTOdJ479QLKEQM cCOnMUqPnpArsVCDGl4goS/Wm9A9+iQnrr6M6GDvoJXj9tP877e8vj+G41W4Q7hY ltZ9dmTsFoA/J5ISYwiDKwxbQL8Xd1np6iIULlPffUVKvkR+EPUhGqOfFF0Wx6BM h6kj8eEeRq6PmGDSP9qUlpMueDtO1hJ7tj/m3JvMDYhygpqlvjSneU/Y2CwFbor2 dPD/D9hXqF3wcfyEP4K5KYvYl/a8iyzBR9zZesyICD6GhVodbaduk5o0olUegZE7 q9CUMGAOlE37H1ntvauQ7FMJQceu+vTAJdoGdkUpj174h2esmGgUYFV7Dt5S7+Bp pmnoCvusGl8kXvQbVWNO9Rg2CoIKwyd5V0dxpDFYpsz/FyP4WiONgMoNDz3nSnB2 GHfX5+eSFDMunVzwBWt0scoAmzVV31eKS1zjGZdb8EIcEiuw/M/KIXd6KZYXijuC +ICcrtPol+Zy4A2TnKsO/yV+YGm+H7LSGpbFfLRkZuIREFaWF5vK33Tjo/ewv2qf 8NDsgwcsQOPau/rMmeS6I/nFxu1/3hDk3ZOtxfKrHP7l/i8Y72+pbhs8TCvlqQD6 nrQlR2xlbiBCYXJiZXIgPGdsZW4uai5iYXJiZXJAZ21haWwuY29tPokBPQQTAQoA JwIbAwIeAQIXgAULCQgHAwUVCgkICwUWAgMBAAUJD07uYgUCU3kgMgAKCRBSTww3 oLlGo42OB/4qgyw2CZsKJVGK5QwDgINf5xqxlvtZl3kf5hzfRMNt3j/jiakaT7ZV TNM7Qq5XzCYGMMrMB0HIlMQ7b6ZTZ9i8eyj079B6f5CJjiB9nL6D1xhgAAdbYej5 QdaXrDUXNcs7DVHc+IwG39g1RxadgdxXQpgSusNDkwGMCEAB93qzPQqWrhbYnk/7 S2Vttm55Pess8ZCGZWy76IdP75jgXDDdWWZeVaxoRQtAN80bq18S6Sg4PDLyc89T xcGzn8HpaqchGghQ10XYjk+21UhZuiHGMsR/OItVl8lj4eh3LSCZS20xb3Drae8+ ehnQnmF0rY7LzzAcX/5SmY/m3rF+Rl1fiEYEEBEKAAYFAlN5ILIACgkQuffIhmkX w7mlRACeIHELox5IQUuNn2a7ZBKiA1hO+tcAoLXX/aIqjvenrAeVTlHNhAQnKgh2 iEYEExECAAYFAkxqy7QACgkQZ/MxGm4PtJRLQwCeIxOTUZIM8aYwciM2T9nd1xyT lxUAnirtoWpUyDTYNDkBkQf1MevP20DeiEoEEBECAAoFAlIRtA8DBQF4AAoJEBUS rlJyd3F/ZgIAn0mVQ2it4NjWSM85zTP0XUhSGeVuAJ49lV4KeVk/SSFMMyXCzcTa IL254IhKBBARCAAKBQJTc+OyAwUBeAAKCRCcsY90bT+jljcRAJwMKD9W5ivS/kuU DN0NzrRyspglPwCgkMt2wHj+lpL6YRtNEQBOzgXQX0iJARwEEAECAAYFAlAcqaUA CgkQ2TcQl6RzyZBwPQgArD1tYfyq4yfO7skGivi7TxtCZgEdoggw2tR6Anf9fgF4 8cu4zwD0L9h8EuoKEz9fZE23p4KPRl5vQMKk9Pvyu6gjvgIHM6Y+7+Ys02zblroq sFc/0lDpsoJleLpeOZbhZCfOVIAriMsUsE6ibKHFsoi1pz93IQj9W3RAIQlQ/HG3 DDmcT/X6qRJ2/ujhCuOKRLB9mkbGQIfNnq48apysLc7YE+jVqncaKfGq57RQz0aa JAwLcgKhZDdS1WhQGvl04RzTdYLjEG6dfU940X7bKk62yopDq4ZOIlC41ipAQGUk 5vQFHvz6iK6rt1c99LivmpdSnfGrFuKP0p59h4rqMYkBHAQQAQIABgUCU3PehgAK CRA11pcJ7ICeBHgPCADQ3XLJW7Yj+aUxzNettdCK6J7quM7gVcMldwMOlDpMqaf1 0kRdtt6lTUp/FupedkiWFjLhmp5OT4uDGB4eIVYqrnTynO2j2W7kN41+pBwFCtL+ AFOeCQ7nqzM/DU8j3SoAlmlmObIKweR9EHF93kolr/K59lj6u6p4oQ3mGb6tsKYN 1iwlvngx3SpCNKgi+ECebmbxzgo6foB0m+mvdJpxETjTDX5NKR5w/pXnvfj7J/HK XhR0J1OcHqywZQgp0Ri3aOCi/U1w7Z6rcMPLErAjFQpx6NPLrPUEEUoMQHwMCSOP vvuOgCr+3NJUvkLV7P6i1VulnJ3+wQ2/FHikhd8+iQEcBBIBCgAGBQJSuHEGAAoJ EAQa31nbPD2LIugH/imAiRrPj81HWU7VUq10HENJaGlVy/5KbgeoOqvWw5Z6dV24 k3ahv5oXNWbAFRJaSaS883DtFxT62RX99lw4xlPFbgD1a4Qro+XtblaX4GXOZvJM BwB4eH0xHmYZQf32vkUQqzTwb+0DXStHdDic1Qfkk/SPDqfiqJAhK71sNw1JAZpD cux6zbjPtQqJmo1+ldMoSOBbImpEUpDWc1pVB6BkSpqHAJ6OIOicihB2DhHn/6Wq wF9ss9iIX7osYEpe9tR0oYXRiWs1wNZ7yhXD1M6VbIw98OMRHPLVOuiU9ZKUbzzk L+tFu04nV4gF0xNGQFDMXMc2jSXfYs3MSuJf3nuJARwEEwECAAYFAlAyhsUACgkQ 8UVLtuimixwnkwgAiVfl0KyL9mzTxTqztCNOiCj6cc+iM2sRUMuBUV7PyQCXRF/w be1WCHBlRjqE1ZCK3EO/C0NY9mm+VStWXAS/2PwdY+KktuzjkibfDrFK7MGW1KFz aCcnfHtH/8C+KwkDoIdeGXGUTk2hgoh14s0+T6adT0E00nf6nf52Ro/63KUMzncA 7iNGA+ibrCtPUrL+lHtXk4sJuilfCGOmyZIPclIQXRfochBW7l32qmjM+j+kDtmg Gd1X2iY4WXTHFae+tGdcbAldGsNkVb7qMde+C4b2MKoK1RCWafXWXsY7Zu9Y/Qwx 6W93nn0/oDztZxKo+Gwe0blEKhLqhEdq6bQ3SYkBIAQQAQoACgUCUmvopwMFAXgA CgkQNddxu25Gl8+AuQf/fwu9xjaeoXGEFNsxwqzJRveYItumjH+aE1H+MoBQD1yi FTAmDgS+H7zPVcYtMzF5aSV9+DR8FI8rDIWfVRvRPIvha8Rjr2P87Qi1ggvHG1mx JH1wUobOfKmlIYAhhPZpW+gGAOBnuZO80Ei/wE5yc2t6gvi5ASuzBwvBDljCcYdE 5aN/HI7O4Pb9NHLgxb3FjMhAcvKbBajLD3/Z9pkFfEAdRxsGH78Q90/uM9ql2OS9 3v6/4DQyAyT+6UlNMWsW22JngB8kMHMYhq3f+3Rt7mkxoZHwO1obvpCv5rmxhKIH fo059fyPQnTuQHDq/PkO9Vju/fXxEDyLIRqq41jlaYkCHAQQAQoABgUCUkCQXQAK CRBzFhfUQgRDIFzhD/98kE9vmgYcsfE+p/w3vLNoYwXLxjPKzB+gFm8FdY/H0DI9 YDnJoEyMCmwnMIWlS9nNbDNtyYJ1G99UlDzIYewjk3PCbDJ9f4P4/jWZnAfBmRTJ Qt1xC/v3UysrG9shHJVE5lZeLSrQLSK9pM6Gh3ETCHMnr6udi8gR5ctS1hgBuG5f nRZTMEH2JWF22tsfUHuiQ7s28hBGFryTvK8wYI512/mkSeRb5Ta8opW2NhF2ZV2D ob+u1S+6eTq4pxI/WbKfWnZ2lBudDw/AfTGocpVKxQeu3eJtV7lzbGRFR4CiN7EZ +BgaZvLESHasBL/U5PkavUjkDSHJeoEUVrmt1Fm0maI+HL4i4lm1+3vQiyQUnL9T SyjpkJJRtCYkDWRLCOPKINFketk+dpwV6FfxCW2II3euHM1GJT059h6wH9hF4ukd Dh51vNBYpyQ6T0Nvs2RwKgA8coGXao2LUOEt64iYLJGX8dyluN93+GvTAOr3xd43 ZCLzBrZ2nVegF+TAYvk9SvD/RSUVUlTnHtua+csFRkZ2PkWS3Jmpu856XvdCa8nK JJhaGf8DrKBiGQAYvxRDGwEKl9yQW3pIzNDfW3mGa3TUTtik/3vp6iZLoIVZhaAD s6b7RlpztDzLh4QiDd64vg1TR8A9X31ZOmohwWFGJ9xm5WWGM/Rg4nD6KCjNg4kC HAQQAQoABgUCU3PalgAKCRBNoRTlxKLlf+IZD/wNzZ3Sq2+KBIZlQwYKeLWWRNMq BdvEo8NCu1j2mnflyR/IVsb5ICGl+dA2VVkqVCz/12sFRU7Nyd1H8zxHxnFmcUPX sOZEw7H1X4GT8JNdIpyEnjvCh+O8AAYOEcB4hTiGq3pBkrlU9hlu4qdG5cb+nEww 0AXGhDKCALRUmAPgGyM0FlpYJWruxOe9yfY6sSz1CX4twKxp9FrsC1ePjTPwtv3C Y5S9RvNECz/gpE/Rf4Nm07uK4zB/do59Zcg3IUA+qhi4DcBZMrN5820/sbYoIl7M x1vejfeqOvK4hRpaJ2aW2J6sXDZHAPeLXQMWLw0yhs2kFUu0we5eiWHPwCSo1yDg zxKCfcGCcjdbmKZijDgta8F5B4uwM9njyL3S6XLN2fhJCjB/eJ5x79O/LSDBxzEP 0FxgXYDGjYJZbCcjNTvSohlfVIJqTMOINhLoqy4mnVUlcgmHZCNep6vb0a03ZTwp 5QBOcpFRggW6FPnRGmI9YM7WAh/u79JCfX1Q4RqS45KU3L2bzbmqaJK6jRh1tu+i dhjc/QGCAJphPwqoPG+J8z62NDFCTW+LgVrc+NhaozCxffyUJHfOYF2mitO0ChJZ /iTczZAbtPl9SSjZBtxj7weprdVwSzNCeW0gZjgdFhkPmdbUCrhGUn4NmHQnxexV 88FdAFi6NQofsH6s6IkCHAQSAQoABgUCUzT8aQAKCRAvY7+KBBTH4sb5D/sGemIK H02hrfMMqdm8iEX/m//+/RIYHyIzH/76S9kQh205/YtqxN42rOK7ve6y5arr6g77 mQdp6WcPQi3ieUcUeGJveZI2Yo4l7GsnQafHjkD24yX8OtrXEU499oqaiYIlDWCy NR38KOs2ZITLwC0NLO0dERTyBMBoKe2pE+mhz+dZPLp+6u7H59DXH0ho2L9blTG1 wTkiQcW0XW7uR9V/B5vR4HW9dKUZSb3JESJWapJPn6fBKFDtciAhsKWq4QPiGDK9 o/BBzu0G0N1nnmideUa1TLNR+GyuSsrpzopJ7H0eFooA+8bQ9O058xvSDiLxUBnj sHIBcugM6FZiB3sNzjFINx+wqqdIzJxQ0ZpFDOUcy9lP25Rrym4UDU757FF5vLmp n0T6ZlMVx6/RNqC/mORB9EzTADsfEDVjpVZurJqcCjDJv8ysTLasTU/0jN4BUHd/ QUPR4GRMTDLMEUl+I9t21gf06tkhXU+MOEIiq/dJBBpP9zhZAquapsrQxaCxazi1 cvLDROwSdDKpV7XjUcwU6y66mm7SJsuY4EDu3CiuJSWkydcO4mM0ZMoJXpt1Zyok ZHid+mbYJYQRyX3cCPkxe32xVI3p1RxygYFpkl8CmyGSLJBxPJIhzHnbJS5OesJm RgbWPSRTvcWWnCKJmJWOf2qUTweCzzPQThLBtokCHAQQAQgABgUCVXto4AAKCRDU P3wTEH/qb10iEACup581ak9/F2VQSl074lcAetj5fo2SQEkbZp0+TEPOVhD1QGZ7 YF2+2sVM3Hx8f7EGW/54XsG+8bAESn0Trl68pqv5zuKljXYfiAScf2i0REpc2DMV +av9CEO1LKcNigc8nSUREIQvnsi40MBXggdRjP1+OTdoa/YoaVmaUvvD8CsgMTkm usOtpRONLkgMaBmWfiWTaWtgKDw7fz0El+lpFM/Tm8WuHPe2kGo15NX1vV74E/4J 7OIq0XDA1soGxKAnQstIZRDFgPvIWxzmF7ih3JI2HnirxkyIg3osdm7rJcHG8uOe ZPCpCUoRwNBMEUVHjfFbF/nTaL8/LHeKdcCbIE/RfPUCoeLEXV8N+DA2XOgSC6rP S1AcAv9L/0UEgcoG+FV8NfABBsXIg5v46ICPRv0AhXoeizGcbSkwLPbXlGyJQaTH WCVSU0sEft/gGT3mvjVTtTUE9CL3DAQAaWkNeUZ9crdr1fgogw34ftjgo6hzPPw5 xHG2xdIqPE04Xk4KduMD6d1qaCDffkmEGJFQ6pua4mDtI3kR2lb7Yd19cIPX9zC2 tNDLuo3hHd19fQ8esv+qXTORFPkbQQbplIEkqDshl7oVXhfOmJ9/wyjzps55bLqN UQEwGjlgNx0QTLQliyJR1s1pulWI6U4tJlNPXiPGsZd/4Qq3Pe4uBaXO3IkCHAQQ AQIABgUCVXwwrgAKCRA6RRbzUYPOSD3CD/9JJ5BeWxM/8XrL592nBFqpkZN879kz M2nvUCUUdxMpGY5DCAE4yALBnTCEEDUUdTndesaLZ2ibK2mrZK1m207zBS2nabaf Z12WVzyPHTRvzpAup0Ncs2HPZFqpVAjSUKcVa9gzZoLUjkgVetoYSnqDc/szbuT/ /jHi2sGOj+keGrbI8tBAMOXmhaDhP3tNl5w6ioR2Z0Ucyeb5BH4FoTz81sNhawyo Sq4kX1llBupIvPlhRQN3PyEyUdemX5lM0hRybLF1mCERT+8wbQc0KJP4PeaGOz/V RSaCqJh2bSe0465pIJzTqREdUFyJJeysqLhesDSJIXAtZrEVY6yE4t9iJEW2ko75 BihXRmEqhTIcWRmfPIt7YTrkv/e0nKH69HXHbXv3UFcZo8wlWc72lGIQ9CSEpq/q EvWAz/s8+IPoj5a35ZW31DmtTwtxEZwl+dkEqsDC9DOu3wmjJeX+yhUBktAyVMz2 5kvmj6lMFze367W99knuQqwCh/MdYe/aSrJ+d5PuLw9a3Uo8yRoH8lS6a5Fah2MY iRpDpBLTFPrzrGEPiGByY8EUuOG/IThfoPNkHmuFQiVl3qh+OYSJarRT1Ef3B0vo hzQtLq+Dm7fZMMr+uXeOteao4r3wrknCaoa5JnDlraKQ1H3ohtL46Pqt9S3Fbsr4 YO5FVU8itE+6Q4kBHAQQAQIABgUCUByoIAAKCRDZNxCXpHPJkHpUB/4pI0SDF377 TK4vqXuOgh234D23CGlxJRSXw70O9zirtZ/bOM+v/80IBy8fmlDUuDxPFU5LxjYn tII6jQWzKyRY3KeVf6xuKdZO6nt6j0lZBD3+G0wyz7U/MPn5RZeHgEufp7qE6f+B RBO506WKkEcOtLnmNAC9h9ww8rRtfw3RI2jMd/g4HPZBHvOQzaf6ctpBmfgMxuSw m8zYPS66BrfZExbn505NlPkQFZnq/YBKIQ8gHWyyb8id1Gt3UaCpgjoO8qSGDz8j 1GrzsegGQaghAHWT5w7d0sPeh3GtgKnN1shD6HwDbhfXfPGJ5+nGCcEla7smewYd 8mml04RkOeM3iQE4BBMBAgAiBQJMV3jbAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIe AQIXgAAKCRBSTww3oLlGo+oICACh1VjkEJobWOpSTpcRxFkNIB7x7Nxp5RJMvSVA C2+kkmJGJ4sX2Zo8ld3lKag+lZcaQaxqhpcT3S2web30mP/OtJgwy0ZuBVwZI2j1 hca4BPA1oypCOxBVAtxa/kHzV67NeDhvWUppkAqVI0dQ/khOdh74pkJeASgdxvvx kHjNVdPPzXYR5xOC3Bn4ek+m7ItXPCUbnEot0781YU03ArjE6+IX/n0uUubwYvnZ Jrl6x2few++oXKfCvltkco5P/4FJxPZE5B2ULw/YH9Sok7MMZHl1yZCMXxLs/cwo Uug9oa55GiRVbDZn71U9hGI8XIhf5OIPRSK/zhxp9VIrbH47iQE7BBMBAgAlAhsD BgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAUCTGqGIwIZAQAKCRBSTww3oLlGo6Ap B/9c8GtY7WaZD8H0Huqz2lDuKNZrxDtT9Y72UEB/+SJEkZQM8IG9hW2SaVoh7hPv p0cFNoM0SZRCPKdHwiyDMKGGPITJRIqx7z+07bZQfZN5yQoSeP5wsf4yZa3vlITy qp6QXXXKqjCLr9CVHcVy61QyD407+YokcfPmXeFJqBzidpwdsvdMRnyKIzTCQfd1 OcYbtmf6bPPNT5qqDcbXNEhTRT8boCxg6Zn/8iZUfdgZznEJU/oBbKotYPv+734F 0JH9x0pUf7RXikd+cJpYNE0pV6HKxknEDgoek5IebHfTTagUA2aITYp3NLB8EH1D lxCrIZkwQZnwdFoPmM3rK7gDiQE9BBMBCgAnAhsDAh4BAheABQkMqE+aBQJSQGIs BQsJCAcDBRUKCQgLBRYCAwEAAAoJEFJPDDeguUaj2LUH/iju89wxTl1Gbpt33L1T dJMsfPAIj19azpZSRlXcyjLo8ZIKmeiYeZhMn75oLyY1kuMgv9O+J7Jo5zN38vOq FS6cGEG0h6yAmiAAK20scIbr28S8s5P/C4/41k+Nt4LPpuvOXzeJeBsPb6F1tdOO LJWKj3AST+XYLjiMmNxM/QDk51hWMte1+4p8lNsdOEYG/37IL8qT352OWawI/3bo TiMyzbTI0RhhvUOLQ3fbIZyP92ebE/CQFj8xHx0cfEMjjDeHi+bUYnv6FnnWC9TL sZQfEum7r7IgS/9yYvUte5NcyXE/EoYGtJk7DSxtxvhyur50+oiYB6i5dQaXQOuS c/mJAT0EEwEKACcCGwMCHgECF4AFCwkIBwMFFQoJCAsFFgIDAQAFAlJAZccFCQ9O 7mIACgkQUk8MN6C5RqN2PAgAkBhdg08CcAmUZUzroKV7y7IgkDvRl/ophVUbxBBm wX3PVFiF9WUOvKdhsYGso7SSV5WZV7AiMvpwxWyZODsG+Xkd7kGAyCN2Cz1lmnwY hOwxMCBFY6wc9zcHx0L4Sn9YP3w3E5nN4Wk0CCblYzUBBKV3IJmyHuI0M8BSogi3 B+NfOY8JToL4Bi96SGiJYdf4odtCbcqyvuU6nQ7Ct1jO2GYyrFl1FbbNGXYp8VkN qvyuuhkblmk2OmFRePB4n9C54d685htAWappz/2bs+z6XciUA6r8qbJZ9lMULzSu iNS/aFwoXcE2O2hwM4SWADY55YP5yXeccNUMT3VnPfI+4IkBPgQTAQIAKAIbAwYL CQgHAwIGFQgCCQoLBBYCAwECHgECF4AFAk+ZxvwFCQyoT5oACgkQUk8MN6C5RqMY 7ggApAkfIM8mmrTH0Ib40KWGDPhjKvjpbLtjQbQJ8GfFthZMxPoiLG+aWoF/1mC+ q24ggoV8ywZCuS6OqnqHcwgZ5xny54U3xlx+KdCbi3fsSbjp1cAEFMJrnvYoukj7 zCeHLhJnhCxPaVBklQu1F+YBLQICcEVf/2LoscQsxqo25+5bl1JSAR9rJLaUG74f CqCcPT9wBG6lT6CgMs6SkUf4bHoM5MF8C0CUGC4dv3wM/v34y1ldswScGVV7jh36 cha2rVvfJmWdPottgMcK7lOlsd+/1YLjgk4f3DZySjbJNL1bqo06M+/qbR3EXevx 2QJRGvr8OQEDgPuLp1VmcsqcLYkBUQQTAQIAOwIbAwYLCQgHAwIGFQgCCQoLBBYC AwECHgECF4AFCQyoT5oFAk+fMEsSGGhrcDovL3BncC5taXQuZWR1AAoJEFJPDDeg uUajiYgIAKvjYJkqS15x+eAJjPHQ3f0oCfnmOJmZR6jGzw4axuLuP3wF3chTu1AT PsLOqya/kPVoAJy0XafjPmLjV6Sl/OXOQd5I+tH9SXd70KNNXJh/9FhjCii1wvS0 mIEkr8fJ3S7mYc8L6PIVIGgxhxydyydo5WtnHr225Up+AtH3CT7KxjCvNccCrye5 eEp3dIcnsg9mnUSheHJgsvTqQhTT/PrhR00qZbA2jaq1Brvnko8IWcR+/bANRdsd TpbncBWUqJ+lKKNbFjl4K7LLtVYx825PbzNTFLgiIITckophzEKReOxpFtpRJJpt pmkXfSL+RcMpWJ1GSpIuQvVFATVVFiaJAVUEEwECAD8CGwMGCwkIBwMCBhUIAgkK CwQWAgMBAh4BAheABQkMqE+aBQJPmdBLFhhoa3A6Ly9zdWJrZXlzLnBncC5uZXQA CgkQUk8MN6C5RqO3lggAi58kRiEdyzUkBtzTkC5f0U2VvGyzy/Q8Q+II++WSrqaQ QscLDs7+Yi/GY7nl/o6sQUvybS/VjGqNkx4mLCW1RVdxnWkStwgMoCar7B9tl+Ub bjeTAFEYxG3Ae5z8opH/3qqwdq8hsAIYDiF6WSCC7rxURrgCRq5/EOi2ULnoG60e nlR8aM9jN1dmb1szKFS3FoAoEH1GYleUqBbhK7r5s9Ir2NFdrJEW5Rqpy1dBSYBd 0edeZE5hypi/WE+IR39Ms3rBAShbKjFlfnfxOavxzuxbBrsQ42D4RnorvO8j39cz p+2bElow09XHoHC5yLZ6Ks0mg55Vv5u0YO/ROvX2SYkCHAQQAQIABgUCVXt2jAAK CRAbYc+UQ2NZ+rMIEACAmwgVhJmgaWoUvX07c8MU9SPFvvxxAPJGwNHfRh7QiTZS Sa6x9QWKfD953ISBDOl3ypQNlKEoAGDyL166RWHcRO63mhymxKbpm2BGd8mKCQ4e 6OsdSajAO779hb2gob3Sm6GMl8Y20vOgugJ+uR11U9SrsrPlr47PfRe4BOCUyiZd t3ACPZnP/CxKbyzfnh9/ccdPtPl6fylTs4Ac5e5COyoYnmuSQec/9vzSEHnVHOk9 FZwiBvkjpfe0FHV9fe+nR3ze0L+0FHZl2UiN+aKYU9pHdQVMsH2u03wmT0x1YIb6 +ALYVj51NuvR6+mV7QtwjBEY1fvVjFCxiWRpBM2LWf738WU0KYDAZY+LOwwnfmNk ouevaWu1zjKaSOidTGMsy4oETeVy4BpzvJ8bS/jpj5pn55yYppV7GzKzLlsj+APT YGvBYnOth9062BNgjDcp/Mf7M+pNeKpfI7gXsX0oGA3D9WtItatsQpuwXpFUzozJ f3cVL9JTPZ3S1VfzlBCEXIgy4xaMKFJAIPxwzWWHNkjbBEU4Kg6qDcaCrlwI7MKh 3vfFSRH2xStN/Mvh7VxuIXx4zgnNPPskl+BcsL0//uuOxI4dCTQUek6A6Pke7xZ/ PbIboBBADZvtoGGNDbGMrefwbLlKExQ6SC4xTkc/vuRomMtUQDceAijRQHQQhokC HAQQAQoABgUCVXuaRwAKCRBzP7WF8ndY/tnGEACuDUMBzDdFs/SVuwmdU4uGNoJu iT38jZQ+1cVsRo8hPHw4ICmlzMVley2+dR3VeFCif95b1ICUQKGiKHy9w9nQ86HB fAitOszUULfxy2MyvwJ1sUn/29Trae023N9eXXzWBrKiVXu9eCAwU6jP0NfpWijC +0slp9aKD8x5ObLeWR+07ZXUUUj0WoU52ZZBxXGQEKivYKHjZQlTbxG3ET7+XGYa XjPHZkUNVOGtxjyWN7pxmSlZZBdCLPIZ8Vul12LUPpgkhkpkeS4Z7j14SKroHqt2 jXIo1Mj2I4MIE/g4DkDfJEaYE1d95NcsfPZiWkPk35RGgm4C7NoYdrjDDh2KJfP5 Y6rOVsO9BBUdVm3/mzJaaBSuSBd0Nbecvm4u+l0eQo2nQmJSjAA7GzBBJfldoXK7 vIR+xNLwSaMVYakAzBJSdhH9LeBmaJsVnWTMH3dpZIexuRGvQi4pWjSRl1PzwQQl V4OJL8WIMjhebC3sbOgWPcMh4jxSsw7QRBpHvJfj+Utqp64BIYMRy0vMnhBHPeue sYJ/b3Sj5zu2DOqhKotc4HBos1l+gNtB6lbMgK3A25MnlN1R9WwI/zJRcsMNpLYc scTSnaCxb56OEEhUgXia0aE8custkhIawxwpv2JFvBliWkzkNfHpCyLleg1Zgjxs L7AuTfetTrB9tek7h7QfR2xlbiBCYXJiZXIgPGdqYkBnbGVuYmFyYmVyLnVzPokB PQQTAQoAJwIbAwIeAQIXgAULCQgHAwUVCgkICwUWAgMBAAUCUkBlxwUJD07uYgAK CRBSTww3oLlGo05cCACUTaaEVgJqDf9fsp24BpXCvZal2jdLQ0gdJSJMRYvbvxVm UViGQAMUAYWuA0CxdlFsC2bw0o4tlwnjWGlF7wkfOQ9QlQ5lT8AIZYrFcgbbHWMe eK7f3IafxIUA4+IhezzupGl3PBC5GsP2B6STq7ewws+B7WnY1dRcePxD4fieod9i g+IJDYTLChwZbgC87W64mcPrPz/u7GTZMEjSubvUHSQ3dqiDckfiE4bohFAwkrNJ GSJLHr2/cpEVv14lT1Un9bRuheiBAJE0t2NkRMFj2/2AhoibuuAOpb8knATIwIUS ayQiwTBTJnm4cebWKzEEH3ULIykDZC5dkMN1lPkhiEYEEBECAAYFAk0Kd8YACgkQ Z/MxGm4PtJRpmwCdFIwhl8+4M6D4Tqpvtm7jWzXQm34An1dBgfRAUNrc6/kiBxCn YExKp2QRiEYEEBEKAAYFAlN5ILIACgkQuffIhmkXw7lAugCfVNX8Mg9ibSMAQyO9 znRAUnpQweEAn3kftl5UwLXPcrAGqedfsSKZoprViEoEEBECAAoFAlIRtA8DBQF4 AAoJEBUSrlJyd3F/OS4AniRcfLjSWRLYC3A3QsD+qtCLBvlWAJ0bXx+2773L4bfs NraIN5FnuNyXLohKBBARCAAKBQJTc+OyAwUBeAAKCRCcsY90bT+jlltGAKDNTfLA rCt8r60eCdLYNdtB01NajgCcCyhvYbrQ4gcTbYB1L9RsmcECiV2JARwEEAECAAYF AlAcqaUACgkQ2TcQl6RzyZBlkggAxKb3pweMM85bUkjRIlTln5qxsL4NKeRZ2WLd mbapYU4a98bdHsXYleyuRXB4GO6wyOVxCvt7vlSXPerN2sfpBD4D5jhsCM7mhqmR uTH/vPZ+GG9bYPwt68S7F9QY0tjdiNms1g++odZeiyAJYRev0RyUdGquFO/WgNuH SaBWk7NWmgr1sLAEq08kG3SbbAOyTUpRfPYoCURrTbLH4+IHTGyE0GGtNYfDPxNF qG0dCGocvglkjJGKNuWEKxtXbXbqyPBR66gcLit/GMcT6dcItUgAWd4q2sLRoYkj 73rhVTyayBTXcJLLj/tkaCVn23TYkqEul5SK37ilHXTd7JoQ6YkBHAQQAQIABgUC U3PehgAKCRA11pcJ7ICeBHckB/9yqRvNcSJMCj5wMd7iWzu51rMtpH5r4KC29euU WpNHAN2XlryRKzp4venVpEnLRpyYwNU6SKuQoahIlCGVtWYpRd8pN1Bht3+VnFFV 7vIvNeKwu1AnTJVhUdm3pWl8t9e1oK4EGZYvTm2oR8sMSiPGNBQPHh/otWmti7E4 N3nhkVreUj6ybtyPFIN1RsS2TSm3xJFo65yWq+Fzh6Un3G8vszk+h3BGXMHeSqUq xgtiqVnuy38dW3AM0tRi0b240dHYMPfHa2gCGkxROW1JFQ5hTq9JtuTRon22eYSp U0PZJkusLyQxAQHbVN9TID4I1jkT1qkGaZ9tsMVj2V9AQRIIiQEcBBIBCgAGBQJS uHEGAAoJEAQa31nbPD2L5B0H/248C+du/99ADfVWqb6pbN8ANS8Q8+RYHFmpRXqe TAhfM2GXyRZ29E0VPdTusbhpJXGgXX1Y8GYhQrhXTbdwAKOv6lMYH7uyZqF7Ip0u N2voXu5OqaZCCeRLJqsTThOSswvw2uHOyQnoXQDRIA3g9l/fa/ZVHkOKywgz9CpU dH7CWuQNaF53arH6GR4dFfH3H47XBKmjCsbVeqKNcdQYUOiR//T6yhAYY/kF38V4 i2edtDmzdSKnjlgvyE59e/Cull+fHPYYmT67hkIUiaPXuEjzqMzJGEkcrrpBpYWs hV/lzWzuxc1a4kdC1tEXl2nkgxOuosJhRmI1ZBtXseUf2RmJARwEEwECAAYFAlAy hsUACgkQ8UVLtuimixzd8wgA77QVtzArUvo/2boEux9A4INvnUxP0AU+KvrLMJne ZJ07bWOBr6yuLPt/AXohRxqzq8YLP5wgmz8JybclkS/gJ+Mm3xLIvSq/RXlQjSaP 9CvY4vPzYT1wNCvAHsMHAoDGtmzhxJkt/I0c2Z/P/VuqKc/byrdZBDLE7rsYPKCq ljceXUuHoQUDyUWtmLZaAG2BDwJi1XaUJo9I+JPEqrxBAipMcj8B3M3JysuJRL9B YCeKAJsbIV7jiOm16BS3y4vJCOAZc5BWM4b71vajEaw0X8fcrb+1uPxNq/lgWEIy SHn15TwjEMQrY87gaZDEoxz8fZoOzW73UZgT36GE/IeCVYkBIAQQAQoACgUCUmvo pwMFAXgACgkQNddxu25Gl8/ztwf/QraxHiCS8KtUcS4CMYVUE+jTWd4JFgPzhzyN yIILiVKFSabHlpjd1MbbvCNouBZhGIzZA+s8xWjA8Cc0tM5jqm6xjHCSVV88AafW FUhrXVlMDoV/zKx8yMH/GMmMjBSbVhDQoHhImRajzwbsWd+WB4TIHyYUbmVxta6X 5S7MdjqWm5czlu25kjJkZOKPj0TnlOz6ftLlD/8rcxNGZghBnCPr8UzyMGalMEBS bz0ej+3T1pk5wpJ2buaqMX2co5OtgjNHdRgcXSs4fmg2Z6Qnn4J8LvzUZ0gVcXeS mmIQRY//oTI92RoPToMy8IvMbPXJQooekujRkN32g6Hg3NQeGokCHAQQAQoABgUC UkCQXQAKCRBzFhfUQgRDIKqpD/4pGwU+lSYxyQ2vTe0w9qt8NqJRAlKR71FFdgjF LL0pkmvtJIoTcXlgvB+LlJytwMcLlURCRmth0sTTNw/60akBjU94nRpMknJ9fkH5 tl1PgIxE6qwyUWEK8k0qgGzCpAYPhAOZ+Dsg8qkEmrQ39DoolNzA+TquuFglTER7 s/1Gc/yfx0zaZHvwXkVP1Symo6AWyb0nhVqKlQVB1cXEUUNpOE4kmqaFRk57/0pX PUsq9HV53CER19j9QSB0mltTRUJrd9Rfv/1FEiARzcgr/XvxaJOO8agQLxip+ut6 HHGkWRsgtX4jwswDfKeqtgLK6WRh+Pw/M0L6r9LB87+89zgPXFwbPEzSqutmtApz nVrfiDrlumn0X1W1MI1IRocTK1Gnz5K1lCUcboRviEOaZbKB+LN1RP6+ThcdqBWg UL6gQ/yPmKeoK84jW/yxMG15JR/Lje4kfXLyDfM70c7zsykIQQvgTQqx4z9TToli q73E+leNgHZz3BOPg4m6x+ELYtZ051wu8SBvwjVGnzpUBDtqNr6BcG5TwVnSEtVu s2C27xHff0eokVgeG4/EYv6m6a0VcEjwYfrnxFYPtWted5ukhV2bb/wr7Qaj9AbC zU9db57XJGh9H+p9fHO0ua4o62WV19V67psOkAjb5RcHiCTUT6mlNbHA1jb+N1K5 TM3pZYkCHAQQAQoABgUCU3PalgAKCRBNoRTlxKLlf9PtEACm6hyyYSRIT3lz39fa bfRX2hbQqf4tYkcSzyVOn7cAJeLgnN+Wl4UwW1QKWKAxRjxSw6gyROVJbadYpcMF Sj0xTg/zP26Ls268OY9RgIf8EsVC9sjUmfSAzaYaRLUz/SCCmFstDWA8b4LipBWa VXCNN1vpQsbbolNQOxls0VJuDEy+waF53U6GjYT5uTmar/mxlL4bHKrVzmDTsBRT GMtV/PyMNBEkCqipjQc+v4K5fHyLZ93RgLFvyL6OkEx36fpbH19+vDiX0zNJMUfx UnkBu8OqkZvqjO4R5cN6a4eHDneoPshLU7BJAiPHiMauBUYYJsjdfx79GkggpRmf 3TDp3MfkBMqs1rKJAvncQ95+UFFekesxXj3ykA6iRuFdhyFnmmgb2su3WudkYDBf CGgqeMnnTABlJ60RHqtCBQKyp+V8o+iRWz4U6J2m6iXiV3EAzIj5zudsCQx4MGTG jcLAOBLD77wj1cClU4TB391/Y26J171Ggl8KabFXCPSqbx/rEl73IPNkVv0DNfAf pi8YheQo/mXqvOoy1pR2obtPrXTgWQhbdzKfUfidP/JzxF44P8GrOh9nGm74oUrY arHnFglS5DfErUuDSfqg07VdHb3oAySOtQmJObvs1lzVZg0TbGXKDmJNKqJxk59e IJhnQuzg/LeyOmy/NFb/ajmW+4kCHAQSAQoABgUCUzT8aQAKCRAvY7+KBBTH4t/w EACv3KF+BrRq3xzAz31j1uHuRushvcP7NQB39eKDfR2r4kdxvgDOsOXIQjLPXIjK 5QPz0Jp4W7iSL0Yob/SJSO7+5um5R5L6sGlzUiYYHunaWYccklPZDWxI2Oop+r8z ofi1tk1EEHvgtk2EajqgBWBZZHGgCLHZnK8rtsiFIRV3UYO61wvRL0sg3MbUbQrO LAiVKbs6xnIqVJrqMgIYkH0wImjDV9lwRRx7jYkf1nmFURjDYWEC0oO6qB3lnVkr epL9YNKBKw3nPLbinQ3+9zxTbOFU3M0quWEiWK5n76aPMVF8dbLtTEXqO/LNMguY z9xlxKqMXyHTvIuD0HzeVsxoHoG0oruDO/e+5pd2tS1qnXaL9HJw4HgHOU8FRZW4 xkx6v9AgZaEuMXq+Z9Ci2ff8lNAGCop6ab1u97PPk//Wk+0knP2hoQSGPOcscV1Z 4ditmj9zTa1UCAOgaP3O2gRtdw5i/UXgqODwTKC8zTTaWhq9sVJkXHHskWGAm3GO WVUdNiXVRtoh0mrJsjCtxo5RGVZRdaSBODkZOoSIfA72BENvxZdFt5YvQ0Z67OJ4 uDkmB+KVLS0UiokesrnGXNIBSxvd8NCurNwoGjsEmw8SfbJTcvz4Q/nsMN9TQKSu ouH8CjsKEBln2x7iLL4mbRdFv516oUyJWIOWlBQNoPTuTYkCHAQQAQgABgUCVXto 4AAKCRDUP3wTEH/qb9TVEACVTGTU/oxkIVgn8x+GqlW5mCl3VQEHvMEQXsRPCHm4 kQduPVfkI3wwvmDij4WU4lIem0eFEuyG7/SnOshFXlzawRwwmyz1ze1sgkTHEHFz 6SVlfASKK2tC8Z3KWZUP8Nz4v44oOVvhjrQHPGVAtK98w/KSih8HqxOclCQ1S68A qGafA4pOq4pnz+XsSogKo3bdFA8NCWfjcr4vO3pc3hihNAhFiQQBc3Jz8q1gSV/8 goC+cLLR3W+G9ViLZQ+t3jWmHnUqiK1zHro1sxfLj7Ol3QmoR0RZNTFzVnDp4oth yd+IBx76wKsy9VTINYc+yXv5a0/NFaOqE0bpDAduzf0gNPyoIZuEsatcTdvE+YG8 Is7WcHs6AceSLr7rcld+HcQbXiJE13gcv1BbpyMTM7RN2CzNQqpULyqoRBRG0W8/ vxd0klqJuSIEftAci7nIKsfvBQPRJoiYiGxcyvKYd9uoyl4s08il0TLqoFtOPPk1 HmeOUGH7UgRaH9vBW9RFQmWBrA/irr5Tt+DB2UG0oGR9sFo6r40KV6G29Oeu+VH5 OAGAXPSW97xZxjthb9+9dVpYF132yzMHHZLhiWbFIrRJSbAjbyT1frNTGmPY08Ok oLHKaLUVqwMp2rsyuG1w8Eb6mm3dVy9sYLE4KRjMTz7SaWsFsxlnTyiSASIk/a1D sokBHAQQAQIABgUCUByoIAAKCRDZNxCXpHPJkDe3B/4y8DOg2FoL9+gzTvZQJBxm Azj0fVulY/+AZ+2T17wuq6FZZNvyG29gF5PWCWNL+TgAH9qgll/h7yg1dt+Xa+50 XiZ+v7f3FJ1Cu0zyc9r3c4xXBGmJDDqSA3VfE39NsgmcqFZVnkgXCjdImsfu84Rr 3HHpe2Uc296xBHdLmxb5eWIipxTgfSBoc/0lxPfpFBdA+DYHVByiWpk8gZcJbLPA oLghLeyLy2q0GjZX63wYBP2uhbjen+YrbUmfr0F7Ig0xYof3M0JKB57e4uRAqsw3 qi29/lJJ3JnWZET9bNHqQXEtMxlG7I8QoOa3qIcGWNEb9h3wFifkZproo/GHpn6z iQE2BBMBAgAgBQJMc+S2AhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQUk8M N6C5RqOHNggAt4Dimsr0f9RWAyCz/sm/GgpDxjU1vNuICC6zRyPcOa77bcZGY8JL GuYSQ/sJ4EZ0CX9sBEJcJx0zyFi8okJQiUIwgpXQTe9nOoM2aO4YSG6fXuiZczPZ 8/447WLGqacIZCl1OXfkymfWpv/BKjSfYdPKKH5dI0bw736sZnNKXAV/PCVzbWYL m+w7gObYgN0ZSODc3ENMO3RVXb/C9ZcsaNZGlOfmZV27bUQwsdUnjxL0jtaBiWeK NmNC+MNReur7/X2SCK2mGM3bSFbwWUr0jC1ifeaUWvVJQZt2GVyn/J6e1tepaGP7 jtMaroSuq4qKGi3/pnbCRbjFAAY7gLaB3okBPAQTAQIAJgIbAwYLCQgHAwIEFQII AwQWAgMBAh4BAheABQJPmcb8BQkMqE+aAAoJEFJPDDeguUajjDgIAKcYqAaebrwl tFEZIBLNA3lCN+hZILEYuhJurzxspCfqbb0rg3sq8pFnPU4YBUCHvAVvW/WKZyw8 2PjcjX0VEf/TUIy88c7C2VslCzMbV8pytNnu4bNtK3ritbI5X3tHRVm8IH44a+58 Nn2LTITp38AASUtx4WWoQ1WyJwqASwMPx1pr7bWrNPxwtpVBxSVeYi3298u2slDk yfBdd5uGX4IY6ews19Oe9d4JZAcDxGcSioZFdD7dXH4uXrJHgHl39eHK1GjuzfhM ftVlz5P6PbqkTuo8vyIo1XgoGVTuc8odfG/SAV9k6rTXECZWAv9q4EON7YFpZGeJ dG9qv3FoVn2JAT0EEwEKACcCGwMCHgECF4AFCQyoT5oFAlJAYiwFCwkIBwMFFQoJ CAsFFgIDAQAACgkQUk8MN6C5RqP2ugf9GSR4OAy4gtpNVahUqBwxLH5piPHmHITM Z0JBkPyVMI9VSjmm9TCnHBlGkf6Vr28izWaVkPTiExF0hIQJL3MDmHp5povRpzzH rW8nHpEUcdU5QYseOskawQaEHINwLm2c320Qm5Bp44MiAlChbqZxYcceGBvdBidV Y3ZM4CLlSvWtFBwjThiUfdLbq+ZK37heyWD2vutMCP7VDdan1yyiVXElma3+lVjF Ue6oBkBa4UN3dXDUJEYRrIAsXnfM7UkTOHNjZG70JKS/TdrKxZR96dU1HLWh0Rnm Xi1zS6nYieWKRSM41VbvHQaVKjy6KiQuHkvKmY7Spp8HMoGhKba0TYkBTwQTAQIA OQIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheABQkMqE+aBQJPnzBMEhhoa3A6Ly9w Z3AubWl0LmVkdQAKCRBSTww3oLlGozatB/9xUiHzNGgQfOIl+JTkp6s8fS+rmzFo DnWCNL06gzJ61nG0mK+9OoVbvbRmygZ3EZBeYyE+EG+WdkEQoFRzDcWdf3bZ5v7C mjD2BCpwaPoKK2OLm+CMUub6c4vx3EdQD2Mo8WeGvJNzbA6CJoFa+JWjsGAPy0r4 tMVp6rT9dgw8IFJMdQMvsdNghTDMrqSzie0E/zSTqU6IkwAmooj3V8ZlSEJtHWzN nFmDNCCms+A/uT9x/Z8RHUbDCt6Um4PVKh43eidr8GwMvCKJjDWK4f2Yun4MejG5 WB3tA0OS5k8HBXNRWWa2dVxyRgwVOW7r6mmuWRRT3J6wilwH0YBHo+YCiQFTBBMB AgA9AhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AFCQyoT5oFAk+Z0EsWGGhrcDov L3N1YmtleXMucGdwLm5ldAAKCRBSTww3oLlGo3X0B/0QEdpn4XpeClc32KaayFHo oeageJivo/FZwqxf35RoF0mrKw6HarKj/0daKWoiW4nna8HiL7MsPB7knOCf1OvT nuAJGZy8JqAK6NzSU6n2q9UclFMq4kiWi3mnn547wNllpfQ3mPuzE/x7Z9ZKM+Dz EkOe9HtL/38K0lTuFRSt2yF1ET3t6C3XBMV5WSzZOK2jcNg/+nedgHj0OruJFlXO yCv7XOXhy4PQaGjT7Vs/Gw0OkZqfqmWHFpZpBOnke6k+r5qWmYhUFuPGR9Zec//2 mJa2n6+i5pZc+kyV8I+eZIKiRWnqhVUujyc7sU1rG2lGnLTQKh8fDHFm2+PpCUqy iQIcBBABAgAGBQJVe3aMAAoJEBthz5RDY1n6/Q0QAI/nTYnU8gsc9wWRTWAJ1Jd/ i09pNoCv+OfACex6k4oevwu1hKaWGrTsQVoiHcPR3qDThBGl/2jFb221Trw2553K dB/4vmtdyMKUpxb+xXM5VAZznYQjnCK9Ku/vgTHpNwmhB5c5Rx1ldCYt0k8xcHN6 7suocpVz5Bd24o9E7OuXmALWZqXk7Dy3qMxWrBOa+oF7Or5QKt/yq1hwvYK0IJeT Auhi00AfU4L80E9N3f4OQ1w7jsI6HQCcdc2vvjRForsT5TiZZW3GKoNMnmE3HyHR bwQNDbYaLJoh2IpnZs9t247gO4Rys7Q71ufSwBBoV2RJU0pTskwsc52J3e+fM+67 CK9tHHAmE0zPAQv9qoZUlCYRzG5ZwjxAnmkfmIM2hYyGH7V3ozK2frJgFmKyILf6 oZg/8YdlSJeiwGxUaoPRxmnvpOyBS3Iabk0f4ihfgitkz9zOQMk5Gqb6hCd4fABx CQyk2JeDzqnMZfYH7mgbb+QiOqk33lly+b6miyXr8S/Zp0A6+F6wR86fe1c6PRu2 KA8JyZymlqpWj7PUWZxPLGSGBidkpeW7tem4xNQPtJkzA0GeK/j5os3a+AU64YD6 0U1xRLB6nXEos++CaYjNQMJIw+xo78Kg8hVFVaojvFWQDBZ6oRu2W55zRl4dqoOZ ZKsyBvLCp7oo59yCrIwViQIcBBABCgAGBQJVe5pHAAoJEHM/tYXyd1j+ck8P/288 X+watAoWnILNl9Gnc6Lgflxr3L+krMmKvBmst94XZbiK4QjsWaUI7bEOLaTaQ3Wc 9zpSB6TVH2ZAhdiNyruXLP7pulQO0FU65N7pPXbDPc+FRs4Kf5BSz9R+ip8iInC4 vAMOxQld7T2V5sO8+I/EvQc706Vh25JZIJei8TbaZzTbXysmxmAfVnwEdNhXZ4CQ xxOP7o9SsjmzId7WKOHittvOTHGb8PXyFxt+x9UZGAgLoVDv1QOwd3gBjLTODIom U7Y4zeqMEm1jdOWtmXxQREC6O2E4jHL7FnhgIiajMcCvvERZ30pwfEa1Ve6eEJrE i2NDMJVckBL1rdhWazuBigaRxtq7Nc1nmyOAl2VccKwl0dW2paPuVaW3vO8IQ9qJ VeHWUPCPtLRXZtWZXY8qxml+cOOna3sT+fkIXTZPheHg+R1gkTyKvJS+cxEiCK30 7TTWJCg/2tgdJM+alFYACWpJqaGp+XIdUDaobqFfU2WgxBCRein6499+HfpmimWs oUQdkOVz8rX75aAzIQMKeUC1mhSdMitWXwBHTS6xgOe/m7yPlKnfdmbv4mCqqMbe z1fYjt0WpkLsizX3BxkXQ43oxKQ8WJdFfzDytqv4wA6dyRHaoYxZPJyxoX2FzB55 B94cCloMfGlytlVHb4gia2j6J4zRVqlHXrj7Ba3HtB5HbGVuIEJhcmJlciA8Z2pi MzVAZHJleGVsLmVkdT6JAUoEMAECADQFAk+fJ+EtHSBObyBsb25nZXIgc2VuZGlu ZyBtYWlsIGZyb20gZHJleGVsIGFjY291bnQuAAoJEFJPDDeguUajMrwH/jPsXvV3 cFlghMidxgUjIZl5wvnNt9NyHWn0qBbJu3AfJZ870h4Yz0Pcwulu8MhYFLNnOXzo eU3i7aqNgDh5L3MhkYKjFYlvISD2iVPXpMX7ori8KRsAK0ScGshHsjE++Ecuf7RL Ayy3IaATFN+tu48yRELnRTN3WLXO4LIp2TnnyUtGlzTk/co7TQdUbFR1TX8FtaRJ MSChBcFrv2qnDAN4wWAlYbNNo2YNI2E2z6o1BTT7/CRVW9PnEhjZxqZmCh0JPHPr dyNiyyLYXAxRcHPnoj7En9/R63T/qF/7BSvcmLNJvEJS0dMqCdsznocvK+Ht7xlh jdIg43wGKI4T2cOIRgQQEQIABgUCTQp3xgAKCRBn8zEabg+0lOFfAJ0XVHpYvIVb xel20HtWDw+BcIhhtgCfW37vuEG5+Dlyl63t4svyBMnuKnSJATYEEwECACAFAkxq hgsCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRBSTww3oLlGo/2sB/9aboN+ KC0FFMPot2yIhsjNgUFU1x4i/h5PtYiBdrKVYiX0uYBrJnFJW5JQUHJiQ5NWplDt fK4kLqvV4YAm6COtH/4IJMiJXk64fqUhZvRpyY7WCBd3lfcp9JeRNuYq41O6ZsiV R450nTf057SmXzJWYaO5WCfu+Q3FgXsq0Cbj7R7k8ZWKOHRU5lVxQReJ/7UxS1S2 xvHLYMjhHWrQUs3yOK3eXCYkA4eDG0NbfuB03R76ywu2rMCGVlbxDgYvSFIFLUMA Y0sd44Qt1NIbA/nCTEH5S4mgd/H/q+7TK8Sb6g9nCB2tqN7C8lMGEdrO4aLPm5Ei wmWMFfrMRDS0npcqtCdHbGVuIEJhcmJlciA8Z2piQGZyZWVic2Rmb3VuZGF0aW9u Lm9yZz6JAR8EMAECAAkFAlIpcfwCHQAACgkQUk8MN6C5RqMfOAgAmbmr6VT/cT+R jR1mUife3p5bkvkPHTt9tMF2r/LnXf8Dt91PWeKKXinECFmO9rq5KXZ1Wv+m8ZNU pk0Di4hJss/Zs0xuZsrSb7LiovTxF6XFNqpAxg3cejovhEmZ9SMmn2pYebR4jD2n dgERxeBcr95sBsVHttDA2+NqjlF4K0NwyXewHop97e2yuaIaNVLoZaGpBPdn/Ieb 8rN1G5jQRnHBmAs/mzkWdXX5k5cyBlcys9k/vL5bWKwf8l1+MYz2l74Bjn1o5oHt 7088p8CelqyGGd95nAT8KOFg3EwDMQBj2tCqpzTzRz8ULAfP07mNhhdDJ/AKBmxT 5sZ8jVIBNokBPwQTAQIAKQUCUij7QAIbAwUJDKhPmgcLCQgHAwIBBhUIAgkKCwQW AgMBAh4BAheAAAoJEFJPDDeguUajdWkH/AvbnZbNqZVhE6VLhAEUDjZd7thQkK9C EHX2dOwWIv4Hh0MukgCvS5U2Wa/f5y5r+7UADNdkNXS08l1bl0Z2TiwOnXE2r3LG iudjGwy6k7CnBpGRG83Lu09ZtKek0Sm4EEHP47nZ4R8lS8hYPF45lZlR5qnMyY/O SK124YePmY8ZJebDBTnOYqW4liS44aTcT1acI1ru6tzyXBjtfLQRQXcmQ3uZS3Bb IWyd9Li4pnKFKIrC1HI47wwIO1Jk3qxmJs2WZAEzrMKztt9jHlnGCjVTS7BUI9NJ z3HRyfmlH99CJwpzWStDq/f4jjVmL3O57KSGGDnQD9EDzaEp5jQLdc60HEdsZW4g QmFyYmVyIDxnamJAa2V5YmFzZS5pbz6JAT0EEwEKACcFAlWPGhQCGwMFCQ9O7mIF CwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQUk8MN6C5RqOa6AgAo7H+pE/bbBlO A8zhkHnr3XZpR6YxKrnncqMrkcBXoeA9HGPaONc+aDTfHzMIw4MTnnXDHlubuN0Q WwMUSQT6GYXHg6eSE6jRwvG668yIZBlP139KMT3RBwsRxlx/FmNbBAaPzdLXXDYK LzAaaFKmrkJa/I25oYWlorkm4uwbxOZh8aVyfyVL9gNnYYL8/EguihXR/n4fFxOb p+vXImDXdsQjQk5oyrsCbVDK7rXTW81dwyxvEOtfCRefwcLpkp6qVrCIa5EVsKK/ pZNIVEHFebCll0FUNoOjBd1872jA7/Jkq+MjevjZ8TTlj8vKHmBUDCzVQ/KqkDpQ yf2wZPybWbkBDQRMV3jbAQgAyksBRs9aIpEU+j37aGKMhntVy4zCIALaZYV+E75n bhY3yjxHKiOlwOt4y8n4AxIPGvm7qneHacnASuKtlkmn7KvKhaxqVVkbk2l04w4k aHqDV0pGsve8CLv2KLQHDwq9MEKvwPqvep3DXyocpe75cmvXfLyaTbmPk46+qPcX GlfNXXpMJbjy7RH51glx3rZS5uycoijKoNsblHdLCPvaTgpwyw7bHEpkgpoIFLoU wCog3xyUDZeQKtJwzCPDeJLZ8hxosye4y55KxcNIvEzAyV9dru444rbYVBm4W2lE 15mGsaNZWzMcHohj9XRWepDCJwCC1i98eImAPsnoW4O7BQARAQABiQEfBBgBAgAJ BQJMV3jbAhsMAAoJEFJPDDeguUaja6QH/2iofGwiJ9v59fmONgldH1o8W4n2A/IK AMB6xjPsSnVi/foAgl0l99JDOzMtVWk5Sa3tk5Hml4FDipAYYcfWG6IHlQ5CnRxd TYJ2mAU9eVjf60xmyhEgmvfC5hUPZDVvPeVouxzGCO0ZhnGnJnos0v3FXpJXL0bk roCyUWGDrwH708hXjWdwS0cNqCqsWaZf4k43+qdPA3qrQ9kdKDZTlDENDp4ORfiX r0Ae0fGMnCVx01qQfgyYY+M+X6CcnZuj2FtSaogz6k6ZDrkYC04XdywznP4eBWno kNSO/RGNAyIlsw3NwGu54NGzygaBQ+csFP+168tqFBrd4DNIVjsbY1i5Ag0EUkBY swEQANWnqU1AKouqng5u07xHJ+/wKJ45/M6swpKH6S6ksLIPitwawKx82CZkSO/2 IQN3l7002yD8uFZ8KxRp4+8LP5Eg//oHhdUmQGSwaOgovBqLF9iGPqRDsmQ+5oxD fHq0AC5KnlxntlxTgVL46xEySzNh95Fd5JfaxP+jmOsFGyj8lMuUizEh4hR196xt kPrQI8EW3WH3Or68kpYaIMbmrP6tix1G0dWEAfbcoWl+Hr0H/x/Qy+guqNtPmVYf RoA/R0hPBlsoZyaPA+fAyT8YZENOaCMCZumLLxeccBkoYnM0BPFUQFldGXjPPf3i UucDroPSZt5OAhQUd/n3vg+XswCoFz1OqEskiCJipbFIY0r2CGmnuStacnspwSWV Y3uvhvJaKd46VQyxgEx+txjK3sFt8cS1SeaO42j5TdGCQIUK1JNS3VoTrqxLNvnZ 2OREeYtdByWkzhz2wom4B7+SGhKYH9SCokKDAc+fdiG/3FoNPtmwsRJ37IVcJH4v wtdKnrkrbPvsu/B94GeGR2m6IWAeHewILu4jqQxq1R9c6HBd0jlz7/DasotiQRbe Q77i54UhxVZCodVYWD8ZKEIyUDu4hPY8jIbQuQNs3UW9OUdobQO5C65ldZldtPKF QwEEvJe6HpsaSPLrx0ebHOId5p+7Zvfnx+nV4VMbb9f8kkd/ABEBAAGJA0QEGAEK AA8FAlJAWLMCGwIFCQlmAYACKQkQUk8MN6C5RqPBXSAEGQEKAAYFAlJAWLMACgkQ uWzd6q+LXtDoHBAAv5tJzJxMlu96IGKqmvIWJMLN1a+mXSJ0dk2ujSqrsTBR+Bus 8mKaVImQ9rvGtCSuR6nAPTG67MefGfW3DSBIWXFzfO7JliY8f1zXyEeufbrSz2OX 4XnsNH2w04G9C6oPvKj2y3x2vRwwrQ7mmnJhRSPjKxGcbaO97jgM5E9J3HbDZKlV /n5qUrMRXf3PiXIOq4wYPPF9io5b/rSwvHl3meYhW13Ok0znqBSfgvd0qNODvpxi xGEJsvS4jHger329iLNJ1u8Oj/rsKrkr1yOUrmqo4J8rN6Wjed1c5LIwI+W6U5st 5bN09aeNngTA+Qz8FZWYMrtU8SuZVLOCdrQ0ttGcfFqiLoyNf7mQ3JXU9Cpr0+/z fVc4ypTUtKiRjeiOtIOraobVdYm09AuzdFBnWjFoCeIss7+BQm0aomiiLX9PHAwS NYggaUoCI7inLe000W97uFXJov5TruSOYMthj/CKKqZweGo3BK4hidcHSTeb3lOV vMlHSpHm/Jz6wB9nlNj2aOJVgp8z70n1umscJdNREFJ/va7lw0+WJJVgGslZI5Kl eqrNWd+1g+IHL+FYJJybYJSccqcK8Kf+kfkH1OT6rb0rAn69tiKprgsJyKO+ARNY MzQVM4Y9nNJyrgHLjFFAGohOcmrXC9grpeOQeOMA8NLr7SGnL2HAFlnXCtouJQgA gpaAyrIAxTGNCmyqqmWHUUPc2Nh5kZjFy4H8aRGZYYqJStUiW5TJLhsuTjkNf4IQ dgtmxf7YH7CFx8mUjI6zwJccFJF5rwDa89Bc1pAFEjmrL/tJl3fGLHSoeIZ3+wJS Q5lZiLOg1sfzDTEPXI2nmMZs/NvCfKaLlnmW0zGH0J10l9Fdl0PXjbf75N4jRTe0 fJ4lkEr3EV25haMf4bt6gWpNNsQRYWRv2QwqhGwotrp5Vz0UEtv34vbECpx6drYp zks4KpmBiyYiYGIjmF8FFaAX8Yq4Rs9mwFZdaaTcJV5g/Yn3vtnQmbC8Qc9dEJ+U ivdACFuqJntsMZ+2pkM1D7kCDQRSQFjyARAAq4/mvg2SSYQw2ifmjFkKfZt++HfK yqYcyCm3Rhi1OZ8PyWiJa6R/dKkiVv5q2PqeSYx9mtbjqZE2wCHOelJX7VhbqIX4 q9PYXZZ+CigqD1jfXzeNCf2ttUA/GB3Tjh/oXlNosQZ5Uer8NXbZy5HbJJ29Ryt/ V6oXpQNyz2zIM2UQ60m6hbIdM6Fs4ArRNO6mi9Apn98dRTPkukbaVuF5/ZMXunR/ RdO1c18Jk1y2rT+QKVqSaVNJWD+arK8WboEN/cbxO6nfdbqqKB+LZMwQCwf7pSO2 1NlCysUpcIFxSmlYqu7rAuZ04HDj/mqMl/C+QAlRNLLCupUcsihzcFdNSgFZCB/0 wVnYZsdFoKVcsByv4PVJ6ij8GTtlAAMYtNGn4yRD49L/oM/ctmYBBgjvwFN6YC71 UmY46TESpIR+AQ0DJv3uycFQbCUry2oo6GxA1wuETKsWrGHW+mwZ/MSYOGzZuoi2 Lv0sWosPyunytvUU62uEwh6BYNEYCig+PxXcJ88A4HbbX6za8+S8PwEXoVJSeSTQ ygMkdUxk74h73ydkYhbMcYZvIW6rnac7hwIOtL3dvzSNknvPeZgmp4PsLdzo1Ceq +PDz3RawJOn0Gc3sZo9SxhDUouTw7Z7sOdwaOTwUuFFYh1Ed0KxDeNuLCPDpHtl9 adwiYTEuc1teLycAEQEAAYkBJQQYAQoADwUCUkBY8gIbDAUJCWYBgAAKCRBSTww3 oLlGo6ZNCACnimiB8i4WIAYKPMGwxFvZg731BTma1w/tgW8v/j8hlb20Dc9oKubC f77GZkAaYAc3Qps/eF/VmNIN2l9rRrdxD66b4Cc+yJjyDaEJR9OAJNAv61tmKmBQ zW4JW9icf9QYDYiznMKknTsC61vkpJRzWwuineQR1dTGSoYs9N6uQcmgP8ssnCFx uRU1zj0CMSQh92ID/ImXpHDImDB8OVHEyQhKigvsqiqTE7L90JxC3dCLvAmTz6e6 hbjo7Nhh690/5aoY1hr2y/MbVtyZzUp/fWvQxZ1Su4uWgpwycp1/A3lg9ALGq09v /+XhO8B27uh3c0GjbAmnSA3E45l679xVuQINBFQl2H4BEAClE1tNZd7V5U435emE Dx0+6K4GQwcW1rjWNt83zMkN4ozMpbBx6Y4y7Wx09WCoowUb7MKSHUV3QDpA5bEX /CVHwflfPNgYbT8xfd00ZN6a8WODRFqXkY782A01nMNIa6St48OY55QZX/GyC4U4 9Tl8cuYgzZPxemXdRbqv5LkSLmqxNxdhb9iG3t0iKnNd4BOgzTqOtrPpFIH+dR1V BjwzljVNcJtKeNK1fevdSh6mKSDFaYiNE9B0Oi2GPZExz2j8V2YFtcjo9ioE6A6z kDowtpytaykK9RcLQOGS2Eb1fr7s2klv7ppEUlYjzOpX7/lhSiqt0pt/yCvYu9Wg IRTptZ+OQS7oR/ZFmwo3XFKTUlLWNYYVIsHLz8/i/f+RAlfVoWg1MkcpRUtg6/qy sDtmmjiZSXWZvIhbnmclE9G6XGxNw3hfZBUX9rDAbZwLrvL4UOiGeXwYE+7CuQpz GH6ogagXEAin2AXW57L8YlrsQfRI1OrDqjCXyD1c/i9U4LOSfiAL0DyrwqT51xFb ZpzGuM/8puUZR3VYUP+muaNDQbad2JcOrmAFDZF5egbBt7QViKpPhVhtISUT4Yoo sH4es5Tf5ed+yhM3PrUEkUTKxdIuR5sbwfK8tETNIwm2pn3tIEWPYBMPxJnUxSs/ c6U2wt8QupTZOg9n+co7vRoMMwARAQABiQNEBBgBCgAPBQJUJdh+AhsCBQkFo5qA AikJEFJPDDeguUajwV0gBBkBCgAGBQJUJdh+AAoJEAMUWKVHj+KTXY0P/RcsWDNY 93zBN2PWLjgoyMsm7f7frpTKC4DiWLsYln9CbtqsrTtaYI/xUtm7Lt+DNy3w01Pe X6wjBbhDBJCOE/X4dtPQh7x/wNxRWlpPZX2uo/4fWLZN0sqVDAgXvYKsEvqLHF5g um0viJCycmycD8GChQGyyUALAC6Y9E2Lp1DlkE/rKKll73X/YyoItALnPEKIIpf3 9WEP2fFzitEU+/XxKjaV5XZi248IzTDJ5/3OqHgzDqPBN/MfJLcgAad21RsbTC7u TXFUySO687ynCRJY5gD3D+69XHut1RrkmfEAnoolVktvHMZpF2//K4rPeM++Ta7h CE+mDhU+rX/93YiEvx+nKsV60zgLYq9UjPmtV/kG+AxBPQQgdObduvBBvzKnc6jY gW8u/O07K9MgKulLHwlKY+ZpXOnLtejRhqOeP9UW61jlEVyu40VU5hLmWXwIK0lV YuXDz2NPjqfpor1wtbEkPiDHnPJikPCiiREebuoCHfqGBfm7avpDwZ9JXlANrqzQ rabSexgVkO3sUshoz7kj6zRRIo4bZmBuHohnf0mP6wn0aA0VSS9fCOewf/5aIpnY 8IknzffCCYVtd0srCFU/nLZZss4fuFMpGpNIxge2fwz81MXqfOA9ivErKmZp8bvp EMG8wofWwuAs43Z/yaJJkv7m0bJVjNgu/lS1TDUIALgcuLZ2KpHmY7cS9POWZ/CI uMB1wctJjf3flaAs/7b6V93MEHyUJLyJp9DBA5sbmFXoqvV1DG0YTEfPCmBhRFrI viGO4QwwKQerc/23L7vVkV+FsxtJOIPX1erEcD+FR3TuCVeOECA611Ue1F8w4Wpm aMUSV1zmT9jRMuw+uHpgnTsKK8Lf71zxX5hUTKBnRjVH8VCpU8D9VrNiFVy5cw6+ CDJvr+iyA6cGVsHk8wGYbRmniOAMWkFwFNJbKYLUfYDOlSroprpjDdAvfz/GHfSp A6lYw9odtmBcPqGqfVu5u3H6KIgAX6/TvuKWURpB/G30t3xU0jM3F9hyiv22Dvi5 Ag0EVCXYnQEQAL5ocGPQDmqSbLf++INC52xvCvlHpYpsU3G6DiLHDn9Y77C8J+k9 ELkGtAGuWd6P1wGm3Eg5u5xZUiz467dRsnlH2UkP1oXtAESz/nSvHUyluSHjYZ9z gmZOWrF4z2MAJ0cXmXVubYlZhla7mSGgARdK/nLvbAwvFo0R8pNzvKvuLS4AkgH/ Pdh47wunB+1ipXYKfnBXdsz0PQxx87u+bwrjCrwR1NgmHg7RsQMmoAyh0f6ht1c8 mh+qf09enhGaoMG6tyiZs9gndy1n14NHTEQSUvdKXPw4IS+dZ67CSEp3qCXoOvyZ iW0s/E/m+nfDxZ1ZLZRtztPCTUIimMMMyo8kwhmWpoKDBam5dxYetNSLkG52BOuw l1ETwNlud6Fc9cYJcVJeaaxDCtWjm7BGYQ/izvXV4ishyxoq0PlI/7wyIT+4NOam NLURVWpfEldWaxpRJBXbNwKh1fp8jYRL88P+JQd2oskFDoSFfRBEQsG3GhrUMW/e TsybB8KkX/NrZ3U0vrIAng1bXwtlJ6L5nZtZdCubEizK5VUXkbve8Z2X6m88GxMQ g3iDr2O+xQUaZ8I+hDMRtiBcsfN9HuZ+crV2SpL+I+ccRU5w6r50ZPMaEE5AxTCK einiUv5Z9JFV+HVb41eF5qMbQo4/jscHm9GI3OmoK2hsC5nCo8hmJ22fABEBAAGJ ASUEGAEKAA8FAlQl2J0CGwwFCQWjmoAACgkQUk8MN6C5RqMa+wf/U2JfmZkVKGYh E5nYh21eUzaUiCLRPQjSla1VuMW1S7BprKH9mo/qXT7jS4WTlaajJBhlLDA27/aR FbAka0mfvjH/3SDeIeOMUoK4bCl+flJcocDSt/EG7/4iY0wqTOl30kRxdd1QY6Cw Ulb9P29ezMGQdzGoMJQ9mflYicQuvezaFxU3qm1aUU9J5A04ITZIgeOBEYPI6/aj px/jtq0R1b+xPQhhrPkzyb0QcmA5uYoYp9F9UXeNuzmokNft7WqMBc0WgEygaX6M EQGegLi0GNkd8BpPaOl/FfSnww2ew+1qjuRf3oOb1fD2IExLBMU5aUHKIw3WBlF7 2+FxzJDbwQ== =V6gP -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<jbeich@FreeBSD.org>
pub 2048R/E4C77883479DBDDB 2015-01-05 [expires: 2018-01-04] Key fingerprint = DB44 3674 C7D2 3578 6E14 92CE E4C7 7883 479D BDDB uid Jan Beich <jbeich@FreeBSD.org> uid Jan Beich <jbeich@vfemail.net> sub 2048R/4E6607EF660A8DEC 2015-01-05 [expires: 2018-01-04]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 +sPbN9Zk45M= =ATbW -----END PGP PUBLIC KEY BLOCK-----
<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----- mQENBE2QwLUBCADc/D9RfANjFOApCDIAcYU4QeKmbk+kMvSHrKgesr1OFuIMdQRE n6O8VncPlxRvElWRgLCwOOm6wW5KQDqAJ5poLzNh3GQ/DljGvZr+VmbK8BRVM/ik oFmzv/7ebDY8e72Hne7klT9K6TIIeP35BNL18ft0xmhrIlVQHWr4jXz0pl9gzIwp qnkuwdd8X6I/jsvPCEiXhqB0px/LEFgtJ9OR0k3MW48AAmVir/aWAQJ3/vysNLXj T8jJSm9QDZTuyFCHmT45TYhx6oanFexpvGXtYr62cBAk3rlMiUcY5Mp938RQzjXY dB7dVHoTtDSb3eJRL5ZZpXROiVnulcRv1ZdHABEBAAG0IEFydGVtIEJlbGV2aWNo IDxhcnRAZnJlZWJzZC5vcmc+iQE4BBMBAgAiBQJNkic1AhsDBgsJCAcDAgYVCAIJ CgsEFgIDAQIeAQIXgAAKCRCL3xAcntTINk42B/97vlVDERJfPNRg5kUFqW+R7VHN q1atqa6xY6r4NZzjmtkeyDVItzwSOohA0H1N9NsgNaJStcuruiqyfekohnZ3xHKi PMOwfebH1zX69K+J7M8GAtrT0APifScd+pU17kphhqjLoCoH0BY3AM8HR//AJkKb U68GZF1fA8LWdRlfx7xZSalPyQXMibXtfmb7t/AqoNgQYs2nXUhs2ENZtZHDAVlb 2/LkDJ6OezOW7/Q4KZyeYcgzXYGchkXGhCV+8fiP5JZMaXZocJ8saO1R7pxR/fEu Lc9oQUCPzx7m0bI/mgmO3aKOREXrQTRX5ZwfAuLubEHougfIMfzIfAq/Iiy1tCFB cnRlbSBCZWxldmljaCA8YXJ0ZW1iQGdtYWlsLmNvbT6JATsEEwECACUCGwMGCwkI BwMCBhUIAgkKCwQWAgMBAh4BAheABQJNk67XAhkBAAoJEIvfEBye1Mg26o0H/0f2 oHP7o9zgcetork2zFEAlQyDYHW3X3IXXMrTk7xWsHJuu6hyVeeDuVFzp8TkrNOVq P9+hZqzy9g40iFXzQkFWo0X576XokQXk7rAqYCr0OBUDZ0uDrltMI1VoEtODCcdc bJMd46zchrhq0vl28FmwAXX0F8zH/9I5fWH/KWfUlQNGs8NklCP2HueFogrGeSNE lHVGmIJPqa90WXWmDZOBADeMBiWqLzgWR/0Vt48B7PJ1vwrJCyedbTGlwdbRaXGn g+Gyx0933AgPWiqobSvXOddqXVXj95YSqEVUlh3BQlj3ZbOxbkleyhf52mi3T/jp AIztYwhSi6iUHj/QRGiJARwEEAECAAYFAk2Q2MEACgkQ/95rP8ShvBXBLwf/UIB1 ITOTfkmDamaR5w3FEKjQU6xN+LBy3+EBwcRiF5ydYLSdPmp5WpVc7EevkT+9Z4CL zzUQtx+Eyeql1W1PuK3SRAY98cmtNTE9A4KZyeCRgdoUiYqZl0bIzNKpAbNEFdKR CGOqt2/VpvFwePuVM65r06yL5qpL1im7Qlb3FUw40haczggd3nGSfq3kVj1Tmii/ qDsT2ozkgIqbP6ubFXrLrElr8f77cd0F6nSnfjJdidju1WUsRPdNOhaJs6b3xIla BITUdDmfW30VJ62iRNhejbYI4S3zBNQt6yeGQhD2rLECD6ApjYjHEkMgBelnnkt7 u1mlLz1lrGvk1dLnIIhGBBARAgAGBQJNkUtVAAoJEAsVQr2N9aGwA3wAnA2nWLTn E3JUtZuYrJ7NC5CHeV4mAJ0RVXXg9vDYFcqBmQnBNHWcmyAXaIhGBBARAgAGBQJN ke2gAAoJEG/I2r1/mpuimZcAn03PXI364s2DGDD50ClvVWyGaVWPAJ4lXabM9YA5 1JKgYqXLUPCcuo+pyoikBBABAQAOBQJNkeaMBwZhcnRlbQAACgkQZWCprDT5+dW0 DAP7BCGFNwYNpunxjM41mk4LRgHUAmeml2n2iVM1rCx6E+ph3SoFORJBJVLVaExp GEgiXA64K70M14aaN2BVKMjxmWyRGcjbXuslWNzWi2xLFX9+g/hj42CjW7+0mFZe /kXb/5Hnj9KnKGjaUKtyz65mIH6OVBPjdw2tJwCB8kQsr1uIRgQQEQIABgUCTZER lwAKCRBO0l+IUo9QMPMrAKCo5kaHkO+E0gxZbjMA+3yHdMvTfQCcCH6ssxbaAdXS lL5ASz/aIhXEZbmJATgEEwECACIFAk2QwLUCGwMGCwkIBwMCBhUIAgkKCwQWAgMB Ah4BAheAAAoJEIvfEBye1Mg2fu0H/3dwETQ93nmEorD13/Elyp8SNPiHCoLyQ1uF GMQyLkZpqazvzE5WKdrwdoWLHkqMKevm8XBqtt9F94Trce7iT249tYFyMQb2+Irl Xha6DVFYE9y0p8vfc1nHQnn3xyHrYA1jFRN9Rt+ha3YKtALq7iSKleovJLwvCHqF 8z1IPUU3+8IOw/2KzFMGb2I+vs4HbYr+Ed0UfZVlONkMHyHfZPN18jUZbUqNC6GU 5TXiVmy0t6WTsth6UQY8d4EpIP+4griCAevy8Hqq0GnBUz7eyHoHJ3/U/H9+1NgV rIFHh+6UKHkWkmVM2wTM+J2E/bB27bNmt8noNaxHDip2MEzZZGe5AQ0ETZDAtQEI AML9itZRzpVYiQDfGcj0/YgJP/y2jEDGNnuN7Of9sVhhzxMvEXzlSd631b656kdT WcmbBim6eDtjRlbKJIAIbDyMXekTl0LLwWL0yfzaRIXwFxoD2CL/BbmWvwaJeckW VsIrFIXK3bLWulCfA83foS76azHVSOOp9EZQg/cJOaCOt1zyvS8rS8Qx0QBp+vSb ZHA1lDI2WYNoAm2e9lb3wta44es9VaCBWobWMRgHxIWrkjmZs9e4ejXKO59YEkng S53AylrZVYlyrKbeskqmxn7z9y6ciniFD5af5cEcGfuC9BH6i4Jwma+3ZWgGDZI4 lOgzLWd4TS1ZD+jAeZkpwZkAEQEAAYkBHwQYAQIACQUCTZDAtQIbDAAKCRCL3xAc ntTINmuwCAC41x0gd7aeTRbtlNhYyuGmHo/yHMqHdjmiXTtsBCrsipSAQZQiNiUO XupVArSGB7MIaatCtqviOAyQ42172onOzcfB/iQRj0bknjNbItJMqtOFz0u79vN9 JmWxYcFr5Mf1l/pupFcgNM0zt1KQkeOGm5Y3WJkq3CkAqIsd/MDbUU91Y6kzj3ZJ g6uoPYYKThH6KX3Y3undXTv1jlmPdbMHUYFg1GzvY2ujQJeQisMDfxWV2COYSF+Z fa8kp8xfSMnCWJCnbnmDdRe1W3zQ2uDKvoLBQNoF9lLrYAEzu3M5wKS1+W1Om00P yCBkjpo4Ly8FcmqW800W8yVAArhNUCID =IDLa -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<tdb@FreeBSD.org>
pub rsa4096/6C226B37FDF38D55 2013-08-07 [expires: 2018-08-20] 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 rsa4096/4F748D5A25CEA948 2013-08-07 [expires: 2018-08-20]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =uRDQ -----END PGP PUBLIC KEY BLOCK-----
<gblach@FreeBSD.org>
pub rsa2048/522D783808809986 2015-10-11 [expires: 2018-10-10] Key fingerprint = 3177 46ED D8A4 1544 E2E2 4420 522D 7838 0880 9986 uid Grzegorz Blach <gblach@FreeBSD.org> uid Grzegorz Blach <grzegorz@blach.pl> sub rsa2048/248FCA5269C6306A 2015-10-11 [expires: 2018-10-10]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 Bo7O/fYraqPSCnq+lBF9GtU= =zlXM -----END PGP PUBLIC KEY BLOCK-----
<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-----
<wblock@FreeBSD.org>
pub 2048R/BB37E0C846CB85CF 2014-03-13 [expires: 2017-03-12] Key fingerprint = EC53 662F FEFE D6F4 2DBA B483 BB37 E0C8 46CB 85CF uid Warren Block <wblock@FreeBSD.org> uid Warren Block <wblock@wonkity.com> sub 2048R/D79E292E145902B5 2014-03-13 [expires: 2017-03-12]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 rAAsFRWSLWqrOTOiplU= =U5nQ -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<sbruno@FreeBSD.org>
pub 2048R/1201EFCA1E727E64 2014-05-06 [expires: 2017-05-05] Key fingerprint = BAAD 4632 E712 1DE8 D209 97DD 1201 EFCA 1E72 7E64 uid Sean Bruno (FreeBSD Committer and Clusteradm) <sbruno@freebsd.org> sub 2048R/E1703D6B0E4E4A20 2014-05-06 [expires: 2017-05-05]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFNpA4oBCADVZ7/E6I/YrONIHCkfBaueUwhBEE/flsksQq2w6FsOWyLnpzJO sYZ5QMSv0Uyz+KowihvFi4c+aOvGUtjyx/jXcwtBsuzGaFFk9qCZzVrPk6uwzr2n BcXA5dy/mc2wj+A2KydyI6pnwRVefPNcMbX1U2aVEtNmiC5Wze17ulJ2Lf7pChRm mvYVEQvkkmW7bF5IxwhaLLNkrBRyYAbEMPw5o/2JBtZtl7ke0dbqN1LjzXrEadpZ JZSNFqn0AZCYF6tOpLSnebXyE8fh58AMGH0/ZOCZ9PX+1VhS4U0MNgjCogmmAkR9 VDbUs8kKfLXWpQfEa2Ym/OuDNaQs9iB4aYtlABEBAAG0QlNlYW4gQnJ1bm8gKEZy ZWVCU0QgQ29tbWl0dGVyIGFuZCBDbHVzdGVyYWRtKSA8c2JydW5vQGZyZWVic2Qu b3JnPokBPQQTAQoAJwUCU2kDigIbAwUJBaOagAULCQgHAwUVCgkICwUWAwIBAAIe AQIXgAAKCRASAe/KHnJ+ZOnVB/sETsbPbulAwH6i6nQIxaDmR/2IZmXws1iwB/AT lxu90fk72oKfAmQbXtTGNGeY5AxTIpDicibQFawP5oozGXBjNerSy+VnOWGRd32z xk/2w+ElJABMTqxFnTn4HaQw21kvLc4XQJz/EkrkWu60YzSvH5VPGbdxl2yZvYDK Y41w3T7jdLib/aAsnAa5AeXcoUHl8+YnpeVK8rOC6EPeV9GvLTjtyvbW8mLsOcig THaYZVmqnOhPCGBfFvEcRZT9hKJl8322cOcSJRePCGrXXwZxjbcodTTqzT5uKSi4 u/rLa/V1RjTMP1V0z9UWV3L4NJ01U+f6X9o2pzWU4c3b1eNsuQENBFNpA4oBCADJ 1psonOItZrh2jAuBur468td50VHJWX/Sd2bP3A1WokjY2PZ4U54fL0+Zk068Dw0R dEz/ZGrQFbQhLTHWYrus8EwdhYVrnKM2FB77sUZVzGEzjhmkVrIaOBUXVgc2xjEA REjorGFc7rOSo2nV8RPAhwCsmcaeAbsbukmW7qXKzAy4tHt8GvdOo5nN6vBdVRcS s3uJjxVYH2Jlos/J93cVFlpXC040SNv7F3o2VcWIkKf19HYwBed+ONNPocW87XIJ V/K7k2hq+Lzdv1yaPU2FXSsjg4fd95mdGkpQOXKyTAkPwvgfkojRUiJk3Nwm3W+3 K5JXz9Np9NS0QMckS4gjABEBAAGJASUEGAEKAA8FAlNpA4oCGwwFCQWjmoAACgkQ EgHvyh5yfmQw3QgAhzaDcBb/zJSYj3J7OSVMH5uYnV4zgTGDolgrsGh7b6RcOhYm oYQX43tcVbHAgXuptcrGavcueMpOoP2mkyoeSI2YmQ2OA07A+NZX0MBZqXPfwDwe bZ48XBuaD/Nu1DnIuK2c24b1gWnOBfIJhaX6TvEKfMqhzAokt3aax9CO/4IXeieN kfmmXcifexZq4Yo0bhWo+AI4Zl+8iCVb0nWrtTDc4AJGaLnpGYxd1S7rWyZUA1K7 qlpBhSO14iAzr2usOulhHZVv6VLVy8Bd+DIWwL5s/5S/YEbvgU2+teKmmLrQ1m4E tX+0x0UuyEFdP8n2WX1uuFgODD8zcoSPLcSE6w== =QZsD -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<adrian@FreeBSD.org>
pub rsa2048/7CA5E05D69F3D0F3 2015-04-25 [expires: 2018-04-24] Key fingerprint = B4E0 4958 1F1C 5DA4 1634 BA5B 7CA5 E05D 69F3 D0F3 uid Adrian Chadd <adrian@freebsd.org> sub rsa2048/2C3793946FA31D6C 2015-04-25 [expires: 2018-04-24]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFU63IYBCADyY7txJ6kTExpEfgc9g9VehBaNLojp0VlAyrM6Sx62j0agMMJA T0LgvPi7dXWh4gUk8AYMzMCus0LAfL/X4/oe9/0APfsjTgHsiaQ0xsQHNuVsVieb IyrdTtl3ZJjrxj8nss7L7EcS+aZq834eCHba+uyOU16RnAWjxHpQUONIyNHK8Qxm yUMW67g4DVfRWOvpdBJ2HfPEof/sZxSJyeH9wxdZEiJMqq8wBQNOjmL4t+qsWKEa gTw8GBJ1OZD/B/zZyUapSFCxxUOtO4Rk52Tyyhaw6AdgYvO4dzhTMpzAlOgY3PQZ r5ynfMgRWeUH3jNw7GwbByHoLXvHElCuwLodABEBAAG0IUFkcmlhbiBDaGFkZCA8 YWRyaWFuQGZyZWVic2Qub3JnPokBPQQTAQgAJwUCVTrchgIbAwUJBaOagAULCQgH AgYVCAkKCwIEFgIDAQIeAQIXgAAKCRB8peBdafPQ823mB/0eIiyy7hen5oHZpvOE lA6OES3oOWu5mi5A2ocNsFenSKi4mqpk6PHBD8+1YXIX2sFqxU6DEY75DX9bDHHq A/4fV2jzxK3qZWiVLkuJei6+9xKboYOW/vT0oIAMR+EPP+6wsBjc7rn3q0eI+lrc kLJOUIhrOHLXCEsWrrsuQ+RylqV3RI4tvhi4OY1WfhckzX+tG0Zn7hAfVrWDslyq xuhib4Jv1M24lisXosbvWa2Ld0j6Juj2Mp762gyk255GBrI/KrEUiBTi21x3FVj8 7IojmZ74StZEAL/ylqYIluKUBl/RY5veAVX59YZTfbZKIhM+MkKFtnW+Eve1Az2W ZbY6uQENBFU63IYBCADGNTRHMCKLGaT9Q05Yp6ScoPXaehbHzFYMYM5nW06j9hti jTaiEOw4yAFfca+6447WCyyIAjXaIxSgh5e10rCD1pUTvTsm1pNWIXjoJoXPnvit 9o0ooYmaVGePAGvmkP0ysdprIaP2PwyASlab82NFsahhYMsYOkgZMN6O30eSjii7 oFPANH4PTq1hWxM0pkQh5pdb2FzRPf12z3zwt62TfHTXOHs6Q8VttnUaqPaQ5rFG 4jnrj5oQh+35VLyFBRozAbI21lIlKdCqn1/TOgQCBBO12IBN+DX05WbpJErAZXbt lQJVcsv1L9RND/lVbEx/C9N75EGNvBWjgT6mnUOZABEBAAGJASUEGAEIAA8FAlU6 3IYCGwwFCQWjmoAACgkQfKXgXWnz0PPt1Af/Wf09pFPColQp+BBnbD2OMJEAIs7z 1MBBDPZbJk/O1ewB3j5lYmLcmfm7Wfw3btEzfhan/I+7Kfjhz8W043DXSd/0JTPn YfDgG3Kq4ZVzVt3VT+ckKkY7WEyA+2g6cB5x43yCnN4EVbDhVdNzx1ycQvEL0EbP Yc0vo9Avh5c44ntvjbRej9682IYI55weLRNTNECaJtuXz9OFScyT1yPnN3Y1Pq0J nkpVAqeaTMdNn3sRLu/76FirFKxje9oLnuxwZ/Al0tFvb6R0Z9Ze/CUpEeEYu+Ii Hloy1LJ28v86sFeuvsoHuoX435WwUJNuEhofd6GGmIKDmIfEIPDRY9ryGQ== =rZpW -----END PGP PUBLIC KEY BLOCK-----
<jch@FreeBSD.org>
pub 2048R/A56543925EE9D871 2014-09-16 [expires: 2017-02-07] Key fingerprint = 4021 6646 A364 3729 C754 1058 A565 4392 5EE9 D871 uid Julien Charbon <jch@freebsd.org> uid Julien Charbon <julien@jch.io> sub 2048R/957EE70462461D7D 2014-09-16 [expires: 2017-02-07]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 cVQo3JERh55WCqr5xQ== =lPHq -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<acm@FreeBSD.org>
pub rsa4096/82E1399C11E68208 2015-06-17 [caduca: 2018-06-16] Huella de clave = 9485 3AA6 4C32 6543 2C83 8201 82E1 399C 11E6 8208 uid Alonso Cardenas Marquez <acm@FreeBSD.org> sub rsa4096/8DAA3CCE41FD26B2 2015-06-17 [caduca: 2018-06-16]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 HEvJXW3dFBz/0Anl78RlsLBqhA== =tXGj -----END PGP PUBLIC KEY BLOCK-----
<gahr@FreeBSD.org>
pub rsa4096/ADD0D38EA192089E 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> sub rsa4096/3AC8004B408BA46A 2013-09-23 [expires: 2018-09-22]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 ZBhtLKoIuuk2E07QKI/08R+eew== =GZRb -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<jonathan@FreeBSD.org>
pub 2048R/B11B38049C0EE010 2014-03-07 [expires: 2024-03-04] Key fingerprint = 563B 20C1 BFBF F638 610F C584 B11B 3804 9C0E E010 uid Jonathan Anderson <jonathan.anderson@ieee.org> uid Jonathan Anderson (MUN) <jonathan.anderson@mun.ca> uid Jonathan Anderson (Cambridge) <jonathan.anderson@cl.cam.ac.uk> uid Jonathan Anderson (FreeBSD) <jonathan@FreeBSD.org> sub 2048R/8ADEF87F2E0832D2 2014-03-07 [expires: 2024-03-04] sub 2048R/2743CDB8EC6BB1E5 2014-03-07 [expires: 2019-03-06] sub 4096R/3BACB816937C55DC 2016-01-04 [expires: 2017-01-03]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 HUx9OWn1dhjh9Kp/N8RF35R/tsBz =RzDV -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<ache@FreeBSD.org>
pub 2048R/A51C92FD0C8DF6CA 2014-08-09 Key fingerprint = 36A5 CEDA 5878 AAC1 4888 79FA A51C 92FD 0C8D F6CA uid Andrey Chernov <ache@FreeBSD.org> sub 2048R/85902C6618402312 2014-08-09 Key fingerprint = C8F1 E3F5 999F E916 FD0E AAE3 8590 2C66 1840 2312
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFPl51gBCADY3BchNhcyb2SO4GtP10L9jusHZNGTKKq9vk+/Crgmp8y9KdGx nYa3RGXj3UoxTuOLgLyZbDwx5VykTYeds6HWJLKwv7ltw+lWKimm/OhJPJbr8yBP gPiyQeGwod9dl/uQJ9y9aXOo3EvmxCEC52h+2Ae77eqL56mMWornBObtlEEp6xq1 cWctXMubXEFx24/6Cm/pNL9hiFWYIAp77j4leL7ehEjjRpaiqwUuHCgCmlerdzKj u0RiJpjO0Gjr1b/PwHJbFz+b39rk4rW1IiJFI8jkZ9zcU+2BJO36MUAnDOZ3VGgj TDfz+SqoX8hbiyc9mUVgCdLNOuz3fRwwFUyxABEBAAG0IUFuZHJleSBDaGVybm92 IDxhY2hlQEZyZWVCU0Qub3JnPokBOAQTAQIAIgUCU+XnWAIbAwYLCQgHCgMFFQgJ CgsFFgMCAQACHgECF4AACgkQpRyS/QyN9spfowgAptreLa67a+6hzBsk3PtlDqqg dczdvKsRSvkveHU3IwjpoVR4ai5NbKnJAF+DKbE9KvyALtwgm+RLN8S619mLOV5W WFeiF1MVB3A7bDVXC+nrdl7v32ilmrNCxPQp7MSR69cpK/mJHqN6kNFajulsj1Se RaTQvhIXmPiROoG3IJcXYQZMrL8Xbuq+LTRMciLKsJrLT/ZDkOLpG9YlbWbttcsA 8H+YL0VVToC4TO8IRQxrfzmIuhV65oUrrrzXzueGA3B/dJJnLzTkvngliQfBaFXX 5W0a3zyz+ijDLrklT8gpnKpyxK55O1wqCpdZYbDl6WF10d69ITHv6oOYnktNULkB DQRT5edYAQgApWoADRvvaNuaOFjFIFMujG/jj9YHYpwYMgil7yinIvT6o596DciH SA+9ILbxXMFzmbq8W0Qp6+Tfp//fzxa416nELvC+CCLgmeAQQlVz15TinQD0mEQl sWaekLfcv4X5Tdi4KN/VUKzSiCwdGXP/4j7H1Owm2S2MPlh/QVk0t1bKn7spt7NF wCIhyryJ5fuzZo9xYEhtG+ZWf/VyLXk9EpHzhuI3WZOCNYz4LahXlPnd3L1Akhvc 9se7Hv8FyTL9dVQVnTTQxmb/2MQvhIzFKkm8GFxq5Un699wVaN0mP1AwBc1q0uJP 0rRMe9Whn6LxejR4hJHZs1ruDH0aCP5iCwARAQABiQEfBBgBAgAJBQJT5edYAhsM AAoJEKUckv0MjfbKMI8H/Rb4Q9t8iYgnZK1GuxQAgxphXRr0e+29V4EnUt192FcW xVXoL5XvAs9OXiufekXp7U0VOJMHFXF3eQ/fc23DJzfeVHm56OLMVWw8i9mroS4m 2XMGNxRzIzqmIA8I/tUYCw+W7UoxxOJ5qAsa8UytgzxL398ZW6HE5HndeUIzTgun rziOnt/NhytWS0Vz20kfpffSiCLcHxfd7/iB6aJFpFWmhihPeuE58eBeMWdMBbqW E62A8/BcFz3rbgpDemrLArkBRXLPcYGotij2tAFTnuHqRmUCQUD3Z3JyvhkbIF+Y vqE1/uofctf2A56MqSh+tHoxZYmevHj918TodG1hRx4= =Je5k -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<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-----
<milki@FreeBSD.org>
pub 4096R/1DAACB3510D2041A 2013-12-16 Key fingerprint = 9F11 FB1D 917F CD6A 479D EA46 1DAA CB35 10D2 041A uid Jonathan Chu (ports) <milki@FreeBSD.org> sub 4096R/02DDC04CA046B32A 2013-12-16
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 RT0q5IbKAw== =F12v -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<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-----
<ngie@FreeBSD.org>
pub 4096R/F583A92669308615 2016-05-21 [expires: 2019-05-21] Key fingerprint = E5B9 3715 A19C 639A EFAA 66FB F583 A926 6930 8615 uid Ngie Cooper <yaneurabeya@gmail.com> uid [jpeg image of size 11571] sub 4096R/6D072D4A13D70405 2016-05-21 [expires: 2020-05-21]
-----BEGIN PGP PUBLIC KEY BLOCK----- Comment: GPGTools - https://gpgtools.org mQINBFdA8oABEADX4JVWk0jlVu2Ljm7dWEQHOkd2J+bzHMNwiegmMWiz+sq6QRvC KS/50/XkFtZvdj/V+4Uz+AbPZkqCnKBj7PZ/cpnhasp0FraxBF+z7gsnWn5KuozE o9TwI20kDlMltwC0FIRTSE3NqYr95ZXq6i0Cs4nBR52kzEy6cAHs5fWRjWHp30YB EmucB017b9bROtmdNmbAt1XKE6JsJ8H50Zguxos1IJ9AMnJf/8t10gaE+0byr8rr nJJ9qvz9VvYLnzXO6N0Xpnbg4nryDYk6GFnYvuOdhUHW9PtCKCIl2+vJoci/d5eb 6ihB0kukaQqhLelhS6D6aRFNY9VdeqMoZsKkyagqQw6Yer56QU+HyiKaUaGix4bj 5bnpZZ232nu2jNPnTsdXV/ozXlrhinQqQq9T/VNQmm0SW48iDVnT+2CLdnMJSqKl EZ57+cvctV1W4l/QU4ZI4MFD/EceGznL41ycA/prbW9Mi95hTtj27ZarT/n/7jWv 08/jdboidu4mS6UH4ZeoN+FD9/tjuxUiwFS4wCWgu59Vcaru6Y3sgEj4yFO/57kR QhlA8u9r0atSn/o+Bi2OtuhsZktoc3+sBbLRb2cQ3oQbRRLIjy6mJ1be9JHbpA8B C6KJxc8HDaA+jH4VQS0T83ef1wk6vYyFajE3tfE0L+juCDl8j758jUa9oQARAQAB tCNOZ2llIENvb3BlciA8eWFuZXVyYWJleWFAZ21haWwuY29tPokCPQQTAQoAJwIb AwULCQgHAwUVCgkICwUWAgMBAAIeAQIXgAUCV0DzJQUJBaObJQAKCRD1g6kmaTCG Ff35D/sH2IUGaFdOaN+hE8m7alm/wPAQuuOqOhRFjTMTOMoKyDuGn+k2A98HiXuF NtLJGFGToFVeD8GMXjKQq97iFZyS7k/HT9LU/CJm0V6QlT8sSR0zRTdeQGvw8ZpC yueTqR+TvxrzLt0Yd5KYGFQhUHUeChK85S314H/reKHtXt4Jfx9CG5tY3TyUzhbR RL2PSOHOR2PKPy/o9wRcT1jaErcWVtFM5PCPz5N/9BcARILn6PFYfZx5IGerHHxq Tk8jKmMEA1YlwwRgqBw76CRNuknsaVnE7pwxjvqiK6LoJ9o3FTawjEOePkSq7JNU HfVJXmvqDFlSmCeAjAPGELXXnIisceAzO6fJkN5ira7uBW+WoZ3BiejM1Z1NlhHR i9mco8Uu54cBpFNQLls3CbmhE/bFhp9EB2DSQaw8QR7drHaOtd8JkUEcGr+O75LR +j7GO+8pJfXkk2v9a5KQWYWqFDYww99ZSGiudJwbP53rk5CL6Gep95+iNo/R3but HJX8ucuFzVYKSi+7C87JKQu+5TluqefVB/RPrDEfWRwS2WggcwxiGzRNNIX4x4kC jROKxr0bKD4YG/kA9BgsKK5YLgemvy+QHzqeHoc2cKryd/2SCjLYk74eizrYtWu1 2/gSnkn0nppgDJm5AK5NZkfCIcV6KdLTgWgDijkSbcJp2CKFr9H/AAAtSf8AAC1E ARAAAQEAAAAAAAAAAAAAAAD/2P/gABBKRklGAAEBAABIAEgAAP/hAIBFeGlmAABN TQAqAAAACAAFARIAAwAAAAEAAQAAARoABQAAAAEAAABKARsABQAAAAEAAABSASgA AwAAAAEAAgAAh2kABAAAAAEAAABaAAAAAAAAAEgAAAABAAAASAAAAAEAAqACAAQA AAABAAAAgqADAAQAAAABAAAApgAAAAD/4QoJaHR0cDovL25zLmFkb2JlLmNvbS94 YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJl U3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEv IiB4OnhtcHRrPSJYTVAgQ29yZSA1LjQuMCI+IDxyZGY6UkRGIHhtbG5zOnJkZj0i aHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxy ZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnBob3Rvc2hvcD0iaHR0 cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgcGhvdG9zaG9wOlRyYW5z bWlzc2lvblJlZmVyZW5jZT0iUW01bURGaTNlY1ZyU0V4RHl5RkEiIHBob3Rvc2hv cDpJbnN0cnVjdGlvbnM9IkZCTUQwMTAwMGE5YTBkMDAwMGQ1NDEwMDAwZjg3OTAw MDBmODdjMDAwMDg3N2UwMDAwOGQ5YTAwMDAxY2Y2MDAwMDY3MDQwMTAwNWMwYjAx MDA5YTEwMDEwMDIyZDMwMTAwIi8+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD94cGFja2V0IGVuZD0idyI/ PgD/7QDIUGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAAI8cAVoAAxslRxwCAAACAAIc AmcAFFFtNW1ERmkzZWNWclNFeER5eUZBHAIoAGJGQk1EMDEwMDBhOWEwZDAwMDBk NTQxMDAwMGY4NzkwMDAwZjg3YzAwMDA4NzdlMDAwMDhkOWEwMDAwMWNmNjAwMDA2 NzA0MDEwMDVjMGIwMTAwOWExMDAxMDAyMmQzMDEwMAA4QklNBCUAAAAAABCdRJh0 Xu74lUtdRiZv7ZHg/+IL+ElDQ19QUk9GSUxFAAEBAAAL6AAAAAACAAAAbW50clJH QiBYWVogB9kAAwAbABUAJAAfYWNzcAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAA AAAAAPbWAAEAAAAA0y0AAAAAKfg93q/yVa54QvrkyoM5DQAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAQZGVzYwAAAUQAAAB5YlhZWgAAAcAAAAAUYlRSQwAA AdQAAAgMZG1kZAAACeAAAACIZ1hZWgAACmgAAAAUZ1RSQwAAAdQAAAgMbHVtaQAA CnwAAAAUbWVhcwAACpAAAAAkYmtwdAAACrQAAAAUclhZWgAACsgAAAAUclRSQwAA AdQAAAgMdGVjaAAACtwAAAAMdnVlZAAACugAAACHd3RwdAAAC3AAAAAUY3BydAAA C4QAAAA3Y2hhZAAAC7wAAAAsZGVzYwAAAAAAAAAfc1JHQiBJRUM2MTk2Ni0yLTEg YmxhY2sgc2NhbGVkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZ WiAAAAAAAAAkoAAAD4QAALbPY3VydgAAAAAAAAQAAAAABQAKAA8AFAAZAB4AIwAo AC0AMgA3ADsAQABFAEoATwBUAFkAXgBjAGgAbQByAHcAfACBAIYAiwCQAJUAmgCf AKQAqQCuALIAtwC8AMEAxgDLANAA1QDbAOAA5QDrAPAA9gD7AQEBBwENARMBGQEf ASUBKwEyATgBPgFFAUwBUgFZAWABZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJ AdEB2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQCXQJnAnECegKEAo4CmAKi AqwCtgLBAssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOKA5YDogOu A7oDxwPTA+AD7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTw BP4FDQUcBSsFOgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZq BnsGjAadBq8GwAbRBuMG9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgf CDIIRghaCG4IggiWCKoIvgjSCOcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woR CicKPQpUCmoKgQqYCq4KxQrcCvMLCwsiCzkLUQtpC4ALmAuwC8gL4Qv5DBIMKgxD DFwMdQyODKcMwAzZDPMNDQ0mDUANWg10DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62 DtIO7g8JDyUPQQ9eD3oPlg+zD88P7BAJECYQQxBhEH4QmxC5ENcQ9RETETERTxFt EYwRqhHJEegSBxImEkUSZBKEEqMSwxLjEwMTIxNDE2MTgxOkE8UT5RQGFCcUSRRq FIsUrRTOFPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZsFo8WshbWFvoXHRdBF2UXiReu F9IX9xgbGEAYZRiKGK8Y1Rj6GSAZRRlrGZEZtxndGgQaKhpRGncanhrFGuwbFBs7 G2MbihuyG9ocAhwqHFIcexyjHMwc9R0eHUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8T Hz4faR+UH78f6iAVIEEgbCCYIMQg8CEcIUghdSGhIc4h+yInIlUigiKvIt0jCiM4 I2YjlCPCI/AkHyRNJHwkqyTaJQklOCVoJZclxyX3JicmVyaHJrcm6CcYJ0kneier J9woDSg/KHEooijUKQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvRLAUsOSxu LKIs1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDbMRIxSjGC Mbox8jIqMmMymzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbp NyQ3YDecN9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7qjvoPCc8ZTyk POM9Ij1hPaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBCckK1 QvdDOkN9Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI10kd SWNJqUnwSjdKfUrESwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0/d UCdQcVC7UQZRUFGbUeZSMVJ8UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3 V0RXklfgWC9YfVjLWRpZaVm4WgdaVlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5s Xr1fD19hX7NgBWBXYKpg/GFPYaJh9WJJYpxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9 ZpJm6Gc9Z5Nn6Wg/aJZo7GlDaZpp8WpIap9q92tPa6dr/2xXbK9tCG1gbbluEm5r bsRvHm94b9FwK3CGcOBxOnGVcfByS3KmcwFzXXO4dBR0cHTMdSh1hXXhdj52m3b4 d1Z3s3gReG54zHkqeYl553pGeqV7BHtje8J8IXyBfOF9QX2hfgF+Yn7CfyN/hH/l gEeAqIEKgWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokz iZmJ/opkisqLMIuWi/yMY4zKjTGNmI3/jmaOzo82j56QBpBukNaRP5GokhGSepLj k02TtpQglIqU9JVflcmWNJaflwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuvnByciZz3 nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqImopajBqN2o+akVqTHpTilqaYapoum/adu p+CoUqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4trqGvFq+LsACwdbDqsWCx1rJL ssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1uy67p7whvJu9Fb2P vgq+hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/yD3IvMk6 ybnKOMq3yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHTRNPG1EnUy9VO 1dHWVdbY11zX4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3hROHM 4lPi2+Nj4+vkc+T85YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vshu0R7ZzuKO60 70DvzPBY8OXxcvH/8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5x/pX+uf7d/wH /Jj9Kf26/kv+3P9t//9kZXNjAAAAAAAAAC5JRUMgNjE5NjYtMi0xIERlZmF1bHQg UkdCIENvbG91ciBTcGFjZSAtIHNSR0IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAAAAAUAAAAAAAAG1l YXMAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlhZWiAAAAAAAAADFgAA AzMAAAKkWFlaIAAAAAAAAG+iAAA49QAAA5BzaWcgAAAAAENSVCBkZXNjAAAAAAAA AC1SZWZlcmVuY2UgVmlld2luZyBDb25kaXRpb24gaW4gSUVDIDYxOTY2LTItMQAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWFlaIAAAAAAAAPbWAAEAAAAA 0y10ZXh0AAAAAENvcHlyaWdodCBJbnRlcm5hdGlvbmFsIENvbG9yIENvbnNvcnRp dW0sIDIwMDkAAHNmMzIAAAAAAAEMRAAABd////MmAAAHlAAA/Y////uh///9ogAA A9sAAMB1/8IAEQgApgCCAwESAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAMC BAEFAAYHCAkKC//EAMMQAAEDAwIEAwQGBAcGBAgGcwECAAMRBBIhBTETIhAGQVEy FGFxIweBIJFCFaFSM7EkYjAWwXLRQ5I0ggjhU0AlYxc18JNzolBEsoPxJlQ2ZJR0 wmDShKMYcOInRTdls1V1pJXDhfLTRnaA40dWZrQJChkaKCkqODk6SElKV1hZWmdo aWp3eHl6hoeIiYqQlpeYmZqgpaanqKmqsLW2t7i5usDExcbHyMnK0NTV1tfY2drg 5OXm5+jp6vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAQIAAwQFBgcICQoL /8QAwxEAAgIBAwMDAgMFAgUCBASHAQACEQMQEiEEIDFBEwUwIjJRFEAGMyNhQhVx UjSBUCSRoUOxFgdiNVPw0SVgwUThcvEXgmM2cCZFVJInotIICQoYGRooKSo3ODk6 RkdISUpVVldYWVpkZWZnaGlqc3R1dnd4eXqAg4SFhoeIiYqQk5SVlpeYmZqgo6Sl pqeoqaqwsrO0tba3uLm6wMLDxMXGx8jJytDT1NXW19jZ2uDi4+Tl5ufo6ery8/T1 9vf4+fr/2wBDAAkGBggGBQkIBwgKCQkKDRYODQwMDRoTFBAWHxwhIB8cHh4jJzIq IyUvJR4eKzssLzM1ODg4ISo9QTw2QTI3ODX/2wBDAQkKCg0LDRkODhk1JB4kNTU1 NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTX/ 2gAMAwEAAhEDEQAAAa5eOryoFftKdUNXdDM/ehnN0BW9IU4zsI8T0s3PwVdMir6Y RBpipitFViEetuiKFDi3pAegEm92JdOhZ2dywbKxYyvRFQu4cHaWg6sraLpEVsRE VXpy2fVsEZxTvmDvLu+GrPW9WLQVwWVwgo6qoKNHjs+VyiE6oxo1Mm+OzBGimHFy AM+GXepDEVU6nTei05W7qweiagV7w5tmzZ2UwTME6qBKapcGZHMPRSB0fQNHbINe M1dw4hQvWWXkHa00dwM+UQydCCDgjZiJXGhLXw8tBt2BdOlTFS5m5oKBP1pVq2Yg TF4kSRSVTU5dIVQdzpk1dw8/FNZiVmkOr5quj+LZyqcBSGWK9BVK/SVAVWidQmpD nz1jZvLRZKHzdqKeeOLRSQQQwWMh01muWA2dpBAUy1TmkF6lQ5pjmp7ph0T6yrbe mjmFaVW89ANHLlWqlOiVNFNFjaGZIV3rYO/ZzWVbG0bFGL7THoOdhYWYL1ELcVmp wB5BC63FeC7HSZcGJHS03cgtC56BdGz/AERIyGaoNrWHZGGZdLtW1eSKz3PLgs0k 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 =GE2k -----END PGP PUBLIC KEY BLOCK-----
<tijl@FreeBSD.org>
pub dsa2048/7E8092D820A0B62B 2010-07-13 [expires: 2017-09-15] 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 elg2048/8E9707DD7D71BA74 2010-07-13 [expires: 2017-09-15] Key fingerprint = E8E1 95A3 7750 DB71 8FA5 24F9 8E97 07DD 7D71 BA74
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 T8zNfnVs5d1sjggBkLPHKQy8sVClPkU= =8YRM -----END PGP PUBLIC KEY BLOCK-----
<rakuco@FreeBSD.org>
pub 4096R/8DD07D2118DCEED6 2011-10-03 [expires: 2017-02-20] Key fingerprint = 6911 54FE BA6E 6106 5789 7099 8DD0 7D21 18DC EED6 uid Raphael Kubo da Costa (Personal key) <rakuco@FreeBSD.org> uid Raphael Kubo da Costa (Personal Gmail account.) <kubito@gmail.com>
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 ECdEprjIpZA0eld94A== =Pu8U -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<olivier@FreeBSD.org>
pub rsa4096/89A5246DC4C57722 2016-02-15 Key fingerprint = 18D2 A78C 6BBA 0A5B 3A1A 4C7C 89A5 246D C4C5 7722 uid Olivier Cochard <olivier@cochard.me> uid Olivier Cochard-Labbé <olivier@FreeBSD.org> sub rsa4096/BC44032DC2707BE0 2016-02-15
-----BEGIN PGP PUBLIC KEY BLOCK----- mQINBFbB548BEADktRkY+VBJiVon//6M5eWyb3dBSNwcl71O4FRXYNSV4AlDJuuM MIU1kADsmic5n0hRLf6pn0yZzCLhWCvJI0Sp7x5oeach8XZItsBjaCPWM3XmAJVC rQh73M1IOm4/qBUHsiiVT+0H58gEuOkkNj0Bc5rvs7LHYMFtuAGNbT8w+5iHetAZ zLJUQTbQsC3lyqCh5Df/gSn6TP/aORKj1+JKjlFm0B8GASwe4zxA2f4gE2nwYtBr 5BrjKJUEjiTsqwllYOAhmajPzeXPtY9KrjHZrfD//SOtB97OgBYthq1vR5thlUlk hzzmAj1B31Uxqg95G19GaSk92kLUkTY99dMd7hIxWjAEu7bzpmmX/Ckor/1HWL/N MSmpTqPd/1w3qbX0Q/bKGXjT2I1MC8eFrL92ibLfP9K9Ry5E792qeHKagPmqrYPG N7vDIp4LBjy97XIMmoTZwB2ErK2HTgyUyaCJLuZZbDEknD2KejJ3MUl7cDOD6aM1 jrdfl9f5+bdrJrJBsnFcQMjBlj964LtKs8CysuMCVVCGTiTmNd1Uys9+A4yDgSDg ANmYgY4zZASUSH2UaLAFSm0feh1uu3jCr5q9JYIWUkxxMoo60Ii0y9me1xm+7nds +iBA26xjGbNRIrxqnn/jH4Ptb+tEARUZM7YrbPT0EeSzBQsI57OwAGxdowARAQAB tCxPbGl2aWVyIENvY2hhcmQtTGFiYsOpIDxvbGl2aWVyQEZyZWVCU0Qub3JnPokC NwQTAQoAIQUCVsHnjwIbAwULCQgHAwUVCgkICwUWAwIBAAIeAQIXgAAKCRCJpSRt xMV3IjJiD/9P9oj+d2m4XdIarTWByLmttEEq/TlF7wbcilRUzKjYZ9rhEAtHPP9d LDtsYljvUaK/JRviVWgL3Z3at4JdLYgklUqS+ECV//dfwoyMk8Ki3T6k7QXvnSaj VE/WobSKLewSFkohf3G91bnQ42kaVE9LJdcRr9RxWKoD3I5+QXI56teMLNxTuOgo nFdkVE8nqz/tT/N8u4wjBxal9yqtlRdyiXN+Tte4d21KFUJeJQsEDBQKUdPM0y/t sqiZCGDI/C5tlLDpMW7NyzkuuD6yCAOiCrC4wchY827wGnk1da1cA8i4PBVTU5wW 4yu2E+EN6y0DDWdy+3/rbtvc9kOSVSBSagv/JQcWlgU3rW0E0lGbYvKmQdc8HSIl hRAbBPjrKYqMmLPfMDI8vp9CMZG8IWjLllxtNuRy9KvABvSHso6z8MjvSB/ajIeW BGJJhdcZZtZp4QtHiDoARfG0Gl/4ythEEF2EWGkzCXoggrB5Sw4tAiGkCq5U+Lzf YU0cCoXa4M1tLOAAWfzuadqQgSXjObO25GheQAiPF7sY+mt2a7IXIRKA7vxlWlPR gDACWXh4CjbhYn5yZnQb5yjQKKrmE3UClSNjuEptK/atPi+/6rzSM+L25bz1gVca W+3sKcKHwlv1iUiz3tWKZD+2Z5Dq0zFTWjdq/TeVyx92qmWaVlu2urQkT2xpdmll ciBDb2NoYXJkIDxvbGl2aWVyQGNvY2hhcmQubWU+iQI3BBMBCgAhBQJWwegIAhsD BQsJCAcDBRUKCQgLBRYDAgEAAh4BAheAAAoJEImlJG3ExXcisL8P/RbC01AHXq47 VLIIDhORnx1hrZ/92OASqk00GjR0oiNXxbH+9SJqbphrRIjbzB7tGGenUA9W1YYO b+6q6xWVW44x9NrQ+aZgmXuCCapwpn0LHrbnec29G/J8W+U+MLfcmMZg4SzW5X43 k/aSRi0ynQpnIx7/t4XkpOY/3ip4wOO4hfitkANyNXoK2mw0vwDv6X3uf/PZSlxb bUQ/gASvdurV60k2SBiciC3CE/dyaiCc+cUDBJ6UK/N5benyI6P2xhY/D8P7ubEl Q8bjI4kC/1AMno6URmzYkT7/Du1vl5dg6nghesSpL+jFDlkw7zICJBDOxGkTlKZz rSF6HWh5I9VwRYt2hLAebnPyQ4f7rMBi5063drrhcLL6IfvP6g4KtTCWzFR3hXlj 9j07ndzKOUJDlpWLy8tA0CVyD5GkgpS84hshHyhkEbhZafSuiZoo62meRLQwmnDc /K3EnuCb4czdiqNxBapiLjC3OUKqYzv9OE4zZ2MpTuFQzH9vhwiqI34qffsxuXIS JJnuOB++AfqP38BUnym1wYhKbI7fpkncFl9fxF81toQqcqyA1K/mZlzOc7LtUt8E 6DjK4yMj0UAbvDbtdJ3ARGjCmWw4hsN6iXq8iaziUrPd7BjwpEp+NtEQNiWWi8+c DK8xFLYpKs+AssoePi4DMQMXcY49pr82uQINBFbB548BEAC5T7IsLzTkukBbebaI LQ9/dJjn4lUkoeXQI81Dd9blYo72S1PcUtzUWzD4sNaqI7jyFCzeJYObdX03u+s1 hQqfI0Z12mCijmYxGP8WDSw+7KdXi9mb1JhGs7ptl+Q5EMMLoog+10tes9kPO5si 4fRTZvET0Wy675Rwa4j+8DYAplCyupi3dcMEz5idqURnPxka5gKO+4jWNeD6ZVlM sywGakZGfDgHCY7p4vlhoFW8d7nW7DCNcdNRzH3VmKbHZQapv+fc/2AzEoo1pn+1 ejfF2OMBChvyEdYfXdBDbtGEzhDN1fx9sK7tyTd7rv0E0J6r+aYjg95H7jag39YZ r+QEiviLruPCuWnzt9znxO1EjE3nFnYTIAcDyONoY8TMvzfD1B6+xyP1KYCwQ0in D3ZPXwR7i0L9AYFi63v+R3WMGk9B479xsjqoUuMcOdp7xi1gwaRA0xugfTf7lByR POTAMJaODsXbBQb7uR2w5yL/+YUWWUq1FgKq2YOKRV9PejxM6PbwPPMYPXRZrLIU 4kKzmK7DoLE3m2PmckoE+eS/a3srYuPgw9yWCvQ8N5ruTY+vKTxR9tS55Eg57Q9a Q+iMwGuxjRKV4yopWYNxVfP5UbQZRAkJLQ9/cKgWN2ZVLmHlQp5gRNcVrRrwkybb wLn7/MZfNHGhYXcKZ5PBDTeY6QARAQABiQIfBBgBCgAJBQJWweePAhsMAAoJEIml JG3ExXciXiQP/iAL52ipY9X2Ck9cUkWAhh6e1KPgJQPBMAfw4zbLMYGUM8pkBQmP 0ddElfjiJHfX+trVF1yoT6Tza1p/Ozv8QXATSl2rg6WQ57geZGG1YzANX09jZWcs kHkACoepf5FMNhOsyd9QoC7U2XVJsGAikXQNDcjdDTI0PfksEhs5fGyf8qCgK8KB mPaYXrAs4eU8mQdnx/SZ/ig8NSzwu16fTqUWYFSNZAIaJMcwCTOqe9Nrf4+KzlkD /8rdhJ6Yl//xk6iql2PyMt/m+coqpokzOQUhovgjX9lQuZiHIH3UaFLYC1Qeynzd e5CdHPaFOkupJ/xRXoC8yHHLYikyBQTKkfdnHBqF+2dRsnuAMvGXfeO6tvji+XAP eOMEWadX1PDIs9QhPdWUOYw21gEYHwouFZnd0cRTrJLbR+uTT1KTVPCeRheoutsS rxmRE/BHbUBw+HRu3dWeIUnxVmm2eCAEhNJNT7jh8RIg7ZAEXwzVnMnBMBJN/9Wx LnKv2GUhqhgS8s97t6vRUSUTLV5g/fYE/Z7m39bFBkqBgol5Ppoaq/Xh4lQ5hao4 9ls9T2pxTNW7L5RKmmAzvcjyaJOnJ+jKzNew5/cEGzrwQZBxioxl9JmXi+vCOuC1 xETsCxi+xawiLr6CBGGI04ZGfUgyQRPgdccO79KxjkJCWt0dj9wXCBYX =HpEo -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<bapt@FreeBSD.org>
pub rsa4096/63898BDCF1B73E5A 2015-12-03 [expires: 2025-12-06] Key fingerprint = 80E4 E3DE CB92 DAEA C65D 5537 6389 8BDC F1B7 3E5A uid Baptiste Daroussin <bapt@FreeBSD.org> uid Baptiste Daroussin <bapt@etoilebsd.net> sub rsa4096/35BAFBEB24FF27FB 2015-12-03
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 h1E= =/4Dl -----END PGP PUBLIC KEY BLOCK-----
<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-----
<brd@FreeBSD.org>
pub 1024D/ED0A754D 2005-05-14 [expires: 2020-05-10] Key fingerprint = 5DFD D1A6 BEEE A6D4 B3F5 4236 D362 3291 ED0A 754D uid Brad Davis <brd@FreeBSD.org> uid Brad Davis <so14k@so14k.com> sub 2048g/1F29D404 2005-05-14 [expires: 2020-05-10]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 ZKE0AJ9BmdOm/tzGOgP920RU95sUDiRsag== =OvLH -----END PGP PUBLIC KEY BLOCK-----
<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-----
<pjd@FreeBSD.org>
pub rsa4096/0x954B852BB1285B75 2015-04-17 [expires: 2020-04-15] Key fingerprint = B1C5 F673 045B 6C7B AFFB 3A1D 954B 852B B128 5B75 uid [ultimate] Paweł Jakub Dawidek <pjd@FreeBSD.org> uid [ultimate] Paweł Jakub Dawidek <pawel@dawidek.net> uid [ultimate] Paweł Jakub Dawidek <p.dawidek@wheelsystems.com> uid [ultimate] Paweł Jakub Dawidek <p.dawidek@mobter.com> sub rsa4096/0x8EABD55DE4D6A714 2015-04-17 [expires: 2020-04-15]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 jN7Z51AB9/Ip1Q== =gZDk -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<gad@FreeBSD.org>
pub 4096R/CBBBB1AECCAC052F 2015-04-25 [expires: 2017-08-12] Key fingerprint = BF87 9EE6 2DBE 97B7 3039 1EF9 CBBB B1AE CCAC 052F uid Garance Alistair Drosehn <drosehn@mac.com> uid Garance Alistair Drosehn <drosehn@rpi.edu> uid Garance Alistair Drosehn <gad@FreeBSD.org> sub 4096R/77B88ECC2BF0AC18 2015-04-25 [expires: 2018-04-09] Key fingerprint = 844D BA81 AC32 A7E9 D63E 417E 77B8 8ECC 2BF0 AC18
-----BEGIN PGP PUBLIC KEY BLOCK----- Comment: GPGTools - https://gpgtools.org mQINBFU7BesBEADDTDXn37x8ohGNTBfRwHX4oqHtg4seK4xbFSmJEgpabYkA7xiF 4G5y7hbZ4Xz2rltQGCQdWRPFAAq7LvAYy6cy/cTZ1t6PD4uoQiYTcz2YyTQbQVJT IUqHDXupr6LsP5zk7+GsjlH02bYbC45YiCdAIiSe/SBrArcFz4kIDvB/TvcqOWHu gEG5CipH+BVDk8T5C0l5fUzYoTNLVuhcUwID9cPz/8CLFGHebxq8A6SYUrDauKRp BYMfgppJC/BoDQxRMm6oV9+v96OhLjRXhPox9tQ2wJHQhomB5uNgavBnlocRo+k/ ZYLTQyYKXX7L+bGEfEyL9jAKgzZUxqLmOGU3hgQE2duVpMEGUlkbbWeWeDaEI+uN WhvaE4Rc8vgIy/S8OZIKEqpBUqQJAjs/s5WhgI3Q7O/e4CJD32a5OFZxZfdyHHZ9 6k2Ph70cEaKlZGw9cA2t1fc0drFXXgT/cgmqzAnTsWjV0SBaiRYLRPy5WXvWwtW7 1wEQq/8PyxGfLm4PQP3J7e20Ylc0GfwF2YrKJ6OVOvGivnwLD/JvVSpxLxsBAhcI DIFt8xpzPS9NL1JBVvL/hvmdutiFqpSGm4U1eHZerl5qkGi1i5DVR0NEHXm7FSqb lLypITs1UpvsoiH1FdLVN89CcwpMwiAahGgJHVEZtPRioyrlCjFS2RFh4QARAQAB tCpHYXJhbmNlIEFsaXN0YWlyIERyb3NlaG4gPGRyb3NlaG5AbWFjLmNvbT6JAkAE EwEKACoCGwMFCQRTbAAFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AFAlU7CNMCGQEA CgkQy7uxrsysBS+ZhxAAvyTzZt9N4U8yixAIHx3wA5h6xwOCuPZfX/bWJCU9YPzX b6U46JbJ6zrBVvU9IPKXUw4Dt5Q+Yb6+Iq8uBjVDBcniOl3RZUCUk7YZmbug9nK1 Rxx0kgPhEVrAoj4H1P3vOCxY1D/R1+mgL+myrwQYegTOD1fVCEoKxSrFFddeu4wZ jJJdq7t1BLf1Oy793xhp7quEWE1nJRFbOj7xuNXVDd3N2PHCWYs5tIId8F7eV2hs fymZkKQ9rNBalzjjTyAVL/aYT4Abw73/JyRmI9GotacoIAJFwOSYwNZK9rVp7J0+ cG+W+fu1Ub6la/YZO7K2kOkTzDUaVROgRIXPrZnb4wJhWG/rJO6NJ468b0L5m700 SV9BRuaHRB1QKiqvC1J9crrcYYRw7tCO5pipDkFbocHbE71ZJCdAEKIm7bGkenIZ gx4AEX0ldPesQ58mW/XxShxNrgrivFmWucfAdV6cA/TpM/uOgvDgtl6YtwPJYtDA WnT73cl26PBvzVbjj3IBXIFrsF7NqWqC1yPp15Z78tG1uDOmziMX0aSbCF7EMt5n eWCOBcH4xu9CaTV30ZnYTnSXTbdYo/4AduGxQ9FSaSgsQ2Avfp5NqyHpMHqJPrPm FjtM4fCGIXKh7aB2j3QnjkAMW/ov3eDjlgqt5zY+eKxcwqqBmLi1e3aUVZRQxfy0 KkdhcmFuY2UgQWxpc3RhaXIgRHJvc2VobiA8ZHJvc2VobkBycGkuZWR1PokCPQQT AQoAJwUCVTsH/wIbAwUJBFNsAAULCQgHAwUVCgkICwUWAgMBAAIeAQIXgAAKCRDL u7GuzKwFLySBEACfG9Hh973uB8Gp0E5qWcpNITk1c4ZHfTSEuSbgbcweBXz6daRx rQpYj/JFkXjBn/o61QuCbe7WiDcWMMuL8xDNDwU8eWKQxLcQxCchz2/CFDNJhCsB wdMtk3x7+1GFVflzz9O55fWyxIghY3udRfARNCoaZcai0E0iEeltHxDJw9N5XZwT u0JTm5L+c3GYnfoia65eEaL+S3ibn8G7JPK8njmz0c1/w/htyFXEje9wvjWRmJOJ 3Lug8wt1bY48DdjjsLTv/7cXRqEAXJgaeSNkRQ6eohY4bDBj0wVnUrbdMzqtjg1/ TeSYWvbVx/MbfYRlw8JDLqEd0z0NOcE6afcMP4d62ir8dA7rfrGIYxgoARJRJbpM /0G1n7Omv4G2nsuOUcqLj+cCP001PgvJD0Wy3uWswtmor9qtM5bL1a8VM1M7uVTw fem16uoL+Wb63qu2LzN3OvqBe0BDNdMYrAOigQVQv6Yt2T3a5wHZbmPRT3/SlNve iATDDSMmVHFqrN7nUootLY8MB+/aEKxPvn85LYc+/FRBEarX3fAKAMLKb64Q2vDA IQldZhe26NlxmQ2EDM6LyViWFm8WhDR4T3Lw2IxSq2zlqlPd4wbgW0ZvUrnSPU/j BWwIy+vEC2irddFZfPI4VDeLMm5A+qprqwG71tEapDzkYOAYZi3++EG68LQqR2Fy YW5jZSBBbGlzdGFpciBEcm9zZWhuIDxnYWRARnJlZUJTRC5vcmc+iQI9BBMBCgAn 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 yJCatF0rPyHPDBerOTuC =tF6g -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<ale@FreeBSD.org>
pub 1024D/CE5F554D 1999-06-27 Alex Dupre <sysadmin@alexdupre.com> Key fingerprint = DE23 02EA 5927 D5A9 D793 2BA2 8115 E9D8 CE5F 554D uid Alex Dupre <ale@FreeBSD.org> uid [jpeg image of size 5544] uid Alex Dupre <ICQ:5431856> sub 2048g/FD5E2D21 1999-06-27
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 hQVIUSh0Um5WsNHU+9T5ARAAAQEAAAAAAAAAAAAAAAD/2P/gABBKRklGAAEBAQCQ AJAAAP/bAEMABQMEBAQDBQQEBAUFBQYHDAgHBwcHDwsLCQwRDxISEQ8RERMWHBcT FBoVEREYIRgaHR0fHx8TFyIkIh4kHB4fHv/bAEMBBQUFBwYHDggIDh4UERQeHh4e Hh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHv/A ABEIAJAAeAMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJ Cgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgj QrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFla Y2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQAD AQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncA AQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYn KCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeI iYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri 4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/AOJFx4keL/hHrOVYLJmS2eNd qGJVbK5IAyo78n1Oal8U+GtMdhDout2etXkUgjuIixxIwQMxXbwcYbIzngnnBrmr qO0gLXl8s9sl1GGE7XJ3HoPl5yWwMcc9Saz5bLUdPvRqMAnhtY5VXz7iMxg4B2qx K4dyCQD1xnNedC7OmrHkkrGddqNP8QajaPF5UUu2VU27cKRnjPbk1Y8OXMMOv3mo XSpKpOY2mG4hhjkVX8RTzvrFtesx3RxGMyKXbcuTt5ct1yR6cdKwLq/dZWAZV7cd MVvGnzb9UVKUqbsz06+1+zu52mTZHO/LSqBlvw9f8aqQXLI6lJo0jCgAMACBnpx9 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 =CMdE -----END PGP PUBLIC KEY BLOCK-----
<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----- mQINBFGBgbUBEAC8IkfwHDNpYUs9tU4qzwsGZQ7h9Wow0SCFHGKFIFTztKMvMUed I2I4rLaGCYI4FmYJ7wty0D3md6xXjjOnAsC1GuP8fFsxowkklsKZ6PpfAvM5lFt9 WA600Ep11+bsohmscMeT8t6SDqD/nElYP75HySa1jA2zJa+FtfW/psxBNWzGryiE iBjWvwM8/g/aFsv/aqkjDGNjaZzUUJxXtFM4uSgud3l5aur4LlcQt5jnMQgh5SbM aILF3ORoRUhpeZTXblOe/cqpmNHe6MLzdkzsjyFeeag7y8I/SNMS8pZcPl9k9d40 Bt3kc+dpwP+Yu6U4k4JSrkB2UdOkglcnKuEPiJ3mEXJs8Vgj992F2kzQcfck4a7T QWupu5mw4voOFTXWXKobq7jrU37aBX6kzi6CHk0QEXooGWw8XmRldZTT0brGj3qm kC3uWNsoLvCJjTt4FPJo3tbME5u6n2AYC0BK/YyrqHxP/wm4Kvq5urDT7eVw5qwE uOno3861+fvI8XQ9d6165cbMD9mOWPl+K5yHvMqFqnwgUh/zneV49QugabQBnxzT MQlEurBCvXxWdHFQdQIyVMaN2ocuEAYdsHdyUl8CfjP8j4js6Ik5qTq+LHvQ07pE N5Q8XcpB06d1n9/8DV4DoAFvWszMskw17fhWSq6udetq5a03NasgEf2xOQARAQAB tB1uZW15c2lzIDxuZW15c2lzQEZyZWVCU0Qub3JnPokCOAQTAQIAIgUCUYGBtQIb AwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQtrm49kyT49LuiA//U6wlMoLu 0++iHMkXb+kfVqOCX/uizIzcQ0H6gfHUvF0ZAg0Df2l7+U+G6rREY32RmeEq4TK6 QLPpjhaT2061WRB2X9g4uq3To4TUb9Ns/Cyg82Bd61BmeBD+3Natc1tr5kHvAMUf dcmm6I0D52HReYAjsXu16bUY8SLoyD9XUwyeA/mCfFwT0hH9y6umkHkZa5hidf7o XtWEkbrYH0JOk2Xb835NTS50qZ2OylTLioCG1F0peVclUZkljJ/ATamamtQK4y8c TTDR8SGojtRmJzqVtBju/Nb2sy47/mAlyMEaF/Sc8fvr68aT43M+xOjGXefawImo aFa6hfQ56r/MkvvchZ1Og49Mh9vVJOuJ1BZCcRWLmIBVyScASlpjLscmUjyNQY8L l7dd+hOrCgQKqRwoxZ9DyLk3wY2e/pDLULGBn+9m9CU5x9fHKKlYkY8cFIem6e6D SX/rZiA3QoVSpX/eRglgaG6mZRgz4SKYCoBxGhFkjzUXWWVw3inZipPIvPAuy5l1 J1utSbkwBMaITbz7xSGkNwAFIssOUdjOz9aVoGhmp/a5g4QuOuXKN7xWr1duxshg DlJqbttXwribG5azUBjbrRB+EQKrGPCWO+JehHrllL5qjT8Ic5/HVYmaT24QPIlh 9lLh+QQ52IrhdLbcIPxIBMZQnuP2gZka7vW5Ag0EUYGBtQEQAM6HdLzl7V9EiqkV GxhOksvyXN157p2Qu8xP3/wO/9ZnbSkBL7p7V7hkR2zR5OcUqIm/DpoKTUcYbQMR IKcKUGF4ASCvm+WcWwZQQ56jRZ8ci96NoMWfiJZrvZqqIWf/K1/1nCv6R7oaTzG3 mkjpwJYzzMq5cyxzSOLoQQKBvhPFLZYTTN75nKhplTAHI2pm8a4vt2lLbcPl07Fs pEE1FS8euMi3K/jUCO0eizIbYy+I2FUH8yn4wilpfYnQd0qb4n44qopCTk+9LkSX 678JG8AslPwrvyBXk7mMzIvSeYeumCc0A/CVVhPdCqdjkfosqhLqDdQL+TSu+YQC fAANOpx5o+XVMm8/5aYi7/gBY8R2Xb35S5HH82I3TIOSbmsYN48zgfafplSvXxAs Ydxh4PleKtsTZNohDEIZhQRzkOefoF9nQkAnMXg8NKfHQNKVRWZjz7cQu2SzFuFO fDHtjNXlOMEJPJTPlW0zPWPhCYS/2pialp9l7dQ5M41R+9NtaZR2LWDVOBjDfX3z iNqK2BI8Uj150AMuWgDtxT5E5q5vnmpzyol53NXe5GBT2p3tIYQ7fLx/JRF1O0Vo xrrWQTb/RQX8LZpo1rYx9fBUpg43iHRTI5CIsTDH95kyv6oLyL5uGvicKJ7Q/7Vm B+xMx8Aeeg7b1k1X4V+O9uxJkd/BABEBAAGJAh8EGAECAAkFAlGBgbUCGwwACgkQ trm49kyT49KSCxAAmNI1ixE1vb40kACAI7kcX+7wtDFG0arUm7dGYjjZwm+uxTPy bQywHhpF38dDn/SyRwLFmB/6l90UzAYWl3AA0191KKrEVqUku0jgSSikGuufMQwY pgjtov8oX57N5E1BegcqDRYhmB3SEFmkhdry7xeot1KXGEAjFmVpVxgDV35TeODK TSQnHJnJd+LWwd55nk7S4RYqe748ag/AJLyxmH8HWnYGyhHMNKRVeCwGznJk1c+J qCU9nx2A8JCs4Sab2n8KDAvWzs91qmdtjQwJ2ac8lVe6AnFym8FJY3fvGewyIf4A u/G3C9gjC9T/uE+/W5X/DunrwEPFcZuTCZN54SOKC5aPkenPNgiSFj244gCwHa2g uyPcP5uFqqZFlt9J0RMb99NxNUhiV14IMGzayKaQR8OPAHQFbaoaEmgZE78Vqcgc QB4w0SaJRV/0PGDyO/5dQrwTsh4nj/ngHCeokgdUIGPw39R1KTbmq7gmyaMM1PKj Q1mIO1Ql8i2MC0tDRm8wmxHrNB21xVGt8hoj1YjIE2ssGehyh60IFm2ZxxhJLVve ZY13bs6GDtv9CjDh5FNb+KHvvOR8MA1XAb5y51Nx9ekswN2UKXU6SlFkSYVcc/RE KsZ07gd7vllSvuphO0AmPgHjCdHT+AvDoIoUd8CsSXcAWcVlA8Lrj6G+IDg= =amfC -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<lme@FreeBSD.org>
pub 2048R/E54CB37D3A089D6D 2014-03-10 [expires: 2017-03-09] Key fingerprint = 8F40 017E 4DF5 3125 7AFE 5149 E54C B37D 3A08 9D6D uid Lars Martin Engels <lars@bsd-geek.de> uid Lars Martin Engels <lars.engels@0x20.net> uid Lars Martin Engels <lars@0x20.net> uid Lars Martin Engels <lme@FreeBSD.org> sub 2048R/5AB391DB0BA67DBB 2014-03-10 [expires: 2017-03-09] Key fingerprint = C31C 8DAA 4A95 2507 F065 C42D 5AB3 91DB 0BA6 7DBB
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 NYz8RCLXvsPssijXXZvrZm1p58o= =YwTh -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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----- mQGiBEC9nOURBADtxz6jwoFt/gIogEFIebDz4S/7jef4ou9prQaWJKTmLYAe3dB0 b3iZaeUZAN2HnYrtNC9QUlF8ChMpVLsLp00+nL1A7wO8qfPdHXee5iQ30JgsozDG vdoAB6zA5mCe4+maZ59R9CCNrc2aB7binqOxKfiu65h46DocCzLVrBC7BwCgnyWr IQp7gzqOy6L4GVycyOwBArEEANgdO6O3CO2w6ovxe2cvlHV6NiqbEWeCRzCVrCiK ApB69ltrOqUmPn0cHV5+8KPXu0AaBBkmwNjuw0W/etSFq2tachIqY1qMjVFxvk1v qxu+1fq5mB0vTNALJ0nDpG3j4TkKejlqsXOgAYh8/8aYxVhxgxgD5Ni6C4UTBb/B sw+HBAC4UJozMPg6gsSdhYYqY9KCCc+xntaOxFKj4ir+o2EZ9qJ6Yg/FDygDxULP tfCG7MdzRyHAdpMBOXlp+2VB5HbvM+XCiLh+Qfj47HZgT2jR7GgWM8HCNLMydqUs odh3/8NJT/Q0AaYBKDKvEQPrv9siRvNLYfM9fFQ570Nr58wExbQpUnVzbGFuIEVy bWlsb3YgKEZyZWVCU0QpIDxydUBGcmVlQlNELm9yZz6IZwQTEQIAJwIbAwUJBaOa gAYLCQgHAwIDFQIDAxYCAQIeAQIXgAUCQL2d5wIZAQAKCRCpF+nMmW4UXr+4AJ9i Rv0F9CXB6P9s7VxgagGiRgnKJgCgm9ONcZkKiRJz4ThM8+lUVn7/dvSIRgQTEQIA BgUCQYJBHwAKCRAiylhMenujwLSuAJ4vH3muPfL2j7g0i3tBxANH19HJnACfUqbj KgRULoLdd5Xd3xv1TQMtYCKISwQTEQIADAUCQYS5HQWDBNx+SAAKCRCrL1pbFSVp kLOhAKDo7/Q1gjtWnHNj4KkJc0JwrdjLoQCYny4YEuaH0XQZmli1JnYDiezQf4hM BBMRAgAMBQJBhMTSBYME3HKTAAoJEID3vqaVM+drOnUAn0+1xLBukkS1LUENeWwI FkO5+xqCAJ9ML9gITzyOy5XbQzOG0MyH/YkfH4hMBBMRAgAMBQJBhMW+BYME3HGn AAoJEKBP+xt9yunTpSkAn3YtJf9DIdaO4YtRtnPNlYZt4CgHAJ9vnB4AM1SAahY3 pgrhO9z6XIw3qYhMBBMRAgAMBQJBhNROBYME3GMXAAoJEIfaXA0nNZpRPpYAmwXZ /pIjOqugDXN/MQErc8aG7pVwAKCaZXtnm8CT45OWVeVAIu7uDmY0F4hMBBMRAgAM BQJBhPV8BYME3EHpAAoJEL9L0OYEnbh5Jx0AoL0vfYGS3iWE5u66RasB94xyQbIr AKDY22dEDqObs5DwrjkQHX718wiKQohMBBIRAgAMBQJBh7rjBYME2XyCAAoJECRx EX+pUQLB8iIAnijUZVkQloDfwcbVg0w6xuOFiCbOAKC9hggzd3ujHQ3vVnYEoqS9 lv+rYIhMBBMRAgAMBQJBh9AWBYME2WdPAAoJEHPeaYzHFAWilFUAn2MLzNKhtam8 L4s4h68T48QgHB6vAKD64I+m0Z61y2OMH59/j7JYbsZFNoiiBBMBAgAMBQJBjJBK BYME1KcbAAoJEB9/qQgDWPy9MoYD/09F+lAdn5JSk+QE8WOyPO7ZP8uqVoiCid9+ FQynmcneq6PsjhO5KDyHwK+nIxWwsghlKqG5gmCuN4/YF4wkxx+6mVt1O5WFhlSt x9y8lrN8csLMUCQzLaluD7hpYyScT1uGOLI0q6HgZ8pP2XQ05uIGUIfjt17jYbSp DKphh+0ftDRSdXNsYW4gRXJtaWxvdiAoRnJlZUJTRCBVa3JhaW5lKSA8cnVARnJl ZUJTRC5vcmcudWE+iGQEExECACQFAkC9nZsCGwMFCQWjmoAGCwkIBwMCAxUCAwMW AgECHgECF4AACgkQqRfpzJluFF4VOgCffv/mngzbhP+88uSHERTu2BBkefIAnA9H hLGo5SaCSeWNwuqdgK3GvwDqiEYEExECAAYFAkGCQTEACgkQIspYTHp7o8CVcgCe P/DPle+jMtpgrrS7tnk5jeluAg0An2r5PK4eajYFLcIOoDk4aXThHEgviEwEExEC AAwFAkGEuR0FgwTcfkgACgkQqy9aWxUlaZCofwCePa9l9dsyD9k9tV2dm8aNYywD jEIAoJBiWx3/1gqZYmjed+zV6vWa0cKgiEwEExECAAwFAkGExNIFgwTccpMACgkQ gPe+ppUz52ubhwCbB/EXTvUfSYc4vFaQMGa03naiDK8AoJ7rBjM0S4MrH/yISFxF PYQgC+RyiEwEExECAAwFAkGExb4FgwTccacACgkQoE/7G33K6dN60gCgu6O//jpu JSok+bBc4X+AZKJK+qEAn0LswtRsAtUMDkA9jvKnBWCNAxQqiEwEExECAAwFAkGE 1E4FgwTcYxcACgkQh9pcDSc1mlFARwCfXf65/bOAJHXeKIKgyvpbpQUSCk8AoLAK v42dyiYsLhzUH903wR+OK3LCiEwEExECAAwFAkGE9XwFgwTcQekACgkQv0vQ5gSd uHkgFgCdEqxUdKNkt3EsPy1MaHEJWpKbjgEAmgKdjeXG5Q5syxP6AQtgwmm942zH iEwEEhECAAwFAkGHuuMFgwTZfIIACgkQJHERf6lRAsFo4wCfR9sK68UaZUGInWsP jOlbB1RlIGkAnjvuFzUSF2a4PdxNJXTFbps0sa6EiEwEExECAAwFAkGH0BYFgwTZ Z08ACgkQc95pjMcUBaIWYACglNKP7iXD6a3kC5ezCidQ9bw7atgAmQHVg/78odHo v3XEMz6hSYiA7ZB9iKIEEwECAAwFAkGMkEoFgwTUpxsACgkQH3+pCANY/L0sQwP9 FwLOugh4xHDwloS4nfiCVEB4tGcUNUNvyWAirweCorPcAWz1h56EUDM2bEEQLNvN 7KH//KLFl7P7w6HBg5OIsOxOv6pwM4cqFYSfZ1tCrqSVL8JSz2CEuqeBO63vwMIK Zuz5isBHWB3V9jR/FARZFK64pj5jqOdrhXlEsclw/hi0JVJ1c2xhbiBFcm1pbG92 IChJUE5ldCkgPHJ1QGlwLm5ldC51YT6IZAQTEQIAJAUCQL2drwIbAwUJBaOagAYL CQgHAwIDFQIDAxYCAQIeAQIXgAAKCRCpF+nMmW4UXso+AJ9A1bzRrRjjeVPejggh dSb2MBtI+ACfTHHJ5L5tWTM4DaKE1zNslFcKJGCIRgQTEQIABgUCQYJBMQAKCRAi ylhMenujwBtyAJwPbdhli6lM80ElaFp6Z4k26mFmXgCgwOwFHhG8JmphwsK2EuOM IYtRL+qITAQTEQIADAUCQYS5HQWDBNx+SAAKCRCrL1pbFSVpkGDTAKD9L5kXDMJl oEVg8Z9WjA4YZ+DkdwCfcvG9fxWmuFbCieKMwooQhZPjTTiITAQTEQIADAUCQYTE 0gWDBNxykwAKCRCA976mlTPna5OiAKCy1RqGuaaV2KEckQfu5qY4STRbpgCdEESQ rQjwdC53+itYYSYjl24gi02ITAQTEQIADAUCQYTFvgWDBNxxpwAKCRCgT/sbfcrp 04YRAJ9KXOH+0A2gRhQaBpG9wYtycCMPmACfVVrj5SccNfCLfVCagLtwkrPjRkKI TAQTEQIADAUCQYTUTgWDBNxjFwAKCRCH2lwNJzWaUWIQAKCyzJw3bO+6tD4lz32/ osDpvZnClwCeOFWWxTJWZmXa07c7rNhH8co562yITAQTEQIADAUCQYT1fAWDBNxB 6QAKCRC/S9DmBJ24eZFFAJ4/0hvCrenteNbwNeXt9d7EsuJTIACg+3mOLi1EJX/7 sahoqtQzZaxL1zSITAQSEQIADAUCQYe64wWDBNl8ggAKCRAkcRF/qVECwQzhAJwK h9jknd1hm8SPSdePW5y0feAytQCghhaLXPEDYmwIRUYAIbdJMD2hEuiITAQTEQIA DAUCQYfQFgWDBNlnTwAKCRBz3mmMxxQFordLAJ9kzuLcEMrYOwdX/ctHhOuwj5XG YACeLUfYnnx7CcB+KUVZrEscniV1eoaIogQTAQIADAUCQYyQSgWDBNSnGwAKCRAf f6kIA1j8vS0NA/kBfiCUi1miZl3UjuBICQT3tWZHrMuMUQ6MpMnjshiT0vrSvSOG eCGEwGkrBCl1VuFpHO93E9shjcLgzNwPSbtiasK/kzJL32Hyd1+Tc2SGoKrLSXiv 4zJMTxwWBYzFCrniIz3+/XrU9D1WFGtBYc1jsLCvDKEW14RP59qs8TKNV7kBDQRA vZzmEAQAlY3mpmNBVkekHNNxs7W/ansqON4QUvAR0q2BVUvhHunVd02XNyQZTCWO SORhXX5jH2QIzr+igTWLGzm1I4Q6x1519I8N+rZMaQMsflvdNNOYDdfj5jbF8w2h vWcKfi7k4lenw+loDDaQZbEfdzR8qs1sR12oz2ZRc4Lwqxi1d68AAwUD/Rt1poSP 2/xiYhq6yb+dPKEnYSdnAYVYtvH0+qztdSbQyYty5TSnuqJx7fT7apRLJ2g6I455 yJpzyBZR1H8K3AQsH/VixMaVZl4xUUUwxbyiaZLM++WNDl58pjgJAvJueYPRTl/R /QPSo36OBYbqkzlR+U/TDxXnW9OvxSmA9hG5iE8EGBECAA8FAkC9nOYCGwwFCQWj moAACgkQqRfpzJluFF6l2ACfWWiX/0QlAZ9NU7g1wtD10jNJviYAn1qovdOHVYwW xfUIyIEOONF8sN1I =tea/ -----END PGP PUBLIC KEY BLOCK-----
<le@FreeBSD.org>
pub 1024D/F10D06CB 2000-11-23 Lukas Ertl <le@FreeBSD.org> Key fingerprint = 20CD C5B3 3A1D 974E 065A B524 5588 79A9 F10D 06CB uid Lukas Ertl <a9404849@unet.univie.ac.at> uid Lukas Ertl <l.ertl@univie.ac.at> uid Lukas Ertl <le@univie.ac.at> sub 1024g/5960CE8E 2000-11-23
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.2.5 (FreeBSD) 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 Fv2s0kptGIN2izILm1myaA== =qAVp -----END PGP PUBLIC KEY BLOCK-----
<se@FreeBSD.org>
pub 2048R/47EBB5EF5AFDF544 2015-06-05 [verfällt: 2018-06-04] Schl.-Fingerabdruck = A371 EA65 9C0B ECC8 2B71 5313 47EB B5EF 5AFD F544 uid Stefan Eßer (FreeBSD) <se@freebsd.org> sub 2048R/ACCC7EFAB7B32CCA 2015-06-05 [verfällt: 2018-06-04]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFVxiRIBCADOLNOZBsqlplHUQ3tG782FNtVT33rQli9EjNt2fhFERHIo4NxH lWBpHLnUb0s4L/eItx7au0i7Gegv01A9LUMwOnAc9EFAm4EW3Wmoa6MYrcP7xDCl ohg/Y69f7SNpEs3xYATBy+L6NzWZbJjZXD4vqPgZSDuMcLU7BEdJf0f+6h1BJPnG uwHpsSdnnMrZeIM8xQ8PPUVQL0GZkVojHgNUngJH6e21qDrud0BkdiBcij0M3TCP 4GQrJ/YMdurfc8mhueLpwGR2U1W8TYB74UY+NLw0McThOCLCxXflIeF/Y7jSB0zx zvb/H3LWkodUTkV57yX9IbUAGA5RKRg9zsUtABEBAAG0J1N0ZWZhbiBFw59lciAo RnJlZUJTRCkgPHNlQGZyZWVic2Qub3JnPokBPQQTAQoAJwUCVXGJEgIbAwUJBaOa gAULCQgHAwUVCgkICwUWAwIBAAIeAQIXgAAKCRBH67XvWv31ROYnB/42SMZlAsW4 kM0/WXYEbamucO8XJ5u5FFuaEOpMqMU3Uv7wBvJBhcFYJYCFGlnv0rPrcTnmTZaX 6ceG1l1URVAfQmeWIs5Jgev2BPeZA4vLG2DSFVtbIKzrIJ7o5T8qS6OuZ5Z9jQ0s L9dByWQtK3x9jHQSNju1t0xW5m/qAnS6pOEOQalRrToYnu6XqGDcSYiByOuNsrpV CGtn1EZhULivt8TappjZQpJRtfNcGmi81NmRPLvNpW0TGbekCFYIQ+Npm1IRckii ua632so3E8d+fOU5Aei2gE3XppeDB0PIW2Nz4pGZiZruIBvyz5kRxCN/C8ltA/hY nd9BsXoID9OWuQENBFVxiRIBCACxI/aglzGVbnI6XHd0MTP05VK/fJub4hHdc+LQ pz1MkVnCAhFbY9oecTB/togdKtfiloavjbFrb0nJhJnx57K+3SdSuu+znaQ4SlWi ZOtXnkbpRWNUeMm+gtTDMSvloGAfr76RtFHskdDOLgXsHD70bKuMhlBxUCrSwGzH aD00q8iQPhJZ5itb3WPqz3B4IjiDAWTO2obD1wtAvSuHuUj/XJRsiKDKW3x13cfa vkad81bZW4cpNwUv8XHLv/vaZPSAly+hkY7NrDZydMMXVNQ7AJQufWuTJ0q7sImR cEZ5EIa98esJPey4O7C0vY405wjeyxpVZkpqThDMurqtQFn1ABEBAAGJASUEGAEK AA8FAlVxiRICGwwFCQWjmoAACgkQR+u171r99UQEHAf/ZxNbMxwX1v/hXc2ytE6y CAilpiZzOffT1VtS3ET66iQRe5VVKL1RXHoIkDRXP7ihm3WF7ZKy9yA9BafMmFxs bXR3+2f+oND6nRFqQHpiVB/QsVFiRssXeJ2f0WuPYqhpJMFpKTTW/wUWhsDbytFA KXLLfesKdUlpcrwpPnJoKqtVbWAtQ2/o3y+icYOUYzUig+CHl/0pEPr7cUhdDWqZ fVdRGVIk6oy00zNYYUmlkkVoU7MBV5D7ZwcBPtjs254P3ecG42szSiEo2cvY9vnM TCIL37tX0M5fE/rHub/uKfG2+JdYSlPJUlvaRS1+ODuLoy1pzRd907hl8a7eaVLQ WA== =4ZaI -----END PGP PUBLIC KEY BLOCK-----
<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-----
<madpilot@FreeBSD.org>
pub 2048R/1AE6860E56CBD293 2012-04-12 Key fingerprint = F317 2057 E17E 4E3A 3DA5 9E1D 1AE6 860E 56CB D293 uid Guido Falsi <mad@madpilot.net> uid Guido Falsi <guido@falsiborrelli.it> uid Guido Falsi <madpilot@FreeBSD.org> uid Guido Falsi <gfalsi@gfratio.it> sub 4096R/CB95603DDCCDB1C8 2014-02-28
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =3fdf -----END PGP PUBLIC KEY BLOCK-----
<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-----
<kami@FreeBSD.org>
pub 2048R/6FF05D69A92A59DB 2014-09-18 [expires: 2017-09-17] Key fingerprint = 7D88 4610 FFBB BA86 F17B C037 6FF0 5D69 A92A 59DB uid Dominic Fandrey <kami@freebsd.org> sub 2048R/B4EC9D5FBC909F27 2014-09-18 [expires: 2017-09-17]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 JJ30lBBrsT/EB48= =/44p -----END PGP PUBLIC KEY BLOCK-----
<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-----
<farrokhi@FreeBSD.org>
pub rsa4096/6B267AD85D632E9A 2015-07-25 [expires: 2020-07-28] Key fingerprint = F081 5F88 61BF 2DEA F261 E9C1 6B26 7AD8 5D63 2E9A uid Babak Farrokhi <babak@farrokhi.net> uid Babak Farrokhi <farrokhi@imenpardis.com> uid Babak Farrokhi <farrokhi@FreeBSD.org> sub rsa4096/1CB810DE7321676A 2015-07-25 [expires: 2020-07-23]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 BQkJbPlXBQJVu8CWAhkBAAoJEGsmethdYy6aroAQAIqlTSESweeme9VkOlepyqEg D7TSD2KQFl49TdEGrllBbphnb4tTX7PIvpIqvD13B2nVTGLhgGHODDIB4T79rzdR LMNwa7mE9OQ7BAvfl1rS+fPvHMIEOue+Mr2rVjl6oQF1Um/UyaGCVZDR7/KP0DYt ustOo7/cI8XhdV7q1tMgNxWJaOkeHBMGvLCRIQiJHxemgrVL2dK68KDcFxDkGnRh 3qVxRGnyvHc9D3S+VbeQxDQziwI/rC3MVFuPTQiaEezXc2VdqqXVL0KTxNPIro4K 8OGLnjkyWfsToo7852DucBPQ+OB5X6zIuRtxg2PXb/y0DUsLiw/NU/LLnDcmYHWQ l5pJ6wvHZCTR0Ob4C54+axi7BkYE054ozmkyAp7sIcNZEhh5enBQ5wXdL/L6gwqF NEJMpCgVMI10VGeLuzOHpry9+mMzUjZkUhbM312BynCW6FYNTRUt8ZMJkAFoPDMQ Tnd2YJntAAcOAkdzMHwNg5pefVRD6zkmp8h0Zi22/e43dUVmgZJIm3dC7HxQSv8v Vvihw1Yzxx6YXH46i1+QjjYc4vmz5vY512jomM6pKXRgLBVvnS0hNjTXo17kDuF5 n9IpijTabE69Dmdtey2vPUiXaNt32C2dMQAKHK95wArTIor5HY8kV/qWt0Y6e3Tj MxzyRJUSHbow7Rf3z7doiQFHBBABCgAxBQJVucrGKhpodHRwczovL3Ryb3VibGUu aXMvcGdwL3NpZ25pbmctcG9saWN5LmFzYwAKCRAxrrm1/bvLDiLMCACaDkV1UXdm glkOBE3DHtQojUEjbD5fL6yBF1aOcyB+YS/znjpWcDF3cPANk63R/AFE25v2aEMm 2UShOWm19Y1Qbht+FY7zPDzUV1mensGD+OZHFg8+TJ8W8AWwqrM2nREoXGrFWZmj QllYU+6LogxsNF7NffTdz8TnxyuIeDfFJxrM8/NbRgn13ltbVPMrHcW/uZ256pfG Od51uiMdGjlvbmNVywfWxA+SEayQ7YPmwgIht1/5pfC0HEHAUp+2Y/ow4nqECVBA ONVENeE6aK3HgquQiixcqKCR1tmsX5RJnSUehDjm2Fhko+ZCGPFMwZzVkE7bM+e2 jujFMJd02d+miQI9BBMBCgAnAhsDAh4BAheABQsJCAcDBRUKCQgLBRYCAwEABQJV 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 =nwpi -----END PGP PUBLIC KEY BLOCK-----
<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-----
<feld@FreeBSD.org>
pub 2048R/983B64501F13E252 2013-11-09 [expires: 2015-11-11] Key fingerprint = 7481 93E6 C417 1C8A 4B6B 2488 983B 6450 1F13 E252 uid Mark Felder <feld@FreeBSD.org> uid Mark Felder <feld@feld.me> sub 2048R/80920C42C025EB78 2013-11-09 [expires: 2015-11-10]
-----BEGIN PGP PUBLIC KEY BLOCK----- Comment: GPGTools - https://gpgtools.org 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 CLAo3o5O2MoA0mHj =jbnE -----END PGP PUBLIC KEY BLOCK-----
<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-----
<lioux@FreeBSD.org>
pub 4096R/B43B673FDAE448D1 2014-02-13 [expires: 2019-02-12] Key fingerprint = 0617 5DB3 8B1A C326 A542 3B3C B43B 673F DAE4 48D1 uid Mario Sergio Fujikawa Ferreira (lioux) <lioux@FreeBSD.org> sub 4096R/D780173751E6FF87 2014-02-13 [expires: 2019-02-12] sub 3072D/BB0B0361BC87D308 2014-02-13 [expires: 2015-02-13] sub 4096g/C90A229CFE1F29B0 2014-02-13 [expires: 2015-02-13]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 paxlNTk40FblIgk0wwppKKqTNF5G =buFV -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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) mQGiBDzS0/URBACREmlUnPeSzfnC0m2oQV4eSzgYjskiLfwZ++Ql3zErPw0AphH7 m95dZwAscTm3CQRHDDd/RYxkJMAYA+jmw8cVX1rXtQ2URRmzy2/I+qBU1NCPrqBj KRqrav9uhLCLGvEwdqWg2dqn8TMwNdlETbH+R0QQ/1lK8XtW0NiHC8I+NwCgj/8A v8ifdpVSnFp1QesTAVwdTbMD/icRYOZ5I94DSRk5GGnmD+lyhfj+ejYbuVEgg2ig V9HuXJMnBKTnuwriuskTreeNQBvBCTltHrRe1LujAtlsbixooTgUU5jkzY+J/PeN fLd1J9uoqTGQ7GjT4SMfKuetSRBhcRZYvm9FM+54vsumKcXGK+qBfPVBHo1bk8go JxgBA/9tnrAoLIUPvs4d4ce9h5BGA2yG9Synz3w1l8Zr+4coomUjbJFV86ZWKPM6 nyb2RhDb20ESkZnCoDxZY+p5t9c3aiQJKQQV8Gj0tj3c7/OKoyMePgabH9752Q6u piZ5Ml3mfse/Kja4THRoPEjkQzAn77jxfvesKiEh+fu6gsJ3cLQdVG9ueSBGaW5j aCA8ZmFuZkBGcmVlQlNELm9yZz6IVwQTEQIAFwUCPNLYkwULBwoDBAMVAwIDFgIB AheAAAoJEP/A8UyExxtu8J8Anixqe2bmDbJpcPb0IoT84nnhJ3kvAJ9sOLAQjWYv K7SdJyMF10YX0CIfHohGBBARAgAGBQI9c+arAAoJECm+XSJo/VSfOQ0An0ygDe/V bqSTjYJwlIE8YYpty4jLAJ47UkBPjTiVre6ew5VF19jMKvdsE4hGBBMRAgAGBQI9 c+V+AAoJEPbdMwIQ+kzRlegAoISM0MmY8lkBCBTsow3Joc7tLgn9AJ0QrUzWpq7N YPnlJ0lcd41pGeMTqIhGBBMRAgAGBQI9suQtAAoJEAtcZfDlrYLgTkQAoJNPNMs7 ScBAN/nLDgzNue3K8KvGAJ9ss/muSiHvLiFfiITYIrMb3iDD4YhGBBARAgAGBQI9 szNDAAoJED5DhLnTnUHhMXIAoNb0MSJWURRoRUBuzS3IqGjeBckJAJ451qIIzvpv 0BPv7IwsHLalwHN0p4hGBBARAgAGBQI9szLjAAoJEHw7eXCIx8H3AfoAn2d2BuYF xAiBrtgQINxUFv0f6uO+AJsG4UaBDFeDfYWuy5ewplYVeKEiCohGBBMRAgAGBQI9 suRJAAoJEIhoz/fZwesRGRsAnihqruuppwzOavzHgImgw880g30bAJ0QG8O547sJ CaSeppCiY9Yy/wQBh4hGBBARAgAGBQI9sre0AAoJENUEeBB7Yyy4xn0AnA7Ro8by KFrC60C4/dHOqU/+AkeEAKD2PCSVlEx8ycBVnWMk0XyXSItDsYhGBBMRAgAGBQI9 sgLLAAoJEOdNKbgr4W0BhsYAoJVB/mXnINoaGdxDp2NoHNLOyCkvAJ9iN6Zhoo2C 4E2eLDhoU93f4F9AArQcVG9ueSBGaW5jaCA8ZmFuZkBhcGFjaGUub3JnPohXBBMR AgAXBQI80ti2BQsHCgMEAxUDAgMWAgECF4AACgkQ/8DxTITHG27ATwCfQaJHzDZc MzhOrYjhobphXayiTboAnifEwKJ1DDVZxPxxWvxNoTvaPwm2iEYEEBECAAYFAj1z 5rEACgkQKb5dImj9VJ8CPQCdEcZ3a7bXQyNZLg3KQ1ZvBfaGIEIAoJKdHTkC63GL fT+osKfdjM4UZ01piEYEExECAAYFAj1z5YQACgkQ9t0zAhD6TNHaUACdHH9+sG2/ msrvhZ0FbGmp1tKsotgAn0y/a+fx5rh2/FTVcpYywQj13jDZiEYEExECAAYFAj2z Dt4ACgkQC1xl8OWtguDpOgCgwPUtE7jFzwXRzAs1svxg5YXU3BcAmgJLcKt0G+FE YL0O0stYX2ea03SHiEYEEBECAAYFAj2zM0sACgkQPkOEudOdQeEXPwCgnJ+9OF4H 22joPbsKqJjFN9hfIaoAoNJDV86nE1d6/CU/LuKH2uvAhv1biEYEEBECAAYFAj2z MucACgkQfDt5cIjHwfcLsQCgi6NITOb5mKFKbsjjxj0LFZ/rauAAoIiJoS55pdqH RVp5WgUikc0YJiWMiEYEExECAAYFAj2zDu8ACgkQiGjP99nB6xHghACdGSHyJofq RXByL+rSxSlV3OosmyIAoJn/bRX4LGGdXqj8OUpvZt4ViIWJiEYEEBECAAYFAj2y t7cACgkQ1QR4EHtjLLi5nACeOt3CWse7n/I4D4z8IH9+foodbEcAoNKDnRE1uR0o SsnDqCVBpVwpGX5ciEYEExECAAYFAj2yAs8ACgkQ500puCvhbQGtKACeJ2FG606O sLLjrzGmeIjZ5xzvK10Anjv8e5eBab8M2cxd5IdieOi6PfNitBlUb255IEZpbmNo IDxkb3RAZG90YXQuYXQ+iFoEExECABoFCwcKAwQDFQMCAxYCAQIXgAIZAQUCPNLf LAAKCRD/wPFMhMcbbieAAJ99oc3W8UA0Peqdc5cX4Lbis7hI5QCgg7U7yZqSbW1b RDP8kufk/86S5g+IRgQQEQIABgUCPXPmsQAKCRApvl0iaP1Un6hiAKCRNZdsA0tc 0oTdJ/pkPkhyRWQx1ACeKRe/CfJF/xWBi8jquecKf6gPMkyIRgQTEQIABgUCPXPl hAAKCRD23TMCEPpM0ZNrAJ9pF8Jkhu9JhU9naYgwAmYX5iS9NwCeOCi1gW7nJx/J dN55WbPIyfzKw8qIRgQTEQIABgUCPbLkMgAKCRALXGXw5a2C4EwAAJ9goNYWpdCh RnPzdARqPkIl9BBcVQCeLVknYrZ7yL0wT/DGabOtE0y+qXiIRgQQEQIABgUCPbMz SwAKCRA+Q4S5051B4UqkAJ9jWdqexFEJSzT+idX58XITvse0jwCg0lOck6/COkYd 8aAwqfIdyH4QJWKIRgQQEQIABgUCPbMy5wAKCRB8O3lwiMfB96UCAKCIyFg+QCTB 0f0VQPOnHFVi3CT0qACcDqnzRgYu3Tz/kzUSr3hWzhnBx+2IRgQTEQIABgUCPbLk TQAKCRCIaM/32cHrEahEAJ92I8GNwWTl02bcQ1vMPHtnbbCf/ACfTilFKvw5z64/ XubRaVr54idRUHKIRgQQEQIABgUCPbK3twAKCRDVBHgQe2MsuMfUAJ9HnuPn+dd3 TgMwr+VCfvox4Dw3ygCeNWvusO4oy5RYuRej36qzPe9nLGKIRgQTEQIABgUCPbIC zwAKCRDnTSm4K+FtAfExAKCjbHa1kgHxAC9FoBJGk0DYBziZMgCdGO25X841oHkq kfXEH/bhoKy597K0HFRvbnkgRmluY2ggPGZhbmYyQGNhbS5hYy51az6IXAQTEQIA HAUCPRc64wIbAwQLBwMCAxUCAwMWAgECHgECF4AACgkQ/8DxTITHG265qgCePGYX +2/SUFlhIlTtJt+cq1BuP+4An3OThP4AU4PT/9Qv+VBQusMz17XciEYEEBECAAYF Aj1z5rEACgkQKb5dImj9VJ8fIACfbBiH1K+OnrBefDuwiQRnk+l0Q90An2eZDyVX 69irU3BQGTnfSSC0oFOFiEUEExECAAYFAj1z5YQACgkQ9t0zAhD6TNFNCQCfRE+X 4BB27oPuIrcghqF8cwAH07kAlAxSx4k8w3cRL8zg3+pj7pYgYNmIRgQTEQIABgUC PbLkMgAKCRALXGXw5a2C4O42AJ9K2vWLCYfeNf3486r/I2Le+gslJwCgyuQ0LQeX T1gzsZN0js913k5tb5mIRgQQEQIABgUCPbMzSwAKCRA+Q4S5051B4deJAJ9QJuZs +TE6tIX72XF6gUhwumxL8wCeKL3F4GkGbKD7oZdAmxyKmXO1mEqIRgQQEQIABgUC PbMy5wAKCRB8O3lwiMfB99OLAKCxSmibXonC4pzcM/wXjWGFdXcITQCgqVk0Wghb V020dqzH92iBgXDleRmIRgQTEQIABgUCPbLkTQAKCRCIaM/32cHrEf54AJ9EOwW3 SLucyv4vGDTv06BeywcYpgCffv5ykOmLpd/OJpeB9YQK1nsiX3KIRgQQEQIABgUC PbK3twAKCRDVBHgQe2MsuJG/AKDjdNIMYpdwcn1/4/U2EBJNAsYWHwCgnfzGdKSc jX9iz+Kxlk6+5ol8X7CIRgQTEQIABgUCPbICzwAKCRDnTSm4K+FtATW4AJ90Xspu Rd+QhrXweG3haragq2CQEQCfe+/ll3/HjfrA+9883jDP14owSAa5Ag0EPNLUFRAI AJtkhGBrUaEVP2fO4wQpmujYfPc7+GT+Q0naKCXrMQ1vDK5ppsghiSr9TdVB3kdk ev2oGxgsCfy2uPC/JuewQByYBmtKJuU6GDaRVXgMhpVwhcRraaDeYZm0GIDQEX3f WSlL07xxbzSZnewlSqUEAznHjLGN1pq9mvPBczq2hrAsd9TPHo/IB9JsVmHV9GYa sHUSbVWx1S6ntU2kV2TyKpBS4luF1Z7y6yIWS9pwiZjTlWdUGSfUkkTu6sM59dBA xv9S5Q8TY44TUQfhHQhcLTz84UurU96i6cb99ZmN5uq6IP6NPIumhOJAqPvHSqly +Ez/oSzSyUoyZ0Saj35E1C8AAwUH/0tkQh1bn/BhIyBO4S9z5wQfI+ZpR7npeKZ1 aYQUjFzbULb27Y20HRujvXljFPoWB1oJO+oXULkCaNWI+72TYXzKRDqYWMaubwrY e5dHJ4hEDpmpqeG7W425rItDfhz2wKORc9vk+eHMHGZZhKamurmeH7hrVpe33BRf ts5yvYWofYonWGF+KydBcrMp3AMbKGQMSOwcBiSpIJVn0HYJFIOWmthtKIMqfVmL WS2sqFKITbBKHBemP+97FVAc82dXxj6irB7/jBjdPX5/5B8HHOXWeEvuHSjZ+6ef XFrTVbeh2u1alB0aX5kz4cb8Fl9Oziqc2Lx5HLgfkKiWgDAu4YOIRgQYEQIABgUC PNLUFQAKCRD/wPFMhMcbbofuAJ4k3jgHTXOHznfpXNRDIjZqPPjJEACfXAql73R3 KnkOqXNQ7FzYXOIPK74= =7TEa -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<decke@FreeBSD.org>
pub rsa2048/4DD88C3F9F3B8333 2015-05-05 [expires: 2018-05-04] Key fingerprint = 3924 2DE3 BD34 BB70 529C 03D2 4DD8 8C3F 9F3B 8333 uid Bernhard Froehlich <decke@bluelife.at> uid Bernhard Froehlich <decke@FreeBSD.org> sub rsa2048/623F4D906034D944 2015-05-05 [expires: 2018-05-04]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 t9BYTQjGYWtSoi62WOIrE4QiVyvK/5R+ =yKov -----END PGP PUBLIC KEY BLOCK-----
<landonf@FreeBSD.org>
pub rsa2048/86CDBA86B7E31D02 2016-06-01 [SC] [expires: 2019-06-01] Key fingerprint = 9E26 9CB1 93F4 76EA 9A08 731C 86CD BA86 B7E3 1D02 uid Landon Fuller <landonf@freebsd.org> sub rsa2048/203DA64DD0940730 2016-06-01 [E] [expires: 2019-06-01]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFdPYg4BCAC62c0wT0x+frvRheJVczSGdAKiO/I8828C74O+QTie3OR3DrmZ fXONKL3vDZ5rWLBhX8g3HnLEFCIItgncEoJUJOYC0Xmj6tHntC+uE7csg/wMFAMN XI1ivquDHMJmzghiBHyNnGfX4et+z3MC0YGb4RAQsv6gvhmnEuzBF2U/O18zUQAd X3gyjPwC/iWOC0oGxyCPUi1sHFnRGgeBRtHq12vrc+sq08obGRF3w74fA7uofahZ EGNv0cAJU02iphkxsWAI/CJRusJgC8En3obXKhzZ4hb2STuZ0B76vTDIFJ67npgM VW9/GQ+rv6qsVEjQRhVYG5+C/xd5JCdX4T6lABEBAAG0I0xhbmRvbiBGdWxsZXIg PGxhbmRvbmZAZnJlZWJzZC5vcmc+iQE9BBMBCgAnBQJXT2IOAhsDBQkFo5qABQsJ CAcDBRUKCQgLBRYDAgEAAh4BAheAAAoJEIbNuoa34x0CVOwIAIw2pCYRxVvRBmC/ 827hJRv1pwAM/N/qJByCoipUA9cs1X4GN7Ds2HGOND00OVjguK9kMjqY1WG1f5IM cGOtBe/aLNM6tMX7Q/X8fGZUe5S9i+FYJokI+aXMuNfL1LU1ZbQlHpkTLnaxmjRz qEqAuWk4pHk/eyYW8QrdcwVdawlodQs8ey6ykpn/I8DOha/HtUa7fppOry2H+Xwz gkGp9IGY9ynru9VHJg7eS7dbLAxpwGGgBwPFa8gPr7lrJt8dA1edE2adOlDHfloI YAIyd8BIcwtJhx8ppxdvF6P5x82pnYiL8N6guaRKxQyL7syb71tk/5hP2L71lEXr HulO/nO5AQ0EV09iDgEIANcXlqJc1gZD25DFi8/Qbj6cwcPHk5dktMssUAbG9j/A JqwmSm8Kul0D+G9bB2ObxqNXXmDA0JA1zo5HjMbY/gWq5Pt5/ZNdlYYkuzldnlFD VYjjvWruICUdCP+4AxvygDo3aIatiemzckI2v6YsOAIdDAkcf8UnZrDBTLCa0r1u oZFP7OcJIBA7blK8nqkWdPFFKBm9Nd18TazZJMI3YLeTnlR1A5acPMr1AVn2cS1N JVWxDTXLqMZh9Z3MvL1WrX1thvFAm2i+2Cw+ePS4QV8kmBJmkPsMqYerWQbJ1d2h OmWXMZQ6JUjgHzx0fdb9rbSuOVvnl6hYJbzY33PzlTsAEQEAAYkBJQQYAQoADwUC V09iDgIbDAUJBaOagAAKCRCGzbqGt+MdAp1ICAC3cCGR8Wj03XYNDEHvX1CbAvft ysuxA5zB2M+xEUDSltP2oAmgZU6vlme/Yi97rkAGReDpkTJlZMBwJ42XiEJyzKG8 pchSIucOmRqBBe3rwlRYfciSu2+rtg2+igAK4Ar7WCzfFVT4Tpsx94rAOLhRjk+9 w/tZXj3Vx9iE7c310oMp3FNKLmijHGrDJlGqOCAIx72gD6rLYxWl/xNXbi6j7/BJ AUCMhTDPxazrLiGjRSb+NTrPIAtIEKLLKp6tsQhfOYjm1PHfZWT+Z4PlGu/iPPDC 3a/jrw7oEgSIxR3fu0/3wBCYYpwLTLqKWLxcFxW6fVO2/qJHXPRXTC6YqHWS =H+pD -----END PGP PUBLIC KEY BLOCK-----
<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-----
<sgalabov@FreeBSD.org>
pub 2048R/82A681748682CA20 2016-02-24 [expires: 2019-02-25] Key fingerprint = 66D5 DF41 FA7C F850 406C B009 82A6 8174 8682 CA20 uid Stanislav Galabov <sgalabov@gmail.com> uid Stanislav Galabov <sgalabov@FreeBSD.org> sub 2048R/DC04B413C1F2C9EF 2016-02-24 [expires: 2020-02-24]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =cWHK -----END PGP PUBLIC KEY BLOCK-----
<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-----
<beat@FreeBSD.org>
pub rsa2048/A583FB36B6453181 2015-02-16 [expires: 2018-02-15] Key fingerprint = EF7D 332F 4D4A F252 BF4C 09E1 A583 FB36 B645 3181 uid Beat Gaetzi <beat@FreeBSD.org> sub rsa2048/5D496E43DD25AFED 2015-02-16 [expires: 2018-02-15]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFTiWUkBCACkQ0vihN3uv2hWAlqmmLkb94k0pJ8JpS3CuZoRItLwNTA85HSf oiqCNWOMyLZWPB8xKfKo5FTIJqXB8T5jRxWBuBLmEM85pFZqYd9lNHyrzOgLJ75H t8XaBEnTOp6YqajV2/KFqKx8nszalHn3zVclDUt9zClx9bNAKZs7lsM1EzUFwMep d+Bc4aAz0mnH0JrbWbDcca4Hz2XsR9R46J0GQSHFv+psN/j1ceqy5MFrLpLTgK1v mLLJkxxJD3Rlpx9vQkHY+PWp40D79WuakgvTFNF87RIBD31t5psuDqKVAmPtlw7L Viqw10Y1HDlm2W600J8GHljg54rm5C8RlhdVABEBAAG0HkJlYXQgR2FldHppIDxi ZWF0QEZyZWVCU0Qub3JnPokBPQQTAQoAJwUCVOJZSQIbAwUJBaOagAULCQgHAwUV CgkICwUWAwIBAAIeAQIXgAAKCRClg/s2tkUxgc9HB/45LlWCrvHJQFHC1+wnBhLX F8UuPnyKlevaLF+s2QmcsCziIqN9+N31sJok5TP+rbJCQJ20rFWpFGc/Vcs0gh5U TzL2UQmmSSfQb8Wk32ynEVWhqSS7qX5e5ocucC7ZJen5AFdHDBQ/JvaUimbkFvJL C1I0SOetiVjFo3RKjVa90jjV9SCWnt5iDl8lsDD4lV0kAIw7rmkII+JLzkr/9w7C 7zuxc0KdXAwVJ5QLBDZwRndK5L4B32VkvRnS21q9TIkd5RkZRg1hu6i90YxyJfZe r7PHwgtjIQjBVw13UpmFgiaHGRaVqN4/JCZO7XgiOuIxOMco9/WrwHdouU7yBWLY uQENBFTiWUkBCAC4LG8JkbCX60JLqCktdOvDtwjgJngCqEdWAMOwe8P6YXD5zbAm bqeCdpB7Ow/yYoSj2sJ/X8p8mh7OMJaJEchK3GwzmUlgXOM8jx5CqZom7BrzG0ne PFMNSPHJOql7stbFgTW/+5BB+491yXXEKm5koUtJtemc41+HOoVoTRnkJ64pSOl+ Z6uehLdfs0pDLXMiOsP7OWho33kQqJ5FMFc0Bbt2CfUWHRroaBakZLI7B1ZOMnHE sfoJdcX1RZY35U2SFiHx1+buVPproIq61pdOb0sr5VdhHVWGVGgBbq1/xqH4zcsU Zt12neW27NVaRrv8vKQn3u1eJLKN3WdHb1FvABEBAAGJASUEGAEKAA8FAlTiWUkC GwwFCQWjmoAACgkQpYP7NrZFMYH8fQf9E3qkurvqtj8ITOQBtF0/LjcKfNH+5bt7 ES9tmrS+pz3MoTNPAAwtdt6aRlNEqnEiqrrRdwpxcoWWuWIVSJuCMF0B7L5fm1iG J+5900IGUJwSeAR9uWpH9LabqGeJPfaKlYDNwlgUGfaaElJtbFHMD5dBCWg2+nVg 6XLuXtNys4i9nmFjHxVxHTsC5cddjy3D2l57Z2Lr+o2zj6wtiJlvCSfp4eEt+YEf S4quYGqLXIqZm4nOSyKj3Ka3Wv/m+kEcK/4RW3/I3K7Jh/JOj2hFG0q5dNBFPawL cfVSfS2y6DW6OHt1Uu9E+/A7ip1PckyCXUYHYGY5k7g3h4gEXWclXQ== =ZhGm -----END PGP PUBLIC KEY BLOCK-----
<danger@FreeBSD.org>
pub 4096R/7D81BFC724F0CF16 2015-10-05 [expires: 2020-10-03] Key fingerprint = 9523 41A8 77DD 42EE A950 06DB 7D81 BFC7 24F0 CF16 uid Daniel Gerzo <danger@rulez.sk> uid Daniel Gerzo <dgerzo@gmail.com> uid Daniel Gerzo <gerzo@syscare.sk> uid Daniel Gerzo <danger@FreeBSD.org> sub 4096R/777D8003C7546767 2015-10-05 [expires: 2020-10-03]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 qGXsdIuCI60PHBtf+QpKWA== =1RC1 -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<pfg@FreeBSD.org>
pub rsa2048/CD6B0B96CEF22D04 2015-04-24 Key fingerprint = DE2D A4F4 C66E DE0F D41E EB70 CD6B 0B96 CEF2 2D04 uid Pedro Giffuni <pfg@FreeBSD.org> sub rsa2048/5D98460191310FC9 2015-04-24
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFU6tr0BCAC/MABNSg8O9sLZZ1cCl8GczwjnyF6WEvtfLpIkAWEo49H3TuG3 cMNwuavixnwASLS73ppj6ziWK1QsfdAaA8Mkvk25UtenfsCTiA38q0RwvHPn8W6e orJ6rYHRReNnncA+oPLrLmL6IOUK9dlcLJP5i45PGwpx9YNI+D/BFcji7enpnsGj unhRE3NJ1YBXiKMormfnPvpVyVWpKnnB03nFIQphW108G5U9wytZqsiGkshn0ar0 FBGsdJ19d/ePBuMceaWRtf0nJrNkC9sBD8ISmFp6/DAoQBhyJxvemC83/QNV5u9k GdwemaKOJ6SdAmBBZYbdAxCO8i/Eq33mrXx7ABEBAAG0H1BlZHJvIEdpZmZ1bmkg PHBmZ0BGcmVlQlNELm9yZz6JATcEEwEKACEFAlU6tr0CGwMFCwkIBwMFFQoJCAsF FgMCAQACHgECF4AACgkQzWsLls7yLQTFEgf/blVvg7MPpZp/KWwEShqIVpkJLhXL jvYzjoSCrpuVtNMCdpYh3L6gY5mBr9VASc/iWb6DUUxX9g6oLQ4l1e8eEwSHdXda RG/NjxJhz8dsLO8H6dnwl6HEZ+nymXIibX6GGy10gQeyv6sNGsgSCwlyFJZcv2lW 2M1ev11w3yY1eQnIsPq4vyIMYEQ1aIIYu1JPNEzRZ7sDuRGdnvMH7FhHaNzSs8d4 PHw2JSwDHPuN/W6SUhK+A/TDW9BQ4ZzDRpKrIPfWqkAa+76NtGglmJWS99WG7rJA oPUIj2xpzojoQbT3z1vbeGxKcgGvOyQMlrJSRZwOtFuhcdbQ6DX4ETI7NrkBDQRV Ora9AQgA1ACQK5u/H1MgjSKXQttCv8Kz/k7fHmaWLrhPAJH6bqR7wpv/Hz2y/8uD +5qg/vk9/pwYuj9TzbCXs9NeWye/+DV8Aw7Z22b2OjB0VbEpHREDs0zS+0KMP7ST OPpyHVYdgWCQ7Qgd/LG0gfUP5M0R8s2OH3Il8rcS4ZeEd/trO3LyoDiK4mInT/X3 oJX7xetws3jpSPk51TDOplamehXjndwemttUTw1czITF9MfDosaihoUro6NcAtBz FYIF2NuKhrASs9prec+e36a3lCUbMOHof62TnBZZnWtNdmnv1RNv3q17yavqi0F/ rvtmckHhJ8NcnYL8/gGD48nhKf60UQARAQABiQEfBBgBCgAJBQJVOra9AhsMAAoJ EM1rC5bO8i0EkGAH+QG/1y0mcOBFsouMdmDUpRusRxWHdmdIjFt4FJ2/K7YDyrli KcUTOp+zjCyfLVE6UELiRvsT+mg4QcZL7e+JAuLkW5LhiAskz8/1fRgnwVquTcYd 7TPJrYnejpLyumhbsgo0bN4Gs9yrJeQpKbln6YQxifzT4Eqot3aEeZxlUEKzQd0V q1ci8PTI1krvda9x+FdGvKxY9Iz4T+SWNZsvBaCXo9hjJZ7U1VaCdWxgHhy5tuTu MAGGS9lCGbdvdKuAbSQDtcvx0jcY5s7Q2t2udCyVmRDbQYrl8PEyJa3Cz3NoBD9g 9EEr9PlX05hOWMVf3M5pS4j/XKbzUbKqiBy1VPw= =TJfB -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<danilo@FreeBSD.org>
pub rsa4096/8586A54720E27246 2015-10-19 [expires: 2018-10-18] Key fingerprint = 691E 7D8F 6521 8237 8EB1 1173 8586 A547 20E2 7246 uid Danilo Egea Gondolfo <daniloegea@yahoo.com.br> uid Danilo Egea Gondolfo <danilo@FreeBSD.org> uid Danilo Egea Gondolfo <danilogondolfo@gmail.com> uid Danilo Egea Gondolfo <danilo@gondolfo.com.br> sub rsa4096/C2F847657133F473 2015-10-19 [expires: 2018-10-18]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 vl+KR7LiljRreb1+/ZAIUw0PGg== =M2pb -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<anish@FreeBSD.org>
pub rsa2048/032E006E119E57D4 2016-02-21 [expires: 2019-02-20] Key fingerprint = B6BC 1DA5 54F7 1115 CF3B 350E 032E 006E 119E 57D4 uid Anish Gupta <anish@freebsd.org> sub rsa2048/668CCACEEDAAC016 2016-02-21 [expires: 2019-02-20]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFbJVRABCAC3/9EneVE79wGo9OyCz23jkC1zHL/Ol1eNwVv30IjvHhjNgZyd uCMPOd+dF8n5R60wR8ss6RkJsLFLmnqILfMQFmYSIFWVH4FVgI3grm333089W5u6 FoMnUdM2a/WGkPZb+MkrjUU3DtJX8bgZ/97589xhsTv2pZZKdu/prtJgUuJAj+sw PWW/CNNdw3hC5TY7KVY0/8NPO4bq23UhltHwrAL4eUFT2R7uetpVLKOHeQCvaPrp 2fPmPLYI9ThyzFYahp7ieOowSnsKEpYSUCbGmxPQqobdi6Nl5WZPybmErjHvxGSS qd5jG2Y8206a/4QSZ8Xv5TBjSo8TbVsJMqTnABEBAAG0H0FuaXNoIEd1cHRhIDxh bmlzaEBmcmVlYnNkLm9yZz6JAT0EEwEKACcFAlbJVRACGwMFCQWjmoAFCwkIBwMF FQoJCAsFFgMCAQACHgECF4AACgkQAy4AbhGeV9TnKAf+KtKiDio5S69n01WjAFA8 4X6H3lYg4gKW1ne8M45Zw5HVDLzQpSDHQgHniXTHi8WwFAoI725upYJdK9O/NBqk J3Ps5hQKgvnUFm695fIgYLyMpUA+c9E1z0hne4HkwD2zniPVr+x2DJR+bowDjMae E2QAHvSeNb5Hq1H1MkrzX7Y0Sq0CbLPQyJmXC/DScaAwvFnmWqvhryoB3NZ3CIdl JPfEHZwukUDHMtqstrcJQanXbM15/v9Utn5FPb4VNBf46H+w9pLCCuh5P/GMb0hd BHK63bfQrn4nyHMuUCyqmxVG0E8UJyHxq41eMBoIu/pDzAcnSiHm5FnIbpzb35S0 rrkBDQRWyVUQAQgAstc0Xq4it8F8hxvB5pYMRScmBuRlSuIJkLaXCKjn63d/F7PT 7NGzHUSKRdINIhHUbEB2dxvo4BS9u7SAuaZgmWA6oAU9t4NApHYXFitG759dsOTB 0KAd3s1+lqAWieyz8Ncn2/eknpDPbukosVE1ZcXYZ/SrZx+UAFnkonmOHkX4hTvJ 4z8mK+f0a7a1pPYNg8VS60LbGB0SxGbM9H/XrZ129lt36JgQ9QC5zNaIzytWyK9w 6vPyKb9N870AOCq2ZZx26Y9FGHGiX0DGlduUag/f5ILYMU6f4NrvWKvOGeiQr58V /RY5W4Eg777HKBTeBX1Cc+R0VspyugaTqVLECQARAQABiQElBBgBCgAPBQJWyVUQ AhsMBQkFo5qAAAoJEAMuAG4RnlfUQkoH/2StzjGVHGFOKG1WGsFCF4oOWMlp3wMX YaR0ZVPF6I5kwxHnO5vrhPJ/As925QATeh1KWIi1fm+KP3yo/d7ozNLt9zINxNin 8cR5m/JTlvPbsW0VIJKwAdzQoiOaalUXnWurGs4ml7kGvJZkE7C5bjp6K0xqS9zk qb2YeAbxjsXfbyyiO0pvnuVCdID1j6lg8JaDJoJSyVQJLgZjnXVmE+JoqBBN34da pBCGZ3IC6OLkTwaadin3g6jfFj9fqocNmoVAcAZ/eOqDvghPJ0HVZ4gv7IDMGeME yYsjZ5GFlIHhiYnFscnCnCfMNlBYpFMw86EdLXpu1Fz/PR4nncOj5nY= =UfPx -----END PGP PUBLIC KEY BLOCK-----
<jmg@FreeBSD.org>
pub 4096R/D5FF5A51C0AC3D65 2015-06-11 [expires: 2018-06-10] Key fingerprint = D87A 235F FB71 1F3F 55B7 ED9B D5FF 5A51 C0AC 3D65 uid John-Mark Gurney <jmg@jmgurney.com> uid John-Mark Gurney <jmg@FreeBSD.org> uid John-Mark Gurney <jmg@funkthat.com> sub 4096R/A38A405AF6F5641B 2015-06-11 [expires: 2018-06-10]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 uyi3m0UPaEpyuVOIW5nmVZltAPDo4MTn3FVkBWc= =RYUr -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<jah@FreeBSD.org>
pub rsa2048/BB9F8BF992841D1B 2015-03-09 [expires: 2018-03-08] Key fingerprint = D6F7 142D E415 8182 FFC5 E685 BB9F 8BF9 9284 1D1B uid Jason A. Harmening <jah@FreeBSD.org> uid Jason A. Harmening <jason.harmening@gmail.com> sub rsa2048/65B797684FD3EC2F 2015-03-09 [expires: 2018-03-08]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =+qKo -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<ehaupt@FreeBSD.org>
pub rsa2048/104E62C545316E89 2016-01-30 [expires: 2019-01-29] Key fingerprint = D9F1 1649 6964 99EA ADBF D1C4 104E 62C5 4531 6E89 uid Emanuel Haupt <ehaupt@FreeBSD.org> sub rsa2048/AB8EF8AD753A7017 2016-01-30 [expires: 2019-01-29]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFaszWkBCADVp+7y+SXuAtQOhVL0gxWCDYpVD78h+jKEx+AASTVaIeOg3/p5 ulVNtECiRwdRFINR7CSHYgFfBr1GQrqmxQR4wmAJ3MQX9q8CjFbDtYwRludw+tSj SteEBvJ/iOAoYcLant5HiYxmK1jR2vMjPv/qZkZwWGyqWFpA08MquKnZNVwMvbrh RGUDxFxnA4bijmVwyLoSgoD1Dbog7X4jEhXWahb4aPf10UWjTmiFg03sG9k3M48E jf+gLciKNYbOw77WN1EHgtFiTGvkymXxBWQRxAxi8oUDjDe84pPHkzMCZ+g4j/xb zQ8VNWJwCijavwF3NkWM2RC2M+h8Qwf+494rABEBAAG0IkVtYW51ZWwgSGF1cHQg PGVoYXVwdEBGcmVlQlNELm9yZz6JAT0EEwEKACcFAlaszWkCGwMFCQWjmoAFCwkI BwMFFQoJCAsFFgMCAQACHgECF4AACgkQEE5ixUUxbol61Af+NCCB2+Ybg+toEKbi II7vIK0rCPwhXqkzfF+HCIHVkWV+9aZjMhuqya0gfU/GkMjNbgZeSCfqGAG/i4cK cUpanWjxYS4+xL/dJ/JAuLLpRWf2x0f6Xj9gVDQlpKy6/sVQeByRzE64yD5gk2qm 9hpJhl5s8o9qWVc86D/Gzez4xipIQDo7YqfO41c2gotLBgY/nc27dfrNSQcXyXp8 fjd6sEm6oZFyTU+IBaIyU060e0Ur/45usxrkzj75nEr89nbz/JPUlPxYg98X1+Od Vjev3TBt/Q24Cy1ThngVI7WJ7E/rujElASr5q414tmuQdGek1wJBuN1sTWAK2PdE gW8cyLkBDQRWrM1pAQgApPDPf/mWenG0VdussTFtK/uN+izGqmUfTmXRUJJMiQab 5FRtEsRVW0dM6f/9WyBASTLpKuGRgTt46pFVFKRsCg/ISq3jGWzE169exU+EI23k 25n9/Sx5c1c/1RwzybZiN4R7tPHHKWTqL2ULWK0eJfkfeGa1kopFZrqSSSFQJNFN PCHYcMlESQo4E/Vbnt+yw/TbZ7oUU1s5u5Cud3CkkiPs2R/O9soOkPI3WFfziZzc cMMMSMwymVwnMESu1Klt7Yx6oDExIml/q5/ciKgcO/lu9tf/cMvy3p7JMsfs0475 yYJIgnjnWDwahaXhxM/HjvhumF3JaYt5LAspvH6p5wARAQABiQElBBgBCgAPBQJW rM1pAhsMBQkFo5qAAAoJEBBOYsVFMW6JBXQIAK46hk9Xu2jpxvCAo7qQFBA7TgNF ebQhSgBnaeIN74SFOA31YFrUsmA/DigWbuo459fkIBHe/uM5kxHsS1Ook2Gb/o91 QYn4kJ46xQvlvb9c2UvtS1fgyl9gozSz9x0y2O9yvcu6hh5byTk5ZoQIHm+miGhQ yo4xvsSkiIaO+SCzm4EKqGkXx/kDyJcBbvNtcwwOw7HVwBbYi+GQm5m3bAkq8EmS etrie68ENplCuu1cIcH5xAYzteO2xpYzAQiXH4stZamNK7ayoxKwPKj7sgPUkuwd pR1O0Vrq33GQzNc9kC8G4mfcECXZKlzNXpjSpgbCpEnvNcHQG1eoawPhWYs= =MRc2 -----END PGP PUBLIC KEY BLOCK-----
<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-----
<bhd@FreeBSD.org>
pub rsa2048/B93D05A194D5A763 2014-11-19 [expires: 2017-11-18] Key fingerprint = D87F 0EDC 4B51 40A4 AD94 621D B93D 05A1 94D5 A763 uid Björn Heidotting <b.heidotting@yahoo.com> uid Björn Heidotting <bhd@FreeBSD.org> sub rsa2048/774BC281D252F376 2014-11-19 [expires: 2017-11-18] Key fingerprint = AAC8 C89E 7CF6 68E2 6CDC 396B 774B C281 D252 F376
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 7LmHy7wvCm28Wh9mV4+gqw== =FEeO -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<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-----
<jh@FreeBSD.org>
pub 2048R/F9A44D24949D44A4 2014-09-23 [expires: 2017-09-22] Key fingerprint = 2DFD B93A C98C A47A 6920 1FDB F9A4 4D24 949D 44A4 uid Jaakko Heinonen (FreeBSD) <jh@FreeBSD.org> sub 2048R/724C087956D7D3CB 2014-09-23 [expires: 2017-09-22]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFQhjr8BCADO4CDHfqgpGdWjrWJXKjxrxCASt8WNyyID/kvWaD1HzNMiF991 r/OYHFVGz402KOuPCqn9TKUiqt9Dws3xheehymQmhvIaoorLOGqmOMr14NLaCPgO kX3jtW/Md+iez6hFhc9TCPY/fJbBGostyRYV364Fht1Y9XJGeGQBva3Fk8fLQ7xQ T34HvgUhowRa+RaYX04ElNz0Vk/1pVWBTcbZVFkbaZhH2VT04FWuJYuP9pZ0b5aB F/K+0cXDsGhS1iRJJm/vGZGvtc3c9aKWxFTEeZVrpgiYJFEierzfSqGIdYZK9Vrf dztzrAzmDjVMYFQVb1VPOZTumoPm6ds8cY+vABEBAAG0KkphYWtrbyBIZWlub25l biAoRnJlZUJTRCkgPGpoQEZyZWVCU0Qub3JnPokBPQQTAQoAJwUCVCGOvwIbAwUJ BaOagAULCQgHAwUVCgkICwUWAwIBAAIeAQIXgAAKCRD5pE0klJ1EpCq1B/wK5f1T sXgloT3wvHcUjysBbHLtEP8tdKyalIPCEoW0BAcC5Mx5+8DV8Q0nKwMBRFudGfay YLddRg5uIykJa5x3Rkdyx1hpJxSzfY8KdcNvb3A8OXDpxjAC7Vb7FYmHA+dcKq/2 XBxM4ynuJxIzmVxc3jGMz1AiB8CGmehOBCzYYGYeffXGSjIv8nq+Ak4s2+IVRK3v cbbA8Bvt2C/PDp6aCiy/JDEqxBzf5ddCaQ0fzOoeR/wyUlk41umIgLhiF1r8P9mN g6kImIZ+YFy1NnKA8buc1qAK4Jyaj6wFr3A+v9BfWRTfvl0yLz4XnlzojswpIx9Y 8aBy1mdjUJp1CxknuQENBFQhjr8BCADfoUiys23bKGRjR02C58UTgnRtdL499Odj RS8kRG/At6qECK8XtX4w5qjHPTY005VWyU7HVK6DQ7IjokNkm2TY7Uq2HdYjBtUj yQr5Ae5vKJZQ5Miav9RLoFU25nxi2ob2rgvPNLlT0fsJ3R7dgZFCDbrkmTtoi8Ke 0IYnsqcbCGWwIZNZTeLS6Ykg24y3kADxsCcQh9i/WrnRTTSKFGVGAeD6Rxf+YNNq /ppOk3locuC5gcvX6CSUJdqf0gvQeJv8v+lvMXYBwPnX7FC5Z8kZ939LaFSs3kcU N5/+gAREA8o0H/lA1kiBuVgo+6Px42IyiUOIRI7OdCb7H+BiT2k/ABEBAAGJASUE GAEKAA8FAlQhjr8CGwwFCQWjmoAACgkQ+aRNJJSdRKT9iwgAgRb32jaLEAMtrKfZ XbWBy8bSUsQIG+n7WGaaTbg5DgWQODz5VgHyFZDAM8ps/pSMHXl3P6fZLLrWnxcK aL9o9/uY10X+BPcLF4uH93TSM2IZyrZvHzqO0V39Wi2pBnSrgYPbaQO72MvHidcG AzldV5QRRCHVUc5kENsUX75AdXm45fCJqG5F7l+Y7ij/V3TVE2MJuWBZLsPwmVtR qUd6g2D8/6fx7MUXOIytCtkGnFogzBNdKsSAyGRgOHK1m72IcW63oPEkO2VI4++W mEv5mI1LpxQfnEGxkkNiWHVI7BbD/jXdyUChPoP3I1lq3/o2WZ6Tf5SAyRLco3Jq Slt66A== =wa8M -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<mich@FreeBSD.org>
pub 1024D/0F55F6BE 2001-08-07 Michael L. Hostbaek <mich@freebsdcluster.org> Key fingerprint = 4D62 9396 B19F 38D3 5C99 1663 7B0A 5212 0F55 F6BE uid Michael L. Hostbaek <mich@freebsdcluster.dk> uid Michael L. Hostbaek <mich@icommerce-france.com> uid Micahel L. Hostbaek <mich@freebsd.dk> uid Michael L. Hostbaek <mich@the-lab.org> uid Michael L. Hostbaek <mich@freebsd.org> sub 1024g/8BE4E30F 2001-08-07
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 nQO5zgCfXsb8wtA8I0ngWwOQxrnRRE7+Smw= =j3Mm -----END PGP PUBLIC KEY BLOCK-----
<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----- mQINBEyYYaIBEADWrhv/KORSG/57xuZ3JvTUUfQ/YwbgqQDgBErpSok/B4XkTe9r ucpM4Gwb6QtqLcAhmi8QHc0pBxHfG7VZbmf4439o2H1U2q9l7Pyq1bMijeEYxr94 RWj+IykGhMfsDotuUz2nuo0NOQQGFZf0ONuAse14iP/mibUuIE/hGD/zOrD78M// afzJLhFq2rKPfsVeAxax138ZD/ptHRIVik0QKrAbPAD5EzfItXIkDHRUkD3nFtDH 3xhj+jox4NV2X5OOKRH53dMfW2WYLHeKRfWa89Vr/J51jWVyt6a8DfMwnAhjQW4a VeSKrFVXZ0bNuHBvUgrCz+/IvTOdA2mufvZ81kVg2ZIpSJYKzwOoLmgL6ixlaLJA FlowecuJhYmnFQd/V5aTuQGY4g9HCthfFHlffgPWTfT3VJhVg60GltMVuHoCzSJJ Y5sPMC3Fdyblq15fONexY3d8LlfJJRvzJYjqs/S+khtmbmmit21U7eRXJyszHov/ o18qVWE1uvKbQwH4cuDDVj03uMWBPwEet0lyz9zfHlEjOIfhit70ZiMWhHcxQ5OI s0DQ0gl0yVw0t5ToyJrjahGjZvFf7Vzk2tpMo6wACbugrsaw5GFq2VfZSQU3VPH2 3FMK2c/p9PIKyb1wpFPXbMP55Nmnv+CH2yllvIsq1prCkfc/OHTNqNjoxQARAQAB tC5Qby1DaHVhbiBIc2llaCAoRnJlZUJTRCkgPHN1bnBvZXRARnJlZUJTRC5vcmc+ iQI7BBMBAgAlAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAUCTJmZPQIZAQAK CRDcRCR+zFfja7I9EACdwaT6w1xivkKG8X7YUKdqMJREdEijvv/VZBd0dh68wYgz YrOhkNqRXO8R1dJ4qokTLK5/p89gXWX1w/V/2o3o1UBCkJ0zPYKfL9h8PNVVu2NF Z2hWnYOEmurrHRlhfjCHyDtxB5w5E4j1+hUi+S9L/JzNQEtxJR1+2hhGbSk2TB7z /ZYrV+ixJclkWdrA5JjgLueeantu52RG/wb3GTfh7PoM+tlGnqiWN3YU0jTq95u9 n8SgTOGjdN3uTJXRNZn0isJ4gzGKYZ6lDIk30oCaAMKiEc9fu4h3sKzm0DMO0euU P0/WJBvzdmitFhU2Otq5VYurlXzRqqyQy+ot/39H6jQcQRfyKJIc2Otp9tbqh/Cj KWTx5p9NDMiA+DOsUnXZ8Nik0saY1xQkCunpFaovNGlLw801tQRSZd7cr5Xl03S8 eZKJMlsRmvCO+gyHf/Nt3csnYwttB+l/g+LWXXp+fJJKgUynGaWcckeGNaogxUv2 YSa7iSuca1FrLcmEt3qL/6hcLd7ll1o3VGjzwD++SxK/NCFl9NWDTk/Wl4Ko58XL ZFpi840qhFEkz6YCvOe1YSwP1ktrLO7zBFt3OzceMk+akbMZaY/aiVjnCuqfjHkz htI6hfwF+TmmrqE8FuwM9jWnHunEfD8QwL88+meWC5rC2v/meRBUUsKPwXU+QYkC OAQTAQIAIgUCTJh4RAIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQ3EQk fsxX42vpmg//TCT0kmHnPJKzFDWrpaopdHDEQKFDiqTzZlVysxh9E6UoT84ODYHT Wkrqe1OUaPcLDjf8o8Gr5kdRFAgfQ1HOtAyOMNt85VRuWR/QGHQ+UKulfYc97W2+ 8X6ZhbSWBfiFWtAHgnS7grLej7bIo9lvgEZ5AItRggwmaIy3bk1xSe60p+G4K6ZY TKe3QiEsksnT/2iyP+wna1VInjP/VebF3lvic2/edCkHGtUdTIXG8W3/rxybU/QE 3rSdAUQlOGfwI3HC2Dwj9q+Wcb8XvIICZslK54EaCmDnoWFUwNgptOFjmKYNQ9tl AvqmEsZ3LRBwmSoG4AhR9g/dfhmC3Lp1Qa9f3wO7EEIngQuNaDLXhGemv1fuYH/4 jw0u/BbfVhFu4kTZKzm4/HMRWtN7mmjrjud9QHjOyMAwo3Yt4y8jKDp9Pi2aws1y G+sChhDUL0589Yk32WPdJoA1a8jrI2KCoAMET+WoWFq/0CPnR5kj25k+vOTRXqvb FEEeCFOuRKs1pZtYjvLsU41et1o0HZyJ9GJcyX0w2LH3y8mVY2JPEBUHqV3El1aU K0EZS+NURV92DnPn3DsRO83ClGIhAt/aFv10tLOYDwxJg5vMR9va2N26GkwAQFtt CxAysFaPm/UV/zCa5pG9RxVdES/7aZWLUxt5nfLVXpNXQO6Z/TumcoO0LlBvLUNo dWFuIEhzaWVoIChzdW5wb2V0KSA8c3VucG9ldEBzdW5wb2V0Lm5ldD6JAjgEEwEC ACICGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheABQJMmZk+AAoJENxEJH7MV+Nr 5/4QAKqG25vrRd7DznxJgouGIx8uoTuwcCsDc1IHhaDBs/zXeIEr86HR+frepGd2 KKUPqwjbIui6TP350YgvEZWoCLD44ZLc8MjFviYO7IH3FtEWdQmkndYNA9n8aq/n j+XWtYl+oe+3wB4m8eWQp50iFJsftLJstP4LU8t1UyHZygPSNPEfCEKjJ307rwNi XPXYXqM1Z0VbYghobGo1KPL3cIXvxTW4vdBgM8O0dvnN+eFYsBalLg0FUCWdXE9C vwwOkSqlIEsb017s8Fg5I6HPTdnWNJq/Wtsbh3HrU3rzm9uZR/zyfsnY0FHxTFaV PDN1XTC9OeYpLAui34Af+JvZr/n//cGJkitjJ/NrmnHK17bNMH3iJ4LEJM90NWEv mjZyW/vOMRZ4+9oySoqk6eO3B6s4izkjfg5PHJZaq8tndGk2FvhYCYP3xAj7ybHc cZaD9zB8l7MLzWBBlchZ9PfFxUyUI9uXUtDyDNiEauiNzsScCAKZ1N/9UmDH7k/c KJySpkTXl+uR2pMy1cGG6WcT/qTnSozfML72dCBOiUDrq6lR5nd0ETTMGJ6ZWNnr ++IiTCBENvBDe6oCsL6NTrKonHyK0iPnplfeYtLIm9R8cOx0att5L+EYNeMS3p4i Vu9wIxkQz+FQOFClHvwA0Y5VJvqO7bDELL/ppxktuqjrvZnNiQI4BBMBAgAiBQJM mGGiAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRDcRCR+zFfjayEvD/9W OMDp80MgLIokMlBiMyZFF/7FvsLguLlhwNE7aG1c/SJRVozjohcUZWZgJfrB3yTv bIYTmtIzXxjv0n+ouYfEVfd4rj8fBonQQlqKADRDWy92DYP/84L42D7SFUZ+Cfj1 kp34FHcAaf40Qk4ZrnBm7keQ4PaBFF+vJK+CwqOuec/tbAt/wp5lnQfCTarQY+/P jp9uRrT42eMTTla8rKz6Fb7n81CGCzsWx237GgMCwql8QT/R9gFj/u6l+QWvEp3O 8F9vxR8hZGTp7b5VsVraLtUkUxGMUtSH4QkjtwPhozjy9Kk0jcj9WZ3qwa5JqfMx j6OEXrfwnBAc0e+7NgMWgpQUXpkBzPXpF3UWP4XFzPJ2zui/YGsKhC6VhiGwaTcO vI8nkSdI6/iU40oNOTQRP3AjNtd2311AHm4mwqyWJ/hTHEqBiF21pIGnvvSPBFy1 yECJ+wdTxs1y27ZunaiV8CzAWSqrPi7LPA3gJyl+lkEDWs7QFbi9dEov//CfRacz pUM/BaZWfDvkwU3nomedI7RwGwC5EzcvMjtzmvVGQX67mSMqFq6DCumVNchifY+B IV+tjkl83tn7dJ5Nkk0pMJnxaYjCPqKuNm4BthysgJmwltQipoLEyGCIL5kT8twg gxZ472wLYW0yODDPpOUAQxlBC0tF8XFDF6bKeQPh37kCDQRMmGGiARAAvvvxe5Sd W8Ql3NCCxkW0pVGcgMEWYhzEj73cMVj9jaUlSZfR5pR6iM06JIEzb+xUX2HV3GpA gWz1130Bfiwjhg0RPFGgH2A7I3ZdNharmiBQx7sRDS+SF4gf0iqBmdLF9LjVErPj PR+sfuE73Z1VpaQdIEylgSwVuissbq65BtzMY2vSERUuLbEEMA0HIqpd6qmkEpMc Xqof0KKA4oxwIpRr9TDQbe6YKpNUtEi9JsJ724ettDUgiacD2o5IdpPcFebFO2dm dFXenegtO7UtufZlxVBN7yDBVtaN8gYpzPmMtTPe892z3l7B7xbY+kJanjbtxlgu RzK3omjIIB5o0xTkH+bHX2upVBvAmDOwX0PINnr0yEiZspqhclEpI8Zx+yVD4rLC GgI3VabojgbBVDyXCfhq13bG1J6hS4gzyNQZ3y78jGzxyYFc0o+phx5b8v2tjy0N HpGnky8Auh0vHhl58FiUCfzj045u7Bi81Z/cEUfrjphJRoHHgWW8rfISwzkk9JEu 78BV2vt9zIup0aRR3zgC3ahIxIWHxal54zQ4fcjoQlxm/xIlqAyfvtPWK4FR5nYJ keo9aySYidDbxZUYneX3VRJe6Qoqs5hSjMJ3mvpITXL3n9ef8vw6XarCefCCPOlK z8Slj+pAPJW3l0JXDylGHq3zmcAjarQdq3cAEQEAAYkCHwQYAQIACQUCTJhhogIb DAAKCRDcRCR+zFfja6VDEAChXeWV6ZNUcIp/dpb6cBIZ4eU4JJ/m0B+qPhJoKlat 0Tpwff0DOpKZjyJRV5ZtWZqWpBQqFq75/dNP8PFEk2x5TKoh74GU3kzNzNx88Lk0 igdVoKmXaXn1/wbmO5eBoZL40Ft3SnWeGlxJHZHA5UaHpxtgS/wAEar53QhTx2aq CxNOHS+JHTEZAmJzGHs508k48IMnUxaUgBmptygVYErJQ763LNziCoq61t4xGnET OyLEqUP+X40TVUX24lFChntsX+8d6OlL8I5omftFgdQ/J6yO55Fun39gCVHpM4qB s7u8o5wQjgz39Sm6V4/eAaGjuheMSvIfp86kQrkHVcgqAiZw0utJF6dg2xgfwE3K nZkrCZkjeeWcwm8j+JZuCRNwNuUBGn6dLjoTxz5DUHzwm0FTByWuuUkyeuMz/QKH OPaxmguZNh8Z7SAo29iSW88Y55AVomCFleonD/KgY9HI7lSbZHJFmq5tW508LzCU dwNf1azBMymvk6d0lM8jzo0admpu/NsCv/XNgS64CHz3bsuglopV2MnXFe0RZ12V ydGUpB2/YsbHf5BVpgD1IhkfoGWJHOj1Gol3PBk2a+fy7znYIUr+PpW3KS1zVO0B q5TOgJps2BCtZsRwFntQVPXnNkNFFUENvz6mV4LQg9dIKXrqD1IDN/e/t15TDLoU KQ== =zTaI -----END PGP PUBLIC KEY BLOCK-----
<lwhsu@FreeBSD.org>
pub rsa4096/6727E77C8862B656 2015-06-13 [expires: 2018-06-12] Key fingerprint = 107D 53F6 5215 335B 7094 3F84 6727 E77C 8862 B656 uid Li-Wen Hsu <lwhsu@lwhsu.org> uid Li-Wen Hsu <lwhsu@FreeBSD.org> sub rsa4096/081CF599F48DDD68 2015-06-13 [expires: 2020-06-11]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =JD7p -----END PGP PUBLIC KEY BLOCK-----
<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-----
<whu@FreeBSD.org>
pub rsa2048/E6001C673CCD08F7 2015-02-27 Key fingerprint = 351D AC21 7E16 BC06 7CA0 7705 E600 1C67 3CCD 08F7 uid Wei Hu <whu@FreeBSD.org> sub rsa2048/0C7F6F103AAA0465 2015-02-27
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFTwOCIBCACjw43RBjeX+4OOLB7qRHyoSEr5oC/u8Nk6n4MeFFKRgcpqYXe6 ckoQ4jGg8rMTbnsiLUu0OcMUpp4mB/47zc0FXOVSsU8FsBapjxXRsgqLDUZl96Tm 3xgvgIp6GoIoOvC0m9x6dB5NywKrAvl5pVA0/g2QsinRqaHLrfIYhZpMqwLzGhwf m8DdRJ5D95vzG7bJBZyg6phmK5cgXnH2pLtDqo4NPp5weWl+BsvyoblPDocy0Hwx StHJbRGqstseDy0UASu9btje5DVlQ4bq897WbOi1yzwA/vbgaL+2B8QGBC+l+cjJ +S2pEdyDKSWCkeKJaMa34Mp4xs5/W1ZjZlt9ABEBAAG0GFdlaSBIdSA8d2h1QEZy ZWVCU0Qub3JnPokBNwQTAQoAIQUCVPA4IgIbAwULCQgHAwUVCgkICwUWAwIBAAIe AQIXgAAKCRDmABxnPM0I93WWB/4ojEVo+8zhVm5aM2gHNebIlVOFnOjQcMshX/dT 7NwNRpZEYV0HqJMJeO7ZMkJoirZrvQQm6WrLS91lh2Aw3Sp0mo9S+pIOJf6cOMRk GwzOQBhxPiLEPUIb4oqMeq8pEWT42iiOxEqUnKOBrBJJWQs9rnCkghzYyDVpe3NB g1pbD3Yhma5NK9aUCcC75heaXft6lwe0Dd8ddONEHK7ZMlBgem/Uf85SprFMBoRS NSQIC2gvJj7O1gGKcWxXudzFSaHKrN6iBUkTT1BqWSRwDvlwcnJbw83/lnSutodU B6UCIVST8jgrDNmb/7UQLguG0BLSk0UE2dKjPAf/ICWJu/QFuQENBFTwOCIBCACd axrZrShlEwTZFfsJM7uH7XusUJrjGEKPLnTikLcRXcCP1whXbhTinw6ehgm+PooQ rWzLIlh+Ogren/QgmKCGEA7WePQJd5DEVH11CnD32LligoRdN2P1ItHDwUdPg0zZ R4tR6xe05iUuTiErM9OZKipeFXNqjnr6ki0+hA0ZQEqcZO8rLaLoIBf5EdvNIy1V bjBSSuAIdYE0foZlCl+r7VLxFWnhB110n8vIvqmVBaKRkZx8lZ91LVVDBVJ3yuZE pEmmfbnJEdi9IPDKcTsfn0eqTDmc/dEiSrLJkKbAfvKMmlIu/cnhQdWCUC+Giyt9 kZakqi/ksgz6tSBZfY35ABEBAAGJAR8EGAEKAAkFAlTwOCICGwwACgkQ5gAcZzzN CPegVQf/WDja2xcoDFN45UCBDubdTi9XWshskymcY2WSRusp9bwo2DPTeZ9yJGn+ l2NBidZC4ppM2IDxhBCaaEtBZIbqztliVaW0mScssc3M49t26qzEHwIoVAGr7H0n RJIC1Nm4DNn1PUwMq8e82lBfRv/5hUdAKg0H9uksFr7jgDYnul3cAITujQWl51kP S7E+CS6hOok/IniQIj9Cjp1gcQ2qIP8jKRrNBNojtvQUuqUjv6605EmEQXaNkLrZ dm5daJ+me05fokmbkXgDRXyGhmcigPQzqz2ymROzHk1dSyY6L4SjF8/JL1u8fdCb G2ii6BtiESfaHof1AMVdYADgnJQL0A== =jnKf -----END PGP PUBLIC KEY BLOCK-----
<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-----
<shurd@FreeBSD.org>
pub 2048R/B3B5A1B498CE5CD0 2014-06-11 [expires: 2017-06-10] Key fingerprint = CA52 12EE 760A BCAA 0D5E 2974 B3B5 A1B4 98CE 5CD0 uid Stephen Hurd <shurd@FreeBSD.org> sub 2048R/DA5C47503253C094 2014-06-11 [expires: 2017-06-10]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFOX0kABCAC+iZzgkUnWd4RaS+/Yx2YJIW6ZPiAs+/TgJI37JnCTCAjJNlIh /qwTBj6CCaT4vYqX9Ek7XaMtJSKnzeSA/WOtGhbY0ZKpSiEUqsTiMtiPII4qlrIo cB+MV/GxWE7hlsvvHNZ0xYlW4sdJ6HpxV3u7t9lhWuheS9RoFponZ/W3ZWwM1Fp2 RM7g3lDNOMT/u23hEIV1vLO6Q2AoD2McAHOj0BcFNYMdOsgll78duso9VE5pwBFm wK2ZT7xrspX/zOtDxXp1e8Fv7/0J2uwq6/FGlZM7/FCXEsHVPnZ0at2qJ6Y7F/fa Tru0hGDQiyWUpKUxY48UMuJQkVa6OvXiPkn3ABEBAAG0IFN0ZXBoZW4gSHVyZCA8 c2h1cmRARnJlZUJTRC5vcmc+iQE9BBMBCgAnBQJTl9JAAhsDBQkFo5qABQsJCAcD BRUKCQgLBRYDAgEAAh4BAheAAAoJELO1obSYzlzQET8IAJKzlzehv3w+nQcdpWME V493OmItWZ1dIeUmuNSE8QokX2ZSvM4PybF6l9IwZNrYtulr8LjcZ6+5+bv6YXne E6TQqKYRJrmBg9tbTlQeo1KsJ5s273vC7R+tKSesTlpLFbLwXv1wEGUHDDGSA7LM jJPvZCY5pcjNWuC2HV9xpRJTTIidzjIwzduLrL8qJ3kQeIO3osRMFh/BfY7Fr6Cf LiavTbB9MThS9NKENLOlPm4fFf8faz27+q9qo5vMxmsn8IJXlpgdJB6J7v4gimBi dJVSADPZugkldNE+7v2RlDmnMIYF/QGZRc/oTDaax94CXudjXB2VoiM6UOw3Z+xc 6NK5AQ0EU5fSQAEIAJfxLU3HHtSXfzMs7N23auoi5n3sAiXqWTWoMGlRp3TQXnBt fDHHkkHxUV0Vv2p4EUyjrhJA0IZAnJXlXh7yffIaWw1oSse9ggel6Bz8AeUgvJn8 W1ujjkjws3YKlXmVk7P4wgX4l+kSdVEVm7rExiXD1107/8OPYTNS6/8ntPSvLebX CQPKVRm5CaOgBaNnf3jkWgNTj1DD4XeIozO9rD8tTa5rkccPHZdCv7pJ59JpT8aW egbP8SyBz0JuoYKL7ozpr6PMz28wF/4p+wmLi/coo8h/Jkbdf3p+wOKmnWxyRPAs s0N00si9YWbZ32f83w3xcHowUxyOwE9q7G8Ot1cAEQEAAYkBJQQYAQoADwUCU5fS QAIbDAUJBaOagAAKCRCztaG0mM5c0CEtB/4wVx5hPwxBYQPD8z5zQl2refJsVQnX bDh+Ejs78XJ0isaqqP5tyCE4GT0Ki+zYIhIIxB2p+1SsvS7lNSSWBfp3VLMnd8We 5VWfRQSSgrs5RXfFpP+7n4hD9t1y0lj3Q3kFqjieeRrISjFi4N/YT2954z8VJkot v2e6i96FclmHiOzDIxb/Yc6+egkEQOughOPo4V9FitDc5Z42wXPT4GfP2ozyW7Xj 3kWSUOVZCnje56iBVHml8L+3DVknxjbrhNJrcScTWyuqcWK/FrNBZtAK1nPlZnHb CUFyb4Ufql3Kc5pJ6zPqHZ/Kor50FMlu6L+9S9VwIkCglYAJLwisUo5W =EUs+ -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<pi@FreeBSD.org>
pub 4096R/2A4392E050E8798D 2014-04-24 [expires: 2016-04-23] Key fingerprint = FD38 1F8F 1360 2A49 26D4 4CF3 2A43 92E0 50E8 798D uid Kurt Jaeger <pi@FreeBSD.org> sub 4096R/2FC3A793B283D724 2014-04-24 [expires: 2016-04-23]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 qYzm6gQwKg== =iRq8 -----END PGP PUBLIC KEY BLOCK-----
<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-----
<peterj@FreeBSD.org>
pub 4096R/1D9214A2699F8CB2 2014-03-11 [expires: 2018-03-05] Key fingerprint = D8CE A5F2 F7C8 78E0 0297 8B94 1D92 14A2 699F 8CB2 uid Peter Jeremy (preferred) <peter@rulingia.com> uid Peter Jeremy <peter.jeremy@auug.org.au> uid Peter Jeremy <peterj@freebsd.org> uid Peter Jeremy <peterjeremy@acm.org> uid [jpeg image of size 4183] sub 4096R/E0E07EC247C92CA8 2014-03-11 [expires: 2018-03-05] sub 4096R/16A597A0E4A20B34 2014-03-12 [expires: 2018-03-05]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 AAEBAAABAAEAAP/+AF8KCkNSRUFUT1I6IFhWIHZlcnNpb24gMy4xMGEtanVtYm9G aXgrRW5oIG9mIDIwMDgxMjE2IChpbnRlcmltISkgIFF1YWxpdHkgPSA3NSwgU21v b3RoaW5nID0gOAr/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgy IRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy MjIyMjL/wAARCACTAHQDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAEC AwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJx FDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpT VFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ip qrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6 /8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcF BAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl 8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6 goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU 1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDs4DiUj3rRJ+Wq EagTVdyNtYGjK8RxqS4/umrV64WMknAxWBqusR6RN9okIwoORnFeZeIfGGp6vIyp OYbckhUTjIpBa53N/wCNdO0t3VW8yVTjaK5nUPiNPNKr2sKpjru5rz+58wtgsd3T FQqjmTa2elOw7HdH4pausgxHCq+hB5p9v8T9ReRDcQxtt6kcE1wzxYU7RgjnmkMS ygZOGp2QWPYNK+Iun6lOsEymFz3J4rtbaSORQ0bAqeRXzUkTo+duSPSuk0TxRqWk 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 og8r4H7+t2L/CA== =Wp4c -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<markj@FreeBSD.org>
pub rsa4096/D5F19F287539B0D9 2015-06-27 [expires: 2020-06-25] Key fingerprint = B35E AF99 18C4 36C8 1746 A8EB D5F1 9F28 7539 B0D9 uid Mark Johnston <markj@FreeBSD.org> sub rsa4096/A41F65E8198861C5 2015-06-27 [expires: 2020-06-25]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 lSI0WdsDz8SoCTU= =Lmpv -----END PGP PUBLIC KEY BLOCK-----
<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-----
<erj@FreeBSD.org>
pub rsa4096/96F0C6FD61E05DE3 2015-01-28 [expires: 2018-01-27] Key fingerprint = C5FA EC74 96D2 C61B C548 FA37 96F0 C6FD 61E0 5DE3 uid Eric Joyner <eric.joyner@intel.com> uid Eric Joyner <erj@freebsd.org> uid Eric Joyner <ricera10@gmail.com> uid Eric Joyner <erj@erj.cc> uid [jpeg image of size 5419] sub rsa4096/D2427EB089BCF21B 2015-01-28 [expires: 2018-01-27]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQINBFTJY4cBEAC1Pzmnlgw4ixv+YO+aFCLb/VyUdorvAUOUVu3XNp7UkanT5HgY yhSLGSBqAyfd9FW6zgFbuokOeCMZNcsZo6/WGDRSn9ps9EGU2VhJBfC2UaiXGpMi VdO1zE3m2tQpR6GaFNxjrGAU9Wg3M4BTAvpj2JGxfE14DpdZbS9cytrdPKRgSnzq ZT0ikvWTdS6xZRFWTkqFZ9Gwyq6NJtozi86SqMAJZ3xoRIzGBCGW/EATSInjNCcE UXrnHM4NQ+egqWwUxEYWl5oImvT8wUWCqO9YhheAHjVY+28BbMX7BK+ZoPXLqMgY xe1y3hRnn91rz791baI3CZQq57F/XREOcKm35iqap+l26NIYylcTM35P8AmcvE19 FRk6F8u6ZlwGlh/mlLcHprPKqy0/qy+WfRMqyvkvDxj/z9oHrdVYl/9v/ixKQjcp 6dJiPo+cQ4hMRBccirWI5r6eQ/F8TXd9c0g3EvLWjfVHGHlMcC2p0MhJUdeZHSWE Ug1DM/7b4P8wi9cAjjzFFIAQPCcHMneq0/W1XjaJ/tNn16aTVb2KftRE9jPQ4NcP Q96JKDrqtLXwnKySuIGBJWDqCdfZvBkAAp8PLjp2rmaHeZsBy79BBEi7N6RUs1OU 1nRnK7mYI9BEH72pmbbtv29wQimzxTyL0imUxwuYgFnik8I0OB0vuFjxbQARAQAB tCNFcmljIEpveW5lciA8ZXJpYy5qb3luZXJAaW50ZWwuY29tPokCPQQTAQoAJwUC VMlofgIbAwUJBaOagAULCQgHAwUVCgkICwUWAwIBAAIeAQIXgAAKCRCW8Mb9YeBd 4zUmD/48eAhbjWQZHqJFnNs2cOM3pZcAdDzCBK7zzeSAHwQWixOnrwCOxgnf75J1 ccI4xujghCNDGlIyPqiABVKuWFGGCL7L/0Hmd3vpw5c34BiA2U5QviKqbi0xvzd7 Wb+pD0KZmu48ssUw78fTtPiphOqK+8pEtWvuyX85EfndTsxJiy/DLw1DiuRBd9Gz RGQssLuTidNTpzj7bK/2C1d40lGxkxNnyWF+UmYNtO679lVxG0Rrt0ReEQBMdgJx 6FDY+cewNP882GxgBhTMHtFoCh52PtdAx8mBCRQvvAYTGXznA4XGgpIUqaGiF1tj iy1LGTPnuT56AJwzzgP5+smiCyK5VZ80esDTJcip5MLCrpqCvnn4w7dM6sUzdkUw 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 XJHN18OEiX6BnlXLMNjd2nHWtqYs0LVDxz/jRxz+fTd946WAPQWr0cj6KkN+OqC2 BHuJEXd24127QS0SF7YqmooYAuyQB07JEvrIXgvQKhy4n1HyulSC3XfT11EtRaGd MpHEwsmHactWdf88LJFn3d7reADGTFaLy3mRja8LumwouL7edQYF/crPBsv2IkR+ eRfb+T7N1EbVOWNfY5ypGNg/BfIvoRK3cvkh0PG9gVaQJmwzBXSqpuDrAfowuyYP /O6IMSa1RpUpNGrfPYciqd6+L02LKZWKtzL+QTEs4gjR1H7UfAEQAAEBAAAAAAAA AAAAAAAA/9j/4AAQSkZJRgABAQEAYABgAAD/4QCqRXhpZgAATU0AKgAAAAgACQEa AAUAAAABAAAAegEbAAUAAAABAAAAggEoAAMAAAABAAIAAAExAAIAAAAQAAAAigMB AAUAAAABAAAAmgMDAAEAAAABAAAAAFEQAAEAAAABAQAAAFERAAQAAAABAAAOwlES AAQAAAABAAAOwgAAAAAAAXbZAAAD6AABdtkAAAPocGFpbnQubmV0IDQuMC41AAAB hqAAALGP/9sAQwABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB/9sAQwEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB /8AAEQgAOwA5AwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYH CAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGh CCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldY WVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1 tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8B AAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAEC dwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBka JicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWG h4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ 2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A/re+BH7N3w3+OvwP+Dnx m+IOp/GGfxt8VPhd4D+IHilvDf7Q3x88GaD/AG54s8MaZrmpJpHhjwn8StG8P6Pp 0V1fyRWdnp+nwKlukfmmafzJn9W/4YX+A3/P58fP/Erv2nv/AJ79dJ+xL/yZz+yn /wBm6/Bv/wBV94drX/ay/ad+Gn7Gn7OvxW/ab+L8upx/Dv4Q+Gz4k8QxaJb293rd +st9Z6Vp2laNa3d1Y2tzq2r6rqFjpunQXF5awy3d1Ejzxglh7mPzfN6OY5jQoZtm eHoYfH4qhRo0cbXhTp0qdaSpwjFTtGMIqMIpaKMYpWSR4GXZTldXL8DWrZdgqtar hMLVq1amGpSnUq1KNOU5zk43cpzvKT3cpNvV3ODP7DHwGHJvfj4B6/8ADV37T2Bx nk/8Lf4HueK59/2Rv2Woigl8afFqIyJJJGJP2yf2jELxxFBLIgb40AskZljEjKCq GRAxG9c/56f/AAUK/wCDg/8Abx/4KHfFbXfh1+y3rnxJ+B3wCudYWHwD8NfhqsOl fE/XrSPSG0m9uPiJ418OyS6lfw6s15qF9eaHZ6nF4Z0+J7O2ZJri0fUJvx/tv2N/ 2yvEOi32vr8Mvip9jsVu7a6i1Br61mSTy45LmOOG9uYFktrgx7EFvuSaSJVK7hET 4uK4wxeBlGOK4pxtCTSk4Vs3lTkoNpKThOopcsrO2mqi7aHt4bg+nj6aqYLhmGKo vmTq0MqdWn7iXOlUp0XDnjbWN+ZPS10rf61Wuf8ABPz4D+IrForTxn+0zoguolkh 1Dw3+15+0pBOEZVKTW8lz8UL+B1YFXBMUkbhgcENz+Tf7Wv/AASh/a/8KaVqfjP9 kr9sn9p3x5DZJNdzfCnx58fviPZ+JZLdPMkaPwv4th8WWWlapPGgVINL1y0sLmcZ Kazc3BS3f+ST/gnD/wAHCP7cX/BNjxHefC/492/jD9pD4O2mlaT4et/hT8V/FN7o 3if4YxaIbPT7G88BeJr7QtU1W1ih0aBdNPhbU47nQpoI4LiBrCdRPX+j3+xj+2b8 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 7ZjSJSgh1g3ZqXNDjK3hN/GDM3rTL6re4Q== =P8wZ -----END PGP PUBLIC KEY BLOCK-----
<allanjude@FreeBSD.org>
pub rsa4096/1995353E12980B7E 2015-06-04 [expires: 2025-06-01] Key fingerprint = 93A4 DA40 92D4 AEF7 63AC 1928 1995 353E 1298 0B7E uid Allan Jude <allanjude@freebsd.org> uid [jpeg image of size 7056] sub rsa4096/1DD7B1598B7D37A3 2015-06-04 [expires: 2025-06-01]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 4ZtPB4Q= =WsN5 -----END PGP PUBLIC KEY BLOCK-----
<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-----
<kan@FreeBSD.org>
pub rsa4096/0713229992792E7E 2015-06-05 [expires: 2018-06-05] Key fingerprint = C5F7 D995 99B6 41E1 3C51 5691 0713 2299 9279 2E7E uid Alexander Kabaev <kan@freebsd.org> uid Alexander Kabaev <kan@fb.com> uid Alexander Kabaev <kabaev@gmail.com> sub rsa4096/BB68B7A439D5FFAC 2015-06-05 [expires: 2025-06-02]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 kh/amQMwljMKuSA= =4llO -----END PGP PUBLIC KEY BLOCK-----
<bjk@FreeBSD.org>
pub 3104R/28D9A6F364EB7512 2013-12-24 [expires: 2015-12-24] Key fingerprint = D961 95E0 4D80 45FF 4160 FD17 28D9 A6F3 64EB 7512 uid Benjamin Kaduk <bjk@FreeBSD.org> uid Benjamin Kaduk <kaduk@mit.edu> sub 3104R/BE2F61FDB528443D 2013-12-24 [expires: 2015-12-24]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 C25SgvaoG4b+0pE= =5ybb -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<karels@FreeBSD.org>
pub rsa2048/8CCF69ECC5CF284F 2016-06-16 [SC] [expires: 2019-06-16] Key fingerprint = EAB9 5249 B48A A991 130D 6746 8CCF 69EC C5CF 284F uid Michael Karels <karels@freebsd.org> sub rsa2048/B4CE5C0549FFC668 2016-06-16 [E] [expires: 2019-06-16]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFdiAwQBCACo9yOG/128ozKKBtbpjUUkE48+rXvGqlO+gf0tn2qsXxLg61Bu eneBKwXoBmR2bn8MrqPhsP85CgL7F5cNDH4z9FsqKtGGKmDxK0W5LFKm5v8WwVYt VoQakEdejiZHWJqxgMzcKhJ/ZgPCjWcOr0dqdGV8nGpKj74lR0OEuillVYfrc0Lt 8Whdcm2U09AQFIjftReSaqHaBghkoQs3Q2/bbGNlfrJgODfXkp/waUusTraWkOPm uNf56WyXA9P+89bET7EMLe9CQ89FP1/hzSFIyb9izz1mGEf6fL8+m6zze5GWQ7Fs kBITK0YTLpRLG7YLo9nwcEf3xaJSFhYIAcs9ABEBAAG0I01pY2hhZWwgS2FyZWxz IDxrYXJlbHNAZnJlZWJzZC5vcmc+iQE9BBMBCAAnBQJXYgMEAhsDBQkFo5qABQsJ CAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEIzPaezFzyhPRIAIAIvaJ/MkGy69ksj1 08mA+c2RqVPh2hzhq29xCIuvUP2K5k0oldznMXVxrXWJpmsFrWWlNoaIO+X5qTle WneOV2nNZfa5tPaCTiTF7qJ0+ZquUJ0IHy48q5E0hsORKbPtHseLraBoRnCTQ1BN oNrT9McbIW7tNHPvlIRS4+MacGp3KNtd9Uly7taHzqImw0c7nNEq0nTF91gLUce6 SL30XzS0EOAsCPIQo8SjtaMpQrppEF2D3h2lY/I1JeTFy8lqMI8NvK3m7fG4AxVz cLKu/AOUKiV+CdbKbk+tkmnxX+NWyKNZ+IryRKkIoEEV00gk7XNDj+A6WTTLX/zY /I+x3la5AQ0EV2IDBAEIALFMhJlM6dSo2vssrzXTKSp9PlMd25lmC818DTbhhIeJ ZqfhiMOXeC80v6LkgmgG/SQ1Eu+60IxKkk9lFHoNsq+RsBI+GJOdLU0S+zxssMrz OAB/f+EWJ0C0lYbu3q9/fhz+WAoLZ9CeYdNQOewU0LJs8NPS4dEbJFPZwe/i9zeA cvgvescSvP+aj80y1R2pKORnbEIbqe4Wpn8jBF7Ltz2j6VG/S0u9h0dL0XvHNy35 HZgMR8xFa74EcVc+9YhCI9GZnTifbyBt2GO22NqEnWa+vyqLKmnrmS04pgMyhA/l SecyOBae+xhqoLUU8MYJRtFRQQhBo05ADEQQ28rL1dcAEQEAAYkBJQQYAQgADwUC V2IDBAIbDAUJBaOagAAKCRCMz2nsxc8oTwwqB/sGhJBQd8HdjIAkWVE3LvkXRCcO hK+Jinw5d3QEc7OWRCUvsiD+3RqwQo9IsAvukRhrsYThUdirnq99nVkeXTI/nqGf dNcMjHc607U/1H47H6KZOk2rFmPnQr1JX4qYA15XT+777RbKsMFGZ6QDd4BJEg34 LwfzPYJct+hZknfuos1ivsHMBILl488vQwWobr5bbPFT+mKoUk5JazlU6G93Oj+4 LPKOWWZ0FfgSMRrojzo1pW7KbEIk/PBAw8Fzr5p9YrnmTAQqGzbdL2dwa6erSet+ y7bbeAd/vVQhVqnPUh2g5+yZTQf0hL7Op/wAZFzKveCnZzUVC4B8qON5iK97 =FzUq -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<pkelsey@FreeBSD.org>
pub 2048R/044ADF500A4B194E 2014-05-30 [expires: 2017-05-29] Key fingerprint = 4082 2A15 231C 09EC D86E 63C2 044A DF50 0A4B 194E uid Patrick J Kelsey <pkelsey@freebsd.org> uid Patrick J Kelsey <kelsey@ieee.org> sub 2048R/CB7433052A5B26E5 2014-05-30 [expires: 2017-05-29]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 ACsIIpVHmMhmqZAaJ5rRdtaoKNo= =tZis -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<skra@FreeBSD.org>
pub rsa2048/B00691EEA480A803 2015-10-26 [expires: 2018-10-25] Key fingerprint = 04ED 6504 A0EF 9890 8CD3 86C2 B006 91EE A480 A803 uid Svatopluk Kraus <skra@freebsd.org> uid Svatopluk Kraus <onwahe@gmail.com> sub rsa2048/A5545C0A04691FFC 2015-10-26 [expires: 2018-10-25]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFYuSyEBCADJ6tTGsLWIe1TuER+Bqw/PPIWjZooBmwvxqjruU4KoylW8xCUT YaJsHidR3OO/nMu7yamuyRpvE5jeFW3d/P818qsCpgmsXKV6/4YnMbWpDbcAOSBO D/aQTRRYU0N0EJOFXMLXan7w+3IrBHixXDuGplIE9dM5J0EBJ5yrfSP0L9Z1NXHv CHemr/+C1ZR7I2+OpDyQC9VXNfiACJ3EpM74N4P0Z3ayxFDnHw6Q0HPOth4Jh3qW OGDOshD8tvFkzRfeNUWJ/NVTcab3cu1dZrbH7/hdaiAqGqwG/GcAwP5dBeZxSxJi obuM88NwJFQmC90aQOw/pN77yCUKbLHmbW9tABEBAAG0IlN2YXRvcGx1ayBLcmF1 cyA8b253YWhlQGdtYWlsLmNvbT6JAT0EEwEKACcFAlYuSyECGwMFCQWjmoAFCwkI BwMFFQoJCAsFFgMCAQACHgECF4AACgkQsAaR7qSAqANOnAf/cw1zcxRBj7XbRRKC 8gWc7t8i+pp6XJNlctsslW/K9kxxpTJlWgQBvP7YNuaj2tALmPHhamdFcM4zXf/v DAQZUc8Nm7isYaUcTGbj8yzbYqvM94M8M3YoGxvLdKRvu3/rxRiQ2R/csxzJMhUi xrB9bw7qzfMuDzdxFT3GbRnhLcq+EyCmaJxeo+hk6mtVez0FgyYf99Vc1aJdOEnl TeuSOtO2L+yrfYUVGoS6Kag04hVoDL7r47yZgYwnTo9ksHM4MKA/aubhtmneJxGM l1dRrEAOrMDLQ097DivWkjQT379uGjDYYC6vHbEQdsAU3yOv303BW2A5nmjxRcH+ Jk8AJ7QiU3ZhdG9wbHVrIEtyYXVzIDxza3JhQGZyZWVic2Qub3JnPokBPQQTAQoA JwUCVjJOJgIbAwUJBaOagAULCQgHAwUVCgkICwUWAwIBAAIeAQIXgAAKCRCwBpHu pICoA/kxB/4ilZFMn8XAin60W377aKtsul1lgiWVOqHRlc/eIKvO5o2F8S+4q0Sa xN4/Wwn9H6S1p9plEmZ/voAoxNgn73WEHn5/NixyGKHhFsyiJHkxcF7CU/HwCOCH 7cyluP6yY3KKkMmDfaB0zrtu2QdWh9kJBUi3K2CtcbQEpd+Ci9R0D7iIP57m9/i3 /evVemI25egTIIWKhJsh7YRI3G1Jp9O5L+IO7rSiv/qaWAJgis4F8FqtfJhqOF5M SPmZy/3blpkrHmiMV4uVXqMIS7J/sp+sdtT729KSr1C2dXbTIf/FJzOUzqaVvGfT CL3EB1CZau7BsEM3crykDs431IAFijKSuQENBFYuSyEBCAC5LgiLET1v3aJKKIPO rZHwJ3J0A9pBKBnxrDv9xH17AbjSIDowYtjxaU4F1U/LeZwtNF8VcB4nwY1GlN7q T1D6ofMRNFYth/JYRuTTN2pGlo8bOg9HGFvhHLCc0TTOsn62YEU/Ug22+MiTxAb3 rwLPk/Urzb2J7ym/DhwKZERMId2Qwd7GCC9Xe5jZiu66CEg6UrBFHTurvFBReC6a rfrrVIZkkMBCUllfABlfh93nwUosLDRUaqnJdbiYwJSW6uHjtIps6xwTQz07lunY 7O/1dMBb2h5z5OAPCkXcc0GcM6E9PNbESp0czM12/iOCDqoQccLXI6BK/bNQFVPb DtD5ABEBAAGJASUEGAEKAA8FAlYuSyECGwwFCQWjmoAACgkQsAaR7qSAqANqmggA jgcMfOVVlzPBDWxqNIwtd7tdY4paqTw+LcyKeqmh+EE9eBZqZ5C5s0GwCw2bO2P/ vyBTdDwVjPL57CLPzXycn72cgxFRgsqKBjnK3A1xeCy8CVju25lQkcVF7ls4n0bC umntgIzrGHLjVEux/Oo3g+atouKLzLiAaYfoi5BLugkGa2DxvkYwrBXwRXrce7Hu QZVdkh74YlXPNwnEGSzkoPBRlKtL68MkpkRa9q6M7bFpeIJNY1SiTviTfASJC/S+ wlvbab8zIMemwHXcaLAeyrjpbvdkrU7qyGeU4khFJ1Mz5ehIS3igU/Y54Wjo8eJB /nVLYgGothGhWGneb04/Wg== =L2Zf -----END PGP PUBLIC KEY BLOCK-----
<skreuzer@FreeBSD.org>
pub rsa2048/F528158459D71EE7 2015-05-01 [expires: 2017-04-30] Key fingerprint = 1DB8 2B72 1C60 E59E 946A FF7F F528 1584 59D7 1EE7 uid Steven Kreuzer <skreuzer@exit2shell.com> uid Steven Kreuzer <skreuzer@freebsd.org> uid Steven Kreuzer <steven@kreuzer.cx> sub rsa2048/540AD5219F26626F 2015-05-01
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFVDgCYBCADPw0GwQHRVcUxvPzy7y4GI4Fzi9TT9GDXouMhScSa5uS1QR6m4 iXvIaLTwjnSSDf+akAKzI3tTxpmshyg7dZZ3A93larXT6dE9FYiI/Q51F+hkl/hX zzFSGX1XUSTkBpozLEY2kHiH6Dr7XL/FqLTtGOkrF+PUauKKWzAG4Qo52sWwZMwq bF81vSt0pDTClrjCb9GqUIpbdVtTRCt1ROREVxcBgm+gSJDHlZrSjRP0mCIXS7Fb oebC83gipnSFQr9Sk1hovuAqOUXKUi0aApZ63/oQUyYbKTwtsWu6xSAd+Ro0UbkZ is8llwmxxn4X3lptpf0AEUq8oV7fYwZrvzmbABEBAAG0JVN0ZXZlbiBLcmV1emVy IDxza3JldXplckBmcmVlYnNkLm9yZz6JAT0EEwEIACcCGwMFCwkIBwIGFQgJCgsC BBYCAwECHgECF4AFAlVDgMsFCQPCZ6UACgkQ9SgVhFnXHucfmAgAyqbfjWHW8bvk AMgrGMrx1T1xy2pdGBgH5iyEvSk1wv25RRZG021g/dE6ES1o1EXwhbTIJNyAkUmp GVXvuN69yx9r649D3vca+p1OJhDzOI4ulw3pOOo0bnteUQD/iQMH1nbtRaowYV7N FUwjbglLkVhqgKFevFDz78GPWF06E/Fm/XnbEvaeqa8QrVT8U8OP+qhlnHA5x84P GvnIZyS9RpUWccVtDIrxVLsz1wambA7IWQupVS66jvq2txODle4Dx1Z8i3RAmFfM PzjAVtaeFqfPRkRyWGBfPdpqSCuLU762OdMaV32LeNeeJQmxGhP4PBsEblf9ptBN gphxNQIItLQoU3RldmVuIEtyZXV6ZXIgPHNrcmV1emVyQGV4aXQyc2hlbGwuY29t PokBPQQTAQgAJwIbAwULCQgHAgYVCAkKCwIEFgIDAQIeAQIXgAUCVUOAywUJA8Jn pQAKCRD1KBWEWdce5ws0CAClOggtog+ALGYBAl7nJ/tTc7MjX9zj7LrqZSbE+E8X BPwMydEBBodkfVzbbopDghsy/EMvVoEmKqq92LZXuHJ+60/4/+hUE4kYMF2OshGk lo+ULTmOuJ34hu41p+GBe/SIotSY8hRi4ckJyxCDF21XY12y9oE1le3uHmDzte5j acUIZc4hqE4zHDp86pmjEI+ZOGJTcRc994wV1cjaSv0pksjmGH90voqQenUZFy38 Q/tCyGOuNbuMJJBJOW7HTn8Aa1hBoV8ID1oAsdV18pihRsoa5YHs5AIIfWf5xwnT tndF+254ndmaAURLYLfKrZa16y4jjODHuNMiHWnsD4ydtCJTdGV2ZW4gS3JldXpl ciA8c3RldmVuQGtyZXV6ZXIuY3g+iQE9BBMBCAAnAhsDBQsJCAcCBhUICQoLAgQW AgMBAh4BAheABQJVQ4DLBQkDwmelAAoJEPUoFYRZ1x7n+zcH/Rtcps90qY5edWCC 8zPIx+obQp/T0NAiCfjQfA9c1EHbtnQuajzfD/6MqqwZtBY/INNmYk0efdSS2ips rIGgZ3SWDG0wbsMV4HgQx5dQ1LRgzVF/dH5q7s0bEPgkgvPmfTfHy/1z41RKX4qq pwxnsiblfZR70Epym/cIcR+Ix6UpN9+g5B/BCU7w2/0JpDAGDiJMJPtO37H0lmkq rf9Mku1rtp9yoGTp0MUYgW40CccYI1bs1I5c2ZxwH4xR4RAxYPzwH8N6/HCjTy0e 15jzkreS3ZXFd1gECvSqqwKd90MLUiStL2hSxfFnpsCkQtRqupUEG1Wby80WyaRg 0OhmhHS5AQ0EVUOAJgEIAMJVb47vaMzbTWESkb7z/TXrXVTrI2GswfnrWeF983vv pKNuRd5PBa5fBBjXfG0UZp4nqinweneApGKKVfeSSvSkUBFd1wKLu9Wispla6Nf+ OzwikmhhyJlUgV3E1zMMKzqjNIZAsbiZfkLTt5K0F5fKeJHmplusTIW2WJUXpwVr TT4k2qaUuB1wOS2+i+hvT/XuPHLOPiwG55V+nHq2+xZXLRigCopifcvTUdr0o4gi tURPcPMHU9ktVGSUQqcrNIvwwbHHr9rAnpgI60J1OQaISBRWZnD4H3X606qrzKTZ GuARJoLiQk5r+37XVx8swzntqP1YaLza12U8sDCqdwcAEQEAAYkBHwQYAQgACQUC VUOAJgIbDAAKCRD1KBWEWdce57EHCACFMrWzZR9a7fzDo1jHc20usEgBTWo+UYIU rBbmalS4GvCMExHCLpBap63Rd9HmxYDjvXqOupmHmVPcO3mEqEzNUjQxWHSiRMpL bqvnPpEBdVyAbeLN1UuW1GKerFfMMb0li6c6HBfoQDEjt2KIS0sE9bp1wSsAClUg xzf2Lm7RFiDbkpb4pYmTvMjvn2Qf6V0kZA4OhisEte2I8X5P/WZJ0GX93uHszm7r WP6fnQjtrTSPvNXVDGbFgFQlmpRpByyKI8RNLv2nA1X38taK7HFhYkYCa9EryT// 4BjM8WoaPLH9vcNnN7r5AnDN3vCCbchSJtSBUeOm/pBAQZEcEC9T =KXVm -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<rene@FreeBSD.org>
pub 4096R/ADBBF8610A3789B7 2012-11-18 [expires: 2016-12-26] Key fingerprint = 101A 716B 162B 00E5 5BED EA05 ADBB F861 0A37 89B7 uid René Ladan <rene@freebsd.org> sub 4096R/CB77BE03B67184C6 2012-11-18
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 Ed39iGD6Mzo= =aOqd -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
pub 4096R/EB2159DEE972739F 2014-12-19 Key fingerprint = 5116 F348 23D7 DD38 9649 BA77 EB21 59DE E972 739F uid Dan Langille <dan@langille.org> uid Dan Langille (gmail) <dan.langille@gmail.com> uid [jpeg image of size 36778] uid Dan Langille (FreeBSD) <dvl@FreeBSD.org> uid Dan Langille (FreshPorts) <dan@freshports.org> uid Dan Langille <dan@unixathome.org> uid Dan Langille <dan@dvl-software.com> uid Dan Langille <dan@racingsystem.com> uid Dan Langille <dan.langille@dvl-software.com> sub 4096R/B2FB00B40016A3FE 2014-12-19
-----BEGIN PGP PUBLIC KEY BLOCK----- Comment: GPGTools - http://gpgtools.org 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 RgQTEQoABgUCVU+1HgAKCRAKCxcUz/udPC4XAJ9hezIEiX45gev2/MFp0ugKJ3VS pgCeN5twnXtpqUehiNAS31bj2o0gU93R/wAAj8D/AACPuwEQAAEBAAAAAAAAAAAA AAAA/9j/4AAQSkZJRgABAQAAAQABAAD//gA8Q1JFQVRPUjogZ2QtanBlZyB2MS4w ICh1c2luZyBJSkcgSlBFRyB2NjIpLCBxdWFsaXR5ID0gMTAwCv/bAEMAAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAf/bAEMBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAQMBAwMBIgACEQED EQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQD BQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoW FxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5 eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU 1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAA AQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2Fx EyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdI SUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Sl pqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4 +fr/2gAMAwEAAhEDEQA/APzJ1uTVLe81Ty9Y1799qt4IIINV1C0+zD7fx29/yFcb PqHjCzeKO21jX5fO/wCe+q3/APknue/NamteMNPj8QapZyW/nfY9VvLcTwf9f/4/ y/lyXniTSr2CIWcl1L/y8TweR/x7E/r+PSv5Nx+Kr/XsX7DN27W1aeyae+1nbtfq 7WP6Myz6jWoYN/VLX2f3Jb27310uYE3iTxBbvFJcax4j83z/ALP5EGq3/wBj/Dv7 /wD66wn1jxpIksn/AAkmvRRTXv8Ar/7cv+P/ACrc/wCTyK7KaXT9Qf8AeR3X7n/X /wDTz0B+mfy6Vxuq3FvHN/pFtL5Pn/Z4PofTH8/p61hUzzHUUksY3dK9lq1p1d7b ddn6I9mlgMFe/wBT0bVtU9fd7300Xfvbax5njm4mi8vxh4j8rz/+WGuX/wDnjP8A 9c5wS/uPHEflW9v4o8Uf6/8Af3H/AAkd/wD549+lX9NuLO8hikkuPK/f/wDLfoLP v+NaltJZypf29v8AvfOt/wBx1/p+f44rqpZpWdDB/wC2Zr6X0+z66bpf5m1TC4N2 X1LKr6bb9Ldd9F+rskY0OueLPJ8weJNZ/wBf9n/f65f+h9P6VQvNc8WR3MXmeLPE Y/57+Rqt/wDZO+Oef1reeOzt0iEYjl/04285/wA/rRDoccj7JJPOtZp/3H7iwz/k 9+vNdP13HPbGX67K/TfXyXb8rdNLLMFp/sfS+6avp53torbP0tpmP4l8USTS3Fnr niM2k0H7jz9cvz9pyf8APP5YzUL6p44jTfJ4k1799P8AuP8AieX/ALeuOh/Hnit6 50/y7n7RHczS2vkfZ/8Ar2/ngfQ5OaxnKSX/AJnl+bLD/o9j6XPv3/x7j266OZ4y jZfXNH20fTba70Vu2lrWRm8rwXsf9yyny72TV/nt/noZf/CUeKPJtbePxJ4jF1eT 4/f65femB/zFgP8APTitS/1Dxhp9tLJH4o166lhg/wBIg/ty/wCOnT/ibf0+npV9 9HkuJtLjuLcRSwwcfr3Jz/nFS3NncXDy2dvHLFdTdf3/AOnp7H+fHHd9axteh/vu bel+7W63S0/4eyOVYHA6f7E+ne3Ty207/PRW4i88SeMJEurj/hLfEdpFDY/uMa5f 9D/Lj8uKltdc8cfY4v8AisPEcst5PZ/8xW/P+h89v7W/L2z+Gy+l28kf7uOL9zfX lvfGecd/8j1Pv6xQ2dv9ptfscksUuf5YGO38unHpXKp43R/W309enrrp/Vlbp/sz Bf8AL/B300/Df7vw7aFV9c8WG1v7eTxZ4jiuoZ8f8jHfi7/TVu/9MAYrBs/EnigP qkf/AAnHi2XyYPtH7/XL/wD4/B/3Fhj866i80uS4nijvbiGLyR9o8/P/AB8/6f8A 8eGP8jNYOt6fb6fcxXFnHLLbXk9n5/r9i6/56+hr1Fj8bTsq7ulZdH0Xaz76mP8A ZmC09hgra63fpa/kklf9C1D4k8WyPF/xVnij9zPZ3E8H9q34/wDctn1/ya1H8QeJ PJ+0SeKPFEUU03H/ABNb/wBR0/4m35/jmoobO3vJpfMk/dS/6PB5EGev88H9fpmt RI7e3m/s8xjyof8AUz4/w/zwcda9DC4nEP8A5i1ZpWWr/l02afz+++q5sRgKLrJ/ U+i1v5x/4FtvvSZFf+IPFFnDF/xVGvS+Tb/aM/2rf+5wevTjv2rnH8SeKNkt7J40 8UQxTf6PBB/bmv8A+en9cZro9b07+0P3ccko/wBHs/3/AJHQd/6D/CuS/wCEbuO8 v/Lf9xBP+v4D0z/SipicdRrWvvo35W8/K7tb52YvqGCt/uf4+n+X9WVqD+IPiJ9p /wCRw8R/ZYf9I/5Dt+PT/qLfh79cmsG6+IHjCRJT/wAJh4oil+3f2f8A8jHf2n4c 6tnp1GRXb6lH5cNhbyXH/XeD+X6+/wCNec3ll/xMfLt7OWUf8fHobbn1P+c4o9rX pJ0frmmj+Vk3snbay7XfY4Xl+C3eCkv6Xn5f1ZWz5vHHjzzvLt/HnjLyof8AX+R4 j17/AOW3fJ54/mawrn4gfED7T/yUTxl5U0H2g/8AFVa9/o3t/wAhY8/5PQ1la3Je fbJbO382LyZ/3/kfT+nHOK4m/ks7dP8ASLzyorzNuPIx9r9ffP6/rXKsdX03XneP 53OWrhqH/QH2tqtbKN9/l+nQ9MT4meObi/it/wDhYHjL7L/z3g8Va9m5zz31btx/ nIrK1b4qeNNGS6kuPiL43lj/AOWH/Fca9n/07fz49K8WvtU+xIY9Pt7/AMrP+v8A P69fY8fh/hXjmseJ5UuZY5Ljy+vIn7d/oeO1dccTmMmrYtO9tIq76afh/Wlvm6zw 9Gt/uiVlbV/4d3dJdvlfse3eKv2g/iJHDLpej/ETx5a6nef6PBP/AMJjr+bez/5i N9/yFuTj8h1715dqXx4+KmnpLHcfGT4of6Hn/mePFubo4H/UWH16f0r5+1rxPqEc 19cWnmi6mJt/Ph72YP49+px29jXmeoeIL2SSKS4uPtU3cT/j7fl719Tl+X4ytGL+ tNrS6TScvhbto+Wy0u13avay+OxWaUKTa87+S1tZ6+f5dNT6Ov8A9of42ukV5afF 34tRWvn9J/iB4tNpz2/5C3ckfgM/Xmr/APaY+OGw+X8aPit7GDx/4t9OP+Yv+ox/ SvAr7xRqF/BFaSTnyoRgQj+8cfjx6f8A6qyxPszjEvHqP0z/AJ/WvpMLl9Skk62j b0je7Ue/M0k/l/wD5fFY91a689e3z16d1tbzPc5v2hP2gYP9Ik+PHxZl87/SPIg+ I3jz8udX4APXNVT+0p8fJPNj/wCF6fFvnkZ+I3i36n/mLn07/hXhE9w8nSQ/XHPb nkDHccYPOahYfIJIx5Y78/p7fgOfrXqU6G1932VrNPS6Vm/x877vh9p5fj/wD/ZX /wCCA97eax/wR6/YU1fWry51nV9W+FWsanqeq6i1zqd/qF9qHxG8bXd1dXuoTqZb u6lmmdp5n5aTcB8oFFQf8G9v/KGL/gn/AP8AZGrz/wBT7xlRXomh/m9+KviZqGj/ ABX8e2b3H7qHxz4wt4PI9f7e1L9PwrU/4WZeaokX7yKKX7R+fOM/y6c+/WvkH4wX nmfGD4tfZ7zyrqH4m+POvT/kbdRP045rkdH8UapH+7luJvN8/wDz+me/Hav5pzTI K3tsX7DFq78t2rO6vv0VrvrtoftOVZolQwdDqra/d1/T9D9I9E8aSXCfZ7i8llz/ AM8J/wAc9v6/zrqLzVNQFnF+7+323/Hv5/kZu7b6/pz/AEr4e0HxhcXnlRyTyxSw wf4/54/MV6ro/jzVLN447y4llimn+z/T6EetfI1cJWofuK+299HfT/hj6rC4+/8A Av8Amvv7OyX3bI+grY3Ek8UcflWv7geRPz9Of8/nXR/2fqlk8UgvP3P/AB7/AOv/ ANEuPr+f9PTPi2m+NLe8m8uS9l8r/j3ggP8ALr/+riujTxJIZ/L8yW6ihg+0QfZz yPb/ABqaVKjSau3ZddXvbbpr5d15Ht0atZ9n126NLX8vPZOyse0Wenps/eSWsUt7 P+//AH/X/p/I/rxXZ2dv9nSKSPyjLD/o/PH2mz6f5/pmvFrPxJ9sS0kTMssM/wC/ /wCnk+nTPPf0/KvS7PVI7hLXzJPKl5/1/t79ev1r6DC+xdZew2633vp8ux1+2Xl9 zNm5t47z7VJHbRRTRf6PBB5/+HXnmucttL+xzCTUPK/1x+z/AGefv6n9P8mvQbbT reNPtFwPN86f9x/9bPTt+eKludLt5LDzLiSKWKGf/wDV2Ofy9a9GpgVdPzT7O2/4 6a9Q9qttPJWfyOcmt447b+0PL/1P7+D/AKeP0/zz7CqFtb3EcN1jypZpoPtE/n/8 u3TnH19u/wBa3dSuLOT7Bb+Z+6hvrO4/cY/z/nGc5NWxGY5rry/3st5B+/8A14/A etdCpVva2w76K9mkto38v62Wgjg7DS7eOGwkkuP3U98fP9/px/8Ar6elX7zS7SO8 ls4reKWXyP7Rg8j/AD9OmenPWutudL8uKLqfOn+z/wA+mf8APNZdzHcecLi3t/Nu oZ7PTzNj/lz/AJdv8a5qOFrU/wBxXd76p772a1+5b+g/rT7r7l/mcbeWUdxD5cfm 2vk/Y9Pzcfy549+v1xmql1p8kem+X/y1s4P+e/8Ay5+/19OtdxcxyB7qOSOLyhPx /wBfn19f8fXmvKr+eSS8ure3juv+ffz/APJ5/wDrda7/AGVHCW3dtH52/rr3XyKz 0dn0W3rf/JlrSo4t9r5cfmxTf6RP/pH/AOvp/hj1rqL/AMuytvMjMRl/4+P9R/nr wPeuI0q4+z3ktv8A88f9H6fX9OfX8K7e/srzWNL+0afcRS3M3+j+R+PH88Z65zXV halb2D2v2001/wArPa+zOX62u7+5/wCZgyXH2hOJJfN8jHtz3/zx6ZAq/wD2XcSW 1hb84muP3H78+349B0/+tWDeWGoaHoM1xJeebdef+/7duM+np+We2eo0eT7ZJYXH medLBBZ/59Pwwea6sL/tm6tp1vfp39V8jKrV9j++7+St+OnX/PQ5fW7P7O/9n3lx L5vb/Dj+XPFec3+ofZ0upLe4/dQwfZ5p+fw9f/rcc+nZeM9Ys7O/v/Lklwftmf8A P6fj0r5V8VeLPMmit47iXyv+W4/5dPw7f4deaMVOjSsqC1sk2+u13t9199PI4Kkv 3P79pOzej12vr+nlfyNTWtYj+0yx28UXEGZ7jr/oft9P84NeLax4g0+3vZbjULiX MPMH/Pp+n6k1l+KvHEGl2Ai+2RxRTf6Px+Q/P/H8PkHxz8QLi4muo47yXnr5HGfX 279+nfvTy/JsRmVZUrO2j5rNq11pe/S6v623Pjc5zqhRoaPprbfV7776af8ADI9G 8Z+PPM/d2cksUX/Xc+59uP8AGvEbzxRJ5Mu+4Msvn/8A68df/r+1cRea5eXiRR3E n7qL8+cDNV7Szv8AVJBHYWt1eyn/AJYwQG7P6ZOOPT69TX6Nl+QUMJRXt+V63bsu jXV7dt9NL7M/MMdnNes7p2u1t29b+v5+Zp3fiS4vDJH5hiiyD19D7c4xjt0z0wK5 yaeSU/P+vX8zXqWh/BD4p+JEMmj+C9avIzyWhsj/AC4P+e9eiaV+yZ8YdQXzbjR4 tBi8/wAgT67P/ZQ/XPXvnPT0r3KSwVFKNFxVrX5Vfok9Umruy2bu/U8r2tetZ7r0 /wCAvv16b6HzFVtLjnHr/n1/qO1fXKfsl6hZv5euePPC9h+4FxmC++1+mOPp7e3X o5v2ffAFkh+3/EiGaXzsYi09bYdugfVSOvQjn35q6laC+NvXXotrea/4dehnZvZN /I+QPMO/8cfj0xj9P1zVpQW6jHX36Y9PqPSvrlfgr8MbfzY08U6pqEhgzD5H2Dqf X1/nVmf4V/DOzs/9IvL+Xt+/vun/AJSecjr269a5qeYU6rtQctGru6jZfitPVepp TwmIq9Gl10tpZf5rTX8j/WK/4N8P+UMv7AX/AGRy+/8AU/8AGVFaP/BBKC0sP+CQ f7Ddnp0k76fbfC/W4bFnVS5s0+I/jYW2Sef9TsAz0GBRXd/X9bmdn2f3f13X3n+U P8dbP/i9nxfvLf8AdS/8LU8efv8A1/4q3UuP89PWvNHuNQsJovMuJZLub/lvBz/h 9PXvX6geP/2K7jxZ4/8AHniiz+KHgOwl8SeMfEniD+ytVuL+0u9N/tHXtS1L7Bxp OOvI+hrzq8/4J8fETUJpbjQ/FngHWfJ58mx1v5vz1PoP8a/MsR7SVe1fCrW2yT10 st07N6WS6H6DSo0qFFP623169bX6ev8AWh8gaVeyyNFdxm6iuYYP9f8AzPT/AD78 Gu3s/F8iTWtveSSxYn8jz88/l7cf55Hrl5+wR+0npd9v0jRrW7iA4gg1bQro3A7/ APMWwfyxnk81yt/+zH+0J4fuZZNc+G+vSxGf/lxg+15+n+H1zXkYvIalZRksMp3V 1ZSvF9FZqytvo5K3VN2XpYDPKNDfFNO60a0163012T0V/Pcrab4oT7T5f2zgdfP/ ANFx+I+vJ49iTXrOm+JLy3S1uI9QiuueRAf8/XvXzJrvg/xZoaS3N54T8UaXFD/r p7jSr8/0/HnP8zUVh4sk0/ypLcDyvIx5Fxxd9+c9Djuf8ePm8Vw/XopcqlbbWL30 0urbW8tkfUZXmqrVleS8nffZdbatW8rW7I+69B8UXEc3mfY/+W5uM/5x6dc+uR0r 6g0S8fUbC1kks/8ASoYP+e/THr+Gf881+dfgn4kWl6nl3F5DFLD/AK+Dj7Jnr1/L P6819V+D/GGl3ENrJZyRfvoP3/kT/wDHt/nt9eMcV43sq+Da9t5WsvJfr38t7HvU a1Z17qzWu1n+OvXy8me+/wBoSRTfZ5Y7qK1hn/18/wDz+dvb1/OujTULeRIre4kz +/Fx+/8AX2zx/wDrriNN1iPWIPsfmRSyw5uB5/b/AD/L61qQxxyQ/Z7z97+//wCP jP2vk9vy/wAnFexhV7b9/XTsktNdfl2VvL8D2vrPn+H/ANqdRDHp9u8kn2f7VdS/ 6R/n/wCvz1FWks7y8eaSP/Rf3F5+45yep6f56V5zZ6h/Z2pXVlIZZf8AQf7Qt/3H 4flg16DpVz5ltN9puPK86fMEH+eO/wDhW1N0v+gR69eq2s99t7/8Ay9s/P7kdvpt vH9m/exxS/v/APX/AM+34n6fjVXWJIre3ikt44pbqaf0/wCPbp+Of55zQ8lvHafa TJ5trDPwf+fk45/D/D8alSPT7izluJLOXzT/AKgwd/8APqOnvXTRvSfsFd32b1et urXpdX7dDlq1P+X9n6W7abLt/WzOSubeSSyuriSOXzfP+0df9E+ufr+WfevPYfs8 dzNbyW8v+o+0X0/P9P6/jXrd5Z/bdPls/tEUPnf8sM/8e/b26/z56V434h+0aXNF JH/x6zX32ec/TH+f5d66qlGtStXr63strp6L8tL6dPS3L9afZ/h/kcbqulwWepfa NPuPNhm/4/oB0/Hr/nHPejR9cuNLudU8uKW/tYZ7zmD/ACf1rB8RaxHZa3Lb3Ef2 SK8/1B/x61atoxZ2F/efbIpf3F5cT+R/njr1Pp24rHC0v32LdHrprZdFt+Nn+hwf 2h/Vi14h8SSXujyfu5fNm/5Yf8+1n+H5c/gKy9K8U3Fnpt1JcXEvlZvO/r/n8/Sv L9b8QeX5t5bSZlEH2ieCfP8Ax5/T6/r9a+UPiR8b7yNDo/h63Gqa9eX39n2NjDB/ pdyPT+zfft+P1HXhI162NwkcOnfaXRLZ3e1klveytq7I0rZ1gaGHvXaWjavdX7W7 9NtdrXPQfjH8bLPQPtVlHcRxXU0BP76fOOvPA9P/AK9fCU/xa1/V7zy9PW6v5fNz b2MH+l/T14P54r7m+F37BPijxlBafEv9p7xRN8OPDGsQf2zYeHhm68XeI7PB1Ega cD/xLAw/tDOQWyAAQCd33v4A0P4H/B+G1s/gv8JtBsLqGD7PP448Vwf2v4hue/Pv nT9O1jn179K/QMHkeXYej7fH4iM5tp2bdlquZJRet31u1po1qz8mzXifHZjiOXAv ljtdXXVLra2iWyfl0v8Ajl4R/ZY/am+NTx6hpngPWbHT55vtH9q63/xKdKtrQ/8A L9uI4wNRzkA/kcj6G0X/AIJs2mhvFd/GP40eHdGk8k3N7oXhwnVtXXJGcdBk4v8A +EE7FwBg5/Qfxz4w+IfiiGb7R4k1T7L/AMe0EEH+iWn2P/sHfr09s4r5zm0PT9Pe X/W38p4vp55/td3c3n+Rzz2Fb1c6weEqrD4HB3SVtFpZW202679X11PL+qut/v8A i23pdN9dO2l99fS+yvwsPwO/Y2+HMMV4dA8XfEHVLMCaGbXNWNpaXN0MEA6dpnUA gHnuM1zWsftAeA/Df2vQ/hv8K/BHhzyYLz9/BY2H2v8A8GXv+WM+5PR+KtPs9Uf7 N9j/ANdB/qPQ+/6//rGK8+/4V3pcif6Hpdr5s319fxz6e3evPxfEdWV6FDCO9t1q /l1be/X/ACz+q4OlRX+xuVnZXd3urefRP79FocbqX7Rnjy5sIrOTVIdLsPs/+osY PsnbHH0/EH2rw7VPiP471yaW3tNS1mWGab7OPOzkdcZ47f8A6j2r6tf4Nx3ieXcW 8Vha/wDTCD379u3Tsa9G8MfCfw/oaRRyW/2ryc+RPOR/ow/T8a8Ojn2Mg3zQzSTW lpN8qba6Jre2l3a26Z0UsMqtksLa1tmm/s90+u3oj4L0XwP8Q/G9zL5Rv5pYQLfM 8/2T7NZ/px+PX8RX0P4J/Zg0iNorzW5brVL/AMgXEA84Wlp9sGMc+o/PrX2DpWl+ H9PTy444ovJ/0jt6+vp+vFbX2vS408uO4/e/5/w6D0+grqp4nHVm3jHyRlpaMmvd dkot3d9/m3sephaOHwtrpbL4rP8Az69dF5ng6fBPw3Z20ttp+lRWt39n/wBf9Pr+ X8u9cvefCOOL7W8htZYv+WHP+l/5/wAfWvox9Q+0fu/3UX/PAT/ifpn9aie3s9/m SS+dL7epGB/njrSjClVrr2ErWa6tPons+/8AS0NKvKqL2W/bu/8ANfgf6Pf/AAQr tBp3/BJz9jKxJH+i+BPFkPX+58VPHo70Vrf8EScf8Ot/2StvT/hF/HeP/Du/EGiv vYfBH/DH8kfFT+OX+KX5s/z0vHPgPUJPE+s6pp95fxedrmsXE8EE/Oft5698cY7+ /SsH+x9cs4YpP+JpLH/x7wQf8+3pzjHHXj+leyeIfiZ4T0vWNT0/UNUtfNs9VvLe br/o3+n/AOfpzWXbePPC+oSeZFqHmxQ/6RxPnj+v6/TvX4NinLCY3F+wxrbXdtu+ i6ttbK33200/WcNSw7w+F21/Kytpt10bt92pxGm67rmnzSyW8d/ayj/lv5/2T9Ov +R2rorP44ePNDufLs9U17yYP+WA1W/H5+44PStp9U0LVH8yOSKXyR9og8j/Pp+Pq RUqW+j3D/wCrh+n4/wD1/r9TWlLPeIKWlHGdEr26afkk7Lz7HNUwGA/5f23TVu7t b8H/AJLQ2bb9ojUNUh/4qDw/4c1m1x+//tzwroF3d/Y/fUfp79/zoa3o/wCzf8SE 8zxZ8H9GtfOH/IV8HXv2S74450727n+XbktS8L6fcPL1/wCvfzz27ev+HvWfD4Xt 7eOL7PJLF+n/AOrPp9OmDXfgOJs5VL6jiIxzBvW9vNO2y9epzLBZZVraTadrXTd7 rro9LP123PNfF37AHw/8T3MusfAP4mf2NrJ/1HgfxxB9k+08/wDHjp2onr/zD/Xr 6mvjzVdL+Kf7P/iC68J/EzwvqnheW8nNvBqs9v8A8SnUrP7d/Z32/TtR/wC4djrz jntX6dWdxcW72v23yrqKGf8A1/n/AOl2xPf9fpjjGa9bm1nwn8QPD118O/ixp/8A wlvw51L/AEeCe+g+16t4Su9RsP7N/t7w7qOOf7F/z1NepShgc8XsMQo4DHaJXv2T SVnu3pqne+zOqli8ZlD9vRbzCN1fulZXvvsr7dNLbn5z/DTxxcagl/Z3Ekv2r/lx n/6cj+nufTmvc9H8UfY7aWS48r9zOP3/AJ/p/kf19/nT4wfBPxh+zH8U7DwvJeXW vfDnxfB/wlHwr8cQ/wDHpqej6lqH/Eu0LUdQxgap/ZWnDOeecjOa5vWPFGqW8P2e WSWKXt+//wA/5+tfKV518ixrwGOXMpXadr3WyaVuttrX2vpv+gYXF0M3wSx2Bdmr cyvZJu10+mj+/boev3njj7R4zljk/wBVDY8X/wBo/wBE/wCP/wD48Of8/Wvc9K8R 2cmif2hcf8uf+v8A8MDn35+lfAEPiSO3e6kuJP3Xn/aP38/S84/Dof8A6/rqzfGe 0t7OXT47s+TDBjyPONp6f578/QVy4TEYhyWjs+lne1/+Da6732ZPs6/WSXrJL/gn 6f6VeWdxbWv2K4uoov8Aj4n9x/ntWpf+Ibe3e1kj1D93NPZ24/6duv5V+adh+03p Gn21rbmK/uYvI/5Yzkf6YcfTg9uoP0qrc/tMXv2mW38NeH9UuvO/f/v4L+7+0+xH OOB/jX1lGeE09136+7qtr3VtL9WczrKjrXxi1W1019myv9z9PkfpZrF5HHpV/JHP /rr/AP54f6X/APW9h+VfMniTxhBp80tvcXHlSif/AJbwc+/X/P4Yr5uuPj544nf/ AEPwvr3lTT2fn/uL+7/0zjrXi/izxv481TUpbhPBmuiObP7ie31Ant9MD2z07dq3 xGIhKyw9NvvzWir9dZ6b7X7nn/WIW+On8pJ/qz6a8T+KNPuJhmQS+d/xMPP87Pp6 d8fnXn2sfEiPT7O6j+0RSxTQfv4IJ8f6H/z4e2fxwOa+SNb17x3JN+80HXY5bTHP 2G/H2Y9vXv1+gOe9ee3/AIr1i3mxqEGqW0X/ADxnyPtPB/H17Enris4YDFV6yr0k oO19JRbd+XXRvvdb730Wp4+Jr4ClSXt8am7r3fmtXt5/ce2/EX4qXlmkV5pfnRWv kfZ/Ig47+3t/nvX31+yv+zXp/wAB/AGlftAfEzw9a+LfjT8VANY+Eng7VYBd/wDC JeGtQsNN1LTvHmo6dqf/ADFBqv8AaI6Z4zk1+dP7OeufCvxR8efhXp/xc1z+xvAe meMtG1/XLi+4tLn+zr/Tf+JF074yex5r9sde+JkfxI8c+I/HFvb+Vo003/CP+B7G f/RP7N+G+nX/APxTth7+4+vFfoWWZfh8myaWZ43XH452srOzvo2tX8/NrY+KzPF/ 2ljVRi39QwCve+97at/Pb5mNeW+sapNda74guLrWdU1KAXE99fT5Nt/04afxjTNL /wCoP/8Arrl5tPt45ojGP+njz/8Aj0+v+frx67OpeKEt3+zx3Hr+4/n/APr/AA9q 4m81zzPN8v8A1WM3A479+v1zzXjOtWxj9vf3bu13str9l+J56q0KNrbu1ntr07+W t+3kVL8yXDyxy3EsUU3+ex64PbvjpXEPpckn7r95FF/z3nyP88/1ro5tYS3tpZP9 bF5/2fv/AKP/AJ68de1eLeLfHlxH5tnp/wBllu5j+4ghHP8An88c81jV9hRtX3ei tp9zXT0t8zGriv3379el/JK2mnddb+Z1GpSeF9PTzNUkil+x/wDPf/D27H645FeV a98WPD+hp9n0/SzLdf8AHtBBBBn7Ledvy/l9a5LVdP1TUH8zULyUXV5/qP34/wBG /Lt149vxqrbfDe3j+1ahql5Fa2sP/Lf/AJ+b36+ufbsOleWoVnX+sUML2+16dOnf r2M6eJxi3Vo766b2WnTZea8+/Oal8WPGsl1ELO3iiim/6Yfa7v8A+v8A5H0lm1X4 maxD5n2iWLH/AG6Y6fpn/PFcl4q8UaX4T1WKOzk0+6k8jEE8/tx/X1rznVfjHqty l1HPfm1ih/1EFuPx4wOfcZz1680/qmOxa0Vl0S73XW3y+XzPMqZ9hKVdUVv1te11 brfTS2mzslrY9pj1T4kR+db3OuGLyf8AluMf/q/Dv2rBvNU8W+T/AKb4ouov+e88 8/8Ay59fxJ/Ed6+fbn4oah+9kt7mXzJ/9f8Av/16/wBfbnNcnD4u1nVNUiWS8lmE 16CbLn/ScnHt9OcnIzXXRybHVv47sl3vfS2l1d6tKzdu7aNKuevz0t8tdX16fL5n 1df+KPGGl2cVxZ+ILq6i8j9x7/Xv+X0FGm/HDxRboftkct/L5GP3H/H2fzH+cc+t eN6n4n8YSWstxeaRdRWtpB+462loLPPXT+M/kMenauS0f4lx2dzL9ssoosTkwzjO R9fy+nuK6sLlOIhL9zo1bS2ttPPzXzvfZnoYbNMJXofvb3Xm/LfT0v8AJen+vr/w QouH1v8A4JLfsV6wWurU6n8O/Ed99nZgGh+1fEzxxNsI56bv1oqv/wAEDp4b7/gk B+wxeIoKXPwt1qZfo/xH8bGivs4/DH/CvyPJlLV2bSu7LlW1/U/zfvHngv7Z488b 3H73/TPGPiS486Dv/wAT7U+enf8Az615q/hfVI/tXkXn+p58if8AD25/X68ZrqPG HjTUdH+IvxG8u3Mvk+P/ABhbweRP/wBR7Uv9A/w49ql8N/FD+2LyWzvPDcU3kz8Q Twev8u9fh9XJlWr4uvQxe9u/dK2urXn/AMFn0v8Arjll1gK2jukt1ppa23pvbrZ7 nG2eqeLNHfy5Ly6i/cDyJ/8Aj7P0z/TP4jmu8034qeLNPe18yzmli48/9x/x8/5H 417Tbaf4X1zyvL0uXS7qWD7QIJ4OPXp0/wA/jV9PB4jmH+h2v7mD9xBBz9p/H3/H r7cZ4bIa8bOWLsrK19NrefW1u2m+qv3f2p7a31fW+zvdtLbX7uvQi8N/EGTxHD/0 18j7NPBjv+OM/TH0rspLi4kTyo8w/wDXCDr/AD/LP6159baHcWc0uofuopYZzbQH 8P8Ajw4/z9a9Bs9UvI08y5kitfOg/wCW/wDx9+v+fx9c17GEy637+vi3fTv5Lr+v TbuZUs0rUr+2wd+z27a2W1nr9/kzL+2XFp50dxHL++uPs/8AqMfy5/z3res5LiPy p7fzZYj/AK/9xyevPp+vT0qhJHHeQReYf+W/Wf8A+uR1/wA9KtJbyadN5nl3X2X2 g/HH06/1r0I5E01iVe+lmrp9+97hSzStfV2Tfe2ml0+m2l+7PP8A9rf4qeMNU+An hz4V6X4b/t6+h+I2j+IfB2qz/wDH34bvPsGpab9g07g/p6d8V5z8OP2DP2nPihp9 r4n8b+I/C/w+0a8hOLi4nB/6Bupen/URH0Pc817l4zs49Q0eW8jt5r+60e4s9Ygs YB9su7kad06H3/yOK63xz8fLb4yXPg34f2ces+F/C/hXw5Z/8JHYT/b9Iu9S8Sf8 g37BqPbqMen06VWIzLJ1hcdjeI4c2OwFo5VJRTb0Vk5NXV7bqzfdn0WTYXOsZXwW GytvL8DmGrSfpdpX1aertpbqzmfDf/BPD9k/w/ciT4v/ALU8l9dQzfv7HQoM9SM8 En01HIHA5wAev0N4Y+AP/BK3wu8Xl2vxM+Jd1Zz2efPh/wBEuf7P68dBnHPHTr1w PKdH8J+Gxc+X/Z9rLF5HP7j2P8znHOcV6hpuh29vN9n8uK0i8/7R5/ke2evp2/8A r14uV8V4TFyvh+HsqV9G8y/tDMNPd2jHHKC12SVk+jPrsVwTjqL/AH+cZu/1+HS6 astLelrbWf0FoniD/gnp4PSWTw5+yHf6/wBzcarBYfZOef8AmJnr/wDr9a7J/wBr T4F+F0+z+D/2L/BFpiD9x9o+wd8/4Y6/j3rwL7PpdvpUscnlTSif7RB6XX0P+ee3 pzmsXFxqlhYXFvp8Vr+/GPIHp/PHXr619DTz2tTf+w4TKMve7ayvLnZ6XaveTs/K 6dtzgq8F5ZW/jvN3v/zNMxs2+Xol5bbbJW0PqBP24NRuLWWPQ/2X/hfYRef+4+3H 9P6/y5rkte/bb+IFxbXVz/wov4NxGGD7P5H9lX93/kZz26jrXg9no9xHD9okvJZZ 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 8nH5+mc/nRpuqXEcPl4l9PI/z3wPb096MB+5r7qz893ta+u9++vQ8alS7/jp5L03 06t+R768fmwxXEf/ACx/5YQf49vT3x69cu80fS7zzY7i3tf+fj/p8z+meOpHPFS+ DJPMh8yR4vX/ADxz7kcfoB2VzbW8bxXFvIIvOz7/AGn/APWfUntXvKn731hPXpbe 9u3fW/bUyrJS/wBnaUl6dOtvPbzat3ODtvEnjjwva/Y/DfiS6l0vyMnw5rn2DxD4 eufrp2p/57+tVf8AhMNL1T7L/wAJZ8E/h9qmqTf6++0qe/8ABF3c4/7FnVuo+nv1 rZv9LEk0snl/uv8Aj4/z/wDX56+tY1zZy3H+rjEX7g+v48/4/lzSpYvG0q38yvrr fTT7tl536WPCxPDOW4qzWEadt02n01087u9uvY6NNP8AhnIkUlx8N/Hmgy+vhX4t /bLTj/sZtJ1zHXtg8VjX+j/DO3hlkk/4XxYRef8AuLefVfCWrG2OP+wTj6d8VvaD PJJ9ljeSIy/6Hb+nrwcD/PFdvqXh+S482ST/AFv/AJKA9xjt/LPpxXf/AGhjP6SO Crwfg6rX/I2vpdrNHayt07fieDzSfC+NJfs/iT4yReSP9RP4c8I/z6fpzzWVeSeG 40FxZ6h8ZPsvb/QfCQ/Qdf8APUV1Wt+D5PtkvmRReVNAfPn9f8j/ADiks9HvNL8q 3juJZYvtHr/oh68j6A9vavPpZnjKta1rK/oraaaen+Xn1rg6lp/tkum7f93fX+rL yvwbx2moPFJbyfGm6l/49vP/AOEj8JeHs59P+JTx/nvVC88J/bEluP7P8ZXUUx+z T/2r8VL82nXp/Z2maV+RHtXqD6fJHCf3kUsXn/aPI8jp7/5/rVV7eOR/MjuJYv3H 7/8Acf6Jn17Zz+h/Xnec41N+xla+n/Issr6LR9/P9LnUuF8D3T72f6WPn6b4X2+s Xl1HH4T0GKKGf9/PrniPxb4h+0+39nf2tz/nrxjp7D9neO8ubWyuZPCWl+dB+4/s nwPoN39ms8dP+Jn2/n2zX0FbeF7ffa3lnZ+bmCyuJ/In4/E9+vTI/I128Phu8je1 1CST915/P7jm27D/AOtWUauZOUXaL95Xd1tdeXZ/1Zlw4ayeKk/qstPPrZW3fVr8 dNUf3Ef8Ea9Mi0L/AIJrfsx6HGxuE0XS/iTpCzi1aLzBpvxm+I1lu2Dhf9Rj3xnv RWx/wSDG3/gnd+z2PRvi5/6vT4m0V99Be7Hb4Y9PJdfl+XbX8OxMrYiuknZVqqWu mlR+Xl+LP4fv+Eb1nf8AbNL/ALGi86A3Hn/2HYfa/p/nr/KGbUPiRb/u4/FF1ay4 5gsYLCztB7fn719c6D4P8N3HhLw5cW+qXX2+8sLO4voJ4P8ARbX/AED/AOv/AI81 VfwPpen6xFcfY7WWwhyZ77r6Y7f59q/D8XmeN+uYuvgMXtZ6q/bTVXSv57I/pHK+ FMneBwf1jCPtdN9bLpZXX4p7rY+ZNH+Ffxg8aQ2skms69fxXl9Z6fBfT31/Z2dt/ aOf89f5V7JpX7Ldv4beW48UXlzda9Dm58i+/0u0uRx7+nWvr7wZ4lk/sew8P6X/o thpk/wDaHkcf6Lef9Q7tjp+nc8Wtbi1DWbyKSS3ur/8AcfuJ74/8e3v6Y/z7V4eB jnma1/rFaTS12dlpbXTT06+d0fU4bK8jwH8LBptrqk3bRLe99d/lfz4TwB8N9P8A OiSOO183n9x/oFpafn/nnPrmvr3wxo0nh+3kzb2sXk6V+4ng/wCPv7Hj2+n+R08g 8JaZ9nvIpLy4/wBFh5EMH/H3c3h45/LuOmR2r3e8j8yzijt7e6h1S9gz+/n/AOPa y9z07jj6jivE4oq16a+rvW1n1et1deu3lp06deFoxTuklbVWS06L1tZLXXS+x1Wm 6Xp1npp1y81iWwv7z/R4LGD/AEv7T36/5x+td5otnp9vYWv2zEV/NcfaLCD7R/ot z3/4mNee+GLM3CRR3EcUvk/6/wA+D/HH5c8c12+qx29uht9Pkii/5eP9OB/0a85/ /Xx/PmvzmrRr1a+mmvTTW6+V9r/J+vv0qt/Ppr5bL17d/U7eC91iTxJplvpdnpcU sMH+kXEE+bS2/P8Al1r0vVtYt9Lhi0/VPNub/wA+z8iexuP9Euf/AK/P/wBavmTT LfxBb3kX2y7iurAf6+f/AJ+fQf54r2mbVNDuLOwt7f7f5WbP9/P/AJ49uPp0xXzm ZuvR/c4h76pq+1rfK6X59NDX2Xtt+/T5fht56Hy/+0hcRyatYSC48qKGxx+P/Ey/ 4l/X+X69/je/1TT5HuoryO68rrPPj/OPTpxwK99/aN1z7Rr0Wlx/8svz4/tLr/8A q7Y+nz6l5Jb6VrNnHb2t1DNB/p088HH+f8+xeS4CjWxGDr3e6Wt/7q9L9NdteiHi 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 evOa9XhfC/uU7X0XRdlr927dr9HY5c03f9faiJquoRxvcySRyRfbIP388Gf+Pz/P p7fWtrR5ftEPl+VLdWsMH/gTeenvz29c143f6wZLn7Pbx2sUUP6n6EdP1x+NdR4Y 1i4s7mW3kuIvKvJvtFvB1+zev+e35V+yZPhq1Wtg30tq/mtW/wAvKx4NWl+4/p+f r1uvl1Pc3uLy4tvslvp4iihg/fzifn7Z69v5e9ZefLsLDT5JZftV5P8AaPt0EHfn 6/596oaVqMf2a6uLf975M955/wC/H+fbPT2qrdeKLg2EsmqR2tp/z4+R/n0/X9f0 Gp7FWvumvP0t5X79bX1PF9liNm/XVbMoePY/Mhls9P8A+PqGD7RP/wBPJ5/A8/TH SvEbzzNQsJbeS3uvN8/7PPj/AI9Lb8P5eteta3cSW8N15f8Ay+WP+v8AP/4+fyGA ee/TrXn02n/2fD9njjlEU3+kH3+p9evqc+nWlRqVq1X2FZaf1b/g3f8AmOrS9j0+ /e/9f1ujyrWNHt7Ow+z+YJZfP/cT/j+P09f6fN3irTv7Pv5ZPs91FLMT/nn6fX61 9X65HJbp5cfleV5H2ifz4Ovp/PI/rXkHiTT7O8topJP3sn/Hx29e3TH4Y5NcOKpd v66/P87WR5Vv+f8A36fhby/X5Hl/huT7Pc/6RL+6mxjtjPbjPP6+le8fD28kGs+Z cSS/ZYf+Pf8AQ/5wK+aLmOS31DzI/Ki/f46f5z/X8a9W8H65HbTY/wBVF1+n+f8A JxW2V4V+39veyurLZb9trbX+TPMqr2Nmnvp0/r8N/U+0ofs+oTRSW/H/AD3+n4+h 6559OtdlZ+G/tEHl+XFL5MGef89h6j0FfPvgzxJ/pMMX2j/Xz9Py9/6f419m+DtH lvYbW4jl82W8+x/uMn/Prz19RX1VSl7at++elvL/AIa9rX6h/B9N+umvz7nnNz4X trez+0eXLL0/f/8A18//AKu1cRN4f8t8/Z+Jv+e/GR36n/8AX6d6+ufEPhvE1rHH 5v77/R/Ix1/r/Xnp2ryXUtL822ljjjlilh//AF4relSofwWvntZ6f15tddDWlV/z 0/PX8U/80eX6VZ3Etz9jks/Klhn48jvZ9cfT0/PpXqsNvp5tYvtFvdSw/wDLeDyO nt/Tnj2rkv7PuI7yK4jjlliEFnb8j9f/ANX+NdvYWVxsiuDcYihx+46f48H09QK1 wqr7dNEv+Bfpa3zsaT6fP9DjdV0ezje7+zSS2kU9wPIgnnHf/OTzWX/YdvIn2fy4 rqLyOkH1/wA8+v517TqWn/2o8X2jypYoYLL/AJYe2f8APr7VFc+E7ezSWSKOWaK8 g/P/AOv9RWlWjWlW/c2s9JdtfT70yPbLy+5niP8Awienx20txJ5XlGHMEE0GMfj/ AJP86is9Gjt4ePN8rzxcd/8A9f8A+v2r1Wawtre2ljMn+p/0fyB79uv/ANc45qgL e2ktpbeO3iilmz/qP+Pu5z/n6fzp0cs9i1Kyvu3vrpvq2rvfvtbcwr1vdfo/Lpr6 Lv39D+tf/gkt/wAmAfAz/sI/Gj/1fnxRoqX/AIJQKkP7BHwSiB4TVfjUo4Pb4+/F H2or246RivJfkfz5iv8AecR/1/rf+nJH80HgC8j/AOEG8GW9xn/kVfDf+v8A+PS2 P9g6ae3r2reht5Lya68qSK6/f/8ALcf6J07/AOent0z/AIe6Rb3vw98ESf62Wbwp 4bH/AJQdN/z6fTiuus9Di8678y3ll/54eR2x/X2//XXw9KjX9vsmtOl+2r/D8FpY /o7AVvZ4HBrV20u35RtbX0Ocv45LyT+y5LfyobP/AJb/APPz/k9vz9uj0qP7EIv3 cUtr/wAsJoM8/hx/jz+NS22nWcmsSW/ly/uYP3/r+mR+vaujudP8t/Mjiitoof8A j3gGf9JvP5dOM9R0rSnRrK7a+dvn1v0S3v02Ou/n/Wn/AAPwMFI5J3luYzFa2vn/ APgSP89K1P8AR7fnzP8ARJoP9fP6jv8A5HvQ9xKUhs7eOKWU3H7/APP6+ufz6+tb UtPz5UkkgiiH/HxPB6/07/8A1q8urhaPse73fn1f5/rs0a0q1rPz1v5dH/n9/U4f Vbw27yySSebFn/wGxn1/L+VeN63eRyXn7uTzZZuTB1+vvng/0xkV7d4ht7P7HL/Z 9nEYvIxPfTz9f8Mfy6+g+PPE/iSPT/ENhcR+da/8TWzg/f5x/wAf/v79eO9fGZ1S o4PBYz2PRX7uO1rPfv17dtfdy/E+2rxjtey67/1959c+CdC1UW1heSeT5U3/AC4z zn7WPX8On/6uvvugzyW/mxR/60QfZ+J+/I/TP9RXHeGLj7P4VsJI44pbu8gsrgz8 n/lwz7H9K7vw3ZyXH2q48v8A1H/kyf8AH+XbPWv5OznMHmOa/uW0r63vbdJWvo3f 5n6LRpeyw6fdeu+v5ab/AHHwB8adU8zxPf29z+9uv9MOIM8/6f8A/r5//VXiOq6h HJoMUf2iKL/l38jj8e/1749OtfTnxa0eT/hJL+4uNPmi/f8A2j9xBz9j5/r/AF4r 5e1LR/tHm3Elv50Xn3lx1/5fOP8AH/Dmv2HhfDfuIvT4Vsl2Suvw3tr1PmMVUo+3 ejfZ/d6+avfytseVTWcdxN9stx5t1Z/6+Af8envn1/z60lneR295LeGSSWU/6P5H f7Zx/nH/ANevR08LybI38uKw86D7Rn/9R9/88VyNzeWWl3n9n29nL5s0+J55+9fp GE/dNLrpby/Hp6/N2Mv43p+f5WSt8vQ6SwvNQt/tVv5flRTf6PB5HW2/XPf8P1rq L/R5Le2tY9QvP3UsH2j/AF/5Z4/l61y9neW8d1FHcSSyy3v+ogH/AC7Y/wAewz/O t7Vbx5HtZLeSXzZp/s08E/8Az5dePp69vfFfUYSi6yX+17Pttbl0d15de25xVv4/ 9d0RTC80+2it5POuvOHE+P8Alz9wOv8ATmuXv9Ykt7b7PHceVdTf6RBB1/njr37V 1EMl5HeSx3knm2s0P7jn8vr6jnn6Vg+Ibe3jtpY5I4pf+XixuP8Al7H4fh7fQ16V VJv9xjHfRvTyV9tfLb8zzsVSvXvv56/l6b+Wq1OI17ULfUEii8uKWXyP3/8A1+Ae /wDP/GvJbm3kk+1R+XmWH/lgec//AF+/XjPHvvTXH+myx+ZmWaf7P64Ocf5HWqEP 7u5ufLuJfN8/+mevp/jzXLVpe29bfh3/AK/LR+NW/dfuH9/Xt+q11PDNbt7zfdXB P+p/0YQTwfa/x/8Ar1yVnqlxZv5knm/6/wB/p+H+Fe3a3Z/aEv444/3WP9fP1/yP /r98V4O9vcfb5Y5JYv8Aph5H4/8A6uP8Kj2VfCfwetk/wd9/XT5Hj1Onz/Q94+Gn iCS41iLzMnP/ADwn9Px/p0/X9Rfhpqkf2awuPLi/1Fnb+f5/+fc9PSvyD8GXEml6 xYSRv+9muP38Hb/6/v8An1zj9J/h1qA+zaX5nm+b/odx5B/z0/nx1r2cHVdKisQ2 33V/JL/Jfd21WFpOtfe1/wBFpv0R9ufY49RSL/SIrub/AJ4c/wD6uf8AOa8H8aXl nZ3l1b3EflS/6Z9ng88f6TZj29f8+1dk/iySzsJbfzP3V5bi3+0eR/x7Z68/0/lX jfjDT9H1iC6+x3GqfaobH7R9uH/HofYew7n+ea9PE5pQ0dC3n3tpf/h/6XoYXCX0 xGvb19O3/BSuWtH/AOJhaWslvL5Vr5/2j9x/nHPpjj8K9Qhto5LOKSSPyv3/ANnn /wCnnni/5PH5e/Jrxb4P6fJcJqtveSTeVZ337j1zxj9fwPHfr9LW2nx/8u3+qhg/ 5b/r2/qenY134WtRrUOt9vw++39euNSl7KsqN/Rt6WXW/o/ltbcxbOwjt5opI7iK X9weIP8A6w/z+PGgmnyXCS/vBFKf9RB0tLn3+vSr9oPLTzbiPyv35uDP5H/Hyf8A OAOfzrqYdPt72zikkuPsBg/0iA+R/L8vyr1KVFqjrdPR62v8uvVfOxwVavsdFrf+ lp+GnloeK6r4e1DS3/0izi8mafz/ACM/6X6H/wDVyKy3jlkf93bxeVDB6dfYH8Md /XpXrXiGzkkf7PFIbq18g3E9x+P4c/4etefTSfvxHJ5UUWP3Gfx78e/pk1nDr8v6 /I4sR/u79H/6Sj+pr/glT/yYj8G/+w78cP8A1oL4qUU7/glZ/wAmLfCD/sY/jt/6 0P8AFeiuuOy9F+R+B1/49b/r7U/9LkfzZ/DrzJPAfgPy5JYooPB3hzz+n2T/AJAO m8f5/OvUE8u4eKS4/wBVBB9nx/z8fr2+v5GvJfhdJ/xRXg3/AFv/ACJ3hv8A5d/+ oDpv6en4fSvZLOzkksPt8nm+bNzmef8A49rMc8Yxnr+dfP0fbexvZ/P0/wCB99j+ icJVdLBYPrtpvpaK/G/zZQSPVLjVYre3/wBFsPI5ngP+e3/1s9K1IdPjjmFv5kt3 +/8A9cPxOPp/9asHW9UvNLudPt7eTyrq8g9P8/Xp0x+HRw/aI7aKTy5ZZpv9f+4x 19fx/wA8GirUVag9Pkvl8t9ND1PZ6fWL9dvmum/bz2Mu90P7PNLcW/m3XnfX29e3 9KoXn+j2vMkvlQ/68efznp/n8eD1rt/s/wDo0Ukl7LF53WDP4/qPrWNcyaXb+bH5 UsuYP9fP/Pnj2/DNcjoqjQWnn07pv01S/D5a+29fuR434h1H/Q5Yrf8A5bT9fI/4 +f8AP5flXw74zkOueNvDmn+XL5n9uWendv8ARv8AT+effn6c19p+OJI4ni/eSyyz f8+8/Wzz/n39PfwLwrocmsfFHw5eRv5sUN99o/8ABccfQcV+Z8W1LZTnLt0etr9u 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 I8eKuMBrplB+MuilyBaGCd6L =Zp8d -----END PGP PUBLIC KEY BLOCK-----
<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----- Version: GnuPG v1 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 x3s3+he/erSO8nh9XIoAAAz6JG03Ncy689PBrg== =9wsQ -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<grog@FreeBSD.org>
pub 1024D/22E6F290507A4223 2000-12-10 Key fingerprint = 9A1B 8202 BCCE B846 F92F 09AC 22E6 F290 507A 4223 uid Greg Lehey <grog@lemis.com> sub 2048g/61D280F939E8DAFD 2000-12-10
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 rwa/z+RdQJKHw3NKv4VlmB2zY+IPAOQJqvN6QewzZ7tdmX/aIfLScRoV4b25eguR 7i3///////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// //////////////////////////////////+5Ag0EOjMwYBAIANkroxVKVMv7bBPi 0Jol1OHkWwUye2tuPlCp5mZq1F3pfGYJ4+7poA2eXkZabLq5WGmtTMbExjdgw03C mdgBnkbDkiro2vJWsIUeGchLyWrpUGeiLXcaS1KJWW2m9r4Wu3W5i26EBtYznkQE 6SMaAYZqIEaU6xaw0IgQ1UArXR6ptzfSerd2Y176Amp6msTpLSjAbvhsLHVnyjBK IAx1IbAe/A3uFrZkN9XmyV5ALNC/opOhEwf/wFkWe+xM60838U0GShlM1hDH1Y9y Ak0XFVkksXTwhc6gfIAKp1igffNcI92Hvlq9uAa4MvAgTDX/n5Ce1/SSr5VotZE5 fbugHmsAAwUH/j3/NFbYWQn1lFUzhdMweC89Wih93JlRjDt0gxjNJf+aaVAvfQvO 2NCzurzMSpWJMg8/wWYTKZk1Z/gveXCHQBDYyRast+jP/AZDzfJj//nDXB2CaxO7 Ri8gAMi4C3S3d38n0TJypetnOmo/d2QnAXXOK+zjN8w3EhV7r8FceiKwvmfF3RqB yVUdq6+PYCWfHh6lSbJRyJlWMASXPTh0gk4Zdc85k1EYaKFqAT7yG4AKgsuGFUzH 3Tpuk9+Gb5p9fCXhfCRiHAH9HtPHbA4He/Od8KjkCJCmY3ZvuuSjuSMcdDIJWIC9 WzAz5jRhycbMxQv1JgvJqhs8pzbZYyQkNp2IRgQYEQIABgUCOjMwYAAKCRAi5vKQ UHpCI0yVAJ4r0wyl8y0pyHeLbP7x9EMxUKU06gCfddJeXcPKtL9afAfIWmamNuSN w70= =cc22 -----END PGP PUBLIC KEY BLOCK-----
<netchild@FreeBSD.org>
pub 1024D/C6043C5672077137 2002-01-31 [verfällt: 2014-10-19] Schl.-Fingerabdruck = AA3A 8F69 B214 6BBD 5E73 C9A0 C604 3C56 7207 7137 uid Alexander Leidinger <netchild@FreeBSD.org> uid [jpeg image of size 19667] sub 2048g/24CD30348C9828D3 2002-01-31 Schl.-Fingerabdruck = 6CDD 7708 F4E8 EFFC 9972 A277 24CD 3034 8C98 28D3 pub 4096R/C773696B3BAC17DC 2014-06-21 [verfällt: 2016-06-20] Schl.-Fingerabdruck = AEB2 6917 4B92 8861 7AD1 AE54 C773 696B 3BAC 17DC uid Alexander Leidinger <netchild@FreeBSD.org> uid Alexander Leidinger <Alexander@Leidinger.net> sub 4096R/8E10BC04D7D8F82E 2014-06-21 [verfällt: 2016-06-20] Schl.-Fingerabdruck = 87DE 3516 D6A1 A373 3C20 7B97 8E10 BC04 D7D8 F82E sub 4096R/E4B3A9F4D39E3666 2014-06-21 [verfällt: 2016-06-20] Schl.-Fingerabdruck = 51FC 6301 8CA2 DEBB 243F A453 E4B3 A9F4 D39E 3666 sub 4096R/33DA1AF69A1EE38D 2014-06-21 [verfällt: 2016-06-20] Schl.-Fingerabdruck = 3D36 7895 2013 21A2 A216 3994 33DA 1AF6 9A1E E38D
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 69ruAJ4gdxhkupzsuLeXEdoZjngqbtDf3dH/AABM6f8AAEzkARAAAQEAAAAAAAAA AAAAAAD/2P/gABBKRklGAAEBAQBIAEgAAP/bAEMAAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/b AEMBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIALkAjAMBIgACEQEDEQH/xAAfAAAABwEB AQEBAAAAAAAAAAAEBQYHCAkKAwELAgD/xABLEAACAQMDAwMCAwUDCAUMAwABAgME BREGEiEHEzEAIkEIUQkUMhUjQmFxCjOBFiRykaGxssFSc4KSwiU0NzhDYnZ3g6Kz tdHh8P/EABwBAAEFAQEBAAAAAAAAAAAAAAUCAwQGBwEIAP/EADcRAQACAQQABQQB AgQGAQUAAAECEQMEEiExAAUiQVEGEzJhcRSBByNCkRZSYnKx0SUzQ6HB8f/aAAwD AQACEQMRAD8AudOkYzMI5aZJpe40/tQhcbYwjuCCTtKCNQxGQxPaVNpUxh0ky7N9 PG8skXtRQSu6Nmd1JCbxHlTtHIwm5fcMF6FoVV2UwzSztnswxxBnSneSCPuzErGs JaobYr1E3ILSHAU4MaSyRpTgyrI80oqFkkkLLGzxTGn7UWNoCRkEKOC7KZZCTIVN uNWxijVIyvZVHppsJR3K/LKle9viJkxG7gf3XN0891x+q7G658MnHpYSzlGpnEax TEsyRpmXLxw7ZC/tR07sjP7yEMBALyKvrpFoxZjMvajAhiijLPB3k3xBUO8qMAr3 VZIo3b+8DPwpy/tHphpHMk6xqoq4JVUYlqMCKdJTEpAjj7QMcMYLAJI8s5G8necQ 6b708ZWnKQPuZoi0fKQrMMhEZRmoyrIzlhGEUsucekQ1OSX8LZe5uvZoKBBGwLFL 5GJYoC9NCLx+v7r31fTyDXhjP2XPHRyKkbLBGZVVW2xPOYA6iQuAiqGkxhs4V4QV X+L0n59Ffm3E8VOpqJ4BMixROYyFYFXZ1RmKsskSq8rqZizMSWwBJtdNo1HI7UW9 ljnaGKRUnZngkkWN2V9sSKZT3IUZv7mWLuOzHaRVNo9pIpRUmplYzIspR1jVikcS 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 CwZ1JzjIz7v4eOSMYIHH2/l5I9AGkwPjaRyM8HIwQAMfB+wGSf6j0TmJWbBGFxgn HP2zxyPgY8g58+u/cjujIWJOPKBOyJXO0eOLVlV8A/isj7UtBK/xR4a4pW+Tm1q+ LPBm1QZZVgU+0YdiPAVScqceCSccEcDnwfQkE+SQQRkD/YAfPj+eT8Z55JqJj2jM 36523H4wozjz8/Pz5/kfQ0zcYBz4PPA8HA5wPOTyPnPj0m4XZuibo0UG6VlWbZBf K1Dh3Vu2xPDvPZz7MXlCy/e+LE9274OzBZRkgkYXgHAwcDz4/n9zz/sMKNtzg4Jz t5zggYyQf58kfpYcHJIyPREkjEjCZz54zwRwOQT+nPg/0+fRzbg8kqKq8lhyM+ft /pHB84x4PpvJkNq+ngaSPUdt8hbKNLSN/He7x0AvhfbuNUyj/wBVVdfN0Hd+NJ39 nH6NXbUH1QdRutb2wnTHS7prXWNbpIY1jh1XrquoaW3UkJlYF5msNu1A0wXcIUZC wHeQHY5WVUX5iQtOQSQeXZTyPkQSCP8ApgZ24HgD1TP+Av0Zpulf0K0GvauNpLv1 w1pf9YTAwAdm0WSY6QsdP3G97RsLRcbkpXODcCECp7mt5qbgTPKIo41VWwQd4wxA Y/oQj+L75++PADYZk8uR3ejckWQ0kUicnPBFpR5f9JXiHqdspylJPyAZdUIFFJT2 bQofZHwgO01NDO4lqJBHIGAjLAF4Y0SNNxYkIgQsMEBdzNjx6zB/jS/XTYNaai0j 9GWk9ZPbrD/lVYq7rXq2hqhU262U9XWQilsjmlmY1v7HgqP25eoBhFmgpabDMkqL Z1+Kb9QOoOh30RdS9RaQvlx05rG9y2fSNmulNUqtVRz6nuJp7h+UmWTuQ1Mdj/PI lRFh4WUPGQyq3rBnXXCquNXPWVk01TUzyvNPUVEzzTzyzNulmmmkYyTSuzO0jOxL uSTls+jMmeoyfbk7SMYs5EI3DK3KrFBgxJG7iSgv57l4ftxyRntJEJxkwlN2zBFi 7ZRmReRkV/yj0+NGPTttefQTVUtv1FfU6+/RbqWoc1dTQU8d1u/TyO9FTDqiihga qp3tpZ+/dKOilamlSV6xIIqjf+YkNVXbSej6uq6cafvHa6F9YYFrtMT96Oaw6X1D qFZZrRd9OlyFt1n1BLUxJXUELChpq+oiq4FgE9SfWYLQ3XDqV01qQdH6tvFLRupj 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 H8DnnICsgg== =XhVe -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<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-----
<truckman@FreeBSD.org>
pub 2048R/B082B167EC3362D8 2014-02-20 [expires: 2017-02-19] Key fingerprint = 7016 6C9F 3B88 E5E9 E7C7 E056 B082 B167 EC33 62D8 uid Don "Truck" Lewis <truckman@FreeBSD.org> sub 2048R/76F1C2A82FEBF95E 2014-02-20 [expires: 2017-02-19]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFMFv3EBCADzzY+3VAk7Y/IR72OWwPGG4MOR6rnWqGoZ3EhVwSN/yw01U5/T jAk2nrCYdW8qZzCXqgAnJGD3015iPU0h4c1PNDqi7yNy+jn9Z1dz3vb+GpM5Mkn+ FddEDtB3hpAXFHTgQCt5Br/3U+vO9xls5ywr6LxotrzMANQTLPBJI8abFDKA6MXx lCoe7lN0Cj0iyBaG+Xm2yckFWiT93k88LdftMk+Mjqg6+9VnfoCm4VaIa7bVbbkP 84AYyca1FLlYTMAj7wikQlXH6V7ujRraujW0w9nJ2dLO/es6rRe1aAUVJLW16pTZ gmodjQNsGna+ynFY3grLaspAo3u2/fCdiQRRABEBAAG0KERvbiAiVHJ1Y2siIExl d2lzIDx0cnVja21hbkBGcmVlQlNELm9yZz6JAT0EEwEKACcFAlMFv3ECGwMFCQWj moAFCwkIBwMFFQoJCAsFFgMCAQACHgECF4AACgkQsIKxZ+wzYticRgf/bbhMTRD/ zoGmuAo1ilw+iJLfsKtkxDLGtxbWEwyhEeeg+ewYjbMaeWeyM5k7AbTeOsof1ixx IDU0M1hpyXXUOYYzBIw8y7VWTCCuWQjqBcFKtjX1kwsNErWe/00BYRvSdNJwQo54 z2RCjIWTk1NoQoiulvEP4bgFaYYA3ZoUiY2h2+gjarndnIFiTVBLRz6dyTCanb5R c0j8NqQ/82K+S82oezo0RrGhy0H5n0ofHD/rUnwpjHmo5JVk++bNGz9AfziEm1Hc PiUXRfYFZm5CKUs/yVneQgU2T/hiecmp8Z+0MkYO4yxzcNa5b08SYFudiUdvLs29 Wspc5yQI0O5Ak7kBDQRTBb9xAQgAyWQJod/1+Y004rGbXU/YA3ovWpeZv9NlmUZh Nr/v6CR8A45S/LVc4MXxGQO6b8mDX03/cVRcSOVXGj9tPXB5cngivXFLeBUWTCRA WnaiVugO0lNWqjkumPqdFaWZhMKYuNCF9zrCBHbw3jXygarZf4vTOOQ3j9E9bnhG CvAoSnUAJsvQHocGFA3S2/YrPm6yCmFQl4nSLGV+5WPPH6SiJN0paHk3sLuG5dGi l+K76zhLMqujAQUJOiQXl7SoTKc3ejekp8cZWdGlgXk+0xvwjB+emGtq6mQ5VOFB uUT/pvD2zxA5aO/meaJLbv8SKu85bSMZWKuTf/NzdCvYdlhpbwARAQABiQElBBgB CgAPBQJTBb9xAhsMBQkFo5qAAAoJELCCsWfsM2LY3nEH/3NcU9xD5Lc053hIqs/V 69X0UJv9geTqYkFgEuUcRzxFfeQRFOtrWL4r1R2X0ixN/8kCW98oiHdQEeLxAs9F F4JtyKUd1+F4RLfMBVE6Yf8j00EVn2EOesHEGekMFfd3mkwFNbrb6d7fGm8kZFKS oUhyGZLQB8MPpam1KyrnpiSCDv2o9WeCorMxKnm+//T5GqAf/0OOcU6tswrAfCRV CGUfyxPIlFnek2sXuvk7CgCv9/1dv/SFt1R3w9AhCSNv1+WClrn0CFX+HvFmBjMt PwlWh9ZN4Z3ZzmCrL1PK3QdX35UKjV7QeFFrHKWXsS8oVYiV6Gsbp5vCIOvx9A5e pmM= =k9Zb -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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 <d@delphij.net> 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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 6tRGZlF0odP1ZB6wub9zq2DxFouSjHgH =cjvU -----END PGP PUBLIC KEY BLOCK-----
<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-----
<ijliao@FreeBSD.org>
pub 1024D/11C02382 2001-01-09 Ying-Chieh Liao <ijliao@CCCA.NCTU.edu.tw> Key fingerprint = 4E98 55CC 2866 7A90 EFD7 9DA5 ACC6 0165 11C0 2382 uid Ying-Chieh Liao <ijliao@FreeBSD.org> uid Ying-Chieh Liao <ijliao@csie.nctu.edu.tw> uid Ying-Chieh Liao <ijliao@dragon2.net> uid Ying-Chieh Liao <ijliao@tw.FreeBSD.org> sub 4096g/C1E16E89 2001-01-09
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org 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 gJ4OtCdZaW5nLUNoaWVoIExpYW8gPGlqbGlhb0B0dy5GcmVlQlNELm9yZz6ISwQQ EQIACwUCOuXFUQQLAwECAAoJEKzGAWURwCOCLMgAoJGhtnPbzYhZWHm5S9Dkgmvj QsgvAKDq9LzJ14Sojrtpxka5F5iViLoqEYhGBBARAgAGBQI7J4TCAAoJEGvZyNJ3 mDKxzzAAoJFFuWMLf6HHO0TiPdafPjuruVpuAKCC0eE7oh9t4xMlTb2SYWMpZS9p hokBFQMFEDsyHL7DfcPfQ7mVNQEB9KQH/iLaexNwzgB9efMXg6RH+TtaWzxBdeEc 7CD9oxjG/1tsfd8S10UScnr+JHTDNn3eh5KdQDjPmKkedPngAIjKHvb/Jux7jcxO OLmRnVeFD1kMyNlv5ggtJcHJ4QXe4rBko68qyU5ON9pvA/h7Xe/ulGw71dOCx0T6 jBlpmLF8AZlHW7z8OS+DYa7fJFI65cDbtd6c9hM+O4WNj8PK7p6MPgilIaWsnJq1 lS5fkaQK+dqaIaVEE4WqTt8v8xC805X58HZXRFma5D39yGFNd3LRCpu48mM5LDLT Q7tfs9jn1Ru7iUHyjI1Jel0hvRGblL8iW/zvwmS/XTXPsh3H0U/WfWG0KVlpbmct Q2hpZWggTGlhbyA8aWpsaWFvQENDQ0EuTkNUVS5lZHUudHc+iFcEExECABcFAjrt DlEFCwcKAwQDFQMCAxYCAQIXgAAKCRCsxgFlEcAjgknjAJ47s3GGw/KsEHKDjjRi D/kcOgiNZACgxKgabQRGmvwKMl8fTtNxiTbAyDOIRgQQEQIABgUCOyeEwgAKCRBr 2cjSd5gysSzKAJwOKSwO0ZIm9II4sjcxWPeNUHAl5ACfXShCxB2mVs6kRDsD1o7f aWeuChCJARUDBRA7MhzCw33D30O5lTUBAaMTB/0S70cAqqqAqrJBZosRZhmXWixk Ah1gMH8SkNVygA3BE3k4A9LC3LNyvlnbCGPFH8PYvN8ymcn3sSPu9nyHVZ31VDU0 mp7JvKeW49tWxBeoFWpNJeNxTv2aNpFCLahpiwcDt/HW8/1NC5dJirDrIrVTrhWG 85UUYeGmMX/5qC7bFh+Y5FC6HxnFTCWlxpZQDtWw4Dbf8r4dMrw/2I9Uubj6brEx LeOG2gB5UAuSS5Brp/9eiAlJs6jRgLU883IzpIhYanz37nJcLV5MVHhbGiR1Yyhr IQlO4pQ2f3VhaEpkUu63x6lxfyVVJsZZ+vZU6EvtJSFACWR1nK2SbszGt/FRuQQN BDpaoxcQEAD5GKB+WgZhekOQldwFbIeG7GHszUUfDtjgo3nGydx6C6zkP+NGlLYw SlPXfAIWSIC1FeUpmamfB3TT/+OhxZYgTphluNgN7hBdq7YXHFHYUMoiV0MpvpXo Vis4eFwL2/hMTdXjqkbM+84X6CqdFGHjhKlP0YOEqHm274+nQ0YIxswdd1ckOEri xPDojhNnl06SE2H22+slDhf99pj3yHx5sHIdOHX79sFzxIMRJitDYMPj6NYK/aEo Jguuqa6zZQ+iAFMBoHzWq6MSHvoPKs4fdIRPyvMX86RA6dfSd7ZCLQI2wSbLaF6d fJgJCo1+Le3kXXn11JJPmxiO/CqnS3wy9kJXtwh/CBdyorrWqULzBej5UxE5T7bx brlLOCDaAadWoxTpj0BV89AHxstDqZSt90xkhkn4DIO9ZekX1KHTUPj1WV/cdlJP PT2N286Z4VeSWc39uK50T8X8dryDxUcwYc58yWb/Ffm7/ZFexwGq01uejaClcjrU GvC/RgBYK+X0iP1YTknbzSC0neSRBzZrM2w4DUUdD3yIsxx8Wy2O9vPJI8BD8KVb GI2Ou1WMuF040zT9fBdXQ6MdGGzeMyEstSr/POGxKUAYEY18hKcKctaGxAMZyAcp esqVDNmWn6vQClCbAkbTCD1mpF1Bn5x8vYlLIhkmuquiXsNV6z3WFwACAhAA4vXK JfvHChbHRCc0z99UHVCluHwRUDopIFNfuBmiAOA7Ozz19dmYBKDgudZpDNZtbE4w 0S2eW3xVTkPUWdrhr0jDcibkhpdFI+Cp3x2zOhL16Yug1xFSqWDSOo3QX4eBVxMH 0sCHiZMlcx/QGl1bwZ9PpO10PttjloI2SqWGUNK9FGDjVfJoX8YMy5DG4rLcaS8+ m2IOb9BiYoRs2Dot9KZjWtL7+CDrFmLH4q8P6OHiE0RJy+7YoTvsHr0JU6suasHK NPfzrXlWZ8C5sKX0XuZTJNkfKojMVucM6olzpaE04NAtKjDffHr7Rr0md/6Zy7ru gJIOwClDyfMmVud0J9Sx/pLKlldakJl25Xfctcz/DXZJNGpvfeMm5+pzR/zulQc1 zDopdrSq261hJKE/5N6tPflXz9UreUdRm1mZV7SEgCKODMxSxexRfw51O0fk3vZ3 rfSjSgeIz9Fs3ypJHCd2q5C4LDa5XgX8vNSYxLKIevu62BnQXJVTKCyuvzUGOrvs nhKzR4GjrMm2575e+pxojQPVXcytFqzn4CS3QTWHvm+J1EzFwhdpR2kXAmaarpye JbUjuCDHDhJPegXY0oRa51lLhvcij1U6smqutADIQSck5JmyQKuC+x7Y8iLk/HSO 3uni8G44oFCf9KJG69f5Va0RHgjBUOZgKMAlKA2IPwMFGDpaoxesxgFlEcAjghEC 3KEAoK+jSxWG0hQa1aK0vkQ+IvD+Ag7EAKDahnKlbMifGmPSpYjK0zcUeojzyw== =NLH6 -----END PGP PUBLIC KEY BLOCK-----
<lidl@FreeBSD.org>
pub rsa2048/9808DFE7C2CA3ABA 2015-10-22 [expires: 2018-10-21] Key fingerprint = 4A2D 4BC0 9C8D 6D58 4B96 96E9 9808 DFE7 C2CA 3ABA uid Kurt Lidl <lidl@FreeBSD.Org> uid Kurt Lidl <lidl@pix.net> sub rsa2048/A53F68D4F0D10479 2015-10-22 [expires: 2018-10-21]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 1HPbb6snB/HKN/Kv2sti =etqn -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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 Keskinöz <arved@FreeBSD.org> uid Tilman Keskinö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-----
<dryice@FreeBSD.org>
pub 4096R/0C552FA8 2015-04-02 [expires: 2019-04-02] Key fingerprint = 097D F705 D0F6 7648 8FC9 DCDF 5F95 2820 0C55 2FA8 uid Dryice Liu <dryice@freebsd.org> uid Dryice Liu <dryiceliu@gmail.com> uid Dryice Liu <dryice@dryice.name> uid [jpeg image of size 4507] sub 4096R/A0446359 2015-04-02 [expires: 2019-04-02]
-----BEGIN PGP PUBLIC KEY BLOCK----- Comment: Dryice’s primary GPG key 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 RkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKj pKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP0 9fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgEC BAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLR ChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0 dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbH yMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD0610i 4i1f+0Jg0CEhAgfd8uDncR+HsKZqGtW80DW1sf3rH5JSoIK5IyCTgc+tdh5SlcHn jHNZ99o0F1AYwAqkbSmDgjOex4/zkGlcDzSdJrOUx3N4xVmBEUJLADKgknsMEj8B TYflmkna/aNN5dba3JyFwW3D6EHPXpVvUdFvreW4gWxMiBAqspJdgCDnGcZwMEfT gVhr9t863aO3UZ3uqrEGMfY5x0wTkZ6ZHtTsSWvElxfXmhQy3k5kVZ3UZOXGQuR7 Dtjsc1m6XLFZ6PzeRxQM5Zi/JHbH+fWreuzJFp1okirGwiJ3t0kyzYJx/wDW/SuO ktW1aFoYnVvLBdQrcADOev8An866pRtQV+pELuo7HT/274fEYRNQEknQkxsoz9cf 1pyz2kpDwT4x/Gjhvzrz2O2ZX2lDnPHvVyztf9KRnGEHB471xtJHUk2dBqmox3Ew RwftKHYX7OvUEfjmq8+oxWsHlIwMhHbnFQ6pHut5JQRsSEHcex6Y/lWHbkFhuZc/ 74r0MNVbhyo5cRS5ZX7novg3WL2S8jskkkCNJ5uFOBwDnPtgfpXdTeJtRsdodDJk BlyvUccD25HPvXmPhi5+x6hDLEQzDO49jkYxx7E17F5cV7ewb0xiJnjJU4KnAJHP uOvPIrHE07Sv3ClK6sVJ/El/JEZIbcQooG5pAeMjP+frRpfjCIxuNRchgMqVQ8+3 1qPUyzyfanit/s4VSzyHIB55H944/pXMahaGC7D2yTSBsHIQDOSSCAOAMA5z064r lsaXNyfVNO1XUC0ly8cbD5YypOemQceuf0FbNneabpsjRIoCBmYyKMgfl0AGB/k4 5u30o6gk0abo/LC+WrqygsT8xJPJIP544zip9QuNUsY5VW6SXauwyeUM9ASGJyB0 PHXn3pgdq2oWiffuYlz0y4orya51n7TL57xrDvAO1AQue+Bg0Uahc9j8xcZ/SmvM FiZwC2BnaByayrG7+0szxuJedoKnjOORz26H8a0QuVYcGVeM/wCfrRYZxV1f3cmp yT3EEotNx/dyfKAcdR6nAP8A+qq9/psZmjvdOZre5iQsQjD96C3Iz8wIIPXJ7de3 ZSKju42IQAAQ3Yn0z/nmufXTDeT29oZ2Fta8vGEAztOAMEY56/QU7iPKvGd2itbx 4Ys0R81ZN2VcO2epyPp71iaNfrapIJYyEm/dhlBAQnHJPpXb/ELQLOOGya1kSN40 YSvJkFxkkdiSc5rhpYBNHYaeCMOcvjrz7/ia3lJSpqJMLxk5DpWWOR3ZkQjoGGah Wff84kJbuQmFrS1KKKzuZV+YLgEY5IFZBvIypVTI7er9K4/I9BSja4zWbifyY4Uz 5MgAdh3OeAfyrOK+U3Qo4I+U9/cV0csa/wDCPSRyFTM+JNvcDtWRaTJFdRyyRpNt P3ZBuB/Oumm3FaHDUfM2WdP1EwsPmI9ccZr3PwZq39r6Fp6MzLKpdGPXKDt/6BXm B8LaXeW63FlO8TyLuVJPuDv9RXd+A7WXS9NLXEW2SK5KZJGHVlHf64/WtatRTh6G UI2Zq67bXlxcTKm+OCMFUVCCSxGcge5HueDWNLbanZQ/ZZLgoN6oiKvLk4OQcgtj pntz7V2Non2u5lu2H7t9pXcuMJlgMZ+n61X1ey+1Ir5dfJPmKFXjd2wTx29O9c1j U5ay1TWJtUkS3csYQoYyqoHy/L15B/i5Hqal1631P7A6T3bIGkJcYwje/buRx6DN aFrbLJfT+UAgCJCyl++CzDPOcEYx7Ums2Oo6pBDaRlXCNulDOV2t07/w+mM9feiw HHXk2n2rxwqDclUAMm8rn8vy/CilutFmMyraxE4RS6sclSexx7g0UwPUtGIS5ljM SxtjLBRxuBwccdOB+VakjxJcIGlCOwOFz978K8nXxrPNL9ptgUMi5bnODwDj8gee 9MudfuruUTTncwOQRx6f4VIXPVbiygutxbDyAFRlun4Vy19p40KMTiaXYxKSI7Bl c8kMu7J6nG3/AOsa52LW7qEi4W5YOXJEfzAcjGfeqXiDXpru4jDvlRHuxkn9T9P1 oA5fxvrUlxepAGxHyxX3z/8AXrOsmU6j9qY8xJhF9zkZ/Af0rD1O5ae/gZ2+/jn/ AIFWjDcqhkVnJbII/IVdrIOhYvZ3urdZHc+ZGzAMRnIzgj9BWUcC52tuyCCRt4PA NXUu0WOZCCQzZA+tU/OhEzPJtGcYyc9qOVApNKxs2qGVZTIPmK4A71y5k2MRnocV fOrJETtlO7pkDtWNLJukdlJwSSM1UUSdroWqMlpCpOQuRz9a7HTtdCtiUJ8pBG4Z XI9QeK8o0272psJP3ugrq7aTzYVy3DGpasM9L07xndPcr5hQWj/KoKDI9GOBW9lL yOOaITSpL8iokoVXxn5iu7rxn6AZry1rtbZoFkKoo+Y88KK0odUSa/jlguGWKFfl ZcjDHuMc5qQuddrWoQaZPdR2yoreXGwjK8q4z8xHXgbef8ec3/hLNUubuOaG1ilb ymI2pzhTyW9hkd/WsHUrvVvtbajNcRpvbyhICqsQfYdff/6xxDZXcsFubiCfzriQ NaQK5C8NtAGc/e+Yeo4pBc1riS9uLs3QM7741QvC20ErnP3SuRk4z7H0orvLSGCa wto54IoHijC+UNrhR0ABxg9O1FMZ4/DYNpeq2890jpYzsA0nlMVGf4hkDI+ldTou mXGpym8MySwWxK2vmrgSYPOB6c8Ct34g4HhcRCVl8yZIwqNgFeSMjvjH6VR8B65G bKXw7eExXVjuCc4LqSTx7jJ+o5pgWde1vSrCGOAxQrdzLtIOcA4Gfyz1rzHV7sPf TeWQcKV+U8Vr+L0S+u7kiR2w52/T6V55cXE9sjqHGQ23HcUlqS2ZtxclpFfH3SAf zzV61spNVLTiUwIPlxjOcf8A663/AAp4eg1bS737VZ5Zkkk+1s+PIVEJzjPQsVyf 9kjnmsXSJwtoB82Qx6HGRVXDoPl8PeREZpbklV6gLz/Oq1hoxvLgKJdu7kcc1tyO lxEyknaRjbntWfG3kzNs+RR90GmmwJm0mwtpvnDyqvUk/ePpxWVq1vEj+bBHsj6F c9K3ftccSCGVN6gA+4rPvys9syxLtT0NCbuO6sYcEnlktXTaZNffZVnhBmZg2Fxk qB3A/OuXZcRoR3PNdpoVq9reQWV5MYCGUPtAyqMBn+ePxokBTuL0OqplmLHLk98f 5/StTSb5sNbxKS7n73ZR7e/+NeiR+GtLu4DYBkj+1b3SaTO9kVlxnPQ/MOOpwOnO ODl0uXTopXilaNYJAsp4UkEZBx1HoR2PeouI6WzsllVI/NOFIYsTnb24Xsea5eee 9h1hbaN1WSOVlj2ElIsnkKOcYyfpzWlZ30AgjWC3cyH8ye/Pb3Na/hCwe88Y3N6i RrNDCzGCY7g5J2kAjoMex696SGXEvfE+ooJbVpIox/dAbzP9v5s9fbjj2orpNRnh WYbrg2TgbWTA3cdOgYYwRgj3/AqrDscRr+oazeTabBqJkDO3mLblSr4zgE5HPfnG KzHvrweI2vraN2d7byZXnJXY44ySOmAP0xVzxBqkFz4uWW5eSK1s4PJVpGJdiAT1 PU7mIzVWLW9PWwV5xukLEgrhSSfQeg6/ifWpuFrmXrF9PBGVmFswPO6Ne/5/rXP6 dHFql0bi5kMnk/fQry69Bg+uTWnqVjc6mxle8jiVv4ZGJbHvU+nWkOlq/wBnuIRI w/1jAMc/5/rTvZCaJ9V8RRWkcdjc2z2MMlqU2W2c+X2AGQBubJOfVvUVzduqeUjo uEOfl645JFTXPhuG4mMkmsIXY9So/wDiqtQ2ENqNp1CNwD6Y/rTE9SuzhVJMm3jI 96z/ADWWYs0gI6gDpW8IbVGbFxGYiOUbBH4UxrTTh828rn+E8j+VFxWM1Fkl52M+ eSVNMuWCqUGQQPm5zitaRbDaFDFO2Y8An8cVXW00tfvSSt6jJ5/Si47GFAJHuY1Z SyiTIUjr1NdRJIJbiKeSSPyw+wShSocKoAJHrj+tMtH0+yvYrqAyLLGcr3HTHIPX gmrU9/Y3QCtHsUHO2IbASBgHA9s/nSldjR2ujXls8k8dy++eINFDs2kAEAKyDOA2 UAOM5z3xTvFWn31notnqUNosLRkpKkirJgk85znPI6++K5SPxIsBQorK6bNrhRuO 3pz3/H0HpV2+8aahrkMVhO7NEXUmNUC7tvPaklYfUq3thp9ldWbQauZIbmLz51jw picnlcDpXS+HtTs9G1RBaQtcQvDIyT7hgZ2kqcD/AGBj615vdu6yupiBBPdM0/Td SuEIhW5ENsrbiMc88YUetQ7vU3pqPwtHuaR6XrFvDcT288xVAgC5+TjocGivPbTx XKsRiVYn2nO1j93IAHcc4FFNSfYHR10Z5Mlw9zdIZ5yAT8zMTWwLh7iVZjjbHxGo 6D3ppsrNdKhPk/vnlLB8/wAIwMdfUH86VAAMYrTQ52yUlnJJYnnPNKsf0zQn3fep EOGBPY0yRAmTjH/163ItKtn0b7Y2/wAzaSAGGM5x6VNDfaQwx9k2/wDAM/1rXt1t m08tEGFuQTsI5/zxUyZSRxbR5zkUw4H8NdK2oaQCf9CY+5Qf41hTlHnlaNSIyxKg 9hnimmKxAvOMgZFO2A04LgYx+GaU8fSmA0RCtGz02KawurhywaIZUDgGqS89BW5Y Y/sS9yAeCD+QpNgkQ3ukW0CwrCZZJZTwSeMfTFST2X2FkOnj/TETcWJ7dOh7nn9a u3MxivndYGlkEI8nHIx3qgzL5sc8UEzXM6kxvuBDdM5GcAe1SUc5c3l1PcySTMQ5 BHC4/Sq6xFcEEgjoQelbmrzCadYmtxFKnLnOfwH51muoAqkJsgXKZ7ZopxwOKKLh cluRjRdOOSSzSZz/ALxqsOtFFKOwiaOpQOR70UVQFuFAzoD3IFdYx+zC0gjHyNle fQKTRRUMaMHVIkhuiI1wGG7H1rIYkPj1NFFUthDj938qGPymiigCVPuZrX0z59Lu EJwGlVTj0OKKKUtho1mATU7WNfurE4/Dj/AVFbooMaY4iMoX2+fH9KKKkZx0sryz SSsfnc5JpD/qwaKKsRGcdccmiiigR//ZiQI9BBMBCgAnBQJVUa0ZAhsDBQkHhh+A BQsJCAcDBRUKCQgLBRYCAwEAAh4BAheAAAoJEF+VKCAMVS+oU3AP/29Jg4oD4cRn g7TFGVi5L5FXv2tspnuj14X4zse3EMlmmC2fhDKrBqMgmI1jKlU9xU5mUngc7qea CNv1ZK+ucG8OYHR65Q/cjoOVurPqsuNzBCQs/Dr9wSCylQGPt0Tq7RVP6acXLOfy uHzZIKS3S4wJ9vh2DNKAndKGwD8UYfTq7rEv7vfiWedI4eXtk8sJpV9RL40aPFrQ 1EOjZnikf0DTHOQ+m4EPpZWtFsPmzhmG+Tz167iBkqcLRyp4D/gcsRKm1ZcQ6jXp jo0OXdApl4fr21cgCBhJ8OXXF7Wz3ZJe7ejRVTuR8anesIzmP7hzIC0Pp3xjfCPu xZU+N2scsGsHSiC3CpAJcxoB7F3EbMy0yFk1wCUCMUpn17RZFMHEkyYzYQX4ME0c OEcgFrhrdtaQYzyd0QOsImN4EaHhZ61ikixt6MfWtYfgQw8dphHzEZIouNTVVTUn Fy1/+TZ7CLf8K6ikCMaOxVFzBenSXWLW8Nke2jZvqB8cUaAr7owrZbwTZXUr7A9E K7Y2UCJlWLEIRbD3KcKcvbITwNq/YJSPuEC1dWEXJkuKpJVKT7VpKrYf4WLvpvpv LRcwvyp5vxs3FwZgtH+zxfNoATaekKalzoQqcRsfb87IbwgfdAD/kAeeGZKztuRg PAF7OtF2Sxbc5rC9ERGXILHq4kJUnHEOuQINBFUdgUwBEADRTm9Kj71CEYuSXyWh eA+CgMWKu2fA3vxjhbnL1Qs2awhEzI3s/7YTzDAS4ewUfbLedxXNb/xd68iNprS7 rQNC+osQZQQf5ET558Vi/XQ/MNynToYoHi0Cji5ds6d2YCceXrSWHoN+sNV/OD56 67nbfhiO73xfsfHEhrKb9fxcCuIxOaU1/I1QUn1UuRS4ncGgQo5Epf2aHnijFVDA es8fetaARADnIs1kq3nm6aht1EEO1WTDfsVX/OCx/QA6OY8JHS9rVGfxkYt8gRUt T+EnURMKEtFj12mcVguN+Jul6vJmVMevbmo7BMpQO83mV4Rh9OllnxNL+1jIOC+e BfxNfyFfuqh836zpiR/hT5TAh1jLDME+KwpwrAZ1CdW0P9MDtOqZ/cX7UpWydm+8 0kf+WuA7pWVnl51JTEffwXGeia4CrqJ/P4DR4J+3ye3MDdU8yKW7W/63PDQZSrb2 vNX62RiP0OBaliMWCy4kdmOZ/NvjVR6XwkAxyIkxj/op+gyvDpiHQRq2MqqSdXY7 dWV7GckM6cfvwTdL7i4HcWJU5Dpby+v2FX+xJYZ7Ejbk1x9qY6V5toLPZVEpRJoI AFShIpxVlBFUtVvkWSJspVMgUW4XaT04q3tKCbpju5vINOcDpvDaIgHEfFRHonMO kVkvPzqCvV7XyuJx6Q0s5ussuQARAQABiQIlBBgBCgAPBQJVHYFMAhsMBQkHhh+A AAoJEF+VKCAMVS+oGZwP/igoTASmY2OWJDPFJB8BD/xMdDC3DaGdghfiNuJBYKB+ naDfRuSVf4xY6L8w966wV+xoOu+vLbpz+1wtmI07OkOPhD6nMR7cGAbd/QkYAngL vtvewTBSLqSTpgnCDaiQXnPDuMF8e7KJbU89oxFctGzjVpRpOzuQErtUUSz8a38f 3xsNw0IxfvZWpUXoq64CRbF7ULF9z6pz93E3ReLocnI6P/mHKPWhpndxGSZnlqxH ESfx+LN9434NtilajZwZZrqAtfssLlYFDNKmEccnH+RGTTNkzTpGCGnrhOgccBUU iqlSiIj+wcEp0uZMGLQmaxSxIO4D5k4gvd9a0qJAtz4gPoyEnODnQBsyhid+2x+7 qlrICU16D5mfceflJ4SQritbPhLOTE8k3NWdz4Kl1f4KK8D2XxUaLXIvS+vh8AHu 5iS2zYNivj0YzqruJa7ytles3TgEJYRTfvEmdsy/RIGUaU/euQra17t3fiYQbveh fsLbaPHGHy3wWYX0JZkoYffTusNNTTuIlhMUcpk78hDE4Pc6ER/hDz0tQQ+869RN PGZtNXgKYZpqj5z/wSkmLZS+buikzn60CEhxmAYjYhlJpA41yCkaem6FUnWdEgYu 6u1VKSfNLQa1ZkqOWSv3p2mQxdK9D9YMYL2prYIFBitAZpKNhNTJkQghvxGtQUqz =QMqP -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<jtl@FreeBSD.org>
pub 4096R/F8C879462E5477E3 2015-04-09 [expires: 2017-06-30] Key fingerprint = 1F3D 2022 617C 1E04 8C74 02AB F8C8 7946 2E54 77E3 uid Jonathan T. Looney <jonlooney@gmail.com> uid Jonathan T. Looney <jlooney@juniper.net> uid Jonathan T. Looney <jtl@freebsd.org> sub 4096R/EA74BDBC891F9AFD 2015-04-09 [expires: 2017-06-30]
-----BEGIN PGP PUBLIC KEY BLOCK----- Comment: GPGTools - https://gpgtools.org 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 =pvsB -----END PGP PUBLIC KEY BLOCK-----
<wma@FreeBSD.org>
pub rsa2048/BA2FD88965AA1A7F 2016-01-20 [expires: 2019-01-19] Key fingerprint = 09F2 3360 D512 C987 B4D8 1AE8 BA2F D889 65AA 1A7F uid Wojciech Macek <wma@FreeBSD.org> sub rsa2048/F074ACB7E5B3B33A 2016-01-20 [expires: 2019-01-19]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFafOAsBCACx3x71eZ8W5sSonSWQYdo92/WdaKTxOOFbq64Y96eSBfW9b/aG lquhYeqny+rKNZ3RGDNVtcoXVXQ6WVk6Ogh9DLzUZBM18qUHhOD/caxOF/qbbbJc p76+75JN3flB7vQcYGOyHfnXuVZLztsDzx+5R3KERP17THHZxeku5qL/MXY1ruBd yxAVWHdqClUjToBGSj4ov9COZWBxs7vNigy/d7CrHQc3AIbu4X4FBYgKtZEbrzz0 P9Y3+mI+Rg5R0Ith71YAp+RweX4b/qC00d3yUoq10VM1vWNYMuRBEPRoV9uS/7bL JEF5Fgu3CJrgIlPeTq/RRq1kczsq4DRse6rLABEBAAG0IFdvamNpZWNoIE1hY2Vr IDx3bWFARnJlZUJTRC5vcmc+iQE9BBMBCgAnBQJWnzgLAhsDBQkFo5qABQsJCAcD BRUKCQgLBRYDAgEAAh4BAheAAAoJELov2Illqhp/jcgH/i5cs6bBNpaJIOHGmrBb caJ9blKVbHJhI1y14IFTiV/tZnakbr6/Zra89OBU5IvTBA3AOJv0qCuEM8WdVh5g 5+KovkuyG5ZdCUihd0f5J3yTSWWfEE0PT7n0a2llZOTW6YnfYzD7LbK0sAuZwrOD NZ6mg/xSG5TT/JOYgwgtLD90LPR/XX47FX7aviT0u4/sCPf9RyKL2VoRe9OqEZDh yVXW7mK47MR6sMGXeKCQGT5J/FgYhABjmzi4bJ3MbBd0AW5MJFFJW+UyF6+dAD6l UBeCFfRC0Y+MrHTBbKJk8hOq46/LhFlazfCr78ho7E2vkA9b3b2W5qmjf6L+oS2/ TLi5AQ0EVp84CwEIAMeHwAiwth49I/nLNwKxK0oUbTWFU2DH5POx6ntIIG8c1Y7R ovqqJKKI0Jv/POZEkGgZfTsBwJIzi6nP24G747FSuKTfG17DWevnuTjy39UGYylP 2SWXLxWFzg84GTUOEh7/Z/OoAnjI9OatI4XCUHLD3kPb/V6bUSEuoa2ofasVwRnb FNGExHNvoTE3yL6sAfCDPWmOZmoqrzWItHXJQxoNZJrp9v75Q1fT2l5ek30pBLa0 pVsQ7pLr9ffbBeSgFLfJ+ApZTa/shSa6WNvAi9SOYz2poUV6OWp6uTc5BYkBjw4+ zxQ/n+p9aAJg0S54+Mp5DOBqEKOqj89AqzBs1isAEQEAAYkBJQQYAQoADwUCVp84 CwIbDAUJBaOagAAKCRC6L9iJZaoaf7R+B/9XutbuQGHh+wHczpBZPKRGjN8LWV+Q ElivV46+kN/SImfbto41tdIrB4lDtW31r8PUpNnDOZJh0aHnLkDrNLB2bnpbFBuN 0wFb9I5mdeGHeW0XANKlK0EMEQ5EONJMcL6FveWnDH45a5SPJs6olt7H3l69vI3i //mgzNGUzDqMLwR9V6aGTGLkXTAg4stuUYkGzzWdwK5ntVUoc9b38OeljG1P1Zjw mQSFm1erj0zYO5d5lvA2vDzjzq+y4hX1b+7HyMhxMmOMZuZPJx9hTSImibzrNGHm NiVXwq0jWuLll3REkYQS/9rUEXwOi6pkkyEabvYXBlAW11E/XtT9n+kA =apD9 -----END PGP PUBLIC KEY BLOCK-----
<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-----
<bmah@FreeBSD.org>
pub 2048R/4984910A8CAAEE8A 2014-01-17 [expires: 2017-01-16] Key fingerprint = F85A 3820 4369 F71A 34D4 4E83 4984 910A 8CAA EE8A uid Bruce A. Mah <bmah@kitchenlab.org> uid Bruce A. Mah <bmah@es.net> uid Bruce A. Mah <bmah@acm.org> uid Bruce A. Mah <bmah@ieee.org> uid Bruce A. Mah <bmah@freebsd.org> sub 2048R/3FE58165F851A044 2014-01-17 [expires: 2017-01-16] Key fingerprint = 32E2 00DA A25D A8B2 87F1 7CC3 3FE5 8165 F851 A044
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =kYDr -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<dwmalone@FreeBSD.org>
pub 4096R/214C82C2361FD728 2013-08-07 Key fingerprint = 7759 C5C6 F872 7269 4A8A FEFF 214C 82C2 361F D728 uid David Malone <dwmalone@maths.tcd.ie> uid David Malone <David.Malone@nuim.ie> uid David Malone <dwmalone@FreeBSD.org> uid David Malone <dwmalone@dwmalone.net> uid [jpeg image of size 9564] sub 4096R/770F33478DF59E7B 2013-08-07
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 PHb1QoH1+e4xwnA6sqJyiohcBBABAgAGBQJSAq51AAoJEOMEHVVAN4mR3kcCAIo0 ObIakUNuRUmoRjNq1XWeXIqP9Ss9h9FQ/k8RpV7zOQAoYKfTu5wl9LAU4b1gxX2o dWBodlqXapP1llnG6TG0I0RhdmlkIE1hbG9uZSA8ZHdtYWxvbmVARnJlZUJTRC5v cmc+iQI3BBMBAgAhAhsDAh4BAheABQJSArZ6BQsJCAcDBRUKCQgLBRYCAwEAAAoJ ECFMgsI2H9co2IYQALCK57i/h7W7MGdrBwMyfcxSShL9UWpgNrR7pqA0h5kk7e7Z 0BAi3DQIOrxsVj6ktRyoAIkK8LI+AFocR/nbxvu4T+Dk6AVo0u2C2NCEwWeY/bam kdTqQ8w/KVvSK4GCbG4j2yFORHvyRKcs/LcibKM5HrlOR3GlF5acIaYVxKiQ/IXD JKeNHHbC170Zm/5+FoZMAUR3qyNtmBxn2oIGhgtB/l8RPQQsm3KWJw5u+5NX4g7a BKRWXyRqzPxxyIpmqYtCpflijWyVJZo4Cbd+hACr+ySQkblHZ706SPp9TsSNIuak B0+ESjoc1HnvZJ2riGiA/VhJxpP6VRjxZ2cyO9byFnLhpuWuQP91IZWhRz3xhjKq sQi/AnwC9MVRp0k1zfb9Qs7RjFvH0j5u4JT29T+cTuj1tujutHqcGWLB5+uojtW0 3ATfCI2SmdiwANi3zb9K38708ZZ4B7Vg9Ijxp/v6iACZmBT6ubil3mJyamvqNf4D 7KwMAaIb1vyJSsiIQHlx08/zAxc0dJ1a3MAtR8BClzVirmUjlqzzrXad26bLu7X2 shXRrDPK4yT+nFG8zqqdJXas99LYqvLQcMJsdpeQWrOeNM8NTJQ+Vz810WdYbNDz mS6iExKm42vdnVtNycJtq2pzaHxzrbPt5daD8PHvbTZRJDVrDxMIDWutHGfUiFwE EAECAAYFAlICrkgACgkQ4wQdVUA3iZEAdwH9G2k20akKZIUd95bvVq9QjchJC8Kb lYXl2HCfN3pSEqHcrc6CDGu88p2apnkuTMX2ml7WaoeMiL7b7KvMWJiWtrQkRGF2 aWQgTWFsb25lIDxkd21hbG9uZUBkd21hbG9uZS5uZXQ+iQI3BBMBAgAhAhsDAh4B AheABQJSArZ6BQsJCAcDBRUKCQgLBRYCAwEAAAoJECFMgsI2H9co7G4QAJiSZjUt +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 SaqTugPD3NZNMtVcpNzTg7HpNxVzzjmsX8cK =U/FG -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<kwm@FreeBSD.org>
pub 4096R/BF4E2D5B3B9D8847 2014-01-31 [expires: 2016-01-31] Key fingerprint = F986 EDE2 B3EC 4098 7820 E1D7 BF4E 2D5B 3B9D 8847 uid Koop Mast <kwm@FreeBSD.org> uid Koop Mast <kwm@rainbow-runner.nl> sub 4096R/19C3701D1BE7F671 2014-01-31 [expires: 2016-01-31]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 xc/1gnP81Zu1PqPlTGWJKtzL4XjcSA== =hB1P -----END PGP PUBLIC KEY BLOCK-----
<emaste@FreeBSD.org>
pub rsa2048/5D9A9C3B43EEF099 2015-07-08 [expires: 2017-07-07] Key fingerprint = F7E1 F016 EF5B 923A 6134 8BC8 5D9A 9C3B 43EE F099 uid Ed Maste <emaste@freebsd.org> sub rsa2048/A294A95EA92D2D89 2015-07-08 [expires: 2017-07-07]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFWdjzMBCADYrIC6o5lqDkAGrEIy9v1ShIKkUbdhkGH6ub0DnYVdS63NLydv ZLs10ww6hs+urqJF1SjdGxiAAOI2PoQzo0CIRlFROgcVH5elTT4z7GuchSSr4i4x ZCv03rkhAUDY7hXy27EUeVI+DKAkdV/r6fePXnC8f5l5Pk/g7N6sILx4hTl0RF3r oN5zY2V1k9XlX6jHu/h78AIbJ62YpyNCL06zgz5/FdU4ICim5RsRli7Hm/Ny+fYz rTvRh2mFkBTdZNPS5YiO0gK5gm1/cX8sgly4g0d7G8oYBXrLzepUg/1FdjRjaaJN kiCW7BVOvQ2gNuyyU3sEvt4SEz2rSV6IIkYbABEBAAG0HUVkIE1hc3RlIDxlbWFz dGVAZnJlZWJzZC5vcmc+iQE9BBMBCgAnBQJVnY8zAhsDBQkDwmcABQsJCAcDBRUK CQgLBRYDAgEAAh4BAheAAAoJEF2anDtD7vCZJUIH/3TMLGLsEPHR1f+/U5d/IOmX GZw/lMe71j765c3K3Ez4gmGIwD/qN9708tMaGsDE5lWK7fwDDZgIcPspxb7I4C6w fvvIWbSWs9FAw1Dmq7brENe88yZ4vjk0HogYzyow2OP4qDFBNFGawFuy1sNVQp+Y R9ZcrDTOZpzZRESuR8sqvCENBcunhrpgEHq3CVOAc4e+U7xS5W6wlIhMhIXqIIKL tECb5IzJ1tlXK6XHLt3sS5P17NnnAs1FtGdWFO2OJ8BFlIKtAZXBaX5dL06NieJ4 g95NIcnR55RCO8hyiG2fObgtahtHtSJmOuJrGbSrS5iW0WuUdrM2Dea+JZBPfXW5 AQ0EVZ2PMwEIALbOjhDPMp4SHSEQ6VFkJOgeLyZfV7ZrwbLoVihQbmg6inuJ4pjt oTKCkmkKtFZwViNZKET7AvhEAiWGj7yQIkViC1t7ObZrTXS7uvxTN6KuJMQis6l5 wTMXPZmMGI/ITEx0d//0J8wmJUcS2fGYUGO3k5/LExPUYexOye6VyaUfyYDMZmAC 6RE6kNo/tSzYwk/NlrBuyrWmvE6sdNrwa8Qzpia/n0El7qCrqGKceyoMbFBgDr7Q k8hxbS5T0vh1eqQiwQ69mjaALYGe+DsJwV7hxrjv1yhYBbUrw18+ao/9ARZWWQtc 07VVnsuXbEBIoht2WIslcgmzcnOn614tE6EAEQEAAYkBJQQYAQoADwUCVZ2PMwIb DAUJA8JnAAAKCRBdmpw7Q+7wmeGhCACdqwWt102B4ba9+GI3RNyxXFBfl6FgazaX ZoVjQ5IyuxAAWG23fDiGN1VSQL7k54l4c0CPOCLTcQmyVQvGPtRywIGpoaRiHwtD p9ji/EeNbiIupMP3rsXIs3CrQ2+L7DRLDEYkLy7BKZrWTTEjKEh7S4qju9FGXUnk zbcnqmuDWAt32JZ5G861C/qdl+KvcDUucY+2aVUnsHxbSmS/asUbQjrRoCSof+hX 9QrnCl5xEtKGxLGenAL1daGRIVwZhLQOxl6K56KgIjBKpWXvQBSaqXd4X4R8LmFK F5yecKx4DTn/PvOCRTyvDtbxbQ29WXjJQgUgkLutAKK3hTTQpwWL =Muz+ -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<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-----
<slm@FreeBSD.org>
pub 2048R/E523D98C5DCEE9D0 2014-05-13 [expires: 2017-05-12] Key fingerprint = E5A6 6376 9B87 C35A B41E 1F7B E523 D98C 5DCE E9D0 uid Stephen McConnell <slm@FreeBSD.org> sub 2048R/0A1BC20E46082DDE 2014-05-13 [expires: 2017-05-12]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFNySZgBCAC5psmrGTeYIY5T7nGJUQsXK2uL+6WZiULOkmNpmH9v5QBs86Yd GLQBBj4czWxwJMEDGvZp+BNMHZ1XfPL1tY4N8ZNB6XBKk6xj/M0oDQGBFdOKvihv zRgU13fUiUdMbBu43OVzVPlzL4XO6P5NRfQAXtHVFoNRm1haUjatE/Yg+i4xxghI r1qHukYNJ7pO+FFjd1CJBidUQg44w1+MOfEksWW4vPq3uNMVIt8HNh3OStUUrMpi l6yghEdXEMYExDGzB1V6tNg678VW/jBJZJJxc+fEE4v41j6xX67cs1pazW/pqRl6 RH/hzrfZ1X/ye0wBXreap4MxFIxdBRC8Z0G7ABEBAAG0I1N0ZXBoZW4gTWNDb25u ZWxsIDxzbG1ARnJlZUJTRC5vcmc+iQE9BBMBCgAnBQJTckmYAhsDBQkFo5qABQsJ CAcDBRUKCQgLBRYDAgEAAh4BAheAAAoJEOUj2YxdzunQT4oH/RdygIY1kj9gTtb2 A0xyvbtWUWgVG20mdBNg4fBzOd22iFeytslh4MnfpsCSUiaGL1Kyc8WHKF6r9KgZ /ootJ/jXsBURNX8SMWzEsApvoMo+XB6d+wBgbUOd40z4qOeNt7bzvgW9czMFxD7y NyX0Cymm1PfOWMMea4x4YaqbVTOHJH8myVkApNxMQ02RMA8kUGPI69yfUPFkZZ87 t+0+Cf5zC9X2MjnCYqGe2hWmrAd1GBOoZze63dbxeiSAK7XanoP/1EElOFi6kY4R jW8AT6Apan10WS2IzoSnjQMT0bKbdjUakGyTzZspCzL1DwH8BCMng4eI23wSDqXH NQG17ji5AQ0EU3JJmAEIAKRCkTvenrGIGOfFgeYMSIa/dnoZqLO6K8HAvEYX0peH QJpTgN2Hot0871FekGi80JoRFsciKZVi0cAv5pD75dAq6uWDCLEhg3CiMqMEg19m 402GC87Jf291Lc19/rRt1Qj8qJyAJNTn2taHb2mXl4fyVA3l6D7t0lCl+yGZGbpl r8fPX38hiZXquFI7ot5J7RmbOBVcszNNbkk9wivgZfYKBJOvVe2HWi9lJ9OYDnLU pb9uQQ0/tvsFF1nBBvZpzlY/70ViS/w++ZrwlrPb0KGTZiXQjdhgIe8j136fDyfm 2bwS/K5XLhLKdoX+Ilc5fWdYo4ZqQLaMW2fuMJxrrfEAEQEAAYkBJQQYAQoADwUC U3JJmAIbDAUJBaOagAAKCRDlI9mMXc7p0JhxCACG/HWrZ0XDrrLHQK+N/AbKN29L OP+mvg9mTnn1hmvyq2bBzgHUP/YFHbDjoSxEXnigfkyHIn7fTCZL8NEWW824oop7 417O+4zOd/h2ECwNd+o95kZzqFdk5NimRzBogbuJOV8WbQ8qDfveTCTTE5AI198a hY4gMtimd/3Aq85ZEKgATkbMdINxXPtWeIG4MosGp9fekqky/3AMY96Dd3t1DNcR 2e8RYfYtUdudIwp30JsmtmicQgYgoeYivIjvKl/DtWNqj8resD+DNCH1fzaxHZAy 9C9vj/vuSLW+EkenPOlHrSx5d9bf44fuiVoEFZUDY4TGswG1E0Nkyj/A6Ghp =vAW8 -----END PGP PUBLIC KEY BLOCK-----
<mckay@FreeBSD.org>
pub 4096R/552482D45824C996 2015-04-26 [expires: 2018-04-25] Key fingerprint = DF52 7F13 0B49 9790 BFF3 6A17 5524 82D4 5824 C996 uid Stephen McKay <mckay@FreeBSD.org> sub 4096R/3DBD459E455FF5B3 2015-04-26 [expires: 2018-04-25]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 8N9AsXPWXDbT7OM= =AoZp -----END PGP PUBLIC KEY BLOCK-----
<mckusick@FreeBSD.org>
pub rsa2048/CAB83758086F2431 2015-10-23 Key fingerprint = 56A8 62BC E973 24B7 E787 3F75 CAB8 3758 086F 2431 uid Marshall Kirk McKusick <mckusick@freebsd.org> uid Marshall Kirk McKusick <mckusick@mckusick.com> sub rsa2048/DD2D6C768B07C96A 2015-10-23
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 UY0zb05hHf3AKMnjjACPOZlAcUS1 =UaES -----END PGP PUBLIC KEY BLOCK-----
<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-----
<jmcneill@FreeBSD.org>
pub rsa2048/4D7493AA16CF40D0 2016-02-24 [expires: 2019-02-23] Key fingerprint = 81ED 5420 3DF8 B48D 035D 8334 4D74 93AA 16CF 40D0 uid Jared McNeill (FreeBSD) <jmcneill@FreeBSD.org> uid Jared McNeill <jmcneill@invisible.ca> sub rsa2048/0E6943EE9C65C7F0 2016-02-24 [expires: 2019-02-23]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =VP0L -----END PGP PUBLIC KEY BLOCK-----
<xmj@FreeBSD.org>
pub 2048R/FC9E29371B1B0D0B 2014-04-09 [expires: 2017-04-08] Key fingerprint = 224E D70A A3AE 3EF1 23B0 CA88 FC9E 2937 1B1B 0D0B uid Johannes Jost Meixner <xmj@chaot.net> uid Johannes Jost Meixner <xmj@FreeBSD.org> sub 2048R/A9F0E3193C0C8867 2014-04-09 [expires: 2017-04-08]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 2BO4N93zxL6j7Hkj2sXMaY+9F2lH91mo =Q63f -----END PGP PUBLIC KEY BLOCK-----
<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-----
<mmel@FreeBSD.org>
pub rsa2048/691EB26B5EC5AAAA 2015-10-26 [expires: 2018-10-31] Key fingerprint = 00DD 4A10 4B80 9FE0 2983 8D77 691E B26B 5EC5 AAAA uid Michal Meloun <mmel@freebsd.org> uid Michal Meloun <meloun@miracle.cz> uid Michal Meloun <melounmichal@gmail.com> sub rsa2048/62E61A1BD4E386E2 2015-10-26 [expires: 2018-10-31]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =d015 -----END PGP PUBLIC KEY BLOCK-----
<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-----
<kadesai@FreeBSD.org>
pub 1024D/B58E09A5C6E4A571 2014-05-22 [expires: 2017-05-21] Key fingerprint = A14D 4FB6 333F D61A D202 C547 B58E 09A5 C6E4 A571 uid Kashyap D Desai <kashyap.desai@avagotech.com> sub 2048g/9372013F74B44808 2014-05-22 [expires: 2017-05-21]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBFN92iIRBACQX03tg+bd9uos52h5L5lAcV+seSkl41bpb/DF9BG4wZu8hvTo FWOPHPpUuvbk/44iGIZn1ybnShn3FrbrRO6y25l510BI9bDyPkwVVICStajaEG+3 c6col47TAbpBvGwUMCXJGCoUqaqOxKVLRMq3VSjFASizDCf/ldv3ps+RCwCg7kN7 QcZR1rxsHF4bFgqs4KnLLe0D/jLVzv6yIUewCSAcVycN8CsTgDFXGGG33K1iuH0Y UQpTJ9oLS+0WT/l8C48JkPwKz3eYxYMsoxcIgACxM6urVv8vRUqw782UWSBpL7ZF NtWREIfWg81GCaP5tDezMiBe6KRFli5pl+ZInamegGgBJC3UeK4m2kF5Chb3NHTb jOqUA/9WVyC9I9wdb6oXtvZVdjP1xrjGC2Klv3wPhqYRNw9ObAnOcJ9k4/4lXsyi DdUYqfnWrV+dAp/XQr3s3D5i420sxk1myD+xSDcloxPEP+a/Yte81IMPNNl/fxdl Gpm56emwbL8JxrnZaFrnEywXPMiuDLLnGz6M+ozufeuB7AN18LQtS2FzaHlhcCBE IERlc2FpIDxrYXNoeWFwLmRlc2FpQGF2YWdvdGVjaC5jb20+iGYEExECACYFAlN9 2iICGwMFCQWjmoAGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRC1jgmlxuSlcUOf AJ9AZL5Q4ckr/UWWjt2fjpBtubnuRQCfUwTGLie+CEm4d0PRUAxrZqlN5I+5Ag0E U33aIhAIAImTkAaa0nQCoN4/ZS83PeO2bD75/VLCiirvCWGxeqXfnJnGY2TRECc0 Z5vhVanopBxUl4GFDwd0m8VHMAxZt6/khLxzb6FsGAAQVPUZDaQfzVn7rgLhBpZV m2aCswFUIpRi79y0J5YEYY/XXPw5qpCSo0YPqBiQVFbJamYvKsEOezPO4uXxA5rC K9g9Q1i0e3BVvqfC5YLr1dydwgceO+RY5kcv3//1vYvtS5UF97w2qyU8R1tdl02L y/lfwQ+hojh4REYhlGLQeP8oxMQrLsmHWuTjYugu0JXkqo5ACLrE1+fPSeVedDkx EMOXg+i8RWnNUaxoh29rOqMxuK6dz9MAAwUH/2w+GvqUoB6JSQXN77xoG2/ehx3I 1lExIJ1FtMF/wXkAZtttzdTWHweI7fJKaxYPqLs34FFcaxp7GbO61lIy3NhFATt3 AtLKwnTm6WBieeUqbvNeeNEcnRPZjMt5YHcHJbo8DGy1GSnbd1iAzShFhOmZmz2F kvpRdY++nDOGZGTnHFgdxtg8fM/PSwA0OI7gdSUFURI/715Vg4fcoVDo/eGpd6yK KdSlb+M+/aTDbpNt5mwrSS0ROyAsQx0V4iVTHGGxFqMRHUmFjqdfbeXnjdJYIlnU cSgupMx0KkaC+rUzr0iCyWy4sfQFzzGqge2q4Z5eR87ktyinpHtELWtMcTyITwQY EQIADwUCU33aIgIbDAUJBaOagAAKCRC1jgmlxuSlccx9AKCKt1nJGyagsZ154v7W xupYtFAXRgCdEjAn0wPk5ZEYpcwwxmgN9/VpHXM= =5emX -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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----- Version: GnuPG/MacGPG2 v2.0 Comment: GPGTools - http://gpgtools.org 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 =l1Dp -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<mmoll@FreeBSD.org>
pub rsa4096/749B7C68AFB116C7 2015-04-25 Key fingerprint = 5048 2980 9458 0FF4 AE39 1B16 749B 7C68 AFB1 16C7 uid Michael Moll <kvedulv@kvedulv.de> uid Michael Moll <mmoll@FreeBSD.org> uid Michael Moll <mmoll@mmoll.at> sub rsa4096/8693D402926E5572 2015-04-25
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =LKvo -----END PGP PUBLIC KEY BLOCK-----
<cmt@FreeBSD.org>
pub rsa4096/37F59AA07D92D5AF 2015-07-11 [SC] [expires: 2020-07-09] Key fingerprint = 8DE2 4BD1 0CAA 892B 8C2B FC75 37F5 9AA0 7D92 D5AF uid Christoph Moench-Tegeder <cmt@freebsd.org> uid Christoph Moench-Tegeder <cmt@burggraben.net> sub rsa2048/5C3AD1E79C38F112 2015-07-11 [S] [expires: 2017-07-10] sub rsa2048/B9D177E18591F34C 2015-07-11 [E] [expires: 2017-07-10]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 Xw== =Rl99 -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<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-----
<mav@FreeBSD.org>
pub 2048R/8318C3955BAB227F 2014-07-02 [годен до: 2017-07-01] Отпечаток ключа = E98C F3C4 E69C C3CD 0E57 9D55 8318 C395 5BAB 227F uid Alexander Motin <mav@FreeBSD.org> uid Alexander Motin <mav@ixsystems.com> uid Alexander Motin <mav@mavhome.dp.ua> uid Alexander Motin <mavbsd@gmail.com> sub 2048R/0644E1A545DBCC15 2014-07-02 [годен до: 2017-07-01]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 CZ6ZYbQ+AcD4F/cK =s7JZ -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<neel@FreeBSD.org>
pub 2048R/8E023181B17DA72B 2014-09-25 [expires: 2017-09-24] Key fingerprint = 1251 B214 E559 D763 A12C 96F4 8E02 3181 B17D A72B uid Neel Natu <neel@freebsd.org> sub 2048R/1F906913DB152E10 2014-09-25 [expires: 2017-09-24]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFQjZ78BCACziBSlqhqftNyHaiAfMNX6WtZXLaBcvlqj8CW6EXynIEPsZttG E/nMuqsF10lUteNwvToRLA7Yf309INW9IG6m5IGmHh46KVWD61dxwEKELg549Uuk 4eacgJslT9kzYptd0jgm4BYhBxnkZ9iyYSFyQZyLoD2RyxqI7BdcWo/wqn00YCBC th4pRJYfasWsMEBWuHRyNMpTLeQC+4H1aRswZDlUBuRKTx4DHDFYARIpyaM8keOQ yFE8oDr8pI+SAVeqSjXzdVD+kGWXCINcKCVat4huD5PYL16KEkgjsoYDEo59Cco8 qloJGEgM4IXXNu8w1jK4H1ePRjo1fZuln9D7ABEBAAG0HE5lZWwgTmF0dSA8bmVl bEBmcmVlYnNkLm9yZz6JAT0EEwEKACcFAlQjZ78CGwMFCQWjmoAFCwkIBwMFFQoJ CAsFFgMCAQACHgECF4AACgkQjgIxgbF9pysILQf9F5FNI3rRX8Wc9Snn/7LGcUd6 7AMm3J5srMPtbndC5s3JWAipRViNyhxdjAIel6NbE5fFa+MZtjPWVYFF6QULTMAJ yNhD/P/uMDApFNg2+q06s2aMrmqEn0e8ImYf+HV1aQvSwS5FcTkZdVaTZRSGGHMq 5qjt2RmZkGEcMZZlDoPN2hiD2G9yoFdNtVcEXTHvn9NerhJkX20KAwc+Pzs73Jur FpyrGbc6wF9w4+CNrD2+YvOlYb/Z/MxWmg595Nr4do+ffCl/U3E5s5PjlnvjwzVp DLaqPK4aI9rgEr6f1lan72TymZXX+k3FyIE5Omt9UOwP9QMFTuz0VZS+vLmFJbkB DQRUI2e/AQgA+NNryMwrm8Lkl6OVTUqWyL3DQ9weZGwEUBDNa2Tte+BvcZtD4vCe q5SyMT3lUSl85Pi6J4Ng7xcGHHabVrHaOoKCVqroRdyqBxg8LtDM4+5r/Rwn3V9f x+Uy2YZT84lSzWt1HMhcCFkNQfOUWHutHJ0wT3KmY96FA3oF+ucTJlnxCI1yXJ9q 6OhlDsGg0OzAnW9yOch2wqtDErOUrbduWvGaXpurEOjXYewY0IHmzF5MQz51/QUp 7AEidu8a/RcPYUzODd9MJ4xW8/8vw5ANloetAV+zeynSvBuUxhsi4cfp7PurrYlo cYd5PYgmtAXee/YlAFdb+z1mpvJe04TFSwARAQABiQElBBgBCgAPBQJUI2e/AhsM BQkFo5qAAAoJEI4CMYGxfacr57cH/REzsfzD+5xSKzLCQ0lba8b0RMpobgzNuExd l7GHdrDOYQXdESWpW3MWwYLabawcqB76IyQxkFK53xQWvpiogb9+5NMDgKAadZiL /qrdNVHVIxANJQ0LyxkRs9LiHM2F+C5uid6xHhqvn/dGDT0I8Ngp544dNAdqf4dR WGeslzATL5Co4qJlWKVaF5KPTmLur17jD9jik77Rfb4ZCLYy3SuAIqwVt5EXp/NZ QM/etaZsvYWyhznTGt2F6K3vFkkvjrVv0SMW9BtsAfLYCCta3QgHhd1ueSF5Yqyy NtQbkNuN16pXBWdWTaeY+3xtni0Q4LWvIp58rUanM56aQ/7F1es= =eege -----END PGP PUBLIC KEY BLOCK-----
<dbn@FreeBSD.org>
pub rsa4096/35C84A0DEC1D97CD 2014-03-06 [SC] [expires: 2019-03-05] Key fingerprint = A372 D3E1 D587 2D99 A5FF F243 35C8 4A0D EC1D 97CD uid David Naylor (FreeBSD) <dbn@FreeBSD.org> uid David Naylor (Private) <naylor.b.david@gmail.com> sub rsa4096/AD63FA8DD6B2DA55 2014-03-06 [S] [expires: 2017-03-13] Key fingerprint = 948E C511 A27F 0302 E799 B53A AD63 FA8D D6B2 DA55 sub rsa4096/88D62359F19D95D0 2014-03-06 [E] [expires: 2017-03-13] Key fingerprint = A198 8E3A 1A14 66C7 ADE2 13F2 88D6 2359 F19D 95D0
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 Vvh5izlbE/ZE/5Af =fSAf -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<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-----
<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-----
<lofi@FreeBSD.org>
pub 1024D/6B2974B0 2002-06-06 Michael Nottebrock <michaelnottebrock@gmx.net> Key fingerprint = 1079 3C72 0726 F300 B8EC 60F9 5E17 3AF1 6B29 74B0 uid Michael Nottebrock <lofi@freebsd.org> uid Michael Nottebrock <lofi@tigress.com> uid Michael Nottebrock <lofi@lofi.dyndns.org> uid Michael Nottebrock <michaelnottebrock@web.de> uid Michael Nottebrock <michaelnottebrock@meitner.wh.uni-dortmund.de> sub 1024g/EF652E04 2002-06-06 [expires: 2004-06-15]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 isNkDxI+R1w= =LE25 -----END PGP PUBLIC KEY BLOCK-----
<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 ZWR1PokAlQMFEDH/SvU/2TrIQc4JiQEBl88D/1d/WSV3W6RwZQUnbSp1GELg5knB 87imzxf3t328/vzRRFUgAeB9qcW9fYRwdhZDs4ffUASm2fXSbXocnRdGDJMKaFZo oJpYK95vZFc0irLhI92w2RjLH1tF/W0TCopWMLN4KuqYX3PLMzQEcj08w3BcwWXw D0UuVD91d4WeljRZiQCVAwUQMfQd+VdBBKOknqTZAQE+mAQAsE8nykNNff0IINOC NIBLSQoldsWtZrO8aTlUI9Exf683zWeOQc2zijraJbEhj+9nXY6qYI7Gf+4N2eFR vN3PkAyVcBAaVHtQ/Q1/HBCjEwY2TiU05hktBSEa7M3XZyy3+YKjQlj2JSJqvA0f DI7Mv7xrKLZEi3yrO7HZ8xO6NJOJAJUDBRAxlKZbZWCprDT5+dUBASQDA/wOt72i yCcgku9VCU8tu5ITF2sbz6b2Zp7y9plW4UkWCjXHfvahpmiTRXFkc6S6WykLoyjQ Hxw8IjsGR/J+2EcdnCHzcWv4w1/COIb8lAShu9pOiT5pTdzBCPNqdCQFBlf9/S1j FPHv+1NbEx5HfkJbuwhiACy60GEpI8YLhUB7zYkAlQMFEDR2Jy+r/we0RvMhLQEB NkMD/25QwNJRTtAB9fw4b5XNcpTxBpkMNBQ5Xc+NDeJ4uXt4ET3U8tNwFqwg0DF+ 8SyeWXfRzgPiIj5A5I/DkJAPVlKz4R4QFDMtsodj0p7dpiCfHb+DOXh+B+iCT4zL us9PFL5CnV5aXfSrtmkYMrIVfXRxVYpDAjC03ZP4t0SAKWNIiQCVAwUQMpHsW8pv K4P8DALVAQEEkQP/cxwPYVHiztp1Znd+6Z3T+NCWIpJS8sPZmqc+MR0PG7BFXREV 0OjHVTT2uOo9UTNVXWTCO3wZSvWl/nOxlurMMxBQtXlrVZ83jDIeOjBEC5AKGFTh UVpFx/YcxnRFXGiZ/bErqEPiohbu9i1TYOyiSOr+PArlinqdB+O54bij8G60MURh dmlkIEUuIE8nQnJpZW4gPGRlZnVuY3QgLSBvYnJpZW5AbWVkaWEuc3JhLmNvbT6J AJUDBRAzZsMLZWCprDT5+dUBAaYZBACu9COxVsyXxjJrXo+4DdazJYgcbH8cZstQ 2VUlT9E+8ZJ4iL4H5qIqvtkp9eIiZdi2/ovv9wA0uV0MZdPS3IkqumKrz4UGbwLk Y+VMTDtJwuMztfia+qcVx/HLuZMfuTAB/fyuJLW5i9kb7X3yUSbr/9J8p+4da0R1 YMj/mKuserQxRGF2aWQgRS4gTydCcmllbiA8b2JyaWVuQGVsc2V3aGVyZS5yb2Fu b2tlLnZhLnVzPokAlQMFEDJmySJlYKmsNPn51QEBDVED/iaXSckzmJmSli4El3+R QwsKy/eT4CmwzEH9kFlYJ+qYYE3tIG7oVMiBkKMLj95Qk9wt0xMXo1NsD4PsFDOJ XfyUcJ+jl3jwGraGroVvu2Lb/0UiC9qXPmNKeYopQCrswdx5EUkAmLXA4lgfPS1g EeEPQQVKbMc2DBXhUDubqbdztDJEYXZpZCBFLiBPJ0JyaWVuIDxkZWZ1bmN0IC0g b2JyaWVuQFNlYS5MZWdlbnQuY29tPokAlQMFEDNmwyRlYKmsNPn51QEBwT8EAIVR LR03d2nr6xjGFNq/1B+o6lZv9rKHBxQqjG6j/hzUhQNnywKQA0hEucVSMLyKsXSg 0Prso1Ta9lZFqrAnqCFAiSt9Ed/BQdFYBygTUAXKkeA6cT8pe7CaqSocWYTjGmfQ 7Ol1zBz4o5JQWNOgGCkAjBxl8gbd7yjV7R2Pg8kPtCJEYXZpZCBFLiBPJ0JyaWVu IDxvYnJpZW5ATnV4aS5jb20+iQCVAwUQMf9Kxz/ZOshBzgmJAQF9QgP6A06oVvhv XESbd/Y8FogfjOKw+sr+6ok+VC5cdC5a/memKPejSj+UCVe3J+trgmmvDEorQHat P7ceDXwDFbfXxM5wLHSUXpDef+FH2g4kA6ffiTVkgNiXeLIxhSBtDSJjV69VHIki lg7M4iN5EZkoeysSLGqbV2JFZr+N5E0fn6aJAJUDBRAxkFNfZWCprDT5+dUBAV7O BACntPk0/VswGltxwnstBRS6lJwFEye/aHme58nR5teMIhntDyxY42cFxv06hGNC ndoUqPfAFALp5TIs7c56vB/m3ii1VACXEJUc7yW5APwjYSoM/Mjoz1XKo7Y5C4+6 xENKH2jpRKH+q2hjblcC2VZ+pJ/Mv/Wej+fBGkMF9n+0dJkBogQ1fjNOEQQA1ynh Qpl7E31casIlR7+zFqD/bs1LiC7be0CAxi8hFnYQ5KlF6lMfcqx+gdcuKt/FyO2d jhYeihFww2cjkfZ7bANERffofnvdkXzegqOhd0jsk7gbgEPo1fh5dJm4e0qo5eUo 0zI09wLx5yjNtWWnNM5o4YVxaa0kiC3DKdRwXIcAoP+4T5LqLm0FMXR+Uo1Sq7Mr LVn9A/sFkOT8Ss8+JSwxtk2QIAg+QvmvyGl5xmL14zn3NpLSwocFSMX+2fXBAEQz lhBz38JI59DhIbV+7XlIjsd+Id/8CFTzeSH6oR1QnBFEE0fmcGAGAAqn4oX8mHc7 bVQxrxzJlMFILts69fTdqJURKjwNuYZbO8OxelJTeHfjxc5Y1gP8DBwxtuZPVJw4 mymwl0DoQwEbrC+mKBTdyZ3gOMv0zN64KFEKQZJPfdtfLy5Wks9k1x+53vp8ZXV/ CIoDf0hvbuiunlifyyklLi8nqNa+KMRmnws7XkEmgQTrkIV26V9sRCt8EOuDXZ15 QWXwcuSRGvt0lqUztokAuyTbSNJy45u0JCJEYXZpZCBFLiBPJ0JyaWVuIiA8b2Jy aWVuQE5VWEkuY29tPokAlQMFEDm0v3AA8tkJ67sbQQEBlVAD/igpVJFYq5HGrOpV ZgL7WgAzvf5cU0hmLi+C+Tm8kF2xL3rHNlUnzzdl6BxhLXfJ0xTEADsLUifBJPxQ AwJyG+Abbf/gciaYwZn3GFwPKbRQJ6dmzBX4buq2cMzs9oKANTAIQACgkhFOSs1H FcIDaa/VNeP9ox+xcnp8WSGM49CGiQCVAwUQNX4zzWVgqaw0+fnVAQF21wP+PK9M lfIcaOAuQVMgQhsDWqlj/DdxtsxT1GOnlHp3JGxdThyxdBDrxmiU22a6216s01fN 5Ac25USeKRCcSVyG0+G/Xd3VfWDCEQCLNBwblAGKW9BEZfJhS1xOuTEYxgbmuvrl LTdvWm+MwPetv8kayhD1LM4rVovMxenaPYUub2SISwQQEQIACwUCNX4zTgQLAwEC AAoJEG/I2r1/mpuiz/IAn12Jm9/9Dv/b4gIauJlzjETOxhMoAKCQkYkZoX8/OMgg uxkmPy4tgYut04icBBABAQAGBQI5cc+lAAoJEKRQkCwJ0+ZNB5sD/3NrN8ZYP7Wi q8Zb389Qwc0JFHB9+EyFimhPHrLGgFBrZXM98YWd4wnkzqzeRKHuQMnHVdBG6z3u SJEU8Rsl4KepiujxjTeT6SLjUwAR0iG03O81GU5/otBtsqTIiJJdJD5tSPqHkuXx i7ruAF3eKlobaNFNzQYOjtdF2Oz+UfW0iEYEEBECAAYFAjlxz8MACgkQ5r/NLxCB o3xeGACgnDA4cV3ts1eueZlof0vhnhtOtVsAoMxzJZorbcesWEuFDr7/MONCn5Ca tCciRGF2aWQgRS4gTydCcmllbiIgPG9icmllbkBGcmVlQlNELm9yZz6JAJUDBRA5 tL95APLZCeu7G0EBAZECBACL36sVALZfqAh6Ku3b2g9EKMBOCzHv8hJmFHCw1uUH 4SU6dM2DeIJo2nVBaxtK4/G/0f2Ed7bQJ78C3GM1oF6LZiRQzEX/QlwZQSS8cyPT C2H1j6J8ZnOMnbytE/NFbjLZDSTktKd8+4GNe0oDTB3/juqva1OBmSsnj1NhpMsR k4kAlQMFEDZjny5lYKmsNPn51QEBkUcEALYsZckj5fs7uUzjSgyzF/2RrHJ5gGrp NBwikiy1+wdZ6bz8CQ6kcYC3Dap3iHSc9KWTn6sK5ZvYXcYD9k7is8V8zuitUrrS GWpY96qmNsCTvPSwfwIcyhYSIJYjdqmv4EnKo2mwkY3zqOV9DT1ABFLSI9Eyy8IL euhrm9jWEXs0iEsEEBECAAsFAjZjnl0ECwMBAgAKCRBvyNq9f5qbor96AKDgZmSA 0aJZLBG9IjT+Ol/eqUbFPACfZ0z5wo8X4/aD9MEAbJRJQEvGsHyIPwMFEDk9wNvj HjI9QK4wUhEC9wsAnAgPzultU4+iO6c0mhJMBgFyAwriAKCZBIHKp2TaXPl+JYk/ k58afcSTh7QqIkRhdmlkIEUuIE8nQnJpZW4iIDxvYnJpZW5AY3MudWNkYXZpcy5l ZHU+iQCVAwUQObS/ggDy2QnruxtBAQGIGwP/a2m02NL+cJ/BoIFINK9HN+mOubYU To27NN/uNyvIqUnvN3JiOv8j5/cJOUDUjEPbZve1y5izyDyw/4HxBk6OKAKWJ4tG SZOCEndBe01m1e2rczkjw0wPM4VcPVUXyt/432e44fo+pMczvtUFWQdz1inx1auG REqu6xad7P5nj4uISwQQEQIACwUCNmOeugQLAwECAAoJEG/I2r1/mpuilcMAn1Vu g9cpssNgJLaNhmD5ftmivVk5AJ9X673ovjPGPXRnlseGkldpeyrUCrkDDQQ1fjNQ EAwAzB13VyQ4SuLE8OiOE2eXTpITYfbb6yUOF/32mPfIfHmwch04dfv2wXPEgxEm K0Ngw+Po1gr9oSgmC66prrNlD6IAUwGgfNaroxIe+g8qzh90hE/K8xfzpEDp19J3 tkItAjbBJstoXp18mAkKjX4t7eRdefXUkk+bGI78KqdLfDL2Qle3CH8IF3Kiutap QvMF6PlTETlPtvFuuUs4INoBp1ajFOmPQFXz0AfGy0OplK33TGSGSfgMg71l6RfU odNQ+PVZX9x2Uk89PY3bzpnhV5JZzf24rnRPxfx2vIPFRzBhznzJZv8V+bv9kV7H AarTW56NoKVyOtQa8L9GAFgr5fSI/VhOSdvNILSd5JEHNmszbDgNRR0PfIizHHxb LY7288kjwEPwpVsYjY67VYy4XTjTNP18F1dDox0YbN4zISy1Kv884bEpQBgRjXyE pwpy1obEAxnIByl6ypUM2Zafq9AKUJsCRtMIPWakXUGfnHy9iUsiGSa6q6Jew1Xp TDJvAAICDACbUnOQOcw3s+pOH+FYx/GmyXVbPBDQt5wH/XlQQq+pRl5EVxMI+H/q VW8kvrgrY7iZXBNSdfj0RgONxwr8NBASkQndd863+8wYVBdc7x+uPi6XF5JABqh2 asmx8F7F4shq0WJ2QfLmk37l2mdBmFyhGuOlsr6Z272BbigiZQoicVXuYilUUrax hCWQ/nZZm4/Be2RaOhqX7jegPu8Zmkh1PqKoIj+HAXrhs/o21tVFojeZtc6f5Lap 0t/lhFE4Fq9VrvK8GtnuU6nvVoZv1OOk6nE9aghK8qP27OEW27OH6TwAG/SE83IX eIpoFZp40RWliVHeE66iNwsb7r5f8ZNsVtwXF7JttqORySwizWg1KlFo2odWmAGx s3n3DtOa9rrZsvPZHlReFuZG6q9C6MDBPb7o9wPVFr9AbVA3Kgz+V4uEuM6NAZn5 K+XEOEOyBf5bdjVBdfd7ZRqXhzUrqK2C9HTaEo5H4g6X4gUHp2x3jtyPKHTG6Eqm OwSwTfpoWTWIPwMFGDV+M1BvyNq9f5qbohECA8kAnjryv1dFUQTWTQGJJ29hn1Uy lSVmAKDF3kyQAZDAyz+21MQJnmJ2O5dFJg== =cMCa -----END PGP PUBLIC KEY BLOCK-----
<olgeni@FreeBSD.org>
pub 4096R/FCDB3E82F778D8D7 2013-11-10 [expires: 2017-04-25] 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: 2017-04-25]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 cQfpGF7dyq1poQ== =jQoD -----END PGP PUBLIC KEY BLOCK-----
<phil@FreeBSD.org>
pub rsa2048/199B04AAB9FC8BC1 2015-12-30 [expires: 2018-12-29] Key fingerprint = C481 6D81 839D FABB 6E51 368E 199B 04AA B9FC 8BC1 uid Phil Shafer <phil@freebsd.org> uid Phil Shafer <phil@juniper.net> sub rsa2048/393DFA173468E663 2015-12-30 [expires: 2018-12-29]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFaELo8BCAC+npB5fpnC+BybKtdUSKABAjZw1m0yjBpvUBFjdW2YDDUst/TV seGGSoz3Dw7AlWWGGtWQJefgDSqkiM0mhQ28oiQ0jOJ1vnuuQvrj60ZqmobSUq6K 5IJ+7LMg+PMCY5vXWg1gX9fXRv+3HwZLyo3eGnMKRCjcE7bLSKdMseaox6Ev8uqZ uZWCy/VoF2fLnJBNPdFGkN25Kpq5YuSrFny9v1Ow2dN++sNWmtAvm+i0Ju8d0v7K WAW+pv9JPh7IfpQExtLjRCZh+roRLsCnIFOHkrcVyMUUkmqHsWy1U7jljdfTL0/A fGaJ65JcyzlxDmeYAUu/vsldajpK5PH+T4ixABEBAAG0HlBoaWwgU2hhZmVyIDxw aGlsQGZyZWVic2Qub3JnPokBPQQTAQoAJwUCVoQujwIbAwUJBaOagAULCQgHAwUV CgkICwUWAwIBAAIeAQIXgAAKCRAZmwSqufyLwVj5B/9Cn1rUMQsWX2k3cLizNdFy sdpbogV/Q8egXsFpM3E4ZTObNYyFQnN38qoL2j89hw7Z+WCw/Ptay7qG03SoD0Wo W+r0KqSEBrn6jS9C1q95Agdr7LA/foPihx2AG8wsiQI3M+y0XJXyfcbh278epNn7 bj7NsHJfhkdYsiv3Bj6u8LdZLXawXPpss984dSrR89KNXq0IP2nmqd6VMqzFEE8r ejKbMhhe+nQgRUgIkAFGcQAzJoVEbaNcN2DE4d5/cpsStUcjoccfTzK4OHsM4voU 3CXHS6b+5zcK2Ntv2yqqQE6eF6so2SWImIKi0muEtvucZuc6qlgzAqL3V2GwK4KI uQENBFaELo8BCADaizlu+4C1QXPCdeExSgp/u+5G/kLzoXVypp+d1jxsDS5W99bS Yu65VbJv4A0zGkxJk2hd2GJRcBSy5EnprT2hJm0CMSABRPaINlAIC3zm8/+n0WsH p6sFeshDXyHQJSnR23KCWLgugIVWBqhpT2ICaXwpFny7qzxfw+HWl6NOR1tTb4M+ jZSMnNEu8hubYaimbKCgkcdHagknTucyPQPTPqqxmB4/Pko0qtEc1KnewBlqHx56 VU39V6UHManh5zPey9TfNcAqEwcNig8i4/7xDuIvS8OhPLDldHpBXPyY9aLBlJ5k YAvGEM9ejgActEHbTyQXC0EQTrLF/4yNtIqxABEBAAGJASUEGAEKAA8FAlaELo8C GwwFCQWjmoAACgkQGZsEqrn8i8FSNgf+KtFGDEHw0UPbgTsl6xxnEZXlRnBebOcw 8FnI1rnOMe5rInKk+yFNzechPkk23Dh2cSrzP7LhhLTckTGZVwxOHKok+Kk9KG4c 2P6p9clRZwiKk4kSzoVkEtFT0pq2OjLNscpOEr3pNypZu3r3QtmpjBsOL3Q915yj xdLc0R7I3pYjRl+fylXgMMzHVF7RgM104SGzwNO3VH2VeNuyItljNaxzt0XEvf54 ZuaEVC9XzJ3htImyUX36A+5Y9mkOn2qnJlRidoZO1DQRLDgglrCrCLXysHwvOkY/ LRdNjFoGtAbQcSEq1SgtCg0rKKm5ufJRUh3bCHY9M1Dkat5ClgJmIA== =NEdF -----END PGP PUBLIC KEY BLOCK-----
<philip@FreeBSD.org>
pub rsa2048/31AEB9B5FDBBCB0E 2015-06-14 [expires: 2018-06-13] Key fingerprint = 2CD1 92C2 6EE7 B7D1 F552 6619 31AE B9B5 FDBB CB0E uid Philip Paeps <philip@trouble.is> uid Philip Paeps <philip@freebsd.org> uid Philip Paeps <philip@nixsys.be> sub rsa2048/7C62BC4776C9F29E 2015-06-14 [expires: 2017-06-29] sub rsa2048/935DB8343AF25C94 2015-06-14 [expires: 2017-06-29] sub rsa2048/CFF632544136DF54 2015-06-14 [expires: 2017-06-29]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFV941sBCACkoVSVhhY060ZrtaLWRpDGCtof7F1Kuot821zHCJmNXV8EKppV f8eMtwGz7TQj3WlWGpiN6RZQ6mdHq9sPXdPROO39017v3NxrPUMNJMeI0oewRSkH V2GxOjF2PrZA0QnzgwlSqG2dfdSrMl3cFTeoHPGKn1c1vsc381HY0LnQWxu2WBXH 5iLvKPnSTpAzRoQjGazniLSH+BvmtmUkgI0BCV1184f1GWGaxe6OoXsgXzuKWTEv v/h1YRvNBa9taRFo3qg1TMJIJW9EGxulTdT4w5wrbLFkVIRDTE7X0PcDZnoNP8OC iu6taGhFBYxsqX/FwqULuV4S/9KGRss4PFuzABEBAAG0IFBoaWxpcCBQYWVwcyA8 cGhpbGlwQHRyb3VibGUuaXM+iQFrBBMBCgBVKhpodHRwczovL3Ryb3VibGUuaXMv cGdwL3NpZ25pbmctcG9saWN5LmFzYwIbAwUJBaOagAULCQgHAwUVCgkICwUWAwIB AAIeAQIXgAUCVX3j8wIZAQAKCRAxrrm1/bvLDh97B/4iOQQoY+UEjxyjCyOBiaHp lu4bAlumU3TKTneKaznu5yoB7XrEfr0abTzF8KruQT6BZbx26kuNrJLPshlsGpk6 j2JXw4jfFnLtniLymSW9g/WifR+443PRkqCbN0HZzZz2LCmACm011v3pusji37j7 QzW+UM4WcaOhzbp7PAZjWZiA4Rw4RVCNwsSdSXyUtycQ/KmHqnQz0y2i5Bzu0zqd QwuH++K4B3W9XxKNgvPYZhI6wbP2zsmBRfaQZRvtAPXS1DLv0asJZIB/508LYc8d 8qsv3fMAEwByGm3PG2ltCyeXFa3cBqDliV2L2SUaxTLzmGAQBnmUvV123cEZssNv tCBQaGlsaXAgUGFlcHMgPHBoaWxpcEBmb3NkZW0ub3JnPokBbgQwAQoAWAUCVq8u 8CoaaHR0cHM6Ly90cm91YmxlLmlzL3BncC9zaWduaW5nLXBvbGljeS5hc2MmHSBJ IGFtIG5vIGxvbmdlciBpbnZvbHZlZCB3aXRoIEZPU0RFTS4ACgkQMa65tf27yw6v 4gf7BSTlelITyAYEqWruj0hWuXsv8SnsPcWron2GnoD7Ww+zYvnCdqcvZs/aEtaS N5zE6gsGA1Ek/SJyOmfvZGFbPw9u1VvKs15JeyHqueFRwTxAbO/3Lr6d21JDYh4N 7oPagR4GKQfqO73NqmrTNtEIn6Zz5M1jeY+LY1OhD2A5P5ABnF6XjTQEp/GPpe2F 7yG9lq9oR3BjxpTBrygvAGP78Lc75u6mfnCSflnzsnTcDZ5UQd4PrvQ/iHnxbCKA wmrd5mV5vtpQJxwIsO78wyomZJd8vha6btpuqL7Wdmn00e97JReo4feIoLL7TiB8 8kK2m/xDRexrlVSN81iBR38VKrQhUGhpbGlwIFBhZXBzIDxwaGlsaXBAZnJlZWJz ZC5vcmc+iQFoBBMBCgBSBQJVfeOUKhpodHRwczovL3Ryb3VibGUuaXMvcGdwL3Np Z25pbmctcG9saWN5LmFzYwIbAwUJBaOagAULCQgHAwUVCgkICwUWAwIBAAIeAQIX gAAKCRAxrrm1/bvLDqwMB/9ZZWx3L27bhfWHOChWYNkpDEcnvRd3pXKMV2s3MXcg XrAJKgIJN8OCTPav2lAxti3FnbJ5xaT28oRGfkh3/Oz5UrcGfuIqr4CRjHhKk1a1 M8LrMryA+hW4W/5/b2VZuBoxxMl3akNUjErVAgIAcj8CCyUbUdku7zziSYx4EbPo UDXAR9UpMbNz6Kj4Go/e6fhOn5oCKYcHbf7BLrY9C7wyOLfb2pp4LmprQ01vi5WQ jb8u5gcqM+YpOyDF/7G4RoRxTCaWkbmG9hHaoXTM8NHtDpe9uieAwhNSULSHo97v N0MuPugv7eNL8I3lvPdlwg/RaqGFLPh8fbpMeeCU6c6VtB9QaGlsaXAgUGFlcHMg PHBoaWxpcEBuaXhzeXMuYmU+iQFoBBMBCgBSBQJVfeOhKhpodHRwczovL3Ryb3Vi bGUuaXMvcGdwL3NpZ25pbmctcG9saWN5LmFzYwIbAwUJBaOagAULCQgHAwUVCgkI CwUWAwIBAAIeAQIXgAAKCRAxrrm1/bvLDm5lB/4jHF6P1lg53LTMniElec7ztW3i cfnUP/+xPivQZMNYzlU+PquoTKS2u+eGEOStFExsStsUyUjeJtJ7thAcRxoOR+sC 8S9EmP/Iq8KRdZlbMzt0zdvDvDh8SX9grqFrqT+bjHyrXzdwKcqq40sU98Lk1geV tTTI6qOcmTFhk4/SGKR2GzUPOkKK895qLqKGNK0fMbcJ3htvhBRhv79gN/LWSdaE Ufww36705lxxfvo3/lmcSwYr0Wf9jfFxdEpLEOfDUiJSUXFIs9LWIYSSf5p+ByLH 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 hbsH6nM= =PIph -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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 Páli Gábor János (Primary identity) <pali.gabor@gmail.com> uid Páli Gábor János (Eötvös Loránd University) <pgj@inf.elte.hu> uid Gabor Pali (FreeBSD committer) <pgj@FreeBSD.org> uid Páli Gábor János (Magyar BSD Egyesület) <pgj@bsd.hu> uid Páli Gábor János (Eötvös Loránd 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-----
<hiren@FreeBSD.org>
pub 2048R/8B9250E1563EDFE5 2014-05-13 [expires: 2017-05-12] Key fingerprint = A4E2 0FA1 D878 8F3F 17E6 6F02 8B92 50E1 563E DFE5 uid hiren panchasara <hiren@freebsd.org> sub 2048R/EAF1BEDEBEEA242B 2014-05-13 [expires: 2017-05-12]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFNyisMBCACrZrzKYjA0mDnxqJk73ASWWgmdzdASHD1bGmCI8SelzeE97sx4 +g1FbrHb6KKWSCDYCNuKIh5CVHFSRe0kvbwxfj98Xs1o02ySVeIvIUsNN28QDgiM Yd3Tg3KPrggpb5Tucn62Mv7VhZmyxQlWD/bU3mjBImBFAY90xjP/d4DlAHYffI2a LfGYjfJ7z/P1x62C02SbHTCIGcp6r0ZVhhPtckivF19+PZ2CzUZH3LCCT5A1FewN sNMxiocMQh0ACvDDw1XhagGzVceyvKE6NiOt0+ZKmKQghEDMlTpOkOTYXk1tg+Ix xbaNtgdJUOzrswwJXJXEP1CwXj1RlM9OU9kDABEBAAG0JGhpcmVuIHBhbmNoYXNh cmEgPGhpcmVuQGZyZWVic2Qub3JnPokBPQQTAQoAJwUCU3KKwwIbAwUJBaOagAUL CQgHAwUVCgkICwUWAwIBAAIeAQIXgAAKCRCLklDhVj7f5fO7B/45U88YM4rkb9hu QMga/l9KWOfL6cf0H93P5mmRVJRp4YZZ6nTlhpZxJNCRsMX+sLoeE7X1LSSk+FFY 90w8/4OwPHBFQi3iFEFEG1NZphBDzJO4hRvtfnrMUlesRLFcloVWLSOcD1N5KAM0 VioetXj81jNjeCquk3o7pIaGKBTH4IW+dk5PKyMO9yu7JO488PbZ8cgN6xdt6xMN 39f9WEpAWC9Dg/dQdy0Y3gXyNSD0XHqmmkzuXS85dhzm65PN1ZRiULS5alHOK5EN PsCEncfxcmuGSqovQWu3IKoF1coIQDSc9HchibaLtit5UkNUDzKMBwmaEfWq/dSZ sXPsKI+nuQENBFNyisMBCADZdKb3Mwo+bqwvjTbM5+VHWeUCrpl3vnNZthdCEkO9 aNDA8AqdeRLdyMAXndGUI9oqMEMdRqz+lEqTHVIMFOppl4xHcb95gsEZSl+uzk8d JBMboGuqVPzYKw15MruCRU1kvB3hzHwcgy5TvKqKA3SJHgebpk9uw7Ff+5mdkHYB mNZQbHDx97USsfrQEbg964IO9s1kGiNfE34Iuq+WBVThwU7p/l7hxXvOejohRUT6 rveNiAe7XMNt5xySIwUQGVmve+5yzRoqAUNF7Uc1mEtgeDUTlsxcC7NZeC+ABoA5 Tn1pKe6Aw5Cahg5AdyocCWqhI6w7/RmzVRObDjNWVzgXABEBAAGJASUEGAEKAA8F AlNyisMCGwwFCQWjmoAACgkQi5JQ4VY+3+VOlAf9HK1ZSuLH+ZVrULIoZpSiggcR LOfrcQjvMb9obk9quL+j+niYGqjgL++rkxcVVaMnfeKwaHNGwYea6RRkt3lQmR2e N0xrZVAZWH/GgJCnwts0+ddHR1butOcXYeMJqY2pQraZY7Wpm8Z4GMKHt8B3UFU+ ruKcLaF0I4S+pO1HYQOGB/4jnNgvV4FHBoiBYYMtpLPe55mabCDy5+D+QsfHaiit uxsfzk45QeHPRr9A1hvh1JVpDPQ4PFPrUYlMtb0yA8PoG3G2ZYNJUMK+lA5kNPUR VXSnQYGOMnOrHB0D3nhLhphVo2ouKaUQCZgB9ly2cJG+itya5b8Z+zL+m46Q2g== =hg/J -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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----- mQGiBERdJJkRBACMPYQjOqisztbRuKcG254kVS+eoBqWqFKY98x03KtgEYn2/Em2 EU4sPfhr1PYabCT5oxmaIhmBRuwryM2V/Py4Gl+dfJ4+cmRt9/LXQPyWymSlCXj6 U5mTqCeOId45PWU4lis44vN7DgAKZptu5GoUAWxnfh7M/K0UQGU/MNOPSwCgnt26 U60GErf8Fao0V31YPjRJko8D/1F7m5LNW9zzEMF3WFQURluoOxrmaAnehfYA+HgX kcM5t0SZFnsdOCbsKLMxl1E9qgbF9mAwTU2MfJFNhEuCUWZlYs7a69XSbr9HgI7p cqeHFhpbKTfWT65bJ863jnsMwS9/mRHNka5CeNFh2Pz06mzV3JherOQIq3lcBAri TnaEA/4st0qZe6VawiZgGgGbamLtS/iUMxhmC0SAv/pdYVieeXmXi0E3b1mA39Mi oRvFL3gT24UsVEaazwcwqnnifOqlApCGubSitYM+OPa2DyoYDUoCP0A9DgohSrRr /+yCES6zTQOv5fV6DoX8tvEQ+2+3DictO2FLuqUC5joBu1+42bQjQW5kcmV3IFBh bnR5dWtoaW4gPHNhdEBGcmVlQlNELm9yZz6IYAQTEQIAIAUCRF0kmQIbAwYLCQgH AwIEFQIIAwQWAgMBAh4BAheAAAoJEDOBZ8BvOKVp4HwAoJZ1Z1SB73vCYs9cxyuP mhVV47b2AJ410LsvceMdtc+g7LZ5Qm6jHNmCaLQoQW5kcmV3IFBhbnR5dWtoaW4g PGluZm9mYXJtZXJAZ21haWwuY29tPohgBBMRAgAgBQJEXSYbAhsDBgsJCAcDAgQV AggDBBYCAwECHgECF4AACgkQM4FnwG84pWnW1ACfV2rsfdxtJkFxl3xClNRoTZm9 llwAniiNDnbJXOjId704Scb/LDYymESptCZBbmRyZXcgUGFudHl1a2hpbiA8aW5m b2Zhcm1lckBtYWlsLnJ1PohgBBMRAgAgBQJEXSbFAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQM4FnwG84pWnbLACfQ5S3OAPZEJj/7zb3z3Xr/1AP4PYAn3LF f/4tcV8P5NZw0wxqYUMmWtHstChBbmRyZXcgUGFudHl1a2hpbiA8aW5mb2Zhcm1l ckBndWJraW4ucnU+iGAEExECACAFAkRdJxQCGwMGCwkIBwMCBBUCCAMEFgIDAQIe AQIXgAAKCRAzgWfAbzilaVj1AKCZyDzhFFyymsLh7ykuQLQnLPy55wCePzG4LA7y mwPr3zKG/6BTOql0t5y5Ag0ERF0knRAIAMGIx2+t+/Q6AEVLhSeQ1WHUBbjsuVDB qMT4RZaiMq/UA2QSWFTuqylpV6rlvLR3d54MOvn3hlgj6zzEnoIj2WLFFtcJzVuF VbrBRLCjDgAOC75Kt1LJEOIcJwyZ9c5gGau4Ng8zyYkbYBJ3qmhtnjF1+m39uRc3 +4CPRdlLTa0Dc0cbQ/hEE1VzWwXM61oxWKwHBk2hluv4AAhzjrenT9yUqmemc/fA U53feBIZrWNS7dzyL/L+jc516vHkvhNeHqyzZcmLktXshgfeLTe3qDsXnt+F3qr+ 4M+nTfkATdRQvSfs12KNAke76Bx6mjArNXh/sazc1nr4SJgZQ53b/dcAAwUH/AqU YZNJzrMDW1JBJtGvjo41T46WcXjw7pHQvzciOuYRVsclc2reXEHa8aZ62Q1LsThz d12lm47R8NQcMO8n+avrIuomuBooANf6QruKf8MMFlRGxs9Gryu+839NadbZHRsk NcfJG35WiKMksl6MSfMxSdhl0BhBk4pgPPJT1t+FY7yDf+N4DgCaDuRnXnTLPrxp LukXPTCtXjostVQ1Mv0kcTtnUu9yGeoBNhpUWQrOy5CI1Vqp8K0xMDbRojDSRni7 zl9gfnzxO5V47llfhoNTEjLsZZ/8n3Od6KRMMUTgClRFe2la42u+R0CDAIRkNkI+ WCPc8mM1TsGgw43LxnKISQQYEQIACQUCRF0knQIbDAAKCRAzgWfAbzilaRRRAJ9R iYtTvkXAj78Xt8J5FMOoiCo6TQCdGj7U+SJHD3NDwqmkvfMc7Vp/iqs= =47um -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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 Monné <roger.pau@citrix.com> uid Roger Pau Monné <royger@NetBSD.org> uid Roger Pau Monné <roger.pau@entel.upc.edu> uid Roger Pau Monné <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-----
<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-----
<dumbbell@FreeBSD.org>
pub 4096R/D938F9C86816981C 2014-01-14 [expires: 2017-01-16] Key fingerprint = D72F 4B84 7098 9244 20E6 2B93 D938 F9C8 6816 981C uid Jean-Sébastien Pédron <jean-sebastien.pedron@dumbbell.fr> uid Jean-Sébastien Pédron <dumbbell@FreeBSD.org> sub 4096R/A185D28321B02B03 2014-01-14 [expires: 2017-01-16] Key fingerprint = FDC4 0948 8453 5198 3EA1 5F56 A185 D283 21B0 2B03 sub 4096R/39E99761A5FD94CC 2014-01-14 [expires: 2017-01-16] Key fingerprint = 6708 7FD1 AEAE 0E12 DBC6 A6F0 39E9 9761 A5FD 94CC
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =Xm13 -----END PGP PUBLIC KEY BLOCK-----
<mp@FreeBSD.org>
pub 4096R/4EE524FA96F4534E 2014-02-07 [expires: 2016-02-20] Key fingerprint = 8A12 DC54 2EBD BB37 015F B102 4EE5 24FA 96F4 534E uid Mark Peek <mark@peek.org> uid Mark Peek <markpeek@gmail.com> uid Mark Peek <mp@FreeBSD.org> uid Mark Peek <markpeek@keybase.io> sub 4096R/F2A0C29D400364D8 2014-02-07 [expires: 2016-02-20]
-----BEGIN PGP PUBLIC KEY BLOCK----- Comment: GPGTools - http://gpgtools.org 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 =m7mv -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<gerald@FreeBSD.org>
pub 1024D/A5B3A004745C015A 1999-11-09 Key fingerprint = B215 C163 3BCA 0477 615F 1B35 A5B3 A004 745C 015A uid Gerald Pfeifer <gerald@pfeifer.com> uid Gerald Pfeifer <gp@suse.com> uid Gerald Pfeifer <gp@novell.com> uid Gerald Pfeifer <gerald@FreeBSD.org> sub 1536g/00EAD7F3F0156927 1999-11-09
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 CgkQlxC4m8pXrXxzFAf/fMyEmUVxLqCNCHB2mo0KvuapPv2ResmeJUzZxVnATuAV 01FE0gaXbgj3fKZc0WHmj20y4a+ufqZRfeJDacoE7HWZPuNa5zK7By5A6wayTNUy YPa8dZe3bizT5M9rS+mMto3GXqPC8P2IvQI02ExBWRlcXSUg4iQ6NxKoQWZVAl3h cVA1VNutO9YYWdVt1Ok2id79cTiOtmhSDouz6YVvmjYVCddDsXdRqb1TR5GAkEQO qYLuZTao5K/Q9Ix0KJwQI/////////////////////////////////////////// /////////////////////////////////////////4kBIgQQAQIADAUCQtGsBAUD ABJ1AAAKCRCXELibyletfA7DB/4mXdMTUrPw5RhkIaGywAI6wIYO1SFzuMaYN77U 3hJvG58sJcefWHArRvd8DCkexx11Qp6JGP60ensjxZGK2YJdJ+Hjn2uy+TdArkim nCrIgO/6NJNsMzj67h9kwmYZcSuGWX6RhjdiekI6nuN9DEV68IokDUATEPYYe1p+ mc3qpeo7cb891oXdQofBmZ7AbsM8FzloCo8uljw/Q0neewUoeGDjKEDwLJsIl62+ wB6Rm5EMaEhpLaWQj6ENEMMQkDB/D5+yILBjHURWD49ZPWnbUIr4hckWPVXfTmW+ 9zYpb19RMOX/UwFcq3Ltx/ip3cz5WT1d8sFEw8acw/tSbX4fiQEiBBABAgAMBQJC 43X8BQMAEnUAAAoJEJcQuJvKV618ltAH/12T8pHWvKt3yRAdyF5XuqO1SJQa5sMZ giQl2dARckOi57RACdbVkhJ/KrXvt9QF8sPhfnVNg3U2tb1Pv7L21IbXNHJhcYD7 1quYkvEWgZSrf93Ct0HEbWQTtgJnczdhyUakeirWKTOy1QWsNR0z364jNz9hKUXC PsIG77vD0366xlR6lDRjcRdQB4CLNLeUvICubPi6+aT+Z5i3gCvqonS86snQX3V1 1jFJo7fE1jfEVMICrsJqgrWlMcD1w7L8APpN5eHkgOHZ9YbwdiETW+qKv9WESg4A lxhT5iVzfj1ZNFU7pKQfbzr2fSCNLRdFsvaROLzSScsLIQt6SZVr1MKJASIEEAEC AAwFAkLstAcFAwASdQAACgkQlxC4m8pXrXy6ewf+Mb+JYySoNL0SoS7D4EqgXo/e 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 o7/7EwCeOvTpUh2KYkATZ1D2yfKh57GRxcw= =QCdT -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<kp@FreeBSD.org>
pub rsa2048/6FC4DC71FB5E4A46 2015-03-23 [expires: 2018-03-22] Key fingerprint = 86FB A6CE 751B B4CC 9A0E 5172 6FC4 DC71 FB5E 4A46 uid Kristof Provost <kp@freebsd.org> sub rsa2048/7287BC16FB5B8FA1 2015-03-23 [expires: 2018-03-22]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 z5gO/9gEUNlr =tcKP -----END PGP PUBLIC KEY BLOCK-----
<thomas@FreeBSD.org>
pub 4096R/9495D5E10F2C905E 2014-05-14 [expires: 2018-05-13] Key fingerprint = 6048 5466 BE2C 284C C140 FFE9 9495 D5E1 0F2C 905E uid Thomas Quinot <thomas@quinot.org> uid Thomas Quinot <thomas@cuivre.fr.eu.org> uid Thomas Quinot (FreeBSD) <thomas@freebsd.org> sub 4096R/DF8E0B5C7CC62EF2 2014-05-14 [expires: 2016-05-13] sub 4096R/4FC12CCCCDF5176B 2014-05-14 [expires: 2016-05-13] sub 4096R/4B31C02F7F15353F 2014-05-14 [expires: 2016-05-13]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 RjwKY8w= =tawl -----END PGP PUBLIC KEY BLOCK-----
<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-----
<dfr@FreeBSD.org>
pub 2048R/D841102E0B753B2F 2015-04-25 [expires: 2018-04-24] Key fingerprint = 9083 9CD0 6235 A655 70E2 A65A D841 102E 0B75 3B2F uid Doug Rabson <dfr@freebsd.org> sub 2048R/FCC3E849854E03FC 2015-04-25 [expires: 2018-04-24]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFU7fVQBCAC7KoIuPBM6wXPJLAscbnLBKo00/b7l77QS3PaNVMyJjlW7rvtG dgdiiR2go3VvNTXGa0RbZNh6RMGYLLOJC6wwQSlGWaGKvUKpAC5jz0TFoP/7k0aN L06tj22RBL5B/EeMW8u297+VeTZ0Fl3wo9iT+tuXcFI6NuHweD44b4v4iCdvn0CQ czeBtf1aHP3aRrQaGZl2QtaKnCInbiMqJzO6z8hL6nWEc8wwFAwMOyBv4zgNj5xK xKJqPA9Bf4zTaPDHV7Ep/3vU5gFyXet4CdX4FVfJvfQi0bKFWnYS6kXWLiIP65W0 x5a7NhwnmK4JHneHshBzRcfXNF8B3ZNae1X1ABEBAAG0HURvdWcgUmFic29uIDxk ZnJAZnJlZWJzZC5vcmc+iQE9BBMBCgAnBQJVO31UAhsDBQkFo5qABQsJCAcDBRUK CQgLBRYDAgEAAh4BAheAAAoJENhBEC4LdTsvyNkH/2/GEQcPkZCBr/bhMg3Oav49 OshXQjJ5sLc0lJOxPlo5vkAPC4ax4xo1bvItJvgplTMyzCEiiGhQHvarW4QJaGw8 jjN2FeJ0wA5Pi2iD7PWJEzAEjbAMptR7OoeUbR6lXhqBOT58GrjJ7RW7aNVBJWKW 4aT848pUmIgRBKNXifLyodSwmFDVwNmNeN8eor5MDpZSqjlgI/Ik9FesbP3i9xgg 9HsGuo5fsGcAnp7WhY79JrIlWku26xJ1rnQ+PqWPlwnszRJTQcylyjQh4X4VkZBE Rd2o3WNGaL7ysLTTBWIEtRCD3byth1d+8Zn5V9MmH59yK241Hjw9m6isknlPrl+5 AQ0EVTt9VAEIALjc1f4DaEBM2kFHjf+mdnMdvyneot1r0oh/1ZVZK5PtAX+5tWqo P/QTl3YwB1Ehb5siBnjYatsZVomIzUR+l2m281TuD/+XryQtge7awM1l4Cct6yKV uxvcTkqG17xIX3SLTrrraEp3U+FpBHVRW5iTZCMUET2vaBUQoF+qj/jsLByzf7Nd TQ111NYsE13hrTDV+2XGaY0OjYJPTvjDmBFazHA7Yv9Y5TzagfJeQRddGogLxFPo P7/nfQsvqQ2lsrohpoMaunTMWe5cG3YEiiJDaCuAXx4d1/Vr0XButA1KZS29OjDr j3ABG5fLHYTezx+18AVdRleW4pPojr8XN8cAEQEAAYkBJQQYAQoADwUCVTt9VAIb DAUJBaOagAAKCRDYQRAuC3U7L6FVB/9s591btD4hEagpDKL6JBc6jmZ9OG/L5RCw SLMVo6o9MvKva64xAE70s3YvZZyT8uKwZ8BP2gBqa3D27rRCEfL+dlFwRKYf0uJv mI9nCnPeNnP3ZEKowC2O/bl3rjt5bsWmd4pVFTsx9AyecnY+lrPI8/T53uODdd22 3VrqrRhqC97nG3XjK9LaX2XMM0Ee0OPj843POgJNswc0FEaxzHtGrW18D8mdBkNJ kql4Rtqj86VqmpYIMma4cCcohiLtsjRoMj++M3lDNPtj25r4EH6h5qN5v8I34QJr ryvDMDylbcfMOxyKIZOzS/+elZnjfwuMJN78gE/DThjG6MqqCGuH =cCQZ -----END PGP PUBLIC KEY BLOCK-----
<bofh@FreeBSD.org>
pub rsa4096/BDB9B5A617C0BC91 2014-12-17 [expires: 2017-12-17] Key fingerprint = 4DF7 5112 8506 8D06 4A05 2F9F BDB9 B5A6 17C0 BC91 uid Muhammad Moinur Rahman <5u623l20@gmail.com> uid Muhammad Moinur Rahman (Official) <moin@1asia-ahl.com> uid Muhammad Moinur Rahman (FreeBSD) <bofh@freebsd.org> sub rsa4096/3D4FC5F1173A113A 2014-12-17 [expires: 2017-12-17]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQINBFSRaDABEACZXDC3AHpSc18KDFVLLrw8jMws8fPyQWek8zB/w7epUF1FIP8G LVDATxJ9sZMll9zf3OEyDlvwquqLBIvztQTmX+kiDpzX7Fm4Uq1iA5A5Qpw/z3Ex SfvlKknU9B4FqIXxOWUWsVAepLsDFalR0tSxMC/77xUzut1GgJFqZOX+5i/nFQ4m utQ/F9AC2QMMtigzobzKz23hU+p3SfwqAwljw324UtKohYgyGqvAVD0kRjfRCT+u WIC1NE+Vdn9Ol8twD51A/MruWYNn88p5gE9QVfnd0DFLD4ggET6AewnTt281rxiO AjU5i2WZkW1b642Z9cgx4QF+MfVc1nkVh66aY1rQDZKmY/Nv9AH7HX2AdB5CtbXu mNKqpzpNpjN+ZLEfGK+gYzS+gZD2YSl53D7qWS5EuXcn+ylq1uhcQA/uITzjuXoF cgu9l5MZbho7hV1fVyynSAkisFLXSm/d7xQlYATGsmsJQVl0nJDTyDpWXyKggsUN RzDcvift/p3RFkPEb7ulss/k5NMrCIq3u9KHoXk74ex5dD0g9un1xuF5p5EDzfan i7+JiEghF/uLivT0ys2l0iKPB/LVPgcTmR/dsR1V9oUMTZ+H2PthWQ3BRgyYDh6C 6i+LX+VcGaxBdPblxIcqJw5g07P7v24dTvILDtxT7f1DXrkp9N/g6o+bvQARAQAB tDZNdWhhbW1hZCBNb2ludXIgUmFobWFuIChPZmZpY2lhbCkgPG1vaW5AMWFzaWEt YWhsLmNvbT6JAj8EEwECACkFAlSRbeoCGyMFCQlmAYAHCwkIBwMCAQYVCAIJCgsE FgIDAQIeAQIXgAAKCRC9ubWmF8C8kYdPD/wN+TjTgPQOgsr5oypsdGATrnW6/L63 hQBGxRANf18COXLd88WUTrhHZmPkYcfrUuFcEMp8sf3QA68YRMEveaLIL1zGqlM9 dFCet+WhfKtJHObdVzQqj5a4dkgbn6iBK0UIA5/X0J6Y9y3e1EmcKam0pi7nPK+s LWqoZ8JiwTvBonfShBI5zxKJ2oHt3chgr5juLHNkM4xDqVZ+BNB6pOYs985gJbOc iZOyXs2tApgaqsbggi7PkS/v/sRgOZovuxYypczKDhOYn4RjYDdBFWX8EZcf3giZ Z7wKuymYxouHcEi+17MMnfLClt07ovZ0iG146sCRCJpyCwXGdu1ghxq5DXewPxtL iE1Bi+RU0AEWmUcAPTIKJ2hgrl8axh1WViNESQU/n7gr2FpJIEo7vTmxR36iwxGN OXMA8Mnc+76IilHd7XIPg+bCpZhSPpRDSvHfBpvZtDVnuLBbH6KuRwnSRlJCEXsa k8YIrw/ZbafPsJ52hyCFwrLN31NvkmnSKG4bvtOWolfpS6F6cgLJ+w18CGZBamXQ 0AMCpClDVEppiiXhvNtdyXxGa2ukbLZs0rBm3UzY/1impyXkqfXaaF9kD5MH+yED FqK4Ll29VQr1K8qazlDUr+0dIEQcvDC0SgMI5u6I71BtCtIS4SvyoUaiQRta2Czr NObl3o4L0HCV9YkCPwQTAQIAKQIbIwcLCQgHAwIBBhUIAgkKCwQWAgMBAh4BAheA BQJUmYjgBQkFpSOwAAoJEL25taYXwLyRl+sP/iwbXE8dmZl43FOb79zj9Bi+dLK1 Up87EaDcbkYitxiDT3gGemDAaRJQfySHB7X8JpJiHh4Z7yI4C4hqhe29KgPy/j7W kyhjLGtdva/qcNbcu5NXqCLz9dcNguQoFvVcljCPTMd3ZNzTJdrVRCq7Q6PiSwq6 aWG6H82XqVYwZKys4K0pzMDsXoiDncDLZlbG2jZZMmtYz+WOfEXO4h8xh+i/Byhj 3+ZKi919eJI50vZwqVaC2Z6EGvx6It0Z6CCnINToMiEL5y04pXHwJlwQLBp6aR4x oBxBv2K6ChkUnhq/AhvQiajG8iEIVWQFj7LGRdsPwLDh08zAhpwenYwVv0Jh/Zjp tuco6MpAcWEiTbm2oIfzSmm7CrXwaxPqPgPirABYERq9674lv9+x7FbbPVxY26NE DeAQ1gRhWU3Q0Jp8LCtZwPIw4rsfLrRdxFVmEuHiRLN/N1u7YmB9c3KAl9ljzNBZ A5KUOIHKJPj9UCL72DmWWFAn5JGByp+05otdaHw3tbjkv3H11ZRys+/zTuE9/orX IdKwrsd9KsGnmOfFwCr7sWVAeRact0giTXB9RBT2Fw+JfefTg4UIDur6zYJo9wS7 M7sVIdiV1ybIW9wXbjJusOGINdbAp9ppE8qvnB3UR6EryWUeDIdA/8TGlbenk4Dc +4ROU6V8MkUZYvVrtCtNdWhhbW1hZCBNb2ludXIgUmFobWFuIDw1dTYyM2wyMEBn bWFpbC5jb20+iQJCBBMBAgAsAhsjBQkJZgGABwsJCAcDAgEGFQgCCQoLBBYCAwEC HgECF4AFAlSRczQCGQEACgkQvbm1phfAvJEcWw/+MWYLytOYvIXpET4Eu3rC/Uct YSBxjHEYQcIpWv7Wpq4vd/+gzWKPeansRQM2jnWXhQ8YxXNPvR9yq6OqPiSDltGG jSH0ZOKDFMcSFSTsD3jEsKnXUgBs5asHT4WqChbYwEJBINT3PI6ewYV31M5p3ZT+ +S866a4ngTjW4sNtBB1jacrqczIrfwlXav9a6CF57EnExzFQZy/ttu6GC9XZOx7a jS6XzQ7sCU99b2HkDqcZ3q74fTR2kiIHGwpcOizkhxt1CnSIAAquQgDia/8WbDdV BVHVK0MfbwkqQBqSwCQ+04j4NQEm9Fp02HKu7GEigsg1PlkN12vidfpe+U0DqWnh sDhzgm6L68UJRwKgZ4NLjjnrFKtybqnK04XU+j0w91pGD3NQVgTehI6C2Suo6xOF VYlJsdvgo5FyDpITm1kYQwTaQtlvdR83g6MJpH+Qs5l81OYXqa6vZXyFW0+5pxQc 3svQHPp2yllvfP6eY/3AaiBY/2NZuWsDfFCHFqKgCuwsfZeyQ9tEDxuwAO6XWVSc 8XgGJteYh0bFJyfOpMffNWopCiSA8ZyYEHJDQ1qsdZWOvNsIWmfjoM6JUZKqKXSU I2+RV9ippaW4ZHWn0MH0u6f0DOS8xeeRrDs48cI5wIBq7tGCY/7ICGHi+45XkmSa LiFbDZloWwVV5ydnGGKJAj8EEwECACkFAlSRaDACGyMFCQlmAYAHCwkIBwMCAQYV CAIJCgsEFgIDAQIeAQIXgAAKCRC9ubWmF8C8kQtXD/0QLOOUWubviIobkjTFWfJp lh35V1/+9FxivzrnTDqjy8AQ+SCC/6rCY3Voe7r1atBMynNtBM4tzLxvqYkbTlQt hrMLRn1oATsWIL0OGMJttM8Sap/31HD30n5h+RPgNZ5X+/zRyQqCpnKzs+asKz8u ydSlpmioHsaT0rBHeegknnGMz/aUEXPdn4+B9F1r+/GMJCZMv5vQ+vccv8bciSSg 49IF9wUsU3CzqQXmWVYGDOh6eu4kSr44NtJ2Tw/TVSKfmX8fzmxWe8xVxDNdo6in UgDifA/VawdZLe/yd5qh/19RVTaJtefMFqTCJyAQcgDnV82kYJnVsjqVz0FtxXPq rfClTunbJsM94FoMNcm4WqklQGLinYONCniYRtp5TeuCvIYUVp5RYDXZTPuqcq/D ApvWxkK/IP8KAAftDtVfmPimMLGQNxjnnGt4qdsEAvjRpNg877BamZ7+hekr7mTQ hBI3hj1Ril1WwDskL/Uv8yq3EU3v7o1YFRQATqiV/IoQmYHmUMN8V6CovpJxGJcO Prfoc+7Exmp7xphMBGm19fUxpFvyutk8VquqgkmH8L+FyxJEu6DzXUrlfkZ7dyIU EGJlava1B1CqYwM54w2bVWP4LmU+JOI4Vi7EwippLF7Ed55uTeElypj05z6f4pTW Tm16quDf3B9TsH89jeA904kCQgQTAQIALAIbIwcLCQgHAwIBBhUIAgkKCwQWAgMB Ah4BAheAAhkBBQJUmYjgBQkFpSOwAAoJEL25taYXwLyR5xgP/35bd3YRlCIdhmCo fqcChRIqE16vmLwMcAtg2GVbftm+O7l5wFUHy1CP9rS9KJTfRHqnpT5ByjP/Nh8N 9dg3LvPtt9WWKp4oT7QWjxB+kcPc6qAVMwWjhRa/DSuEdZniRJ4iOke2ycjz2Qo/ Q6Ps9ZBNZe1rVHV1+Kl/gGReIWbwG2cmeNT2d7BfCqvVy3shq0GN9AV4kchp62Gy grJX6KmOlMZpz2E6SRY/7KDqavjyWhUIHiolU58dY/D3TwngKMPH1AD8P3yYeKZK ViKLpggFm6tbIsHUR14M/UjWpX70CpGbf5X7C8+UFqk2ROu1hxKWuMB2TAVLkh2X dEuJjnnX1KNgjGjpAgzu6D28B3Xj56lp8hjfjjS7jj6jE8362bdqbSu3bYi+Az7S Z1QxPkvURJ4+KLXUPgYaiDRL4K2u+aErWeG9PoBpLvdgDwbGYY2jcAd/GmYVzEdO VBu3NDUQKRywnz4K41sinkPkcSuzAMFtkt8k8Y4QWeWfUwr1pp2DnKT5mrf95+8K pSIKkVwuscH1ruKmVuNsv0rbR6vK5Z25GFMpjpFnV3YD6PEkcNgkRvQovjwndoCb Voxhu+lfuHoMx1+qohESh3x86/uRrpwjvT1F1hMwdGXy3VVCurYbsRbhuuic9mRC aqxA5k2ONxjHH1CFG1lbXlxUbmHBtDNNdWhhbW1hZCBNb2ludXIgUmFobWFuIChG cmVlQlNEKSA8Ym9maEBmcmVlYnNkLm9yZz6JAj8EEwECACkFAlSZgxgCGyMFCQlm AYAHCwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRC9ubWmF8C8kTluD/9TDOTH rgfrHe9TPggnjFUWHTRlah/nq3pjz5C3R0UQrcbm2bifEDyS8W8H37xo+EXT6eHM 1xiv14sOXBsvYT1qI2koDD5Nj7nTVYb1Ex+t9n7Mk3cgM9npFKgaxxjcsAuDdnqW LIiLQP394WM7/LbL96XMaCgSyOJ/FMsTYLBdr7EV+n1O5BxPa9p61srWRzQDWuHv iWLaAexAlS7Dksy1o4XD0FgH43x4SDpkhoBTmEFGaY04aiixuWif5++yXO8+lpzF 3O3B3S91GFY/cwEHeQbIveUt495KUsMdoKfgLMuCiMNofzHtcQIkdDgkGMLqMlM0 mloiFzAOs5wn9CkMLFPrYFMuAVWQleJRM+56+AURiMhdDikSvfi+x/IisnjMwmF1 nJWMaDYp5wIkuBFxFFIWSiD0wFgyzj78PKmk4Nrv+9oEmgpjNPFEMtxTtsT0nXg2 J8iri04rtlO5OhKnAU3FYXkyloDMicQgpymHBPvYOyblxN0Yc6KpuSOHiBHr+t7k CSlw1l/mG6Ghjygu6lUF2bqzBlRJe+BMXDMc723/+Upb5enP5bo1AHQ3+7bxnxD2 tTlXMLYMAAGen3qNzZvv9drWdhWRu90wlAZxketAN6vvZfPz4EJRhWz4Ug3jnj1B /RURTsGwGyhGHrWmQRRaNJx3sdZ/qPDebTAvrIkCPwQTAQIAKQIbIwcLCQgHAwIB BhUIAgkKCwQWAgMBAh4BAheABQJUmYjgBQkFpSOwAAoJEL25taYXwLyRovkP/idE dtRCLVsfPpaPqmQLWArtghixGph9psEs4F+Qzxg7eQMa4E4luwrgHb/89uOlETQ/ tTed/1plO7alyAzhYp8ukWcYnqs7iJh2fFfa00fyAE7ihkq8O6/KUG4f2D4IUWpj G/S/vmtB307dUff7Koy5KlRF6p2V3gIyOeoVWQ7Ll8MHv2Yl4ijLXDQQb02wBxH7 4TmXzwB+7Mzh/L2d76h/qdmXSQzQsT+eQlLbKuG3VGlQY6/gt73qRBK5wJLs8aDj tmvFqALexaWXM7AlfjL4uf5AdDi5iVfaETNcAB5Q8nQ/9EUCu4TGrYeaYYW8i3yh Akxx6lPsv5baINAzuyUORFN/5lIlcz522VwsPnGt6RRMsbtU0tJk4FxvcrNlHGff ZB/3s6dmiVaG0jhVbpexEruFfacNe3oRerK9QqXCoInc821Ayr20p66BQSH5DFlu SLpfSXUt4Vz2K3tLCGcaQ03rijl5rGJIcD6CJcThvGW1lU7LK7NAl089vJwhXVEg yPjccCX5hfKj43ofwm0bY50Y7Qbpf1Ey/obL5mbBfUzQOiW7jL5NVVg7vz6CrTlX zAPIYq/GkoMvxE+9R+XJexa4PaS/W59bchXXFI6SHT/9w6K1qzWUCRB2ezrBukny HdMaBPAE4lJ/Yj80E9A++oI228bL68Djh9P1G76buQINBFSRaDABEADNIaXaNswU XRWmWdQ7xhkaFCTVyieur1Y3kKEKAQTkmpi95684Rc7WOgrhGpdM9NCBlAxtN7hW JRyDhyhGibylQzFQQbue9qdvc6iSBJrqSo085oi4FqjhQeRZC4tf32sfUuvXLK1Q b0AQl8iQNScweWy4nIO8oi2jCafu1PqWdccVaDyPzqaO3CM1bsy3vtRa1bH8FvLU G4SYelMY9Darn5OMQo3oLETxkVh06AJkotQWVzPbLlzJBfDNUpG1V0snc1peHEMT aq/R3GngBf4I/L10dum9twBdRQ3QuTn9jOtT8BSaJq0+72/IeZphj8wMCvc805jJ X3WvbUGfGdiFjcr3mWs5TctRd+NDyl5DhEwj7ujE06sexnUsLgjNCRTjlmSF+8Cr dBRR8tMRmJYhuVb9dgFjJxgcliCpIaOZoyCA0jrirV1cCO873KHsjGY7wpicsClr opBqlPQXg58b5wxWPkT7pgSP8wST9bZ918Lj7w60OsSUfzYLBjYHMBy1/vnXNuG/ cQCTA2pmwBEDrs3mNaUP/uD7TPr4Z+rmtIxc11gO75bxrgvFKVDwWRjE05VeXih+ LhOLrBD+WeOu3vxUzQghNGHxo0T7I/TMIOCT3jF8gZOMk6BBgKCFGb/vCKG6aHZA jp8yVxwnN/VzTYOufxjMRn6VnXgTxAPojQARAQABiQIlBBgBAgAPBQJUkWgwAhsM BQkJZgGAAAoJEL25taYXwLyR48AP/Rb0ToTiH2ITW2yLL7txP9VHmgOYsOKaiCWy oy/ekmMo7Az4avX/Q6ZmzFl9Qerjf12IbRIZQe+GnqYH1RKVIJMyFqFpHGrlbt7p /76AtfNH2mOPmnzZuX+hgOXLLAv6kZpK6++uPFwxeWKD4CuhUn6I4QrU8cCkMcDV XZ2DnBrN44B4ccoIaYy/4ztJQBN408kykfCexMgXRuQJRatOWGpj70hbc0mlef4h xlETGLB0u8HUVEAZrotCu8WF8FKG/NIfVTEp4XC6kLTfzEWV3XNtYCZ1Qcx+3E9D rZXj9bN8/Oq0mFuHFopQ9Lck3mqR+TOlMPKVRI+ThR0V1dYReiPF7zv8uD66wOoN e2QaL6rDf1h7xOge29N7OOUVrLZAHi9A/Tqnp8CX1dkLjqvcEh7+IWcjd5ywSB91 +rCAgoqm7ehNzXhjVIYGEE+blqEHBmJlwTlane005k5JjyQxpK+XxwqXNa7aC8ny KfQjXJdiYnwqSCkhqI5EvdcosBYVVy111WjJp7lm3P2IGFyqcTMsqy0jay7SMJcN ad8KPnJeoi/A10GYC697NXyeZrnP7+ws3lEyQLtupz7BQpiORNI7sOAZb0tn9PqJ p/6BdDuSAndhTpuB7EjzyqOYCD6zSk5c+rGmrulXrlUOyECK/TObUe+m6rkY8hq7 76j9Ks8BiQIlBBgBAgAPAhsMBQJUmYjgBQkFpSOwAAoJEL25taYXwLyRemIP/3+k jCUDHBmIhqPEHvoLNo/Ang/Im+0f21FgOtHUf2poDQ9hEDbOnUEk+etvRgowAfpe YG7z/KBPRgEsvaeLOFEWLeJ1dszBYmmP1PpXQnFrLnk5zuaety/YhaRFvWGz+7UQ nBvsRVBrmwbYJMD+dc5sH+eQwhI0p8fA9pOqo+mR2JJiOm/t4eKJWuL60jIDM15q IScNzYFnzKguMPFUiq+EGvMG82jxaYK/S0IxZkhsL3ZNPNh0P0dREAHNP7ajTTxy VnEReljBVg/WHcM/eK1f7TX7cDrWNlhlDg4s+y2/mPDoBQfQO1rNHEYB/t/lyDsE 0Ldk+b3GhAkkp+RSFTrcVBaGI+H1TLiYn41LuDKPSTHirtTGnzz8R0Bo8mFnzr44 rTjnOm3GwY0bBwm6D2gmUD1CMlwOixniXXZybVVQh9HzeAXVrDdQnbpNRWQG6frQ iuykps0K2E4QtCYWZ/ekbIg0IHUK77vzbhs5kKRQglhF742klVKkTzY5E5nx4MSA e9v/CygsYK5VdHNH6v3g14gyNjJ9c+TWTl51Kp0PsLytSpCJtUPskG1OkhQGUQQ8 SUaJzzuKodqI3EsocgWev+QIz2bbKpOhxFOOw4ibcLty6ZwaDS41OIDTgSbtY+mc tdmyZWXbZIEPy4pGOTds6nQhMtBnCHMzWss0Budy =wxn7 -----END PGP PUBLIC KEY BLOCK-----
<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-----
<crees@FreeBSD.org>
pub 2048R/900F45A61E12E96A 2012-08-26 Key fingerprint = 8C57 BE3B D320 5FFC C4C3 C0B0 900F 45A6 1E12 E96A uid Chris Rees <crees@physics.org> uid Chris Rees <crees@FreeBSD.org> sub 2048R/A703CC3500749D52 2015-03-08 [expires: 2018-03-07] sub 2048R/D589B12E85B13424 2015-03-08 [expires: 2018-03-07]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 bCaBGQsRytckgHLgvCqkfgciHANXcn8MkoXNbL4= =0F0I -----END PGP PUBLIC KEY BLOCK-----
<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-----
<mr@FreeBSD.org>
pub 4096R/335E9D48E27A80A0 2013-11-04 [verfä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 [verfällt: 2018-11-03]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 B9IB7Miy4TuCbcaZDpxT7Fs= =R1xD -----END PGP PUBLIC KEY BLOCK-----
<bcr@FreeBSD.org>
pub rsa4096/733FB585F27758FE 2015-05-22 [expires: 2018-05-21] Key fingerprint = 99B8 FF96 65FF 8980 3F58 DB55 733F B585 F277 58FE uid Benedict Reuschling <bcr@FreeBSD.org> sub rsa4096/C04F357C5C6E5363 2015-05-22 [expires: 2018-05-21]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQINBFVe3PoBEADF7pT8s61tSJ5qdAUisY8VsmcHlnsh9s8yXAl1M4OIW3DpWNoz kZGlLyqQ1mktd8//MVSgFV/s+EtRJhCDsCjpZs7hvYH5y+SDhrBaQFpKVgLn5G+q BzE4h1f/g7dzdXyRA1Chiro3WHxV6jqxEOCmsAr+5X1OpvfFE2/Po1L4Trzb6Hze SebsknxOXxj+rRGsky/VQm1bf6yCbpbeoVCBG1bkd7ltGACuO4MB0fmvNPegCs0g ZlF3xHkZ72ktSEo/qgX8SpkAyOIzdRHywUG5/Hcuenq2BuolkkmAhhan/m4XB5fD ihUQJHCJpL1l1NQ49rgQSfWFFubgP6g4Wh4CNplBVCxskVRZlECMM2NexBb8JWWd 2tQrtKWnXlkvF3ru67Ryt7gZdjgqP/furg9Y07kmAGdEnDuexLZn7npeZlNDqOlp 52M4wxuXXTsh2AR5M5CT5fdnm9zDGzMBDN52asQd4uhwTfKJLdxAVdrAA6LVX4o7 d2y73PeiEqC50bspYJqYXiTPC0IEDIsVKTGL2o0FpEHsR1dHlpYUYBEytyh1d+3f atTrSeEapA9WWpGV9nFTnehJlQz3p5kYETK2vk0VuWnQ7oRIrg4wanz8LvgHGTp9 Wd3I1HBKudqR4ka9wwlC6HSxe/x8Xe1nxUbJF4gmI8Bh4hWe5/tZ+nV6IwARAQAB tCVCZW5lZGljdCBSZXVzY2hsaW5nIDxiY3JARnJlZUJTRC5vcmc+iQI9BBMBCgAn BQJVXtz6AhsDBQkFo5qABQsJCAcDBRUKCQgLBRYDAgEAAh4BAheAAAoJEHM/tYXy d1j++toP/AusYGYv3wU45sniaFspsT6K6vXFVBq/YVppd8B4Utfz668mpHY1QZnt 9c5ZRRIIgfWYHve7h5TPtra0+cK8JvkyzxQN/z9fGPBFUHc14Dx0DQW7CCtXF88i UzJNi+xLrWievOWR/7x/v1dwirD5usr6MkyHOW9kTNXfx+1s7yCqu9mzUTGWrlDZ 4W7Ll65rQ5mUwToeLzIM8Iyu7DpVkzCZ84iwtIhK4Xx78hGxZsXz5bHExBnf6AEb 2T+/VHlCmk6ynbh5vrSzVKGxOLaDvl5cZ6a/ItB0IIaBjaggQ/8DVQvA4EP3CbvA XgNBHAwjbOl8YD9cr/HlUodQoO4nW8JOOvoajOVEJEuTZN3loyJeu03kyjkxbdvc H+CmjM9a2B4Uz9Y3v0Juyfd9OF1M18Rc8FAD3xIrPojgvUyneZ6byK3wNn6Em5Sb O3kdE85zQBaR9FLseHa8FypqE8wtcxc0V+EDBx7e4M4nCV3Tmolf9Oc/YIhBvYAH ZE9TpA+GFu+SZXFITvCNyK9o2A96L24OgiFha0wTzwXyW1op/Iz+g3cCjvnceJRd pNCYNOFcQsQJoFpjcBlbc+iIelsy/fZibBXwWmYdAwggYLY5suuLKr2QhKJU88bL FgpbgWiLLvdBTQeQsYAnPtHzehKYw+Qe/eeKYpYe1xfkH4PAt6MauQINBFVe3PoB EADkzhEKI91z/o8XaTBXHfIaGFpLNw3OZP0VJphqTCY2Lkw1j1ZD1f/k/nd3G2Ro XjzTNjvdoo4fboGvhY+ANczaw6ExGGAFjZI5qPFJeCPqsvGjPH1ij0lbyuWltZBq 4dt+chR6+6X32d7aNMrh4Lg6HLHKe4w4Ctu/5l/5PhHJ9VZpgxxWkAIApsY6yYqL Zm5r6bDDlQTeRinEgCE0r40lvTzmrr9w/GIbo038pSpKrvEM2/iHmM/qbHJR6fec qTyVRKPTx0NZIjCQK48TE46/DUo+re1lobQbGaCY48wmtwDaawyf8G4QSMXbjf7/ 4/QtjfLyadXzhaCueCk/swSayVvCoQ1bQptnDDGxIW9+wdxaT5EHDO887PTVmgpB Hkg/rteMBdWvLJAqzweWwxR5P4BlApGZKq63NFkBnQenMl59yrye1hTsYVikUa4O JzYkQTXFMEMfctV7a7eS+f+euQQ5LaY9ZjK4aTbxe8nFCvvB2yWxTmt1T+DhR+z7 Pu9JD88n6k7DTLdyAasfdyGQTsB4R12tuZKizWWK1+sUjzcYQJ3IEkwdTZp47Po9 lbEWAVPUOOb/o5Mi9DM7p2YZR97llxdJZ8B7UxZKR6ZTzMcZuQNWpMTjrdkJ2fAo 7xqR61+W32YE2iLFbCAw7G9fkrMIlhxj2zTqvaXsLvh+mwARAQABiQIlBBgBCgAP BQJVXtz6AhsMBQkFo5qAAAoJEHM/tYXyd1j+CwkP/1lpUuK517i5zsrfWlLzji8b QNqaQwYoAT8+3vczI93zFPLlBwVPI3/AZO1Ja5tQU+GlRUi7fSJsDXC6vCaHsLqr EDq/3tDlTLhsKWrBd2JdQB28KA7NmwzxwQ/iW5SzzC7RfOt1yxiDwfYjJmFDckfD kXU9wn3kLUSsHC/YXzCa2zoxAr2OQE4ZFeu0oefxlb1oJ4mL8tN7jEAVkfITDSVn Gxl7BCk01N8BNPfrRjwUnyiNcnB0wCIQtlvFLFwWliEdLb7w50Cza5+XJ0wefYwn WHBpOsikf82KhjY0jgiRbil+hOczjqcZV7GbzWqj9x5TWf9CL7NbWDdbyJVGczCp YChr1gYF58IEX2z68gQqG+DjUQm9Id2HV78fFeBxc3soZBVcMK1CrGNf0oOZ3BPB 6FDKMWy8FGAAg3ZtpmiZe2SNkWxiXSBQkLkP5tmspsm4jsI7Mip9FsDwod1+4wPt Enz9EcX4+X6w6+5sGwpvKXKHfVM1xjAA2akucJNeRYEmBZ4VsHcHFCyVVwLkGfNy TZtiVK3T+Cyq23Mdowu8SRiWMl/EB/9c1RSY7YkQiNqJOZOFyvIyTDFZXRiotNhD HACCQH2HJSGL9o3g78zZ3JurDERA2T3FQTT14ZZEwuZ6BCGuvKnElnYSnvUdk0z7 rybTm7K8Uz6s9P3flON0 =93t1 -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<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-----
<roberto@FreeBSD.org>
pub rsa4096/8BE879B028731E1C 2013-09-23 [expires: 2023-09-21] Key fingerprint = 6E4B 152C D90D E292 5B97 D338 8BE8 79B0 2873 1E1C uid Ollivier Robert <roberto@keltia.net> uid Ollivier Robert <roberto@FreeBSD.org> uid Ollivier Robert <roberto@keltia.freenix.fr> uid [jpeg image of size 4268] sub rsa4096/13B4B0E43FD6021F 2013-09-23 [expires: 2023-09-21]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 nbX7tjzFbSozCa1WNlV6by4q60t6s5o7LBOPsskEQIrADq3E22RzgtLBVnSS9zB/ yGfDo2WAuZijDewA9H2Cu3zafAl0wZPvClW7pKfsREsv72JMExODoqa2T2GhVVtW tR+I3JhC/RxDDFkJnVEVtXdZhnZ34pAPxiLdqFVciU+0y1T33oo1ebl6iD3/BqMm 8qP0JdoV47Ic4RsU+JEuLItLDRscoJk+ZUjExJAgJ9SeyzSxxcIKIh/kpAvtb9aC mUX6dQaetTdF8swsniP6ZKgz2ds09+5GaAdiAlF4O5egh6p4AB2QrWbXKpuN+3sW Ag5x/sgKZ1lOCP+Y58MG8oWLHPIImMqaB2wcaWG47cynzjKiWyEZisHj1NSgFOQY dJXJLOw57DNB+OQHbzIfW2S0h3H2DxX/0KdypgqSHDjzmMuWi3tnnz6r83mFAEY8 GPuz/b36DjIrbxop42cAAB4Bz/jHo2/QooPWPBrpzOahLqQ3XZr9lANx16+Tbit3 a8vigRCkE2FQ5VdXCitgX/yoGbru8OFu5/SR+Jj+tyBc4CxVFDEKYFd9cE1SYgbI Ipb6KCcKuT7rsjCjQSXyBt0sq2jaCzEK3Bfb/8gJsozVkjZohhxkqIkCzgQSAQgA uAUCUvY6vAWDAeEzgHIUgAAAAAAeAEtvY2Nhc2lvbkBuaWVscy5kZXN0LXVucmVh Y2guYmUiWmltbWVybWFubuKAk1Nhc3NhbWFuIGJhc2VkIGtleSBzaWduaW5nIHBh cnR5IGF0IEZPU0RFTTIwMTQgb24gMjAxNC0wMi0wMiI4Gmh0dHA6Ly9uaWVscy5k ZXN0LXVucmVhY2guYmUvcGdwLWtleS1zaWduaW5nLXBvbGljeS50eHQACgkQJb9I TwirSEl/6g//e3YRzkpx7uCeCCMrOl7lt5OzdVQIs6aFUMEFr1+A5n1CYqcXIuWc XgsnT9yvcGrp1nq4wULdyOp8MXX5f4r58QZTG5fpiX+zrM01ltkqilw+fWxW/2W3 5RaBfTWql6LTaBlbymJMZzZr6RChu19lo46/+A4rvll0UKSQdTdfOTOJNdBmsxn0 EaRo18GXc37ETK8NA5brsiHPAoLZBG9oHvDeAdZ32aYFe4XGNVvk0bL9VGuAanWY jdrHDPopzjJnFFKWfZU13ivI8tYMNJjdhWq/yWY27ndUEB5rASpwCCagP4RCqsOg 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 Lu/Uv7y1OR7J0ql+cuEr+SQiqaRl3eIHzvqmirK7FmCgy8+MxRPMIPx1vr5WMoKw DjV3WDc6iEuf0N8xu2DoO49EHWkT238BW8pGLe0VKue5JFdCrD8yeTCf1Aq4MXv7 f57FZBr7V6Z+8XGPj9FPUV166XGo2sSp0YkCHAQSAQgABgUCUvYeVwAKCRCrocsw 6Zejr5lyEADGKHZjgW7PiapngFxBH/Y83vMp7yc1rVpvL9WAiwsDGDSyc2yVMxhn 2B/uXbAYnB7SY/Y9MxUWXOVD4rB/xzQeppnKPeyTONm+iuugb0aOhhIucNJSAekG IquUcxgThyvKG7hiU2JYtOwNJBqXnCOvGvawbona9uUIYH+ieXGgcqmuGPDCdV3A U7tIxU+ynr159FCPWZqX6BQK1F+ypFz5AFunNBvjcVTcigo6rV7rlj7vxdkseHL0 FBfQBKhEwmEUzaK4eKyxmVGwzkXpQFm1s4+dUPU9NUUjnZABHwBazdisjjG+6LeM ybigYfSHAakuwYHSKe+n51LKdDeIxZyfKi1jeGQOHMnbwHm6hcPwDiMJtFjIDqi6 hijPgO8SnGi2XUquYlyRPVWi+eszVIkILPEV7HEqqWfC0/pMuCLKRCtnA03SVEue pPcmOlXDOnvce9TwRR5493k1+6a6GcGRpkQJAzjvMvurt00+ta/Viw1gCWjK/UCV BnhcTFU0/i49JMeyfKowZQBuQEAcb6ImAnveobuo7gPOxgbZkG6Z1ePth8KiJehM QuI+mtwTz3xJvmNw+mzAsnVVeJ4C+eB24Xc/vMSLvXrix+z1fAVKMDDgC3/CjIPr vCTrzwjOBc9dxIaVbdykBlkuXK4vYuV76+a25R7FWyVamv0eUTW1MokCzgQSAQgA uAUCUvY6uAWDAeEzgHIUgAAAAAAeAEtvY2Nhc2lvbkBuaWVscy5kZXN0LXVucmVh Y2guYmUiWmltbWVybWFubuKAk1Nhc3NhbWFuIGJhc2VkIGtleSBzaWduaW5nIHBh cnR5IGF0IEZPU0RFTTIwMTQgb24gMjAxNC0wMi0wMiI4Gmh0dHA6Ly9uaWVscy5k ZXN0LXVucmVhY2guYmUvcGdwLWtleS1zaWduaW5nLXBvbGljeS50eHQACgkQJb9I TwirSEnJNg/8Cu1XBDR03GXitZreLHa35SmvGyQ3HcQ3IQgTswnWN94hQZWEQHQz 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 tYIpPuoAniLeU/FFgGVaRYgBx4KR8DXHcgKxAJ40yuELqE65j5oJ8TFqsCyGJaaU o4hlBBMRCgAlBQJTALw4HhpodHRwOi8vd3d3LmdvdGhnb29zZS5uZXQvcGdwLwAK CRCUj9ag4Q9QLpz6AKDQrXf8dD9jd446CBO9Et8vGKFh8gCfS6QA2vTcKo+O6PVg oXwRwTTPAqmJAjsEEwEKACUFAlMAvD8eGmh0dHA6Ly93d3cuZ290aGdvb3NlLm5l dC9wZ3AvAAoJEHoGhUIeiZBCGaYP/32vANmXUCL6IAfizU6eK3x49BWmrUQbKsui V/Jmezo5XxDqXEld3sWuMO5thD5H3+4P0UQSAQw0pFsoRpYlas0y+1lyX/phz6/B TjqvV1c+LnkGIegsLudreD+yIBCYTgKylixz0Wcai423Lp1YPCrQK7reOcUFIAN7 5O4i6UEhZnnaIMWhNFpBZ1/zEpDTmrHMUu1let0ts1GvOtznM2Cd6IDdttn6/Vz0 BgPJJSQyydljCZdCRbTmGZhTFPRERNdl4y7b7lKLdFfjkdgyQJXGsWwA9BZuXash 4GjkFoOVBkxYiJe59Kdv73ByX/M6g/3O/5p9x2nbHnNeM78Mn8NBCF9E0sp1UHhE po7acA2qzSVkdQBJK1oo0FPAmtdZ7CChOEM921iOZDe6rAw1TjbUcVyqtaSdTpK8 XCzjKGgg++tDCJN/z1yKBYg1embJx/tlZj5SWXYHL8zIsZ4VAw/e3R43LTvMQVOO UILTDPsp79+1OHxY4rrF1+XoNbQfgp1KWidDdnWXw5I3AfkFQZERlOPO28YZVVn3 duKvVOrTLNkdiziKDyrXLwZYWYtMAgSixqM8u6awOJIPxOFBjDFekCgSMiv4rPcQ 3E+12x7s8D6qJn2fjp684szxfHixUdEvlA+eY81shMCE6TOUqN5uWCcRLKSXsNPw n4WX9zPViQSxBBIBAgCbBQJTA9nxlBpodHRwOi8vd3d3LmplbnNlcmF0LmRlL2Zp bGVzL29wZW5wZ3AvQTRGRjIyNzktY2VydC1wb2xpY3ktMjAxMy0wNS0xNy50eHQ/ c2hhNTEyc3VtPThjODU4MmYyNTI5OTI0ZGQ2OTI5N2I3NGMzNDBhMGEyOWExYzFk NzViMTgxYmZmNjAyZmRkZDc5ZTdmMDQ5NjQACgkQTh95mqT/InnMPR/9FMCNf129 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 Yd8Npk+kTzcmYfIl+nhgnVLtufr/Ko8AJHdmiQIcBBABAgAGBQJTPZWUAAoJENt3 4FRnPs/SCQMP/Rh3xTRfho7pXkrh0I7+eRNNglGMUERUEa2IMFbCCSZiy5dpaE2e NZt1SFmpzU+uk/UjiBgfFywBOKx73lqxghSBnPqWr+/eQ2BoAWJ0GKgDd+wYCv0y sXTTmx0U7yTQlAflJpK99WUV/Cq1vYIi1lmNCooah7GfihsXqkp3xUnHqHmdR2fr kht3/yrHK3w1Z4A9z7VlknNPHjTe3xOPsz3CZ4UutNqyzBT82SGinFkO2rGDy3Gl GvUhXvA/iXUACheLMT3vHFnAXZ0hmA2fZO9BsFc31607XS2FDmdTBuIhX3cG0vEN TSMjVFAcaSzDftGhIlPyOS/aXUa5UGfWvU+evEWNFAEInvwzOTxTLJoQnucJ3SMQ syo8nouyGCgQ67lxNUfvHc4IPEhHqI65SweFtrJNCd1a1G5YISMJiBiWFpNixBGi sOhg/ZW/8+I4Ygte1B61lHrx6LpwGg/EbzRHSGu7xr3fODQktGHUlJnxCCPCG+Sy U65OlWIyqNrxiQ0cWxp0VIl58J2GQwzjO5nNA13Mr4c1Ja1jUzCnp9Mb/2x/sSVh uiFHGHOEHFjrfWvNJMzTI0MKz+263AAd23B8gp5ZJa6V/2xuXdt7kQftemAG90j1 vQxmTTKIZTVYkwfYfiIffThsZ8/uRd7yElnx4C46+HaRwGKsWeflk7rTiF4EExEK AAYFAlM+r5oACgkQ9xfPQkeIKCT6XAD/XZD61I6iVEbmuLWzftd6JBNwJqyFkefm HPMhob7dAFYBAJmE56avc+cTn4Yi5kMnmbX21iLMXD0eIaBbbA7V4HcYiQKdBBIB AgCHBQJTP0rSZBSAAAAAABAAS0NENDJGRjAwQGRpdGkubWVodHRwOi8vZGl0aS5t ZS9wZ3AvY2VydHMvNkU0QjE1MkNEOTBERTI5MjVCOTdEMzM4OEJFODc5QjAyODcz MUUxQy5ub3Rlcy5hc2MbGmh0dHA6Ly9kaXRpLm1lL3BncC8jcG9saWN5AAoJEDGk kSHNQv8A77cQAKXgMFvkm6hE7mkkOJhdYTW0qqvldVeK5EdcetQrYXGBBQnGoPqi +QooX3ND4J1uhdqxRyQlExzlri5MVjGCSD9kpNL5bcHb2HZS/yeWQGfYw3xAXLbb 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 FypnpH/lIJ23FWLwLirn4swnlw9jfRFkZS/CaS3SKrh648zNFgihbZou56YhaFrH sHscFApkbCExEuC6lalm/X7p/WYxz6XaTmhukdhqcXVzLaw3tpszn9dcedEt3Hjo xNnQu/1S+wvsUdx8A0ekTGubgOB512BjTCx1YGgKlWd6uC4GK4IAM01v3bM+3j5l ns4TU9sET0cRlp5E/y9J41fSkZh+uW3QTfAHauC0BZ7BVztGLzOByOLoHZNPOhbu tye6gFV5o1T70+w3EtCFLuws2rLlT+Z+O5IPOnrGvWZzOq/e/TW+cD/uMU0iZWaQ OpfIEn6pWOq51PCoPc6JAhwEEwECAAYFAlJAq3EACgkQOkUW81GDzkhdsw/6Awe3 K4LEz9QH1TgNrfifum9Od11YcJiNDF0f11i1C/VSb6QEHaTIKZLimIkoiy/H7I3A yoXAFeQjlDbGu6lNx+wm3u2P+/jJtf05XWDuz3cHU17sK4R8tRa7Q93buQxF3Uwx FfjUslhWlCDZbebdkT4JkdMzJqiDTeIkwjuBonD3hhuAFZvTVge/GTYYOtGgxw8G U/nd+bnePt98eoLdYMixJAMOJq8JszTF2rXwAWftBQmqaXjw5X6uOHShqMKP0oid shiTdAtREdlgYiEsJwVh844a4dYWeQ7KyH3K3Kc9lmCJeL8NT+CaetZyjtynI/R+ nieiFTSdcvQEOGat+JnGAVhUqOS8QEGqvBmr0Esw5IxSEUMckdsZD5fxdPzuaqzM fZryQQYqwzzUHEvw4Sqh4GXSwETQj/+EmLeVWlehPoe/xeqKVl3ygVa3/zmb0m0D fhX4GLg6Rhqfa5bi1fytormB9kNrzIEZuHIIlcMM9dMnCspXIHjJuIAQKRkBlhW6 LqT0GhJBmUgGW5DZskZz6E3GnkuYwCXWFiz/S5Ph7Qvx1UNlYbX/OqMekRfERXxv p1nkNul9RB+hanm48CdSG0oGwZFgaMmajmOmFd6nCjCGSvbUiPe8TjSW+6DckPVQ 775cI5lTfyJYVv6Tg/MD6fDhezBNjkEqM3yipliJAhwEEAECAAYFAlJAoaoACgkQ XojAHrr9GZiEKw/9EOvUv0QxMZXpdsFUF2fKzhLFuv/pu+w/uKgmpd18SpkOyd+y arUKkvG1NMzbmKtUlnbBo4vpU3ncxTprwxpvvm0KxDpD4IyaQEqSgwHsguDaX6eQ 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 JZQL1Qiuv840Zfd12BIvbGwVuJVKCJNw8+BnxeFPGHGzDvRz+MmU2a8jwMyzqJ8A c6vpVmfVkemRhCKygZksdF+7hOMUoXyPyF+WlBicjVK+clz/D++SEw5ENGpDtkdL 6PCK3IJy26Qpdz5/aFv6u27UDSOY5sHG0tmuHbq/2Gm1InP7NMQRkuvIs3+JAhwE EgEIAAYFAlL2HlcACgkQq6HLMOmXo68WMg//UgyuO9sAag2woYHOdhqcJ67BsNW6 cXQzzKBaNtzeBN2HUgrZqh4Q6vjziUuRvNiVTBf8KNf8nDSHOkfLCqa+3We7ZlPl i/6Bi1CIWtGgGk86eTNTpZgfJZOyX+mYIx5k17LDTFjL0AYmQmvnCWcy8mCUvD4Z C+WLM5/6UkRMTtSDA72fIPv0cHDlua07ZfV7TdWlmJ7nRwNvUuTj9VUdGSIpfAfE yLQ4l1nBc2Da8Wo740gB4KC3achIe1OiJgKL5wnVGKIjtmc27YMZX1jAqVujnwUm l+3G0AkbkNVkOoDmsIz/PTzXLkKzx2NyPJ5ZMSECpO9tMPcohbmoXemiSAr4OT4A pa1GNreR//cmMBhTqtUJ/7UnymJSqCs22zBB7AMVITlzVGvLQzKq4TsnVcAMWown Kk3vn1ksRlpxBxxcwQPcQtHnn50zGTIFVdS8lE0ymrnMgD1W5Oa4M6KGYzdtH4lO ufOkwgI0GWB1Rvq/Ujns4UsxeoSqnB2T61iSgokuJnbErMI8CUJCj5IaZ8ycd/DU IMwxig2bje462ijs/8A5r97GdFcZBq3r/L1zgs2s+EgQg8cO+9VRjDRXb/QcLwSS ikj9kPH1BiF2PPsy5LpfBfDqBDyv54+nnb7dXoRr3rHfY78TvGdRbj1bryb14Xyh P2aNlcgPjWdKNCCJAs4EEgEIALgFAlL2Or8FgwHhM4ByFIAAAAAAHgBLb2NjYXNp b25AbmllbHMuZGVzdC11bnJlYWNoLmJlIlppbW1lcm1hbm7igJNTYXNzYW1hbiBi YXNlZCBrZXkgc2lnbmluZyBwYXJ0eSBhdCBGT1NERU0yMDE0IG9uIDIwMTQtMDIt MDIiOBpodHRwOi8vbmllbHMuZGVzdC11bnJlYWNoLmJlL3BncC1rZXktc2lnbmlu Zy1wb2xpY3kudHh0AAoJECW/SE8Iq0hJWpcP/jcg4HJQdqY5uGh4yCuIREO1hl5q P9Oa46vqajfAM9cXEWh1lDVIiXM4RhOoxQVQ5LjXrURSXO0LNH7FEznVVWVOowWQ TIeR1SVr1xTB4EjzO7IVrMyQN7mtUSNjuzDx0BG6yujD1s7cFfj6Z0UBFmm425vS VtKlv4nZ2Woj8TvqwVGLLgY4e12wVydlFLoUe4TwEDlYkjvKH98EZIn1SQa4krRz QpGfJaDy12FPIjyDmMZJMxBmo2b8YtPasdoae/8Fr14Idld4gpq2OqZ0P9hKDrV0 zPuva1KhjKZ5ubMLLIj8vajnCjFlsaJQg4yAxwlaHLcDB7+6HDKuxZuyrvozRg2G /XPWWkXz/ssmzIi3ZfUBq5CasSMr3xmHU80wVLqUvfKq7jdKnxbNaanyGHoexMEk LZAHvucrSXTGD8bt9oY/JLgvIst1WJyTc2oy36U4xn3QY6pHJ6qqRdv3KOEhpqAh fKb8aDZUYiVaj8sw0HO4OHx7W19JuJcn+iJUETytFZtC5lPqDqmyWtDhNHZbL/VB S4cPsH0oXyaPaj2TkjADcygvl+QLj25j+Qth4aDZbmS1QBNmcVtMA7CZypRvvAb8 hdIo81OcQwjFhplvo6EGPBloAHWbT3aHfqG+GyDVtnswnLgZsA2SA1+zil+BsdrO mxYD7vhyC4gOXb9SiF4EEhEKAAYFAlLyvCgACgkQAPkvkz9i8SKUEgEAoVGmWPeS XfIo6dIVHHfhg3Sx3E4tTAl0EbH/ZRHNp58A/jJpdVSgoaH6MIkpZbkMlzbScp9S mp1OB73pH/Z9qiRjiQIcBBABCAAGBQJS9qhLAAoJEAsIJAqW9mVxucgP/33Hrrt0 24+t5w2BpnIOZmDE17vWr7PkAuS3TvTukCXuP2DhlezQbKbbCb6N8fZSaJ2F96Wg eMyJyG3gAAwZlfoa/pobDTM4Eh6ST3Yqx2vrh7+AsIe8/qiLKmK5Kci9vxOv4Cik Ig4WrsBUMU1H0oV3TZDI7ii9Us9tBq0GWgwiREbVXJXXsre6oLx2ANda6Wog2XQV 0BBxTvnZ2kDXMRhmghDZqr2/alKgH81Sw6XmiVkpTLD5XBv5p59jCqGxI468kat2 MQHzWjDBhTe9WVbWn5q/MEeyLPBzgNTwwPDE0Xr0yT+f0VP+Y2zyysbtPk2A1X3a RwHjudX4AmjWSs0PNVWjJNRReeEEE+wt7w26ywj5/u7C7rH2JrAZemOopSvb25lC YTbzTDYh6mO1e+vToySrtvBWZQCyQwmLYLEF5gfxRrbyQhM2BPtyWnK2F98lgBGa dmKgNMLVlaf7qsNRPsGjjMPhuC05K2kyQjxck5eceIsaehPC4H/MtPtdfajFU3Td bFtFJOav506qX/dbTxH3S745v6Ka1YWipCzfVRqHf1kEPCFcfQdYXXxSL7tiVYwA ZlN0PgTPmDO3tEZkCzzBP+Wz9c8AozkavqZR6iurP4P0SYtN45q/NXgJUb0pzPmL akESvMDsiqEyWOjgFIM6jW2xPe4PyjcHljociQIcBBABCAAGBQJS9qiQAAoJEJS/ 30SErRQvSloP/1326tI54zdNVvr7qCTP6n/eCx4ChsHzS71TdbY1AsEdgu63iR+N pLuxIOVbkLPL0dPhd1FTIEy3BkgCm2AgfB/EDZRf4vAn4rPFlw+uf+YZmC+jFPC5 v9jZbdFXtfeFnQSaE4Mtgqf045nTnDBVQaJ2jrXiMhlASdRhDjS7ZeoIvabAiPoT dRDOyboAkm7nThLy/zlaNXTvEvYZHUJ13jpChg3q85a23QMMCC2ClWzHL8kR6KCQ n+M0rOma8XUsjTQxGjtSdnqkD/LEZ8lxCaiEEd5H7SdfRHBFmjBfUvqaJ3+jzkQ+ seqjg/m2L/d6vNlShIq3yAfQz0aIOAszGLeO3Z1Egk+XynYSoaxA1aCbadI4qcZ7 dm2eGqgNWuojoqmkYHbxTFx8qOs2zDYmHFyZNb73oOVCpA2tZ1rshOXBIlVcaInq SyUQCH2xERO0KAkQ+CmfeirSp9NGqdEyBHq6nZjsdVNSn6KB330tWFmJIvqGVPd4 iURHQNN+oc2kzKGprg/ntbaKN/wbgciRij+iqUT5cl5i6JuyMHno8C/5ShKfOcoN 0/PHunx30C1M1jou1XNsN9TOEPPtmV0Ob4nA1XIQ67eBD8obm0w3LAYNVvvaEcoZ HIFq3guiFxJLx7Vj1izMI+60yNzCmz1wKGanLMcmO0jqA3jx9YjSGRK7iQIcBBAB AgAGBQJS961ZAAoJEKum2/Bj1pWm0JkP/3BfnKBD25xzfGRGgTyyQI/JhGWgGx95 gpnHW6f5v3addpXjIWtYBclRf/q3iUUTDt4liNlZJt1WjA5/V+xiumItLfkhNrGh VtR1OrphTcbKq1mc7CEaR9VovXC2sYEQL6ZiVq25etK6mn87DEeRi7FH2acC3jGs W6yOzOwljeSk5IetyGJAEcF9RXz2gP8YzDLH43A5vYwqdLYrB55INiArS7TQ0OYz Tnhnqpx391G8pgj9yHOhJk6sONEVn7ZnZof9Q/WMfTRGUpYQeD2of0C2bZLF3VRy Ppun8pQv++3a0HehDyVUQ/8y1RwInoTRni5nBPo+zCFxZh7VKDB50tB3QDhb7Nq9 TJGCxa6NmtgZnVewTWDuIzG6vmzNR3m5vlyYHxkhKdMEn4HYNCfBdkIKtx/FwzQG HTYraizqXM1pPRbVDwqslqQ1/qYdURDRBuIuJp/2C1BQcQetFb1kcstxPpsOSDPp MMK8ZU2CSLqHdkk+YsVtamw7ChU1kD69geYj6aj7teelxuDEGr+dh0vAK0KIUS9S 7lMC6J+gao8z+z4cmsz1SDmNQod4ixnPLPE3m4Bt7HV3YIreZZIa/jRCKDU0tXui APKKpgFjA/ArUalwtttJUUSJEs9WlyPeoN+C1oO2IUp0mihQYLTkEV+Jhkawsih4 fdncthicznMWiQEcBBABCgAGBQJS9359AAoJEJWnlx8TwQcve4wIAIuWbVb0GtfV I9nTL0CRA6Ql5nuUhgury+ifCUKPv1zsewRoTXVAw1aY6tt5h4nOS7FCDQQj8bGQ 3UljR4A2UZQeScC7IQibRlNpj+3sTLlUI39Ol6JHWTR/dsUkal+fC8x/tyhxV4gp wKiIvP8RFwvW9E3TZIYBC8+AvPeteEWxeeStTZ4mlfuocC5AhuHpPhkRNmf5DPu1 aA1T0G2kAn8ZId5SRAHphkjxDHRSRhBM2O/2emBOB7xDGppkKmnFehf9c2MqMvMU qjXoY/WexIT4s7CqL448jWo15C9Hrrx5j7K5EfonpHsnldOxpiWSMVNE+9iLf+D/ w8v41eyHSC6JAhwEEAECAAYFAlL38+UACgkQT3/N8ePmABEY4RAApoe8TYytEGa1 YJJGJr5VYOcT6wXOEmkl4nL8tz1AvOjnkDWejLemVvWAXuuSR9t1M7XcM3nbTbA2 AqnOY6u+HAkvGuA/BbhcMHC0XWNBG9itRvsm0t/IBt50B8smmGbMqz15PEXeKfAc unHZtoVnbXkewaVci9uBafCa0Wa56namVRmEOlNHGlQ6ujBvVN5ZYozUQrCJRzVI /hgAHFhAKo/rfl8u4ZG+KmWVrMo2PJflDGHn+hn9NI4qk85dO5rlc9Ss4pGRH7dv yAzIyq3HPcazTBvwQ7MCIY7uut0keS9BPb7m6rOQsY+tai6NL0GLCQT/2EnGtKNA qHWDRh/p6pnTCeTgoLWs6rHu68VbfzdPUkY3AlglbEK82cyrAI0tBEzjw6mSAlFS O6OgqADsYHfiMoQJJeSPU12QCZbiNBrM7/GS7jNQ8WylOh3c9nljOa4pbY81HUbr gO+5CVxlceyXkV7CC7GdxW/NEfsCf3LUvlPb1829TTpIc64oRO/5Abt28Xt+juK/ 6znViZ/h3gC7CE8Oha+4Ab/cj/iJZbugzYVPPDP2ubdbcHQ7NOOYna90+H6AKHyS zm8xh/WGwHutG9LzT4XKiLYawlhV+mZ+9P+gVE9723pacZ88qwoDk0Mc83oxKtEp Rr/XnbjaO/tjyq1Xlv1lfGQQ6VangqiJAhwEEAEKAAYFAlL4BDsACgkQFAdR1GhM CUjMFg/+KiuPH8fWtL87FUWkQRMxLUm+xSOV18PSFLMIkHFNEAqlYkfyl4beIykm 2QbxJJes7T26FBlS2GsXqmh4+rmIJqkl6x+bjlwHFA+lAknKXAS7KM+zVqMWGS0G aiOjQbsrLH5hRsEhoy3aXL1so5+UuBxkt9vclxgXJR3eWjUCb3ententCvHVhMXr f4CK22x5l8+htAUADdACkD+uk7zFPInS+vTTHGEB42zXcJ35VMi+4HcF2Q1SxCvE RtgNu981Q0QPiQD5411OfLhwzcSObkaki3aPm6XPWyvxYrZy7Dit9eDl9t7aCDGs G31zcanoW0PBQzdOoBtepucqP5H+Ie8t/ZsmXViJCC3ymlAdoBwcoweWYvhPyR3P zZm+s0cCd+tin24n7gtPfzArNwsShYiT2p+umI/0Oe6+/AaqawuyW7mUafIQ7jA9 w9+mSp91eytxXjGdzSTnpO+VviYKfLgrx7DDSCwEkSzg5Bpj2YaHoNPWuNQZYQOX YUp5cVI8biFfYWdUag125heBrx0lGzdYMXGomzFKEOuif71JGiBxkwnno6V9iNxU M3lfIMLqOCzCTgyv3MZwg0DKBluBzNeMc5y13T6Ik5ueCtKk76mCXP3WXki172Kb hSjyrEyRVbIze09lGWbLY0A0vqK1vIQEIGBLeFfbuoHLEh5ewnaJBBwEEAEKAAYF AlL4pmoACgkQSUDAj9reqg4vFiAApnjQVzHPyC6AmCsbqZhEpNP7T5k4FMjh1oLg GiiE/Gz1etgKTiqpDUdhWYsn18dG8dxASDLlOI5w/C1KW8IwifDXRS/2ui1cvRGL +KLuCwZtuAFTvWTGKe+oxjzd9wi9R+Oi4SI5RJjoKoxaLhQ+CfkZ7VYRRboU3XC7 rKceWonqp3hdoWg0cvNHbrj5aX5QI7+PsZEPtOMYMLwUR0K+uV3MPEIlFA9k9cEZ q4fhE6wVCpb4UVjwypGusqee8iDV/KhBxBx0nWOkPypc2eBQRRdVegUMNuW58pIq 5v576ncjKpEwPLz2TK+Z2Orgzq2yMYffwebskjbbbjAg6noswtjaV5BG80/RZH2N RjqLVHUDozTznqn21oOs9dZ8L/c0NyXkfPiGq4/iMFLJDylAhEQV4h4WlSS211zv 4uAqwdbjFFNeAm4QGR4iBoaFbDcLnW2XcWdnl51LVhiW/CHqf5Cf5jwNedSKZjFT NaNjhs/TKcjPGdx4K+YLDB3METHmCLJMJZOF8fIzAmxgw3lmE8HN6v5A1iajTgzB yxHFCrf2RG2bKvnPSRJY+VC7TdwZDKYUuwus0qoK00M4/jVOYu1Mzi2FPSfCzxNk y77/8AoU+CecMm1zAZkWup41oC1ogh6RSr1pZpM8TMKALyvdvd5DrYc+VaLJIn2k pAZCL9iS+8OH+couedJnPad7qjjqwHD6mHMcPmHxXo3SuGNJ/2bU6I+SbiPZj+5/ 6f2UPznLVOFJWKaomGPqSVeorzQYGsPuIvITAmT4Mn/1r5QWHUflTaEtB7paCPdI HXu5WkOFr9124XnYj4n/xH7tH+Ytcx346YhvTYJwruof2kizNnslorPlXxrWR4y9 Hkj6HFPDK8aDQzpgtKeul/87zWPdDgTONCzKIff/YLimspuqGykuN06R2ZAKPo4o TVoQlMSvdF3JfARAcdIYiSZ9kG0YjHUUsTTtoRrT8Uetk9xf4mEGstv7/B1YtTay xlWykNJKeWADK8VWzPs3+MoDVRA33leyUSqdmMnrAFMvjSMh078GdVCyy7vhaMjS 3y0s0UrMFwrasTO/R0sx5IQlY7WtIs/zmZY38z/tYsFSfRRu59vchygnKc4sVuJD JkzZ++Xy6XyeG63xgpBFJhEReVUkU3Wuva+X2CKzZMzfcYTRVRZ3owSosqtIJ0jb ALSE70mY20nwc5FaIcqWFoXb06zWhFnpNshXE6H0BNbBJ+55ShwLPyMf1W6daRhq jQmCuckTdYdtc8lIsIlLrg2cGYomvkMnCBF95iYZsdy5sZGnQ15RA5iXB3KimU0K i8JL8dGSjkrvcdLl87oqv46O43vrKkXBUo+qXyo+7cc9/DQBnokCHAQQAQoABgUC UvojbwAKCRBuYgxlYtZrPX8gEADDi4zlSy0QCEl8lVwxKj2IXJDTT4xQyLLc9K75 npmcdJ1xkPz4fpmkQe5WXMxau5C5nR/miClTr9EV6QxtpeHmc6/DD1aS5klO38qs n/rxkjRubdtpr7KxUAHU7CdI8pXNFDShURQgcLX0jIyL4mFyiNhaqnF9+87a9oEv 2tvZwhmnxY3pfw3Ia/r45EQXzumZYb0tbatherQL4P0AF7PRiHnkLqszUgnUZ914 UnxD49L4P2EnI77bf0PkoFf9t+/rOQjeGP7sSZayBVOzROFqj7UUIbE/oRzaB2a9 F3z8gY0MR5Qa3aiv6zoUEYxg7WzREn9SWpC+11fJTWDQ2XFiwgjWWtexJTBTKu7e /fljAmDRe7nm/GUjWl9YZfM3yvkgcEW6kCkBelXWwdOsmmGbIqR3IN9WG8PmO8tk WdjW5+ktv3FyaagLx7vCLR6mIfrjuMgCWC6pYj+QiJcU4BvjDzFcYxvkghUVxMXr GTJWNVinRmtPj2ZVOGMZUp+ZkN5PCy6YW8HQSY93QALghL70ohczO56/6LCnedDp woQ02KD9U2V9c1rUyw+aNqcmXXHIKhYTaJfv6QoKLsUjrfmJhIQmnfDM4BF6yui3 SvQeDTDDyb8326hnm/5VOZ4E7MwyqRFjrJDpL/T+4Mfb4I58QkvekAzakCx92E/E vEPeZokCHAQTAQgABgUCUv4yhAAKCRAsvvT6vCnxLvrYD/9harbaD5p6e6cI8B54 uA4uwvGcIbRV32UHNOez9UlCYi85lk6y3WEztqbkUgkH3FiojffVVlXr9mJd0lwU Nn0pKF0huWIAe+Te529735YQ4m+pxSIH4vBKP1NFOZB5QkA5WwK6yEBG6p6oTtNm Lz5YLQni1lpdeKoWM9KB8Tbx/FTtL6gFZc39EqRKYnrSOLS7gVDJfFS3gDe3fjRM aX/yuZLDGV9LomSaqPxBdrkQgoglrQFXTOaV7uUEykLeAsNVw+wtDRjfoVeokPwz lSzSdF/8EyDfyDQ+KpD8zS7LV/QsnHVMOROcFFxLI662iHIcgHyE6PYz9l4+SCX/ Fecx7WygIlv+/V7JczI28ib2lHMZFnkI8OVaajW9m9FucLaDBezl6D2riRwpWIuT b32xd3Nm26GAhWYEgu2iccMIqXABcY/3YiPupy5GZ36IxFenirxF2n0WPlTzyMyr QJOzARHUN0uIcg8UxiBnRcFFQ33uzB8HYttw1RFkuHTWfLJrNqBqvHmt8Dx6AHCg oLtl0j9o9i8G87xUqrXjyHmH1FIZi5wtTUHupmH/hGACpMBjjwChLVExT85JpQRL rfYQADEZhXSzu1KjNz6F9W8+gAQBctBbv3oLSFHEtr9uLUEy1Vf36JJCuxRs5rym BBiMrb5S558uad6k4+58kIyUnIkCHAQSAQIABgUCUv6EeAAKCRC7XeD9impOcyeM D/4rZTsgBHbskf+UWzFGkGW/gPIUI2HAgpz6VyYCPcfE7OKHnt4NtjOEoI2dLN6G VMKboTKrTIpTgPaKnQxWSR1zWG2wYvFMP1ZkOyfCtqp2dXMFLhEEfB1sBYWN0f68 iAqaEiG6KOKACcAAL+w8mK0BOUsVMONYqvYnKlSOnts8WHeB0QMAtareaRNRhmUe naPgZyCLU5bg2tH8KVkYHEzDfGd2cGj9zhH8S8TtpDNTi+qr+VN3PaTy9HkZdl8f 1CBXYH7NuFpSEmqh2H6mpwahNB2/Y1fzhoZhqGNquQGUCPhoXNUTZOY5kxwIXwv+ SVpBCe6pGU4158JBr2iRj9wk6VYDM/Elz0qOFOELKmxtbplRyc/eLvGDACN5sqAQ vD1/4QnebubK61MPArYRTit4CfBT4DKLQ17Qw/MXy/UoBNVm/zQb7xOXu8iQJQxL vlWZr/boU/q83yXeVbSXPxegyzJBCsUArBXusnPG/GvihKQN5yevyS+o3sHLvTF+ b5waQC96ygvnzmmR4vD4dG/ruPpBdw1cIHy4UiIJ4dqw8JC4M+Ce0awUmtGNKAS0 /VXaFA93ej5wOWhpjDj6mjO7y9/bCphD8jrR/+Hz7qzZdgAPTw1/+i8NsU1dXASI l2Iive/v+CzJyvFmf9XXJcUFMARDi9T2Fzndo8rQf12meYkCHAQSAQoABgUCUv5c 4AAKCRD3Reohn2jQJvjmD/9DWCgWmguSp4JFvH1BkWpLIcHpo8J6wdjOLdi6fyIH 3yIJ7FdB4F3h29yMAnegndMGunRq3s96W4YwWWhWTJey8F7AoUwEwFdl6rfE/x4+ 63B/+u15KwqOzIvv2ofjOnrXkipvJE9OA1SiALbkjMSH3cCb/qFujjwJGUykrWiP jGBn+zMUSUVpgE/0CNrNyAAz5Cj6flI8hPzaLEd3v0ZSg43dD+A9kBu4pafsKajt W34KphyZf5z4mzpqOjIUlrlTRaF/IvvIvwZ9lnMTdIo8qNcpCUAmQyztDkRtQg/s wTfHn3nD3ZN2Qf88H+5OM5Bu9QO9U8MQUT1vPG5Z9qIqFQP55DvXtvtleQ7I/JRU 0fmFIuq8uqqbDSQ3vPUbzt4c0J9gwIFb1qguW/dBZ1d7pnk6om88NYSQpiurVLGg L64IeDBUmFs3HweNFGrrWatmfJjqB8EiTp2QDyr9tFb5K00LUFmrrBq59y6iRMcv rZKp5xGvF22X/zamjDyKx2yXNNdBn4glYGPpnEHbrElErqumUfcYQ2zlUlImG22e Mwx/iOUNhLxnhQ8wjLs9ZJmNLy9mzL9CRS6cl4A4Id8sJzcFkBNav99NwwX5A+2I bkGepHF77SYcOsYkY+5MaWzgeXNzDXxVqyzS7faDp3ne+KwRr+OkN3010FEAIgU+ lokCHAQQAQIABgUCUv90JAAKCRDJbos5REp+x5uZEACoiYYFW+oMq0ktOuSwmvKY l/fBCqAO70kz6n0M8YtiYcAWO4fPj1t3OnY6fPWqS5gCaK5BFBGBmTzWP0tmQOz9 K/5WzJXZ46B0h4BQj9YWJaFDZM9n0j9gcIGklr5zKQ31BNfhzIuqLhUCXuESOwkw kL8mnwlamZtgGNoiUVnJlgKtvB9jGNqMd/XNaMPneK7IRnSxeJHMhgieR81dFZDZ N+Xv2XDKyPy7kxtlGTWW8Rd1lFclZ5wR950wf6c2UaXkD9SwWhiV8L8qaUekCH0K qI5JTFM9V8UfR3WeW9HXdsyRsk1F7Ww1fXr14/jMC5hLR4R8cQOKC8XSvJyio2Gt vXIAlH/N1jZ8+IRrf3vq5Fs+jnaYsln+F8Kc4rQLnmHVrBHsQY4F/VoL4rkvBGaP 7eZNSk2xFTc22z+ouu3XjEawGhohZDvDI3ZBDPj4aH454y0QABXjIXuFxYURUten aaF0H4VwgIjBL9RW5n2LGZyOLFTx2wz3GpvZrk+7HtGRC9IPSCVMFK3SLa0Wtks6 7JzgezKRa4/jZkkkHdPPesTFKWXXMPH4xZT9r83/T9sZ2HQrAUYqRizUa8KyTP0C t8EJI/wKP9D4+W1aJ6owBck1hFvM1s8a30nCKdO0kylYphUh9lOqTWp8y+WyawTo i204Ubb/4VH0sYOVC4opsIkCHAQQAQIABgUCUv+HsgAKCRDmbmdsCUlMFAg8D/0Y txvS4K+9ohCTyH6nOQ72axkRB5p9qkr/KtdmhXVl+pKvIAXnZ0a6X2czFthEVg2F Mi9P2ob2qtXH76iEPBP+CQ7vDLDld92kbDPpGh1/T4dQJbAr/fhOHdghuUXCgKkE npR1nZwW2qCbCe6XdurYRjGRPfVlQegqizogyqVA5Mte7rd7IXO24ssRdGP7WYHo ILNMcHEv1EQ/ckmvE6WV7s9cRMmAQTYCRmE9xubA2//cnmWrQKrxf4tTFHAtPSHT wccQzpMQ5AwOAMW6ugm5gAUYnjhFFG/D9+k23tU3k8ERrHwMP2uHLqSDJjXua0Mi Cg4ZheY39vYrOLUJ9YrPGshhqEyyo1YkSOUmGVxNgoZNiVpuYdhlxsJtnHBUEsDo QYVGdmBOCVMnjjidH9AaRNBuwojKQBvJ/5LOlgCX/hiITBD+DEpuJOZolE/M6AUO DKeaaYbmtYxWneCeNm5vHTjDa5PPzgClOppU9tR8jOWyG9ARoqAH4q6G98l3cLFF G4H6+trC6ECd9Yr4j9Z4Jhw+HsIyIhkrSV/a6yqthya5w1Jjjb9SXX7z9sPTpQSe Ky8hcAxqrOvtvEE3reKIrpfX8OvZFA3TjN/cIeN7ypDs2jW52Kt1zMeaQi1qu3po fp4+vXQkuhQv5si0g0yxXeBIZOutmR3qyPUdv9K7aIkCHAQQAQgABgUCUv9EDAAK CRCyJIuUiUxCYu64D/9bZtzjWJElMoh3pyQKsBf3GaH9dlummgf904QmC/ec1E8x zeiyV2NkxzbTexvUpKAi51ZmEK3PkQdzChVbfaTBWkkGwdEpaJWLQ2rcX5LOhj5Q +HgP6kvEfti7Cb8ddvO65LdSkwpjBS2nhqcX6YOPhNPJJkYxE1NduhsXYJhqopyK RSRz07vlY8O+l014WriF98RpHamBiwCtCQHIMuJmVFq1DrTzwqOIbuQJb9Rd4QP8 4q7Im7HQzGBU/sSrC6vLgkAz7v1TxDv2UqpiZV+tPX4jni8prTHwvMCXxPFJ8+EN c2ZIzbVWsvalxVwC9qSHJONNc6dT+lxg5EbgMtKly+4R+fnB/Zup1DD7zGv+UBaZ JmxopmeJyFgHTORCy3PQWgld+vNYMlZn5xLXNqCMOhEuHMlGGKji4pyjsMqose3B aMT0Qczwr5ssoGy4AA4gipkesEyLN4docLTuH57IVeMzqQvfZHvmUqCYEDDvvcPG MgjroKnzXaujN/wTvaTSwAksM2yNGZMYCpe+k5TMZYCTsrenOQo0CJAK/4y41phY 5/6VIzhJlDOIdyMpjrvD1ewWFZVlbXagiBp2Ixy232PzkCeE0QE9qeMc3dsgctve mnJgeTXJ8dIRVTaF+yqz7I8v3hz0CxKaLqvSXgDFM0Tr9WmFBuwNrmTTAXJpyIhe BBARCAAGBQJS/+mVAAoJEAyYgE84OjZi0m4A/1UR8R8vXjGXjKc6ddcq3vSm6aje 6O0UDWfdoI6Bn0XAAQCbnH1WxTu1KtPwMDZsfXOwHHfU48HJSgjXnqrQntoJ9YkC HAQQAQIABgUCUwAR+wAKCRCYHxhA70mdhBt1EACXEIA/LjhKZyJvhhpPWOQ5wTMD ItgTsM4/Yqt7Hm28zJIhtaNv0f3YXIUSBTYtvCR7772qI92LUJF09IBmDIHwXjvn OfW0MGVOdtcU17ebljjEL3cYzxuiM5FOkbXb7EPN98s+hEWU7fub8R18GN3uQlFV AViTmK/fvZxIWCUNC5ATOcR2a/sG7wxVi17hqOytjB6Vg9E8vQqCSdBNg1dT1GVt 1Ww3yQXFRqm9iLCBdhp0y6xjFQC2AVgl72M4trEepq8/TxUbuk/X/RwUTcIpEtYb Q8DqQzbHpRCguKzqP5YuGCUBwDjSSqTmbCGBKA6PpTyBWjAc5J5SD6168WbasFmt 9C09dRxgK566gQoOSyQ97xkc/7DYIBOJStNqn9h3yjQFGE/CRJl2GJdJmzyy0MdD 1it1zoQGJUWKarTedELo+O5al0+lV3XioK01Ot8rK5FuNuUFCKHFbPzSa58Df1OU 32EoCTbLPq9Df7In1oowstelSX2QqaFgfkVYfknI5V1Qg+KijHAql9lxF6JRP/RF RC9YjkYp2RyNSFOknh4emN1UScCPmIoFySoV/9TqJ0YyOmDvLNcCuGb7ZEi4ZUBt G1bvE2sweSWF1CfzJ0pXBtVzGLK370XU7SP6vr/AB/Ck2MvcFoqvBNWqoc4iXw4e l2YQd0K/rB94VkftQohlBBMRCgAlBQJTALwwHhpodHRwOi8vd3d3LmdvdGhnb29z ZS5uZXQvcGdwLwAKCRC0deIHurWCKTnKAJwOLeQPAdcTD7kzvTmVBgITR3PxsACf bAbaY+gKDi+4J3FzxXOwUBr17amIZQQTEQoAJQUCUwC8OB4aaHR0cDovL3d3dy5n b3RoZ29vc2UubmV0L3BncC8ACgkQlI/WoOEPUC4b+gCfUke/45lHuJ6y1dwnuzru 3BGXFoIAoPDsWPfW9ovGzptucAAkBWHmB2TEiQI7BBMBCgAlBQJTALw/HhpodHRw Oi8vd3d3LmdvdGhnb29zZS5uZXQvcGdwLwAKCRB6BoVCHomQQgCLD/9n4QMh0iK4 7uvaN265VoicJ4d6ixduAuXnyuwmD6KBY415iENNG1KuBMtK/5hhHTTmVJ2+pkAC GrYwoCduYFBd/v+vxYuD3Py7IgK0/Az9J5WbdnRTeMX2sS93jOsiEgGgfTT5UoDd Uhe+Tj3BDSuhNgBI8NPNiUvdEiHk0gT+39aYlbvG4yVuuBG5R+8A+WP03Su8F3FP Bi+CTAiBLrpbdKMZqRpYJC0OD5clOKB4TIFDPvPwkE6IZr/2MZSNX4Nr26sTIn5N dKOeQFSIF+um+4y6TnRLDpuvO2XiWkbCod0/eCDD3xTP/DtsUB9bWMq2ZGXZQxZs c2+EnPBseU9rn38ul89JwQGoxpHHo0yrsXGcnaITPiHemDZzx4/3DfQnB2vFsnij LNDMCEZVa5P8uTIiClqzQSSs1MvU9eBrQJKJ6SY2PG+6QvbGYalXo+BzYtC6L/FZ MErV3IhpBNSu15w+0e1kGW2jEH31m3sfEsqVBb35C6byKMyLldex0gHIew88nVCe Vb+hXxyPGDE0CHOX+eBOmKBLiX5aQrD0p4mBFEmgzh6TwckFNFJQsHmP8UQtmL22 jWgMu4n98ddXuZLTAIzoL9K5v7JRx8kDBDnPSxQvOzzgPsn0R/TJDxFVZfsn38lH z8SVTgyOT5QBeCZJreeDQ2yAo0T3EW26IYkEsQQSAQIAmwUCUwPZ8ZQaaHR0cDov L3d3dy5qZW5zZXJhdC5kZS9maWxlcy9vcGVucGdwL0E0RkYyMjc5LWNlcnQtcG9s aWN5LTIwMTMtMDUtMTcudHh0P3NoYTUxMnN1bT04Yzg1ODJmMjUyOTkyNGRkNjky OTdiNzRjMzQwYTBhMjlhMWMxZDc1YjE4MWJmZjYwMmZkZGQ3OWU3ZjA0OTY0AAoJ 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 FwQLHYq5sU+ofzLhPngSZzRJrTunKijnK9or/dmbM02vmLa6DlAWl/Uj9FZ+WsPR GStp/XBwHTPqdPtQqNSEnvPzEs2hbXX2bT3yyfYMYvg1fcjMSz+PKMyPZP3Lq+aZ o1RH2mZd7sbt0cwpNWGPSj636SWJMs/OxU+snD26lHYTtv0j0HqXOfgSUUXeHzUS uGURtDYtjp2Q2GUvj2ynjkyVoQgjgr3WgLKb/MTxtAJLa7IqrDv2VQnkqOE4Wpm7 CLktPuH8x0geXauO96uPlY9jPRLD1o4JXAsCdZntqXhV34u7pQ2EFdzzk1Onzp4h Ilpq+uvV3oCulKPlo5Y+6Qq1pOjF144rsX+YPNSPrtmIXgQTEQoABgUCUz6voQAK CRD3F89CR4goJOD7AP4wUT4OdiQlh+wl8f5fQPStv9utdjlKjSp+ia8V+njtEgD6 AnYebFsgtvLDKqdIr5k7mszvbUv/UOQZw39n811bC5aJAp0EEgECAIcFAlM/StJk FIAAAAAAEABLQ0Q0MkZGMDBAZGl0aS5tZWh0dHA6Ly9kaXRpLm1lL3BncC9jZXJ0 cy82RTRCMTUyQ0Q5MERFMjkyNUI5N0QzMzg4QkU4NzlCMDI4NzMxRTFDLm5vdGVz LmFzYxsaaHR0cDovL2RpdGkubWUvcGdwLyNwb2xpY3kACgkQMaSRIc1C/wDFThAA lSyoAPf2iTeDO589EmWMsLnSfeFipKeziBph3oSOIyyNK5IRZAMoYy3yaV/H77zk f+AF91ndqIH1cBzyVdQzbKjeP+rOpUQxKhJmbrmetht3yCEyFPWYVTqLdJEhzJG9 +GFfROCyxMOkwkCWdOTrksTAXuluIHJgN3MVyyBP+lNi1r5++jVQ1S3eSs4BvBnG NUq01fggWcdr3JRZPMBAbmm1OalzrO7JaIkSi2yaLZVJoEUrTpn8PsEs9QRM7Pah pykGw1v1mdIO64pNG3CM1U1y35jQizOAgzVWMpZ6fPRT4Pn5VX0d/+Ob2dzj/LP1 GLOgH/d35i52NGGbgmlNzq3tYlRRSyG3ReJy9CU32XhdJ3Lfknd8njkib/5wB+1J CmFNH+5+9eXdfPF93pPtIFnnEmZvm+1WOsNxqVhico/sMOdjSa0094y/POVg4zWK UsPw3wWHKfjZEeHNl4RDQZoF1NyOkT6O3ytR/ItQaAmhLSvVA0fRIHi9l+V4bcMW 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 AQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQID AAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0 NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKT lJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl 5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL /8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHB CSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpj ZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIR AxEAPwBrSEnkkmnJDLJ0XA9TSAnSzHV2/Kp0hjT7qj607ASUUxBS0AFFAC0UAFFI BaKACimAtFABRQAUtABRSARvun6UUDKqQxp91efU1JQIWimAtFABRQAtFABS0AFF IBaKACimAtFABRSAKWgAooARvuN9KKAIKWmAUtABRQAtFAC0UgCigBaKACloAKKA CloAKKACigBaKAEf7jfSigZXpaYhaKAFooAWigBaKQBRTAWikAUtABRQAUtABRQA UUALRQAj/cb6GigCvS0wFooAWigApaAClpAFMaaNerr+dAxhu4h3P5U37bH6N+VK 47AL1D/Cad9qTuDRcOVjhdRn1/KpFkR/usDRcVmh1LTEFFABRQAtFADX/wBW30NF AEFLTAWigBaKACloAa8ixrudgo9TVGXUecRL+JpDSKz3Er/ek/Cmg5/iH4Uih4+q mng8cj8qRQ7cO/FLx2NIYuSKTIPUUATR3Dx9SXX0NXY5FlXKn8KpMzaH0UyQooAW igBH/wBW30ooAr0tMBaKACloAKgublbdM9WPQUhmRJM8zFnJJ/lUfJpDFAFOGAaB kmfXIFODDpmkMcC3sRS8HqCDQMPmHRs/WgMe/H0oAcHqRWKtuQ4YUgNCCYTJnow6 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 t9BnpbHjpJjBI0lIdQ+9DSW7YLnw9rk1WvA9dPvkvAX6yR1dQxooX8tHwGhVFqhp QnmTKPeXWnwCRqYmYsh9BtB0/OMJ4spx8VINic1WxxFs3gAZ8Cxt+Gs/+0buoNMX LyO6XTBtlC2QeN7L3u0qrZvl93hEpOdQs5s/7ZRsgKBUgsMOtNX+opKipvhWztiO Y87gpwbLTUBdzedNCY+RL7N+Nky38H33JzOs+KWaSu1U6D0ekTdJAxtYWfhIq0PZ ML1AXMTS7Gupu4lj+2CLqXG+7FiYUX5xu7zzQM09Gtr6voaTUCq6v+6RHlt+OTUI wxkWMoMZuoDXBdWdCcoN//L895o8DumPEILIQoe2EVMtuARcJTc7z4WM5Il9dhxU P6jVasMFM6R1oIzmrvZs2m+Ex7NT5YvQ4oD1F4B/qYpHomoK9SqUcaSQm3XRORq8 RlfbUcxM9RP6Lsew5xy6VByAxAZSvE50Tj9PfyHta7oGONrwznpQ1ym9k2Q5ZGBd ubzkj6huMN2fALoXysnscfNWQsB8o2hW65fbSSSaoOu77KBz9Kr40Rry5ZO+iQSx BBIBAgCbBQJTA9nxlBpodHRwOi8vd3d3LmplbnNlcmF0LmRlL2ZpbGVzL29wZW5w Z3AvQTRGRjIyNzktY2VydC1wb2xpY3ktMjAxMy0wNS0xNy50eHQ/c2hhNTEyc3Vt PThjODU4MmYyNTI5OTI0ZGQ2OTI5N2I3NGMzNDBhMGEyOWExYzFkNzViMTgxYmZm NjAyZmRkZDc5ZTdmMDQ5NjQACgkQTh95mqT/InnbJB//Ty9avuVHtpbN9iRb/pnr 3mvW/h3JFIzeNXWBtikh+njy0/9wS4DfoXZPXSaNvDJnly4BbURUyUmaznJP2I5h 2kyayeyNEOYYBz67V1XW33ykexJxsRMyL3Xp00PMMppg0azaC3/OTuI/SbNuyAnQ 0Kq2WT7CfYpFi/wQoW81fpXMrKCT8ep79cOpgAxOgFCaO1msDObIk6cgv2wOt6lC gKt5cliVC25asylAwaTPoZMJHIqN1hi48I33YAXeNteqz837/SFQfCamklivFU4Z YFHeDOCahtkCmvaq/NtRJIMPY0Knci+f0Tb61pVJ7dvulgN0SLDA6Ytci/WHiI8G ng+rhsO40gwos1N/92aD+VTggNKy0MBm5ZmoTqHAdpkOpKrw8UwkdGO8RE5q7MXi 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 =tKEn -----END PGP PUBLIC KEY BLOCK-----
<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-----
<robak@FreeBSD.org>
pub 4096R/280E1199 2013-06-17 [expires: 2017-06-17] Key fingerprint = D292 1363 AE61 D2BE 1740 9ED2 D99F C356 280E 1199 uid Bartek Rutkowski <robak@freebsd.org> uid Bartek Rutkowski <contact@robakdesign.com> uid Bartek Rutkowski <r@robakdesign.com> sub 4096R/36F01FFE 2013-06-17 [expires: 2017-06-17]
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG/MacGPG2 v2.0.22 (Darwin) mQINBFG+2CIBEADb+e7GbRvqysoHOegE8lg4lqUJwVV7KQaFdZkILk6vYn4kZjoU S/dLaUuj4/3mRvwnMzv2p7cyw/f6hgvGZhXPb2oZ6YK11fSZv9y1Pjc3yUtonCnF TMaDkk9H+BpEApbU4Rks1mCsgaJA9jlxjSmPeShAib4Om1wBd5OMoMclJ5j5msne hxn5f+8WT7t+PCdRw5ml4FGQfOzDU/dyHt0w/xUzGfdYXp7fr+cfy78UGxnpfenD DdyJwWV2eRf3DPeLywwad+NsK4FnAJ4HO9J/8nyQLqXsV9rw+O4DbD5v7gOvVHqx 4tlDdG0VYPC58uigVKBpBZQSN0odSf6Abe1ZjH4G5x4DtXL+Lr3ENAieNpIscGTN vfaQuLGFUdyvnlJn/UXgRoajEy3ThNqjzumVIlWVhN52x1gEvKvIkz0O6pF/Vx20 eapMV8+vqB5SPBCPEbwPEf/xKM1Tr3QaFkXeIrqsxhhq7qwrkFyPNwuoT4IUQSbo imDf8A0n8sl5uCU2kzQEoEXM1MFBLPD+OPFwyotmI9mUxJUkV4wjFzgfC8Ugg7iT LA49ZXnEUuveBl/emcdXtrrEFJqLY6tIF5NPpHhVLjl69g/D0QpVSThHElPwIptL gKwfM2uic2QTq27cc99EmVUxKhNtL0MfzVRf5JT3uFYSxOjvhS5IedrAOQARAQAB tC9CYXJ0xYJvbWllaiBSdXRrb3dza2kgPGNvbnRhY3RAcm9iYWtkZXNpZ24uY29t PokCPQQTAQoAJwUCUb7YIgIbLwUJB4YfgAULCQgHAwUVCgkICwUWAgMBAAIeAQIX gAAKCRDZn8NWKA4Rme+tD/4mCdONuF9v9+8wsV9sl8xqTOQLPHGert2lfXeQp0RT 2G3jOdtmA9tqqQYTrIg2O0QwE6Yygi5yfdjJ5+moMABChuJY3OJnJ0WBIAxvFd7r q0XzjhC0fR4Vi/1pfkUY3iNQlgGx17mOjWSCX9yaKnqVbozlzoxmrqdWUC1CNOe5 yqHs8S4xZEOXTWqc3so6pMa0iY73Jy/AuEzSWt0/YIufPGL1nTS9fOJmvHJM/mq+ aEmk31VzuI337e21sYLggj29mJwBnHbSu0LXPp4UJTKFjIqyOofQa+m4EpCMs/cs 0QfghjJzMs5qxF43fzbLCO9NvHLibTfNSfS+i1uCkkNgb8cTP/2Lo4yLmv8jHCWD G/LUGYq1SzX0ZxaEL2K0A+svGuAASpgGwWhGiT186cJCi1oDqf2Hg9HbNIIG74G2 uIm+4URelbw5SMzhu6k3aCqbshzydM0RhgImS4uuXDoW/t85KdjLXhfoOhNZMEQg kaYqDyfYcFE7KbNp9QnvTELytIaD95rmDShEMZqlPj3Tw0p28JKfSyc/cjHF/YJM rH8+hWHpsOK/+HaH/MCRfzQnzc/lMoTWoMY7seQvVzQQDO5meK8wFoc3rAVscRl/ OhHc0Gdev3JE99f+YHz/bqto4keXzq844IifUc/BP2PN0UDzwFFJZOXreEmT/oYw 4rQkQmFydGVrIFJ1dGtvd3NraSA8ckByb2Jha2Rlc2lnbi5jb20+iQI9BBMBCgAn BQJRvtsRAhsvBQkHhh+ABQsJCAcDBRUKCQgLBRYCAwEAAh4BAheAAAoJENmfw1Yo DhGZvn0P/3KozTC98BUzNN14KDO2vVpRiDs4ChPhsKtj1Dwb9bk1Sl6fbNVhO09q MlRyMvV2XqrMOiqF7mFnanLTaR8NWNVzouUrQf73vjA7Gg1whE91BhJZGiWPf7i+ Y53D81Va4t6F3Io+fC/YkGXopCd9I1vKLdD5aRfeuvn/u+zKaY+g2oZlHE+y0tS0 XaHVngiUf2i4rG1vGOxdLX/BRvuByDaPZnr3FRrP5Nztmo90Rp+hfjwXMWIYAyeO gzZcAb84PDsN+2WvDY/Z1P2B8psw0AMI634wYNOZ+kik9YVCId8VXuuCIZrxqJ9b kpMIWNBXH5zLdjHh1xbhvssc2i0rsNMv7S6VnCfdekmTefPxGlKcJZxzeanBT6Kk 38TtE3b911ZDbvmJP1okMRKmMuAjPXVysBO9kDa2u1DiUSIUVeq8lYMoDr6R1Tdx ux176YuPof934htr9p/9y5fyHbtNlOzkbnCmIUinqmBk2kgpLe938G31sj/j0vUH IA/HDeSGUJPUTLss0v7/+Ht6yQokrMdQxlHJBeMxxKcyDO92i75YVAAdNPLxY5x5 VecOYWAnuEazXrZo/u9dcOGXk/Dl5DXrhN5Glud5jUNZqo69WuGWveP5PQXfWI5O gT0Sx3WjuLSTYDFPwqLgKB9wqhPOxWrj73ceO43YIuGtPzYys1C1uQINBFG+2CIB EAC6KAf2VSlbfmnebyTmEjSs4TgNYyYcDAxju7/+kuT6b2S56Y5C3FVqYdMcLma/ 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 =0RCA -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<arybchik@FreeBSD.org>
pub 2048R/BB509584A3F4AEE6 2014-12-26 [expires: 2017-12-25] Key fingerprint = C2E0 7B36 3A25 75E5 75EB FF79 BB50 9584 A3F4 AEE6 uid Andrew Rybchenko <arybchenko@solarflare.com> uid Andrew Rybchenko <arybchik@FreeBSD.org> uid Andrew Rybchenko <Andrew.Rybchenko@oktetlabs.ru> uid Andrew Rybchenko <arybchik@gmail.com> sub 2048R/BB28B694A902C314 2014-12-26 [expires: 2017-12-25]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 orsdaAqLj5vYw6Nflb4vp/S3Gbf4cA75xZ+EblfIqKSYv9IDaoPuqSCE24Bn2hbm MrRupcnqzJaorN9wtj1A5IvyudBt5oGSzDUmds5u1JAvWLhW+SgcahBcD/Kf5+fX tXa0MmL3TNB6ajI9oUB7It1pUuDKkZP55TOHClGvjtM2/WxlgJeqIVRg/UScCqfI sLhSh1gUwfSVqXg2K9zkXSKCpQw6biGzrilrABEBAAGJASUEGAEKAA8FAlSdZDUC GwwFCQWjmoAACgkQu1CVhKP0ruZjwQgAztYi3Ir4qlGliLL9khFt2afG5gxXiD5W 4G7zRj6B7mfjizxL/pyYsXdevRmP1to7Q0cMVdcWB8wfbKOE7B3hN8UcIUM0vzeZ K1xtKD47drMq4nrFRn1YBCdo70xle/r7UqmTnKDc24XPeNjgZbGyYQ4RiF2bH8BQ ewrzzbZtgjIw6pfTmXgRaKEasZ6bIxrGuGHzvqUBpqmvIujOMwvL27WK3+J8B1QG W0n+hoczmumzyqKG85EnWwDz/SPhhlvNwW02cvMVKX4m9r/eZSNnofkN+7C2Q3Z2 YISmNznKfhQY1GD9ZNd5lI9N/8ADKhh10sBtlURlTZd0EgZtnhoq/A== =J6zn -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<alonso@FreeBSD.org>
pub 2048R/FF8F6B6D0AACFC67 2014-08-27 [expires: 2017-08-26] Key fingerprint = FED5 7BC8 DEB9 94D9 B52C 0A35 FF8F 6B6D 0AAC FC67 uid Alonso Schaich <alonso@freebsd.org> sub 2048R/34F58C3CB680DE68 2014-08-27 [expires: 2017-08-26]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFP+UtwBCACh77leeox+P475Y3mI6dZq0EcWpgpV0mW3IN+ob9bfeLJLNHdF nfdCiYEDNnybDE2w1eoxR7e5bEYqrFveKjXOfqz/M3U19qxeps2GNms0Hcl7pjQg oaJDAkJi+cQSQ4xk/DWnBFW5MQhMTvm8jkfa6CgCd6XixU16DglT+CFc/70+RYig j/P0YGDzvUdYqThopOjdTCtUp3VQG6a8GQCZ+R9082URwKG0CZQDlWlUZdthHK6T ll07ZHn6VovFPo6oqBpdYoq/mfrxSYMcpOYfUtilqwCiEVTPeAyJzOTrSaGtlh2H tyjKpPuZfgVs617CSM/mQWnpE679sj4/rZ6zABEBAAG0I0Fsb25zbyBTY2hhaWNo IDxhbG9uc29AZnJlZWJzZC5vcmc+iQE9BBMBCgAnBQJT/lLcAhsDBQkFo5qABQsJ CAcDBRUKCQgLBRYDAgEAAh4BAheAAAoJEP+Pa20KrPxnlpwH/jVOKczB6S0e+PWT T69x8tBSJQ7d8lFGyxkK+Pfwj0ExuZsxBWIo9Leu/nw0szaM3448708prpb8Mx+8 67oe2X1k3ostrEoyk9JQQ027v53dMGlnR+SrKihvonawMh7jycjVJu8E/LWPp1nh vX/mhQxLBqYJahampKa7LdkXP4Havb86FGwbGxOx0tVl7W/73agu5iRqKWoXbRzt dLoC7xbPktgKLEMihc/6MFq8GlkaPw4RhAIy2lVcp/I4mGIpSrvo8jVaXyhZ2uLD 0nlXm2xvSsPxn7G+7yPh0P7bhVRNR7vYMBb7kTOc7uRdp3866jf2K6PvSXCkst3q P9elzSm5AQ0EU/5S3AEIAMHS2rg0/gnbTqd3CcOXy+MPnJQ0rCKTGu88cbhlFFYi JKPbMKfy1Bc3c6YqXHWqzWCHF6ZCmsrmj4ObrNudnNf0TJj+WO0gu1Bl2Rp5DUPj aHVrnRRGeCXzvm8rKkT2XK0bEo49ip9bG2Q9yTuIJV3E9JMBM1PSsROJ4GtpafA6 JoQpiBmxp82qr2LfYNWd41/SlaHFHY7dxRF198OhkC3nJSdgkpRm6RH4ywXjLa3o nC3MXfOTHJngkvCE5zg/g0LDScjYIsvGu0lwv6lm5U+u1cWIQhPIH8ZV4uF5oNH2 rHVJpS18DqzbjN4CFVWGKQlEabqdjWpi0nTIW97Us8cAEQEAAYkBJQQYAQoADwUC U/5S3AIbDAUJBaOagAAKCRD/j2ttCqz8Z2VFB/4sevaGCBiKg90zgkO316SpbiFl 8Dz5a+yFV/EiHzhd+ybe8MQ0nHOtd5CFQ8bePf19LXV+I4XCPmLIoF3cC35K5bVO CVw6QLaxcXA7jDtvQwXz9mGje4rLWHRH5hBSM4WufoaKDCrOxalg/fTeeOYw09GI Ikr/yJh/gYtvUevMS4+wlGVSN69YecNE2xjUJzpfGv90veZaIFic0N+Gieqa/1Vc 0rR1SPCsIsrGWSGEy5VOZU13zsKIyvHFRjTULH7/Nd6bD8KW05a7uXYGJawSJo9/ AtWgWIP+1S7v0gGFWhMHXOlzrTzlzwTiEmz7DN2u4pJw4WrVS5h5U0kK29At =dkSO -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<ed@FreeBSD.org>
pub 2048R/A407DC0D9F74246B 2016-03-03 [expires: 2021-03-02] Key fingerprint = F8CB 2A43 4CCA AEE7 F0BF 64A7 A407 DC0D 9F74 246B uid Ed Schouten (FreeBSD, https://freebsd.org/) <ed@freebsd.org> uid Ed Schouten (Nuxi, https://nuxi.nl/) <ed@nuxi.nl> sub 2048R/66C17FAB03333635 2016-03-03 [expires: 2021-03-02]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 BKkzwqnHkk5xEko= =r8Rs -----END PGP PUBLIC KEY BLOCK-----
<cy@FreeBSD.org>
pub 1024D/CC81BA38D8BFCD8E 2000-01-08 Key fingerprint = 8F40 99AC E9E3 7AB7 CB26 AF0C CC81 BA38 D8BF CD8E uid Cy Schubert <Cy.Schubert@komquats.com> uid Cy Schubert <cy@komquats.com> uid Cy Schubert <cy@FreeBSD.org> uid Cy Schubert <Cy.Schubert@cschubert.com> uid Cy Schubert <cy@cschubert.com> uid Cy Schubert <Cy.Schubert@vibsd.org> uid Cy Schubert <cy@vibsd.org> uid Cy Schubert <Cy.Schubert@vibsd.net> uid Cy Schubert <cy@vibsd.net> sub 3072g/F1FECA6C86D691BA 2000-01-08
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBDh3eLMRBADSDmigSXnVCfstguT2c/FR4bttrfue3htwPpsN6k7yayzjQwVl VkRgoNgs/qAq/syDGku29bBpSlpkkT3HYFtFpZqnx3lrlVPpM6wkQ1aBLBCTH8su t3OWALwDZxR36iNQ6IScVrTMj7ZuYJzA7VG9ASGyRjRPLiuWlRq8cn36xQCg/7he 524sgpJrfRar9cN6ZlJynd0EAMX0mKChoifP5/+EqFXYHuLfUUCUi0cNwr/TRT4h wuvKdpbAC8N3VTRb1TUHoRyPtdpEqcYLAXgfGnCBH+h11bm+U0jG2uEMO9vi67KJ aqr4NHrEMmbSJiZVe5kO+lhaSBS80FtqLlT5rEJcE+XueYivijK78+nZ/bxYcVmB ps/fBACpHD+5xhUficxF4ZaoL3RVhD1NJ3hSGyQ0W8+UvgqxL9CXu8b7Q7kQuF2J sNdRd/KQgArs0tGU8nlXBczp/aGe7eGrQwYmEl9HIgJilW7f3zKyU7qsQQMWx6Q9 X683ZbO+gnIWfYoi9JlziGnnQP5ZyPYLmR7v2PLddfqaVwm/b7QmQ3kgU2NodWJl cnQgPEN5LlNjaHViZXJ0QGtvbXF1YXRzLmNvbT6IXwQTEQIAHwIbAwQLBwMCAxUC AwMWAgECHgECF4AFAkBGuNACGQEACgkQzIG6ONi/zY7W1gCZAayRx+w20ORpW9Oj MV7P9Q6zJoYAnjKxX16+bZKWARpl3tLRiq48IlW9iFwEExECABwFAj56EhoCGwME CwcDAgMVAgMDFgIBAh4BAheAAAoJEMyBujjYv82OZcIAnAiRAfMW0X2PjDHnGD5Z Rdafysh6AKDJ/k5DkoOleTubu1VOZenu2ArGz7QdQ3kgU2NodWJlcnQgPGN5QGtv bXF1YXRzLmNvbT6IXAQTEQIAHAUCPnoR7gIbAwQLBwMCAxUCAwMWAgECHgECF4AA CgkQzIG6ONi/zY6mqgCePpaXZllmXBxU+UtWeRgrwJdKhWAAoJeydRHX6CIsc35f rvFUKji6V0/otBxDeSBTY2h1YmVydCA8Y3lARnJlZUJTRC5vcmc+iGEEExECACEF AkknRCsCGwMHCwkIBwMCAQQVAggDBBYCAwECHgECF4AACgkQzIG6ONi/zY69swCg vdxz0lOTo/0U776SfTQvWPd5N9UAoOilZAhy5CkUY7LDLksElCx8PIVQtCdDeSBT Y2h1YmVydCA8Q3kuU2NodWJlcnRAY3NjaHViZXJ0LmNvbT6IYgQTEQIAIgUCVQpy sAIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQzIG6ONi/zY5eTgCfa+4Z UW0r3vhuotcE9GzlQtTHDFkAoN8F7vkLfK6ukt7exSZahuNh9XthtB5DeSBTY2h1 YmVydCA8Y3lAY3NjaHViZXJ0LmNvbT6IYgQTEQIAIgUCVQpzwgIbAwYLCQgHAwIG FQgCCQoLBBYCAwECHgECF4AACgkQzIG6ONi/zY7ORQCg20KZlKPbNMyvVRqr18K/ M0ROCUoAoNoyPyEUWJacG5utiEs9YTpi/pQMtCNDeSBTY2h1YmVydCA8Q3kuU2No dWJlcnRAdmlic2Qub3JnPohiBBMRAgAiBQJVCnRKAhsDBgsJCAcDAgYVCAIJCgsE FgIDAQIeAQIXgAAKCRDMgbo42L/NjjtPAJ0WojYsdgHfLDQcwGjUeY7cno3lGACg ovQk2+AXm5auhvIh+3QmbjRDju+0GkN5IFNjaHViZXJ0IDxjeUB2aWJzZC5vcmc+ iGIEExECACIFAlUKdGMCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEMyB ujjYv82O+eIAn2WG7K4kPIaJQf0lpa04u40gK9uWAJ9o2Jskg7gtaNM29U7sgEwc mUq2LLQjQ3kgU2NodWJlcnQgPEN5LlNjaHViZXJ0QHZpYnNkLm5ldD6IYgQTEQIA IgUCVQp0gQIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQzIG6ONi/zY4N VACfeWeulJElQ3/tjptEbR4G37fwfRgAn3dihEYmyIxoOg+HSggAGZWnSn0ttBpD eSBTY2h1YmVydCA8Y3lAdmlic2QubmV0PohiBBMRAgAiBQJVCnSUAhsDBgsJCAcD AgYVCAIJCgsEFgIDAQIeAQIXgAAKCRDMgbo42L/Njip0AJ4yqMHWFuB6Wjpp8bFk KNYSzKso5wCg/cRIvk5dG737euCplS8yXpbzPf65Aw0EOHd46hAMAMwdd1ckOEri xPDojhNnl06SE2H22+slDhf99pj3yHx5sHIdOHX79sFzxIMRJitDYMPj6NYK/aEo Jguuqa6zZQ+iAFMBoHzWq6MSHvoPKs4fdIRPyvMX86RA6dfSd7ZCLQI2wSbLaF6d fJgJCo1+Le3kXXn11JJPmxiO/CqnS3wy9kJXtwh/CBdyorrWqULzBej5UxE5T7bx brlLOCDaAadWoxTpj0BV89AHxstDqZSt90xkhkn4DIO9ZekX1KHTUPj1WV/cdlJP PT2N286Z4VeSWc39uK50T8X8dryDxUcwYc58yWb/Ffm7/ZFexwGq01uejaClcjrU GvC/RgBYK+X0iP1YTknbzSC0neSRBzZrM2w4DUUdD3yIsxx8Wy2O9vPJI8BD8KVb GI2Ou1WMuF040zT9fBdXQ6MdGGzeMyEstSr/POGxKUAYEY18hKcKctaGxAMZyAcp esqVDNmWn6vQClCbAkbTCD1mpF1Bn5x8vYlLIhkmuquiXsNV6UwybwACAgv/ac6w UunJZnCsOV7BlbtqJuwiRlzNNsYNIjsO5mYqmog2usnXak6On63YNxl1+BUrEqcJ 2CEAZ6r3QIdHNGt0YI/oUk+rA7AuxyHV+kWN4p/BkbiKub3iLVeeSU3gXsNqT9CI UtxKDn8tD4hTI1NXj2uKaZh7PuY6PMClH0oUJHDyN5IG/FtKxAT0c2cHVC+MSq2J GTWHjTVM3B7exDOavjCy+ewn0+3Oz87cps1wGP1W50KbF2NXWyjexZH4MGPXWRD3 EhjbTVjRLnXZgFPd1y4DkIzOAzN0cFE6g/sSMMM9cCY0RwjLotyyW2TdoBsQRUmw TcQ4iDSmP4yAR8CzO8TTF3UT/Fi4GOoxoOs39Wr0CchzD4DnB735QMcvxumPnuTU 3p9YDLkAh6/gRbd/L2V5Vnw5W13CKlwU+H2BOObnWO2GSweCiltS+H2g487SY8FS uabDZHFn8cjnXrdwZfLrsLotvURCd8JH3iIjOVqbRgVIh2RYPgBhEARKWq3ZiEYE GBECAAYFAjh3eOoACgkQzIG6ONi/zY76kQCgnUyrtQfTEKhW93eDpKOWTizEHBoA n0X41k5WrU7jdBtO2vxVbC5wLyUX =o593 -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<matthew@FreeBSD.org>
pub rsa4096/036F6C9EE7F39EBF 2013-09-29 [expires: 2018-04-23] Key fingerprint = 72CF AC21 79BC B024 B5B5 4590 036F 6C9E E7F3 9EBF uid Matthew Seaman <m.seaman@infracaninophile.co.uk> uid Matthew Seaman <matthew.seaman@adestra.com> uid Matthew Seaman <matthew@freebsd.org> sub rsa4096/5D0DFEAF7BFB01B4 2013-09-29 [expires: 2018-04-23] sub rsa4096/BB23AF518E1A4013 2013-10-06 [expires: 2018-04-23] sub rsa4096/E527EC985DBEA0A8 2013-10-06 [expires: 2018-04-23] sub rsa4096/00513F10E0A9E4E7 2013-10-06 [expires: 2018-04-23] sub rsa4096/0AC81803C8520138 2013-10-06 [expires: 2018-04-23]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 TltgBKmhc1GezoTo2Tbw/Ow/Yi3LwPkGUA== =2XEi -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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----- mQINBEqcpnQBEADprno8T+hOoXlhAGyiOGjsfjtof1Qm3e+mCuIEt+xqauPS1tmh Ono29qhbEdEbewNadk3kQuyyDFgikIGby2voNwn//puS8TSrANovB989t/4jaiYz vCzxqY+WBK3VorlF7ZdbRtljYfZj/1lKxU7AtECxVNwAZ6A0Xrbd8jremMnKqIQa cF+pJqPVL4EIxtdZI3lcG2lVA3oyFcp3tjscln2PmkD5NjaIMChtvIQaszy7LzFc XNe0JU+kRsSPIlj/llf7jqnXjHOuDXMKPYOGojQSrGPaiWMq00JMEpDvVkrYCdFL B8iZlValVMBRJuZSz5wd0ZctIeDs63v5Lr1uCbvrAQUpGQuRGzTEAW99D5oVskxs gvwSaE0BMACgXQtArJTOEzB8ZjPPulg/3y/R/cPEfesHhrzI4Q4FqHOc5nmx8E0Q McOc7fEAxBuHLzNRUKfxrI2cPrTLtodfqScZ3Y0p1eBqRmA5TgiLxDMm1arQpUSK 5VvLkQfr6lPq9vESCXs3Oi0Rej+/TNronAbyRQ7BK1PTJ/5ZUHwmzRZlnci/pgdn kRlQgCJiax73J6RAZOeTTtRBhCuLYdyyeGaeV2IfDUf9wveC5PmQSfQVVcWRg1ty mVxIEBYuOCKQgraufOkUzk6COokaCGk0qnBL9T0alXYr3UXLBGjfrkjJGwARAQAB tA9Kb2hhbiB2YW4gU2Vsc3SJAjsEEwECACUCGwECHgECF4ACGQEFAkqcrQ0HCwkI CgcDAgUVCggJCwQWAgMBAAoJEKnIbI3Tro06lFAP/jmtu5ysfv0TM14kxgdRxpls rZeaJOO7Q4iyyLNbDyE8ZRFG3QdUoA7dJf3S2UvfuqN3qwNwYHYO6o1lum2yIfRd MekvLTgUB/yijNyj0ktnAENZXfNtZcVlhk3r2y/NXyQkuBUOC1jm9PZKkjiblZl4 2mAr2GB9N+f58CbqvAhm8QfoTXYqs9aOdYTsunvKF7Rbj9dpGWT7fWiVEXCeox4w MNXCEnS93bGxqbspOe6UP0JiR75DLQaemcoyN/iVR3N9yXUnEetfuSunN/iPcwCk L3gNKgerAPt0jCW9zzUwncLBwSdfWBxIZFED0XzxbEHtsk9Tv5EZPoWYNV2/bi2p YEEHoxDHwTSY72m0L729cafKX0ZUpo66GpOrT2eAotEqDYCXYFleh0iWXxUsehQ/ DEd3xwAwRuUM8TNCBiigE/b2f6NU7gyJkTrkzZ6fm3R3OlHbUEDVIfQs0KERxixA sQS+yyam9Svjvm/1m2u89igT7n6v3wbTU3uLhEakw8toG0jQgUFJte158pSDOmae uJ39DKZq5ht1aqWkf6F1rqG9qYzip2GR/m8TZL0UlR9fMVWLUmJwcig3q+9o5ZAJ Gu+tdUgXRWzsvi6WRKlOb2pohyENKvsAVH221yt+THm+6Pa0EuasUYqgDvvK5XwT JpDUmmOm9p/Yc/z9AiZZiEYEExECAAYFAkqe0REACgkQaOElK32lxTuXfgCfUSra 3VVlY64YX9ROsAHdZmlJ+oYAnimWL68p+mDONkx1yWBxTjUqHQe2iEoEExECAAoF AkqlmDoDBQF4AAoJEBByCxU2vzrtlw0An08H2kBp/XcoZBqDELQZZHVNTEoDAJ9e lb8/+xjWbY5DQaCS7HaPJSm/C4hKBBMRAgAKBQJKpZh7AwUBeAAKCRDXmT7UvdE7 kGbwAJ4wrg6Q9mzAJ4ujuijpA9eoum2SDwCg/3fKQXXK7gk9EJWYjxMuFhsQDZ+J ASAEEgEIAAoFAkqijJsDBQF4AAoJEBCGy9eAtCsPswoH/i6E3xOMHqC0FoxzqyQl czgp412aUyS/LTB6BPNBbqqEc+OkEpB1Isb/W19WJWCr0uCOGewX+tDR4Lv6mxp6 w+eLzybzEDKif/2T6cLua6bacUZzRRxJdhsuJMH23EEirV8114XvEyUM2AuC9kfv /RgpO1mo/fuy1QCNjMfAE/QpLkGT+W070LQope3ZXqi8ooNtWQnsPPkv9K/KakAn df6COa2MFpUtSY4W2hJNJti90N7dmmSG8OmPQygYF9qeM6uMalnhdqCLwnjRJlAu mqMHhUV8J2exoeMyYIDscMly3tTemeXLazKjX1HBT0iKzoXQvUbtfMqki+fS13V4 RfqISgQSEQIACgUCSqKtIQMFAXgACgkQepIbwjxKGAkX1gCg3J0E52v35FKmZ/P1 fEe+eOSm3wAAoIQ+M3iIjWpl4zoc2Pm+fBN+urciiEoEEhECAAoFAkqiiFkDBQF4 AAoJEDbnHCpaky5T4BcAn3YvwSeKCS875LPJgGs1kk5qNr1aAJ4ljDDmPfRerzYs MJvKc8Mx/SpBBYkBIAQSAQIACgUCSqKMjQMFAXgACgkQEe7L7rRk3Q+s3wf/e4pJ JsryHUUFJ59QXnfxnGaOdAN2X/1YGVeTj+T7Hn8zhO1dQSB+k+CoxjhCiKto6cc+ tt2zdJIiUkesc9/ZZ8TtYgTADHWrxgILgItmhV1BA3eZ27WRGsU86g8IDLKJodVq +Hhx2eEb54CrVj6TvhdgFeRc264hqYLpKaog5GE03yfVI10w6H3vknFlgcGcVgGB isOf530DctS+lkE8UJEHJy4dQMBhFikIV28YV2taSFDFk/Rmndvg/0pf5GH0D43/ 9fuV4xVArEBZks64Wp5hj+9wPEfN1aBWEY3mHdozVfwqAuZAEIVpk/G1WqonfnWR TCEtHQHABtH6pTKpeIhKBBIRAgAKBQJKpmFiAwUBeAAKCRD381LPiJXoD9a+AJ4/ 6a9oyCQpEcpzCoHxbHBs87xHJACeIxn2A8Hwa7jcDDp9JT9NUYoe1x6IawQQEQIA KwUCSqZ4HQWDAeKFAB4aaHR0cDovL3d3dy5jYWNlcnQub3JnL2Nwcy5waHAACgkQ 0rsNAWXQ/ViW0QCghJK3kG+DB7p44FNEibFk4YpErFYAoIWhsAMNDZvsWDQ9foPq SKSpAuQ6iEoEEhECAAoFAkqmn9sDBQE8AAoJEPcpr9mBgClU9V4AoPJM4YUfq0dR G3f6vdQ3cVA+MUyHAKC96N65/s5Us1Dly51Nvup5/ZumiYhKBBIRAgAKBQJKpqFP AwUBeAAKCRCLxr+ZNdY9j16GAKCqOLfkdZxy1EPxycMKQNocQdnUVwCfXcOUCkaC RH698o7dAxIKuA+XsJeISgQSEQIACgUCSqahfAMFAXgACgkQHWelwMBq2AbG7QCc DMr0zxuAG+Shd/wLYduDMSEmQXcAn2vm5Ns/rYBx0Ff5pVaE47NgibuBiEoEEhEC AAoFAkqmoaADBQF4AAoJEPGDTqsN2VJBUz0AoL8jYo+L5hmPF7HF9U5/69Vh0XGU AJ0ZtBuW5pHMsw6PoavGaV6Yzw36MYhKBBIRAgAKBQJKpqHvAwUBeAAKCRBHhV2p bRFYvMIkAJ9Z3lnZkr7L0CelhJCllNjZuwOULgCff966Ei9nWGaH1+Rt6qtlx7mT bv2ISgQSEQIACgUCSqaiHQMFAXgACgkQBsUfSegn6dhrqgCeLcfB6loaH0aJsNs9 yeNvcoPOdiMAmwX/+qYtJIwCj/Rq00v97X2x2Cb+iEYEEBECAAYFAkqmrcoACgkQ qs+zhiEbbu/ZbACgt9iysRPmUsm8TZx+FSLiecTnn9wAoPSZ3+pcz9S3ih4sSTAN K0xSamrniEYEEBECAAYFAkqmkcAACgkQub27dH8SNyuZfgCfXBayViaCw5WndUQ7 fQwhhn/JoxYAnRy4z3Es55kDo1vYJtKtowBfJmtuiEYEEBECAAYFAkqmyDcACgkQ NgOy1CrygD5/SwCdGXPwE/0/A0PeA/ZCVPGWZXEdQqYAoJVcqfo1I0MXJPc5cNC+ v0YI1Y9ziQIcBBABCAAGBQJKp2jQAAoJEAmUCUYh2+/UmKYP/0xz2I6zRvAAYfeT qUy4wRy127tzWwv7XlGKxLxev6X8H0FzHQ8klpi7NUxvtiDHkYq7soGeGy5Rq1Sn OnsX4R26MTFFOzFI2mfid9dhEj0g5AV2mGbrzj/pO5RZ0i2Jc6VlAnJYQ6w1rvZt HR8ZDsgYtOJoq6ObQoiFkA/1Ou5vENVIHj0tYdVaFkRxJeYxLMC0lleTCFvP7r72 srfJFuZTQMhlnaW53xiwRJIk8qKnmATwS/gZvYhJgFBsBM/eDUWo3JbL/xvua5MU drqANXfaVcRGITzg1RD+mTFhSu7xEOIjVbhfueZ32Jx6d2WN76nLL7Q7tq6DHssY nl5DN7ZYkdQFm1ia/pgD3k45l9Pz8SBNzcpQpzkZS4U37pyZwA0K9BlVK3qFn9eg PxwDcAX6YsLLLJiTmCvbUbqOyBW0KBbNiAPBWe9y+mbmz3SkljoTOQx1im4nJ4Nf 3Njqnk0GzRsH/QTMwJhWenrYlols0grZuVYNX59TMu90aaVtvHuMuy7KQ0qmFU4n 8CprGGDWUolTXrNs9m+BW0uYgI+y0r5+jgt/mye+IXcqhquL6wpd+nY6t8KQXv2S pw0fxHeUgeYxzezdNRmLeELkm6ralKX4KhlblRixDSmZREJCFffvaZ7WjXPcCHaL Hvt0O3dIvwLvCWGU+Cd7i+rHJvLYiQEcBBABAgAGBQJKp5BmAAoJEDlnPg/70uE5 tHUIAIIScwGH4/3bcXnDSkq6qXR6+ocdAGdsLNdufDoaQ4U9xZdMA0msAWNsCdEE X0bLX+TN076P6ES8UKUJBvesgXPpGWI4/RwXvem8MzuUNwOHSHhp56bFSplAVsov x4QCvDQNxRA+OU4HQ69UYKSyY4p/YHOmjTyckV2wLeWSseUpxAQTKeDYjKQKT39M UDoVbKVoTuiLcprszaJAyAkFVqDRqvwK7Icvz7TZMtyhe6lSraM7wIoKSOOGbvBa 2ctg3EfW0ShqSz9sxMww7yujCw7eBZIBL0Q1yQZBXGsoRaV6Fp3IJKPCT7RsSIz9 BSauDaEcVlKSDiQBHtpk7JZMRKSIRgQTEQIABgUCSqoXPAAKCRAvlRUIquYCLl7l AJ9cMezeVdik/1G/wJwtIkSLKCk4zwCffHBTHe7nDNHXKGnTltXicSuNtkuJAhwE EwECAAYFAkqqF0sACgkQrDCHmqtVsxKo5Q//dP0gnUHyTfzMlf4/Xfz7B8xO1rP0 Cec23hCT5qQPxlBaPKDmtaYaeO0pyrwNnAN1xPJPaGbx6Ocq1aB3AuRQ4aEON++9 HhdsDPiUaJNMy/CFDXD76QPKWyegCsVYh+nggffR7LB+820U7JLXQZA4HD2fhUZ3 c4W/8FZG1hXuHB6E/u92Roi2GruIBXyuYBqJKQ2eJqMFdo3ivRnKh9ijWSBJto05 5dyUp1JSIuEdQbjjOEp4klKo6LEHnsfD7LZEbQl0IGZp3cBeS2iRNjr5p5KAgZcN bLo7yr3v+FmwKbo3JUH8xrj2ThFZ+fEe0zNsQzMjQ65Uu0OCkGraEbnCr9VJHewn O10uRRbDhmQkJSFOVOc201fWdS6BhUFOPzVIZS3JSnc6Jc2POnHg0/pNDSHggtBo U8rhVmIpRT39IBJfgOKV/ZBgVdI/EorIgZ1cJSQHleFbRi3iY3A4Cncvrl0tAwjJ 7ES0Uom/mloKB5TUP4ddDfZMyzL/kb5zABAUISGeqRhyhdvILxAaYXjXdY93ZWLB zxHkJ/QKIIteKwvdpOjwyB1enw/7038lYhfLvsS/VErakAzjevOBtbk7p+XPCguI i9X673NwF3kNdkDPmkkx1Ri4HiuWPOAEdacYfVhzofdLMaxtEOWgBZlv4J2ayPFp yCEj0ZfdXbJ5LDaISgQQEQIACgUCSqawtgMFAXgACgkQctTf+NTD8ZdXxQCbB/mz k9WQmVj8wI9duZKpco5HtVwAn15MhJhTfyZpCT+ULks7tEuXFuu4iEoEEhECAAoF Akqr5wgDBQF4AAoJEFi7lhvQKwF5DHMAn3sMBXRs1+Hmf/PyxGb9u5QgwzUVAJ9o wGUE2OcRHiU0JldEA8ay7UQMEYkBIAQSAQIACgUCSqxXswMFAXgACgkQghIaRUMZ QQ4eBgf/aS5tLIwRZPSB5ABaJ+hYBNqwgQglxNDk4Pt3v5CU3JeYCz9IVkVFwOU/ AmESRWG1k/l+s8dKdqlOloRlgP3apl0mc0AUzJS5bbvkPrxHf6cz/pvxxp7wGwgA leyrehOhAtNWDqQ12y2L5JmBAHzV9WgNSrdZR1Q+1BNqlUOdo/LPim9+MT+rmuS0 xGxZuF4XqxcNNA4MWV+0Y1qd9GCZVtvZlD8xhdac1xkXJ0qbE30Wp12NZnVJ7qS+ pGHXila4ZRVlC5nD9MYyxqtGEQYr8ejE5dP0btfdY7/mQ1cKWx1MyVQYC3v8mWH8 hR0wrUt5l9iVPCs9Rjtw0voJBDQRZYkBIAQSAQIACgUCSqxYZAMFAXgACgkQrfMu 3+Px2PehvQgAtpK8olMmx3qNu8In2f7NkCm2DmBBy8NtO9N9C6CDRUDMmaW+D3uQ H7hpBUVCf3Fpl0WUCCRFiXGr/tK2H3G/JJR98nxqyoSTcijxTCCT77bbm4osPK8V XpPkVNFp8kgM/jQa+3GrqFnRGFZIZ0gNhGJP9vDuBZ0Z5LOS3Uirt6cc2w2MrAXC e609j295GVkRypkZ6RoCEuRiE/5AsGBkAQ67fW6kUXveGxF1MJbReN6qfTOCr6Sg lDKp34UQXtupDvlyuqyOXbU/+ujH4HZdlW//3Hv3t/ww14D8taIYThr4DUeYgG/K CcxWJZIaG3HCsXyDyJxXiuZ13uCRi4RRj4kCIAQSAQIACgUCSq4spQMFATwACgkQ Ndfaqf58fOlKUhAArEERkqZVenEtG3UOr3klsA/zSYXY2lky2sphrBk595/bfWAP 0msECksAELpWhCGuAWjmKMOjtf4+LDpjJJ/WYtK+m7XRoxAqKFOTJV5LHWCeo/Y4 xnEee5r4xq3Hnz2NvExSjfVNhS24zdCzoibZpii2IGuFq4hFmlkbtlsEkFNzd37P XxMlVuR3SaZnxDUYtLWM/5Buu3UHsw3MArWjzkC4x0dal2BAdaWHu3saKWvqECbF igeRUkSqBUIthiNtV2tEnviZeWu0cIYNQWvK2yINf4p9fOQgt8OYxda2+OrA9+LV FqxZlXrLJte/QKrQyxTx2kJZ/Ao96rVVIpOaEvTxy5tbIA1OwOr8kBMkl81Vl0su j2jFggujYRi+a/8pb4HrgWXHEuGX3cjuAprf5/3My07mFBO32t9Oyljrqxo/01EQ 1rutiV+0FIXYFynU8XS8c9fkVRvzGKjiXQmIb8W8Nfl18LBxRhW5kdM8YSKWCVK+ PVphRedlLkcvpIeqJVyDruMWi2mv34P8LcbDeRBjTjRKseyCpWpNGOS4usls/RCZ a9SD2BfJnImk1NDK/9KGi4wcM/Pr+DkK6hk60URY0QxlYjComgHtDYyURI6cgouV I+XBoDNdzhEZH/whH3Fx/9pT4i5Q1+28wmXox2SkReXv0NUUPuphmtuGQUe0JUpv aGFuIHZhbiBTZWxzdCA8am9oYW5zQGdsZXRzamVyLm5ldD6JAjgEEwECACICGwEC HgECF4AFAkqcrREHCwkICgcDAgUVCggJCwQWAgMBAAoJEKnIbI3Tro06YQ8QALhG 83o8eZIMOchaL9NKHsZQmqu+BQiYR3fDmRxmWEVbglyLzIxoz7pAMg3osznOmY16 KMAOe0Y1L/gTtI65pZn8h9n+E+uIh97uWoGtnsfsMkArq+siaJbbxp38y10KmFp5 yzZHr7BKTaBaLF83+mUXanuF/6s76FcljWleFKx+ia7n/BLj0+LKwpFgYqv/UlAM Uvj9ufiH2Xj3xBfgWOm98DCiFYwZExWThI276QvE1xZ72wTyQ05FOjpL/2UzIw4Q SM2/cGZY7riUOypIcFdiXu0AEJ6yKNhsDzplrBpNHYWsAjju2zEizZ5KZ9N07pEG OeZjQ/xk6dN7aamwd25k0yE5SfDPISBLQJV0Nn+J5X+3tqq9uWcao7lMdaJzRPj7 wRDuDwz7zQxlbfut11Ye+SLbMiHu6qbK2ciP7rQ6wKy+fO7x9fqRhWDWFnVeRu1o KfzylQnbgbmNT4pXLvPYos/cc+eLecdIeMREJZCffXb9UFt3yJSLx0tldspG/xiz 1CnLKNfpv4pIvcF/BbeObIK4fRjz1ydUJb3lMwJn49+u+nJcw1228u4schvXNC46 jqITLIIjrIh5Z+TFgXXq1Qu/aT9vKYyv4M7rEMpW3ATvssHb127Lr3H6pEx0cD9n XMbiC8XaQw4u3OQvR5vjphEbRLbyHWNBUPPz5SgaiEYEExECAAYFAkqe0REACgkQ aOElK32lxTv7iwCghs7rqnpD9QH9gWM3loBkYqlf3RUAn2yRd4/0CwM8Oha0zPaT VPJ3CFy2iEoEExECAAoFAkqlmDoDBQF4AAoJEBByCxU2vzrtSj0AoMKqzg7NjLMK fgKalmGoqg6Se3lBAJ4uHBipTkpNhTjfrUNP3qOJxNi/CohKBBMRAgAKBQJKpZh7 AwUBeAAKCRDXmT7UvdE7kBR3AKDntL/LkGSeUPadzXfXEHQq5L9sBwCeIR8ZGqfN QSmLCc1W9paKmKLS1h2JASAEEgEIAAoFAkqijJsDBQF4AAoJEBCGy9eAtCsP5TQH /2c0UomTy3PHgrk9FVJmTRUPMKdkhN5FG6l4hcLtzyNXF0hjYiVxOa8PeFOTh4aO USqtD2PLfuxTwfFbTP+xTfYCKUary6wvlppwVY9xFvGFQ04hYAOTyngY4X1vqKXr HVBesUhcRebvxvvXEpjwGO45qBQLiXQKb8j72lCyT27DAJArz7HFIo6viPWl3xaX yA3JNY50VXXaGc84aD/U62SWrkZwO0b3TTbqaB03t96iOZ1S/td68g6aMJgIPP0e LUeMKUq2XT4ZoYm1mUi+ZC16O8J0FAy/g1hBocyOkyPG/FR4CYVjfBIjJKR8Z+eb c34kZXbAu9NzOnoQgtIcdE2IawQQEQIAKwUCSqZ4HQWDAeKFAB4aaHR0cDovL3d3 dy5jYWNlcnQub3JnL2Nwcy5waHAACgkQ0rsNAWXQ/Vg19QCfS2MPOkQuep2SY7lZ nXyjU3QwF7gAnj2f/3ykDkaWWWgKvE5uDYSDA7/niEoEEhECAAoFAkqmn9sDBQE8 AAoJEPcpr9mBgClUAlsAoN/1rftPXjp1Rs8Qcerym1+faxpQAKCh9s+BYuHoTPw8 toLhon5GeQlQlYhGBBARAgAGBQJKpq3KAAoJEKrPs4YhG27vAZEAn1/mCdoaHfbH fw3qoiwGI/2e5DKZAKDgZmWVPAvk63XiTEMmVBj8wyo2hIhGBBARAgAGBQJKppHD AAoJELm9u3R/EjcrnFYAn3NJXIozeTFIbOgrGDOTT7w7LxTJAJ0agEei1uGo2jKr 0ELOPK0nm4tiPohGBBARAgAGBQJKpsg8AAoJEDYDstQq8oA+AIkAoMvI1BnYmmae YwWPCemCRvVyEzxPAJ9Abd1BMAe+mxiZHCoCssMaoYl7kYkCHAQQAQgABgUCSqdo 2AAKCRAJlAlGIdvv1KFDD/9FbHEMafmTmj70B4Y9UDgT45ZxgBA2krECgp6MWxfH kiITdsUzgsrV8NQrVzk5SnBbFRmMvfnJFMn5onGcK84d+RfstzwvT0r2X/pg/hht LMVyJN1s1SffTaWl8wodk/xrg73767Q+kzhBLxlI9QIjfT7gbWqodb75VR+pD4JQ ZavZqX6upfoP2VRA/tre6SqdDGHzt1VFLExrxA8gRlj5R12hrEETIKrt5F7JH3Ja W+qvKAXQm2qeX0o2SSqNTTxxUNDxKAZHO50hZ46V1CYoIgp3uww9LFAaLfkWVRW4 rqgw+xBb5F1TwmpmsTGLs1OY/BhCy8JCKaTY0fWDKZXFSeJtXcmgtb8IZ7a/KraB l8bRA4DFjZkxfbNyy6VtKhwyPh5atNDMSH2oGxBQHK1bHF0MLFdwwNks4eKr8qhs IfE66K5ws6qDxZ11kAVLx/kvoycPwDpE1hSA8rOZefc9FPlYHpC5OeDpg/qZQX2z ELbBSmb+CZew8Dxzv6UiBYiw0vp2Wzo8JncLBe/MB7iwUK09KDyiizTL+PHucNmm J4PPiq1Cz95S+U9JPXka9xiL5dUVNHU29iqcXONJrglKOPqCx8hBHxGp8QZr9VFq 5tQRSZFCZw887c9B3Ygy59PcUytzIQOGxLUrkzwTzwCMHf1Ocsb39ggLKQPZk/HY E4kBHAQQAQIABgUCSqeQZgAKCRA5Zz4P+9LhOTFZB/99QQuC6qCodfgXgQ3pf9Z+ TQmf0hTCYN71ZTs/CeWyxpCodTbkQ0GBacaRW8taz2vFGS9BVHrK8TJIcopRa/Di PL1qLYfyR8ZxDptsn+8wE1F+iNPEhG0zM7wccJlImVLy0tMqDOoEqIpyAIeVX+Z+ fv7/n1eXbmwDzYFOaEXJ59UJ6ArSva8lWqe+mK8RAuzxK28XI98to14x1ZHF3uNS nl9sKNX70KZTLBJCaEx9kqdJecAME5vVnlYoRtPVOOSAlr/yp5W4ZRD+hF9SjSGN /3uRkEPPfYvLXy7GOT0AKe5JPsCtWL/kRXsSqWKlTBFhWbzxCcAU4mOW4Dt408Vs iEYEExECAAYFAkqqFzwACgkQL5UVCKrmAi5nPwCgxG4oDif++BKOFFWP1cGxxLiD YYYAn3rsN8GzH0HcI4qsxJY7Yzbz87mFiEoEEBECAAoFAkqmsLYDBQF4AAoJEHLU 3/jUw/GXNy0AnRL7CpkPQA76f9I2JqvZhIbcKt/jAJ9d7vpFuzqfha9VDcSZOPkp ovYww4kBIAQSAQIACgUCSqKMnwMFAXgACgkQEe7L7rRk3Q88aAf/XB+HHxJgjDKY x0ZUi4E3VTascK598DtSeGPfm1gN8+QeXESUnewEubF/sDHYRs0fJKIYiSguJUwC q+3LFlpkX8lLhHvEomS4VSp2+T9u0rRqjy2TT4wBiExKxDlQFlz1qU58uJlYOTT2 5KzzLEL0ztNn5ZefJBIwXdzmD+JFQvFjYGTBFwHgiZLNIzMfWie13Hvzr7JHamCz ZLGZi31Hv3iQ/N8NZ1KQ1HMcLfCUATE2iiohH7YQURQk5tCVbg/fVmeDj+1lBjkp 37xhhQ8lwaFajfGmlGZH/MzXXbgWP8A/WCokWMgauSXlkuX0b0O4Jm7QyYqYF8FM he2PJNMIi4hKBBIRAgAKBQJKq+jDAwUBeAAKCRBYu5Yb0CsBeQHTAJ9WhV5Hhi0A HsDvstpNbyqY+tR6iQCdFitxnpiunZ0ERQNHy35SEHAt05SJASAEEgECAAoFAkqs V7MDBQF4AAoJEIISGkVDGUEO/+8H/jOl+90cNdJCXVe0jE0lCAvs/u+h9eea57Wm RfgjqENk7EwRi7o+YrZ4mIeqfGRgNKG/YUrZworNe+f2QDYVDr7CVY871396WnLj 5e6BvTurZQzzQ1E2ku0LRWQhIj5Y8dg40pd3DW9bRzZhN6fCj1d89ZUS/Ghidfa0 pA289y79467Lt174oUKlqAVeTZlCrCnKGLsGVLHhe+CRqJdx74v2hNEOrCXT6Zuo r/ZYcaqoKbh5voYRYMuj2M37E7PnQ0I0vGrartsWMYp6Ci/xgBsgzL6NA0wH745T x3mPPEFJ86ghm0xlAXx/nri753GdbxOEa5mTFUHqrqoyEpcPrlSJASAEEgECAAoF AkqsWGQDBQF4AAoJEK3zLt/j8dj3bqAIALtzduPZ+VTMfRxgALZvRf6/camiVKWa 0dd142UgZMXZTO4/p2yuH/QK6k8Caj+B2xM8jdbjbjnu1UsIEuhGGhLTQuMkFesN 6ZJies8Oz+WiKoqgMXw2ITxLSYTReoNEgxbm2YA6CwQ0cwzsFLuD1I2WjXckBFvp psHACHxvcImm6JvX0o7wNDX4+LeRWwhtbN6n9Vb+5oMgUzIa8Q0nGq/Vwk0v8Vsr mlUu8iVkHHajLF1QYr9qn+ZTaRHBK0qSdJB9DRdklD78usZgLSeQ4ERbbBf9i1BO EHzVMReoiViVB7j23lOjFtet8uRmpZjwd+JWgSaP8HUUCKo+6j5J/rOJAhwEEwEI AAYFAkqsw00ACgkQrDCHmqtVsxJELQ/+OFHqI6Kr9LYspMubm75rfaXVcqUM64xL PcbInrBKJBSG4fARp5oSA3m0SliIwXR04oRz2p6Z1SrDJwHtrbd+ouD7DIKKUe5q klnZqLAAnzzpcm+DK4nVZ2ADhZu9NEJUv1hP06tGA9JVsP5ljftPMxLab4cGhJRk ccbscH2eG1xhc9lAsLMx/WHMrWf8/OTWr9e2L4weJvPCZ3jSdVUUbnlmvOitAdDu 2dPyBMghrsX4/J3jajisCbAdAL1Zpee00HylFktbCu1/58dKFuRk2E8O0f3JN138 unuhQdvbi52G7qj6LMaSo6Yr8t7yMm+FPBd7MVV0n3+oXNsMtpz6tAAbV8tKDeWc nA7cNgLMsfB7cHb6maGcSzcp6G3FiXCo0MLsZrSWFgteGHWXoZhAd0npgFIDrA/g 1FePOHspbQ6OQ+X3sGSYZ5BEqDr3ROBcfL25VnifqY8VDlUt07nIQ/Iw/CqvpmID IwM9ELY99Brtp8KTs7330IlphC6p83xzwpMpp/e0bhEPJcEEJ+qIU+ZTQJRozPMu nGw0CP+t94ZqQZB9hjM6X0S5jiWiIwTpBxTcCwRJueYRLh9ek17sVjxoZF7jAe1G 0GuaD/UGf7gvXrNscHUVGDcjv4vxr4QbDlkWWSoXr0hrjN2pAL9LBwXoprYgNZos 6iwhji5XQf+0IUpvaGFuIHZhbiBTZWxzdCA8am9oYW5zQHN0YWNrLm5sPokCOAQT AQIAIgIbAQIeAQIXgAUCSpytEgcLCQgKBwMCBRUKCAkLBBYCAwEACgkQqchsjdOu jTpkng/9HBXP8DExqefDeANtaNjgKE8IGyZj6mZrIm7ThYpT7/5Gtkp8lxTD/NsI URwxuwjbHras9+q1fVV2nqPc3Dfg+hUSqGiGmm5GjAXEjPyCuMEzWTH2Hmsz3yf0 BHaxuLWV4z5TGngcWRZqg+dySdvs2CPTwIwFrEglMM0JCnr5yoBDvjevlpYZNL7w /4wrxmSrIXq/kype094dlCV4Jp3OYdrYOk30b70ueMsqkX94it55DvF/Tvl1kHtm Qz/x7EGJ0lLJfwQzqgJuw/SA+wHHvvL9mo9xSwyQK1s6CSgyrsdT2FQje81/4Dys tvJSf8+KJljzXjaiTV+IkT8vVMof44MSZjFJKuLOWMEIq6ZMOXg2/Ijnn9m/wOnI DqCPj7WGrEhCjoV8t4n5Ms1pO7H1IA9r/EDRb5J5oXQfM2a9AJIRlDTMR8Rqvo+5 wS2Truuacr6bFfWmoRAFyKNUyI4+L9WhNnritAAUHPjwuHN8qkcK9Ky+tm6fz0bz kJDhYiaVuvFU6ecpXliSG34TFoxNBPv9alyD/l+N2VaV+vAjETMAKzOMy0cstOw2 OuRe3Xl6NEgRwuCboZ/u70nFs/xwhE0xbUt04Hq7rT9XNcZCtX1ri47KMzrnBU2h Xia+XpIZKLtwdL/NGkyv/MuXpmlagXs8jpi5p/CcPtnIFGWPD9CIRgQTEQIABgUC Sp7REQAKCRBo4SUrfaXFO0niAJ9stWn5U3hYZn1oV+F2nt7Ll5S6VwCbBc7L8aUL IsbRfkmp+WL8sh14hYqISgQTEQIACgUCSqWYOgMFAXgACgkQEHILFTa/Ou3ebwCg iLMPOczy8QMLa291EctleMWV4i4AoNrHs413om8KvxynFzO0fK0vCp0diEoEExEC AAoFAkqlmHsDBQF4AAoJENeZPtS90TuQJHgAn3LMLx3OILR29uli5A1c4SMm8l9J AJ9UmfFtCVibAsZ+fsfs0I5h/M6lfIkBIAQSAQgACgUCSqKMmwMFAXgACgkQEIbL 14C0Kw+X7gf/YRfIadsegYou3X33hd2VirBtOgpJ9ilAzq4FSwkStl+RdXd6DPpu vPh0H7nZDBpNvkEb4YUce3TpDKUoPtF0G5njCsSG8oG5uPlfZmZGtJ/0tN+zVo4Q vNdrdH8tzRTfDgxgTTuzH2B4OVKoO5wWeXjQX4z5GgZFoQuLQzOosBG3FAWgYFqL gI2uTI8lL5zSM0W8NO4rcXJTeakeAs8U8ucewmaATb4u1s9pv3Y68HE4e8kz4GFu FSi1tozpPth4UTC40TA/hzd0QTn84Li1QTk6DG3lPI9RO2bSPebIz3RoqDv7ifT3 FxxSYu1tSo8lXl6MN9NBTD9b4vNX9akeoYhKBBIRAgAKBQJKoohZAwUBeAAKCRA2 5xwqWpMuU57JAJ9T5MX8JFWuYwI+/SVvfGc49mTlHgCeLFyH5PhjhNZcwsUDBsn8 EPFAjnqJASAEEgECAAoFAkqijJ8DBQF4AAoJEBHuy+60ZN0PEjoH/jseG5oTwLkb FE3//C2NMK+XfnZ3gcwaRnhG2AXHmlHZ9dhYavASoIV4kendskskyNzlVuBbOt6K C24Oq94P6TWnb3MypOXF7qo3DgPKqpdNDkXW8BbsrGr8mqmj9fZTwdOw0kXHauG4 M+qMVaXvoSUJWzVuaU2bSmBe4E7SSIfUML5SZxs2QTPUBbJex5JmuZ/cHfc648fm bBWVpBvAO0R60er/GjtARsZob3ZFaC0XrVThOjKxcErKVJNXjitGfa8cpR8Yo4ai 9crohIBem3TLUG+DagxH7Hr520wNlFd7/8ovoQKQaSoH9C6JGmEtiCtuI+F4wicy 4h8Jf/iu+QyISgQSEQIACgUCSqZhYgMFAXgACgkQ9/NSz4iV6A9fqQCfYjeHQ1wx Tp81q1XL0klVfYoMp2kAoLYhmT6HtSfBJF8h7s2medA1tFhZiGsEEBECACsFAkqm eB0FgwHihQAeGmh0dHA6Ly93d3cuY2FjZXJ0Lm9yZy9jcHMucGhwAAoJENK7DQFl 0P1YbcQAoI2o7sQLlc0pm85z+yXBfMkMyQm9AKCV9E/WRzFzFux2FxZ9SXrcUGSu rohKBBIRAgAKBQJKpp/bAwUBPAAKCRD3Ka/ZgYApVDzWAJ0RG8tD+3EP7MTBB2Ao cLSbSJbXOQCgtISRwPWhtpRb47Caj4vBQjAYINWISgQSEQIACgUCSqahVgMFAXgA CgkQi8a/mTXWPY8FzQCfWn9ho1I//g7bsxLfwpRif1mpB+QAn2s9BdjtPlzOk8xi x5HC+BNL6hymiEoEEhECAAoFAkqmoYMDBQF4AAoJEB1npcDAatgGr8MAn1xa7PRx x0omDjWRMsRlOJc+CzQzAJ4pDLAcG1GitzChsNteTPN0KAhY2IhKBBIRAgAKBQJK pqGnAwUBeAAKCRDxg06rDdlSQbF1AJ9BMu/ycDYhXvM+idOZa9HLQtdIagCeIRZB +1IzrnO10TQul2UN6MK23XuISgQSEQIACgUCSqah9QMFAXgACgkQR4VdqW0RWLxw 5QCgtVqgBLtlu/lyrcOMAjubiCQyXuMAnjiooTWCrnNBxlbWUV7KY395KKHNiEoE EhECAAoFAkqmoiMDBQF4AAoJEAbFH0noJ+nYBOMAn1iL2htqPg6PeQASMktwkKdE Z0r0AKCDOFQv5vlNY6TTwdCGcALh7gFeH4hGBBARAgAGBQJKpq3KAAoJEKrPs4Yh G27vOl0AnRAeMVU21GpgaWRCJtOaxqY/3aUKAJ9Kmlz9A5KHP7GAToU+DzSbRXEw C4hGBBARAgAGBQJKppHDAAoJELm9u3R/EjcrI70An25tffRYRqLXB3IWwGyMnnUu 6NcWAKCAvX2HJjthy2oSFFc7cG+TE4fs+ohGBBARAgAGBQJKpsg8AAoJEDYDstQq 8oA+VVIAoJEaD9HpqIrMCQHY6gYhiiENixUUAKCjSHS0An2pA3S0IkYkFRbdJQQ5 TYkCHAQQAQgABgUCSqdo2AAKCRAJlAlGIdvv1NH8D/9OTxYi5X9cTBEIrs9c9ElV YFxBPLPmHHDJTCa/nCG9we/g1bGWfjW8a00QkrGLHPF+QFeQZBreHHtIDwU3k55b r5xcrlmroDH0kwJB3hb3ENT2AMN8qR7G69BerCARQaO2kJp5nU7zz/aQvYkKo+Dr aue+Yle9QTNJ7itz9YKgWlO9gSHRFRkJZJYxFMEJUfY3wv4yFiedJFVVvz78QJkX r0jdxxmz2p6q/174Eylqsfx13l8bkUcBLP4iYF4sLPsNXd+ZoQq/rWNa8DLjNwt4 kzsywPvIVfUCqxGpwrhBP69Fe4VOD01UeIbx0JbskGtpNivwQF3Jjd5bhABN0D6p xQE1kcNyGiEiPGiu2c6L3ksTyPtLk21SupQWbqelPCpeLEZugc193GWMOSdWBkfp V182EeNfrdmw/7vDzzWkJWlY+LjPfPOhQq6b7n3ZFvFtMW7C7ABD5vF9AIK8NvZA zXFPoUcuV3AqqDAfe86YdtC56t1PIxZIz3SnrElPPEqxv6wjfvcTi/LWNKHHrgko Tj0oYLSKvwlVY9sb4H8CKfRTOsFBjAaF9t3ePhU0JNqB4lBR4No5UMDsB3syZGjQ yrdt4uGDP0r1R9J6d17jVstvFZ6ASPrX9jE3trU49Hk0HFmjlt2QMqYbi8mpBTgm K1NOvhjvMMj6pywfLuaF0IkBHAQQAQIABgUCSqeQZgAKCRA5Zz4P+9LhOZYkB/9Y pATWkrr/f6Bb/cXclYh023EAuQOhdKHlZshdrcmcyoefLkxRUTS7aPDwb3LKjjY7 vhLQsB4evd5v+WWJyvOao5Nr5icc7fgbgZLiyMLg5UDoaxmiGVuYdMS7eKBVZT1e b9Upkh2j7EOZvhuWy3dw989Du3pHxVCadca83oY2gduq2fnXoNT05IfUlVrgcz+q fCJbyCwAxemE4puK+nyJkpxL6KebgO3PkVCpWPvZwI5W0ytFKiiQuvUIjHmU1zVH btp1DO2yZBM7MlafHLnR//ffFvHAsoeNFyv7EpgFrN0ibqAYaRq3YRzFF2iXZNbl UVGuUXN8GAKeRd1oRt7fiEYEExECAAYFAkqqFzwACgkQL5UVCKrmAi5EFQCeMwiL 2W0nlgb4UP4MCS8emVHH1eIAn0KTmwYV2Wq7WYzNNQ3MA0Rnrw89iEoEEBECAAoF AkqmsLYDBQF4AAoJEHLU3/jUw/GXpyMAn0BSNUeCxIqhsNdhoTWgdJ/9uyeLAJ0R aztsd5ostqGWqCKFPZfTbPkIm4hKBBIRAgAKBQJKq+f8AwUBeAAKCRBYu5Yb0CsB eXKiAJ4y7DB3qqV+QA3cR7KVVGVLp+AkQwCeLbQkzcuO+pPS8iYSNG7xmYb3ImiJ ASAEEgECAAoFAkqsV7MDBQF4AAoJEIISGkVDGUEOmzQH/iU9D5r/sgW68BJtR57y v2EW2+L4Yz04PhoBNBi8e9EmrqGenLNUpIRrTYC3oFui64BcfQKRyck4ptNCkcTM mmU7D0JEqAzgUNG5dcxFK6DwvPWWVN5/f4Iq9doE2DxrSHKBdfDIKmqnGTtehBUr TFULG9Rpsdd9dIqMwITistIZ8UcLvVnu74gdBrPJx4HL2lgUwuwfHQe5n7KzXtIK uCz6gea+OSS/E34q7AUvuKSTDIfKJJm5ibD7FqFvywUa6PQs33ofUoRaCvYO9yJc dWjD3WgEUP7GCaFgaUakuLvypLld8JqevS2tgGNCMDhweSDBb/1Cfl0eLE7X3a2a 03CJASAEEgECAAoFAkqsWGQDBQF4AAoJEK3zLt/j8dj3UBMH/0mpyf0XgzyRH9pW eI+2+XEFZyq6mmOx7ohcJBvQIFbAcg3gb4bd5tZtRj+gTkdDERNHUZDYD0NYO53E QQJRhE9qajs99Mn7oPbXrdcrk6KizMrpnkwFnQJ3i8xLaJCtmnvznBRwh10qiBoo NHyCtcBP2P5IorWRTkTTrd4ISBmnFqPiYI49LCw0lkwbZ8AXTgEolKQNgp/2k9qw TPmjGvgUmppwH9tW4g0J1wge8QmWvATPwUG+yRWYh0PQqYmYacNw7H03k0W1YRrJ WMBetb0HhveGwm1JN9l6T60zI4rSn9dcqcHSltou2NYnDuZpCQujP1PUFb/ah86L 5zK/zr2JAhwEEwEIAAYFAkqsw00ACgkQrDCHmqtVsxJE4Q/+OTEIv69a5ewe9X0J Cg8NOo94OY9eEmlGX+FSgSdyo1g9nfwUFqOLhVFMf4ambbwQD4NAiHeReneXf07+ M14JtI+YzO0nVSlNnFp8J8pDmkjxdvFOUHUfSH5BAzQ1TJoTb/WWGl3RneiHhrpN A8x08FHK399UR/ycagZnKSAwgRF4JQjn4anUu/FQ45MD8nk45l8HaXGLhOKqJQwm bmDVAwH9XeSnaRdcQGBri2lRtPM9qMwFK9yrTkOfT9D00lBuQ/5yKXhm/9T0A0ya tH2EVXkcXfZBxp7vjgZ7Gkn23D9K3nWFWgUCUqzib6JvfpsEpOcJdfmBbgOvywjS B5NUzEpzeRiPH9O1QSpbe1Xm8nPXbl5r74z0M8Xv0DUuCGZD9aN8TpOx9x/ho/p+ PYTmuQh/ZyUfMMJxLVwmYC31w9aXYYhjywVerLtkkTW4fOxbMrCW8aANoxvUHSqJ +xAlUTqXQzNqZzrdf5U95LLPV9DDbCUHyiBWoZr8vjvpSnoYWj7ZRJBcYpIvAib7 7Rgr77KggzJjxNc3bCgM1I83zE+fxMGVYzA7lWDKCsyw9TTNuNAXIoTPYsM9x8wD C78aakJvS/lwOFYXwnFP2PclkX4ne3bQJrRvxKOVG2A3lwFOp8JTnOlkuLK13BbY 4UU0XHlVYnf5OPnNH4ZPKFM0OM60JEpvaGFuIHZhbiBTZWxzdCA8am9oYW5zQEZy ZWVCU0Qub3JnPokCOAQTAQIAIgUCSpy88gIbAQYLCQgHAwIGFQgCCQoLBBYCAwEC HgECF4AACgkQqchsjdOujTocVQ//Rg61eEGjOXsvFq15ESLbMTxVDrJdkjFl3Ikr E3ovWY96HehYVijlz9yU5AXUSeB34LG/NZ/V4k/ana4BN6Tp9jy1CGMpIe7EzXRc e1s8mcmcIOpjFsEy7pycDhkrHRdA3lvsmFxbhi1ckD/lgyopvXRiY615qPW9WlEn TzaNOQV4uqeUNyv5XzkbL4i9HxCdyCuc/5IYO+lrHJl0GuC06BpegSX43omOWU1f GdTo9yWiN6v60A2Wlumd9NeAIQHqwHEt4oODd7D8jXLd2btFIdr50Ro2WSUeOHNP hWndhfUWlwLOLaGddCPGIVnV+mgAjNZtZI1x7D71HshJayGdtw4Q2lUffc7taT91 u6Zbotdw3xRcDGoQ4dqgD/5+rjih1fIyWW5pJjQS+fqbXkGd1Z+38ueVKvNoCO46 067x2eKPnLS/hw5xsrW+LHUWJHrcesA3pDy1vV2N4UAtGydfGumAjaVi8CbV/vtt f09BaqjehW0Q74TmS4AfSlDZSksRShY4UyraeXwXfNSb9WA/nW/yCe4vXrzRMgdg 9FrFaIrzFjPiD/wUrSadbxosQjyNHFXz0YL3FK0HFW5mMc3U7Ih1LrZMvfgnAeXo AKRpYIdaULeuOJnQdUL258hQqJGrJdHmek93DXlC9XyOOWAfl4l4IglG2kN0At7l qS2J7hOIRgQTEQIABgUCSp7REQAKCRBo4SUrfaXFO2jQAKDRXDcYWEclZ/lyuMbV H1sv4zFkMACdEj7UWbxOyIcNq5bBruvyQKBztJ+ISgQTEQIACgUCSqWYOgMFAXgA CgkQEHILFTa/Ou1YuACdFd+gOyNTCpbW3z3+HY83ANMHpZYAnjIgn/j7YfO+C9gy xEa/AvkBet5LiEoEExECAAoFAkqlmHsDBQF4AAoJENeZPtS90TuQrk4AoINKmyrT ITcfPpM3WUt9qfNhCnkMAKCP296Wks82XSy+KnvxEb4YnX7PUYkBIAQSAQgACgUC SqKMmwMFAXgACgkQEIbL14C0Kw/QrggAmRo4Cl2IqVDgTk8ukfiXo/zeZqbq0Fi6 2WwaWsJfZNOT3N5TEZxFMuB7owKrIrG9s66FcUJrxv1CyOHvymNEuHv9ywrRWiQd qr5CH0cZp0t4j6J4cj3UhvT5qm4t0weOrdmcZU1L3Z6bsz9zInxa+YJpopArxZSw 2Qh0A9HFVjjj5RQw3p2CVpHPXZrC6NFCOexi9F6lknQUSu/pjZGrz20ZDXR0Namh 8/XUhYaEqWsaVch2Z8GJ+G8uQy3iUhCavrNvJiduS28E4r7+XT2n8mySOJylE/Od LVEPLQZPLyH+jOHcjX3ipG2r5nyfoNbf6CvLofDQHB3xnWR1ZMoiqYhKBBIRAgAK BQJKoq0hAwUBeAAKCRB6khvCPEoYCQSSAKCT5ASpy0w3h+ZLh4zP65Xkqk4D+wCZ ARcYw1SEFaAz8Cf50AmwRtXrmRyIawQQEQIAKwUCSqZ4HQWDAeKFAB4aaHR0cDov L3d3dy5jYWNlcnQub3JnL2Nwcy5waHAACgkQ0rsNAWXQ/VhM6wCeJJfuGa7n2sLT ej9AuGA5yBUiWYoAoJof1tJ4nrYmxRKeUZHSlZOL9NtriEoEEhECAAoFAkqmn9sD BQE8AAoJEPcpr9mBgClUp0EAn0pplpaD+U0RHMZCAd/eFJv3/6KsAKCLlKxRgx4k II1EeMqvyWfadlRmVYhGBBARAgAGBQJKpq3KAAoJEKrPs4YhG27vDcMAnA1/wyRl RjS37tSWTKRx9uRW6CaiAJ91JIQaXV40Tex/8iuP7XovFIHozohFBBARAgAGBQJK psg8AAoJEDYDstQq8oA+jJoAmORyDQGfcAWdOXGfnJ/94YyF+6AAoJLIoqAXroTg XuctIzNx3dZSjQ2WiEYEEBECAAYFAkqmkcMACgkQub27dH8SNyvDCwCffg6UVuNg Nt/HHfdu0CTBuxsp6zkAoIC6T6QODIbP+XN18bHpyfqEPrCHiQIcBBABCAAGBQJK p2jYAAoJEAmUCUYh2+/UALQP/2Jhpf9ICKc9+OAavpn8x6L0KckqrXZ8UiUHCALC 7+OqQmNrB6BEHF3tT92cvGS2cPUTvu0pOtaH/LyLWohj8MitaLJoTppKT4KQdUaR 3awucs+YlS5OJHJl9T5zl9+dAP52eGjSqq1yx99lNAqugD/MxRC33fbnqfUXEFU/ Wlg5oqYX2q4Fv6pF92EZQl7wp0A72DyH4Wh7DgXk8EKMJMeOYkRbU98AeFnWYnKs l1LBrqs7YNGgRXOLYNsNzq1OPsFLBuUVoSf9DeZTo0l1u7ZMhj8r4JSZpKuADvm7 DnWk42B5QeADmR4nmaLMKExdnAJDkrBzndAzVQCedXMVPAJNX6dHu0CBD9URl6yC RDghm8HI+vU6sAdUyDpCVCsFYDi4XDSBNaiCwPgCFmt202cOyMjCCuJB3cIo4tgv lhbugr4XUkcmZfPPQHCTru8KhAOQuU/EatxG7nk5pxj9tMNgmLBTo08VcDNmSmxJ lsQQFa8jgyHHPMqbgEvSQE1o4LEIGRxkK2lg+GzrpUf1A1EB3QsGHqRXdcOMvd2p h7pxgXa5zx6vpqAWKh4C1sySi6ZA86s7VTEFx7P+E5j5vkEHwpaCmo9OSDvXCK1z +R4DROeYbHMEaJjgpHp96CcZ/4RCuxRK4HlZZsCBtUs4unYFWagIEnZxRIMEDK5C EE5qiQEcBBABAgAGBQJKp5BmAAoJEDlnPg/70uE5fr8H+QEur734aQGUDu5tuwE6 0sR1+B4NmXUITT87LSY2xKGG0FWRenNst88ATmZrRAmRa5cjH0vtybrGQGblB9F8 bADi2VDP+i40cXTk0j5ggglZrbwrk4J0LOA3G9TaNck6F5U88Ep1bPx/ZknV5ofa RO78339/dhSuhHhf28QqjB46GVgH9GMsaiHCnqPZOMcWyk6ATQO5tHD8pkiuZwVc m5IIWM0/VxGj5zH+nM09DHWG74i7ypmxupv3pECwwGtrhaWFFaeJMfHsl++XVj92 z2ljAWtjDi2RsVpK3bwHpcMM2/zyFuG3bmWR4Wm0CFSzzOs4tyEw6nM5b68OT3XC uoOIRgQTEQIABgUCSqoXPAAKCRAvlRUIquYCLou2AJ47rXNnejz4L13rAAnPPDAK 6JgA5ACdEGCHhyUOf6iVdYYZvGN0RCNgiReJAhwEEwECAAYFAkqqF0sACgkQrDCH mqtVsxJ2xBAAipe7WB3YZlnqoDpN4i/ewzqAVlj+wAifDTEXAw4Cx/9NTyT/BklE VAmGMqjpnWeOWNoRrPhulgTHX3qa5hmuooOcUAjtzJrzYFO6DlIK9iM+OqHx+Ez5 2h4ifNJNq8OsfjBWPf1X8S2XTuvRQp/SNkmv3iHktWaBgMUw4zeeGrEvj/0x/b2A 4AdxCCCVOmH81yfMiqg3pkdI37LhX0YY0Tn4QLl/UJ5MlX85CnQsqPzAdZm3o8S9 fSgYLYStBwVAI9oq4nsxmV3UCvqZlubysXuCkj2RjpfcMCLZm++zkPkNpzYpMBsM EzcIl9GFxgKer5xELHy3DcuSNJ22Bx8+1PSSTHTqTm+naCUM4SeO9vqMlks5Og9z TdbG967RgIt0pDJ0AnLWk8jKjLEAHudeSc2gUuTDQf/MDVRZSohCebXA9mBpn7LR QfyeWY0wN3xM4TPDjFsSdJhW47PyGwEwRRJ0yn7CfwZewLHgXkC+8zI4oY/27z88 RZrEueN5ACjVWdCTO6APSQQCecJusRkVLx2Sp7fIHajpOg2D+j5VmbajjCK4/rSo eYOIwHSw6SilkcarueL0zHwNcC33LNDoQU+z0rWaSppFiHCYpwdUxT8J/xwiAgfO B9pXJCOkNO2UUbwu/fnDXhixGASU5AUt5Sz052RpBmY0SWiooXtUyjuISgQQEQIA CgUCSqawtgMFAXgACgkQctTf+NTD8ZcgqACeJgVERcvIWjA9rOfjHD2I5r6fYjQA n0QmJv1u+Rt88lA8VeVTrQUb+Vc7iQEgBBIBAgAKBQJKooyfAwUBeAAKCRAR7svu tGTdD3pJB/4zk5xRyhPEYT6VqV9TanRibwk1bV3yUda/D/ta8RLLN7zhiKIJxz/e X5Arboojlq0wYkS+iPrR/KEKsimY5OKoLDVo6O8GYnHWsfCjO48ilp8vybvKrpNh c5b7U8Z1+4W+13CnujJVho2n2HeRJTh66Z+2fTrfeTc+YViEkljONyw7THgjSq8S S9LrVh4uRlPNpR9J+jFaStRQLYVOmcDPF+TlOkVhFlqenL8sm+6l7Rk2crXnhgg6 rtyXS7EDAQfstVB4CXZEWqW24bgBlf6gfCA4CYHqXY2vZ7PD/2PFdP1KH1L35+oX vABSEregAfqCTz9yfazZTmXaN194O/2giEoEEhECAAoFAkqr5wsDBQF4AAoJEFi7 lhvQKwF5bHEAn2AQIxcn9/Z1AHzgtxg5NAycZB+UAJ9S/z0nRDMQoQjukLfKbO9C FQxBe4kBIAQSAQIACgUCSqxXswMFAXgACgkQghIaRUMZQQ6VZgf/U1wAUbnK27FF MZZiSHXfpnfVs4zNb82GiDXhGGJWdnx+0t7ahbCyihBiWrmANZ9iq7NezQixKnN1 TxGGk2FCFYyqHlLa6R1/DNCoHqiSKHT9xXMjP9AHjVDYNM9PBE5SvBCB2MpFqzaO NunxxPKXfCWEOEDqbqAwDZTTjB7QA7dYXqW9hfzDpodBadeosKw7jHmLkDDJ3h32 0rWkARNLqmduXu9ojrgjysI/sS1hEtP0xO77+ioE/mr+Z8aig9YnwHhHlrJZNwhI OwwFBbicHqDF/DaxmG0c9yqiLneNPi1ChA5wbhv2e2WcpOWVtXjYTO7xay/DuclM TehtzTY9MokBIAQSAQIACgUCSqxYZAMFAXgACgkQrfMu3+Px2PcnYgf+MtMdIIj2 8Ed08dFFiwMCmebERDrWI8i9YrBgSoCIxTHBpEhwZmaOnUp+5zPUKoxzNgnRlX6I l9CJ9DYLH0FqmY/x6jLX5U+PzH2UNVrLc/XvoKYjbXnghS0baYd03HX6/HIrOT0t 1/eiVbhr5+VM7a8JrU8AGLe4AAx3sZ6nuIXQRryb9s5dptJPswmx7lpwgNSfUDL1 YX8eYPQtTqbi1LS2boMrhR+oJxDCJC0SgiY6qAnJ+hiXI9EUNlCujd3bSVqLY1zM vlEuo3yDcaOLjIIbFj3RvbVC8oLNEnRQKMwfMKzngIPYqE4D+uHSjE+CEU+E4HKR fesddlYuYmHk1okCIAQSAQIACgUCSq4spQMFATwACgkQNdfaqf58fOm2GA/+OD2Y QdwK5dbkmXNmDd04p/VDxTThRCHxT4QBZMI5mA8pcgNhSCrnT/lSia14QbcBkEIJ nOtTlsMlbWWb2J6MWf22LL1VserNVTu1I6UvGgZAlV0f+zBLGNidjO1iA0Trtf8h VLv0olHfNsLTA6zaMBCmS4T/WNz4QnAWhdUT97ckkuegIplHjx4Eajyntd3soA+B yNk9EyDYona/3kzeCtLi4+6LszjNrvs0QFAo1PD8i9nPSKf1yMNd5FR6Pg4N4yuC PtZtS/3wqDzBp1kmNCbBHS7EGO0/j3f1s9qhSOOEmdpJqAD/Xj81pwZBPMYtjmjg FNsaZOIw0BY0GexaqZEBzVVvs72YxQjhS+p6acvxrvB6ImkYejf+Cu0+lgPKOP6A uCRd69ay3nUSkF7NteLnU8XrmZoqpE/8cQga/biBh0uLSZyA+bDolvnZAlKAv8oR SXf3DSr0/B9ujZ0smM5gdsyXWgNMupJDum7hGqWcdNSDCvFhgTSSm3naLHvObvtb Kfg2cXYXk6xGA9GquaJxYGLJWkZQwl/XIgcm2COB7W+qbBoxVHY23RGbSRnpM3zw k3RopMRcGFWmO9D/qY0ZsOFEoY2/cOD8Wi9XTLJ/DNy8lrQQZNVKFTsOUykvNIRo T7QlBC+82QKiDLNA7xWT+x2J+XJSX/o3fvZH0+S0L0pvaGFuIHZhbiBTZWxzdCAo R1NXb1Q6Tkw1MCkgPGpvaGFuc0Bnc3dvdC5vcmc+iQI2BBMBAgAgBQJKnOfYAhsB BgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQqchsjdOujTqKkBAAiD+2Va58RCAM xU1qIfMN5eYRbB0zXN9fNi/FNVyB1Z0Ad0Jq96bcxud4Kq4rE5z2u7Op0LjBvRVP DQnK8lF4Go5uV9iZny66l/inQ3i4xunnkfX0XzZEpnfHP2HTNpu/6AbMebnBBg/u fFcgjX40ppJDo6tuTrXb90kE/8U8K12GaKFCMTsnRNPe44ki1+znqTIJBW44sez/ WE9PWNd5TQjTMbsZdx19BeVuK5O8WboqfibF1kIQavVOhc8A23OEx53IKUFgmpc7 35OGWGfU2nkCZz+aWzk4Yrm2pyFmpoPiK0MMJwbe3/EuD7w1laGcQBhrxl/EHDJr eL+T8H8HtIwhdMb7b72NRk/EoqUd1skivExMB/wOqRpaFrfNLbBA2jHMmiJtFt1o blT6dmIy8QvIARebhbyIBheTexQQB7ti1W0o3V+65od21BCeJmufUTOY47cX9YxZ Qw8JURifqxbNzKF7pzbpkkSH9409u9RoC3mEDaVvd6/YujeYgry8O5215QYbeg9r XMC60Sz/qgGx87PAXxrdiHSiOd2l+Yxr3bteeh2brC3PYuWAjkFrq17jU1djgNHe FdrjgQopf+MpOYY3DZBloVQ1l4tis12ho820QgDYwNDZXHzPrQx/heOIWXFAB7Ry jNgEu/nDyvp4QcAxX8f3/BkfanU5oOaISgQTEQIACgUCSqWYOgMFAXgACgkQEHIL FTa/Ou2G2QCg3RF1ypBsZeJbvTAbnGydgMnHwRcAmgKdStMLUpAY9kkVqHjjolm9 u8oZiEoEExECAAoFAkqlmHsDBQF4AAoJENeZPtS90TuQppwAniOvOxTgGnW7xDRe HJnnX3D0aHt7AJwObf7UrFXswH94u4/u7c8Bzd0GnIkBIAQSAQgACgUCSqKMmwMF AXgACgkQEIbL14C0Kw+SFwf+MapiWTS4TuKGnq6t3UOiwcxaNHBX5zjZzlrgce7k v6R/JN/N5CvJKAG264SdaZEsyl8A2W/yQLVhuTxHQA9TtTPa7bDb9DuQ8t4KNGAb Gpz70iMjqDYms+CdVjCy/BRPm3RTSvASROBOnH9GfZx7bcjeoEmjdCkufagFZDY7 +5PKiSpNFWPrxMGX2UNQXVjmrnd65yFW4U1C2SxPyXIIXdw3ROoH56EJOM433Ng0 FWhBu6MJlG5CVA30ndeQJpbu0jXABiNrohOHiTu0WmP3/sjQgOMROM7YWn9tPyqA Fi+FpTIYu6EJEmu8yRm0dgbI8TqI6JEPU2ff+KlKY2w8fohKBBIRAgAKBQJKoq0h AwUBeAAKCRB6khvCPEoYCakwAJ9h3KYMY90ckQNl/XJKYH4/TOOFWACdH6HWEqTm RKBhZno75+7pPkbo2HSISgQSEQIACgUCSqKIWQMFAXgACgkQNuccKlqTLlOk/gCc CD0dO0CEBRSIhb91h+GCfMqVyOQAn0jmi2bU8Lsvi1AynNzLIUTQ+VnwiQEgBBIB AgAKBQJKooyfAwUBeAAKCRAR7svutGTdD5f9B/0aOgmSiHCB7wLIaTMMw3tzxf7c MrPjDG/D58Lq+g3gwXw9G+j21YJJnHuGi/EClVW1xQ3mGRRUHY+YRV5extZ85EpB 8KoYXAkeoGxcBWoPmTSZ2gXQzdvlFZdO4QSt8zn2acgZqqt7ig0t0wjTmXqqw1Gl Y8C8ZfH3rHhUmt/FtEScjf9x/p2ElQpt02yf9HMwIEQHazDKbvwcGBjnKN5rU3nb lF52lx/EquOrTiDcXnjDIIbr/mhAndbptQbHL83bWhOPHvz9ssaXltR0M+dJaHOQ k1L1+jcGhPbjXQ2+wBYTefjGcM+A8A5iFyFmZw0JGYQweKMlANNJ5oW4WHTEiEoE EhECAAoFAkqmYWIDBQF4AAoJEPfzUs+IlegPVJsAoIfBM41Nvf9SjoxfVjQ1bc1b +tQKAKC4YmEmwnyePLoFCPDqIi6KFshbyIhKBBIRAgAKBQJKpp/bAwUBPAAKCRD3 Ka/ZgYApVA9ZAJoDy+2/zbe+CEkVAzwMzf+Byx6XtQCfXEm+v+hL7BGNZIKvjhhA 8OOJE6iISgQSEQIACgUCSqahVgMFAXgACgkQi8a/mTXWPY/9gQCfUzpYaMQjrVmN GntN3+tACykKIeUAoKDP/zc+aMCfymy4VrWq2hr2WlN8iEoEEhECAAoFAkqmoYMD BQF4AAoJEB1npcDAatgGJaUAniNY0RrCqKkv6/YAHLLAp7JyrEROAJ99OBUF7kqB VT3AAtQYPzxC59xz0IhKBBIRAgAKBQJKpqGnAwUBeAAKCRDxg06rDdlSQQSrAKD0 tR47VDrpdhyktUPXj4Ip23iGNACgyFLrT+Z+BJJgP/n3Dng9jaM4pQKISgQSEQIA CgUCSqah9QMFAXgACgkQR4VdqW0RWLy0WACeMUqcWHloNK/yGxDG6DnY96kvbcYA oMb8i5IsLSb+8ux+6NF062lu39P5iEoEEhECAAoFAkqmoiMDBQF4AAoJEAbFH0no J+nYQlUAn1UbvEE0RBzncP6Nae23oU4704v5AKCvwOAlckeaTyHHNXLdkmJmXUid XYhGBBARAgAGBQJKpq3KAAoJEKrPs4YhG27vAWQAn3I3y47Fuc2EPbzyzcGeehEr ckDdAKD+za8qMpmATpJwEm1hceEki0KBKYhGBBARAgAGBQJKppHDAAoJELm9u3R/ EjcrrEMAnj3Khl0tOBDOs4+UCVQwuTM74SyJAJ9eBM8LmD30tryLI2jkHNQYNgQs U4hGBBARAgAGBQJKpsg8AAoJEDYDstQq8oA+NnIAoMnJiXOreLACk0/J1b+EH5wT nPVJAKC4yxYzNNVweL01SZlf75MUay5tlokBHAQQAQIABgUCSqeQZwAKCRA5Zz4P +9LhOTp6B/0dC3ugQaPcSEcqGM4HXiLRZgH6qQbxVOC3JqGTvJ/ECqmeIkJOI3kb WnKHSi/OJ28TcNHR8+1DmhWvLkLUw4gykbWdLhqORI7clJTNbo0ymFxmOw90SOPh kaXdnLTZcofeYESJ5dnZb/cRM9m5x2G/gQitWc24BVCJHMwvRIuPMcLTyugGU2Nn 2mIxyGvsR3kPgw+PVB0UIAxDo/xzqzxc76ITk12dFskad76yyLHI076BbTPqhn5x 1hXbuVnw26iv2c0zEaIpgsTEYumvuofwpATnNLMW1acMi36buBM6ZQi8Eg+GBBSU Z83Ze0JVS/f/TZaS6fiRagPz3WQCpkFPiEYEExECAAYFAkqqFzwACgkQL5UVCKrm Ai7aJwCguIrS8X+BcrLy2TkJdZ32EiaW/m0AnjCMVM1y+/Dx9jPyhvIPYjytpb5T iQIcBBMBAgAGBQJKqhdLAAoJEKwwh5qrVbMS6esQAJVhiIQYADwa/X3ff2lfNsoi oH/fRTA85pze7UU+lDMXEZobPDkX6kHbZE5g4dlTnPCRHGCCfiR83m+UrW4QWSFI K+ET5FKJDHKWLKks5/jROhbj6Tz2w9jkiU2YhCgLKiV1eFLQ9RexBq0PK6H3QLVW kkF/rzD5efvCzVy6Nki8O4WKdSGmjVwaP+BR+Y9FSAXwNPXJRWdTg0Y8vxfrSPBe /c/WHIEDMtvM/UqrT7lE3vyN3QeQdGZrPZO1Uay6RoGtiCfpxFFwY2BhZUeNh89E DsDPXFKOCsdWLLO+Mxurk/2d/tmE+SO63UXbTW5g42aG4Jp2c8YIfPN3w0MLx9LF DpeOCyTyD2HJ1uv81Naw80xVl/JLPJUA6kuE1x+2B9FuFpZuGYY9rToaBblfcq4n tRy46Lpcbb63Wjyb0qsJpkVsY8zNBYd5p6+0/ckdtExqFG2DcLKG+8tnpP1UzKbK 2c95uYvER+g79kvRsBwfDk9vbRqokJ1OB9M23pVyPkcUKFtlcPSXcqi9KwfzZNzb dCixsHN7P358PyDhXLjSp3SE735VRDfu3S7kzgoTk/U2bbJLwoBBs83yBLVSHCNi SFiqsWfirOVUpTyb7M4JbO4NVAw5WwuaiRo4gON9nbSozSGbRx+xv67fV5ISMNBC ba2eAjHBHXKg5oY34KotiEoEEBECAAoFAkqmsLYDBQF4AAoJEHLU3/jUw/GXPukA nAjmsVYRMm7jjiwkQfjAZdqpsFzkAJwJpzYGphIqm4dhYXIUEFjU4BQYwIhKBBIR AgAKBQJKq+cLAwUBeAAKCRBYu5Yb0CsBeSmjAJ9AOeUGojlyqYIcokDRVp6G1RYk OACfS00KlHaPOpAiusBHeaSUq4G/PdWJASAEEgECAAoFAkqsV7MDBQF4AAoJEIIS GkVDGUEOH6EH/2HxohnpEOKCx5YwNP4j1qwnh4vpIqYmVmSRxZ39m9WK5ja+Aaf8 91ZGZVkP9esTFGMmcFyOACJoHwkD7WmtTgifFA2rr+AWDXajAR5jTs/5jZHDSAF2 L1DSLMzmPpBxGYojfYCdJz+UCUkN58hfsYBtjW7ZMbM+WoytQgA+QTkFs800q1qw 9qzLcpkPsEas3mcLYSVqZAVtgaXqXm6/xBA0H8yIIA2mUcJa0cuo5Pzf+Ihe6NXc KgZaIfNW4TKjrIF04MO64SeNhojT32Tksr3y+IcSWkHwZg4Jttr4ENevRoJ7d72h u5qxIFHwJrU8rOtjXmYtTSLUhvWi6iVP+VGJASAEEgECAAoFAkqsWGQDBQF4AAoJ EK3zLt/j8dj3jlQIAL9WD43eQjM3zDcoiaZscoWfsvntxFQShX7DsSVfjhOXFXpM PJfQmLQz6iGM6Mt8fjCXttiCJfDkccvzSi4IDWHTqVEgOSkgIRrTgr7aoAethswA wHLrijzeejYnBGt1jfkXBQ8TEQJeTg0F2HYyzq8Hxw9/QcxQJc72t7/AvMxLtQjZ BJinQkYCRRiA2iQB/74YOAEbGCoiRGoV6ppFt3x9LeB/sNHRt/VYHtNDXZuINMQX TcR6QrLSDW+7C++OU674t475i5Sj5ePf2Nbc+Q0yiql2+AcPjgcgde4SB6Gzztlx puHw8iE4L+/6/8pTft0d9hr+3dd9mKi1jdkIFdqJAiAEEgECAAoFAkquLKUDBQE8 AAoJEDXX2qn+fHzpAykP/jPCD163VJUMXHkn4wjMe0O8sm8QcWKNSyg53hxGVMtS G9EAyAN40YzFn5i6RktEdF18pSe63WuQbsCV3ID5tfxhEAUbie30rLSxzNyyArpb 4hjwf1MohC5pqOxEqtqazrjFDo57tsFIMaS2TpnqA3Y1UEHQcXiuUFzep2JqO7Xr FQktM01DkCkLoAKjAmNFYtSJjtiBwvToJwhU+fCn7s4FdyNmTKtKQDDiaPN2zXuW BbWSWsOR0Q9zVbKRLo3/MwRA7tVyZt/TNaWSyPKtC0hfFnu7MN55kTEMmnPb9lT1 p9+6RiBQ/2677sokwI6QCBhQUsFrJ3AKifaLyIFe4NA4XZutYdDGXGHZhQmeneGN dy0sKsIthlo8Iw8vf6fL15N3LGFBRohWQEgrAYClvId/PCKRQt6la7rXdWszzXhp dtKE5vw/VoLW+nHX7ZkRkbvprE7iHCCWUQ2JisUyOA9LpOnM7kwP6krmHIm1soVg YHp6k2C9mrL1IQPfxNpxd9Lg8+Nzw30rvHkeG14C7v6m7pPwjJUx+TlpTDYM4PT0 Uww0DUQw6dI4AZkqa+pY97Mlpeyy5iI2cYP6gv4Q9a98tSuWuR+XUT3AE9pvPz8z kUUemnxvJa8aBqcdTNDJXmpG4IzdcZBAaCXtpttHKkoF2orI12wyNq2MeJ4PZD+a uQENBEqcp28BCACWoSJTF5/vigvns40TlQh1zapa56fC6fIpao6L4LIc1Xn577CV hwAC2HLbwz/R+nIeFyyH3ktohp1rJs88Dz3mLoSxo7YO2ZQlUYKIwn7MGB4Xn6EP HA+720Xwbc6YtM6IeBq0iCliqbJ5iE42i8S9Zl4v17qChJUI2S4Y934LFdb/+IXe VbLF7vJPF9ylDetTjDN+yT0zLlRz1VpPmyJ/V1D/dMorYGk8Z/3Cdvt0vHxAuv8+ Baz38DxJBdKPBKN0HiG1WWMhtzbogKhefz9rTYgdIzA0JxTWQHyKGDdagXTWwKqQ uPCliC0VFEwYc90yh2jDnJ8S+etRUfZ5RdiDABEBAAGJAz4EGAECAAkFAkqcp28C GwIBKQkQqchsjdOujTrAXSAEGQECAAYFAkqcp28ACgkQRtci7bAC44wGnQf/YEwb HRKF7xRpOb4r/IBam8BLNYkwcecFTXE1A78CRbIJaZDRlm8ILvhdB9/WP3ryIsj2 aj2y4lpXHhXC74I6fPkIUakxUtflWssT1GwJ/wB6ZgvnGwUnUHOBUfNtHX+vEDvm B5hXlCb5MbjFYUdDFcg8m7RDYEbEZmqGJLMi+sbQ2BJ5ZAOeTPR7wkPKJHPtQxFd 637zHgaR+2vSaZKbO/ds8I5oe6kVwGy2e4BjcHqhbYGdmfHiXJsGtdaciKEKIwTb OlDMman7xkWgk6glis0asM3w+k2MEzaP8w+lo6irQ+xIYjifmubOmhLO23xMgKOO VgDdnZUU8Cr9mp67Opq2D/9bV7YN0uziDoJnqAZnL+vpJl9vjAAUVhOypHRalcKJ LVCEqwtvewHqULL8xC7XEWGWt8vvAc10VHEUG6S9H7M0SHNAdf0G8Ui0f3Answr1 wW903S5ySF4BmcFdjCcICL2pXD3g41MQad/p+9r0I0rObC7lyqMffFPo+Wl6Do80 92KPwMaLE1/O1xX2R0aSh84wqtWWlj5v4yVn6jBDWDBcv+qr2LDqeKMNsGPdWc2f x0y3Tnz9KJbocvqyStanYPl0Dfq8yD0XTMVeIG6DdhlMmJ4dBmnO5ImuKx3yVhTp 2bmswV5npoD2EwY6QOLlWnbIhzh7YAxNb5wCN7PEpSdHecHwzaUuAeKMCuidswHg g7RBmLNXg68ca5kFKQPe/wtcsxfilHKP6SsGTGNS3NxXQ4AbMgpQs8v3LazMTC2s uFy9DEWHC5hZza3fxQaOJgNswuZBuB/Z+Xxf10bMjZpCsw9RR9IMyplMSYrEIPVC I4MqLbMApVlFzLRb5gWoenpe9Dq42b8YJnMhqPCb+to5wVopYyypC50lftFJcwNb 96CZj26atAAQTbtkSj1RZEsAaqU0uI5cTWD8ZKntZBfaAzmq5Z6Meknw5WyFz8eI IRUSxU1EYQZBGD1hHIqUIaOwcYXbYOx5eYVu4h1HjbxvzcnmMpzI2zK6aOiQVS0B jLkBDQRKnKfGAQgAo5IPa4TjOvPiF8E8uAdtlpZcTHgDzXITty3bAz2WXUKUIoZj x6gri6+lVWBGl1QQJUh1g5eREk6bTQNcEZS2gDcZ/j7mjfYO0KqmY4cVAKBTRj3S aUzKI7J7hZrAa6UymRJbM5HKkD750pvS4CPzoyFBOparqUyyBqRWr7xIiZN/Mpcp KWKsda/hmX9Ygs1dQivO5+zCUMk5bIkOxb1O5zsbvcWS1pMSP808+ui9+YHmo5tJ msDZdxdI8reTMQ+38l/VUwL++gEKPeHfrWiFZ8RNWzlf1iku2MzF2PARVRkKLnba L6Nivw+Ri+ZBVQ5lza8XktGNCc3NSNeDAXfqtQARAQABiQIfBBgBAgAJBQJKnKfG AhsMAAoJEKnIbI3Tro06sHQQALYnt5n/2IP5WYihIGcC2iZEBbggOrq9XOpFvNco BGO8YZE1MnXXVYUdVqeiYjDyzhjXJMCY+ApQgtFFgHE0T5iePKsE/YAwpOMWW1Gm 9Rl9RjgGsYiADdGu1DME63wAf2LPVVwrVv4Yxl6yi9QBPJZohkfftkVIaLTHlDOq Rkq/Je7FgL5INSnpH4iKEYMtnBH+dFzNhAAtkLbir6ErmKloxnPARbrK5srE5bog Zem6j4SWHvygCIsBJ2+/iAJ7LYYylOG2cmSDNeAT49UBF0SlIc2lAf9hn2sm1pDp 4mXMISVmFRp0C0mQzxrJFsf94GrJqOkK50PWB9VdHQymUMzHsLXbkNS3U2gF7oy9 icT0kPK0IWvHY4XDUlRJUsyxX/3CIXxGzsdnH8tcpYSLzZB0f7rPoYYpFPhOYiEX Upcj69eZGkgjPugOwfAN7HeCZz9OYyMzzXosq4tP0RnBRm0qLEBKNr93lmppQBrC KgfSuB2pXHtpejLgk60nuepQu0XNRvYW6TdVRRNQnTNaMEp10YE5Qv4A2n7tqXk0 FFIujiAG+dke/bDFKxYmxTtCXjm3Co2oB13nlutXrCRMiXk/IOXYApHyKwOFj1p/ JzSiDVAW0y2FYi4wujfgZ2darey6l//4WZZ2EhRhjvUAd1UjBDt55QA+hvrPEU7d XPBvuQENBEqcp+kBCADZWW8oql/CP8dY3djRrsX+uFt0OWHLIcknDU57zz26kpxZ dbwU97fAhBiU3ptwdXd3IVIbrV2qn7ZvlKmmEpI/8VRKHTz2xVdyP7hHQD1XMSnn eudmQOdSuv0V5NbA7LMbdnFMl9tGF1gLVPgNWbfSFMBeFeGeUNea0TrA5aV3S4OV o8/J+CPMIRjqbsxX16t0+wjFA1jZDuLyTWfzRXbRBa8w0CyLMZzv/n9ZDMwm0gBL VbqSVv3gFU6pzJd5BxaBaSp2yNGj76t2vZISTosbdbVBX80UeZ2yqgW7KyauPria sbgAQrG+IF+Qv5UolX3Gw4HcLedli2GCckKr75LDABEBAAGJAh8EGAECAAkFAkqc p+kCGyAACgkQqchsjdOujTreaw/+JBoQp6vcrJ0NtDx1IqlRUvLJv5owCys8B1yd 1rp5vxCUWpI90PbLFuaVYdkmJX2wpCfuXuIYcRv8+nRnKYid041Hk6Ezc/wT569r GS7qR4tau94JnjQP159VCAEFmK73Y0IQfGcb4m/lKtqqFDr7jvyAAg7gQ2bHpM5m C+qSUhmTXrgrrvoF3MFtzhambQ24yk88Fm3kbEj2Q+wFcUw+HkYCSHOcgj2ZYtJj 2AAZJyZ1AmFxEyJ8cn2ZGcikkpUSP40A3MOmdlKyX6Gh1T+VV1sj3ylwCyNf97rx rmSS81zpMlesgglg3vH8fwXMpLsiYBhQBS90pQRVmC6qEpge21EJYq0oXossu4DJ AEqDVOhIa7VUdIkoDp0jeC6R1x9XJKNDK4bxQB156lRJE3IQs/MpOsDUrNON2jcj b7vJn4Oo+tgkemHPIz98GL5AlUTfEn/hsOC1syk7FUWmYck+GXUxhjCR7V5kPFbb dKD2aXoY5TXMfqdj3UD20HKYECACo9gp0jguXGUL8/syRJ6dJW2KM3qA+C+wjvqA q1bNQydVJMolS52Rw9ayW6nexBnvZ2RWc9OCVbMmYDqZfDQaNs5HztPWbKv82mqf k3WY75yj3zMFZ8vcN8d2qXYNQkygbLwy1KLEHgQJaJo/wqFa6TVud7zeGy3/7/ur FIUIjFG5BK4ESpyoPBEMALrDCC0bXcPetvpbfio+iB7/N+e7zhFX4Ysyj2PRufvT Eq/NScVyV9u99jugzylDHMT3sKTO/rfdAwYR9tQFkevukmT/l71BjhNuQkmMG8SL gIxXEO8oqJXklBYMUMZGPGkr5zMER7XKyqA974h3NVOYnjuvAfEX6fHnCJsYXGoy ak9LOp1KUbtM7LfR2QRYM+BoDj59ZP4LHBCDqfQOBkWF6s6bSrMe/myoklPCxUgP ijAUMNAZadd8ltc8hcE45pQqgmpuSS+w6bbuWMvM/dra4i4E7tfTB2IYiEhLie8c IOxIYclbKuuJNCU5UUGotgK/rqPesWSDQMBiXVXNeZvi+PRJTHJi0x8rw37DEyYE y0H5UV9YokJL0Q9yVz0iJhcNYQbrYLPhJZn5og4RHWQZqpfsR+7IZpnLetWCR7z1 KZZQcxQNyw0xoVSe7AOsphGUpowZB6i1J1ROxnWoV3mDwM2I7lntAUajCioyRCOx asNh8/PE49cf5dM/KMqsGwEA42+ZaZSu+96OisK+W70eNyTn9+mxSc/mOd38X7wz ljML/iOAh2k5SK+J0IimL9QmOW/kJzH2DHL8cLvKct+8EgxjI6HlUCQytgeFs0YG qFxrlatOfo0tu4y1W8/FeGeBfTy6CM2j8qCVshKKEIxKMxpqgsIfE3e6SPY+Hc9v nE74cbtAwGzpH9g75Aalcksjynzol6E3nUzGjpTKDWiNWtbWjBLmXAkWZsZ53Ka3 Dml+GJgEeJyC30W9ghqJrBXYtL5tm/1SUAaesdLA0iVoZhiAA21vXquuLllLAZu3 RqnhVCQtTaY+KiMg1SJRbRDImoqsSuBhQchpo24SaVT4VXjdNgs7FOo/ki1ImqVn RfJYRLeQ4QBqkdGVOzgh9dL+9lEZp5b4e2tHLSINsyO6+1/5bs13YW5Vd29kc+Eu NRCooSx6MKBiX4fa3Mja/tjdiR5J+1znTQUG+1rjuftCCP7TBxewdUTP6HS9Yll5 upfwB4G1uJhgZPPM475rng7Ufw0mTYOhCtiQZ+iOgN/Zm72W6fF+58Q87OBKQ0eV HvYAUQv/bYvKNDlKcHq3HDx1gc7ozrVc1m7fOFk5V2a6xonxqTHcspANIsqKKlm4 gbrreIb+grGd0jhgUR8ZzhkXyuFWoruuXP3M13/f+do7+OBiMzEmp2LipZUXohg1 /kz0z20yJweXAEF8wDsOd6UvDmlE6nLcIG4t8n9Q4cjWg0rLj8Vgh+aZE7eKGevJ +MkVru9Y9EhgIhueSh9ZAMoLqrxeBMMMEwe0xLt7pdBgxL8DEkoF34Z9/tISUJme L9/C3Jis97dHXTPr8NjtN5JVNnWUOe9WVLGM3ZwgkWZIA5CVrf0c9pjPYquSm0ez OcyEocJRE9Pv/91ciOGFq9hwP2818u8cKDsPcIOLTLl5K6lV91OQ0yELVzCiY2Wp xpMph4Jpcil3EGBWn7SsMtfpCKEdZs0tj0tvqo5/QQ1YR16zf87l+VP/y0c68FJ+ c494SGVH1/7r2IXl47Mrq3kUtBNlnbUSUkcrDWtRuWHqx4mYHBg+rKZfaOu/tWTI FKMnAUx7iQJ/BBgBAgAJBQJKnKg8AhsCAGoJEKnIbI3Tro06XyAEGREIAAYFAkqc qDwACgkQAEpMHW8nCPQaEQD/bL1Nt1+7/09yLwFEdTraMzTa0kqXTetCabEnbkP/ x8EBALyc7z09/0wC/ObQ/gNDDHWltdxLN79AkzVUdJDfHQaxe0cQAN1sPcBCz3Iv JeUmuQncfdQzV760IJ2f4bcVEDKPOdxL1sYab0SrOEGm1IaTR8ChKPfjgTcNdjaf a+rp94UBND+CTsuzIW2Y+5njbQcoRr+3yc4mKaczUPBUYPHX36vXCsPd58Wkziwb EKtRfrUGk0BuH0gTduKpEs9gcUq4444MDgW0We4AjZ4gHiJPp7FsmrFfQOJ9Vnhv UzeyQndFjIDuQcZd7rO2ZW13hWH+WiVRjK0o2dOgOuU6DIF79n+V8eIQ0z19boI4 DlvwW3+MEBhsypRPNmUc0y6zmgbRJlHZEWquIETdzjOOnqrvZsA4BuTpdoXHbEZ5 fDG2ccpxZLvBmbYxntrcgh/AelusoU9+jLRmkuOgY7ReeVPddpCt9PEOvqoznQ9m seo9AXGqcozI0I5ccalxbLbYoGxBeFH8KSuNo2LeiAB6GBsrQl7KxeWd6XQ0wp7c 3t5ivNSiH8tDctz/+dw8lZWEcGo9QmTKWqM9JPfzn/QuYVjVPZ3v85+FX0voXQef mGJpGH8Ksya7newDfQmg739PK/5OSkL4c7/ArPx3bNgyWeYGI4mDLXQa9qYHbbln G6dRXtaZU810EuC0B4w5MWPOCGEx85J9jlqnZpHa4nYGrSig5vj+OFm4Ydpr+YJC hwFtR9YUukVrs1qqWmR2OgnRBViMTPBYuQQNBEqcqGUQEACcNiCSpyE+J5UfeYiR vi/YIfpIdieu74nqRT5nTuyCnoc9SQFRqsNPKLAov0SaA+acvWqLaUmsnlLrLvkN cmTW+s1EK+VJCxoLxsNEcWv1C0vA+uBIhWU0cdmUFIust+NARAokf12PoGWZxK24 S5F3XAAg8Sq+GSgDQhOU0ZvFcH4Rrl0X+thvdhUDOgMAlWIy6IHpkOYeiqM0sSXQ zENWpkXPCZJvO/mUnj/feDgksm+vacS8ENOV7LuS+dzGtmY/dyRQyNCxa65GOeMC UQz7ZbxtyPlw2M5jJEe4tcUUZM1ro7lZoBVaWO8i/9lX1vmSYSdf6tc6NvvI8X4D 3Cwl8aToBOG3nTCmzE+oTV4wNan/mZktYHi4ptFSQR22wdbsFLko+0N2bJhvglKj UwEkJSV0o0RCy1F4tQTgTNmXs5uxkID1fnVPsr+dFjZrJyXBlWKAbZZPiTAC3LJ8 PKBPMGyOb0Mdbu1Ii5rnxdpoJHJEvPVaXWK6RgNXJs9X7Uo/kq0BOdhtbV5P8Guk oHlZzQmWrZtENuYRgU0OA93C86RS7lpEAz/M51rvyZnaX0UPzkn+ZC8nSEQNoQi3 EHo7e91PlDwWKv3tjTBzQdAPS9iLmS6NN30IlFAmZXaaV+80Ypgj5z0iVD11mf2a YmMYXBaJkWZyqQW8Wclv5uCqmwADBhAAjD1WwzPbYUpSmdwC/M4Uzj7iHSSavd3k 1of6RoOz1pX2gTW6i/xBrGKjUH3KLOiunvZSe6x3211E/ptJuIktKVelizjGOaTR pA+VH6nPJS+OrD8SS+Te02CKyH7hb4Bu0mhiaXryNvRp7XzCdLk2GoVQIJf/b4wT SUsGutSiAsud9QuwQEU+BHQGaBs1w9MmQkvd0uUWE+r7FdFQIW/VzJVVfHeO4goD CHijBspGBxcbowA1S0slfh6AA817Pugc25oV3QkMNsmXEo7hgxLKOLzDx5Zn+LCJ j5vVBuSRtTOeTYpPvUZ56zWlpiFe5qdjPDa+MwqimYt6h/RSXufW3wvk0tdju12u Yi/GvBNTSZxQ++EjI0MGpfKMeD6zFaeHkLNfgfmfHygFoYva6+0N0ay9I1nW2axR +MjrgN4pBIp1T8l2mnIxP0Dz1DlhxeNnh6xEotPdB/gmHFCoPvfAAY8TXrS7dLcH +ambaNIKBwpQjT7U7bA9NDtUXQ3+KyjR1HeotY5p9TK0yiNgREaESMCea4kDzpZR vwk3JRh4sI6znH+YTBM4OWDABYrDMKH0P9N5LlBbGDppuwIZ2TxjuFHe5DXY2RC6 D8MDlcgBl6vhb4ahZ7ZHQtF882m9TUsCzpWsZQF7HKaPXJ0S7UdpwNKch3YGJOsY f6+aENudm0aJAh8EGAECAAkFAkqcqGUCGwwACgkQqchsjdOujTpWPg//Vm3WqBHw 4RJINOy3+bjiUR/GN8UORBoxb+vTqSIgIu6FzL+QYlPSTu3otrH6wvaKKHDUsAFK kjlRlxk214GogzhsVQLlE4pIrXp4Eh3Mx5DQ7RSsZ9EwhBYjoEZYU78TnDM1Q+4y UyfSSkeD9ry3FOFZg6icFnGaqDgCnSXIS4+fJ2AUVpzDtSxIDbs5sV6DuEVkhkOn lbziXwOjYmePE1ejKoMwGeJevfyrsKs/xIeKqpWxVUTGSp4PDgJvI+3YkgpiFYTi Av/GgMF8W6qXYKpa/xm+JINHZF/eGczGumSZHjopTb3hMdLQmOkhK7Qa/1SBShgm G8eB78OY5iA2qFWe8c6ramzga+ZCu2hq6+v2ZtJT6Y9XclVVpvxxCiswkOY+ihDK 4b7gmcd939TpzlQWp5XnLaL2qVu2C3pFoKxcT2WnQXHj8f0BPVy/BQkmUOeGiR7e 0mB+TaNDxWZ2avq7cctJwFoiq1eJRlaEahVzcu5Ldh8079xPiaKX55m+aJGKCR+a ApXoqrdWcKbMxsWnsWpy/4+uBCanejj0giCXGN7LVv/d29nT6NMoHaOpqhEsORul ZsWbhT5+7Wpjs7JXWN4Jm7A+Apn2tjk/EUy+sWOZD42baWtM0Jcuv5uuTCiAtYs1 jJLQtFy144uCNLgL5JagmqMiXx9rL6dHFHc= =sXgu -----END PGP PUBLIC KEY BLOCK-----
<lev@FreeBSD.org>
pub 4096R/EAB03C58BFDC478F 2013-12-01 [expires: 2018-11-30] Key fingerprint = F96D 1CA0 B5F4 318B 674B 330A EAB0 3C58 BFDC 478F uid Lev Serebryakov <lev@serebryakov.spb.ru> uid Lev Serebryakov <lev@FreeBSD.org> uid Lev Serebryakov <blacklion@gmail.com> uid Lev Serebryakov <lserebryakov@smprc.ru> uid Lev Serebryakov <serebryakov@devexperts.com> sub 4096R/AE6ABA6A21EFC325 2013-12-01 [expires: 2023-11-29]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 5qKk4Zor8Zg1H4B3ptSaiQqzHg== =3UzD -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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-----
<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 mQGiBDqpHqIRBACDazER4MfiNd6QrTZ925IKM0HuYP1YN6uodGYhCuBGb1a4cFnt 0Xuw1fuaGqahBnNmBg7Rsetaf7b7/w90Of286mRBgIJIr33VxaKd+lW8l6ORQK9K bDR8/IpgHxjt8LXNdBr0/Eddj6mOPojooIDOmoGyj0XOlRb5bq+xWlDtAwCgnjQa KG01en2qMUwrvPPZzyWg/qkD/3q+NyOVyi0MAgXdYNxI0tMrDPsRzmbvG8wxZQ1S fGHGJEvlKhksePCteX3cLicrxRZazfIteiBXL+0iEvSauF7JZzhG5OfbLTQS2MKr d0rFCSmez4VAJfx8nqJoA4C+yTphxAlyP53JKF2BmRbfSuz4vIbi0e+zsc+kZehS 7Tw+A/9tanL63z5D8qmPZAE1JqRJfyDnTthzUPPY9h1CEZN4jtcdL/FLME2TmKva 5kcgp0WTAGK0tHsyHvij7KZDAp8Z2R8/456DpS0Rk5vTBy+WKMWV+j+RlRlSAr1U bkg6cEtMKCImXsprST8UImfJH0DFUXt15gQ4ogog2xPnuvk3/LQiSmVzcGVyIFNr cml2ZXIgPGplc3BlckBza3JpdmVyLmRrPohXBBMRAgAXBQI6qR6iBQsHCgMEAxUD AgMWAgECF4AACgkQIqvw7PlWHDE3ugCfa3zgBbxwCmIGGlSrwWPP0q+IGsAAnjuy GZPJgHaWjAn+SrRftnZu9M0biJwEEAEBAAYFAjqpRasACgkQH3+pCANY/L0+bwP/ YrW19JdTDG7fDCYbwgn1ngA1y+nRT25G+ozBUJt5q0H8VL6nrWwcbfk9Yg6jWkIx Qs2SF1A9yv0YXFqN1ihGYk0iTU/peZ17wP/TIvd+zkcrzXpdHrfrOy+xgalbi7+c v52W/49xYvqBsmk0CDRSkdkYt3VgvK4Bo7xoBF4IEl6IRgQQEQIABgUCOqoEkQAK CRBHg9f1XdH7jORAAKCxXIkp49PFrGbiM+JBIsMS+Ig2bwCfXeekX2maFMz4I8pf AorI1IepXYaIRgQQEQIABgUCOqqpywAKCRA5SqH23klAVvt2AJ9kzNRR0EjI09CQ TQ/m/Rr1/LCjCQCguXoX2XJHP/+HEFs2THnDfoLU/taIRgQQEQIABgUCOqzL6QAK CRAKdbF0qMx7Ulw4AJ4oKf0ufrvJ5tus51E5w8dRFTx4PQCeOfwDs+ergM+7Rp2N Borm6mrF18qIRgQQEQIABgUCOrIYawAKCRBMkXPzcEhgNMzHAJ4oa4hCoZOp4bG9 +9pCThBAKY2NYwCg7tQ9eNJdqMCEXGK/4m267Ln9QfGIRgQQEQIABgUCOrIYegAK CRAwsbGPZ4yL3Zh/AKClN3cei8gFogDQH61mdjagTzuGBwCcDCt4N+tz+Vwb6zlF vrUUqSdTMe6IRgQQEQIABgUCOrWzFAAKCRCykdjYZOuTLtrtAKCXRt59ypkFvQQc f1HY29CrzPvh9QCgmpBh23D7Tb11yoM3i0/g37vIQ4CIRgQQEQIABgUCO3lDNgAK CRDXYxq7nko3rv1CAKCLUGNAVyZsp5TXrCuse0/yF96vSwCbBl4Tm2/MZj/phNKC UwjGw2eTN4OIRgQQEQIABgUCPBdmcQAKCRBJ9Xw5GLJJGyr3AKCZx1BGvYveU2GT TaZ8X32klZsx9QCgzO/N422XbR5PIpnxt0FXKqSMFxiIRgQQEQIABgUCPEnw/wAK CRBUdQxFFW0hZNZjAJ4tMdQoxwZQj3il91ndSrGUD5cWUgCePQueyaYG8JCruXDX KTB5f1YZN3G0IEplc3BlciBTa3JpdmVyIDxqZXNwZXJAd2hlZWwuZGs+iFcEExEC ABcFAjqpKJgFCwcKAwQDFQMCAxYCAQIXgAAKCRAiq/Ds+VYcMazBAKCMqcWbk7gC hYm53EL6HVDoxaeDOQCfa6bEjXrcxW/EST0FlCMcs2LKoXSInAQQAQEABgUCOqlF vwAKCRAff6kIA1j8vQA+A/4+e1LpjSu8NFfeky2GG2Mjk1xqzb1nzVDQlKmaPXY3 dLtqw5tVHA1FLNaSFXDg05NowqQj6OIfavs26orerWyRrD3OJZQBBde5gf/IZBVO bk4WzE0hZmHQvchrWR/gDiHJRYnSw+4Sx5MnKBlgccZbIPxabHudUnx12iuNtTl6 O4hGBBARAgAGBQI6qgSmAAoJEEeD1/Vd0fuMdi0AoJdRZoDG9YwxVyp3wb+e/e0r UPwdAJ9fFipa2TGSkCjO61unpDtawmJCLYhGBBARAgAGBQI6qq0MAAoJEDlKofbe SUBW+xcAoKmJ3XWnXwJyFMD8CZfNABbBeYNvAJ47O8mk5vhbl7rl9LneJMNEMama v4hGBBARAgAGBQI6rMvsAAoJEAp1sXSozHtSFmUAnAqhsMdq6Ihz1LQwrNuKXS0n eaO0AJ0dIWyChTlqADHbW7Kfq4OZw7yyfIhGBBARAgAGBQI6tbRMAAoJELKR2Nhk 65Mu8CEAoOhXx5OkCJtIOBUbobpphx3QxZQFAJ9BZ7bxk3VdhpQUrEdlZp9vP3S/ xIhGBBARAgAGBQI7eUM4AAoJENdjGrueSjeuDXEAni1RAvL4LqDhx2GT4QLH36Zg VoGZAJ4qq2IR+g4plSyfFC+DxfXgi/ASQohGBBARAgAGBQI8SfECAAoJEFR1DEUV bSFkYvgAoLXHkVuyK7iXyhYrSTMeSZeYp8tNAKCloJ4rZB/E51xD49UAH1P5PV7v orQjSmVzcGVyIFNrcml2ZXIgPGplc3BlckBGcmVlQlNELm9yZz6IVwQTEQIAFwUC OqkorQULBwoDBAMVAwIDFgIBAheAAAoJECKr8Oz5VhwxEjUAn1QJFvqeDJ8gU8rt gz3CmnjlsAAmAJ9BqfYvV5zxGvgkOKRyMu6i2Qa5m4icBBABAQAGBQI6qUWXAAoJ EB9/qQgDWPy9FkYEAKwpmiuxudlg5EK/ZJ4ClDDdL+Nr9TXY0sKLSwJdDWpgqBAj jovInON6rEeqa7CSvSlDozqzf97IdKRjBQFkogPbVSfvgamz0zJZtWkfE7Hvw52X 8U7PyWthoTwECIvzYKH35+NiecJQqXf+AfGRLF0pCSBLSXR2zi3Bqee3nZ3BiEYE EBECAAYFAjqqBKYACgkQR4PX9V3R+4wBdgCfdPlMBWMvvNAcseruEfvAoRpkVGwA oOGKx9zFdxeJMh1g+y7S5/9fRbf3iEYEEBECAAYFAjqqrRAACgkQOUqh9t5JQFbO owCfXo3a9iJoed3J1BlGTxmGmUJj9coAnif3VT+yBgedsiHlhQSgtGzA3JnAiEYE EBECAAYFAjqsy+wACgkQCnWxdKjMe1JWqQCeOyD7vywbVSEtL50PIpKC/OLOpWsA njBP5yLKAJESHopfPxDbn2FKBN/2iEYEEBECAAYFAjq1tF4ACgkQspHY2GTrky4n kACgpwg68nagqKErqB9OZD8yqrUqn/YAoI3YNI2VWY518f8pW2G06+a5nmtfiEYE EBECAAYFAjt5QzgACgkQ12Mau55KN64LuwCfU7FdiOvvFKloFqFNKnypvZrh5H4A n2giMNGYRQ5DYUPPcmmi5I9vx/JhiEYEEBECAAYFAjxJ8QIACgkQVHUMRRVtIWTJ ZwCg8nPl82ZIFs4+2Opuoeg1AobzO9cAn2EbkcY5WfaCFO/cpflXpEgX6V5quQEN BDqpHqoQBAD69+DjZ00uDr48npfWtrVxuDmZb2jzS3Tdt0p6V2gVuengjobHNb1T 6o4BIjPu/yQ8qDlDOb+OF63wfowMCIU+qNBBtmoSDKmQu0M9hREHA9PeHjIsN2dk wpIAnM7kXHAE0T00QlBCLzjvef/xooKGdcaA4Zse+wLMixgwJbto0wADBQP9Hlh+ SI7YcYZV+nOhNnPdBG98UHNhDiheklrZ5BQMLzPEn+qHkaZTeX0SrEbPmm4D7nRk UGTh1H2CIL/YaffqVYVKw/8HTIJeXZMgJwdq+j3S5P/Vnc/g83uZpuzdW8PNp6A2 u1JHPq9M1haoszxtTirQXxo4Ht4/DWaY1DtDkZWIRgQYEQIABgUCOqkeqgAKCRAi q/Ds+VYcMQbsAJ9J+QGEzdNcvYY0lAXZAnLBnW7lDwCeNJmcu4gVYPvBDLe2Xu7Q Crfzumk= =Ru0+ -----END PGP PUBLIC KEY BLOCK-----
<scop@FreeBSD.org>
pub 1024D/BCD241CB 2002-04-07 Ville Skyttä <ville.skytta@iki.fi> Key fingerprint = 4E0D EBAB 3106 F1FA 3FA9 B875 D98C D635 BCD2 41CB uid Ville Skyttä <ville.skytta@xemacs.org> uid Ville Skyttä <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-----
<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-----
<flo@FreeBSD.org>
pub rsa4096/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.xyz> uid Florian Smeets <flo@FreeBSD.org> uid Florian Smeets <flo@smeets.im> sub rsa4096/F779EEDFE754EA9D 2013-10-03 [expires: 2018-10-02]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =/R6n -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<des@FreeBSD.org>
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 Smørgrav <des@des.no> uid Dag-Erling Smørgrav <des@freebsd.org> uid Dag-Erling Smørgrav <d.e.smorgrav@usit.uio.no> sub 4096R/9B90A1FCF8FBEC80 2013-09-24 [expires: 2018-01-01]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =vVRO -----END PGP PUBLIC KEY BLOCK-----
<sobomax@FreeBSD.org>
pub 1024D/888205AF 2001-11-21 Maxim Sobolev <sobomax@FreeBSD.org> Key fingerprint = 85C9 DCB0 6828 087C C977 3034 A0DB B9B7 8882 05AF uid Maxim Sobolev <sobomax@mail.ru> uid Maxim Sobolev <sobomax@altavista.net> uid Maxim Sobolev <vegacap@i.com.ua> pub 1024D/468EE6D8 2003-03-21 Maxim Sobolev <sobomax@portaone.com> Key fingerprint = 711B D315 3360 A58F 9A0E 89DB 6D40 2558 468E E6D8 uid Maxim Sobolev <sobomax@FreeBSD.org> uid Maxim Sobolev <sobomax@mail.ru> uid Maxim Sobolev <vegacap@i.com.ua> pub 1024D/6BEC980A 2004-02-13 Maxim Sobolev <sobomax@portaone.com> Key fingerprint = 09D5 47B4 8D23 626F B643 76EB DFEE 3794 6BEC 980A uid Maxim Sobolev <sobomax@FreeBSD.org> uid Maksym Sobolyev (It's how they call me in official documents. Pretty lame...) <sobomax@portaone.com> uid Maksym Sobolyev (It's how they call me in official documents. Pretty lame...) <sobomax@FreeBSD.org> sub 2048g/16D049AB 2004-02-13 [expires: 2005-02-12]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBDv7rWERBADAnp/1Nc02OyU3eiXisqYDw2CaFNG7CpTNalQbJCX9KDuCzNbh RKS7slRG0Cp/IsCIoJ0WLugslAZHBtLigl5XxdVeTYKJfXV1gKXLBnzW942oswUu zMeZzpcrCYHK7AVaTtZJEQTDf/SIx/ZYu8DJPv/7m9I7aY3EYXQsHIqj7wCghRzg vhbpzqR9KiIsH82z5ctlGHUD/AixgJJ6dCf/bxIq3siaijMs1fM1JNLTIL5W7i+I LWUjM9PJztfasAZMj4kXjimZl9345CW+0+jV2oe7y+AFWGZUsQHKb3azruH9frZc a6JSUOwvy4mQjMwtQC2ngJsUQGqrfGl3DLaa4hJzlgQ6i0PHTN1ljKvrMNgtgnZg dypDBAClZuCCjn1RffnM4FzWuDZLYL/wLhqbtzMNvQXe5gwnDeg1QM1xgfUtaaa0 7f071Ayv+K54wVk+7XIRZLP0Kbgo07kJlXw5AzznzY4167RkcrifLPtG4nbDQCaS QreYjUG902h8T7ckkmTV6VAPGUEh/ms9aAeFxAg2XOXiwCaYerQfTWF4aW0gU29i b2xldiA8c29ib21heEBtYWlsLnJ1PohlBBMRAgAdBQI8INsQBQkB4TOABQsHCgME AxUDAgMWAgECF4AAEgkQoNu5t4iCBa8HZUdQRwABAZRqAJ4ypOHGqZA7mf+m+R1k kUCSxtirZACeIXLS54rLLTauEHQtuHfNKEQolCC0JU1heGltIFNvYm9sZXYgPHNv Ym9tYXhAYWx0YXZpc3RhLm5ldD6IZQQTEQIAHQUCPDcdsAUJAeEzgAULBwoDBAMV AwIDFgIBAheAABIJEKDbubeIggWvB2VHUEcAAQEdMQCgg67lgOG0NlSy6RlNxeqT mREvqt0AnjoRX4MwyfWsHmD63XoByM5XjdketCBNYXhpbSBTb2JvbGV2IDx2ZWdh Y2FwQGkuY29tLnVhPohlBBMRAgAdBQI8Nx30BQkB4TOABQsHCgMEAxUDAgMWAgEC F4AAEgkQoNu5t4iCBa8HZUdQRwABAYJvAJsGythE5SUctWSmAYIxYHagnEUU/gCd FQv6AywESIEMOLK5iaONMFb5NGO0I01heGltIFNvYm9sZXYgPHNvYm9tYXhARnJl ZUJTRC5vcmc+iGUEExECAB0FAjw3HwsFCQHhM4AFCwcKAwQDFQMCAxYCAQIXgAAS CRCg27m3iIIFrwdlR1BHAAEBbJQAn1tcab5GD07XKi33AdcyP521kGhHAJ9eo7wb PMLk4e7y6ZiQEeMd4DF1/5kBogQ+e3iWEQQAsxiirVfUk5G6X5YyhHT3pX2Tt6n0 F5hj36BLxU/Cbn7viUMP2x6qafIolWC5wW3JEklsql3wXovUl6Uuaah6S57XD+45 YNAztjJ2rOp4wW9KD6i7IWkbtgz0eRLQBNzEvcvdMfGqH/1XujGn033Q3tpgT8sH WfbT68DXuaUTJCMAoJhav+twkmoLhT0o5KSjSgcmtjOvA/4oJZ9D5H4rSRKWhQNG 5A5FZlNX1q7K9/WYcSKWsE6R+jnOFigZOt/wEXA4tUiI1b7SaVnSPNgQ26iMPDIZ uauEmvjQmVDSdO0ZsS545VQ9xJtksJdHZXnTVKWyTNiRWGHWT3ucR2XFJ40U+so/ AxKch0N5CqtYy9A27aO6KLqBOwP9GJUvIE1zB5plWP70d9Kii6Gf9c84VwK8sYcd w45M4DozPUJqMUcfP4ycvK5AY80MRvNr+UP0VgfpuKElh2JCUpgj9XTE48vuAdyd 3q6lVEC4SpjZu29oFNyzcX0dILPHy49pTaNOUK7EQgdS1S7OWksP6XCWQ+Fmd8E7 vtcT+BO0JE1heGltIFNvYm9sZXYgPHNvYm9tYXhAcG9ydGFvbmUuY29tPohiBBMR AgAiBQkB4TOABAsHAwIDFQIDAxYCAQIeAQIXgAIZAQUCPnt4lwAKCRBtQCVYRo7m 2FP7AJ9QC+MpLfOgfrBZ62ylXJbgV9rSfQCbB+djelAeWNwsPCSI1ztdLW71gIW0 I01heGltIFNvYm9sZXYgPHNvYm9tYXhARnJlZUJTRC5vcmc+iGIEExECACIFAj57 eW8CGwMFCQHhM4AECwcDAgMVAgMDFgIBAh4BAheAAAoJEG1AJVhGjubYpG8An1bD +5ViByos/wyRoQ3fL5eRnPbYAJ9orRZWWPheXO7sO4kRB4p0tUGZQ7QfTWF4aW0g U29ib2xldiA8c29ib21heEBtYWlsLnJ1PohiBBMRAgAiBQI+e3mWAhsDBQkB4TOA BAsHAwIDFQIDAxYCAQIeAQIXgAAKCRBtQCVYRo7m2EMFAJ0SKWhO8mbbRHNjJZhr Z6gRvtM7RACfXwBb7dbxG1ZEcJHfvaJxo/VxF2G0IE1heGltIFNvYm9sZXYgPHZl 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 =Z1Sd -----END PGP PUBLIC KEY BLOCK-----
<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----- 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 =wnb/ -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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----- mQGiBEhzbmMRBADtX9HSSMMgEPkwKw0xpJHuBOudjSkMwJRm3CfUZrWpgBhybof0 wGTZZRk1wdaMZL+4MoZoxG1OObzeLitFt7GAZMNb+8hhGMc91rF/Ayyg9e51rnRE DetvoKwMHo12Qj003HSiyhjrWQQRmsUCQeRmVWzPmXZLI4JJgXryrl0pqwCg9cn+ lMFo9RgnmBGM6+pKXnLYQWED/35bjcbiL3zBXczPz4ERjVn+7N0w5x6aSR1luvq3 7RzkzZ14tbbNetniPJwitL/PCrZIeA4K0/qiE+YendJfihOJ+NtFlpELBv/FmHHZ NlAnyT6CzvtLZm5JccSuNO7Jslg82mzPfSwxZOzwwilF/WEpJ1cw7HDXvpSfWu7Q CMlVA/4irRd9oq187iFDgDodFzKEvoZYvmn9evcNhXUkoOADMoph2NUgy3x6WUUG syeXSTZFTGjRVTpOaHHGyaO1WC2cbAUqDowhURBgQMWyRTzBQ0MJ12ZmaLpwt79r SqCQgtMV/nhbPJ33oFoB+K4gL8bNB3ts5OOFI3K34XA8x24OxbQbU3RhY2V5IFNv biA8c3RhY2V5QHNvbi5vcmc+iGAEExECACAFAkhzbmMCGwMGCwkIBwMCBBUCCAME FgIDAQIeAQIXgAAKCRAYanWKzoMZ8/sRAKDBQ5RTKLb5A7ZYLOdWtExokCppnQCb Bc5ODSrb1mHH7zyAWd1EMN9vO1a0GVN0YWNleSBTb24gPHNzb25AYnl1Lm5ldD6I YAQTEQIAIAUCSHNu2wIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEBhqdYrO gxnzK2sAn0o03XkCjtXNFfyc39//6SDtT/jhAJ9mtqaGZSlyc96GmkevNo6XZ8Ft bLQcU3RhY2V5IFNvbiA8c3NvbkBzZWN1cmUubmV0PohgBBMRAgAgBQJIc28YAhsD BgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQGGp1is6DGfMKAgCgyqafXmVhbY3o refBOqWKwQSuIRcAoN9jKw1ATmoDYxJT4l9CkvML+EPntCBTdGFjZXkgU29uIDxz c29uQGRldi1yYW5kb20uY29tPohgBBMRAgAgBQJIc29CAhsDBgsJCAcDAgQVAggD BBYCAwECHgECF4AACgkQGGp1is6DGfO2LwCg3bPn+JtwFDh/BLifAQ/73N7N/4YA oL+f1VMA8fiO/C7w3ccGttIB8cXNtB1TdGFjZXkgU29uIDxzc29uQEZyZWVCU0Qu b3JnPohgBBMRAgAgBQJIc29iAhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQ GGp1is6DGfPuewCgtH+NgftuvDOsUoL+Aa9oVWnHCSAAoIFUzeQYjAgXUeLZeX+5 AO4UNMAyuQINBEhzbmMQCACDtZg1SKY/SydXiG+9BhIgZ9A3Kr2+AbcYWHqhr82U 4+hjTSrOuvfqGsiI+CXBKeZqCsyntT8bG+NFfPIqP9mIy/6qQjftcPIP9q3Ib5is yJ/vO8mQrN1StiLzwqCfHhlUOKv4K3AZGeSF/WxLve0hPLnMI+D0BlP5kf6u8sjS QLW0Mtwjvkq4quOGcEiAN/r75xmPketPwME8JdzecSAWkixM4rkkm/weLRe32bjK 564Sm0JDuRWgCyUSQjyEXjAzgrIjstxPvZleilucbBBy8ngbLu4rei3erbhGOtdZ Z3RWbB1WaVopWcmBLpQ+qcG1XuK+FkD0otHTEl+lT4rrAAMGB/0QA6PGZI31Vzce 6k08p27J+vHdr0rK3O5KCJCQ05OUzhg3Vp/9HeOvQqJYK+C1f8EmNwfuJpL04tV0 gBmX7DJU6SYhT+iyVRruauHttsh3Us9q6JaeDKO6lvzPhZeLYbi5cpWu40maiOH3 dkhpnYSb/V/gipfu9k8PCZX6WJmzDcF34kF1e/hcRzPeYVjACILf9qn4QkJf1SJm IHJqN96/YjzQsO/SRB9q46RFagz2CMknchh2n9X51J/a/fEVHKR0Anv7Orxia+Jw i88yO43uKOTpaNEumFrhKHoJoEA5LqHGGzHRQJOoxN6h4ydq7AkPSVBZwqoIDTaB RiKVn6R6iEkEGBECAAkFAkhzbmMCGwwACgkQGGp1is6DGfNzzQCgtC62/2mZeZs3 7LcMsO/q+4VdAk4An12bm3nDCYxciQr72p+ASCei0tkD =uagC -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<brnrd@FreeBSD.org>
pub 4096R/30C614DDDDF542A0 2016-06-08 [expires: 2026-06-06] Key fingerprint = 53CD 858B 6933 3369 CF82 E180 30C6 14DD DDF5 42A0 uid Bernard Spil <brnrd@FreeBSD.org> sub 4096R/573328B91C62FD46 2016-06-08 [expires: 2026-06-06] sub 4096R/74FBFEBF8502B0B4 2016-06-08 [expires: 2019-06-08]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 0Q== =Fe3X -----END PGP PUBLIC KEY BLOCK-----
<uqs@FreeBSD.org>
pub 4096R/B63B27B647B7ECAA 2015-02-05 [expires: 2018-02-04] Key fingerprint = 1AA3 5EEA C54B B1CD E11D 4CFE B63B 27B6 47B7 ECAA uid Ulrich Spörlein <uqs@spoerlein.net> uid Ulrich Spörlein (The FreeBSD Project) <uqs@FreeBSD.org> uid Ulrich Spoerlein <uspoerlein@gmail.com> sub 4096R/FF9F5004BCAC9ABE 2015-02-05 [expires: 2018-02-04] Key fingerprint = 056D CC69 B995 7125 E3B1 E04B FF9F 5004 BCAC 9ABE sub 4096R/B3E58E5279652B6E 2015-02-05 [expires: 2018-02-04] Key fingerprint = 59D8 A3AD 344A 15B5 071C DBDD B3E5 8E52 7965 2B6E
-----BEGIN PGP PUBLIC KEY BLOCK----- mQINBFTTwjYBEAD5xiV5Wjyar2aSxMPfQVUUKYmoIlk3uSNplfJnh6YQIH+qiV3s fXN08V6K+vpcBRTuJkN8rMVIKrYZU/iOylRZ7+dvW6obsNkkA7CH4cuXUE5nmWM3 36JWitdPuSB5mYymMIDZ79wWsBVRkFtjPtCEUowJ7uoFJbO61PfaWWMfmAjgIZWD OYHE4RtBHssw0SCPBfB1XWKrYGT5ENavn4wxpgHbjHl4ldMEr7frRF3eAssmyRX0 aKrI4PREMfya5xbmA+f4c+57GrXMr0Lu26d68wPWyOiZwni4+A9Zgmc9n3bgVmRK vZTAW+FQYHHd3WiyY499wJ80oe804ayk0pIU9DMn7gpu0ekpClZlSUieiZj/0u3l DIy4KQyU3MerGJnc3aaKOtUIIo8ZGjybc4TjoR6TCAXkqqKFbr6TuWPlCKC9LRA5 cccs0/YPEvSdp6Q+cT6IEYSQCO53kYyqmOxsRRx1zurpAdzE4Odr6I31bv+OJXP9 mCxy6RBCY2jqIOh0Ik+mHTLFVW9IVdppGZRgOMzbxkl2UyY5wYa7blhJ4MaLP1zm lXtyk6fT8azhhIL4ULejtnfin9UObI9jHzt0qyneDoB3tQsAMQQnox0XJ4h069b5 7SJOPK0AOuqcBBuDT9WeZ1EoQzbND0LhntCIrLgS5S0omyVT2+bqfgHZ5wARAQAB tCRVbHJpY2ggU3DDtnJsZWluIDx1cXNAc3BvZXJsZWluLm5ldD6JAkAEEwEKACoC GwMFCQWjmoAFCwkIBwMFFQoJCAsFFgMCAQACHgECF4AFAlTTwwECGQEACgkQtjsn tke37KrfQA/+Nd/bNnKKto6zIlxLRRsZGTx8KQ82ZnVWp1DvQbFsyxTWmBSkOxH7 GdJLMO/9JoCbEpuoNzH0amK2HFQct3FKHxrQZDi9IVoSIk/rkcWSPbZtEuY5p9h1 2a7D1LIKTWqe4VJNWAw4JlVR6Bz9vSdCtl0r2yUJ79zPyMj0XB64m3WrX3+fWKII 0ObpRWMTD2jhfhH5cILGLsu4rzASdAwUVOwO4rkTUn/DCBUnEDz9ZsYk13hdmg5g xM9wk7vnSWnH2r/IThxTaTZzJoCOutQ9Pyrw6dcexkv2Z8jOTTcW7e7PvlHjyMSn wU8srNu1LLuDpBYV4FMhOdxDCeFpr62k88qMlZcdijsxZDTrCPh12yFgn8G8heH0 HXa53ec5ujU8RPW0MVY3k7EwRD0TQtWr8g2GozMlDLWeqRpELixPN0G1dkPyO4fy 8BKM56yoUGEnxfTrIicvdu3LPrVTpvJLLXc5nfKZEWsTBocmadWuLXqQ15By9GYm trR9+fsY/76STF2zqNFKXfgJ/x6RTd9ofjzffk0OXnV5W9UtegiM4l0oY39lYT9c SUpd20u/aOyUG7pcJSzTee6dReuJgESXpYY6WKX+CQu28kxsQO36xTmDdojzYouN rsYqQLFgFOeZOlRPZhF6blwpp0bs0d0z+n6B2R9uqN+nKhjjXNR5rQmJARwEEAEK AAYFAlTTxAgACgkQo6aYZEqvgs7xLQgAs+gJ/XvR71T52Lr/vvhmnLw8PDwTWPog K43xGzJZzhFWViCrx7VG1w8rMqcuEc+CcOYmJhegwjGV0n1ybuDDKtViPVSwrsJL 1js0FOYnUFvSuyR3RM9kMMTE5Ly6pu2mOhqioCtRPoFagMiHZWKs4BTmEm/2JDVJ l3/JoOACo/tXhZo2g070/EzSMEGcrV7QHhZ29YL8kex2pyrtkRYDoQneao3+Yol/ R/Kue3KNvb5wEmyXgODKmXNW/QseGPS27ctk4noYIZ+SHioXU53KUBChVfycouSX h9R8n86jUrguNgjPUpbrQcOF77KVpPu1Wn1EL4ddohbdiebbNcTlQ7Q4VWxyaWNo IFNww7ZybGVpbiAoVGhlIEZyZWVCU0QgUHJvamVjdCkgPHVxc0BGcmVlQlNELm9y Zz6JAj0EEwEKACcFAlTTwrACGwMFCQWjmoAFCwkIBwMFFQoJCAsFFgMCAQACHgEC F4AACgkQtjsntke37KoPZw/8CX6FjNRA3941qj2m43lBjwzIp+4EX3yXZVyjl8td 9QUckN09Ls35lGSb81Z+RkHSFDT+INwizKhSLdLhg+2ROft8XEywq8vnbLPeJBZc hsi222ftNoDe2qDlQKqaQujT4WZBQMOQ5DHqj/XsJ+2DhEcR+cyzilSg0eB5twGv lOmcZMthH5Vs21p59Qi84zOZzyIz68Oak783UM112tJawbUWU4k8f6T6nvMWWedo 2k47BiLQ4xSHd7eO4Q/xkzmQr1+aNjf8BTOE+lMlQky2KiwCNlyyH4cAt+Nc1MIZ dfE4TEIfR+OM2Va7y4REhZaNqdHT4PQ1MB2LfQ5nfWTFJLOSIpCF52ZJP4MGyLXG N5O7/eeeIa9aZioM3SN2yfS26qAVCYPiTDmc9nu1nByg448tJOol1cn7OlcQLHSx bGSocCTImAi+m5FyxhpVx1PM1FmwCDBMq/eRJbb4QCsEGC2neXThCGFKXfHBa1tG ge5saqp0Xr1xLqmRjcEl62IZiZWVsMa70OI++Q0Q8/dmQ+WJeXn1sxA2rYMTy7Zv exOnfKfg88hzatSrEAB2P92JwgGK9X0W+FlhkZyh9SX5mbKvIxyXIWI8RZUpw1Tm MVE+AdPkhStlmzmnhdcN17rgbPJ5QrKUcmw/MNYyHBkyGj2AuPkJ72STRLCQQW6N lqGJARwEEAEKAAYFAlTTxAgACgkQo6aYZEqvgs7K5gf/ZFT+Ortbs848EwnGI+f8 22FzqcxJAxlTDWZ7h3O4Kr8NvTlg+ELudWO/KnfE9xJiITvEhVUWi5kB965Ruyh1 VwdhPXgWfkLezOTQgYHTWUaSobFtcpbOGcxl3CfNdCjivQuFORLGy09blGvLF7J8 8A2KxheU9ASR62M9M+upiwvytgjQ4tWNr8SBMzcvz9i5nPZVW7wfW7lFIex+H7lt wqg3TN3VLV+VZM9lYrWmOkdADWbRPx7YKcWho5BzsKHMaoJxbfZ6aHSc0p3Q0+m5 aeL7sNQ8xFyaElCPJLbF/zXJ/68m6IIlYQ3pkCGs4RCbS6s49cx8BbLZfSLcd36X hrQnVWxyaWNoIFNwb2VybGVpbiA8dXNwb2VybGVpbkBnbWFpbC5jb20+iQI9BBMB CgAnBQJU08LBAhsDBQkFo5qABQsJCAcDBRUKCQgLBRYDAgEAAh4BAheAAAoJELY7 J7ZHt+yq8IwQAINydnDjydSTB1f8fFNFP1deSnnsIjeMrl6XYGLjFPNiyn1Z5xB9 CClewyFl6LOLr9ZoGKQhnvy0YiC25MYp/OwJU2VweNlkS6ks8Nt7GtqB0KY+yaW0 QCcvvDdpujEz7O6glOLaMsLinwGBKA2baFiFLTDXLBU2bMnDmZXdC84+VZKDVl70 m10NAOwkvKSxrgzVEjfF/LIxuaWElCuTm0W+tJjGNKQtQbCTopvaBSG5d96PMFOS Ei7hD0pB+iGEVV3tSwP9jgcq/dzno+INI5y3pwYyjnycKfhDLV13vZFC7Wu5+dR0 VYxYgw8VnqVrVuUnTNA0Tuh4/1lm2yE6/By5Kl6oUl5fYXFh1MGZQijRR4i6Ubld OQY0bxS5JYbYEUOpqk5w6zF9+B871QSuq2cuDDI8KLvd0oeWDHckmf1yWNJfNKMu ZcsyA+ZevnY2t7EGVVOarnVTGsN5bzPk++NXcNpGTw/KfKHmhKEf/yEKPBpYhFuC ltjc+lf1F+ZGdFKKvE6hj9eagI4g7KUno+vO56i3b3et7UEjsp0LWev3F7NZMr+B TCzru12DHUGtRYUArakwPknM7l7MhFfRz7cl8/pjpkab6J8ma0xeKjp9YjPajed0 ASI/urdPubKbZI3CmrEaZZ6EdTR8/OAc1SNjDE4Pm/ZgTyAQlANiSDCJiQEcBBAB CgAGBQJU08QIAAoJEKOmmGRKr4LOdpwH/1XL1mVwqOFje6F6P2HXSdqouhwEpoql Toi5ccwQClzkm6A7xgbcwIGe9fPAGdvwbJpX/MBW6ZS0NycmTbocrD8UdGrjh8Uz QDUpJpUpjO7L3xn29UUl4yP77g/2geVPnlNWc8ZvQeiqdzYmC+4ePbhKh7cmM5UY eN+E0kS2wgU2I0E7VJ+la05wN6fUuZ70DSaDMDQaaHWEo2u3EfrddkhgHJFPFovg fmyjMt2m2RLk7d6w84mYE73IeV/bvy/6fqpOLpnow4q4roEdxLAJZDqGCxauWfk8 VBFcpk+VS5ghzAGz8hz8LoINbEMDrh0Rv6TojPpi6Nz2t3Ij7vUYYVi5Ag0EVNPC NgEQAMqZfYF/woFu60iBHqwVTMnDkM7H/hUuROs4kxqRAuk1YziLg9Tlz2xTofur e5cxH/IVjvV6YRcn1fg42Cmbu5PSX5DIDcp1T00VwrU2tyGPnkIacSwgJHm8fOzn fg81Bknu+gEeSZDNNrvIFXRsyabKtjaDFWzzAGbg53ENHOX94vS/Bn+Jg1RxN9Hv lJ9UUwrec/VUziX/rWIqgZstp1YuB6uZBT7jRiZd7vuiKly6pyVYAOcCRin6skAO 6q8Cm90Vj1BPgmzIzh/6DX2eo2OZjjdG1RRxFQvv9UXb/pgSglQnnM7qUqhkRflS 94oX48mWW60EzrjZFAKMoDga0ipmTKQnQAKwLkOSW7Yl8MJhKwVNzHVLgnGrOLPy eUeK1eAQI6BXRDX8s/sOzdnTjcQUK5JyZDtQaQgO0ZihQTPiKC+8P5LvqkERzXtp Vf4LuxgOrims/cBpdmpSunMWKNuy8Maq/XvO34lcU0iG8hb2tKMz/JT4HA7+wr4P rBn1xP3x6NbrDheaCNPY+MnoWciknZD46/Xx+MWS7TBzWJEhtti+yXyH8Uv9r7NW tZQXxsNuOm55PgE5tCwwocW9iVg7vQhrkNg3PYnIPvlj9Mz2/fDXmdMQ4UV1/UUr SrsK+EOc2FtvdWW6a5+fmsNu72eoWA3XFVIVssgE9ajcMzHfABEBAAGJAiUEGAEK AA8FAlTTwjYCGwwFCQWjmoAACgkQtjsntke37KpSfhAA2SfPC7tz6Sruj1CVxFUv 2eCrOHjcOGhDpVeWFrXNby1rvAqELj1lgOimvtMKSgvF3Ce4Wqb3X0/A+MsAi/oq 3Tv7RWLDvyKjQVna9WXyXmYj+owS7y+7C+YHt5n0QlFknRuWZVX3+/qtkSRXNQSx YGDQUqPASb4mVBcKNqjXinmRJp5JWoTtJ0xU1l/0PmjVxGtRqDtQSZyE2H7sQuAw CDAQ+NjI+o/uXL6jLLuZdcM7T+vLueachdgOa4LMKAt7ao8eEeTzq5mHxrh5i7cZ xO6OMV09xhzBFUB7y+jNEsOgnrXdO7gYG6wfir3IL43TPCxTkJgSMlYqStW+7Tnq ZqcXtCAGsMi5AbzlCatqu8JtMeSxq54uxDo2fyGXEambrtLTPge16yvM8/wbJpVJ ur/8Mk4AqsyxZhduiZR2ccQWXtPbxtKiE4LkF2qkXWsKpnVrTOc+yrdQsxzLXnm2 akVpoqCITmSxK63/xRg50Ab+5j6Q2Ib9AH8SXuHuC/61e91ggWndtsHK07rNh93k o3O+P6cOjGZzFCRu37xoBwkZzJaHqwwgrNxhXIWZMVH3Mp0lH6vp1gK/d0zFjlmL DGKyjxusRmC9OA5LkEM428mvbtdn0mH9ygNjdrl5yUs8esSmvYis05JwzxrwbMOJ Ly3mKKOZRRW3e+QxJ+26Leu5Ag0EVNPDLwEQALq9U8fB/H9KUn9DzrpLnuU65zS3 QdZLybjMw7N7fAfRTWLYVj3/0qCM9KskzXCZ7pAqom1AEB3jvNxyMi0Tc7YJ8+gj H2ZNAxIBi/8O3ABuv0DGTlI5Z87RY/jSeP7ZH24WOPtCyKiAuXhTUILFEgE0idSF BEMw8tuCKb/4qPY0O9zfJ3mVL1P6wiu0IlOeuWvrQct9D4FCqbSc+Lh0SxBiqz+6 OGM1wpfYAGgVMmsebm1atIUQluW33i8h/kptlx7U78mixy5hoqEzqTqWpFEYkqla TeYm1MI9CavKR0rUX4XDy6Wh7659tQYi27IWfmSVROmjKuzX/8/mC3XM8G413ov0 AbP/WcTXnRoulIF85L0kWd0NZJPEpf9hDnEBpsNqKym5NP/maayaRuOCTxr8fazT 074noHq4iXAGDLvPAPnBxiKvZC+4HNXL4YrEjq3KUw1JQ7quiWw4/0ve65rxGlUi hhibr5zIpbwgj6GPw4caUGt5qlEnuO/D8MFwUXeD2P4s0/YJT5ET9BRNl9kr5vGy x2a13vmt5fG37cZ0SdzJrzODBBN0Vg9rQJLXRNoGJysyl0O3yDrkspYv+sE3DiLV D3a6V7FP6btQOscYdnrXhXri/ZvdZy/X9f6aqT0dlS3y3UXZ6DEj8eSasBAVzyJq P5XM8erzBKL0BJ1XABEBAAGJAiUEGAEKAA8FAlTTwy8CGwwFCQWjmoAACgkQtjsn tke37KqYDA//bgEzHbdtokwrz7/ku+0D2nrJdGAt9OaJpnssCsgh+P2tIxGkh800 gm24e5oHIYvtnbhMtyDuyPgikWI1Rd+qr6Rh99nOClUZcwu0P0oiH6TZ6Q0GiqJq gOnjXwUpHHFKLWvh4jbJ7X69JH8WZOa6rZlURYPv7XgqRdwh0r/LpTweLKcy+YGK TvrD/B+RyxNvwHDFvZJ9FX2Qa6uppUE8fmsiAeCLbvt9y27NrpHahd+nvds16M5/ ViuCgRi5sq80z0sCCxZT8h9h5nVU0cyXju79Y9aNo+/igAE0r9c3/DZbj7QKNfbF Yv+hF7xl1zzh7BH+qv8hlGLJi7rYJkYdwtSFiI1zzw5U4G7m6J92g0VuLvZ0v8sd NO46Zu7Ft75aNIwR8C+1dPjFespHRTbOhdEAhw1AmfiDyL5TbJFgVOYeJsdvNVMs LPfq6P7inng3FNbWDr9w7d1Vx1PWZTKIgb+OIzBKsPurgndeRKjg9P03K19om70t l5/FAfId6ZU+WnMzQfLAF5QGRiWXdtAry7Pr33N9sCUtDwmL02A1RqbOLqXyAj8J 7dmgBMwycIMDe15WSceSizBhkpVWwwxg7vgROPrnkDPtq1BZgY7g0L8hWPn/q26e +7WzJd5FhNREmKZyTClgNnq4whuODog6dt1/qyFzx9U4G1N+w7nCb6M= =V8PQ -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<zi@FreeBSD.org>
pub 2048R/1EF8BA6BD02846D7 2014-02-03 [expires: 2019-02-02] Key fingerprint = 9079 51A3 34EF 0CD4 F228 EDC6 1EF8 BA6B D028 46D7 uid Ryan Steinmetz <zi@zi0r.com> uid Ryan Steinmetz <rsteinme@cisco.com> uid Ryan Steinmetz <zi@FreeBSD.org> sub 2048R/A8A08AA9D827E5F8 2014-02-03 [expires: 2019-02-02]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 wvaUH/0vUg== =Joy5 -----END PGP PUBLIC KEY BLOCK-----
<lstewart@FreeBSD.org>
pub 4096R/9A50BCFCF40D9B09 2014-05-08 [expires: 2024-05-05] Key fingerprint = 8FB2 E9A3 39EA 78A1 5E1D B8A2 9A50 BCFC F40D 9B09 uid Lawrence A. Stewart <lstewart@freebsd.org> uid Lawrence A. Stewart <lawrencestewart@gmail.com> uid Lawrence A. Stewart <lstewart@netflix.com> uid Lawrence A. Stewart <lstewart@room52.net> sub 4096R/ACCB4CCFAB4EDC2D 2014-05-08 [expires: 2024-05-05]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQINBFNq7K8BEADQFhZprR6joPIvqFonlsbZ0M72rkzHkCtGzk+hiE/TZh8df32V aGhXvgAHyP9ictqRai6lYRhO5LyjwR4ysBu4jAZlLCwWWBMY8l2JjuOohsv2+87+ hQy+F1nVcPYuNJ4OEqvqmi/RTU2+kZYGT2kbsSYVWiCUqwzSNWsbVZ8Sw1+ds2e3 80655Cstm+Ewn3gmX/wXPn3Y22M+h5KRj3yDn8aJ439lUTcVDQ+Dah/7h4DTn3cX fZdKFSb3HEoiwPh78R3dyQGOQgYnJ3FpKfKu5gRlXMyB1+6wUBh7G1henvYFrN+H Clr+z1fBmsm22Lb7LLs/g6p0FtWslnNxA2CvIC9IQ1nbBoA0bKji/f0S3K7LlAIv /scUqPChfp1EkBvkTOek9N0znzcVCwJTjRjfS0uu6TMWuMXrqpCCrGKonN3gdqKW 9pdWmn33kDt0GaESIPOgIRwBk8Ak9/j9Hd/vdtyHab1GKGJTZfIvnJB6xVy/zwBh UIK/h5dboYqYZds+Ky5g+j+Q4j4bsKdgwjlrRO+eGQTCjRcZoiE0M2PZGK/dt/eS zuHWv0l6r7NkQXn5RBU+5JpdzECyyolKoBrDhHMDdI+Cc3KeQfMSkftKV7UwkSco plI86pLgyKHNxyrmqp3NTE04yxpY1KlEAUv3I/lnkikpj6j1PzGXyReMewARAQAB tC9MYXdyZW5jZSBBLiBTdGV3YXJ0IDxsYXdyZW5jZXN0ZXdhcnRAZ21haWwuY29t PokCPQQTAQoAJwUCU2rtuAIbAwUJEswDAAULCQgHAwUVCgkICwUWAwIBAAIeAQIX gAAKCRCaULz89A2bCVMgEAC1HIWOWsghyVFJaG2C3YK6VEzTsGrJ6r+eHppx2GJU 3hunc+KfoELLumcXELPffqNuCYlQZr07wcwTToZn2WfVrGzixLc3j8FAN/uEv9OC tPkl4x+VonoCWXQNCJ46zlzpCGouG+vs1tyW/HlelqSUtIy9dMNZsunJf27zDj70 dPcxfJVIjcjLbh2oKNckdVOOyEwp4G+uJJXqcjo0q0MtiY7aOtoQLuuAry3eLhR4 zZJiEhJqZkXfEvGfOTZTaisJiMhRSEkbOWA/M725yGkQaRVOY3hOdZCA/g2XeQf5 sdUdeCfEp0a8G3nB+esWBfhUn7Op83lC8WdbKeSa0X22ebwSj2f6yK5xFnCklPBu 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 bxTgxFmuTlQwvm3KUadT =rKAu -----END PGP PUBLIC KEY BLOCK-----
<rrs@FreeBSD.org>
pub 2048R/71D3BF532B7BEF39 2015-04-27 [expires: 2018-04-26] Key fingerprint = 835D A1ED 279B E300 175A 5BAA 71D3 BF53 2B7B EF39 uid Randall Stewart <rrs@freebsd.org> sub 2048R/1C2A8AA80F55CAEB 2015-04-27 [expires: 2018-04-26]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFU+KR0BCACpcLMEF6jrUZVvkJaTRR8+vbYLXnu3atFapiVKfaMuJyUXPsF3 4KE6bxakHM7BTXr2OPC0Z3VdDBo9UeC8mS3BrC+98sH7r8fgA1vGucjjcld2DTMS cLardc6NQ0ho7l95UkMGHNEEsGz82tdVZmQn9L29oBcIxrNW3tRQWVGHEowUkxJ6 pyrQJg0py/1bdGJQBV5Mul69/vG6+8hGztZc151L0yYx7oWVFF64z7R/Kn72JX4G lZ8lqJsefBmprqcwP+HzGg41JXYEZ4mK3LcXiij2da/WdyFVzHvC8uo+WDkfSZ+m 0UN+G3V6IYNAzFDx7V1BUdWsTsjpffQk24ktABEBAAG0IVJhbmRhbGwgU3Rld2Fy dCA8cnJzQGZyZWVic2Qub3JnPokBPQQTAQoAJwUCVT4pHQIbAwUJBaOagAULCQgH AwUVCgkICwUWAwIBAAIeAQIXgAAKCRBx079TK3vvOcBiB/sE7eLBDj4bh/UtWVlJ 9quvN1mtdGv4girBUOJteCNDil4Q0u/goqxUR6o3IjrD3mkefZG/UoXH4kw7NItb 6JSHrWOETSlq3R3T133hFKtfcbDSgSp6bnXlusxZsbUMiRqKBk4BiMIvVyIAmu3g cnWW2e274wFVHstzm7b73mTaWJQQwjFAYtfPnYrH7LbcBqF9i+8K/DJuZpJPv4l1 9vs+hBVxXflNBzhD04CmUG5kudnqijg3MVZH7MhoUkrsWP25FejJnB3iauhNoiCc 3rI4X38gh2hfLU7eCRt4f1taMQaTEtBYtVd8/Ks2BY+pEsBXTT/3sPVl1X6f9fNC MdrnuQENBFU+KR0BCADEEo5OlQuQuz8Qm5g76tgoZXPFA/eQXITzuRfYHq3c9gHu ZXaVELAxqKtIxl67nW5uulxGJIpbW6kaEqre1Anm8NnzUwSsDFFiAMgZhTKZIzM0 GX+Y/hDfsBHnR3PTUfFV9hRMlWiWzEg1CkC6YRmLK8GxHSZqcfRZxOdinSfBRuD9 9xIV4SBgJQwDsZvkAgzW3b66pdewuuFVwieCvJ/fSApU17WQkbh0ic00hJlEkmhr 7Oj3aEQZ6TDofOOu4B5P13q6Q57ES2HXT5TLL0mZDBNWHkBYzdpi22xEv5aheERY RddopOX62VICe8rNC4Iqd1chi+p3IG37q14qgW6fABEBAAGJASUEGAEKAA8FAlU+ KR0CGwwFCQWjmoAACgkQcdO/Uyt77zlWFQf/VbToRal0F+dwbMiZ5NsWtarx2SnJ Msn7cqOliZBdwQ6INte9iT2kkAhTE5S5YLnHZ6mMkpZYFPtPiSQN8q9eAqSaOvDY o+W8ES91+PEWeu8STSTfDTJbeRYYNKcbGbJqMF5yn54S1R3LD18GAluSJVpWuSEz 7iRmwpGVqBAiVzWvSbQA/mG7TiPSBvusOXX47jFf6cfOgJUEs2woGlYjhsxLcUdc yVcnydRNn4q/oXFdioAHy1baQFT4rYXmuLflGzGjMsP7XtHO3g2ZEDFSSKhog7Bw RfKdJNJQhVGSyvDzb81BCerrK5BcxrgMCk7x37kkl4aR9ycbNcmNNmAvEw== =cE3k -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<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-----
<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----- 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 =Q4YS -----END PGP PUBLIC KEY BLOCK-----
<cs@FreeBSD.org>
pub 8192R/3B8AD451AC3C43C1 2014-03-12 [expires: 2019-03-11] Key fingerprint = 7ECD 92F7 DAB0 D983 34A0 CCD0 3B8A D451 AC3C 43C1 uid Carlo Strub <cs@carlostrub.ch> uid Carlo Strub <cs@FreeBSD.org> sub 4096R/4E5530E5F9B075A5 2014-03-12 [expires: 2015-03-12] sub 4096R/3685ABB2A694F014 2014-03-12 [expires: 2015-03-12] sub 4096R/CD8BE3040ED65934 2014-03-12 [expires: 2015-03-12]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 tULByx4DhQ== =jYWa -----END PGP PUBLIC KEY BLOCK-----
<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-----
<gsutter@FreeBSD.org>
pub 1024D/845DFEDD 2000-10-10 Gregory S. Sutter <gsutter@zer0.org> Key fingerprint = D161 E4EA 4BFA 2427 F3F9 5B1F 2015 31D5 845D FEDD uid Gregory S. Sutter <gsutter@freebsd.org> uid Gregory S. Sutter <gsutter@daemonnews.org> uid Gregory S. Sutter <gsutter@pobox.com> sub 2048g/0A37BBCE 2000-10-10
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 sTEQABKrEX0m =fxvp -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<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-----
<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----- mQENBEu9UIUBCADIzpO4fbzj8VTUxcUiw0+H8JhZeU7ItggiSPf2KYJ3LHsfM1Ch BCewETgOM2LCAWkH+fwZkqdkl3NqIuE/9vv9gpoTkW7ezlnKNFhSqoFDjOnt+8fx KUo0Qb7l7HuctYBPx0FXwWNuYn2V97di1Ef3l5wRzQklwiJL3L9+Z+2AiZ3x62Gl H/88oeR8NeVSD5IvpcLQ9y8ksyZ9jw28YcnAKgUcOJwBX6/HOJoWM2QxwJ042dCp KG7nFE6SOsl0Ll8+ZxrHlPtPDUMSjuC7Fy1l3K2ruA4cpCf4K28N0kKwVDIIW0pn /V279skrDvkYkNnSbqSazshAifHWmEWVQFkTABEBAAG0IFNhaGlsIFRhbmRvbiA8 c2FoaWxARnJlZUJTRC5vcmc+iQE2BBMBAgAgBQJLvVCFAhsDBgsJCAcDAgQVAggD BBYCAwECHgECF4AACgkQ29BgAcAW2XfhJQgAxhM07wUXZoxGt1+xNiLwdfmM/ipV l/vHLs4G0uu89Vej3mw3dXq74VGNdepWTp9F+CnmvF75QYyuT4rrYk90OVlTV+Nk PvTmxL5G8EzlO4Tb85ipGEdm/tKydP5qrjboCGijyrBBrZXarCT9YsJXYivyThE+ CLQNSSF6ZC7k78izDA6J6gn91psVru9q39UL4TAop0+PRwQWwUc3P1LMw2sb+GpV er9BtfDD8uaEcO9atazPBp1tv0OTrlFB36DUtJGKXjAErlx8jxsQWsP0s+ypHohs 0TEovHkx2g+XR5yr7djMqqV+ffJHADHyccBRhvQajwk8lKrBhAY/6pOxWbQfU2Fo aWwgVGFuZG9uIDxzYWhpbEB0YW5kb24ubmV0PokBNgQTAQIAIAUCS71SowIbAwYL CQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJENvQYAHAFtl3LnwIAJsO+cEo1+2JJekC lTvgOF2dUf46xwU9x7c5AbeVUSgBpSIctPQgO8ILs0u3VpN3CWx/tfAw2R+Z9s0c 8MgIERuKAMwr3Vfua/KN8qwD77/GCDylbndnxgd1cTJhvUArYJCm+ChN7wAcFXt4 Bs6jJ/gSEtdT+Yk34ygOq0aRRTl5uXaKoSzZ9KVcf/57dgmVSD3JxnzbXJF+6Hv5 FRIUZI6L+pbv4vf3nv0lvoR9ykuA8FgfDc5TPGX2eXFDECcKtME6qfxkM0l2aGHI gcEQyUoiOQV299Kj4xw9i+mQTWf4S+qOyBsJYJGe8tbGJNm8c0iSoXG9hUz88Zak HpD8VI65AQ0ES71QhQEIANV6IEZPecqdnNEykNoCOitjHjvHAOJB3HZBBPaNKO6n TAMntmsgvpnC+mv0GYYzDpGtQ+nfpOQkHpaOrs9K7b5JA7MABnursTn91p/sveRb en0g7IWjnddwVyy8G51QEd/0Pa76yjsOmdQ0EE5gSarBCQwpmV0mBSgaJ2xUIu1F +wcd2I6g5ii30B5TNd60J81USoTTYCdcYtus5ZwPkBew1FD4CZNhstWka6iSKBpb falSp8ZAZvEuOEA+WSf4OYVC3nQb18ULnv1DfkKUukxRdQg+OSWkwIJbyRbixiGZ KMTBM2xiiay8sjXupmEzruk7Fj/xK9aPrksgf1LTq3kAEQEAAYkBHwQYAQIACQUC S71QhQIbDAAKCRDb0GABwBbZd0FYB/4jYDlkWSPEsUSWT3kxHoxKukBtPvpnin/p Zq/ISHN/tijiSZ9jMjn5/2AN/C8IGcUqKR7iOFd8J035ZA2qGPTTrIIwYQ62No5U 1RjM/OZPOL4jy6MWyvq44VOW46obr5REsZ3Zhf9yLFIjGDSGqAvWuiy3EMve99Tu s9CDZBaZ2pXLiQC7Zg8LNatfdrSra/F+lXYKdFi2ddNRsTC2wR3fTnGJjL+fOM8r zUwkMqiqxG28TUDiyuFl0wyZIV8KJC8+wfSKLuySH337iSSzPWBKROiOtFfE2j4Q f7QcTMOmDn31HgY/JpcmnsChPtGs5W8Ao9Dp3d6tlzA6iQSZ6iRQ =jPKa -----END PGP PUBLIC KEY BLOCK-----
<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-----
<romain@FreeBSD.org>
pub 3072R/5112336F 2010-04-09 Key fingerprint = 8234 9A78 E7C0 B807 0B59 80FF BA4D 1D95 5112 336F uid Romain Tartière <romain@blogreen.org> uid Romain Tartière (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-----
<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-----
<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-----
<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----- 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 /as7XDPGqpDTGynLpsYRRxnfBp6Hirr8MKme =RYSt -----END PGP PUBLIC KEY BLOCK-----
<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-----
<gordon@FreeBSD.org>
pub dsa1024/46EDADF4357D65FB 2002-05-14 [SC] Key fingerprint = 34EF AD12 10AF 560E C3AE CE55 46ED ADF4 357D 65FB uid Gordon Tetlow <gordon@tetlows.org> uid Gordon Tetlow <gordon@FreeBSD.org> sub rsa2048/0C1612E28AC09A31 2015-01-12 [E] [expires: 2019-01-12] pub rsa2048/E5F7BCCBA3BDDDF8 2016-04-23 [SC] [expires: 2021-04-22] Key fingerprint = BB28 D40B 360E EE93 6AED 156F E5F7 BCCB A3BD DDF8 uid Gordon Tetlow <gordon@FreeBSD.org> uid Gordon Tetlow <gordon@tetlows.org> sub rsa2048/62B06BA80727E1FA 2016-04-23 [E] [expires: 2021-04-22]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBDzhleARBACRg1KdGeSzgkTXaRoBCqnjTjxoBZR8HzRn2hs1hS3CBJVGfAKQ NOCyKFQWWqYIlKDIEA38767uW3yyKNSnQQI3Ad17ifWp37M1B4wdgGGmEAiyE3Z5 v63120MJgRhejyZph2d2CfAPiLPq2LXy6UIUipuYQl0BICZnL6rDm+QAwwCg164x uMUutYhSdB9/hBLPECwtXeED/iE9eyJVcXvdambHZfcvySg5e5+z7Y8FMWQuhcO0 svBIrhU/gr7S9lkwudOj3LPIffwCUBNerVDGuDUhu7iR0YIRDX6aN+LCkHFXK9x5 ScLHIj0HHpbQLJeCeGAZnPpuIluFjRSaklVERHvio9gR2cOlo+iXRku/SbzPEzA4 BTvYBACCKxLHWNFdyiZLIMsSVn4pJtgUzIfSw/auBALMft03fvXD0cNOm2RfhJj2 Yc5U4k6PBBtoTTAaKVQ+D7CRHBhlg+Ls/aJSk7Dj8XJHdv0w1AkGz/OAJlJIDj9M RRCPyfhTq4nlsbFOrJuTcq5XMxbdd+voohkhgaiz9Lk+KNCQX7QiR29yZG9uIFRl dGxvdyA8Z29yZG9uQHRldGxvd3Mub3JnPohhBBMRAgAhAhsDBgsJCAcDAgMVAgMD FgIBAh4BAheABQJUs3+tAhkBAAoJEEbtrfQ1fWX7dDYAnj3/gtboWy3W7wkRSLbx KJJxeP38AKDIha3bCGT0kLYLrI5aN6hyZjwv4ohGBBARAgAGBQJL5BttAAoJEDsu O7+R7JbCMckAoKnzjHLGUfJdG9kIpTH3aVQsz3WeAJ4zWGHbFlZlox9v2zstoxLi 0MvdyIhGBBMRAgAGBQJL5GPVAAoJEMiGpCvVsvD7eoAAoI3g1PbzKSmY7UErUUQH mc5qdusKAKCjuOcI3twqfBUDFgtWGVZBTsOFnIheBBMRAgAeBQJAX4uxAhsDBgsJ CAcDAgMVAgMDFgIBAh4BAheAAAoJEEbtrfQ1fWX7OTkAnRjiAKfnimnKROdNTpYu lieGISvAAJ0bFRqeL7ojVXOOdqxG0SWcKJwrOYhhBBMRAgAhAhsDBgsJCAcDAgMV AgMDFgIBAh4BAheABQJCHRULAhkBAAoJEEbtrfQ1fWX7CC4AnAjJl7Xcmfm5l4Cg SWtFJHNRmiwAAJ48QqYkTsG6gRnPY/gamZ/UfeP0oYkBHAQQAQIABgUCSswF/wAK CRCQV4eJidhUfut7B/4ji+mLBAMRQM0UUWxP7xAs/RNen2nhos5AS758v+hBXFG3 7PC0WAwt8zaJ/LulbDmcPSuo8DfLXTwwrJ5C1dkbzih+ldBSYUThA0xTVkI1Yq6X A0yi4attauUv6kAfAZxil6JjZtIaR2uGYaWxgaDOC25imDsSga5USNHCJSZTDqnJ cboeocrWFpPewdxGdveV4ZlB1JHcgJypqecJ3diCCwnZlEL7aM5GhhtL5B9KGUfl 89UMchcbdUraDuq846Qjsfsh/9iPugQypRrnI0gGS3v6TVADvJZOn0gBVqCvaNsr /Jo/Tj07nmFsVFbS4E4gyXyFUO/btVPC9E3gi7gjiQEcBBABAgAGBQJL5fksAAoJ EPb3c0dtwTW5c2AH/1s3zDEPGXwaDR+98owovleladq/8lw2s11ztSVZrl23C+9l 33p7aI2KXuGSSBh9W2GEzdUjIc/J6HWXcp4isGybSJUzF0cX2yUo519dHc3BIQ2a 1bu0woJskxHe3k4DqtkB//d4AJulzoUiU62dywyUEc3j8HrtszOG1NViWxeCey5j A5uTLQGWt4KJ/kb0qFEO1l/wEgLH4A9+BUtjHNTSZ087rfPO4NP1bfAABGB4iXR2 iGNFNYsjHCkmnpGupJ0oCBpkzN9Ixr8W69mbl5ZCjbtEGkyySV8PGZ1U/tuqz5k6 a1EVjx1eq2XkB9kBoqYulRqIKGXeajV6YMwIDR2JARwEEwECAAYFAkvkY8UACgkQ XMaG8RoavISF3ggAlpczvI2CPJRVsq1geyiSKxB0ysdmocV8LwvPAg0vjjlTCjrE 3/ZdIacobSphx9bXsYeakRA12/+VVirmdwyBIA/8wdk6wle+OOW2SYw8Es7S4h+O tClWusZzc1KlaEaifcR0ETyNBhRqjojzAZK3xG9Y/Ba+VjFw+nxeIeKfv3G1N0D6 bvGjyXY1FnHpVPkOQG+gW0u6qkMzWTJa5L2dcTR6nzshfXO6GBTtrM1RvsA0fgCw 0OB1GBc3qcrdzjacd107LLrmjNi+cqtNjGXOSx6XiE6IFq6PFbbsGsS7XOgpxPdS f96F12lwQAbQRtyKHasysOMs0WRoUtrNqSNPb4kBHAQTAQIABgUCUVB+wAAKCRCx XnqMDf7VMuP5CACiPox7S1dtVOQuPJf5NwjdrsQ+lQKpjeOQQGj0ABmNbXQirNtP ITuhH5I5jS6ZXVTgs/hggGb/LmT0ad0/tx4WKJxHzPE4E7klHgm2TIQ4tdGKndco C+qwDZOLFxE3cnMW9yzGNeq9Jr4Gg8TEtBk5g85RBf4/cTUOmoB8sz9qFQ7eQgLa Ko3aNE1ZQUFU6+lVa4pdt2Fg483AWCLuveCddX6JSDw/ASGJjHjAbMXB6n6fCb4W lpv68ls6y9JAq+gX7Qbim6/0fx9XBsXv3UV6Z0Q1BNuiSDtVYvGfZJXF4fncv9Yb qqVL0ctO8DG51Sul7WljFNS+vfpUDyxeDTh6tCJHb3Jkb24gVGV0bG93IDxnb3Jk b25ARnJlZUJTRC5vcmc+iFkEExECABkFAjzhleAECwcDAgMVAgMDFgIBAh4BAheA AAoJEEbtrfQ1fWX7kOsAn1I+RrfY2yy3OHMwaNrLDjERiqV2AKCfYyUmg29zRch8 zD2F7hYpj4JnuohGBBARAgAGBQI9B7AFAAoJELVSsEN3OQXW6NUAoIAmuuM9TO82 8JK4Yw2Z/0PK5rkBAJ9MQm6xs2QkqC7sLEerLNMy9WVC3IhGBBARAgAGBQJL5Btt AAoJEDsuO7+R7JbCmV8AoNLa0QjvfwLnmtA5JlngMBxxCQNHAKCna+4M3Ct+jqgz qS6M5QlSyiiML4hGBBIRAgAGBQI9B7I4AAoJEBj1A4AkwngCmiMAn0OnlACZwBHo tWU90TS6wS3DZuDCAKDuld+FoaG0wO+Mk5Yhqt2eG0pDZ4hGBBIRAgAGBQI9B7JW AAoJECH5xbz3apv1J70AnjbmYeDh0l/zzJ7XdOxCQwCxKALhAKCNupwTeAg0h7cc ktqbiy0pMZyScIhGBBIRAgAGBQI9CCADAAoJENjKMXFboFLD/lIAn3vYd8/uw2X2 mhfxgYTRPe83xqkFAKD5aJSBIk5l5gRAyJkovADGgxtql4hGBBMRAgAGBQI9B6DP AAoJECAVMdWEXf7dqG4AnRL2vaZxAR9DbVnNpxXqxPImRe2gAJ9LGV3184i2+ss+ HoLnYl5xd+toKIhGBBMRAgAGBQI9B660AAoJEF2Oi+nyOBrUl7oAniGVcZACLFKG sQhvlvBM9Y0qlARtAKDldycINOlHswiNEd3UODVD0OCm8ohGBBMRAgAGBQJL5GPV AAoJEMiGpCvVsvD7GAcAoNyJP0kERsHyd6rHkFCld1tUuesBAJ9fwZ3aPhX2G5c5 ZbmfHSh+rk2wR4hMBBARAgAMBQI9wxaZBQMB4TOAAAoJEG6Im50x5uOY+KQAoIlt VDAQPO6J8LbMOuLyOKDChQWoAKC0DZTQSH1Zg2dCmYL/6d/zMGIiDohZBBMRAgAZ BAsHAwIDFQIDAxYCAQIeAQIXgAUCQh0VAgAKCRBG7a30NX1l+6BnAJ4n6AbF7Nrc sU4WuQfRolqWbPZIggCgzc6mAmjhqnb3zBkV7hh2zgIAxEyIWQQTEQIAGQUCPOGV 4AQLBwMCAxUCAwMWAgECHgECF4AACgkQRu2t9DV9ZfuQ6wCeIEkYwcTwXhiPKowQ gBBZSgPDDmsAnAptnBI7voD/sdmv6KdvDtNm4OzViFwEExECABwECwcDAgMVAgMD FgIBAh4BAheAAhkBBQI84ZXhAAoJEEbtrfQ1fWX70n8AniMdGKyGatveRee+VcQw vICUw5ajAJ9nxEqVexrPwYXUlEekdIC9fnjMJoicBBIBAQAGBQI9B7JCAAoJEHxL Z22gDhVjSjAD/2Aek7xmxMzHXsu0EQvT6nbHpR/tDNYlGKVuBWvv+cKIyiPTit1t +3bsOdCDWlTG78vO/faSQMuxYF/BXhtH159rpD03mj794llS41XKnErVAcKsn+gb bJ5O29XKLFHNegUYAaJDzEmmUAnyR5jc0qNgeywWiBTYaZhzgQhqT0cMiJwEEgEB AAYFAj0HsksACgkQ1uCh/k++Kt3B2QQAozuI22PkMZnTI4sWC6YuJGvZr0jAAe76 y7Tw+Nv2WPuhQ79OUwgp/tjzEbrXJ2i0Evu3h5kUBbJP16P5QGn2wGHY7mZjoIt4 EudeWRrjWY8nKIOMrWGFN/ZxyuTCuUJIPHX1HVFCuOyd1pNxvgAD3JlB2h62yUjY U2q9d+y+3I6InAQTAQEABgUCPQe7PAAKCRC2hPF8wQqHTXmOBACJkAfLRCX7EHnN NFORHOJlK3u6ofAX0oAuhR3RQHIUk9yqq2/SxY1xhU+7+sABAW94b1uqL2sM+bEi 64QaXdMDLH5kq1dDmt7oTgbQCgkIo6lQBlpFAdqT+IlkeCmXVjLLZ0HnqS33HPpD 6sI9Lw7e3t6CJDMY4XlywW/jrmAHnYkBHAQQAQIABgUCSswGAAAKCRCQV4eJidhU fuD1B/9Lp/P5i99Ar8xDYdpfPYPwN/TEIrVVQMvp4IkUbl6MRbG+vn4XsVfwL+2G MvUSF3T/zMEOD+dPo17GHOHRS/6/dth70LD/KdQrtjn42gfdNQBdGQCVerLrmtGl eTFTaABUZ6tU0Hi7WdkppnyNrmEOOoey5ywhfCB4AUPXTYkGGqVAfie5UGJeIhUf kq2Pyr+uvuBMS30eQvlI1/0nGa6kl2lND7cS88/ckmSvfbf+bq1/jra4GsbfLOOH hEka+WWk4T10pf6ZBTBXMq/4ItDlA2sQCoM3C2hXHEipZIF9bPn2YrgMC3J/bZOd +0OoatEe0WNi3uAGO9k7bfFqYAF+iQEcBBABAgAGBQJL5fksAAoJEPb3c0dtwTW5 IFUH/1H3KMIMy9RvkMlxpKra9pGzyLuqXq1c5olkHbYMBbmeoH70q8SlR5GeihM6 2+Q2f53bAztFe2u4c8mVtdxM17H+AGF6socvRmBEry3DeGWLqCp5Ca2tLsF39QyA nJEOrozW3uBQx+oJeQ3D3W02yCax46MU3Y1+q1WTQaOR2HzwC+zOtQgvJlAw9ynT VbSQfwAcAK50IN3I3Gg7zRrskR3uwE+sGTMsdsP8yZQMHU/mM3gWxYeB5YVrjLIn KF8FC8V3l9NF/J4OYkOJW/8e0qwJnC/uFLahT9T1Oc2zgzsYjgZ2wFX8RbqV5nPc W0Bw987stI9Z7o6HtloafzdRn6SJARwEEwECAAYFAkvkY8YACgkQXMaG8RoavISX 5wgA2JIwAM/tSNv/1WxwcRUJfjQdwsqPvXe1JVUdtJdJxJSH1USnnHdfQnK1ZVRi pUlhmzjMUq3AQzAtsj7LY3RUezWrCmZanXtjGFYZM8u/LenFq3nuR9mW9bvHpAtv N7TYYnzgw1XwaQEfAmqFCkL4XknduSabDtmYEAt9Lv55BEs6YgAm+ERno1l4uDcF TytWcSn/t68boajDBv0kQEgmUHuyw05Jr40FmlQZ+JGGLxA6cQxyx0fZ+E5taB3o Xx2+b8GE7V/qXs6aNXtKjCAnwWMpgF7KVHxmCaLzly3ajUiqGDkz/5JaIcxdj4j4 1SRf+qaeveXMjIUqp0Ue1TTqFokBHAQTAQIABgUCUVB+wAAKCRCxXnqMDf7VMlJg CACZWAYlkMujk1HM4eQLOAFFkfBICy3+E40/xW9tcs37YhAvDL3XkUEMuX8JZ9N1 P1n6M/J21AdV89HjJLoCOBWQ2ot1LksSn+TKJO7XVN2Yhew3KldUm/QdX8OGc8o/ sicPyGOTb7ULQwyA7MkFEjI82lIKsBADxatTG89Z6uTHognnEMNMOGw6lSwYF4le Mtp5IRV9eRTbxXFMEarwTFmzIhGytX8zSRaPyhC7IB4xT7hu3jrDUACXxYpfbd5j ENVfj+gcuIEysDVTWhNZsrrAsag9Y6Af7808Go6INAguIlqxnGHp9zYL0ScWTHy0 FgWK3cCC9mYnpBibRY4V5sjltB9Hb3Jkb24gVGV0bG93IDxnb3Jkb250QGduZi5v cmc+iEYEEBECAAYFAj0HsAoACgkQtVKwQ3c5BdYl0QCZAQrSvVWxwmwJq4qS4m9F gdWTucoAn2Dea8HQoOPvLRj9IRh0jdzOWk45iEYEEBECAAYFAkvkG20ACgkQOy47 v5HslsLJkQCcCK+gcmk0TUjX0NqX7dsyYwibCWIAoMZrUAsOM/LEjabdOVaqiT6o XBnHiEYEEhECAAYFAj0HsjsACgkQGPUDgCTCeALbewCgokMlypquzasL3SExbdbX S27xCwoAni4XvyoNd3GBePs4fy4yUjKyOTJqiEYEEhECAAYFAj0HslkACgkQIfnF vPdqm/V0MwCeOBidsDe/z1EzCFK3LJPDkBvQCP4An0UYz4df9J69dxmP2Eqn8JJs dUdIiEYEEhECAAYFAj0IIAYACgkQ2MoxcVugUsNSiQCgktJN6aCAHnusQajUnJ9e xpOWxYEAn18BPBKs8vdWvTJjNwqI9BAe6WUdiEYEExECAAYFAj0HoNIACgkQIBUx 1YRd/t2B0QCbBG60aRGEgrQzMkpodzJbU5Itys4AoIS56noACXYphdM25tdfKPS+ QesfiEYEExECAAYFAj0HrrcACgkQXY6L6fI4GtTjFACgiAuFsZW43/A3A9EATgD8 s0tEmoMAoLHpxQUAQkvYlHobnsU2jSEImhDZiEwEEBECAAwFAj3DFtUFAwHhM4AA CgkQboibnTHm45iukQCfUC6vJuAc9npbySPYD7mmf6DPLewAnj7vA6aAl/BVynOV jkJTjrdRPZQLiFwEExECABwFAjzhoTgCGwMECwcDAgMVAgMDFgIBAh4BAheAAAoJ EEbtrfQ1fWX7VWkAn2CL/nM5vITDd8I8RerAOQ+N76zEAKCkU8UZso8Q50XuEKAG UUc6ILerLYhkBBMRAgAcBQI84aE4AhsDBAsHAwIDFQIDAxYCAQIeAQIXgAASCRBG 7a30NX1l+wdlR1BHAAEBVWkAn2CL/nM5vITDd8I8RerAOQ+N76zEAKCkU8UZso8Q 50XuEKAGUUc6ILerLYicBBIBAQAGBQI9B7JFAAoJEHxLZ22gDhVjSsYD/Anx/8qM 1w2nw///dbZl8EuseDEk17LZHzhnzk+nS6pWttNWfgg7B2skMH8FcyXXFWFPuV3v HcG/7CvCYy4sG9gEp54WcZ2S3h2WAIt1NKDbHMaz2Se0M/dyhazX/zaPB65q8lPU 1Bc4Uhyox8jXgR/kyRDo+j0S37Rz7mxJDtatiJwEEgEBAAYFAj0Hsk4ACgkQ1uCh /k++Kt2KFwP8CGicxn7BRXd55WSivIX2Q/PXlEkfLMFfzsugrZfKjkpOF1hcbY0U czUvQTP02I3e3CQVDkA0CrvsEBTM7SXSnZp7cKAU63YOxxjBrSp0eT6c79l7hjir qF8tst8g4EbGXN4hRMHmUQKONhQRVNcLQwld/gdV+Bo+giQzE/UdyLWInAQTAQEA BgUCPQe7PwAKCRC2hPF8wQqHTYHIA/0WABbepi1kvghkpNjHQeHgNTHAwyWN3fjp /HOu9s9QXUIz3mHXf81h42qnjKHNY/3LYrBqIDdR1MLo6CPsaOKbq2hZxYmMiUfZ ShSvbjAVcP3kb6ftvUGGu0WP+lPzg+3H1KNATAUvWYWRzYOhjD0pSVnfO6RfDd5h a8EStXVTs4iuBDARAgBuBQJCHRaYZx0gSSBubyBsb25nZXIgd29yayBmb3IgdGhp cyBjb21wYW55LiBFbWFpbCBzZW50IHRvIHRoZW0gaXMgZWl0aGVyIGRyb3BwZWQK b3Igc25vb3BlZCBieSBhbm90aGVyIHBlcnNvbi4ACgkQRu2t9DV9ZftsoQCfbPnk lFBE1qwG4TUX43z/KvjHYnQAnioOF5SDhd8S9PILGW7i/eZF0LxLiQEbBBABAgAG BQJL5fksAAoJEPb3c0dtwTW5AJUH9Aq7boIpgRc0JeMxyWEEjiwNGGK9/iHPkdU1 XwhOv6x1rYkdYHCgDBalG9vm1/dBcn+GEcvZLzs/Mt8eGvTDFpgUYih+AltnIv4k ej5zvhP/EMCrSpgG6RnoQ/RLAzE8ufsvRFPtki6WmZg+J2AYXT4qjObxmAtcjT+J /ZBHisbi6zyvC6LUI4EFB5e3Vd7w1ucaqBkgq7/tQemzVsnyjtTNE7Bki2rkAw0x P/zTS2xpSYVub3zFj/blvA9Y/pYY1KjfcLsysleTk9Q7VieeUbKVxTi7eCVKv91W FyXNU8mR957LaNUEhUBQceiKa+lWhM69hG5ZAxYczt3j/dYUQbQlR29yZG9uIFRl dGxvdyA8Z3RldGxvd0BtZWx0aHVzaWEub3JnPohGBBARAgAGBQI9B7AKAAoJELVS sEN3OQXWJdEAmQEK0r1VscJsCauKkuJvRYHVk7nKAJ9g3mvB0KDj7y0Y/SEYdI3c zlpOOYhGBBARAgAGBQJL5BttAAoJEDsuO7+R7JbCALkAn0eermJ0YWjsYMMZ04mn 6ONe7fB1AKCsiTpAQ+W2KhpeESJdyk7IhAAH54hGBBIRAgAGBQI9B7I7AAoJEBj1 A4AkwngC23sAoKJDJcqars2rC90hMW3W10tu8QsKAJ4uF78qDXdxgXj7OH8uMlIy sjkyaohGBBIRAgAGBQI9B7JZAAoJECH5xbz3apv1dDMAnjgYnbA3v89RMwhStyyT w5Ab0Aj+AJ9FGM+HX/SevXcZj9hKp/CSbHVHSIhGBBIRAgAGBQI9CCAGAAoJENjK MXFboFLDUokAoJLSTemggB57rEGo1JyfXsaTlsWBAJ9fATwSrPL3Vr0yYzcKiPQQ HullHYhGBBMRAgAGBQI9B6DSAAoJECAVMdWEXf7dgdEAmwRutGkRhIK0MzJKaHcy W1OSLcrOAKCEuep6AAl2KYXTNubXXyj0vkHrH4hGBBMRAgAGBQI9B663AAoJEF2O i+nyOBrU4xQAoIgLhbGVuN/wNwPRAE4A/LNLRJqDAKCx6cUFAEJL2JR6G57FNo0h CJoQ2YhMBBARAgAMBQI9wxbVBQMB4TOAAAoJEG6Im50x5uOYrpEAn1AurybgHPZ6 W8kj2A+5pn+gzy3sAJ4+7wOmgJfwVcpzlY5CU463UT2UC4hcBBMRAgAcBQI84aE4 AhsDBAsHAwIDFQIDAxYCAQIeAQIXgAAKCRBG7a30NX1l+1VpAJ9gi/5zObyEw3fC PEXqwDkPje+sxACgpFPFGbKPEOdF7hCgBlFHOiC3qy2IXgQTEQIAHgUCP9d6pAIb AwYLCQgHAwIDFQIDAxYCAQIeAQIXgAAKCRBG7a30NX1l+5X0AKCoS6MuDmiun7y4 V0gSsFrJIX2AMgCgj2np3WpucsCpLWZd350bBQkyxQKIZgQTEQIAHgUCP9d6pAIb AwYLCQgHAwIDFQIDAxYCAQIeAQIXgAASCRBG7a30NX1l+wdlR1BHAAEBlfQAoKhL oy4OaK6fvLhXSBKwWskhfYAyAKCPaendam5ywKktZl3fnRsFCTLFAohnBDARAgAn BQJNsySgIB0gTm8gbG9uZ2VyIHZhbGlkIGVtYWlsIGFkZHJlc3MuAAoJEEbtrfQ1 fWX70mwAn2tKXwPrxEBmljXAMon/hsWHC+F7AKC6uT7pijcMUGQn3D4x66ivbZx0 hYicBBIBAQAGBQI9B7JFAAoJEHxLZ22gDhVjSsYD/Anx/8qM1w2nw///dbZl8Eus eDEk17LZHzhnzk+nS6pWttNWfgg7B2skMH8FcyXXFWFPuV3vHcG/7CvCYy4sG9gE p54WcZ2S3h2WAIt1NKDbHMaz2Se0M/dyhazX/zaPB65q8lPU1Bc4Uhyox8jXgR/k yRDo+j0S37Rz7mxJDtatiJwEEgEBAAYFAj0Hsk4ACgkQ1uCh/k++Kt2KFwP8CGic xn7BRXd55WSivIX2Q/PXlEkfLMFfzsugrZfKjkpOF1hcbY0UczUvQTP02I3e3CQV DkA0CrvsEBTM7SXSnZp7cKAU63YOxxjBrSp0eT6c79l7hjirqF8tst8g4EbGXN4h RMHmUQKONhQRVNcLQwld/gdV+Bo+giQzE/UdyLWInAQTAQEABgUCPQe7PwAKCRC2 hPF8wQqHTYHIA/0WABbepi1kvghkpNjHQeHgNTHAwyWN3fjp/HOu9s9QXUIz3mHX f81h42qnjKHNY/3LYrBqIDdR1MLo6CPsaOKbq2hZxYmMiUfZShSvbjAVcP3kb6ft vUGGu0WP+lPzg+3H1KNATAUvWYWRzYOhjD0pSVnfO6RfDd5ha8EStXVTs4kBHAQQ AQIABgUCSswGAAAKCRCQV4eJidhUfnEUB/42CCFCBoAlK0Qa86NoG8Kl5SsgKsii wIPS+fJqjkP6gFJas7qRiUtonVtJhCtNNTjYP8Ln+gKDfkUpRdXry0CVClnVosZs C3Y71lCRim7XJrlEnbuESDVbLcY7Oo635RfqVemVCANwf4DqiWTjwXzDmDhR3yJn GV9xKoT+t8G9Xm4KmtnP2wInCFD6r+qk9T5mDkCEtbMOmHqVsA9A8G4aANOu/s/s wKGzNVNTmq0ut6JOFQH8WWbYLROx3KoCUUTEekvUh69Ux0V6TCcOpO+CvchRWvMd nZ6u/5VlaeeaBpfaxbweQYIyHzM8yNAlq/1PjwhNtbwaI/Bu2Linb+dFiQEcBBAB AgAGBQJL5fksAAoJEPb3c0dtwTW5YSAH/2VKFpcfAaXVD8Q35Ewn28gnRJIFyXFu w64ZjsrUNP8HWvyTAX2PnPTHJ2dev0tamGzo8V6Ek30pHoKgk6yAiEIaYp6pSzwS F2pD+y3vi6M8jIUS+BxKqVP/YDA/U1QoyMiXxLowGq2LyOn4KmaRZ8J781cWoNd/ NJCe0OJsm/aCDmE1RV2bWswSt1ENwrA2veFCWv+cewGAbQruwmJojNG/slRqkSNq 4nQYmfbSYWO9axJPfm54Dc16pJqgjrd0pVoktE+nSlKh979H5GjzGJUMNICTUemH YMuZeJBBaoZKRgrVzHllorkBGVlxFUx3Ncd2uR9gbyUOt2wmmAuUZUC5AQ0EVLOB WQEIALW1z9VPpk4VrJhQdEw9RSCgucqFLcIlcoj1CsoCWuw+b+KrOf4a0SuCsw+M NF9RquSBtg7vLDBD+ehGo5EyrePCG3+O8CGNldygDgLPVtR9h4Z55syqv/6PPpdv nytb7KivPJfli1Ive1XHZYto35/WJo3dnrykyL10PGUb6kzXCmvyILnMcRCYf4zw tjemivoRDmllrzHe0swwLEXVhGxh+UAj3n8ML19zI2KimTaC0d5vTxfx4/4/eGJ7 s02LlnL/nmR87Lg0+KH/hUOkQHbM9UYEfDaWjMJp3O0zVryny0y4ShIjGgSV/CT6 bf6+HfV+Uuo+sCDz+Z28A2t9lu0AEQEAAYhPBBgRAgAPBQJUs4FZAhsMBQkHhh+A AAoJEEbtrfQ1fWX781IAn35bS6GP0uKyw1JmwZmf2Yidio8nAJ9eytj8CFq7fL8/ gFli5Z+Vz8LgZ7kBDQQ84ZXhEAQAj7AGaTTXRlyJSjFyYWDnoPwrjxuXbdFHGqvW IZplCcPLZriy+Q/N/QQu/amkqwfVE3LinYtCpmortJ02rN4ek4Q7vp6i6YhgFKpE kk/I4SVxe3v1/4IDC2rZASLzbJw3+KMFBY87JvZ5m9hjz3nFhrMgKz5ERgplfp3x GL4QaPsAAwYD/0GdvZVKYDruG54YBNiz9+uNc0B4zKr2K2Spx25h1WFI2cLldmFL 3RTyNtTmFpbAGMonfDlEzfUSkvgnA3B2YUvUkuaLUCxvT/2ilYfwvR9pp0VNBm0r fIX9B1/sup7sz3t4sBPTua28XktHP84az7s92StGN3tGW/rXXeDaTlcbiFQEGBEC AAwFAlSzgZoFCRfTPTkAEgdlR1BHAAEBCRBG7a30NX1l+zT+AJ4xjjPvnMGNXKV0 Z75E4tHfqtIcdACcC9yGk/Y5CnMo1oDqnRYr8QEQGO+ZAQ0EVxsWaQEIAKuZvZPs yquEYRN6ZOKBDu94fXReWrosUxvtn2GARwEX2hXU1k4t2eWsp4peCZidCzy3aXbw FQ8r80QutcZWcvHkh44HjgPHrqIeF8C+FA7A6S8r9BKEO8VcpDa0Q6GZ1VLAxl14 5tIEdt18Ovxs0TAC1+eePwtjybDSFVFd7D9iwFYRL2Ts2TGkGuOSh31tgZ7nmek5 jVEUgkpxQM1DNacZSbLvMt2hwvjBXIwdDsBusBZSuuQUbtwPQRXCibrh/PFLnzSq ZWtiWTcjbvjMR6V5nbvN5gMMqdEDl1Siw7OYdx3uudyTyXQGnYqUyunVLRng1A06 dhsK02d8U/Cdi1kAEQEAAbQiR29yZG9uIFRldGxvdyA8Z29yZG9uQEZyZWVCU0Qu b3JnPokBPQQTAQoAJwUCVxschgIbAwUJCWYFpgULCQgHAwUVCgkICwUWAwIBAAIe AQIXgAAKCRDl97zLo73d+JqPB/9O9R5PCgJClO+UnwElMAcMoFpk1PDOub3eHWyx 45q1cZCltocQhX/zNCowGP5C/ADZL3AKv2JcmVq/o47p/dLzk8Ww2Py7cjx9pCFp /KGie+Rv42NiktHrRAZ58uZ+pPJAvQPhB3aU1XoWVyWqftMGKf850ROTea5LoEbE jwep9C2+DQ20W4SosTHiNh4psY3OdaEshCwe5/h828vDgGKWDYFkYqTGmaSV3+pX NxfajJ+2xq4He5U0pe0/ST/2hJ/n7sfDC1ryOKYdrji8yA9fe35NM6Cxqc64ViXb 0ACE8pG5surwYX4Lq8hb5fOSak0Iu5ahyBDRJzDDmhq00KHtiEYEEBEKAAYFAlcb HNkACgkQRu2t9DV9ZfsyvACeNLMvTdsIXRgkYTSq35fYx7XN3CEAnjr8O3pLkYBf Qhi5fkMBl3eyPQPMtCJHb3Jkb24gVGV0bG93IDxnb3Jkb25AdGV0bG93cy5vcmc+ iQE9BBMBCgAnAhsDBQsJCAcDBRUKCQgLBRYDAgEAAh4BAheABQJXGxqPBQkJZgWm AAoJEOX3vMujvd34cxUH+wdk4woK6OAb/Fsqh8Oyi/0v7QhmWu2KhKqXM/LWc60V TeYxrDMHa9cYLAbg/YLxgI9CyxwavfZwJE+gXEd5XZAXaOJuhtYiRO6hWgBaVnbf O8gp0UAB7AMxDQ0g17A4+9z0JNPdoYjKC7Y707knPFUTN5zqeDEHs2MpApn4jvGm VXHJWWvCbnk0+Jsa4eH+C/KRaqmeLUIBX2qvh6lD6EPEL6/kHXIzBLnbyFzcMyR6 u8xMoM2+V6LS9Bxb78muTV1p+UrORiDIfjpAHXLGAq95KXUyC+OO1qQjlqZXXVqp sB0w+9dvidmXx/9s+KfUc519e1lZP+J/MyLV397EetOIRgQQEQoABgUCVxsYfAAK CRBG7a30NX1l+0DsAJ9OLbJc14yP/Nb9wouZRbTgSkGhKwCdGlgpQm8+sQJtcEWS 5vxKk56F0cS5AQ0EVxsWaQEIAMPSSD5eI7S7+Z58t3YJFvSNAupjtTpqANTLl5su ntYGk9OWfm7+GC8mNIyjO02Xli3v6+NIXNDqE8chk4hHizavWUVksi5ZLCYvns59 fae9MUUrSoLRdJUnrE2zbm0zzD9afmnx61411NC/Lc+uoI5mkT8vA4l283jjDO0k xA5sFUymvz15B9BBA7USP/Tax+4ujBZXrN+XkoSmZgJTmLZs36ecOEojd1I7hsn1 4kay3jitJ6cx8/X8Zn7MLjzVfpztBmuGNrBUwBGvMPZdPKpY6yANnq9Uqsva70FN 2VbymKVESyloGaDsCT5gOLoUtoc+sYF6v/3h57c+mTltUjEAEQEAAYkBJQQYAQoA DwIbDAUCVxsarAUJCWYFwwAKCRDl97zLo73d+BPPCACDl8O9E9gLmitUxwdCgBqD fhr3ixQka7Ea9qH98sOaM2SAtE7Qn23WNXzGu5AeaWV+23hm8x2MMr5i7NmdCGtD fOjAsES5vqv3QFdMvU8S09eS7BMh9IyHwzle/1c1jE9eDRD21nKgbraCVY9hi1Wu mq3k6SoDIngFBaOIkeZvp+cywSr0AHrxpGm3L3PmJP1tUvLjA55n38FHUGqo7byp uZPr70Q/bUajCHMkKxgS+8HKO7r3Deg2qeNJ6DMKTVsQAaa74azXApLv9KSjxaa6 fn+3HjTKn5WxCp5ZL50Au8WKHEWA2GB44blloKDccuZQ61uXcfj5bkH8kLi4zZfk =jcLm -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<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-----
<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----- 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 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-----
<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-----
<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-----
<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----- 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 =sGf8 -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<gonzo@FreeBSD.org>
pub 2048R/E84FC1018C87C180 2014-01-08 [expires: 2017-01-07] Key fingerprint = 4FE9 153B 126D A491 294D 012F E84F C101 8C87 C180 uid Oleksandr Tymoshenko (FreeBSD) <gonzo@freebsd.org> sub 2048R/D6BE683DAEC52F52 2014-01-08 [expires: 2017-01-07]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFLN2YQBCACpU+ZFcvIGY8zMZt/ZQoBDTEgkWToftgEyIrX5NY3i5j2SL6H9 ZuzTIRnwCLuveLBAd5KxB2PuE6vZ06+CFQr5+PiHIDVPYHtD4mAMQoH4QP7uZHko DFJti1svX/tGYlsOPzpdnUnOH4hzTzuNhnE3Ic2v+4ttpJ8MUNyXmA1pc2+uLS0K HF+7YJjj07Hq+as1obSAariqH64DsMrhwdJU23um4+ABmBevCBMXPQETAImuiXfT 7cc3bT6d/11GnraEOFpzYiLW2L24zuXyd61QDmPrTevrP1Hau555xek/JYahyOFX YqY/woXAV5O4jDEzDVaOTPWE6zA5opxdv/lDABEBAAG0Mk9sZWtzYW5kciBUeW1v c2hlbmtvIChGcmVlQlNEKSA8Z29uem9AZnJlZWJzZC5vcmc+iQE9BBMBCgAnBQJS zdmEAhsDBQkFo5qABQsJCAcDBRUKCQgLBRYDAgEAAh4BAheAAAoJEOhPwQGMh8GA 4tIH/0Y645lxafLMDv1HuJ/O+LAtHZnasECq3zlR2mkh3CLJ8hrH8gix5iazgvfa JPcbuQBhJJJ+EQimC2xwkRj9gENA/ekY3je1xMF0PtFZi1Jz++VJlOXCMZwrmd5b 44ZBV3aJ1P4bIBmsbPKHZOjcEJ/L55g42JHjnm4LfiJZTwb8QM858XrIVV5K20rJ CvvCNfjZx598MDq6kY8vQiV+SLEAIY8zsxRBEfqSe6YoL9rdjOrcYrSve9sS9Gqf mU69Wu0XOe+wPt+9nY83wRDCqCs5RhEl3AYVTCXRXBCYxOA6iZx1RggLziDMTAAr qpyrIcGLNoLt+4Wmcrfp3nUgPqq5AQ0EUs3ZhAEIAO6l0wbjrVSH88aSpzyuwBB5 Jz1Vd+4XBBbYSjQ7q38c4CZtVQVz4Ln4oIHraOGDaLOfoYRqMwIDiPb3COXP0phC 0Zwz81hIv4wF6hhXj/QMsOGppOA+7xa5tP4AkmPleDcDn+0z8Dj2WCUvVpsPogCu gfvDzXPCwXNmbPNg9D0okpJBQfk1NbEO5htWe5/NjIY7i2inaYQ5h2/YJ2mIH3Vr W2Mg1f8EX/I5PaP24FHd6d9Gl/ovEql8hUhfIJ/tq8xodeB7iU7riu87eY766FoX aKgHPbrb8T0of8nflLfP7attnIhjya5LVG7qOFkK/mVuCiltO3bK0h7MX2x7jcUA EQEAAYkBJQQYAQoADwUCUs3ZhAIbDAUJBaOagAAKCRDoT8EBjIfBgA65B/4s+vPM l6BxTha0upyNvsztNtdDERu5toYVrEeTiClnAjgD1R8tb3W9r9v+zS7LA6K0bhiN gFm3W5AfuqlBfA6wkVbqOPnob3NEvoS1APJLi/bmbqTmvmnJ7nbUahmXqG9PERw9 CHIAoL8dqTPDMRSRGmDT1d2sqsMjDcCx8idQpYddbLIuixDRgsENR4bNdRiKL9SR sPyDin7FJsH78/eXWyny2itdwrw07xnokb5kERTxZVyI9Croo6aoAhYTVBXuUIM8 tbbnSdpGmhkX1ETNMs75oEBS/tyO2Dul+RI83O9opbthhlwxZDfjrvwSDgIv635m P1tjd3MgJ8FVHkKt =0pYp -----END PGP PUBLIC KEY BLOCK-----
<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-----
<junovitch@FreeBSD.org>
pub rsa2048/6FD49C30161CAA6E 2015-07-27 [expires: 2018-07-26] Key fingerprint = 45DF 5459 93BB E377 93CA CDEE 6FD4 9C30 161C AA6E uid Jason Unovitch <jason.unovitch@gmail.com> uid Jason Unovitch <junovitch@FreeBSD.org> sub rsa2048/74E32D39F55621C5 2015-07-27 [expires: 2018-07-26]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =qnaH -----END PGP PUBLIC KEY BLOCK-----
<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-----
<manu@FreeBSD.org>
pub rsa2048/49AFB38B7C929105 2016-04-24 [SC] [expires: 2019-04-24] Key fingerprint = DE79 F601 8D70 10E8 480E B918 49AF B38B 7C92 9105 uid Emmanuel Vadot <manu@freebsd.org> sub rsa2048/519ED84504490990 2016-04-24 [E] [expires: 2019-04-24]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFccxIIBCACxzAC7s/ulrbVyzYxJ28WSZfbuAdxRCVh3RGUZnD9v+CnMKX2f l5ALW0Dlk4Llu2kFpLnjKsyFrZqTJzzPugWrxH5aUsHLCuANk4+Ky5Mu4HR0+nZg vicA4cYO2Q9EsTW5hDbXlQAX26BC13TAqj6WbUb0cPhzFKHv17U2sp0YkeormjX6 CdVpbnsyiOGqlXzqyTUGzL5fvM/L/23Jq87GRSuv2UAwnXwrprTdc8h+YqUyb+Vk A0IK/JjmXgsmamzi7CUnnjraTXS/tm5oH1DepUcNX7aOlyMqGDGjneM9aTeXresM 5QvUAIFjvUXSYLEhOyf1fuEmplqz6Q2DCwdZABEBAAG0IUVtbWFudWVsIFZhZG90 IDxtYW51QGZyZWVic2Qub3JnPokBPQQTAQoAJwUCVxzEggIbAwUJBaOagAULCQgH AwUVCgkICwUWAwIBAAIeAQIXgAAKCRBJr7OLfJKRBdSEB/9ISdru6eoLnMnZ7h4G CudbnGHVIkoIb/Q6C9AhZ3P1emiQdpEbl8ZX6KV4pcFyTayw7es5gUQkNAKoy54s f9hUildNNYZ/9rctCV9y9bxNHYsRPlcVTxgEQ6Dr+Ouvimtz9Y9jgbWsiwp5m/Co W/WZLzmjVj9IO+3ICD2P2pTXuDogiarKtbnAeDBWvhbgllEdozy9HdLhbZkrN6y3 N0xyWLa25wFOnj/cqQWx4VUib0DeZr774yvyN0FVlmQylSPaYW1n4CMOz2561IN+ ALjOpdmUYGCPkOVEubZ90mzUf1yJCQEcfr+LmyhID4S4SfkpxQNkkJ48OFuJeQMV CaiyuQENBFccxIIBCADEOu5Gt1d8BvI/A7CszSrabMs09vZqjK9SKbSUPl+faYDv ORA7L4qsifp41V1VN89hJGHFLFzTQZ0gURTmWEyvwo2vPzmi9zkDR7VEOhGPMZnM z6Z7FNmEIb/14ZmQR2dr9wAGOEm9s1mEXJa0n8Xc1r0aCOzAi+6m7w/eq7MZhO9b 9mQdEe5R4osVA+Mx+u3dQnF8LndUe6jMtnXtCqqzVguLZn4FsU0j/o9zHOr8EyUe gna60Gg3rqxUowGbXVHkizuE5UO2rRTmdSspG2d04246kVBR6ddyLPXGBC9ED1dS bYYOz/8F8TAzFvk8bHVUyxncrxonLh58xqYZPT8JABEBAAGJASUEGAEKAA8FAlcc xIICGwwFCQWjmoAACgkQSa+zi3ySkQX0xwf+OejGpkGOvPmuzvz3V/loYkl1wLTg yIrI+7AGAAeRS1gOUyXD7BtIxPBKcjdrg4+ffHINI4VgZav0OeDuF7vxUZ1/eb+V 0woRf8HjyJ3UwkRwOMuMmADv3L9fqhU3uMRCHSruzUjceAJKRYjXgXceP0d3mpgm eLYFV3wDI1/hF+/e8/Z9NegpZQ/hnJDVOZmehzzGWhXRKDVJ5KKDxnOYnyCcI1Rx 8acOSIOQRbvkvBxThCSXrSVl33Feerxe7uI7kYlBdwRBm53NOX0h8RsDo3DdZRmq Cwn1lTHu7qLxs1k2sNuvC48YyrtPbjFu3B1w89OOmri1nalAFyiC4mm0BA== =CrL6 -----END PGP PUBLIC KEY BLOCK-----
<vangyzen@FreeBSD.org>
pub rsa2048/AFC12A13EC20DAB8 2015-01-28 [expires: 2018-01-27] Key fingerprint = 3E70 4F4A 0D13 41E8 BCE4 D73D AFC1 2A13 EC20 DAB8 uid Eric van Gyzen <vangyzen@FreeBSD.org> uid Eric van Gyzen <eric@vangyzen.net> sub rsa2048/AEDFC8E4E2244266 2015-01-28 [expires: 2018-01-27]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 ob6Utc0PmSTUY427+T7PxPNCjvx0 =I0Ly -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<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-----
<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 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 OcV2+EVyUXQ= =8HRd -----END PGP PUBLIC KEY BLOCK-----
<avos@FreeBSD.org>
pub rsa2048/558F4F536DC10B47 2015-10-19 [expires: 2018-10-18] Key fingerprint = 4056 7E58 FA1D D59F F3EA CC83 558F 4F53 6DC1 0B47 uid Andriy Voskoboinyk <avos@freebsd.org> sub rsa2048/515B99612E8604AF 2015-10-19 [expires: 2018-10-18]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFYlMd4BCADNcYdvoX1mVnpigMunLZpBPXMxxn5oHdS68zlhrDzEL0wd/Die kEG+u/WxPWXivbIBa5b+9hrunQBF6D8OgT9Yk1eOB/6oQdVJRwyWx29pi5MzVP73 M5ljUg7DT8YXNMBtbjoLLb6GIJFQDrZILaRxwwdki3ql8Z2WjoT57IvPjgW6UqbO W0+W8XzFgr/SxZusAy1b6YVIdPPpnluh/AvlcHkl0fxxmZny4s9JvLSEzRyoP9zo +GI52H1X9b7BGPcpykDXu/O4m5rdImXjqEJN7HKUa6+fxXVFs1ZwRBTPScyh/2Cy EQo+Zj95aP7Zh9bsiDjT/Jw2MCxbaWuMhTP9ABEBAAG0JUFuZHJpeSBWb3Nrb2Jv aW55ayA8YXZvc0BmcmVlYnNkLm9yZz6JAT0EEwEKACcFAlYlMd4CGwMFCQWjmoAF CwkIBwMFFQoJCAsFFgMCAQACHgECF4AACgkQVY9PU23BC0dHDgf/UDYpRst9WC18 +3/I/Ufl/sGk30z70Ux2AWRNSXzaZUskOSSdIARN4yFjbB2jWshRQQdHINcjDs7k YxGZgljCxndD/9kaRE0+WhakA3kPvK0+a/fSxRyWh7mpQ8mgg8BjUAUv/PdTjbPc n2DertaXNbCPIEp1WA/QP0w/20UuO6SAtuwBrjMkfVioE9TDIz174vWVp+TeOr6C 7Op2IMok1bW44zafd0F2cfo7MQIfOV0rAzE0KebbgnGUnI5U91hRwNI9dmNnOpUt hXHeU4e8Kp/y0VD4wlReTHNZlKRfE8o51ABzP+1b5nEdO864g4P07u78byKBcxSL aW8IkyjXobkBDQRWJTHeAQgA74pTfab8VETrST2R1ym+jG5OiHQHkPdxkeQLhL6l TqnALFOvhVDqnxZbazxnUwpLnXQMUhGtE/ttXbZaktb0KG9Vm3wyJpXJpXyW91MV v0WNU+fymuQ/bXX2tJfAob7zD01gbviRWZkzmcAKsWRTotEGCY8b75zpwYqmDkfH YinW7VZPdvKTycu60ol2SrkbQ28lI2I7zvS9HkCHXSkQZsywWRgBN9bI/iXko3GK bb2Am5Bm+bpmMviQf7uij611lodwuLNZa+IJg9UBodlXVoX8n8zsvA9QO/6mol/f jekyBITh/1SA2kMtG/nvqncQprq7RUmTFSlboMNFi0MhjwARAQABiQElBBgBCgAP BQJWJTHeAhsMBQkFo5qAAAoJEFWPT1NtwQtHcu4H/RoOaK8YQQPgj6YC3xHW5vH5 RB0La9o5sKZGsfoFbj8AQ/ceRWMgV2nAR4GrZ6kbrlxayRG7eO0h6CCIhH6ivFNo qqdgezju3Jk2vXGT/S9kXkd5k3B5JoRJY66RkcwvJIOxt231Gpn3clQDHK50/Y0H GV15Im7XUr8zeKIgiS9hQ1l5/a52HHQEGs/NcvkQ+g1MJrHfsNV8UZLGoamN5kuv jkOUXgzlk4duftCS/NXs4cFgAmtCftxY4tMl2bZwAcyqJYY1CbvPbeeKEI10e54S m2C7KB0iVlPjvXFKHbWkhR5poJDrra1Z8vNFVQ6xaQp08ErHnc3qTo5H49pCWtA= =wqpc -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<adamw@FreeBSD.org>
pub 2048R/1CCD0A5830E59D2B 2014-02-03 [expires: 2017-02-02] Key fingerprint = F95F 60DB 115C EA59 2FED E1FB 1CCD 0A58 30E5 9D2B uid Adam Weinberger <adamw@FreeBSD.org> uid Adam Weinberger <adamw@adamw.org> sub 2048R/92C1C8A42BDE2CCE 2014-02-03 [expires: 2017-02-02]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 sBubp36SuO2WuMa1ke1Ygw== =QzLu -----END PGP PUBLIC KEY BLOCK-----
<naddy@FreeBSD.org>
pub rsa2048/73490227F70EEEA0 2015-05-03 Key fingerprint = A264 04D3 05A4 189F D662 AF67 7349 0227 F70E EEA0 uid Christian Weisgerber <naddy@mips.inka.de> uid Christian Weisgerber <naddy@FreeBSD.org> uid Christian Weisgerber <naddy@openbsd.org> sub rsa2048/1005F0A965D82467 2015-05-03
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFVGT/QBCACuD7G2/QQVqkuRX/YWhJG5cp7saZfXOEmHs4XqwhRn63HDu+sC CC2NmWSI37TXZXzS6iM7swte+o1+c51mR8Fruehf34yGz9vUQh9I6UK1pUaJjTLj cZxrvtdvLl4hR2ZoE7AhYAUXSUpyqE8SzzOarpHAOGYF+RLYa+mOXMaF4cjTF3sp P0t6PiKaEjsu9CuXyjl69a+RwzGxJ8Xdd5tDoh9Xub7QYTR5w0kcqKGY0EFWhhNl ad+CMW7RajpF9ThIq97AcTvIqlMxeILezIY0fN5Paxdj4bSvHK7rPH7L6ql30zB1 cLpHXQ8+/2CRdA37r5XBWGFWmZN4xQHx/xEpABEBAAG0KUNocmlzdGlhbiBXZWlz Z2VyYmVyIDxuYWRkeUBtaXBzLmlua2EuZGU+iQE6BBMBCAAkAhsDBQsJCAcCBhUI CQoLAgQWAgMBAh4BAheABQJVRlGjAhkBAAoJEHNJAif3Du6gNHUH/0g68iOO4mEr xiCdUIllMvtUU2qy8qS6guF/VrEFM759/BGKoo1d2jOFq7zAOhQ/Y6I1z7MyZxGJ CjKj9hNws79ZQigSk0W2od9j9vNX8eItVACVb2CftDD2yt26xuOKbxb3n3u0pNf+ pmz+/ts+RNjrOk0JHPryCbCT2dUkjPEMD0Vi/piCFZGOCBO2zQXrYuSdNABAj+tq lHuKyuDLKd5IVhy1ah5vDZQ82pOnK2a7pS0Sz4bA8nuOJsoVFBJQFmPgOYJ/1813 HsC/CwdhqPShqSPIDe1C5rrcrbjuCJQIzhLJcYu0d8vPiNbX2hFAH6g33lObJduE oiXPlwZEFje0KENocmlzdGlhbiBXZWlzZ2VyYmVyIDxuYWRkeUBGcmVlQlNELm9y Zz6JATcEEwEIACEFAlVGUDECGwMFCwkIBwIGFQgJCgsCBBYCAwECHgECF4AACgkQ c0kCJ/cO7qCudgf/ZjABpvB21PsrMsQOixfmP3Bc3rTQ5HY1GzrQ4Fk4RXJnQUGI bJI/nSqmM/1MObC91xJq3y/BOGEZZOO4oqCKU5U6Ns1Hq69rMrOk6bww0r3Oryux i4aZfur+KbwCLnE84RXU+XEHGvrXHE8F/tdFCvYvbPoTqXaO2tJ/gKZBYOSh+quU iEam4VCrCx6ObuAuQaSGL+j0PvYeKA7mE/Rn1jVEfzunYeFKmAQsBEcKNjIj+mnh hoDd4udoTvexZTRNmDw2pOLbnyOQcm9J7pjarHmQnhnn7lZg3NLfIT5UqjmA7Y6w huZkz1+Vk7c7A4+X8rOCZDPQbwLqaubzT8MwmrQoQ2hyaXN0aWFuIFdlaXNnZXJi ZXIgPG5hZGR5QG9wZW5ic2Qub3JnPokBNwQTAQgAIQUCVUZRSgIbAwULCQgHAgYV CAkKCwIEFgIDAQIeAQIXgAAKCRBzSQIn9w7uoFR8CACCjpg3b/4s8DqMWFdr8oy0 RP33L7W4m+VvOth7Wj23EM6v8Wt1Hx87TvFNyo/zAp0KFRXxSD0lsaPtR/q78acd vLK9uMG02uwF+XBW9pntnMOhzIb2B42xww/r3vP1bPlA4irYKJu48OkKRYkmytsj 8ZCEnzXS9SX1eZ5JNf1J+dNAhuObVRdC+u7WM5kGvXle9untekBNV/Aj+HJvHxbx kOfnbEShiQPpShtcqz/WEG+hEDAyoDi0p/bTL5gteEtn3T6JNPDgE3H60QdD5E1k u4Kq8fr79HQF3vF2P3jbzlhESVodA+GHRNHYEEw1Y2rNEih/OP+gf9AcPCwhcpE7 uQENBFVGT/QBCADec2e1zUFgE3+MwVBTDTRQ1vuIzJaPRO6/bj6G0zHrRDH8JroR aLQgILt3D4cJIWqhu3+khk0czXMsj81EPeL5eCR9N7FDcsD8NNw7D9n48CKuJuFn SRvbhWfIrhNJRRSYil7+OyWlWQCE5sjVDRJSYTT4WA/4KLZNwqkyiV7DeeXGUNfb dY7ZYlXBFqKRWlnGgC5KRwY8h8QgX2ZWp437TsHj+EFBCZW+gAFAAVpUrVlfGlPp 05qkOyqkRtHiCR3LBUCmYBIbU9Pmf5AcD4JyFUGwa8S4FF792fNjJa3e4DMqWB5a mEblY4yxd2IwwTwNnb/iDkHeEJl27rButgkbABEBAAGJAR8EGAEIAAkFAlVGT/QC GwwACgkQc0kCJ/cO7qBshgf+PGWx8qQ6lnoMP+WtBmPDDKReiRlJ01J4/AdpnYhm 2usLq2eANHzab7KbBN+DvAXuV4gYoNK0e5ia/zD8JyFev/wRGPyDyoKVFsK4V3ld HrgzQhWR+TstXvGhMyaYfmxRMszORpajR2jK8r/1uPpdH39ZAxf7/dbCmofwR7Kn 31oSx24ghUHwUomxIVc5p3Psxxj2bFLCJD9oxRKBzD9SRFG45QYubu2xoaiI0gfq zsgCTQuS58CYijapsIr6tqbIu8EMNq9/l0UVevFDS8eOSP2jgzuLCMMzxpEwGCee FQAcNnGWsVOXdBNSSnkTmtLVrxqCJulTqj2oz3B+RXyCug== =2/57 -----END PGP PUBLIC KEY BLOCK-----
<peter@FreeBSD.org>
pub 1024D/1512AE527277717F 2003-12-14 Key fingerprint = 622B 2282 E92B 3BAB 57D1 A417 1512 AE52 7277 717F uid Peter Wemm <peter@wemm.org> uid Peter Wemm <peter@FreeBSD.ORG> sub 1024g/2C5F53778B40D9D1 2003-12-14 pub 2048R/35D69709EC809E04 2014-05-08 [expires: 2024-05-05] Key fingerprint = 060A C0D1 5AFF BDF3 55B8 FA14 35D6 9709 EC80 9E04 uid Peter Wemm <peter@wemm.org> uid Peter Wemm <peter@FreeBSD.org> sub 2048R/B5D591B339B03C75 2014-05-08 [expires: 2024-05-05]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =TYGW -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<swills@FreeBSD.org>
pub 2048R/F5CF62B3207B1BA1 2010-09-02 [expires: 2020-01-23] 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>
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =EXg7 -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<woodsb02@FreeBSD.org>
pub rsa2048/F4282FB8B0DED855 2016-05-09 [SC] [expires: 2019-05-09] Key fingerprint = 189F A55D 1B84 A241 79CC D409 F428 2FB8 B0DE D855 uid Ben Woods <woodsb02@gmail.com> uid Ben Woods <woodsb02@FreeBSD.org> sub rsa2048/261CBDD3510A176A 2016-05-09 [E] [expires: 2019-05-09]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 9e26eLicB5pAB5a+rA== =2mUh -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<oshogbo@FreeBSD.org>
pub rsa4096/DFC2841AE2C6C564 2015-12-03 [expires: 2020-12-01] Key fingerprint = 903D 71D3 1909 5D55 58D4 6C1F DFC2 841A E2C6 C564 uid Mariusz Zaborski <oshogbo@FreeBSD.org> uid Mariusz Zaborski <oshogbo@vexillium.org> uid Mariusz Zaborski <m.zaborski@wheelsystems.com> sub rsa4096/35735C07BCDD5FC7 2015-12-03 [expires: 2020-12-01]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 xYp8Bw== =Kxep -----END PGP PUBLIC KEY BLOCK-----
<riggs@FreeBSD.org>
pub 1024D/8DD48929C85996CD 2000-11-15 Key fingerprint = 4F59 75B4 4CE3 3B00 BC61 5400 8DD4 8929 C859 96CD uid Thomas Zander <riggs@FreeBSD.org> uid Thomas Zander <thomas.e.zander@googlemail.com> sub 2048g/DFD045C3A7460ECB 2000-11-15 [expires: 2017-12-31]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBDoSob0RBACU9HMPXJv5FORSgS7VqW9GWn6OFg7DVgKXyMkPTOJvGG8Ou89h Yv7rQSXzq/nKJFr+gt/VCeDZ1Iyd4LhDtbf5Q0Mti6jQXpJGEjVva7yZh+JiLaTy LNhHNJb8b++3XoHvwxWR/UgdrNrwzya95UrKGA7yoCGhrgnVBxsZZExyXwCgh22M WRkFhGGjOdeS5AWlVEEMhT8D/1Edwqp4mc3YkTd5TJ0a/QcX/J8KdzUnsIFisP0X X3ZNgH0qUkyxgOudcpbUqbHFVxnJA44hsBCONZImugv7R8TglcutExdfOE69oPkL 5D9nwu1OPd07ZzZfvKjjWkFXGXGycOmI3oMS50QsuWSYN/zYAR1ilvPjQ9qmJDiN TEKKA/4/hBjwD01FsRa0DVf3FzX5dQlHDk6DBPMggl71QzcL4jWCjoUKGZIAW4mb FLNYrqW/8H3vPnoyGlTUZUYZhoVQaQe+A4RP0/OSFQJ77AGKzvafiMPkdzEXCcEs 0eEvQmHmEjZME0MrPMdC2LVDWRm3OM6WAavk05HEar6DMmWoK7QuVGhvbWFzIFph bmRlciA8dGhvbWFzLmUuemFuZGVyQGdvb2dsZW1haWwuY29tPohiBBMRAgAiBQJP NqecAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRCN1IkpyFmWzU2wAJ9N xJCjlBBPLvQCBari5rRVZQxOlgCfe7tu8oCb/EdPpKcMKLh65Dl7YIi0IVRob21h cyBaYW5kZXIgPHJpZ2dzQEZyZWVCU0Qub3JnPohiBBMRAgAiBQJS0FYlAhsDBgsJ CAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRCN1IkpyFmWzZLeAJ9flJfrkmBA67Mx 9CVKW/OhgznA3wCfb0Hfb16PV9AGedQVcNsswFNbjt+5Ag0EOhKioRAIAPlQ+6yX kAiUvWaNXov0HCNa7iTuzreoWZzeIYMijH6b6lGGX6v9Ev88kPv2uCKnseksYmtG XESvq91bdDJ90trqPFEQc4+jiORzyKrMANm8DrbXbq+x+3oWj8q97b1JZtikh187 R80Q9rE1O0q8UwoTW9K4nInbSIWhvoKNGT8WOt8Q2M9Gxr8cYnd3EmFjevV3j3w2 H9lK1qDXRTUdAZPQ7GP2YimAAjlm8ugWPka46wTrNi2tnOcQuMqiWYv/nwIVKNm/ n9bubDbzzz9vtJNdKI8iGgHvWc/fyXhRnKbMQfrx24GEyrPkFbhMYjXoLA++/d4/ SVqAjwtkbjI/m/8AAwcIAInZvDgSGUKmiEUlG2bLu8giOcwhroXcZEpEODvfyDRf j7b7oOkzPYj55oY3/KQkH7tV78fprgT/JHBdLBMsq0L1sm2O2S2gPBJ3fYJRkUlE 7B74SP2kXjA0lxUvNECo7lLE24MY2pqj2QFMqeAhqXV7653serz7fPWhknpvu+bF jPYCLXi3aQtu1yJ521eabBbLsUkUU5E3mxSkmI25bZ+lRYDObQtbY6Qj91WbpLDl h3KlVCu5c7q2EhSyc9IY2Qzp3GUgqPu79gi7KRj1rSfBJ5TGFRfLCn9jjHT84dgi +5uca6cRggKGbOvJE0cc2QpQJIMn1f/1el8580wV5zWITAQYEQIADAUCUsQPfgUJ IDY6wwAKCRCN1IkpyFmWzYd2AJ9KJmzNsDdxI4wXnaK6o+syqjBwVgCeMISW7d8D HPQXK7a2tXmY7wJLNoE= =WmVz -----END PGP PUBLIC KEY BLOCK-----
<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-----
<zeising@FreeBSD.org>
pub rsa4096/04014392EA4BF1EC 2012-11-28 [expires: 2017-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 rsa4096/BB8D4B57BB8B5551 2012-11-29 [expires: 2017-12-31] sub rsa4096/5BCEEAA6B8D43CD2 2012-11-29 [expires: 2017-12-31]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =Vodn -----END PGP PUBLIC KEY BLOCK-----
<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-----
<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-----
<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-----
<tz@FreeBSD.org>
pub rsa4096/585FAB7CBF9243D0 2016-06-08 [SC] [verfällt: 2019-06-08] Schl.-Fingerabdruck = 8400 53D2 0180 F22E 46F9 12AF 585F AB7C BF92 43D0 uid Torsten Zuehlsdorff <tz@FreeBSD.org> sub rsa4096/BF74DAF15D5EAF18 2016-06-08 [E] [verfällt: 2019-06-08]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQINBFdX+0cBEADLovrd5ucg1rGjdOGAhxmOhsoTob3I8Pb4cNUu0so/REZfqZCg r2ijM/zLHUVNsvIIP2WnmlfMrs584YBB+xm53OHkT/P+Ui7N7KmvfgcbYViJgB4u sdjvxp4HCMzJ32gHCkAODru11kFmvDXkAHzfGgKWfo0oHWL83uT8OcRHMqYXo8W6 FRT6z3wpKio/SEIByxXJDvJwU0OrXBoiZj9aGjF+vbMuNrnjox/2L4eEXTq0kekG i7+2exEWyQfa+QiF5Z0Fj3LUuqgmjNzhkH3D9hDYarmwGhdRhrwz49ALWJxT/wLA soMWNAmon/LgB4PnILyZg0+uO+VjDsJCsBvEZZY+wLTPKiRaftZ3sGS/Ty3acXcI Y0FmvX7Vfcbt7rKjFAtwjc/8SfGFX6HfQkOgEHy4AU1Q1vsj05Lm0iolp7JPAgiM 4UwKUy9T2W9OLJHXfBBIvv9MlJEjqJJZhgSs7oq+Zx9A8BbXLruTz4H3r2uk7g3y 3BBMdhKUgamgx664Qi0kBADCNkU4DJBqdcX6EWdX0/Mmy8c0lEApSDEMFIo5VAkD qTgMy92uxM0USwoXZZBT3GwN6KgvN8aXiW6r09JZFn1V9Iac9uECEbty7Notts0S +TkGAXE2+4fyuyXJX+4UiIT9QFrtsQqPYYr8iqJXNUQqsfhAPB1uy/PiwQARAQAB tCRUb3JzdGVuIFp1ZWhsc2RvcmZmIDx0ekBGcmVlQlNELm9yZz6JAj0EEwEKACcF AldX+0cCGwMFCQWjmoAFCwkIBwMFFQoJCAsFFgMCAQACHgECF4AACgkQWF+rfL+S Q9DR/hAAkQzHtHt9YdCguNgTAIKMOUFpiPd6iYMu6UgV3gedgwrqMenyFOHiVct7 WaRkFXU5CeR53h2y33A+0fPeOQiyBUfYZY6MKCrt1ccLx2ohvGgNq/12o8Awv8j/ eMOP6OHkRMt1q7T4It+y5NS1bPb24e+BjNdbCTvbrJe/6zkUpErSUZ7we1D34Mje A+4dhIF/KUwl/65ln6bpKB9T7Ea8E68pq3rH6cy8kLk6u5790DIeueeoZ1gZAD8D gFkyVWZOFnrx6sz1BeWcZ6vyrxLl2CLDT6lZiWTzYZRCtbb1uAbofur7H5THekwu PykX1jL3Xfn7LDGLsoWREnBi+nHgGZBA4hC66pAQALy5j1cFm4ijcWwx2ebGtyiT h8nU9zz6xzR0A1R5Oj0LBKSU2MnLwLwJsIW5asHvCdq9G2WA+h/4krA+tcQDH1vV aCDmYTP8VyYwq3T6tFxrQNJ78N/QLqv0OEvR46SbD2rjkD57FrFWYdFX7j+8h4Xr Y5HKPL9Tb0p+oItrtqMtO6xv7PQVQcTnBshD6LYdRqXderEkidiHA9IsF9MyRUZg ZhbLVzI5VtCw7mQ8ocVmcRfWquflEAlJJwqOsKUqxpjc8h7+FiqF2C75RppLNRmW SzQs20SyKQGFHVFXzf1dkT8XrFZGuse6WQK7KWj7LmCBa23NF3q5Ag0EV1f7RwEQ AM1x+4sg9WlLHX/pgF6igIEC/GiDWE0Q1smxbKSAxV1VF9y/KD4P74RKDAmXpYRJ JqRZcmAFXatJEsp9NOMzhDzNIZTY+A6uP28b8pXDGW3+3g3huQZdVdbZFaSFJmpt Nf6+/2loc5sq1YhF4DPJc5V/5C3rFrxw1PiyMGDVew6rRt2oLjrzP8yD3rnOsGG8 5EuCsxJZNM9dp+ub+VLEwSCmLECZksjEOEmgciaOeOaDLIQsKVtOCe/sV+6LAdrH fR2UaG6/psET8NffYWrkJPEEdNCoReaow17XADrbZqrAzDtMm+Trj5OXdWDJiasE 97ZbZPcBxbLARJu/rzQT/z2JXJ6pWHw4ZSAUNxBHgcJyIX5M4YTlThmSJ+o7ShSy Ay3OHKP2Npo5kHPeWT9+dKnwYhrjPmy5vqEe644JpjxTEbGOtZuXT4kFZ3qZ9MuT 3IvcZYHhZs5dI17dwHQFRfShwy5ICHldVW3JlJPnXT0ANd5HdIPiQXgQvODm5V20 RwG4x88fmpRM1JYI74EsfuZPgF3wtbxRchwLfhwkzPQxKyxWfRVKwyATLBYEHITU I4rl1CSkaPPCH78cQ16W4zBVjj5po13riAHiXSAwSE0+ZIjYPPnfjg1guTZHAcih eYpG7lDr3pnGmRGdyPJ98DwM/Jfkprsu82IukUtjYnyvABEBAAGJAiUEGAEKAA8F AldX+0cCGwwFCQWjmoAACgkQWF+rfL+SQ9BVIBAAggTIU0hvTaLF17vFqhHFBJMt KSuX0jwEd4u88pk5wscNXDMx3ytddKOzMWePsWlUE3/MF76UfONP766T1ssnLO9h rSQh4aVz7CezdEE+8vpPIaZvS4era7opOyGp4/WhElv/mSbf7uZX1HsegEaywfHt ndWcnROIOPuTMBFJQOFqhM38/fPj9pq2PrLcYW+VDquFIQOpN11WbYXKmvAGZaM/ 1dsggZa9NmoJMYlt0B1WLuZtRYQ3cFgoWbZA8Rv9xpaqnX0rjgzoNrKwZEbepOlx txK1eVuGiBDX0lvOWYL9d2ev5FiabGEGiJ7yFR+2IgsOZomACqXO8Auv1K2RNFuU uDvIe6qTp5aRzQJyVDMu/54hOKvkz+90O2pe4A+s2tT/aplLa/8QntiRL/LsZDkd hbQU81qx9NXt0EEZ9y7T19UxcXl/PmoNa6D1c1WPT/iiC6LAu3PmAle4b33EoBX9 4vqvpl7kTDaNNDwFszAMtr2FObm88XR/16kdNVJLObVWhk1L0Beu0pLY2cDN3L40 DWqa2PZjFp1PcM0I6536kQ9IB1PyM1WEWhyp38/qMfYR/xILfwjoq6ZHelss611J p/cJ4Fmq+l9Ik7VUgajTDMVN0gZMIaUNM6AvJMdGTXyMTJk12iHUOmMsyHl6p+7k /Ya9xvWuioYozJ3Lpjc= =X6Ho -----END PGP PUBLIC KEY BLOCK-----
pub 4096R/10C54914 2013-09-09 [expires: 2016-09-08] Key fingerprint = 34EB A47D A329 5767 ED27 E130 8ACA 73CA 10C5 4914 uid Alexander Best <arundel@FreeBSD.org> sub 4096R/F1F0EF55 2013-09-09 [expires: 2016-09-08]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 Jh6tSsKzpWKYEYO4IeAi =bYWV -----END PGP PUBLIC KEY BLOCK-----
pub 2048R/09436139 2013-04-11 Key fingerprint = 3498 B76C D4D7 EA14 2003 83AE 1A93 FFAF 0943 6139 uid Deb Goodkin <deb@freebsd.org> uid Deb Goodkin <Deb@Gurkowski.com> uid Deb Goodkin <deb@freebsdfoundation.org> sub 2048R/0FB6881F 2013-04-11
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 z2/XBCmG1xiM57j0 =N/QQ -----END PGP PUBLIC KEY BLOCK-----
pub 2048R/1638A731 2013-03-22 [expires: 2018-03-21] Key fingerprint = 8420 EF65 D8D2 A4DD 4484 F369 0F5A F413 1638 A731 uid DutchDaemon - FreeBSD Forums Administrator <DutchDaemon@FreeBSD.org> uid [jpeg image of size 2417] sub 2048R/040C9636 2013-03-22 [expires: 2018-03-21]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 /MUbbug= =nZdD -----END PGP PUBLIC KEY BLOCK-----
pub 4096R/1FA0DA9D 2013-04-12 [expires: 2017-04-11] Key fingerprint = 82FB 3180 8C3E CEA9 66ED 7FE5 2840 F0C9 1FA0 DA9D uid Ben Haga <bhaga@FreeBSD.org> sub 4096R/33BE4D62 2013-04-12 [expires: 2017-04-11]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 sMVkwYLdVA== =xsYw -----END PGP PUBLIC KEY BLOCK-----
pub 4096R/7E8DEA51 2013-04-08 Key fingerprint = 41E7 7678 9F57 D52E 73DF 731F A77E 8C7A 7E8D EA51 uid Boris Kochergin <bk@isis.poly.edu> sub 4096R/DD7B3E04 2013-04-08
-----BEGIN PGP PUBLIC KEY BLOCK----- mQINBFFjLrkBEADjqi/iqY2qZlzd1cfrvWS+eVmNhiZzqs8fdF0mxC+wLTwU14x6 ctEtkKIueUcfN/1ZYsunCcXx2W5RWjICflu8Ak2E1SeKlx440iUL7nunQ1rn0dfj ZPv0AckqGLSuLLei0GnbkJg0D0rgWszU8gG6ZoUX9XUdrX6XXBe+VzuOTXUJaeK3 ZSmiTGg2vX0UDVucPjNtzH1HrFd9/vnOL+RU2l9oEEbhiQ89uvPjgWT0eZpdZdeF oNCquRCTauS1GDdikTLj1zvbFLbQP53zqszgv6x5c15gRQ4LT6pcl4rYw6QynAzR 6bZApxCP6Z+KpD4CDB803ATVkaZv1gVtEfXGC+Hs5NcIyLYMBzk8xWpgMoCj7r+T o66A+vIf0GepBD/GF8wnVwXANB+GCAOdy3mDhdKnN9EGFNryJx+qlOyJevI+44Z4 dnseiPgD5pDrqAbQNn+IY6SVzqsjKaUbp8TUBp+ncWmr/35djvBXhBZ0sRsXYlJe 7WWya/I3lXKd2ncqbC21uaVibkXAqpGfzN58wUxnmVvD2fS8c/CKl98VD79hj1IS mhopSaDaDjqrqHic2Or3eFLHZf3CQPNYGrO/JsI/wEJ1cU8vIxWVYVHv+iT1CqfM vHDgmK9uA9afb9a1xIXIuxcm4FfYmbrj4UE/1XbKBHXjcvDNzGgVTyKi7wARAQAB tCJCb3JpcyBLb2NoZXJnaW4gPGJrQGlzaXMucG9seS5lZHU+iQI4BBMBAgAiBQJR Yy65AhsjBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRCnfox6fo3qUVeLD/wP 2+qNtRe4ytF4TNk91KZPsD+GLi91ffi+jkCQbxduqnN0+WMa+TJdYNhBMq+G8dSf R8ibKv58/GI6B8r3VMT+4AQSGhhxVPjd8JbNCmydPea7kz7lcqBj7a2i4pwOBlP9 FTaCBI9LYEyK6llPcac4WROgLnObwLav93vaMMsAZlLXHsUdd2KMWa9IEWiY9cLo +6PcY6RlxboKSOy94aHszT8HnhI39qRPrJ7wZ+f2fA2aRsJ4xOA5gRQu1jpQRj9S oPlOeMVxsp4LN3JtEm65seUsDNMDBoaMSV+o6H/1S6HcHuxul9XDWYPTqWUsLslQ uQS9RO7Euk8Z0XOVzZ6LCul32CQYVJo0lcf3VUvfu0fg7w75obq2s9BNVD4dQld6 0rLItQIsI4HHOnSYliP+aPu2O0agqNo2etI6qe7g4SXUyXtRERMz67Zj1EK6mYYV nXzRuynP2+mqTNyTamKW2rm+goAddMazw2wu0pMFgUNbMy5Zv9Ej1DyRb47hNOQK yBoTh8yBmAwMz/tiyyB9Kagh7dfE3vd4qqA0OPuf8W9LBxj2YLztjLOtaAmb2zjC XQVXye6UCszthnjlmjNVC99FDmhgIHBWlU56EQWAXauK5VJqbhV1hzSSNEr+S8f2 CLIIQm9Zdc1ZzByUkUgy3vuXnifztu7GIafSnEq8g7kCDQRRYy65ARAApngsYco2 p20yKiVmhk+rCfNh9JRxoS+kwavjGSx0SpkqDWgoRijkufeX1jyiicL0fMQJjvef iF0XO8UFEVb7VrubmRZ7MdPAoCKnvohWVFESjY7epmxNnr3VvE0ivR/r+OUZ2k1E nnQTuUQj/mXZMrPCKR324Derc3Yr0uK+WS1MSVovEKl8t8bECimnd/PTBqTlG/yH XJM93a9p/J/pwU3x6anyyqXl/C0pbAlBkuNcv7Y9fEZtGwRqdnAwQJKuoMlMFpTr y8T710xkgYjMxmvfZv2SDpOY2bZ2afxXURo1bW/MCQ5eoh5xnYER3H4qJ8KLFUNG cD8JBEZo6G3M/ae61gDx9YZfCDJ81JzGC46H8iwFd0sIVwy5Cv019/ZjM+50pEZw 51dT5+LCSk9eAyTpukdu+HjR9g9DQbuWa3O8skGkyTiz3f4YDQJWrqrBeHM4xLjl D3ITSWmH5Z3jvdgD9ic+0MOIXhOnc6+qxJYvN66mZA1I6qpoCXPxU/GKM7IWeoTJ VmQKxfi7G0lIRHIfeDMgFIFYiizB/PlKReDPx3HIybZ719wfYIElDoWMJ4NBp6qm nMlCFzcd3ayEPad990cYA0aYxRFVtzhJd5sXJpX+Y4YKVijQ56k6B7s2GwqaKZ1Z WVpgCzlz4eiB0yT/HrX7hLLocA81qGYzzL8AEQEAAYkCHwQYAQIACQUCUWMuuQIb DAAKCRCnfox6fo3qUSHrD/96fHXf7+Yf0vt1/5oZz+MAM/UYh7ck5J6dYoUlQ16S GdKDxOK3v3NRWCKHP1TjuDoNKENuafnGMmWhyFOcvid/30zjv+SfzltsiZH+Vtf6 XXBDwZaGhhwQF0Vh1ftuDEVP8V9KG4mI4P1/Sh1oaNleWT0jLt8aFcUTtAyfp3r7 2kGOCaY6HGXrttp+99Xx+OsZdX2aHqqOk5klC0IMjZzrI1vep1rQf//ureX1WRju qv88SeHBf1CiFaOE6ZOJGMMTFdYW2kqG1AkbjD5Es/STXKvQ+rx1Ysdk9PSCm3AK evyXNGRXWWvCX6fx9ilAog8Kk2cwPzVYKlfqIrvp+RLA9hANlO9czDLVv2CEvOEw /rYAEr3LZQr6NEF73XP2LRBiJNpnpH9hP6ArAT0ey7OCTt6AA3HJdSUt8DqBw0YL Q0lNRU3EWdlZd7PK5MwiiwkwVL3soWErlvPbBLZ1AUSF9KDHobj/4YXVorEjD4/y IggI8lS7wmeWNil+MsW5r/yNUoEIxttPB0jlwK8VwHhS7gT3DUZKI6zzqYnVySqt CPaaHDo/cDjKKYj01bMifr+n67MQaGCLkDTcX1cN/Gue705oVIzrEsJC11vcGDZT JKJ1XjzI4pYBbYCweRwcUxMX1Gz/20QTbJIEQKWUVZ3RQlKyZlQ+G/rT6YUPedee KA== =t+E9 -----END PGP PUBLIC KEY BLOCK-----
pub 1024D/B9F7C8866917C3B9 2002-03-16 [expires: 2014-12-24] Key fingerprint = E00E 4CB3 D265 248E 610D 77A4 B9F7 C886 6917 C3B9 uid Peter Losher <plosher@freebsd.org> uid Peter Losher <plosher@plosh.net> sub 2048g/5E63FAAB8C6651F2 2002-03-16 [expires: 2014-12-24] sub 4096R/53B9AAA98C273E2E 2014-05-18 [expires: 2019-05-17] sub 4096R/CDABAB7A88F51686 2014-05-18 [expires: 2019-05-17]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 UQCgl2TY96i6V1MvXCnlQWsNwEWk/IA= =eV5R -----END PGP PUBLIC KEY BLOCK-----
pub rsa4096/8663ED941F2E54A8 2014-10-15 [expires: 2020-10-13] Key fingerprint = 0D83 B55B 5314 BBBB C209 70A0 8663 ED94 1F2E 54A8 uid Michael Warren Lucas (Author) <mwlucas@blackhelicopters.org> uid Michael Warren Lucas (Author) <mwlucas@michaelwlucas.com> sub rsa4096/96FC4FE74DA4E659 2014-10-15 [expires: 2020-10-13]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQINBFQ+ncUBEACbCNnejjYl9ZJFWDTUZZxB2aqUBbU7OHSUawK7rMEb9julphzS PO+k5g0FUjNo/wHFI4s15DVFfT55DR2esWyxefbRXXwoMkzQPoO45aR6tNdEVS4/ 64aWXZWNN3b7mBKMtAwiFoeXaXYuwhYdNFZWtfu80VEvemNC3kxmHoGQ58oNFa7Y reRY8kfFOmMw3ZFYUjzEivLS/l7s6I06YWm42dGm699J8zqq+Qo6tQdZUw7LHqMY +e2B9zz8DGBeKkUbmd+iQx+tYtYnbjwbssSH7NHCWAxKMlacRS3EA66bHDuQ1NPz OT3DSiXc/ZtDgulgT3wDJogJF8oF0NW5d6LcSuLZ2B58EhfsxY5aRoc+8j0Lbc+9 JKI5lc600S7yoRJFLuSSBBzJVdMvh87+amQLSmxCFY7CO3axq/sFW9BWxAX18keN lNu7OBRItFUQKMesgI4lCZuWRgPNjANPs1pE+9HydtwPHtitTduAn3z2xsYwEWrL aZXijmiC39kdKVfQfQWjswt97bnd1OzOJ8yuubrBV9BIjpHVbo4lEtTP2wdbzwaj Xesd1KBlhjuHP8Qwff90NHy1vPebN0S5YT0E/N4ooQ/sc7ck0ZaxxBGjLKrTxmSG doFHUK1vQdov3QYMykdENSt1Iy9+sShHKK5RDO/SmC9kRtcDkyYN57ytbQARAQAB tDlNaWNoYWVsIFdhcnJlbiBMdWNhcyAoQXV0aG9yKSA8bXdsdWNhc0BtaWNoYWVs d2x1Y2FzLmNvbT6IRgQQEQIABgUCVD6e+AAKCRDAc6xV5oxJvPloAKCNNmHYnCdP i3QybbQ2FBHSqW47cwCfbvgPevGnZhiV61ZPd0f8s6G0Tm2JAhwEEAECAAYFAlV7 dpAACgkQG2HPlENjWfrXqw/8D8atGYs3dzKnzCwexdR08pcX1jHsET/tnLPxsw2f wLny6nOSHopf4yfx1i+851Y2KtblZcwfQnBT2Y91s1NRJdX85lQ1iNoQNxK4BUGm RhihN7kc1ILGBQAF8uWHexFiks9HYMxNyYZyG2F/W9W9zzP13oSs6pxML8HsPc6o pIjhpuGg3184jOQfxJSvRE/pSwMpbDR9VSinfivudNTgzj3ptCtR5C67VzuKBbII lSjya0rMnupbVhKI7moT5i7xeF6LOxhrZYkbkKdMWROY3PWjuq5mGMYA4kg/HXRS P0fY4ylJ+HHZuxubMROjACV9VIX0yRYJ4aS/pd7PJ02ZUiScteATrYA6SWihdrET q6TJNRK4nKyX+5m+sY4rGAeXn72K9cULN7ufczZkUpyno76n2arB4iQAKSai0/1I znMIw88qqd+yNHqnBoXs5ThHKWgVZwY04N02+hUY/4rgMRZZRo5zwFfPma1AKHkP WWAewEo+r9bV5i6zVYS4t+0AqULmiVVPKYxyhxNWJ29X45JNtVrgXefoswg9Xd10 OslrT1uJVtARcPfh5qGSvQAx0gr3rWmVgmReKFn/mz5tgO02wACTW+UdSX+Aaboy agkZpUiBzLIPopVWRF1KA3yPypUtiRrI51XFLidxyWGAOH+H3daPI5NZ6D020htn yTOJAhwEEAEIAAYFAlV7aOcACgkQ1D98ExB/6m+PHw//YbgluF3+wVLBFBSSglER eCe0rL1ktcBxfRXwj1r2ba4Hd/TitibK2hc8bV/Ra260cIpbsKZH/IUNwq9gAI52 5FxgReNZL2iJwz4Bwic+0LCRKMbUy+/POCjhJ+GqtdyYVm0iv4DVZwni3Zi2A/fP 1HFkGqLt6UddW4okpqxFwsyDaWpR0zkV+cev6SFQp+xI4KHKVnUn9jf9CCFDHE4C GTvBtZ9wOrjCquULLxtAYi+cJbbqQH02nqpgd2i4bGTsxw3GXNwKyoWvabx5tsLX wncjjp9a8ksW/ki3AOM7Hm4panhq3qabpcO9BjVwSbcgyrmP90auQ23k4wgCSUfw rNMj07M7m50MRc0Y6CS57rQqhwTs3AWVZ3ods3lDYwEcWNLvFlwMoZZmuQsfXUA6 SJnD4uqDMgZI0zzdD6MDmlsQQciByayYsdsjJ7Uhj9vSgRrqmhhf16h9Bsh98tvz Fy/mGFxv63JvYR2G2Qba0M4TPbkv3kzh9haN+D/jufmU1BFSR1ex4eKjPSxLGRFm hVcFjGTQTCKIlCfhm0kr9/hoXA+acDko/1IK6NGGs0Fn9QY5ok0d0gMQ20YDBCjg GSby2ZDOEwDv7q7dLEibIy6egC7Lch8zw64GebSVBk/ho3yvGNVstauTJopdGd7V E/OZCDnr1M99cQrOKDrbriOJAj4EEwECACgFAlQ+ncUCGwMFCQtHNQAGCwkIBwMC BhUIAgkKCwQWAgMBAh4BAheAAAoJEIZj7ZQfLlSoCpgP/3L2/RWJHRhtDohanGUY 0QdKS3No7l/B64Pds5B3QFU35VCI/0LL0rhhBsLvlHt7dDraWfHwFVD2ahZmGapP 2OOeqf5b5ULv9i6sF1+4rTLsitb/JeywJTVz3L+tzQEBjpM5/jR/kiMDkbqZEIED fsOF5iUY3d8F8xJdboHkx0rFvkFl8u8B5zuke8h7L1yQJiPNLdAH7tYQTuuOfcEx 8IGNuZT6tOH7Rbdt3waNFXXi9LrWbQLqpLZ65zG/6ARI7gdu04d2vpU3QT30dbEL JbyTbsnFdEiiF8P9HtoCORyQxT3EGnEAQ/GTJyIo84xyiJnUWsU+f3zM26jT9QHl 3/Yps4Ded6sx0z3SKyHHsRBcwgr21k478ZAirzzVRdbAwHHCaASRcba9tNtVQBVR ov4X+d91x+W3BiAk5h0P52PFD12kZrd7vYi4s0knVjGJdv1dUlBiaYcWXSHtXYre AQdS9HqLSeMx3sz13lNGg+MSEj9EUhKNLjYqW+LCeUJYdoH1XRXpu0M0Jh9wCcOk 6P8bSu7Flrm44dgX7v1UFh77qGNPE2JcvFXNgrTCAl5TC+Z5Fn0tiGEurawhmkoG zanAGb6MILWAermgLFQEBLOyZd5mO+Wy+4tWSqxjhI0z743pggG4Liromg8UySdr pMXsgI+XWCYNurOO6S9kx9ostDxNaWNoYWVsIFdhcnJlbiBMdWNhcyAoQXV0aG9y KSA8bXdsdWNhc0BibGFja2hlbGljb3B0ZXJzLm9yZz6JAhwEEAECAAYFAlV7dpAA CgkQG2HPlENjWfrmrA/9GqbaHoX8cAVeMlJ894ZXFSg63qPWjeL13BYoxpb0PHfK Q7+1U7SjvamEaXZ+rrY6X0IhRQVWblIGM+f8ZKSLqss7sdUi9B7LZEf1n+HHyp6d SuBe5tbFv9mdNKl74FQt91tGlwXBViMf0UAx1ayglQp/0WTgiSuXT1kYz5m2pVW3 j49UqQny0JPN7Ic+z9O6C5cnZvAuvEZRKm38n9xtg6n77jLsakx547pCp4PC6vSz kIsKijM5qduNkeAb3T9sPiEh0GTcJqqPUnJlWYQRhnwXoAoUxpuhFWnQbe5fcm/3 ok6bHKhG19kQm6LbR19wRlkxqbeulTC09tVa8YTEfHVWxRV2YYMe6OfjyO05PREr tfIKXtjHbckUPASZfPJbuEmjuOuSpTqZE5KZR8VAv1ua3J8Ttgp9qYIawVrdUDEG dcAbdnzXgVcZoJAuk7GSJn+FXDun5n+BSEEMzOT6AtxgoUTIwhPTP8/UJeQFrgpv z2TZ1dU2pa3py529aI/kCR8DFfnxdHiKFUrUfPwtcnoOVdpNaYwZA8+N4GlAOIgT 5CjikjPRq+YDbZKDSJqyEYMtHyB7hXWivUEUl4uWKYB0iyKXNBWFE73IPrCcUsvU dirsDUliwJq6I208KBYZrvwEcQuHOAiGv5DBxKXxxfTrJfa9pHXvddE5WIsm9euJ AhwEEAEIAAYFAlV7aOcACgkQ1D98ExB/6m+3DQ//SH8+oQwnOvZUhj15bTndiEc4 XJ1s38WhetNCNbNpOOEpM8i5dcn5hJbCxMgPdr6rYRiQ9rWwR0TeKZNbvFQ19T2/ QZdR/72zTJa7GfBkPxMgAl96+LxJs8lvRXbv+ntlMMDYZSKx1WU3BSbilEwboB5N k+IHf3M841MVGNeHcDRHBIOCnpmbWnSykHnDHvkXmi2aXylFV2jYuiK/ZYijYcLo nbaDHa+TW7NjQyh9xoQgyFmaIwoixakkcBWkB1ZFU+86r9hqiFdNfI6dtP76EW6y 4eE3zws4ZJyavrxf/0yj+3vW3wKtDlNz/AUROq30to4gQb5RK9OBkUdpwpnlGUsQ cveZwY20woQXIcURArLOGH1/5hf1IgwckW5LmQSySskGMOOwEfOWx0K0tyLXumvC WuhQekCfgCdvqNhtWY1xMtdbB5YKJ0ZSlD4jA8DP65XwEJHDUtGq+DgHFTw3hpD0 mmtnje4DpNnG2yrw+GJhb8FrI2xsqiyi7NgCwuZkJUdzW92f/CeOLBTEXGAPDyIV e3XwY11aCVCQTWwUVI5voXFtLa9fGgJAf/Ji7oRcDdVVi73PgG6niNe1iCnBU9aK dEUzeJKL+kx2LuD6ox3tYqA5fu4MfvyevcEX6RUJ9Ou6N40l2OVp8HDvn8OVCPrG Hh41Pu84MHtNvB/3p7+JAj4EEwECACgFAlQ+p94CGwMFCQtHNQAGCwkIBwMCBhUI AgkKCwQWAgMBAh4BAheAAAoJEIZj7ZQfLlSoabcP/2EU5aAsjW7Vi4MxyFVC8N7N 2uxFGAaUB6x93eIGndRKLGYf+GU6la6ZL1ciBK3PFeDPWZitGoGRoha8gVEKiiEs /4Il5MA3JH1xKFAIF/Fg1OHU0KaqryDTAjITexcdrQBOB7iRpvHPK5z9tjMQFNro V/EEPekg/Z0huxeXgHAnCVFSaxXWFOpxmvn+Nt7OVi+xDqzxTfbqWGp3ix8A894J 1EQjIMzZegNcRTIK7GnP+GfYL0UMQtGZ7CewSEll/DOKlqOufGI8RLVsT4t5z6Z5 qJzGWxGPYZRZ643f09wWcHbO7qm9GA0yKF/PdLiIq9Vp4ExGJvUSfjLNB1Xha5va SGG/uZDPLsfFuFMm0fhF2vCCkwboJ/8NMQTgSyRXeE9RJ/orK1j032NkQz9enCVf 6NiX+LF/ir5aCxqNoi0Wj0RTmLjKqd92Yo7BGE8e4Suo4rRlVuLZJ9eloY3E54Fk IQFd+LspvYIzREPpA4BQzimcpj9hMQxUvN+i3b68Z2oMEiD1R8NnWMs50hy+vUUd EF4VkkeLErU7TA+iv5N9kV9RTYpgi3dPNPIaW58NzmlOn3vl701eIGU9yhUu9+wB KQYT235AzukH1Z3gjXJ5Q8i2FgBuikbkIMg2o7cdo2Vg2xpILJ5n81wplJhDuYpU QjPNFMC8bpBm+nlaeGR0uQINBFQ+ncUBEADkdQgn+DflwTCARbcHOVuJeDU7Uu5t xgrz2/Y1h+zAxFfwaR8TKz2FNggR53W1i637sd1th3mZOeEGBfsfJcQw7AyNrtYu wqSI9jOA/XuiQVNWUX4C+AG+makKwrcxB2buP1Di3AGTbsy6lYL0QVPMwxpnhVLS czrGt4DbBq3aqGVF7dSgKruYdUPqOvK2hBTB7/olw5XcEXrmu5GjVj59re1sh6oH apK1/S1ZcbTtj6EM6qQPVyRS2X/LqGdR8RECC/jiiaj6jvCgvVGmwGwiO+YqmnEx 3czgspLSUz+L2ZPaTNR2IdGPfZGbzqRfe+GV66GgiQUT1w+T2gxLmQuAT27zjOMd j89+57fCKslkxiSMkqGfDFp0XgfO01u9eLzgTYB95Dpl8gI/tiqaAwlmKdmRy75L Q+6VrXhlnsjSgqqpgb0yGqimR1sidlbheV2zvT6Hhhmg8UlDbAqasbyeapLvRKCe EWJ4FVPB7odFf/pPxzCokWXgP3RBHe1QLo7+dnb6GvMgNbSWNb5tIqeglJML3stV RKfnGx85PJWMfUH+awkQ5ifR0f8cnJImaHEErxSezcXRNHfhIdc88Y+Q1OTKoSZb NrXPfclTeAyOufDsAzYUImx9i44I7JTuJFQJvkzPuwe2CsVngv5OCxUrFPDz0A5v 1RuydOsAfueHWwARAQABiQIlBBgBAgAPBQJUPp3FAhsMBQkLRzUAAAoJEIZj7ZQf LlSoogMP/R0GFQWcZqTDQJQZjcB89+j2n81aS1Ws4JZ8HrrrERg7K+zhwO18GRGL ajxfjeCjZmSM1ZDf65ZerQHDBYu9OKFGmbFUHIYIOnoWng1/3SAxldggvjbHxMMy GgH6lD90eeksq+y1qIWKuVEa4I6wdUFbObIKE9FK8De4ON6YobxuPUmy1OPdTKG4 kH1tS4RM8CdOUgmlRFOfn7o3yVVh58yxVnK6txiLv4G1vly5RFt/ez62u9cOv5D9 TR4bXhfP9v/6oaoODjGQOzP4mvGuKC1N0hd7KH/1csSls4WL/ENVwQ/RAP5TEGPm iW2cZp021KECNAHtJyOw4syzXFOG31na31Q9e0xMePLhnXx2wJ9vKo5IbcFLiibc L2OsGcxoBFIkAXp4MWYDKcg+SMapmoVflzzMgTl2dW05ydmWTHnSeBsTFKMAfF57 JD6xcugMoU7p9SvIyT4BavTpBniKfQ8BHdoilWwarHDxaIAHKJV6rqS3e/e/TQ20 347Ei6Qww/JWsG5/XAfp/ntbyABeuc902Uct3PRFdRk5ews1UAxwNBnVgKg0KAYk Ni+2lhDQEw2/ZqGKxYDM142TfES4EQ7G1/n9eMkmfd04wskbfjI4kO6xu/4bHnB3 umQTIZkvbfrJdZRGHw8Nqa72jznCqqq4d5M96y6bi6m9ktNgNZ69 =1+U1 -----END PGP PUBLIC KEY BLOCK-----
pub rsa2048/1539CC40A049EE17 2015-11-29 [expires: 2018-11-28] Key fingerprint = CCB7 CEF9 17A8 01F4 3064 D77B 1539 CC40 A049 EE17 uid David H. Wolfskill <david@catwhisker.org> sub rsa2048/C8A5439CFA5A0A07 2015-11-29 [expires: 2018-11-28]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFZafWIBCADVycLSD1HugJqe50KRJxU9kQsXlPyMol1p1mlJ4CUYPdHse9nQ +bZlPsiKp5RqeCDTIEZ/swwH2+eWa0+vG9VOk4am7rE1jBLghHzNdnYWdYfPrl77 2i0GbV5g8y25v+OJP1K4NaedsqACUY0T69Y+c83FkN6MXRIe+YkWiQCc2d2Y7WsZ t6oetlvDGI06CUqOzdC4+ctDAyfgzPVDUbsWfN3RBkA1bZnfRYMoXg8MxEZkyyMy UJ09dtS7cYSHSlfM5ATaIYxjTS3OjwU4waKxS0WLVNox+pXvzuG2ZMeTy53GEarS IlU0pN2WXglkpOvik1/dIGWDpGlSVe/NxlRJABEBAAG0KURhdmlkIEguIFdvbGZz a2lsbCA8ZGF2aWRAY2F0d2hpc2tlci5vcmc+iQE9BBMBCgAnBQJWWn1iAhsDBQkF o5qABQsJCAcDBRUKCQgLBRYDAgEAAh4BAheAAAoJEBU5zECgSe4X4EQH/iH6Cx7G HjtvqauMMwy+nClGytV/WwXfVBbPgs6kbI1oXsBZjvA/gbv4xcHndne55TZuf3pS trNhwl/8Co1TPHVyilAQY/lImoMlaQPCp8P47rW0OPnHuLMcje0ALdbb7GKeBtYZ 4IAfsZGjSJvJUUDicI5u25ssxBXd3wlB9LGrFCxlnYPIcU13UGfcnai5YZBcmUOj j+wq22Cdx/Qvn7W7YfXynIMOeLJtrvHQDmwXBMuGXGYx753nvLsgpCtyfH9GencN 3art1Pm+XESMUaO4Bb9WqTw/Byp0aZWgNqvR4J68VeCv3CcfQ4N2kNB6kd+DRSEh Cvc9JDINnN1haxGJAhwEEAEKAAYFAlZafksACgkQimf5yN70GTuBYg//SD01DPrw E+sYOdQs3uN4HZjjCNDqjtJA35+reWihodPFPlR+OsIB0oFOr8uNl29TYO3OavU1 XZTdkpeT5baN2E5CQoOu8TEXQ2plBINpJ2LK2rmNIOMpkmQIhmkdA7TeYXpka2Gs b72q/9wt3FQ2k+f+Q8slJPSIj1LYCTU0DhCsKQCwNkC6+8c72L3UtiB5KZh40ZHZ MOmMX5v0Z5csf9zgbV+l2hc6Md8/QMD8DBWaf75aNTOGO7pDblG39gSMpzVURist emMON9URVCP5ZEbfXqH0+4E2spbryauO0gqs54f7cE1MVJ8TgOiM4y+1WBIb1fbg FH9/kuZ3t7qkmw93vrlML39g+QGdBoLA3NA+/iHVOnWTD0Vk/YIang6g9pbciES1 P2GB/OwLuxtL7m2PLlQU701CA5Vcm5Y3R7vaQG70KxKhMtxsfyR0+c6oVJ3VoD93 YhK32fuwmbpWqHffCujlety3nEpur/HoWMlnUkZrcXgeBBv3CZN72+SNR2VZFjvB Z3oUfQwgv3CrOA2peJgNjSD99CmR9nW+UPcPGPw4xR85HdKBoA2quH+V+gCwXwcE io8iNhXc5GTfzy8VuZwDku+twxThw7Pu118OPs6kAVUe8w5FYJbhMrcRmGrvBYU+ /e1iSRapw1S6lkKcR+lRnJ9BJJCm6AKUGby5AQ0EVlp9YgEIAKx/ibGuLvGRLAEn trqIKYcxpaAFX11SqnxnMbUOmaE7SHh/HNXbaySytqiZ4H0bssC/yrpWz0hFwJBf g93/7qggznfcC5guC2rEZPWQlZw9zPGdPzc3L7IQBVk4O20b3twwHftt46AXF95+ itLLZGdUfOEeyyyKkM38UPiWEMeLBgG4XQRCw70VbM5h588PhYhtbLAygzqfjwbA DT86dNChqVBbBVcJz1AlIL38HBzfhx+OfltZe/5IRKhVb3EBB3bv0xD5Mnk32iUo yRzPx3baAiEdJQi7I5CW9Cn3mEq6jrn+bUB57y+R+4gwdJX7TDn6gTt9RnsICJ6h /AddvYkAEQEAAYkBJQQYAQoADwUCVlp9YgIbDAUJBaOagAAKCRAVOcxAoEnuFwZk CACInt0u7XrEx7LxZKLybUNTdyyuRZEHI6TUgUdzGBCoZHBDvEAlSG/GZtaCAJC9 TECrtS0RlOQ/vR2u0+eWVNS2AEuEg+q2p5MCs4fH03/CIUw1OsFUoXXVlBpSesgn 6ETik6p2JybTbe0cmvbnF0D6J/9ONM4GXycj38DYInYHBUMAbyd8T93J4x/oaJ0U XIc1OqoiL3KoURMGHGygtBKHal+t/bcavqvF9nlUKc9/jjhgQo/eB2nV8EqL0L4q uX0F6185/CwrFjGw4B9wqXgs+LxGN83pBGulxFSSZBf6dyXEWRVSMpDbvfr2S4r6 oid4vccQMysW5ICJ8sdJFv2N =NT8g -----END PGP PUBLIC KEY BLOCK-----
Deze begrippenlijst bevat de termen en acroniemen die binnen de FreeBSD gemeenschap en documentatie worden gebruikt.
Zie ACPI Machinetaal.
Zie Advanced Power Management (Geavanceerd Energie Beheer) .
Zie ACPI Brontaal.
Pseudocode die wordt geïnterpreteerd door een “virtual machine” binnen een ACPI-compliant besturingssysteem die een laag biedt tussen de onderliggende hardware en de gedocumenteerde interface van het OS.
De programmeertaal AML is hierin geschreven.
Een lijst toestemmingen gekoppeld aan een object, meestal òfwel een bestand òfwel een netwerkapparaat.
Een specificatie die een abstractie biedt van de interface die de hardware aan het besturingssysteem biedt, zodat het besturingssysteem niets hoeft te weten over de onderliggende hardware om er het maximale uit te halen. ACPI is een evolutie en opvolger van de functionaliteit die daarvoor door APM, PNPBIOS en andere technologieën werd geleverd en faciliteert in de controle van stroomverbruik, de slaapstand, het in- en uitschakelen van apparaten, etc.
Een verzameling procedures, protocollen en gereedschappen dat de canonieke interactie van één of meer programmadelen specificeert; hoe, wanneer en waarom ze samenwerken, en welke gegevens ze delen of bewerken.
Een API dat het besturingssysteem in staat stelt om samen te werken met het BIOS om zo energiebeheer na te streven. APM is voor de meeste toepassingen ingehaald door de veel generiekere en krachtigere ACPI-specificatie.
Een daemon die automatisch een bestandssysteem mount als een bestand of map wordt geraadpleegd.
De registers die bepalen op welk adresbereik een PCI-apparaat zal reageren.
De definitie van BIOS hangt enigszins af van de context. Sommige mensen verwijzen ernaar als de ROM-chip met een basisverzameling routines om een interface tussen software en hardware te bieden. Anderen verwijzen ernaar als de verzameling routines die de chip bevat die helpen het systeem op te starten. Sommigen kunnen er ook naar verwijzen als het scherm dat gebruikt wordt om het opstartproces te configureren. Het BIOS is PC-specifiek maar andere systemen hebben iets soortgelijks.
Een implementatie van de DNS protocollen.
Deze naam heeft de Computer Systems Research Group (CSRG) van de The University of California in Berkeley gegeven aan de verbeteringen en aanpassingen die ze hebben gemaakt aan AT&T's 32V UNIX®. FreeBSD is een afstammeling van het werk van de CSRG.
Een fenomeen waar blijkt dat veel mensen een mening geven over een eenvoudig onderwerp terwijl er weinig of geen discussie ontstaat over een complex onderwerp. Op FAQ is meer te lezen over het ontstaan van de term.
Zie Carrier Detect.
Zie Clear To Send.
Een RS232C signaal dat aangeeft dat er een drager is ontdekt.
Ook bekend als de processor. Dit zijn de hersenen van de computer waar alle berekeningen plaatsvinden. Er zijn een aantal verschillende architecturen met verschillende instructieverzamelingen. Onder de bekendere bevinden zich de Intel-x86 en afgeleiden, Sun SPARC, PowerPC, en Alpha.
Een methode om een gebruiker te authenticeren, gebaseerd op een geheim gedeeld tussen te cliënt en de server.
Een RS232C signaal dat het andere systeem toestemming geeft om gegevens te sturen.
Zie ook Request To Send.
Een versiebeheersysteem, dat een methode biedt om te werken met vele verschillende revisies van bestanden en deze bij te houden. CVS biedt de mogelijkheid om individuele veranderingen te extraheren, samen te voegen, en terug te draaien, en het biedt te mogelijkheid om bij te houden welke veranderingen waren gemaakt, door wie en om welke reden.
Zie Debugger.
Zie Domain Name System.
Zie Data Set Ready.
Zie Data Terminal Ready.
Een methode om informatie te versleutelen, traditioneel gebruikt als de methode om UNIX®-wachtwoorden te versleutelen en als de functie crypt(3).
Een RS232C signaal verzonden van het modem naar de computer of terminal om een bereidheid om gegevens te versturen en te ontvangen aan te geven.
Zie ook Data Terminal Ready.
Een RS232C signaal verzonden van de computer of terminal naar het modem om een bereidheid om gegevens te versturen en ontvangen aan te geven.
Een interactieve in-kernel faciliteit om de toestand van een systeem te onderzoeken, vaak gebruikt nadat een systeem gecrasht is om de gebeurtenissen rondom de storing te bepalen.
Een ACPI tabel die basisconfiguratie-informatie over het basissysteem biedt.
Het systeem dat menselijk leesbare hostnamen (i.e., mail.example.net) omzet in Internetadressen en andersom.
Een protocol dat dynamisch IP-adressen aan een computer (host) toekent wanneer het er een vraagt van de server. De adrestoekenning wordt een “lease” genoemd.
Zie Extended COFF.
De naam van het wederzijdse uitsluitingsmechanisme
(een sleep mutex
) die veel kernelbronnen
beschermt. Hoewel in de dagen dat er op een machine maar
enkele tientallen processen draaiden, er één
netwerkkaart in zat en echt maar één processor,
een eenvoudig sleutelmechanisme toereikend was, is het in
de huidige tijden een onaanvaardbare beperking voor
prestaties. FreeBSD ontwikkelaars werken actief om het te
vervangen door sloten die individuele bronnen beschermen
waardoor er meer ruimte komt voor parallelisme voor zowel
machines met één als meerdere processoren.
Een systeem waarin gebruiker en compiter interacteren door mideel van afbeeldingen.
Zie HangUp.
De opmaaktaal voor webpagina's.
Zie Invoer/Uitvoer.
Zie Intel’s ASL compiler.
Zie Internet Protocol.
Zie IP Firewall.
Zie IP Versie 4.
Zie IP Versie 6.
Versie 4 van het IP protocol, dat 32 bits gebruikt voor adressering. Deze versie wordt nog steeds het meest gebruikt, maar het wordt langzaam vervangen door IPv6.
Zie ook IP Versie 6.
Het nieuwe IP protocol. Uitgevonden omdat de adresruimte in IPv4 opraakt. Gebruikt 128 bits voor adressering.
Intel’s compiler voor de conversie van ASL naar AML.
Een protocol om emailberichten op een mailserver te benaderen, gekarakteriseerd doordat de berichten normaliter op de server worden gehouden in tegenstelling tot te worden gedownload naar de mailleescliënt.
Het pakketverstuurprotocol dat het basisprotocol op het Internet is. Oorspronkelijk ontwikkeld op het Ministerie van Defensie van de Verenigde Staten en een extreem belangrijk deel van de TCP/IP stack. Zonder het Internet Protocol zou het Internet niet zijn geworden wat het vandaag is. Zie voor meer informatie RFC 791.
Een bedrijf dat toegang biedt tot het Internet.
Japans voor “schildpad”. De term KAME wordt in computerkringen gebruikt om te verwijzen naar het KAME Project, dat werkt aan de implementatie van IPv6.
Zie Kernel ld(1).
Een methode om dynamisch functionaliteit in een FreeBSD-kernel te laden zonder het systeem opnieuw te starten.
Een door de kernel ondersteund threading systeem. Op de project homepage staan meer details.
Gebruikt om bandbreedte te meten (hoeveel gegevens kunnen een gegeven punt in een gespecificeerde hoeveelheid tijd passeren). Alternatieven voor de Kilo prefix omvatten Mega, Giga, Tera, enzovoorts.
Zie Lock Order Reversal.
Een netwerk gebruik in een lokaal gebied, bijvoorbeeld kantoor, huis, enzovoorts.
De FreeBSD kernel gebruikt een aantal bronsloten om tussen die bronnen te bemiddelen. In de FreeBSD current kernels zit een run-time slotdiagnosesysteem, witness(4), dat in release versies wordt verwijderd, waarmee potentiele deadlocks vanwege slotfouten opgespoord kunnen worden. witness(4) is redelijk conservatief en daarom zijn vals-positieven mogelijk. Een echte positief geeft aan dat “in het slechtste geval op dat punt een deadlock had plaatsgevonden.”.
Echte positieve LOR's worden meestal snel opgelost, dus is het verstandig http://lists.FreeBSD.org/mailman/listinfo/freebsd-current en Voorgekomen LOR's te bekijken alvorens te mailen naar mailinglijsten.
Zie Mail Transfer Agent.
Zie Mail User Agent.
Een toepassing gebruikt om email te versturen. Een MTA maakte traditioneel deel uit van het basissysteem van BSD. Tegenwoordig zit Sendmail in het basissysteem, maar er zijn vele andere MTAs, zoals postfix, qmail en Exim.
Een toepassing die door gebruikers wordt gebruikt om email af te beelden en te schrijven.
Functionaliteit of een patch samenvoegen vanuit de -CURRENT tak of een andere, meestal -STABLE.
Het samenvoegen van functionaliteit of een patch vanuit het Perforce repository naar de -CURRENT tak.
Zie ook Perforce.
In het FreeBSD ontwikkelproces wordt een wijziging gecommit in de -CURRENT tak om deze te testen voordat deze wordt samengevoegd naar -STABLE. In bijzondere gevallen gaat een wijziging eerst naar -STABLE en wordt dan pas samengevoegd naar -CURRENT.
Deze term wordt ook gebruikt als een patch wordt samengevoegd uit -STABLE naar een beveiligingstak.
Een bericht, meestal getoond bij aanmelden, dat vaak gebruikt wordt om informatie aan gebruikers te geven.
Zie Project Evil.
Zie New Technology File System (Nieuwe Technologie Bestandssysteem).
Een techniek waarbij IP pakketten worden herschreven tijdens de weg door een gateway, zodat vele machines achter de gateway effectief een enkel IP adres kunnen delen.
Een bestandssysteem dat door Microsoft® is ontwikkeld en beschikbaar is voor haar “New Technology” besturingssystemen als Windows® 2000, Windows NT® en Windows® XP.
Een middel om klokken over een netwerk te synchroniseren.
Zie Overtaken By Events.
Zie On-Demand Mail Relay.
Een verzameling programma's, bibliotheken en gereedschappen die toegang geeft tot de hardwarebronnen van een computer. Tegenwoordig variëren besturingssystemen van simplistische ontwerpen die slechts één programma tegelijk kunnen draaien dat slechts één apparaat benadert, tot volledige meergebruikers-, meertaaks- en meerprocessystemen, waarbij elk van hen tientallen verschillende toepassingen draaien.
Geeft aan dat een voorgestelde verandering (zoals een Problem Report of een feature request) niet langer relevant of van toepassing is vanwege bijvoorbeeld veranderingen aan FreeBSD, wijzigingen in netwerkstandaarden, overbodig worden van hardware, enzovoort.
Zie Perforce.
Zie Physical Address Extensions (Fysieke Adresuitbreidingen).
Zie Password Authentication Protocol (Wachtwoord Authenticatieprotocol).
Zie Personal Computer.
Zie Personal Computer Network File System Daemon (PC Netwerkbestandssysteem Daemon).
Zie Proces ID.
Zie Principle Of Least Astonishment (Principe van Kleinste Verbazing).
Zie Post Office Protocol.
Zie PPP over ATM.
Zie PPP over Ethernet.
Zie Problem Report.
Een broncodebeheerproduct gemaakt door Perforce Software dat geavanceerder is dan CVS. Hoewel niet opensource, is het kosteloos te gebruiken voor opensourceprojecten zoals FreeBSD.
Sommige FreeBSD-ontwikkelaars gebruiken een Perforce repository als een ontwikkelgebied voor code die te experimenteel voor de -CURRENT tak wordt geacht.
Een methode voor het inschakelen van toegang tot 64 GB RAM op systemen die fysieke een 32-bit brede adresruimte hebben (en daarom zonder PAE een limiet van 4 GB zouden hebben).
Een mythisch hoofddeksel dat rondgaat tussen FreeBSD committers die een kapotte build veroorzaken, aflopende revisienummers veroorzaken of op een andere manier problemen veroorzaken in de broncode. Alle committers die ook maar iets waard zijn, hebben meestal snel een kast vol. Het gebruik is (bijna altijd) grappig bedoeld.
Zie ook Post Office Protocol Version 3.
Een protocol om emailberichten op een mailserver te benaderen, gekarakteriseerd doordat berichten normaliter worden gedownload van de server naar de cliënt, in tegenstelling tot op de server te blijven staan.
Zie ook Internet Message Access Protocol.
In de evolutie van FreeBSD moeten zichtbare wijzigingen voor
gebruikers vooral geen grote verrassing zijn. Het
willekeurig reorganiseren van bijvoorbeeld de
opstartvariabelen van het systeem in
/etc/defaults/rc.conf
is in strijd met
POLA. Ontwikkelaart houden rekening met
POLA bij het uitvoeren van
systeemwijzigingen die zichtbaar zijn voor gebruikers.
Een beschrijving van een probleem dat gevonden is in òfwel de broncode òfwel de documentatie van FreeBSD. Zie Writing FreeBSD Problem Reports.
Een nummer dat bij een uniek proces op een systeem hoort, waarmee het geïdentificeerd kan worden en ervoor zorgt dat er acties op uitgevoerd kunnen worden.
De werktitel van de NDISulator,
geschreven door Bill Paul, die het zo heeft genoemd omdat
het zo verschikkelijk is, vanuit een filosofisch standpunt,
dat een dergelijk iets nodig is. De
NDISulator is een speciale module voor
compatibiliteit met Microsoft® Windows® NDIS miniport
netwerkstuurprogramma's voor FreeBSD/i386. Dit is meestal de
enige manier om kaarten te gebruiken waarvoor de broncode
voor het stuurprogramma niet openbaar is. Meer is te vinden
in
src/sys/compat/ndis/subr_ndis.c
.
Zie Router Advertisement.
Zie Random Access Memory.
Zie Received Data.
Zie Request For Comments.
Zie Request To Send.
Het Revision Control System (RCS) is een van de oudste software-pakketten dat “revisie-beheer” voor platte bestanden implementeert. Het voorziet in het opslaan, ophalen, archiveren, loggen, identificeren en samenvoegen van meerdere revisies voor elk bestand. RCS bestaat uit vele kleine samenwerkende gereedschappen. Het mist sommige eigenschappen die in modernere revisie-controlesystemen zoals CVS of Subversion zitten, maar het is erg eenvoudig om te installeren, configureren, en gebruiken voor een klein aantal bestanden. Implementaties van RCS zijn in elk groot UNIX-achtig besturingssysteem aanwezig.
Zie ook Concurrent Versions System, Subversion.
Een RS232C pin of draad waarop gegevens worden ontvangen.
Zie ook Transmitted Data.
Een standaard voor communicatie tussen seriële apparaten.
Een benadering van processorontwerp waarbij de bewerkingen die de hardware kan uitvoeren versimpeld en zo generiek mogelijk zijn. Dit kan leiden tot lager energieverbruik, minder transistors en in sommige gevallen, betere prestaties en verhoogde codedichtheid. Voorbeelden van RISC processoren omvatten de Alpha, SPARC®, ARM®, en PowerPC®.
Zie Repository Copy.
Het direct kopiëren van bestanden binnen het CVS repository.
Zonder een repocopy, als een bestand gekopieerd of
verplaatst moest worden, zou de committer cvs
add
draaien om het bestand op de nieuwe plaats te
zetten, en vervolgens cvs rm
op het oude
bestand als de oude kopie werd verwijderd.
Het nadeel van deze methode is dat de geschiedenis (i.e. de ingangen in de CVS logs) van het bestand niet gekopieerd werd naar de nieuwe plaats. Aangezien het FreeBSD Project deze geschiedenis zeer bruikbaar acht, wordt in plaats hiervan vaak een repocopy gebruikt. Dit is een proces waarbij een van de repository meisters de bestanden direct binnen het repository kopiëren, in plaats van het programma cvs(1) te gebruiken.
Een verzameling documenten die Internetstandaarden, protocollen, enzovoorts definiëren. Zie www.rfc-editor.org.
Ook gebruikt als algemene term wanneer iemand een verandering voorstelt en terugkoppeling wil.
Een RS232C signaal dat verzoekt dat het verre systeem begint met het versturen van gegevens.
Zie ook Clear To Send.
Zie Signal Ground.
Zie Server Message Block.
Zie SMTP Authentication.
Zie Secure Shell.
Zie Suspend To RAM.
Zie Subversion.
Een RS232 pin of draad die de aardereferentie voor het signaal is.
Subversion is een versiebeheersysteem, vergelijkbaar met CVS, maar met een uitgebreidere lijst mogelijkheden.
Zie ook Concurrent Versions System.
Zie Transmitted Data.
Zie Trivial FTP.
Zie Time Stamp Counter.
Een “profiling counter” die in moderne Pentium® processoren zit die het aantal kloktikken telt van de kernfrequentie.
Een protocol dat bovenop (b.v.) het IP protocol zit en garandeert dat pakketten in een betrouwbare en ordelijke manier worden afgeleverd.
De term oor de combinatie van het TCP protocol dat over het IP protocol draait. Veel van het Internet draait op TCP/IP.
Een RS232C pin of draad waarover gegevens worden verstuurd.
Zie User ID.
Zie Universal Serial Bus.
Een methode om een bron aan te wijzen, zoals een document op het Internet en een manier om die bron te identificeren.
Het originele bestandssysteem van UNIX®, soms het Berkeley Fast File System genoemd.
Een uitbreiding op UFS1, geïntroduceerd in FreeBSD 5-CURRENT. UFS2 voegt blokpointers van 64 bits (hiermee de 1T-grens doorbrekende), ondersteuning voor uitgebreide opslag van bestanden en andere mogelijkheden toe.
Een hardware-standaard die gebruikt wordt om een grote verscheidenheid aan computerapparatuur met een universele interface te verbinden.
Een uniek nummer dat wordt toegewezen aan een gebruiker of een computer waarmee bronnen en rechten die zijn toegewezen kunnen worden geïdentificeerd.
Een simpel, onbetrouwbaar datagramprotocol dat gebruikt wordt om gegevens op een TCP/IP-netwerk uit te wisselen. UDP biedt geen foutcontrole en -correctie zoals TCP dat doet.
Dit boek bevat het gecombineerde werk van honderden vrijwilligers die bijdragen aan “Het FreeBSD Documentatie Project”. De tekst is geschreven in XML volgens de DocBook DTD en wordt vanuit XML geformatteerd naar vele verschillende presentatieformaten met gebruik van XSLT. De gedrukte versie van dit boek was niet mogelijk geweest zonder Donald Knuth's TeX typesetting taal, Leslie Lamport's LaTeX, of Sebastian Rahtz's JadeTeX macropakket.